專利名稱:分布式計(jì)算服務(wù)平臺(tái)的制作方法
背景技術(shù):
1.發(fā)明領(lǐng)域本發(fā)明涉及通信領(lǐng)域。更具體地,本發(fā)明描述分布式計(jì)算服務(wù)平臺(tái),以便于改善通信和通過計(jì)算機(jī)網(wǎng)絡(luò)(如因特網(wǎng))進(jìn)行協(xié)作。
2.技術(shù)的現(xiàn)有狀態(tài)因特網(wǎng)革命性的改變了人們通信的方式并迎來了人類歷史中常稱為“信息時(shí)代”的新紀(jì)元。本質(zhì)上,因特網(wǎng)包括大量星羅棋布的用網(wǎng)絡(luò)連接的計(jì)算機(jī),它們散布的世界的大部分地區(qū)。從終端用戶的觀點(diǎn)看,完善的計(jì)算機(jī),軟件和網(wǎng)絡(luò)技術(shù)已使得因特網(wǎng)的通信直截了當(dāng)。
例如,用戶能使用隨手可得的電子郵件軟件編著電子郵件或“e-mail”消息。在指定接收者的地址以后,用戶可以如借助使用鼠標(biāo)激活在計(jì)算機(jī)顯示器上的“發(fā)送-send”圖表簡(jiǎn)單地發(fā)送該消息。該消息隨后經(jīng)過因特網(wǎng)從一個(gè)計(jì)算機(jī)系統(tǒng)路由到下一個(gè)直到消息到達(dá)目標(biāo)計(jì)算設(shè)備。
此外,傳統(tǒng)的瀏覽器軟件使用戶能從遠(yuǎn)程計(jì)算機(jī)請(qǐng)求如網(wǎng)頁(yè)那樣的信息。在用戶輸入網(wǎng)頁(yè)地址后,瀏覽器隨后使用戶的計(jì)算機(jī)能使用廣泛認(rèn)可的通信協(xié)議,如超文本傳輸協(xié)議(HTTP),發(fā)送該請(qǐng)求。該請(qǐng)求隨后用目標(biāo)地址被路由至目標(biāo)計(jì)算機(jī)或網(wǎng)址。
遠(yuǎn)程網(wǎng)站評(píng)估該請(qǐng)求,并返回常包括所請(qǐng)求的信息的恰當(dāng)?shù)捻憫?yīng)。所請(qǐng)求的網(wǎng)頁(yè)以如超文本標(biāo)記語(yǔ)言(“HTML”)那樣的格式返回,此格式可由網(wǎng)絡(luò)瀏覽器分析。然后,經(jīng)分析的網(wǎng)頁(yè)在計(jì)算機(jī)顯示器上表示及提供給用戶。
網(wǎng)絡(luò)瀏覽器軟件可用于多種廣泛可得到計(jì)算機(jī),包括通用個(gè)人計(jì)算機(jī)(PC),電視機(jī)頂盒,個(gè)人數(shù)字助理,移動(dòng)電話等。此外,有數(shù)以萬(wàn)計(jì)的網(wǎng)站公開地為訪問那樣傳統(tǒng)的瀏覽器軟件和因特網(wǎng)連接的任何人。這些因素結(jié)束起來,使得更多人比以前任何時(shí)候更多地訪問更豐富的信息。
總之,因特網(wǎng)為大量用戶提供簡(jiǎn)單的全球連結(jié)。雖然因特網(wǎng)的使用在訪問信息方面對(duì)業(yè)務(wù)和個(gè)人提供許多相同的好處,因特網(wǎng)應(yīng)能以更靈活的方式更有效地用于訪問和使用信息。例如,因特網(wǎng)的一個(gè)主流(dominant)使用通常以“只讀”為特征。在發(fā)布者建立和發(fā)布網(wǎng)頁(yè)以后,因特網(wǎng)本質(zhì)上作為表示工具服務(wù),它允許用戶閱讀網(wǎng)頁(yè)上信息。因特網(wǎng)本身很少提供或不提供讓用戶寫,編輯,或與網(wǎng)頁(yè)互動(dòng)的能力。
而且,雖然因特網(wǎng)允許個(gè)人直接訪問數(shù)百萬(wàn)個(gè)網(wǎng)站,若有的話只有少量標(biāo)準(zhǔn)允許網(wǎng)站互相通信或共享信息。每個(gè)網(wǎng)站通常得維持不同的ID,偏愛,數(shù)據(jù)格式和方案,連接性等。為此,為了使得能在兩個(gè)網(wǎng)站之間互動(dòng)而不管無數(shù)的其他網(wǎng)站,要占用大量時(shí)間和開銷。因此,網(wǎng)站通常不收集由其他網(wǎng)站在因特網(wǎng)上提供的大量和豐富的信息。相反,許多網(wǎng)站只好獨(dú)立地收集和編輯信息成某種靜態(tài)的格式,即使它們已經(jīng)從不同的網(wǎng)站可以得到。因此,雖然通過因特網(wǎng)在大量網(wǎng)站和計(jì)算機(jī)之間有廣泛分布的連結(jié),但在自動(dòng)交互地利用那樣連結(jié)方面作得很少,且能夠得到的革命性進(jìn)展還遠(yuǎn)未能實(shí)現(xiàn)。
因特網(wǎng)的有效性及靈活性也由于限制用戶訪問信息及服務(wù)的其他因素而受到限制。例如,一個(gè)裝有一臺(tái)個(gè)人計(jì)算機(jī)的用戶可以訪問比移動(dòng)電話用戶大的多的因特網(wǎng)資源集,這是由于受到與基礎(chǔ)平臺(tái)有關(guān)的限制。當(dāng)平臺(tái)限制不是問題時(shí),其他問題(如安全和存儲(chǔ))可以仍然限制相同用戶訪問因特網(wǎng)資源,更不用說由不同的用戶經(jīng)過若干平臺(tái)的訪問。即使能訪問同樣的信息和服務(wù),例如,當(dāng)用戶必須協(xié)商顯著不同的用戶接口或遵循不同協(xié)議訪問那些資源時(shí),總的效率和靈活性被削弱了。
而且,因特網(wǎng)的用戶經(jīng)常面臨太多的難以過濾及組織的信息。例如,網(wǎng)絡(luò)搜索引擎常常返回對(duì)簡(jiǎn)單詢問的成千上萬(wàn)可能“匹配”。用戶必須手人過濾這些匹配而尋找相關(guān)的信息。用戶的電子郵件收件箱還經(jīng)常被無用的電子郵件或“垃圾”爆滿,它們常是無關(guān)的或?qū)τ脩羰堑蛢?yōu)先級(jí)的。雖然存在某些收件箱過濾器,用戶仍必須掃視剩下的消息以找到高優(yōu)先級(jí)或重要的消息。
因此,需要這樣的系統(tǒng)和方法,它們方便于更好的和更一致的用戶交互和協(xié)作,以及經(jīng)因特網(wǎng)在網(wǎng)站之間的通信。還需要提供給用戶更加個(gè)性化的有關(guān)信息而不會(huì)用太多的信息把用戶壓垮。
發(fā)明概述上述在現(xiàn)有技術(shù)中問題由本發(fā)明克服,它是方便于更多的基于因特網(wǎng)的協(xié)作和更多網(wǎng)站問題通信的分布式計(jì)算服務(wù)平臺(tái)。首先,概述平臺(tái)的總概念結(jié)構(gòu)。然后概述平臺(tái)的集成技術(shù)組件。這些組件包括編程模型,模式(schema)用戶界面,事件,發(fā)消息,存儲(chǔ),目錄,安全性,和程序碼管理。最后說明本發(fā)明在人們工作和家里的日常生活中如何方便了改善的協(xié)作和通信。
本發(fā)明的分布式計(jì)算服務(wù)平臺(tái)方便了在客戶設(shè)備和服務(wù)器聯(lián)盟之間,以及和服務(wù)器聯(lián)盟的服務(wù)器之間的通信。例如服務(wù)器聯(lián)盟可以包括服務(wù)器和在因特網(wǎng)和/或公司企業(yè)網(wǎng)上的服務(wù)器。客戶和服務(wù)器在維持一定程度的獨(dú)立的同時(shí),通過有意義的通信和信息交換而集成一體,借助穿過與傳輸協(xié)議無關(guān)的消息底層結(jié)構(gòu)的公共模式的信息交換使得能做這樣的有意義的交換。
平臺(tái)包括一系列分布的而又集成的技術(shù)組件和服務(wù),包括編程模型,模式,用戶界面,事件,發(fā)消息,存儲(chǔ),目錄,安全,和程序碼管理。編程模型確定一個(gè)應(yīng)用的結(jié)構(gòu),該應(yīng)用能靈活地分布在客戶和服務(wù)器聯(lián)盟之間。跟隨編程模型的應(yīng)用包括頁(yè)面,密度(emissary),和封地(fiefdom)組件。頁(yè)面組件包容通常用于反映與服務(wù)器聯(lián)盟通信的特定客戶設(shè)備的用戶界面的控制。密使組件一般將客戶描述給服務(wù)器聯(lián)盟。封地(fiefdom)組件擁有組成應(yīng)用的主要資源的數(shù)據(jù)。這些組件一般通過發(fā)異步消息互相通信。這些消息可由組件內(nèi)部的邏輯產(chǎn)生,由組件內(nèi)部產(chǎn)生的事件產(chǎn)生,或響應(yīng)于從其他組件接收的消息而產(chǎn)生。
平臺(tái)依賴于模式使通信有意義。模式是一組規(guī)則或標(biāo)準(zhǔn),它們確定如何能構(gòu)造特定的數(shù)據(jù)類型。因此,聯(lián)盟的計(jì)算機(jī)系統(tǒng)使用模式來識(shí)別,符合特定結(jié)構(gòu)的數(shù)據(jù)表示出整個(gè)聯(lián)盟中使用的特定典型的項(xiàng)。因而,數(shù)據(jù)的意義而非數(shù)據(jù)本身可以在各計(jì)算機(jī)系統(tǒng)之間通信。例如,計(jì)算機(jī)設(shè)備可以識(shí)別遵循特定地址模式的數(shù)據(jù)結(jié)構(gòu)表示一個(gè)地址,使計(jì)算機(jī)能“理解”地址的組成部分。然后,根據(jù)該數(shù)據(jù)結(jié)構(gòu)表示一個(gè)地址的理解,計(jì)算機(jī)設(shè)備完成智能的動(dòng)作。例如,那樣的動(dòng)作能包括向用戶提出活動(dòng)菜單,它表示用地址要做的事。模式可以存儲(chǔ)在設(shè)備本地和/或全局地存入聯(lián)盟的“海量存儲(chǔ)器”。設(shè)備能保持本地存儲(chǔ)的并由預(yù)約事件通知服務(wù)(在此情況是模式更新服務(wù))更新的模式,當(dāng)模式更新時(shí),事件通知服務(wù)自動(dòng)地將消息送到該設(shè)備。訪問全局存儲(chǔ)的模式由安全性底層結(jié)構(gòu)所控制。
用戶與設(shè)備的交互主要通過用戶界面發(fā)生。本發(fā)明的用戶界面(UI)是多模態(tài),智能和應(yīng)答式的。用戶界面近似地縮放各種客戶和服務(wù)器設(shè)備的技術(shù)能力。用戶界面還記住不同設(shè)備用戶的狀態(tài),會(huì)話和偏愛情況。因此,因此,用戶可以從一個(gè)設(shè)備切換到另外的中間會(huì)話(mid-session)而所有的狀態(tài)和偏愛信息保持一致,或者不同用戶可以共享同樣設(shè)備,并根據(jù)他們的偏愛用不同的界面表示。在用戶通過安全性底層結(jié)構(gòu)認(rèn)證他們自己以后,用戶的偏愛信息能通過目錄服務(wù)訪問,而目錄服務(wù)存儲(chǔ)由模式指定的用戶特定信息(如愛好,聯(lián)系等)。用戶界面也是多模態(tài)的,意味著用戶能通過多種模式與UI互動(dòng)。例如,用戶的輸入能通過如鍵盤輸入或鼠標(biāo)點(diǎn)擊那樣“傳統(tǒng)”方式進(jìn)行,UI也允許其他輸入方法,如對(duì)裝有麥克風(fēng)的設(shè)備的聲頻/語(yǔ)音輸入或?qū)ρb有觸摸屏或墊的設(shè)備的觸針/接觸輸入。
在平臺(tái)中的事件用于同步,報(bào)告或提供有關(guān)某些活動(dòng)的通知。平臺(tái)的事件組件包括事件源,它產(chǎn)生通信到遍及聯(lián)盟的事件匯點(diǎn)的事件。系統(tǒng)包括事件組合機(jī)構(gòu),它將原子事件轉(zhuǎn)換成漸進(jìn)的高級(jí)事件,甚至包括推理機(jī)制,它通過有關(guān)輸入事件的邏輯或概率推理,將輸入事件轉(zhuǎn)換成更高級(jí)事件。事件組合機(jī)構(gòu)使一組可用的原子事件調(diào)整成與軟件組件信息需求相匹配的觀察,為這些組件提供恰當(dāng)抽象水平的信息,以便作出好的決策。事件通過下列若干機(jī)構(gòu)能被軟件組件訪問1、軟件組件對(duì)一個(gè)或多個(gè)事件源提供的某類事件的訂閱;2、對(duì)一個(gè)或多個(gè)源的間歇性輪詢;或3、事件源聽取事件的廣泛廣播。對(duì)任何這些訪問事件的方法,事件通過發(fā)消息的底層結(jié)構(gòu)可以被應(yīng)用軟件訪問,盡管消息傳輸類型可能依賴于事件類型。例如事件能與等待時(shí)間的不同容忍度相關(guān),使得事件的通信受與發(fā)送延遲相關(guān)的代價(jià)的指導(dǎo)。為此原因,關(guān)鍵任務(wù)(mission-critical)服務(wù)器關(guān)閉的事件通知需要保證即時(shí)送到目的地。如用戶大致位置的改變那樣的事件可以與較低的延遲代價(jià)相關(guān)。而且,用戶界面能以正比于通知緊迫性的方式通知用戶特定的事件。例如,網(wǎng)絡(luò)管理員可以接收服務(wù)器關(guān)閉的緊急彈出消息,或年青人可以通過即時(shí)消息或聊天界面接收他的一個(gè)朋友在某區(qū)域的通知。事件通知也由認(rèn)證及授權(quán)機(jī)構(gòu)控制。
消息發(fā)送組件160是可以經(jīng)過平臺(tái)交換事件和其他信息的機(jī)構(gòu)。消息發(fā)送服務(wù)使用包括HTTP的各種傳輸協(xié)議的任一種,在因特網(wǎng)上提供有效及可靠的消息發(fā)送。消息發(fā)送底層結(jié)構(gòu)為應(yīng)用開發(fā)者建立標(biāo)準(zhǔn)界面,用于編寫利用消息發(fā)送服務(wù)的整體結(jié)構(gòu)和與本發(fā)明有關(guān)的其他特征的應(yīng)用軟件。消息發(fā)送可以異步地發(fā)生,使得能持續(xù)更新網(wǎng)頁(yè)而不必要求用戶起動(dòng)網(wǎng)頁(yè)刷新。
存儲(chǔ)服務(wù)考慮遍及服務(wù)器聯(lián)盟的分布存儲(chǔ)。如上討論,用戶的偏愛和文件可以存入聯(lián)盟中的“海量存儲(chǔ)”中,但在適當(dāng)認(rèn)證之后用戶能使用任何設(shè)備從任何位置訪問此信息?!昂A看鎯?chǔ)”不需要全放在單個(gè)服務(wù)器上,存儲(chǔ)可以根據(jù)效率,存儲(chǔ)器分配,訪問頻率等在聯(lián)盟的各服務(wù)器分布。存在服務(wù)器聯(lián)盟中的信息也能本地復(fù)制,使用戶能離線工作。當(dāng)用戶回到在線時(shí),產(chǎn)生一個(gè)事件,觸發(fā)離線和在線數(shù)據(jù)的自動(dòng)同步。存儲(chǔ)服務(wù)包括建立在傳統(tǒng)文件系統(tǒng)基礎(chǔ)上的數(shù)據(jù)引擎。優(yōu)先化本地緩存的信息的方法以及允許根據(jù)上下文的改變和/或緩存信息的時(shí)效擦除緩存信息的方法能被用來使緩沖信息的價(jià)值最大化。
為了支持能借助各種服務(wù)容易地知道或識(shí)別用戶的概念,提供了目錄組件。本發(fā)明的目錄服務(wù)通過包括每個(gè)企業(yè)或每個(gè)網(wǎng)站的元目錄以及在諸元目錄之間的同步支持聯(lián)盟。借助用于目錄之間的通信的標(biāo)準(zhǔn)化模式使同步得到方便。這些元目錄提供對(duì)特定調(diào)整的目錄的引用,其中可以找到更詳細(xì)的信息。例如,目錄可以包含用戶識(shí)別信息(名字,地址等),安全信息(該用戶被授權(quán)訪問什么信息)等。
本發(fā)明的安全性底層結(jié)構(gòu)提供在服務(wù)器聯(lián)盟之間改進(jìn)的安全性。為保證用戶的可移動(dòng)性和隱私,為具有多個(gè)識(shí)別符的個(gè)人提供安全性底層結(jié)構(gòu)。例如,一個(gè)人可以具有專業(yè)識(shí)別和個(gè)人識(shí)別,本發(fā)明方便于認(rèn)證和授權(quán),其中這些多個(gè)實(shí)體可以被處理成單個(gè)實(shí)體。此外,描述了改善的放火墻技術(shù),其中個(gè)人防火墻,周邊防火墻,和安全性網(wǎng)關(guān)互相獨(dú)立地運(yùn)作。可以通過如口令,智能卡,生物學(xué)表征(指紋、視網(wǎng)膜掃描等),密鑰交換,加密等技術(shù)的任何組合實(shí)現(xiàn)安全性。
本平臺(tái)的一個(gè)目的是保證用戶透明地訪問他們需要的最近更新的應(yīng)用程序的程序代碼。本發(fā)明的程序代碼管理系統(tǒng)包括描述應(yīng)用程序結(jié)構(gòu)的清單,包括代碼,資源,入口點(diǎn)和對(duì)應(yīng)程序及其組成組件的配置信息。代碼管理系統(tǒng)允許符合編程模型的應(yīng)用程序以有效的方式在整個(gè)聯(lián)盟中部署并更新。
本發(fā)明的另外特征和優(yōu)點(diǎn)將在下面描述中列出,部分從描述中就顯而易見,或者可以通過本發(fā)明的實(shí)踐掌握。本發(fā)明的特征和優(yōu)點(diǎn),通過在附后的權(quán)利要求中特別指出的裝置和組合實(shí)現(xiàn)和獲得。本發(fā)明的這些或其他特征從下面描述和附后的權(quán)利要求變得更加明白,或可以通過下面列出的實(shí)踐中掌握。
附圖簡(jiǎn)述為了得到本發(fā)明的上述和其他優(yōu)點(diǎn)和特征,將通過參考在附圖中示出的特定實(shí)施例提出對(duì)上面簡(jiǎn)單描述的本發(fā)明的更具體的描述。應(yīng)該理解,這些圖只給出本發(fā)明的典型實(shí)施例,而不認(rèn)為是對(duì)本發(fā)明的限制,將通過使用附圖更具體詳細(xì)地描述和解釋本發(fā)明,附圖是
圖1示出為本發(fā)明提供合適操作環(huán)境的結(jié)構(gòu)。
圖2示出用于應(yīng)用程序的編程模型,該應(yīng)用程序能在圖1的結(jié)構(gòu)上以分布方式實(shí)現(xiàn)。
圖3示出按本發(fā)明的模式存儲(chǔ)和模式服務(wù)。
圖4概略示出按本發(fā)明的用戶界面。
圖5概略示出事件系統(tǒng),它按照本發(fā)明在多個(gè)事件源和事件匯點(diǎn)之間提供事件通知。
圖6概略示出為使用本發(fā)明的消息發(fā)送結(jié)構(gòu)。
圖7概略示出為使用本發(fā)明的存儲(chǔ)結(jié)構(gòu)。
圖8概略示出為使用本發(fā)明的目錄結(jié)構(gòu)。
圖9示出使用圖8目錄結(jié)構(gòu)的示例性通信流程。
圖10概略示出為使用本發(fā)明的安全性服務(wù)。
圖11示出顯示全局識(shí)別符如何用于維持概況信息的數(shù)據(jù)結(jié)構(gòu)。
圖12示出為使用本發(fā)明的改善的防火墻配置。
圖13示出為用于軟件開發(fā)的代碼管理清單。
發(fā)明詳述A、引言本發(fā)明涵蓋包括分布網(wǎng)絡(luò)服務(wù)平臺(tái)的方法,系統(tǒng)和計(jì)算機(jī)程序產(chǎn)品,該平臺(tái)方便于更多的基于因特網(wǎng)的協(xié)作和網(wǎng)站之間的通信。本發(fā)明的各種結(jié)構(gòu)組件可分布在各種專用或通用計(jì)算機(jī)設(shè)備上,包括各種硬件組件,如個(gè)人計(jì)算機(jī),服務(wù)器,膝上型設(shè)備,手持設(shè)備,移動(dòng)電話或類似設(shè)備,下面將作詳細(xì)討論。
在本發(fā)明范圍內(nèi)的實(shí)施例還包括計(jì)算機(jī)可讀介質(zhì),用于攜帶或具有計(jì)算機(jī)可執(zhí)行指令或存儲(chǔ)在那里的數(shù)據(jù)結(jié)構(gòu)。那樣的計(jì)算機(jī)可讀介質(zhì)可以是能由通用或?qū)S糜?jì)算設(shè)備訪問的任何可用介質(zhì)。借助例子(但不限于此),那樣的計(jì)算機(jī)可讀介質(zhì)可以是物理存儲(chǔ)介質(zhì),如RAM、ROM、EEPROM、CD-ROM或其他光盤存儲(chǔ)器,磁盤存儲(chǔ)器或其他磁存儲(chǔ)設(shè)備,或任何能用于以計(jì)算機(jī)可讀指令或數(shù)據(jù)結(jié)構(gòu)的形式攜帶或存儲(chǔ)所希望的程序代碼裝置并能由通用或?qū)S糜?jì)算設(shè)備訪問的其他介質(zhì)。當(dāng)信息經(jīng)過網(wǎng)絡(luò)或其他通信連結(jié)(無論是硬件連線,無線,或它們的組合)傳輸或提供給一個(gè)計(jì)算設(shè)備時(shí),該計(jì)算設(shè)備把連結(jié)恰本地看作計(jì)算機(jī)可讀介質(zhì)。因此,任何那樣的連結(jié)被恰本地稱之為計(jì)算機(jī)可讀介質(zhì)。上述的組合也應(yīng)包括在計(jì)算機(jī)可讀介質(zhì)的范圍內(nèi)。例如,計(jì)算機(jī)可執(zhí)行指令包括使得任何通用或?qū)S糜?jì)算設(shè)備完成某個(gè)或一組功能的指令和數(shù)據(jù)。
在此描述中,本發(fā)明的可實(shí)現(xiàn)的總體結(jié)構(gòu)首先在體系結(jié)構(gòu)段落中描述。然后列出的段落描述該架構(gòu)的若干技術(shù)組件的每一個(gè),這些段落包括編程模型,模式,用戶接口,事件,消息發(fā)送,存儲(chǔ),目錄,安全性,和程序編碼管理。最后,在情況景段落描述各種情況,說明了該架構(gòu)和技術(shù)組件如何方便了改善的因特網(wǎng)通信和協(xié)作。
B、體系結(jié)構(gòu)圖1概略地示出可以實(shí)現(xiàn)本發(fā)明的操作環(huán)境100??蛻粼O(shè)備110具有廣泛的處理和存儲(chǔ)能力。例如,客戶設(shè)備110包括“胖-rich”客戶端(如胖客戶端112),它能完成高級(jí)數(shù)據(jù)處理,如臺(tái)式個(gè)人計(jì)算機(jī);和“瘦-thin”客戶端114,它們有較小的處理數(shù)據(jù)能力,如移動(dòng)電話和尋呼機(jī)。可以理解,胖客戶端和瘦客戶端之間的區(qū)分是一個(gè)范圍;例如有許多設(shè)備(如手持或薄型PC)落在這些范圍之間。
不管客戶端的設(shè)備類型或處理能力,大多數(shù)客戶設(shè)備能由用戶以在線或離線狀態(tài)操作。在線操作時(shí),每個(gè)客戶設(shè)備可以通過本發(fā)明的分布式計(jì)算服務(wù)平臺(tái)115與服務(wù)器聯(lián)盟120通信。概念上,服務(wù)器聯(lián)盟120包括如通常稱之為“因特網(wǎng)”125的計(jì)算機(jī)系統(tǒng)廣域網(wǎng),和一個(gè)或多個(gè)如公司企業(yè)網(wǎng)130那樣的專用計(jì)算機(jī)網(wǎng)絡(luò)。聯(lián)盟中的服務(wù)器(即在因特網(wǎng)上的服務(wù)器140a,140b和在公司企業(yè)網(wǎng)130中的服務(wù)器140c,140d)也經(jīng)平臺(tái)115互相通信。
從概念上說,平臺(tái)115包括若干包含技術(shù)和服務(wù)的平臺(tái)組件,包括編程模型組件135,用戶界面組件140,存儲(chǔ)組件145,目錄組件150,事件組件155,消息發(fā)送組件160,安全性組件165,模式組件170,和程序編碼管理組件175。雖然在圖1中示為概念上截然不同的,可以理解,每個(gè)平臺(tái)組件135,140,145,150,155,160,165,170和175可以遍布服務(wù)器聯(lián)盟120和客戶設(shè)備110。而且許多平臺(tái)組件向客戶設(shè)備110和服務(wù)器聯(lián)盟120提供服務(wù)。每個(gè)平臺(tái)組件松散地連結(jié)到其他平臺(tái)組件,如箭頭180所示,使平臺(tái)115能提供綜合的技術(shù)和服務(wù)。平臺(tái)115的分布式性質(zhì)和支持服務(wù)以及平臺(tái)組件的集成有助于并便于本發(fā)明的高級(jí)特征和優(yōu)點(diǎn)。
服務(wù)器聯(lián)盟120的服務(wù)器140和客戶端110,在保持一定程度的自主性的同時(shí),通過使用跨越與傳輸協(xié)議無關(guān)的消息發(fā)送底層結(jié)構(gòu)的公共模式的有意義的通信和信息交換被集成,如由下面更詳細(xì)討論的模式平臺(tái)組件170和消息發(fā)送平臺(tái)組件160提供的那樣。雙向箭頭190表示發(fā)生在服務(wù)器和客戶端中的通信。雙向通信使客戶設(shè)備110能從服務(wù)器聯(lián)盟120讀,寫到那里,以及與之互動(dòng)。本發(fā)明可以使用任何能按照一個(gè)模式雙向通信數(shù)據(jù)的通信機(jī)構(gòu)實(shí)現(xiàn)。在一個(gè)例子中,通信經(jīng)可擴(kuò)展的標(biāo)記語(yǔ)言(“XML”)格式發(fā)生,它能進(jìn)行名字/數(shù)值對(duì)通信。
在某些情況,在客戶設(shè)備110和服務(wù)器聯(lián)盟120之間的通信也可以是單向或“只讀”。單向通信是當(dāng)今在因特網(wǎng)上主要的通信方式。在此類“只讀”通信中,在發(fā)布者建立并發(fā)布了一個(gè)網(wǎng)頁(yè)之后,因特網(wǎng)本質(zhì)上用作表示工具,使用戶能讀出在網(wǎng)頁(yè)上的信息。允許這樣表示的技術(shù)包括允許和無限設(shè)備通信的無線應(yīng)用協(xié)議“WAP”。而且稱為超文本標(biāo)記語(yǔ)言(“HTML”)的網(wǎng)頁(yè)格式便于從網(wǎng)站下載信息。信息然后被分析,提交并在客戶設(shè)備上表示。但是本發(fā)明的平臺(tái)115擴(kuò)展傳統(tǒng)的網(wǎng)頁(yè)表示模型以便于豐富的,交互式的雙向通信。
平臺(tái)115允許在聯(lián)盟120中的服務(wù)器140合作地共享信息和/或完成功能。不是每個(gè)服務(wù)器必須自行收集和編譯信息,相反服務(wù)器依賴容易得到信息的其他服務(wù)器來實(shí)現(xiàn)有效的工作分擔(dān)。然后用戶得到豐富的信息而不必考慮為產(chǎn)生此豐富的信息發(fā)生在服務(wù)器聯(lián)盟中的錯(cuò)綜復(fù)雜的服務(wù)器間通信。例如,服務(wù)器聯(lián)盟120中的服務(wù)器140可以交換信息,使得從一個(gè)服務(wù)器來的股票價(jià)格表顯示在客戶設(shè)備110的用戶界面的一部分中,從另一服務(wù)器來的新聞評(píng)論顯示在客戶設(shè)備的用戶界面的另一部分,而從又一個(gè)服務(wù)器來的即時(shí)消息顯示在客戶設(shè)備的用戶界面的另一部分。
在服務(wù)器聯(lián)盟120中的服務(wù)器140使用標(biāo)準(zhǔn)的數(shù)據(jù)結(jié)構(gòu)或由模式平臺(tái)組件170提供的模式進(jìn)行通信并共享信息。模式便于在服務(wù)器與應(yīng)用之間進(jìn)行更有意義的互動(dòng)而不只是在服務(wù)器之間交換信息。此意義的識(shí)別使服務(wù)器能根據(jù)信息識(shí)別的意義完成功能。若應(yīng)用軟件將信息識(shí)別成意義,如給定實(shí)體的地址,則應(yīng)用軟件根據(jù)識(shí)別的意義完成某些功能。例如,應(yīng)用程序能自動(dòng)地用地址信息填入對(duì)應(yīng)于特定實(shí)體的模板的地址字段。應(yīng)用軟件也能檢測(cè)到郵編或州名在地址中丟失,因而自動(dòng)地詢問其他服務(wù)器有關(guān)丟失的信息,使得所有地址字段自動(dòng)填滿而不需要用戶干預(yù)。由于每個(gè)服務(wù)器識(shí)別與數(shù)據(jù)有關(guān)的意義并隨后根據(jù)該信息動(dòng)作而不必人的干預(yù),在此方面每個(gè)服務(wù)器是智能的,因此在服務(wù)器之間的合作更加有效。
C、編程模型圖2示出平臺(tái)115的多層編程模型組件135。編程模型描述,一個(gè)應(yīng)用200如何能不同程度地在圖1的客戶設(shè)備110和服務(wù)器聯(lián)盟120中分布。一個(gè)“應(yīng)用”定義為一個(gè)軟件體,它完成一個(gè)功能并可以包括一個(gè)網(wǎng)站。在分布式應(yīng)用中,應(yīng)用的組件能存在客戶設(shè)備中,而其他組件是網(wǎng)站的部分。通常,應(yīng)用200由一系列應(yīng)用組件組成,包括頁(yè)面組件210,密使組件220,和封地(fiefdom)組件230。頁(yè)面組件210包括反映用戶界面的控制或擔(dān)當(dāng)適當(dāng)?shù)目蛻粼O(shè)備110。密使組件220通常表示客戶端到服務(wù)器聯(lián)盟,因此充當(dāng)客戶端和服務(wù)器聯(lián)盟之間的密使。封地組件230最直接地控制組成應(yīng)用200的重要的資源的活動(dòng)數(shù)據(jù)。單個(gè)應(yīng)用可具有變化數(shù)目的組件(如多于一個(gè)頁(yè)面組件)。而且有些應(yīng)用可以沒有所有組件。
根據(jù)客戶端的能力,頁(yè)面和密使組件可以在客戶端或服務(wù)器聯(lián)盟上運(yùn)行。在只有少量或沒有處理能力的瘦客戶端,頁(yè)面和密使組件更有可能在服務(wù)器聯(lián)盟上運(yùn)行。在具有較強(qiáng)處理能力的胖客戶端,如臺(tái)式個(gè)人計(jì)算機(jī)(PC),頁(yè)面和密使組件更可能在客戶端運(yùn)行。
這些應(yīng)用組件的每一個(gè),如頁(yè)面,密使和封地,包含邏輯240的本體(即計(jì)算機(jī)可執(zhí)行指令),它們用于通過消息發(fā)送組件160從一個(gè)組件到另一個(gè)組件發(fā)送和接收異步消息。例如頁(yè)面級(jí)邏輯240a用于從頁(yè)面組件210通過消息發(fā)送隊(duì)列到250a將消息異步發(fā)送到密使組件220。密使級(jí)邏輯240b用于將消息從密使組件220經(jīng)消息發(fā)送隊(duì)列250b異步發(fā)送到頁(yè)面組件210。密使級(jí)邏輯240也用于將消息從密使組件220通過消息發(fā)送隊(duì)列250c異步發(fā)送到封地組件230。封地級(jí)邏輯240c用于將消息從封地組件230通過消息發(fā)送隊(duì)列250d異步發(fā)送到密使組件220。因此,異步信息交換在應(yīng)用200的頁(yè)面,密使,及封地組件之間發(fā)生。按照消息發(fā)送組件160,消息隊(duì)列在組件之間為發(fā)送消息提供可靠的通道,并支持各種發(fā)送語(yǔ)義(即保證為只有一次提交,事務(wù)的提交和不保證的提交)。消息經(jīng)模式(如XML模式)定義。
在每個(gè)應(yīng)用組件中的邏輯240的本體也用于包容控制260。通常,控制表示能被程序組件訪問的功能性,且可以是程序組件的功能性的一部分。例如,頁(yè)面級(jí)邏輯240a包容控制260a,密使級(jí)邏輯240b包容控制260b,而封地級(jí)邏輯240c包容控制260c。每個(gè)控制260展現(xiàn)出可調(diào)用的方法,可同步讀寫的特性,以及可事件,這些事件可以異步地爆發(fā),引起雜頁(yè)面,密使和/或封地組件中的邏輯執(zhí)行。通常,由控制觸發(fā)的事件是低級(jí)事件,如引用在一個(gè)對(duì)象上的方法。因此,當(dāng)組件接收到一個(gè)消息時(shí)它產(chǎn)生事件,引起執(zhí)行組件中代碼。
頁(yè)面組件210使用頁(yè)面級(jí)邏輯240a直接并同步地操縱控制260a以便反映用戶界面或經(jīng)歷。依賴客戶端用戶界面的能力,頁(yè)面組件可以安靜地重定向引用到特定的與客戶端兼容的頁(yè)面的版本。例如,一個(gè)頁(yè)面可能適合于胖客戶端,另外的頁(yè)面可以迫用于瘦客戶端,如電話或其他那樣的設(shè)備。頁(yè)面組件210可以使用客戶的統(tǒng)一資源定位符或URL識(shí)別客戶的識(shí)別符,并因此重定向到合適的頁(yè)面版本。但是不論哪個(gè)頁(yè)面版本,用戶界面對(duì)廣泛的用戶設(shè)備表現(xiàn)出一致性,雖然在該頁(yè)面的較豐富的版本中某些特征將被呈現(xiàn)或更充分地開發(fā),這將結(jié)合下面用戶界面組件來討論。
頁(yè)面組件也能根據(jù)實(shí)現(xiàn)該頁(yè)面組件的設(shè)備的處理能力調(diào)用不同的頁(yè)面版本,而不管客戶可用的用戶界面。例如,若頁(yè)面組件在具有很強(qiáng)處理能力的客戶個(gè)人計(jì)算機(jī)或服務(wù)器上實(shí)現(xiàn),則頁(yè)面組件可以重新定向到使用戶能與頁(yè)面做廣泛的交互活動(dòng)的豐富的控制頁(yè)面。相反,若頁(yè)面組件在瘦的不太強(qiáng)壯的客戶端實(shí)現(xiàn),頁(yè)面組件可以僅重新定向到HTML的頁(yè)面版本,它通常包含很少(若有的話)控制特征,允許用戶與該頁(yè)面互動(dòng)。
密使組件220封裝一個(gè)邏輯240b的本體,它能同步地與控制260b互動(dòng)。邏輯240b也設(shè)計(jì)成以標(biāo)準(zhǔn)的方式抽象地向服務(wù)器表示客戶,而不管客戶的設(shè)備是什么樣的。密使組件可以訪問由封地組件公布的只讀數(shù)據(jù),并將那樣的數(shù)據(jù)存入復(fù)制數(shù)據(jù)存儲(chǔ)271。密使組件還包含每個(gè)用戶的讀/寫數(shù)據(jù)(R/W),如購(gòu)物記錄(cart)數(shù)據(jù),那是存在R/W的每個(gè)用戶的數(shù)據(jù)存儲(chǔ)區(qū)272之中。邏輯240b的本體可以響應(yīng)從消息隊(duì)列250a或250b來的進(jìn)入消息而執(zhí)行。
封地組件230封裝邏輯240c的本體,它邏輯上“擁有”存儲(chǔ)在活動(dòng)數(shù)據(jù)器280中的活動(dòng)數(shù)據(jù)。邏輯240c的本體響應(yīng)從與封地組件相關(guān)的如密使組件220那樣的密使組件接收的消息而運(yùn)行。封地組件230在請(qǐng)求訪問服務(wù)的任何密使組件上實(shí)現(xiàn)安全性服務(wù)。
在應(yīng)用軟件中的每個(gè)組件維持有關(guān)直接用戶和會(huì)話狀態(tài)的狀態(tài)信息。因此,每個(gè)組件支持用于那些用戶和會(huì)話狀態(tài)信息的復(fù)制的對(duì)象。此狀態(tài)信息可以通過支持那樣狀態(tài)信息的通信的異步消息發(fā)送與在應(yīng)用軟件中的其他組件共享,因此,每個(gè)組件可以覺察用戶界面在會(huì)話的任何給定點(diǎn)的狀態(tài)。此外,每個(gè)組件可以覺察用戶的偏愛。
現(xiàn)將描述編程模型組件135的優(yōu)點(diǎn)。在應(yīng)用軟件中的組件能夠異步消息發(fā)送。因此,為了接收消息,組件不必顯式地請(qǐng)求信息。而且為了發(fā)送包含這樣信息的消息,組件不必接收對(duì)該信息直接請(qǐng)求。因此,編程模型支持發(fā)送消息到頁(yè)面組件(因此更新用戶界面)而用戶不必直接更新網(wǎng)站。因此,頁(yè)面可以表示為異步用戶界面,其中當(dāng)頁(yè)面組件從密使組件接收消息時(shí),頁(yè)面自動(dòng)更新。而且在那樣情況下,密使組件不需要訪問復(fù)制數(shù)據(jù),因?yàn)榛顒?dòng)數(shù)據(jù)可通過封地組件得到。
此外,編程模型包括在發(fā)生定義的事件時(shí)可以異步觸發(fā)的控制,從而導(dǎo)致執(zhí)行在組件中的邏輯。此邏輯可以響應(yīng)此事件發(fā)送異步消息到其他組件,使在應(yīng)用軟件中的任何組件能響應(yīng)定義的事件而執(zhí)行。因此,應(yīng)用軟件是高度事件驅(qū)動(dòng)的。這些事件可以驅(qū)動(dòng)在該應(yīng)用程序的任何組件中的方法被異步執(zhí)行。
例如,封地組件可以包容一個(gè)控制,它配置成在任何包含預(yù)定詞的新的文章加入數(shù)據(jù)庫(kù)時(shí)觸發(fā)。事件的觸發(fā)能引起封地組件通過密使組件發(fā)送一異步消息到頁(yè)面組件。響應(yīng)于此異步消息,頁(yè)面組件可以提交通知消息用于在客戶端表示,然后通知用戶有新的文章。例如,若客戶設(shè)備是瘦客戶,用戶界面可包括小的通知窗,指出存在那樣新文章。若客戶設(shè)備是胖客戶,用戶界面可以在屏幕上顯示整個(gè)新文章。任何一個(gè)或所有的頁(yè)面、密使、或封地組件可以根據(jù)同樣事件進(jìn)行其他動(dòng)作,如組成電子郵件將文章發(fā)送到對(duì)包含此預(yù)定的詞感興趣的同事。因此,編程模型啟用了用復(fù)雜的事件驅(qū)動(dòng)的應(yīng)用。
而且編程模型便于客戶端和服務(wù)器聯(lián)盟之間靈活地放置這些組件,并允許在線和離線使用該應(yīng)用軟件。例如,應(yīng)用軟件可以構(gòu)造成允許在線或離線執(zhí)行。這可以通過將頁(yè)面組件直接包容在客戶端,而直接與密使組件通信的那些頁(yè)面組件也包容在客戶端。在離線時(shí),應(yīng)用軟件訪問復(fù)制數(shù)據(jù)存儲(chǔ)器271中的復(fù)制數(shù)據(jù),而不是在活動(dòng)數(shù)據(jù)存儲(chǔ)器280中的活動(dòng)數(shù)據(jù)。一旦在線,訪問被恢復(fù),密使組件發(fā)送排隊(duì)的更新到封地組件,且更新復(fù)制數(shù)據(jù)以反映由封地組件管理的活動(dòng)數(shù)據(jù)的現(xiàn)狀。
應(yīng)用軟件也能如此構(gòu)成,使得所有組件,頁(yè)面,密使和封地都包容在服務(wù)器聯(lián)盟中。在此情況,客戶端必須與服務(wù)器聯(lián)盟連線,使能訪問頁(yè)面,密使和/或封地組件的服務(wù)。
此外,在離線時(shí),應(yīng)用軟件20某些部分可用(后面稱為“離線部分”),而應(yīng)用軟件的其他部分僅當(dāng)客戶端在線時(shí)可用(以后稱為“在線部分)。啟用應(yīng)用軟件離線組件的頁(yè)面和密使組件由客戶端包容,而啟用應(yīng)用軟件在線組件的組件由服務(wù)器聯(lián)盟包容。
因此,本發(fā)明的分布式計(jì)算115服務(wù)平臺(tái)的許多其他技術(shù)組件可以按照編程模型組件135實(shí)現(xiàn)。
D、模式使能進(jìn)行更多基于因特網(wǎng)的合作和網(wǎng)站間通信的一個(gè)方法是經(jīng)由更有意義的數(shù)據(jù)通信的方法。有意義或智能的通信提供了比單純數(shù)據(jù)更多的內(nèi)涵,還提出了數(shù)據(jù)為何通信及通信什么的暗示。這可以通過以標(biāo)準(zhǔn)方法或“模式”構(gòu)造數(shù)據(jù)來實(shí)現(xiàn),如通過標(biāo)準(zhǔn)數(shù)據(jù)結(jié)構(gòu),協(xié)議,通信傳輸,和其他結(jié)構(gòu)化的數(shù)據(jù)交換。存儲(chǔ)在客戶設(shè)備110,服務(wù)器140中和/或按存儲(chǔ)組件145存儲(chǔ)的信息可以按照模式存儲(chǔ)。當(dāng)在服務(wù)器之間,在服務(wù)器聯(lián)盟120之中,在服務(wù)器聯(lián)盟120和客戶端110之間,和在平臺(tái)組件之間通信信息時(shí)也使用模式。此外,在圖2的應(yīng)用軟件的各組件210,220,和230之間通信的異步消息可使用模式通信。
在許多情況下,用戶希望使用從多個(gè)應(yīng)用軟件和數(shù)據(jù)源來的數(shù)據(jù)建立報(bào)表,分析進(jìn)展,預(yù)測(cè)需求或檢測(cè)操作環(huán)境的變化。不幸的是,此類數(shù)據(jù)雖然經(jīng)常可用,但常被發(fā)現(xiàn)是完全不同的格式,因?yàn)槊總€(gè)應(yīng)用軟件通常使用它自己的模式組。換言之,雖然應(yīng)用軟件描述相類似的數(shù)據(jù)類型,如接觸和時(shí)間,這些數(shù)據(jù)類型常常對(duì)不同的應(yīng)用軟件采用不同的詞并具有不同的屬性。因此,傳統(tǒng)上需要專門的翻譯或輸入/輸出功能,以允許遵循不同模式的應(yīng)用軟件進(jìn)行通信。
為了促進(jìn)在服務(wù)器聯(lián)盟120中的通信和合作,本發(fā)明的模式和模式服務(wù)組件對(duì)包羅萬(wàn)象的數(shù)據(jù)結(jié)構(gòu)提供在服務(wù)器聯(lián)盟120上交互及合作的基礎(chǔ),這些數(shù)據(jù)結(jié)構(gòu)如日期,地址,藥方,上演時(shí)間,產(chǎn)品描述,價(jià)格,收據(jù),偏愛,醫(yī)療記錄,電影回顧,或其他有關(guān)數(shù)據(jù)類型。
通用模式可能是不現(xiàn)實(shí)的,因?yàn)椴煌膽?yīng)用具有不同的需要和傳統(tǒng),而且需要支持跨平臺(tái)的應(yīng)用軟件。取而代之的是,本發(fā)明的模式組件170試圖定義“核心模式”,它們是只只定義大多數(shù)應(yīng)用軟件共同擁有的事物最小公共模式。核心模式可以擴(kuò)展,可以定義描述對(duì)有利于數(shù)據(jù)交互及協(xié)作有用的重要數(shù)據(jù)的新模式并將其加到下述的核心模式中。此外,模式可以在網(wǎng)絡(luò)的不同層上起作用,包括操作系統(tǒng)或客戶端設(shè)備的用戶界面以及圖1中的服務(wù)器聯(lián)盟。
有若干類核心模式,包括(I)基本類型,(II)社會(huì)類型,(III)商業(yè)類型,(IV)系統(tǒng)類型,和(V)應(yīng)用類型。
(I)基本類型用作對(duì)其他類型的基本構(gòu)成塊。示例性的基本類型包括如對(duì)象,項(xiàng)目,容納文件,數(shù)據(jù)庫(kù),文件夾,消息,文本,或其他基本數(shù)據(jù)結(jié)構(gòu)的類型。將由不同的應(yīng)用軟件使用的各種模式翻譯成基本類型模式可由下述翻譯過濾器完成。
(II)社會(huì)類型表示或描述在日常任務(wù)及交往中使用的項(xiàng)目。示例性社會(huì)類型包括的項(xiàng)目如聯(lián)系,簡(jiǎn)況,日歷,任務(wù),時(shí)間,位置,財(cái)務(wù),和其他社會(huì)交換的信息或識(shí)別。類似于基本類型,可以建立翻譯過濾器,將不兼容的數(shù)據(jù)結(jié)構(gòu)改變成社會(huì)型模式。
(III)商業(yè)類型用于描述在商業(yè)環(huán)境和商業(yè)到商業(yè)(B2B)交易中的共同事物。示例性商業(yè)類型包括的類型如產(chǎn)品,帳單,客戶,雇員,分銷商,零售商,供貨商,和其他業(yè)務(wù)數(shù)據(jù)。
(IV)系統(tǒng)類型定義用于管理系統(tǒng)的信息結(jié)構(gòu)。示例性系統(tǒng)類型包括的類型如策略,時(shí)間表,服務(wù),設(shè)備和其他與系統(tǒng)有關(guān)的信息。
(V)應(yīng)用類型定義應(yīng)用和服務(wù)的結(jié)構(gòu)。示例性應(yīng)用類型包括的類型如應(yīng)用清單,組裝件清單,和COM+類型描述。系統(tǒng)和應(yīng)用類型是基于系統(tǒng)和硬件配置特有的信息。
模式組件170還提供若干模式服務(wù)292,用于存儲(chǔ),查找,咨詢,發(fā)布和共享模式信息和數(shù)據(jù)。參考圖3,模式存儲(chǔ)器290是收集和共享模式信息的地方。例如,模式存儲(chǔ)器290能包含核心模式類型的描述和在已知模式及核心模式之間的映射。在本發(fā)明的一個(gè)實(shí)施例中,模式是XML模式并在模式存儲(chǔ)器290中由模式描述語(yǔ)言描述。(模式描述語(yǔ)言的一個(gè)例子是XSD,為了本發(fā)明使用可以擴(kuò)展)。模式存儲(chǔ)290是本發(fā)明的存儲(chǔ)組件145的一個(gè)范例(在下面詳述)。因此,模式存儲(chǔ)290可以分布在整個(gè)服務(wù)器聯(lián)盟120。雖然模式存儲(chǔ)290不是應(yīng)用軟件存儲(chǔ)模式的唯一的地方,但通過將模式存入此處,應(yīng)用軟件能保證,模式服務(wù)292和使用它們的應(yīng)用能夠發(fā)現(xiàn)該模式并用該模式工作。應(yīng)用軟件也能本地復(fù)制和存儲(chǔ)模式,并使用下面更詳細(xì)描述的模式存儲(chǔ)290和模式服務(wù)292更新它們。對(duì)模式存儲(chǔ)290和模式服務(wù)292的訪問能受由安全性組件165提供的各種安全性認(rèn)證,授權(quán)和防火墻服務(wù)的控制。
模式服務(wù)292通常包括模式登錄服務(wù),它是應(yīng)用軟件存儲(chǔ),尋找,查詢和發(fā)布模式信息的機(jī)構(gòu)。例如,模式存儲(chǔ)290可以通過如模式登錄服務(wù)收集和引用各種模式,而模式登錄服務(wù)可以包括如模式登錄API(應(yīng)用編程界面)。模式登錄服務(wù)允許應(yīng)用軟件從模式存儲(chǔ)中增加或擦除模式信息。
模式服務(wù)292還包括模式更新服務(wù),它允許管理員,操作系統(tǒng),或其他背景模式調(diào)解器更新模式。模式服務(wù)292還可以包括分布式模式服務(wù),以便通過遵循在范例數(shù)據(jù)中的引用而取得不是一直存儲(chǔ)的模式。為便于此服務(wù),模式可以按照存儲(chǔ)組件145存入整個(gè)服務(wù)器聯(lián)盟120,且能使用事件組件155通知應(yīng)用軟件何時(shí)發(fā)布新模式,從而允許全局的模式分布。模式服務(wù)292還可包括模式有效性服務(wù)以維持模式的完整性和一致性并映射到存儲(chǔ)中。此服務(wù)提供模式描述語(yǔ)言的結(jié)構(gòu)有效性,校驗(yàn)冗余的和沖突的實(shí)體,和在模式之間關(guān)聯(lián)性的的一致性驗(yàn)證。模式存儲(chǔ)290還依賴本發(fā)明的事件組件155,以便向模式提供改變的通知。模式存儲(chǔ)290還可以依賴本發(fā)明的消息發(fā)送組件160,作為分布更新,事件,訂閱和通知的傳輸。
例如,本地模式存儲(chǔ)能訂閱模式更新服務(wù)以更新核心類型和模式。一種配置使用對(duì)象管理器支持對(duì)模式事件的登錄,允許感興趣的用戶檢測(cè)何時(shí)發(fā)生某些相關(guān)模式的改變。本地模式存儲(chǔ)能訂閱一個(gè)或多個(gè)源用于更新。更新服務(wù)為模式存儲(chǔ)預(yù)提供核心類型(如個(gè)人和時(shí)間),并映射如MAPI,vCard,LDAP和WMI那樣的公共模式到這些核心類型。企業(yè)能包容類似的更新服務(wù)以維持在他們組織網(wǎng)絡(luò)中的模式存儲(chǔ)。
模式轉(zhuǎn)換服務(wù)(也是模式服務(wù)292的部分)使得采用不同模式的應(yīng)用能共享意義。示例的模式轉(zhuǎn)換服務(wù)包括模式適配器服務(wù),模式識(shí)別器服務(wù),和模式映射服務(wù)。模式轉(zhuǎn)換服務(wù)通過提供共享機(jī)制識(shí)別數(shù)據(jù)并通過將一個(gè)模式的數(shù)據(jù)轉(zhuǎn)換到另外模式而允許應(yīng)用程序動(dòng)態(tài)地支持新的模式。模式轉(zhuǎn)換服務(wù)使得應(yīng)用軟件更容易理解廣泛的模式,增加各應(yīng)用軟件的強(qiáng)壯性和一致性,并通過提供共享機(jī)制來識(shí)別數(shù)據(jù)以及將一個(gè)模式的數(shù)據(jù)轉(zhuǎn)換到另外模式的數(shù)據(jù)而允許應(yīng)用動(dòng)態(tài)地支持新模式。
例如,模式適配器服務(wù)使得可能用不是用如XML那樣的標(biāo)準(zhǔn)化語(yǔ)言構(gòu)造的數(shù)據(jù)工作。模式適配器服務(wù)接收非XML數(shù)據(jù)并將其轉(zhuǎn)換成XML數(shù)據(jù)或用于與模式通信的任何其他類型數(shù)據(jù)。
模式識(shí)別器服務(wù)識(shí)別數(shù)據(jù)范例的模式類型,使得應(yīng)用軟件知道如何處理該數(shù)據(jù)。模式識(shí)別器服務(wù)接收XML數(shù)據(jù)或明文作為輸入。對(duì)XML,模式識(shí)別器服務(wù)使用標(biāo)準(zhǔn)的存儲(chǔ)詢問服務(wù)294詢問模式存儲(chǔ)290,以確定模式類型,使用XML名字空間使可能性列表變窄。為了從明文推論出模式類型,模式識(shí)別服務(wù)依賴于自然語(yǔ)言服務(wù),它們輪流使用模式存儲(chǔ)290。一旦知道模式類型,應(yīng)用軟件可以使用此信息提供它自己的用戶界面或啟用系統(tǒng)范圍的用戶界面。
模式映射服務(wù)取出一個(gè)模式的XML數(shù)據(jù),根據(jù)在模式存儲(chǔ)290中定義的映射轉(zhuǎn)換數(shù)據(jù),并返回以另外模式的XML表示的數(shù)據(jù)。在一個(gè)配置中,由帶有寫入口和寫出口功能的應(yīng)用軟件使用模式映射服務(wù),并常常結(jié)合模式適配器服務(wù)。
駐留在模式存儲(chǔ)290中的模式能描述應(yīng)用,腳本,組件,方法綁定或數(shù)據(jù)源,它們能用于作用于或表示特定的模式類型。例如,一個(gè)應(yīng)用軟件可以提供標(biāo)準(zhǔn)的用戶界面以顯示特定模式類型的數(shù)據(jù),而另一個(gè)應(yīng)用軟件可具有對(duì)那個(gè)數(shù)據(jù)操作的商業(yè)邏輯,對(duì)給定的情景哪個(gè)動(dòng)作是合適的,這取決于用戶的對(duì)前后情況的偏愛。這些模式服務(wù)與用戶界面組件140合作使能得到若干終端用戶特征,如動(dòng)作菜單,自動(dòng)完成,和智能剪貼板拖放(下面描述)。
動(dòng)作菜單特征提供在任何應(yīng)用程序中的一片數(shù)據(jù)上可采用的動(dòng)作的選擇。在一個(gè)配置中,這些可采用的動(dòng)作以“factoid-事實(shí)id”的方式提供,允許用戶選擇或不管它們。一個(gè)應(yīng)用軟件使用存儲(chǔ)詢問服務(wù)294詢問模式存儲(chǔ)290有關(guān)特定數(shù)據(jù)類型的登錄行動(dòng)。檢索到的動(dòng)作被用于產(chǎn)生動(dòng)作菜單,例如,當(dāng)用戶點(diǎn)擊一個(gè)地址,應(yīng)用軟件詢問類型“地址”,且模式存儲(chǔ)290返回如“打印信封”或“畫出此地址”之類的動(dòng)作,這被提供在上下文菜單中。動(dòng)作菜單API允許開發(fā)者列出此菜單和其他在他們應(yīng)用軟件中的應(yīng)用軟件專有的動(dòng)作。對(duì)于在模式存儲(chǔ)中每個(gè)核心類型預(yù)提供的行動(dòng)菜單可以顯示在操作系統(tǒng),因特網(wǎng)瀏覽器和各種活動(dòng)應(yīng)用之中。
模式服務(wù)也能夠增強(qiáng)現(xiàn)有的“自動(dòng)完成”特征;它通過表示從數(shù)據(jù)源來的列出可能值的選擇使得用戶較容易填滿網(wǎng)頁(yè)表單和文檔中的數(shù)據(jù)字段;向用戶表示的可能值的列表可以根據(jù)在模式存儲(chǔ)290中的登錄。例如,當(dāng)填了一張“Evite-電子邀請(qǐng)”邀請(qǐng)朋友參加一次聚會(huì),電子郵件地址字段將從用戶的聯(lián)系表中提供地址表,它通過在模式存儲(chǔ)290中的登錄綁定到了電子郵件地址屬性。同樣的功能可通過起他應(yīng)用軟件列出以提供對(duì)書信,發(fā)貨清單,電子表格,郵寄類表,數(shù)據(jù)庫(kù),或其他文檔的自動(dòng)完成。同樣的值列表在任何選擇列出此功能的應(yīng)用軟件中顯示。
智能剪貼板拖放使用模式轉(zhuǎn)換服務(wù)以允許數(shù)據(jù)在使用不同模式的各應(yīng)用程序之間交換。因此,模式轉(zhuǎn)換服務(wù)增強(qiáng)了現(xiàn)有的拖放和剪貼板例行程序以便在支持不同模式的各應(yīng)用軟件之間移動(dòng)數(shù)據(jù),而同時(shí)保持對(duì)數(shù)據(jù)表示什么的共有理解。
因此,與如事件,消息發(fā)送,存儲(chǔ),模式,安全性那樣的其它平臺(tái)115技術(shù)組件一起工作的模式組件提供在客戶和服務(wù)器設(shè)備之間共享有意義的信息的機(jī)制。
E、用戶界面圖1的平臺(tái)115的用戶界面組件140提供了跨越各種客戶設(shè)備的多模態(tài)的,應(yīng)答的和智能的用戶接口。圖4概略地示出了用戶界面組件140。
用戶界面組件140提供多模態(tài)用戶界面(UI)意味著用戶能通過多種方式與UI交互,且這些方式能頻繁地?zé)o縫地改變。用戶界面組件140包括允許多模態(tài)輸入輸出的先進(jìn)輸入/輸出組件400。輸入/輸出組件400能使用如鍵盤鍵入或鼠標(biāo)點(diǎn)擊那樣的“傳統(tǒng)”方法接收用戶的輸入。例如,輸入/輸出組件接收文本402。但是此外,UI也允許其他輸入方法,如裝有麥克風(fēng)的設(shè)備的聲頻/語(yǔ)音輸入(如聲頻/語(yǔ)音404),對(duì)裝有觸摸屏或觸摸墊的設(shè)備的觸針/觸摸輸入,對(duì)具有手寫輸入能力的設(shè)備的手寫輸入(如手寫406)。如雙向箭頭408所示,輸入/輸出組件400也能提供如文本402的傳統(tǒng)輸出,和如聲頻/語(yǔ)音404及手寫406那樣的非傳統(tǒng)的計(jì)算機(jī)化的輸出。
輸入/輸出組件400還結(jié)合在將信息輸入到設(shè)備中時(shí)特別有用的各種轉(zhuǎn)換技術(shù)。那樣的轉(zhuǎn)換包括將用戶的聲頻/語(yǔ)音輸入轉(zhuǎn)換成文本的語(yǔ)音到文本技術(shù)。例如當(dāng)用戶在開車或缺乏打字能力因而不能或不方便使用傳統(tǒng)的打字輸入文本時(shí),此轉(zhuǎn)換是有用的。對(duì)輸入有用的其他轉(zhuǎn)換包括手寫到文本技術(shù),它將用戶的手寫觸針/觸摸輸入轉(zhuǎn)換成文本。當(dāng)如鍵盤那樣的文本輸入裝置不包括在設(shè)備中時(shí),這樣的轉(zhuǎn)換便于文本輸入。
例如,是輸入板形式的個(gè)人計(jì)算機(jī)(即“輸入板PC”)是一種允許使用如觸針直接在屏幕上書寫的手寫輸入由設(shè)備。然后輸入板PC使用輸入/輸出組件400將手寫轉(zhuǎn)換成文本,使文本能以紙面書寫不可能的方法編輯。例如,在段落之間可以插入間隔以便加入注釋。輸入板PC可以按照需要顯示手寫體本身或手寫體描述的文本。
除了“傳統(tǒng)”文本和圖形顯示以外,輸入/輸出組件400還能以多種方式向用戶表示數(shù)據(jù)。例如,UI可以引入文本到語(yǔ)音技術(shù),將文本(如鍵入的電子郵件消息)轉(zhuǎn)換成聲頻(在設(shè)備上通過揚(yáng)聲器“讀”該消息)。而且語(yǔ)音郵件能與基于文本的電子郵件消息一起加入到統(tǒng)一的消息對(duì)象中,在需要時(shí)語(yǔ)音到文本的轉(zhuǎn)換使此語(yǔ)音郵件轉(zhuǎn)換成文本。
多模態(tài)用戶界面使用戶根據(jù)用戶的現(xiàn)狀和周圍情況與各種設(shè)備交互。例如,在使用如PC那樣胖客戶端時(shí),用戶能選擇讓她的消息通過視頻/聲頻顯示并通過文本回答。但是,在她的車內(nèi),用戶可選擇使她的消息只用聲頻播放并用聲頻回答。
根據(jù)用戶特定統(tǒng)一的用戶界面門戶概念使能進(jìn)行自然語(yǔ)言通信。示例性統(tǒng)一的用戶界面門戶概念包括輸入串的分析,經(jīng)邏輯形式匹配的匹配概念,與結(jié)果一起的恰當(dāng)?shù)念愃普Z(yǔ)言的句子的產(chǎn)生,根據(jù)對(duì)用戶定制的搜索參數(shù)進(jìn)行的有幫助的反饋,能在多個(gè)完全不同的數(shù)據(jù)庫(kù)存儲(chǔ)上智能執(zhí)行的搜索底層結(jié)構(gòu)(其中用戶的傳統(tǒng)存儲(chǔ)位置設(shè)置有優(yōu)先級(jí))。
除了多模態(tài)以外,用戶界面組件140是應(yīng)答的,因?yàn)樗芨鶕?jù)用戶的狀態(tài)和上下文在一系列客戶設(shè)備110上作適應(yīng)或改變工作。例如,用戶界面可按照用戶的偏愛和會(huì)話狀態(tài)進(jìn)行配置和加工,使得若用戶在會(huì)話中從一個(gè)客戶設(shè)備切換到另外一個(gè),用戶能使用帶有用戶界面的其他客戶設(shè)備繼續(xù)會(huì)話,用戶界面在各客戶裝置上顯現(xiàn)出一致性(管理可能作修改,這在下面討論)。
參考圖4,偏受信息可以存入在服務(wù)器聯(lián)盟120中的MyState適配目錄905中。當(dāng)用戶在客戶設(shè)備上工作時(shí),會(huì)話狀態(tài)信息定期地在MyState目錄905中更新,當(dāng)用戶在使用安全性組件適當(dāng)認(rèn)證以后切換到另一客戶設(shè)備時(shí),將偏愛和會(huì)話信息提供到新的客戶設(shè)備。偏愛信息使得新的客戶端的顯示與老的客戶端一致,此外,會(huì)話狀態(tài)信息使新的客戶設(shè)備繼續(xù)該會(huì)話而放棄老的客戶設(shè)備。
用戶界面還適本地和平滑地縮放客戶設(shè)備的技術(shù)能力。例如,移動(dòng)電話由于在輸入鍵和顯示區(qū)域方面的空間限制,在它們的用戶界面上是有明顯的技術(shù)局限,這些移動(dòng)電話的用戶界面應(yīng)降低,以強(qiáng)調(diào)此用戶界面的最重要的特征。因此用戶可以在會(huì)話中從胖客戶個(gè)人計(jì)算機(jī)移到瘦的客戶移動(dòng)電話,雖然移動(dòng)電話的用戶界面提供更有限的用戶會(huì)話感受。在客戶設(shè)備之間的平滑縮放可以通過使用由編碼管理組件175提供的清單實(shí)現(xiàn),這在下面詳述。例如,清單可以描述為在客戶設(shè)備上顯示所需的最小用戶界面特征并描述當(dāng)所有組件不能在該客戶端顯示時(shí)要顯示的用戶界面特征的優(yōu)先級(jí)參考圖4,有根據(jù)客戶設(shè)備的能力而定的客戶設(shè)備可用的用戶界面的整個(gè)型譜412。此型譜對(duì)具有很好多模態(tài)能力和可得到處理能力的客戶設(shè)備有很豐富的交互式UI頁(yè)面組件(如頁(yè)面組件R)。該庫(kù)還包括對(duì)具有較差用戶界面及較低處理能力的客戶端的瘦頁(yè)面組件(如頁(yè)面組件T)。圖4中示出的用戶界面UI是從此型譜412某處的頁(yè)面組件414取出的。
而且,用戶界面智能地響應(yīng)用戶的動(dòng)作,例如如上所述,用戶界面組件140結(jié)合模式組件170(和模式服務(wù)292)向用戶提供“智能標(biāo)簽”的動(dòng)作菜單,若用戶鍵入一個(gè)地址(在網(wǎng)頁(yè),文擋或聯(lián)系表中),模式服務(wù)292使該地址被識(shí)別成地址并隨即提供一個(gè)熱標(biāo)簽,智能標(biāo)簽可以通過用如蘭色下劃虛線那樣的明顯標(biāo)記標(biāo)出被識(shí)別的項(xiàng)目來表示。
用戶隨后可以借助如點(diǎn)擊鼠標(biāo)右鍵來選擇標(biāo)出的地址,以得到適合于識(shí)別的項(xiàng)的類型的動(dòng)作菜單。例如,對(duì)識(shí)別成地址的項(xiàng)的動(dòng)作菜單可以提供看一個(gè)地圖,打印地址標(biāo)簽,加到聯(lián)系表等能力。一個(gè)合適的動(dòng)作可以包括使用該地址找到如包括該地址的地圖此類更多的信息。這樣做時(shí),用戶界面可以通過目錄服務(wù)組件150咨詢可以得到的地址服務(wù)。
而且,用戶界面可以檢測(cè)到用戶在鍵入,并因此將用戶界面特征集中在文字處理活動(dòng),例如,鍵入可以觸發(fā)事件,導(dǎo)致用戶界面判定用戶似乎試圖進(jìn)行文字處理,那樣的事件觸發(fā)和推理組合由事件組件155提供。
用戶界面還能具有統(tǒng)一的命令行,它可用于完成搜索,導(dǎo)航到一個(gè)網(wǎng)站,訪問文件系統(tǒng)中的文件,或完成自然語(yǔ)言的詢問及命令。在較佳實(shí)例中,統(tǒng)一的命令行能在每種設(shè)備類型上以某種格式提供。在進(jìn)行詢問時(shí),用戶界面組件140使用智能的反饋過程對(duì)命令,控制或邏輯處理的執(zhí)行引起說明或?qū)ふ掖_認(rèn)。例如,用戶將“How’s the market doing today?-今日市場(chǎng)在做什么?”鍵入統(tǒng)一命令行中,在此問題中有某些多義性和/或含糊處,然后用戶界面組件140可以響應(yīng)說“What index are you interested in?-你感興趣什么指數(shù)?”用戶隨后在命令框中鍵入“Dow Jones-道·瓊斯”。用戶界面組件140然后具有足夠信息說出答復(fù)。為了在命令行中返回請(qǐng)求的信息,用戶界面組件140必須結(jié)合存儲(chǔ)和消息發(fā)送組件來檢索信息。
統(tǒng)一的命令行也能用于完成自然語(yǔ)言命令。例如,用戶可以鍵入“Schedulea meeting with Joe Doe for 3:00-安排與Joe Doe在3點(diǎn)鐘會(huì)面”。在用戶界面組件140說明了會(huì)見日期,時(shí)間長(zhǎng)度和地點(diǎn)后,用戶界面隨后咨詢Joe Doe的日程表,那樣的訪問John Doe是否已接受。若由John Doe建立的規(guī)則和偏愛允許以請(qǐng)求的時(shí)間,地點(diǎn)和請(qǐng)求的時(shí)間長(zhǎng)短安排會(huì)見,那么在將John Doe的日程表和請(qǐng)求者的日程表中安排該見面。
統(tǒng)一的命令/搜索行分析且公布(Brokers out)的對(duì)由本地及在網(wǎng)絡(luò)上提供的服務(wù)詢問或命令。它存在于用戶界面中的一個(gè)地方,以同樣方法訪問,無論它們?cè)谀睦?,所有輸入形?鍵盤鍵入,講話,手寫)都能由用戶界面所接收。所有等級(jí)的情報(bào)—口令,布爾,和自然語(yǔ)言(摘錄,名詞,短語(yǔ)和/或很好形成的句子)也可由用戶界面接收和處理。
用戶界面組件140可以提供單個(gè)統(tǒng)一的對(duì)象,它識(shí)別一個(gè)終端用戶是具有許多角色的人,如學(xué)生,雇員,經(jīng)理,財(cái)經(jīng)人員,病人,雙親,消費(fèi)者和鋼琴家。通過單個(gè)統(tǒng)一對(duì)象的用戶界面將所有這些角色匯合在一起建立豐富無縫的感受。
用戶界面組件140的統(tǒng)一門戶允許終端用戶定制和控制統(tǒng)一門戶的設(shè)置,包括建立項(xiàng)目?jī)?yōu)先權(quán),從而使在操作系統(tǒng),文擋,和用于各種活動(dòng)的應(yīng)用軟件之間的視覺差異最小化。
通過此種定制,用戶界面組件140智能地提供和布置頁(yè)面。此種定制以偏愛的形式存入MyState目錄905。一旦用戶登錄到客戶設(shè)備并對(duì)安全性組件165作了認(rèn)證,服務(wù)器聯(lián)盟120共同獲得遵循這些偏愛的個(gè)性化信息(可能存在存儲(chǔ)組件145的海量存儲(chǔ)中),并經(jīng)鏈路410向用戶界面提供信息。
用戶還允許定制和控制用戶界面組件140的設(shè)置,以包括對(duì)用戶的工作狀態(tài)的覺察并相應(yīng)地調(diào)節(jié)用戶界面的樣式。可能需要不同用戶界面的示例性工作狀態(tài)包括用戶在PC上工作時(shí),用戶離開辦公室時(shí),用戶通過PDA或無線電話訪問數(shù)據(jù)時(shí),用戶在家里、或其他與服務(wù)器聯(lián)盟120連接的地點(diǎn)或電子設(shè)備上工作時(shí)。
用戶界面還使終端用戶能指令設(shè)備收集有關(guān)用戶優(yōu)先級(jí)的數(shù)據(jù),包括消息和優(yōu)先級(jí)的查明。例如,用戶可以設(shè)置這樣一個(gè)偏愛,使得從他們老板來的消息總被給予高的優(yōu)先級(jí)并打斷他們來接收這些消息。因此,從事件組件155來的關(guān)于消息被收到的通知可以根據(jù)這些偏愛被過濾。統(tǒng)一的對(duì)象處理程序也使基于網(wǎng)絡(luò)的通信能將數(shù)據(jù)從單臺(tái)PC貢獻(xiàn)給社區(qū)項(xiàng)目。這在工作社區(qū)中特別有用,因?yàn)樗菇?jīng)理具有從他的PC門戶控制內(nèi)容的能力。
還能啟用視窗共享和文檔共享,使得當(dāng)一個(gè)用戶與通信列表中的某人通信時(shí),雙方均能激活視窗共享或文檔共享,使得其他人也能看到正在討論的視窗或文檔。那樣的視窗共享能通過訪問在服務(wù)器聯(lián)盟中的海量存儲(chǔ)的文檔并通過配置安全性設(shè)置使得其他人能通過安全性組件165恰當(dāng)?shù)卦L問該文檔來予以實(shí)現(xiàn)。
用戶界面還建立臨時(shí)的模板,它允許用戶迅速地重新利用現(xiàn)有報(bào)表和其他數(shù)據(jù)結(jié)構(gòu)。此模板可以發(fā)布,分配,或通過統(tǒng)一的門戶與工作社區(qū)的其他成員共享,或在企業(yè)網(wǎng)或因特網(wǎng)上公布。當(dāng)在電子工作社區(qū)內(nèi)工作時(shí),模板的產(chǎn)生是有用的特征,使每個(gè)參與者能貢獻(xiàn)最終產(chǎn)品。某些模板從每個(gè)工作社區(qū)參與者請(qǐng)求特定信息以完成報(bào)表。
用戶界面還能使用“伙伴(buddy)表”,它帶有關(guān)于如何可以連接或達(dá)到列出的個(gè)人的預(yù)定設(shè)置。示例性連接包括電子郵件,電話,傳真,地址信息,視頻會(huì)談需求,無線通信門戶,或其他通信機(jī)制。這些“伙伴表”由事件組件155產(chǎn)生,當(dāng)一個(gè)人登錄到特定設(shè)備時(shí)它觸發(fā)一個(gè)事件。用戶界面組件140接收這些事件并向用戶示出他們。最后,用戶界面允許使用標(biāo)準(zhǔn)個(gè)人的和日程安排的模式,使得異種系統(tǒng)可以無縫地通信。
用戶界面支持個(gè)人設(shè)備的使用、與相關(guān)安全性設(shè)置中的用戶對(duì)象的會(huì)議覺察、與本地的及分布式參與者之間的文件共享、將在本地設(shè)備用于即時(shí)訪問的文檔在網(wǎng)上傳輸?shù)哪芰?、在統(tǒng)一的用戶界面門戶上作出的對(duì)手寫記號(hào)的響應(yīng)、和最后作為事件調(diào)度的結(jié)果的通知觸發(fā)。
用戶界面是用戶在各應(yīng)用軟件和通信之間無縫移動(dòng)的中心位置。單個(gè),統(tǒng)一的編輯/控制或編輯和控制允許用同一地方來包容在特定結(jié)構(gòu)數(shù)據(jù)庫(kù)上的查詢,系統(tǒng)得到應(yīng)用軟件狀態(tài)的覺察和訪問合適的應(yīng)用軟件模型的能力。
系統(tǒng)提供“個(gè)人門戶”用于提供對(duì)在PC上的應(yīng)用軟件和服務(wù)的訪問。例如,它使用用戶模式的知識(shí)以智能地填充并布置頁(yè)面。它提供用戶需要的關(guān)鍵連結(jié),用于導(dǎo)航個(gè)人的,共享的和全局的信息,并用于運(yùn)行他們的計(jì)算機(jī)。
因此,用戶界面是多模態(tài)的,提供了在從用戶接收輸入并提供輸出給用戶方面的靈活性。用戶界面也是響應(yīng)式的,它恰本地縮放客戶設(shè)備的能力并允許用戶在會(huì)話中切換客戶設(shè)備。用戶界面是智能的,這在于它推斷出在用戶動(dòng)作背后的目的,并采取適當(dāng)?shù)膭?dòng)作,如當(dāng)用戶界面識(shí)別特定的項(xiàng)目時(shí)為智能標(biāo)簽提供適合于該特定項(xiàng)目的有關(guān)動(dòng)作菜單。
F、事件本發(fā)明的事件組件155透明地方便了在任何發(fā)布或產(chǎn)生事件的軟件組件(“事件源”)和任何預(yù)訂或接收事件通知的軟件組件(“事件匯點(diǎn)”)之間的事件分布式通信。在此說明書及權(quán)利要求中事件是有關(guān)一個(gè)或多個(gè)狀態(tài)的觀察,例如系統(tǒng)組件的狀態(tài),用戶的活動(dòng),環(huán)境的測(cè)量等,事件系統(tǒng)使軟件組件和結(jié)構(gòu)能訪問有關(guān)它們前后情況的不斷更新的信息。
圖5大致地示出了事件組件155,它提供在一個(gè)或多個(gè)事件源及一個(gè)或多個(gè)事件匯點(diǎn)之間的示例性事件通信。在事件源602以多種方式產(chǎn)生一個(gè)事件。事件可以由事件源602作為廣播或作為到事件匯點(diǎn)604的直接通信而產(chǎn)生。事件匯點(diǎn)604能傾聽或主動(dòng)地輪詢事件源602以接收事件。此外,事件匯點(diǎn)604能向事件源602預(yù)訂或傾聽從服務(wù)器聯(lián)盟120中的中間點(diǎn)發(fā)送的事件。
事件組件155通過事件合成機(jī)構(gòu)608將由事件源602提供的基本或原子事件606轉(zhuǎn)換成漸進(jìn)的高級(jí)事件。事件合成的過程是從一組觀察到的事件和/或存儲(chǔ)的事件數(shù)據(jù)構(gòu)造新的事件或動(dòng)作。事件合成可由規(guī)則,過濾器驅(qū)動(dòng),并由更先進(jìn)的跨越復(fù)雜的型譜的樣式識(shí)別到豐富的推理機(jī)構(gòu)的模式識(shí)別器來驅(qū)動(dòng)。因此,事件合成把可用的原子事件606的組改編成適本地匹配軟件組件的信息需求的觀察610,向它門提供正確抽象水平的信息,使其作出好的決策。
事件合成608匯集,過濾低級(jí)事件(原子事件606),并將其轉(zhuǎn)換成高級(jí)事件612,并時(shí)常將事件直接映射成如世界活動(dòng)614那樣的活動(dòng)?;顒?dòng)包括真實(shí)世界的活動(dòng)614信息收集活動(dòng)616,它用作經(jīng)過主動(dòng)地輪詢或傾聽來收集新的事件,事件合成608提供組合事件和數(shù)據(jù)的方法,而不管事件在接近的時(shí)間內(nèi)觀察到或在很不同的時(shí)間內(nèi)觀察到??梢允褂檬录S玫恼Z(yǔ)言618和合成編譯器620構(gòu)筑合成組件,事件合成608可使用各種方法,包括從簡(jiǎn)單規(guī)則和過濾器來的復(fù)雜型譜到更豐富的瞬時(shí)樣式匹配和直接的邏輯和概率推理以便組合事件和數(shù)據(jù)。
事件的使用者,如事件存儲(chǔ)622,從低級(jí)(原子事件)或高級(jí)事件612進(jìn)行推理624并根據(jù)這些推理采取動(dòng)作,推理624的范圍從簡(jiǎn)單的信息重新發(fā)送到邏輯的、符合貝葉斯判決規(guī)則的和決策論的推理,例如,有關(guān)用戶的位置,活動(dòng),和活動(dòng)設(shè)備的事件流能由Bayesian模型分析,以提供一組有關(guān)用戶目標(biāo)的概率,它們可輪流被用來作出有關(guān)最重要的服務(wù)及提供給用戶的通知的理想決策。雖然圖5將事件合成608示作與基于事件的推論624分開的,從低級(jí)事件合成高級(jí)事件的復(fù)雜合成機(jī)制在概念上與用于作決策的推論是溶合的。
事件組件155提出,事件能在整個(gè)服務(wù)器聯(lián)盟120和客戶設(shè)備100中分布、登錄、和訪問,并發(fā)生關(guān)于整個(gè)事件系統(tǒng)和子系統(tǒng)不同方面的“元推理”,它給系統(tǒng)賦予做自監(jiān)控、控制和阻塞事件通信和接收的能力。元推理指的是保證事件系統(tǒng)健康和維護(hù)的方法和推理機(jī)制。
事件組件155允許任何事件源或匯點(diǎn)發(fā)布,預(yù)訂或傾聽正在廣泛廣播或在范圍域內(nèi)廣播的事件。這需要在網(wǎng)絡(luò)中間節(jié)點(diǎn)上的預(yù)訂,分解和合成布局的智能分布及引導(dǎo)。事件組件使用安全性組件165的安全性服務(wù)以允許事件源,事件匯點(diǎn)和中間節(jié)點(diǎn)能夠代表能力。
事件組件155設(shè)計(jì)成便于在其他情況下不相容的事件源和事件匯點(diǎn)中的互操作通信和優(yōu)先化,同時(shí)保持高度的單個(gè)匯點(diǎn)/源的隱私和整個(gè)系統(tǒng)的安全性。事件組件155包括(但不限于)發(fā)布和預(yù)訂系統(tǒng),事件合成機(jī)構(gòu),事件引導(dǎo)機(jī)構(gòu),事件存儲(chǔ)和登錄機(jī)構(gòu),和事件系統(tǒng)元推理。事件組件155也使用模式和模式組件170提供的模式服務(wù),以及通信協(xié)議和由消息發(fā)送組件160提供的服務(wù)質(zhì)量。
事件模式是類別描述和定義物理事件結(jié)構(gòu)的這些類別之間關(guān)系的集合。類別間關(guān)系包括事件類別,源,目標(biāo),語(yǔ)義,本體的內(nèi)容信息,觀察的可靠性,和事件源知道的服務(wù)質(zhì)量屬性。在較佳實(shí)施例中,類別描述是基于YML的模式類別。
事件描述使用表示其結(jié)構(gòu)和約束的模式描述語(yǔ)言及表達(dá)時(shí)間安排行為及合成特征的描述樣式語(yǔ)言。在模式語(yǔ)言中,事件結(jié)構(gòu)是簡(jiǎn)單的。事件具有用于樣式匹配和引導(dǎo)的公開外殼和私有的本體,本體用于私下傳遞端到端的數(shù)據(jù)。有了此結(jié)構(gòu),樣式語(yǔ)言能使用范例數(shù)據(jù)和模式信息以便捕捉建立派生事件的高級(jí)語(yǔ)義和規(guī)則。
模式語(yǔ)言的使用允許比簡(jiǎn)單的基于名字的習(xí)慣更大范圍的表示,單個(gè)事件被過濾及轉(zhuǎn)換,而多個(gè)時(shí)間合成一起成為高級(jí)事件。樣式語(yǔ)言包括一些操作符,用于合成和封裝,臨時(shí)關(guān)系,邏輯關(guān)系,字符串處理和XML操作,終點(diǎn)命名和拓?fù)涿枋?,以及?shù)學(xué)關(guān)系。該語(yǔ)言通過參數(shù)化方便了合成規(guī)范的重使用。
事件的模式是可擴(kuò)展的。根據(jù)繼承的較強(qiáng)的關(guān)系模型允許逆向可兼容的版本化。根據(jù)較強(qiáng)的可擴(kuò)展類型系統(tǒng),事件類型具有很好定義的特征。該模型是獨(dú)立地使用標(biāo)準(zhǔn)的XML詞匯描述的協(xié)議。除了事件模式以外,各種服務(wù)被模型化成包含分布式事件系統(tǒng)(如發(fā)布者能力模式,預(yù)訂者能力模式,事件發(fā)送模式,拓?fù)?,事件存?chǔ)模式,合成和過濾等)。
模式化事件服務(wù)的服務(wù)/組件使得實(shí)現(xiàn)了互操作。發(fā)現(xiàn),以及瀏覽事件服務(wù)所有組件的能力。模式化還使得具有統(tǒng)計(jì)上分析/優(yōu)化合成情景的能力,審查/保存長(zhǎng)時(shí)間運(yùn)行的合成情景的狀態(tài)的能力,監(jiān)控事件服務(wù)的操作的能力,而且模式化用作為元推理的主要基礎(chǔ)。
事件系統(tǒng)包括由基于模型的預(yù)定登錄驅(qū)動(dòng)的高度優(yōu)化的發(fā)布和預(yù)定服務(wù)。事件系統(tǒng)提供了用于發(fā)布事件的服務(wù)的靈活性和選擇,例如,使用核心驅(qū)動(dòng)器編程模型的核心事件(如WDM驅(qū)動(dòng)器事件),使用低級(jí)操作系統(tǒng)服務(wù)編程模型的用于發(fā)布事件的非COM API(如安全性審核事件,目錄,服務(wù)控制管理器),對(duì)正常應(yīng)用的典型COM接口,和使用本機(jī)的COM+編程模型的高級(jí)COM+類。
“事件預(yù)定”是當(dāng)發(fā)生某個(gè)狀態(tài)時(shí)事件底層結(jié)構(gòu)通知預(yù)定組件的請(qǐng)求。那樣狀態(tài)的例子可以是“CPU的使用超過90%”,“過程A已停止”等。這些指令作為配置對(duì)象存入模式倉(cāng)庫(kù)。
每條指令包括兩部分。第一部分規(guī)定關(guān)心的事件(過濾器)。第二部分規(guī)定響應(yīng)此事件要進(jìn)行的動(dòng)作。過濾器包括確定關(guān)心的事件的語(yǔ)句。單個(gè)過濾器能觸發(fā)多個(gè)動(dòng)作。動(dòng)作可以由一組用戶定義的規(guī)則驅(qū)動(dòng)。例如,用戶可以規(guī)定,在電話談話中的打斷只能當(dāng)她從某個(gè)高優(yōu)先級(jí)發(fā)送者接收電子郵件時(shí)發(fā)生。這使用戶能繼續(xù)電話談話而不被打斷,除非用戶要被打斷。因此,用戶可以通過規(guī)定工作時(shí)問侵入個(gè)人時(shí)間和相反情況的規(guī)則來平衡工作時(shí)間和個(gè)人時(shí)間。在打斷是合適的情況,隨后可以從海量存儲(chǔ)提供電子郵件消息。以此方式,用戶保持對(duì)她的信息和時(shí)間的控制。
根據(jù)租約的概念,預(yù)訂具有可配置的有效時(shí)間。需要渡過系統(tǒng)重新起動(dòng)的預(yù)訂被存入模式倉(cāng)庫(kù)。但是,還支持短期廉價(jià)的事件預(yù)訂。它們可以用簡(jiǎn)單的回叫和過濾配置,而不需要預(yù)訂者實(shí)行可持續(xù)的綁定。
預(yù)訂可以是點(diǎn)對(duì)點(diǎn)或點(diǎn)對(duì)組。在“當(dāng)在區(qū)域X內(nèi)的所有服務(wù)器失效時(shí)通知我”或“在區(qū)域X中安裝應(yīng)用軟件Y的所有機(jī)器上登錄所有安全插入件”的情景中,分布式服務(wù)是有用的。所以分布應(yīng)用程序感興趣的不是發(fā)生在單臺(tái)機(jī)器上的事件而是發(fā)生在作為服務(wù)器聯(lián)盟120的一部分的一組機(jī)器上的事件。這些情景需要預(yù)定被定義一次并自動(dòng)分發(fā)到該組的某些或所有機(jī)器,并當(dāng)新的機(jī)器加入該組時(shí),預(yù)定自動(dòng)應(yīng)用于它。
在組中事件的分發(fā)預(yù)訂由在目錄組件150提供的分布式名字空間中的對(duì)象表示。那些對(duì)象也能包括路由配置,它命令轉(zhuǎn)發(fā)服務(wù)應(yīng)該把事件發(fā)送到什么地方,當(dāng)新的機(jī)器進(jìn)入該服務(wù)器聯(lián)盟120,分布式名字空間的可用性保證完成了所有預(yù)訂,且事件開始流向預(yù)訂者。
預(yù)訂建造者應(yīng)能規(guī)定它們的預(yù)訂需要的服務(wù)質(zhì)量(“QOS”)。事件組件155結(jié)合消息發(fā)送組件160,以保證通過使用適當(dāng)?shù)膫鬏攨?shù)和相應(yīng)地引導(dǎo)業(yè)務(wù)的其余部分而滿足QOS。(若規(guī)定了保證的提交,所有內(nèi)部隊(duì)列必須維持固定的QOS)。
在該環(huán)境中產(chǎn)生的事件數(shù)能夠十分大。因此,事件提交的開銷能造成很大的操作負(fù)擔(dān)。為了使發(fā)布服務(wù)能縮放系統(tǒng),無人期望的事件必須在事件的有效時(shí)間內(nèi)盡可能早地丟棄。為此,有效的過濾服務(wù)針對(duì)突出的預(yù)訂作事件的快速認(rèn)證。但是現(xiàn)有預(yù)訂的數(shù)目也可能很大。因此過濾服務(wù)根據(jù)如決策樹那樣的機(jī)構(gòu)使用有效的逆向詢問引擎。
除了過濾事件,事件過濾引擎對(duì)發(fā)布者提供預(yù)訂分析服務(wù)。當(dāng)預(yù)訂者關(guān)心他們的事件以及當(dāng)沒有人再關(guān)心時(shí),該服務(wù)通知發(fā)布者。對(duì)發(fā)布者作出規(guī)定使其完成它們能完成的任何過濾,而不提供無用的事件。
分布事件驅(qū)動(dòng)的服務(wù)包括這樣的情況,單獨(dú)的事件不太重要,除非它們以某種順序發(fā)生,或與某些數(shù)據(jù)狀態(tài)一致。那樣情況的例子是“當(dāng)所有備份控制器關(guān)閉時(shí)發(fā)通知”,“當(dāng)服務(wù)器在負(fù)載較輕時(shí)崩潰5次的情況下通知”或“識(shí)別下述情況用戶在5秒范圍內(nèi)查詢5個(gè)以上菜單而沒有作出選擇”。為檢測(cè)這些組合,系統(tǒng)合成事件和數(shù)據(jù)。
事件合成服務(wù)608可以是由事件和數(shù)據(jù)狀態(tài)驅(qū)動(dòng)的狀態(tài)機(jī)。在一個(gè)實(shí)施例中,每個(gè)合成服務(wù)在內(nèi)部配置成描述狀態(tài)轉(zhuǎn)移的對(duì)象的組合。因?yàn)槟承┓?wù)是十分復(fù)雜的,可提供合成語(yǔ)言或模板以簡(jiǎn)化設(shè)置合成服務(wù)的任務(wù)。下面是示例性情景聚集類似的事件(如“在我公司里的任何SQL服務(wù)器上發(fā)生任何交易失敗事件時(shí)呼叫我,除非那些發(fā)生在服務(wù)器關(guān)閉后的5分鐘之內(nèi)的事件”);合成事件和數(shù)據(jù)(如“當(dāng)我在讀一個(gè)電子郵件時(shí)若另一個(gè)到達(dá),不要顯示出來”);從事件隨時(shí)間的變化計(jì)算狀態(tài)(如“在昨天我的電子郵件排隊(duì)長(zhǎng)度的趨勢(shì)是什么?”);和計(jì)數(shù)和活動(dòng)監(jiān)視(如“若在5分鐘內(nèi)無鼠標(biāo)移動(dòng)及無按鍵則通知我”)。
G、消息發(fā)送本發(fā)明的消息發(fā)送組件160使客戶設(shè)備110和服務(wù)器140能通信。術(shù)語(yǔ)“消息”推廣到在應(yīng)用軟件或操作環(huán)境100的其他組件之間交換的結(jié)構(gòu)化數(shù)據(jù)。消息發(fā)送的例子包括應(yīng)用到應(yīng)用的消息發(fā)送,個(gè)人到個(gè)人的消息發(fā)送(電子郵件),和合作的應(yīng)用。按較佳實(shí)施例,消息發(fā)送組件160是啟用HTTP的,且與包括DMZ的防火墻配置,負(fù)載平衡服務(wù)器,及NAT服務(wù)兼容。
為了便于互操作性,消息發(fā)送組件160提供公共的消息發(fā)送應(yīng)用程序接口(API)和在HTTP,SMTP和/或其他傳輸協(xié)議頂層的一組服務(wù),以便為消息發(fā)送應(yīng)用提供公共的語(yǔ)義而不管底層的傳輸協(xié)議。以這樣的方式,因特網(wǎng)及其他廣域網(wǎng)被用于提供有效和普遍的消息發(fā)送,基本上不考慮與特定設(shè)備有關(guān)的傳輸協(xié)議,只要該傳輸是與公共消息發(fā)送API兼容即可。
此外,消息發(fā)送組件160在用戶和它能支持的連接設(shè)備的數(shù)量以及它能使用的設(shè)備或網(wǎng)絡(luò)的類型方面是可伸縮的。換言之,消息發(fā)送組件160很容易適用于從小的無線設(shè)備到“超大規(guī)模”網(wǎng)絡(luò)及消息發(fā)送系統(tǒng)范圍內(nèi)的設(shè)備與系統(tǒng)。此可伸縮性特征表征為能夠在允許小設(shè)備加入高服務(wù)質(zhì)量(QOS)消息交換和復(fù)雜的分布式服務(wù)的消息發(fā)送平臺(tái)上構(gòu)筑消息發(fā)送應(yīng)用。換言之,消息發(fā)送組件160在服務(wù)器上是高度可伸縮的,且能縮小到小的設(shè)備,這意味著有可能構(gòu)筑合適的“小占地面積”子集。
與傳統(tǒng)的消息發(fā)送系統(tǒng)相反,本發(fā)明的消息發(fā)送組件160使用平臺(tái)消息發(fā)送結(jié)構(gòu)。不是作為分層的產(chǎn)品,消息發(fā)送服務(wù)作為基本的平臺(tái)基層存在,能由操作本發(fā)明的消息發(fā)送服務(wù)的實(shí)體或第三方對(duì)此平臺(tái)寫新的應(yīng)用程序和基于消息的服務(wù),一個(gè)例子是由事件組件155提供的分布式事件發(fā)送。消息發(fā)送組件160以這樣一種方式定義,使得可以識(shí)別和包容基于因特網(wǎng)的協(xié)議并以共同的風(fēng)格利用新的和現(xiàn)有的協(xié)議。此外,消息發(fā)送組件160將僅一次的依次消息提交提供給異步的,無連結(jié)的,存儲(chǔ)和轉(zhuǎn)發(fā)的可靠的消息發(fā)送。
消息發(fā)送組件160目標(biāo)在于可靠地提交應(yīng)用或服務(wù)定義的消息“點(diǎn)滴”,不同于覺察或取決于特定消息類型,消息內(nèi)容,或服務(wù)協(xié)議的消息發(fā)送系統(tǒng)。消息發(fā)送組件160不直接應(yīng)用取決于數(shù)據(jù)的路由模式,基于話題或主題的發(fā)布/預(yù)訂底層結(jié)構(gòu),或其他消息轉(zhuǎn)換服務(wù)的數(shù)據(jù)。
消息發(fā)送組件160為分布事件支持的傳輸層提供合適的基礎(chǔ)。雖然消息發(fā)送服務(wù)還能用附加功能補(bǔ)充,本發(fā)明能在不需要消息發(fā)送服務(wù)確定完全的集成的事件系統(tǒng)的情況下實(shí)現(xiàn)。此外,消息發(fā)送服務(wù)不需要確定集成的高級(jí)發(fā)現(xiàn)消息的終點(diǎn)發(fā)現(xiàn)服務(wù)。
消息發(fā)送組件160的一個(gè)實(shí)施例現(xiàn)參考圖6作更詳細(xì)的描述。為了滿足向應(yīng)用軟件,用戶,硬件等對(duì)可靠和靈活的消息發(fā)送的要求,消息發(fā)送組件包括對(duì)所有消息發(fā)送活動(dòng)的公共API702。API702展示了公共開發(fā)者界面并提供如認(rèn)證,訪問控制,和服務(wù)質(zhì)量保證等的共享能力的共同實(shí)現(xiàn)。消息發(fā)送組件160最好還包括消息發(fā)送應(yīng)用704,網(wǎng)關(guān)706,路由708,HTTP通信服務(wù)710,傳輸協(xié)議712,將在下面作詳細(xì)描述。
在圖6中被指定為基于隊(duì)列的API及服務(wù)702的層(以后稱為API702或?qū)?02)在不同的傳輸協(xié)議和共同的服務(wù)之中提供共同的界面。API702建立簡(jiǎn)單的編程模型,它使開發(fā)者能將消息提交給在若干URL名字空間中的一個(gè)的URL識(shí)別的目標(biāo)。在較佳實(shí)施例中,基本的API702的目標(biāo)結(jié)構(gòu)可以是隊(duì)列,這類似于由Redmond,Washington的微軟公司開發(fā)的現(xiàn)有的基于隊(duì)列的API的MICROSOFTMessage Queue(MSMQ)。
因?yàn)椴煌膫鬏攨f(xié)議712不是內(nèi)在地具有內(nèi)建的同樣的服務(wù)級(jí)別,許多服務(wù)在層702中實(shí)現(xiàn)。因?yàn)椴煌膫鬏攨f(xié)議712具有不同層的集成服務(wù),在層702和指定傳輸協(xié)議712之間的界面十分復(fù)雜,因?yàn)楫?dāng)傳輸協(xié)議具有內(nèi)在的特征機(jī)制如認(rèn)證或高質(zhì)量服務(wù),就希望使用它們。但是在簡(jiǎn)單地支持任意消息的最努力的提交的任何傳輸協(xié)議712的頂層還提供所有基本能力。
按照本發(fā)明的一個(gè)實(shí)施例,層702最好將一定范圍的服務(wù)質(zhì)量與消息提交相聯(lián)系。例如,表示QOS定義為高性能基于存儲(chǔ)器中的消息發(fā)送,它對(duì)消息宿主的重起動(dòng)是不能復(fù)原的。永久性QOS是基于盤的消息發(fā)送,它提供至少一次提交保證,僅一次/依次的QOS與永久性消息發(fā)送有關(guān),它提供僅一次排序的提交(復(fù)制被識(shí)別并刪除,錯(cuò)誤的到達(dá)信息被拒絕)。
層702的安全性服務(wù)使能做按照安全組件165認(rèn)證,訪問控制和/或保密服務(wù)。例如,認(rèn)證可以根據(jù)按照端到端模型的證書,模型可以是基于用戶的或基于機(jī)器的,或能按其他模型提供,包括XMLDSIG,MSMQ,SecureMultipurpose Internet Mail Extensions(S/MIME),或其他合適的認(rèn)證系統(tǒng)。訪問控制(即允許誰(shuí)得到和處理隊(duì)列)能根據(jù)在消息認(rèn)證中建立的憑證以面向用戶的風(fēng)格控制。保密服務(wù)(即加密和解密)可以使用通過HTTPS使能的轉(zhuǎn)發(fā)—到—轉(zhuǎn)發(fā)(hop-to-hop)的保密建立,它意味著中間服務(wù)器是可靠的。端到端保密能通過密鑰交換協(xié)議而啟用。
本發(fā)明的消息發(fā)送組件160能適應(yīng)于操作各種現(xiàn)有的及未來的傳輸協(xié)議。誠(chéng)然,與不同傳輸協(xié)議的互操作能力是API設(shè)計(jì)和存在的主要目的。雖然其他傳輸協(xié)議也能被使用,圖7具體示出結(jié)合4個(gè)傳輸協(xié)議712使用的API702,這些傳輸協(xié)議是最有影響和最多功能的傳輸協(xié)議的例子。HTTP/HTTPS712a是使用基于SOAP的消息表示的傳輸協(xié)議。MSMQ二進(jìn)制傳輸協(xié)議712b支持豐富的QOS組。例如,MSMQ提供高度優(yōu)化的二進(jìn)制格式,它是壓縮的,且能對(duì)消息內(nèi)容作結(jié)構(gòu)化訪問。組播(Multicast)傳輸協(xié)議712c支持需要在接收者方面有大的適應(yīng)能力的簡(jiǎn)單消息發(fā)送的應(yīng)用。對(duì)很好適合傳統(tǒng)的SMTP模型的應(yīng)用提供SMTP傳輸協(xié)議712d,較大的消息和對(duì)電子郵件信息量典型的情況很適合于SMTP。此外,SMTP具有的特征(在協(xié)議和在使用實(shí)現(xiàn)中)使它對(duì)希望使用現(xiàn)有底層結(jié)構(gòu)業(yè)務(wù)—對(duì)—業(yè)務(wù)(“B2B”)的應(yīng)用是有用的。雖然SMTP支持基本的“至少一次”的服務(wù)質(zhì)量和簡(jiǎn)單的認(rèn)證,它具有好的性能但很低水平的附加能力。
網(wǎng)關(guān)706的處理與植入的傳輸協(xié)議712有些不同。傳輸協(xié)議712通常不支持第三方可以加入新組件的完全可插入模型。替代的是網(wǎng)關(guān)706為一部分URL名字空間接收消息通信量,然后網(wǎng)關(guān)706能連接其他類型的通信系統(tǒng),如MQSERIES或GROUPWISE的電子郵件連結(jié)器。
消息發(fā)送組件160使消息能以可互操作,安全和透明的方式在多方之間交換,為此,共同的自描述語(yǔ)言包裝消息發(fā)送的元數(shù)據(jù)和有效載荷,在一個(gè)較佳實(shí)施例中,XML被用作表達(dá)這些需要的描述語(yǔ)言。
可擴(kuò)能力對(duì)于允許消息發(fā)送應(yīng)用704以無縫的方式將值加到基礎(chǔ)的消息發(fā)送組件160是重要的。例如,協(xié)議應(yīng)具有通用機(jī)制以引入應(yīng)用特有的模塊。模塊的例子是消息追蹤,登錄和數(shù)據(jù)轉(zhuǎn)換。這能展示為用于將應(yīng)用特有的單元插入包裝一個(gè)消息的XML文檔的標(biāo)準(zhǔn)。
在較佳實(shí)施例中,消息發(fā)送組件160使用HTTP作為傳輸協(xié)議,它保證本地的“HTTP代理”服務(wù)可用。類似地,消息發(fā)送組件160能使用標(biāo)準(zhǔn)的HTTP安全性能機(jī)制(SSL)。
為了可伸縮,消息發(fā)送組件160能利用可用的負(fù)載平衡服務(wù)。對(duì)較低的服務(wù)質(zhì)量,消息發(fā)送主要是無狀態(tài)(stateless)的,因此使用的基本的負(fù)載平衡機(jī)制是透明的。但是,由于較高QOS固有的是有狀態(tài)的,消息發(fā)送服務(wù)提供消息交換時(shí)的狀態(tài)保持的機(jī)制,包括外部機(jī)制(應(yīng)用特有的)和內(nèi)部機(jī)制(由消息發(fā)送低層結(jié)構(gòu)產(chǎn)生的)。為此,消息發(fā)送組件160可以關(guān)于保存哪個(gè)端到端提交語(yǔ)義使用單個(gè)后端(back-end)消息存儲(chǔ),和從外部地址到內(nèi)部消息存儲(chǔ)地址的映射軟件,注意到,映射軟件能由“進(jìn)入消息代理”服務(wù)提供,后者能與因特網(wǎng)一起使用并提供因特網(wǎng)的存在。
通常,使用HTTP作為傳輸協(xié)議的消息發(fā)送宿主需要有發(fā)送和接收消息的能力。這意味著兼有HTTP“聽”和“講”的服務(wù)。在較佳實(shí)施例中,通用的收聽器提供基本的服務(wù)方HTTP協(xié)議支持。作為由機(jī)器上所有HTTP服務(wù)器共享的系統(tǒng)組件的通用收聽器代表所有服務(wù)器應(yīng)用管理端口80和經(jīng)過通用收聽器API(UL API)將進(jìn)入請(qǐng)求提供給它們。服務(wù)和應(yīng)用軟件能使用ULAPI接收直接到它們的處理環(huán)境的請(qǐng)求。對(duì)于需要在系統(tǒng)管理過程中請(qǐng)求服務(wù)的服務(wù)器應(yīng)用(如活動(dòng)服務(wù)器頁(yè)面)提供可選的過程管理軟件。
通用的收聽器在機(jī)器上提供由所有基于HTTP的服務(wù)器應(yīng)用所共享的核心方式收聽者。所有應(yīng)用能有效地共享端口80。通用收聽者也能請(qǐng)求分析并提供響應(yīng)緩存,用于高性能提交靜態(tài)內(nèi)容和“穩(wěn)定的”動(dòng)態(tài)內(nèi)容。應(yīng)用軟件能經(jīng)過配置和ULAPI控制緩存,緩存的響應(yīng)能不必進(jìn)入用戶方式而被提交。
通用收聽器還能根據(jù)最長(zhǎng)的匹配URL前綴進(jìn)一步分派請(qǐng)求到用戶方式的“工作器過程”,這些用戶方式應(yīng)用具有對(duì)核心收聽器組件的完全隔離。工作器過程能使用“UL API”接收并響應(yīng)請(qǐng)求。此外,工作器過程服務(wù)于URL名字空間的多個(gè)部分。多于一個(gè)工作器過程(“花園”)能服務(wù)同一組應(yīng)用,用于增加可伸縮性,可用性和應(yīng)用之間的隔離。
HTTP服務(wù)器過程管理器是系統(tǒng)組件,它能可選地結(jié)合UL使用以管理工作器過程。過程管理器提供工作過程的按需起動(dòng)(如由進(jìn)入的請(qǐng)求觸發(fā))。過程管理器還能建立工作器過程“健康監(jiān)控”和工作器過程“循環(huán)”(關(guān)閉/重新起動(dòng))以便從遺漏,掛起的服務(wù)器等恢復(fù)。循環(huán)能由時(shí)間,接收的請(qǐng)求數(shù),或作為健康監(jiān)控的結(jié)果而被觸發(fā)。此外,過程管理器能為配置,控制,和永久性配置提供管理界面。
在一個(gè)實(shí)施例中,HTTP客戶端以核心方式實(shí)現(xiàn)。以核心方式實(shí)現(xiàn)的理由1,性能;2,與核心組件的通信;和3,收聽器/講話器的集成。收聽器/講話器集成的好處包括性能優(yōu)化及共享的實(shí)現(xiàn)。
消息發(fā)送系統(tǒng)能可選地實(shí)現(xiàn)HTTP協(xié)議擴(kuò)展,對(duì)其的支持在收聽器及講話器實(shí)現(xiàn)中建立。一個(gè)擴(kuò)展關(guān)于“Webmux”,它提高了HTTP連接管理,支持更有效的連接多路復(fù)用,它在高容量B2B情況中尤其有價(jià)值。
如上所述,消息發(fā)送組件160使用包括HTTP的多種傳輸協(xié)議的任一種,提供有效可靠的消息發(fā)送。其他技術(shù)平臺(tái)組件使用消息發(fā)送組件160來傳輸信息。消息發(fā)送組件160建立了標(biāo)準(zhǔn)接口,對(duì)它開發(fā)者能寫應(yīng)用程序,并利用消息發(fā)送服務(wù)的整體結(jié)構(gòu)和與本發(fā)明相關(guān)的其他特征。
H、存儲(chǔ)在描述分布式計(jì)算服務(wù)平臺(tái)155存儲(chǔ)組件145時(shí),引用術(shù)語(yǔ)“數(shù)據(jù)引擎”,它指的是任何那樣的介質(zhì),它們能用于攜帶或存儲(chǔ)計(jì)算機(jī)可執(zhí)行指令或數(shù)據(jù)結(jié)構(gòu)形式的程序碼手段,它們可由通用或?qū)S糜?jì)算設(shè)備訪問。
數(shù)據(jù)引擎能與許多類型的設(shè)備相關(guān)。例如,數(shù)據(jù)引擎可以關(guān)系到任何客戶設(shè)備110(臺(tái)式PC,膝上計(jì)算機(jī),個(gè)人數(shù)字助理(“PDA”),移動(dòng)電話,尋呼機(jī)客戶等(上面已結(jié)合圖1列出))。例如,數(shù)據(jù)引擎也能與服務(wù)器設(shè)備相關(guān),如應(yīng)用軟件,聲頻信號(hào),數(shù)據(jù)庫(kù),傳真,文件,企業(yè)網(wǎng),郵件,商人,調(diào)制解調(diào)器,網(wǎng)絡(luò)訪問,打印,代理,遠(yuǎn)程訪問,電話,終端,視頻,或網(wǎng)絡(luò)服務(wù)器等。這些服務(wù)器能位于服務(wù)器聯(lián)盟120中。
圖7示出存儲(chǔ)組件145的示例性結(jié)構(gòu),它說明數(shù)據(jù)引擎的使用,數(shù)據(jù)的可訪問性,和一個(gè)或多個(gè)應(yīng)用的執(zhí)行。存儲(chǔ)組件145可以分成3個(gè)區(qū)域,一般按照使用每個(gè)特定區(qū)域的實(shí)體的類型來表征。這些區(qū)域在圖7中示作802,804和806。例如,用戶通常使用區(qū)域802,開發(fā)者通常使用區(qū)域804,管理員通常使用區(qū)域806。
存儲(chǔ)組件145的基礎(chǔ)是例如MICROSOFTWINDOWS操作系統(tǒng)之類的操作系統(tǒng)的文件系統(tǒng)。在圖8中,該文件系統(tǒng)示作文件系統(tǒng)808。
數(shù)據(jù)引擎810是存儲(chǔ)組件的心臟。在較佳實(shí)施例中,數(shù)據(jù)引擎810可以是基于微軟公司的SQL Server的SQL Server Storage Engine。建立在數(shù)據(jù)引擎810頂層的是各種數(shù)據(jù)模型,例如XML數(shù)據(jù)模型,關(guān)系數(shù)據(jù)模型,消息發(fā)送數(shù)據(jù)模型(電子郵件,日程表,成組多產(chǎn)性)如基于微軟公司的Exchange Server的數(shù)據(jù)交換模型(未示出)。數(shù)據(jù)引擎以最有效的格式存儲(chǔ)數(shù)據(jù)。在數(shù)據(jù)引擎頂層的數(shù)據(jù)模型或引擎理解如何訪問存儲(chǔ)的數(shù)據(jù)并向開發(fā)者提供正確的畫面。數(shù)據(jù)能以一系列格式表示,例如以表,層次,或一串名字/值的表示。數(shù)據(jù)模型可以包括一個(gè)或多個(gè)引擎。例如,XML數(shù)據(jù)模型包括XML引擎812。類似地,關(guān)系數(shù)據(jù)模型包括關(guān)系引擎814。
開發(fā)者使用數(shù)據(jù)庫(kù)編程語(yǔ)言(“DBPL”)技術(shù)通過共同的詢問系統(tǒng)與各種數(shù)據(jù)模型通信。DBPL技術(shù)包括數(shù)據(jù)訪問應(yīng)用程序接口(“API”)816,它是由應(yīng)用程序與系統(tǒng)通信時(shí)使用的格式。該格式利用函數(shù)調(diào)用提供到為執(zhí)行所需的子例程的連結(jié)。在較佳實(shí)施例中,DBPL技術(shù)是基于XML(XML818),可以利用關(guān)系模型(關(guān)系820),并使用對(duì)象技術(shù)(對(duì)象822)。
表示成區(qū)域802的頂層包括由用戶/消費(fèi)者使用的各種應(yīng)用程序840a,840b等。應(yīng)用程序造成下列事物的集成,如文檔,郵件,日程表項(xiàng),聯(lián)系,股票有價(jià)證券,顧客,訂單,基于介質(zhì)的產(chǎn)品目錄等。應(yīng)用程序位于各種數(shù)據(jù)模型的頂層,并使用特定的協(xié)議824與系統(tǒng)通話。在較佳實(shí)施例中,協(xié)議824是簡(jiǎn)單對(duì)象訪問協(xié)議(SOAP)824。
在較佳實(shí)施例中,在存儲(chǔ)組件145的組件是根據(jù)將XML作為統(tǒng)一的技術(shù),使得所有數(shù)據(jù)類型處理成XML文檔。本發(fā)明的服務(wù)器聯(lián)盟120和與分布式計(jì)算服務(wù)平臺(tái)115相關(guān)的通信建筑在XML基礎(chǔ)上。消息,方法調(diào)用,對(duì)象描述,和數(shù)據(jù)引擎都使用XML。詢問語(yǔ)言在層次結(jié)構(gòu)上工作,并返回分層的XML。因?yàn)榇鎯?chǔ)組件145是基于XML,存儲(chǔ)和詢問操作在從表格式到文檔的整個(gè)數(shù)據(jù)型譜中是相同的。
存儲(chǔ)組件145是關(guān)鍵組件,它實(shí)現(xiàn)了這里稱為“海量存儲(chǔ)”的存儲(chǔ)機(jī)構(gòu)。在海量存儲(chǔ)中,從終端用戶的觀點(diǎn),圖1的服務(wù)器聯(lián)盟120起著如統(tǒng)一的存儲(chǔ)機(jī)構(gòu)那樣的作用。海量存儲(chǔ)用下面的情景說明。用戶走到PC并登錄。此登錄用由安全性組件165提供的因特網(wǎng)認(rèn)證服務(wù)認(rèn)證用戶。在用戶被認(rèn)證以后,可以使用目錄組件150決定用戶的信息存在哪里。然后存儲(chǔ)組件145檢索該數(shù)據(jù)并將其提供給用戶界面組件140。于是,個(gè)性化信息出現(xiàn)在用戶界面,如歷史列表、收藏夾列表以及收件箱等,而不需要進(jìn)一步的用戶干預(yù)。因此當(dāng)用戶從一個(gè)設(shè)備到另一個(gè)設(shè)備時(shí),他們的數(shù)據(jù)和應(yīng)用跟著他們。
海量存儲(chǔ)包括一個(gè)終端用戶組件和一個(gè)開發(fā)者組件。終端用戶簡(jiǎn)單地理解,當(dāng)他們?cè)谝惶幍卿洉r(shí),可自動(dòng)訪問為他們存儲(chǔ)的個(gè)人數(shù)據(jù)和信息。那樣,用戶不需要關(guān)心或理解他們的個(gè)人數(shù)據(jù)和信息是被存在如COOKIE文件中還是服務(wù)器聯(lián)盟120中的某個(gè)服務(wù)器上。相反,用戶只需要了解,他們走到哪里,是否在家,工作或其他地方,他們的個(gè)人數(shù)據(jù)和信息都可以被輕松地訪問I、目錄目錄是傳統(tǒng)的企業(yè)范圍的命名管理機(jī)構(gòu),在數(shù)據(jù)實(shí)際上常常散布在整個(gè)企業(yè)時(shí)它建立了假象,好象數(shù)據(jù)按有組織的結(jié)構(gòu)分隔。目錄包含的數(shù)據(jù)例子包括如關(guān)于實(shí)體(如用戶,計(jì)算機(jī),和用戶組)的聯(lián)系信息之類的地址簿數(shù)據(jù),用于認(rèn)證實(shí)體的認(rèn)證數(shù)據(jù),用于在每個(gè)實(shí)體基礎(chǔ)上控制對(duì)象訪問的授權(quán)數(shù)據(jù)。兩種目錄包括適配目錄和元目錄。
適配目錄是一個(gè)數(shù)據(jù)存儲(chǔ),它經(jīng)常為了一個(gè)或多個(gè)特定的目的而被調(diào)整。目錄的功能常常對(duì)一個(gè)應(yīng)用是專有的。存在適配目錄的信息是權(quán)威的數(shù)據(jù),或“真”數(shù)據(jù)(即數(shù)據(jù)不與其他源同步),但是適應(yīng)目錄也可存儲(chǔ)冗余數(shù)據(jù)(即與其他源同步的數(shù)據(jù))。適應(yīng)目錄的例子將在下面作進(jìn)一步列舉。
元目錄是數(shù)據(jù)存儲(chǔ),它包括或保持在適配目錄或其他元目錄中找到的對(duì)象的子集。對(duì)每個(gè)對(duì)象,元目錄保持該對(duì)象的屬性的子集。元目錄還含有對(duì)包含有關(guān)該對(duì)象更完全的信息的目錄的引用。元目錄的例子也將在下面列出。
具有很好定義的結(jié)構(gòu)的適配目錄和元目錄比那些沒有很好定義的結(jié)構(gòu)的那些目錄更容易同步。同步適配目錄及元目錄是有用的,因?yàn)榇鎯?chǔ)在元目錄中的信息常常涉及在各種適配目錄中有關(guān)條目之間的聯(lián)系。存儲(chǔ)在元目錄中的數(shù)據(jù)常是為每個(gè)人可用或可讀的。但是在某些情況,需要更多的安全性,且對(duì)元目錄的訪問受到更多控制。
為了使能在服務(wù)器聯(lián)盟120內(nèi)的合作和通信,目錄組件150最好為每個(gè)門戶或每個(gè)網(wǎng)站的元目錄提供在元目錄之間的同步。目錄組件150包括使用適配目錄和元目錄。
圖8示出按本發(fā)明的目錄組件150。目錄組件150包括適配目錄905,它是針對(duì)個(gè)人或?qū)嶓w的,且這里稱為“MyState”目錄。MyState適配目錄905用于存儲(chǔ)有關(guān)個(gè)人或?qū)嶓w的信息,如名字,地址,電話號(hào)碼等。
因?yàn)閭€(gè)人可具有多于一個(gè)的識(shí)別(如家庭/個(gè)人識(shí)別和工作/職業(yè)識(shí)別),對(duì)任何給定的用戶MyState目錄能包含多于一個(gè)識(shí)別的信息。例如,用戶可以具有一個(gè)適配目錄,它針對(duì)家庭或個(gè)人的識(shí)別,并具有另一個(gè)適配目錄針對(duì)用戶的工作或職業(yè)識(shí)別。針對(duì)家庭識(shí)別的適配目錄的例子作為家用目錄910示于圖8中。
這些適配目錄905和910按照一個(gè)模式構(gòu)造。通過使用由模式組件170提供的服務(wù),外部服務(wù)和應(yīng)用能訪問并擴(kuò)展這些適配目錄。模式與安全性組件165結(jié)合也使用戶允許不同的實(shí)體訪問該適配目錄的特定或?qū)iT的部分。通過使用事件組件155和消息發(fā)送組件160,MyState目錄也能通知其他實(shí)體有關(guān)MyState目錄的改變和更新,并終止在實(shí)體和MyState目錄之間的關(guān)系。
目錄組件150還包含具有元目錄的門戶,如企業(yè)門戶915和門戶920。在一個(gè)例子中門戶能看作工業(yè)范圍的網(wǎng)站。因此,有關(guān)心健康門戶,購(gòu)物門戶,音樂門戶等。每個(gè)門戶實(shí)現(xiàn)一個(gè)或多個(gè)元目錄,以維持從有關(guān)業(yè)務(wù)和實(shí)體來的信息。例如,關(guān)心健康門戶的某些元目錄將包含有關(guān)實(shí)體或個(gè)人的信息,包括但不限于醫(yī)生,診所,藥房,和病人。門戶元目錄對(duì)每個(gè)認(rèn)證的用戶保持或存儲(chǔ)一個(gè)對(duì)象。例如每個(gè)對(duì)象可以包含由用戶提供的授權(quán)信息,因?yàn)樵L問這些元目錄的用戶常常被認(rèn)證。門戶也同步在其他門戶和適配目錄之間的關(guān)系。例如,醫(yī)生的適配目錄可以通過相應(yīng)的元目錄或借助關(guān)心健康門戶與一個(gè)病人的適配目錄同步。
目錄組件150最好包括各種企業(yè)。為了清楚起見,只有一個(gè)企業(yè)(即企業(yè)925)示于圖9中。企業(yè)925包括一個(gè)內(nèi)部元目錄930和內(nèi)部適配目錄935,就象傳統(tǒng)地由當(dāng)前的企業(yè)所包含的那樣。因此,企業(yè)的需求遷移到使用如企業(yè)門戶925那樣的門戶,以切換到由目錄組件150提供的許多目錄服務(wù)。通過使一個(gè)內(nèi)部企業(yè)能遷移到變成企業(yè)門戶,第三方將能更容易地訪問該實(shí)體的信息。
目錄組件150還包括因特網(wǎng)元目錄服務(wù)940。因特網(wǎng)元目錄服務(wù)能搜索因特網(wǎng),尋找具有特定模式的數(shù)據(jù)或文檔。此目錄能包括如公司出售的產(chǎn)品,公司提供的服務(wù)等那樣的信息。每個(gè)文檔(或其子集)與文檔的URL一起加入到元目錄。因此因特網(wǎng)元目錄940能被應(yīng)用軟件和服務(wù)訪問,將它們指引到它們需要的信息或服務(wù)。
目錄組件150可使用因特網(wǎng)認(rèn)證服務(wù)945(由安全性組件165提供),它如希望的那樣提供對(duì)門戶的認(rèn)證服務(wù)。因特網(wǎng)認(rèn)證服務(wù)845的一個(gè)例子稱為護(hù)照(Passport),由微軟公司提供。
圖9例示了在各種適配和元目錄之間的交互。此例不是作為本發(fā)明的范圍限制而構(gòu)造,而是由本發(fā)明啟用的部分功能的例子。此例示出一個(gè)新的雇員開始與新的雇主一起工作。雇主具有包含雇主元目錄1024的企業(yè)門戶1022。當(dāng)雇員開始工作時(shí),該雇員的記錄目錄1002被加到適配目錄1000,在此例中它也被雇主保存。因此,該雇員記錄目錄1002是適配目錄,它按照一個(gè)模式包含有關(guān)該雇員的權(quán)威性數(shù)據(jù)。
雇員記錄目錄1002將該雇員加到雇主的元目錄1024,并使得一系列屬性加入到雇主的元目錄1024。在這些目錄之間的信息由自動(dòng)屬性協(xié)定(AAA-Automated Attribute Agreement)同步。因此,雇主的元目錄1024具有帶著相關(guān)屬性1020的雇員對(duì)象1018,它包含與存儲(chǔ)在雇員記錄目錄1002中的權(quán)威數(shù)據(jù)有關(guān)的冗余數(shù)據(jù)。雇主的元目錄1024設(shè)置一個(gè)郵件目錄(未示出),一個(gè)工作日程表目錄1010和一個(gè)工作出勤目錄1004,它們也是適配目錄。
接著,新的雇員訪問安全辦公室以獲得安全性標(biāo)記。他使用個(gè)人數(shù)字助理(PDA)或其他設(shè)備以登錄已存在的認(rèn)證目錄1008,它是例如具有護(hù)照密鑰的另外的適配目錄。然后認(rèn)證目錄1008連結(jié)到雇員的識(shí)別或在雇主元目錄1024中的對(duì)象1018。
雇員命令PDA設(shè)備保持雇主對(duì)如地址,電話等個(gè)人信息更新。這通過在MyState目錄1006和雇主的元目錄1024之間建立AAA來實(shí)現(xiàn)。MyState目錄1006也是適配目錄。由于此連結(jié),雇員的PDA能使用雇主的元目錄1024尋找工作出勤目錄1004的出勤服務(wù)器以及與那個(gè)出勤服務(wù)器或登錄器的接口,使能訪問該雇員的通用收件箱。
一旦已做出這些聯(lián)系和連結(jié),雇員可以從雇員記錄目錄1002接收電子郵件,要求該雇員選擇健康提供者。雇員的選擇存入雇主的元目錄1024。接著,雇主的元目錄1024與健康提供者門戶1016及健康提供者元目錄1026連結(jié),以建立對(duì)雇員的入口。因此,健康提供者元目錄具有對(duì)雇員的一個(gè)對(duì)象1012和屬性1014。在雇主元目錄1024和健康提供者元目錄1026之間的AAA協(xié)定能包含不同的項(xiàng)。例如,協(xié)定能包括周期的審查以及由雇主的元目錄將改變傳送到健康提供者元目錄的協(xié)定。
健康提供者元目錄1026發(fā)送給雇員一個(gè)網(wǎng)頁(yè),請(qǐng)求雇員選擇主要的車輛提供者?;剡^來,雇員請(qǐng)求健康提供者元目錄1026供應(yīng)醫(yī)生表。在醫(yī)生選定之后,健康提供者元目錄1026將聯(lián)系診所和醫(yī)生門戶,并對(duì)在診所元目錄1028中的雇員建立條目。診所元目錄1028發(fā)送電子郵件給雇員,請(qǐng)求該雇員的醫(yī)療記錄。該雇員只能將MyState目錄1006的醫(yī)療信息部分發(fā)布到診所元目錄1028。這使雇員和診所均能保持完整的記錄組。同時(shí),雇員可以贊成與醫(yī)生共享他們的日程表,而醫(yī)生可以交換他的日程表,最后,診所元目錄1028可以向工作流服務(wù)發(fā)信號(hào),使用他們的互相可訪問的日程表安排與該雇員第一次會(huì)面的時(shí)間。
而且,由適配目錄存儲(chǔ)的權(quán)威信息在此例中由元目錄連結(jié)??梢岳斫?,診所,雇用者和健康提供者也具有各種適配目錄。那些目錄和它們與元目錄的交互在圖10中尚未示出。元目錄能存儲(chǔ)與權(quán)威信息相關(guān)的冗余信息或提示信息。適配目錄的模式使其他元目錄能訪問適配目錄的特定部分。權(quán)威和冗余信息是同步的,以保證數(shù)據(jù)是最新的。
在圖9中,在適配目錄1000中的每個(gè)適配目錄具有某個(gè)目的或目的組。雇員記錄目錄1002表示工作識(shí)別,而MyState目錄1006表示個(gè)人的或家庭的識(shí)別。認(rèn)證目錄1008適配目錄能包含用于認(rèn)證個(gè)人的如密碼等那樣的信息。工作日程表目錄1010是日程表或聯(lián)系表。使用在此例中示出的適配和元目錄能得到在各實(shí)體之間改善的通信。在此例中通信被加強(qiáng)了,因?yàn)楣蛦T不必與每個(gè)分別的門戶交互。目錄組件150使通信自動(dòng)發(fā)生,因?yàn)樗鼈兙ㄟ^消息發(fā)送組件連接和鏈接。
J、安全性如上所討論,在過去幾年內(nèi)消費(fèi)者和業(yè)務(wù)已迅速采用因特網(wǎng),引起因特網(wǎng)的服務(wù)的使用急劇增長(zhǎng)。本發(fā)明由于增加了網(wǎng)站間的通信使得能有更大的因特網(wǎng)的互聯(lián)性和合作。不幸的是當(dāng)因特網(wǎng)用戶數(shù)及基于因特網(wǎng)的服務(wù)數(shù)增加時(shí),消費(fèi)者和業(yè)務(wù)更加關(guān)心安全性與隱私的問題。例如,許多消費(fèi)者與業(yè)務(wù)依賴各種因特網(wǎng)服務(wù)提供商(ISP),它們可以相當(dāng)具體地跟蹤消費(fèi)者和業(yè)務(wù)的在線活動(dòng)。許多消費(fèi)者也使用多個(gè)服務(wù)提供商,他們與這些服務(wù)提供者具有廣泛變化的業(yè)務(wù)關(guān)系和隱含的信任(預(yù)訂,瞬時(shí)交易等)。此外,隨著“永遠(yuǎn)在線-alwayson”因特網(wǎng)連結(jié)(數(shù)字用戶線(DSL),電纜調(diào)制解調(diào)器),多個(gè)能訪問因特網(wǎng)的設(shè)備(個(gè)人計(jì)算機(jī)(PC),移動(dòng)電話,個(gè)人數(shù)字助理(PDA)),和多個(gè)能以與因特網(wǎng)交互十分不同的方法互相交互的家用網(wǎng)絡(luò)設(shè)備等設(shè)備日漸增加的使用,消費(fèi)者和業(yè)務(wù)得到更大的連結(jié)能力,同時(shí)對(duì)不道德的個(gè)人或業(yè)務(wù)增加了訪問點(diǎn)的數(shù)目以使它們“獲得”個(gè)人和/或機(jī)密的信息。
為了使上述限制降至最小,本發(fā)明可選地包括安全性組件165,它提供一系列安全保護(hù)工具,如認(rèn)證,保密,和防火墻的安全邊界。圖10是本發(fā)明的安全組件165的實(shí)施例的概略表示。圖10的概略表示是安全性組件165的可選功能的示意,但不限制應(yīng)用其他功能,業(yè)內(nèi)熟練人員在看到這里的教導(dǎo)后是能理解那些功能的。
按本發(fā)明的一個(gè)方面,安全性組件165包括認(rèn)證模塊1102,它包括各種硬件和/或軟件組件,用于完成對(duì)訪問在服務(wù)器聯(lián)盟120和客戶設(shè)備110(圖1)中的信息和數(shù)據(jù)的實(shí)體的認(rèn)證過程。例如,該實(shí)體在涉及多部分交互作用時(shí)訪問存儲(chǔ)的信息和數(shù)據(jù),而不管交互作用是消費(fèi)者到業(yè)務(wù)或業(yè)務(wù)到消費(fèi)者,包括廣泛的配置和交易參與者。
更具體地,在一個(gè)實(shí)施例中,認(rèn)證模塊1102包括硬件和/或軟件模塊,它們控制實(shí)體訪問頁(yè)面組件210,密使組件220,和/或封地組件230(圖2),同時(shí)防止系統(tǒng)100的其他用戶或?qū)嶓w“拒絕”或隱藏該實(shí)體的識(shí)別。這里使用的術(shù)語(yǔ)“實(shí)體”或“諸實(shí)體”不僅包括用戶(個(gè)人或集體的),而且包括機(jī)器,授權(quán)的軟件仲裁者,服務(wù)器和代理服務(wù),各種其他硬件和/或軟件模塊和組件等。
為了確定實(shí)體是否其描繪的本身,是消費(fèi)者,業(yè)務(wù),硬件模塊,或軟件模塊,每個(gè)實(shí)體具有一個(gè)識(shí)別符,稱為“全局ID-GLOBAL ID”。每個(gè)全局ID對(duì)應(yīng)于個(gè)人或其他實(shí)體可選擇假設(shè)的各種“識(shí)別符”中一個(gè)。大多數(shù)人(包括其他實(shí)體)至少具有2個(gè)識(shí)別符一個(gè)與他們的職業(yè)有關(guān)識(shí)別符(學(xué)業(yè)、某組織的雇員等),在進(jìn)行與業(yè)務(wù)有關(guān)的活動(dòng)時(shí)使用;一個(gè)個(gè)人識(shí)別符用于其他的交互。為了保持隱私或考慮某些與他們的交互有關(guān)的高級(jí)保障需要,另外的識(shí)別可用于用戶。
安全性組件165與系統(tǒng)100和/或應(yīng)用軟件200相結(jié)合管理這些識(shí)別和有關(guān)的認(rèn)證憑證,以保證這些識(shí)別保持不相關(guān),同時(shí)提供一個(gè)用戶經(jīng)驗(yàn),允許終端用戶完全控制如何使用他們的識(shí)別以及與每個(gè)識(shí)別相關(guān)的隱私和機(jī)密的級(jí)別。
現(xiàn)參考圖11,畫出在用戶的全局ID和各種其他示范的服務(wù)和信息之間交互關(guān)系的概略表示。通常,安全性組件165可以與由各種個(gè)人,業(yè)務(wù),機(jī)器等擁有的各種全局ID1220a-1220n通信。每個(gè)全局ID1220a-1220n用于對(duì)訪問系統(tǒng)100的一部分的實(shí)體的認(rèn)證。全局ID1220a-1220n不試圖包括它們所表示的實(shí)體的概要特性。相反,在一個(gè)實(shí)施例中使用上面討論并由目錄組件150提供的“MyState”適配目錄905存儲(chǔ)簡(jiǎn)要特性。“MyState”適配目錄905能可選地包括由參考號(hào)905a-905n表示的各種部分。MyState適配目錄905按照一致的模式提供一個(gè)地方,存儲(chǔ)包括用戶數(shù)據(jù)的用戶概要。通常,每個(gè)全局ID1220a-1220n給存儲(chǔ)在MyState服務(wù)的單獨(dú)部分,在應(yīng)用軟件中,或在專門位置的數(shù)據(jù)存儲(chǔ)區(qū)中的概要信息提供一個(gè)索引。因此,一個(gè)實(shí)體可以具有多個(gè)全局ID1220a-1220n,每個(gè)具有相關(guān)的不同概要。
另外,在一個(gè)安全性組件165的實(shí)施例中,每個(gè)全局ID1220a-1220n可與另外的結(jié)構(gòu)上不同的稱之為“組成員Group Membership”服務(wù)1224的服務(wù)聯(lián)結(jié),服務(wù)1224可選地包括各個(gè)子部分,只展示了組成員服務(wù)1224的一部分并由參考號(hào)1224c指定。子部分1224c使一個(gè)全局ID(如全局ID1220b)在用戶的每個(gè)類別1226c-1226n的概要表中具有一個(gè)或多個(gè)概要??蛇x地,每個(gè)類別1226a-1226n可以包括指向被請(qǐng)求或被定義的概要的一個(gè)或多個(gè)指針。例如,在業(yè)務(wù)對(duì)業(yè)務(wù)的情景中,可使用組成員服務(wù)1224以包含一個(gè)授權(quán)購(gòu)買者的表,許多供應(yīng)商能審查此表。在合作的情景中,組成員服務(wù)能包含另外公司的項(xiàng)目成員,他們被允許訪問項(xiàng)目機(jī)密文檔。在又一個(gè)示出的例子中,每個(gè)全局ID1220a-1220n能包括一個(gè)或多個(gè)數(shù)字簽名,x.509憑證,可擴(kuò)展的標(biāo)記語(yǔ)言(XML)憑證或“許可證”,或其他將密鑰綁定到一個(gè)識(shí)別并防止拒絕識(shí)別的憑證格式。在那樣情況中,各種憑證授權(quán)(CA)能發(fā)行那樣的憑證,例如但不限于Micrsoftpassport、MicrosoftHotmail和/或各種其他第三方業(yè)務(wù)。
再次參考圖10,根據(jù)本發(fā)明的另外方面,安全性組件165包括授權(quán)模塊1104。授權(quán)模塊1104包括各種硬件和/或軟件模塊和組件,以判定授權(quán)的實(shí)體在動(dòng)態(tài)環(huán)境中能完成什么動(dòng)作,在動(dòng)態(tài)環(huán)境中每個(gè)實(shí)體的組成員,作用和權(quán)利代表可以改變。這樣,安全組件165的授權(quán)模塊1104能以比傳統(tǒng)“基于用戶”的許可模型更復(fù)雜的方法控制實(shí)體對(duì)規(guī)定的內(nèi)容的使用限制的加強(qiáng),例如但不限于私有數(shù)據(jù)和“許可的內(nèi)容”,如有版權(quán)的書,歌曲和電影。另外,授權(quán)模塊1104的更廣和更靈活的代表和控制機(jī)制擴(kuò)展了授權(quán)的傳統(tǒng)的作用。
授權(quán)模塊1104,可選地與其他安全組件165的模塊結(jié)合,實(shí)現(xiàn)在授權(quán)領(lǐng)域中的進(jìn)步和技術(shù)的方式是通過數(shù)字權(quán)利機(jī)制。數(shù)字權(quán)利管理涉及(DRM)在信息和內(nèi)容的使用和分配上自動(dòng)地強(qiáng)加規(guī)則和條件。在DRM的核心是違背傳統(tǒng)的系統(tǒng)安全性直覺而運(yùn)行這一前提。在典型的系統(tǒng)安全性中,訪問數(shù)據(jù)或信息的授權(quán)的來源是用戶。一旦用戶被認(rèn)證,根據(jù)用戶的識(shí)別,授權(quán)對(duì)服務(wù)的訪問。這樣,軟件授權(quán)到那樣的范圍,使權(quán)利給予優(yōu)先的用戶。通常,一個(gè)認(rèn)證的超級(jí)用戶(或管理者)被賦予基本上對(duì)任何和所有資源的無限訪問權(quán)限。DRM以不多的方法改變這些假設(shè)。在DRM中,授權(quán)的來源是內(nèi)容或信息的擁有者。擁有者的權(quán)利(和授予用戶的許可)以標(biāo)準(zhǔn)語(yǔ)言命名。權(quán)利由一個(gè)“設(shè)備”所強(qiáng)加,而“設(shè)備”是(但不限于)各種硬件和/或軟件模塊及組件,它們保證只有可信的軟件(以前已被認(rèn)證并有責(zé)任強(qiáng)加由擁有者規(guī)定的權(quán)利和限制的軟件)被賦予對(duì)該信息的訪問。這就允許內(nèi)容擁有者把權(quán)利不是授給用戶而是給一段軟件,它將根據(jù)由擁有者定義的項(xiàng)目限制對(duì)內(nèi)容的訪問。
一個(gè)范例的DRM可以實(shí)現(xiàn)的“設(shè)備”是一個(gè)可信的設(shè)備,稱之為啟用Anthenticated Boot/Isolated Execution的個(gè)人計(jì)算機(jī)。該“設(shè)備”可以包括一個(gè)可信的(和防篡改的)硬件組件,它保持一個(gè)或多個(gè)對(duì)硬件組件是唯一的私有密鑰。在啟用Anthenticated Boot/Isolated Execution的個(gè)人計(jì)算機(jī)的操作中,客戶程序段請(qǐng)求可信的設(shè)備認(rèn)證其識(shí)別(例如通過由硬件散列其碼并將此散列與命名該散列并由授權(quán)機(jī)構(gòu)標(biāo)記為“可信的”的憑證比較來進(jìn)行)。作為認(rèn)證的附屬效果,由請(qǐng)求軟件使用的物理地址是隔離的,其他程序(包括0S)隨后被拒絕訪問那個(gè)物理存儲(chǔ)器。最后,對(duì)硬件是唯一的私有密鑰的操作對(duì)(現(xiàn)是可信的)軟件是可用的。業(yè)內(nèi)技術(shù)人員得知,無論是硬件,軟件或其組合,各種其他設(shè)備能實(shí)現(xiàn)為DRM所用的設(shè)備的希望的功能。
按照本發(fā)明另外方面,安全性模塊165包括隱私模塊1106。隱私模塊1106包括各種硬件和/或軟件模塊及組件,它們保持由各種利用系統(tǒng)100和應(yīng)用軟件200的有利特征的實(shí)體發(fā)送和檢索的信息的隱私性和保密性。通常,安全組件的隱私模塊1106保證在共用網(wǎng)絡(luò)上傳輸并存在服務(wù)器聯(lián)盟120中的共享公共服務(wù)器上的個(gè)人的或高價(jià)值信息只對(duì)授權(quán)的實(shí)體開放。此外,隱私模塊1106保持在共用服務(wù)器上傳輸和/或存儲(chǔ)的所有類型的數(shù)據(jù)和信息的數(shù)據(jù)完整性,從而防止在一個(gè)或多個(gè)實(shí)體之間傳輸?shù)膫鬏敂?shù)據(jù)的非授權(quán)的修改。雖然隱私模塊1106示作安全性組件165的獨(dú)立模塊,業(yè)內(nèi)技術(shù)人員得知,隱私模塊1106的功能可以加入到認(rèn)證模塊1102,授權(quán)模塊1104,形成安全性服務(wù)1100的一個(gè)或多個(gè)各種其他模塊之中,或僅是安全性組件165的一個(gè)功能而不具有專門的獨(dú)立模塊形式。
根據(jù)上述和其他包含在此的教義,隱私模塊1106的功能可以用各種方式實(shí)現(xiàn)。例如,在一個(gè)實(shí)施例中,通過使用數(shù)字簽名和隱私模塊1106和/或安全性組件165的能力能保持?jǐn)?shù)字完整性,以管理識(shí)別的拒絕。在另外示出的實(shí)施例中,加密傳輸用于在多個(gè)主機(jī)或客戶設(shè)備110的多個(gè)點(diǎn)和服務(wù)器聯(lián)盟120之間發(fā)送數(shù)據(jù)和信息。加密傳輸是主機(jī)到主機(jī)還是點(diǎn)對(duì)點(diǎn)取決于通信否在線或離線(存儲(chǔ)—和—發(fā)送)通信。本發(fā)明的一個(gè)實(shí)施例的加密傳輸過程的一個(gè)方面在于發(fā)送的數(shù)據(jù)和信息可選部分或整體加密。通過選擇地在如對(duì)應(yīng)用專用的事務(wù)的消息那樣的數(shù)據(jù)和信息中進(jìn)行加密,安全性組件165提供安全的隱私信息而不需加密整個(gè)網(wǎng)絡(luò)通信量。
對(duì)主機(jī)對(duì)主機(jī)傳輸,需要一個(gè)稱之為因特網(wǎng)協(xié)議安全性(IPSEC)的安全性協(xié)議來實(shí)現(xiàn)虛擬專用網(wǎng)(VPN)隧道和認(rèn)證參與系統(tǒng)的網(wǎng)絡(luò)連結(jié)。用于主機(jī)對(duì)主機(jī)傳輸?shù)闹虚g服務(wù)器(例如但不限于緩存器,空氣流,基于內(nèi)容的路由器等)被設(shè)計(jì)成使用選擇的消息加密,因?yàn)榈图?jí)網(wǎng)絡(luò)服務(wù)通常不強(qiáng)制對(duì)每個(gè)應(yīng)用是唯一的機(jī)密策略。選擇的消息加密的使用是可選的,因?yàn)橹挥蝎@得緩沖的性能優(yōu)點(diǎn)或需要中間服務(wù)器過濾內(nèi)容的應(yīng)用內(nèi)容從中得到好處。相反,個(gè)人的或高價(jià)值信息為機(jī)密性加密,通常不從如中間硬件和/或軟件模塊及組件那樣的中間網(wǎng)絡(luò)設(shè)備的服務(wù)中獲益。
在點(diǎn)對(duì)點(diǎn)通信中使用安全套接層(SSL)協(xié)議,并繼續(xù)作為最小公分母留給那些不設(shè)計(jì)成使用選擇的基于消息的加密的應(yīng)用。業(yè)內(nèi)技術(shù)人員得知,IPSEC能有選擇地用作點(diǎn)對(duì)點(diǎn)傳輸。通常傳輸?shù)臄?shù)據(jù)和信息的機(jī)密性和隱私性可使用已知方法的組合實(shí)現(xiàn)。
在本發(fā)明的又一個(gè)實(shí)施例中,安全性組件165可選地以加密形式保持所有經(jīng)因特網(wǎng)發(fā)送的數(shù)據(jù)。目前而言,現(xiàn)在在因特網(wǎng)上發(fā)送的主要信息是不加密的。有足夠的硬件和系統(tǒng)支持的情況下,本發(fā)明的安全性組件165能可選地將信息和數(shù)據(jù)的傳輸從當(dāng)前的“按(有限的)需要加密”轉(zhuǎn)變成“永遠(yuǎn)加密”的解決方案。雖然加密是有用的方式并借此保護(hù)了信息和數(shù)據(jù),但對(duì)所有的安全性需求,它本身不是完全的解決方案。這樣,本發(fā)明的安全性組件165可以在認(rèn)證和/或授權(quán)的硬件和/或軟件模塊,組件,和功能的有益的特性和特征中組合可傳輸數(shù)據(jù)的總加密特征。
按本發(fā)明的另外方面,安全性組件165分布在整個(gè)服務(wù)器聯(lián)盟120并從而提供分布式網(wǎng)絡(luò)安全性。通常,安全性組件165的分布式特性提供了端到端的機(jī)密性和消息內(nèi)容的完整性,無論它是主機(jī)到主機(jī)或點(diǎn)到點(diǎn),同時(shí)允許中間代理服務(wù)器正確地路由事件和消息。整個(gè)網(wǎng)絡(luò)安全性控制數(shù)據(jù)流,以防止對(duì)計(jì)算節(jié)點(diǎn)的蓄意干擾(如洪泛、破壞性病毒等)和敏感內(nèi)容的非授權(quán)傳播。通常,這些功能中許多由防火墻完成。不幸的是,隨著在超文本傳輸協(xié)議(HTTP)上XML消息發(fā)送的出現(xiàn),傳統(tǒng)的防火墻在實(shí)體請(qǐng)求之間的區(qū)分方面不那么有效。如上所述在消息流中加密的選擇使用允許消息內(nèi)容過濾而不損失機(jī)密的個(gè)人的數(shù)據(jù);但是這也限制了防火墻能承擔(dān)的保護(hù)的類型。
當(dāng)前,防火墻大多在傳輸層上操作,校驗(yàn)傳輸層信息,如源和目標(biāo)的因特網(wǎng)協(xié)議(IP)地址,和傳輸控制協(xié)議/用戶數(shù)據(jù)報(bào)協(xié)議(TCP/UDP)端口。雖然有用,許多傳統(tǒng)的防火墻已經(jīng)擴(kuò)展到掃描訪問的數(shù)據(jù)以尋找二進(jìn)制的病毒,或掃描文本以尋找不合法的內(nèi)容。因此典型的防火墻模型被兩個(gè)獨(dú)立的趨勢(shì)上出現(xiàn)問題加密的使用防止了數(shù)據(jù)的審視,或甚至端口的審視;由共享單個(gè)TCP端口的基于XML的應(yīng)用對(duì)HTTP的使用降低了TCP級(jí)過濾的價(jià)值。這樣,當(dāng)前的防火墻在其有效性方面受到限制,因?yàn)樗鼈兓旌狭藘蓚€(gè)功能保護(hù)免受外部的攻擊和策略的強(qiáng)制性。這樣,本發(fā)明包括防火墻模塊1108,它通過在三個(gè)或更多不同模塊和組件之間共享功能來增加防火墻的有效性,這些模塊和組件可位于單個(gè)硬件和/或軟件模塊中或相反分布在服務(wù)器聯(lián)盟120之中。
現(xiàn)參考圖12,它畫出防火墻模塊1108的示范單元。改善的防火墻模塊1108的一部分是個(gè)人的防火墻1310。個(gè)人的防火墻1310在解密以后完成本地的數(shù)據(jù)審視并完成各種其他保護(hù)功能。例如,個(gè)人的防火墻1310完成“病毒檢查”系統(tǒng)的各種功能;但是當(dāng)檢測(cè)到新的攻擊時(shí),攻擊的特征迅速傳播到所有個(gè)人的防火墻,從而阻斷了攻擊而不必等待下一次系統(tǒng)或應(yīng)用軟件的升級(jí)。若個(gè)人防火墻安裝在每個(gè)內(nèi)部的主機(jī)上,主機(jī)能從其他主機(jī)或在如系統(tǒng)100那樣的網(wǎng)絡(luò)上檢測(cè)特洛伊活動(dòng)。從而降低了特洛伊攻擊的可能性,這種攻擊可以直接在本機(jī)上發(fā)起而不受周邊防火墻監(jiān)控。
改善的防火墻模塊1108的第二部分是安全性網(wǎng)關(guān)1312,它對(duì)擁有特定硬件和/或軟件模塊和形成服務(wù)器聯(lián)盟120的組件的實(shí)體強(qiáng)加實(shí)體的策略。每個(gè)安全性網(wǎng)關(guān)1312完成根據(jù)源和目標(biāo)的統(tǒng)一資源定位符(URL)的檢驗(yàn)和HTTP方法GET,POST,NOTIFY。安全性網(wǎng)關(guān)1312作為HTTP代理直接插入應(yīng)用200,并可以確定例如在一天的什么時(shí)間容易訪問什么外部網(wǎng)頁(yè),或什么用戶可以接收外部通知。安全性網(wǎng)關(guān)1312是主機(jī),因而能是IPSEC或SSL的終點(diǎn)。另外,每個(gè)安全性網(wǎng)關(guān)1312可以訪問XML結(jié)構(gòu)化數(shù)據(jù),并因而能訪問從特定主機(jī)發(fā)送的消息的內(nèi)容。
安全性網(wǎng)關(guān)1312的一項(xiàng)可選功能是在周邊或傳輸層防火墻1314(下面討論)“打孔”,如授權(quán)一個(gè)端到端的媒介流。此流可以由安全性網(wǎng)關(guān)1312監(jiān)控的HTTP或SIP交換來設(shè)置,但將使用User Datagram Protocol/Real-TimeTransport Protocol(用戶數(shù)據(jù)報(bào)協(xié)議/實(shí)時(shí)傳輸協(xié)議—UDP/RTP)而非HTTP發(fā)送。安全性網(wǎng)關(guān)1312確定被授權(quán)的IP地址和TCP/UDP端口對(duì)。每個(gè)安全性網(wǎng)關(guān)1312也具有在兩個(gè)IP地址對(duì)之間授權(quán)使用IPSEC的能力。
改善的防火墻的第三部分是周邊(傳輸層)防火墻1314,它可能在安全性網(wǎng)關(guān)1312的控制下授于或拒絕對(duì)系統(tǒng)100局域網(wǎng)的訪問。傳輸層防火墻1314具有控制哪個(gè)“外部的”信息量到達(dá)內(nèi)部的機(jī)器的責(zé)任,并限制那樣的只對(duì)那些管理很好的“外部的”源的訪問。在一個(gè)默認(rèn)的配置中,這些授權(quán)的機(jī)器包括安全性網(wǎng)關(guān)1312。
通常,將周邊控制功能分成“傳輸層防火墻”和“安全性網(wǎng)關(guān)”允許系統(tǒng)100和/或應(yīng)用200性能和伸縮性。本質(zhì)上類似于路由器,傳輸層防火墻1314可以并行地連接實(shí)現(xiàn)伸縮,而作為應(yīng)用服務(wù)器的安全性網(wǎng)關(guān)1312可以利用用于伸縮的網(wǎng)絡(luò)服務(wù)器的伸縮技術(shù)。
雖然圖12示出加入這里的防火墻模塊1308的每個(gè)部分1310,1312,的和1314,可以理解,每個(gè)部分1310,1312,1314可以分布在整個(gè)服務(wù)器聯(lián)盟120。此外,安全性服務(wù)組件165可以包括多個(gè)防火墻模塊1108和多個(gè)部分1310,1312,1314。
按照本發(fā)明的另一方面,安全性組件165可以包括各種硬件和/或軟件模塊以及允許使用數(shù)字簽名,時(shí)間標(biāo)簽,和公證服務(wù)的組件。使用數(shù)字簽名以電子交易方式為用戶提供許多物理簽名的好處,如來源的檢驗(yàn),授權(quán)的檢驗(yàn),在隨后的爭(zhēng)議情況中的合法的依據(jù)等,但不限于此。而且,在信息經(jīng)常途徑不可靠通信及處理通道的電子世界中完整密封文檔的能力(任何修改使此簽名無效)也是有價(jià)值的。
本發(fā)明的安全性組件165能配置成支持當(dāng)前用于電子簽名的技術(shù),如數(shù)字簽名算法(DSA),和橢圓曲線,和由RSA Data Security Inc.(RSA)開發(fā)的加密技術(shù),但不限于此。另外,安全性組件165在它們能被操縱產(chǎn)生用于XML和XML模式的安全電子簽名方面是靈活的。例如,在典型的簽名電子郵件系統(tǒng)中(Secure/Multipurpose Internet Mail Extensions(S/Mine)或Pretty GoodPrivacy(PGP)技術(shù)),用戶隱含地信任他們的電子郵件程序簽署一個(gè)他們編寫的電子郵件的郵件編碼。不幸的是,對(duì)涉及高的價(jià)值和潛在責(zé)任的文檔,需要更大的保護(hù)。使用XML或一般的XML模式表示那樣的重要文檔允許建立提供XML文檔的規(guī)范表示的通用工具。產(chǎn)生文檔的規(guī)范表示是對(duì)建立和驗(yàn)證數(shù)字簽名的需要。
安全性組件165還可以包括時(shí)間標(biāo)簽和公證服務(wù),它們可選地加入到完成數(shù)字簽名功能和服務(wù)的硬件和/或軟件模塊之中。類似于數(shù)字簽名,時(shí)間標(biāo)簽服務(wù)提供該文檔(在最普遍意義下)在某個(gè)時(shí)間點(diǎn)存在的強(qiáng)有力的證據(jù)。類似地,數(shù)字公證服務(wù)提供某人在一個(gè)時(shí)間點(diǎn)上數(shù)字簽署了給定文檔的證據(jù)??梢约尤氲桨踩苑?wù)300的這些服務(wù)類型例子包括擔(dān)保(Surety),熵(Entropic),電子時(shí)間標(biāo)簽(e-TimeStamp),以及正在使用的帶有基于x.509和PGP的信任模型,但不限于此。此外,提出涵蓋到那些服務(wù)的接口的標(biāo)準(zhǔn)時(shí)間印記協(xié)議草案。本發(fā)明的安全性服務(wù)允許現(xiàn)有服務(wù)的互操作性,同時(shí)提供與當(dāng)前發(fā)展的有關(guān)服務(wù)一致的硬件和/或軟件的靈活性。
通常,安全性組件165能加入到一個(gè)設(shè)備的平臺(tái)核心操作系統(tǒng)(OS)中,從而影響到該平臺(tái)的所有其他模塊和OS,服務(wù),應(yīng)用,及工具的功能。另外,安全性組件165,模塊1102,1104,1106和1108以及這里提供的功能可以放置在服務(wù)器聯(lián)盟120,客戶服務(wù)110和/或應(yīng)用200的各種位置,或可以遍及分布。在又一個(gè)配置中,安全性組件165可以放置在應(yīng)用200的密使組件220和封地組件230之間。而且如圖10所示,安全性組件165的每個(gè)模塊可以或可以不與包含在那里的一個(gè)或多個(gè)其他模塊1102,1104,1106和1108通信,如圖中虛線所示。
安全性組件165可以在各種通信情況中使用,借助增加的網(wǎng)站間通信有助于使消費(fèi)者,業(yè)務(wù),政府等得到更大的因特網(wǎng)的連接和合作。例如,第一情景是消費(fèi)者到服務(wù)或業(yè)務(wù)的環(huán)境。本發(fā)明的安全性組件165允許更大的通信,通知,流媒介,游戲和合作服務(wù),而不管它們是否用于“永遠(yuǎn)在線”的數(shù)字用戶線)DSL)和/或電纜調(diào)制解調(diào)器系統(tǒng)的家用計(jì)算機(jī)的安全性和其他家庭網(wǎng)絡(luò)的情況。安全性組件165從下面幾個(gè)方面保護(hù)在消費(fèi)者到服務(wù)的環(huán)境中的消費(fèi)者(I)濫用因特網(wǎng)發(fā)出的如即時(shí)消息或因特網(wǎng)電話那樣的消息,等同于在前門隨意地按鈴;(II)跟蹤用戶活動(dòng)的活動(dòng),從而減少?gòu)V告商和其他人“精確瞄準(zhǔn)”用戶;(III)通過使用個(gè)人的計(jì)算機(jī)作為向第三方發(fā)動(dòng)攻擊的一部分的特洛伊過程而濫用個(gè)人的資源;(IV)拒絕因特網(wǎng)服務(wù);(V)犯罪活動(dòng),如非法訪問個(gè)人計(jì)算機(jī)導(dǎo)致金錢轉(zhuǎn)移,不需要的購(gòu)買(嚴(yán)格說來是對(duì)消費(fèi)者的盜竊)等。
另外的情景是對(duì)容納應(yīng)用服務(wù)提供者(ASP)的面向小業(yè)務(wù)的服務(wù)。本發(fā)明的安全性組件165提供對(duì)消息發(fā)送,文件和打印服務(wù)的增加的保護(hù),包容企業(yè)資源計(jì)劃(ERP)應(yīng)用,在線業(yè)務(wù)活動(dòng),如集成的電子文檔管理利在線業(yè)務(wù)服務(wù),雇員個(gè)人網(wǎng)絡(luò)存儲(chǔ)等。而且,安全性組件165使各種業(yè)務(wù)具有包容的網(wǎng)絡(luò)可用,授權(quán)的,基于角色的管理,和空的域。這樣,本發(fā)明,尤其是安全性組件165,允許小的業(yè)務(wù)有能力安全地訪問多個(gè)ASP,以滿足他們所有的業(yè)務(wù)應(yīng)用需求。
又一個(gè)情景是消費(fèi)者—到—業(yè)務(wù)—到—業(yè)務(wù)的環(huán)境。此情景包括以前有關(guān)消費(fèi)者—到—服務(wù)情景所描述的許多需求,同時(shí)包括業(yè)務(wù)—到—業(yè)務(wù)關(guān)系的問題和需求。這樣,安全性組件165為在不均勻的環(huán)境內(nèi)的多個(gè)實(shí)體提供安全性,安全性組件165提供線上的,永久性信息保護(hù),同時(shí)提供對(duì)客戶信息功能的不可拒絕性。此外,安全性組件165可以認(rèn)證和授權(quán)中間層的事務(wù),顧客—服務(wù)器活動(dòng),和協(xié)商對(duì)等信任。
最后的示范情景是業(yè)務(wù)—到業(yè)務(wù)環(huán)境。安全性組件165可以配置成支持提供鏈?zhǔn)綉?yīng)用,業(yè)務(wù)—到—業(yè)務(wù)的合作等。此外,提供與特定認(rèn)證機(jī)制無關(guān)的企業(yè)間信任關(guān)系的管理。而且安全性組件165減少了下列事情的可能性(I)非授權(quán)的交易導(dǎo)致經(jīng)濟(jì)損失;(II)業(yè)務(wù)合作伙伴欺騙的聲明,對(duì)一個(gè)交易的請(qǐng)求是不可信的,因?yàn)閼{證被偶然地洩露。
(III)由未授權(quán)的個(gè)人非授權(quán)地訪問服務(wù)器140或客戶110;(IV)信息洩漏給競(jìng)爭(zhēng)者,它觀察數(shù)據(jù)訪問請(qǐng)求并響應(yīng)和獲得機(jī)密數(shù)據(jù);(V)攻擊者在數(shù)據(jù)檢索請(qǐng)求中佯裝是業(yè)務(wù)合作者并返回不正確的數(shù)據(jù);導(dǎo)致做出不正確的決定;(VI)在存儲(chǔ)數(shù)據(jù)處的不可靠的系統(tǒng)操作員將有價(jià)值的數(shù)據(jù)經(jīng)過網(wǎng)絡(luò)發(fā)送并洩漏給同伙;(VII)使用因特網(wǎng)的內(nèi)部成員發(fā)送不合適的信息到外部成員;(VIII)誤解或誤用的策略的建立,導(dǎo)致洩漏的信息,未授權(quán)的交易,或?qū)κ跈?quán)交易的干擾。
K、程序碼管理程序碼管理組件175保證用戶透明地訪問他們需要的最新的應(yīng)用軟件和程序碼。圖13示出在程序碼管理的各個(gè)方面對(duì)清單的使用。程序碼管理主要考慮格式化在互操作的組件,服務(wù),以及應(yīng)用軟件之間的抽象及交互作用。此格式化在用于管理包括這些基層組成塊的軟件的每一級(jí)上提供隔離層。一個(gè)清單本質(zhì)上是數(shù)據(jù)庫(kù),它以一定的詳細(xì)程度描述組件,服務(wù)或應(yīng)用。通過描述程序碼組件,各程序碼組件之間的關(guān)系,和由它們組成的應(yīng)用,清單使系統(tǒng)能理解,應(yīng)用是什么,從而有效地管理此應(yīng)用。應(yīng)用或服務(wù)由一個(gè)根清單定義,它類似于程序碼組件清單,不同處是根清單包括用于執(zhí)行該應(yīng)用或服務(wù)的起點(diǎn)。
清單1400包括用于描述與該清單有關(guān)的軟件的各種信息類別。應(yīng)該理解,識(shí)別的類別僅是示例性的,不是以任何方式對(duì)本發(fā)時(shí)的限制。類似地,在每個(gè)類別中的信息描述也是示例性的。在特定類別的上下文中信息的描述不能解釋為要求該信息只出現(xiàn)在該類別中或出現(xiàn)在所有類別中。注意,結(jié)合圖13使用于的術(shù)語(yǔ)“軟件”,此術(shù)語(yǔ)應(yīng)廣義地解釋為包括組件,服務(wù)器,應(yīng)用等。
清單1400是信息的一個(gè)超級(jí)組,使它相關(guān)的軟件能在一個(gè)或多個(gè)計(jì)算環(huán)境內(nèi)可用。例如,清單1400識(shí)別可執(zhí)行的程序碼1410和作為軟件一部分的資源1420。根據(jù)有關(guān)軟件操作需要和需求,可執(zhí)行的程序碼1410和資源1420可以參考專有(本地)的或外部的依賴性。因?yàn)榍鍐?400與所有軟件有關(guān)且所有清單描述任何外部的依賴性,軟件對(duì)象能是收集的垃圾而不管理對(duì)分享的DLL的參考記數(shù),與現(xiàn)有技術(shù)實(shí)踐的那樣。
依賴的清單1430識(shí)別清單1400的外部依賴性。那是對(duì)軟件和清單的參考,它們不是清單1400本地的。例如,清單可以是級(jí)聯(lián)的,其中一個(gè)軟件對(duì)象簡(jiǎn)單地是某些其他軟件對(duì)象的擴(kuò)展。這就便于簡(jiǎn)單的定制應(yīng)用的直接構(gòu)造。定制應(yīng)用可以超越某些設(shè)置或由基本應(yīng)用使用的資源,以改變?cè)搼?yīng)用的外觀和它們的行為?;镜膽?yīng)用可以對(duì)本身的哪些部分對(duì)此類的修改是開放的提供限制,以適本地將定制的范圍限制到預(yù)定的區(qū)域。這些對(duì)其他軟件的參考和對(duì)清單1400外部的清單的參考被存入依賴的清單1430。依賴清單1430也可以識(shí)別對(duì)清單1400是本地的但也是單獨(dú)定義的清單。另外,依賴清單1430可以包括獨(dú)立存儲(chǔ)的清單,它們?cè)谶壿嬌习ɑ蜻B結(jié)清單1400。那樣的安排可以是有益的,其中信息僅對(duì)有限的目的,如軟件的開發(fā)是相關(guān)的,并在正常操作中不需要這樣。
進(jìn)入點(diǎn)1440展示對(duì)軟件對(duì)象的公開名(如進(jìn)入點(diǎn),資源,和服務(wù)),清單1400和它相關(guān)的軟件使得這些公開名對(duì)外部軟件可用。清單1400本地的軟件對(duì)象名也可以出現(xiàn)在進(jìn)入點(diǎn)1440。使用名字和元數(shù)據(jù)識(shí)別特定的軟件對(duì)象和所有由該軟件使用的所有其他軟件對(duì)象(元數(shù)據(jù)包括如版本,場(chǎng)所,和平臺(tái)的信息)。連結(jié)是一個(gè)過程,通過它解析名字的依賴性。一旦名字被解析到它的最終對(duì)象,該對(duì)象能在應(yīng)用中使用。在軟件對(duì)象之間的所有綁定通過該清單并能受由計(jì)算機(jī)環(huán)境本身,管理者,或獨(dú)立軟件開發(fā)者施加到該清單的策略的影響。因此,名字解析提供插入策略和安全決策的機(jī)會(huì)。因?yàn)槊謱?shí)際上不提供代碼或數(shù)據(jù),而是被解析到訪問程序碼和數(shù)據(jù)的間接途徑,所以有可能在綁定過程中必要時(shí)重定向或限制訪問。
例如,應(yīng)用的清單1400可以請(qǐng)求使用元數(shù)據(jù)請(qǐng)求版本1的特定實(shí)時(shí)運(yùn)行的軟件對(duì)象。但是管理者可以設(shè)置策略,使得對(duì)所有請(qǐng)求使用特定實(shí)時(shí)運(yùn)行軟件對(duì)象的較新版本。注意,由于該元數(shù)據(jù)信息,若該應(yīng)用使用較新版本停頓,管理員能改變策略,使得該應(yīng)用使用已知對(duì)此應(yīng)用可工作的實(shí)時(shí)運(yùn)行版本。通過根據(jù)系統(tǒng)中的安全策略不允許某些名字的解析,名字解析還提供了將安全性插入過程的機(jī)會(huì)。
配置信息1450識(shí)別軟件需要的數(shù)據(jù)表和平臺(tái)服務(wù)。配置信息1450也可描述如何能使用與清單1400相關(guān)的軟件,或它們的行為。例如,軟件可提供信用卡清除服務(wù)。有兩個(gè)選擇用于管理信用卡交易(1)服務(wù)提供者保持對(duì)過程的控制,或(2)服務(wù)提供者允許開發(fā)者加入服務(wù)以管理開發(fā)者自己的信用卡交易。若服務(wù)提供者只執(zhí)行這些選項(xiàng)中之一,在用于運(yùn)行該服務(wù)的配置信息1450中可以捕捉那個(gè)信息。監(jiān)視器也能包括在配置信息1450中以向開發(fā)者提供性能和排錯(cuò)信息。
如上所指出的,清單1400方便了維持軟件的各種版本。此特征在開發(fā)新軟件時(shí)特別有用。清單1400的本質(zhì)保證了互相隔離的各種組件,服務(wù),和應(yīng)用的各式各樣的狀態(tài)和配置信息。此隔離意味著不同版本的組件,服務(wù)和應(yīng)用能并排運(yùn)行,允許其他軟件對(duì)象訪問被設(shè)計(jì)和測(cè)試的軟件的特定版本。結(jié)果,可能有多層配置(從前端服務(wù)器到后端服務(wù)器),隔離和共享的配置,和使老版本結(jié)束工作而新版本開始的按計(jì)劃進(jìn)行的配置。
如清單1400那樣的清單對(duì)程序碼管理提供重要的益處。例如,清單(1)允許組件,服務(wù)和應(yīng)用的自描述;(2)使能由開發(fā)者和管理者從組件,服務(wù),或其他應(yīng)用作應(yīng)用合成;(3)便于組件/服務(wù)/應(yīng)用的命名,發(fā)現(xiàn),和實(shí)時(shí)運(yùn)行的綁定;(4)使開發(fā)/設(shè)計(jì)時(shí)間的情景帶有許可證,版本,分配和做文檔等增加的問題;(5)啟用老的系統(tǒng)的互操作性;(6)容易分配/安裝組件,服務(wù),和應(yīng)用;(7)使能在進(jìn)行中管理應(yīng)用/服務(wù)/組件的健康。
上述程序碼管理使用清單以允許開發(fā)者,管理員和終端用戶穿過在圖1和2中示出的客戶及服務(wù)器層編寫,消耗,配置,更新,命名和定位應(yīng)用軟件。下面的例子參考圖1和2描述如何使用清單來安排和運(yùn)行從客戶來的應(yīng)用。
在此例中,用戶經(jīng)過搜索引擎或其他命令解釋程序使用圖1中的客戶110為特定的文字處理應(yīng)用軟件導(dǎo)航到統(tǒng)一資源定位器(URL),URL位于服務(wù)器聯(lián)盟120之中。若該應(yīng)用已被“安裝”(即已經(jīng)運(yùn)行)在客戶端,當(dāng)該URL被導(dǎo)航時(shí),該應(yīng)用從本地的緩沖運(yùn)行。若該應(yīng)用未被“安裝”在客戶端(即當(dāng)未在客戶端運(yùn)行),該應(yīng)用將使用現(xiàn)在描述的過程被下載并運(yùn)行。
安裝程序模塊下載與該應(yīng)用相關(guān)的清單。然后,安裝程序?qū)⑶鍐闻c客戶針對(duì)平臺(tái)需要及已知的不可兼容的組裝兩方面所用的配置進(jìn)行比較。在該應(yīng)用不能在客戶端運(yùn)行的情況下,在客戶端出現(xiàn)錯(cuò)誤消息。若該應(yīng)用能在客戶端運(yùn)行,安裝程序使用URL連接到服務(wù)器聯(lián)盟120中的網(wǎng)站。然后客戶端顯示某個(gè)用戶界面,如購(gòu)買/租用/認(rèn)證決策和終端用戶許可協(xié)定(EULA)。該應(yīng)用隨后根據(jù)命令或作為典型的功能包下載。該應(yīng)用的自動(dòng)服務(wù)將通過使用按本發(fā)明的異步消息發(fā)送從安裝URL對(duì)清單的定期更新而被驅(qū)動(dòng)。
L、情景下面情景表示了本發(fā)明的分布式計(jì)算服務(wù)平臺(tái)115如何通過啟用更容易的合作和通信而方便了用戶。情景分成三類用戶(1)知識(shí)職工;(2)消費(fèi)者;和(3)開發(fā)者。
知識(shí)職工/商務(wù)情景Alex擁有一個(gè)稱為7Cycles的小的商業(yè)自行車制造商。7Cycles剛設(shè)計(jì)了一種新的高端自行車并需要將新的自行車銷售到體育用品分銷店。此情景表示若干業(yè)務(wù)問題(如在任何時(shí)候/任何地方集成和訪問信息)和技術(shù)問題(如基于模式的集成,下一代有效工具,設(shè)備之間的聯(lián)盟)。
Alex的個(gè)人計(jì)算機(jī)(PC)顯示她的個(gè)性化界面包括她的“起始頁(yè)”或“主頁(yè)”,它示出消息,日程表,聯(lián)系/“合作伙伴表”等。用戶界是多模態(tài)的,它在單個(gè)統(tǒng)一界面中包括了語(yǔ)音消息和電子郵件消息。語(yǔ)音消息可以轉(zhuǎn)換成文本消息,而電子郵件消息在需要時(shí)能轉(zhuǎn)換成語(yǔ)音消息。而且,用戶界面不是基于應(yīng)用而是基于內(nèi)容的。例如,起始頁(yè)包括傳統(tǒng)上由各種應(yīng)用提供信息(即語(yǔ)音郵件消息,日程表,聯(lián)系等)。
Alex使用她的PC登錄到設(shè)計(jì)成幫助管理商務(wù)的服務(wù)(如b CentralTM,由微軟公司提供),并使用該服務(wù)將新的自行車加到7Cycles’的在線產(chǎn)品目錄中。該服務(wù)引出一個(gè)產(chǎn)品目錄條目的模板。然后她搜索7Cycles公司的企業(yè)內(nèi)部網(wǎng)(包括個(gè)人數(shù)據(jù)存儲(chǔ)及其他來源)尋找關(guān)于新自行車的信息(圖片,市場(chǎng)估價(jià),產(chǎn)品樣本等)并將合適的信息拖放到產(chǎn)品目錄模板。自行車的產(chǎn)品樣本以公用的描述語(yǔ)言(即XML)提供,并符合一個(gè)模式(見上述模式段),使得產(chǎn)品目錄模板服務(wù)理解雜樣本中的信息并用適當(dāng)?shù)男畔⑻钊朐撃0?。Alex預(yù)覽并發(fā)布更新的產(chǎn)品目錄頁(yè)。新的自行車隨即在7Cycles網(wǎng)站上列出。
然后Alex使用該服務(wù)詢問列出其他網(wǎng)站/公司的目錄,就能使此新自行車更具特色。因?yàn)槟夸浄?wù)(見上述目錄段)通過企業(yè)級(jí)元目錄的便于模式的同步提供整個(gè)因特網(wǎng)范圍的目錄服務(wù),此類可靠的因特網(wǎng)范圍的目錄表是極大地方便了。然后Alex將有關(guān)新自行車的信息共享到這些其他公司。
Alex還使用該服務(wù)以自動(dòng)地產(chǎn)生一個(gè)有關(guān)新自行車的關(guān)鍵詞表,并將這些共享到若干搜索引擎,使得人們能立即找到有關(guān)新自行車的信息。
Alex從Sandra得到電子郵件,Sandra是體育用品分銷店的雇員,她在網(wǎng)上看到7Cycles新自行車。她建議Alex在展銷會(huì)上會(huì)見她。Alex在如移動(dòng)電話那樣的便攜客戶設(shè)備上接收了此消息。雖然此客戶設(shè)備的用戶界面比PC的要小,由用戶界面提供的特征與由PC的用戶界面提供的一致。例如,該電話顯示具有定制高亮顯示頁(yè)面的Alex的起始頁(yè)的縮小版本,示出如聯(lián)系和緊急消息等。
Alex導(dǎo)航到聯(lián)系管理頁(yè),它使Alex能連結(jié)到Sandra的時(shí)間安排表,并提供到她在展銷會(huì)上的展臺(tái)的地圖。Sandra的時(shí)間表通過連結(jié)到Alex的MyState目錄(見目錄段)的適配目錄可以訪問到,該適配目錄使得能發(fā)布那樣的時(shí)間表。Alex使用語(yǔ)音到文本的轉(zhuǎn)換回答Sandra的消息,使Alex能聽寫下電子郵件消息。她檢查Sandra的日程表并建議她們?cè)?:00左右見會(huì)。
Alex到達(dá)了展銷會(huì)并使用鄰近/位置警示服務(wù)在她的移動(dòng)電話引出一張地圖,示出她本人的位置和Sandra的展臺(tái)的位置。當(dāng)她接近該展臺(tái)時(shí)地圖跟蹤她的位置。
當(dāng)她見到Sandra時(shí),Sandra問是否能看到新自行車的樣本。Alex說,所有信息放在7cycle的公司企業(yè)內(nèi)部網(wǎng)上。她借用Sandra的輸入板PC并作為客人用戶登入,顯示她的起始頁(yè)(很象在她工作PC上的那個(gè)),在底部附帶有展臺(tái)的地理相關(guān)信息(如Alex感興趣的本地事物)。因此,上述的存儲(chǔ),目錄和安全性組件使Alex能在新的客戶設(shè)備上認(rèn)證自己,并通過該客戶設(shè)備得到她能得到的所有她的個(gè)性化信息。Alex找到自行車樣本并從她當(dāng)前的聯(lián)系表請(qǐng)求將該信息共享給Sandra。在Sandra登錄入以后,自行車樣本通過聯(lián)合的安全性范圍以安全方式在她們的輸入板PC上顯示。
在Sandra從展銷會(huì)返回以后,Sandra使用她的工作PC訪問語(yǔ)音和電子郵件消息。Sandra的起始頁(yè)混合顯示個(gè)人的,職業(yè)的,和網(wǎng)上的信息。Sandra發(fā)送消息給她的同事,他們需要準(zhǔn)備一個(gè)有關(guān)新自行車的建議給體育用品連鎖零售商。當(dāng)她打字時(shí),系統(tǒng)識(shí)別某些內(nèi)容適合于行動(dòng)菜單,如另外同事的名和建議預(yù)定的日期。系統(tǒng)識(shí)別數(shù)據(jù)的相關(guān)性,使它們自動(dòng)地和適本地連結(jié)到聯(lián)系和日程表信息。此有意義的通信在模式段內(nèi)描述。
然后Sandra為該建議建立項(xiàng)目頁(yè),它自動(dòng)地使用在模式段中描述的自動(dòng)完成特征來包括所有電子郵件的名字,并設(shè)置用于共享信息/合作以及將包括在該項(xiàng)目中的建議文檔的網(wǎng)頁(yè)。Alex(從不同的公司/安全范圍)也被包括在該項(xiàng)目中。隨后,Sandra開始寫此建議,它與其他團(tuán)隊(duì)成員實(shí)時(shí)共享。這能使用在消息發(fā)送段中描述的異步消息發(fā)送完成。她們使用即時(shí)消息發(fā)送/聊天來討論要作出的改變。建議是多媒體文檔,它包括文本,圖形,視頻等。第三方內(nèi)容(如從圖像室來的照片)能直接加入到該對(duì)象處理程序。視譜內(nèi)容能加注釋。
從工作地驅(qū)車回家,當(dāng)Sandra的車上PC通知她,她有關(guān)于該建議的消息(她規(guī)定,對(duì)此消息她應(yīng)該被打斷)時(shí),她用她的車上電話與她的丈夫交談。這些通知是響應(yīng)在事件段中描述的預(yù)定事件發(fā)出的。部分這些預(yù)定事件包括用戶定義的規(guī)則。例如,Sandra規(guī)定她在車上能被打斷的條件。該電子郵件是從零售商來的消息,他們想要把附加圖例信息包括在該建議中。到家后,Sandra使用她的家用PC(它在起始頁(yè)上具有個(gè)人的“外表”,且其中她的簡(jiǎn)況略有不同)。形成個(gè)人“外表”的偏愛信息可以存入在目錄段中討論的Home Presence或MyState適配目錄中。她將從外部網(wǎng)站和她公司的數(shù)據(jù)庫(kù)來的信息過濾/合并/映射到該文檔,從而將附加的圖例信息加入到該建議中。通過模式,從不同網(wǎng)站來的信息的合并是方便了。
第二天,Alex收到從Sandra來的消息,他們需要改變他們的訂單從連夜將自行車發(fā)貨到30個(gè)不同的零售店,而不是象開始那樣發(fā)到Sandra的業(yè)務(wù)點(diǎn)。Alex登錄到業(yè)務(wù)服務(wù),在那里Sandra為改變購(gòu)買訂單而填寫模板的業(yè)務(wù),服務(wù)也已經(jīng)用通知形式對(duì)Alex表示過。Alex審視并點(diǎn)擊工具欄上的“AcceptChang—接收改變”,導(dǎo)致系統(tǒng)使用模式認(rèn)識(shí)到,它應(yīng)詢問Alex是否確認(rèn)要通過UPS發(fā)貨。她說是,且系統(tǒng)建立新的發(fā)貨事件將Alex與安排發(fā)貨的UPS聯(lián)系起來。在UPS和7Cycle之間的日程協(xié)商設(shè)定取貨時(shí)間,它自動(dòng)地在Alex的日程表上示出。Sandra接收通知,改變訂單已被處理。通過使用分布式事件系統(tǒng),業(yè)務(wù)服務(wù)能為用戶跟蹤事件(定單接收,定單貨運(yùn)等)。業(yè)務(wù)服務(wù)經(jīng)過通知管理程序發(fā)送通知給Sandra。為她提供對(duì)內(nèi)容敏感的通知服務(wù)的整個(gè)通知系統(tǒng)的一部分的通知管理程序用作監(jiān)控各種進(jìn)入的通知。通知管理程序根據(jù)它對(duì)Sandra的當(dāng)前情況,關(guān)注點(diǎn),位置和設(shè)備可用性,將重要和對(duì)內(nèi)容敏感的消息轉(zhuǎn)送到Sandra。
消費(fèi)者的情景此情景關(guān)注對(duì)普通用戶或消費(fèi)者而言本發(fā)明的優(yōu)點(diǎn)。此情景描述去渡假的家庭和青年女生活中的一天。
此情景說明了由本發(fā)明提供的改善的消息發(fā)送,日常生活任務(wù)的簡(jiǎn)化,改善的娛樂。某些關(guān)鍵特征包括對(duì)到處存在的一個(gè)給定人的公共角色,設(shè)備空間之間互操作的一致的組,一致的數(shù)據(jù)捕捉,對(duì)數(shù)字紀(jì)元所有資源的訪問(隱私,通過設(shè)備空間自然的雙向通信,一致的用戶經(jīng)歷,個(gè)性化娛樂,人們生活的自然部分的網(wǎng)絡(luò)化)。
家庭的父親(“Dad”)使用家用PC計(jì)劃到洛杉機(jī)和圣地亞哥動(dòng)物園的家庭渡假。使用一個(gè)服務(wù),Dad給PC機(jī)很少的數(shù)據(jù),通過僅輸入一次信息系統(tǒng)建議并預(yù)訂機(jī)票,旅館,車輛并得到動(dòng)物園門票。因?yàn)榉?wù)器是有在基于模式消息發(fā)送的情況下有意義的交換信息的能力,服務(wù)器能作為一個(gè)服務(wù)器聯(lián)盟通信,以使用單個(gè)用戶請(qǐng)求獲得如機(jī)票,旅館,汽車預(yù)定數(shù)據(jù)和動(dòng)物園門票的可獲得性等不同的數(shù)據(jù),因此,父親不必與每個(gè)服務(wù)器聯(lián)系以獨(dú)立地獲得此信息。
系統(tǒng)還指出,通過提前一天可以節(jié)省錢,并檢查每個(gè)人的日程表,看他們是否有空。因?yàn)槿粘瘫硇畔⑹且訶ML格式存儲(chǔ)的,系統(tǒng)能同步每個(gè)人的日程表,看什么時(shí)候可行。系統(tǒng)還通過提出與折扣有關(guān)的信息(如Prime Card,AAA成員)進(jìn)一步節(jié)省錢。根據(jù)存儲(chǔ)的個(gè)人偏愛,該服務(wù)還停止報(bào)紙,發(fā)送電子郵件給鄰居讓她在全家度假時(shí)喂貓。這示出根據(jù)概況和規(guī)則自動(dòng)處理日常任務(wù)的系統(tǒng)能力。在事件段中描述的事件發(fā)生可用于檢測(cè)該事件,并根據(jù)該事件完成任務(wù)。
然后母親和父親在PC上得到對(duì)祖父母的周年紀(jì)念的提示。他們使用視頻會(huì)議作出預(yù)訂,并在飯店訂了特別蛋糕。這證明了用戶界面的多模態(tài)屬性。祖父母收到邀請(qǐng)并接受之(通過他們的PC或WebTV(網(wǎng)絡(luò)電視))。
乘車到學(xué)校去的孩子們得到計(jì)劃旅行的通知。此通知可以經(jīng)過在消息發(fā)送段中描述的異步消息發(fā)送完成。到動(dòng)物園應(yīng)用/服務(wù)的連結(jié)使孩子們能查出動(dòng)物園地圖,表演時(shí)間等。
當(dāng)該家庭在飛機(jī)場(chǎng)得到租用的車時(shí),他裝有下載的每個(gè)家庭成員所喜歡的音樂/視頻節(jié)目(父親在訂車時(shí)指定此選項(xiàng)并付款)。如在存儲(chǔ)段中所述,對(duì)每個(gè)人的愛好信息從海量存儲(chǔ)中獲得。因此,可得到的喜愛在租得的車中容易得到。
當(dāng)在汽車內(nèi),女兒餓了。并使用鄰近/位置感知服務(wù)定位在汽車的一定半徑范圍內(nèi)她喜愛的快餐店之一,給出方向并為家庭預(yù)訂食品。鄰近/位置感知應(yīng)用通過在目錄段內(nèi)描述的目錄結(jié)構(gòu)訪問適配目錄。家庭可選擇其最短的預(yù)定線路去取食品。他們用智能卡支付。
在動(dòng)物園的入口,兒子下載動(dòng)物園應(yīng)用的拷貝到他的PDA。動(dòng)物園應(yīng)用包括地圖,事件(動(dòng)物喂食),有關(guān)在動(dòng)物園內(nèi)個(gè)體顯示的數(shù)據(jù)(如黑猩猩的細(xì)節(jié)),促銷等。他接收到他在學(xué)校的伙伴也在動(dòng)物園中的通知,他們于是交換消息并計(jì)劃在稍晚時(shí)會(huì)面。為了便于這樣的通知,與PDA相關(guān)的位置感應(yīng)器可以提供數(shù)據(jù)給位置感知應(yīng)用。此應(yīng)用提供在目錄段中描述的到因特網(wǎng)范圍目錄結(jié)構(gòu)的位置?;锇橐灿幸粋€(gè)應(yīng)用,它將伙伴們的位置傳輸?shù)揭蛱鼐W(wǎng)范圍的目錄服務(wù)。當(dāng)伙伴們?cè)趦鹤拥哪硞€(gè)距離范圍內(nèi),或與兒子在共同區(qū)域(如動(dòng)物園)中時(shí),包括在位置感知程序中的事件被觸發(fā)。此事件通過異步消息發(fā)送從應(yīng)用的封地組件通信到應(yīng)用的頁(yè)面組件。此事件隨后能發(fā)通知,并通過PDA的用戶界面通知兒子。
母親拍下家庭在動(dòng)物園的數(shù)碼照片,他們將其郵寄到他們社區(qū)的網(wǎng)站。祖父母在他們看電視時(shí)在他們的電視因特網(wǎng)瀏覽器上接到通知,說有新的照片。他們喜歡該照片并將它們下載到屋子的電子相片架中。祖父母運(yùn)行一個(gè)應(yīng)用,它具有包容監(jiān)視網(wǎng)站有無新照片的事件的封地層。當(dāng)新相片郵寄到時(shí),事件被觸發(fā),導(dǎo)致給祖父母發(fā)送一個(gè)消息。例如,消息可以響應(yīng)該事件由在封地組件中的程序碼的本體產(chǎn)生(見編程模型段)從度假返回,青年女兒Jenna使用房間內(nèi)的她的PC檢索她離開時(shí)的消息。Jenna在她的用戶界面上有“青年女孩”的外表。一個(gè)朋友留給她有關(guān)去音樂會(huì)的消息,但說票已售完。在聽取消息時(shí),她接受通知,她有一個(gè)有關(guān)的消息。她打開該消息,它通知她為她保留了兩張票(幸運(yùn)的是,Jenna向音樂服務(wù)預(yù)訂了當(dāng)她喜愛的樂隊(duì)來到本鎮(zhèn)時(shí)自動(dòng)為她購(gòu)買票)。此服務(wù)還從她的喜歡的樂隊(duì)中提供新的音樂剪輯(Clips)。由于在事件段中描述的事件,Jenna能夠自動(dòng)的購(gòu)買票子并獲得新的音樂剪輯。
Jenna視頻會(huì)見她的朋友討論有關(guān)音樂會(huì)票子,因此證明了用戶界面的多模態(tài)特性。然后他們?cè)诩彝プ鳂I(yè)分配上合作(做出有關(guān)雨林問題的視頻報(bào)告)。他們還連接到項(xiàng)目網(wǎng)站并在視頻會(huì)見期間實(shí)時(shí)編輯視頻/文字。Jenna提供她在動(dòng)物園期間制作的視頻節(jié)目。當(dāng)他們完成時(shí),他們將他們的報(bào)告提交到學(xué)校的網(wǎng)站。
Jenna使用她的學(xué)校的網(wǎng)站下載她缺課的課程的視頻,并上載任何家庭作業(yè)的分配。她得知,她必須在當(dāng)前的環(huán)境問題上作報(bào)告。她命令智能新聞通信社從選定的來源找到最近的環(huán)境新聞剪輯,并在她醒來時(shí)可以得到它們。對(duì)環(huán)境新聞剪輯的搜索借助在目錄段中描述的適配目錄的因特網(wǎng)范圍的同步而十分方便。
當(dāng)Jenna起身時(shí),她接收到通知,她的新聞剪輯已經(jīng)就緒。此通知當(dāng)新聞剪輯就緒時(shí)由一個(gè)觸發(fā)事件產(chǎn)生,她開始掃視它們,但是時(shí)間已晚,將其聲音傳到她的汽車PC,所以她能在到學(xué)校的路上完成收聽。當(dāng)在汽車中時(shí),她選擇她的剪輯,并將其下載到她的輸入板PC。這就證明Jenna使用在存儲(chǔ)段中描述的海量存儲(chǔ)將聲音存入服務(wù)器聯(lián)盟,并隨后在不同的客戶設(shè)備上,從該服務(wù)器聯(lián)盟上重新獲得聲音。到達(dá)學(xué)校之后,Jenna在她的輸入板PC上查閱學(xué)校網(wǎng)站以閱讀學(xué)校報(bào)紙并查出午飯菜單。
放學(xué)以后,Jenna使用她的PC與她的朋友遠(yuǎn)程玩視頻游戲。游戲包括面孔映射/掃描技術(shù),其中Jenna的面孔出現(xiàn)在視頻游戲人物上。在游戲期間,Jenna從她老師處接收一個(gè)即時(shí)消息,稱贊她關(guān)于她的報(bào)告。Jenna還接收一個(gè)通知,一個(gè)她喜歡的電影已可下載。此通知是當(dāng)喜歡的電影可用時(shí)響應(yīng)一個(gè)觸發(fā)事件而產(chǎn)生。
開發(fā)者此情景描述一個(gè)在工作旅途上易出事故的人(即Steve)。此情景的關(guān)鍵點(diǎn)是對(duì)在海量存儲(chǔ)或“云”中的個(gè)人信息的普遍安全的訪問,將用戶訪問聯(lián)系到信息,并簡(jiǎn)化信息交換Steve在機(jī)場(chǎng)的租用電話亭,且非常激動(dòng),因?yàn)樗麑⑺闹悄茈娫捔粼诩依锊⑿枰L問他的信息。幸運(yùn)的是,Steve帶著他的智能卡,而且他能使用智能卡租用電話并從服務(wù)器聯(lián)盟中的海量存儲(chǔ)下載所有他的個(gè)人信息。這就展示了使用模式作為信息的單向訪問方法,并使用在安全性段中描述的因特網(wǎng)認(rèn)證,在任何地方訪問從“海量存儲(chǔ)”來的信息。智能卡認(rèn)證了Steve,并告訴租用的電話,Steve的信息位于何處(即,日程表信息存在x處,聯(lián)系信息存在y處等)。然后電話檢索此信息并為Steve下載它。
在他離開機(jī)場(chǎng)的路上,Steve與一個(gè)自行車信使相撞,傷及他的踝骨。他是在陌生城市,不知道到哪里去求醫(yī)。Steve呼叫他的家庭醫(yī)生并詢問可以接受他的保險(xiǎn)的附近診所。接收處使用診所治療安排服務(wù)用于更有效匯集信息,以定位靠近Steve的診所和在他和他的妻子的現(xiàn)有健康計(jì)劃下的百分比保險(xiǎn)總額。她還是用日程表共享以將Steve安排為立即的約定并直接與該診所交互。這解釋了業(yè)務(wù)和個(gè)人模式的自動(dòng)映射。而且,通過在目錄段中描述的目錄結(jié)構(gòu),使得可以獲得列表或診斷和診所的日程表。
接收處請(qǐng)求Steve同意與新的診所共享他的醫(yī)療記錄。Steve認(rèn)證他自己并接收他的醫(yī)療記錄的表(在他的智能電話上)。他然后檢查,他想要使哪個(gè)記錄對(duì)該診所可用。這就說明了“聯(lián)系的訪問”—由位何應(yīng)用作出基于規(guī)則的判斷信息訪問的合法性與否決,安全性建在系統(tǒng)級(jí)上并由豐富的模式及數(shù)據(jù)存儲(chǔ)/訪問支持。新的診斷說,Steve扭傷了踝骨。他們發(fā)通知給Steve的常規(guī)醫(yī)生。他們還發(fā)出x光片,使得醫(yī)生能確認(rèn)此診斷M、結(jié)論分布式計(jì)算服務(wù)平臺(tái),包括編程模型,模式,用戶界面,事件,消息發(fā)送,存儲(chǔ),目錄,安全性,和程序碼管理組件,方便了更多基于因特網(wǎng)的合作和更多網(wǎng)站間的通信。
本發(fā)明能以其他特定形式實(shí)施而不背離其精神或主要的特征。所描述的實(shí)施例在所有方面上應(yīng)被認(rèn)為是說明性的而不是限制性的。因此,本發(fā)明的范圍由所附的權(quán)利要求指出而不是根據(jù)前面的描述。在權(quán)利要求的等價(jià)意義和范圍內(nèi)作出的所有改變被包括在它們的范圍內(nèi)。
希望保護(hù)的權(quán)利要求是
權(quán)利要求
1.一種軟件應(yīng)用,包括配置成在客戶設(shè)備上映射一個(gè)用戶界面的頁(yè)面組件;配置成可以在由頁(yè)面組件映射的用戶界面上表示的主活動(dòng)數(shù)據(jù)的封地組件;和表示頁(yè)面組件到封地組件的密使組件。
2.按權(quán)利要求1的軟件應(yīng)用,其特征在于頁(yè)面組件,密使組件,和封地組件在一臺(tái)服務(wù)器上實(shí)現(xiàn)。
3.按權(quán)利要求1的軟件應(yīng)用,其特征在于頁(yè)面組件在客戶設(shè)備上實(shí)現(xiàn),封地組件在服務(wù)器上實(shí)現(xiàn)。
4.一種在第一設(shè)備和第二設(shè)備之間通信的方法,包括下列步驟第一設(shè)備使用由第二設(shè)備識(shí)別的模式構(gòu)造通信,其中通信的意義由模式隱含;并第一設(shè)備傳遞通信到第二設(shè)備。
5.一種用戶界面,包括確定一個(gè)設(shè)備的用戶界面能力的手段;提供與該設(shè)備的用戶界面能力匹配的用戶界面的手段。
6.按權(quán)利要求5的用戶界面,其特征在于該設(shè)備是第一設(shè)備,用戶界面還包括若用戶切換到具有不同用戶界面能力的第二設(shè)備時(shí),伸縮到該用戶界面能力的方法。
7.一種用戶界面,包括用于確定用戶的狀態(tài)或周圍情況的手段,和用于根據(jù)用戶的狀態(tài)或周圍情況調(diào)節(jié)輸入或輸出方法的手段。
8.一種用戶界面,包括用于將用戶輸入識(shí)別成符合模式的手段;用于將用戶輸入的意義識(shí)別成由模式隱含的意義的手段;和用于完成適合于用戶輸入的意義的功能的手段。
9.一種包含統(tǒng)一命令行的用戶界面,該用戶界面包括下列在統(tǒng)一命令行中接收用戶輸入的詢問的手段;用于識(shí)別在詢問中的多義性的手段;用于形成和通信給用戶一個(gè)響應(yīng)詢問請(qǐng)求信息的手段,該信息至少部分地澄清該多義性。
10.軟件包括一個(gè)配置成從多個(gè)預(yù)先存在的事件構(gòu)造新的事件的事件合成機(jī)構(gòu);和一個(gè)配置成路由新的事件的事件路由機(jī)構(gòu)。
11.一種第一設(shè)備與第二設(shè)備通信的方法,包括下列第一設(shè)備構(gòu)造一消息;和第一設(shè)備使用與傳輸協(xié)議無關(guān)的機(jī)構(gòu)傳遞消息到第二設(shè)備。
12.一種統(tǒng)一的存儲(chǔ)機(jī)構(gòu),包括下列用于從遠(yuǎn)程用戶界面接收對(duì)信息請(qǐng)求的手段;配置成確定信息被遠(yuǎn)程存儲(chǔ)在何處的一個(gè)目錄組件;和配置成檢索信息并將該信息提供給用戶界面的存儲(chǔ)組件。
13.一種目錄結(jié)構(gòu),包括包括有關(guān)對(duì)一個(gè)用戶的多個(gè)識(shí)別的信息的適配目錄;和存儲(chǔ)對(duì)用戶的認(rèn)證信息并管理對(duì)適配目錄的訪問的門戶。
14.一種清單,包括用于描述多個(gè)代碼組件的手段;用于描述在各代碼組件之間的關(guān)系的手段;和用于描述包括多個(gè)代碼組件中至少某些的應(yīng)用的手段。
15.在包括與多個(gè)客戶設(shè)備通信的多個(gè)服務(wù)器的服務(wù)器聯(lián)盟中,完成一個(gè)請(qǐng)求的方法包括下列多個(gè)服務(wù)器的第一服務(wù)器接收對(duì)一個(gè)服務(wù)的一個(gè)請(qǐng)求;第一服務(wù)器判定是否需要來自至少第二服務(wù)器的進(jìn)一步信息,以便響應(yīng)對(duì)該服務(wù)的請(qǐng)求;第一服務(wù)器利用由第一服務(wù)器和第二服務(wù)器共同識(shí)別的模式構(gòu)成對(duì)進(jìn)一步的信息的請(qǐng)求,其中對(duì)進(jìn)一步信息的請(qǐng)求的意義被該模式所隱含;第一服務(wù)器使用與傳輸協(xié)議無關(guān)的信息發(fā)送底層結(jié)構(gòu)傳遞對(duì)進(jìn)一步信息的請(qǐng)求到第二服務(wù)器;第一服務(wù)器接收從第二服務(wù)器來的響應(yīng),該響應(yīng)包括進(jìn)一步的信息;和第一服務(wù)器使用進(jìn)一步信息響應(yīng)對(duì)服務(wù)的請(qǐng)求。
16.按權(quán)利要求15的方法,其特征在于第一服務(wù)器構(gòu)成對(duì)進(jìn)一步信息的請(qǐng)求包括第一服務(wù)器按可擴(kuò)展標(biāo)記語(yǔ)言(XML)構(gòu)造請(qǐng)求。
17.按權(quán)利要求15的方法,其特征在于第一服務(wù)器從第二服務(wù)器接收響應(yīng)包括第一服務(wù)器以按照可擴(kuò)展標(biāo)記語(yǔ)言(XML)構(gòu)造的數(shù)據(jù)結(jié)構(gòu)形式從第二服務(wù)器接收響應(yīng)。
18.按權(quán)利要求15的方法,其特征在于第一服務(wù)器使用與傳輸協(xié)議無關(guān)的消息發(fā)送底層結(jié)構(gòu)傳遞對(duì)進(jìn)一步信息的請(qǐng)求到第二服務(wù)器包括第一服務(wù)器使用簡(jiǎn)單對(duì)象訪問協(xié)議(SOAP)傳遞對(duì)進(jìn)一步信息的請(qǐng)求。
19.按權(quán)利要求18的方法,其特征在于第一服務(wù)器構(gòu)造對(duì)進(jìn)一步信息的請(qǐng)求包括第一服務(wù)器按照可擴(kuò)展標(biāo)記語(yǔ)言(XML)構(gòu)造請(qǐng)求。
20.按權(quán)利要求15的方法,其特征在于第一服務(wù)器從第二服務(wù)器接收響應(yīng)包括第一服務(wù)器使用簡(jiǎn)單對(duì)象訪問協(xié)議(SOAP)從第二服務(wù)器接收響應(yīng)。
21.按權(quán)利要求20的方法,其特征在于第一服務(wù)器從第二服務(wù)器接收響應(yīng)還包括第一服務(wù)器以按照可擴(kuò)展標(biāo)記語(yǔ)言(XML)構(gòu)成的數(shù)據(jù)結(jié)構(gòu)形式從第二服務(wù)器接收響應(yīng)。
22.按權(quán)利要求15的方法,其特征在于第一服務(wù)器使用與傳輸協(xié)議無關(guān)的消息發(fā)送底層結(jié)構(gòu)傳遞對(duì)進(jìn)一步信息的請(qǐng)求到第二服務(wù)器包括下列一個(gè)消息發(fā)送組件與支持多個(gè)傳輸協(xié)議的公共應(yīng)用程序接口通信。
23.按權(quán)利要求22的方法,其特征在于第一服務(wù)器使用與傳輸協(xié)議無關(guān)的消息發(fā)送底層結(jié)構(gòu)傳遞對(duì)進(jìn)一步信息的請(qǐng)求到第二服務(wù)器包括公共的應(yīng)用程序界面與多個(gè)傳輸協(xié)議中的合適的一個(gè)通信以響應(yīng)消息發(fā)送組件與公共應(yīng)用程序接口的通信。
24.按權(quán)利要求23的方法,其特征在于公共應(yīng)用程序接口與多個(gè)傳輸協(xié)議中的合適的一個(gè)通信包括公共應(yīng)用程序接口與超文本傳輸協(xié)議(HTTP)傳輸通信。
25.按權(quán)利要求23的方法,其特征在于公共應(yīng)用程序接口與多個(gè)傳輸協(xié)議中的合適的一個(gè)通信包括公共應(yīng)用與MSMQ二進(jìn)制傳輸通信。
26.按權(quán)利要求23的方法,其特征在于公共應(yīng)用程序接口與多個(gè)傳輸協(xié)議中的合適的一個(gè)通信包括公共應(yīng)用程序接口與組播傳輸通信。
27.按權(quán)利要求23的方法,其特征在于公共應(yīng)用程序接口與多個(gè)傳輸協(xié)議中的合適的一個(gè)通信包括公共應(yīng)用程序接口與SMTP傳輸通信。
28.按權(quán)利要求15的方法,其特征在于多個(gè)服務(wù)器的第一服務(wù)器接收對(duì)服務(wù)的請(qǐng)求包括多個(gè)服務(wù)器的第一服務(wù)器從第三服務(wù)器接收對(duì)服務(wù)的請(qǐng)求。
29.按權(quán)利要求15的方法,其特征在于多個(gè)服務(wù)器的第一服務(wù)器接收對(duì)服務(wù)的請(qǐng)求包括多個(gè)服務(wù)器的第一服務(wù)器從客戶端接收對(duì)服務(wù)的請(qǐng)求。
30.用于服務(wù)器聯(lián)盟的第一個(gè)服務(wù)器的計(jì)算機(jī)程序產(chǎn)品,服務(wù)器聯(lián)盟包括與多個(gè)客戶設(shè)備通信的多個(gè)服務(wù)器,計(jì)算機(jī)程序產(chǎn)品包括存儲(chǔ)下列內(nèi)容的計(jì)算機(jī)可讀介質(zhì)用于檢測(cè)對(duì)服務(wù)請(qǐng)求的接收的計(jì)算機(jī)可執(zhí)行指令;用于判斷需要從至少第二服務(wù)器來的進(jìn)一步信息以響應(yīng)對(duì)服務(wù)的請(qǐng)求的計(jì)算機(jī)可執(zhí)行指令;用于利用由第一服務(wù)器和第二服務(wù)器兩者識(shí)別的模式構(gòu)造對(duì)進(jìn)一步信息的請(qǐng)求的計(jì)算機(jī)可執(zhí)行指令,其中對(duì)進(jìn)一步信息請(qǐng)求的意義由該模式隱含;使用與傳輸協(xié)議無關(guān)的消息發(fā)送底層結(jié)構(gòu)使對(duì)進(jìn)一步信息的請(qǐng)求傳遞到第二服務(wù)器的計(jì)算機(jī)可執(zhí)行指令;用于檢測(cè)從第二服務(wù)器來的響應(yīng)的接收的計(jì)算機(jī)可執(zhí)行指令;和用于使用進(jìn)一步信息響應(yīng)對(duì)服務(wù)的請(qǐng)求的計(jì)算機(jī)可執(zhí)行指令。
31.按權(quán)利要求30的計(jì)算機(jī)程序產(chǎn)品,其特征在于計(jì)算機(jī)可讀介質(zhì)是物理存儲(chǔ)介質(zhì)。
32.按權(quán)利要求30的計(jì)算機(jī)程序產(chǎn)品,其特征在于用于利用由第一服務(wù)器和第二服務(wù)器兩者識(shí)別的模式構(gòu)造對(duì)進(jìn)一步信息的請(qǐng)求的計(jì)算機(jī)可執(zhí)行指令包括用于按照可擴(kuò)展標(biāo)記語(yǔ)言(XML)構(gòu)造請(qǐng)求的計(jì)算機(jī)可執(zhí)行指令。
33.按權(quán)利要求30的計(jì)算機(jī)程序產(chǎn)品,其特征在于使用與傳輸協(xié)議無關(guān)的消息發(fā)送底層結(jié)構(gòu)使對(duì)進(jìn)一步信息的請(qǐng)求傳遞到第二服務(wù)器的計(jì)算機(jī)可執(zhí)行指令包括用于與支持多個(gè)傳輸協(xié)議的公共應(yīng)用程序接口通信的計(jì)算機(jī)可執(zhí)行指令。
34.按權(quán)利要求33的計(jì)算機(jī)程序產(chǎn)品,其特征在于使用與傳輸協(xié)議無關(guān)的消息發(fā)送底層結(jié)構(gòu)使對(duì)進(jìn)一步信息的請(qǐng)求傳遞到第二服務(wù)器的計(jì)算機(jī)可執(zhí)行指令包括用于實(shí)現(xiàn)公共應(yīng)用程序接口計(jì)算機(jī)可執(zhí)行指令,使得公共應(yīng)用程序接口與多個(gè)傳輸協(xié)議中的合適的一個(gè)進(jìn)行通信以響應(yīng)用于與公共應(yīng)用程序接口通信的計(jì)算機(jī)可執(zhí)行指令的執(zhí)行。
35.在包括與含有第一客戶設(shè)備和第二客戶設(shè)備的多個(gè)客戶設(shè)備進(jìn)行通信的多個(gè)服務(wù)器的網(wǎng)絡(luò)中,一種便于在會(huì)話中在第一客戶設(shè)備與第二客戶設(shè)備之間轉(zhuǎn)移的方法,該方法包括下列步驟檢索存儲(chǔ)在至少一個(gè)服務(wù)器的狀態(tài)信息;在與第一客戶設(shè)備的會(huì)話中交互導(dǎo)致狀態(tài)信息的更新;將更新后的信息存入至少一個(gè)服務(wù)器上;當(dāng)會(huì)話在第二客戶設(shè)備繼續(xù)時(shí),檢索更新的狀態(tài)信息;和根據(jù)更新的狀態(tài)信息在繼續(xù)的會(huì)話中與第二客戶設(shè)備交互。
36.按權(quán)利要求35的方法,其特征在于還包括在響應(yīng)在會(huì)話中與第一客戶設(shè)備的交互而允許狀態(tài)信息更新以前認(rèn)證第一客戶設(shè)備的用戶。
37.按權(quán)利要求36的方法,其特征在于還包括在繼續(xù)會(huì)話中與第二客戶設(shè)備交互以前將第二客戶設(shè)備的用戶認(rèn)證成與第一客戶設(shè)備的用戶相同的同戶。
38.按權(quán)利要求35的方法,其特征在于使用遵循由多個(gè)服務(wù)器識(shí)別的模式的數(shù)據(jù)結(jié)構(gòu)將狀態(tài)信息存儲(chǔ)在至少一個(gè)服務(wù)器上,其中狀態(tài)信息的意義由該模式隱含。
39.按權(quán)利要求38的方法,其特征在于該數(shù)據(jù)結(jié)構(gòu)是按可擴(kuò)展的標(biāo)記語(yǔ)言(XML)構(gòu)造的。
40.按權(quán)利要求35的方法,其特征在于至少一個(gè)服務(wù)器包括服務(wù)器聯(lián)盟。
41.按權(quán)利要求35的方法,其特征在于至少一部分狀態(tài)信息包括用戶界面信息,其中與第一客戶設(shè)備會(huì)話中的交互包括下列步驟確定第一客戶設(shè)備的第一用戶界面特征;和提供第一組用戶界面信息到第一客戶設(shè)備,使第一組用戶界面信息適合于第一用戶界面特征。
42.按權(quán)利要求41的方法,其特征在于在與第二客戶設(shè)備繼續(xù)的會(huì)話中的交互包括下列步驟確定第二客戶設(shè)備的第二用戶界面特征;和提供第二組用戶界面信息給第二客戶設(shè)備,使第二組用戶界面信息適合于第二用戶界面特征。
43.按權(quán)利要求42的方法,其特征在于第一和第二客戶設(shè)備具有相同的用戶界面能力,其中第一和第二組狀態(tài)信息包括基本相同的用戶界面信息,從而允許第一和第二客戶設(shè)備顯示相同的信息。
44.按權(quán)利要求42的方法,其特征在于第一和第二客戶設(shè)備具有不同的用戶界面能力,其中第一和第二組用戶界面信息是不同的。
45.按權(quán)利要求44的方法,其特征在于與第一客戶設(shè)備會(huì)話中的交互包括與個(gè)人計(jì)算機(jī)的會(huì)話中的交互。
46.按權(quán)利要求45的方法,其特征在于個(gè)人計(jì)算機(jī)包括第一個(gè)人計(jì)算機(jī),其中與第二客戶設(shè)備的繼續(xù)會(huì)話中的交互包括與第二個(gè)人計(jì)算機(jī)的繼續(xù)會(huì)話中的交互。
47.按權(quán)利要求45的方法,其特征在于與第二客戶設(shè)備的繼續(xù)會(huì)話中的交互包括與移動(dòng)電話的繼續(xù)會(huì)話中的交互。
48.按權(quán)利要求44的方法,其特征在于與第一客戶設(shè)備的會(huì)話中的交互包括與移動(dòng)電話會(huì)話中的交互。
49.按權(quán)利要求48的方法,其特征在于移動(dòng)電話包括第一移動(dòng)電話,其中與第二客戶設(shè)備的繼續(xù)會(huì)話中的交互包括與第二移動(dòng)電話的繼續(xù)會(huì)話中的交互。
50.按權(quán)利要求48的方法,其特征在于與第二客戶設(shè)備的繼續(xù)會(huì)話中的交互包括與個(gè)人計(jì)算機(jī)的繼續(xù)會(huì)話中的交互。
51.按權(quán)利要求35的方法,其特征在于還包括至少暫時(shí)地中止與第一客戶設(shè)備的會(huì)話中的交互,其中與第二客戶設(shè)備的繼續(xù)會(huì)話中的交互發(fā)生在至少暫時(shí)地中止與第一客戶設(shè)備的會(huì)話中的交互之后。
52.按權(quán)利要求35的方法,其特征在于檢索存儲(chǔ)在至少一個(gè)服務(wù)器上的狀態(tài)信息包括檢索存儲(chǔ)在至少一個(gè)服務(wù)器上的偏愛信息。
53.按權(quán)利要求35的方法,其特征在于在至少一個(gè)服務(wù)器存儲(chǔ)更新的信息包括在至少一個(gè)服務(wù)器上存儲(chǔ)用于會(huì)話的會(huì)話狀態(tài)信息。
54.按權(quán)利要求35的方法,其特征在于多個(gè)服務(wù)器包括服務(wù)器聯(lián)盟,其中檢索狀態(tài)信息、與第一客戶設(shè)備的會(huì)話中的交互、存儲(chǔ)更新的信息、檢索更新的狀態(tài)信息和在繼續(xù)的會(huì)話中的交互等動(dòng)作由服務(wù)器聯(lián)盟的二個(gè)或多個(gè)服務(wù)器合作完成。
55.一種用于包括與含有第一客戶設(shè)備及第二客戶設(shè)備的多個(gè)客戶設(shè)備通信的多個(gè)服務(wù)器的網(wǎng)絡(luò)中的計(jì)算機(jī)程序產(chǎn)品,該計(jì)算機(jī)程序產(chǎn)品用于實(shí)現(xiàn)便于在會(huì)話中在第一客戶設(shè)備與第二客戶設(shè)備之間轉(zhuǎn)移的方法,該計(jì)算機(jī)程序產(chǎn)品包括計(jì)算機(jī)可讀介質(zhì),其上存儲(chǔ)下列內(nèi)容用于檢測(cè)接收到存儲(chǔ)在至少一個(gè)服務(wù)器上的狀態(tài)信息的計(jì)算機(jī)可執(zhí)行指令;用于引起與第一客戶設(shè)備的會(huì)話中的交互的計(jì)算機(jī)可執(zhí)行指令;用于響應(yīng)與第一客戶設(shè)備的會(huì)話中的交互而引起狀態(tài)信息更新的計(jì)算機(jī)可執(zhí)行指令;用于引起將更新的信息存儲(chǔ)在至少一個(gè)服務(wù)器的計(jì)算機(jī)可執(zhí)行指令;用于當(dāng)會(huì)話在第二客戶設(shè)備上繼續(xù)時(shí)檢測(cè)接收到更新的狀態(tài)信息的計(jì)算機(jī)可執(zhí)行指令;和用于根據(jù)更新的狀態(tài)信息引起與第二客戶設(shè)備的繼續(xù)會(huì)話中的交互的計(jì)算機(jī)可執(zhí)行指令。
56.按權(quán)利要求55的計(jì)算機(jī)程序產(chǎn)品,其特征在于計(jì)算機(jī)可讀介質(zhì)是物理存儲(chǔ)介質(zhì)。
全文摘要
服務(wù)器聯(lián)盟合作地交互,通過使用遵循一個(gè)模式的數(shù)據(jù)結(jié)構(gòu)通信完成服務(wù)請(qǐng)求,通信數(shù)據(jù)的意義由該模式所包含。因此,除了被通信的數(shù)據(jù)外,還通信數(shù)據(jù)的意義以便根據(jù)數(shù)據(jù)的意義作出智能決策和推理。借助經(jīng)支持多個(gè)傳輸機(jī)制的公共API的消息發(fā)送方便了在各種網(wǎng)絡(luò)上的合作交互。而且借助模式及無關(guān)傳輸協(xié)議的消息發(fā)送結(jié)構(gòu)便于會(huì)話中在客戶設(shè)備之間的轉(zhuǎn)移。即使客戶設(shè)備具有不同的用戶界面能力,客戶設(shè)備的用戶界面將顯出一致性。
文檔編號(hào)G06F9/44GK1524217SQ01811458
公開日2004年8月25日 申請(qǐng)日期2001年6月22日 優(yōu)先權(quán)日2000年6月22日
發(fā)明者J·D·貝爾費(fèi)奧雷, J D 貝爾費(fèi)奧雷, D·G·坎貝爾, 坎貝爾, S·卡普斯, 賬, S·M·切利尼, 切利尼, V·貢多特拉, 嗵乩, M·H·盧科夫斯基, 盧科夫斯基, P·A·瑪瑞茨, 瑪瑞茨, A·米特爾, 囟, E·D·魯?shù)? 魯?shù)? K·W·肖特, 肖特, K·辛格, 施皮羅, P·M·施皮羅, 特羅爾, T·W·特羅爾, 箍, D·瓦斯凱維奇, 菲茨杰拉德, C·T·菲茨杰拉德 申請(qǐng)人:微軟公司