IP Library Granted Patent US 10,862,767
Granted Patent B2
US 10,862,767 · App. 16/367,135 · Granted Dec 8, 2020

Data packet prediction

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,862,767
App. No.
16/367,135
Granted
Dec 8, 2020
Kind
B2
Abstract

Apparatuses, methods, systems, and program products are disclosed for data packet prediction. An apparatus includes a processor and a memory that stores code executable by the processor. The code is executable by the processor to train a predictive model using incoming data packets. The incoming data packets are forwarded to one or more network devices. The predictive model is trained to predict a subsequent data packet based on an input data packet. The code is executable by the processor to forward the predictive model to the one or more network devices in response to the predictive accuracy of the predictive model satisfying a threshold accuracy. The predictive model generates predicted data packets at the one or more network devices. The code is executable by the processor to cease forwarding incoming data packets to the one or more network devices.

Claims (44)

1. An apparatus, comprising:

a processor;

a memory that stores code executable by the processor to:

train a machine learning predictive model on incoming data packets of a data stream, the incoming data packets forwarded to one or more network devices while the predictive model is trained, the predictive model trained to predict a subsequent data packet based on an input data packet of the data stream;

determine a predictive accuracy of the predictive model by comparing an incoming data packet of the data stream with a predicted data packet that is generated using the predictive model;

forward the predictive model to the one or more network devices in response to the predictive accuracy of the predictive model satisfying a threshold accuracy; and

cease forwarding incoming data packets of the data stream to the one or more network devices, the predictive model at each of the one or more network devices generating predicted data packets for the data stream based on a previously generated predicted data packet without reference to new incoming data packets from the data stream.

2. The apparatus of claim 1 , wherein the code is further executable by the processor to notify the one or more network devices to:

cease accepting forwarded data packets; and

start generating predictive data packets using the predictive model.

3. The apparatus of claim 1 , wherein the code is further executable by the processor to periodically send a synchronization packet to the one or more network devices to indicate to the one or more network devices to continue generating predictive data packets using the predictive model, the synchronization packet sent over side-band connections to the one or more network devices.

4. The apparatus of claim 1 , wherein the code is further executable by the processor to:

detect that the predictive accuracy of the predictive model for incoming data packets does not satisfy the threshold accuracy; and

notify the one or more network devices to cease generating predictive data packets and to accept forwarded data packets, the notification sent using side-band connections to the one or more network devices.

5. The apparatus of claim 1 , wherein the code is further executable by the processor to continue training the predictive model on new incoming data packets.

6. The apparatus of claim 5 , wherein the code is further executable by the processor to:

periodically forward incoming data packets to the one or more network devices to determine the predictive accuracy of the predictive model at the one or more network devices; and

send a new version of the predictive model that is trained on the new incoming data packets to the one or more network devices for generating predictive data packets.

7. The apparatus of claim 1 , wherein the predictive model comprises a Markov chain model that is trained on the incoming data packets using a Markov chain engine.

8. The apparatus of claim 7 , wherein the code is further executable by the processor to forward new incoming data packets to the one or more network devices after a predefined period of time to restart the Markov chain at the one or more network devices.

9. The apparatus of claim 1 , wherein the incoming data packets comprise sequential data packets for one or more of a video stream and an audio stream.

10. The apparatus of claim 9 , wherein the code is further executable by the processor to ignore incoming data packets that do not comprise data packets in the sequence for one or more of the video stream and the audio stream such that the predictive model is not trained on the ignored incoming data packets.

11. The apparatus of claim 1 , wherein the code is further executable by the processor to determine the predictive accuracy of the predictive model by determining whether a predicted data packet that is generated using the predictive model matches a corresponding incoming data packet.

12. The apparatus of claim 1 , wherein the code is further executable by the processor to receive a request for a forwarded data packet from the one or more network devices in response to expiration of a timeout period at the one or more network devices, the timeout period comprising a period of time where the one or more network devices do not receive forwarded data packets.

13. The apparatus of claim 1 , wherein the code is further executable by the processor to forward the incoming data packets that are used to train the predictive model to the one or more network devices while the predictive model is trained.

14. The apparatus of claim 1 , wherein the one or more network devices are connected to an endpoint device, the one or more network devices comprising one or more of a router, a switch, and a network card.

15. A method, comprising:

training, by use of a processor, machine learning predictive model on incoming data packets of a data stream, the incoming data packets forwarded to one or more network devices while the predictive model is trained, the predictive model trained to predict a subsequent data packet based on an input data packet of the data stream;

determining a predictive accuracy of the predictive model by comparing an incoming data packet of the data stream with a predicted data packet that is generated using the predictive model;

forwarding the predictive model to the one or more network devices in response to the predictive accuracy of the predictive model satisfying a threshold accuracy; and

ceasing forwarding incoming data packets of the data stream to the one or more network devices, the predictive model at each of the one or more network devices generating predicted data packets for the data stream based on a previously generated predicted data packet without reference to new incoming data packets from the data stream.

16. The method of claim 15 , further comprising notifying the one or more network devices to:

cease accepting forwarded data packets; and

start generating predictive data packets using the predictive model.

17. The method of claim 15 , further comprising periodically sending a synchronization packet to the one or more network devices to indicate to the one or more network devices to continue generating predictive data packets using the predictive model, the synchronization packet sent over side-band connections to the one or more network devices.

18. The method of claim 15 , further comprising:

detecting that the predictive accuracy of the predictive model for incoming data packets does not satisfy the threshold accuracy; and

notifying the one or more network devices to cease generating predictive data packets and to accept forwarded data packets, the notification sent using side-band connections to the one or more network devices.

19. The method of claim 15 , wherein the predictive model comprises a Markov chain model that is trained on the incoming data packets using a Markov chain engine.

20. A program product comprising a non-transitory computer readable storage medium that stores code executable by a processor, the executable code comprising code to:

train a machine learning predictive model on incoming data packets of a data stream, the incoming data packets forwarded to one or more network devices while the predictive model is trained, the predictive model trained to predict a subsequent data packet based on an input data packet of the data stream;

determine a predictive accuracy of the predictive model by comparing an incoming data packet of the data stream with a predicted data packet that is generated using the predictive model;

forward the predictive model to the one or more network devices in response to the predictive accuracy of the predictive model satisfying a threshold accuracy; and

cease forwarding incoming data packets of the data stream to the one or more network devices, the predictive model at each of the one or more network devices generating predicted data packets for the data stream based on a previously generated predicted data packet without reference to new incoming data packets from the data stream.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 10, 2025
From: LENOVO PC INTERNATIONAL LIMITED
To: LENOVO SWITZERLAND INTERNATIONAL GMBH
Reel/Frame 069870/0670 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 13, 2022
From: LENOVO (SINGAPORE) PTE LTD
To: LENOVO PC INTERNATIONAL LIMITED
Reel/Frame 060638/0220 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 28, 2019
From: KAPINOS, ROBERT JAMES; LI, SCOTT WENTAO; NORTON, ROBERT JAMES, JR; VANBLON, RUSSELL SPEIGHT
To: LENOVO (SINGAPORE) PTE. LTD.
Reel/Frame 048740/0049 →