新四季網

遍布式實時框架的製作方法

2023-10-24 15:10:12

專利名稱:遍布式實時框架的製作方法
遍布式實時框架
背景技術:
高速網絡和計算機處理資源的進步已經導致各種不同實時軟體應用的擴增,這些實時軟體應用包括實時通信系統(例如,文字聊天、語音、以及視頻通信系統)和要求快速響應時間的實時數據流送系統(例如,在線金融交易系統)。實時軟體應用在由計算機作業系統創建的應用環境中工作於計算機之上。計算機作業系統通常在實時軟體應用程式和計算機系統硬體之間提供標準化的、一致性應用編程接口(API)。API通常允許實時軟體應用通過一組低級原語以標準化方式與計算機系統硬體接口或訪問計算機系統硬體。這些低級原語必須通過低級管路代碼被集成到支持實時軟體應用所要求的實時功能性的較高級別的功能性。計算機作業系統所提供的最小開發支持對實時軟體應用的開發者施加了相當的負擔;不僅是編寫底層管路代碼所需的大量精力,而且直接與低級原語交互的布線代碼固有的複雜性不可避免地增加了開發實時軟體應用所需的時間。
發明概要在一方面,本發明的特徵在於一種方法,根據該方法,基於與軟體應用和計算機數據文件的至少一者相關聯的連接規則中對虛擬區域的指定來確定該虛擬區域的實例。查明與該虛擬區域的實例相關聯的一個或多個網絡節點。在由該虛擬區域的實例定義的上下文中經由與這些網絡節點的至少一個網絡節點的至少一個網絡連接發起至少一個實時數據流的傳遞。在另一方面,本發明的特徵在於一種方法,根據該方法,將連接規則中對至少一個連接目標的指定解析為至少一個相應網絡節點連接句柄,其中該連接規則與軟體應用和計算機數據文件的至少一者相關聯。經由與分別關聯於該至少一個相應網絡節點連接句柄的至少一個網絡節點的至少一個網絡連接發起至少一個實時數據流的傳遞。在另一方面,本發明的特徵在於一種方法,根據該方法,發布應用編程接口(API)。 該API聲明執行包括基於連接規則管理實時數據流的網絡連接的操作的功能。連接規則的每一條包括對虛擬區域的相應指定和對與該虛擬區域相關聯的一個或多個連接目標的相應指定中的至少一者。響應於對該API的調用,基於這些連接規則中與軟體應用和計算機數據文件的至少一者相關聯的相應一條連接規則以及該虛擬區域中的至少一個位置來管理與至少一個網絡節點的實時數據流連接。在另一方面,本發明的特徵在於一種方法,根據該方法,用根據與軟體應用和該軟體應用能對其操作的數據文件中的至少一者相關聯的連接規則在虛擬區域的實例所定義的上下文中建立與至少一個連接目標的網絡連接的調用來調用應用編程接口(API)。連接規則包括對虛擬區域的相應指定和對與該虛擬區域相關聯的一個或多個連接目標的相應指定。用基於該虛擬區域實例中的位置經由該網絡連接關於該連接目標發起至少一個實時數據流的傳遞的調用來調用該API。在另一方面,本發明的特徵在於一種方法,根據該方法,響應於包括軟體應用和計算機數據文件的至少一者中的位置的定義的應用編程接口(API)的調用執行至少以下操
9作確定與該位置定義相關聯且包括對虛擬區域的指定的連接規則;建立與主存該虛擬區域的實例並發布描述該虛擬區域實例的當前狀態的狀態數據的網絡基礎設施服務的會話; 訂閱該狀態數據;以及呈現該狀態數據的人類可感知視圖。在一方面,本發明的特徵在於一種方法,根據該方法,響應於包括軟體應用和計算機數據文件的至少一者中的位置的定義的應用編程接口(API)調用執行至少以下操作確定與該位置定義相關聯且包括對至少一個連接目標的指定的連接規則;建立與管理網絡節點的連接句柄分布的網絡基礎設施服務的會話;向該網絡基礎設施服務聲明連接至該連接對象中指定的連接目標中的一個或多個連接目標的意圖;從該網絡基礎設施服務接收至少一個相應網絡節點連接句柄;以及經由與關聯於該至少一個相應網絡節點連接句柄的網絡節點的至少一個網絡連接發起至少一個實時數據流的傳遞。在一方面,本發明的特徵在於一種方法,根據該方法,響應於包括軟體應用和計算機數據文件的至少一者中的位置的定義的應用編程接口(API)調用執行至少以下操作確定與該位置定義相關聯且包括對至少一個連接目標的指定的連接規則;建立與管理網絡節點之間的存在性數據的交換的網絡基礎設施服務的會話;以及向該網絡基礎設施服務聲明向分別對應該至少一個連接目標的網絡節點中的至少一個網絡節點輸出包括該位置的定義的存在性數據的意圖。本發明的特徵還在於用於實現上述的發明方法的裝置和存儲致使計算機實現上述發明方法的計算機可讀指令的計算機可讀介質。本發明的其他特徵和優點將因為包括附圖和權利要求的以下描述而變得顯而易見。附圖簡述

圖1是包括遍布式實時框架和網絡基礎設施服務環境的操作環境的實施例的圖
7J\ ο圖2是由圖1的遍布式實時框架的實施例執行的方法的實施例的流程圖。圖3是圖1的遍布式實時框架和網絡基礎設施服務環境在由虛擬區域實例所定義的通信上下文中建立實時通信的實施例的框圖。圖4是包括呈現共享虛擬區域的二維描繪的圖形用戶界面的網絡節點的實施例的圖示。圖5A是計算機數據文件的實施例的框圖。圖5B是存儲對圖5A中計算機數據文件的區段進行定義的記錄的計算機數據文件區段定義資料庫的實施例的圖示。圖6A是軟體應用文件的實施例的框圖。圖6B是存儲對圖6A中軟體應用的區段進行定義的記錄的軟體應用區段定義資料庫的實施例的圖示。圖7A是具有被映射至圖6A中的軟體應用的區段的地帶的抽象虛擬空間的實施例的圖示。圖7B是具有被映射至圖6A中的軟體應用的區段的地帶的兩個視覺虛擬空間的實施例的圖示。圖8是包含具有指向連接對象資料庫的實施例中的相應記錄的連接對象標識符
10的記錄的連接對象關聯資料庫的實施例的圖示。圖9是連接對象資料庫的實施例的圖示。圖10是在圖1的操作環境的實施例中連接至三個其他網絡節點的網絡節點的實施例的框圖。圖11是登錄到圖1的網絡基礎設施服務環境的實施例的方法的實施例的流程圖。圖12是由圖1的遍布式實時框架的實施例實現的方法的實施例的流程圖。圖13是由圖1的遍布式實時框架的實施例在經由會合服務的實施例查明連接目標時所實現的方法的實施例的流程圖。圖14是由圖1的遍布式實時框架的實施例在經由區域服務的實施例查明連接目標時所實現的方法的實施例的流程圖。圖15是圖10中所示的操作環境的實施例的圖示。圖16是作業系統的實施例以及圖1的遍布式實時框架的實施例的圖示。圖17是由圖1的遍布式框架的區域連接服務的實施例實現的方法的實施例的流程圖。圖18是由區域進入服務、流交換服務、和流處置器服務的實施例在圖1的遍布式框架的實施例中實現的方法的實施例的流程圖。圖19是由流交換服務的實施例在圖1的遍布式框架的實施例中實現的方法的實施例的流程圖。圖20是由流交換服務的實施例在圖1的遍布式框架的實施例中實現的方法的實施例的流程圖。圖21是由流交換服務的實施例在圖1的遍布式框架的實施例中實現的方法的實施例的流程圖。圖22是由目標連接服務的實施例在圖1的遍布式框架的實施例中實現的方法的實施例的流程圖。發明具體描述以下描述中,相同的附圖標記被用於標識相同的要素。此外,示圖旨在以圖示方式來解說示例性實施例的主要特徵。示圖無意描繪實際實施例的每一項特徵或所描繪要素的關係尺度,並且不是成比例繪製的。I.術語定義「計算機」是根據臨時或持久地存儲在計算機可讀介質上的計算機可讀指令來處理數據的任何機器、設備、或裝置。「計算機作業系統」是管理和協調任務的執行以及計算與硬體資源的共享的計算機系統的軟體組件。「軟體應用」(也稱作軟體、應用、計算機軟體、 計算機應用、程序、以及電腦程式)是計算機能夠解讀並執行以進行一項或多項具體任務的指令集。「應用編程接口」(或API)是作業系統、庫、或服務提供以支持軟體應用作出的請求的功能(或規程)聲明集。API指定該接口中指定的標識符的接口和行為。API的實現指提供該API描述的功能性的軟體應用代碼。「計算機數據文件」是持久地存儲數據以供軟體應用使用的信息塊。「交互空間」是針對軟體應用和計算機數據文件中的至少一者中的每個有一維度且具有與該軟體應用和/或數據文件的不同區段(例如,計算機數據文件中的章節或演示
11幻燈片、和軟體應用的不同功能或進入點)相對應的「位置」的抽象空間。「用戶關於交互空間的當前焦點」是該軟體應用和/或計算機數據文件中當前在用戶的網絡節點上活躍著的區段。「資料庫」是以能夠被計算機搜索的標準化格式呈現的組織化的記錄集合。資料庫可以存儲在單個計算機可讀數據存儲介質上,或者可以跨多個計算機可讀數據存儲介質分布。「數據阱」(本文中簡稱為「阱」)是接收數據的設備(例如,計算機)、設備的一部分、或軟體中的任一者。「數據源」(本文中簡稱為「源」)是始發數據的設備(例如,計算機)、設備的一部分、或軟體中的任一者。「框架」是一組可重用、協同操作的高級功能的類和支配低級功能(例如,作業系統原語和內核原語)可被組合的方式的協議,包括定義這些原語可如何由軟體應用調用且框架如何響應此類調用的規則。「網絡節點」是通信網絡中的結或連接點。示例性網絡節點包括但不限於終端、計算機、以及網絡交換機。「網絡連接」是兩個通信網絡節點之間的連結。「連接規則」指定虛擬區域和連接目標中的至少一者,並且包括指導適當配置的軟體應用或服務在發起網絡連接時的行為的一個或多個連接條件的任選集合。「連接目標」 是指可被用於建立與網絡節點上的通信者、資源、或服務的網絡連接的標識符或連接句柄 (例如,統一資源標識符(URI))。「連接條件」指定影響網絡連接的建立、網絡連接的管理、 或對跨網絡連接傳遞的數據的處理的一個或多個參數。例如,連接條件可描述在嘗試或建立網絡連接之前應該滿足的關於操作環境的謂詞。「對象」是虛擬區域中可有用地與該虛擬區域的幾何體系區分對待的任何類型的離散要素。示例性的對象包括門、門戶、窗口、察看屏、以及擴音器。對象典型地具有與虛擬區域的屬性和特性分離且不同的屬性和特性。「化身」是代表虛擬區域中的通信者的對象。「存在性」是指聯網實體(例如,通信者、服務、或設備)進行通信的能力或意願,其中此類意願影響在網絡上檢測和獲得關於該實體的狀態的信息的能力以及連接到該實體的能力。「實時數據流」是以連續流的形式進行結構化和處理並且被設計成無延遲或者只有察覺不到的延遲地接收的數據。實時數據流可落入從較高優先級的硬實時數據流(例如,語音流)到較低優先級的軟實時數據流(例如,屏幕共享數據流)的不同優先級類別。 實時數據流包括語音、視頻、用戶移動、面部表情及其他物理現象的數字表示,以及計算環境內可得益於迅速傳輸、迅速執行、或迅速傳輸和迅速執行兩者的數據,例如包括化身移動指令、文字聊天、實時數據饋送(例如,傳感器數據、機器控制指令、交易流以及股票報價信息饋送)、以及文件傳遞。「流混合」是相同或語義一致類型(例如,音頻、視頻、聊天、和運動數據)的兩個或更多個實時數據流的組合。例如,語音流集可能被混合進單個語音流或語音流可能被混合進視頻流的音頻部分。「交換規則」是依照一個或多個條件先例指定一個或多個實時數據源與一個或多個實時數據阱的連接或斷開的指令。
12
「虛擬區域」(也被稱作「區域」或「場所」)是由計算機管理的空間或場景的表示。 虛擬區域通常是一維、二維、或三維的表示;儘管在一些實施例中虛擬區域也可對應於單個點。虛擬區域經常被設計成模擬物理、真實世界的空間。例如,使用傳統的計算機監視器, 虛擬區域可被視覺化為由計算機生成的三維空間的二維圖形。然而,虛擬區域並不要求相關聯的用以實現交換規則的視覺化。虛擬區域通常是指虛擬區域模式的實例,其中模式以變量的形式來定義虛擬區域的結構和內容,而實例以已從特定上下文解析出的值的形式來定義虛擬區域的結構和內容。「虛擬區域規範」是在創建共享虛擬區域通信環境時使用的虛擬區域描述。「虛擬通信環境」是包括至少一個虛擬區域並且支持通信者之間的實時通信的由計算機管理的空間的表示。「地帶」是虛擬區域中與至少一個交換規則或支配規則相關聯的區劃。交換規則控制通過共享的虛擬區域通信的網絡節點之間的實時數據流的交換(例如,路由、連接、和斷開)。支配規則控制通信者對資源(例如,區域、區域的區劃、或該區域或區劃的內容)的訪問,該訪問的範圍、以及該訪問的後繼結果(例如,必須記錄關於該訪問的審計記錄的要求)。虛擬區域中的「位置」是指該虛擬區域中的點或面積或體積的定位。點典型地是由定義虛擬區域中的點的一維、二維、或三維坐標(例如,x、y、z)單個集合表示的。面積典型地由定義虛擬區域中閉合的二維形狀的邊界的三個或更多個共面頂點的三維坐標來表示的。體積通常由定義虛擬區域中的三維形狀的閉合邊界的四個或更多個非共面頂點的三維坐標來表示。「通信者」是在網絡連接上與其他人通信或以其他方式交互的人,其中該通信或交互可以發生或者也可以不發生在共享的虛擬區域的上下文中。「用戶」是正在操作特定網絡節點的通信者,該特定網絡節點出於描述性目的而定義了一特定觀點。「謂詞」是規則的條件部分。如本文所使用,術語「包括」意指包括但不限於,而「包含」意指包含但不限於。II.引言本文描述的實施例提供了一種通過顯著降低在其中網絡節點之間的實時連接是遍布式的新操作環境範例中開發實時軟體應用所需的精力和時間的高級功能來支持實時軟體應用的執行的遍布式實時框架。該遍布式實時框架響應於用戶輸入處置連接至通信者、虛擬區域、和其他網絡資源、以及交換這些連接的複雜任務,並由此使得軟體應用開發者能集中精力於開發高級實時軟體應用功能性。在一些實施例中,遍布式實時框架提供將傳統作業系統功能(例如,進程管理功能、文件管理功能、存儲器管理功能、存儲管理功能、設備管理功能、和網絡管理功能)與實時功能(例如,實時調度功能、實時連接功能、和實時數據流處置功能)相集成的功能。在一些實施例中,遍布式實時框架包括普通遍布式實時任務的預編碼解決方案的庫、支持這些任務的執行的內核、以及用於配置和構建能夠利用該框架所提供的功能的應用的工具。以此方式,遍布式實時框架在與傳統作業系統原語的對等關係中帶來實時高級功能和原語的集合。遍布式實時框架的一些實施例使得軟體應用設計者能定義軟體應用或計算機數
13據文件中位置的語義並將這些位置語義與虛擬區域和連接目標中的至少一者相關聯。這些實施例包括可被軟體應用調用從而將位置用作空間網絡連接系統中的交換隱喻的功能。這些特徵允許軟體應用或計算機數據文件中的位置被用來例如驅動對虛擬區域的連接、虛擬區域的進入、對通信者和實時數據流的其他源或阱的連接、以及與通信者及網絡資源和服務有關的存在性數據的確定。III.概覽A.遍布式實時(PRT)框架圖1示出了基於計算機數據文件觀和軟體應用30的至少一者中的位置以及基於與軟體應用觀和計算機數據文件的至少一者相關聯的一個或多個連接規則32來管理與各種不同網絡節點14、16、18、20、22、24J6的網絡連接的遍布式實時(PRT)框架12的實施例。連接規則32中的每一條指定虛擬區域和連接目標中的至少一者,並且包括指導適當配置的軟體應用或服務在管理網絡連接時的行為的一個或多個連接條件的任選集合。圖2示出了由PRT框架12實現的方法的示例性實施例。根據此方法,PRT框架12 發布聲明執行包括基於連接規則32管理實時數據流的網絡連接的操作的功能的應用編程接口(API)(圖2,框34)。連接規則32的每一條包括對虛擬區域的相應指定和對與該虛擬區域相關聯的一個或多個連接目標的相應指定中的至少一者。響應於對API的調用36,PRT 框架12基於連接規則32中與軟體應用30和計算機數據文件觀的至少一者相關聯的相應一條連接規則以及虛擬區域中的至少一個位置來管理與至少一個網絡節點的實時數據流連接(圖2,框38)。在圖1所示的示例性實施例中,計算機數據文件觀包含三個區段(S1、S2、S3),每個區段被定義為計算機數據文件觀中的相應位置(例如,word處理文檔中的相應段落或章節);軟體應用30包含六個區段(S4、S5、S6、S7、S8、S9),每個區段被定義為軟體應用30中的相應位置(例如,軟體應用的相應功能或進入點)。計算機數據文件觀的區段(S1-S3) 中的每個區段以及軟體應用30的區段(S4-S9)中的每個區段與連接規則32中的至少一條規則相關聯。這樣,PRT框架12能夠以實時方式將區段S1-S9中的每個區段連接至虛擬區域或一個或多個連接目標、或者這兩者,包括將存在性信息輸出給相關聯的連接目標、邀請相關聯的連接目標參與相關聯的虛擬區域中的通信會話、以及建立與相關聯的連接目標的實時連接。例如,在針對圖1中所示的實施例實現圖2的方法時,PRT框架12基於計算機數據文件觀和軟體應用30的至少一者中的所報告位置、以及基於與所報告位置相關聯的連接規則來管理與網絡節點1416中的一個或多個網絡節點的相應實時數據流連接。當所報告位置是Sl時,PRT框架12根據與位置Sl相關聯的連接規則來管理與網絡節點14 (數據源 1 ;例如,實時股票報價服務)的實時數據流網絡連接。當所報告位置是S2時,PRT框架12 根據與位置S2相關聯的連接規則來管理與網絡節點16、18、和20(生意聯繫人)的視頻會議網絡連接。當所報告位置是S8時,PRT框架12根據與位置S8相關聯的連接規則來管理與網絡節點22 (數據源2;例如,實時音樂或視頻流送服務)的實時數據流連接。當所報告位置是S9時,PRT框架12根據與位置S9相關聯的連接規則來管理與網絡節點24 J6 (朋友)的語音和文字聊天網絡連接。因此,PRT框架12通過連接規則與軟體應用、計算機數據文件、及其部分的關聯使
14得軟體應用開發者能構造可在遍布式實時連接環境中操作的軟體應用。PRT框架12如連接規則所要求的那樣管理實時連接和實時數據流處理,並由此允許軟體應用開發者能集中精力於生成能夠利用這種遍布式網絡連接的新範例的軟體應用的增值任務。B.操作環境如在圖1和3中所示,PRT框架12在包括網絡42和網絡基礎設施服務環境43的操作環境40的上下文中操作。1.網絡環境網絡42可包括區域網(LAN)、城域網(MAN)、和廣域網(WAN)(例如,網際網路)中的任意一者。網絡42通常包括數個不同的計算平臺和支持諸網絡節點之間各式各樣不同媒體類型(例如,文本、語音、音頻、及視頻)的傳輸的輸送設施。PRT框架12通常在包括軟體和硬體資源的網絡節點上操作,軟體和硬體資源與管理策略、用戶偏好(包括關於用戶的存在性的輸出以及用戶與區域和連接目標的連接的偏好)、以及其他設置一起定義了影響對與其他網絡節點的實時連接的管理的本地配置58。 網絡節點之間的網絡連接可以各種不同的流處置拓撲來安排,包括對等架構、伺服器仲裁架構、以及組合了對等及伺服器仲裁架構的諸方面的混合式架構。這些類型的示例性拓撲在提交於2007年10月M日的美國申請號11/923,629和11/923,634中記載。2.基礎設施服務環境網絡基礎設施服務環境43提供與PRT框架12協同操作以管理與網絡節點1446 的網絡連接的一個或多個網絡基礎設施服務。網絡基礎設施服務可在單個網絡節點上運行或者可以跨多個網絡節點分布。網絡基礎設施服務通常在一個或多個專用網絡節點(例如,伺服器計算機或執行諸如路由和交換之類的邊服務的網絡設備)上運行。然而,在一些實施例中,網絡基礎設施服務中的一個或多個在通信者的網絡節點中的至少一個上運行。 在一些實施例中,網絡基礎設施服務中的一個或多個服務運行於一個或多個虛擬機上,這一個或多個虛擬機可能正在相同的物理硬體上運行。包括在該示例性操作環境40中的網絡基礎設施服務有安全服務44、區域服務46、會合服務48、和交互服務50。安全服務44控制通信者對操作環境40的資源的訪問。安全服務44所實現的訪問控制方法通常基於能力(其中訪問被授予具有適當能力或許可的實體)或訪問控制列表 (其中訪問被授予身份在該列表上的實體)。在安全服務44已授權一特定通信者訪問之後, 該通信者通常使用由另一網絡基礎設施服務提供的功能性在操作環境40中交互。區域服務46主存虛擬區域。在此過程中,區域服務46管理依照請求方實體的能力對虛擬區域的連接、維護虛擬區域的全局狀態信息、以及充當參與由虛擬區域定義的上下文中的共享通信會話的網絡節點的數據伺服器。全局狀態信息包括該虛擬區域中的所有對象以及它們在該虛擬區域中的各自相應位置的列表。區域服務46向參與的網絡節點周期性地發送全局狀態信息。區域服務46還註冊請求加入通信會話的其他網絡節點並向它們傳送初始化信息。在此過程中,區域服務46向每個加入的網絡節點傳送可存儲於本地或遠程資料庫中的虛擬區域規範的副本。區域服務46還確保參與的網絡節點在發生通信故障的情況下能夠同步到全局狀態。會合服務48管理存在性信息的收集、存儲和分發,並(例如,通過管理連接句柄的分發)為網絡節點提供用以依照請求方實體的能力彼此通信的機制。會合服務48通常將
15存在性信息存儲在存在性資料庫中。交互服務50維護記錄通信者之間的交互的交互資料庫,並支持依照請求方實體的能力對交互資料庫的查詢。對於通信者之間的每次交互,操作環境43中的一項或多項服務(例如,區域服務46)將交互數據傳送給交互服務50。作為響應,交互服務50在關係資料庫中生成一項或多項相應的交互記錄。每個交互記錄描述交互的上下文。例如,在一些實施例中,交互記錄包含每個通信者的標識符、交互場所的(例如,虛擬區域實例)標識符、 對交互場所的層次的描述(例如,對該交互地與一更大區域有何關係的描述)、交互的開始和結束時間、以及在交互期間共享的所有文件和其他流的列表。因此,對於每次實時交互, 交互服務50跟蹤其何時發生、在何處發生、以及在所涉及(例如,進入和退出)的通信者、 被激活/抑活的對象、和共享的文件方面在交互期間發生了什麼。交互服務50能夠以基於場所的分類次序(例如,最頻繁或最近)呈現對交互資料庫記錄的查詢結果。查詢結果可被用於驅動通信者在哪些虛擬區域中已遇見的何人的頻率排序、以及在不論虛擬區域的情況下該通信者已遇見的何人的排序和對該通信者最經常出入的虛擬區域的排序。查詢結果還可被軟體應用開發者用作基於關係使某些任務自動化的啟發式系統的一部分。這種類型的啟發式操作示例是默認準許已經拜訪一特定虛擬區域5 次以上的通信者進入而無需敲門的啟發式操作、或者允許在一特定時間存在於一區域中的通信者修改和刪除由在該同一時間存在於該同一區域中的另一通信者創建的文件的啟發式操作。對交互資料庫的查詢可與其他搜索相結合。例如,對交互資料庫的查詢可與針對使用在網絡基礎設施服務環境43的域之外的通信系統(例如,Skype、Faceb00k、以及Flickr) 與聯繫人交互而生成的聯繫人歷史數據的查詢相結合。3.虛擬區域參照圖3,在一些實施例中,PRT框架12管理在虛擬區域的實例56所定義的通信上下文M中與網絡節點的實時連接。虛擬區域實例56可對應關於抽象坐標(例如,由相關聯的計算機數據文件或軟體應用中的位置定義的坐標、或者在其中消費者服務資料庫為區域的實施例中,該資料庫中的每條記錄構成地帶)所定義的抽象虛擬空間。替換地,虛擬區域實例56可對應關於與特定視覺化相關聯的一維、二維、或三維幾何坐標所定義的視覺虛擬空間。抽象虛擬區域可以與相應視覺化相關聯或者也可不相關聯,而視覺虛擬區域與相應視覺化相關聯。通信者通常從執行相應計算環境的相應網絡節點訪問虛擬區域實例56,相應計算環境能確定在該虛擬區域中的運動並建立與其他網絡節點的實時數據流連接。通信者通常在具有相關聯的視覺化的虛擬區域中由相應的化身來表示。化身響應於由通信者在其各自相應的網絡節點處輸入的輸入命令來關於虛擬區域移動。通信者看到的具有相關聯的視覺化的虛擬區域實例的視圖通常是從該通信者的化身的觀點呈現的,且每個通信者通常能夠觀看到他或她的化身周圍的視覺虛擬區域的任何部分,從而增強了通信者身臨其境的程度。圖4示出了由計算機系統60實現的示例性網絡節點的實施例。計算機系統60包括顯示監視器62、計算機滑鼠64、鍵盤66、揚聲器68、70、以及話筒72。顯示監視器62顯示圖形用戶界面74。圖形用戶界面74是基於窗口的圖形用戶界面,其能包括多個窗口、圖標、和指針76。在所解說的實施例中,圖形用戶界面74呈現對與表示藝廊的三維可視化相
16關聯的共享虛擬區域78的二維描繪。通信者在該虛擬區域78中由各自相應的化身80、82、 84來表示,每個化身可在該虛擬區域78的上下文中具有各自相應的角色(例如,館長、藝術家、和遊客)。如下文詳細解釋的,虛擬區域78包括地帶86、88、90、92、94,這些地帶與支配由虛擬區域78中的化身80-84所表示的網絡節點之間的實時數據流的交換的相應規則相關聯。 (在典型的通信會話期間,圖4中劃界出地帶86-94的虛線對於通信者而言是不可見的,儘管可以有與此類地帶邊界相關聯的視覺線索。)交換規則規定在每一個網絡節點上執行的本地連接過程如何基於通信者的化身80-84在虛擬區域78的地帶86-94中的位置來建立與其他網絡節點的通信。在通信會話期間,每個通信者網絡節點生成相應的一組實時數據流(例如,運動數據流、音頻數據流、聊天數據流、文件傳遞數據流、以及視頻數據流)。例如,每個通信者操縱一個或多個生成運動數據流的輸入設備(例如,計算機滑鼠64和鍵盤66),這控制他或她的化身在虛擬區域78中的移動。此外,在計算機系統60附近本地生成的通信者的語音和其他聲音由話筒72捕獲。話筒72生成可被轉換為實時音頻流的音頻信號。音頻流的相應副本被傳送給由虛擬區域78中的化身表示的其他網絡節點。在這些其他網絡節點本地生成的聲音被轉換成實時音頻信號並被傳送給計算機系統60。計算機系統60將其他網絡節點生成的音頻流轉換為由揚聲器68、70呈現的音頻信號。運動數據流和音頻數據流可直接或間接從每一個通信者節點傳送至其他通信者網絡節點。在一些流處置拓撲中,每個通信者網絡節點接收由其他通信者網絡節點傳送的實時數據流的副本。在其他流處置拓撲中, 一個或多個通信者網絡節點接收從源自(發源於)其他一些網絡節點的實時數據流導出的一個或更多個流混合。虛擬區域由包括對該虛擬區域的幾何要素的描述以及一個或多個規則(包括交換規則和支配規則)的規範來定義。交換規則支配網絡節點之間的實時流連接。支配規則控制通信者對諸如虛擬區域本身、具有虛擬區域的區劃、以及虛擬區域內的對象之類的資源的訪問。在一些實施例中,虛擬區域的幾何要素根據C0LLADA—2006年4月數字資產計劃版本1. 4. 1規範(可從http://www. khronos. orR/collada/得到)進行了描述,而交換規則根據在美國申請號11/923,629和11/923,634中描述的C0LLADA流參考規範進行了描述。虛擬區域的幾何要素通常包括虛擬區域的物理幾何體系和碰撞幾何體系。物理幾何體系描述虛擬區域的形狀。物理幾何體系通常由三角形、四邊形、或多邊形的表面形成。 顏色和紋理被映射到物理幾何體系上以創建虛擬區域的更真實表觀。例如可通過在視覺幾何體系上描繪燈光並修改燈光附近的紋理、顏色、或亮度來提供燈光效果。碰撞幾何體系描述確定對象可在虛擬區域中移動的方式的不可見表面。碰撞幾何體系可與視覺幾何體系一致、對應於視覺幾何體系的更簡單的近似、或者與對虛擬區域設計者的因應用而異的要求有關。交換規則通常包括對用於按照虛擬區域中的位置來連接實時數據流的源和阱的條件的描述。每個規則通常包括定義該規則所適用的實時數據流類型以及該規則在該虛擬區域中所適用的(諸)位置的屬性。在一些實施例中,每個規則任選地可包括指定源的所要求角色、阱的所要求角色、流的優先級別、和所請求的流處置拓撲的一個或多個屬性。在
17一些實施例中,如果沒有為虛擬區域的特定部分定義顯式交換規則,則可向虛擬區域的該部分應用一個或多個隱式或預設交換規則。一個示例性預設交換規則是依照策略規則的、 將區域內的每個源連接至每個相兼容的阱的規則。策略規則可全局地適用於區域客戶端之間的所有連接、或者僅適用於與個體區域客戶端的相應連接。策略規則的示例是接近度策略規則,該規則僅允許源與關聯於虛擬區域中彼此在規定距離(或半徑)內的相應對象的兼容阱的連接。在一些實施例中,支配規則與虛擬區域相關聯以控制誰能訪問該虛擬區域、誰能訪問其內容、對該虛擬區域的內容的訪問的範圍是什麼(例如,用戶關於該內容能做什麼)、以及訪問這些內容的後繼結果是什麼(例如,記錄跟蹤,諸如審計日誌、和支付要求)。 在一些實施例中,整個虛擬區域或該虛擬區域的地帶與「支配網格」相關聯。在一些實施例中,支配網格是用類似於在美國申請號11/923,629和11/923,634中描述的地帶網格的實現的方式來實現的。支配網格使得軟體應用開發者能夠將支配規則與虛擬區域或虛擬區域的地帶相關聯。這避免了為虛擬區域中的每個文件創建個體許可的需求並且避免了處理在需要根據上下文不同地對待同一文檔時可能產生的複雜度的需求。在一些實施例中,虛擬區域與將該虛擬區域的一個或多個地帶與數字版權管理 (DRM)功能相關聯的支配網格相關聯。DRM功能控制對虛擬區域或該虛擬區域內的一個或多個地帶或該虛擬區域內的對象中的一者或多者的訪問。每次通信者越過該虛擬區域內的支配網格邊界時DRM功能被觸發。DRM功能確定該觸發動作是否被許可,並且如果許可,則確定所許可動作的範圍、是否需要支付、以及是否需要生成審計記錄。在虛擬區域的示例性實現中,相關聯的支配網格被配置成使得如果通信者能夠進入該虛擬區域,則他或她能夠對與該虛擬區域相關聯的所有文檔執行動作,包括操控文檔、查看文檔、下載文檔、刪除文檔、修改文檔和重新上載文檔。這樣,虛擬區域可變成在由該虛擬區域定義的上下文中共享和討論的信息的儲存庫。關於虛擬區域的規範的附加細節在美國申請號61/042714 (提交於2008年4月4 日)、11/923,629(提交於 2007 年 10月 M 日)、和 11/923,634 (提交於 2007 年 10 月 M
日)中記載。4.軟體應用和計算機數據文件中的位置遍布式實時框架12的一些實施例使軟體應用設計者能定義軟體應用或計算機數據文件中的位置的語義。通過與相應連接規則的關聯,這些位置定義可被用於例如驅動對虛擬區域的連接、虛擬區域的進入、對通信者和實時數據流的其他源或阱的連接、以及與通信者、網絡資源和網絡服務有關的存在性數據的確定。如上所述,計算機數據文件是持久地存儲供軟體應用使用的數據的任何信息塊 (例如,被用作軟體應用的輸入、和/或被編寫為軟體應用的輸出的信息)。計算機數據文件可被設計成與包括消費者和企業軟體應用在內的任何類型的軟體應用聯用,並且可以任何類型的開放或封閉式數據文件格式存儲。計算機數據文件包括一個或多個組件,這些組件的內容和結構至少部分地取決於存儲在該計算機數據文件中的數據的類型和用途以及取決於用於創建它的軟體。例如,用於桌面發布軟體應用的計算機數據文件通常具有與諸如排列成句、段落、標題和塊的文本、圖、表、行/列、頁、繪圖片、演示幻燈片、及電子數據表之類的預定義區段或數據類別、或者諸如安全特徵或認證特徵之類的功能特徵相對應的組
18件。軟體應用開發者或最終用戶可定義計算機數據文件中包括該計算機數據文件的一個或多個組成組件的一個或多個區段。區段可包括整個計算機數據文件或該計算機數據文件的部分、並且可與另一區段整個或部分地交迭。圖5A示出了包括數據文件容器97的示例性計算機數據文件96,該數據文件容器 97保持有組件A、B、C、D、組件B的子組件B (1)、B⑵、和B (3)、以及組件C的子組件C(I)、 C (2)和C(3)的分等級排列。計算機數據文件96被劃分成三個區段(Si、S2、S3),每個區段與計算機數據文件96的組件和子組件中的一個或多個相關聯。例如,區段Sl與子組件 B(I)相關聯,區段S2與組件C相關聯,以及區段S3與子組件(Β; )和組件C相關聯。計算機數據文件的組件與區段之間的關聯可以各種不同的數據結構格式進行存儲。例如,圖5B示出了包含定義計算機數據文件96中的區段的記錄的示例性計算機數據文件區段定義資料庫98。區段定義記錄通過記錄標識符和計算機數據文件96的標識符進行索引。在一些實施例中,PRT框架12提供允許軟體應用開發者用可由最終用戶用於在計算機數據文件區段定義資料庫98中創建記錄的一個或多個對話框來設計軟體應用的功能。如上所述,軟體應用是在已被載入到存儲介質(例如,硬碟驅動器、存儲器、或隨機存取存儲器)中後計算機能夠解讀和執行的指令集。軟體應用包括其內容和結構至少部分地取決於該軟體應用及其設計架構的功能性的一個或多個邏輯組件(例如,硬連線的、 臨時的、上下文的、查找表組件)或功能組件(例如,功能或進入點)。例如,一些軟體應用使用由數個組件構成的組件化架構,每個組件可被包含在單獨的庫中並且可顯露使其能被主可執行件所主存的相應接口集合。軟體應用開發者可定義軟體應用的包括該軟體應用的一個或多個組件的一個或多個區段。區段可包括整個軟體應用或該軟體應用的部分、並且可與另一區段整個或部分地交迭。圖6A示出了包括應用容器100的示例性軟體應用99,該應用容器100保持有組件 E、F、組件E的子組件E(I)、E(2)、和E (3)、組件F的子組件F(I)、F(2)、子組件F(I)的子組件F(i)和F (ii)、以及子組件F (2)的子組件F(iii)的分等級排列。軟體應用100被劃分成六個區段(S4、S5、S6、S7、S8、S9),每個區段與軟體應用99的組件和子組件中的一個或多個相關聯。例如,區段S4與子組件B(I)相關聯,區段S5與組件F相關聯,區段S6與子組件F(I)相關聯,區段S7與子組件FQ)相關聯,區段S8與子組件F(ii)和F(iii)相關聯,以及區段S9與子組件E (3)和F(i)相關聯。軟體應用的組件與區段之間的關聯可以各種不同的數據結構格式進行存儲。例如,圖6B示出了包含定義軟體應用99中的區段的記錄的示例性軟體應用區段定義資料庫 102。區段定義記錄通過記錄標識符和軟體應用99的標識符進行索引。在一些實施例中, PRT框架12提供允許軟體應用開發者在軟體應用區段定義資料庫102中創建資料庫記錄的一個或多個對話框。參照圖7A和7B,在一些實施例中,計算機數據文件或軟體應用的這一個或多個區段與虛擬區域的相應地帶相關聯。例如,在一些實施例中,計算機數據文件或軟體應用的這一個或多個區段與關於一維或多維抽象拓撲空間中的坐標所定義的抽象虛擬區域的相應地帶相關聯,該抽象拓撲空間具有至相關聯的計算機數據文件或軟體應用中的位置的一對一映射。例如,圖7A示出了軟體應用99的區段S4-S9至具有直接映射到軟體應用99的相應的組件和子組件的坐標
19的二維拓撲空間中的相應坐標的示例性映射。在其他實施例中,計算機數據文件或軟體應用的這一個或多個區段與一個或多個視覺虛擬區域的相應地帶相關聯,每個視覺虛擬區域可關於與相應視覺化相關聯的一維、 二維、或三維幾何坐標來定義。例如,圖7B示出了軟體應用99的區段S4-S9至兩個視覺虛擬區域104和78的相應坐標的示例性映射。在此示例中,區段S4與關聯於會議室的三維視覺化的視覺虛擬區域104相關聯,以及區段S5-S9與關聯於藝廊的三維視覺化的視覺虛擬區域78的相應地帶相關聯。5.連接規則PRT框架12提供使得軟體應用開發者能納入允許最終用戶將計算機數據文件或軟體應用與一個或多個連接規則相關聯的軟體應用協議(例如,對話框和類似物)的功能。 計算機數據文件或軟體應用可以各種不同方式與連接規則相關聯。在一些實施例中,計算機數據文件通過在由作業系統的文件管理器服務所管理的屬性資料庫中(例如,在可與該計算機數據文件在作業系統的文件系統級上相關聯的可擴展文件屬性中)存儲連接規則或對該連接規則的參引而與該連接規則相關聯。在一些實施例中,軟體應用通過在軟體應用文件的頭部(例如,描述該軟體應用應如何通過作業系統的程序加載器服務被載入存儲器中的頭部或片段)中存儲連接規則或對該連接規則的參引而與該連接規則相關聯。在一些實施例中,計算機數據文件或軟體應用通過在由該計算機數據文件或軟體應用的標識符索引的單獨的資料庫記錄中存儲連接規則或對該連接規則的參引而與該連接規則相關聯。在所解說的實施例中,計算機數據文件和軟體應用與各自封裝一個或多個連接規則和一個或多個任選方法的可重用連接對象的實例相關聯。每個連接規則指定虛擬區域和連接目標的至少一者,並包括影響網絡連接的建立、網絡連接的管理、或對跨網絡連接所傳遞的數據的處理的一個或多個連接條件的任選集合。封裝在連接對象中的方法類型包括例如調用PRT框架12的功能的方法和顯露可由PRT框架12、作業系統使用、或可在圖形界面中呈現給用戶的連接規則的方法。計算機數據文件或軟體應用的區段通常通過連接對象關聯資料庫中的相應記錄來與相應的連接對象的實例相關聯,該連接對象關聯資料庫用該計算機數據文件或軟體應用的標識符及相關聯的區段的標識符對每條記錄進行索引。圖8示出了示例性連接對象關聯資料庫106,其針對計算機數據文件或軟體應用的每個區段包括將該區段與對在連接對象資料庫108中索引的一個或多個相應連接對象的一個或多個參引(例如,01、02、03、04 等等)相關聯的相應記錄。圖9示出了連接對象資料庫108的實施例110,其針對每個連接對象包括可能屬性 (或欄位)的示例性集合,該可能屬性(或欄位)的示例性集合是通過其值對應於該連接對象的標識符(例如,01)的對象ID屬性關鍵字進行索引的。包括在連接對象資料庫108中的示例性屬性有區域指定屬性、連接目標指定屬性、和連接條件屬性。區域指定屬性包含標識或者可被用於標識虛擬區域的實例的區域指定值。例如, 區域指定值可對應於標識虛擬區域模式的模式標識符(例如,模式_ID)、標識虛擬區域的實例的區域標識符(例如,區域_ID)、返回虛擬區域實例的標識符的對交互資料庫的查詢、 以及對另一區域(例如,相關聯軟體應用或計算機數據文件的域之外的虛擬區域)的參引中的任何一者。
20
連接目標指定屬性包含標識或可被用於標識一個或多個連接目標的一個或多個連接目標指定。例如,連接目標指定可包括標識單個通信者的信息、標識通信者群的信息、 以及與至少一個通信者相關聯的角色的定義中的至少一者。連接目標指定可對應於一個或多個具體連接目標(例如,固定的網絡資源和具體通信者)以及返回連接目標的標識符的一個或多個查詢的標識符。示例性查詢包括對會合服務48關於當前在指定虛擬區域實例中的任何連接目標的查詢、對會合服務48關於當前處在指定虛擬區域實例中的具體連接目標的查詢、對會合服務48關於與一個或多個屬性(例如,特定角色屬性值或特定群標識符值)相關聯的連接目標的查詢、以及對交互服務50關於已經與該用戶交互並且任選地與一個或多個其他屬性相關聯的連接目標(例如,與指定虛擬區域實例或諸如特定角色屬性值或群標識符值之類的指定屬性值相關聯的連接目標)的查詢。連接條件屬性包含指定一個或多個連接條件的一個或多個連接條件定義。每個連接條件指定影響在連接至相關聯連接規則中所指定的虛擬區域實例或連接目標時PRT框架12的操作的一個或多個參數。例如,連接目標可指定影響網絡連接的建立、網絡連接的管理、對跨網絡連接傳遞的數據的處理以及將與連接相關的信息向用戶的呈現中的任何一者的一個或多個參數。一些連接條件描述在嘗試或建立網絡連接之前應當滿足的關於當前連接上下文的謂詞。此類示例性條件包括限制何時準許網絡連接的連接條件、將網絡連接的建立限制在滿足指定資源要求的網絡節點的條件、將網絡連接的建立限制在滿足指定節點配置要求的網絡節點的條件、將網絡連接的建立限制在滿足指定網絡節點位置要求的網絡節點的條件、以及將網絡連接的建立限制在滿足指定連接目標可用性要求的時間的條件。其他連接條件包括關於虛擬區域的實例化行為的條件(例如,每次運行軟體應用時應當實例化虛擬區域模式的新實例)、以及關於查詢結果所應當被處置的方式的條件 (例如,在圖形界面中將結果呈現給用戶或者只有在響應於查詢返回了單個所標識的連接目標時才自動連接至連接目標)。取決於操作環境的實現,可通過各種不同的功能和服務來添加、修改、或刪除連接對象及其組成連接規則。例如,在一些實施例中,連接規則可通過軟體應用開發者、本地系統管理員、最終用戶、PRT框架12、或網絡基礎設施服務環境43中的一個或多個網絡基礎設施服務來添加、修改、或刪除。IV.系統架構A.概覽1.引言通信者通常從網絡節點連接到網絡42 (參見圖1),網絡節點通常由通用計算機系統或專用通信計算機系統(或諸如網絡使能的視頻遊戲控制臺等的「控制臺」)來實現。網絡節點執行建立與其他網絡節點的實時數據流連接的通信過程且通常執行呈現用戶所進入的每個虛擬區域的視圖的視覺化呈現過程。在一些實施例中,多個通信者可共享單個網絡節點。圖10示出了由計算機系統120實現的網絡節點的實施例,該計算機系統120包括處理單元122、系統存儲器124、和將處理單元122連接至計算機系統120的各種組件的系統總線126。處理單元122可包括一個或多個數據處理器,每個數據處理器可以是任一
21種商業上可用的計算機處理器的形式。系統存儲器1 可包括存儲包含計算機系統120的啟動例程的基本輸入/輸出系統¢10 的只讀存儲器(ROM),並還可包括隨機存取存儲器 (RAM)。系統總線1 可以是存儲器總線、外圍總線或本地總線,並且可與任何總線協議(包括PCI、VESA、MicroChannel、ISA和EISA)兼容。計算機系統120還包括連接至系統總線 126並包含一個或多個提供對數據、數據結構和計算機可執行指令的非易失或持久存儲的計算機可讀介質盤的持久存儲存儲器128(例如,硬碟驅動器、軟盤驅動器、CD ROM驅動器、 磁帶驅動器、快閃記憶體設備、以及數字視頻盤)。用戶可使用一個或多個輸入設備130(例如,一個或多個鍵盤、計算機滑鼠、話筒、 攝像頭、操縱杆、物理運動傳感器(諸如Wii輸入設備)、以及觸摸墊等)與計算機系統120 交互(例如,輸入命令或數據)。信息可通過在顯示監視器132上呈現給通信者的圖形用戶接口(⑶I)來呈現,這由顯示控制器134控制。計算機系統120還可包括其他輸入/輸出硬體136(例如,外圍輸出設備,諸如揚聲器和印表機)。計算機系統120通過網絡適配器 138(也稱為「網絡接口卡」或NIC)連接至其他網絡節點138、140、142。若干程序模塊可被存儲在系統存儲器124中,包括作業系統(0 144(例如,可向美國華盛頓雷蒙德的微軟公司購買的Windows XP 作業系統)、PRT框架12、驅動程序 146 (例如,⑶I驅動程序)、網絡協議148、PRT知曉型軟體應用150、通過墊片巧4連接至 PRT框架12的PRT無知型軟體應用152、以及數據(例如,輸入數據、輸出數據、程序數據、 註冊表156、以及連接規則32)。在一些實施例中,墊片IM是通過擴展模塊(例如,插件) 或宏來實現的。2.作業系統作業系統144通過提供用於創建計算機系統120上的運行時執行環境的基礎作業系統服務來主存軟體應用。通常由作業系統提供的示例性類型的服務是資源管理、文件管理、安全性、認證、驗證、通知、以及用戶接口(例如、窗口化、菜單、對話等)。與計算機系統120的資源(例如,存儲器、處理器、以及I/O設備)的管理有關的服務通常由內核實現。文件管理可由內核實現、或可由單獨的文件系統管理器(例如,在一些Microsoft Windows 作業系統中提供的可安裝文件系統)實現。在打開文件(例如, 計算機數據文件或軟體應用文件)的過程中,文件系統管理器通常調用適當的文件系統驅動程序,該文件系統驅動程序查找映射出文件在磁碟上的存儲位置的該文件在資料庫(例如,文件分配表格,諸如FAT、FAT98、VFAT、MFT以及⑶FS)中的磁碟存儲位置。其他作業系統功能(諸如安全性、認證、驗證、通知、以及用戶接口)可由作業系統的一個或多個其他組件(例如,一些Microsoft Windows 作業系統中的執行服務層)提供。通常由內核提供的示例性類型的服務是進程管理、存儲器管理、設備管理、以及系統調用處置。進程管理包括運行應用並向計算機系統的硬體組件提供應用編程接口(API)。 在運行軟體應用的過程中,內核通常在存儲器中建立用於該軟體應用的地址空間、在該地址空間中加載包含該軟體應用代碼的文件、以及執行加載的軟體應用代碼。存儲器管理涉及管理軟體應用對系統存儲器1 的訪問。設備管理涉及提供通過設備驅動程序對硬體設備的訪問。系統調用處置涉及向用戶模式軟體應用提供顯露內核服務的API。通過調用該 API (例如,通過進程間通信機制和系統調用),軟體應用可向內核請求服務、傳遞參數、以及接收響應於請求由服務生成的結果。
22
作業系統144通常將硬體和軟體配置信息、用戶偏好、以及設置信息存儲在註冊表156中。例如,註冊表156通常包含以下信息引導和配置系統所需的參數;控制作業系統144的操作的系統範圍的軟體設置;安全資料庫、以及每用戶簡檔設置。在一些實施例中,連接規則32被存儲在註冊表156而非單獨的資料庫中。3.網絡協、議網絡協議148控制或使能計算機系統120和其他網絡節點之間的連接、通信、和數據傳遞。示例性的網絡協議類型包括傳輸控制協議/網際協議(TCP/IP)、用戶數據報協議 /網際協議(UDP/IP)、和實時傳輸協議(RTP)。TCP/IP包括TCP部分和IP部分。協議的TCP部分提供通過將消息分裂成較小分組、在通信網絡另一端重新裝配分組、以及重新發送任何在路上丟失的分組來提供傳輸功能。協議的IP部分通過向數據分組分配目的地網絡的地址以及目的地網絡上的目的節點的地址來提供路由功能。使用TCP/IP傳遞的每個數據分組包括包含TCP和IP信息的頭部。 IP不向通信棧的上層提供分組遞送的保證。另一方面,TCP以有保證的按序分組遞送提供面向連接的、端對端傳輸服務。這樣,TCP協議提供可靠的傳輸層連接。在不要求可靠遞送的條件下可以使用UDP來代替TCP。例如,在由於沒有時間重傳或者整體數據質量的任何降級是可接受的原因而簡單地忽略丟失的數據分組的情況下,可將UDP/IP用於實時音頻和視頻話務。RTP定義用於通過網絡連接遞送音頻和視頻的標準化分組格式。各種網絡協議可被用於在網絡節點之間傳送和接收RTP數據,包括對等連網框架、單獨使用TCP插口或與 UDP連用的中央伺服器、以及多播協議。4.設備驅動程序設備驅動程序146通常由使其他軟體應用(例如,用戶模式軟體應用和作業系統) 與連接至計算機系統120的硬體設備交互的軟體應用實現。設備驅動程序通常為可被其他軟體應用調用的功能提供API,以便轉換在軟體應用和硬體設備之間傳遞的命令和數據。5. PRT 框架PRT框架12包括PRT API和PRT內核。PRT API顯露顯著降低在其中網絡節點之間的實時連接是遍布式的新操作環境範例中開發實時軟體應用所需的精力和時間的高級功能。這些功能中的一些功能使用計算機數據文件和軟體應用的至少一者中的位置來控制對虛擬區域的連接、虛擬區域的進入、對通信者和實時數據流的其他源或阱的連接、以及與通信者及網絡資源和服務有關的存在性數據的確定。PRT內核包括控制計算機系統120和其他網絡節點138、140、142之間的實時數據流的交換的服務。在一些實施例中,PRT內核還包括控制虛擬區域和該虛擬區域中的對象的相應視圖在顯示監視器132上的呈現的進程。在這一點上,PRT內核與同驅動程序148通信的作業系統功能接口以轉換來往於顯示控制器134和用戶輸入130的命令和數據,從而呈現虛擬區域的視圖並允許通信者控制在該虛擬區域中的交互。PRT API和PRT內核的實現包括並不限於任何特定的硬體、固件、或軟體配置的一個或多個分立模塊或分立庫(例如,動態連結庫)。一般來說,這些模塊可在任何計算或數據處理環境中實現,包括在數字電子電路(例如,應用專用集成電路,諸如數位訊號處理
23器(DSP))中或在計算機硬體、固件、設備驅動程序、或軟體中。在一些實施例中,模塊的功能性被組合進單個數據處理組件中。在一些實施例中,一個或多個模塊的每一者的相應功能性由多個數據處理組件的相應集合執行。在一些實現中,用於實現PRT API和PRT內核的實施例所執行的方法的進程指令(例如,計算機可讀代碼,諸如計算機軟體),以及它們生成的數據被存儲在一個或多個計算機可讀介質上。適用於有形地表達這些指令和數據的存儲設備包括所有形式的非易失性計算機可讀存儲器,包括例如半導體存儲設備(諸如 EPROM、EEPROM和快閃記憶體設備)、磁碟(諸如內部硬碟和可移動硬碟)、磁光碟、DVD-ROM/RAM以及 CD-ROM/RAM。6.示例性系統級功能性PRT框架12與網絡基礎設施服務環境43協作以管理計算機系統120與其他網絡節點138、140、142之間的網絡連接。在管理網絡連接的過程中所涉及的示例性系統級功能性有登錄網絡基礎設施服務環境43和執行基於連接規則的PRT框架操作,後者包括經由會合服務48和區域服務46中的至少一者來確定虛擬區域的實例和查明連接目標。a.登錄網絡基礎設施服務環境在一些實施例中,一旦每次啟動PRT框架12就執行關於網絡基礎設施服務環境43 的認證。該認證過程通常基於在該PRT框架12被安裝在計算機系統120上時安全地發給用戶的憑證。該憑證通常是由證書機構籤發的證書。該證書包含私鑰和公鑰。PRT框架12 創建僅包含該公鑰的新憑證並將該私鑰安全地存儲在計算機系統120上。計算機PRT框架 12使用該私鑰創建籤名以加密用戶提供的口令的摘要,並將該籤名傳送給安全服務44。安全服務44恢復該摘要並將其存儲為該用戶的標識秘密。圖11示出了在安全服務44已接收到該用戶的標識秘密之後PRT框架12登錄到網絡基礎設施服務環境43的方法的實施例。根據此方法,PRT框架12建立與安全服務44 的會話,並將用戶的憑證發送給安全服務44(圖11,框160)。安全服務認證接收自PRT框架12的憑證(圖11,框162)。若用戶的憑證通過認證,則安全服務向PRT框架12發送認證令牌;否則,安全服務通知PRT框架12該認證失敗(圖11,框164)。若認證失敗(圖11, 框166),則PRT框架12通知該用戶並且登錄過程停止(圖11,框168)。若對用戶憑證的認證成功(圖11,框166),則PRT框架12驗證接收自安全服務44的令牌(圖11,框170)。 若令牌有效(圖11,框170),則PRT框架在繼續行動之前等待軟體應用或作業系統調用對 PRT API的調用(圖11,框172)。在經過核實之後,安全服務令牌可以向任何網絡基礎設施服務對用戶進行認證。在一些實施例中,PRT框架12可以在等待PRT API的調用的同時執行後臺任務(例如,高速緩存交互數據和其他資源從而提高PRT框架12在管理連接和執行其他任務時的響應性)。b.基於連接規則的PRT框架操作i.概覽連接規則可以與關於軟體應用和計算機數據文件的至少一者所定義的交互空間中的至少一個相應區段的定義相關聯。PRT框架可至少部分基於關於該交互空間中的該至少一個區段的當前焦點確定連接規則,並隨後根據該連接規則來關於一個或多個網絡節點發起一個或多個實時數據流的傳遞。在這些實施例中,PRT框架12通過通常包括對軟體應用和計算機數據文件的至少一者中的位置的定義的PRT API調用來調用。位置定義可以由例如PRT知曉型軟體應用來提供,該PRT知曉型軟體應用確定用戶關於由軟體應用和計算機數據文件的至少一者所定義的交互空間的當前焦點。替換地,位置定義可以由作業系統服務(例如,程序加載器服務或文件管理器服務)來提供,該作業系統服務從與軟體應用和計算機數據文件的至少一者相關聯的元數據(例如,在軟體應用文件的頭部中或者在與計算機數據文件相關聯的文件屬性資料庫中)或從控制窗口化環境的作業系統的用戶接口服務確定位置定義。圖12示出了由PRT框架12響應於包括軟體應用和計算機數據文件的至少一者中位置定義的PRT API所實現的方法的實施例。根據此方法,PRT框架12檢索與該軟體應用和該計算機數據文件的至少一者相關聯的一條或多條連接規則(圖12,框174)。在一些實施例中,PRT框架12從連接對象關聯資料庫106(參見圖8)中查詢與該軟體應用或計算機數據文件中對應於包含在該PRT API 呼叫中的該位置定義的區段相關聯的至少一個連接對象的標識符。PRT框架12從連接對象資料庫108(參見圖8)中檢索對應該連接對象標識符的連接對象,並確定在該連接對象中定義的至少一條連接規則。如上文所解釋的,連接規則指定虛擬區域和連接目標中的至少一者,並且可包括指導適當配置的軟體應用或服務在管理網絡連接時的行為的一個或多個任選的連接條件。 若在連接規則中指定了虛擬區域,則PRT框架12基於該虛擬區域指定來確定虛擬區域實例 (圖12,框176)。PRT框架12根據連接規則查明一個或多個連接目標(圖12,框178)。例如,連接目標可通過其在連接規則中的指定或者通過其與虛擬區域實例的關聯來查明(例如,所查明的連接目標是那些與當前處在該虛擬區域實例中的對象相關聯的目標)。若連接規則指定一個或多個連接目標而未指定虛擬區域,則PRT框架12通常經由會合服務48來查明連接目標。若連接規則指定虛擬區域,則PRT框架12通常經由區域服務46和會合服務48中的一者或兩者來查明連接目標。在已經查明連接目標之後,PRT框架12發起與這些連接目標中的一個或多個的相應實時數據流連接(圖12,框180)。ii.經由會合服務查明連接目標圖13示出了在通過會合服務48連接至連接目標的過程中PRT框架12所實現的方法的實施例。根據圖13的方法,PRT框架12將連接規則中對至少一個連接目標的指定解析為至少一個相應節點連接句柄(圖13,框18 。在此過程中,PRT框架12用接收自安全服務 44的令牌向會合服務48對用戶進行認證。在該用戶已經過認證之後,PRT框架12建立與會合服務48的會話。PRT框架12隨後向會合服務48傳送對與連接規則中的連接目標指定相對應的每個連接目標的相應連接句柄的請求。會合服務48標識對應連接目標指定的一個或多個連接目標。若連接規則以目標標識符指定具體連接目標,則會合服務48從存在性資料庫中查詢對應所指定的目標標識符的連接目標的狀態和能力要求。若連接規則以一個或多個屬性值的集合來指定連接目標,則會合服務48從存在性資料庫中查詢與具有匹配所指定的屬性值的屬性值的連接目標相關聯的狀態和能力要求。會合服務48將該用戶的能力與關聯於所標識的連接目標中的每個連接目標的能力要求相比較。會合服務48向PRT框架12傳送所標識的連接目標中其能力要求得到滿足的每個連接目標的相應連接句柄。在從會合服務48接收到查詢結果之後,PRT框架12確定連接規則中所包含的任何連接條件的適用性。例如,連接規則可包括關於會合服務48返回的查詢結果所應被處置的方式的條件。例如,連接條件可指定PRT框架12應在圖形界面中向用戶呈現結果以使得用戶能選擇匹配的連接目標當中他或她想要與其通信的一個或多個連接目標。在另一示例中,連接條件可指定PRT框架12應自動連接至其連接句柄在查詢結果中被返回的連接目標。連接規則還可包括描述在進行網絡連接之前應當滿足的關於當前連接環境的謂詞的連接條件。此類示例性條件包括限制何時準許網絡連接的連接條件、將網絡連接的建立限制在滿足指定資源要求的網絡節點的條件、將網絡連接的建立限制在滿足指定節點配置要求的網絡節點的條件、將網絡連接的建立限制在滿足指定網絡節點位置要求的網絡節點的條件、以及將網絡連接的建立限制在滿足指定連接目標可用性要求的時間的條件。回顧圖13,在將對連接目標的指定解析為至少一個相應連接句柄(圖13,框182) 之後,PRT框架12經由依照連接規則中所指定的任何適用的連接條件的、與關聯於該連接句柄的網絡節點的至少一個網絡連接發起至少一個實時數據流的傳遞(圖13,框184)。如上文所解釋的,PRT框架12和其他網絡節點之間的連接可以是對等連接或伺服器仲裁的連接。關於對等連接,連接目標網絡節點和PRT框架12通常彼此認證,並且隨後建立鏈路,經由該鏈路向或從該連接目標傳送至少一個實時數據流。鏈路通常是單向的且由發射方請求並被接收方接受或拒絕。iii.經由區域服務查明連接目標圖14示出了在通過區域服務46連接至虛擬區域的過程中PRT框架12所實現的方法的實施例。根據圖14的方法,PRT框架12基於連接規則中對虛擬區域的指定來確定虛擬區域的實例(圖14,框186)。在此過程中,PRT框架12通過用戶接收自安全服務44的令牌向區域服務46對用戶進行認證。在該用戶已經過認證之後,PRT框架12建立與區域服務46 的會話。PRT框架12隨後向區域服務46傳送對連接至連接規則中所指定的該虛擬區域的實例的請求。區域服務46確定與連接規則中對虛擬區域的指定對應的虛擬區域的實例。此過程通常取決於指定虛擬區域的方式(例如,通過模式標識符、虛擬區域實例標識符、或通過一個或多個查詢屬性)。若連接規則通過對模式標識符的參引來指定虛擬區域,則區域服務46檢索對應該模式標識符的模式,並創建具有相關聯的虛擬區域實例標識符的所檢索模式的實例。若用戶的能力滿足與該虛擬區域實例相關聯的能力要求,則區域服務46向PRT框架12返回配置數據。該配置數據通常包括該虛擬區域實例的定義以及當前在該虛擬區域實例中的對象的註冊。若連接規則通過對實例標識符的參引來指定虛擬區域,則區域服務46確定所標識的虛擬區域實例的狀態。若該虛擬區域實例可用(例如,當前正運行)並且該用戶的能力滿足與該虛擬區域實例相關聯的能力要求,則區域服務46向PRT框架12返回配置數據, 其中該配置數據通常包括該虛擬區域實例的定義以及當前處在該虛擬區域實例中的對象的註冊。若該虛擬區域實例不可用(例如,該虛擬區域實例當前沒有運行或者不能接受任
26何新通信者)但該用戶的能力滿足與該虛擬區域實例相關聯的能力要求,則區域服務46可基於該原始實例的模式創建該虛擬區域的新實例並向PRT框架12返回配置數據,其中該配置數據包括該新虛擬區域實例的定義和當前處在該新虛擬區域實例中的對象的註冊。若連接規則用一個或多個查詢屬性值的集合來指定虛擬區域,則區域服務46向交互服務50傳送查詢交互資料庫中所有具有與所指定的屬性值匹配的屬性的虛擬區域實例的請求。區域服務46確定與在交互服務50所返回的查詢結果中標識的虛擬區域實例相關聯的狀態和能力要求。區域服務46向PRT框架12傳送所標識的虛擬區域中其能力要求得到滿足的每個虛擬區域的相應標識符。在從區域服務46接收到查詢結果之後,PRT框架 12確定連接規則中所包含的任何連接條件的適用性。例如,連接規則可包括關於區域服務 46返回的查詢結果所應被處置的方式的條件。例如,連接條件可指定PRT框架12應在圖形界面中向用戶呈現結果以使得用戶能選擇匹配的虛擬區域實例當中他或她想要進入哪一個。在另一示例中,連接條件可指定PRT框架12應讓用戶自動進入這些虛擬區域實例當中基於指定準則(例如,最經常到訪)的一個虛擬區域實例。回顧圖14,在確定虛擬區域實例(圖14,框186)之後,PRT框架12查明與該虛擬區域的實例相關聯的一個或多個網絡節點(圖14,框188)。在此過程中,PRT框架12讀取接收自區域服務46的對象註冊,以確定與當前處在該虛擬區域實例中的對象相關聯的網絡節點。在一些實施例中,PRT框架12還如在先前小節中描述的經由會合服務48查明與連接規則中所指定的連接目標相關聯的網絡節點。PRT框架12在該虛擬區域的實例所定義的上下文中經由與所查明的網絡節點中的至少一個網絡節點的至少一個網絡連接發起至少一個實時數據流的傳遞(圖14,框 190)。PRT框架12和其他網絡節點之間的連接可以是對等連接或伺服器仲裁的連接。關於對等連接,連接目標網絡節點和PRT框架12通常彼此認證,並且隨後建立鏈路,經由該鏈路向或從該連接目標傳送至少一個實時數據流。鏈路通常是單向的且由發射方請求並被接收方接受或拒絕。如上所解釋的,每個實時數據流連接的發起都依照在連接規則中所指定的任何適用的連接條件。例如,連接規則可包括描述在進行網絡連接之前應當滿足的關於當前連接上下文的謂詞的連接條件。此類示例性條件包括限制何時準許網絡連接的連接條件、將網絡連接的建立限制在滿足指定資源要求的網絡節點的條件、將網絡連接的建立限制在滿足指定節點配置要求的網絡節點的條件、將網絡連接的建立限制在滿足指定網絡節點位置要求的網絡節點的條件、以及將網絡連接的建立限制在滿足指定連接目標可用性要求的時間的條件。B.示例性系統架構實施例1.引言圖15示出了圖10的操作環境的實施例,其包括計算機系統120的實施例200和網絡節點140的實施例202。網絡節點202(節點C)主存區域服務46。區域服務46維護全局狀態信息,並且網絡節點202充當網絡節點200、138、142的數據伺服器。區域服務46所維護的全局狀態信息有虛擬區域的當前描述204、虛擬區域中的對象的當前註冊206、以及當前正由網絡節點 202生成的任何流混合的列表208。
對象註冊206通常包括針對虛擬區域中的每個對象的相應對象標識符(例如, 唯一標識該對象的標籤)、使得能建立與關聯於該對象的網絡節點的網絡連接的連接句柄 (例如、URI,諸如IP位址)、以及標識與該對象相關聯的實時數據源和阱(例如,與該對象相關聯的網絡節點的源和阱)的接口數據。對象註冊206還通常包括針對每個對象的一個或多個任選角色標識符,該任選角色標識符可由通信者或區域服務46明確指派給對象,或者可從對象的其他屬性中推斷出。在一些實施例中,對象註冊206還包括每個對象在虛擬區域中的當前位置,這由區域服務46從對接收自與虛擬區域中的對象相關聯的網絡節點的實時運動數據流的分析中確定。在這一點上,區域服務46從與虛擬區域中的對象相關聯的網絡節點接收實時運動數據流、並基於運動數據來跟蹤進入虛擬區域、離開虛擬區域和在虛擬區域中來回走動的通信者的化身和其他對象。區域服務46根據被跟蹤對象的當前位置來更新對象註冊206。計算機系統200包括PRT框架12的實施例210。除了其他功能以外,PRT框架210 還管理與其他網絡節點的實時數據流連接。在此過程中,PRT框架210維護包括接口數據 212、地帶列表214以及當前處在虛擬區域中的對象的位置216的配置數據集。針對與計算機系統200相關聯的每個對象,接口數據212包括與該對象相關聯的實時數據流類型的所有源和阱的相應列表。地帶列表214是當前被與計算機系統200相關聯的化身佔據的虛擬區域中的所有地帶的註冊。當用戶首次進入一虛擬區域時,PRT框架210通常用從網絡節點202下載的位置初始化信息來初始化當前對象位置資料庫216。此後,PRT框架210用從對接收自例如計算機滑鼠218和網絡節點138、202、142中的一者或多者的實時運動數據流的分析所確定的虛擬區域中對象的當前位置來更新當前對象位置資料庫216。PRT框架210 所維護的配置數據還分別包括對象註冊206、流混合列表208、以及虛擬區域規範204的副本220、222、224 ;這些副本220、220、和222通常是從區域服務46下載而來並且表示這些數據的本地高速緩存。在一些實施例中,對象位置216被納入到對象註冊220中。2.作業系統圖16示出作業系統144的實施例230。作業系統230包括OS API 2;34和OS內核236。OSAPI 2;34顯露由作業系統230 所提供的功能,包括文件管理器服務238、用戶接口服務M0、以及由OS內核236的服務所提供的功能。文件管理器服務238管理存儲和檢索與計算機數據文件和軟體應用文件相關聯的文件和元數據(例如,文件屬性)。用戶接口服務240管理窗口化環境,包括對話框和圖形在顯示器132上的呈現。在圖16中所示的說明性環境中,OS內核236包括程序加載器服務M2、設備管理器服務M4、和存儲器管理器服務M6。程序加載器服務242管理軟體應用的執行(例如,將軟體應用的至少一個可執行件加載到存儲器中、準備該可執行件以供執行、以及執行該備好的可執行件)。設備管理器服務244管理通過設備驅動程序對硬體設備的訪問。存儲器管理器服務246管理對計算機系統存儲器IM和持久存儲存儲器1 的訪問。3. PRT 框架a.引言圖16還示出PRT框架12的實施例232。PRT框架232包括PRT API 250、PRT非內核服務的集合、以及包括PRT內核服務的集合的PRT內核252。PRT API 250顯露PRT框架232所提供的所有服務。PRT非內核服務包括連接對象管理器服務253、區域連接服務254、區域進入服務255、目標連接服務256、以及輸出存在性服務沈0。在實施其相應功能性的過程中,PRT非內核服務2M-260還能夠根據需要調用PRT內核252和作業系統230的服務。PRT內核服務包括登錄管理器服務沈2、 會話管理器服務264、流交換服務沈6、流處置器服務沈8、實時調度器服務270、視覺化引擎服務272、以及帶寬監視器服務274。在執行其相應功能時,PRT內核服務沈2_274也能調用作業系統250的服務。服務254-274中至少一些的實現涉及將傳統作業系統功能(例如, 進程管理功能、文件管理功能、存儲器管理功能、存儲管理功能、設備管理功能、和網絡管理功能)與內核所提供的實時功能(例如,實時調度功能、實時連接功能、和實時數據流處置功能)相集成。這樣,實時原語和傳統作業系統原語以對等關係被顯露給軟體應用開發者。b. PRT內核服務每次PRT框架232啟動(通常是在計算機系統200啟動時),登錄管理器服務262 實現登錄到網絡基礎設施服務環境43的過程。在一些實施例中,登錄管理器服務262如上文結合圖1所描述地通過安全服務44來執行登錄網絡基礎設施服務環境43的功能。登錄管理器服務262通常還處置網絡基礎設施服務環境43的退出。會話管理器服務264管理計算機系統120與其他網絡節點中的目標網絡節點之間的會話。響應於會話管理器服務264的調用(通過進程間通信機制或通過系統呼叫),會話管理器服務264與該目標網絡節點協商鏈路。在此過程中,會話管理器服務264通常向該目標網絡節點對該用戶進行認證(例如,基於接收自安全服務44的安全令牌),協商流傳輸協議、並協商流加密協議。會話管理器服務264與目標網絡節點之間的消息傳輸可以根據各種不同的消息接發範例來執行。在一些實施例中,消息是根據發布/訂閱模型來異步地交換的,其中消息被分段成類、訂戶表達對一個或多個消息類的興趣、並且發布者僅傳送對應被訂閱的類的消息。在一些實施例中,會話管理器服務264還可提供用於重新建立不正常中斷的連接的連接恢復機制。流交換服務266根據虛擬區域所定義的交換規則來管理網絡連接的交換。流交換服務266處置與計算機系統200相關聯的化身和任何其他對象進出虛擬區域。流交換服務 266還自動確定如何交換(例如,路由、連接和斷開)計算機系統200與其他網絡節點138、 202,142之間的實時數據流。流交換服務266基於虛擬區域規範中包含的交換規則、虛擬區域中化身和其他對象的當前位置、以及與虛擬區域中的化身和其他對象相關聯的實時數據流類型來作出這些確定。在這些實施例中,流交換服務266還在這些確定中考慮計算機系統200(如由帶寬監視器服務274確定的)和其他網絡節點138、202、142中任何一者的上載及下載帶寬約束。另外,流交換服務266響應於事件(例如,上載或下載帶寬故障、和進入或退出虛擬區域的請求)、或周期性地、或者既響應於事件又周期性地來重新評估當前的連接集合。作為對當前連接重新評估的結果,流交換服務266可例如採取以下動作中的任何動作向網絡節點202請求流混合,丟棄來自網絡節點202的流混合、斷開與其他網絡節點138、142中的一個或多個節點的一個或多個直接鏈路、或者形成與其他網絡節點138、 142中的一個或多個節點的一個或多個直接鏈路。流處置器服務268包括用於處理在計算機系統200和其他網絡節點之間傳遞的每種類型的實時數據流(例如,運動數據流、音頻數據流、聊天數據流、文件傳遞數據流、以及視頻數據流)的相應流處置器服務。實時數據流處理通常包括對實時數據流施加變換。在一些實施例中,當實時數據流正在共享虛擬區域的上下文中進行處理時,流處置器服務268 根據虛擬區域規範所定義的流處理配置來處理該實時數據流。在一些實施例中,流處置器服務沈8中的一個或多個服務包括根據虛擬區域規範所定義的流處理配置將流處理對象的集合裝配成有向圖的管理器。一些實施例包括聊天流處置器服務,該服務提供用於接收自計算機系統200的本地文字輸入設備(例如,鍵盤)的傳出文本消息的接口和用於接收自其他網絡節點138、 202、142的傳入聊天流的接口。聊天流處置器服務處理由通信者通過文字輸入設備輸入到實時聊天流中的文本消息並將該實時聊天流傳給設備管理器服務對4,後者將該聊天流轉換成可經由網絡42被傳送給其他網絡節點138、202、142的格式。聊天流處置器服務還處理傳入的文本流並將經處理的文本流傳給設備管理器服務M4,後者將該文本流轉換成可在顯示監視器132上呈現的信號。一些實施例包括處理接收自其他網絡節點138、202、142的傳入音頻信號的音頻流處置器服務。音頻流處置器服務將經處理的傳入音頻信號傳給設備管理器服務M4,後者將音頻信號轉換成可由通信者的耳機觀2中的揚聲器278、280呈現的格式。音頻流處置器服務還處理由耳機282中的話筒284生成的傳出音頻信號。音頻流處置器服務將經處理的傳出音頻信號傳給設備管理器服務M4,後者將音頻信號轉換成可經由網絡42被傳送給其他網絡節點138、202、142的格式。一些實施例包括處理接收自其他網絡節點138、202、142的傳入視頻信號的視頻流處置器服務。視頻流處置器服務將經處理的傳入視頻信號傳給設備管理器服務M4,後者將視頻信號轉換成可由顯示器132以及通信者的耳機282中的揚聲器278、280呈現的格式。視頻流處置器服務還處理例如由附連到計算機系統200的本地相機生成的傳出視頻信號。視頻流處置器服務將經處理的傳出視頻信號傳給設備管理器服務M4,後者將視頻信號轉換成可經由網絡42被傳送給其他網絡節點138、202、142的格式。一些實施例包括處理接收自其他網絡節點138、202、142的傳入運動數據信號的運動數據流處置器服務。運動數據流處置器服務將經處理的傳入運動數據信號傳給視覺化引擎服務272。視覺化引擎服務272利用運動數據信號更新顯示器132上共享虛擬區域通信會話的呈現。運動數據流處置器服務還處理由用戶輸入設備生成的傳出運動數據信號。 運動數據流處置器服務將經處理的傳出運動數據信號傳給設備管理器服務對4,後者將運動數據信號轉換成可經由網絡42被傳送給其他網絡節點138、202、142的格式。一些實施例包括處理接收自其他網絡節點138、202、142的文件信號的文件傳遞流處置器服務。文件傳遞流處置器服務將經處理的文件信號傳給存儲器管理器服務M6,後者將文件信號轉換成可在持久存儲存儲器1 中存儲的格式。文件流處置器服務還調用存儲器管理器服務M6以從持久存儲存儲器1 檢索計算機數據文件、將該計算機數據文件處理成文件信號流、並將經處理的文件信號傳給設備管理器服務M4,後者將該文件信號轉換成可經由網絡42傳送給其他網絡節點138、202、142的格式。視覺化引擎服務272在顯示監視器132上呈現對該虛擬區域及該虛擬區域中任何對象的視圖。在此過程中,視覺化引擎服務272讀取虛擬區域規範數據224、對象註冊220、 以及當前對象位置資料庫216。在一些實施例中,視覺化引擎服務272還讀取包含呈現通信者在虛擬區域中的化身所需要的圖像的通信者化身資料庫對8。基於此信息,視覺化引擎服務272以虛擬區域內通信者化身的視點(位置和取向)生成虛擬區域和該虛擬區域內的對象的一維、二維或三維表示(即,圖像)。視覺化引擎服務272隨後將虛擬區域的表示傳給作業系統230的設備管理器服務M4,後者控制虛擬區域的圖像在顯示監視器132上的呈現。在一些實施例中,視覺化引擎服務272確定通信者的化身的可視性以將必須交換、處理和呈現的數據量限於該虛擬區域在顯示監視器132上可見的那部分。用戶可通過從輸入設備(例如,計算機滑鼠218)向作業系統230的用戶接口服務 240傳送命令來控制所呈現的虛擬區域的視圖或化身在虛擬區域中的位置。視覺化引擎服務272根據當前對象位置資料庫216中經更新的位置來更新虛擬區域的視圖和虛擬區域中對象的位置,並重新呈現虛擬區域的圖形表示的經更新版本以在顯示監視器132上進行呈現。視覺化引擎服務272可周期性地或者僅響應於虛擬區域中一個或多個對象的移動來更新所呈現的圖像。實時調度器服務270管理其他PRT內核服務(例如,流處置器服務)所執行的任務的調度,以達成實時性能。例如,在一些實施例中,實時調度器服務270至少部分基於處理性能與性能目標之間的比較來調度任務。在一些實施例中,實時調度器服務270是由管理PRT框架任務的執行的內核模式或驅動程序進程來實現的。在一些實施例中,實時調度器服務270另外以提供確定性執行和阻擋時間的方式管理作業系統任務(例如,調度和存儲器管理)以及同步原語(例如,信號量以及信號和消息傳遞機制)的執行。在一些實施例中,實時調度器服務270根據基於優先級或基於比例共享的調度模型在一個或多個執行的軟體應用之間基於其相應的資源要求來復用計算機系統200的資源。在這些實施例中,每個資源通常與控制任務訪問該資源的順序的相應調度器相關聯。此類示例性調度器包括復用對處理單元122中的一個或多個處理器的訪問的處理器調度器、 復用持久存儲存儲器128的帶寬的存儲器調度器、以及復用網絡適配器138的鏈路帶寬的網絡調度器。全局調度器通常設置諸個體調度器的策略。在一些實施例中,實時調度器服務270是由盡其所能滿足實時軟體應用期限但不保證實時軟體應用將滿足這些期限的盡力型實時調度進程來實現的。在這些實施例中的一些實施例中,實時調度器服務270用作獲得高優先級線程並嘗試通過一個或多個流處置器服務268來保證指定的處理速率(例如,目標幀速率)的用戶模式進程。在這些實施例中的一些實施例中,實時調度器服務270監視由流處置器服務268之一所執行的至少一個處理任務的性能,並至少部分基於關於固定或自適應性能目標所測得的性能來調度該些處理任務。例如,實時調度器服務270可自適應地修改所監視的流處置器服務的配置以滿足向設備驅動程序(例如,音頻驅動程序)遞送的數據的目標幀速率。c. PRT非內核服務在圖16中所示的說明性環境中,PRT框架232的非內核服務包括連接對象管理器服務253、區域連接服務254、區域進入服務255、目標連接服務256、以及輸出存在性服務 2600連接對象管理器服務253提供用於響應於PRT API調用來管理連接對象和實例化連接對象的功能。區域連接服務邪4提供用於連接至虛擬區域的功能。區域進入服務255提供用於進入虛擬區域的功能。目標連接服務256提供用於連接至連接目標的功能。輸出存在性服務260提供用於向其他網絡節點輸出存在性信息的功能。PRT非內核服務中的每個服務通常可由來自軟體應用、其他PRT框架服務、以及作業系統服務中的任何一者的調用來調用。PRT框架232的非內核服務所提供的功能在以下小節中描述。i.管理連接對象連接對象管理器服務253提供用於管理連接對象的功能,包括添加連接對象、修改連接對象、以及刪除連接對象。在這一點上,連接對象管理器服務253通過調用作業系統 230的用戶接口服務240以創建允許用戶(例如,通信者或本地系統管理員)添加、修改、和刪除連接對象及其與計算機數據文件和軟體應用的相應關聯的對話框及類似物來響應對 PRT API250的一些連接對象管理相關的軟體應用調用。在一些實施例中,軟體應用可包括允許用戶管理與計算機數據文件(例如,由桌面發布軟體應用產生的文檔文件)或軟體應用的區段相關聯的連接對象的工具。這些工具可包括用於將新連接對象實例與該計算機數據文件或軟體應用相關聯的命令、用於修改與該計算機數據文件或軟體應用相關聯的連接對象實例的命令、和用於刪除與該計算機數據文件或軟體應用相關聯的連接對象實例的命令。響應於選擇將新連接對象實例與該計算機數據文件或軟體應用的區段(例如,對應於用戶的當前注意力焦點的區段)相關聯的命令,軟體應用對PRT API 250作出調用連接對象管理器服務253的調用。連接對象管理器服務253實例化一新連接對象實例,並通過在連接對象關聯資料庫中創建由所指定區段的標識符和該計算機數據文件或軟體應用的標識符進行索引的記錄而將該新連接對象實例與該計算機數據文件或軟體應用的該所指定區段相關聯。該連接對象可以是與該調用軟體應用或計算機數據文件相關聯的默認連接對象的實例,或者可以是在PRT API調用中指定的特定連接對象。在實例化該新連接對象實例之後,連接對象管理器服務253調用用戶接口服務MO以創建允許用戶指定該連接對象實例的屬性的值的對話框。響應於選擇修改與該計算機數據文件或軟體應用的區段(例如,對應於用戶的當前注意力焦點的區段)相關聯的連接對象實例的命令,軟體應用對PRT API 250作出調用連接對象管理器服務253的調用。連接對象管理器服務253查詢將該計算機數據文件或軟體應用的每個區段與至少一個相應連接對象實例相關聯的連接對象關聯資料庫。該查詢返回連接對象實例標識符。連接對象管理器服務253實例化對應該連接對象標識符的連接對象實例。在實例化該連接對象實例之後,連接對象管理器服務253調用用戶接口服務240 以創建允許用戶添加、修改、或刪除該連接對象實例的屬性的值的對話框。響應於選擇刪除與該計算機數據文件或軟體應用的區段(例如,對應於用戶的當前注意力焦點的區段)相關聯的連接對象實例的命令,軟體應用對PRT API 250作出調用連接對象管理器服務253的調用。連接對象管理器服務253查詢將該計算機數據文件或軟體應用的每個區段與至少一個相應連接對象實例相關聯的連接對象關聯資料庫。該查詢返回對應於與該計算機數據文件或軟體應用的該區段相關聯的連接對象實例的連接對象標識符。連接對象管理器服務253調用用戶接口服務MO以創建確認用戶刪除所標識的連接對象實例的意圖的對話框。ii.基於計算機數據文件或軟體應用中的位置來處置關於實時連接的PRT API調用
連接對象管理器服務253通常還處置來自軟體應用和作業系統服務(例如,程序加載器服務242和文件管理器服務238)的包含計算機數據文件或軟體應用中的指定位置的初始PRT API調用。在此過程中,連接對象管理器服務253查詢將該計算機數據文件或軟體應用的每個區段與至少一個相應連接對象實例相關聯的連接對象關聯資料庫。該查詢返回對應於與在該PRT API調用中所指定的該計算機數據文件或軟體應用中的該位置相關聯的連接對象實例的連接對象標識符。連接對象管理器服務253實例化對應該連接對象標識符的連接對象實例。在實例化該連接對象實例之後,連接對象管理器服務253調用根據所實例化的連接對象實例的屬性值建立與虛擬區域或連接目標的連接的其他PRT服務中的一個或多個服務。iii.連接至虛擬區域圖17示出由PRT框架232的區域連接服務2M響應於請求連接至虛擬區域的PRT API調用實現的方法的實施例。根據圖17的方法,區域連接服務2M確定對虛擬區域的指定(圖17,框四0)。在一些實施例中,區域連接服務254由軟體應用、作業系統服務、和PRT框架服務中的任意一者用包括虛擬區域指定的PRT API調用進行調用。例如,連接對象管理器服務253可用包括連接對象管理器服務253從與計算機數據文件或軟體應用相關聯的連接對象的實例提取出的虛擬區域指定的PRT API調用來調用區域連接服務254。區域連接服務邪4建立與主存該指定的虛擬區域的網絡基礎設施服務的會話(圖 17,框四幻。在此過程中,區域連接服務2M調用會話管理器服務沈4以上述方式建立與區域服務46的會話。區域連接服務2M隨後向區域服務46傳送對連接至該指定的虛擬區域的請求。區域服務46確定從區域連接服務邪4接收到的請求中指定的虛擬區域的實例。如上文所解釋的,此過程通常取決於指定虛擬區域的方式(例如,通過模式標識符、虛擬區域實例標識符、或通過一個或多個查詢屬性)。在確定虛擬區域實例的實例後,區域服務46確定用戶能力是否滿足與虛擬區域實例相關聯的能力要求。如果用戶能力符合能力要求,則區域服務46傳送指示狀態數據的可用性的消息(例如,當前在虛擬區域實例中的對象的列表、以及與這些對象相關聯的通信者的名稱),該狀態數據描述虛擬區域實例的當前狀態。區域連接服務2M訂閱狀態數據(圖17,框四4)。響應於該訂閱請求,區域服務向會話管理器服務264和區域服務46之間的鏈路上的信道發布該狀態數據。區域連接服務邪4調用作業系統230的用戶接口服務MO以呈現該狀態數據的人類可感知的視圖(圖17,框四6)。例如,區域連接服務邪4可調用接口服務240以在顯示器 I32上呈現與當前在區域內的對象相關聯的每個通信者的表示。在一些實施例中,通信者可由圖標、縮略圖、或可選地用該通信者名稱標記的其他圖形來表示。在一些實施例中,狀態數據在觸發區域連接服務254的調用的軟體應用的圖形界面中呈現。在一些實施例中,狀態數據在提交於2008年4月4日的美國專利申請No. 61/042714中描述的抬頭顯示(HUD) 接口的實施例中呈現。iv.進入虛擬區域在已經建立與虛擬區域實例的連接後,觸發區域連接服務254的調用的軟體應用可給予用戶請求進入虛擬區域實例內的選項或可代表該用戶自動請求進入該虛擬區域實例內。
圖18示出了由PRT框架232的區域進入服務255、流交換服務266和流處置器服務沈8響應於請求進入虛擬區域的I3RT API調用來實現的方法的實施例。根據圖18的方法,區域進入服務255向主存虛擬區域的網絡基礎設施服務聲明進入該虛擬區域的意圖(圖18,框四8)。在此過程中,區域進入服務255向區域服務46發送包含該聲明的消息。該消息可在與區域服務46的現有鏈路的信道上發送,或者在由會話管理器264建立的與區域服務的新鏈路上發送。作為相應,區域服務46確定用戶能力是否滿足與虛擬區域實例相關聯的能力要求。若用戶的能力滿足能力要求,則區域服務46向區域進入服務255返回配置數據,該配置數據根據該虛擬區域實例的規範包括該虛擬區域實例的定義、當前在該虛擬區域實例中的對象的註冊、以及與該虛擬區域中的對象相關聯的實時數據流源和阱的集合。流交換服務266經由與至少一個實時數據流源的至少一個網絡連接發起至少一個實時數據流的傳遞,其中該至少一個實時數據流源分別與虛擬區域中的至少一個對象相關聯(圖18,框300)。在此過程中,流交換服務266基於從區域服務46接收的配置數據查明與虛擬區域的實例相關聯的一個或多個網絡節點。流交換服務266隨後經由與至少一個查明的網絡節點的至少一個網絡連接發起至少一個實時數據流的傳遞。流交換服務266和其他網絡節點之間的連接可以是對等連接或伺服器仲裁的連接。關於對等連接,連接目標網絡節點和會話管理器服務264通常彼此認證,並且隨後建立鏈路,經由該鏈路向或從該連接目標傳送至少一個實時數據流。鏈路通常是單向的且由發射方請求並被接收方接受或拒絕。在解說性實施例中,流處置器服務268根據虛擬區域實例的規範中的至少一個流處置定義來處理髮起的實時數據流(圖18,框30 。在此過程中,流處置器服務沈8中的一個或多個服務包括根據虛擬區域規範所定義的流處理配置將流處理對象的集合裝配成有向圖的管理器。圖19示出一種方法的實施例,根據該方法,流交換服務沈6的實施例處理接收自區域服務46的配置數據以確定當用戶進入虛擬區域或穿過虛擬區域的地帶之間的邊界時要建立的一組要求的實時數據流連接。如上文所解釋的,該配置數據包括虛擬區域規範 204(參見圖15)的副本和經更新的對象註冊206(參見圖1 的副本。在一些實施例中,配置數據附加包括流混合列表208(參見圖15),其標識區域服務46當前正在產生的網絡節點 138、142所生成的實時數據流的混合(或組合)。流交換服務266用接收自區域服務46的對象註冊206的副本來初始化本地對象註冊220 (參見圖15)(圖19,框304)。流交換服務266還用接收自區域服務46的流混合列表208的副本來初始化本地流混合列表222(參見圖1 (圖19,框306)。流交換服務266 另外用接收自區域服務46的虛擬區域規範204的副本來初始化本地虛擬區域規範高速緩存224(參見圖15)(圖19,框308)。流交換服務266從虛擬區域規範對4和虛擬區域實例中該用戶化身的位置來構建被佔據地帶的列表214(參見圖1 (圖19,框310)。在此過程中,流交換服務266從包含虛擬區域實例中化身當前位置的坐標的當前對象位置資料庫216中檢索用戶化身在虛擬區域實例中的當前位置。這些坐標是從接收自輸入設備(諸如計算機滑鼠218)的實時運動數據流來確定的。流交換服務266隨後比較用戶化身的當前位置和虛擬區域規範224中
34的地帶定義。流交換服務266根據虛擬區域規範當中與通信者的化身的當前位置一致的所有地帶來彙編被佔據地帶的列表214。例如,在一些實施例中,被佔據地帶列表214包括其網格包含用戶化身的當前位置的所有地帶。流交換服務266確定針對被佔據地帶列表214中的地帶和目標支持特徵列表所定義的目標實時數據流類型集合,該目標支持特徵列表考慮客戶端的分類(例如,純語音客戶端對全特徵客戶端)(圖19,框31 。流交換服務沈6隨後從該目標實時數據流類型集合、對象在虛擬區域實例中的位置、以及虛擬區域規範224中定義的交換規則來確定所需要的實時數據流數據集合(圖19,框314)。關於確定目標實時數據流類型集合的過程和確定所需要的實時數據流數據集合的過程的附加細節在皆提交於2007年10月M日的美國申請 No. 11/923,629 和 11/923,634 中描述。在一些示例性實施例中,在流交換服務沈6已經確定使用戶能參與與在共享虛擬區域實例中其他網絡節點的協作通信會話的實時數據流數據集合(圖19,框314)後,流交換服務266確定將導致向計算機系統200遞送該需要的數據流數據的實時數據流連接。在這些實施例中的一些實施例中,流交換服務266確定實時數據流處置拓撲,該處置拓撲至少部分基於計算機系統200的帶寬能力將實時數據流集合遞送給計算機系統 200。在此過程中,流交換服務266確定從未混合的實時數據流以及從實時數據流的組合導出的流混合中接收每個實時數據流的相應形式。流交換服務266還確定在其上從直接對等網絡路由和由一個或更多個其他網絡節點仲裁的網絡路由接收每個實時流的網絡路由。在已確定流處置拓撲之後,流交換服務266根據所確定的流處置拓撲在計算機系統200和其他網絡節點之間建立實時數據流連接。圖20示出在確定向計算機系統200傳遞所需要數據流數據的實時數據流連接的拓撲的過程中流交換服務266所實現的方法的實施例。根據該方法,流交換服務266確定計算機系統200是否具有直接從其他網絡節點接收所需要的實時數據流數據集合316的足夠帶寬(圖20,框318)。在此過程中,其他網絡節點向計算機系統200傳送鏈路請求。該鏈路請求指示對傳送計算機系統200所需的相應實時數據流集合的相應帶寬要求。流交換服務266將建立所要求的直接連接所需的總體帶寬與帶寬監視器服務274(參見圖16)所報告的計算機系統200當前可用的下載帶寬作比較。如果可用帶寬至少等於總體要求帶寬,則流交換服務沈6建立與提供所需要的實時數據流數據的其他網絡節點的直接連接(圖20,框320)。在此過程中,會話管理器服務 264創建計算機系統200和一個或多個其他網絡節點138、202、142之間的插口(例如,TCP 插口或性能最優化的專用實時插口)。針對每種實時數據流類型,所創建的插口通常包括一個承載實時數據流的插口和一個用於承載與相關聯實時數據流分組的傳送和接收相關聯的控制信息(例如,服務質量信息)的插口。流處置器服務268處理實時數據流,包括對其進行加密、對其進行記錄、以及根據需要將經處理的數據流遞送給視覺化引擎服務272、作業系統用戶接口服務M0、和作業系統設備管理器服務M4以便在用戶界面中呈現和在網絡42上進行傳輸。如果可用帶寬小於所要求帶寬(圖20,框318),則流交換服務266檢查流混合列表222(參見圖15)以確定區域服務46是否正在生成提供所要求實時數據流數據的流混合
35(圖20,框322)。如果所需的流混合可用,則流交換服務266與區域服務46建立在其上所需實時數據流混合的副本從區域伺服器46傳送到計算機系統200的連接(圖20,框324)。 如果所需流混合不可用,則流交換服務266向區域服務46發送流混合請求(圖20,框326)。 如果可能,區域服務46響應於流混合請求生成所需流混合。v.連接至連接目標圖21示出由PRT框架232的目標連接服務256響應於請求連接至連接目標的PRT API調用實現的方法的實施例。根據圖21的方法,目標連接服務256確定對至少一個連接目標的指定(圖21,框 330)。在一些實施例中,目標連接服務256由軟體應用、作業系統服務、和PRT框架服務中的任意一者用包括連接目標指定的PRTAPI調用進行調用。例如,連接對象管理器服務253 可用包括連接目標指定的PRT API調用來調用目標連接服務256,該連接目標指定是連接對象管理器服務253從與計算機數據文件或軟體應用相關聯的連接對象的實例提取出的。目標連接服務256建立與管理網絡節點的連接句柄分布的網絡基礎設施服務的會話(圖21,框33 。在此過程中,區域目標連接服務256調用會話管理器服務沈4以上述方式建立與會合服務48的會話。目標連接服務256向網絡基礎設施服務聲明連接至對應於該連接目標指定的一個或多個連接目標的意圖(圖21,框334)。會合服務48標識對應連接目標指定的一個或多個連接目標。若連接規則以目標標識符指定具體連接目標,則會合服務48從存在性資料庫中查詢與所指定的目標標識符對應的連接目標的狀態和能力要求。若連接規則以一個或多個屬性值的集合來指定連接目標,則會合服務48從存在性資料庫中查詢與具有匹配所指定的屬性值的屬性值的連接目標相關聯的狀態和能力要求。會合服務48將該用戶的能力與關聯於所標識的連接目標中的每個連接目標的能力要求相比較。會合服務48向連接服務256傳送所標識的連接目標中其能力要求得到滿足的每個連接目標的相應連接句柄。在從網絡基礎設施服務接收到至少一個相應網絡節點連接句柄(圖21,框336) 後,目標連接服務256調用流交換服務沈6以經由與關聯於該至少一個相應網絡節點連接句柄的網絡節點的至少一個網絡連接發起至少一個實時數據流的傳遞(圖21,框338)。流交換服務266和其他網絡節點之間的連接可以是對等連接或伺服器仲裁的連接。關於對等連接,連接目標網絡節點和會話管理器服務264通常彼此認證,並且隨後建立鏈路,經由該鏈路向或從該連接目標傳送至少一個實時數據流。鏈路通常是單向的且由發射方請求並被接收方接受或拒絕。vi.輸出存在性圖22示出了輸出存在性服務沈0響應於請求向一個或多個連接目標輸出存在性信息的PRT API呼叫所實現的方法的實施例,該存在性信息描述計算機數據文件或軟體應用的至少一者中用戶的當前位置。根據圖22的方法,輸出存在性服務260確定至少一個連接目標的指定(圖22,框 340)。在一些實施例中,輸出存在性服務沈0由軟體應用、作業系統服務、和PRT框架服務中的任意一者用包括連接目標指定和對用戶位置的定義的PRT API調用進行調用。例如,連接對象管理器服務253可用包括連接目標指定的PRT API調用來調用輸出存在性服務沈0, 該連接目標指定是連接對象管理器服務253從與計算機數據文件或軟體應用相關聯的連
36接對象的實例提取出的。輸出存在性服務260建立與管理網絡節點間的存在性數據的交換的網絡基礎設施服務的會話(圖22,框34 。在此過程中,輸出存在性服務260調用會話管理器服務沈4 以上述方式建立與會合服務48的會話。輸出存在性服務沈0向網絡基礎設施服務聲明向與連接目標指定對應的至少一個網絡節點輸出描述該用戶的位置的存在性數據的意圖(圖21,框334)。響應於該聲明, 會合服務48標識對應連接目標指定的一個或多個連接目標。若連接規則以目標標識符指定具體連接目標,則會合服務48從存在性資料庫中查詢與所指定的目標標識符對應的連接目標的狀態和能力要求。若連接規則以一個或多個屬性值的集合來指定連接目標,則會合服務48從存在性資料庫中查詢與具有匹配所指定的屬性值的屬性值的連接目標相關聯的狀態和能力要求。會合服務48將該用戶的能力與關聯於所標識的連接目標中的每個連接目標的能力要求相比較。會合服務48向所標識的連接目標中其能力要求得到滿足的每個連接目標傳送用戶的存在性數據。d.調用PRT框架功能PRT框架232的功能是通過對PRT API 250的調用來調用的。這些調用可以各種不同方式來生成。在所解說的實施例中,對PRT API 250的調用可以由在計算機系統200或遠程網絡節點上執行的軟體應用、在計算機系統200或遠程網絡節點上執行的作業系統、 和網絡基礎設施服務中的任何一者作出。在一些實施例中,軟體應用開發者設計軟體應用調用PRT API 250以建立用於運行該軟體應用的實時應用環境。在這一點上,軟體應用可被設計成在該應用的一個或多個特定位置上(例如,在啟動時或者在該軟體應用的特定功能被調用時)、或者用戶每次越過該軟體應用的區段之間的邊界時調用PRT API 250。在這些實施例中,軟體應用通常用包括該軟體應用和該軟體應用正在處理的計算機數據文件的至少一者中的當前區段的定義的調用來調用PRT API 250。在這些實施例中的一些實施例中,軟體應用被配置成用建立與至少一個連接目標的網絡連接的調用來調用PRT API 250。例如,軟體應用可用計算機數據文件或軟體應用中的指定位置來調用連接對象管理器服務253。連接對象管理器服務253實例化與該計算機數據文件或軟體應用中的位置相關聯的連接對象實例。連接對象通常包括對虛擬區域的相應指定和對與該虛擬區域相關聯的一個或多個連接目標的相應指定。軟體應用可向用戶呈現進入該虛擬區域或連接至這些連接目標中的一個或多個連接目標的選項。若用戶選擇進入虛擬區域或連接至連接目標,則軟體應用用基於虛擬區域實例中的位置關於該連接目標在網絡連接上發起對至少一個實時數據流的傳遞的PRT API調用來調用PRT API 250。例如,響應於該PRT API調用,連接對象管理器服務253調用根據所實例化的連接對象實例的屬性值建立與虛擬區域或連接目標的連接的一個或多個其他PRT服務(例如,區域連接服務2M或目標連接服務256)。作業系統230和PRT框架232的諸服務中的一個或多個服務將實時數據流處理成可作為人類可感知輸出進行呈現的格式(例如,顯示器132上的視覺圖像或通過揚聲器278J80的音頻輸出)。在一些實施例中,PRT API 250在計算機作業系統實現的調用該軟體應用或打開該計算機數據文件的方法中被調用。
37
例如,PRT API 250可在打開計算機數據文件的過程中被作業系統230的文件管理器服務240調用。在一些實施例中,此過程包括基於軟體應用與關聯於計算機數據文件的文件擴展名的關聯性標識相關聯的軟體應用,並執行該相關聯的軟體應用以打開該計算機數據文件。在這些實施例中的一些實施例中,作業系統的PRT知曉型文件管理器服務管理(例如,在可與計算機數據文件在作業系統的文件系統級上相關聯的擴展文件屬性中的)文件屬性資料庫,該資料庫包括指示相關聯的計算機數據文件是否配置有PRT特徵的 PRT啟用屬性。響應於打開計算機數據文件的請求,文件管理器服務238讀取文件屬性資料庫。若PRT啟用屬性值指示該計算機數據文件配置有PRT特徵,則文件系統管理器服務用包括該計算機數據文件的標識符的對PRT API 250的調用來調用連接對象管理器服務253。 在這些實施例中的一些實施例中,文件屬性資料庫另外包括對該計算機數據文件中的初始位置的任選定義。在這些實施例中,文件管理器服務238在該TOTAPI調用中將該初始位置定義傳遞給連接對象管理器服務253。連接對象管理器服務253使用該初始位置定義來確定與該計算機數據文件相關聯的連接對象。PRT API 250還可由作業系統230的程序加載器服務242在為軟體應用創建初始操作環境的過程中調用。在一些實施例中,此過程包括將該軟體應用的至少一個可執行件加載到存儲器中,準備該可執行件,並執行備好的可執行件。在這些實施例中的一些實施例中,軟體應用文件還可與能被PRT知曉型文件管理器服務讀取的PRT啟用屬性相關聯。在這些實施例中,運行該軟體應用的用戶請求觸發文件系統管理器服務以用包括該計算機數據文件的標識符和任選地包括初始位置定義的對PRT API 250的調用來調用連接對象管理器服務253。在一些實施例中,軟體應用開發者在軟體應用文件的頭部(例如,描述該軟體應用應如何通過作業系統的程序加載器服務被載入存儲器中的頭部或片段)中納入PRT啟用屬性或對連接對象的參引。在這些實施例中的一些實施例中,軟體應用頭部另外包括對該軟體應用中的初始位置的任選定義。在這些實施例中,軟體應用頭部中的命令行可指令程序加載器服務用包括該計算機數據文件的標識符和任選地包括初始位置定義的對PRT API 250的調用來調用連接對象管理器服務253。若該軟體應用頭部存儲了對連接對象資料庫中被索引的連接對象的參引,則該軟體應用頭部中的命令行可指令程序加載器服務用包含該連接對象參引的調用來調用連接對象管理器服務253。V.示例性應用遍布式實時框架12支持各種能夠利用其中網絡節點之間的實時連接是遍布式的新操作環境範例的實時軟體應用的開發。在第一實施例中,個人信息管理器軟體應用(例如,Microsoft Outlook 軟體應用)(原始地或者通過插件模塊或宏)被設計成利用PRT 框架12所提供的功能性。在此實施例中,該個人信息管理器軟體應用包括電子郵件任務、 日曆任務、和聯繫人管理任務。每項任務被定義為單獨的區段並與相應的連接對象相關聯。 對應於電子郵件任務的區段例如可以與一連接對象相關聯,該連接對象指定在讀取發送至或發送自指定工作群中的任何聯繫人的電子消息時,PRT框架12應連接至與該工作群相關聯的指定虛擬區域並向該工作群中當前不在該虛擬區域中的聯繫人輸出存在性信息。在該第一實施例中,當用戶的注意力集中在電子郵件任務中的電子郵件消息上時,該個人信息管理器軟體應用用包括與該電子郵件任務和該電子郵件消息的發送人和接收人的列表對應的位置定義的PRT API調用來調用連接對象管理器服務253。連接對象管
38理器服務253基於該位置定義檢索與該電子郵件功能相關聯的連接對象。連接對象管理器服務253調用區域連接服務254,後者嘗試依照用戶的偏好和該虛擬區域的能力要求來連接至該連接對象中指定的虛擬區域。連接對象管理器服務253還調用目標連接服務256,後者嘗試依照用戶的偏好和該虛擬區域的能力要求向工作群中當前不在該虛擬區域中的聯繫人輸出存在性信息。這樣,個人信息管理器軟體應用的電子郵件任務可利用PRT框架12 的功能來基於用戶集中在電子郵件任務的注意力為用戶提供與相關聯繫人的實時連接。該個人信息管理器軟體應用的其他任務也可被設計成利用PRT框架12的功能性。在第二實施例中,網頁瀏覽器軟體應用(例如,Microsoft hternet Explorer 軟體應用,Firefox 軟體應用、和Mfari 軟體應用)(原始地或者通過插件模塊或宏)被設計成利用PRT框架12所提供的功能性。在此實施例中,該網頁瀏覽器軟體應用包括允許用戶在不同的網頁之間切換而無需切換頂層窗口的選項卡式文檔界面。一個或多個網頁(例如,默認的主網頁和消費者服務網頁)與相應的連接對象相關聯。對應於主網頁的區段例如可以與一連接對象相關聯,該連接對象指定當在網頁瀏覽器軟體應用的選項卡中查看主網頁時,PRT框架 12應連接至與該用戶相關聯的指定虛擬區域(例如,該用戶的個人虛擬區域或與該用戶的工作群相關聯的虛擬區域)。對應於消費者服務網頁的區段可以與一連接對象相關聯,該連接對象指定當在網頁瀏覽器軟體應用的選項卡中查看消費者服務網頁時,PRT框架12應連接至指定的消費者服務虛擬區域並自動連接至該消費者服務虛擬區域中具有與消費者服務代表對應的角色屬性值的任何通信者。在該第二實施例中,當用戶的注意力集中在呈現默認主網頁的選項卡上時,網頁瀏覽器軟體應用用包括與該默認主頁面文檔對應的位置的定義的PRT API調用來調用連接對象管理器服務253。連接對象管理器服務253基於該位置定義檢索與該默認主頁面文檔相關聯的連接對象。連接對象管理器服務253調用區域連接服務254,後者嘗試依照用戶的偏好和該虛擬區域的能力要求來連接至該連接對象中指定的虛擬區域。當用戶的注意力集中在呈現消費者服務網頁的選項卡上時,網頁瀏覽器軟體應用用包括與該消費者服務頁面文檔對應的位置的定義的PRT API調用來調用連接對象管理器服務253。連接對象管理器服務253基於該位置定義檢索與該默認主頁面文檔相關聯的連接對象。連接對象管理器服務253調用區域連接服務254,後者嘗試依照用戶的偏好和該虛擬區域的能力要求來連接至該連接對象中指定的虛擬區域。若虛擬區域的當前佔用者中有任何人具有消費者服務代表角色屬性值,則連接服務2M調用區域進入服務255,後者嘗試依照該用戶的偏好和該虛擬區域的能力要求來進入該虛擬區域。若區域進入嘗試成功,則流交換服務沈6自動發起與關聯於該虛擬區域中的對象(例如,化身)的網絡節點的連接。在第三實施例中,電子數據表軟體應用(例如,Microsoft Excel⑧軟體應用) (原始地或者通過插件模塊或宏)被設計成利用PRT框架12所提供的功能性。在此實施例中,該電子數據表軟體應用包括允許用戶在不同的工作表之間切換而無需切換頂層窗口的選項卡式工作表界面。一個或多個工作表(例如,股票分析工作表)與相應的連接對象相關聯。對應股票分析工作表的區段例如可以與一連接對象相關聯,該連接對象指定當在該電子數據表軟體應用的選項卡中查看該股票分析工作表時,PRT框架12應連接至與該用戶相關聯的指定虛擬區域(例如,與指定類型的金融分析相關聯的虛擬區域)和連接至指定數據源連接目標(例如,在線股票報價服務)以請求特定數據或數據類型(例如,關於該股
39票分析工作表上所列的一組股票的實時股票報價信息)。在該第三實施例中,當用戶的注意力集中在呈現股票分析工作表的選項卡上時, 電子數據表軟體應用用包括與該股票分析工作表對應的位置的定義的PRT API調用來調用連接對象管理器服務253。連接對象管理器服務253基於該位置定義檢索與該股票分析數據表相關聯的連接對象。連接對象管理器服務253調用區域連接服務254,後者嘗試依照用戶的偏好和該虛擬區域的能力要求來連接至該連接對象中指定的虛擬區域。連接對象管理器服務253還調用目標連接服務256,後者嘗試連接至指定的數據源並檢索所請求的數據或數據類型。若連接嘗試成功,則流處置器服務268可被配置成裝配實時處理對象的有向圖以根據實時處理規範來對實時股票報價信息執行變換,實時處理規範可以由股票分析工作表或由該虛擬區域提供。VI.結論本文描述的實施例為支持實時軟體應用的執行的遍布式實時框架提供顯著降低在其中網絡節點之間的實時連接是遍布式的新操作環境範例中開發實時軟體應用所需的精力和時間的高級功能。該遍布式實時框架響應於用戶輸入處置連接至通信者、虛擬區域、 和其他網絡資源、以及交換這些連接的複雜任務,並由此使得軟體應用開發者能集中精力於開發高級實時軟體應用功能性。其他實施例也在權利要求的範圍之內。
40
權利要求
1.一種計算機實現的方法,包括基於與軟體應用08)和計算機數據文件(30)的至少一者相關聯的連接規則(32)中對虛擬區域的指定來確定所述虛擬區域的實例(56);查明與所述虛擬區域的所述實例(56)相關聯的一個或多個網絡節點(16-26);以及在由所述虛擬區域的所述實例(56)定義的上下文中經由與所述網絡節點(16-26)的至少一個網絡節點的至少一個網絡連接發起至少一個實時數據流的傳遞。
2.如權利要求1所述的方法,其特徵在於,所述確定、所述查明、和所述發起是在計算機(60)上於調用所述軟體應用08)的計算機作業系統實現的方法中執行的。
3.如權利要求2所述的方法,其特徵在於,在所述計算機作業系統實現的方法中還包括實例化一個或多個對象,所述對象包括執行操作的一個或多個方法,所述操作包含執行所述軟體應用08)。
4.如權利要求3所述的方法,其特徵在於,所述執行軟體應用包括將所述軟體應用 (28)的至少一個可執行件加載到存儲器中,準備所述可執行件,並執行備好 的可執行件。
5.如權利要求1所述的方法,其特徵在於,所述確定、所述查明、和所述發起是在計算機(60)上於打開所述計算機數據文件(30)的計算機作業系統實現的方法中執行的。
6.如權利要求5所述的方法,其特徵在於,在所述計算機作業系統實現的方法中還包括實例化一個或多個對象,所述對象包括執行操作的一個或多個方法,所述操作包含用相關聯的軟體應用08)打開所述計算機數據文件(30)。
7.如權利要求6所述的方法,其特徵在於,所述打開包括基於所述軟體應用08)與關聯於所述計算機數據文件(30)的文件擴展名的關聯性標識所述相關聯的軟體應用(觀), 並執行所述相關聯的軟體應用08)以打開所述計算機數據文件(30)。
8.如權利要求1所述的方法,其特徵在於,所述確定、所述查明、和所述發起是在計算機上響應於對應用編程接口(API)的至少一個調用通過所述API的實現來執行的。
9.如權利要求8所述的方法,其特徵在於,還包括響應於對所述API的所述至少一個調用,實例化一個或多個對象,所述對象包括執行包括所述確定、所述查明、和所述發起的操作的一個或多個方法。
10.如權利要求1所述的方法,其特徵在於,所述確定包括調用與所述軟體應用08)和所述計算機數據文件(30)的至少一者相關聯的一個或多個連接對象,並且所述連接對象中的每一個包括一個或多個連接規則的相應集合。
11.如權利要求10所述的方法,其特徵在於,所述調用包括查詢資料庫(106),所述資料庫包括各自將所述軟體應用08)和所述計算機數據文件(30)的至少一者與所述連接對象中的至少一個連接對象相關聯的一條或多條記錄的。
12.如權利要求11所述的方法,其特徵在於,所述查詢包括用包括所述軟體應用08) 和所述計算機數據文件(30)的至少一者的標識符的詢問來查詢所述資料庫(106)。
13.如權利要求12所述的方法,其特徵在於,所述詢問還包括關於所述軟體應用08) 和所述計算機數據文件(30)的至少一者的位置的定義。
14.如權利要求1所述的方法,其特徵在於,所述確定包括查詢通過關於所述軟體應用 (28)和所述計算機數據文件(30)的至少一者的位置來索引所述連接規則(3 的資料庫。
15.如權利要求1所述的方法,其特徵在於,所述連接規則(32)與關於所述軟體應用(28)和所述計算機數據文件(30)的至少一者所定義的交互空間中的至少一個相應區段的定義相關聯,並且所述發起包括根據所述連接規則(3 和所述交互空間中的指定位置來關於所述網絡節點中的一個或多個網絡節點發起一個或多個實時數據流的傳遞。
16.如權利要求15所述的方法,其特徵在於,還包括接收用戶關於所述交互空間的當前焦點的定義,其中所述確定包括至少部分基於關於所述交互空間中的所述至少一個區段的所述當前焦點來確定所述連接規則(32),所述查明包括查明與所述當前焦點相關聯的所述網絡節點(16-26)中的一個或多個網絡節點,以及所述發起包括根據被確定與所述當前焦點相關聯的所述一個或多個連接規則(32),關於被查明為與所述當前焦點相關聯的所述網絡節點(16-26)中的一個或多個網絡節點,發起實時數據流的相應傳遞。
17.如權利要求1所述的方法,其特徵在於,所述確定包括將所述虛擬區域指定傳給用於至少部分地將所述虛擬區域指定解析為所述虛擬區域實例(56)的定義的網絡基礎設施服務(43)。
18.如權利要求1所述的方法,其特徵在於,所述連接規則(32)另外包括對一個或多個連接目標的連接目標指定,且所述查明包括將所述指定解析為所述一個或多個網絡節點 (16-26)的至少一個網絡節點的相應連接句柄。
19.如權利要求18所述的方法,其特徵在於,所述解析包括將所述連接目標指定傳給管理所述一個或多個網絡節點的連接句柄分布的網絡基礎設施服務G3)。
20.如權利要求18所述的方法,其特徵在於,所述連接目標指定包括標識單個通信者的信息、標識通信者群的信息、以及與至少一個通信者相關聯的角色的定義中的至少一者。
21.如權利要求1所述的方法,其特徵在於,所述查明包括向網絡基礎設施服務G3)聲明進入所述虛擬區域的意圖並從所述網絡基礎設施服務^幻接收與所述虛擬區域中對象相關聯的網絡節點的列表。
22.如權利要求1所述的方法,其特徵在於,所述連接規則(32)另外包括一個或多個連接條件,並且所述方法還包括響應於滿足所述一個或多個連接條件的相應確定來建立所述至少一個網絡連接。
23.如權利要求22所述的方法,其特徵在於,所述連接規則(32)包括限制何時準許所述建立的連接條件。
24.如權利要求22所述的方法,其特徵在於,所述連接規則(32)包括將所述建立限於滿足指定資源要求的網絡節點的條件。
25.如權利要求22所述的方法,其特徵在於,所述連接規則(32)包括將所述建立限於滿足指定節點配置要求的網絡節點的條件。
26.如權利要求22所述的方法,其特徵在於,所述連接規則(32)的至少一條包括將所述建立限於滿足指定網絡節點位置要求的網絡節點的條件。
27.如權利要求22所述的方法,其特徵在於,所述連接規則(32)的至少一條包括將所述建立限於滿足指定連接目標可用性要求的時間的條件。
28.如權利要求1所述的方法,其特徵在於,還包括將所述實時數據流處理成人類可感知的輸出。
29.如權利要求觀所述的方法,其特徵在於,還包括至少部分基於相對於性能目標對所述處理測得的性能來調度在所述處理中執行的至少一項任務。
30.如權利要求1所述的方法,其特徵在於,所述確定、所述查明、和所述發起是在至少一臺計算機(60)上執行的。
31.存儲在由計算機(60)執行時致使所述計算機(60)執行包括以下動作的操作的計算機可讀指令的至少一個計算機可讀介質(124、128)基於與軟體應用08)和計算機數據文件(30)的至少一者相關聯的連接規則(32)中對虛擬區域的指定來確定所述虛擬區域的實例(56);查明與所述虛擬區域的所述實例(56)相關聯的一個或多個網絡節點(16-26);以及在由所述虛擬區域的所述實例(56)定義的上下文中經由與所述網絡節點的至少一個網絡節點的至少一個網絡連接發起至少一個實時數據流的傳遞。
32.一種裝置,包括存儲計算機可讀指令的計算機可讀存儲器(124、128);以及耦合至存儲器的數據處理單元(122),用於執行所述指令,並至少部分地基於所述指令的所述執行來執行操作,所述操作包括基於與軟體應用08)和計算機數據文件(30)的至少一者相關聯的連接規則(32)中對虛擬區域的指定來確定所述虛擬區域的實例(56),查明與所述虛擬區域的所述實例(56)相關聯的一個或多個網絡節點(1616),以及在由所述虛擬區域的所述實例(56)定義的上下文中經由與所述網絡節點的至少一個網絡節點的至少一個網絡連接發起至少一個實時數據流的傳遞。
33.一種計算機實現的方法,包括將與軟體應用08)和計算機數據文件(30)的至少一者相關聯的連接規則(3 中對至少一個連接目標的指定解析為至少一個相應網絡節點連接句柄(182);以及經由與分別關聯於所述至少一個相應網絡節點連接句柄的至少一個網絡節點的至少一個網絡連接發起至少一個實時數據流的傳遞(184)。
34.如權利要求33所述的方法,其特徵在於,所述解析(182)和所述發起(184)是在計算機(60)上於調用所述軟體應用08)的計算機作業系統實現的方法中執行的。
35.如權利要求33所述的方法,其特徵在於,所述解析(182)和所述發起(184)是在計算機(60)上於打開所述數據文件(30)的計算機作業系統實現的方法中執行的。
36.如權利要求33所述的方法,其特徵在於,所述解析(182)和所述發起(184)是在計算機上響應於對應用編程接口(API)的至少一個調用通過所述API的實現來執行的。
37.如權利要求36所述的方法,其特徵在於,還包括響應於對所述API的所述至少一個調用,實例化一個或多個對象,所述對象包括執行包括所述解析(18 和所述發起(184) 的操作的一個或多個方法。
38.如權利要求33所述的方法,其特徵在於,所述發起(184)是在由與所述軟體應用 (28)和所述計算機數據文件(30)的至少一者相關聯的虛擬區域所定義的上下文中執行的。
39.如權利要求33所述的方法,其特徵在於,所述確定包括查詢資料庫,所述資料庫包括通過關於所述軟體應用08)和所述計算機數據文件(30)的至少一者的位置來索引的所述連接規則(32)。
40.如權利要求33所述的方法,其特徵在於,所述連接規則(32)與關於所述軟體應用 (28)和所述計算機數據文件(30)的至少一者所定義的交互空間中的至少一個相應區段的定義相關聯,並且所述發起包括根據所述連接規則(3 和所述交互空間中的指定位置來關於所述網絡節點中的一個或多個網絡節點發起一個或多個實時數據流的傳遞。
41.如權利要求33所述的方法,其特徵在於,所述解析(18 包括將所述連接目標指定傳給管理所述一個或多個網絡節點的連接句柄分布的網絡基礎設施服務,並從所述網絡基礎設施服務接收所述至少一個相應網絡節點連接句柄。
42.如權利要求33所述的方法,其特徵在於,所述連接目標指定包括標識單個通信者的信息、標識通信者群的信息、以及與至少一個通信者相關聯的角色的定義中的至少一者。
43.如權利要求33所述的方法,其特徵在於,所述連接規則(32)另外包括一個或多個連接條件,並且所述方法還包括響應於滿足所述一個或多個連接條件的相應確定來建立所述至少一個網絡連接。
44.存儲在由計算機(60)執行時致使所述計算機(60)執行包括以下動作的操作的計算機可讀指令的至少一個計算機可讀介質(124、128)將與軟體應用08)和計算機數據文件(30)的至少一者相關聯的連接規則(3 中對至少一個連接目標的指定解析為至少一個相應網絡節點連接句柄(182);以及經由與分別關聯於所述至少一個相應網絡節點連接句柄的至少一個網絡節點的至少一個網絡連接發起至少一個實時數據流的傳遞(184)。
45.一種裝置,包括存儲計算機可讀指令的計算機可讀存儲器(1對、1觀);以及耦合至存儲器的數據處理單元(122),用於執行所述指令,並至少部分地基於所述指令的所述執行來執行操作,所述操作包括將與軟體應用08)和計算機數據文件(30)的至少一者相關聯的連接規則(3 中對至少一個連接目標的指定解析為至少一個相應網絡節點連接句柄(182),以及經由與分別關聯於所述至少一個相應網絡節點連接句柄的至少一個網絡節點的至少一個網絡連接發起至少一個實時數據流的傳遞(184)。
46.一種計算機實現的方法,包括發布(34)聲明執行操作的功能的應用編程接口(API),所述操作包括基於連接規則 (32)管理實時數據流的網絡連接,每條連接規則(3 包括對虛擬區域的相應指定和對與所述虛擬區域相關聯的一個或多個連接目標的相應指定中的至少一者;以及響應於對所述API的調用,基於所述連接規則(32)中與軟體應用08)和計算機數據文件(30)的至少一者相關聯的相應一條連接規則以及所述虛擬區域中的至少一個位置來管理(38)與至少一個網絡節點的實時數據流連接。
47.如權利要求46所述的方法,其特徵在於,所述管理(38)是響應於所述軟體應用 (28)對所述API的調用來執行的,並且基於與所述軟體應用08)和所述軟體應用08)能對其操作的計算機數據文件(30)中的至少一者相關聯的連接規則(32)。
48.如權利要求46所述的方法,其特徵在於,所述管理(38)是響應於加載器作業系統組件對所述API的調用來執行的,所述加載器作業系統組件執行包括將軟體應用08)的至少一個可執行件加載到存儲器中、準備所述可執行件以供執行以及執行備好的可執行件的操作。
49.如權利要求46所述的方法,其特徵在於,所述管理(38)是響應於文件管理器作業系統組件對所述API的調用來執行的,所述文件管理器作業系統組件執行包括打開計算機數據文件(30)的操作。
50.如權利要求46所述的方法,其特徵在於,所述管理(38)包括經由所述實時數據流連接發起至少一個實時數據流的傳遞並處理所述實時數據流。
51.如權利要求50所述的方法,其特徵在於,所述管理(38)包括基於所述相應連接規則(3 中對所述虛擬區域的指定來確定所述虛擬區域的實例(56)、查明與所述虛擬區域實例相關聯的一個或多個網絡節點(1616)、以及在所述虛擬區域的所述實例(56)定義的上下文中發起所述實時數據流的傳遞。
52.如權利要求50所述的方法,其特徵在於,所述管理(38)包括將所述相應連接規則 (32)中對至少一個連接目標的指定解析為至少一個相應網絡節點連接句柄、並關於與所述至少一個相應網絡節點連接句柄相關聯的網絡節點發起所述實時數據流的傳遞。
53.如權利要求50所述的方法,其特徵在於,所述處理包括通過為計算機硬體裝置提供接口的驅動程序來處理所述實時數據流。
54.如權利要求50所述的方法,其特徵在於,還包括至少部分基於相對於性能目標對所述處理測得的性能來調度在所述處理中執行的至少一項任務。
55.如權利要求50所述的方法,其特徵在於,所述發布(34)和對所述實時數據流連接的所述管理(38)是在至少一臺計算機(60)上執行的。
56.存儲在由計算機(60)執行時致使所述計算機(60)執行包括以下動作的操作的計算機可讀指令的至少一個計算機可讀介質(124、128)發布(34)聲明執行操作的功能的應用編程接口(API),所述操作包括基於連接規則 (32)管理實時數據流的網絡連接,每條連接規則(3 包括對虛擬區域的相應指定和對與所述虛擬區域相關聯的一個或多個連接目標的相應指定中的至少一者;以及響應於對所述API的調用,基於所述連接規則(32)中與軟體應用08)和計算機數據文件(30)的至少一者相關聯的相應一條連接規則以及所述虛擬區域中的至少一個位置來管理(38)與至少一個網絡節點的實時數據流連接。
57.一種裝置,包括存儲計算機可讀指令的計算機可讀存儲器(1對、1觀);以及耦合至存儲器的數據處理單元(122),用於執行所述指令,並至少部分地基於所述指令的所述執行來執行操作,所述操作包括發布(34)聲明執行操作的功能的應用編程接口(API),所述操作包括基於連接規則 (32)管理實時數據流的網絡連接,每條連接規則(3 包括對虛擬區域的相應指定和對與所述虛擬區域相關聯的一個或多個連接目標的相應指定中的至少一者;以及響應於對所述API的調用,基於所述連接規則(32)中與軟體應用08)和計算機數據文件(30)的至少一者相關聯的相應一條連接規則以及所述虛擬區域中的至少一個位置來管理(38)與至少一個網絡節點的實時數據流連接。
58.一種計算機實現的方法,包括用根據連接規則(32)在虛擬區域的實例(56)所定義的上下文中建立與至少一個連接目標的網絡連接的調用來調用應用編程接口(API),所述連接規則(32)與軟體應用08)和所述軟體應用08)能對其操作的數據文件中的至少一者相關聯並且包括對所述虛擬區域的相應指定和對與所述虛擬區域相關聯的一個或多個連接目標的相應指定;用基於所述虛擬區域實例中的位置、經由所述網絡連接、關於所述連接目標發起至少一個實時數據流的傳遞的調用來調用所述API ;以及呈現從所述實時數據流導出的人類可感知的輸出。
59.如權利要求58所述的方法,其特徵在於,所述調用是由所述軟體應用08)來執行的。
60.存儲在由計算機(60)執行時致使所述計算機(60)執行包括以下動作的操作的計算機可讀指令的至少一個計算機可讀介質(124、128)用根據連接規則(32)在虛擬區域的實例(56)所定義的上下文中建立與至少一個連接目標的網絡連接的調用來調用應用編程接口(API),所述連接規則(32)與軟體應用08)和所述軟體應用08)能對其操作的數據文件中的至少一者相關聯並且包括對所述虛擬區域的相應指定和對與所述虛擬區域相關聯的一個或多個連接目標的相應指定;用基於所述虛擬區域實例中的位置、經由所述網絡連接、關於所述連接目標發起至少一個實時數據流的傳遞的調用來調用所述API ;以及呈現從所述實時數據流導出的人類可感知的輸出。
61.一種裝置,包括存儲計算機可讀指令的計算機可讀存儲器(124、128);以及耦合至存儲器的數據處理單元(122),用於執行所述指令,並至少部分地基於所述指令的所述執行來執行操作,所述操作包括用根據連接規則(3 在虛擬區域的實例(56)所定義的上下文中建立與至少一個連接目標的網絡連接的調用來調用應用編程接口(API),所述連接規則 (32)與軟體應用08)和所述軟體應用08)能對其操作的數據文件中的至少一者相關聯並且包括對所述虛擬區域的相應指定和對與所述虛擬區域相關聯的一個或多個連接目標的相應指定;用基於所述虛擬區域實例中的位置、經由所述網絡連接、關於所述連接目標發起至少一個實時數據流的傳遞的調用來調用所述API ;以及呈現從所述實時數據流導出的人類可感知的輸出。
62.一種計算機實現的方法,包括響應於包括軟體應用08)和計算機數據文件(30)的至少一者中的位置的定義的應用編程接口(API)調用,確定與所述位置定義相關聯且包括對虛擬區域的指定的連接規則(3 (290), 建立與網絡基礎設施服務的會話092),所述網絡基礎設施服務的會話主存所述虛擬區域的實例(56)並發布描述所述虛擬區域實例的當前狀態的狀態數據, 訂閱所述狀態數據094),以及呈現所述狀態數據的人類可感知視圖096)。
63.如權利要求62所述的方法,其特徵在於,還包括向所述網絡基礎設施服務聲明進入所述虛擬區域實例(56)的意圖。
64.如權利要求63所述的方法,其特徵在於,還包括經由與分別關聯於所述虛擬區域中的至少一個對象的至少一個實時數據流源的至少一個網絡連接發起至少一個實時數據流的傳遞。
65.如權利要求64所述的方法,其特徵在於,還包括根據所述虛擬區域實例(56)的規範中的至少一個流處置定義來處理所述至少一個實時數據流。
66.一種計算機實現的方法,包括響應於包括軟體應用08)和計算機數據文件(30)的至少一者中的位置的定義的應用編程接口(API)調用,確定與所述位置定義相關聯且包括對至少一個連接目標的指定的連接規則(32) (330),建立與管理網絡節點的連接句柄分布的網絡基礎設施服務的會話(332), 向所述網絡基礎設施服務聲明連接至所述連接對象中指定的所述連接目標中的一個或多個連接目標的意圖(334),從所述網絡基礎設施服務接收至少一個相應網絡節點連接句柄(336),以及經由與關聯於所述至少一個相應網絡節點連接句柄的網絡節點的至少一個網絡連接發起至少一個實時數據流的傳遞(338)。
67.一種計算機實現的方法,包括響應於包括軟體應用08)和計算機數據文件(30)的至少一者中的位置的定義的應用編程接口(API)調用,確定與所述位置定義相關聯且包括對至少一個連接目標的指定的連接規則(32) (340),建立與管理網絡節點之間的存在性數據的交換的網絡基礎設施服務的會話(342),以及向所述網絡基礎設施服務聲明向分別與所述至少一個連接目標對應的所述網絡節點中的至少一個網絡節點輸出包括所述位置定義的存在性數據的意圖(344)。
全文摘要
遍布式實時框架(12)通過顯著降低在其中網絡節點(16-26)之間的實時連接是遍布式的新操作環境範例中開發實時軟體應用所需的精力和時間的高級功能來支持實時軟體應用的執行。該遍布式實時框架(12)響應於用戶輸入處置連接至通信者、虛擬區域、和其他網絡資源、以及交換這些連接的複雜任務,並由此使得軟體應用開發者能集中精力於開發高級實時軟體應用功能性。
文檔編號G06F3/048GK102362268SQ200980150168
公開日2012年2月22日 申請日期2009年12月4日 優先權日2008年12月5日
發明者D·范威尼, J·阿爾特梅爾 申請人:社會傳播公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀