IP Library Granted Patent US 11,616,849
Granted Patent B2
US 11,616,849 · App. 17/672,487 · Granted Mar 28, 2023

Distributed split edge application architecture

Inventors: Harish Ramamurthy Devanagondi (Saratoga, CA); Jay Shah (Morgan Hill, CA); Simon Luigi Sabato (Saratoga, CA); Srikanth Lakshminarasimhan (Bangalore, IN)
Assignee: Lilac Cloud, Inc.
H04L67/289H04L67/5651
View Patent ↗
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 11,616,849
App. No.
17/672,487
Granted
Mar 28, 2023
Kind
B2
Abstract

In an embodiment, application delivery to end-user devices may be handled by a combination of an application device and a distributed set of split edge devices located closer to the end-user device within a network. The split edge devices are instructed by the application device about how to manage traffic to and from the end-user devices. The application device determines whether content is stored to content cache of a split edge device. The application device, when the content is stored to the split edge device, refrains from sending the content and instead sends instructions to the split edge device that include reference to a location of the content, and instruct the split edge device to send the content to an application and/or device. The application device, when the content is not stored to the split edge device, sends the content with instructions to store the content locally.

Claims (70)

1. A method, comprising:

determining, by an application device, occurrence of a first triggering condition, the first triggering condition prompting the application device to provide a first content accessible to the application device to at least one split edge device in a network, the at least one split edge device being configured to deliver the first content to a first application operating on a first end-user device;

determining, by the application device, whether an instance of the first content is stored to content cache of the at least one split edge device;

responsive to determining that the instance of the first content is stored to content cache of the at least one split edge device:

sending, by the application device via the network, instructions to the at least one split edge device, the instructions comprising reference to a location of the instance of the first content in content cache of the at least one split edge device and instructing the at least one split edge device to send the instance of the first content to the first application; and

refraining, by the application device, from sending the instance of the first content to the first application;

determining, by the application device, occurrence of a second triggering condition, the second triggering condition prompting the application device to provide a second content accessible to the application device to the at least one split edge device, the at least one split edge device being configured to deliver the second content to a second application operating on a second end-user device;

determining, by the application device, whether an instance of the second content is stored to content cache of a split edge device in the network; and

responsive to determining that the instance of the second content is not stored to content cache of any split edge device in the network: sending, by the application device, the instance of the second content to the at least one split edge device.

2. The method as recited in claim 1 , further comprising:

receiving, by a particular split edge device, the instructions comprising the reference to the location of the instance of the first content in content cache and instructing the at least one split edge device to send the instance of the first content to the first application;

retrieving, by the particular split edge device, the instance of the first content from the location in a content cache of the particular split edge device according to the instructions; and

delivering, by the particular split edge device, the instance of the first content to the first application operating on the first end-user device responsive to the instructions.

3. The method as recited in claim 2 , wherein the particular split edge device is a member of a distributed network of split edge devices, and wherein the particular split edge device is integrated with a network device in the network.

4. The method as recited in claim 2 , further comprising:

receiving, by the application device, a plurality of application-layer requests for the first content from a plurality of end-user devices; and

sending, by the application device, second instructions to the particular split edge device, the second instructions comprising the reference to the location of the instance of the first content in the content cache and instructing the particular split edge device to deliver the instance of the first content to the plurality of end-user devices.

5. The method as recited in claim 2 , wherein one or more packets comprising the instructions are encapsulated in an overlay packet comprising an overlay header by a tunnel device prior to being delivered to the particular split edge device, and wherein the method further comprises:

intercepting and de-capsulating, by the particular split edge device, the overlay packet to obtain the instructions.

6. The method as recited in claim 1 , further comprising instructing, by the application device, the at least one split edge device to apply one or more policies for managing data.

7. The method as recited in claim 1 , wherein one or more packets comprising the instance of the second content is encapsulated in an overlay packet comprising an overlay header by a tunnel device prior to being delivered to the at least one split edge device, and wherein the method further comprises:

intercepting and de-capsulating, by the at least one split edge device, the overlay packet to obtain the instance of the second content.

8. The method as recited in claim 1 , wherein the instance of the second content is sent by the application device to a plurality of split edge devices in the network, the method further comprising sending, by the application device, instructions to store the instance of the second content to a particular location in content cache of the plurality of split edge devices in the network.

9. The method as recited in claim 8 , wherein each split edge device in the network is separately configured to deliver the instance of the second content from the particular location in content cache to one or more end-user devices responsive to the second triggering condition.

10. The method as recited in claim 1 , further comprising:

determining, by a particular split edge device in the network, an amount of data transmitted to each end-user device connected to the particular split edge device over a predetermined period of time; and

transmitting, by the particular split edge device, the amount of data to another device for tracking data use by all end-user devices in communication with the particular split edge device.

11. The method as recited in claim 1 , further comprising:

receiving, by a particular split edge device in the network, the instance of the second content and second instructions comprising reference to a particular location to store the instance of the second content in content cache;

storing, by the particular split edge device, the instance of the second content to the particular location in a content cache of the particular split edge device in accordance with the second instructions; and

delivering, by the particular split edge device, the instance of the second content to the second application operating on the second end-user device responsive to the second triggering condition.

12. The method as recited in claim 11 , wherein packets comprising the instance of the second content and second instructions are encapsulated in first overlay packets, each first overlay packet comprising an overlay header, wherein the instance of the second content and the second instructions are encrypted within the first overlay packets, and wherein the method further comprises:

intercepting and de-capsulating, by the particular split edge device, the first overlay packets to obtain encrypted data;

decrypting, by the particular split edge device using one or more encryption keys, the encrypted data to obtain the instance of the second content and the second instructions;

encrypting, by the particular split edge device using the one or more encryption keys, the instance of the second content to obtain encrypted content; and

encapsulating, by the particular split edge device, the encrypted content in one or more second overlay packets, each second overlay packet comprising the overlay header,

wherein delivering the instance of the second content to the second application operating on the second end-user device comprises transmitting, by the particular split edge device, the one or more second overlay packets comprising the encrypted content to the second application operating on the second end-user device.

13. The method as recited in claim 1 , further comprising controlling, by the application device, a transport stack for managing communications with each end-user device.

14. The method as recited in claim 1 , wherein the first triggering condition is selected from a group comprising:

receiving, by the application device from a first application operating on a first end-user device, a first application-layer request for the first content, wherein the first application-layer request is received via the network; and

identifying a set of conditions predicting imminent use of the first content on one or more end-user devices to enable the first content to be pre-populated in content cache of the at least one split edge device.

15. The method as recited in claim 1 , further comprising:

sending, by the application device, second instructions to the at least one split edge device to perform one or more actions on the first content prior to delivering the first content to one or more end-user devices.

16. A non-transitory computer readable medium comprising a set of instructions, which when executed by a hardware processor, causes the hardware processor to perform a method comprising:

determining, by an application device, occurrence of a first triggering condition, the first triggering condition prompting the application device to provide a first content accessible to the application device to at least one split edge device in a network, the at least one split edge device being configured to deliver the first content to a first application operating on a first end-user device;

determining, by the application device, whether an instance of the first content is stored to content cache of the at least one split edge device;

responsive to determining that the instance of the first content is stored to content cache of the at least one split edge device:

sending, by the application device via the network, instructions to the at least one split edge device, the instructions comprising reference to a location of the instance of the first content in content cache of the at least one split edge device and instructing the at least one split edge device to send the instance of the first content to the first application; and

refraining, by the application device, from sending the instance of the first content to the first application;

determining, by the application device, occurrence of a second triggering condition, the second triggering condition prompting the application device to provide a second content accessible to the application device to the at least one split edge device, the at least one split edge device being configured to deliver the second content to a second application operating on a second end-user device;

determining, by the application device, whether an instance of the second content is stored to content cache of a split edge device in the network; and

responsive to determining that the instance of the second content is not stored to content cache of any split edge device in the network: sending, by the application device, the instance of the second content to the at least one split edge device.

17. The non-transitory computer readable medium as recited in claim 16 , wherein the method further comprises:

receiving, by a particular split edge device, the instructions comprising the reference to the location of the instance of the first content in content cache and instructing the at least one split edge device to send the instance of the first content to the first application;

retrieving, by the particular split edge device, the instance of the first content from the location in a content cache of the particular split edge device according to the instructions; and

delivering, by the particular split edge device, the instance of the first content to the first application operating on the first end-user device responsive to the instructions.

18. The non-transitory computer readable medium as recited in claim 17 , wherein the method further comprises:

receiving, by the application device, a plurality of application-layer requests for the first content from a plurality of end-user devices; and

sending, by the application device, second instructions to the particular split edge device, the second instructions comprising the reference to the location of the instance of the first content in the content cache and instructing the particular split edge device to deliver the instance of the first content to the plurality of end-user devices.

19. A system, comprising:

a hardware processor; and

a non-transitory computer readable medium comprising a set of instructions, which when executed by the hardware processor, causes the hardware processor to perform a method comprising:

determining, by an application device, occurrence of a first triggering condition, the first triggering condition prompting the application device to provide a first content accessible to the application device to at least one split edge device in a network, the at least one split edge device being configured to deliver the first content to a first application operating on a first end-user device;

determining, by the application device, whether an instance of the first content is stored to content cache of the at least one split edge device;

responsive to determining that the instance of the first content is stored to content cache of the at least one split edge device:

sending, by the application device via the network, instructions to the at least one split edge device, the instructions comprising reference to a location of the instance of the first content in content cache of the at least one split edge device and instructing the at least one split edge device to send the instance of the first content to the first application; and

refraining, by the application device, from sending the instance of the first content to the first application;

determining, by the application device, occurrence of a second triggering condition, the second triggering condition prompting the application device to provide a second content accessible to the application device to the at least one split edge device, the at least one split edge device being configured to deliver the second content to a second application operating on a second end-user device;

determining, by the application device, whether an instance of the second content is stored to content cache of a split edge device in the network; and

responsive to determining that the instance of the second content is not stored to content cache of any split edge device in the network: sending, by the application device, the instance of the second content to the at least one split edge device.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 22, 2022
From: LAKSHMINARASIMHAN, SRIKANTH; DEVANAGONDI, HARISH RAMAMURTHY; SHAH, JAY; SABATO, SIMON LUIGI
To: LILAC CLOUD, INC.
Reel/Frame 059068/0073 →
Continuity (2)
Provisional Application 63149650 · Feb 15, 2021
Related Publication 20220263912A1 · Aug 18, 2022
Cited By (1)
US 12,273,421