Global provisioning of millions of users with deployment units
First Claim
Patent Images
1. A system for service to a client comprising:
- a plurality of deployment units, the deployment units configured to provide hosting for the service to clients, wherein the deployment units and the clients are distributed over different global geographic regions that include at least one of a plurality of different countries, a plurality of different time zones, or a plurality of different coastal or interior regions of a continent;
a provisioning server configured to obtain global region location information for new clients each associated with respective different global geographic regions and to determine a deployment unit in an appropriate one of the associated with a respective one of the different global geographical regions, based on the global region location information, to which the clients will be assigned, the provisioning server also configured to transmit assignment information for at least an initial deployment of the new clients based on the global region location information to the clients, wherein the assignment information comprises a deployment unit assignment, and wherein further the clients are communicatively added or removed from particular geographically appropriate deployment units based on the deployment unit assignments associated with the global region location information for the respective clients provided by the provisioning server, to assign clients to different deployment units on-the-fly, to distribute a global client load geographically over the global deployment units of the different global geographic regions;
a global provisioning service communicatively coupled to the provisioning server and databases, which databases comprise a global provisioning directory, and a replica of the global provisioning directory communicatively coupled to the provisioning server, the replica of the global provisioning directory is configured to periodically synchronize with the global provisioning directory, the provisioning server is configured to access the replica of the global provisioning directory or the global provisioning directory, wherein the global provisioning service receives the location information from the provisioning server and uses the location information and the databases to determine the assignment information; and
a processor configured to execute computer-executable instructions in a memory, the instructions executed to enable at least one of a deployment unit, the provisioning server, or the global provisioning service.
2 Assignments
0 Petitions
Accused Products
Abstract
Described herein is technology for, among other things, global provisioning of a service. The technology involves a provisioning server obtaining location information for a client. The provisioning server determines an appropriate deployment unit, based on the location information, to which the client will be assigned. The provisioning server transmits assignment information for the appropriate deployment unit to the client. The client then communicatively couples to the assigned deployment unit and begins receiving the service from the deployment unit.
-
Citations
18 Claims
-
1. A system for service to a client comprising:
-
a plurality of deployment units, the deployment units configured to provide hosting for the service to clients, wherein the deployment units and the clients are distributed over different global geographic regions that include at least one of a plurality of different countries, a plurality of different time zones, or a plurality of different coastal or interior regions of a continent; a provisioning server configured to obtain global region location information for new clients each associated with respective different global geographic regions and to determine a deployment unit in an appropriate one of the associated with a respective one of the different global geographical regions, based on the global region location information, to which the clients will be assigned, the provisioning server also configured to transmit assignment information for at least an initial deployment of the new clients based on the global region location information to the clients, wherein the assignment information comprises a deployment unit assignment, and wherein further the clients are communicatively added or removed from particular geographically appropriate deployment units based on the deployment unit assignments associated with the global region location information for the respective clients provided by the provisioning server, to assign clients to different deployment units on-the-fly, to distribute a global client load geographically over the global deployment units of the different global geographic regions; a global provisioning service communicatively coupled to the provisioning server and databases, which databases comprise a global provisioning directory, and a replica of the global provisioning directory communicatively coupled to the provisioning server, the replica of the global provisioning directory is configured to periodically synchronize with the global provisioning directory, the provisioning server is configured to access the replica of the global provisioning directory or the global provisioning directory, wherein the global provisioning service receives the location information from the provisioning server and uses the location information and the databases to determine the assignment information; and a processor configured to execute computer-executable instructions in a memory, the instructions executed to enable at least one of a deployment unit, the provisioning server, or the global provisioning service. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method of receiving global provisioning of a service in a new client comprising acts of:
-
transmitting global region location information of the new client to a provisioning server, wherein the new client is one of a plurality of clients distributed over different global geographic regions that include at least one of a plurality of different countries, a plurality of different time zones, or a plurality of different coastal or interior regions of a continent; receiving assignment information from the provisioning server to determine a deployment unit for at least an initial deployment in an appropriate one of the different geographical regions for hosting the new client, based on the global region location information, to which the clients will be assigned, wherein the deployment unit is one of a plurality of deployment units distributed over the different global geographic regions, wherein the assignment information assigns the new client to a particular geographically appropriate deployment unit based on the location; communicatively coupling a global provisioning service to the provisioning server and databases, which databases comprise a global provisioning directory, and a replica of the global provisioning directory communicatively coupled to the provisioning server, the replica of the global provisioning directory is configured to periodically synchronize with the global provisioning directory, the provisioning server is configured to access the replica of the global provisioning directory or the global provisioning directory, wherein the global provisioning service receives the global region location information from the provisioning server and uses the global region location information and the databases to determine the assignment information; communicatively coupling the new client with the particular geographically appropriate deployment unit, wherein the deployment unit provides the service to the new client; assigning other clients distributed over the different global geographic regions to different geographically appropriate deployment units on the fly, for dynamically distributing a global client load geographically; and configuring a processor to execute instructions stored in a memory, the instructions executed to enable the acts of transmitting, receiving, communicatively coupling the global provisioning service, communicatively coupling the new client, and assigning. - View Dependent Claims (10, 11, 12, 13)
-
-
14. A method of global provisioning of a service comprising acts of:
-
obtaining global region location information for a new client, wherein the new client is one of a plurality of clients distributed over different global geographic regions that include at least one of a plurality of different countries, a plurality of different time zones, or a plurality of different coastal or interior regions of a continent; determining a preferred deployment unit for at least an initial deployment in an appropriate geographical region for hosting the new client, to which the new client will be assigned based in part on the global region location information, wherein the deployment units are distributed over the different global geographic regions; providing a global provisioning service in communication with a provisioning server and databases, which databases comprise a global provisioning directory, and a replica of the global provisioning directory communicatively coupled to the provisioning server, the replica of the global provisioning directory is configured to periodically synchronize with the global provisioning directory, the provisioning server is configured to access the replica of the global provisioning directory or the global provisioning directory, wherein the global provisioning service receives the global region location information from the provisioning server and uses the global region location information and the databases to determine the assignment information; assigning the new client and other clients as distributed over the different global geographic regions to different deployment units on the fly and thereby geographically distributing a global client load over the different global geographic regions; transmitting assignment information regarding the preferred deployment unit to the new client, wherein the new client communicatively couples to the preferred deployment unit for hosting the new client upon receiving the assignment information in order to receive the service from the preferred deployment unit; and configuring a processor to execute instructions stored in a memory, the instructions executed to enable the acts of obtaining, determining, providing, assigning, and transmitting. - View Dependent Claims (15, 16, 17, 18)
-
Specification