專利名稱:在封閉系統(tǒng)中執(zhí)行未經(jīng)簽署的內(nèi)容并保護(hù)訪問的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計(jì)算領(lǐng)域,尤其涉及游戲環(huán)境。 背景
游戲系統(tǒng)在當(dāng)今計(jì)算環(huán)境中是普遍的。游戲控制臺(tái)通常是只允許由硬件廠 商控制的經(jīng)簽署游戲在這些控制臺(tái)上執(zhí)行的封閉系統(tǒng)。該限制可出于各種原因 而做出,無論是為發(fā)行商保護(hù)具有其中對知識產(chǎn)權(quán)的侵犯被維持在最低限度的 嚴(yán)格控制環(huán)境的商業(yè)模型,還是為了控制能夠在游戲系統(tǒng)上玩的游戲的類型, 例如以便允許孩子玩符合家長期望的內(nèi)容。另外,允許經(jīng)簽署的代碼運(yùn)行幫助 控制并緩解其中諸如社區(qū)分?jǐn)?shù)或數(shù)字貨幣等特定假設(shè)必須是準(zhǔn)確的在線社區(qū) 中游戲作弊的可能性。
然而,存在于游戲控制臺(tái)上的這些嚴(yán)格限制總體上妨礙了較大型的創(chuàng)造性 社區(qū)在封閉的游戲控制臺(tái)上開發(fā)游戲或類似游戲的應(yīng)用程序。因此,解決允許 開發(fā)者、玩家、 一般業(yè)余愛好者和學(xué)生游戲開發(fā)者社區(qū)等為傳統(tǒng)上封閉的系統(tǒng)
編寫游戲的需求是重要的。另外,解決花費(fèi)時(shí)間和精力來攻擊(hack)游戲控 制臺(tái)以允許未經(jīng)簽署的代碼在這些游戲控制臺(tái)上運(yùn)行的自制(homebrew)開發(fā) 者(有了以下公開的本發(fā)明主題他們本不必花費(fèi)這些時(shí)間和精力)的急速增長 市場的問題是重要的。
概述
提供了允許執(zhí)行未經(jīng)簽署的內(nèi)容并在這些未經(jīng)簽署的內(nèi)容在封閉系統(tǒng)上 執(zhí)行時(shí)保護(hù)該系統(tǒng)中的資源的機(jī)制。在所公開的本發(fā)明主題的一方面中,在封 閉系統(tǒng)的操作系統(tǒng)層和實(shí)際未經(jīng)簽署的內(nèi)容之間使用訪問層。此外,該訪問層 可包含各種子層,諸如圖形層、音頻層、輸入層和存儲(chǔ)層等。這些層能夠控制 未經(jīng)簽署的內(nèi)容可對本地操作系統(tǒng)及其相關(guān)聯(lián)資源的訪問的類型和量。
在一示例性且非限制性方面,所提到的子層中的任一個(gè)都可由各種緩沖區(qū)組成,諸如封閉系統(tǒng)的用戶模式中的輸入緩沖區(qū)和封閉系統(tǒng)的管理員模式中的 相應(yīng)的確認(rèn)緩沖區(qū)等,其中信息(代碼和/或數(shù)據(jù))可從前一緩沖區(qū)被復(fù)制到 后一緩沖區(qū)(以便在該后一緩沖區(qū)中確認(rèn))。另外,可使用各種其他組件,諸 如可存儲(chǔ)已經(jīng)在所提到的確認(rèn)緩沖區(qū)中得到確認(rèn)的命令的環(huán)形緩沖區(qū)等。
應(yīng)當(dāng)注意,提供本概述是為了以簡化的形式介紹將在以下在詳細(xì)描述中進(jìn) 一步描述的一些概念。該概述不旨在標(biāo)識所要求保護(hù)的主題的關(guān)鍵特征或必要 特征,也不旨在用于幫助確定所要求保護(hù)的主題的范圍。
附圖簡述
以上概述及以下詳細(xì)描述在結(jié)合附圖閱讀時(shí)能夠被更好地理解。為了闡明 本發(fā)明,示出了本發(fā)明的各方面。然而,本發(fā)明不限于所討論的特定方面。包 括以下附圖
圖1示出了其中只有經(jīng)簽署的軟件組件(即,經(jīng)簽署的游戲)才能夠在通 常封閉的系統(tǒng)上運(yùn)行的現(xiàn)有技術(shù)系統(tǒng);
圖2示出了其中經(jīng)簽署和未經(jīng)簽署的游戲兩者都能夠在封閉系統(tǒng)上運(yùn)行 的系統(tǒng);
圖3示出經(jīng)簽署的游戲得到認(rèn)證而未經(jīng)簽署的游戲未得到認(rèn)證;
圖4示出在游戲操作系統(tǒng)和未經(jīng)簽署的內(nèi)容之間存在游戲訪問層,其中這 一居間層控制該未經(jīng)簽署的內(nèi)容的訪問;
圖5示出了在圖4中被示為抽象的、更具體地具有其諸如圖形、音頻、輸 入和存儲(chǔ)等各種子層的訪問層;
圖6更詳細(xì)地示出了參考圖5討論的各方面,S卩,聚焦于供各子層使用的 各個(gè)緩沖區(qū);
圖7示出封閉系統(tǒng)所做的是虛擬化供未經(jīng)簽署的代碼對其執(zhí)行的硬件; 圖8示出存在可將未經(jīng)簽署的內(nèi)容從某一計(jì)算源提供給封閉系統(tǒng)的多種
方式;
圖9示出了表示根據(jù)所公開的本發(fā)明主題的未經(jīng)簽署的內(nèi)容可在其上執(zhí) 行的示例性、非限制性計(jì)算系統(tǒng)環(huán)境的框圖10示出了顯示根據(jù)所公開的本發(fā)明主題的所述未經(jīng)簽署的內(nèi)容可在其上執(zhí)行的示例性、非限制性多媒體控制臺(tái)設(shè)備的框圖;以及
圖11以框圖的形式示出了在封閉系統(tǒng)中執(zhí)行未經(jīng)簽署的內(nèi)容并保護(hù)訪問。
詳細(xì)描述
概覽
通常,游戲控制臺(tái)只允許經(jīng)簽署的游戲執(zhí)行。為了確保經(jīng)簽署的游戲不以 任何剝奪方式暴露封閉控制臺(tái),通過被稱為認(rèn)證的過程來推出游戲。認(rèn)證要求 游戲在被簽署之前遵循一組嚴(yán)格的規(guī)則。這些嚴(yán)格的規(guī)則適于防止標(biāo)題不知不 覺地造成可允許以對制造商以及內(nèi)容發(fā)行商有害的方式攻擊封閉控制臺(tái)的漏
洞(exploit)。具體而言,防止封閉控制臺(tái)上內(nèi)容的非法翻印是重要的。
在封閉控制臺(tái)上運(yùn)行的所有游戲都將需要訪問資源,諸如存儲(chǔ)器、CPU、 光盤驅(qū)動(dòng)器、輸入設(shè)備和持久存儲(chǔ)(如硬盤驅(qū)動(dòng)器)等。因?yàn)槲唇?jīng)簽署的游戲 沒有經(jīng)歷經(jīng)簽署的游戲所需的典型認(rèn)證過程,所以在此公開了用于示出確保從 未經(jīng)簽署的游戲流至受保護(hù)資源的數(shù)據(jù)是有效的方式的系統(tǒng)、方法和計(jì)算機(jī)可 讀介質(zhì)。
在本發(fā)明的一個(gè)示例性、非限制性方面,所有數(shù)據(jù)都通過資源管理層灌進(jìn), 該資源管理層處理對在未經(jīng)簽署的游戲和封閉的游戲控制臺(tái)中的受保護(hù)資源 之間來回流動(dòng)的任何數(shù)據(jù)的確認(rèn)。該層確保所有受保護(hù)資源都無法被未經(jīng)簽署 的游戲直接訪問,并且確保進(jìn)入受保護(hù)資源的所有入口點(diǎn)都是已知的。在未經(jīng) 簽署的游戲試圖錯(cuò)誤地訪問受保護(hù)資源或者訪問完全禁止入內(nèi)的資源的情況 下,該層可立即終止所有執(zhí)行。此外,可從資源管理層獲得的入口點(diǎn)可由控制 臺(tái)制造商來固定或預(yù)定。這能夠有助于防止未經(jīng)簽署的代碼任意創(chuàng)建新的入口 點(diǎn)。
更危險(xiǎn)的某些受保護(hù)資源可具有在適當(dāng)位置的另一抽象層。高級緩沖區(qū)連 同專用協(xié)議可抽象對底層資源的大多數(shù)調(diào)用。在關(guān)鍵點(diǎn)處的高級緩沖區(qū)中的調(diào) 用可被轉(zhuǎn)儲(chǔ)清除到資源管理層中,并且然后在被發(fā)送到受保護(hù)資源之前確認(rèn)。
最后,資源管理系統(tǒng)可檢測到諸如安全違反等任何意外的活動(dòng),并將該活 動(dòng)記錄到中央位置中。耦合有唯一的用戶標(biāo)識系統(tǒng)的該機(jī)制給予控制臺(tái)制造商跟蹤按給定用戶分組的安全違反的數(shù)量的方法。由該系統(tǒng)呈現(xiàn)的數(shù)據(jù)為控制臺(tái)
制造商提供了跟蹤安全漏洞的源頭并正確地處理無污點(diǎn)(inviolate)用戶的能 力。
封閉系統(tǒng)中的未經(jīng)簽署的內(nèi)容的各方面
所公開的本發(fā)明主題的此章節(jié)聚焦于封閉系統(tǒng)中未經(jīng)簽署的內(nèi)容以執(zhí)行 是安全的(即,以使得該封閉系統(tǒng)中的資源得到保護(hù))方式的執(zhí)行。為了獲得 對這些方面的更好的理解,將其與現(xiàn)有技術(shù)進(jìn)行比較是有益的。
因此,圖1示出了其中只有經(jīng)簽署的軟件組件(即,經(jīng)簽署的游戲)才能 夠在通常封閉的系統(tǒng)上運(yùn)行的現(xiàn)有技術(shù)系統(tǒng)。具體而言,描繪了諸如游戲A 185和游戲B 190能夠?qū)ζ鋱?zhí)行195的封閉系統(tǒng)180。 這些游戲185、 190通 常由封閉系統(tǒng)180制造商來授權(quán),然而,在某些方面它們可由游戲開發(fā)者或某 些其他第三方來授權(quán)。在任何情況下,系統(tǒng)180都被認(rèn)為在并非每一個(gè)軟件 應(yīng)用程序都可在其上運(yùn)行的意義上是"封閉的",如同對于通用個(gè)人計(jì)算機(jī)(PC) 的情況一樣。
典型的簽署過程在本領(lǐng)域是已知的,并且如以上所提到的,它用于各種目 的,諸如限制知識產(chǎn)權(quán)的侵犯以及控制誰可訪問適當(dāng)?shù)膬?nèi)容等。然而,不管這 一封閉系統(tǒng)180有多少優(yōu)點(diǎn),它不必要地限制了其他"未經(jīng)簽署的"游戲(未 被游戲機(jī)構(gòu)官方授權(quán)的游戲)的開發(fā)。這些未經(jīng)簽署的游戲可以是在現(xiàn)有游戲 之上構(gòu)建的游戲(在從經(jīng)簽署游戲的發(fā)行商獲得許可的情況下甚至是"經(jīng)簽署 的"游戲),或者它們可以是無法在封閉系統(tǒng)上運(yùn)行的新開發(fā)的游戲。
因此,與圖1相比,圖2示出了其中經(jīng)簽署和未經(jīng)簽署的游戲兩者都能夠 在封閉系統(tǒng)上運(yùn)行的系統(tǒng)。與圖1的封閉系統(tǒng)(即,封閉系統(tǒng)180)相比不 同的封閉系統(tǒng)200不僅可運(yùn)行經(jīng)簽署的游戲A 205和B 210,而且可運(yùn)行未經(jīng) 簽署的游戲C 215和D 220。 但是應(yīng)當(dāng)主意,所描繪的封閉系統(tǒng)180和200 僅僅是示例性的并且不限于計(jì)算設(shè)備的任何特定制造商或代(針對這些系統(tǒng)的 抽象框可代替圖1和2中的具體描繪示出)。
如以上所提到的,允許未經(jīng)簽署的游戲內(nèi)容C 215和D 220在通常不允許 未經(jīng)簽署的內(nèi)容運(yùn)行的系統(tǒng)200上運(yùn)行擴(kuò)展了這一系統(tǒng)200的游戲能力。然而,允許運(yùn)行未經(jīng)簽署的游戲內(nèi)容215、 220也呈現(xiàn)出安全問題。因?yàn)橛螒駽 215和D 220是未經(jīng)簽署的,即,它們未被驗(yàn)證是它們所聲稱的游戲,所以惡 意或不合乎需要的代碼和數(shù)據(jù)可能結(jié)束在游戲系統(tǒng)220上運(yùn)行。如將簡短解 釋的,參考圖4,必須存在安全層。并且該安全層不僅首先允許未經(jīng)簽署的 游戲運(yùn)行,而且另外具有防止不合乎需要的代碼和數(shù)據(jù)與游戲系統(tǒng)200資源交 互的益處。
接著,圖3示出經(jīng)簽署的游戲得到認(rèn)證而未經(jīng)簽署的游戲未得到認(rèn)證。 具體而言,游戲A305和B 310由某一認(rèn)證或確認(rèn)機(jī)構(gòu)簽署以使得這些游戲能 夠在由該機(jī)構(gòu)指定的具體封閉系統(tǒng)上運(yùn)行335。 這些經(jīng)簽署的游戲A 305和 B 310被認(rèn)為是得到認(rèn)證的325。 相反,未得到認(rèn)證的游戲330是未由某一 這樣的機(jī)構(gòu)簽署的游戲,即,游戲A315和B 320,并且因此它們通常無法在 封閉系統(tǒng)300上執(zhí)行。有了本發(fā)明的以上和以下各方面,這些游戲315、 320 能夠在封閉系統(tǒng)300上運(yùn)行(除了最初經(jīng)簽署的游戲A305和B310之外)。
現(xiàn)在轉(zhuǎn)向圖4,其示出在游戲操作系統(tǒng)和未經(jīng)簽署的內(nèi)容之間存在游戲訪 問層,其中這一居間層控制該未經(jīng)簽署的內(nèi)容的訪問;游戲訪問層405是抽 象(這將在以下參考圖5和6更詳細(xì)地解釋)。簡而言之,該層可被廣泛地 理解成一種供未經(jīng)簽署的內(nèi)容410與其交互的接口。 實(shí)際上,它表示用于未 經(jīng)簽署的內(nèi)容410的虛擬化硬件以使得該未經(jīng)簽署的內(nèi)容410不必嚴(yán)格地與操 作系統(tǒng)層400兼容(如對于經(jīng)簽署的游戲內(nèi)容(例如,圖3所示的游戲A305 和B310)的情況)。
具體而言,在圖4中被示為抽象的訪問層405將參考圖5更詳細(xì)地解釋。 訪問層405可包括至少六層圖形層510、音頻層515、輸入層520、存儲(chǔ)層 525、網(wǎng)絡(luò)層527和數(shù)學(xué)層528。 這些層中的每一個(gè)都負(fù)責(zé)不同的任務(wù)。例 如,圖形層510可負(fù)責(zé)呈現(xiàn)圖形(包括但不限于,平面著色、普通映射、紋理 映射等);音頻層515 (如名稱所暗示的)可負(fù)責(zé)封閉系統(tǒng)上的音頻(但應(yīng)注 意,這一音頻可以與或不與未經(jīng)簽署的內(nèi)容相關(guān)聯(lián),即,它可以是從CD、 DVD 或某一計(jì)算機(jī)設(shè)備文件獲取的獨(dú)立音頻);輸入層520可負(fù)責(zé)處理來自用戶的 輸入,諸如控制器按鈕選擇、使用輸入設(shè)備的點(diǎn)擊等;存儲(chǔ)層525可負(fù)責(zé)存儲(chǔ) 特定游戲內(nèi)容或重新調(diào)用特定游戲內(nèi)容(另外,該層可用于通過存儲(chǔ)使游戲內(nèi)容達(dá)到新控制臺(tái)硬件水平的代碼和/或數(shù)據(jù)來允許運(yùn)行傳統(tǒng)軟件);網(wǎng)絡(luò)層527
可允許聯(lián)機(jī)游戲,其中控制臺(tái)側(cè)和任何相關(guān)聯(lián)的服務(wù)器側(cè)兩者上的聯(lián)網(wǎng)棧都可
用于允許在線聯(lián)機(jī)體驗(yàn);以及最后,數(shù)學(xué)層528可允許執(zhí)行特定數(shù)學(xué)功能,例
如以便允許更高效的映射渲染(如果涉及圖形的話)。在任何情況下,這些
層510、 515、 520、 525、 527、 528中的每一個(gè)都有助于提供用戶模式500和 管理員(例如,內(nèi)核)模式505之間的安全門,諸如托管代碼530等未經(jīng)簽署 的代碼可能需要通過該安全門以確保安全的計(jì)算(即,以使得未經(jīng)簽署的代碼 不會(huì)出于非控制臺(tái)制造商或其他感興趣各方所預(yù)期的目的接管底層本地OS層 540及任何相關(guān)聯(lián)的控制臺(tái)資源)。
因此,按照圖5,與上述未經(jīng)簽署的代碼相關(guān)聯(lián)的某一托管代碼530被提 供給訪問層405,該訪問層405可包括以上所討論的各個(gè)子層510、 515、 520、 525、 527、 528。 托管代碼530從用戶模式500側(cè)提供,并穿過各子層向下 過濾至管理員模式505側(cè)。這六個(gè)層510、 515、 520、 525、 527、 528確保 (1)適當(dāng)?shù)慕涌诒徽故窘o托管代碼530以及(2)托管代碼530將只訪問本地 OS層540中被許可訪問的資源。 由此,總體而言,訪問層405在第一種情 況下扮演輔助角色而在第二種情況下扮演防守角色,從而分別允許未經(jīng)簽署的 內(nèi)容執(zhí)行并防止錯(cuò)誤的未經(jīng)簽署的內(nèi)容訪問特定資源。否則,如果托管代碼 530可直接訪問管理員模式505中的本地OS層540,則這一代碼530將可完全 控制對于游戲控制臺(tái)本地的資源。然而,這出于以上所列出的原因可能是不 合乎需要的,即,出于非制造商預(yù)期目的使用控制臺(tái)。
圖6更詳細(xì)地示出了參考圖5討論的各方面。例如,如果要釆用諸如圖形 層510等以上所討論的子層中的一個(gè),并聚焦于其子組件,則將會(huì)看到類似于 圖6右側(cè)所示組件的組件。首先,圖像層510在圖6的左側(cè)示出,并且它可接 收某一輸入600 (它還可提供輸出,但該方面限于呈現(xiàn)輸入的目的)。
因此,圖形層510可具有接收所提到的輸入600的輸入緩沖區(qū)605。本領(lǐng) 域技術(shù)人員將容易理解可在此處使用的不同類型的緩沖區(qū),諸如頂點(diǎn)緩沖區(qū)、 索引緩沖區(qū)、頂點(diǎn)和像素著色器等。 一旦輸入代碼和/或數(shù)據(jù),就可將其從用戶 模式500側(cè)復(fù)制到管理員模式側(cè)505。因此,它從輸入緩沖區(qū)605被復(fù)制到確 認(rèn)緩沖區(qū)610中。在該確認(rèn)緩沖區(qū)610中,可確認(rèn)信息(代碼、數(shù)據(jù)或其任何其他等價(jià)物)以確保其是應(yīng)被允許訪問管理員模式505的信息類型。
管理員模式505中應(yīng)允許什么的標(biāo)準(zhǔn)可由控制臺(tái)制造商或其他第三方來 定義,并且該標(biāo)準(zhǔn)可由這些各方持續(xù)更新和監(jiān)視。因此,做出關(guān)于存儲(chǔ)在確認(rèn) 緩沖區(qū)610中的信息的檢査。例如,可在確認(rèn)緩沖區(qū)610中確認(rèn)句柄,其中"句 柄"被理解為通常是指針的標(biāo)記,其使得程序能夠訪問資源,諸如庫函數(shù)或如 以上所討論的某一硬件資源等。如果該信息是有效的,則可將其向下傳遞給環(huán) 形緩沖區(qū)615以供對本地控制臺(tái)資源執(zhí)行。
當(dāng)然,可以理解,給定作為輸入600的信息類型,可使用其他緩沖區(qū)體系 結(jié)構(gòu)。環(huán)形緩沖區(qū)615方面可以在命令被存儲(chǔ)在確認(rèn)緩沖區(qū)610中時(shí)使用。另 一方面,如果提供了對于命令的參數(shù),則可能不需要環(huán)形緩沖區(qū)615。
在所公開的本發(fā)明主題的一不同方面中,圖7示出封閉系統(tǒng)所做的是虛擬 化供未經(jīng)簽署的代碼702對其執(zhí)行的硬件。因此,本質(zhì)上,虛擬機(jī)708形式的 虛擬環(huán)境在未經(jīng)簽署的代碼可執(zhí)行的地方創(chuàng)建。這一未經(jīng)簽署的代碼能夠在用 戶模式500中運(yùn)行,因此對它本應(yīng)在管理員模式505中具有的系統(tǒng)706資源具 有有限的控制。本地OS層704可虛擬化適用于未經(jīng)簽署的代碼的軟件和硬件, 并僅向該代碼提供其可訪問和/或控制的一組所需資源。
本領(lǐng)域技術(shù)人員可以理解,可使用各自具有用于各個(gè)相應(yīng)未經(jīng)簽署的游戲 的不同虛擬環(huán)境的各種這樣的虛擬機(jī)708?;蛘?,可使用供未經(jīng)簽署的游戲的 全部或某一重要子集以其執(zhí)行的某一通用虛擬機(jī)標(biāo)準(zhǔn)。于是,這些僅僅是此處 的延及全部的(over-arching)的本發(fā)明所構(gòu)想的提供供未經(jīng)簽署的游戲在其中 運(yùn)行的虛擬機(jī)環(huán)境的封閉系統(tǒng)706的實(shí)現(xiàn)細(xì)節(jié)。
最后,存在可將未經(jīng)簽署的內(nèi)容從某一計(jì)算源提供給封閉系統(tǒng)的多種方 式,如圖8所示。該方面旨在示出圖4中所提到的并參考圖5和6詳細(xì)討論的 訪問層405可處理各種類型的未經(jīng)簽署的內(nèi)容。該方面中所構(gòu)想的內(nèi)容類型可 包括只向封閉計(jì)算系統(tǒng)808的訪問層提供一次802的內(nèi)容、被流傳送804到系 統(tǒng)806的內(nèi)容、或周期性地及動(dòng)態(tài)地808提供給系統(tǒng)808的內(nèi)容。
此處構(gòu)想了各種類型的內(nèi)容提供體系結(jié)構(gòu)。 一個(gè)類型可具有計(jì)算源802、 804、 806與封閉系統(tǒng)808之間的居間服務(wù)器810,而其他類型可具有計(jì)算源與 封閉系統(tǒng)808之間的直接連接。本領(lǐng)域技術(shù)人員將容易理解可將內(nèi)容傳遞給封閉系統(tǒng)的各種方式。 一旦內(nèi)容被提供給封閉系統(tǒng)808,系統(tǒng)808就可取得該內(nèi) 容并通過圖4所示的訪問層405、圖5所示的各個(gè)圖形層510、音頻層515、輸 入層520和存儲(chǔ)層525以及圖6所示的各個(gè)緩沖區(qū)605、 610和615來運(yùn)行該 內(nèi)容。接收、存儲(chǔ)信息以及將信息向下傳遞給系統(tǒng)808資源的方式將取決于訪 問層中由系統(tǒng)808制造商設(shè)置的限制,并由此取決于未經(jīng)簽署的內(nèi)容的內(nèi)容。
示例性計(jì)算設(shè)備
如上所述,所公開的本發(fā)明主題應(yīng)用于其中期望在本來封閉的系統(tǒng)上運(yùn)行 未經(jīng)簽署的內(nèi)容的任何設(shè)備。然而,應(yīng)當(dāng)理解,如上所示,等價(jià)于未經(jīng)簽署的 內(nèi)容的內(nèi)容的其他內(nèi)容可以與當(dāng)前公開的所有種類的計(jì)算對象一起工作。因 此,在下面的圖9中描述的以下通用遠(yuǎn)程計(jì)算機(jī)僅是一個(gè)示例,且本發(fā)明主題 可用任何客戶機(jī)或便攜式設(shè)備來實(shí)現(xiàn),而不管其是獨(dú)立的還是具有網(wǎng)絡(luò)/總線互 操作性和交互。由此,本發(fā)明主題可在其中蘊(yùn)含了極少或最少客戶機(jī)資源的聯(lián) 網(wǎng)主存服務(wù)的環(huán)境,例如其中客戶機(jī)設(shè)備僅用作到網(wǎng)絡(luò)/總線的接口 (如置于器 具中的對象)的聯(lián)網(wǎng)環(huán)境中實(shí)現(xiàn)。
盡管并不是必需的,但本發(fā)明主題可以部分地經(jīng)由操作系統(tǒng)來實(shí)現(xiàn),以供 設(shè)備或?qū)ο蟮姆?wù)開發(fā)者使用,和/或被包括在結(jié)合本發(fā)明主題操作的應(yīng)用軟件 中。軟件可以在由諸如客戶機(jī)工作站、服務(wù)器或其它設(shè)備等一個(gè)或多個(gè)計(jì)算機(jī) 執(zhí)行的諸如程序模塊等計(jì)算機(jī)可執(zhí)行指令的通用上下文中描述。本領(lǐng)域技術(shù)人 員可以理解,本發(fā)明主題可以用其它計(jì)算機(jī)系統(tǒng)配置和協(xié)議來實(shí)施。
圖9由此示出了其中可實(shí)現(xiàn)參考圖2-8描述的各方面的合適的計(jì)算系統(tǒng)環(huán) 境100a的一個(gè)示例,但如以上清楚地描述的,計(jì)算系統(tǒng)環(huán)境100a僅為用于執(zhí) 行設(shè)備的合適計(jì)算環(huán)境的一個(gè)示例,并非旨在對這些方面的使用范圍或功能提 出任何限制。也不應(yīng)將計(jì)算系統(tǒng)100a解釋為對示例性操作環(huán)境100a中示出的 任一組件或其組合具有任何依賴性或需求。
參考圖9,用于實(shí)現(xiàn)上述各方面的示例性遠(yuǎn)程設(shè)備包括計(jì)算機(jī)110a形式 的通用計(jì)算設(shè)備。計(jì)算機(jī)110a的組件可以包括,但不限于,處理單元120a、 系統(tǒng)存儲(chǔ)器130a、和將包括系統(tǒng)存儲(chǔ)器在內(nèi)的各種系統(tǒng)組件耦合至處理單元 120a的系統(tǒng)總線121a。系統(tǒng)總線121a可以是數(shù)種類型的總線結(jié)構(gòu)中的任一種,
13包括存儲(chǔ)器總線或存儲(chǔ)控制器、外圍總線、以及使用各種總線體系結(jié)構(gòu)中的任 一種的局部總線。
計(jì)算機(jī)110a通常包括各種計(jì)算機(jī)可讀介質(zhì)。計(jì)算機(jī)可讀介質(zhì)可以是可由 計(jì)算機(jī)110a訪問的任何可用介質(zhì)。作為示例而非局限,計(jì)算機(jī)可讀介質(zhì)可以 包括計(jì)算機(jī)存儲(chǔ)介質(zhì)和通信介質(zhì)。計(jì)算機(jī)存儲(chǔ)介質(zhì)包括以用于存儲(chǔ)諸如計(jì)算機(jī) 可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其它數(shù)據(jù)等信息的任何方法或技術(shù)實(shí)現(xiàn)的易 失性和非易失性、可移動(dòng)和不可移動(dòng)介質(zhì)。計(jì)算機(jī)存儲(chǔ)介質(zhì)包括但不限于, RAM、 ROM、 EEPROM、閃存或其它存儲(chǔ)器技術(shù)、CDROM、數(shù)字多功能盤 (DVD)或其它光盤存儲(chǔ)、磁盒、磁帶、磁盤存儲(chǔ)或其它磁存儲(chǔ)設(shè)備、或可以 用來儲(chǔ)存所需信息并可由計(jì)算機(jī)110a訪問的任何其它介質(zhì)。通信介質(zhì)通常以 諸如載波或其它傳輸機(jī)制等已調(diào)制數(shù)據(jù)信號來體現(xiàn)計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié) 構(gòu)、程序模塊或其它數(shù)據(jù),并包括任意信息傳送介質(zhì)。
系統(tǒng)存儲(chǔ)器130a可以包括諸如只讀存儲(chǔ)器(ROM)和/或隨機(jī)存取存儲(chǔ)器 (RAM)等易失性和/或非易失性存儲(chǔ)器形式的計(jì)算機(jī)存儲(chǔ)介質(zhì)?;据斎?輸出 系統(tǒng)(BIOS)可被存儲(chǔ)在存儲(chǔ)器130a中,它包含幫助在諸如啟動(dòng)期間在計(jì)算 機(jī)110a內(nèi)的元件之間傳遞信息的基本例程。存儲(chǔ)器130a通常還包含處理單元 120a可以立即訪問和/或目前正在操作的數(shù)據(jù)和/或程序模塊。作為示例而非局 限,存儲(chǔ)器130a還可以包括操作系統(tǒng)、應(yīng)用程序、其它程序模塊、和程序數(shù) 據(jù)。
計(jì)算機(jī)110a也可以包括其它可移動(dòng)/不可移動(dòng)、易失性/非易失性計(jì)算機(jī)存 儲(chǔ)介質(zhì)。例如,計(jì)算機(jī)110a可以包括對不可移動(dòng)、非易失性磁介質(zhì)進(jìn)行讀寫 的硬盤驅(qū)動(dòng)器,對可移動(dòng)、非易失性磁盤進(jìn)行讀寫的磁盤驅(qū)動(dòng)器,和/或?qū)χT如 CD-ROM或其它光學(xué)介質(zhì)等可移動(dòng)、非易失性光盤進(jìn)行讀寫的光盤驅(qū)動(dòng)器???以在示例性操作環(huán)境中使用的其它可移動(dòng)/不可移動(dòng)、易失性/非易失性計(jì)算機(jī) 存儲(chǔ)介質(zhì)包括但不限于,磁帶盒、閃存卡、數(shù)字多功能盤、數(shù)字錄像帶、固態(tài) RAM、固態(tài)ROM等等。硬盤驅(qū)動(dòng)器通常由諸如接口等不可移動(dòng)存儲(chǔ)器接口連 接至系統(tǒng)總線121a,而磁盤驅(qū)動(dòng)器或光盤驅(qū)動(dòng)器通常由諸如接口等可移動(dòng)存儲(chǔ) 器接口連接至系統(tǒng)總線121a。
用戶除了能夠經(jīng)由控制器來向封閉計(jì)算設(shè)備提供輸入之外,用戶可以通過輸入設(shè)備,如鍵盤和定點(diǎn)設(shè)備(通常指鼠標(biāo)、跟蹤球或觸摸墊)向計(jì)算機(jī)110a
輸入命令和信息。除了這些外圍設(shè)備之外,其他輸入設(shè)備可包括話筒、操縱桿、 游戲手柄、圓盤式衛(wèi)星天線、掃描儀等等。這些和其它輸入設(shè)備通常由耦合至
系統(tǒng)總線121a的用戶輸入140a和相關(guān)聯(lián)的接口連接到處理單元120a,但是也 可由諸如并行端口、游戲端口或通用串行總線(USB)之類的其它接口和總線 結(jié)構(gòu)連接。圖形子系統(tǒng)也可以被連接到系統(tǒng)總線121a。監(jiān)視器或其它類型的顯 示設(shè)備也通過接口,如輸出接口 150a連接至系統(tǒng)總線121a,而輸出接口 150a 又與視頻存儲(chǔ)器通信。除監(jiān)視器之外,計(jì)算機(jī)還可以包括其它外圍輸出設(shè)備, 如揚(yáng)聲器和打印機(jī),它們可以通過輸出接口 150a連接。
計(jì)算機(jī)110a可使用至諸如遠(yuǎn)程計(jì)算機(jī)170a等的一個(gè)或多個(gè)遠(yuǎn)程計(jì)算機(jī)的 邏輯連接在網(wǎng)絡(luò)化或分布式環(huán)境中操作,遠(yuǎn)程計(jì)算機(jī)170a又可以具有與設(shè)備 110a不同的媒體能力。遠(yuǎn)程計(jì)算機(jī)170a可以是個(gè)人計(jì)算機(jī)、服務(wù)器、路由器、 網(wǎng)絡(luò)PC、對等設(shè)備或其它常見的網(wǎng)絡(luò)節(jié)點(diǎn)、或任何其它遠(yuǎn)程媒體消費(fèi)或傳輸 設(shè)備,并且可以包括上面關(guān)于計(jì)算機(jī)110a所描述的任何或全部元件。圖9所 示的邏輯連接包括諸如局域網(wǎng)(LAN)或廣域網(wǎng)(WAN)等的網(wǎng)絡(luò)171a,但 也可以包括其它網(wǎng)絡(luò)/總線。這樣的聯(lián)網(wǎng)環(huán)境在家庭、辦公室、企業(yè)范圍計(jì)算機(jī) 網(wǎng)絡(luò)、內(nèi)聯(lián)網(wǎng)和因特網(wǎng)中是常見的。
當(dāng)在LAN聯(lián)網(wǎng)環(huán)境中使用時(shí),計(jì)算機(jī)11 Oa通過網(wǎng)絡(luò)接口或適配器連接至 LAN 171a。當(dāng)在WAN聯(lián)網(wǎng)環(huán)境中使用時(shí),計(jì)算機(jī)110a通常包括調(diào)制解調(diào)器 或用于通過諸如因特網(wǎng)等的WAN建立通信的其它裝置。調(diào)制解調(diào)器可以是內(nèi) 置或外置的,它可以通過輸入140a的用戶輸入接口或其它適當(dāng)機(jī)制連接至系 統(tǒng)總線121a。在網(wǎng)絡(luò)化環(huán)境中,相對于計(jì)算機(jī)110a所描述的程序模塊或其部 分可被儲(chǔ)存在遠(yuǎn)程存儲(chǔ)器存儲(chǔ)設(shè)備中??梢岳斫猓竞退龅木W(wǎng)絡(luò)連接是示 例性的,且可以使用在計(jì)算機(jī)之間建立通信鏈路的其它手段。
示例性多媒體(封閉的)控制臺(tái)環(huán)境
接著參考圖10,所示的是示出另一示例性、非限制性計(jì)算設(shè)備(即,示 例性多媒體控制臺(tái))的框圖,該控制臺(tái)對于有限量的由某一簽署機(jī)構(gòu)(無論是 該封閉系統(tǒng)制造商還是某一游戲發(fā)行商)簽署的軟件組件可以是封閉的。圖10示出其中可實(shí)現(xiàn)所公開的本發(fā)明主題的各方面的多媒體控制臺(tái)100的功能
組件。多媒體控制臺(tái)100包括具有1級(Ll)高速緩存102、 2級(L2)高 速緩存104和閃存ROM (只讀存儲(chǔ)器)106的中央處理單元(CPU) 101。 1 級高速緩存102和2級高速緩存104臨時(shí)存儲(chǔ)數(shù)據(jù)并因此減少存儲(chǔ)器訪問周期 數(shù),從而提高處理速度和吞吐量。閃存ROM 106可存儲(chǔ)在多媒體控制臺(tái)100 通電時(shí)在引導(dǎo)進(jìn)程的初始階段加載的可執(zhí)行代碼。另選地,在初始引導(dǎo)階段 加載的可執(zhí)行代碼可被存儲(chǔ)在閃存設(shè)備中(未示出)。此外,ROM 106可與 CPU101分開放置。
該控制臺(tái)可具有對其可用的各種資源,諸如來自用于高速、高分辨率圖形 處理的視頻處理流水線的圖形處理單元(GPU) 108和視頻編碼器/視頻編解碼 器(編碼器/解碼器)114。 在該設(shè)置中,數(shù)據(jù)經(jīng)由總線從圖形處理單元108 輸送到視頻編碼器/視頻編解碼器114。 視頻處理流水線將數(shù)據(jù)輸出到A/V (音頻/視頻)端口 140以傳輸?shù)诫娨暬蚱渌@示器。存儲(chǔ)器控制器110被連 接到GPU 108和CPU 101以便于處理器訪問各種類型的存儲(chǔ)器112,諸如但不 局限于RAM (隨機(jī)存取存儲(chǔ)器)。
多媒體控制臺(tái)100包括較佳地在模塊118上實(shí)現(xiàn)的I/O控制器120、系統(tǒng) 管理控制器122、音頻處理單元123、網(wǎng)絡(luò)接口控制器124、第一USB主控制 器126、第二 USB控制器128和前面板I/O部件130。 USB控制器126和128 用作外圍控制器142(1)-142(2)、無線適配器148、和外置存儲(chǔ)器單元146 (例 如閃存、外置CD/DVDROM驅(qū)動(dòng)器、可移動(dòng)介質(zhì)等)的主機(jī)。網(wǎng)絡(luò)接口 124 和/或無線適配器148提供對網(wǎng)絡(luò)(例如因特網(wǎng)、家庭網(wǎng)絡(luò)等)的訪問并且可以 是包括以太網(wǎng)卡、調(diào)制解調(diào)器、藍(lán)牙模塊、電纜調(diào)制解調(diào)器等的各種不同有線 和無線接口組件中的任一種。
系統(tǒng)存儲(chǔ)器143被設(shè)置成存儲(chǔ)在引導(dǎo)進(jìn)程過程中加載的應(yīng)用程序數(shù)據(jù)。 媒體驅(qū)動(dòng)器144被設(shè)置并且可包括DVD/CD驅(qū)動(dòng)器、硬盤驅(qū)動(dòng)器、或其它可 移動(dòng)媒體驅(qū)動(dòng)器等。媒體驅(qū)動(dòng)器144可內(nèi)置或外置于多媒體控制臺(tái)100。應(yīng) 用程序數(shù)據(jù)可經(jīng)由媒體驅(qū)動(dòng)器144訪問,以由多媒體控制臺(tái)100執(zhí)行、回放等。 媒體驅(qū)動(dòng)器144經(jīng)由諸如串行ATA總線或其它高速連接(例如IEEE 1394)等 總線連接到I/0控制器120。系統(tǒng)管理控制器122提供涉及確保多媒體控制臺(tái)100可用性的各種服務(wù)功 能。音頻處理單元123和音頻編解碼器132形成具有高保真度和立體聲處理 的對應(yīng)音頻處理流水線。 音頻數(shù)據(jù)經(jīng)由通信鏈路在音頻處理單元123與音 頻編解碼器126之間傳輸。音頻處理流水線將數(shù)據(jù)輸出到A/V端口 140以供 外置音頻播放器或具有音頻能力的設(shè)備再現(xiàn)。
前面板I/O部件130支持暴露在多媒體控制臺(tái)100外表面上的電源按鈕 150和彈出按鈕152以及任何LED (發(fā)光二極管)或其它指示器的功能。系 統(tǒng)電源模塊136向多媒體控制臺(tái)100的組件供電。風(fēng)扇138冷卻多媒體控制 臺(tái)100內(nèi)的電路系統(tǒng)。
CPU 101、 GPU 108、存儲(chǔ)器控制器110、和多媒體控制臺(tái)100內(nèi)的各個(gè) 其它組件經(jīng)由一條或多條總線互連,這些總線包括串行和并行總線、存儲(chǔ)器總 線、外圍總線、和使用各種總線架構(gòu)中任一種的處理器或局部總線。
當(dāng)多媒體控制臺(tái)100通電或重新引導(dǎo)時(shí),應(yīng)用程序數(shù)據(jù)可從系統(tǒng)存儲(chǔ)器 143加載到存儲(chǔ)器112和/或高速緩存102、 104中并在CPU 101上執(zhí)行。應(yīng) 用程序可呈現(xiàn)在導(dǎo)航到多媒體控制臺(tái)100上可用的不同媒體類型時(shí)提供一致的 用戶體驗(yàn)的圖形用戶界面。在操作中,媒體驅(qū)動(dòng)器144中所包含的應(yīng)用程序 和/或其它媒體可從媒體驅(qū)動(dòng)器144啟動(dòng)或播放,以向多媒體控制臺(tái)100提供附 加功能。
多媒體控制臺(tái)100可通過將該系統(tǒng)簡單地連接到電視機(jī)或其它顯示器而 作為獨(dú)立系統(tǒng)來操作。在該獨(dú)立模式中,多媒體控制臺(tái)100可以允許一個(gè)或 多個(gè)用戶與該系統(tǒng)交互、看電影、聽音樂等。然而,隨著可通過網(wǎng)絡(luò)接口 124 或無線適配器148獲得的寬帶連接的集成,多媒體控制臺(tái)100還可在較大網(wǎng)絡(luò) 社區(qū)中作為參與者來操作。
圖10所示的多媒體控制臺(tái)是可用于執(zhí)行諸如例如游戲等多媒體應(yīng)用程序 的典型的多媒體控制臺(tái)。多媒體應(yīng)用程序可用系統(tǒng)特征來增強(qiáng),這些系統(tǒng)特 征包括例如系統(tǒng)設(shè)置、語音聊天、聯(lián)網(wǎng)游戲、通過網(wǎng)絡(luò)與其他用戶交互的能力、 電子郵件、瀏覽器應(yīng)用程序等。這些系統(tǒng)特征啟用多媒體控制臺(tái)100的經(jīng)改 進(jìn)功能,諸如,例如不同位置的玩家可以經(jīng)由因特網(wǎng)玩同一個(gè)游戲。
同樣,隨著時(shí)間流逝,可以更新或向多媒體應(yīng)用程序添加系統(tǒng)特征并非要求多媒體開發(fā)者對多媒體應(yīng)用程序做出顯著修改來提供這些系統(tǒng)特征,此處 描述的系統(tǒng)和方法允許多媒體開發(fā)者通過結(jié)合多媒體應(yīng)用程序工作的獨(dú)立的 系統(tǒng)應(yīng)用程序來提供系統(tǒng)特征。例如,系統(tǒng)應(yīng)用程序可以實(shí)現(xiàn)涉及聯(lián)網(wǎng)能力 的功能,從而使多媒體應(yīng)用程序能夠被容易地調(diào)整以使多媒體(例如,游戲) 開發(fā)者進(jìn)行少量工作即可提供聯(lián)網(wǎng)能力。這種能力之一是對于多個(gè)和聯(lián)網(wǎng)的 用戶的系統(tǒng)級通知。使系統(tǒng)級通知成為系統(tǒng)應(yīng)用程序的一部分而非由諸如運(yùn) 行于系統(tǒng)上的游戲等各個(gè)多媒體應(yīng)用程序處理,為多媒體應(yīng)用程序開發(fā)者將處 理諸如游戲邀請等顯示通知從開發(fā)過程中除去,并允許他們致力于多媒體應(yīng)用 程序本身。
如上所示,盡管結(jié)合各種計(jì)算設(shè)備和網(wǎng)絡(luò)體系結(jié)構(gòu)描述了本發(fā)明主題的示 例性實(shí)施例,但基本概念可被應(yīng)用于其中可利用輸入設(shè)備來控制設(shè)備或系統(tǒng)的 任何計(jì)算設(shè)備或系統(tǒng)。例如,所討論的各方面的算法和硬件實(shí)現(xiàn)可被應(yīng)用于計(jì) 算設(shè)備的操作系統(tǒng),可作為設(shè)備上的獨(dú)立對象、作為另一對象的一部分、作為 可重復(fù)使用的控件、作為可從服務(wù)器下載的對象、作為設(shè)備或?qū)ο笈c網(wǎng)絡(luò)之間 的"中間人"、作為分布式對象、作為硬件、以存儲(chǔ)器、以上任何的組合等來 提供。盡管此處選擇了示例性編程語言、名稱和示例來表示各種選擇,但這些 語言、名稱和示例并不旨在是限制性的。圖11示出實(shí)現(xiàn)用于允許未經(jīng)簽署的 代碼在封閉硬件上運(yùn)行的算法流程的一種方法;然而,本領(lǐng)域普通技術(shù)人員將 理解,存在提供實(shí)現(xiàn)與本發(fā)明主題的各實(shí)施例所實(shí)現(xiàn)的相同的、類似的或等效 的功能的目標(biāo)代碼和命名法的眾多方法。
如上所述,此處所述的各種技術(shù)可結(jié)合硬件或軟件,或在適當(dāng)時(shí)以兩者的 組合來實(shí)現(xiàn)。由此,本發(fā)明主題的方法和裝置或其特定方面或部分可采取包含 在諸如軟盤、CD-ROM、硬盤驅(qū)動(dòng)器或任何其它機(jī)器可讀存儲(chǔ)介質(zhì)等有形介質(zhì) 中的程序代碼(即,指令)的形式,其中當(dāng)程序代碼被加載到諸如計(jì)算機(jī)等機(jī) 器內(nèi)并由其執(zhí)行時(shí),該機(jī)器成為用于實(shí)現(xiàn)所公開的本發(fā)明各方面的裝置。在程 序代碼在可編程計(jì)算機(jī)上執(zhí)行的情況下,計(jì)算設(shè)備通常包括處理器、該處理器 可讀的存儲(chǔ)介質(zhì)(包括易失性和非易失性的存儲(chǔ)器和/或存儲(chǔ)元件)、至少一個(gè) 輸入設(shè)備、以及至少一個(gè)輸出設(shè)備??蓪?shí)現(xiàn)或利用根據(jù)這些方面來提供的任何 軟件的一個(gè)或多個(gè)程序較佳地以高級過程語言或面向?qū)ο缶幊陶Z言實(shí)現(xiàn)以便與計(jì)算機(jī)系統(tǒng)進(jìn)行通信。然而,如果需要,程序可以用匯編語言或機(jī)器語言來 實(shí)現(xiàn)。在任何情形中,語言可以是編譯語言或解釋語言,且與硬件實(shí)現(xiàn)相結(jié)合。 所公開的本發(fā)明各方面的方法和裝置也可以經(jīng)由以通過某種傳輸介質(zhì)傳 輸?shù)某绦虼a的形式體現(xiàn)的通信來實(shí)現(xiàn),比如通過電線或電纜、通過光纖或經(jīng)
由任何其它傳輸形式,其中,當(dāng)程序代碼由諸如EPROM、門陣列、可編程邏 輯器件(PLD)、客戶計(jì)算機(jī)等機(jī)器接收、加載并執(zhí)行時(shí),該機(jī)器成為用于實(shí) 現(xiàn)所公開的本發(fā)明主題的裝置。當(dāng)在通用處理器上實(shí)現(xiàn)時(shí),程序代碼與處理器 相結(jié)合來提供一種用于調(diào)用本發(fā)明主題的功能的獨(dú)特裝置。另外,結(jié)合本發(fā)明 的各方面使用的任何存儲(chǔ)技術(shù)總是可以是硬件和軟件的組合。
盡管結(jié)合各附圖的優(yōu)選實(shí)施例描述了上述各方面,但可以理解,可以使用 其它類似的實(shí)施例,或可以對所述實(shí)施例進(jìn)行修改和添加來執(zhí)行相同的功能而 不背離本發(fā)明。例如,本領(lǐng)域技術(shù)人員將認(rèn)識到在本申請中所述的方法可應(yīng)用 于諸如游戲控制臺(tái)、手持式計(jì)算機(jī)、便攜式計(jì)算機(jī)等無論是有線還是無線的任 何計(jì)算設(shè)備或環(huán)境,且可被應(yīng)用于經(jīng)由通信網(wǎng)絡(luò)連接并通過該網(wǎng)絡(luò)交互的任何
數(shù)目的這種計(jì)算設(shè)備。
此外,應(yīng)當(dāng)強(qiáng)調(diào),構(gòu)想了包括手持式設(shè)備操作系統(tǒng)和其它專用操作系統(tǒng)的 各種計(jì)算機(jī)平臺(tái),尤其是在無線聯(lián)網(wǎng)設(shè)備的數(shù)量持續(xù)增長時(shí)。此外,本發(fā)明主
題的功能可在多個(gè)處理芯片或設(shè)備中或跨多個(gè)處理芯片或設(shè)備實(shí)現(xiàn),且存儲(chǔ)可 類似地跨多個(gè)設(shè)備來實(shí)現(xiàn)。因此,所公開的本發(fā)明各方面不應(yīng)限于任何單個(gè)實(shí) 施例,而是應(yīng)該根據(jù)所附權(quán)利要求書的廣度和范圍來解釋。
總結(jié)
總而言之,各種方法、系統(tǒng)和計(jì)算機(jī)可讀介質(zhì)可具體化以上所討論的各方 面。例如,圖11中構(gòu)想了以下用于在封閉系統(tǒng)中執(zhí)行未經(jīng)簽署的內(nèi)容并保護(hù) 訪問的方面。在圖11中,在框IIOO,可使用諸如游戲控制臺(tái)等封閉的計(jì)算設(shè) 備來實(shí)現(xiàn)這一執(zhí)行和保護(hù),其中該封閉的計(jì)算設(shè)備被配置成執(zhí)行由簽署機(jī)構(gòu)授 權(quán)的軟件內(nèi)容組件,S卩,例如經(jīng)簽署的軟件。此外,未經(jīng)簽署的軟件內(nèi)容組件 能夠在這一封閉的計(jì)算設(shè)備上執(zhí)行,其中該未經(jīng)簽署的軟件內(nèi)容組件通過使得 該封閉的計(jì)算設(shè)備虛擬化接口提供輸入以使得未經(jīng)簽署的軟件可對封閉系統(tǒng)
19執(zhí)行,來在該封閉的計(jì)算設(shè)備上執(zhí)行,如框1105所示。因此,此處的術(shù)語"接 口"構(gòu)想了通常將供軟件使用的任何輸入和輸出的寬泛定義。除了向由所述簽 署機(jī)構(gòu)授權(quán)的經(jīng)簽署的軟件內(nèi)容組件提供典型接口之外還提供這一虛擬化的
接口。因此,在框lllO,決定在框1115運(yùn)行經(jīng)簽署的內(nèi)容還是在框1120運(yùn)行 未經(jīng)簽署的內(nèi)容。前一種情況是參考圖1討論的傳統(tǒng)情況。此處參考圖2-8詳 細(xì)討論的后一種情況提供對封閉的游戲系統(tǒng)的擴(kuò)展使用。
因此,如上文中已經(jīng)提到的,且如圖11中的框1125所示,上述接口可對 應(yīng)于圖形層、音頻層、輸入層和存儲(chǔ)層(最初在以上圖5中描繪)中的至少一 個(gè)。此外,圖形層、音頻層、輸入層和存儲(chǔ)層中的至少一個(gè)如框1130所示可 包括各種緩沖區(qū),諸如第一緩沖區(qū)和第二緩沖區(qū),其中與未經(jīng)簽署的軟件內(nèi)容 組件相關(guān)聯(lián)的數(shù)據(jù)被存儲(chǔ)在該第一緩沖區(qū)中,并且該數(shù)據(jù)從該第一緩沖區(qū)被復(fù) 制到該第二緩沖區(qū)中(其中,該數(shù)據(jù)在所述第二緩沖區(qū)中確認(rèn))。這些方面在 圖6中清楚地示出。因此,數(shù)據(jù)可在所述確認(rèn)后被提供給與封閉的計(jì)算設(shè)備相 關(guān)聯(lián)的資源(諸如存儲(chǔ)器、CPU存取、GPU、光盤驅(qū)動(dòng)器、輸入設(shè)備、硬盤驅(qū) 動(dòng)器等)。或者,數(shù)據(jù)可在這一確認(rèn)后在被提供給與封閉的計(jì)算設(shè)備相關(guān)聯(lián)的 這些資源之前被提供給環(huán)形緩沖區(qū)。然而,如本領(lǐng)域技術(shù)人員將容易理解的, 這僅僅是所公開的本發(fā)明主題的一示例性、非限制性方面。
如以上參考諸如圖8等其他附圖所提到的,未經(jīng)簽署的軟件內(nèi)容組件(例 如,用戶或開發(fā)者制作的游戲)可經(jīng)由來自計(jì)算設(shè)備的連接(或另選地,在標(biāo) 定情況下,經(jīng)由DVD或某一其他光學(xué)、磁性或等效設(shè)備)來被提供給封閉的 計(jì)算設(shè)備。此外,這一提供可經(jīng)由來自計(jì)算設(shè)備(無論是PC、服務(wù)器還是其 他游戲控制臺(tái))的通信來動(dòng)態(tài)實(shí)現(xiàn),或另選地,該提供可通過流傳送來自這一 計(jì)算設(shè)備的未經(jīng)簽署的內(nèi)容來實(shí)現(xiàn)。當(dāng)然,本總結(jié)并非是限制性的而僅僅是示 例性的。很明顯,此處未討論但在上文中討論的其他方面,諸如將唯一的用戶 標(biāo)識分配給封閉的計(jì)算設(shè)備以及經(jīng)由所述唯一的用戶標(biāo)識來跟蹤對封閉的計(jì) 算設(shè)備的任何侵害等,即使未在本總結(jié)中明確提到,也在本文中構(gòu)想。
權(quán)利要求
1.一種用于在封閉系統(tǒng)中執(zhí)行未經(jīng)簽署的內(nèi)容并保護(hù)訪問的系統(tǒng),包括封閉計(jì)算設(shè)備200,其中所述封閉計(jì)算設(shè)備被配置成執(zhí)行由簽署機(jī)構(gòu)授權(quán)的軟件內(nèi)容組件205、210;以及至少一個(gè)未經(jīng)簽署的軟件內(nèi)容組件215、220,其中所述至少一個(gè)未經(jīng)簽署的軟件內(nèi)容組件通過使得所述封閉計(jì)算設(shè)備除了向由所述簽署機(jī)構(gòu)授權(quán)的所述軟件內(nèi)容組件提供接口之外虛擬化用于所述至少一個(gè)未經(jīng)簽署的軟件內(nèi)容組件的接口510、515、520、525、527、528來在所述封閉計(jì)算設(shè)備上執(zhí)行。
2. 如權(quán)利要求1所述的系統(tǒng),其特征在于,所述接口對應(yīng)于圖形層、音頻 層、輸入層和存儲(chǔ)層中的至少一個(gè)。
3. 如權(quán)利要求2所述的系統(tǒng),其特征在于,所述圖形層、所述音頻層、所述輸入層和所述存儲(chǔ)層中的至少一個(gè)包括第一緩沖區(qū)和第二緩沖區(qū),其中與所 述至少一個(gè)未經(jīng)簽署的軟件內(nèi)容組件相關(guān)聯(lián)的數(shù)據(jù)被存儲(chǔ)在所述第一緩沖區(qū)中,并且所述數(shù)據(jù)從所述第一緩沖區(qū)被復(fù)制到所述第二緩沖區(qū)中,并且其中所 述數(shù)據(jù)在所述第二緩沖區(qū)中確認(rèn)。
4. 如權(quán)利要求3所述的系統(tǒng),其特征在于,所述數(shù)據(jù)在所述確認(rèn)后被提供 給與所述封閉計(jì)算設(shè)備相關(guān)聯(lián)的資源。
5. 如權(quán)利要求3所述的系統(tǒng),其特征在于,所述數(shù)據(jù)在所述確認(rèn)后在被提 供給與所述計(jì)算設(shè)備相關(guān)聯(lián)的資源之前被提供給環(huán)形緩沖區(qū)。
6. 如權(quán)利要求1所述的系統(tǒng),其特征在于,所述至少一個(gè)未經(jīng)簽署的軟件 內(nèi)容組件經(jīng)由來自計(jì)算設(shè)備的連接來被提供給所述封閉計(jì)算設(shè)備。
7. 如權(quán)利要求1所述的系統(tǒng),其特征在于,所述至少一個(gè)未經(jīng)簽署的軟件內(nèi)容組件使用以下各項(xiàng)中的一個(gè)來被提供給所述封閉計(jì)算設(shè)備(a)來自計(jì)算設(shè)備的動(dòng)態(tài)通信以及(b)從所述計(jì)算設(shè)備流傳送。
8. —種用于在封閉系統(tǒng)中執(zhí)行未經(jīng)簽署的內(nèi)容并保護(hù)訪問的方法,包括:將封閉計(jì)算設(shè)備配置成執(zhí)行由簽署機(jī)構(gòu)授權(quán)的軟件內(nèi)容組件1100;以及將所述封閉計(jì)算設(shè)備配置成在所述封閉計(jì)算設(shè)備上執(zhí)行至少一個(gè)未經(jīng)簽署的軟件內(nèi)容組件,其中所述至少一個(gè)未經(jīng)簽署的軟件內(nèi)容組件通過使得所述封閉計(jì)算設(shè)備除了向由所述簽署機(jī)構(gòu)授權(quán)的所述軟件內(nèi)容組件提供接口之外虛擬化用于所述至少一個(gè)未經(jīng)簽署的軟件內(nèi)容組件的接口來在所述封閉計(jì)算設(shè)備上執(zhí)行1105。
9. 如權(quán)利要求8所述的方法,其特征在于,還包括將唯一的用戶標(biāo)識分配給所述封閉計(jì)算設(shè)備以及經(jīng)由所述唯一的用戶標(biāo)識來跟蹤對所述封閉計(jì)算設(shè)備的任何侵害。
10. 如權(quán)利要求8所述的方法,其特征在于,還包括使用所述接口,其中所述接口對應(yīng)于圖形層、音頻層、輸入層和存儲(chǔ)層中的至少一個(gè)。
11. 如權(quán)利要求10所述的方法,其特征在于,還包括將所述圖形層、所述音頻層、所述輸入層和所述存儲(chǔ)層中的至少一個(gè)配置成包括第一緩沖區(qū)和第二緩沖區(qū),其中與所述至少一個(gè)未經(jīng)簽署的軟件內(nèi)容組件相關(guān)聯(lián)的數(shù)據(jù)被存儲(chǔ)在所述第一緩沖區(qū)中,并且所述數(shù)據(jù)從所述第一緩沖區(qū)被復(fù)制到所述第二緩沖區(qū)中,并且其中所述數(shù)據(jù)在所述第二緩沖區(qū)中確認(rèn)。
12. 如權(quán)利要求11所述的方法,其特征在于,還包括在所述確認(rèn)后將所述數(shù)據(jù)提供給與所述封閉計(jì)算設(shè)備相關(guān)聯(lián)的資源。
13. 如權(quán)利要求8所述的方法,其特征在于,還包括經(jīng)由來自計(jì)算設(shè)備的連接來將所述至少一個(gè)未經(jīng)簽署的軟件內(nèi)容組件提供給所述封閉計(jì)算設(shè)備。
14. 如權(quán)利要求8所述的方法,其特征在于,還包括使用以下各項(xiàng)中的一個(gè)來將所述至少一個(gè)未經(jīng)簽署的軟件內(nèi)容組件提供給所述封閉計(jì)算設(shè)備(a)來自計(jì)算設(shè)備的動(dòng)態(tài)通信以及(b)從所述計(jì)算設(shè)備流傳送。
15. —種承載用于在封閉系統(tǒng)中執(zhí)行未經(jīng)簽署的內(nèi)容并保護(hù)訪問的計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)可讀介質(zhì),包括將封閉計(jì)算設(shè)備配置成執(zhí)行由簽署機(jī)構(gòu)授權(quán)的軟件內(nèi)容組件1100;以及將所述封閉計(jì)算設(shè)備配置成在所述封閉計(jì)算設(shè)備上執(zhí)行至少一個(gè)未經(jīng)簽署的軟件內(nèi)容組件,其中所述至少一個(gè)未經(jīng)簽署的軟件內(nèi)容組件通過使得所述封閉計(jì)算設(shè)備除了向由所述簽署機(jī)構(gòu)授權(quán)的所述軟件內(nèi)容組件提供接口之外虛擬化用于所述至少一個(gè)未經(jīng)簽署的軟件內(nèi)容組件的接口來在所述封閉計(jì)算設(shè)備上執(zhí)行1105。
16. 如權(quán)利要求15所述的方法,其特征在于,還包括將唯一的用戶標(biāo)識分配給所述封閉計(jì)算設(shè)備以及經(jīng)由所述唯一的用戶標(biāo)識來跟蹤對所述封閉計(jì)算設(shè)備的任何侵害。
17. 如權(quán)利要求15所述的方法,其特征在于,還包括使用所述接口,其中所述接口對應(yīng)于圖形層、音頻層、輸入層和存儲(chǔ)層中的至少一個(gè)。
18. 如權(quán)利要求17所述的方法,其特征在于,還包括將所述圖形層、所述音頻層、所述輸入層和所述存儲(chǔ)層中的至少一個(gè)配置成包括第一緩沖區(qū)和第二緩沖區(qū),其中與所述至少一個(gè)未經(jīng)簽署的軟件內(nèi)容組件相關(guān)聯(lián)的數(shù)據(jù)被存儲(chǔ)在所述第一緩沖區(qū)中,并且所述數(shù)據(jù)從所述第一緩沖區(qū)被復(fù)制到所述第二緩沖區(qū)中,并且其中所述數(shù)據(jù)在所述第二緩沖區(qū)中確認(rèn)。
19. 如權(quán)利要求18所述的方法,其特征在于,還包括在所述確認(rèn)后將所述數(shù)據(jù)提供給與所述封閉計(jì)算設(shè)備相關(guān)聯(lián)的資源。
20.如權(quán)利要求15所述的方法,其特征在于,還包括使用以下各項(xiàng)中的一個(gè)來將所述至少一個(gè)未經(jīng)簽署的軟件內(nèi)容組件提供給所述封閉計(jì)算設(shè)備(a)來自計(jì)算設(shè)備的動(dòng)態(tài)通信以及(b)從所述計(jì)算設(shè)備流傳送。
全文摘要
公開了允許執(zhí)行未經(jīng)簽署的內(nèi)容并在這些未經(jīng)簽署的內(nèi)容在封閉系統(tǒng)上執(zhí)行時(shí)保護(hù)該系統(tǒng)中的資源的機(jī)制。例如,在封閉系統(tǒng)的操作系統(tǒng)層與實(shí)際未經(jīng)簽署的內(nèi)容之間使用訪問層。該訪問層可包含各個(gè)子層,諸如圖形層、音頻層、輸入層和存儲(chǔ)層等。這些層能夠控制未經(jīng)簽署的內(nèi)容可對封閉系統(tǒng)的本地操作系統(tǒng)層及相關(guān)聯(lián)的資源的訪問。通過提供這一訪問層,未經(jīng)簽署的內(nèi)容(例如,視頻游戲)能夠在通常被設(shè)計(jì)成只運(yùn)行經(jīng)簽署的內(nèi)容的封閉系統(tǒng)上運(yùn)行。
文檔編號G06Q50/00GK101553840SQ200780045480
公開日2009年10月7日 申請日期2007年11月19日 優(yōu)先權(quán)日2006年12月7日
發(fā)明者A·S·何, P·L·布萊施, R·D·小耶茨, T·W·米勒 申請人:微軟公司