IP Library › Granted Patent US 11,652,722
Granted Patent B2
US 11,652,722 · App. 17/304,312 · Granted May 16, 2023

High frequency probing for network bandwidth estimation using video data in real-time video conference

Inventors: Hsien-Po Shiang (Mountain View, CA); Ming Jin (Saratoga, CA); Gabriel Nava Marino (Cupertino, CA); Gurtej Singh G. Chandok (Sunnyvale, CA); Hyeonkuk Jeong (Saratoga, CA); Padmavathy Bhooma (Los Gatos, CA); Christoph Paasch (Cupertino, CA); Christopher M. Garrido (San Jose, CA); David L. Biderman (Los Gatos, CA); Erik Vladimir Ortega Gonzalez (Cupertino, CA)
Assignee: APPLE INC.
H04L43/12H04L43/50H04N7/15
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,652,722
App. No.
17/304,312
Granted
May 16, 2023
Kind
B2
Abstract

The embodiments described herein can dynamically adjust timing of network bandwidth estimations by adjusting a target frequency for sending probing sequences to one or more receivers of content. The receivers receive these probing sequences from a transmitter and respond to the transmitter with network bandwidth estimations. In one embodiment, the probing sequences can use the content itself to create the probing sequences. The embodiments can be used in video conferencing applications to control how a transmitter of content can adjust transmissions based upon the network bandwidth estimations. In one embodiment, a policy can be used at a transmitter to begin a video transmission with a high frequency target for sending probing sequences (with, e.g., smaller length probing sequences) and transition to a lower frequency target (with, e.g., longer length probing sequences) when network bandwidth deteriorates and then return to the higher frequency target when the network bandwidth improves.

Claims (32)

1. A non-transitory machine readable medium storing executable program instructions which when executed by a device containing a processing system cause the device to perform a method in the device that is transmitting data through one or more networks to one or more receivers, the method comprising:

receiving, from one of the receivers, a first estimation representative of network bandwidth;

selecting, based on the first estimation, a first probing sequence frequency;

receiving, from one of the receivers, a second estimation representative of network bandwidth, the second estimation received after the first estimation was received;

selecting, based on the second estimation, a second probing sequence frequency that is different than the first probing sequence frequency, wherein the selecting of the first and second probing sequence frequency uses a stored policy that maps a corresponding estimation of network bandwidth to a probing sequence frequency and the stored policy is configured to start a video transmission at a high probing sequence frequency and reduce to a low probing sequence frequency as network bandwidth deteriorates and then return to the high probing sequence frequency as network bandwidth improves.

2. The medium as in claim 1 , wherein the method further comprises:

transmitting one or more first probing sequences at a frequency based on a target of the first probing sequence frequency prior to receiving the second estimation;

transmitting one or more second probing sequences at a frequency based on a target of the second probing sequence frequency after receiving the second estimation.

3. The medium as in claim 2 , wherein each of the one or more first probing sequences include a marker indicating packets in the one or more first probing sequences are part of a same probing sequence to cause a receiver to estimate and report bandwidth estimation.

4. The medium as in claim 3 , wherein the probing sequence is created by packetizing content into the packets and adding the marker and one or more headers, and wherein the content is displayed at the receiver.

5. The medium as in claim 4 , wherein the content is used as part of the probing sequences, and wherein the first probing sequence frequency is associated with a first target spacing time and a first target probing sequence length and the second probing sequence frequency is associated with a second target spacing time and a second target probing sequence length.

6. The medium as in claim 5 , wherein the first probing sequence frequency is a high frequency, relative to the second probing sequence frequency, and wherein the first probing sequence frequency is greater than 10 probing sequences per second.

7. The medium as in claim 6 , wherein the first probing sequence frequency is matched to a likely frame rate of the display of the content.

8. The medium as in claim 7 , wherein the policy includes a maximum probe spacing time that is used to ensure that a probe sequence is transmitted in the event of an insufficient amount of qualified video content for probing sequences.

9. The medium as in claim 2 , wherein the method further includes:

adjusting a rate of transmission of data to the one or more receivers based on the first estimation during a first time period and adjusting the rate of transmission based on the second estimation during a second time period.

10. A method in a device that is transmitting data through one or more networks to one or more receivers, the method comprising:

receiving, from one of the receivers, a first estimation representative of network bandwidth;

selecting, based on the first estimation, a first probing sequence frequency;

receiving, from one of the receivers, a second estimation representative of network bandwidth, the second estimation received after the first estimation was received;

selecting, based on the second estimation, a second probing sequence frequency that is different than the first probing sequence frequency, wherein the selecting of the first and second probing sequence frequency uses a stored policy that maps a corresponding estimation of network bandwidth to a probing sequence frequency and the stored policy is configured to start a video transmission at a high probing sequence frequency and reduce to a low probing sequence frequency as network bandwidth deteriorates and then return to the high probing sequence frequency as network bandwidth improves.

11. The method as in claim 10 , wherein the method further comprises:

transmitting one or more first probing sequences at a frequency based on a target of the first probing sequence frequency prior to receiving the second estimation;

transmitting one or more second probing sequences at a frequency based on a target of the second probing sequence frequency after receiving the second estimation.

12. The method as in claim 11 , wherein each of the one or more first probing sequences include a marker indicating packets in the one or more first probing sequences are part of a same probing sequence to cause a receiver to estimate and report bandwidth estimation.

13. The method as in claim 12 , wherein the probing sequence is created by packetizing content into the packets and adding the marker and one or more headers, and wherein the content is displayed at the receiver.

14. The method as in claim 13 , wherein the content is used as part of the probing sequences, and wherein the first probing sequence frequency is associated with a first target spacing time and a first target probing sequence length and the second probing sequence frequency is associated with a second target spacing time and a second target probing sequence length.

15. The method as in claim 14 , wherein the first probing sequence frequency is a high frequency, relative to the second probing sequence frequency, and wherein the first probing sequence frequency is greater than 10 probing sequences per second.

16. The method as in claim 15 , wherein the first probing sequence frequency is matched to a likely frame rate of the display of the content.

17. The method as in claim 16 , wherein the policy includes a maximum probe spacing time that is used to ensure that a probe sequence is transmitted in the event of an insufficient amount of qualified video content for probing sequences.

18. The method as in claim 11 , wherein the method further includes:

adjusting a rate of transmission of data to the one or more receivers based on the first estimation during a first time period and adjusting the rate of transmission based on the second estimation during a second time period.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 20, 2021
From: JIN, MING
To: APPLE INC.
Reel/Frame 056920/0743 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 17, 2021
From: SHIANG, HSIEN-PO; MARINO, GABRIEL NAVA; CHANDOK, GURTEJ SINGH G.; JEONG, HYEONKUK; BHOOMA, PADMAVATHY; PAASCH, CHRISTOPH; GARRIDO, CHRISTOPHER M.; BIDERMAN, DAVID L.; ORTEGA GONZALES, ERIK VLADIMIR
To: APPLE INC.
Reel/Frame 056580/0468 →
Continuity (2)
Provisional Application 63041549 · Jun 19, 2020
Related Publication 20210399971A1 · Dec 23, 2021