專利名稱:執行電子裝置中應用程序對話的方法和系統以及電子裝置的制作方法
技術領域:
本發明涉及一種系統,它包括用于執行配備有一個或多個處理器的電子裝置中應用程序對話的裝置以及用于調度資源保留和大體上同時的應用程序對話的執行的裝置。本發明還涉及用于執行電子裝置中應用程序對話的方法,電子裝置的操作由一個或多個處理器控制,所述方法中對資源保留和大體上同時的應用程序對話的執行進行調度。此外,本發明涉及一種電子裝置,它包括執行應用程序對話的裝置;一個或多個處理器;以及用于調度資源保留和大體上同時的應用程序對話的處理的裝置。另外,本發明涉及一種軟件程序,它包括執行配備有一個或多個處理器的電子裝置中的應用程序對話的機器可執行步驟,以便使各資源保留示例同步和執行大體上同時的應用程序對話。
背景技術:
隨著無線通信裝置的功能變得越來越豐富,有必要開發出合理和多途徑地利用這些功能的系統。在現代無線通信裝置中,甚至可以執行幾個具有不同目的的應用程序對話,例如日歷、定時器、電話薄、筆記本等。人們常常需要大致同時地運行幾個這樣的對話,然而就可能會出現問題,例如當不同的對話需要同時使用與無線通信裝置本身相同的資源時,或同時需要使用經過多個連接而獲得的可用資源時。例如,現在已經有用于數據處理裝置的操作系統(如UNIX),實現多任務方法,即大體上同時地處理幾個操作系統任務。實現這樣的多任務方法是通過(例如)每個對話實現為單軟件處理的形式,操作系統以給定順序向每一項處理分配處理時間。這樣,在執行一個對話期間,其他對話處在暫停狀態。因此實際上,對話不是同時執行,而是一個接一個地執行。但是,一次分配給每個對話的處理時間很短,感覺就像所有對話都是同時執行的。在這樣的配置中,正常來說沒有一個對話需要等待很長時間,以致對話的執行看似被中斷了。但是,在同時執行對話的數目增加的情況下,為每個對話所留的處理器時間就越來越少,這將減慢所有對話的執行。在某些系統中,可以按對話的重要性(優先性)來分類,其中按對話的優先性來分配處理器時間。在所述配置中,較不重要對話的執行可能被顯著延遲。
先有技術的多任務系統也有另一個問題,若任一對話需要硬件資源和/或操作系統資源,則只要有需要使用所述資源,所述對話將一直保留該資源。這樣,需要相同資源的其他對話必須等到所述資源被釋放,因為通常沒有方法可以使資源從一個對話轉移到另一個,使得所述資源可用性情況讓每個涉及的對話都知道。對于這些情況,已經開發了某些解決方案,在這些方案中操作系統使用信號機或類似裝置來防止請求使用相同資源的其他對話使用該保留資源。
考慮到例如使用無線裝置的方便性,無線通信裝置中幾個應用程序對話的執行應該盡可能地接近實時操作。例如,當啟動呼叫時,應該盡可能快地執行電話薄對話,使得無線通信裝置的用戶馬上就能找到所需的電話號碼,沒有出現不必要的延遲。但是,這種類型的實時操作可能難以實現,尤其是在無線通信裝置中同時執行大量對話時。滿足多任務和實時處理要求的一個已知解決方案是在相同裝置中使用幾個處理器。這樣,不同對話可用不同處理器執行。但是這有缺點,例如,當增加處理器數目時,裝置的耗電量也將增加,這是應當避免的,特別是在便攜裝置中。另外,在有幾個處理器的系統中,需要做出配置,使不同應用程序對話分配到不同處理器來執行。
對于嵌入式應用,已經開發了多任務系統,其中可以調度不同對話的執行,必要時可以分配處理時間給每個對話。但是,這樣的嵌入式應用僅是為特定用途設計的,其中很可能要預先確定在不同條件下執行哪些對話,在每個時間需要哪些資源。在這種情況下,對話的調度可以預先確定。而且,這些應用不包括操作系統。這樣的多任務系統不適用于無線通信裝置中,在這些裝置中不可能預先確定所有不同的使用情況及所需的相關資源。
多任務系統中值得考慮的問題包括資源保留的管理和調度,以及應用程序對話的管理和調度,換句話說,同步處理器和其他類型資源的分配,以滿足不同對話的需要。但是,這些問題不能分開來解決,其中卻難以找到同時解決這些問題的合理方案。
發明內容
本發明的一個目的是特別為無線通信裝置提供一種改良的配置,以實現多任務系統,使其盡可能地接近實時操作。本發明基于指定對話執行環境這一思想,所述環境包括用于控制應用程序對話執行和資源保留的不同功能塊。這些功能塊中的核心的一個是應用程序對話和資源的管理,它被劃分成(例如)應用程序對話管理和調度塊(也稱為應用程序對話管理器,ASM),以及資源管理和分配塊(也稱為資源分配管理器,RAM)。要執行的應用程序對話被分為連續和并行活動,它們以相應應用程序塊的形式來實現,在本發明的說明中它們被稱為活動塊。應用程序對話管理器ASM負責一個接一個(例如根據資源的可用性)地調度(例如初始化)每個對話的活動。資源分配管理器RAM負責關于不同資源類型和資源的集中管理和同步功能,例如,通過保存一份單項資源保留的記錄,并相應地通知應用程序對話管理器。本發明系統操作中的一項基本功能是應用程序對話管理器和資源分配管理器的相對調度,它以這樣一種方式實現,使得大致緊接在每次執行資源分配管理器后,當至少某些資源的資源分配情況穩定時(即盡可能地更新),就執行應用程序對話管理器活動。系統的其他功能塊包括(例如)每種資源類型的資源處理器RH,以及活動塊容器ABC。資源處理器在其資源示例表RIT中維持相應資源類型單獨分配的所謂資源示例記錄RIR。每個活動塊容器最好包含無需并行處理的,通常可連續執行的一個或多個對話的活動塊。資源處理器可以很好地作為軟件程序來實現,它比資源分配管理器具有更高的優先級,其中當資源管理程序同時處理完那些源于應用程序和資源的消息后,并且暫時完全清楚資源分配情況(至少涉及某些資源)的時候,資源分配管理器才從操作系統得到處理器。本發明的另一個功能特征是對話控制協議SCP,它應用于(例如)系統不同部分(即應用程序對話的成員)間的消息傳送。
更準確地說,本發明的系統的基本特征在于,要執行的應用程序對話包括在一個或多個活動塊容器中的一個或多個活動塊,所述活動塊的執行順序已被確定;系統包括用來為應用程序對話保留資源的資源類型特定的資源處理器;用來分析和保存資源分配情況的資源分配管理器;用來根據所述資源分配情況選擇要執行的至少下一個應用程序對話和活動塊的應用程序對話管理和調度裝置;用來在所選應用程序對話進行過程中執行下一個活動塊的執行裝置;系統還配備有連接資源處理器、資源分配管理器、應用程序對話管理和調度裝置及執行裝置的協議,以控制執行順序并實現在所述資源處理器、資源分配管理器、應用程序對話管理和調度裝置及執行裝置之間的信息傳遞。
本發明的方法的基本特征在于,要執行的應用程序對話包括在一個或多個活動塊容器中的一個或多個活動塊,并為所述活動塊確定執行順序;所述方法至少包括以下步驟-用來為應用程序對話請求和保留資源的資源管理和分配步驟,-用來保存并分析資源保留情況的簿記和分析步驟,
-用來至少根據所述資源保留情況,選擇要執行的下一個應用程序對話和活動塊的調度和選擇步驟,-用來在所選應用程序對話進行過程中執行下一個活動塊的執行步驟,在所述方法中,使用了連接所述資源管理和分配步驟、簿記和分析步驟、調度和選擇步驟以及執行步驟的通信協議,以控制執行順序,并在必要時在所述資源管理和分配步驟、簿記和分析步驟、調度和選擇步驟以及執行步驟之間傳遞信息。
而且,本發明的電子裝置的基本特征在于,要執行的應用程序對話包括在一個或多個活動塊容器中的一個或多個活動塊,并為所述活動塊確定執行順序;所述電子裝置包括用來為應用程序對話保留資源的資源類型特定的資源處理器,用來分析和保存資源分配情況的資源分配管理器,用來根據所述資源分配情況選擇要執行的至少下一個應用程序對話和活動塊的應用程序對話管理和調度裝置,用來在所選應用程序對話進行過程中執行下一個活動塊的執行裝置,所述電子裝置還配備有連接資源處理器、資源分配管理器、應用程序對話管理和調度裝置及執行裝置的協議,以控制執行順序并實現在所述資源處理器、資源分配管理器、應用程序對話管理和調度裝置及執行裝置之間的信息傳遞。
本發明的軟件程序的基本特征在于,要執行的應用程序對話包括在一個或多個活動塊容器中的一個或多個活動塊,并為所述活動塊確定執行順序;所述軟件程序進而包括機器可執行步驟,用來至少執行以下步驟-用來為應用程序對話請求和保留資源的資源管理和分配步驟,-用來保存并分析資源保留情況的簿記和分析步驟,-用來至少根據所述資源保留情況,選擇要執行的下一個應用程序對話和活動塊的調度和選擇步驟,
-用來在所選應用程序對話進行過程中執行下一個活動塊的執行步驟,其中軟件程序包括機器可執行步驟,以使用連接所述資源管理和分配步驟、簿記和分析步驟、調度和選擇步驟以及執行步驟的通信協議,來控制執行順序,并在必要時在所述資源管理和分配步驟、簿記和分析步驟、調度和選擇步驟以及執行步驟之間傳遞信息。
本發明顯示了比先有技術解決方案的顯著優勢。按本發明的方法,一個對話不必完全為自己保留資源設施,并且不必在整個對話的延續期間保留資源,其中可以大致同時(即并行)地分配資源給多個對話,并還可以盡可能優化地同步每個對話同時需要的資源的保留次數。假設應用程序對話管理器裝備了足夠的調度控制智能,則在本發明的系統中可以高效地實現對話執行期間資源和處理器的利用。使用本發明的方法,可以管理過載情況并避免發生死鎖。在過載情況下,可以按其優先權暫停正在執行的應用程序對話,并延遲新應用程序對話的啟動。不僅處理器過載情況如此,這也適用于其他共享資源的過載情況。按照本發明,對話控制協議SCP和不同功能軟件程序(操作系統任務)的優先化規則使得即使在處理器過載情況下,也能調度和同步應用程序對話中涉及的操作控制,其中幾個軟件程序(操作系統任務)可能同時有幾個未處理的消息。同時處理未處理消息的順序是按軟件程序(操作系統任務)的優先性原則確定的,這些程序按操作系統的一般任務切換方式加入應用程序對話中。此外,本發明的配置還有一個優點,在負載電平很低,處理器可以在減低功率電平工作的情況下,可以減少無線通信裝置的功率消耗。為了控制的目的,應用程序對話管理器ASM能夠檢測從功率消耗的觀點看是不同的負載情況。本發明的軟件架構提供了堅實的軟件環境,其中無線通信裝置每個活動塊的設計盡可能地統一,獨立于涉及的單個活動及相關應用程序對話的復雜性。另外,將每個應用程序對話構筑到活動塊當中,使得實現應用所需的軟件開發工作可以輕易地通過把應用程序對話劃分到單獨活動、每個都是活動塊的形式這種方法來完成。可以將活動塊容器提供的應用框架設計為包括發送和接收所有并行應用程序對話的類屬SCP消息,無需應用程序設計員意識到對話控制協議、應用程序對話管理器或資源分配管理器的存在。在根據本發明軟件架構活動塊的軟件開發中,可以利用強大的軟件開發工具并高效地重新使用活動塊和基于SCP的行為模式,按應用程序對話簡表集成這些塊。在本發明的架構中,應用程序對話管理器負責在適當時候啟動每個活動塊的執行。
下面將參照附圖更加詳細地描述本發明,附圖中圖1以簡化框圖形式顯示對應于本發明優選實施例的無線通信裝置,圖2示出對應于本發明優選實施例的系統的輪廓,圖3示出在對應于本發明優選實施例的系統中實現的活動塊容器的功能結構,圖4在一個應用程序對話示例中顯示本發明方法的應用。
具體實施例方式
下面將針對這些方面來說明,使實現本發明所需的功能得以公開。但是,雖然下面將按分塊方式說明系統的各種功能,但顯然,幾個功能塊借助對話控制協議來共同進行幾個不同功能。
圖1按照本發明的優選實施例,顯示一個無線通信裝置1的簡化框圖。無線通信裝置1包括控制塊5,所述控制塊最好帶有主控制單元處理器2(MCU),用來控制無線通信裝置1的功能、執行操作系統例程等。另外,無線通信裝置1的控制塊5可以包括用于信號處理功能的數字信號處理器3(DSP)。處理器2(MCU)和數字信號處理器3(DSP)還與存儲器4關聯,以存儲操作系統、程序代碼等所需的信息和數據。無線通信裝置1還包括通信裝置6,所述裝置包括用于執行移動電話功能的裝置。用戶和無線通信裝置1之間的信息交換可經由用戶界面7進行,所述界面最好包括顯示裝置8、鍵盤9、音頻裝置10a、10b、10c。顯然,上述的無線通信裝置1只是簡化的例子,實際上,無線通信裝置1還可以包括上面所列以外的其他功能塊。還可以肯定,按本發明的數字信號處理器3在無線通信裝置中不是必需的,其中所需的信號處理功能可在其他塊中實現。此外,無線通信裝置1包括時鐘電路11或類似電路,如用來產生使控制塊運作所需的時鐘信號。
圖2顯示按本發明優選實施例的系統簡化功能塊。所述系統由一種控制架構構成,用來管制應用程序對話執行中所涉及的軟件程序(操作系統任務)功能及無線終端資源的使用。軟件程序(操作系統任務)是指一個軟件實體,從操作系統任務切換功能的角度看,它可以被獨立調度。有幾種不同用途的資源和資源類型。以下簡要說明這些資源的幾個示例用戶界面7的各種功能,例如在顯示裝置8上呈現數據、從鍵盤9取出數據,音頻信號的處理功能;數據傳輸功能,包括接收和產生各種信號及產生響應消息;信號處理功能;協議軟件棧以及其他應用程序對話。在系統中,存儲裝置4還包括(例如)用于資源處理器RH(i)、RH(j)、RH(k)等等向應用程序對話管理器ASM傳送所有消息的消息緩沖區B1,以及另一個特別用來保持對話啟動請求消息的消息緩沖區B2,。系統的存儲裝置4還包括(例如)用來保持資源分配表RAT的存儲空間。顯然,在本發明的實際應用中,在存儲裝置4中還可以為不同目的保留其他(動態和/或固定)存儲區。
系統的功能可分為三個主要活動許可控制AC、暫停控制SC及資源保留控制RRC。許可控制用來根據當前的負載情況和資源保留情況限制每個新對話應用程序對話簡表的第一個活動塊容器的活動。暫停控制按照資源保留情況,在每個活動塊的結束點調節暫時或永久地最終停止單個正在執行的對話的執行。資源保留控制用來簿記應用程序對話的活動塊的資源請求,以及每次的現有資源保留,以將所述信息提供給應用程序對話管理器。
要實現上述基本功能,必須在系統中指定包括某些功能塊。
系統的這些功能塊中核心的一個是應用程序對話和資源MG的管理,它分為(例如)應用程序對話管理器ASM和資源分配管理器RAM。應用程序對話管理器ASM負責(例如)許可和調度對話的啟動、調度正在執行中的對話包括的個體活動的初始執行,以及獨立于應用程序的相似功能。系統中所述塊以及其他塊的更加詳細功能說明將在本文稍后進行。為了管理資源和簿記資源分配情況,系統包括了資源類型特定的資源處理器RH(i)以及資源分配管理器RAM。應用程序簡表中包括的活動以活動塊的形式實現,從系統容量性能的角度看,這些活動塊以適當的形式分布在活動塊容器ABC中,它們每個都包括一個或多個對話的活動塊AB。當在不同時候處理時,單個活動塊AB可能包括在不同的對話中。另外,還為系統指定了一個對話控制協議SCP,用以控制對話活動塊的初始執行,這將在本申請的稍后進行說明。雖然系統的描述由圖2分開的功能塊構成,但在實際上,每個塊最好以處理器2的程序代碼形式實現,它包含這些塊運作所需的步驟代碼。系統的操作處于操作系統或類似系統執行的任務切換的控制之下,它按優先方案分配處理器時間給軟件程序(操作系統任務),這些程序包括系統的所有程序代碼。
在本申請中使用的術語對話(應用程序對話)不可以狹義地理解,對話可以是(例如)包括以單個活動塊形式出現的單個活動的程序代碼簡單列表,或者對話可以由一套獨立程序模塊或諸如此類組成,它們可以被配置成一個或多個活動塊。一個對話還可以關聯另一個對話,例如,若一個應用程序對話啟動另一個應用程序對話來從后者獲得一些所需的信息。應用程序對話還可以被稱為應用程序。作為無線通信裝置中執行的一個非限制對話示例,可以提供日歷、電話簿、應答來話呼叫、創建和傳送短文本消息、接收和閱讀短文本消息等。在本發明中,每個對話被定義為由一個或多個活動所組成。這些活動的活動塊執行順序可以是固定的,或者應用程序對話管理器ASM可以在對話的執行過程中確定哪一個活動塊是下一個要被執行的。此選擇取決于(例如)前一活動塊的結束或發生給定事件、未預料信號的到來等。若對話不包括要并行執行的活動,則相同對話的活動塊可以位于(例如)單個活動塊容器中。
正在進行的并行應用程序對話由一套連續和/或并行活動組成,根據所需并行性,相應的活動塊在一個或多個活動塊容器中被定位并執行。例如,對于來話呼叫的情況,一套對話被一個接一個地啟動,以提供來話呼叫的信息,根據呼叫號碼從無線通信裝置的電話薄取出主叫方的姓名和數據,并將主叫方的姓名顯示在無線通信裝置的顯示屏上,并等待無線通信裝置的用戶應答來話呼叫,換句話說,最好一直等到最終按鍵。若用戶按了(例如)手持鍵,則所述按鍵被解釋為確定進一步的活動,例如應答呼叫。上述示例情境的不同功能階段可以用單獨應用程序對話或單個對話的不同獨立活動形式來實現。所述活動的每一項都可以視作一種應用程序對話。但在一個對話中,如果這些活動被指定為單獨的應用程序對話,那么,不同活動的活動塊所需的資源保留就變得更加靈活了。
下面將說明核心功能塊的主要活動。應用程序對話管理器ASM負責互相同步(調度)并行應用程序對話以及包括在這些對話中的活動塊的執行,也就是說,為每個活動塊提供分配和調度處理器時間和其他資源所需的控制。應用程序對話管理器ASM還負責從應用程序簡表APT中讀取應用程序對話簡表ASP。應用程序簡表APT形式為活動圖表,包含有關對話的連續和并行活動塊(即對話中包括的活動)互相優先關系的信息。在此應用程序對話簡表的基礎上,應用程序對話管理器ASM就知道對話的執行應如何從一個活動塊轉到另一個活動快。對于相同的應用,還可以指定多個應用程序對話簡表,例如,兩種不同用途的簡表,例如在工作時間和休息時間期間使用。應當指出,相同活動塊可以包括在幾個不同應用程序對話簡表中。例如,可以在不同時候啟動相同應用程序的幾個對話,應用程序對話簡表相對于一些活動每次都不同。這樣,相同活動塊容器的活動塊可以包括在不同對話內并執行,無需為每個對話提供這些塊的一個副本。這帶來了(例如)減少所需存儲器4大小的好處。最好每個應用程序對話與啟動相關地被指定(例如)一個優先值,當控制執行順序及并行處理的單個對話的可能性暫停時,所述優先值可以用作緊急標準。此外,最好為每個對話的活動塊給定每個活動塊所需的估計處理時間和資源。應用程序對話管理器ASM可以利用此信息來控制活動塊的調度及分析資源分配情況,尤其是在過載的情況下。應用程序和對話管理器ASM可以存取活動塊AB的塊分配表BAT,它在每個活動塊容器中包含一個活動塊列表以及那些正在繼續執行對話中被處理的塊的信息。此數據存儲在BAT中的塊分配記錄BAR中。
另外,在包含應用程序簡表記錄APR的應用程序簡表APT中,應用程序對話管理器ASM可以得到有關每個活動塊所需資源的信息,不論是有條件或無條件的。若應用程序對話簡表不包含對話中所需的所有資源信息,則當活動塊向資源處理器和資源分配管理器發出保留請求消息時,就可獲取所述信息。
應用程序對話管理器ASM最好存儲執行的每個對話的歷史數據。為此目的,系統最好包括一個對話歷史表SHT,所述表包括對話歷史記錄SHR,應用程序對話管理器ASM在其中保存每個繼續執行對話的零碎數據,這樣很好地維持了作為輸出信息從每個活動塊傳送到后繼塊的信息。
應用程序對話管理器ASM接收在每個新對話啟動時出現的初始對話請求消息,使得應用程序對話管理器ASM可以分析負載情況,并且還可以監管新對話中包括的活動的啟動調度。尤其是在處理器或其他資源過載情況時,應用程序對話管理器ASM負責決定是否可以啟動請求的對話。當做出此決定時,應用程序對話管理器ASM很好地利用活動塊的預計處理時間,以及相關的預計資源保留時間,以及其他一些可能的數據來分析更加重要的先前啟動的對話是否也可以在新對話啟動后,滿足其實時要求。有了這樣的配置,就可以管理過載情況,很大程度上預先避開它們。應用程序對話管理器ASM還在活動塊結束時操控應用程序對話的暫時暫停,例如,當在更加緊急對話中一些活動的執行需要相同的保留資源時,或所需的資源完全地被占用至當前處理的活動塊結束。實際上,對話的暫停可以被設置為使得在前一活動塊結束后,應用程序對話管理器ASM不向包含下一對話活動控制塊的活動塊容器傳送內向控制消息(Do消息),直到此相同對話被給予處理器時間。在某些情況下,應用程序對話簡表可以包含用來并行執行的活動塊,這是通過將這些塊定位在不同活動塊容器中來做到的。若上述暫停點先于此類并行活動活動塊的開始處,則內向控制消息不為這些活動塊的任一個傳送,直到可以繼續執行對話。
當沒有活動塊同步地等待來自任一資源處理器的消息的情況下,應用程序對話管理器ASM還負責以正確順序向所選活動塊容器中的合適活動塊傳達所述入局信息。特別是在異步消息傳送的情況下這很有用,其中相同資源設施容量被多個活動塊共享,或當前一保留請求消息已被活動塊傳送時,所述活動塊自身并不停下來等待對應的保留確認消息(In消息)。否則,來自資源處理器的入局消息可被導向至活動塊容器或更準確地說活動塊,但按預計所述消息是不到那兒。應用程序對話管理器ASM還通過向活動塊提供所需的咨詢信息來監管資源保留的釋放,例如在過載和錨誤情況下。
資源處理器在相應的資源示例記錄RIR中保持所有資源保留示例R1的列表,資源示例記錄RIR被存儲在每個資源示例表RIT中。當某個活動塊容器中的活動塊請求為自身創建資源保留示例時,最好由活動塊直接向相關的資源處理器RH或資源分配管理器RAM發送關于所需資源保留示例類型的信息。例如,在安裝了用于數據傳送的資源情況下,可以選擇數據傳送率、所需的傳送錯誤率等,其中影響資源保留示例的這些特性的參數可以在資源保留示例R1請求(保留請求消息,Con消息)中提供。這樣,在接收了保留請求消息后,資源處理器RH或資源分配管理器RAM最好檢查作為對來自活動塊請求的響應是否可以創建帶有所請求參數值的資源保留示例R1。若滿足所述請求的參數要求,先前創建的資源保留示例也可以存在,并可以自由重用。活動塊或活動塊容器可以使用外向控制消息(Out消息)來空出其資源保留示例,其中相關的資源處理器RH標記要被空出的資源保留示例,使另一個活動塊或應用程序對話可以請求保留同一資源保留示例。若資源保留示例的創建或釋放要求資源設施自身進行某些操作,則相關的資源處理器RH將意識到創建或釋放操作的未完成狀態,對應的請求活動塊或應用程序對話可能需要等待(例如)資源保留示例的確認。資源分配管理器配備了有關所有資源類型分配情況的信息。此配置的目的是為了防止發生某個資源類型的過載狀況。
應用程序對話管理器ASM和資源分配管理器最好設計為沒有中間延遲狀態,其中對話相關狀態信息的更改存儲在所述對話歷史表SHT中,資源保留示例的對話相關信息的更改保存在所述資源分配表RAT中。并且,資源處理器也最好設計為沒有中間延遲狀態,其中單獨資源保留示例狀態數據的更改保存在每個資源處理器的資源示例表RIT中。
例如,在一個或多個對話中的幾個活動塊都需要大體上同時地使用相同資源類型的情況下,相同資源的多個資源保留示例可以共存。使用相同資源的這些活動塊通常不處在同一活動塊容器中,而是在不同對話場境中的不同容器里。在這種情況下,重要的是確保源于應用程序的發送至資源處理器的保留請求消息(Con消息)和對應的來自資源處理器的保留確認消息(In消息)可以互相耦合。為此目的,資源分配管理器RAM被設計為執行功能,使資源分配管理器RAM同時處理涉及任何單個資源處理器的待決消息,例如,等待列表的維護及在適當時候以此順序向相關的資源處理器轉發每個請求。從一個資源處理器向每個保留請求信息的正確的活動塊容器傳送保留確認消息是基于這樣的假設,即提出請求的特定活動塊容器始終保持活躍地等待對應的保留確認消息,并且每個保留請求消息都包含唯一的參考標識。關聯每個保留請求消息的產生,活動塊提供帶有參考標識的請求,向應用程序對話管理器ASM提供有關所述請求及其參考標識的信息,用于在關聯參考表CRT中記錄關聯參考記錄CRR。使用參考標記能使多個保留請求消息同時待決,并且也可以在異步模式下等待保留確認消息。
相同的關聯參考表CRT還用來為那些應用程序消息保存參考標識,應用程序對話通過資源處理器(例如數據傳送連接)來等待響應它們的應用程序消息。使用參考標識能使多個請求消息可以同時待決,并且等待模式可以異步。
活動塊本身也釋放資源保留示例,除非應用程序對話管理器需要保留資源保留示例,供同一對話的后繼或稍后的活動塊使用。在可能的錯誤情況下,應用程序對話管理器ASM啟動所需獨立于應用程序的釋放功能的執行。這樣,資源保留示例將不會不必要地被保留。
資源請求消息的實際處理由資源處理器進行,最好每種資源類型建立它一個資源處理器。每個資源處理器RH(i)都是個軟件程序(處理器類型的操作系統任務),它意在使用對應資源類型的資源保留和外向控制消息(即保留請求和外向控制消息),對于所有不同對話和資源類型,方式是一樣的。在設計每個資源類型I的資源處理器RH(i)時,考慮到了相關資源類型的特定功能,如處理視頻信號、聲頻信號、文本消息等。資源處理器維持一個資源保留示例的列表,這些示例被創建用于相關資源。資源處理器的操作根據由應用程序對話所確定的需要來調度,利用了操作系統的任務切換功能。
活動塊容器ABC是個軟件程序(操作系統任務),它按活動塊容器的架構由一個或多個不同應用程序對話簡表的活動塊所組成。每個容器通常包含幾個活動塊,這些塊的執行在同一容器內是按順序的,但在不同容器的情況下是并行執行。在每個活動塊容器中,一個塊是所謂的等待塊IB,以允許等待異步事件。此外,每個容器包括一個入局狀態模塊ISM、一個分支狀態模塊BSM以及一個用來終止活動塊容器線程執行(即從操作系統任務的主動運行狀態移開)的離開狀態模塊TSM。另外,每個活動塊在其開始處包括一個開始狀態模塊SSM,在其結束處包括一個結束狀態模塊ESM。活動塊容器ABC還包括(例如)一個變量列表、數據結構和存儲器分配,以及有關資源保留示例的信息等,活動塊容器的操作需要這些信息。活動塊容器ABC從應用程序對話管理器ASM接收消息以觸發活動塊的執行。此外,上述活動塊容器的狀態模塊和等待塊產生對話控制協議的外向控制消息(Out消息)送至資源分配管理器RAM,所述RAM進而將它們轉發至應用程序對話管理器ASM。這些外向控制消息在以下情況下使用,(例如)在活動塊的執行被中斷要等到滿足特定條件的情況下,例如應用程序消息到達無線通信裝置或塊的處理完成。
本發明系統所指定的對話控制協議SCP用來(例如)通過在系統的功能塊間傳遞對話控制協議消息來使能這些功能塊協同運作。這是一種在參與應用程序對話執行的功能塊間傳遞消息的功能。對話控制協議SCP可用來控制無線通信裝置處理器的負載電平別,以避免和管理過載情況。此外,對話控制協議還可用來在應用程序對話期間控制單獨活動啟動的調度,并傳遞對話功能塊中軟件程序(操作系統任務)的程序標識PID,以及從一個功能塊到另一個功能塊的其他應用程序獨立信息。對話控制協議可用來確定應用程序對話的優先順序,例如通過調度并行對話簡表中包括的單個活動。對話控制協議允許應用程序對話管理器執行本發明系統中共享資源保留的最佳同步,這些資源包括有關電信連接的資源。
目標是用一種方式來指定對話控制協議,使得有關資源保留的操作,如保留請求消息(Con消息)可以盡可能以統一的方式在不同應用程序對話中執行,而不論資源的類型如何。這有利于(例如)活動塊代碼的設計。
在對話控制協議進行過程中,使用了各種消息來控制系統并在不同功能塊之間傳遞信息。在此上下文中,這些消息被稱為對話控制協議消息,包括(例如)內向控制消息Do、外向控制消息Out、保留請求消息Con以及保留確認消息In,此外,對于異常情況所需的單獨的消息,但在此上下文中無需更加詳細地加以討論。不同消息中的數據定義可以有差別,但每條消息最好包含關于相關應用程序對話的消息以及發送方和接收方程序標識PID。通常這些消息還包含一個或多個數據字段,其中符合所述消息類型的數據被傳送到消息的接收方。對話控制協議的消息被用來傳達(例如)參與同一對話的動態創建或選擇的資源處理器或活動塊容器(軟件程序)的程序標識。
如上所述,活動塊的執行由來自應用程序對話管理器ASM的內向控制消息(Do消息)啟動。內向控制消息可被用來通知活動塊關于所述塊可用于保留的資源情況。內向控制消息還可用來通知活動塊應由所述活動塊保留或釋放的資源保留示例情況。作為示例,可以說明當所需的通信資源閑置時建立呼叫的情況。這樣,可以建議要用來建立所述呼叫的活動塊保留呼叫所需的數據傳輸資源。在活動塊的執行完成后,它向資源分配管理器RAM產生外向控制消息(Out消息)。在相關例中,此外向控制消息包含(例如)有關被活動塊保留或釋放的資源的信息。此外,所述外向控制消息(Out消息)還被發送給資源處理器,這些資源處理器的資源保留示例由活動塊釋放給相同對話的其他其他活動塊或應用程序對話。相同對話的隨后一個活動塊可以通過向相關的資源處理器發送一個外向控制消息(Out消息)來保留閑置的資源保留示例供其使用,這樣就向資源處理器提供了作為此新保留指示的所述活動塊容器的程序標識。每個資源處理器一次只保持一個活動塊容器的標識,或在沒有可見容器時用缺省值,如應用程序對話管理器或與資源類型相關的某個其他缺省容器的程序標識。上述配置允許每個獨立的資源保留示例對于活動塊容器具有分別的可見性。因為應用程序對話管理器ASM的高程序優先級幫助它在每次資源分配管理器RAM的執行期后基本沒有延遲地得到處理器,從應用程序對話管理器ASM的角度看,此時至少有部分資源分配情況是已知的。這樣,應用程序對話管理器ASM就能夠找出哪些活動塊可以啟動,以及哪些資源可以分配給它們。
作為資源保留控制機制的總結,應該在此上下文中指出,在其執行期間,活動塊有權直接請求并使用所需的資源,若所述資源碰巧閑置的話。為此,活動塊直接向所請求資源類型的資源處理器發送一個保留請求消息,所述處理器檢查所請求的資源是否可以分配給發出請求的活動塊。作為響應,資源處理器返回一個保留確認消息,所述消息包含了肯定確認(ACK標記)或否定確認(NACK標記)取決于當時是否可以將所請求的資源分配給請求的活動塊。假設來自應用程序對話管理器ASM的內向控制消息中提供的活動塊資源分配控制信息被很好地瞄定,則來自資源處理器的保留確認消息通常為肯定。若對于資源的需要不是很急,或上述的內向控制消息指示所述資源要被保留(例如)供另外使用,則活動塊可以向管理等待列表的資源分配管理器RAM發送保留請求消息。此時,包含向資源分配管理器RAM傳送保留請求消息的活動塊的活動塊容器將保持以同步或異步方式等待保留確認消息。稍后,取決于資源分配情況,資源分配管理器RAM將等待的保留請求消息轉發給相關的資源處理器,后者然后將肯定保留確認消息直接返回給請求活動塊的活動塊容器。為達到此目的,應用程序對話管理器ASM可能必需(例如)向某些并行應用程序對話的活動塊容器發送內向控制消息(Do消息),以釋放所選的資源保留示例。
本發明的功能可以在很大程度上以程序代碼的形式實現,這些代碼運行于無線通信裝置1的處理器2上。資源分配管理器和資源處理器可以看作是介于操作系統和無線通信裝置1的應用程序之間的一種固件層。從操作系統的角度看,本發明系統中的功能是通過處理一個或多個可調度執行線程來實現的。本發明不捆綁于任何特定操作系統,而是可以與具有多任務功能的操作系統結合應用。但是,操作系統最好能滿足如下要求在多任務處理期間,一個可調度程序(執行線程)的暫停與另一個程序的繼續僅可在程序代碼的預定點發生,而不是在任意點上。程序代碼的設計者定出并設置那些點,在這些點上操作系統可以切換所執行的程序(操作系統任務)。這種暫停功能最好位于那些點上,在這些點上可以因為自然原因(如當等待從資源處理器發來的響應時)而中斷活動塊容器的代碼或整個應用程序對話的處理。
以下將參照圖4中所示的示例情形來說明對應于本發明優選實施例的方法的操作。在圖中,用實線指示的箭頭說明不同塊間消息的傳送,虛線箭頭說明一個活動接另一個活動地執行應用程序對話的過程,帶點線的箭頭說明塊間應用程序對話的對話控制協議消息的傳送。
讓我們假設無線通信裝置1已經加電,操作系統也已啟動。在某個階段,操作系統最好啟動了對應于本發明系統的操作,方法是啟動初始化應用程序對話管理器ASM、資源分配管理器RAM以及對話控制協議SCP的操作。在要啟動一個應用程序對話時,應用程序對話請求就被傳達給應用程序對話管理器ASM。所述應用程序對話的啟動可以由另一個應用程序對話的請求,一個外部事件,如撥入無線終端1的來話呼叫,或者無線終端1的用戶按下的一個鍵等引起。在圖4的情形中,一個文本消息到達無線終端1,導致一個新應用程序對話的啟動。接收到文本消息的連接型資源處理器RH(1)傳送已放在消息緩沖區B1中的對話請求消息S1。應用程序對話管理器ASM檢測消息緩沖區B1中消息的到達讀取識別所請求應用程序對話所需的消息的特殊數據字段,然后讀取應用程序簡表APT中要啟動的應用程序對話的對話簡表。此時,當前應用程序對話的歷史簡表數據在對話歷史表SHT中被初始化。應用程序對話簡表ASP公開了(例如)對話中包括的活動,還可能公開因此而需要的資源保留示例,以及指定的每活動塊的估計處理時間。根據處理過或暫停的繼續進行對話的簡表、資源分配表RAT的數據內容以及要啟動的對話簡表,應用程序對話管理器ASM進行分析以查明是否可以啟動對話。應用程序對話管理器ASM計算出啟動對話所導致的處理器2增加的估計負載。此外,應用程序對話管理器ASM將分析待啟動對話所需的那些資源的資源分配情況,還估計這些資源的負載電平別。若應用程序對話管理器ASM做出決定要啟動對話,應用程序對話管理器ASM將選擇某個活動塊容器ABC,它包括當前對話的對話簡表的第一活動的活動塊的。除非所選的活動塊容器ABC已經在存儲器中并可用于執行,否則它將被裝入存儲器4中,用以執行上述的第一個活動塊。在圖4的例子中,要啟動的應用程序對話包含一套活動,它們對應于活動塊0B-11B。當上述下載完成之后,第一活動塊0B的活動塊容器ABC獲得了處理器時,通過啟動所述活動塊就開始了對話的執行。在此說明中前面已說過,可以確定應用程序對話互相之間的相對緊急程度,以此作為控制每個對話處理器時間的分配以及控制對話執行順序的基礎。
從消息緩沖區B1,應用程序對話管理器ASM將接收到的對話請求消息S1從消息緩沖區B1移至另一個消息緩沖區B2的時間本質上與從操作系統獲得處理器的時間相同。當新應用程序對話的執行可以啟動時,應用程序對話管理器ASM向所選的包含對話第一活動塊0B的活動塊容器ABC傳送一個內向控制消息(Do消息)。結果就啟動了活動塊0B的執行。在此例中,在活動塊0B的執行完成并且相應的外向控制消息(Out消息)返回到資源分配管理器RAM后,應用程序對話管理器ASM(從資源分配管理器RAM接收到所述外向控制消息后)根據應用程序對話簡表向三個活動塊容器ABC1、ABC2、ABC3傳送一個外向控制消息(Do消息),以分別執行三個活動塊1B、2B、3B,以及建立這些不同類型的并行連接。在此例中,這些連接類型分別是聲頻、數據和視頻。每個活動塊1B、2B、3B分別向其連接類型的資源處理器RH(2)、RH(3)、RH(4)傳送一個保留請求消息(Con消息)。每個保留請求消息都包含相關信息,例如程序標識或產生所述消息的活動塊容器的某個其他標識。借助所述信息,資源處理器可以向適當的活動塊容器返回一個保留確認消息(In消息)。資源處理器將保留請求消息(Con消息)從活動塊容器傳送給連接協議程序并且從所述連接程序接收到所述連接建立的確認后,它將返回一個保留確認消息(In消息)。這樣,活動塊容器中的活動塊將接收到一個否定的保留確認消息或肯定的保留確認消息,作為指示資源處理器在容量限度內已經向應用程序對話分配了資源保留示例,并且資源處理器已經執行了使用所述資源可能需要的初始化和記錄操作。此外,資源處理器的一個目標是始終將從相關的連接協議程序接收到的應用程序消息傳送給參與應用程序對話執行并向資源處理器提供了其標識的活動塊容器。在傳送了保留請求消息(Con消息)后,當應用程序對話停止等待來自資源處理器的相關保留確認消息(In消息)時,它最好暫停至等待狀態。在傳送每個保留請求消息時,最好同時利用外向控制消息(Out消息)將有關開始所述等待狀態的信息傳遞給資源分配管理器RAM。在圖4的活動塊4B中,在產生從不同連接類型的無線終端1傳送的數據之前,等待獲得一個作為對所有三個保留請求消息響應的保留確認消息。對于一般應用程序對話,活動塊5B、6B和7B可以為所述對話使用不同連接類型,以交互地在其他連接端與應用程序交換應用程序消息,其中活動塊5B、6B和7B位于分開的活動塊容器中有好處。在一般情況下,一個應用程序對話可能包含較大數目的并行執行的活動塊。
對資源處理器操作的調度是借助操作系統的功能和調度機制來配置的,使得活動塊向資源處理器發送了要處理的消息后立刻執行它們的操作。這些資源處理器配備了一個接口,活動塊容器可以通過它來向資源處理器發送對話控制協議消息和繼續執行應用程序消息(反之也一樣),以相應地從資源處理器接收消息。所述接口獨立于應用程序,并且很大程度上也獨立于資源類型,這允許在對話控制協議中使用相當標準的消息。此外,資源處理器將應用程序消息同時從活動塊容器傳送至資源設施,或反過來從所述設施傳送至活動塊容器和/或應用程序對話管理器ASM。對每個保留請求消息,資源處理器都創建一個保留(資源保留示例R1),這是一種資源保留示例的定義,包括關于所述保留使用的參數,如數據傳送速率、顯示器分辨率、立體聲與單聲道語音輸出等。資源保留示例在資源示例表RIT中被登記為資源示例記錄RIR。每個資源處理器都關聯它自己的資源示例表。每個資源處理器都維護它自己的資源保留示例,并向資源分配管理器RAM提供有關它們的信息。因此,資源分配管理器RAM較好地在資源分配表RAT中保持了所有現有資源保留示例的簿記數據。
資源分配管理器RAM向應用程序對話管理器ASM提供資源分配表的數據內容,所述管理器使用此信息(例如)將不同應用程序對話的處理從暫停狀態帶到活動處理狀態。資源分配管理器RAM還接收由活動塊容器所產生的外向控制消息,如活動塊執行完成的信息,或在活動塊內開始同步等待狀態的信息,或來自資源處理器的保留確認消息到達活動塊容器的信息。
資源分配管理器RAM向應用程序對話管理器ASM提供了資源分配表的數據內容后,處理器2開始執行應用程序對話管理器ASM的代碼,應用程序對話管理器ASM選擇要執行的下一個應用程序對話,更準確地說是下一個活動塊。應用程序對話管理器ASM使用(例如)資源分配情況和處理器2的負載電平作為一個選擇標準。為啟動活動塊的執行,最好向包含此種活動塊的所選活動塊容器傳送一個內向控制消息(Do消息)。假設活動塊包括在分開的活動塊容器(所謂的并行軟件程序)中,則大致可以同時地處理多個活動塊。實際上,這意味著處理器2以另一種方式執行這些活動塊容器的代碼。作為這種并行性的示例,在圖4的例子中首先是活動塊1B、2B、3B,其次是5B、6B、7B,第三是8B、9B、10B。但在多處理器系統中,真正并行處理地執行活動塊容器中的代碼也是可能的。
讓我們假設處理器時間給予了活動塊5B、6B、7B,這些活動塊組成從無線終端1發送出去的聲頻、數據和視頻類型的數據內容,以及發送所述數據傳送控制所需的應用程序消息。換句話說,這些活動塊5B、6B、7B產生傳輸的數據內容,并向對應的資源處理器RH(2)、RH(3)、RH(4)傳送必要的應用程序消息。在圖4中,這些消息用參照標記D、E、F指示。資源處理器執行從無線終端1傳送這三種不同類型數據內容所需的功能。在這三個數據傳送活動完成后,活動塊8B、9B、10B產生外向控制消息(Out消息)來分別釋放這三個資源保留示例。此后,通過執行終止塊11B就可結束應用程序對話的執行。在資源示例表RIT和資源分配表RAT中,可以釋放為無用活動塊容器ABC1、ABC2、ABC3分配的存儲空間,可以刪除已終止對話所使用的資源保留示例的參數數據。
下一個對話請求消息S2的處理可按上述原理進行。
圖3也顯示了活動塊容器ABC的結構以及活動塊容器ABC中活動塊的執行過程。活動塊容器包含一個入局狀態模塊ISM,它總是執行空置活動塊容器接收到第一個啟動內向控制消息的時候。此外,活動塊容器包含一個分支狀態模塊BSM,它讀取要被執行的下一個活動塊的標識,以找出活動塊容器執行線程應采用哪個活動塊AB1、AB2、AB3。每個活動塊的終點都配備一個結束狀態模塊ESM,它通過外向控制消息(Out消息)裝置向資源分配管理器RAM發送塊完成信號,并進而發送給應用程序對話管理器ASM,此后,活動塊容器ABC的執行線程被進行等待下一個內向控制消息(Do消息)的狀態,以便在一旦所述塊容器從操作系統得到處理器時間時,能夠從下一個活動塊繼續對話的執行。為此,執行線程從結束狀態模塊ESM轉入等待塊IB的開始處,在那兒定位了等待狀態模塊ISM,用于接收從資源處理器到活動塊容器的任何消息。此種消息由等待塊接收,并被保存在特定的臨時消息緩沖區中,此后,在等待塊結束處的轉移狀態模塊FSM向資源分配管理器RAM發出一個外向控制消息(Out消息),并進一步傳送到應用程序對話管理器ASM,通知它們關于接收到的消息。當活動塊容器的執行線程根據等待狀態模塊ISM接收到的下一個內向控制消息(Do消息),轉入任何內嵌活動塊的開始處時,等待塊IB的處理結束。在這種情況下,執行線程從等待塊結束處的轉移狀態模塊FSM經由分支狀態模塊BSM轉軌到下一個待處理的活動塊的開始處。為終止塊容器的執行控制并釋放所述容器,應用程序對話管理器ASM可以利用內向控制消息的特定參數來指示執行控制,使執行控制在轉移狀態模塊FSM后從等待塊導向活動塊容器的離開狀態模塊TSM。在離開狀態模塊TSM之后,從應用程序對話管理器ASM的角度看,在任何應用程序對話的場境中都可以自由選擇活動塊容器來執行其中的任何活動塊。當等待塊IB接收到的消息不把執行線程轉到分支狀態模塊BSM或離開狀態模塊TSM時,執行控制將始終從等待塊IB的轉移狀態模塊FSM返回到等待塊IB開始處的等待狀態模塊ISM,以繼續空等待。
在處理器2的負載相對低的那些情況下,應用程序對話管理器ASM可以將處理器2的功率消耗調整得較低,例如通過降低時鐘頻率。另一方面,對于某些處理器而言,可以通過將那些處理器功能塊中此時不需要的至少幾個功能快設置成節電模式來調節功率消耗。
在很大程度上,本發明都可以用軟件的形式來實現,例如當作處理器2的可執行指令。
顯然,本發明并不僅僅局限于上述實施例,而是可以在所附權利要求書的范圍之內進行修改的。
權利要求
1.一種系統,它包括裝置(2,4),用于在具有一個或多個處理器(2)的電子裝置(1)中執行應用程序對話;以及裝置(2),用于調度資源保留示例(R1)和大體上同時應用程序對話的執行,其特征在于所述待執行的應用程序對話包括在一個或多個活動塊容器(ABC、ABC1、ABC2、ABC3)中的一個或多個活動塊(AB),并為所述活動塊(AB)指定了執行順序;所述系統包括用來為應用程序對話保留資源的資源類型特定資源處理器(RH);用于分析和保存資源分配情況的資源分配管理器(RAM、RAT、RH、RIT);用來根據所述資源分配情況選擇至少下一個要執行的應用程序對話和活動塊的應用程序對話管理和調度裝置(ASM);用來在所選應用程序對話進行過程中執行下一個活動塊(AB)的執行裝置(2、AC),并且,所述系統還配備一個協議(SCP),所述協議連接資源處理器(RH)、資源分配管理器(RAM、RAT、RH、RIT)、應用程序對話管理和調度裝置(ASM)以及執行裝置(2、AC),以控制執行順序并實現信息在所述資源處理器(RH)、資源分配管理器(RAM、RAT、RH、RIT)、應用程序對話管理和調度裝置(ASM)以及執行裝置(2、AC)之間的傳遞。
2.如權利要求1所述的系統,其特征在于它包括用于簿記資源分配情況的裝置(RAM、RAT、RH、RIT);用于在活動塊(AB)啟動時向活動塊(AB)傳送第一個控制消息(Do)以向活動塊(AB)提供資源分配控制信息的裝置(ASM、Do);以及用于活動塊(AB)執行完成時傳送第二個控制消息(Out),以提供關于活動塊(AB)保留或釋放的資源的信息,以便在每個活動塊(AB)完成后更新資源分配情況簿記的裝置。
3.如權利要求2所述的系統,其特征在于它包括裝置(ASM、ABC、SCP、RAM、RAT、RH、RIT),用于根據從應用程序對話管理和調度裝置(ASM)接收到的第一個控制消息(Do)中得到的控制參數,讓應用程序對話保留以及釋放每個活動塊(AB)所需的資源,這些資源直接來自資源類型特定的資源處理器(RH)或來自使能保留請求消息排隊的資源分配管理器(RAM、RAT、RH、RIT)。
4.如權利要求2或3所述的系統,其特征在于它包括裝置(ABC、SCP、RIT、RH),用于在需要時讓資源保留示例對于對話執行中所涉及的不同活動塊容器動態可用,這些示例在應用程序對話請求時通過使用第二個控制消息(Out)創建。
5.如權利要求1至4中任一個所述的系統,其特征在于所述系統包括具有調度功能的操作系統,為同步來自應用程序對話管理和調度裝置(ASM)、活動塊容器(ABC、ABC1、ABC2、ABC3)、資源分配管理器(RAM、RAT、RH、RIT)及資源處理器(RH)的保留、釋放和其他與資源相關的控制,有一個對話控制協議(SCP),所述協議由應用程序獨立的控制消息及其使用規則組成,它們在操作期間根據操作系統的任務切換功能以及為應用程序對話管理和調度裝置(ASM)、活動塊容器(ABC、ABC1、ABC2、ABC3)、資源分配管理器(RAM、RAT、RH、RIT)及資源處理器(RH)定義的操作系統任務優先級來配置,以實現應用程序對話管理和調度裝置(ASM)、活動塊容器(ABC、ABC1、ABC2、ABC3)、資源分配管理器(RAM、RAT、RH、RIT)及資源處理器(RH)執行的同步和調度控制。
6.如權利要求1至5中任一個所述的系統,其特征在于它的每個資源處理器(RH)都包括一個資源示例表(RIT),以便向所述資源管理和分配裝置(RAM)提供資源分配情況,并且確定相對于資源處理器(RH)的資源分配管理器(RAM、RAT、RH、RIT)的同步,使得大體在每次執行了資源處理器(RH)之后,立即就輪到執行資源分配管理器(RAM),其中在資源示例表(RIT)中關于最近發生更改的資源分配情況是已知的。
7.如權利要求6所述的系統,其特征在于這樣確定相對于應用程序對話管理和調度裝置(ASM)的資源分配管理器(RAM、RAT、RH、RIT)的同步、使得大體在每次執行了資源分配管理器(RAM、RAT、RH、RIT)之后,立即就輪到執行應用程序對話管理和調度裝置(ASM),其中關于最近發生更改的資源分配情況是已知的,并且可以由應用程序對話管理和調度裝置確定控制消息參數的值,這些參數由所述應用程序對話管理和調度裝置產生,并用于同步各種類型資源保留示例(R1)。
8.如權利要求1至7中任一個所述的系統,其特征在于在每個活動塊(AB)的結束處有一個結束狀態模塊(ESM),用以完成所述塊的執行,在容納所述活動塊的活動塊容器中設置等待狀態模塊(ISM),并且容納所述活動塊(AB)的活動塊容器(ABC、ABC1、ABC2、ABC3)的執行控制被配置成用來在結束狀態模塊(ESM)中產生第二個控制消息(Out),并暫停等待狀態模塊(ISM)的執行,以等待來自應用程序對話管理和調度裝置(ASM)的第一個控制消息(Do),其中關于當前活動塊容器(ABC、ABC1、ABC2、ABC3)的應用程序對話的執行被暫時中斷。
9.如權利要求8所述的系統,其特征在于所述應用程序對話管理和調度裝置(ASM)被配置成用來分析資源分配情況和待執行對話的調度,以檢測一個或多個資源的過載情況,并通過在需要時用其他要求較少資源的應用程序對話代替所述應用程序對話,或通過需要時延遲至應用程序對話的第一個控制消息(Do)的傳送來管理它,這導致了繼續執行應用程序對話的暫停或新應用程序對話的延遲啟動。
10.如權利要求1至9中任一個所述的系統,其特征在于所述應用程序對話的活動塊(AB)被置于一個或多個活動塊容器(ABC、ABC1、ABC2、ABC3)中,在這些活動塊容器(ABC、ABC1、ABC2、ABC3)任何一個中的活動塊被配置成用來在不同的時間暫時執行,并且在對話的進行過程中存在大體上同時執行的活動塊(AB)時,它們被放在不同的活動塊容器(ABC、ABC1、ABC2、ABC3)中。
11.如權利要求10所述的系統,其特征在于為設計要在系統中待執行的應用程序,每個活動塊容器(ABC、ABC1、ABC2、ABC3)都配備有接口模塊,在這些接口模塊點上可以中斷活動塊(AB)或活動塊容器(ABC、ABC1、ABC2、ABC3)的執行并且可能輪到另一個待執行的操作系統任務,這樣使得可以經由活動塊容器(ABC、ABC1、ABC2、ABC3)的所述接口來發送和接收對話控制協議消息,無需作為應用程序設計工作的一部分來處理這些協議消息。
12.如權利要求1至11所述的系統,其特征在于所述資源處理器(RH)配備了一個接口,用于在每個所述資源處理器(RH)和所述系統之間傳送信息,所述接口很大程度上獨立于所述應用程序對話和所述資源類型。
13.如權利要求1至12所述的系統,其特征在于它包括每個資源處理器(RH)都使用的專用的資源示例表RIT,以及所述資源處理器(RH)設計成沒有中間延遲狀態,其中單個資源保留示例狀態數據的更改保存在每個所述資源處理器(RH)的資源示例表(RIT)中。
14.如權利要求1至13所述的系統,其特征在于所述應用程序對話管理和調度裝置(ASM)關聯一個對話歷史表(SHT),所述資源分配管理器關聯一個資源分配表(RAT),并且所述應用程序對話管理和調度裝置(ASM)及所述資源分配管理器設計成沒有中間狀態,其中與對話相關的狀態信息的更改保存在所述對話歷史表(SHT)中,與對話相關的資源保留示例的信息的更改被保存在所述資源分配表(RAT)中。
15.如權利要求1至14所述的系統,其特征在于它包括裝置ASM,用以確定處理器的負載狀況,并根據負載狀況通過調度應用程序對話的活動來調節處理器的功率消耗。
16.一種用于在具有一個或多個處理器(2)的電子裝置(1)中執行應用程序對話的方法,以同步資源保留示例(R1)以及應用程序對話的大體上同時的執行,其特征在于待執行的應用程序對話包括在一個或多個活動塊容器(ABC、ABC1、ABC2、ABC3)中的一個或多個活動塊(AB),并為所述活動塊(AB)確定執行順序,所述方法至少包括以下步驟-為應用程序對話請求和保留資源的資源管理和分配步驟,-保存并分析資源保留情況的簿記和分析步驟,-至少根據所述資源保留情況,選擇要執行的下一個應用程序對話和活動塊(AB)的調度和選擇步驟,-在所選應用程序對話進行過程中執行下一個活動塊(AB)的執行步驟,在所述方法中,使用了連接所述資源管理和分配步驟、簿記和分析步驟、調度和選擇步驟以及執行步驟的通信協議(SCP),以控制執行順序,并在必要時在所述資源管理和分配步驟、簿記和分析步驟、調度和選擇步驟以及執行步驟之間傳遞信息。
17.如權利要求16所述的方法,其特征在于維持一個資源分配的簿記,在啟動活動塊時第一個控制消息(Do)被傳送到活動塊以提供資源分配的控制信息,第二個控制消息(Out)由活動塊返回,以提供關于被活動塊保留或釋放的資源的信息,用來在每個活動塊完成后更新資源分配情況的簿記。
18.如權利要求17所述的方法,其特征在于根據從應用程序對話管理和調度裝置(ASM)接收到的第一個控制消息(Do)中得到的控制參數,每個活動塊(AB)所需的資源由應用程序對話保留和釋放,這些資源或者直接來自資源類型特定的資源處理器(RH),或者來自允許排隊保留請求消息的資源分配管理器(RAM、RAT、RH、RIT)。
19.如權利要求17或18所述的方法,其特征在于必要時第二個控制消息(Out)被應用程序對話用來動態指定資源保留示例(R1)給對話執行中所涉及的不同活動塊容器(ABC、ABC1、ABC2、ABC3)使用。
20.如權利要求16至19中任一個所述的方法,其特征在于在所述方法中利用了包括任務切換功能的操作系統,為同步來自應用程序對話管理和調度裝置、活動塊容器(ABC、ABC1、ABC2、ABC3)、資源分配管理器及資源處理器(RH)的保留、釋放和其他與資源相關的控制,有一個對話控制協議(SCP),所述協議由應用程序獨立的控制消息及其使用規則組成,它們在操作期間根據操作系統的任務切換功能以及為應用程序對話管理和調度裝置、活動塊容器(ABC、ABC1、ABC2、ABC3)、資源分配管理器及資源處理器(RH)定義的操作系統任務優先級來配置,以實現應用程序對話管理和調度裝置、活動塊容器(ABC、ABC1、ABC2、ABC3)、資源分配管理器及資源處理器(RH)執行的同步和調度控制。
21.如權利要求16至20中任一個所述的方法,其特征在于所述方法中的每個資源處理器(RH)都使用一個資源示例表(RIT),以便向所述資源分配管理器(RAM)提供資源分配情況,并且確定相對于資源處理器(RH)的資源管理和分配步驟的簿記和分析步驟的同步,使得大體在每次執行了資源處理器(RH)之后,立即就輪到簿記和分析步驟,其中在資源示例表(RIT)中關于最近發生更改的資源分配情況是已知的。
22.如權利要求21所述的方法,其特征在于這樣確定相對于簿記和分析步驟的調度和選擇步驟的調度、使得大體上在執行了簿記和分析步驟之后,立即就輪到調度和選擇步驟,其中在資源分配表(RIT)中關于最近發生更改的資源分配情況是已知的,并且應用程序對話管理和調度裝置(ASM)可以確定它所產生的控制消息的參數值,以同步各種類型資源保留示例(R1)的使用。
23.如權利要求16至23中任一個所述的方法,其特征在于在每個活動塊(AB)的結束處有一個結束狀態模塊(ESM),用以完成所述塊的執行,在容納所述活動塊的活動塊容器(ABC、ABC1、ABC2、ABC3)中放了等待狀態模塊(ISM),并且容納所述活動塊(AB)的活動塊容器(ABC、ABC1、ABC2、ABC3)的執行控制被配置成用來在結束狀態模塊(ESM)中產生第二個控制消息(Out),并暫停等待狀態模塊(ISM)的執行,以等待來自應用程序對話管理和調度裝置的第一個控制消息(Do),其中關于當前活動塊容器(ABC、ABC1、ABC2、ABC3)的應用程序對話的執行被暫時中斷。
24.如權利要求23所述的方法,其特征在于所述應用程序對話管理和調度裝置(ASM)用來分析資源分配情況和待執行對話的調度,以檢測一個或多個資源的過載情況,并通過在需要時用其他要求較少資源的應用程序對話代替過載的應用程序對話,或通過需要時延遲至應用程序對話的第一個控制消息(Do)的傳送來管理它,這導致了繼續執行應用程序對話的暫停或新應用程序對話的延遲啟動。
25.如權利要求16至24中任一個所述的方法,其特征在于所述應用程序對話的活動塊(AB)被置于一個或多個活動塊容器(ABC、ABC1、ABC2、ABC3)中,在這些活動塊容器(ABC、ABC1、ABC2、ABC3)任何一個中的活動塊被配置成用來在不同的時間暫時執行,并且在有用來在對話的進行過程中存在大體上同時執行的活動塊(AB)的情況下,它們被放在不同的活動塊容器(ABC、ABC1、ABC2、ABC3)中。
26.如權利要求25所述的方法,其特征在于為了設計要在系統中執行的應用程序,每個活動塊容器(ABC、ABC1、ABC2、ABC3)都在活動塊或活動塊容器(ABC、ABC1、ABC2、ABC3)執行可以中斷并且可能輪到另一個操作系統任務執行的那些點上配備了一個接口模塊,這樣使得可以經由活動塊容器(ABC、ABC1、ABC2、ABC3)的所述接口來發送和接收對話控制協議消息,無需作為應用程序設計工作的一部分來處理對話控制協議的消息。
27.如權利要求16至26中任一個所述的方法,其特征在于所述資源處理器(RH)配備一個接口,用于在系統的每個資源處理器(RH)間傳送信息,此接口很大程度上獨立于應用程序對話和資源類型。
28.如權利要求16至27中任一個所述的方法,其特征在于每個所述資源處理器(RH)都使用專用的資源示例表(RIT),所述資源處理器(RH)被設計成沒有中間延遲狀態,其中單個資源保留示例(R1)狀態數據的更改保存在每個所述資源處理器(RH)的資源示例表(RIT)中。
29.如權利要求16至28中任一個所述的方法,其特征在于所述調度和選擇步驟使用了對話歷史表(SHT),而所述簿記和分析步驟使用了資源分配表(RAT),并且資源管理和分配步驟、簿記和分析步驟以及調度和選擇步驟被設計成沒有中間延遲狀態,其中對話相關的狀態信息的更改保存在所述對話歷史表(SHT)中,資源保留示例(R1)的對話相關信息的更改保存在所述資源分配表(RAT)中。
30.如權利要求16至29中任一個所述的方法,其特征在于確定處理器的負載狀況,處理器的功率消耗根據所述負載狀況通過調度應用程序對話的活動來調節。
31.一種電子裝置(1),它包括裝置(2,4),用于執行應用程序對話;一個或多個處理器(2);以及裝置(2),用于調度資源保留示例(R1)以及大體上同時應用程序對話的執行,其特征在于待執行的應用程序對話包括在一個或多個活動塊容器(ABC、ABC1、ABC2、ABC3)中的一個或多個活動塊(AB),并為所述活動塊(AB)確定執行順序;所述電子裝置(1)包括用來為應用程序對話保留資源的資源類型特定資源處理器(RH);用于分析和保存資源分配情況的資源分配管理器(RAM、RAT、RH、RIT);用來根據所述資源分配情況選擇至少下一個要執行的應用程序對話和活動塊的應用程序對話管理和調度裝置(ASM);用來在所選應用程序對話進行過程中執行下一個活動塊(AB)的執行裝置(2、AC);并且電子裝置(1)還配備了一個協議(SCP),所述協議連接資源處理器(RH)、資源分配管理器(RAM、RAT、RH、RIT)、應用程序對話管理和調度裝置(ASM)以及執行裝置(2、AC),以控制執行順序并實現信息在所述資源處理器(RH)、資源分配管理器(RAM、RAT、RH、RIT)、應用程序對話管理和調度裝置(ASM)以及執行裝置(2、AC)之間的傳遞。
32.如權利要求31的電子裝置(1),其特征在于它是個無線通信裝置。
33.一種包括機器可執行步驟的軟件程序,用于在具有一個或多個處理器(2)的電子裝置(1)中執行應用程序對話,以同步資源保留示例(R1)以及大體上同時的應用程序對話的執行,其特征在于待執行的應用程序對話包括在一個或多個活動塊容器(ABC、ABC1、ABC2、ABC3)中的一個或多個活動塊(AB),并為所述活動塊(AB)確定執行順序,所述軟件程序還包括機器可執行步驟,用來至少執行以下步驟-為應用程序對話請求和保留資源的資源管理和分配步驟,-保存并分析資源保留情況的簿記和分析步驟,-至少根據所述資源保留情況,選擇要執行的下一個應用程序對話和活動塊(AB)的調度和選擇步驟,-在所選應用程序對話進行過程中執行下一個活動塊(AB)的執行步驟,其中,所述軟件程序包括機器可執行步驟,以便使用連接所述資源管理和分配步驟、簿記和分析步驟、調度和選擇步驟以及執行步驟的通信協議(SCP),來控制執行順序,并在必要時在所述資源管理和分配步驟、簿記和分析步驟、調度和選擇步驟以及執行步驟之間傳遞信息。
全文摘要
本發明涉及包括用于在具有一個或多個處理器(2)的電子裝置(1)中調度應用程序對話的執行和必要的資源保留的裝置(2,4)以及用以調度資源保留和待大致同時執行的應用程序對話的執行的裝置(2)的系統。待執行的應用程序對話包括在一個或多個活動塊容器(ABC,ABC1,ABC2,ABC3)中的一個或多個活動塊(AB)并為所述活動塊(AB)預定這些活動塊的執行順序。該系統包括資源類型特定資源處理器(RH),資源分配管理器(RAM,RAT,RH,RIT),應用程序對話管理和調度裝置(ASM)和執行裝置(2,ASM)。該系統配備了一個協議(SCP),它連接所述資源處理器(RH),資源分配管理器,應用程序對話管理和調度裝置及執行裝置,以控制執行順序并在這些部件之間實施信息傳遞。
文檔編號G06F9/50GK1489046SQ0314514
公開日2004年4月14日 申請日期2003年6月20日 優先權日2002年6月20日
發明者P·萊蒂寧, P 萊蒂寧 申請人:諾基亞有限公司