專利名稱:實(shí)時(shí)內(nèi)核的制作方法
實(shí)時(shí)內(nèi)核
背景技術(shù):
對(duì)基于化身的虛擬現(xiàn)實(shí)通信系統(tǒng)的興趣已隨具有高處理能力和高帶寬網(wǎng)絡(luò)連接的計(jì)算系統(tǒng)的可用性的增加而成長(zhǎng)。此種虛擬現(xiàn)實(shí)系統(tǒng)的主要目標(biāo)是創(chuàng)建虛擬空間,其中用戶可使用實(shí)時(shí)數(shù)據(jù)流(諸如音頻、視頻和文本聊天流)進(jìn)行交互和通信。虛擬空間一般由計(jì)算機(jī)圖形描述定義,該圖形描述描述了該空間的虛擬幾何形狀、映射到該虛擬幾何形狀上的顏色和紋理、控制用戶如何在該空間中移動(dòng)的碰撞屬性、以及該空間的聽(tīng)覺(jué)屬性(諸如混響和聲音吸收屬性)。在典型的虛擬現(xiàn)實(shí)系統(tǒng)中,用戶從相應(yīng)計(jì)算機(jī)通過(guò)接口彼此通信,該接口是該系統(tǒng)所支持的一個(gè)或更多個(gè)實(shí)時(shí)數(shù)據(jù)流的源、阱、或者源和阱兩者。運(yùn)行在每一臺(tái)用戶計(jì)算機(jī)上的虛擬現(xiàn)實(shí)軟件應(yīng)用基于描述虛擬空間中的化身的位置的位置信息來(lái)配置其自身的音頻和圖形呈現(xiàn)。該位置信息通常直接從其他用戶的計(jì)算機(jī)接收或間接從中央存在性服務(wù)器接收。默認(rèn)地,虛擬現(xiàn)實(shí)軟件應(yīng)用通常將虛擬空間中表示的每個(gè)源連接到該虛擬空間中表示的每個(gè)阱,這受到全局開(kāi)關(guān)規(guī)則、局部用戶偏好、以及該虛擬空間中的對(duì)象屬性中指定的條件的影響。這些條件通常以對(duì)象間的相對(duì)距離的方式指定。例如,一些虛擬現(xiàn)實(shí)軟件應(yīng)用被配置成使得如果化身間的分開(kāi)距離超過(guò)最大閾值距離則不建立實(shí)時(shí)數(shù)據(jù)流連接。成功的虛擬現(xiàn)實(shí)通信系統(tǒng)通常應(yīng)具有相對(duì)低的計(jì)算資源要求,以便實(shí)時(shí)通信性能可使用當(dāng)前可用的計(jì)算設(shè)備和網(wǎng)絡(luò)帶寬限制來(lái)達(dá)成。此外,此種系統(tǒng)通常應(yīng)當(dāng)以鼓勵(lì)區(qū)域設(shè)計(jì)者開(kāi)發(fā)提高用戶對(duì)該系統(tǒng)的采用的虛擬區(qū)域的方式來(lái)實(shí)現(xiàn)。發(fā)明概述在一方面,本發(fā)明的特征在于一種方法,根據(jù)該方法在本地網(wǎng)絡(luò)節(jié)點(diǎn)接收來(lái)自遠(yuǎn)程網(wǎng)絡(luò)節(jié)點(diǎn)的一個(gè)或更多個(gè)流處置指令。這一個(gè)或更多個(gè)流處置指令包括對(duì)用于處理至少一個(gè)實(shí)時(shí)數(shù)據(jù)流的流處理機(jī)的描述。在本地網(wǎng)絡(luò)節(jié)點(diǎn),根據(jù)該描述創(chuàng)建流處理機(jī)。在本地網(wǎng)絡(luò)節(jié)點(diǎn)產(chǎn)生所得數(shù)據(jù)流。在此過(guò)程中,實(shí)時(shí)數(shù)據(jù)流通過(guò)所創(chuàng)建的流處理機(jī)處理。在另一方面,本發(fā)明特征在于一種方法,根據(jù)該方法從一個(gè)或更多個(gè)流處置指令解析對(duì)實(shí)時(shí)流處理機(jī)的描述。在此過(guò)程中,從該一個(gè)或更多個(gè)流處置指令解析輸入源標(biāo)識(shí)符、輸出阱標(biāo)識(shí)符、以及一個(gè)或更多個(gè)數(shù)據(jù)處理對(duì)象中的每一者的相應(yīng)標(biāo)識(shí)符。對(duì)應(yīng)于相應(yīng)一些標(biāo)識(shí)符的實(shí)時(shí)流處置對(duì)象被實(shí)例化。根據(jù)該描述被創(chuàng)建包括一些被實(shí)例化的實(shí)時(shí)流處置對(duì)象的有向圖。從對(duì)應(yīng)于輸入源標(biāo)識(shí)符的輸入源接收實(shí)時(shí)數(shù)據(jù)流。在對(duì)應(yīng)于輸出阱標(biāo)識(shí)符的輸出阱產(chǎn)生所得數(shù)據(jù)流。在此過(guò)程中,實(shí)時(shí)數(shù)據(jù)流通過(guò)該有向圖處理。在另一方面,本發(fā)明特征在于一種方法,根據(jù)該方法在本地網(wǎng)絡(luò)節(jié)點(diǎn)和至少一個(gè)遠(yuǎn)程網(wǎng)絡(luò)節(jié)點(diǎn)之間建立至少一個(gè)實(shí)時(shí)數(shù)據(jù)流連接。在本地網(wǎng)絡(luò)節(jié)點(diǎn),源自遠(yuǎn)程網(wǎng)絡(luò)節(jié)點(diǎn)的至少一個(gè)實(shí)時(shí)數(shù)據(jù)流被處理。在此過(guò)程中,通過(guò)一個(gè)或更多個(gè)實(shí)時(shí)數(shù)據(jù)處理操作處理該至少一個(gè)實(shí)時(shí)數(shù)據(jù)流以產(chǎn)生所得數(shù)據(jù)流。該處理被監(jiān)視。響應(yīng)于基于該監(jiān)視確定該處理偏離性能目標(biāo),根據(jù)實(shí)時(shí)性能目標(biāo)例程修改該處理。在另一方面,本發(fā)明特征在于一種方法,根據(jù)該方法,在本地網(wǎng)絡(luò)節(jié)點(diǎn),根據(jù)無(wú)連接傳輸協(xié)議在傳輸流上建立與遠(yuǎn)程網(wǎng)絡(luò)節(jié)點(diǎn)的第一會(huì)話。代表本地網(wǎng)絡(luò)節(jié)點(diǎn)上的一個(gè)或更多個(gè)軟件實(shí)體,自動(dòng)打開(kāi)在第一會(huì)話中在本地網(wǎng)絡(luò)節(jié)點(diǎn)和遠(yuǎn)程網(wǎng)絡(luò)節(jié)點(diǎn)之間傳送數(shù)據(jù)的一個(gè)或更多個(gè)信道。在第一會(huì)話中,維護(hù)一表。該表標(biāo)識(shí)打開(kāi)的一些信道并將相應(yīng)的屬性值與所標(biāo)識(shí)的信道相關(guān)聯(lián)。響應(yīng)于確定第一會(huì)話已經(jīng)失敗,根據(jù)無(wú)連接傳輸協(xié)議自動(dòng)嘗試在第二傳輸流上建立與遠(yuǎn)程網(wǎng)絡(luò)節(jié)點(diǎn)的第二會(huì)話。響應(yīng)于成功建立第二會(huì)話,自動(dòng)打開(kāi)該表中標(biāo)識(shí)的每個(gè)信道。在另一方面,本發(fā)明特征在于一種方法,根據(jù)該方法解析包括一個(gè)或更多個(gè)內(nèi)核服務(wù)組件的內(nèi)核組件的列表。確定被解析的列表中在本地儲(chǔ)存庫(kù)中缺少的所有內(nèi)核組件。 檢索被確定為缺少的每個(gè)內(nèi)核組件。從一些內(nèi)核服務(wù)內(nèi)核組件實(shí)例化內(nèi)核服務(wù)。執(zhí)行被實(shí)例化的內(nèi)核服務(wù)以在關(guān)于虛擬區(qū)域定義的通信環(huán)境中與一個(gè)或更多個(gè)遠(yuǎn)程網(wǎng)絡(luò)節(jié)點(diǎn)通信。在另一方面,本發(fā)明特征在于一種在本地網(wǎng)絡(luò)節(jié)點(diǎn)上執(zhí)行的方法。根據(jù)該方法,本地網(wǎng)絡(luò)節(jié)點(diǎn)被配置為支持在由虛擬區(qū)域定義的上下文中與至少一個(gè)遠(yuǎn)程網(wǎng)絡(luò)節(jié)點(diǎn)實(shí)時(shí)通信。該配置過(guò)程包括響應(yīng)于對(duì)枚舉支持指定的應(yīng)用編程接口(API)的所有插件的調(diào)用, 返回包含插件數(shù)據(jù)庫(kù)中與該指定的API相關(guān)聯(lián)的所有插件的標(biāo)識(shí)符的列表;響應(yīng)于對(duì)枚舉所標(biāo)識(shí)的一個(gè)插件支持的給定API的變量的調(diào)用,傳遞包含由所標(biāo)識(shí)的插件支持的該給定 API的所有變量的標(biāo)識(shí)符的列表;以及響應(yīng)于對(duì)實(shí)例化由所標(biāo)識(shí)的一個(gè)插件支持的所標(biāo)識(shí)的API的所標(biāo)識(shí)的一個(gè)變量的調(diào)用,加載所標(biāo)識(shí)的插件并提供至所標(biāo)識(shí)的變量的實(shí)例的指針。在所配置的本地網(wǎng)絡(luò)節(jié)點(diǎn)和該至少一個(gè)遠(yuǎn)程網(wǎng)絡(luò)節(jié)點(diǎn)之間建立至少一個(gè)實(shí)時(shí)數(shù)據(jù)流連接。本發(fā)明的特征還在于用于實(shí)現(xiàn)上述的發(fā)明方法的裝置和存儲(chǔ)致使計(jì)算機(jī)實(shí)現(xiàn)上述發(fā)明方法的計(jì)算機(jī)可讀指令的計(jì)算機(jī)可讀介質(zhì)。本發(fā)明的其他特征和優(yōu)點(diǎn)將從包括附圖和權(quán)利要求的以下描述而變得顯而易見(jiàn)。附圖簡(jiǎn)述
圖1是包括由網(wǎng)絡(luò)互連的第一客戶端網(wǎng)絡(luò)節(jié)點(diǎn)、第二客戶端網(wǎng)絡(luò)節(jié)點(diǎn)、以及區(qū)域服務(wù)器網(wǎng)絡(luò)節(jié)點(diǎn)16的虛擬區(qū)域通信環(huán)境的實(shí)施例的圖示。圖2是由實(shí)時(shí)內(nèi)核的實(shí)施例執(zhí)行的方法的實(shí)施例的流程圖。圖3A是其中網(wǎng)絡(luò)節(jié)點(diǎn)以對(duì)等架構(gòu)通信的虛擬區(qū)域通信環(huán)境的實(shí)施例的圖示。圖;3B是其中網(wǎng)絡(luò)節(jié)點(diǎn)以服務(wù)器仲裁架構(gòu)通信的虛擬區(qū)域通信環(huán)境的實(shí)施例的圖
7J\ ο圖4是包括呈現(xiàn)對(duì)虛擬區(qū)域的描繪的圖形用戶界面的網(wǎng)絡(luò)節(jié)點(diǎn)的實(shí)施例的圖示。
圖5A是抬頭顯示器(HUD)疊加在呈現(xiàn)對(duì)虛擬區(qū)域的描繪的圖形用戶界面上的實(shí)施例的圖示。圖5B是圖5A中所示的HUD的圖示。圖5C是圖5A中所示的HUD的展開(kāi)視圖的圖示。圖6是由區(qū)域網(wǎng)絡(luò)基礎(chǔ)結(jié)構(gòu)服務(wù)的實(shí)施例實(shí)現(xiàn)的方法的實(shí)施例的流程圖。圖7是由實(shí)時(shí)內(nèi)核的實(shí)施例實(shí)現(xiàn)的方法的實(shí)施例的流程圖。圖8是包括實(shí)時(shí)內(nèi)核的實(shí)施例的客戶端網(wǎng)絡(luò)節(jié)點(diǎn)的實(shí)施例的框圖。圖9是由圖8的實(shí)時(shí)內(nèi)核的實(shí)施例響應(yīng)于請(qǐng)求至虛擬區(qū)域的連接的實(shí)時(shí)內(nèi)核API 調(diào)用而實(shí)現(xiàn)的方法的實(shí)施例的流程圖。圖10是由圖8的實(shí)時(shí)內(nèi)核的實(shí)施例響應(yīng)于請(qǐng)求進(jìn)入虛擬區(qū)域的實(shí)時(shí)內(nèi)核API調(diào)用而實(shí)現(xiàn)的方法的實(shí)施例的流程圖。圖11是由圖8的實(shí)時(shí)內(nèi)核的實(shí)施例響應(yīng)于從區(qū)域服務(wù)接收的流處置指令而實(shí)現(xiàn)的方法的實(shí)施例的流程圖。圖12是由流處理機(jī)配置管理器創(chuàng)建的流處理機(jī)的實(shí)施例的框圖。圖13是由圖8的實(shí)時(shí)內(nèi)核的實(shí)施例在調(diào)度由實(shí)時(shí)內(nèi)核執(zhí)行的任務(wù)的過(guò)程中實(shí)現(xiàn)的方法的實(shí)施例的流程圖。圖14是由圖8的實(shí)時(shí)內(nèi)核的實(shí)施例基于對(duì)至少一個(gè)實(shí)時(shí)數(shù)據(jù)流的處理的監(jiān)視而實(shí)現(xiàn)的方法的實(shí)施例的流程圖。圖15是圖8的實(shí)時(shí)內(nèi)核的實(shí)施例的框圖。圖16是通過(guò)帳戶服務(wù)器的憑證來(lái)認(rèn)證帳戶服務(wù)器的方法的實(shí)施例的流程圖。圖17是由圖8的實(shí)時(shí)內(nèi)核的實(shí)施例的加載器組件實(shí)現(xiàn)的方法的實(shí)施例的流程圖。圖18是由圖8的實(shí)時(shí)內(nèi)核的實(shí)施例的STRAW服務(wù)組件實(shí)現(xiàn)的會(huì)話管理方法的實(shí)施例的流程圖。圖19是由圖8的實(shí)時(shí)內(nèi)核的實(shí)施例的組件響應(yīng)于從區(qū)域網(wǎng)絡(luò)基礎(chǔ)結(jié)構(gòu)服務(wù)接收的遠(yuǎn)程流處置指令而實(shí)現(xiàn)的方法的實(shí)施例的流程圖。圖20是由圖8的實(shí)時(shí)內(nèi)核的實(shí)施例的STRAW服務(wù)組件實(shí)現(xiàn)的傳輸協(xié)議組件的圖
7J\ ο圖21示出在客戶端網(wǎng)絡(luò)節(jié)點(diǎn)344和服務(wù)器346之間建立服務(wù)器流的方法的實(shí)施例。參照?qǐng)D22,每個(gè)會(huì)話由發(fā)起服務(wù)器生成的新⑶ID所標(biāo)識(shí)。圖23示出四通信者音頻處理圖的示例性實(shí)施例的元素。圖M示出使人們能經(jīng)由基于非虛擬區(qū)域的通信應(yīng)用與虛擬區(qū)域通信者通信的計(jì)算機(jī)系統(tǒng)的實(shí)施例。圖25示出插件類等級(jí)的實(shí)施例的圖示。圖沈是插件基類的集合的實(shí)施例的圖示,其中每個(gè)插件基類與相應(yīng)的一個(gè)或更多個(gè)導(dǎo)出變量類的集合相關(guān)聯(lián)。圖27是插件架構(gòu)的實(shí)施例的框圖。圖觀是包括插件管理器、包含一組插件容器的插件目錄、插件數(shù)據(jù)庫(kù)、以及調(diào)用程序的插件架構(gòu)的實(shí)施例的框圖。圖四是由圖觀的插件管理器的實(shí)施例在客戶端網(wǎng)絡(luò)節(jié)點(diǎn)上登記可用插件的過(guò)程中實(shí)現(xiàn)的方法的實(shí)施例的流程圖。圖30是插件數(shù)據(jù)庫(kù)的實(shí)施例的圖示。圖31是由圖觀的插件管理器的實(shí)施例響應(yīng)于收到來(lái)自調(diào)用程序的API調(diào)用而實(shí)現(xiàn)的方法的實(shí)施例的流程圖。發(fā)明詳細(xì)描述在以下描述中,相同的附圖標(biāo)記被用于標(biāo)識(shí)相同的元素。此外,附圖旨在以圖解方式解說(shuō)示例性實(shí)施例的主要特征。附圖并不旨在描繪實(shí)際實(shí)施例的每個(gè)特征以及所描繪元件的相對(duì)尺寸,且并不是按比例繪制的。I.術(shù)語(yǔ)定義
“計(jì)算機(jī)”是根據(jù)臨時(shí)或永久地存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)上的計(jì)算機(jī)可讀指令來(lái)處理數(shù)據(jù)的任何機(jī)器、設(shè)備、或裝置。“計(jì)算機(jī)操作系統(tǒng)”是管理和協(xié)調(diào)任務(wù)執(zhí)行以及軟件和硬件資源共享的計(jì)算機(jī)的軟件組件?!皟?nèi)核”是可由軟件應(yīng)用調(diào)用以提供用于訪問(wèn)計(jì)算機(jī)資源(例如,CPU、存儲(chǔ)器、網(wǎng)絡(luò)鏈路、以及外圍資源)的特定功能的軟件組件的集合。“軟件應(yīng)用”(也稱為軟件、應(yīng)用、 計(jì)算機(jī)軟件、計(jì)算機(jī)應(yīng)用、程序、以及計(jì)算機(jī)程序)是計(jì)算機(jī)能解讀并執(zhí)行以執(zhí)行一個(gè)或更多個(gè)任務(wù)的指令集?!皯?yīng)用編程接口”(或API)是操作系統(tǒng)、庫(kù)、或服務(wù)提供以支持軟件應(yīng)用作出的請(qǐng)求的功能(或規(guī)程)聲明集。API指定一接口以及該接口中指定的標(biāo)識(shí)符的行為。API的實(shí)現(xiàn)指提供該API描述的功能性的軟件應(yīng)用代碼?!坝?jì)算機(jī)數(shù)據(jù)文件”是持久存儲(chǔ)數(shù)據(jù)以供軟件應(yīng)用使用的信息塊?!胺?wù)”是自主地執(zhí)行任務(wù)的過(guò)程(獨(dú)立于其他過(guò)程)。“管理器”是服務(wù)執(zhí)行任務(wù)的網(wǎng)關(guān)。管理器不自主地執(zhí)行任務(wù)。“數(shù)據(jù)庫(kù)”是以標(biāo)準(zhǔn)化格式呈現(xiàn)的能夠被計(jì)算機(jī)搜索的記錄的組織化集合。數(shù)據(jù)庫(kù)可被存儲(chǔ)在單臺(tái)計(jì)算機(jī)上的單個(gè)計(jì)算機(jī)可讀數(shù)據(jù)存儲(chǔ)介質(zhì)上,或者可以跨一臺(tái)或更多臺(tái)計(jì)算機(jī)上的多個(gè)計(jì)算機(jī)可讀數(shù)據(jù)存儲(chǔ)介質(zhì)分布。“數(shù)據(jù)阱”(本文中簡(jiǎn)稱為“阱”)是接收數(shù)據(jù)的設(shè)備、設(shè)備(例如,計(jì)算機(jī))的一部分、或軟件中的任一者?!皵?shù)據(jù)源”(本文中簡(jiǎn)稱為“源”)是始發(fā)數(shù)據(jù)的設(shè)備、設(shè)備(例如,計(jì)算機(jī))的一部分、或軟件中的任一者?!熬W(wǎng)絡(luò)節(jié)點(diǎn)”(也被簡(jiǎn)稱作“節(jié)點(diǎn)”)是通信網(wǎng)絡(luò)中的接合點(diǎn)或連接點(diǎn)。示例性網(wǎng)絡(luò)節(jié)點(diǎn)包括但不限于終端、計(jì)算機(jī)、以及網(wǎng)絡(luò)交換機(jī)。“服務(wù)器網(wǎng)絡(luò)節(jié)點(diǎn)”是網(wǎng)絡(luò)上對(duì)信息或服務(wù)請(qǐng)求進(jìn)行響應(yīng)的主計(jì)算機(jī)?!翱蛻舳司W(wǎng)絡(luò)節(jié)點(diǎn)”是網(wǎng)絡(luò)上向服務(wù)器請(qǐng)求信息或服務(wù)的計(jì)算機(jī)。“網(wǎng)絡(luò)連接”是兩個(gè)通信網(wǎng)絡(luò)節(jié)點(diǎn)之間的鏈路。術(shù)語(yǔ)“本地網(wǎng)絡(luò)節(jié)點(diǎn)”是指當(dāng)前為首要討論主體的網(wǎng)絡(luò)節(jié)點(diǎn)。術(shù)語(yǔ)“遠(yuǎn)程網(wǎng)絡(luò)節(jié)點(diǎn)”是指通過(guò)網(wǎng)絡(luò)通信鏈路連接至本地網(wǎng)絡(luò)節(jié)點(diǎn)的網(wǎng)絡(luò)節(jié)點(diǎn)?!按嬖谛浴笔侵嘎?lián)網(wǎng)實(shí)體(例如,通信者、服務(wù)、或設(shè)備)進(jìn)行通信的能力或意愿,其中此類意愿影響在網(wǎng)絡(luò)上檢測(cè)和獲得關(guān)于該實(shí)體的狀態(tài)的信息的能力以及連接到該實(shí)體的能力?!皩?shí)時(shí)數(shù)據(jù)流”是以連續(xù)流的形式進(jìn)行結(jié)構(gòu)化和處理并且被設(shè)計(jì)成無(wú)延遲或者只有察覺(jué)不到的延遲地接收的數(shù)據(jù)。實(shí)時(shí)數(shù)據(jù)流包括語(yǔ)音、視頻、用戶移動(dòng)、面部表情及其他物理現(xiàn)象的數(shù)字表示,以及計(jì)算環(huán)境內(nèi)可得益于迅速傳輸、迅速執(zhí)行、或迅速傳輸和迅速執(zhí)行兩者的數(shù)據(jù),包括例如化身移動(dòng)指令、文本聊天、實(shí)時(shí)數(shù)據(jù)饋送(例如,傳感器數(shù)據(jù)、機(jī)器控制指令、交易流以及股價(jià)信息饋送)、以及文件傳遞?!傲骰旌稀笔窍嗤蛘Z(yǔ)義上一致的類型(例如,音頻、視頻、聊天、和運(yùn)動(dòng)數(shù)據(jù))的兩個(gè)或更多個(gè)實(shí)時(shí)數(shù)據(jù)流的組合。例如,一組語(yǔ)音流可被混合成單個(gè)語(yǔ)音流,或語(yǔ)音流可被混合到視頻流的音頻部分中?!伴_(kāi)關(guān)規(guī)則”是遵照一個(gè)或多個(gè)條件先例指定一個(gè)或多個(gè)實(shí)時(shí)數(shù)據(jù)源與一個(gè)或多個(gè)實(shí)時(shí)數(shù)據(jù)阱的連接或斷開(kāi)連接的指令。
20
“虛擬區(qū)域”(也被稱作“區(qū)域”或“地方”)是由計(jì)算機(jī)管理的空間或場(chǎng)景的表示。 虛擬區(qū)域通常是一維、二維、或三維的表示;盡管在一些實(shí)施例中虛擬區(qū)域也可對(duì)應(yīng)于單個(gè)點(diǎn)。虛擬區(qū)域經(jīng)常被設(shè)計(jì)成模擬物理的真實(shí)世界空間。例如,使用傳統(tǒng)的計(jì)算機(jī)監(jiān)視器,虛擬區(qū)域可被可視化為由計(jì)算機(jī)生成的三維空間的二維圖形。然而,虛擬區(qū)域并不要求相關(guān)聯(lián)的可視化就能實(shí)現(xiàn)開(kāi)關(guān)規(guī)則。虛擬區(qū)域通常是指虛擬區(qū)域模式的實(shí)例,其中模式以變量的方式定義虛擬區(qū)域的結(jié)構(gòu)和內(nèi)容,而實(shí)例以已從特定上下文求解出的值的方式來(lái)定義虛擬區(qū)域的結(jié)構(gòu)和內(nèi)容?!疤摂M區(qū)域應(yīng)用”(也被稱作“虛擬區(qū)域描述”)是在創(chuàng)建虛擬區(qū)域通信環(huán)境時(shí)使用的虛擬區(qū)域的描述。虛擬區(qū)域應(yīng)用通常包括對(duì)與虛擬區(qū)域的一個(gè)或多個(gè)地帶相關(guān)聯(lián)的幾何學(xué)、物理學(xué)、以及實(shí)時(shí)開(kāi)關(guān)規(guī)則的定義。“虛擬通信環(huán)境”是包括至少一個(gè)虛擬區(qū)域并且支持通信者之間的實(shí)時(shí)通信的由計(jì)算機(jī)管理的空間的表示?!暗貛А笔翘摂M區(qū)域中與至少一個(gè)開(kāi)關(guān)規(guī)則或支配規(guī)則相關(guān)聯(lián)的區(qū)劃。開(kāi)關(guān)規(guī)則控制在虛擬區(qū)域的上下文中通信的網(wǎng)絡(luò)節(jié)點(diǎn)之間的實(shí)時(shí)數(shù)據(jù)流的開(kāi)關(guān)(例如,路由、連接、和斷開(kāi)連接)。支配規(guī)則控制通信者對(duì)資源(例如,區(qū)域、區(qū)域的區(qū)劃、或該區(qū)域或區(qū)劃的內(nèi)容)的訪問(wèn),該訪問(wèn)的范圍、以及該訪問(wèn)的后繼結(jié)果(例如,必須記錄關(guān)于該訪問(wèn)的審計(jì)記錄的要求)。虛擬區(qū)域中的“位置”是指該虛擬區(qū)域中的點(diǎn)或面積或體積的位置。點(diǎn)通常是由定義虛擬區(qū)域中的點(diǎn)的一維、二維、或三維坐標(biāo)(例如,x、y、z)單個(gè)集合表示的。面積通常由定義虛擬區(qū)域中閉合的二維形狀的邊界的三個(gè)或更多個(gè)共面頂點(diǎn)的三維坐標(biāo)來(lái)表示的。 體積通常由定義虛擬區(qū)域中的三維形狀的閉合邊界的四個(gè)或更多個(gè)非共面的頂點(diǎn)的三維坐標(biāo)來(lái)表示。在虛擬區(qū)域的上下文中,“對(duì)象”是虛擬區(qū)域中可被有效對(duì)待且與虛擬區(qū)域的幾何形狀無(wú)關(guān)的離散要素。示例性的對(duì)象包括門(mén)、門(mén)戶、窗、查看屏、以及擴(kuò)音器。對(duì)象通常具有與虛擬區(qū)域的屬性和特性分離且不同的屬性和特性。“化身”是虛擬區(qū)域中代表通信者的對(duì)象?!巴ㄐ耪摺笔窃诰W(wǎng)絡(luò)連接上與其他人通信或以其他方式交互的人,其中該通信或交互可以或者也可以不發(fā)生在虛擬區(qū)域的上下文中?!坝脩簟笔钦诓僮鞒鲇诿枋鲂阅康亩x了一特定觀點(diǎn)的特定網(wǎng)絡(luò)節(jié)點(diǎn)的通信者?!皡^(qū)域服務(wù)器”是包括區(qū)域網(wǎng)絡(luò)基礎(chǔ)結(jié)構(gòu)服務(wù)的網(wǎng)絡(luò)節(jié)點(diǎn),該區(qū)域網(wǎng)絡(luò)基礎(chǔ)結(jié)構(gòu)服務(wù)通過(guò)管理與虛擬區(qū)域中的對(duì)象相關(guān)聯(lián)的客戶端節(jié)點(diǎn)的會(huì)話來(lái)管理主存虛擬區(qū)域應(yīng)用的虛擬區(qū)域。如本文所使用,術(shù)語(yǔ)“包括”意指包括但不限于,且“包含”意指包含但不限于。II.引言本文描述的實(shí)施例提供支持在相應(yīng)網(wǎng)絡(luò)節(jié)點(diǎn)上操作的通信者之間的實(shí)時(shí)通信的實(shí)時(shí)內(nèi)核。該實(shí)時(shí)內(nèi)核處置連接到通信者、虛擬區(qū)域、以及其他網(wǎng)絡(luò)資源、響應(yīng)于用戶輸入開(kāi)關(guān)這些連接、以及混合實(shí)時(shí)數(shù)據(jù)流的復(fù)雜任務(wù)。實(shí)時(shí)內(nèi)核使開(kāi)發(fā)者能夠?qū)W⒂陂_(kāi)發(fā)高級(jí)通信功能而非低級(jí)銜接代碼。實(shí)時(shí)內(nèi)核施加相對(duì)低的計(jì)算資源要求,從而實(shí)時(shí)通信性能可使用當(dāng)前可用的寬泛計(jì)算設(shè)備和網(wǎng)絡(luò)連接來(lái)達(dá)成。
在一些實(shí)施例中,實(shí)時(shí)內(nèi)核支持響應(yīng)于從遠(yuǎn)程主存的虛擬區(qū)域應(yīng)用接收的指令 (也稱為定義)來(lái)遠(yuǎn)程配置和執(zhí)行音頻和圖形呈現(xiàn)引擎、以及開(kāi)關(guān)實(shí)時(shí)數(shù)據(jù)流。這樣,實(shí)時(shí)內(nèi)核使得虛擬區(qū)域設(shè)計(jì)者能維持對(duì)遠(yuǎn)程客戶端網(wǎng)絡(luò)節(jié)點(diǎn)上的沉浸性虛擬通信環(huán)境的呈現(xiàn)的控制,由此鼓勵(lì)開(kāi)發(fā)眾多不同類型的虛擬區(qū)域并增加將希望采用該通信系統(tǒng)的用戶的數(shù)量。在一些實(shí)施例中,實(shí)時(shí)內(nèi)核監(jiān)視實(shí)時(shí)數(shù)據(jù)流的處理并基于該處理與性能目標(biāo)的偏差適配該處理。這樣,無(wú)論其中正執(zhí)行實(shí)時(shí)數(shù)據(jù)流處理的計(jì)算環(huán)境如何,內(nèi)核增加了實(shí)時(shí)性能能夠達(dá)成的可能性。在一些實(shí)施例中,實(shí)時(shí)內(nèi)核實(shí)現(xiàn)在連接和斷開(kāi)連接、以及在傳輸時(shí)高效的流傳輸協(xié)議。在這樣一些實(shí)施例中,流傳輸協(xié)議在無(wú)連接傳輸協(xié)議(例如,UDP)上提供面向連接的加密連接。實(shí)時(shí)內(nèi)核另外在客戶端應(yīng)用和傳輸層之間提供重連機(jī)制,該重連機(jī)制自動(dòng)嘗試重新建立失敗了的連接而無(wú)需客戶端應(yīng)用的干預(yù),由此在固有不可靠的通信協(xié)議上增加了可靠性。在一些實(shí)施例中,實(shí)時(shí)內(nèi)核具有插件架構(gòu),該插件架構(gòu)允許由一個(gè)或更多個(gè)可被動(dòng)態(tài)加載到客戶端網(wǎng)絡(luò)節(jié)點(diǎn)上的插件提供內(nèi)核組件的功能性。這樣,內(nèi)核組件可被獨(dú)立開(kāi)發(fā)并被遠(yuǎn)程管理和更新。插件架構(gòu)另外允許實(shí)時(shí)內(nèi)核的安裝覆蓋區(qū)域?qū)嵸|(zhì)上減小,由此允許內(nèi)核被安裝在寬泛的包括那些具有顯著計(jì)算和存儲(chǔ)資源限制的客戶端設(shè)備上。III.概覽A.引言圖1示出了包括由網(wǎng)絡(luò)18互連的第一客戶端網(wǎng)絡(luò)節(jié)點(diǎn)12、第二客戶端網(wǎng)絡(luò)節(jié)點(diǎn) 14、和區(qū)域服務(wù)器網(wǎng)絡(luò)節(jié)點(diǎn)16的示例性虛擬區(qū)域通信環(huán)境10的實(shí)施例。第一客戶端網(wǎng)絡(luò)節(jié)點(diǎn)12包括包含一個(gè)或更多個(gè)可配置的流處理機(jī)22的實(shí)時(shí)內(nèi)核20的實(shí)施例、以及輸入/ 輸出(I/O)硬件M。第二客戶端網(wǎng)絡(luò)節(jié)點(diǎn)14通常以與第一客戶端網(wǎng)絡(luò)節(jié)點(diǎn)12基本相同的方式進(jìn)行配置。區(qū)域服務(wù)器網(wǎng)絡(luò)節(jié)點(diǎn)16包括通過(guò)管理虛擬區(qū)域觀中第一和第二客戶端節(jié)點(diǎn)12、14的會(huì)話來(lái)管理虛擬區(qū)域觀的區(qū)域網(wǎng)絡(luò)基礎(chǔ)結(jié)構(gòu)服務(wù)沈(也簡(jiǎn)稱為“區(qū)域服務(wù)”)。 虛擬區(qū)域觀主存包括用于創(chuàng)建虛擬區(qū)域通信環(huán)境的虛擬區(qū)域的描述的虛擬區(qū)域應(yīng)用30。 區(qū)域服務(wù)26根據(jù)虛擬區(qū)域應(yīng)用30來(lái)管理虛擬區(qū)域觀。在創(chuàng)建共享虛擬區(qū)域通信環(huán)境的過(guò)程中,區(qū)域服務(wù)沈根據(jù)遠(yuǎn)程虛擬區(qū)域應(yīng)用30 受虛擬區(qū)域應(yīng)用30上的一組限制32影響地遠(yuǎn)程配置第一和第二客戶端網(wǎng)絡(luò)節(jié)點(diǎn)12、14中的實(shí)時(shí)內(nèi)核。限制32通常包括對(duì)訪問(wèn)虛擬區(qū)域的控制。訪問(wèn)控制一般基于一個(gè)或更多個(gè)能力(其中對(duì)具有適當(dāng)能力或許可的通信者或客戶端節(jié)點(diǎn)準(zhǔn)許訪問(wèn))和訪問(wèn)控制列表(其中對(duì)具有列表上的身份的通信者或客戶端節(jié)點(diǎn)準(zhǔn)許訪問(wèn))。在一些實(shí)施例中,限制32由安全網(wǎng)絡(luò)基礎(chǔ)結(jié)構(gòu)服務(wù)所管理(在以下描述)。在第一和第二客戶端網(wǎng)絡(luò)節(jié)點(diǎn)12、14上操作的客戶端軟件應(yīng)用允許通信者訪問(wèn)共享虛擬區(qū)域通信環(huán)境,這通過(guò)根據(jù)經(jīng)由實(shí)時(shí)內(nèi)核20從區(qū)域服務(wù)26接收的數(shù)據(jù)呈現(xiàn)虛擬區(qū)域的相應(yīng)視圖以及通過(guò)提供用于從通信者接收命令的接口來(lái)實(shí)現(xiàn)。通信者通常在虛擬區(qū)域32中由相應(yīng)的化身來(lái)表示,這些化身響應(yīng)于由通信者在其相應(yīng)的網(wǎng)絡(luò)節(jié)點(diǎn)處輸入的命令而在虛擬區(qū)域中四處移動(dòng)。每個(gè)通信者看到的虛擬區(qū)域的視圖通常是從該通信者的化身的角度來(lái)呈現(xiàn)的,這增強(qiáng)了通信者體驗(yàn)到的沉浸感級(jí)別。 每個(gè)通信者通常能夠看到在他或她的化身周圍的任何虛擬區(qū)域部分。在第一和第二客戶端網(wǎng)絡(luò)節(jié)點(diǎn)12、14上操作的實(shí)時(shí)內(nèi)核至少部分地基于虛擬區(qū)域中通信者的化身的位置來(lái)建立與共享該虛擬區(qū)域通信環(huán)境的其他網(wǎng)絡(luò)節(jié)點(diǎn)的實(shí)時(shí)數(shù)據(jù)流連接。圖2示出了由實(shí)時(shí)內(nèi)核20實(shí)現(xiàn)的方法的示例性實(shí)施例。根據(jù)該方法,實(shí)時(shí)內(nèi)核20 建立與區(qū)域服務(wù)沈的會(huì)話(圖2,框34)。無(wú)論響應(yīng)于通信者輸入還是自動(dòng)地,實(shí)時(shí)內(nèi)核20 請(qǐng)求進(jìn)入虛擬區(qū)域觀的實(shí)例(圖2,框36)。如果對(duì)通信者訪問(wèn)虛擬區(qū)域?qū)嵗南拗?2得到滿足,則區(qū)域服務(wù)沈向?qū)崟r(shí)內(nèi)核20傳送包括當(dāng)前狀態(tài)信息的配置數(shù)據(jù),其中當(dāng)前狀態(tài)信息包括虛擬區(qū)域中化身的位置。實(shí)時(shí)內(nèi)核20從區(qū)域服務(wù)沈接收配置數(shù)據(jù)(圖2,框38)。 實(shí)時(shí)內(nèi)核20根據(jù)從區(qū)域服務(wù)沈接收的指令來(lái)配置I/O硬件M以呈現(xiàn)人類可感知的虛擬區(qū)域通信者環(huán)境(圖2,框40)。在一些實(shí)施例中,配置I/O硬件M的過(guò)程涉及根據(jù)從遠(yuǎn)程網(wǎng)絡(luò)節(jié)點(diǎn)14接收的指令和位置數(shù)據(jù)動(dòng)態(tài)配置至少一個(gè)流處理機(jī)22。例如,虛擬區(qū)域應(yīng)用30可指定一個(gè)或更多個(gè)應(yīng)被應(yīng)用于與虛擬區(qū)域中當(dāng)前的對(duì)象相關(guān)聯(lián)的音頻流的音頻效果,在這種情況下,區(qū)域服務(wù)沈向在第一和第二客戶端網(wǎng)絡(luò)節(jié)點(diǎn)12、14上執(zhí)行的實(shí)時(shí)內(nèi)核發(fā)送指令,該指令根據(jù)虛擬區(qū)域中相應(yīng)對(duì)象的位置來(lái)配置其相應(yīng)音頻流處理機(jī)以實(shí)現(xiàn)指定的效果。實(shí)時(shí)內(nèi)核20通過(guò)每個(gè)配置的流處理機(jī)22處理與通信者對(duì)象相關(guān)聯(lián)的實(shí)時(shí)數(shù)據(jù)流以產(chǎn)生相應(yīng)輸出33。取決于其內(nèi)容,輸出33可被存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)上或由在第一和第二網(wǎng)絡(luò)節(jié)點(diǎn)12、14上操作的I/O硬件轉(zhuǎn)換成人類可感知的輸出。例如,音頻輸出信號(hào)由音頻硬件(例如,聲卡和揚(yáng)聲器)轉(zhuǎn)換成可聽(tīng)的聲音,而圖形輸出信號(hào)由圖形硬件(例如,視頻卡和顯示器)轉(zhuǎn)換成可見(jiàn)的圖像。在一些實(shí)施例中,由至少一個(gè)流處理機(jī)22產(chǎn)生的輸出 33被一個(gè)或更多個(gè)下游軟件組件處理,該下游軟件組件依次產(chǎn)生可被存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)上或被轉(zhuǎn)換成人類可感知的輸出的輸出。B.示例性操作環(huán)境實(shí)時(shí)內(nèi)核20在虛擬區(qū)域通信環(huán)境10的上下文中操作,虛擬區(qū)域通信環(huán)境10包括網(wǎng)絡(luò)18和網(wǎng)絡(luò)基礎(chǔ)結(jié)構(gòu)服務(wù)環(huán)境,后者包括包含區(qū)域服務(wù)沈的若干網(wǎng)絡(luò)基礎(chǔ)結(jié)構(gòu)服務(wù)。實(shí)時(shí)內(nèi)核20和網(wǎng)絡(luò)基礎(chǔ)結(jié)構(gòu)服務(wù)環(huán)境構(gòu)成用于為通信者創(chuàng)建虛擬區(qū)域通信環(huán)境的平臺(tái)。1.網(wǎng)絡(luò)環(huán)境網(wǎng)絡(luò)18可包括局域網(wǎng)(LAN)、城域網(wǎng)(MAN)、以及廣域網(wǎng)(WAN)(例如,因特網(wǎng))的任一者。網(wǎng)絡(luò)18通常包括若干支持網(wǎng)絡(luò)節(jié)點(diǎn)之間的各種不同媒體類型(例如,文本、語(yǔ)音、 音頻、和視頻)的傳輸?shù)挠?jì)算平臺(tái)和傳輸設(shè)施。實(shí)時(shí)內(nèi)核20通常在包括軟件和硬件資源的網(wǎng)絡(luò)節(jié)點(diǎn)上操作,該軟件和硬件資源與管理性策略、用戶偏好(包括關(guān)于用戶存在性的出口以及用戶至區(qū)域和連接對(duì)象的連接的偏好)、以及其他設(shè)置一起來(lái)定義影響與其他網(wǎng)絡(luò)節(jié)點(diǎn)的實(shí)時(shí)連接的管理的本地配置。網(wǎng)絡(luò)節(jié)點(diǎn)之間的網(wǎng)絡(luò)連接可安排在各種不同的流處置拓?fù)渲校▽?duì)等架構(gòu)、服務(wù)器仲裁架構(gòu)、以及組合了對(duì)等和服務(wù)器仲裁架構(gòu)的各方面的混合架構(gòu)。圖3A示出虛擬區(qū)域通信環(huán)境10的實(shí)施例42,其中第一和第二網(wǎng)絡(luò)節(jié)點(diǎn)12、14以及遠(yuǎn)程網(wǎng)絡(luò)節(jié)點(diǎn)16由對(duì)等架構(gòu)的通信網(wǎng)絡(luò)18互連。在此架構(gòu)中,網(wǎng)絡(luò)節(jié)點(diǎn)12-16的每一個(gè)向其他網(wǎng)絡(luò)節(jié)點(diǎn)的每一個(gè)傳送狀態(tài)變化(例如,虛擬區(qū)域觀中的化身運(yùn)動(dòng))。網(wǎng)絡(luò)節(jié)點(diǎn)之一(通常為發(fā)起通信會(huì)話的網(wǎng)絡(luò)節(jié)點(diǎn))作為“區(qū)域服務(wù)器”操作。在所解說(shuō)的實(shí)施例中, 網(wǎng)絡(luò)節(jié)點(diǎn)16承擔(dān)了區(qū)域服務(wù)器的角色。區(qū)域服務(wù)器網(wǎng)絡(luò)節(jié)點(diǎn)16維護(hù)全局狀態(tài)信息并用作其他網(wǎng)絡(luò)節(jié)點(diǎn)12、14的數(shù)據(jù)服務(wù)器。全局狀態(tài)信息包括虛擬區(qū)域中的所有對(duì)象的列表及其在虛擬區(qū)域中的相應(yīng)位置。區(qū)域服務(wù)器網(wǎng)絡(luò)節(jié)點(diǎn)16發(fā)送配置其他網(wǎng)絡(luò)節(jié)點(diǎn)12、14的指令。 區(qū)域服務(wù)器網(wǎng)絡(luò)節(jié)點(diǎn)16也登記并向請(qǐng)求加入通信會(huì)話的其他網(wǎng)絡(luò)節(jié)點(diǎn)傳送初始化信息。 在此過(guò)程中,區(qū)域服務(wù)器網(wǎng)絡(luò)節(jié)點(diǎn)16根據(jù)虛擬區(qū)域應(yīng)用30向每個(gè)加入的客戶端網(wǎng)絡(luò)節(jié)點(diǎn)傳送在客戶端網(wǎng)絡(luò)節(jié)點(diǎn)上呈現(xiàn)虛擬區(qū)域觀所需的組件(例如,插件)的列表。客戶端網(wǎng)絡(luò)節(jié)點(diǎn)12、14上的實(shí)時(shí)內(nèi)核通常從遠(yuǎn)程服務(wù)器(例如,插件服務(wù)器)檢索列表上的任何缺失的組件。區(qū)域服務(wù)器網(wǎng)絡(luò)節(jié)點(diǎn)16也確保若發(fā)生通信故障,其他網(wǎng)絡(luò)節(jié)點(diǎn)12、14能同步到全局狀態(tài)。圖:3B示出虛擬區(qū)域通信環(huán)境10的實(shí)施例44,其中網(wǎng)絡(luò)節(jié)點(diǎn)12_16(在此架構(gòu)中也稱為“區(qū)域客戶端”網(wǎng)絡(luò)節(jié)點(diǎn))在由區(qū)域服務(wù)器46仲裁的架構(gòu)中通信。在此實(shí)施例中,區(qū)域服務(wù)器46承擔(dān)在圖3A所示的對(duì)等架構(gòu)實(shí)施例中由網(wǎng)絡(luò)節(jié)點(diǎn)16執(zhí)行的區(qū)域服務(wù)器功能。 這樣,區(qū)域服務(wù)器46維護(hù)全局狀態(tài)信息并用作區(qū)域客戶端網(wǎng)絡(luò)節(jié)點(diǎn)12-16的數(shù)據(jù)服務(wù)器。 該架構(gòu)允許將在各種拓?fù)?包括對(duì)等拓?fù)?、其中區(qū)域服務(wù)器46作為網(wǎng)絡(luò)節(jié)點(diǎn)12-16之間的通信代理操作的全服務(wù)器仲裁拓?fù)?、以及組合了對(duì)等拓?fù)浜腿?wù)器仲裁拓?fù)涞母鞣矫娴幕旌贤負(fù)?中處理的區(qū)域客戶端節(jié)點(diǎn)12-16之間的實(shí)時(shí)數(shù)據(jù)流交換。這些類型的示例性拓?fù)湓诿绹?guó)申請(qǐng)?zhí)枮?1/923,629和11/923,634的申請(qǐng)中描述,兩者都在2007年10月M日提交。2.網(wǎng)絡(luò)基礎(chǔ)結(jié)構(gòu)服務(wù)在建立和管理與其他網(wǎng)絡(luò)節(jié)點(diǎn)的網(wǎng)絡(luò)連接的過(guò)程中,一個(gè)或更多個(gè)網(wǎng)絡(luò)基礎(chǔ)結(jié)構(gòu)服務(wù)通常與實(shí)時(shí)內(nèi)核20協(xié)作。網(wǎng)絡(luò)基礎(chǔ)結(jié)構(gòu)服務(wù)可運(yùn)行在單個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)上或可跨多個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)分布。網(wǎng)絡(luò)基礎(chǔ)結(jié)構(gòu)服務(wù)通常運(yùn)行在一個(gè)或更多個(gè)專用的網(wǎng)絡(luò)節(jié)點(diǎn)上(例如,執(zhí)行諸如路由和交換等邊緣服務(wù)的服務(wù)器計(jì)算機(jī)或網(wǎng)絡(luò)設(shè)備)。然而,在一些實(shí)施例中,一個(gè)或更多個(gè)網(wǎng)絡(luò)基礎(chǔ)結(jié)構(gòu)服務(wù)運(yùn)行在至少一個(gè)通信者網(wǎng)絡(luò)節(jié)點(diǎn)上。虛擬區(qū)域通信環(huán)境10的示例性實(shí)施例中所包括的網(wǎng)絡(luò)基礎(chǔ)結(jié)構(gòu)服務(wù)有帳戶服務(wù)、安全性服務(wù)、區(qū)域服務(wù)沈、集合服務(wù)、以及交互服務(wù)等。帳戶服務(wù)管理網(wǎng)絡(luò)基礎(chǔ)結(jié)構(gòu)服務(wù)環(huán)境中的通信者帳戶。帳戶服務(wù)也管理可由客戶端網(wǎng)絡(luò)節(jié)點(diǎn)用于向任何網(wǎng)絡(luò)基礎(chǔ)結(jié)構(gòu)服務(wù)認(rèn)證它們自己的認(rèn)證令牌的創(chuàng)建和發(fā)出。安全性服務(wù)控制通信者對(duì)虛擬區(qū)域通信環(huán)境10的資產(chǎn)和其他資源的訪問(wèn)。由安全性服務(wù)實(shí)現(xiàn)的訪問(wèn)控制方法通常基于一個(gè)或更多個(gè)能力(其中對(duì)具有適當(dāng)能力或許可的實(shí)體準(zhǔn)許訪問(wèn))和訪問(wèn)控制列表(其中對(duì)具有列表上的身份的實(shí)體準(zhǔn)許訪問(wèn))。在已經(jīng)準(zhǔn)許特定通信者訪問(wèn)資源后,該通信者通常使用由其他網(wǎng)絡(luò)基礎(chǔ)結(jié)構(gòu)服務(wù)提供的功能性在虛擬區(qū)域通信環(huán)境10中交互。區(qū)域服務(wù)沈管理虛擬區(qū)域。在此過(guò)程中,區(qū)域服務(wù)沈根據(jù)請(qǐng)求實(shí)體的能力來(lái)管理與虛擬區(qū)域相關(guān)聯(lián)的連接、維護(hù)虛擬區(qū)域的全局狀態(tài)信息、以及用作參與由虛擬區(qū)域定義的上下文中的共享通信會(huì)話的客戶端網(wǎng)絡(luò)節(jié)點(diǎn)的數(shù)據(jù)服務(wù)器。全局狀態(tài)信息包括虛擬區(qū)域中的所有對(duì)象的列表及其在虛擬區(qū)域中的相應(yīng)位置。區(qū)域服務(wù)26發(fā)送配置客戶端網(wǎng)絡(luò)節(jié)點(diǎn)的指令。區(qū)域服務(wù)26也登記并向請(qǐng)求加入通信會(huì)話的其他客戶端網(wǎng)絡(luò)節(jié)點(diǎn)傳送初始化信息。在此過(guò)程中,區(qū)域服務(wù)沈根據(jù)虛擬區(qū)域應(yīng)用30向每個(gè)加入的客戶端網(wǎng)絡(luò)節(jié)點(diǎn)傳送在客戶端網(wǎng)絡(luò)節(jié)點(diǎn)上呈現(xiàn)虛擬區(qū)域觀所需的組件(例如,插件)的列表。區(qū)域服務(wù)26
24也確保若發(fā)生通信故障,客戶端網(wǎng)絡(luò)節(jié)點(diǎn)能同步到全局狀態(tài)。集合服務(wù)根據(jù)請(qǐng)求實(shí)體的能力來(lái)管理存在性信息的收集、存儲(chǔ)和分發(fā)并為網(wǎng)絡(luò)節(jié)點(diǎn)提供用于彼此通信的機(jī)制(例如,通過(guò)管理連接句柄的分發(fā))。集合服務(wù)通常在存在性數(shù)據(jù)庫(kù)中存儲(chǔ)存在性信息。交互服務(wù)根據(jù)請(qǐng)求實(shí)體的能力來(lái)維護(hù)記錄通信者之間的交互的交互數(shù)據(jù)庫(kù)并支持對(duì)交互數(shù)據(jù)庫(kù)的查詢。對(duì)通信者之間的每個(gè)交互,虛擬區(qū)域通信環(huán)境10中的一個(gè)或更多個(gè)服務(wù)(例如區(qū)域服務(wù)26)向交互服務(wù)傳送交互數(shù)據(jù)。作為響應(yīng),交互服務(wù)在關(guān)系數(shù)據(jù)庫(kù)中生成一個(gè)或更多個(gè)相應(yīng)交互記錄。每個(gè)交互記錄描述交互的上下文。例如,在一些實(shí)施例中,交互記錄包含每個(gè)通信者的標(biāo)識(shí)符、交互場(chǎng)所的標(biāo)識(shí)符(例如,虛擬區(qū)域?qū)嵗?、交互場(chǎng)所的等級(jí)的描述(例如描述交互空間如何與較大區(qū)域相關(guān))、交互的起始和結(jié)束時(shí)間、以及在交互期間共享的所有文件和其他流的列表。因此,對(duì)于每個(gè)實(shí)時(shí)交互,交互服務(wù)跟蹤其在何時(shí)發(fā)生,在何處發(fā)生、以及在交互期間就所涉及的通信者而言發(fā)生了什么(例如,進(jìn)入和退出)、被激活/禁用的對(duì)象、以及共享的文件。交互服務(wù)能基于場(chǎng)所以分類次序(例如,最頻繁的或最近的)呈現(xiàn)對(duì)交互數(shù)據(jù)庫(kù)記錄的查詢結(jié)果。查詢結(jié)果能被用于導(dǎo)出通信者已經(jīng)在哪些虛擬區(qū)域內(nèi)遇到的聯(lián)系人的頻率分類,以及不論虛擬區(qū)域通信者已經(jīng)遇到的聯(lián)系人的分類、以及通信者最經(jīng)常出入的虛擬區(qū)域的分類。查詢結(jié)果還可被應(yīng)用開(kāi)發(fā)者用作基于關(guān)系使某些任務(wù)自動(dòng)化的啟發(fā)式系統(tǒng)的一部分。此類型的啟發(fā)的示例是允許已經(jīng)到訪特定虛擬區(qū)域超過(guò)5次的通信者不必經(jīng)默認(rèn)的敲門(mén)就能進(jìn)入的啟發(fā),或者是允許在特定時(shí)間存在于一區(qū)域中的通信者修改和刪除由在相同時(shí)間存在于相同區(qū)域中的另一通信者創(chuàng)建的文件的啟發(fā)。對(duì)交互數(shù)據(jù)庫(kù)的查詢可與其他搜索相組合。例如,對(duì)交互數(shù)據(jù)庫(kù)的查詢可與針對(duì)使用在網(wǎng)絡(luò)基礎(chǔ)結(jié)構(gòu)服務(wù)環(huán)境的域之外的通信系統(tǒng)(例如,Skype、Faceb00k、以及Flickr)與聯(lián)系人交互而生成的聯(lián)系歷史數(shù)據(jù)的查詢相組合。3.虛擬區(qū)域?qū)崟r(shí)內(nèi)核20管理由虛擬區(qū)域的實(shí)例定義的通信上下文中與網(wǎng)絡(luò)節(jié)點(diǎn)的實(shí)時(shí)連接。虛擬區(qū)域?qū)嵗蓪?duì)應(yīng)關(guān)于抽象坐標(biāo)所定義的抽象(非幾何)虛擬空間。替換地,虛擬區(qū)域?qū)嵗蓪?duì)應(yīng)關(guān)于與特定可視化相關(guān)聯(lián)的一維、二維、或三維幾何坐標(biāo)所定義的視覺(jué)虛擬空間。抽象虛擬區(qū)域可以與相應(yīng)可視化相關(guān)聯(lián)或者也可不相關(guān)聯(lián),而視覺(jué)虛擬區(qū)域與相應(yīng)可視化相關(guān)聯(lián)。如上所解釋的,通信者通常在具有相關(guān)聯(lián)的可視化的虛擬區(qū)域中由相應(yīng)的化身來(lái)表示。化身響應(yīng)于由通信者在其各自相應(yīng)的網(wǎng)絡(luò)節(jié)點(diǎn)處輸入的輸入命令在虛擬區(qū)域中四處移動(dòng)。通信者看到的具有相關(guān)聯(lián)的可視化的虛擬區(qū)域?qū)嵗囊晥D通常是從該通信者的化身的觀點(diǎn)呈現(xiàn)的,且每個(gè)通信者通常能夠觀看到他或她的化身周圍的任何視覺(jué)虛擬區(qū)域部分,從而增強(qiáng)了通信者體驗(yàn)到的沉浸感級(jí)別。圖4示出了由計(jì)算機(jī)系統(tǒng)48實(shí)現(xiàn)的示例性網(wǎng)絡(luò)節(jié)點(diǎn)的實(shí)施例。計(jì)算機(jī)系統(tǒng)48包括顯示監(jiān)視器50、計(jì)算機(jī)鼠標(biāo)52、鍵盤(pán)554、揚(yáng)聲器56、58、以及話筒60。顯示監(jiān)視器50顯示圖形用戶界面62。圖形用戶界面62是基于窗口的圖形用戶界面,其可包括多個(gè)窗口、圖標(biāo)、和指針64。在所解說(shuō)的實(shí)施例中,圖形用戶界面62呈現(xiàn)對(duì)與表示藝?yán)鹊娜S可視化相關(guān)聯(lián)的共享虛擬區(qū)域66的二維描繪。通信者在該虛擬區(qū)域66中由各自相應(yīng)的化身68、70、72來(lái)表示,每個(gè)化身可在該虛擬區(qū)域66的上下文中具有各自相應(yīng)的角色(例如,館長(zhǎng)、藝術(shù)家、和游客)。如以下詳細(xì)解釋的,虛擬區(qū)域66包括與支配在虛擬區(qū)域66中由化身68-72表示的網(wǎng)絡(luò)節(jié)點(diǎn)間的實(shí)時(shí)數(shù)據(jù)流開(kāi)關(guān)的相應(yīng)規(guī)則相關(guān)聯(lián)的地帶74、76、78、80、82。(在典型的通信會(huì)話期間,圖4中劃界出地帶74-82的虛線對(duì)于通信者而言是不可見(jiàn)的,盡管可以有與此類地帶邊界相關(guān)聯(lián)的視覺(jué)線索。)開(kāi)關(guān)規(guī)則規(guī)定在每一個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)上執(zhí)行的本地連接過(guò)程如何基于通信者的化身68-72在虛擬區(qū)域66的地帶74-82中的位置來(lái)建立與其他網(wǎng)絡(luò)節(jié)點(diǎn)的通信。虛擬區(qū)域由包括對(duì)該虛擬區(qū)域的幾何要素的描述以及一個(gè)或多個(gè)規(guī)則(包括開(kāi)關(guān)規(guī)則和支配規(guī)則)的規(guī)范來(lái)定義。開(kāi)關(guān)規(guī)則支配網(wǎng)絡(luò)節(jié)點(diǎn)之間的實(shí)時(shí)流連接。支配規(guī)則控制通信者對(duì)諸如虛擬區(qū)域本身、具有虛擬區(qū)域的區(qū)劃、以及虛擬區(qū)域內(nèi)的對(duì)象之類的資源的訪問(wèn)。在一些實(shí)施例中,虛擬區(qū)域的幾何要素根據(jù)COLLADA-Digital Asset Schema Release 1.4.1 April 2006 specification(2006 年 4 月數(shù)字資產(chǎn)計(jì)劃版本 1. 4. 1 規(guī)范, 從http://www. khronos. org/collada/得到)進(jìn)行了描述,而開(kāi)關(guān)規(guī)則根據(jù)在美國(guó)申請(qǐng)?zhí)?11/923,629和11/923,634中描述的C0LLADA流參考規(guī)范使用可擴(kuò)展標(biāo)記語(yǔ)言(XML)文本格式(在本文稱作虛擬空間描述格式(VSDL))進(jìn)行了描述。虛擬區(qū)域的幾何要素通常包括虛擬區(qū)域的物理幾何和碰撞幾何。物理幾何描述虛擬區(qū)域的形狀。物理幾何通常由三角形、四邊形、或多邊形的表面形成。顏色和紋理被映射到物理幾何上以創(chuàng)建虛擬區(qū)域的更真實(shí)表觀。例如可通過(guò)在視覺(jué)幾何上描繪光線并修改光線附近的紋理、顏色、或亮度來(lái)提供光照效果。碰撞幾何描述確定對(duì)象可在虛擬區(qū)域中移動(dòng)的方式的不可見(jiàn)表面。碰撞幾何可與視覺(jué)幾何一致、對(duì)應(yīng)于視覺(jué)幾何的更簡(jiǎn)單的近似、或者與對(duì)虛擬區(qū)域設(shè)計(jì)者的因應(yīng)用而異的要求有關(guān)。開(kāi)關(guān)規(guī)則通常包括對(duì)用于按照虛擬區(qū)域中的位置來(lái)連接實(shí)時(shí)數(shù)據(jù)流的源和阱的條件的描述。每個(gè)規(guī)則通常包括定義該規(guī)則所適用的實(shí)時(shí)數(shù)據(jù)流類型以及該規(guī)則在該虛擬區(qū)域中所適用的(諸)位置的屬性。在一些實(shí)施例中,每個(gè)規(guī)則任選地可包括指定源的所要求角色、阱的所要求角色、流的優(yōu)先級(jí)別、和所請(qǐng)求的流處置拓?fù)涞囊粋€(gè)或多個(gè)屬性。在一些實(shí)施例中,如果沒(méi)有為虛擬區(qū)域的特定部分定義的顯式開(kāi)關(guān)規(guī)則,則可向虛擬區(qū)域的該部分應(yīng)用一個(gè)或多個(gè)隱式或缺省開(kāi)關(guān)規(guī)則。一個(gè)示例性缺省開(kāi)關(guān)規(guī)則是依照策略規(guī)則將區(qū)域內(nèi)的每個(gè)源連接至每個(gè)相兼容的阱的規(guī)則。策略規(guī)則可全局地適用于區(qū)域客戶端之間的所有連接、或者僅適用于與個(gè)體區(qū)域客戶端的相應(yīng)連接。策略規(guī)則的示例是接近度策略規(guī)則,該規(guī)則僅允許與虛擬區(qū)域中彼此在規(guī)定距離(或半徑)內(nèi)的相應(yīng)對(duì)象相關(guān)聯(lián)的源和兼容阱的連接。在一些實(shí)施例中,支配規(guī)則與虛擬區(qū)域相關(guān)聯(lián)以控制誰(shuí)能訪問(wèn)該虛擬區(qū)域、誰(shuí)能訪問(wèn)其內(nèi)容、對(duì)該虛擬區(qū)域的內(nèi)容的訪問(wèn)的范圍是什么(例如,用戶關(guān)于該內(nèi)容能做什么)、以及訪問(wèn)這些內(nèi)容的后繼結(jié)果是什么(例如,記錄保持,諸如審計(jì)日志、和支付要求)。 在一些實(shí)施例中,整個(gè)虛擬區(qū)域或該虛擬區(qū)域的地帶與“支配網(wǎng)格”相關(guān)聯(lián)。在一些實(shí)施例中,支配網(wǎng)格是用類似于在美國(guó)申請(qǐng)?zhí)?1/923,629和11/923,634中描述的地帶網(wǎng)格的實(shí)現(xiàn)的方式來(lái)實(shí)現(xiàn)的。支配網(wǎng)格使得軟件應(yīng)用開(kāi)發(fā)者能夠?qū)⒅湟?guī)則與虛擬區(qū)域或虛擬區(qū)域的地帶相關(guān)聯(lián)。這避免了為虛擬區(qū)域中的每個(gè)文件創(chuàng)建個(gè)體許可的需求并且避免了處理在需要取決于上下文不同地對(duì)待同一文檔時(shí)可能產(chǎn)生的復(fù)雜度的需求。在一些實(shí)施例中,虛擬區(qū)域與將該虛擬區(qū)域的一個(gè)或多個(gè)地帶與數(shù)字版權(quán)管理 (DRM)功能相關(guān)聯(lián)的支配網(wǎng)格相關(guān)聯(lián)。DRM功能控制對(duì)虛擬區(qū)域或該虛擬區(qū)域內(nèi)的一個(gè)或多個(gè)地帶或該虛擬區(qū)域內(nèi)的對(duì)象中的一者或多者的訪問(wèn)。每次通信者越過(guò)該虛擬區(qū)域內(nèi)的支配網(wǎng)格邊界時(shí)DRM功能被觸發(fā)。DRM功能確定該觸發(fā)動(dòng)作是否被許可,并且如果許可,則確定所許可動(dòng)作的范圍、是否需要支付、以及是否需要生成審計(jì)記錄。在虛擬區(qū)域的示例性實(shí)現(xiàn)中,相關(guān)聯(lián)的支配網(wǎng)格被配置成使得如果通信者能夠進(jìn)入該虛擬區(qū)域,則他或她能夠?qū)εc該虛擬區(qū)域相關(guān)聯(lián)的所有文檔執(zhí)行動(dòng)作,包括操控文檔、查看文檔、下載文檔、刪除文檔、修改文檔和重新上載文檔。這樣,虛擬區(qū)域可變成在由該虛擬區(qū)域定義的背景中共享和討論的信息的儲(chǔ)存庫(kù)。關(guān)于虛擬區(qū)域的規(guī)范的附加細(xì)節(jié)在美國(guó)申請(qǐng)?zhí)?1/042714(提交于2008年4月4 日)、11/923,629(提交于 2007 年 10月 M 日)、和 11/923,634 (提交于 2007 年 10 月 M
日)中記載。4.其他平臺(tái)組件實(shí)時(shí)內(nèi)核20被設(shè)計(jì)為作為客戶端軟件包的一部分的本地網(wǎng)絡(luò)節(jié)點(diǎn)的組件來(lái)工作,其中客戶端軟件還包括a.抬頭顯示器(HUD)軟件應(yīng)用;b.本地人類接口設(shè)備(HID)和音頻回放設(shè)備;c. So3D圖形顯示、化身、和物理學(xué)引擎;d.系統(tǒng)數(shù)據(jù)庫(kù)和存儲(chǔ)設(shè)施。a.抬頭顯示器(HUD)抬頭顯示器(HUD)是在每一個(gè)客戶端網(wǎng)絡(luò)節(jié)點(diǎn)上操作的對(duì)實(shí)時(shí)內(nèi)核20的應(yīng)用接口。HUD是用戶能夠在他或她的桌面上一直保持和運(yùn)行的小型、輕量級(jí)接口。它是用于啟動(dòng)虛擬區(qū)域應(yīng)用、為他或她提供對(duì)實(shí)時(shí)聯(lián)系人和實(shí)時(shí)協(xié)作場(chǎng)所(或區(qū)域)的即時(shí)訪問(wèn)的用戶接口。虛擬區(qū)域通過(guò)HUD和實(shí)時(shí)內(nèi)核20與用戶的桌面整合在一起,從而使得用戶能將文件拖放到虛擬區(qū)域通信環(huán)境中、利用獨(dú)立于虛擬區(qū)域通信環(huán)境的原生客戶端軟件應(yīng)用來(lái)使用與虛擬區(qū)域關(guān)聯(lián)地存儲(chǔ)同時(shí)又存在于虛擬區(qū)域中的文件、以及更一般地將虛擬區(qū)域內(nèi)的存在性和位置作為其操作環(huán)境中類似于其他操作系統(tǒng)功能的一方面而不只是若干應(yīng)用中的一個(gè)應(yīng)用來(lái)對(duì)待。圖5A和5B示出了通過(guò)坐落在通信者的桌面的右下角的半透明用戶接口來(lái)實(shí)現(xiàn)的 HUD的實(shí)施例84。HUD 84是通往平臺(tái)的應(yīng)用接口。HUD 84的特性包括·意欲在用戶桌面上一直運(yùn)行的小型、輕量級(jí)應(yīng)用;以及·為用戶提供便于查看聯(lián)系人并與聯(lián)系人交互以及查看發(fā)生交互的虛擬區(qū)域并與虛擬區(qū)域交互的接口。在此實(shí)施例中,HUD 84通過(guò)提供對(duì)控件的永久接口和訪問(wèn)的基本透明的(半透明)用戶接口覆蓋來(lái)實(shí)現(xiàn)。在圖5A所示的實(shí)施例中,HUD 84是透明的,除了該接口的以下半透明要素中的一個(gè)或多個(gè)要素的有限集合·漸進(jìn)式沉浸感控件的輪廓; 用戶當(dāng)前位置的輪廓;
·表示虛擬區(qū)域86中的實(shí)時(shí)聯(lián)系人的子圖形;以及·劃界出HUD區(qū)域的邊界的線條。在實(shí)時(shí)內(nèi)核260和HUD 84正在運(yùn)行而并準(zhǔn)備好發(fā)起實(shí)時(shí)通信會(huì)話的同時(shí),通信者能夠在普通桌面計(jì)算環(huán)境中工作。例如,通信者可與諸如微軟 EXCel 之類的其他應(yīng)用合作以創(chuàng)建稍后可以在實(shí)時(shí)通信會(huì)話中共享的文檔。虛擬區(qū)域86與通信者的桌面整合在一起,從而使得該通信者能將文件拖放到虛擬區(qū)域中、利用獨(dú)立于虛擬區(qū)域通信環(huán)境的原生客戶端軟件應(yīng)用來(lái)使用與虛擬區(qū)域關(guān)聯(lián)地存儲(chǔ)同時(shí)又存在于虛擬區(qū)域中的文件、以及更一般地將虛擬區(qū)域內(nèi)的存在性和位置作為其操作環(huán)境中類似于其他操作系統(tǒng)功能的一方面而不是若干應(yīng)用中的一個(gè)應(yīng)用來(lái)對(duì)待。當(dāng)通信者在虛擬區(qū)域86中交互時(shí),HUD 84為通信者提供對(duì)他或她所期望的可視化的獨(dú)立控制。例如,通信者可顯示虛擬區(qū)域的最小化視圖(被最小化至桌面的右下角) 并參與同該虛擬區(qū)域中的另一通信者的音頻交談,同時(shí)又工作在諸如微軟 Excel 之類的不同應(yīng)用中。通信者隨后可改變他或她的可視化模式并進(jìn)入對(duì)虛擬區(qū)域86的更加沉浸的三維呈現(xiàn)。這是通過(guò)將HUD 84中的漸進(jìn)式沉浸感滑塊88的設(shè)置從“桌面”改為“3D”來(lái)實(shí)現(xiàn)的。一旦處在3D可視化模式下,通信者的桌面就顯示對(duì)虛擬區(qū)域86的3D呈現(xiàn)(如圖 5A中所示)。通信者(在桌面模式下由子圖形90、92、94表示)現(xiàn)在采取如圖5A中所示的三維化身96、98、100的形式。與虛擬區(qū)域86相關(guān)聯(lián)的任何數(shù)據(jù)皆可被顯示在觀看屏102、104、106上。觀看屏是可被用于呈現(xiàn)任何隨意數(shù)據(jù)的通用數(shù)據(jù)呈現(xiàn)組件。可在觀看屏上呈現(xiàn)的數(shù)據(jù)類型的示例包括·微軟 PowerPoint 報(bào)告書(shū) 視頻·網(wǎng)絡(luò)攝像機(jī)的輸出·直接來(lái)自組織的企業(yè)資源規(guī)劃(ERP)系統(tǒng)的實(shí)時(shí)數(shù)據(jù)如圖5C中所示,HUD 84被設(shè)計(jì)成充當(dāng)顯示信息并提供對(duì)控件的訪問(wèn)的真實(shí)接口, 且對(duì)呈現(xiàn)在通信者的顯示監(jiān)視器上的圖形用戶界面62的底層部分只有最小的遮擋。HUD 84高效地顯示·該通信者的當(dāng)前在線的實(shí)時(shí)聯(lián)系人,·該通信者與該通信者的實(shí)時(shí)聯(lián)系人當(dāng)前“位于”該虛擬區(qū)域86中的何處,·控制虛擬區(qū)域86的可視化的漸進(jìn)式沉浸感控件,以及·使得用戶能快速連接至特定場(chǎng)所的導(dǎo)航控件。具體地,HUD 84為通信者提供對(duì)其實(shí)時(shí)聯(lián)系人以及在發(fā)生實(shí)時(shí)協(xié)作的虛擬區(qū)域的即時(shí)訪問(wèn)。HUD 84允許基于人的位置在區(qū)域中導(dǎo)航以及允許對(duì)虛擬區(qū)域的查看。這些虛擬區(qū)域可以許多方式訪問(wèn)最頻繁使用的、最近使用的、或應(yīng)用指定方式。HUD 84顯示一組有序的場(chǎng)所瓦片108、110、112。點(diǎn)擊場(chǎng)所瓦片中的一個(gè)將用戶帶到由所選擇的場(chǎng)所瓦片所表示的虛擬區(qū)域。對(duì)于人而言,具有去(往通信者的區(qū)域)和取 (將他們帶到用戶的區(qū)域)的基本隱喻。這在HUD 84中通過(guò)允許通信者對(duì)去或取請(qǐng)求進(jìn)行排隊(duì)以及在無(wú)需“移動(dòng)”的情況下經(jīng)由文本或語(yǔ)音與人通信來(lái)完善。HUD 84在從另一通信者收到每個(gè)通信請(qǐng)求時(shí)通知該通信者。該通信者可以接受該請(qǐng)求、忽略它、或?qū)⑺砑拥酵?br>
28信隊(duì)列。這樣,通信者能在稍后的時(shí)間響應(yīng)非優(yōu)先通信。例如,通信者可將在該通信者繁忙 (例如,忙于當(dāng)前通信會(huì)話)的時(shí)間期間收到的通信進(jìn)行排隊(duì),并且在該通信者空閑之后, 該通信者可響應(yīng)該通信隊(duì)列中的通信請(qǐng)求。如上所述,交互網(wǎng)絡(luò)基礎(chǔ)結(jié)構(gòu)服務(wù)維護(hù)記錄通信者遇到誰(shuí)以及在哪里遇到的交互數(shù)據(jù)庫(kù)。交互服務(wù)用可按基于場(chǎng)所的分類次序(例如,最?;蜃罱?呈現(xiàn)的查詢結(jié)果來(lái)響應(yīng)對(duì)關(guān)系數(shù)據(jù)庫(kù)的查詢。這樣,關(guān)系數(shù)據(jù)庫(kù)信息可被用于導(dǎo)出該通信者在哪些區(qū)域遇見(jiàn)的人的頻率分類、以及在不論區(qū)域的情況下該通信者已經(jīng)遇見(jiàn)的人的分類、和該通信者最常出入的區(qū)域的分類。此數(shù)據(jù)被用在HUD 84中。該數(shù)據(jù)也可被用虛擬區(qū)域應(yīng)用開(kāi)發(fā)者用作啟發(fā)式系統(tǒng)的一部分(例如,準(zhǔn)許已經(jīng)拜訪特定虛擬區(qū)域超過(guò)5次的人進(jìn)入而無(wú)需默認(rèn)的敲門(mén)的規(guī)則、或者允許在特定時(shí)間存在于虛擬區(qū)域中的人修改和刪除由在同一時(shí)間在那里的另一通信者創(chuàng)建的文件的規(guī)則)。在圖5C中,HUD 84呈現(xiàn)一系列表示相應(yīng)虛擬區(qū)域的場(chǎng)所瓦片108、110、112。這些虛擬區(qū)域中的每一個(gè)被紐帶聯(lián)系到對(duì)關(guān)系數(shù)據(jù)庫(kù)的查詢。關(guān)于每個(gè)虛擬區(qū)域,集合服務(wù)對(duì)關(guān)系數(shù)據(jù)庫(kù)查詢用戶已在該虛擬區(qū)域中遇見(jiàn)過(guò)的所有聯(lián)系人。集合服務(wù)通常在按頻率或按交互的最近性(例如,該通信者最后交互的聯(lián)系人)來(lái)分類的列表中呈現(xiàn)所標(biāo)識(shí)的聯(lián)系人。 在其他實(shí)施例中,聯(lián)系人可以其他某種取決于應(yīng)用的方式來(lái)分類。對(duì)關(guān)系數(shù)據(jù)庫(kù)的查詢可與其他搜索相組合。例如,對(duì)關(guān)系數(shù)據(jù)庫(kù)的查詢可以與對(duì)針對(duì)使用另一通信系統(tǒng)(例如,Skype、Facebook、和Flickr)與聯(lián)系人的交互所生成的聯(lián)系人歷史數(shù)據(jù)的查詢相組合。在一個(gè)示例中,Skype虛擬區(qū)域112可以與對(duì)通信者的關(guān)聯(lián)于Skype虛擬區(qū)域112的關(guān)系數(shù)據(jù)和該通信者的Skype歷史數(shù)據(jù)的查詢相關(guān)聯(lián),以產(chǎn)生該用戶的與Skype虛擬區(qū)域112相關(guān)聯(lián)的實(shí)時(shí)聯(lián)系人的分類列表。圖5C示出了對(duì)HUD 84中的聯(lián)系人和虛擬區(qū)域的基本導(dǎo)航。點(diǎn)擊與虛擬區(qū)域瓦片 108-112中的每一個(gè)相關(guān)聯(lián)的朝左箭頭顯示在給定場(chǎng)所中按交互頻率分類的實(shí)時(shí)聯(lián)系人的列表。例如,點(diǎn)擊主HUD瓦片84 (標(biāo)記為“辦公室”)的朝左箭頭114顯示該用戶在虛擬區(qū)域86中最頻繁通信的實(shí)時(shí)聯(lián)系人。聯(lián)系人(由各自相應(yīng)的圖標(biāo)瓦片表示)的列表按照頻率進(jìn)行分類。列表中的第一位聯(lián)系人(在此示例中為DVW)代表該用戶在虛擬區(qū)域86中合作最頻繁的聯(lián)系人、繼之以PJB、Tim等等。點(diǎn)擊朝上箭頭116顯示代表該通信者已經(jīng)到訪過(guò)的一些或所有虛擬區(qū)域的一組場(chǎng)所瓦片。該組場(chǎng)所瓦片通常按頻率、最近性、或其他排序來(lái)分類。虛擬區(qū)域場(chǎng)所瓦片顯示當(dāng)前發(fā)生在相應(yīng)虛擬區(qū)域中的實(shí)時(shí)活動(dòng)。例如,DVW、Kim和 Joe (由主虛擬區(qū)域瓦片108中的相應(yīng)子圖形表示)皆在該主虛擬區(qū)域中并且正在進(jìn)行實(shí)時(shí)談話,而Jeff、Arm和Jane (由虛擬區(qū)域瓦片110中的相應(yīng)子圖形表示)全部在!^cebook 虛擬區(qū)域中。假定任何通信者退出虛擬區(qū)域或進(jìn)入虛擬區(qū)域,此虛擬區(qū)域中的存在性指示器 (即,由圓形所示出的小圖形,通常與名稱或其他標(biāo)識(shí)符相關(guān)聯(lián))將自動(dòng)被實(shí)時(shí)更新。該特征證明虛擬區(qū)域設(shè)計(jì)者向場(chǎng)所瓦片輸入應(yīng)用專用實(shí)時(shí)數(shù)據(jù)的能力。場(chǎng)所瓦片可看起來(lái)與通信者相關(guān)聯(lián),或與通信者的場(chǎng)所相關(guān)聯(lián)。例如,游戲開(kāi)發(fā)者可輸出通信者在其游戲環(huán)境中所在地的地圖,由此通過(guò)關(guān)系數(shù)據(jù)庫(kù)連接到該通信者的其他人接收對(duì)該通信者當(dāng)前活動(dòng)的實(shí)時(shí)饋送。這些人可使用該虛擬區(qū)域瓦片來(lái)導(dǎo)航至該通信者,與他或她通信、或聯(lián)絡(luò)他或她 (例如,發(fā)送進(jìn)入虛擬區(qū)域的邀請(qǐng))。HUD84同時(shí)為許多不同的虛擬區(qū)域管理與聯(lián)系人和虛擬區(qū)域的此接口。HUD虛擬區(qū)域瓦片84、108、110、112中使用的實(shí)時(shí)數(shù)據(jù)由主存相關(guān)區(qū)域的區(qū)域服務(wù)所管理的接口經(jīng)由實(shí)時(shí)內(nèi)核120來(lái)提供。每個(gè)區(qū)域服務(wù)可基于通信者察看所主存的虛擬區(qū)域的許可向通信者提供對(duì)不同的相應(yīng)HUD虛擬區(qū)域瓦片數(shù)據(jù)。例如,如果通信者進(jìn)入不允許該通信者察看的虛擬區(qū)域,則HUD虛擬區(qū)域瓦片可顯示受限或沒(méi)有詳細(xì)信息。此外,由主存區(qū)域服務(wù)提供的HUD虛擬區(qū)域瓦片數(shù)據(jù)饋送可由操作該區(qū)域服務(wù)的虛擬區(qū)域提供商定制以向訂閱HUD呈現(xiàn)該虛擬區(qū)域的應(yīng)用指定視圖。b.本地人類接口設(shè)備(HID)和音頻回放設(shè)備;本地HID設(shè)備使通信者在參與虛擬區(qū)域通信會(huì)話時(shí)能向客戶端網(wǎng)絡(luò)節(jié)點(diǎn)輸入命令和其他信號(hào)。示例性的HID設(shè)備包括計(jì)算機(jī)鍵盤(pán)、計(jì)算機(jī)鼠標(biāo)、觸摸屏顯示器、以及話筒。音頻回放設(shè)備使通信者能回放在虛擬區(qū)域通信會(huì)話期間接收的音頻信號(hào)。示例性的音頻回放設(shè)備包括用于操縱(例如,混頻和施加特殊效果)音頻信號(hào)的音頻處理硬件 (例如,聲卡),以及用于輸出聲音的揚(yáng)聲器。c. So3D圖形顯示、化身、和物理學(xué)引擎So3D引擎是控制虛擬區(qū)域和虛擬區(qū)域內(nèi)的對(duì)象在顯示監(jiān)視器上的相應(yīng)視圖顯示的三維可視化引擎。So3D引擎通常與圖形用戶界面驅(qū)動(dòng)器和HID設(shè)備接口以呈現(xiàn)虛擬區(qū)域的視圖并允許通信者控制HUD應(yīng)用的操作。So3D引擎通常經(jīng)由實(shí)時(shí)內(nèi)核20接收來(lái)自區(qū)域服務(wù)沈的圖形呈現(xiàn)指令。在一些實(shí)施例中,So3D引擎也讀取包含呈現(xiàn)通信者在虛擬區(qū)域中的化身所需要的圖像的通信者化身數(shù)據(jù)庫(kù)。基于此信息,So3D引擎從虛擬區(qū)域內(nèi)的通信者的化身角度(位置和取向)生成虛擬區(qū)域和該虛擬區(qū)域內(nèi)的對(duì)象的視覺(jué)表示(即,圖像)。該視覺(jué)表示通常被傳遞給操作系統(tǒng)的圖形呈現(xiàn)組件,該圖形呈現(xiàn)組件驅(qū)動(dòng)圖形呈現(xiàn)硬件在客戶端網(wǎng)絡(luò)節(jié)點(diǎn)上呈現(xiàn)虛擬區(qū)域的視覺(jué)表示。通信者可通過(guò)從HID設(shè)備(例如,計(jì)算機(jī)鼠標(biāo))向?qū)崟r(shí)內(nèi)核20傳送命令(實(shí)時(shí)內(nèi)核20將視圖控制命令傳送給So3D引擎)來(lái)控制虛擬區(qū)域的所呈現(xiàn)視圖。So3D引擎根據(jù)視圖控制命令來(lái)更新虛擬區(qū)域的視圖。So3D引擎還根據(jù)經(jīng)由實(shí)時(shí)內(nèi)核20從區(qū)域服務(wù)沈接收的經(jīng)更新的對(duì)象位置信息來(lái)更新虛擬區(qū)域在顯示監(jiān)視器上的圖形表示。d.系統(tǒng)數(shù)據(jù)庫(kù)和存儲(chǔ)設(shè)施系統(tǒng)數(shù)據(jù)庫(kù)和存儲(chǔ)設(shè)施存儲(chǔ)平臺(tái)使用的各種類型的信息。通常由存儲(chǔ)設(shè)施存儲(chǔ)的示例性的信息包括存在性數(shù)據(jù)庫(kù)、交互數(shù)據(jù)庫(kù)、化身數(shù)據(jù)庫(kù)、真實(shí)用戶id(RUID)數(shù)據(jù)庫(kù)、樣式(art)緩沖數(shù)據(jù)庫(kù)、以及虛擬區(qū)域描述數(shù)據(jù)庫(kù)。信息可在單個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)上存儲(chǔ)或者可以跨多個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)分布。C.示例性的通信會(huì)話再次參見(jiàn)圖4,在通信會(huì)話期間,每個(gè)客戶端網(wǎng)絡(luò)節(jié)點(diǎn)生成相應(yīng)的實(shí)時(shí)數(shù)據(jù)流集 (例如,運(yùn)動(dòng)數(shù)據(jù)流、音頻數(shù)據(jù)流、聊天數(shù)據(jù)流、文件傳遞數(shù)據(jù)流、以及視頻數(shù)據(jù)流)。例如, 每個(gè)通信者操縱一個(gè)或更多個(gè)生成運(yùn)動(dòng)數(shù)據(jù)流的輸入設(shè)備(例如,計(jì)算機(jī)鼠標(biāo)52和鍵盤(pán)
,運(yùn)動(dòng)數(shù)據(jù)流控制他或她的化身在虛擬區(qū)域66中的移動(dòng)。此外,在計(jì)算機(jī)系統(tǒng)48附近本地生成的通信者語(yǔ)音和其他聲音由話筒60捕獲。話筒60生成可被轉(zhuǎn)換為實(shí)時(shí)音頻流的音頻信號(hào)。音頻流的相應(yīng)副本被傳送給由虛擬區(qū)域66中的化身表示的其他網(wǎng)絡(luò)節(jié)點(diǎn)。在這些其他網(wǎng)絡(luò)節(jié)點(diǎn)本地生成的聲音被轉(zhuǎn)換成實(shí)時(shí)音頻信號(hào)并被傳送給計(jì)算機(jī)系統(tǒng)48。實(shí)時(shí)內(nèi)核20將其他網(wǎng)絡(luò)節(jié)點(diǎn)生成的音頻流轉(zhuǎn)換為由揚(yáng)聲器56、58呈現(xiàn)的音頻信號(hào)。運(yùn)動(dòng)數(shù)據(jù)流和音頻數(shù)據(jù)流可直接或間接從每一個(gè)通信者節(jié)點(diǎn)傳送至其他客戶端網(wǎng)絡(luò)節(jié)點(diǎn)。在一些流處置拓?fù)渲校總€(gè)客戶端網(wǎng)絡(luò)節(jié)點(diǎn)接收由其他客戶端網(wǎng)絡(luò)節(jié)點(diǎn)傳送的實(shí)時(shí)數(shù)據(jù)流的副本。在其他流處置拓?fù)渲校粋€(gè)或更多個(gè)客戶端網(wǎng)絡(luò)節(jié)點(diǎn)接收從源自(發(fā)源于)其他一些網(wǎng)絡(luò)節(jié)點(diǎn)的實(shí)時(shí)數(shù)據(jù)流導(dǎo)出的一個(gè)或更多個(gè)流混合。在一些實(shí)施例中,區(qū)域服務(wù)沈維護(hù)包括虛擬區(qū)域的當(dāng)前描述、該虛擬區(qū)域中的對(duì)象的當(dāng)前登記、以及當(dāng)前正由主存區(qū)域服務(wù)26的網(wǎng)絡(luò)節(jié)點(diǎn)生成的任何流混合的列表的全局狀態(tài)信息。對(duì)象登記通常包括針對(duì)虛擬區(qū)域中的每個(gè)對(duì)象的相應(yīng)對(duì)象標(biāo)識(shí)符(例如,唯一地標(biāo)識(shí)對(duì)象的標(biāo)簽)、能與關(guān)聯(lián)于該對(duì)象的網(wǎng)絡(luò)節(jié)點(diǎn)建立網(wǎng)絡(luò)連接的連接句柄(例如、 URI,諸如IP地址)、以及標(biāo)識(shí)與該對(duì)象相關(guān)聯(lián)的實(shí)時(shí)數(shù)據(jù)源和阱(例如,與該對(duì)象相關(guān)聯(lián)的網(wǎng)絡(luò)節(jié)點(diǎn)的源和阱)的接口數(shù)據(jù)。對(duì)象登記還通常包括針對(duì)每個(gè)對(duì)象的一個(gè)或更多個(gè)可選角色標(biāo)識(shí)符,該可選角色標(biāo)識(shí)符可由通信者或區(qū)域服務(wù)26明確指派給對(duì)象,或者可從對(duì)象的其他屬性推斷出。在一些實(shí)施例中,對(duì)象登記還包括每個(gè)對(duì)象在虛擬區(qū)域中的當(dāng)前位置, 這由區(qū)域服務(wù)沈從對(duì)接收自與虛擬區(qū)域中的對(duì)象相關(guān)聯(lián)的網(wǎng)絡(luò)節(jié)點(diǎn)的實(shí)時(shí)運(yùn)動(dòng)數(shù)據(jù)流的分析中確定。就此,區(qū)域服務(wù)沈從與虛擬區(qū)域中的對(duì)象相關(guān)聯(lián)的網(wǎng)絡(luò)節(jié)點(diǎn)接收實(shí)時(shí)運(yùn)動(dòng)數(shù)據(jù)流、并基于該運(yùn)動(dòng)數(shù)據(jù)跟蹤通信者的化身和進(jìn)入、離開(kāi)和在虛擬區(qū)域中四處移動(dòng)的其他對(duì)象。區(qū)域服務(wù)沈根據(jù)被跟蹤對(duì)象的當(dāng)前位置來(lái)更新對(duì)象登記。在管理與其他網(wǎng)絡(luò)節(jié)點(diǎn)的實(shí)時(shí)數(shù)據(jù)流連接的過(guò)程中,區(qū)域服務(wù)沈維護(hù)針對(duì)每個(gè)客戶端網(wǎng)絡(luò)節(jié)點(diǎn)的配置數(shù)據(jù)集,包括接口數(shù)據(jù)、地帶列表、以及當(dāng)前位于虛擬區(qū)域內(nèi)的對(duì)象的位置。接口數(shù)據(jù)包括針對(duì)與每個(gè)客戶端網(wǎng)絡(luò)節(jié)點(diǎn)相關(guān)聯(lián)的每個(gè)對(duì)象的關(guān)于關(guān)聯(lián)于該對(duì)象的實(shí)時(shí)數(shù)據(jù)流類型的所有源和阱的相應(yīng)列表。地帶列表是虛擬區(qū)域中當(dāng)前被與相應(yīng)客戶端網(wǎng)絡(luò)節(jié)點(diǎn)相關(guān)聯(lián)的化身占據(jù)的所有地帶的登記。當(dāng)通信者首次進(jìn)入虛擬區(qū)域中時(shí),區(qū)域服務(wù)沈通常用位置初始化信息初始化當(dāng)前對(duì)象位置數(shù)據(jù)庫(kù)。之后,區(qū)域服務(wù)沈用對(duì)象在虛擬區(qū)域中的當(dāng)前位置來(lái)更新當(dāng)前對(duì)象位置數(shù)據(jù)庫(kù),該當(dāng)前位置從對(duì)接收自共享虛擬區(qū)域的其他客戶端網(wǎng)絡(luò)節(jié)點(diǎn)的實(shí)時(shí)運(yùn)動(dòng)數(shù)據(jù)流的分析中確定。圖6示出一種方法的實(shí)施例,根據(jù)該方法,區(qū)域服務(wù)沈的實(shí)施例確定當(dāng)用戶進(jìn)入虛擬區(qū)域或穿過(guò)虛擬區(qū)域的地帶之間的邊界時(shí)要建立的一組所要求的實(shí)時(shí)數(shù)據(jù)流連接。區(qū)域服務(wù)26根據(jù)虛擬區(qū)域描述和每個(gè)通信者的化身在虛擬區(qū)域?qū)嵗械奈恢脕?lái)建立該通信者的所占據(jù)地帶的列表(圖6,框180)。在此過(guò)程中,區(qū)域服務(wù)沈從當(dāng)前對(duì)象位置數(shù)據(jù)庫(kù)中檢索用戶化身在虛擬區(qū)域?qū)嵗械漠?dāng)前位置,該位置包含化身在虛擬區(qū)域?qū)嵗械漠?dāng)前位置的坐標(biāo)。區(qū)域服務(wù)沈隨后比較通信者的化身的當(dāng)前位置和虛擬區(qū)域描述中的地帶定義。區(qū)域服務(wù)沈根據(jù)虛擬區(qū)域描述中與通信者化身的當(dāng)前位置一致的所有地帶來(lái)編輯所占據(jù)地帶列表。例如,在一些實(shí)施例中,所占據(jù)地帶列表包括其網(wǎng)格包含通信者化身的當(dāng)前位置的所有地帶。區(qū)域服務(wù)沈確定為所占據(jù)地帶列表中的地帶定義的一組目標(biāo)實(shí)時(shí)數(shù)據(jù)流類型 (圖6,框18 。區(qū)域服務(wù)沈隨后從該組目標(biāo)實(shí)時(shí)數(shù)據(jù)流類型、對(duì)象在虛擬區(qū)域?qū)嵗械奈恢?、以及虛擬區(qū)域描述中定義的開(kāi)關(guān)規(guī)則確定所要求的實(shí)時(shí)數(shù)據(jù)流數(shù)據(jù)集(圖6,框184)。在一些示例性實(shí)施例中,在區(qū)域服務(wù)沈已經(jīng)確定使用戶能在共享虛擬區(qū)域?qū)嵗袇⑴c與其他網(wǎng)絡(luò)節(jié)點(diǎn)的協(xié)作通信會(huì)話的實(shí)時(shí)數(shù)據(jù)流數(shù)據(jù)集(圖6,框184)后,區(qū)域服務(wù) 26確定將導(dǎo)致向計(jì)算機(jī)系統(tǒng)120傳遞所要求的數(shù)據(jù)流數(shù)據(jù)的實(shí)時(shí)數(shù)據(jù)流連接。在一些實(shí)施例中,區(qū)域服務(wù)沈確定實(shí)時(shí)數(shù)據(jù)流處置拓?fù)?,該處置拓?fù)渲辽俨糠值鼗谟?jì)算機(jī)系統(tǒng)120的帶寬能力將實(shí)時(shí)數(shù)據(jù)流集傳遞給計(jì)算機(jī)系統(tǒng)120。在此過(guò)程中,區(qū)域服務(wù)26確定從未混合的實(shí)時(shí)數(shù)據(jù)流以及根據(jù)實(shí)時(shí)數(shù)據(jù)流的組合導(dǎo)出的流混合接收每個(gè)實(shí)時(shí)數(shù)據(jù)流的相應(yīng)形式。區(qū)域服務(wù)26還確定從直接對(duì)等網(wǎng)絡(luò)路線和由一個(gè)或更多個(gè)其他網(wǎng)絡(luò)節(jié)點(diǎn)仲裁的網(wǎng)絡(luò)路線接收每個(gè)實(shí)時(shí)數(shù)據(jù)流的網(wǎng)絡(luò)路線。在已確定流處置拓?fù)浜?,區(qū)域服務(wù)沈向在計(jì)算機(jī)系統(tǒng)120上操作的實(shí)時(shí)內(nèi)核發(fā)送指令。該指令根據(jù)所確定的流處置拓?fù)渲付ㄓ?jì)算機(jī)系統(tǒng)120和其他一些網(wǎng)絡(luò)節(jié)點(diǎn)之間所要求的實(shí)時(shí)數(shù)據(jù)流連接。圖7示出由實(shí)時(shí)內(nèi)核20在確定向計(jì)算機(jī)系統(tǒng)120傳遞所要求的數(shù)據(jù)流數(shù)據(jù)的實(shí)時(shí)數(shù)據(jù)流連接的拓?fù)溥^(guò)程中實(shí)現(xiàn)的方法的實(shí)施例。根據(jù)該方法,實(shí)時(shí)內(nèi)核20確定計(jì)算機(jī)系統(tǒng)120是否具有直接從其他網(wǎng)絡(luò)節(jié)點(diǎn)接收所要求的實(shí)時(shí)數(shù)據(jù)流數(shù)據(jù)集186的足夠帶寬(圖7,框188)。在此過(guò)程中,其他網(wǎng)絡(luò)節(jié)點(diǎn)向計(jì)算機(jī)系統(tǒng)120傳送鏈路請(qǐng)求。該鏈路請(qǐng)求指示計(jì)算機(jī)系統(tǒng)120傳送相應(yīng)的實(shí)時(shí)數(shù)據(jù)流集所需要的相應(yīng)帶寬要求。實(shí)時(shí)內(nèi)核20將建立所要求的直接連接所需要的總帶寬與當(dāng)前計(jì)算機(jī)系統(tǒng)120可用的下載帶寬進(jìn)行比較。如果可用帶寬至少等于總要求帶寬,則實(shí)時(shí)內(nèi)核20建立與提供所要求的實(shí)時(shí)數(shù)據(jù)流數(shù)據(jù)的其他網(wǎng)絡(luò)節(jié)點(diǎn)的直接連接(圖7,框190)。在此過(guò)程中,實(shí)時(shí)內(nèi)核20創(chuàng)建計(jì)算機(jī)系統(tǒng)120與一個(gè)或更多個(gè)其他網(wǎng)絡(luò)節(jié)點(diǎn)之間的套接字(例如,TCP套接字或性能最優(yōu)化的專用實(shí)時(shí)套接字)。實(shí)時(shí)內(nèi)核20處理實(shí)時(shí)數(shù)據(jù)流,包括加密它們、記錄它們、以及將經(jīng)處理的數(shù)據(jù)流傳遞給呈現(xiàn)在用戶界面中及在網(wǎng)絡(luò)18上傳送所需的下游軟件組件。如果可用帶寬小于所要求帶寬(圖7,框188),則實(shí)時(shí)內(nèi)核20檢查流混合列表以確定區(qū)域服務(wù)沈是否正在生成提供所要求實(shí)時(shí)數(shù)據(jù)流數(shù)據(jù)的流混合(圖7,框192)。如果需要的流混合可用,則實(shí)時(shí)內(nèi)核20與區(qū)域服務(wù)沈建立將所需實(shí)時(shí)數(shù)據(jù)流混合的副本從區(qū)域服務(wù)器觀傳送到計(jì)算機(jī)系統(tǒng)120的連接(圖7,框194)。如果所需流混合不可用,則實(shí)時(shí)內(nèi)核20向區(qū)域服務(wù)沈發(fā)送流混合請(qǐng)求(圖7,框196)。如果可能,區(qū)域服務(wù)沈響應(yīng)于流混合請(qǐng)求生成所需流混合。IV.系統(tǒng)架構(gòu)A.引言通信者通常從客戶端網(wǎng)絡(luò)節(jié)點(diǎn)連接到網(wǎng)絡(luò)18,客戶端網(wǎng)絡(luò)節(jié)點(diǎn)通常由通用計(jì)算機(jī)系統(tǒng)或?qū)S猛ㄐ庞?jì)算機(jī)系統(tǒng)(或“控制臺(tái)”,諸如網(wǎng)絡(luò)使能的視頻游戲控制臺(tái))來(lái)實(shí)現(xiàn)。網(wǎng)絡(luò)節(jié)點(diǎn)執(zhí)行建立與其他網(wǎng)絡(luò)節(jié)點(diǎn)的實(shí)時(shí)數(shù)據(jù)流連接的通信過(guò)程且通常執(zhí)行呈現(xiàn)通信者進(jìn)入的每個(gè)虛擬區(qū)域的視圖的可視化呈現(xiàn)過(guò)程。圖8示出了由計(jì)算機(jī)系統(tǒng)120實(shí)現(xiàn)的客戶端網(wǎng)絡(luò)節(jié)點(diǎn)的實(shí)施例。計(jì)算機(jī)系統(tǒng)120 包括處理單元122、系統(tǒng)存儲(chǔ)器IM和將處理單元122耦合至計(jì)算機(jī)系統(tǒng)120的各種組件的系統(tǒng)總線126。處理單元122可包括一個(gè)或更多個(gè)數(shù)據(jù)處理器,每個(gè)數(shù)據(jù)處理器可以是任一種商業(yè)上可用的計(jì)算機(jī)處理器的形式。系統(tǒng)存儲(chǔ)器1 可包括存儲(chǔ)包含計(jì)算機(jī)系統(tǒng)120 的啟動(dòng)例程的基本輸入/輸出系統(tǒng)¢10 的只讀存儲(chǔ)器(ROM)和隨機(jī)存取存儲(chǔ)器(RAM)。 系統(tǒng)總線1 可以是存儲(chǔ)器總線、外圍總線或本地總線,并且可與任何總線協(xié)議(包括PCI、VESA、Microchannel、ISA和EISA)兼容。計(jì)算機(jī)系統(tǒng)120還包括連接至系統(tǒng)總線1 并包含一個(gè)或更多個(gè)提供對(duì)數(shù)據(jù)、數(shù)據(jù)結(jié)構(gòu)和計(jì)算機(jī)可執(zhí)行指令的非易失或永久存儲(chǔ)的計(jì)算機(jī)可讀介質(zhì)盤(pán)的永久存儲(chǔ)存儲(chǔ)器128(例如,硬盤(pán)驅(qū)動(dòng)器、軟盤(pán)驅(qū)動(dòng)器、CD ROM驅(qū)動(dòng)器、磁帶驅(qū)動(dòng)器、閃存設(shè)備、以及數(shù)字視頻驅(qū)動(dòng)器)。通信者可使用一個(gè)或更多個(gè)輸入設(shè)備130(例如,一個(gè)或更多個(gè)鍵盤(pán)、計(jì)算機(jī)鼠標(biāo)、話筒、攝像頭、操縱桿、諸如Wii輸入設(shè)備的物理運(yùn)動(dòng)傳感器、以及觸摸墊等)與計(jì)算機(jī)系統(tǒng)120交互(例如,輸入命令或數(shù)據(jù))。信息可通過(guò)在顯示監(jiān)視器132上呈現(xiàn)給通信者的圖形用戶界面(⑶I)來(lái)呈現(xiàn),這由顯示控制器134控制。計(jì)算機(jī)系統(tǒng)120還可包括其他輸入/輸出硬件136(例如,諸如揚(yáng)聲器和打印機(jī)等外圍輸出設(shè)備)。計(jì)算機(jī)系統(tǒng)120通過(guò)網(wǎng)絡(luò)適配器138(也稱為“網(wǎng)絡(luò)接口卡”或NIC)連接至其他網(wǎng)絡(luò)節(jié)點(diǎn)138、140和142。若干程序模塊可被存儲(chǔ)在系統(tǒng)存儲(chǔ)器124中,包括操作系統(tǒng)(0 144(例如,可從美國(guó)華盛頓雷蒙德的微軟公司獲得的Windows XP⑧操作系統(tǒng))、實(shí)時(shí)內(nèi)核20、驅(qū)動(dòng)程序 146 (例如,⑶I驅(qū)動(dòng)程序)、網(wǎng)絡(luò)協(xié)議148、本地軟件應(yīng)用150 (例如,HUD 84)、以及數(shù)據(jù)(例如,輸入數(shù)據(jù)、輸出數(shù)據(jù)、程序數(shù)據(jù)、注冊(cè)表156、以及配置設(shè)定152)。B.操作系統(tǒng)操作系統(tǒng)144通過(guò)提供用于創(chuàng)建計(jì)算機(jī)系統(tǒng)120上的運(yùn)行時(shí)執(zhí)行環(huán)境的基礎(chǔ)操作系統(tǒng)服務(wù)來(lái)主存軟件應(yīng)用。通常由操作系統(tǒng)提供的示例性類型的服務(wù)是資源管理、文件管理、安全性、認(rèn)證、驗(yàn)證、通知、以及用戶接口(例如、窗口、菜單、對(duì)話等)。與計(jì)算機(jī)系統(tǒng)120的資源(例如,存儲(chǔ)器、處理器、以及I/O設(shè)備)管理有關(guān)的服務(wù)通常由操作系統(tǒng)內(nèi)核實(shí)現(xiàn)。文件管理可由操作系統(tǒng)內(nèi)核實(shí)現(xiàn)或可用分離的文件系統(tǒng)管理器(例如,可安裝的文件系統(tǒng),其在一些Microsoft Windows 操作系統(tǒng)中提供)實(shí)現(xiàn)。 在打開(kāi)文件(例如,計(jì)算機(jī)數(shù)據(jù)文件或軟件應(yīng)用文件)的過(guò)程中,文件系統(tǒng)管理器通常調(diào)用適當(dāng)?shù)奈募到y(tǒng)驅(qū)動(dòng)程序,該文件系統(tǒng)驅(qū)動(dòng)程序在映射出文件在磁盤(pán)上的存儲(chǔ)位置的數(shù)據(jù)庫(kù)(例如,諸如FAT、FAT98、VFAT、MFT以及⑶FS等文件分配表)中查找該文件的磁盤(pán)存儲(chǔ)位置。諸如安全性、認(rèn)證、驗(yàn)證、通知、以及用戶接口的其他操作系統(tǒng)功能可由操作系統(tǒng)的一個(gè)或更多個(gè)其他組件(例如,一些Microsoft Windows 操作系統(tǒng)中的可執(zhí)行服務(wù)層)提 {共。通常由操作系統(tǒng)內(nèi)核提供的示例性類型的服務(wù)是過(guò)程管理、存儲(chǔ)器管理、設(shè)備管理、以及系統(tǒng)調(diào)用處置。過(guò)程管理包括運(yùn)行應(yīng)用并向計(jì)算機(jī)系統(tǒng)的硬件組件提供應(yīng)用編程接口(API)。在運(yùn)行軟件應(yīng)用的過(guò)程中,操作系統(tǒng)內(nèi)核通常在存儲(chǔ)器中建立用于該軟件應(yīng)用的地址空間、在該地址空間中加載包含該軟件應(yīng)用代碼的文件、以及執(zhí)行加載的軟件應(yīng)用代碼。存儲(chǔ)器管理涉及管理軟件應(yīng)用對(duì)系統(tǒng)存儲(chǔ)器1 的訪問(wèn)。設(shè)備管理涉及提供通過(guò)設(shè)備驅(qū)動(dòng)器對(duì)硬件設(shè)備的訪問(wèn)。系統(tǒng)調(diào)用處置涉及提供向用戶模式軟件應(yīng)用暴露操作系統(tǒng)內(nèi)核服務(wù)的API。通過(guò)調(diào)用API (例如,通過(guò)過(guò)程間通信機(jī)制和系統(tǒng)調(diào)用),軟件應(yīng)用可向操作系統(tǒng)內(nèi)核請(qǐng)求服務(wù)、傳遞參數(shù)、以及接收響應(yīng)于請(qǐng)求由服務(wù)生成的結(jié)果。操作系統(tǒng)144通常在注冊(cè)表156中存儲(chǔ)硬件和軟件配置信息、用戶偏好、以及設(shè)置信息。例如,注冊(cè)表156通常包含以下信息引導(dǎo)和配置系統(tǒng)所需的參數(shù)值、控制操作系統(tǒng) 144的操作的系統(tǒng)范圍的軟件設(shè)置、安全性數(shù)據(jù)庫(kù)、以及每用戶簡(jiǎn)檔設(shè)置。在一些實(shí)施例中, 連接規(guī)則32被存儲(chǔ)在注冊(cè)表156而非分離的數(shù)據(jù)庫(kù)中。
C.網(wǎng)絡(luò)協(xié)、議網(wǎng)絡(luò)協(xié)議148控制或使能計(jì)算機(jī)系統(tǒng)120和其他網(wǎng)絡(luò)節(jié)點(diǎn)之間的連接、通信、和數(shù)據(jù)傳遞。示例性的網(wǎng)絡(luò)協(xié)議類型包括傳輸控制協(xié)議/網(wǎng)際協(xié)議(TCP/IP)、用戶數(shù)據(jù)報(bào)協(xié)議 /網(wǎng)際協(xié)議(UDP/IP)、實(shí)時(shí)傳輸協(xié)議(RTP)、以及會(huì)話發(fā)起協(xié)議(SIP)。TCP/IP包括TCP部分和IP部分。該協(xié)議的TCP部分通過(guò)將消息分裂成較小分組、 在通信網(wǎng)絡(luò)另一端重新組裝分組、以及重新發(fā)送任何在路上丟失的分組來(lái)提供傳輸功能。 該協(xié)議的IP部分通過(guò)向這些數(shù)據(jù)分組指派目的地網(wǎng)絡(luò)以及該目的地網(wǎng)絡(luò)處的目標(biāo)節(jié)點(diǎn)的地址來(lái)提供路由功能。使用TCP/IP傳遞的每個(gè)數(shù)據(jù)分組包括包含TCP和IP信息的頭部。 IP不向通信棧的上層提供分組傳遞的保證。另一方面,TCP提供有保證的排隊(duì)分組傳遞下面向連接的端對(duì)端傳輸服務(wù)。這樣,TCP協(xié)議提供可靠的傳輸層連接。UDP是面向消息的傳輸層協(xié)議,其提供應(yīng)用層和因特網(wǎng)層之間的接口。UDP不保證消息傳遞到應(yīng)用層。UDP是無(wú)連接協(xié)議,因?yàn)閷?duì)建立專用端對(duì)端連接并無(wú)建樹(shù)。UDP發(fā)送方在發(fā)送UDP消息后,不保留關(guān)于這些UDP消息的狀態(tài)信息。通信是基于從源到目的地的一個(gè)方向上的消息傳輸,不會(huì)檢查接收機(jī)的狀態(tài)。RTP定義用于通過(guò)網(wǎng)絡(luò)連接傳遞音頻和視頻的標(biāo)準(zhǔn)化分組格式。各種網(wǎng)絡(luò)協(xié)議可被用于在網(wǎng)絡(luò)節(jié)點(diǎn)之間傳送和接收RTP數(shù)據(jù),包括對(duì)等連網(wǎng)框架、單獨(dú)使用TCP套接字或與 UDP聯(lián)用的集中式服務(wù)器、以及多播協(xié)議。SIP向用戶提供用于彼此定位、建立通信會(huì)話、以及終止活動(dòng)會(huì)話的手段。有了 SIP事務(wù),根據(jù)會(huì)話描述協(xié)議(SDP)來(lái)處置話商定過(guò)程。D.設(shè)備驅(qū)動(dòng)程序設(shè)備驅(qū)動(dòng)程序146通常由使其他軟件應(yīng)用(例如,用戶模式的軟件應(yīng)用和操作系統(tǒng))與連接至計(jì)算機(jī)系統(tǒng)120的硬件設(shè)備交互的軟件應(yīng)用來(lái)實(shí)現(xiàn)。設(shè)備驅(qū)動(dòng)程序通常向可由軟件過(guò)程作出的調(diào)用所調(diào)取的功能提供API,以便轉(zhuǎn)換在軟件過(guò)程和硬件設(shè)備之間傳遞的命令和數(shù)據(jù)。E.實(shí)時(shí)內(nèi)核1.引言實(shí)時(shí)內(nèi)核20包括控制計(jì)算機(jī)系統(tǒng)120和共享虛擬區(qū)域通信環(huán)境的其他網(wǎng)絡(luò)節(jié)點(diǎn)之間的實(shí)時(shí)數(shù)據(jù)流的處理和開(kāi)關(guān)的服務(wù),以及虛擬區(qū)域和該虛擬區(qū)域中的對(duì)象在顯示監(jiān)視器132上的相應(yīng)視圖呈現(xiàn)的服務(wù)。在這些過(guò)程中,實(shí)時(shí)內(nèi)核與和驅(qū)動(dòng)程序148進(jìn)行通信的操作系統(tǒng)功能接口以向和從計(jì)算機(jī)系統(tǒng)120的硬件組件傳遞命令和數(shù)據(jù),以便與其他網(wǎng)絡(luò)節(jié)點(diǎn)交換實(shí)時(shí)數(shù)據(jù)流并向通信者呈現(xiàn)沉浸性虛擬區(qū)域通信體驗(yàn)。實(shí)時(shí)內(nèi)核20的實(shí)現(xiàn)包括一個(gè)或更多個(gè)分立模塊或分立庫(kù)(例如,動(dòng)態(tài)鏈接的庫(kù)), 這并不限于任何特定的硬件、固件、或軟件配置。一般來(lái)說(shuō),這些模塊可在任何計(jì)算或數(shù)據(jù)處理環(huán)境中實(shí)現(xiàn),包括在數(shù)字電子電路(例如,應(yīng)用專用集成電路,諸如數(shù)字信號(hào)處理器 (DSP))中或在計(jì)算機(jī)硬件、固件、設(shè)備驅(qū)動(dòng)器、或軟件中。在一些實(shí)施例中,模塊的功能性被組合進(jìn)單個(gè)數(shù)據(jù)處理組件。在一些實(shí)施例中,一個(gè)或更多個(gè)模塊的每一者的相應(yīng)功能性由多個(gè)數(shù)據(jù)處理組件的相應(yīng)集執(zhí)行。在一些實(shí)現(xiàn)中,用于實(shí)現(xiàn)實(shí)時(shí)內(nèi)核20的實(shí)施例執(zhí)行的方法的過(guò)程指令(例如,諸如計(jì)算機(jī)軟件等計(jì)算機(jī)可讀代碼),以及它們生成的數(shù)據(jù)被存儲(chǔ)在一個(gè)或更多個(gè)計(jì)算機(jī)可讀介質(zhì)上。適用于有形地表達(dá)這些指令和數(shù)據(jù)的存儲(chǔ)設(shè)備包括所有形式的非易失性計(jì)算機(jī)可讀存儲(chǔ)器,包括例如諸如EPROM、EEPROM和閃存設(shè)備的半導(dǎo)體存儲(chǔ)設(shè)備;諸如內(nèi)部硬盤(pán)和可移動(dòng)硬盤(pán)的磁盤(pán);磁光盤(pán);DVD-ROM/RAM以及CD-ROM/RAM。2.示例性實(shí)時(shí)內(nèi)核功能性實(shí)時(shí)內(nèi)核20與一個(gè)或更多個(gè)網(wǎng)絡(luò)基礎(chǔ)結(jié)構(gòu)服務(wù)協(xié)作以建立并管理計(jì)算機(jī)系統(tǒng) 120與共享虛擬區(qū)域通信環(huán)境的其他網(wǎng)絡(luò)節(jié)點(diǎn)之間的網(wǎng)絡(luò)連接。在建立并管理網(wǎng)絡(luò)連接過(guò)程中涉及的示例性功能性有會(huì)話管理、遠(yuǎn)程控制流處置、以及實(shí)時(shí)任務(wù)調(diào)度。e.會(huì)話管理圖9示出由實(shí)時(shí)內(nèi)核20響應(yīng)于請(qǐng)求連接至虛擬區(qū)域的實(shí)時(shí)內(nèi)核API調(diào)用實(shí)現(xiàn)的方法的實(shí)施例。根據(jù)圖9的方法,實(shí)時(shí)內(nèi)核20確定虛擬區(qū)域的指定(圖9,框160)。在一些實(shí)施例中,實(shí)時(shí)內(nèi)核20的該功能性通過(guò)向?qū)崟r(shí)內(nèi)核服務(wù)發(fā)起包括虛擬區(qū)域指定的實(shí)時(shí)內(nèi)核API 調(diào)用來(lái)調(diào)取。實(shí)時(shí)內(nèi)核API調(diào)用可由任何軟件應(yīng)用、操作系統(tǒng)服務(wù)作出。實(shí)時(shí)內(nèi)核20建立與主存指定的虛擬區(qū)域的網(wǎng)絡(luò)基礎(chǔ)結(jié)構(gòu)服務(wù)的會(huì)話(圖9,框 162)。在此過(guò)程中,實(shí)時(shí)內(nèi)核20建立與區(qū)域服務(wù)沈的會(huì)話。實(shí)時(shí)內(nèi)核20隨后向區(qū)域服務(wù) 26傳送對(duì)連接至指定的虛擬區(qū)域的請(qǐng)求。區(qū)域服務(wù)沈確定從實(shí)時(shí)內(nèi)核20接收的請(qǐng)求中指定的虛擬區(qū)域的實(shí)例。在確定虛擬區(qū)域?qū)嵗膶?shí)例后,區(qū)域服務(wù)46確定用戶能力是否滿足與虛擬區(qū)域?qū)嵗嚓P(guān)聯(lián)的能力要求。如果用戶能力符合能力要求,則區(qū)域服務(wù)46傳送指示描述虛擬區(qū)域?qū)嵗漠?dāng)前狀態(tài)的狀態(tài)數(shù)據(jù)的可用性的消息(例如,當(dāng)前在虛擬區(qū)域?qū)嵗械膶?duì)象的列表、以及與這些對(duì)象相關(guān)聯(lián)的通信者的名稱)。實(shí)時(shí)內(nèi)核20訂閱描述虛擬區(qū)域?qū)嵗漠?dāng)前狀態(tài)的狀態(tài)數(shù)據(jù)(圖9,框164)。響應(yīng)于訂閱請(qǐng)求,區(qū)域服務(wù)26向?qū)崟r(shí)內(nèi)核20和區(qū)域服務(wù)沈之間的鏈路上的信道公布狀態(tài)信
肩、ο在一些實(shí)施例中,實(shí)時(shí)內(nèi)核20的So3D引擎調(diào)用操作系統(tǒng)144的用戶接口服務(wù)以呈現(xiàn)狀態(tài)數(shù)據(jù)的人類可感知的視圖。例如,So3D引擎可調(diào)用接口服務(wù)以在顯示器132上呈現(xiàn)與當(dāng)前在該區(qū)域內(nèi)的對(duì)象相關(guān)聯(lián)的每個(gè)通信者的表示。在一些實(shí)施例中,通信者可由圖標(biāo)、縮略圖、或可選地用該通信者名稱標(biāo)記的其他圖形來(lái)表示。在一些實(shí)施例中,狀態(tài)數(shù)據(jù)在觸發(fā)了實(shí)時(shí)內(nèi)核20的調(diào)用的軟件應(yīng)用的圖形界面中呈現(xiàn)。在一些實(shí)施例中,狀態(tài)數(shù)據(jù)在抬頭顯示器(HUD)界面84的實(shí)施例中呈現(xiàn)(參見(jiàn)圖5A-5C)。在已經(jīng)建立與虛擬區(qū)域?qū)嵗倪B接后,觸發(fā)實(shí)時(shí)內(nèi)核20調(diào)用的軟件應(yīng)用可給予用戶請(qǐng)求進(jìn)入虛擬區(qū)域?qū)嵗齼?nèi)的選項(xiàng)或可代表該用戶自動(dòng)請(qǐng)求進(jìn)入該虛擬區(qū)域?qū)嵗齼?nèi)。圖10示出由實(shí)時(shí)內(nèi)核20響應(yīng)于請(qǐng)求進(jìn)入虛擬區(qū)域的實(shí)時(shí)內(nèi)核API調(diào)用實(shí)現(xiàn)的方法的實(shí)施例。根據(jù)圖10的方法,實(shí)時(shí)內(nèi)核20向主存虛擬區(qū)域的網(wǎng)絡(luò)基礎(chǔ)結(jié)構(gòu)服務(wù)宣稱進(jìn)入該虛擬區(qū)域的意圖(圖10,框168)。在此過(guò)程中,實(shí)時(shí)內(nèi)核20向區(qū)域服務(wù)沈發(fā)送包含該宣稱的消息。該消息可在與區(qū)域服務(wù)26的現(xiàn)有鏈路的信道上發(fā)送,或者在實(shí)時(shí)內(nèi)核20建立的與區(qū)域服務(wù)沈的新鏈路上發(fā)送。作為相應(yīng),區(qū)域服務(wù)沈確定用戶能力是否滿足與虛擬區(qū)域?qū)嵗嚓P(guān)聯(lián)的能力要求。如果用戶能力符合能力要求,則區(qū)域服務(wù)26向?qū)崟r(shí)內(nèi)核20 返回配置數(shù)據(jù)。根據(jù)虛擬區(qū)域?qū)嵗拿枋?,配置?shù)據(jù)通常包括虛擬區(qū)域?qū)嵗亩x、當(dāng)前在該虛擬區(qū)域?qū)嵗齼?nèi)的對(duì)象的登記、以及與虛擬區(qū)域中的對(duì)象相關(guān)聯(lián)的實(shí)時(shí)數(shù)據(jù)流源和阱的
35集合。實(shí)時(shí)內(nèi)核20發(fā)起至少一個(gè)實(shí)時(shí)數(shù)據(jù)流在與至少一個(gè)實(shí)時(shí)數(shù)據(jù)流源的至少一個(gè)網(wǎng)絡(luò)連接上的傳遞,其中該至少一個(gè)數(shù)據(jù)流源分別與虛擬區(qū)域中的至少一個(gè)對(duì)象相關(guān)聯(lián)(圖 10,框170)。在此過(guò)程中,實(shí)時(shí)內(nèi)核20基于從區(qū)域服務(wù)沈接收的配置數(shù)據(jù)確定與虛擬區(qū)域的實(shí)例相關(guān)聯(lián)的一個(gè)或更多個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)。實(shí)時(shí)內(nèi)核20隨后發(fā)起至少一個(gè)實(shí)時(shí)數(shù)據(jù)流在與至少一個(gè)所確定的網(wǎng)絡(luò)節(jié)點(diǎn)的至少一個(gè)網(wǎng)絡(luò)連接上的傳遞。實(shí)時(shí)內(nèi)核20和其他網(wǎng)絡(luò)節(jié)點(diǎn)之間的連接可以是對(duì)等連接或服務(wù)器仲裁的連接。關(guān)于對(duì)等連接,連接目標(biāo)網(wǎng)絡(luò)節(jié)點(diǎn)和實(shí)時(shí)內(nèi)核20通常彼此認(rèn)證,并且隨后建立鏈路,經(jīng)由該鏈路向或從連接目標(biāo)傳送至少一個(gè)實(shí)時(shí)數(shù)據(jù)流。鏈路通常是單向的且由發(fā)射機(jī)請(qǐng)求并由接收機(jī)接受或拒絕。在所解說(shuō)的實(shí)施例中,實(shí)時(shí)內(nèi)核20根據(jù)虛擬區(qū)域?qū)嵗拿枋鲋械闹辽僖粋€(gè)流處置定義來(lái)處理發(fā)起的實(shí)時(shí)數(shù)據(jù)流(圖10,框17 。在此過(guò)程中,實(shí)時(shí)內(nèi)核20根據(jù)虛擬區(qū)域描述中定義的流處理配置將流處理對(duì)象集組裝成有向圖。f.遠(yuǎn)程控制的流處置圖11示出由實(shí)時(shí)內(nèi)核20響應(yīng)于從虛擬區(qū)域服務(wù)沈接收的處置指令實(shí)現(xiàn)的方法的實(shí)施例。根據(jù)圖11的方法,實(shí)時(shí)內(nèi)核20從在遠(yuǎn)程網(wǎng)絡(luò)節(jié)點(diǎn)上操作的區(qū)域服務(wù)沈接收一個(gè)或更多個(gè)流處置指令,其中該流處置指令包括用于處理至少一個(gè)實(shí)時(shí)數(shù)據(jù)流的流處理機(jī)的描述(圖11,框200)。實(shí)時(shí)內(nèi)核20根據(jù)流處理機(jī)描述創(chuàng)建流處理機(jī)(圖11,框20 。流處理機(jī)通常包括一個(gè)或更多個(gè)流處置指令中描述的混合功能。該混合功能用于將實(shí)時(shí)數(shù)據(jù)流與至少一個(gè)其他實(shí)時(shí)數(shù)據(jù)流混合以產(chǎn)生混合的實(shí)時(shí)數(shù)據(jù)流。實(shí)時(shí)內(nèi)核20在包括通過(guò)所創(chuàng)建的流處理機(jī)處理實(shí)時(shí)數(shù)據(jù)流的過(guò)程中產(chǎn)生所得數(shù)據(jù)流(圖11,框204)。在一些實(shí)施例中,該過(guò)程涉及從一個(gè)或更多個(gè)流處置指令中指定的實(shí)時(shí)狀態(tài)信息中確定配置參數(shù)值、以及用該配置參數(shù)值動(dòng)態(tài)地配置流處理機(jī)。圖12示出由流處理機(jī)配置管理器208(其為實(shí)時(shí)內(nèi)核20的組件)根據(jù)從區(qū)域服務(wù) 26接收的流處置指令210創(chuàng)建的流處理機(jī)206的實(shí)施例。流處理機(jī)配置管理器208通常由一個(gè)或更多個(gè)構(gòu)成服務(wù)和實(shí)時(shí)內(nèi)核20的其他組件構(gòu)成。流處理機(jī)配置管理器208從一組處理對(duì)象(也稱為處理圖元或PGE)構(gòu)造流處理機(jī)206。每個(gè)處理對(duì)象是能夠?qū)?shù)據(jù)流執(zhí)行特定功能(例如,變換功能、分立功能、以及混合功能)的軟件對(duì)象。流處理機(jī)配置管理器 208實(shí)例化一個(gè)或更多個(gè)流處置指令中指定的處理對(duì)象并根據(jù)描述將實(shí)例化的處理對(duì)象組裝成流處理機(jī)206的有向圖組件212。在一些實(shí)施例中,流處置指令用相應(yīng)的唯一標(biāo)識(shí)符來(lái)指定處理對(duì)象且流處理機(jī)配置管理器208通過(guò)向處理對(duì)象API發(fā)起包括相應(yīng)一些標(biāo)識(shí)符的調(diào)用來(lái)實(shí)例化處理對(duì)象。流處理機(jī)206被配置成通過(guò)相應(yīng)處理鏈216-218處理特定數(shù)據(jù)類型(例如,音頻、視頻、以及運(yùn)動(dòng)數(shù)據(jù)類型)的多個(gè)數(shù)據(jù)流214,這些處理鏈由相應(yīng)一些處理對(duì)象構(gòu)成。流處理機(jī)206另外包括混合對(duì)象220 (其在一個(gè)或更多個(gè)流處置指令中指定)。 在操作中,流處理機(jī)206執(zhí)行混合對(duì)象220以從經(jīng)處理實(shí)時(shí)數(shù)據(jù)流216-218的組合產(chǎn)生混合實(shí)時(shí)數(shù)據(jù)流222。在一些實(shí)施例中,至少一個(gè)實(shí)例化的處理對(duì)象將相應(yīng)的調(diào)用封裝到驅(qū)動(dòng)程序模塊224,該驅(qū)動(dòng)程序模塊至少部分地基于所得數(shù)據(jù)流222控制本地網(wǎng)絡(luò)節(jié)點(diǎn)的硬件組件。g.實(shí)時(shí)任務(wù)調(diào)度
圖13示出由實(shí)時(shí)內(nèi)核20在調(diào)度由實(shí)時(shí)內(nèi)核20執(zhí)行的任務(wù)的過(guò)程中實(shí)現(xiàn)的方法的實(shí)施例。根據(jù)圖13的方法,實(shí)時(shí)內(nèi)核20建立與至少一個(gè)遠(yuǎn)程網(wǎng)絡(luò)節(jié)點(diǎn)的至少一個(gè)實(shí)時(shí)數(shù)據(jù)流連接(圖13,框230)。實(shí)時(shí)內(nèi)核20處理源自遠(yuǎn)程網(wǎng)絡(luò)節(jié)點(diǎn)的至少一個(gè)實(shí)時(shí)數(shù)據(jù)流(圖13,框232)。在此過(guò)程中,實(shí)時(shí)內(nèi)核10通過(guò)一個(gè)或更多個(gè)實(shí)時(shí)數(shù)據(jù)處理操作處理該至少一個(gè)實(shí)時(shí)數(shù)據(jù)流以產(chǎn)生所得數(shù)據(jù)流。實(shí)時(shí)內(nèi)核20監(jiān)視該至少一個(gè)實(shí)時(shí)數(shù)據(jù)流的處理(圖13,框234)。在一些實(shí)施例中,實(shí)時(shí)內(nèi)核10監(jiān)視一個(gè)或更多個(gè)以下參數(shù)所得數(shù)據(jù)產(chǎn)生的速率、本地網(wǎng)絡(luò)節(jié)點(diǎn)的至少一個(gè)處理器的利用、以及本地網(wǎng)絡(luò)節(jié)點(diǎn)的至少一個(gè)連網(wǎng)資源的帶寬利用。在一些實(shí)施例中, 實(shí)時(shí)數(shù)據(jù)流被分組成幀且實(shí)時(shí)內(nèi)核20在根據(jù)本地時(shí)鐘設(shè)定的每一相繼固定長(zhǎng)度間隔期間監(jiān)視每一幀的處理,該本地時(shí)鐘通常與遠(yuǎn)程主時(shí)鐘服務(wù)同步?;谠摫O(jiān)視,實(shí)時(shí)內(nèi)核20確定實(shí)時(shí)數(shù)據(jù)流的處理是否偏離性能目標(biāo)。在一些實(shí)施例中,性能目標(biāo)包括對(duì)產(chǎn)生所得數(shù)據(jù)流的基于時(shí)間的閾值。例如,在一些實(shí)施例中,性能目標(biāo)是對(duì)產(chǎn)生所得數(shù)據(jù)流的幀的速率的謂項(xiàng)(即,條件)。該類型的示例性的性能目標(biāo)包括目標(biāo)閾值和目標(biāo)范圍。響應(yīng)于確定該至少一個(gè)實(shí)時(shí)數(shù)據(jù)流的處理偏離性能目標(biāo),實(shí)時(shí)內(nèi)核20根據(jù)實(shí)時(shí)性能目標(biāo)例程修改該處理(圖13,框236)。圖14示出由實(shí)時(shí)內(nèi)核20基于對(duì)至少一個(gè)實(shí)時(shí)數(shù)據(jù)流的處理的監(jiān)視而執(zhí)行的方法的實(shí)施例。響應(yīng)于確定對(duì)該至少一個(gè)實(shí)時(shí)數(shù)據(jù)流的處理沒(méi)有滿足性能目標(biāo)(圖14,框238), 實(shí)時(shí)內(nèi)核20將計(jì)算資源負(fù)載減少至較低水平(圖14,框M0)。取決于實(shí)時(shí)性能目標(biāo)例程的設(shè)計(jì),實(shí)時(shí)內(nèi)核20通常以下列方式中的一種或更多種來(lái)減少計(jì)算資源實(shí)時(shí)內(nèi)核20可忽略實(shí)時(shí)數(shù)據(jù)流的一個(gè)或更多個(gè)部分的處理(圖14,框?qū)?);實(shí)時(shí)內(nèi)核20可忽略一個(gè)或更多個(gè)實(shí)時(shí)數(shù)據(jù)處理操作(圖14,框?qū)?);以及實(shí)時(shí)內(nèi)核20可用不同的相應(yīng)數(shù)據(jù)處理操作替代至少一個(gè)實(shí)時(shí)數(shù)據(jù)處理操作(圖14,框M6)。在忽略實(shí)時(shí)數(shù)據(jù)流的一個(gè)或更多個(gè)部分的處理的過(guò)程中(圖14,框?qū)?),實(shí)時(shí)內(nèi)核20通常執(zhí)行以下操作中的至少一個(gè)忽略一個(gè)或更多個(gè)由性能目標(biāo)之外的相應(yīng)性能值表征的數(shù)據(jù)處理操作;以及基于分別指派給各個(gè)數(shù)據(jù)處理操作的優(yōu)先級(jí)值優(yōu)先忽略一個(gè)或更多個(gè)數(shù)據(jù)處理操作。如果該至少一個(gè)實(shí)時(shí)數(shù)據(jù)流的處理滿足性能目標(biāo)(圖14,框238)且計(jì)算負(fù)載已經(jīng)通過(guò)以上描述的任一種方法被減少至較低水平(圖14,框?qū)?),則實(shí)時(shí)內(nèi)核20從該較低水平增加計(jì)算負(fù)載(圖14,框250)。實(shí)時(shí)內(nèi)核20通常根據(jù)啟發(fā)通過(guò)反轉(zhuǎn)一個(gè)或更多個(gè)用于在框240減少計(jì)算資源負(fù)載的操作來(lái)增加計(jì)算資源。如果該至少一個(gè)實(shí)時(shí)數(shù)據(jù)流的處理滿足性能目標(biāo)(圖14,框238)且計(jì)算負(fù)載并未通過(guò)以上描述的任一種方法被減少至較低水平 (圖14,框M8),則實(shí)時(shí)內(nèi)核20維持對(duì)實(shí)時(shí)數(shù)據(jù)流的當(dāng)前處理。在一些實(shí)施例中,實(shí)時(shí)內(nèi)核20實(shí)例化對(duì)至少一個(gè)實(shí)時(shí)數(shù)據(jù)流執(zhí)行相應(yīng)一些數(shù)據(jù)處理操作的處理對(duì)象。實(shí)時(shí)內(nèi)核20從一些被實(shí)例化的處理對(duì)象建立有向圖并通過(guò)該有向圖處理該至少一個(gè)實(shí)時(shí)數(shù)據(jù)流。取決于實(shí)時(shí)性能目標(biāo)例程,實(shí)時(shí)內(nèi)核20可通過(guò)從有向圖中刪除一個(gè)或更多個(gè)被實(shí)例化的處理對(duì)象而修改實(shí)時(shí)數(shù)據(jù)流的處理。在一些實(shí)施例中,處理對(duì)象被指派相應(yīng)的優(yōu)先級(jí)值,且實(shí)時(shí)內(nèi)核20通過(guò)基于被指派的優(yōu)先級(jí)值從有向圖中移除一些被實(shí)例化的處理對(duì)象來(lái)刪除處理對(duì)象。例如,在這些實(shí)施例中的一些中,該刪除包括從有向圖中移除一些被實(shí)例化的處理對(duì)象,這些被實(shí)例化的處理對(duì)象被指派的相應(yīng)優(yōu)先級(jí)值不滿足優(yōu)先級(jí)閾值。在一些實(shí)施例中,實(shí)時(shí)內(nèi)核20從一些被實(shí)例化的處理對(duì)象建立第二有向圖,第二有向圖被用于處理源自本地網(wǎng)絡(luò)節(jié)點(diǎn)和至少一個(gè)遠(yuǎn)程網(wǎng)絡(luò)節(jié)點(diǎn)之一的第二實(shí)時(shí)數(shù)據(jù)流。在這些實(shí)施例的一些中,第一和第二有向圖被指派相應(yīng)的優(yōu)先級(jí)值,且實(shí)時(shí)內(nèi)核通過(guò)基于被指派的優(yōu)先級(jí)值優(yōu)先修改第一和第二有向圖之一來(lái)修改第一和第二實(shí)時(shí)數(shù)據(jù)流的處理。例如,實(shí)時(shí)內(nèi)核可卸下第一和第二有向圖中被指派最低優(yōu)先級(jí)值的那一個(gè)。在一些實(shí)施例中,實(shí)時(shí)內(nèi)核20通過(guò)有向圖處理第二實(shí)時(shí)數(shù)據(jù)流,其中第二實(shí)時(shí)數(shù)據(jù)流源自本地網(wǎng)絡(luò)節(jié)點(diǎn)和至少一個(gè)遠(yuǎn)程網(wǎng)絡(luò)節(jié)點(diǎn)之一。在這些實(shí)施例的一些中,第一和第二實(shí)時(shí)數(shù)據(jù)流被指派相應(yīng)的優(yōu)先級(jí)值,且實(shí)時(shí)內(nèi)核20基于被指派的優(yōu)先級(jí)值優(yōu)先修改對(duì)第一和第二實(shí)時(shí)數(shù)據(jù)流之一的處理。在一些實(shí)施例中,實(shí)時(shí)內(nèi)核20建立本地網(wǎng)絡(luò)節(jié)點(diǎn)和多個(gè)遠(yuǎn)程網(wǎng)絡(luò)節(jié)點(diǎn)之間的相應(yīng)實(shí)時(shí)數(shù)據(jù)流連接。實(shí)時(shí)內(nèi)核20通過(guò)有向圖處理源自相應(yīng)一些遠(yuǎn)程網(wǎng)絡(luò)節(jié)點(diǎn)的實(shí)時(shí)數(shù)據(jù)流。在這些實(shí)施例的一些中,實(shí)時(shí)數(shù)據(jù)流被指派相應(yīng)的優(yōu)先級(jí)值,且實(shí)時(shí)內(nèi)核20基于被指派的優(yōu)先級(jí)值優(yōu)先修改對(duì)一個(gè)或更多個(gè)實(shí)時(shí)數(shù)據(jù)流的處理。有向圖通常包括相應(yīng)一些被實(shí)例化的處理對(duì)象的多個(gè)有向鏈。實(shí)時(shí)內(nèi)核20通常通過(guò)每個(gè)有向鏈處理相應(yīng)的一個(gè)實(shí)時(shí)數(shù)據(jù)流。在這些實(shí)施例的一些中,實(shí)時(shí)內(nèi)核20迭代地修改實(shí)時(shí)數(shù)據(jù)流的處理直至處理落在指定的性能目標(biāo)之內(nèi)。在每次迭代期間,該修改通常包括執(zhí)行以下一者或更多(i)從有向圖中移除一個(gè)或更多個(gè)鏈以及(ii)從有向圖中刪除一個(gè)或更多個(gè)被實(shí)例化的處理對(duì)象。V.示例性實(shí)時(shí)內(nèi)核實(shí)施例A.引言圖15示出實(shí)時(shí)內(nèi)核20的實(shí)施例沈0。實(shí)時(shí)內(nèi)核260支持2D/3D圖形呈現(xiàn)引擎、音頻混合及開(kāi)關(guān)引擎在不同網(wǎng)絡(luò)節(jié)點(diǎn)上的遠(yuǎn)程配置和執(zhí)行以創(chuàng)建兩個(gè)或更多個(gè)通信者之間的物理存在性的感覺(jué)。在管理在同一時(shí)間在單個(gè)虛擬區(qū)域?qū)嵗薪换サ乃型ㄐ耪叩倪^(guò)程中,區(qū)域服務(wù)沈經(jīng)由實(shí)時(shí)內(nèi)核沈0的分組傳輸組件(本文稱為STRAW服務(wù)沈8)遠(yuǎn)程配置實(shí)時(shí)內(nèi)核260和其他網(wǎng)絡(luò)節(jié)點(diǎn)之間的會(huì)話。在一些實(shí)施例中,實(shí)時(shí)內(nèi)核沈0點(diǎn)對(duì)點(diǎn)(P2P) 配置數(shù)據(jù)流(例如,實(shí)時(shí)音頻數(shù)據(jù)流)以便最小化與區(qū)域服務(wù)26的通信。區(qū)域服務(wù)沈也可混合數(shù)據(jù)流并在必要時(shí)將其輸送至客戶端網(wǎng)絡(luò)節(jié)點(diǎn)。實(shí)時(shí)內(nèi)核260將向區(qū)域服務(wù)沈報(bào)告P2P連接故障以便區(qū)域服務(wù)沈可確定何時(shí)為客戶端網(wǎng)絡(luò)節(jié)點(diǎn)混合數(shù)據(jù)流。實(shí)時(shí)內(nèi)核沈0 具有小初始覆蓋區(qū)域,并在網(wǎng)絡(luò)連接上加載更新和增加功能性作為插件。實(shí)時(shí)內(nèi)核260包括一組管理器和服務(wù)。實(shí)時(shí)內(nèi)核管理器有連接和服務(wù)混合管理器沈2、區(qū)域/地帶管理器沈4、以及插件管理器沈6。實(shí)時(shí)內(nèi)核服務(wù)有STRAW服務(wù)沈8、SODA 處理機(jī)服務(wù)270、媒體服務(wù)271、音頻流服務(wù)272、So3D接口服務(wù)274、資產(chǎn)緩存服務(wù)275、一個(gè)或更多個(gè)社交服務(wù)器277,記錄、回放及傳輸總線服務(wù)276、實(shí)時(shí)調(diào)度器服務(wù)278、時(shí)間服務(wù)觀0、SIP服務(wù)觀2、本地HID/RDS驅(qū)動(dòng)程序處理機(jī)服務(wù)觀4,以及用于包括本地音頻回放觀6、本地?fù)P聲器觀8、本地話筒290和Skype 音頻的本地音頻設(shè)備的接口服務(wù)。在一個(gè)示例性實(shí)施例中,實(shí)時(shí)內(nèi)核沈0由以下運(yùn)行時(shí)封裝組件實(shí)現(xiàn)庫(kù)庫(kù)名稱腿
SORK.DLL實(shí)時(shí)調(diào)度器278
Compress.DLL壓縮引擎
Media-DLL用于流送音頻傳輸?shù)拿襟w服務(wù)271
SODA.DLL用于流送SOD定義傳輸?shù)腟ODA信道服務(wù)
270
GIPS.DLLGIPS語(yǔ)音組件
OpenAL.DLL打開(kāi)用于聲卡支持的音頻庫(kù)
AudioSvc.DLL音頻流服務(wù)272
TransBus.DLL包括音頻流服務(wù)272的媒體傳輸總線
OpenAL.DLL聲卡
STRAW.DLLSTRAW服務(wù)268 (分組傳輸引擎)
CSMMgr.DLL連接和服務(wù)器混合管理器262
AreaZone-DLL區(qū)域/地帯管理器264
ArtCache.DLL提供對(duì)本地?cái)?shù)據(jù)庫(kù)中的樣式(art)的SODA
接ロ的資產(chǎn)緩存服務(wù)
So3D.DLL對(duì)3D呈現(xiàn)引擎的SODA接ロ
TimeSID.DLL網(wǎng)絡(luò)時(shí)間標(biāo)準(zhǔn)接ロ
PlugInMgr-DLL插件管理器其他插件加密算法壓縮算法認(rèn)證算法憑證音頻混合音頻源音頻編解碼器音頻計(jì)算圖形效果物理延伸腳本延伸輸入設(shè)備主存
B.實(shí)時(shí)內(nèi)核設(shè)計(jì)如圖15所示,實(shí)時(shí)內(nèi)核260被設(shè)計(jì)為服務(wù)、插件和實(shí)時(shí)調(diào)度器的集合,其構(gòu)成用于根據(jù)從區(qū)域服務(wù)沈接收的指令呈現(xiàn)虛擬區(qū)域通信環(huán)境的平臺(tái)。各服務(wù)協(xié)作以通過(guò)音頻和圖形呈現(xiàn)配置根據(jù)網(wǎng)絡(luò)特性實(shí)現(xiàn)工作在不同級(jí)別的該平臺(tái)。插件是不同種類的,每個(gè)種類附著于插件管理API且每個(gè)種類具有其自己的種類API。實(shí)時(shí)調(diào)度器278確保音頻和圖形呈現(xiàn)以均勻幀速率發(fā)生。根據(jù)虛擬區(qū)域的實(shí)例由區(qū)域服務(wù)26通過(guò)在STRAW UDP套接字(參見(jiàn)VI部分,其包含關(guān)于SODA記錄的示例性集合的SODA定義)上傳送的SODA定義記錄來(lái)配置該平臺(tái)。STRAW服務(wù)268使用公布/訂閱模型來(lái)多路分解SODA記錄流。SODA記錄僅在訂戶存在于STRAW套接字的另一端時(shí)才被傳送。收到的SODA記錄在抵達(dá)時(shí)被傳遞給一個(gè)或更多個(gè)訂戶。服務(wù)支持供So3D圖形引擎和HUD 84使用的本地API。以下小節(jié)描述了實(shí)時(shí)內(nèi)核260及其組件的實(shí)施例的安裝、設(shè)計(jì)以及操作。1.安裝a.概覽在一些實(shí)施例中,基于虛擬區(qū)域的呈現(xiàn)平臺(tái)經(jīng)由因特網(wǎng)作為軟件包被下載為安裝包。其被HTTP下載從下載服務(wù)器傳遞。在操作Microsoft Windows 操作系統(tǒng)的客戶端網(wǎng)絡(luò)節(jié)點(diǎn)上,平臺(tái)軟件包是.msi包。初始安裝是在更新變?yōu)榭捎脮r(shí)在下載服務(wù)器上被修改的單個(gè)包。當(dāng)新的客戶端網(wǎng)絡(luò)節(jié)點(diǎn)執(zhí)行當(dāng)前安裝時(shí),不需要其他更新直至創(chuàng)建作為后續(xù)更新的此種時(shí)間。實(shí)時(shí)內(nèi)核260利用插件來(lái)定制應(yīng)用。必要的插件包括在安裝包內(nèi)。組件可不時(shí)地被獨(dú)立更新(例如,實(shí)時(shí)內(nèi)核服務(wù)可以是修正發(fā)布的且可以增加插件)。在這種情況下,可為修正發(fā)布創(chuàng)建分離的Windows .msi安裝包并向更新服務(wù)器登記。安裝的平臺(tái)軟件將被通知該更新,并將為通信者提供升級(jí)選項(xiàng)。一些通信者可延遲升級(jí)直至一個(gè)以上更新可用。當(dāng)通信者最終同意升級(jí)時(shí),所有可用的更新將被加載并被順序應(yīng)用。插件的多個(gè)版本可在同一時(shí)間在客戶端網(wǎng)絡(luò)節(jié)點(diǎn)上呈現(xiàn)。這是因?yàn)榭蛻舳司W(wǎng)絡(luò)節(jié)點(diǎn)通常商定特征,并選擇適合API和版本要求的插件。每個(gè)插件廣告其API和變量。這些插件將具有不同的文件名以避免文件系統(tǒng)中的名稱沖突。具有相同API和不同變量的兩個(gè)插件是不同的實(shí)現(xiàn),且由請(qǐng)求該插件的服務(wù)作出選擇(或許例如通過(guò)與服務(wù)器商定)。當(dāng)加載與現(xiàn)有插件具有相同API和變量的插件時(shí),這是隱錯(cuò)修正。新的插件替代舊的插件。 服務(wù)始終由升級(jí)替代。從來(lái)沒(méi)有具有相同API的兩個(gè)服務(wù)。Windows 安裝使用清單和捆綁的Windows 相關(guān)的DLL以保證無(wú)論Windows⑧環(huán)境的更新?tīng)顟B(tài)如何皆起效的產(chǎn)品。 Windows 并排(side-by-side)特征被用于避免與其他產(chǎn)品安裝要求相沖突。b.更新服務(wù)器更新服務(wù)器包含針對(duì)每個(gè)支持的主存操作環(huán)境的安裝包,以及針對(duì)之前支持的每個(gè)安裝包的升級(jí)包。客戶端網(wǎng)絡(luò)節(jié)點(diǎn)和更新服務(wù)器在可靠的STRAW信道上通信。更新服務(wù)器公布針對(duì)每個(gè)支持的主存操作環(huán)境的可用升級(jí)定義。安裝在客戶端網(wǎng)絡(luò)節(jié)點(diǎn)上的基于虛擬區(qū)域的呈現(xiàn)平臺(tái)軟件隨后可訂閱升級(jí)。更新服務(wù)器開(kāi)始發(fā)送合需的軟件塊。在一些實(shí)施例中,客戶端版本和升級(jí)工具被安裝在每個(gè)客戶端網(wǎng)絡(luò)節(jié)點(diǎn)上以允許用戶察看當(dāng)前客戶端軟件版本、列出可用的升級(jí)以及啟動(dòng)并監(jiān)視升級(jí)過(guò)程??蛻舳司W(wǎng)絡(luò)節(jié)
40點(diǎn)將保留已被應(yīng)用的升級(jí)包的GUID的表。該表將向更新服務(wù)器呈現(xiàn)該列表,且作為回報(bào), 得到以應(yīng)用順序排列的按照GUID的待決升級(jí)的列表。它們將具有所附的描述、大小和日期屬性。升級(jí)僅在下載完成且自動(dòng)安裝報(bào)告成功時(shí)被標(biāo)記為“已應(yīng)用”。自動(dòng)安裝過(guò)程包括停止任何運(yùn)行的SORK服務(wù)以便DLL可被重寫(xiě)。通過(guò)一系列SODA記錄完成下載一升級(jí),因此該過(guò)程可被打斷并恢復(fù)而無(wú)需重復(fù)任何數(shù)據(jù)傳遞。記錄包括升級(jí)GUID和偏移。因?yàn)閷?duì)回退或重新安裝不存在要求,因此無(wú)需任何Microsoft Windows “并排”庫(kù)清單。任何要求的庫(kù)均可作為升級(jí)的一部分被加載。升級(jí)工具將產(chǎn)生注冊(cè)表項(xiàng)或保留一文件,該文件包含被應(yīng)用的升級(jí)的GUID、任何當(dāng)前加載升級(jí)的GUID、其偏移以及對(duì)磁盤(pán)上包含“迄今為止”的數(shù)據(jù)的文件的引用。一旦被應(yīng)用,升級(jí)包就被刪除。如果期望為多個(gè)客戶端網(wǎng)絡(luò)節(jié)點(diǎn)緩存升級(jí)包,則在將進(jìn)行該緩存的同一客戶端代理處指向它們的每一個(gè)。c.更新本地?cái)?shù)據(jù)庫(kù)客戶端網(wǎng)絡(luò)節(jié)點(diǎn)在本地文件系統(tǒng)中的資產(chǎn)目錄中存儲(chǔ)基于虛擬區(qū)域的呈現(xiàn)平臺(tái)服務(wù)和插件。這些服務(wù)和插件是通過(guò)API和所附資源自描述的。不保留關(guān)于客戶端網(wǎng)絡(luò)節(jié)點(diǎn)軟件狀態(tài)的其他信息。當(dāng)客戶端網(wǎng)絡(luò)節(jié)點(diǎn)重新安裝基于虛擬區(qū)域的呈現(xiàn)平臺(tái)軟件時(shí),或許在OS(操作系統(tǒng))升級(jí)后,現(xiàn)有插件通常被重新驗(yàn)證。新的安裝包括所有基礎(chǔ)服務(wù)和插件,但或許在機(jī)器上存在可選插件或應(yīng)用專用插件,此可選插件或應(yīng)用專用插件通常被刪除或被重驗(yàn)證。在一些實(shí)施例中,有效插件的二進(jìn)制內(nèi)容被散列并被單向加密,且結(jié)果值被存儲(chǔ)為用于檢查該插件是否可信的所附資源。為了驗(yàn)證可疑插件,當(dāng)前插件內(nèi)容被重新散列和加密,且將結(jié)果值與現(xiàn)有資源比較。如果該內(nèi)容與資源不匹配,則該插件是無(wú)效的。d.客戶端認(rèn)證網(wǎng)絡(luò)認(rèn)證通常在每次實(shí)時(shí)內(nèi)核260 —啟動(dòng)時(shí)就進(jìn)行。在一些實(shí)施例中,運(yùn)行帳戶網(wǎng)絡(luò)基礎(chǔ)結(jié)構(gòu)服務(wù)的帳戶服務(wù)器被用于認(rèn)證通信者并為該通信者建立真實(shí)用戶標(biāo)識(shí)符 (RUID)。帳戶服務(wù)器創(chuàng)建令牌(隨后被包括為RUID的一部分)并將該令牌給予客戶端網(wǎng)絡(luò)節(jié)點(diǎn)以向其他服務(wù)器認(rèn)證自己。在此過(guò)程中,客戶端網(wǎng)絡(luò)節(jié)點(diǎn)在安裝時(shí)被安全地發(fā)出一憑證。該憑證通常是由證書(shū)權(quán)威機(jī)構(gòu)簽發(fā)的CA定義的憑證。該證書(shū)包含私鑰和公鑰。基于虛擬區(qū)域的呈現(xiàn)平臺(tái)安裝包創(chuàng)建僅包含公鑰的新憑證。私鑰被安全存儲(chǔ)在客戶端網(wǎng)絡(luò)節(jié)點(diǎn)上?;谔摂M區(qū)域的呈現(xiàn)平臺(tái)安裝包使用私鑰創(chuàng)建簽名以加密通信者提供的口令的摘要, 并將簽名安全傳送給帳戶服務(wù)器。帳戶服務(wù)器恢復(fù)摘要并將其存儲(chǔ)為客戶端標(biāo)識(shí)秘密。當(dāng)建立連接時(shí),實(shí)時(shí)內(nèi)核260與帳戶服務(wù)器共享憑證。帳戶服務(wù)器用其憑證(例如,服務(wù)器側(cè)的證書(shū))作出響應(yīng)。客戶端網(wǎng)絡(luò)節(jié)點(diǎn)和帳戶服務(wù)器使用注冊(cè)權(quán)威機(jī)構(gòu)驗(yàn)證該憑證。一旦得到驗(yàn)證,服務(wù)器側(cè)的憑證對(duì)任何地點(diǎn)的任何服務(wù)器都是有效的。在一些實(shí)施例中,帳戶服務(wù)器還向客戶端網(wǎng)絡(luò)節(jié)點(diǎn)提供隨機(jī)的1 位的質(zhì)詢短語(yǔ)??蛻舳司W(wǎng)絡(luò)節(jié)點(diǎn)用通信者提供的口令的加密摘要散列該質(zhì)詢短語(yǔ)并將其返回作為響應(yīng)。帳戶服務(wù)器還用先前獲得的該通信者的摘要散列質(zhì)詢短語(yǔ)并驗(yàn)證來(lái)自客戶端網(wǎng)絡(luò)節(jié)點(diǎn)的響應(yīng)是匹配的。網(wǎng)絡(luò)連接現(xiàn)在被認(rèn)證且通信者被標(biāo)識(shí)為私鑰的擁有者。在一些實(shí)施例中,帳戶服務(wù)器向通信者指派具有所附簽名的隨機(jī)客戶端ID。該簽名是使用該帳戶服務(wù)器私鑰加密的客戶端ID的1 位散列。該簽名僅可由該帳戶服務(wù)器創(chuàng)建。接收令牌的任何人可通過(guò)使用由帳戶服務(wù)器公布的公鑰解密摘要并將該摘要與客戶端ID比較來(lái)驗(yàn)證通信者。e.帳戶服務(wù)器認(rèn)證圖16示出了通過(guò)帳戶服務(wù)器的憑證來(lái)認(rèn)證帳戶服務(wù)器四6的方法的實(shí)施例。根據(jù)該方法,客戶端網(wǎng)絡(luò)節(jié)點(diǎn)294和帳戶服務(wù)器296交換憑證(圖16,框四8、300)??蛻舳司W(wǎng)絡(luò)節(jié)點(diǎn)四4向帳戶服務(wù)器296發(fā)出服務(wù)器ID和服務(wù)器令牌用于后來(lái)向客戶端網(wǎng)絡(luò)節(jié)點(diǎn) 294快速驗(yàn)證帳戶服務(wù)器四6 (圖16,框30 。帳戶服務(wù)器296隨后向客戶端網(wǎng)絡(luò)節(jié)點(diǎn)294 發(fā)出客戶端ID和所附的標(biāo)識(shí)令牌(圖16,框304)。使用參與者的公鑰來(lái)加密在至帳戶服務(wù)器的流上的認(rèn)證短語(yǔ)。2.初始化序列圖17示出由實(shí)時(shí)內(nèi)核沈0的加載器組件在每次啟動(dòng)客戶端網(wǎng)絡(luò)節(jié)點(diǎn)上的操作系統(tǒng)時(shí)實(shí)現(xiàn)的方法的實(shí)施例。在此過(guò)程中,加載器解析包括一個(gè)或更多個(gè)內(nèi)核服務(wù)組件的靜態(tài)內(nèi)核組件列表(圖17,框320)。加載器確定所解析列表中的在本地儲(chǔ)存庫(kù)(例如,本地文件系統(tǒng)中的目錄)中缺少的所有內(nèi)核組件(圖17,框322)。加載器檢索被確定為缺少的每個(gè)內(nèi)核組件(圖17,框324)。在一些實(shí)施例中,加載器在客戶端網(wǎng)絡(luò)節(jié)點(diǎn)上實(shí)例化從遠(yuǎn)程網(wǎng)絡(luò)節(jié)點(diǎn)(例如,下載服務(wù)器或更新服務(wù)器)檢索缺少的內(nèi)核組件的更新服務(wù)。在已經(jīng)檢索到缺少的內(nèi)核組件后,加載器從相應(yīng)一些內(nèi)核服務(wù)組件實(shí)例化內(nèi)核服務(wù)(圖17,框 326)。被實(shí)例化的內(nèi)核服務(wù)被執(zhí)行以在關(guān)于虛擬區(qū)域定義的通信環(huán)境中與一個(gè)或更多個(gè)遠(yuǎn)程網(wǎng)絡(luò)節(jié)點(diǎn)通信(圖17,框328)。例如,在一些實(shí)施例中,HUD84調(diào)用內(nèi)核服務(wù)以與區(qū)域服務(wù)器通信以便建立如本文詳細(xì)描述的HUD會(huì)話或區(qū)域會(huì)話。在一些實(shí)施例中,實(shí)時(shí)內(nèi)核沈0的以下服務(wù)在引導(dǎo)時(shí)間被加載為Windows 服務(wù) DLL · STRAW 服務(wù) 268· SODA 服務(wù) 270 媒體服務(wù)271·音頻流服務(wù)272·連接和服務(wù)器混合管理器洸2·區(qū)域/地帶管理器洸4·資產(chǎn)緩存服務(wù)275·實(shí)時(shí)調(diào)度器服務(wù)278· HUD 84·默認(rèn)插件在這些實(shí)施例中,服務(wù)通過(guò)名稱而非通過(guò)⑶ID被加載。一次在客戶端網(wǎng)絡(luò)節(jié)點(diǎn)上僅呈現(xiàn)每個(gè)服務(wù)的一個(gè)副本。加載后,SODA信道服務(wù)270、媒體服務(wù)271、音頻流服務(wù)272、區(qū)域/地帶管理器、以及實(shí)時(shí)調(diào)度器服務(wù)等待空閑。連接和服務(wù)器混合管理器使音頻不被配置并等待至區(qū)域服務(wù)器的連接的定義。默認(rèn)插件通過(guò)⑶ID登記為API類對(duì)象。當(dāng)由⑶ID 在定義中引用時(shí)默認(rèn)插件被加載。HUD 84聯(lián)絡(luò)帳戶服務(wù)器、認(rèn)證并標(biāo)識(shí)通信者。HUD 84 創(chuàng)建去往集合網(wǎng)絡(luò)基礎(chǔ)結(jié)構(gòu)服務(wù)和交互網(wǎng)絡(luò)基礎(chǔ)結(jié)構(gòu)服務(wù)的流并填充其最近使用的(MRU) 朋友和區(qū)域列表及其頻繁朋友和區(qū)域列表。資產(chǎn)緩存服務(wù)275通常根據(jù)啟發(fā)來(lái)聯(lián)絡(luò)樣式數(shù)
42據(jù)庫(kù)服務(wù)器并開(kāi)始緩存數(shù)字資源以及更新其GUID映射。3.會(huì)話實(shí)時(shí)內(nèi)核260管理客戶端網(wǎng)絡(luò)節(jié)點(diǎn)和其他網(wǎng)絡(luò)節(jié)點(diǎn)之間的會(huì)話。在會(huì)話期間,數(shù)據(jù)在服務(wù)器和客戶端網(wǎng)絡(luò)節(jié)點(diǎn)之間作為STRAW套接字上的SODA定義記錄被共享。數(shù)據(jù)在公布/訂閱模型中共享。實(shí)時(shí)內(nèi)核260僅訂閱客戶端網(wǎng)絡(luò)節(jié)點(diǎn)所需的數(shù)據(jù)。為了訂閱,實(shí)時(shí)內(nèi)核260創(chuàng)建與合需服務(wù)器的STRAW信道。STRAW信道通過(guò)公知的針對(duì)特定虛擬區(qū)域的 ⑶ID商定。在一些實(shí)施例中,STRAW套接字使用通過(guò)所配置的DNS提供的地址來(lái)連接。區(qū)域服務(wù)將發(fā)送公布消息,該消息指示通信者可用的數(shù)據(jù)流并用⑶ID句柄標(biāo)簽化每個(gè)數(shù)據(jù)流。實(shí)時(shí)內(nèi)核260隨后發(fā)送針對(duì)合需數(shù)據(jù)流的訂閱消息。任何針對(duì)訂閱信道的區(qū)域服務(wù)數(shù)據(jù)的變化作為SODA定義記錄被發(fā)送給已經(jīng)訂閱那些信道的所有客戶端網(wǎng)絡(luò)節(jié)點(diǎn)ο存在兩種主要類型的會(huì)話(a) HUD會(huì)話,其涉及在HUD 84中顯示當(dāng)前關(guān)系和存在性信息;以及(b)區(qū)域會(huì)話,其涉及潛伏或進(jìn)入虛擬區(qū)域?qū)嵗?。a. HUD 會(huì)話在HUD會(huì)話中,HUD 84聯(lián)絡(luò)帳戶服務(wù)器、RUID服務(wù)器、以及集合服務(wù)器,并通過(guò) STRAW信道訂閱通信者自身的帳戶和關(guān)系信息。HUD 84隨后訂閱針對(duì)密切相關(guān)的聯(lián)系人和虛擬區(qū)域的存在性信息。在該點(diǎn),HUD 84可顯示針對(duì)密切相關(guān)的聯(lián)系人的動(dòng)態(tài)存在性信息。b.區(qū)域會(huì)話在區(qū)域會(huì)話中,HUD 84訂閱關(guān)于相關(guān)虛擬區(qū)域的信息。在一些實(shí)施例中,咨詢目錄服務(wù)器以確定主存由HUD指定的虛擬區(qū)域的當(dāng)前區(qū)域服務(wù)器。創(chuàng)建去往當(dāng)前區(qū)域服務(wù)器的STRAW流。HUD訂閱與虛擬區(qū)域相關(guān)聯(lián)的存在性數(shù)據(jù)并用當(dāng)前參與該虛擬區(qū)域的其他通信者的名稱更新其2D抬頭顯示器。在該點(diǎn),通信者“潛伏”在虛擬區(qū)域中。通信者的存在可被顯示在彈出列表中,且圖標(biāo)被顯示在HUD區(qū)域表示中(例如,在圖5A-5C示出的辦公場(chǎng)所中)。如果通信者指導(dǎo)HUD 84進(jìn)入虛擬區(qū)域,隨后實(shí)時(shí)內(nèi)核向集合服務(wù)通知通信者請(qǐng)求進(jìn)入虛擬區(qū)域。訂閱與虛擬區(qū)域相關(guān)聯(lián)的存在性信息的其他通信者被通知已進(jìn)入該虛擬區(qū)域的新通信者。實(shí)時(shí)內(nèi)核沈0引導(dǎo)So3D引擎啟動(dòng)交互環(huán)境。So3D引擎訂閱區(qū)域服務(wù)器環(huán)境數(shù)據(jù) (例如,呈現(xiàn)和運(yùn)動(dòng)數(shù)據(jù))。區(qū)域服務(wù)器開(kāi)始向?qū)崟r(shí)內(nèi)核260流送所請(qǐng)求的區(qū)域服務(wù)器環(huán)境數(shù)據(jù)。實(shí)時(shí)內(nèi)核將所請(qǐng)求數(shù)據(jù)傳遞給So3D引擎,該引擎根據(jù)當(dāng)前可視化模式(例如,2D俯視圖、低分辨率視圖、或全沉浸性3D視圖)呈現(xiàn)數(shù)據(jù)。區(qū)域服務(wù)器定義與虛擬區(qū)域中的對(duì)象相關(guān)聯(lián)的客戶端網(wǎng)絡(luò)節(jié)點(diǎn)之間的原始話筒音頻媒體流。區(qū)域服務(wù)器還根據(jù)虛擬區(qū)域描述中的音頻處置指令(例如,空間效果定義和地帶定義)創(chuàng)建音頻混合元件的定義。連接和服務(wù)器混合管理器262偵聽(tīng)音頻定義并創(chuàng)建針對(duì)每個(gè)定義的媒體流,其中該定義包括針對(duì)每個(gè)P2P音頻流的GUID句柄。向本地傳輸總線276登記每個(gè)媒體流并用音頻流服務(wù)272創(chuàng)建適當(dāng)?shù)囊纛l混合組件。區(qū)域/地帶管理器 264還訂閱針對(duì)音頻和針對(duì)化身運(yùn)動(dòng)和定向數(shù)據(jù)的SODA定義。當(dāng)通信者的化身在該虛擬區(qū)域中導(dǎo)航時(shí),區(qū)域/地帶264控制每個(gè)音頻流的增益/靜音。在一些實(shí)施例中,區(qū)域/地帶管理器沈4另外訂閱關(guān)系數(shù)據(jù),區(qū)域/地帶管理器
43264使用該關(guān)系數(shù)據(jù)經(jīng)由社交處理器277來(lái)控制化身在虛擬區(qū)域中的定向/移動(dòng)/姿勢(shì)(參見(jiàn)圖15)。在此過(guò)程中,區(qū)域/地帶管理器264基于化身在虛擬區(qū)域中的位置和關(guān)系數(shù)據(jù)庫(kù)設(shè)定社交處理器277的參數(shù)值。這樣,當(dāng)通信者講話時(shí),可通過(guò)改變化身頭部的位置和定向來(lái)指示關(guān)系(例如,當(dāng)化身進(jìn)入虛擬區(qū)域的地帶時(shí)將其轉(zhuǎn)向成面對(duì)另一化身,或者當(dāng)進(jìn)入虛擬區(qū)域的媒體地帶時(shí)將化身定向?yàn)楂@得觀看屏上的最佳視圖)。在一些實(shí)施例中,社交處理器277被第三方開(kāi)發(fā)者定義并經(jīng)由插件被傳遞給客戶端網(wǎng)絡(luò)節(jié)點(diǎn)。每個(gè)社交處理器277 是在特定事件發(fā)生(例如,由靠近其他化身、或區(qū)域中的位置、或二者觸發(fā)的自動(dòng)運(yùn)動(dòng))時(shí)被自動(dòng)執(zhí)行的指令集。社交處理器277可為控制化身或?qū)ο笤谔摂M區(qū)域中的運(yùn)動(dòng)的任何任意程序性例程。例如,在一些實(shí)施例中,如果化身靠近觀看屏,一種類型的社交處理器自動(dòng)迅速將化身移到虛擬區(qū)域描述中定義的網(wǎng)絡(luò)并將該化身在觀看屏的前面居中以便用戶可容易地看到觀看屏的內(nèi)容。這樣,對(duì)于移動(dòng)化身的復(fù)雜操縱的需要便消除了。另一種類型的社交處理器277自動(dòng)旋轉(zhuǎn)和轉(zhuǎn)動(dòng)化身以確認(rèn)另一用戶的存在性。例如,此類型的社交處理器的實(shí)施例被配置為自動(dòng)將虛擬區(qū)域中的化身從彼此面對(duì)重定向?yàn)槠渲谢眄憫?yīng)于新的通信者進(jìn)入虛擬區(qū)域而面對(duì)新的通信者的相應(yīng)取向。在這種情形中,與原來(lái)在虛擬區(qū)域中的化身相關(guān)聯(lián)的通信者不必手動(dòng)操縱其化身;相反,社交處理器自動(dòng)旋轉(zhuǎn)其頭部以確認(rèn)存在新的通信者。4.管理會(huì)話圖18示出了由STRAW服務(wù)沈8實(shí)現(xiàn)的會(huì)話管理方法的實(shí)施例。根據(jù)圖18的方法,在本地網(wǎng)絡(luò)節(jié)點(diǎn),STRAW服務(wù)268根據(jù)無(wú)連接傳輸協(xié)議(例如 UDP)在傳輸流上建立與遠(yuǎn)程網(wǎng)絡(luò)節(jié)點(diǎn)的第一會(huì)話(例如,圖18,框36 。STRAW服務(wù)沈8 創(chuàng)建該會(huì)話的定義,其中該定義包括網(wǎng)際協(xié)議(IP)地址、端口地址、以及傳輸協(xié)議的全局唯一標(biāo)識(shí)符。STRAW服務(wù)沈8向遠(yuǎn)程網(wǎng)絡(luò)節(jié)點(diǎn)發(fā)送該定義。STRAW服務(wù)268確定指派給遠(yuǎn)程網(wǎng)絡(luò)節(jié)點(diǎn)的第一站定義,并將第一站定義存儲(chǔ)在表中作為每個(gè)打開(kāi)信道的屬性。在此過(guò)程中,STRAW服務(wù)268解析從遠(yuǎn)程網(wǎng)絡(luò)節(jié)點(diǎn)接收的站定義記錄。站定義記錄包括一組字段, 其中每個(gè)字段被相應(yīng)字段類型以及相關(guān)聯(lián)的字段值所定義,且每個(gè)字段類型被相應(yīng)的全局唯一標(biāo)識(shí)符(GUID)標(biāo)識(shí)。代表本地網(wǎng)絡(luò)節(jié)點(diǎn)上的一個(gè)或更多個(gè)軟件實(shí)體,STRAW服務(wù)沈8自動(dòng)打開(kāi)在第一會(huì)話中在本地網(wǎng)絡(luò)節(jié)點(diǎn)和遠(yuǎn)程網(wǎng)絡(luò)節(jié)點(diǎn)之間傳送數(shù)據(jù)的一個(gè)或更多個(gè)信道(圖18,.框 364)。在此過(guò)程中,STRAW服務(wù)沈8向遠(yuǎn)程網(wǎng)絡(luò)節(jié)點(diǎn)發(fā)送定義本地公布信道的記錄和具有與遠(yuǎn)程公布信道之一的標(biāo)識(shí)符匹配的標(biāo)識(shí)符的每一個(gè)本地訂閱信道的記錄。在第一會(huì)話中,STRAW服務(wù)268維護(hù)標(biāo)識(shí)打開(kāi)的一些信道的表并將相應(yīng)的屬性值與所標(biāo)識(shí)的信道相關(guān)聯(lián)(圖18,框366)。STRAW服務(wù)268記錄從本地網(wǎng)絡(luò)節(jié)點(diǎn)可用的本地公布信道、一個(gè)或更多個(gè)軟件實(shí)體請(qǐng)求的本地訂閱信道、從遠(yuǎn)程網(wǎng)絡(luò)節(jié)點(diǎn)可用的遠(yuǎn)程公布信道、以及遠(yuǎn)程網(wǎng)絡(luò)節(jié)點(diǎn)請(qǐng)求的遠(yuǎn)程訂閱信道的屬性。在此過(guò)程中,STRAW服務(wù)268為每個(gè)本地公布信道維護(hù)一記錄,該記錄包括指示在本地公布信道上公布數(shù)據(jù)的能力的軟件實(shí)體之一的標(biāo)識(shí)符、訂閱本地公布信道的遠(yuǎn)程網(wǎng)絡(luò)節(jié)點(diǎn)的標(biāo)識(shí)符、以及本地公布信道的標(biāo)識(shí)符。 STRAW服務(wù)268為每個(gè)本地訂閱信道維護(hù)一記錄,該記錄包括訂閱本地訂閱信道的軟件實(shí)體之一的標(biāo)識(shí)符、指示在本地訂閱信道上公布數(shù)據(jù)的能力的遠(yuǎn)程網(wǎng)絡(luò)節(jié)點(diǎn)的標(biāo)識(shí)符、本地訂閱信道的標(biāo)識(shí)符、以及一個(gè)或更多個(gè)與本地訂閱信道相關(guān)聯(lián)的網(wǎng)絡(luò)傳輸參數(shù)。STRAW服務(wù)268為每個(gè)遠(yuǎn)程公布信道維護(hù)一記錄,該記錄包括指示在遠(yuǎn)程公布信道上公布數(shù)據(jù)的能力的遠(yuǎn)程網(wǎng)絡(luò)節(jié)點(diǎn)的標(biāo)識(shí)符、以及遠(yuǎn)程公布信道的標(biāo)識(shí)符。STRAW服務(wù)268在會(huì)話中在一個(gè)或更多個(gè)打開(kāi)的信道上在本地網(wǎng)絡(luò)節(jié)點(diǎn)和遠(yuǎn)程網(wǎng)絡(luò)節(jié)點(diǎn)之間傳送數(shù)據(jù)。在一些實(shí)施例中,以每一記錄包括一組字段的形式傳送數(shù)據(jù)。記錄的每個(gè)字段由相應(yīng)的字段類型以及相關(guān)聯(lián)的字段值所定義,且每個(gè)字段類型被相應(yīng)的GUID 標(biāo)識(shí)。一些記錄是包含媒體數(shù)據(jù)的媒體記錄,該媒體數(shù)據(jù)包括可呈現(xiàn)數(shù)據(jù)的分組。其他記錄是包含配置數(shù)據(jù)的配置記錄,該配置數(shù)據(jù)包括配置設(shè)置的定義。媒體記錄和配置記錄通常被封裝在傳輸流上的傳輸記錄中。媒體記錄通常使用第一數(shù)據(jù)壓縮服務(wù)來(lái)壓縮,而配置記錄通常使用第二數(shù)據(jù)壓縮服務(wù)來(lái)壓縮。在傳輸時(shí),STRAW服務(wù)268將傳輸記錄與傳送傳輸記錄的相應(yīng)一些信道的標(biāo)識(shí)符相關(guān)聯(lián),加密該傳輸記錄,以及按順序排列加密的傳輸記錄。 在接收時(shí),STRAW服務(wù)268解密傳輸記錄并將包含在解密的傳輸記錄中的媒體記錄和配置記錄分派給訂閱的一些軟件實(shí)體。響應(yīng)于確定第一會(huì)話失敗,STRAW服務(wù)268根據(jù)無(wú)連接傳輸協(xié)議自動(dòng)嘗試在第二傳輸流上建立與遠(yuǎn)程網(wǎng)絡(luò)節(jié)點(diǎn)的第二會(huì)話(圖18,框368)。在一些實(shí)施例中,STRAW服務(wù) 268響應(yīng)于確定指派給遠(yuǎn)程網(wǎng)絡(luò)節(jié)點(diǎn)的當(dāng)前站定義不同于建立第一會(huì)話時(shí)指派給遠(yuǎn)程網(wǎng)絡(luò)節(jié)點(diǎn)的第一站定義而確定第一會(huì)話失敗。響應(yīng)于成功建立第二會(huì)話,STRAW服務(wù)沈8自動(dòng)打開(kāi)該表中標(biāo)識(shí)的每個(gè)信道(圖 18,框 370)。5.處理數(shù)據(jù)流實(shí)時(shí)內(nèi)核260支持用于處理由客戶端網(wǎng)絡(luò)節(jié)點(diǎn)從其他網(wǎng)絡(luò)節(jié)點(diǎn)接收的數(shù)據(jù)流的流處理機(jī)的遠(yuǎn)程配置。響應(yīng)于從區(qū)域服務(wù)沈接收的指令,實(shí)時(shí)內(nèi)核260的各種服務(wù)和其他組件協(xié)同將處理元件的有向圖構(gòu)造和配置成用于處理數(shù)據(jù)流的流處理機(jī)。區(qū)域服務(wù)指令根據(jù)由區(qū)域服務(wù)沈管理的虛擬區(qū)域所主存的虛擬區(qū)域應(yīng)用來(lái)配置流處理機(jī)。圖19示出由實(shí)時(shí)內(nèi)核沈0的組件響應(yīng)于從區(qū)域服務(wù)沈接收的遠(yuǎn)程流處置指令實(shí)現(xiàn)的方法的實(shí)施例。根據(jù)圖19的方法,實(shí)時(shí)內(nèi)核260從一個(gè)或更多個(gè)流處置指令解析實(shí)時(shí)流處理機(jī)的描述(圖19,框330)。在此過(guò)程中,STRAW服務(wù)268從區(qū)域服務(wù)沈接收用于配置流處理機(jī)的SODA定義。STRAW服務(wù)268將SODA定義分派至連接和服務(wù)器混合管理器沈2以及區(qū)域 /地帶管理器沈4。連接和服務(wù)器混合管理器262從一個(gè)或更多個(gè)流處置指令解析輸入源標(biāo)識(shí)符、輸出阱標(biāo)識(shí)符、以及一個(gè)或更多個(gè)數(shù)據(jù)處理對(duì)象的每一者的相應(yīng)標(biāo)識(shí)符。連接和服務(wù)器混合管理器262實(shí)例化對(duì)應(yīng)于這些標(biāo)識(shí)符中相應(yīng)一些標(biāo)識(shí)符的實(shí)時(shí)流處置對(duì)象(圖19,框33 。連接和服務(wù)器混合管理器沈2向傳輸總線276登記實(shí)例化的對(duì)象。傳輸總線276根據(jù)描述創(chuàng)建包括一些被實(shí)例化的實(shí)時(shí)流處置對(duì)象的有向圖(圖 19,框334)。區(qū)域/地帶管理器264將音頻計(jì)算SODA定義傳遞至有向圖內(nèi)指定的音頻計(jì)算對(duì)象。STRAW服務(wù)268從對(duì)應(yīng)于輸入源標(biāo)識(shí)符的輸入源接收實(shí)時(shí)數(shù)據(jù)流(圖19,框336)。 STRAW服務(wù)268將該實(shí)時(shí)數(shù)據(jù)流傳遞至媒體服務(wù)271,該媒體服務(wù)處理該流并將其傳遞至傳輸總線276。傳輸總線276順序執(zhí)行流處理機(jī)的處理圖元以執(zhí)行對(duì)實(shí)時(shí)數(shù)據(jù)流的指定處理。
45
流處理機(jī)在對(duì)應(yīng)于輸出阱標(biāo)識(shí)符的輸出阱產(chǎn)生所得數(shù)據(jù)流(圖19,框338)。所得數(shù)據(jù)流隨后被傳遞給客戶端網(wǎng)絡(luò)節(jié)點(diǎn)的呈現(xiàn)組件。
6.實(shí)時(shí)內(nèi)核的服務(wù)和其他組件實(shí)時(shí)內(nèi)核洲0的組件包括服務(wù)、插件、以及庫(kù)。 a.壓縮器庫(kù)
權(quán)利要求
1.一種用于遠(yuǎn)程控制的實(shí)時(shí)數(shù)據(jù)流處置的計(jì)算機(jī)實(shí)現(xiàn)的方法,包括在本地網(wǎng)絡(luò)節(jié)點(diǎn)(1 從遠(yuǎn)程網(wǎng)絡(luò)節(jié)點(diǎn)(16)接收一個(gè)或更多個(gè)流處置指令,其中所述一個(gè)或更多個(gè)流處置指令包括對(duì)用于處理至少一個(gè)實(shí)時(shí)數(shù)據(jù)流的流處理機(jī)0 的描述;在所述本地網(wǎng)絡(luò)節(jié)點(diǎn)(16)根據(jù)所述描述創(chuàng)建流處理機(jī)0 ;以及在所述本地網(wǎng)絡(luò)節(jié)點(diǎn)(16)產(chǎn)生所得數(shù)據(jù)流,其中所述產(chǎn)生包括通過(guò)所創(chuàng)建的流處理機(jī)02)處理實(shí)時(shí)數(shù)據(jù)流。
2.如權(quán)利要求1所述的方法,其特征在于,所述產(chǎn)生包括從在所述一個(gè)或更多個(gè)流處置指令中指定的實(shí)時(shí)狀態(tài)信息確定配置參數(shù)值,以及用所述配置參數(shù)值動(dòng)態(tài)配置所述流處理機(jī)02)。
3.如權(quán)利要求1所述的方法,其特征在于,所述創(chuàng)建包括建立具有在所述一個(gè)或更多個(gè)流處置指令中指定的混合功能的所述流處理機(jī)(22),且所述產(chǎn)生包括根據(jù)所述混合功能將所述實(shí)時(shí)數(shù)據(jù)流與至少一個(gè)其他實(shí)時(shí)數(shù)據(jù)流混合以產(chǎn)生經(jīng)混合的實(shí)時(shí)數(shù)據(jù)流。
4.如權(quán)利要求1所述的方法,其特征在于所述創(chuàng)建包括實(shí)例化在所述一個(gè)或更多個(gè)流處置指令中指定的處理對(duì)象并根據(jù)所述描述將被實(shí)例化的處理對(duì)象組裝成所述流流處理機(jī)0 的有向圖組件;以及所述處理包括通過(guò)所述有向圖處理所述實(shí)時(shí)數(shù)據(jù)流。
5.如權(quán)利要求4所述的方法,其特征在于,所述產(chǎn)生包括從在所述一個(gè)或更多個(gè)流處置指令中指定的實(shí)時(shí)狀態(tài)信息確定針對(duì)被實(shí)例化的處理對(duì)象的配置參數(shù)值,以及用所述配置參數(shù)值配置所述處理對(duì)象。
6.如權(quán)利要求4所述的方法,其特征在于,所述實(shí)例化包括實(shí)例化在所述一個(gè)或更多個(gè)流處置指令中指定的混合對(duì)象,且所述產(chǎn)生包括執(zhí)行所述混合對(duì)象以從所述實(shí)時(shí)數(shù)據(jù)流和至少一個(gè)其他實(shí)時(shí)數(shù)據(jù)流的組合產(chǎn)生經(jīng)混合的實(shí)時(shí)數(shù)據(jù)流。
7.如權(quán)利要求4所述的方法,其特征在于,至少一個(gè)被實(shí)例化的處理對(duì)象將相應(yīng)的調(diào)用封裝到驅(qū)動(dòng)程序模塊中,所述驅(qū)動(dòng)程序模塊至少部分地基于所述所得數(shù)據(jù)流控制所述本地網(wǎng)絡(luò)節(jié)點(diǎn)(16)的硬件組件。
8.如權(quán)利要求4所述的方法,其特征在于,所述一個(gè)或更多個(gè)流處置指令用相應(yīng)的唯一標(biāo)識(shí)符指定所述處理對(duì)象且所述實(shí)例化包括向處理對(duì)象應(yīng)用程序接口程序(API)發(fā)出包括相應(yīng)一些所述標(biāo)識(shí)符的調(diào)用。
9.如權(quán)利要求1所述的方法,其特征在于,所述一個(gè)或更多個(gè)流處置指令包括用于處理具有不同于所述第一實(shí)時(shí)數(shù)據(jù)流的數(shù)據(jù)類型的至少一個(gè)實(shí)時(shí)數(shù)據(jù)流的第二流處理機(jī) (22)的第二描述,所述創(chuàng)建包括根據(jù)所述第二描述創(chuàng)建第二流處理機(jī)(22),且所述產(chǎn)生包括通過(guò)所述第二流處理機(jī)0 處理實(shí)時(shí)數(shù)據(jù)流。
10.如權(quán)利要求1所述的方法,其特征在于,所述本地網(wǎng)絡(luò)節(jié)點(diǎn)(16)與虛擬區(qū)域08) 中的第一對(duì)象相關(guān)聯(lián),且所述方法進(jìn)一步包括從與所述虛擬區(qū)域08)中的第二對(duì)象相關(guān)聯(lián)的第二遠(yuǎn)程網(wǎng)絡(luò)節(jié)點(diǎn)接收實(shí)時(shí)數(shù)據(jù)流。
11.如權(quán)利要求10所述的方法,其特征在于,所述一個(gè)或更多個(gè)流處置指令包括描述所述虛擬區(qū)域08)中的所述第一和第二對(duì)象的相應(yīng)位置的實(shí)時(shí)位置信息,并且所述產(chǎn)生包括從所述實(shí)時(shí)位置信息確定配置參數(shù)值并用所述配置參數(shù)值配置所述流處理機(jī)02)。
12.如權(quán)利要求11所述的方法,其特征在于,進(jìn)一步包括從與所述虛擬區(qū)域08)中的第三對(duì)象相關(guān)聯(lián)的第三遠(yuǎn)程網(wǎng)絡(luò)節(jié)點(diǎn)接收第二實(shí)時(shí)數(shù)據(jù)流,其中所述創(chuàng)建包括建立具有在所述一個(gè)或更多個(gè)流處置指令中指定的混合功能的所述流處理機(jī)(22),且所述產(chǎn)生包括根據(jù)所述混合功能組合所述第一實(shí)時(shí)數(shù)據(jù)流和所述第二實(shí)時(shí)數(shù)據(jù)流。
13.如權(quán)利要求11所述的方法,其特征在于,所述一個(gè)或更多個(gè)流處置指令包括用于處理具有不同于所述第一實(shí)時(shí)數(shù)據(jù)流的數(shù)據(jù)類型的至少一個(gè)實(shí)時(shí)數(shù)據(jù)流的第二流處理機(jī)0 的第二描述,所述方法還包括從第三遠(yuǎn)程網(wǎng)絡(luò)節(jié)點(diǎn)接收第二實(shí)時(shí)數(shù)據(jù)流。其中所述創(chuàng)建包括根據(jù)所述第二描述創(chuàng)建第二流處理機(jī)(22),且所述產(chǎn)生包括根據(jù)一個(gè)或更多個(gè)所述配置參數(shù)值配置所述第二流處理機(jī)0 并通過(guò)所述第二流處理機(jī)02)處理所述第一實(shí)時(shí)數(shù)據(jù)流和所述第二實(shí)時(shí)數(shù)據(jù)流。
14.如權(quán)利要求10所述的方法,其特征在于所述一個(gè)或更多個(gè)流處置指令包括描述所述虛擬區(qū)域08)中的所述第一和第二對(duì)象的相應(yīng)位置的實(shí)時(shí)位置信息;所述創(chuàng)建包括建立具有在所述一個(gè)或更多個(gè)流處置指令中指定的一個(gè)或更多個(gè)對(duì)象屬性處理功能的所述流處理機(jī)02);所述產(chǎn)生包括從所述實(shí)時(shí)位置信息確定對(duì)象配置參數(shù)值,以及在產(chǎn)生所述所得數(shù)據(jù)流的同時(shí)用所述對(duì)象配置參數(shù)值動(dòng)態(tài)配置所述一個(gè)或更多個(gè)對(duì)象屬性處理功能;以及所述生成包括至少部分地基于所述所得數(shù)據(jù)流呈現(xiàn)包括所述虛擬區(qū)域08)內(nèi)的所述第一和第二對(duì)象的視覺(jué)表示的可見(jiàn)輸出。
15.如權(quán)利要求14所述的方法,其特征在于,所述一個(gè)或更多個(gè)對(duì)象屬性處理功能中的至少一個(gè)被配置為基于所述第一對(duì)象在所述虛擬區(qū)域08)中的位置在取向、位置、移動(dòng)以及姿勢(shì)中的至少一者上動(dòng)態(tài)控制所述第一對(duì)象的所述視覺(jué)表示。
16.如權(quán)利要求1所述的方法,其特征在于,所述指定的數(shù)據(jù)類型是音頻且所述生成包括生成可聽(tīng)的輸出。
17.如權(quán)利要求16所述的方法,其特征在于,所述創(chuàng)建包括建立具有在所述一個(gè)或更多個(gè)流處置指令中指定的一個(gè)或更多個(gè)音頻處理功能的所述流處理機(jī)02)。
18.如權(quán)利要求17所述的方法,其特征在于,所述網(wǎng)絡(luò)節(jié)點(diǎn)與虛擬區(qū)域08)中的第一對(duì)象相關(guān)聯(lián),所述方法進(jìn)一步包括從與所述虛擬區(qū)域08)中的第二對(duì)象相關(guān)聯(lián)的第二網(wǎng)絡(luò)節(jié)點(diǎn)接收所述實(shí)時(shí)數(shù)據(jù)流,且其中所述一個(gè)或更多個(gè)流處置指令包括描述所述虛擬區(qū)域 (28)中的所述第一和第二對(duì)象的相應(yīng)位置的實(shí)時(shí)位置信息,以及所述產(chǎn)生包括從所述實(shí)時(shí)位置信息確定音頻處理配置參數(shù)值并用所述音頻處理配置參數(shù)值配置所述流處理機(jī)02)。
19.如權(quán)利要求16所述的方法,其特征在于,所述創(chuàng)建包括建立具有在所述一個(gè)或更多個(gè)流處置指令中指定的混合功能的所述流處理機(jī)(22),且所述產(chǎn)生包括根據(jù)所述混合功能將所述實(shí)時(shí)數(shù)據(jù)流與至少一個(gè)其他實(shí)時(shí)音頻數(shù)據(jù)流相組合。
20.如權(quán)利要求1所述的方法,其特征在于,還包括在所述本地網(wǎng)絡(luò)節(jié)點(diǎn)(16)存儲(chǔ)從所述遠(yuǎn)程網(wǎng)絡(luò)節(jié)點(diǎn)接收的遠(yuǎn)程公布定義,其中所述定義描述可從一個(gè)或更多個(gè)遠(yuǎn)程網(wǎng)絡(luò)節(jié)點(diǎn)獲得的實(shí)時(shí)數(shù)據(jù)流;存儲(chǔ)由所述本地網(wǎng)絡(luò)節(jié)點(diǎn)(16)的本地實(shí)時(shí)內(nèi)核組件所請(qǐng)求的實(shí)時(shí)數(shù)據(jù)流的本地訂閱定義;以及向一個(gè)或更多個(gè)所述遠(yuǎn)程網(wǎng)絡(luò)節(jié)點(diǎn)發(fā)送對(duì)具有匹配的遠(yuǎn)程公布定義的每個(gè)所述本地訂閱定義的相應(yīng)實(shí)時(shí)數(shù)據(jù)流請(qǐng)求。
21.如權(quán)利要求20所述的方法,進(jìn)一步包括在所述本地網(wǎng)絡(luò)節(jié)點(diǎn)(16),根據(jù)所述本地訂閱定義將響應(yīng)于所述請(qǐng)求從所述一個(gè)或更多個(gè)遠(yuǎn)程網(wǎng)絡(luò)節(jié)點(diǎn)接收的實(shí)時(shí)數(shù)據(jù)流引導(dǎo)至相應(yīng)的所述本地實(shí)時(shí)內(nèi)核組件。
22.如權(quán)利要求1所述的方法,進(jìn)一步包括至少部分地基于所述所得數(shù)據(jù)流在所述本地網(wǎng)絡(luò)節(jié)點(diǎn)(16)生成人類可感知的輸出。
23.一種裝置,包括存儲(chǔ)計(jì)算機(jī)可讀指令的計(jì)算機(jī)可讀介質(zhì);以及耦合至存儲(chǔ)器的數(shù)據(jù)處理單元,用于執(zhí)行所述指令,并至少部分地基于所述指令的執(zhí)行來(lái)執(zhí)行操作,所述操作包括在本地網(wǎng)絡(luò)節(jié)點(diǎn)(16)從遠(yuǎn)程網(wǎng)絡(luò)節(jié)點(diǎn)接收一個(gè)或更多個(gè)流處置指令,其中所述一個(gè)或更多個(gè)流處置指令包括對(duì)用于處理至少一個(gè)實(shí)時(shí)數(shù)據(jù)流的流處理機(jī)0 的描述; 在所述本地網(wǎng)絡(luò)節(jié)點(diǎn)(16)根據(jù)所述描述創(chuàng)建流處理機(jī)(22),以及在所述本地網(wǎng)絡(luò)節(jié)點(diǎn)(16)產(chǎn)生所得數(shù)據(jù)流,其中所述產(chǎn)生包括通過(guò)所創(chuàng)建的流處理機(jī)02)處理實(shí)時(shí)數(shù)據(jù)流。
24.其中含有計(jì)算機(jī)可讀程序代碼的至少一種計(jì)算機(jī)可讀介質(zhì),所述計(jì)算機(jī)可讀程序代碼適于被計(jì)算機(jī)執(zhí)行以實(shí)現(xiàn)包括以下動(dòng)作的方法在本地網(wǎng)絡(luò)節(jié)點(diǎn)(16)從遠(yuǎn)程網(wǎng)絡(luò)節(jié)點(diǎn)接收一個(gè)或更多個(gè)流處置指令,其中所述一個(gè)或更多個(gè)流處置指令包括對(duì)用于處理至少一個(gè)實(shí)時(shí)數(shù)據(jù)流的流處理機(jī)0 的描述; 在所述本地網(wǎng)絡(luò)節(jié)點(diǎn)(16)根據(jù)所述描述創(chuàng)建流處理機(jī)0 ;以及在所述本地網(wǎng)絡(luò)節(jié)點(diǎn)(16)產(chǎn)生所得數(shù)據(jù)流,其中所述產(chǎn)生包括通過(guò)所創(chuàng)建的流處理機(jī)02)處理實(shí)時(shí)數(shù)據(jù)流。
25.一種用于實(shí)時(shí)數(shù)據(jù)流處置的計(jì)算機(jī)實(shí)現(xiàn)的方法,包括從一個(gè)或更多個(gè)流處置指令010)中解析對(duì)實(shí)時(shí)流處理機(jī)006)的描述,其中所述解析包括從所述一個(gè)或更多個(gè)流處置指令(210)解析輸入源標(biāo)識(shí)符、輸出阱標(biāo)識(shí)符、以及一個(gè)或更多個(gè)數(shù)據(jù)處理對(duì)象中的每一者的相應(yīng)標(biāo)識(shí)符;實(shí)例化對(duì)應(yīng)于相應(yīng)一些所述標(biāo)識(shí)符的實(shí)時(shí)流處置對(duì)象; 根據(jù)所述描述創(chuàng)建包括一些被實(shí)例化的實(shí)時(shí)流處置對(duì)象的有向圖012); 從對(duì)應(yīng)于所述輸入源標(biāo)識(shí)符的輸入源接收實(shí)時(shí)數(shù)據(jù)流;以及在對(duì)應(yīng)于所述輸出阱標(biāo)識(shí)符的輸出阱產(chǎn)生所得數(shù)據(jù)流,其中所述產(chǎn)生包括通過(guò)所述有向圖(212)處理所述實(shí)時(shí)數(shù)據(jù)流。
26.如權(quán)利要求25所述的方法,其特征在于,所述解析包括從所述一個(gè)或更多個(gè)流處置指令OlO)中提取數(shù)據(jù)處理對(duì)象的標(biāo)識(shí)符,以及所述創(chuàng)建包括從對(duì)應(yīng)于所提取的標(biāo)識(shí)符的實(shí)時(shí)流處置對(duì)象的實(shí)例化組裝所述有向圖012)。
27.如權(quán)利要求25所述的方法,其特征在于,所述解析包括從所述一個(gè)或更多個(gè)流處置指令OlO)中提取音頻處理對(duì)象的標(biāo)識(shí)符,以及所述處理包括通過(guò)對(duì)應(yīng)于相應(yīng)一些所提取的標(biāo)識(shí)符的一個(gè)或更多個(gè)被實(shí)例化的音頻處理對(duì)象來(lái)處理所述實(shí)時(shí)數(shù)據(jù)流。
28.如權(quán)利要求25所述的方法,其特征在于,所述實(shí)例化包括向?qū)ο髱?kù)查詢所述相應(yīng)標(biāo)識(shí)符,響應(yīng)于所述查詢從所述對(duì)象庫(kù)檢索對(duì)象,以及實(shí)例化所檢索的對(duì)象。
29.如權(quán)利要求觀的方法,其特征在于,所述實(shí)例化包括向處理對(duì)象應(yīng)用程序接口 (API)程序發(fā)出包括相應(yīng)一些所述標(biāo)識(shí)符的調(diào)用。
30.如權(quán)利要求25所述的方法,其特征在于,所述產(chǎn)生包括從在所述一個(gè)或更多個(gè)流處置指令O10)中指定的實(shí)時(shí)狀態(tài)信息確定配置參數(shù)值,以及用所述配置參數(shù)值動(dòng)態(tài)配置所述有向圖012)中的一個(gè)或更多個(gè)所述被實(shí)例化的實(shí)時(shí)流處置對(duì)象。
31.如權(quán)利要求25所述的方法,其特征在于所述接收包括從對(duì)應(yīng)于所述描述中的第二輸入源標(biāo)識(shí)符的第二輸入源接收第二實(shí)時(shí)數(shù)據(jù)流;以及所述產(chǎn)生包括通過(guò)所述有向圖(21 處理所述第二實(shí)時(shí)數(shù)據(jù)流。
32.如權(quán)利要求31的方法,其特征在于,所述實(shí)例化包括實(shí)例化對(duì)應(yīng)于相應(yīng)一個(gè)被解析的標(biāo)識(shí)符的實(shí)時(shí)流混合對(duì)象O20),所述創(chuàng)建包括將被實(shí)例化的實(shí)時(shí)流混合對(duì)象合并到所述有向圖(21 中,且所述產(chǎn)生包括執(zhí)行所述被實(shí)例化的實(shí)時(shí)流混合對(duì)象O20)以組合所述第一所述實(shí)時(shí)數(shù)據(jù)流和所述第二實(shí)時(shí)數(shù)據(jù)流。
33.如權(quán)利要求32所述的方法,其特征在于,所述第一輸入源對(duì)應(yīng)于來(lái)自第一遠(yuǎn)程網(wǎng)絡(luò)節(jié)點(diǎn)的傳入實(shí)時(shí)數(shù)據(jù)流014)的定義,而所述第二輸入源對(duì)應(yīng)于來(lái)自第二遠(yuǎn)程網(wǎng)絡(luò)節(jié)點(diǎn)的傳入實(shí)時(shí)數(shù)據(jù)流014)的定義。
34.如權(quán)利要求25所述的方法,其特征在于所述解析包括從所述一個(gè)或更多個(gè)流處置指令OlO)中解析對(duì)第二實(shí)時(shí)流處理機(jī) (22)的第二描述,所述第二描述包括第二輸入源標(biāo)識(shí)符、第二輸出阱標(biāo)識(shí)符、以及一個(gè)或更多個(gè)數(shù)據(jù)處理對(duì)象中的每一者的相應(yīng)標(biāo)識(shí)符;所述創(chuàng)建包括根據(jù)所述第二描述從一些被實(shí)例化的實(shí)時(shí)流處置對(duì)象創(chuàng)建第二有向圖;所述接收包括從對(duì)應(yīng)于所述第二輸入源標(biāo)識(shí)符的第二輸入源接收第二實(shí)時(shí)數(shù)據(jù)流,其中所述第一和第二實(shí)時(shí)數(shù)據(jù)流在數(shù)據(jù)類型方面不同;以及所述產(chǎn)生包括通過(guò)所述第二有向圖處理所述第二實(shí)時(shí)數(shù)據(jù)流至對(duì)應(yīng)于所述第二輸出阱標(biāo)識(shí)符的第二輸出阱。
35.如權(quán)利要求34所述的方法,其特征在于,所述第一實(shí)時(shí)數(shù)據(jù)流和所述第二實(shí)時(shí)數(shù)據(jù)流被并發(fā)處理。
36.如權(quán)利要求25所述的方法,其特征在于,至少一個(gè)所述被實(shí)例化的實(shí)時(shí)流處置對(duì)象封裝對(duì)控制本地硬件組件的驅(qū)動(dòng)程序模塊的相應(yīng)調(diào)用。
37.如權(quán)利要求25所述的方法,其特征在于,所述解析、所述實(shí)例化、所述創(chuàng)建、所述接收、所述產(chǎn)生、以及所述生成在與虛擬區(qū)域08)中的第一對(duì)象相關(guān)聯(lián)的本地網(wǎng)絡(luò)節(jié)點(diǎn)(16) 上執(zhí)行,且所述接收包括從與所述虛擬區(qū)域08)中的第二對(duì)象相關(guān)聯(lián)的遠(yuǎn)程網(wǎng)絡(luò)節(jié)點(diǎn)接收所述實(shí)時(shí)數(shù)據(jù)流。
38.如權(quán)利要求37所述的方法,其特征在于,所述一個(gè)或更多個(gè)流處置指令(210)包括描述所述虛擬區(qū)域08)中的所述第一和第二對(duì)象的相應(yīng)位置的實(shí)時(shí)位置信息,并且所述產(chǎn)生包括從所述實(shí)時(shí)位置信息確定配置參數(shù)值并用所述配置參數(shù)值動(dòng)態(tài)配置所述有向圖中的一個(gè)或更多個(gè)所述被實(shí)例化的實(shí)時(shí)流處置對(duì)象。
39.如權(quán)利要求38所述的方法,其特征在于,所述接收包括從與所述虛擬區(qū)域08)中的第三對(duì)象相關(guān)聯(lián)的第二遠(yuǎn)程網(wǎng)絡(luò)節(jié)點(diǎn)接收第二實(shí)時(shí)數(shù)據(jù)流,所述創(chuàng)建包括建立具有對(duì)應(yīng)于相應(yīng)一個(gè)被解析的標(biāo)識(shí)符的被實(shí)例化的混合對(duì)象的所述有向圖,且所述產(chǎn)生包括執(zhí)行所述被實(shí)例化的混合對(duì)象O20)以組合所述第一實(shí)時(shí)數(shù)據(jù)流和所述第二實(shí)時(shí)數(shù)據(jù)流。
40.如權(quán)利要求38所述的方法,其特征在于所述解析包括從所述一個(gè)或更多個(gè)流處置指令OlO)中解析對(duì)第二實(shí)時(shí)流處理機(jī) (22)的第二描述,所述第二描述包括第二輸入源標(biāo)識(shí)符、第二輸出阱標(biāo)識(shí)符、以及一個(gè)或更多個(gè)數(shù)據(jù)處理對(duì)象中的每一者的相應(yīng)標(biāo)識(shí)符;所述創(chuàng)建包括根據(jù)所述第二描述從一些被實(shí)例化的實(shí)時(shí)流處置對(duì)象創(chuàng)建第二有向圖;所述接收包括從對(duì)應(yīng)于所述第二輸入源標(biāo)識(shí)符的第二輸入源接收第二實(shí)時(shí)數(shù)據(jù)流,其中所述第二輸入源對(duì)應(yīng)于來(lái)自第二遠(yuǎn)程網(wǎng)絡(luò)節(jié)點(diǎn)的傳入實(shí)時(shí)數(shù)據(jù)流的定義,且所述第一和第二實(shí)時(shí)數(shù)據(jù)流在數(shù)據(jù)類型方面不同;以及所述產(chǎn)生包括通過(guò)所述第二有向圖處理所述第二實(shí)時(shí)數(shù)據(jù)流至對(duì)應(yīng)于所述第二輸出阱標(biāo)識(shí)符的第二輸出阱。
41.如權(quán)利要求38所述的方法,其特征在于所述解析包括從所述一個(gè)或更多個(gè)流處置指令OlO)中提取圖形對(duì)象外觀處理對(duì)象的標(biāo)識(shí)符;以及所述產(chǎn)生包括通過(guò)對(duì)應(yīng)于相應(yīng)一些所述被提取的標(biāo)識(shí)符的一個(gè)或更多個(gè)被實(shí)例化的圖形對(duì)象外觀處理對(duì)象來(lái)處理所述實(shí)時(shí)數(shù)據(jù)流,以及至少部分地基于所述第一對(duì)象在所述虛擬區(qū)域08)中的位置動(dòng)態(tài)配置所述被實(shí)例化的圖形對(duì)象外觀處理對(duì)象以在取向、位置、 移動(dòng)以及姿勢(shì)中的至少一者上控制所述第一對(duì)象的視覺(jué)表示。
42.如權(quán)利要求25所述的方法,其特征在于,所述解析、所述實(shí)例化、所述創(chuàng)建、所述接收、所述產(chǎn)生、以及所述生成是在遠(yuǎn)程網(wǎng)絡(luò)節(jié)點(diǎn)上執(zhí)行的,且所述方法進(jìn)一步包括將在本地網(wǎng)絡(luò)節(jié)點(diǎn)(16)上執(zhí)行的用戶級(jí)應(yīng)用的接口元件與所述實(shí)時(shí)數(shù)據(jù)流相關(guān)聯(lián),并將所述實(shí)時(shí)數(shù)據(jù)流從所述本地網(wǎng)絡(luò)節(jié)點(diǎn)(16)傳送至所述遠(yuǎn)程網(wǎng)絡(luò)節(jié)點(diǎn)。
43.如權(quán)利要求42所述的方法,其特征在于,進(jìn)一步包括將所述一個(gè)或更多個(gè)流處置指令從所述本地網(wǎng)絡(luò)節(jié)點(diǎn)(16)傳送至所述遠(yuǎn)程網(wǎng)絡(luò)節(jié)點(diǎn)。
44.如權(quán)利要求43所述的方法,其特征在于,所述用戶級(jí)應(yīng)用是桌面應(yīng)用程序。
45.如權(quán)利要求44所述的方法,其特征在于,所述用戶級(jí)應(yīng)用是微軟Office 桌面應(yīng)用程序。
46.如權(quán)利要求25所述的方法,其特征在于,所述流處置指令(210)在不引用函數(shù)的情況下指定所述實(shí)時(shí)流處理機(jī)02)。
47.如權(quán)利要求25所述的方法,其特征在于,所述流處置指令(210)在不引用流類型的情況下指定所述實(shí)時(shí)流處理機(jī)02)。
48.如權(quán)利要求25所述的方法,其特征在于,所述產(chǎn)生包括在每個(gè)相繼的固定長(zhǎng)度間隔期間從所述輸出阱到所述輸入源地遍歷所述有向圖(212)。
49.如權(quán)利要求25所述的方法,其特征在于,所述解析包括解析一個(gè)或更多個(gè)記錄,每個(gè)記錄包括相應(yīng)的定義類型、相應(yīng)的定義長(zhǎng)度、以及因定義類型而異的字段和相應(yīng)的因定義類型而異的定義中的至少一者。
50.如權(quán)利要求25所述的方法,進(jìn)一步包括至少部分地基于所述所得數(shù)據(jù)流生成人類可感知的輸出。
51.一種裝置,包括存儲(chǔ)計(jì)算機(jī)可讀指令的計(jì)算機(jī)可讀介質(zhì);以及耦合至存儲(chǔ)器的數(shù)據(jù)處理單元,用于執(zhí)行所述指令,并至少部分地基于所述指令的執(zhí)行來(lái)執(zhí)行操作,所述操作包括從一個(gè)或更多個(gè)流處置指令(210)解析對(duì)實(shí)時(shí)流處理機(jī)0 的描述,其中所述解析包括從所述一個(gè)或更多個(gè)流處置指令解析輸入源標(biāo)識(shí)符、輸出阱標(biāo)識(shí)符、以及一個(gè)或更多個(gè)數(shù)據(jù)處理對(duì)象中的每一者的相應(yīng)標(biāo)識(shí)符,實(shí)例化對(duì)應(yīng)于相應(yīng)一些所述標(biāo)識(shí)符的實(shí)時(shí)流處置對(duì)象, 根據(jù)所述描述創(chuàng)建包括一些被實(shí)例化的實(shí)時(shí)流處置對(duì)象的有向圖(212), 從對(duì)應(yīng)于所述輸入源標(biāo)識(shí)符的輸入源接收實(shí)時(shí)數(shù)據(jù)流(214),以及在對(duì)應(yīng)于所述輸出阱標(biāo)識(shí)符的輸出阱產(chǎn)生所得數(shù)據(jù)流,其中所述產(chǎn)生包括通過(guò)所述有向圖(212)處理所述實(shí)時(shí)數(shù)據(jù)流。
52.其中含有計(jì)算機(jī)可讀程序代碼的至少一種計(jì)算機(jī)可讀介質(zhì),所述計(jì)算機(jī)可讀程序代碼適于被計(jì)算機(jī)執(zhí)行以實(shí)現(xiàn)包括以下動(dòng)作的方法從一個(gè)或更多個(gè)流處置指令(210)解析對(duì)實(shí)時(shí)流處理機(jī)0 的描述,其中所述解析包括從所述一個(gè)或更多個(gè)流處置指令解析輸入源標(biāo)識(shí)符、輸出阱標(biāo)識(shí)符、以及一個(gè)或更多個(gè)數(shù)據(jù)處理對(duì)象中的每一者的相應(yīng)標(biāo)識(shí)符;實(shí)例化對(duì)應(yīng)于相應(yīng)一些所述標(biāo)識(shí)符的實(shí)時(shí)流處置對(duì)象; 根據(jù)所述描述創(chuàng)建包括一些被實(shí)例化的實(shí)時(shí)流處置對(duì)象的有向圖012); 從對(duì)應(yīng)于所述輸入源標(biāo)識(shí)符的輸入源接收實(shí)時(shí)數(shù)據(jù)流014);以及在對(duì)應(yīng)于所述輸出阱標(biāo)識(shí)符的輸出阱產(chǎn)生所得數(shù)據(jù)流,其中所述產(chǎn)生包括通過(guò)所述有向圖(212)處理所述實(shí)時(shí)數(shù)據(jù)流。
53.一種用于實(shí)時(shí)數(shù)據(jù)流處置的計(jì)算機(jī)實(shí)現(xiàn)的方法,包括建立本地網(wǎng)絡(luò)節(jié)點(diǎn)(16)和至少一個(gè)遠(yuǎn)程網(wǎng)絡(luò)節(jié)點(diǎn)(230)之間的至少一個(gè)實(shí)時(shí)數(shù)據(jù)流連接;在所述本地網(wǎng)絡(luò)節(jié)點(diǎn)(16)處,處理源自所述遠(yuǎn)程網(wǎng)絡(luò)節(jié)點(diǎn)的至少一個(gè)實(shí)時(shí)數(shù)據(jù)流,其中所述處理包括通過(guò)一個(gè)或更多個(gè)實(shí)時(shí)數(shù)據(jù)處理操作處理所述至少一個(gè)實(shí)時(shí)數(shù)據(jù)流以產(chǎn)生所得數(shù)據(jù)流032);監(jiān)視所述處理034);以及響應(yīng)于基于所述監(jiān)視確定所述處理偏離性能目標(biāo),根據(jù)實(shí)時(shí)性能目標(biāo)例程修改(236) 所述處理。
54.如權(quán)利要求53所述的方法,其特征在于,所述修改(236)包括響應(yīng)于確定所述處理沒(méi)有滿足所述性能目標(biāo)而省略對(duì)所述實(shí)時(shí)數(shù)據(jù)流的一個(gè)或更多個(gè)部分的處理。
55.如權(quán)利要求53所述的方法,其特征在于,所述修改(236)包括響應(yīng)于確定所述處理沒(méi)有滿足所述性能目標(biāo)而省略一個(gè)或更多個(gè)所述實(shí)時(shí)數(shù)據(jù)處理操作。
56.如權(quán)利要求55所述的方法,其特征在于,所述省略包括省略由所述性能目標(biāo)之外的相應(yīng)性能值所表征的一個(gè)或更多個(gè)所述數(shù)據(jù)處理操作。
57.如權(quán)利要求55所述的方法,其特征在于,所述數(shù)據(jù)處理操作中的一些被指派相應(yīng)的優(yōu)先級(jí)值,且所述省略包括基于所述被指派的優(yōu)先級(jí)值優(yōu)先省略一個(gè)或更多個(gè)所述數(shù)據(jù)處理操作。
58.如權(quán)利要求53所述的方法,其特征在于,所述修改(236)包括響應(yīng)于確定所述處理沒(méi)有滿足所述性能目標(biāo)用不同的相應(yīng)實(shí)時(shí)數(shù)據(jù)處理操作替換至少一個(gè)所述實(shí)時(shí)數(shù)據(jù)處理操作。
59.如權(quán)利要求53所述的方法,其特征在于,一個(gè)或更多個(gè)所述實(shí)時(shí)數(shù)據(jù)處理操作被指派相應(yīng)的優(yōu)先級(jí)值,所述實(shí)時(shí)性能目標(biāo)例程包括啟發(fā),該啟發(fā)基于所述被指派的優(yōu)先級(jí)值確定所述數(shù)據(jù)處理操作中要省略的數(shù)據(jù)處理操作,且所述修改(236)是根據(jù)所述啟發(fā)來(lái)執(zhí)行的。
60.如權(quán)利要求59所述的方法,其特征在于,所述啟發(fā)基于所述被指派的優(yōu)先級(jí)值按基于時(shí)間的性能統(tǒng)計(jì)的加權(quán)來(lái)確定所述數(shù)據(jù)處理操作中要省略的數(shù)據(jù)處理操作。
61.如權(quán)利要求53所述的方法,其特征在于,所述修改(236)包括迭代地修改所述處理直至所述處理落在指定的性能目標(biāo)之內(nèi)。
62.如權(quán)利要求53所述的方法,其特征在于,所述處理(232)包括實(shí)例化處理對(duì)象, 所述處理對(duì)象中的一些用于執(zhí)行相應(yīng)一些所述數(shù)據(jù)處理操作;從一些被實(shí)例化的處理對(duì)象建立有向圖;以及通過(guò)所述有向圖處理所述實(shí)時(shí)數(shù)據(jù)流。
63.如權(quán)利要求62所述的方法,其特征在于,所述修改(236)包括從所述有向圖中刪除一個(gè)或更多個(gè)所述被實(shí)例化的處理對(duì)象。
64.如權(quán)利要求63所述的方法,其特征在于,所述處理對(duì)象中的一些被指派相應(yīng)的優(yōu)先級(jí)值,且所述刪除包括基于所述被指派的優(yōu)先級(jí)值從所述有向圖中移除一些所述被實(shí)例化的處理對(duì)象。
65.如權(quán)利要求64所述的方法,其特征在于,所述刪除包括從所述有向圖中移除被指派沒(méi)有滿足優(yōu)先級(jí)閾值的相應(yīng)優(yōu)先級(jí)值的一些被實(shí)例化的處理對(duì)象。
66.如權(quán)利要求62所述的方法,其特征在于,所述處理(232)包括從一些被實(shí)例化的處理對(duì)象建立第二有向圖,并通過(guò)所述第二有向圖處理源自所述本地網(wǎng)絡(luò)節(jié)點(diǎn)(16)和所述至少一個(gè)遠(yuǎn)程網(wǎng)絡(luò)節(jié)點(diǎn)之一的第二實(shí)時(shí)數(shù)據(jù)流。
67.如權(quán)利要求66所述的方法,其特征在于,所述第一和第二有向圖被指派相應(yīng)的優(yōu)先級(jí)值,且所述修改(236)包括基于所述被指派的優(yōu)先級(jí)值優(yōu)先修改所述第一和第二有向圖中的一者。
68.如權(quán)利要求67所述的方法,其特征在于,所述修改(236)包括在所述第一和第二有向圖中被指派最低優(yōu)先級(jí)值的相應(yīng)有向圖中省略對(duì)所述第一和第二實(shí)時(shí)數(shù)據(jù)流之一的處理。
69.如權(quán)利要求62所述的方法,其特征在于,所述處理(23 包括通過(guò)所述有向圖處理源自所述本地網(wǎng)絡(luò)節(jié)點(diǎn)(16)和所述至少一個(gè)遠(yuǎn)程網(wǎng)絡(luò)節(jié)點(diǎn)之一的第二實(shí)時(shí)數(shù)據(jù)流。
70.如權(quán)利要求69所述的方法,其特征在于,所述第一和第二實(shí)時(shí)數(shù)據(jù)流被指派相應(yīng)的優(yōu)先級(jí)值,且所述修改(236)包括基于所述被指派的優(yōu)先級(jí)值優(yōu)先修改對(duì)所述第一和第二實(shí)時(shí)數(shù)據(jù)流中的一者的處理。
71.如權(quán)利要求62所述的方法,其特征在于,所述建立(230)包括在所述本地網(wǎng)絡(luò)節(jié)點(diǎn) (16)和多個(gè)遠(yuǎn)程網(wǎng)絡(luò)節(jié)點(diǎn)之間建立相應(yīng)的實(shí)時(shí)數(shù)據(jù)流連接,且所述處理(23 包括通過(guò)所述有向圖處理源自相應(yīng)一些所述遠(yuǎn)程網(wǎng)絡(luò)節(jié)點(diǎn)的實(shí)時(shí)數(shù)據(jù)流。
72.如權(quán)利要求71所述的方法,其特征在于,所述實(shí)時(shí)數(shù)據(jù)流被指派相應(yīng)的優(yōu)先級(jí)值, 且所述修改(236)包括基于所述被指派的優(yōu)先級(jí)值優(yōu)先修改對(duì)一個(gè)或更多個(gè)所述實(shí)時(shí)數(shù)據(jù)流的處理。
73.如權(quán)利要求71所述的方法,其特征在于,所述有向圖包括相應(yīng)一些所述被實(shí)例化的處理對(duì)象的多個(gè)有向鏈,且所述處理(23 包括通過(guò)每個(gè)所述有向鏈處理相應(yīng)一個(gè)所述實(shí)時(shí)數(shù)據(jù)流,其中每個(gè)所述實(shí)時(shí)數(shù)據(jù)流源自所述本地網(wǎng)絡(luò)節(jié)點(diǎn)(16)和所述遠(yuǎn)程網(wǎng)絡(luò)節(jié)點(diǎn)中的相應(yīng)一個(gè)。
74.如權(quán)利要求73所述的方法,其特征在于,所述修改(236)包括迭代地修改所述處理直至所述處理落在所述指定的性能目標(biāo)之內(nèi),并且在每次迭代期間,所述修改包括執(zhí)行以下一者或更多(i)從所述有向圖中移除一個(gè)或更多個(gè)所述鏈以及(ii)從所述有向圖中刪除一個(gè)或更多個(gè)所述被實(shí)例化的處理對(duì)象。
75.如權(quán)利要求53所述的方法,其特征在于,所述性能目標(biāo)包括對(duì)產(chǎn)生所述所得數(shù)據(jù)流的基于時(shí)間的閾值。
76.如權(quán)利要求53所述的方法,其特征在于,進(jìn)一步包括在所述本地網(wǎng)絡(luò)節(jié)點(diǎn)(16)處從遠(yuǎn)程網(wǎng)絡(luò)節(jié)點(diǎn)接收一個(gè)或更多個(gè)流處置指令,所述流處置指令包括向所述一個(gè)或更多個(gè)實(shí)時(shí)數(shù)據(jù)處理操作指派相應(yīng)的優(yōu)先級(jí)值,其中所述修改(236)包括基于所述被指派的優(yōu)先級(jí)值修改所述處理。
77.如權(quán)利要求53所述的方法,其特征在于,所述修改(236)包括響應(yīng)于確定所述處理沒(méi)有滿足所述性能目標(biāo)而將計(jì)算資源負(fù)載減少至較低水平。
78.如權(quán)利要求77所述的方法,其特征在于,所述修改(236)包括響應(yīng)于確定所述處理滿足所述性能目標(biāo)而從所述較低水平增加所述計(jì)算資源負(fù)載。
79.如權(quán)利要求53所述的方法,其特征在于,所述實(shí)時(shí)數(shù)據(jù)流被分組成幀,且在每個(gè)所述幀上執(zhí)行所述監(jiān)視。
80.如權(quán)利要求79所述的方法,其特征在于,所述處理(23 包括在根據(jù)本地時(shí)鐘設(shè)定的每個(gè)相繼固定長(zhǎng)度間隔期間處理所述實(shí)時(shí)數(shù)據(jù)流的所述幀。
81.如權(quán)利要求80所述的方法,其特征在于,還包括在所述本地網(wǎng)絡(luò)節(jié)點(diǎn)(16)將所述本地時(shí)鐘與遠(yuǎn)程主時(shí)鐘服務(wù)同步。
82.如權(quán)利要求53所述的方法,其特征在于,所述監(jiān)視(234)包括監(jiān)視所述本地網(wǎng)絡(luò)節(jié)點(diǎn)(16)的至少一個(gè)處理器的利用。
83.如權(quán)利要求53所述的方法,其特征在于,所述監(jiān)視(234)包括監(jiān)視所述本地網(wǎng)絡(luò)節(jié)點(diǎn)(16)的至少一個(gè)連網(wǎng)資源的帶寬利用。
84.如權(quán)利要求53所述的方法,進(jìn)一步包括在所述本地網(wǎng)絡(luò)節(jié)點(diǎn)(16)生成響應(yīng)于所述所得數(shù)據(jù)流的人類可感知的輸出。
85.如權(quán)利要求84所述的方法,其特征在于,所述本地網(wǎng)絡(luò)節(jié)點(diǎn)(16)和所述遠(yuǎn)程網(wǎng)絡(luò)節(jié)點(diǎn)與虛擬區(qū)域08)中的相應(yīng)對(duì)象相關(guān)聯(lián),且所述人類可感知的輸出是在顯示器上對(duì)所述虛擬區(qū)域0 中的對(duì)象的可視化。
86.一種裝置,包括存儲(chǔ)計(jì)算機(jī)可讀指令的計(jì)算機(jī)可讀介質(zhì);以及耦合至存儲(chǔ)器的數(shù)據(jù)處理單元,用于執(zhí)行所述指令,并至少部分地基于所述指令的執(zhí)行來(lái)執(zhí)行操作,所述操作包括建立本地網(wǎng)絡(luò)節(jié)點(diǎn)(16)和至少一個(gè)遠(yuǎn)程網(wǎng)絡(luò)節(jié)點(diǎn)(230)之間的至少一個(gè)實(shí)時(shí)數(shù)據(jù)流連接,在所述本地網(wǎng)絡(luò)節(jié)點(diǎn)(16)處,處理源自所述遠(yuǎn)程網(wǎng)絡(luò)節(jié)點(diǎn)的至少一個(gè)實(shí)時(shí)數(shù)據(jù)流,其中所述處理包括通過(guò)一個(gè)或更多個(gè)實(shí)時(shí)數(shù)據(jù)處理操作處理所述至少一個(gè)實(shí)時(shí)數(shù)據(jù)流以產(chǎn)生所得數(shù)據(jù)流032);監(jiān)視所述處(234),以及響應(yīng)于基于所述監(jiān)視確定所述處理偏離性能目標(biāo),根據(jù)實(shí)時(shí)性能目標(biāo)例程(236)修改所述處理。
87.其中含有計(jì)算機(jī)可讀程序代碼的至少一種計(jì)算機(jī)可讀介質(zhì),所述計(jì)算機(jī)可讀程序代碼適于被計(jì)算機(jī)執(zhí)行以實(shí)現(xiàn)包括以下動(dòng)作的方法建立本地網(wǎng)絡(luò)節(jié)點(diǎn)(16)和至少一個(gè)遠(yuǎn)程網(wǎng)絡(luò)節(jié)點(diǎn)(230)之間的至少一個(gè)實(shí)時(shí)數(shù)據(jù)流連接;在所述本地網(wǎng)絡(luò)節(jié)點(diǎn)(16)處,處理源自所述遠(yuǎn)程網(wǎng)絡(luò)節(jié)點(diǎn)的至少一個(gè)實(shí)時(shí)數(shù)據(jù)流,其中所述處理包括通過(guò)一個(gè)或更多個(gè)實(shí)時(shí)數(shù)據(jù)處理操作處理所述至少一個(gè)實(shí)時(shí)數(shù)據(jù)流以產(chǎn)生所得數(shù)據(jù)流032);監(jiān)視所述處理034);以及響應(yīng)于基于所述監(jiān)視確定所述處理偏離性能目標(biāo),根據(jù)實(shí)時(shí)性能目標(biāo)例程(236)修改所述處理。
88.一種計(jì)算機(jī)實(shí)現(xiàn)的方法,包括在本地網(wǎng)絡(luò)節(jié)點(diǎn)(16)上根據(jù)無(wú)連接傳輸協(xié)議在傳輸流上建立與遠(yuǎn)程網(wǎng)絡(luò)節(jié)點(diǎn)的第一會(huì)話(362);代表所述本地網(wǎng)絡(luò)節(jié)點(diǎn)(16)上的一個(gè)或更多個(gè)軟件實(shí)體,自動(dòng)打開(kāi)在所述第一會(huì)話中在所述本地網(wǎng)絡(luò)節(jié)點(diǎn)(16)和所述遠(yuǎn)程網(wǎng)絡(luò)節(jié)點(diǎn)之間傳送數(shù)據(jù)的一個(gè)或更多個(gè)信道 (364);在所述第一會(huì)話中,維護(hù)標(biāo)識(shí)打開(kāi)的一些所述信道的表并將相應(yīng)的屬性值與所標(biāo)識(shí)的信道相關(guān)聯(lián)(366);響應(yīng)于確定所述第一會(huì)話失敗,根據(jù)所述無(wú)連接傳輸協(xié)議自動(dòng)嘗試在第二傳輸流上建立與所述遠(yuǎn)程網(wǎng)絡(luò)節(jié)點(diǎn)的第二會(huì)話(368);以及響應(yīng)于成功建立所述第二會(huì)話,自動(dòng)打開(kāi)所述表中標(biāo)識(shí)的每個(gè)所述信道(370)。
89.如權(quán)利要求88所述的方法,其特征在于,所述建立(36 包括確定指派給所述遠(yuǎn)程網(wǎng)絡(luò)節(jié)點(diǎn)的第一站定義且所述維護(hù)包括將所述第一站定義存儲(chǔ)在所述表中作為每個(gè)所述打開(kāi)的信道的屬性。
90.如權(quán)利要求89所述的方法,其特征在于,進(jìn)一步包括發(fā)現(xiàn)所述第一會(huì)話的失敗,其中所述發(fā)現(xiàn)包括確定指派給所述遠(yuǎn)程網(wǎng)絡(luò)節(jié)點(diǎn)的當(dāng)前站定義并響應(yīng)于確定所述當(dāng)前站定義不同于所述第一站定義而確定所述第一會(huì)話失敗。
91.如權(quán)利要求89所述的方法,其特征在于,所述確定包括解析從所述遠(yuǎn)程網(wǎng)絡(luò)節(jié)點(diǎn)接收的站定義記錄,其中所述站定義記錄包括一組字段,每個(gè)字段由相應(yīng)字段類型以及相關(guān)聯(lián)的字段值所定義,且每個(gè)字段類型被相應(yīng)的全局唯一標(biāo)識(shí)符(GUID)所標(biāo)識(shí)。
92.如權(quán)利要求88所述的方法,其特征在于,進(jìn)一步包括記錄從所述本地網(wǎng)絡(luò)節(jié)點(diǎn) (16)可用的本地公布信道、所述一個(gè)或更多個(gè)軟件實(shí)體所請(qǐng)求的本地訂閱信道、從所述遠(yuǎn)程網(wǎng)絡(luò)節(jié)點(diǎn)可用的遠(yuǎn)程公布信道、以及所述遠(yuǎn)程網(wǎng)絡(luò)節(jié)點(diǎn)所請(qǐng)求的遠(yuǎn)程訂閱信道的屬性。
93.如權(quán)利要求92所述的方法,其特征在于,所述記錄包括為每個(gè)所述本地公布信道維護(hù)一記錄,所述記錄包括指示在所述本地公布信道上公布數(shù)據(jù)的能力的所述軟件實(shí)體中的一者的標(biāo)識(shí)符、訂閱所述本地公布信道的遠(yuǎn)程網(wǎng)絡(luò)節(jié)點(diǎn)的標(biāo)識(shí)符、以及所述本地公布信道的標(biāo)識(shí)符。
94.如權(quán)利要求92所述的方法,其特征在于,所述記錄包括為每個(gè)所述本地訂閱信道維護(hù)一記錄,所述記錄包括訂閱所述本地訂閱信道的所述軟件實(shí)體中的一者的標(biāo)識(shí)符、指示在所述本地訂閱信道上公布數(shù)據(jù)的能力的遠(yuǎn)程網(wǎng)絡(luò)節(jié)點(diǎn)的標(biāo)識(shí)符、所述本地訂閱信道的標(biāo)識(shí)符、以及一個(gè)或更多個(gè)與所述本地訂閱信道相關(guān)聯(lián)的網(wǎng)絡(luò)傳輸參數(shù)。
95.如權(quán)利要求92所述的方法,其特征在于,所述記錄包括為每個(gè)所述遠(yuǎn)程公布信道維護(hù)一記錄,所述記錄包括指示在所述遠(yuǎn)程公布信道上公布數(shù)據(jù)的能力的遠(yuǎn)程網(wǎng)絡(luò)節(jié)點(diǎn)的標(biāo)識(shí)符、以及所述遠(yuǎn)程公布信道的標(biāo)識(shí)符。
96.如權(quán)利要求92所述的方法,其特征在于,所述打開(kāi)包括向所述遠(yuǎn)程網(wǎng)絡(luò)節(jié)點(diǎn)發(fā)送定義所述本地公布信道的記錄。
97.如權(quán)利要求92所述的方法,其特征在于,所述打開(kāi)包括向所述遠(yuǎn)程網(wǎng)絡(luò)節(jié)點(diǎn)發(fā)送具有與所述遠(yuǎn)程公布信道中的一者的標(biāo)識(shí)符匹配的標(biāo)識(shí)符的每個(gè)所述本地訂閱信道的記錄。
98.如權(quán)利要求88所述的方法,其特征在于,所述建立(362)包括創(chuàng)建所述會(huì)話的定義,其中所述定義包括網(wǎng)際協(xié)議(IP)地址、端口地址、以及傳輸協(xié)議的 全局唯一標(biāo)識(shí)符;并向所述遠(yuǎn)程網(wǎng)絡(luò)節(jié)點(diǎn)發(fā)送所述定義。
99.如權(quán)利要求88所述的方法,其特征在于,進(jìn)一步包括在所述會(huì)話中在所述一個(gè)或更多個(gè)打開(kāi)的信道上在所述本地網(wǎng)絡(luò)節(jié)點(diǎn)(16)和所述遠(yuǎn)程網(wǎng)絡(luò)節(jié)點(diǎn)之間傳送數(shù)據(jù)。
100.如權(quán)利要求99所述的方法,其特征在于,所述傳送包括在記錄中傳送所述數(shù)據(jù), 每個(gè)所述記包括一組字段,每個(gè)所述字段由相應(yīng)的字段類型以及相關(guān)聯(lián)的字段值所定義, 且每個(gè)所述字段類型被相應(yīng)的GUID所標(biāo)識(shí)。
101.如權(quán)利要求99所述的方法,其特征在于,所述傳送包括傳送包含包括可呈現(xiàn)數(shù)據(jù)的分組的媒體數(shù)據(jù)的媒體記錄,以及傳送包含包括配置設(shè)置的定義的配置數(shù)據(jù)的配置記錄。
102.如權(quán)利要求101所述的方法,其特征在于,所述傳送包括將媒體記錄和配置記錄封裝在所述傳輸流上的傳輸記錄中。
103.如權(quán)利要求102所述的方法,其特征在于,所述封裝包括使用第一數(shù)據(jù)壓縮服務(wù)壓縮一些所述媒體記錄,以及使用第二數(shù)據(jù)壓縮服務(wù)壓縮一些所述配置記錄。
104.如權(quán)利要求102所述的方法,其特征在于,所述封裝包括將所述傳輸記錄與傳送所述傳輸記錄的相應(yīng)一些所述信道的標(biāo)識(shí)符相關(guān)聯(lián),加密所述傳輸記錄,以及按順序排列所述經(jīng)加密的傳輸記錄。
105.如權(quán)利要求102所述的方法,其特征在于,進(jìn)一步包括在所述本地網(wǎng)絡(luò)節(jié)點(diǎn)(16) 接收從所述遠(yuǎn)程網(wǎng)絡(luò)節(jié)點(diǎn)傳送的一些所述傳輸記錄,其中所述接收包括解密所述傳輸記錄并向所述軟件實(shí)體中的一些訂閱軟件實(shí)體分派包含在所述經(jīng)解密的傳輸記錄中的所述媒體記錄和所述配置記錄。
106.一種裝置,包括存儲(chǔ)計(jì)算機(jī)可讀指令的計(jì)算機(jī)可讀介質(zhì);以及耦合至存儲(chǔ)器的數(shù)據(jù)處理單元,用于執(zhí)行所述指令,并至少部分地基于所述指令的執(zhí)行來(lái)執(zhí)行操作,所述操作包括在本地網(wǎng)絡(luò)節(jié)點(diǎn)(16)上根據(jù)無(wú)連接傳輸協(xié)議在傳輸流上建立與遠(yuǎn)程網(wǎng)絡(luò)節(jié)點(diǎn)的第一會(huì)話(362);代表所述本地網(wǎng)絡(luò)節(jié)點(diǎn)(16)上的一個(gè)或更多個(gè)軟件實(shí)體,自動(dòng)打開(kāi)在所述第一會(huì)話中在所述本地網(wǎng)絡(luò)節(jié)點(diǎn)(16)和所述遠(yuǎn)程網(wǎng)絡(luò)節(jié)點(diǎn)之間傳送數(shù)據(jù)的一個(gè)或更多個(gè)信道 (364);在所述第一會(huì)話中,維護(hù)標(biāo)識(shí)打開(kāi)的一些所述信道的表并將相應(yīng)的屬性值與所標(biāo)識(shí)的信道相關(guān)聯(lián)(366);響應(yīng)于確定所述第一會(huì)話失敗,根據(jù)所述無(wú)連接傳輸協(xié)議自動(dòng)嘗試在第二傳輸流上建立與所述遠(yuǎn)程網(wǎng)絡(luò)節(jié)點(diǎn)的第二會(huì)話(368);以及響應(yīng)于成功建立所述第二會(huì)話,自動(dòng)打開(kāi)所述表中標(biāo)識(shí)的每個(gè)所述信道(370)。
107.其中含有計(jì)算機(jī)可讀程序代碼的至少一種計(jì)算機(jī)可讀介質(zhì),所述計(jì)算機(jī)可讀程序代碼適于被計(jì)算機(jī)執(zhí)行以實(shí)現(xiàn)包括以下動(dòng)作的方法在本地網(wǎng)絡(luò)節(jié)點(diǎn)(16)上根據(jù)無(wú)連接傳輸協(xié)議在傳輸流上建立與遠(yuǎn)程網(wǎng)絡(luò)節(jié)點(diǎn)的第一會(huì)話(362);代表所述本地網(wǎng)絡(luò)節(jié)點(diǎn)(16)上的一個(gè)或更多個(gè)軟件實(shí)體,自動(dòng)打開(kāi)在所述第一會(huì)話中在所述本地網(wǎng)絡(luò)節(jié)點(diǎn)(16)和所述遠(yuǎn)程網(wǎng)絡(luò)節(jié)點(diǎn)之間傳送數(shù)據(jù)的一個(gè)或更多個(gè)信道 (364);在所述第一會(huì)話中,維護(hù)標(biāo)識(shí)打開(kāi)的一些所述信道的表并將相應(yīng)的屬性值與所標(biāo)識(shí)的信道相關(guān)聯(lián)(366);響應(yīng)于確定所述第一會(huì)話失敗,根據(jù)所述無(wú)連接傳輸協(xié)議自動(dòng)嘗試在第二傳輸流上建立與所述遠(yuǎn)程網(wǎng)絡(luò)節(jié)點(diǎn)的第二會(huì)話(368);以及響應(yīng)于成功建立所述第二會(huì)話,自動(dòng)打開(kāi)所述表中標(biāo)識(shí)的每個(gè)所述信道(370)。
108.—種在本地網(wǎng)絡(luò)節(jié)點(diǎn)(16)上執(zhí)行的方法,所述方法包括解析包含一個(gè)或更多個(gè)內(nèi)核服務(wù)組件的內(nèi)核組件的列表(320);確定所述被解析的列表中在本地儲(chǔ)存庫(kù)中缺少的所有內(nèi)核組件(322);檢索被確定為缺少的每個(gè)所述內(nèi)核組件(3M);從一些所述內(nèi)核服務(wù)內(nèi)核組件實(shí)例化內(nèi)核服務(wù)(3 );執(zhí)行所述被實(shí)例化的內(nèi)核服務(wù)以在關(guān)于虛擬區(qū)域08)定義的通信環(huán)境中與一個(gè)或更多個(gè)遠(yuǎn)程網(wǎng)絡(luò)節(jié)點(diǎn)通信(3 )。
109.如權(quán)利要求108所述的方法,其特征在于,所述實(shí)例化(326)包括實(shí)例化流連接內(nèi)核服務(wù),且所述執(zhí)行(328)包括執(zhí)行所述流連接內(nèi)核服務(wù)以動(dòng)態(tài)加載提供可靠性功能、認(rèn)證功能、以及加密功能中的至少一者的至少一個(gè)流傳輸插件。
110.如權(quán)利要求109所述的方法,其特征在于,所述執(zhí)行(328)包括響應(yīng)于從所述遠(yuǎn)程網(wǎng)絡(luò)節(jié)點(diǎn)中的一者接收的網(wǎng)絡(luò)連接定義動(dòng)態(tài)加載所述至少一個(gè)流傳輸插件。
111.如權(quán)利要求108所述的方法,其特征在于,所述實(shí)例化(326)包括實(shí)例化實(shí)時(shí)調(diào)度器內(nèi)核服務(wù),且所述執(zhí)行(328)包括執(zhí)行所述實(shí)時(shí)調(diào)度器內(nèi)核服務(wù)以動(dòng)態(tài)加載提供時(shí)間同步功能的時(shí)間服務(wù)插件。
112.如權(quán)利要求111所述的方法,其特征在于,所述執(zhí)行(328)包括響應(yīng)于從所述遠(yuǎn)程網(wǎng)絡(luò)節(jié)點(diǎn)中的一者接收的網(wǎng)絡(luò)連接定義動(dòng)態(tài)加載所述時(shí)間服務(wù)插件。
113.如權(quán)利要求108所述的方法,其特征在于,所述實(shí)例化(326)包括實(shí)例化一個(gè)或更多個(gè)流處置內(nèi)核服務(wù),且所述執(zhí)行(328)包括執(zhí)行所述一個(gè)或更多個(gè)流處置內(nèi)核服務(wù)以從提供流處理功能的一個(gè)或更多個(gè)插件動(dòng)態(tài)創(chuàng)建和配置至少一個(gè)流處理機(jī)02)。
114.如權(quán)利要求113所述的方法,其特征在于,所述執(zhí)行(328)包括響應(yīng)于從所述遠(yuǎn)程網(wǎng)絡(luò)節(jié)點(diǎn)中的一個(gè)遠(yuǎn)程網(wǎng)絡(luò)節(jié)點(diǎn)接收的流處理機(jī)描述動(dòng)態(tài)創(chuàng)建和配置所述流處理機(jī)02)。
115.如權(quán)利要求114所述的方法,其特征在于,所述執(zhí)行(328)包括根據(jù)所述流處理機(jī)描述將多個(gè)所述插件組裝到有向圖中。
116.如權(quán)利要求115所述的方法,其特征在于,所述執(zhí)行(328)包括根據(jù)從所述一個(gè)遠(yuǎn)程網(wǎng)絡(luò)節(jié)點(diǎn)接收的第二流處理機(jī)描述將所述插件中的一者組裝到第二有向圖中,所述第一和第二有向圖具有不同的相應(yīng)插件拓?fù)洹?br>
117.如權(quán)利要求114所述的方法,其特征在于,所述配置包括在所述流處理機(jī)02)正處理從所述一個(gè)遠(yuǎn)程網(wǎng)絡(luò)節(jié)點(diǎn)接收的實(shí)時(shí)數(shù)據(jù)流的同時(shí)動(dòng)態(tài)配置所述流處理機(jī)02)。
118.如權(quán)利要求114所述的方法,其特征在于,所述一個(gè)或更多個(gè)遠(yuǎn)程網(wǎng)絡(luò)節(jié)點(diǎn)與所述虛擬區(qū)域08)中的相應(yīng)對(duì)象相關(guān)聯(lián),且所述配置包括基于所述虛擬區(qū)域08)中的對(duì)象的位置確定配置參數(shù)值并用所述配置參數(shù)值配置所述流處理機(jī)0 中的所述插件中的一些。
119.如權(quán)利要求108所述的方法,其特征在于,進(jìn)一步包括在所述本地網(wǎng)絡(luò)節(jié)點(diǎn)(16)上向網(wǎng)絡(luò)基礎(chǔ)結(jié)構(gòu)服務(wù)宣稱要進(jìn)入所述虛擬區(qū)域08)的意圖,以及從所述網(wǎng)絡(luò)基礎(chǔ)結(jié)構(gòu)服務(wù)接收對(duì)用于呈現(xiàn)所述虛擬區(qū)域08)所需的插件的標(biāo)識(shí)。
120.如權(quán)利要求119所述的方法,其特征在于,進(jìn)一步包括在所述本地網(wǎng)絡(luò)節(jié)點(diǎn)(16)上從遠(yuǎn)程網(wǎng)絡(luò)節(jié)點(diǎn)檢索所述本地網(wǎng)絡(luò)節(jié)點(diǎn)(16)中缺少的一些所述插件。
121.如權(quán)利要求119所述的方法,其特征在于,進(jìn)一步包括在所述本地網(wǎng)絡(luò)節(jié)點(diǎn)(16) 上呈現(xiàn)所述虛擬區(qū)域08)的過(guò)程中加載至少一個(gè)所述插件并調(diào)用被加載的插件的一個(gè)或更多個(gè)函數(shù)。
122.如權(quán)利要求108所述的方法,其特征在于,進(jìn)一步包括在所述本地網(wǎng)絡(luò)節(jié)點(diǎn)(16)和所述遠(yuǎn)程網(wǎng)絡(luò)節(jié)點(diǎn)中的一個(gè)遠(yuǎn)程網(wǎng)絡(luò)節(jié)點(diǎn)之間建立網(wǎng)絡(luò)會(huì)話,其中所述建立包括接收對(duì)所標(biāo)識(shí)的傳輸應(yīng)用程序接口(API)的變量集的標(biāo)識(shí)、從所述集中選擇一個(gè)變量、以及在所述會(huì)話中在所述本地網(wǎng)絡(luò)節(jié)點(diǎn)(16)和所述一個(gè)遠(yuǎn)程網(wǎng)絡(luò)節(jié)點(diǎn)之間傳遞實(shí)時(shí)數(shù)據(jù)流的過(guò)程中調(diào)用所選擇變量的一個(gè)或更多個(gè)函數(shù)。
123.如權(quán)利要求122所述的方法,其特征在于,所述調(diào)用包括加載支持所標(biāo)識(shí)的傳輸 API的傳輸插件并調(diào)用所述傳輸插件的一個(gè)或更多個(gè)函數(shù)。
124.—種裝置,包括存儲(chǔ)計(jì)算機(jī)可讀指令的計(jì)算機(jī)可讀介質(zhì);以及耦合至存儲(chǔ)器的數(shù)據(jù)處理單元,用于執(zhí)行所述指令,并至少部分地基于所述指令的執(zhí)行來(lái)執(zhí)行操作,所述操作包括解析包含一個(gè)或更多個(gè)內(nèi)核服務(wù)組件的內(nèi)核組件的列表(320), 確定所述被解析的列表中在本地儲(chǔ)存庫(kù)中缺少的所有內(nèi)核組件(322), 檢索被確定為缺少的每個(gè)所述內(nèi)核組件(3M), 從一些所述內(nèi)核服務(wù)內(nèi)核組件實(shí)例化內(nèi)核服務(wù)(326),以及執(zhí)行所述被實(shí)例化的內(nèi)核服務(wù)以在關(guān)于虛擬區(qū)域08)定義的通信環(huán)境中與一個(gè)或更多個(gè)遠(yuǎn)程網(wǎng)絡(luò)節(jié)點(diǎn)通信(3 )。
125.其中含有計(jì)算機(jī)可讀程序代碼的至少一個(gè)計(jì)算機(jī)可讀介質(zhì),所述計(jì)算機(jī)可讀程序代碼適于被計(jì)算機(jī)執(zhí)行以實(shí)現(xiàn)包括以下動(dòng)作的方法解析包含一個(gè)或更多個(gè)內(nèi)核服務(wù)組件的內(nèi)核組件的列表(320); 確定所述被解析的列表中在本地儲(chǔ)存庫(kù)中缺少的所有內(nèi)核組件(322); 檢索被確定為缺少的每個(gè)所述內(nèi)核組件(3M); 從一些所述內(nèi)核服務(wù)內(nèi)核組件實(shí)例化內(nèi)核服務(wù)(326),以及執(zhí)行所述被實(shí)例化的內(nèi)核服務(wù)以在關(guān)于虛擬區(qū)域08)定義的通信環(huán)境中與一個(gè)或更多個(gè)遠(yuǎn)程網(wǎng)絡(luò)節(jié)點(diǎn)通信(3 )。
126.—種在本地網(wǎng)絡(luò)節(jié)點(diǎn)(16)上執(zhí)行的方法,包括配置所述本地網(wǎng)絡(luò)節(jié)點(diǎn)(16)以支持在由虛擬區(qū)域(28)定義的上下文中與至少一個(gè)遠(yuǎn)程網(wǎng)絡(luò)節(jié)點(diǎn)實(shí)時(shí)通信,所述配置包括響應(yīng)于對(duì)枚舉支持指定的應(yīng)用編程接口(API)的所有插件的調(diào)用,返回包含插件數(shù)據(jù)庫(kù)中與所指定的API相關(guān)聯(lián)的所有插件的標(biāo)識(shí)符的列表(442),響應(yīng)于對(duì)枚舉由所述插件中所標(biāo)識(shí)的一個(gè)插件支持的給定API的變量的調(diào)用,傳遞包括由所標(biāo)識(shí)的插件支持的所述給定API的所有變量的標(biāo)識(shí)符的列表046),以及響應(yīng)于對(duì)實(shí)例化由所述插件中所標(biāo)識(shí)的一個(gè)插件支持的所標(biāo)識(shí)的API的所標(biāo)識(shí)的一個(gè)變量的調(diào)用,加載所標(biāo)識(shí)的插件并提供至所標(biāo)識(shí)的變量的實(shí)例的指針G50);以及建立所述配置的本地網(wǎng)絡(luò)節(jié)點(diǎn)(16)和所述至少一個(gè)遠(yuǎn)程網(wǎng)絡(luò)節(jié)點(diǎn)之間的至少一個(gè)實(shí)時(shí)數(shù)據(jù)流連接。
127.如權(quán)利要求1 所述的方法,其特征在于所述加載(450)包括創(chuàng)建基礎(chǔ)插件對(duì)象以及所返回的指向所述基礎(chǔ)插件對(duì)象的指針,以及進(jìn)一步包括執(zhí)行所標(biāo)識(shí)的變量實(shí)例,其中所述執(zhí)行包括通過(guò)繼承向所標(biāo)識(shí)的變量投擲1所述基礎(chǔ)插件對(duì)象。
128.如權(quán)利要求1 所述的方法,其特征在于,所述通信包括響應(yīng)于調(diào)用而實(shí)例化集合中的所述插件中的一些,以及將所述被實(shí)例化的插件組裝到有向圖中,所述調(diào)用包括所述集合中的所述插件的標(biāo)識(shí)符和由所述集合中的所述插件分別支持的API中的一個(gè)或更多個(gè)的標(biāo)識(shí)符。
129.如權(quán)利要求1 所述的方法,其特征在于,根據(jù)從遠(yuǎn)程網(wǎng)絡(luò)節(jié)點(diǎn)接收的流處置描述執(zhí)行所述組裝。
130.如權(quán)利要求1 所述的方法,其特征在于,所述返回、所述傳遞、和所述加載是獨(dú)立于API類型而執(zhí)行的。
131.如權(quán)利要求1 所述的方法,其特征在于,所述插件中的至少一個(gè)插件支持多個(gè) API和該插件支持的所述多個(gè)API中的至少一個(gè)API的多個(gè)變量。
132.如權(quán)利要求1 所述的方法,其特征在于,進(jìn)一步包括在關(guān)于虛擬區(qū)域08)定義的通信環(huán)境中與一個(gè)或更多個(gè)遠(yuǎn)程網(wǎng)絡(luò)節(jié)點(diǎn)通信,其中所述通信包括執(zhí)行所標(biāo)識(shí)的變量實(shí)例。
133.如權(quán)利要求132所述的方法,其特征在于,所述通信包括實(shí)例化提供流傳輸功能的至少一個(gè)所述插件。
134.如權(quán)利要求132所述的方法,其特征在于,所述通信包括實(shí)例化提供音頻流處理功能的至少一個(gè)所述插件。
135.如權(quán)利要求132所述的方法,其特征在于,所述通信包括實(shí)例化提供視覺(jué)圖形效果功能的至少一個(gè)所述插件。
136.如權(quán)利要求132所述的方法,其特征在于,所述通信包括實(shí)例化提供沖突檢測(cè)功能的至少一個(gè)所述插件。
137.如權(quán)利要求1 所述的方法,其特征在于,還包括發(fā)現(xiàn)所述本地網(wǎng)絡(luò)節(jié)點(diǎn)(16)上可用的插件G30);向所述插件查詢其支持的所有應(yīng)用編程接口(API) (432);以及基于所述查詢,在計(jì)算機(jī)可讀介質(zhì)上的插件數(shù)據(jù)庫(kù)中存儲(chǔ)所述插件與它們分別支持的 API之間的關(guān)聯(lián)(434)。
138.—種裝置,包括存儲(chǔ)計(jì)算機(jī)可讀指令的計(jì)算機(jī)可讀介質(zhì);以及耦合至存儲(chǔ)器的數(shù)據(jù)處理單元,用于執(zhí)行所述指令,并至少部分地基于所述指令的執(zhí)行來(lái)執(zhí)行操作,所述操作包括配置本地網(wǎng)絡(luò)節(jié)點(diǎn)(16)以支持在由虛擬區(qū)域08)定義的上下文中與至少一個(gè)遠(yuǎn)程網(wǎng)絡(luò)節(jié)點(diǎn)實(shí)時(shí)通信,所述配置包括響應(yīng)于對(duì)枚舉支持指定的應(yīng)用編程接口(API)的所有插件的調(diào)用,返回包含插件數(shù)據(jù)庫(kù)中與所指定的API相關(guān)聯(lián)的所有插件的標(biāo)識(shí)符的列表(442),響應(yīng)于對(duì)枚舉由所述插件中所標(biāo)識(shí)的一個(gè)插件支持的給定API的變量的調(diào)用,傳遞包括由所標(biāo)識(shí)的插件支持的所述給定API的所有變量的標(biāo)識(shí)符的列表046),以及響應(yīng)于對(duì)實(shí)例化由所述插件中所標(biāo)識(shí)的一個(gè)插件支持的所標(biāo)識(shí)的API的所標(biāo)識(shí)的一個(gè)變量的調(diào)用,加載所標(biāo)識(shí)的插件并提供至所標(biāo)識(shí)的變量的實(shí)例的指針G50);以及建立所述配置的本地網(wǎng)絡(luò)節(jié)點(diǎn)(16)和所述至少一個(gè)遠(yuǎn)程網(wǎng)絡(luò)節(jié)點(diǎn)之間的至少一個(gè)實(shí)時(shí)數(shù)據(jù)流連接。
139.其中含有計(jì)算機(jī)可讀程序代碼的至少一種計(jì)算機(jī)可讀介質(zhì),所述計(jì)算機(jī)可讀程序代碼適于被計(jì)算機(jī)執(zhí)行以實(shí)現(xiàn)包括以下動(dòng)作的方法配置本地網(wǎng)絡(luò)節(jié)點(diǎn)(16)以支持在由虛擬區(qū)域08)定義的上下文中與至少一個(gè)遠(yuǎn)程網(wǎng)絡(luò)節(jié)點(diǎn)實(shí)時(shí)通信,所述配置包括響應(yīng)于對(duì)枚舉支持指定的應(yīng)用編程接口(API)的所有插件的調(diào)用,返回包含插件數(shù)據(jù)庫(kù)中與所指定的API相關(guān)聯(lián)的所有插件的標(biāo)識(shí)符的列表(442),響應(yīng)于對(duì)枚舉由所述插件中所標(biāo)識(shí)的一個(gè)插件支持的給定API的變量的調(diào)用,傳遞包括由所標(biāo)識(shí)的插件支持的所述給定API的所有變量的標(biāo)識(shí)符的列表046),以及響應(yīng)于對(duì)實(shí)例化由所述插件中所標(biāo)識(shí)的一個(gè)插件支持的所標(biāo)識(shí)的API的所標(biāo)識(shí)的一個(gè)變量的調(diào)用,加載所標(biāo)識(shí)的插件并提供至所標(biāo)識(shí)的變量的實(shí)例的指針G50);以及建立所述配置的本地網(wǎng)絡(luò)節(jié)點(diǎn)(16)和所述至少一個(gè)遠(yuǎn)程網(wǎng)絡(luò)節(jié)點(diǎn)之間的至少一個(gè)實(shí)時(shí)數(shù)據(jù)流連接。
全文摘要
實(shí)時(shí)內(nèi)核(20)支持在相應(yīng)網(wǎng)絡(luò)節(jié)點(diǎn)(12,14)上操作的通信者之間的實(shí)時(shí)通信。該實(shí)時(shí)內(nèi)核(20)處置連接到通信者、虛擬區(qū)域(28)、以及其它網(wǎng)絡(luò)資源、響應(yīng)于用戶輸入開(kāi)關(guān)這些連接、以及混合實(shí)時(shí)數(shù)據(jù)流的復(fù)雜任務(wù)。該實(shí)時(shí)內(nèi)核(20)使開(kāi)發(fā)者能夠?qū)W⒂陂_(kāi)發(fā)高級(jí)通信功能而非低級(jí)銜接代碼。實(shí)時(shí)內(nèi)核(20)施加相對(duì)低的計(jì)算資源要求,以便實(shí)時(shí)通信性能能使用當(dāng)前可用的寬范圍計(jì)算設(shè)備和網(wǎng)絡(luò)連接來(lái)達(dá)成。
文檔編號(hào)G06F3/048GK102362269SQ200980150169
公開(kāi)日2012年2月22日 申請(qǐng)日期2009年12月4日 優(yōu)先權(quán)日2008年12月5日
發(fā)明者D·范威尼, J·阿爾特梅爾 申請(qǐng)人:社會(huì)傳播公司