IP Library › Granted Patent US 11,394,581
Granted Patent B2
US 11,394,581 · App. 16/460,430 · Granted Jul 19, 2022

Telecommunications network with data centre deployment

Inventors: Bozidar Radunovic (Cambridge, GB); Christos Gkantsidis (Ely, GB); Thomas Karagiannis (Cambridge, GB); Parisa Jalili Marandi (Cambridge, GB); Binh Quang Nguyen (Salt Lake City, UT); Matthew John Balkwill (Trowbridge, GB)
Assignee: Microsoft Technology Licensing, LLC
H04L12/4633H04L1/18H04L41/0659H04L41/0668H04L67/1034H04L67/2852H04W24/04
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,394,581
App. No.
16/460,430
Granted
Jul 19, 2022
Kind
B2
Abstract

In various examples there is a telecommunications network access point of a telecommunications network in which the control plane is implemented using a data center comprising a plurality of interconnected computation nodes. The access point comprises a memory holding a log of encapsulated control messages the control messages being messages of a control protocol of the telecommunications network. The access point has a processor configured, for a control message to be sent by the access point to a node in the data center, to: generate a message identifier; encapsulate the control message in a packet of a communications protocol of the data center, add the message identifier to a header of the encapsulated control message; send the encapsulated control message to the node of the data center; and store a record of the encapsulated control message and node of the control plane in the log.

Claims (53)

1. A data center for providing reliable network functionality for a telecommunications network, the data center comprising:

a load balancer implemented using hardware and configured to receive an encapsulated message from an access point of the telecommunications network, the encapsulated message including a control message of a control protocol of the telecommunications network;

a plurality of virtual machines implemented using hardware and configured to act as control nodes for the telecommunications network, each virtual machine configured to receive and process the encapsulated message from the load balancer to control respective ones of the plurality of virtual machines according to the encapsulated message;

wherein a first one of the plurality of virtual machines is associated to act as a respective control node for an end user device associated with the encapsulated message and receive the encapsulated message from the load balancer, and

wherein a second one of the plurality of virtual machines is associated to act as the respective control node for the end user device upon failure of the first one of the plurality of virtual machines;

a persistent data store configured to store routing table data, wherein a second plurality of virtual machines are configured to access the routing table data from the persistent data store upon determination that any one of a plurality of routing nodes does not have a cached route to route a data packet from the end user device to a destination.

2. The data center of claim 1 , further comprising:

a replication node implemented using hardware, wherein the first one of the plurality of virtual machines is configured to transmit a message to the replication node upon receipt of the encapsulated message to store state information of the first one of the plurality of virtual machines.

3. The data center of claim 2 , wherein the second one of the plurality of virtual machines is configured to access the state information from the replication node upon receipt of the encapsulated message following the failure of the first one of the plurality of virtual machines.

4. The data center of claim 1 , wherein the load balancer is configured to transmit the encapsulated message to the first one of the plurality of virtual machines using a protocol different than the control protocol of the telecommunications network.

5. The data center of claim 4 , wherein the telecommunications control protocol is a long term evolution (LTE) control protocol and wherein the data center protocol is a transmission control protocol (TCP).

6. The data center of claim 1 , wherein the load balancer is further configured to:

receive a first instance of the encapsulated message from the access point and transmit the first instance to the first one of the plurality of virtual machines;

detect failure of the first one of the plurality of virtual machines; and

receive a second instance of the encapsulated message from the access point and transmit the second instance to the second one of the plurality of virtual machines.

7. The data center of claim 6 , wherein the load balancer is configured to detect failure of the first one of the plurality of virtual machines via polling.

8. The data center of claim 1 , wherein the plurality of virtual machines is a first plurality of virtual machines, and wherein the data center further comprises:

a second plurality of virtual machines implemented using hardware and configured to act as routing nodes for the telecommunications network;

wherein a first one of the second plurality of virtual machines is associated to act as a respective routing node for the end user device and route a data packet from the end user device to a destination, and

wherein a second one of the second plurality of virtual machines is associated to act as the respective routing node for the end user device upon failure of the first one of the second plurality of virtual machines.

9. The data center of claim 8 , wherein:

the persistent data store is implemented in hardware wherein each of the second plurality of virtual machines are configured to access the routing table data from the persistent data store upon determination that a respective one of the second plurality of virtual machines does not have a cached route for the destination of the data packet.

10. A method for providing reliable network functionality for a telecommunications network, the method comprising:

receiving, by a load balancer, an encapsulated message from an access point of the telecommunications network, the encapsulated message including a. control message of a control protocol of the telecommunications network;

receiving, by a first one of a plurality of virtual machines acting as a respective control node for an end user device associated with the encapsulated message, the encapsulated message from the load balancer, wherein the plurality of virtual machines are configured to act as control nodes for the telecommunications network, each virtual machine configured to receive and process the encapsulated message from the load balancer to control respective ones of the plurality of virtual machines according to the encapsulated message;

detecting a failure of the first one of the plurality of virtual machines; and

receiving, by a second one of the plurality of virtual machines associated to act as the respective control node for the end user device upon failure of the first one of the plurality of virtual machines, the encapsulated message from the load balancer;

storing routing table data in a persistent data store, wherein a second plurality of virtual machines are configured to access the routing table data from the persistent data store upon determination that any one of a plurality of routing node does not have a cached route to route a data packet from the end user device to a destination.

11. The method of claim 10 , further comprising:

transmitting, by the first one of the plurality of virtual machines, a message to a replication node upon receipt of the encapsulated message to store state information of the first one of the plurality of virtual machines.

12. The method of claim 11 , further comprising:

accessing, by the second one of the plurality of virtual machines, the state information from the replication node upon receipt of the encapsulated message following the failure of the first one of the plurality of virtual machines.

13. The method of claim 10 , further comprising transmitting, by the load balancer, the encapsulated message to the first one of the plurality of virtual machines using a protocol different than the control protocol of the telecommunications network.

14. The method of claim 13 , wherein the telecommunications control protocol is a long term evolution (LTE) control protocol and wherein the data center protocol is a transmission control protocol (TCP).

15. The method of claim 10 , wherein detecting the failure of the first one of the plurality of virtual machines comprises detect failure of the first one of the plurality of virtual machines via polling by the load balancer.

16. The method of claim 10 , wherein the plurality of virtual machines is a first plurality of virtual machines, and wherein the method further comprises:

acting, by a first one of a second plurality of virtual machines, as a respective routing node for the end user device to route a data packet from the end user device to a destination, and

acting, by a second one of the second plurality of virtual machines, as the respective routing node for the end user device upon detection of a failure of the first one of the second. plurality of virtual machines.

17. The method of claim 16 ,

wherein each of the second plurality of virtual machines are configured to access the routing table data from the persistent data store upon determination that a respective one of the second plurality of virtual machines does not have a cached route for the destination of the data packet.

18. A system comprising:

load balancing means for receiving an encapsulated message from an access point of a telecommunications network, the encapsulated message including a control message of a control protocol of the telecommunications network;

a plurality of means for acting as control nodes for the telecommunications network, each means for acting as a control node configured to receive and process the encapsulated message from the load balancing means to control respective ones of the plurality of means for acting as control nodes according to the encapsulated message;

wherein a first one of the means for acting as control nodes is associated to act as a respective control node for an end user device associated with the encapsulated message and receive the encapsulated message from the load balancing means, and

wherein a second one of the plurality of means for acting as control nodes is associated to act as the respective control node for the end user device upon failure of the first one of the plurality of means for acting as control nodes;

storage means for storing routing table data;

a second plurality of means for accessing the routing table data from the persistent data store upon determination that any one of a plurality of routing nodes does not have a cached route to route a data packet from the end user device to a destination.

19. The system of claim 18 , further comprising:

a plurality of means for acting as routing nodes for the telecommunications network;

wherein a first one of plurality of means for acting as routing nodes is associated to act as a respective routing node for the end user device and route a data packet from the end user device to a destination, and

wherein a second one of the plurality of means for acting as routing nodes is associated to act as the respective routing node for the end user device upon failure of the first one of the plurality of acting as routing nodes.

20. The system of claim 19 ,

wherein each of the plurality of means for acting as routing nodes are configured to access the routing table data from storage means upon determination that a respective one of the plurality of means for acting as routing nodes does not have a cached route for the destination of the data packet.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 13, 2019
From: RADUNOVIC, BOZIDAR; GKANTSIDIS, CHRISTOS; KARAGIANNIS, THOMAS; MARANDI, PARISA JALILI; NGUYEN, BINH QUANG; BALKWILL, MATTHEW JOHN
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 050036/0831 →
Continuity (2)
Continuation 15406348 · Jan 13, 2017
Related Publication 20200028712A1 · Jan 23, 2020