MANAGING PARTITIONS IN A SCALABLE ENVIRONMENT
First Claim
Patent Images
1. A method for performing computations in a distributed computing environment, comprising:
- receiving one or more application-defined partitioning system interfaces;
creating a plurality of master role instances including the one or more application-defined partitioning system interfaces, the master role instances corresponding to a master storage object;
assigning a lease for the master storage object, each master role instance competing for the lease, the master role instance that is assigned the lease being the dictator master role instance;
assigning, by the dictator master role instance, a group of partitions to a plurality of partition servers; and
performing one or more computations corresponding to an application using the plurality of partition servers.
2 Assignments
0 Petitions
Accused Products
Abstract
Systems and methods are provided that enable a general framework for partitioning application-defined jobs in a scalable environment. The general framework decouples partitioning of a job from the other aspects of the job. As a result, the effort required to define the application-defined job is reduced or minimized, as the user is not required to provide a partitioning algorithm. The general framework also facilitates management of masters and servers performing computations within the distributed environment.
-
Citations
21 Claims
-
1. A method for performing computations in a distributed computing environment, comprising:
-
receiving one or more application-defined partitioning system interfaces; creating a plurality of master role instances including the one or more application-defined partitioning system interfaces, the master role instances corresponding to a master storage object; assigning a lease for the master storage object, each master role instance competing for the lease, the master role instance that is assigned the lease being the dictator master role instance; assigning, by the dictator master role instance, a group of partitions to a plurality of partition servers; and performing one or more computations corresponding to an application using the plurality of partition servers. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method for performing computations in a distributed computing environment, comprising:
-
executing a computation comprising at least two namespaces and at least two master role instances, each master role instance corresponding to a different namespace, each master role instance being the dictator and holding a dictator lease on a master storage object for the corresponding namespace; assigning at least one machine that provides failover service for a plurality of the dictator master role instances; detecting a failover event for one of the dictator master role instances; and creating, on the assigned machine, an additional instance of the master role corresponding to the detected failover event, the additional being assigned as the dictator for the namespace corresponding to the failover event. - View Dependent Claims (10, 12, 13, 21)
-
-
11. (canceled)
-
14. A system for performing computing tasks in a distributed computing environment, the system comprising:
-
a plurality of processors executing computer-useable instructions that, when executed, provide a system comprising; a plurality of partition servers, the partition servers having at least one partitioning system interface for managing the storage objects associated with partition servers and one or more application-defined partitioning system interfaces, a partition server having an associated storage object for storing information regarding assigned partitions; a partition table containing partitions based on an application-defined namespace, the partitions corresponding to key ranges from the application-defined namespace that span the namespace, the partition table being accessible by a partitioning system; a first master role instance including fixed partitioning system interfaces for managing the assignment of partitions to partition server virtual machines and maintaining the partition table assignments of partitions to partition server virtual machines; and a client component with at least one fixed partitioning system interface for receiving client requests containing a key value from the namespace and returning addresses of a partition server corresponding to the key value. - View Dependent Claims (15, 16, 17, 18, 19, 20)
-
Specification