Patent ID: 8484351
Filing Date: 2013-07-09
Classification: G06F,H04L

Abstract:
1. A method of accessing data, comprising: storing a table data structure in a file system, the table data structure including a plurality of tablets that correspond to distinct non-overlapping table portions; wherein the tablets correspond to distinct ranges of rows in the table data structure; storing in a plurality of servers a plurality of tablet access objects and a plurality of application objects, wherein a distinct application object is associated with each tablet access object, and each application object and the associated tablet access object are associated with and distinct from a respective tablet of the table data structure, wherein each application object corresponds to a distinct instantiation of an application associated with the table data structure, and at least one tablet of the plurality of tablets is stored on a different server than its associated tablet access object and application object; redistributing the tablet access objects and the associated application objects among the plurality of servers in accordance with a first load-balancing criterion; receiving a first request directed to a respective tablet from a client; in response to the first request, using the tablet access object associated with the respective tablet to perform a data access operation on the respective tablet, and using the application object associated with the respective tablet to perform an additional computational operation to produce a result to be returned to the client; receiving a second request from the client directed to a specified range of rows in the table data structure, wherein the specified range of rows includes rows in multiple tablets; identifying the multiple tablets that include rows in the specified range; identifying one or more servers that store the application objects associated with the identified multiple tablets; directing the second request to each of the identified one or more servers that store the application objects associated with the identified multiple tablets; and upon receipt of the second request at the identified one or more servers that store the application objects associated with the identified multiple tablets, using the application objects and tablet access objects associated with the identified multiple tablets to execute the second request.