Patents by Inventor Vinod R. Shankar

Vinod R. Shankar 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).

  • Patent number: 9641614
    Abstract: Embodiments provide a method and system for enabling access to a storage device. Specifically, a node may request admittance to a cluster that has read and write access to a storage device. The node seeking access to the storage device must be first be approved by other nodes in the cluster. As part of the request, the node seeking access to the storage device sends a registration key to a storage device. Upon expiration of a registration timer, the node seeking access to the storage device receives a registration table from the storage device and determines whether its registration key is stored in the registration table. If the registration key is stored in the registration table the node has been accepted in the cluster and as a result, has been granted read and write access to the storage device.
    Type: Grant
    Filed: May 29, 2013
    Date of Patent: May 2, 2017
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Vyacheslav Kuznetsov, Vinod R. Shankar, Andrea D'Amato, David Allen Dion
  • Patent number: 9430333
    Abstract: The targeted recovery of application-specific data corresponding to an application without performing recovery of the entire volume. The recovery is initiated by beginning to copy the prior state of the content of an application-specific data container from a prior snapshot to the application-specific data container in an operation volume accessible by the application. However, while the content of the application-specific data container is still being copied from the snapshot to the application-specific data container, the application is still permitted to perform read and write operations on the application-specific data container. Thus, the application-specific data container appears to the application to be fully accessible even though recovery of the content of the application-specific data container is still continuing in the background.
    Type: Grant
    Filed: March 14, 2013
    Date of Patent: August 30, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Andrea D'Amato, Vinod R. Shankar
  • 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: 20140359054
    Abstract: Embodiments provide a method and system for enabling access to a storage device. Specifically, a node may request admittance to a cluster that has read and write access to a storage device. The node seeking access to the storage device must be first be approved by other nodes in the cluster. As part of the request, the node seeking access to the storage device sends a registration key to a storage device. Upon expiration of a registration timer, the node seeking access to the storage device receives a registration table from the storage device and determines whether its registration key is stored in the registration table. If the registration key is stored in the registration table the node has been accepted in the cluster and as a result, has been granted read and write access to the storage device.
    Type: Application
    Filed: May 29, 2013
    Publication date: December 4, 2014
    Applicant: Microsoft Corporation
    Inventors: Vyacheslav Kuznetsov, Vinod R. Shankar, Andrea D'Amato, 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
  • Patent number: 8886609
    Abstract: Implementing point in time back-up. A method that may be practiced in a distributed computing environment. The distributed computing environment includes a number of computing system nodes. The method includes at a first node in the computing environment, taking a snapshot of a cluster volume. The cluster volume stores data items (e.g. files/blocks). Taking a snapshot includes marking a point in time for data items in the volume. The method further includes receiving a notification that a different node in the computing environment than the first node, has determined to change a data item in the cluster volume at a point after the marked point in time from an old version of the data item to a new version of the data item. The method further includes at the first node, saving the old version of the data item prior to modification.
    Type: Grant
    Filed: December 17, 2010
    Date of Patent: November 11, 2014
    Assignee: Microsoft Corporation
    Inventors: Joydeep Buragohain, Andrea D'Amato, Vinod R. Shankar
  • Publication number: 20140281709
    Abstract: The targeted recovery of application-specific data corresponding to an application without performing recovery of the entire volume. The recovery is initiated by beginning to copy the prior state of the content of an application-specific data container from a prior snapshot to the application-specific data container in an operation volume accessible by the application. However, while the content of the application-specific data container is still being copied from the snapshot to the application-specific data container, the application is still permitted to perform read and write operations on the application-specific data container. Thus, the application-specific data container appears to the application to be fully accessible even though recovery of the content of the application-specific data container is still continuing in the background.
    Type: Application
    Filed: March 14, 2013
    Publication date: September 18, 2014
    Applicant: MICROSOFT CORPORATION
    Inventors: Andrea D'Amato, Vinod R. Shankar
  • Patent number: 8732346
    Abstract: Coordinating methods of I/O access to a shared data store. A method includes at a node, in a distributed system, performing one or more I/O operations on the shared data store using direct I/O access on a virtual data container. Direct I/O access includes performing I/O operations directly from the node to the shared data store including not having an owner node perform the I/O operation on the shared data store on the node's behalf. The owner node is a different node than the node doing the direct I/O operation. The owner node accesses the shared data store through a local data container. The method further includes determining that one or more subsequent I/O operations should be performed using redirected I/O access, where I/O operations are directed through a centralized node. The method further includes indicating to nodes in the distributed system to switch to redirected I/O access method.
    Type: Grant
    Filed: December 17, 2010
    Date of Patent: May 20, 2014
    Assignee: Microsoft Corporation
    Inventors: Andrea D'Amato, Vinod R. Shankar, Alan Warwick
  • Publication number: 20130346532
    Abstract: The present invention minimizes the cost of establishing a cluster that utilizes shared storage by creating a storage namespace within the cluster that makes each storage device, which is physically connected to any of the nodes in the cluster, appear to be physically connected to all nodes in the cluster. A virtual host bus adapter (VHBA) is executed on each node, and is used to create the storage namespace. Each VHBA determines which storage devices are physically connected to the node on which the VHBA executes, as well as each storage device that is physically connected to each of the other nodes. All storage devices determined in this manner are aggregated into the storage namespace which is then presented to the operating system on each node so as to provide the illusion that all storage devices in the storage namespace are physically connected to each node.
    Type: Application
    Filed: June 21, 2012
    Publication date: December 26, 2013
    Applicant: MICROSOFT CORPORATION
    Inventors: Andrea D'Amato, Vinod R. Shankar
  • Publication number: 20130219125
    Abstract: The present invention extends to methods, systems, and computer program products for implementing a cache using multiple page replacement algorithms. An exemplary cache can include two logical portions where the first portion implements the least recently used (LRU) algorithm and the second portion implements the least recently used two (LRU2) algorithm to perform page replacement within the respective portion. By implementing multiple algorithms, a more efficient cache can be implemented where the pages most likely to be accessed again are retained in the cache. Multiple page replacement algorithms can be used in any cache including an operating system cache for caching pages accessed via buffered I/O, as well as a cache for caching pages accessed via unbuffered I/O such as accesses to virtual disks made by virtual machines.
    Type: Application
    Filed: February 21, 2012
    Publication date: August 22, 2013
    Applicant: MICROSOFT CORPORATION
    Inventors: Norbert P. Kusters, Andrea D'Amato, Vinod R. Shankar
  • Patent number: 8516210
    Abstract: The present invention extends to methods, systems, and computer program products for creating a snapshot of a shared volume that is application consistent across various nodes of a cluster. The invention enables a snapshot of a volume to be initiated on one node which causes all applications in the cluster that use the volume to persist their data to the volume prior to the snapshot being created. Accordingly, the snapshot is application consistent to all applications in the cluster that use the volume. The invention also enables applications on various nodes to perform post snapshot processing on the created snapshot. The invention can be used in an existing backup system that is not cluster aware to enable the existing backup system to create application consistent snapshots of a volume shared by applications across multiple nodes of a cluster.
    Type: Grant
    Filed: December 21, 2011
    Date of Patent: August 20, 2013
    Assignee: Microsoft Corporation
    Inventors: Joydeep Buragohain, Vinod R. Shankar, Andrea D'Amato
  • Publication number: 20130166863
    Abstract: The present invention extends to methods, systems, and computer program products for creating a snapshot of a shared volume that is application consistent across various nodes of a cluster. The invention enables a snapshot of a volume to be initiated on one node which causes all applications in the cluster that use the volume to persist their data to the volume prior to the snapshot being created. Accordingly, the snapshot is application consistent to all applications in the cluster that use the volume. The invention also enables applications on various nodes to perform post snapshot processing on the created snapshot. The invention can be used in an existing backup system that is not cluster aware to enable the existing backup system to create application consistent snapshots of a volume shared by applications across multiple nodes of a cluster.
    Type: Application
    Filed: December 21, 2011
    Publication date: June 27, 2013
    Applicant: Microsoft Corporation
    Inventors: Joydeep Buragohain, Vinod R. Shankar, Andrea D'Amato
  • Patent number: 8463762
    Abstract: The present invention extends to methods, systems, and computer program products for sharing volumes between clustered nodes. Embodiments of the invention include a Clustered Shared Volume File System (CsvFs) that appears to clients as a local file system. The CsvFs communicates to a node where a disk is mounted to coordinate access to files on the disks. CsvFs uses Opportunistic Locks (oplocks) to decide when direct access to a volume is safe. CsvFs can be extended with oplock upgrade mechanisms that allow a coordinating node to tell CsvFs when it is safe to attempt to upgrade oplock. CsvFs also uses a transitivity property of oplocks to be able to grant (delegate) oplocks to clients that are on top of CsvFs.
    Type: Grant
    Filed: December 17, 2010
    Date of Patent: June 11, 2013
    Assignee: Microsoft Corporation
    Inventors: Vladimir Petter, Vinod R. Shankar, Andrea D'Amato, Rajsekhar Das
  • Patent number: 8341198
    Abstract: Volumes of a file system environment are taken offline when they require repair for confirmed corruptions. Applications utilize handles, both real and, in environments where proxy file systems are overlaid upon the real file system(s), proxy, to access objects stored on volumes of a file system environment. Real handles are closed when the volume storing the objects for the real handles is taken offline, terminating applications' access to the volume's objects. New real handles are automatically generated for those volume objects that had a real handle prior to the volume going offline for corruption correction processing and which were not altered during the corruption correction processing. Applications accessing these objects can continue to use their original proxy handle, which is subsequently correlated with an automatically established new real handle, to access the objects.
    Type: Grant
    Filed: September 23, 2011
    Date of Patent: December 25, 2012
    Assignee: Microsoft Corporation
    Inventors: Sarosh C. Havewala, Alan M. Warwick, Kiran Kumar G. Bangalore, Vinod R. Shankar
  • Publication number: 20120158681
    Abstract: The present invention extends to methods, systems, and computer program products for sharing volumes between clustered nodes. Embodiments of the invention include a Clustered Shared Volume File System (CsvFs) that appears to clients as a local file system. The CsvFs communicates to a node where a disk is mounted to coordinate access to files on the disks. CsvFs uses Opportunistic Locks (oplocks) to decide when direct access to a volume is safe. CsvFs can be extended with oplock upgrade mechanisms that allow a coordinating node to tell CsvFs when it is safe to attempt to upgrade oplock. CsvFs also uses a transitivity property of oplocks to be able to grant (delegate) oplocks to clients that are on top of CsvFs.
    Type: Application
    Filed: December 17, 2010
    Publication date: June 21, 2012
    Applicant: Microsoft Corporation
    Inventors: Vladimir Petter, Vinod R. Shankar, Andrea D'Amato, Rajsekhar Das
  • Publication number: 20120158662
    Abstract: Implementing point in time back-up. A method that may be practiced in a distributed computing environment. The distributed computing environment includes a number of computing system nodes. The method includes at a first node in the computing environment, taking a snapshot of a cluster volume. The cluster volume stores data items (e.g. files/blocks). Taking a snapshot includes marking a point in time for data items in the volume. The method further includes receiving a notification that a different node in the computing environment than the first node, has determined to change a data item in the cluster volume at a point after the marked point in time from an old version of the data item to a new version of the data item. The method further includes at the first node, saving the old version of the data item prior to modification.
    Type: Application
    Filed: December 17, 2010
    Publication date: June 21, 2012
    Applicant: Microsoft Corporation
    Inventors: Joydeep Buragohain, Andrea D'Amato, Vinod R. Shankar
  • Publication number: 20120159005
    Abstract: Coordinating methods of I/O access to a shared data store. A method includes at a node, in a distributed system, performing one or more I/O operations on the shared data store using direct I/O access on a virtual data container. Direct I/O access includes performing I/O operations directly from the node to the shared data store including not having an owner node perform the I/O operation on the shared data store on the node's behalf. The owner node is a different node than the node doing the direct I/O operation. The owner node accesses the shared data store through a local data container. The method further includes determining that one or more subsequent I/O operations should be performed using redirected I/O access, where I/O operations are directed through a centralized node. The method further includes indicating to nodes in the distributed system to switch to redirected I/O access method.
    Type: Application
    Filed: December 17, 2010
    Publication date: June 21, 2012
    Applicant: Microsoft Corporation
    Inventors: Andrea D'Amato, Vinod R. Shankar, Alan Warwick
  • Patent number: 8060542
    Abstract: A server instance, which is a collection of LUNs, containing an operating system, any applications and data storage. A processing element is the physical hardware. The combination is a server as normally understood. Templates are used to define server instances and server types to simplify deploying a server instance to a processing element. A graphical user interface provides the templates where the particular storage groups are identified and then server instances are created from lists of operating systems, applications, and available storage. The management service processor is a PXE server and provides the necessary software to identify the components of the processing element and correlate between the processing element and a server instance. The management service processor then automatically provides software to the processing element to allow it correctly boot. The management service processor manages the interconnection of the processing element and the relevant LUNs.
    Type: Grant
    Filed: July 7, 2009
    Date of Patent: November 15, 2011
    Assignee: Brocade Communications Systems, Inc.
    Inventors: Vinod R Shankar, Peter H. Benoit, Xinhong (Henry) Zhang, Eric Lindvall
  • Patent number: 8010513
    Abstract: A server instance, which is a collection of LUNs, containing an operating system, any applications and data storage. A processing element is the physical hardware. The combination is a server as normally understood. Templates are used to define server instances and server types to simplify deploying a server instance to a processing element. A graphical user interface provides the templates where the particular storage groups are identified and then server instances are created from lists of operating systems, applications, and available storage. The management service processor is a PXE server and provides the necessary software to identify the components of the processing element and correlate between the processing element and a server instance. The management service processor then automatically provides software to the processing element to allow it correctly boot. The management service processor manages the interconnection of the processing element and the relevant LUNs.
    Type: Grant
    Filed: May 28, 2010
    Date of Patent: August 30, 2011
    Assignee: Brocade Communications Systems, Inc.
    Inventors: Xinhong (Henry) Zhang, Peter H. Benoit, Vinod R. Shankar, Eric Lindvall