IP Library Granted Patent US 8,918,350
Granted Patent B2
US 8,918,350 · App. 13/140,014 · Granted Dec 23, 2014

Method and apparatus for routing data

Inventors: Orazio Toscano (Genoa, IT); Sergio Lanzone (Genoa, IT); Stefano Deprati (Genoa, IT)
Assignee: Optis Wireless Technology, LLC
H04L45/742H04L45/08
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 8,918,350
App. No.
13/140,014
Granted
Dec 23, 2014
Kind
B2
Abstract

A method of routing data through a router in a communications network, the method comprising receiving one or more data packets, each packet having a respective destination address and applying a lookup algorithm to each packet, said lookup algorithm being arranged to determine a respective route along which each packet is to be transmitted towards its destination address by searching an associated hierarchical data structure containing routing information for each packet. The method comprising forwarding each packet for transmission to its respective destination address, wherein said lookup algorithm comprises an adaptive learning component that is configured to dynamically identify an optimum starting position for searching within said hierarchical data structure, for each of the data packets, based on the results of one or more earlier searches.

Claims (51)

1. A method of routing data through a router in a communications network, the method comprising:

the router performing:

receiving one or more data packets, each packet having a respective destination address;

applying a lookup algorithm to each packet, said lookup algorithm being arranged to determine a respective route along which each packet is to be transmitted towards its destination address by searching an associated hierarchical data structure containing routing information for each packet; and

forwarding each packet for transmission to its respective destination address,

wherein said lookup algorithm comprises an adaptive learning component comprising an artificial neural network that is configured to dynamically identify an optimum starting position for searching within said hierarchical data structure, for each of the data packets, based on the results of one or more earlier searches performed by the lookup algorithm of the router by said artificial neural network evaluating search errors associated with each earlier search and dynamically updating one or more weights within said artificial neural network,

wherein evaluating said search error and updating said one or more weights enables said artificial neural network to learn the approximate location at which a particular routing information is to be found within said hierarchical data structure.

2. The method as claimed in claim 1 , wherein said search error is evaluated by minimising a weight-dependent error function.

3. The method as claimed in claim 1 , wherein said hierarchical data structure is a binary search tree.

4. The method as claimed in claim 3 , wherein said artificial neural network estimates, for each packet, the best starting root within said tree at which to commence a binary search for a particular routing information, based on said evaluated search errors and said one or more weights within said neural network.

5. The method as claimed in claim 4 , wherein estimating the best starting root involves identifying a root within said tree that is close to the location at which a particular routing information is predicted to be found, in order to thereby minimize the number of steps required when searching said tree.

6. The method as claimed in claim 4 , wherein said artificial neural network compares each search result to the corresponding estimated starting root to evaluate the neural network error and to update said one or more weights within said neural network.

7. The method as claimed in claim 1 , wherein evaluating said search errors and updating said one or more weights is performed according to a supervised learning mode.

8. The method as claimed in claim 7 , wherein said search errors are back-propagated in said supervised learning mode to update said one or more weights within said neural network.

9. A router, comprising:

at least one input port;

at least one output port;

a memory; and

a processor arranged to:

receive one or more data packets via said at least one input port, each packet having a respective destination address;

apply a lookup algorithm to each packet, said lookup algorithm being arranged to determine a respective route along which each packet is to be transmitted towards its destination address by searching an associated hierarchical data structure containing routing information for each packet; and

forward each packet for transmission to its respective destination address via said at least one output port,

wherein said lookup algorithm comprises an adaptive learning component comprising an artificial neural network that is configured to dynamically identify an optimum starting position for searching within said hierarchical data structure, for each of the data packets, based on the results of one or more earlier searches performed by the lookup algorithm of the router by said artificial neural network evaluating search errors associated with each earlier search and dynamically updating one or more weights within said artificial neural network, and

wherein evaluating said search error and updating said one or more weights enables said artificial neural network to learn the approximate location at which a particular routing information is to be found within said hierarchical data structure.

10. The router as claimed in claim 9 , wherein said search error is evaluated by minimising a weight-dependent error function.

11. The router as claimed in claim 9 , wherein said hierarchical data structure is a binary search tree.

12. The method as claimed in claim 9 , wherein said artificial neural network estimates, for each packet, the best starting root within said tree at which to commence a binary search for a particular routing information, based on said evaluated search errors and said one or more weights within said neural network.

13. The method as claimed in claim 9 , wherein estimating the best starting root involves identifying a root within said tree that is close to the location at which a particular routing information is predicted to be found, in order to thereby minimize the number of steps required when searching said tree.

14. The method as claimed in claim 9 , wherein said artificial neural network compares each search result to the corresponding estimated starting root to evaluate the neural network error and to update said one or more weights within said neural network.

15. The method as claimed in claim 9 , wherein evaluating said search errors and updating said one or more weights is performed according to a supervised learning mode.

16. The method as claimed in claim 15 , wherein said search errors are back-propagated in said supervised learning mode to update said one or more weights within said neural network.

17. A communications network, comprising:

a plurality of communications channels;

a plurality of computing devices, each device defining a node within said network that is connected to one or more of said channels; and

at least one router comprising:

at least one input port;

at least one output port;

a memory; and

a processor arranged to:

receive one or more data packets via said at least one input port, each packet having a respective destination address;

apply a lookup algorithm to each packet, said lookup algorithm being arranged to determine a respective route along which each packet is to be transmitted towards its destination address by searching an associated hierarchical data structure containing routing information for each packet; and

forward each packet for transmission to its respective destination address via said at least one output port,

wherein said lookup algorithm comprises an adaptive learning component comprising an artificial neural network that is configured to dynamically identify an optimum starting position for searching within said hierarchical data structure, for each of the data packets, based on the results of one or more earlier searches performed by the lookup algorithm of the processor by said artificial neural network evaluating search errors associated with each earlier search and dynamically updating one or more weights within said artificial neural network,

wherein evaluating said search error and updating said one or more weights enables said artificial neural network to learn the approximate location at which a particular routing information is to be found within said hierarchical data structure, and

wherein said at least one router is arranged to route data between one or more of said nodes within said network.

18. A non-transitory data carrier having computer readable instructions embodied therein for routing data through a communications network, the computer readable instructions comprising instructions to cause a processor within a router to perform the steps of a method of routing data through a router in a communications network, the method comprising:

receiving one or more data packets, each packet having a respective destination address;

applying a lookup algorithm to each packet, said lookup algorithm being arranged to determine a respective route along which each packet is to be transmitted towards its destination address by searching an associated hierarchical data structure containing routing information for each packet; and

forwarding each packet for transmission to its respective destination address,

wherein said lookup algorithm comprises an adaptive learning component comprising an artificial neural network that is configured to dynamically identify an optimum starting position for searching within said hierarchical data structure, for each of the data packets, based on the results of one or more earlier searches performed by the lookup algorithm of the router by said artificial neural network evaluating search errors associated with each earlier search and dynamically updating one or more weights within said artificial neural network,

wherein evaluating said search error and updating said one or more weights enables said artificial neural network to learn the approximate location at which a particular routing information is to be found within said hierarchical data structure.

Assignments (6)
RELEASE OF SECURITY INTEREST Recorded Jul 15, 2016
From: HPS INVESTMENT PARTNERS, LLC
To: OPTIS WIRELESS TECHNOLOGY, LLC
Reel/Frame 039361/0001 →
SECURITY INTEREST Recorded Mar 12, 2014
From: OPTIS WIRELESS TECHNOLOGY, LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION
Reel/Frame 032437/0638 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 19, 2014
From: TELEFONAKTIEBOLAGET L M ERICSSON (PUBL)
To: CLUSTER, LLC
Reel/Frame 032285/0421 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 19, 2014
From: CLUSTER, LLC
To: OPTIS WIRELESS TECHNOLOGY, LLC
Reel/Frame 032286/0501 →
LIEN Recorded Jan 24, 2014
From: OPTIS WIRELESS TECHNOLOGY, LLC
To: HIGHBRIDGE PRINCIPAL STRATEGIES, LLC, AS COLLATERAL AGENT
Reel/Frame 032180/0115 →
NUNC PRO TUNC ASSIGNMENT Recorded Sep 2, 2011
From: TOSCANO, ORAZIO; LANZONE, SERGIO; DEPRATI, STEFANO
To: TELEFONAKTIEBOLAGET LM ERICSSON (PUBL)
Reel/Frame 026852/0483 →
Continuity (1)
Related Publication 20110313961A1 · Dec 22, 2011