IP Library › Granted Patent US 10,735,284
Granted Patent B2
US 10,735,284 · App. 15/843,202 · Granted Aug 4, 2020

System and method for managing a moving peer-to-peer network

Inventors: Fatemeh Jalali (Hawthorn East, AU); Ramachandra Rao Kolluri (Balaclava, AU); Timothy M. Lynar (Melbourne, AU); Frank Suits (Brighton, AU)
Assignee: International Business Machines Corporation
H04L43/045G06N20/00H04L41/0896H04L41/12H04L47/70H04L67/104H04L41/147H04L43/0852H04L43/0894
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 10,735,284
App. No.
15/843,202
Granted
Aug 4, 2020
Kind
B2
Abstract

A system, method and program product for managing a moving peer-to-peer network. A system is provided that a node tracking system that collects tracking information of nodes in a moving P2P network including position, connection status and computation capability; a network representation system that stores the tracking information in a dynamic graph that specifies nodes and connections between the nodes; a task manager for receiving a task submitted by a requesting node for a service implemented by a provider node; and a network allocation system that determines and allocates an optimal path back and forth between the requesting node and the provider node, wherein the optimal path is selected to minimize an overall wall-time, and wherein the network allocation system estimates future positions of moving nodes for determining the optimal path.

Claims (39)

1. A computer system for managing a moving peer-to-peer (P2P) network, the computer system comprising:

one or more computer processors;

one or more computer readable storage devices; and

program instructions stored on the computer readable storage devices for execution by at least one of the one or more computer processors, the stored program instructions comprising:

program instructions to collect tracking information of nodes in the moving P2P network including position, connection status and computation capability;

program instructions to store the tracking information in a dynamic graph that specifies nodes and connections between the nodes;

program instructions to receive a task submitted by a requesting node for a service implemented by a provider node; and

program instructions to determine an optimal path back and forth between the requesting node and the provider node, wherein the optimal path is selected to minimize an overall wall-time, wherein the overall wall-time includes a time to transmit the request to the provider node plus a time to compute the task by the provider node plus a time to transmit the response back to the requesting node, and wherein the time to transmit the request to the provider node is computed as the size of the task multiplied by the sum of the length of the path, the latency of the path, and the available bandwidth of the path.

2. The computer system of claim 1 , wherein the dynamic graph further tracks a maximum number of connections the node can make at a single time, a length of a path between nodes, a latency of the path, and an available bandwidth of the path.

3. The computer system of claim 1 , wherein the time to compute the task is computed using one of:

the size of the task multiplied by a computation power per unit time of the provider node; or

a machine learning algorithm.

4. The computer system of claim 1 , the stored program instructions further comprising:

program instructions to estimate future positions of moving nodes using a heuristic or machine learning that considers prior behavior of the moving nodes.

5. The computer system of claim 1 , wherein the program instructions to determine the provider node when the provider node is unspecified based on one of a heuristic or machine learning.

6. A computer program product for managing a moving peer-to-peer (P2P) network, the computer program product comprising:

one or more computer readable storage devices and program instructions stored on the one or more computer readable storage devices, the stored program instructions comprising:

program code that collects tracking information of nodes in the moving P2P network including position, connection status and computation capability;

program code that stores the tracking information in a dynamic graph that specifies nodes and connections between the nodes;

program code for receiving a task submitted by a requesting node for a service implemented by a provider node; and

program code that determines an optimal path back and forth between the requesting node and the provider node, wherein the optimal path is selected to minimize an overall wall-time, wherein the overall wall-time includes a time to transmit the request to the provider node plus a time to compute the task by the provider node plus a time to transmit the response back to the requesting node, and wherein the time to transmit the request to the provider node is computed as the size of the task multiplied by the sum of the length of the path, the latency of the path, and the available bandwidth of the path.

7. The program product of claim 6 , wherein the dynamic graph further tracks a maximum number of connections the node can make at a single time, a length of a path between nodes, a latency of the path, and an available bandwidth of the path.

8. The computer program product of claim 6 , wherein the time to compute the task is computed using one of:

the size of the task multiplied by a computation power per unit time of the provider node; or

a machine learning algorithm.

9. The computer program product of claim 6 , the stored program instructions further comprising program code that estimates future positions of moving nodes using a heuristic or machine learning that considers prior behavior of the moving nodes.

10. The computer program product of claim 6 , the stored program instructions further comprising program code that determines the provider node when the provider node is unspecified based on one of a heuristic or machine learning.

11. A computerized method that manages a moving peer-to-peer (P2P) network, comprising:

collecting tracking information of nodes in the moving P2P network including position, connection status and computation capability;

storing the tracking information in a dynamic graph that specifies nodes and connections between the nodes;

receiving a task submitted by a requesting node for a service implemented by a provider node; and

determining an optimal path back and forth between the requesting node and the provider node, wherein the optimal path is selected to minimize an overall wall-time, wherein the overall wall-time includes a time to transmit the request to the provider node plus a time to compute the task by the provider node plus a time to transmit the response back to the requesting node, and wherein the time to transmit the request to the provider node is computed as the size of the task multiplied by the sum of the length of the path, the latency of the path, and the available bandwidth of the path.

12. The method of claim 11 , wherein the dynamic graph further tracks a maximum number of connections the node can make at a single time, a length of a path between nodes, a latency of the path, and an available bandwidth of the path.

13. The method of claim 11 , wherein the time to compute the task is computed using one of:

the size of the task multiplied by a computation power per unit time of the provider node; or

a machine learning algorithm.

14. The method of claim 11 , further comprising:

predicting future positions of moving nodes; and

determining the provider node when the provider node is unspecified based on one of a heuristic or machine learning.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 15, 2017
From: JALALI, FATEMEH; KOLLURI, RAMACHANDRA RAO; LYNAR, TIMOTHY M.; SUITS, FRANK
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 044406/0109 →
Continuity (1)
Related Publication 20190190802A1 · Jun 20, 2019