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