连接到联网存储系统的本地存储器的制造方法

文档序号:6494797阅读:146来源:国知局
连接到联网存储系统的本地存储器的制造方法
【专利摘要】公开了用于存储文件的各种实施方案。便携式存储器设备配置成耦合到计算设备,且存储管理应用存储在便携式存储器设备中,存储管理应用可由处理器电路执行。存储管理应用配置成发送多个文件用于存储在联网存储系统中,联网存储系统远离计算设备。存储管理系统将文件的子集缓存在便携式存储器设备上,并将本地文件目录维持在便携式存储器设备中。本地文件目录列出存储在联网存储系统中的与链接到便携式存储器设备的帐户相关的文件。
【专利说明】连接到联网存储系统的本地存储器
[0001]相关申请的交叉引用
[0002]本申请要求2011年3月29日提交的、具有申请号13/074,325的标题为“L0CALST0RAGELINKEDT0NETW0RKEDST0RAGESYSTEM”的美国申请的优先权和利益,该美国申请通过引用被全部并入本文。
[0003]背景
[0004]用户可能希望使用提供存储保证以确保数据免受火灾和其它危险的联网存储系统来存储数据。不幸的是,由于计算技能的缺乏和其它问题,一些用户可能很难与联网存储系统互动。
[0005]附图简述
[0006]参考附图可更好地理解本公开的很多方面。附图中的部件不一定按比例,相反,强调清楚地说明本公开的原理。而且,在附图中,相似的数字在几个附图中始终表示相应的部件。
[0007]图1是根据本公开的各种实施方案的联网环境的图。
[0008]图2是根据本发明的各种实施方案的可插入图1的联网环境中的客户端设备中的便携式存储器设备的一个例子的图。
[0009]图3是根据本发明的各种实施方案的可插入图1的联网环境中的客户端设备中的便携式存储器设备的另一例子的图。
[0010]图4A-D示出根据本发明的各种实施方案的提供被实现为在图1的联网环境中的计算设备中执行的存储管理应用的部分的功能的一个例子的流程图。
[0011]图5是根据本发明的各种实施方案的提供在图1的联网环境中使用的计算设备的一个例子说明的示意性方框图。
[0012]详细描述
[0013]本公开的各种实施方案涉及根据效用计算模型的数据文件的远程存储。联网文件系统可用来提供对存储在包括联网的多个计算设备的云计算资源中的文件的访问。在一些实施方案中,联网文件系统可相应于虚拟文件系统,其中文件的实际数据对象存储在单独的数据存储系统中。元数据服务可用于使元数据与文件相关,从而便于使用元数据搜索文件。通过将文件存储在这样的联网文件系统中,用户可从具有网络连接性的任何计算设备访问文件。
[0014]根据各种实施方案,便携式存储器设备用于为客户端设备提供在联网存储系统中的远程存储。便携式存储器设备可包括记忆棒或具有相似的能力的其它设备。当客户端将文件存储到便携式存储器设备时,文件最终存储在可包括云存储系统的联网存储系统中,其中存储在联网存储系统中的文件的列表被维持在便携式存储器设备中。存储在联网存储系统中的被最近访问的文件的子集也可存储在便携式存储器设备中。可与用来管理在便携式存储器设备上和联网存储系统中的文件的存储的便携式存储器设备结合来执行应用。此夕卜,关于其它实施方案讨论了其它功能。在下面的讨论中,首先提供了各种部件的物理性质的描述,后面是这些部件的操作的讨论。[0015]参考图1,示出了根据各种实施方案的联网环境100。联网环境100包括通过网络109与一个或多个客户端106进行数据通信的一个或多个计算设备103。网络109包括例如互联网、内联网、外联网、广域网(WAN)、局域网(LAN)、有线网络、无线网络或其它适当的网络等或两个或多个这样的网络的任何组合。
[0016]计算设备103可包括例如提供计算能力的服务器计算机或任何其它系统。可选地,可使用例如布置在一个或多个服务器组或计算机组或其它布置中的多个计算设备103。例如,多个计算设备103 —起可包括云计算资源、栅格计算资源和/或任何其它分布式计算布置。这样的计算设备103可位于单个装置中,或可分布在很多不同的地理位置当中。为了方便的目的,计算设备103在本文以单数形式被提及。即使计算设备103以单数形式被提及,也理解,多个计算设备103可体现在如上所述的各种布置中。
[0017]可根据各种实施方案在计算设备103中执行各种应用和/或其它功能。此外,各种数据存储在计算设备103可访问的数据存储库113中。数据存储库113可表示多个数据存储库113,如可认识到的。存储在数据存储库113中的数据例如与下面描述的各种应用和/或功能实体的操作相关。
[0018]在计算设备103上执行的部件例如包括联网存储系统116和其它应用、服务、过程、系统、引擎或未在本文详细讨论的功能。联网存储系统116被执行来为用户维持在联网或基于元数据的文件系统中的文件和文件夹的文件层次。为此目的,联网存储系统116可支持各种文件相关的操作,例如创建文件、删除文件、修改文件、设置文件的许可、下载文件和/或其它操作。
[0019]可与联网存储系统116结合或作为联网存储系统116的部分来执行元数据服务以维持与文件相关的元数据项。为此目的,这样的元数据服务可支持各种操作,例如创建元数据项、删除元数据项、取回元数据项、搜索元数据项和/或其它操作。元数据服务也可实现元数据项的一个或多个可搜索的索引。
[0020]可提供与可访问存储在联网文件系统中的数据的托管的应用相应的各种应用。这样的应用可例如具有基于web的接口,并可安排网络页面,例如web页面或其它形式的网络内容,以便于用户互动。其它应用可以是内部应用,且可以没有基于web的接口。这样的应用的非限制性例子可包括照片组织工具、音乐文件组织器和重放工具、字处理器、电子制表软件、电子邮件应用等。
[0021]存储在数据存储库113中的数据包括例如存储帐户133。与每个存储帐户133相关的是账户设置136、主标识符139和可能其它信息。主标识符139可包括例如电子邮件地址、字符串或如将被描述的其它类型的标识符。与每个存储帐户133相关的是一个或多个存储桶153,其中各种文件156代表持有存储帐户133的用户被存储,如将被描述的。
[0022]存储帐户133可包括关于存储帐户133所相关的用户的信息。这样的信息可包括例如名称、地址、支付工具和其它信息。帐户设置136可用于指定并跟踪各种设置和关于给定的存储帐户133的其它功能例如口令、安全证书、文件管理许可、存储配额和限制、授权访问应用、账单信息和/或其它数据。主标识符139是与相应的存储帐户133的持有者相关的标识符。这样的用户可被认为是账户的主要持有者,并可控制其使用。
[0023]客户端106表示可耦合到网络109的多个客户端设备。客户端106可包括例如基于处理器的系统,例如计算机系统。这样的计算机系统可体现在桌上型计算机、膝上型计算机、个人数字助理、蜂窝电话、机顶盒、音乐播放器、web垫、平板计算机系统、游戏控制台或具有相似能力的其它设备中。客户端106可包括显示设备159,例如液晶显示器(IXD)或其它类型的显示设备,如可认识到的。
[0024]客户端106可配置成执行操作系统163、存储管理应用166和其它应用169例如电子邮件应用、即时消息应用、浏览器、字处理器、电子制表软件、绘图应用和/或其它应用。
[0025]便携式存储器设备173与客户端106进行数据通信。在一个例子中,便携式存储器设备173可通过适当的接口例如通用串行总线(USB)连接器或其它接口耦合到客户端106。在一个实施方案中,便携式存储器设备173可包括记忆棒或类似的设备。
[0026]可选地,无线通信可通过适当的无线标准/协议例如BlueToothTM或其它适当的标准/协议在便携式存储器设备173和客户端106之间建立。
[0027]在下面的讨论中,提供了系统及其部件的一般描述,后面是系统及其部件的操作的讨论。
[0028]与耦合到客户端106或以另外方式与客户端106进行数据通信的便携式存储器设备173结合在客户端106上执行的存储管理应用166通过计算设备103上的联网存储系统116提供文件156的存储。同时,从客户端106的观点看,这样的文件156的存储表现为对便携式存储器设备173上的客户端106是本地的。为此目的,存储管理应用166包括在客户端106中执行的应用,其促进便携式存储器设备173提供文件156的本地存储的感知。就是这样的,虽然文件156的存储实际上由联网存储系统116提供,客户端106通过网络109可访问联网存储系统116。
[0029]在这方面,便携式存储器设备173用于由联网存储系统116存储的文件156的子集的中间存储。具体地,在一个实施方案中,存储管理应用166处于便携式存储器设备173和客户端106的操作系统163之间。当存储管理应用166首先安装在客户端106中时,它操纵操作系统163内的设置,使得操作系统163导致将便携式存储器设备173感知为本地存储设备,当存储在其上的所有文件实际上都由联网存储系统116远程地存储时。可选地,存储管理应用166可配置成直接从便携式存储器设备173运行,并可以不安装在客户端106上。在这个实施方案中,每当便携式存储器设备173耦合到客户端106或以另外方式首先与客户端106达到数据通信时,存储管理应用166可被安装。
[0030]在一个实施方案中,存储管理应用166配置成只将最近访问的文件存储在便携式存储器设备173上的本地高速缓存器中。为此目的,由联网存储系统116存储的文件156的子集也存储在便携式存储器设备173上,其中子集包括最近访问的文件。可选地,存储或缓存在便携式存储器设备173上的文件可基于其它标准来选择。
[0031]当操作系统163或其它应用试图将文件存储到便携式存储器设备173时,存储管理应用166充当便携式存储器设备173的接收点并使文件存储在便携式存储器设备173上作为最近访问的文件,除非文件已经存储在便携式存储器设备173上。如果没有足够的空间将文件存储在便携式存储器设备173上,则存储管理应用166可删除在便携式存储器设备173上的最早保存的文件以为最新的文件腾出空间。
[0032]此外,存储管理应用166通过网络109将待存储的文件发送到联网存储系统116。联网存储系统116接着将文件存储在适当的存储桶153上作为文件156之一,其中相应的存储桶153与操作客户端106的用户的存储帐户133相关。[0033]此外,存储管理应用166将本地文件目录维持在由联网存储系统116存储的所有文件156的便携式存储器设备173中。那些文件中的一些可位于便携式存储器设备173中,如果它们被最近访问或基于上面提到的某个其它标准。通过在便携式存储器设备173上维持本地文件目录,客户端106内的应用169可能知道通过便携式存储器设备173和联网存储系统116可访问的所有文件156。
[0034]然而,给出存储管理应用166的操作,没有应用将这样的文件156感知为由联网存储系统116远程地存储,如上所述。如果给定的应用169请求特定的文件156,则存储管理应用166将首先识别这样的文件是否在本地存储在便携式存储器设备173中作为存储在其中的文件的子集。如果是,则存储管理应用166给请求应用169提供来自便携式存储器设备173的文件。
[0035]然而,如果所请求的文件未存储在便携式存储器设备173中,则存储管理应用166将请求发送到与用户的存储帐户133相关的相应文件156的联网存储系统116。联网存储系统116接着通过访问相应的文件156并将相应的文件156发送回到存储管理应用166来作出响应。当接收到文件时,存储管理应用166向请求应用169提供文件,并也将所请求的文件156存储在便携式存储器设备173上。
[0036]如果在便携式存储器设备173中没有用于文件的本地存储的足够存储器空间,则在便携式存储器设备173上的一个或多个最早存储的文件可被删除,以腾出另外的存储器空间。这样的本地存储的文件的删除没有重大影响,因为这样的文件也由联网存储系统116存储在存储桶153中,并仍然以上面描述的类似方式是可访问的。因此,在客户端106中执行的存储管理应用166提供从远程计算设备103或从耦合到客户端106的便携式存储器设备173对文件的访问。
[0037]当文件从便携式存储器设备173或通过联网存储系统116由存储管理应用166访问时,在便携式存储器设备173内的本地文件目录被更新以指示最近的访问时间并更新与文件相关的所存储的任何其它参数。
[0038]假设用户希望通过便携式存储器设备173将文件存储在联网存储系统116中,则相应的应用169可向存储管理应用166提供写请求。在响应中,存储管理应用166首先确定在便携式存储器设备173中是否有空间来在本地存储文件。如果是,则文件存储在便携式存储器设备173上,且本地文件目录以文件的名称被更新。如果相同的文件以前被存储,则本地文件目录被更新以指示存储的时间等。如果存储在本地的文件的版本相对于待存储的版本是过时的,则新版本可存储在便携式存储器设备173中代替老版本。
[0039]此外,存储管理应用166将文件发送到联网存储系统116用于作为文件156之一存储在与用户的存储帐户133相关的存储桶153中。在这方面中,用户可通过联网存储系统116将文件存储在云存储系统或其它远程存储系统中,同时维持文件的这种存储对客户端是本地的在本地客户端106内的外观。此外,可能有通过便携式存储器设备173与文件156的存储相关的其它功能,如下面将描述的。
[0040]应理解,客户端106到网络109的网络连接有时可以不是可用的。在文件将从客户端106由存储管理应用166被发送到计算设备103且客户端106的网络连接由于某种原因不是可用的情况下,当网络连接在未来变得可用时,存储管理应用166可标记存储在便携式存储器设备173中的相应文件用于在联网存储系统116中的未来存储。此外,如果存储管理应用166希望访问文件或从联网存储系统116装入文件且网络连接不是可用的,则首先存储管理应用166将检查便携式存储设备173以确定文件是否存储在本地。如果不,则假定网络连接不是可用的,存储管理应用166可对请求处理器应用作出文件不是可用的回答。
[0041]在可选的实施方案中,便携式存储器设备173可包括到网络109和因此到联网存储系统116的网络连接。例如,便携式存储器设备173可包括无线能力或到网络109的其它类型的数据连接。在这样的情况下,存储管理应用166可在便携式存储器设备173内的处理器电路内执行,其中客户端106到网络109的网络连接被完全绕过。
[0042]参考图2,示出了根据各种实施方案的便携式存储器设备173的一个例子。便携式存储器设备173包括存储器203,其可包括例如固态存储器设备或其它类型的存储器,如可认识到的。存储在存储器203中的是如上所述的本地文件206的子集。此外,存储在存储器203中的是本地文件目录209。本地文件目录209包括由联网存储系统116 (图1)存储的所有文件156 (图1的)的列表。这样的文件156的子集可作为本地文件206存储在如上所述的存储器203上。当应用169 (图1)访问便携式存储器设备173以获得要打开的可用文件等的列表时,在本地文件目录209中的文件的列表可被提供。
[0043]此外,本地文件目录209可包括来自文件156的头部的数据或那些文件156的可能在列出文件156用于由用户访问时有用的部分。例如,当文件156是以MP3格式的歌曲时,歌曲的一部分可存储在本地文件目录209中来播放,用于使用户确定他们是否希望访问歌曲。可选地,其它信息例如元数据、图像的缩略图和其它数据可包括在本地文件目录209中。在一个实施方案中,标记或其它值可与在本地文件目录209中列出的每个文件相关,指示文件是否在本地存储在便携式存储器设备173、联网存储系统116或这两者中。当来自本地文件目录209的文件的列表被提供来使用户选择要访问的文件时,关于文件是否存储在便携式存储器设备173、联网存储系统116或者两者中的指示可与每个文件相联系地显示。这样的指示可包括各种符号、文本指示或其它指示。
[0044]此外,存储管理应用166的拷贝可存储在便携式存储器设备173中。在一个实施方案中,当便携式存储器设备173首先耦合到客户端106时或至少当数据通信首次在便携式存储器设备173和客户端106之间建立时,存储管理应用166安装在客户端106中。为此目的,便携式存储器设备173可包括可由客户端106的处理器电路访问的适当的可执行文件,以便安装如上所述的存储管理应用166。这样的安装可被手动或自动执行。
[0045]参考图3,示出了便携式存储器设备173的另一实施方案,其中便携式存储器设备173包括处理器电路303和通信电路306。处理器电路303用于执行如上所述的存储管理应用166,且通信电路306用于通过适当的网络109 (图1)建立与联网存储系统116 (图1)的通信。根据一个实施方案,通信电路306可提供与网络109中的适当元件的无线通信,使得在处理器电路303和联网存储系统116之间的直接通信可被建立,而不需要通过客户端106访问网络109。此外,存储管理应用166的执行可部分地由处理器电路303和部分地由客户端106的处理器电路实现。
[0046]接着参考图4A、4B、4C和4D,示出了提供根据各种实施方案的存储管理应用166的一部分的操作的一个例子的流程图。应理解,图4A、4B、4C和4D的流程图只提供可用于实现如上所述的存储管理应用166的部分的操作的很多不同类型的功能布置的例子。作为可选方案,图4A、4B、4C和4D的流程图可被视为描绘根据一个或多个实施方案的在客户端计算设备106 (图1)中实现的方法的步骤的例子。
[0047]以方框403开始,存储管理应用166在如上所述的客户端106或便携式存储设备173 (图1)内运行。在存储管理应用166在客户端106上执行的情况下,于是存储管理应用166可与操作系统163 (图1)互动以通过在采取任何必要的行动时设置和/或盖写任何参数或设置来模拟便携式存储器设备173的本地存储设备,使得客户端106将便携式存储设备173感知为本地存储设备,而没有存储在便携式存储器设备173中的文件事实上存储在联网存储系统116中的任何实际知识。
[0048]需要被设置的各种参数可包括例如在用户的存储帐户133的相应的存储桶153中可用的最大存储量和其它参数,如可被认识到的。此外,参数可包括在任何给定的时间在相应的存储桶153中可用的存储的百分比。在下文中,在方框406中,存储管理应用166确定相应的应用169 (图1)是否提供某个文件156 (图1)将被装入客户端106的随机存取存储器中用于执行或以另外方式被访问的读请求。例如,这样的文件可包括可执行文件或数据文件,例如字处理器文档、电子数据表或其它这样的文档,如可被认识到的。为了使这样的应用169识别将被访问的文件,本地文件目录209 (图2和3)可被查询以给用户提供可被访问的文件的列表。用户可选择这些文件之一,从而本质上产生与方框406相关的读请求。
[0049]假设文件将如在方框406中确定的被装入,则存储管理应用166继续进行到连接器A,如所示的。否则,存储管理应用166前进到方框409以确定应用169是否被请求将文件写到便携式存储器设备173,且因此写到联网存储系统116。如果是,则存储管理应用166前进到连接器B。否则,存储管理应用166移动到方框413。
[0050]在方框413,确定是否有存储在便携式存储器设备173中的任何标记的文件,其由于客户端106的网络连接或便携式存储器设备173的网络连接的不可用性还没有存储在联网存储系统116中,如上所述的。如果标记的文件存在,则存储管理应用前进到方框416以确定联网存储系统116是否是可用的,如可借助于网络连接是否是活动的而确定的。如果是,则存储管理应用前进到连接器C。否则,存储管理应用166移动到方框419,如所示。
[0051]在方框419中,确定给定的应用169是否请求文件156将被探测到。如果情况就是这样,则存储管理应用166前进到连接器D,如所示的。否则,存储管理应用166返回到块406,如所示的。
[0052]此外,应理解,可能有关于在联网存储系统116中和在便携式存储器设备173的本地存储器上的文件的存储而执行的其它功能,其中在上文和在接下来的正文中描述的那些功能仅仅是例子。
[0053]接着参考图4B,示出了当存在文件将被装入客户端106的本地访问存储器中的指示时执行的存储管理应用166的一部分,如上所述的。从连接器A开始,存储管理应用166前进到方框423以确定所请求的文件是否在本地存储为文件206 (图2、3)之一。如果是,则在方框426中,文件可从便携式存储器设备173中的本地存储器被读取并被提供到请求过程。在下文中,存储管理应用166前进到向后通到方框406 (图4A)的连接器R,如所示的。
[0054]然而,如果文件未在本地存储为文件206之一,则存储管理应用166继续进行到方框429以借助于网络连接通过客户端106或通过便携式存储器设备173通过通信电路306(图3)是否是活动的事实来确定联网存储系统116是否是可用的,如上所述的。如果联网存储系统116是可用的,则存储管理应用166继续进行到方框433。否则,存储管理应用166前进到方框436。
[0055]在方框433中,存储管理应用166将请求发送到所请求的文件的联网存储系统
116。在下文中,存储管理应用166在方框439中等待来自包括所请求的文件的联网存储系统116的回复。如果在预定的超时内回复没有被接收到或如果指示不包括文件的错误的回复被接收到,则存储管理应用166返回到方框436。在方框436中,存储管理应用166将回复发送到文件是不可用的请求过程。在下文中,存储管理应用166前进到连接器R,如所示的。
[0056]假设回复方框439中在包括所请求的文件的超时时期内被接收到,则存储管理应用166前进到方框443以将文件写到便携式存储器设备173内的本地存储器并将文件提供到请求过程。文件也被写到相应的便携式存储器设备173的本地存储器203,假定它被最近访问,如上所述的。在没有足够的空间来将文件写到本地存储器203的情况下,则在本地存储器203中的最早存储的文件可被删除以为最近访问的文件的存储腾出空间。在下文中,存储管理应用166前进到连接器R,如所示的。
[0057]参考图4C,示出了当确定文件被写到便携式存储器设备173和联网存储系统116时实现的存储管理应用166的功能的一部分,如上所述的。
[0058]以方框453开始,存储管理应用166确定将被写到便携式存储器设备173和联网存储系统116的文件是否已经在本地存储在便携式存储器设备173的存储器203 (图2、3)中。如果文件相对于以前存储的版本改变或如果文件以前从未被存储,则将不是这种情况。如果情况就是这样,则存储管理应用166前进到方框456。否则,存储管理应用166移动到方框459。
[0059]在方框459中,存储管理应用166确定是否有存储器空间来写将被存储在与便携式存储器设备173相关的存储器203中的当前文件。如果不,则存储管理应用166前进到方框463并从本地存储器203删除最早存储的文件,直到空间存在来写当前文件。在下文中,存储管理应用166前进到方框466。
[0060]假设如在方框459中确定的有空间来将文件写在本地存储器203中,则存储管理应用166也继续进行到方框466,其中文件被写到本地存储器203。在下文中,存储管理应用166前进到方框456。
[0061]在方框456中,确定网络访问是否可用来允许存储管理应用166与联网存储系统116通信。如果不,则在方框473中,将被写到存储器的文件被标记在本地存储器203中,用于当网络访问变得可用时进行远程存储。在下文中,存储管理应用166继续进行到连接器R0
[0062]然而,如果远程存储如在方框456中确定的是可访问的,则存储管理应用166前进到方框475。在方框475中,确定待存储的文件是否已经存储在联网存储系统116中。如果文件相对于以前存储的版本改变或如果文件以前从未被存储,将不是这种情况。如果是,则存储管理应用166前进到方框476。否则,存储管理应用166移动到方框479。
[0063]在方框476中,存储管理应用166更新本地文件目录209 (图2、3)以指示试图存储文件的最近时间。在下文中,存储管理应用166继续进行到连接器R。[0064]回来参考方框479,存储管理应用166通过相应的网络连接连同存储与相应的用户的存储账户133相关的文件的请求来将文件或标记的文件发送到联网存储系统116。在下文中,在方框483中,存储管理应用166确定通过联网存储系统116存储文件是否是成功的。这可例如通过等待从联网存储系统116接收到指示存储是成功的确认来确定。假设在方框483中超时出现或存储不是成功的,则在方框486中,存储管理应用166可记录文件的存储的错误,并也可酌情将存储错误输出给用户。在下文中,存储管理应用166继续进行到连接器R,如所示的。
[0065]然而,如果通过联网存储系统116存储文件如在方框483中确定的是成功的,则存储管理应用166前进到方框476以更新本地文件目录209来指示由联网存储系统116存储的文件。在下文中,存储管理应用166前进到连接器R,如所示的。
[0066]接着参考图4D,示出了在删除如在方框419中确定的文件时存储管理应用166的功能的一部分。从连接器D继续进行,存储管理应用166前进到方框493以确定待删除的文件是否存储在便携式存储器设备173的本地存储器203中。如果是,则在方框496中,文件的本地存储的实例从存储器203删除。在下文中,存储管理应用166继续进行到方框499。
[0067]假设在方框493中确定没有存储在存储器203中的文件的本地实例,则存储管理应用166也前进到方框499。在方框499中,请求被发送到联网存储系统116以从与用户的存储账户133相关的相应存储桶153删除文件的远程存储的实例。在下文中,在方框503中,存储管理应用166等待接收从联网存储系统116删除的确认。如果这样的确认在预定的超时时期内未接收到,则错误可能产生。
[0068]假设确认在被认为适当时被接收到,则存储管理应用166继续进行到方框506以更新本地文件目录209来根据删除操作从目录移除文件。在下文中,存储管理应用166前进到连接器R,如所示的。
[0069]参考图5,示出了根据本公开的实施方案的客户端计算设备106的一个例子的示意性方框图。客户端计算设备106包括例如具有处理器603和存储器606的至少一个处理器电路,处理器603和存储器606都耦合到本地接口 609。为此目的,计算设备106可包括例如至少一个服务器计算机或类似的设备。本地接口 609可包括例如具有附随的地址/控制总线的数据总线或其它总线结构,如可被认识到的。
[0070]存储在存储器606中的是可由处理器603执行的数据和几个部件。特别是,存储在存储器606中并可由处理器603执行的是存储管理应用166和可能其它应用169。此外,操作系统163可存储在存储器606中并可由处理器603执行。
[0071]应理解,可能有存储在存储器606中并可由处理器603执行的其它应用,如可被认识到的。在本文讨论的任何部件以软件的形式实现的场合,可使用多种编程语言中的任一个,例如 C、C++、C#、Objective C、Java、Javascript、Perl、PHP> VisualBasic、Python、Ruby、Delph1、Flash或其它编程语言。
[0072]很多软件部件存储在存储器606中,并可由处理器603执行。在这方面,术语“可执行”意味着以可最终由处理器603运行的形式的程序文件。可执行程序的例子可例如是编译程序,其可转变成以可装入存储器606的随机访问部分中并由处理器603运行的格式的机器代码、可以用正确的格式例如能够装入存储器606的随机访问部分中并由处理器603执行的对象代码表示的源代码或可由另一可执行程序解释以在存储器606的随机访问部分中产生指令来由处理器603执行的源代码等。可执行程序可存储在存储器606的任何部分或部件中,存储器606包括例如随机存取存储器(RAM)、只读存储器(ROM)、硬盘驱动器、固态驱动器、USB闪存驱动器、存储卡、光盘例如压缩盘(⑶)或数字通用盘(DVD)、软盘、磁带或其它存储器部件。
[0073]存储器606在本文被定义为包括易失性和非易失性存储器以及数据存储部件。易失性部件是当丧失电力时不保留数据值的那些部件。非易失性部件是当丧失电力时保留数据值的那些部件。因此,存储器606可包括例如随机存取存储器(RAM)、只读存储器(ROM)、硬盘驱动器、固态驱动器、USB闪存驱动器、经由存储卡阅读器访问的存储卡、经由相关的软盘驱动器访问的软盘、经由光盘驱动器访问的光盘、经由适当的磁带驱动器访问的磁带、和/或其它存储器部件、或这些存储器部件的任两个或多个的组合。此外,RAM可包括例如静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)或磁性随机存取存储器(MRAM)和其它这样的设备。ROM可包括例如可编程只读存储器(PR0M)、可擦除可编程只读存储器(EPROM),电可擦除可编程只读存储器(EEPROM)或其它类似的存储器设备。
[0074]此外,处理器603可代表多个处理器603,且存储器606可代表分别在并行处理电路中操作的多个存储器606。在这样的情况下,本地接口 609可以是便于在多个处理器603中的任两个之间、在任何处理器603和任一存储器606之间或在存储器606中的任两个之间等的通信的适当网络。本地接口 609可包括设计成协调这个通信——包括例如执行负载平衡——的额外系统。处理器603可具有电构造或某种其它可用的构造。
[0075]虽然存储管理应用166和本文描述的其它各种系统可体现在由如上讨论的通用硬件执行的软件或代码中,作为可选方案,它们也可体现在专用硬件或软件/通用硬件和专用硬件的组合中。如果体现在专用硬件中,则每个可被实现为使用多种技术之一或组合的电路或状态机。这些技术可包括但不限于具有用于在一个或多个数据信号的施加时实现各种逻辑功能的逻辑门的离散逻辑电路、具有适当的逻辑门的专用集成电路、或其它部件等。这样的技术通常是本领域技术人员公知的,且因此不在这里详细地被描述。
[0076]图4A、4B、4C和4D的流程图示出存储管理应用166的部分的实现的功能和操作。如果体现在软件中,每个块可代表模块、程序段、或包括实现指定的逻辑功能的程序指令的代码的部分。程序指令可体现在包括以编程语言或机器代码写的人可读语句的源代码的形式中,编程语言或机器代码包括由适当的执行系统例如计算机系统或其它系统中的处理器603可识别的数字指令。机器代码可从源代码等转换。如果体现在硬件中,每个块可代表实现指定的逻辑功能的电路或很多互连电路。
[0077]虽然图4A、4B、4C和4D的流程图示出特定的执行顺序,应理解,执行顺序可不同于所描绘的顺序。例如,两个或多个块的执行顺序可相对于所示的其它顺序而被弄乱。此外,在图4A、4B、4C和4D中连续示出的两个或多个块可同时或部分地同时被执行。此外,在一些实施方案中,在图4A、4B、4C和4D中示出的一个或多个块可被跳过或省略。此外,任何数量的计数器、状态变量、警告信号灯或消息可为了增强效用、记账、性能测量或提供检修帮助等的目的而被添加到本文描述的逻辑流程。应理解,所有这样的变化都在本公开的范围内。
[0078]此外,本文描述的任何逻辑或应用一包括存储管理应用166—包括可体现在任何非临时计算机可读介质中的软件或代码,用于由或结合指令执行系统例如计算机系统或其它系统中的处理器来使用。在这个意义上,逻辑可包括例如包括可从计算机可读介质取回并由指令执行系统执行的指令和说明的语句。在本公开的上下文中,“计算机可读介质”可以是可包含、存储或维持本文描述的逻辑或应用的任何介质,用于由或结合指令执行系统来使用。计算机可读介质可包括很多物理介质中的任一种,例如磁性、光学或半导体介质。适当的计算机可读介质的更具体的例子将包括但不限于磁带、磁性软盘、磁性硬盘驱动器、存储卡、固态驱动器、USB闪存驱动器或光盘。此外,计算机可读介质可以是随机存取存储器(RAM),包括例如静态随机存取存储器(SRAM)和动态随机存取存储器(DRAM)或磁性随机存取存储器(MRAM)。此外,计算机可读介质可以是只读存储器(ROM)、可编程只读存储器(PR0M)、可擦除可编程只读存储器(EPR0M)、电可擦除可编程只读存储器(EEPROM)或其它类型的存储器设备。
[0079]条款
[0080]1.一种包含在计算设备中可执行的程序的非临时计算机可读介质,所述程序包括:
[0081]促进计算系统中的感知的代码,所述感知是,耦合到所述计算系统的便携式存储器设备规定多个文件的本地存储,而同时规定所述多个文件在所述计算设备通过网络可访问的联网存储系统中的存储,所述代码包括:
[0082]将存储在所述联网存储系统中的所述文件的子集存储在所述便携式存储器设备中的代码;
[0083]当从请求过程获得对所述文件中的一个的写请求时确定所述网络是否可用来将所述文件中的所述一个发送到所述联网存储系统的代码;
[0084]当所述网络是可用的时将所述文件中的所述一个发送到所述联网存储系统的代码;
[0085]当所述网络是不可用的时将所述文件中的所述一个存储在所述便携式存储器设备中的代码;以及
[0086]当不可用的网络变得可用时标记存储在所述便携式存储器设备中的所述文件中的所述一个待发送到所述联网存储系统的代码。
[0087]2.条款I的非临时计算机可读介质,其中促进的所述代码还包括:
[0088]当从请求过程获得对所述文件中的被请求的文件的读请求时确定所述文件中的所述被请求的文件是否存储在所述便携式存储器设备中的代码;
[0089]如果所述文件中的所述被请求的文件存储在所述便携式存储器设备中则将所述文件中的所述被请求的文件从所述便携式存储器设备提供到所述请求过程的代码;
[0090]如果所述文件中的所述被请求的文件未存储在所述便携式存储器设备中且到所述网络的连接是可用的则通过所述网络从所述联网存储系统获得所述文件中的所述被请求的文件并将所述文件中的所述被请求的文件提供到所述请求过程的代码;以及
[0091]如果所述文件中的所述被请求的文件未存储在所述便携式存储器设备中且到所述网络的连接是不可用的则向所述请求过程提供指示所述文件中的所述被请求的文件是不可用的回复的代码。
[0092]3.—种系统,包括:
[0093]便携式存储器设备,其配置成耦合到计算设备;[0094]存储管理应用,其存储在所述便携式存储器设备中,所述存储管理应用能够由处理器电路执行,所述存储管理应用包括:
[0095]将多个文件发送到联网存储系统用于存储在所述联网存储系统中的逻辑,所述联网存储系统远离所述计算设备;
[0096]将所述文件的子集缓存在所述便携式存储器设备上的逻辑;以及
[0097]将本地文件目录维持在所述便携式存储器设备中的逻辑,所述本地文件目录列出存储在所述联网存储系统中的与链接到所述便携式存储器设备的帐户相关的文件。
[0098]4.条款3的系统,其中所述存储管理应用还包括响应于加载请求来确定所述文件中的一个是否包括在缓存在所述便携式存储器设备上的所述子集中的逻辑。
[0099]5.条款3的系统,其中所述存储管理应用还包括响应于写请求来确定所述文件中的一个是否包括在缓存在所述便携式存储器设备上的所述子集中的逻辑。
[0100]6.条款3的系统,其中如果到所述联网存储系统的网络连接是可用的,则当写请求从请求过程被提供到所述存储管理应用时,所述存储管理应用将所述文件中的每个发送到所述联网存储系统用于存储在所述联网存储系统中。
[0101]7.条款3的系统,其中所述存储管理应用还包括:
[0102]响应于从请求过程提供到所述存储管理应用的写请求将所述文件中的一个存储在所述便携式存储器设备中的所述子集中的逻辑;
[0103]如果到所述联网存储系统的网络连接是不可用的则标记所述文件中的所述一个用于存储在所述联网存储系统中的逻辑;以及
[0104]其中将所述文件发送到所述联网存储系统用于存储在所述联网存储系统中的所述逻辑还配置成当所述网络连接变得可用时将所述文件中的所述一个发送到所述联网存储系统用于存储在所述联网存储系统中。
[0105]8.条款3的系统,其中所述文件的所述子集包括所述文件中的最近访问的文件。
[0106]9.条款4的系统,其中所述存储管理应用还包括:
[0107]如果所述文件中的所述一个不在所述子集中则确定网络访问是否对所述联网存储系统是可用的逻辑;以及
[0108]如果所述网络访问是可用的则将对所述文件的请求发送到所述联网存储系统的逻辑。
[0109]10.条款9的系统,其中所述处理器电路在所述便携式存储器设备耦合到的计算设备中。
[0110]11.条款10的系统,其中安装应用存储在所述便携式存储器设备上,所述安装应用在所述计算设备中可执行来将所述存储管理应用安装在所述计算设备中。
[0111]12.条款11的系统,其中所述存储管理应用还配置成当规定所述文件存储在远离所述计算设备的所述联网存储系统中时模拟所述计算设备中的本地存储设备。
[0112]13.条款9的系统,其中所述处理器电路包含在所述便携式存储器设备中。
[0113]14.条款13的系统,其中所述便携式存储器设备还包括到所述联网存储系统的网络连接。
[0114]15.条款14的系统,其中所述网络连接还包括无线网络连接。
[0115]16.条款9的系统,其中所述便携式存储器设备还包括记忆棒。[0116]17.一种方法,包括下列步骤:
[0117]建立在便携式存储器设备与计算系统之间的数据通信链路;
[0118]在所述计算系统中执行应用,所述应用促进所述便携式存储器设备规定多个文件的本地存储而同时规定所述多个文件存储在所述计算设备通过网络可访问的联网存储系统中的感知;以及
[0119]使用所述便携式存储器设备用于存储在所述联网存储系统中的所述文件的子集的中间存储。
[0120]18.条款17的方法,其中在所述计算系统中执行促进所述便携式存储器设备规定所述多个文件的本地存储的感知的所述应用的步骤还包括覆盖在所述计算系统中执行的操作系统中的至少一个设置的步骤,所述至少一个设置与所述便携式存储器设备相关。
[0121]19.条款17的方法,还包括将所述多个文件中的最近访问的文件的子集存储在所述便携式存储器设备中的步骤。
[0122]20.条款17的方法,还包括下列步骤:
[0123]响应于来自过程的读请求来确定所述文件中的被请求的文件是否存储在所述便携式存储器设备中;
[0124]如果所述文件中的所述被请求的文件未存储在所述便携式存储器设备中且到所述网络的连接对所述计算系统是可用的,则从所述联网存储系统获得所述文件中的所述被请求的文件的拷贝;以及
[0125]将所述文件中的所述被请求的文件的拷贝提供到所述过程。
[0126]21.条款20的方法,还包括下列步骤:如果所述文件中的所述被请求的文件未存储在所述便携式存储器设备中且到所述网络的连接当前对所述计算系统是不可用的,则向所述过程提供指示所述文件中的所述被请求的文件是不可用的回复。
[0127]22.条款17的方法,其中所述应用存储在所述便携式存储器设备中,所述方法还包括下列步骤:当所述数据通信链路首次在所述便携式存储器设备和所述计算系统之间建立时,将所述应用安装在所述计算系统中。
[0128]应强调,本公开的上述实施方案仅仅是为了清楚地理解本公开的原理而阐述的实现的可能例子。可对上述实施方案做出很多变化和修改,而实质上不偏离本公开的精神和原理。所有这样的修改和变化在本文被预期包括在本公开的范围内并被下面的权利要求保护。
【权利要求】
1.一种包含在计算设备中可执行的程序的非临时计算机可读介质,所述程序包括: 促进计算系统中的感知的代码,所述感知是,耦合到所述计算系统的便携式存储器设备规定多个文件的本地存储,而同时规定所述多个文件在所述计算设备通过网络可访问的联网存储系统中的存储,所述代码包括: 将存储在所述联网存储系统中的所述文件的子集存储在所述便携式存储器设备中的代码; 当从请求过程获得对所述文件中的一个的写请求时确定所述网络是否可用来将所述文件中的所述一个发送到所述联网存储系统的代码; 当所述网络是可用的时将所述文件中的所述一个发送到所述联网存储系统的代码;当所述网络是不可用的时将所述文件中的所述一个存储在所述便携式存储器设备中的代码;以及 当不可用的网络变得可用时标记存储在所述便携式存储器设备中的所述文件中的所述一个待发送到所述联网存储系统的代码。
2.如权利要求1所述的非临时计算机可读介质,其中促进的所述代码还包括: 当从请求过程获得对所述文件中的被请求的文件的读请求时确定所述文件中的所述被请求的文件是否存储在所述便携式存储器设备中的代码; 如果所述文件中的所述被请求的文件存储在所述便携式存储器设备中则将所述文件中的所述被请求的文件从所述便携式存储器设备提供到所述请求过程的代码; 如果所述文件中的所述被请求的文件未存储在所述便携式存储器设备中且到所述网络的连接是可用的则通过所述网络从所述联网存储系统获得所述文件中的所述被请求的文件并将所述文件中的所述被请求的文件提供到所述请求过程的代码;以及 如果所述文件中的所述被请求的文件未存储在所述便携式存储器设备中且到所述网络的连接是不可用的则向所述请求过程提供指示所述文件中的所述被请求的文件是不可用的回复的代码。
3.一种系统,包括: 便携式存储器设备,其配置成耦合到计算设备; 存储管理应用,其存储在所述便携式存储器设备中,所述存储管理应用能够由处理器电路执行,所述存储管理应用包括: 将多个文件发送到联网存储系统用于存储在所述联网存储系统中的逻辑,所述联网存储系统远离所述计算设备; 将所述文件的子集缓存在所述便携式存储器设备上的逻辑;以及将本地文件目录维持在所述便携式存储器设备中的逻辑,所述本地文件目录列出存储在所述联网存储系统中的与链接到所述便携式存储器设备的帐户相关的文件。
4.如权利要求3所述的系统,其中所述存储管理应用还包括响应于加载请求来确定所述文件中的一个是否包括在缓存在所述便携式存储器设备上的所述子集中的逻辑。
5.如权利要求3所述的系统,其中所述存储管理应用还包括响应于写请求来确定所述文件中的一个是否包括在缓存在所述便携式存储器设备上的所述子集中的逻辑。
6.如权利要求3所述的系统,其中如果到所述联网存储系统的网络连接是可用的,则当写请求从请求过程被提供到所述存储管理应用时,所述存储管理应用将所述文件中的每个发送到所述联网存储系统用于存储在所述联网存储系统中。
7.如权利要求3所述的系统,其中所述存储管理应用还包括: 响应于从请求过程提供到所述存储管理应用的写请求将所述文件中的一个存储在所述便携式存储器设备中的所述子集中的逻辑; 如果到所述联网存储系统的网络连接是不可用的则标记所述文件中的所述一个用于存储在所述联网存储系统中的逻辑;以及 其中将所述文件发送到所述联网存储系统用于存储在所述联网存储系统中的所述逻辑还配置成当所述网络连接变得可用时将所述文件中的所述一个发送到所述联网存储系统用于存储在所述联网存储系统中。
8.如权利要求3所述的系统,其中所述文件的所述子集包括所述文件中的最近访问的文件。
9.如权利要求4所述的系统,其中所述存储管理应用还包括: 如果所述文件中的所述一个不在所述子集中则确定网络访问是否对所述联网存储系统是可用的逻辑;以及 如果所述网络访问是可用的则将对所述文件的请求发送到所述联网存储系统的逻辑。
10.如权利要求9所述的系统,其中安装应用存储在所述便携式存储器设备上,所述安装应用在所述计算设备中可执行来将所述存储管理应用安装在所述计算设备中。
11.如权利要求10所述的系统,其中所述存储管理应用还配置成当规定所述文件存储在远离所述计算设备的所述联网存储系统中时模拟所述计算设备中的本地存储设备。
12.如权利要求9所述的系统,其中所述处理器电路包含在所述便携式存储器设备中。
13.如权利要求12所述的系统,其中所述便携式存储器设备还包括到所述联网存储系统的网络连接。
14.如权利要求13所述的系统,其中所述网络连接还包括无线网络连接。
15.如权利要求9所述的系统,其中所述便携式存储器设备还包括记忆棒。
【文档编号】G06F13/00GK103975312SQ201280016908
【公开日】2014年8月6日 申请日期:2012年3月28日 优先权日:2011年3月29日
【发明者】皮尔加斯·韦尔鲁密鲁姆, 约翰娜·S·奥尔森, 柯尔文·J·史密斯, 詹姆斯·H·伍德 申请人:亚马逊技术股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1