Patents Assigned to Datacore Software Corporation
  • Patent number: 11029855
    Abstract: A containerized stream microservice is described. The containerized stream microservice is configured to provide the functionality of volume presentation along with all related interactions including the receipt and processing of IO requests and related services. The containerized stream microservice preferably implements stream metadata in the management of storage operations, and interacts with a store to provide underlying data storage. The store, which may also be referred to as a data store, is where underlying data is stored in a persistent manner. In one example, the store is an object store.
    Type: Grant
    Filed: October 1, 2019
    Date of Patent: June 8, 2021
    Assignee: DataCore Software Corporation
    Inventors: Nicholas C. Connolly, Robert Bassett, Roni J. Putra
  • Patent number: 10877750
    Abstract: A containerized storage microservice is described. The containerized storage microservice, and its corresponding architecture, provide an environment wherein an application container accesses containerized storage services through a direct connection. This allows the operating system file system to be effectively bypassed in the provision of storage services. In one example, a library provides a basic file system and is arranged underneath the application container. The library essentially intercepts storage requests and emulates a thin file system. Instead of invoking the kernel of the operating system to process each storage request, the library allows the storage request to bypass the kernel and pass the storage request to the storage microservice. The containerized storage microservices are available in different types, and are configured so that they can be stacked to provide customized sets of storage services to different types of application containers.
    Type: Grant
    Filed: December 17, 2019
    Date of Patent: December 29, 2020
    Assignee: DataCore Software Corporation
    Inventors: Nicholas C. Connolly, Robert Bassett, Roni J. Putra
  • Patent number: 10740028
    Abstract: An LRU buffer configuration for performing parallel IO operations is disclosed. In one example, the LRU buffer configuration is a doubly linked list of segments. Each segment is also a doubly linked list of buffers. The LRU buffer configuration includes a head portion and a tail portion, each including several slots (pointers to segments) respectively accessible in parallel by a number of CPUs in a multicore platform. Thus, for example, a free buffer may be obtained for a calling application on a given CPU by selecting a head slot corresponding to the given CPU, identifying the segment pointed to by the selected head slot, locking that segment, and removing the buffer from the list of buffers in that segment. Buffers may similarly be returned according to slots and corresponding segments and buffers at the tail portion.
    Type: Grant
    Filed: August 30, 2017
    Date of Patent: August 11, 2020
    Assignee: DataCore Software Corporation
    Inventors: Ziya Aral, Nicholas C. Connolly, Robert Bassett, Roni J. Putra
  • Patent number: 10599477
    Abstract: Command list processing in performing parallel IO operations is disclosed. In one example, handling IO requests directed to an operating system having an IO scheduling component entails allocating a command to a thread in association with an IO request. The command is allocated from one of a plurality of command lists accessible in parallel, and the command is also linked to one of a plurality of active command lists that are accessible in parallel. The command lists can be arranged as per-CPU command lists, with each per-CPU command list corresponding to one of a plurality of CPUs on a multi-core processing platform on which the IO requests are processed. Similarly, each of the active command lists can respectively correspond to one of the plurality of CPUs on the multi-core processing platform. Per-volume queues can also be implemented for respective volumes presented to applications.
    Type: Grant
    Filed: April 26, 2019
    Date of Patent: March 24, 2020
    Assignee: DataCore Software Corporation
    Inventors: Ziya Aral, Nicholas C. Connolly, Robert Bassett, Roni J. Putra
  • Patent number: 10498802
    Abstract: A node based architecture that supports arbitrary access to any node in a system for data representation and access, while still providing virtual volume coherency that is global to all of the nodes in the system, and while providing underlying data management services that are also variously accessible from any node in the system.
    Type: Grant
    Filed: May 21, 2018
    Date of Patent: December 3, 2019
    Assignee: DataCore Software Corporation
    Inventors: Nicholas C. Connolly, Robert Bassett, Ziya Aral, Roni J. Putra
  • Patent number: 10409640
    Abstract: Methods and apparatus for data request scheduling in performing parallel IO operations are disclosed. In one example, IO requests directed to an operating system having an IO scheduling component are processed. There, an IO request directed from an application to the operating system is intercepted. A determination is made whether the IO request is subject to immediate processing using available parallel processing resources. When it is determined that the IO request is subject to immediate processing using the available parallel processing resources, the IO scheduling component of the operating system is bypassed. The IO request is directly and immediately processed and passed back to the application using the available parallel processing resources.
    Type: Grant
    Filed: June 8, 2018
    Date of Patent: September 10, 2019
    Assignee: DataCore Software Corporation
    Inventors: Nicholas C. Connolly, Robert Bassett, Ziya Aral, Roni J. Putra
  • Patent number: 10318354
    Abstract: Command list processing in performing parallel IO operations is disclosed. In one example, handling IO requests directed to an operating system having an IO scheduling component entails allocating a command to a thread in association with an IO request. The command is allocated from one of a plurality of command lists accessible in parallel, and the command is also linked to one of a plurality of active command lists that are accessible in parallel. The command lists can be arranged as per-CPU command lists, with each per-CPU command list corresponding to one of a plurality of CPUs on a multi-core processing platform on which the IO requests are processed. Similarly, each of the active command lists can respectively correspond to one of the plurality of CPUs on the multi-core processing platform. Per-volume queues can also be implemented for respective volumes presented to applications.
    Type: Grant
    Filed: May 22, 2017
    Date of Patent: June 11, 2019
    Assignee: DataCore Software Corporation
    Inventors: Ziya Aral, Nicholas C. Connolly, Robert Bassett, Roni J. Putra
  • Patent number: 10013283
    Abstract: Methods and apparatus for data request scheduling in performing parallel IO operations are disclosed. In one example, IO requests directed to an operating system having an IO scheduling component are processed. There, an IO request directed from an application to the operating system is intercepted. A determination is made whether the IO request is subject to immediate processing using available parallel processing resources. When it is determined that the IO request is subject to immediate processing using the available parallel processing resources, the IO scheduling component of the operating system is bypassed. The IO request is directly and immediately processed and passed back to the application using the available parallel processing resources.
    Type: Grant
    Filed: August 15, 2016
    Date of Patent: July 3, 2018
    Assignee: DataCore Software Corporation
    Inventors: Nicholas C. Connolly, Robert Bassett, Ziya Aral, Roni J. Putra
  • Patent number: 10003636
    Abstract: A node based architecture that supports arbitrary access to any node in a system for data representation and access, while still providing virtual volume coherency that is global to all of the nodes in the system, and while providing underlying data management services that are also variously accessible from any node in the system.
    Type: Grant
    Filed: March 14, 2014
    Date of Patent: June 19, 2018
    Assignee: DataCore Software Corporation
    Inventors: Nicholas C. Connolly, Robert Bassett, Ziya Aral, Roni J. Putra
  • Patent number: 9946606
    Abstract: A stream architecture for data representation is disclosed. A stream is retained with respect to write transactions to a given volume. The stream includes the write transactions and provides a sequence of the write transactions according to the order in which the write transactions were received for the given volume. By way of example, a stream image can be associated to the stream. The stream image provides a representation of the data in the given volume for a point in time by referencing a non-contiguous subset of the sequence of write transactions in the stream.
    Type: Grant
    Filed: November 18, 2010
    Date of Patent: April 17, 2018
    Assignee: DataCore Software Corporation
    Inventors: Nicholas C. Connolly, Robert Bassett, Ziya Aral, Roni J. Putra
  • Patent number: 9519431
    Abstract: Collaboration between discrete systems and a shared system to consolidate shared storage-related services. In one example, shared, consolidated storage-related services and high-availability are provided by pairing each of a plurality of discrete block storage virtualization modules residing on each discrete computer system to a shared block storage virtualization module residing on a shared computer system, and maintaining logical volume coherency locally by each of the plurality of discrete block storage virtualization modules, and globally by the shared block storage virtualization module. Additionally, allocation of a set of block storage virtualization functions to be performed by at least one of the plurality of discrete block storage virtualization modules or the shared block storage virtualization module can be made according to the pairing.
    Type: Grant
    Filed: October 24, 2014
    Date of Patent: December 13, 2016
    Assignee: DataCore Software Corporation
    Inventor: Agustin Gonzalez
  • Patent number: 9411518
    Abstract: Responding to IO requests made by an application to an operating system within a computing device implements IO performance acceleration that interfaces with the logical and physical disk management components of the operating system and within that pathway provides a system memory based disk block cache. The logical disk management component of the operating system identifies logical disk addresses for IO requests sent from the application to the operating system. These addresses are translated to physical disk addresses that correspond to disk blocks available on a physical storage resource. The disk block cache stores cached disk blocks that correspond to the disk blocks available on the physical storage resource, such that IO requests may be fulfilled from the disk block cache.
    Type: Grant
    Filed: October 14, 2014
    Date of Patent: August 9, 2016
    Assignee: DataCore Software Corporation
    Inventors: Ziya Aral, Roni J. Putra
  • Patent number: 9344235
    Abstract: Disclosed are network managed volumes that enable simplified and more efficient use of information technology assets by allocating physical disk drives as needed. A pool of storage can be defined and populated with physical disks that are accessible in a storage area network. Virtual volumes are created from the storage pool, with each virtual volume being separately allocable to a host device (e.g., client, application server, etc.). Thus, host devices that have been allocated these virtual volumes perceive ownership of the entire volume, without requiring a present allocation of physical storage space having the same characteristics, but with seamless introduction of physical resources as needed.
    Type: Grant
    Filed: June 7, 2002
    Date of Patent: May 17, 2016
    Assignee: DataCore Software Corporation
    Inventors: Roni J. Putra, Nicholas Connolly, Ye (Tom) Chen, David A. Linde, Ziya A. Aral, Mohamed Ghanem, Mark Friedman
  • Patent number: 9087013
    Abstract: Methods and apparatus for point-in-time volumes are provided. A relationship is enabled between a source volume and point-in-time volume. Copying a data chunk to the point-in-time volume before a write operation modifies the data chunk on the source volume dynamically creates the point-in-time volume. The point-in-time volume can be accessed in read/write mode as a general purpose data storage volume. Other embodiments comprising additional features, such as a forced migration process, are also provided.
    Type: Grant
    Filed: March 14, 2013
    Date of Patent: July 21, 2015
    Assignee: DataCore Software Corporation
    Inventor: David A. Linde
  • Patent number: 8886857
    Abstract: Multiple devices are provided access to a common, single instance of data and may use it without consuming resources beyond what would be required if only one device were using that data in a traditional configuration. In order to retain the device-specific differences, they are kept separate, but their relationship to the common data is maintained. All of this is done in a fashion that allows a given device to perceive and use its data as though it was its own separately accessible data.
    Type: Grant
    Filed: March 6, 2014
    Date of Patent: November 11, 2014
    Assignee: DataCore Software Corporation
    Inventors: Jeffry Z. Slutzky, Roni J. Putra, Ziya Aral
  • Patent number: 8874746
    Abstract: Collaboration between discrete systems and a shared system to consolidate shared storage-related services. In one example, shared, consolidated storage-related services and high-availability are provided by pairing each of a plurality of discrete block storage virtualization modules residing on each discrete computer system to a shared block storage virtualization module residing on a shared computer system, and maintaining logical volume coherency locally by each of the plurality of discrete block storage virtualization modules, and globally by the shared block storage virtualization module. Additionally, allocation of a set of block storage virtualization functions to be performed by at least one of the plurality of discrete block storage virtualization modules or the shared block storage virtualization module can be made according to the pairing.
    Type: Grant
    Filed: November 9, 2010
    Date of Patent: October 28, 2014
    Assignee: DataCore Software Corporation
    Inventor: Agustin Gonzalez
  • Patent number: 8862813
    Abstract: Responding to IO requests made by an application to an operating system within a computing device implements IO performance acceleration that interfaces with the logical and physical disk management components of the operating system and within that pathway provides a system memory based disk block cache. The logical disk management component of the operating system identifies logical disk addresses for IO requests sent from the application to the operating system. These addresses are translated to physical disk addresses that correspond to disk blocks available on a physical storage resource. The disk block cache stores cached disk blocks that correspond to the disk blocks available on the physical storage resource, such that IO requests may be fulfilled from the disk block cache.
    Type: Grant
    Filed: July 1, 2010
    Date of Patent: October 14, 2014
    Assignee: DataCore Software Corporation
    Inventors: Ziya Aral, Roni Putra
  • Publication number: 20140304468
    Abstract: Multiple devices are provided access to a common, single instance of data and may use it without consuming resources beyond what would be required if only one device were using that data in a traditional configuration. In order to retain the device-specific differences, they are kept separate, but their relationship to the common data is maintained. All of this is done in a fashion that allows a given device to perceive and use its data as though it was its own separately accessible data.
    Type: Application
    Filed: March 6, 2014
    Publication date: October 9, 2014
    Applicant: DataCore Software Corporation
    Inventors: Jeffry Z. Slutzky, Roni J. Putra, Ziya Aral
  • Patent number: 8706935
    Abstract: Multiple devices are provided access to a common, single instance of data and may use it without consuming resources beyond what would be required if only one device were using that data in a traditional configuration. In order to retain the device-specific differences, they are kept separate, but their relationship to the common data is maintained. All of this is done in a fashion that allows a given device to perceive and use its data as though it was its own separately accessible data.
    Type: Grant
    Filed: April 6, 2012
    Date of Patent: April 22, 2014
    Assignee: DataCore Software Corporation
    Inventors: Jeff Z. Slutzky, Roni J. Putra, Ziya A. Aral
  • Publication number: 20140019696
    Abstract: Methods and apparatus for point-in-time volumes are provided. A relationship is enabled between a source volume and point-in-time volume. Copying a data chunk to the point-in-time volume before a write operation modifies the data chunk on the source volume dynamically creates the point-in-time volume. The point-in-time volume can be accessed in read/write mode as a general purpose data storage volume. Other embodiments comprising additional features, such as a forced migration process, are also provided.
    Type: Application
    Filed: March 14, 2013
    Publication date: January 16, 2014
    Applicant: DATACORE SOFTWARE CORPORATION
    Inventor: David A. Linde