IP Library Granted Patent US 11,843,656
Granted Patent B2
US 11,843,656 · App. 15/717,937 · Granted Dec 12, 2023

Dynamic application mobilization

Inventors: Ori Modai (Ramat Hasharon, IL); Orit Nissan-Messing (Hod Hasharon, IL); Yaron Haviv (Tel Mond, IL)
Assignee: Iguazio Systems Ltd.
H04L67/10G06F8/60G06F8/65G06F9/5077G06F9/5088H04L41/0816H04L41/0823H04L41/12H04L41/145H04L41/0686H04L41/082
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,843,656
App. No.
15/717,937
Granted
Dec 12, 2023
Kind
B2
Abstract

Systems and methods are disclosed for dynamic application mobilization. In one implementation, an application is modeled as a processing function. The processing function is placed at a first processing node within a processing network. One or more optimization operations are computed with respect to the processing function. The processing function is mobilized from the first processing node to a second processing node within the processing network in accordance with the one or more optimization operations.

Claims (65)

1. A system comprising:

a processing device; and

a memory coupled to the processing device and storing instructions that, when executed by the processing device, cause the system to perform operations comprising:

modeling an application as a processing function;

placing the processing function at a first processing node within a processing network;

computing one or more optimization operations with respect to the processing function;

in a first mobilization operation, mobilizing the processing function from the first processing node to a second processing node within the processing network in accordance with the one or more optimization operations;

determining an improved performance with respect to a third processing node within the processing network based on a mobilization of the processing function, in the first mobilization operation, from the first processing node to the second processing node; and

in a second mobilization operation, mobilizing the processing function from the second processing node to the third processing node within the processing network based on the improved performance as determined based on the mobilization of the processing function, in the first mobilization operation, from the first processing node to the second processing node.

2. The system of claim 1 , wherein modeling the application comprises modeling the application as a first processing function and a second processing function.

3. The system of claim 1 , wherein placing the processing function at the first processing node comprises configuring the processing function to receive one or more messages from a first message source.

4. The system of claim 1 , wherein placing the processing function at the first processing node comprises configuring the processing function to perform one or more operations with respect to a data node.

5. The system of claim 1 , wherein placing the processing function at the first processing node comprises configuring the processing function to process one or more messages received from a first message source.

6. The system of claim 1 , wherein the processing function is configured to provide one or more messages to another processing function executing within the processing network.

7. The system of claim 1 , wherein the memory further stores instructions to cause the system to perform operations comprising receiving one or more updates associated with one or more aspects of at least one of the processing function, the first processing node, the second processing node, or the processing network.

8. The system of claim 7 , wherein computing one or more optimization operations comprises computing the one or more optimization operations based on the one or more updates.

9. The system of claim 1 , wherein mobilizing the processing function from the first processing node to the second processing node comprises determining an improved performance of the application based on the mobilization of the processing function from the first processing node to the second processing node.

10. The system of claim 1 , wherein mobilizing the processing function from the first processing node to the second processing node comprises determining an improved performance with respect to the processing network based on the mobilization of the processing function from the first processing node to the second processing node.

11. The system of claim 1 , wherein mobilizing the processing function from the first processing node to the second processing node comprises:

marking the first processing node to reflect that the processing function is being mobilized;

initiating an instance of the processing function at the second processing node;

activating the instance of the processing function at the second processing node; and

disabling the processing function as running on the first processing node.

12. The system of claim 1 , wherein mobilizing the processing function from the first processing node to the second processing node comprises:

activating an instance of the processing function at the second processing node; and

disabling the processing function as running on the first processing node.

13. The system of claim 1 , wherein mobilizing the processing function from the first processing node to the second processing node comprises configuring the processing function as mobilized to the second processing node to request one or more messages from a first message source.

14. The system of claim 1 , wherein mobilizing the processing function from the first processing node to the second processing node comprises configuring the processing function as mobilized to the second processing node to perform one or more operations with respect to a data node.

15. A method comprising:

modeling an application as a processing function;

placing the processing function at a first processing node within a processing network;

computing one or more optimization operations with respect to the processing function;

in a first mobilization operation, mobilizing the processing function from the first processing node to a second processing node within the processing network in accordance with the one or more optimization operations;

determining an improved performance with respect to a third processing node within the processing network based on a mobilization of the processing function, in the first mobilization operation, from the first processing node to the second processing node; and

in a second mobilization operation, mobilizing the processing function from the second processing node to the third processing node within the processing network based on the improved performance as determined based on the mobilization of the processing function, in the first mobilization operation, from the first processing node to the second processing node.

16. The method of claim 15 , wherein modeling the application comprises modeling the application as a first processing function and a second processing function.

17. The method of claim 15 , wherein placing the processing function at the first processing node comprises configuring the processing function to receive one or more messages from a first message source.

18. The method of claim 17 , wherein the one or more messages comprise one or more events.

19. The method of claim 15 , wherein placing the processing function at the first processing node comprises configuring the processing function to perform one or more operations with respect to a data node.

20. The method of claim 15 , wherein placing the processing function at the first processing node comprises configuring the processing function to process one or more messages received from a first message source.

21. The method of claim 15 , wherein the processing function is configured to provide one or more messages to another processing function executing within the processing network.

22. The method of claim 15 , further comprising receiving one or more updates associated with one or more aspects of at least one of the processing function, the first processing node, the second processing node, or the processing network.

23. The method of claim 22 , wherein computing one or more optimization operations comprises computing the one or more optimization operations based on the one or more updates.

24. The method of claim 15 , wherein mobilizing the processing function from the first processing node to the second processing node comprises determining an improved performance of the application based on the mobilization of the processing function from the first processing node to the second processing node.

25. The method of claim 15 , wherein mobilizing the processing function from the first processing node to the second processing node comprises determining an improved performance with respect to the processing network based on the mobilization of the processing function from the first processing node to the second processing node.

26. The method of claim 15 , wherein mobilizing the processing function from the first processing node to the second processing node comprises:

marking the first processing node to reflect that the processing function is being mobilized;

initiating an instance of the processing function at the second processing node;

activating the instance of the processing function at the second processing node; and

disabling the processing function as running on the first processing node.

27. The method of claim 15 , wherein mobilizing the processing function from the first processing node to the second processing node comprises:

activating an instance of the processing function at the second processing node; and

disabling the processing function as running on the first processing node.

28. The method of claim 15 , wherein mobilizing the processing function from the first processing node to the second processing node comprises configuring the processing function as mobilized to the second processing node to request one or more messages from a first message source.

29. The method of claim 15 , wherein mobilizing the processing function from the first processing node to the second processing node comprises configuring the processing function as mobilized to the second processing node to perform one or more operations with respect to a data node.

30. A non-transitory computer readable medium having instructions stored thereon that, when executed by a processing device, cause the processing device to perform operations comprising:

modeling an application as a processing function;

placing the processing function at a first processing node within a processing network;

computing one or more optimization operations with respect to the processing function; and

based on the one or more optimization operations,

activating an instance of the processing function at a second processing node,

disabling the processing function as running on the first processing node;

determining an improved performance with respect to a third processing node within the processing network based on a mobilization of the processing function, in a first mobilization operation, from the first processing node to the second processing node; and

in a second mobilization operation, mobilizing the processing function from the second processing node to the third processing node within the processing network based on the improved performance as determined based on the mobilization of the processing function, in the first mobilization operation, from the first processing node to the second processing node.

31. The computer-readable medium of claim 30 , wherein mobilizing the processing function comprises determining an improved performance with respect to the processing network based on the mobilization of the processing function from the first processing node to the second processing node.

Assignments (2)
SECURITY INTEREST Recorded May 6, 2019
From: IGUAZIO SYSTEMS LTD.
To: KREOS CAPITAL VI (EXPERT FUND) L.P.
Reel/Frame 049086/0455 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 3, 2018
From: MODAI, ORI; NISSAN-MESSING, ORIT; HAVIV, YARON
To: IGUAZIO SYSTEMS LTD.
Reel/Frame 044528/0326 →
Continuity (1)
Related Publication 20190098073A1 · Mar 28, 2019