CN100517308C - 元数据服务器、数据服务器、存储网络及数据存取方法 - Google Patents

元数据服务器、数据服务器、存储网络及数据存取方法 Download PDF

Info

Publication number
CN100517308C
CN100517308C CNB2004800024212A CN200480002421A CN100517308C CN 100517308 C CN100517308 C CN 100517308C CN B2004800024212 A CNB2004800024212 A CN B2004800024212A CN 200480002421 A CN200480002421 A CN 200480002421A CN 100517308 C CN100517308 C CN 100517308C
Authority
CN
China
Prior art keywords
data server
data
main frame
rdma
request
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
Application number
CNB2004800024212A
Other languages
English (en)
Other versions
CN1771495A (zh
Inventor
理查德·V·基斯利
菲利普·D·奈特
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN1771495A publication Critical patent/CN1771495A/zh
Application granted granted Critical
Publication of CN100517308C publication Critical patent/CN100517308C/zh
Anticipated expiration legal-status Critical
Active legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/167Interprocessor communication using a common memory, e.g. mailbox
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • G06F15/17306Intercommunication techniques
    • G06F15/17331Distributed shared memory [DSM], e.g. remote direct memory access [RDMA]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • G06F16/1824Distributed file systems implemented using Network-attached Storage [NAS] architecture
    • G06F16/183Provision of network file services by network file servers, e.g. by using NFS, CIFS
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/188Virtual file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0643Management of files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0662Virtualisation aspects
    • G06F3/0667Virtualisation aspects at data level, e.g. file, record or object virtualisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]

Abstract

通过提供了一种用于提供具有元数据存储虚拟化并且以数据服务器连接速度进行数据存取的分布式文件服务体系结构的方法、设备和程序存储装置,从而提供了元数据服务器、数据服务器、存储网络及数据存取方法。主机发布包括数据目标位置的文件存取请求。对包括数据目标位置的文件存取请求进行处理。响应于所述文件存取请求的处理而发布远程直接存储器存取(RDMA)通道端点连接。直接在主机处的存储器和数据服务器之间进行与文件存取请求相关联的文件-块数据的RDMA传送。

Description

元数据服务器、数据服务器、存储网络及数据存取方法
技术领域
本发明总体上涉及存储系统体系结构,具体而言,涉及一种用于提供具有元数据存储虚拟化的分布式文件服务体系结构的方法、设备和程序存储装置。
背景技术
计算机在存储和管理信息方面的日益增加的能力已经使得它们日益成为现代商业所不可缺少的。这些机器的流行导致诸如电子邮件和文档之类的数据在一个或多个计算机网络上的广泛共享和通信,其中所述一个或多个计算机网络包括局域网、诸如因特网的广域网以及无线网络。
计算机操作系统是较大的、复杂的软件,其用于管理计算机处理系统的硬件和软件资源。另一方面,存储管理软件用于将存储装置(诸如盘)组织成为逻辑分组,以便实现各种性能和可利用性特征。例如,所述存储装置可以被设置为创建单独的卷或者卷的级联、镜像集(mirror sets)或者镜像带区集(stripes of mirror sets)、乃至独立盘的冗余阵列(RAID)。操作系统在其上执行以便提供这种管理功能的计算机系统平台通常包括主机,所述主机耦合至管理存储卷的存储适配器或者控制器。所述操作系统尤其通过调用支持在计算机上执行的软件处理或者应用程序的输入/输出(I/O)操作来在功能上组织这种平台。
存储体系结构将存储装置的管理分解到独立部件中,并且相对于它们当中的信息和控制流来定义它们的功能操作。所述独立部件包括I/O子系统以及文件系统,它们每一个通常均彼此独立并且根据由所述体系结构定义的接口来相互作用。所述I/O子系统提供计算机和存储装置之间的有效通信模式,其允许程序和数据被输入计算机的存储器中以便处理。所述子系统还能够使根据计算该信息获得的结果被记录到存储装置上。
所述文件系统包含有关在所述存储装置上的信息的组织的一般知识,并且提供用于实现期望的存储体系结构的属性/性能的算法。所以,所述文件系统是包括程序模块集合的高级软件实体,例如用于合并存储装置的命令集的软件驱动程序。
存储网络可以包括一个或多个服务器计算机,其是大数据块的源以及储存库,并且存储网络还包括多个客户端计算机,其用于与所述服务器通信、对较小的数据块进行操作并且把编辑的数据传送回所述服务器。所述服务器计算机通常能够存储大量数据。可以采用各种数据存储系统来实现这种存储,所述数据存储系统包括大的磁和磁光盘库以及磁带库。
如上所述,服务器可以实现文件系统,以便管理存储介质的空间。所述文件系统向计算机系统的用户提供逻辑框架以便存取存储在存储介质中的数据。所述逻辑框架通常包括目录结构的分层结构以便定位包含用户命名的程序或者数据的文件集合。目录和文件的使用消除了用户在存储介质中查找所存储的信息的实际物理位置的必要。
所述逻辑框架可以被存储为“元数据”或者文件的控制信息,诸如文件大小和类型以及指向实际数据的指针。文件的内容可以被称为文件数据以便与元数据相区别。元数据是“有关数据的数据”。元数据是用于跟踪与卷上所有文件有关的每件事的文件系统开销。例如,元数据可以告知对于给定文件而言什么样的分配单元组成所述文件数据,什么样的分配单元处于空闲,什么样的分配单元包含坏扇区等等。
由于应用程序通常与所述文件系统进行交互以便操作(即,读取或者写入)所述文件,所以I/O处理通常是在文件系统的支持下执行。另一方面,I/O子系统通过操作数据块以较低软件级别与存储装置进行交互。所述文件系统以及I/O子系统包括许多层的软件驱动程序代码,将它们通称为I/O堆栈。常规的I/O堆栈可以包括文件系统驱动程序、逻辑卷驱动程序、盘分类驱动程序和特定设备(device-specific)驱动程序,诸如小型计算机系统接口(SCSI)端口以及迷你端口驱动程序。
硬件平台中的文件系统以及I/O子系统的组织在常规的存储体系结构当中是改变的。例如,如上所述,传统的存储体系结构通常包括被组织为完全在主机上执行的文件系统以及I/O子系统。响应于由应用程序发布的I/O事务请求,主处理器执行从存储装置向主存储器传送数据所需要的文件系统以及I/O子系统的软件代码。在此体系结构中,所述主处理器实际上为I/O事务执行两次I/O堆栈的代码:一次是因为事务使堆栈减少,而另一次是因为事务的结果被返回到所述应用程序。此类体系结构的I/O操作的执行明显地消耗了大量的计算机资源。
为了避免资源的这种消耗,某些存储体系结构改变它们的文件系统和I/O子系统的布置。例如,可以提供常规的RAID控制器体系结构,其中所述文件系统被包含在主机内,并且I/O子系统被分布在主机和控制器之间。此体系结构的大部分的实现方式被配置为通过在文件系统和控制器之间传送离散的面向块的请求来执行RAID相关的操作。然而,当完成这些请求时,借助于中断、即由主处理器改变指令执行的正常流的事件来通知主处理器。对于此类体系结构来说,可存在许多与单个事务相关联的中断。因为每一中断必须由主处理器服务,所以这种体系结构导致处理器的使用效率低。
其他存储体系结构完全在所述控制器上提供它们的文件系统和I/O子系统。例如,主机可以依照常规的客户端一服务器计算模式与控制器进行交互,其中所述主机(“客户端”)通常跨越诸如网络之类的互连向控制器(“服务器”)转发每一I/O事务。所有事务被发送给控制器并且在主机没有任何事务被本地服务。用于管理大容量存储装置的文件系统的文件控制器被耦合至存储处理器。尽管这种体系结构把主处理器从I/O处理中解放出来,但是它还不利地影响文件系统等待时间,即,由应用程序向文件系统发布I/O事务请求和由文件系统完成该请求之间的时间段。
近年来,数据服务器已经经由至少一个元数据服务器连接(interface)于数据网络。所述元数据服务器依照网络文件存取协议从数据网络中的客户端接收数据存取命令。所述元数据服务器执行文件锁定(locking)管理和网络文件向数据服务器中存储器的逻辑块地址的映射,并且在客户端和数据服务器的存储器之间移动数据。然而,使用元数据服务器的体系结构目前要求客户端操作系统提供数据控制,和/或未能以数据服务器连接的速度提供文件存取。
发明内容
为了解决现有技术中的局限性以及当阅读和理解本说明书时将变得明显的其他局限性,本发明公开了一种用于提供具有元数据存储虚拟化并且以数据服务器连接速度进行数据存取的分布式文件服务体系结构的方法、设备和程序存储装置。
本发明通过在元数据服务器虚拟化文件-块数据并且提供由数据服务器直接存取主机的存储器来解决上述问题。所述元数据服务器允许基于元数据向数据服务器提供输入/输出操作细节,以便直接在处于主机的存储器和数据服务器之间传送文件-块数据。
依照本发明原理的主机包括用于在其上运行应用程序的中央处理单元、用于在其中存储数据的存储器和被耦合至所述存储器的主机总线适配器,所述主机总线适配器包括适配器处理器,它被配置为用于向元数据服务器发布输入/输出请求,并且用于允许直接在存储器和数据服务器之间对与所述输入/输出请求相关联的数据进行直接存储器存取传送。
在本发明的另一个实施例中,提供了元数据服务器。所述元数据服务器包括用于存储与数据服务器上的数据相关联的元数据的存储器、以及处理器,所述处理器被配置为用于接收来自于主机的输入/输出请求,并且根据所述元数据向数据服务器发布输入/输出操作细节,以便直接在主机的存储器和数据服务器之间传送文件-块数据。
在本发明的另一个实施例中,提供了数据服务器。所述数据服务器包括用于在其上存储文件-块数据的至少一个存储装置,以及可操作地耦合至所述存储装置的处理器,所述处理器被配置为用于从元数据服务器接收与主机的输入/输出请求相关联的输入/输出操作细节,用于建立与由所接收的输入/输出操作细节标识的主机的存储器地址的直接连接,并且用于直接在主机的存储器地址和至少一个存储装置之间传送由接收到的输入/输出操作细节涉及的文件-块数据。
在本发明的另一个实施例中,提供了存储网络。所述存储网络包括:主机,所述主机包括用于在处理输入/输出请求中使用的第一存储器,所述主机被配置为用于发布输入/输出请求;被耦合至所述主机的元数据服务器,所述元数据服务器包括用于存储与文件-块数据相关联的元数据的第二存储器,所述元数据服务器进一步被配置为用于接收来自于所述主机的输入/输出请求并且用于提供输入/输出操作细节以便处理输入/输出请求;以及可操作地耦合至主机和所述元数据服务器的数据服务器,所述数据服务器包括用于在其上存储文件-块数据的至少一个存储装置,所述数据服务器被配置为用于从元数据服务器接收输入/输出操作细节以便处理所述输入/输出请求,用于建立与由来自于元数据服务器的输入/输出操作细节标识的主机的存储器地址的直接连接,并且用于直接在主机的标识出的存储器位置和至少一个存储装置之间传送由所述输入/输出操作细节涉及的文件-块数据。
在本发明的另一个实施例中,提供了另一种存储网络。这种存储网络包括:被配置为用于发布文件存取请求的主机;被耦合至所述主机的元数据服务器,所述元数据服务器被配置为用于接收来自于主机的文件存取请求并且用于向主机提供与所述文件存取请求相关联的数据块信息;以及可操作地耦合至所述主机的数据服务器,所述数据服务器包括用于在其上存储文件-块数据的至少一个存储装置,所述数据服务器被配置为用于接收标识存储器位置的命令,并且用于直接在主机的标识出的存储器位置和至少一个存储装置之间传送文件-块数据。
在本发明的另一个实施例中,提供了一种可由计算机读取的程序存储装置。所述介质有形地包含可由计算机执行的一个或多个指令程序,以便执行用于在具有元数据存储虚拟化的分布式文件服务体系结构中以数据服务器连接速度进行数据存取的方法,其中所述方法包括向元数据服务器发布输入/输出请求,并且直接在主机的存储器和数据服务器之间传送与输入/输出请求相关联的数据。
在本发明的另一个实施例中,提供了另一种可由计算机读取的程序存储装置。此介质有形地包含可由计算机执行的一个或多个指令程序,以便执行用于在具有元数据存储虚拟化的分布式文件服务体系结构中以数据服务器连接速度进行数据存取的方法,其中所述方法包括在数据服务器上存储与数据相关联的元数据,并且响应于输入/输出请求,基于所述元数据向数据服务器发布输入/输出操作细节,以便直接在主机的存储器和数据服务器之间传送文件-块数据。
在本发明的另一个实施例中,提供了可由计算机读取的另一程序存储装置。此介质有形地包含可由计算机执行的一个或多个指令程序,以便执行用于在具有元数据存储虚拟化的分布式文件服务体系结构中以数据服务器连接速度进行数据存取的方法,其中所述方法包括在具有至少一个存储装置的数据服务器上存储文件-块数据,并且在数据服务器从元数据服务器接收与主机的输入/输出请求相关联的输入/输出操作细节,建立从数据服务器到由接收到的输入/输出操作细节标识的主机的存储器地址的直接连接,并且直接在主机的存储器地址和数据服务器之间传送由接收到的输入/输出操作细节涉及的文件-块数据。
在本发明的另一个实施例中,提供了可由计算机读取的另一程序存储装置。此介质有形地包含可由计算机执行的一个或多个指令程序,以便执行用于在元数据存储虚拟化的分布式文件服务体系结构中以数据服务器连接速度进行数据存取的方法,其中所述方法包括从主机发布包括数据目标位置的文件存取请求,处理包括数据目标位置的文件存取请求,响应于包括数据目标位置的文件存取请求的处理而发布远程直接存储器存取通道端点连接,并且直接在主机的存储器和数据服务器之间传送与文件存取请求相关联的文件-块数据。
在本发明的另一个实施例中,提供了另一主机。这种主机包括用于在其上运行应用程序的装置、用于在其中存储数据的存储器装置、以及处理装置,所述处理装置被配置为用于向元数据服务器发布输入/输出请求,并且用于允许直接在存储器和数据服务器之间进行与所述输入/输出请求相关联的数据的直接存储器存取传送。
在本发明的另一个实施例中,提供了另一元数据服务器。这种元数据服务器包括用于存储与数据服务器上的数据相关联的元数据的装置,以及用于接收来自于主机的输入/输出请求并且根据元数据向数据服务器发布输入/输出操作细节以便直接在主机的存储器和数据服务器之间传送文件-块数据的装置。
在本发明的另一个实施例中,提供了另一数据服务器。所述数据服务器包括:用于在其上存储文件-块数据的装置;以及可操作地耦合至用于存储的装置的装置,用于从元数据服务器接收与主机的输入/输出请求相关联的输入/输出操作细节,用于建立与由所接收的输入/输出操作细节标识的主机的存储器地址的直接连接,并且用于直接在主机的存储器地址和至少一个存储装置之间传送由接收到的输入/输出操作细节涉及的文件-块数据。
在本发明的另一个实施例中,提供了另一存储网络。所述存储网络包括:主机装置,所述主机装置包括用于在处理输入/输出请求中使用的第一存储器装置,所述主机被配置为用于发布输入/输出请求;被耦合至所述主机装置的元数据装置,所述元数据装置包括用于存储与文件-块数据相关联的元数据的第二存储器装置,所述元数据装置进一步被配置为用于接收来自于主机装置的输入/输出请求,并且用于提供输入/输出操作细节以便处理所述输入/输出请求;以及可操作地耦合至主机装置和元数据装置的数据装置,所述数据装置包括用于在其上存储文件-块数据的至少一个存储装置,所述数据装置被配置为从元数据服务器接收输入/输出操作细节以便处理所述输入/输出请求,用于建立与由来自于元数据装置的输入/输出操作细节标识的主机装置的存储器地址的直接连接,并且用于直接在主机装置的标识出的存储器位置和数据装置之间传送由所述输入/输出操作细节涉及的文件-块数据。
在本发明的另一个实施例中,提供了另一存储网络。这种存储网络包括:用于发布文件存取请求的主机装置;被耦合至所述主机装置的元数据装置,所述元数据装置接收来自于主机的文件存取请求并且向主机提供与所述文件存取请求相关联的数据块信息;以及可操作地耦合至所述主机装置的数据装置,所述数据装置包括用于在其上存储文件-块数据的至少一个存储装置,所述数据装置接收用于标识存储器位置的命令,并且直接在主机装置的标识出的存储器位置和所述数据装置之间传送文件-块数据。
在本发明的另一个实施例中,提供了一种用于提供具有元数据存储虚拟化并且以数据服务器连接速度进行数据存取的分布式文件服务体系结构的方法。所述方法包括从主机发布包括数据目标位置的文件存取请求,处理包括数据目标位置的文件存取请求,响应于包括数据目标位置的文件存取请求的处理而发布远程直接存储器存取通道端点连接,并且直接在主机的存储器和数据服务器之间传送与文件存取请求相关联的文件-块数据。
附图说明
现在将参照如下附图、仅仅通过举例来描述本发明的实施例,其中:
图1举例说明了用于提供文件数据服务的一个解决方案,其中元数据由独立于服务实际文件块数据的实体的实体来服务;
图2举例说明了用于提供文件数据服务的第二种体系结构决,其中元数据由独立于服务实际文件块数据的实体的实体来服务;
图3举例说明了根据本发明实施例的存储系统体系结构;
图4举例说明了作为客户端堆栈的一部分的智能RDMA部件;
图5根据本发明实施例举例说明了客户端软件栈的附加细节以及按照RDMA传输(RDMA-T)的虚拟寻址问题;
图6举例说明了在没有硬件限制的情况下本发明的功能;以及
图7举例说明了根据本发明的存储系统部件500,其中参照图3-6举例说明的处理被有形地包含到计算机可读介质或者载体中。
具体实施方式
在本发明的优选实施例的随后描述中,对形成本发明的一部分的附图作出参考,并且其中通过图示示出了可以实施本发明的这些实施例。应该理解的是,由于在不脱离本发明的范围的情况下可以做出结构上的改变,故而也可以利用其他实施例。
本发明提供了一种用于提供具有元数据存储虚拟化并且以数据服务器连接速度进行数据存取的分布式文件服务体系结构的方法、设备以及程序存储装置。本发明允许在虚拟化的存储体系结构中以数据服务器连接速度使文件-级数据得以服务于客户端,其中所述元数据由不同于服务实际文件块数据的实体的实体来服务。
图1举例说明了用于提供文件数据服务的一个体系结构100,其中元数据由独立于服务实际文件块数据的实体的实体来服务。在图1中,元数据服务器(MS)110依照网络文件存取协议接收来自于数据网络中的客户端114的数据存取命令112。所述元数据服务器110执行文件锁定管理,并且执行网络文件向数据服务器(DS)120中存储逻辑块地址的映射。在图1中,两个连接130、132用于提供四个步骤的处理以便取出数据到文件系统客户端114。所述客户端114查询所述元数据服务器110以便获得文件属性及其在虚拟存储中的位置116,其中所述虚拟存储由数据服务器120管理。然后,在独立的数据连接中,所述客户端114很可能经由独立的网络请求来自于数据服务器120的数据。所有这些活动都在客户端114上的可安装的文件系统中进行,从而所述客户端的应用程序看不到差别。
所述客户端114包括文件系统解释器(未示出),用于翻译由元数据服务器110服务的客户端114的文件系统的视图。所述元数据服务器110把元数据服务器数据结构中的指针转发至客户端114。元数据服务器数据结构指向数据服务器120上的实际数据块。所述元数据服务器数据结构充当客户端114的元文件系统。所述客户端114使用其文件系统解释器来解释所述元数据服务器数据结构,以便产生涉及实际数据块的文件系统元数据。由此,客户端114上的文件系统解释器根据元数据服务器110来确定数据块位于数据服务器120的什么位置,并且向数据服务器120做出原始(raw)块请求117。所述数据服务器120返回请求数据118。
在图1中举例说明的系统体系结构提供了客户端114上的可安装的文件系统,安装在客户端114上的存储存取驱动程序,智能元数据服务器110,以及处于数据服务器120的产品硬盘驱动器(HDD)存储附件。图1中举例说明的系统体系结构还使用了典型的存储网络基础结构,诸如交换机、电缆、主机总线适配器(HBA)等等。
图1中举例说明的系统体系结构的优点包括在元数据服务器110的存储虚拟化以及管理,以客户端连接速度对数据服务器120的大文件存取以及数据服务器120具有JBOD(Just a Bunch Of Disks)智能水平的需要。文件系统语义优点包括在元数据服务器110的可管理性以及复制服务,同时不需要改变客户端114的应用程序。
然而,图1中举例说明的系统体系结构具有几个消极方面。首先,要求客户端114的文件系统的基础的根本改变。图1中举例说明的系统体系结构还要求两个完全同步事务来实现数据传送。图1中举例说明的系统体系结构的典型实现方式经由IP LAN(网际协议局域网)来设置元数据连接130,并且经由光纤信道SAN(存储区网络)来设置数据服务器连接132。另一缺点在于数据递送与正发布请求的线程同步。这通常由多线程来处理,以便每一线程环境等待操作系统(OS)服务的数据请求。尽管如此,数据传送仍在客户端114处的操作系统的控制下,其中所述客户端114具有隐含的所有性能障碍,例如页面大小存取粒度、上下文切换以及中断处理开销、潜在的额外复制操作、应用程序和OS之间的双高速缓存问题。此外,客户端被限制在标准OS文件系统接口或者直接存储块接口。
图2举例说明了用于提供文件数据服务的第二种体系结构200,其中元数据由独立于服务实际文件块数据的实体的实体来服务。在图2中,存储虚拟化在元数据服务器210被控制。客户端214请求212来自于处于元数据服务器210的存储虚拟化解释器的数据。然后,所述元数据服务器210对其拥有的存储器220做出实际数据请求217。然后,通过元数据服务器210把数据响应218从数据服务器220集中回客户端214。客户端214的文件系统不需要改变,不过其存储存取驱动程序将改变以便将元数据服务器虚拟化设备标识为存储目标。
图2中举例说明的第二体系结构的对象包括被安装在客户端214上的存储存取驱动程序、智能元数据服务器210、产品HDD存储附件和典型存储网络基础结构(诸如交换机、电缆、HBA等等)。图2中举例说明的第二体系结构的优点包括在元数据服务器210的存储虚拟化和管理,并且允许数据服务器220只具有JBOD智能水平。客户端214的应用程序也未被改变。
尽管如此,图2中举例说明的第二体系结构还包括几个消极方面。首先,图2中举例说明的第二体系结构要求单个同步事务(从客户端的角度)以便实现数据传送。此外,典型实现方式经由IP LAN来设置元数据连接230,并且经由光纤信道SAN设置数据连接232。然而,数据递送与正发布请求的线程同步,并且通常通过多线程来处理,以便每一线程环境等待OS服务的数据请求。更进一步讲,数据传送仍然在具有如上所述的隐含的所有性能障碍的操作系统的控制下。所述元数据服务器210现在还必须是高吞吐量的可堆叠的存储切换,或者所述体系结构将是不可扩展的。此外,客户端214被限制在标准OS文件系统接口或者直接存储块接口。
正如可以从图1-2中举例说明的体系结构所看到的那样,使用元数据服务器的这种系统目前要求客户端操作系统提供数据控制,和/或所述系统未能以数据服务器连接速度提供文件存取。由此,本发明提供了具有元数据存储虚拟化并且以数据服务器连接速度进行数据存取的分布式文件服务体系结构。本发明允许执行元数据服务器所期望的SAN速度的I/O传送,同时实现那些I/O传送的客户端开销的空前减少。
图3举例说明了根据本发明实施例的存储系统体系结构300。图3中举例说明的存储系统使用元数据服务器310来提供文件数据服务,其中所述元数据服务器310独立于用于服务实际文件块数据的数据服务器320。在图3中,存储虚拟化在元数据服务器310被控制。所述客户端314利用数据目标位置312经由操作通道340向元数据服务器310提出文件存取请求。所述元数据服务器310请求来自于元数据服务器310中的存储虚拟化解释器的数据。然后,所述元数据服务器310向数据服务器320提供RDMA I/O操作细节342。此后,所述数据服务器320启动I/O。远程直接存储器存取344用于在数据服务器320和客户端314上的缓冲器之间传送数据。当I/O完成时,所述数据服务器320向元数据服务器310发送完成通知346。然后,所述元数据服务器310向客户端314发送表示完成会话(session)的文件存取响应348。
此过程通过基于文件的RDMA协议(FRP)会话350来完成。所述客户端314向元数据服务器310告知文件存取协议。直接存取文件系统(DAFS)是文件存取协议的一个具体例子。所述客户端314包括客户端文件存取堆栈352,所述客户端文件存取堆栈352包括应用程序353、FRP客户端和适配层354以及RDMA存取驱动程序/DS地址虚拟化355。根据本发明的存储系统体系结构使用DAFS客户端-服务器连接。虽然将参照DAFS解释本发明,但是不意味着把本发明限制为DAFS。倒不如说,可以使用那些用于提供类似功能以便实现相同结果的任何文件存取协议。
在元数据服务器310实现分布式远程直接存储器存取(RDMA)文件服务体系结构,并且在数据服务器320实现RDMA引擎370。所述元数据服务器310具有元数据服务器堆栈360,其包括FRP服务器361、RDMA交换协议引擎362以及RDMA存取驱动程序/DS地址虚拟化363。数据服务器320包括数据服务器堆栈370,其用于提供RDMA交换协议引擎371、RDMA启动器引擎372以及RDMA存取驱动程序/DS地址虚拟化373。
元协议允许RDMA I/O操作启动细节和完成通知的交换。例如,对于来自于所述元数据服务器的每个I/O而言,处于数据服务器320中的RDMA引擎370可以接收I/O标记、连接id、客户端、客户端存储器位置、客户端保护标记、文件位置、文件偏移、字节计数等等。
所述DAFS协议被设计成利用新出现的RDMA互连技术,诸如InfiniBand、虚拟接口(Virtual Interface,VI)以及iWARP。DAFS提供了经由RDMA通道341存取来自于数据服务器320的数据的快速方法。这种RDMA互连技术提供了两个在传统的互连网络上没有发现的基础性新能力。
第一个能力是直接存储器-至-存储器传送。远程直接存储器存取(RDMA)是一个计算机利用对存储器总线带宽和CPU处理开销的最小需求将信息直接置于另一计算机存储器中、同时保持存储器保护机制的能力。远程过程调用(RPC)消息协议提供了两个不同的结构:调用消息和应答消息(即,RPC调用消息和RPC应答消息)。客户端314使用这些消息来对网络服务程序做出远程过程调用并且接收包含过程执行结果的应答。通过为远程过程提供唯一规范,RPC可以把应答消息与每一调用(或者请求)消息相匹配。RDMA允许成批数据绕过正常协议处理并且在通信机器上适当定位的缓冲器之间直接传送。
第二个能力是直接应用程序存取,其中应用程序处理可以在操作系统不介入的情况下直接向RDMA适应的网络接口排队数据传送操作。由此,DAFS允许应用程序服务器集群有效地共享数据,同时防止通用操作系统强加的开销。
支持诸如虚拟接口(VI)体系结构的互连接口技术的适配器提供了数据直接从适配器上的缓冲器至应用程序缓冲器的直接存储器存取,省略从适配器缓冲器至操作系统网络缓冲器的复制、以及从联网缓冲器到操作系统文件缓冲器的复制。可以经由IP网络、InfiniBand网络、光纤信道网络以及有限数量的专有网络实现。这种适配器可以被实现在如图3中所示的本发明的存储系统体系结构300的部件中。
因为客户端314可以防止为其与传统的文件存取模型相关联的应用程序做出数据复制,所以每一文件存取使用更少的客户端CPU,并且每一文件缓冲器使用更少的客户端存储器。在元数据服务器310实现分布式RDMA文件服务体系结构300,并且在数据服务器320上实现RDMA引擎370,以便实现这些目标。
DAFS客户端-服务器连接由包括三个通道的会话组成。所述客户端在操作通道340上提交所有请求,其中只有所述客户端被允许异步地启动通信。第二通道是反向控制通道343,在其上,元数据服务器310通过RDMA交换协议345启动所有通信。第三通道是RDMA通道341,其中所述数据服务器320为到/来自于客户端314的缓冲器的原始数据传送启动所有通信。所述RDMA通道341实际上只是单向的,并且除了通道建立(setup)外其对于客户端314是不可见的。作为DAFS构造,RDMA通道341仅仅是用于两个RDMA存储存取驱动程序(在客户端314和数据服务器320上的)之间的连接的包装程序(wrapper),在此通道上不存在DAFS级别请求或者响应。RDMA最好由数据服务器320启动,并且对于客户端314而言,其的存在是不可见的。
一旦RDMA传送已经被标记为完成,那么所述元数据服务器310根据例如DAFS协议在操作通道340上提供操作响应。所述操作通道340和RDMA通道341是相同的客户端-服务器会话350的一部分,但是相对于RDMA存储存取驱动程序和适配器,它们是两个独立的RDMA通信端点连接。所述RDMA通道341是从数据服务器320开始的单向的,在传输级除建立外没有协议交换并且在DAFS级别没有会话绑定。
客户端314上的RDMA存取驱动程序355受控于所述体系结构实现者,并且由此可以使用命名空间概括来允许数据服务器320作为一个虚拟地址呈现给FRP客户端和适配层354。由此,FRP实现可以构成从操作通道340连接至元数据服务器310、以及从RDMA通道341至数据服务器320的虚拟地址的会话。
在客户端314,所述RDMA存取驱动程序355允许其缓冲器的直接存取。所述客户端314还包括用于直接存取RDMA启动的适配器的客户端应用程序的FRP客户端和适配层354,并且允许到/来自于应用程序缓冲器的RDMA。
所述元数据服务器310告知所述FRP并且提供数据服务器320上的数据的虚拟化。在此系统中,存在至少两种类型的元数据。首先,存在文件系统元数据,其包括被存储在原始数据块中并且形成目录结构的“inodes”,用于把文件块映射到原始数据块。其次,存在数据块虚拟化元数据,其实质上是“元文件系统”。每一客户端将与一“文件系统解释器”进行通信,所述文件系统解释器最好驻留在元数据服务器处。文件系统解释器也可以驻留在客户端/主机处,但是这要求修改客户端并且因此不是十分有效。
实现基于文件的RDMA协议(FRP)要求向元数据服务器310添加RDMA文件存取部件(RFAC)364。所述RFAC 364充当文件系统解释器。所述RFAC 364把FRP文件系统映射至元数据服务器310的元文件系统。所述RFAC 364是文件服务器,并且还管理用于所述FRP会话的服务器侧连接端点。所述RFAC 364把RDMA文件存取语言翻译为元文件系统语言。然后,所述元数据服务器310提供(为每个请求)到数据服务器320上的原始数据块的映射。RFAC 364与每一数据服务器320的适当的智能RDMA部件374进行通信,以便交换所述会话的RDMA连接通道端点信息和需要的数据交换342的细节。然后,用于该数据服务器320的所述智能RDMA部件374启动直接到/来自客户端的存储器缓冲器的RDMA活动344。在完成时,数据服务器320的智能RDMA部件374通知RFAC 364,并且RFAC 364接着向客户端314答复所述传送已经完成。数据服务器320的智能RDMA部件374可以是特殊的独立控制器、RAID控制器自身的增值特征等等。还需注意的是,所述数据服务器320可以包括RAID控制器。
作为选择,所述智能RDMA部件374可以作为元数据服务器310上的额外的软件部件来实现。虽然把所述智能RDMA部件374作为数据服务器堆栈370的一部分来举例说明,但是所述智能RDMA部件374可以是元数据服务器堆栈360的一部分。
作为另外的替代方式,所述智能RDMA部件374可以作为客户端/主机314处的可安装部件来实现。由此,即便在图3中将智能RDMA部件374作为数据服务器堆栈370的一部分来举例说明,所述智能RDMA部件也可以是客户端堆栈352的一部分。即使智能RDMA部件374是作为处于客户端/主机314的可安装部件实现的,RDMA也仍然被用于从数据服务器320向客户端314传送数据,由所述智能RDMA部件374控制它。在该情况下,所述智能RDMA 374向由数据服务器320提供的原始块存储发布命令。
图4举例说明了作为根据本发明的客户端堆栈400的一部分的智能RDMA部件。在操作中,客户端414向元数据服务器410发布FRP命令412,所述元数据服务器410包括RDMA文件存取部件(RFAC)464,用作用于体系结构中的FRP的控制连接端点服务器。所述RFAC464与标准元数据服务器软件部件通信,以便发现数据服务器420上的哪些数据块将被需要以服务于所述请求。然后,所述RFAC 464把数据块信息发送回到处于客户端的智能RDMA部件474。然后,处于客户端414的智能RDMA部件474通过发布带有作为自变量的客户端目标缓冲器的用户级联网命令418来启动来自于数据服务器的RDMA。所述RDMA传送然后被启动。当RDMA完成时,从用户级联网接口发布回叫信号(callback)。在RDMA完成时,所述智能RDMA部件474必须在元数据服务器410、即所述RFAC 464,并且在客户端414、即客户端的FRP客户端476触发完成。所述智能RDMA部件474可以向处于元数据服务器410的RFAC 464发送完成通知480,然后由RFAC 464向客户端414发送传统的FRP完成通知482,或者向元数据服务器410上的RFAC 464发送完成通知480,同时向客户端414发送完成通知484。
因为所述智能RDMA部件474必须知晓关注流量控制序号的元数据服务器410和客户端414之间的控制连接,所以第二过程具有不利方面。这是不同类型的连接语义,其实际上依照与FRP客户端476和智能RDMA部件474之间的协议不同的协议来触发良好形成的消息。然而,它保存某些延迟。
再次参照图3,由于由来自于其他客户端的写入或者其他原因(例如,文件系统移植、恢复操作等)而引起的元数据改变,所述元数据服务器310使客户端的高速缓存无效。如果所述高速缓存层是隔片(shim)或者库,那么没有驻留线程来响应由元数据服务器310启动的高速缓存无效。这由反向控制或者辅助操作通道343(DAFS将其称为‘反向控制通道’)来处理,其考虑了启动异步递送到客户端314的操作的服务器(在该情况下,是元数据服务器310)。然后,客户端314的高速缓存库的职责是检验此通道343是否有来自于元数据服务器310的通知:在使用高速缓存的元数据以前强制全部或者部分的高速缓存无效。
所述数据服务器320包括RDMA引擎370(例如,所述RDMA交换协议引擎、RDMA启动器引擎和RDMA存取驱动程序/DS地址虚拟化),其位于数据服务器320的控制器(未示出)处或者位于其附近,其与元数据服务器310交互以便获取连接和客户端目标缓冲器信息,启动对客户端缓冲器的RDMA读和写以便实现数据传送,并且向元数据服务器310发送RDMA操作的完成通知。RDMA引擎370可以被设置于每一数据服务器320处,并且能够管理RDMA存储存取端点、RDMA交换协议端点和单向RDMA FRP通道端点。所述RDMA引擎可以被设置在存储附件内部的非常小的服务器引擎上,或设置在RDMA启用的适配器之后并对其进行控制,或者被设置在外部。然而,在外部设置RDMA引擎370提出了可扩展性和带宽问题。
数据服务器320可以刚好是带有满足光纤信道数据请求的RAID控制器前端的LUN(逻辑单元号)的集合。所述数据服务器320不管理元数据。由此,所述数据服务器320没有文件块的概念,只有LUN块的概念,LUN块正好是由RAID控制器作为LUN给出的逻辑阵列部分。因此,所述数据服务器320使用产品HDD存储附件。
如上所述,所述客户端314将具有与元数据服务器310的FRP连接。所述FRP连接必须依照连贯方式与用于RDMA的数据服务器手动切断。DAFS规定了作为同一会话的一部分的额外通道。这些通道中的一个可以与通过表示所有数据服务器320的虚拟地址设置的数据服务器320建立,如此使得DAFS客户端对于其会话具有至少两个连接,一个是与元数据服务器310的连接用于元数据存取和I/O启动,而另一个是与设置虚拟地址的客户端314的入站通道的连接,它是到客户端314的入站通道,即其中由数据服务器320启动传送的连接。
例如,对于文件读取来说,客户端314位于SAN上,并且向请求RDMA读取的元数据服务器310告知FRP。所述客户端314发送其本机缓冲器信息以及保护标记,如在FRP 312中所表明的那样。所述元数据服务器310(在满足正常元数据请求之后,为此而设计的)向数据服务器320中继RDMA信息342。所述数据服务器320直接向客户端314的缓冲器RDMA 344所述文件数据,并且向元数据服务器310应答346所述读取已经被满足。所述元数据服务器310向客户端314发送FRP读取响应348。因为FRP通常是异步输入/输出启动器,所以轻微增加的等待时间不是问题,但是就应用程序性能而言,减少的客户端开销却是巨大的优点。由此,RDMA从数据服务器320向客户端314进行以便传递文件块数据(用于读取),并且获得文件块数据(服务器启动的RDMA读取,响应于客户端FRP写入请求,即,客户端RDMA写入)。
元数据递送可以经由客户端和元数据服务器之间的标准请求/响应RPC类型的信息交换来提供,并且可以经由从元数据服务器到客户端的元数据的RDMA递送来提供。对于较大块的元数据、诸如较大目录列表的递送、长存取控制列表标识的递送、或者扩展的文件属性规范来说,RDMA是优选的。由此,所述客户端可以向元数据服务器310提出元数据请求382,规定足够大以便保存所请求的信息的应答缓冲器。所述元数据服务器310然后能把元数据384RDMA到缓冲器中,并且利用递送操作状态的正常消息来响应所述客户端314。
正如可以看到的那样,即便本发明的存储系统体系结构包括兼作数据服务器320的元数据服务器310,元数据服务器310还是独立于服务于块存储的装置320的逻辑单元,其中所述数据服务器320使用代表元数据服务器310和数据服务器320的同一服务器上的软件模块。此文件系统的客户端314具有可安装文件系统(IFS)驱动程序,其把应用程序数据请求翻译为元数据的文件系统请求以及元数据服务器310的文件位置,其位于同一存储区域网络(SAN)上。
数据存取在一个FRP会话350上发生,所述一个FRP会话350由操作通道340和RDMA通道341组成。这样能够进行五个步骤的处理来进行数据存取,如图3中所示那样,客户端看上去像一个数据请求/响应对。以传输速度从数据服务器320到客户端314上的应用程序缓冲器进行数据传送,这由数据服务器320上的RDMA引擎堆栈370启动,象由元数据服务器310的元数据服务器FRP服务器堆栈360控制的那样。这样实现了元数据服务器310的存储虚拟化,同时允许以数据服务器320的连接速度进行客户端314的数据存取,并且防止向客户端OS给予数据控制的内在问题。
支持第三方以及客户端启动的RDMA通道341。对于独立的RDMA连接来说,客户端314可以直接与数据服务器320或者元数据服务器310进行交互。所述连接是独立的通道,但是是同一会话的一部分。RDMA可以在客户端314和元数据服务器310之间经由用于该会话的主操作通道连接3340、以及经由存在于客户端和第三方之间的另一个通道进行,所述第三方例如是数据服务器320。通道340、341(将他们连系为同一总体会话350)的分离允许RDMA在数据服务器320和客户端314之间与操作协同进行。所述会话识别符将被作为元协议的一部分在元数据服务器310和数据服务器320之间传递,以便数据服务器320可以在面对客户端314处的连接验证时进行RDMA。
所述客户端314仍然可以启动RDMA。虽然最好是只允许数据服务器320或者元数据服务器310启动的RDMA,例如,出于服务器缓冲器安全性和服务器性能/管理原因,客户端启动的RDMA可以跨越任何所论述的通道来进行。实际上,如上面所建议的那样,由客户端314进行的写入可以被设置为RDMA写入而不是RDMA读取,即,这种写入本质上是客户端启动的。
必须考虑在这些RDMA通道上的客户端侧高速缓存的后果。元数据会占据客户端的高速缓存的重要位置,以便当遍历目录树时,增大目录查找的速度,或者保存存储控制列表以增大对于各种操作的用户权限确定速度。因为它降低了网络和服务器负载,故而这是合乎需要的。所述FRP客户端354将具有其自己的元数据高速缓存,或者使用第三方的高速缓存隔片(shim)层或者库来处理如上所述的这些活动。
当启动到客户端314的RDMA时,由数据服务器320看来,存在与虚拟地址有关的问题。这特别关系到数据服务器地址虚拟化的管理。如上所述,一个独立通道用于数据服务器-至-客户端的RDMA341,其是一个总体会话350的一部分,所述会话负责客户端314和全部元数据服务器310/数据服务器320集之间的文件存取。当每一数据服务器320将必然具有不同的传输层地址时,所述客户端314可以具有一个持续的RDMA连接341用于从全部范围的数据服务器320到来的RDMA。然而,本发明的存储系统体系结构不依赖这种虚拟化。
图5根据本发明实施例举例说明了客户端软件栈的附加细节以及按照RDMA传输(RDMA-T)500的虚拟寻址问题。参照客户端文件存取堆栈510,地址虚拟化是由RDMA端点地址虚拟化层(AV层)512来实现的。所述AV层库512与其下面的RDMA传输端点供应商层(EP层)514交互,以便向FRP客户端516呈现单个连接视图。所述AV层512可以由FRP客户端516提供虚拟地址。所述虚拟地址是一个配置项。存在两种可能的用于解析所述虚拟地址的方法。首先,作为配置细节,所述AV层512可以查阅虚拟地址翻译的设置文件。其次,所述AV层512可以联系RDMA-T网络520上的RDMA-T命名服务器(例如,元数据服务器524)以便解析所述虚拟地址。在这第二种方法中,命名服务器524的所述RDMA-T地址522将会是一个配置选项。
所述AV层512然后可以开启与虚拟地址涉及的RDMA-T地址530-534集合的持续RDMA连接。由于RDMA操作不会导致消息在EP层514上发送/接收,所以AV层512只需要考虑用作RDMA目标的缓冲器是否向所有它管理的连接终点进行了注册。这增加了缓冲器注册的等待时间,但是大部分的应用程序将在初始化时为RDMA注册缓冲器,然后此后变得迟钝,以便防止在关键路径中出现该操作的已经很高的成本。如果连接断开,则所述AV层512也许会或者也许不会试图重建它——这是一个策略确定点。如果一次或者两次重试失败,那么AV层512可以假定上层516将已经处理了所述结果。如果最后的或者唯一的连接断开,那么AV层512必须把断开连接通知递送至FRP客户端516。
仍参照图5,其还示出了第二种实现方式。所述AV层512和EP层514可以被合并以便形成作为一个组合的新层,即,虚拟端点层或者VEP层550。这假定控制所述VEP层550的实现以便允许虚拟寻址和解析。然而,对于这种实现而言,存在障碍。简单地讲,这种障碍包括验证问题和相对于虚拟地址实现缓冲器注册。
首先,验证问题涉及确定VEP层550如何获知来自于给定数据服务器540的RDMA请求是有效的而不是攻击。对于在到元数据服务器524的原始请求中提及的应用程序缓冲器而言,所述数据服务器540必须获知缓冲器注册关键字。所述数据服务器540还必须获知元数据服务器524的连接标识符,以便不仅可以使其能够对正确的客户端544进行RDMA,而且可以使其与验证其客户端544的存取。元数据服务器524的连接标识符是由元数据服务器524经由元数据服务器524和数据服务器540之间的RDMA交换协议560发送的。所述元数据服务器524给予数据服务器540其自身端点标识关键字,以便当数据服务器540对客户端544启动RDMA时,它可以传递适当的端点标识符以及缓冲器位置、客户端处理id以及客户端缓冲器注册关键字。
由此,即便所述RDMA没有从与其建立连接的元数据服务器524RDMA-T端点进入到客户端544的VEP层550中,所述客户端544也可以验证所述存取。对于上层来说,这样看起来好像数据服务器540正通过使用其验证欺骗元数据服务器RDMA-T地址522。所述验证可以对照由客户端配置的虚拟地址向数据服务器的RDMA-T地址530-534集合的映射来进行双重核对,其中所述地址必须包括启动RDMA的数据服务器540的RDMA-T地址。这种映射可以通过称为第一种实现方式的相同的两种方法来再次实现,例如,作为配置细节,所述VEP层550查阅虚拟地址翻译的设置文件,或者VEP层550可以联系RDMA-T网络520上的RDMA-T命名服务器(例如,元数据服务器524)以解析所述虚拟地址。此外,在第二种方法中,命名服务器524的所述RDMA-T地址然后将会是一个配置选项。
如上所述,第二障碍是相对于虚拟地址实现缓冲器注册。所述RDMA-T引擎必须确保处于客户端544的缓冲器处于物理存储器,即,其必须是从RDMA-T网络接口直接存储器存取的目标,以及是从元数据服务器524请求RDMA操作的处理的部分地址空间。这是通过向RDMA-T驱动程序518进行注册来实现的,其用客户端OS栓定或者锁定缓冲器存储器,以便使其以所定义的映射保存在物理存储器中,并且在其索引中创建条目,所述索引将那个缓冲器映射到连系缓冲器的处理保护标记、处理id和RDMA-T端点。所述标记是通过注册被返回的。通过与RDMA-T驱动程序518配合在此层中设置虚拟化,来自于数据服务器540的RDMA将呈现适当连接的保护标记,将成为虚拟地址-数据服务器映射集的成员,并且由此将被验证。在缓冲器可以被注册以前,将必须完成虚拟地址到数据服务器地址集映射,如此使得所述虚拟地址是有效的端点。然后,可以创建虚拟端点,其体现了所述映射,并且用作注册处理的索引点。
图6举例说明了在没有硬件限制的情况下本发明的功能600。在图6中,主机610对元数据服务器614提出基于文件的RDMA请求(FRP)612。所述元数据服务器614包括RFAC 616,其用于把RDMA文件存取语言翻译为元文件系统语言。例如处于主机610或者元数据服务器614中的文件系统解释器620提供原始数据块信息。RDMA通道端点和数据细节被提供给智能RDMA部件630。可以驻留在主机610、元数据服务器614或者数据服务器(未示出)中的智能RDMA部件630控制在主机610处的存储器和数据服务器(未示出)之间的RDMA传送650。
图7举例说明了根据本发明的存储系统部件500,其中参照图3-6示出的过程可以被有形地包含在计算机可读介质或者载体中,例如包含在图5中所示的一个或多个固定和/或可移除的数据存储装置568中,或者包含在其他数据存储或数据通信装置中。表示在可移除的数据存储装置568上包含的处理的计算机程序590可以被载入存储器592或者存储系统部件500中、例如处理器(未示出)中用于执行,以便配置图5的存储系统部件500。计算机程序590包括指令,当由图5的存储系统部件500读取并且执行所述指令时,使存储系统部件500执行实现本发明的步骤或者元件所必须的步骤。本领域技术人员将认识到的是,存储系统部件500可以是客户端、元数据服务器、数据服务器、控制器等等。此外,只有每一部件要求的处理需要被载入所述部件中。
因此,本发明提供了许多优点。例如,在元数据服务器处对存储进行虚拟化和管理,通过在元数据服务器处的可管理性和复制服务使文件系统语义优点得以增长。在实现者控制点、即RDMA存储存取驱动程序处,存取也被虚拟化。此外,以客户端RDMA通道的速度进行对数据服务器的所有文件存取,并且数据服务器只需要JBOD智能级即可——增加运行RDMA引擎堆栈的控制器。数据传送是应用程序控制的。通过事件驱动的和异步的完成通知体系结构可以实现完全的异步。所述文件系统接口不再通过对OS的分块调用,因此客户端不再需要多线程来有效地进行流水线存取请求,并且为了可靠性和用户定制化,可以拥有它们自身的异步文件系统接口。OS性能障碍被忽略了,例如,存取大小粒度现在只受传输的能力和传输驱动程序来限制,避免了上下文切换和中断处理开销,并且避免了额外的复制操作和双重高速缓存。
已经为了举例说明和描述的目的给出了本发明的示例性实施例的先前描述。这不意味着穷举或者把本发明限制为所公开的具体形式。根据上述教义能够进行许多修改和变化。其意图是,本发明的范围不由这种详细说明来限制,而是由所附权利要求书来限定。

Claims (16)

1.一种元数据服务器,包括:
用于存储与数据服务器上的数据相关联的元数据的存储器;
用于接收来自于主机的输入/输出请求的装置;以及
用于根据所述元数据向数据服务器发布输入/输出操作细节,以便控制直接在主机处的存储器和数据服务器之间的文件块数据传送的装置,
其中所述输入/输出操作细节用于建立所述数据服务器与由所述输入/输出操作细节标识的主机处的存储器地址的直接连接。
2.如权利要求1所述的元数据服务器,其中所述输入/输出请求是请求直接从主机处的存储器地址向数据服务器写入数据的请求。
3.如权利要求1所述的元数据服务器,其中所述输入/输出请求是请求从数据服务器直接向主机处的存储器读取由输入/输出操作细节涉及的数据的请求。
4.如权利要求1所述的元数据服务器,还包括用于虚拟化位于所述数据服务器的文件块数据的装置。
5.如权利要求1所述的元数据服务器,其中所述输入/输出请求是对元数据的请求,所述元数据服务器还包括用于把所请求的元数据返回至主机处的存储器地址的装置。
6.如权利要求1所述的元数据服务器,还包括用于在主机和元数据服务器之间经由RDMA通道返回所请求的元数据的装置。
7.如权利要求1所述的元数据服务器,还包括:
用于接收来自于数据服务器的完成通知的装置;以及
用于向主机发布表示完成与输入/输出请求相关联的会话的文件存取响应的装置。
8.如权利要求1所述的元数据服务器,还包括用于当与高速缓存的数据相关联的元数据在所述元数据服务器改变时,在主机处使高速缓存的数据无效的装置。
9.如权利要求1所述的元数据服务器,还包括用于把来自于主机的输入/输出请求从RDMA文件存取语言翻译为元数据服务器的元文件系统语言,以便允许输入/输出请求被映射到数据服务器上的原始数据块的装置。
10.如权利要求1所述的元数据服务器,还包括智能RDMA部件,用于控制文件块数据在主机的存储器地址和数据服务器之间的RDMA传送。
11.一种数据服务器,包括:
用于在其上存储文件块数据的至少一个存储装置;
用于从元数据服务器接收与主机的输入/输出请求相关联的输入/输出操作细节的装置;
用于在所述元数据服务器的控制下建立与由所接收的输入/输出操作细节标识的主机处的存储器地址的直接连接的装置;以及
用于直接在主机的存储器地址和至少一个存储装置之间传送由接收到的输入/输出操作细节涉及的文件块数据的装置。
12.如权利要求11所述的数据服务器,还包括用于向元数据服务器提供完成通知,以便发信号通知主机的存储器地址和存储装置之间的文件数据传送已经完成的装置。
13.如权利要求11所述的数据服务器,还包括存储控制器,用于将至少一个存储装置呈现为逻辑单元号,并且用于通过处理主机的存储器地址和至少一个存储装置之间的文件块数据来满足所述输入/输出请求。
14.一种存储网络,包括:具有用于在处理输入/输出请求中使用的第一存储器的主机,所述主机被配置为用于发布所述输入/输出请求;耦合至所述主机的如权利要求1至10中任一项所述的元数据服务器;以及可操作地耦合至所述主机和所述元数据服务器的如权利要求11-13中任一项所述的数据服务器。
15.一种在具有元数据存储虚拟化的分布式文件服务体系结构中允许以数据服务器连接速度进行数据存取的方法,所述方法包括如下步骤:存储与数据服务器上的数据相关联的元数据;并且响应于输入/输出请求,根据所述元数据向数据服务器发布输入/输出操作细节,以便控制直接在主机处的存储器和数据服务器之间的文件块数据传送,其中所述输入/输出操作细节用于建立所述数据服务器与由所述输入/输出操作细节标识的主机处的存储器地址的直接连接。
16.一种执行用于在具有元数据虚拟化的分布式文件服务体系结构中以数据服务器连接速度提供数据存取的方法,所述方法包括如下步骤:在包括至少一个存储装置的数据服务器上存储文件块数据;在数据服务器从元数据服务器接收与主机的输入/输出请求相关联的输入/输出操作细节;在元数据服务器的控制下建立从数据服务器到由接收到的输入/输出操作细节标识的主机处的存储器地址的直接连接;并且直接在主机的存储器地址和数据服务器之间传送由接收到的输入/输出操作细节涉及的文件块数据。
CNB2004800024212A 2003-05-07 2004-05-06 元数据服务器、数据服务器、存储网络及数据存取方法 Active CN100517308C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/431,413 2003-05-07
US10/431,413 US7610348B2 (en) 2003-05-07 2003-05-07 Distributed file serving architecture system with metadata storage virtualization and data access at the data server connection speed

Publications (2)

Publication Number Publication Date
CN1771495A CN1771495A (zh) 2006-05-10
CN100517308C true CN100517308C (zh) 2009-07-22

Family

ID=33416451

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2004800024212A Active CN100517308C (zh) 2003-05-07 2004-05-06 元数据服务器、数据服务器、存储网络及数据存取方法

Country Status (6)

Country Link
US (4) US7610348B2 (zh)
EP (1) EP1620813A2 (zh)
KR (1) KR100754306B1 (zh)
CN (1) CN100517308C (zh)
TW (1) TWI343010B (zh)
WO (1) WO2004099989A2 (zh)

Families Citing this family (277)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6658091B1 (en) 2002-02-01 2003-12-02 @Security Broadband Corp. LIfestyle multimedia security system
JP2004192179A (ja) * 2002-12-10 2004-07-08 Fujitsu Ltd Rdma機能を持ったnicをハードウェアメモリ保護を行わないで、専用のモニタプロセスなしにシステムに組み込むための装置
US7610348B2 (en) 2003-05-07 2009-10-27 International Business Machines Distributed file serving architecture system with metadata storage virtualization and data access at the data server connection speed
US7383444B2 (en) * 2003-05-27 2008-06-03 Canon Kabushiki Kaisha Information processing system, information processing apparatus, method of controlling the information processing apparatus, disk array device, method of controlling the disk array device, method of controlling display of the disk array device, and control programs for implementing the methods
EP1528478A1 (en) * 2003-11-03 2005-05-04 Sun Microsystems, Inc. Generalized addressing scheme for remote direct memory access enabled devices
JP2005148868A (ja) * 2003-11-12 2005-06-09 Hitachi Ltd ストレージ装置におけるデータのプリフェッチ
US9213609B2 (en) * 2003-12-16 2015-12-15 Hewlett-Packard Development Company, L.P. Persistent memory device for backup process checkpoint states
JP2005182122A (ja) * 2003-12-16 2005-07-07 Alpine Electronics Inc リムーバブル記録媒体及びそのファイル制御方法
US11916870B2 (en) 2004-03-16 2024-02-27 Icontrol Networks, Inc. Gateway registry methods and systems
US10142392B2 (en) 2007-01-24 2018-11-27 Icontrol Networks, Inc. Methods and systems for improved system performance
US20090077623A1 (en) 2005-03-16 2009-03-19 Marc Baum Security Network Integrating Security System and Network Devices
GB2428821B (en) 2004-03-16 2008-06-04 Icontrol Networks Inc Premises management system
US11489812B2 (en) 2004-03-16 2022-11-01 Icontrol Networks, Inc. Forming a security network including integrated security system components and network devices
US10062273B2 (en) 2010-09-28 2018-08-28 Icontrol Networks, Inc. Integrated security system with parallel processing architecture
US11159484B2 (en) 2004-03-16 2021-10-26 Icontrol Networks, Inc. Forming a security network including integrated security system components and network devices
US10721087B2 (en) 2005-03-16 2020-07-21 Icontrol Networks, Inc. Method for networked touchscreen with integrated interfaces
US10382452B1 (en) 2007-06-12 2019-08-13 Icontrol Networks, Inc. Communication protocols in integrated systems
US11316958B2 (en) 2008-08-11 2022-04-26 Icontrol Networks, Inc. Virtual device systems and methods
US11368429B2 (en) 2004-03-16 2022-06-21 Icontrol Networks, Inc. Premises management configuration and control
US10156959B2 (en) 2005-03-16 2018-12-18 Icontrol Networks, Inc. Cross-client sensor user interface in an integrated security network
US10444964B2 (en) 2007-06-12 2019-10-15 Icontrol Networks, Inc. Control system user interface
US11244545B2 (en) 2004-03-16 2022-02-08 Icontrol Networks, Inc. Cross-client sensor user interface in an integrated security network
US11343380B2 (en) 2004-03-16 2022-05-24 Icontrol Networks, Inc. Premises system automation
US10522026B2 (en) 2008-08-11 2019-12-31 Icontrol Networks, Inc. Automation system user interface with three-dimensional display
US10339791B2 (en) 2007-06-12 2019-07-02 Icontrol Networks, Inc. Security network integrated with premise security system
US11113950B2 (en) 2005-03-16 2021-09-07 Icontrol Networks, Inc. Gateway integrated with premises security system
US11582065B2 (en) 2007-06-12 2023-02-14 Icontrol Networks, Inc. Systems and methods for device communication
US10348575B2 (en) 2013-06-27 2019-07-09 Icontrol Networks, Inc. Control system user interface
US9531593B2 (en) 2007-06-12 2016-12-27 Icontrol Networks, Inc. Takeover processes in security network integrated with premise security system
US9729342B2 (en) 2010-12-20 2017-08-08 Icontrol Networks, Inc. Defining and implementing sensor triggered response rules
US8635350B2 (en) 2006-06-12 2014-01-21 Icontrol Networks, Inc. IP device discovery systems and methods
US8963713B2 (en) 2005-03-16 2015-02-24 Icontrol Networks, Inc. Integrated security network with security alarm signaling system
US11368327B2 (en) 2008-08-11 2022-06-21 Icontrol Networks, Inc. Integrated cloud system for premises automation
US11277465B2 (en) 2004-03-16 2022-03-15 Icontrol Networks, Inc. Generating risk profile using data of home monitoring and security system
US7711796B2 (en) 2006-06-12 2010-05-04 Icontrol Networks, Inc. Gateway registry methods and systems
US9141276B2 (en) 2005-03-16 2015-09-22 Icontrol Networks, Inc. Integrated interface for mobile device
US11677577B2 (en) 2004-03-16 2023-06-13 Icontrol Networks, Inc. Premises system management using status signal
US10237237B2 (en) 2007-06-12 2019-03-19 Icontrol Networks, Inc. Communication protocols in integrated systems
US11811845B2 (en) 2004-03-16 2023-11-07 Icontrol Networks, Inc. Communication protocols over internet protocol (IP) networks
US10200504B2 (en) 2007-06-12 2019-02-05 Icontrol Networks, Inc. Communication protocols over internet protocol (IP) networks
US11201755B2 (en) 2004-03-16 2021-12-14 Icontrol Networks, Inc. Premises system management using status signal
US7945657B1 (en) * 2005-03-30 2011-05-17 Oracle America, Inc. System and method for emulating input/output performance of an application
US7546631B1 (en) * 2004-04-30 2009-06-09 Sun Microsystems, Inc. Embedded management system for a physical device having virtual elements
US7124143B2 (en) 2004-05-10 2006-10-17 Hitachi, Ltd. Data migration in storage system
EP1769395A2 (en) * 2004-05-21 2007-04-04 Computer Associates Think, Inc. Object-based storage
US7779081B2 (en) * 2004-07-16 2010-08-17 International Business Machines Corporation Method, system, and program for forwarding messages between nodes
US9264384B1 (en) 2004-07-22 2016-02-16 Oracle International Corporation Resource virtualization mechanism including virtual host bus adapters
JP4438582B2 (ja) * 2004-09-22 2010-03-24 株式会社日立製作所 データ移行方法
US7464124B2 (en) 2004-11-19 2008-12-09 International Business Machines Corporation Method for autonomic data caching and copying on a storage area network aware file system using copy services
US7383406B2 (en) * 2004-11-19 2008-06-03 International Business Machines Corporation Application transparent autonomic availability on a storage area network aware file system
US7457930B2 (en) 2004-11-19 2008-11-25 International Business Machines Corporation Method for application transparent autonomic data replication improving access performance for a storage area network aware file system
US7610307B2 (en) * 2004-11-30 2009-10-27 Microsoft Corporation Method and system of detecting file system namespace changes and restoring consistency
US7496565B2 (en) * 2004-11-30 2009-02-24 Microsoft Corporation Method and system for maintaining namespace consistency with a file system
US20170180198A1 (en) 2008-08-11 2017-06-22 Marc Baum Forming a security network including integrated security system components
US20120324566A1 (en) 2005-03-16 2012-12-20 Marc Baum Takeover Processes In Security Network Integrated With Premise Security System
US20110128378A1 (en) 2005-03-16 2011-06-02 Reza Raji Modular Electronic Display Platform
US10999254B2 (en) 2005-03-16 2021-05-04 Icontrol Networks, Inc. System for data routing in networks
US11496568B2 (en) 2005-03-16 2022-11-08 Icontrol Networks, Inc. Security system with networked touchscreen
US9306809B2 (en) 2007-06-12 2016-04-05 Icontrol Networks, Inc. Security system with networked touchscreen
US11615697B2 (en) 2005-03-16 2023-03-28 Icontrol Networks, Inc. Premise management systems and methods
US11700142B2 (en) 2005-03-16 2023-07-11 Icontrol Networks, Inc. Security network integrating security system and network devices
US20060271579A1 (en) * 2005-05-10 2006-11-30 Arun Batish Storage usage analysis
US7636801B1 (en) * 2005-06-20 2009-12-22 Symantec Operating Corporation Coordination of quality of service in a multi-layer virtualized storage environment
US7363457B1 (en) 2005-07-21 2008-04-22 Sun Microsystems, Inc. Method and system for providing virtualization data services for legacy storage devices
US9813283B2 (en) 2005-08-09 2017-11-07 Oracle International Corporation Efficient data transfer between servers and remote peripherals
US8560503B1 (en) * 2006-01-26 2013-10-15 Netapp, Inc. Content addressable storage system
US7756943B1 (en) * 2006-01-26 2010-07-13 Symantec Operating Corporation Efficient data transfer between computers in a virtual NUMA system using RDMA
US7702743B1 (en) 2006-01-26 2010-04-20 Symantec Operating Corporation Supporting a weak ordering memory model for a virtual physical address space that spans multiple nodes
CN100423491C (zh) * 2006-03-08 2008-10-01 杭州华三通信技术有限公司 虚拟化网络存储系统及其网络存储设备
JP4175379B2 (ja) * 2006-04-25 2008-11-05 日本電気株式会社 ファイル共有方法およびファイル共有システム
US10079839B1 (en) 2007-06-12 2018-09-18 Icontrol Networks, Inc. Activation of gateway device
US20080033980A1 (en) * 2006-08-03 2008-02-07 Jaroslav Andrew Delapedraja System and method for automatically adjusting file system settings
CN101170416B (zh) * 2006-10-26 2012-01-04 阿里巴巴集团控股有限公司 网络数据存储系统及其数据访问方法
US8935302B2 (en) * 2006-12-06 2015-01-13 Intelligent Intellectual Property Holdings 2 Llc Apparatus, system, and method for data block usage information synchronization for a non-volatile storage volume
US8489817B2 (en) 2007-12-06 2013-07-16 Fusion-Io, Inc. Apparatus, system, and method for caching data
WO2008070814A2 (en) * 2006-12-06 2008-06-12 Fusion Multisystems, Inc. (Dba Fusion-Io) Apparatus, system, and method for a scalable, composite, reconfigurable backplane
US7930263B2 (en) 2007-01-12 2011-04-19 Health Information Flow, Inc. Knowledge utilization
US11706279B2 (en) 2007-01-24 2023-07-18 Icontrol Networks, Inc. Methods and systems for data communication
US7633385B2 (en) 2007-02-28 2009-12-15 Ucontrol, Inc. Method and system for communicating with and controlling an alarm system from a remote server
US8451986B2 (en) 2007-04-23 2013-05-28 Icontrol Networks, Inc. Method and system for automatically providing alternate network access for telecommunications
US20080306818A1 (en) * 2007-06-08 2008-12-11 Qurio Holdings, Inc. Multi-client streamer with late binding of ad content
US10423309B2 (en) 2007-06-12 2019-09-24 Icontrol Networks, Inc. Device integration framework
US11218878B2 (en) 2007-06-12 2022-01-04 Icontrol Networks, Inc. Communication protocols in integrated systems
US10523689B2 (en) 2007-06-12 2019-12-31 Icontrol Networks, Inc. Communication protocols over internet protocol (IP) networks
US10616075B2 (en) 2007-06-12 2020-04-07 Icontrol Networks, Inc. Communication protocols in integrated systems
US11646907B2 (en) 2007-06-12 2023-05-09 Icontrol Networks, Inc. Communication protocols in integrated systems
US11089122B2 (en) 2007-06-12 2021-08-10 Icontrol Networks, Inc. Controlling data routing among networks
US11316753B2 (en) 2007-06-12 2022-04-26 Icontrol Networks, Inc. Communication protocols in integrated systems
US11237714B2 (en) 2007-06-12 2022-02-01 Control Networks, Inc. Control system user interface
US10389736B2 (en) 2007-06-12 2019-08-20 Icontrol Networks, Inc. Communication protocols in integrated systems
US11423756B2 (en) 2007-06-12 2022-08-23 Icontrol Networks, Inc. Communication protocols in integrated systems
US11212192B2 (en) 2007-06-12 2021-12-28 Icontrol Networks, Inc. Communication protocols in integrated systems
US10498830B2 (en) 2007-06-12 2019-12-03 Icontrol Networks, Inc. Wi-Fi-to-serial encapsulation in systems
US11601810B2 (en) 2007-06-12 2023-03-07 Icontrol Networks, Inc. Communication protocols in integrated systems
US10666523B2 (en) * 2007-06-12 2020-05-26 Icontrol Networks, Inc. Communication protocols in integrated systems
US20080313029A1 (en) * 2007-06-13 2008-12-18 Qurio Holdings, Inc. Push-caching scheme for a late-binding advertisement architecture
US20090019223A1 (en) * 2007-07-09 2009-01-15 Lection David B Method and systems for providing remote strage via a removable memory device
US7802071B2 (en) * 2007-07-16 2010-09-21 Voltaire Ltd. Device, system, and method of publishing information to multiple subscribers
US7996482B1 (en) 2007-07-31 2011-08-09 Qurio Holdings, Inc. RDMA based real-time video client playback architecture
US7805373B1 (en) 2007-07-31 2010-09-28 Qurio Holdings, Inc. Synchronizing multiple playback device timing utilizing DRM encoding
US9749712B2 (en) * 2007-08-20 2017-08-29 The Directv Group, Inc. Method and apparatus for generating an overlay code for a set top box from an external device
US11831462B2 (en) 2007-08-24 2023-11-28 Icontrol Networks, Inc. Controlling data routing in premises management systems
US20090144463A1 (en) * 2007-11-29 2009-06-04 Dell Products L.P. System and Method for Input/Output Communication
US7836226B2 (en) 2007-12-06 2010-11-16 Fusion-Io, Inc. Apparatus, system, and method for coordinating storage requests in a multi-processor/multi-thread environment
US9519540B2 (en) 2007-12-06 2016-12-13 Sandisk Technologies Llc Apparatus, system, and method for destaging cached data
US8762476B1 (en) 2007-12-20 2014-06-24 Qurio Holdings, Inc. RDMA to streaming protocol driver
US11916928B2 (en) 2008-01-24 2024-02-27 Icontrol Networks, Inc. Communication protocols over internet protocol (IP) networks
US8060904B1 (en) 2008-02-25 2011-11-15 Qurio Holdings, Inc. Dynamic load based ad insertion
CN101551802B (zh) * 2008-04-03 2011-09-21 纬创资通股份有限公司 用于一管理系统的文件存取方法
US8775718B2 (en) * 2008-05-23 2014-07-08 Netapp, Inc. Use of RDMA to access non-volatile solid-state memory in a network storage system
US20170185278A1 (en) 2008-08-11 2017-06-29 Icontrol Networks, Inc. Automation system user interface
US11258625B2 (en) 2008-08-11 2022-02-22 Icontrol Networks, Inc. Mobile premises automation platform
US11792036B2 (en) 2008-08-11 2023-10-17 Icontrol Networks, Inc. Mobile premises automation platform
US11729255B2 (en) 2008-08-11 2023-08-15 Icontrol Networks, Inc. Integrated cloud system with lightweight gateway for premises automation
US11758026B2 (en) 2008-08-11 2023-09-12 Icontrol Networks, Inc. Virtual device systems and methods
US10530839B2 (en) 2008-08-11 2020-01-07 Icontrol Networks, Inc. Integrated cloud system with lightweight gateway for premises automation
US8307044B2 (en) * 2008-08-28 2012-11-06 Netapp, Inc. Circuits, systems, and methods to integrate storage virtualization in a storage controller
US20100083247A1 (en) * 2008-09-26 2010-04-01 Netapp, Inc. System And Method Of Providing Multiple Virtual Machines With Shared Access To Non-Volatile Solid-State Memory Using RDMA
US8306935B2 (en) * 2008-12-22 2012-11-06 Panduit Corp. Physical infrastructure management system
US8312487B1 (en) 2008-12-31 2012-11-13 Qurio Holdings, Inc. Method and system for arranging an advertising schedule
CN101520805B (zh) * 2009-03-25 2011-05-11 中兴通讯股份有限公司 一种分布式文件系统及其文件处理方法
US8171219B2 (en) * 2009-03-31 2012-05-01 Intel Corporation Method and system to perform caching based on file-level heuristics
US8638211B2 (en) 2009-04-30 2014-01-28 Icontrol Networks, Inc. Configurable controller and interface for home SMA, phone and multimedia
US9973446B2 (en) 2009-08-20 2018-05-15 Oracle International Corporation Remote shared server peripherals over an Ethernet network for resource virtualization
JP5999645B2 (ja) * 2009-09-08 2016-10-05 ロンギチュード エンタープライズ フラッシュ エスエイアールエル ソリッドステート記憶デバイス上にデータをキャッシングするための装置、システム、および方法
WO2011031900A2 (en) 2009-09-09 2011-03-17 Fusion-Io, Inc. Apparatus, system, and method for power reduction management in a storage device
US8601222B2 (en) 2010-05-13 2013-12-03 Fusion-Io, Inc. Apparatus, system, and method for conditional and atomic storage operations
EP2476079A4 (en) 2009-09-09 2013-07-03 Fusion Io Inc APPARATUS, SYSTEM, AND METHOD FOR STORAGE ALLOCATION
US9223514B2 (en) 2009-09-09 2015-12-29 SanDisk Technologies, Inc. Erase suspend/resume for memory
US9122579B2 (en) 2010-01-06 2015-09-01 Intelligent Intellectual Property Holdings 2 Llc Apparatus, system, and method for a storage layer
US8527749B2 (en) * 2009-11-11 2013-09-03 International Business Machines Corporation User device, computer program product and computer system for system for secure network storage
US8732343B1 (en) * 2009-12-16 2014-05-20 Symantec Corporation Systems and methods for creating dataless storage systems for testing software systems
US8533299B2 (en) 2010-04-19 2013-09-10 Microsoft Corporation Locator table and client library for datacenters
US9170892B2 (en) 2010-04-19 2015-10-27 Microsoft Technology Licensing, Llc Server failure recovery
US8181061B2 (en) 2010-04-19 2012-05-15 Microsoft Corporation Memory management and recovery for datacenters
US8438244B2 (en) 2010-04-19 2013-05-07 Microsoft Corporation Bandwidth-proportioned datacenters
US9813529B2 (en) 2011-04-28 2017-11-07 Microsoft Technology Licensing, Llc Effective circuits in packet-switched networks
US9454441B2 (en) 2010-04-19 2016-09-27 Microsoft Technology Licensing, Llc Data layout for recovery and durability
US8447833B2 (en) 2010-04-19 2013-05-21 Microsoft Corporation Reading and writing during cluster growth phase
US8996611B2 (en) 2011-01-31 2015-03-31 Microsoft Technology Licensing, Llc Parallel serialization of request processing
US8572276B2 (en) 2010-04-29 2013-10-29 International Business Machines Corporation Pipelining protocols in misaligned buffer cases
EP2569712B1 (en) 2010-05-10 2021-10-13 Icontrol Networks, Inc. Control system user interface
US8285762B2 (en) 2010-05-11 2012-10-09 International Business Machines Corporation Migration of metadata and storage management of data in a first storage environment to a second storage environment
US8725934B2 (en) 2011-12-22 2014-05-13 Fusion-Io, Inc. Methods and appratuses for atomic storage operations
EP2598996B1 (en) 2010-07-28 2019-07-10 SanDisk Technologies LLC Apparatus, system, and method for conditional and atomic storage operations
US8589603B2 (en) * 2010-08-30 2013-11-19 International Business Machines Corporation Delaying acknowledgment of an operation until operation completion confirmed by local adapter read operation
US8984216B2 (en) 2010-09-09 2015-03-17 Fusion-Io, Llc Apparatus, system, and method for managing lifetime of a storage device
US9331963B2 (en) 2010-09-24 2016-05-03 Oracle International Corporation Wireless host I/O using virtualized I/O controllers
US8836467B1 (en) 2010-09-28 2014-09-16 Icontrol Networks, Inc. Method, system and apparatus for automated reporting of account and sensor zone information to a central station
WO2012082792A2 (en) 2010-12-13 2012-06-21 Fusion-Io, Inc. Apparatus, system, and method for auto-commit memory
US9208071B2 (en) 2010-12-13 2015-12-08 SanDisk Technologies, Inc. Apparatus, system, and method for accessing memory
US10817502B2 (en) 2010-12-13 2020-10-27 Sandisk Technologies Llc Persistent memory management
US10817421B2 (en) 2010-12-13 2020-10-27 Sandisk Technologies Llc Persistent data structures
US9047178B2 (en) 2010-12-13 2015-06-02 SanDisk Technologies, Inc. Auto-commit memory synchronization
US9218278B2 (en) 2010-12-13 2015-12-22 SanDisk Technologies, Inc. Auto-commit memory
US11750414B2 (en) 2010-12-16 2023-09-05 Icontrol Networks, Inc. Bidirectional security sensor communication for a premises security system
US9147337B2 (en) 2010-12-17 2015-09-29 Icontrol Networks, Inc. Method and system for logging security event data
WO2012083308A2 (en) 2010-12-17 2012-06-21 Fusion-Io, Inc. Apparatus, system, and method for persistent data management on a non-volatile storage media
CN102088484B (zh) * 2010-12-20 2014-12-10 南京中兴新软件有限责任公司 一种分布式文件系统的写锁定方法及系统
US20120185618A1 (en) * 2011-01-13 2012-07-19 Avaya Inc. Method for providing scalable storage virtualization
US9213594B2 (en) 2011-01-19 2015-12-15 Intelligent Intellectual Property Holdings 2 Llc Apparatus, system, and method for managing out-of-service conditions
JP5249368B2 (ja) * 2011-01-31 2013-07-31 株式会社バッファロー ネットワーク装置
US8874823B2 (en) 2011-02-15 2014-10-28 Intellectual Property Holdings 2 Llc Systems and methods for managing data input/output operations
US9201677B2 (en) 2011-05-23 2015-12-01 Intelligent Intellectual Property Holdings 2 Llc Managing data input/output operations
US9003104B2 (en) 2011-02-15 2015-04-07 Intelligent Intellectual Property Holdings 2 Llc Systems and methods for a file-level cache
WO2012116369A2 (en) 2011-02-25 2012-08-30 Fusion-Io, Inc. Apparatus, system, and method for managing contents of a cache
WO2012129191A2 (en) 2011-03-18 2012-09-27 Fusion-Io, Inc. Logical interfaces for contextual storage
US9563555B2 (en) 2011-03-18 2017-02-07 Sandisk Technologies Llc Systems and methods for storage allocation
US8843502B2 (en) 2011-06-24 2014-09-23 Microsoft Corporation Sorting a dataset of incrementally received data
GB201114118D0 (en) * 2011-08-17 2011-10-05 Appsense Ltd Improvements in and relating to virtualised systems
US10133662B2 (en) 2012-06-29 2018-11-20 Sandisk Technologies Llc Systems, methods, and interfaces for managing persistent data of atomic storage operations
US9274937B2 (en) 2011-12-22 2016-03-01 Longitude Enterprise Flash S.A.R.L. Systems, methods, and interfaces for vector input/output operations
CN103186349B (zh) * 2011-12-27 2016-03-02 杭州信核数据科技股份有限公司 块级分布式存储系统及其数据读写方法
US9251086B2 (en) 2012-01-24 2016-02-02 SanDisk Technologies, Inc. Apparatus, system, and method for managing a cache
US9116812B2 (en) 2012-01-27 2015-08-25 Intelligent Intellectual Property Holdings 2 Llc Systems and methods for a de-duplication cache
US10359972B2 (en) 2012-08-31 2019-07-23 Sandisk Technologies Llc Systems, methods, and interfaces for adaptive persistence
US9824131B2 (en) 2012-03-15 2017-11-21 Hewlett Packard Enterprise Development Lp Regulating a replication operation
US8688733B2 (en) * 2012-03-16 2014-04-01 International Business Machines Corporation Remote inventory manager
US9229901B1 (en) * 2012-06-08 2016-01-05 Google Inc. Single-sided distributed storage system
US20130332841A1 (en) * 2012-06-10 2013-12-12 Apple Inc. Integrated tools for creating and sharing image streams
US9612966B2 (en) 2012-07-03 2017-04-04 Sandisk Technologies Llc Systems, methods and apparatus for a virtual machine cache
US10339056B2 (en) 2012-07-03 2019-07-02 Sandisk Technologies Llc Systems, methods and apparatus for cache transfers
US9778856B2 (en) 2012-08-30 2017-10-03 Microsoft Technology Licensing, Llc Block-level access to parallel storage
US8862561B1 (en) * 2012-08-30 2014-10-14 Google Inc. Detecting read/write conflicts
US9058122B1 (en) * 2012-08-30 2015-06-16 Google Inc. Controlling access in a single-sided distributed storage system
US9164702B1 (en) * 2012-09-07 2015-10-20 Google Inc. Single-sided distributed cache system
US10509776B2 (en) 2012-09-24 2019-12-17 Sandisk Technologies Llc Time sequence data management
US10318495B2 (en) 2012-09-24 2019-06-11 Sandisk Technologies Llc Snapshots for a non-volatile device
ES2625828T3 (es) * 2012-10-08 2017-07-20 Patrick Soon-Shiong Sistemas y métodos de almacenamiento distribuido
US9529938B2 (en) * 2012-10-26 2016-12-27 Google Inc. Unified file search
US9083550B2 (en) 2012-10-29 2015-07-14 Oracle International Corporation Network virtualization over infiniband
US9438638B2 (en) * 2013-03-15 2016-09-06 Silicon Graphics International Corp. Method for transparently connecting augmented network socket operations
US9842053B2 (en) 2013-03-15 2017-12-12 Sandisk Technologies Llc Systems and methods for persistent cache logging
US10102144B2 (en) 2013-04-16 2018-10-16 Sandisk Technologies Llc Systems, methods and interfaces for data virtualization
US10558561B2 (en) 2013-04-16 2020-02-11 Sandisk Technologies Llc Systems and methods for storage metadata management
CN104135496B (zh) * 2013-05-02 2017-08-18 华中科技大学 一种同构环境下的rpc数据传输方法及系统
EP2997496B1 (en) 2013-05-16 2022-01-19 Hewlett Packard Enterprise Development LP Selecting a store for deduplicated data
US10592347B2 (en) 2013-05-16 2020-03-17 Hewlett Packard Enterprise Development Lp Selecting a store for deduplicated data
US9338193B2 (en) * 2013-05-31 2016-05-10 International Business Machines Corporation Remote procedure call with call-by-reference semantics using remote direct memory access
TWI563394B (en) * 2013-06-02 2016-12-21 Compal Electronics Inc System and method for transmitting data, and electronic apparatus using the method
US9986028B2 (en) * 2013-07-08 2018-05-29 Intel Corporation Techniques to replicate data between storage servers
KR101529877B1 (ko) * 2013-07-26 2015-06-18 서울시립대학교 산학협력단 원격 데이터 연산 방법 및 시스템
US10223326B2 (en) * 2013-07-31 2019-03-05 Oracle International Corporation Direct access persistent memory shared storage
US9842128B2 (en) 2013-08-01 2017-12-12 Sandisk Technologies Llc Systems and methods for atomic storage operations
US11422907B2 (en) 2013-08-19 2022-08-23 Microsoft Technology Licensing, Llc Disconnected operation for systems utilizing cloud storage
US9313274B2 (en) * 2013-09-05 2016-04-12 Google Inc. Isolating clients of distributed storage systems
US9094284B1 (en) * 2013-10-02 2015-07-28 Tribune Broadcasting Company, Llc System and method for transmitting a packet stream to a device
US10019320B2 (en) 2013-10-18 2018-07-10 Sandisk Technologies Llc Systems and methods for distributed atomic storage operations
GB2519534A (en) 2013-10-23 2015-04-29 Ibm Persistent caching system and method for operating a persistent caching system
US9525734B2 (en) * 2013-10-30 2016-12-20 Annapurna Labs Ltd. Hybrid remote direct memory access
US10073630B2 (en) 2013-11-08 2018-09-11 Sandisk Technologies Llc Systems and methods for log coordination
US9977760B1 (en) * 2013-12-23 2018-05-22 Google Llc Accessing data on distributed storage systems
US9798631B2 (en) 2014-02-04 2017-10-24 Microsoft Technology Licensing, Llc Block storage by decoupling ordering from durability
CN110275840B (zh) * 2014-02-23 2024-03-15 拉姆伯斯公司 在存储器接口上的分布式过程执行和文件系统
KR102192198B1 (ko) * 2014-02-24 2020-12-17 삼성전자주식회사 전자 장치 및 그것의 통신 방법
US9666244B2 (en) 2014-03-01 2017-05-30 Fusion-Io, Inc. Dividing a storage procedure
US11405463B2 (en) 2014-03-03 2022-08-02 Icontrol Networks, Inc. Media content management
US11146637B2 (en) 2014-03-03 2021-10-12 Icontrol Networks, Inc. Media content management
US10372685B2 (en) * 2014-03-31 2019-08-06 Amazon Technologies, Inc. Scalable file storage service
US9852138B2 (en) * 2014-06-30 2017-12-26 EMC IP Holding Company LLC Content fabric for a distributed file system
CN104202391B (zh) * 2014-08-28 2018-09-25 浪潮(北京)电子信息产业有限公司 共享系统地址空间的非紧耦合系统间的rdma通信方法
CN105765569B (zh) * 2014-11-05 2018-02-02 华为技术有限公司 一种数据分发方法,装载机及存储系统
US20170013046A1 (en) * 2014-11-18 2017-01-12 Primarydata, Inc. Data-centric data storage
US10469580B2 (en) * 2014-12-12 2019-11-05 International Business Machines Corporation Clientless software defined grid
US10554749B2 (en) 2014-12-12 2020-02-04 International Business Machines Corporation Clientless software defined grid
US9933950B2 (en) 2015-01-16 2018-04-03 Sandisk Technologies Llc Storage operation interrupt
US10956189B2 (en) * 2015-02-13 2021-03-23 Red Hat Israel, Ltd. Methods for managing virtualized remote direct memory access devices
US9946607B2 (en) 2015-03-04 2018-04-17 Sandisk Technologies Llc Systems and methods for storage error management
US9900386B2 (en) * 2015-04-09 2018-02-20 International Business Machines Corporation Provisioning data to distributed computing systems
US11829349B2 (en) 2015-05-11 2023-11-28 Oracle International Corporation Direct-connect functionality in a distributed database grid
US10019718B2 (en) 2015-05-12 2018-07-10 Bank Of America Corporation Customer-based associate interfaces
US10009438B2 (en) 2015-05-20 2018-06-26 Sandisk Technologies Llc Transaction log acceleration
US9760314B2 (en) 2015-05-29 2017-09-12 Netapp, Inc. Methods for sharing NVM SSD across a cluster group and devices thereof
US9792248B2 (en) * 2015-06-02 2017-10-17 Microsoft Technology Licensing, Llc Fast read/write between networked computers via RDMA-based RPC requests
US10257273B2 (en) 2015-07-31 2019-04-09 Netapp, Inc. Systems, methods and devices for RDMA read/write operations
US9952797B2 (en) 2015-07-31 2018-04-24 Netapp, Inc. Systems, methods and devices for addressing data blocks in mass storage filing systems
US10437506B2 (en) * 2015-08-17 2019-10-08 Microsoft Technology Licensing Llc Optimal storage and workload placement, and high resiliency, in geo-distributed cluster systems
US10725963B2 (en) 2015-09-12 2020-07-28 Microsoft Technology Licensing, Llc Distributed lock-free RDMA-based memory allocation and de-allocation
US10713210B2 (en) 2015-10-13 2020-07-14 Microsoft Technology Licensing, Llc Distributed self-directed lock-free RDMA-based B-tree key-value manager
US10375167B2 (en) 2015-11-20 2019-08-06 Microsoft Technology Licensing, Llc Low latency RDMA-based distributed storage
US10423499B2 (en) * 2016-03-25 2019-09-24 Netapp, Inc. Cataloging metadata for replication management and recovery
US10474636B2 (en) 2016-03-25 2019-11-12 Amazon Technologies, Inc. Block allocation for low latency file systems
US10545927B2 (en) 2016-03-25 2020-01-28 Amazon Technologies, Inc. File system mode switching in a distributed storage service
US10140312B2 (en) 2016-03-25 2018-11-27 Amazon Technologies, Inc. Low latency distributed storage service
CN105912451A (zh) * 2016-04-01 2016-08-31 浪潮电子信息产业股份有限公司 一种lustre文件系统检测方法及装置
CN107622055B (zh) * 2016-07-13 2021-01-05 航天科工智慧产业发展有限公司 一种快速实现数据服务发布的方法
US20180059990A1 (en) 2016-08-25 2018-03-01 Microsoft Technology Licensing, Llc Storage Virtualization For Files
US10423559B2 (en) * 2016-09-23 2019-09-24 Intel Corporation System for selectively upgradeable disaggregated server components
CN106713465B (zh) * 2016-12-27 2020-11-17 北京锐安科技有限公司 一种分布式存储系统
CN108268208B (zh) * 2016-12-30 2020-01-17 清华大学 一种基于rdma的分布式内存文件系统
US11089100B2 (en) * 2017-01-12 2021-08-10 Vivint, Inc. Link-server caching
US11082523B2 (en) * 2017-02-09 2021-08-03 International Business Machines Corporation System, method and computer program product for a distributed virtual address space
US11507534B2 (en) 2017-05-11 2022-11-22 Microsoft Technology Licensing, Llc Metadata storage for placeholders in a storage virtualization system
US10346315B2 (en) 2017-05-26 2019-07-09 Oracle International Corporation Latchless, non-blocking dynamically resizable segmented hash index
US10803039B2 (en) * 2017-05-26 2020-10-13 Oracle International Corporation Method for efficient primary key based queries using atomic RDMA reads on cache friendly in-memory hash index
CN109391647B (zh) * 2017-08-04 2021-08-17 杭州海康威视系统技术有限公司 存储资源回收方法、装置及系统
US10719446B2 (en) 2017-08-31 2020-07-21 Oracle International Corporation Directly mapped buffer cache on non-volatile memory
US11086876B2 (en) 2017-09-29 2021-08-10 Oracle International Corporation Storing derived summaries on persistent memory of a storage device
US10956335B2 (en) 2017-09-29 2021-03-23 Oracle International Corporation Non-volatile cache access using RDMA
US10732836B2 (en) 2017-09-29 2020-08-04 Oracle International Corporation Remote one-sided persistent writes
US10802766B2 (en) 2017-09-29 2020-10-13 Oracle International Corporation Database with NVDIMM as persistent storage
US10523675B2 (en) * 2017-11-08 2019-12-31 Ca, Inc. Remote direct memory access authorization
US10992967B2 (en) * 2017-12-05 2021-04-27 Sony Interactive Entertainment LLC Ultra high-speed low-latency network storage
KR102292389B1 (ko) 2018-01-17 2021-08-25 한국전자통신연구원 원격 직접 메모리 접근을 통한 분산 처리 장치 및 그 방법
US11347678B2 (en) 2018-08-06 2022-05-31 Oracle International Corporation One-sided reliable remote direct memory operations
US10911539B2 (en) 2019-01-08 2021-02-02 Box, Inc. Managing shared content directory structure metadata
US11500856B2 (en) 2019-09-16 2022-11-15 Oracle International Corporation RDMA-enabled key-value store
CN110633580A (zh) * 2019-09-20 2019-12-31 徐州医科大学附属医院 一种面向xml数据的安全分布式存储方法
RU2718233C1 (ru) 2019-10-01 2020-03-31 Общество с ограниченной ответственностью «ПИРФ» (ООО «ПИРФ») Способ построения файловой системы на базе иерархии узлов
CN113535068A (zh) * 2020-04-21 2021-10-22 华为技术有限公司 数据读取方法和系统
US11709804B1 (en) * 2020-05-13 2023-07-25 Parallels International Gmbh Virtual client file systems and methods within remote sessions
CN111796772A (zh) * 2020-07-07 2020-10-20 西北工业大学 缓存的管理方法、缓存节点及分布式存储系统
CN114327239A (zh) * 2020-09-27 2022-04-12 伊姆西Ip控股有限责任公司 存储和访问数据的方法、电子设备和计算机程序产品
US11755503B2 (en) 2020-10-29 2023-09-12 Storj Labs International Sezc Persisting directory onto remote storage nodes and smart downloader/uploader based on speed of peers
KR20220154596A (ko) * 2021-05-13 2022-11-22 현대자동차주식회사 M2m 시스템에서 대량의 데이터를 전달하기 위한 방법 및 장치
CN117135171A (zh) * 2023-03-31 2023-11-28 荣耀终端有限公司 云存储方法及系统
CN116302618B (zh) * 2023-05-17 2023-09-12 上海云脉芯联科技有限公司 一种会话信息处理方法及装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6219693B1 (en) * 1997-11-04 2001-04-17 Adaptec, Inc. File array storage architecture having file system distributed across a data processing platform
CN1356644A (zh) * 2000-11-30 2002-07-03 国际商业机器公司 从网络服务器向客户计算机提供资源的方法

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6339787B1 (en) * 1995-11-30 2002-01-15 Stampede Technologies, Inc. Apparatus and method for increasing speed in a network file/object oriented server/client system
US6081883A (en) * 1997-12-05 2000-06-27 Auspex Systems, Incorporated Processing system with dynamically allocatable buffer memory
JP2000020490A (ja) * 1998-07-01 2000-01-21 Fujitsu Ltd 遠隔手続き呼出し機構またはオブジェクトリクエストブローカ機構を有する計算機、データ転送方法、および転送方法記憶媒体
US20010011247A1 (en) 1998-10-02 2001-08-02 O'flaherty Kenneth W. Privacy-enabled loyalty card system and method
US6978312B2 (en) 1998-12-18 2005-12-20 Microsoft Corporation Adaptive flow control protocol
US6453354B1 (en) * 1999-03-03 2002-09-17 Emc Corporation File server system using connection-oriented protocol and sharing data sets among data movers
US6502174B1 (en) * 1999-03-03 2002-12-31 International Business Machines Corporation Method and system for managing meta data
US6351776B1 (en) * 1999-11-04 2002-02-26 Xdrive, Inc. Shared internet storage resource, user interface system, and method
US6877044B2 (en) 2000-02-10 2005-04-05 Vicom Systems, Inc. Distributed storage management platform architecture
US7506034B2 (en) 2000-03-03 2009-03-17 Intel Corporation Methods and apparatus for off loading content servers through direct file transfer from a storage center to an end-user
EP1272934B1 (en) 2000-04-11 2003-10-01 Analog Devices, Inc. Non-intrusive application code profiling method and apparatus
WO2001080524A2 (en) 2000-04-17 2001-10-25 Circadence Corporation Method and system for overcoming denial of service attacks
US7281032B2 (en) 2000-06-30 2007-10-09 Hitachi, Ltd. File sharing system with data mirroring by storage systems
US7010614B2 (en) * 2000-07-05 2006-03-07 International Business Machines Corporation System for computing cumulative amount of data received by all RDMA to determine when a complete data transfer has arrived at receiving device
US6792507B2 (en) * 2000-12-14 2004-09-14 Maxxan Systems, Inc. Caching system and method for a network storage system
US6931450B2 (en) * 2000-12-18 2005-08-16 Sun Microsystems, Inc. Direct access from client to storage device
US7165096B2 (en) 2000-12-22 2007-01-16 Data Plow, Inc. Storage area network file system
US6907457B2 (en) 2001-01-25 2005-06-14 Dell Inc. Architecture for access to embedded files using a SAN intermediate device
US7171494B2 (en) 2001-01-31 2007-01-30 Hewlett-Packard Development Company, L.P. Extending a standard-based remote file access protocol and maintaining compatibility with a standard protocol stack
US6883029B2 (en) 2001-02-14 2005-04-19 Hewlett-Packard Development Company, L.P. Separate read and write servers in a distributed file system
US20040233910A1 (en) * 2001-02-23 2004-11-25 Wen-Shyen Chen Storage area network using a data communication protocol
IES20010611A2 (en) 2001-03-08 2002-09-18 Richmount Computers Ltd Distributed lock management chip
US6625604B2 (en) 2001-03-09 2003-09-23 Hewlett-Packard Development Company, L.P. Namespace service in a distributed file system using a database management system
US20030145230A1 (en) * 2002-01-31 2003-07-31 Huimin Chiu System for exchanging data utilizing remote direct memory access
US7610348B2 (en) 2003-05-07 2009-10-27 International Business Machines Distributed file serving architecture system with metadata storage virtualization and data access at the data server connection speed

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6219693B1 (en) * 1997-11-04 2001-04-17 Adaptec, Inc. File array storage architecture having file system distributed across a data processing platform
CN1356644A (zh) * 2000-11-30 2002-07-03 国际商业机器公司 从网络服务器向客户计算机提供资源的方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Los Alamos HPDS: High-Speed Data Transfer. William Collins, James Brewton, Danny Cook, LynnJones,Kathleen kelly, Lynn Kluegel, Dan Krantz, CherylRamsey.PUTTING ALL THAT DATA TO WORK. PROCEEDINGS. 1993
Los Alamos HPDS: High-Speed Data Transfer. William Collins, James Brewton, Danny Cook, LynnJones,Kathleen kelly, Lynn Kluegel, Dan Krantz, CherylRamsey.PUTTING ALL THAT DATA TO WORK. PROCEEDINGS. 1993 *
The Emerging Storage Management Paradigm. Samuel S. Coleman, Richard W. Watson, RobertA.Coyne,Harry Hulen.PUTTING ALL THAT DATA TO WORK.PROCEEDINGS. 1993

Also Published As

Publication number Publication date
US9262094B2 (en) 2016-02-16
TWI343010B (en) 2011-06-01
US20170010825A1 (en) 2017-01-12
US10095419B2 (en) 2018-10-09
CN1771495A (zh) 2006-05-10
KR100754306B1 (ko) 2007-09-03
WO2004099989A2 (en) 2004-11-18
US20040225719A1 (en) 2004-11-11
US7610348B2 (en) 2009-10-27
KR20060009244A (ko) 2006-01-31
EP1620813A2 (en) 2006-02-01
WO2004099989A3 (en) 2005-02-10
TW200516392A (en) 2005-05-16
US20100095059A1 (en) 2010-04-15
US10042561B2 (en) 2018-08-07
US20160224507A1 (en) 2016-08-04

Similar Documents

Publication Publication Date Title
CN100517308C (zh) 元数据服务器、数据服务器、存储网络及数据存取方法
US6173374B1 (en) System and method for peer-to-peer accelerated I/O shipping between host bus adapters in clustered computer network
US11782783B2 (en) Method and apparatus to neutralize replication error and retain primary and secondary synchronization during synchronous replication
US9009427B2 (en) Mirroring mechanisms for storage area networks and network based virtualization
US8612481B2 (en) System and method for proxying data access commands in a storage system cluster
US8180855B2 (en) Coordinated shared storage architecture
US6907457B2 (en) Architecture for access to embedded files using a SAN intermediate device
US7506009B2 (en) Systems and methods for accessing a shared storage network using multiple system nodes configured as server nodes
US8205043B2 (en) Single nodename cluster system for fibre channel
US20070094466A1 (en) Techniques for improving mirroring operations implemented in storage area networks and network based virtualization
US20070094465A1 (en) Mirroring mechanisms for storage area networks and network based virtualization
US20090259817A1 (en) Mirror Consistency Checking Techniques For Storage Area Networks And Network Based Virtualization
CN1723434A (zh) 用于可扩展网络附接存储系统的装置和方法
US20030120743A1 (en) System and method of implementing disk ownership in networked storage
US20080021992A1 (en) System and method for transferring volume ownership in networked storage
US20090259816A1 (en) Techniques for Improving Mirroring Operations Implemented In Storage Area Networks and Network Based Virtualization
KR100450400B1 (ko) 안전 기억 장치가 없는 환경을 위한 이중화 구조의 주 메모리 상주 데이터베이스 관리시스템 및 그 데이터 일치성 제어방법
US20070078911A1 (en) Replicating data across the nodes in a cluster environment
KR20080096547A (ko) 가상 네트워크 저장 시스템, 네트워크 저장 장치 및 가상 방법
JP2005502096A (ja) ファイルスイッチ及び交換ファイルシステム
US20080209148A1 (en) High performance storage access environment
US10031682B1 (en) Methods for improved data store migrations and devices thereof
US20050193021A1 (en) Method and apparatus for unified storage of data for storage area network systems and network attached storage systems
EP1122924A2 (en) Method and apparatus for providing local path I/O in a distributed file system
US20050278501A1 (en) Method and apparatus for caching storage system

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant