US2015302020A1PendingUtilityA1

Multi-tenancy storage node

Assignee: LINKEDLN CORPPriority: Nov 6, 2013Filed: Jul 6, 2015Published: Oct 22, 2015
Est. expiryNov 6, 2033(~7.3 yrs left)· nominal 20-yr term from priority
G06F 16/128H04L 41/5003G06F 17/30088
41
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

A multi-tenancy storage node is provided. The storage node hosts partitions of multiple databases accessed by multiple applications. Each database is governed by a corresponding service-level agreement (SLA) or policy that specifies a maximum load or level of operation of the database in terms of one or more metrics (e.g., number or frequency of reads/writes, maximum size of reads/writes). To determine whether another database can be hosted by the node, a snapshot of the node's database operations is replayed on a test node, along with operations that exercise the other database. If maximum thresholds of the node for the metrics are not exceeded, the other database can be added to the storage node. An SLA is generated for it automatically, based on the metrics it exhibited during the operations on the test node. The storage node may enforce the SLA by rate-limiting activity of one or more applications.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
         1 . A method, comprising:
 replaying on a test storage node a snapshot of database operations performed on another storage node hosting partitions of multiple databases;   during said replaying of the snapshot of database operations, executing an additional set of operations on an additional database installed on the test storage node but not installed on the other storage node prior to said replaying;   automatically generating a service level agreement (SLA) for the additional database, based on metrics exhibited by the additional database during said replaying; and   installing on the other storage node one or more partitions of the additional database and the SLA.   
     
     
         2 . The method of  claim 1 , further comprising:
 during said replaying, monitoring each of a plurality of application-level metrics for the additional database and for the test storage node; and   determining whether the application-level metrics exhibited by the test storage node during said replaying exceed maximum thresholds associated with the other storage node.   
     
     
         3 . The method of  claim 2 , further comprising, prior to said replaying:
 benchmarking the test storage node to identify the maximum thresholds associated with the other storage node;   wherein a hardware configuration of the test storage node is substantially identical to a hardware configuration of the other storage node.   
     
     
         4 . The method of  claim 2 , further comprising:
 for each of the application-level metrics, identifying a maximum exhibited by the additional database during execution of the additional set of operations.   
     
     
         5 . The method of  claim 4 , wherein the generated SLA comprises the maximums of each of the application-level metrics exhibited by the additional database during execution of the additional set of operations. 
     
     
         6 . The method of  claim 1 , further comprising, after said installing:
 recording, on the other storage node, a second snapshot of database operations encompassing the multiple databases and the additional database;   replaying the second snapshot of database operations on the test storage node; and   modifying SLAs of one or more databases hosted on the other storage node based on metrics exhibited by the one or more databases during replaying of the second snapshot.   
     
     
         7 . The method of  claim 1 , further comprising, after said installing:
 on the other storage node, monitoring compliance of each of the multiple databases and the additional database with corresponding SLAs that limit operations of the corresponding databases.   
     
     
         8 . The method of  claim 1 , wherein:
 for each of the multiple databases, a corresponding SLA limits operations of the database according to a plurality of application-level metrics.   
     
     
         9 . The method of  claim 8 , wherein the application-level metrics include at least one of:
 a maximum number of read operations;   a maximum number of write operations;   a maximum size of a read operation; and   a maximum size of a write operation.   
     
     
         10 . The method of  claim 8 , wherein the application-level metrics include at least one of:
 a maximum number of database operations per predefined time period; and   a maximum number of database records accessed per predefined time period.   
     
     
         11 . The method of  claim 8 , wherein the application-level metrics include a maximum number of unique database records. 
     
     
         12 . The method of  claim 1 , wherein, after said installing, each of the multiple databases and the additional database are accessed by different applications. 
     
     
         13 . A system, comprising:
 a test storage node, comprising:
 at least one processor; 
 a replay module comprising a non-transitory computer-readable medium storing instructions that, when executed, cause the test storage node to:
 replay a snapshot of database operations performed on another storage node hosting partitions of multiple databases; and 
 during said replaying of the snapshot of database operations, execute an additional set of operations on an additional database installed on the test storage node but not installed on the other storage node prior to said replaying; 
 
 a service-level agreement (SLA) generation module comprising a non-transitory computer-readable medium storing instructions that, when executed, cause the system to automatically generate an SLA for the additional database, based on metrics exhibited by the additional database during said replaying; and 
   the other storage node;   wherein one or more partitions of the additional database and the SLA are installed on the other storage node after the SLA is generated.   
     
     
         14 . The system of  claim 13 , wherein the test storage node further comprises a monitor module comprising a non-transitory computer-readable medium storing instructions that, when executed, cause the test storage node to:
 during said replay, monitor each of a plurality of application-level metrics for the additional database and for the test storage node; and   determine whether the application-level metrics exhibited by the test storage node during said replay exceed maximum thresholds associated with the other storage node.   
     
     
         15 . The system of  claim 14 , wherein:
 the test storage node further comprises a benchmark module comprising a non-transitory computer-readable medium storing instructions that, when executed, cause the test storage node to benchmark the test storage node to identify the maximum thresholds associated with the other storage node; and   a hardware configuration of the test storage node is substantially identical to a hardware configuration of the other storage node.   
     
     
         16 . The system of  claim 13 , wherein the test storage node further comprises a monitor module comprising a non-transitory computer-readable medium storing instructions that, when executed, cause the test storage node to:
 determine whether execution of the snapshot of operations and the additional set of operations causes the test storage node to exceed maximum thresholds for any of a plurality of application-level metrics; and   for each of the plurality of application-level metrics, identify a maximum exhibited during execution of the additional set of operations.   
     
     
         17 . The system of  claim 13 , wherein:
 for each of the multiple databases, a corresponding SLA limits operations of the database according to a plurality of application-level metrics.   
     
     
         18 . An apparatus, comprising:
 one or more processors; and   memory storing instructions that, when executed by the one or more processors, cause the apparatus to:
 replay on a test storage node a snapshot of database operations performed on another storage node hosting partitions of multiple databases; 
 during said replaying of the snapshot of database operations, execute an additional set of operations on an additional database installed on the test storage node but not installed on the other storage node prior to said replaying; 
 automatically generate a service level agreement (SLA) for the additional database, based on metrics exhibited by the additional database during said replaying; and 
 install on the other storage node one or more partitions of the additional database and the SLA. 
   
     
     
         19 . The apparatus of  claim 18 , wherein the memory further stores instructions that, when executed by the one or more processors, cause the apparatus to:
 during said replaying, monitor each of a plurality of application-level metrics for the additional database and for the test storage node; and   determine whether the application-level metrics exhibited by the test storage node during said replaying exceed maximum thresholds associated with the other storage node.   
     
     
         20 . The apparatus of  claim 19 , wherein the memory further stores instructions that, when executed by the one or more processors, cause the apparatus to:
 benchmark the test storage node to identify the maximum thresholds associated with the other storage node;   wherein a hardware configuration of the test storage node is substantially identical to a hardware configuration of the other storage node.

Join the waitlist — get patent alerts

Track US2015302020A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.