Patents by Inventor Parveen Kumar Patel

Parveen Kumar Patel 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: 11327905
    Abstract: A computing device requests access to an application object from a remote storage system in order to locally execute application functionality without hosting application resources. An accessed object is associated with an intent in the storage system and locked. Locking an object in combination with an intent prevents computing devices that are not performing the intent from accessing the object. An intent defines one or more operations to be performed with the requested object, which are serialized as intent steps and stored in the storage system. Upon executing an intent step, the computing device stores a log entry at the storage system signifying the step's completion. A locked object remains locked until the log entries indicate every intent step as complete. Different computing devices can unlock a locked object by executing any incomplete steps of an intent associated with the locked object.
    Type: Grant
    Filed: May 19, 2020
    Date of Patent: May 10, 2022
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Lidong Zhou, Jacob R. Lorch, Jinglei Ren, Parveen Kumar Patel, Srinath Setty
  • Patent number: 10936576
    Abstract: A storage account is replicated across multiple data centers so as to withstand an outage of the storage account. A front end and applications use data stored in the storage accounts to manage resources of a cloud computing system. A client includes an interface used by the front end to access the storage accounts, in addition to an interface that is used by the applications to access the storage accounts. Other features, which ensure that a read operation survives even if a head replica or a tail replica is down, include reading from a head replica instead of from a tail replica, a two phase prepare-commit operation to propagate changes from head to tail replicas, and provisioning a back end repair service if a failure occurs in the middle of the prepare-commit operation.
    Type: Grant
    Filed: March 8, 2017
    Date of Patent: March 2, 2021
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Parveen Kumar Patel, Kamel Sbaia, Yunus Mohammed, Srinath Setty, Jun Wang
  • Publication number: 20200301855
    Abstract: A computing device requests access to an application object from a remote storage system in order to locally execute application functionality without hosting application resources. An accessed object is associated with an intent in the storage system and locked. Locking an object in combination with an intent prevents computing devices that are not performing the intent from accessing the object. An intent defines one or more operations to be performed with the requested object, which are serialized as intent steps and stored in the storage system. Upon executing an intent step, the computing device stores a log entry at the storage system signifying the step's completion. A locked object remains locked until the log entries indicate every intent step as complete. Different computing devices can unlock a locked object by executing any incomplete steps of an intent associated with the locked object.
    Type: Application
    Filed: May 19, 2020
    Publication date: September 24, 2020
    Inventors: Lidong Zhou, Jacob R. Lorch, Jinglei Ren, Parveen Kumar Patel, Srinath Setty
  • Patent number: 10700931
    Abstract: Various embodiments of methods and systems for network infrastructure configuration based on network device configuration templates are provided. A network device configuration template is received where the network device configuration template corresponds to network device configuration data based on template elements. Template elements include variable placeholders, versions, Stock Keeping Units (SKUs), firmware, and target devices identified in the network device configuration template. Values for the template elements are referenced from a dataset storage component. The network device configuration data are classified into different classification units. The network device configuration data are merged with the network device configuration template that programmatically defines configuration of network devices. A network device configuration instance is generated based on evaluating the template elements and replacing template elements with values from the dataset storage.
    Type: Grant
    Filed: April 7, 2015
    Date of Patent: June 30, 2020
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Sandeep Koushik Sheshadri, Parveen Kumar Patel, Varun Venkatesh, Nisheeth Srivastava
  • Patent number: 10691622
    Abstract: A computing device requests access to an application object from a remote storage system in order to locally execute application functionality without hosting application resources. An accessed object is associated with an intent in the storage system and locked. Locking an object in combination with an intent prevents computing devices that are not performing the intent from accessing the object. An intent defines one or more operations to be performed with the requested object, which are serialized as intent steps and stored in the storage system. Upon executing an intent step, the computing device stores a log entry at the storage system signifying the step's completion. A locked object remains locked until the log entries indicate every intent step as complete. Different computing devices can unlock a locked object by executing any incomplete steps of an intent associated with the locked object.
    Type: Grant
    Filed: September 19, 2017
    Date of Patent: June 23, 2020
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Lidong Zhou, Jacob R. Lorch, Jinglei Ren, Parveen Kumar Patel, Srinath Setty
  • Publication number: 20200089801
    Abstract: Methods and devices for data migration may include initially processing requests from a plurality of geographic regions for a cloud service using a global back-end service with a global storage account storing data. The methods and devices may include establishing a region back-end service with a region storage account in at least one geographic region of the plurality of geographic regions to support the cloud service for users in the at least one geographic region, wherein the region back-end service includes a region RTable. The methods and devices may include receiving, by the region back-end service, user requests for the cloud service from one or more users in the at least one geographic region and accessing, via the region RTable, one or more rows of data associated with the at least one geographic region from the global storage account in response to the user requests.
    Type: Application
    Filed: September 19, 2018
    Publication date: March 19, 2020
    Inventors: Parveen Kumar Patel, Kamel Sbaia, Mohit Garg, Abhishek Agarwal, Bikash Kumar Agrawala, Abhishek Kumar Tiwari
  • Publication number: 20180260428
    Abstract: A storage account is replicated across multiple data centers so as to withstand an outage of the storage account. A front end and applications use data stored in the storage accounts to manage resources of a cloud computing system. A client includes an interface used by the front end to access the storage accounts, in addition to an interface that is used by the applications to access the storage accounts. Other features, which ensure that a read operation survives even if a head replica or a tail replica is down, include reading from a head replica instead of from a tail replica, a two phase prepare-commit operation to propagate changes from head to tail replicas, and provisioning a back end repair service if a failure occurs in the middle of the prepare-commit operation.
    Type: Application
    Filed: March 8, 2017
    Publication date: September 13, 2018
    Inventors: Parveen Kumar PATEL, Kamel Sbaia, Yunus Mohammed, Srinath Setty, Jun Wang
  • Patent number: 10075304
    Abstract: A multi-gateway virtual machine that operates multiple gateways. Each gateway acts as an interface between a virtual network and entities outside of the virtual network. Each virtual network has its own address space, which may be overlapping with the address space of other virtual networks, even if the gateways of those virtual networks are operating on the same virtual machine. Accordingly, the principles described herein relate to a virtual machine that can operate thereon multiple gateways, and thus to a multi-gateway virtual machine that services multiple virtual networks.
    Type: Grant
    Filed: October 30, 2015
    Date of Patent: September 11, 2018
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Parveen Kumar Patel, Yiqun Cai, Himanshu Raj
  • Publication number: 20180089110
    Abstract: A computing device requests access to an application object from a remote storage system in order to locally execute application functionality without hosting application resources. An accessed object is associated with an intent in the storage system and locked. Locking an object in combination with an intent prevents computing devices that are not performing the intent from accessing the object. An intent defines one or more operations to be performed with the requested object, which are serialized as intent steps and stored in the storage system. Upon executing an intent step, the computing device stores a log entry at the storage system signifying the step's completion. A locked object remains locked until the log entries indicate every intent step as complete. Different computing devices can unlock a locked object by executing any incomplete steps of an intent associated with the locked object.
    Type: Application
    Filed: September 19, 2017
    Publication date: March 29, 2018
    Applicant: Microsoft Technology Licensing, LLC
    Inventors: Lidong Zhou, Jacob R. Lorch, Jinglei Ren, Parveen Kumar Patel, Srinath Setty
  • Patent number: 9826033
    Abstract: Redirecting message flows to bypass load balancers. A destination intermediary receives a source-side message that includes a virtual address of a load balancer as a destination, and that is augmented to include a network address of a destination machine as a destination. The destination intermediary determines that a source intermediary should address subsequent network messages that originate from a source machine and that are associated with the same multi-message flow to the destination machine while bypassing the load balancer. The destination intermediary modifies the source-side message so the destination for the source-side message addresses the destination machine, and passes the modified source-side message to the destination machine.
    Type: Grant
    Filed: December 17, 2015
    Date of Patent: November 21, 2017
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Hemant Kumar, Parveen Kumar Patel, Deepak Bansal
  • Patent number: 9742692
    Abstract: The obtaining of a lease on a resource in a circumstance in which multiple lease servers are capable of granting a lease to the resource. A computing entity attempts to obtain the lease on the resource by causing a lease request to be sent to each of at least most (and perhaps all) of the lease servers. In response, the computing entity receives one or more responses to the lease requests. If the computing entity receives grants of a lease from a majority of the lease servers that are capable of granting a lease to the resource, then it is determined that the computing entity acquired a lease on the resource. On the other hand, if the computing entity receives grants of a lease from less than a majority of the lease servers, it is determined that the computing entity failed to acquire the lease on the resource.
    Type: Grant
    Filed: June 23, 2014
    Date of Patent: August 22, 2017
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Ashwin Murthy, Parveen Kumar Patel
  • Patent number: 9667543
    Abstract: Embodiments are directed to routing requests with different protocols to the same destination. In one scenario, a computer system receives a request that uses a specified protocol. The request includes a request source identifier and a request destination identifier. The computer system identifies, based on both the request source identifier and the request destination identifier, a destination to send the request to and generates a routing entry for the request that indicates which destination the first request was sent to. The computer system receives another request that uses a different protocol. This request includes a request source identifier and a request destination identifier of its own. The computer system determines that the request source identifier and request destination identifier of the subsequent request match those of the generated routing entry, and routes the subsequent request to the destination indicated in the routing entry.
    Type: Grant
    Filed: August 8, 2014
    Date of Patent: May 30, 2017
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Nelamangala Krishnaswamy Srinivas, Narayanan Annamalai, Parveen Kumar Patel, Marios Zikos, Narasimhan Agrahara Venkataramaiah
  • Publication number: 20170126430
    Abstract: A multi-gateway virtual machine that operates multiple gateways. Each gateway acts as an interface between a virtual network and entities outside of the virtual network. Each virtual network has its own address space, which may be overlapping with the address space of other virtual networks, even if the gateways of those virtual networks are operating on the same virtual machine. Accordingly, the principles described herein relate to a virtual machine that can operate thereon multiple gateways, and thus to a multi-gateway virtual machine that services multiple virtual networks.
    Type: Application
    Filed: October 30, 2015
    Publication date: May 4, 2017
    Inventors: Parveen Kumar Patel, Yiqun Cai, Himanshu Raj
  • Patent number: 9354941
    Abstract: When a load balancer detects that a virtual address is associated with a single destination address, the load balancer sets a flag to distinguish the virtual address from virtual addresses that are associated with a plurality of destination addresses. The load balancer instructs the router to bypass the load balancer for network packets that are addressed to the virtual address, and refrains from storing subsequent flow state for the virtual address. When the virtual address is to be scaled up with an additional destination address, the load balancer sets a flag to distinguish the virtual address from virtual addresses that are associated with a single destination addresses. The load balancer instructs the router to route network packets that are addressed to the virtual address through the load balancer, instead of bypassing the load balancer, and starts storing flow state for the virtual address.
    Type: Grant
    Filed: July 21, 2015
    Date of Patent: May 31, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Ashwin Murthy, Parveen Kumar Patel, Deepak Bansal, Marios Zikos
  • Publication number: 20160105499
    Abstract: Redirecting message flows to bypass load balancers. A destination intermediary receives a source-side message that includes a virtual address of a load balancer as a destination, and that is augmented to include a network address of a destination machine as a destination. The destination intermediary determines that a source intermediary should address subsequent network messages that originate from a source machine and that are associated with the same multi-message flow to the destination machine while bypassing the load balancer. The destination intermediary modifies the source-side message so the destination for the source-side message addresses the source machine, and passes the modified source-side message to the destination machine.
    Type: Application
    Filed: December 17, 2015
    Publication date: April 14, 2016
    Inventors: Hemant Kumar, Parveen Kumar Patel, Deepak Bansal
  • Publication number: 20160050116
    Abstract: Various embodiments of methods and systems for network infrastructure configuration based on network device configuration templates are provided. A network device configuration template is received where the network device configuration template corresponds to network device configuration data based on template elements. Template elements include variable placeholders, versions, Stock Keeping Units (SKUs), firmware, and target devices identified in the network device configuration template. Values for the template elements are referenced from a dataset storage component. The network device configuration data are classified into different classification units. The network device configuration data are merged with the network device configuration template that programmatically defines configuration of network devices. A network device configuration instance is generated based on evaluating the template elements and replacing template elements with values from the dataset storage.
    Type: Application
    Filed: April 7, 2015
    Publication date: February 18, 2016
    Inventors: SANDEEP KOUSHIK SHESHADRI, PARVEEN KUMAR PATEL, VARUN VENKATESH, NISHEETH SRIVASTAVA
  • Publication number: 20160043951
    Abstract: Embodiments are directed to routing requests with different protocols to the same destination. In one scenario, a computer system receives a request that uses a specified protocol. The request includes a request source identifier and a request destination identifier. The computer system identifies, based on both the request source identifier and the request destination identifier, a destination to send the request to and generates a routing entry for the request that indicates which destination the first request was sent to. The computer system receives another request that uses a different protocol. This request includes a request source identifier and a request destination identifier of its own. The computer system determines that the request source identifier and request destination identifier of the subsequent request match those of the generated routing entry, and routes the subsequent request to the destination indicated in the routing entry.
    Type: Application
    Filed: August 8, 2014
    Publication date: February 11, 2016
    Inventors: Nelamangala Krishnaswamy Srinivas, Narayanan Annamalai, Parveen Kumar Patel, Marios Zikos, Narasimhan Agrahara Venkataramaiah
  • Publication number: 20160026505
    Abstract: When a load balancer detects that a virtual address is associated with a single destination address, the load balancer sets a flag to distinguish the virtual address from virtual addresses that are associated with a plurality of destination addresses. The load balancer instructs the router to bypass the load balancer for network packets that are addressed to the virtual address, and refrains from storing subsequent flow state for the virtual address. When the virtual address is to be scaled up with an additional destination address, the load balancer sets a flag to distinguish the virtual address from virtual addresses that are associated with a single destination addresses. The load balancer instructs the router to route network packets that are addressed to the virtual address through the load balancer, instead of bypassing the load balancer, and starts storing flow state for the virtual address.
    Type: Application
    Filed: July 21, 2015
    Publication date: January 28, 2016
    Inventors: Ashwin Murthy, Parveen Kumar Patel, Deepak Bansal, Marios Zikos
  • Patent number: 9246998
    Abstract: Bypassing a load balancer that initially appeared in a multi-message flow from a source machine served by a source intermediary and a target machine served on a target intermediary. One or more original network messages (and perhaps just the first) of the flow arrive from the source intermediary at the load balancer, which selects which machine is to be a destination machine, and it turns out selects the destination machine serviced by the destination intermediary. In response to receiving this message, the destination intermediary instructs the source intermediary to transmit subsequent messages in the flow in a manner that bypasses the load balancer. To facilitate this, the source intermediary may modify addressing of subsequent flow messages from the source machine such that they are rerouted to the destination machine without addressing the load balancer.
    Type: Grant
    Filed: October 16, 2012
    Date of Patent: January 26, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Hemant Kumar, Parveen Kumar Patel, Deepak Bansal
  • Publication number: 20150372946
    Abstract: The obtaining of a lease on a resource in a circumstance in which multiple lease servers are capable of granting a lease to the resource. A computing entity attempts to obtain the lease on the resource by causing a lease request to be sent to each of at least most (and perhaps all) of the lease servers. In response, the computing entity receives one or more responses to the lease requests. If the computing entity receives grants of a lease from a majority of the lease servers that are capable of granting a lease to the resource, then it is determined that the computing entity acquired a lease on the resource. On the other hand, if the computing entity receives grants of a lease from less than a majority of the lease servers, it is determined that the computing entity failed to acquire the lease on the resource.
    Type: Application
    Filed: June 23, 2014
    Publication date: December 24, 2015
    Inventors: Ashwin Murthy, Parveen Kumar Patel