CN104603740A - 归档数据识别 - Google Patents
归档数据识别 Download PDFInfo
- Publication number
- CN104603740A CN104603740A CN201380042169.7A CN201380042169A CN104603740A CN 104603740 A CN104603740 A CN 104603740A CN 201380042169 A CN201380042169 A CN 201380042169A CN 104603740 A CN104603740 A CN 104603740A
- Authority
- CN
- China
- Prior art keywords
- data
- data object
- request
- identifier
- information
- Prior art date
- Legal status (The legal status 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 status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2365—Ensuring data consistency and integrity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/11—File system administration, e.g. details of archiving or snapshots
- G06F16/113—Details of archiving
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/907—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/606—Protecting data by securing the transmission between two devices or processes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6209—Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols 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]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Computer Security & Cryptography (AREA)
- Data Mining & Analysis (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Library & Information Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Management Or Editing Of Information On Record Carriers (AREA)
Abstract
本文中提供促进在归档数据存储系统中进行具成本效益且可靠的数据识别的方法和系统。在实施方案中,存储在归档数据存储系统中的数据对象通过数据对象识别符来识别,所述数据对象识别符编码可以用来定位存储在归档数据存储系统中的数据对象的存储位置信息以降低存储全局索引的成本。所述数据对象识别符还可以编码可用于证实对所述数据对象的后续访问的政策信息(诸如访问控制信息)、可用于验证有效负载数据的完整性的有效负载证实信息(诸如大小和摘要)、可用于证实所述数据对象识别符的完整性的元数据证实信息(诸如错误检测码)和其它信息。
Description
背景
本申请要求2012年8月8日提交的标题为“ARCHIVAL DATAIDENTIFICATION”的第13/569,994号美国专利申请(代理人案号90204-841807)的优先权和权益。本申请针对所有目的依引用方式并入下列专利申请的详尽公开内容:与其同时提交的标题为“LOG-BASED DATA STORAGE ON SEQUENTIALLY WRITTENMEDIA”的第13/569,984号共同未决美国专利申请(代理人案号90204-841804(054800US))、与其同时提交的标题为“DATASTORAGE MANAGEMENT FOR SEQUENTIALLY WRITTENMEDIA”的第13/570,057号共同未决美国专利申请(代理人案号90204-841817(055300US))、与其同时提交的标题为“DATA WRITECACHING FOR SEQUENTIALLY WRITTEN MEDIA”的第13/570,005号共同未决美国专利申请(代理人案号90204-841812(055000US))、与其同时提交的标题为“PROGRAMMABLECHECKSUM CALCULATIONS ON DATA STORAGE DEVICES”的第13/570,030号共同未决美国专利申请(代理人案号90204-841813(055200US))、与其同时提交的标题为“DATA STORAGEINVENTORY INDEXING”的第13/569,665号共同未决美国专利申请(代理人案号90204-841811(054700US))、与其同时提交的标题为“ARCHIVAL DATA ORGANIZATION AND MANAGEMENT”的第13/570,029号共同未决美国专利申请(代理人案号90204-841808(054400US))、与其同时提交的标题为“ARCHIVAL DATA FLOWMANAGEMENT”的第13/570,092号共同未决美国专利申请(代理人案号90204-841809(054500US))、与其同时提交的标题为“ARCHIVAL DATA STORAGE SYSTEM”的第13/570,088号共同未决美国专利申请(代理人案号90204-841806(054000US))、与其同时提交的标题为“DATA STORAGE POWER MANAGEMENT”的第13/569,591号共同未决美国专利申请(代理人案号90204-841816(054900US))、与其同时提交的标题为“DATA STORAGE SPACEMANAGEMENT”的第13/569,714号共同未决美国专利申请(代理人案号90204-846202(056100US))、与其同时提交的标题为“DATASTORAGE APPLICATION PROGRAMMING INTERFACE”的第13/570,074号共同未决美国专利申请(代理人案号90204-846378(056200US))和与其同时提交的标题为“DATA STORAGEINTEGRITY VALIDATION”的第13/570,151号共同未决美国专利申请(代理人案号90204-841810(054600US))。
背景
随着信息数字化的递增,对耐久的且可靠的归档数据存储服务的需求也在递增。归档数据可以包括由政府、企业、图书馆等维持的归档记录、备份文件、媒体文件等。归档数据存储已带来一些挑战。例如,使用许多常规技术存储潜在的大量数据可造成成本过高。此外,通常期望归档数据存储的耐久度和可靠度相对较高,其进而增大存储数据所需的资源量,从而增大开支。因此,需要依具成本效益且可靠的方式识别归档数据。
附图简述
将参考附图描述根据本公开的各个实施方案,其中:
图1示出根据至少一个实施方案的用于归档数据识别的示例性环境100。
图2示出根据至少一个实施方案的可以实施归档数据存储服务的示例性环境。
图3示出根据至少一个实施方案的可以连接归档数据存储系统的组件的互连网络。
图4示出根据至少一个实施方案的可以连接归档数据存储系统的组件的互连网络。
图5示出根据至少一个实施方案的用于存储数据的示例性过程。
图6示出根据至少一个实施方案的用于检索数据的示例性过程。
图7示出根据至少一个实施方案的用于删除数据的示例性过程。
图8示出根据至少一个实施方案的数据对象识别符800的示例性表示。
图9示出根据至少一个实施方案的用于存储和检索数据的过程。
图10示出根据至少一个实施方案的用于删除数据的过程1000。
图11示出可实施各个实施方案的环境。
发明详述
在下文描述中,将描述各个实施方案。出于说明目的,陈述具体配置和详情以便透彻理解实施方案。然而,所属技术领域熟练人员还将明白在无具体详情的情况下,可以实行实施方案。此外,可以省略或简化熟知特征以免使所描述的实施方案难以理解。
本文中所描述和所建议的技术包括用于依具成本效益且可靠的方式识别存储在归档数据存储系统中的归档数据的方法和系统。在实施方案中,当客户请求将归档数据对象存储在归档数据存储系统中时,对客户提供可以供与归档数据存储系统进行的后续通信用来检索、删除或依其它方式识别归档数据对象的数据对象识别符。数据对象识别符可以在由存储系统持久存储归档数据对象之前提供给客户,从而在依异步方式处理数据存储请求时对客户提供同步体验。
在一些实施方案中,数据对象识别符可以编码可以用来定位存储在归档数据存储系统中的数据对象的存储位置信息。例如,存储位置信息可以编码对存储数据对象的阶层式数据结构的参考。这个实施方案可以降低或消除存储命名空间映射或相似数据结构以将数据对象识别符映射到对应数据对象的存储位置的成本。
在实施方案中,数据对象识别符还编码可以用来强制执行与存储在归档数据存储系统中的数据相关的一个或多个政策的政策信息。在各个实施方案中,这些政策可以包括解决安全性、隐私、访问、监管、成本和其它问题的政策。例如,政策信息可以编码可以用来证实对与数据对象识别符相关的数据的所请求访问的访问控制信息。
在实施方案中,数据对象识别符还编码用来确保存储在归档数据存储系统中的数据的完整性的有效负载证实信息。在各个实施方案中,有效负载证实信息可以包括有效负载的数据大小、时间戳记(例如,数据创建时间戳记)、一个或多个摘要等。数据对象识别符还可以编码用来确保与数据对象识别符相关的信息的完整性的元数据证实信息。在各个实施方案中,元数据证实信息可以包括数据对象识别符中编码的一些或所有信息的错误检测检查,诸如奇偶检查、循环冗余检查(CRC)、错误校正检查等。数据对象识别符可以全部或部分进行编码(例如,加密)以封装上文所描述的信息。这个编码可以对实施详情提供数据安全性和透明性。在一些实施方案中,数据对象识别符可以包括上文所描述的信息而无加密或依其它方式隐藏所述信息。
为检索或删除存储在归档数据存储系统中的数据对象,与数据对象相关的数据对象识别符可以使用至少元数据证实信息进行证实。随后,请求的访问(检索/删除)可以至少部分地基于数据对象识别符中编码的政策信息进行证实。数据对象识别符中编码的存储位置信息可以用来定位存储的数据对象。最后,有效负载完整性证实信息可以用来证实检索的或将删除的数据对象的完整性。
图1示出根据至少一个实施方案的用于归档数据识别的示例性环境100。如所示,在实施方案中,客户102请求将归档数据对象104存储在归档数据存储系统106中。在一些实施方案中,客户102和归档数据存储系统106可以分别与如下文结合图2所描述的客户202和归档数据存储系统206相似。
在实施方案中,响应于请求,归档数据存储系统106接受归档数据104用于存储且提供与归档数据104相关的数据对象识别符108。这个数据对象识别符108可以供与归档数据存储系统106进行的后续通信用来检索、删除或依其它方式识别归档数据104。在一些实施方案中,每个数据对象识别符唯一地识别存储在归档数据存储系统106中的归档数据对象。在其它实施方案中,在某些情况下(例如,在数据属于特定客户的情况下),数据对象识别符可以是唯一的。
在实施方案中,数据对象识别符108编码118各种信息以提供与归档数据存储系统106相关的改进可靠度、可扩展性和其它特性。例如,如在图8中所示且将更详细论述,数据对象识别符可以编码可以用来定位存储的数据、各种证实信息等的存储位置信息110。在各个实施方案中,证实信息可以包括可以用来证实请求的访问的政策信息112、可以用来证实与归档数据104相关的有效负载数据的完整性的有效负载证实信息114、可以用来证实元数据的完整性的元数据证实信息116等。在实施方案中,数据对象识别符108可以进行编码118(诸如加密)以防止所述数据对象识别符中包括的信息的未授权公开或更改。
图2示出根据至少一个实施方案的可以实施归档数据存储系统的示例性环境200。一个或多个客户202经由网络204连接到归档数据存储系统206。如上文所暗示,除非上下文另有清楚所述,否则术语“客户”指代利用本文中所描述的数据存储服务的客户实体(诸如个人、公司或其它组织)的系统。这些系统可以包括数据中心、主机、个人计算装置、分布式计算环境和其客户可访问实例或能够与归档数据存储系统进行通信的任何其它系统。在一些实施方案中,客户可以指代由还提供归档数据存储系统的计算资源提供者提供的分布式计算系统的机器实例(例如,具有直接硬件访问)或虚拟实例。在一些实施方案中,归档数据存储系统与分布式计算系统成一体且可以包括分布式计算系统的实例(虚拟或机器)或由其实施。在各个实施方案中,网络204可以包括互联网、局域网(“LAN”)、广域网(“WAN”)、蜂窝数据网络和/或其它数据网络。
在实施方案中,归档数据存储系统206提供多租户或多客户环境,其中每个租户或客户可以存储、检索、删除或依其它方式管理分配给客户的数据存储空间中的数据。在一些实施方案中,归档数据存储系统206包括多个子系统或“平面”,每个提供特定服务或功能集。例如,如图2中所示,归档数据存储系统206包括前端208、直接I/O控制平面210、共同控制平面212、数据平面214和元数据平面216。每个子系统或平面可以包括共同地提供特定功能集的一个或多个组件。每个组件可以由一个或多个物理和/或逻辑计算装置(诸如计算机、数据存储装置等)来实施。每个子系统内的组件可以与相同子系统内的组件、其它子系统中的组件或外部实体(诸如客户)进行通信。这些交互中的至少一些是由图2中的箭头指示。特定来说,进出归档数据存储系统206的主要批量数据传送路径是由粗箭头表示。所属技术领域一般人员将明白各个实施方案可以具有少于或多于图2中所示的数量的系统、子系统和/或子组件。因此,图2中的环境200的描绘应被视为本质上是说明性的且不限于本公开的范围。
在说明性实施方案中,前端208实施在归档数据存储系统206与外部实体(诸如本文中所描述的一个或多个客户202)之间提供界面的服务组。在各个实施方案中,前端208提供用来使用户能够依编程方式与归档数据存储系统的各种特征、组件和功能连接的应用编程界面(“API”)。这些API可以是用户界面的部分,其可以包括图形用户界面(GUI)、基于网页的界面、编程界面(诸如应用编程界面(API)和/或对应于界面元件的远程程序调用(RPC)集)、界面元件对应于通信协议消息的消息传递界面和/或其合适组合。
由归档数据存储系统206提供的功能可以包括各种操作参数的数据存储、数据检索、数据删除、元数据操作、配置等。元数据操作可以包括检索针对特定客户存储的数据的目录的请求、数据恢复请求、作业查询等。配置API可以允许客户配置帐户信息、审计日志、政策、通知设置等。客户可以通过将API请求发送到归档数据存储系统而请求执行上述操作中的任一个。相似地,归档数据存储系统可以提供客户请求响应。这些请求和响应可以通过任何合适通信协议(诸如超文字传送协议(“HTTP”)、文件传送协议(“FTP”)等)依任何合适格式(诸如表述性状态转移(“REST”)、简单对象访问协议(“SOAP”)等)来提交。请求和响应可以例如使用Base64编码进行编码、运用加密密钥等加密。
在一些实施方案中,归档数据存储系统206允许客户创建存储一个或多个归档数据对象的一个或多个逻辑结构,诸如逻辑数据容器。如本文中所使用,数据对象广泛地被使用且不一定暗指关于其它数据的任何特定结构或关系。数据对象可以仅是例如位序列。通常,这些逻辑数据结构可以被创建来满足客户的某些业务要求且独立于存储在归档数据存储系统中的数据的物理组织。如本文中所使用,术语“逻辑数据容器”指代数据对象的分组。例如,出于具体目的或在具体时间周期期间创建的数据对象可以存储在相同逻辑数据容器中。每个逻辑数据容器可以包括嵌套的数据容器或数据对象且可以与政策集相关,诸如容器的大小限制、可以存储在容器中的数据对象的最大数量、截止日期、访问控制清单等。在各个实施方案中,可以由客户经由API请求、由系统管理员或由数据存储系统例如基于可配置信息创建、删除或依其它方式修改逻辑数据容器。在实施方案中,例如下述HTTP PUT请求可以用来创建具有与由帐户识别符“accountId”识别的客户相关的名称“logical-container-name”的逻辑数据容器。
PUT/{accountId}/logical-container-name HTTP/1.1
在实施方案中,归档数据存储系统206对客户提供API以将数据对象存储到逻辑数据容器中。例如,在说明性实施方案中,下述HTTPPOST请求可以用来将数据对象存储到给出逻辑容器中。在实施方案中,请求可以指定存储位置的逻辑路径、数据长度、对数据有效负载的参考、数据有效负载的数字摘要和其它信息。在一个实施方案中,API可以允许客户在一次请求中将多个数据对象上传到一个或多个逻辑数据容器。在数据对象为大数据对象的另一实施方案中,API可以允许客户依多个部件上传数据对象,每个部件具有数据对象中的一部分。
POST/{accountId}/logical-container-name/data HTTP/1.1
Content-Length:1128192
x-ABC-data-description:″annual-result-2012.xls″
x-ABC-md5-tree-hash:634d9a0688aff95c
在实施方案中,响应于数据存储请求,如果成功地存储数据对象,那么归档数据存储系统206提供数据对象识别符。这个数据对象识别符可以在后续请求中用来检索、删除或依其它方式参考存储的数据对象。在一些实施方案中,这个数据对象识别符可以“自描述”是因为其包括(例如,在加密或不加密的情况下)可以被归档数据存储系统用来定位数据对象而无需额外数据结构(诸如全局命名空间密钥映射)的存储位置信息。此外,在一些实施方案中,数据对象识别符还可以编码可以用来证实后续请求和数据完整性的其它信息,诸如有效负载摘要、错误检测码、访问控制数据和其它信息。在一些实施方案中,归档数据存储系统在将传入数据移动到归档数据存储装置之前将其存储在瞬态耐久数据存储区中。因此,尽管客户可以感知在完成上传请求时的瞬间耐久地存留数据,但到长期存留数据存储区的实际存储可能直到一段时间之后(例如,12小时之后)才开始。在一些实施方案中,实际存储的时序可以取决于数据对象的大小、昼夜循环期间的系统负载、可配置信息(诸如客户与存储服务提供者之间的服务水平协议)和其它因素。
在一些实施方案中,归档数据存储系统206对客户提供API以检索存储在归档数据存储系统中的数据。在这些实施方案中,客户可以开始执行数据检索的作业且可以通过通知或通过向系统轮询作业状态而获悉作业完成与否。如本文中所使用,“作业”指代对应于客户请求且可以独立于接收所述请求的时间暂时地执行的数据相关活动。例如,作业可以包括检索、存储和删除数据、检索元数据等。作业可以通过例如在针对特定客户的所有作业之间可为唯一的作业识别符来识别。例如,在说明性实施方案中,下述HTTP POST请求可以用来开始检索通过数据对象识别符“dataObjectId”识别的数据对象的作业。在其它实施方案中,数据检索请求可以请求检索多个数据对象、与逻辑数据容器相关的数据对象等。
POST/{accountId}/logical-data-container-name/data/{dataObjectId}HTTP/1.1
在实施方案中,响应于请求,归档数据存储系统206提供在下述响应中对作业指派的作业识别符“job-id”。在这个实例中,响应提供到将存储检索的数据的存储位置的路径。
HTTP/1.1 202 ACCEPTED
Location:/{accountId}/logical-data-container-name/jobs/{job-id}
在任何给出时间点,归档数据存储系统可以具有因各种数据操作未决的许多作业。在一些实施方案中,归档数据存储系统可以采用作业规划和优化技术(诸如批量处理、负载平衡、作业合并等)以优化系统度量,诸如成本、性能、可扩展性等。在一些实施方案中,实际数据检索的时序取决于下述因素,诸如检索的数据的大小、系统负载和容量、存储装置的运行状态等。例如,在一些实施方案中,归档数据存储系统中的至少一些数据存储装置可以根据电力管理调度来激活或撤销激活以例如降低操作成本。因此,存储在当前运行的存储装置(诸如旋转的硬盘驱动器)中的数据的检索可以快于存储在当前不运行的存储装置(诸如消旋的硬盘驱动器)中的数据的检索。
在实施方案中,当数据检索作业完成时,将检索的数据存储在分级数据存储区中且使其可用于客户下载。在一些实施方案中,通过可配置通知服务向客户通知作业状态变更。在其它实施方案中,客户可以通过使用作业识别符向系统轮询而获悉作业状态。在实施方案中,下述HTTP GET请求可以用来使用先前已提供的下载路径下载由通过“job-id”识别的作业检索的数据。
GET/{accountId}/logical-data-container-name/jobs/{job-id}/outputHTTP/1.1
在说明性实施方案中,响应于GET请求,归档数据存储系统206可以在下述HTTP响应中提供检索的数据,其中所述数据的树散列用于证实目的。
HTTP/1.1 200 OK
Content-Length:1128192
x-ABC-archive-description:″retrieved stuff″
x-ABC-md5-tree-hash:693d9a7838aff95c
[1112192 bytes of user data follows]
在实施方案中,客户可以通过指定与存储在归档数据存储系统中的数据对象相关的数据对象识别符而请求删除所述数据对象。例如,在说明性实施方案中,可以使用下述HTTP请求删除具有数据对象识别符“dataObjectId”的数据对象。在另一实施方案中,客户可以请求删除多个数据对象,诸如与特定逻辑数据容器相关的数据对象。
DELETE/{accountId}/logical-data-container-name/data/{dataObjectId}HTTP/1.1
在各个实施方案中,数据对象可以响应于客户请求而删除或可以根据用户指定或默认的截止日期自动地删除。在一些实施方案中,数据对象可能在截止时间之后客户不可访问但在超过截止时间的宽限期期间可恢复。在各个实施方案中,宽限期可以基于可配置信息,诸如客户配置、服务水平协议条款等。在一些实施方案中,客户可以具备询问或接收未决数据删除的通知和/或取消未决数据删除中的一个或多个的能力。例如,在一个实施方案中,客户可以设置与逻辑数据容器相关的通知配置,使得客户将接收与逻辑数据容器相关的某些事件的通知。这些事件可以包括数据检索作业请求的完成、元数据请求的完成、数据对象或逻辑数据容器的删除等。
在实施方案中,归档数据存储系统206还提供元数据API用于检索和管理元数据,诸如与逻辑数据容器相关的元数据。在各个实施方案中,可以异步地(其中随后返回结果)或同步地(其中立即返回结果)处理这些请求。
仍参考图2,在实施方案中,上文所论述的API请求中的至少一些是由作为前端208的部件的API请求处理机218来处理。例如,API请求处理机218可以解码和/或解析传入API请求以提取信息(诸如统一资源识别符(“URI”)、请求的动作和相关参数、身份信息、数据对象识别符等)。此外,必要时API请求处理机218调用其它服务(下文所描述)以进一步处理API请求。
在实施方案中,前端208包括可以例如被API处理机218调用以认证API请求的认证服务220。例如,在一些实施方案中,认证服务220可以验证通过API请求提交的身份信息,诸如用户名称和密码、互联网协议(“IP”)地址、信息记录程序、数字证书、数字签名等。在其它实施方案中,认证服务220可以要求客户在挑战-响应认证协议等下提供额外信息或执行额外步骤以认证请求,诸如在多因素认证方案中所要求的。
在实施方案中,前端208包括可以例如被API处理机218调用以根据确定与请求相关的一个或多个政策确定是否容许请求的访问的授权服务222。例如,在一个实施方案中,授权服务222验证请求的数据涉及请求者自身的逻辑数据容器中容纳的数据对象或依其它方式授权请求者访问的数据对象。在一些实施方案中,前端208的授权服务222或其它服务可以至少部分地基于请求中编码的信息(诸如通过数据对象识别符编码的证实信息)检查数据请求的有效性和完整性。
在实施方案中,前端208包括监控每个客户的服务使用信息(诸如使用的数据存储空间、存储的数据对象的数量、处理的数据请求等)的计量服务224。在实施方案中,前端208还包括例如基于由计量服务224收集的计量信息、客户帐户信息等执行计帐和计费相关功能的计帐服务226。例如,基于由客户使用的存储空间、数据对象的大小和数量、提交的请求的类型和数量、客户帐户类型、服务水平协议等,可以对客户收取费用。
在实施方案中,前端208批量处理一些或所有传入请求。例如,在处理(例如,认证、授权、计帐等)请求之前,前端208可以一直等待直到已接收特定数量的请求为止。传入请求的这个批量处理可以用来增大效率。
在一些实施方案中,前端208可以调用由归档数据存储系统的其他子系统提供的服务以进一步处理API请求。例如,前端208可以调用元数据平面216中的服务以完成元数据请求。对于另一实例,前端208可以分别对于数据存储请求和数据检索请求将数据流式传输进出直接I/O控制平面210。
现参考图2中所示的直接I/O控制平面210,在各个实施方案中,直接I/O控制平面210提供创建、追踪和管理因为客户请求创建的作业的服务。如上文所论述,作业指代可以对开始的请求异步地执行的客户开始的活动,诸如数据检索、存储、元数据询问等。在实施方案中,直接I/O控制平面210包括被配置来创建对应于客户请求(诸如从API请求处理机218接收的客户请求)的作业记录或实体且监控作业执行的作业追踪器230。在各个实施方案中,作业记录可以包括与作业执行相关的信息,诸如客户帐户识别符、作业识别符、数据对象识别符、对有效负载数据缓存228(下文所描述)的参考、作业状态、数据证实信息等。在一些实施方案中,作业追踪器230可以收集从多个请求构建作业记录必需的信息。例如,当请求存储大量数据时,数据上传可以分解成多个请求,每个请求上传数据中的一部分。在这种情况中,作业追踪器230可以维持信息以保持追踪上传状态以确保在创建作业记录之前已接收所有数据部件。在一些实施方案中,作业追踪器230还获得与将存储的数据相关的数据对象识别符且将数据对象识别符例如提供到前端服务以返回到客户。在实施方案中,可以从数据平面214服务(诸如下文所描述的存储节点管理器244、存储节点注册服务器248等)获得这个数据对象识别符。
在一些实施方案中,直接I/O控制平面210包括用于存储作业实体或记录的作业追踪器存储区232。在各个实施方案中,作业追踪器存储区230可以由NoSQL数据管理系统(诸如密钥值数据存储区)、关系数据库管理系统(“RDBMS”)或任何其它数据存储系统来实施。在一些实施方案中,可以划分存储在作业追踪器存储区230中的数据以使能够由单独服务实例快速枚举属于具体客户的作业、促进有效批量记录删除、并行处理等。例如,作业追踪器存储区230可以实施根据客户帐户识别符划分且将作业识别符用作范围关键字的表。在实施方案中,作业追踪器存储区230基于时间(诸如作业截止时间)进行进一步细化划分以促进作业截止和清除操作。在实施方案中,可以聚合对作业追踪器存储区232进行的事务以减少总事务数量。例如,在一些实施方案中,作业追踪器230可以在将对应于多个请求的多个作业插入到作业追踪器存储区232中之前执行将多个作业聚合成一个单一聚合作业。
在实施方案中,作业追踪器230被配置来提交作业以例如由共同控制平面212中的服务进行进一步作业调度和规划。此外,作业追踪器230可以被配置来监控作业执行且在作业完成时于作业追踪器存储区232中更新对应作业记录。在一些实施方案中,作业追踪器230还可以被配置来处理客户询问,诸如作业状态询问。在一些实施方案中,作业追踪器230还将作业状态变更的通知提供到客户或归档数据存储系统的其它服务。例如,当数据检索作业完成时,作业追踪器230可以造成向客户通知(例如,使用通知服务)数据可用于下载。作为另一实例,当数据存储作业完成时,作业追踪器230可以通知清除代理234从下文所描述的瞬态有效负载数据缓存228移除与数据存储作业相关的有效负载数据。
在实施方案中,直接I/O控制平面210包括用于对在数据平面214与前端208之间的有效负载数据中转提供瞬态数据存储服务的有效负载数据缓存228。这个数据包括传入的数据未决存储和传出的数据未决客户下载。如本文中所使用,瞬态数据存储区与暂时或分级数据存储区可交换地用来指代用来在将数据对象存储在本文中所描述的归档数据存储装置中之前存储数据对象或用来存储从归档数据存储装置检索的数据对象的数据存储区。瞬态数据存储区可以提供易失性或非易失性(耐久)存储。在多数实施方案中,虽然可能用于持久地存储数据,但瞬态数据存储区希望存储数据达短于归档数据存储系统的时间周期且可能不比本文中所描述的数据归档存储系统具成本效益。在一个实施方案中,被提供用于传入数据和传输数据的瞬态数据存储服务是可以区分的。例如,用于尚未存留在归档数据存储装置中的传入数据的数据存储装置可以提供高于用于已存留在归档数据存储装置中的传出(检索的)数据的数据存储装置的可靠度和耐久度。在另一实施方案中,对于传入数据,瞬态存储装置可是可选的,即,例如当存在具有足够带宽和/或容量来这样做的系统时,传入数据可以直接存储在归档数据存储装置中而非存储在瞬态数据存储装置(诸如有效负载数据缓存228)中。
在实施方案中,直接I/O控制平面210还包括监控作业追踪器存储区232和/或有效负载数据缓存228且移除不再需要的数据的清除代理234。例如,与数据存储请求相关的有效负载数据可以在所述数据存留在永久存储装置(例如,数据平面214)中之后安全地从有效负载数据缓存228移除。在相反路径上,对于客户下载分级的数据可以在可配置时间周期之后(例如,自数据分级起30天)或在客户指示不再需要分级的数据之后从有效负载数据缓存228移除。
在一些实施方案中,当作业状态指示作业完成或中止时,清除代理234从作业追踪器存储区232移除作业记录。如上文所论述,在一些实施方案中,可以划分作业追踪器存储区232以使能够实现更快速清除。在通过客户帐户识别符划分数据的一个实施方案中,当作业完成时,清除代理234可以移除存储特定客户帐户作业的整个表而非每次一个地删除个别作业。在基于作业截止时间进一步细化划分数据的另一实施方案中,在分区中的所有作业截止之后,清除代理234可以批量删除整个作业分区或表。在其它实施方案中,清除代理234可以从其它服务(诸如作业追踪器230)接收造成清除代理234从作业追踪器存储区232和/或有效负载数据缓存228移除作业记录的指令或控制消息(诸如作业完成的指示)。
现参考图2中所示的共同控制平面212。在各个实施方案中,共同控制平面212提供基于队列的负载均衡服务以将峰值抑制到来自I/O控制平面210的平均负载水平(作业)且将可管理工作负载递送到数据平面214。在实施方案中,共同控制平面212包括用于接收由上文所描述的直接I/O控制平面210中的作业追踪器230创建的作业的作业请求队列236、来自数据平面214的服务(例如,存储节点管理器244)检取将执行的工作所用的存储节点管理器作业存储区240和用于依智能方式将作业项目从作业请求队列236传送到存储节点管理器作业存储区240的请求平衡器238。
在实施方案中,作业请求队列236提供用于将项目插入到队列(例如,先进先出(FIFO)或先进后出(FILO))、集或任何其它合适数据结构和从其移除项目的服务。作业请求队列236中的作业条目可以与存储在上文所描述的作业追踪器存储区232中的作业记录相似或不同。
在实施方案中,共同控制平面212还提供允许来自数据平面214的服务(例如,存储节点管理器244、反熵观察者252)执行作业规划优化、检查点设置和恢复的耐久高效作业存储的存储节点管理器作业存储区240。例如,在实施方案中,存储节点管理器作业存储区240通过支持扫描、询问、分类或依其它方式操控和管理存储在存储节点管理器作业存储区240中的作业项目来允许作业优化,诸如批量处理、操作合并等。在实施方案中,存储节点管理器244扫描传入作业且通过数据操作类型(例如,读取、写入或删除)、存储位置(例如,卷、磁盘)、客户帐户识别符等对作业分类。接着,存储节点管理器244可以成批地对作业进行重新排序、合并、分组或依其它方式操控和调度作业用于处理。例如,在一个实施方案中,存储节点管理器244可以在所有读取和删除操作之前批量处理所有写入操作。在另一实施方案中,存储节点管理器224可以执行操作合并。对于另一实例,存储节点管理器224可以将相同对象的多个检索作业合并成一个作业,或取消相同数据对象的存储作业和删除作业,其中删除作业紧随存储作业之后。
在实施方案中,例如,基于作业识别符划分存储节点管理器作业存储区240以便允许多个存储节点管理器244的独立处理且对所有参与的存储节点管理器244提供传入工作负载的均匀分配。在各个实施方案中,存储节点管理器作业存储区240可以由NoSQL数据管理系统(诸如密钥值数据存储区)、RDBMS或任何其它数据存储系统来实施。
在实施方案中,请求平衡器238提供用于将作业项目从作业请求队列236传送到存储节点管理器作业存储区240以便消除工作负载变化和增大系统可用性的服务。例如,请求平衡器238可以在进入作业请求队列236的作业请求激增时依较低速率或依较小粒度从作业请求队列236传送作业项目和在传入作业请求缓和时反之亦然,以便维持存储节点管理器存储区240中的工作负载的水平相对稳定。在一些实施方案中,这个稳定的工作负载水平约等于或低于系统的平均工作负载。
在实施方案中,从存储节点管理器作业存储区240移除完成的作业项目并将其添加到作业结果队列242。在实施方案中,数据平面214服务(例如,存储节点管理器244)负责从存储节点管理器作业存储区240移除作业项目并将其添加到作业结果队列242。在一些实施方案中,作业请求队列242是依与上文所论述的作业请求队列235相似的方式实施。
现参考图2中所示的数据平面214。在各个实施方案中,数据平面214提供与长期归档数据存储、检索和删除、数据管理和放置、反熵操作等相关的服务。在各个实施方案中,数据平面214可以包括任何数量和类型的存储实体,诸如数据存储装置(诸如磁带驱动器、硬盘驱动器、固态装置等)、存储节点或服务器、数据中心等。这些存储实体可以是物理实体、虚拟实体或其任何抽象实体(例如,分布式存储装置和/或计算系统的实例)且可以组织成任何拓扑,包括阶层式或层列式拓扑。相似地,数据平面的组件可以是散布的、本地的或其任何组合。例如,各种计算或存储组件可以在任何数量的数据中心、服务器或数据存储装置的本地或远端,其转而可以在彼此的本地或远端。在各个实施方案中,可以设计物理存储实体以通过控制运行的物理硬件的部分(例如,积极旋转的硬盘驱动器的数量)而最小化电力成本和制冷成本。在实施方案中,物理存储实体实施用来增大存储容量的技术,诸如叠瓦式磁记录(SMR)。
在由图2所示的环境中,一个或多个存储节点管理器244中的每个通过发送和接收数据和控制消息而控制一个或多个存储节点246。每个存储节点246继而控制数据存储装置(诸如硬盘驱动器)的(可能大的)集合。在各个实施方案中,存储节点管理器244可以与一个或多个存储节点246进行通信且存储节点246可以与一个或多个存储节点管理器244进行通信。在实施方案中,存储节点管理器244是由能够执行相对较复杂的计算(诸如摘要计算、数据编码和解码、作业规划和优化等)的一个或多个计算装置来实施。在一些实施方案中,存储节点244是由具有比存储节点管理244小的强大计算能力的一个或多个计算装置来实施。此外,在一些实施方案中,在数据路径中可以不包括存储节点管理器244。例如,数据可以从有效负载数据缓存228直接传输到存储节点246或从一个或多个存储节点246传输到有效负载数据缓存228。依此方式,存储节点管理器244可以将指令传输到有效负载数据缓存228和/或存储节点246而不从有效负载数据缓存228和/或存储节点246直接接收有效负载。在各个实施方案中,存储节点管理器244可以将指令或控制消息发送到本文中所描述的归档数据存储系统206的任何其它组件以引导数据流动。
在实施方案中,存储节点管理器244通过以下步骤用作作业进出数据平面214的入口点:从共同控制平面212(例如,存储节点管理器作业存储区240)拾取作业项目、从有效负载数据缓存228检索分级的数据和执行数据存储作业的必需数据编码和请求适当存储节点246存储、检索或删除数据。一旦存储节点246完成执行请求的数据操作,那么存储节点管理器244可以执行额外处理(诸如数据解码和将检索的数据存储在有效负载数据缓存228中用于数据检索作业),和更新共同控制平面212中的作业记录(例如,从存储节点管理器作业存储区240移除完成的作业并将其添加到作业结果队列242)。
在实施方案中,在数据存储之前,存储节点管理器244根据一个或多个数据编码方案执行数据编码以提供数据冗余、安全性等。这些数据编码方案可以包括加密方案、冗余编码方案,诸如擦除编码、独立磁盘冗余阵列(RAID)编码方案、复制等。同样地,在实施方案中,在数据检索之后,存储节点管理器244执行对应数据解码方案(诸如解密、擦除解码等)以恢复原始数据。
如上文结合存储节点管理器作业存储区240所论述,存储节点管理器244可以实施作业规划和优化(诸如批量处理、操作合并等)以增大效率。在一些实施方案中,在存储节点管理器之间划分作业使得所述分区之间存在很小重叠或不存在重叠。这些实施方案例如通过减小竞争或锁定的概率而促进由多个存储节点管理器进行并行处理。
在各个实施方案中,实施数据平面214以促进数据完整性。例如,处理批量数据流动的存储实体(诸如存储节点管理器244和/或存储节点246)可以证实存储的或检索的数据的摘要、检查错误检测码以确保元数据完整性等。
在各个实施方案中,实施数据平面214以促进归档数据存储系统的可扩展性和可靠度。例如,在一个实施方案中,存储节点管理器244不维持内部状态或维持很小的内部状态使得其可被添加、移除或取代而具有很小不利影响。在一个实施方案中,每个存储装置是能够提供关于存储在其上的数据的信息的自含式且自描述的存储单元。这个信息可以用来在数据丢失的情况下促进数据恢复。此外,在一个实施方案中,每个存储节点246能够收集和报告关于存储节点的信息,包括存储节点的网络位置和连接到一个或多个存储节点注册服务器248和/或存储节点注册服务器存储区250的存储装置的存储信息。在一些实施方案中,存储节点246在系统启动时执行这个自报告且周期性地提供更新信息。在各个实施方案中,这个自报告方法提供动态且最新的目录信息而无需维持可实质上在大量数据对象存储在归档数据系统中时增大的全局名称空间密钥映射或索引。
在实施方案中,数据平面214还可以包括提供存储实体及其存储的数据的目录信息、数据放置服务等的一个或多个存储节点注册服务器248。存储节点注册服务器248可以与提供存储用于存储节点注册服务器248的一个或多个存储节点注册服务器存储区250通信且充当至其的前端服务。在各个实施方案中,存储节点注册服务器存储区250可以由NoSQL数据管理系统(诸如密钥值数据存储区)、RDBMS或任何其它数据存储系统来实施。在一些实施方案中,可以划分存储节点注册服务器存储区250以使能够由多个服务实例进行并行处理。如上文所论述,在实施方案中,存储在存储节点注册服务器存储区250处的信息至少部分地基于由存储节点246自身报告的信息。
在一些实施方案中,存储节点注册服务器248将目录服务提供到例如想要确定联系哪些存储节点246用于数据存储、检索和删除操作的存储节点管理器244。例如,给出由存储节点管理器244提供的卷识别符,存储节点注册服务器248可以基于存储节点注册服务器存储区250中维持的映射提供主控对应于卷识别符的卷成分的存储节点的清单。具体来说,在一个实施方案中,存储节点注册服务器存储区250存储卷识别符或卷成分的清单与主控卷或卷成分的存储节点的端点(诸如域名系统(DNS)名称)之间的映射。
如本文中所使用,“卷”指代可以存储数据对象的数据存储系统内的逻辑存储空间。卷可以通过卷识别符来识别。卷可以驻留在一个物理存储装置(例如,硬盘)或横跨多个存储装置。在后一情况中,卷包括多个卷成分,每个卷成分驻留在不同存储装置上。如本文中所使用,“卷成分”指代物理地存储在存储实体(诸如存储装置)中的卷中的一部分。相同卷的卷成分可以存储在不同存储实体上。在一个实施方案中,当数据通过冗余编码方案(例如,擦除编码方案、RAID、复制)进行编码时,每个编码的数据成分或“分片(shard)”可以存储在不同卷组分中以提供故障容限和隔离。在一些实施方案中,卷成分是通过包括卷识别符和分片时隙识别符的卷成分识别符来识别。如本文中所使用,在冗余编码方案中,分片时隙识别特定数据分片、行或条带。例如,在一个实施方案中,分片时隙对应于擦除编码矩阵行。在一些实施方案中,存储节点注册服务器存储区250还存储关于卷或卷成分的信息,诸如总空间、使用的空间和自由空间、存储的数据对象的数量等。
在一些实施方案中,数据平面214还包括存储分配器256,其用于至少部分地基于由存储节点注册服务器存储区250维持的信息对存储节点上的存储空间(例如,卷)进行分配以存储新数据对象,以满足数据隔离和故障容限约束。在一些实施方案中,存储分配器256需要人工干预。
在一些实施方案中,数据平面214还包括用于检测熵效应和开始反熵校正例程的反熵观察者252。例如,反熵观察者252可以负责监控所有存储实体(诸如存储节点)的活动和状态、调解活数据或实际数据与维持的数据等。在各个实施方案中,熵效应包括但不限于归因于由重复的写入和重写循环产生的数据碎裂、(例如,磁介质的)硬件磨损的性能退化;归因于硬件/软件故障、环境因素、硬件的物理破坏、随机机会或其它原因的数据不可用性和/或数据丢失。反熵观察者252可以检测这些效应且在一些实施方案中可以抢先地和/或反应性地制定反熵校正例程和/或政策。
在实施方案中,反熵观察者252造成存储节点246对连接到存储节点的存储装置执行周期性反熵扫描。反熵观察者252还可以将请求注入作业请求队列236(和随后作业结果队列242)中以收集信息、恢复数据等。在一些实施方案中,反熵观察者252可以例如对下文所描述的冷索引存储区262和存储节点246执行扫描以确保参考完整性。
在实施方案中,由各种服务(诸如存储节点注册服务器248、存储分配器256、反熵观察者252等)使用存储在存储节点注册服务器存储区250处的信息。例如,存储节点注册服务器248可以在数据存储、检索和删除期间提供数据位置和放置服务(例如,到存储节点管理器244)。例如,给出将存储的数据对象的大小和由存储节点注册服务器存储区250维持的信息,存储节点注册服务器248可以确定将数据对象存储到何处(例如,卷)且提供可以用来生成与数据对象相关的数据对象识别符的数据对象存储位置的指示。作为另一实例,在实施方案中,存储分配器256使用存储在存储节点注册服务器存储区250中的信息来在具体存储节点中创建并放置新卷的卷成分以满足隔离和故障容限约束。作为又一实例,在实施方案中,反熵观察者252使用存储在存储节点注册服务器存储区250中的信息来检测熵效应,诸如数据丢失、硬件故障等。
在一些实施方案中,数据平面214还包括用来追踪存储系统中的孤立数据的孤立数据清除数据存储区254。如本文中所使用,孤立数据是不被任何外部实体参考的存储数据对象。在各个实施方案中,孤立数据清除数据存储区254可以由NoSQL数据管理系统(诸如密钥值数据存储区)、RDBMS或任何其它数据存储系统来实施。在一些实施方案中,存储节点注册服务器248将对象放置信息存储在孤立数据清除数据存储区254中。随后,可以例如由反熵观察者252比较存储在孤立数据清除数据存储区254中的信息与维持在元数据平面216中的信息。在一些实施方案中,如果检测到孤立数据,那么将请求插入共同控制平面212中以删除孤立数据。
现参考图2中所示的元数据平面216。在各个实施方案中,元数据平面216出于目录和计帐目的提供关于存储在系统中的数据对象的信息,以满足客户元数据查询等。在所示实施方案中,元数据平面216包括基于来自共同控制平面212中的作业结果队列242的条目存储关于执行的事务的信息的元数据管理器作业存储区258。在各个实施方案中,元数据管理器作业存储区258可以由NoSQL数据管理系统(诸如密钥值数据存储区)、RDBMS或任何其它数据存储系统来实施。在一些实施方案中,例如基于逻辑数据容器划分和细化划分元数据管理器作业存储区258以促进由多个服务实例(诸如元数据管理器260)进行并行处理。
在说明性实施方案中,元数据平面216还包括用于基于元数据管理器作业存储区258中的记录生成数据对象的冷索引(例如,存储在冷索引存储区262中)的一个或多个元数据管理器260。如本文中所使用,“冷”索引指代很少更新的索引。在各个实施方案中,维持冷索引以降低成本开销。在一些实施方案中,多个元数据管理器260可以周期性地并行读取和处理来自元数据管理器作业存储区258中的不同分区的记录并将结果存储在冷索引存储区262中。
在一些实施方案中,冷索引存储区262可以由可靠且耐久的数据存储服务来实施。在一些实施方案中,冷索引存储区262被配置来处理由客户开始的元数据请求。例如,客户可以发布列举给出逻辑数据容器中容纳的所有数据对象的请求。响应于这个请求,冷索引存储区262可以基于由冷索引262维持的信息提供逻辑数据容器中容纳的所有数据对象的识别符的清单。在一些实施方案中,操作可能要花相对较长的时间周期且当作业完成时可以对客户提供用来检索结果的作业识别符。在其它实施方案中,冷索引存储区262被配置来出于库存、计帐和计费目的处理来自其它服务(例如来自前端208)的查询。
在一些实施方案中,元数据平面216还可以包括存储关于逻辑数据容器的信息(诸如容器所有权、政策、使用等)的容器元数据存储区264。这个信息可以例如被前端208服务用来执行授权、计量、计帐等。在各个实施方案中,容器元数据存储区264可以由NoSQL数据管理系统(诸如密钥值数据存储区)、RDBMS或任何其它数据存储系统来实施。
如本文中所描述,在各个实施方案中,本文中所描述的归档数据存储系统206被实施成高效且可扩展。例如,在实施方案中,批量处理和请求合并在各个阶段(例如,前端请求处理、控制平面作业请求处理、数据平面数据请求处理)被用来改进效率。对于另一实例,在实施方案中,划分元数据(诸如作业、请求等)的处理以促进由多个服务实例进行分区的并行处理。
在实施方案中,存储在归档数据存储系统中的数据元素(诸如下文所描述的数据成分、卷)是自描述以免需要全局索引数据结构。例如,在实施方案中,存储在系统中的数据对象可以通过编码存储位置信息的数据对象识别符来寻址。对于另一实例,在实施方案中,卷可以存储关于哪些数据对象存储在卷中的信息,且存储这些卷的存储节点和装置可以共同地报告其库存和硬件信息以提供存储在系统中的数据的全局观点(诸如由存储在存储节点注册服务器存储区250中的信息证明)。在这个实施方案中,全局观点仅出于效率目的而提供且无需定位存储在系统中的数据。
在各个实施方案中,实施本文中所描述的归档数据存储系统以改进数据可靠度和耐久度。例如,在实施方案中,将数据对象冗余编码成多个数据成分并跨不同数据存储实体进行存储以提供故障容限。对于另一实例,在实施方案中,数据元素具有多级完整性检查。在实施方案中,父/子关系始终具有用来确保完全参考完整性的额外信息。例如,在实施方案中,批量数据传输和存储路径是通过在传输之前使发起者预先计算数据摘要且随后将摘要随数据供应到接收器而受保护。数据传输的接收器负责重新计算、比较且接着向发送器确认包括重新计算的摘要。这些数据完整性检查可以例如由上文所描述的前端服务、瞬态数据存储服务、数据平面存储实体等来实施。
图3示出根据至少一个实施方案的可以连接归档数据存储系统的组件的互连网络300。特定来说,所示实例示出数据平面组件如何连接到互连网络300。在一些实施方案中,互连网络300可以包括胖树互连网络,其中链路带宽朝向树根越来越高或“越来越胖”。在所示实例中,数据平面包括一个或多个数据中心301。每个数据中心301可以包括一个或多个存储节点管理器服务器机柜302,其中每个服务器机柜主控共同地提供诸如结合图2所描述的存储节点管理器的功能的一个或多个服务器。在其它实施方案中,每个存储节点管理器服务器机柜可以主控一个以上存储节点管理器。可以基于诸如成本、可扩展性、冗余和性能要求、硬件和软件资源等因素确定配置参数,诸如每个机柜的存储节点管理器的数量、存储节点管理器机柜的数量等。
每个存储节点管理器服务器机柜302可以具有到用来连接到互连网络300的互连件308的存储节点管理器机柜连接314。在一些实施方案中,使用可以包括柜顶以太网交换机或任何其它类型的网络交换机的网络交换机303实施连接314。在各个实施方案中,互连件308用来实现高带宽和低延时批量数据传送。例如,互连件可以包括克洛斯(Clos)网络、胖树互连件、异步传送模式(ATM)网络、快速或千兆以太网等。
在各个实施方案中,存储节点管理器机柜连接314的带宽可以被配置来实现定位在相同或不同数据中心内的存储节点管理器与存储节点之间的高带宽和低延时通信。例如,在实施方案中,存储节点管理器机柜连接314具有每秒10千兆位(Gbps)的带宽。
在一些实施方案中,每个数据中心301还可以包括一个或多个存储节点服务器机柜304,其中每个服务器机柜主控共同地提供诸如结合图2中所描述的多个存储节点的功能的一个或多个服务器。可以基于诸如成本、可扩展性、冗余和性能要求、硬件和软件资源等因素确定配置参数,诸如每个机柜的存储节点的数量、存储节点机柜的数量、存储节点管理器与存储节点之间的比等。例如,在一个实施方案中,每个存储节点服务器机柜存在3个存储节点,每个数据中心存在30-80个机柜且存储节点/存储节点管理器的比是10:1。
每个存储节点服务器机柜304可以具有到用来连接到互连网络300的互连网络交换机308的存储节点机柜连接316。在一些实施方案中,使用可以包括柜顶以太网交换机或任何其它类型的网络交换机的网络交换机305实施连接316。在各个实施方案中,存储节点机柜连接316的带宽可以被配置来实现定位在相同或不同数据中心内的存储节点管理器与存储节点之间的高带宽和低延时通信。在一些实施方案中,存储节点机柜连接316具有高于存储节点管理器机柜连接314的带宽。例如,在实施方案中,存储节点机柜连接316具有20Gbps的带宽,而存储节点管理器机柜连接314具有10Gpbs的带宽。
在一些实施方案中,数据中心301(包括存储节点管理器和存储节点)经由连接310与其它计算资源服务306(诸如如结合图2所描述的有效负载数据缓存228、存储节点管理器作业存储区240、存储节点注册服务器248、存储节点注册服务器存储区350、孤立数据清除数据存储区254、元数据管理器作业存储区258等)进行通信。
在一些实施方案中,一个或多个数据中心301可以经由数据中心间连接312连接。在一些实施方案中,连接310和312可以被配置来达成硬件资源的有效操作和使用。例如,在实施方案中,每个数据中心的连接310具有30-100Gbps的带宽且数据中心间连接312具有100-250Gbps的带宽。
图4示出根据至少一个实施方案的可以连接归档数据存储系统的组件的互连网络400。特定来说,所示实例示出非数据平面组件如何连接到互连网络300。如所示,可以由一个或多个前端服务器机柜402主控诸如结合图2所描述的前端服务。例如,每个前端服务器机柜402可以主控一个或多个网页服务器。前端服务器机柜402可以经由网络交换机408连接到互连网络400。在一个实施方案中,配置参数(诸如前端服务的数量、每个机柜的服务的数量、前端服务器机柜连接314的带宽等)可以大致上对应于如结合图3所描述的存储节点管理器的配置参数。
在一些实施方案中,可以由一个或多个服务器机柜404主控如结合图2所描述的控制平面服务和元数据平面服务。这些服务可以包括作业追踪器230、元数据管理器260、清除代理232、作业请求平衡器238和其它服务。在一些实施方案中,这些服务包括不处理频繁批量数据传送的服务。最后,本文中所描述的组件可以经由连接410与其它计算资源服务406(诸如如结合图2所描述的有效负载数据缓存228、作业追踪器存储区232、元数据管理器作业存储区258等)进行通信。
图5示出根据至少一个实施方案的用于存储数据的示例性过程500。过程500中的一些或所有(或本文中所描述的任何其它过程或其变化和/或组合)可以在配置有可执行指令的一个或多个计算系统的控制下执行且可以实施为共同地在一个或多个处理器上执行的代码(例如,可执行指令、一个或多个计算机程序或一个或多个应用)、硬件或其组合。代码可以例如依计算机程序(包括可由一个或多个处理器执行的多个指令)的形式存储在计算机可读存储介质中。计算机可读存储介质可以是非暂时性的。在实施方案中,如结合图2所描述的归档数据存储系统206的一个或多个组件可以执行过程500。
在实施方案中,过程500包括接收存储归档数据(诸如文档、视频或音频文件等)的数据存储请求502。这个数据存储请求可以包括有效负载数据和元数据,诸如有效负载数据的大小和摘要、用户识别信息(例如,用户名称、帐户识别符等)、逻辑数据容器识别符等。在一些实施方案中,过程500可以包括接收502多个存储请求,每个存储请求包括较大有效负载数据中的一部分。在其它实施方案中,存储请求可以包括将上传的多个数据对象。在实施方案中,过程500的步骤502由服务(诸如如结合图2所描述的前端208的API请求处理机218)来实施。
在实施方案中,过程500包括在接收502请求时处理504存储请求。这个处理可以包括例如验证接收的数据的完整性、认证客户、根据访问控制政策授权请求的访问、执行计量和计帐相关活动等。在实施方案中,这个处理可以由诸如结合图2所描述的前端208的服务来执行。在实施方案中,这个请求可以结合其它请求例如依批量模式进行处理。
在实施方案中,过程500包括将与存储请求相关的数据存储506在分级数据存储区中。这个分级数据存储区可以包括诸如由如结合图2所描述的有效负载数据缓存228提供的瞬态数据存储区。在一些实施方案中,仅有效负载数据存储在分级存储区中。在其它实施方案中,与有效负载数据相关的元数据还可以存储在分级存储区中。在实施方案中,数据完整性在存储在分级数据存储区处之前得以验证(例如,基于摘要)。
在实施方案中,过程500包括例如响应于存储请求而提供508与将存储的数据相关的数据对象识别符。如上文所描述,数据对象识别符可以被后续请求用来检索、删除或依其它方式参考存储的数据。在实施方案中,数据对象识别符可以编码可以用来定位存储的数据对象的存储位置信息、可以用来证实有效负载数据完整性的有效负载证实信息(诸如大小、摘要、时间戳记等)、可以用来证实元数据(诸如数据对象识别符自身)完整性的元数据证实信息(诸如错误检测码)和数据对象识别符中编码的信息等。在实施方案中,数据对象识别符还可以编码用来证实或授权后续客户请求的信息。例如,数据对象识别符可以编码存储数据对象的逻辑数据容器的识别符。在检索这个数据对象的后续请求中,逻辑数据容器识别符可以用来确定请求实体是否有权访问逻辑数据容器且因此容纳在其中的数据对象。在一些实施方案中,数据对象识别符可以基于由客户供应的信息(例如,数据对象的全局唯一识别符(GUID)等)和/或由执行过程500的系统收集或计算的信息(例如,存储位置信息)编码信息。在一些实施方案中,生成数据对象识别符可以包括使用加密私人密钥对上文所描述的信息中的一些或所有进行加密。在一些实施方案中,可以周期性地旋转加密私人密钥。在一些实施方案中,可以在与上文所描述不同的时间生成和/或提供数据对象识别符。例如,可以在创建和/或完成存储作业(下文所描述)之后生成和/或提供数据对象识别符。
在实施方案中,提供508数据对象识别符可以包括在数据实际上存储在存储位置之前确定所述存储位置。例如,这个确定可以至少部分地基于关于既有数据存储实体的库存信息,诸如操作状态(例如,运行或不运行)、可用存储空间、数据隔离要求等。在诸如由图2所示的环境200的环境中,这个确定可以由诸如如上文结合图2所描述的存储节点注册服务器248的服务来实施。在一些实施方案中,这个确定可以包括由诸如如结合图2所描述的存储分配器256的服务分配一个或多个物理存储装置上的新存储空间(例如,卷)。
在实施方案中,可以生成用来表示上文所确定的存储位置的存储位置识别符。这个存储位置识别符可以包括例如卷参考对象,其包括卷识别符成分和数据对象识别符成分。卷参考成分可以识别存储数据的卷且数据对象识别符成分可以识别数据存储在卷中的何处。大体来说,存储位置识别符可以包括识别组织数据的逻辑或物理数据存储拓扑(诸如阶层)内的各种级的成分。在一些实施方案中,存储位置识别符可以指明实际有效负载数据存储到何处或对存储数据之处的参考的链。
在实施方案中,数据对象识别符编码将存储的数据(诸如有效负载数据)中的至少一部分的摘要(例如,散列)。在一些实施方案中,摘要可以至少部分地基于客户提供的摘要。在其它实施方案中,可以基于有效负载数据从头计算摘要。
在实施方案中,过程500包括创建510存储作业用于存留数据到长期数据存储区和调度512存储作业用于执行。在如结合图2所描述的环境200中,步骤508、510和512可以至少部分地由如上文所描述的直接I/O控制平面210和共同控制平面212的组件来实施。具体来说,在实施方案中,作业追踪器230创建作业记录并将作业记录存储在作业追踪器存储区232中。如上文所描述,作业追踪器230可以执行批量处理以减少对作业追踪器存储区232进行的事务的总次数。此外,可以划分或依其它方式优化作业追踪器存储区232以促进并行处理、清除操作等。如上文所描述的作业记录可以包括作业相关信息,诸如客户帐户识别符、作业识别符、存储位置识别符、对存储在有效负载数据缓存228中的数据的参考、作业状态、作业创建和/或截止时间等。在一些实施方案中,可以在生成和/或提供数据对象识别符之前创建存储作业。例如,代替数据对象识别符或除数据对象识别符以外,还可以响应于存储请求而在上述步骤508处提供存储作业识别符
在实施方案中,调度512存储作业用于执行包括执行作业规划和优化,诸如如结合图2的共同控制平面212所描述的基于队列的负载均衡或平衡、作业划分等。例如,在实施方案中,作业请求平衡器238根据调度算法将作业项目从作业请求队列236传送到存储节点管理器作业存储区240以将峰值抑制到来自I/O控制平面210的平均负载水平(作业)且将可管理工作负载递送到数据平面214。作为另一实例,可以划分存储节点管理器作业存储区240以促进由多个工作者(诸如存储节点管理器244)并行处理作业。作为又一实例,存储节点管理器作业存储区240可以提供询问、分类和其它功能以促进批量处理和其它作业优化。
在实施方案中,过程500包括例如由存储节点管理244选择514来自如结合图2所描述的存储节点管理器作业存储区240的存储作业用于执行。存储作业可以与其它作业被选择514用于批量处理或因为上文所描述的作业规划和优化而依其它方式被选择。
在实施方案中,过程500包括从分级存储区(诸如上文结合图2所描述的有效负载数据缓存228)获得516数据。在一些实施方案中,数据完整性可以例如通过验证大小、摘要、错误检测码等进行检查。
在实施方案中,过程500包括获得518一个或多个数据编码方案,诸如加密方案、冗余编码方案,诸如擦除编码、独立磁盘冗余阵列(RAID)编码方案、复制等。在一些实施方案中,这些编码方案演变为适于不同要求。例如,加密密钥可以周期性地旋转且擦除编码方案的伸展因子可以随时间调整到不同硬件配置、冗余要求等。
在实施方案中,过程500包括使用获得的编码方案进行编码520。例如,在实施方案中,对数据加密且对加密的数据进行擦除编码。在实施方案中,结合图2所描述的存储节点管理器244可以被配置来执行本文中所描述的数据编码。在实施方案中,这些编码方案的应用生成多个编码的数据成分或分片,其可以跨不同存储实体(诸如存储装置、存储节点、数据中心等)存储以提供故障容限。在数据可以包括多个部件(诸如在多部件上传的情况中)的实施方案中,每个部件可以如本文中所描述般编码和存储。在这个实施方案中,数据中的每个部件可以通过与该数据相关的数据对象识别符相同的数据对象识别符来识别和寻址。
在实施方案中,过程500包括确定522这些编码的数据成分的存储实体。例如,在由图2所示的环境200中,存储节点管理器244可以通过使用卷识别符询问存储节点注册服务器248而确定用来存储编码的数据成分的多个存储节点246。这个卷识别符可以是与将存储的数据相关的存储位置识别符的部件。在实施方案中,响应于使用给出卷识别符进行询问,存储节点注册服务器248返回用来存储编码的数据成分的存储节点246的网络位置(包括端点、DNS名称、IP地址等)的清单。如结合图2所描述,存储节点注册服务器248可以基于来自存储节点246自身的自报告的和动态提供的和/或更新的库存信息确定这个清单。在一些实施方案中,这个确定基于数据隔离、故障容限、负载平衡、电力节省、数据局部性和其它考虑因素。在一些实施方案中,存储注册服务器248可以造成例如通过调用如结合图2所描述的存储分配器256而分配新存储空间。
在实施方案中,过程500包括造成524将编码的数据成分存储在确定的存储实体处。例如,在由图2所示的环境200中,存储节点管理器244可以请求上文确定的存储节点246中的每个将数据成分存储在给出存储位置处。存储节点246中的每个在从存储节点管理器244接收存储数据成分的存储请求之后可以造成数据成分存储在连接的存储装置中。在一些实施方案中,数据对象识别符中的至少一部分依编码的或未编码的形式与数据成分中的所有或一些存储在一起。例如,数据对象识别符可以存储在每个数据成分的标头中和/或存储在卷成分中存储的卷成分索引中。在一些实施方案中,存储节点246可以执行批量处理或其它优化以处理来自存储节点管理器244的请求。
在实施方案中,存储节点246将指示是否成功地存储数据的确认发送到请求存储节点管理器244。在一些实施方案中,当出于某个原因请求无法完成时,存储节点246返回错误消息。例如,如果存储节点接收存储到相同存储位置的两个请求,那么一个或两个请求可能失败。在实施方案中,存储节点246在存储数据之前执行证实检查且如果证实检查失败,那么返回错误。例如,数据完整性可以通过检查错误检测码或摘要进行验证。作为另一实例,存储节点246可以例如基于卷索引验证由存储请求识别的卷被存储节点存储和/或卷具有用来存储数据成分的足够空间。
在一些实施方案中,当存储节点管理器244从请求的存储节点246的至少一个子集(存储法定集合)接收肯定确认时,认为数据存储已成功。在一些实施方案中,存储节点管理器244可以等到接收法定集合确认为止才移除重试作业必需的状态。这个状态信息可以包括未接收其确认的编码数据成分。在其它实施方案中,为改进吞吐量,存储节点管理器244可以在接收确认的法定集合之前移除重试作业必需的状态。
在实施方案中,过程500包括更新526元数据信息,包括例如由数据平面214维持的元数据(诸如用于存储装置的索引和存储空间信息、存储在存储节点注册服务器存储区250处的映射信息等)、由控制平面210和212维持的元数据(诸如作业相关信息)、由元数据平面216维持的元数据(诸如冷索引)等。在各个实施方案中,此类元数据信息中的一些可以经由批量处理和/或定期地更新以降低性能和成本影响。例如,在数据平面214中,可以更新由存储节点注册服务器存储区250维持的信息以提供新存储的数据的卷识别符和存储数据成分的存储节点246的额外映射,如果这个映射不存在的话。对于另一实例,可以更新存储装置的卷索引以反映新添加的数据成分。
在共同控制平面212中,完成的作业的作业条目可以从存储节点管理器作业存储区240移除并添加到作业结果队列242,如结合图2所描述。在直接I/O控制平面210中,作业追踪器存储区232中的作业记录的状态可以例如通过监控作业结果队列242的作业追踪器230来更新。在各个实施方案中,无法完成的作业可以重试多次。例如,在实施方案中,可以创建新作业以将数据存储在不同位置处。作为另一实例,可以更新既有作业记录(例如,在存储节点管理器作业存储区240、作业追踪器存储区232等中)以促进相同作业的重试。
在元数据平面216中,可以更新元数据以反映新存储的数据。例如,完成的作业可以从作业结果队列242推送到元数据管理器作业存储区258且由元数据管理器260进行批量处理以生成诸如存储在冷索引存储区262中的更新索引。对于另一实例,出于计量和计帐目的,可以更新客户信息以反映变更。
最后,在一些实施方案中,一旦成功地完成存储作业,那么可以例如由如结合图2所描述的清除代理234移除与存储作业相关的作业记录、有效负载数据和其它数据。在一些实施方案中,这个移除可以通过批量处理、并行处理等来处理。
图6示出根据至少一个实施方案的用于检索数据的示例性过程500。在实施方案中,如结合图2所描述的归档数据存储系统206的一个或多个组件共同地执行过程600。
在实施方案中,过程600包括接收602检索通过上文所描述的过程500存储的数据的数据检索请求。这个数据检索请求可以包括诸如通过上文所描述的过程500的步骤508提供的数据对象识别符或可以用来识别将检索的数据的任何其它信息。
在实施方案中,过程600包括在接收602请求之后处理604数据检索请求。这个处理可以包括例如认证客户、根据访问控制政策授权请求的访问、执行计量和计帐相关活动等。在实施方案中,这个处理可以由诸如结合图2所描述的前端208的服务来执行。在实施方案中,这个请求可以结合其它请求例如依批量模式进行处理。
在实施方案中,处理604检索请求可以至少部分地基于检索请求中包括的数据对象识别符。如上文所描述,数据对象识别符可以编码存储位置信息、有效负载证实信息(诸如大小、创建时间戳记、有效负载摘要等)、元数据证实信息、政策信息等。在实施方案中,处理604检索请求包括例如使用私人加密密钥和使用用来证实检索请求的解码信息中的至少一些解码数据对象识别符中编码的信息。例如,政策信息可以包括可以用来证实检索请求的请求实体具有执行请求的访问的所要权限的访问控制信息。作为另一实例,元数据证实信息可以包括可以用来验证数据对象识别符或其成分的完整性的错误检测码,诸如循环冗余检查(“CRC”)。
在实施方案中,过程600包括创建606对应于数据检索请求的数据检索作业和例如响应于数据检索请求而提供608与数据检索作业相关的作业识别符。在一些实施方案中,创建606数据检索作业与如结合图5中所示的过程500的步骤510所描述般创建数据存储作业相似。例如,在实施方案中,作业追踪器230可以创建包括数据对象识别符中编码的至少某个信息和/或额外信息(诸如作业截止时间等)的作业记录并将作业记录存储在作业追踪器存储区232中。如上文所描述,作业追踪器230可以执行批量处理以减少对作业追踪器存储区232进行的事务的总次数。此外,可以划分或依其它方式优化作业追踪器存储区232以促进并行处理、清除操作等。
在实施方案中,过程600包括调度610上述创建的数据检索作业。在一些实施方案中,调度610数据检索作业用于执行包括诸如结合图5的过程500的步骤512所描述般执行作业规划和优化。例如,数据检索作业可以提交到作业队列中且被调度用于至少部分地基于成本、电力管理调度等而结合其它作业一起进行批量处理。对于另一实例,数据检索作业可以基于数据局部性等而与其它检索作业合并在一起。
在实施方案中,过程600包括例如由存储节点管理器244选择612来自如结合图2所描述的存储节点管理器作业存储区240的数据检索作业用于执行。检索作业可以与其它作业一起被选择612用于批量处理或因为上文所描述的作业规划和优化而依其它方式被选择。
在实施方案中,过程600包括确定614存储通过存储过程(诸如上文所描述的过程500)生成的编码数据成分的存储实体。在实施方案中,存储节点管理器244可以以与结合上述过程500的步骤522所论述相似的方式确定多个存储节点246以检索编码数据成分。例如,这个确定可以基于负载平衡、电力节省、效率和其它考虑因素。
在实施方案中,过程600包括确定616可以用来解码检索的数据的一个或多个数据解码方案。通常,这些解码方案对应于在先前存储原始数据时应用于原始数据的编码方案。例如,这些解码方案可以包括使用加密密钥解密、擦除解码等。
在实施方案中,过程600包括造成618从在过程600的步骤614中确定的存储实体检索编码数据成分中的至少一些。例如,在由图2所示的环境200中,负责数据检索作业的存储节点管理器244可以请求上述确定的存储节点246的子集以检索其对应数据成分。在一些实施方案中,需要最小数量的编码数据成分来重建原始数据,其中所述数量可以至少部分地基于用来编码数据(例如,擦除编码的伸展因子)的数据冗余方案来确定。在这些实施方案中,可以选择存储节点的子集使得检索的编码数据成分不小于最小数量。
在从存储节点管理器244接收检索数据成分的请求之后,存储节点246的子集中的每个存储节点可以例如通过检查存储位置识别符(其是数据对象识别符的部件)的完整性、验证存储节点确实保存请求的数据成分等而证实请求。在成功证实之后,存储节点可以至少部分地基于存储位置识别符定位数据成分。例如,如上文所描述,存储位置识别符可以包括包括卷识别符成分和数据对象识别符成分的卷参考对象,其中卷参考成分用来识别存储数据的卷且数据对象识别符成分可以识别数据存储在卷中的何处。在实施方案中,存储节点例如从连接的数据存储装置读取数据成分且将检索的数据成分发送到请求检索的存储节点管理器。在一些实施方案中,数据完整性是例如通过验证数据成分识别符或其一部分与由与检索作业相关的数据成分识别符所指示的相同而进行检查。在一些实施方案中,存储节点可以结合数据成分检索执行批量处理或其它作业优化。
在实施方案中,过程600包括使用在过程600的步骤616处确定的一个或多个数据解码方案解码620至少最小数量的检索的编码数据成分。例如,在一个实施方案中,可以擦除解码且接着解密检索的数据成分。在一些实施方案中,例如使用数据对象识别符中编码的有效负载完整性证实信息(例如,大小、时间戳记、摘要)对重建的数据执行数据完整性检查。在一些情况中,检索作业可能由于检索的数据成分小于最小数量、数据完整性检查失败等而失败。在这些情况中,可以依与结合图5所描述相似的方式重试检索作业。在一些实施方案中,原始数据包括多个数据部件且编码并存储每个部件。在这些实施方案中,在检索期间,可以检索和解码(例如,擦除解码和解密)每个数据部件的编码数据成分以形成原始部分且可以组合解码的部件以形成原始数据。
在实施方案中,过程600包括将重建的数据存储在分级存储区(诸如结合图2所描述的有效负载数据缓存228)中。在一些实施方案中,存储622在分级存储区中的数据可以供客户下载达一段时间周期或供客户无限期地下载。在实施方案中,在数据存储在分级存储区中之前,可以(例如,使用摘要)检查数据完整性。
在实施方案中,过程600包括将检索作业完成的通知提供624到检索请求的请求者或者依其它方式被配置来接收这个通知的另一个或多个实体。可以个别地或成批地提供这些通知。在其它实施方案中,可以在例如从客户轮询请求之后提供检索作业状态。
图7示出根据至少一个实施方案的用于删除数据的示例性过程700。在实施方案中,如结合图2所描述的归档数据存储系统206的一个或多个组件共同地执行过程700。
在实施方案中,过程700包括接收702删除诸如通过上文所描述的过程500存储的数据的数据删除请求。这个数据检索请求可以包括诸如通过上文所描述的过程500的步骤508提供的数据对象识别符或可以用来识别将删除的数据的任何其它信息。
在实施方案中,过程700包括在接收702请求之后处理704数据删除请求。在一些实施方案中,处理704与上文所描述的过程500的步骤504和过程600的步骤604相似。例如,在实施方案中,处理704至少部分地基于数据删除请求中包括的数据对象识别符。
在实施方案中,过程700包括创建706对应于数据删除请求的数据检索作业。创建这个检索作业可以与结合过程500的步骤510所描述般创建存储作业和结合过程600的步骤606所描述般创建检索作业相似。
在实施方案中,过程700包括提供708数据删除的确认。在一些实施方案中,可以响应于数据删除请求而提供这个确认以便提供同步处理数据删除请求的感知。在其它实施方案中,提供与数据删除作业相关的作业识别符可以与提供数据检索请求的作业识别符相似。
在实施方案中,过程700包括调度708数据删除作业用于执行。在一些实施方案中,实施数据删除作业的调度708可以与上文所描述结合过程500的步骤512和结合过程600的步骤610所描述的实施相似。例如,可以合并和/或批量处理紧密定位的数据的数据删除作业。对于另一实例,可以对数据删除作业指派比数据检索作业低的优先级。
在一些实施方案中,存储的数据可以具有由客户指定或默认设置的相关截止时间。在这些实施方案中,可以创建706删除作业且在数据的截止时间之时或临近数据的截止时间之时自动地对其进行调度710。在一些实施方案中,截止时间还可以与宽限期相关,在其期间数据仍可用或可恢复。在一些实施方案中,可以在截止时间之前、之时或之后提供未决删除的通知。
在一些实施方案中,过程700包括例如由存储节点管理器244选择712来自如结合图2所描述的存储节点管理器作业存储区240的数据删除作业用于执行。删除作业可以与其它作业一起被选择712用于批量处理或因为上文所描述的作业规划和优化而依其它方式被选择。
在一些实施方案中,过程700包括确定714存储通过存储过程(诸如上文所描述的过程500)生成的数据成分的数据成分存储实体。在实施方案中,存储节点管理器244可以依与结合上文所描述的过程600的步骤614所论述类似的方式确定多个存储节点246以检索编码数据成分。
在一些实施方案中,过程700包括造成716删除数据成分中的至少一些。例如,在由图2所示的环境200中,负责数据删除作业的存储节点管理器244可以识别存储将删除的数据的数据成分的存储节点的集合且请求那些存储节点的至少一个子集删除其各自数据成分。在从存储节点管理器244接收删除数据成分的请求之后,存储节点246的子集中的每个存储节点可以例如通过检查存储位置识别符(其是数据对象识别符的部件)的完整性、验证存储节点确实保存请求的数据成分等而证实请求。在成功证实之后,存储节点可以从连接的存储装置删除数据成分并将指示操作是否成功的确认发送到存储节点管理器244。在实施方案中,可以成批地执行多个数据删除作业使得可以整体地删除紧密定位在一起的数据对象。在一些实施方案中,当存储节点管理器244从存储节点246的至少一个子集接收肯定确认时,认为数据删除已成功。子集的大小可以被配置来确保以后无法从未删除的数据成分重建数据。可以依与分别结合过程500和过程600所描述的数据存储作业和数据检索作业的重试相似的方式重试失败的或未完成的数据删除作业。
在实施方案中,过程700包括更新718元数据信息,诸如结合过程500的步骤526所描述的信息。例如,执行删除操作的存储节点可以更新存储信息,包括索引、自由空间信息等。在实施方案中,存储节点可以对存储节点注册服务器或存储节点注册服务器存储区提供更新。在各个实施方案中,此类元数据信息中的一些可以经由批量处理和/或定期地更新以降低性能和成本影响。
图8示出根据至少一个实施方案的数据对象识别符800的示例性表示。在实施方案中,数据对象识别符800与数据对象识别符108相似但具有更多详情。在各个实施方案中,数据对象识别符可以是识别存储在诸如结合图2所描述的归档数据存储系统中的数据对象的字词、数字、字母、符号或其任何组合。数据对象识别符可以由诸如结合图2的环境200所描述的归档数据存储系统的一个或多个组件生成和使用。在实施方案中,数据对象识别符800编码本文中所描述的各种信息,以促进有效且可信的数据检索、删除和其它操作。在其它实施方案中,替代上文所描述的信息和/或除上文所描述的信息以外,数据对象识别符800还可以编码其它信息。
在实施方案中,数据对象识别符800编码可以用来定位存储在归档数据存储系统中的数据对象的存储位置信息802。诸如结合图2所描述,在数据对象在移动到非瞬态归档数据存储装置之前首先存储在瞬态数据存储区中的实施方案中,存储位置信息可以编码非瞬态归档数据存储装置中的存储位置。这个实施方案可以降低或消除存储命名空间映射或相似数据结构以将数据对象识别符映射到对应数据对象的存储位置的成本。
如图8中所示,存储位置信息802编码对存储数据对象的阶层式数据结构的参考。这个阶层式数据结构可以包括如结合图2所描述的卷、卷成分和页。例如,在实施方案中,存储位置信息802编码包括卷识别符成分和对象识别符成分的卷参考对象。参考图2,在实施方案中,归档数据存储系统将数据存储在逻辑卷中,其中每个卷可以包括一个或多个对象。在这个实施方案中,卷识别符可以用来唯一地识别包括数据对象的卷且对象识别符可以用来唯一地识别该卷内的数据对象。例如,卷参考对象可以根据至少一个实施方案如下般依编程方式实施。
如上文所示,在实施方案中,volume和id分别表示下文所描述的卷识别符成分和对象识别符成分。在实施方案中,卷参考对象还可以包括用来确保卷参考对象的完整性的错误检测码,诸如循环冗余检查(CRC)、散列等。例如,在上文实例中,volRefCrc可以表示用来验证卷参考对象的完整性的volume和id的CRC。
在实施方案中,卷识别符成分可以包括卷识别符和额外信息。例如,卷识别符成分可以根据至少一个实施方案如下般依编程方式实施。
如上文所示,在实施方案中,volumeId是唯一地识别卷的变量且worldId是可以用来解释和/或证实本文中所描述的volumeId或其它识别符的变量。
在实施方案中,对象识别符成分可以包括上文所描述的对象识别符和额外信息。例如,对象识别符成分可以如下般依编程方式实施:
如上述,对象识别符成分可以包括变量objIdSeq,其是例如由如结合图2所描述的存储节点注册服务器248出于数据放置目的发布的单调递增序列号。对象识别符成分还可以包括用来解决数据放置问题的额外信息。例如,变量objIdRev可以提供在修正对象识别符时更新的修正号,例如以避免与由另一数据对象使用的修正号冲突。变量objIdRnd可以表示用来打破具有相同objIdSeq的两个数据对象之间的纽带的随机生成号。
数据对象识别符800可以编码用于强制执行与存储在归档数据存储系统中的数据相关的一个或多个政策的政策信息804。在各个实施方案中,这些政策可以包括解决安全性、隐私、访问、监管、成本和其它问题的政策。政策可以应用于客户以控制对存储在归档数据存储系统中的数据的访问。例如,可以允许客户读取、写入和删除特定数据集(例如,存储在客户的逻辑数据容器中的数据),而仅可以允许其它客户读取数据且同时其它客户根本就不可以访问数据。
在实施方案中,政策信息804编码可以用来证实对与数据对象识别符相关的数据的所请求访问的访问控制信息。例如,诸如结合图2所描述,在实施方案中,访问控制信息包括逻辑数据容器识别符。这个逻辑数据容器识别符可以识别包括由数据对象识别符识别的数据对象的逻辑数据容器。在实施方案中,每个客户与一个或多个逻辑数据容器相关,其中允许客户对一个或多个逻辑数据容器执行读取、写入和/或删除操作。当数据操作请求与数据对象识别符一起到达时,可以比较数据对象识别符中编码的逻辑数据容器识别符与请求中客户的所请求数据操作相关的一个或多个逻辑数据容器。如果未在清单中找到由逻辑数据容器识别符识别的逻辑数据容器,那么可以拒绝客户进行请求的数据操作。政策信息804的其它实例可以包括应被容许或拒绝访问数据对象的实体的识别符、数据允许的数据操作的类型、这些政策的截止时间和/或持续时间等。
在实施方案中,数据对象识别符800编码有效负载证实信息806以确保存储在归档数据存储系统中的数据的完整性。在各个实施方案中,有效负载证实信息可以包括数据大小、时间戳记(例如,数据创建时间戳记)、摘要等。摘要可以通过将密码散列函数(诸如与SHA-1、SHA-2、MD5、MD6等相关的密码散列函数)、检查和或错误检测码(诸如循环冗余检查等)应用于存储请求的有效负载数据的至少一部分或本文中所描述的摘要来计算。例如,在实施方案中,摘要包括有效负载数据的顶级树散列。在一些实施方案中,有效负载证实信息806可以至少部分地基于由客户提供的数据(例如,有效负载、摘要)来导出。
在实施方案中,数据对象识别符800编码元数据证实信息808以确保与数据对象识别符相关的信息的完整性。在各个实施方案中,元数据证实信息可以包括数据对象识别符中编码的一些或所有信息(诸如本文中所描述的存储位置信息、政策信息、有效负载证实信息等)的错误检测检查,诸如奇偶检查、CRC、错误校正检查等。
总的来说,在实施方案中,数据对象识别符可以根据至少一个实施方案如下般依编程方式实施。
如上文所示,在实施方案中,数据对象识别符包括上文所描述的变量:作为存储存储位置信息802的部件的卷参考对象变量volRefobj;作为政策信息804的部件的逻辑数据容器识别符变量logicalContainerId;作为有效负载证实信息806的部件的变量dataSize、creationDate和digest;和作为元数据证实信息808的部件的变量dataObjIdCrc,其是所有上述信息的CRC。在其它实施方案中,数据对象识别符还可以编码可以例如供客户用来识别客户侧上的数据对象识别符的数据对象的全局唯一识别符(GUID)。
在实施方案中,数据对象识别符中包括的信息在例如提供到客户之前进行加密810。例如,这个加密可以是防止数据对象识别符的误用(包括数据对象识别符的恶意更改以及内部数据结构和从这些内部数据结构导出的信息的公开)所必需的。此外,数据对象识别符的加密或另外易混淆内容可以用于防止第三方依赖于归档数据存储系统的实施详情和允许依透明方式进行另一变更实施。
在一些实施方案中,数据对象识别符或其一部分可以使用密码密钥进行编码,其中密钥可以使用对称密钥算法(诸如数据加密标准(DES)、高级加密标准(AES)等)或公用密钥算法(诸如RSA等)而生成。在实施方案中,用来加密数据对象识别符的密码密钥可以根据旋转调度或算法旋转以便更安全。在一些其它实施方案中,数据对象识别符可以不加密或不依其它方式隐藏。
当编码的数据对象识别符提供到客户时,可以包括额外信息。在实施方案中,可以一起提供信封信息与编码的数据对象识别符以促进解密、元数据完整性检查等。例如,以下信息可以在提供到客户之前前置于加密的数据对象识别符。
private short publicCrc;
private int cryptoKeyId;
private byte version;
如所示,信封信息可以包括用来实现完整性检查的所加密数据对象识别符的至少一个部件的CRC(publicCrc)。此外,信封信息可以包括用来加密上文所描述的数据对象识别符的密码密钥的识别符。这个识别符可以供系统用来解密数据对象识别符。最后,信封信息可以包括可以用来处理额外证实检查的额外信息,诸如版本号version。此外,本文中所描述的信息还可以进行编码(例如,使用Base64编码、Base32编码等)以促进通过各种媒体进行数据传输。
图9示出根据至少一个实施方案的用于存储和检索数据的过程900。过程900中的一些或所有可以由上文结合图2所描述的组件来执行。此外,过程900中的一些或所有(或本文中所描述的任何其它过程、或其变型和/或组合)可以在配置有可执行指令的一个或多个计算机系统的控制下执行且可以实施为共同地在一个或多个处理器上执行的代码(例如,可执行指令、一个或多个计算机程序或一个或多个应用)、硬件或其组合。代码可以例如依计算机程序(包括可由一个或多个处理器执行的多个指令)的形式存储在计算机可读存储介质上。计算机可读存储介质可以是非暂时性的。在实施方案中,过程900包括诸如结合过程600的步骤602所描述般接收902数据存储请求。
在实施方案中,过程900包括生成904如上文结合图8所描述的自描述数据对象识别符。在实施方案中,生成904数据对象识别符包括至少部分地基于诸如由存储节点报告的数据大小和存储信息获得数据的存储位置信息,包括执行数据分配操作。在由图2所示的环境200中,例如,这些数据分配操作可以由存储节点注册服务器248和/或存储节点注册服务器存储区250来执行。例如,存储节点注册服务器存储区可以对于每个卷成分存储包括空间使用、出于对象识别符目的分配的最高序列号、存储在其上的数据成分的数量等的信息。在实施方案中,这个信息可以由主控卷成分的存储节点来报告。基于这个信息,存储节点注册服务器可以提供如上文结合图8所描述的卷参考对象。
在实施方案中,生成904数据对象识别符包括获得诸如上文结合图8所描述的有效负载证实信息。例如,在实施方案中,执行诸如上文所描述的摘要计算。在一些实施方案中,摘要计算是基于通过请求提供的数据或摘要来执行。在由图2所示的环境200中,例如,这些摘要计算可由存储节点管理器244或归档数据存储系统206的其它组件来执行。在实施方案中,有效负载证实信息还包括数据大小、可以指示数据存储在归档数据存储系统处的时间(例如,在分级存储装置中)的创建时间和可以用来证实数据完整性的其它信息。
在实施方案中,生成904数据对象识别符包括获得诸如上文结合图8所描述的政策信息。在实施方案中,这个政策信息可以基于请求、配置文件或其他源而获得。例如,客户存储请求可以指定将存储数据的逻辑数据容器。在这个实施方案中,执行过程900的系统可以确定与逻辑数据容器相关的识别符且将识别符包括在数据对象容器中作为政策信息的部件。
在实施方案中,生成904数据对象识别符包括获得诸如结合图8所描述的元数据证实信息。例如,执行过程900的系统可以计算上文所描述的信息中的一些或所有的CRC。如结合图8所描述,生成904数据对象识别符可以包括编码(例如,加密)上述信息。在由图2所示的环境200中,例如,这个数据编码可以由存储节点管理器244或归档数据存储系统206的其它组件来执行。
在实施方案中,过程900包括例如响应于接收的请求而提供906上述生成的数据对象识别符到请求实体。在实施方案中,提供906包括进一步编码数据对象识别符,诸如如结合图8所描述应用Base64编码。在这个实施方案中,数据对象识别符的接收器(诸如客户)可以通过应用对应解码方案(诸如Base64解码)提取数据对象识别符。
过程900还可以包括存储908上述生成的数据和数据对象识别符。在一些实施方案中,数据存储与上文结合图2和图5所描述的数据存储相似。各种存储实体(例如,存储节点管理器、存储节点、存储装置等)可以在存储数据之前使用上文所描述的数据对象识别符中包括的至少一些信息证实数据或与数据相关的元数据。
在实施方案中,数据对象识别符依加密和/或非加密形式与相关数据对象存储在一起,以提供增强的数据耐久度。例如,在实施方案中,与数据对象相关的每个编码的(例如,擦除编码的)数据成分与相同数据对象识别符一起存储在卷成分中,如结合图2所描述。例如,数据对象的数据对象识别符可以存储在与数据对象相关的每个编码数据成分的标头中。此外,存储在存储装置中的每个卷成分可以存储元数据,诸如卷成分中包括的所有数据对象识别符的索引。因此,跨用来存储相同数据对象的数据成分的所有存储装置有效地复制这个元数据。在这个实施方案中,如下文所描述,这些存储装置中的任一个的存在将足以使能够恢复卷中包括的数据对象识别符的完整清单。
在实施方案中,当可用的卷成分小于最小数量的卷成分时,确定卷已失败。最小数量可以至少部分地基于用来在存储之前编码数据的数据编码方案来确定。例如,如果使用具有6/9伸展因子的擦除编码,那么一旦4个卷成分丢失,就不可再使用其余5个卷重建卷。在这个实施方案中,可以询问如上文结合图2所描述维持包括卷成分与主控其的可用存储节点之间的映射的信息的数据存储节点注册服务器存储区以确定哪个卷已失败。随后,可以将请求发送到主控失败卷的卷成分的可用存储节点以提供存储在卷成分中的数据成分的数据对象识别符的清单。来自请求的存储节点中的任一个的这个清单将足以恢复失败卷上的数据对象识别符的完整清单。
在实施方案中,过程900包括接收910检索数据的请求,其中请求指定数据对象识别符,诸如上文在步骤906中提供的数据对象识别符。在这个实施方案中,过程900包括解码912数据对象识别符以提取各种信息,诸如上文所描述使能够进一步处理请求的信息。例如,在实施方案中,解码912数据对象识别符包括将Base64解码方案应用于Base64编码的数据对象识别符。在实施方案中,解码912还包括获得信封信息,诸如结合图8所描述的信封信息。例如,这个信封信息可以包括编码的数据对象识别符的至少一个部件的CRC、用来加密数据对象识别符的密码密钥的识别符、版本号等。基于密码密钥识别符,可以获得解密密钥并将其用来解密数据对象识别符的加密部分。在实施方案中,诸如结合图8所描述的信息(诸如存储位置信息、政策信息、元数据证实信息、有效负载证实信息等)提取自解密的数据对象识别符。
如图9中所示,过程900包括使用来自诸如上文所描述的解码数据对象识别符的元数据证实信息证实914元数据的完整性。这个元数据证实可以包括如上文所描述的错误检测码,诸如数据对象识别符自身或其各种成分的CRC。
在实施方案中,过程900包括使用提取自数据对象识别符的诸如结合图8所描述至少政策信息证实916请求的访问。例如,证实916请求的访问可以包括验证请求客户是否有权检索与逻辑数据容器相关的数据对象,其识别符作为政策信息的部件被包括。
在实施方案中,过程900包括使用提取自数据对象识别符的诸如结合图8所描述至少存储位置信息918检索数据。例如,诸如结合图8所描述,这个存储位置信息可以包括对阶层式数据结构的层列式参考,诸如用来识别存储数据的卷的卷识别符和用来识别卷内的数据对象的对象识别符。在实施方案中,数据存储为一个或多个冗余编码的数据成分,其中的每个可以使用存储位置信息来检索。例如,诸如结合图2所描述,卷识别符可以用来定位卷(或卷成分)所定位的存储节点。此外,对象识别符可以(例如,供存储节点)用来例如基于数据识别符与<页码,页偏移>对之间的映射定位存储在该卷(或卷成分)中的数据成分,其中页码指代存储数据成分的卷(或卷成分)内的页且页偏移指示页内数据成分的位置。
在实施方案中,过程900包括使用至少提取自数据对象识别符的诸如结合图8所描述至少有效负载证实信息证实920数据完整性。在实施方案中,数据完整性证实920是在从存储位置检索数据之前执行。例如,可以在适用情况下比较数据对象识别符与同数据成分存储在一起的数据对象识别符,以验证其是否相同。作为另一实例,数据大小和创建时间可以例如供存储节点用来证实表明存储位置信息所希望指向的数据。在另一实施方案中,数据完整性证实920是在检索数据之后执行。例如,数据对象识别符中包括的摘要信息可以例如供存储节点管理器用来证实从多个冗余编码的数据成分解码的数据是否与原始数据相同。大体来说,数据完整性可以通过处理批量数据传送的各种实体使用数据对象识别符中编码的信息进行证实。
在实施方案中,过程900包括提供922上述检索的数据。如结合图2所描述,在实施方案中,检索的数据存储在分级存储区中以使能够进行客户下载。
图10示出根据至少一个实施方案的用于删除数据的过程1000。过程1000的步骤中的一些或所有可以由上文结合图2所描述的组件来执行。在实施方案中,步骤1002至1012可以依与上文结合过程900的步骤910至920所描述相似的方式执行,除数据删除外(而非检索)。
在实施方案中,过程1000包括接收1002删除数据的请求,其中请求指定数据对象识别符,诸如过程900的步骤906中提供的数据对象识别符。在这个实施方案中,过程1000包括与结合图9所论述的解码912和元数据证实914相似般解码1004数据对象识别符以提取各种信息和证实1006元数据的完整性。如所示,过程1000包括使用来自解码的数据对象识别符的至少政策信息证实1008请求的删除。例如,政策信息可以用来检查访问控制清单以确定请求客户是否有权删除数据对象。在一些实施方案中,对删除的访问控制可以比数据检索更严格。
在实施方案中,过程1000包括依与结合图9的过程900中的数据检索所描述相似的方式使用来自解码的数据对象识别符的至少存储位置信息定位1010数据。例如,存储将删除数据的编码数据成分的卷成分可以至少部分地基于存储位置信息中编码的卷识别符进行定位。
在定位将删除的数据之后,如图10中所示,过程1000包括证实1012将删除数据的完整性。例如,在一些情况中,每个编码的数据成分的数据对象识别符存储在存储编码数据成分的卷成分上(例如,作为索引的部件)。在删除期间,可以比较存储的数据对象识别符(编码的或未编码的)与同删除请求相关的数据对象识别符以确保将删除正确数据。在一些实施方案中,元数据证实信息可以用来证实存储的数据对象识别符的完整性。在一些实施方案中,来自存储的数据对象识别符的有效负载证实信息(诸如数据大小、创建日期和/或摘要)可以用来进一步证实定位的数据是否确实是将删除的数据。在实施方案中,过程1000包括如果确定数据是希望删除的目标,那么删除1014上述定位的数据。数据删除可以依任何合适方式执行,诸如在适当数据存储位置中将数据标记为删除、重新分配用来存储数据的存储空间、使用可以是随机信息的信息覆写数据和/或通过依其它方式使数据不可访问(可能永久不可访问)。
图11示出根据各个实施方案的用于实施方面的示例性环境1100的方面。如将明白,尽管基于网页的环境用于说明目的,但可以酌情使用不同环境来实施各个实施方案。环境可以包括电子客户端装置1102,其可包括可操作以通过适当网络1104发送和接收请求、消息或信息并将信息递送回到装置用户的任何适当装置。这些客户端装置的实例包括个人计算机、手机、手持消息传递装置、膝上型计算机、机顶盒、个人数据助理、电子书阅读器等。网络可包括任何适当网络,包括内联网、互联网、蜂窝网络、局域网或任何其它这种网络或其组合。用于这个系统的组件可至少部分地取决于选择的网络和/或环境的类型。用于经由这个网络进行通信的协议和组件是熟知的且本文中将不再详细论述。可通过有线或无线连接和其组合实现通过网络进行通信。在这个实例中,网络包括互联网,因为环境包括用于接收请求并响应于其而为内容服务的网页服务器1106,但对于其它网络,所属技术领域一般人员将明白可使用为相似目的服务的替代装置。
说明性环境包括至少一个应用服务器1108和数据存储区1110。应了解,可存在多个应用服务器、层或其它元件、过程或组件,其可以链接或依其它方式配置,可交互以执行诸如从适当数据存储区获得数据的任务。如本文中所使用,术语“数据存储区”指代能够存储、访问和检索数据的任何装置或装置组合,其可以包括在任何标准分布式或群集式环境中的任何组合和数量的数据服务器、数据库、数据存储装置和数据存储介质。应用服务器可包括用于根据需要与数据存储区集成以执行客户端装置的一个或多个应用的方面、处理应用的大量数据访问和业务逻辑的任何适当硬件和软件。应用服务器提供与数据存储区协作的访问控制服务,且能够生成传送到用户的内容(诸如文字、图形、音频和/或视频),在这个实例中其可以通过网页服务器依HTML、XML或另一适当结构化语言服务于用户。可由网页服务器处理所有请求和响应的处理以及客户端装置1102与应用服务器1108之间的内容的递送。应了解,网页服务器和应用服务器不做要求且仅是示例性组件,因为可对如在本文别处所论述的任何适当装置或主机执行本文中所论述的结构化代码。
数据存储区1110可包括用于存储涉及特定方面的数据的多个单独数据表、数据库或其它数据存储机制和介质。例如,所示数据存储区包括用于存储生产数据1112和用户信息1116的机制,其可用来为生产端的内容服务。数据存储区还被示出为包括用于存储日志数据1114的机制,其可用于报告、分析或其它这种目的。应了解,可存在可能需要存储在数据存储区中诸如用于页面图像信息和访问权信息的许多其它方面,其可酌情存储在上列机制中的任一个或数据存储区1110中的额外机制中。数据存储区1110可通过与其相关的逻辑操作,以接收来自应用服务器1108的指令,且响应于其而获得、更新或依其它方式处理数据。在一个实例中,用户可以提交对特定类型项目的搜索请求。在这种情况中,数据存储区可以访问用户信息以验证用户身份,且可访问目录详情信息以获得关于所述类型项目的信息。接着,可诸如依列在网页上且用户能够经由用户装置1102上的浏览器查看的结果将信息返回到用户。可在浏览器的专用页面或窗口中查看特定关注项目的信息。
每个服务器通常将包括提供用于一般地管理和操作所述服务器的可执行程序指令的操作系统,且通常将包括存储在由所述服务器的处理器执行时允许所述服务器执行其预期功能的指令的计算机可读存储介质(例如,硬盘驱动器、随机存取存储器、只读存储器等)。操作系统的合适实施方式和服务器的一般功能已知或可市售,且容易由所属技术领域一般人员特别地鉴于本公开来实施。
一个实施方案中的环境是利用使用一个或多个计算机网络或直接连接以经由通信链路互连的多个计算机系统和组件的分布式计算环境。然而,所属技术领域一般人员将明白,这个系统同样可在具有少于或多于图11中所示的数量的组件的系统中很好地操作。因此,应认为图11中的系统1100的描绘本质上是说明性的,且不限于本公开的范围。
可鉴于下列条款描述本公开的各个实施方案:
1.一种用于管理数据的计算机实施方法,其包括:
在配置有可执行指令的一个或多个计算机系统的控制下,
接收存储数据对象的数据存储请求;
造成将所述数据对象存储在瞬态数据存储区处;
在将所述数据对象存储在非瞬态数据存储位置中之前,提供所述数据对象的数据对象识别符,所述数据对象识别符编码用来指示所述非瞬态数据存储位置的至少存储位置信息、有效负载证实信息和政策信息;
接收检索所述数据对象的数据检索请求,所述请求指定所述数据对象识别符;
解码所述数据对象识别符以获得至少存储位置信息、所述有效负载证实信息和所述政策信息;
使用至少所述政策信息证实所述数据检索请求;
使用至少所述存储位置信息从所述非瞬态数据存储位置检索所述数据对象;
使用至少所述有效负载证实信息证实所述数据对象的完整性;和
提供所述数据对象。
2.根据条款1所述的计算机实施方法,其中所述存储位置信息包括对存储所述数据对象的阶层式数据结构的参考。
3.根据条款1所述的计算机实施方法,其中所述有效负载证实信息包括所述数据对象的至少一部分的时间戳记、大小或数字摘要中的至少一个。
4.根据条款1所述的计算机实施方法,其中所述政策信息包括至少访问控制信息。
5.根据条款1所述的计算机实施方法,其中所述数据对象识别符还编码可用来证实由所述数据对象识别符编码的信息的完整性的元数据证实信息。
6.根据条款1所述的计算机实施方法,其中提供所述数据对象识别符包括使用密码密钥加密至少所述存储位置信息、所述有效负载证实信息和所述政策信息。
7.根据条款1所述的计算机实施方法,其还包括将所述数据对象识别符与所述数据对象存储在一起。
8.根据条款7所述的计算机实施方法,其中检索所述数据对象包括验证与所述数据对象存储在一起的所述数据对象识别符。
9.一种计算机实施方法,其包括:
在配置有可执行指令的一个或多个计算机系统的控制下,
接收检索持久存储的数据对象的请求,所述请求指定数据对象识别符,所述数据对象识别符编码涉及所述数据对象的至少存储位置信息和证实信息;
使用至少所述存储位置信息检索所述数据对象;和
使用至少所述证实信息执行证实。
10.根据条款9所述的计算机实施方法,其中所述存储位置信息编码至少卷识别符和对象识别符,所述卷识别符指示存储所述数据对象的卷且所述对象识别符可用于识别在所述卷内存储所述数据对象的位置。
11.根据条款9所述的计算机实施方法,其中所述证实信息包括至少有效负载证实信息且其中执行证实包括使用至少所述有效负载证实信息证实所述检索的数据对象的完整性。
12.根据条款11所述的计算机实施方法,其中所述有效负载证实信息包括所述数据对象的至少一部分的至少一个密码散列。
13.根据条款9所述的计算机实施方法,所述证实信息包括至少政策信息且其中执行证实包括至少部分地基于所述政策信息确定是否容许对所述数据对象的访问。
14.根据条款9所述的计算机实施方法,其中所述证实信息包括至少元数据证实信息且其中执行证实包括使用至少所述元数据证实信息验证所述数据对象识别符的完整性。
15.根据条款14所述的计算机实施方法,其中所述元数据证实信息包括至少错误检测码。
16.一种归档数据存储系统,其包括:
一个或多个处理器;和
存储器,其包括可由所述一个或多个处理器执行以造成计算机系统进行至少以下步骤的指令:
提供一个或多个应用编程界面(“API”)用于执行多个数据操作;
通过所述一个或多个API,接收检索数据对象的请求,所述请求指定数据对象识别符,所述数据对象识别符封装涉及所述数据对象的至少存储位置信息和证实信息;
解封所述数据对象识别符以获得所述存储位置信息和所述证实信息;
至少部分地基于所述证实信息证实所述请求;
至少部分地基于所述存储位置信息检索所述数据对象;和
使用至少所述证实信息验证所述数据对象的完整性。
17.根据条款16所述的系统,其中所述多个数据操作包括至少数据存储、数据检索、数据删除和元数据询问。
18.根据条款16所述的系统,其中所述指令可由所述一个或多个处理器执行以进一步造成所述计算机系统:
通过所述API,接收存储所述数据对象的一个或多个请求,所述一个或多个请求中的每个指定所述数据对象的至少一部分;
存储所述数据对象;和
通过所述API,提供所述数据对象识别符。
19.根据条款18所述的系统,其中所述证实信息中的至少一些至少部分地基于存储所述数据对象的所述一个或多个请求。
20.根据条款18所述的系统,其中所述数据对象识别符与由所述一个或多个请求共同地指定的所述数据对象的所述部分相关。
21.根据条款16所述的系统,其中解封所述数据对象识别符包括使用密码密钥解密所述数据对象识别符的至少一部分。
22.一个或多个具有共同地存储在其上的可执行指令的非暂时性计算机可读存储介质,所述可执行指令在由计算资源提供者的计算机系统的一个或多个处理器执行时造成所述计算机系统进行至少以下步骤:
接收检索持久存储的数据对象的请求,所述请求指定数据对象识别符,所述数据对象识别符编码涉及所述数据对象的至少存储位置信息和证实信息;
使用至少所述证实信息证实所述请求;
使用至少所述存储位置信息检索多个数据成分,所述多个数据成分是通过造成将一个或多个编码方案应用于所述数据对象而生成;
通过造成将对应于所述一个或多个编码方案的一个或多个解码方案应用于所述多个数据成分而恢复所述数据对象;和
使用至少所述证实信息验证所述数据对象的完整性。
23.根据条款22所述的计算机可读存储介质,其中所述数据对象识别符编码用户提供的信息。
24.根据条款22所述的计算机可读存储介质,其中所述数据对象识别符是响应于存储所述数据对象的请求而生成。
25.根据条款22所述的计算机可读存储介质,其中恢复所述数据对象还包括组合由将对应于所述一个或多个编码方案的所述一个或多个解码方案应用于所述多个数据成分而产生的一个或多个数据部件。
26.根据条款22所述的计算机可读存储介质,其中恢复所述数据对象还包括组合可至少部分地基于所述数据对象识别符检索的一个或多个数据部件。
27.根据条款22所述的计算机可读存储介质,其中证实信息包括用于验证所述数据对象的完整性的有效负载证实信息、用于验证与所述数据对象相关的数据访问权的数据授权信息和用于验证所述数据对象识别符中包括的信息的完整性的元数据证实信息。
28.根据条款22所述的计算机可读存储介质,其中所述指令在由所述计算资源提供者的计算机系统的一个或多个处理器执行时还造成所述计算机系统:
接收删除所述数据对象的请求,所述请求指定所述数据对象识别符;
使用至少所述证实信息证实所述请求;
使用至少所述存储位置信息定位所述数据对象;和
删除所述数据对象。
各个实施方案还可在各种操作环境中实施,其在一些情况中可包括可用来操作多个应用中的任一个的一个或多个用户计算机、计算装置或处理装置。用户或客户端装置可包括多个通用个人计算机中的任一个,诸如运行标准操作系统的桌上型或膝上型计算机、以及运行移动软件且能够支持多种联网和消息传递协议的蜂窝、无线和手持装置。这个系统还可包括出于诸如开发和数据库管理的目的而运行多种市售操作系统中的任一个和其它已知应用的多个工作站。这些装置还可包括能够经由网络进行通信的其它电子装置,诸如虚拟终端机、瘦客户端、游戏系统和其它装置。
多数实施方案利用所属技术领域熟练人员将熟悉用于使用多种市售协议中的任一个(诸如TCP/IP、OSI、FTP、UPnP、NFS、CIFS和AppleTalk)支持通信的至少一个网络。所述网络可是例如局域网、广域网、虚拟私人网络、互联网、内联网、外联网、公共交换电话网络、红外网络、无线网络和其任何组合。
在利用网页服务器的实施方案中,网页服务器可运行多种服务器或中间层应用中的任一个,包括HTTP服务器、FTP服务器、CGI服务器、数据服务器、Java服务器和商业应用服务器。服务器还可能响应于来自用户装置的请求而诸如通过以下步骤执行程序或脚本:执行可以实施为依任何编程语言(诸如C、C#或C++)或任何脚本语言(诸如Perl、Python或TCL)以及其组合写入的一个或多个脚本或程序的一个或多个网页应用。服务器还可以包括数据库服务器,包括不限于从和市售的数据库服务器。
环境可包括如上文所论述的多种数据存储区以及其它存储器和存储介质。这些装置可驻留在多个位置中,诸如在计算机中的一个或多个的本地或跨网络远离计算机中的任一个或所有的存储介质上(和/或驻留在其中)。在实施方案的特定集中,信息可以驻留在所属技术领域熟练人员熟悉的存储区域网络(“SAN”)中。相似地,用于执行专用于计算机、服务器或其它网络装置的功能的任何必需文件可以酌情存储在本地和/或远端。在系统包括计算机化装置的情况下,每个这种装置可包括可以经由总线电耦接的硬件元件,所述元件包括例如至少一个中央处理单元(CPU)、至少一个输入装置(例如,鼠标、键盘、控制器、触屏或小键盘)和至少一个输出装置(例如,显示装置、打印机或扬声器)。这个系统还可以包括一个或多个存储装置,诸如磁盘驱动器、光学存储装置和固态存储装置,诸如随机存取存储器(“RAM”)或只读存储器(“ROM”)以及可移动媒体装置、存储卡、闪存卡等。
这些装置还可包括如上文所描述的计算机可读存储介质阅读器、通信装置(例如,调制解调器、网卡(无线或有线)、红外通信装置等)和工作存储器。计算机可读存储介质阅读器可连接或被配置来收纳计算机可读存储介质,其表示用于暂时地和/或更持久地容纳、存储、传输和检索计算机可读信息的远程、本地、固定和/或可移动的存储装置以及存储介质。系统和各种装置通常还将包括定位在至少一个工作存储器装置内的多个软件应用、模块、服务或其它元件,包括操作系统和应用程序,诸如客户端应用或网页浏览器。应明白,替代实施方案可以具有上文所描述的大量变化。例如,还可以使用自定义硬件和/或可以依硬件、软件(包括便携式软件,诸如小应用)或两者实施特定元件。此外,可以采用到其它计算装置(诸如网络输入/输出装置)的连接。
用于容纳代码或代码部分的存储介质和计算机可读介质可包括所属技术领域中已知或使用的任何适当介质,包括依用于存储和/或传输信息(诸如计算机可读指令、数据结构、程序模块或其它数据)的任何方法或技术实施的存储介质和通信介质,诸如但不限于易失性和非易失性、可移动和不可移动介质,包括可用来存储所期望信息且可由系统装置访问的RAM、ROM、EEPROM、快闪存储器或其它存储器技术、CD-ROM、数字多功能光盘(DVD)或其它光学存储装置、磁带盒、磁带、磁盘存储装置或其它磁存储装置或任何其它介质。基于本文中所提供的本公开和教学内容,所属技术领域一般人员将明白用来实施各个实施方案的其它方式和/或方法。
因此,本说明书和附图被认为是说明性而非限制性意义。然而,将明显的是,在不背离如权利要求书中所陈述的本发明的更广精神和范围的情况下,可对本发明作出各种修改和变更。
其它变化是在本公开的精神内。因此,虽然所公开技术可具有各种修改和替代构造,但其某些所示实施方案已在附图中示出且已在上文详细描述。然而,应了解,不希望将本发明限于所公开的一个或多个具体形式,恰恰相反,本发明将覆盖落在如随附权利要求书中所定义的本发明的精神和范围内的所有修改、替代构造和等效物。
除非本文中另有指明或上下文另有明确反驳,否则在描述所公开实施方案的上下文中(尤其在下列权利要求书的上下文中)术语“一(a)”和“一个(an)”和“所述”以及相似项的使用应被解释为覆盖单数和复数两者。除非另有说明,否则术语“包括(comprising)”、“具有”、“包括(including)”和“容纳/包括(containing)”应被解释为开放式术语(即,意指“包括但不限于”)。术语“连接”应被解释为部分地或全部地容纳在内、附接到或接合在一起,即使存在一些中介物。除非本文中另有指明,否则本文中的值范围的列举仅希望用作个别地参考落在所述范围内的每个单独值的速记方法,且每个单独值好像其在本文中个别地列举般并入本说明书中。除非本文中另有指明或上下文另有明确反驳,否则本文中所描述的所有方法可依任何合适次序执行。除非另有声明,否则本文中所提供的任何和所有实例或示例性语言(例如,“诸如”)的使用仅希望更好地阐明本发明的实施方案且并非将限制强加于本发明的范围。本说明书中的语言不应被解释为指示任何非要求元件是实行本发明所必要的。
本文中描述本公开的优选实施方案,包括发明人已知是用于实行本发明的最佳模式。在阅读前文描述之后,所属技术领域一般人员将明白优选实施方案的变化。发明人预期熟练技术人员酌情采用这些变化,且发明人希望不同于如本文中所具体描述般地实行本发明。因此,本发明包括在适用法律允许的情况下随附于其的权利要求书中所列举的标的物的所有修改和等效物。此外,除非本文中另有指明或上下文另有清楚反驳,否则本发明涵盖上文所描述的元件的所有可能变化的任何组合。
本文中所列的所有参考案(包括公开案、专利申请和专利)是依引用方式并入本文中,就好像每个参考案被个别地且具体地指示依引用方式并入和其全部内容在本文中得以陈述般。
Claims (15)
1.一种计算机实施方法,其包括:
在配置有可执行指令的一个或多个计算机系统的控制下,
接收检索持久存储的数据对象的请求,所述请求指定数据对象识别符,所述数据对象识别符编码涉及所述数据对象的至少存储位置信息和证实信息;
使用至少所述存储位置信息检索所述数据对象;和
使用至少所述证实信息执行证实。
2.根据权利要求1所述的计算机实施方法,其中所述存储位置信息编码至少卷识别符和对象识别符,所述卷识别符指示存储所述数据对象的卷且所述对象识别符可用于识别在所述卷内存储所述数据对象的位置。
3.根据权利要求1所述的计算机实施方法,其中所述证实信息包括至少有效负载证实信息且其中执行证实包括使用至少所述有效负载证实信息证实所述检索的数据对象的完整性。
4.根据权利要求1所述的计算机实施方法,其中所述存储位置信息包括对存储所述数据对象的阶层式数据结构的参考。
5.根据权利要求1所述的计算机实施方法,所述证实信息包括至少政策信息且其中执行证实包括至少部分地基于所述政策信息确定是否容许对所述数据对象的访问。
6.根据权利要求1所述的计算机实施方法,其中所述证实信息包括至少元数据证实信息且其中执行证实包括使用至少所述元数据 证实信息验证所述数据对象识别符的完整性。
7.根据权利要求6所述的计算机实施方法,其还包括使用密码密钥解密涉及所述数据对象的所述存储位置信息和所述证实信息。
8.根据权利要求6所述的计算机实施方法,其中所述数据对象识别符与所述数据对象存储在一起。
9.一种归档数据存储系统,其包括:
一个或多个处理器;和
存储器,其包括可由所述一个或多个处理器执行以造成所述计算机系统进行至少以下步骤的指令:
提供一个或多个应用编程界面(“API”)用于执行多个数据操作;
通过所述一个或多个API,接收检索数据对象的请求,所述请求指定数据对象识别符,所述数据对象识别符封装涉及所述数据对象的至少存储位置信息和证实信息;
解封所述数据对象识别符以获得所述存储位置信息和所述证实信息;
至少部分地基于所述证实信息证实所述请求;
至少部分地基于所述存储位置信息检索所述数据对象;和
使用至少所述证实信息验证所述数据对象的完整性。
10.根据权利要求9所述的系统,其中所述指令可由所述一个或多个处理器执行以进一步造成所述计算机系统:
通过所述API,接收存储所述数据对象的一个或多个请求,所述一个或多个请求中的每个指定所述数据对象的至少一部分;
存储所述数据对象;和
通过所述API,提供所述数据对象识别符。
11.根据权利要求10所述的系统,其中所述数据对象识别符与由所述一个或多个请求共同地指定的所述数据对象的所述部分相关。
12.根据权利要求9所述的系统,其中所述数据对象识别符编码用户提供的信息。
13.根据权利要求9所述的系统,其中所述数据对象识别符是响应于存储所述数据对象的请求而生成。
14.根据权利要求9所述的系统,其中所述指令可由所述一个或多个处理器执行以进一步造成所述计算机系统:
使用定位多个数据成分的至少所述存储位置信息,从所述多个数据成分恢复所述数据对象,所述多个数据成分是通过造成将一个或多个编码方案应用于所述数据对象而生成。
15.根据权利要求9所述的系统,其中所述证实信息包括用于验证所述数据对象的完整性的有效负载证实信息、用于验证与所述数据对象相关的数据访问权的数据授权信息和用于验证所述数据对象识别符中包括的信息的完整性的元数据证实信息。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/569,994 | 2012-08-08 | ||
US13/569,994 US9213709B2 (en) | 2012-08-08 | 2012-08-08 | Archival data identification |
PCT/US2013/053853 WO2014025821A2 (en) | 2012-08-08 | 2013-08-06 | Archival data identification |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104603740A true CN104603740A (zh) | 2015-05-06 |
CN104603740B CN104603740B (zh) | 2018-03-13 |
Family
ID=50066956
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201380042169.7A Active CN104603740B (zh) | 2012-08-08 | 2013-08-06 | 归档数据识别 |
Country Status (7)
Country | Link |
---|---|
US (2) | US9213709B2 (zh) |
EP (1) | EP2883132B1 (zh) |
JP (2) | JP6224102B2 (zh) |
CN (1) | CN104603740B (zh) |
CA (1) | CA2881475C (zh) |
IN (1) | IN2015DN01689A (zh) |
WO (1) | WO2014025821A2 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105678190A (zh) * | 2016-03-01 | 2016-06-15 | 福建省闽保信息技术股份有限公司 | 数据封存审计系统 |
CN105867844A (zh) * | 2016-03-28 | 2016-08-17 | 联想(北京)有限公司 | 一种命令控制方法及存储设备 |
WO2020113549A1 (en) * | 2018-12-07 | 2020-06-11 | Alibaba Group Holding Limited | External staging storage cluster mechanism to optimize archival data storage system on shingled magnetic recording hard disk drives |
TWI769835B (zh) * | 2020-05-28 | 2022-07-01 | 日商杰富意鋼鐵股份有限公司 | 資訊檢索系統 |
Families Citing this family (152)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8332365B2 (en) | 2009-03-31 | 2012-12-11 | Amazon Technologies, Inc. | Cloning and recovery of data volumes |
US20150286508A1 (en) * | 2012-11-26 | 2015-10-08 | Jason A. Stowe | Transparently routing job submissions between disparate environments |
US9020893B2 (en) * | 2013-03-01 | 2015-04-28 | Datadirect Networks, Inc. | Asynchronous namespace maintenance |
DE102013104424A1 (de) * | 2013-04-30 | 2014-10-30 | Airbus Operations Gmbh | Verfahren zur elektronischen Archivierung von Datenobjekten und Computerprogrammprodukt |
RU2559728C2 (ru) * | 2013-10-24 | 2015-08-10 | Закрытое акционерное общество "Лаборатория Касперского" | Система и способ копирования файлов с зашифрованного диска |
US9794135B2 (en) | 2013-11-11 | 2017-10-17 | Amazon Technologies, Inc. | Managed service for acquisition, storage and consumption of large-scale data streams |
US9471585B1 (en) * | 2013-12-20 | 2016-10-18 | Amazon Technologies, Inc. | Decentralized de-duplication techniques for largescale data streams |
US9674194B1 (en) | 2014-03-12 | 2017-06-06 | Amazon Technologies, Inc. | Privilege distribution through signed permissions grants |
US10289713B2 (en) * | 2014-03-24 | 2019-05-14 | Ca, Inc. | Logical validation for metadata builder |
US10264071B2 (en) | 2014-03-31 | 2019-04-16 | Amazon Technologies, Inc. | Session management in distributed storage systems |
US10372685B2 (en) | 2014-03-31 | 2019-08-06 | Amazon Technologies, Inc. | Scalable file storage service |
US9785510B1 (en) | 2014-05-09 | 2017-10-10 | Amazon Technologies, Inc. | Variable data replication for storage implementing data backup |
US9766677B2 (en) | 2014-05-13 | 2017-09-19 | Netapp, Inc. | Cascading startup power draws of enclosures across a network |
US9424156B2 (en) | 2014-05-13 | 2016-08-23 | Netapp, Inc. | Identifying a potential failure event for a data storage device |
US9436571B2 (en) | 2014-05-13 | 2016-09-06 | Netapp, Inc. | Estimating data storage device lifespan |
US9557938B2 (en) | 2014-05-13 | 2017-01-31 | Netapp, Inc. | Data retrieval based on storage device activation schedules |
US9436524B2 (en) | 2014-05-13 | 2016-09-06 | Netapp, Inc. | Managing archival storage |
US9430152B2 (en) | 2014-05-13 | 2016-08-30 | Netapp, Inc. | Data device grouping across data storage device enclosures for synchronized data maintenance |
US9430321B2 (en) | 2014-05-13 | 2016-08-30 | Netapp, Inc. | Reconstructing data stored across archival data storage devices |
US9430149B2 (en) | 2014-05-13 | 2016-08-30 | Netapp, Inc. | Pipeline planning for low latency storage system |
WO2015175720A1 (en) * | 2014-05-13 | 2015-11-19 | Netapp, Inc. | Storage operations utilizing a multiple-data-storage-devices cartridge |
US9407635B2 (en) * | 2014-05-16 | 2016-08-02 | The Boeing Company | Vehicle data delivery |
US9213485B1 (en) | 2014-06-04 | 2015-12-15 | Pure Storage, Inc. | Storage system architecture |
US8850108B1 (en) * | 2014-06-04 | 2014-09-30 | Pure Storage, Inc. | Storage cluster |
US10574754B1 (en) | 2014-06-04 | 2020-02-25 | Pure Storage, Inc. | Multi-chassis array with multi-level load balancing |
US11652884B2 (en) | 2014-06-04 | 2023-05-16 | Pure Storage, Inc. | Customized hash algorithms |
US10853311B1 (en) | 2014-07-03 | 2020-12-01 | Pure Storage, Inc. | Administration through files in a storage system |
US9734021B1 (en) | 2014-08-18 | 2017-08-15 | Amazon Technologies, Inc. | Visualizing restoration operation granularity for a database |
US9363267B2 (en) * | 2014-09-25 | 2016-06-07 | Ebay, Inc. | Transaction verification through enhanced authentication |
US9921910B2 (en) * | 2015-02-19 | 2018-03-20 | Netapp, Inc. | Virtual chunk service based data recovery in a distributed data storage system |
US10963430B2 (en) | 2015-04-01 | 2021-03-30 | Dropbox, Inc. | Shared workspaces with selective content item synchronization |
US9922201B2 (en) | 2015-04-01 | 2018-03-20 | Dropbox, Inc. | Nested namespaces for selective content sharing |
US9998150B1 (en) * | 2015-06-16 | 2018-06-12 | Amazon Technologies, Inc. | Layered data redundancy coding techniques for layer-local data recovery |
US10270475B1 (en) | 2015-06-16 | 2019-04-23 | Amazon Technologies, Inc. | Layered redundancy coding for encoded parity data |
US10270476B1 (en) | 2015-06-16 | 2019-04-23 | Amazon Technologies, Inc. | Failure mode-sensitive layered redundancy coding techniques |
US10298259B1 (en) | 2015-06-16 | 2019-05-21 | Amazon Technologies, Inc. | Multi-layered data redundancy coding techniques |
US10977128B1 (en) | 2015-06-16 | 2021-04-13 | Amazon Technologies, Inc. | Adaptive data loss mitigation for redundancy coding systems |
US10009044B1 (en) * | 2015-06-17 | 2018-06-26 | Amazon Technologies, Inc. | Device type differentiation for redundancy coded data storage systems |
US9825652B1 (en) | 2015-06-17 | 2017-11-21 | Amazon Technologies, Inc. | Inter-facility network traffic optimization for redundancy coded data storage systems |
US9838041B1 (en) * | 2015-06-17 | 2017-12-05 | Amazon Technologies, Inc. | Device type differentiation for redundancy coded data storage systems |
US9853662B1 (en) * | 2015-06-17 | 2017-12-26 | Amazon Technologies, Inc. | Random access optimization for redundancy coded data storage systems |
US9866242B1 (en) * | 2015-06-17 | 2018-01-09 | Amazon Technologies, Inc. | Throughput optimization for redundancy coded data storage systems |
US9838042B1 (en) * | 2015-06-17 | 2017-12-05 | Amazon Technologies, Inc. | Data retrieval optimization for redundancy coded data storage systems with static redundancy ratios |
US10311020B1 (en) * | 2015-06-17 | 2019-06-04 | Amazon Technologies, Inc. | Locality-sensitive data retrieval for redundancy coded data storage systems |
US20160378846A1 (en) * | 2015-06-26 | 2016-12-29 | Intel Corporation | Object based storage cluster with multiple selectable data handling policies |
US9923966B1 (en) | 2015-06-29 | 2018-03-20 | Amazon Technologies, Inc. | Flexible media storage and organization in automated data storage systems |
US10379959B1 (en) | 2015-06-29 | 2019-08-13 | Amazon Technologies, Inc. | Techniques and systems for physical manipulation of data storage devices |
US10649850B1 (en) | 2015-06-29 | 2020-05-12 | Amazon Technologies, Inc. | Heterogenous media storage and organization in automated data storage systems |
US9961141B1 (en) * | 2015-06-29 | 2018-05-01 | Amazon Technologies, Inc. | Techniques and systems for tray-based storage and organization in automated data storage systems |
US10394762B1 (en) | 2015-07-01 | 2019-08-27 | Amazon Technologies, Inc. | Determining data redundancy in grid encoded data storage systems |
US10162704B1 (en) | 2015-07-01 | 2018-12-25 | Amazon Technologies, Inc. | Grid encoded data storage systems for efficient data repair |
US10089176B1 (en) | 2015-07-01 | 2018-10-02 | Amazon Technologies, Inc. | Incremental updates of grid encoded data storage systems |
US9959167B1 (en) | 2015-07-01 | 2018-05-01 | Amazon Technologies, Inc. | Rebundling grid encoded data storage systems |
US10198311B1 (en) | 2015-07-01 | 2019-02-05 | Amazon Technologies, Inc. | Cross-datacenter validation of grid encoded data storage systems |
US9998539B1 (en) | 2015-07-01 | 2018-06-12 | Amazon Technologies, Inc. | Non-parity in grid encoded data storage systems |
US9904589B1 (en) | 2015-07-01 | 2018-02-27 | Amazon Technologies, Inc. | Incremental media size extension for grid encoded data storage systems |
US10108819B1 (en) | 2015-07-01 | 2018-10-23 | Amazon Technologies, Inc. | Cross-datacenter extension of grid encoded data storage systems |
US9928141B1 (en) | 2015-09-21 | 2018-03-27 | Amazon Technologies, Inc. | Exploiting variable media size in grid encoded data storage systems |
US11386060B1 (en) | 2015-09-23 | 2022-07-12 | Amazon Technologies, Inc. | Techniques for verifiably processing data in distributed computing systems |
US9940474B1 (en) | 2015-09-29 | 2018-04-10 | Amazon Technologies, Inc. | Techniques and systems for data segregation in data storage systems |
US10691718B2 (en) | 2015-10-29 | 2020-06-23 | Dropbox, Inc. | Synchronization protocol for multi-premises hosting of digital content items |
US9479567B1 (en) * | 2015-10-29 | 2016-10-25 | Dropbox, Inc. | Synchronization protocol for multi-premises hosting of digital content items |
US10394789B1 (en) | 2015-12-07 | 2019-08-27 | Amazon Technologies, Inc. | Techniques and systems for scalable request handling in data processing systems |
US10838911B1 (en) * | 2015-12-14 | 2020-11-17 | Amazon Technologies, Inc. | Optimization of data request processing for data storage systems |
US9785495B1 (en) | 2015-12-14 | 2017-10-10 | Amazon Technologies, Inc. | Techniques and systems for detecting anomalous operational data |
US10642813B1 (en) | 2015-12-14 | 2020-05-05 | Amazon Technologies, Inc. | Techniques and systems for storage and processing of operational data |
US10248793B1 (en) | 2015-12-16 | 2019-04-02 | Amazon Technologies, Inc. | Techniques and systems for durable encryption and deletion in data storage systems |
US10127105B1 (en) | 2015-12-17 | 2018-11-13 | Amazon Technologies, Inc. | Techniques for extending grids in data storage systems |
US10324790B1 (en) | 2015-12-17 | 2019-06-18 | Amazon Technologies, Inc. | Flexible data storage device mapping for data storage systems |
US10235402B1 (en) | 2015-12-17 | 2019-03-19 | Amazon Technologies, Inc. | Techniques for combining grid-encoded data storage systems |
US10102065B1 (en) | 2015-12-17 | 2018-10-16 | Amazon Technologies, Inc. | Localized failure mode decorrelation in redundancy encoded data storage systems |
US10180912B1 (en) | 2015-12-17 | 2019-01-15 | Amazon Technologies, Inc. | Techniques and systems for data segregation in redundancy coded data storage systems |
EP3391277A1 (en) * | 2015-12-18 | 2018-10-24 | Amazon Technologies Inc. | Provisioning of a shippable storage device and ingesting data from the shippable storage device |
US10567500B1 (en) | 2015-12-21 | 2020-02-18 | Amazon Technologies, Inc. | Continuous backup of data in a distributed data store |
US10853182B1 (en) | 2015-12-21 | 2020-12-01 | Amazon Technologies, Inc. | Scalable log-based secondary indexes for non-relational databases |
US10423493B1 (en) | 2015-12-21 | 2019-09-24 | Amazon Technologies, Inc. | Scalable log-based continuous data protection for distributed databases |
US10019588B2 (en) | 2016-01-15 | 2018-07-10 | FinLocker LLC | Systems and/or methods for enabling cooperatively-completed rules-based data analytics of potentially sensitive data |
US9672487B1 (en) | 2016-01-15 | 2017-06-06 | FinLocker LLC | Systems and/or methods for providing enhanced control over and visibility into workflows where potentially sensitive data is processed by different operators, regardless of current workflow task owner |
US9904957B2 (en) * | 2016-01-15 | 2018-02-27 | FinLocker LLC | Systems and/or methods for maintaining control over, and access to, sensitive data inclusive digital vaults and hierarchically-arranged information elements thereof |
US9537952B1 (en) | 2016-01-29 | 2017-01-03 | Dropbox, Inc. | Apparent cloud access for hosted content items |
US10592336B1 (en) | 2016-03-24 | 2020-03-17 | Amazon Technologies, Inc. | Layered indexing for asynchronous retrieval of redundancy coded data |
US10678664B1 (en) | 2016-03-28 | 2020-06-09 | Amazon Technologies, Inc. | Hybridized storage operation for redundancy coded data storage systems |
US10061668B1 (en) | 2016-03-28 | 2018-08-28 | Amazon Technologies, Inc. | Local storage clustering for redundancy coded data storage system |
US10366062B1 (en) | 2016-03-28 | 2019-07-30 | Amazon Technologies, Inc. | Cycled clustering for redundancy coded data storage systems |
US10380360B2 (en) * | 2016-03-30 | 2019-08-13 | PhazrlO Inc. | Secured file sharing system |
US10860597B2 (en) | 2016-03-30 | 2020-12-08 | Workday, Inc. | Reporting system for transaction server using cluster stored and processed data |
US10261690B1 (en) | 2016-05-03 | 2019-04-16 | Pure Storage, Inc. | Systems and methods for operating a storage system |
US10650152B2 (en) * | 2016-06-09 | 2020-05-12 | Blackberry Limited | Data access control based on storage validation |
US11886334B2 (en) | 2016-07-26 | 2024-01-30 | Pure Storage, Inc. | Optimizing spool and memory space management |
US11422719B2 (en) | 2016-09-15 | 2022-08-23 | Pure Storage, Inc. | Distributed file deletion and truncation |
US11137980B1 (en) | 2016-09-27 | 2021-10-05 | Amazon Technologies, Inc. | Monotonic time-based data storage |
US11204895B1 (en) | 2016-09-28 | 2021-12-21 | Amazon Technologies, Inc. | Data payload clustering for data storage systems |
US10437790B1 (en) | 2016-09-28 | 2019-10-08 | Amazon Technologies, Inc. | Contextual optimization for data storage systems |
US10810157B1 (en) | 2016-09-28 | 2020-10-20 | Amazon Technologies, Inc. | Command aggregation for data storage operations |
US11281624B1 (en) | 2016-09-28 | 2022-03-22 | Amazon Technologies, Inc. | Client-based batching of data payload |
US10496327B1 (en) | 2016-09-28 | 2019-12-03 | Amazon Technologies, Inc. | Command parallelization for data storage systems |
US10657097B1 (en) | 2016-09-28 | 2020-05-19 | Amazon Technologies, Inc. | Data payload aggregation for data storage systems |
US9883610B1 (en) * | 2016-09-29 | 2018-01-30 | Amazon Technologies, Inc. | Electronic device filter door |
US10614239B2 (en) | 2016-09-30 | 2020-04-07 | Amazon Technologies, Inc. | Immutable cryptographically secured ledger-backed databases |
US9747039B1 (en) | 2016-10-04 | 2017-08-29 | Pure Storage, Inc. | Reservations over multiple paths on NVMe over fabrics |
US10509766B2 (en) | 2016-11-07 | 2019-12-17 | International Business Machines Corporation | Storing and retrieving restricted datasets to and from a cloud network with non-restricted datasets |
US11089126B1 (en) | 2016-11-09 | 2021-08-10 | StratoKey Pty Ltd. | Proxy computer system to provide direct links for bypass |
US10798064B1 (en) | 2016-11-09 | 2020-10-06 | StratoKey Pty Ltd. | Proxy computer system to provide encryption as a service |
US10296764B1 (en) | 2016-11-18 | 2019-05-21 | Amazon Technologies, Inc. | Verifiable cryptographically secured ledgers for human resource systems |
US11269888B1 (en) | 2016-11-28 | 2022-03-08 | Amazon Technologies, Inc. | Archival data storage for structured data |
US10908947B2 (en) | 2016-12-09 | 2021-02-02 | Salesforce.Com, Inc. | Big object bulk data ingest |
US10476866B2 (en) * | 2017-01-12 | 2019-11-12 | Wipro Limited | System and method for storing and delivering digital content |
US11356445B2 (en) | 2017-03-28 | 2022-06-07 | Amazon Technologies, Inc. | Data access interface for clustered devices |
US10530752B2 (en) | 2017-03-28 | 2020-01-07 | Amazon Technologies, Inc. | Efficient device provision |
US10621055B2 (en) | 2017-03-28 | 2020-04-14 | Amazon Technologies, Inc. | Adaptive data recovery for clustered data devices |
US10440113B2 (en) | 2017-05-02 | 2019-10-08 | International Business Machines Corporation | Storage network tiering |
US11523444B2 (en) * | 2017-05-03 | 2022-12-06 | Telefonaktiebolaget Lm Ericsson (Publ) | UE handling in RAN |
JP7116292B2 (ja) | 2017-09-26 | 2022-08-10 | 富士通株式会社 | 情報処理装置、情報処理システムおよびプログラム |
US10754844B1 (en) | 2017-09-27 | 2020-08-25 | Amazon Technologies, Inc. | Efficient database snapshot generation |
US10990581B1 (en) | 2017-09-27 | 2021-04-27 | Amazon Technologies, Inc. | Tracking a size of a database change log |
US10942974B2 (en) * | 2017-10-20 | 2021-03-09 | Bank Of America Corporation | System for synchronous document captures into an asynchronous archive and document-level archiving reconciliation |
KR102452271B1 (ko) * | 2017-10-23 | 2022-10-06 | 지멘스 악티엔게젤샤프트 | 디바이스들을 제어 및/또는 모니터링하기 위한 방법 및 제어 시스템 |
US10318957B2 (en) * | 2017-10-23 | 2019-06-11 | Capital One Services, Llc | Customer identification verification process |
US10545687B1 (en) | 2017-10-31 | 2020-01-28 | Pure Storage, Inc. | Data rebuild when changing erase block sizes during drive replacement |
US11182372B1 (en) | 2017-11-08 | 2021-11-23 | Amazon Technologies, Inc. | Tracking database partition change log dependencies |
US11269731B1 (en) | 2017-11-22 | 2022-03-08 | Amazon Technologies, Inc. | Continuous data protection |
US11042503B1 (en) | 2017-11-22 | 2021-06-22 | Amazon Technologies, Inc. | Continuous data protection and restoration |
US10976948B1 (en) | 2018-01-31 | 2021-04-13 | Pure Storage, Inc. | Cluster expansion mechanism |
US10621049B1 (en) | 2018-03-12 | 2020-04-14 | Amazon Technologies, Inc. | Consistent backups based on local node clock |
US11385792B2 (en) | 2018-04-27 | 2022-07-12 | Pure Storage, Inc. | High availability controller pair transitioning |
US10673943B2 (en) | 2018-05-02 | 2020-06-02 | Commvault Systems, Inc. | Network storage backup using distributed media agents |
US11249863B2 (en) | 2018-05-02 | 2022-02-15 | Commvault Systems, Inc. | Backup-based media agent configuration |
US11126505B1 (en) | 2018-08-10 | 2021-09-21 | Amazon Technologies, Inc. | Past-state backup generator and interface for database systems |
US11500570B2 (en) | 2018-09-06 | 2022-11-15 | Pure Storage, Inc. | Efficient relocation of data utilizing different programming modes |
US20190042365A1 (en) * | 2018-09-26 | 2019-02-07 | Intel Corporation | Read-optimized lazy erasure coding |
US11199994B1 (en) * | 2018-11-14 | 2021-12-14 | Amazon Technologies, Inc. | Decoupling data request rate from hardware medium for archival data storage devices |
US11042454B1 (en) | 2018-11-20 | 2021-06-22 | Amazon Technologies, Inc. | Restoration of a data source |
US10997122B2 (en) * | 2018-12-05 | 2021-05-04 | Citrix Systems, Inc. | File redundancy detection and mitigation |
US10936751B1 (en) | 2018-12-14 | 2021-03-02 | StratoKey Pty Ltd. | Selective anonymization of data maintained by third-party network services |
US11153315B2 (en) * | 2019-05-30 | 2021-10-19 | Bank Of America Corporation | Controlling access to secure information resources using rotational datasets and dynamically configurable data containers |
US11138328B2 (en) | 2019-05-30 | 2021-10-05 | Bank Of America Corporation | Controlling access to secure information resources using rotational datasets and dynamically configurable data containers |
US11165777B2 (en) | 2019-05-30 | 2021-11-02 | Bank Of America Corporation | Controlling access to secure information resources using rotational datasets and dynamically configurable data containers |
US11526371B2 (en) * | 2019-07-31 | 2022-12-13 | Rubrik, Inc. | Data correlation using file object cache |
US11436101B2 (en) | 2019-09-19 | 2022-09-06 | Samsung Electronics Co., Ltd. | Rebuild directory/block allocation map from embedded data block information in file system disk |
US11290531B2 (en) | 2019-12-04 | 2022-03-29 | Dropbox, Inc. | Immediate cloud content item creation from local file system interface |
US11416144B2 (en) | 2019-12-12 | 2022-08-16 | Pure Storage, Inc. | Dynamic use of segment or zone power loss protection in a flash device |
US11741409B1 (en) | 2019-12-26 | 2023-08-29 | StratoKey Pty Ltd. | Compliance management system |
US11416874B1 (en) | 2019-12-26 | 2022-08-16 | StratoKey Pty Ltd. | Compliance management system |
US11474986B2 (en) | 2020-04-24 | 2022-10-18 | Pure Storage, Inc. | Utilizing machine learning to streamline telemetry processing of storage media |
CN111930969A (zh) * | 2020-07-01 | 2020-11-13 | 中新金桥数字科技(北京)有限公司 | 一种知识服务领域的知识对象标识符快速解析方法 |
US11625358B1 (en) * | 2020-12-09 | 2023-04-11 | Amazon Technologies, Inc. | Automatic object archiving based on user selections |
US11487455B2 (en) | 2020-12-17 | 2022-11-01 | Pure Storage, Inc. | Dynamic block allocation to optimize storage system performance |
CN114691021A (zh) * | 2020-12-31 | 2022-07-01 | 伊姆西Ip控股有限责任公司 | 用于存储监测对象的指标值的方法、设备和计算机程序 |
WO2022168077A1 (en) * | 2021-02-03 | 2022-08-11 | Yaron Oliker | System and method of secured communication |
US11388248B1 (en) | 2021-08-18 | 2022-07-12 | StratoKey Pty Ltd. | Dynamic domain discovery and proxy configuration |
JP7399929B2 (ja) * | 2021-11-26 | 2023-12-18 | 株式会社日立製作所 | 情報処理システム、情報処理方法、及びプログラム |
US20230297702A1 (en) * | 2022-03-16 | 2023-09-21 | UserClouds, Inc. | Token generation and management |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2002027489A2 (en) * | 2000-09-28 | 2002-04-04 | Curl Corporation | Persistent data storage for client computer software programs |
US6604224B1 (en) * | 1999-03-31 | 2003-08-05 | Diva Systems Corporation | Method of performing content integrity analysis of a data stream |
CN1487451A (zh) * | 2003-08-12 | 2004-04-07 | 上海交通大学 | 基于mpeg-7的远程教学领域的流媒体检索系统 |
CN1799051A (zh) * | 2003-06-03 | 2006-07-05 | 株式会社爱可信 | 使用页面存储文件浏览内容的方法 |
US20110161679A1 (en) * | 2009-12-29 | 2011-06-30 | Cleversafe, Inc. | Time based dispersed storage access |
US20120079562A1 (en) * | 2010-09-24 | 2012-03-29 | Nokia Corporation | Method and apparatus for validating resource identifier |
Family Cites Families (93)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5423046A (en) | 1992-12-17 | 1995-06-06 | International Business Machines Corporation | High capacity data storage system using disk array |
JP3130536B2 (ja) | 1993-01-21 | 2001-01-31 | アップル コンピューター インコーポレーテッド | 多数のネットワークされたコンピュータ記憶装置からデータを転送し記憶する装置ならびに方法 |
US5506809A (en) | 1994-06-29 | 1996-04-09 | Sharp Kabushiki Kaisha | Predictive status flag generation in a first-in first-out (FIFO) memory device method and apparatus |
US5586291A (en) | 1994-12-23 | 1996-12-17 | Emc Corporation | Disk controller with volatile and non-volatile cache memories |
GB9606928D0 (en) | 1996-04-02 | 1996-06-05 | Memory Corp Plc | Memory devices |
JPH1124997A (ja) * | 1997-06-30 | 1999-01-29 | Hitachi Haisofuto:Kk | コンピュータで作成された記録ファイルの機密保持方法及び機密保持プログラムを記録したコンピュータ読み取り可能な記録媒体 |
US6023710A (en) | 1997-12-23 | 2000-02-08 | Microsoft Corporation | System and method for long-term administration of archival storage |
US7017188B1 (en) | 1998-11-16 | 2006-03-21 | Softricity, Inc. | Method and apparatus for secure content delivery over broadband access networks |
US20010032307A1 (en) | 1998-12-30 | 2001-10-18 | Joseph Rohlman | Micro-instruction queue for a microprocessor instruction pipeline |
JP3805985B2 (ja) | 1999-02-18 | 2006-08-09 | 株式会社東芝 | ストリームデータの情報記憶媒体、その記録方法、再生方法、記録装置および再生装置 |
EP1188291B1 (en) | 1999-06-11 | 2005-04-27 | Microsoft Corporation | General api for remote control of devices |
US6970941B1 (en) * | 1999-12-10 | 2005-11-29 | Sun Microsystems, Inc. | System and method for separating addresses from the delivery scheme in a virtual private network |
US6606629B1 (en) | 2000-05-17 | 2003-08-12 | Lsi Logic Corporation | Data structures containing sequence and revision number metadata used in mass storage data integrity-assuring technique |
US8032542B2 (en) | 2000-10-26 | 2011-10-04 | Reynolds Mark L | Creating, verifying, managing, and using original digital files |
US7266704B2 (en) | 2000-12-18 | 2007-09-04 | Digimarc Corporation | User-friendly rights management systems and methods |
US7496767B2 (en) * | 2001-01-19 | 2009-02-24 | Xerox Corporation | Secure content objects |
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 |
US6950967B1 (en) | 2001-09-26 | 2005-09-27 | Maxtor Corporation | Method and apparatus for manufacture test processing a disk drive installed in a computer system |
US7213158B2 (en) | 2002-06-28 | 2007-05-01 | Lenovo (Singapore) Pte. Ltd. | Distributed autonomic backup |
US7774325B2 (en) | 2002-10-17 | 2010-08-10 | Intel Corporation | Distributed network attached storage system |
US7076604B1 (en) | 2002-12-24 | 2006-07-11 | Western Digital Technologies, Inc. | Disk drive employing a disk command data structure for tracking a write verify status of a write command |
US7269733B1 (en) | 2003-04-10 | 2007-09-11 | Cisco Technology, Inc. | Reliable embedded file content addressing |
US7558927B2 (en) | 2003-05-06 | 2009-07-07 | Aptare, Inc. | System to capture, transmit and persist backup and recovery meta data |
US7290086B2 (en) | 2003-05-28 | 2007-10-30 | International Business Machines Corporation | Method, apparatus and program storage device for providing asynchronous status messaging in a data storage system |
US7328217B2 (en) * | 2003-11-26 | 2008-02-05 | Symantec Operating Corporation | System and method for detecting and storing file identity change information within a file system |
US20050160427A1 (en) | 2003-12-16 | 2005-07-21 | Eric Ustaris | System and method for managing log files |
US20050203976A1 (en) * | 2004-02-11 | 2005-09-15 | University Of California | Systems, tools and methods for transferring files and metadata to and from a storage means |
US8019925B1 (en) | 2004-05-06 | 2011-09-13 | Seagate Technology Llc | Methods and structure for dynamically mapped mass storage device |
US8352439B1 (en) | 2004-06-03 | 2013-01-08 | Emc Corporation | Database verification following database write |
US7606998B2 (en) | 2004-09-10 | 2009-10-20 | Cavium Networks, Inc. | Store instruction ordering for multi-core processor |
US8122193B2 (en) | 2004-12-21 | 2012-02-21 | Samsung Electronics Co., Ltd. | Storage device and user device including the same |
US7392266B2 (en) | 2005-03-17 | 2008-06-24 | International Business Machines Corporation | Apparatus and method for monitoring usage of components in a database index |
US7577689B1 (en) | 2005-06-15 | 2009-08-18 | Adobe Systems Incorporated | Method and system to archive data |
US7814078B1 (en) | 2005-06-20 | 2010-10-12 | Hewlett-Packard Development Company, L.P. | Identification of files with similar content |
US20070011472A1 (en) | 2005-07-05 | 2007-01-11 | Ju-Soft Co., Ltd | Secure power-saving harddisk storage system and method |
JP4333655B2 (ja) | 2005-08-24 | 2009-09-16 | ソニー株式会社 | コンテンツ受信装置およびコンテンツ受信方法 |
US20070079087A1 (en) | 2005-09-29 | 2007-04-05 | Copan Systems, Inc. | User interface for archival storage of data |
US9026758B2 (en) | 2005-09-30 | 2015-05-05 | Cleversafe, Inc. | Memory device utilization in a dispersed storage network |
US7509471B2 (en) | 2005-10-27 | 2009-03-24 | Sandisk Corporation | Methods for adaptively handling data writes in non-volatile memories |
US7606844B2 (en) | 2005-12-19 | 2009-10-20 | Commvault Systems, Inc. | System and method for performing replication copy storage operations |
US7716180B2 (en) | 2005-12-29 | 2010-05-11 | Amazon Technologies, Inc. | Distributed storage system with web services client interface |
US8060473B1 (en) | 2006-01-17 | 2011-11-15 | Symantec Operating Corporation | System and method for conveying backup and restore data via email |
US20070174362A1 (en) | 2006-01-18 | 2007-07-26 | Duc Pham | System and methods for secure digital data archiving and access auditing |
US7840969B2 (en) | 2006-04-28 | 2010-11-23 | Netapp, Inc. | System and method for management of jobs in a cluster environment |
JP2010503080A (ja) | 2006-08-31 | 2010-01-28 | リアルネットワークス,インコーポレーテッド | Apiアクセス可能メディア配布システム |
JP4939152B2 (ja) * | 2006-09-13 | 2012-05-23 | 株式会社日立製作所 | データ管理システム及びデータ管理方法 |
JP4767139B2 (ja) | 2006-09-15 | 2011-09-07 | 富士通株式会社 | ストレージ管理プログラム、ストレージ管理装置、およびストレージ管理方法 |
US20080120164A1 (en) | 2006-11-17 | 2008-05-22 | Avaya Technology Llc | Contact center agent work awareness algorithm |
US9124650B2 (en) | 2006-12-13 | 2015-09-01 | Quickplay Media Inc. | Digital rights management in a mobile environment |
US8468244B2 (en) | 2007-01-05 | 2013-06-18 | Digital Doors, Inc. | Digital information infrastructure and method for security designated data and with granular data stores |
US8015158B1 (en) | 2007-04-23 | 2011-09-06 | Netapp, Inc. | Copy-less restoring of transaction files of a database system |
US7827201B1 (en) | 2007-04-27 | 2010-11-02 | Network Appliance, Inc. | Merging containers in a multi-container system |
US8671076B2 (en) * | 2007-05-08 | 2014-03-11 | Bmc Software, Inc. | Database recovery using logs applied to consistent copies |
JP2008287633A (ja) | 2007-05-21 | 2008-11-27 | Fujitsu Ltd | Hba情報提供プログラム、hba情報提供方法及びhba情報提供装置 |
JP2008299396A (ja) * | 2007-05-29 | 2008-12-11 | On Site:Kk | 紹介支援装置、紹介支援装置用プログラム、及び紹介支援方法 |
TWI376603B (en) | 2007-09-21 | 2012-11-11 | Phison Electronics Corp | Solid state disk storage system with a parallel accessing architecture and a solid state disk controller |
US7925733B2 (en) | 2007-12-12 | 2011-04-12 | International Business Machines Corporation | Generating unique object identifiers for network management objects |
US20090164506A1 (en) | 2007-12-19 | 2009-06-25 | Casdex, Inc. | System and Method for Content-Based Email Authentication |
JP4606455B2 (ja) | 2007-12-20 | 2011-01-05 | 富士通株式会社 | ストレージ管理装置、ストレージ管理プログラムおよびストレージシステム |
US7979670B2 (en) * | 2008-01-24 | 2011-07-12 | Quantum Corporation | Methods and systems for vectored data de-duplication |
US8140909B2 (en) | 2008-02-22 | 2012-03-20 | International Business Machines Corporation | Efficient method to detect disk write errors |
US8112424B2 (en) | 2008-03-11 | 2012-02-07 | International Business Machines Corporation | Flexible and resilient information collaboration management infrastructure |
BRPI0822590A2 (pt) | 2008-04-21 | 2015-06-23 | Adaptive Computing Entpr Inc | Sistema de computador para gerenciamento do consumo de energia em um ambiente de computador |
US7937619B2 (en) | 2008-05-30 | 2011-05-03 | Red Hat, Inc. | Fine grained failure detection in distributed computing |
US9053212B2 (en) * | 2008-08-06 | 2015-06-09 | Intelli-Services, Inc. | Multi-dimensional metadata in research recordkeeping |
US20100037056A1 (en) | 2008-08-07 | 2010-02-11 | Follis Benjamin D | Method to support privacy preserving secure data management in archival systems |
US8130554B1 (en) | 2008-09-29 | 2012-03-06 | Emc Corporation | Securely erasing flash-based memory |
US20100094819A1 (en) | 2008-10-10 | 2010-04-15 | Sap Ag | Concurrent collaborative process for data management and retrieval |
KR101028929B1 (ko) | 2008-12-31 | 2011-04-12 | 성균관대학교산학협력단 | 실시간 시스템을 위한 로그 블록 연관성 분산 방법 및 이를수행하는 플래시 메모리 장치 |
US20100235409A1 (en) | 2009-03-10 | 2010-09-16 | Global Relay Communications Inc. | System and method for managing data stored in a data network |
US8434131B2 (en) | 2009-03-20 | 2013-04-30 | Commvault Systems, Inc. | Managing connections in a data storage system |
US8478799B2 (en) | 2009-06-26 | 2013-07-02 | Simplivity Corporation | Namespace file system accessing an object store |
JP5424765B2 (ja) | 2009-07-28 | 2014-02-26 | キヤノン株式会社 | 監視装置及び情報処理方法 |
US8310786B2 (en) | 2009-09-09 | 2012-11-13 | Hitachi Global Storage Technologies Netherlands B.V. | Asymmetric writer for shingled magnetic recording |
US8171257B2 (en) | 2009-09-25 | 2012-05-01 | International Business Machines Corporation | Determining an end of valid log in a log of write records using a next pointer and a far ahead pointer |
US8438456B2 (en) | 2009-10-05 | 2013-05-07 | Cleversafe, Inc. | Method and apparatus for dispersed storage of streaming data |
US9043489B2 (en) | 2009-10-30 | 2015-05-26 | Cleversafe, Inc. | Router-based dispersed storage network method and apparatus |
US8654784B2 (en) | 2010-03-11 | 2014-02-18 | Microsoft Corporation | Multi-stage large send offload |
US20110247074A1 (en) * | 2010-03-30 | 2011-10-06 | Manring Bradley A C | Metadata-based access, security, and compliance control of software generated files |
US8234372B2 (en) | 2010-05-05 | 2012-07-31 | Go Daddy Operating Company, LLC | Writing a file to a cloud storage solution |
US8762340B2 (en) | 2010-05-14 | 2014-06-24 | Salesforce.Com, Inc. | Methods and systems for backing up a search index in a multi-tenant database environment |
US8370315B1 (en) | 2010-05-28 | 2013-02-05 | Symantec Corporation | System and method for high performance deduplication indexing |
WO2012021839A2 (en) | 2010-08-12 | 2012-02-16 | Orsini Rick L | Systems and methods for secure remote storage |
US8291170B1 (en) | 2010-08-19 | 2012-10-16 | Symantec Corporation | System and method for event driven backup data storage |
US8620870B2 (en) | 2010-09-30 | 2013-12-31 | Commvault Systems, Inc. | Efficient data management improvements, such as docking limited-feature data management modules to a full-featured data management system |
US20120137062A1 (en) | 2010-11-30 | 2012-05-31 | International Business Machines Corporation | Leveraging coalesced memory |
US8538938B2 (en) | 2010-12-02 | 2013-09-17 | At&T Intellectual Property I, L.P. | Interactive proof to validate outsourced data stream processing |
US8589257B2 (en) | 2010-12-31 | 2013-11-19 | Nulogy Corporation | Method, system and apparatus for managing inventory |
US8977834B2 (en) | 2011-02-14 | 2015-03-10 | Seagate Technology Llc | Dynamic storage regions |
US8832409B2 (en) | 2011-03-09 | 2014-09-09 | Seagate Technology Llc | Dynamic guarding of a storage media |
US8706963B2 (en) | 2011-06-02 | 2014-04-22 | Hitachi, Ltd. | Storage managing system, computer system, and storage managing method |
US8930691B2 (en) | 2011-08-16 | 2015-01-06 | Microsoft Corporation | Dynamic symmetric searchable encryption |
US9135269B2 (en) | 2011-12-07 | 2015-09-15 | Egnyte, Inc. | System and method of implementing an object storage infrastructure for cloud-based services |
-
2012
- 2012-08-08 US US13/569,994 patent/US9213709B2/en active Active
-
2013
- 2013-08-06 JP JP2015526652A patent/JP6224102B2/ja not_active Expired - Fee Related
- 2013-08-06 CN CN201380042169.7A patent/CN104603740B/zh active Active
- 2013-08-06 CA CA2881475A patent/CA2881475C/en active Active
- 2013-08-06 WO PCT/US2013/053853 patent/WO2014025821A2/en active Application Filing
- 2013-08-06 EP EP13827419.6A patent/EP2883132B1/en active Active
- 2013-08-06 IN IN1689DEN2015 patent/IN2015DN01689A/en unknown
-
2015
- 2015-12-07 US US14/961,742 patent/US20160085797A1/en not_active Abandoned
-
2017
- 2017-08-07 JP JP2017152756A patent/JP2017228302A/ja active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6604224B1 (en) * | 1999-03-31 | 2003-08-05 | Diva Systems Corporation | Method of performing content integrity analysis of a data stream |
WO2002027489A2 (en) * | 2000-09-28 | 2002-04-04 | Curl Corporation | Persistent data storage for client computer software programs |
CN1799051A (zh) * | 2003-06-03 | 2006-07-05 | 株式会社爱可信 | 使用页面存储文件浏览内容的方法 |
CN1487451A (zh) * | 2003-08-12 | 2004-04-07 | 上海交通大学 | 基于mpeg-7的远程教学领域的流媒体检索系统 |
US20110161679A1 (en) * | 2009-12-29 | 2011-06-30 | Cleversafe, Inc. | Time based dispersed storage access |
US20120079562A1 (en) * | 2010-09-24 | 2012-03-29 | Nokia Corporation | Method and apparatus for validating resource identifier |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105678190A (zh) * | 2016-03-01 | 2016-06-15 | 福建省闽保信息技术股份有限公司 | 数据封存审计系统 |
CN105867844A (zh) * | 2016-03-28 | 2016-08-17 | 联想(北京)有限公司 | 一种命令控制方法及存储设备 |
CN105867844B (zh) * | 2016-03-28 | 2019-01-25 | 北京联想核芯科技有限公司 | 一种命令控制方法及存储设备 |
WO2020113549A1 (en) * | 2018-12-07 | 2020-06-11 | Alibaba Group Holding Limited | External staging storage cluster mechanism to optimize archival data storage system on shingled magnetic recording hard disk drives |
TWI769835B (zh) * | 2020-05-28 | 2022-07-01 | 日商杰富意鋼鐵股份有限公司 | 資訊檢索系統 |
Also Published As
Publication number | Publication date |
---|---|
CA2881475A1 (en) | 2014-02-13 |
US20160085797A1 (en) | 2016-03-24 |
EP2883132A2 (en) | 2015-06-17 |
WO2014025821A2 (en) | 2014-02-13 |
US20140046906A1 (en) | 2014-02-13 |
US9213709B2 (en) | 2015-12-15 |
EP2883132B1 (en) | 2019-05-01 |
WO2014025821A3 (en) | 2014-04-17 |
JP2017228302A (ja) | 2017-12-28 |
JP2015534143A (ja) | 2015-11-26 |
CN104603740B (zh) | 2018-03-13 |
CA2881475C (en) | 2019-12-17 |
EP2883132A4 (en) | 2015-07-22 |
JP6224102B2 (ja) | 2017-11-01 |
IN2015DN01689A (zh) | 2015-07-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104603740B (zh) | 归档数据识别 | |
US20200327113A1 (en) | Data storage application programming interface | |
US9465551B1 (en) | Write horizon data management | |
US10157199B2 (en) | Data storage integrity validation | |
US9767129B2 (en) | Data storage inventory indexing | |
US9092441B1 (en) | Archival data organization and management | |
US9563681B1 (en) | Archival data flow management | |
US9767098B2 (en) | Archival data storage system | |
US9830111B1 (en) | Data storage space management | |
CN104603776A (zh) | 归档数据存储系统 | |
US10120579B1 (en) | Data storage management for sequentially written media | |
US10558581B1 (en) | Systems and techniques for data recovery in a keymapless data storage system | |
US9652487B1 (en) | Programmable checksum calculations on data storage devices | |
CN101647006A (zh) | 用于数据备份的方法和系统 | |
US9779035B1 (en) | Log-based data storage on sequentially written media | |
Gangathade et al. | Review on Secure System With Improved Reliability Using Distributed Deduplication |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |