TWI514161B - 儲存網路之資料配置 - Google Patents

儲存網路之資料配置 Download PDF

Info

Publication number
TWI514161B
TWI514161B TW103100524A TW103100524A TWI514161B TW I514161 B TWI514161 B TW I514161B TW 103100524 A TW103100524 A TW 103100524A TW 103100524 A TW103100524 A TW 103100524A TW I514161 B TWI514161 B TW I514161B
Authority
TW
Taiwan
Prior art keywords
storage
data
storage block
block
network
Prior art date
Application number
TW103100524A
Other languages
English (en)
Other versions
TW201447601A (zh
Inventor
Christian M Kaiser
Peter D Stout
Ain Mckendrick
Timothy Bucher
Jeff Ma
Randeep Singh Gakhal
Rick Pasetto
Stephen Sewerynek
Original Assignee
Lyve Minds 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 Lyve Minds Inc filed Critical Lyve Minds Inc
Publication of TW201447601A publication Critical patent/TW201447601A/zh
Application granted granted Critical
Publication of TWI514161B publication Critical patent/TWI514161B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/178Techniques for file synchronisation in file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • G06F16/275Synchronous replication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0608Saving storage space on storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0613Improving I/O performance in relation to throughput
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0631Configuration or reconfiguration of storage systems by allocating resources to storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • G06F3/0649Lifecycle management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0653Monitoring storage devices or systems
    • 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]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Security & Cryptography (AREA)
  • Quality & Reliability (AREA)
  • Computing Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)

Description

儲存網路之資料配置
本案在此說明之實施例係有關儲存網路中的資料配置。
個人資料(例如照片、視訊、文件等等)的量正在增加,使得用於儲存個人資料的不同方法及系統也正增加。然而,許多儲存個人資料的方法及系統可能提出難題,像是笨拙且花費時間、提供不適當冗餘度,以及不允許對不同裝置上之資料的簡易存取性等。
本案所請之發明不限於解決任何缺點的實施例,也不限於只在諸如上述環境中操作的實施例。相反地,本段先前技術僅供例示本說明書所說明的某些實施例可經實施所在的範例技術領域。
按照一實施例的一態樣,一種配置資料到一儲存網路中所包括之一儲存區塊的方法可包括決定關聯於一儲存區塊的複數個特性,該儲存區塊包括在一儲存網路中。該等複數個特性可包括該儲存區塊的儲存容量、該儲存區塊的可用 儲存空間、儲存在該儲存區塊上之資料的損失可能性、該儲存區塊對於該儲存網路而言的可取得性、以及該儲存區塊的用途。該方法可進一步包括根據該等複數個特性來配置資料到該儲存區塊。
至少藉由在申請專利範圍中特別指出之元件、特徵、及該等之組合,來體悟與達成該等實施例的目的及優點。
應理解,以上之概略說明與以下之實施方式僅為例示與說明性質,並非為本案所請之發明設限。
100a、100b‧‧‧儲存系統
102a、102b‧‧‧儲存網路
104、104a-104f‧‧‧儲存代理器
106、106a-106f‧‧‧裝置
110、110a-110f‧‧‧儲存區塊
112‧‧‧網路
114‧‧‧儲存網路管理器
116、116a-116c‧‧‧通訊模組
120、120a-120c‧‧‧控制器
121‧‧‧資料
150a-150c‧‧‧處理器
152a-152c‧‧‧記憶體
200‧‧‧方法
202、204‧‧‧方塊
300‧‧‧方法
302、304、306‧‧‧方塊
400‧‧‧方法
402、404、406‧‧‧方塊
以下將透過利用隨附圖式,以額外之特例及細節來說明與解釋示範實施例,隨附圖式中包括:第1A圖圖示一範例儲存系統,該儲存系統經組態設定以配置資料到一儲存網路中所包括的一儲存區塊;第1B圖圖示一範例儲存系統,該儲存系統經組態設定以決定一分發策略以供分發資料到一儲存網路中所包括的一儲存區塊;第2圖是配置資料到一儲存網路的一儲存區塊的範例方法流程圖;第3圖是儲存資料到一儲存網路的一儲存區塊上的範例方法流程圖;以及第4圖是決定一分發策略的範例方法流程圖,該分發策略用於分發資料到一儲存網路的儲存區塊。
如同以下將詳細描述者,儲存系統可經組態設定以 在一儲存網路中所包括的儲存區塊中配置資料,該儲存系統可由該儲存網路的儲存代理器管理。儲存系統可經組態設定以根據關聯於儲存代理器之裝置,以及特定地根據裝置之類型及關於該裝置之類型的裝置特性,來配置資料。在某些實施例中,該配置步驟也可根據將配置之資料的特性。以下將說明之資料配置可協助改善儲存區塊之中的資料分發。改善資料分發可協助增加存取容易度及資料冗餘度。替代地或額外地,在某些實施例中,儲存系統可經組態設定以決定一分發策略,該分發策略用於根據該儲存網路中所包括之該裝置的一或更多裝置特性來分發該資料至儲存區塊。以下將參照隨附圖式來解釋本案之實施例。
第1A圖圖示按照本案之至少一實施例的一範例儲存系統100a,儲存系統100a經組態設定以配置資料到一儲存網路102a中所包括的儲存區塊110。儲存網路102a可包括儲存區塊110a-110c,該等儲存區塊可分別被包括在電子裝置106a-106c中(在此也稱為「裝置」106)。儲存區塊110上之資料儲存的管理可藉由一或更多儲存代理器104來執行。在所圖示之實施例中,儲存系統100a被繪製成包括儲存代理器104a-104c,其中裝置106a-106c分別包括儲存代理器104a-104c。雖然儲存系統100a圖示成包括具有三個不同儲存區塊110、儲存代理器104及所關聯之裝置106的一個單一儲存網路102a,但系統100a可包括任意數目的儲存網路,各儲存網路可包括任意數目的儲存區塊110、儲存代理器104及裝置106。此外在某些實施例中,裝置106之一或更多者可包括 多於一個儲存代理器104及/或儲存區塊110。
在某些實施例中,儲存系統100a可經組態設定以儲存、組織、及/或管理像是照片、視訊、文件等等的資料檔案。在某些實施例中,資料檔案可被包括在資料物件中,資料物件可也包括可提供關於資料檔案之資訊的元資料。本案中之「資料」一詞可指稱任何適當之資訊,該資訊可藉由儲存區塊110儲存,該資訊並可包括一或更多資料檔案、元資料,或此類之任何組合。
儲存系統100a可經組態設定以一種自動化方式來組織及管理被儲存在遍及儲存區塊110a-110c中之資料,該自動化方式可減少所需要之使用者的輸入量。此外,儲存系統100a可經組態設定以使得儲存在一特定儲存區塊110上的資料可由裝置106存取及使用,該裝置106不包括該特定儲存區塊110。如此,儲存系統100a可促進在儲存網路102a內由儲存區塊110所儲存、並由儲存代理器104所管理之資料的組織化,同時無論該資料是否儲存在特定裝置106之本地的儲存區塊110上,該儲存系統100a可提供對該資料的存取。
裝置106可為包括一或更多儲存區塊110的任何電子裝置。裝置106可經組態設定以儲存資料到關聯之儲存區塊110,或從關聯之儲存區塊110存取資料。作為範例,裝置106可為下列之任一者:雲端儲存伺服器、行動電話、平板電腦、桌上型電腦、膝上型電腦、攝影機、個人數位助理(PDA)、智慧型手機、音樂播放器、視訊播放器、外部硬碟等等。
在某些實施例中,裝置106可也包括一控制器120, 控制器120可各自包括一處理器150、記憶體152,以及一儲存區塊110。此外,控制器120可各包括一或更多儲存代理器104,該一或更多儲存代理器可經組態設定以管理儲存區塊110上之資料的儲存,以及裝置106及儲存區塊110與儲存網路102的互動。作為範例,在所圖示之實施例中,裝置106a可包括一控制器120a,該控制器包括一儲存代理器104a、一處理器150a、記憶體152a,以及一儲存區塊110a;裝置106b可包括一控制器120b,該控制器包括一儲存代理器104b、一處理器150b、記憶體152b,以及一儲存區塊110b;以及裝置106c可包括一控制器120c,該控制器包括一儲存代理器104c、一處理器150c、記憶體152c,以及一儲存區塊110c。
處理器150可包括例如:微處理器、微控制器、數位信號處理器(DSP)、應用特定積體電路(ASIC)、場可程式化閘極陣列(FPGA),或經組態設定以解譯及/或執行程式指令及/或處理資料之任何其他數位或類比電路系統。在某些實施例中,處理器150可解譯及/或執行程式指令及/或處理資料,該資料經儲存在該等處理器之相關聯記憶體152及/或一或更多儲存區塊110中。
記憶體152可包括經組態設定以保留程式指令及/或資料一段時間的任何適當電腦可讀取媒體。作為範例且非為設限,此種電腦可讀取媒體可包括有形及/或非過渡性電腦可讀取儲存媒體,包括隨機存取記憶體(RAM)、唯讀記憶體(ROM)、電子可抹除可程式化唯讀記憶體(EEPROM)、光碟唯讀記憶體(CD-ROM)或其他光碟儲存、磁碟儲存或其 他磁性儲存裝置、快閃記憶體裝置(例如固態記憶體裝置)、特定分子序列(例如DNA或RNA),或可被用來以藉由處理器150可存取之電腦可執行指令或資料結構之形式來攜帶或儲存所需程式碼的任何其他儲存媒體。上述之組合也可被包括在電腦可讀取媒體的範疇內。電腦可執行指令可包括例如致使一一般用途電腦、特殊用途電腦,或特殊用途處理裝置(例如處理器150)執行一特定功能或一組功能的指令及資料。在某些實施例中,儲存代理器104可被當作電腦可執行指令儲存在該等儲存代理器之相應裝置106的記憶體152內。
儲存區塊110也可為任何經組態設定以儲存資料的適當電腦可讀取媒體。儲存區塊110可儲存在不同儲存區塊110之間大致相同的資料,儲存區塊100也可儲存僅可在特定儲存區塊110上找到的資料。雖然各個裝置106被描繪成包括一單一儲存區塊110,裝置106可包括任何數目的儲存區塊110,該儲存區塊可為任何適當類型之電腦可讀取媒體。例如,裝置106可包括一第一儲存區塊110及一第二儲存區塊110,該第一儲存區塊110為硬碟機,而該第二儲存區塊為隨身碟。再者,儲存區塊110可包括多於一類型之電腦可讀取媒體。例如,儲存區塊110可包括一硬碟和一隨身碟。此外,儲存區塊110為可移除自裝置106,使得儲存區塊110可在不同時間被包括於多於一個裝置106。例如,儲存區塊110可為於不同時間被連接至不同裝置106的一通用序列匯流排(USB)儲存裝置或一保全數位(SD)卡。
如前所述,儲存代理器104可經組態設定以管理針 對儲存網路102a而言在儲存區塊110上之資料的儲存。在某些實施例中且如上所示,一或更多儲存代理器104可被包括於任何適當裝置106。此外,在某些實施例中,裝置106可不包括儲存代理器104。在這些與其他實施例中,在一或更多其他裝置106上所包括之一或更多儲存代理器104,可經組態設定以管理不包括儲存代理器之裝置106的儲存區塊110上的資料。例如,在某些實施例中,特定儲存區塊110可被包括在特定裝置106中,該特定裝置為由第三方所管理的雲端伺服器。在某些實體中,其他裝置106的一或更多儲存代理器104可經組態設定以管理屬於特定裝置106之特定儲存區塊110上的資料之儲存。
除此之外,特定儲存區塊110可為一可攜式儲存元件,像是USB記憶碟,該可攜式儲存元件可於不同時間與不同裝置106耦合使得不同儲存代理器104可於不同時間管理特定儲存區塊110。例如,在某些實體中特定儲存區塊110可於一時間點耦合至裝置106a,使得儲存代理器104a可管理特定儲存區塊110。進一步,於一不同時間,特定儲存區塊110可被耦合至裝置106b,使得儲存代理器104b可管理特定儲存區塊110。
裝置106可各包括一通訊模組116,該通訊模組可提供在裝置106之間的連線能力,以允許在儲存區塊110及儲存代理器104之間的資料通訊。例如,裝置106a可包括通訊模組116a,裝置106b可包括通訊模組116b,而裝置106c可包括通訊模組116c。
通訊模組116可在裝置106之間提供任何適當形式之通訊能力。作為範例而非設限,通訊模組116可經組態設定以經由有線及/或無線機制,來提供網際網路連線能力、區域網路(LAN)連線能力、廣域網路(WAN)連線能力、藍牙連線能力、3G連線能力、4G連線能力、LTE連線能力、無線保真度(Wi-Fi)連線能力、機器對機器(Machine-to-Machine,M2M)連線能力、裝置對裝置(Device-to-Device,D2D)連線能力、任何其他適當通訊能力,或該等連線能力之任何適當組合。
在所圖示之實施例中,通訊模組116被繪製為經由通訊網路112(在本說明書中稱作「網路112」)來提供裝置106之間的連線能力。在某些實施例中,網路112可包括(無論獨立的或任何適當組合之)網際網路、內部網路、區域Wi-Fi網路、無線LAN、行動網路(例如3G、4G及/或LTE網路)、LAN、WAN、或任何其他適當通訊網路。儘管在第1圖中並未明確描繪出來,但在這些以及其他實施例中,通訊模組116可提供在裝置106之間的直接連線能力。
在裝置106之間對儲存在儲存區塊110上之資料的通訊可因此允許裝置106存取及使用不一定被本地儲存在裝置106之相關聯儲存區塊110上的資料。儲存代理器104可經組態設定以促進在裝置106之間資料的此種協調及通訊。因此,儲存網路102a、裝置106、儲存代理器104及儲存區塊110可允許資料之儲存,同時就算當資料並非被本地儲存在包括於特定裝置106中之儲存區塊110上時,也允許裝置 106存取被儲存之資料。此外,藉由儲存代理器104而致在裝置106之間的資料通訊及相關聯之協調可促進提供資料冗餘度,使得可在儲存網路102a中具有微小或沒有資料損失之下,加入儲存區塊至儲存網路102a或從儲存網路102a移除儲存區塊。
在某些實施例中,裝置106可以類似於包括在物件式(object-based)檔案系統之客戶端或伺服器的方式動作。例如,某些裝置106可經組態設定以儲存僅只關聯於各種資料物件的元資料,而其他裝置106可經組態設定以儲存關聯於各種資料物件的元資料及真實的資料檔案。
在某些實施例中,為了管理及提供關於儲存網路102a中之資料儲存的資訊,可針對儲存網路102a來產生及管理一資料目錄。例如在某些實施例中,目錄可包括之資訊諸如哪些儲存區塊110為經本地儲存之資料物件、個別資料檔案、及/或元資料。在某些實施例中,目錄可包括被儲存在儲存網路102a中之資料物件的全部元資料的集合。因此,目錄可被用以決定哪個儲存區塊110具有特定資料儲存於其上。如此,如果資料未被本地儲存在裝置106的相應儲存區塊110上,裝置106可得知從何處存取資料。在某些實施例中,可藉由各個儲存區塊110儲存目錄,並根據由儲存代理器104管理之同步化而在各個儲存區塊110之間同步目錄。
在某些實施例中,儲存代理器104可經組態設定以與一或更多儲存網路控制器通訊,該一或更多儲存網路控制器可個別地或總體地稱作儲存網路管理器114。儲存網路管理 器114可以類似一分散式儲存系統中之一中央服務的方式動作。儲存網路管理器114可關聯於一伺服器,該伺服器由提供儲存管理服務的第三方所操作,或者儲存網路管理器114可被本地儲存在由一使用者擁有及/或管理之裝置106上,該使用者的資料被儲存在儲存網路102a中。
儲存網路管理器114可在儲存系統100a中執行多個功能,像是協調儲存代理器104的動作。例如,儲存網路管理器114的功能可包括(但不限於)在儲存網路102a的儲存區塊110之中找到資料檔案、協調由儲存代理器104所執行在儲存區塊110之間之資料的同步化、配置在儲存區塊110上之資料的儲存,以及協調到儲存區塊110之資料的分發。在儲存區塊110之間的資料配置及分發將在以下更詳細說明。
在某些實施例中,儲存網路管理器114可被包括在一裝置106中,該裝置係於儲存網路102a之一使用者的本地端,而在其他實施例中,儲存網路管理器114可被包括在由第三方所管理的裝置106中。在某些實施例中,儲存網路管理器114可執行操作使得儲存網路管理器114可以儲存代理器的方式動作並成為儲存代理器。例如,儲存網路管理器114可管理資料像是目錄及/或關聯於儲存網路102a的其他元資料,且儲存網路管理器114可與其他儲存代理器104同步此資料,使得針對於此資料而言儲存網路管理器114可以一儲存代理器的方式動作。
在某些實施例中儲存網路管理器114可經由網路112來與儲存代理器104通訊(如第1A圖所示)。儲存網路 管理器114也可經組態設定以經由一直接通訊(在第1圖中未簡要圖示)與一或更多儲存代理器104通訊。
關聯於儲存網路102a中所包括之資料的元資料(例如上述之目錄)可包括有關於該資料之狀態的資訊,有關於該資料之狀態的資訊可協助找到資料檔案、協調資料之同步化、在儲存區塊110之中配置資料,並決定用於已配置資料的一分發策略,等等。狀態可表示哪些資料檔案可被配置到哪些儲存區塊110、關聯於不同資料檔案的分發策略、何時開始在儲存區塊110之間的資料轉移、在儲存區塊110之間的資料轉移繼續、在儲存區塊110之間的資料轉移在資料完全移轉之前停止,以及是否特定資料仍被儲存在儲存區塊110上。
在某些實施例中,儲存網路管理器114可針對資料之儲存,像是針對儲存區塊110而言的資料配置及分發,來傳達指令到儲存代理器104。儲存代理器104可動作以回應傳達自儲存網路管理器114的該等指令,使得資料可按照配置及分發而被儲存在儲存區塊110上。此外,在某些實施例中,由儲存網路管理器114所傳達及使用的元資料可使得儲存網路管理器114得知有關儲存在儲存網路102a中之相關聯資料檔案的資訊(例如大小、類型、唯一識別符、位置等等),但可不知有關儲存在儲存網路102a中之資料檔案的真實內容之資訊。
儲存代理器104可按照儲存在各儲存代理器104上的元資料來找到儲存網路102a內的資料檔案。在某些實施例 中,此種元資料可被儲存為前述之目錄。例如,儲存代理器104a可利用儲存在儲存區塊110a上並由儲存代理器104a管理的目錄,來找到儲存在儲存區塊110b上的資料檔案。可在元資料同步化期間傳達部分或全部資訊,以供儲存代理器104去找到儲存在儲存網路102a上的資料檔案,該元資料同步化係由儲存代理器104及/或一特定儲存代理器104及儲存網路管理器114所執行。額外地或替代地,儲存代理器104可與儲存網路管理器114通訊以找到儲存在儲存網路102a上的資料檔案。
另外,儲存網路管理器114可用與其他儲存代理器104之間不可靠、不存在或斷斷續續的連線能力,來與一或更多儲存代理器104通訊。如此,儲存網路管理器114可經組態設定以將接收自一儲存代理器104的資訊傳達至另一儲存代理器104,以維持儲存代理器104之間的資料通訊。例如,儲存代理器104c可利用不可靠或斷斷續續的連線以通訊耦合至儲存代理器104b及/或儲存代理器104a。儲存網路管理器114可相應地經由通訊網路112與儲存代理器104c通訊,以及接著傳達來自儲存代理器104c的資訊給儲存代理器104b及/或儲存代理器104a。
儲存網路管理器114也可經組態設定以決定在儲存網路102a內裝置106及/或儲存區塊110的出現(presence)。裝置106或儲存區塊110的出現可表示哪個裝置106與儲存網路102a的另一裝置106通訊耦合及/或哪個裝置106與儲存網路管理器114通訊耦合,因此表示哪個裝置106及所關聯 的儲存區塊110係「出現」在儲存網路102a內或連接至儲存網路102a。裝置106及所關聯的儲存區塊110的出現可表示針對於該儲存網路而言儲存區塊110的可取得性,裝置106及所關聯的儲存區塊110的出現可被用於以下詳細說明之資料配置及分發決定法。
如前所述,儲存網路管理器114可經組態設定以決定資料檔案的配置以供儲存在儲存區塊110上。在某些實施例中,儲存網路管理器114可經組態設定以按照針對該等資料檔案的一所需冗餘度及/或該等資料檔案的一所需可取得性,來決定資料檔案的配置以供儲存在儲存區塊110上。在某些實施例中,儲存網路管理器114可根據關聯於特定儲存區塊110的多個特性來決定對特定儲存區塊110的配置。該等特性可直接相關於特定儲存區塊110(稱作儲存區塊特性)及/或相關於特定儲存區塊110所關聯的裝置106(稱作裝置特性)。
例如,儲存網路管理器114可根據特定儲存區塊110的儲存容量、特定儲存區塊110的可用儲存空間、特定儲存區塊110的儲存元件類型(此後稱作「儲存區塊類型」)、特定儲存區塊110的損失可能性、特定儲存區塊110針對於儲存網路102a而言的可取得性、特定儲存區塊110所關聯的裝置106、儲存區塊的狀況(health),及/或特定儲存區塊110的用途,來決定該配置。
儲存區塊類型可影響一或更多其他儲存區塊特性。例如,為可攜式及可移除式儲存區塊(像是USB記憶碟)的 一儲存區塊110,可具有較高的資料損失可能性,因為該儲存區塊110較容易遺失。此外,可攜式及可移除式儲存區塊的儲存用途可能不同於永久性附加儲存區塊(像是桌上型電腦的硬碟機)。進一步,可攜式及可移除式儲存區塊針對儲存網路102a而言可能較不可取得,因為偶爾可攜式及可移除式儲存區塊可能不關聯於任何裝置106,使得儲存在可攜式及可移除式儲存區塊上的資料不能被儲存網路102a的裝置106取用。
另外,如以下所詳述,包括特定儲存區塊110的特定裝置106可影響一或更多其他關聯於特定儲存區塊110的特性。據此,裝置特性可如下所述地影響資料的配置及分發。在某些實施例中,由於關聯於儲存區塊110的該等特性係關於資料檔案的所需冗餘度及/或可取得性,儲存網路管理器114可執行該配置步驟。
裝置類型是一種裝置特性,該特性可影響其他關聯於儲存區塊110而可影響資料配置的特性。裝置類型可指裝置的通用分類,也指在相同通用分類中包括的特定類型或型號。作為範例,在所圖示之實施例中,裝置106a可為一第一裝置類型(例如智慧型手機),裝置106b可為一第二裝置類型(例如外部硬碟),而裝置106c可為一第三裝置類型(例如平板)。裝置類型也可指一較通用裝置類型的不同型號。例如,一裝置類型可為iPhone® 而另一裝置類型可為Android® 手機,雖然兩裝置也可一般地歸類為智慧型手機。在某些實施例中,裝置類型甚至可更為特定,像是一裝置類型可為 iPhone® 4而另一裝置類型可為iPhone® 5。
如上所示,裝置106之類型可關於裝置106的一或更多裝置特性,裝置106之類型也可密切相關於儲存區塊特性及/或與儲存區塊特性重疊。例如,裝置特性可包括(但不限於)對應儲存區塊110的儲存容量、對應儲存區塊110的可用儲存空間、對應儲存區塊110的可移除性、可靠性、儲存在對應儲存區塊110上之資料的損失可能性、裝置106的用途(因此還有對應儲存區塊110的用途)、裝置106的實體位置、裝置106彼此的相對位置、裝置106的開/關狀態(目前的及/或過去的),以及裝置106的狀況。此外,裝置特性可包括裝置106的連線能力,諸如裝置106之對應連線的頻寬、用來與其他裝置106以及網路112連線的網路類型(例如Wi-Fi、蜂巢式、區域網路(LAN))、連線類型(例如無線、有線)、與其他裝置106的連線能力、裝置106針對資料移轉而言的延遲時間(目前的及/或過去的)、藉由裝置106之資料移轉速度(目前的及/或過去的)、連線能力之貨幣成本,等等。
如上所述,許多裝置特性及/或儲存區塊特性可關於裝置106的類型。例如,依裝置類型而異,某些裝置106可以比其他裝置106更快讀取、寫入及/或存取資料。裝置特性可關於一較通用裝置類型(例如智慧型手機對比於平板)或一更特定裝置類型(例如iPhone® 4對比於iPhone® 5)。
作為範例,在某些實施例中,裝置106a可為一智慧型手機而裝置106c可為一外部硬碟。因此,儲存區塊110a 的儲存容量會少於儲存區塊110c的儲存容量。進一步,在這個例子中,裝置106a的儲存區塊110a可包括快閃記憶體,而裝置106c的儲存區塊110c可包括一硬碟機,硬碟機相較於固態記憶體可具有不同之可靠性層級。此外,作為一智慧型手機的裝置106a被丟失、遺忘、掉落、偷竊、進水等所致之損失可能性,可大於作為一外部硬碟之裝置106c的損失可能性。
另外,作為一智慧型手機的裝置106a可由一使用者用來存取媒體類型檔案,該等媒體類型檔案像是圖片、音樂、及視訊,另一方面作為一外部硬碟的裝置106c主要由該使用者用來當作資料備份,卻不一定被經常使用來存取資料。因此,裝置106a及106c之用途及裝置106a及106c對應的儲存區塊110a及110c也可根據裝置106a及104c的裝置類型。此外,作為一智慧型手機的裝置106a可被裝置106a之使用者攜帶之方式,使得裝置106a(以及其相關聯組件,像是儲存代理器104a及儲存區塊110a)具有不一致、低速、及/或到儲存網路102a之其他裝置106(以及其等之相關聯組件)的昂貴連線能力。相反地,作為一外部硬碟的裝置106c(以及其相關聯組件)若經常連接到至少網路112,則裝置106c具有更一致的連線能力。
作為另一範例,裝置類型也影響裝置106的位置。例如,一桌上型電腦在相同位置比起一智慧型手機或一平板在相同位置更常見得多。此外,在使用者家裡的桌上型電腦可能在一相當一致的基礎上與儲存網路102a的其他裝置106 接觸(例如,智慧型手機、平板等等),原因在於至少許多種其他裝置106偶爾可能出現在使用者家裡。因此,裝置類型也可相關於一特定裝置106相對於另一裝置106而言的位置。
儲存網路管理器114可經組態設定以決定儲存區塊110的儲存區塊特性,以及根據該等儲存區塊特性來配置資料至儲存區塊110。在某些實施例中,儲存網路管理器114可經組態設定以根據儲存區塊110所相關聯之裝置106來決定該等儲存區塊特性。例如,儲存網路管理器114可經組態設定以決定裝置106的裝置類型,以及根據該等裝置類型來決定一或更多儲存區塊特性及裝置特性。根據該等所決定特性,儲存網路管理器114可配置資料至相關聯的儲存區塊110。
例如,由儲存網路管理器114可決定裝置106a為一智慧型手機。儲存網路管理器114也可根據裝置106a為一智慧型手機而決定用於裝置106a的儲存區塊及裝置特性。例如,儲存網路管理器114可決定儲存區塊及裝置特性,該等儲存區塊及裝置特性包括(但不限於)裝置106a及儲存區塊110a的損失可能性、裝置106a的可靠性、儲存區塊110a的儲存容量、儲存區塊110a上的可用儲存空間、裝置106a與裝置106b及106c的連線能力,以及裝置106a的用途。儲存網路管理器114可據此配置資料至儲存區塊110a,因為資料可相關於裝置106a之裝置特性的一或更多者以及儲存區塊110a的儲存區塊特性。
例如,如上所述,作為一智慧型手機之裝置106a的 損失可能性比起其他裝置類型相較為高。儲存網路管理器114可據此配置資料至儲存區塊110a,該資料也可經配置到關聯於其他裝置106的其他儲存區塊110,使得若裝置106a被遺失,儲存在儲存區塊110a上的該資料不一定遺失。此外,儲存區塊110a的儲存容量(因此還有裝置106a的儲存容量)可稍微受限,使得儲存網路管理器114可選取儲存在儲存網路102a中之資料的一子集去儲存在裝置106a的儲存區塊110a上,而其他儲存區塊110的儲存容量可使得其他儲存區塊110能夠儲存在儲存網路102a中所儲存的全部資料。另外,由於使用者經常利用智慧型手機以供檢視圖片及視訊還有聽音樂,在此等及其他實施例中,儲存網路管理器114可因裝置106a及儲存區塊110a的用途來配置此類型之資料被儲存在儲存區塊110a上。
此外,作為一智慧型手機的裝置106a由於智慧型手機的性質,裝置106a(因此還有儲存代理器104a)與儲存網路102a的其他裝置106及相關聯儲存區塊110之間可具有斷斷續續、緩慢及/或昂貴(例如,經由一蜂巢網路及相關聯之數據方案)的連線能力。因此,儲存區塊110a及其相關聯資料相對儲存網路102a而言的可取得性些許受限制。因此,儲存網路管理器114可將資料配置到較常由裝置106a所使用的儲存區塊110a,使得裝置106a可不須仰賴與其他裝置106及相關聯儲存區塊110之間的連線能力來存取資料。進一步,當其他裝置106仰賴儲存區塊110來從儲存區塊110a存取資料時,由於儲存區塊110a的可取得性減少,儲存網路管理器 114可不配置資料到儲存區塊110。
作為另一例子,在某些實施例中,裝置106c及儲存區塊110c可關聯於一冰河儲存系統(glacial storage system)。冰河儲存系統可關聯於針對儲存及/或存取儲存在其上之資料而言具有可觀延遲時間(例如以分鐘或甚至小時計算)但相當可靠的任何類型之儲存方案。許多時候冰河儲存系統可屬於一雲端儲存服務之部分,其中該冰河儲存系統之儲存區塊可為離線(例如被關機、與一計算裝置分開儲存)而需要被置於線上才能儲存資料或存取其上之資料。儲存網路管理器114可配置不被經常存取的資料到關聯於一冰河儲存系統的儲存區塊110c,使得延遲時間比較起資料較常被存取的情況下影響為小,同時也釋放不具有此延遲時間之儲存區塊110上的儲存空間。此外,由於冰河儲存系統可靠的特性,儲存網路管理器114可配置大部分(若非全部)被儲存在儲存網路102a中的資料到儲存區塊110c,使得儲存區塊110c可被使用作為資料的備份。
作為另一範例,一特定裝置106可因為與網路112及/或其他裝置106間連線的頻寬,而於一相較高速率來下載及/或上載資料。因此,使用可能性高的資料可經配置至關聯於具備高頻寬之連線的特定裝置106的儲存區塊110,使得資料可較容易從特定裝置106及相關聯儲存區塊110被轉移到其他裝置106,及/或由其他裝置106存取自特定裝置106及相關連儲存區塊110。
作為另一範例,一特定裝置106及相關聯儲存區塊 110可經組態設定,使得相關聯儲存區塊110可從特定裝置106被移除。例如,特定裝置106的相關聯儲存區塊110可為一可移除SD卡,該可移除SD卡可被轉移至另一裝置106。可移除SD卡由於其可被移除的特性,針對儲存網路102a而言可移除SD卡具有相較為高的損失可能性及/或相較為低的取得可能性。因此,儲存網路管理器114可據此配置資料到是可移除SD卡的儲存區塊110。例如,儲存區塊110是一可移除SD卡時,儲存網路管理器114可僅配置已被儲存在另一儲存區塊110上的資料到儲存區塊110,及/或配置遺失也無關緊要的資料到儲存區塊110。
裝置106的位置也在資料配置中扮演一角色。例如,一特定裝置106具有的裝置類型若可能永遠在一中央位置(例如使用者家裡的桌上型電腦),特定裝置106被開啟且可到達(reachable)的可能性高,使得特定裝置106與其他裝置106具有更一致的連線能力。因此在某些例子中,關於特定裝置106的位置而使特定裝置106之儲存區塊110可被存取的可能性高以及損失可能性低,於是可優先配置重要資料到儲存區塊110。
在某些例子中,儲存區塊110及/或裝置106的狀況在資料配置中可扮演一角色。隨著儲存區塊110及/或裝置106被使用,儲存區塊110及/或裝置106可能耗損,使得儲存區塊110及/或裝置106的狀況可隨時間減弱。在某些實施例中,儲存網路管理器114可經組態設定以監測儲存區塊110及/或裝置106的狀況(例如根據關聯於儲存區塊110及裝置106 之用途、效能、及/或診斷資訊)並且據此配置資料。例如,儲存網路管理器114可不仰賴具有減弱之狀況的儲存區塊110;或者裝置106對於資料之所需冗餘度具有減弱之狀況,儲存網路管理器114可不仰賴關聯於裝置106的儲存區塊110,而可針對所需冗餘度而言將具有減弱之狀況的裝置106的貢獻酌減。
在某些實施例中,儲存網路管理器114可經組態設定以監測裝置106及/或儲存區塊110的實際用途,並根據裝置106及/或儲存區塊110的實際用途來調整配置,裝置106及/或儲存區塊110的實際用途可能不同於由儲存網路管理器114的初始假設。在某些實施例中,儲存網路管理器114可在特定裝置類型的用途中尋找規則,使得儲存網路管理器114可根據用途的規則來改變儲存網路管理器114對類似裝置類型的配置資料方法。例如,特定儲存區塊110可為可攜式(例如,特定儲存區塊110可為一SD卡,或可被包括在一膝上型電腦中),使得有關特定儲存區塊110的初始假設可能假設斷斷續續的可取得性及/或高損失可能性。然而,特定儲存區塊110(及/或其相關聯裝置106)的實際用途可能使得特定儲存區塊110持續可取用及/或不被經常搬動。據此,到特定儲存區塊110的資料配置可根據特定儲存區塊110之實際用途而被修改。
在某些實施例中,儲存代理器104也可將一或更多裝置及儲存區塊特性報告給儲存網路管理器114,使得儲存網路管理器114可根據該等經報告特性來配置資料至儲存區塊 110。例如,儲存代理器104a可報告儲存區塊110a的可用儲存空間,以允許儲存網路管理器114評估如何配置資料至儲存區塊110a。另外,在某些實施例中,儲存代理器104a可將針對於裝置106a及/或儲存區塊110a之特定用途的資訊報告至儲存網路管理器114,使得儲存網路管理器114可按照該等特定用途來配置資料。在這些與其他實施例中,儲存網路管理器114可追蹤被儲存在儲存網路102a之儲存區塊110上的資料,該等儲存區塊110不同於經常由裝置106a所存取或叫用的儲存區塊110a。儲存網路管理器114可據此配置該資料及/或類似的資料到儲存區塊110a,使得該資料可被本地儲存在儲存區塊110a上,以供更快、更強大存取,而無須存取自關聯於另一裝置106的另一儲存區塊110。因此,該配置可增加裝置106a所存取之資料係被本地儲存在儲存區塊110a上而非遠離裝置106a之儲存區塊110上的可能性。
在某些實施例中,根據裝置類型及/或裝置特性,儲存網路管理器114可決定用於儲存區塊110的一冗餘度數值,此決定可根據儲存區塊110遺失的可能性。例如,根據智慧型手機相較於外部硬碟的損失可能性,關聯於一智慧型手機的儲存區塊110可具有比關聯於一外部硬碟的儲存區塊110低的冗餘度數值。在這些或其他實施例中,儲存網路管理器114可經組態設定以根據該等儲存區塊特性、裝置類型及/或裝置特性,來決定用於儲存區塊110的一可取得性數值。該冗餘度及/或該可取得性數值可被用來按照儲存區塊110在一所需冗餘度及/或可取得性方案中所扮演的角色,來對儲存 區塊110加以權重及/或排名。
如由特定裝置106或儲存區塊110之個別特性中的改變所表示,特定裝置106或儲存區塊110的可靠性及/或可取得性可經時間而改變。儲存網路管理器114可經組態設定以監測該些改變,且可依此調整特定裝置106或儲存區塊110的特性。在某些實施例中,儲存網路管理器114可經組態設定以按照該些特性中的改變來調整資料之配置。
儲存網路管理器114也可根據資料本身的一或更多資料特性來指定資料至儲存區塊110。資料特性可包括但不限於資料大小、資料類型、針對該資料的一所需冗餘度、該資料的使用頻率、針對該資料而言的一使用者偏好、該資料中所包括之資訊、該資料被加入至儲存網路102及/或儲存代理器104的時間、該資料之起源,等等。
例如,資料類型可關聯於是否該資料檔案為一圖片檔案、視訊檔案、音訊檔案或文件檔案。在某些實施例中,儲存網路管理器114可經組態設定以根據資料類型,來配置具有特定資料類型的資料至不同儲存區塊110。例如,儲存網路管理器114可經組態設定以配置音訊檔案至作為一音訊檔案儲存庫的特定儲存區塊110。
另外,儲存網路管理器114可導引具有高使用頻率之資料被配置到儲存網路102a內之儲存區塊110中的許多者(在某些情況中為全部),使得具有高使用頻率之資料可由相關聯裝置106輕易地存取。同樣地,在某些實施例中,資料可具有一相關聯的所需可取得性(例如,根據資料的一預 期使用頻率),而儲存網路管理器114可根據儲存區塊110在達成該所需可取得性方面的任務來配置資料給儲存區塊110。例如,儲存網路管理器114可導引具有高度所需可取得性之資料被儲存在儲存區塊110中之多者(若非全部)上,以達到該高度所需可取得性。作為另一範例,儲存網路管理器114可導引具有高度所需可取得性之資料被儲存在關聯於裝置106的儲存區塊110上,該裝置106可能與網路112及/或儲存網路102a的其他裝置106間具備相較一致的連線能力。因此,裝置106可取得資料的可能性得以增加。
如上所示,在某些實施例中,儲存網路管理器114可根據使用者偏好來配置資料至儲存區塊110。例如,使用者可「釘選」特定資料至儲存區塊110a,以表示該使用者期望該特定資料被儲存在儲存區塊110a上。根據該特定資料的該「釘選」結果,儲存網路管理器114可照樣地配置該特定資料至儲存區塊110a。使用者偏好的其他例子可包括該使用者明確地表示某一資料類型(例如視訊、照片、音樂等等)、最近所建立資料、及/或起源自某一裝置106的資料被儲存在一特定儲存區塊110上。
在某些實施例中,由於該等資料特性相關於裝置特性及/或儲存區塊特性,儲存網路管理器114可經組態設定以根據資料特性配置資料至儲存區塊110。舉例而言,儲存網路管理器114可查看資料大小及儲存區塊110a上的可用儲存空間以決定是否配置具有某一大小的資料到儲存區塊110a。作為另一例子,裝置106a的裝置特性可表示裝置106a上之音 樂檔案由使用者大量使用,使得儲存網路管理器114可將具有之檔案類型乃關聯於音樂的資料配置到儲存區塊110a。在這些或其他實施例中,儲存網路管理器114可查看資料的所需冗餘度、以及裝置106的損失可能性及/或可靠性,來決定要將資料配置至哪些儲存區塊110及/或幾個儲存區塊110。同樣地,在某些實施例中,儲存網路管理器114可查看資料的所需可取得性以及裝置106的連線能力,來決定要將資料配置至哪些儲存區塊110及/或幾個儲存區塊110。
作為另一例子,使用者經常存取最近建立資料(較新資料)更甚於稍早所建立資料(較舊資料)。因此,儲存網路管理器114可配置較新資料至關聯於裝置106的儲存區塊110,該裝置106之類型為使用者可能較經常存取資料者。在這些或其他實施例中,儲存網路管理器114可配置較新資料到關聯於裝置106的儲存區塊110,裝置106具有與網路112及/或其他裝置106的高層級連線能力,使得即便較新資料並未被儲存在裝置106上,藉由裝置106仍可較容易存取該較新資料。
相反地,儲存網路管理器114可配置較舊資料到關聯於裝置106的儲存區塊110,該裝置106儲存資料係用於備份目的,但可能不允許資料同樣地易於存取。例如,較新資料可經配置到關聯於裝置106的儲存區塊110,該裝置106可為智慧型手機、平板、個人電腦等等;而較舊資料可被配置到儲存區塊110,該等儲存區塊110所關聯的裝置106可為具有限之連線能力的外部硬碟、雲端儲存伺服、冰河儲存裝 置,等等。
進一步,儲存網路管理器114可經組態設定以在配置資料至儲存區塊110之期間考量資料的起源。例如,儲存網路管理器114可經組態設定以配置由裝置106a所建立的資料到儲存區塊110a,因為根據原先起源自裝置106a的資料,使用者較可能期望存取在裝置106a上的資料。
在某些實施例中,儲存網路管理器114可經組態設定以根據資料特性、裝置特性及/或儲存區塊特性來排名及配置資料。例如,儲存網路管理器114可經組態設定以針對於裝置上資料的一所需可取得性,來決定該資料的一可取得性排名。該可取得性排名可為根據該資料之資料特性的一或更多者,因如前所述該等資料特性可相關於該裝置及儲存區塊特性。作為範例,針對於一特定裝置106而言一特定資料檔案的一可取得性排名可為根據以下所列者:針對該特定資料檔案之類型而言該特定裝置106的用途、針對該特定裝置106而言對於該特定資料檔案或該特定資料檔案之類型的一使用者偏好、針對該特定資料檔案而言特定裝置106的使用頻率、該特定資料檔案的起源、何時建立資料,等等。
不同儲存代理器特性、裝置特性及資料特性可針對於該些特性與該排名的相關性,而被賦予不同權重。例如,針對於儲存一特定資料檔案在一特定儲存區塊110上的一使用者偏好,可被賦予比該裝置之位置更高的權重。
在決定了針對裝置106而言該等資料檔案的可取得性排名之後,儲存網路管理器114可根據該等資料檔案的可 取得性排名以及在裝置106相關聯的儲存區塊110上的可用儲存空間,初始地配置該等資料檔案至儲存區塊110上。在根據該等可取得性排名的初始配置之後,接著儲存網路管理器114可決定是否該初始配置滿足對於該等資料檔案的一所需冗餘度。如果未滿足該所需冗餘度,儲存網路管理器114可調整該配置使得該所需冗餘度得以滿足,而此可能犧牲該所需可取得性,如由可取得性排名所表示。
例如,根據可取得性排名,在儲存區塊110a上一資料檔案「A」可排名為最高優先程度,接著依序是資料檔案「B」、「C」、「D」和「E」。對於儲存區塊110b,資料檔案「C」排名最高,接著依序是資料檔案「E」、「B」、「A」和「D」。另外,對於儲存區塊110c,資料檔案「A」排名最高,接著依序是資料檔案「C」、「E」、「D」和「B」。
儲存區塊110a有足夠可用儲存空間以儲存資料檔案「A」、「B」、「C」和「D」,但不足夠儲存「E」。因此「E」可能不會初始地被配置到儲存區塊110a,因為針對儲存區塊110a而言「E」具有最低的排名。儲存區塊110b有足夠可用儲存空間以儲存資料檔案「C」、「E」及「B」,但不足夠儲存「A」和「D」。因此「A」和「D」可能不會初始地被配置到儲存區塊110b,因為針對儲存區塊110b而言「A」和「D」為最低排名的資料檔案。儲存區塊110c有足夠可用儲存空間以儲存資料檔案「A」、「C」及「E」,但不足夠儲存「D」和「B」。因此「D」和「B」可能不會初始地被配置到儲存區塊110c,因為針對儲存區塊110c而言「D」和「B」 為最低排名的資料檔案。
在該等資料檔案「A」、「B」、「C」、「D」和「E」的初始配置之後,接著儲存網路管理器114可決定是否已符合該等資料檔案「A」、「B」、「C」、「D」和「E」的所需冗餘度。在此範例中,該所需冗餘度可為該等資料檔案「A」、「B」、「C」、「D」和「E」被儲存在至少兩個儲存區塊110上。然而,如果按照本範例的初始配置,資料檔案「D」將僅被儲存在儲存區塊110a上。因此,儲存網路管理器114可決定是否執行重新配置,以達成對於資料檔案「D」的所需冗餘度。
例如,在本範例中資料檔案「C」被初始地配置至資料區塊110a、110b及110c。因此,資料檔案「C」到儲存區塊110b或儲存區塊110c的配置可由配置資料檔案「D」所取代,以滿足資料檔案「D」的所需冗餘度。選擇儲存區塊110b或儲存區塊110c以供儲存資料檔案「D」可為根據針對儲存區塊110b及110c而言該資料檔案「D」的相對排名、在儲存區塊110b上及110c上的可用儲存空間、或儲存區塊110b及110c的任何其他適用儲存區塊特性及/或裝置106b及106c的裝置特性,因該等儲存區塊特性及/或裝置特性可關於資料檔案「D」的所需冗餘度。
在某些實施例中,儲存網路管理器114也可經組態設定以指定一特定儲存區塊110當作資料的一主要儲存庫或資料的一次要儲存庫,該指定步驟係根據該特定儲存區塊110的一或更多儲存區塊特性、關聯於該特定儲存區塊110之裝 置106的裝置特性及/或根據一或更多資料特性。作為特定資料之主要儲存庫的儲存區塊110可經組態設定以儲存該特定資料的「主要」複本,此表示可仰賴作為特定資料之主要儲存庫的儲存區塊110以提供用於該特定資料的冗餘度。相反地,作為特定資料之次要儲存庫的儲存區塊110可經組態設定以儲存該特定資料的「次要」複本,此表示不可仰賴作為特定資料之次要儲存庫的儲存區塊110以提供用於該特定資料的冗餘度。一儲存區塊110可經組態設定以儲存某些資料的主要複本,同時也經組態設定以儲存其他資料的次要複本。一儲存區塊110是作為資料的主要抑或次要儲存庫,可因儲存區塊110的狀況、或者在某些實例中因儲存區塊110所關聯之裝置106而異。
儲存代理器104也可經組態設定以從儲存區塊110移除資料,及/或儲存網路管理器114可經組態設定以指示儲存代理器104去移除資料,該移除步驟係根據儲存區塊特性、裝置特性,及/或資料特性。例如,當儲存區塊110的可用儲存空間已屆或接近其容量,儲存區塊110可刪除低排名(例如,可取得性排名)的資料,以騰出空間給其他具有較高排名的資料。作為另一例子,在某些實施例中,當特定儲存區塊110被指定為特定資料的主要儲存庫時,若沒有來自儲存網路管理器114的表示許可,或是在使用者被通知該特定資料的可能永久損失後沒有來自該使用者的表示許可,儲存代理器104可能無法從特定儲存區塊110移除該特定資料。相反地,在某些實施例中,無須來自儲存網路管理器114的許 可或指令,只要儲存代理器104認為必要,儲存代理器104可刪除被儲存在作為次要複本之特定儲存區塊110上的資料。另外,在某些實施例中,使用者可從特定裝置106及/或儲存區塊110「取消釘選」(unpin)資料,使得將資料維持在特定裝置106及/或儲存區塊110上的優先程度降低。將資料維持在特定裝置106及/或儲存區塊110上之降低優先程度,可允許從特定裝置106及/或儲存區塊110移除被取消釘選的資料。
在某些實施例中,儲存網路管理器114可經組態設定以根據在儲存網路102a以及個別裝置106的資料配置,來決定儲存網路102a的整體狀況。例如,相較於資料被儲存在裝置106及儲存區塊110上作為主要複本,而儲存區塊110具有相較低損失可能性及/或相較高的狀況評等的情況,如果資料被儲存在裝置106及儲存區塊110上作為主要複本,而儲存區塊110具有相較高損失可能性及/或相較低的狀況評定等,則儲存網路102a的狀況被認定為較低。作為另一範例,相較於當儲存網路102a確實滿足資料的所需冗餘度及/或可取得性時,當儲存網路102a未滿足資料的所需冗餘度及/或可取得性時,儲存網路102a的狀況被認定為較低。
儲存網路管理器114可經組態設定以持續地監測裝置類型、裝置特性、裝置狀況、資料特性等等,以及根據由監測步驟所表示的改變來以上述之方式執行配置。同樣地,儲存網路管理器114可經組態設定以執行動態配置,其中用於儲存代理器104的配置可能改變。另外,關聯於一儲存代 110的改變可影響關聯於另一儲存區塊110的資料配置。
例如,在某些實施例中,具有作為特定資料檔案之主要儲存庫的一儲存區塊110的特定裝置106可能故障,使得未滿足該特定資料檔案的一所需冗餘度。儲存網路管理器114可據此配置該特定資料檔案至另一儲存區塊110,並可根據特定裝置106之故障以及根據該特定資料檔案的所需冗餘度,而指定另一儲存區塊110作為該特定資料檔案的主要儲存庫。
作為另一範例,一特定儲存代理器104可關聯於一個與儲存網路102a之間具有比先前更受限之連線能力的裝置106。儲存網路管理器114對於冗餘度及/或可取得性可能不再那麼仰賴該特定儲存代理器104,且可據此配置被儲存在該特定儲存代理器104上的資料。
如上所述,儲存網路管理器114也可經組態設定以決定一分發策略以用於分發特定資料至該特定資料已經配置所至的儲存區塊110。第1B圖圖示一範例儲存系統100b,按照本揭示案之至少一實施例,儲存系統100b經組態設定以決定一分發策略以用於分發資料至儲存區塊110。
儲存系統100b可為第1A圖之儲存系統100a的擴充範例。例如,儲存系統100b可包括網路112、儲存網路管理器114,以及裝置106a-106c連同該等裝置所相關聯的儲存代理器104a-104c及儲存區塊110a-110c。然而,儲存系統100b不同於儲存系統100a之處可在於儲存系統100b的儲存網路102b被描繪成具有比儲存系統100a的儲存網路102a更多裝 102b被描繪成具有比儲存系統100a的儲存網路102a更多裝置106及相關聯儲存代理器104及儲存區塊110。例如,儲存網路102b被描繪成包括裝置106d、106e及106f,連同個別相關聯之儲存代理器104d、104e及104f,以及個別的儲存區塊110d、110e及110f,以上並未描繪在第1A圖之儲存網路102a中。
儘管在第1B圖中並未如第1A圖的裝置106a-106c而描繪裝置106a-106f的全部元件(例如控制器、處理器、記憶體以及通訊模組),該些元件仍可被包括在裝置106a-106f中,而該些元件僅是未被描繪於第1B圖中。另外,針對於儲存網路102a而言,儲存網路102b的擴充係為協助描述分發策略之決定,而非僅限定於具備跟儲存網路102b相同數量之裝置106及儲存代理器104的儲存網路。
儲存網路管理器114可經組態設定以決定分發策略以用於根據儲存區塊110的特性、裝置106及/或經配置給儲存區塊110之資料的資料特性,來分發經配置給儲存區塊110之資料。在這些或其他實施例中,儲存網路管理器114可經組態設定以根據資料特性及/或其他資料的配置,以及特定資料所將配置到的不同儲存區塊110,來決定用於該特定資料的一分發策略。
例如,在某些實施例中,儲存區塊110a可具有資料121儲存於其上,資料121已經被配置儲存在儲存區塊110f上,使得針對資料121而言,儲存區塊110a為一主儲存區塊而儲存區塊110f為一目標儲存區塊。儲存網路管理器114可 經組態設定以決定一分發策略,以供根據關聯於裝置106a-106f及/或儲存區塊110a-110f的一或更多特性來從儲存區塊110a分發資料121到儲存區塊110f。在這些或其他實施例中,一或更多其他儲存區塊110可為資料121的主儲存區塊或目標儲存區塊。一旦已決定分發策略,一或更多個儲存代理器104可經組態設定以執行該分發策略。
在某些實施例中,儲存網路管理器114所使用以供決定該分發策略的一特性可為裝置106a-106f相對儲存網路102b而言的連線能力(例如,裝置106a-106f對於彼此的連線能力)。例如,裝置106a及106f可能無法互相通訊,但裝置106b能與裝置106a及106f兩者通訊。作為例子,像這樣的情況會發生在裝置106a及106b都連接(例如,透過無線或有線的連線)至網路112,而裝置106f未連接至網路112卻連接至裝置106b。在諸如這些實例中,儲存網路管理器114可經組態設定以決定從儲存區塊110a到儲存區塊110f的分發策略,其中儲存代理器104a可轉送資料121或資料121之一複本至儲存代理器104b,儲存代理器104b可接著轉送資料121至儲存代理器104f,儲存代理器104f可導引資料121被儲存在儲存區塊110f中。
另一個由儲存網路管理器114用來決定分發策略的特性為裝置106a-106f彼此的連線類型。例如,裝置106a及106f可經由網路112彼此連接。另外,裝置106a可透過一非行動通信(non-cellular)無線網際網路連線(例如Wi-Fi)來連接至網路112,同時裝置106f可經由一行動通信(cellular) 網路連線連接至網路112。因此,從裝置106a的儲存區塊110a經由網路112分發資料121到裝置106f的儲存區塊110f可使用一相關聯行動通信數據方案,使用行動通信數據方案相較於使用非行動通信連線具有較高成本。然而,裝置106b可直接地連接至裝置106f,也可經由非行動通信無線網際網路連線連接至網路112。依此,在某些實施例中,儲存網路管理器114可決定一分發策略,其中資料121由儲存代理器104a從儲存區塊110a轉送到儲存代理器104b,以及接著從儲存代理器104b轉送到儲存代理器104f,以供儲存在儲存區塊110f上。因此,轉移成本將少於若利用從裝置106a經由網路112到裝置106f的轉移的情況。作為另一例子,儲存網路管理器114可在下列實例中決定一類似之分發策略:裝置106a及106f可彼此連接,且裝置106a及106f連接至裝置106b(例如直接連接或經由網路112連接),但是裝置106a及106f分別與裝置106b之連線的頻寬可能高於裝置106a及106f之間連線的頻寬。
由儲存網路管理器114使用以決定分發策略的另一裝置特性可為裝置106a-106f的連線頻率。例如,裝置106e被連接至裝置106f可比裝置106e被連接至裝置106a更頻繁。在這些及其他實施例中,當裝置106f未被連接至儲存網路102b中也連接到裝置106a的任何其他裝置106,但裝置106a及106e彼此連接時,儲存網路管理器114可決定一分發策略,其中儲存代理器104a可分發資料121至儲存代理器104e。當裝置106e及106f連接時(此情況可能比裝置106a 器104e分發資料121至儲存代理器104f。
在某些實施例中,在裝置106彼此之間的連線頻率及/或連線品質可關於裝置106有多常在彼此的相同鄰近區域。因此在某些實施例中,儲存網路管理器114也可在決定分發策略時,將裝置106相對彼此的位置當作一個裝置特性來考量。
在某些實施例中,分發策略可根據之特性諸如裝置106之一般連線能力,還有裝置106及裝置106所對應之儲存區塊110所提供的冗餘度或可取得性。例如,儲存區塊110a可除了資料121外還有其他資料被儲存於其上,而該其他資料可經配置以供儲存在其他儲存區塊110。另外,由儲存代理器104a從儲存區塊110a分發到其他儲存代理器104及儲存區塊110的資料量可由於裝置106a與儲存網路102b的連線能力(例如由於頻寬)而被限制在任一時間點。因此在某些實施例中,儲存網路管理器114可按照儲存區塊110f對於資料121而言的一被指派排名,相較於另一目標儲存區塊對於儲存區塊110a上所儲存之其他資料而言的一被指派排名,來決定儲存區塊110a上所儲存之資料121及其他資料的一分發策略。
作為範例,在儲存區塊110a上所儲存之其他資料可經配置給儲存區塊110b,而在儲存區塊110a上所儲存之資料121可經配置給儲存區塊110f。另外,由於連線能力的限制,儲存代理器104a無法轉移該其他資料到儲存代理器104b及儲存區塊110b,在此同時也轉移資料121到儲存代理器104f 及儲存區塊110f。進一步,相較於資料121對於儲存在儲存區塊110f上的排名,該其他資料對於儲存在儲存區塊110b上的排名較高。因此,該分發策略可在分發資料121到儲存區塊110f之前要求分發該其他資料到儲存區塊110b。
儲存網路管理器114也可根據在其他裝置上的資料配置以及以上述及之裝置及儲存區塊特性來決定分發策略。例如,儲存區塊110a可具有一相較大的資料量儲存於其上,該資料包括資料121,且該資料已被配置給大量目標儲存區塊。另外,儲存區塊110b可具有一相較小的資料量儲存於其上,該資料包括資料121(未被表示描繪成被儲存在儲存區塊110d上),且該資料已被配置給一相較小量目標儲存區塊。因此,儲存網路管理器114可決定一分發策略,其中資料121可從儲存區塊110d而非從儲存區塊110a被分發到儲存區塊110f,使得儲存代理器104a可分發儲存在儲存區塊110a上的該其他資料而不須也分發資料121。
同樣地,在某些實施例中,資料121可經配置給作為目標儲存區塊的儲存區塊110e及儲存區塊110f,但資料121可初始地僅被儲存在儲存區塊110a上。另外,儲存區塊110a可具有一相較大的資料量儲存於其上,該資料已被配置給大量目標儲存區塊。因此,儲存網路管理器114可決定一分發策略,其中資料121可從儲存區塊110a被分發到儲存代理器104e(其可儲存資料121在儲存區塊110e上)然後接著從儲存代理器104e分發到儲存代理器104f(其可儲存資料121在儲存區塊110f上)或從儲存區塊110a分發到儲存代理器104f (其可儲存資料121在儲存區塊110f上)然後接著從儲存代理器104f分發到儲存代理器104e(其可儲存資料121在儲存區塊110e上)。因此,儲存代理器104a不用分發資料121多次之後才能繼續分發該其他資料,儲存代理器104a可在分發資料121一次之後分發其他資料到其他儲存區塊。
此外,儲存網路管理器114可經組態設定以根據裝置106的電力狀態來決定分發策略。電力狀態可表示是否一特定裝置106有插電或用電池電力執行。另外,電力狀態可表示電池中還保持多少電量。在某些實施例中,儲存網路管理器114可決定一分發策略,其中有插電的裝置106優先於用電池電力執行的裝置106來轉移資料,以協助保留電池電力。進一步,在這些或其他實施例中,電池壽命比其他裝置106長的裝置106也優先於電池壽命較短的其他裝置來轉移資料。
儲存網路管理器114也可根據將被分發之資料的資料特性來決定分發策略。例如,儲存網路管理器114可決定一特定資料類型比另一資料類型具有更高的分發優先程度。因此,儲存網路管理器114可發展一分發策略,使得具較高優先程度之資料類型的資料早於具較低優先程度之資料類型的資料被分發到目標儲存區塊。
作為另一例子,儲存網路管理器114可發展一分發策略,其中具較高所需冗餘度及/或可取得性的資料可早於具較低所需冗餘度及/或可取得性的資料被分發到其目標儲存區塊。例如,儲存網路管理器114可將欲被儲存在目標儲存區 塊上作為主要複本的資料檔案的分發,較欲被儲存在目標儲存區塊上作為次要複本的資料檔案之分發更置於優先。
進一步,在某些實施例中,儲存網路管理器114可根據裝置特性以及裝置特性及資料特性之關係來決定分發策略。例如,在某些實施例中,資料121可經配置以供儲存在儲存代理器104e及104f上作為一主要複本。另外,裝置106e為一智慧型手機而裝置106f為一桌上型電腦。因此,儲存網路管理器114可決定一分發策略,其中資料121被分發到儲存區塊110f將優先於被分發到儲存區塊110e,因為裝置106f比裝置106e更可靠。
作為另一例子,資料121可為經配置給儲存區塊110e及110f的一音樂檔案。儲存網路管理器114可觀察到裝置106e曾比裝置106f更常存取音樂。據此,在某些實施例中,儲存網路管理器114可根據資料類型(例如音樂檔案)及裝置用途(例如,經常存取音樂)來決定分發策略,使得資料121被分發到儲存區塊110e優先於被分發到儲存區塊110f,因為相較於裝置106f,裝置106e高度使用於聽音樂。
另外,在某些實施例中,儲存網路管理器114可根據使用者偏好來決定分發策略。例如,在某些實施例中,使用者可表達一期望乃資料121被儲存在儲存區塊110f上。儲存網路管理器114可因此發展一分發策略,該分發策略將分發資料121至儲存區塊110f優先於其他也是資料121之目標儲存代理器的儲存區塊110。
進一步,在某些實施例中,儲存網路管理器114可 根據資料121的大小來決定用於資料121的分發策略。例如,當資料121較大而將使用一較大頻寬量時,儲存網路管理器114可決定用於資料121的分發策略,該分發策略將資料121之分發排程於通訊資源之使用較低的一時間,例如深夜。
在這些或其他實施例中,儲存網路管理器114可根據資料121被加入至儲存網路102b的時間來決定分發策略。例如,比較起當資料121為較舊資料時,當資料121為較新的資料時資料121較可能被存取。因此,分發策略可將資料121之分發優先於較舊資料的分發,但不優先於較新資料。
可針對儲存系統100a及100b進行修改、附加、或省略而不背離本揭示案之範疇。例如,儲存系統100a及100b可包括任何數目的裝置106、儲存區塊110,及/或儲存代理器104。進一步,裝置106內之組件的位置僅以圖示為目的而非設限。另外,儘管針對儲存網路102a及102b而言,資料的配置及分發經說明為由儲存網路管理器114執行,但關聯於資料配置及/或分發的原則及教示可被應用在任何適用儲存網路及/或儲存系統的任何適當元件中,以及由任何適用儲存網路及/或儲存系統的任何適當元件所應用。
按照在此所說明之至少一實施例,第2圖是配置資料到一儲存網路之一儲存區塊的範例方法200的流程圖。在某些實施例中,方法200的一或更多步驟之實施可藉由第1A圖及第1B圖的儲存系統100a及/或100b之一或更多組件,像是儲存網路管理器114、儲存代理器104,或裝置106。儘管圖中繪製成獨立的方塊,但依所需之實施而異,各個方塊 可被分割成額外方塊、組合成為較少方塊,或被刪除。
方法200可開始於方塊202,其中可決定關聯於一儲存網路中所包括之一儲存區塊的複數個特性。該等複數個特性可包括儲存區塊的儲存容量、該儲存區塊的可用儲存空間、儲存在該儲存區塊上之資料的損失可能性、該儲存區塊對於該儲存網路而言的可取得性、以及該儲存區塊的用途。
於方塊204,可根據該等複數個特性來配置資料到儲存區塊。在某些實施例中,配置可進一步為根據該儲存區塊的類型、該儲存區塊的狀況、關聯於該儲存區塊的一裝置的裝置類型、該裝置的用途、該裝置的損失可能性、該裝置的狀況、該裝置的位置、該裝置與該儲存網路的連線能力、該裝置與該儲存網路之連線能力的成本,以及該裝置的可靠性。
因此,可根據關聯於該等儲存區塊的特性來執行方法200,以配置資料至一儲存網路的一或更多儲存區塊。此種方式的資料配置相較於現有的資料儲存方案而言,可提供改良的使用者經驗以及儲存網路內的冗餘度。
本發明所屬領域之具技藝人士將能理解,對於方法200及在此說明的其他程序及方法,在該等程序及方法中執行的作用可以不同順序實施。此外,所列出的步驟及操作僅提供作為範例,而該些步驟及操作之部分可為選擇性、合併成為較少步驟及操作,或擴充成為額外步驟及操作,而不減損所揭示之實施例的本質。
例如,在某些實施例中,方法200可包括進一步之 步驟,該步驟關聯於根據該等複數個特性來決定資料的所需冗餘度以及決定該等儲存區塊對於該資料的冗餘任務。在這些及其他實施例中,方法200可進一步包括根據儲存代理器的冗餘任務來配置該資料至該儲存區塊。
進一步,方法200可包括關聯於根據該等複數個特性來指定儲存代理器作為該資料的一主要儲存庫或一次要儲存庫的步驟。方法200也可包括關聯於根據該資料的資料特性來配置該資料以供儲存在該儲存區塊上的步驟。資料特性可包括以下之任一或更多者:資料類型、該資料的使用頻率、該資料的一所需冗餘度、該資料的大小、該資料的排名、該資料中所包括的資訊、關聯於該資料的一使用者偏好、該資料被加入至該儲存網路及/或一儲存代理器的時間、資料起源,等等。在某些實施例中,該配置可為根據資料特性與該等複數個特性中之一或更多者的關係。
按照在此說明的至少一個實施例,第3圖是儲存資料在一儲存網路之一儲存區塊上的範例方法300之流程圖。在某些實施例中,方法300的一或更多步驟之實施可藉由第1A圖及第1B圖的儲存系統100a及/或100b之一或更多組件,像是儲存網路管理器114、儲存代理器104,或裝置106。儘管圖中繪製成獨立的方塊,但依所需之實施而異,各個方塊可被分割成額外方塊、組合成為較少方塊,或被刪除。
方法300可開始於方塊302,其中將關聯於一儲存網路中所包括之一儲存區塊的複數個特性傳達給一儲存網路管理器,該儲存網路管理器像是第1A圖及第1B圖的儲存網 路管理器114。該等複數個特性可包括該儲存區塊的儲存容量、該儲存區塊的可用儲存空間、儲存在該儲存區塊上之資料的損失可能性、該儲存區塊對於該儲存網路而言的可取得性、以及該儲存區塊的用途。
於方塊304,從儲存網路控制器接收一儲存指令以在該儲存區塊上儲存資料。該儲存命令可為根據該等複數個特性。於方塊306,回應於該儲存指令而在該儲存區塊上儲存該資料。
因此,可根據關聯於該等儲存區塊及所關聯之裝置的特性來執行方法300,以儲存資料至一儲存網路的一儲存區塊上。此種方式的資料配置相較於現有的資料儲存方案而言,可提供改良的使用者經驗以及儲存網路內的冗餘度。
本發明所屬領域之具技藝人士將能理解,對於方法300及在此說明的其他程序及方法,在該等程序及方法中執行的作用可以不同順序實施。此外,所列出的步驟及操作僅提供作為範例,而該些步驟及操作之部分可為選擇性、合併成為較少步驟及操作,或擴充成為額外步驟及操作,而不減損所揭示之實施例的本質。
例如,在某些實施例中,方法300可包括關聯於根據該資料的資料特性以在該儲存區塊上儲存資料的步驟。資料特性可包括下列任一或更多者:資料類型、資料使用頻率、資料的所需冗餘度、資料大小、資料排名、資料中所包括的資訊、針對該資料的使用者偏好、該資料被加入至儲存網路及/或儲存代理器的時間、資料的起源等等。
按照本說明書所介紹之至少一實施例,第4圖是決定一分發策略的範例方法400流程圖,該分發策略用於分發資料到一儲存網路的儲存區塊。在某些實施例中,方法400的一或更多步驟之實施可藉由第1A圖及第1B圖的儲存系統100a及/或100b之一或更多組件,像是儲存網路管理器114、儲存代理器104,及/或儲存裝置106。儘管圖中繪製成獨立的方塊,但依所需之實施而異,各個方塊可被分割成額外方塊、組合成為較少方塊,或被刪除。
方法400可開始於方塊402,在此儲存在一主儲存區塊上的資料可經配置以儲存在一目標儲存區塊上。主儲存區塊及目標儲存區塊可被包括在一儲存網路中,該儲存網路也包括一或更多其他儲存區塊,像是第1A圖及第1B圖的儲存網路102a及102b。在某些實施例中,該配置步驟可按照以上說明之配置步驟來執行。例如在某些實施例中,該配置步驟可根據關聯於該目標儲存區塊的複數個特性來執行,其中該等複數個特性可包括儲存區塊的儲存容量、儲存區塊的可用儲存空間、儲存在儲存區塊上之資料的損失可能性、針對於該儲存網路而言該儲存區塊的可取得性,以及該儲存區塊的用途。在這些或其他實施例中,可根據該資料的資料特性來進行配置。
於方塊404處,可決定另一儲存代理器的特性及/或關聯於另一儲存代理器的一或更多裝置。該特性可包括一或更多裝置與該儲存網路的連線能力、該一或更多裝置的電力狀態、該裝置的用途,及該一或更多裝置的位置。如以上所 述,該裝置的連線能力可包括連線能力之成本、連線之頻率、連線能力的頻寬,及連線類型。
於方塊406,可根據方塊404處所決定的該等特性來決定一分發策略,以從該主儲存區塊分發該資料至該目標儲存區塊。在某些實施例中,該分發策略可為根據對於該資料而言該目標儲存區塊的一排名。在這些或其他實施例中,可根據該資料到其他儲存區塊的配置及/或儲存在該主儲存區塊上之其他資料的配置,來決定該分發策略。
另外,在某些實施例中,可根據該資料的一或更多資料特性來決定該分發策略,該一或更多資料特性像是資料類型、該資料的所需冗餘度、該資料的一所需可取得性、資料大小、該資料被加入至該儲存網路的時間、以及關聯於該資料的一使用者偏好。在這些或其他實施例中,該分發策略的決定可根據資料特性與關聯於其他儲存區塊、目標儲存區塊及/或主儲存區塊之特性的關係。
因此,可執行方法400以決定一資料分發策略。此種方式的資料分發相較於現有的資料儲存方案而言,可提供改良的使用者經驗以及儲存網路內的冗餘度。
本發明所屬技術領域之技藝人士將能理解,對於方法400及在此所揭露之其他程序及方法,在該等程序及方法中進行的功能可以不同順序來實施。此外,所列出的步驟及操作僅提供作為範例,且可在不減損所揭示實施例之精華下,某些步驟及操作可為選擇性、合併成較少步驟及操作,或擴充成額外步驟及操作。
如上所述,在此說明之實施例可包括使用特殊用途或一般用途電腦(例如第1圖的處理器150),該特殊用途或一般用途電腦包括各種電腦硬體或軟體模組,以下將更詳細討論。特殊用途或一般用途電腦可經組態設定以執行被儲存在電腦可讀取媒體上的電腦可執行指令(例如第1圖的記憶體152及/或儲存區塊110)。
電腦可執行指令可包括(例如)致使一般用途電腦、特殊用途電腦或特殊用途處理裝置(例如一或更多處理器)進行一特定功能或一組功能的指令及資料。儘管本案所請之發明經以特定於結構性特徵及/或方法論之動作的語言所描述,應理解在隨附之申請專利範圍中所界定之所請發明並非必然受限於上述之特定特徵或動作。相反地,上述之該等特定特徵及動作僅揭露作為實施本案之申請專利範圍的一種範例形式。
在本說明書中,所使用之用語「模組」或「組件」可指經組態設定以執行模組或組件之操作及/或軟體物件或軟體常式的特定硬體實施,該等軟體物件或軟體常式可被儲存在計算系統之一般用途硬體(例如電腦可讀取媒體、處理裝置等等)上,及/或可由計算系統的一般用途硬體所執行。在某些實施例中,本說明書中所說明之該等不同組件、模組、引擎及服務可經實施為物件或在計算系統上執行的程序(例如個別執行緒)。在本說明書中所說明之系統及方法的某些經概略敘述為以軟體(儲存在一般用途硬體上及/或由一般用途硬體執行)實施,在此同時特定硬體實施或軟體及特定硬 體實施之組合亦為可能及可預期。在本說明書中,一個「計算實體」可為任何先前所定義之計算系統,或任何模組或在一計算系統上執行之模塊的組合。
在此所述之全部範例及條件式語言係以教學為目標,以輔助讀者了解本發明及由發明人所貢獻之觀念以推廣本技術領域,應理解並無限制於特定描述的範例及條件。儘管本發明之實施例已被詳盡描述,應理解可對本發明之實施例進行各種改變、替換、及更動,而無悖離本揭示案之精神及範疇。
100a‧‧‧儲存系統
102a‧‧‧儲存網路
104a-104c‧‧‧儲存代理器
106a-106c‧‧‧裝置
110a-110c‧‧‧儲存區塊
112‧‧‧網路
114‧‧‧儲存網路管理器
116a-116c‧‧‧通訊模組
120a-120c‧‧‧控制器
150a-150c‧‧‧處理器
152a-152c‧‧‧記憶體

Claims (20)

  1. 一種配置資料到一儲存網路中所包括之一儲存區塊的方法,該方法包含下列步驟:決定關聯於一儲存區塊的複數個特性,該儲存區塊包括在一儲存網路中,該等複數個特性包括該儲存區塊的儲存容量、該儲存區塊的可用儲存空間、儲存在該儲存區塊上之資料的損失可能性、該儲存區塊的用途、以及該儲存區塊對於該儲存網路而言的可取得頻率,其中該儲存區塊的該可取得頻率係基於一裝置與該儲存網路的一連線頻率,該裝置關聯於該儲存區塊;及根據該等複數個特性,配置資料到該儲存區塊。
  2. 如請求項1所述之方法,進一步包含根據下列之一或更多者來配置該資料到該儲存區塊:該儲存區塊的一類型、該儲存區塊的一狀況、關聯於該儲存區塊之該裝置的一裝置類型、該裝置的用途、該裝置的損失可能性、該裝置的一狀況、該裝置的一位置、該裝置與該儲存網路的連線能力、該裝置與該儲存網路之連線能力的一成本、以及該裝置的一可靠性。
  3. 如請求項1所述之方法,進一步包含下列步驟:決定該資料的一目標冗餘度(redundancy);根據該等複數個特性,決定該儲存區塊對於該資料的一冗餘任務(redundancy role);及根據該儲存區塊的該冗餘任務,配置該資料至該儲存區 塊。
  4. 如請求項1所述之方法,進一步包含:根據該等複數個特性,將該儲存區塊指定為該資料的一主要儲存庫。
  5. 如請求項1所述之方法,進一步包含:根據該等複數個特性,將該儲存區塊指定為該資料的一次要儲存庫。
  6. 如請求項1所述之方法,進一步包含:根據該資料的一資料特性來配置該資料至該儲存區塊。
  7. 如請求項6所述之方法,其中該資料特性包括下列之一或更多者:資料類型、該資料之使用頻率、針對該資料的目標冗餘度、該資料的大小、在該資料中包括的資訊、該資料被加入至該儲存區塊的時間、該資料被加入至該儲存網路的時間、該資料的起源、以及對於該資料而言的一使用者偏好。
  8. 如請求項6所述之方法,進一步包含:由於該資料特性有關於該等複數個特性的一或更多者,根據該資料的該資料特性來配置該資料至該儲存區塊。
  9. 一種儲存資料在一儲存網路之一儲存代理器上的方法,該方法包含下列步驟:傳輸複數個特性到一儲存網路管理器,該等複數個特性 關聯於包括在一儲存網路中的一儲存區塊,該等複數個特性包括該儲存區塊的儲存容量、該儲存區塊的可用儲存空間、儲存在該儲存區塊上之資料的損失可能性、該儲存區塊對於該儲存網路而言的可取得性、以及對於儲存在該儲存區塊上並由關聯於該儲存區塊之一裝置所存取之其他資料而言所觀察到該裝置的用途,其中該其他資料具有一資料類型;從該儲存網路管理器接收一儲存命令,該儲存命令係用於儲存經配置資料在該儲存區塊上,該經配置資料具有該其他資料的該資料類型,其中該儲存命令係基於該等複數個特性以及基於具有該其他資料之該資料類型的該經配置資料;及回應於該儲存命令,在該儲存區塊上儲存該經配置資料。
  10. 如請求項9所述之方法,進一步包含:根據該等複數個特性的一或更多者,從該儲存區塊移除該經配置資料。
  11. 如請求項9所述之方法,進一步包含:根據該經配置資料的一資料特性,在該儲存區塊上儲存該經配置資料。
  12. 如請求項11所述之方法,其中該資料特性包括下列之一或更多者:該經配置資料的資料類型、該經配置資料之使用頻率、針對該經配置資料的目標冗餘度、該經配置資料的大小、該經配置資料的一排名、在該經配置資料中包括的資訊、該經配置資料被加入至該儲存代理器的時間、該經配置資料 被加入至該儲存網路的時間、該經配置資料的起源、以及對於該經配置資料而言的一使用者偏好。
  13. 一種非暫態電腦可讀取儲存媒體,該電腦可讀取儲存媒體包括指令,該等指令致使一系統執行操作以配置資料到一儲存網路的一儲存代理器,該等操作包含:決定複數個特性,該等複數個特性關聯於包括在一儲存網路中的一儲存區塊,該等複數個特性包括該儲存區塊的儲存容量、該儲存區塊的可用儲存空間、儲存在該儲存區塊上之資料的損失可能性、該儲存區塊對於該儲存網路而言的可取得頻率、以及對於儲存在該儲存區塊上且由關聯於該儲存區塊之一裝置所存取之其他資料而言所觀察到該裝置的用途,其中該儲存區塊的該可取得頻率係基於關聯於該儲存區塊之該裝置的一連線頻率,且其中該其他資料具有一資料類型;根據該等複數個特性以及根據將被配置之資料具有該其他資料之該資料類型,來配置該資料到該儲存區塊。
  14. 如請求項13所述之非暫態電腦可讀取儲存媒體,其中該等操作進一步包含:根據下列之一或更多者來配置該資料到該儲存區塊:該儲存區塊的一類型、該儲存區塊的一狀況、關聯於該儲存區塊之該裝置的一裝置類型、該裝置的用途、該裝置的損失可能性、該裝置的一狀況、該裝置的一位置、 該裝置與該儲存網路的連線能力、該裝置與該儲存網路之連線能力的一成本、以及該裝置的一可靠性。
  15. 如請求項13所述之非暫態電腦可讀取儲存媒體,其中該等操作進一步包含:決定該資料的一目標冗餘度(redundancy);根據該等複數個特性,決定該儲存區塊對於該資料的一冗餘任務(redundancy role);及根據該儲存區塊的該冗餘任務,配置該資料至該儲存區塊。
  16. 如請求項13所述之非暫態電腦可讀取儲存媒體,其中該等操作進一步包含:根據該等複數個特性,將該儲存區塊指定為該資料的一主要儲存庫。
  17. 如請求項13所述之非暫態電腦可讀取儲存媒體,其中該等操作進一步包含:根據該等複數個特性,將該儲存區塊指定為該資料的一次要儲存庫。
  18. 如請求項13所述之非暫態電腦可讀取儲存媒體,其中該等操作進一步包含:根據該資料的一資料特性來配置該資料至該儲存區塊。
  19. 如請求項18所述之非暫態電腦可讀取儲存媒體,其中該資料特性包括下列之一或更多者:資料類型、該資料之使用頻率、針對該資料的目標冗餘度、該資料的大小、在該資料中包括的資訊、該資料被加入至該儲存區塊的時間、該資料被加入至該儲存網路的時間、該資料的起源、以及對於該資料而言的一使用者偏好。
  20. 如請求項18所述之非暫態電腦可讀取儲存媒體,其中該等操作進一步包含:由於該資料特性有關於該等複數個特性的一或更多者,根據該資料的該資料特性來配置該資料至該儲存區塊。
TW103100524A 2013-01-08 2014-01-07 儲存網路之資料配置 TWI514161B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201361750324P 2013-01-08 2013-01-08
US201361750319P 2013-01-08 2013-01-08
US14/137,654 US8880838B2 (en) 2013-01-08 2013-12-20 Storage network data allocation

Publications (2)

Publication Number Publication Date
TW201447601A TW201447601A (zh) 2014-12-16
TWI514161B true TWI514161B (zh) 2015-12-21

Family

ID=51061780

Family Applications (4)

Application Number Title Priority Date Filing Date
TW103100525A TWI555359B (zh) 2013-01-08 2014-01-07 儲存網路之資料分發
TW103100524A TWI514161B (zh) 2013-01-08 2014-01-07 儲存網路之資料配置
TW103144548A TW201535105A (zh) 2013-01-08 2014-12-19 儲存網路中的資料同步
TW103144547A TW201531863A (zh) 2013-01-08 2014-12-19 管理存儲器網路中的存儲器

Family Applications Before (1)

Application Number Title Priority Date Filing Date
TW103100525A TWI555359B (zh) 2013-01-08 2014-01-07 儲存網路之資料分發

Family Applications After (2)

Application Number Title Priority Date Filing Date
TW103144548A TW201535105A (zh) 2013-01-08 2014-12-19 儲存網路中的資料同步
TW103144547A TW201531863A (zh) 2013-01-08 2014-12-19 管理存儲器網路中的存儲器

Country Status (8)

Country Link
US (8) US8880838B2 (zh)
EP (3) EP2943888A4 (zh)
JP (1) JP2016511862A (zh)
KR (2) KR101700667B1 (zh)
CN (2) CN105164661A (zh)
CA (1) CA2900966A1 (zh)
TW (4) TWI555359B (zh)
WO (4) WO2014110140A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11392510B2 (en) 2020-06-10 2022-07-19 Industrial Technology Research Institute Management method of cache files in storage space and recording device for storing cache files

Families Citing this family (52)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9495194B1 (en) * 2008-10-17 2016-11-15 Dispersive Networks, Inc. Dispersive storage area networks
US8881256B1 (en) * 2011-12-21 2014-11-04 Amazon Technologies, Inc. Portable access to auditing information
US9239781B2 (en) 2012-02-07 2016-01-19 SMART Storage Systems, Inc. Storage control system with erase block mechanism and method of operation thereof
US9671962B2 (en) 2012-11-30 2017-06-06 Sandisk Technologies Llc Storage control system with data management mechanism of parity and method of operation thereof
US8880838B2 (en) 2013-01-08 2014-11-04 Lyve Minds, Inc. Storage network data allocation
US20140229695A1 (en) * 2013-02-13 2014-08-14 Dell Products L.P. Systems and methods for backup in scale-out storage clusters
US9329928B2 (en) 2013-02-20 2016-05-03 Sandisk Enterprise IP LLC. Bandwidth optimization in a non-volatile memory system
US10049037B2 (en) 2013-04-05 2018-08-14 Sandisk Enterprise Ip Llc Data management in a storage system
US9543025B2 (en) 2013-04-11 2017-01-10 Sandisk Technologies Llc Storage control system with power-off time estimation mechanism and method of operation thereof
US10546648B2 (en) 2013-04-12 2020-01-28 Sandisk Technologies Llc Storage control system with data management mechanism and method of operation thereof
US9244519B1 (en) 2013-06-25 2016-01-26 Smart Storage Systems. Inc. Storage system with data transfer rate adjustment for power throttling
US9367353B1 (en) 2013-06-25 2016-06-14 Sandisk Technologies Inc. Storage control system with power throttling mechanism and method of operation thereof
US9037762B2 (en) * 2013-07-31 2015-05-19 Dropbox, Inc. Balancing data distribution in a fault-tolerant storage system based on the movements of the replicated copies of data
US9431113B2 (en) * 2013-08-07 2016-08-30 Sandisk Technologies Llc Data storage system with dynamic erase block grouping mechanism and method of operation thereof
US9448946B2 (en) 2013-08-07 2016-09-20 Sandisk Technologies Llc Data storage system with stale data mechanism and method of operation thereof
US9361222B2 (en) 2013-08-07 2016-06-07 SMART Storage Systems, Inc. Electronic system with storage drive life estimation mechanism and method of operation thereof
US9747157B2 (en) 2013-11-08 2017-08-29 Sandisk Technologies Llc Method and system for improving error correction in data storage
US9678678B2 (en) 2013-12-20 2017-06-13 Lyve Minds, Inc. Storage network data retrieval
US9626376B1 (en) * 2014-02-14 2017-04-18 Western Digital Technologies, Inc. Local area network distributed storage
US9531610B2 (en) * 2014-05-09 2016-12-27 Lyve Minds, Inc. Computation of storage network robustness
CN104461914A (zh) * 2014-11-10 2015-03-25 浪潮电子信息产业股份有限公司 一种自动精简配置的自适应优化方法
US10165040B2 (en) 2015-06-05 2018-12-25 Apple Inc. Small disk support for large cloud-based storage systems
CN105095796A (zh) * 2015-07-15 2015-11-25 柳州首光科技有限公司 采用虹膜加密的数据存储系统
CN105022679A (zh) * 2015-07-15 2015-11-04 柳州首光科技有限公司 数据存储系统
CN105069367A (zh) * 2015-07-15 2015-11-18 柳州首光科技有限公司 具有隐私保护功能的数据存储系统
CN105069338A (zh) * 2015-07-16 2015-11-18 柳州首光科技有限公司 采用虹膜加密的信息存储方法
CN105069368A (zh) * 2015-07-16 2015-11-18 柳州首光科技有限公司 具有隐私保护功能的信息存储方法
CN105005745A (zh) * 2015-07-16 2015-10-28 柳州首光科技有限公司 信息存储方法
CN105045682A (zh) * 2015-07-16 2015-11-11 柳州首光科技有限公司 基于网络的信息存储方法
US11226987B2 (en) * 2015-10-23 2022-01-18 Oracle International Corporation System and method for in-place data writes to reduce fragmentation in a multidimensional database environment
US9940028B2 (en) * 2015-11-13 2018-04-10 Samsung Electronics Co., Ltd Multimode storage device
US9990304B2 (en) * 2015-11-13 2018-06-05 Samsung Electronics Co., Ltd Multimode storage management system
US9996473B2 (en) 2015-11-13 2018-06-12 Samsung Electronics., Ltd Selective underlying exposure storage mapping
US9946642B2 (en) * 2015-11-13 2018-04-17 Samsung Electronics Co., Ltd Distributed multimode storage management
CN105677240B (zh) * 2015-12-30 2019-04-23 上海联影医疗科技有限公司 数据删除方法及系统
US20170222886A1 (en) * 2016-01-28 2017-08-03 Hewlett Packard Enterprise Development Lp Metering storage usage
US11287973B2 (en) 2016-02-02 2022-03-29 Samsung Electronics Co., Ltd. Polymorphic storage devices
CN105786777B (zh) * 2016-02-22 2018-09-28 中国移动通信集团广东有限公司 基于文本解析器的存储容量集中处理方法
US10235060B1 (en) 2016-04-14 2019-03-19 EMC IP Holding Company, LLC Multilevel snapshot replication for hot and cold regions of a storage system
US10228886B2 (en) 2016-04-20 2019-03-12 International Business Machines Corporation Storage device volume selection for improved space allocation
US10572247B2 (en) * 2016-06-01 2020-02-25 Dell Products L.P. Prototype management system
US10467102B1 (en) 2016-12-15 2019-11-05 EMC IP Holding Company LLC I/O score-based hybrid replication in a storage system
US10140039B1 (en) 2016-12-15 2018-11-27 EMC IP Holding Company LLC I/O alignment for continuous replication in a storage system
US10346057B1 (en) * 2016-12-30 2019-07-09 EMC IP Holding Company LLC Probability-based allocation of storage from storage pools
TWI740884B (zh) * 2017-01-20 2021-10-01 香港商阿里巴巴集團服務有限公司 分散式檔案系統中的資料寫入方法和裝置
US10209914B2 (en) 2017-01-31 2019-02-19 Sandisk Technologies Llc System and method for dynamic folding or direct write based on block health in a non-volatile memory system
CN106934034B (zh) * 2017-03-14 2019-11-12 杭州火剧科技有限公司 分析影视作品发行特征的方法和服务器
JP6489144B2 (ja) * 2017-03-23 2019-03-27 日本電気株式会社 情報処理装置
US11782875B2 (en) * 2017-11-13 2023-10-10 Weka.IO Ltd. Directory structure for a distributed storage system
US10700974B2 (en) * 2018-01-30 2020-06-30 Marvell Israel (M.I.S.L) Ltd. Dynamic allocation of memory for packet processing instruction tables in a network device
US11171671B2 (en) * 2019-02-25 2021-11-09 Samsung Electronics Co., Ltd. Reducing vulnerability window in key value storage server without sacrificing usable capacity
US10892938B1 (en) * 2019-07-31 2021-01-12 Abb Power Grids Switzerland Ag Autonomous semantic data discovery for distributed networked systems

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030229698A1 (en) * 2002-06-07 2003-12-11 Ryoji Furuhashi Data allocation method, program and computer
TW200410216A (en) * 2002-10-08 2004-06-16 Netcell Corp Raid controller disk write mask
US7076622B2 (en) * 2003-09-30 2006-07-11 International Business Machines Corporation System and method for detecting and sharing common blocks in an object storage system
TW200723093A (en) * 2005-12-14 2007-06-16 Inventec Corp Method for establishing mirror storage equipment and synchronously storing equipment update data
TW200725594A (en) * 2005-12-30 2007-07-01 Ind Tech Res Inst Mechanism, method and apparatus to snapshot data for multiple volumes to a single snapshot volume in a data processing system
US20110289366A1 (en) * 2010-05-19 2011-11-24 Cleversafe, Inc. Memory utilization balancing in a dispersed storage network

Family Cites Families (82)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5881311A (en) 1996-06-05 1999-03-09 Fastor Technologies, Inc. Data storage subsystem with block based data management
US6085192A (en) 1997-04-11 2000-07-04 Roampage, Inc. System and method for securely synchronizing multiple copies of a workspace element in a network
US6708221B1 (en) * 1996-12-13 2004-03-16 Visto Corporation System and method for globally and securely accessing unified information in a computer network
FR2759517B1 (fr) 1997-01-24 1999-03-05 Bull Sa Systeme informatique a stockage de donnees distribue
US6094672A (en) 1997-05-19 2000-07-25 Novell, Inc. Method and system for time synchronization management
JP3233071B2 (ja) * 1997-07-02 2001-11-26 日本電気株式会社 マネージャ・エージェント間同期装置及びマネージャ・エージェント間同期方法並びにマネージャ・エージェント間同期制御プログラムを記録した記録媒体
EP0986225A1 (en) * 1998-09-11 2000-03-15 Visto Corporation System and method for securely synchronizing multiple copies of a workspace element in a network
US20020108025A1 (en) 1998-10-21 2002-08-08 Nicholas Shaylor Memory management unit for java environment computers
US6757847B1 (en) 1998-12-29 2004-06-29 International Business Machines Corporation Synchronization for system analysis
JP3953243B2 (ja) * 1998-12-29 2007-08-08 インターナショナル・ビジネス・マシーンズ・コーポレーション システム分析のためにバス・アービトレーション制御を使用する同期方法及び装置
US6401104B1 (en) 1999-07-03 2002-06-04 Starfish Software, Inc. System and methods for synchronizing datasets using cooperation among multiple synchronization engines
US7509420B2 (en) 2000-02-18 2009-03-24 Emc Corporation System and method for intelligent, globally distributed network storage
US20010039497A1 (en) 2000-03-30 2001-11-08 Hubbard Edward A. System and method for monitizing network connected user bases utilizing distributed processing systems
US6789258B1 (en) 2000-05-11 2004-09-07 Sun Microsystems, Inc. System and method for performing a synchronization operation for multiple devices in a computer system
US6664891B2 (en) 2000-06-26 2003-12-16 Koninklijke Philips Electronics N.V. Data delivery through portable devices
US6470329B1 (en) * 2000-07-11 2002-10-22 Sun Microsystems, Inc. One-way hash functions for distributed data synchronization
CN100452013C (zh) * 2000-07-31 2009-01-14 株式会社东芝 代理程序系统
US20020078461A1 (en) 2000-12-14 2002-06-20 Boykin Patrict Oscar Incasting for downloading files on distributed networks
US7177912B1 (en) 2000-12-22 2007-02-13 Datacore Software Corporation SCSI transport protocol via TCP/IP using existing network hardware and software
EP1227616B1 (de) * 2001-01-26 2006-11-08 Siemens Aktiengesellschaft Verfahren, Programm und Anordnung zur Synchronisierung von einem Network Manager mit einem Network Agenten
US20020129290A1 (en) 2001-03-06 2002-09-12 Bruno Couillard Method and system for time synchronization
US20020161911A1 (en) 2001-04-19 2002-10-31 Thomas Pinckney Systems and methods for efficient memory allocation for streaming of multimedia files
US7685126B2 (en) 2001-08-03 2010-03-23 Isilon Systems, Inc. System and methods for providing a distributed file system utilizing metadata to track information about data stored throughout the system
US6721871B2 (en) 2002-04-02 2004-04-13 Nokia Corporation Method and apparatus for synchronizing data stores with respect to changes in folders
US7139748B1 (en) * 2002-05-02 2006-11-21 Palmsource, Inc. N-way synchronization of computer databases
US7707175B1 (en) 2002-05-02 2010-04-27 Palmsource Inc. Single ended synchronization agents
US20040127242A1 (en) * 2002-12-31 2004-07-01 Dashevsky Jane Y. Apparatus and associated methods for the synchronization of shared content
JP4265245B2 (ja) * 2003-03-17 2009-05-20 株式会社日立製作所 計算機システム
US20040199740A1 (en) * 2003-04-07 2004-10-07 Nokia Corporation Adaptive and recursive compression of lossily compressible files
US7275073B2 (en) * 2003-05-07 2007-09-25 Good Technology, Inc. System and method for notifying mobile devices based on device type and network capabilities
US20040230317A1 (en) 2003-05-15 2004-11-18 Sun Microsystems, Inc. Method, system, and program for allocating storage resources
US20050050142A1 (en) 2003-08-28 2005-03-03 Aligo Inc. Method and framework for transaction synchronization
JP2005115438A (ja) * 2003-10-03 2005-04-28 Mitsubishi Electric Corp データ管理装置
US7734701B2 (en) 2003-11-14 2010-06-08 International Business Machines Corporation Method to write information to an information storage medium using a network attached storage device
US7149866B2 (en) 2004-06-04 2006-12-12 International Business Machines Corporation Free item distribution among multiple free lists during garbage collection for more efficient object allocation
US7567988B2 (en) 2004-07-16 2009-07-28 Sap Ag Synchronizing agent for multiple clients/applications on a computer system
US7584220B2 (en) 2004-10-01 2009-09-01 Microsoft Corporation System and method for determining target failback and target priority for a distributed file system
AU2005299366A1 (en) 2004-10-25 2006-05-04 Empower Technologies Inc., A Washington Corporation System and method for global data synchronization
WO2006052872A2 (en) 2004-11-05 2006-05-18 Commvault Systems, Inc. System and method to support single instance storage operations
US7600125B1 (en) 2004-12-23 2009-10-06 Symantec Corporation Hash-based data block processing with intermittently-connected systems
US7933936B2 (en) * 2005-06-10 2011-04-26 Network Appliance, Inc. Method and system for automatic management of storage space
JP4784854B2 (ja) * 2005-06-13 2011-10-05 独立行政法人産業技術総合研究所 データ管理装置および方法
US7523146B2 (en) * 2005-06-21 2009-04-21 Apple Inc. Apparatus and method for peer-to-peer N-way synchronization in a decentralized environment
KR100654462B1 (ko) 2005-08-24 2006-12-06 삼성전자주식회사 캐쉬 메모리를 메모리 블록으로 나누어 파일의 데이터를저장하는 캐쉬 방법 및 캐쉬 시스템
US9063881B2 (en) 2010-04-26 2015-06-23 Cleversafe, Inc. Slice retrieval in accordance with an access sequence in a dispersed storage network
TWI353536B (en) 2006-01-26 2011-12-01 Infortrend Technology Inc Virtualized storage computer system and method of
DE602006013405D1 (de) 2006-02-21 2010-05-20 Microsoft Corp Topologieverwaltung in Peer-to-peer Datenverteilungswolken
US9047310B2 (en) * 2006-02-22 2015-06-02 Microsoft Technology Licensing, Llc Reliable, efficient peer-to-peer storage
US8085891B2 (en) * 2006-05-29 2011-12-27 Research In Motion Limited System and method for management of mobile device communication
US20090132621A1 (en) 2006-07-28 2009-05-21 Craig Jensen Selecting storage location for file storage based on storage longevity and speed
JPWO2008026262A1 (ja) 2006-08-30 2010-01-14 パイオニア株式会社 記録媒体再生装置、記録媒体再生方法、記録媒体再生プログラムおよび記録媒体
US20080077638A1 (en) * 2006-09-21 2008-03-27 Microsoft Corporation Distributed storage in a computing environment
US20080077628A1 (en) 2006-09-22 2008-03-27 International Business Machines Corporation Conflict resolution for distributed processing systems
US9734086B2 (en) 2006-12-06 2017-08-15 Sandisk Technologies Llc Apparatus, system, and method for a device shared between multiple independent hosts
US7760767B2 (en) 2007-01-05 2010-07-20 Apple Inc. Wide area peer-to-peer synching in a decentralized environment
KR100932642B1 (ko) 2007-01-09 2009-12-21 포항공과대학교 산학협력단 유비쿼터스 환경에서 데이터 통합관리를 위한 분산 파일서비스 방법 및 시스템
JP4696089B2 (ja) 2007-03-30 2011-06-08 三菱電機インフォメーションシステムズ株式会社 分散ストレージシステム
US20080294769A1 (en) * 2007-05-25 2008-11-27 Kenshi Doi Efficient synchronization of agents starting a task where the agents poll a server to learn the task start time
US20080307094A1 (en) 2007-06-11 2008-12-11 Olli Karonen Association of peer-to-peer contribution credits with multiple devices
US20090228669A1 (en) 2008-03-10 2009-09-10 Microsoft Corporation Storage Device Optimization Using File Characteristics
US7849180B2 (en) 2008-04-29 2010-12-07 Network Appliance, Inc. Load balanced storage provisioning
US8103621B2 (en) 2008-10-03 2012-01-24 International Business Machines Corporation HSM two-way orphan reconciliation for extremely large file systems
US7974314B2 (en) 2009-01-16 2011-07-05 Microsoft Corporation Synchronization of multiple data source to a common time base
EP2411918B1 (en) 2009-03-23 2018-07-11 Riverbed Technology, Inc. Virtualized data storage system architecture
US8560639B2 (en) 2009-04-24 2013-10-15 Microsoft Corporation Dynamic placement of replica data
EP2497250B1 (en) 2009-11-03 2018-02-28 Telecom Italia S.p.A. Sharing of digital contents in p2p networks exploiting localization data
US8234464B2 (en) * 2009-11-05 2012-07-31 International Business Machines Corporation Hybrid storage data migration by selective data removal
US8527749B2 (en) 2009-11-11 2013-09-03 International Business Machines Corporation User device, computer program product and computer system for system for secure network storage
US8504670B2 (en) 2010-03-23 2013-08-06 Riverbed Technology, Inc. Virtualized data storage applications and optimizations
US8930618B2 (en) * 2010-08-24 2015-01-06 Futurewei Technologies, Inc. Smart memory
US20120173900A1 (en) 2010-11-03 2012-07-05 Broadcom Corporation Providing power over ethernet within a vehicular communication network
WO2012141687A1 (en) 2011-04-12 2012-10-18 Empire Technology Development, Llc A service associated with persistent storage
US8812454B2 (en) 2012-01-12 2014-08-19 Alcatel Lucent Apparatus and method for managing storage of data blocks
US20130232215A1 (en) 2012-03-05 2013-09-05 Riverbed Technology, Inc. Virtualized data storage system architecture using prefetching agent
US8977672B2 (en) 2012-06-08 2015-03-10 Commvault Systems, Inc. Intelligent scheduling for remote computers
TWM441275U (en) 2012-06-15 2012-11-11 zheng-dao Lin Distributed wireless network data storage system
TWI470999B (zh) 2012-06-19 2015-01-21 Wistron Corp 編輯與儲存串流的方法、裝置、系統
US9015212B2 (en) 2012-10-16 2015-04-21 Rackspace Us, Inc. System and method for exposing cloud stored data to a content delivery network
US9612948B2 (en) 2012-12-27 2017-04-04 Sandisk Technologies Llc Reads and writes between a contiguous data block and noncontiguous sets of logical address blocks in a persistent storage device
US8880838B2 (en) 2013-01-08 2014-11-04 Lyve Minds, Inc. Storage network data allocation
US9265935B2 (en) 2013-06-28 2016-02-23 Nevro Corporation Neurological stimulation lead anchors and associated systems and methods
US9678678B2 (en) 2013-12-20 2017-06-13 Lyve Minds, Inc. Storage network data retrieval

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030229698A1 (en) * 2002-06-07 2003-12-11 Ryoji Furuhashi Data allocation method, program and computer
TW200410216A (en) * 2002-10-08 2004-06-16 Netcell Corp Raid controller disk write mask
US7076622B2 (en) * 2003-09-30 2006-07-11 International Business Machines Corporation System and method for detecting and sharing common blocks in an object storage system
TW200723093A (en) * 2005-12-14 2007-06-16 Inventec Corp Method for establishing mirror storage equipment and synchronously storing equipment update data
TW200725594A (en) * 2005-12-30 2007-07-01 Ind Tech Res Inst Mechanism, method and apparatus to snapshot data for multiple volumes to a single snapshot volume in a data processing system
US20110289366A1 (en) * 2010-05-19 2011-11-24 Cleversafe, Inc. Memory utilization balancing in a dispersed storage network

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11392510B2 (en) 2020-06-10 2022-07-19 Industrial Technology Research Institute Management method of cache files in storage space and recording device for storing cache files

Also Published As

Publication number Publication date
EP3084631A1 (en) 2016-10-26
WO2014110142A1 (en) 2014-07-17
EP3084631A4 (en) 2017-08-30
JP2016511862A (ja) 2016-04-21
EP3084613A4 (en) 2017-09-06
US9727268B2 (en) 2017-08-08
US20150058590A1 (en) 2015-02-26
US20160132267A1 (en) 2016-05-12
US9910614B2 (en) 2018-03-06
EP2943888A1 (en) 2015-11-18
WO2014110140A1 (en) 2014-07-17
KR101791594B1 (ko) 2017-10-30
EP2943888A4 (en) 2016-10-26
KR20160124085A (ko) 2016-10-26
US8903959B2 (en) 2014-12-02
US20140195640A1 (en) 2014-07-10
CN106537358A (zh) 2017-03-22
US9274707B2 (en) 2016-03-01
US20170161297A1 (en) 2017-06-08
WO2015095852A1 (en) 2015-06-25
WO2015095851A1 (en) 2015-06-25
US20140195769A1 (en) 2014-07-10
TW201442465A (zh) 2014-11-01
EP3084613A1 (en) 2016-10-26
US8880838B2 (en) 2014-11-04
TW201447601A (zh) 2014-12-16
TWI555359B (zh) 2016-10-21
US20140195482A1 (en) 2014-07-10
CN105164661A (zh) 2015-12-16
KR20150110577A (ko) 2015-10-02
CA2900966A1 (en) 2014-07-17
TW201535105A (zh) 2015-09-16
US20140195757A1 (en) 2014-07-10
US20150058591A1 (en) 2015-02-26
KR101700667B1 (ko) 2017-01-31
TW201531863A (zh) 2015-08-16

Similar Documents

Publication Publication Date Title
TWI514161B (zh) 儲存網路之資料配置
US9678678B2 (en) Storage network data retrieval
US8762456B1 (en) Generating prefetching profiles for prefetching data in a cloud based file system
TWI578168B (zh) 儲存代理器上之混合型儲存分配
TW201545117A (zh) 縮圖影像建立
US8732355B1 (en) Dynamic data prefetching
US20140289203A1 (en) Using mobile devices of a user as an edge cache to stream video files
US8805790B1 (en) Backing up audio and video files across mobile devices of a user
TW201546702A (zh) 儲存代理器狀態
TWI554882B (zh) 用於儲存網路強固性計算的方法、電腦可讀取媒體及電子裝置
TW201606746A (zh) 照片分享裝置顯示器上之影像捲動

Legal Events

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