US 11,658,910 B2
Overload protection for data sinks in a distributed computing system
Aniruddha Bohra, Philadelphia, PA (US); Vadim Grinshpun, Newton, MA (US); Hari Raghunathan, Nashua, NH (US); and Mithila Nagendra, Natick, MA (US)
Assigned to Akamai Technologies, Inc., Cambridge, MA (US)
Filed by Akamai Technologies, Inc., Cambridge, MA (US)
Filed on Mar. 28, 2022, as Appl. No. 17/656,663.
Application 17/656,663 is a continuation of application No. 17/008,820, filed on Sep. 1, 2020, granted, now 11,290,383.
Application 17/008,820 is a continuation of application No. 16/272,286, filed on Feb. 11, 2019, granted, now 10,798,006, issued on Oct. 6, 2020.
Claims priority of provisional application 62/744,993, filed on Oct. 12, 2018.
Prior Publication US 2022/0353189 A1, Nov. 3, 2022
Int. Cl. H04L 43/062 (2022.01); H04L 47/20 (2022.01); H04L 47/22 (2022.01); H04L 49/50 (2022.01); H04L 47/25 (2022.01); H04L 43/045 (2022.01); H04L 41/142 (2022.01); H04L 41/14 (2022.01); H04L 41/147 (2022.01); H04L 41/16 (2022.01); H04L 43/067 (2022.01)
CPC H04L 47/22 (2013.01) [H04L 41/142 (2013.01); H04L 41/145 (2013.01); H04L 41/147 (2013.01); H04L 41/16 (2013.01); H04L 43/045 (2013.01); H04L 43/062 (2013.01); H04L 43/067 (2013.01); H04L 47/20 (2013.01); H04L 47/25 (2013.01); H04L 49/503 (2013.01)] 17 Claims
OG exemplary drawing
 
1. A system comprising one or more computers, each having circuitry forming one or more processors and memory storing computer program instructions for execution on the one or more processors to operate the system, the system comprising:
a plurality of source devices, distributed across a plurality of computer networks, that generate a stream of reporting data;
a first data sink and a second data sink that use the reporting data;
a traffic shaping system, comprising:
a virtual data sink, designated in software, that receives the stream of reporting data and replicates the stream into a first copy for the first data sink and a second copy for the second data sink;
memory storing a first policy associated with the first data sink and a second policy associated with the second data sink;
software that applies the first policy to the first copy of the stream at least by: (i) responsive to a determination that the first copy of the stream meets a condition defined in the first policy, and (ii) applying an action defined in the first policy that modifies the first copy of the stream to reduce load on the first data sink;
software that applies the second policy to the first copy of the stream at least by: (i) responsive to a determination that the second copy of the stream meets a condition defined in the second policy, and (ii) applying an action defined in the second policy that modifies the second copy of the stream to reduce load on the second data sink; and,
an interface that sends the first copy of the stream, after application of the first policy, to the first data sink, and that sends the second copy of the stream, after application of the second policy, to the second data sink.