Patents by Inventor Christos Karamanolis

Christos Karamanolis has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Publication number: 20170317947
    Abstract: Embodiments of the disclosure provide techniques for partitioning a resource object into multiple resource components of a cluster of host computer nodes in a distributed resources system. The distributed resources system translates high-level policy requirements into a resource configuration that the system accommodates. The system determines an allocation based on the policy requirements and identifies resource configurations that are available. Upon selecting a resource configuration, the distributed resources system assigns the allocation and associated values to the selected configuration and publishes the new configuration to other host computer nodes in the cluster.
    Type: Application
    Filed: August 26, 2014
    Publication date: November 2, 2017
    Inventors: Christos KARAMANOLIS, William EARL, Eric KNAUFT, Pascal RENAULD
  • Publication number: 20170264684
    Abstract: Examples disclosed herein relate to propagating changes made on a file system volume of a primary cluster of nodes to the same file system volume also being managed by a secondary cluster of nodes. An application is executed on both clusters, and data changes on the primary cluster are mirrored to the secondary cluster using an exo-clone file. The exo-clone file includes the differences between two or more snapshots of the volume on the primary cluster, along with identifiers of the change blocks and (optionally) state information thereof. Just these changes, identifiers, and state information are packaged in the exo-clone file and then exported to the secondary cluster, which in turn makes the changes to its version of the volume. Exporting just the changes to the data blocks and the corresponding block identifiers drastically reduces the information needed to be exchanged and processed to keep the two volumes consistent.
    Type: Application
    Filed: June 23, 2016
    Publication date: September 14, 2017
    Inventors: Richard Spillane, Yunshan Luke Lu, Wenguang Wang, Maxime Austruy, Christos Karamanolis, Rawlinson Rivera
  • Patent number: 9672115
    Abstract: Techniques are disclosed for managing a cluster of computing nodes following a division of the cluster into at least a first and second partition, where the cluster aggregates local storage resources of the nodes to provide an object store, and objects stored in the object store are divided into data components stored across the nodes. In accordance with one method, it is determined that a majority of data components comprising a first object are stored within nodes in the first partition. It is determined that a majority of data components comprising a second object are stored within nodes in the second partition. Configuration objects are permitted to be performed on the first object in the first partition while denying access to the first object from the second partition, and on the second object in the second partition while denying access to the second object from the first partition.
    Type: Grant
    Filed: March 13, 2014
    Date of Patent: June 6, 2017
    Assignee: VMware, Inc.
    Inventors: William Earl, Christos Karamanolis, Gregory A. Smith, Eric Knauft, Pascal Renauld
  • Publication number: 20170060449
    Abstract: A method for restoring a data volume using incremental snapshots of the data volume includes creating a first series of incremental snapshots according to a first predefined interval. The method further includes creating a second series of incremental snapshots according to a second predefined interval that is an integer multiple of the first predefined interval. The method also includes receiving a request to restore the data volume to a point-in-time. The method further includes restoring the data volume to the point-in-time using none or some of the snapshots in the first series that were created at or prior to the point-in-time, and all of the snapshots in the second series that were created at or prior to the point-in-time.
    Type: Application
    Filed: August 28, 2015
    Publication date: March 2, 2017
    Inventors: Michael ZUCCA, Keith FARKAS, Joanne REN, Mayank RAWAT, Christos KARAMANOLIS
  • Publication number: 20170060620
    Abstract: Techniques are disclosed for maintaining high availability (HA) for virtual machines (VMs) running on host systems of a host cluster, where each host system executes a HA module in a plurality of HA modules and a storage module in a plurality of storage modules, where the host cluster aggregates, via the plurality of storage modules, locally-attached storage resources of the host systems to provide an object store, where persistent data for the VMs is stored as per-VM storage objects across the locally-attached storage resources comprising the object store, and where a failure causes the plurality of storage modules to observe a network partition in the host cluster that the plurality of HA modules do not. In one embodiment, a host system in the host cluster executing a first HA module invokes an API exposed by the plurality of storage modules for persisting metadata for a VM to the object store.
    Type: Application
    Filed: November 15, 2016
    Publication date: March 2, 2017
    Inventors: Marc Sevigny, Keith Farkas, Christos Karamanolis
  • Patent number: 9513946
    Abstract: Techniques are disclosed for maintaining high availability (HA) for virtual machines (VMs) running on host systems of a host cluster, where each host system executes a HA module in a plurality of HA modules and a storage module in a plurality of storage modules, where the host cluster aggregates, via the plurality of storage modules, locally-attached storage resources of the host systems to provide an object store, where persistent data for the VMs is stored as per-VM storage objects across the locally-attached storage resources comprising the object store, and where a failure causes the plurality of storage modules to observe a network partition in the host cluster that the plurality of HA modules do not. In one embodiment, a host system in the host cluster executing a first HA module invokes an API exposed by the plurality of storage modules for persisting metadata for a VM to the object store.
    Type: Grant
    Filed: June 27, 2014
    Date of Patent: December 6, 2016
    Assignee: VMware, Inc.
    Inventors: Marc Sevigny, Keith Farkas, Christos Karamanolis
  • Publication number: 20160350325
    Abstract: A method and system are disclosed for storing client data objects in a deduplicated storage system. Deduplicated data may be stored in a plurality of physical data blocks. A content map layer can provide a mapping between the physical data blocks to logical map objects associated with the client data objects. The deduplicated data may be mapped to logical data blocks that comprise the client data objects.
    Type: Application
    Filed: May 28, 2015
    Publication date: December 1, 2016
    Inventors: Wenguang Wang, Radu Berinde, Christos Karamanolis, Jorge Guerra Delgado, Srinath Premachandran
  • Publication number: 20160350006
    Abstract: A deduplication storage system with snapshot and clone capability includes storing logical pointer objects and organizing a first set of the logical pointer objects into a hierarchical structure. A second set of the logical pointer objects may be associated with corresponding logical data blocks of a client data object. The second set of the logical pointer objects may point to physical data blocks having deduplicated data that comprise data of the corresponding logical data blocks. Some of the logical pointer objects in the first set may point to the logical pointer objects in the second set, so that the hierarchical structure represents the client data object. A root of the hierarchical structure may be associated with the client data object. A snapshot or clone may be created by making a copy of the root and associating the copied root with the snapshot or clone.
    Type: Application
    Filed: May 31, 2015
    Publication date: December 1, 2016
    Inventors: Wenguang Wang, Radu Berinde, Christos Karamanolis, Jorge Guerra Delgado, Srinath Premachandran
  • Publication number: 20160342468
    Abstract: Exemplary methods, apparatuses, and systems maintain hole boundary information by calculating a block attribute parity value. For example, a request is received to write to a first block of a stripe of data. A block attribute of a second block is determined. The block attribute of the second block indicates whether the second block includes written data or is a hole. A block attribute parity value is calculated based upon both the block attribute of the first block and the block attribute of the second block. The block attribute of the first block indicates the first block includes written data based upon the received request. The block attribute parity value and the data parity value are stored on one of the physical storage devices in response to the received write request. As a result, if a disk is lost, holes can be recovered using the block attribute parity value.
    Type: Application
    Filed: May 19, 2015
    Publication date: November 24, 2016
    Inventors: Christos KARAMANOLIS, Radu BERINDE, Wenguang WANG
  • Publication number: 20160342462
    Abstract: Exemplary methods, apparatuses, and systems include a first layer of a virtual storage area network (VSAN) module receiving a write request from a data compute node. The write request includes data to be written and the VSAN module is distributed across a plurality of computers to provide an aggregate object store using storage attached to each of the plurality of computers. The first layer of the VSAN module calculates a checksum for the data to be written and passes the data to be written and the checksum to a second layer of the VSAN module. The second layer of the VSAN module calculates a first verification checksum for the data to be written. The data and the checksum are written to persistent storage in response to determining the first verification checksum matches the checksum passed by the first layer of the VSAN module.
    Type: Application
    Filed: May 19, 2015
    Publication date: November 24, 2016
    Inventors: Christos KARAMANOLIS, Wenguang WANG, Kiran JOSHI, Sandeep RANGASWAMY
  • Patent number: 9495259
    Abstract: Techniques are disclosed for orchestrating high availability (HA) failover for virtual machines (VMs) running on host systems of a host cluster, where the host cluster aggregates locally-attached storage resources of the host systems to provide an object store, and where persistent data for one or more of the VMs is stored as per-VM storage objects across the locally-attached storage resources comprising the object store. In one embodiment, a host system in the host cluster executing a HA module determines a VM to be restarted on an active host system in the host cluster. The host system further determines if the VM's persistent data is stored in the object store. If so, the host system adds the VM to a list of VMs to be immediately restarted. Otherwise, the host system checks whether the VM is accessible to the host system by querying a storage layer of the host system configured to manage the object store.
    Type: Grant
    Filed: June 27, 2014
    Date of Patent: November 15, 2016
    Assignee: VMware, Inc.
    Inventors: Marc Sevigny, Keith Farkas, Christos Karamanolis
  • Patent number: 9367414
    Abstract: Techniques are disclosed for persisting high availability (HA) protection state for virtual machines (VMs) running on host systems of a host cluster, where the host cluster aggregates locally-attached storage resources of the host systems to provide an object store, and where persistent data for the VMs is stored as per-VM storage objects across the locally-attached storage resources comprising the object store. In one embodiment, a host system in the host cluster executing a HA module determines an identity of a VM that has been powered-on in the host cluster. The host system then persists HA protection state for the VM in a storage object of the VM, where the HA protection state indicates that the VM should be restarted on an active host system in the case of a failure in the host cluster.
    Type: Grant
    Filed: June 27, 2014
    Date of Patent: June 14, 2016
    Assignee: VMware, Inc.
    Inventors: Marc Sevigny, Keith Farkas, Christos Karamanolis
  • Publication number: 20150378761
    Abstract: Techniques are disclosed for maintaining high availability (HA) for virtual machines (VMs) running on host systems of a host cluster, where each host system executes a HA module in a plurality of HA modules and a storage module in a plurality of storage modules, where the host cluster aggregates, via the plurality of storage modules, locally-attached storage resources of the host systems to provide an object store, where persistent data for the VMs is stored as per-VM storage objects across the locally-attached storage resources comprising the object store, and where a failure causes the plurality of storage modules to observe a network partition in the host cluster that the plurality of HA modules do not. In one embodiment, a host system in the host cluster executing a first HA module invokes an API exposed by the plurality of storage modules for persisting metadata for a VM to the object store.
    Type: Application
    Filed: June 27, 2014
    Publication date: December 31, 2015
    Inventors: Marc Sevigny, Keith Farkas, Christos Karamanolis
  • Publication number: 20150378853
    Abstract: Techniques are disclosed for orchestrating high availability (HA) failover for virtual machines (VMs) running on host systems of a host cluster, where the host cluster aggregates locally-attached storage resources of the host systems to provide an object store, and where persistent data for one or more of the VMs is stored as per-VM storage objects across the locally-attached storage resources comprising the object store. In one embodiment, a host system in the host cluster executing a HA module determines a VM to be restarted on an active host system in the host cluster. The host system further determines if the VM's persistent data is stored in the object store. If so, the host system adds the VM to a list of VMs to be immediately restarted. Otherwise, the host system checks whether the VM is accessible to the host system by querying a storage layer of the host system configured to manage the object store.
    Type: Application
    Filed: June 27, 2014
    Publication date: December 31, 2015
    Inventors: Marc Sevigny, Keith Farkas, Christos Karamanolis
  • Publication number: 20150378857
    Abstract: Techniques are disclosed for persisting high availability (HA) protection state for virtual machines (VMs) running on host systems of a host cluster, where the host cluster aggregates locally-attached storage resources of the host systems to provide an object store, and where persistent data for the VMs is stored as per-VM storage objects across the locally-attached storage resources comprising the object store. In one embodiment, a host system in the host cluster executing a HA module determines an identity of a VM that has been powered-on in the host cluster. The host system then persists HA protection state for the VM in a storage object of the VM, where the HA protection state indicates that the VM should be restarted on an active host system in the case of a failure in the host cluster.
    Type: Application
    Filed: June 27, 2014
    Publication date: December 31, 2015
    Inventors: Marc Sevigny, Keith Farkas, Christos Karamanolis
  • Publication number: 20150220355
    Abstract: A hypervisor virtual server system, including a plurality of virtual servers, a plurality of virtual disks that are read from and written to by the plurality of virtual servers, a physical disk, an I/O backend coupled with the physical disk and in communication with the plurality of virtual disks, which reads from and writes to the physical disk, a tapping driver in communication with the plurality of virtual servers, which intercepts I/O requests made by any one of said plurality of virtual servers to any one of said plurality of virtual disks, and a virtual data services appliance, in communication with the tapping driver, which receives the intercepted I/O write requests from the tapping driver, and that provides data services based thereon.
    Type: Application
    Filed: April 13, 2015
    Publication date: August 6, 2015
    Applicants: EMC Corporation, EMC Israel Development Center, Ltd.
    Inventors: Assaf Natanzon, Tzach Schechner, Oded Kedem, Ziv Kedem, Shlomo Ahal, Christos Karamanolis
  • Publication number: 20150058863
    Abstract: Embodiments presented herein techniques for balancing a multidimensional set of resources of different types within a distributed resources system. Each host computer providing the resources publishes a status on current resource usage by guest clients. Upon identifying a local imbalance, the host computer determines a source workload to migrate to or from the resources container to minimize the variance in resource usage. Additionally, when placing a new resource workload, the host computer selects a resources container that minimizes the variance to further balance resource usage.
    Type: Application
    Filed: August 26, 2013
    Publication date: February 26, 2015
    Applicant: VMware, Inc.
    Inventors: Christos KARAMANOLIS, William EARL, Mansi SHAH, Nathan BURNETT
  • Publication number: 20150058306
    Abstract: Embodiments of the disclosure provide techniques for updating a distributed transaction log on a previously offline resource object component using distributed transaction logs from active host computer nodes from separate RAID mirror configurations. Each component object maintains a journal (log) where distributed transactions are recorded. If a component object goes offline and subsequently returns (e.g., if the node hosting the component object reboots), the component object is marked as stale. To return the component object to an active state, a distributed resources module retrieves the journals from other resource component objects from other RAID configurations where the data is mirrored. The module filters corresponding data that is missing in the journal of the previously offline corresponding object and merges the filtered data to the journal.
    Type: Application
    Filed: August 26, 2014
    Publication date: February 26, 2015
    Applicant: VMWARE, INC.
    Inventors: William EARL, Christos KARAMANOLIS, Eric KNAUFT, Pascal RENAULD
  • Publication number: 20150058298
    Abstract: Techniques are disclosed for managing a cluster of computing nodes following a division of the cluster into at least a first and second partition, where the cluster aggregates local storage resources of the nodes to provide an object store, and objects stored in the object store are divided into data components stored across the nodes. In accordance with one method, it is determined that a majority of data components comprising a first object are stored within nodes in the first partition. It is determined that a majority of data components comprising a second object are stored within nodes in the second partition. Configuration objects are permitted to be performed on the first object in the first partition while denying access to the first object from the second partition, and on the second object in the second partition while denying access to the second object from the first partition.
    Type: Application
    Filed: March 13, 2014
    Publication date: February 26, 2015
    Applicant: VMWARE, INC.
    Inventors: William EARL, Christos KARAMANOLIS, Gregory A. SMITH, Eric KNAUFT, Pascal RENAULD
  • Publication number: 20150058475
    Abstract: Embodiments of the disclosure provide techniques for measuring congestion and controlling quality of service to a shared resource. A module that interfaces with the shared resource monitors the usage of the shared resource by accessing clients. Upon detecting that the rate of usage of the shared resource has exceeded a maximum rate supported by the shared resource, the module determines and transmits a congestion metric to clients that are currently attempting to access the shared resource. Clients, in turn determine a delay period based on the congestion metric prior to attempting another access of the shared resource.
    Type: Application
    Filed: August 26, 2013
    Publication date: February 26, 2015
    Applicant: VMware, Inc.
    Inventors: William EARL, Christos KARAMANOLIS