通過(guò)具有非例示內(nèi)容的智能事件的動(dòng)態(tài)用戶(hù)界面聚合的制作方法
【專(zhuān)利摘要】從在第一框架內(nèi)執(zhí)行的第一內(nèi)容元素公布的事件可能被檢測(cè)到。作為響應(yīng),可以搜索與公布的事件匹配的一個(gè)或多個(gè)注冊(cè)的事件的記錄,并且如果找到匹配的注冊(cè)的事件,則可以例示注冊(cè)了所述匹配的注冊(cè)的事件的第二內(nèi)容元素,從而開(kāi)始在所述框架中執(zhí)行。第二內(nèi)容元素根據(jù)公布的事件而被動(dòng)態(tài)地聚合到框架中,而第一內(nèi)容元素不必預(yù)先知道第二內(nèi)容元素,并且第二內(nèi)容元素不必預(yù)先知道第一內(nèi)容元素??蚣芤膊槐乇怀跏荚O(shè)計(jì)為部署第二內(nèi)容元素。可以在運(yùn)行時(shí)期而非設(shè)計(jì)時(shí)期決定將哪一個(gè)或多個(gè)內(nèi)容元素聚合到所述框架中。
【專(zhuān)利說(shuō)明】通過(guò)具有非例示內(nèi)容的智能事件的動(dòng)態(tài)用戶(hù)界面聚合
【技術(shù)領(lǐng)域】
[0001] 本申請(qǐng)一般地涉及計(jì)算機(jī)系統(tǒng)和計(jì)算機(jī)應(yīng)用,尤其涉及操作系統(tǒng)、網(wǎng)絡(luò)應(yīng)用、入口 和事件框架。
【背景技術(shù)】
[0002] 網(wǎng)絡(luò)應(yīng)用可以由諸如入口(portal)和糅合(mashup)的獨(dú)立的內(nèi)容構(gòu)成,該入口 用于提供對(duì)于萬(wàn)維網(wǎng)(網(wǎng)絡(luò))和相似的全球性網(wǎng)絡(luò)中的信息的接入點(diǎn),該糅合是已經(jīng)組合 了諸如功能性的元素和來(lái)自多個(gè)來(lái)源的數(shù)據(jù)從而建立新的服務(wù)的網(wǎng)頁(yè)或應(yīng)用。這些網(wǎng)絡(luò) 應(yīng)用傳統(tǒng)上具有靜態(tài)地定義的頁(yè)面內(nèi)容,或者可以對(duì)頁(yè)面明確地添加動(dòng)態(tài)內(nèi)容。即,頁(yè)面 是預(yù)定義的,并且每個(gè)頁(yè)面上的內(nèi)容可以響應(yīng)于各種動(dòng)作而明確地添加特定的新小容器 (portlet)或微件。簡(jiǎn)單地說(shuō),小容器是可插入的用戶(hù)界面軟件組件,其由網(wǎng)絡(luò)入口管理和 顯示。微件是可以在網(wǎng)頁(yè)中安裝并執(zhí)行的小應(yīng)用。在由獨(dú)立開(kāi)發(fā)的內(nèi)容構(gòu)成的環(huán)境下,通 過(guò)將事件框架標(biāo)準(zhǔn)化,從而能夠在同一頁(yè)面上的小容器和微件之間傳遞數(shù)據(jù)。操作系統(tǒng)本 質(zhì)上也同樣運(yùn)作;用戶(hù)可以明確地加載應(yīng)用,并且應(yīng)用可以響應(yīng)于各種動(dòng)作而明確地加載 其他應(yīng)用。這與在入口頁(yè)面上加載小容器并使那些小容器發(fā)起其他的小容器相似。操作系 統(tǒng)基本上如同單頁(yè)面入口一樣運(yùn)作。
[0003] 在網(wǎng)絡(luò)應(yīng)用或操作系統(tǒng)的【技術(shù)領(lǐng)域】中,尚不具備動(dòng)態(tài)加載內(nèi)容或應(yīng)用并且傳遞基 于事件的數(shù)據(jù)的能力,除非該新內(nèi)容或應(yīng)用以前就知道,并且明確地被編碼在起源內(nèi)容或 應(yīng)用中。
[0004] 例如,目前的網(wǎng)絡(luò)應(yīng)用要么通過(guò)對(duì)需要的新內(nèi)容進(jìn)行硬編碼從而明確地發(fā)起特定 內(nèi)容,該新內(nèi)容中的靈活性或糅合能力可能被降低,要么構(gòu)筑其中所有內(nèi)容是已有的頁(yè)面, 從而實(shí)現(xiàn)在分離內(nèi)容之間的事件,并使布局和可用性問(wèn)題復(fù)雜化。類(lèi)似地,操作系統(tǒng)應(yīng)用要 么通過(guò)硬編碼新的應(yīng)用來(lái)明確地發(fā)起特定應(yīng)用,要么具有所有已經(jīng)加載的相關(guān)應(yīng)用并且監(jiān) 聽(tīng)事件,或許就像發(fā)起整個(gè)應(yīng)用的微件或插件,但仍然在后臺(tái)持續(xù)運(yùn)行。
【發(fā)明內(nèi)容】
[0005] 可以提供一種通過(guò)具有非例示(non-instantiated)內(nèi)容的智能事件(smart eventing)動(dòng)態(tài)地聚合內(nèi)容的方法和系統(tǒng)。該方法在一個(gè)方面可以包括在處理器上,在第一 框架內(nèi)執(zhí)行第一內(nèi)容元素。該方法還可以包括響應(yīng)于檢測(cè)到從在所述框架內(nèi)執(zhí)行的所述第 一內(nèi)容元素發(fā)布的事件,搜索與所述公布的事件匹配的一個(gè)或多個(gè)注冊(cè)的事件的注冊(cè)部, 并且如果找到匹配的注冊(cè)的事件,則例示注冊(cè)了所述匹配的注冊(cè)的事件的第二內(nèi)容元素, 從而開(kāi)始在所述框架中執(zhí)行。所述第二內(nèi)容元素可以根據(jù)所述公布的事件而被動(dòng)態(tài)地聚合 到所述框架中,而所述第一內(nèi)容元素不必預(yù)先知道所述第二內(nèi)容元素,并且所述第二內(nèi)容 元素不必預(yù)先知道所述第一內(nèi)容元素。所述框架也不必被初始設(shè)計(jì)為部署所述第二內(nèi)容元 素。
[0006] -種通過(guò)具有非例示內(nèi)容的智能事件動(dòng)態(tài)地聚合內(nèi)容的系統(tǒng),在一個(gè)方面,可以 包括框架環(huán)境,可被操作而在所述處理器上執(zhí)行。第一內(nèi)容元素可被操作而在所述框架環(huán) 境中執(zhí)行。注冊(cè)部包括一個(gè)或多個(gè)注冊(cè)的事件,以及相關(guān)聯(lián)的一個(gè)或多個(gè)第二內(nèi)容元素,其 動(dòng)態(tài)地注冊(cè)了所述一個(gè)或多個(gè)注冊(cè)的事件。響應(yīng)于在運(yùn)行時(shí)間從所述第一內(nèi)容元素檢測(cè)到 發(fā)布的事件,所述框架還可操作來(lái)搜索與所述公布的事件匹配的注冊(cè)的事件的注冊(cè)部,并 且如果找到匹配的注冊(cè)的事件,則例示注冊(cè)了所述匹配的注冊(cè)的事件的第二內(nèi)容元素,從 而開(kāi)始在所述框架中執(zhí)行。所述第二內(nèi)容元素根據(jù)所述公布的事件而被動(dòng)態(tài)地聚合到所述 框架中,而所述第一內(nèi)容元素不必預(yù)先知道所述第二內(nèi)容元素,并且所述第二內(nèi)容元素不 必預(yù)先知道所述第一內(nèi)容元素。所述框架也不必被初始設(shè)計(jì)為部署所述第二內(nèi)容元素。
[0007] 還可以提供一種計(jì)算機(jī)可讀取的存儲(chǔ)介質(zhì),存儲(chǔ)有指令的程序,該指令可由機(jī)器 執(zhí)行從而執(zhí)行在此描述的一個(gè)或多個(gè)方法。
[0008] 各種實(shí)施例的其他的特征以及結(jié)構(gòu)和操作參照附圖在下面詳細(xì)描述。在附圖中, 相似參考標(biāo)號(hào)表示相同或功能相近的元素。
【專(zhuān)利附圖】
【附圖說(shuō)明】
[0009] 圖1示出一個(gè)實(shí)施例中的本公開(kāi)的方法。
[0010] 圖2示出執(zhí)行一個(gè)實(shí)施例中的本公開(kāi)的方法的場(chǎng)景的例子。
[0011] 圖3示出執(zhí)行一個(gè)實(shí)施例中的本公開(kāi)的方法的場(chǎng)景的另一例子。
[0012] 圖4是示出本公開(kāi)的一個(gè)實(shí)施例中的動(dòng)態(tài)聚合內(nèi)容的方法的流程圖。
[0013] 圖5是示出可以執(zhí)行一個(gè)實(shí)施例中的本公開(kāi)的動(dòng)態(tài)內(nèi)容聚合的計(jì)算機(jī)或處理系 統(tǒng)的例子的示意圖。
【具體實(shí)施方式】
[0014] 本公開(kāi)一般性地公開(kāi)用于根據(jù)事件而在應(yīng)用框架內(nèi)動(dòng)態(tài)添加應(yīng)用組件的方法和 系統(tǒng)。應(yīng)用組件可以響應(yīng)于事件,通過(guò)確定過(guò)濾條件而將應(yīng)用組件注冊(cè)到應(yīng)用框架,從而動(dòng) 態(tài)地被添加。結(jié)果,當(dāng)在應(yīng)用框架中發(fā)生事件時(shí),應(yīng)用框架自動(dòng)地調(diào)用或添加過(guò)濾條件與事 件相匹配的應(yīng)用組件,例如,關(guān)于該事件以邏輯方式。此外,事件相關(guān)的數(shù)據(jù)可以被轉(zhuǎn)換為 被調(diào)用或添加到應(yīng)用框架的應(yīng)用組件可接受的形式。
[0015] 尤其是,一個(gè)實(shí)施例中的本公開(kāi)使得跨越框架的聚合和事件成為可能,框架例如 有操作系統(tǒng)框架、網(wǎng)絡(luò)或其他應(yīng)用框架等等。在本公開(kāi)中,在一個(gè)實(shí)施例中,動(dòng)態(tài)應(yīng)用框架 可以基于來(lái)自獨(dú)立提供商或資源等的積木式部件而構(gòu)筑,其中根據(jù)事件而不是以前的知識(shí) 動(dòng)態(tài)地決定內(nèi)容和層。在本公開(kāi)的一個(gè)實(shí)施例中,可以提供一種注冊(cè)機(jī)制,從而對(duì)鏈接到觸 發(fā)對(duì)框架添加內(nèi)容的相關(guān)事件的可獲得內(nèi)容進(jìn)行注冊(cè)。進(jìn)而,可以提供一種機(jī)制,在由事件 觸發(fā)時(shí)動(dòng)態(tài)地調(diào)用或添加內(nèi)容,而無(wú)需由產(chǎn)生事件的內(nèi)容預(yù)先知道??梢蕴峁┮环N機(jī)制,從 而關(guān)于位置、大小和/或其他條件,根據(jù)事件上下文,以邏輯方式添加動(dòng)態(tài)內(nèi)容。此外,可以 提供一種機(jī)制,用于將事件結(jié)構(gòu)或轉(zhuǎn)換能力進(jìn)行標(biāo)準(zhǔn)化。
[0016] 在一個(gè)方面,本公開(kāi)的應(yīng)用框架可以根據(jù)事件而非預(yù)先決定的布局和動(dòng)作來(lái)構(gòu)筑 動(dòng)態(tài)用戶(hù)界面(UI)。現(xiàn)有或已經(jīng)運(yùn)行的內(nèi)容元素發(fā)送基于其自身內(nèi)容的事件。運(yùn)行該內(nèi)容 事件的框架然后構(gòu)筑動(dòng)態(tài)UI,該動(dòng)態(tài)UI包括來(lái)自多個(gè)內(nèi)容提供商的其他內(nèi)容,其能夠互相 處理。該構(gòu)筑是動(dòng)態(tài)的,因?yàn)槠渌麅?nèi)容不一定在UI中運(yùn)行或呈現(xiàn);相反,它們是基于事件而 配置的。此外,現(xiàn)有的內(nèi)容不必之前已經(jīng)知道或者了解產(chǎn)生事件的內(nèi)容。框架和/或動(dòng)態(tài) 內(nèi)容可以確保關(guān)于觸發(fā)事件,例如位置、大小和/或其他條件,以邏輯方式添加新內(nèi)容。通 過(guò)這種方式,可以從參加的內(nèi)容提供商自動(dòng)構(gòu)筑動(dòng)態(tài)UI,包括產(chǎn)生層,這些層并非是以前在 開(kāi)發(fā)時(shí)期定義或計(jì)劃的。由于動(dòng)態(tài)添加的內(nèi)容元素也可以在發(fā)起時(shí)進(jìn)行自動(dòng)化的動(dòng)作,因 此該框架也可以允許自動(dòng)化的動(dòng)作動(dòng)態(tài)地聚合。
[0017] 本公開(kāi)的方法例如可以作為諸如來(lái)自紐約阿蒙科的國(guó)際商用機(jī)器公司(IBM? ) 的Tivoli? Integrated Portal (TIP)的portal或糅合的特征來(lái)執(zhí)行,但是并不限于這一 環(huán)境。其也可以應(yīng)用到操作系統(tǒng)框架或具有獨(dú)立來(lái)源的內(nèi)容和事件的任何其他框架。
[0018] 圖1示出一個(gè)實(shí)施例中的本公開(kāi)的方法。在102,在一個(gè)實(shí)施例中的諸如操作系統(tǒng) 的框架、應(yīng)用或網(wǎng)絡(luò)應(yīng)用可以使得內(nèi)容元素添加到框架中,例如通過(guò)注冊(cè)到框架中,并確定 內(nèi)容元素以及內(nèi)容元素能夠響應(yīng)的一個(gè)或多個(gè)事件的識(shí)別符,甚至在內(nèi)容元素沒(méi)有已經(jīng)在 運(yùn)行時(shí)。例如,內(nèi)容元素可以通過(guò)在框架所保存的記錄(例如,數(shù)據(jù)表、文件等)中插入條 目從而進(jìn)行注冊(cè)。條目可以包括內(nèi)容或一個(gè)或多個(gè)事件的識(shí)別符(例如,名稱(chēng))。對(duì)于網(wǎng) 絡(luò)應(yīng)用,內(nèi)容元素的例子包括但不限于小容器和iwidget。內(nèi)容元素如果沒(méi)有呈現(xiàn)在網(wǎng)絡(luò) 入口的網(wǎng)頁(yè)上則被認(rèn)為"沒(méi)有運(yùn)行"。作為另一個(gè)例子,對(duì)于操作系統(tǒng),內(nèi)容元素可以包括但 不限于應(yīng)用。如果應(yīng)用沒(méi)有加載到存儲(chǔ)器或者沒(méi)有在處理器上執(zhí)行則認(rèn)為該程序"沒(méi)有運(yùn) 行"。記錄可以在任何時(shí)間開(kāi)放注冊(cè),例如,甚至在框架和框架中配置的任何內(nèi)容元素的運(yùn) 行時(shí)間。
[0019] 在104,內(nèi)容元素也可以確定用于控制其何時(shí)響應(yīng)確定的事件的事件過(guò)濾器。例 如,過(guò)濾器可以作為由框架或應(yīng)用編程界面(API)或可執(zhí)行命令解析的簡(jiǎn)單規(guī)則來(lái)執(zhí)行。
[0020] 在106,在原始事件不是"標(biāo)準(zhǔn)"形式時(shí),內(nèi)容元素也可以被配置進(jìn)行事件轉(zhuǎn)換。轉(zhuǎn) 換的結(jié)構(gòu)在事件已知時(shí)可以在"安裝"或"配置"時(shí)完成,而非在公布或接收內(nèi)容的開(kāi)發(fā)時(shí) 期。在本公開(kāi)中,例如,在提到安裝獨(dú)立程序等,配置模塊或插件等時(shí),"安裝"或"配置"的 術(shù)語(yǔ)一般作為同義使用并且可互換。一個(gè)實(shí)施例中的本公開(kāi)的轉(zhuǎn)換方面允許這樣的特征, 即本公開(kāi)的能力不比設(shè)計(jì)到內(nèi)容元素的原始代碼中。內(nèi)容元素不比明確知道事件合適發(fā)生 或源自何處。例如,當(dāng)安裝響應(yīng)于"TrafficAlert"事件的小容器時(shí),可以確定轉(zhuǎn)換,從而將 任何來(lái)自可框架的"CollisionEvent"或"WeatherEvent"事件轉(zhuǎn)換為"TrafficAlert"事 件。該porlet不必被編寫(xiě)或編碼為知曉關(guān)于這些框架特有事件的類(lèi)型的任何情況,因?yàn)橐?個(gè)實(shí)施例中的本公開(kāi)的轉(zhuǎn)換功能可用來(lái)處理。轉(zhuǎn)換可以作為例如由框架或API或可執(zhí)行命 令解析的一個(gè)或多個(gè)規(guī)則來(lái)執(zhí)行。
[0021] 在108,內(nèi)容元素也可以確定其應(yīng)如何配置在框架中。例如,對(duì)于網(wǎng)絡(luò)應(yīng)用,小容器 或iWidget或其他內(nèi)容元素可以絕對(duì)地或者相應(yīng)于傳遞的事件中的坐標(biāo)來(lái)確定其應(yīng)該被 添加到原始頁(yè)面(例如,網(wǎng)絡(luò)入口)的何處。例如,考慮在入口環(huán)境下的表示街道地圖的微 件。來(lái)自該微件的事件可以包括由提供地圖微件的數(shù)據(jù)觸發(fā)的"CollisionEvent"。事件作 為屬性可以包括χ-y坐標(biāo),從而碰撞被鏈接到顯示的地圖上的實(shí)際位置。當(dāng)該事件發(fā)生,框 架可以例示注冊(cè)的新內(nèi)容元素,例如,添加提供"向該地點(diǎn)派遣緊急隊(duì)員"能力的微件。為 了最大的可用性,新微件以關(guān)聯(lián)于"CollisionEvent"中包括的事件坐標(biāo)的x-y位置被添加 到頁(yè)面上。另一個(gè)例子可以關(guān)于隨時(shí)更新的股價(jià)表。當(dāng)發(fā)生諸如股價(jià)急劇變化的事件時(shí), 可以在一個(gè)位置上添加"立即買(mǎi)/賣(mài)"微件,從而其明確指向?qū)⑵溆|發(fā)的表中的部分。對(duì)于 操作系統(tǒng),例如,應(yīng)用可以確定其應(yīng)在后臺(tái)中加載,或者帶有來(lái)自事件的參數(shù)而發(fā)起。
[0022] 在110,當(dāng)現(xiàn)有的內(nèi)容元素公布了符合過(guò)濾條件的注冊(cè)的事件時(shí),框架自動(dòng)建立匹 配內(nèi)容元素的新事例,并且適當(dāng)?shù)貙⑵渑渲玫娇蚣苤?。在本公開(kāi)的一個(gè)實(shí)施例中,如果存在 多個(gè)匹配,則可以將其全部添加到框架中。例如,如果多于一個(gè)內(nèi)容元素與公布的事件匹 配,則所有的匹配內(nèi)容元素可以在框架中例示并且執(zhí)行。
[0023] 執(zhí)行一個(gè)實(shí)施例中的本公開(kāi)的方法的一個(gè)例子的場(chǎng)景將參照?qǐng)D2在下面說(shuō)明。該 例子示出普通的地圖小容器的數(shù)據(jù)中心管理應(yīng)用。純粹普通的地圖小容器通過(guò)A產(chǎn)品顯示 地圖并且在其上放置來(lái)自可配置的數(shù)據(jù)庫(kù)的指示符從而進(jìn)行開(kāi)發(fā)。數(shù)據(jù)源在每次數(shù)據(jù)改變 時(shí)也可以提供"MapEvents"中將公布的事件數(shù)據(jù)。由產(chǎn)品B開(kāi)發(fā)的數(shù)據(jù)中心小容器可用, 其注冊(cè)為只要與MapEvent相關(guān)聯(lián)的事件發(fā)生則被發(fā)起,例如,與過(guò)濾器相關(guān)聯(lián),比如與指 不"type = ABCDataCenter" 以及"status = red" 的數(shù)據(jù)相關(guān)聯(lián)。
[0024] 框架202,例如,應(yīng)用Π 使用提供有關(guān)所有的ABC公司的數(shù)據(jù)中心的數(shù)據(jù)的數(shù)據(jù) 源,被構(gòu)筑為諸如在Π 頁(yè)面或屏幕208上帶有單一的地圖小容器204, Π 頁(yè)面或屏幕208 有效地形成背景??蚣?02和地圖小容器204在處理器上運(yùn)行。提供地圖小容器的數(shù)據(jù)觸 發(fā)具有 "type = ABCDataCenter" 以及 "status = red" 的 MapEvent。作為響應(yīng),框架 202 可以檢查例如存儲(chǔ)在存儲(chǔ)器中的內(nèi)容元素210的注冊(cè)部,并且確定被觸發(fā)的事件與由內(nèi)容 元素注冊(cè)的事件匹配,在本例中,內(nèi)容元素為數(shù)據(jù)中心小容器。
[0025] 框架202,在本例中為應(yīng)用UI,建立數(shù)據(jù)中心小容器206的事例并且將其添加到地 圖上方的頁(yè)面208中,并被放置,從而其直接"指向"事件坐標(biāo),其對(duì)于普通地圖小容器204 是不知道的,并且表示數(shù)據(jù)中心。數(shù)據(jù)中心小容器206現(xiàn)在被動(dòng)態(tài)地添加并且能夠在處理 器上執(zhí)行(運(yùn)轉(zhuǎn))。框架202將MpaEvent傳遞給新的事例或新發(fā)起的數(shù)據(jù)中心小容器206, 通知問(wèn)題的用戶(hù)并且允許補(bǔ)救。新事例的數(shù)據(jù)中心小容器206可以接收地圖事件的有效 負(fù)荷,或者在加載到UI頁(yè)面后的事件的轉(zhuǎn)換的形式。具有多個(gè)數(shù)據(jù)中心(其中服務(wù)器提供 服務(wù))的公司可以使用普通的地圖小容器或微件以及事件,從而對(duì)操作員展示其數(shù)據(jù)的狀 態(tài)。例如,如果散熱系統(tǒng)在一個(gè)地點(diǎn)失效,則可以觸發(fā)具有確定數(shù)據(jù)中心位置(x,y坐標(biāo)) 的有效負(fù)荷、問(wèn)題的嚴(yán)重性以及其他信息的MapEvent。界面然后可以對(duì)界面添加合適(注 冊(cè))的微件,從而操作員可以知道事件,或者根據(jù)事件而實(shí)際采取行動(dòng)。在散熱系統(tǒng)失效的 例子中,框架可以例示"維護(hù)傳喚"微件,從而允許操作員建立對(duì)工作的請(qǐng)求,對(duì)其分配優(yōu)先 級(jí)并且/或者執(zhí)行其他動(dòng)作。
[0026] 在通知后,用戶(hù)或他人可以在數(shù)據(jù)中心選定識(shí)別的警報(bào),并且進(jìn)行修改。補(bǔ)救在 數(shù)據(jù)源中進(jìn)行改變,觸發(fā)具有"type = IBMDataCenter"以及"status = green"的新的 MapEvent。數(shù)據(jù)中心小容器206(當(dāng)前存在于Π 頁(yè)面上)可以通過(guò)自動(dòng)將本身關(guān)閉或者提 供反饋或其他動(dòng)作,從而對(duì)"green"狀態(tài)事件進(jìn)行反饋。
[0027] 在上述例子中,動(dòng)態(tài)添加的內(nèi)容響應(yīng)于事件而被添加或調(diào)用,但是不必已經(jīng)被加 載并在監(jiān)聽(tīng)事件。起源小容器(例如,地圖小容器)完全是普通的,其不需要知道其正在被 用于監(jiān)視數(shù)據(jù)中心或者數(shù)據(jù)中心小容器可用來(lái)處理事件。相同的地圖小容器可以監(jiān)視對(duì)于 街道交通擁擠數(shù)據(jù)、足球分?jǐn)?shù)或者選舉結(jié)果的提供,或者甚至同時(shí)的多個(gè)類(lèi)型的提供,并且 發(fā)送相同類(lèi)型的普通的MapEvent。因此,地圖微件完全可以是普通的,并且不必特別按照可 能響應(yīng)的內(nèi)容元素的類(lèi)型進(jìn)行編碼。地圖微件可以發(fā)布事件中的任何類(lèi)型的有效負(fù)荷;本 公開(kāi)的注冊(cè)和過(guò)濾功能可以控制結(jié)果是何種類(lèi)型界面??蚣芡ㄟ^(guò)知曉對(duì)于不同的事件和有 效負(fù)荷可以添加什么內(nèi)容,從而構(gòu)筑專(zhuān)用的應(yīng)用UI。
[0028] 執(zhí)行一個(gè)實(shí)施例中的本公開(kāi)的方法的另一個(gè)例子的場(chǎng)景將參照?qǐng)D3在下面說(shuō)明。 該例子示出能夠根據(jù)事件而動(dòng)態(tài)地添加應(yīng)用或組件的操作系統(tǒng)框架。由公司A開(kāi)發(fā)的普通 的虛擬專(zhuān)用網(wǎng)絡(luò)(VPN)應(yīng)用被賣(mài)到很多公司。該應(yīng)用在VPN連接被建立、關(guān)閉以及意外終 止時(shí)發(fā)布VpnEvent。發(fā)布事件可以包括呼叫框架的API去確定正在發(fā)布事件。框架可以執(zhí) 行事件API來(lái)接收或捕獲這些事件并進(jìn)行處理。B公司購(gòu)買(mǎi)該普通的VPN應(yīng)用給自己的員 工使用。B公司也提供專(zhuān)用的桌面工具條應(yīng)用,該應(yīng)用只要用戶(hù)一連接到VPN就應(yīng)該運(yùn)行, 并且提供專(zhuān)用幫助臺(tái)應(yīng)用,該應(yīng)用只要VPN連接被意外終止就應(yīng)該自動(dòng)運(yùn)行。操作系統(tǒng)302 在處理器上運(yùn)行VPN應(yīng)用304。桌面工具條應(yīng)用306注冊(cè)來(lái)接收帶有"type = connected" 的VpnEvent。幫助臺(tái)應(yīng)用308注冊(cè)來(lái)接收帶有"type = terminated"的VpnEvent。由于 VPN應(yīng)用304發(fā)布事件,因此操作系統(tǒng)302自動(dòng)發(fā)起注冊(cè)的應(yīng)用,而不是例如要求這些應(yīng)用 一直運(yùn)行在后臺(tái)來(lái)獲得事件。例如,操作系統(tǒng)302可以檢查內(nèi)容元素310的注冊(cè)部,并且將 產(chǎn)生的事件與注冊(cè)部310中的事件匹配。當(dāng)找到匹配后,作為響應(yīng),操作系統(tǒng)302發(fā)起與注 冊(cè)部310中的事件相關(guān)聯(lián)的內(nèi)容元素。
[0029] 雖然上述例子示出與操作系統(tǒng)、應(yīng)用環(huán)境、網(wǎng)絡(luò)應(yīng)用以及小容器環(huán)境有關(guān)的本公 開(kāi)的方法,但應(yīng)該理解注冊(cè)、過(guò)濾、發(fā)起的系統(tǒng)也可以應(yīng)用于不同的環(huán)境。
[0030] 圖4是示出本公開(kāi)的一個(gè)實(shí)施例中的動(dòng)態(tài)聚合內(nèi)容的方法的流程圖。在402, 一個(gè) 或多個(gè)內(nèi)容元素可以注冊(cè)到框架中,例如,確定該一個(gè)或多個(gè)內(nèi)容元素可以響應(yīng)并處理的 一個(gè)或多個(gè)事件。該一個(gè)或多個(gè)事件可以用過(guò)濾條件確定,過(guò)濾條件表示該一個(gè)或多個(gè)內(nèi) 容元素響應(yīng)的事件的條件。注冊(cè)可以動(dòng)態(tài)地隨時(shí)進(jìn)行,例如,甚至在框架和其他一個(gè)或多個(gè) 內(nèi)容元素運(yùn)行時(shí)。注冊(cè)的內(nèi)容元素可以是來(lái)自框架或可以在框架中運(yùn)行的其他一個(gè)或多個(gè) 內(nèi)容元素的獨(dú)立的組件。
[0031] 在404,內(nèi)容元素(例如,作為第一內(nèi)容元素提及)在框架內(nèi)執(zhí)行。該第一內(nèi)容元 素不必知道或者不必以前知道注冊(cè)的一個(gè)或多個(gè)內(nèi)容元素。第一內(nèi)容元素在其執(zhí)行過(guò)程中 可以發(fā)布一個(gè)或多個(gè)事件。
[0032] 在406,響應(yīng)于從框架中執(zhí)行的第一內(nèi)容元素檢測(cè)到發(fā)布的事件,框架可以搜索與 發(fā)布的事件匹配的一個(gè)或多個(gè)注冊(cè)的事件的注冊(cè)部。在408,如果發(fā)現(xiàn)匹配的注冊(cè)的事件, 則框架可以例示注冊(cè)了該匹配的注冊(cè)的事件的第二內(nèi)容元素,以在框架中開(kāi)始執(zhí)行。發(fā)布 的事件和有效負(fù)荷可以傳遞給第二內(nèi)容元素,從而,例如該第二內(nèi)容元素可以在框架中執(zhí) 行其給定的功能。該注冊(cè)部也可以包括第二內(nèi)容元素應(yīng)該如何在框架中發(fā)起的信息,例如, 框架是Π 的情況下的Π 的物理位置、呈現(xiàn)條件及其他。而且,在穿釘發(fā)布的事件和其他任 何信息之前,發(fā)布的事件和其他任何信息可以從例如由第一內(nèi)容元素發(fā)布的形式被轉(zhuǎn)換成 能夠被第二內(nèi)容元素理解的不同形式或格式。第二內(nèi)容元素因此根據(jù)公布的事件而動(dòng)態(tài)地 被聚合到框架中,而不需要第一內(nèi)容元素以前知道第二內(nèi)容元素。此外,第二內(nèi)容元素不必 以前知道第一內(nèi)容元素。該框架也不必初始被設(shè)計(jì)用來(lái)配置第二內(nèi)容元素。第二內(nèi)容元素 也可以在檢測(cè)到其他公布的事件時(shí)自動(dòng)地終止自身。
[0033] 圖5是示出可以執(zhí)行一個(gè)實(shí)施例中的本公開(kāi)的動(dòng)態(tài)內(nèi)容聚合的計(jì)算機(jī)或處理系 統(tǒng)的例子的示意圖。計(jì)算機(jī)系統(tǒng)僅僅是合適的處理系統(tǒng)的例子,并且不是用來(lái)暗示對(duì)于在 此說(shuō)明的方法的實(shí)施例的使用和功能的范圍加以限制。所示的處理系統(tǒng)可以在其他一般目 的或特別目的計(jì)算系統(tǒng)環(huán)境或結(jié)構(gòu)下操作。已知的可以適于在圖5所示的處理系統(tǒng)中使用 的計(jì)算系統(tǒng)、環(huán)境和/或結(jié)構(gòu)可以包括但不限于個(gè)人計(jì)算機(jī)系統(tǒng)、服務(wù)器計(jì)算機(jī)系統(tǒng)、瘦客 戶(hù)機(jī)、胖客戶(hù)機(jī)、手持或膝上裝置、多處理器系統(tǒng)、基于微處理器的系統(tǒng)、機(jī)頂盒、可編程消 費(fèi)電子、網(wǎng)絡(luò)PC、迷你計(jì)算機(jī)系統(tǒng)、大型計(jì)算機(jī)系統(tǒng)以及分布云計(jì)算環(huán)境,包括上述系統(tǒng)和 裝置的任意及其他。
[0034] 計(jì)算機(jī)系統(tǒng)可以描述為計(jì)算機(jī)系統(tǒng)可執(zhí)行指令的一般上下文,例如,由計(jì)算機(jī)系 統(tǒng)執(zhí)行的程序模塊。一般來(lái)說(shuō),程序模塊可以包括例行程序、程序、目標(biāo)、組件、邏輯、數(shù)據(jù)結(jié) 構(gòu)等等,其執(zhí)行特定任務(wù)或執(zhí)行特定抽象數(shù)據(jù)類(lèi)型。計(jì)算機(jī)系統(tǒng)可以在分布云計(jì)算環(huán)境中 實(shí)現(xiàn),其中,任務(wù)由通過(guò)通信網(wǎng)絡(luò)鏈接的遠(yuǎn)程處理裝置執(zhí)行。在分布云計(jì)算系統(tǒng)中,程序模 塊可以位于本地或包括存儲(chǔ)器存儲(chǔ)裝置的遠(yuǎn)程計(jì)算機(jī)系統(tǒng)存儲(chǔ)介質(zhì)中。
[0035] 計(jì)算機(jī)系統(tǒng)的組件可以包括但不限于:一個(gè)或多個(gè)處理器或處理單元12、系統(tǒng)存 儲(chǔ)器16以及將包括系統(tǒng)存儲(chǔ)器16至處理器12的各種系統(tǒng)組件耦合的總線14。處理器12 可以包括動(dòng)態(tài)內(nèi)容聚合模塊10,用于執(zhí)行在此說(shuō)明的方法。模塊10可以被編程到處理器 12的集成電路中,或者從存儲(chǔ)器16、存儲(chǔ)裝置18或網(wǎng)絡(luò)24或者它們的組合進(jìn)行加載。
[0036] 總線14可以呈現(xiàn)一個(gè)或多個(gè)任何的多個(gè)類(lèi)型的總線結(jié)構(gòu),包括存儲(chǔ)器總線或存 儲(chǔ)器控制器、外圍總線、加速圖形端口、以及使用多個(gè)總線結(jié)構(gòu)的處理器或局域總線。通過(guò) 例示而非限制的方式,這樣的結(jié)構(gòu)包括工業(yè)標(biāo)準(zhǔn)結(jié)構(gòu)(ISA)總線、微通道結(jié)構(gòu)(MCA)總線、 增強(qiáng)ISA (EISA)總線、視頻電子標(biāo)準(zhǔn)協(xié)會(huì)(VESA)局域總線以及外圍組件互聯(lián)(PCI)總線。
[0037] 計(jì)算機(jī)系統(tǒng)可以包括多種計(jì)算機(jī)系統(tǒng)可讀取介質(zhì)。該介質(zhì)可以是任何可被計(jì)算機(jī) 系統(tǒng)存取的可獲取的介質(zhì),并且可以包括易失性和非易失性介質(zhì)、可移動(dòng)和不可移動(dòng)介質(zhì)。
[0038] 系統(tǒng)存儲(chǔ)器16可以包括易失性形式的計(jì)算機(jī)可讀取的介質(zhì),例如,隨機(jī)存取存儲(chǔ) 器(RAM)和/或緩存存儲(chǔ)器或其他。計(jì)算機(jī)系統(tǒng)還可以包括其他可移動(dòng)/不可移動(dòng)、易失 性/非易失性計(jì)算機(jī)系統(tǒng)存儲(chǔ)介質(zhì)。通過(guò)例示的方式,存儲(chǔ)系統(tǒng)18可以被提供用于從不可 移動(dòng)、非易失性磁介質(zhì)(例如,硬盤(pán))中進(jìn)行讀取,或者對(duì)其寫(xiě)入。雖然沒(méi)有圖示,但是可以 提供用于從可移動(dòng)、非易失性磁盤(pán)(例如,"軟盤(pán)")中讀取或?qū)ζ鋵?xiě)入的磁盤(pán)驅(qū)動(dòng)器,以及 用于從可移動(dòng)、非易失性光盤(pán),諸如CD-ROM、DVD-ROM或其他光介質(zhì)中讀取或?qū)ζ鋵?xiě)入的光 盤(pán)驅(qū)動(dòng)器。在這些情況下,各驅(qū)動(dòng)器都可以通過(guò)一個(gè)或多個(gè)數(shù)據(jù)介質(zhì)接口而連接到總線14。
[0039] 計(jì)算機(jī)系統(tǒng)也可以與一個(gè)或多個(gè)外部裝置26通信,例如:鍵盤(pán)、指示裝置、顯示器 28等;使用戶(hù)與計(jì)算機(jī)系統(tǒng)交互的一個(gè)或多個(gè)裝置;和/或使計(jì)算機(jī)系統(tǒng)與一個(gè)或多個(gè)其 他計(jì)算機(jī)裝置交互的任何裝置(例如,網(wǎng)卡、調(diào)制解調(diào)器等)。該通信通過(guò)輸入/輸出(1/ 〇)接口 20發(fā)生。
[0040] 此外,計(jì)算機(jī)系統(tǒng)可以通過(guò)網(wǎng)絡(luò)適配器22與一個(gè)或多個(gè)網(wǎng)絡(luò)24通信,例如:局域 網(wǎng)(LAN)、一般廣域網(wǎng)(WAN)、和/或公共網(wǎng)絡(luò)(例如,因特網(wǎng))。如上所述,網(wǎng)絡(luò)適配器22 通過(guò)總線14與計(jì)算機(jī)系統(tǒng)的其他組件通信。應(yīng)該理解的是,雖然沒(méi)有圖示,但是其他硬件 和/或軟件組件可以與計(jì)算機(jī)系統(tǒng)聯(lián)合使用。包括但不限于以下例子:微碼、裝置驅(qū)動(dòng)器、 冗余處理單元、外部盤(pán)驅(qū)動(dòng)器陣列、RAID系統(tǒng)、磁帶驅(qū)動(dòng)器、以及數(shù)據(jù)檔案存儲(chǔ)系統(tǒng)等。
[0041] 本領(lǐng)域技術(shù)人員會(huì)注意到,本發(fā)明的方面可以包括系統(tǒng)、方法或計(jì)算機(jī)程序產(chǎn)品。 從而,本發(fā)明的方面可以采取完全硬件實(shí)施例、完全軟件實(shí)施例(包括固件、常駐軟件、微 碼等)或組合軟件和硬件方面的實(shí)施例的形式,其在此一般被稱(chēng)作"電路"、"模塊"或"系 統(tǒng)"。此外,本發(fā)明的方面可以采用其中具有計(jì)算機(jī)可讀取程序代碼的一個(gè)或多個(gè)計(jì)算機(jī)可 讀取介質(zhì)中包括的計(jì)算機(jī)程序產(chǎn)品的形式。
[0042] 可以使用一個(gè)或多個(gè)計(jì)算機(jī)可讀取介質(zhì)的任意組合。計(jì)算機(jī)可讀取介質(zhì)可以是計(jì) 算機(jī)可讀取信號(hào)介質(zhì)或計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)。計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)例如可以是但不限 于電子、磁、光、電磁、紅外線或半導(dǎo)體系統(tǒng)、設(shè)備或裝置,或者上述的任意合適的組合。計(jì)算 機(jī)可讀取存儲(chǔ)介質(zhì)的更明確的例子(不徹底的列表)可以包括:具有一個(gè)或多個(gè)導(dǎo)線的電 連接、便攜計(jì)算機(jī)磁盤(pán)、硬盤(pán)、隨機(jī)存取存儲(chǔ)器(RAM)、只讀存儲(chǔ)器(ROM)、可擦寫(xiě)可編程只 讀存儲(chǔ)器(EPROM或閃存)、光線、便攜壓縮盤(pán)只讀存儲(chǔ)器(CD-ROM)、光存儲(chǔ)裝置、磁存儲(chǔ)裝 置或上述的任意合適的組合。在本文件的上下文中,計(jì)算機(jī)刻度存儲(chǔ)介質(zhì)可以是任何有形 介質(zhì),其可以包含或存儲(chǔ)由指令執(zhí)行系統(tǒng)、設(shè)備或裝置使用或與其聯(lián)合使用的程序。
[0043] 計(jì)算機(jī)可讀取信號(hào)介質(zhì)可以包括其中具有計(jì)算機(jī)可讀取程序代碼的在幾代或作 為載波的一部分傳播的數(shù)據(jù)信號(hào)。該傳播的信號(hào)可以采取多種形式的任何一種,包括但不 限于:電磁、光或其任何合適的組合。計(jì)算機(jī)可讀取信號(hào)介質(zhì)可以是任何計(jì)算機(jī)可讀取介 質(zhì),其并非計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì),并且可以通信、傳播或傳送由指令執(zhí)行系統(tǒng)、設(shè)備或裝 置使用或與其聯(lián)合使用的程序。
[0044] 計(jì)算機(jī)可讀取介質(zhì)上包括的程序代碼可以使用任何合適的介質(zhì)傳送,包括但不限 于無(wú)線、有線、光線纜線、RF等,或上述任何合適的組合。
[0045] 用于執(zhí)行本發(fā)明的各個(gè)方面的操作的計(jì)算機(jī)程序代碼可以通過(guò)一個(gè)或多個(gè)編程 語(yǔ)言的任意組合編寫(xiě),包括諸如Java、Smalltalk、C++等目標(biāo)導(dǎo)向編程語(yǔ)言,諸如"C"編程 語(yǔ)言或相似編程語(yǔ)言的傳統(tǒng)程序化編程語(yǔ)言,諸如Perl、VBS或相似語(yǔ)言的腳本語(yǔ)言,以及 /或者諸如Lisp和ML以及Prolog等邏輯導(dǎo)向語(yǔ)言的功能語(yǔ)言。程序代碼可以完全在用戶(hù) 的計(jì)算機(jī)上執(zhí)行,部分在用戶(hù)的計(jì)算機(jī)上執(zhí)行,作為獨(dú)立軟件包部分在用戶(hù)計(jì)算機(jī)上執(zhí)行, 以及部分在遠(yuǎn)程計(jì)算機(jī)或全部在遠(yuǎn)程計(jì)算機(jī)或服務(wù)器上執(zhí)行。在后者的場(chǎng)景下,遠(yuǎn)程計(jì)算 機(jī)可以通過(guò)任何類(lèi)型的網(wǎng)絡(luò)連接到用戶(hù)的計(jì)算機(jī),包括局域網(wǎng)(LAN)或廣域網(wǎng)(WAN),或者 可以連接到外部計(jì)算機(jī)(例如,通過(guò)使用因特網(wǎng)服務(wù)提供商的因特網(wǎng))。
[0046] 本發(fā)明的各方面參照本發(fā)明的實(shí)施例的方法、設(shè)備(系統(tǒng))以及計(jì)算機(jī)程序產(chǎn)品 的流程圖說(shuō)明和/或方框圖進(jìn)行了說(shuō)明。應(yīng)該理解的是,流程圖說(shuō)明和/或方框圖的各個(gè) 方框以及流程圖說(shuō)明和/或方框圖的方框的組合可以通過(guò)計(jì)算機(jī)程序指令實(shí)施。這些計(jì)算 機(jī)程序指令可以被提供給普通目的計(jì)算機(jī)、專(zhuān)用目的計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的 處理器以生產(chǎn)機(jī)器,從而通過(guò)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備執(zhí)行的指令產(chǎn)生用于執(zhí)行 由流程圖和/或方框圖的方框確定的功能/動(dòng)作。
[0047] 這些計(jì)算機(jī)程序指令也可以存儲(chǔ)在計(jì)算機(jī)可讀取的介質(zhì)中,從而能夠指導(dǎo)計(jì)算 機(jī)、其他可編程數(shù)據(jù)處理設(shè)備或其他設(shè)備以特殊方式運(yùn)行,從而存儲(chǔ)在計(jì)算機(jī)可讀取的介 質(zhì)中的指令產(chǎn)生制造的物品,包括執(zhí)行由流程圖和/或方框圖的方框確定的功能/動(dòng)作的 指令。
[0048] 計(jì)算機(jī)程序指令也可以被加載到計(jì)算機(jī)、其他可編程數(shù)據(jù)處理設(shè)備或其他裝置 上,從而使得一系列可操作的步驟在計(jì)算機(jī)、其他可編程數(shù)據(jù)處理設(shè)備或其他裝置上執(zhí)行, 從而產(chǎn)生計(jì)算機(jī)執(zhí)行的處理,使得在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行的指令提供用于執(zhí)行 由流程圖和/或方框圖的方框確定的功能/動(dòng)作的指令。
[0049] 圖中的流程圖和方框圖說(shuō)明了本發(fā)明的各種實(shí)施例的系統(tǒng)、方法和計(jì)算機(jī)程序產(chǎn) 品的可能的實(shí)施的結(jié)構(gòu)、功能和操作。在這一點(diǎn)上,流程圖或方框圖中的每個(gè)方框可以代表 代碼的模塊、片段或部分,其包括用于執(zhí)行特定邏輯功能的一個(gè)或多個(gè)可執(zhí)行的指令。也應(yīng) 該注意到,在一些其他的實(shí)施中,在方框中記載的功能可能不是按照?qǐng)D中記載的順序發(fā)生。 例如,根據(jù)所涉及的功能,連續(xù)表示的兩個(gè)方框?qū)嶋H上可以實(shí)質(zhì)上同時(shí)執(zhí)行,或者這些方框 有時(shí)可以按照相反順序執(zhí)行。也應(yīng)注意到,方框圖和/或流程圖說(shuō)明中的各個(gè)方框以及方 框圖和/或流程圖說(shuō)明中的方框的組合可以由專(zhuān)用目的基于硬件的系統(tǒng)執(zhí)行,該系統(tǒng)執(zhí)行 確定的功能或動(dòng)作,或者專(zhuān)用目的硬件和計(jì)算機(jī)指令的組合。
[0050] 計(jì)算機(jī)程序產(chǎn)品可以包括能夠?qū)嵤┰诖苏f(shuō)明的方法的各個(gè)特征的全部,并且在加 載到計(jì)算機(jī)系統(tǒng)時(shí)能夠執(zhí)行該方法。該上下文中的計(jì)算機(jī)程序、軟件程序、程序或軟件表 示用來(lái)使具有信息處理能力的計(jì)算機(jī)系統(tǒng)要么直接執(zhí)行特定功能,或者在下面的一個(gè)或兩 者之后執(zhí)行的一組指令的以任何語(yǔ)言、代碼或符號(hào)的表達(dá):(a)轉(zhuǎn)換為另一語(yǔ)言、代碼或符 號(hào);和/或(b)以不同的實(shí)質(zhì)性的形式再現(xiàn)。
[0051] 在此使用的術(shù)語(yǔ)僅僅用于描述特定實(shí)施例的目的,并不是用來(lái)限制本發(fā)明。如在 此使用的單數(shù)形式"一"、"一個(gè)"和"該"也意圖包括復(fù)數(shù)形式,除非上下文明確地做出其他 表示。應(yīng)進(jìn)一步理解的是,"包括"和/或"包括著"的術(shù)語(yǔ)在用于本說(shuō)明書(shū)時(shí)用于確定所述 特征、整數(shù)、步驟、操作、元素和/或組件的存在,但是不排除對(duì)于一個(gè)或多個(gè)其他特征、整 數(shù)、步驟、操作、元素和/或組件的存在或增加。
[0052] 在權(quán)利要求中的對(duì)應(yīng)的結(jié)構(gòu)、材料、動(dòng)作以及所有裝置或步驟加功能元素的等同 (如果存在)意圖包括用于與特別要求保護(hù)的其他要求保護(hù)的元素聯(lián)合執(zhí)行功能的任何結(jié) 構(gòu)、材料或動(dòng)作。對(duì)于本發(fā)明的描述已經(jīng)為了描述和說(shuō)明的目的而被呈現(xiàn),但是并不意圖成 為窮盡,或者將本發(fā)明限制在所公開(kāi)的形式中。對(duì)于本領(lǐng)域技術(shù)人員來(lái)說(shuō),在不脫離本發(fā)明 的范圍和精神的前提下進(jìn)行很多的修改和變化是很明顯的。實(shí)施例是為了更好地屆時(shí)本發(fā) 明和實(shí)際應(yīng)用的原理而被選擇并描述的,并且為了是本領(lǐng)域其他技術(shù)人員理解本發(fā)明的適 于所設(shè)想的特定用途的帶有各種修改的各種實(shí)施例。
[0053] 本公開(kāi)的各個(gè)方面可以具體化為包含于計(jì)算機(jī)或機(jī)器可使用或可讀取介質(zhì)中的 程序、軟件或計(jì)算機(jī)指令,其在被計(jì)算機(jī)、處理器和/或機(jī)器中執(zhí)行時(shí),使得計(jì)算機(jī)或機(jī)器 執(zhí)行方法的步驟。也提供一種機(jī)器可讀取的程序存儲(chǔ)裝置有形地具體化為可由機(jī)器執(zhí)行從 而執(zhí)行本公開(kāi)中說(shuō)明的各種功能和方法指令的程序。
[0054] 本公開(kāi)的系統(tǒng)和方法可以在普通用途計(jì)算機(jī)或?qū)iT(mén)用途計(jì)算機(jī)系統(tǒng)中執(zhí)行和運(yùn) 行??赡茉诒旧暾?qǐng)中使用的術(shù)語(yǔ)"計(jì)算機(jī)系統(tǒng)"和"計(jì)算機(jī)網(wǎng)絡(luò)"可以包括固定和/或便攜 計(jì)算機(jī)硬件、軟件、外設(shè)和存儲(chǔ)裝置的各種組合。計(jì)算機(jī)系統(tǒng)可以包括聯(lián)網(wǎng)或被鏈接以協(xié)作 執(zhí)行的多個(gè)單獨(dú)的組件,或者可以包括一個(gè)或多個(gè)獨(dú)立組件。本申請(qǐng)的計(jì)算機(jī)系統(tǒng)的硬件 和軟件組件可以包括并且可以包括于固定和便攜裝置中,例如桌面、膝上和/或服務(wù)器。模 塊可以是執(zhí)行某"功能"的裝置、軟件、程序或系統(tǒng)的組件,其可以具體是軟件、硬件、固件、 電子電路等。
[0055] 上面描述的實(shí)施例是例示的例子,并且不應(yīng)解釋為本發(fā)明被限制于這些特定實(shí)施 例中。因此,本領(lǐng)域技術(shù)人員在不脫離如權(quán)利要求所限定的本發(fā)明的范圍和精神的前提下 可以實(shí)現(xiàn)各種改變和修改。
【權(quán)利要求】
1. 一種通過(guò)具有非例示內(nèi)容的智能事件動(dòng)態(tài)地聚合內(nèi)容的方法,包括: 在處理器上,在第一框架內(nèi)執(zhí)行第一內(nèi)容元素;以及 響應(yīng)于從在所述框架內(nèi)執(zhí)行的所述第一內(nèi)容元素檢測(cè)到發(fā)布的事件,搜索與所述公布 的事件匹配的一個(gè)或多個(gè)注冊(cè)的事件的注冊(cè)部,并且如果找到匹配的注冊(cè)的事件,則例示 注冊(cè)了所述匹配的注冊(cè)的事件的第二內(nèi)容元素,從而開(kāi)始在所述框架中的執(zhí)行, 其中,所述第二內(nèi)容元素根據(jù)所述公布的事件而動(dòng)態(tài)地被聚合到所述框架中,而所述 第一內(nèi)容元素不必預(yù)先知道所述第二內(nèi)容元素,并且所述第二內(nèi)容元素不必預(yù)先知道所述 第一內(nèi)容元素,并且其中,所述框架也不必被初始設(shè)計(jì)為部署所述第二內(nèi)容元素。
2. 如權(quán)利要求1所述的方法,還包括使一個(gè)或多個(gè)內(nèi)容元素能夠通過(guò)指明所述一個(gè)或 多個(gè)內(nèi)容元素響應(yīng)的一個(gè)或多個(gè)事件而動(dòng)態(tài)地注冊(cè)到所述框架。
3. 如權(quán)利要求2所述的方法,其中,所述一個(gè)或多個(gè)內(nèi)容元素還指明用于響應(yīng)所述一 個(gè)或多個(gè)事件的過(guò)濾條件。
4. 如權(quán)利要求1所述的方法,其中,所述例示步驟還包括將所述公布的事件傳遞給所 例示的第二內(nèi)容元素。
5. 如權(quán)利要求4所述的方法,其中,所述例示步驟還包括將與所述公布的事件相關(guān)聯(lián) 的有效負(fù)荷傳遞給所例示的第二內(nèi)容元素。
6. 如權(quán)利要求5所述的方法,其中,所述有效負(fù)荷包括關(guān)于所述第二內(nèi)容元素應(yīng)該如 何安裝到所述框架中的信息。
7. 如權(quán)利要求4所述的方法,其中,所述公布的事件在傳遞給所述第二內(nèi)容元素之前 被轉(zhuǎn)換。
8. 如權(quán)利要求1所述的方法,其中,響應(yīng)于接收到第二公布的事件,所例示的第二內(nèi)容 元素自動(dòng)將自己終止。
9. 如權(quán)利要求1所述的方法,其中,所述框架在運(yùn)行時(shí)期而非設(shè)計(jì)時(shí)期決定哪個(gè)或哪 些內(nèi)容元素聚合到所述框架中。
10. 如權(quán)利要求1所述的方法,其中,所述框架包括操作系統(tǒng)、網(wǎng)絡(luò)應(yīng)用、或用戶(hù)界面應(yīng) 用或其組合。
11. 如權(quán)利要求1所述的方法,其中,所述第一內(nèi)容元素包括微件、小容器、應(yīng)用或其組 合。
12. 如權(quán)利要求1所述的方法,其中,所述第二內(nèi)容元素包括微件、小容器、應(yīng)用或其組 合。
13. -種通過(guò)具有非例示內(nèi)容的智能事件動(dòng)態(tài)地聚合內(nèi)容的系統(tǒng),包括: 處理器; 框架環(huán)境,可操作而在所述處理器上執(zhí)行; 第一內(nèi)容元素,可操作而在所述框架環(huán)境中執(zhí)行;以及 注冊(cè)部,包括一個(gè)或多個(gè)注冊(cè)的事件,以及相關(guān)聯(lián)的一個(gè)或多個(gè)第二內(nèi)容元素,其動(dòng)態(tài) 地注冊(cè)了所述一個(gè)或多個(gè)注冊(cè)的事件; 響應(yīng)于在運(yùn)行時(shí)間從所述第一內(nèi)容元素檢測(cè)到發(fā)布的事件,所述框架還可操作來(lái)搜索 與所述公布的事件匹配的注冊(cè)的事件的注冊(cè)部,并且如果找到匹配的注冊(cè)的事件,則例示 注冊(cè)了所述匹配的注冊(cè)的事件的第二內(nèi)容元素,從而在所述框架中開(kāi)始執(zhí)行, 其中,所述第二內(nèi)容元素根據(jù)所述公布的事件而動(dòng)態(tài)地被聚合到所述框架中,而所述 第一內(nèi)容元素不必預(yù)先知道所述第二內(nèi)容元素,并且所述第二內(nèi)容元素不必預(yù)先知道所述 第一內(nèi)容元素,并且其中,所述框架也不必被初始設(shè)計(jì)為部署所述第二內(nèi)容元素。
14. 如權(quán)利要求13所述的系統(tǒng),其中一個(gè)或多個(gè)內(nèi)容元素能夠通過(guò)指明所述一個(gè)或多 個(gè)內(nèi)容元素響應(yīng)的一個(gè)或多個(gè)事件而動(dòng)態(tài)地注冊(cè)到所述框架。
15. 如權(quán)利要求13所述的系統(tǒng),其中,所述一個(gè)或多個(gè)內(nèi)容元素還指明用于響應(yīng)所述 一個(gè)或多個(gè)事件的過(guò)濾條件。
16. 如權(quán)利要求13所述的系統(tǒng),其中,所述框架將所述公布的事件與有效負(fù)荷一起傳 遞給所述例示的第二內(nèi)容元素,所述有效負(fù)荷包括關(guān)于所述第二內(nèi)容元素應(yīng)該如何安裝到 所述框架中的信息。
17. 如權(quán)利要求16所述的系統(tǒng),其中,所述公布的事件在傳遞給所述第二內(nèi)容元素之 前被轉(zhuǎn)換。
18. -種計(jì)算機(jī)可讀取的存儲(chǔ)介質(zhì),存儲(chǔ)指令的程序,該指令可由機(jī)器執(zhí)行來(lái)執(zhí)行通過(guò) 具有非例示內(nèi)容的智能事件動(dòng)態(tài)地聚合內(nèi)容的方法,包括: 在處理器上,在第一框架內(nèi)執(zhí)行第一內(nèi)容元素;以及 響應(yīng)于從在所述框架內(nèi)執(zhí)行的所述第一內(nèi)容元素檢測(cè)到發(fā)布的事件,搜索與所述公布 的事件匹配的一個(gè)或多個(gè)注冊(cè)的事件的注冊(cè)部,并且如果找到匹配的注冊(cè)的事件,則例示 注冊(cè)了所述匹配的注冊(cè)的事件的第二內(nèi)容元素,從而開(kāi)始在所述框架中的執(zhí)行, 其中,所述第二內(nèi)容元素根據(jù)所述公布的事件而動(dòng)態(tài)地被聚合到所述框架中,而所述 第一內(nèi)容元素不必預(yù)先知道所述第二內(nèi)容元素,并且所述第二內(nèi)容元素不必預(yù)先知道所述 第一內(nèi)容元素,并且其中,所述框架也不必被初始設(shè)計(jì)為部署所述第二內(nèi)容元素,其中,在 運(yùn)行時(shí)期而非設(shè)計(jì)時(shí)期決定將哪個(gè)或哪些內(nèi)容元素聚合到所述框架中。
19. 如權(quán)利要求18所述的計(jì)算機(jī)可讀取的存儲(chǔ)介質(zhì),還包括使一個(gè)或多個(gè)內(nèi)容元素能 夠通過(guò)指明所述一個(gè)或多個(gè)內(nèi)容元素響應(yīng)的一個(gè)或多個(gè)事件而動(dòng)態(tài)地注冊(cè)到所述框架。
20. 如權(quán)利要求19所述的計(jì)算機(jī)可讀取的存儲(chǔ)介質(zhì),其中,所述一個(gè)或多個(gè)內(nèi)容元素 還指明用于響應(yīng)所述一個(gè)或多個(gè)事件的過(guò)濾條件。
21. 如權(quán)利要求18所述的計(jì)算機(jī)可讀取的存儲(chǔ)介質(zhì),其中,所述例示步驟還包括將所 述公布的事件傳遞給所例示的第二內(nèi)容元素。
22. 如權(quán)利要求21所述的計(jì)算機(jī)可讀取的存儲(chǔ)介質(zhì),其中,所述例示步驟還包括將與 所述公布的事件相關(guān)聯(lián)的有效負(fù)荷傳遞給所例示的第二內(nèi)容元素。
23. 如權(quán)利要求22所述的計(jì)算機(jī)可讀取的存儲(chǔ)介質(zhì)其中,所述有效負(fù)荷包括關(guān)于所述 第二內(nèi)容元素應(yīng)該如何安裝到所述框架中的信息。
24. 如權(quán)利要求21所述的計(jì)算機(jī)可讀取的存儲(chǔ)介質(zhì),其中,所述公布的事件在傳遞給 所述第二內(nèi)容元素之前被轉(zhuǎn)換。
25. 如權(quán)利要求18所述的計(jì)算機(jī)可讀取的存儲(chǔ)介質(zhì),其中,響應(yīng)于接收到第二公布的 事件,所例示的第二內(nèi)容元素自動(dòng)將自己終止。
【文檔編號(hào)】G06F17/00GK104160389SQ201380012934
【公開(kāi)日】2014年11月19日 申請(qǐng)日期:2013年3月5日 優(yōu)先權(quán)日:2012年3月5日
【發(fā)明者】J.S.艾倫, P.L.H.卡羅爾, S.喬德哈里, R.A.金, V.潘迪亞拉詹, S.斯里瓦斯塔瓦 申請(qǐng)人:國(guó)際商業(yè)機(jī)器公司