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: 20180205665Abstract: 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: ApplicationFiled: March 12, 2018Publication date: July 19, 2018Inventors: Slava KUZNETSOV, Vinod R. SHANKAR, Andrea D'AMATO, Vladimir PETTER
-
Publication number: 20180198691Abstract: 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: ApplicationFiled: December 4, 2017Publication date: July 12, 2018Applicant: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: David Kruse, Qibo Zhu, David Dion, Vladimir Petter, Lokesh Srinivas Koppolu
-
Patent number: 9917790Abstract: 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: GrantFiled: July 31, 2014Date of Patent: March 13, 2018Assignee: Microsoft Technology Licensing, LLCInventors: Slava Kuznetsov, Vinod R. Shankar, Andrea D'Amato, Vladimir Petter
-
Publication number: 20180004560Abstract: 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: ApplicationFiled: June 30, 2016Publication date: January 4, 2018Applicant: Microsoft Technology Licensing, LLCInventors: Vinod R. Shankar, Vladimir Petter, Vyacheslav Kuznetsov
-
Patent number: 9847918Abstract: 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: GrantFiled: August 12, 2014Date of Patent: December 19, 2017Assignee: Microsoft Technology Licensing, LLCInventors: David Kruse, Qibo Zhu, David Dion, Vladimir Petter, Lokesh Srinivas Koppolu
-
Patent number: 9665432Abstract: 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: GrantFiled: August 7, 2014Date of Patent: May 30, 2017Assignee: Microsoft Technology Licensing, LLCInventors: David Kruse, Vladimir Petter, Lokesh Srinivas Koppolu, David Dion, Mathew George
-
Patent number: 9652469Abstract: 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: GrantFiled: June 4, 2011Date of Patent: May 16, 2017Assignee: Microsoft Technology Licensing, LLCInventors: Vyacheslav Kuznetsov, Andrea D'Amato, Alan Warwick, Vladimir Petter, Henry Aloysius
-
Publication number: 20170132066Abstract: 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: ApplicationFiled: January 25, 2017Publication date: May 11, 2017Applicant: Microsoft Technology Licensing, LLCInventors: David Kruse, Vladimir Petter, Lokesh Srinivas Koppolu, David Dion, Mathew George
-
Patent number: 9438520Abstract: 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: GrantFiled: November 18, 2014Date of Patent: September 6, 2016Assignee: Microsoft Technology Licensing, LLCInventors: Parveen Patel, Volodymyr Ivanov, Marios Zikos, Vladimir Petter, Vyacheslav Kuznetsov, David Allen Dion
-
Publication number: 20160050294Abstract: 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: ApplicationFiled: August 12, 2014Publication date: February 18, 2016Applicant: Microsoft CorporationInventors: David Kruse, Qibo Zhu, David Dion, Vladimir Petter, Lokesh Srinivas Koppolu
-
Publication number: 20160041882Abstract: 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: ApplicationFiled: August 7, 2014Publication date: February 11, 2016Applicant: Microsoft CorporationInventors: David Kruse, Vladimir Petter, Lokesh Srinivas Koppolu, David Dion, Mathew George
-
Publication number: 20160036720Abstract: 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: ApplicationFiled: July 31, 2014Publication date: February 4, 2016Inventors: Slava Kuznetsov, Vinod R. Shankar, Andrea D'Amato, Vladimir Petter
-
Publication number: 20150331873Abstract: 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: ApplicationFiled: July 27, 2015Publication date: November 19, 2015Applicant: Microsoft Technology Licensing, LLCInventors: Andrea D'Amato, Vinod R. Shankar, Jake Oshins, Matthew David Kurjanowicz, Vladimir Petters, John A. Starks
-
Publication number: 20150063115Abstract: 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: ApplicationFiled: November 18, 2014Publication date: March 5, 2015Inventors: Parveen Patel, Volodymyr Ivanov, Marios Zikos, Vladimir Petter, Vyacheslav Kuznetsov, David Allen Dion
-
Publication number: 20140359612Abstract: 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: ApplicationFiled: June 3, 2013Publication date: December 4, 2014Inventors: Andrea D'Amato, Vinod R. Shankar, Jake Oshins, Matthew David Kurjanowicz, Vladimir Petters, John A. Starks
-
Publication number: 20140185446Abstract: 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: ApplicationFiled: March 5, 2014Publication date: July 3, 2014Applicant: MICROSOFT CORPORATIONInventors: Parveen Patel, Volodymyr Ivanov, Marios Zikos, Vladimir Petter, Vyacheslav Kuznetsov, David Allen Dion
-
Patent number: 8755283Abstract: 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: GrantFiled: December 17, 2010Date of Patent: June 17, 2014Assignee: Microsoft CorporationInventors: Parveen Patel, Volodymyr Ivanov, Marios Zikos, Vladimir Petter, Vyacheslav Kuznetsov, David Allen Dion
-
Patent number: 8627431Abstract: 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: GrantFiled: June 4, 2011Date of Patent: January 7, 2014Assignee: Microsoft CorporationInventors: Sai Sudhir Anantha Padmanaban, Alan M. Warwick, Andrea D'Amato, Henry Anthuvan Aloysius, Vladimir Petter
-
Publication number: 20130159487Abstract: 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: ApplicationFiled: March 9, 2012Publication date: June 20, 2013Applicant: MICROSOFT CORPORATIONInventors: Parveen Kumar Patel, David A. Dion, Corey Sanders, Santosh Balasubramanian, Deepak Bansal, Vladimir Petter, Daniel Brown Benediktson
-
Patent number: RE46309Abstract: 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: GrantFiled: March 23, 2015Date of Patent: February 14, 2017Assignee: Sococo, Inc.Inventors: Alexander Say Go, Vladimir Petter