TWI482035B - 運算環境表示 - Google Patents

運算環境表示 Download PDF

Info

Publication number
TWI482035B
TWI482035B TW098105019A TW98105019A TWI482035B TW I482035 B TWI482035 B TW I482035B TW 098105019 A TW098105019 A TW 098105019A TW 98105019 A TW98105019 A TW 98105019A TW I482035 B TWI482035 B TW I482035B
Authority
TW
Taiwan
Prior art keywords
computing environment
objects
user
representation
hierarchy
Prior art date
Application number
TW098105019A
Other languages
English (en)
Other versions
TW200943090A (en
Inventor
Dharma Shukla
Ori Amiga
Vji Vasu
Junfeng Zhang
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of TW200943090A publication Critical patent/TW200943090A/zh
Application granted granted Critical
Publication of TWI482035B publication Critical patent/TWI482035B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)

Description

運算環境表示
本發明係關於運算環境表示。
現代電腦系統包含大量不同相互關聯之物件,例如,檔案及檔案集合(例如,組成一專輯之MP3集)、應用程式、使用者設定檔、個人資料集(例如,書籤清單、連絡人清單及行事曆)、資料快取(例如,瀏覽器的「紀錄」(history)與「最近使用」清單)、密碼及權限集(例如,公用/秘密金鑰對、憑證及資料共用資訊),以及系統、裝置、操作殼層及應用程式之組態資訊。自另一角度觀之,該電腦系統包括一組應用程式,其中每一者管理一複雜資料集,該資料集包括多種不同資料物件,該等物件以各種不同方式儲存,且儲存於該電腦系統之不同位置。
在許多電腦系統中,以一特定方式安排此等資料格式,其中某些資料格式之功能重疊,但採用任意方式(例如,組態資訊可以被儲存於一或多個檔案中,儲存於一系統登錄中之資料共用權限可影響該等檔案)。此外,可以對各種電腦系統進行設定,藉由以各種方式共用此等物件而相互作業,例如,藉由在兩或多個裝置之間同步兩個類似資料集。
提供本「發明內容」係為了以一簡化方式介紹一組概念,在下文之「實施方式」中將進一步對其進行描述。本「發明內容」無意於確定所主張標的物之關鍵因素或基本特徵,也無意於用以限制所主張標的物之範圍。
組成電腦系統之物件的多樣性及相互關係,可以使許多常見操作變得複雜。作為一第一實例,以許多形式來代表物件(例如,檔案、儲存於一系統登錄中之組態資訊、使用者設定檔資訊,以及受保護之密碼資訊)以及在許多位置儲存物件,可能會使應用於一特定物件集之物件備份、複製或同步操作變得複雜,此等物件中之一部分可能會混合其他物件集之物件。作為一第二實例,在電腦系統中查詢一特定種類之物件時(例如,由一特定使用者所擁有之全部物件),可能需要廣泛搜尋許多物件儲存,例如檔案系統、登錄、資料快取、安全權限集及物件之結構特定部分,例如一共用地址清單中之記錄。作為一第三實例,與另一裝置(即使屬于相同使用者)共用一物件集可能會因為以下兩因素變得複雜:網路通信環境(例如,該裝置位於何處、在與該裝置進行通信時可以利用多少頻寬?)和該裝置之本質(例如,該目標裝置擁有多少容量,可以向其發送哪些類型之物件,以及應當如何對其進行格式化?)。作為一第四實例,在使用者之間共用資料之方案中,需要考量該等使用者之角色及安全權限,上述考量可進一步變得複雜。此等及其他問題可在嘗試進行以下操作時出現:在多種裝置中提供一致運算環境,包括相同應用程式集(儘管可針對每一裝置之功能進行自訂)--特別是當該物件集分散於多個裝置時,在理想情況下,該資料集可以無縫操作,作為一彙總物件集向使用者呈現。
考量到以上因素,一電腦系統可被設計為採用一致方式儲存物件,且集中管理該等物件,以提高一致性且簡化管理。一電腦系統可被設計為一包含彙總物件系統之主要存取點,該彙總物件系統儲存許多類型之物件(檔案及檔案集、所安裝之應用程式、各種類型之組態資訊集合、使用者設定檔及權限、資料存取,等等),作為一擁有一些基本共同性之物件集,且安排於包含該電腦系統之完整組態的階層。因此,該電腦系統可以採用一統一格式在所有物件類型之間執行諸如查詢、同步及複製等操作。該電腦系統還可以管理多種提供該相同物件集之裝置,例如藉由組態該等裝置,以向該使用者呈現一統一使用者介面及一組相同的部署應用程式。此外,該電腦系統可根據一裝置之功能調整向該裝置部署之物件集合,例如,將一應用程式之全功能版本部署至一功能更強大之裝置,而將同一應用程式之輕量級版本部署至一功能稍弱之裝置。該電腦系統亦可協調同步分散於該等裝置間之資料(例如,將儲存於一第一裝置上之某些物件對映於該彙總物件系統中,從而在一第二裝置嘗試存取該彙總物件系統時,該電腦系統可自動向該第二裝置公開該第一裝置上之該等物件,且對其進行管理。)此物件系統模型之此等及其他型樣有利於統一許多裝置之間的使用者體驗,其中,每一裝置作為相同物件集之入口,而無須考慮該等物件之混合類型、位置,以及在交換及同步此等裝置及物件時所使用之技術。
相應地,一物件系統可被設計為將組成一電腦系統之所有物件表示於單一階層中,且符合一共同文法。一電腦系統(被組態用於管理以此種方式儲存之物件)亦可包括一組服務,用以對該物件集合執行各種操作,例如,備份、複製、同步、查詢、共用、保護、並行存取管理,以及以各種格式進行呈現。此外,該物件集合之各個部分可被擴充,添加根據一共同文法表示之域專有資料,且可藉由採用一致方式管理電腦系統之服務進行管理。亦可針對不同裝置對該物件集進行不同呈現,從而提供對相同物件集之存取,同時還可以根據一裝置之功能自訂該裝置之參與。因此,採用此方式建模之電腦系統以一種統一方式向使用者呈現,其資料交換、物件集同步及裝置組態之自動化得以改進。
為達成上述及相關目的,以下說明及隨附圖式列出特定說明性態樣及實施方式。其表示可實施一或多種態樣之各種方式,但僅係其中之一少部分。當結合隨附圖式進行考量時,由以下詳細說明可以明瞭本揭示案之其他態樣、優點及新穎特徵。
現在參考該等圖式描述所主張之標的物,其中類似元件符號始終被用於指代類似元件。在以下說明中,出於解釋目的,列出許多特定細節,以提供對所主張標的物之透徹理解。但是應當明瞭,沒有此等特定細節亦可實施所主張之標的物。在其他實例中,以方塊圖形式示出習知結構和裝置,以利於描述所主張之標的物。
現代電腦系統包括大量不同物件。許多電腦系統之特徵在於一檔案儲存,其中既包含用於組態該電腦系統之檔案(包括可執行檔案、類別函式庫、組態資訊集及資源),亦包括由一或多個使用者產生或接收之使用者檔案。許多電腦系統還包括大量組態資訊,該等資訊包含電腦系統硬體及軟體、包括該電腦系統之硬體及裝置、作業系統、殼層使用者介面以及該殼層使用者介面中可用應用程式之組態。還可存在各種使用者設定檔及帳戶,前者包括描述一特定使用者或使用者類別之資訊(名稱、殼層使用者介面喜好設定、主目錄,等等),後者包括描述該使用者或該使用者類別權限之資訊(檔案所有權、讀取/寫入權限、對各種裝置之存取,等等)。受保護安全資訊(例如密碼、憑證、公用/秘密金鑰對及存取控制清單)可被儲存於一安全物件中,藉由該等資訊,該作業系統可執行受控制之存取。可存在一或多個資料快取,例如瀏覽器快取及紀錄、應用程式或瀏覽器文字方塊中之最近項目,以及最近使用之檔案及物件清單。各種應用程式可以產生應用程式特定或任務特定封存檔案,例如包含各種資料夾及訊息之電子郵件封存檔案,及一共用地址簿,其包含由各系統使用者自各種來源接收之連絡人資訊,其被組織於由使用者定義之群組中。最後,該電腦系統可被組態,以與其他電腦、使用者及裝置交換特定資訊集,例如待同步物件及將根據各種條件(讀取/寫入權限、所有權、配額,等等)准許對其進行存取之物件集。此等物件類型通常係由該電腦系統中之各種管理系統(例如,檔案系統、系統登錄儲存、使用者帳戶管理系統,以及電子郵件系統)以專用方式管理,存取方法或物件組織方式之一致性或標準化程度很低。
此等組成一電腦系統之大量不同物件在使用及管理電腦系統時會產生很多問題。作為一第一實例,此種電腦系統之一備份操作可能非常困難,此係因為該操作需要區分使用者資料與系統特定資訊。此種區別可能並不簡單;例如,應用程式組態資料可能已經由該使用者(其可能希望保留該組態)或由該應用程式安裝人員建立,而有關物件所有權之資訊(使用者可能希望對其進行保留)可能係根據使用者設定檔及由電腦系統所建模之帳戶定義。作為一第二實例,一使用者可能希望查詢該電腦系統,以找到符合一特定描述之物件,例如已經在上周內建立或更改之物件,但處理此查詢可能涉及許多物件儲存(例如,位於各種儲存裝置上之一或多個檔案儲存、系統登錄、瀏覽器快取及紀錄、儲存於一瀏覽器書籤集中之書籤,以及由一電子郵件系統管理之電子郵件訊息。)此等物件儲存可被作為資料倉庫進行管理,每一資料倉庫由具有一特定(且通常係擁有專利權)介面之不同系統進行管理,該等物件之間很少擁有共同性。作為一第三實例,該電腦系統之物件集可分散於幾個裝置之間,但由於該等裝置之不同組態、每一裝置之網路功能以及每一裝置用於交換資料之電傳格式不相容(例如,第一裝置可被組態為根據一XML結構交換資料,而一第二裝置可被組態為根據JSON交換資料),因此對該等物件集提供一致存取可能非常複雜。
在一種更詳盡之方案中,存在專門安排電腦系統物件之困難性,該方案係關於以一種與裝置無關之方式呈現一電腦系統。例如,一使用者可能希望在許多類型裝置上存取主機電腦系統,例如,經由一行動電話、經由一第二電腦系統(例如同一使用者所擁有之一筆記型電腦),以及經由一第三電腦系統(例如一共同存取終端機)上之瀏覽器。該使用者可能希望存取藉由該主機電腦系統所呈現之相同物件儲存,利用在該主機電腦系統上安裝且可供使用之相同應用程式,且體驗被組態於該主機電腦系統上之相同使用者介面。
該等物件於該主機電腦系統中之特定(ad hoc)安排在此種方案中造成許多困難。第一,該行動電話裝置可能擁有非常有限之運算資源,例如處理功能及系統記憶體,也許僅能儲存一小部分組成該電腦系統之物件集。此外,該行動電話裝置也許不能運行安裝在主機電腦系統上之強大應用程式,該使用者可能必須手動安裝相同應用程式之行動電話導向版本。第二,該筆記型電腦也許只能與該主機電腦系統進行零星網路通信。該使用者可能期望該筆記型電腦鏡射(mirror)該主機電腦系統,例如藉由在該等電腦系統之間安裝相同應用程式且同步對物件集之更改。但是,經由許多物件系統儲存許多類型之物件且將其儲存於許多位置,可能使同步過程變得複雜,該使用者也許只能在兩個機器之間實現該電腦系統之部分鏡射,且付出大量有意識之工作量(例如,由使用者驅動兩機器之間的檔案同步。)使用者可能還必須獨立於該主機電腦系統而安裝、組態該筆記型電腦之作業系統及應用程式,導致重複管理工作,且可能由於組態差別而導致電腦系統之不一致性。第三,該第三電腦系統之瀏覽器也許不能操作該主機電腦系統之物件,而且也許不能執行安裝於該主機電腦系統上之應用程式。
一種提供一致使用者體驗之方法涉及將裝置組態為一精簡型用戶端,其中該主機電腦系統將該使用者介面之輸出(包含顯示輸出及聲音輸出)發送至一裝置,該裝置將使用者輸入(包括鍵盤輸入及指標輸入)傳送回該主機電腦系統。儘管一精簡型用戶端方法可以提高經由多個裝置所提供使用者介面之一致性,但此種方法存在幾種缺點。第一,該體驗通常受網路容量之限制;例如,經由一精簡型用戶端介面播放電影時,可能需要嘗試以資料流方式在網路上傳送該電影,且使其具有即時效能,此可能並非可行。此困難係由於該電影在該精簡型用戶端裝置之本機不可用性所導致,該裝置僅係該主機電腦系統圖形介面之一可視入口。第二,每一使用者互動之網路潛時可能降低該運算體驗。使用者每次希望存取一物件時(即使是重複存取相同物件),該精簡型用戶端裝置向該主機電腦系統發出請求,以尋求回應。事實上,而許多精簡型用戶端之組態方式是:每一次按鈕都從該精簡型用戶端裝置發送至該主機電腦系統,被接收、處理,然後該裝置才能使用該按鍵之視覺結果,向使用者進行顯示。網路潛時導致物件存取及使用者輸入實現之滯後,其快速劣化該精簡型用戶端使用者體驗之效能。第三,該使用者體驗可能難以根據該精簡型用戶端裝置之資源而進行自訂。例如,一螢幕解析度有限之行動電話也許不能顯示該主機電腦系統之原生、大桌面空間。此外,該主機電腦系統可能不瞭解該精簡型用戶端裝置之限制(事實上,該主機電腦系統為了使用者體驗之一致性,可能會盡力在該裝置上呈現相同使用者介面及應用程式),而且也許不能在該精簡型用戶端裝置上組態一應用程式,以實現適當效能(例如,藉由組態運行於該主機電腦系統上之一網頁瀏覽器,以採用適於行動之方式呈現網頁,例如採用「無線應用通信協定」)。第四,在使用一不可用或零星網路連接時,此方法可能非常困難或者難以維持。使用者也許不願意接受對主機電腦系統之間斷存取,尤其是在如下情況下:該精簡型用戶端電腦系統具有等價系統資源(例如,一功能與該主機電腦系統類似之筆記型電腦),而且如果採用類似於該主機電腦系統之組態並且如果在本機儲存該物件集之一鏡射複本時,該筆記型電腦可以提供相同使用者體驗。
一種提供一致使用者介面之第二方法涉及一漫遊(roaming)設定檔,包括將使用者設定傳送至幾個類似組態裝置,以改進一自訂使用者介面之呈現。因此,連接至該漫遊設定檔伺服器之裝置可接收該使用者設定檔,且(例如)在一預設系統組態之上應用該等自訂組態。儘管一漫遊設定檔可能有助於改進一自訂使用者介面在許多裝置上之部署,但存在幾個缺陷,其限制了漫遊設定檔方法在一致使用者介面存取中之使用。第一,該漫遊設定檔通常限於系統組態(例如,應用程式及殼層設定)及使用者資訊(例如,使用者之名稱及安全權限),不能對其進行結構化以包含物件,例如按階層組織之檔案、應用程式二進位檔案及安全符記。第二,因為該漫遊設定檔被指定為一組將應用於該裝置原本組態上方之組態參數,所以僅對於採用類似方式組態之裝置才易於實現本方法。高效能工作站、小型筆記電腦裝置及行動電話之組態通常顯著不同,面向一此種裝置之漫遊設定檔在其他裝置上之應用可能受到限制,且可能由於錯誤組態而導致其他問題。例如,一特定使用者喜好設定(例如,為表示指標裝置之「按二下」操作,兩次按一下指標裝置之間之時間臨限值)可能會在不同裝置之間發生變化,但漫遊設定檔可能為了促進一統一使用者體驗,而不合需要地將一使用者喜好設定應用於所有此種裝置。此外,為一工作站設定之漫遊設定檔可能反映該使用者針對一德沃夏克(Dvorak)鍵盤組態之喜好設定,但將其中所包含之組態資訊應用於一行動電話,可能會導致以不可用方式重新排列文字輸入。第三,漫遊設定檔係經由一唯讀機制部署,且未被設計為接受對該運算環境之許多更改,在一運行會話期間通常會發生此等諸多更改。第四,漫遊設定檔最多可實現該等裝置及其中所儲存資料之一松散彙總,可能難以指定裝置相互關係之特定態樣(例如,應當每日將一行動電話之資料儲存備份至一網路上)。因此,儘管漫遊設定檔可以促進以一種更統一方式組態幾種類似裝置,但此種方法不能在多種互聯裝置之間提供統一使用者體驗。
與此等方法相對,本文所提供之方法涉及以某一方式表示一運算環境,其可以被提交給裝置,以根據該裝置之功能進行呈現。該表示包括一組物件,該等物件係根據一物件階層進行組織,且根據一共同文法進行表示。該等物件包括該電腦系統之資料物件,例如由該使用者建立之使用者檔案及資料。該等物件亦包括組成該作業系統組件(例如殼層)之可執行二進位檔案及類別函式庫,及其中所提供之應用程式。該等物件亦包括指定一運算環境使用者介面之資訊,包括殼層喜好設定(例如,可視主題、應用程式啟動選單及按二下臨限)、使用者帳戶及權限、安全資訊(例如,密碼、安全符記及憑證)、應用程式二進位及組態資訊、使用者資料及中繼資料(例如,檔案共用資訊)及資料快取(例如,最近使用之檔案清單及瀏覽器紀錄)。無須考量此等物件之各種本質及應用,該等物件在該物件階層中以一共同方式表示,且可在該階層中任意組織。因此,本方法中之物件階層以一種共同方式在該物件階層中組成所有此等物件,此種方式不同於包含一組分離資料儲存之上述系統,在上述系統中,每一資料儲存包含一種類型之物件(例如,包含檔案之檔案系統、包含組態資訊之登錄,以及包含瀏覽器紀錄之資料快取)。
以此種方式表示之運算環境可被傳送給任意裝置,且以適合於該裝置之功能的方式進行呈現。例如,一主要工作站可以將該資訊呈現為一種強健式通用運算環境,而一共同工作站可以經由一網頁瀏覽器呈現一不同運算環境體驗(例如,作為一將在該使用者會話末期被丟棄之虛擬機器),一行動電話可提供一簡約介面,其可以更快速地存取與行動電話相關之資訊(例如,連絡人、行事曆及導航資料)。此外,對該資訊集之更新(例如,喜好設定更改及對其中所包含資料檔案之更新)可被應用於該資訊集之主要來源,從而可以傳送至將向其提交該資訊集之所有其他裝置。此外,可經由該共用資訊集整合共用該運算環境之裝置,使一裝置可以與該資訊集中所識別之其他裝置進行交互;例如,儲存於一第一裝置上之資料可以由一第二裝置存取,一第一裝置可以由一第二裝置經由一通信渠道進行控制。因此,該資訊集可以識別共用該運算環境之裝置集合,以及每一裝置之角色、功能及資源,以在潛在大量不同裝置之間提供一積體運算體驗。
第1圖說明一例示性物件階層10之一部分,其可以包括諸如本文所揭示之一運算環境表示。由該例示性物件階層10所示部分表示之運算環境包括:諸如文字處理器及電子郵件用戶端之應用程式、一組使用者設定檔、諸如文件及影像之一組使用者資料、連絡人、行事曆項目,以及一組可於其上表示及表示該運算環境之裝置。此等物件包含具有不同語意屬性之不同資料類型,但被組織為一單一三樣式階層中之物件。此外,該等物件類型可被混合;例如,組成一應用程式(例如該文字處理器應用程式26)之物件可包括一些可執行二進位檔案28、一應用程式圖示30、某些字典集32,及一特定使用者之組態資訊34。相對於其他方法,在該物件階層方法中可更容易實現此種物件類型混合;例如,在一習知檔案系統中,此等組件可能分散放置,其中該可執行二進位檔案28位於一組件快取中,該應用程式圖示30及字典集32位於一檔案系統之不同位置,該組態資訊34位於一系統登錄中。
將組成一運算環境之物件表示為一物件階層,如第1圖中所示,有許多好處。作為一第一實例,該階層允許每一物件被單獨放置,且其操作方式類似於該運算環境中之其他物件。作為一第二實例,任意能夠存取該物件階層之裝置可以呈現一被類似呈現及組態之運算環境,該運算環境中包含以相同方式組織之相同資料。作為一第三實例,可以設計一服務,以類似方式操作組成該電腦系統之任意或全部物件。例如,一物件同步服務可被用於同步兩個物件階層(諸如在儲存於一物件階層伺服器上之物件階層與一裝置之間進行同步,已經在該裝置上加載了該物件階層,且在後來進行了更改)。該同步因此可以統一在兩個物件階層中所表示之全部物件,不僅僅是檔案及類似資料物件,而且包含對應用程式、使用者設定檔及安全符記之更改。因此,可以在兩個裝置之間共用一組使用者設定檔,其容易程度及所用機制與一檔案儲存中之文件集相同。作為一第四實例,使用者可以藉由向該物件集中添加任意物件,以任意資料擴充該運算環境之物件。例如,第1圖中例示性物件階層10之幾個物件係關於由該電腦系統使用者所開發之一類別專案。該等使用者於是可以將此等物件與一「學校關係」物件36相關聯,該物件36可儲存於該例示性物件階層10中,其位於該學校專案物件之下級。對該運算環境之一後續查詢可揭示該等「學校關係」物件36之位置及包含該等物件之物件的位置,從而關聯該連絡人集合18中之一連絡人、該使用者資料集20中之一資料夾,以及該行事曆集22中之一約會。因此,由該物件階層所表示之物件集的可擴充性使使用者能夠設計新品質,且將其應用於由該階層所表示之運算環境。
由此特性之運算環境表示可以實施一些優點,該等優點與以一標準方式表示該等物件相關聯,從而可以將該等物件一同表示於該物件階層中。但是,如果該等物件係根據某一具有特定結構約束條件之物件格式進行表示,則可能難以根據該物件格式表示特定類型之物件。例如,一物件格式可能被設計為:其中每一物件擁有一指明其名稱之字串。但是,某些物件可能是匿名的,而其他物件可能包含不能被彙總於單一字串中之複數個名稱。但是,如果此等物件沒有共同性,則其只能以純二進位格式表示,例如在一典型檔案系統中之情景。此外,採用此種方式之物件表示可能難以被串列,以進行通信。例如,可以採用一「二進位至文字編碼」機制對每一物件進行編碼(例如採用uuencode機制),但所產生之物件可能非常大,無效率可言,除了作為原始二進位物件之外,難以進行操作。或者,可以根據一種類型設計完善之系統來表示該等物件,例如典型的物件導向程式設計平臺。但是,此種方法限制了該物件階層之可擴充性,此係因為,僅當根據該類型設定系統進行定義時,自訂物件才可被儲存,而且可能沒有此等定義可供使用。
一種使用共同但內容無從驗證之方式表示該等物件之替代方法,涉及使用一簡單文法,其中一物件之組件可採用一種基本方式表示。例如,可以意識到物件通常包含三種類型之資料元件:元(單一資料單位,例如一個數字或一字元)、記錄(一同操作之單一資料單元集合),及序列(元件之彙總)。一記錄通常表示一元件集,此等元件之功能不可分,共同用作一表示,例如,數字7、4及1776合在一起表示日期「1776年7月4日」;而序列則表示一可分項目集,例如組成一質數子集之2、3、5及7。此外,該文法可被設計為具有遞迴,其可允許特定類型元件之巢狀(例如,序列之序列,或者一記錄包含一序列作為該記錄之一元件)。
第2圖說明一例示性文法40,其規定物件應被表示為元記錄之序列。該例示性文法40允許遞迴,使該物件可以不指定一元,而是指定另一元記錄序列,使該序列可以包含子序列,在深度結構化物件中經常會發生此種情況。於是,此種特性之文法可針對組織構成一物件之資料單元,而不是指定或約束其中所包含資料項目之類型。因此,該文法可定義一可遞迴基本表示格式,其中,可以採用一種內容無從驗證之方式進行儲存以此種方式表示之物件,但其具有某些共同性,其根據一種簡單、公用結構改進了該物件階層中之物件統一。
對於組成該物件階層之物件的此種文法表示,其第一重要優點係關於該組織之內容無從驗證特性。儘管許多習知電腦系統被組織為包含類似物件類型之資料倉庫(例如,一系統登錄包含登錄項目,一組件快取包含可執行二進位檔案,一檔案系統包含檔案,及一瀏覽器紀錄快取包含瀏覽器紀錄快取記錄),但由第2圖之例示性文法40所表示之物件階層並不受此限制。相應地,可根據該使用者之語意選擇對物件進行分組,而不是藉由該系統架構之任意技術組織進行分組。例如,一習知系統中之一應用程式可以被組織為:經由一組件快取之可執行二進位檔案、經由一檔案系統存取之某些補充程式檔案,以及經由一系統登錄存取之使用者組態資訊。但是,如第1圖之例示性物件階層10中所示,此等不同類型之物件可以被一起儲存及表示於該物件階層中。因此,根據該物件類型對運算環境之人為劃分可被減小。
對於組成該物件階層之物件的此種文法表示,其第二重要優點係關於該運算環境表示之可擴充性。在許多方案中,使用者可能希望向物件階層中添加自訂資料及物件,且可能希望擴充與一或多個物件相關聯之資訊,例如,經由使用者定義之中繼資料。作一第一實例,全新類型之物件可由不同使用者設計,並插入該物件階層中。只要該等物件係根據該可遞迴基本表示格式表示(例如,第2圖之例示性文法40中所實施之可遞迴序列/記錄/元組織),即使沒有指定此等物件將要遵循之更詳盡、內容特定結構,該等物件亦可被儲存於該物件階層中。此外,可被應用於該物件階層之服務,例如備份及同步服務,將是原型相容的,可以採用與其他物件相同之方式管理該等新自訂物件。作為一第二實例,使用者可能希望將中繼資料與物件相關聯,以指示具有一語意關係之物件。第1圖說明一此種方案,其中數個不同類型之物件與一類別專案相關聯,此種關係可藉由如下方式表示:格式化一自訂物件(一「學校關係」物件36),且將該物件插入該物件階層中,作為每一相關物件之下屬節點。此種中繼資料利用該使用者之值資訊補充該物件階層之物件,但不會影響該等物件及應用於該等物件之服務之表示。
第3圖說明上文所討論技術及方法之一具體實施例,其被設計為表示一運算環境之例示性方法50。該例示性方法50開始於52,涉及將該運算環境之物件表示54於一物件階層中,其中根據一遞迴基本表示格式(例如第2圖之例示性文法40)表示各別物件。在已經根據一可遞迴基本表示格式將該運算環境表示為一組結構化物件,且放置在一物件階層之後,該例示性方法50根據本文所述之方法實現該運算環境之表示,然後結束於56。
第4圖說明上文所討論技術及方法之另一具體實施例,其被設計為表示一運算環境之例示性系統60。該例示性系統60包括一運算環境物件儲存62,其被組態用於儲存組成該運算環境之物件。該例示性系統60還包括一運算環境表示組件64,其被組態用於將該運算環境之物件表示於一物件階層中,其中根據一可遞迴基本表示格式(例如第2圖之例示性文法40)表示各別物件。該例示性系統60還包括一運算環境服務集66,其又包含至少一運算環境服務,該(等)服務被組態用於操作該運算環境之物件。採用此種方式組態之組件隨後產生一例示性系統60,用於根據本文所述之方法表示一運算環境。
本文所述之運算環境表示可以在幾種態樣中變化,某些變體可呈現附加好處及/或減少此等及其他技術之各種變體的缺陷。此等變體可單獨或聯合整合於此等方法之許多具體實施例中,例如第3圖之例示性方法50及第4圖之例示性系統60。
一可在此等方法之實施方式中變化之第一態樣,係關於該等物件之結構化表示,其符合該可遞迴基本表示格式。如在第2圖例示性文法40之描述中所指出,可根據組成該物件之資料單元的結構表示該等物件,例如作為元記錄之可遞迴序列。此結構化表示允許採用一內容無從驗證方式組織組成該物件之資料單元,而不需要規定該等資料單元之特性(例如,類型、名稱及有效性)。此結構化表示還有利於提供一種簡易方式,用於將此等物件轉換為任意表示格式,例如XML、JSON、YAML、二進位或文本串列等之任一者。但是,可設計其他可遞迴基本表示格式,其中一部分可提供更一致之結構,例如一些已定義之原型(但其可能影響可藉以表示之物件多樣性),而其中一部分可提供更大之靈活性(但其可能影響服務可操作物件之表示共同性)。此技術領域之一般技術者可設計許多可遞迴基本表示格式,可根據本文所討論之方法,以該等格式表示一運算環境中之物件。
可在此等方法之實施方式中變化之第二態樣,係關於該物件階層之組織。作為一實例,且如第1圖之例示性物件階層10中所示,該等物件之結構化格式可包括一習知樹結構,包括一根節點,該根節點包含其他節點,該等其他節點又可包含另外一些其他節點,以此類推。此種物件階層組件模型將每一物件限制於該物件階層之單一位置,此種方式在以下操作中可能是有利的:採用一致方式識別物件(例如,兩個位於該物件階層中不同位置之物件可以被假定為包含兩個不同物件),以及藉由遞迴遍歷該樹結構之節點而列舉該物件階層之物件。此物件階層組織模型還可反映與習知表示格式(例如,XML及JSON)之相似性,可支援將該物件階層很容易地轉換為此等表示格式(再次指出,無須考慮其中所組織物件之特性)。但是,其他物件階層組織模型可與本文所述方法相容,在特定態樣中可能符合需要。作為第一實例,一物件階層可被組織為一有向非循環圖形,使得位於該圖形一節點之物件可在該圖形中擁有兩個以上父系節點。此種組織可能會削弱一樹狀結構之某些優點(例如,可藉由該圖形中之複數個階層路徑而識別一物件,因此,位於該物件階層中不同位置的兩個物件可以不被認為是包含兩個不同物件)。但是,此種組織可允許一物件出現在多個位置,此種方式對於某些物件集合是有利的,且可避免單一物件在多個位置之冗餘儲存。作為一第二實例,一物件階層可被組織為一部分無方向圖形,例如一樹狀結構,其中處於相同級別之兩個節點可能是兄弟關係。例如,在第1圖之例示性物件階層10中,被組織於單一節點之下的物件可被關聯,形成一物件群組;例如,一些儲存於標題為「披頭四」之媒體資料夾中的聲頻物件可以被相關鏈結,以表示一專輯。此技術領域之一般技術者可以設計許多物件階層組織模型,且將其用於本文所討論方法之具體實施例中。
可在此等方法之實施方式中變化之第三態樣,係關於表示該運算環境表示之不同方式。該運算環境表示經常可以表示為一完整物件集,其組成該運算環境之整個物件階層。但是,該表示亦可調整,例如,藉由添加或刪除詳細資訊、重新排列或省略該物件階層之某些部分,以及將該表示轉換為該可遞迴基本表示格式之外的表示格式。
該運算環境之第一轉換實例係關於在該運算環境表示中所提供的詳細資訊數目。一系統可被組態,以儲存組成該運算環境之物件階層的所有物件(例如,在第4圖例示性系統60之運算環境物件儲存62中),但是,在特定情況下,可以僅表示該物件階層之一部分,僅表示在其中所組織物件之一子集。
許多方案可能促使此種部分表示。作為一第一方案,可以理解,組成一運算環境之數目眾多、規模龐大、品種繁多之物件可能需要數量非常可觀之儲存空間。許多裝置可能沒有足夠容量來儲存該完整表示,例如一行動裝置,其特徵在於有限數量之固態儲存。相應地,在向一裝置表示該運算環境時,可根據該裝置之容量調整該表示。
作為一第二方案,一需要該運算環境之裝置可能只是不需要該物件階層中之某些物件,可以出於便利而將其省略。例如,對於行動電話裝置,第1圖例示性物件階層10之表示可以省略被組態用於其他類型裝置之應用程式二進位檔案,例如工作站二進位檔案及瀏覽器二進位檔案。
作為一第三方案,一裝置可能經由頻寬有限之通信通道與儲存完整表示之系統進行通信。事實上,即使是相當快速之網路連接亦不能即時傳送該運算環境之完整表示。例如,經由一最大理論傳輸率為6.75百元字元/秒(不考慮網路額外負擔)之802.11g無線連接來傳送一個100GB運算環境表示,可能需要佔用四個小時的專用、完全飽和頻寬。
作為一第四方案,可以為一不受信任之使用者(例如,訪客,或者僅對該運算環境具有有限存取權限之使用者)或者一不受信任之裝置(例如一共同終端)表示該運算環境。可能希望限制對該物件階層中特定物件或特定部分之存取。因此,物件階層之部分可能會由於權限不足而被識別為受限,或者可以被模糊,使該受限方案不可偵測,該物件階層之該等物件及被省略部分可能只是不可見。相應地,該表示根據使用者進行調整。
作為一第五方案,該物件階層之一部分可能不是由主控該運算環境表示之系統儲存,而是可能儲存於其他位置。例如,組成該物件階層之部分物件可能被儲存於不同裝置上,可以從裝置中擷取,且包含於該表示中(當儲存此等物件之裝置係可及且可通信時)。例如,一運算環境可被表示為一個包含一連絡人集(例如第1圖之例示性物件階層10之連絡人集合18)之物件階層,其儲存於一行動電話裝置上。該等物件可能是可擷取的(也可是不可擷取的),但在做出擷取請求之前,該運算環境表示可省略該物件階層中之此等物件及此等節點,且可以引用該等物件所在物件儲存,且可以根據請求被擷取。
在此等及其他方案中,可以採用劃分方式表示該運算環境,僅包含該物件階層之一部分或者其中所組織物件之一部分。一種實現此種劃分之方式係將該物件階層之一或多個節點表示為一未擴展節點,該節點之物件及該節點之下屬(子)節點被省略。該未擴展節點可同樣被顯示於在該表示中。作為一第一實例,在為一擁有某功能(例如一裝置儲存容量)之裝置表示該運算環境時,可以將該運算環境表示為至少一種運算環境表示中具有未擴展節點,以限制被表示之運算環境大小,使其不超出該裝置儲存容量。作為一第二實例,在為一使用者表示該運算環境時,該運算環境可為該使用者指定一使用者帳戶,且該運算環境為該使用者帳戶指定對該運算環境之物件的存取權限。在此情況下,可藉由以下方式調整該運算環境表示:使用至少一未擴展節點表示該運算環境,該節點表示該物件階層之一部分,根據該使用者帳戶之存取權限,將該使用者限制於該部分之外。
此外,可以將該未擴展節點指示為可根據請求進行存取,主控該運算環境完整表示的系統可被組態,以接收且處理請求,用於擴展該未擴展節點。例如,第4圖之例示性系統60可被組態,在接收到擴展一未擴展節點之請求時,提供該未擴展節點之物件。該系統還可以藉由表示該物件階層之下屬節點而擴展該節點。作為一種候選方式,該系統可以藉由擴展該節點而回應此種請求,但將該節點之某些下屬(子)節點表示為未擴展節點,在以後可以請求擴展此等節點。作為一第二候選方式,該系統可以拒絕擴展該節點,例如,如果由於對該物件階層之一未擴展部分的存取受限,而以一種未擴展方式表示該節點。作為一第三候選方式,如果一未擴展節點引用該等物件所在之物件儲存(例如,另一裝置),則可向該物件儲存發出請求,以獲取該未擴展節點之物件;如果該物件儲存可以接達且提供經省略之物件,則在接收到來自該資料儲存之物件時,可以回應該請求而提供該等物件,以補充該物件階層且擴展該未擴展節點。
第5圖說明一第一例示性運算環境表示72之一實例70,其具有三個未擴展節點:由於大小考量而被省略之第一未擴展節點74、由於存取權限不足而被省略之第二未擴展節點76,以及由於該物件之分散儲存而被省略之第三未擴展節點78,以及其包含在該運算環境中一裝置(在此方案中,係一行動電話裝置)上之下屬節點。在該第一物件表示72中,該等未擴展節點被顯示為未擴展的,且可請求對其進行擴展。該第二例示性運算環境表示80說明請求擴展該第一未擴展節點74之結果,得到一個被更全面表示之運算環境。但是,該第一未擴展節點74之某些下屬節點仍然被表示為未擴展節點(出於未指明原因),但可在以後請求對其進行擴展。該第三例示性運算環境表示82說明請求擴展該第二未擴展節點76之結果,其中該擴展由於存取權限不足而被拒絕。主控該運算環境之系統可以(如第5圖中所示)返回一錯誤標記,例如一次例外,可以只是拒絕擴展該節點,及/或可以將該節點表示為空,沒有下屬節點。該第四例示性運算環境表示84說明請求擴展該第三未擴展節點78之結果,導致向主控該第三未擴展節點78之物件儲存(即該行動電話裝置)發出一請求,且使用所返回之物件補充該運算環境表示。該請求可由主控該運算環境表示之系統發出,或者由請求擴展該第三未擴展節點78之裝置發出。後一請求可受以下資訊支援:由主控該運算環境表示之系統所授予之權限指示,及/或將方案請求裝置或使用者確認為無安全問題之請求驗證,主控該第三未擴展節點78之裝置在提供該第三未擴展節點78之物件之前,可以檢查及驗證此等安全憑證。此技術領域之一般技術者也許能夠設計許多方案,用於表示該物件階層中之未擴展節點,還可以設計許多方法,用於接收、處理及回應關於擴展該等未擴展節點之請求,同時實施本文所討論之方法。
該運算環境表示之一第二調整實例係關於符合一資料交換格式之表示表達式。許多協定已經被設計及可以被設計用於表示一物件階層中之物件,該等協定例如為XML、JSON、YAML、二進位串列以及文字串列。此等及其他資料交換格式具有不同優點及缺陷,例如可延伸性、結構轉換容易、緊湊、以各種服務作為補充(例如,XPath查詢及XSL轉換)、與其他資料交換格式(例如XHTML)之不相容性,以及在各種語言(例如,Python及Perl)中之支援程度。此外,大多數資料交換格式能夠表示根據一遞迴基本表示格式最少原理所組織之巢狀物件(例如,被組織為元、記錄及序列之資料單元表示)。
第6圖說明兩個從一遞迴基本表示格式向兩種資料交換格式之此種轉換:XML及JSON。第6圖之實例90以一例示性物件階層92之一部分作為開始,該部分包含一文字處理器應用程式之資料項目,包含應用程式二進位檔案、應用程式圖示、字典,以及一特定使用者之組態檔案。與第1圖之例示性物件階層10相對,此表示係根據一序列/記錄/元遞迴基本表示格式示出,其中元被表示為方塊、記錄被表示為元之彙總(由虛線分割),序列被表示為該物件階層樹狀表示中一序列封裝元件之下屬節點。由於該例示性物件階層92元件之序列/記錄/元組織,可以應用轉換,以在各種不同資料交換格式中表示相同組織概念。可以應用一第一轉換,以將該例示性物件階層92格式化為一XML表示94,在此格式中,記錄被表示為一封閉元件(<record>及</record>),其將該記錄之元封裝為空節點(<atom/>),序列被表示為一封裝元件(<sequence>及</sequence>),其封裝該序列之元件(<binary>...,<binary>...,<dictionary>...,等等)。類似地,可以應用一第二轉換,以將該例示性物件階層92格式化為一JSON表示96,其符合該JSON約定慣例,用方括弧表示一記錄("binary":[...]),用大括弧表示一序列("applications":{...})。還可開發其他轉換,以自動將一物件階層從該遞迴基本表示格式轉換為另一資料交換格式,而在該物件階層之內容方面不會損失資訊或複雜性。該領域之一般技術者可設計許多方法,用於將該遞迴基本表示格式轉換為其他格式,同時實施本文所討論之方法。
該運算環境表示之一第三調整實例係關於產生根據一平臺表示結構化之類別實例(instance),其中此等類別實例被表示於該物件階層中。許多運算平臺支援類別定義,其可以指定不同成員項目、方法、事件、介面及針對該類別成員之安全/存取細節。被組態用於在此等平臺上操作之運算環境可將此等類別之實例封裝於所表示之物件階層中,可能希望從該物件階層產生類別實例。例如,第1圖之例示性物件階層10包括一連絡人集,一運算平臺可為一連絡人定義一類別,其包括連絡人姓名、電子郵件地址及不同電話號碼等欄位。該例示性物件階層10於是可被呈現為該Contact類別之兩個類別實例:一實例用於名為Monica之連絡人,一實例用於名為Loreto之連絡人。相應地,此等方法之一具體實施例(例如第3圖之例示性方法50,或者第4圖之例示性系統60)可包括將該運算環境之物件整理為至少一平臺表示格式之類別的實例。此整理可由該運算環境表示之主機執行,此等類別實例隨後可被串列化,以經由一通信通道傳送至包含該平臺表示之裝置。或者,該整理可在一裝置上執行,該裝置主控於其中定義該等類別之平臺;此種方式具有一優點,允許該運算環境之主機可以採用一平台無從驗證方式提交該運算環境表示,且將該類別實例之整理委託至主控該平臺之裝置。此領域之一般技術者也許能夠針對本文所討論之方法,設計類別實例整理之許多用法。
可在此等方法之實施方式中變化之第四態樣,係關於該表示之更改。在許多情況中,一裝置上運算環境之工作階段可導致該運算環境之更改,例如建立該物件階層之物件或新部分、更新該物件階層之一物件或一部分,或者刪除該物件階層之一物件或一部分。事實上,既然在一般應用之短工作階段期間,亦可對該運算環境進行大量更改,其中該運算環境包括常用快取,例如瀏覽器紀錄及最近使用之項目清單。該等更改可被儲存於該裝置本機,但在該等更改被傳播至該運算環境表示主機之前,其他裝置不會看到該等更改(例如以下情況例外:該物件階層之被更改部分被委託,以儲存於該裝置之物件儲存中)。
相應地,此等方法之具體實施例也許能夠接收該等更改,且將其應用至該運算環境表示。例如,被組態用以儲存該運算環境表示之系統(例如第4圖之例示性系統60),可包括一運算環境更改組件,其被組態用以接收至少一運算環境更改,以根據該運算環境更改修改該物件階層。作為一第一實例,該更改指定刪除該運算環境中所表示之物件(例如,檔案),則執行該刪除之裝置可向主控該運算環境表示之系統通知該刪除操作,該系統可自該物件階層中移除該等被刪除物件。作為一第二實例,可以操作主控一平台之裝置,以根據該平臺所定義之類別,建立新類別實例(例如,根據一Contacts類別建立一新的Contact類別實例)。該裝置可串列該新類別實例,且將其傳送給主控該運算環境表示之系統,其可將新物件插入該物件階層中,其對應於組成該類別實例之資料。在此實例中,將該類別實例轉換為一符合該可遞迴基本表示格式之物件表示係有利的,以與該物件階層其他物件之表示保持一致。此轉換可執行於該裝置上,或者執行於主控該運算環境表示之系統上,等等。此領域之一般技術者也許能夠設計許多更改該物件階層之方式,以反映該運算環境之變化,同時實施本文所討論之技術。
可以此等方法之實施方式中變化之第五態樣係關於一些服務,該等服務可被應用於組成該運算環境之物件及物件階層。該運算環境表示中所包含之各物件種類可能非常豐富,包括資料檔案,例如影像、使用者設定檔資訊、密碼、應用程式二進位及各種資料快取。但是,因為該物件環境之物件係根據一可遞迴基本表示格式儲存,所以可以應用一服務集,以類似方式管理該運算環境之物件。例如,可以設計一同步服務,以將一物件階層(例如在負責主控該運算環境之伺服器上所儲存的物件階層)之部分或全部同步至另一物件階層(例如儲存於一裝置上之物件階層,在該裝置上執行該運算環境之工作階段時對該物件階層進行了更改)之部分或全部。可以採用多種方式執行該同步,例如單向同步(使一物件階層匹配另一物件階層)、根據更新日期之雙向同步、根據使用者選擇之雙向同步,等等。可以設計一備份服務,以在一歸檔裝置(例如一磁帶驅動器)上產生且儲存一物件階層之全部或差異式映像。可以設計一查詢服務,以識別該物件階層中匹配一特定說明之物件(例如,找出第1圖之例示性物件階層10中所有包含「學校關係」物件36之物件,並將其表示為與該類別專案相關;此查詢可以識別出「Loreto」連絡人物件、「類別專案」資料夾物件,以及滿足約會物件之2009年1月1日類別)。可以設計一共用服務,以將對該物件階層各部分之各種存取類型擴展至各種類型之使用者及裝置;例如,該等物件中之一部分可以與任何操作任意類型裝置之訪客使用者公開共用,其擁有唯讀存取權限,而某些其他物件可由操作一經驗證裝置集之經驗證使用者集合存取,其具有讀取/寫入存取權限。可以設計一物件事件報告服務,以記錄及報告對部分及全部該物件階層之更改,例如,新建、更改或刪除儲存於一特定資料夾中之檔案。
因為此等服務對根據該遞迴基本表示格式表示之物件進行操作,所以該等服務可被組態,以統一方式應用於類型顯著不同之物件;例如,可以像同步各種檔案儲存中之檔案那樣,經由一同步服務同步各裝置中之一使用者設定檔。相應地,此等方法之具體實施例(例如,第3圖之例示性方法50及第4圖之例示性系統60)可包括一運算環境服務集,其可包括以下服務中之至少一者:物件備份服務、物件同步服務及物件事件報告服務。此等服務可以在主控該運算環境表示之系統上提供,可以被(自動及/或手動)組態,以向該物件階層應用各種操作,用於維護、保證安全、提供最終使用者服務,等等。
上文所討論之態樣變體亦可以組合實施,以提供目前所討論之數種優點,以及減少目前所討論之數種缺點。一此種組合示於第7圖中,說明一用於表示運算環境之例示性系統110。該例示性系統110包括一運算環境物件儲存112,其被組態用以儲存組成該運算環境之物件的物件階層114,其中各別物件係根據一可遞迴基本表示格式進行表示,該格式包含可遞迴元記錄序列。該等組成該物件階層114之物件可由該例示性系統110(例如一工作站126)之各種組件存取,以呈現由該例示性系統110表示之運算環境且與其互動。
為促進此種存取,一具有此特性之系統(例如第7圖之例示性系統110)包括一運算環境表示組件116,其被組態用以接收一請求(例如,從工作站126接收),請求該運算環境指定一資料交換格式,以將該物件階層114從該可遞迴基本表示格式轉換為該資料交換格式,且回應該要求,提供經轉換後之物件階層。該例示性系統110還包括一運算環境節點擴展組件118,當其接收到一請求,要求擴展一表示該物件階層114之物件的未擴展節點時,其被組態用以提供該物件。該例示性系統110還包括一運算環境外部物件儲存存取組件120,其在接收到一請求,要求擴展表示該物件階層114中一物件的未擴展節點且引用一外部物件儲存(例如一行動電話裝置128)時,其被組態用以從該外部物件儲存128請求該物件,且在從該外部物件儲存128接收到該物件之後,回應該請求提供該物件。該例示性系統110還包括一運算環境更改組件122,其被組態用於接收至少一運算環境更改,以將在該運算環境更改中所表示之物件轉換為根據該可遞迴基本表示格式之物件表示,且根據該運算環境更改修改該物件階層。該例示性系統110還包括一運算環境服務集124,包括至少一運算環境服務,其被組態用以操作該運算環境之物件(例如,一物件查詢服務、一物件鏡射服務及一物件同步服務)。因此,以此種方式組態之系統可以向各種裝置提供一可部署、一致性及可擴展運算環境表示。但是,該領域之一般技術者也許能夠設計許多此等系統,同時實施本文所討論之方法。
考量到上述方法及變體,可以理解一物件階層之此種公式化及管理支援一可部署運算環境採用一致方式操作於各種裝置上。第8圖說明一此種方案130,其中該運算環境可以由一運算環境主機132主控,該主機132可儲存及管理一物件階層134。該運算環境主機132亦可採用不同方式為各種裝置呈現該物件階層134,該等裝置例如為行動電話裝置136、個人筆記型電腦140及一共同工作站144,還可以為具有不同存取權限之不種類型使用者呈現該物件階層134。該運算環境之呈現於是反映了所有裝置上之一致運算環境,該等裝置公開相同應用程式、使用者設定檔、殼層組態、使用者資料物件,等等。因此,一使用者可以經由一高效能筆記型電腦存取該運算環境之一全功能版本142,在一低功率行動電話裝置136上存取該運算環境之一精簡版本138,經由一共同終端機144之一網頁瀏覽器146存取該運算環境之一瀏覽器相容及隱私導向版本148。就每一此種裝置支援運算環境呈現之能力而言,可以根據每一裝置之能力而調整該物件階層134之呈現,從而呈現一致使用者介面及資料集。對運算環境之更新可被傳回該運算環境主機132,且可自動與其他裝置同步。該等各種裝置亦可以合作:與其他裝置共用本地所儲存之資料,控制其他裝置或者受其他裝置控制。因此,該運算環境可被設計及呈現為一雲(cloud)運算架構,包含一裝置無關表示(「雲」),其被表示為所有裝置(「用戶端」)上之一致呈現,該等裝置構成至該同一運算環境之協作入口網(具有裝置特定屬性)。此外,該運算環境主機132可將服務應用於組成該物件階層134之各種物件,該基於物件之階層組織及可遞迴基本表示格式可以促進該等服務之一致可用性及應用,而無須考量將向其應用之物件特性。此領域之一般技術者可瞭解此種雲計算架構相對於主機架構、桌面式專用架構、用戶端/伺服器架構及精簡型用戶端架構所提供之幾種優點,及其所減少之缺點。
第9圖及下文之討論簡要、概括性地描述了一種適當運算環境,用以實施本文所列之一或多種裝置之具體實施例,例如第8圖之運算環境主機132或被組態用於呈現該運算環境之裝置,例如,個人筆記型電腦140。第9圖之操作環境只是一合適操作環境之實例,無意於對該操作環境之應用及功能範圍進行任何限制。實例運算裝置包括,但不限於,個人電腦、伺服器電腦、手持式或膝上型電腦、行動裝置(例如,行動電話、個人數位助理(PDA)、媒體播放器,及類似裝置)、多處理器系統、消費型電子產品、微型電腦、主機電腦、包括任意上述系統或裝置之分散式運算環境,及類似裝置。
儘管非為必需,但是在可由一或多個運算裝置執行之「電腦可讀指令」一般上下文描述該具體實施例的。電腦可讀指令可經由電腦可讀媒體(下文進行討論)散佈。電腦可讀指令可被實施為程式模組,例如,函數、物件、應用程式設計介面(API)、資料結構及類似模組,其可執行特定工作或實施特定抽象資料類型。典型地,該等電腦可讀指令之功能可根據各種環境需要為組合式或分散式。
第9圖說明一系統150之實例,其包括一運算裝置152,被組態用以實施本文所提供之一或多個具體實施例。在一組態中,運算裝置152包含至少一處理單元156及記憶體158。根據運算裝置之確切組態及類型,記憶體158可以是揮發性(例如,隨機存取記憶體)、非揮發性(例如唯讀記憶體、快閃記憶體等),或者其兩者之組合。此組態於第9圖中以虛線154示出。
在其他具體實施例中,裝置152可包含附加特徵及/或功能。例如,裝置152還可以包含附加儲存(例如,可抽換及/或不可抽換),該等儲存裝置包含但不限於磁儲存、光儲存,及類似裝置。此附加儲存在第9圖中由儲存器160表示。在一具體實施例中,用以實施本文所提供之一或多種具體實施例之電腦可讀指令可儲存於儲存器160中。儲存器160亦可儲存其他電腦可讀指令,以實施作業系統、應用程式,等等。電腦可讀指令可被載入記憶體158中,例如由處理單元156執行。
本文所用「電腦可讀媒體」一詞包括電腦儲存媒體。電腦儲存媒體包括揮發性和非揮發性、可抽換式和不可抽換式媒體,其以任意方法或技術實施,用於儲存諸如電腦可讀指令或其他資料之資訊。記憶體158及儲存器160均係電腦儲存媒體之實例。電腦儲存媒體包含但不限於隨機存取記憶體、唯讀記憶體、電可抹除可程式化唯讀記憶體、快閃記憶體或其他記憶體技術、CD-ROM、通用數位光碟(DVD)或其他光學儲存、磁卡、磁帶、磁片儲存或其他磁儲存裝置,或者可用於儲存所期望資訊及可由裝置152存取之任意其他媒體。任意此種電腦儲存媒體可以是裝置152之一部分。
裝置152亦可包括通信連接166,其允許該裝置152與其他裝置通信。通信連接166可包括但不限於一數據機、網路介面卡(NIC)、一整合網路介面、一射頻發送機/接收機、一紅外埠、一USB連接,或其他用於將該運算裝置152連接至其他運算裝置之介面。通信連接166可包括一有線連接或一無線連接。通信連接166可傳送及/或接收通信媒體。
「電腦可讀媒體」一詞可包括通信媒體。通信媒體通常實現一「調變資料訊號」(例如一載波或其他傳輸機制)之電腦可讀指令或資料結構,且包括任意資訊傳送媒體。「調變資料訊號」一詞可包括一訊號,其一或多個特徵以某種方式設定或變化,以將資訊編碼到該訊號中。
裝置152可包括輸入裝置164,例如鍵盤、滑鼠、輸入筆、語音輸入裝置、觸控輸入裝置、紅外攝影機、視訊輸入裝置及/或任意其他輸入裝置。裝置152中亦可包含輸出裝置162,諸如一或多個顯示器、揚聲器、印表機及/或任意其他輸出裝置。輸入裝置164及輸出裝置162可經由有線連接、無線連接或其任意組合方式連接至裝置152。在一具體實施例中,來自另一運算裝置之輸入裝置或輸出裝置可被用作運算裝置152之輸入裝置164或輸出裝置162。
運算裝置152之組件亦可藉由各種互連(例如匯流排)連接。此等互連可包括周邊組件互連(PCI),例如PCI Express、通用串列匯流排(USB)、firewire(IEEE 1394)、一光學匯流排結構,及類似連接。在另一具體實施例中,運算裝置152之組件可藉由一網路互連。例如,記憶體158可包括位於不同實體位置、由一網路互連之多個實體記憶體單元。
熟習此項技術者認識到用於儲存電腦可讀指令之儲存裝置可以被分散在一網路上。例如,可經由網路168存取之運算裝置170可儲存電腦可讀指令,以實施本文所提供之一或多種具體實施例。運算裝置152可存取運算裝置170,且下載部分或全部電腦可讀指令,以進行執行。或者,運算裝置152可以根據需要下載該等電腦可讀指令之片斷,或者部分指令可在運算裝置152上執行,而其他部分在運算裝置170上執行。
儘管已經採用結構特徵及/或方法性操作的專用語言描述了本發明,但應理解,於隨附申請專利範圍內限定之本發明不必限制於上文所述之特定特徵或操作。相反,上述特定特徵及操作被作為實施該等請求項之實例形式而揭示。
當使用於此申請案中時,「組件」、「模組」、「系統」及「介面」等詞意通常是指一電腦相關實體,或者為硬體,或者為硬體與軟體之組合,或者為軟體,或者為執行中之軟體。舉例而言,一組件可以包括但不限於運行於一處理器上之處理序、一處理器、一物件、一可執行文件、一執行緒、一程式及/或一電腦。藉由說明之方式,運行於一控制器上之應用程式及該控制器均可以為一組件。一或多個組件可駐存於一處理序/或執行緒中,一組件可位於一電腦及/或分散於兩或多個電腦中。
此外,可以使用標準程式設計及/或工程技術將所主張之標的物實施為一方法、裝置或製品,以產生軟體、韌體、硬體或其任意組合,以控制一電腦來實施所揭示之標的。本文中所使用之「製品」一詞希望包含可自任意電腦可讀裝置、載體或媒體存取之電腦程式。當然,熟習此項技術者將會認識到在不背離所主張標的物之範圍或精神的情況下,可以對此組態進行許多修改。
本文提供具體實施例之各種操作。在一具體實施例中,所描述之一或多種操作可構成儲存於一或多個電腦可讀媒體上之電腦可讀指令,當由一運算裝置執行該等指令時,可以使該運算裝置執行所描述之操作。對部分或全部操作進行描述之次序不應被理解為暗指此等操作必須與次序相關。熟習此項技術者應瞭解,替代順序亦可實現本說明書之好處。此外,應理解並非所有操作都必須出現在本文所提供之每一具體實施例中。
此外,「例示性」一詞在此文中用於表示用作一實例、事例或說明。在本文中作為「例示性」進行說明之任意態樣或設計不必被解釋為優於其他態樣或設計。相反,使用「例示性」一詞係意欲以一具體方式呈現概念。當用於本申請案時,「或」一詞意指包含意義之「或」,而非獨佔性意義之「或」。即,除非另行指明,或者除非從上下文中可以清楚瞭解,否則,「X採用A或B」意指任一自然包含性替換。即,如果X採用A;X採用B或者X同時採用A及B,則在任意前述情況下均滿足「X採用A或B」。此外,在本申請案及隨附申請專利範圍中所使用之「一」或「一個」,除非另行指明或者從上下文中清楚地看出係針對單一形式,否則應當被一般性地理解為「一或多個」。
另外,儘管已經針對一或多個實施方式示出及描述了本揭示案,但根據對本說明及隨附圖式之閱讀及理解,其他熟習此項技術者可以瞭解等價更改及修改。本揭示案包括所有此等修改及更改,且僅受如下申請專利範圍之範圍限制。尤其係針對由上述組件(例如,元件、資源,等等)所執行之各種功能,除非另行指明,用於描述此等組件之術語希望對應於任意執行所述組件之指定功能的組件(例如,其在功能上等價的),即使在結構上與執行本揭示案所示例示性具體實施功能之結構不等價。此外,儘管可能已經僅針對幾種實施方式之一種來揭示一本發明之特定特徵,但此特徵也可根據需要與本發明其他實施方式之一或多個其他特徵結合,其有利於任意既定或特定應用。此外,關於該詳盡說明或申請專利範圍內所使用之「包含」、「擁有」、「具有」等詞,該等術語與「包括」等含義類似。
10...例示性物件階層
18...連絡人集合
20...使用者資料集
22...行事曆集
26...文字處理器應用程式
28...可執行二進位檔案
30...應用程式圖示
32...字典集
34...特定使用者之組態資訊
36...「學校關係」物件
40...例示性文法
50...例示性方法
60...例示性系統
62...運算環境物件儲存
64...運算環境表示組件
66...運算環境服務集
70...實例
72...第一例示性運算環境表示
74...第一未擴展節點
76...第二未擴展節點
78...第三未擴展節點
80...第二例示性運算環境表示
82...第三例示性運算環境表示
84...第四例示性運算環境表示
90...實例
92...例示性物件階層
94...XML表示
96...JSON表示
110...例示性系統
112...運算環境物件儲存
114...物件階層
116...運算環境表示組件
118...運算環境節點擴展組件
120...運算環境外部物件儲存存取組件
122...運算環境更改組件
124...運算環境服務集
126...工作站
128...行動電話裝置
130...方案
132...運算環境主機
134...物件階層
136...行動電話裝置
138...運算環境之一精簡版本
140...個人筆記型電腦
142...運算環境之一全功能版本
144...共同工作站
146...網頁瀏覽器
148...運算環境之一瀏覽器相容及隱私導向版本
150...系統
152...運算裝置
154...組態
156...中央處理單元
158...記憶體
160...儲存器
162...輸出裝置
164...輸入裝置
166...通信連接
168...網路
170...運算裝置
第1圖說明一例示性物件階層,其表示一運算環境。
第2圖說明一例示性文法,可藉由該文法表示組成一物件階層之物件,該物件階層表示一運算環境。
第3圖係一流程圖,其說明表示一運算環境之例示性方法。
第4圖係一組件方塊圖,其說明表示一運算環境之例示性系統。
第5圖說明一例示性物件階層之未擴展節點之某些例示性擴展。
第6圖說明根據各種資料交換格式對一例示性物件階層進行某些例示性轉換。
第7圖係一組件方塊圖,其說明表示一運算環境之另一例示性系統。
第8圖說明一運算環境主機與各種運算環境呈現裝置之間的例示性互動。
第9圖說明一例示性運算環境,可於其中實施本文所列出之一或多種態樣。
110...例示性系統
112...運算環境物件儲存
114...物件階層
116...運算環境表示組件
118...運算環境節點擴展組件
120...運算環境外部物件儲存存取組件
122...運算環境更改組件
124...運算環境服務集
126...工作站
128...行動電話裝置

Claims (17)

  1. 一種表示一運算環境之方法,該方法包括以下步驟:以一物件階層來表示該運算環境之物件,各別物件係根據一可遞迴基本表示格式(recursable base representation format)來進行表示,至少一物件係經表示為一未擴展節點,且該運算環境之該等物件包含:至少一應用程式二進位檔案,該至少一應用程式二進位檔案係表示至少一應用程式;針對至少一應用程式之至少一應用程式設定;至少一使用者帳戶,該至少一使用者帳戶係表示該運算環境之至少一使用者;該至少一使用者之至少一安全識別符;及至少一硬體元件,該至少一硬體元件在該運算環境中係為可存取;及一經接收針對擴展一未擴展節點之一請求,即提供在該未擴展節點中之至少一物件。
  2. 如申請專利範圍第1項所述之方法,該可遞迴基本表示格式包括一可遞迴元記錄序列。
  3. 如申請專利範圍第1項所述之方法,該物件階層係經表示為XML。
  4. 如申請專利範圍第1項所述之方法,其中該未擴展節點係引用一包含該未擴展節點之該物件的物件儲存,以及該方法包括以下步驟:一經接收到擴展引用一物件儲存之一未擴展節點的請求:即從該物件儲存中請求該物件,及一經自該物件儲存接收到該物件,即提供該物件以回應該請求。
  5. 如申請專利範圍第1項所述之方法,其中該運算環境係經表示至一裝置,以及根據該裝置之功能來調整該表示。
  6. 如申請專利範圍第5項所述之方法,其中該裝置之該等功能係包括一裝置儲存容量,以及該調整步驟包括以下步驟:使用至少一未擴展節點來表示該運算環境,以限制該經表示的運算環境之大小,使該大小不超出該裝置儲存容量。
  7. 如申請專利範圍第1項所述之方法,其中為一使用者表示該運算環境,以及該表示係根據該使用者而進行調整。
  8. 如申請專利範圍第7項所述之方法,其中該運算環境係為該使用者指定一使用者帳戶,該運算環境係為該使用者帳戶指定針對該運算環境之該等物件的複數個存取權限,以及該調整步驟包括以下步驟:使用至少一未擴展節點來表示該運算環境,該未擴展節點係表示該物件階層之一部分,其中根據該使用者帳戶之該複數個存取權限來限制使用者存取該部分。
  9. 如申請專利範圍第1項所述之方法,包括以下步驟:將該運算環境由該可遞迴基本表示格式轉換為一資料交換格式。
  10. 如申請專利範圍第1項所述之方法,包括以下步驟:將該運算環境之該等物件整理(marshal)為一平臺表示格式的至少一類別之實例。
  11. 一種用於表示一運算環境之系統,該系統包括以下構件:一運算環境物件儲存,該運算環境物件儲存係經配置以儲存包含該運算環境之物件;一運算環境表示組件,該運算環境表示組件係經配置以依一物件階層來表示該運算環境之該等物件,其中各別物件係根據一可遞迴基本表示格式來表示,至少一物件係經表示為一未擴展節點,且該運算環境之該等物件係包含: 表示至少一應用程式之至少一應用程式二進位檔案;用於至少一應用程式之至少一應用程式設定;表示該運算環境之至少一使用者的至少一使用者帳戶;該至少一使用者之至少一安全識別符;及在該運算環境中係為可存取之至少一硬體元件;及一經接收針對擴展一未擴展節點之一請求,即提供在該未擴展節點中之至少一物件;一運算環境服務集,該運算環境服務集係包括至少一運算環境服務,該至少一運算環境服務係經配置以操作該運算環境之該等物件。
  12. 如申請專利範圍第11項所述之系統,其中至少一未擴展節點係引用一包含該未擴展節點之該物件的物件儲存,以及該系統包括一運算環境物件儲存存取組件,該運算環境物件儲存存取組件係經配置以一經接收到擴展引用該物件儲存之該未擴展節點的一請求,即進行以下操作:自該物件儲存請求該物件,以及一經自該物件儲存接收到該物件,即提供該物件以回應該請求。
  13. 如申請專利範圍第11項所述之系統,其中該運算環境表示組件係經配置以進行以下操作:接收一請求,該請求係要求該運算環境指定一資料交換格式,以及將該運算環境由該可遞迴基本表示格式轉換為該資料交換格式。
  14. 如申請專利範圍第11項所述之系統,包括以下構件:一運算環境更改組件,該運算環境更改組件被組態用以:接收至少一運算環境更改,及根據該運算環境更改來變更該物件階層。
  15. 如申請專利範圍第14項所述之系統,其中該運算環境更改包括符合一表示格式之該運算環境之至少一類別實例,以及該運算環境更改組件係經配置以將該類別實例轉換為符合該可遞迴基本表示格式之一物件表示。
  16. 如申請專利範圍第11項所述之系統,該運算環境服務集包括以下服務中之至少一者:一物件備份服務、一物件查詢服務、一物件同步服務及一物件事件報告服務。
  17. 一種用以表示一運算環境之系統,該系統包括以下構件: 一運算環境物件儲存,該運算環境物件儲存係經配置以儲存包含該運算環境之物件的物件階層,其中各別物件係根據一可遞迴基本表示格式來進行表示,該可遞迴基本表示格式係包含可遞迴元記錄序列;一運算環境表示組件,該運算環境表示組件係經配置以進行以下操作:接收一請求,該請求係用於要求該運算環境指定一資料交換格式;將該物件階層由該可遞迴基本表示格式轉換為該資料交換格式;以及提供該經轉換之物件階層以回應該請求;一運算環境節點擴展組件,該運算環境節點擴展組件係經配置以在一經接收一請求以要求擴展一表示該物件階層之一物件的未擴展節點,即提供該物件;一運算環境外部物件儲存存取組件,該運算環境外部物件儲存存取組件係經配置以一經接收到一請求以要求擴展表示該物件階層之一物件的未擴展節點且引用一外部物件儲存,即用以:自該外部物件儲存請求該物件,以及一經自該外部物件儲存接收到該物件,即提供該物件來回應該請求;一運算環境更改組件係經配置以進行以下操作:接收至少一運算環境更改;將該運算環境更改中所表示之物件轉換為符合該 可遞迴基本表示格式之一物件表示;以及根據該運算環境更改來變更該物件階層;以及一運算環境服務集,該運算環境服務集係包括至少一運算環境服務,該運算環境服務係經配置以操作該運算環境之該等物件。
TW098105019A 2008-03-27 2009-02-17 運算環境表示 TWI482035B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US12/057,000 US20090248737A1 (en) 2008-03-27 2008-03-27 Computing environment representation

Publications (2)

Publication Number Publication Date
TW200943090A TW200943090A (en) 2009-10-16
TWI482035B true TWI482035B (zh) 2015-04-21

Family

ID=41114564

Family Applications (1)

Application Number Title Priority Date Filing Date
TW098105019A TWI482035B (zh) 2008-03-27 2009-02-17 運算環境表示

Country Status (5)

Country Link
US (1) US20090248737A1 (zh)
EP (1) EP2257886A2 (zh)
CN (1) CN101981557B (zh)
TW (1) TWI482035B (zh)
WO (1) WO2009120453A2 (zh)

Families Citing this family (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090327904A1 (en) * 2008-06-27 2009-12-31 Microsoft Corporation Presenting dynamic folders
US20100005463A1 (en) * 2008-07-03 2010-01-07 International Business Machines Corporation Method, system, and program for automatically changing keyboard layout settings
US8566362B2 (en) * 2009-01-23 2013-10-22 Nasuni Corporation Method and system for versioned file system using structured data representations
US8260784B2 (en) * 2009-02-13 2012-09-04 International Business Machines Corporation Indexing and searching JSON objects
US8219528B1 (en) * 2009-03-31 2012-07-10 Symantec Corporation Method and apparatus for simultaneous comparison of multiple backup sets maintained in a computer system
US20100269104A1 (en) * 2009-04-16 2010-10-21 International Business Machines Corporation System and Methods for Generic Data Marshalling without Object Modification
US9037711B2 (en) 2009-12-02 2015-05-19 Metasecure Corporation Policy directed security-centric model driven architecture to secure client and cloud hosted web service enabled processes
US8776169B2 (en) * 2010-03-30 2014-07-08 Authentic8, Inc. Disposable browsers and authentication techniques for a secure online user environment
US20110265058A1 (en) * 2010-04-26 2011-10-27 Microsoft Corporation Embeddable project data
US9176742B2 (en) * 2010-12-27 2015-11-03 Microsoft Technology Licensing, Llc Converting desktop applications to web applications
US8769624B2 (en) 2011-09-29 2014-07-01 Apple Inc. Access control utilizing indirect authentication
US9002322B2 (en) 2011-09-29 2015-04-07 Apple Inc. Authentication with secondary approver
TWI549056B (zh) * 2011-12-08 2016-09-11 微軟技術授權有限責任公司 以函式庫作業系統達成之應用程式相容性
US9336061B2 (en) * 2012-01-14 2016-05-10 International Business Machines Corporation Integrated metering of service usage for hybrid clouds
US9680927B2 (en) * 2012-02-05 2017-06-13 Apple Inc. Cloud tabs
US8984008B2 (en) * 2012-10-19 2015-03-17 Google Inc. Re-use of binaries for multiple user accounts
US9075833B2 (en) * 2013-01-21 2015-07-07 International Business Machines Corporation Generating XML schema from JSON data
WO2014143776A2 (en) 2013-03-15 2014-09-18 Bodhi Technology Ventures Llc Providing remote interactions with host device using a wireless device
CN104468947B (zh) * 2013-09-16 2017-12-29 联想(北京)有限公司 一种信息处理方法及电子设备
JP6313987B2 (ja) * 2014-02-07 2018-04-18 富士通株式会社 ファイル管理プログラム、ファイル管理方法、及びファイル管理システム
US9967401B2 (en) 2014-05-30 2018-05-08 Apple Inc. User interface for phone call routing among devices
EP3149554B1 (en) 2014-05-30 2024-05-01 Apple Inc. Continuity
US10339293B2 (en) 2014-08-15 2019-07-02 Apple Inc. Authenticated device used to unlock another device
US9769227B2 (en) * 2014-09-24 2017-09-19 Microsoft Technology Licensing, Llc Presentation of computing environment on multiple devices
US10635296B2 (en) 2014-09-24 2020-04-28 Microsoft Technology Licensing, Llc Partitioned application presentation across devices
US10025684B2 (en) 2014-09-24 2018-07-17 Microsoft Technology Licensing, Llc Lending target device resources to host device computing environment
US10275116B2 (en) 2015-06-07 2019-04-30 Apple Inc. Browser with docked tabs
US10594731B2 (en) 2016-03-24 2020-03-17 Snowflake Inc. Systems, methods, and devices for securely managing network connections
US10187391B2 (en) * 2016-05-06 2019-01-22 Sap Se Data access by external users
DK179186B1 (en) 2016-05-19 2018-01-15 Apple Inc REMOTE AUTHORIZATION TO CONTINUE WITH AN ACTION
DK201670622A1 (en) 2016-06-12 2018-02-12 Apple Inc User interfaces for transactions
US10642895B2 (en) 2016-09-15 2020-05-05 Oracle International Corporation Method and system for converting one type of data schema to another type of data schema
US10362143B2 (en) * 2016-09-29 2019-07-23 International Business Machines Corporation Dynamically transitioning the file system role of compute nodes for provisioning a storlet
CN106550025A (zh) * 2016-10-25 2017-03-29 深圳大学 一种移动云计算系统的数据处理方法及装置
EP3328016A1 (de) * 2016-11-29 2018-05-30 Siemens Aktiengesellschaft Verfahren zum verbinden von geräten mit der sogenannten cloud, computerprogramm mit einer implementation des verfahrens und verarbeitungseinheit zur ausführung des verfahrens
US10992795B2 (en) 2017-05-16 2021-04-27 Apple Inc. Methods and interfaces for home media control
US11431836B2 (en) 2017-05-02 2022-08-30 Apple Inc. Methods and interfaces for initiating media playback
CN107301063B (zh) * 2017-05-10 2020-07-31 北京奇艺世纪科技有限公司 一种镜像管理方法及装置
US20220279063A1 (en) 2017-05-16 2022-09-01 Apple Inc. Methods and interfaces for home media control
CN111343060B (zh) 2017-05-16 2022-02-11 苹果公司 用于家庭媒体控制的方法和界面
US10467424B2 (en) * 2017-10-12 2019-11-05 International Business Machines Corporation File system content based security
US11599369B1 (en) * 2018-03-08 2023-03-07 Palantir Technologies Inc. Graphical user interface configuration system
US20190342380A1 (en) 2018-05-07 2019-11-07 Microsoft Technology Licensing, Llc Adaptive resource-governed services for performance-compliant distributed workloads
CN109064126B (zh) * 2018-07-18 2021-03-26 长江勘测规划设计研究有限责任公司 基于质量驱动的水电工程计量信息管理方法
US11010121B2 (en) 2019-05-31 2021-05-18 Apple Inc. User interfaces for audio media control
KR102436985B1 (ko) 2019-05-31 2022-08-29 애플 인크. 오디오 미디어 제어를 위한 사용자 인터페이스
CN111241047B (zh) * 2020-04-26 2020-08-21 北京信安世纪科技股份有限公司 一种文件同步方法及装置
US11392291B2 (en) 2020-09-25 2022-07-19 Apple Inc. Methods and interfaces for media control with dynamic feedback
US11847378B2 (en) 2021-06-06 2023-12-19 Apple Inc. User interfaces for audio routing

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5917492A (en) * 1997-03-31 1999-06-29 International Business Machines Corporation Method and system for displaying an expandable tree structure in a data processing system graphical user interface
US6374252B1 (en) * 1995-04-24 2002-04-16 I2 Technologies Us, Inc. Modeling of object-oriented database structures, translation to relational database structures, and dynamic searches thereon
US20030063134A1 (en) * 2001-01-05 2003-04-03 Bob Lord System for displaying a hierarchical directory
TW200609835A (en) * 2004-09-01 2006-03-16 Microsoft Corp Architecture, programming model and API's

Family Cites Families (99)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6044205A (en) * 1996-02-29 2000-03-28 Intermind Corporation Communications system for transferring information between memories according to processes transferred with the information
US5504852A (en) * 1991-09-09 1996-04-02 Apple Computer, Inc. Method for creating a collection of aliases representing computer system files
US5437025A (en) * 1993-01-26 1995-07-25 International Business Machines Corporation System and method for run time configuration of objects in an object oriented computing environment
US5548726A (en) * 1993-12-17 1996-08-20 Taligeni, Inc. System for activating new service in client server network by reconfiguring the multilayer network protocol stack dynamically within the server node
US5850090A (en) * 1995-05-24 1998-12-15 Mitsubishi Denki Kabushiki Kaisha Dynamic semiconductor memory device on SOI substrate
US5764543A (en) * 1995-06-16 1998-06-09 I2 Technologies, Inc. Extensible model network representation system for process planning
US6122634A (en) * 1996-11-12 2000-09-19 International Business Machines Corporation Fractal nested layout for hierarchical system
US6678724B2 (en) * 1997-03-12 2004-01-13 Microsoft Corporation Common namespace for internet and local filesystem objects
US6105062A (en) * 1998-02-26 2000-08-15 Novell, Inc. Method and system for pruning and grafting trees in a directory service
US6330717B1 (en) * 1998-03-27 2001-12-11 Sony Corporation Of Japan Process and system for developing an application program for a distributed adaptive run-time platform
US6209029B1 (en) * 1998-05-12 2001-03-27 Silverstream Software, Inc. Method and apparatus for accessing data sources in a three tier environment
US6243746B1 (en) * 1998-12-04 2001-06-05 Sun Microsystems, Inc. Method and implementation for using computer network topology objects
US6519679B2 (en) * 1999-06-11 2003-02-11 Dell Usa, L.P. Policy based storage configuration
US6826760B1 (en) * 1999-06-16 2004-11-30 Microsoft Corporation Methods of factoring operating system functions, methods of converting operating systems, and related apparatus
US6732172B1 (en) * 2000-01-04 2004-05-04 International Business Machines Corporation Method and system for providing cross-platform access to an internet user in a heterogeneous network environment
US6594664B1 (en) * 2000-01-04 2003-07-15 International Business Machines Corporation System and method for online/offline uninterrupted updating of rooms in collaboration space
US6546554B1 (en) * 2000-01-21 2003-04-08 Sun Microsystems, Inc. Browser-independent and automatic apparatus and method for receiving, installing and launching applications from a browser on a client computer
US6694336B1 (en) * 2000-01-25 2004-02-17 Fusionone, Inc. Data transfer and synchronization system
AU3689301A (en) * 2000-02-09 2001-08-20 Apriva Inc Communication systems, components, and methods operative with programmable wireless devices
US6662192B1 (en) * 2000-03-29 2003-12-09 Bizrate.Com System and method for data collection, evaluation, information generation, and presentation
EP1148322A1 (de) * 2000-04-18 2001-10-24 Gretag-Macbeth AG Verfahren zur Erzeugung einer elektronischen Farbinformationsdatei und Verfahren zur Farbkommunikation
US7013340B1 (en) * 2000-05-18 2006-03-14 Microsoft Corporation Postback input handling by server-side control objects
US6685090B2 (en) * 2000-05-24 2004-02-03 Fujitsu Limited Apparatus and method for multi-profile managing and recording medium storing multi-profile managing program
US6611837B2 (en) * 2000-06-05 2003-08-26 International Business Machines Corporation System and method for managing hierarchical objects
US7219304B1 (en) * 2000-06-19 2007-05-15 International Business Machines Corporation System and method for developing and administering web applications and services from a workflow, enterprise, and mail-enabled web application server and platform
US20020138617A1 (en) * 2000-09-06 2002-09-26 Jacob Christfort Providing content from multiple services
US7089295B2 (en) * 2000-09-06 2006-08-08 Oracle International Corporation Customizing content provided by a service
US7836458B1 (en) * 2000-11-02 2010-11-16 Microsoft Corporation Configuration system
US20040006566A1 (en) * 2000-11-07 2004-01-08 Matt Taylor System and method for augmenting knowledge commerce
US20030004746A1 (en) * 2001-04-24 2003-01-02 Ali Kheirolomoom Scenario based creation and device agnostic deployment of discrete and networked business services using process-centric assembly and visual configuration of web service components
US8290762B2 (en) * 2001-08-14 2012-10-16 National Instruments Corporation Graphically configuring program invocation relationships by creating or modifying links among program icons in a configuration diagram
JP3857571B2 (ja) * 2001-11-15 2006-12-13 タイコ エレクトロニクス レイケム株式会社 ポリマーptcサーミスタおよび温度センサ
KR100426307B1 (ko) * 2001-12-12 2004-04-08 한국전자통신연구원 에스오에이피-엑스엠엘을 이용한 데이터 액세스 장치 및방법
US7088995B2 (en) * 2001-12-13 2006-08-08 Far Eastone Telecommunications Co., Ltd. Common service platform and software
US7406542B2 (en) * 2002-03-01 2008-07-29 Google Inc. Method and system for assured denotation of application semantics
US7552481B2 (en) * 2002-03-18 2009-06-23 Sun Microsystems, Inc. Method of assessing an organization's network identity capability
US6968535B2 (en) * 2002-03-21 2005-11-22 Sun Microsystems, Inc. Service mapping method of enterprise application modeling and development for multi-tier service environments
US7219351B2 (en) * 2002-05-30 2007-05-15 Oracle International Corporation Multi-view conversion system and method for exchanging communications between heterogeneous applications
US20040031029A1 (en) * 2002-08-06 2004-02-12 Kyu-Woong Lee Methods and systems for automatically updating software components in a network
US6909721B2 (en) * 2002-10-31 2005-06-21 Nokia Corporation Device detection and service discovery system and method for a mobile ad hoc communications network
JP2004171107A (ja) * 2002-11-18 2004-06-17 Sony Corp ソフトウエア提供システム、ソフトウエア提供装置および方法、記録媒体、並びにプログラム
CA2412383A1 (en) * 2002-11-22 2004-05-22 Ibm Canada Limited-Ibm Canada Limitee Meta-model for associating multiple physical representations of logically equivalent entities in messaging and other applications
US7613812B2 (en) * 2002-12-04 2009-11-03 Microsoft Corporation Peer-to-peer identity management interfaces and methods
US8635221B2 (en) * 2002-12-20 2014-01-21 International Business Machines Corporation Method, system, and program product for managing access to data items in a database
US7890543B2 (en) * 2003-03-06 2011-02-15 Microsoft Corporation Architecture for distributed computing system and automated design, deployment, and management of distributed applications
US7099888B2 (en) * 2003-03-26 2006-08-29 Oracle International Corporation Accessing a remotely located nested object
TWI223725B (en) * 2003-06-10 2004-11-11 Chunghwa Picture Tubes Ltd Polarizer manufacturing method
US20050015430A1 (en) * 2003-06-25 2005-01-20 Rothman Michael A. OS agnostic resource sharing across multiple computing platforms
US8001187B2 (en) * 2003-07-01 2011-08-16 Apple Inc. Peer-to-peer active content sharing
US7594015B2 (en) * 2003-07-28 2009-09-22 Sap Ag Grid organization
EP1665084A1 (en) * 2003-09-17 2006-06-07 Research In Motion Limited System and method for dynamic generation and customization of web service client applications for terminals
US7721254B2 (en) * 2003-10-24 2010-05-18 Microsoft Corporation Programming interface for a computer platform
US7343568B2 (en) * 2003-11-10 2008-03-11 Yahoo! Inc. Navigation pattern on a directory tree
US20050138156A1 (en) * 2003-12-19 2005-06-23 Alexander Gebhart Grid application customization
US20050177600A1 (en) * 2004-02-11 2005-08-11 International Business Machines Corporation Provisioning of services based on declarative descriptions of a resource structure of a service
US20050192962A1 (en) * 2004-02-26 2005-09-01 Patricia Furrer Apparatus, system, method for enabling web-applications to access enterprise managed data
US20050203931A1 (en) * 2004-03-13 2005-09-15 Robert Pingree Metadata management convergence platforms, systems and methods
US20050251812A1 (en) * 2004-04-27 2005-11-10 Convertabase, Inc. Data conversion system, method, and apparatus
US20050251786A1 (en) * 2004-05-07 2005-11-10 International Business Machines Corporation System and method for dynamic software installation instructions
US7650432B2 (en) * 2004-05-20 2010-01-19 Bea Systems, Inc. Occasionally-connected application server
US7712111B2 (en) * 2004-06-08 2010-05-04 Covia Labs, Inc. Method and system for linear tasking among a plurality of processing units
US20050289454A1 (en) * 2004-06-28 2005-12-29 D & Wayne & Co. Interactive website configuration, display and management application
US7882147B2 (en) * 2004-06-30 2011-02-01 Robert T. and Virginia T. Jenkins File location naming hierarchy
US8069436B2 (en) * 2004-08-13 2011-11-29 Cypress Semiconductor Corporation Providing hardware independence to automate code generation of processing device firmware
JP2008511935A (ja) * 2004-08-31 2008-04-17 インターナショナル・ビジネス・マシーンズ・コーポレーション データ統合システムのためのユーザ・インターフェース
US20070038642A1 (en) * 2004-09-15 2007-02-15 Scott Durgin Method for providing extensible software components within a distributed synchronization system
US20060123010A1 (en) * 2004-09-15 2006-06-08 John Landry System and method for managing data in a distributed computer system
US7266370B2 (en) * 2004-09-20 2007-09-04 Trilibis Inc. System and method for developing and deploying device independent applications
US7760746B2 (en) * 2004-11-30 2010-07-20 Computer Associates Think, Inc. Cascading configuration using one or more configuration trees
US20060129972A1 (en) * 2004-11-30 2006-06-15 Tyburski John C Application developer and method for generating platform independent code
KR100714683B1 (ko) * 2004-12-24 2007-05-04 삼성전자주식회사 디지털 컨텐츠를 글로벌로 공유하고 거래하는 방법 및시스템
US9535679B2 (en) * 2004-12-28 2017-01-03 International Business Machines Corporation Dynamically optimizing applications within a deployment server
US20070050446A1 (en) * 2005-02-01 2007-03-01 Moore James F Managing network-accessible resources
US7680835B2 (en) * 2005-02-28 2010-03-16 Microsoft Corporation Online storage with metadata-based retrieval
US7743373B2 (en) * 2005-05-06 2010-06-22 International Business Machines Corporation Method and apparatus for managing software catalog and providing configuration for installation
US7694287B2 (en) * 2005-06-29 2010-04-06 Visa U.S.A. Schema-based dynamic parse/build engine for parsing multi-format messages
US20070028175A1 (en) * 2005-07-29 2007-02-01 Moore Dennis B Grid processing user tools
US20070061349A1 (en) * 2005-09-15 2007-03-15 Microsoft Corporation Hierarchically describing shapes
US20070073770A1 (en) * 2005-09-29 2007-03-29 Morris Robert P Methods, systems, and computer program products for resource-to-resource metadata association
US8005879B2 (en) * 2005-11-21 2011-08-23 Sap Ag Service-to-device re-mapping for smart items
WO2007064849A1 (en) * 2005-12-01 2007-06-07 Cassatt Corporation Automated deployment and configuration of applications in an autonomically controlled distributed computing system
US7483978B2 (en) * 2006-05-15 2009-01-27 Computer Associates Think, Inc. Providing a unified user interface for managing a plurality of heterogeneous computing environments
US7508787B2 (en) * 2006-05-31 2009-03-24 Cisco Technology, Inc. Graphical selection of information display for wireless mesh hierarchies
US7322966B1 (en) * 2006-07-13 2008-01-29 Deerin Robert F Absorbent garment
US7814460B2 (en) * 2006-07-13 2010-10-12 Scriptlogic Corporation Hierarchical modular software packages and associated development tool
US7739411B2 (en) * 2006-08-11 2010-06-15 Samsung Electronics Co., Ltd. Method and system for content synchronization and detecting synchronization recursion in networks
US7606588B2 (en) * 2006-08-31 2009-10-20 Telefonaktiebolaget Lm Ericsson (Publ) Hierarchical point-to-multipoint group communications between multiple active communication groups
US8683352B2 (en) * 2006-09-05 2014-03-25 International Business Machines Corporation Selectable flattening hierarchical file browser
US7934194B2 (en) * 2006-10-17 2011-04-26 The Mathworks, Inc. User-defined hierarchies of user-defined classes of graphical objects in a graphical modeling environment
US20080249994A1 (en) * 2006-11-28 2008-10-09 Calder Group, Inc. System and process for server side stateless data interchange
US7734717B2 (en) * 2006-12-05 2010-06-08 Nokia Corporation Software distribution via peer-to-peer networks
US7844912B2 (en) * 2006-12-22 2010-11-30 Sap Ag System and method using transformation nodes with enhancement layers
WO2008103608A2 (en) * 2007-02-19 2008-08-28 Ondeego, Inc. Methods and system to create applications and distribute applications to a remote device
US7853669B2 (en) * 2007-05-04 2010-12-14 Microsoft Corporation Mesh-managing data across a distributed set of devices
US8185891B2 (en) * 2007-05-14 2012-05-22 Red Hat, Inc. Methods and systems for provisioning software
US9280402B2 (en) * 2007-12-20 2016-03-08 Sap Se System and method for updating a dual layer browser
US7856448B2 (en) * 2008-02-14 2010-12-21 International Business Machines Corporation Access control decision method and system
US9298747B2 (en) * 2008-03-20 2016-03-29 Microsoft Technology Licensing, Llc Deployable, consistent, and extensible computing environment platform
US8572033B2 (en) * 2008-03-20 2013-10-29 Microsoft Corporation Computing environment configuration

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6374252B1 (en) * 1995-04-24 2002-04-16 I2 Technologies Us, Inc. Modeling of object-oriented database structures, translation to relational database structures, and dynamic searches thereon
US5917492A (en) * 1997-03-31 1999-06-29 International Business Machines Corporation Method and system for displaying an expandable tree structure in a data processing system graphical user interface
US20030063134A1 (en) * 2001-01-05 2003-04-03 Bob Lord System for displaying a hierarchical directory
TW200609835A (en) * 2004-09-01 2006-03-16 Microsoft Corp Architecture, programming model and API's

Also Published As

Publication number Publication date
WO2009120453A3 (en) 2009-12-03
CN101981557B (zh) 2013-10-16
EP2257886A2 (en) 2010-12-08
CN101981557A (zh) 2011-02-23
US20090248737A1 (en) 2009-10-01
TW200943090A (en) 2009-10-16
WO2009120453A2 (en) 2009-10-01

Similar Documents

Publication Publication Date Title
TWI482035B (zh) 運算環境表示
TWI498751B (zh) 用於運算環境表示之方法及電腦可讀取儲存裝置
US20200326927A1 (en) Providing access to a hybrid application offline
US9332063B2 (en) Versatile application configuration for deployable computing environments
JP6276388B2 (ja) 共有コンテンツのアクセス許可
JP5409767B2 (ja) 展開可能オブジェクト階層内におけるアプリケーション管理
US9298747B2 (en) Deployable, consistent, and extensible computing environment platform
US10275538B2 (en) Name hierarchies for mapping public names to resources
CN101802808B (zh) 从脚本和其他编程环境访问设备主存的服务
JP2016529599A (ja) コンテンツクリップボードの同期
JP7355964B2 (ja) 外部ロケーションの同期
US10078433B2 (en) Sharing a template file
JP7355959B2 (ja) 外部ロケーションの同期

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees