IP Library Granted Patent US 9,553,910
Granted Patent B2
US 9,553,910 · App. 14/948,355 · Granted Jan 24, 2017

Backfill of video stream

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 9,553,910
App. No.
14/948,355
Granted
Jan 24, 2017
Kind
B2
Abstract

A data streaming method is performed at a computing device having one or more processors and memory. The memory stores one or more programs configured for execution by the one or more processors. The process records video from a camera in real-time. The recorded video is stored in the memory in a circular buffer in chronological order. The process sends data in chronological order from the circular buffer to a destination in real-time. In response to detecting that a portion of content from the circular buffer needs to be resent, the process concurrently resends to the destination in reverse chronological order data from the portion of content from the circular buffer.

Claims (30)

1. A data streaming method performed at a computing device having one or more processors and memory storing one or more programs configured for execution by the one or more processors, comprising:

recording video from a camera in real-time, wherein the recorded video is stored in the memory in a circular buffer in chronological order;

sending data in chronological order from the circular buffer to a destination in real-time; and

in response to detecting that a portion of content from the circular buffer needs to be resent, concurrently resending to the destination in reverse chronological order data from the portion of content from the circular buffer.

2. The method of claim 1 , further comprising receiving acknowledgements sent by the destination.

3. The method of claim 2 , wherein detecting that the portion of content from the circular buffer needs to be resent includes detecting that no acknowledgement for the portion of content from the circular buffer has been received from the destination.

4. The method of claim 1 , wherein sending data in chronological order is given higher priority than resending data in reverse chronological order.

5. The method of claim 1 , wherein sending data in chronological order uses a forward cursor that advances in a forward direction in the circular buffer as video frames from the circular buffer are sent to the destination.

6. The method of claim 5 , wherein resending data in reverse chronological order uses a backfill cursor that advances in a direction opposite the forward direction in the circular buffer as video frames from the portion are resent to the destination.

7. A data streaming system, comprising:

one or more processors;

memory; and

one or more programs stored in the memory, wherein the one or more programs are configured for execution by the one or more processors for:

recording video from a camera in real-time, wherein the recorded video is stored in the memory in a circular buffer in chronological order;

sending data in chronological order from the circular buffer to a destination in real-time; and

in response to detecting that a portion of content from the circular buffer needs to be resent, concurrently resending to the destination in reverse chronological order data from the portion of content from the circular buffer.

8. The data streaming system of claim 7 , further comprising receiving acknowledgements sent by the destination.

9. The data streaming system of claim 8 , wherein detecting that the portion of content from the circular buffer needs to be resent includes detecting that no acknowledgement for the portion of content from the circular buffer has been received from the destination.

10. The data streaming system of claim 7 , wherein sending data in chronological order is given higher priority than resending data in reverse chronological order.

11. The data streaming system of claim 7 , wherein sending data in chronological order uses a forward cursor that advances in a forward direction in the circular buffer as video frames from the circular buffer are sent to the destination.

12. The data streaming system of claim 11 , wherein resending data in reverse chronological order uses a backfill cursor that advances in a direction opposite the forward direction in the circular buffer as video frames from the portion are resent to the destination.

13. A non-transitory computer readable storage medium storing one or more programs configured for execution by a computing device having one or more processors and memory, the one or more programs comprising instructions for:

recording video from a camera in real-time, wherein the recorded video is stored in the memory in a circular buffer in chronological order;

sending data in chronological order from the circular buffer to a destination in real-time; and

in response to detecting that a portion of content from the circular buffer needs to be resent, concurrently resending to the destination in reverse chronological order data from the portion of content from the circular buffer.

14. The computer readable storage medium of claim 13 , further comprising receiving acknowledgements sent by the destination.

15. The computer readable storage medium of claim 14 , wherein detecting that the portion of content from the circular buffer needs to be resent includes detecting that no acknowledgement for the portion of content from the circular buffer has been received from the destination.

16. The computer readable storage medium of claim 13 , wherein sending data in chronological order is given higher priority than resending data in reverse chronological order.

17. The computer readable storage medium of claim 13 , wherein sending data in chronological order uses a forward cursor that advances in a forward direction in the circular buffer as video frames from the circular buffer are sent to the destination.

18. The computer readable storage medium of claim 17 , wherein resending data in reverse chronological order uses a backfill cursor that advances in a direction opposite the forward direction in the circular buffer as video frames from the portion are resent to the destination.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 30, 2021
From: KIRKBY, RONALD LOREN; NELSON, GREGORY ROURK; DUFFY, GREGORY R.
To: DROPCAM, INC.
Reel/Frame 058506/0524 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 30, 2021
From: DROPCAM, INC.
To: NEST LABS, INC.
Reel/Frame 058506/0544 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 30, 2021
From: NEST LABS, INC.
To: GOOGLE INC.
Reel/Frame 058506/0562 →
CHANGE OF NAME Recorded Dec 5, 2017
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 044695/0115 →