IP Library Granted Patent US 11,711,322
Granted Patent B2
US 11,711,322 · App. 17/515,479 · Granted Jul 25, 2023

Packet processing at a server

Inventors: Yongxiang Dai (HeFei, CN); Shaohua Li (HeFei, CN); Lin Sun (HeFei, CN)
Assignee: Zoom Video Communications, Inc.
H04L49/9094H04L47/24H04L65/65
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,711,322
App. No.
17/515,479
Granted
Jul 25, 2023
Kind
B2
Abstract

A server processers received real-time transport protocol packets from a first device to obtain sequentially ordered packets at a first buffer. The server decodes the sequentially ordered packets to obtain decoded packets at a decoder. The server encodes the decoded packets to obtain encoded packets at an encoder. The server transmits the encoded packets from the encoder to a storage unit. The server fetches the encoded packets from the storage unit at a first interval using a second buffer. The server transmits the encoded packets from the second buffer to a second device at a second interval.

Claims (53)

1. A server comprising:

processing circuitry and a memory, the memory comprising:

a first buffer configured to store received real-time transport protocol (RTP) packets from a first device for the processing circuitry to sequentially order to obtain sequentially ordered packets;

a decoder configured to decode the sequentially ordered packets to obtain decoded packets;

an encoder configured to:

encode the decoded packets to obtain encoded packets, and

transmit the encoded packets to a storage unit; and

a second buffer configured to:

fetch the encoded packets from the storage unit at a first interval, and

cause a transmitter to transmit the encoded packets to a second device at a second interval.

2. The server of claim 1 , wherein the storage unit is a lock-free storage unit configured to allow data access when a data packet processing speed is below a threshold processing speed.

3. The server of claim 1 , wherein the second buffer is configured to adjust the second interval based on at least one of network congestion or a capability of the second device.

4. The server of claim 1 , the memory further comprising:

an additional second buffer, wherein the server is configured to enable the additional second buffer based on network congestion.

5. The server of claim 1 , the memory further comprising:

an additional second buffer, wherein the server is configured to enable the additional second buffer based on a detection of a quality of service (QoS) that is below a threshold QoS.

6. The server of claim 1 , wherein the encoder is configured to encode the decoded packets based on a codec of the second device.

7. The server of claim 1 , wherein the first buffer, the encoder, the decoder, and the second buffer execute serially within a single thread of the processing circuitry.

8. The server of claim 1 , wherein the first buffer, the encoder, the decoder, and the second buffer execute serially with one another.

9. The server of claim 1 , further comprising:

a receiver configured to receive the RTP packets from the first device; and

the transmitter configured to transmit the encoded packets to the second device.

10. The server of claim 1 , wherein the first buffer is a reorder buffer, and wherein the second buffer is a speed buffer.

11. A method comprising:

storing received real-time transport protocol (RTP) packets from a first device at a first buffer;

sequentially ordering the received RTP packets to obtain sequentially ordered packets;

decoding the sequentially ordered packets to obtain decoded packets at a decoder;

encoding the decoded packets to obtain encoded packets at an encoder;

transmitting the encoded packets from the encoder to a storage unit;

fetching the encoded packets from the storage unit at a first interval using a second buffer; and

causing a transmitter to transmit the encoded packets from the second buffer to a second device at a second interval.

12. The method of claim 11 , wherein the storage unit is a lock-free storage unit configured to allow data access when a data packet processing speed is below a threshold processing speed.

13. The method of claim 11 , further comprising:

adjusting, using the second buffer, the second interval based on at least one of network congestion or a capability of the second device.

14. The method of claim 11 , further comprising:

enabling an additional second buffer based on network congestion.

15. The method of claim 11 , further comprising:

enabling an additional second buffer based on a detection of a quality of service (QoS) that is below a threshold QoS.

16. A non-transitory computer-readable medium storing instructions operable to cause processing circuitry to perform operations comprising:

storing received real-time transport protocol (RTP) packets from a first device at a first buffer;

sequentially ordering the received RTP packets to obtain sequentially ordered packets;

decoding the sequentially ordered packets to obtain decoded packets at a decoder;

encoding the decoded packets to obtain encoded packets at an encoder;

transmitting the encoded packets from the encoder to a storage unit;

fetching the encoded packets from the storage unit at a first interval using a second buffer; and

causing a transmitter to transmit the encoded packets from the second buffer to a second device at a second interval.

17. The computer-readable medium of claim 16 , wherein the storage unit is a lock-free storage unit configured to allow data access when a data packet processing speed is below a threshold processing speed.

18. The computer-readable medium of claim 16 , the operations further comprising:

adjusting, using the second buffer, the second interval based on at least one of network congestion or a capability of the second device.

19. The computer-readable medium of claim 16 , the operations further comprising:

enabling an additional second buffer based on network congestion.

20. The computer-readable medium of claim 16 , the operations further comprising:

enabling an additional second buffer based on a detection of a quality of service (QoS) that is below a threshold QoS.

Assignments (3)
CHANGE OF NAME Recorded Jan 7, 2025
From: ZOOM VIDEO COMMUNICATIONS, INC.
To: ZOOM COMMUNICATIONS, INC.
Reel/Frame 069839/0593 →
CORRECTIVE ASSIGNMENT TO CORRECT THE INVENTOR NAME FROM "SAFAN LI" TO "SHAOHUA LI" PREVIOUSLY RECORDED AT REEL: 057980 FRAME: 0792. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Aug 3, 2022
From: LI, SHAOHUA
To: ZOOM VIDEO COMMUNICATIONS, INC.
Reel/Frame 061069/0707 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 1, 2021
From: DAI, YONGXIANG; LI, SAFAN; SUN, LIN
To: ZOOM VIDEO COMMUNICATIONS, INC.
Reel/Frame 057980/0792 →