Distributed shared log storage system having an adapter for heterogenous big data workloads
AssigneeVMware, Inc.
InventorsSandeep Uttamchandani, Cheng Zhang
Life of this patent
Estimating the term…
Abstract
A distributed shared log storage system employs an adapter that translates Application Programming Interfaces (APIs) for a big data application to APIs of the distributed shared log storage system. An instance of an adapter is configured for different big data applications in accordance with a profile thereof, so that the big data applications can take on a variety of added characteristics to enhance the application and/or to improve the performance of the application. Included in the added characteristics are global or local ordering of operations, replication of operations according to different replication models, making the operations atomic and caching.
Claims20
A method for processing an application according to a profile, comprising:
- receiving at an interface a request for an operation relating to the application with which the interface is associated, the request including a profile object containing a plurality of profile entries, wherein each profile entry includes a profile parameter associated with an operation and the profile parameter specifies a type of processing to be applied to the operation, wherein the type of processing specified by the profile parameter is at least one of conflict detection, concurrency control, replica repair, replication, failure detection, failure recovery, caching, tiering, data access optimization, load balancing, auto scaling, continuous monitoring, configuration management, security, or upgrade maintenance;
- parsing the profile object and, based on the profile parameter, selecting one or more library processing modules needed for processing the operation, the selected library processing modules being ones selected from a plurality of library processing modules available and arranged in a predetermined order;
- making active the selected library processing modules;
- and
- processing the operation according to the selected library processing modules,
- wherein the one or more library processing modules include at least one module for conflict detection, concurrency control, replica repair, replication, failure detection, failure recovery, caching, tiering, data access optimization, load balancing, auto scaling, continuous monitoring, configuration management, security, or upgrade maintenance.
A system for processing an application according to a profile, the system comprising:
- a plurality of storage units containing a read-many write-append log storing a persistent data of the application, the log having portions distributed over the plurality of storage units;
- and
- an application computer, the computer comprising (a) a memory storing instructions, and (b) at least one hardware processor to execute the instructions, the application computer being coupled to the plurality of storage units and configured to access data stored in the log, the application computer running the application and having an instance of an adaptor, wherein the adaptor is configured to execute the instructions to:
- receive at an interface a request for an operation relating to the application with which the interface is associated, the request including a profile object containing a plurality of profile entries, wherein each profile entry includes a profile parameter associated with an operation and the profile parameter specifies a type of processing to be applied to the operation, wherein the type of processing specified by the profile parameter is at least one of conflict detection, concurrency control, replica repair, replication, failure detection, failure recovery, caching, tiering, data access optimization, load balancing, auto scaling, continuous monitoring, configuration management, security, or upgrade maintenance;
- parse the profile object and, based on the profile parameter, select one or more library processing modules needed for processing the operation, the selected library processing modules being ones selected from a plurality of library processing modules available and arranged in a predetermined order;
- make active the selected library processing modules;
- and
- process the operation according to the selected library processing modules,
- wherein the one or more library processing modules include at least one module for conflict detection, concurrency control, replica repair, replication, failure detection, failure recovery, caching, tiering, data access optimization, load balancing, auto scaling, continuous monitoring, configuration management, security, or upgrade maintenance.
A non-transitory computer-readable medium containing instructions, which when executed by one or more processors, performs a method for processing an application according to a profile, the method comprising:
- receiving at an interface a request for an operation relating to the application with which the interface is associated, the request including a profile object containing a plurality of profile entries, wherein each profile entry includes a profile parameter associated with an operation and the profile parameter specifies a type of processing to be applied to the operation, wherein the type of processing specified by the profile parameter is at least one of conflict detection, concurrency control, replica repair, replication, failure detection, failure recovery, caching, tiering, data access optimization, load balancing, auto scaling, continuous monitoring, configuration management, security, or upgrade maintenance;
- parsing the profile object and, based on the profile parameter, selecting one or more library processing modules needed for processing the operation, the selected library processing modules being ones selected from a plurality of library processing modules available and arranged in a predetermined order;
- making active the selected library processing modules;
- and
- processing the operation according to the selected library processing modules,
- wherein the one or more library processing modules include at least one module for conflict detection, concurrency control, replica repair, replication, failure detection, failure recovery, caching, tiering, data access optimization, load balancing, auto scaling, continuous monitoring, configuration management, security, or upgrade maintenance.
Dependencies are inferred from the claim text.