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: 11327905Abstract: 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: GrantFiled: May 19, 2020Date of Patent: May 10, 2022Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Lidong Zhou, Jacob R. Lorch, Jinglei Ren, Parveen Kumar Patel, Srinath Setty
-
Patent number: 10936576Abstract: 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: GrantFiled: March 8, 2017Date of Patent: March 2, 2021Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Parveen Kumar Patel, Kamel Sbaia, Yunus Mohammed, Srinath Setty, Jun Wang
-
Publication number: 20200301855Abstract: 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: ApplicationFiled: May 19, 2020Publication date: September 24, 2020Inventors: Lidong Zhou, Jacob R. Lorch, Jinglei Ren, Parveen Kumar Patel, Srinath Setty
-
Patent number: 10700931Abstract: 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: GrantFiled: April 7, 2015Date of Patent: June 30, 2020Assignee: Microsoft Technology Licensing, LLCInventors: Sandeep Koushik Sheshadri, Parveen Kumar Patel, Varun Venkatesh, Nisheeth Srivastava
-
Patent number: 10691622Abstract: 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: GrantFiled: September 19, 2017Date of Patent: June 23, 2020Assignee: Microsoft Technology Licensing, LLCInventors: Lidong Zhou, Jacob R. Lorch, Jinglei Ren, Parveen Kumar Patel, Srinath Setty
-
Publication number: 20200089801Abstract: 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: ApplicationFiled: September 19, 2018Publication date: March 19, 2020Inventors: Parveen Kumar Patel, Kamel Sbaia, Mohit Garg, Abhishek Agarwal, Bikash Kumar Agrawala, Abhishek Kumar Tiwari
-
Publication number: 20180260428Abstract: 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: ApplicationFiled: March 8, 2017Publication date: September 13, 2018Inventors: Parveen Kumar PATEL, Kamel Sbaia, Yunus Mohammed, Srinath Setty, Jun Wang
-
Patent number: 10075304Abstract: 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: GrantFiled: October 30, 2015Date of Patent: September 11, 2018Assignee: Microsoft Technology Licensing, LLCInventors: Parveen Kumar Patel, Yiqun Cai, Himanshu Raj
-
Publication number: 20180089110Abstract: 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: ApplicationFiled: September 19, 2017Publication date: March 29, 2018Applicant: Microsoft Technology Licensing, LLCInventors: Lidong Zhou, Jacob R. Lorch, Jinglei Ren, Parveen Kumar Patel, Srinath Setty
-
Patent number: 9826033Abstract: 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: GrantFiled: December 17, 2015Date of Patent: November 21, 2017Assignee: Microsoft Technology Licensing, LLCInventors: Hemant Kumar, Parveen Kumar Patel, Deepak Bansal
-
Patent number: 9742692Abstract: 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: GrantFiled: June 23, 2014Date of Patent: August 22, 2017Assignee: Microsoft Technology Licensing, LLCInventors: Ashwin Murthy, Parveen Kumar Patel
-
Patent number: 9667543Abstract: 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: GrantFiled: August 8, 2014Date of Patent: May 30, 2017Assignee: Microsoft Technology Licensing, LLCInventors: Nelamangala Krishnaswamy Srinivas, Narayanan Annamalai, Parveen Kumar Patel, Marios Zikos, Narasimhan Agrahara Venkataramaiah
-
Publication number: 20170126430Abstract: 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: ApplicationFiled: October 30, 2015Publication date: May 4, 2017Inventors: Parveen Kumar Patel, Yiqun Cai, Himanshu Raj
-
Patent number: 9354941Abstract: 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: GrantFiled: July 21, 2015Date of Patent: May 31, 2016Assignee: Microsoft Technology Licensing, LLCInventors: Ashwin Murthy, Parveen Kumar Patel, Deepak Bansal, Marios Zikos
-
Publication number: 20160105499Abstract: 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: ApplicationFiled: December 17, 2015Publication date: April 14, 2016Inventors: Hemant Kumar, Parveen Kumar Patel, Deepak Bansal
-
Publication number: 20160050116Abstract: 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: ApplicationFiled: April 7, 2015Publication date: February 18, 2016Inventors: SANDEEP KOUSHIK SHESHADRI, PARVEEN KUMAR PATEL, VARUN VENKATESH, NISHEETH SRIVASTAVA
-
Publication number: 20160043951Abstract: 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: ApplicationFiled: August 8, 2014Publication date: February 11, 2016Inventors: Nelamangala Krishnaswamy Srinivas, Narayanan Annamalai, Parveen Kumar Patel, Marios Zikos, Narasimhan Agrahara Venkataramaiah
-
Publication number: 20160026505Abstract: 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: ApplicationFiled: July 21, 2015Publication date: January 28, 2016Inventors: Ashwin Murthy, Parveen Kumar Patel, Deepak Bansal, Marios Zikos
-
Patent number: 9246998Abstract: 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: GrantFiled: October 16, 2012Date of Patent: January 26, 2016Assignee: Microsoft Technology Licensing, LLCInventors: Hemant Kumar, Parveen Kumar Patel, Deepak Bansal
-
Publication number: 20150372946Abstract: 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: ApplicationFiled: June 23, 2014Publication date: December 24, 2015Inventors: Ashwin Murthy, Parveen Kumar Patel