欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

具有動(dòng)態(tài)子包加載的應(yīng)用容器的制作方法

文檔序號(hào):11620403閱讀:178來(lái)源:國(guó)知局
具有動(dòng)態(tài)子包加載的應(yīng)用容器的制造方法與工藝



背景技術(shù):

計(jì)算設(shè)備可以執(zhí)行各種功能,諸如執(zhí)行應(yīng)用、接收用戶輸入以及輸出信息用于顯示。例如,計(jì)算設(shè)備可以執(zhí)行應(yīng)用,諸如電子郵件客戶端、旅行助理、消息發(fā)送客戶端等。軟件開發(fā)者可以用被編譯成機(jī)器可讀代碼的人類可讀源代碼來(lái)編寫這樣的應(yīng)用。在某些情況下,可以將機(jī)器可讀代碼組織成分立可執(zhí)行組件,諸如面向?qū)ο蟮脑O(shè)計(jì)中的已編譯類。應(yīng)用可以包括實(shí)現(xiàn)各種功能的一個(gè)或多個(gè)可執(zhí)行組件。在某些分布式環(huán)境中,用戶計(jì)算設(shè)備(例如,智能電話)可以使用媒體商店應(yīng)用來(lái)搜索并安裝由遠(yuǎn)程計(jì)算系統(tǒng)所提供的應(yīng)用。通常,當(dāng)用戶選擇媒體商店應(yīng)用中的應(yīng)用以在用戶計(jì)算設(shè)備處安裝時(shí),遠(yuǎn)程計(jì)算系統(tǒng)發(fā)送包括所有可執(zhí)行組件的單個(gè)文件以執(zhí)行應(yīng)用的所有功能,無(wú)論用戶是否實(shí)際上使用所有功能。隨著應(yīng)用的大小增加,加載并安裝這樣的應(yīng)用所需的時(shí)間量增加,從而要求用戶等待更大量的時(shí)間以安裝和執(zhí)行應(yīng)用。



技術(shù)實(shí)現(xiàn)要素:

在某些示例中,一種方法包括由在計(jì)算設(shè)備處執(zhí)行的監(jiān)督器組件接收對(duì)執(zhí)行應(yīng)用的特定功能的請(qǐng)求;響應(yīng)于確定用于保持應(yīng)用的可安裝子包的應(yīng)用容器未被分配在所述計(jì)算設(shè)備的存儲(chǔ)器中,由監(jiān)督器組件從第一遠(yuǎn)程計(jì)算系統(tǒng)檢索應(yīng)用定義,其中,所述應(yīng)用定義定義應(yīng)用的可安裝子包與用戶指定的標(biāo)識(shí)符之間的多個(gè)映射;響應(yīng)于在計(jì)算設(shè)備的存儲(chǔ)器中分配應(yīng)用容器,由監(jiān)督器組件至少部分地基于所述請(qǐng)求的用戶指定的標(biāo)識(shí)符來(lái)發(fā)起應(yīng)用的所述特定功能;響應(yīng)于由在計(jì)算設(shè)備處執(zhí)行的應(yīng)用容器至少部分地基于應(yīng)用定義和用戶指定的標(biāo)識(shí)符來(lái)確定用于特定功能的可安裝子包未被存儲(chǔ)在計(jì)算設(shè)備處,由應(yīng)用容器從第二遠(yuǎn)程計(jì)算系統(tǒng)檢索包括多個(gè)可執(zhí)行組件的可安裝子包;以及由應(yīng)用容器使用所述多個(gè)可執(zhí)行組件來(lái)執(zhí)行應(yīng)用的所述特定功能。

在某些示例中,一種計(jì)算設(shè)備包括:一個(gè)或多個(gè)計(jì)算機(jī)處理器;以及包括指令的存儲(chǔ)器,所述指令在被所述一個(gè)或多個(gè)計(jì)算機(jī)處理器執(zhí)行時(shí),使得所述一個(gè)或多個(gè)計(jì)算機(jī)處理器:由計(jì)算設(shè)備的監(jiān)督器組件接收對(duì)執(zhí)行應(yīng)用的特定功能的請(qǐng)求;響應(yīng)于確定用于保持應(yīng)用的可安裝子包的應(yīng)用容器未被分配在所述計(jì)算設(shè)備的存儲(chǔ)器中,由監(jiān)督器組件從第一遠(yuǎn)程計(jì)算系統(tǒng)檢索應(yīng)用定義,其中,所述應(yīng)用定義定義應(yīng)用的可安裝子包與用戶指定的標(biāo)識(shí)符之間的多個(gè)映射;響應(yīng)于在計(jì)算設(shè)備的存儲(chǔ)器中分配應(yīng)用容器,由監(jiān)督器組件至少部分地基于所述請(qǐng)求的用戶指定的標(biāo)識(shí)符來(lái)發(fā)起應(yīng)用的所述特定功能;響應(yīng)于由計(jì)算設(shè)備的應(yīng)用容器至少部分地基于應(yīng)用定義和用戶指定的標(biāo)識(shí)符來(lái)確定用于特定功能的可安裝子包未被存儲(chǔ)在計(jì)算設(shè)備處,由應(yīng)用容器從第二遠(yuǎn)程計(jì)算系統(tǒng)檢索包括多個(gè)可執(zhí)行組件的可安裝子包;以及由應(yīng)用容器使用所述多個(gè)可執(zhí)行組件來(lái)執(zhí)行應(yīng)用的所述特定功能。

一種被用指令編碼的非暫時(shí)性計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),所述指令在被執(zhí)行時(shí)使得計(jì)算設(shè)備的至少一個(gè)處理器:由計(jì)算設(shè)備的監(jiān)督器組件接收對(duì)執(zhí)行應(yīng)用的特定功能的請(qǐng)求;響應(yīng)于確定用于保持應(yīng)用的可安裝子包的應(yīng)用容器未被分配在所述計(jì)算設(shè)備的存儲(chǔ)器中,由監(jiān)督器組件從第一遠(yuǎn)程計(jì)算系統(tǒng)檢索應(yīng)用定義,其中,所述應(yīng)用定義定義應(yīng)用的可安裝子包與用戶指定的標(biāo)識(shí)符之間的多個(gè)映射;響應(yīng)于在計(jì)算設(shè)備的存儲(chǔ)器中分配應(yīng)用容器,由監(jiān)督器組件至少部分地基于所述請(qǐng)求的用戶指定的標(biāo)識(shí)符來(lái)發(fā)起應(yīng)用的所述特定功能;響應(yīng)于由計(jì)算設(shè)備的應(yīng)用容器至少部分地基于應(yīng)用定義和用戶指定的標(biāo)識(shí)符來(lái)確定用于特定功能的可安裝子包未被存儲(chǔ)在計(jì)算設(shè)備處,由應(yīng)用容器從第二遠(yuǎn)程計(jì)算系統(tǒng)檢索包括多個(gè)可執(zhí)行組件的可安裝子包;以及由應(yīng)用容器使用所述多個(gè)可執(zhí)行組件來(lái)執(zhí)行應(yīng)用的所述特定功能。

在以下附圖和描述中闡述了一個(gè)或多個(gè)示例的細(xì)節(jié)。根據(jù)本描述和附圖以及根據(jù)權(quán)利要求,本公開的其它特征、對(duì)象以及優(yōu)點(diǎn)將變得顯而易見。

附圖說(shuō)明

圖1是圖示出根據(jù)本公開的技術(shù)的具有用于動(dòng)態(tài)地加載可安裝子包的應(yīng)用容器的示例計(jì)算設(shè)備的概念圖。

圖2是圖示出根據(jù)本公開的一個(gè)或多個(gè)方面的計(jì)算設(shè)備的進(jìn)一步細(xì)節(jié)的框圖。

圖3是圖示出根據(jù)本公開的技術(shù)的具有用于動(dòng)態(tài)地加載可安裝子包的應(yīng)用容器的計(jì)算設(shè)備的示例操作的時(shí)序圖。

圖4是根據(jù)本公開的技術(shù)的用于動(dòng)態(tài)地加載可安裝子包和對(duì)應(yīng)庫(kù)的應(yīng)用容器的概念圖。

圖5是圖示出根據(jù)本公開的技術(shù)的具有用于動(dòng)態(tài)地加載可安裝子包的應(yīng)用容器的計(jì)算設(shè)備的示例操作的流程圖。

具體實(shí)施方式

一般地,本公開的技術(shù)提供了在應(yīng)用需要由可安裝子包所提供的功能時(shí)以逐件的方式按需要?jiǎng)討B(tài)地加載可安裝子包的應(yīng)用容器。應(yīng)用容器可以為應(yīng)用提供自包含式執(zhí)行環(huán)境,其可以由多個(gè)子包構(gòu)成,并且每個(gè)子包包括一個(gè)或多個(gè)可執(zhí)行組件。作為示例,軟件開發(fā)者可以設(shè)計(jì)具有功能的離散集合的應(yīng)用(例如,導(dǎo)航應(yīng)用)。導(dǎo)航應(yīng)用可以包括分段導(dǎo)航(turn-by-turnnavigation)用戶界面、興趣點(diǎn)用戶界面(例如,顯示地圖上的興趣點(diǎn)的細(xì)節(jié))以及設(shè)置用戶界面。軟件開發(fā)者可以設(shè)計(jì)具有三個(gè)不同子包的應(yīng)用,其中,每個(gè)子包包括可執(zhí)行組件的集合以實(shí)現(xiàn)相應(yīng)用戶界面的功能。

雖然應(yīng)用的所有子包共同地在大小方面可以很大,但用于應(yīng)用的應(yīng)用容器可以僅檢索、安裝并執(zhí)行提供用戶所請(qǐng)求的功能所需要的那些子包。同樣地,當(dāng)安裝和/或執(zhí)行應(yīng)用時(shí),只需要應(yīng)用的子包的一部分來(lái)本地地駐留于計(jì)算設(shè)備處以供應(yīng)用執(zhí)行。當(dāng)用戶請(qǐng)求應(yīng)用的附加功能時(shí),應(yīng)用容器可以自動(dòng)地檢索提供所請(qǐng)求功能的所需子包。這樣,應(yīng)用可以更快速地安裝并加載,因?yàn)槿绻恍枰獞?yīng)用功能的子集,則不需要檢索和安裝應(yīng)用的子包的整個(gè)集合。此外,在某些示例中,應(yīng)用容器可以提供在不要求更新計(jì)算設(shè)備的操作系統(tǒng)或運(yùn)行時(shí)間系統(tǒng)的情況下更新容器運(yùn)行時(shí)間。

圖1是圖示出根據(jù)本公開的技術(shù)的具有用于動(dòng)態(tài)地加載可安裝子包的應(yīng)用容器102a至102c(“應(yīng)用容器102”)的示例計(jì)算設(shè)備100的概念圖。計(jì)算設(shè)備100的示例可以包括但不限于便攜式或移動(dòng)設(shè)備(諸如移動(dòng)電話(包括智能電話))、膝上型計(jì)算機(jī)、平板計(jì)算機(jī)、可穿戴計(jì)算設(shè)備(諸如智能手表或計(jì)算機(jī)化眼鏡)、智能電視平臺(tái)、相機(jī)、個(gè)人數(shù)字助理(pda)等。在某些示例中,計(jì)算設(shè)備102可以包括諸如臺(tái)式計(jì)算機(jī)、服務(wù)器、主機(jī)等固定計(jì)算設(shè)備。

如圖1中所示,計(jì)算設(shè)備100包括應(yīng)用容器102、系統(tǒng)運(yùn)行時(shí)間126、操作系統(tǒng)136以及硬件組件138。計(jì)算設(shè)備100可以經(jīng)由網(wǎng)絡(luò)140和通信鏈路148a至148b與一個(gè)或多個(gè)其它遠(yuǎn)程計(jì)算系統(tǒng)142a至142c(“遠(yuǎn)程計(jì)算系統(tǒng)142”)通信。如圖1中所示,網(wǎng)絡(luò)140表示任何公共或私用通信網(wǎng)絡(luò),例如蜂窩式、wifi和/或用于在計(jì)算設(shè)備之間傳送數(shù)據(jù)的其它類型的網(wǎng)絡(luò)。計(jì)算設(shè)備100和遠(yuǎn)程計(jì)算系統(tǒng)142可以使用任何適當(dāng)?shù)耐ㄐ偶夹g(shù)跨網(wǎng)絡(luò)140發(fā)送和接收數(shù)據(jù)。例如,計(jì)算設(shè)備100可以使用通信鏈路148a被操作耦合到網(wǎng)絡(luò)140。遠(yuǎn)程計(jì)算系統(tǒng)142a可以通過(guò)通信鏈路148b被操作耦合到網(wǎng)絡(luò)140。網(wǎng)絡(luò)140可以包括網(wǎng)絡(luò)集線器、網(wǎng)絡(luò)交換機(jī)、網(wǎng)絡(luò)路由器等,其被操作互耦合,從而提供計(jì)算設(shè)備102與遠(yuǎn)程計(jì)算系統(tǒng)142之間的信息的交換。在某些示例中,通信鏈路138a至138b可以是以太網(wǎng)、atm或其它通信連接。這樣的連接可以是無(wú)線和/或有線連接。

硬件組件138可以包括但不限于計(jì)算機(jī)處理器、通信單元(例如,調(diào)制解調(diào)器、網(wǎng)絡(luò)接口控制器、等)、輸入組件、輸出組件、存在敏感顯示器、易失性和非易失性存儲(chǔ)器以及電源,僅舉幾個(gè)例子。相對(duì)于圖2提供了硬件組件138的進(jìn)一步描述。操作系統(tǒng)136可以在硬件組件138上執(zhí)行并管理計(jì)算設(shè)備100的硬件和軟件組件。例如,操作系統(tǒng)136可以執(zhí)行存儲(chǔ)器管理、進(jìn)程調(diào)度和非易失性儲(chǔ)存器管理。操作系統(tǒng)136還可以向在計(jì)算設(shè)備100處執(zhí)行的應(yīng)用提供網(wǎng)絡(luò)和安全服務(wù)。操作系統(tǒng)136還可以執(zhí)行比上文所述的更多或更少的功能。

運(yùn)行時(shí)間系統(tǒng)126實(shí)現(xiàn)了用于根據(jù)用來(lái)編寫和構(gòu)建或編譯應(yīng)用的特定編程語(yǔ)言而構(gòu)建的應(yīng)用的執(zhí)行模型。運(yùn)行時(shí)間系統(tǒng)126可以包括在執(zhí)行期間應(yīng)用容器102可訪問(wèn)的一個(gè)或多個(gè)庫(kù)和/或服務(wù)。如在本公開中進(jìn)一步描述的,每個(gè)應(yīng)用容器102可以與不同的應(yīng)用相對(duì)應(yīng)。運(yùn)行時(shí)間系統(tǒng)126可以包括線程管理服務(wù)、屏幕繪圖和用戶界面呈現(xiàn)組件以及應(yīng)用間和應(yīng)用內(nèi)消息發(fā)送服務(wù),僅舉幾個(gè)服務(wù)示例。應(yīng)用容器102可以通過(guò)被運(yùn)行時(shí)間組件128暴露的應(yīng)用編程接口(api)來(lái)訪問(wèn)服務(wù)。在某些示例中,可以將運(yùn)行時(shí)間系統(tǒng)126執(zhí)行為一個(gè)或多個(gè)進(jìn)程和/或線程。進(jìn)程和/或線程中的一個(gè)或多個(gè)可以在有或沒(méi)有操作系統(tǒng)特權(quán)的情況下執(zhí)行。

如圖1中所示,運(yùn)行時(shí)間系統(tǒng)126可以包括運(yùn)行時(shí)間組件128??梢杂靡粋€(gè)或多個(gè)進(jìn)程和/或線程來(lái)實(shí)現(xiàn)每個(gè)不同運(yùn)行時(shí)間組件。在某些示例中,每個(gè)不同的運(yùn)行時(shí)間組件可以提供功能的用戶定義的集合。例如,可以用定義用戶界面元素(例如,按鈕、列表、圖像、輸入欄等)及其對(duì)應(yīng)行為的一個(gè)或多個(gè)庫(kù)來(lái)實(shí)現(xiàn)用戶界面呈現(xiàn)組件。用戶界面呈現(xiàn)組件可以提供api,其被應(yīng)用容器102調(diào)用以在圖形用戶界面中呈現(xiàn)用戶界面元素。

監(jiān)督器組件128a被包括在運(yùn)行時(shí)間組件128中。監(jiān)督器組件128a提供應(yīng)用間和應(yīng)用內(nèi)消息發(fā)送服務(wù)。監(jiān)督器組件128a包括消息代理130,其偵聽由應(yīng)用容器102所生成的消息并對(duì)發(fā)送應(yīng)用容器或一個(gè)或多個(gè)其它應(yīng)用容器執(zhí)行動(dòng)作。監(jiān)督器組件128a可以在派送任何消息(例如,包含作為用戶指定的標(biāo)識(shí)符的uri的消息)時(shí)具有第一優(yōu)先級(jí)或第一機(jī)會(huì)。在某些示例中,消息代理130可以提供用于消息的附加處理,諸如從應(yīng)用容器池132分配應(yīng)用容器、針對(duì)消息加強(qiáng)安全以及記錄消息,僅舉幾個(gè)例子。作為示例,應(yīng)用容器102a可以生成用以從相同應(yīng)用內(nèi)的第一用戶界面導(dǎo)航至第二用戶界面的消息。應(yīng)用容器102a可以向消息代理130發(fā)送消息,所述消息代理130包括包含過(guò)濾器集合的消息發(fā)送表134,其中,每個(gè)過(guò)濾器具有一個(gè)或多個(gè)條件和一個(gè)或多個(gè)對(duì)應(yīng)動(dòng)作。如果消息的內(nèi)容與過(guò)濾器的條件匹配,則消息代理130可以執(zhí)行對(duì)應(yīng)動(dòng)作,諸如執(zhí)行用以輸出第二圖形用戶界面的指令。在某些示例中,下面描述的這樣的消息可以在不將消息轉(zhuǎn)發(fā)到消息代理130的情況下被路由器112在內(nèi)部路由。

如上所述,每個(gè)應(yīng)用容器102可以與不同的應(yīng)用相對(duì)應(yīng)。應(yīng)用可以包括用以在計(jì)算設(shè)備100上執(zhí)行操作的不同功能。例如,應(yīng)用可以包括電子郵件應(yīng)用、文本消息應(yīng)用、即時(shí)消息應(yīng)用、天氣應(yīng)用、視頻會(huì)議應(yīng)用、社交聯(lián)網(wǎng)應(yīng)用、天氣應(yīng)用、股票市場(chǎng)應(yīng)用、緊急警報(bào)應(yīng)用、體育應(yīng)用、辦公效率應(yīng)用、多媒體播放器,僅舉幾個(gè)例子。

如圖1中所示,應(yīng)用容器102a提供了執(zhí)行環(huán)境和支持服務(wù)以指導(dǎo)應(yīng)用的可執(zhí)行組件108的執(zhí)行。應(yīng)用容器102可以作為操作系統(tǒng)136中的單獨(dú)的進(jìn)程來(lái)執(zhí)行。在某些示例中,應(yīng)用容器102a包括消息發(fā)送界面115。路由器112可以經(jīng)由消息發(fā)送界面115從運(yùn)行時(shí)間系統(tǒng)126接收消息,并且運(yùn)行時(shí)間系統(tǒng)126可以經(jīng)由消息發(fā)送界面115從可執(zhí)行組件108和路由器112接收消息??梢栽诳蓤?zhí)行組件108中實(shí)現(xiàn)用于應(yīng)用容器102a的程序邏輯。可執(zhí)行組件可以是機(jī)器可執(zhí)行代碼的邏輯聚組。例如,在面向?qū)ο笤O(shè)計(jì)中,單個(gè)可執(zhí)行組件可以是包括機(jī)器可執(zhí)行代碼的單個(gè)已編譯類文件。

應(yīng)用容器102a可以是用于一個(gè)或多個(gè)子包104的器皿。在某些示例中,子包包括兩個(gè)或更多可執(zhí)行組件108a至108c(“可執(zhí)行組件108”)。子包可以包括資源(例如,圖像、文本、視頻或任何其它非編譯數(shù)據(jù))、安全和/或簽名信息、版本信息和/或相關(guān)性信息或用于應(yīng)用的任何其它信息。軟件開發(fā)者可以將應(yīng)用設(shè)計(jì)成由多個(gè)用戶定義子包構(gòu)成。每個(gè)用戶定義子包可以包括共同地提供功能的分立集合的可執(zhí)行組件的集合。例如,軟件開發(fā)者可以設(shè)計(jì)具有多個(gè)不同用戶界面的導(dǎo)航應(yīng)用。每個(gè)用戶界面可以包括用戶界面元素和對(duì)應(yīng)行為的不同集合。同樣地,可以用具有可執(zhí)行組件的不同集合來(lái)實(shí)現(xiàn)每個(gè)用戶界面。例如,導(dǎo)航應(yīng)用可以包括分段導(dǎo)航用戶界面、興趣點(diǎn)用戶界面(例如,顯示地圖上的興趣點(diǎn)的細(xì)節(jié))以及設(shè)置用戶界面。軟件開發(fā)者可以設(shè)計(jì)具有三個(gè)不同子包的應(yīng)用,其中,每個(gè)子包包括可執(zhí)行組件的集合以實(shí)現(xiàn)相應(yīng)用戶界面的功能。

應(yīng)用容器102a可以包括容器運(yùn)行時(shí)間124。容器運(yùn)行時(shí)間124可以包括一個(gè)或多個(gè)庫(kù)和/或到由容器運(yùn)行時(shí)間124、運(yùn)行時(shí)間系統(tǒng)126和/或操作系統(tǒng)136內(nèi)的庫(kù)所提供的服務(wù)和/或功能的一個(gè)或多個(gè)應(yīng)用編程接口(api)。同樣地,容器運(yùn)行時(shí)間124可以提供安全的進(jìn)程中api層。通過(guò)控制應(yīng)用容器和容器運(yùn)行時(shí)間,運(yùn)行時(shí)間系統(tǒng)126可以驗(yàn)證應(yīng)用容器和容器運(yùn)行時(shí)間未被篡改,并且因此針對(duì)敏感行為提供運(yùn)行時(shí)間邏輯。例如,可以要求請(qǐng)求訪問(wèn)用戶的設(shè)備標(biāo)識(shí)符(例如,設(shè)備的全局唯一標(biāo)識(shí)符)的應(yīng)用接通(callthrough)容器運(yùn)行時(shí)間的api,其然后可以與監(jiān)督器組件128a核對(duì)以確保這是被允許的行為。這樣,容器運(yùn)行時(shí)間124可以實(shí)行對(duì)各種操作發(fā)生這樣的核對(duì)的保證,因?yàn)檫@樣的操作只能通過(guò)容器運(yùn)行時(shí)間124的api實(shí)現(xiàn)。容器運(yùn)行時(shí)間124可以提供用以在要求平臺(tái)協(xié)同的api上進(jìn)行迭代的層。例如,子包可以宣布其要求某些特定數(shù)據(jù)(諸如位置),并且容器運(yùn)行時(shí)間124可以與加載用于特定子包的可執(zhí)行組件并行地獲得所述位置,并在應(yīng)用啟動(dòng)時(shí)提供所述位置作為自變量。

如下面進(jìn)一步描述的,通過(guò)允許軟件開發(fā)者設(shè)計(jì)具有用于功能的單獨(dú)集合的單獨(dú)子包的應(yīng)用,應(yīng)用容器102可以使得應(yīng)用能夠在用于所有其子包的所有其相應(yīng)的執(zhí)行組件并未本地駐留在計(jì)算設(shè)備100上的情況下在計(jì)算設(shè)備100處執(zhí)行。這樣,應(yīng)用的初始執(zhí)行可以不要求所有子包的檢索和/或安裝而僅要求包括實(shí)現(xiàn)所請(qǐng)求功能的可執(zhí)行組件的子包的子集。此外,通過(guò)將多個(gè)可執(zhí)行組件封裝在單個(gè)子包中,可執(zhí)行組件的檢索和/或安裝根據(jù)所請(qǐng)求功能(例如,用以呈現(xiàn)特定用戶界面)而以子包為基礎(chǔ)發(fā)生而不是在逐個(gè)可執(zhí)行組件的基礎(chǔ)上來(lái)檢索和安裝可執(zhí)行組件,其可能具有不佳的性能和/或?qū)е赂畹挠脩趔w驗(yàn)。

如上所述,可以用包括定義應(yīng)用的操作的一個(gè)或多個(gè)可執(zhí)行組件的應(yīng)用容器來(lái)執(zhí)行每個(gè)應(yīng)用。應(yīng)用容器102a包括路由器112,所述路由器112利用可執(zhí)行組件108和消息發(fā)送界面115發(fā)送和接收消息,所述消息改變應(yīng)用的行為和/或使得應(yīng)用執(zhí)行一個(gè)或多個(gè)操作。例如,路由器112可以接收請(qǐng)求執(zhí)行一個(gè)或多個(gè)操作的消息。路由器112可以基于消息的內(nèi)容而確定包括用以執(zhí)行一個(gè)或多個(gè)操作的可執(zhí)行組件的子包是否被本地地存儲(chǔ)在計(jì)算設(shè)備100上或者另外在計(jì)算設(shè)備100上可訪問(wèn)。消息的內(nèi)容可以包括標(biāo)識(shí)符,諸如與子包相對(duì)應(yīng)的統(tǒng)一資源標(biāo)識(shí)符(uri)。如果子包被本地地存儲(chǔ)在計(jì)算設(shè)備100上或者另外在計(jì)算設(shè)備100上可訪問(wèn),在路由器112識(shí)別用以基于消息的內(nèi)容來(lái)執(zhí)行操作的一個(gè)或多個(gè)可執(zhí)行組件。在某些示例中,所述消息可以包括進(jìn)一步指定要執(zhí)行的一個(gè)或多個(gè)操作的附加屬性(例如,用于啟動(dòng)用戶界面的種類、mime類型數(shù)據(jù)、用于執(zhí)行的顯式組件類)或數(shù)據(jù)(例如,用戶數(shù)據(jù)或機(jī)器所生成的數(shù)據(jù))。同樣地,由路由器112所識(shí)別的一個(gè)或多個(gè)可執(zhí)行組件可以基于附加屬性或數(shù)據(jù)來(lái)執(zhí)行一個(gè)或多個(gè)操作。

如上所述,用于特定應(yīng)用的所有子包不需要本地地駐留在計(jì)算設(shè)備100處以執(zhí)行應(yīng)用。為了確定用于特定功能的子包是否在計(jì)算設(shè)備100處駐留或者另外可訪問(wèn),路由器112可以執(zhí)行對(duì)應(yīng)用定義116的查找。應(yīng)用定義116一般地可以定義用戶指定的標(biāo)識(shí)符(例如,uri、串、整數(shù)或任何其它適當(dāng)標(biāo)識(shí)符)與指定用于應(yīng)用的特定功能的子包之間的映射。應(yīng)用定義116在路由表118中包括這些映射,其包括用戶指定的標(biāo)識(shí)符120a至120n(“用戶指定的標(biāo)識(shí)符120”)與子包標(biāo)識(shí)符122a至122n(“子包標(biāo)識(shí)符122”)之間的映射。如果路由器112接收到具有用以使用特定子包來(lái)執(zhí)行功能的用戶指定的標(biāo)識(shí)符的消息,則路由器112可以在路由器表118中執(zhí)行查找。例如,如果路由器112確定用戶指定的標(biāo)識(shí)符120a與消息中的用戶指定的標(biāo)識(shí)符匹配,則路由器112可以確定與子包標(biāo)識(shí)符122a相對(duì)應(yīng)的子包104a是否駐留在計(jì)算設(shè)備100上。由于子包104a駐留在計(jì)算設(shè)備100上,所以路由器112基于所述消息來(lái)執(zhí)行對(duì)子包104的調(diào)用或者將消息發(fā)送到子包104a,所述子包104a使用可執(zhí)行組件108a來(lái)執(zhí)行一個(gè)或多個(gè)操作。

如上所述,由于不需要在計(jì)算設(shè)備100上本地存儲(chǔ)應(yīng)用的子包的整個(gè)集合,所以與在需要由計(jì)算設(shè)備100從遠(yuǎn)程計(jì)算系統(tǒng)下載、安裝并執(zhí)行整個(gè)應(yīng)用的情況下相比,計(jì)算設(shè)備100處的應(yīng)用的初始安裝和/或初始執(zhí)行可以要求更少的時(shí)間。同樣地,用戶可以體驗(yàn)到來(lái)自應(yīng)用的更大響應(yīng)性和/或應(yīng)用的行為的性能。

在圖1的示例中,用戶可能期望如上所述地在最初安裝并執(zhí)行導(dǎo)航應(yīng)用。最初,用于導(dǎo)航應(yīng)用的子包或應(yīng)用定義中可能沒(méi)有一個(gè)被存儲(chǔ)在計(jì)算設(shè)備100處。用戶可以向計(jì)算設(shè)備100提供用戶輸入以在最初選擇由操作系統(tǒng)136所提供的與地圖應(yīng)用相對(duì)應(yīng)的用戶界面中的圖標(biāo)。替選地,用戶可以選擇在計(jì)算設(shè)備100處執(zhí)行并與遠(yuǎn)程計(jì)算系統(tǒng)142通信以檢索子包和應(yīng)用定義的媒體商店應(yīng)用(未示出)中的地圖應(yīng)用。在任何情況下,監(jiān)督器組件128a的消息代理130從操作系統(tǒng)136或媒體商店應(yīng)用接收消息,其請(qǐng)求執(zhí)行導(dǎo)航應(yīng)用的特定功能。由于導(dǎo)航應(yīng)用尚未被安裝,所以所請(qǐng)求的特定功能是顯示應(yīng)用的默認(rèn)用戶界面或主用戶界面。

監(jiān)督器組件128a可以基于消息的內(nèi)容來(lái)確定對(duì)于導(dǎo)航應(yīng)用而言應(yīng)用容器是否已被分配在計(jì)算設(shè)備100的存儲(chǔ)器中。例如,消息的內(nèi)容可以包括導(dǎo)航應(yīng)用的唯一標(biāo)識(shí)符,諸如應(yīng)用的名稱。響應(yīng)于確定監(jiān)督器組件128a尚未分配用于導(dǎo)航應(yīng)用的應(yīng)用容器,監(jiān)督器組件128a可以從應(yīng)用容器池132分配應(yīng)用容器102a。應(yīng)用容器池132可以包括被預(yù)留給且可用來(lái)執(zhí)行應(yīng)用的進(jìn)程的集合。在某些示例中,監(jiān)督器組件128a可以與操作系統(tǒng)136通信以創(chuàng)建用于應(yīng)用容器102a的新進(jìn)程。

監(jiān)督器組件128a可以確定導(dǎo)航應(yīng)用尚未被安裝并從遠(yuǎn)程計(jì)算系統(tǒng)142中的一個(gè)或多個(gè)請(qǐng)求應(yīng)用定義。例如,監(jiān)督器組件128a可以向遠(yuǎn)程計(jì)算系統(tǒng)142a發(fā)送消息,其中,所述消息包括在遠(yuǎn)程計(jì)算系統(tǒng)142中全局唯一的用于導(dǎo)航應(yīng)用的標(biāo)識(shí)符。遠(yuǎn)程計(jì)算系統(tǒng)142a在接收到消息之后從應(yīng)用定義144中選擇應(yīng)用定義116并將應(yīng)用定義116發(fā)送到計(jì)算設(shè)備100。監(jiān)督器組件128a接收應(yīng)用定義116,其可以被包括在應(yīng)用容器102a中或者可被其訪問(wèn)。

監(jiān)督器組件128a使得消息代理130向應(yīng)用容器102a發(fā)送消息以顯示應(yīng)用的默認(rèn)用戶界面或主用戶界面。特別地,所述消息可以包括與具有顯示用于應(yīng)用的默認(rèn)用戶界面或主用戶界面的功能的子包相對(duì)應(yīng)的用戶指定的標(biāo)識(shí)符。在某些示例中,消息代理130基于從媒體商店應(yīng)用或者通過(guò)與用于最初由用戶所選擇的地圖應(yīng)用的圖標(biāo)相關(guān)聯(lián)的引導(dǎo)功能所接收的信息,來(lái)接收(或生成)用戶指定的標(biāo)識(shí)符。所述引導(dǎo)功能可以包括但不限于向消息代理130發(fā)送用戶指定的標(biāo)識(shí)符。

路由器112經(jīng)由消息發(fā)送界面115來(lái)接收具有用戶指定的標(biāo)識(shí)符的消息。在圖1的示例中,用戶指定的標(biāo)識(shí)符是120a?;谟脩糁付ǖ臉?biāo)識(shí)符,路由器112確定用于與用戶指定的標(biāo)識(shí)符120a相對(duì)應(yīng)的子包標(biāo)識(shí)符122a的子包未被本地存儲(chǔ)在計(jì)算設(shè)備100處。路由器112可以使用容器運(yùn)行時(shí)間124和/或運(yùn)行時(shí)間系統(tǒng)126向遠(yuǎn)程計(jì)算系統(tǒng)142a發(fā)送用以請(qǐng)求用于子包標(biāo)識(shí)符122a的子包的消息。例如,由容器運(yùn)行時(shí)間124和/或運(yùn)行時(shí)間系統(tǒng)126發(fā)送到遠(yuǎn)程計(jì)算系統(tǒng)的消息可以包括子包標(biāo)識(shí)符122a。遠(yuǎn)程計(jì)算系統(tǒng)142a可以向計(jì)算設(shè)備100發(fā)送子包,其包括用于顯示導(dǎo)航應(yīng)用的默認(rèn)用戶界面或主用戶界面的可執(zhí)行組件。

路由器112響應(yīng)于確定用于子包標(biāo)識(shí)符122a的子包未被本地存儲(chǔ)而可以使得生命周期管理器110經(jīng)由回調(diào)界面113來(lái)偵聽系統(tǒng)生命周期調(diào)用,其中,所述生命周期調(diào)用由運(yùn)行時(shí)間系統(tǒng)126發(fā)布。生命周期調(diào)用可以包括開啟應(yīng)用、暫停應(yīng)用、重啟應(yīng)用或者終止應(yīng)用,僅舉幾個(gè)例子。生命周期管理器110可以緩存生命周期調(diào)用,一旦計(jì)算設(shè)備100已從遠(yuǎn)程計(jì)算系統(tǒng)142a檢索到子包104a,其將被子包104a的可執(zhí)行組件執(zhí)行。一旦子包104a已被計(jì)算設(shè)備100檢索,生命周期管理器110可以將所緩存的生命周期調(diào)用中的每個(gè)發(fā)送到子包104a。

在圖1的示例中,在生命周期管理器110確定計(jì)算設(shè)備100已經(jīng)檢索并在本地存儲(chǔ)子包104a時(shí),生命周期管理器110發(fā)送調(diào)用或者另外調(diào)用加載器106以將可執(zhí)行組件108中的一個(gè)或多個(gè)加載到計(jì)算設(shè)備100的存儲(chǔ)器中以便執(zhí)行最初所請(qǐng)求的特定功能,例如,顯示應(yīng)用的默認(rèn)用戶界面或主用戶界面。在某些示例中,加載器106負(fù)責(zé)將可執(zhí)行組件加載到存儲(chǔ)器中。在某些示例中,加載器106可以表示多個(gè)加載器,其中,每個(gè)加載器負(fù)責(zé)將不同的可執(zhí)行組件加載到存儲(chǔ)器中。加載器106可以針對(duì)特定的可執(zhí)行組件定位特定可執(zhí)行組件所使用的對(duì)應(yīng)庫(kù)并將任何這樣的庫(kù)加載到存儲(chǔ)器內(nèi),使得庫(kù)可被特定可執(zhí)行組件訪問(wèn)。生命周期管理器110還可以將所緩存的生命周期調(diào)用發(fā)送到可執(zhí)行組件108中的一個(gè)或多個(gè)。在接收到所緩存的生命周期調(diào)用之后,可執(zhí)行組件108中的一個(gè)或多個(gè)使得計(jì)算設(shè)備100顯示應(yīng)用的默認(rèn)用戶界面或主用戶界面。

在稍后的時(shí)間,如果用戶期望導(dǎo)航至設(shè)置用戶界面,則用戶可提供針對(duì)應(yīng)用的當(dāng)前顯示默認(rèn)用戶界面或主用戶界面中的設(shè)置而選擇用戶界面元素(例如,圖標(biāo)、按鈕、標(biāo)簽等)的用戶輸入。運(yùn)行時(shí)間系統(tǒng)126可以向應(yīng)用容器102a發(fā)送指示對(duì)用戶界面元素的選擇的消息??蓤?zhí)行組件108a確定所述選擇顯示設(shè)置用戶界面??蓤?zhí)行組件108a生成具有用于包括設(shè)置用戶界面的功能的子包122n的用戶指定的標(biāo)識(shí)符120n的消息??蓤?zhí)行組件108a可以直接向路由器112或者向運(yùn)行時(shí)間系統(tǒng)126發(fā)送消息,所述運(yùn)行時(shí)間系統(tǒng)126進(jìn)而將消息路由回到路由器112。在任一種情況下,路由器112執(zhí)行用戶指定的標(biāo)識(shí)符120n的查找并確定子包標(biāo)識(shí)符122n的子包未被本地存儲(chǔ)在計(jì)算設(shè)備100處。

以類似方式,如上文相對(duì)于子包104a所述,路由器112使用容器運(yùn)行時(shí)間124和/或運(yùn)行時(shí)間系統(tǒng)126向遠(yuǎn)程計(jì)算系統(tǒng)142a發(fā)送用以檢索子包標(biāo)識(shí)符122n的子包的消息。遠(yuǎn)程計(jì)算系統(tǒng)142a可以向計(jì)算設(shè)備100發(fā)送子包122n,其包括用于顯示導(dǎo)航應(yīng)用的設(shè)置界面的可執(zhí)行組件。在計(jì)算設(shè)備100正在檢索子包122n的同時(shí),生命周期管理器110可以緩存在回調(diào)界面113處所接收的生命周期調(diào)用。在加載子包122n之后,生命周期管理器110使得加載器106將子包122n的可執(zhí)行組件加載到存儲(chǔ)器中。加載器106可以發(fā)起可執(zhí)行組件中的一個(gè)或多個(gè)的執(zhí)行以使得在計(jì)算設(shè)備100的顯示設(shè)備處顯示導(dǎo)航應(yīng)用的設(shè)置界面。

圖2是圖示出根據(jù)本公開的一個(gè)或多個(gè)方面的計(jì)算設(shè)備100的進(jìn)一步細(xì)節(jié)的框圖。圖2圖示出計(jì)算設(shè)備100的僅一個(gè)特定示例。在其它情況下可以使用計(jì)算設(shè)備100的許多其它示例,并且其包括在示例計(jì)算設(shè)備100中所包括的組件的子集,或者可以包括圖2中的示例計(jì)算設(shè)備100的未示出的附加組件。

如圖2的示例中所示,計(jì)算設(shè)備100包括一個(gè)或多個(gè)處理器240、一個(gè)或多個(gè)輸入組件242、一個(gè)或多個(gè)通信單元244、一個(gè)或多個(gè)輸出組件246、一個(gè)或多個(gè)存儲(chǔ)設(shè)備248以及存在敏感顯示器212。計(jì)算設(shè)備100的存儲(chǔ)設(shè)備248包括應(yīng)用容器102、系統(tǒng)運(yùn)行時(shí)間126以及操作系統(tǒng)136。通信信道250可以將組件240、244、246、242、258、204、213、215、248、102、126和/或136中的每一個(gè)互連以用于組件間通信(在物理上、在通信上和/或在操作上)。在某些示例中,通信信道250可包括系統(tǒng)總線、網(wǎng)絡(luò)連接、一個(gè)或多個(gè)進(jìn)程間通信數(shù)據(jù)結(jié)構(gòu)或用于在硬件和/或軟件之間通信數(shù)據(jù)的任何其它組件。

一個(gè)或多個(gè)處理器240可在計(jì)算設(shè)備100內(nèi)實(shí)現(xiàn)功能和/或執(zhí)行指令。例如,計(jì)算設(shè)備100上的處理器240可以接收并執(zhí)行提供操作系統(tǒng)136、應(yīng)用容器102以及系統(tǒng)運(yùn)行時(shí)間126的功能的存儲(chǔ)設(shè)備248所存儲(chǔ)的指令。被處理器240執(zhí)行的這些指令可使得計(jì)算設(shè)備100在程序執(zhí)行期間在存儲(chǔ)設(shè)備248內(nèi)存儲(chǔ)和/或修改信息。處理器240可以執(zhí)行操作系統(tǒng)136、應(yīng)用容器102以及系統(tǒng)運(yùn)行時(shí)間126的指令以執(zhí)行一個(gè)或多個(gè)操作。亦即,評(píng)級(jí)系統(tǒng)136、應(yīng)用容器102以及系統(tǒng)運(yùn)行時(shí)間126可以被處理器240操作以執(zhí)行在本公開中所描述的各種功能。

計(jì)算設(shè)備100的一個(gè)或多個(gè)輸入組件242可以接收輸入。輸入的示例是觸覺(jué)、音頻、運(yùn)動(dòng)以及光學(xué)輸入,僅舉幾個(gè)例子。在一個(gè)示例中,計(jì)算設(shè)備100的輸入組件242包括鼠標(biāo)、鍵盤、語(yǔ)音響應(yīng)系統(tǒng)、攝像機(jī)、按鈕、控制板、麥克風(fēng)或用于檢測(cè)來(lái)自人類或機(jī)器的輸入的任何其它類型的設(shè)備。在某些示例中,輸入組件242可以是存在敏感輸入組件,其可包括存在敏感屏幕、觸摸敏感屏幕等。

計(jì)算設(shè)備100的一個(gè)或多個(gè)輸出組件246可以生成輸出。輸出的示例是觸覺(jué)、音頻以及視頻輸出。在某些示例中,計(jì)算設(shè)備100的輸出組件246包括存在敏感顯示器、聲卡、視頻圖形適配卡、揚(yáng)聲器、陰極射線管(crt)監(jiān)視器、液晶顯示器(lcd)或用于向人類或機(jī)器生成輸出的任何其它類型的設(shè)備。輸出組件可以包括顯示組件,諸如陰極射線管(crt)監(jiān)視器、液晶顯示器(lcd)、發(fā)光二極管(led)或用于生成觸覺(jué)、音頻和/或視覺(jué)輸出的任何其它類型的設(shè)備。

在某些示例中,計(jì)算設(shè)備100的存在敏感顯示器204可以包括輸入組件242和/或輸出組件246的功能。在圖2的示例中,存在敏感顯示器204可以包括存在敏感輸入組件215,諸如存在敏感屏幕或觸摸敏感屏幕。在某些示例中,存在敏感輸入組件215可以檢測(cè)在存在敏感輸入組件處和/或附近的對(duì)象。作為一個(gè)示例范圍,存在敏感輸入組件215可檢測(cè)在存在敏感輸入組件215的兩英寸內(nèi)或以下的對(duì)象,諸如手指或觸針組件。存在敏感輸入組件215可確定在所述處檢測(cè)到對(duì)象的存在敏感輸入組件的位置(例如,(x,y)坐標(biāo))。在另一示例范圍內(nèi),存在敏感輸入組件215可檢測(cè)到與存在敏感輸入組件215相距兩英寸或以下的對(duì)象,并且其它范圍也是可能的。存在敏感輸入組件215可確定由用戶的手指使用電容、電感和/或光學(xué)識(shí)別技術(shù)所選擇的存在敏感輸入組件215的位置。

在某些示例中,存在敏感顯示器204還可以使用觸覺(jué)、音頻或視頻刺激來(lái)向用戶提供輸出,如相對(duì)于輸出組件246所述。例如,存在敏感顯示器204可以包括呈現(xiàn)圖形用戶界面的顯示組件213。顯示組件213可以是提供視覺(jué)輸出的任何類型的輸出組件,諸如相對(duì)于輸出組件246所述。雖然被圖示為計(jì)算設(shè)備100的集成組件,但存在敏感顯示器204在某些示例中可以是與計(jì)算設(shè)備100的其它組件共享數(shù)據(jù)路徑以便發(fā)射和/或接收輸入和輸出的外部組件。例如,存在敏感顯示204可以是位于計(jì)算設(shè)備100的外部封裝內(nèi)并被物理連接到所述外部封裝的計(jì)算設(shè)備100的內(nèi)置組件(例如,移動(dòng)電話上的屏幕)。在另一示例中,存在敏感顯示器204可以是位于計(jì)算設(shè)備100的包裝外面并在物理上與之分離的計(jì)算設(shè)備100的外部組件(例如,與平板計(jì)算機(jī)共享有線和/或無(wú)線數(shù)據(jù)路徑的監(jiān)視器、投影儀等)。在某些示例中,存在敏感顯示204當(dāng)位于計(jì)算設(shè)備100的包裝外面并在物理上與之分離的時(shí)可以由兩個(gè)單獨(dú)的組件實(shí)現(xiàn):用于接收輸入的存在敏感輸入組件215和用于提供輸出的顯示組件213。

計(jì)算設(shè)備100的一個(gè)或多個(gè)通信單元244可通過(guò)發(fā)射和/或接收數(shù)據(jù)來(lái)與外部設(shè)備通信。例如,計(jì)算設(shè)備100可使用通信單元244來(lái)在諸如蜂窩無(wú)線電網(wǎng)絡(luò)的無(wú)線電網(wǎng)絡(luò)上發(fā)射和/或接收無(wú)線電信號(hào)。在某些示例中,通信單元244可在諸如全球定位系統(tǒng)(gps)網(wǎng)絡(luò)的衛(wèi)星網(wǎng)絡(luò)上發(fā)射和/或接收衛(wèi)星信號(hào)。通信單元244的示例包括網(wǎng)絡(luò)接口卡(例如,諸如以太網(wǎng)卡)、光學(xué)收發(fā)機(jī)、射頻收發(fā)機(jī)、gps接收機(jī)或可以發(fā)送和/或接收信息的任何其它類型的設(shè)備。通信單元244的其它示例可包括在移動(dòng)設(shè)備以及通用串行總線(usb)控制器等中發(fā)現(xiàn)的gps、3g、4g以及無(wú)線電。

計(jì)算設(shè)備100內(nèi)的一個(gè)或多個(gè)存儲(chǔ)設(shè)備248可存儲(chǔ)信息用于在計(jì)算設(shè)備100的操作期間處理。在某些示例中,存儲(chǔ)設(shè)備248是臨時(shí)存儲(chǔ)器,意味著存儲(chǔ)設(shè)備248的主要目的不是長(zhǎng)期存儲(chǔ)。計(jì)算設(shè)備100上的存儲(chǔ)設(shè)備248可被配置為作為易失性存儲(chǔ)器而用于信息的短期存儲(chǔ),并且因此如果被去激活的話不保持所存儲(chǔ)內(nèi)容。易失性存儲(chǔ)器的示例包括隨機(jī)存取存儲(chǔ)器(ram)、動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(dram)、靜態(tài)隨機(jī)存取存儲(chǔ)器(sram)以及在本領(lǐng)域中已知的其它形式的易失性存儲(chǔ)器。

在某些示例中,存儲(chǔ)設(shè)備248還包括一個(gè)或多個(gè)計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)。存儲(chǔ)設(shè)備248可被配置成存儲(chǔ)大于易失性存儲(chǔ)器的信息量。存儲(chǔ)設(shè)備248可進(jìn)一步被配置為作為非易失性存儲(chǔ)器空間而用于長(zhǎng)期信息存儲(chǔ),并在激活/斷電循環(huán)之后保持信息。非易失性存儲(chǔ)器的示例包括磁性硬盤、光盤、軟盤、閃速存儲(chǔ)器或各形式的電可編程存儲(chǔ)器(eprom)或電可擦可編程(eeprom)存儲(chǔ)器。存儲(chǔ)設(shè)備248可以存儲(chǔ)與操作系統(tǒng)136、系統(tǒng)運(yùn)行時(shí)間126以及應(yīng)用容器102相關(guān)聯(lián)的程序指令和/或數(shù)據(jù)。

如圖2中所示,計(jì)算設(shè)備100可包括電源258。在某些示例中,電源258可以是電池。電源258可向計(jì)算設(shè)備100的一個(gè)或多個(gè)組件提供功率。電源258的示例可包括但不一定限于具有鋅碳、鉛酸、鎘-鎳(nicd)、鎳金屬氫化物(nimh)、鋰離子(li離子)和/或鋰離子聚合物(li離子聚合物)化學(xué)組成的電池。在某些示例中,電源258可具有有限的容量(例如,1000至3000mah)。

根據(jù)本公開的技術(shù),系統(tǒng)運(yùn)行時(shí)間126可以接收對(duì)執(zhí)行應(yīng)用的特定功能的請(qǐng)求。例如,用戶可以在存在敏感顯示器204處提供用戶輸入。存在敏感顯示器204可以使得系統(tǒng)運(yùn)行時(shí)間126生成與選擇應(yīng)用的圖標(biāo)相對(duì)應(yīng)的事件。響應(yīng)于確定用于保持應(yīng)用的可安裝子包的應(yīng)用容器未被分配在存儲(chǔ)組件248的易失性存儲(chǔ)器中,系統(tǒng)運(yùn)行時(shí)間126從第一遠(yuǎn)程計(jì)算系統(tǒng)檢索應(yīng)用定義。例如,系統(tǒng)運(yùn)行時(shí)間126使得通信單元244中的一個(gè)向遠(yuǎn)程計(jì)算系統(tǒng)發(fā)送對(duì)應(yīng)用定義的請(qǐng)求。所述應(yīng)用定義可以定義應(yīng)用的可安裝子包與用戶指定的標(biāo)識(shí)符之間的多個(gè)映射。

響應(yīng)于將應(yīng)用容器102a分配在計(jì)算設(shè)備100的易失性存儲(chǔ)器中,系統(tǒng)運(yùn)行時(shí)間126可以至少部分地基于所述請(qǐng)求的用戶指定的標(biāo)識(shí)符來(lái)發(fā)起應(yīng)用的所述特定功能。響應(yīng)于由在計(jì)算設(shè)備處執(zhí)行的應(yīng)用容器102a至少部分地基于應(yīng)用定義和用戶定義標(biāo)識(shí)符來(lái)確定用于特定功能的可安裝子包未被存儲(chǔ)在計(jì)算設(shè)備100處,應(yīng)用容器102a可以從遠(yuǎn)程計(jì)算系統(tǒng)檢索包括多個(gè)可執(zhí)行組件的可安裝子包。遠(yuǎn)程計(jì)算系統(tǒng)可以是包括應(yīng)用定義的相同計(jì)算設(shè)備或不同計(jì)算設(shè)備。在某些示例中,如果計(jì)算設(shè)備是不同的,則其可以被共同的操作者操作。在某些示例中,操作者是管理者或擁有和/或操作一個(gè)或多個(gè)計(jì)算系統(tǒng)的任何其它實(shí)體。

計(jì)算設(shè)備100可以僅檢索與應(yīng)用所需的功能的分立集合相對(duì)應(yīng)的一個(gè)或多個(gè)子包,而不是以逐個(gè)組件為基礎(chǔ)下載每個(gè)可執(zhí)行組件,也不是下載應(yīng)用的所有可執(zhí)行組件。此外,應(yīng)用容器102a可以基于軟件開發(fā)者識(shí)別具有用戶指定的標(biāo)識(shí)符的子包而下載用于特定功能的子包,而不是使加載器106(在圖1中示出)在運(yùn)行時(shí)間且在執(zhí)行期間識(shí)別未被本地存儲(chǔ)的每個(gè)單獨(dú)可執(zhí)行組件并以逐個(gè)組件為基礎(chǔ)單獨(dú)地檢索并安裝這樣的可執(zhí)行組件。同樣地,檢索子包可以是比以逐個(gè)組件為基礎(chǔ)單獨(dú)地檢索和安裝這樣的可執(zhí)行組件粒度更小但更高效的檢索機(jī)制。應(yīng)用容器102a可以使用所檢索的子包的一個(gè)或多個(gè)可執(zhí)行組件來(lái)執(zhí)行應(yīng)用的特定功能。

在某些示例中,每個(gè)相應(yīng)的應(yīng)用容器可以與不同的應(yīng)用相對(duì)應(yīng)。例如,操作系統(tǒng)可以包括用戶界面,其允許用戶基于與不同應(yīng)用相對(duì)應(yīng)的相應(yīng)圖標(biāo)來(lái)選擇不同的應(yīng)用(例如,從菜單或圖標(biāo)網(wǎng)格)。例如,用戶可以從操作系統(tǒng)用戶界面選擇電子郵件客戶端圖標(biāo),其使得執(zhí)行具有其自己的單獨(dú)應(yīng)用容器的電子郵件客戶端應(yīng)用。不同于應(yīng)用容器,web瀏覽器的擴(kuò)展或其它子應(yīng)用(例如,插件、javascript、java虛擬機(jī)等)可能未被表示為將在操作系統(tǒng)的用戶界面中啟動(dòng)的單獨(dú)應(yīng)用。例如,即使web瀏覽器針對(duì)有標(biāo)簽界面的每個(gè)標(biāo)簽創(chuàng)建了單獨(dú)的進(jìn)程,也可能并非標(biāo)簽中的每一個(gè)都像不同的可啟動(dòng)應(yīng)用一樣被表示為操作系統(tǒng)的用戶界面內(nèi)的單獨(dú)應(yīng)用。

如在本公開中描述的應(yīng)用容器可以不同于web瀏覽器,因?yàn)閼?yīng)用容器可以包括容器運(yùn)行時(shí)間。如在本公開中所述,應(yīng)用容器的容器運(yùn)行時(shí)間可以包括庫(kù),但是還可以將操作系統(tǒng)api暴露于應(yīng)用容器內(nèi)的子包的可執(zhí)行組件。不同于應(yīng)用容器,web瀏覽器可以不將這樣的操作系統(tǒng)api暴露于web瀏覽器內(nèi)的擴(kuò)展或其它子應(yīng)用。

如在本公開中所述,應(yīng)用容器可以不同于web瀏覽器,因?yàn)閼?yīng)用容器可以從在應(yīng)用容器外部的監(jiān)督器組件(例如,在運(yùn)行時(shí)間系統(tǒng)或操作系統(tǒng)中)接收用戶指定的標(biāo)識(shí)符(例如,uri),其可以在沒(méi)有附加用戶干預(yù)的情況下使得檢索改變應(yīng)用的執(zhí)行行為或外觀的子包。用戶指定的標(biāo)識(shí)符可以源自于在相同計(jì)算設(shè)備或不同計(jì)算設(shè)備上執(zhí)行的其它應(yīng)用,并且在被應(yīng)用容器接收到時(shí)可以自動(dòng)地改變應(yīng)用的執(zhí)行行為或外觀。相反地,web瀏覽器可以在web瀏覽器本身內(nèi)而不是從在應(yīng)用容器外部的源(例如,監(jiān)督器組件或在web瀏覽器外部的另一應(yīng)用)接收用戶輸入(例如,輸入url的文本)。另外,web瀏覽器可以不包括如在本公開的應(yīng)用容器內(nèi)描述的用以執(zhí)行用戶指定的標(biāo)識(shí)符的查找并改變應(yīng)用容器所表示的應(yīng)用的執(zhí)行的路由器和/或應(yīng)用定義。不同于應(yīng)用容器,web瀏覽器可以不包括回調(diào)界面,其接收并緩存用以改變應(yīng)用容器內(nèi)的子包的操作的生命周期調(diào)用。

在某些示例中,web瀏覽器可以包括核心功能(例如,呈現(xiàn)引擎)和一個(gè)或多個(gè)第三方擴(kuò)展、插件和/或子應(yīng)用。不同于應(yīng)用容器,web瀏覽器在所有web瀏覽器的核心功能未被本地存儲(chǔ)并可用于計(jì)算設(shè)備以便執(zhí)行的情況下可能不會(huì)適當(dāng)?shù)剡\(yùn)行或者根本不執(zhí)行。相反地,應(yīng)用容器可以在只有其核心功能的子集(例如,僅僅用于用戶界面的子集的子包)被本地存儲(chǔ)并可用于計(jì)算設(shè)備以便執(zhí)行的情況下可以適當(dāng)?shù)剡\(yùn)行。

圖3是圖示出根據(jù)本公開的技術(shù)的具有用于動(dòng)態(tài)地加載可安裝子包的應(yīng)用容器的計(jì)算設(shè)備的示例操作的時(shí)序圖。僅僅出于舉例說(shuō)明的目的,下面在圖1的計(jì)算設(shè)備100和遠(yuǎn)程計(jì)算系統(tǒng)142的場(chǎng)境內(nèi)描述示例操作。

如圖3中所示,計(jì)算設(shè)備100最初可以檢測(cè)或接收請(qǐng)求300以發(fā)起計(jì)算設(shè)備100的特定功能。例如,用戶可以向計(jì)算設(shè)備100提供用戶輸入以在最初選擇與應(yīng)用(出于圖3的目的其為導(dǎo)航應(yīng)用)相對(duì)應(yīng)的圖標(biāo)。替選地,用戶可以選擇在計(jì)算設(shè)備100處執(zhí)行并與遠(yuǎn)程計(jì)算系統(tǒng)142通信以檢索子包和應(yīng)用定義的媒體商店應(yīng)用中的導(dǎo)航應(yīng)用。監(jiān)督器302可以接收所述請(qǐng)求。在圖3中,所述請(qǐng)求可以包括用戶指定的標(biāo)識(shí)符http://wh.com/s/123。所述用戶指定的標(biāo)識(shí)符可以是統(tǒng)一資源定位符(url)。url包括子標(biāo)識(shí)符wh.com,其是用于如在本公開中描述的導(dǎo)航應(yīng)用的遠(yuǎn)程計(jì)算系統(tǒng)142中的全局唯一標(biāo)識(shí)符。

監(jiān)督器302可以確定用于導(dǎo)航應(yīng)用的一個(gè)或多個(gè)子包是否被存儲(chǔ)在計(jì)算設(shè)備100處(308)。如果沒(méi)有用于導(dǎo)航應(yīng)用的子包被存儲(chǔ)在計(jì)算設(shè)備100處,則計(jì)算設(shè)備100向特定應(yīng)用定義提交對(duì)分解用戶指定的標(biāo)識(shí)符的請(qǐng)求:http://wh.com/s/123(310)。遠(yuǎn)程計(jì)算系統(tǒng)142中的一個(gè)或多個(gè)對(duì)用戶指定的標(biāo)識(shí)符http://wh.com/s/123的全部或一部:執(zhí)行查找以識(shí)別應(yīng)用定義。在識(shí)別到應(yīng)用定義之后,遠(yuǎn)程計(jì)算系統(tǒng)142中的一個(gè)或多個(gè)向計(jì)算設(shè)備100發(fā)送應(yīng)用定義app_def{package:com.wh.app,…}(312)。

監(jiān)督器102在接收到應(yīng)用定義app_def{package:com.wh.app,…}之后,可以將用于應(yīng)用的軟件開發(fā)者所指派的包標(biāo)識(shí)符(com.wh.app)與子標(biāo)識(shí)符wh.com相關(guān)聯(lián)是遠(yuǎn)程計(jì)算系統(tǒng)142中的用于導(dǎo)航應(yīng)用的全局唯一標(biāo)識(shí)符(316)。監(jiān)督器302向應(yīng)用容器102a發(fā)送用以執(zhí)行在初始請(qǐng)求300中所指定的特定功能(318)。在某些示例中,所述消息可以指定應(yīng)用定義、用戶指定的標(biāo)識(shí)符和/或一個(gè)或多個(gè)命令。作為示例,在圖3中所發(fā)送的消息start{app_def,http://wh.com/s/123}包括命令start、應(yīng)用定義app_def以及用戶指定的標(biāo)識(shí)符http://wh.com/s/123。

應(yīng)用容器102a接收所述消息并發(fā)起所述消息所指定的特定功能。應(yīng)用容器102a執(zhí)行查找以確定用于執(zhí)行后綴/s/123所指定的功能的一個(gè)或多個(gè)子包是否被本地存儲(chǔ)在計(jì)算設(shè)備100處。在圖3的示例中,后綴的/s部分指定對(duì)于其而言子包實(shí)現(xiàn)設(shè)置功能的外觀和行為的設(shè)置功能。/123后綴指定可以被處理以便定義用戶界面的外觀和/或行為的屬性。例如,/123后綴可以指定在設(shè)置功能中所提供的特定用戶界面。

在確定用于設(shè)置功能的子包未被本地存儲(chǔ)在計(jì)算設(shè)備100處時(shí),應(yīng)用容器102a向遠(yuǎn)程計(jì)算系統(tǒng)142中的一個(gè)或多個(gè)發(fā)送用以檢索用于設(shè)置功能的子包的消息(322)。所述消息可以包括信息,所述信息包括但不限于用于應(yīng)用的軟件開發(fā)者所指派的包標(biāo)識(shí)符(com.wh.app)和用于提供設(shè)置功能的子包的子包標(biāo)識(shí)符(settings_function)。接收到所述消息的一個(gè)或多個(gè)遠(yuǎn)程計(jì)算系統(tǒng)基于用于應(yīng)用的軟件開發(fā)者所指派的包標(biāo)識(shí)符(com.wh.app)來(lái)執(zhí)行查找,并且進(jìn)一步基于用于子包的子包標(biāo)識(shí)符(settings_function),選擇用于設(shè)置功能的子包并將子包發(fā)送到應(yīng)用容器(324)。應(yīng)用容器102a接收到settings_function子包(324)。計(jì)算設(shè)備100可以執(zhí)行settings_function子包的一個(gè)或多個(gè)可執(zhí)行組件以執(zhí)行在請(qǐng)求中所指定的特定功能。

圖4是根據(jù)本公開的技術(shù)的用于動(dòng)態(tài)地加載可安裝子包和對(duì)應(yīng)庫(kù)的應(yīng)用容器的概念圖。圖4圖示出具有容器運(yùn)行時(shí)間124的圖1的應(yīng)用容器102a。應(yīng)用容器102a與監(jiān)督器組件128a通信。圖4圖示出應(yīng)用容器102a、子包104c和104a以及庫(kù)400a至400c(“庫(kù)400”)之間的關(guān)系。子包104c包括用以實(shí)現(xiàn)分段和興趣點(diǎn)用戶界面的功能,如圖1中所述。子包104a包括用以實(shí)現(xiàn)設(shè)置用戶界面的功能,如圖1中所述。

如果用戶提供用以使得計(jì)算設(shè)備100顯示設(shè)置用戶界面的用戶輸入,則應(yīng)用容器102a可以確定子包104a是否被本地存儲(chǔ)在計(jì)算設(shè)備100上。例如,應(yīng)用容器102a可以接收具有/settings后綴的uri并確定對(duì)應(yīng)子包是否被本地安裝。如果不是,則應(yīng)用容器102a可以與監(jiān)督器128a通信以從遠(yuǎn)程計(jì)算系統(tǒng)檢索子包104a。在某些示例中,應(yīng)用容器102a可以確定子包104a使用一個(gè)或多個(gè)庫(kù)(諸如庫(kù)400c)來(lái)執(zhí)行一個(gè)或多個(gè)操作。應(yīng)用容器102a和在某些示例中的應(yīng)用容器102a的加載器106可以使得庫(kù)400c被加載到存儲(chǔ)器中。例如,應(yīng)用容器102a可以向監(jiān)督器128a發(fā)送指定庫(kù)400c的消息,這使得庫(kù)400c被加載到存儲(chǔ)器中。在另一示例中,應(yīng)用容器104a可以直接地調(diào)用庫(kù)400c,或者可以通過(guò)容器運(yùn)行時(shí)間124來(lái)調(diào)用庫(kù)400c。在其它示例中,在將子包104a加載到存儲(chǔ)器中之后,子包104a的一個(gè)或多個(gè)可執(zhí)行組件可以調(diào)用庫(kù)400c。

如果庫(kù)400c和/或子包104a對(duì)庫(kù)400b具有傳遞相關(guān)性,則應(yīng)用容器102a、子包104a和/或監(jiān)督器128a還可以加載庫(kù)400b。這樣,執(zhí)行子包104a所需的所有庫(kù)被加載到存儲(chǔ)器中或者另外變得可被應(yīng)用容器102a和/或子包104a訪問(wèn)。在某些示例中,容器運(yùn)行時(shí)間124a包括庫(kù)400,而在其它示例中,庫(kù)400被包括在運(yùn)行時(shí)間系統(tǒng)126中,如圖1中所示。

在其中庫(kù)400被包括在容器運(yùn)行時(shí)間124a中的示例中,應(yīng)用容器102a可以通過(guò)本地地和/或從遠(yuǎn)程計(jì)算系統(tǒng)檢索已更新庫(kù)來(lái)自動(dòng)地更新容器運(yùn)行時(shí)間124。例如,應(yīng)用容器102a可以檢索指定庫(kù)的最低版本的應(yīng)用定義。應(yīng)用容器102a可以基于所指定版本來(lái)自動(dòng)地檢索至少具有最低版本的庫(kù)。在某些示例中,應(yīng)用容器102a可以周期性地或異步地(例如,當(dāng)應(yīng)用最初被加載到存儲(chǔ)器中時(shí))檢查已更新庫(kù)是否可用并自動(dòng)地從一個(gè)或多個(gè)遠(yuǎn)程計(jì)算系統(tǒng)檢索這樣的庫(kù)。這樣,軟件開發(fā)者可以不必檢查庫(kù)是否是最新的,因?yàn)閼?yīng)用容器可以保證在任何可執(zhí)行組件運(yùn)行之前容器運(yùn)行時(shí)間124滿足庫(kù)相關(guān)性。此外,可以在不需要更新操作系統(tǒng)136的情況下和/或在不需要更新運(yùn)行時(shí)間系統(tǒng)126的情況下更新容器運(yùn)行時(shí)間124。

圖5是圖示出根據(jù)本公開的技術(shù)的具有用于動(dòng)態(tài)地加載可安裝子包的應(yīng)用容器的計(jì)算設(shè)備的示例操作的流程圖。僅僅出于舉例說(shuō)明的目的,下面在圖1的計(jì)算設(shè)備的場(chǎng)境內(nèi)描述示例操作。

在圖5中,計(jì)算設(shè)備100最初可以接收對(duì)執(zhí)行應(yīng)用的特定功能的請(qǐng)求(500)。例如,用戶可以在計(jì)算設(shè)備100處提供用以啟動(dòng)應(yīng)用的用戶輸入。計(jì)算設(shè)備100可以確定用于保持應(yīng)用的可安裝子包的應(yīng)用容器未被分配在計(jì)算設(shè)備100的存儲(chǔ)器中。響應(yīng)于確定用于保持應(yīng)用的可安裝子包的應(yīng)用容器未被分配在存儲(chǔ)器中,計(jì)算設(shè)備100可以從遠(yuǎn)程計(jì)算系統(tǒng)檢索應(yīng)用定義(502)。例如,計(jì)算設(shè)備100可以向遠(yuǎn)程計(jì)算系統(tǒng)發(fā)送包括用于應(yīng)用的唯一標(biāo)識(shí)符的請(qǐng)求。遠(yuǎn)程計(jì)算系統(tǒng)可以執(zhí)行查找并識(shí)別對(duì)應(yīng)應(yīng)用定義。遠(yuǎn)程計(jì)算系統(tǒng)可以向計(jì)算設(shè)備100發(fā)送應(yīng)用定義。

計(jì)算設(shè)備100可以從計(jì)算設(shè)備100接收應(yīng)用定義。計(jì)算設(shè)備100還進(jìn)一步針對(duì)應(yīng)用在計(jì)算設(shè)備100的存儲(chǔ)器中分配應(yīng)用。響應(yīng)于在存儲(chǔ)器中分配應(yīng)用容器,計(jì)算設(shè)備100可以至少部分地基于請(qǐng)求的用戶指定的標(biāo)識(shí)符來(lái)發(fā)起應(yīng)用的特定功能(504)。例如,監(jiān)督器組件可以向應(yīng)用容器發(fā)送消息,所述信息包括與包括用以執(zhí)行應(yīng)用的特定功能的可執(zhí)行組件的一個(gè)或多個(gè)子包相對(duì)應(yīng)的用戶特定標(biāo)識(shí)符(例如,uri、標(biāo)記、標(biāo)簽等)。

計(jì)算設(shè)備100可以至少部分地基于應(yīng)用定義和用戶指定的標(biāo)識(shí)符來(lái)確定用于特定功能的可安裝子包未被存儲(chǔ)在計(jì)算設(shè)備100處。響應(yīng)于至少部分地基于應(yīng)用定義和用戶所指定標(biāo)識(shí)符來(lái)確定用于特定功能的可安裝子包未被存儲(chǔ)在計(jì)算設(shè)備100處,計(jì)算設(shè)備100可以從遠(yuǎn)程計(jì)算系統(tǒng)檢索包括多個(gè)可執(zhí)行組件的可安裝子包(506)。在某些示例中,計(jì)算設(shè)備100可以從與包括應(yīng)用定義的遠(yuǎn)程計(jì)算系統(tǒng)不同的遠(yuǎn)程計(jì)算系統(tǒng)檢索包括多個(gè)可執(zhí)行組件的可安裝子包。在某些示例中,計(jì)算設(shè)備100可以從與包括應(yīng)用定義的遠(yuǎn)程計(jì)算系統(tǒng)相同的遠(yuǎn)程計(jì)算系統(tǒng)檢索包括多個(gè)可執(zhí)行組件的可安裝子包。計(jì)算設(shè)備100使用一個(gè)或多個(gè)子包的一個(gè)或多個(gè)可執(zhí)行組件來(lái)執(zhí)行應(yīng)用的特定功能(508)。例如,計(jì)算設(shè)備100在執(zhí)行可執(zhí)行組件之后可以改變應(yīng)用的行為和/或外觀。

示例1:一種方法,包括:由在計(jì)算設(shè)備處執(zhí)行的監(jiān)督器組件接收對(duì)執(zhí)行應(yīng)用的特定功能的請(qǐng)求;響應(yīng)于確定用于保持所述應(yīng)用的可安裝子包的應(yīng)用容器未被分配在所述計(jì)算設(shè)備的存儲(chǔ)器中,由監(jiān)督器組件從第一遠(yuǎn)程計(jì)算系統(tǒng)檢索應(yīng)用定義,其中,所述應(yīng)用定義定義應(yīng)用的可安裝子包與用戶指定的標(biāo)識(shí)符之間的多個(gè)映射;響應(yīng)于在計(jì)算設(shè)備的存儲(chǔ)器中分配應(yīng)用容器,由監(jiān)督器組件至少部分地基于所述請(qǐng)求的用戶指定的標(biāo)識(shí)符來(lái)發(fā)起應(yīng)用的所述特定功能;響應(yīng)于由在計(jì)算設(shè)備處執(zhí)行的應(yīng)用容器至少部分地基于應(yīng)用定義和用戶定義標(biāo)識(shí)符來(lái)確定用于特定應(yīng)用的可安裝子包未被存儲(chǔ)在計(jì)算設(shè)備處,由應(yīng)用容器從第二遠(yuǎn)程計(jì)算系統(tǒng)檢索包括多個(gè)可執(zhí)行組件的可安裝子包;以及由應(yīng)用容器使用所述多個(gè)可執(zhí)行組件來(lái)執(zhí)行應(yīng)用的所述特定功能。

示例2:根據(jù)示例1所述的方法,其中,所述特定功能是第一特定功能,其中,對(duì)執(zhí)行特定功能的請(qǐng)求是對(duì)執(zhí)行第一特定功能的第一請(qǐng)求,所述方法進(jìn)一步包括:接收對(duì)執(zhí)行應(yīng)用的第二特定功能的第二請(qǐng)求;響應(yīng)于確定在存儲(chǔ)器中分配了用于應(yīng)用的應(yīng)用容器且用于第二特定功能的可安裝子包未被存儲(chǔ)在計(jì)算設(shè)備處,由應(yīng)用容器在不從所述第二遠(yuǎn)程計(jì)算系統(tǒng)檢索所述應(yīng)用的第三子包的情況下,從第二遠(yuǎn)程計(jì)算系統(tǒng)檢索用于第二特定功能的可安裝子包,其中,所述第三子包未被安裝在計(jì)算設(shè)備上;以及由應(yīng)用容器使用在用于第二特定功能的可安裝子包中所包括的多個(gè)可執(zhí)行組件來(lái)執(zhí)行應(yīng)用的特定功能。

示例3:根據(jù)示例1-2中的任一項(xiàng)所述的方法,進(jìn)一步包括:由應(yīng)用容器的生命周期組件緩存從計(jì)算設(shè)備的運(yùn)行時(shí)間系統(tǒng)所接收的多個(gè)生命周期調(diào)用;以及響應(yīng)于確定所述多個(gè)可執(zhí)行組件中的至少一個(gè)被加載在計(jì)算設(shè)備的存儲(chǔ)器中,向所述多個(gè)可執(zhí)行組件中的所述至少一個(gè)發(fā)送所述多個(gè)生命周期調(diào)用中的一個(gè)或多個(gè)。

示例4:根據(jù)示例1-3中的任一項(xiàng)所述的方法,進(jìn)一步包括:由應(yīng)用容器的路由器接收用戶指定的標(biāo)識(shí)符;由應(yīng)用容器的路由器查詢路由器表以確定用于所述特定功能的所述可安裝子包是否被存儲(chǔ)在所述計(jì)算設(shè)備處,所述路由器表包括應(yīng)用的可安裝子包與用戶指定的標(biāo)識(shí)符之間的所述多個(gè)映射;以及響應(yīng)于確定用于特定功能的可安裝子包未被本地存儲(chǔ)在計(jì)算設(shè)備處而向第二遠(yuǎn)程計(jì)算系統(tǒng)發(fā)送包括可安裝子包的標(biāo)識(shí)符的消息。

示例5:根據(jù)示例1-4中的任一項(xiàng)所述的方法,進(jìn)一步包括:由應(yīng)用容器來(lái)識(shí)別在應(yīng)用定義中所指定的庫(kù)的最低版本;在使用運(yùn)行時(shí)間容器來(lái)執(zhí)行應(yīng)用之前:檢索具有大于或等于最低版本的版本的庫(kù)的實(shí)例;在應(yīng)用容器的容器運(yùn)行時(shí)間中安裝庫(kù)的實(shí)例;以及其中,執(zhí)行應(yīng)用的特定功能包括使用所述容器運(yùn)行時(shí)間中的庫(kù)的實(shí)例來(lái)執(zhí)行特定功能。

示例6:根據(jù)示例1-5中的任一項(xiàng)所述的方法,其中,所述多個(gè)可執(zhí)行組件中的每一個(gè)是面向?qū)ο笤O(shè)計(jì)中的已編譯類,其中,所述應(yīng)用容器被實(shí)現(xiàn)為在計(jì)算設(shè)備處執(zhí)行的操作系統(tǒng)中的進(jìn)程,并且其中,用于特定功能的子包包括少于實(shí)現(xiàn)應(yīng)用的全部可執(zhí)行組件。

示例7:根據(jù)示例1-6中的任一項(xiàng)所述的方法,其中,所述第一和第二遠(yuǎn)程計(jì)算系統(tǒng)是相同計(jì)算設(shè)備。

示例8:根據(jù)示例1-7中的任一項(xiàng)所述的方法,其中,所述第一和第二遠(yuǎn)程計(jì)算系統(tǒng)被包括在由共同操作者所操作的系統(tǒng)。

示例9:一種計(jì)算設(shè)備,包括:一個(gè)或多個(gè)計(jì)算機(jī)處理器;以及包括指令的存儲(chǔ)器,所述指令在被所述一個(gè)或多個(gè)計(jì)算機(jī)處理器執(zhí)行時(shí),使得所述一個(gè)或多個(gè)計(jì)算機(jī)處理器:由計(jì)算設(shè)備的監(jiān)督器組件接收對(duì)執(zhí)行應(yīng)用的特定功能的請(qǐng)求;響應(yīng)于確定用于保持應(yīng)用的可安裝子包的應(yīng)用容器未被分配在所述計(jì)算設(shè)備的存儲(chǔ)器中,由監(jiān)督器組件從第一遠(yuǎn)程計(jì)算系統(tǒng)檢索應(yīng)用定義,其中,所述應(yīng)用定義定義應(yīng)用的可安裝子包與用戶指定的標(biāo)識(shí)符之間的多個(gè)映射;響應(yīng)于在計(jì)算設(shè)備的存儲(chǔ)器中分配應(yīng)用容器,由監(jiān)督器組件至少部分地基于所述請(qǐng)求的用戶指定的標(biāo)識(shí)符來(lái)發(fā)起應(yīng)用的所述特定功能;響應(yīng)于由計(jì)算設(shè)備的應(yīng)用容器至少部分地基于應(yīng)用定義和用戶指定的標(biāo)識(shí)符來(lái)確定用于特定功能的可安裝子包未被存儲(chǔ)在計(jì)算設(shè)備處,由應(yīng)用容器從第二遠(yuǎn)程計(jì)算系統(tǒng)檢索包括多個(gè)可執(zhí)行組件的可安裝子包;以及由應(yīng)用容器使用所述多個(gè)可執(zhí)行組件來(lái)執(zhí)行應(yīng)用的所述特定功能。

示例10:根據(jù)示例9所述的計(jì)算設(shè)備,其中,所述指令在被所述一個(gè)或多個(gè)計(jì)算機(jī)處理器執(zhí)行時(shí)使得所述一個(gè)或多個(gè)計(jì)算機(jī)處理器執(zhí)行示例2-8的方法中的任一項(xiàng)。

示例11:一種被用指令編碼的非暫時(shí)性計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),所述指令在被執(zhí)行時(shí)使得計(jì)算設(shè)備的至少一個(gè)處理器:由計(jì)算設(shè)備的監(jiān)督器組件接收對(duì)執(zhí)行應(yīng)用的特定功能的請(qǐng)求;響應(yīng)于確定用于保持應(yīng)用的可安裝子包的應(yīng)用容器未被分配在所述計(jì)算設(shè)備的存儲(chǔ)器中,由監(jiān)督器組件從第一遠(yuǎn)程計(jì)算系統(tǒng)檢索應(yīng)用定義,其中,所述應(yīng)用定義定義應(yīng)用的可安裝子包與用戶指定的標(biāo)識(shí)符之間的多個(gè)映射;響應(yīng)于在計(jì)算設(shè)備的存儲(chǔ)器中分配應(yīng)用容器,由監(jiān)督器組件至少部分地基于所述請(qǐng)求的用戶指定的標(biāo)識(shí)符來(lái)發(fā)起應(yīng)用的所述特定功能;響應(yīng)于由計(jì)算設(shè)備的應(yīng)用容器至少部分地基于應(yīng)用定義和用戶指定的標(biāo)識(shí)符來(lái)確定用于特定功能的可安裝子包未被存儲(chǔ)在計(jì)算設(shè)備處,由應(yīng)用容器從第二遠(yuǎn)程計(jì)算系統(tǒng)檢索包括多個(gè)可執(zhí)行組件的可安裝子包;以及由應(yīng)用容器使用所述多個(gè)可執(zhí)行組件來(lái)執(zhí)行應(yīng)用的所述特定功能。

示例12:根據(jù)示例11所述的被用指令編碼的非暫時(shí)性計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),所述指令在被執(zhí)行時(shí)使得計(jì)算設(shè)備的至少一個(gè)處理器執(zhí)行示例2-8的方法中的任一項(xiàng)。

示例13:一種包括用于執(zhí)行示例1-8的方法中的任一項(xiàng)所述的裝置的裝置。

在一個(gè)或多個(gè)示例中,可用硬件、軟件、固件或其任何組合來(lái)實(shí)現(xiàn)所述功能。如果用軟件實(shí)現(xiàn),則可將功能存儲(chǔ)作為一個(gè)或多個(gè)指令或代碼在計(jì)算機(jī)可讀介質(zhì)上或者通過(guò)計(jì)算機(jī)可讀介質(zhì)發(fā)射并被基于硬件的處理單元執(zhí)行。計(jì)算機(jī)可讀介質(zhì)可包括計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其與諸如數(shù)據(jù)存儲(chǔ)介質(zhì)的有形介質(zhì)或者包括促進(jìn)(例如根據(jù)通信協(xié)議)將計(jì)算機(jī)程序從一地傳遞到另一地的任何介質(zhì)的通信介質(zhì)。以這種方式,計(jì)算機(jī)可讀介質(zhì)一般地可與以下兩項(xiàng)相對(duì)應(yīng):(1)有形計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其是非臨時(shí)的,或者(2)通信介質(zhì),諸如信號(hào)或載波。數(shù)據(jù)存儲(chǔ)介質(zhì)可以是可以被一個(gè)或多個(gè)計(jì)算機(jī)或一個(gè)或多個(gè)處理器訪問(wèn)以檢索用于實(shí)現(xiàn)本公開中所述的技術(shù)的指令、代碼和/或數(shù)據(jù)結(jié)構(gòu)的任何可用介質(zhì)。計(jì)算機(jī)程序產(chǎn)品可包括計(jì)算機(jī)可讀介質(zhì)。

以示例而非限制的方式,這樣的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)可以包括ram、rom、eeprom、cd-rom或其它光盤儲(chǔ)存器、磁盤儲(chǔ)存器或其它磁存儲(chǔ)器件、閃速存儲(chǔ)器或者可以用來(lái)以指令或數(shù)據(jù)結(jié)構(gòu)的形式存儲(chǔ)期望程序代碼且可以被計(jì)算機(jī)訪問(wèn)的任何其它介質(zhì)。并且,將任何連接適當(dāng)?shù)胤Q為計(jì)算機(jī)可讀介質(zhì)。例如,如果使用同軸電纜、光纖電纜、扭絞線對(duì)、數(shù)字訂戶線(dsl)或諸如紅外線、無(wú)線電以及微波的無(wú)線技術(shù)來(lái)從網(wǎng)站、服務(wù)器或其它遠(yuǎn)程源發(fā)射指令,則在介質(zhì)的定義中包括同軸電纜、光纖電纜、扭絞線對(duì)、dsl或諸如紅外線、無(wú)線電和微波的無(wú)線技術(shù)。然而,應(yīng)理解的是,計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)和數(shù)據(jù)存儲(chǔ)介質(zhì)不包括連接、載波、信號(hào)或其它暫態(tài)介質(zhì),而是替代地針對(duì)非暫態(tài)、有形存儲(chǔ)介質(zhì)。如本文所使用的磁碟和磁盤包括緊湊式磁盤(cd)、激光磁盤、光盤、數(shù)字多功能磁盤(dvd)、軟盤和藍(lán)光磁盤,其中,磁碟通常磁性地再現(xiàn)數(shù)據(jù),而磁盤通常用激光來(lái)光學(xué)地再現(xiàn)數(shù)據(jù)。以上的組合也應(yīng)被包括在計(jì)算機(jī)可讀介質(zhì)的范圍內(nèi)。

指令被一個(gè)或多個(gè)處理器執(zhí)行,諸如一個(gè)或多個(gè)數(shù)字信號(hào)處理器(dsp)、通用微處理器、專用集成電路(asic)、現(xiàn)場(chǎng)可編程門陣列(fpga)或其它等價(jià)集成或分立邏輯電路。因此,如本文所使用的術(shù)語(yǔ)“處理器”可指代任何前述結(jié)構(gòu)或適合于實(shí)現(xiàn)本文所述技術(shù)的任何其它結(jié)構(gòu)。另外,在某些方面,可在專用硬件和/或軟件模塊內(nèi)提供本文所述功能。并且,所述技術(shù)可完全用一個(gè)或多個(gè)電路或邏輯元件來(lái)實(shí)現(xiàn)。

本公開的技術(shù)可在多種設(shè)備或裝置中實(shí)現(xiàn),包括無(wú)線手機(jī)、集成電路(ic)或ic集(例如,芯片集)。在本公開中描述了各種組件、模塊或單元以強(qiáng)調(diào)被配置成執(zhí)行公開技術(shù)的設(shè)備的功能方面,但不一定要求用不同的硬件單元來(lái)實(shí)現(xiàn)。相反地,如上所述,可將各種單元組合在一個(gè)硬件單元中,或者用許多互操作硬件單元的集合來(lái)提供,包括如上所述的一個(gè)或多個(gè)處理器,與適當(dāng)?shù)能浖?或固件相結(jié)合。

已描述了本公開的各種方面。這些及其它方面在以下權(quán)利要求的范圍內(nèi)。

當(dāng)前第1頁(yè)1 2 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
大埔县| 普定县| 高青县| 宣武区| 岑巩县| 罗江县| 合山市| 永丰县| 伊宁市| 盐城市| 西和县| 三河市| 澄迈县| 西昌市| 马尔康县| 赤峰市| 化德县| 安新县| 五台县| 昭苏县| 南昌县| 鸡东县| 彰武县| 改则县| 兴文县| 乌拉特前旗| 正镶白旗| 马尔康县| 竹溪县| 防城港市| 临安市| 株洲市| 新安县| 调兵山市| 四平市| 喜德县| 中西区| 磐安县| 丽江市| 兴业县| 环江|