Patents by Inventor Parveen Patel

Parveen 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).

  • Publication number: 20160149813
    Abstract: A system that includes multiple hosts, each running a plurality of virtual machines. The system may be, for example, a cloud computing environment in which there are services and a service coordination system that communicates with the hosts and with the services. The services include a middleware management service that is configured to maintain per-tenant middleware policy for each of multiple tenants. The middleware management service causes the middleware policy to be applied to network traffic by directing network traffic to a middleware enforcement mechanism. This middleware policy is per-tenant in that it depends on an identity of a tenant.
    Type: Application
    Filed: February 2, 2016
    Publication date: May 26, 2016
    Inventors: Deepak Bansal, Parveen Patel, Albert Greenberg
  • Patent number: 9264360
    Abstract: A system that includes multiple hosts, each running a plurality of virtual machines. The system may be, for example, a cloud computing environment in which there are services and a service coordination system that communicates with the hosts and with the services. The services include a middleware management service that is configured to maintain per-tenant middleware policy for each of multiple tenants. The middleware management service causes the middleware policy to be applied to network traffic by directing network traffic to a middleware enforcement mechanism. This middleware policy is per-tenant in that it depends on an identity of a tenant.
    Type: Grant
    Filed: June 19, 2014
    Date of Patent: February 16, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Deepak Bansal, Parveen Patel, Albert Greenberg
  • Publication number: 20150195196
    Abstract: Routing messages between virtual networks using a mapping of virtual addresses from one virtual network to a virtual address of the other virtual network. Each virtual network has a valid set of virtual addresses, some of which being assigned to virtual nodes within the corresponding network. When a virtual network identifies a message to be sent, it identifies a destination for the message. Some destinations may be within the same virtual network and thus may be routed to virtual nodes within the virtual network. Other destinations may instead be mapped to a virtual address of another virtual network. In that case, routing information may also be obtained and the message may be dispatched to the virtual address of the other virtual network. This may be performed within the need for a gateway, which publishes a public address that is globally unique.
    Type: Application
    Filed: January 8, 2014
    Publication date: July 9, 2015
    Applicant: Microsoft Corporation
    Inventor: Parveen Patel
  • Publication number: 20150193255
    Abstract: The performance of multicast and/or broadcasting between virtual machines over a virtual network. A source hypervisor accesses a network message originated from a source virtual machine, and uses the network message to determine a virtual network address associated with destination virtual machines (after potentially resolving group virtual network addresses). Using each virtual network address, the hypervisor determines a physical network address of the corresponding hypervisor that supports the destination virtual machine, and also determines a unique identifier for the destination virtual machine. The source hypervisor may then dispatch the network message along with the unique identifier to the destination hypervisor over the physical network using the physical network address of the hypervisor. The destination hypervisor passes the network message to the destination virtual machine identified by the unique identifier.
    Type: Application
    Filed: March 17, 2015
    Publication date: July 9, 2015
    Inventors: Deepak Bansal, Parveen Patel
  • Patent number: 8989183
    Abstract: The performance of multicast and/or broadcasting between virtual machines over a virtual network. A source hypervisor accesses a network message originated from a source virtual machine, and uses the network message to determine a virtual network address associated with destination virtual machines (after potentially resolving group virtual network addresses). Using each virtual network address, the hypervisor determines a physical network address of the corresponding hypervisor that supports the destination virtual machine, and also determines a unique identifier for the destination virtual machine. The source hypervisor may then dispatch the network message along with the unique identifier to the destination hypervisor over the physical network using the physical network address of the hypervisor. The destination hypervisor passes the network message to the destination virtual machine identified by the unique identifier.
    Type: Grant
    Filed: October 10, 2012
    Date of Patent: March 24, 2015
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Deepak Bansal, Parveen Patel
  • 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
  • Patent number: 8908685
    Abstract: The present invention extends to methods, systems, and computer program products for routing using global address pairs. Embodiments of the invention use publicly routable Internet Protocol (“IP”) addresses to represent sites rather than individual hosts. Hosts can be represented by a global address pair, including site public IP address and a node private IP address. Nodes route packets to address processing modules using IP-in-IP encapsulation. An outer header contains a site public IP address and is destined to a site on inter-site links. An inner header contains a node private IP address and is destined to a private endpoint in intra-site links. In some embodiments, a site public IPv4 address and a node private IPv4 address are encoded into an IPv6 address. Use of an IPv6 address makes encoding of the two IPv4 address transparent to IPv6 applications.
    Type: Grant
    Filed: December 13, 2012
    Date of Patent: December 9, 2014
    Assignee: Microsoft Corporation
    Inventors: Parveen Patel, Hasan Shamsuddin Alkhatib
  • Patent number: 8898295
    Abstract: Computerized methods, systems, and computer-storage media for fairly sharing available bandwidth among endpoints (including physical or virtual machines) of a multitenant environment are provided. Initially, a load balancer of the network is programmed to monitor bandwidth used by the endpoints, respectively, and to compare an aggregation of the usage against a network threshold. Also, the load balancer is equipped to dynamically classify the endpoints using the respective monitored bandwidth. Classifying generally involves designating some endpoints as small entities, which individually consume an amount of bandwidth less than an endpoint threshold, and designating other endpoints as large entities, which individually consume an amount of bandwidth greater than the endpoint threshold.
    Type: Grant
    Filed: March 21, 2012
    Date of Patent: November 25, 2014
    Assignee: Microsoft Corporation
    Inventors: Ankur Agiwal, Cristian Costache, Jacek Nowak, Kevin O'Regan, Gareth Bradshaw, Parveen Patel, Deepak Bansal
  • Publication number: 20140304387
    Abstract: A system that includes multiple hosts, each running a plurality of virtual machines. The system may be, for example, a cloud computing environment in which there are services and a service coordination system that communicates with the hosts and with the services. The services include a middleware management service that is configured to maintain per-tenant middleware policy for each of multiple tenants. The middleware management service causes the middleware policy to be applied to network traffic by directing network traffic to a middleware enforcement mechanism. This middleware policy is per-tenant in that it depends on an identity of a tenant.
    Type: Application
    Filed: June 19, 2014
    Publication date: October 9, 2014
    Inventors: Deepak Bansal, Parveen Patel, Albert Greenberg
  • Patent number: 8775599
    Abstract: A system that includes multiple hosts, each running a plurality of virtual machines. The system may be, for example, a cloud computing environment in which there are services and a service coordination system that communicates with the hosts and with the services. The services include a middleware management service that is configured to maintain per-tenant middleware policy for each of multiple tenants. The middleware management service causes the middleware policy to be applied to network traffic by directing network traffic to a middleware enforcement mechanism. This middleware policy is per-tenant in that it depends on an identity of a tenant.
    Type: Grant
    Filed: June 19, 2012
    Date of Patent: July 8, 2014
    Assignee: Microsoft Corporation
    Inventors: Deepak Bansal, Parveen Patel, Albert Greenberg
  • 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
  • Publication number: 20140098814
    Abstract: The performance of multicast and/or broadcasting between virtual machines over a virtual network. A source hypervisor accesses a network message originated from a source virtual machine, and uses the network message to determine a virtual network address associated with destination virtual machines (after potentially resolving group virtual network addresses). Using each virtual network address, the hypervisor determines a physical network address of the corresponding hypervisor that supports the destination virtual machine, and also determines a unique identifier for the destination virtual machine. The source hypervisor may then dispatch the network message along with the unique identifier to the destination hypervisor over the physical network using the physical network address of the hypervisor. The destination hypervisor passes the network message to the destination virtual machine identified by the unique identifier.
    Type: Application
    Filed: October 10, 2012
    Publication date: April 10, 2014
    Applicant: MICROSOFT CORPORATION
    Inventors: Deepak Bansal, Parveen Patel
  • Publication number: 20130346558
    Abstract: A delivery controller for use in an enterprise environment that communicates with a cloud computing environment that is providing a service for the enterprise. As the cloud service processing progresses, some cloud service data is transferred from the cloud computing environment to the enterprise environment, and vice versa. The cloud service data may be exchanged over any one of a number of different types of communication channels. The delivery controller selects which communication channel to use to transfer specific data, depending on enterprise policy. Such policy might consider any business goals of the enterprise, and may be applied at the application level.
    Type: Application
    Filed: June 21, 2012
    Publication date: December 26, 2013
    Applicant: MICROSOFT CORPORATION
    Inventors: Yousef A. Khalidi, Deepak Bansal, Changhoon Kim, Srikanth Kandula, David A. Maltz, Parveen Patel
  • Publication number: 20130346465
    Abstract: A management service that receives requests for the cloud computing environment to host applications, and improves performance of the application using an edge server. In response to the original request, the management service allocates the application to run on an origin data center, evaluates the application by evaluating at least one of the application properties designated by an application code author or provider, or the application performance, and uses an edge server to improve performance of the application in response to evaluating the application. For instance, a portion of application code may be offloaded to run on the edge data center, a portion of application data may be cached at the edge data center, or the edge server may add functionality to the application.
    Type: Application
    Filed: June 21, 2012
    Publication date: December 26, 2013
    Applicant: MICROSOFT CORPORATION
    Inventors: David A. Maltz, Parveen Patel, Albert G. Greenberg, Srikanth Kandula, Nick Holt, Randall Friend Kern
  • Publication number: 20130339505
    Abstract: A system that includes multiple hosts, each running a plurality of virtual machines. The system may be, for example, a cloud computing environment in which there are services and a service coordination system that communicates with the hosts and with the services. The services include a middleware management service that is configured to maintain per-tenant middleware policy for each of multiple tenants. The middleware management service causes the middleware policy to be applied to network traffic by directing network traffic to a middleware enforcement mechanism. This middleware policy is per-tenant in that it depends on an identity of a tenant.
    Type: Application
    Filed: June 19, 2012
    Publication date: December 19, 2013
    Applicant: Microsoft Corporation
    Inventors: Deepak Bansal, Parveen Patel, Albert Greenberg
  • Publication number: 20130254375
    Abstract: Computerized methods, systems, and computer-storage media for fairly sharing available bandwidth among endpoints (including physical or virtual machines) of a multitenant environment are provided. Initially, a load balancer of the network is programmed to monitor bandwidth used by the endpoints, respectively, and to compare an aggregation of the usage against a network threshold. Also, the load balancer is equipped to dynamically classify the endpoints using the respective monitored bandwidth. Classifying generally involves designating some endpoints as small entities, which individually consume an amount of bandwidth less than an endpoint threshold, and designating other endpoints as large entities, which individually consume an amount of bandwidth greater than the endpoint threshold.
    Type: Application
    Filed: March 21, 2012
    Publication date: September 26, 2013
    Applicant: MICROSOFT CORPORATION
    Inventors: ANKUR AGIWAL, CRISTIAN COSTACHE, JACEK NOWAK, KEVIN O'REGAN, GARETH BRADSHAW, PARVEEN PATEL, DEEPAK BANSAL
  • Patent number: 8478813
    Abstract: Architecture that facilitates the capture of connection state of a connection established between a client and an intermediate server and forwards the state to one or more target servers. A software component at the target server (as well as the intermediate server) uses this connection state to reply back to the client directly, thereby bypassing the intermediate server. All packets from the client related to the request are received at the intermediate server and then forwarded to the target server. The migration can be accomplished without any change in the client operating system and client applications, without assistance from a gateway device such as a load balancer or the network, without duplication of all packets between the multiple servers, and without changes to the transport layer stack of the intermediate and target servers.
    Type: Grant
    Filed: April 28, 2010
    Date of Patent: July 2, 2013
    Assignee: Microsoft Corporation
    Inventors: Randall Kern, Parveen Patel, Lihua Yuan, Anil K. Ruia, Wok Suk Yoo
  • Patent number: 8416692
    Abstract: The present application relates to network configurations and specifically to scalable load balancing network configurations. One implementation includes an external client coupled to a scalable load balancing system. The scalable load balancing system includes a load balancing layer that is configured to encapsulate individual incoming packets of a packet flow from the external client. The load balancing layer is further configured to route the incoming packets to target devices on the system. The target devices can span multiple IP subnets. The incoming packets can pass through one or more load balancers of the load balancing layer before reaching individual target devices. Individual target devices can be configured to route at least some outgoing packets of the packet flow to the external client without passing through any of the one or more load balancers.
    Type: Grant
    Filed: October 26, 2009
    Date of Patent: April 9, 2013
    Assignee: Microsoft Corporation
    Inventors: Parveen Patel, Lihua Yuan, David Maltz, Albert Greenberg, Randy Kern
  • Patent number: 8407366
    Abstract: Computerized methods, systems, and computer-readable media are provided for establishing and managing a virtual network (V-net) and virtual machine (VM) switches that enable protected and isolated interconnections between members of the V-net. The V-net members include an originating network adapter that generates data packets addressed to a destination network adapter. Upon detecting data-packet generation, a source-side VM switch accesses a forwarding table associated with the V-net, ascertains a destination-side, VM-switch locator that corresponds to an identifier of the destination network adapter, and modifies the data packets to include the identifier. The forwarding table represents a mapping between the members of the V-net and VM switches located on respective nodes within the data center. In operation, the mapping enforces communication policies that govern data-packet traffic.
    Type: Grant
    Filed: May 14, 2010
    Date of Patent: March 26, 2013
    Assignee: Microsoft Corporation
    Inventors: Hasan Alkhatib, Changhoon Kim, Geoff Outhred, Deepak Bansal, Albert Greenberg, Dave Maltz, Parveen Patel