IP Library Granted Patent US 9,443,204
Granted Patent B2
US 9,443,204 · App. 13/954,230 · Granted Sep 13, 2016

Distributed architecture for machine learning based computation using a decision control point

Inventors: Jean-Philippe Vasseur (Saint Martin d'Uriage, FR); Grégory Mermoud (Veyras, CH); Sukrit Dasgupta (Norwood, MA)
Assignee: Cisco Technology, Inc.
G06N99/005G06F11/3433H04L67/1029
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 9,443,204
App. No.
13/954,230
Granted
Sep 13, 2016
Kind
B2
Abstract

In one embodiment, a request is received from a requesting node in a network to assist in distributing a task of the requesting node. Upon receiving the message, a capability to perform the task of one or more helping nodes in the network is evaluated, and a helping node of the one or more helping nodes is selected to perform the task based on the evaluated capability of the selected helping node. The distribution of the task is then authorized from the requesting node to the selected helping node.

Claims (60)

1. A method, comprising:

receiving at a centralized network device, a request sent from a requesting node in a network to assist the requesting node in distributing a task of the requesting node that the requesting node is not capable of running;

in response to receiving the request, evaluating, based on a Learning Machine-based algorithm executing on the centralized network device, a plurality of nodes to identify one or more helping nodes of the plurality of nodes that are capable of performing the task;

selecting, based on results of the Learning Machine-based algorithm, a helping node of the one or more helping nodes to perform the task based on the evaluated capability of the selected helping node; and

authorizing, by the centralized network device, the distribution of the task from the requesting node to the selected helping node, wherein the helping node temporarily hosts the task until the task is completed.

2. The method according to claim 1 , wherein the evaluating plurality of nodes to identify the one or more helping nodes of the plurality of nodes that are capable of performing the task comprises:

evaluating historical data relating to a particular helping node.

3. The method according to claim 2 , wherein the historical data includes one or more of: information relating to a previous task performed by the particular helping node, an indication of success or failure of the previous task, or a degree of confidence associated with the particular helping node.

4. The method according to claim 2 , further comprising:

storing the historical data in a local database; and

when evaluating the historical data relating to the particular helping node, accessing the historical data from the local database.

5. The method according to claim 1 , wherein the evaluating the plurality of nodes to identify the one or more helping nodes that are capable of performing the task comprises:

evaluating information specified in the received request.

6. The method according to claim 5 , wherein the information specified in the received request includes one or more of: a period of time during which the task is to be performed, an indication of type of the task, a resource necessary to perform the task, or a network performance metric.

7. The method according to claim 1 , wherein the evaluating the plurality of nodes to identify the one or more helping nodes that are capable of performing the task comprises:

evaluating a network-based parameter relating to the network or a particular helping node.

8. The method according to claim 1 , wherein the authorizing of the distribution of the task comprises:

sending a message to the requesting node indicating an identity of the selected helping node.

9. The method according to claim 1 , further comprising:

receiving a message from the selected helping node indicating a completion of the task.

10. The method according to claim 8 , further comprising:

storing information related to the completed task in a local database.

11. The method according to claim 1 , further comprising:

predicting an amount of time for the selected helping node to complete the task;

comparing the predicted amount of time to an actual amount of time for the selected helping node to complete the task; and

determining a degree of confidence associated with the selected helping node based on the comparison.

12. An apparatus, comprising:

one or more network interfaces that communicate with a network;

a processor coupled to the one or more network interfaces and configured to execute a process; and

a memory configured to store program instructions which contain the process executable by the processor, the process comprising:

receiving a request sent from a requesting node in the network to assist the requesting node in distributing a task of the requesting node that the requesting node is not capable of running;

in response to receiving the request, evaluating, based on a Learning Machine-based algorithm executing on the apparatus, a plurality of nodes to identify one or more helping nodes of the plurality of nodes that are capable of performing the task;

selecting, based on results of the Learning Machine-based algorithm, a helping node of the one or more helping nodes to perform the task based on the evaluated capability of the selected helping node; and

authorizing the distribution of the task from the requesting node to the selected helping node, wherein the helping node temporarily hosts the task until the task is completed.

13. The apparatus according to claim 12 , wherein the evaluating the plurality of nodes to identify the one or more helping nodes of the plurality of nodes that are capable of performing the task comprises:

evaluating historical data relating to a particular helping node.

14. The apparatus according to claim 13 , wherein the historical data includes one or more of: information relating to a previous task performed by the particular helping node, an indication of success or failure of the previous task, or a degree of confidence associated with the particular helping node.

15. The apparatus according to claim 13 , wherein the process further comprises:

storing the historical data in a local database; and

when evaluating the historical data relating to the particular helping node, accessing the historical data from the local database.

16. The apparatus according to claim 12 , wherein the evaluating the plurality of nodes to identify the one or more helping nodes of the plurality of nodes that are capable of performing the task comprises:

evaluating information specified in the received request.

17. The apparatus according to claim 16 , wherein the information specified in the received request includes one or more of: a period of time during which the task is to be performed, an indication of type of the task, a resource necessary to perform the task, or a network performance metric.

18. The apparatus according to claim 12 , wherein the evaluating the plurality of nodes to identify the one or more helping nodes of the plurality of nodes that are capable of performing the task comprises:

evaluating a network-based parameter relating to the network or a particular helping node.

19. The apparatus according to claim 12 , wherein the authorizing of the distribution of the task comprises:

sending a message to the requesting node indicating an identity of the selected helping node.

20. The apparatus according to claim 12 , wherein the process further comprises:

receiving a message from the selected helping node indicating a completion of the task.

21. The apparatus according to claim 20 , wherein the process further comprises:

storing information related to the completed task in a local database.

22. The apparatus according to claim 12 , wherein the process further comprises:

predicting an amount of time for the selected helping node to complete the task;

comparing the predicted amount of time to an actual amount of time for the selected helping node to complete the task; and

determining a degree of confidence associated with the selected helping node based on the comparison.

23. A tangible non-transitory computer readable medium storing program instructions that cause a computer to execute a process, the process comprising:

receiving a request sent from a requesting node in a network to assist the requesting node in distributing a task of the requesting node that the requesting node is not capable of running;

in response to receiving the request, evaluating, based on a Learning Machine-based algorithm, a plurality of nodes to identify one or more helping nodes of the plurality of nodes that are capable of performing the task;

selecting, based on results of the Learning Machine-based algorithm, a helping node of the one or more helping nodes to perform the task based on the evaluated capability of the selected helping node; and

authorizing the distribution of the task from the requesting node to the selected helping node, wherein the helping node temporarily hosts the task until the task is completed.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 30, 2013
From: VASSEUR, JEAN-PHILIPPE; MERMOUD, GREGORY; DASGUPTA, SUKRIT
To: CISCO TECHNOLOGY, INC.
Reel/Frame 030905/0635 →
Continuity (2)
Provisional Application 61761132 · Feb 5, 2013
Related Publication 20140222730A1 · Aug 7, 2014