IP Library › Granted Patent US 10,820,066
Granted Patent B2
US 10,820,066 · App. 16/013,346 · Granted Oct 27, 2020

Reconciling ABR segments across redundant sites

Inventors: Matthew Francis Caulfield (Harvard, MA); Michael Anthony Napolitano, Jr. (Acton, MA)
Assignee: Cisco Technology, Inc.
H04N21/8456H04L65/4084H04L65/601H04L65/607H04L65/80
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,820,066
App. No.
16/013,346
Filed
Jun 20, 2018
Granted
Oct 27, 2020
Kind
B2
Art Unit
2457
USPC
709/231
Abstract

Reconciling Adaptive Bitrate (ABR) segments across redundant sites may be provided. First, a working manifest may be set to match a primary downstream manifest and the working manifest may be updated using an auxiliary downstream manifest. Next, first segments missing from the working manifest as identified during updating the working manifest using the auxiliary downstream manifest may be copied from the auxiliary downstream manifest to the primary downstream manifest. The working manifest may then be updated using a primary upstream manifest. And then second segments missing from the working manifest as identified during updating the working manifest using the primary upstream manifest may be copied from the primary upstream manifest to the primary downstream manifest.

Claims (57)

1. A method comprising:

setting, by a first reconciliation device, a working manifest to match a primary downstream manifest, wherein the primary downstream manifest is published by a first packager at a first site:

updating the working manifest using an auxiliary downstream manifest, wherein the auxiliary downstream manifest is published by a second packager at a second site;

copying, from the auxiliary downstream manifest to the primary downstream manifest, first segments missing from the working manifest as identified during updating the working manifest using the auxiliary downstream manifest; and

wherein updating the working manifest using the auxiliary downstream manifest comprises:

determining a first timestamp match between the working manifest and the auxiliary downstream manifest;

determining a first timestamp offset based on the first timestamp match; and

identifying, based on the first timestamp offset, the first segments.

2. The method of claim 1 , further comprising:

updating, by the first reconciliation device, the working manifest using a primary upstream manifest; and

copying, from the primary upstream manifest to the primary downstream manifest, second segments missing from the working manifest as identified during updating the working manifest using the primary upstream manifest.

3. The method of claim 2 , wherein updating the working manifest using the primary upstream manifest comprises:

determining a second timestamp match between the working manifest and the primary upstream manifest;

determining a second timestamp offset based on the first timestamp match; and

identifying, based on the second timestamp offset, the second segments.

4. The method of claim 2 , wherein the following stages are repeated at a predetermined polling interval:

updating the working manifest using the primary upstream manifest; and

copying, from the primary upstream manifest to the primary downstream manifest, segments missing from the working manifest as identified during updating the working manifest using the primary upstream manifest.

5. The method of claim 2 , wherein updating the working manifest using the auxiliary downstream manifest comprises updating the working manifest using the auxiliary downstream manifest corresponding to a second reconciliation device.

6. The method of claim 1 , further comprising providing content associated with the primary downstream manifest to a client device.

7. A non-transitory computer-readable medium that stores a set of instructions which when executed perform a method comprising:

setting, by a first reconciliation device, a working manifest to match a primary downstream manifest, wherein the primary downstream manifest is published by a first packager at a first site:

updating the working manifest using an auxiliary downstream manifest, wherein the auxiliary downstream manifest is published by a second packager at a second site;

copying, from the auxiliary downstream manifest to the primary downstream manifest, first segments missing from the working manifest as identified during updating the working manifest using the auxiliary downstream manifest; and

wherein updating the working manifest using the auxiliary downstream manifest comprises:

determining a first timestamp match between the working manifest and the auxiliary downstream manifest;

determining a first timestamp offset based on the first timestamp match; and

identifying, based on the first timestamp offset, the first segments.

8. The non-transitory computer-readable medium of claim 7 , further comprising:

updating, by the first reconciliation device, the working manifest using a primary upstream manifest; and

copying, from the primary upstream manifest to the primary downstream manifest, second segments missing from the working manifest as identified during updating the working manifest using the primary upstream manifest.

9. The non-transitory computer-readable medium of claim 8 , wherein

updating the working manifest using the primary upstream manifest comprises:

determining a second timestamp match between the working manifest and the primary upstream manifest;

determining a second timestamp offset based on the first timestamp match; and

identifying, based on the second timestamp offset, the second segments.

10. The non-transitory computer-readable medium of claim 8 , wherein the following stages are repeated at a predetermined polling interval:

updating the working manifest using the primary upstream manifest; and copying, from the primary upstream manifest to the primary downstream manifest, segments missing from the working manifest as identified during updating the working manifest using the primary upstream manifest.

11. The non-transitory computer-readable medium of claim 8 , wherein updating the working manifest using the auxiliary downstream manifest comprises updating the working manifest using the auxiliary downstream manifest corresponding to a second reconciliation device.

12. The non-transitory computer-readable medium of claim 7 , further comprising providing content associated with the primary downstream manifest to a client device.

13. A system comprising:

a memory storage; and

a processing unit disposed in a first reconciliation device coupled to the memory storage, wherein the processing unit is operative to:

set a working manifest to match a primary downstream manifest, wherein the primary downstream manifest is published by a first packager at a first site;

update the working manifest using an auxiliary downstream manifest wherein the auxiliary downstream manifest is published by a second packager at a second site;

copy, from the auxiliary downstream manifest to the primary downstream manifest, first segments missing from the working manifest as identified during updating the working manifest using the auxiliary downstream manifest; and

wherein the processing unit being operative to update the working manifest using the auxiliary downstream manifest comprises the processing unit being operative to:

determine a first timestamp match between the working manifest and the auxiliary downstream manifest;

determine a first timestamp offset based on the first timestamp match; and identify, based on the first timestamp offset, the first segments.

14. The system of claim 13 , wherein the processing unit is further operative to:

update the working manifest using a primary upstream manifest; and copy, from the primary upstream manifest to the primary downstream manifest, second segments missing from the working manifest as identified during updating the working manifest using the primary upstream manifest.

15. The system of claim 14 , wherein the processing unit being operative to update the working manifest using the primary upstream manifest comprises the processing unit being operative to:

determine a second timestamp match between the working manifest and the primary upstream manifest;

determine a second timestamp offset based on the first timestamp match; and identify, based on the second timestamp offset, the second segments.

16. The system of claim 14 , wherein the processing unit is operative to repeat at a predetermined polling interval:

update the working manifest using the primary upstream manifest; and copy, from the primary upstream manifest to the primary downstream manifest, segments missing from the working manifest as identified during updating the working manifest using the primary upstream manifest.

17. The system of claim 14 , wherein the auxiliary downstream manifest corresponds to a second reconciliation device.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 20, 2018
From: CAULFIELD, MATTHEW FRANCIS; NAPOLITANO, MICHAEL ANTHONY, JR.
To: CISCO TECHNOLOGY, INC.
Reel/Frame 046146/0703 →
Continuity (1)
Related Publication 20190394538A1 · Dec 26, 2019
Cited By (10)
US 12,244,880 US 12,356,026 US 12,413,806 US 12,516,977 US 12,563,273 US 12,593,103 US 12,621,515 US 12,634,536 US 12,666,098 US 12,670,380