Address translation mechanism for shared memory based inter-domain communication
    1.
    发明授权
    Address translation mechanism for shared memory based inter-domain communication 有权
    基于共享内存的域间通信的地址转换机制

    公开(公告)号:US08825984B1

    公开(公告)日:2014-09-02

    申请号:US12250153

    申请日:2008-10-13

    Abstract: A technique for “zero copy” transitive communication of data between virtual address domains maintains a translation table hierarchy for each domain. The hierarchy of each domain includes a portion corresponding to every other domain in the system, where the portion for any particular domain begins at the same offset in the virtual address space of every domain. For each domain, there is a source hierarchy used only by the domain itself, which provides read/write access to the addresses in that domain; and a target hierarchy which provides read-only access to that domain, for use only when another domain is the target of IDC from that domain. Only one instance of the target hierarchy of each domain is provided, for all other domains as targets of IDC from that domain. For further space savings the source and target translation table hierarchies can be combined at all but the top hierarchy level.

    Abstract translation: 虚拟地址域之间的数据的“零复制”传递通信的技术维护每个域的转换表层次结构。 每个域的层次结构包括对应于系统中每个其他域的部分,其中任何特定域的部分以每个域的虚拟地址空间中的相同偏移开始。 对于每个域,存在仅由域本身使用的源层次,其提供对该域中的地址的读/写访问; 以及提供对该域的只读访问的目标层次结构,仅在另一个域是来自该域的IDC的目标时使用。 为所有其他域提供了每个域的目标层次结构的一个实例,作为来自该域的IDC的目标。 为了进一步节省空间,源和目标转换表层次结构可以在所有层次上进行组合,但最顶层次层级。

    Method and system for securely capturing workloads at a live network for replaying at a test network
    2.
    发明授权
    Method and system for securely capturing workloads at a live network for replaying at a test network 有权
    用于在实时网络中安全捕获工作负载以在测试网络重播的方法和系统

    公开(公告)号:US08751450B1

    公开(公告)日:2014-06-10

    申请号:US13095740

    申请日:2011-04-27

    Abstract: Methods and system for securely capturing workloads at a live network for replaying at a test network. The disclosed system captures file system states and workloads of a live server at the live network. In one embodiment the captured data is anonymized to protect confidentiality of the data. A file system of a test server at the test network is mirrored from a captured state of the live server. An anonymized version of the captured workloads is replayed as a request to the test server. A lost or incomplete command is recreated from the states of the live server. An order of the commands during replay can be based on an order in the captured workload, or based on a causal relationship. Performance characteristics of the live network are determined based on the response to the replayed command.

    Abstract translation: 用于在实时网络中安全捕获工作负载以在测试网络重播的方法和系统。 所公开的系统捕获实时网络上的实时服务器的文件系统状态和工作负载。 在一个实施例中,捕获的数据被匿名化以保护数据的机密性。 测试网络上的测试服务器的文件系统从实时服务器的捕获状态进行镜像。 捕获的工作负载的匿名版本作为对测试服务器的请求被重播。 从实时服务器的状态重新创建丢失或不完整的命令。 重放期间命令的顺序可以基于捕获的工作负载中的顺序,或者基于因果关系。 基于对重播命令的响应确定实时网络的性能特征。

    Effective scheduling of producer-consumer processes in a multi-processor system
    3.
    发明授权
    Effective scheduling of producer-consumer processes in a multi-processor system 有权
    在多处理器系统中有效地调度生产者 - 消费者流程

    公开(公告)号:US08621184B1

    公开(公告)日:2013-12-31

    申请号:US12262338

    申请日:2008-10-31

    Abstract: A novel technique for improving throughput in a multi-core system in which data is processed according to a producer-consumer relationship by eliminating latencies caused by compulsory cache misses. The producer and consumer entities run as multiple slices of execution. Each such slice has an associated execution context that comprises of the code and data that particular slice would access. The execution contexts of the producer and consumer slices are small enough to fit in the processor caches simultaneously. When a producer entity scheduled on a first core completed production of data elements as constrained by the size of cache memories, a consumer entity is scheduled on that same core to consume the produced data elements. Meanwhile, a second slice of the producer entity is moved to another core and a second slice of a consumer entity is scheduled to consume elements produced by the second slice of the producer.

    Abstract translation: 一种用于提高多核系统中吞吐量的新技术,其中通过消除由强制高速缓存未命中引起的延迟,根据生产者 - 消费者关系处理数据。 生产者和消费者实体作为多个执行片段运行。 每个这样的片具有相关联的执行上下文,其包括特定切片将访问的代码和数据。 生产者和消费者片段的执行上下文足够小以同时适应处理器高速缓存。 当调度在第一核心上的生产者实体完成数据元素的生产受到高速缓冲存储器大小的约束时,消费者实体被调度在同一个核心上以消耗生成的数据元素。 同时,生成器实体的第二片段被移动到另一个核心,消费者实体的第二片段被调度为消耗由生成器的第二片段产生的元素。

    Dynamic storage management using virtual storage appliances
    4.
    发明授权
    Dynamic storage management using virtual storage appliances 有权
    使用虚拟存储设备进行动态存储管理

    公开(公告)号:US08924658B1

    公开(公告)日:2014-12-30

    申请号:US13032409

    申请日:2011-02-22

    Abstract: The techniques introduced here provide for efficient management of storage resources in a modern, dynamic data center through the use of virtual storage appliances. Virtual storage appliances perform storage operations and execute in or as a virtual machine on a hypervisor. A storage management system monitors a storage system to determine whether the storage system is satisfying a service level objective for an application. The storage management system then manages (e.g., instantiates, shuts down, or reconfigures) a virtual storage appliance on a physical server. The virtual storage appliance uses resources of the physical server to meet the storage related needs of the application that the storage system cannot provide. This automatic and dynamic management of virtual storage appliances by the storage management system allows storage systems to quickly react to changing storage needs of applications without requiring expensive excess storage capacity.

    Abstract translation: 这里介绍的技术通过使用虚拟存储设备来提供现代动态数据中心中的存储资源的有效管理。 虚拟存储设备执行存储操作,并在虚拟机管理程序中或作为虚拟机执行。 存储管理系统监视存储系统以确定存储系统是否满足应用的服务级目标。 存储管理系统然后管理(例如,实例化,关闭或重新配置)物理服务器上的虚拟存储设备。 虚拟存储设备使用物理服务器的资源来满足存储系统无法提供的应用程序的存储相关需求。 存储管理系统对虚拟存储设备的自动和动态管理允许存储系统快速响应应用中不断变化的存储需求,而不需要昂贵的超额存储容量。

    Deduplication of data on disk devices based on a threshold number of sequential blocks
    5.
    发明授权
    Deduplication of data on disk devices based on a threshold number of sequential blocks 有权
    根据阈值数量的顺序块重复数据删除磁盘设备上的数据

    公开(公告)号:US08346730B2

    公开(公告)日:2013-01-01

    申请号:US12110122

    申请日:2008-04-25

    CPC classification number: G06F17/3015

    Abstract: Deduplication of data on disk devices based on a threshold number (THN) of sequential blocks is described herein, the threshold number being two or greater. Deduplication may be performed when a series of THN or more received blocks (THN series) match a sequence of THN or more stored blocks (THN sequence), whereby a sequence comprises blocks stored on the same track of a disk device. Deduplication may be performed using a block-comparison mechanism comprising metadata entries of stored blocks and a mapping mechanism containing mappings of deduplicated blocks to their matching blocks. The mapping mechanism may be used to perform later read requests received for the deduplicated blocks. The deduplication described herein may reduce the read latency as the number of seeks between tracks may be reduced. Also, when a seek to a different track is performed, the seek time cost is spread over THN or more blocks.

    Abstract translation: 这里描述了基于顺序块的阈值(THN)的磁盘设备上的数据的重复数据删除,阈值数目是两个或更多。 当一系列THN或更多接收块(THN系列)与THN或更多存储块(THN序列)的序列匹配时,可以执行重复数据删除,由此序列包括存储在磁盘设备的相同轨道上的块。 可以使用包括存储块的元数据条目的块比较机制和包含对其匹配块的重复数据删除块的映射的映射机制来执行重复数据删除。 映射机制可用于执行为重复数据消除的块接收的后续读请求。 这里描述的重复数据删除可以减少读取的等待时间,因为可以减少轨道之间的寻道次数。 此外,当执行到不同轨道的寻道时,搜索时间成本分布在THN或更多块上。

    SEAMLESS TAKEOVER OF A STATEFUL PROTOCOL SESSION IN A VIRTUAL MACHINE ENVIRONMENT
    6.
    发明申请
    SEAMLESS TAKEOVER OF A STATEFUL PROTOCOL SESSION IN A VIRTUAL MACHINE ENVIRONMENT 有权
    虚拟机器环境中的无效协议会议的无缝连接

    公开(公告)号:US20120102135A1

    公开(公告)日:2012-04-26

    申请号:US12910535

    申请日:2010-10-22

    Abstract: The disclosed technique uses virtual machines in solving a problem of persistent state for storage protocols. The technique provides for seamless, persistent, storage protocol session state management on a server, for higher availability. A first virtual server is operated in an active role in a host system to serve a client, by using a stateful protocol between the first virtual server and the client. A second, substantially identical virtual server is maintained in a passive role. In response to a predetermined event, the second virtual server takes over for the first virtual server, while preserving state for a pending client request sent to the first virtual server in the stateful protocol. The method can further include causing the second virtual server to respond to the request before a timeout which is specific to the stateful protocol can occur.

    Abstract translation: 所公开的技术使用虚拟机来解决用于存储协议的持久状态的问题。 该技术为服务器上的无缝,持久,存储协议会话状态管理提供了更高的可用性。 通过在第一虚拟服务器和客户端之间使用状态协议,第一个虚拟服务器在主机系统中以主动角色运行,以服务于客户端。 第二个基本相同的虚拟服务器被保持在被动角色。 响应于预定事件,第二虚拟服务器接管第一虚拟服务器,同时保留在有状态协议中发送到第一虚拟服务器的待决客户端请求的状态。 该方法还可以包括使得第二虚拟服务器在可能发生特定于该状态协议的超时之前响应该请求。

    System and method for achieving high performance data flow among user space processes in storage system
    7.
    发明授权
    System and method for achieving high performance data flow among user space processes in storage system 有权
    用于在存储系统中的用户空间进程之间实现高性能数据流的系统和方法

    公开(公告)号:US08667504B2

    公开(公告)日:2014-03-04

    申请号:US12143592

    申请日:2008-06-20

    Abstract: Fault isolation capabilities made available by user space can be provided for a embedded network storage system without sacrificing efficiency. By giving user space processes direct access to specific devices (e.g., network interface cards and storage adapters), processes in a user space can initiate Input/Output requests without issuing system calls (and entering kernel mode). The multiple user spaces processes can initiate requests serviced by a user space device driver by sharing a read-only address space that maps the entire physical memory one-to-one. In addition, a user space process can initiate communication with another user space process by use of transmit and receive queues similar to transmit and receiver queues used by hardware devices. And, a mechanism of ensuring that virtual addresses that work in one address space reference the same physical page in another address space is used.

    Abstract translation: 可以为嵌入式网络存储系统提供用户空间提供的故障隔离功能,而不会牺牲效率。 通过给用户空间处理直接访问特定设备(例如,网络接口卡和存储适配器),用户空间中的进程可以发起输入/输出请求,而不发出系统调用(并进入内核模式)。 多个用户空间进程可以通过共享一个将整个物理存储器映射到一个的只读地址空间来发起由用户空间设备驱动程序服务的请求。 此外,用户空间进程可以通过使用类似于由硬件设备使用的发送和接收队列的发送和接收队列来发起与另一个用户空间进程的通信。 并且,使用一种确保在一个地址空间中工作的虚拟地址引用另一个地址空间中的同一物理页面的机制。

    Deduplication of data on disk devices using low-latency random read memory
    8.
    发明授权
    Deduplication of data on disk devices using low-latency random read memory 有权
    使用低延迟随机读取存储器在磁盘设备上重复数据删除

    公开(公告)号:US08145843B2

    公开(公告)日:2012-03-27

    申请号:US13022337

    申请日:2011-02-07

    CPC classification number: G06F17/30091 G06F3/0622 G06F3/0641 G06F3/0689

    Abstract: Deduplication of data using a low-latency random read memory (LLRRM) is described herein. Upon receiving a block, if a matching block stored on a disk device is found, the received block is deduplicated by producing an index to the address location of the matching block. In some embodiments, a matching block having a predetermined threshold number of associated indexes that reference the matching block is transferred to LLRRM, the threshold number being one or greater. Associated indexes may be modified to reflect the new address location in LLRRM. Deduplication may be performed using a mapping mechanism containing mappings of deduplicated blocks to matching blocks, the mappings being used for performing read requests. Deduplication described herein may reduce read latency as LLRRM has relatively low latency in performing random read requests relative to disk devices.

    Abstract translation: 本文描述了使用低延迟随机读取存储器(LLRRM)的数据重复数据删除。 在接收到块时,如果找到存储在磁盘设备上的匹配块,则通过向匹配块的地址位置产生索引来对所接收的块进行重复数据删除。 在一些实施例中,具有参考匹配块的具有预定阈值数量的关联索引的匹配块被传送到LLRRM,阈值数目为一个或更大。 可以修改相关索引以反映LLRRM中的新地址位置。 重复数据删除可以使用包含对重复数据删除的块对匹配块进行映射的映射机制来执行,映射用于执行读请求。 这里描述的重复数据删除可以减少读取延迟,因为在执行相对于磁盘设备的随机读取请求时,LLRRM具有相对较低的延迟。

    System and method for failover of guest operating systems in a virtual machine environment
    9.
    发明授权
    System and method for failover of guest operating systems in a virtual machine environment 有权
    虚拟机环境中客户机操作系统故障转移的系统和方法

    公开(公告)号:US07809976B2

    公开(公告)日:2010-10-05

    申请号:US11742209

    申请日:2007-04-30

    Abstract: A system and method provides for failover of guest operating systems in a virtual machine environment. During initialization of a computer executing a virtual machine operating system, a first guest operating system allocates a first memory region within a first domain and notifies a second guest operating system operating in a second domain of the allocated first memory region. Similarly, the second guest operating system allocates a second region of memory within the second domain and notifies the first operating system of the allocated second memory region. In the event of a software failure affecting one of the guest operating systems, the surviving guest operating system assumes the identity of the failed operating system and utilizes data stored within the shared memory region to replay to storage devices to render them consistent.

    Abstract translation: 系统和方法提供虚拟机环境中的客户机操作系统的故障转移。 在执行虚拟机操作系统的计算机的初始化期间,第一客机操作系统在第一域内分配第一存储器区域并通知在所分配的第一存储器区域的第二域中操作的第二客户操作系统。 类似地,第二客户机操作系统在第二域内分配第二存储器区域,并向第一操作系统通知所分配的第二存储器区域。 在软件故障影响客户操作系统之一的情况下,幸存的客户机操作系统假定故障操作系统的身份,并利用存储在共享存储器区域内的数据来重放到存储设备以使其一致。

    SYSTEM AND METHOD FOR ACHIEVING HIGH PERFORMANCE DATA FLOW AMONG USER SPACE PROCESSES IN STORAGE SYSTEM
    10.
    发明申请
    SYSTEM AND METHOD FOR ACHIEVING HIGH PERFORMANCE DATA FLOW AMONG USER SPACE PROCESSES IN STORAGE SYSTEM 有权
    在存储系统中用户空间过程中实现高性能数据流的系统和方法

    公开(公告)号:US20090320042A1

    公开(公告)日:2009-12-24

    申请号:US12143592

    申请日:2008-06-20

    Abstract: Fault isolation capabilities made available by user space can be provided for a embedded network storage system without sacrificing efficiency. By giving user space processes direct access to specific devices (e.g., network interface cards and storage adapters), processes in a user space can initiate Input/Output requests without issuing system calls (and entering kernel mode). The multiple user spaces processes can initiate requests serviced by a user space device driver by sharing a read-only address space that maps the entire physical memory one-to-one. In addition, a user space process can initiate communication with another user space process by use of transmit and receive queues similar to transmit and receiver queues used by hardware devices. And, a mechanism of ensuring that virtual addresses that work in one address space reference the same physical page in another address space is used.

    Abstract translation: 可以为嵌入式网络存储系统提供用户空间提供的故障隔离功能,而不会牺牲效率。 通过给用户空间处理直接访问特定设备(例如,网络接口卡和存储适配器),用户空间中的进程可以发起输入/输出请求,而不发出系统调用(并进入内核模式)。 多个用户空间进程可以通过共享一个将整个物理存储器映射到一个的只读地址空间来发起由用户空间设备驱动程序服务的请求。 此外,用户空间进程可以通过使用类似于由硬件设备使用的发送和接收队列的发送和接收队列来发起与另一个用户空间进程的通信。 并且,使用一种确保在一个地址空间中工作的虚拟地址引用另一个地址空间中的同一物理页面的机制。

Patent Agency Ranking