TWI502368B - 雲端計算系統及其電腦實施方法 - Google Patents

雲端計算系統及其電腦實施方法 Download PDF

Info

Publication number
TWI502368B
TWI502368B TW102117420A TW102117420A TWI502368B TW I502368 B TWI502368 B TW I502368B TW 102117420 A TW102117420 A TW 102117420A TW 102117420 A TW102117420 A TW 102117420A TW I502368 B TWI502368 B TW I502368B
Authority
TW
Taiwan
Prior art keywords
resource file
application
application resource
user
cloud
Prior art date
Application number
TW102117420A
Other languages
English (en)
Other versions
TW201403350A (zh
Inventor
Yan Arrouye
Dominic B Giampaolo
James Mensch
Original Assignee
Apple Inc
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 Apple Inc filed Critical Apple Inc
Publication of TW201403350A publication Critical patent/TW201403350A/zh
Application granted granted Critical
Publication of TWI502368B publication Critical patent/TWI502368B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • H04L67/125Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks involving control of end-device applications over a network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • 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
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Medical Informatics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

雲端計算系統及其電腦實施方法
本發明係關於雲端計算,且更具體而言係關於使用基於雲端之儲存來透通地減小安裝於用戶端裝置上之應用程式的空間要求。
安裝於用戶端裝置上之許多應用程式包括要求諸如經由範本檔案、程式庫檔案、資料檔案、另一應用程式、精靈協助程式等來使用在可執行之主應用程式外部的資產或資源之功能性。舉例而言,文書處理程式可包括提供核心功能性之可執行之主應用程式。為了提供專門功能性,諸如使用者可再使用之特殊設計之文件格式化,文書處理程式可包括範本。當使用者選擇使用預定義文件格式時,自外部資源檔案載入對應範本。
與應用程式包括在一起之應用程式資源檔案之完整集合可經設計以涵蓋廣泛之應用程式使用範圍(usage spectrum),且多數使用者可僅使用應用程式資源之子集。舉例而言,文書處理應用程式常常包括以包括個人使用及商業使用之一範圍之使用狀況為目標的眾多範本。為了個人使用而安裝了文書處理應用程式的使用者具有相較於使用針對個人使用狀況設計之範本而言較低的使用商業相關範本的可能性。另外,在一些狀況下,使用者可從不使用單一範本,或可僅使用個人建立之範本。從未被使用之範本佔用使用者之裝置上的可用以儲存由使用者實際使用之資料的空間。
本發明之額外特徵及優點將在以下描述中加以闡述,且將部分地自該描述顯而易見,或可藉由實踐本文所揭示之原理而得知。可藉助於在所附申請專利範圍中特定指出的器具及組合來實現並獲得本發明之特徵及優點。本發明之此等及其他特徵將自以下描述及所附申請專利範圍變得更充分地顯而易見,或可藉由實踐本文所闡述之原理而得知。
目前所揭示之技術藉由將應用程式資源檔案儲存於諸如以雲端為基礎之儲存器之遠端儲存器中而允許實現透通地減小由應用程式在用戶端裝置上佔用的空間。一種方法包括接收用以安裝應用程式之請求。應用程式可係包括一或多個應用程式資源檔案之任何應用程式。在一些狀況下,請求可由作業系統或經組態以安裝包括應用程式資源檔案之應用程式的特殊程序或精靈協助程式接收。
回應於接收到安裝請求,方法可選擇至少一個應用程式資源檔案來安裝作為應用程式資源檔案預留位置。在一些狀況下,應用程式資源檔案預留位置可具有正被替換之應用程式資源檔案的外觀。另外,方法可基於諸如以下各者之預定義準則來選擇將被安裝作為應用程式資源檔案預留位置的應用程式資源檔案:應用程式資源檔案大小、應用程式之所安裝應用程式資源檔案的最大總大小、目標應用程式使用及/或應用程式使用歷史。經安裝作為應用程式資源檔案預留位置之應用程式資源檔案可儲存於諸如以雲端為基礎之儲存器的遠端儲存庫中。
第二方法包括自執行中的應用程式接收對應用程式資源檔案的請求。執行中的應用程式可係任何應用程式,包括一安裝有最小集合之應用程式資源檔案的作業系統。在一些狀況下,請求可由作業系統或經設計以擷取應用程式資源檔案的特殊程序或精靈協助程式接收。
方法可回應於識別出所請求之應用程式資源檔案係一應用程式資源檔案預留位置而偵測到一錯誤。在一些狀況下,應用程式資源檔案預留位置被欺騙性地產生(spoof)以具有應用程式資源檔案之外觀。亦即,應用程式資源檔案預留位置及應用程式資源檔案可具有相同名稱、檔案類型及所顯示之大小;然而,應用程式資源檔案預留位置之實際大小可係0位元組或檔案可係空的。在此狀況下,偵測到應用程式資源檔案係應用程式資源檔案預留位置可包括識別在檔案上設定了特定位元。回應於錯誤,方法可自諸如以下各者之遠端儲存位置獲得所請求之應用程式資源檔案:雲端計算系統、以雲端為基礎之儲存器、另一用戶端裝置或同級計算裝置。在一些狀況下,可用所獲得之應用程式資源檔案來替換應用程式資源檔案預留位置。
在一些實施例中,方法可進一步包括用應用程式資源檔案預留位置來替換所安裝之應用程式資源檔案。替換可回應於滿足預定義準則而發生。預定義準則可包括判定應用程式資源檔案不再被需要,或在用戶端裝置上要求額外空間。
系統包括記憶體,諸如可儲存應用程式、應用程式資源檔案及應用程式資源檔案預留位置的硬碟機。系統亦可包括第一模組,其經組態以控制該處理器接收對諸如範本檔案之應用程式資源檔案的請求。在一些狀況下,該第一模組可係應用程式資源檔案擷取程序,諸如精靈協助程式或其他應用程式。
在接收到對應用程式資源檔案之請求時,第二模組可嘗試擷取應用程式資源檔案。當第二模組偵測到應用程式資源檔案預留位置時,第二模組可觸發錯誤。在一些狀況下,第二模組可經由設定於檔案上之特定位元來偵測應用程式資源檔案預留位置。回應於錯誤,第二模組可自諸如以雲端為基礎之儲存器的遠端儲存庫獲得經請求之應用程式資源檔案。在一些狀況下,第二模組可藉由使得系統獲得經請 求之應用程式資源檔案來獲得經請求之應用程式資源檔案。此外,第三模組可用所獲得之應用程式資源檔案來替換應用程式資源檔案預留位置。
100‧‧‧例示性雲端計算系統組態
1021 ‧‧‧使用者終端機
1022 ‧‧‧使用者終端機
102n ‧‧‧使用者終端機
1041 ‧‧‧伺服器
1042 ‧‧‧伺服器
104n ‧‧‧伺服器
106‧‧‧資料庫
120‧‧‧雲端計算資源
122‧‧‧雲端伺服器
124‧‧‧雲端資料庫
126‧‧‧以雲端為基礎之儲存器
128‧‧‧雲端網路
200‧‧‧例示性雲端計算資源(CCR)系統
202‧‧‧用戶端裝置
2021 ‧‧‧個人網路儲存裝置
210‧‧‧通信介面
212‧‧‧帳戶管理模組
214‧‧‧使用者介面模組
220‧‧‧資料項目共用引擎
222‧‧‧集合管理模組
224‧‧‧版本控制模組
230‧‧‧雲端儲存引擎
232‧‧‧資料管理模組
240‧‧‧帳戶資料庫
242‧‧‧集合資料庫
244‧‧‧以雲端為基礎之儲存器
246‧‧‧應用程式資源資料庫
300‧‧‧例示性情境
302‧‧‧使用者
304‧‧‧用戶端裝置
306‧‧‧用戶端裝置
308‧‧‧用戶端裝置
400‧‧‧例示性情境
500‧‧‧例示性情境
502‧‧‧應用程式
504‧‧‧應用程式資源檔案
506‧‧‧應用程式資源檔案
508‧‧‧應用程式資源檔案
510‧‧‧應用程式資源檔案預留位置
600‧‧‧例示性情境
700‧‧‧例示性情境
702‧‧‧作業系統
704‧‧‧用戶端裝置
800‧‧‧例示性情境
802‧‧‧用戶端裝置
810‧‧‧應用程式
812‧‧‧應用程式資源檔案
814‧‧‧應用程式資源檔案
816‧‧‧應用程式資源檔案
818‧‧‧應用程式資源檔案預留位置
900‧‧‧集合
902‧‧‧用戶端裝置
904‧‧‧用戶端裝置
906‧‧‧用戶端裝置
910‧‧‧資料項目
912‧‧‧資料項目
914‧‧‧資料項目
1000‧‧‧例示性集合形成交換
1100‧‧‧例示性情境
1102‧‧‧用戶端裝置
1104‧‧‧用戶端裝置
1106‧‧‧用戶端裝置
1110‧‧‧資料項目
1112‧‧‧資料項目
1114‧‧‧資料項目
1200‧‧‧用於使用增強型基於雲端之儲存來儲存資料項目的例示性方法
1300‧‧‧用於使用增強型基於雲端之儲存來擷取資料項目的例示性方法
1400‧‧‧用於安裝具有應用程式資源檔案預留位置之應用程式之例示性方法
1500‧‧‧用於獲得應用程式資源檔案之例示性方法
1600‧‧‧用於資料項目共用及協同作業之例示性方法
1700‧‧‧用於令使用者訂用集合之例示性方法
1800‧‧‧用於將資料項目指派至集合之例示性方法
1900‧‧‧用於修改指派至集合之資料項目之例示性方法
2000‧‧‧例示性系統/通用計算裝置
2010‧‧‧系統匯流排
2020‧‧‧處理單元
2022‧‧‧快取記憶體
2030‧‧‧系統記憶體
2040‧‧‧唯讀記憶體(ROM)
2050‧‧‧隨機存取記憶體(RAM)
2060‧‧‧儲存裝置
2062‧‧‧模組1/軟體模組
2064‧‧‧模組2/軟體模組
2066‧‧‧模組3/軟體模組
2070‧‧‧顯示器/輸出裝置
2080‧‧‧通信介面
2090‧‧‧輸入裝置
為了描述可獲得本發明之上文敍述及其他優點及特徵的方式,將參看說明於附加圖式中的本發明之特定實施例來呈現上文簡要描述之原理的更特定描述。應理解此等圖式僅描繪本發明之例示性實施例,且並因此不應被視為限制本發明之範疇,經由使用隨附圖式更確切且詳細地描述並解釋本文中之原理,在該等圖式中:圖1說明雲端計算系統中的裝置之例示性組態;圖2說明例示性雲端計算資源系統;圖3說明用以使用增強型基於雲端之儲存來儲存資料項目的例示性請求;圖4說明用以使用增強型基於雲端之儲存來擷取資料項目的例示性請求;圖5說明具有應用程式資源檔案之例示性應用程式;圖6說明具有應用程式資源檔案及應用程式資源檔案預留位置之例示性應用程式;圖7說明具有資源檔案及資源檔案預留位置之例示性作業系統;圖8說明使用應用程式資源檔案之應用程式的例示性執行;圖9說明例示性資料項目集合;圖10說明例示性集合形成交換;圖11說明資料項目至集合之例示性指派;圖12說明用於使用增強型基於雲端之儲存來儲存資料項目的例示性方法實施例;圖13說明用於使用增強型基於雲端之儲存來擷取資料項目的例 示性方法實施例;圖14說明用於安裝具有應用程式資源檔案預留位置之應用程式的例示性方法實施例;圖15說明用於獲得應用程式資源檔案之例示性方法實施例;圖16說明用於資料項目共用及協同作業之例示性方法實施例;圖17說明用於令使用者訂用集合之例示性方法實施例;圖18說明用於將資料項目指派至集合之例示性方法實施例;圖19說明用於修改指派至集合之資料項目的例示性方法實施例;且圖20說明實例系統實施例。
下文詳細論述本發明之各種實施例。儘管論述了特定實施,但應理解,僅出於說明目的進行此論述。熟習相關技術者將認識到,在不脫離本發明之精神及範疇之情況下可使用其他組件及組態。本發明解決此項技術中針對在基於雲端之計算環境中共用並儲存資料的改良方法的需要。
1. 雲端計算環境概述
雲端計算係一類型之基於網際網路之計算,在該計算中,多種資源由實體代管及/或控制,且由實體經由網際網路提供給經授權使用者。例示性雲端計算系統組態100說明於圖1中,其中多種電子裝置可為了交換內容及其他資料而經由網路進行通信。系統可經組態以用於促進電子裝置之相互通信的廣泛多種網路組態上。舉例而言,圖1中系統100之組件中的每一者可以區域化或分散式方式實施於網路中。
系統100可經組態以包括雲端計算資源120。雲端資源可包括多種硬體及/或軟體資源,諸如雲端伺服器122、雲端資料庫124、以雲 端為基礎之儲存器126、雲端網路128、雲端應用程式、雲端平台及/或任何其他基於雲端之資源。在一些狀況下,雲端資源為分散式的。舉例而言,以雲端為基礎之儲存器126可包括多個儲存裝置。在一些狀況下,雲端資源可分散跨越多個雲端計算系統及/或個別具網路功能之計算裝置。舉例而言,雲端計算資源120可與伺服器1041 、1042 、…、104n (共同為「104」)、資料庫106及/或任何其他具網路功能之計算裝置通信以提供雲端資源。
此外,在一些狀況下,雲端資源可為冗餘的。舉例而言,若雲端計算資源120經組態以提供資料備份服務,則可儲存資料之多個複本,使得即使儲存資源為離線的、繁忙的或以其他方式不可用於處理請求,資料仍可用於使用者。在另一實例中,若雲端計算資源120經組態以提供應用程式,則可自不同雲端伺服器提供應用程式,使得可由不同雲端伺服器中之任一者來伺服應用程式。可應用演算法,使得選擇最接近的伺服器或具有最低當前負載之伺服器來處理給定請求。
在系統100中,使用者經由使用者終端機1021 、1022 、…、102n (共同為「102」)而與雲端計算資源120互動,該等使用者終端機藉由直接及/或間接通信而連接至網路。雲端計算資源120可支援來自多種不同電子裝置之連接,該等電子裝置諸如伺服器、桌上型電腦、行動電腦、手持型通信裝置(例如,行動電話、智慧型手機、平板電腦)、機上盒、具網路功能之硬碟機及/或任何其他具網路功能之計算裝置。此外,雲端計算資源120可同時接受來自多個電子裝置之連接並與該多個電子裝置互動。與多個電子裝置之互動可經排定優先次序或同時發生。
雲端計算資源120可經由諸如以下各者之多種部署模型來提供雲端資源:公眾部署模型、私用部署模型、社區型部署模型、混合式部署模型及/或任何其他雲端部署模型。在一些狀況下,雲端計算資源 120可支援多個部署模型。舉例而言,雲端計算資源120可經由公眾部署模型提供一組資源,且經由私用部署模型來提供另一組資源。
在一些組態中,使用者終端機102可自網際網路連接為可用的任何位置存取雲端計算資源120。然而,在其他狀況下,雲端計算資源120可經組態以約束對某些資源之存取,使得僅可自某些位置存取資源。舉例而言,若雲端計算資源120經組態以使用私用部署模型來提供資源,則雲端計算資源120可諸如藉由要求使用者終端機102自防火牆後存取資源來約束對資源的存取。
雲端計算資源120可經由諸如以下各者之多種服務模型將雲端資源提供至使用者終端機102:軟體即服務(SaaS)、平台即服務(PaaS)、基礎架構即服務(IaaS)及/或任何其他雲端服務模型。在一些狀況下,雲端計算資源120可將多個服務模型提供至使用者終端機102。舉例而言,雲端計算資源120可將SaaS及IaaS兩者提供至使用者終端機102。在一些狀況下,雲端計算資源120可將不同服務模型提供至不同使用者終端機102。舉例而言,雲端計算資源120可將SaaS提供至使用者終端機1021 ,且將PaaS提供至使用者終端機1022
在一些狀況下,雲端計算資源120可維持帳戶資料庫。帳戶資料庫可儲存登錄之使用者的設定檔資訊。設定檔資訊可包括資源存取權,諸如許可使用者使用之軟體、最大儲存空間等。設定檔資訊亦可包括使用資訊,諸如消耗之計算資源、資料儲存位置、安全設定、個人組態設定等。在一些狀況下,帳戶資料庫可駐留於在雲端計算資源120遠端之資料庫或伺服器(諸如,伺服器104或資料庫106)上。
雲端計算資源120可提供需要使用者互動之多種功能性。因而,可提供使用者介面(UI)以用於與雲端計算資源120通信及/或執行與雲端資源相關聯的任務。可經由與雲端計算資源120通信之終端使用者終端機102來存取UI。視雲端計算資源120及/或使用者終端機102之儲 存及處理能力而定,UI可經組態而以包括以下各者之多種用戶端模式操作:複雜型用戶端模式、精簡型用戶端模式或混合式用戶端模式。因此,在一些實施例中,UI可實施為在使用者終端機處操作之獨立應用程式。在其他實施例中,可將基於網頁瀏覽器之入口用以提供UI。在各種實施例中,亦可使用用以存取雲端計算資源120之任何其他組態。
2. 雲端計算資源系統
已揭示了例示性雲端計算環境,本揭示內容現轉至圖2,圖2說明諸如圖1中之雲端計算資源120的例示性雲端計算資源(CCR)系統200。CCR系統200可包括數個特徵以增強使用者之儲存、共用及存取來自多種不同用戶端裝置類型之資料的能力。特徵可包括增強型基於雲端之儲存、基於雲端之資源,以及群組資料項目共用及協同作業。舉例而言,CCR系統200可提供基於雲端之儲存,該基於雲端之儲存係經由使用諸如個人具網路功能之外部硬碟機的外部網路儲存裝置來擴展。在另一實例中,CCR系統200可提供針對應用程式資源檔案(諸如,偶爾使用之範本檔案)之基於雲端之儲存。在又一實例中,CCR系統200可促進在訂用一集合之一群組的使用者之間的資料共用。下文將更詳細地論述此等特徵以及可用以提供該等特徵之架構及資源。
2.1 架構
如圖2中所說明,CCR系統200之架構可含有數個組件。該等組件可包括:用於儲存與系統之操作相關之資料的一或多個資料庫,例如,帳戶資料庫240、集合資料庫242及應用程式資源資料庫246;一或多個儲存裝置,例如,以雲端為基礎之儲存器244;及用於與資料庫、儲存裝置互動及/或控制由系統提供之特徵的一或多個模組及/或引擎,例如,通信介面210、帳戶管理模組212、使用者介面模組214、資料項目共用引擎220及雲端儲存引擎230。下文更詳細地論述 圖2中之每一組件;然而,熟習此項技術者應理解,說明於圖2中之架構組態僅係一個可能組態,且具有較多或較少組件之其他組態亦為可能的。
CCR系統200為可與多種不同用戶端裝置通信之基於網路的系統。為了促進通信,CCR系統200可包括通信介面210。通信介面210可經組態以接收來自用戶端裝置之諸如請求、資料等的通信,且將通信傳遞至CCR系統200中之適當模組及/或引擎以供處理。通信介面210亦可經組態以將通信發送至用戶端裝置。此外,通信介面210可經組態以與包括其他雲端計算系統之任何計算裝置通信。
CCR系統200提供之特徵中的一些可要求使用者互動,諸如對儲存於以雲端為基礎之儲存器中之特定檔案的請求,邀請新使用者訂用資料檔案集合,及/或將新檔案添加至集合。因而,可提供使用者介面(UI)以用於與使用者介面模組214通信以執行此等任務。可經由與CCR系統200通信之用戶端裝置202來存取使用者介面模組214之UI。視CCR系統200及/或用戶端裝置202之儲存及處理能力而定,UI及使用者介面模組214可以包括以下各者之多種用戶端模式操作:複雜型用戶端模式、精簡型用戶端模式或混合式用戶端模式。因此,在一些實施例中,使用者介面模組之UI可實施為在用戶端裝置上操作之獨立應用程式。在其他實施例中,基於網頁瀏覽器之入口可用以提供使用者介面模組214之UI。在各種實施例中,亦可使用遠端或本端地存取CCR系統200之任何其他組態。另外,UI可為促進使用者互動之任何類型之UI,諸如圖形使用者介面、音訊使用者介面及/或任何其他類型之UI。
在一些狀況下,CCR系統200可基於每使用者提供特徵(諸如,基於雲端之儲存),或特徵可要求使用者鑑認。為了啟用此等特徵,CCR系統200可包括帳戶資料庫240及帳戶管理模組212。儲存於帳戶 資料庫中之資訊可視特徵而發生變化。舉例而言,若帳戶資料庫240用以儲存與增強型基於雲端之儲存相關的資訊,則帳戶資訊可包括使用者資訊、經授權之最大儲存空間、所使用之儲存空間、經授權之用戶端裝置之識別符、經授權之外部網路儲存裝置的識別符、檔案儲存位置等。或者,若帳戶資料庫240用以儲存與資料檔案集合相關之資訊,則帳戶資訊可包括使用者資訊、訂用之集合、經授權之用戶端裝置的識別符等。在一些組態中,可在整個CCR系統200中使用單一帳戶資料庫來儲存用於所有特徵的帳戶資訊。然而,CCR系統200可經組態以維持用於不同特徵之不同帳戶資料庫,諸如用於基於雲端之儲存的帳戶資料庫及用於資料檔案集合的不同帳戶資料庫。
帳戶管理模組212可經組態以更新及/或獲得使用者帳戶資料庫240中的使用者帳戶細節。舉例而言,在接收到用以儲存檔案之請求時,帳戶管理模組212可獲得使用者之帳戶細節,CCR系統200可接著使用該等帳戶細節來判定使用者是否已授權外部網路儲存裝置作為儲存位置。在另一實例中,回應於使用者接受一用以訂用集合之邀請,帳戶管理模組212可更新使用者之帳戶細節以包括該集合。帳戶管理模組212可經組態以與CCR系統200中之任何數目個其他模組及/或引擎互動。
CCR系統200之下文將更詳細論述之特徵中的一者為:CCR系統200可用以促進使用者之群組之間的資料項目共用及協同作業。共用及協同作業可經由建立集合來實現。使用者之群組可訂用集合。在已形成了集合之後,一或多個已訂用之使用者可將資料項目指派至集合,且每一指派之資料項目的複本可被散發至每一已訂用之使用者。與集合相關之資訊可儲存於集合資料庫242中。所儲存之資訊可包括集合識別符、已訂用使用者之識別符、指派之資料項目、維持修改之記錄的一或多個記錄檔等。
CCR系統200可包括資料項目共用引擎220以管理與集合相關聯的共用及協同作業活動。舉例而言,資料項目共用引擎220可接收對指派至集合之資料項目的修改,更新集合資料庫242中之集合資訊,且將修改散發至訂用該集合之其他使用者。為了實現管理與集合相關聯之共用及協同作業活動的任務,資料項目共用引擎220可包括一或多個模組,諸如集合管理模組222及版本控制模組224。資料項目共用引擎220亦可經組態以與CCR系統200中之任何數目個其他模組及/或引擎互動。
CCR系統200之下文將更詳細論述之另一特徵為:CCR系統200可提供增強型基於雲端之儲存。為了促進增強型基於雲端之儲存,CCR系統200可包括雲端儲存引擎230。舉例而言,雲端儲存引擎230可接收用以儲存資料項目之請求。回應於儲存請求,雲端儲存引擎230可獲得與請求相關聯之使用者帳戶細節,將資料項目儲存於以雲端為基礎之儲存器244中及/或經授權的外部網路儲存裝置上,且更新關於儲存位置的帳戶細節。同樣,雲端儲存引擎230可接收用以擷取資料項目之請求。回應於擷取請求,雲端儲存引擎230可獲得與請求相關聯之使用者帳戶細節以識別儲存位置,且自儲存位置獲得資料項目。另外,雲端儲存引擎230可用以管理應用程式資源檔案(諸如,範本檔案)之儲存及擷取。雲端儲存引擎230可包括諸如資料管理模組232之一或多個模組及諸如應用程式資源資料庫246的一或多個資料庫,以提供以雲端為基礎之應用程式資源功能性。雲端儲存引擎230亦可經組態以與CCR系統200中之任何數目個其他模組及/或引擎互動。
2.2 特徵
如先前所提及,CCR系統200可包括數個特徵以增強使用者之儲存、共用及存取來自多種不同用戶端裝置類型之資料的能力。特徵可包括增強型基於雲端之儲存、基於雲端之資源,及群組資料共用。
2.2.1 增強型基於雲端之儲存
CCR系統200可經組態以提供基於雲端之儲存。在一些組態中,雲端儲存引擎230可管理基於雲端之儲存特徵。雲端儲存引擎可接收來自用戶端裝置之儲存請求及擷取請求。在一些狀況下,儲存及擷取請求被經由通信介面210及/或使用者介面模組214傳遞至雲端儲存引擎230。
使用者可出於將來自用戶端裝置之資料項目儲存於以雲端為基礎之儲存器(諸如,以雲端為基礎之儲存器244)中的目的而在CCR系統200中建立帳戶。雲端儲存引擎230可諸如自帳戶管理模組212獲得帳戶細節。在一些狀況下,雲端儲存引擎230可指派用於使用者帳戶之最大儲存容量。舉例而言,雲端儲存引擎230可向所有使用者指派均一儲存容量(例如,4GB)。在另一實例中,雲端儲存引擎230可基於預定義準則(例如,基於使用者關係之容量、基於訂用費用之容量等)向不同使用者指派不同儲存容量。可諸如藉由將資訊傳遞至帳戶管理模組212而將最大儲存容量記錄於使用者之帳戶細節中。然而,在一些狀況下,雲端儲存引擎230可允許不受限制之儲存容量。
除儲存容量外,雲端儲存引擎230亦可經組態維持使用者之當前儲存器使用的記錄。舉例而言,若使用者已儲存了具有500MB之總大小的五個檔案,則雲端儲存引擎230可藉由將該資訊記錄於使用者之帳戶細節中而維持此資訊。在一些狀況下,可維持使用資訊而不管最大儲存容量是否被指派至使用者。
雲端儲存引擎230亦可經組態,使得使用者可在單一使用者帳戶上授權多個用戶端裝置,因此允許使用者自多個用戶端裝置存取儲存於以雲端為基礎之儲存器中的資料項目。舉例而言,使用者可對家用桌上型電腦及攜帶型電腦授權。使用者可接著將來自桌上型電腦之資料項目儲存至以雲端為基礎之儲存器,且稍後使用攜帶型電腦擷取項 目。諸如藉由記錄用戶端裝置之唯一識別符,可將經授權用戶端裝置記錄於使用者之帳戶細節中。另外,在一些狀況下,一用戶端裝置可與多個使用者帳戶相關聯。
迄今描述之基於雲端之儲存細節為相當傳統之基於雲端之儲存特徵。然而,雲端儲存引擎230可經由整合在使用者帳戶上經授權的外部網路儲存裝置來提供增強型基於雲端之儲存。如本文中所使用之外部網路儲存裝置可為使用者擁有及/或經由使用者之區域網路連接至CCR系統200的任何具網路功能之儲存裝置,諸如外部硬碟機,例如,個人網路儲存裝置2021 。亦即,獨立於任何雲端計算系統之具網路功能之儲存裝置。舉例而言,外部網路儲存裝置可係使用者已連接至其家中之區域網路的外部硬碟機。或者,外部網路儲存裝置可係連接至組織之區域網路的具網路功能之儲存裝置。亦即,與係CCR系統200或某其他雲端計算系統之部分形成對比,外部網路儲存裝置可係駐留於區域網路上之任何具網路功能之儲存裝置。
使用者可在CCR系統200中的使用者帳戶上授權一或多個外部網路儲存裝置。在一些狀況下,可在多個使用者帳戶上授權一外部網路儲存裝置。舉例而言,一家庭可包括各自具有使用者帳戶的三個人,及一單一外部網路儲存裝置。家庭中之每一使用者可在其帳戶上授權外部網路儲存裝置。
一旦在使用者帳戶中授權了外部網路儲存裝置,雲端儲存引擎230便可使用外部網路儲存裝置來擴展基於雲端之儲存。亦即,替代將資料項目儲存於以雲端為基礎之儲存器244中,雲端儲存引擎230可將資料項目儲存於經授權之外部網路儲存裝置中。然而,若使用者請求儲存資料項目,且使用者尚未在其帳戶上授權外部網路儲存裝置,則雲端儲存引擎230可回復至傳統之基於雲端之儲存。
當在使用者帳戶中授權了多個外部網路儲存裝置時,雲端儲存 引擎230可選擇外部網路儲存裝置中之一者作為資料項目的儲存位置。選擇可係基於多種準則,諸如隨機、可用之空間量、距雲端儲存引擎230之距離、資料項目類型、使用者偏好設定、外部網路儲存裝置之可靠性等。
雲端儲存引擎230可經組態以包括可管理儲存於以雲端為基礎之儲存器中之資料項目的資料管理模組232。舉例而言,資料管理模組232可作為增強型檔案系統操作。資料管理模組232可經組態以判定資料項目應儲存於以雲端為基礎之儲存器244中抑或儲存於經授權之外部網路儲存裝置上。將資料項目儲存於經授權之外部網路儲存裝置上之決策可係基於滿足預定義準則。所使用之準則可隨著系統之組態而發生變化。在一些狀況下,當資料管理模組232判定在以雲端為基礎之儲存器中未分配足夠空間給使用者時,資料管理模組232可選擇將資料項目儲存於經授權之外部網路儲存裝置上。舉例而言,雲端儲存引擎230可經組態以分配小於針對使用者帳戶核准之最大容量的空間。當資料管理模組232判定:分配之空間為不足的且使用者尚未超出使用者之經核准最大儲存容量時,替代在以雲端為基礎之儲存器244中分配更多空間,資料管理模組232可將資料項目儲存於經授權之外部網路儲存裝置上。在一些狀況下,當資料管理模組232判定使用者已超出使用者之經核准最大儲存容量時,資料管理模組232可選擇將資料項目儲存於經授權之外部網路儲存裝置上。舉例而言,替代拒絕使用者之儲存請求或要求使用者增加其在以雲端為基礎之儲存器244中之儲存容量,資料管理模組232可將資料項目儲存於經授權之外部網路儲存裝置上。或者,在一些狀況下,當資料管理模組232判定在外部網路儲存裝置上進行儲存可為更有效率的時,資料管理模組232可經組態以選擇將資料項目儲存於經授權之外部網路儲存裝置上。舉例而言,若外部網路儲存裝置相較於以雲端為基礎之儲存器 244為更靠近的,則將資料項目儲存於外部網路儲存裝置上可減小潛時且增加效能。另外,在一些狀況下,資料管理模組232可經組態以基於使用者偏好設定而選擇將資料項目儲存於經授權之外部網路儲存裝置上。舉例而言,使用者可指定:特定資料項目或特定類型之資料項目應儲存於外部網路儲存裝置上。
資料管理模組232亦可經組態以在以雲端為基礎之儲存器244中維持資料項目的多個複本。可執行冗餘以降低所請求之資料項目不可用的可能性。舉例而言,資料管理模組232可經組態以每當資料項目儲存於外部網路儲存裝置上時便將資料項目之一複本儲存於以雲端為基礎之儲存器244中。在一些狀況下,冗餘選項可係基於使用者偏好設定。舉例而言,使用者可指定:使用者指示雲端儲存引擎230儲存於外部網路儲存裝置上之資料項目不應亦儲存於以雲端為基礎之儲存器244中,而是可儲存於額外經授權之外部網路儲存裝置上。
在一些狀況下,資料管理模組232可經組態以分裂資料項目,且將片段儲存於一或多個基於雲端之儲存位置中(包括在外部網路儲存裝置上)。舉例而言,可將一資料項目分裂成兩個片段,且一個片段儲存於以雲端為基礎之儲存器244中,且另一片段儲存於外部網路儲存裝置上。另外,在一些組態中,資料管理模組232可將資料項目分裂成多個片段,且冗餘地儲存該等片段。
圖3說明在CCR系統200處接收到用以使用增強型基於雲端之儲存來儲存資料項目之請求的例示性情境300。在情境300中,使用者302具有多種用戶端裝置304、306及308。使用者已出於將資料項目發送至以雲端為基礎之儲存器及自以雲端為基礎之儲存器擷取資料項目之目的而在使用者之帳戶上授權用戶端裝置304及306。另外,使用者已授權外部網路儲存裝置308作為使用者之資料項目的經授權之儲存位置。當使用者自用戶端裝置304進行儲存請求時,雲端儲存引擎230接 收請求及資料項目。在判定資料項目應儲存於外部網路儲存裝置308上時,雲端儲存引擎230可將資料項目發送至外部網路儲存裝置308且更新使用者之帳戶細節以反映該儲存位置選擇。雲端儲存引擎230可判定:資料項目應以對於使用者透通之方式儲存於外部網路儲存裝置308上。亦即,雲端儲存引擎230可選擇在無來自使用者之輸入的情況下將資料項目儲存於外部網路儲存裝置308上。
圖4說明使用者302請求擷取先前儲存於以雲端為基礎之儲存器中之資料項目的例示性情境400。在情境400中,使用者請求擷取資料項目。用以擷取資料項目之請求可由用以儲存資料項目之相同用戶端裝置及/或由不同裝置進行。在情境400中,由用戶端裝置306進行擷取請求,該用戶端裝置306係不同於用以儲存資料項目之裝置的裝置。回應於接收到請求,雲端儲存引擎230獲得使用者帳戶資訊以判定資料項目之位置。在判定資料項目儲存於外部網路儲存裝置上時,雲端儲存引擎230可自外部網路儲存裝置308獲得資料項目,並將資料項目發送至用戶端裝置306。因為儲存位置資訊由CCR系統200維持,所以雲端儲存引擎230可在無來自使用者之額外輸入的情況下獲得儲存於外部網路儲存裝置上的資料項目。因此,資料項目儲存於外部網路儲存裝置上之事實對於使用者可為透通的。
2.2.2 基於雲端之資源
CCR系統200亦可經組態以向用戶端裝置提供以雲端為基礎之應用程式資源及/或促進自其他儲存位置擷取應用程式資源。在許多狀況下,在用戶端裝置上執行之應用程式可包括要求使用係在可執行之主應用程式外部之資產或資源的功能性。應用程式資源可包括由應用程式提供應用程式之功能性之某一態樣所需的任何資源,例如,範本檔案、程式庫檔案、資料檔案、另一應用程式、精靈協助程式等。舉例而言,文書處理程式可包括提供核心功能性之可執行之主應用程 式。為了提供專門功能性,諸如使用者可再使用之特別設計之文件格式化,文書處理程式可包括範本。當使用者選擇使用預定義的文件格式時,自外部資源檔案載入對應範本。在此實例中,每一範本為應用程式資源。在另一實例中,音樂應用程式可包括不同樂器之集合。每一樂器可為應用程式資源。樂器之功能性可包含於應用程式資源檔案中,該應用程式資源檔案在使用者選擇該音樂應用程式時由該特定應用程式載入。在又一實例中,應用程式可係包括核心程式(kernel)之作業系統,該核心程式提供最基本功能性且允許其他應用程式與裝置之硬體互動。為了提供高階功能性,作業系統可包括呈其他應用程式及精靈協助程式之形式的其他資源,該等資源中之許多者係按需執行。高階應用程式及精靈協助程式中之每一者係作業系統之應用程式資源。自核心程式之觀點,經由應用程式資源檔案來提供高階功能性。
圖5說明具有應用程式資源檔案之應用程式的例示性情境500。在情境500中,應用程式502包括三個應用程式資源檔案504、506及508。隨著應用程式502執行,載入應用程式資源檔案。在情境500中,已載入了資源檔案504及506,但尚未載入資源檔案508。
與應用程式包括在一起之應用程式資源檔案之完整集合可經設計以涵蓋廣泛之應用程式使用範圍(usage spectrum),且多數使用者可僅使用應用程式資源之子集。舉例而言,文書處理應用程式常常包括以包括個人使用及商業使用的一範圍之使用狀況為目標的眾多範本。為了個人使用而安裝了文書處理應用程式的使用者具有相較於使用針對個人使用狀況設計之範本而言較低的使用商業相關範本的可能性。另外,在一些狀況下,使用者可從不使用單一範本,或可僅使用個人建立之範本。從未被使用之範本佔用使用者之裝置上的可用以儲存由使用者實際使用之資料的空間。因此,為了降低應用程式之儲存器佔 據面積,應用程式可安裝於僅具有應用程式資源檔案之最小集合或甚至根本無應用程式資源檔案的用戶端裝置上。
與應用程式安裝在一起之應用程式資源檔案之集合可隨組態發生變化,可藉由應用程式開發者判定,及/或可由使用者判定。舉例而言,應用程式開發者可維持應用程式使用歷史資訊。基於使用歷史資訊,開發者可判定:應用程式資源檔案之特定子集被最頻繁地使用,且僅將彼等資源檔案與應用程式包括在一起。在另一實例中,應用程式安裝可經組態以允許使用者指定要安裝之應用程式資源檔案之子集,諸如,針對特定使用狀況或特定類型之資產(例如,家庭或商業)分類之資源檔案。在又一實例中,用戶端裝置可經組態以基於預定義準則(諸如所有所安裝應用程式資源檔案的資源檔案大小或最大總大小)僅自動地安裝應用程式之子集。
代替應用程式資源檔案,應用程式可包括應用程式資源檔案預留位置。應用程式資源檔案預留位置可提供實際應用程式資源檔案經安裝之外觀,但實情為應用程式資源檔案預留位置實際上係空檔案,其被欺騙性地產生(spoof)以看起來與實際資源檔案相同。亦即,應用程式資源檔案預留位置可具有相同之名稱、類型等。應用程式資源檔案預留位置可甚至顯示與實際資源檔案之大小匹配的檔案大小,此可為防止意外刪除預留位置檔案的安全措施。預留位置可不同於實際資源檔案之處在於:預留位置不含有資料,且可設定特殊位元以指示檔案為預留位置。
為了促進應用程式資源檔案之擷取,安裝於用戶端裝置上之作業系統可包括特殊的資源檔案提取程序或精靈協助程式。當應用程式請求應用程式資源檔案時,資源檔案提取程序可接收請求,且接著經由特殊位元偵測所安裝之資源檔案為實際資源檔案抑或預留位置。若程序偵測到預留位置檔案,則觸發錯誤,且自雲端獲得實際資源檔 案。一旦獲得實際資源檔案,便可安裝實際資源檔案以代替資源檔案預留位置。因為單獨的程序負責將資源檔案提供至進行請求的應用程式,所以安裝實際資源檔案抑或預留位置對於應用程式可為透通的。此等級之透通性亦意謂不要求特殊的應用程式準備。亦即,應用程式自身並不需要包括用於提取資源檔案之特殊功能性,及/或應用程式開發者並不需要識別程式片段並藉由資源檔案預留位置來替換程式片段。預留位置檔案之安裝可在任何時間發生,包括在已安裝了資源檔案之後。
圖6說明具有應用程式資源檔案及應用程式資源檔案預留位置之應用程式的例示性情境600。在情境600中,來自圖5之應用程式502仍包括由三個應用程式資源檔案提供之功能性,但現應用程式502僅安裝了應用程式資源檔案中之兩者(資源檔案504及508)。代替應用程式資源檔案506,應用程式包括應用程式資源檔案預留位置510。隨著應用程式502執行,載入應用程式資源檔案。當遭遇應用程式資源檔案預留位置510時,用戶端裝置獲得實際應用程式資源檔案。
圖7說明具有資源檔案及資源檔案預留位置之安裝於用戶端裝置704上之作業系統702的另一例示性情境700。作業系統702可安裝於具有最小功能性的用戶端裝置704上,該最小功能性包括核心程式及資源檔案擷取精靈協助程式。額外功能性之最小集合亦可安裝於用戶端裝置704上。舉例而言,可安裝諸如網頁瀏覽器及媒體播放器之常用應用程式,但可將諸如行事曆應用程式、電子郵件用戶端及通訊錄應用程式等之較不常用應用程式安裝作為資源檔案預留位置。
若在於用戶端裝置上執行應用程式期間觸發了錯誤,則用戶端裝置可與CCR系統200通信以獲得應用程式資源檔案。CCR系統200可經組態,使得雲端儲存引擎230可管理以雲端為基礎之應用程式資源特徵。在一些狀況下,通信介面214可接收請求且將請求傳遞至雲端 儲存引擎230以供處理。
在一些狀況下,CCR系統200可經組態以維持應用程式資源檔案之集合。舉例而言,CCR系統200可將應用程式資源檔案之集合儲存於以雲端為基礎之儲存器244中。應用程式資源檔案之範疇可隨著CCR系統200及/或應用程式之組態而發生變化。舉例而言,由CCR系統200針對應用程式維持之應用程式資源檔案的集合可包括由應用程式使用之資源檔案的完整集合。或者,由CCR系統200維持之應用程式資源檔案之集合可僅包括未與原始應用程式安裝包括在一起的彼等應用程式資源檔案。亦即,自CCR系統200獲得之應用程式資源檔案可不包括在應用程式資源檔案之最小集合中的應用程式資源檔案。
雲端儲存引擎230可經組態以包括可管理儲存於以雲端為基礎之儲存器中之應用程式資源檔案的資料管理模組232。在一些狀況下,在接收到對應用程式資源檔案之請求時,資料管理模組232可自以雲端為基礎之儲存器244擷取應用程式資源檔案,且將應用程式資源檔案發送至進行請求的用戶端裝置。或者,在接收到對應用程式資源檔案之請求時,資料管理模組232可經組態以自CCR系統200外部之儲存位置(諸如自另一雲端計算系統及/或另一用戶端裝置)擷取應用程式資源檔案。在一些狀況下,CCR系統200可包括應用程式資源資料庫246,該應用程式資源資料庫246包括CCR系統200已知之關於應用程式資源的資訊,諸如資源檔案之儲存位置。在此狀況下,在接收到對應用程式資源檔案之請求時,資料管理模組232可存取應用程式資源檔案資料庫246以獲得任何應用程式資源檔案細節。若應用程式資源檔案細節指定儲存位置,則資料管理模組232可自所指定的儲存位置獲得應用程式資源檔案。
在一些狀況下,雲端儲存引擎230可經組態以約束對應用程式資源檔案中之一些或全部的存取。舉例而言,應用程式資源檔案可僅可 用於經登錄之使用者。藉由將存取權限於經登錄之使用者,雲端儲存引擎230可用以防止不具有應用程式之經授權複本的使用者存取應用程式資源檔案。在另一實例中,應用程式資源可僅按某訂用等級(例如,家用版本、專業版本等)可用於使用者。為了允許實現對應用程式資源檔案之受約束存取,雲端儲存引擎230可諸如自帳戶管理模組212獲得使用者帳戶細節,以判定進行請求的使用者是否有資格接收經請求之應用程式資源。
在一些組態中,可用應用程式資源檔案預留位置在用戶端裝置上自動地替換所安裝之應用程式資源。在一些狀況下,替換可以對於應用程式透通之方式執行。移除應用程式資源檔案之條件可隨著用戶端裝置及/或應用程式之組態而發生變化。在一些狀況下,應用程式資源檔案可基於以下各者來進行選擇:對額外空間之需要,達到與特定應用程式相關聯之應用程式資源檔案的最大空間分配,及/或指示不再需要應用程式資源檔案的使用型樣。判定應在何時移除應用程式資源檔案的其他方法亦為可能的。另外,經選擇以供移除之特定應用程式資源檔案可隨著用戶端裝置及/或應用程式之組態而發生變化。在一些狀況下,所選擇之特定應用程式資源檔案可係基於:隨機選擇、大小、使用歷史、使用者偏好設定及/或應用程式開發者偏好設定。選擇特定應用程式資源檔案以供移除之其他方法亦為可能的。此外,可在任何時間替換應用程式資源檔案。亦即,可替換應用程式資源檔案而無關於應用程式是否正在執行。
圖8說明例示性情境800,在該情境800中,利用應用程式資源檔案812、814及816之應用程式810正在用戶端裝置802上執行。應用程式810連同應用程式資源檔案812及816一起安裝於用戶端裝置802上。代替應用程式資源檔案814,將應用程式資源檔案預留位置818安裝於用戶端裝置802上。在執行期間,應用程式810需要應用程式資源檔案 814,此情形觸發錯誤。回應於該錯誤,用戶端裝置802與CCR系統200通信以請求應用程式資源檔案814。雲端儲存引擎230經由資料管理模組232自以雲端為基礎之儲存器或某其他儲存位置擷取應用程式資源檔案814,且將應用程式資源檔案814發送至用戶端裝置802。應用程式資源檔案814接著被安裝於用戶端裝置802上。
2.2.3 資料集合管理
CCR系統200亦可經組態以促進使用者之群組之間的資料項目共用及協同作業。資料項目共用及協同作業特徵係以集合之概念為中心,集合可將使用者之群組與一或多個資料項目聯合起來。圖9提供集合概念之例示性說明。首先,集合900包括使用者之群組,該等使用者各自訂用集合,且可經由一或多個經授權之用戶端裝置(諸如,用戶端裝置902、904及906)與集合共用資料項目。集合900亦包括已指派至集合900之一或多個資料項目,諸如資料項目910、912及914。雖然將集合概念說明為存取資料項目之中心集區的裝置之群組,但此係僅出於說明集合之不同態樣之間的關係之目的。在實施中,每一經授權之用戶端裝置可維持指派至集合之每一資料項目的本端複本。另外,一使用者可訂用多個集合。
在一些組態中,資料項目共用引擎220可管理共用及協同作業特徵之各種態樣,諸如集合形成、集合維持及/或集合終止。資料項目共用引擎220可與帳戶管理模組212及/或集合資料庫242互動。集合資料庫242可儲存與集合相關之資訊,諸如集合識別符、已訂用之使用者的識別符、所指派之資料項目、維持資料項目修改之記錄的一或多個記錄檔等。另外,在一些組態中,資料項目共用引擎220可經由通信介面210及/或使用者介面模組214而與用戶端裝置通信。
在一些組態中,用戶端裝置可執行用戶端側集合應用程式,該應用程式提供用於資料項目共用及協同作業特徵之用戶端側功能性。 用戶端側集合應用程式之特徵及使用者可與用戶端側集合應用程式互動之方式可隨著用戶端裝置、集合應用程式、CCR系統200及/或網路連接之組態而發生變化。
資料項目共用及協同作業之一態樣為集合形成。形成集合之方式可隨著用戶端裝置、CCR系統200及/或網路連接之組態而發生變化。然而,集合形成可包括兩個態樣:授權及鑑認。授權態樣可係關於邀請一或多個使用者訂用集合,而鑑認態樣可係關於驗證使用者實際經授權以訂用集合。
在集合形成之一方法中,使用者可藉由邀請一或多個使用者訂用集合來起始集合形成。在一些狀況下,用戶端裝置可經組態,使得使用者可在桌面上按滑鼠右鍵以啟動選單,在該選單中,可用選單項目中之一者係「形成集合」或其某一變化。或者,用戶端裝置可經組態,使得使用者可點選圖示或選擇選單選項。用戶端裝置亦可組態有包括用於建立一或多個集合之使用者介面的一應用程式。集合應用程式可要求使用者諸如藉由提供使用者名稱及密碼來進行鑑認。
使用者可藉由指定針對每一使用者之使用者識別符(諸如,使用者名稱、電子郵件地址及/或任何其他唯一使用者識別符)來邀請一或多個使用者。邀請可充當集合形成之授權步驟。為了完成集合形成,經邀請之使用者可進行鑑認,藉此令使用者訂用集合。
在此集合形成情境中,使用者在完成訂用程序之後可將檔案添加至集合。舉例而言,在邀請一或多個使用者進行訂用之後且在一些狀況下在受到邀請之使用者全都已接受邀請之前,起始集合形成之使用者可將檔案添加至集合。然而,在使用者已完成了訂用程序之前,受到邀請之使用者不可將檔案添加至集合或接收係集合之部分的檔案,此係因為使用者仍非集合之部分。
或者,使用者可藉由選擇一或多個資料項目進行共用來起始集 合形成。在一些狀況下,用戶端裝置可經組態,使得使用者可在資料項目或資料項目之群組上按滑鼠右鍵以啟動選單,在該選單中,可用選項中之一者係共用。用戶端裝置亦可經組態以執行用戶端側應用程式,該應用程式包括用於選擇一或多個資料項目以進行共用的使用者介面。或者,共用特徵可建置於應用程式中。舉例而言,文書處理應用程式可包括針對共用之選單項目。另外,在一些組態中,使用者可選擇含有一或多個資料項目之資料夾以共用資料夾內的資料項目中的每一者。
在選擇共用資料項目之後,使用者可指定與之共用資料項目之一或多個使用者。選擇一或多個使用者之動作可觸發邀請程序。使用者可藉由指定每一使用者之使用者識別符(諸如,使用者名稱、電子郵件地址及/或任何其他唯一使用者識別符)來邀請一或多個使用者。邀請可充當集合形成之授權步驟。為了完成集合形成,經邀請之使用者可進行鑑認,藉此令使用者訂用集合。儘管藉由選擇特定檔案進行共用來起始集合形成,但直至受到邀請之使用者已完成訂用程序該使用者才能接收資料項目。
在一些狀況下,CCR系統200可充當集合形成中之中間物(intermediary)。舉例而言,用戶端裝置可將集合形成資訊發送至資料項目共用引擎220。在接收到集合形成資訊時,資料項目共用引擎220可將邀請發送至受到邀請之使用者並處置鑑認程序。舉例而言,圖10說明由CCR系統200促進之例示性集合形成交換1000。形成程序從使用者1開始,其中使用者1邀請使用者2訂用集合。將邀請資訊發送至CCR系統200。CCR系統200可接著將邀請發送至使用者2。在某點處,使用者2可按邀請行動,此要求使用者2向CCR系統200進行鑑認。在完成鑑認程序時,CCR系統200可視需要向使用者1發送關於使用者2已完成訂用程序且現訂用集合的通知。在一些狀況下,來自使 用者1之邀請請求可包括資料項目。在此狀況下,在完成鑑認程序時,CCR系統200可將資料項目發送至使用者2。
當用戶端裝置在區域網路(LAN)上係在作用中時,集合形成程序亦可以同級間組態執行。舉例而言,集合形成程序可使用諸如由Apple Inc.(Cupertino,CA)發佈之Bonjour應用程式的裝置探索軟體來探索LAN上的其他用戶端裝置。訂用集合之邀請可接著直接自一用戶端裝置發送至另一用戶端裝置。在純同級間組態中,可在用戶端裝置上執行鑑認程序。或者,集合形成程序可係同級間組態及CCR系統200之促進組態的組合。
使用者接收通知之方式可隨著用戶端裝置、CCR系統200及/或網路連接之組態而發生變化。使用者可經由以下各者接收邀請:電子郵件、即時訊息、SMS、用戶端側應用程式中之通知、用戶端裝置上的快顯視窗等。舉例而言,若使用者將指定使用者識別符之邀請資訊發送至CCR系統200,則CCR系統200可維持使用者帳戶資訊的資料庫。使用者帳戶資訊中之項目可包括聯繫使用者之方法,諸如電子郵件地址或電話號碼。CCR系統200可接著使用該資訊來將邀請發送至受到邀請之使用者。在另一實例中,若使用者將邀請直接發送至LAN上之另一用戶端裝置,則受到邀請之使用者可經由受到邀請之使用者之用戶端裝置上的快顯視窗接收邀請。
在一些狀況下,可經由集合共用之資料項目的類型可受到限制。舉例而言,集合可用於共用文書處理文件,但不共用諸如電影之特定檔案類型的媒體項目。限制可係全系統的及/或基於每一集合。舉例而言,資料項目共用引擎220可經組態以允許經由任何集合共用任何資料項目類型,但可用防止共用具有AAC檔案類型之資料項目的原則形成特定集合。在另一實例中,資料項目共用引擎220可經組態以防止共用具有MP3檔案類型之資料項目,且接著可用另外防止共用 具有AAC檔案類型之資料項目的原則形成特定集合。因此,所得集合將具有防止共用具有MP3或AAC檔案類型之資料項目的原則。
在一些組態中,一集合可包括一或多個管理員。舉例而言,可將形成集合之使用者自動指定為管理員。管理員可指定與集合相關聯之原則,諸如訂用原則、資料項目添加/刪除原則、資料項目修改原則。舉例而言,管理員可建立僅管理員可邀請新使用者訂用集合之原則。在另一實例中,管理員可建立僅管理員可添加資料項目及/或自集合刪除資料項目的原則。在又一實例中,管理員可建立關於哪些使用者具有對每一資料項目之修改權的原則。在其他實例中,管理員可建立指定可指派至集合之資料項目之類型的原則。額外原則亦為可能的。
亦可與集合形成程序分離地將資料項目指派至集合。在一些狀況下,用戶端裝置可經組態,使得使用者可在資料項目或資料項目之群組上按滑鼠右鍵以啟動選單,在該選單中,可用選項中之一者係共用。用戶端裝置亦可經組態以執行用戶端側應用程式,該應用程式包括用於選擇一或多個資料項目以進行共用的使用者介面。或者,共用特徵可建置於應用程式中。舉例而言,文書處理應用程式可包括針對共用之選單項目。另外,在一些組態中,使用者可選擇一資料夾以共用資料夾內資料項目中的每一者。在選擇共用之後,使用者可指定使用者訂用之一或多個集合。
在一些狀況下,CCR系統200可充當共用資料項目中之中間物。舉例而言,一旦使用者選擇資料項目以進行共用並將資料項目指派至集合,用戶端裝置便可將資料項目連同與所指派集合相關之資訊一起傳輸至資料項目共用引擎220。資料項目共用引擎220內之集合管理模組222可更新集合資料庫242以反映新指派之資料項目。另外,在一些狀況下,集合管理模組222可識別訂用集合之其他使用者,且將資料 項目之複本散發至與已訂用之使用者相關聯的所有經授權裝置。或者,集合管理模組222可自訂用集合之用戶端裝置接收對新資料項目之請求。亦即,資料項目共用引擎220可以推入組態及/或提取組態來組態-在接收到新資料項目時,資料項目共用引擎220可將資料項目推入至已訂用之用戶端裝置及/或資料項目共用引擎220可自用戶端裝置接收對新指派之資料項目的請求。資料項目共用程序亦可當用戶端裝置在LAN上在作用中時以同級間組態執行或以使用同級間組態與CCR系統200之促進組態之組合的混合式組態執行。
圖11說明例示性情境1100,在該情境中,將資料項目1110指派至集合,且由CCR系統200促進資料項目1110之散發。將資料項目1110指派至用戶端裝置1102上的集合。一旦資料項目1110經指派,用戶端裝置1102便將資料項目1110之複本發送至資料項目共用引擎220。集合管理模組222更新集合資料庫242。另外,集合管理模組識別兩個額外的已訂用之用戶端裝置1104及1106,且將資料項目之複本(資料項目1112及1114)散發至用戶端裝置1104及1106中的每一者。在接收到資料項目之複本時,操作每一用戶端裝置之使用者可將資料項目本端地儲存於使用者選擇的儲存位置中。亦即,使用者不需要將資料項目儲存於特殊資料夾中,而是可改為將資料項目儲存於對於使用者有意義的位置中。
在一些狀況下,僅訂用集合之使用者之子集可被授權將資料項目添加至集合。此約束可經由數種技術來執行。在一些狀況下,為了執行此約束,用戶端裝置可經組態以不指派資料項目。或者,資料項目共用引擎220可經組態以不接受自未經授權使用者指派之資料項目。執行資料項目指派約束原則之額外方法亦為可能的。另外,在一些狀況下,在將每一資料項目或由指定使用者指派之每一資料項目正式地指派至集合之前,集合管理員可核准該資料項目。
除了使用集合來共用資料項目外,訂用集合之使用者亦可就指派至集合之資料項目進行協同作業。亦即,當使用者進行對指派至集合之資料項目之本端複本的修改時,可將修改自動散發至訂用集合之所有其他使用者。在一些狀況下,用戶端裝置可即時地發送修改。舉例而言,可隨著修改進行而發送修改。然而,用戶端裝置亦可經組態而以週期性間隔發送修改集合及/或在有來自使用者之指令時發送修改集合。舉例而言,修改集合可每5分鐘發送一次,或在儲存資料項目時予以發送。在另一實例中,可當使用者選擇諸如發送修改之選項時發送修改集合。另外,用戶端裝置可經組態以在用戶端裝置係離線時收集修改,且接著一旦用戶端裝置連接至網路便發送所有所收集的修改。
用戶端裝置上及/或資料項目共用引擎220中之版本控制特徵可輔助協同作業特徵。舉例而言,用戶端裝置可經組態,使得每當使用者修改指派至集合之資料項目時,用戶端裝置將整個資料項目發送至資料項目共用引擎220,在資料項目共用引擎220處,版本控制模組224將改變合併至儲存於集合資料庫242中的當前版本中。為了將改變散發至訂用集合之其他用戶端裝置,資料項目共用引擎可請求已訂用之用戶端裝置上之資料項目的當前複本,合併修改,且將經更新之資料項目傳回至用戶端裝置。此技術招致顯著的額外耗用,且具有擾亂其他已訂用之裝置上的使用者之可能。因此,替代例係組態用戶端裝置以包括用戶端側版本控制應用程式及具有版本控制特徵(諸如,版本控制模組224)的資料項目共用引擎220。當使用者修改資料項目時,用戶端裝置可使用版本控制軟體來識別改變並僅將修改發送至資料項目共用引擎220。版本控制模組224可記錄接收到之修改,且將接收到之修改散發至其他已訂用之用戶端裝置。一旦在其他用戶端裝置處接收到,版本控制軟體便可合併接收到之修改與任何本端改變。修改散 發及/或版本控制特徵亦可當用戶端裝置在LAN上在作用中時以同級間組態執行或以使用同級間組態與CCR系統200之促進組態之組合的混合式組態執行。
可將每一資料項目修改合併至資料項目中,使得用戶端裝置可儲存指派至集合之資料項目的單一複本。在一些狀況下,資料項目修改可為可與資料項目之未經修改區段或先前經修改區段區分的。舉例而言,用戶端裝置可顯示係諸如文書處理文件之文字文件之資料項目,其中使用註記(rcdlining)來區分資料項目修改。用於在新修改與先前現有資料項目內容之間引起區別的多種技術為可能的,諸如反白顯示、註記、字型改變、附加註釋或註解等。另外,在一些狀況下,可將使用者名稱或其他識別符附加至修改,及/或與修改並排顯示。
在一些狀況下,多個使用者可同時修改資料項目。在此狀況下,資料項目共用引擎220及/或版本控制軟體可包括衝突解決策略,使得用戶端裝置僅維持集合中每一資料項目的單一複本。亦即,當衝突發生時,衝突並不引起在用戶端裝置上產生資料項目之額外複本。用戶端裝置可維持資料項目之單一複本,其中衝突的修改皆呈現於資料項目之本端複本中。舉例而言,衝突的修改可皆被合併至資料項目之本端複本中,且使用者可諸如藉由選擇修改之全部或部分來手動地解決衝突。在一些情況下,可解決衝突之使用者可係集合之管理員。或者,可使用基於投票之程序。舉例而言,訂用集合之每一使用者可選擇衝突的修改中之一者,具有最大投票數之修改可係所使用之修改。或者,管理員可在作出選擇時使用投票。在一些狀況下,可將解決原則指派至資料項目或集合。舉例而言,原則可指定:自動選擇與較高等級的使用者相關聯的衝突。一旦已解決了衝突,資料項目共用引擎220便可散發解決方案。
多種技術可用以呈現資料項目中之衝突的修改。舉例而言,衝 突的修改可彼此緊挨著呈現,但諸如經由字型或顏色被不同地反白顯示。在另一實例中,衝突的修改可被順序地呈現。在一些狀況下,可諸如基於指派至與修改相關聯之使用者的等級對順序呈現之修改進行分級。在又一實例中,衝突的修改可呈現於在原始內容旁之邊界中。在又一實例中,衝突的修改可呈現於內容上方之快顯方塊或視窗中。
在一些狀況下,僅使用者之子集可修改指派至集合之資料項目。此約束可經由數種技術來執行。在一些狀況下,為了執行此約束,資料項目可儲存於具有唯讀存取之用戶端裝置上。或者,用戶端裝置可經組態以不發送由未經授權以修改資料項目之使用者進行的任何修改。資料項目共用引擎220亦可經組態以不記錄或散發接收到之任何未經授權的修改。在又一組態中,用戶端裝置可拒絕接收由未經授權之使用者進行的修改。執行對指派至集合之資料項目之修改約束的額外方法亦為可能的。
資料項目共用亦可經組態,使得可在任何時間邀請新使用者來訂用集合。在一些狀況下,僅集合之管理員可邀請新使用者訂用集合。或者,管理員可審查並核准或拒絕由訂用集合之非管理使用者提交的邀請。一旦新使用者訂用集合,新使用者便可接收當前指派至集合之所有資料項目連同修改。
在一些組態中,可自集合移除先前指派至集合之資料項目。自集合移除資料項目之結果可隨著組態而發生變化。舉例而言,在一些狀況下,訂用集合之所有使用者可保持資料項目之本端複本,但修改將不再被傳播,且新進行訂用之使用者將不接收經移除之資料項目。或者,可刪除所有本端複本,但在一些組態中,指派資料項目之使用者可保持資料項目。另外,在一些狀況下,資料項目共用引擎220可維持資料項目之記錄。在一些狀況下,僅集合之管理員及/或指派資料項目之使用者可自集合移除資料項目。
類似於資料項目,在一些組態中,使用者可取消訂用集合。取消訂用集合之結果可隨著組態而發生變化。舉例而言,在一些狀況下,可自使用者之用戶端裝置移除未由該使用者指派的指派至集合之資料項目的所有本端複本。或者,使用者可保持本端複本,但修改將不再傳播至集合。另外,在一些狀況下,管理員可自集合移除使用者及/或變更使用者的與集合相關聯之權限。舉例而言,在使用者正藉由指派非所要內容而濫用集合,或集合係與一工作環境中之專案相關聯且使用者不再致力於該專案的情況下。
另外,在一些組態中,可刪除集合。舉例而言,若集合係與專案相關聯且專案被取消或完成,則可不再需要該集合。刪除集合之結果可隨著組態而發生變化。在一些組態中,可刪除指派至集合之資料項目的所有本端複本。在一些狀況下,管理員及/或指派資料項目之使用者可維持資料項目。或者,所有使用者可維持指派至集合之資料項目的本端複本。另外,在一些狀況下,資料項目共用引擎220可維持集合之記錄。
如先前所提及,指派至集合之資料項目的本端複本可儲存於用戶端裝置上的任何地方。因此,在一些組態中,被共用的資料項目可具有在用戶端裝置上區分被共用的資料項目與非共用資料項目的區別化特徵。舉例而言,被共用的資料項目可經反白顯示,以不同顏色顯示,以不同程度之不透明性顯示等。另外,可就區別化特徵而與資料項目被指派至之集合進行協調。舉例而言,指派至集合1之資料項目可以紅色顯示,且指派至集合2之資料項目可以藍色顯示。在一些狀況下,檔案描述符細節可指定資料項目是否被共用及/或資料項目被指派至的集合。
2.2.4 私密性及安全
如上文所描述,在一些組態中,雲端計算資源系統可用以儲存 使用者資料。本發明考量到,在一些例子中,此所收集資料可能包括個人及/或敏感資料。本發明進一步考量到,對此資料之收集、分析、揭示、傳送、儲存或其他使用負責的實體應實施且一貫地使用私密原則及做法,該等私密原則及做法大體上被認可為滿足或超出針對將個人資訊資料維持為私密且安全的業界或政府要求。舉例而言,應收集來自使用者之個人資料以用於實體之合法及合理使用,且不能在彼等合法使用範圍外共用或出售個人資料。另外,此收集應僅在使用者知情並同意之後發生。另外,此等實體應採取任何所需步驟以保護對此個人資料之存取權並使該存取為安全的,及確保具有對個人資料之存取權的其他實體遵守其私密性及安全原則以及程序。另外,此等實體可使其自身經受由第三方進行之評估以認證其遵守廣泛接受之私密性原則及做法。
不管前述內容,本發明亦考量到使用者選擇性地阻止對個人資料之使用或對個人資料之存取的實施例。亦即,本發明考量到,可提供硬體及/或軟體元件以防止或阻止對此個人資料之存取。舉例而言,本技術可經組態以允許使用者選擇儲存於以雲端為基礎之儲存器中的資料。在另一實例中,本技術亦可經組態以允許使用者指定儲存於以雲端為基礎之儲存器中的可與其他使用者共用之資料。
因此,儘管本發明廣泛地涵蓋對個人資料之使用以實施一或多個不同的所揭示實施例,但本發明亦考量到,亦可在不需要存取此個人資料的情況下實施該等不同實施例。亦即,不會歸因於缺少此個人資料之全部或一部分而使本技術之不同實施例不可操作。舉例而言,非個人資料可儲存於以雲端為基礎之儲存器中。
3. 使用
CCR系統200促進多種以雲端為基礎之特徵,包括增強型基於雲端之儲存、基於雲端之資源,以及資料項目共用及協同作業。圖12係 說明用於使用增強型基於雲端之儲存來儲存資料項目的例示性方法1200之流程圖。為了清楚,依據諸如展示於圖2中之例示性雲端計算資源系統來論述此方法。儘管在圖12中展示了特定步驟,但在其他實施例中,方法可具有比所展示之步驟多或少之步驟。當雲端計算資源系統自用戶端裝置接收到用以儲存資料項目之請求(1202)時,資料項目儲存方法開始。回應於接收到儲存請求,雲端計算資源系統可獲得使用者帳戶細節(1204)。
透過使用使用者帳戶細節及與資料項目相關之資訊,雲端計算資源系統可判定其是否可將資料項目儲存於以雲端為基礎之儲存器中(1206)。雲端計算資源系統可基於預定義準則作出判定。舉例而言,在一些狀況下,雲端計算資源系統可經組態以分配比在使用者帳戶細節中指定之經核准最大容量小的空間。或者,雲端計算資源系統可判定,使用者已超出如在使用者帳戶細節中指定的使用者之經核准之最大儲存容量。因此,雲端計算系統可基於空間分配及/或授權作出判定。在一些狀況下,雲端計算資源系統可判定,相較於將資料項目儲存於外部網路儲存裝置上,將資料項目儲存於以雲端為基礎之儲存器中為效率較低的。舉例而言,相對於外部網路儲存裝置,將資料項目儲存於以雲端為基礎之儲存器中可增加潛時且降低效能。另外,雲端計算資源系統可基於使用者偏好設定作出判定。舉例而言,使用者可指定:特定資料項目或特定類型之資料項目應儲存於外部網路儲存裝置上。額外預定義準則亦為可能的。
當雲端計算資源系統判定資料項目不可儲存於以雲端為基礎之儲存器中時,雲端計算資源系統可檢查帳戶細節,以判定是否存在經授權之外部網路儲存裝置(1208)。若在使用者帳戶細節中授權了至少一個外部網路儲存裝置,則雲端計算資源系統可使得資料項目儲存於經授權之外部網路儲存裝置中(1214)。在一些狀況下,使用者帳戶細 節可指定一個以上經授權之外部網路儲存裝置。在此狀況下,雲端計算資源系統可自可用外部網路儲存裝置選擇一外部網路儲存裝置。在一些狀況下,選擇可係基於預定義選擇準則,諸如隨機、可用之空間量、距雲端計算資源系統之距離、資料項目類型、使用者偏好設定、外部網路儲存裝置之可靠性等。另外,雲端計算儲存裝置可更新使用者帳戶細節以反映儲存位置(1216)。
若使用者帳戶細節未指定經授權之外部網路儲存裝置,則雲端計算系統可經組態以評估雲端計算裝置不可將資料項目儲存於以雲端為基礎之儲存器中的原因(1210)。基於評估之結果,雲端計算資源系統可採取補救動作(1212)。舉例而言,若雲端計算資源系統判定,資料項目因為雲端計算資源系統分配了比在使用者帳戶細節中授權之空間小的空間而未儲存於以雲端為基礎之儲存器中,則雲端計算資源系統可分配更多空間且其後使用雲端計算資源儲存資料項目。在另一實例中,若雲端計算資源系統判定,資料項目因為使用者超出了在使用者帳戶細節中授權之空間量而未儲存於以雲端為基礎之儲存器中,則雲端計算資源系統可通知使用者。在又一實例中,若雲端計算資源系統判定,資料項目因為判定將資料項目儲存於外部網路儲存裝置上將為更有效率的而未儲存於以雲端為基礎之儲存器中,則雲端計算資源系統可將資料項目儲存於以雲端為基礎之儲存器中。在再一實例中,若雲端計算資源系統判定,使用者請求將資料項目儲存於外部網路儲存裝置中,則雲端計算資源系統可通知使用者缺少經授權之外部網路儲存裝置,及/或請求用以將資料項目儲存於以雲端為基礎之儲存器中的權限。額外補救動作亦為可能的。在完成步驟1212或1216之後,雲端計算資源系統可恢復先前處理,其可包括重複方法1200。
圖13係說明用於使用增強型基於雲端之儲存來擷取資料項目的例示性方法1300之流程圖。為了清楚,依據諸如展示於圖2中之例示 性雲端計算資源系統來論述此方法。儘管在圖13中展示了特定步驟,但在其他實施例中,方法可具有比所展示之步驟多或少之步驟。當雲端計算資源系統自用戶端裝置接收到用以擷取資料項目的請求(1302)時,資料項目擷取方法可開始。回應於接收到擷取請求,雲端計算資源系統可獲得使用者帳戶細節(1304)。
透過使用使用者帳戶細節及與資料項目相關之資訊,雲端計算資源系統可識別資料項目是否儲存於以雲端為基礎之儲存器中(1306)。若雲端計算資源系統判定,資料項目未儲存於以雲端為基礎之儲存器中,則雲端計算資源系統可識別資料項目是否儲存於外部網路儲存裝置上(1308)。若雲端計算資源系統未能識別所請求之資料項目的儲存位置,則雲端計算資源系統可將失敗訊息發送至進行請求的用戶端裝置(1310)。在一些狀況下,若資料項目從未儲存於以雲端為基礎之儲存器中,則失敗可發生。或者,若資料項目過去儲存於外部網路儲存裝置上,但該裝置不再可由雲端計算資源系統存取,例如使用者自網路斷開了外部網路儲存裝置,則失敗可發生。額外失敗情境亦為可能的。
若雲端計算資源系統能夠識別經請求之資料項目的儲存位置,則雲端計算資源系統可自儲存位置擷取資料項目(1312),且將資料項目發送至進行請求的用戶端裝置(1314)。在完成步驟1310或1314之後,雲端計算資源系統可恢復先前處理,其可包括重複方法1300。
圖14為說明用於安裝具有應用程式資源檔案預留位置之應用程式之例示性方法1400的流程圖。為了清楚,依據例示性用戶端裝置來論述此方法,該用戶端裝置含有經組態用於檔案擷取之作業系統,且連接至諸如展示於圖2中之雲端計算資源系統。儘管在圖14中展示了特定步驟,但在其他實施例中,方法可具有比所展示之步驟多或少之步驟。當在用戶端裝置上執行之作業系統接收到用以安裝包括可執行 之主應用程式及一或多個應用程式資源檔案的一應用程式之請求(1402)時,應用程式安裝方法可開始。回應於請求,作業系統判定是否應安裝一或多個應用程式資源檔案(1404)。在一些狀況下,是否安裝應用程式資源檔案之判定可係基於預定義準則,諸如應用程式資源檔案大小、應用程式之所安裝應用程式資源檔案的最大總大小、目標應用程式使用,或應用程式使用歷史。若作業系統判定應安裝應用程式資源檔案,則作業系統安裝應用程式資源檔案(1408)。然而,若作業系統判定不應安裝應用程式資源檔案,則作業系統安裝應用程式資源檔案預留位置(1406)。在一些狀況下,應用程式資源檔案預留位置可具有實際應用程式資源檔案之外觀,但替代地係空檔案。
在安裝應用程式資源檔案或應用程式資源檔案預留位置之後,作業系統判定是否存在更多的要安裝之應用程式資源檔案(1410)。若是,則作業系統重複程序。在完成步驟1410之後,用戶端裝置上之作業系統可恢復先前處理,其可包括重複方法1400。
圖15係說明用於獲得應用程式資源檔案之例示性方法1500的流程圖。為了清楚,依據例示性用戶端裝置來論述此方法,該用戶端裝置含有經組態用於檔案擷取之操作系統,且連接至諸如展示於圖2中之雲端計算資源系統。儘管在圖15中展示了特定步驟,但在其他實施例中,方法可具有比所展示之步驟多或少之步驟。當在用戶端裝置上執行之作業系統接收到來自亦在用戶端裝置上執行之應用程式的對應用程式資源檔案之請求(1502)時,應用程式資源檔案擷取方法可開始。回應於請求,作業系統判定,儲存於用戶端裝置上之應用程式資源檔案為實際應用程式資源檔案抑或替代地係應用程式資源檔案預留位置(1504)。在一些狀況下,應用程式資源檔案預留位置可具有實際應用程式資源檔案之外觀,但替代地係空檔案。在一些組態中,當設定了檔案上之特殊位元時,作業系統可判定應用程式資源檔案係預留 位置。用於區別實際應用程式資源檔案與預留位置之其他技術亦為可能的。
若作業系統判定,所請求之應用程式資源檔案對應於應用程式資源檔案預留位置,則作業系統可觸發錯誤。所觸發之錯誤可使得用戶端裝置自雲端計算資源系統請求應用程式資源檔案(1506)。在接收到應用程式資源檔案時,作業系統可用接收到之應用程式資源檔案替換預留位置(1508)。最後,作業系統可將應用程式資源檔案發送至進行請求的應用程式(1510)。在完成步驟1510之後,用戶端裝置上之作業系統可恢復先前處理,其可包括重複方法1500。
圖16係說明用於資料項目共用及協同作業之例示性方法1600的流程圖。為了清楚,依據諸如展示於圖2中之例示性雲端計算資源系統來論述此方法。然而,此方法亦可部分或完全地在用戶端裝置上執行。儘管在圖16中展示了特定步驟,但在其他實施例中,方法可具有比所展示之步驟多或少之步驟。當雲端計算資源系統自用戶端裝置接收到用以形成資料項目群組或集合之請求(1602)時,資料項目共用及協同作業方法可開始。用以形成集合之請求可包括一組使用者識別符。另外,在一些狀況下,請求可包括一或多個資料項目以指派至集合。除了隨集合形成請求接收到之該組使用者識別符外,雲端計算資源系統亦可單獨地接收用以邀請使用者訂用集合的請求。
回應於接收到用以形成集合之請求或用以邀請使用者訂用集合之單獨請求,雲端計算資源系統可將訂用集合之邀請發送至與包括於請求中之使用者識別符相關聯的每一使用者(1604)。在某稍遲時點處,雲端計算資源系統可接收來自受到邀請之使用者之對訂用邀請的回應。基於回應,雲端計算資源系統可令使用者訂用集合(1606)。在一些狀況下,雲端計算資源系統可要求使用者在完成訂用程序之前向系統進行鑑認。在令使用者訂用之後,CCR系統可檢查資料項目是否 已指派至集合(1608)。若是,則雲端計算資源系統可將每一所指派之資料項目的複本發送至與已訂用之使用者相關聯的用戶端裝置(1614)。在一些狀況下,使用者可具有在使用者之帳戶中授權的多個用戶端裝置。在此狀況下,雲端計算資源系統可將複本發送至每一經授權之用戶端裝置。
在一些狀況下,用以形成集合之請求可包括一或多個資料項目。或者,雲端計算資源系統可接收用以將資料項目指派至集合之單獨請求。回應於接收到資料項目,雲端計算資源系統可將資料項目指派至集合(1610)。在指派資料項目之後,雲端計算資源系統可判定是否存在除將資料項目指派至集合之使用者外的其他任何已訂用集合之使用者(1612)。若是,則雲端計算資源系統可將資料項目之複本發送至與已訂用之使用者相關聯的用戶端裝置(1614)。在一些狀況下,使用者可具有在使用者之帳戶中授權的多個用戶端裝置。在此狀況下,雲端計算資源系統可將複本發送至每一經授權之用戶端裝置。在一些狀況下,雲端計算資源系統可同時地令使用者訂用集合(1606)及將資料項目指派至集合(1610)。
在某稍遲時點處,雲端計算資源系統可接收對指派至集合之資料項目的修改(1616)。在一些狀況下,修改可係一連串修改。另外,雲端計算資源系統可自多個使用者接收對資料項目的修改。回應於接收到修改,雲端計算資源系統可將修改散發至訂用集合之每一使用者(1618)。在完成步驟1618之後,雲端計算資源系統可恢復先前處理,其可包括重複方法1600。
圖17係說明用於令使用者訂用集合之例示性方法1700的流程圖。為了清楚,依據諸如展示於圖2中之例示性雲端計算資源系統來論述此方法。然而,此方法亦可部分或完全地在用戶端裝置上執行。儘管在圖17中展示了特定步驟,但在其他實施例中,方法可具有比所 展示之步驟多或少之步驟。當雲端計算資源系統接收到用以邀請使用者訂用集合之請求(1702)時,使用者訂用方法可開始。請求可包括使用者識別符。在一些狀況下,雲端計算資源系統可接收作為用以形成集合之請求的部分的用以邀請使用者訂用集合之請求。或者,雲端計算資源系統可接收用以邀請使用者之單獨請求。在一些狀況下,雲端計算資源系統可自集合之管理員及/或具有邀請使用者訂用集合之授權的另一使用者接收用以邀請使用者的請求。
回應於接收到用以邀請使用者訂用集合之請求,雲端計算資源系統可將用以訂用集合之邀請發送至與使用者識別符相關聯的使用者(1704)。雲端計算資源系統可經組態以使用多種不同技術來發送邀請。舉例而言,雲端計算資源系統可經由以下各者發送邀請:電子郵件、即時訊息、SMS、用戶端側應用程式中之通知、用戶端裝置上的快顯視窗等。
在某稍遲時間,雲端計算資源系統可自受到邀請之使用者接收回應(1706)。若雲端計算資源系統判定回應係肯定回應(1708),則雲端計算資源系統可鑑認作出回應之使用者(1710)。雲端計算資源系統可使用任何鑑認程序。舉例而言,雲端計算資源系統可藉由要求使用者登入訂用邀請所發送至之使用者帳戶來鑑認使用者。用於鑑認使用者之替代性技術亦為可能的。
在一些組態中,使用者可用否定回應來對訂用邀請作出回應。亦即,使用者可發送使用者不想要訂用集合之明確回應,而非簡單地忽略邀請。在一些狀況下,雲端計算資源系統可忽略明確的否定回應。或者,雲端計算資源系統可採取動作(諸如通知請求該邀請之使用者)及/或更新與集合相關聯之任何記錄。
雲端計算資源系統可判定使用者鑑認是否成功(1712),且相應地作出回應。若鑑認確實成功,則雲端計算資源系統可完成使用者對集 合的訂用(1714)。完成使用者之訂用可包括將使用者之識別符添加至集合之記錄。在一些狀況下,在完成訂用時,雲端計算資源系統可將通知發送至請求該邀請之使用者及/或集合之管理員。若鑑認失敗,則雲端計算資源系統可拒絕使用者對集合的訂用(1716)。在一些組態中,在鑑認失敗時,使用者可嘗試再次完成鑑認程序。另外,在一些狀況下,雲端計算資源系統可限定失敗之鑑認嘗試之數目的上限。此外,在一些狀況下,在訂用嘗試失敗時,雲端計算資源系統可將通知發送至請求該邀請之使用者及/或集合之管理員。在完成步驟1714或1716時,或在步驟1708處之否定回應時,雲端計算資源系統可恢復先前處理,其可包括重複方法1700。
圖18係說明用於將資料項目指派至集合之例示性方法1800的流程圖。為了清楚,依據諸如展示於圖2中之例示性雲端計算資源系統來論述此方法。然而,此方法亦可部分或完全地在用戶端裝置上執行。儘管在圖18中展示了特定步驟,但在其他實施例中,方法可具有比所展示之步驟多或少之步驟。當雲端計算資源系統接收到用以將資料項目指派至集合之請求(1802)時,資料項目指派方法可開始。在一些狀況下,雲端計算資源系統可接收作為用以形成集合之請求的部分的用以將資料項目指派至集合之請求。或者,雲端計算資源系統可接收用以將資料項目指派至集合之單獨請求。
回應於接收到用以將資料項目指派至集合之請求,雲端計算資源系統可檢查進行請求的使用者是否經授權以將資料項目指派至集合(1804)。在一些狀況下,集合可具有原則,使得僅訂用集合之使用者的子集被授權將資料項目指派至集合。舉例而言,集合可具有僅管理員可將資料項目指派至集合之原則。
若雲端計算資源系統判定使用者被准許將資料項目指派至集合,則雲端計算資源系統可檢查資料項目是否具有被准許指派至集合 之類型(1806)。在一些狀況下,集合可具有禁止將一些資料項目類型指派至集合之原則。舉例而言,集合可具有僅可將文書處理文件指派至集合之原則。
若雲端計算資源系統判定,資料項目具有被准許指派至集合之類型,則雲端計算資源系統可將資料項目指派至集合(1808)。將資料項目指派至集合可包括將資料項目添加至集合之記錄。在一些狀況下,在指派了資料項目時,雲端計算資源系統可將通知發送至請求該指派之使用者及/或集合之管理員。
在將資料項目指派至集合時,雲端計算資源系統可將資料項目之複本散發至與訂用集合之每一使用者相關聯的用戶端裝置(1810)。在一些狀況下,使用者可具有在使用者之帳戶中授權的多個用戶端裝置。在此狀況下,雲端計算資源系統可將複本發送至每一經授權之用戶端裝置。在一些組態中,替代發送資料項目及/或除發送資料項目外,雲端計算資源系統可將關於新資料項目已指派至集合之通知散發至訂用集合之每一使用者。雲端計算資源系統可經組態以使用多種不同技術來發送通知。舉例而言,雲端計算資源系統可經由以下各者發送通知:電子郵件、即時訊息、SMS、用戶端側應用程式中之通知、用戶端裝置上的快顯視窗等。
若雲端計算資源系統判定並未授權使用者將資料項目指派至集合及/或在集合中不准許該資料項目類型,則雲端計算資源系統可阻止資料項目進入集合(1812)。在一些組態中,在指派失敗時,雲端計算資源系統可將通知發送至請求該指派之使用者及/或集合之管理員。在一些狀況下,通知可指示指派失敗之原因。在完成步驟1810或1812之後,雲端計算資源系統可恢復先前處理,其可包括重複方法1800。
圖19係說明用於修改指派至集合之資料項目之例示性方法1900 的流程圖。為了清楚,依據諸如展示於圖2中之例示性雲端計算資源系統來論述此方法。然而,此方法亦可部分或完全地在用戶端裝置上執行。儘管在圖19中展示了特定步驟,但在其他實施例中,方法可具有比所展示之步驟多或少之步驟。當雲端計算資源系統接收對指派至集合之資料項目之修改(1902)時,資料項目修改方法可開始。在一些狀況下,修改可係整個資料項目。或者,修改可係指示兩個版本之間的差異之資料項目片段。另外,在一些狀況下,修改可係一連串修改。
回應於接收到對資料項目之修改,雲端計算資源系統可檢查發送修改之使用者是否經授權以修改資料項目(1904)。在一些狀況下,集合可具有原則,使得僅訂用集合之使用者的子集被授權修改資料項目。或者,可在資料項目層級發送原則。亦即,每一資料項目可具有指示准許哪些使用者進行修改的相關聯權限集合。
若雲端計算資源系統判定准許使用者修改資料項目,則雲端計算資源系統可更新資料項目(1906)。在一些狀況下,雲端計算資源系統可維持資料項目之複本。當接收到修改時,雲端計算資源系統可將修改合併至資料項目之複本中。另外,雲端計算資源系統可維持修改之記錄。在接收到修改時,雲端計算資源系統可將修改散發至與訂用集合之每一使用者相關聯的用戶端裝置(1908)。
若雲端計算資源系統判定不准許使用者修改資料項目,則雲端計算資源系統可阻止修改(1910)。在一些組態中,在修改失敗時,雲端計算資源系統可將通知發送至嘗試共用修改之使用者及/或集合之管理員。在一些狀況下,通知可指示修改失敗之原因。在完成步驟1908或1910之後,雲端計算資源系統可恢復先前處理,其可包括重複方法1900。
4. 例示性系統
參看圖20,例示性系統2000包括通用計算裝置2000,該通用計算裝置2000包括處理單元(CPU或處理器)2020及系統匯流排2010,該系統匯流排2010將包括諸如唯讀記憶體(ROM)2040及隨機存取記憶體(RAM)2050之系統記憶體2030的各種系統組件耦接至處理器2020。系統2000可包括快取記憶體2022,該快取記憶體2022直接與處理器2020連接、接近處理器2020或整合為處理器2020之部分。系統2000將來自記憶體2030及/或儲存裝置2060之資料複製至快取記憶體中以供處理器2020快速存取。以此方式,快取記憶體提供了避免處理器2020在等待資料時延遲的效能提昇。此等及其他模組可控制或經組態以控制處理器2020執行各種動作。其他系統記憶體2030亦可供使用。記憶體2030可包括具有不同效能特性之多個不同類型之記憶體。可瞭解,本發明可在具有一個以上處理器2020之計算裝置2000上操作,或在經網路連接在一起以提供更大處理能力的計算裝置之群組或叢集上操作。處理器2020可包括經組態以控制處理器2020之任何通用處理器及硬體模組或軟體模組(諸如,儲存於儲存裝置2060中的模組1 2062、模組2 2064及模組3 2066),以及軟體指令併入於實際處理器設計中的專用處理器。處理器2020可本質上係含有多個核心或處理器、匯流排、記憶體控制器、快取記憶體等之完全獨立之計算系統。多核心處理器可係對稱或非對稱的。
系統匯流排2010可為若干類型之匯流排結構中之任一者,該等匯流排結構包括使用多種匯流排架構中之任一者的記憶體匯流排或記憶體控制器、周邊匯流排及區域匯流排。儲存於ROM 2040或其類似者中之基本輸入/輸出(BIOS)可提供有助於在計算裝置2000內之各元件之間傳送資訊(諸如在啟動期間)的基本常式。計算裝置2000進一步包括儲存裝置2060,諸如硬碟機、磁碟機、光碟機、磁帶機或其類似者。儲存裝置2060可包括用於控制處理器2020之軟體模組2062、 2064、2066。考量到其他硬體或軟體模組。儲存裝置2060係藉由驅動介面連接至系統匯流排2010。碟機及相關聯電腦可讀儲存媒體提供計算裝置2000之電腦可讀指令、資料結構、程式模組及其他資料的非揮發性儲存。在一個態樣中,執行特定功能之硬體模組包括與必要硬體組件(諸如,處理器2020、匯流排2010、顯示器2070,等等)結合之儲存於非暫時性電腦可讀媒體中之軟體組件以進行該功能。基本組件對於熟習此項技術者為已知的,且考量到視裝置之類型,諸如,裝置2000為小型手持型計算裝置、桌上型電腦抑或電腦伺服器而定的適當變化。
儘管本文所描述之例示性實施例使用硬碟2060,但熟習此項技術者應瞭解,亦可在例示性作業環境中使用可儲存可由電腦存取之資料的其他類型之電腦可讀媒體,諸如匣式磁帶、快閃記憶卡、數位多功能光碟、卡匣、隨機存取記憶體(RAM)2050、唯讀記憶體(ROM)2040、纜線或含有位元串流之無線信號及其類似者。非暫時性電腦可讀儲存媒體明確地將諸如能量、載波信號、電磁波及信號本身之媒體排除在外。
為了允許實現與計算裝置2000之使用者互動,輸入裝置2090表示任何數目個輸入機構,諸如用於語音之麥克風、用於示意動作或圖形輸入之觸敏式螢幕、鍵盤、滑鼠、動作輸入、語音,等等。輸出裝置2070亦可係對於熟習此項技術者已知之數種輸出機構中的一或多者。在一些例子中,多模式系統使得使用者能夠提供多種類型之輸入以與計算裝置2000通信。通信介面2080通常支配並管理使用者輸入及系統輸出。不存在關於在任何特定硬體配置上操作的約束,且因此可容易地用改良之硬體或韌體配置(在被開發出來時)來取代此處之基本特徵。
為了解釋清楚,說明性系統實施例被呈現為包括個別功能區 塊,該等個別功能區塊包括標註為「處理器」或處理器2020的功能區塊。此等區塊表示之功能可經由使用共用或專用硬體來提供,共用或專用硬體包括(但不限於)能夠執行軟體之硬體,及經特製以作為在通用處理器上執行之軟體的等效物操作的硬體(諸如,處理器2020)。舉例而言,呈現於圖20中之一或多個處理器的功能可由單一共用處理器或多個處理器來提供。(術語「處理器」之使用不應被解譯為專指能夠執行軟體之硬體。)說明性實施例可包括微處理器及/或數位信號處理器(DSP)硬體、用於儲存執行下文所論述之操作之軟體的唯讀記憶體(ROM)2040,及用於儲存結果之隨機存取記憶體(RAM)2050。亦可提供超大規模整合(VLSI)硬體實施例以及與通用DSP電路組合之定製VLSI電路。
將各種實施例之邏輯運算實施為:(1)執行於一般用途電腦內之可程式化電路上之一連串電腦實施步驟、操作或程序,(2)執行於特殊用途可程式化電路上之一連串電腦實施步驟、操作或程序;及/或(3)可程式化電路內之互連之機器模組或程式引擎。圖20中所展示之系統2000可實踐所敍述方法之全部或部分,可為所敍述系統之一部分,及/或可根據所敍述非暫時性電腦可讀儲存媒體中之指令而操作。可將此等邏輯運算實施為模組,該等模組經組態以控制處理器2020以根據模組之程式化來執行特定功能。舉例而言,圖20說明係經組態以控制處理器2020之模組的三個模組Mod1 2062、Mod2 2064及Mod3 2066。此等模組可儲存於儲存裝置2060上,且在執行時載入至RAM 2050或記憶體2030中,或如此項技術中所知曉可儲存於其他電腦可讀記憶體位置中。
在本發明之範疇內之實施例亦可包括有形及/或非暫時性電腦可讀儲存媒體,其用於攜載電腦可執行指令或資料結構或者儲存有電腦可執行指令或資料結構。此類非暫時性電腦可讀儲存媒體可為可由通 用或專用電腦(包括如上文所論述之任何專用處理器的功能設計)存取之任何可用媒體。作為實例且非限制,此類非暫時性電腦可讀媒體可包括RAM、ROM、EEPROM、CD-ROM或其他光碟儲存器、磁碟儲存器或其他磁性儲存裝置,或可用以攜載或儲存呈電腦可執行指令、資料結構或處理器晶片設計之形式的所要程式碼構件的任何其他媒體。當經由網路或另一通信連接(固線式連接、無線連接或其組合)將資訊傳送或提供至電腦時,該電腦將該連接恰當地視為電腦可讀媒體。因此,將任何此連接恰當地稱為電腦可讀媒體。以上各者之組合亦應包括於電腦可讀媒體之範疇內。
電腦可執行指令包括(例如)使通用電腦、專用電腦或專用處理裝置執行某一功能或功能群組的指令及資料。電腦可執行指令亦包括由處於獨立或網路環境中之電腦執行的程式模組。一般而言,程式模組包括執行特定任務或實施特定抽象資料類型的常式、程式、組件、資料結構、物件及專用處理器之設計中固有的函式等。電腦可執行指令、相關聯之資料結構及程式模組表示用於執行本文中所揭示之方法之步驟的程式碼構件之實例。此等可執行指令或相關聯資料結構之特定序列表示用於實施此等步驟中所描述之功能的相應動作之實例。
熟習此項技術者將瞭解,可藉由許多類型之電腦系統組態在網路計算環境中實踐本發明之其他實施例,該等電腦系統組態包括個人電腦、手持型裝置、多處理器系統、基於微處理器之或可程式化之消費型電子裝置、網路PC、小型電腦、大型電腦、及其類似者。亦可在分散式計算環境中實施各實施例,在分散式計算環境中,藉由本端及遠端處理裝置來執行任務,本端及遠端處理裝置係經由通信網路而鏈接(藉由固線式鏈路、無線鏈路或藉由其組合)。在一分散式計算環境中,程式模組可位於本端與遠端記憶體儲存裝置兩者中。
僅作為說明而提供上文所描述之各種實施例且不應將其解譯為 限制本發明之範疇。熟習此項技術者將容易認識到可在不遵循本文中所說明及描述之實例實施例及應用程式的情況下且在不脫離本發明之精神及範疇的情況下對本文中所描述之原理進行的各種修改及改變。
200‧‧‧例示性雲端計算資源(CCR)系統
230‧‧‧雲端儲存引擎
232‧‧‧資料管理模組
244‧‧‧以雲端為基礎之儲存器
800‧‧‧例示性情境
802‧‧‧用戶端裝置
810‧‧‧應用程式
812‧‧‧應用程式資源檔案
814‧‧‧應用程式資源檔案
816‧‧‧應用程式資源檔案
818‧‧‧應用程式資源檔案預留位置

Claims (20)

  1. 一種電腦實施方法,其包含:藉由一用戶端裝置在該用戶端裝置上從在與該用戶端裝置網路通信之一以雲端為基礎之儲存器接收用以安裝一應用程式之一請求,該應用程式包含一可執行之主應用程式及能由該可執行之主應用程式所使用之至少一第一應用程式資源檔案;基於該第一應用程式資源檔案之一大小及在該用戶端裝置上之可用記憶體之一數量,由該用戶端裝置決定安裝一第一應用程式資源檔案預留位置以代替該第一應用程式資源檔案,該第一應用程式資源檔案預留位置之一大小係小於該第一應用程式資源檔案之該大小,其中該應用程式資源檔案預留位置具有一特定位元以指示該應用程式資源檔案預留位置係對應於儲存在該以雲端為基礎之儲存器上之該應用程式資源檔案的一預留位置檔案;及藉由該用戶端裝置安裝該可執行之主應用程式及該第一應用程式資源檔案預留位置。
  2. 如請求項1之方法,其進一步包含:藉由該用戶端裝置從該應用程式接收用於該第一應用程式資源檔案之一請求;偵測該第一應用程式資源檔案預留位置係安裝於該用戶端裝置上以代替該第一應用程式資源檔案;及從該以雲端為基礎之儲存器獲得該第一應用程式資源檔案。
  3. 如請求項1之方法,其進一步包含:決定以基於該應用程式之一目標應用程式使用及該應用程式之一應用程式使用歷史來安裝一第二應用程式資源檔案預留位 置以代替一第二應用程式資源檔案。
  4. 如請求項1之方法,其中該第一應用程式資源檔案及該第一應用程式資源檔案預留位置具有一相同名稱、檔案類型及所顯示大小。
  5. 如請求項4之方法,其中該第一應用程式資源檔案預留位置之顯示大小係欺騙性的,且進一步其中該第一應用程式資源檔案預留位置具有0位元組之一實際大小。
  6. 如請求項1之方法,其進一步包含回應於滿足一第二預定義準則而用一第二應用程式資源檔案預留位置來替換安裝於該用戶端裝置上之一第二應用程式資源檔案。
  7. 如請求項2之方法,其中偵測該第一應用程式資源檔案預留位置係安裝於該用戶端裝置上以代替該第一應用程式資源檔案包含偵測在該第一應用程式資源檔案預留位置上設定了指定位元。
  8. 如請求項1之方法,其中該以雲端為基礎之儲存器係一雲端計算系統。
  9. 如請求項1之方法,其中該第一應用程式資源檔案係一範本檔案。
  10. 一種用於一用戶端裝置之系統,其包含:一處理器;及一記憶體,其儲存用於控制該處理器執行多個步驟的指令,該等步驟包含:在該用戶端裝置上從在與該用戶端裝置網路通信之一以雲端為基礎之儲存器接收用以安裝一應用程式之一請求,該應用程式包含一可執行之主應用程式及能由該可執行之主應用程式所使用之至少一第一應用程式資源檔案;基於該第一應用程式資源檔案之一大小及在該用戶端裝置上 可用記憶體之一數量來決定安裝一第一應用程式資源檔案預留位置以代替該第一應用程式資源檔案,該第一應用程式資源檔案預留位置之大小係小於該第一應用程式資源檔案之大小,其中該應用程式資源檔案預留位置具有一特定位元以指示該應用程式資源檔案預留位置係對應於儲存在該以雲端為基礎之儲存器上之該應用程式資源檔案的一預留位置檔案;及安裝該可執行之主應用程式及該第一應用程式資源檔案預留位置。
  11. 如請求項10之系統,該等步驟進一步包含:從該應用程式接收該第一應用程式資源檔案之一請求;偵測該第一應用程式資源檔案預留位置係安裝於該用戶端裝置上以代替該第一應用程式資源檔案;及從該以雲端為基礎之儲存器獲得該第一應用程式資源檔案。
  12. 如請求項10之系統,該等步驟進一步包含:判定安裝在該用戶端裝置上之一第二應用程式資源檔案係不被需要的;及以對應於該第二應用程式資源檔案之一第二應用程式資源檔案預留位置代替該第二應用程式資源檔案。
  13. 如請求項10之系統,其中該應用程式係安裝有一最小集合之資源檔案的一作業系統。
  14. 如請求項13之系統,其中該最小集合之資源檔案包括一資源檔案擷取精靈協助程式。
  15. 如請求項10之系統,其中該第一應用程式資源檔案預留位置係一空檔案。
  16. 如請求項10之系統,該等步驟進一步包含: 從該應用程式接收該第一應用程式資源檔案之一請求;偵測該第一應用程式資源檔案預留位置係安裝於該用戶端裝置上以代替該第一應用程式資源檔案;及從該以雲端為基礎之儲存器獲得該第一應用程式資源檔案。
  17. 如請求項16之系統,其中偵測該第一應用程式資源檔案預留位置係安裝於該用戶端裝置上以代替該第一應用程式資源檔案包含偵測該特定位元係設定於該第一應用程式資源檔案預留位置上。
  18. 如請求項10之系統,其中該以雲端為基礎之儲存器係一同級計算裝置。
  19. 如請求項10之系統,其中該第一應用程式資源檔案係一程式庫檔案。
  20. 如請求項10之系統,該等步驟進一步包含:判定在該用戶端裝置上需要額外空間;及以對應於該第二應用程式資源檔案之一第二應用程式資源檔案預留位置代替一第二應用程式資源檔案,該第二應用程式資源檔案預留位置之一大小係小於該第二應用程式資源檔案之一大小。
TW102117420A 2012-05-16 2013-05-16 雲端計算系統及其電腦實施方法 TWI502368B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US13/473,560 US9086937B2 (en) 2012-05-16 2012-05-16 Cloud-based application resource files

Publications (2)

Publication Number Publication Date
TW201403350A TW201403350A (zh) 2014-01-16
TWI502368B true TWI502368B (zh) 2015-10-01

Family

ID=48471107

Family Applications (1)

Application Number Title Priority Date Filing Date
TW102117420A TWI502368B (zh) 2012-05-16 2013-05-16 雲端計算系統及其電腦實施方法

Country Status (5)

Country Link
US (3) US9086937B2 (zh)
CN (1) CN104380253B (zh)
DE (1) DE112013002542T5 (zh)
TW (1) TWI502368B (zh)
WO (1) WO2013173110A1 (zh)

Families Citing this family (84)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060101064A1 (en) 2004-11-08 2006-05-11 Sharpcast, Inc. Method and apparatus for a file sharing and synchronization system
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
US9680927B2 (en) * 2012-02-05 2017-06-13 Apple Inc. Cloud tabs
US9122552B2 (en) * 2012-06-29 2015-09-01 Bmc Software, Inc. Hybrid cloud infrastructures
DE102012211639A1 (de) * 2012-07-04 2014-01-09 Siemens Aktiengesellschaft Cloud-Computing-Infrastruktur, Verfahren und Anwendung
US10057318B1 (en) 2012-08-10 2018-08-21 Dropbox, Inc. System, method, and computer program for enabling a user to access and edit via a virtual drive objects synchronized to a plurality of synchronization clients
US8881244B2 (en) * 2012-08-13 2014-11-04 International Business Machines Corporation Authorizing computing resource access based on calendar events in a networked computing environment
WO2014054179A1 (ja) * 2012-10-05 2014-04-10 富士通株式会社 情報処理装置、システム、方法及びプログラム
JP6044248B2 (ja) * 2012-10-05 2016-12-14 富士ゼロックス株式会社 情報処理装置、応用プログラム導入装置およびプログラム
US20140157300A1 (en) * 2012-11-30 2014-06-05 Lenovo (Singapore) Pte. Ltd. Multiple device media playback
WO2014143776A2 (en) 2013-03-15 2014-09-18 Bodhi Technology Ventures Llc Providing remote interactions with host device using a wireless device
US10476758B2 (en) 2013-07-11 2019-11-12 Google Llc Systems and methods for providing notifications of changes in a cloud-based file system
KR20150018709A (ko) * 2013-08-09 2015-02-24 삼성전자주식회사 단말의 정보 공유 방법 및 그 장치
US9537935B2 (en) * 2013-09-30 2017-01-03 Eric Trent Dryden Consumer PC in the cloud
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
TWI506451B (zh) * 2014-07-01 2015-11-01 Chunghwa Telecom Co Ltd Support multi-service version of the service system and its methods
US9560128B2 (en) 2014-07-16 2017-01-31 Microsoft Technology Licensing, Llc Sharing a file through a metadata representation of the file
US10547562B2 (en) * 2014-07-31 2020-01-28 Hewlett Packard Enterprise Development Lp Cloud resource pool
US10339293B2 (en) 2014-08-15 2019-07-02 Apple Inc. Authenticated device used to unlock another device
US9280683B1 (en) * 2014-09-22 2016-03-08 International Business Machines Corporation Multi-service cloud storage decision optimization process
EP3219084A1 (en) * 2014-11-12 2017-09-20 Snappyfame Llc Method and system for sharing multimedia contents through a telecommunication network
US10073449B1 (en) 2014-11-18 2018-09-11 Amazon Technologies, Inc. Unmanned aerial vehicle data services
US10241761B2 (en) * 2014-12-29 2019-03-26 Nvidia Corporation System and method for compiler support for compile time customization of code
US9519471B2 (en) * 2014-12-31 2016-12-13 Microsoft Technology Licensing, Llc Surfacing visual representations of universal applications
CN106161525B (zh) * 2015-04-03 2019-09-17 阿里巴巴集团控股有限公司 一种多集群管理方法与设备
US9692826B2 (en) 2015-04-17 2017-06-27 Dropbox, Inc. Collection folder for collecting file submissions via a customizable file request
US10628593B2 (en) 2015-04-17 2020-04-21 Dropbox, Inc. Collection folder for collecting file submissions and recording associated activities
US10885209B2 (en) 2015-04-17 2021-01-05 Dropbox, Inc. Collection folder for collecting file submissions in response to a public file request
US10235152B2 (en) 2015-06-05 2019-03-19 Apple Inc. System and method for downgrading applications
US10275116B2 (en) 2015-06-07 2019-04-30 Apple Inc. Browser with docked tabs
CN106547583B (zh) * 2015-09-22 2020-02-21 杭州华为数字技术有限公司 一种操作系统安装方法以及装置
US10084653B2 (en) * 2015-09-30 2018-09-25 Upguard, Inc. Differential node configuration for network maintenance
US9733927B2 (en) * 2015-11-11 2017-08-15 International Business Machines Corporation Detection of software or hardware incompatibilities in software packages
US10713966B2 (en) 2015-12-31 2020-07-14 Dropbox, Inc. Assignments for classrooms
US10116743B2 (en) 2016-01-06 2018-10-30 International Business Machines Corporation Storage capacity forecasting by capability sets
US10133509B2 (en) 2016-01-06 2018-11-20 International Business Machines Corporation Consistency group abstraction
US10126975B2 (en) 2016-01-06 2018-11-13 International Business Machines Corporation Storage mirroring decision by capability sets
US10320844B2 (en) * 2016-01-13 2019-06-11 Microsoft Technology Licensing, Llc Restricting access to public cloud SaaS applications to a single organization
US20170235924A1 (en) * 2016-02-17 2017-08-17 Bank Of America Corporation System and Network for Controlling Content and Accessibility
US10433025B2 (en) * 2016-05-10 2019-10-01 Jaunt Inc. Virtual reality resource scheduling of process in a cloud-based virtual reality processing system
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
TWI629593B (zh) * 2016-09-07 2018-07-11 先智雲端數據股份有限公司 用於決定雲端儲存系統的快取記憶體中的資料之方法及使用該方法的雲端儲存系統
US11165591B2 (en) * 2016-09-08 2021-11-02 Cable Television Laboratories, Inc. System and method for a dynamic-PKI for a social certificate authority
US10083029B2 (en) * 2016-11-09 2018-09-25 Red Hat, Inc. Detect application defects by correlating contracts in application dependencies
CN106411615A (zh) * 2016-11-22 2017-02-15 北京奇虎科技有限公司 一种用于对系统应用进行云修复的设备和方法
CN108228206A (zh) * 2016-12-20 2018-06-29 北京智能管家科技有限公司 一种应用程序管理方法及装置
US10230780B2 (en) * 2016-12-28 2019-03-12 Intel Corporation Methods and apparatus for collaborative content rendering
US10768986B2 (en) * 2017-01-06 2020-09-08 International Business Machines Corporation Management and utilization of storage capacities in a converged system
US10824355B2 (en) 2017-01-10 2020-11-03 International Business Machines Corporation Hierarchical management of storage capacity and data volumes in a converged system
US10938901B2 (en) 2017-01-11 2021-03-02 International Business Machines Corporation Management and utilization of data volumes in a converged system
US11044591B2 (en) * 2017-01-13 2021-06-22 Futurewei Technologies, Inc. Cloud based phone services accessible in the cloud by a remote device
GB201702933D0 (en) * 2017-02-23 2017-04-12 Ge Healthcare Bio Sciences Ab A method and a system for installation of an instrument
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
CN111343060B (zh) 2017-05-16 2022-02-11 苹果公司 用于家庭媒体控制的方法和界面
US20220279063A1 (en) 2017-05-16 2022-09-01 Apple Inc. Methods and interfaces for home media control
US20180335902A1 (en) * 2017-05-16 2018-11-22 Apple Inc. Techniques for dynamically displaying relevant files for selection
JP2019040400A (ja) * 2017-08-25 2019-03-14 富士通株式会社 インストール制御プログラム、インストール制御方法、および情報処理装置
CN107562492B (zh) * 2017-09-04 2021-07-23 三星电子(中国)研发中心 App的管理方法和装置
US10817472B2 (en) * 2017-10-23 2020-10-27 Dropbox, Inc. Storage organization system with associated storage utilization values
US20190196805A1 (en) * 2017-12-21 2019-06-27 Apple Inc. Controlled rollout of updates for applications installed on client devices
US11334596B2 (en) 2018-04-27 2022-05-17 Dropbox, Inc. Selectively identifying and recommending digital content items for synchronization
US10713028B2 (en) * 2018-06-05 2020-07-14 Microsoft Technology Licensing, Llc On-demand installer for resource packages
CN108958745B (zh) * 2018-06-26 2021-11-26 郑州云海信息技术有限公司 一种在云平台部署Spark集群的装置和方法
US11269700B2 (en) 2019-04-23 2022-03-08 Apple Inc. System call interception for file providers
US11620103B2 (en) 2019-05-31 2023-04-04 Apple Inc. User interfaces for audio media control
US10996917B2 (en) 2019-05-31 2021-05-04 Apple Inc. User interfaces for audio media control
US11526362B2 (en) 2019-05-31 2022-12-13 Microsoft Technology Licensing, Llc Automatic hydration of feature file batches
JP7039523B2 (ja) 2019-06-17 2022-03-22 株式会社ソニー・インタラクティブエンタテインメント 開発用ゲーム機およびプログラム実行方法
US11029932B2 (en) 2019-08-23 2021-06-08 Microsoft Technology Licensing, Llc Hydration of applications
US11412006B1 (en) * 2019-09-30 2022-08-09 Juniper Networks, Inc. Lawfully intercepting traffic and providing the traffic to a content destination based on content destination availabilities and priorities
CN115516419A (zh) * 2020-06-09 2022-12-23 深圳市欢太科技有限公司 一种应用安装方法、装置、设备及计算机可读存储介质
US11392291B2 (en) 2020-09-25 2022-07-19 Apple Inc. Methods and interfaces for media control with dynamic feedback
CN112788118B (zh) * 2020-12-30 2022-08-23 宁波奥克斯电气股份有限公司 Wi-Fi模组、智能家居设备及智能家居系统
CN115220609B (zh) * 2021-03-29 2024-09-10 北京小米移动软件有限公司 信息处理方法及装置、终端设备及存储介质
CN112925530A (zh) * 2021-03-30 2021-06-08 重庆阿克索信息科技有限公司 一种云端和本地混合部署的服务系统
CN112988716B (zh) * 2021-05-15 2021-08-24 杰为软件系统(深圳)有限公司 一种云边协同的数字设备建模方法
US11847378B2 (en) 2021-06-06 2023-12-19 Apple Inc. User interfaces for audio routing
US11848990B2 (en) * 2021-10-15 2023-12-19 Siden, Inc. Method and system for distributing and storing content using local clouds and network clouds
US20220138156A1 (en) * 2021-11-08 2022-05-05 Intel Corporation Method and apparatus providing a tiered elastic cloud storage to increase data resiliency
CN114879969A (zh) * 2022-05-20 2022-08-09 中国银行股份有限公司 应用程序安装包的处理方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7228540B2 (en) * 2002-05-14 2007-06-05 Microsoft Corporation Preparation for software on demand system
TW201202976A (en) * 2010-04-30 2012-01-16 Ibm Method and system for centralized control of database applications
TW201214284A (en) * 2010-05-11 2012-04-01 Ibm Virtualization and dynamic resource allocation aware storage level reordering

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5367698A (en) * 1991-10-31 1994-11-22 Epoch Systems, Inc. Network file migration system
US6523166B1 (en) 1998-09-21 2003-02-18 Microsoft Corporation Method and system for on-demand installation of software implementations
US8046331B1 (en) * 2007-05-25 2011-10-25 Symantec Corporation Method and apparatus for recreating placeholders
WO2010014851A2 (en) * 2008-07-30 2010-02-04 Diomede Corporation Systems and methods for power aware data storage
US20100107091A1 (en) * 2008-10-29 2010-04-29 International Business Machines Corporation Publishing requests for dynamically loaded missing images
US20110087692A1 (en) 2009-10-13 2011-04-14 Google Inc. Application whitelisting in a cloud-based computing device
SG183950A1 (en) * 2010-03-09 2012-10-30 Happy Cloud Inc Data streaming for interactive decision-oriented software applications
US8812627B2 (en) 2010-08-20 2014-08-19 Adobe Systems Incorporated System and method for installation and management of cloud-independent multi-tenant applications
CN101976235B (zh) * 2010-09-21 2012-07-25 天津神舟通用数据技术有限公司 基于动态网页的可扩展的Word报告自动生成方法
US20170161050A1 (en) * 2011-03-06 2017-06-08 Happy Cloud Inc. Methods for Downloading and Installing Computer Software Applications on Demand
US8782053B2 (en) * 2011-03-06 2014-07-15 Happy Cloud Inc. Data streaming for interactive decision-oriented software applications
US20170161056A1 (en) * 2011-03-06 2017-06-08 Happy Cloud Inc. Methods for Managing the Writing of Datasets by Computer-Implemented Processes
US20120310762A1 (en) * 2011-06-03 2012-12-06 Robbin Jeffrey L Remote Storage of Acquired Data at Network-Based Data Repository
US9201895B2 (en) * 2011-06-03 2015-12-01 Apple Inc. Management of downloads from a network-based digital data repository based on network performance
US20130061335A1 (en) * 2011-09-07 2013-03-07 CloudPointe, LLC Method, Apparatus, Computer Readable Media for a Storage Virtualization Middleware System
US8595243B1 (en) * 2011-10-31 2013-11-26 Symantec Corporation Systems and methods for deduplicating archived data
US9143601B2 (en) * 2011-11-09 2015-09-22 Microsoft Technology Licensing, Llc Event-based media grouping, playback, and sharing
US8832296B2 (en) * 2011-12-15 2014-09-09 Microsoft Corporation Fast application streaming using on-demand staging

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7228540B2 (en) * 2002-05-14 2007-06-05 Microsoft Corporation Preparation for software on demand system
TW201202976A (en) * 2010-04-30 2012-01-16 Ibm Method and system for centralized control of database applications
TW201214284A (en) * 2010-05-11 2012-04-01 Ibm Virtualization and dynamic resource allocation aware storage level reordering

Also Published As

Publication number Publication date
CN104380253A (zh) 2015-02-25
US20180060054A1 (en) 2018-03-01
TW201403350A (zh) 2014-01-16
US9086937B2 (en) 2015-07-21
WO2013173110A1 (en) 2013-11-21
CN104380253B (zh) 2017-07-04
US20130311986A1 (en) 2013-11-21
DE112013002542T5 (de) 2015-02-19
US9740468B2 (en) 2017-08-22
US10387132B2 (en) 2019-08-20
US20150277889A1 (en) 2015-10-01

Similar Documents

Publication Publication Date Title
TWI502368B (zh) 雲端計算系統及其電腦實施方法
TWI582610B (zh) 本端備份之基於雲端儲存
TWI624794B (zh) 使在使用者的群組中能夠協同作業之電腦實施方法、計算裝置及電腦可讀媒體
US10848520B2 (en) Managing access to resources
US10382449B2 (en) Permissions decisions in a service provider environment
US9461870B2 (en) Systems and methods for providing third-party application specific storage in a cloud-based storage system
CA2825153C (en) Strong rights management for computing application functionality
US10380551B2 (en) Mixed collaboration teams
US20230410053A1 (en) Discoverable collaboration teams
US20170048176A1 (en) Community directory for distributed policy enforcement