Patents by Inventor Vladimirs PETTERS

Vladimirs PETTERS 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: 20180205665
    Abstract: A system is configured to use a de-randomizer and budget data structure to economize I/O operations for a shared storage device while still allowing access to the device to a number of different entities.
    Type: Application
    Filed: March 12, 2018
    Publication date: July 19, 2018
    Inventors: Slava KUZNETSOV, Vinod R. SHANKAR, Andrea D'AMATO, Vladimir PETTER
  • Publication number: 20180198691
    Abstract: A generation identifier is employed with various systems and methods in order to identify situations where a workload has been reassigned to a new node and where a workload is still being processed by an old node during a failure between nodes. A master node may assign a workload to a worker node. The worker node sends a request to access target data. The request may be associated with a generation identifier and workload identifier that identifies the node and workload. At some point, a failure occurs between the master node and worker node. The master node reassigns the workload to another worker node. The new worker node accesses the target data with a different generation identifier, indicating to the storage system that the workload has been reassigned. The old worker node receives an indication from the storage system that the workload has been reassigned and stops processing the workload.
    Type: Application
    Filed: December 4, 2017
    Publication date: July 12, 2018
    Applicant: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: David Kruse, Qibo Zhu, David Dion, Vladimir Petter, Lokesh Srinivas Koppolu
  • Patent number: 9917790
    Abstract: A system is configured to use a de-randomizer and budget data structure to economize I/O operations for a shared storage device while still allowing access to the device to a number of different entities. Embodiments can identify a comparatively low cost next operation as compared to other I/O operations, including a cost for seek time, for a first entity to dispatch to the storage device when the first entity has sufficient budget to have the I/O operation performed on its behalf and to identify an I/O operation for a second entity to dispatch to the storage device when there is insufficient budget for the first entity.
    Type: Grant
    Filed: July 31, 2014
    Date of Patent: March 13, 2018
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Slava Kuznetsov, Vinod R. Shankar, Andrea D'Amato, Vladimir Petter
  • Publication number: 20180004560
    Abstract: Systems and methods for live migration of VMs between different nodes are provided. More specifically, the system and methods utilize a heat map and an access pattern to determine the fetching order of files and/or blocks from the cache of a host node for rebuilding the cache on a destination node. Additionally, the systems and methods are able to persist the cache of a host node across a crash, allowing a destination node to fetch blocks and/or files from the cache on the host node after a crash instead of having to access the VM files and/or blocks from an original source. Accordingly, the systems and methods decrease migration latency of the VM during live migration and free up network bandwidth during the live migration when compared to prior systems and methods that utilize just the heat map to determine the fetching order and/or that are not able to persist the cache across a crash.
    Type: Application
    Filed: June 30, 2016
    Publication date: January 4, 2018
    Applicant: Microsoft Technology Licensing, LLC
    Inventors: Vinod R. Shankar, Vladimir Petter, Vyacheslav Kuznetsov
  • Patent number: 9847918
    Abstract: A generation identifier is employed with various systems and methods in order to identify situations where a workload has been reassigned to a new node and where a workload is still being processed by an old node during a failure between nodes. A master node may assign a workload to a worker node. The worker node sends a request to access target data. The request may be associated with a generation identifier and workload identifier that identifies the node and workload. At some point, a failure occurs between the master node and worker node. The master node reassigns the workload to another worker node. The new worker node accesses the target data with a different generation identifier, indicating to the storage system that the workload has been reassigned. The old worker node receives an indication from the storage system that the workload has been reassigned and stops processing the workload.
    Type: Grant
    Filed: August 12, 2014
    Date of Patent: December 19, 2017
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: David Kruse, Qibo Zhu, David Dion, Vladimir Petter, Lokesh Srinivas Koppolu
  • Patent number: 9665432
    Abstract: A request identifier is employed with various systems and methods in order to enable an application to pause execution during a failure and subsequently resume execution and communication with a storage system once the failure is resolved. An application residing on a node may attempt to access target data on a storage system. The application sends a request to access the target data. The request may be associated with a request identifier that identifies the application. When the storage system experiences a failure, the application receives a failure notification. The application pauses execution as a result of the notification. When the node reestablishes a connection to the storage system, the application resumes execution using the same request identifier. If the resume request is granted, the application is guaranteed that the target data was not modified during the failure.
    Type: Grant
    Filed: August 7, 2014
    Date of Patent: May 30, 2017
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: David Kruse, Vladimir Petter, Lokesh Srinivas Koppolu, David Dion, Mathew George
  • Patent number: 9652469
    Abstract: A cluster based file service may operate on a cluster of two or more independent devices that have access to a common data storage. The file service may have a namespace definition with each device in the cluster, but may be modified by any device operating the file service. Each instance of the file service may identify and capture a command that changes the namespace structure and cause the change to be propagated to the other members of cluster. If one of the devices in the cluster does not successfully perform an update to the namespace structure, that device may be brought offline. The cluster based file service may permit adding or removing devices from the cluster while the file service is operating, and may provide a high throughput and high availability file service.
    Type: Grant
    Filed: June 4, 2011
    Date of Patent: May 16, 2017
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Vyacheslav Kuznetsov, Andrea D'Amato, Alan Warwick, Vladimir Petter, Henry Aloysius
  • Publication number: 20170132066
    Abstract: A request identifier is employed with various systems and methods in order to enable an application to pause execution during a failure and subsequently resume execution and communication with a storage system once the failure is resolved. An application residing on a node may attempt to access target data on a storage system. The application sends a request to access the target data. The request may be associated with a request identifier that identifies the application. When the storage system experiences a failure, the application receives a failure notification. The application pauses execution as a result of the notification. When the node reestablishes a connection to the storage system, the application resumes execution using the same request identifier. If the resume request is granted, the application is guaranteed that the target data was not modified during the failure.
    Type: Application
    Filed: January 25, 2017
    Publication date: May 11, 2017
    Applicant: Microsoft Technology Licensing, LLC
    Inventors: David Kruse, Vladimir Petter, Lokesh Srinivas Koppolu, David Dion, Mathew George
  • Patent number: 9438520
    Abstract: The present invention extends to methods, systems, and computer program products for synchronizing state among load balancer components. Embodiments of the invention include load balancers using a consistent hashing algorithm to decide how new connections should be load balanced. Use of consistent hashing algorithm permits load balancers to work in a stateless manner in steady state. Load balancers start keeping flow state information (destination address for a given flow) about incoming packets when it is needed, i.e. such as, for example, when a change in destination host configuration is detected. State information is shared across load balancers in a deterministic way, which allows knowing which load balancer is authoritative (e.g., is the owner) for a given flow. Each load balancer can reach the authoritative load balancer to learn about a flow that cannot be determined locally.
    Type: Grant
    Filed: November 18, 2014
    Date of Patent: September 6, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Parveen Patel, Volodymyr Ivanov, Marios Zikos, Vladimir Petter, Vyacheslav Kuznetsov, David Allen Dion
  • Publication number: 20160050294
    Abstract: A generation identifier is employed with various systems and methods in order to identify situations where a workload has been reassigned to a new node and where a workload is still being processed by an old node during a failure between nodes. A master node may assign a workload to a worker node. The worker node sends a request to access target data. The request may be associated with a generation identifier and workload identifier that identifies the node and workload. At some point, a failure occurs between the master node and worker node. The master node reassigns the workload to another worker node. The new worker node accesses the target data with a different generation identifier, indicating to the storage system that the workload has been reassigned. The old worker node receives an indication from the storage system that the workload has been reassigned and stops processing the workload.
    Type: Application
    Filed: August 12, 2014
    Publication date: February 18, 2016
    Applicant: Microsoft Corporation
    Inventors: David Kruse, Qibo Zhu, David Dion, Vladimir Petter, Lokesh Srinivas Koppolu
  • Publication number: 20160041882
    Abstract: A request identifier is employed with various systems and methods in order to enable an application to pause execution during a failure and subsequently resume execution and communication with a storage system once the failure is resolved. An application residing on a node may attempt to access target data on a storage system. The application sends a request to access the target data. The request may be associated with a request identifier that identifies the application. When the storage system experiences a failure, the application receives a failure notification. The application pauses execution as a result of the notification. When the node reestablishes a connection to the storage system, the application resumes execution using the same request identifier. If the resume request is granted, the application is guaranteed that the target data was not modified during the failure.
    Type: Application
    Filed: August 7, 2014
    Publication date: February 11, 2016
    Applicant: Microsoft Corporation
    Inventors: David Kruse, Vladimir Petter, Lokesh Srinivas Koppolu, David Dion, Mathew George
  • Publication number: 20160036720
    Abstract: A system is configured to use a de-randomizer and budget data structure to economize I/O operations for a shared storage device while still allowing access to the device to a number of different entities.
    Type: Application
    Filed: July 31, 2014
    Publication date: February 4, 2016
    Inventors: Slava Kuznetsov, Vinod R. Shankar, Andrea D'Amato, Vladimir Petter
  • Publication number: 20150331873
    Abstract: Embodiments provide a method and system for sharing storage among a plurality of virtual machines. Specifically, one or more embodiments are directed to sharing a virtual hard disk with various virtual machines in a virtual machine cluster. In embodiments, a command is sent from a virtual machine to a local parser. The parser prepares the command for transport over a file system protocol. The command is sent to a remote file server using the file system protocol. When the command is received by the file server, the file server unpacks the command, determines features about the command and converts the command to a format that executes the command on the virtual shared storage.
    Type: Application
    Filed: July 27, 2015
    Publication date: November 19, 2015
    Applicant: Microsoft Technology Licensing, LLC
    Inventors: Andrea D'Amato, Vinod R. Shankar, Jake Oshins, Matthew David Kurjanowicz, Vladimir Petters, John A. Starks
  • Publication number: 20150063115
    Abstract: The present invention extends to methods, systems, and computer program products for synchronizing state among load balancer components. Embodiments of the invention include load balancers using a consistent hashing algorithm to decide how new connections should be load balanced. Use of consistent hashing algorithm permits load balancers to work in a stateless manner in steady state. Load balancers start keeping flow state information (destination address for a given flow) about incoming packets when it is needed, i.e. such as, for example, when a change in destination host configuration is detected. State information is shared across load balancers in a deterministic way, which allows knowing which load balancer is authoritative (e.g., is the owner) for a given flow. Each load balancer can reach the authoritative load balancer to learn about a flow that cannot be determined locally.
    Type: Application
    Filed: November 18, 2014
    Publication date: March 5, 2015
    Inventors: Parveen Patel, Volodymyr Ivanov, Marios Zikos, Vladimir Petter, Vyacheslav Kuznetsov, David Allen Dion
  • Publication number: 20140359612
    Abstract: Embodiments provide a method and system for sharing storage among a plurality of virtual machines. Specifically, one or more embodiments are directed to sharing a virtual hard disk with various virtual machines in a virtual machine cluster. In embodiments, a command is sent from a virtual machine to a local parser. The parser prepares the command for transport over a file system protocol. The command is sent to a remote file server using the file system protocol. When the command is received by the file server, the file server unpacks the command, determines features about the command and converts the command to a format that executes the command on the virtual shared storage.
    Type: Application
    Filed: June 3, 2013
    Publication date: December 4, 2014
    Inventors: Andrea D'Amato, Vinod R. Shankar, Jake Oshins, Matthew David Kurjanowicz, Vladimir Petters, John A. Starks
  • Publication number: 20140185446
    Abstract: The present invention extends to methods, systems, and computer program products for synchronizing state among load balancer components. Embodiments of the invention include load balancers using a consistent hashing algorithm to decide how new connections should be load balanced. Use of consistent hashing algorithm permits load balancers to work in a stateless manner in steady state. Load balancers start keeping flow state information (destination address for a given flow) about incoming packets when it is needed, i.e. such as, for example, when a change in destination host configuration is detected. State information is shared across load balancers in a deterministic way, which allows knowing which load balancer is authoritative (e.g., is the owner) for a given flow. Each load balancer can reach the authoritative load balancer to learn about a flow that cannot be determined locally.
    Type: Application
    Filed: March 5, 2014
    Publication date: July 3, 2014
    Applicant: MICROSOFT CORPORATION
    Inventors: Parveen Patel, Volodymyr Ivanov, Marios Zikos, Vladimir Petter, Vyacheslav Kuznetsov, David Allen Dion
  • Patent number: 8755283
    Abstract: The present invention extends to methods, systems, and computer program products for synchronizing state among load balancer components. Embodiments of the invention include load balancers using a consistent hashing algorithm to decide how new connections should be load balanced. Use of consistent hashing algorithm permits load balancers to work in a stateless manner in steady state. Load balancers start keeping flow state information (destination address for a given flow) about incoming packets when it is needed, i.e. such as, for example, when a change in destination host configuration is detected. State information is shared across load balancers in a deterministic way, which allows knowing which load balancer is authoritative (e.g., is the owner) for a given flow. Each load balancer can reach the authoritative load balancer to learn about a flow that cannot be determined locally.
    Type: Grant
    Filed: December 17, 2010
    Date of Patent: June 17, 2014
    Assignee: Microsoft Corporation
    Inventors: Parveen Patel, Volodymyr Ivanov, Marios Zikos, Vladimir Petter, Vyacheslav Kuznetsov, David Allen Dion
  • Patent number: 8627431
    Abstract: Aspects of the subject matter described herein relate to a distributed network name. In aspects, computers of a cluster have components of a distributed network name service. The network name service has a leader and clones that are hosted on the computers of the cluster. The leader is responsible for updating a name server with network names and addresses of the computers. The leader is also responsible for configuring a security server that allows clients to securely access the computers. The network name service provides credentials to local security authorities of the computers so that a client that attempts to access a service of the computers can be authenticated.
    Type: Grant
    Filed: June 4, 2011
    Date of Patent: January 7, 2014
    Assignee: Microsoft Corporation
    Inventors: Sai Sudhir Anantha Padmanaban, Alan M. Warwick, Andrea D'Amato, Henry Anthuvan Aloysius, Vladimir Petter
  • Publication number: 20130159487
    Abstract: The movement of a Virtual IP (VIP) address from cluster node to cluster node is coordinated via a load balancer. All or a subset of the nodes in a load balancer cluster may be configured as possible hosts for the VIP. The load balancer directs VIP traffic to the Dedicated IP (DIP) address for the cluster node that responds affirmatively to periodic health probe messages. In this way, a VIP failover is executed when a first node stops responding to probe messages, and a second node starts to respond to the periodic health probe messages. In response to an affirmative probe response from a new node, the load balancer immediately directs the VIP traffic to the new node's DIP. The probe messages may be configured to identify which nodes are currently responding affirmatively to probes to assist the nodes in determining when to execute a failover.
    Type: Application
    Filed: March 9, 2012
    Publication date: June 20, 2013
    Applicant: MICROSOFT CORPORATION
    Inventors: Parveen Kumar Patel, David A. Dion, Corey Sanders, Santosh Balasubramanian, Deepak Bansal, Vladimir Petter, Daniel Brown Benediktson
  • Patent number: RE46309
    Abstract: Ones of the windows associated with a software process are identified in a screen layout on a local display of a sharer network node. On the sharer network node, an image of the identified windows as they are arranged in the screen layout and free of obscuration by any other windows in the screen layout is generated. The image is transmitted from the sharer network node to a viewer network node. Also, commands derived from input device events on sharer and viewer network nodes are received. The received commands are processed into a command sequence, which is passed to a shared process executing on the sharer network node. Windows associated with the shared process are presented on the sharer network node in accordance with the received command sequence. An image of the presented windows is generated and transmitted from the sharer network node to the viewer network node.
    Type: Grant
    Filed: March 23, 2015
    Date of Patent: February 14, 2017
    Assignee: Sococo, Inc.
    Inventors: Alexander Say Go, Vladimir Petter