亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

計算環(huán)境表示的制作方法

文檔序號:6593260閱讀:232來源:國知局
專利名稱:計算環(huán)境表示的制作方法
計算環(huán)境表示背景現(xiàn)代計算機系統(tǒng)包括各種各樣的相關(guān)的對象,諸如文件和文件集合(例如,構(gòu)成 專輯的一組MP3)、應(yīng)用程序、用戶簡檔、個人數(shù)據(jù)集(例如,書簽列表、聯(lián)系人列表和日歷)、 數(shù)據(jù)高速緩存(例如,瀏覽器歷史和“最近使用,,列表)、口令和許可集(例如,公鑰/私鑰 對、證書和數(shù)據(jù)共享信息)、以及關(guān)于系統(tǒng)、設(shè)備、操作外殼和應(yīng)用程序的配置信息。從另一 觀點來看,計算機系統(tǒng)包括一組應(yīng)用程序,每一個應(yīng)用程序都管理包括以各種方式存儲在 計算機系統(tǒng)的各個位置的各種不同的數(shù)據(jù)對象的復(fù)雜數(shù)據(jù)集。在許多計算機系統(tǒng)中,這些形式的數(shù)據(jù)以自組織方式安排,其中某些形式的數(shù)據(jù) 以功能但任意的方式重疊(例如,配置信息可被存儲在一個或多個文件文中,并且文件可 以受存儲在系統(tǒng)注冊表中的數(shù)據(jù)共享許可影響)。此外,各種計算機系統(tǒng)可被配置成通過以 各種方式共享這些對象,例如通過跨兩個或更多設(shè)備同步兩組類似數(shù)據(jù),來互操作。概述提供本概述是為了以簡化的形式介紹將在以下詳細描述中進一步描述的一些概 念。本概述并不旨在標識出所要求保護的主題的關(guān)鍵因素或必要特征,也不旨在用于限定 所要求保護的主題的范圍。構(gòu)成計算機系統(tǒng)的對象的多樣性和相互關(guān)系可使得許多常見操作復(fù)雜化。作為第 一示例,應(yīng)用于特定對象集的對象備份、復(fù)制或同步操作可能由于對象以許多形式的(諸 如文件、存儲在系統(tǒng)注冊表中的配置信息、用戶簡檔信息和受保護口令信息)以及在許多 位置的表示而復(fù)雜化,某些對象表示可混合其他對象集中的對象。作為第二示例,向計算機 系統(tǒng)查詢特定種類的對象(例如,特定用戶所擁有的所有對象)可涉及對許多對象存儲的 廣泛搜索,諸如文件系統(tǒng)、注冊表、數(shù)據(jù)高速緩存、安全特權(quán)集以及對象的方案專用部分,諸 如共享地址列表中的記錄。作為第三示例,與另一設(shè)備(即使是同一用戶擁有)共享對象集 可能由于網(wǎng)絡(luò)通信情況(例如,設(shè)備位于哪里以及多少帶寬可用來與該設(shè)備進行通信?) 以及設(shè)備特性(例如,目標設(shè)備具有多少容量、和可向其發(fā)送什么種類的對象、以及應(yīng)如何 格式化對象)而復(fù)雜化。作為第四示例,上述考慮事項在可涉及用戶的角色和安全特權(quán)的 考慮事項的在各用戶之間共享數(shù)據(jù)的情形中可進一步復(fù)雜化。這些問題和其他問題可能在 試圖跨包括相同的應(yīng)用程序集(雖然針對每一個設(shè)備的能力來定制)的多個設(shè)備提供一致 的計算環(huán)境時引發(fā),尤其是在對象集分布在多個設(shè)備上、在理想上可以無縫操作并作為聚 集的對象集呈現(xiàn)給用戶的情況下。鑒于這些考慮事項,可設(shè)計以一致的方式存儲對象并集中對象管理以獲得改進的 一致性和更容易的管理的計算機系統(tǒng)。計算機系統(tǒng)可被設(shè)計為包括聚集的對象系統(tǒng)的主接 入點,該對象系統(tǒng)存儲許多類型的對象_文件和文件集、安裝的應(yīng)用程序、各種類型的配置 信息集、用戶簡檔和特權(quán)、數(shù)據(jù)高速緩存等_作為具有某些基本共同性的一組對象,并被安 排在構(gòu)成計算機系統(tǒng)的整個配置的分層結(jié)構(gòu)中。該計算機系統(tǒng)因此可以跨所有對象類型以 統(tǒng)一的方式執(zhí)行諸如查詢、同步和復(fù)制等操作。該計算機系統(tǒng)還可管理展示相同對象集的 各種設(shè)備,諸如通過將這些設(shè)備配置成向用戶呈現(xiàn)一致的用戶界面和一組共同的已部署應(yīng)用程序。此外,計算機系統(tǒng)可基于設(shè)備的能力來調(diào)整部署到該設(shè)備的對象集,例如通過將應(yīng) 用程序的全特征版本部署到較強大的設(shè)備并將同一應(yīng)用程序的較輕便的版本部署到較不 強大的設(shè)備。該計算機系統(tǒng)還可協(xié)調(diào)跨設(shè)備分布的數(shù)據(jù)的同步(例如,通過在聚集對象系 統(tǒng)中映射存儲在第一設(shè)備上的某些對象,以使得當?shù)诙O(shè)備試圖訪問該聚集對象系統(tǒng)時, 該計算機系統(tǒng)可自動化并管理第一設(shè)備上的對象向第二設(shè)備的展示)。該對象系統(tǒng)模型的 這些和其他方面促進了跨許多設(shè)備的用戶體驗的合一,其中每一個設(shè)備都用作對同一對象 集的門戶,而不管對象的多種類型和位置以及交換和同步這些設(shè)備和對象的技術(shù)性。因此,可設(shè)計一種在單個分層結(jié)構(gòu)中并根據(jù)共同語法來表示構(gòu)成計算機系統(tǒng)的所 有對象的對象系統(tǒng)。被配置成管理以此方式存儲的對象的計算機系統(tǒng)還可包括用于對對象 集執(zhí)行諸如備份、復(fù)制、同步、查詢、共享、安全、并發(fā)訪問管理和以各種格式呈現(xiàn)等各種操 作的一組服務(wù)。此外,對象集的各部分可以用根據(jù)共同語法來表示的域?qū)S脭?shù)據(jù)來擴展,并 且可由管理計算機系統(tǒng)的服務(wù)以一致的方式來管理。該對象集還可針對不同的設(shè)備來不同 地呈現(xiàn),由此提供對同一對象集的訪問同時還基于設(shè)備的能力來定制該設(shè)備的參與。以此 方式建模的計算機系統(tǒng)由此以一致的方式呈現(xiàn)給用戶,并且改進了數(shù)據(jù)交換的自動化、對 象集同步以及設(shè)備配置。為實現(xiàn)上述和相關(guān)目的,以下描述和附圖闡述了各個說明性方面和實現(xiàn)。這些方 面和實現(xiàn)僅指示可使用一個或多個方面的各種方式中的一些。結(jié)合附圖閱讀以下詳細描 述,則本發(fā)明的其他方面、優(yōu)點、以及新穎特征將變得顯而易見。附圖描述

圖1是表示計算環(huán)境的示例性對象分層結(jié)構(gòu)的圖示。圖2是可用于表示對象構(gòu)成對象分層結(jié)構(gòu)以表示計算環(huán)境的示例性語法的圖示。圖3是示出表示計算環(huán)境的示例性方法的流程圖。圖4是示出用于表示計算環(huán)境的示例性系統(tǒng)的組件框圖。圖5是示例性對象分層結(jié)構(gòu)的未展開節(jié)點的某些示例性展開的圖示。圖6是根據(jù)各種數(shù)據(jù)交換格式的示例性對象分層結(jié)構(gòu)的某些示例性變換的圖示。圖7是示出用于表示計算環(huán)境的另一示例性系統(tǒng)的組件框圖。圖8是計算環(huán)境主機與各計算環(huán)境呈現(xiàn)設(shè)備的示例性交互的圖示。圖9示出了其中可實現(xiàn)此處所闡述的原理中的一個或多個的示例性計算環(huán)境。詳細描述現(xiàn)在參考附圖來描述所要求保護的主題,所有附圖中使用相同的附圖標記來指代 相同的元素。在以下描述中,為解釋起見,闡明了眾多具體細節(jié)以提供對所要求保護的主題 的全面理解。然而,很明顯,所要求保護的主題可以在沒有這些具體細節(jié)的情況下實施。在 其他情況下,以框圖形式示出了公知的結(jié)構(gòu)和設(shè)備以便于描述所要求保護的主題?,F(xiàn)代計算機系統(tǒng)包括大量且各種對象。許多計算機系統(tǒng)表征文件存儲,該文件存 儲包含用于配置該計算機系統(tǒng)的文件(包括可執(zhí)行文件、類庫、配置信息集和資源)以及由 一個或多個用戶生成或接收的用戶文件。許多計算機系統(tǒng)還包括包含計算機系統(tǒng)硬件和軟 件的各種各樣的配置信息,包括計算機系統(tǒng)的硬件和設(shè)備、操作系統(tǒng)、外殼用戶界面、以及 該外殼用戶界面中可用的應(yīng)用程序的配置。還可存在各種用戶簡檔和帳戶,前者包括描述 特定用戶或用戶類的信息(姓名、外殼用戶界面偏好、主目錄等),而后者包括描述用戶或
5類的特權(quán)(文件所有權(quán)、讀/寫特權(quán)、對各種設(shè)備的訪問權(quán)等)的信息。諸如口令、證書、公 鑰/私鑰對、以及訪問控制列表等受保護的安全信息可被存儲在操作系統(tǒng)可對其施加管制 訪問的安全對象中??梢源嬖谝粋€或多個數(shù)據(jù)高速緩存,諸如瀏覽器高速緩存和歷史、應(yīng)用 程序或瀏覽器文本框中的最近輸入、以及最近使用的文件和對象列表。各種應(yīng)用程序可創(chuàng) 建應(yīng)用程序或任務(wù)專用檔案,諸如包含各種文件夾和消息的電子郵件檔案以及包含由各個 系統(tǒng)用戶從各個源接收到的并在用戶定義的組中組織的聯(lián)系人信息的共享地址簿。最后, 計算機系統(tǒng)可被配置成與其他計算機、用戶和設(shè)備交換特定信息集,諸如要同步的對象以 及可以在各種條件下授予對其的訪問權(quán)(讀/寫特權(quán)、所有權(quán)、定額等)的對象集。這些對 象類型通常由各種管理系統(tǒng)(例如,文件系統(tǒng)、系統(tǒng)注冊表存儲、用戶帳戶管理系統(tǒng)、以及 電子郵件系統(tǒng))在計算機系統(tǒng)中以自組織方式來管理,但訪問方法或?qū)ο蠼M織的一致性或 標準化極少。構(gòu)成計算機系統(tǒng)的這些大量各種對象造成了計算機系統(tǒng)的使用和管理方面的許 多問題。作為第一示例,這一計算機系統(tǒng)的備份操作可能非常困難,因為它涉及將用戶數(shù)據(jù) 與系統(tǒng)專用信息區(qū)分開。該區(qū)分可能不是簡單的;例如,應(yīng)用程序配置數(shù)據(jù)可能是由用戶 (該用戶可能期望保存該配置)或由應(yīng)用程序安裝程序創(chuàng)建的,并且關(guān)于對象所有權(quán)的信 息(該所有權(quán)信息是用戶可能希望保存的)可以按照由計算機系統(tǒng)建模的用戶簡檔和帳戶 來定義。作為第二示例,用戶可能希望向計算機系統(tǒng)查詢匹配特定描述的對象,諸如在前七 天中創(chuàng)建或改變的對象,但處理該查詢可涉及許多對象存儲(例如,各個存儲設(shè)備上的一 個或多個文件存儲、系統(tǒng)注冊表、瀏覽器高速緩存和歷史、存儲在瀏覽器書簽集中的書簽、 以及由電子郵件系統(tǒng)管理的電子郵件消息)。這些對象存儲可作為數(shù)據(jù)豎井來管理,每一個 數(shù)據(jù)存儲都由具有特定(并且通常是專有的)界面且在對象之間具有極少共同性的不同的 系統(tǒng)來管理。作為第三示例,計算機系統(tǒng)的對象集可以分布在若干設(shè)備上,但提供對這些對 象集的一致訪問可能由于設(shè)備的各種配置、每一個設(shè)備的網(wǎng)絡(luò)能力、以及每一個設(shè)備用來 交換數(shù)據(jù)的線格式的不兼容性(例如,第一設(shè)備可被配置成根據(jù)XML模式來交換數(shù)據(jù),而第 二設(shè)備可被配置成根據(jù)JSON來交換數(shù)據(jù))而復(fù)雜化。計算機系統(tǒng)對象的自組織安排的難點的更詳細的情形涉及以設(shè)備無關(guān)方式呈現(xiàn) 計算機系統(tǒng)。例如,用戶可能希望諸如通過蜂窩電話、通過第二計算機系統(tǒng)(諸如同一用戶 所擁有的筆記本計算機)以及通過第三計算機系統(tǒng)(諸如公共訪問終端)上的瀏覽器來在 許多類型的設(shè)備上訪問主計算機系統(tǒng)。用戶可能希望訪問由該主計算機系統(tǒng)呈現(xiàn)的相同對 象存儲,利用在該主計算機系統(tǒng)上安裝并可用的相同應(yīng)用程序,并體驗與配置在主計算機 系統(tǒng)上相同的用戶界面。主計算機系統(tǒng)系統(tǒng)中的對象的自組織安排在該情形中可造成許多困難。第一,蜂 窩電話設(shè)備可具有非常少的計算資源,諸如處理能力和系統(tǒng)存儲器,并且只能夠存儲構(gòu)成 計算機系統(tǒng)的對象集的一小部分。此外,蜂窩電話設(shè)備無法運行安裝在主計算機系統(tǒng)上的 強大應(yīng)用程序,并且用戶可能必須手動安裝同一應(yīng)用程序針對蜂窩電話的版本。第二,筆記 本計算機可能只具有與主計算機系統(tǒng)的零散網(wǎng)絡(luò)通信。用戶可能期望筆記本計算機諸如通 過安裝相同的應(yīng)用程序并且在計算機系統(tǒng)之間同步對對象集的變更來反映主計算機系統(tǒng)。 然而,通過許多對象系統(tǒng)將許多類型的對象存儲在許多位置可使該同步過程復(fù)雜化,并且 通過大量有意識的工作(例如,兩個機器之間的用戶驅(qū)動的文件同步),用戶只可實現(xiàn)跨兩個機器的對計算機系統(tǒng)的部分鏡像。用戶還可能必須與主計算機系統(tǒng)分開地安裝和配置筆 記本計算機的操作系統(tǒng)和應(yīng)用程序,從而導(dǎo)致管理工作的重復(fù)以及在配置差異情況下的可 能的計算機系統(tǒng)不一致性。第三,第三計算機系統(tǒng)的瀏覽器可能無法操作主計算機系統(tǒng)的 對象,并且可能無法執(zhí)行安裝在主計算機系統(tǒng)上的應(yīng)用程序。一種提供一致的用戶體驗的方法涉及將設(shè)備配置成瘦客戶機,其中主計算機系統(tǒng) 將用戶界面的輸出(包括顯示和聲音輸出)發(fā)送到一設(shè)備,并且該設(shè)備將用戶輸入(包括 鍵盤和定點輸入)發(fā)回主計算機系統(tǒng)。雖然瘦客戶機方法可改進通過多個設(shè)備展示的用戶 界面的一致性,但該方法呈現(xiàn)了若干缺點。第一,體驗經(jīng)常受到網(wǎng)絡(luò)容量的限制;例如,通 過瘦客戶機界面播放電影可涉及嘗試用跨網(wǎng)絡(luò)的實時性能來流傳輸電影,這可能是不可行 的。該困難是由電影在瘦客戶機設(shè)備上的本地不可用性而引起的,該瘦客戶機設(shè)備僅僅是 對主計算機系統(tǒng)的圖形界面的可視門戶。第二,每一次用戶交互的網(wǎng)絡(luò)等待時間降低計算 體驗。每當用戶希望訪問對象,甚至重復(fù)訪問同一對象時,瘦客戶機設(shè)備向主計算機系統(tǒng)傳 遞請求以獲得響應(yīng)。的確,許多瘦客戶機被配置成每一鍵擊從瘦客戶機設(shè)備被發(fā)送到主計 算機系統(tǒng),該鍵擊被接收,并在該設(shè)備可獲得鍵擊的視覺結(jié)果之前該鍵擊被處理、并且該結(jié) 果向用戶顯示。網(wǎng)絡(luò)等待時間引起對象訪問和用戶輸入實現(xiàn)的滯后,這快速降低瘦客戶機 用戶體驗的性能。第三,可能難以基于瘦客戶機設(shè)備的資源來定制用戶體驗。例如,具有有 限的屏幕分辨率的蜂窩電話可能無法顯示主計算機系統(tǒng)的本機、較大的桌面空間。此外,主 計算機系統(tǒng)可能不知道瘦客戶機設(shè)備的限制(的確,主計算機系統(tǒng)可以為了用戶體驗一致 性而努力在設(shè)備上呈現(xiàn)相同的用戶界面和應(yīng)用程序),并且可能無法將應(yīng)用程序配置成在 瘦客戶機設(shè)備上適當?shù)乇憩F(xiàn)(例如,通過將在主計算機上運行的web瀏覽器配置成以移動 友好方式呈現(xiàn)頁面,諸如無線應(yīng)用協(xié)議)。第四,該方法在不可用或零散網(wǎng)絡(luò)連接上是困難 的或維持不住的。用戶可能不愿意接受對主計算機系統(tǒng)的間歇性訪問,尤其是在瘦客戶計 算機系統(tǒng)具有同等系統(tǒng)資源(諸如,具有與主計算機系統(tǒng)類似的能力的筆記本計算機)并 且能夠在與主計算機系統(tǒng)類似地配置并且本地地存儲對象的鏡像副本的情況下提供相同 的用戶體驗的情況下。提供一致的用戶界面的第二方法涉及漫游簡檔,包括將用戶設(shè)置傳送到改進定制 用戶界面的演示的若干類似地配置的設(shè)備。連接到漫游簡檔服務(wù)器的設(shè)備因此可接收用戶 簡檔,并且(例如)對默認系統(tǒng)配置應(yīng)用自定義配置。雖然漫游簡檔可能有助于改進定制 用戶界面在許多設(shè)備上的部署,但存在限制漫游簡檔方法對一致的用戶界面訪問的實用性 的若干缺點。第一,漫游簡檔通常被限于系統(tǒng)配置(例如,應(yīng)用程序和外殼設(shè)置)和用戶信 息(例如,用戶的姓名和安全特權(quán)),并且未被結(jié)構(gòu)化為包括諸如分層組織的文件、應(yīng)用程 序二進制代碼和安全令牌等對象。第二,因為漫游簡檔被指定為要應(yīng)用于設(shè)備的本機配置 的一組配置參數(shù),所以該方法只對以類似方式配置的設(shè)備可行。高性能工作站、筆記本型設(shè) 備和蜂窩電話通常被非常不同地配置,并且針對一個這樣的設(shè)備的漫游簡檔對于其他設(shè)備 可能具有有限用途,并且可能由于誤配置而導(dǎo)致其他問題。例如,特定用戶偏好(例如,表 示雙擊的定點設(shè)備點擊之間的時間閾值)可能隨不同的設(shè)備而變化,但漫游簡檔可能不合 乎需要地將一個用戶偏好應(yīng)用于所有這樣的設(shè)備以促進統(tǒng)一用戶體驗。此外,針對工作站 配置的漫游簡檔可能反映關(guān)于Dvorak鍵盤構(gòu)造的用戶偏好,但對蜂窩電話應(yīng)用其中所包 含的配置信息可能導(dǎo)致以不可用方式重新安排文本輸入。第三,漫游簡檔是通過只讀機制來部署的,并且未被設(shè)計成接受通常在計算會話期間發(fā)生的對計算機環(huán)境的許多變更。第 四,漫游簡檔最多只可實現(xiàn)設(shè)備和其中存儲的數(shù)據(jù)的松聚集,并且可能難以指定設(shè)備相互 關(guān)系的特定方面(例如,蜂窩電話的數(shù)據(jù)存儲應(yīng)當在日常基礎(chǔ)上被備份到網(wǎng)絡(luò))。由此,雖 然漫游簡檔可促進以更統(tǒng)一的方式配置若干類似設(shè)備,但該方法不提供各種互連設(shè)備之間 的統(tǒng)一用戶體驗。與這些方法相反,此處所提供的方法涉及以可被傳遞至設(shè)備的方式表示計算環(huán)境 以供根據(jù)設(shè)備的能力來呈現(xiàn)。該表示包括根據(jù)對象分層結(jié)構(gòu)來組織并根據(jù)共同語法來表示 的一組對象。這些對象包括計算機系統(tǒng)的數(shù)據(jù)對象,諸如用戶文件和用戶創(chuàng)建的數(shù)據(jù)。這些 對象還包括構(gòu)成操作系統(tǒng)組件的可執(zhí)行二進制代碼和類庫,諸如外殼以及其中提供的應(yīng)用 程序。該對象還包括指定計算環(huán)境的用戶界面的信息,包括外殼偏好(例如,視覺主題、應(yīng) 用程序啟動菜單、以及雙擊閾值)、用戶帳戶及特權(quán)、安全信息(例如,口令、安全令牌、以及 證書)、應(yīng)用程序二進制代碼和配置信息、用戶數(shù)據(jù)和元數(shù)據(jù)(例如,文件共享信息)、以及 數(shù)據(jù)高速緩存(例如,最近使用的文件列表和瀏覽器歷史)。盡管這些對象具有各種性質(zhì)和 用途,但這些對象在對象分層結(jié)構(gòu)中是以共同的方式來表示的,并且可在該分層結(jié)構(gòu)中任 意組織。因此,與包括各自包含一種類型的對象的一組隔離數(shù)據(jù)存儲(例如,包含文件的文 件系統(tǒng)、包含配置信息的注冊表、以及包含瀏覽器歷史的數(shù)據(jù)高速緩存)的以往系統(tǒng)相反, 該方法中的對象分層結(jié)構(gòu)在對象分層結(jié)構(gòu)中以共同的方式組織所有這些對象。以此方式表示的計算環(huán)境可被傳遞到任何設(shè)備并以適于該設(shè)備的能力的方式來 呈現(xiàn)。例如,主工作站可作為穩(wěn)健且通用的計算環(huán)境來呈現(xiàn)信息,而公共工作站可以通過 web瀏覽器呈現(xiàn)不同的計算環(huán)境體驗(例如,作為可在用戶的會話結(jié)束時丟棄的虛擬機), 并且蜂窩電話可提供具有對蜂窩電話相關(guān)信息(例如,聯(lián)系人、日歷、以及導(dǎo)航數(shù)據(jù))的更 快訪問的更瘦的界面。此外,對該信息集的更新(例如,偏好改變和對其中包含的數(shù)據(jù)文件 的更新)可被應(yīng)用于該信息集的主源,并且因此被傳播到該信息集被傳遞到的所有其他設(shè) 備。同樣,共享該計算環(huán)境的設(shè)備可以通過該共享信息集來集成,使得一個設(shè)備可以與在該 信息集中標識的其他設(shè)備進行交互;例如,存儲在第一設(shè)備上的數(shù)據(jù)可由第二設(shè)備訪問,并 且第一設(shè)備可由第二設(shè)備通過通信管道來控制。該信息集因此可以標識共享該計算環(huán)境的 設(shè)備的集合,以及每一設(shè)備的角色、能力、以及資源,以便跨可能大量各種設(shè)備來提供集成 計算體驗。圖1示出了可包括諸如此處所公開的計算環(huán)境表示的示例性對象分層結(jié)構(gòu)10的 一部分。由示例性對象分層結(jié)構(gòu)10的所示部分表示的計算環(huán)境包括諸如文字處理程序和 電子郵件客戶端等應(yīng)用程序、一組用戶簡檔、諸如文檔和圖像等一組用戶數(shù)據(jù)、聯(lián)系人、日 歷條目、以及其上可表示和表達計算環(huán)境的一組設(shè)備。這些對象包含具有不同語義特性的 不同類型的數(shù)據(jù),但被組織成單個樹狀分層結(jié)構(gòu)中的對象。此外,可以混合對象類型;例如, 構(gòu)成應(yīng)用程序(諸如文字處理器應(yīng)用程序26)的對象可包括某些可執(zhí)行二進制代碼28、應(yīng) 用程序圖標30、某些字典集32、以及關(guān)于特定用戶的配置信息34。這種對象類型的混合在 對象分層結(jié)構(gòu)方法中可以比在其他方法中更容易實現(xiàn);例如,在常規(guī)文件系統(tǒng)中,這些組件 可能是分布式的,其中可執(zhí)行二進制代碼28位于匯編高速緩存中,應(yīng)用程序圖標30和字典 集32位于文件系統(tǒng)的各個位置中,而配置信息34位于系統(tǒng)注冊表中。將構(gòu)成計算環(huán)境的對象表示為諸如圖1所示的對象分層結(jié)構(gòu)呈現(xiàn)了許多優(yōu)點。作為第一示例,該分層結(jié)構(gòu)允許單獨地定位每一個對象,并且以與對計算環(huán)境中的其他對象 類似的方式操作這些對象。作為第二示例,可訪問對象分層結(jié)構(gòu)的任何設(shè)備都可呈現(xiàn)包含 以相同方式組織的相同數(shù)據(jù)的類似地呈現(xiàn)和配置的計算環(huán)境。作為第三示例,可設(shè)計以類 似方式操作構(gòu)成計算機系統(tǒng)的對象中的任一個或全部的服務(wù)。例如,可使用對象同步服務(wù) 來同步兩個對象分層結(jié)構(gòu)(諸如在存儲在對象分層結(jié)構(gòu)服務(wù)器上的對象分層結(jié)構(gòu)和其上 已加載并且稍后更改對象分層結(jié)構(gòu)的設(shè)備之間)。該同步因此可統(tǒng)一兩個對象分層結(jié)構(gòu)中 所表示的所有對象-不僅僅是文件和類似數(shù)據(jù)對象,而且還有對應(yīng)用程序、用戶簡檔和安 全令牌的變更。因此,可以就像與文件存儲中的一組文檔一樣容易地且通過與文件存儲中 的一組文檔相同的機制來在兩個設(shè)備之間共享一組用戶簡檔。作為第四示例,計算環(huán)境中 的對象可由用戶通過向?qū)ο蠹砑訉ο髞碛萌魏稳我鈹?shù)據(jù)來擴展。例如,圖1的示例性對 象分層結(jié)構(gòu)10中的若干對象涉及計算機系統(tǒng)的用戶正在開發(fā)的班級項目。用戶由此可將 這些對象與“學(xué)校關(guān)系”對象36相關(guān)聯(lián),該對象36可作為學(xué)校項目對象的從屬來存儲在示 例性對象分層結(jié)構(gòu)10中。對計算環(huán)境的后續(xù)查詢可揭示“學(xué)校關(guān)系”對象36以及包含這 些對象的對象的位置,由此使聯(lián)系人集18中的聯(lián)系人、用戶數(shù)據(jù)集20中的文件、以及日歷 集22中的約會相關(guān)。該對象分層結(jié)構(gòu)所表示的對象集的擴展性因此可準許用戶設(shè)計新屬 性并對由此表示的計算環(huán)境應(yīng)用這些新屬性。可由這個性質(zhì)的計算環(huán)境表示實現(xiàn)的優(yōu)點中的某一些涉及以標準方式表示對象, 以使得可以在對象分層結(jié)構(gòu)中一起表示對象。然而,如果對象根據(jù)具有特定結(jié)構(gòu)約束的對 象格式來表示,則可能難以根據(jù)該對象格式來表示特定種類的對象。例如,可設(shè)計其中每一 個對象都具有指定其名稱的串的對象格式。然而,某些對象可以是匿名的,而其他對象可包 括無法被歸納為單個串的多個名稱。然而,如果對象不共享共同性,則它們只能用純二進制 格式來表示,諸如在典型的文件系統(tǒng)中那樣。此外,可能難以串行化使用此方式的對象表示 來進行通信。例如,每一個對象都用諸如uuencode等二進制代碼到文本編碼機制來編碼, 但所得對象可能低效地較大并且難以操縱,除了原始二進制代碼對象之外?;蛘?,對象可根 據(jù)諸如典型的面向?qū)ο缶幊唐脚_等明確類型的系統(tǒng)來表示。然而,該方法限制對象分層結(jié) 構(gòu)的可擴展性,因為自定義對象只能在根據(jù)類型系統(tǒng)來定義的情況下存儲并且這些定義可 能不可用。一種用于以共同但內(nèi)容不可知方式表示對象的替換方法涉及使用簡單語法,其中 對象的分量可以按基本方式表示。例如,可以認識到,對象通常包含三種類型的數(shù)據(jù)元素 原子(單個數(shù)據(jù)單元,諸如數(shù)字或字符)、記錄(一起操作的單個數(shù)據(jù)單元的集合)以及序 列(元素的聚集)。記錄一般表示不可分割地一起用作表示的一組元素,諸如數(shù)字7、4和 1776 —起表示日期1776年7月4日;而序列表示一組可分割項目,諸如2、3、5和7構(gòu)成質(zhì) 數(shù)的子集。此外,可以遞歸地設(shè)計語法,這可準許嵌套特定種類的元素(例如,序列的序列、 或包含序列作為記錄的一個元素的記錄)。圖2示出了指定對象將被表示為原子的記錄的序列的示例性語法40。該示例性語 法40準許遞歸,以使得對象可指定另一原子記錄序列,而不是指定原子,從而使得序列可 包含子序列,如在深度結(jié)構(gòu)化對象中可能經(jīng)常發(fā)生的那樣。該性質(zhì)的語法因此針對組織構(gòu) 成對象的數(shù)據(jù)單元,并且不指定或約束其中所表示的數(shù)據(jù)項的類型。該語法因此可定義可 遞歸基本表示格式,其中以此方式表示的對象可以按內(nèi)容不可知方式來存儲,但具有根據(jù)簡單但共同的結(jié)構(gòu)來改進對象分層結(jié)構(gòu)中的對象統(tǒng)一性的某些共同性。構(gòu)成對象分層結(jié)構(gòu)的對象的這一語法表示的第一重要優(yōu)點涉及該組織的內(nèi)容不 可知特性。許多常規(guī)計算機系統(tǒng)被組織成包含類似類型的對象的數(shù)據(jù)豎井(例如,包含注 冊表項的系統(tǒng)注冊表、包含可執(zhí)行二進制代碼的匯編高速緩存、包含文件的文件系統(tǒng)、以及 包含瀏覽器歷史高速緩存記錄的瀏覽器歷史高速緩存),而由圖2的示例性語法40表示的 對象分層結(jié)構(gòu)不受到這樣的約束。因此,對象可根據(jù)用戶的語義選擇來分組,而不是通過系 統(tǒng)體系結(jié)構(gòu)的任意技術(shù)組織。例如,常規(guī)系統(tǒng)中的應(yīng)用程序可能被組織成通過匯編高速緩 存訪問的可執(zhí)行二進制代碼、通過文件系統(tǒng)訪問的某些補充程序文件、以及通過系統(tǒng)注冊 表訪問的用戶配置信息。然而,如圖1的示例性對象分層結(jié)構(gòu)10所示,這些不同類型的對 象可被一起存儲和表示在對象分層結(jié)構(gòu)中。由此可減少根據(jù)對象類型的計算環(huán)境的人工劃 分。構(gòu)成對象分層結(jié)構(gòu)的對象的語法表示的第二重要優(yōu)點涉及計算環(huán)境表示的可擴 展性。在許多情況下,用戶可能希望向?qū)ο蠓謱咏Y(jié)構(gòu)添加定制數(shù)據(jù)和對象,并且可能希望諸 如通過用戶定義的元數(shù)據(jù)來擴展與一個或多個對象相關(guān)聯(lián)的信息。作為第一示例,各個用 戶可設(shè)計全新類型的對象并插入到對象分層結(jié)構(gòu)中。只要對象根據(jù)可遞歸基本表示格式 (例如,圖2的示例性語法40中所實現(xiàn)的可遞歸序列/記錄/原子組織)來表示,對象就 可以甚至在不指定這些對象旨在遵照的更詳細的、內(nèi)容專用模式的情況下被存儲在對象分 層結(jié)構(gòu)中。此外,諸如備份和同步服務(wù)等應(yīng)用于對象分層結(jié)構(gòu)的服務(wù)將自然兼容并且準備 好以與其他對象相同的方式管理新的自定義對象。作為第二示例,用戶可能希望將元數(shù)據(jù) 與對象相關(guān)聯(lián)以指示對象具有語義關(guān)系。圖1示出了一個這樣的情形,其中各種類型的若 干對象與班級項目相關(guān)聯(lián),并且該關(guān)系可通過制定自定義對象(“學(xué)校關(guān)系”對象36)并將 該對象作為每一個相關(guān)對象的從屬節(jié)點來插入到對象分層結(jié)構(gòu)中來表示。這樣的元數(shù)據(jù)用 對用戶有價值的信息來補充對象分層結(jié)構(gòu)的對象,并且不干擾對象或?qū)ζ鋺?yīng)用的服務(wù)的表
7J\ ο圖3示出了以上討論的技術(shù)和方法的一個實施例,該實施例被設(shè)計成表示計算環(huán) 境的示例性方法50。該示例性方法50在52處開始并涉及在對象分層結(jié)構(gòu)中表示54計算 環(huán)境的對象,其中各個對象根據(jù)可遞歸基本表示格式(諸如圖2的示例性語法40)來表示。 在實現(xiàn)了將計算環(huán)境表示為根據(jù)可遞歸基本表示格式來結(jié)構(gòu)化并且位于對象分層結(jié)構(gòu)中 的一組對象后,示例性方法50實現(xiàn)了根據(jù)此處所討論的技術(shù)來表示計算環(huán)境,并由此在56 處結(jié)束。圖4示出了以上討論的技術(shù)和方法的另一個實施例,該實施例被設(shè)計成表示計算 環(huán)境的示例性系統(tǒng)60。示例性系統(tǒng)60包括被配置成存儲構(gòu)成計算環(huán)境的對象的計算環(huán)境 對象存儲62。示例性系統(tǒng)60還包括計算環(huán)境表示組件64,該組件被配置成在對象分層結(jié) 構(gòu)中表示計算環(huán)境的對象,其中各個對象根據(jù)可遞歸基本表示格式(諸如圖2的示例性語 法40)來表示。示例性系統(tǒng)60還包括計算環(huán)境服務(wù)集66,該服務(wù)集又包括被配置成操作計 算環(huán)境的對象的至少一個計算環(huán)境服務(wù)。以此方式配置的組件由此產(chǎn)生用于根據(jù)此處所討 論的技術(shù)來表示計算環(huán)境的示例性系統(tǒng)60。如此處所描述的計算環(huán)境表示在若干方面可以有所不同,并且某些變體對于這些 和其他技術(shù)的其他變體可呈現(xiàn)附加優(yōu)點和/或減少缺點。在諸如圖3的示例性方法50和圖4的示例性系統(tǒng)60等這些技術(shù)的許多實施例中,可以單獨地或組合地結(jié)合這些變體??呻S這些技術(shù)的實現(xiàn)而變化的第一方面涉及根據(jù)可遞歸基本表示格式的結(jié)構(gòu)化 對象表示。如圖2的示例性語法40的描述中所提到的,對象可根據(jù)構(gòu)成對象的數(shù)據(jù)單元的 結(jié)構(gòu)來被表示為例如原子的記錄的可遞歸序列。該結(jié)構(gòu)化表示準許構(gòu)成對象的數(shù)據(jù)單元的 內(nèi)容不可知組織,而不涉及指定數(shù)據(jù)單元的性質(zhì)(例如,類型、名稱和確認)。該結(jié)構(gòu)化表示 也有利于提供這些對象到諸如各種XML、JSON、YAML、二進制代碼或文本串行化等任何表示 格式的容易變換。然而,可設(shè)計其他可遞歸基本表示格式,其中某些格式可提供諸如某些已 定義的原語類型等更相干的結(jié)構(gòu)(但可能以犧牲可由此表示的對象的多樣性為代價),而 其中某些格式可提供更大的靈活性(但可能以犧牲服務(wù)可操作的對象的表示共同性為代 價)。本領(lǐng)域的普通技術(shù)人員可設(shè)計其中對象可以在計算環(huán)境中根據(jù)此處所討論的技術(shù)來 表示的許多可遞歸基本表示格式。可隨這些技術(shù)的實現(xiàn)而變化的第二方面涉及對象分層結(jié)構(gòu)的組織。作為一個示 例,并且如圖1的示例性對象分層結(jié)構(gòu)10所示,對象的結(jié)構(gòu)化格式化可包括常規(guī)樹結(jié)構(gòu), 包括包含其他節(jié)點的根節(jié)點,這些其他節(jié)點可包含還有一些其他節(jié)點等。該對象分層結(jié)構(gòu) 組織模型將每一個對象限于對象分層結(jié)構(gòu)中的單個位置,這可有利于一致地標識對象(例 如,位于對象分層結(jié)構(gòu)中的不同位置的兩個對象可被認為包括兩個不同的對象)以及通過 遞歸地遍歷樹結(jié)構(gòu)的節(jié)點來枚舉對象分層結(jié)構(gòu)中的對象。該對象分層結(jié)構(gòu)組織模型還可反 映與諸如XML和JSON等公知表示格式的相似性,并且可使得能夠?qū)ο蠓謱咏Y(jié)構(gòu)容易地 轉(zhuǎn)換成這些表示格式(同樣不管其中組織的對象的性質(zhì))。然而,其他對象分層結(jié)構(gòu)組織 模型可以與此處所討論的技術(shù)兼容,并且可以在特定方面合乎需要。作為第一示例,對象 分層結(jié)構(gòu)可被組織成有向無環(huán)圖,以使得作為節(jié)點位于圖中的對象可以在該圖中具有多于 兩個父節(jié)點。該組織可減少樹結(jié)構(gòu)的某些優(yōu)點(例如,對象可通過整個圖中的多個分層路 徑來標識,由此位于對象分層結(jié)構(gòu)的不同位置的兩個對象可以不被認為包括兩個不同的對 象)。然而,該組織可準許對象存在于多個位置,這可有利于某些對象集合,并且可避免單個 對象在多個位置的冗余存儲。作為第二示例,對象分層結(jié)構(gòu)可被組織成部分無向圖,諸如其 中同一級的兩個節(jié)點可以兄弟般地(fraternally)相關(guān)。例如,在圖1的示例性對象分層 結(jié)構(gòu)10中,被組織在單個節(jié)點之下的對象可以相關(guān)以形成對象組;例如,存儲在題為“The Beatles”的媒體文件夾中的音頻對象中的某一些可以相關(guān)地鏈接以表示專輯。許多對象分 層結(jié)構(gòu)組織模型可由本領(lǐng)域的普通技術(shù)人員設(shè)計并在此處所討論的技術(shù)的各實施例中利 用??呻S這些技術(shù)的實現(xiàn)而變化的第三方面涉及表達計算環(huán)境表示的不同方式。計算 環(huán)境表示通??杀槐磉_為構(gòu)成計算環(huán)境的整個對象分層結(jié)構(gòu)的對象的全集。然而,可調(diào)整 該表達,諸如通過添加或移除細節(jié)、重新安排或省略對象分層結(jié)構(gòu)的各部分,并將該表示變 換成除可遞歸基本表示格式之外的表示格式。計算環(huán)境表示變換的第一示例涉及計算環(huán)境表示中所提供的細節(jié)量。系統(tǒng)可被配 置成存儲構(gòu)成計算環(huán)境的對象分層結(jié)構(gòu)的所有對象(諸如在圖4的示例性系統(tǒng)60的計算 環(huán)境對象存儲62中),但在特定情況下,該系統(tǒng)可以只表示對象分層結(jié)構(gòu)的一部分和其中 組織的對象的子集。許多情形可激發(fā)這一部分表示。作為第一情形,可以理解,構(gòu)成計算環(huán)境的對象的
11較大數(shù)量、大小和多樣性可涉及相當多的存儲空間量。許多設(shè)備可能不具有足夠的容量來 存儲完整表示,諸如特征為有限的固態(tài)存儲量的蜂窩電話設(shè)備。因此,在計算環(huán)境被表示到 設(shè)備的情況下,該表示可根據(jù)該設(shè)備的能力來調(diào)整。作為第二情形,請求計算環(huán)境的設(shè)備可以簡單地不需要對象分層結(jié)構(gòu)中的某些對 象,這些對象可以為了方便起見省略。例如,代表蜂窩電話設(shè)備的圖1的示例性對象分層結(jié) 構(gòu)10的表示可省略諸如工作站二進制代碼和瀏覽器二進制代碼等為其他類型的設(shè)備配置 的應(yīng)用程序二進制代碼。作為第三情形,設(shè)備可通過有限帶寬的通信信道來與存儲完整表示的系統(tǒng)進行通 信。實際上,甚至相比較快的網(wǎng)絡(luò)連接也可能無法以及時的方式傳送計算環(huán)境的完整表示。 例如,通過具有理論最大值6. 75兆字節(jié)/秒傳輸速率(不考慮網(wǎng)絡(luò)開銷)的能力的802. Ilg 無線連接來傳送100千兆字節(jié)計算環(huán)境表示可能需要超過四小時的專用、完全飽和帶寬。作為第四情形,可代表不可信用戶(諸如訪客或只具有對計算環(huán)境的有限訪問權(quán) 的用戶)或者在不可信設(shè)備(諸如公共終端)上表示計算環(huán)境??赡芷谕麑⒃L問限于對象 分層結(jié)構(gòu)的特定對象或部分。由此,對象分層結(jié)構(gòu)的各部分可由于授權(quán)不足而被標識為拒 絕訪問,或者可被模糊以使得無法檢測到拒絕訪問,并且對象分層結(jié)構(gòu)的對象和省略部分 僅僅不可見。因此,表示根據(jù)用戶來調(diào)整。作為第五情形,對象分層結(jié)構(gòu)的一部分可以不由主存計算環(huán)境表示的系統(tǒng)來存 儲,而可被存儲在別處。例如,構(gòu)成對象分層結(jié)構(gòu)的對象中的某一些可被存儲在各個設(shè)備 上,并且可從設(shè)備中檢索并被包括在表示中(當可到達存儲這些對象的設(shè)備并且可與這些 設(shè)備通信時)。例如,計算環(huán)境可被表示為包括存儲在蜂窩設(shè)備上的一組聯(lián)系人(例如,圖1 的示例性對象分層結(jié)構(gòu)的聯(lián)系人集18)的對象分層結(jié)構(gòu)。這些對象可以是(或可以不是) 可檢索的,但在作出檢索請求之前,計算環(huán)境表示可省略對象分層結(jié)構(gòu)中的這些對象和這 些節(jié)點,并且可引用這些對象位于其上并且可以在請求時檢索的對象存儲。在這些和其他情形中,計算環(huán)境可以按劃分方式表示,只包括對象分層結(jié)構(gòu)的一 部分以及其中組織的對象的子集。一種實現(xiàn)該劃分的方式是通過將對象分層結(jié)構(gòu)中的一個 或多個節(jié)點表示為未展開節(jié)點,該節(jié)點的對象以及該節(jié)點的從屬(子)節(jié)點被省略。未展開 節(jié)點可以在表示中如此指示。作為第一示例,在代表具有諸如設(shè)備存儲能力等能力的設(shè)備 表示計算環(huán)境的情況下,該計算環(huán)境可以用至少一個未展開節(jié)點來表示以將所表示的計算 環(huán)境的大小限于不超過設(shè)備存儲容量。作為第二示例,在代表用戶表示計算環(huán)境的情況下, 該計算環(huán)境可指定用戶的用戶帳戶,并且該計算環(huán)境指定用戶帳戶對該計算環(huán)境的對象的 訪問特權(quán)。在這種情況下,計算環(huán)境表示可通過用至少一個未展開節(jié)點來表示計算環(huán)境來 調(diào)整,該至少一個未展開節(jié)點表示對象分層結(jié)構(gòu)中根據(jù)用戶帳戶的訪問特權(quán)來對用戶限制 的一部分。此外,未展開節(jié)點可被指示為在請求時可用,并且主存計算環(huán)境的完整表示的系 統(tǒng)可被配置成接收并處理展開未展開節(jié)點的請求。例如,圖4的示例性系統(tǒng)60可被配置成 在接收到展開未展開節(jié)點的請求時提供未展開節(jié)點的對象。該系統(tǒng)還可通過表示對象分層 結(jié)構(gòu)的從屬節(jié)點來展開節(jié)點。或者,該系統(tǒng)可通過將該節(jié)點的某些從屬(子)節(jié)點表示為 可隨后請求展開的未展開節(jié)點來展開節(jié)點,來響應(yīng)這一請求。作為第二替換方案,例如,如 果節(jié)點由于對對象分層結(jié)構(gòu)的未展開部分的受限訪問而以未展開方式表示,則該系統(tǒng)可拒絕展開該節(jié)點。作為第三替換方案,在未展開節(jié)點引用其上存儲對象的對象存儲(例如,另 一設(shè)備)的情況下,可向該對象存儲發(fā)出對未展開節(jié)點的對象的請求;如果可到達該對象 存儲并且該對象存儲提供省略的對象,則在接收到來自該數(shù)據(jù)存儲的對象時,可響應(yīng)于該 請求來提供這些對象以補充對象分層結(jié)構(gòu)并展開未展開節(jié)點。圖5示出了示例性計算環(huán)境表示72的示例70,該計算環(huán)境表示具有三個未展開節(jié) 點由于大小考慮而省略的第一未展開節(jié)點74、由于訪問特權(quán)不足而省略的第二未展開節(jié) 點76、以及由于對象及其從屬節(jié)點在被包括在計算環(huán)境中的設(shè)備(在這種情況下是蜂窩電 話設(shè)備)上的分布式存儲而省略的第三未展開節(jié)點78。在第一對象表示72中,未展開節(jié) 點被指示為未展開,并且可被請求展開。第二示例性計算環(huán)境表示80示出了請求展開第一 未展開節(jié)點74的結(jié)果,產(chǎn)生更全面地表示的計算環(huán)境。然而,第一未展開節(jié)點74的某些從 屬節(jié)點仍舊被表示為未展開節(jié)點(出于未指定原因),并且隨后可被請求展開。第三示例 性計算環(huán)境表示82示出了請求展開第二未展開節(jié)點76的結(jié)果,其中該展開由于訪問特權(quán) 不足而被拒絕。主存該計算環(huán)境的系統(tǒng)可以(如圖5所示)返回諸如異常等錯誤指示符, 并且可以簡單地拒絕展開該節(jié)點,和/或可將該節(jié)點表示為空且無從屬節(jié)點。第四示例性 計算環(huán)境表示84示出了請求展開第三未展開節(jié)點78的結(jié)果,導(dǎo)致向主存該第三未展開節(jié) 點78的對象存儲(S卩,蜂窩電話設(shè)備)發(fā)出請求并且用所返回的對象來補充該計算環(huán)境表 示。該請求可由主存該計算環(huán)境表示的系統(tǒng),或由請求展開第三未展開節(jié)點78的設(shè)備來作 出。后一請求可基于由主存計算環(huán)境表示的系統(tǒng)授予的許可的指示,和/或安全地將作出 請求的設(shè)備或用戶標識為安全許可斷言的請求的認證,并且主存第三未展開節(jié)點78的設(shè) 備可以在提供第三未展開節(jié)點78的對象之前檢查并驗證這些安全憑證。本領(lǐng)域的普通技 術(shù)人員能夠設(shè)計用于表示對象分層結(jié)構(gòu)中的未展開節(jié)點的許多情形,以及用于接收、處理 和響應(yīng)展開未展開節(jié)點的請求的許多技術(shù),同時實現(xiàn)此處所討論的技術(shù)。計算環(huán)境表示的調(diào)整的第二示例涉及根據(jù)數(shù)據(jù)交換格式來表達表示。已經(jīng)并且可 以設(shè)計用于表達對象分層結(jié)構(gòu)中的對象的許多協(xié)議,諸如XML、JS0N、YAML、二進制代碼串行 化、以及文本串行化。這些和其他數(shù)據(jù)交換格式提供了各種優(yōu)點和缺點,諸如可擴展性、易 于模式變換、緊湊性、用各種服務(wù)(例如,XPath查詢和XSL變換)來補充、與其他數(shù)據(jù)交換 格式(例如XHTML)的互兼容性、以及各種語言(例如,Python和Perl)的支持度。此外,大 多數(shù)數(shù)據(jù)交換格式能夠表示根據(jù)遞歸基本表示格式的最少原理來組織的嵌套對象(例如, 被組織成原子、記錄和序列的數(shù)據(jù)單元的表示)。圖6示出了從遞歸基本表示格式到以下兩種數(shù)據(jù)交換格式的兩個這樣的變換 XML和JS0N。圖6的示例90開始于包括用于文字處理器應(yīng)用程序的數(shù)據(jù)項的示例性對象 分層結(jié)構(gòu)92的一部分,包括應(yīng)用程序二進制代碼、應(yīng)用程序圖標、字典、以及特定用戶的配 置文件。與圖1的示例性對象分層結(jié)構(gòu)10相反,該表示是根據(jù)序列/記錄/原子遞歸基本 表示格式來示出的,其中原子被表示為框、記錄被表示為原子聚集(由虛線分隔)、而序列 被表示為對象分層結(jié)構(gòu)的樹表示中的序列封裝元素的從屬節(jié)點。由于示例性對象分層結(jié)構(gòu) 92的元素的序列/記錄/原子組織,可應(yīng)用變換以便用各種數(shù)據(jù)交換格式來表示相同的組 織概念??蓱?yīng)用第一變換以將示例性對象分層結(jié)構(gòu)92格式化為XML表示94,其中記錄被表 示為封裝作為空節(jié)點的記錄的原子(< 原子/>)的封閉元素(< 記錄 > 和</記錄 >),而序列 被表示為封裝序列的元素(< 二進制代碼>...,< 二進制代碼 >...,〈字典 >...,等)的封
13閉元素(〈序列〉和</序列 >)。類似地,可應(yīng)用第二變換以便根據(jù)JSON約定來將示例性對 象分層結(jié)構(gòu)92格式化為JSON表示96,該JSON約定用方括號來表示記錄(“二進制代碼”: [...])并用大括號來表示序列(“應(yīng)用程序” {...})??尚纬善渌儞Q以自動化對象分層 結(jié)構(gòu)從遞歸基本表示格式到另一數(shù)據(jù)交換格式的變換,而不丟失信息或?qū)τ趯ο蠓謱咏Y(jié)構(gòu) 的內(nèi)容的復(fù)雜性。本領(lǐng)域內(nèi)的普通技術(shù)人員可設(shè)計用于將遞歸基本表示格式變換成其他格 式的許多技術(shù),同時實現(xiàn)此處所討論的技術(shù)。計算環(huán)境表示的調(diào)整的第三示例涉及產(chǎn)生根據(jù)平臺表示來結(jié)構(gòu)化的類實例,其中 這些類實例被表示在對象分層結(jié)構(gòu)中。許多計算平臺支持類定義,該類定義可指定各個成 員項、方法、事件、接口、以及關(guān)于類成員的安全/訪問細節(jié)。被配置成在這些平臺上操作的 計算環(huán)境可將這些類的實例封裝在所表示的對象分層結(jié)構(gòu)中,并且可能期望從對象分層結(jié) 構(gòu)中生成類實例。例如,圖1的示例性對象分層結(jié)構(gòu)10包括聯(lián)系人集,并且計算平臺可以為 聯(lián)系人定義包括對應(yīng)于聯(lián)系人的姓名、電子郵件地址和各個電話號碼的字段的聯(lián)系人類。 示例性對象分層結(jié)構(gòu)10因此可被呈現(xiàn)為聯(lián)系人類的兩個類實例一個對應(yīng)于名為Monica 的聯(lián)系人,一個對應(yīng)于名為Loreto的聯(lián)系人。因此,這些技術(shù)的一實施例(諸如圖3的示 例性方法50或圖4的示例性系統(tǒng)60)可包括將計算環(huán)境的對象編組為平臺表示格式的至 少一個類的實例。該編組可由計算環(huán)境表示的主機來執(zhí)行,但是然后要串行化這些類實例 以便跨通信信道傳遞至構(gòu)成平臺表示的設(shè)備。或者,該編組可以在主存其中定義類的平臺 的設(shè)備上執(zhí)行;這可通過準許計算環(huán)境的主機以平臺不可知方式傳遞計算環(huán)境表示并將類 實例的編組委托給主存該平臺的設(shè)備來呈現(xiàn)優(yōu)點。本領(lǐng)域的普通技術(shù)人員能夠參考此處所 討論的技術(shù)來設(shè)計類實例編組的許多用途??呻S這些技術(shù)的實現(xiàn)而變化的第四方面涉及表示的更改。在許多情況下,設(shè)備上 的計算環(huán)境會話可導(dǎo)致計算環(huán)境的更改,諸如創(chuàng)建對象或?qū)ο蠓謱咏Y(jié)構(gòu)的新部分,更新對 象或?qū)ο蠓謱咏Y(jié)構(gòu)的一部分、或刪除對象或?qū)ο蠓謱咏Y(jié)構(gòu)的一部分。實際上,對計算環(huán)境的 大量更改甚至可以在較短的正常使用會話期間作出,其中計算環(huán)境包括常用高速緩存,諸 如瀏覽器歷史和最近使用的項目列表。這些更改可被本地地存儲在設(shè)備中,但是直到更改 被傳播至計算環(huán)境表示的主機,這些更改才可對其他設(shè)備可見(除了例如對象分層結(jié)構(gòu)的 已更改部分被委托存儲在設(shè)備的對象存儲中的情況)。因此,這些技術(shù)的各實施例能夠接收更改并對計算環(huán)境表示應(yīng)用更改。例如,被配 置成存儲計算環(huán)境表示的系統(tǒng)(諸如圖4的示例性系統(tǒng)60)可包括被配置成接收至少一個 計算環(huán)境更改,并根據(jù)該計算環(huán)境更改來更改對象分層結(jié)構(gòu)的計算環(huán)境更改組件。作為第 一示例,在更改指定刪除計算環(huán)境中所表示的對象(例如,文件)的情況下,其上執(zhí)行刪除 的設(shè)備可將該刪除向主存計算環(huán)境表示的系統(tǒng)通知,并且該系統(tǒng)可從對象分層結(jié)構(gòu)中移除 已刪除的對象。作為第二示例,可操作主存平臺的設(shè)備以基于該平臺所定義的類來創(chuàng)建新 類實例(例如,基于聯(lián)系人類來創(chuàng)建新聯(lián)系人實例)。該設(shè)備可串行化該新類實例并將其傳 遞至主存計算環(huán)境表示的系統(tǒng),該系統(tǒng)可在對象分層結(jié)構(gòu)中將新對象插入到對應(yīng)于包括該 類實例的數(shù)據(jù)中。在該示例中,根據(jù)遞歸基本表示格式來將類實例變換成與對象分層結(jié)構(gòu) 中的其他對象的表示一致的對象表示可以是有利的。該變換可以在設(shè)備,或主存計算環(huán)境 表示的系統(tǒng)等上執(zhí)行。本領(lǐng)域的普通技術(shù)人員能夠設(shè)計更改對象分層結(jié)構(gòu)以反映計算環(huán)境 中的變更的許多方式,同時實現(xiàn)此處所討論的技術(shù)。
可隨這些技術(shù)的實現(xiàn)而變化的第五方面涉及可應(yīng)用于構(gòu)成計算環(huán)境的對象和對 象分層結(jié)構(gòu)的服務(wù)。計算環(huán)境表示中所包括的各種對象可跨越多方位的多樣性,包括諸如 圖像等數(shù)據(jù)文件、用戶簡檔信息、口令、應(yīng)用程序二進制代碼、以及各種數(shù)據(jù)高速緩存。然 而,因為對象環(huán)境中的對象是根據(jù)可遞歸基本表示格式來存儲的,所以可應(yīng)用一組服務(wù)以 便以類似方式操縱計算環(huán)境中的對象。例如,可設(shè)計同步服務(wù)以便將一個對象分層結(jié)構(gòu) (諸如由負責主存計算環(huán)境的服務(wù)器存儲的對象分層結(jié)構(gòu))的一部分或全部與另一對象分 層結(jié)構(gòu)(諸如存儲在設(shè)備上并在該設(shè)備上操作的計算環(huán)境會話期間更改的對象分層結(jié)構(gòu)) 的一部分或全部同步。該同步可以按許多方式執(zhí)行,諸如單向(使一個對象分層結(jié)構(gòu)匹配 另一個對象分層結(jié)構(gòu))、基于更新日期的雙向、基于用戶選擇的雙向等??稍O(shè)計備份服務(wù)以 生成對象分層結(jié)構(gòu)的完整或區(qū)別圖像并將其存儲在諸如磁帶驅(qū)動器等歸檔設(shè)備上??稍O(shè) 計查詢服務(wù)以標識對象分層結(jié)構(gòu)中與特定描述相匹配的對象(例如,在圖1的示例性對象 分層結(jié)構(gòu)10中定位包含“學(xué)校關(guān)系”對象36的所有對象并由此被表示為與班級項目相關(guān); 該查詢導(dǎo)致標識“Loreto”聯(lián)系人對象、“班級項目”文件夾對象、以及2009年1月1日班 會約會對象)??稍O(shè)計共享服務(wù)以將對對象分層結(jié)構(gòu)的各部分的各種類型的訪問擴展至各 種類型的用戶和設(shè)備;例如,可以與操作任何種類的設(shè)備的任何游客用戶用只讀訪問公開 共享某些對象。而某些其他對象可由操作一組認證設(shè)備的一組認證用戶用讀/寫訪問來訪 問。可設(shè)計對象事件報告服務(wù)以記錄和報告對對象分層結(jié)構(gòu)的一部分或全部的更改,例如, 存儲在特定文件夾中的新的、已改變的和已刪除的文件。因為這些服務(wù)操作根據(jù)可遞歸基本表示格式來表示的對象,所以這些服務(wù)可被配 置成以統(tǒng)一的方式應(yīng)用于非常不同類型的對象;例如,通過同步服務(wù)來在各個設(shè)備之間同 步用戶簡檔可以按與在各個文件存儲之間同步文件相同的方式來執(zhí)行。因此,這些技術(shù)的 各實施例(諸如圖3的示例性方法50和圖4的示例性系統(tǒng)60)可包括計算環(huán)境服務(wù)集,該 計算環(huán)境服務(wù)集可包括對象備份服務(wù)、對象查詢服務(wù)、對象同步服務(wù)和對象事件報告服務(wù) 中的至少一個。這些服務(wù)可以在主存計算環(huán)境表示的系統(tǒng)上提供,并且可被配置(自動和 /或手動)成為了維護、安全、終端用戶服務(wù)提供等來對對象分層結(jié)構(gòu)應(yīng)用各種操作。也可組合地實現(xiàn)上文中所討論的各方面的變體以提供若干優(yōu)點并減少上文中所 討論的若干缺點。一種這樣的組合在圖7中示出,圖7示出了用于表示計算環(huán)境的示例性 系統(tǒng)110。示例性系統(tǒng)110包括被配置成存儲構(gòu)成計算環(huán)境的對象的對象分層結(jié)構(gòu)114的 計算環(huán)境對象存儲112,其中各個對象根據(jù)包括原子記錄的可遞歸序列的可遞歸基本表示 格式來表示。構(gòu)成對象分層結(jié)構(gòu)114的對象可由示例性系統(tǒng)110中諸如工作站126等各種 組件來訪問,以呈現(xiàn)示例性系統(tǒng)110所表示的計算環(huán)境并與其交互。為了方便這一訪問,該性質(zhì)的系統(tǒng)(諸如圖7的示例性系統(tǒng)110)包括計算環(huán)境表 示組件116,該組件被配置成接收(例如,從工作站126)對指定數(shù)據(jù)交換格式的計算環(huán)境的 請求,將對象分層結(jié)構(gòu)114從可遞歸基本表示格式變換成數(shù)據(jù)交換格式,并響應(yīng)于該請求 來提供經(jīng)變換的對象分層結(jié)構(gòu)。示例性系統(tǒng)110還包括計算環(huán)境節(jié)點展開組件118,該組件 被配置成在接收到展開表示對象分層結(jié)構(gòu)114中的對象的未展開節(jié)點的請求時提供該對 象。示例性系統(tǒng)110還包括計算環(huán)境外部對象存儲訪問組件120,該組件被配置成在接收到 展開表示對象分層結(jié)構(gòu)114中的對象的未展開節(jié)點的請求并引用外部對象存儲(諸如蜂窩 電話設(shè)備128)時向外部對象存儲128請求對象,并在接收到來自外部對象存儲128的對象時響應(yīng)于該請求來提供該對象。示例性系統(tǒng)110還包括計算環(huán)境更改組件122,該組件被配 置成接收至少一個計算環(huán)境更改,根據(jù)可遞歸基本表示格式來將計算環(huán)境更改中所表示的 對象變換成對象表示,并根據(jù)計算環(huán)境更改來更改對象分層結(jié)構(gòu)。示例性系統(tǒng)110還包括 計算環(huán)境服務(wù)集124,包括被配置成在計算環(huán)境中的對象上操作的至少一個計算環(huán)境服務(wù) (例如,對象查詢服務(wù)、對象鏡像服務(wù)以及對象同步服務(wù))。以此方式配置的系統(tǒng)從而可向 各種設(shè)備提供可部署、一致的、且可擴展計算環(huán)境表示。然而,本領(lǐng)域的普通技術(shù)人員能夠 設(shè)計許多這樣的系統(tǒng),同時實現(xiàn)此處所討論的技術(shù)。鑒于上述技術(shù)和變體,可以理解,對象分層結(jié)構(gòu)的這種制定和管理啟用了以一致 的方式在各種設(shè)備上操作的可部署計算環(huán)境。圖8示出一個這樣的場景130,其中計算環(huán) 境可由計算環(huán)境主機132主存,計算環(huán)境主機132可以存儲并管理對象分層結(jié)構(gòu)134。計 算環(huán)境主機132還可以代表各種設(shè)備(如蜂窩電話設(shè)備136、個人筆記本計算機140、以及 公共工作站144)并且還代表具有不同訪問特權(quán)的不同類型的用戶,以不同的方式呈現(xiàn)對 象分層結(jié)構(gòu)134。該計算環(huán)境的呈現(xiàn)因此反映了跨展示相同的應(yīng)用程序、用戶簡檔、外殼配 置、用戶數(shù)據(jù)對象等的所有設(shè)備的一致計算環(huán)境。因此,用戶可以通過高性能筆記本計算機 訪問該計算環(huán)境的全特征版本142、在低功率蜂窩電話設(shè)備136上訪問該計算環(huán)境的精簡 版本138、以及通過公共終端144的web瀏覽器146訪問該計算環(huán)境的可兼容瀏覽器并且面 向隱私版本148。就每一這樣的設(shè)備的能力支持該計算環(huán)境的呈現(xiàn)而言,由于根據(jù)每一設(shè)備 的能力調(diào)整了對象分層結(jié)構(gòu)134的呈現(xiàn),所以可以呈現(xiàn)一致的用戶界面和數(shù)據(jù)集。對計算 環(huán)境的更新可以傳播回計算環(huán)境主機132,并且可以與其他設(shè)備自動進行同步。各設(shè)備還 可以通過與其他設(shè)備共享存儲在本地的數(shù)據(jù)并且通過控制其他設(shè)備或由其他設(shè)備控制來 進行協(xié)作。因此,可將該計算環(huán)境設(shè)計并呈現(xiàn)為云計算體系結(jié)構(gòu),包括表達為跨形成同一計 算環(huán)境的各協(xié)作門戶(具有設(shè)備專用屬性)的網(wǎng)格的所有設(shè)備(“客戶機”)的一致呈現(xiàn)的 設(shè)備無關(guān)表示(“云”)。此外,計算環(huán)境主機132可以將服務(wù)應(yīng)用于構(gòu)成對象分層結(jié)構(gòu)134 的各個對象,并且基于對象的分層組織和可遞歸基本標識格式可以便于這些服務(wù)的一致可 用性和應(yīng)用,而不論向其應(yīng)用這些服務(wù)的對象的性質(zhì)如何。本領(lǐng)域的普通技術(shù)人員可以理 解,與大型計算機、臺式自組織計算機、客戶機/服務(wù)器、以及瘦客戶機體系結(jié)構(gòu)相比,該云 計算體系結(jié)構(gòu)提供若干優(yōu)點和減少的缺點。圖9和以下討論提供了對用于實現(xiàn)此處所闡述的設(shè)備中的一個或多個的各實施 例的合適的計算環(huán)境的簡要、概括描述,諸如圖8的計算環(huán)境主機132或諸如個人筆記本計 算機140等被配置成呈現(xiàn)計算環(huán)境的設(shè)備。圖9的操作環(huán)境只是合適的操作環(huán)境的一個示 例,并不旨在對該操作環(huán)境的使用范圍或功能提出任何限制。示例計算設(shè)備包括但不限于 個人計算機、服務(wù)器計算機、手持式或膝上型設(shè)備、移動設(shè)備(諸如移動電話、個人數(shù)字助 理(PDA)、媒體播放器等等)、多處理器系統(tǒng)、消費電子產(chǎn)品、小型計算機、大型計算機、包括 任何以上系統(tǒng)或設(shè)備的分布式計算環(huán)境等等。盡管并非必需,但各實施例在由一個或多個計算設(shè)備執(zhí)行的“計算機可讀指令”的 一般上下文中描述。計算機可讀指令可通過計算機可讀介質(zhì)來分發(fā)(在以下討論)。計算 機可讀指令可被實現(xiàn)為執(zhí)行特定任務(wù)或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類型的程序模塊,如函數(shù)、對象、 應(yīng)用程序編程接口(API)、數(shù)據(jù)結(jié)構(gòu)等等。通常,計算機可讀指令的功能可按需在各個環(huán)境 中組合或分布。
圖9示出了包括被配置成實現(xiàn)此處所提供的一個或多個實施例的計算設(shè)備152的 系統(tǒng)150的示例。在一種配置中,計算設(shè)備152包括至少一個處理單元156和存儲器158。 取決于計算設(shè)備的確切配置和類型,存儲器158可以是易失性的(如RAM)、非易失性的(如 ROM、閃存等)或是兩者的某種組合。該配置在圖9中由虛線154來示出。在其他實施例中,設(shè)備152可以包括附加特征和/或功能。例如,設(shè)備152還可以 包括附加存儲(例如,可移動和/或不可移動),其中包括但不限于磁存儲、光存儲等等。這 樣的附加存儲在圖9中由存儲160示出。在一個實施例中,用于實現(xiàn)此處所提供的一個或 多個實施例的計算機可讀指令可以在存儲160中。存儲160還可以儲存實現(xiàn)操作系統(tǒng)、應(yīng) 用程序等其他計算機可讀指令。可以在存儲器158中加載計算機可讀指令以便由例如處理 單元156來執(zhí)行。此處所使用的術(shù)語“計算機可讀介質(zhì)”包括計算機存儲介質(zhì)。計算機存儲介質(zhì)包 括以用于存儲諸如計算機可讀指令或其他數(shù)據(jù)等信息的任何方法或技術(shù)來實現(xiàn)的易失性 和非易失性、可移動和不可移動介質(zhì)。存儲器158和存儲160都是計算機存儲介質(zhì)的示例。 計算機存儲介質(zhì)包括但不限于,RAM、ROM、EEPR0M、閃存或其他存儲器技術(shù)、CD-ROM、數(shù)字多 功能盤(DVD)或其他光存儲、磁帶盒、磁帶、磁盤存儲或其他磁存儲設(shè)備、或者可用于存儲 所需信息并且可由設(shè)備152訪問的任何其他介質(zhì)。任何這樣的計算機存儲介質(zhì)都可以是設(shè) 備152的一部分。設(shè)備152還可包括允許該設(shè)備152與其他設(shè)備進行通信的通信連接166。通信連 接166可包括但不限于,調(diào)制解調(diào)器、網(wǎng)絡(luò)接口卡(NIC)、集成網(wǎng)絡(luò)接口、射頻發(fā)射機/接收 機、紅外線端口、USB連接、或用于將計算設(shè)備152連接到其他計算設(shè)備的其他接口。通信 連接166可以包括有線連接或無線連接。通信連接166可以發(fā)送和/或接收通信媒體。術(shù)語“計算機可讀介質(zhì)”可以包括通信介質(zhì)。通信介質(zhì)通常以諸如載波或其他傳輸 機制等“已調(diào)制數(shù)據(jù)信號”來體現(xiàn)計算機可讀指令或其他數(shù)據(jù),并包括任何信息傳送介質(zhì)。 術(shù)語“已調(diào)制數(shù)據(jù)信號”指以對信號中的信息進行編碼的方式設(shè)置或改變其一個或多個特 征的信號。設(shè)備152可包括輸入設(shè)備164,諸如鍵盤、鼠標、筆、語音輸入設(shè)備、觸摸輸入設(shè)備、 紅外照相機、視頻輸入設(shè)備和/或任何其他輸入設(shè)備。設(shè)備152中還可包括輸出設(shè)備162, 諸如一個或多個顯示器、揚聲器、打印機和/或任何其他輸出設(shè)備。輸入設(shè)備164和輸出設(shè) 備162可以通過有線連接、無線連接或其任何組合來連接到設(shè)備152。在一個實施例中,來 自另一計算設(shè)備的輸入設(shè)備或輸出設(shè)備可用作計算設(shè)備152的輸入設(shè)備164或輸出設(shè)備 162。計算設(shè)備152的組件可以通過諸如總線等各種互連來連接。這些互連可包括諸如 PCI Express等外圍部件互連(PCI)、通用串行總線(USB)、火線(IEEE1394)、光學(xué)總線結(jié)構(gòu) 等。在另一實施例中,計算設(shè)備152的組件可以通過網(wǎng)絡(luò)互連。例如,存儲器158可由位于 通過網(wǎng)絡(luò)互連的不同物理位置的多個物理存儲器單元組成。本領(lǐng)域技術(shù)人員會認識到,用于存儲計算機可讀指令的存儲設(shè)備可分布在網(wǎng)絡(luò) 上。例如,可以通過網(wǎng)絡(luò)168訪問的計算設(shè)備170可以存儲實現(xiàn)此處所提供的一個或多個 實施例的計算機可讀指令。計算設(shè)備152可以訪問計算設(shè)備170并下載部分或全部計算機 可讀指令來執(zhí)行?;蛘?,計算設(shè)備152可以按需下載計算機可讀指令的片斷,或者某些指令
17可以在計算設(shè)備152處執(zhí)行而某些則在計算設(shè)備170處執(zhí)行。盡管用結(jié)構(gòu)特征和/或方法動作專用的語言描述了本主題,但可以理解,所附權(quán) 利要求書中定義的主題不必限于上述具體特征或動作。相反,上文所描述的具體特征和動 作是作為實現(xiàn)權(quán)利要求的示例形式來公開的。如在本申請中所使用的,術(shù)語“組件”、“模塊”、“系統(tǒng)”、“接口 ”等一般旨在表示計 算機相關(guān)的實體,該實體可以是硬件、硬件和軟件的組合、軟件、或者執(zhí)行中的軟件。例如, 組件可以是,但不限于是,在處理器上運行的進程、處理器、對象、可執(zhí)行碼、執(zhí)行的線程、程 序和/或計算機。作為說明,運行在控制器上的應(yīng)用程序和控制器都可以是組件。一個或 多個組件可以駐留在進程和/或執(zhí)行的線程中,并且組件可以位于一個計算機內(nèi)和/或分 布在兩個或更多計算機之間。此外,所要求保護的主題可以使用產(chǎn)生控制計算機以實現(xiàn)所公開的主題的軟件、 固件、硬件或其任意組合的標準編程和/或工程技術(shù)而被實現(xiàn)為方法、裝置或制品。在此使 用的術(shù)語“制品”旨在涵蓋可以從任何計算機可讀設(shè)備、載體或介質(zhì)訪問的計算機程序。當 然,本領(lǐng)域的技術(shù)人員將會認識到,在不背離所要求保護的主題的范圍或精神的前提下可 以對這一配置進行許多修改。此處提供了各實施例的各種操作。在一個實施例中,所描述的操作中的一個或多 個可以組成儲存在一個或多個計算機可讀介質(zhì)上的計算機可讀指令,這些指令如果被計算 設(shè)備執(zhí)行則使得計算設(shè)備執(zhí)行所描述的操作。描述一些或全部操作的順序不應(yīng)被解釋為暗 示了這些操作必須要依賴于順序。從本說明書獲益的本領(lǐng)域技術(shù)人員應(yīng)理解替換的排序。 此外,應(yīng)該理解并非所有的操作都必須存在于此處所提供的每一實施例中。此外,在此使用詞語“示例性”意指用作示例、實例或說明。在此被描述為“示例性” 的任何方面或設(shè)計并不一定被解釋為比其他方面或設(shè)計有利。相反,使用詞語“示例性”旨 在以具體的方式呈現(xiàn)各個概念。如本申請中所使用的,術(shù)語“或”意指包括性“或”而非互 斥性“或”。即,除非另有指定或從上下文可以清楚,否則“X使用A或B”意指任何自然的包 括性排列。即,如果X使用A ;X使用B ;或X使用A和B兩者,則在任何以上情況下,都滿足 “X使用A或B”。另外,本申請中和所附權(quán)利要求書中所使用的冠詞“一”和“一個” 一般可 被解釋為是指“一個或多個”,除非另有指定或從上下文可以清楚指的是單數(shù)形式。同樣,雖然參考一個或多個實現(xiàn)示出并描述了本發(fā)明,但本領(lǐng)域技術(shù)人員基于對 本說明書和附圖的閱讀和理解可以想到各種等效替換和修改。本發(fā)明包括所有這些修改和 替換并且只由所附權(quán)利要求書來限定。特別地,對于由上述組件(例如,元素、資源等)執(zhí) 行的各種功能,除非另外指明,否則用于描述這些組件的術(shù)語旨在對應(yīng)于執(zhí)行所描述的執(zhí) 行此處在本發(fā)明的示例性實現(xiàn)中所示的功能的組件的指定功能(例如,功能上等效)的任 何組件,即使這些組件在結(jié)構(gòu)上不等效于所公開的結(jié)構(gòu)。另外,盡管可相對于若干實現(xiàn)中的 僅一個實現(xiàn)來公開本發(fā)明的一個特定特征,但是這一特征可以如對任何給定或特定應(yīng)用所 需且有利地與其它實現(xiàn)的一個或多個其它特征相組合。此外,就在說明書或權(quán)利要求書中 使用術(shù)語“包含”、“具有”、“含有”和“帶有”及其變體而言,這些術(shù)語旨在以與術(shù)語“包括” 相似的方式為包含性的。
18
權(quán)利要求
一種表示計算環(huán)境的方法(50),所述方法(50)包括在對象分層結(jié)構(gòu)(10)中表示(54)所述計算環(huán)境中的對象,各個對象根據(jù)可遞歸基本表示格式來表示。
2.如權(quán)利要求1所述的方法,其特征在于,所述可遞歸基本表示格式包括原子的記錄 的可遞歸序列。
3.如權(quán)利要求1所述的方法,其特征在于,所述對象分層結(jié)構(gòu)被表示為XML。
4.如權(quán)利要求1所述的方法,其特征在于,至少一個對象被表示為未展開節(jié)點。
5.如權(quán)利要求4所述的方法,其特征在于,所述方法包括在接收到展開未展開節(jié)點的 請求時,提供所述未展開節(jié)點的對象。
6.如權(quán)利要求1所述的方法,其特征在于未展開節(jié)點引用包含所述未展開節(jié)點的對象的對象存儲,并且 所述方法包括在接收到展開引用對象存儲的未展開節(jié)點的請求時 向所述對象存儲請求所述對象;以及在接收到來自所述對象存儲的對象時,響應(yīng)于所述請求來提供所述對象。
7.如權(quán)利要求1所述的方法,其特征在于 所述計算環(huán)境被表示到設(shè)備,并且所述表示根據(jù)所述設(shè)備的能力來調(diào)整。
8.如權(quán)利要求7所述的方法,其特征在于 所述設(shè)備的能力包括設(shè)備存儲容量,并且所述調(diào)整包括用至少一個未展開節(jié)點來表示所述計算環(huán)境以將所表示的計算環(huán)境的 大小限于不超過所述設(shè)備存儲容量。
9.如權(quán)利要求1所述的方法,其特征在于 為用戶表示所述計算環(huán)境,并且所述表示根據(jù)所述用戶來調(diào)整。
10.如權(quán)利要求9所述的方法,其特征在于 所述計算環(huán)境指定所述用戶的用戶帳戶,所述計算環(huán)境指定所述用戶帳戶對于所述計算環(huán)境的對象的訪問特權(quán),并且 所述調(diào)整包括用至少一個未展開節(jié)點來表示所述計算環(huán)境,所述至少一個未展開節(jié) 點表示所述對象分層結(jié)構(gòu)中根據(jù)所述用戶帳戶的訪問特權(quán)來對所述用戶限制的一部分。
11.如權(quán)利要求1所述的方法,其特征在于,包括將所述計算環(huán)境從所述可遞歸基本表示格式變換成數(shù)據(jù)交換格式。
12.如權(quán)利要求1所述的方法,其特征在于,包括將所述計算環(huán)境中的對象編組為平臺表示格式的至少一個類的實例。
13.如權(quán)利要求1所述的方法,其特征在于,包括 計算環(huán)境表示組件,所述計算環(huán)境表示組件被配置成 接收對計算環(huán)境指定數(shù)據(jù)交換格式的請求;以及將所述計算環(huán)境從所述可遞歸基本表示格式變換成所述數(shù)據(jù)交換格式。
14.如權(quán)利要求1所述的方法,其特征在于,包括查詢對象服務(wù); 同步對象服務(wù);以及 報告對象事件服務(wù)。
15.如權(quán)利要求14所述的方法,其特征在于,包括 被配置成存儲構(gòu)成所述計算環(huán)境的對象的計算環(huán)境對象存儲(62); 計算環(huán)境表示組件(64),所述計算環(huán)境表示組件被配置成在對象分層結(jié)構(gòu)(10)中表 示所述計算環(huán)境的對象,各個對象根據(jù)可遞歸基本表示格式來表示;以及計算環(huán)境服務(wù)集(66),所述計算環(huán)境服務(wù)集包括被配置成在所述計算環(huán)境的對象上操 作的至少一個計算環(huán)境服務(wù)。
全文摘要
計算環(huán)境通常包括一大組不同的對象,諸如文件、用戶簡檔、可執(zhí)行二進制代碼、配置信息以及數(shù)據(jù)高速緩存,其中這些對象通常通過聚集諸如文件系統(tǒng)、系統(tǒng)注冊表和匯編高速緩存等系統(tǒng)來存儲和管理。一種計算機系統(tǒng)的替換表示可包括被配置成根據(jù)簡單組織語法來存儲計算環(huán)境中的所有對象的對象分層結(jié)構(gòu)??商峁└鞣N服務(wù)(例如,同步服務(wù)、備份服務(wù)和共享服務(wù))以便以類似方式管理不同的對象。還可向各種設(shè)備提供表示,這些表示可以按一致的方式呈現(xiàn)計算環(huán)境,但經(jīng)過調(diào)整以反映設(shè)備和用戶的能力。該計算環(huán)境由此以可部署、一致且可擴展的方式呈現(xiàn)。
文檔編號G06F9/44GK101981557SQ200980112183
公開日2011年2月23日 申請日期2009年2月28日 優(yōu)先權(quán)日2008年3月27日
發(fā)明者D·舒克拉, J·張, O·阿米加, V·瓦蘇 申請人:微軟公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1