选择性数据转发存储的制作方法

文档序号:6595071阅读:201来源:国知局
专利名称:选择性数据转发存储的制作方法
选择性数据转发存储
背景技术
这里所公开的至少一些实施例涉及数据存储,并且更具体地,涉及选择性数据转发存储。个人、组织机构、商业公司和政府必须存储的数据量每一年都在增长。除了跟上需求以外,组织机构还面临其它的存储挑战。伴随着向在线的实时商务和管理的转移,必须保护重要的数据不会由于软件或硬件故障而丢失或不可访问。目前,许多存储产品并不提供完全的故障保护,并且使得用户有丢失数据或不可使用数据的风险。例如,目前市场上的许多存储解决方案提供针对某些故障模式(例如,处理器故障)但是不针对其它故障模式 (例如,光盘驱动器故障)的保护。许多组织机构有由于它们的数据存储系统中的组件故障而丢失数据或不可使用数据的风险。数据存储市场通常被划分为两个主要部分,即,直接附加存储(DAQ和网络存储。 DAS包括与服务器直接连接的盘。网络存储包括附加到网络而不是特定服务器并因此可以被该网络上的其它设备和应用访问和共享的盘。网络存储通常被划分成两个部分,即,存储区域网络(SAN)和网络附加存储(NAS)。SAN是代表广大用户网络来将不同类型的数据存储设备与相关联的数据服务器互连的高速专用网络(或子网)。通常,SAN是企业的整个计算资源网络的一部分。存储区域网络通常聚集在其它计算资源附近,但也可以通过广域网(WAN)承载技术扩展到远程位置以用于备份和档案存储。NAS是这样的硬盘存储,其被建立有自己的网络地址而不是被附加到向网络的工作站用户提供应用的本地计算机。通过从本发明服务器移除存储访问及其管理,应用程序和文件两者都可以被更快地提供,这是因为应用程序和文件不竞争同一处理器资源。NAS被附加到局域网(通常,以太网)并被指派IP地址。文件请求被主服务器映射到NAS文件服务器。以上所有存储都以多于一种方式共有一个共同的、可能是致命弱点的特征,S卩,数据被存储在物理介质(例如,光盘驱动器、CD驱动器等)上。

发明内容
本发明提供用于选择性数据转发存储的方法和装置,包括计算机程序产品。一般地,根据一个方面,本发明的特征在于一种互连的计算机系统节点的网络,每个计算机系统节点被配置为基于数据类型、加密协议的相对高的级别、其它因素或者它们的组合中的一者来逐点地转发数据,以及从源系统接收用于存储数据的请求。该方法还包括在所述互连的计算机系统节点的网络中逐计算机存储器地持续转发所述数据,而不存储在所述网络中的任何物理存储设备上。所述持续转发包括确定可用于接收将被逐点地转发的数据的节点的地址;向所述源系统发送消息,所述消息带有供请求者转发所述数据的具体节点的地址。该方法还包括检测在所述具体节点的存储器中是否存在所述数据;以及将所述数据转发给在所述互连的计算机系统节点的网络中的节点的另一计算机存储器,而不存储在任何物理存储设备上。各个实施例中还可以包括以下特征中的一个或多个。这些节点可以被设计为处理具体的数据类型,所述数据类型包括办公室生产率套件文件数据类型、音频文件数据类型、可视文件数据类型、视频文件数据类型、面向对象的文件数据类型或数据库文件数据类型。这些因素可以包括网络流量分析和可用存储。该方法还可以包括从所述源系统接收用于取回正在所述互连的计算机系统节点的网络中被持续转发的数据的请求;以及响应于用于取回数据的请求而从节点存储器取回所述数据。取回可以包括在中央服务器处使用散列标示来匹配数据请求,该散列标示表示进入节点存储器的数据;向被预测在存储器中具有所述数据的节点发送消息,该消息指示所述节点将存储器中的所述数据转发给所述请求者;以及向所述中央服务器发送所述数据已被转发给所述请求者的确认消息。该方法还可以包括用文件类型分割节点类型。用文件大小确定文件类型。用文件使用频率、用户历史或它们的组合中的一者来确定节点类型。基于用户偏好、用户支付的额外费用或它们的组合中的一者来确定节点类型。基于用户偏好、文件使用、用户支付的额外费用或它们的组合中的一者来将文件转移至更慢或更快的节点状态。根据另一方面,本发明的特征在于一种计算机程序产品,其可以被有形地包含在计算机可读介质中,用于在互联的计算机系统节点的网络的计算机存储器中存储数据和取回数据。这些计算机系统节点可被配置为逐点地转发数据。该计算机程序产品可以允许数据处理装置从与所述互连的计算机系统节点的网络通信的源系统接收用于存储数据的请求。该数据处理装置可以基于数据类型、加密协议的相对高的级别、其它因素或者它们的组合中的一者,在所述互连的计算机系统节点的网络中逐计算机存储器地持续转发所述数据,而不存储在所述网络中的任何物理存储设备上。持续转发数据可以包括确定可用于接收将被逐点地转发的数据的节点的地址,向所述源系统发送消息,所述消息带有供请求者转发所述数据的具体节点的地址,检测在所述具体节点的存储器中是否存在所述数据,以及将所述数据转发给在所述互连的计算机系统节点的网络中的节点的另一计算机存储器, 而不存储在任何物理存储设备上。以下,将在附图和说明书中阐述本发明的一个或多个实现方式的细节。本发明的更多特征、方面和优点将从说明书、附图和权利要求中显而易见。


这些实施例是以示例而非限制方式在附图中的示图中说明的,附图中,类似的标号表示类似的元素。图1是示例性网络的框图。图2是示例性用户系统的框图。图3是示例性网络系统的框图。图4是处理的流程图。图5是处理的流程图。
具体实施例方式
5
与使用短暂停留(transient)方式的数据转发使得数据最终被存储在诸如光盘驱动器之类的物理介质上的对等网络不同,本发明是持续数据转发系统,即数据被从一个节点存储器向另一节点存储器地持续转发。如图1中所示,示例性网络10包括用户系统12和许多网络系统,例如系统14、16、 18、20、22。在一个实施例中,可以认为网络系统14、16、18、20、22中的每一个是网络10中的一个节点。另外,一个例如网络系统14这样的网络系统可以被指定为中央服务器并可担任网络10中的控制角色。网络系统14、16、18、20、22中的每一个可以被建立为在中央服务器14的直接控制下被专用地控制的对等端(peer)的网络。网络10也可以是完全公用的, 其中,中央服务器14(或多个服务器)对任一节点都没有直接的拥有权或直接的物理控制权。可替换地,节点也可以是专用节点和公用节点的混合,并且因此可以不受中央服务器14 的直接物理控制。作为受专用控制的网络,用户可以免费访问对等节点或者通过订阅服务或其它配置进行付费访问。在混合环境中,即,在具有专用节点和公用节点的组合的网络中,中央服务器14可以指示数据要被转发到专用网络还是公用网络。在一个示例中,中央服务器14 识别数据的类型并且根据所识别的类型将数据转发到专用网络或公用网络。例如,表示视频或音频文件的数据可以被发送至公用网络,而表示文档(例如,Microsoft ; Word文档) 的数据可以被发送至专用网络。在另一示例中,中央服务器14使得用户能够选择用户所拥有的数据将被转发到哪里,即,转发到专用网络还是公用网络。在一个示例中,可以认为节点14、16、18、20和22是专用网络。在专用网络中,管理员控制这些节点并且可以指定哪个节点是中央服务器。系统10也可以包括一个或多个另外的节点,可以认为这些另外的节点是管理员对其有很少的控制权或几乎没有控制权的一个或多个公用网络的部分。应当明白,在该实施例中,在节点可以是专用节点和公用节点的混合的情况中,专用节点或节点状态仍然可以受中央服务器控制。然而,这样的中央服务器可以被可能正运行警戒(cordoned off)系统的专用所有者所控制。如图2中所示,用户系统12可以包括处理器30、存储器32和输入/输出(1/0)设备34。在一个实施例中,存储器32可以包括操作系统(OS) 36,例如Linux、Apple OS或 Windows 一个或多个应用处理38和存储处理100 (以下详细描述)。根据本发明一个实施例,应用处理38可以包括用户生产力软件,例如OpenOffice或者Microsoft Off ice。 另一方面,1/0设备34可以包括用于显示给用户42的图形用户界面(⑶1)40。现在来看图3,每个网络系统(例如网络系统14)都可以包括处理器50和存储器 52。在一个实施例中,存储器52可以包括OS 54,例如,Linux、Apple: OS或Windows 。 存储器52还可以包括数据转发处理200(以下详细描述)。在传统的系统中,应用处理38需要存储和取回(retrieve)数据。在这些传统系统中,数据被存储在本地的或远程的物理设备上。在某些系统中,该数据可以被划分成不同数据段或数据包并被本地或远程地存储在物理存储介质上。然而,使用固定的物理数据存储设备可能增加成本、维护、管理并且生成数据的固定物理记录,而不论这是否是用户42 所希望的。与传统的系统不同,本发明不使用固定的物理数据存储装置来存储数据。例如,当中央服务器14接收到来自存储处理100的存储数据的请求时,数据可以被导向网络10中的节点,在该节点处,数据随后通过每个网络节点14、16、18、20、22中的数据转发处理200 在网络10被逐节点存储器地持续转发而不存储在诸如光盘驱动器之类的任何物理存储介质上。被转发的数据在网络10中任一节点14、16、18、20、22的存储器中仅驻留非常短的时间段。应当明白,被转发的数据不被存储在任何网络节点中的任何物理存储介质上。另外,当用于存储数据的请求被接收到时,其所有权关系和/或数据类型可对照由中央服务器14维护的贮存器中的条目而被检查。例如,被付费订户所拥有的数据和/或特定类型的数据可被逐节点存储器地转发,特定类型例如是办公室生产率文件数据类型、 音频数据文件类型、可视数据文件类型、视频数据文件类型、面向对象的文件类型和/或数据库数据文件类型。因此,数据转发是可基于所有权关系和/或类型选择的。某些用户可以让数据被逐节点存储器地转发,并且/或者某些类型的数据可被逐节点存储器地转发。贮存器中的条目可以被添加、修改或删除,使得在选择性地逐节点存储器地转发数据时更为灵活。这样的贮存器可以本地地驻留在中央服务器14中或被逐节点存储器地转发而不存储在诸如光盘驱动器之类的任何物理存储介质上。除了所有权关系和文件类型以外,可以评估的其他数据参数包括文件大小、文件使用频率、用户历史、用户偏好和用户支付的额外费用。以类似的方式,当中央服务器14接收到来自存储处理100的取回数据的请求时, 正在网络10中被逐节点存储器地转发的被请求数据被取回。以这种方式转发的数据可以被分段,并且所产生的数据片段被如上所述地转发。 具体而言,分段后的数据仍然不被存储在任何网络节点中的任何物理存储介质上,而是只被从一个节点的存储器向另一个节点的存储器转发。现在参考图4,在一个实施例中,存储处理100包括向中央服务器(例如网络系统 14)发送(10 存储数据或取回数据的请求。如果请求是取回数据请求,则存储处理100从网络中的节点或中央服务器14接收所请求的数据。如果给中央服务器14的请求是存储数据请求,则如果数据所有权关系和/或类型与贮存器中的相应条目相匹配则存储处理100从中央服务器14接收(104)节点的地址并将数据转发(106)给由接收到的地址表示的节点存储器。如图5中所示,数据转发处理200包括接收(20 存储数据或取回数据的请求。 如果接收到的请求是存储数据的请求,则数据转发处理200判断(20 数据所有权关系和 /或类型是否与贮存器中的条目相匹配。如果数据所有权关系和/或类型与贮存器中的条目相匹配,则处理200确定(204)可用于在存储器中接收数据的节点的地址。该确定(204) 可以包括对网络进行乒(Ping)操作并且确定网络中的哪个节点可用或者确定网络中的哪个节点具有最小流量,或者确定网络中的哪个节点具有最大可用存储,或者这些或其它因素的任何组合。处理200随后可向用户系统发送O06)消息,所述消息带有供请求者转发数据的具体节点的地址。接着,处理200检测(208)节点存储器中是否存在数据。处理200将存储器中的数据转发(210)给节点网络中的另一节点,并且继续重复数据的检测(208)和数据的逐节点存储器的转发010)。当数据到达任何节点存储器中时,处理200向数据附加012)时间
在一个实施例中,转发(210)可以包括对网络10中的节点进行乒操作来确定网络中的哪个节点可用,或确定网络中的哪个节点具有最小流量,或确定网络中的哪个节点具有最大可用存储,或这些或其它因素的任何组合。在一个特定示例中,在进入节点时,数据经历与节点或中央服务器14或用户的加密“握手”。这可以是可以使用公钥-私钥的公用的或专用的加密系统,例如,Cashmere系统。加密系统解耦(decouple)加密的转发路径和消息净荷,这提高了性能,因为源仅需要对每个使用目的地的唯一公钥的消息执行单个公钥加密。这具有如下益处只有真正的目的地节点才将能够解密消息净荷,而不是相应的中继组中的每个节点都将能够解密消息净荷。加密系统提供这样的能力目的地可以在不知道源的身份的情况下发送匿名答复消息。 这可以以类似的方式完成,其中源创建答复路径并以与转发路径类似的方式加密该答复路径。在另一示例中,利用其它路由方案。也可以利用以上提供的路由方案的任意组合。如果接收到的请求是取回正被逐节点存储器地持续转发的数据的请求,则数据转发处理200在中央服务器14处使用散列标示或其它唯一代码进行匹配014),其中散列标示或其它唯一代码可以在数据进入节点时经由加密握手被节点“嗅到”。这可以通过对网络 10中的节点进行乒操作而发生。处理200随后向中央服务器14相信其中将有可能出现数据的节点状态或节点发送(216)将数据直接返回给用户的消息。中央服务器14可以将其要乒向的节点状态限制得越窄,则取回将变得越高效并且如下的非必要消息传送流量对节点造成的负担会越小,所述非必要消息传送流量对于中央服务器14和能够转发数据的节点之间的业务而言是不必要的。在正确的节点接收到将节点存储器中的数据转发给请求者的消息后,处理200将节点存储器中的数据转发(218)给请求者,并且转发(220)数据已被发送给用户的确认消息。该路由消息可以被直接发送给中央服务器14或者可以经由网络10中的其它(一个或多个)节点或(一个或多个)超节点被传递给中央服务器14或多个服务器。在用户接收到所请求的数据时,用户的应用自动发挥作用以向中央服务器14回应(ping)所请求的数据已被接收到。因此,网络10在没有将数据缓存、下载和/或存储到任何物理存储介质上的情况下创建数据存储。数据存储和管理可以经由数据的逐节点存储器的持续路由来完成, 所转发的数据仅在用户从网络10请求将数据返回给用户时被下载。新的节点和节点状态可以基于性能被添加到网络10和/或从网络10删除。用户可以有权访问所有节点或者可以被(一个或多个)中央服务器或经由专用、公用的或专用公用网络的特定体系架构被划分到某些节点或“节点状态”。各个节点、节点状态和超节点也可以是公用或专用网络中的外联网对等端、无线网络对等端、卫星对等节点、Wi-Fi对等节点、宽带网络等。在采用了相同的安全系统以及适合于严格的特定部署的客户解决方案(例如用于无线对等端的无线加密方案等等)的情况下,对等节点或用户可以从任何有效的对等点开始用作网络10中的路由参与方。在处理200中,不是将数据缓存或保持在远程服务器、硬盘驱动器或其它固定存储介质中,而是,数据可以被逐节点存储器地传递、路由或转发。在经授权的用户调用转发的数据之前,该数据不会被下载。在一个实施例中,该系统上的用户可以授权多于一个的用户有权访问数据。处理200中的主要目标是生成这样的数据存储和管理系统,其中,数据从来不被固定在物理存储装置中,而是实际上,在网络中被逐节点存储器地持续路由/转发。数据被转发到的节点的路径也可以被中央服务器14更改,以针对系统能力进行调节并且消除冗余的数据路径,没有该特征,这些冗余的数据路径可能由于数据路径的增大的可能性而减弱网络的安全性。本发明可以被执行来实现以下优点中的一个或多个。网络创建数据存储而不缓存或下载。数据存储和管理是经由数据的不断路由来完成的。本发明的实施例可以以数字电路或计算机硬件、固件、软件中或者在它们的组合的形式实现。本发明的实施例可以被实现为计算机程序产品或者被实现为计算机程序产品以供数据处理设备运行或控制数据处理设备的操作,所述计算机程序产品即被有形地包含在信息载体中(例如在机器可读存储装置中或传播信号中)的计算机程序,所述数据处理设备例如是可编程处理器、计算机或多个计算机。计算机程序可以以任何形式的编程语言 (包括汇编语言或解译语言)来编写,并且其可以以任何形式来部署,这些形式包括作为单独的程序或作为模块、组件、子例程或适于在计算环境中使用的其他单元。计算机程序可以被部署为在一个地点或跨越多个地点并通过通信网络互连的一个计算机或多个计算机上执行。本发明实施例的方法步骤可以由一个或多个可编程处理器执行,所述一个或多个可编程处理器执行计算机程序以通过对输入数据进行运算并生成输出来执行本发明的功能。方法步骤也可以由专用逻辑电路执行,并且本发明的装置可以实现为专用逻辑电路,所述专用逻辑电路例如是FPGA(现场可编程门阵列)或ASIC(专用集成电路)。适合于计算机程序的执行的处理器例如包括通用和专用微处理器,以及任何类型的数字计算机的一个或多个处理器。一般地,处理器将从只读存储器或随机存取存储器或这两者接收指令和数据。计算机的必要元件是用于执行指令的处理器和用于存储指令和数据的一个或多个存储器设备。一般地,计算机也将包括用于存储数据的一个或多个大容量存储设备,或可操作地耦合到用于存储数据的一个或多个大容量存储设备以从其接收数据或向其传送数据,或者既包括又与之耦合,这些存储设备例如是磁盘、磁光盘或光盘。适于包含计算机程序指令和数据的信息载体包括所有形式的非易失性存储器,例如包括半导体存储装置,例如EPROM、EEPROM和闪存装置;磁盘,例如内部硬盘或可移除光盘;磁光盘;以及⑶ROM和DVD-ROM盘。这些处理器和存储器可以用专用逻辑电路补充或结合在专用逻辑电路中。可以理解,以上描述意图说明而非限制本发明的范围,本发明的范围由所附权利要求限定。其它实施例在以下权利要求书的范围以内。
权利要求
1.一种方法,包括在被配置为基于数据类型、加密协议的相对高的级别、其它因素或者它们的组合中的一者来逐点地转发数据的互连的计算机系统节点的网络中,从源系统接收用于存储数据的请求;在所述互连的计算机系统节点的网络中逐计算机存储器地持续转发所述数据,而不存储在所述网络中的任何物理存储设备上,所述持续转发包括确定可用于接收将被逐点地转发的数据的节点的地址;向所述源系统发送消息,所述消息带有供请求者转发所述数据的具体节点的地址;检测在所述具体节点的存储器中是否存在所述数据;以及将所述数据转发给在所述互连的计算机系统节点的网络中的节点的另一计算机存储器,而不存储在任何物理存储设备上。
2.根据权利要求1所述的方法,其中,所述节点被设计为处理具体的数据类型,所述数据类型包括办公室生产率套件文件数据类型、音频文件数据类型、可视文件数据类型、视频文件数据类型、面向对象的文件数据类型或数据库文件数据类型。
3.根据权利要求1所述的方法,其中所述因素包括网络流量分析和可用存储。
4.根据权利要求1所述的方法,还包括从所述源系统接收用于取回正在所述互连的计算机系统节点的网络中被持续转发的数据的请求;以及响应于用于取回数据的所述请求而从节点存储器取回所述数据。
5.根据权利要求4所述的方法,其中取回包括在中央服务器处使用散列标示来匹配数据请求,该散列标示表示进入节点存储器的数据;向被预测在存储器中具有所述数据的节点发送消息,该消息指示所述节点将存储器中的所述数据转发给所述请求者;以及向所述中央服务器发送所述数据已被转发给所述请求者的确认消息。
6.根据权利要求1所述的方法,还包括用文件类型分割节点类型。
7.根据权利要求1所述的方法,还包括用文件大小确定节点类型。
8.根据权利要求1所述的方法,还包括用文件使用频率、用户历史或它们的组合中的一者来确定节点类型。
9.根据权利要求1所述的方法,还包括基于用户偏好、用户支付的额外费用或它们的组合中的一者来确定节点类型。
10.根据权利要求1所述的方法,还包括基于用户偏好、文件使用、用户支付的额外费用或它们的组合中的一者来将文件转移至更慢或更快的节点状态。
11.一种计算机程序产品,被有形地包含在计算机可读介质中,用于在被配置为逐点地转发数据的互连的计算机系统节点的网络的计算机存储器中存储数据和取回数据,所述计算机程序产品使得数据处理装置从源系统接收用于存储数据的请求,所述源系统与所述互连的计算机系统节点的网络通信;基于数据类型、加密协议的相对高的级别、其它因素或者它们的组合中的一者,在所述互连的计算机系统节点的网络中逐计算机存储器地持续转发所述数据,而不存储在所述网络中的任何物理存储设备上,并包括确定可用于接收将被逐点地转发的数据的节点的地址;向所述源系统发送消息,所述消息带有供请求者转发所述数据的具体节点的地址; 检测在所述具体节点的存储器中是否存在所述数据;以及将所述数据转发给在所述互连的计算机系统节点的网络中的节点的另一计算机存储器,而不存储在任何物理存储设备上。
12.根据权利要求11所述的计算机程序产品,其中所述节点被设计为处理具体的数据类型,所述数据类型包括办公室生产率文件数据类型、音频数据文件类型、可视数据文件类型、视频数据文件类型、面向对象的文件类型或数据库数据文件类型。
13.根据权利要求11所述的计算机程序产品,其中所述一个或多个因素包括网络流量分析和可用存储。
14.根据权利要求11所述的计算机程序产品,还包括从所述源系统接收用于取回正在所述互连的计算机系统节点的网络中被持续转发的数据的请求;以及响应于用于取回数据的所述请求而从节点存储器取回所述数据。
15.根据权利要求14所述的计算机程序产品,其中取回包括在中央服务器处使用散列标示来匹配数据请求,该散列标示表示进入节点存储器的数据;向被预测在存储器中具有所述数据的节点发送消息,该消息指示所述节点将存储器中的所述数据转发给所述请求者;以及向所述中央服务器发送所述数据已被转发给所述请求者的确认消息。
16.根据权利要求11所述的计算机程序产品,还包括用文件类型分割节点类型。
17.根据权利要求11所述的计算机程序产品,还包括用文件大小确定节点类型。
18.根据权利要求11所述的计算机程序产品,还包括用文件使用频率、用户历史或它们的组合中的一者来确定节点类型。
19.根据权利要求11所述的计算机程序产品,还包括基于用户偏好、用户支付的额外费用或它们的组合中的一者来确定节点类型。
20.根据权利要求11所述的计算机程序产品,还包括基于用户偏好、文件使用、用户支付的额外费用或它们的组合中的一者来将文件转移至更慢或更快的节点状态。
全文摘要
用于选择性数据转发存储的方法和装置,包括计算机程序产品。一种方法,包括在互连的计算机系统节点的网络中,从源系统接收用于存储数据的请求,该请求包括所有权关系和数据类型,如果所有权关系和数据类型匹配贮存器中的相应条目,则将所述数据导向计算机存储器,并且在互联的计算机系统节点的网络中逐计算机存储器地持续转发数据,而不存储在该网络中的任何物理存储设备上。
文档编号G06F15/167GK102203764SQ200980138561
公开日2011年9月28日 申请日期2009年9月23日 优先权日2008年9月29日
发明者吉恩·费恩, 爱德华·麦里特 申请人:塔吉特枢转让有限责任公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1