Patents Assigned to Portworx, Inc.
  • Patent number: 10585694
    Abstract: Systems, devices, and methods are disclosed herein for containerized scalable storage applications. Methods may include instantiating an application instance based on a plurality of application instance parameters, the application instance being configured to utilize a plurality of storage volumes implemented in a storage cluster. Methods may also include enumerating a plurality of unattached storage volumes included in the cluster associated with the application instance, the plurality of unattached storage volumes having a plurality of underlying physical storage devices, and the plurality of unattached storage volumes being identified based on a plurality of application instance parameters. The methods may further include attaching at least some of the plurality of unattached storage volumes to the application instance, wherein the attaching enables the application instance to access data stored in the attached storage volumes.
    Type: Grant
    Filed: January 18, 2018
    Date of Patent: March 10, 2020
    Assignee: Portworx, Inc.
    Inventors: Goutham Rao, Vinod Jayaraman, Ganesh Sangle
  • Publication number: 20200073552
    Abstract: A virtual storage volume that includes storage space on potentially many different physical disks may be mounted at a compute node. In order to replicate the virtual storage volume to a target compute node, a sequence of snapshots may be created that capture the state of the virtual storage volume at a sequence of points in time. The data associated with these snapshots may be transferred to the target compute node. When the difference between the snapshots is sufficiently small, the target virtual storage volume may be resynchronized.
    Type: Application
    Filed: August 30, 2018
    Publication date: March 5, 2020
    Applicant: Portworx, Inc.
    Inventor: Ganesh Sangle
  • Publication number: 20200042393
    Abstract: Copy-on-Write (CoW) snapshots share data on disk for extents that have not been overwritten, which allows for efficient use of disk space. A chain of snapshots may be created, where each snapshot corresponds to a point in time. A sequence of snapshots may be copied by rebuilding each snapshot for the destination volume based on the source volume, resulting in memory usage at the destination volume substantially similar to the memory usage of the snapshot sequence at the source volume.
    Type: Application
    Filed: July 31, 2018
    Publication date: February 6, 2020
    Applicant: Portworx, Inc.
    Inventor: Dinesh Israni
  • Patent number: 10503441
    Abstract: A clustered storage system may include potentially many different nodes, each including a storage driver and a kernel module. A node may mount a virtual storage volume for the use of a container application at the node. The storage driver and kernel module may receive a request from a storage driver at a different node and respond by indicating whether the virtual storage volume is in active use. In this way, the clustered storage system may safely but forcibly unmount a virtual storage volume having a failed or hanging mount point so that the volume may be mounted on a different node.
    Type: Grant
    Filed: November 28, 2017
    Date of Patent: December 10, 2019
    Assignee: Portworx, Inc.
    Inventors: Dinesh Israni, Vinod Jayaraman, Goutham Rao
  • Publication number: 20190369895
    Abstract: A container orchestrator may communicate with a scheduler agent on a compute node to mount and/or unmount a virtual storage volume at the compute node. The scheduler agent may perform operations such as creating and/or deleting a mount path, mounting and/or unmounting the virtual storage volume, and/or marking the mount path as writable and/or read-only in order to eliminate cross-node race conditions.
    Type: Application
    Filed: May 31, 2018
    Publication date: December 5, 2019
    Applicant: Portworx, Inc.
    Inventors: Dinesh Israni, Harsh Desai, Goutham Rao, Vinod Jayaraman
  • Publication number: 20190370023
    Abstract: Two servers implemented as containerized applications may manage the storage of data and the access of that data by compute jobs in a distributed system. A metadata server may distribute data on ingress and assign files to particular storage volumes. The metadata server may then provide a lookup function for files and be configured to distribute a file to other volumes when necessary.
    Type: Application
    Filed: May 31, 2018
    Publication date: December 5, 2019
    Applicant: Portworx, Inc.
    Inventors: Dinesh Israni, Saurabh Deoras, Vinod Jayaraman, Goutham Rao
  • Publication number: 20190286326
    Abstract: A scalable storage infrastructure may be provided by dynamically adjusting the size of a storage volume implemented across one or more storage devices. When data is added to or removed from the storage volume, the system may compare the current amount of data stored on the volume to a threshold value. Then storage capacity may then be adjusted so as to accommodate future storage requests without maintaining an inefficiently large amount of reserved but unused storage space.
    Type: Application
    Filed: March 16, 2018
    Publication date: September 19, 2019
    Applicant: Portworx, Inc.
    Inventor: Luis Pablo Pabon
  • Publication number: 20190272204
    Abstract: A custom file system in a containerized software architecture facilitates the instantiation of application containers. Each container is composed of one or more application image layers. An application container instance includes read-only application image layer data shared among application container instances associated with the same application container. An application container instance may also include read/write application container instance data that is specific to the application container instance.
    Type: Application
    Filed: March 15, 2019
    Publication date: September 5, 2019
    Applicant: Portworx, Inc.
    Inventors: Joseph Jobi, Goutham Rao
  • Publication number: 20190266022
    Abstract: A clustered storage system may include potentially many different nodes, each including a storage driver and a scheduler agent. A node may mount a virtual storage volume for the use of a container application at the node. When a master node receives a request to instantiate a new containerized application, a scheduler at the master node may determine prioritization information for the new containerized application. The prioritization information may prioritize one or more nodes at which a virtualized storage volume employed by the application container instance is mounted.
    Type: Application
    Filed: February 27, 2018
    Publication date: August 29, 2019
    Applicant: Portworx, Inc.
    Inventors: Dinesh Israni, Vinod Jayaraman, Goutham Rao
  • Publication number: 20190220297
    Abstract: Systems, devices, and methods are disclosed herein for containerized scalable storage applications. Methods may include instantiating an application instance based on a plurality of application instance parameters, the application instance being configured to utilize a plurality of storage volumes implemented in a storage cluster. Methods may also include enumerating a plurality of unattached storage volumes included in the cluster associated with the application instance, the plurality of unattached storage volumes having a plurality of underlying physical storage devices, and the plurality of unattached storage volumes being identified based on a plurality of application instance parameters. The methods may further include attaching at least some of the plurality of unattached storage volumes to the application instance, wherein the attaching enables the application instance to access data stored in the attached storage volumes.
    Type: Application
    Filed: January 18, 2018
    Publication date: July 18, 2019
    Applicant: Portworx, Inc.
    Inventors: Goutham Rao, Vinod Jayaraman, Ganesh Sangle
  • Publication number: 20190222646
    Abstract: Clustered containerized applications are implemented with scalable provisioning. Methods include receiving a data storage request to store one or more data values in a storage volume implemented across a storage node cluster, the storage node cluster including a plurality of storage nodes including one or more storage devices having storage space allocated for storing data associated with the storage volume. Methods may further include identifying a cluster hierarchy associated with the storage node cluster, the cluster hierarchy identifying storage characteristics of the plurality of storage nodes, the cluster hierarchy also identifying physical location information for the plurality of storage nodes, the physical location information indicating node-to-node proximity on a network graph.
    Type: Application
    Filed: January 18, 2018
    Publication date: July 18, 2019
    Applicant: Portworx, Inc.
    Inventors: Goutham Rao, Vinod Jayaraman, Ganesh Sangle
  • Publication number: 20190163405
    Abstract: A clustered storage system may include potentially many different nodes, each including a storage driver and a kernel module. A node may mount a virtual storage volume for the use of a container application at the node. The storage driver and kernel module may receive a request from a storage driver at a different node and respond by indicating whether the virtual storage volume is in active use. In this way, the clustered storage system may safely but forcibly unmount a virtual storage volume having a failed or hanging mount point so that the volume may be mounted on a different node.
    Type: Application
    Filed: November 28, 2017
    Publication date: May 30, 2019
    Applicant: Portworx, Inc.
    Inventors: Dinesh Israni, Vinod Jayaraman, Goutham Rao
  • Patent number: 10303499
    Abstract: Techniques and mechanisms described herein provide for a custom file system in a containerized application system in which an application instance may be created as a container based on an application image, which itself may be composed of some number of application image layers. By being aware of these application image layers, the graph driver can perform image layer level operations such as selectively updating image layers, storing image layers in a way that reflects class of service objectives, and responding to application level queries.
    Type: Grant
    Filed: April 14, 2017
    Date of Patent: May 28, 2019
    Assignee: Portworx, Inc.
    Inventors: Joseph Jobi, Goutham Rao
  • Patent number: 10235222
    Abstract: A custom file system in a containerized software architecture facilitates the instantiation of application containers. Each container is composed of one or more application image layers. An application container instance includes read-only application image layer data shared among application container instances associated with the same application container. An application container instance may also include read/write application container instance data that is specific to the application container instance.
    Type: Grant
    Filed: April 14, 2017
    Date of Patent: March 19, 2019
    Assignee: Portworx, Inc.
    Inventors: Joseph Jobi, Goutham Rao
  • Publication number: 20180300348
    Abstract: Techniques and mechanisms described herein facilitate the execution of a software program container having a plurality of layers. Each layer may include a plurality of files. For instance, a base layer may include a version of an operating system, while an upper layer may include a software program configured to run within the operating system. Different layers may store, create, or modify the same file. However, the precedence of the version of the data for the file may be based on an ordering of the layers. For example, the version of the file in a higher layer should supersede the version of the file in a lower layer. In some implementations, a privileged storage container that runs atop a virtualization layer may manage storage resources for other containers. The privileged storage container may store each file in a software program container as a snapshotable object.
    Type: Application
    Filed: June 19, 2018
    Publication date: October 18, 2018
    Applicant: Portworx, Inc
    Inventors: Goutham Rao, Vinod Jayaraman
  • Publication number: 20180205612
    Abstract: Disclosed herein are systems, methods, and devices for the implementation of clustered containerized software applications. Methods may include identifying, using a processor of a first storage container node, a storage container node cluster including a plurality of storage container nodes, and sending a packet to at least a second storage container node of the plurality of storage container nodes. The methods may also include receiving a response from the second storage container node, the response including a reply to the packet, and generating a distance map based, at least in part, on the received response, the distance map characterizing a plurality of distances between the plurality of storage container nodes and the first storage container node. The methods may further include identifying at least one additional storage container node based, at least in part, on the generated distance map.
    Type: Application
    Filed: May 16, 2017
    Publication date: July 19, 2018
    Applicant: Portworx, Inc.
    Inventors: Goutham Rao, Vinod Jayaraman
  • Patent number: 10025790
    Abstract: Techniques and mechanisms described herein facilitate the execution of a software program container having a plurality of layers. Each layer may include a plurality of files. For instance, a base layer may include a version of an operating system, while an upper layer may include a software program configured to run within the operating system. Different layers may store, create, or modify the same file. However, the precedence of the version of the data for the file may be based on an ordering of the layers. For example, the version of the file in a higher layer should supersede the version of the file in a lower layer. In some implementations, a privileged storage container that runs atop a virtualization layer may manage storage resources for other containers. The privileged storage container may store each file in a software program container as a snapshotable object.
    Type: Grant
    Filed: June 3, 2016
    Date of Patent: July 17, 2018
    Assignee: Portworx, Inc.
    Inventors: Goutham Rao, Vinod Jayaraman
  • Publication number: 20180189176
    Abstract: Techniques and mechanisms described herein provide for a custom file system in a containerized application system in which an application instance may be created as a container based on an application image, which itself may be composed of sonic number of application image layers. By being aware of these application image layers, the file system can perform image layer level operations such as image layer multisourcing and image layer garbage collection.
    Type: Application
    Filed: April 14, 2017
    Publication date: July 5, 2018
    Applicant: Portworx, Inc.
    Inventors: Joseph Jobi, Goutham Rao
  • Publication number: 20180189122
    Abstract: Techniques and mechanisms described herein provide for a custom file system in a containerized application system in which an application instance may be created as a container based on an application image, which itself may be composed of some number of application image layers. By being aware of these application image layers, the graph driver can perform image layer level operations such as selectively updating image layers, storing image layers in a way that reflects class of service objectives, and responding to application level queries.
    Type: Application
    Filed: April 14, 2017
    Publication date: July 5, 2018
    Applicant: Portworx, Inc.
    Inventors: Joseph Jobi, Goutham Rao
  • Publication number: 20180189121
    Abstract: A custom file system in a containerized software architecture facilitates the instantiation of application containers. Each container is composed of one or more application image layers. An application container instance includes read-only application image layer data shared among application container instances associated with the same application container. An application container instance may also include read/write application container instance data that is specific to the application container instance.
    Type: Application
    Filed: April 14, 2017
    Publication date: July 5, 2018
    Applicant: Portworx, Inc.
    Inventors: Joseph Jobi, Goutham Rao