TW201606505A - 儲存網路強固性計算 - Google Patents

儲存網路強固性計算 Download PDF

Info

Publication number
TW201606505A
TW201606505A TW104114477A TW104114477A TW201606505A TW 201606505 A TW201606505 A TW 201606505A TW 104114477 A TW104114477 A TW 104114477A TW 104114477 A TW104114477 A TW 104114477A TW 201606505 A TW201606505 A TW 201606505A
Authority
TW
Taiwan
Prior art keywords
storage
data
electronic device
block
network
Prior art date
Application number
TW104114477A
Other languages
English (en)
Other versions
TWI554882B (zh
Inventor
布契蒂摩西
麥肯瑞克艾恩
馬傑夫
李賈斯汀
卡凱爾倫帝佩辛格
凱撒克里斯汀M
朵樂摩根法蘭可依斯史帝芬
舒美沙葛瑞格
Original Assignee
萊芙麥斯公司
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 萊芙麥斯公司 filed Critical 萊芙麥斯公司
Publication of TW201606505A publication Critical patent/TW201606505A/zh
Application granted granted Critical
Publication of TWI554882B publication Critical patent/TWI554882B/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]
    • 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/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/04Processing captured monitoring data, e.g. for logfile generation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • H04L43/0811Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking connectivity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • H04L43/0817Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking functioning
    • 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/04Protocols specially adapted for terminals or networks with limited capabilities; specially adapted for terminal portability
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/53Network services using third party service providers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/75Indicating network or usage conditions on the user display
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • H04M1/7243User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality with interactive means for internal management of messages
    • H04M1/72436User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality with interactive means for internal management of messages for text messaging, e.g. short messaging services [SMS] or e-mails
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/16Threshold monitoring
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/18Processing of user or subscriber data, e.g. subscribed services, user preferences or user profiles; Transfer of user or subscriber data

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Environmental & Geological Engineering (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Data Mining & Analysis (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本發明之實施例包括一種方法,該方法係用於判定電子裝置之儲存網路的健康狀況。在一些實施例中,該方法可包括:判定儲存在電子裝置網路內之一或多個電子裝置中的資料項目錄之資料大小;判定該電子裝置網路之儲存容量;基於該資料項目錄之資料大小及該一或多個電子裝置之儲存容量,判定該電子裝置網路之儲存健康狀況;及輸出該電子裝置網路之該儲存健康狀況。

Description

儲存網路強固性計算
本揭露大致上係關於儲存代理器狀態。
個人資料(例如照片、視訊、文件等)之量正不斷增加,使得用於儲存個人資料之不同方法及系統亦不斷增加。然而,儲存個人資料之許多方法及系統可能面對許多挑戰,例如繁瑣且耗時、冗餘提供不足、以及無法在不同裝置上輕易存取資料等等。
本文主張之申請標的不限於解決任何缺點之實施例或僅操作於諸如上述環境中之實施例。而是,提供此背景僅是為了說明可實踐本文中所述之實施例的例示技術領域。
本發明之實施例包括一種方法,該方法係用於判定電子裝置之儲存網路的健康狀況。在一些實施例中,該方法可包括:判定儲存在電子裝置網路內之一或多個電子裝置中的資料項目錄之資料大小;判定該電子裝置網路之儲存容量;基於該資料項目錄之資料大小及該一或多個電子裝置之儲存容量,判定該電子裝置網路之儲存健康狀況;及輸出該電子裝置網路之該儲存健康狀況。
多種其他方法、系統、裝置、程式碼、設備等亦揭露於此,用於顯示經由網路連線之遠端電子裝置的健康狀況。
提及這些說明性實施例並非要限定或定義本揭露,而是用來提供有助於瞭解本揭露之實例。【實施方式】中論述附加之實施例,並且提供進一步描述。藉由審閱本說明書或藉由實踐所述之一或多項實施例,可進一步瞭解各項實施例之一或多者所提供之優點。
100a‧‧‧儲存系統
100b‧‧‧儲存系統
102a‧‧‧儲存網路
102b‧‧‧儲存網路
104‧‧‧儲存代理器
104a‧‧‧儲存代理器
104b‧‧‧儲存代理器
104c‧‧‧儲存代理器
104d‧‧‧儲存代理器
104e‧‧‧儲存代理器
104f‧‧‧儲存代理器
106‧‧‧電子裝置/裝置
106a‧‧‧電子裝置/裝置
106b‧‧‧電子裝置/裝置
106c‧‧‧電子裝置/裝置
106d‧‧‧電子裝置/裝置
106e‧‧‧電子裝置/裝置
106f‧‧‧電子裝置/裝置
110‧‧‧儲存塊
110a‧‧‧儲存塊
110b‧‧‧儲存塊
110c‧‧‧儲存塊
110d‧‧‧儲存塊
110e‧‧‧儲存塊
110f‧‧‧儲存塊
112‧‧‧通訊網路/網路
114‧‧‧儲存管理器/儲存網路管理器
116‧‧‧通訊模組
116a‧‧‧通訊模組
116b‧‧‧通訊模組
116c‧‧‧通訊模組
120‧‧‧控制器
120a‧‧‧控制器
120b‧‧‧控制器
120c‧‧‧控制器
121‧‧‧資料
150‧‧‧處理器
150a‧‧‧處理器
150b‧‧‧處理器
150c‧‧‧處理器
152‧‧‧記憶體
152a‧‧‧記憶體
152b‧‧‧記憶體
152c‧‧‧記憶體
200‧‧‧方法
202‧‧‧程序方塊
204‧‧‧程序方塊
300‧‧‧方法
302‧‧‧程序方塊
304‧‧‧程序方塊
306‧‧‧程序方塊
400‧‧‧方法
402‧‧‧程序方塊
404‧‧‧程序方塊
406‧‧‧程序方塊
500‧‧‧方法
505‧‧‧程序方塊
510‧‧‧程序方塊
515‧‧‧程序方塊
525‧‧‧程序方塊
530‧‧‧程序方塊
600‧‧‧方法
605‧‧‧程序方塊
610‧‧‧程序方塊
615‧‧‧程序方塊
625‧‧‧程序方塊
630‧‧‧程序方塊
700‧‧‧方法
705‧‧‧程序方塊
710‧‧‧程序方塊
715‧‧‧程序方塊
720‧‧‧程序方塊
725‧‧‧程序方塊
730‧‧‧程序方塊
800‧‧‧方法
805‧‧‧程序方塊
810‧‧‧程序方塊
815‧‧‧程序方塊
820‧‧‧程序方塊
825‧‧‧程序方塊
830‧‧‧程序方塊
835‧‧‧程序方塊
905‧‧‧刻度盤
905A‧‧‧刻度盤
905B‧‧‧刻度盤
905C‧‧‧刻度盤
910‧‧‧色彩輪
910A‧‧‧色彩輪
910B‧‧‧色彩輪
910C‧‧‧色彩輪
915‧‧‧刻度盤訊息
915A‧‧‧刻度盤輪
915B‧‧‧刻度盤輪
915C‧‧‧刻度盤輪
920‧‧‧訊息文字
920A‧‧‧訊息文字
920B‧‧‧訊息文字
920C‧‧‧訊息文字
1000‧‧‧方法
1005‧‧‧程序方塊
1010‧‧‧程序方塊
1015‧‧‧程序方塊
1020‧‧‧程序方塊
可藉由閱讀下文【實施方式】並參考所附圖式而更佳地瞭解本揭露之各項特徵、特點及優點。
圖1A繪示例示性儲存系統,其係經組態用以分配資料至儲存網路中所包括之儲存塊;圖1B繪示例示性儲存系統,其係經組態用以判定用於將資料散布至儲存網路中所包括之儲存塊的散布策略;圖2係分配資料至儲存網路之儲存塊之例示性方法的流程圖;圖3係在儲存網路之儲存塊上儲存資料之例示性方法的流程圖;圖4係判定用於散布資料至儲存網路之儲存塊的散布策略之例示性方法的流程圖;圖5係根據本文中所述之至少一實施例,判定儲存系統之全部或部分的健康狀態之例示性方法的流程圖;圖6係根據本文中所述之至少一實施例,判定儲存系統之全部或部分的健康狀態之例示性方法的流程圖; 圖7係根據本文中所述之至少一實施例,判定儲存集線器之健康狀態之例示性方法的流程圖;圖8係根據本文中所述之至少一實施例,判定儲存系統之健康狀態之例示性方法的流程圖;圖9A係根據本文中所述之一些實施例之健康狀態顯示畫面之實例;圖9B係根據本文中所述之一些實施例之警告狀態顯示畫面之實例;及圖9C係根據本文中所述之一些實施例之注意狀態顯示畫面之實例。
圖10係根據本文中所述之一些實施例,判定儲存系統之儲存健康狀況的例示性方法的流程圖。
揭示用於判定具有許多電子裝置的儲存網路之健康狀況的系統及方法。在一些實施例中,該一或多個裝置之健康狀況可取決於:電子裝置之儲存容量的總和;電子裝置之儲存網路的複製目標;電子裝置之儲存網路的複製因數;及/或儲存網路中之資料項目錄的大小。可使用各種其他因素以判定儲存網路之健康狀況。
一些實施例可包括尋找駐存在複數個裝置106之各者及/或儲存管理器114處之一筆資料所在之所有資料位置之方法、裝置或電腦可讀取媒體。接著可判定是否已達成各筆資料之複製目標。如果已達成複製,則可顯示健康狀態。如果尚未達成複製目標,則可判定 是否有足夠的儲存塊以用於達成複製目標。如果有達到複製目標的足夠儲存塊,則顯示警告狀態,該警告狀態指示尚未達成複製目標,但有可能達成複製目標。如果沒有足以達到複製目標的儲存塊,則顯示注意狀態,該注意狀態指出尚未達成複製目標,且基於系統內目前的儲存塊量,無法達成複製目標。
圖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可經組態用以儲存、 組織、及/或管理例如照片、視訊、文件等資料檔。在一些實施例中,上述資料檔可包括於資料物件中,所述資料物件亦可包括可提供關於該些資料檔之資訊之中繼資料(metadata)。本揭露中之用語「資料」 可指任何適合之資訊,該資訊可由儲存塊110儲存且可包括一或多個資料檔、中繼資料、或前兩者之任意組合。
儲存系統100a可經組態,而以可減少使用者所需輸入 量之自動化方式,組織並管理跨儲存塊110a至儲存塊110c儲存之資料。另外,儲存系統100a可經組態使得特定儲存塊110上儲存之資料可被不包括該特定儲存塊110的裝置106存取並使用。如此,不管資料是否儲存在該特定裝置106的本地儲存塊110,儲存系統100a均可促進儲存網路102a內由儲存塊110所儲存並由儲存代理器104所管理之資料的組織,並同時提供資料存取。
裝置106可為可包括一或多個儲存塊110之任何電子裝 置。裝置106可經組態用以儲存資料至其相關儲存塊110或自其相關儲存塊110存取資料。舉例來說,裝置106可為以下任一者:雲端儲存伺服器、行動電話、平板電腦、桌上型電腦、膝上型電腦、相機、個人數位助理(PDA)、智慧型手機、音樂播放機、視訊播放機、外部硬碟機(external hard drive)等。
在一些實施例中,裝置106亦可包括控制器120,其各 可包括處理器150、記憶體152、以及儲存塊110。另外,控制器120各可包括一或多個儲存代理器104,儲存代理器104可經組態用以管理儲存塊110上之資料儲存、以及裝置106及儲存塊110分別與儲存網路102a之交互作用。舉例來說,在所繪示之實施例中,裝置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)或其他光碟儲存器、磁碟儲存器或其他磁儲存裝置、快閃記憶體裝置(例如固態記憶體裝置)、或任何其他儲存媒體,其可以電腦可執行指令或資料結構之形式攜載或儲存所欲程式碼,且所儲存電腦可執行指令或資料結構可藉由處理器150來存取。上述之組合亦可包括在電腦可讀取媒體之範圍內。舉例而言,電腦可執行指令可包括使通用型電腦、特殊用途電腦、或特殊用途處理裝置(例如處理器150)進行某一功能或某組功能之指令及資料。在一些實施例中,儲存代理器104可儲存為其相應裝置106之記憶體152內部之電腦可執行指令。
儲存塊110亦可為經組態用以儲存資料之任何適合之電 腦可讀取媒體。儲存塊110可在不同儲存塊110儲存實質相同之資料,並且亦可儲存僅可在特定儲存塊110上找到之資料。雖然各裝置106皆係描繪成包括單一儲存塊110,但裝置106可包括任意數量的任何適合類型電腦可讀取媒體之儲存塊110。舉例而言,裝置106可包括係為硬碟機之第一儲存塊110、以及係為快閃碟驅動器之第二儲存塊110。再者,儲存塊110可包括多於一種類型之電腦可讀取媒體。 舉例而言,儲存塊110可包括硬碟機及隨身碟。另外,儲存塊110可為可自裝置106卸除,使得其可在不同時間包括於多於一個裝置106。舉例而言,儲存塊110可為通用序列匯流排(USB)儲存裝置或保全數位(SD)卡,其可在不同時間連接至不同裝置106。
如上述,儲存代理器104可經組態用以管理儲存塊110 上與儲存網路102a有關之資料儲存。在一些實施例中且如以上所指,儲存代理器104之一或多者可包括於任何適合之裝置106。另外,在一些實施例中,裝置106可不包括儲存代理器104。在這些及其他實施例中,一或多個其他裝置106上所包括之一或多個儲存代理器104可經組態用以管理可能不包括儲存代理器之裝置106之儲存塊110上之資料。舉例而言,在一些實施例中,特定裝置106中可包括特定儲存塊110,裝置106係由第三方管理之雲端伺服器。在這些例項之一些例項中,其他裝置106之一或多個儲存代理器104可經組態用以管理特定儲存塊110上之資料儲存,儲存塊110係特定裝置106之一部分。
另外,特定儲存塊110可為可攜式儲存元件,例如可在 不同時間與不同裝置106耦合的USB記憶條,使得不同儲存代理器104可在不同時間管理特定儲存塊110。舉例而言,在一些例項中,特定儲存塊110可在一時間點耦合至裝置106a,使得儲存代理器104a可管理特定儲存塊110。再者,特定儲存塊110可在不同時間耦合至裝置106b,使得儲存代理器104b可管理特定儲存塊110。
裝置106各可包括通訊模組116,通訊模組116可在裝 置106間提供連線性,以讓儲存塊110與儲存代理器104間進行資料通訊。舉例而言,裝置106a可包括通訊模組116a,裝置106b可包括通訊模組116b,而裝置106c可包括通訊模組116c。
通訊模組116可在裝置106間提供任何適合形式之通訊 能力。舉例來說且非限制,通訊模組116可經組態用以經由有線及/或無線機制提供網際網路連線性、區域網路(LAN)連線性、廣域網路(WAN)連線性、藍牙連線性、3G連線性、4G連線性、LTE連線性、無線保真度(Wi-Fi)連線性、機器間(M2M)連線性、裝置間(D2D)連線性、任何其他適合之通訊能力、或其任何適合之組合。
在所繪示之實施例中,通訊模組116係描繪成經由通訊 網路112(下文稱為「網路112」)在裝置106間提供連線性。在一些實施例中,網路112可單獨或以任何適合之組合包括網際網路、內部網路、區域Wi-Fi網路、無線LAN、行動網路(例如3G、4G、及/或LTE網路)、LAN、WAN、或任何其他適合之通訊網路。雖然未在圖 1中明確描繪,但在這些及其他實施例中,通訊模組116可在裝置106間提供直接連線性。
儲存塊110上儲存之資料在裝置106間之通訊從而可允 許裝置106存取並且使用可能非本機儲存於其相關儲存塊110上之資料。儲存代理器104可經組態用以促進裝置106間之資料的此類協調及通訊。如此,儲存網路102a、裝置106、儲存代理器104、以及儲存塊110可允許資料儲存的同時,即使資料未本機儲存於特定裝置106中所包括之儲存塊110上,仍亦允許裝置106存取儲存之資料。 此外,儲存代理器104在裝置106間進行之資料通訊及相關協調可促進提供資料之冗餘,使得儲存網路102a可新增儲存塊及卸除儲存塊,而儲存網路102a中之資料僅有少量丟失或無丟失。
在一些實施例中,裝置106的動作可類似於基於物件之 檔案系統(object-based file system)中所包括之用戶端或伺服器。例如,某些裝置106可經組態用以僅儲存與各種資料物件有關聯之中繼資料,而其他裝置106可經組態用以儲存與各種資料物件有關聯之中繼資料及實際資料檔。
在一些實施例中,為了管理並提供儲存網路102a中資料儲存相關之資訊,可產生並管理儲存網路102a之資料目錄。舉例而言,在一些實施例中,目錄可包括之資訊例如是儲存塊110中何者可本機儲存資料物件、個別資料檔、及/或中繼資料。在一些實施例中,目錄可包括儲存網路102a中儲存之資料物件的全部中繼資料之集合。因而,可用目錄判定出儲存有特定資料之儲存塊110。如此,在資料 未本機儲存於其相應儲存塊110的情況下,裝置106可知存取資料之位置。在一些實施例中,基於可由儲存代理器104管理之同步處理,目錄可由儲存塊110之每一者來儲存,並且在儲存塊110之每一者間同步。
在一些實施例中,儲存代理器104可經組態用以與一或 多個儲存網路控制器通訊,該一或多個儲存網路控制器可個別或統稱為儲存管理器114。儲存管理器114之動作可類似於分散式儲存系統中之中央伺服器。儲存管理器114可與藉由提供儲存管理服務之第三方所操作之伺服器有關聯,或可本機儲存於使用者所擁有及/或管理之裝置106上,該使用者之資料係儲存於儲存網路102a中。
儲存管理器114可進行儲存系統100a中之多項功能, 例如協調儲存代理器104之動作。舉例而言,儲存管理器114之功能可包括但不限於在儲存網路102a之儲存塊110間定位資料檔、協調如儲存代理器104所進行之儲存塊110間之資料同步處理、分配儲存塊110上之資料儲存、以及協調散布資料至儲存塊110。以下更詳細描述儲存塊110間的資料分配及資料散布。
在一些實施例中,儲存管理器114可包括於儲存網路 102a之使用者本機之裝置106中,並且在其他實施例中,儲存管理器114可包括於第三方所管理之裝置106中。在一些實施例中,儲存管理器114可進行操作,使得儲存管理器114可充當或作為儲存代理器(例如儲存集線器)。舉例而言,儲存管理器114可管理例如與儲存網路102a有關聯之目錄及/或其他中繼資料之類的資料,並且可使該資 料與其他儲存代理器104同步,使得儲存管理器114對於此類資料可作為儲存代理器。
在一些實施例中,儲存管理器114可經由網路112與儲 存代理器104通訊(如圖1A所示)。儲存管理器114亦可經組態用以經由直接通訊與儲存代理器104之一或多者通訊。
與儲存網路102a中所包括資料(例如上述目錄)有關 聯之中繼資料可包括關於資料狀態之資訊,其可幫助定位資料檔、協調資料之同步處理、分配儲存塊110間之資料、以及判定所分配資料之散布策略等等。狀態可指示資料檔之何者可分配至儲存塊110中之何者、與不同資料檔有關聯之散布策略、儲存塊110間之資料傳輸的開始時間、儲存塊110間之資料傳輸進行中、儲存塊110間之資料傳輸在完成資料傳輸前停止、以及儲存塊110上是否仍儲存特定資料。
在一些實施例中,儲存管理器114可將關於資料儲存之 指令傳至儲存代理器104,例如與儲存塊110有關之資料分配及散布。儲存代理器104可回應於自儲存管理器114傳送之指令而進行動作,使得資料可根據分配及散布而儲存於儲存塊110上。另外,在一些實施例中,傳至儲存管理器114並由儲存管理器114所使用之中繼資料可使得儲存管理器114可知道關於儲存網路102a中所儲存相聯資料檔之資訊(例如大小、類型、唯一識別符、位置等),但可能不知道關於儲存網路102a中所儲存資料檔的實際內容之資訊。
儲存代理器104可根據可儲存於儲存代理器104各者上 之中繼資料來定位儲存網路102a內之資料檔。在一些實施例中,此類 中繼資料可儲存成上述目錄。舉例而言,儲存代理器104a可使用儲存塊110a上所儲存並由儲存代理器104a所管理之目錄,以定位儲存塊110b上儲存之資料檔。在藉由儲存代理器104及/或特定儲存代理器104以及儲存管理器114進行中繼資料之同步處理期間,可傳送儲存代理器104用以定位儲存網路102a上所儲存資料檔之資訊的某些或全部。另外或替代地,儲存代理器104可與儲存管理器114通訊以定位儲存網路102a上儲存之資料檔。
另外,儲存管理器114可能利用與其他儲存代理器104 之不可靠、不存在、或間歇之連線性來與儲存代理器104之一或多者通訊。如此,儲存管理器114可經組態用以將接收自一儲存代理器104之資訊轉送至另一儲存代理器104以維持儲存代理器104間之資料通訊。舉例而言,儲存代理器104c可能使用不可靠或間歇之連線來以通訊方式耦合至儲存代理器104b及/或儲存代理器104a。儲存管理器114從而可經由網路112與儲存代理器104c通訊,並可接著自儲存代理器104c轉送資訊至儲存代理器104b及/或儲存代理器104a。
儲存管理器114亦可經組態用以判定儲存網路102a內 之裝置106及/或儲存塊110的存在。裝置106或儲存塊110之存在可指示裝置106中何者與儲存網路102a之另一裝置106及/或與儲存管理器114以通訊方式耦合,因而指示裝置106及其相關儲存塊110中何者「存在」於儲存網路102a內或連線至儲存網路102a。裝置106及其相關儲存塊110之存在可指示儲存塊110對於儲存網路之可用度,如下面的詳細說明,其可用於資料分配及散布之判定。
如上述,儲存管理器114可經組態用以判定資料檔之分 配以供儲存塊110上儲存之用。在一些實施例中,根據用於資料檔之所欲冗餘及/或資料檔之所欲可用度,儲存管理器114可經組態用以判定資料檔之分配以供儲存塊110上儲存之用。在一些實施例中,儲存管理器114可基於與特定儲存塊110有關聯之多項特性,判定至特定儲存塊110之分配。該等特性可直接關於特定儲存塊110(稱為儲存塊特性)及/或關於特定儲存塊110可能與之相關聯的該(等)裝置106(稱為裝置特性)。
舉例而言,儲存管理器114可基於下列來判定分配:特 定儲存塊110之儲存容量、特定儲存塊110之可用儲存空間、特定儲存塊110之儲存元件類型(下文稱為「儲存塊類型」)、特定儲存塊110之丟失可能性、特定儲存塊110對於儲存網路102a的可用度、與特定儲存塊110相關聯之裝置106、儲存塊之健康狀況、及/或特定儲存塊110之使用。
儲存塊類型可影響其他儲存塊特性中的一或多者。舉例 而言,例如USB記憶條之類可攜式且可卸除式儲存塊之儲存塊110因其可能相對易於丟失,而可具有相對高之資料丟失可能性。另外,與例如桌上型電腦之硬碟機之類永久附接之儲存塊相比,可攜式及可卸除式儲存塊之儲存使用可能不同。再者,可攜式且可卸除式儲存塊對於儲存網路102a之可用性較低,原因在於其有時可能不與任何裝置106相關聯,使得其上儲存之資料可能無法為儲存網路102a之裝置106所用。
另外,如下面的詳細說明,可包括特定儲存塊110之特 定裝置106可影響與特定儲存塊110相關聯之一或多項其他特性,如下面的詳細說明。裝置特性從而可如下所述影響資料之分配及散布。 在一些實施例中,因為儲存塊110之相關聯特性可與資料檔之所欲冗餘及/或可用度有關,儲存管理器114可進行分配。
裝置類型係可影響和儲存塊110相關聯之其他特性的裝 置特性,該等其他特性可影響資料分配。裝置類型可指裝置之一般類別,亦可指可包括於相同一般類別中之特定類型或型號。舉例來說,在所繪示之實施例中,裝置106a可為第一裝置類型(例如智慧型手機),裝置106b可為第二裝置類型(例如外部硬碟),且裝置106c可為第三裝置類型(例如平板電腦)。裝置類型亦可指較一般裝置類型之不同型號。舉例而言,一裝置類型可為iPhone®且另一裝置類型可為Android®手機,但兩者一般來說均可具有智慧型手機之特徵。在一些實施例中,裝置類型可更加特定,例如一種裝置類型可為iPhone® 4而另一裝置類型則可為iPhone® 5。
如以上所指,裝置106之類型可關於裝置106之一或多 項裝置特性,其亦可與儲存塊特性密切相關及/或重疊。舉例而言,裝置特性可包括但不限於裝置相應儲存塊110之儲存容量、裝置相應儲存塊110之可用儲存空間、裝置相應儲存塊110之可卸除性、可靠度、裝置相應儲存塊110上所儲存資料之丟失可能性、裝置106之使用(因而還有其相應儲存塊110之使用)、裝置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為智慧型手機時因丟失、遺落、掉落、遭竊、水損等所致的裝置106a丟失可能性,可能大於裝置106c為外部硬碟時之丟失可能性。
而且,裝置106a為智慧型手機時可被使用者用來存取例如圖片、音樂、及視訊之類的媒體類型檔案,而裝置106c為外部硬碟時主要可能被使用者用來備份資料,但可能不經常用來存取資料。從而,裝置106a及儲存代理器104c以及其相應儲存塊110a與110c 之使用亦可基於裝置106a及儲存代理器104c之裝置類型。另外,裝置106a為智慧型手機時可被裝置106a之使用者攜帶,攜帶之方式使得裝置106a(及其相關組件,例如儲存代理器104a及儲存塊110a)與儲存網路102a之其他裝置106(及其相關組件)間可能具有不一致、低速、及/或十分昂貴之連線性。相形之下,若裝置106c係固定與至少一網路112連線,則裝置106c為外部硬碟時(及其相關組件)可具有更一致之連線性。
舉另一例而言,裝置類型亦可影響裝置106之位置。舉 例而言,與智慧型手機或平板電腦位於相同位置之頻率相比,桌上型電腦可更常位於相同位置。另外,因為有時使用者住家內可能有至少許多其他裝置106,故使用者住家的桌上型電腦可能相當一致地與儲存網路102a之其他裝置106(例如智慧型手機、平板電腦等)接觸。 裝置類型從而亦可關於特定裝置106相對於另一裝置106之位置。
儲存管理器114可經組態用以判定儲存塊110之儲存塊 特性,且可基於儲存塊特性來分配資料至儲存塊110。在一些實施例中,儲存管理器114可經組態以基於與儲存塊110相關聯之裝置106來判定儲存塊特性。舉例而言,儲存管理器114可經組態用以判定裝置106之裝置類型並且基於裝置類型判定一或多項儲存塊特性及裝置特性。儲存管理器114可基於判定之特性來分配資料至相關聯儲存塊110。
舉例而言,裝置106a可為智慧型手機,其可藉由儲存 管理器114來判定。儲存管理器114亦可基於裝置106a為智慧型手機 來判定裝置106a之儲存塊特性及裝置特性。舉例而言,儲存管理器114可判定儲存塊特性及裝置特性,其包括但不限於裝置106a及儲存塊110a之丟失可能性、裝置106a之可靠度、儲存塊110a之儲存容量、儲存塊110a上之可用儲存空間、裝置106a與裝置106b及106c間之連線性、以及裝置106a之使用。因為該資料可與裝置106a之裝置特性以及儲存塊110a之儲存塊特性中一或多者有關,故儲存管理器114可從而分配資料至儲存塊110a。
例如,如上述,裝置106a為智慧型手機時的丟失可能 性與其他裝置類型相比可能較高。儲存管理器114從而可分配資料至儲存塊110a,亦可將其分配至與其他裝置106相關聯之其他儲存塊110,如此一來,若裝置106a丟失,儲存塊110a上儲存之資料可能不會丟失。另外,儲存塊110a(因而還有裝置106a)之儲存容量可能多少有限制,使得儲存管理器114可選取儲存網路102a中所儲存之一資料子集以儲存於裝置106a之儲存塊110a上,而其他儲存塊110之儲存容量可使得其可能夠儲存儲存網路102a中所儲存資料之全部。而且,因為使用者通常用智慧型手機檢視圖片與視訊並且聆聽音樂,因此在這些及其他實施例中,由於裝置106a及儲存塊110a之使用的關係,儲存管理器114可分配這類型資料以儲存於儲存塊110a之上。
另外,裝置106a為智慧型手機時(因而還有儲存代理 器104a)由於其性質的關係,其與儲存網路102a中其他裝置106及其相關聯儲存塊110間的連線性可能是零星斷續、緩慢、及/或昂貴的(例如經由蜂巢式網路及相關聯資費方案)。如此,儲存塊110a及其 相關聯資料對於儲存網路102a的可用度可能多少受到限制。儲存管理器114從而可分配資料至可更常由裝置106a所使用的儲存塊110a,使得裝置106a可不需要依賴與其他裝置106及其相關儲存塊110之連線性來存取資料。再者,儲存管理器114可能不會把資料分配到儲存塊110,在此情況下由於儲存塊110a之可用度降低,其他裝置106可能依賴從儲存塊110a存取資料。
舉另一例而言,在一些實施例中,裝置106c及儲存塊 110c可與冰河儲存系統(glacial storage system)相關聯。冰河儲存系統可與對於儲存及/或存取所儲存資料可具有顯著延遲(例如數分鐘或甚至數小時之等級)的任何類型之儲存配置相關聯,但該儲存配置之類型可為相當可靠。很多時候,冰河儲存系統可為雲端儲存服務之一部分,其中冰河儲存系統之儲存塊可為離線(例如關斷、與計算裝置分開存放),並且可能需要使其在線上才能在其上儲存或自其取用資料。 儲存管理器114可將不會經常被存取的資料分配至與冰河儲存系統相關聯之儲存塊110c,如此,延遲造成的問題會比資料更經常被存取時為小,此亦可釋放出儲存塊110上可能沒有此類延遲的儲存空間。另外,儲存管理器114可將儲存網路102a中所儲存資料之大部分(若不是全部)分配至儲存塊110c,使得儲存塊110c因冰河儲存系統之可靠性質而可當作資料備份來使用。
舉另一例而言,特定裝置106由於其與網路112及/或 其他裝置106之連線頻寬所致,可能能夠用較高速率下載及/或上傳資料。據此,可將使用可能性高之資料分配至與具有高頻寬連線之特定 裝置106有關聯之儲存塊110,使得資料可自特定裝置106及其相關儲存塊110更輕易地傳送至其他裝置106及/或被其他裝置106取用。
舉另一例而言,特定裝置106及相關聯儲存塊110可經 組態使得相關聯儲存塊110可從特定裝置106被卸除。舉例而言,特定裝置106之相關聯儲存塊110可為可卸除式SD卡,可卸除式SD卡可被轉用至另一裝置106。可卸除式SD卡因其可卸除性質而可能具有較高之丟失可能性及/或較低之對於儲存網路102a的可用度可能性。 因此,儲存管理器114可據此分配資料至係為可卸除式SD卡之儲存塊110。舉例而言,儲存管理器114可僅將儲存於另一儲存塊110上及/或若丟失也不嚴重的資料分配至係為可卸除SD卡之儲存塊110。
裝置106之位置亦可在資料分配方面發揮作用。舉例而 言,具有可能始終位於中央位置之裝置類型(例如使用者住家裡的桌上型電腦)的特定裝置106可有很高的可能性為接通且可達,使得其具有與其他裝置106更一致之連線性。因此,在一些例項中可優先排定將重要資料分配至特定裝置106之儲存塊110,因為儲存塊110為可存取之可能性高且丟失之可能性低,此可能與特定裝置106之位置有關。
在某些例項中,儲存塊110及/或裝置106之健康狀況可在資料分配方面發揮作用。儲存塊110及/或裝置106在使用時可能耗損,使得儲存塊110及/或裝置106之健康狀況可能隨著時間削弱。在一些實施例中,儲存管理器114可經組態用以監控儲存塊110及/或裝置106之健康狀況(例如基於與儲存塊110及裝置106相關聯之使 用、效能、及/或診斷資訊),並且可據以分配資料。舉例而言,儲存管理器114可不依賴健康削弱或與健康削弱之裝置106相關聯之儲存塊110以達所欲之資料冗餘,並且可因此將健康削弱之裝置106對於所欲冗餘之貢獻打折扣。
在一些實施例中,儲存管理器114可經組態用以監控裝 置106及/或儲存塊110之實際使用,並用以基於裝置及/或儲存塊110之實際使用來調整分配,其可有別於儲存管理器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可追蹤經常由裝置106a存取或調用、但可能儲存於儲存網路102a之儲存塊110上,而不是儲存於儲存塊110a上之資料。為了更快且更穩定的存取資料,儲存管理器114可據此將該種資料、及/或與該種資料類似之資料分配至儲存塊110a,使得該資料可本地儲存在儲存塊110a上,而不是必須從與另一裝置106相關聯之另一儲存塊110取用資料。因此,該分配可使裝置106a所存取之資料更可能是本地儲存於儲存塊110a上,而非儲存在裝置106a遠端之儲存塊110上。
在一些實施例中,基於裝置類型及/或裝置特性,儲存 管理器114可判定儲存塊110之冗餘值,其可基於丟失之可能性。舉例而言,基於智慧型手機相較於外部硬碟之丟失可能性,與智慧型手機相關聯之儲存塊110的冗餘值可比與外部硬碟相關聯之儲存塊110更低。在這些或其他實施例中,基於儲存塊特性、裝置類型、及/或裝置特性,儲存管理器114可經組態用以判定儲存塊110之可用度值。 可使用冗餘及/或可用度值來根據儲存塊110在所欲冗餘及/或可用度配置方面可能扮演的角色而加權及/或分級儲存塊110。
特定裝置106或儲存塊110之可靠度及/或可用度可如 其相應特性之變更所示般隨時間而變更。儲存管理器114可經組態用以監控這些變更,並且可據以調整特定裝置106或儲存塊110之特性。在一些實施例中,儲存管理器114可經組態用以根據特性之變更調整資料分配。
儲存管理器114亦可基於資料本身之一或多項資料特性 來指派資料至儲存塊110。資料特性可包括但不限於資料大小、資料類型、資料之所欲冗餘、資料使用之頻率、對於資料的使用者偏好、資料中包括之資訊、新增資料至儲存網路102a及/或儲存代理器104之時間、資料之起源等。
舉例而言,資料類型可與資料檔為圖片檔、視訊檔、音 訊檔、或文件檔有關聯。在一些實施例中,儲存管理器114可經組態用以基於資料類型來分配某些資料類型之資料至不同儲存塊110。舉例而言,儲存管理器114可經組態用以分配音訊檔至可作為音訊檔之儲存庫的特定儲存塊110。
另外,儲存管理器114可令具有高使用頻率之資料被分 配至儲存網路102a內之許多儲存塊110,且在某些例項中為全部的儲存塊110,以使得具有高使用頻率之資料可輕易由相關聯裝置106所存取。同樣地,在一些實施例中,資料可具有與其相關聯之所欲可用度(例如基於資料之預計使用頻率),並且儲存管理器114可基於儲存代理器104在達成所欲可用度時之角色來分配資料至儲存代理器104。舉例而言,儲存管理器114可令具有高度所欲可用度之資料儲存於多個(若非全部)儲存塊110,以達成高度之所欲可用度。舉另一例而言,儲存管理器114可令具有高度所欲可用度之資料可儲存於相關聯於可與網路112及/或儲存網路102a之其他裝置106具有較一致連線性之裝置106的儲存塊110上。因此,可增加該資料對於裝置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。在這些或其他實施例中,儲存管理器114可 分配較新資料至相關聯於可與網路112及/或其他裝置106有高度連線性之裝置106的儲存塊110,使得較新資料即使未儲存於裝置106上,仍可藉由裝置106來更輕易地存取。
相反地,儲存管理器114可分配較舊資料至相關聯於可 為了備份目的而儲存資料、但可能無法讓資料輕易被存取之裝置106的儲存塊110。舉例而言,可分配較新資料至相關聯於可為智慧型手機、平板電腦、個人電腦等之裝置106的儲存塊110,並且可分配較舊資料至相關聯於可為雲端儲存伺服器、冰河儲存裝置、具有有限連線性之外部硬碟等之裝置106的儲存塊110。
再者,儲存管理器114可經組態用以在分配資料至儲存 塊110期間考慮資料之起源。舉例而言,儲存管理器114可經組態用以將裝置106a所建立之資料分配至儲存塊110a,因為基於該資料是源於裝置106a上,使用者可能更有機會期望在裝置106a上存取該資料。
在一些實施例中,儲存管理器114可經組態用以基於資 料特性、裝置特性、及/或儲存塊特性來分級並分配資料。舉例而言,儲存管理器114可經組態用以判定相對於裝置上資料之所欲可用度的資料可用度等級。可用度等級可基於資料之資料特性中一或多項,因為資料特性可關於上述裝置及儲存塊特性。舉例來說,某一資料檔對於特定裝置106之可用度等級可基於:特定裝置106對於該某一資料檔類型的使用、該某一資料檔或該某一資料檔類型對於特定裝置106 之使用者偏好、特定裝置106對於某一資料檔之使用頻率、某一資料檔之起源、資料建立之時間等。
不同的儲存代理器特性、裝置特性、以及資料特性可相 對於其與分級相關之方式而得到不同權數。舉例而言,對於特定儲存塊110上特定資料檔之儲存的使用者偏好可得到比裝置位置更高之權數。
在判定對於裝置106的資料檔可用度分級後,儲存管理 器114可基於資料檔之可用度分級及儲存塊110上之可用儲存空間,初始分配資料檔至裝置106之相關聯儲存塊110。在基於可用度分級進行初始分配後,儲存管理器114可判定初始分配是否滿足資料檔之所欲冗餘。若未滿足所欲冗餘,儲存管理器114可將分配調整到滿足所欲冗餘,但其可能如可用度分級所示般犧牲所欲可用度。
舉例而言,基於可用度分級,資料檔「A」在儲存塊 110a上可分級成絕對優先,之後按順序為資料檔「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,因為資料檔「A」及資料檔「D」對於儲存塊110b是最低等級資料檔。儲存塊110c可具有足以儲存資料檔「A」、資料檔「C」、以及資料檔「E」但非資料檔「D」及資料檔「B」之可用儲存空間。因而,初始時可不將資料檔「D」及資料檔「B」分配至儲存塊110c,因為資料檔「D」及資料檔「B」對於儲存塊110c是最低等級資料檔。
在初始分配資料檔「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。因此,對儲存塊110b或儲存塊110c分配資料檔「C」可換作分配資料檔「D」,以滿足資料檔「D」之所欲冗餘。可基於資料檔「D」對於儲存塊110b及儲存塊110c之相對分級、儲存塊110b及儲存塊110c上之可用儲存空間、或儲存塊110b 與儲存塊110c之任何其他可適用的儲存塊特性及/或裝置106b與裝置106c之裝置特性,來選取儲存塊110b或儲存塊110c以用於儲存資料檔「D」,因上述特性可與資料檔「D」之所欲冗餘相關。
在一些實施例中,儲存管理器114亦可經組態,以基於 特定儲存塊110之儲存塊特性之一或多者、與特定儲存塊110相關聯的裝置106之裝置特性、及/或基於資料特性之一或多者,來指定特定儲存塊110作為主要資料儲存庫或次要資料儲存庫。當作特定資料之主要儲存庫之儲存塊110可經組態用以儲存特定資料之「主要」複本,其可指示在提供特定資料之冗餘時,可依賴當作特定資料之主要儲存庫之儲存塊110。相比之下,當作特定資料之次要儲存庫之儲存塊110可經組態用以儲存特定資料之「次要」複本,其可指示在提供特定資料之冗餘時,不可依賴當作特定資料之次要儲存庫之儲存塊110。儲存塊110可經組態用以儲存某些資料之主要複本,同時亦經組態用以儲存其他資料之次要複本。在某些例項中,儲存塊110是作為資料之主要或次要儲存庫可取決於儲存塊110或其相關裝置106之健康狀況。
儲存代理器104亦可經組態用以自儲存塊110移除資 料,且/或儲存管理器114可經組態用以指示儲存代理器104基於儲存塊特性、裝置特性、及/或資料特性來移除資料。舉例而言,當儲存塊110之可用儲存空間已滿或接近已滿時,儲存塊110可刪除具有低等級(例如可用度等級)之資料以空出容納可具有更高等級之其他資料之空間。舉另一例而言,在一些實施例中,當某儲存塊110係經指定 作為特定資料之主要儲存庫時,若未從儲存管理器114得到明確許可,或未在使用者被通知該特定資料可能永久丟失後從使用者得到明確許可,儲存代理器104可能不能夠自該儲存塊110移除特定資料。 相形之下,在一些實施例中,無需從儲存管理器114得到許可或指令,儲存代理器104便可在必要時刪除特定儲存塊110上由儲存代理器104所儲存作為次要複本之資料。另外,在一些實施例中,使用者可從特定裝置106及/或儲存塊110「取消釘選」資料,使得保持資料在特定裝置106及/或儲存塊110上之優先權可降低。保持資料在特定裝置106及/或儲存塊110上之優先權被降低可允許被取消釘選之資料能從特定裝置106及/或儲存塊110移除。
在一些實施例中,儲存管理器114可經組態用以基於整 個儲存網路102a及個別裝置106之資料分配,來判定儲存網路102a之整體健康狀況。舉例而言,與資料在具有較低丟失可能性及/或較高健康評等之裝置106及相關聯儲存塊110上儲存成主要複本之情況相比,若資料係於具有較高丟失可能性及/或較低健康評等之裝置106及儲存塊110上儲存成主要複本,則儲存網路102a之健康狀況可視為較低。舉另一例而言,與儲存網路102a已滿足資料之所欲冗餘及/或可用度之情況相比,在儲存網路102a未滿足資料之所欲冗餘及/或可用度時,儲存網路102a之健康狀況可視為較低。
儲存管理器114可經組態用以持續性地監控裝置類型、 裝置特性、裝置健康狀況、資料特性等,並且基於可藉由監控所指示之變更以上述方式進行分配。儲存管理器114從而可經組態用以進行 動態分配,其中儲存代理器104之分配可變更。與一個儲存代理器104相關聯之變更可影響與另一儲存代理器104相關聯之資料分配。
舉例而言,在一些實施例中,具有作為特定資料檔之主 要儲存庫的儲存代理器104的特定裝置106可能故障,使得可能無法滿足該特定資料檔之所欲冗餘。儲存管理器114基於特定裝置106之故障並基於特定資料檔之所欲冗餘,從而可分配特定資料檔至另一儲存代理器104,並且可指定其他儲存代理器104作為特定資料檔之主要儲存庫。
舉另一例而言,特定儲存代理器104所相關聯之裝置 106,其與儲存網路102a間之連線性可能較之前更有限。儲存管理器114就冗餘及/或可用度方面可不再如此依賴特定儲存代理器104,並且可從而分配特定儲存代理器104上儲存之資料。
如上述,儲存管理器114亦可經組態用以判定用於散布 特定資料至已被分配該特定資料之儲存塊110的散布策略。圖1B根據本揭露之至少一實施例,繪示經組態用以判定散布資料至儲存塊110之散布策略之例示性儲存系統100b。
儲存系統100b可為圖1A之儲存系統100a之擴充實 例。舉例而言,儲存系統100b可包括網路112、儲存管理器114、以及具有其相關聯儲存代理器104a至104c及儲存塊110a至110c之裝置106a至106c。然而,儲存系統100b與儲存系統100a不同之處可在於,儲存系統100b之儲存網路102b可描繪為比儲存系統100a之儲存網路102a具有更多的裝置106以及相關聯儲存代理器104與儲存塊 110。舉例而言,儲存網路102b係描繪成包括裝置106d、106e及106f,其等分別具有相關聯儲存代理器104d、104e及104f以及儲存塊110d、110e及110f(皆未描繪於圖1A之儲存網路102a中)。
雖然圖1B中未將裝置106a至106f描繪成具有如圖1A 之裝置106a至106c之全部元件(例如控制器、處理器、記憶體、及通訊模組),但那些元件仍可包括於裝置106a至106f中,僅是未描繪於圖1B中。另外,儲存網路102b相對於儲存網路102a之擴充係用以便於描述散布策略之判定,且非僅限於具有與儲存網路102b有相同數量之裝置106及儲存代理器104的儲存網路。
儲存管理器114可經組態用以基於儲存塊110特性、裝 置106特性、及/或分配至儲存塊110之資料的資料特性,來判定用於散布所分配資料至儲存塊110之散布策略。在這些或其他實施例中,儲存管理器114可經組態用以基於資料特性及/或其他資料之分配以及可被分配到特定資料的不同儲存塊110,來判定用於特定資料之散布策略。
舉例而言,在一些實施例中,儲存於儲存塊110a上之 資料121可能已被分配用於儲存於儲存塊110f上,使得儲存塊110a可為主機儲存塊而儲存塊110f可為對於資料121之目標儲存塊。儲存管理器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可透過非蜂巢式無線網際網路連線(例如Wi-Fi)連線至網路112,而裝置106f則可經蜂巢式網路連線來連線至網路112。因此,經由網路112自裝置106a的儲存塊110a散布資料121至裝置106f的儲存塊110f,可以相關聯蜂巢式資費方案使用資料,其成本可能比使用非蜂巢式連線的情況更高。然而,裝置106b可直接連線至裝置106f,且亦可經由非蜂巢式無線網際網路連線而連線至網路112。在一些實施例中,儲存管理器114從 而可判定散布策略,其中資料121由儲存代理器104a自儲存塊110a轉送至儲存代理器104b、並且自儲存代理器104b轉送至儲存代理器104f以儲存於儲存塊110f上。因此,傳輸成本可比使用經由網路112自裝置106a至裝置106f之傳輸方式還低。舉另一例而言,在裝置106a及106f可彼此連線並同時連線至裝置106b(例如直接或經由網路112),但裝置106a及106f與裝置106b之連線的各別頻寬可高於裝置106a與106f間連線之頻寬的情況中,儲存管理器114可判定類似散布策略。
儲存管理器114用於判定散布策略的另一裝置特性可為 裝置106a至106f之連線頻率。舉例而言,裝置106e連線至裝置106f可比裝置106e連線至裝置106a更加頻繁。在這些及其他實施例中,當裝置106f未連線至儲存網路102b中任何亦連線至裝置106a的其他裝置106,但裝置106a與106e係彼此連線時,儲存管理器114可判定儲存代理器104a可散布資料121至儲存代理器104e之散布策略。 散布策略可接著令儲存代理器104e在裝置106e與106f連線時,散布資料121至儲存代理器104f,而與裝置106a連線至裝置106f相比,裝置106e與106f彼此連線可能更快發生。
在一些實施例中,裝置106間連線頻率及/或連線品質 可與裝置106彼此位於同一鄰近區域內的頻率有關。在一些實施例中,儲存管理器114在判定散布策略時從而亦可將裝置106彼此間的相對位置視為裝置特性。
在一些實施例中,散布策略可基於例如裝置106之一般 連線性、以及裝置106及其對應儲存塊110所提供之冗餘或可用度等特性。舉例而言,儲存塊110a可具有儲存於其上之資料121以外的其他資料,且該其他資料可經分配以儲存於其他儲存塊110上。另外,因裝置106a與儲存網路102b間之連線性(例如因其頻寬),可藉由儲存代理器104a自儲存塊110a散布至其他儲存代理器104及儲存塊110之資料量於任何時間都會受到限制。因此,在一些實施例中,根據將儲存塊110f對於資料121的指派等級以及另一目標儲存塊對於儲存在儲存塊110a上之該其他資料的指派等級做比較之結果,儲存管理器114可判定資料121及儲存塊110a上所儲存的該其他資料之散布策略。
舉例來說,儲存塊110a上所儲存之該其他資料可分配 予儲存塊110b,而儲存塊110a上所儲存之資料121可分配予儲存塊110f。另外,由於連線性限制的關係,儲存代理器104a可能無法在傳輸資料121至儲存代理器104f及儲存塊110f時,同時亦傳輸該其他資料至儲存代理器104b及儲存塊110b。再者,與資料121儲存於儲存塊110f上時可具有之等級相比,該其他資料儲存於儲存塊110b上時可具有之等級更高。散布策略從而在散布資料121至儲存塊110f之前,可請求散布該其他資料至儲存塊110b。
儲存管理器114亦可基於其他裝置上的資料分配及以上 所列之裝置特性以及儲存塊特性來判定散布策略。舉例而言,儲存塊110a可具有較大量儲存於其上且已分配予大量目標儲存塊的資料(包 括資料121)。另外,儲存塊110d可具有較小量儲存於其上且已分配予較少數個目標儲存塊的資料,包括資料121(未明確描繪成儲存於儲存塊110d上)。儲存管理器114從而可判定散布策略,其中資料121可自儲存塊110d散布至儲存塊110f,而不是自儲存塊110a散布,使得儲存代理器104a可在無須同時散布資料121的情況下散布儲存於儲存塊110a上之該其他資料。
類似的是,在一些實施例中,可分配資料121至作為目 標儲存塊之儲存塊110e及儲存塊110f,但初始可僅儲存於儲存塊110a上。另外,儲存塊110a可具有較大量儲存於其上且已分配予較多數個目標儲存塊之資料。儲存管理器114從而可判定散布策略,其中可將資料121自儲存塊110a散布至儲存代理器104e(儲存代理器104e可將資料121儲存於儲存塊110e上)並接著自儲存代理器104e散布至儲存代理器104f(儲存代理器104f可將資料121儲存於儲存塊110f)上,或自儲存塊110a散布至儲存代理器104f(儲存代理器104f可將資料121儲存於儲存塊110f上)並接著自儲存代理器104f散布至儲存代理器104e(儲存代理器104e可將資料121儲存於儲存塊110e上)。因此,儲存代理器104a可在散布資料121之後馬上散布其他資料至其他儲存塊,而不是必須先多次散布資料121才進行散布其他資料。
此外,儲存管理器114可經組態用以基於裝置106之電 力狀態判定分布策略。電力狀態可指示特定裝置106是否透過插頭供電或使用電池電力操作。另外,電力狀態可指示電池中可能剩餘多少 電荷。在一些實施例中,儲存管理器114可判定散布策略,其中於傳輸資料時,以插頭供電的裝置106係比使用電池電力操作之裝置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的優先權,因為就聆聽音樂而言,裝置106e比裝置106f有更高的使用度。
另外,在一些實施例中,儲存管理器114可基於使用者 偏好判定散布策略。舉例而言,在一些實施例中,使用者可指示期望資料121是儲存於儲存塊110f上。儲存管理器114因此可發展散布策略,使散布資料121至儲存塊110f之優先權高於其他亦可為資料121之目標儲存代理器的儲存代理器104之優先權。
再者,在一些實施例中,儲存管理器114可基於資料 121之大小來判定用於資料121之散布策略。舉例而言,當資料121較大且會使用較大量頻寬時,儲存管理器114可判定用於資料121之散布策略,該散布策略將資料121之散布排程於例如深夜等可能有較低通訊資源使用度之時間。
在這些或其他實施例中,儲存管理器114可基於新增資 料121至儲存網路102b之時間來判定散布策略。舉例而言,當資料121係為較新資料時,資料121被存取之可能性可比資料121係為較 舊資料時為高。散布策略從而可設定優先權,使資料121之散布優先權高於較舊資料,但不高於較新資料。
儲存系統100a及100b可在不脫離本揭露之範疇下進行 修改、新增、或省略。舉例而言,儲存系統100a及100b可包括任何數量之裝置106、儲存塊110、及/或儲存代理器104。再者,裝置106內組件之位置僅是為了說明目的且非限制。另外,雖然資料之分配及分布係描述為藉由儲存管理器114對於儲存網路102a及102b來進行,與資料分配及/或資料分布相關聯之原理及教示可於並藉由任何適用的儲存網路及/或儲存系統之任何適合元件來應用。
圖2係根據本文中所述之至少一實施例之分配資料至儲 存網路之儲存塊的例示性方法200之流程圖。在一些實施例中,藉由圖1A及圖1B之儲存系統100a及/或100b的一或多個組件可實施方法200之一或多個步驟,該一或多個組件例如儲存管理器114、儲存代理器104、或裝置106。所繪示的雖然是離散的方塊,取決於所欲具體實施,各個方塊仍可區分成額外方塊、組合成較少方塊、或予以除去。
方法200可始於方塊202,其中可判定與儲存網路中所 包括之儲存塊相關聯之複數項特性。該複數項特性可包括儲存塊之儲存容量、儲存塊之可用儲存空間、儲存塊上所儲存資料之丟失可能性、儲存塊對於儲存網路之可用度、以及儲存塊之使用。
於方塊204,可基於複數項特性來分配資料至儲存塊。 在一些實施例中,可進一步基於儲存塊之類型、儲存塊之健康狀況、 與儲存塊相關聯之裝置的裝置類型、裝置之使用、裝置之丟失可能性、裝置之健康狀況、裝置之位置、裝置與儲存網路之連線性、裝置與儲存網路之連線性之成本、以及裝置之可靠度來分配。
方法200從而可基於與儲存塊相關聯之特性來被執行, 以分配資料至儲存網路之一或多個儲存塊。按照這種方式之資料分配可在儲存網路內提供較現存資料儲存配置更佳的使用者體驗及冗餘。
對於本文中揭示之方法200及其他程序與方法,所屬技 術領域中具有通常知識者將理解前述程序與方法中執行的功能可以不同順序實施。再者,概述之步驟及操作只是提供作為實例,並且某些步驟及操作在不偏離所揭示實施例之精髓的情況下,可為選擇性的、可被結合成更少步驟及操作、或擴充成額外步驟及操作。
舉例而言,在一些實施例中,方法200可包括相關聯於 以下之進一步步驟:基於複數項特性來判定資料所欲冗餘及判定儲存塊對於資料的冗餘角色。在這些及其他實施例中,方法200可進一步包括基於儲存代理器之冗餘角色來分配資料至儲存塊。
再者,方法200可包括相關聯於以下之步驟:基於複數 項特性來指派儲存代理器作為資料之主要儲存庫或次要儲存庫。方法200亦可包括相關聯於以下之步驟:基於資料之資料特性來分配資料以供儲存於儲存塊上。資料特性可包括以下任何一或多者:資料類型、資料之使用頻率、資料之所欲冗餘、資料之大小、資料之分級、資料中包括之資訊、對於資料之使用者偏好、新增資料至儲存網路及/ 或儲存代理器之時間、資料的起源等。在一些實施例中,分配可基於資料特性與複數項特性之一或多者的關聯方式。
圖3係根據本文中所述之至少一實施例之於儲存網路之 儲存塊上儲存資料的例示性方法300之流程圖。在一些實施例中,藉由圖1A及圖1B之儲存系統100a及/或100b的一或多個組件可實施方法300之一或多個步驟,該一或多個組件例如儲存管理器114、儲存代理器104、或裝置106。所繪示的雖然是離散的方塊,取決於所欲具體實施,各個方塊仍可區分成額外方塊、組合成較少方塊、或予以除去。
方法300可始於方塊302,其中與儲存網路中所包括儲 存塊相關聯之複數項特性可傳至例如圖1A及圖1B之儲存管理器114的儲存網路管理器。該複數項特性可包括儲存塊之儲存容量、儲存塊之可用儲存空間、儲存塊上所儲存資料之丟失可能性、儲存塊對於儲存網路之可用度、以及儲存塊之使用。
於方塊304,可自儲存網路控制器接收用於在儲存塊上 儲存資料之儲存指令。儲存命令可基於複數項特性。於方塊306,可回應於儲存指令而將資料儲存於儲存塊上。
方法300從而可基於與儲存塊相關聯之特性來被執行, 以儲存資料至儲存網路之儲存塊。按照這種方式之資料分配可在儲存網路內提供較現存資料儲存配置更佳的使用者體驗及冗餘。
對於本文中揭示之方法300及其他程序與方法,所屬技 術領域中具有通常知識者將理解前述程序與方法中執行的功能可以不 同順序實施。再者,概述之步驟及操作只是提供作為實例,並且某些步驟及操作在不偏離所揭示實施例之精髓的情況下,可為選擇性的、可被結合成更少步驟及操作、或擴充成額外步驟及操作。
舉例而言,在一些實施例中,方法300亦可包括與基於 資料之資料特性來儲存於儲存塊上相關聯之步驟。資料特性可包括以下任何一或多者:資料類型、資料之使用頻率、資料之所欲冗餘、資料之大小、資料之分級、資料中包括之資訊、對於新增資料至儲存網路及/或儲存代理器之時間的使用者偏好、資料的起源等。
圖4係根據本文中所述之至少一實施例之判定用於分布 資料至儲存網路之儲存塊的分布策略之例示性方法400的流程圖。在一些實施例中,藉由圖1A及圖1B之儲存系統100a及/或100b的一或多個組件可實施方法400之一或多個步驟,該一或多個組件例如儲存管理器114、儲存代理器104、及/或一或多個裝置106。所繪示的雖然是離散的方塊,取決於所欲具體實施,各個方塊仍可區分成額外方塊、組合成較少方塊、或予以除去。
方法400可始於方塊402,其中儲存於主機儲存塊上之 資料可被分配以儲存於目標儲存塊上。儲存網路中可包括主機儲存塊及目標儲存塊,儲存網路亦包括一或多個其他儲存塊,例如圖1A及圖1B之儲存網路102a及102b。在一些實施例中,可根據上述分配程序來進行分配。舉例而言,在一些實施例中,可基於與目標儲存塊相關聯之複數項特性來進行分配,其中該複數項特性可包括儲存塊之儲存容量、儲存塊之可用儲存空間、儲存塊上所儲存資料之丟失可能 性、儲存塊對於儲存網路之可用度、以及儲存塊之使用。在這些或其他實施例中,可基於資料之資料特性進行分配。
於方塊404,可判定其他儲存代理器之特性及/或與其他 儲存代理器相關聯之一或多個裝置之特性。該等特性可包括一或多個裝置與儲存網路之連線性、一或多個裝置之電力狀態、裝置之使用、以及一或多個裝置之位置。如上述,裝置之連線性可包括連線性之成本、連線性之頻率、連線性之頻寬、連線之類型。
於方塊406,可基於在方塊404所判定之特性來判定用 於自主機儲存塊分布資料至目標儲存塊之分布策略。在一些實施例中,分布策略可基於目標儲存塊對於資料之等級。在這些或其他實施例中,可基於至其他儲存塊的資料分配及/或主機儲存塊上所儲存之其他資料的分配來判定分布策略。
另外,在一些實施例中,可基於以下一或多項資料特性 來判定分布策略,例如資料類型、資料之所欲冗餘、資料之所欲可用度、資料大小、新增資料至儲存網路之時間、以及與資料相關聯之使用者偏好。在這些或其他實施例中,可基於資料特性可與其他特性關聯之方式來判定分布策略,該些其他特性相關聯於其他儲存塊、目標儲存塊、及/或主機儲存塊。
從而可進行方法400以判定用於資料之分布策略。按照 這種方式之資料分布可在儲存網路內提供較現存資料儲存配置更佳的使用者體驗及冗餘。
對於本文中揭示之方法400及其他程序與方法,所屬技 術領域中具有通常知識者將理解前述程序與方法中執行的功能可以不同順序實施。再者,概述之步驟及操作只是提供作為實例,並且某些步驟及操作在不偏離所揭示實施例之精髓的情況下,可為選擇性的、可被結合成更少步驟及操作、或擴充成額外步驟及操作。
如上述,本文中所述之實施例可包括使用特殊用途或通 用型電腦(例如圖1A之處理器150),特殊用途或通用型電腦包括各種電腦硬體或軟體模組,如下面之更詳細論述。特殊用途或通用型電腦可經組態用以執行儲存於電腦可讀取媒體(例如圖1A之記憶體152及/或儲存塊110)上之電腦可執行指令。
在一些實施例中,如圖1A及圖1B中所示之儲存管理 器114可當作儲存集線器。舉例而言,儲存集線器可用來儲存、分類(collate)、收集、組織、及/或分布各種電子裝置106之各種儲存塊110中所儲存之資料。儲存集線器可為圖1A或圖1B中所示之電子裝置106之一者,或管理若干個裝置間之資料儲存的任何其他裝置。
圖5係根據本文中所述之至少一實施例,判定儲存系統 100a及/或儲存系統100b之全部或部分的健康狀態之例示性方法500的流程圖。在一些實施例中,藉由圖1A及圖1B之儲存系統100a及/或100b的一或多個組件可實施方法500之一或多個步驟,該一或多個組件例如儲存管理器114、儲存代理器104、及/或一或多個裝置106。所繪示的雖然是離散的方塊,取決於所欲具體實施,各個方塊仍可區分成額外方塊、組合成較少方塊、或予以除去。
方法500可始於方塊505,其中一或多個裝置106可識 別其儲存塊110中的全部資料項(例如照片或視訊)。一或多個裝置106(或儲存代理器104)可包括識別儲存塊110中全部資料項之查找表。
於程序方塊510,一或多個裝置106可識別儲存集線器(例如儲存管理器114)上及/或在裝置106之任意者或集合中所儲存之全部資料。儲存集線器亦可包括識別儲存集線器中所儲存全部資料項之查找表。於方塊510,一或多個裝置106可要求自儲存集線器取得查找表之複本。替代地,儲存集線器可以預定周期發送查找表至一或多個裝置106。
於方塊515,可判定儲存集線器是否包括其儲存塊110中所儲存全部資料項之複本。舉例而言,這可藉由比較出自一或多個裝置106之查找表與出自儲存集線器之查找表來完成。若出自一或多個裝置106之查找表包括未儲存於儲存集線器之資料項,則並未儲存全部資料,並且方法500進入方塊525。然而,若出自儲存集線器之查找表包括一或多個裝置106之查找表中的全部資料項,則全部資料為已儲存,並且方法500進入方塊530。
於方塊525,可透過一或多個裝置106之使用者介面顯示正常狀態顯示畫面給使用者。圖9A係正常狀態顯示畫面之實例。除了正常狀態顯示畫面以外,還可顯示一指示,其指示位於一或多個裝置106之全部資料項均儲存於儲存集線器。舉例而言,該指示可包括文字、影像、圖形、動畫、聲音等。
於方塊530,可透過一或多個裝置106之使用者介面顯 示警告狀態顯示畫面給使用者。圖9B係警告狀態顯示畫面之實例。 除了警告狀態顯示畫面以外,還可顯示一指示,其指示將位於一或多個裝置106之資料項儲存至儲存集線器之狀態為擱置或進行中。舉例而言,該指示可包括文字、影像、圖形、動畫、聲音等。
替代地或另外地,方法500可由儲存集線器進行,並且 可將與儲存集線器相關聯之所有一或多個裝置106上所儲存之全部資料項與儲存集線器上所儲存之資料項做比較。替代地或另外地,儲存集線器(或一或多個裝置106之任一者)可使用方法500比較一或多個其他電子裝置106上所儲存之資料項,並且提供一或多個其他電子裝置106之各者的狀態。
圖6係根據本文中所述之至少一實施例,判定儲存系統 100a及/或儲存系統100b之全部或部分的健康狀態之例示性方法600的流程圖。在一些實施例中,藉由圖1A及圖1B之儲存系統100a及/或100b的一或多個組件可實施方法600之一或多個步驟,該一或多個組件例如儲存管理器114、儲存代理器104、及/或一或多個裝置106。所繪示的雖然是離散的方塊,取決於所欲具體實施,各個方塊仍可區分成額外方塊、組合成較少方塊、或予以除去。
方法600可始於方塊605,其中得以識別儲存系統100a 及/或100b中一或多個裝置106之儲存塊110中之未複製資料。未複製資料可包括儲存於一或多個裝置106之儲存塊110中但尚未傳輸至 儲存集線器(例如儲存管理器114)之資料,該儲存集線器係用於管理各儲存塊110中之資料。
方塊605可發生於儲存集線器及/或發生於一或多個裝 置106之一或多者。對一或多個裝置106之各者,可使用圖5之方法500之方塊505及方塊510來識別未複製資料。在一些實施例中,可識別並合計於電子裝置之全部儲存塊找到的全部未複製資料項之總大小。
在程序方塊610,可判定儲存集線器之剩餘儲存容量及/ 或裝置106之任意者或組合之儲存容量。這可使用用於判定記憶體、磁碟機等之儲存容量之任何已知或新技術來判定。
於方塊615,可判定儲存集線器之儲存容量是否足以儲 存全部一或多個裝置106之所有未複製資料項。這可藉由比較位於電子裝置之全部儲存塊之未複製資料項大小的總和與資料儲存集線器之剩餘儲存容量來判定。
若儲存集線器之儲存容量足以將全部未複製資料項儲存 於全部一或多個裝置106,方法500進入方塊625,其中可顯示警告狀態顯示畫面給使用者。圖9B係警告狀態顯示畫面之實例。除了警告狀態顯示畫面以外,還可顯示一指示,其指示將位於一或多個裝置106之資料項儲存至儲存集線器之狀態為擱置或進行中。舉例而言,該指示可包括文字、影像、圖形、動畫、聲音等。
若儲存集線器之儲存容量不足以儲存全部一或多個裝置 106之全部未複製資料項,方法500進入方塊630,方塊630中可顯 示注意狀態顯示畫面給使用者。圖9C係注意狀態顯示畫面之實例。 除了注意狀態顯示畫面以外,還可顯示一指示,其指示位於一或多個裝置106之資料項無法全部都儲存至儲存集線器。舉例而言,該指示可包括文字、影像、圖形、動畫、聲音等。
圖7係根據本文中所述之至少一實施例,判定儲存集線 器之健康狀態的例示性方法700之流程圖。在一些實施例中,藉由圖1A及圖1B之儲存系統100a及/或100b的一或多個組件可實施方法700之一或多個步驟,該一或多個組件例如儲存管理器114、儲存代理器104、及/或一或多個裝置106。所繪示的雖然是離散的方塊,取決於所欲具體實施,各個方塊仍可區分成額外方塊、組合成較少方塊、或予以除去。
方法700可始於方塊705,其中可判定儲存集線器是否 離線。一或多個裝置106(或儲存代理器104)可用任何數量之作法來判定儲存集線器是為離線或在線上。舉例而言,儲存集線器可發送週期性訊息(例如發送回顯信息(ping))至一或多個裝置106。當不再收到週期性訊息時,一或多個裝置106可得知儲存集線器何時離線。 舉另一例而言,電子裝置可發送狀態訊息(或任何需要回應之訊息)至儲存集線器,並且可基於是否收到回應來判定儲存集線器是在線上或離線。
若判定儲存集線器係為在線上,則方法700進入方塊 710,其中可透過一或多個裝置106之使用者介面對使用者顯示正常狀態顯示畫面。圖9A係正常狀態顯示畫面之實例。除了正常狀態顯示 畫面以外,還可顯示一指示來指示儲存集線器係為健康。舉例而言,該指示可包括文字、影像、圖形、動畫、聲音等。
若判定儲存集線器係為離線,則方法700進入方塊 715,其中可判定儲存集線器之離線時間是否已大於最小臨限值。最小臨限值可為預設或使用者可設定該值。最小臨限值可為5、10、15、20、25、30、35、40、45、50、55、60或更多分鐘等。電子裝置可基於目前時間與來自儲存集線器之最後一次通訊之間的時間段來判定儲存集線器已離線之時間量。舉例而言,儲存裝置已離線之時間段可基於最後一次收到週期訊息及/或基於最後一次從儲存集線器收到任何訊息。
若判定儲存集線器已離線時間小於最小臨限值,則方法 700可如上述進入方塊710。
若判定儲存集線器已離線時間大於最小臨限值,則方法 700可進入方塊720,其中可判定儲存集線器已離線時間是否大於最大臨限值。最大臨限值可為預設或使用者可設定該值。最大臨限值可為0.5、1、1.5、2、2.5、3、或更多小時等。電子裝置可基於目前時間與來自儲存集線器之最後一次通訊間的時間段來判定儲存集線器已離線之時間量。舉例而言,儲存裝置已離線之時間段可基於最後一次收到週期訊息及/或基於最後一次從儲存集線器收到任何訊息。
若判定儲存集線器已離線時間小於最大臨限值,則方法 700可進入方塊725,其中可透過一或多個裝置106之使用者介面對使用者顯示警告狀態顯示畫面。圖9B係警告狀態顯示畫面之實例。 除了警告狀態顯示畫面以外,還可顯示一指示來指示儲存集線器係為離線及/或建議使用者所採取之行動方案。舉例而言,該指示可包括文字、影像、圖形、動畫、聲音等。
若判定儲存集線器已離線時間大於最大臨限值,則方法 700可進入方塊730,其中可透過一或多個裝置106之使用者介面對使用者顯示注意狀態顯示畫面。圖9C係注意狀態顯示畫面之實例。 除了注意狀態顯示畫面以外,還可顯示一指示,其指示儲存集線器已離線時間係大於最大臨限值或大於儲存集線器已離線實際時間量、及/或建議使用者採取之行動方案。舉例而言,該指示可包括文字、影像、圖形、動畫、聲音等。
在一些實施例中,在已達成複製目標及/或所有裝置106 及/或儲存管理器114之間有充分冗餘之後,可使用方法700。在一些實施例中,在正達成複製目標時,可使用方法700。
圖8係根據本文中所述之至少一實施例,判定儲存系統 100a及/或儲存系統100b之全部或部分的健康狀態之例示性方法800的流程圖。在一些實施例中,藉由圖1A及圖1B之儲存系統100a及/或100b的一或多個組件可實施方法800之一或多個步驟,該一或多個組件例如儲存管理器114、儲存代理器104、及/或一或多個裝置106。所繪示的雖然是離散的方塊,取決於所欲具體實施,各個方塊仍可區分成額外方塊、組合成較少方塊、或予以除去。
方法800可始於方塊805,其中得以識別儲存系統100a 及/或100b中一或多個裝置106之一或多個儲存塊110中的資料。該 資料可包括儲存於一或多個裝置106之儲存塊110中且尚未傳輸至儲存管理器114(例如儲存集線器)之資料。在一些實施例中,方塊805可在剩餘方塊前之一時間點發生。
於方塊810,可判定儲存集線器剩餘之儲存容量。這可 使用用於判定記憶體、磁碟機等之儲存容量之任何已知或新技術來判定。
於方塊815,可判定電子裝置中所儲存之任何資料是否 未存在於儲存集線器上。舉例而言,於方塊805中所識別的在一或多個裝置106之資料可與在方塊810中所識別的在儲存集線器之資料作比較。
若一或多個裝置106中之全部資料皆儲存於儲存集線器 中,則方法800進入方塊820,其中可透過一或多個裝置106之使用者介面來對使用者顯示正常狀態顯示畫面。圖9A係正常狀態顯示畫面之實例。除了正常狀態顯示畫面以外,還可顯示一指示來指示儲存集線器係為健康。舉例而言,該指示可包括文字、影像、圖形、動畫、聲音等。
若一或多個裝置106中之資料非全部都儲存於儲存集線 器中,則方法800進入方塊825,其中可判定一或多個裝置106是否為線上。可用任何數量之作法來判定一或多個電子裝置106是否在線上。舉例而言,儲存集線器或不同之一或多個裝置106可發送週期性訊息(例如例如發送回顯信息(ping))至一或多個裝置106。在不再收到週期性訊息時可判定一或多個裝置106為離線。舉另一例而言,儲 存集線器或不同之電子裝置可發送狀態訊息(或需要回應之任何訊息)至儲存集線器,並且可基於是否收到回應來判定其是否為線上或離線。
若一或多個裝置106為線上,則方法800進入程序方塊 830,其中可透過一或多個裝置106之使用者介面對使用者顯示警告狀態顯示畫面。圖9B係警告狀態顯示畫面之實例。除了警告狀態顯示畫面以外,還可顯示一指示來指示儲存集線器係為離線及/或建議使用者所採取之行動方案。舉例而言,該指示可包括文字、影像、圖形、動畫、聲音等。
若一或多個裝置106非為線上(或離線),則方法800 進入程序方塊835,其中可對使用者顯示注意狀態顯示畫面。圖9C係注意狀態顯示畫面之實例。除了注意狀態顯示畫面以外,還可顯示一指示,其指示位於一或多個裝置106之資料項無法全部都儲存至儲存集線器及/或一或多個裝置106之一或多者非為線上。舉例而言,該指示可包括文字、影像、圖形、動畫、聲音等。
圖9A、圖9B及圖9C係根據本文中所述之一些實施例 之狀態顯示畫面之實例。狀態顯示畫面可包括(例如)包括色彩輪910及刻度盤訊息915(例如刻度盤輪915A、915B及/或915C)的刻度盤905(例如905A、905B、及/或905C)。狀態顯示畫面亦可包括訊息文字920。色彩輪910可根據顯示之狀態而變更顏色。舉例而言,如圖9A所示,對於正常狀態顯示畫面而言,色彩輪910A可為綠色。舉另一例而言,如圖9B所示,對於警告狀態顯示畫面而言,色 彩輪910B可為黃色。舉例而言,如圖9C所示,對於注意狀態顯示畫面,色彩輪910C可為紅色。
此外,在一些實施例中,色彩輪910可為動畫。舉例而 言,色彩輪可為動畫依順時針或逆時針方式旋轉。旋轉之顏色可包括繞著色彩輪910旋轉之不同陰影或濃淡之原色(例如紅色、綠色、或黃色)。舉例而言,旋轉之色彩輪910可用來指示正在判定一或多個裝置106及或儲存集線器之狀態。在一些實施例中,旋轉之色彩輪910可在方法500、600、700、及/或800之執行過程中發生。
刻度盤訊息915可根據狀態而變更。舉例而言,對於正 常狀態或警告狀態,可將文字顯示為刻度盤訊息915。對於注意狀態,如圖9C所示,刻度盤訊息915可包括驚嘆號或另一表示需注意之指示。可顯示各種其他顏色、影像、圖形、文字等。舉另一例而言,刻度盤訊息915可指示正由狀態顯示畫面指示健康狀況的裝置或裝置網路。
亦可包括訊息文字920。訊息文字可顯示關於一或多個 電子裝置之狀態的更多資訊。訊息文字920亦可加上超連結,使其連至可找到更詳細資訊之另一顯示畫面或網頁。舉例而言,訊息文字920A可如圖9A中所示般陳述全部資料(例如照片/視訊)都已儲存至儲存集線器。舉另一例而言,訊息文字920B可如圖9B所示般指示某些項目尚未複製到儲存集線器。舉另一例而言,訊息文字920C可如圖9C所示般指示儲存集線器空間不足。在一些實施例中,使用者可輕觸訊息文字以得到與訊息文字920中之特定訊息有關的更多細節。 訊息文字920亦可顯示正由狀態顯示畫面指示健康狀況的一或多個電子裝置之名稱。可在訊息文字920中顯示各種其他文字或訊息。
在一些實施例中,資料項目錄可包括儲存在儲存系統(例如,儲存系統100a或100b)內之電子裝置106之一或多個儲存塊110a中的複數個資料項。在一些實施例中,可使用(包括關於在電子儲存塊110a之儲存塊110內的資料項之細節)列表、資料庫、查詢表等來組織及/或追蹤目錄。在一些實施例中,目錄可不包括資料項之複本。舉例而言,目錄可包括用於儲存在電子裝置106之儲存塊110a內每個資料項之複本的指示項(例如,ID)。在其他實施例中,目錄可包括用於儲存在電子裝置106之任何儲存塊110a中的資料項之每個複本的指示項。在一些實施例中,目錄可包括用於每個資料項的指示項、資料項之位置、指出儲存資料項所在之電子裝置的指示項、資料項之大小等。
在一些實施例中,儲存系統100a及/或100b之健康狀況可部分取決於儲存系統內之儲存塊110a之一或多者的儲存容量及/或目錄中之資料項的大小。舉例而言,儲存系統之健康狀況可取決於在達到複製目標時儲存系統中可用的總儲存空間量。
舉一實例,儲存系統100a及/或100b的複製目標可確保儲存在第一儲存塊110a中之每個資料項具有備份及/或儲存在第二儲存塊110b中的複本。如果達成此複製目標,則每個資料項之兩個複本可儲存在兩個不同的儲存塊中。在此複製目標中,複製因數F為2。
舉另一例而言,儲存系統100a及/或100b的複製目標 可包括確保儲存在一個儲存塊110中之每個資料項都被儲存在三個或三個以上的不同儲存塊110中。如果達成此複製目標,則每個資料項之三個或三個以上的複本可儲存在三個或三個以上的不同儲存塊中。 在此複製目標中,複製因數F為3。
舉另一例而言,儲存系統100a及/或100b的複製目標 可包括確保在儲存系統內之所有儲存塊110a中的每個資料項儲存在一個中央電子裝置106(例如,儲存管理器114)之儲存塊110中。如果達成此複製目標,則將儲存(例如)在行動電子裝置106中的資料項傳輸至中央電子裝置106。在此複製目標中,複製因數F為1。
在一些實施例中,複製目標可取決於儲存資料項所在之 電子裝置106的類型及/或電子裝置106是否在線上的時間量或百分比而變化。舉例而言,複製目標可為將每個資料項儲存在非行動電子裝置106內的兩個儲存塊110a中。舉另一例而言,複製目標可為將每個資料項儲存在已在線上超過50%或超過60%、70%、80%、90%等時間之電子裝置106內的兩個儲存塊110a中。可使用各種其他複製目標,其取決於電子裝置106之一或多個特性。
不論複製目標如何,儲存系統100a及/或100b達到複 製目標之能力可取決於儲存系統100a及/或100b之儲存容量。此可以取決於(例如)系統儲存容量是否大於目錄大小。舉例而言,可依據下述判定儲存系統之系統儲存容量,其中F為複製因數,而N為在儲存系統中的電子裝置106之數量。如果最大F-1個電子裝置106之容 量的總和大於最小N-F-1個電子裝置106之容量的總和,則可以最小N-F-1個電子裝置106之容量的總和判定系統儲存容量。否則,可自所有電子裝置106之容量之總和除以複製因數F來判定系統儲存容量。
在一些實施例中,當符合下列準則之一或多者時,儲存 系統100a及/或100b可視為健康。系統儲存容量大於目錄大小及/或資料項之複製已發生以達到複製目標。舉例而言,如果複製目標為二,則當資料項的兩個複本被儲存在兩個不同電子裝置上時,複製已發生。如果複製目標包括電子裝置特性(例如儲存資料項所在之電子裝置106是否為行動電子裝置106),則此亦可被納入考量。在一些實施例中,健康狀態可輸出至使用者或另一裝置。圖9A係正常狀態顯示畫面之實例。除了正常狀態顯示畫面以外,還可顯示一指示,其指示位於一或多個裝置106之全部資料項均儲存於儲存集線器。舉例而言,該指示可包括文字、影像、圖形、動畫、聲音等。
在一些實施例中,當符合下列準則之一或多者時,儲存 系統100a及/或100b可視為處於風險狀態或處於警告狀態中。可能需要資料項之進一步複製以達到複製目標,及/或當包括未複製資料項的一或多個電子裝置未曾在線上及/或未曾與儲存網路102a及/或102b連線達最小時間臨限值(例如5、10、15、20、25、30、35、40、45、50、55、60、或更多分鐘等)。在一些實施例中,處於風險狀態及/或警告狀態可輸出至使用者或至另一裝置。圖9B係警告狀態顯示畫面之實例。除了警告狀態顯示畫面以外,還可顯示一指示,其指示 將位於一或多個裝置106之資料項儲存至儲存集線器之狀態為擱置或進行中。舉例而言,該指示可包括文字、影像、圖形、動畫、聲音等。
在一些實施例中,當符合下列準則之一或多者時,儲存 系統100a及/或100b可視為健康狀況不良。目錄大小大於系統儲存容量,及/或當包括未複製資料項的一或多個電子裝置未曾在線上及/或已未與儲存網路102a及/或102b連線達最大時間臨限值(例如0.5、1、1.5、2、2.5、3、4、5、10、或更多小時等)。在一些實施例中,處於非健康狀態及/或警告狀態可輸出至使用者或至另一裝置。圖9C係注意狀態顯示畫面之實例。除了注意狀態顯示畫面以外,還可顯示一指示,其指示位於一或多個裝置106之資料項無法全部都儲存至儲存集線器。舉例而言,該指示可包括文字、影像、圖形、動畫、聲音等。
圖10係根據本文中所述之至少一實施例,判定儲存系 統100a及/或儲存系統100b之儲存健康狀況之例示性方法1000的流程圖。在一些實施例中,藉由圖1A及圖1B之儲存系統100a及/或100b的一或多個組件可實施方法1000之一或多個步驟,該一或多個組件例如儲存管理器114、儲存代理器104、及/或一或多個裝置106。所繪示的雖然是離散的方塊,取決於所欲具體實施,各個方塊仍可區分成額外方塊、組合成較少方塊、或予以除去。
方法1000可以始於程序方塊1005,在此判定資料項目 錄之資料大小。此可包括(例如)判定儲存在各種電子裝置106內之 所有資料的大小。舉另一例而言,可包括判定在各種電子裝置內之所有未複製資料的大小。
在一些實施例中,一或多個電子裝置106可包括目錄資 料庫,該目錄資料庫包括各資料項之輸入項及/或說明各資料項之大小的輸入項。在一些實施例中,目錄資料庫亦可包括識別儲存資料項所在之電子裝置106的資訊。在一些實施例中,目錄資料庫亦可包括識別各複製資料項之數量及/或位置的資訊。可使用目錄資料庫,藉由取決於目錄之定義而加總每個未複製資料項之大小或加總所有資料項之大小,來判定目錄大小。在一些實施例中,每個電子裝置可包括目錄資料庫,及/或一個裝置(例如儲存管理器114)可保持可供其他電子裝置106存取之目錄資料庫。
在程序方塊1010,可判定儲存系統100a及/或100b之 儲存容量。在一些實施例中,可從包括電子裝置之一或多者的儲存容量之總和的函數,來判定儲存系統100a及/或100b之儲存容量。在一些實施例中,可從包括最低個別儲存容量的電子裝置子集之儲存容量的總和之函數,來判定儲存系統100a及/或100b之儲存容量。該電子裝置子集可包括具有最低儲存容量之N-F-1個電子裝置,其中N為電子裝置之數量,而F為系統之複製因數。
在一些實施例中,儲存容量可係基於複製因數。在一些 實施例中,可從包括電子裝置之各者的儲存容量總和除以複製因數的函數,來判定儲存系統100a及/或100b之儲存容量。在一些實施例中,如果最大F-1個電子裝置106之容量的總和大於最小N-F-1個電 子裝置106之容量的總和,則可自最小N-F-1個電子裝置106之容量的總和判定系統儲存容量。否則,可自所有電子裝置106之容量之總和除以複製因數F來判定系統儲存容量。
在程序方塊1015,可判定電子裝置106之網路的儲存 健康狀況。可基於下列判定儲存健康狀況:資料項目錄之資料大小、電子裝置之一或多者的總儲存容量、所有電子裝置之儲存容量、電子裝置離線及/或已未與儲存網路102a及/或102b連線的時間量、及/或儲存資料項所在之電子裝置的類型等。
在程序方塊1020,可輸出電子裝置網路之儲存健康狀 況。在一些實施例中,可經由顯示器輸出至使用者,如圖9A、圖9B及圖9C所示。在一些實施例中,可輸出至另一電子裝置106或任何其他裝置。
上述方法500、600、700、800及/或1000中描述之資 料可包括任何類型之資料。在一些實施例中,資料可包括可利用一或多個裝置106之一或多者拍攝之照片及/或視訊。
本文中所述之實施例(包括但是不限於方法500、 600、700、800、及/或1000)可由裝置106之任意者、裝置集合或所有裝置、及/或儲存管理器114執行。在一些實施例中,對裝置106之任何參考亦可係指儲存管理器114。此外,在一些實施例中,對儲存在任何裝置106及/或儲存管理器114之資料、影像及/或視訊之任何參考亦可係指任何儲存塊110,反之亦然。再者,在一些實施例中, 對藉由儲存代理器104執行之任何程序、方法、步驟、動作等之任何參考亦可係指裝置106之任意者,反之亦然。
在一些實施例中,可攜式儲存位置(例如備份硬碟)可 具有不同的複製目標及/或可影響或可不影響系統之健康狀態。舉例而言,備份硬碟可耦合至桌上型電腦(或筆記型電腦,或經由網路連接等)。一旦偵測到備份硬碟,儲存系統100a及/或100b可確保在儲存系統100a及/或100b內的每個影像之複本被複製至備份硬碟。舉例而言,這可與複製目標分開發生。此外,這不會影響健康狀態。舉另一例而言,可不使用備份硬碟之存在及/或可達性來判定儲存系統100a及/或100b之健康狀態。
本文中提及許多特定細節以提供對主張申請標的之徹底 瞭解。但是,所屬技術領域中具有通常知識者可將瞭解可實踐主張之申請標的而無需這些特定細節。在其他例項中,未詳細描述所屬技術領域中具有通常知識者已知之方法、設備或系統,以免混淆所主張之申請標的。
就對儲存於運算系統記憶體(諸如電腦記憶體)內之資 料位元或二進位數位信號操作之演算法或符號表示方面呈現一些部分。這些演算法描述或表示係資料處理領域中具有通常知識者所用來將其工作物傳達給所屬技術領域中具有通常知識者之技術的實例。演算法係導致所要結果的自我一致性操作序列或類似處理。在此內容背景中,操作或處理涉及實體操縱物理量。一般來說,但非必然,此等量可採取電性或磁性信號之形式,其能夠被儲存、傳送、組合、比較 或以其他方式操縱。已證實有時將此等信號指稱為位元、資料、值、元素、符號、字元、項、數字、數值或類似物較為方便,主要係因為常見的用法。但是應明白,所有這些及相似術語係與適當物理量相關聯並且僅僅是便利的標記。除非具體指明,否則應理解,整份說明書論述利用諸如「處理」、「運算」、「計算」、「判定」、及「識別」或類似物等術語來指稱運算裝置(諸如一或多個電腦或一相似電子運算裝置或裝置)之動作或處理,其操作或變換運算平台之記憶體、暫存器或其他資訊儲存裝置、傳輸裝置或顯示器裝置內表示為物理、電子或磁性量之資料。
本文論述之系統(或多個系統)不限於任何具體硬體架 構或組態。運算裝置可包括任何適合之組件配置,其提供對一或多個輸入協調之結果。適合之運算裝置包括存取儲存之軟體的多用途微處理器式電腦系統,其將運算系統自一般用途運算設備程式化或組態成實施本揭露標的物之一或多項實施例之特殊運算設備。任何適合之程式設計、指令碼或其他類型語言或語言組合可用於以軟體來實施本文中所含有之技術,以在程式化或組態運算裝置時使用。
可在此等運算裝置之操作中執行本文論述之方法之實施 例。可改變上文實例中所呈現之方塊順序一舉例而言,方塊可被重新排序、組合及/或分解成子方塊。可並行執行某些方塊或處理。
本文中使用之「經調適以」或「經組態以」係意指開放 且含括性語言,其不排除裝置經調適以或經組態以執行額外任務或步驟。另外,所使用之「基於」係意指為開放且含括性,因為「基於」 一或多個所述之條件或值的處理、步驟、計算或其他動作實際上可基於除所述者外之額外條件或值。本文中包括之標題、清單及編號僅是為了易於解說且非意指限制。
雖然本發明申請標的已就其特定實施例予以詳細描述, 但是將理解的是,所屬技術領域中具有通常知識者在瞭解前述內容後即可易於製作此等實施例之改變、變化及均等物。據此,應明白的是,本揭露之提出係為例示之目的(而非限制),並且不排除包括對本發明申請標的之此等修改、變化及/或附加,如所屬技術領域中具有通常知識者將容易明白者。
200‧‧‧方法
202‧‧‧程序方塊
204‧‧‧程序方塊

Claims (22)

  1. 一種方法,其包含:判定儲存在電子裝置網路內一或多個電子裝置中的資料項目錄之資料大小;判定該電子裝置網路之儲存容量;基於該資料項目錄之資料大小及該一或多個電子裝置之儲存容量,判定該電子裝置網路之儲存健康狀況;及輸出該電子裝置網路之儲存健康狀況。
  2. 如請求項1之方法,其進一步包含判定該電子裝置網路之複製因數,其中該電子裝置網路之儲存容量取決於該複製因數。
  3. 如請求項1之方法,其中該電子裝置網路之儲存容量依據該等電子裝置之各者的儲存容量之總和而變化。
  4. 如請求項1之方法,其進一步包含判定該電子裝置網路之複製因數,其中該電子裝置網路之儲存容量依據該等電子裝置之各者的儲存容量之總和除以該複製因數而變化。
  5. 如請求項1之方法,其進一步包含判定該電子裝置網路之複製因數,其中該電子裝置網路之儲存容量依據具有最低個別儲存容量之電子裝置之儲存容量之總和而變化。
  6. 如請求項1之方法,其中該電子裝置網路之儲存健康狀況係至少部分基於一或多個電子裝置在預定時段是否曾在線上。
  7. 如請求項1之方法,其中該判定該電子裝置網路之儲存容量進一步包含:接收來自該電子裝置網路中的該等電子裝置之一或多者之指示,該指示指出該等電子裝置各自之儲存容量。
  8. 一種非暫時性電腦可讀取媒體,其中編碼有程式碼,該程式碼可由處理器執行以執行包含下列之操作:判定儲存在電子裝置網路內一或多個電子裝置中的資料項目錄之資料大小,其中該電子裝置網路包含複數個電子裝置;判定該電子裝置網路之儲存容量;基於該資料項目錄之資料大小及該一或多個電子裝置之儲存容量,判定該電子裝置網路之儲存健康狀況;及輸出該電子裝置網路之儲存健康狀況。
  9. 如請求項8之電腦可讀取媒體,其進一步包括判定該電子裝置網路之複製因數,其中該電子裝置網路之儲存容量取決於該複製因數。
  10. 如請求項8之電腦可讀取媒體,其中該電子裝置網路之儲存容量依據該等電子裝置之各者的儲存容量之總和而變化。
  11. 如請求項8之電腦可讀取媒體,其進一步包含判定該電子裝置網路之複製因數,其中該電子裝置網路之儲存容量依據該等電子裝置之各者的儲存容量之總和除以該複製因數而變化。
  12. 如請求項8之電腦可讀取媒體,其進一步包含判定該電子裝置網路之複製因數,其中該電子裝置網路之儲存容量依據具有最低個別儲存容量之電子裝置的儲存容量之總和而變化。
  13. 如請求項8之電腦可讀取媒體,其中該電子裝置網路之儲存健康狀況係至少部分基於一或多個電子裝置在預定時段是否曾在線上。
  14. 如請求項8之電腦可讀取媒體,其中該判定該電子裝置網路之儲存容量進一步包含:接收來自該電子裝置網路中的該等電子裝置之一或多者之指示,該指示指出該等電子裝置各自之儲存容量。
  15. 一種電子裝置,其包含:儲存塊,其經組態成用以儲存資料項;通訊模組,其經組態成用以與複數個電子裝置通訊;及處理器,其與該儲存塊及該通訊模組通訊耦合,該處理器經組態以:判定儲存在該儲存塊及該一或多個電子裝置中的資料項目錄之資料大小;判定該儲存塊及該一或多個電子裝置之儲存容量;基於該資料項目錄之資料大小以及該儲存塊及該一或多個電子裝置之儲存容量,判定該電子裝置網路之儲存健康狀況;及輸出該電子裝置網路之儲存健康狀況。
  16. 如請求項15之電子裝置,其進一步包含顯示器,其中透過該顯示器輸出儲存健康狀況。
  17. 如請求項15之電子裝置,其進一步包含判定該電子裝置網路之複製因數,其中該電子裝置網路之儲存容量取決於該複製因數。
  18. 如請求項15之電子裝置,其中該電子裝置網路之儲存容量依據該等電子裝置之各者的儲存容量之總和而變化。
  19. 如請求項15之電子裝置,其中該處理器進一步經組態成用以判定該電子裝置網路之複製因數,其中該電子裝置網路之儲存容量依據該等電子裝置之各者之儲存容量的總和除以該複製因數而變化。
  20. 如請求項15之電子裝置,其中該處理器進一步經組態成用以判定該電子裝置網路之複製因數,其中該電子裝置網路之儲存容量依據具有最低個別儲存容量之電子裝置的儲存容量之總和而變化。
  21. 如請求項15之電子裝置,其中該電子裝置網路之儲存健康狀況係至少部分基於一或多個電子裝置在預定時段是否曾在線上。
  22. 如請求項15之電子裝置,其中該處理器進一步經組態成用以接收來自該電子裝置網路中的該等電子裝置之一或多者之指示,該指示指出該一或多個電子裝置各自之儲存容量。
TW104114477A 2014-05-09 2015-05-06 用於儲存網路強固性計算的方法、電腦可讀取媒體及電子裝置 TWI554882B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US14/274,437 US9531610B2 (en) 2014-05-09 2014-05-09 Computation of storage network robustness

Publications (2)

Publication Number Publication Date
TW201606505A true TW201606505A (zh) 2016-02-16
TWI554882B TWI554882B (zh) 2016-10-21

Family

ID=54368796

Family Applications (1)

Application Number Title Priority Date Filing Date
TW104114477A TWI554882B (zh) 2014-05-09 2015-05-06 用於儲存網路強固性計算的方法、電腦可讀取媒體及電子裝置

Country Status (3)

Country Link
US (2) US9531610B2 (zh)
TW (1) TWI554882B (zh)
WO (1) WO2015172094A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9531610B2 (en) * 2014-05-09 2016-12-27 Lyve Minds, Inc. Computation of storage network robustness
CN112262549B (zh) * 2018-06-13 2023-08-22 瑞典爱立信有限公司 用于sdn控制器集群的稳健的节点故障检测机制
US11171671B2 (en) * 2019-02-25 2021-11-09 Samsung Electronics Co., Ltd. Reducing vulnerability window in key value storage server without sacrificing usable capacity

Family Cites Families (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2394683A1 (en) * 1999-12-13 2001-06-14 Connected Corporation Multiple copy capability for network backup systems
US6983317B1 (en) * 2000-02-28 2006-01-03 Microsoft Corporation Enterprise management system
US6915397B2 (en) * 2001-06-01 2005-07-05 Hewlett-Packard Development Company, L.P. System and method for generating point in time storage copy
JP3967993B2 (ja) * 2002-10-21 2007-08-29 株式会社日立製作所 ストレージ使用容量表示方法
US7424577B2 (en) * 2005-08-26 2008-09-09 Network Appliance, Inc. Dynamic optimization of cache memory
US20080065704A1 (en) 2006-09-12 2008-03-13 Microsoft Corporation Data and replica placement using r-out-of-k hash functions
US7792922B2 (en) 2008-03-05 2010-09-07 Caterpillar Inc. Systems and methods for managing health of a client system
US7805511B1 (en) * 2008-04-30 2010-09-28 Netapp, Inc. Automated monitoring and reporting of health issues for a virtual server
TW201014262A (en) 2008-09-23 2010-04-01 Apacer Technology Inc Remote monitoring system and the monitoring method using the same
US9274714B2 (en) * 2008-10-27 2016-03-01 Netapp, Inc. Method and system for managing storage capacity in a storage network
US8380960B2 (en) * 2008-11-04 2013-02-19 Microsoft Corporation Data allocation and replication across distributed storage system
US10395054B2 (en) * 2011-06-06 2019-08-27 Pure Storage, Inc. Updating distributed storage network software
US9507735B2 (en) * 2009-12-29 2016-11-29 International Business Machines Corporation Digital content retrieval utilizing dispersed storage
US20110161294A1 (en) 2009-12-30 2011-06-30 Sun Microsystems, Inc. Method for determining whether to dynamically replicate data
US8983983B2 (en) * 2010-02-04 2015-03-17 Network State, LLC State operating system
US8683205B2 (en) 2010-05-19 2014-03-25 Cleversafe, Inc. Accessing data utilizing entity registration in multiple dispersed storage networks
US8555323B2 (en) * 2010-09-28 2013-10-08 The Chinese University Of Hong Kong Methods for replicating media contents and P2P VoD systems
TW201220077A (en) 2010-11-05 2012-05-16 Inventec Corp A method for obtaining a failure signal of a storage device using a Baseboard Management Controller
US8458130B2 (en) * 2011-03-03 2013-06-04 Microsoft Corporation Indexing for limited search server availability
US8595462B2 (en) * 2011-03-14 2013-11-26 International Business Machines Corporation Dynamic measurement and adaptation of a copying garbage collector
US8341312B2 (en) * 2011-04-29 2012-12-25 International Business Machines Corporation System, method and program product to manage transfer of data to resolve overload of a storage system
EP2727371A1 (en) * 2011-06-29 2014-05-07 Thomson Licensing Managing common content on a distributed storage system
US8688927B1 (en) * 2011-12-22 2014-04-01 Emc Corporation Capacity forecasting for backup storage
US10140177B2 (en) * 2012-01-31 2018-11-27 International Business Machines Corporation Transferring a partial task in a distributed computing system
US9037921B1 (en) * 2012-03-29 2015-05-19 Amazon Technologies, Inc. Variable drive health determination and data placement
US9513807B2 (en) * 2012-06-13 2016-12-06 Oracle International Corporation Highly scalable storage array management with reduced latency
TW201413467A (zh) 2012-09-28 2014-04-01 Delta Electronics Inc 管理雲端主機的監控系統及其監控方法
US9727268B2 (en) * 2013-01-08 2017-08-08 Lyve Minds, Inc. Management of storage in a storage network
US20140359198A1 (en) * 2013-05-28 2014-12-04 Apple Inc. Notification of storage device performance to host
WO2014196954A1 (en) * 2013-06-03 2014-12-11 Empire Technology Development, Llc Health monitoring using snapshot backups through test vectors
US9053167B1 (en) * 2013-06-19 2015-06-09 Amazon Technologies, Inc. Storage device selection for database partition replicas
US9507686B2 (en) * 2013-12-20 2016-11-29 Netapp, Inc. System, method, and computer program product for monitoring health of computer system assets
US9619381B2 (en) * 2013-12-24 2017-04-11 International Business Machines Corporation Collaborative health management in a storage system
US9547448B2 (en) * 2014-02-24 2017-01-17 Netapp, Inc. System and method for transposed storage in raid arrays
US20150324135A1 (en) * 2014-05-06 2015-11-12 Netapp, Inc. Automatic storage system configuration based on workload monitoring
US9531610B2 (en) * 2014-05-09 2016-12-27 Lyve Minds, Inc. Computation of storage network robustness

Also Published As

Publication number Publication date
US9531610B2 (en) 2016-12-27
TWI554882B (zh) 2016-10-21
US20150326452A1 (en) 2015-11-12
WO2015172094A1 (en) 2015-11-12
US20170230455A1 (en) 2017-08-10

Similar Documents

Publication Publication Date Title
KR101700667B1 (ko) 스토리지 네트워크 데이터 할당
TWI578168B (zh) 儲存代理器上之混合型儲存分配
TW201546702A (zh) 儲存代理器狀態
TW201545117A (zh) 縮圖影像建立
US11080143B2 (en) Systems and processes for data backup and recovery
US20140156793A1 (en) Generating prefetching profiles for prefetching data in a cloud based file system
TW201601057A (zh) 儲存網路資料擷取
CA2960150A1 (en) Application centric distributed storage system and method
US8732355B1 (en) Dynamic data prefetching
TWI554882B (zh) 用於儲存網路強固性計算的方法、電腦可讀取媒體及電子裝置
TW201606746A (zh) 照片分享裝置顯示器上之影像捲動