IP Library Patent Application 14607755
Patent Application
App. No. 14/607,755

CAPACITY PLANNING FOR DATABASE REPLICATION LATENCY

Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US None
App. No.
14/607,755
Abstract

A system, methods, and apparatus are provided for performing capacity planning within a system that experiences high volumes of data having high velocity and high variability. Based on historical traffic, a forecast is generated for one or more relatively coarse time periods (e.g., weeks, days), and is decomposed to yield finer-grained forecasts (e.g., for hours, minutes) by applying a distribution index also generated from historical traffic. Estimated replication latency for the forecast period can be calculated from the traffic forecast and an expected level of replication capacity. Further, a required amount of replication capacity can be determined based on a traffic forecast and a maximum replication latency permitted by a service level agreement (SLA) of an event consumer. In addition, replication headroom can be computed, to identify a maximum level of traffic that can be sustained without violating an SLA and/or a date/time at which a violation may occur.

Claims (67)

1 . A method comprising:

receiving electronic events generated during operation of an online service;

replicating the received events for consumption by components of a computer system that hosts the online service;

based on electronic event traffic received during multiple first time periods of a first duration during a historical period of a second duration, generating a distribution index reflecting, for each first time period, a portion of event traffic received during the historical period that was received during the first time period;

based on electronic event traffic received during multiple second time periods of a second duration, forecasting event traffic for one or more future time periods of the second duration; and

applying the distribution index to distribute event traffic forecasted for the one or more future time periods of the second duration among a plurality of future time periods of the first duration.

2 . The method of claim 1 , further comprising:

for each of the plurality of future time periods, estimating a replication latency to be exhibited during replication of events forecasted to be received during the future time period.

3 . The method of claim 2 , wherein the replication latency estimated for a given future time period is estimated by:

comparing a forecasted rate of receipt of electronic events during the given future time period with a capacity of the computer system for replicating electronic events during the given future time period; and

adjusting an estimated replication latency accumulated prior to the given future time period based on the comparison.

4 . The method of claim 2 , wherein the replication latency estimated for a given future time period is estimated based on one of:

a current replication capacity identifying a number of electronic events that can currently be replicated in a unit of time; and

a forecasted replication capacity identifying a number of electronic events that can be replicated in the given future time period.

5 . The method of claim 2 , further comprising:

for each of the plurality of future time periods, determining a required replication capacity for replicating the events forecasted to be received during the future time period without violating a replication latency metric of a service level agreement.

6 . The method of claim 5 , wherein the required replication capacity is determined by applying a binary search among candidate replication capacities.

7 . The method of claim 5 , further comprising:

for each of the plurality of future time periods, estimating replication headroom comprising one or more of:

a factor by which the event traffic forecasted for the future time period can be scaled up without violating the replication latency metric; and

a period of time until the replication latency metric is likely to be violated.

8 . The method of claim 1 , wherein:

the first duration comprises one hour; and

the second duration comprises one week.

9 . A system, comprising:

at least one processor;

a replication module comprising a first non-transitory computer readable medium storing instructions that, when executed by the at least one processor, cause the system to:

receive electronic events generated during operation of an online service hosted by the system; and

replicate the received events for consumption by components of the system; and

a traffic forecast module comprising a second non-transitory computer readable medium storing instructions that, when executed by the at least one processor, cause the system to:

based on electronic event traffic received during multiple first time periods of a first duration during a historical period of a second duration, generate a distribution index reflecting, for each first time period, a portion of event traffic received during the historical period that was received during the first time period;

based on electronic event traffic received during multiple second time periods of a second duration, forecast event traffic for one or more future time periods of the second duration; and

apply the distribution index to distribute event traffic forecasted for the one or more future time periods of the second duration among a plurality of future time periods of the first duration.

10 . The system of claim 9 , further comprising:

a replication latency module comprising a third non-transitory computer readable medium storing instructions that, when executed by the at least one processor, cause the system to:

for each of the plurality of future time periods, estimate a replication latency to be exhibited during replication of events forecasted to be received during the future time period.

11 . The system of claim 10 , wherein the replication latency estimated for a given future time period is estimated by:

comparing a forecasted rate of receipt of electronic events during the given future time period with a capacity of the computer system for replicating electronic events during the given future time period; and

adjusting an estimated replication latency accumulated prior to the given future time period based on the comparison.

12 . The system of claim 10 , further comprising:

a replication capacity module comprising a fourth non-transitory computer readable medium storing instructions that, when executed by the at least one processor, cause the system to:

for each of the plurality of future time periods, determine a required replication capacity for replicating the events forecasted to be received during the future time period without violating a replication latency metric of a service level agreement.

13 . The system of claim 12 , further comprising:

a replication headroom module comprising a fifth non-transitory computer readable medium storing instructions that, when executed by the at least one processor, cause the system to:

for each of the plurality of future time periods, estimate replication headroom comprising one or more of:

a factor by which the event traffic forecasted for the future time period can be scaled up without violating the replication latency metric; and

a period of time until the replication latency metric is likely to be violated.

14 . The system of claim 9 , wherein:

the first duration comprises one hour; and

the second duration comprises one week.

15 . An apparatus, comprising:

one or more processors;

logic comprising instructions that, when executed by the one or more processors, cause the apparatus to:

receive electronic events generated during operation of an online service hosted by the apparatus;

replicate the received events for consumption by components of the apparatus;

based on electronic event traffic received during multiple first time periods of a first duration during a historical period of a second duration, generate a distribution index reflecting, for each first time period, a portion of event traffic received during the historical period that was received during the first time period;

based on electronic event traffic received during multiple second time periods of a second duration, forecast event traffic for one or more future time periods of the second duration; and

apply the distribution index to distribute event traffic forecasted for the one or more future time periods of the second duration among a plurality of future time periods of the first duration.

16 . The apparatus of claim 15 , wherein the logic further comprises instructions that, when executed by the one or more processors, cause the apparatus to:

for each of the plurality of future time periods, estimate a replication latency to be exhibited during replication of events forecasted to be received during the future time period;

for each of the plurality of future time periods, determine a required replication capacity for replicating the events forecasted to be received during the future time period without violating a replication latency metric of a service level agreement; and

for each of the plurality of future time periods, estimate replication headroom comprising one or more of:

a factor by which the event traffic forecasted for the future time period can be scaled up without violating the replication latency metric; and

a period of time until the replication latency metric is likely to be violated.

17 . The apparatus of claim 16 , wherein:

the first duration comprises one hour; and

the second duration comprises one week.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 1, 2017
From: LINKEDIN CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 044746/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 14, 2015
From: ZHUANG, ZHENYUN; RAMACHANDRA, HARICHARAN K.; TRAN, CUONG H.; SUBRAMANIAM, SUBBU; BOTEV, CHAVDAR; XIONG, CHAOYUE; SRIDHARAN, BADRINATH K.
To: LINKEDIN CORPORATION
Reel/Frame 036084/0009 →