專利名稱:用于在線社區(qū)和連接體驗的體系結構的制作方法
技術領域:
當前公開的主題涉及計算領域,且更具體而言,涉及諸如媒體內(nèi)容等領域,但這只 是示例性且非限制性領域。
背景技術:
諸如游戲控制臺、游戲手持式設備、音樂播放器、個人計算機(PC)等娛樂設備不 具有供用戶例如經(jīng)由視頻和/或語音來彼此通信的結構化的、明確定義的手段。此外,這些 設備不具有用于以一致、穩(wěn)健且豐富的方式共享諸如照片、音樂、視頻等數(shù)據(jù)的手段。由此, 需要可提供用于跨平臺通信和數(shù)據(jù)共享的框架的體系結構。發(fā)明_既述此處公開了關于用于在線社區(qū)和連接體驗的體系結構的各方面。該體系結構可以 在運行主機計算設備的應用程序中實現(xiàn),其中該應用程序提供各種功能,諸如查找本地設 備上或主存在在線服務上的模塊、啟動這些模塊、在多個這樣的同時運行的模塊之間切換、 以及提供多對多文本、語音和視頻功能。該應用程序還可與主機計算設備上的托管運行時 代碼接口,由此在具有不同平臺的多個計算設備之間提供輸入、輸出和網(wǎng)絡通信手段。應當注意,提供本概述是為了以簡化的形式介紹下面在詳細描述中進一步描述的 一些概念。本概述不旨在標識所要求保護的主題的關鍵特征或必要特征,也不旨在用于幫 助確定所要求保護的主題的范圍。附圖簡述以上的概述以及以下的詳細描述在結合附圖閱讀時能更好地理解。為例示本發(fā) 明,示出了本發(fā)明的各方面。然而,本發(fā)明不限于所討論的各特定方面。包括以下附圖
圖1示出了其中不同類型的娛樂設備不具有用于通信和共享數(shù)據(jù)的跨平臺體系 結構的現(xiàn)有技術系統(tǒng);圖2示出存在用于各種類型(和相同類型)的各種設備的能夠允許通信和數(shù)據(jù)共 享的結構化跨平臺機制;圖3示出了跨平臺交互可以如何使用應用程序和/或插件體系結構來實現(xiàn);圖4示出了基本媒體內(nèi)容共享模塊與本機應用程序交互的示例性情形;圖5在圖4的主題上構建,公開了主機修改的媒體內(nèi)容情形;圖6更進一步地在圖4和5上構建,示出了遠程計算設備修改的媒體內(nèi)容的效果;圖7示出了對跨平臺應用程序機制的制造、使用、提供等的示例性框圖流程圖;圖8以框圖形式示出了可結合參考圖1-7和9討論的跨平臺應用程序的各方面來 使用的示例性多媒體控制臺;以及圖9示出了用于參考圖1-8討論的主題的示例性聯(lián)網(wǎng)環(huán)境。說明性實施例的詳細描述圖1示出了其中不同類型的娛樂設備不具有用于通信和共享數(shù)據(jù)的跨平臺體系 結構的現(xiàn)有技術系統(tǒng)。娛樂設備A 160可具有類型1,而娛樂設備B162也可具有類型1。因 為設備160、162兩者都具有相同的類型,諸如兩臺個人計算機(PC),所以它們可以容易地經(jīng)由諸如傳輸控制協(xié)議/網(wǎng)際協(xié)議(TCP/IP)等各種協(xié)議來進行通信。在這種情況下,存在 結構化通信和共享機制。作為對比,不同類型的設備由于缺少公共通信和共享機制而無法以結構化方式彼 此通信。在圖1中,娛樂設備A 160可具有類型1,即PC,而娛樂設備C 164可具有類型2, 例如音樂播放器。這兩個設備,即PC和音樂播放器,無法以豐富且寬泛的方式進行通信。當 然,可存在不同類型的設備之間的基本交互,諸如基本文本或其他直接數(shù)據(jù)共享,然而,一 個設備的內(nèi)容在極大程度上對于另一設備是不可理解的(反之亦然)。結構化跨平臺通信和數(shù)據(jù)共享的這一缺乏可適用于多個設備。圖1示出類型1的 娛樂設備A 160也無法以結構化方式與類型3的娛樂設備D進行通信。類型3設備166 (例 如,游戲手持式設備)無法與類型2設備164 (音樂播放器)通信,等等。與圖1形成對比,圖2示出如果存在結構化跨平臺機制,則各種類型(和相同類 型)的各種設備能夠容易地彼此通信和共享數(shù)據(jù)。由此,按照圖2,類型1的計算設備A 200 可與類型2的計算設備C交互;它可與類型3的計算設備D 206交互;并且,它可與具有與 其自身相同的類型,即類型1的計算設備B 204交互??砂ㄍㄐ藕?或數(shù)據(jù)共享以及其他功能的這樣的交互可包括但不限于語音、 文本和/或視頻通信,照片、音樂(包括音頻文件)、視頻等的共享。簡而言之,該交互可涉 及任何種類的數(shù)字內(nèi)容。取決于需求,這一交互可以實時或不實時執(zhí)行。此外,該交互不必 限于1 1交互,相反它可涉及多個用戶和/或計算系統(tǒng)。在該設置中,可通過跨多個平臺 進行通信和共享內(nèi)容來維持社區(qū)體驗,無論這些平臺是在PC、游戲控制臺、音樂播放器、蜂 窩電話、還是在個人數(shù)字助理(PDA)等上運行。接著,圖3示出了跨平臺交互可以如何使用應用程序和/或插件體系結構來實現(xiàn)。 在圖3中,類型1的計算設備A 200與類型2的計算設備C 202交互。在當前所公開的主 題的一方面,這一通信和/或數(shù)據(jù)共享可使用跨平臺應用程序300來實現(xiàn)。該應用程序300 可支持不同且遠程計算設備上的多個用戶302、304、306。這些設備可具有如上所述的不同 類型,包括PC、游戲控制臺等。使用該跨平臺應用程序,用戶302、304、306可使用語音、文 本、視頻和其他通信手段來召開會議308。此外,跨平臺應用程序300可支持插件體系結構。因此,可以開發(fā)各種插件模塊并 使用這些插件模塊來與核心應用程序300交互。這些插件模塊可包括各種計算解決方案, 無論是用于添加還是增強語音、文本和/或視頻通信和/或照片、音樂和/或視頻共享等。 可由插件體系結構310來實現(xiàn)這一點的一種方式是通過展示可用于設計內(nèi)置于上述插件 模塊中的適當接口的核心接口 312。核心接口 312可仲裁對各種功能的控制,諸如(1)圖形 設備,以使得插件能夠繪圖、(2)輸入,以使得插件能夠取得并處理特定輸入、(3)聯(lián)網(wǎng),以 使得插件能夠跨各個用戶同步數(shù)據(jù),等等。在當前所公開的主題的又一方面,跨平臺應用程序可以是平臺不可知的。作為示 例而非限制,應用程序300可與諸如.NET等托管代碼框架交互。這可允許利用托管代碼 來進行上述交互,并且還可允許不同類型的代碼經(jīng)由托管代碼框架所提供的中間語言來交 互。本領域的技術人員將會很好地理解,可使用各種跨平臺運行時代碼來實現(xiàn)該目標(不 僅僅是.NET),并且在所公開的主題的某些其他方面,不必使用這些托管代碼框架。在使用托管運行時代碼的情況下,這些托管運行時代碼可提供用于進程控制、輸
5入控制、聯(lián)網(wǎng)(包括用戶進入或離開會話的通知、以及定址分組并將其發(fā)送到任何用戶的 能力)、圖形渲染、對本地存儲的訪問等的基本模型或命名空間。與這些運行時代碼交互的 本機應用程序可提供用于查找本地設備上或主存在在線服務上的模塊的基本功能,它們還 可允許啟動這些模塊,在同時運行的模塊之間切換,多對多文本、語音、視頻聊天,等等。本機應用程序的其他示例性且非限制性特征中的某一些包括主存實際上運行模 塊的托管運行時代碼;向包括文本、語音、視頻、控制器、存儲等的模塊提供輸入;提供來自 包括文本、語音、視頻、圖形、存儲等的模塊的輸出;提供呈現(xiàn)來自小配件的輸出的手段;提 供邀請其他各方加入體驗的手段;維護跨所有用戶的持久文本、語音、視頻聊天。如在該應 用程序的其他部分中不同地出現(xiàn)的,這些特征只是本機應用程序的多個特征中的某一些, 無論是作為圖3中的跨平臺應用程序300還是作為圖4中的本機應用程序414。現(xiàn)在轉向圖4,該附圖示出了基本媒體內(nèi)容共享模塊與本機應用程序交互的示例 性情形。最初應當注意,“媒體內(nèi)容”包括此處全文中所討論(并且可存儲在任何有形介質(zhì) 上)的任何內(nèi)容,由此該術語是包括性的而非排斥性的。此外,此處的術語“內(nèi)容”包括任 何“數(shù)據(jù)”和/或“代碼”,因為本領域的技術人員理解這些術語。在圖4中,可以是照片共 享和/或編輯插件或某一其他小程序的模塊402提供某一媒體內(nèi)容416,例如,圖片(但是, “媒體內(nèi)容”的概念不限于圖片、文本和這些數(shù)據(jù),而是還可包括游戲內(nèi)容、視頻和/或音頻 內(nèi)容等)。該媒體內(nèi)容416可經(jīng)由圖形接口 408傳送到本機應用程序414。本機應用程序 414可提供內(nèi)容框架418,例如,某種類型的小程序或程序,諸如語音聊天或文本聊天。由 此,最終結果可以是媒體內(nèi)容416可以嵌入430到內(nèi)容框架418中,正如圖片可被嵌入或粘 貼到聊天程序中那樣。并且,此外,在當前所公開的主題的其他方面,媒體內(nèi)容416和內(nèi)容 框架418可以是同一個(例如,控制臺游戲)。最終,該媒體內(nèi)容416然后可經(jīng)由本機應用 程序414的本機聯(lián)網(wǎng)420功能來與其他用戶共享。本機應用程序414可提供各種功能,諸如維護狀態(tài)和展示用于允許與其他遠程主 機和客戶機交互的接口。在前一種情況下,應用程序414可跨諸如跨網(wǎng)絡分隔的多個計算 設備維護一致的狀態(tài)。作為示例而非限制,應用程序414可回答關于各個模塊之間的各種 連接的詢問(例如,套接字狀態(tài))。在后一種情況下,同樣作為示例而非限制,聯(lián)網(wǎng)接口 404 可幫助跨各種平臺將上述媒體內(nèi)容416與各個用戶共享;控制接口 406可允許以各種方式 操縱內(nèi)容416 ;圖形接口 408可允許獲取圖形內(nèi)容;輸入接口 410可允許可影響媒體內(nèi)容的 輸入;并且存儲接口 412可允許控制各種存儲方案。由本機應用程序414展示的這些接口 404、406、408、410和412只是示例性的并且是非限制性的。此處也構想其他接口,如在閱讀 本發(fā)明所公開的周圍上下文時顯而易見的。應用程序414本身可駐留在各種計算設備上,無論是固定的還是移動的,PC還是 膝上型計算機、PDA和蜂窩電話等。應用程序414可被具體化為完整的程序或小程序。它 可以在對等網(wǎng)絡體系結構或客戶機_服務器體系結構中起作用。如將在與圖9和10相關 聯(lián)的討論中顯而易見的,該應用程序可駐留在各種軟件、硬件或固件環(huán)境中,并通過各種類 型的網(wǎng)絡來與其他計算設備和/或模塊交互。圖5在圖4的主題上構建,公開了主機修改的媒體內(nèi)容情形。如圖4所示,嵌入430 到內(nèi)容框架418中的原始媒體內(nèi)容可經(jīng)由內(nèi)容框架418的用戶界面來修改(如上所述,該 框架418可以是任何種類的程序、應用程序或小程序,無論是基于圖形、基于文本、還是基于視頻,等等)。由此,按照圖5,用戶可經(jīng)由框架418的用戶界面來操縱媒體內(nèi)容416,并且 該操縱可經(jīng)由輸入接口 410來傳送到模塊402。接著,可將新(主機)修改的媒體內(nèi)容500 傳送到框架418并在框架418中構造。然后可以與在遠程(無論是物理地遠程還是邏輯地 遠程)計算設備上運行的其他應用程序共享該新內(nèi)容500,以使得在主機510上執(zhí)行的變更 可以反映在這些其他計算設備中。圖6更進一步地在圖4和5上構建,示出了遠程計算設備修改的媒體內(nèi)容的效果。 圖5的主機修改的內(nèi)容500還可進一步由不同(或相同)平臺上的遠程用戶來修改。根據(jù) 圖6,具有第一平臺類型的遠程設備602可變更圖5所示的經(jīng)修改的內(nèi)容500以使得這些變 更可作為遠程修改的媒體內(nèi)容600出現(xiàn)。這些變更可以出現(xiàn)在由本機應用程序414提供的 內(nèi)容框架418中。具體而言,聯(lián)網(wǎng)接口 404可將任何變更從遠程設備602中繼到適當?shù)哪?塊402以使得該模塊402然后可將這些變更呈現(xiàn)到經(jīng)修改的內(nèi)容500上,由此產(chǎn)生遠程修 改的內(nèi)容600。簡而言之,可被具體化為標準應用程序或程序和/或小程序的本機應用程序414 可駐留在想要與另一計算設備通信和/或共享數(shù)據(jù)(甚至更概括而言是與另一計算設備 交互)的任何計算設備上,其中這些設備可具有相同或不同的平臺。完成該任務的一種方 式是對于諸如應用程序414等對給定計算設備是本機的任何應用程序,提供某種核心接口 312 (圖3所示),如諸如聯(lián)網(wǎng)接口 404、控制接口 406、圖形接口 408、輸入接口 410和/或存 儲接口 412等接口所例示的。這些接口還可超過此處所公開的接口集合來擴展。例如,如圖6所示,可以提供可 定制接口 421,其中該接口可展示對諸如GPS數(shù)據(jù)、照相機數(shù)據(jù)等各種功能的訪問。由此, 可定制接口 421可代替允許任何模塊與諸如GPS、藍牙、照相機或運動檢測器設備等主機計 算設備510專用功能或設備進行通信的任何類型的接口。此外,本機應用程序414可以與 諸如.NET等托管運行時代碼400相關聯(lián),以使得可使用各種模塊或插件來與本機應用程序 414交互。由此,在當前所公開的主題的另一方面,本機應用程序414的功能可以在至少三 個不同的體系結構中表現(xiàn)其自身(1)在設備(例如,控制臺,但不限于此,因為此處構想任 何計算設備)上運行的本機應用程序可主存在其他設備上運行的各種其他應用程序之間 的會話;(2)與不同設備上的其他模塊通信的模塊可經(jīng)由動態(tài)鏈接庫(DLL),而不是本機應 用程序來這樣做(其中DLL可存在于與另一設備通信的每一個設備上,并且DLL可以從在 線源下載,或者為了第一次安裝或者為了解決與其他DLL的版本化問題;此外,應當注意, 確??缒K重啟的服務連續(xù)性(例如,跨模塊加載維護視頻聊天)可能需要專用操作系統(tǒng) 支持);以及(3)操作系統(tǒng)(OS)可管理本機應用程序(即,操作系統(tǒng)可監(jiān)督以上參考圖4、 5和6討論的通信話務)。這三個設置中的任一個都與此處所公開的主題一致,并且可按需 以所需形式采用該設置。應用程序414 (或者替換方案中的DLL或OS監(jiān)督的應用程序)可以負責維護模塊 之間的連接。該應用程序414可指定這些模塊(例如,模塊402)的特性以及模塊如何彼此 連接。如下所示,這一連接可以在對等上下文或服務器-客戶機上下文中。此外,在本機應 用程序體系結構中,例如主機遷移可以在會話主機從一個控制臺遷移到另一個控制臺時發(fā) 生(例如,在其中前一個控制臺從會話中退出的情況下)。由此,當前所公開的主題的一個優(yōu)點是開發(fā)者可節(jié)省管理各個控制臺上的各種模塊之間的連接的時間,因為在每一個這樣 的控制臺上運行的本機應用程序可保證連通性。最后,圖7示出了對跨平臺應用程序機制的制造、使用、提供等的示例性框圖流程 圖。在框700,可將上述應用程序(例如,應用程序414)從遠程源下載到計算設備上。然而, 應當理解,該應用程序可被預先加載到計算設備上。接著,在框702,一旦下載了應用程序, 就可安裝該應用程序以便與諸如運行時托管代碼等本機主機計算資源交互。一旦安裝,就 可使用該應用程序來執(zhí)行如上所述的各種功能以及諸如數(shù)據(jù)同步、實時更新等附加功能。對該應用程序的安裝允許具有不同平臺的計算設備彼此通信和/或共享數(shù)據(jù),無 論這些平臺包括標準PC操作系統(tǒng)、移動操作系統(tǒng)、還是封閉操作系統(tǒng)(其中“封閉”系統(tǒng)的 概念包括諸如游戲控制臺等只允許諸如經(jīng)簽署的代碼等特定類型的代碼運行的非通用計 算機),等等。在框704,將該應用程序配置成從遠程設備接收媒體內(nèi)容并與本機或主機計算設 備共享這些內(nèi)容。然后可由主機計算系統(tǒng)來操縱這些媒體內(nèi)容,并且可將媒體內(nèi)容中的任 何變更反映回到遠程系統(tǒng),如框706所示。此外,上述應用程序可與諸如插件程序、應用程 序、或小程序等對該應用程序是本地的或?qū)υ搼贸绦蚴沁h程的(即,駐留在不同的計算 設備上,無論是物理地還是邏輯地一諸如在虛擬機情形中)模塊交互。最后,在框708,該應 用程序可保持主機和運行不同平臺的遠程設備之間的開放通信(同時例如在框700-706中 共享數(shù)據(jù))。如上所述,這些通信可包括文本、語音、視頻、音頻,并且還可包括任何其他種類 的電子通信。應當注意,在本發(fā)明的另一方面,在具有適當?shù)膽贸绦虻那闆r下,只要用戶按下 任何控制器142(1)、142 (2)按鈕(如圖8所示),該應用程序就可截取該信號并由此在向預 期接收者傳遞任何命令之前操縱該信號。以此方式,該應用程序可管理任何控制臺的控制 流,諸如具有選擇不同模塊的能力(無論是本地地還是通過網(wǎng)絡)。實際效果是該應用程序 提供允許在封閉計算系統(tǒng)之間容易地共享數(shù)據(jù)的計算系統(tǒng)。在當前所公開的主題的一個示例性且非限制性方面,可維護視頻和/或聊天線程 以提供視頻和/或聊天始終可用(即使在應用程序重啟發(fā)生時)的表象。諸如語音數(shù)據(jù)等 所傳遞的數(shù)據(jù)的其他方面在任何數(shù)據(jù)加載(無論這些加載包括視頻、圖片、還是游戲等)中 可表現(xiàn)為是無縫的。III.用于在線內(nèi)容的示例性計算設備和網(wǎng)絡上述計算設備,無論是本機(例如,主機架510)還是遠程602,可被具體化為具有 不同、相似或相同平臺的游戲控制臺、音樂播放器、PC,和其他這樣的設備。此處還構想手持 式設備、膝上型計算機、蜂窩電話等。參考圖8,一框圖示出了可結合此處所討論的跨平臺應 用程序的各方面來使用的示例性多媒體控制臺。包括面向游戲的控制臺或PC在內(nèi)的該控 制臺可包括例如數(shù)字音頻處理功能。具體而言,在圖8中,多媒體控制臺100被示為包括具 有1級(Li)高速緩存102、2級(L2)高速緩存104和閃存R0M(只讀存儲器)106的中央處 理單元(CPU) 101。1級高速緩存102和2級高速緩存104可臨時存儲數(shù)據(jù)并因此減少了存 儲器訪問周期數(shù),從而提高了處理速度和吞吐量。閃存ROM 106可存儲在多媒體控制臺100 通電時在引導進程的初始階段加載的可執(zhí)行代碼?;蛘撸诔跏家龑щA段加載的可執(zhí)行代 碼可被存儲在閃存設備中(未示出)。此外,ROM 106可與CPU 101分開放置。這些存儲器設備可高速緩存上述應用程序、程序、小程序、托管代碼等的各部分或全部。圖形處理單元(GPU) 108和視頻編碼器/視頻編解碼器(編碼器/解碼器)114可 形成用于高速、高分辨率圖形處理的視頻處理流水線。數(shù)據(jù)可經(jīng)由總線從圖形處理單元108 輸送到視頻編碼器/視頻編解碼器114。視頻處理流水線可將數(shù)據(jù)輸出到A/V(音頻/視 頻)端口 140以傳輸?shù)诫娨暀C或其它顯示器。存儲器控制器110可連接到GPU 108和CPU 101以方便處理器訪問各種類型的存儲器112,諸如但不限于RAM(隨機存取存儲器)。多媒體控制臺100可包括可較佳地在模塊118上實現(xiàn)的I/O控制器120、系統(tǒng)管理 控制器122、音頻處理單元123、網(wǎng)絡接口控制器124、第一 USB主控制器126、第二 USB控制 器128和前面板I/O子部件130。USB控制器126和128可用作外圍控制器142 (1)-142 (2)、 無線適配器148、和外置存儲器單元146 (例如閃存、外置⑶/DVD ROM驅(qū)動器、可移動介質(zhì) 等)的主機。網(wǎng)絡接口 124和/或無線適配器148可提供對網(wǎng)絡(例如因特網(wǎng)、家庭網(wǎng)絡 等)的訪問并且可以是各種不同有線或無線接口組件中的任一種,包括以太網(wǎng)卡、調(diào)制解 調(diào)器、藍牙模塊、電纜調(diào)制解調(diào)器等等??商峁┫到y(tǒng)存儲器143以存儲在引導進程期間加載的應用程序數(shù)據(jù)??商峁┟襟w 驅(qū)動器144且其可包括DVD/CD驅(qū)動器、硬盤驅(qū)動器、或其它可移動媒體驅(qū)動器等。媒體驅(qū) 動器144對于多媒體控制臺100可以內(nèi)置或外置。應用程序數(shù)據(jù)可經(jīng)由媒體驅(qū)動器144訪 問,以由多媒體控制臺100執(zhí)行、回放等。媒體驅(qū)動器144可經(jīng)由諸如串行ATA總線或其它 高速連接(例如IEEE 1394)等總線連接到I/O控制器120。系統(tǒng)管理控制器122可提供涉及確保多媒體控制臺100的可用性的各種服務功 能。音頻處理單元123和音頻編解碼器132可形成根據(jù)上述當前所公開的主題的各方面的 具有高保真、3D、環(huán)繞和立體聲音頻處理的對應的音頻處理流水線。音頻數(shù)據(jù)可經(jīng)由通信鏈 路在音頻處理單元123與音頻編解碼器126之間傳輸。音頻處理流水線可將數(shù)據(jù)輸出到A/ V端口 140以供外置音頻播放器或具有音頻能力的設備再現(xiàn)。前面板I/O子部件130可支持暴露在多媒體控制臺100的外表面上的電源按鈕 150和彈出按鈕152以及任何LED (發(fā)光二極管)或其它指示器的功能。系統(tǒng)電源模塊136 可向多媒體控制臺100的組件供電。風扇138可冷卻多媒體控制臺100內(nèi)的電路。CPU 101、GPU 108、存儲器控制器110、和多媒體控制臺100內(nèi)的各個其它組件可 經(jīng)由一條或多條總線互連,包括串行和并行總線、存儲器總線、外圍總線、和使用各種總線 架構中任一種的處理器或局部總線。當多媒體控制臺100通電或重新引導時,應用程序數(shù)據(jù)可從系統(tǒng)存儲器143加載 到存儲器112和/或高速緩存102、104中并在CPU 101上執(zhí)行。這一應用程序數(shù)據(jù)可包括 在線導出的數(shù)據(jù)中的某一些。該應用程序還可呈現(xiàn)在導航到多媒體控制臺100上可用的不 同媒體類型時提供一致的用戶體驗的圖形用戶界面。在操作中,媒體驅(qū)動器144中包含的 應用程序和/或其它媒體可從媒體驅(qū)動器144啟動或播放,以向多媒體控制臺100提供附 加功能。多媒體控制臺100可通過將該系統(tǒng)簡單地連接到電視機或其它顯示器而作為獨 立系統(tǒng)來操作。在該獨立模式中,多媒體控制臺100可以允許一個或多個用戶與該系統(tǒng)交 互、看電影、聽音樂等。然而,隨著通過網(wǎng)絡接口 124或無線適配器148可用的寬帶連接的集 成,多媒體控制臺100還可在較大網(wǎng)絡社區(qū)中作為參與者來操作。作為這樣的參與者,多媒
9體控制臺100可與計算設備(無論是PC還是服務器)交互,并接收最終可以存儲的信息。接著,圖9示出了用于參考圖1-8討論的主題的示例性聯(lián)網(wǎng)環(huán)境。以上所討論的 游戲控制臺100可對應于計算設備153、156、157中的任一個,或者游戲控制臺100可以分 布在這些設備153、156、157上。游戲控制臺100可經(jīng)由通信網(wǎng)絡/總線154與各種其他對 象155和存儲設備158交互,其中這些對象和設備可對應于其他計算設備(無論是硬件、固 件還是軟件)。取決于實現(xiàn),跨平臺應用程序可以在對等網(wǎng)絡或基于客戶機-服務器的網(wǎng)絡 中通信。最后,應當注意,此處描述的各種技術可以結合硬件或軟件,或在適當時以兩者的 組合來實現(xiàn)。因此,當前公開的主題的方法和裝置或其特定方面或部分可采取包含在諸 如軟盤、CD-ROM、硬盤驅(qū)動器或任何其它機器可讀存儲介質(zhì)等有形存儲介質(zhì)中的程序代碼 (即,指令)的形式,其中當程序代碼被加載到諸如計算機等機器內(nèi)并由其執(zhí)行時,該機器 成為用于實現(xiàn)本主題的裝置。在程序代碼在可編程計算機上執(zhí)行的情況下,計算設備通??梢园ㄌ幚砥鳌⒃?處理器可讀的存儲介質(zhì)(包括易失性和非易失性的存儲器和/或存儲元件)、至少一個輸 入設備、以及至少一個輸出設備。可例如通過使用數(shù)據(jù)處理應用程序編程接口(API)等來 利用本發(fā)明的域?qū)S镁幊棠P偷膭?chuàng)建和/或?qū)崿F(xiàn)的各方面的一個或多個程序較佳地用高 級過程語言或面向?qū)ο蟮木幊陶Z言來實現(xiàn)以與計算機系統(tǒng)通信。然而,如果需要,該程序可 以用匯編語言或機器語言來實現(xiàn)。在任何情形中,語言可以是編譯語言或解釋語言,并被組
I=I O當前所公開的各方面所使用的任何語言可包含用于執(zhí)行各種任務的指令。因此, 例如,本機運行時代碼可維護維持例如跨模塊加載的語音/視頻聊天所必需的連接;本機 應用程序可向模塊展示關于附連到當前會話的用戶的知識(以此方式,各模塊可以在它們 啟動時始終知曉當前誰是連接的);如圖4所示,例如,本機應用程序414可以是實際內(nèi)容 框架418(在這種情況下,應用程序414可運行顯示與當前會話相關的信息和用戶界面(UI) 的專用模塊,例如,具有可視化還有誰在會話中的能力,并使該UI實際上操縱數(shù)據(jù),例如, 邀請人、踢走人、顯示表情、啟動新模塊、以及使會話中的每一個人也啟動新模塊,等等); 本機應用程序還可提供與會話無關的個人服務(例如,股票機、新聞、電子郵件等);并且本 機應用程序還可向各模塊提供其他豐富的服務,例如,如來自蜂窩電話或其他附連硬件的 GPS信息、來自附連到會話的用戶的豐富的簡檔數(shù)據(jù)等的特殊能力。而且,盡管已經(jīng)結合如各附圖所示且在上文中討論的多個示例性方面描述了本發(fā) 明,但可以理解,可使用其它相似方面或者可對所述方面進行修改和添加以執(zhí)行本發(fā)明的 相同功能而不背離本發(fā)明。例如,在本發(fā)明的各方面,描述了用于跨平臺計算設備之間和/ 或中的交互的過程和方法。然而,本文的教示還構想了與這些描述方面等價的其它機制。因 此,本發(fā)明應當不限于任何單一方面,而應按照所附權利要求書的寬度與范圍來解釋。
權利要求
一種用于允許多個計算設備之間的跨平臺交互的系統(tǒng),包括具有第一平臺的第一計算設備(153、156、157、100、200、202、204、206);具有與所述第一平臺不同的第二平臺的第二計算設備(153、156、157、100、200、202、204、206);以及駐留在所述第二計算設備上的應用程序(300),其中所述應用程序被配置成允許在所述第一計算設備和所述第二計算設備之間進行通信和數(shù)據(jù)共享,其中所述應用程序被配置成經(jīng)由一組接口來與模塊交互,并且其中所述應用程序被配置成在所述第二計算設備處從所述第一計算設備接收第一內(nèi)容并在托管運行時環(huán)境中處理所述內(nèi)容。
2.如權利要求1所述的系統(tǒng),其特征在于,所述應用程序還被配置成從所述模塊接收 第二內(nèi)容并將所述第二內(nèi)容傳送到所述第一計算設備。
3.如權利要求1所述的系統(tǒng),其特征在于,所述應用程序經(jīng)由所述一組接口將所述第 一內(nèi)容提供給所述模塊。
4.如權利要求1所述的系統(tǒng),其特征在于,所述應用程序被配置成允許以文本、語音和 視頻格式中的至少一個格式在所述第一計算設備和所述第二計算設備之間進行通信和數(shù) 據(jù)共享。
5.如權利要求1所述的系統(tǒng),其特征在于,所述應用程序被配置成與所述第一計算設 備實時交互。
6.如權利要求1所述的系統(tǒng),其特征在于,所述托管運行時環(huán)境是.NET。
7.如權利要求1所述的系統(tǒng),其特征在于,所述通信和數(shù)據(jù)共享通過對等網(wǎng)絡發(fā)生。
8.如權利要求1所述的系統(tǒng),其特征在于,所述模塊是插件小程序。
9.如權利要求1所述的系統(tǒng),其特征在于,所述應用程序是從遠程源下載的。
10.如權利要求1所述的系統(tǒng),其特征在于,所述一組接口是可擴展的。
11.如權利要求1所述的系統(tǒng),其特征在于,所述第一計算設備和所述第二計算設備中 的至少一個是封閉設備。
12.如權利要求1所述的系統(tǒng),其特征在于,所述第一計算設備和所述第二計算設備中 的至少一個是移動設備。
13.—種承載用于允許多個計算設備之間的跨平臺交互的計算機可執(zhí)行指令的計算機 可讀存儲介質(zhì)(102、104、106、112、143、146、158),所述指令包括被配置成將內(nèi)容(416)從主機計算設備提供(700)至遠程計算設備的指令;被配置成經(jīng)由一組接口中的至少一個將所接收到的內(nèi)容提供(702)給模塊的指令;被配置成由對所述主機計算設備本機的應用程序從所述遠程計算設備或所述模塊接 收(704)內(nèi)容的指令;以及被配置成在所述應用程序和具有與所述主機計算設備不同的平臺的多個計算設備之 間交換(708)內(nèi)容的指令,其中所述內(nèi)容交換在托管運行時環(huán)境中執(zhí)行。
14.如權利要求13所述的計算機可讀存儲介質(zhì),其特征在于,所述內(nèi)容是文本、語音和 視頻數(shù)據(jù)中的至少一個。
15.如權利要求13所述的計算機可讀存儲介質(zhì),其特征在于,所述交換通過對等網(wǎng)絡 發(fā)生。
16.如權利要求13所述的計算機可讀存儲介質(zhì),其特征在于,還包括用于將所述本機應用程序下載到所述主機計算設備上的指令。
17.一種用于允許具有不同類型的多個計算娛樂設備之間的通信和數(shù)據(jù)共享的方法, 包括從存儲設備檢索(700)內(nèi)容(416); 將所述內(nèi)容發(fā)送(702)到應用程序;由在主機計算設備上運行的所述應用程序來接收(704)所述內(nèi)容; 將所述內(nèi)容嵌入(430)到在所述主機計算設備上運行的內(nèi)容框架(418)中;以及 將所述內(nèi)容的副本提供給運行與在所述主機計算設備上運行的所述應用程序基本上 相似的應用程序的遠程計算設備,其中所述基本上相似的應用程序和所述主機計算設備應 用程序兩者都與公共托管運行時框架相關聯(lián)。
18.如權利要求17所述的方法,其特征在于,還包括在所述主機計算系統(tǒng)處并從運行 與在所述主機計算系統(tǒng)上運行的平臺不同的平臺的所述遠程計算設備接收對于所述內(nèi)容 的附加內(nèi)容。
19.如權利要求17所述的方法,其特征在于,對所述內(nèi)容的所述檢索由與所述主機計 算設備相關聯(lián)的插件設備執(zhí)行。
20.如權利要求17所述的方法,其特征在于,所述多個計算設備中的至少一個是封閉設備。
全文摘要
此處公開了關于用于在線社區(qū)和連接體驗的體系結構的各方面。該體系結構可以在運行主機計算設備的應用程序中實現(xiàn),其中該應用程序提供各種功能,諸如查找本地設備上或主存在在線服務上的模塊、啟動這些模塊、在多個這樣的同時運行的模塊之間切換、以及提供多對多文本、語音和視頻功能。該應用程序還可與主機計算設備上的托管運行時代碼接口,由此在具有不同平臺的多個計算設備之間提供輸入、輸出和網(wǎng)絡通信手段。
文檔編號G06F3/00GK101911045SQ200880124596
公開日2010年12月8日 申請日期2008年12月11日 優(yōu)先權日2008年1月11日
發(fā)明者T·A·蘭根, T·林, V·辛格尼 申請人:微軟公司