# US 11,444,806 B2 · Telecommunications network with data centre deployment

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 11,444,806 B2
- Document ID: US11444806B2
- Status: Granted
- Kind: B2
- Application number: 16/460,430
- Filed: 2019-07-02
- Published: 2020-01-23
- Granted: 2022-09-13
- Earliest claimed: 2017-01-13
- Assignees: Microsoft Technology Licensing, LLC
- Applicants: Microsoft Technology Licensing, LLC
- Inventors: Bozidar Radunovic; Christos Gkantsidis; Thomas Karagiannis; Parisa Jalili Marandi; Binh Quang Nguyen; Matthew John Balkwill
- Web page: https://patentgrep.com/patent/US11444806B2

## CPC

- H04L 41/0668: by dynamic selection of recovery network elements, e.g. replacement by the most appropriate element after failure
- H04L 1/18: Automatic repetition systems, e.g. Van Duuren systems
- H04L 12/4633: {Interconnection of networks using encapsulation techniques, e.g. tunneling}
- H04L 41/0659: by isolating or reconfiguring faulty entities
- H04L 67/1034: Reaction to server failures by a load balancer
- H04L 67/5682: Policies or rules for updating, deleting or replacing the stored data
- H04W 24/04: Arrangements for maintaining operational condition
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- H04W: WIRELESS COMMUNICATION NETWORKS (broadcast communication H04H; communication systems using wireless links for non-selective communication, e.g. wireless extensions H04M1/72)

## 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

### Claim 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.

### Claim 2 (depends on 1)

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.

### Claim 3 (depends on 2)

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.

### Claim 4 (depends on 1)

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.

### Claim 5 (depends on 4)

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).

### Claim 6 (depends on 1)

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.

### Claim 7 (depends on 6)

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.

### Claim 8 (depends on 1)

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.

### Claim 9 (depends on 8)

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.

### Claim 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.

### Claim 11 (depends on 10)

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.

### Claim 12 (depends on 11)

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.

### Claim 13 (depends on 10)

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.

### Claim 14 (depends on 13)

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).

### Claim 15 (depends on 10)

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.

### Claim 16 (depends on 10)

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.

### Claim 17 (depends on 16)

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.

### Claim 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.

### Claim 19 (depends on 18)

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.

### Claim 20 (depends on 19)

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.
