CN104662537B - 用于固态和非对称访问的集成数据保留策略 - Google Patents
用于固态和非对称访问的集成数据保留策略 Download PDFInfo
- Publication number
- CN104662537B CN104662537B CN201380049664.0A CN201380049664A CN104662537B CN 104662537 B CN104662537 B CN 104662537B CN 201380049664 A CN201380049664 A CN 201380049664A CN 104662537 B CN104662537 B CN 104662537B
- Authority
- CN
- China
- Prior art keywords
- content
- equipment
- retention strategy
- storage
- client
- 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.)
- Active
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/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
-
- 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
-
- 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
-
- 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/122—File system administration, e.g. details of archiving or snapshots using management policies
-
- 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/13—File access structures, e.g. distributed indices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/40—Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
-
- 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/93—Document management systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Business, Economics & Management (AREA)
- General Business, Economics & Management (AREA)
- Multimedia (AREA)
- Quality & Reliability (AREA)
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开的各实施例提供了用于基于与内容相关联的一个或多个属性来存储该内容的方法和系统。具体而言,本公开提供了确定与计算设备相关联的一个或多个存储设备的存储能力并且还确定与该内容相关联的保留策略。在特定实施例中,该保留策略由该一个或多个属性来标识。当该保留策略以及该一个或多个存储设备的能力已被确定时,基于该保留策略将该内容写到该一个或多个存储设备。
Description
技术领域
本发明涉及用于固态和非对称访问的集成数据保留策略。
背景技术
随着计算设备变得更加流行且更加高级,对于那些计算设备具有更大存储能力存在日益增长的需求。在尝试使这些计算设备的成本保持合理时,有动力通过使用成本较低的材料来创建成本较低的存储设备。然而,由于较便宜的材料被用来创建这些存储设备,因此存储设备的总体生存期降低,进而降低了计算设备的生存期。本公开的各实施例正是对于这些考虑而提出的。尽管讨论了相对具体的问题,但是应当理解,本文中公开的各实施例不应被限于解决本背景技术中所标识的具体问题。
发明内容
提供本概述来以简化形式介绍一些概念,这些概念将在以下详细描述部分中进一步描述。本概述并不旨在标识出所要求保护的主题的关键特征或必要特征,也不旨在用于帮助确定所要求保护的主题的范围。
本公开的各实施例提供了用于基于与内容相关联的一个或多个属性来存储该内容的方法和系统。具体而言,本公开提供了确定与计算设备相关联的一个或多个存储设备的存储能力并且还确定与该内容相关联的保留策略。在特定实施例中,该保留策略由该一个或多个属性来标识。当该保留策略以及该一个或多个存储设备的能力已被确定时,基于该保留策略将该内容写到该一个或多个存储设备。
此处所公开的各实施例可被实现为计算机进程、计算系统、或者诸如计算机程序产品或计算机可读介质等制品。计算机程序产品可以是计算机系统可读的并编码了用于执行计算机进程的指令的计算机程序的计算机存储介质。计算机程序产品还可以是计算系统可读并编码了用于执行计算机过程的指令的计算机程序的载体上的传播信号。
附图说明
通过参考下面的具体实施方式、所附的权利要求书和附图,进一步的特征、各方面和益处将变得更好理解,其中各元素不会缩放以更清晰地示出细节,在若干视图中,相同的附图标记指示相同的元素,并且其中:
图1示出了根据一个或多个实施例的用于基于特定保留策略来存储内容的系统;
图2是示出根据一个或多个实施例的用于存储内容达保留策略所指定的一持续时间的操作流程的框图;
图3示出了根据一个或多个实施例的用于改变与所存储的内容相关联的保留策略的方法;
图4示出了根据一个或多个实施例的当确定内容存储在其上的片段正发生故障或已发生故障时将该内容写入不同片段的方法;
图5示出了执行本文所公开的一个或多个实施例的平板计算设备;
图6示出了适于实现本文所公开的一个或多个实施例的计算环境的框图;
图7A示出执行本文所公开的一个或多个实施例的移动计算设备的一个实施例;
图7B是适于实施本文所公开的一个或多个实施例的示例性移动计算设备的简化框图;以及
图8是适于实施本文所公开的一个或多个实施例的示例性分布式计算系统的简化框图。
具体实施方式
以下将参考形成本发明一部分并示出各具体示例性实施例的附图更详尽地描述各个实施例。然而,各实施例可以以许多不同的形式来实现,并且不应将其解释为限制此处所阐述的各实施例;相反地,提供这些实施例以使得本公开变得透彻和完整,并且将这些实施例的范围完全传达给本领域普通技术人员。各实施例可按照方法、系统或设备来实施。因此,这些实施例可采用硬件实现形式、全软件实现形式或者结合软件和硬件方面的实现形式。因此,以下详细描述并非是局限性的。
图1示出了可用于实现本公开的各个实施例的系统100。如图1所示,系统100可包括客户端110和远程计算机系统或服务器120。尽管图1仅示出一个服务器120,但可以构想服务器120可以是服务器群集(未示出)的一部分。另外,尽管图1中仅示出一个客户端110,但同样可以构想多个客户端可以访问服务器120或者多个客户端可以访问服务器群集中的不同服务器。
在特定实施例中,客户端110可以是个人计算机、膝上型计算机、平板计算机、移动电话等等。客户端110还可以是数字录像机(DVR)、个人音乐播放器等等,或者客户端110可以将此类功能内置。客户端110可以包括可用来存储和访问各类内容112(包括视频、音乐、文档、照片等)的一个或多个存储设备。
内容112可以:(i)通过网络115从服务器120或其他源被流送至客户端110,(ii)由客户端110存储,或(iii)通过网络115从客户端110发送至服务器120或其他外部存储设备或服务。
在一实施例中,内容112可被存储在客户端110上达各持续时间,包括永久存储。在特定实施例中,该持续时间可以由用户指定。此外,该持续时间对于所存储的内容的不同部分可以变化。在另一实施例中,可以基于内容112的类型或基于要使用该内容的目的将内容112存储达默认时间量。例如,可以将与操作系统相关联的临时文件存储达比操作系统内容更短的持续时间。在另一示例中,相对于无可访问主副本的内容,具有存储在不同位置中(诸如存储在服务器120上)的对应主副本的本地内容也可以被存储达更短的持续时间。
在又一示例中,用户可以基于已下载内容的类型来选择将已下载内容存储达不同的持续时间。例如,播客(podcast)可被存储达第一持续时间(例如48小时),而已下载电影可被存储达第二持续时间(例如1年)。
还构想了客户端设备本身的使用类型可以影响与内容相关联的保留策略。例如,如果设备是借出设备或者如果设备正由访客用户(即具有临时用户凭证的用户)使用,则用户所存储的内容的至少一部分(如果不是所有的话)可以具有与临时用户可访问设备的时间段(或临时用户的凭证有效的时间段)等同的保留策略。一旦该时间段过期,则保留策略也可以过期。然而,如果临时时间段被重续,则内容或其部分可被加固达新的临时时间段,诸如以下参考图3描述的。
还构想了客户端110可以基于内容的类型、对内容的预期使用、以及内容要被写入到其的存储设备的能力将该内容存储在各种存储设备上。如下文将解释的,当内容112被写到存储设备时,注意确保按以下方式将内容112写到存储设备:该方式将延长存储设备的生存期同时仍保留内容112至少达与内容112相关联的保留策略所指定的持续时间。
在特定实施例中,客户端110可以被配置成自发现其自身的存储能力。这包括发现客户端110本地的每一存储设备的特性和属性。作为发现过程的一部分,客户端110可以查询一个或多个存储设备,以便确定关于各种保留策略的、与其存储属性和能力有关的信息。客户端110还可以针对存储设备的性能能力来查询每一存储设备,诸如举例而言,存储设备是否能够保留内容112达各个时间量。客户端110还可以针对存储设备的内部布局以及具有不同保留能力的非统一可寻址片段的存在,基于备份这些片段的存储设备或介质的物理区别来查询存储设备。
如下文将更详细地解释的,客户端110还可以发现特定存储设备中哪些片段或哪个范围的片段正发生故障或已发生故障。另外,客户端110可以发现或跟踪磨损(即,存储设备上各个片段或各个范围的片段上已发生的写入或擦除周期的数量),以尝试执行磨损均衡化(即,将写入相等地分布至各个片段),由此延长存储设备的生存期。这一过程还可用来通知客户端110哪些片段具有较高磨损级别,从而当内容被写到具有较高磨损级别的片段时如有必要就可以使用更多功率。在使数据与各种保留策略匹配时可以考虑客户端110所收集的关于累积磨损的信息。
在特定实施例中,以上描述的发现过程可以以规则的间隔或周期性间隔发生,间隔的长度可由存储设备的物理本质来指示。在另一实施例中,发现过程可在客户端110接收到新内容112时发生。在又一实施例中,发现过程可在与内容112相关联的保留策略被改变时发生。
例如,用户可以将特定播客的保留策略从48小时改变成两周。将保留策略从第一时间段改变成第二、更长时间段的过程被称为加固。当加固过程被发起时,客户端110可以确定将内容从所存储的位置重写到新位置。随着对内容的保留的持续时间增加,客户端110可以动态地选择一功率级,该功率级在内容112被写到新指定的片段或片段范围时将致使内容112被存储至少达所选持续时间。另外,在确定指定片段具有较高磨损级别(即,所标识的片段已被写入和/或擦除数次)的情况下,客户端110在将内容112写到这些指定片段时可以动态地选择一高功率级。此外,如以上讨论的,在已发现非统一分段的情况下,客户端110可以选择将内容写到较高保留介质所备份的新片段。例如,客户端110可以针对存储设备的内部布局以及具有不同保留能力的非统一可寻址片段的存在,基于备份这些片段的存储设备的物理区别来查询存储设备。
发现过程还可由客户端110用来请求每一存储设备执行对其自身能力和性能级别的分析。例如,每一存储设备可以对特定存储设备所存储的内容或对该存储设备的各个片段执行校验和或其他错误检测算法。因此,每一存储设备可以监视每一片段并且确定:(i)哪些片段(如果有的话)正发生故障,(ii)哪些片段具有能被擦除或盖写的内容(由于与那些片段中的内容相关联的保留策略过期),以及(iii)任何内容是否已变得损坏或丢失并且需要从原始源或从存储在另一存储设备、客户端或存储服务上的主副本中取回。这样的监视可以周期性地发生,由个别写入以及检错和纠错逻辑的计算来触发,或者经由固件信号由内部设备机制来触发。
如果这些片段中的任一个已发生故障、或者如果某一内容丢失,则客户端110可被配置成自动地尝试取回内容或已丢失部分,并且将内容存储在新位置达保留策略所指定的时间量(或剩余时间量)。在另一实施例中,一旦检测到故障,客户端110就可告知用户发生故障的片段和/或已丢失内容。此时,客户端110可以自动地尝试恢复已丢失内容或者等待接收这样做的明确指令。
如以上讨论的,客户端110可以将内容112存储在服务器120上。在这样的实施例中,客户端110可以查询服务器120以确定服务器120所利用的每一存储设备的特性和属性。如同以上讨论的客户端110的自发现过程,客户端110可以查询服务器120以确定服务器120所利用的一个或多个存储设备的存储属性和能力。在各实施例中,服务器120所利用的一个或多个存储设备的存储属性和能力可包括一个或多个存储设备所支持的保留策略。客户端110还可以查询服务器120以确定服务器120所利用的每一存储设备的性能能力。这一确定可以包括存储设备是否能够保留内容112达与要被存储在服务器120上的内容的类型相关联的特定时间量。该确定还可以包括服务器120是否能基于用户偏好来存储内容。
在特定实施例中,在客户端110建立与服务器120的会话时,客户端110可以向服务器120查询关于服务器120所利用的存储设备的性能特征和属性。在各实施例中,该会话是经由客户端110与服务器120之间所发送的一系列请求和响应来与服务器120建立的。在一个实施例中,会话是使用文件访问协议来协商的,诸如服务器消息块(SMB)协议的版本或网络文件服务器(NFS)协议的版本。在一些实施例中,服务器软件将自动地把附连于服务器120的物理存储节点的保留能力转换并映射到客户端110可见的可寻址块的逻辑片段。
为建立与服务器120的经认证会话,客户端110建立与服务器120的连接。如以上讨论的,客户端110与服务器120之间的连接可以使用网络115来建立。一旦建立了连接,客户端110就向服务器120发送协商请求121。在特定实施例中,协商请求121是客户端110用来向服务器120告知客户端110理解通信协议的什么方言的分组。在特定实施例中,协商请求121还可以包括客户端110在其中请求服务器120标识服务器120所利用的存储设备的存储属性和能力的查询。在其他实施例中,服务器120通过使用虚拟片段抽象出来自客户端110的物理存储设备的本质。
协商请求121还可以包括有关客户端110的附加信息。附加信息可以包括:(i)指定了安全签名是否在该客户端110上被启用、是否被客户端110要求、或被启用且被要求两者的安全模式;(ii)指定了客户端110是否支持以下各项等的能力信息:(a)分布式文件系统(DFS)、(b)租用、(c)多信用操作、(d)对用于单个会话的多信道的建立、(e)持久处理程序、(f)目录租用、(g)加密等,以及(iii)由客户端110生成的客户端标识符。尽管公开了具体的附加的基于客户端的信息,但可以构想并且本领域技术人员将认识到协商请求121可以包括并非以上具体阐述的附加信息。
当服务器120接收协商请求121时,服务器120用协商响应122作出响应。在特定实施例中,协商响应122是服务器120所发送的用于向客户端110告知通信协议的优选公共方言的数据分组。协商响应122还可以包括与服务器120所利用的存储设备有关的所请求的信息。这一信息可以包括所利用的存储设备的类型以及每一存储设备支持的保留策略。其他信息可以包括每一存储设备的性能特征,诸如举例而言,特定存储设备是否丢失内容或者存储设备的特定片段是否已发生故障或正发生故障。在特定实施例中,一旦客户端110接收到这一信息,客户端就可存储该信息,从而客户端之后能指令服务器120如何存储内容112以及将内容112存储在哪里。在其他实施例中,客户端110接收并存储与虚拟片段有关的保留信息,这些虚拟片段由服务器120基于内部映射算法映射到特定存储设备。
在特定实施例中,协商响应122还可以包括与服务器120有关的附加信息。在各实施例中,这一信息可以包括:(i)指定了安全签名是否在服务器120上被启用、是否被服务器120要求、或被服务器120启用且要求的安全模式;(ii)指定了服务器120是否支持以下各项等的能力信息:(a)分布式文件系统(DFS)、(b)租用、(c)多信用操作、(d)对用于单个会话的多信道的建立、(e)持久处理程序、(f)目录租用、(g)加密等,以及(iii)由服务器120生成的唯一标识服务器120的服务器标识符。尽管已经公开了具体信息,但可以构想协商请求112可以包括并非以上具体阐述的附加信息。
一旦客户端110接收到协商响应122,客户端110就可以在会话被建立之前发送附加请求并且接收对那些请求的响应。这些请求和响应包括:(i)会话设立请求(未示出),其由客户端110用来使用经协商的通信协议或结构请求与服务器120的新认证会话,(ii)会话设立响应(未示出),其从服务器120发往客户端110且包括与客户端110与服务器之间的会话先前是否已建立或者该会话设立响应是否必须作为新认证来处理相对应的信息,(iii)确认请求(未示出),其从客户端110发往服务器120以验证包含在协商请求112分组中的信息没有被中间人攻击更改或改变,以及(iv)确认响应(未示出),其从服务器120发往客户端110,使得客户端110能够将包含在确认响应中的信息与包含在协商响应中的信息作比较以确保客户端110与服务器120之间的已建立会话是安全的。
回头参考客户端110的自发现过程,一旦客户端110发现了其存储能力,客户端可以:(i)接收内容112;(ii)确定与内容112相关联的保留策略,或(iii)指定将用于存储内容112的保留策略。如以上讨论的,内容112的保留策略可以专用于内容112的类型或对内容112的预期使用。例如,内容112可以是在本地高速缓存中仅保存几个小时的流送内容。在另一示例中,内容112可以从服务器120或其他源被下载,并且由此可以存储达更长的持续时间。
在特定实施例中,内容112的保留策略由与内容相关联的元数据或其他此类数据来指定。在其他实施例中,内容112的保留策略可以是专用于内容112的类型或对内容112的预期使用的默认保留策略。如先前讨论的,临时文件可以具有两天的默认保留策略130,而操作系统内容可以具有一年的默认保留策略。在特定实施例中,保留策略可以由用户指定。另外,尽管特定类型的内容可以具有默认保留策略,但用户随后可以通过改变与内容相关联的保留策略来加固内容112。
当客户端110确定或指定了与内容112相关联的保留策略时,客户端110可以将内容写到特定存储设备。在各实施例中,客户端110使用与保留策略相关联的功率级将内容写到特定存储设备。例如,如果内容将被存储一短时间量,则与内容112要被存储一更长时间量的情况下相比客户端110使用更少能量。在特定存储设备中写入内容所要求的能量的量还可以通过该存储设备中特定片段的磨损级别来确定。例如,如果存储设备中特定片段已被写入较多次,则那些片段的可靠性将降低。因此,可能要求更高功率量以将内容112写到那些片段达保留策略所指定的时间量。在其他实施例中,附连到客户端110的存储设备可以包括不同物理层的分层结构,这些不同物理层中的每一个向客户端110报告不同的保留能力以及不同的写入参数。在这些情况下,在客户端110上运行的操作系统中的软件可以基于保留策略、当前功率策略、以及存储设备中这些片段的物理属性来执行优化,以发现数据的最优放置。
在一实施例中,客户端110可以确定或跟踪每一存储设备中这些片段中的每一个的磨损级别。这可以包括用于每次写入的功率量或用于所有写入的功率总量。客户端110还可以确定或跟踪存储设备中哪些片段具有能被擦除(由于与那些片段中的内容112相关联的保留策略已过期)以及被重写入的内容112。由此,客户端110能够确定存储设备中哪些片段将最适于使用该写入所要求的能量的最小量来存储内容。例如,如果存储设备中特定片段相比于其他片段被写入了较多次、或被标识为开始发生故障,则应当避免使用较低能量写入那些片段(即,为仅仅将被存储一短持续时间的内容进行写入)。
在其中内容112将被存储在服务器120上的各实施例中,客户端110可以向服务器120传送内容112以及与保留策略130相对应的信息。在特定实施例中,当接收到内容和保留策略时,服务器120根据保留策略130将内容112写到与服务器120相关联的一个或多个存储设备。如同客户端110,服务器120可以确定或跟踪服务器120所利用的一个或多个存储设备中每一片段的磨损级别、以及已用于将内容112写到这些片段的各种功率量。服务器120还可以确定或跟踪哪些片段包含具有过期保留策略的内容112,从而那些片段能被重用。例如,附连到服务器120的客户端110存储设备可以包括具有不同物理本质的层。因此,可以要求服务器120上的操作系统在根据片段的保留策略和功率概况来将数据放置在各个片段之前,对存储设备执行映射算法。
图2示出了根据一个或多个实施例的用于存储内容达保留策略所指定的一持续时间的方法200。在特定实施例中,系统(诸如系统100(图1))的一个或多个组件可以采用方法200来根据指定或确定的保留策略本地或远程地存储内容。本文公开的各实施例使得计算设备上的操作系统能够根据保留策略来存储内容,而无需对设备固件重新编程或无需通过使用直通硬件协议。以下公开的各方法由文件系统和操作系统来处理,使得用于存储内容的这些应用不需要被改变或更改成支持各种保留策略。这可以通过扩展操作系统的应用编程接口(API)使得操作系统的文件系统处理每一内容项的保留策略来实现。操作系统组件,诸如举例而言,在服务器120上运行的块存储设备栈的文件系统考虑:(i)物理设备的已发现能力,(ii)已安装的保留策略,以及(iii)与内容相关联的特定保留策略和属性。
方法200始于操作210,在操作210确定各个存储设备的能力。在特定实施例中,客户端设备可以确定该客户端设备本地的每一存储设备的特性和属性。这可以包括确定每一存储设备的存储属性和能力以及每一存储设备的性能能力。例如,客户端设备可以确定:(i)哪个存储设备、哪些片段或哪个范围的片段能存储内容达特定时间段,(ii)哪些存储设备、哪些片段或哪些范围的片段具有带有过期的或几乎过期的保留策略的内容,(iii)哪些片段或哪个范围的片段已发生故障或正发生故障,(iv)每一片段或每一范围的片段已被写入的次数,以及(v)哪些片段最能够执行数据擦除,以符合保留策略。
在特定实施例中,过程210可以发生在网络连接上。例如,在客户端与服务器之间的会话设立期间,客户端可以向服务器发送对于服务器所利用的存储设备的存储设备能力和性能特征的请求。
一旦确定了设备的存储能力,流程就前进至操作220,在操作220作出关于与特定内容相关联的保留策略的确定。根据各实施例,该确定可以基于内容的类型或对内容的预期使用来作出。在另一实施例中,操作220可以用来指定与内容相关联的保留策略。例如,可以基于用户偏好向内容分配保留策略。在又一实施例中,用户可以指定向特定类型的所有内容分配同一保留策略。
当确定了内容的保留策略时,流程前进至操作230,在操作230基于指定或确定的保留策略将内容写到存储设备。如以上讨论的,使用基于指定保留策略的变化功率级来将内容写到存储设备(或其片段)。例如,如果保留策略要求内容被保存一长持续时间,则高功率量被用来将内容写到存储设备。如果保留策略要求内容被保存一短持续时间,则低功率量被用来将内容写到存储设备。尽管具体提到了功率级,但可以构想将保留策略设置映射到各种存储设备的物理保留能力可以通过使用除功率以外的变量特征(诸如举例而言,较高或较低温度)来实现。
在特定实施例中,内容连同指示以下各项的其他数据被写到所选存储设备:(i)内容何时被写到该片段或该范围的片段,以及(ii)内容的保留策略。一旦保留策略期满,则这些片段可以被擦除或被新内容盖写。在另一实施例中,甚至在保留策略期满之后,内容仍可能可用。因此,在内容未被新内容盖写的情况下或内容全部都完好的情况下,用户可以请求该内容。如果内容不是全部完好的,则各实施例提出了可以作出从源或从另一位置取回该内容的尝试。
由于特定片段或特定范围的片段的性能能力和/或磨损级别,客户端可以选择将内容写到该特定片段或特定范围的片段。例如,如果确定特定片段具有高磨损级别(由此要求更大量的功率被用来将内容写到该片段),则客户端会避免将具有低保留策略的内容写到该片段,因为低保留策略可能要求使用更低功率级将内容写到片段。如果使用低功率将内容写到高磨损级别的片段,则在保留策略过期之前内容可能丢失。
在其中内容要被存储在服务器或其他远程计算设备上的各实施例中,将内容连同其相关联的保留策略传送给该服务器或远程计算设备。一旦该服务器或远程计算设备接收到内容和保留策略,内容就使用诸如以上描述的指定保留策略被写到存储设备。
图3示出了根据一个或多个实施例的用于改变与所存储的内容相关联的保留策略的方法300。以下参考方法300描述的过程和各示例可用在例如内容被加固时(即,在与内容相关联的保留策略从第一持续时间改变成第二、更长的持续时间时)。构想了可以对本地存储的内容以及远程存储的内容使用以下描述的方法300。还构想了类似方法或其各部分可用在与内容相关联的保留策略被软化或以其他方式从第一持续时间改变成第二、更短的持续时间时。例如,相对于会使内容保持原始时间长度的原始重写量(例如,20次),缩短或软化一保证会允许内容在第一、更短的重写量(例如,10次)之后过期。
方法300在接收到对加固310内容的请求时开始。在特定实施例中,请求可经由用户输入来接收。例如,如果特定内容项具有指定要将该内容项要被存储达48小时的保留策略,则将保留策略从48小时改变成一周的用户输入可以被接收。在另一实施例中,用户可以请求具有类似特性的所有内容项(即,具有相同类型或预期使用的各内容项,诸如电影、播客、电视节目等)使其相应的保留策略加固。在又一实施例中,可以在与临时用户相关联的用户凭证被延长时接收请求。在另一实施例中,操作系统可以基于来自内容拥有者的已授权请求来执行保留策略改变。
响应于请求,流程前进至操作320,在操作320根据原始保留策略作出关于还剩余多少时间的确定。例如,如果保留策略指定要将内容项保存达至少2周,并且已经过去了1周,则保留策略将还剩1周。基于以下各项中的一个或多个:(i)剩余时间,(ii)对用于最初将内容项写到存储设备的功率量的确定,或(iii)纠错的剩余校验和能力,可以作出关于是否需要将内容项重写到另一片段或者是否仅需要改变与内容项相关联的保留策略而无需重写内容项的确定。
在另一实施例中,操作320中的确定可以仅仅基于最初将内容项写到存储设备的片段使用了多少功率。如果最初使用低功率将内容项写到存储设备,并且保留策略被改变成更长时间段,则可能需要使用更高功率将内容项重写到不同片段。然而,如果最初用于写内容项的功率量将满足保留策略所指定的更长时间段,则已更新保留策略与内容项相关联,而无需在不同位置中重写内容项。
在又一实施例中,作出关于内容项被存储其中的特定片段的磨损级别的确定。如果片段具有高磨损级别或正发生故障,则可以确定特定片段可能不适于保留内容项达新保留策略所指定的持续时间。因此,内容项应被重写到另一位置。在各实施例中,基于从存储设备接收到的返回代码信息或运行周期性诊断例程的结果,主机上运行的操作系统可以确定故障的具体情况以及介质磨损级别。
一旦完成与保留策略的剩余生存期有关的分析,流程前进至操作330,在操作330作出关于是否需要将内容项重写至存储设备上的不同片段的确定。如以上讨论的,这一确定可以基于保留策略上剩余的时间量、和/或用于最初将内容项写到存储设备的功率量。如果确定剩余生存期足以支持新保留策略,或者如果确定用于最初将内容项写到片段的功率级将维持内容达新保留策略所指定的持续时间,则流程前进至操作340,在操作340新保留策略与内容项相关联且与内容项一起存储,而无需将内容项重写至新片段。
然而,如果在操作330确定保留策略中剩余生存期不足以支持新保留策略所指定的持续时间或者用于写内容项的初始功率级没有大到足够支持新保留策略所指定的持续时间,则过程前进至操作350,在操作350将内容项写到新片段。在各实施例中,当选择新片段时,考虑该片段的磨损级别,从而防止某些片段与其他片段相比被更频繁地写入,由此增加存储设备的生存期。
回头参考操作350,当将内容项写到新选择的片段时,可以从存储在另一片段或存储设备中的主副本中访问内容项。或者,内容可以从原始源中下载或流送。在又一实施例中,可以将内容项从其当前位置复制到新位置。一旦将内容项写到新位置,保留策略就被保存或与内容项相关联以确保内容在新保留策略所指定的持续时间内可访问。可将与内容相关联的保留策略存储在同一存储设备上或由操作系统维护的分开的数据库中。
图4示出了根据一个或多个实施例的当确定内容存储在其上的特定片段已发生故障或正发生故障时将该内容写到不同片段的方法400。构想了以下描述的方法400可用于存储在客户端设备本地的内容或者远程地存储在服务器或其他存储服务上的内容。
在操作410作出关于存储设备的状态的确定时,方法400开始。根据一个或多个实施例,客户端设备或服务器设备可以发起对所存储内容以及存储设备的各个片段的校验。这些校验包括:(i)确定哪些片段正发生故障或已发生故障,(ii)确定哪些保留策略仍有效或已过期,以及(iii)确定是否有任何内容已降级。在各实施例中,这一校验可以在接收到新内容时发生。在另一实施例中,该校验可以周期性地发生或基于用户请求或基于用户设置来发生。本文描述的过程可以使用校验和或其他检错算法来实现。
流程前进至操作420,在操作420作出关于存储设备(或其中一个或多个片段)是否正发生故障或已发生故障的确定。如果确定没有片段已发生故障或正发生故障,则流程返回至操作410并且过程根据指定间隔进行重复。
然而,如果在操作420确定一个或多个片段正发生故障,则一个实施例提出了流程直接前进至操作440,在操作440立即向用户告知片段的故障(或向用户告知内容已降级)。一旦发送了通知,流程随后可前进至操作430。在各实施例中,可以向终端用户以及后台中运行的软件代理发送通知。
在另一实施例中,如果在操作420确定一个或多个片段正发生故障或已发生故障,则流程直接前进至操作430,在操作430作出关于存储在正发生故障或已发生故障的片段中的内容的保留策略是否仍起作用的确定。如果保留策略不起作用(即,与保留策略相关联的持续时间已过期),则流程前进至操作440,在操作440向终端用户发送片段正发生故障或已发生故障的通知。
如果与内容项相关联的保留策略仍存在剩余时间,则流程前进至操作450,在操作450作出关于存储在那些片段中的内容是否完整的确定。即,(使用校验和或其他检错算法)作出关于内容是否损坏或已降级或者内容整体是否完好的确定。
如果确定内容损坏或不完整,则流程前进至操作460,并且从诸如举例而言服务器或其他远程源或具有内容的主副本的存储设备之类的另一位置取回内容。一旦内容被取回,流程就前进至以下将讨论的操作470。
回头参考操作450,如果在操作450确定内容是完整的,则流程直接前进至操作470,在操作470作出关于哪些存储位置或片段可用于存储内容的确定。在各实施例中,考虑保留策略中剩余多少时间以及每一潜在存储片段的磨损均衡化。
例如,如果要被移动的内容的保留策略指定了原始两周的保留策略中还剩余一天,则各实施例提出了内容将仅被存储一天,由此满足原始保留策略。因此,更低的功率量可用于将内容写到新片段达剩余时间段。同样,可以考虑哪个片段最适于存储内容达剩余时间段。
流程随后前进至操作480,在操作480使用与指定或剩余保留策略相关联的功率级将内容写到新存储片段。在特定实施例中,在将内容写到新片段时,保留策略或原始保留策略的剩余持续时间与内容一起被存储或与内容相关联。在特定实施例中,将内容放置在新片段中对于应用软件而言是透明的,因为重新映射是由文件系统或操作系统的其他存储栈组件来执行的。
尽管已在结合在计算机上的操作系统上运行的应用程序执行的程序模块的一般上下文中描述了各实施例,但本领域的技术人员将认识到,此处公开的各实施例也可结合其他程序模块实现。一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、组件、数据结构和其他类型的结构。
本文描述的实施例和功能可通过多种计算系统来操作,包括但不限于台式计算机系统、有线和无线计算系统、移动计算系统(如移动电话、上网本、图形输入板或平板型计算机、笔记本计算机、和膝上型计算机)、手持设备、多处理器系统、基于微处理器或可编程消费电子产品、小型计算机、以及大型计算机。图5示出了执行本文所公开的各实施例的示例性平板计算设备500。例如,诸如以上描述的,平板计算设备可以将内容存储在本地或者可以将内容发送给远程设备或存储位置。此外,本文所述的实施例和功能可在分布式系统上操作(如基于云的计算系统),其中应用功能、存储器、数据存储和检索、以及各种处理功能可在诸如因特网或内联网之类的分布式计算网络上彼此远程地操作。各种类型的用户界面和信息可经板载计算设备显示器或经与一个或多个计算设备相关联的远程显示单元被显示。例如,各种类型的用户界面和信息可在墙壁表面上被显示和交互,各种类型的用户界面和信息被投射在墙壁表面上。与可用于实施本发明的各实施例的许多计算系统的交互包括:键击输入、触摸屏输入、语音或其他音频输入、姿势输入(其中相关联的计算设备配备有用于捕捉和解释用于控制计算设备的功能的用户姿势的检测(如相机)功能)等。图6至8以及相关联的描述提供了其中可实施本发明的实施例的各种操作环境的讨论。然而,关于图6到8所示出和讨论的设备和系统是用于示例的目的,而非对可被用于实施本文所述的本发明的各实施例的大量计算设备配置的限制。
图6是示出可用来实施本发明的各实施例的计算设备600的示例性物理组件(即硬件)的框图。下面描述的计算设备组件可适用于上述的计算设备。在基本配置中,计算设备600可包括至少一个处理单元602和系统存储器604。取决于计算设备的配置和类型,系统存储器604可包括,但不限于,易失性存储器(例如,随机存取存储器)、非易失性存储器(例如,只读存储器)、闪存、或这些存储器的任何组合。系统存储器604可包括操作系统605和适合于运行软件应用620的一个或多个程序模块606。操作系统605例如可适合于控制计算设备600的操作。此外,本发明的各实施例可以结合图形库、其他操作系统、或任何其他应用程序来实践,且不限于任何特定应用或系统。该基本配置在图6中由虚线608内的那些组件示出。计算设备600可具有附加特征或功能。例如,计算设备600还可包括附加数据存储设备(可移动和/或不可移动),诸如,例如磁盘、光盘或磁带。这些附加存储在图6中由可移动存储设备609和不可移动存储设备610示出。
如上所述,可在系统存储器604中存储多个程序模块和数据文件。当在处理单元602上执行时,程序模块606可执行各个过程,包括例如,本文描述的这些方法的各步骤中的一个或多个。上述过程是一示例,且处理单元602可执行其他过程。根据本发明的实施例可使用的其他程序模块可包括电子邮件和联系人应用、文字处理应用、电子表格应用、数据库应用、幻灯片演示应用、绘图或计算机辅助应用程序等。
此外,本发明的各实施例可在包括分立电子元件的电路、包含逻辑门的封装或集成电子芯片、利用微处理器的电路、或在包含电子元件或微处理器的单个芯片上实现。例如,可以通过片上系统(SOC)来实施本发明的各实施例,其中,可以将图6中示出的每个或许多组件集成到单个集成电路上。这样的SOC设备可包括一个或多个处理单元、图形单元、通信单元、系统虚拟化单元以及各种应用功能,所有这些都被集成到(或“烧录到”)芯片基板上作为单个集成电路。当通过SOC操作时,在此所述的功能可以通过与计算设备600的其他组件一起集成在单个集成电路(芯片)上的应用专用逻辑来操作。本发明的各实施例还可使用能够执行诸如例如,AND(与)、OR(或)和NOT(非)的逻辑运算的其他技术来实践,包括但不限于,机械、光学、流体和量子技术。另外,本发明的各实施例可以在通用计算机或任何其他电路或系统中实施。
计算设备600还可具有一个或多个输入设备612,诸如键盘、鼠标、笔、声音输入设备、触摸输入设备等。还可包括输出设备614,诸如显示器、扬声器、打印机等。上述设备是示例且可以使用其他设备。计算设备600可包括允许与其他计算设备618进行通信的一个或多个通信连接616。合适的通信连接616的示例包括但不限于RF发射机、接收机和/或收发机电路;通用串行总线(USB)、并行或串行端口、以及适用于与适用的计算机可读介质一起使用的其他连接。
例如,本发明的各实施例可被实现为计算机进程(方法)、计算系统或诸如计算机程序产品或计算机可读介质等制品。计算机程序产品可以是计算机系统可读并编码了用于执行计算机过程的指令的计算机程序的计算机存储介质。
如此处所使用的术语计算机可读介质可包括计算机存储介质和通信介质。计算机存储介质可包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。系统存储器604、可移动存储设备609和不可移动存储设备610都是计算机存储介质(即,存储器存储)的示例。计算机存储介质可以包括,但不限于,RAM、ROM、电可擦除只读存储器(EEPROM)、闪存或其它存储器技术、CD-ROM、数字多功能盘(DVD)或其它光存储、磁带盒、磁带、磁盘存储或其它磁性存储设备、或可用于存储信息且可以由计算设备600访问的任何其它介质。任何这样的计算机存储介质都可以是计算设备600的一部分。
通信媒介可由诸如载波或其他传输机制等已调制数据信号中的计算机可读指令、数据结构、程序模块、或其他数据来体现,并且包括任何信息传递介质。术语“已调制数据信号”可以描述以对该信号中的信息进行编码的方式设定或者改变其一个或多个特征的信号。作为示例而非限制,通信介质包括诸如有线网络或直接线连接等有线介质,以及诸如声学、射频(RF)、红外线和其他无线介质等无线介质。
图7A和7B示出可用来实施本发明的各实施例的移动计算设备700,例如移动电话、智能电话、平板个人计算机、膝上型计算机等。参考图7A,示出了用于实现各实施例的示例性移动计算设备700。在一基本配置中,移动计算设备700是具有输入元件和输出元件两者的手持式计算机。移动计算设备700通常包括显示器705以及允许用户将信息输入到移动计算设备700中的一个或多个输入按钮710。移动计算设备700的显示器705也可充当输入设备(如触摸屏显示器)。如果包括,则可任选的侧输入元件715允许进一步的用户输入。侧输入元件715可以是旋转开关、按钮、或任何其他类型的手动输入元件。在替代实施例中,移动计算设备700可结合更多或更少的输入元件。例如,在某些实施例中,显示器705可以不是触摸屏。在又一替代实施例中,移动计算设备700是诸如蜂窝电话之类的便携式电话系统。移动计算设备700还可包括可选的键区735。可选的键区735可以是物理键区或者在触摸屏显示器上生成的“软”键区。在各种实施例中,输出元件包括用于示出图形用户界面(GUI)的显示器705、可视指示器720(如发光二极管)、和/或音频换能器725(如扬声器)。在某些实施例中,移动计算设备700结合振动换能器来向用户提供触觉反馈。在又一实施例中,移动计算设备700结合诸如音频输入(如传声器插孔)、音频输出(如耳机插孔)、以及视频输出(如HDMI端口)之类的输入和/或输出端口,用于将信号发送到外部设备或从外部设备接收信号。
图7B是示出移动计算设备的一个实施例的架构的框图。即,移动计算设备700可结合系统(即架构)702以实现某些实施例。在一个实施例中,系统702被实现为能够运行一个或多个应用(如浏览器、电子邮件、日历、联系人管理器、消息收发客户端、游戏、以及媒体客户端/播放器)的“智能电话”。在某些实施例中,系统702被集成为计算设备,诸如集成的个人数字助理(PDA)和无线电话。
一个或多个应用程序766可被加载到存储器762中并在操作系统764上或与操作系统764相关联地运行。应用程序的示例包括电话拨号程序、电子邮件程序、个人信息管理(PIM)程序、文字处理程序、电子表格程序、因特网浏览器程序、消息收发程序等等。系统702还包括存储器762内的非易失性存储区768。非易失性存储区768可被用于存储在系统702断电时不会丢失的持久信息。应用程序766可使用信息并将信息存储在非易失性存储区768中,如电子邮件应用使用的电子邮件或其他消息等。同步应用(未示出)也驻留于系统702上且被编程为与驻留在主机计算机上的对应的同步应用交互,以保持非易失性存储区768中存储的信息与主机计算机处存储的相应信息同步。应当理解的,其他应用也可被加载到存储器762并在移动计算设备700上运行。
系统702具有可被实现为一个或多个电池的电源770。电源770还可包括外部功率源,如补充电池或对电池充电的AC适配器或加电对接托架。
系统702还可包括执行发射和接收无线电频率通信的功能的无线电772。无线电772通过通信运营商或服务供应商方便了系统702与“外部世界”之间的无线连接。来往无线电772的传输是在操作系统764的控制下进行的。换言之,无线电772接收的通信可通过操作系统764传播到应用程序766,反之亦然。
无线电772允许系统702例如通过网络与其他计算设备通信。无线电772是通信介质的一个示例。通信介质通常由诸如载波或其他传输机制之类的已调制数据信号中的计算机可读指令、数据结构、程序模块、或其他数据来体现,并且包括任何信息传送介质。术语“已调制数据信号”是指使得以在信号中编码信息的方式来设置或改变其一个或多个特性的信号。作为示例而非限制,通信介质包括诸如有线网络或直接线连接之类的有线介质,以及诸如声学、RF、红外及其他无线介质之类的无线介质。如此处所使用的术语计算机可读介质包括存储介质和通信介质两者。
系统702的该实施例使用可用于提供可视通知的可视指示器720和/或通过音频换能器725来产生音频通知的音频接口774来提供通知。在所示实施例中,可视指示器720是发光二极管(LED),而音频换能器725是扬声器。这些设备可直接耦合到电源770,使得当被激活时,即使为了节省电池功率而可能关闭处理器760和其他组件,它们也保留一段由通知机制指示的保持通电时间。LED可被编程来无限地保持通电,直到用户采取行动指示该设备的通电状态。音频接口774用于向用户提供听觉信号并从用户接收听觉信号。例如,除了被耦合到音频换能器725之外,音频接口774还可被耦合到话筒来接收可听输入,例如便于电话通话。根据各本发明的各实施例,话筒也可充当音频传感器来便于对通知的控制,如下文将描述的。系统702可进一步包括允许板载相机730的操作来记录静止图像、视频流等的视频接口776。
实现系统702的移动计算设备700可具有附加特征或功能。例如,移动计算设备700还可包括附加数据存储设备(可移动和/或不可移动),例如磁盘、光盘或磁带。这种附加存储设备在图7B中用非易失性存储区768示出。计算机存储介质可包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。
移动计算设备700生成或捕捉的且经系统702存储的数据/信息可如上所述本地存储在移动计算设备700上,或数据可被存储在可由设备通过无线电772或通过移动计算设备700和与移动计算设备700相关联的一分开的计算设备之间的有线连接访问的任何数量的存储介质上,该计算设备如例如因特网之类的分布式计算网络中的服务器计算机。如应理解的,此类数据/信息可经移动计算设备700、经无线电772或经分布式计算网络来被访问。类似地,这些数据/信息可根据已知的数据/信息传送和存储手段来容易地在计算设备之间传送以供存储和使用,这些手段包括电子邮件和协作数据/信息共享系统。
图8示出了以上描述的系统的架构的一个实施例。系统的这些组件之间共享的内容可被存储在不同的通信信道或其他存储类型中。例如,内容可使用目录服务822、web门户824、邮箱服务826、即时消息收发存储828或社交联网网站830来存储。服务器820可向客户端提供内容。作为一个示例,服务器820可以是通过web提供内容的web服务器。服务器820可通过网络815向客户端提供web上的内容。作为示例,客户端计算设备可被实现为计算设备800并被具体化在个人计算机818a、平板计算设备818b和/或移动计算设备818c(如智能电话)中。客户端计算设备的这些实施例中的任一个可从存储816获得内容。在各种实施例中,用于在构成本发明的计算设备之间进行通信的网络的类型包括但不限于互联网、内联网、广域网(WAN)、局域网(LAN)、以及虚拟专用网络(VPN)。在本申请中,网络包括企业网络和客户端计算设备用来访问企业网络的网络(即客户端网络)。在一个实施例中,客户端网络是企业网络的一部分。在另一实施例中,客户端网络是通过外部可用的接入点(如网关、远程访问协议、或公共或专用互联网地址)来访问企业网络的一分开的网络。
然而,相关领域内技术人员可以理解各实施例可省去一个或多个特定细节而实现,或通过其它方法、资源、材料等实现。在其它实例中,公知的结构、资源或操作尚未被示出或详细说明以仅避免对各实施例的某些方面产生混淆。
本申请中提供的一个或多个实施例的描述和说明不旨在以任何方式限制或约束权利要求书的范围。本申请中提供的实施例、示例和细节被认为是足以传达所有权,且使得他人能够制作并使用所要求保护的主题的最佳模式。所要求保护的主题不应被理解为限制于本申请中所提供的任何实施例、示例或细节。不管是以组合的方式还是分开的方式示出和描述,各种特征(结构上的和方法逻辑上的)旨在被选择性地包括或忽略,以产生具有特定的特征集的实施例。在被提供本申请的描述和说明的情况下,本领域的技术人员能够想象到落在本申请中具体化的一般发明概念的更宽泛方面的精神内的各种变体、修改和替代实施例,这些变体、修改和替代实施例并不背离权利要求书的更宽泛的范围。
Claims (8)
1.一种基于与内容相关联的一个或多个属性来存储所述内容的方法,所述方法包括:
确定与计算设备相关联的一个或多个存储设备的存储能力;
确定与所述内容相关联的保留策略,其中所述保留策略由所述一个或多个属性来标识,并且所述保留策略还受所述计算设备本身的使用类型的影响,包括在所述计算设备正由临时用户使用的情况下,所述保留策略受限于所述临时用户能访问所述计算设备的时间段;以及
基于所述保留策略将所述内容写到与所述计算设备相关联的所述一个或多个存储设备,其中基于所述保留策略将所述内容写到与所述计算设备相关联的所述一个或多个存储设备包括在所述保留策略要求保留所述内容达第一持续时间的情况下,使用第一功率级将所述内容写到所述一个或多个存储设备,而在所述保留策略要求保留所述内容达短于所述第一持续时间的第二持续时间的情况下,使用低于所述第一功率级的第二功率级将所述内容写到所述一个或多个存储设备。
2.如权利要求1所述的方法,其特征在于,进一步包括跟踪所述内容已被写到所述计算设备的所述一个或多个存储设备的哪些片段。
3.如权利要求1所述的方法,其特征在于,进一步包括:
接收对所述保留策略的改变;以及
更改所述保留策略,而不将所述内容重写到与所述计算设备相关联的所述一个或多个存储设备。
4.一种基于与内容相关联的一个或多个属性来存储所述内容的系统,所述系统包括:
用于确定与计算设备相关联的一个或多个存储设备的存储能力的装置;
用于确定与所述内容相关联的保留策略的装置,其中所述保留策略由所述一个或多个属性来标识,并且所述保留策略还受所述计算设备本身的使用类型的影响,包括在所述计算设备正由临时用户使用的情况下,所述保留策略受限于所述临时用户能访问所述计算设备的时间段;以及
用于基于所述保留策略将所述内容写到与所述计算设备相关联的所述一个或多个存储设备的装置,其中用于基于所述保留策略将所述内容写到与所述计算设备相关联的所述一个或多个存储设备的装置包括在所述保留策略要求保留所述内容达第一持续时间的情况下,用于使用第一功率级将所述内容写到所述一个或多个存储设备的装置,以及在所述保留策略要求保留所述内容达短于所述第一持续时间的第二持续时间的情况下,用于使用低于所述第一功率级的第二功率级将所述内容写到所述一个或多个存储设备的装置。
5.如权利要求4所述的系统,其特征在于,所述计算设备接收一个或多个远程计算设备的存储能力。
6.如权利要求5所述的系统,其特征在于,所述计算设备在与所述一个或多个远程计算设备设立的会话期间接收所述一个或多个远程计算设备的所述存储能力。
7.一种计算设备,包括:
一个或多个处理器;以及
耦合到所述一个或多个处理器的存储器,所述存储器用于存储指令,所述指令在被所述一个或多个处理器执行时使得所述一个或多个处理器执行一种用于基于与内容相关联的一个或多个属性来存储所述内容的方法,所述方法包括:
确定与计算设备相关联的一个或多个存储设备的存储能力;
确定与所述内容相关联的保留策略,其中所述保留策略由所述一个或多个属性来标识,并且所述保留策略还受所述计算设备本身的使用类型的影响,包括在所述计算设备正由临时用户使用的情况下,所述保留策略受限于所述临时用户能访问所述计算设备的时间段;以及
基于所述保留策略将所述内容写到与所述计算设备相关联的所述一个或多个存储设备,其中基于所述保留策略将所述内容写到与所述计算设备相关联的所述一个或多个存储设备包括在所述保留策略要求保留所述内容达第一持续时间的情况下,使用第一功率级将所述内容写到所述一个或多个存储设备,而在所述保留策略要求保留所述内容达短于所述第一持续时间的第二持续时间的情况下,使用低于所述第一功率级的第二功率级将所述内容写到所述一个或多个存储设备。
8.如权利要求7所述的计算设备,其特征在于,所述第一功率级和所述第二功率级是基于所述一个或多个存储设备的所述存储能力来增加的。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/625,596 | 2012-09-24 | ||
US13/625,596 US10095705B2 (en) | 2012-09-24 | 2012-09-24 | Integrated data retention policy for solid state and asymmetric access |
PCT/US2013/061052 WO2014047521A1 (en) | 2012-09-24 | 2013-09-20 | Integrated data retention policy for solid state & asymmetric access |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104662537A CN104662537A (zh) | 2015-05-27 |
CN104662537B true CN104662537B (zh) | 2019-07-16 |
Family
ID=49304364
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201380049664.0A Active CN104662537B (zh) | 2012-09-24 | 2013-09-20 | 用于固态和非对称访问的集成数据保留策略 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10095705B2 (zh) |
EP (1) | EP2898429A1 (zh) |
CN (1) | CN104662537B (zh) |
WO (1) | WO2014047521A1 (zh) |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9378337B2 (en) * | 2013-06-19 | 2016-06-28 | Sap Se | Data item deletion in a database system |
EP2821913A1 (en) | 2013-07-01 | 2015-01-07 | Open Text S.A. | A method and system for storing documents |
US20150301930A1 (en) * | 2014-04-18 | 2015-10-22 | HGST Netherlands B.V. | File storage via physical block addresses |
CN105577708A (zh) * | 2014-10-09 | 2016-05-11 | 财团法人资讯工业策进会 | 异质性储存服务器及其档案储存方法 |
US9912752B1 (en) | 2015-06-29 | 2018-03-06 | Amazon Technologies, Inc. | Retention-based data management in a network-based data store |
US10791109B2 (en) | 2016-02-10 | 2020-09-29 | Red Hat, Inc. | Certificate based expiration of file system objects |
US11194517B2 (en) * | 2016-05-24 | 2021-12-07 | Samsung Electronics Co., Ltd. | Method and apparatus for storage device latency/bandwidth self monitoring |
US10439881B2 (en) | 2016-05-24 | 2019-10-08 | Samsung Electronics Co., Ltd. | Method and apparatus for predicting storage distance |
US10437486B2 (en) | 2016-05-24 | 2019-10-08 | Samsung Electronics Co., Ltd. | Method and apparatus for tenant-aware storage sharing platform |
US10474374B2 (en) * | 2016-05-24 | 2019-11-12 | Samsung Electronics Co., Ltd. | Method and apparatus for storage device latency/bandwidth self monitoring |
US20200097215A1 (en) * | 2018-09-25 | 2020-03-26 | Western Digital Technologies, Inc. | Adaptive solid state device management based on data expiration time |
CN109918027B (zh) * | 2019-05-16 | 2019-08-09 | 上海燧原科技有限公司 | 存储访问控制方法、装置、设备及存储介质 |
US10795796B1 (en) | 2020-01-24 | 2020-10-06 | Qumulo, Inc. | Predictive performance analysis for file systems |
US11775481B2 (en) | 2020-09-30 | 2023-10-03 | Qumulo, Inc. | User interfaces for managing distributed file systems |
US11567660B2 (en) | 2021-03-16 | 2023-01-31 | Qumulo, Inc. | Managing cloud storage for distributed file systems |
US11669255B2 (en) | 2021-06-30 | 2023-06-06 | Qumulo, Inc. | Distributed resource caching by reallocation of storage caching using tokens and agents with non-depleted cache allocations |
US11599508B1 (en) * | 2022-01-31 | 2023-03-07 | Qumulo, Inc. | Integrating distributed file systems with object stores |
US11722150B1 (en) | 2022-09-28 | 2023-08-08 | Qumulo, Inc. | Error resistant write-ahead log |
US11729269B1 (en) | 2022-10-26 | 2023-08-15 | Qumulo, Inc. | Bandwidth management in distributed file systems |
US11966592B1 (en) | 2022-11-29 | 2024-04-23 | Qumulo, Inc. | In-place erasure code transcoding for distributed file systems |
WO2024145389A1 (en) * | 2022-12-29 | 2024-07-04 | Apple Inc. | Systems and methods of remote data storage |
US11934660B1 (en) | 2023-11-07 | 2024-03-19 | Qumulo, Inc. | Tiered data storage with ephemeral and persistent tiers |
US11921677B1 (en) | 2023-11-07 | 2024-03-05 | Qumulo, Inc. | Sharing namespaces across file system clusters |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1653422A (zh) * | 2002-05-31 | 2005-08-10 | 国际商业机器公司 | 基于策略的存储管理的方法、系统和程序 |
US7680830B1 (en) * | 2005-05-31 | 2010-03-16 | Symantec Operating Corporation | System and method for policy-based data lifecycle management |
US8185088B2 (en) * | 2009-10-09 | 2012-05-22 | At&T Mobility Ii Llc | Mobile device leasing with customized operational features |
Family Cites Families (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5506986A (en) * | 1992-07-14 | 1996-04-09 | Electronic Data Systems Corporation | Media management system using historical data to access data sets from a plurality of data storage devices |
US6519679B2 (en) | 1999-06-11 | 2003-02-11 | Dell Usa, L.P. | Policy based storage configuration |
US7333616B1 (en) * | 2001-11-14 | 2008-02-19 | Omniva Corp. | Approach for managing access to messages using encryption key management policies |
US7748045B2 (en) * | 2004-03-30 | 2010-06-29 | Michael Frederick Kenrich | Method and system for providing cryptographic document retention with off-line access |
US7631089B2 (en) * | 2002-12-31 | 2009-12-08 | Intel Corporation | System for device-access policy enforcement |
US7478096B2 (en) * | 2003-02-26 | 2009-01-13 | Burnside Acquisition, Llc | History preservation in a computer storage system |
US7117322B2 (en) * | 2003-09-08 | 2006-10-03 | International Business Machines Corporation | Method, system, and program for retention management and protection of stored objects |
US7627726B2 (en) * | 2004-06-30 | 2009-12-01 | Emc Corporation | Systems and methods for managing content having a retention period on a content addressable storage system |
US20060123232A1 (en) * | 2004-12-08 | 2006-06-08 | International Business Machines Corporation | Method for protecting and managing retention of data on worm media |
EP1891741A4 (en) * | 2005-06-08 | 2011-08-24 | Powercast Corp | POWER SUPPLY EQUIPMENT WITH RF ENERGY GAIN |
KR100673229B1 (ko) | 2005-07-04 | 2007-01-22 | 주식회사 하이닉스반도체 | 낸드형 플래시 메모리 소자 및 그것의 제조방법 |
US7594082B1 (en) * | 2006-03-07 | 2009-09-22 | Emc Corporation | Resolving retention policy conflicts |
US20080005204A1 (en) * | 2006-06-30 | 2008-01-03 | Scientific-Atlanta, Inc. | Systems and Methods for Applying Retention Rules |
US8707070B2 (en) | 2007-08-28 | 2014-04-22 | Commvault Systems, Inc. | Power management of data processing resources, such as power adaptive management of data storage operations |
US7822939B1 (en) * | 2007-09-25 | 2010-10-26 | Emc Corporation | Data de-duplication using thin provisioning |
US8938655B2 (en) | 2007-12-20 | 2015-01-20 | Spansion Llc | Extending flash memory data retension via rewrite refresh |
JP5320557B2 (ja) * | 2008-03-25 | 2013-10-23 | 株式会社日立製作所 | ストレージシステム |
US9063897B2 (en) * | 2008-06-26 | 2015-06-23 | Microsoft Technology Licensing, Llc | Policy-based secure information disclosure |
US8135907B2 (en) * | 2008-06-30 | 2012-03-13 | Oracle America, Inc. | Method and system for managing wear-level aware file systems |
US20100306283A1 (en) * | 2009-01-28 | 2010-12-02 | Digitiliti, Inc. | Information object creation for a distributed computing system |
US8161251B2 (en) * | 2009-05-27 | 2012-04-17 | Microsoft Corporation | Heterogeneous storage array optimization through eviction |
US8214332B2 (en) * | 2009-06-08 | 2012-07-03 | International Business Machines Corporation | Data retention using logical objects |
US20100333116A1 (en) * | 2009-06-30 | 2010-12-30 | Anand Prahlad | Cloud gateway system for managing data storage to cloud storage sites |
US20110047322A1 (en) | 2009-08-19 | 2011-02-24 | Ocz Technology Group, Inc. | Methods, systems and devices for increasing data retention on solid-state mass storage devices |
US8910002B2 (en) | 2009-08-24 | 2014-12-09 | OCZ Storage Solutions Inc. | NAND flash-based storage device with built-in test-ahead for failure anticipation |
WO2011031796A2 (en) | 2009-09-08 | 2011-03-17 | Fusion-Io, Inc. | Apparatus, system, and method for caching data on a solid-state storage device |
US8380915B2 (en) | 2010-01-27 | 2013-02-19 | Fusion-Io, Inc. | Apparatus, system, and method for managing solid-state storage media |
US8447916B2 (en) | 2010-02-17 | 2013-05-21 | Microsoft Corporation | Interfaces that facilitate solid state storage configuration |
US8316197B1 (en) * | 2010-03-01 | 2012-11-20 | Symantec Corporation | Techniques for storage lifecycle policy management |
US8428227B2 (en) * | 2010-05-18 | 2013-04-23 | Certicall, Llc | Certified communications system and method |
JP4951092B2 (ja) * | 2010-06-03 | 2012-06-13 | 株式会社東芝 | アクセス制御プログラム及び装置 |
-
2012
- 2012-09-24 US US13/625,596 patent/US10095705B2/en active Active
-
2013
- 2013-09-20 CN CN201380049664.0A patent/CN104662537B/zh active Active
- 2013-09-20 EP EP13773502.3A patent/EP2898429A1/en not_active Ceased
- 2013-09-20 WO PCT/US2013/061052 patent/WO2014047521A1/en unknown
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1653422A (zh) * | 2002-05-31 | 2005-08-10 | 国际商业机器公司 | 基于策略的存储管理的方法、系统和程序 |
US7680830B1 (en) * | 2005-05-31 | 2010-03-16 | Symantec Operating Corporation | System and method for policy-based data lifecycle management |
US8185088B2 (en) * | 2009-10-09 | 2012-05-22 | At&T Mobility Ii Llc | Mobile device leasing with customized operational features |
Also Published As
Publication number | Publication date |
---|---|
EP2898429A1 (en) | 2015-07-29 |
CN104662537A (zh) | 2015-05-27 |
US20140089278A1 (en) | 2014-03-27 |
US10095705B2 (en) | 2018-10-09 |
WO2014047521A1 (en) | 2014-03-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104662537B (zh) | 用于固态和非对称访问的集成数据保留策略 | |
US11989386B2 (en) | Real-time geospatial collaboration system | |
CN105359105B (zh) | 通过网络文件访问协议的高效编程存储器访问 | |
US10095549B1 (en) | Ownership transfer account service in a virtual computing environment | |
US20190013934A1 (en) | Blockchain proof of custody, proof against tampering, proof of chain of custody | |
CN106233690B (zh) | 在网络环境中供应数字证书 | |
US8892482B2 (en) | Managing multiple personal clouds and digital assets over multiple devices | |
US20200053065A1 (en) | Key encryption key rotation | |
CN109691057A (zh) | 经由私人内容分发网络可交换地取回敏感内容 | |
CN105683896A (zh) | 跨多个虚拟机共享虚拟硬盘 | |
Coyne et al. | IBM private, public, and hybrid cloud storage solutions | |
US8874951B1 (en) | Private peer-to-peer network platform for secure collaborative production and management of digital assets | |
US20150200786A1 (en) | Accessing and Configuring Meeting Attributes | |
US10346618B1 (en) | Data encryption for virtual workspaces | |
CN102947797A (zh) | 使用横向扩展目录特征的在线服务访问控制 | |
CN103703742A (zh) | 基于电源状态的备份方法和装置 | |
CN108027828A (zh) | 与无状态同步节点的托管文件同步 | |
CN106301865A (zh) | 应用于服务提供设备的数据处理方法和设备 | |
Nazir et al. | Cloud computing applications: a review | |
CN105283831A (zh) | 群集中的分布式存储防御 | |
US20190354352A1 (en) | Facilitation of microservice user interface framework | |
CN105474209A (zh) | 管理对共享文档的改动 | |
CN113129149A (zh) | 基于区块链和安全多方计算的交易风险识别方法和装置 | |
Sarga | Cloud computing: An overview. | |
Nan et al. | Multimedia learning platform development and implementation based on cloud environment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20171019 Address after: Washington State Applicant after: Micro soft technique license Co., Ltd Address before: Washington State Applicant before: Microsoft Corp. |
|
TA01 | Transfer of patent application right | ||
GR01 | Patent grant | ||
GR01 | Patent grant |