IP Library Granted Patent US 10,116,590
Granted Patent B2
US 10,116,590 · App. 14/845,078 · Granted Oct 30, 2018

Network virtualization and resource allocation for the internet of things

Inventors: Neda Cvijetic (San Jose, CA); Konstantinos Kanonakis (New Brunswick, NJ); Ting Wang (West Windsor, NJ); Jing Wang (Atlanta, NJ)
Assignee: NEC Corporation
H04L47/821H04L43/08H04L67/12
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,116,590
App. No.
14/845,078
Granted
Oct 30, 2018
Kind
B2
Abstract

A system and method for network virtualization and resource allocation, including storing one or more received network requests in a request table, and updating at least one of a flow table, a waiting list table, or a candidate group map based on the one or more received network requests. The updating includes monitoring a transmission progress of each of one or more flows in a network of interconnected computing devices and moving completed flows from the flow table to a success list, moving requests in the waiting list table which have reached an attempt threshold from the flow table to a fail list, and compiling any residual requests in the waiting list with new requests to generate a new request table. A deterministic request allocation and/or an optimizing request allocation is performed based on the new request table.

Claims (28)

1. A computer-implemented method for network virtualization and resource allocation, comprising:

storing one or more received network requests in a request table;

managing, using a hardware processor coupled to a memory, network flows and requests by dynamically updating a flow table, a waiting list table, and a candidate group map based on the one or more received network requests, the managing further comprising:

monitoring a transmission progress of each of one or more flows in a network of interconnected computing devices, and moving completed flows from the flow table to a success list;

moving requests in the waiting list table which have reached an attempt threshold from the flow table to a fail list;

compiling any residual requests in the waiting list with new requests to generate a new request table; and

minimizing bandwidth usage by enabling the network to serve a plurality of requests simultaneously by sharing a single copy of bandwidth resources in central nodes using multicasting; and

fulfilling at least one of a deterministic request allocation or an optimizing request allocation based on the new request table,

wherein if no central node is determined to be available to accommodate a highly ranked request, lower ranked in-progress flows are iteratively suspended until the highly ranked request is accommodated.

2. The method as recited in claim 1 , wherein the deterministic request allocation further comprises sorting the requests based on at least one of request priorities or values of profit ratios.

3. The method as recited in claim 1 , wherein the multicasting further comprising serving a request without consuming any additional bandwidth in one or more central nodes by locating one or more reusable flows carrying a requested service at a same transmission progress.

4. The method as recited in claim 1 , further comprising suspending one or more in-progress flows to free-up bandwidth resources if higher priority incoming requests are received.

5. The method as recited in claim 4 , further comprising generating a suspendable request list.

6. The method as recited in claim 5 , wherein if the suspendable list is not empty, a lowest priority in-progress flow from the suspendable list is suspended to enable space for the higher priority incoming requests.

7. A system for network virtualization and resource allocation, comprising:

a hardware processor coupled to a storage medium for storing one or more received network requests in a request table, the hardware processor being configured to:

manage network flows and requests by controlling adjustment, using an updater, of a flow table, a waiting list table, and a candidate group map based on the one or more received network requests, the updater being further configured to:

monitor a transmission progress of each of one or more flows in a network of interconnected computing devices and move completed flows from the flow table to a success list;

move requests in the waiting list table which have reached an attempt threshold from the flow table to a fail list;

compile any residual requests in the waiting list with new requests to generate a new request table; and

minimize bandwidth usage by enabling the network to serve a plurality of requests simultaneously by sharing a single copy of bandwidth resources in central nodes using a multicaster; and

fulfill, using a request allocator, at least one of a deterministic request allocation or an optimizing request allocation based on the new request table,

wherein if no central node is determined to be available to accommodate a highly ranked request, lower ranked in-progress flows are iteratively suspended until the highly ranked request is accommodated.

8. The system as recited in claim 7 , wherein the deterministic request allocation further comprises sorting the requests based on at least one of request priorities or values of profit ratios.

9. The system as recited in claim 7 , wherein the multicaster serves a request without consuming any additional bandwidth in one or more central nodes by locating one or more reusable flows carrying a requested service at a same transmission progress.

10. The system as recited in claim 7 , further comprising a controller for suspending one or more in-progress flows to free-up bandwidth resources if higher priority incoming requests are received.

11. The system as recited in claim 10 , wherein a table generator is configured to generate a suspendable request list based on the one or more in-progress flows suspended by the controller.

12. The system as recited in claim 11 , wherein if the suspendable request list is not empty, a lowest priority in-progress flow from the suspendable request list is suspended to enable space for the higher priority incoming requests.

Assignments (5)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 10, 2026
From: NEC CORPORATION
To: NEC ASIA PACIFIC PTE LTD.
Reel/Frame 074916/0414 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 10, 2026
From: NEC ASIA PACIFIC PTE LTD.
To: CBS INTERACTIVE INC.
Reel/Frame 074916/0421 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 25, 2026
From: NEC CORPORATION
To: NEC ASIA PACIFIC PTE LTD.
Reel/Frame 074814/0461 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 21, 2018
From: NEC LABORATORIES AMERICA, INC.
To: NEC CORPORATION
Reel/Frame 046818/0589 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 3, 2015
From: CVIJETIC, NEDA; KANONAKIS, KONSTANTINOS; WANG, TING; WANG, JING
To: NEC LABORATORIES AMERICA, INC.
Reel/Frame 036491/0628 →
Continuity (2)
Provisional Application 62062986 · Oct 13, 2014
Related Publication 20160105376A1 · Apr 14, 2016