IP Library Granted Patent US 11,330,341
Granted Patent B1
US 11,330,341 · App. 16/193,685 · Granted May 10, 2022

System, method, and protocol for transmission of video and audio data

Inventors: Gordon R. Daily (Cleveland, OH); Justin R. Hartman (Twinsburg, OH); Joel S. Helbling (Berea, OH); Ronald C. Hopper (Berea, OH)
Assignee: BoxCast, LLC
H04N21/6125H04L12/4625H04L65/4076H04L67/325H04L67/327H04L69/16H04N21/2187H04N21/231H04N21/23439H04N21/234363H04N21/2743H04N21/47214H04N21/6437H04N21/64322H04N21/64746
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,330,341
App. No.
16/193,685
Granted
May 10, 2022
Kind
B1
Abstract

An improved backhaul protocol is provided, as well as computer-implemented systems and methods for autonomously broadcasting video data, audio data, or video and audio data during an event, wherein the broadcasting can be scheduled in advance and from a remote location (e.g., using a web browser), and wherein the video/audio data is streamed to a remote user over a network using the improved backhaul protocol.

Claims (66)

1. A system for transmitting data, the system comprising:

a stream originating device;

a media server; and,

a backhaul protocol configured to transmit data between the stream originating device and the media server via a plurality of packets N, wherein each of the packets comprise (i) encrypted data corresponding to a portion of the data and (ii) error correction information, and, wherein the value of N is automatically, dynamically adjusted during transmission based on one or more constraints, wherein the backhaul protocol is further configured to:

determine that a first transmission channel is blocked, wherein the first transmission channel is being used to transmit the plurality of packets N;

open a second transmission channel; and

retransmit the plurality of packets N on the second transmission channel.

2. The system of claim 1 , wherein the value of N is dynamically adjusted based on one or more latency or overhead constraints experienced during transmission.

3. The system of claim 1 , wherein the encryption scheme is eBC-x16.

4. The system of claim 1 , wherein the error correction scheme is a 1-dimensional XOR scheme suitable for recovering one missing packet from a group of N packets.

5. The system of claim 4 , wherein the value of N is dynamically adjusted to correspond to the last packet of a multi-packet frame.

6. The system of claim 4 , wherein the error correction scheme is fBC-X1d.

7. The system of claim 1 , wherein the stream originating device is situated behind a router, and wherein the media server is situated outside the router.

8. The system of claim 7 , wherein the router comprises a firewall.

9. The system of claim 1 , wherein the backhaul protocol facilitates transmission of information for addressing congestion along a backhaul path, said information comprising one or more of:

(a) a number of buffers and bytes sent;

(b) a number of buffers and bytes positively acknowledged (ACKed);

(c) a number of buffers and bytes negatively acknowledged (NACKed);

(d) a number of buffers retransmitted due to negative acknowledgements (NACKs);

(e) a number of buffers retransmitted due to timeout waiting for positive acknowledgement;

(f) a number of buffers and bytes for which positive acknowledgement (ACKs) were never received;

(g) statistics about round-trip time (RTT) used to calculate timeout values;

(h) whether a transport control protocol (TCP) socket is open or closed;

(i) a transmit backlog on the TCP socket;

(j) an amount of actual packet loss reported from a receiver for each channel; and,

(k) the last time actual loss data was received.

10. The system of claim 1 , wherein the backhaul protocol facilitates transmission of information for addressing congestion along a backhaul path, said information comprising at least:

(a) a number of buffers and bytes sent;

(b) a number of buffers and bytes positively acknowledged (ACKed);

(c) a number of buffers and bytes negatively acknowledged (NACKed);

(d) a number of buffers retransmitted due to negative acknowledgements (NACKs);

(e) a number of buffers retransmitted due to timeout waiting for positive acknowledgement;

(f) a number of buffers and bytes for which positive acknowledgement (ACKs) were never received;

(g) statistics about round-trip time (RTT) used to calculate timeout values;

(h) whether a transport control protocol (TCP) socket is open or closed;

(i) a transmit backlog on the TCP socket;

(j) an amount of actual packet loss reported from a receiver for each channel, and,

(k) the last time actual loss data was received.

11. The system of claim 1 , wherein the data transmitted between the stream originating device and the media server comprises audio and video data.

12. The system of claim 1 , wherein the backhaul protocol utilizes User Datagram Protocol (UDP) and Transmission Control Protocol (TCP).

13. The system of claim 1 , wherein the backhaul protocol is further configured to retransmit at least one of the plurality of packets N if the backhaul protocol determines that there has been packet loss.

14. The system of claim 1 , wherein the encrypted data is encrypted using an encryption scheme selected based on the one or more constraints.

15. The system of claim 1 wherein the first transmission channel is a UDP channel and the second transmission channel is a TCP channel.

16. A method comprising:

establishing a connection for conveying data between a stream originating device and a media server using a backhaul protocol; and,

transmitting a plurality of packets N, wherein each of the packets comprise (i) encrypted data corresponding to a portion of the data and (ii) error correction information, and, wherein the value of N is automatically, dynamically adjusted during transmission based on one or more constraints,

determining that a first transmission channel is blocked, wherein the first transmission channel is being used to transmit the plurality of packets N;

opening a second transmission channel; and

retransmitting the plurality of packets N on the second transmission channel.

17. The method of claim 16 , wherein the value of N is dynamically adjusted based on one or more latency or overhead constraints experienced during transmission.

18. The method of claim 16 , further comprising: selecting the encryption scheme used to encrypt the encrypted data based on the one or more constraints.

19. The method of claim 16 , further comprising:

determining that at least one of the plurality of packets N is lost due to the blocked first transmission channel; and

before retransmitting the plurality of packets N on the second transmission channel, attempting to recover the lost packet using the error correction information.

20. The method of claim 16 , wherein the first transmission channel is a UDP channel and the second transmission channel is a TCP channel.

21. The method of claim 16 , wherein retransmitting the plurality of packets N on the second channel is not performed until positive acknowledgement (ACK) or negative acknowledged (NACK) is received.

22. A system for facilitating data communication, the system comprising:

a first server;

a second server;

a backhaul protocol configured to convey data between the first server and the second server via a plurality of packets N, wherein each of the packets comprise (i) encrypted data corresponding to a portion of the data and (i) error correction information, and, wherein the value of N is automatically, dynamically adjusted based one or more constraints experienced during transmission of data between the first server and the second server, the backhaul protocol is further configured to:

determine that a first transmission channel is blocked, wherein the first transmission channel is being used to transmit the plurality of packets N;

open a second transmission channel; and

retransmit the plurality of packets N on the second transmission channel.

23. The system of claim 22 , wherein the backhaul protocol is further configured to retransmit at least one of the plurality of packets N if the backhaul protocol determines that there has been packet loss.

24. The system of claim 22 , wherein the encrypted data is encrypted using an encryption scheme selected based on the one or more constraints.

25. The system of claim 22 wherein the first transmission channel is a UDP channel and the second transmission channel is a TCP channel.

Assignments (5)
SECURITY INTEREST Recorded Oct 24, 2022
From: BOXCAST INC.
To: WESTERN ALLIANCE BANK
Reel/Frame 061515/0925 →
RELEASE OF SECURITY INTEREST Recorded Sep 29, 2022
From: DCP FUND II LLC
To: BOXCAST INC.
Reel/Frame 061259/0253 →
CHANGE OF NAME Recorded Sep 23, 2022
From: BOXCAST, LLC
To: BOXCAST INC.
Reel/Frame 061535/0481 →
SECURITY INTEREST Recorded Aug 27, 2019
From: BOXCAST INC.
To: DCP FUND II LLC
Reel/Frame 050180/0261 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 13, 2018
From: DAILY, GORDON R.; HARTMAN, JUSTIN R.; HELBLING, JOEL S.; HOPPER, RONALD C.
To: BOXCAST, LLC
Reel/Frame 047767/0211 →
Continuity (2)
Continuation 15637160 · Jun 29, 2017
Provisional Application 62358214 · Jul 5, 2016
Cited By (1)
US 12,531,838