IP Library Granted Patent US 11,910,051
Granted Patent B2
US 11,910,051 · App. 18/071,824 · Granted Feb 20, 2024

Systems and methods for storing offsets of a recorded program in a network DVR

Inventors: Pushpita Bhattacharjee (Bangalore, IN); Nimit Dineshbhai Kalaria (Rajkot, IN); Smitha Mave (Bangalore, IN); Vishwas Sharadanagar Panchaksharaiah (Karnataka, IN); Milan Indu Patel (Santa Clara, CA)
Assignee: Rovi Guides, Inc.
H04N21/4334H04N21/2181H04N21/26233H04N21/4147
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,910,051
App. No.
18/071,824
Granted
Feb 20, 2024
Kind
B2
Abstract

Systems and methods are described to address shortcomings in the conventional network storage systems via novel techniques to store offsets of a recorded program in a network digital video recorder (DVR). Storing offsets of a recorded program may be beneficial to users that would like to record media content that is broadcast either prior to a start time of a program, or media content that is broadcast after an end time of a program. This feature may be useful when start times and end times of a program are variable (e.g., in the case of sporting events, or other real-time events). This feature may also be useful for recording content of interest that is scheduled for broadcast prior to a start time of or after an end time of the program.

Claims (88)

1. A method for storing media assets, comprising:

determining to record a media asset for a first profile and for a second profile;

determining the first profile is associated with a first start-offset from a start time of the media asset;

determining the second profile is associated with a first end-offset from an end time of the media asset;

determining the first profile is associated with a second end-offset from the end time of the media asset;

determining the second profile is associated with a second start-offset from the start time of the media asset; and

storing media content associated with the media asset based on the first start-offset and the first end-offset in one or more storage devices, wherein storing the media content associated with the media asset based on the first start-offset and the first end-offset in the one or more storage devices comprises:

determining the first start-offset is larger than the second start-offset; and

determining the first end-offset is larger than the second end-offset.

2. The method of claim 1 , wherein storing the media content comprises storing a single copy of the media content at a server, in response to receiving a first request to store the media asset from a first device associated with the first profile and a second request to store the media asset from a second device associated with the second profile.

3. The method of claim 1 , further comprising:

receiving, from a first device associated with the first profile, a first request to store the media asset, wherein the first request comprises the first start-offset and the second end-offset; and

receiving, from a second device associated with the second profile, a second request to store the media asset, wherein the second request comprises the second start-offset and the first end-offset.

4. The method of claim 3 , further comprising:

in response to receiving the first request, updating a profile-content table to include a first entry associated with the first profile, wherein the first entry comprises an identifier of the media asset, the first start-offset and the second end-offset; and

in response to receiving the second request, updating the profile-content table to include a second entry associated with the second profile, wherein the second entry comprises the identifier of the media asset, the second start-offset and the first end-offset.

5. The method of claim 1 , wherein:

the first start-offset comprises a positive start-offset corresponding to a time prior to the start time of the media asset, or a negative start-offset corresponding to a time after the start time of the media asset, and

the first end-offset comprises a positive end-offset corresponding to a time after the start time of the media asset, or a negative end-offset corresponding to a time before the end time of the media asset.

6. The method of claim 1 , further comprising:

receiving, from a first device associated with the first profile, a first request to store the media asset, wherein the first request comprises the first start-offset;

receiving, from a second device associated with the second profile, a second request to store the media asset, wherein the second request comprises the first end-offset;

in response to receiving the first request to store the media asset, updating an entry associated with the media asset in a content-hits table to increment a count of requests to record the media asset; and

in response to receiving the second request to store the media asset, updating the entry associated with the media asset in the content-hits table to increment the count of requests to record the media asset.

7. The method of claim 6 , further comprising:

receiving, from the first device associated with the first profile, a request to delete the media asset;

decrementing the count of requests to record the media asset in response to receiving the request to delete the media asset;

determining whether the count of requests to record the media asset is greater than zero; and

based on determining that the count of requests to record the media asset is equal to zero, deleting the media content associated with the media asset from the one or more storage devices.

8. A method for storing media assets, comprising:

determining to record a media asset for a first profile and for a second profile;

determining the first profile is associated with a first start-offset from a start time of the media asset;

determining the second profile is associated with a first end-offset from an end time of the media asset; and

storing media content associated with the media asset based on the first start-offset and the first end-offset in one or more storage devices,

wherein storing the media content associated with the media asset based on the first start-offset and the first end-offset in the one or more storage devices further comprises:

determining the first start-offset is larger than a largest start-offset of an entry associated with the media asset in a content-hits table; and

determining the first end-offset is larger than a largest end-offset of the entry associated with the media asset in the content-hits table; and

wherein the method further comprises:

updating the largest start-offset of the entry associated with the media asset to the first start-offset based on determining that the first start-offset is larger than the largest start-offset; and

updating the largest start-offset of the entry associated with the media asset to the first start-offset based on determining that the first start-offset is larger than the largest start-offset.

9. The method of claim 8 , wherein storing the media content comprises storing a single copy of the media content at a server, in response to receiving a first request to store the media asset from a first device associated with the first profile and a second request to store the media asset from a second device associated with the second profile.

10. The method of claim 8 , further comprising:

receiving, from a first device associated with the first profile, a first request to store the media asset, wherein the first request comprises the first start-offset;

receiving, from a second device associated with the second profile, a second request to store the media asset, wherein the second request comprises the first end-offset.

11. The method of claim 10 , further comprising:

in response to receiving the first request, updating a profile-content table to include a first entry associated with the first profile, wherein the first entry comprises an identifier of the media asset and the first start-offset; and

in response to receiving the second request, updating the profile-content table to include a second entry associated with the second profile, wherein the second entry comprises the identifier of the media asset and the first end-offset.

12. The method of claim 10 , wherein:

the first start-offset comprises a positive start-offset corresponding to a time prior to the start time of the media asset, or a negative start-offset corresponding to a time after the start time of the media asset, and

the first end-offset comprises a positive end-offset corresponding to a time after the start time of the media asset, or a negative end-offset corresponding to a time before the end time of the media asset.

13. A system for storing media assets, comprising:

one or more storage devices;

control circuitry configured to:

determine to record a media asset for a first profile and for a second profile;

determine the first profile is associated with a first start-offset from a start time of the media asset;

determine the second profile is associated with a first end-offset from an end time of the media asset;

determine the first profile is associated with a second end-offset from the end time of the media asset;

determine the second profile is associated with a second start-offset from the start time of the media asset; and

store media content associated with the media asset based on the first start-offset and the first end-offset in the one or more storage devices, wherein the control circuitry is configured to store the media content associated with the media asset based on the first start-offset and the first end-offset in the one or more storage devices by:

determining the first start-offset is larger than the second start-offset; and

determining the first end-offset is larger than the second end-offset.

14. The system of claim 13 , wherein:

the control circuitry is further configured to store the media content associated with the media asset based on the first start-offset and the first end-offset in the one or more storage devices by:

determining the first start-offset is larger than a largest start-offset of an entry associated with the media asset in a content-hits table; and

determining the first end-offset is larger than a largest end-offset of the entry associated with the media asset in the content-hits table; and

the control circuitry is further configured to:

update the largest start-offset of the entry associated with the media asset to the first start-offset based on determining that the first start-offset is larger than the largest start-offset; and

update the largest start-offset of the entry associated with the media asset to the first start-offset based on determining that the first start-offset is larger than the largest start-offset.

15. The system of claim 13 , wherein the control circuitry is configured to store the media content by storing a single copy of the media content at a server, in response to receiving a first request to store the media asset from a first device associated with the first profile and a second request to store the media asset from a second device associated with the second profile.

16. The system of claim 13 , wherein the control circuitry is further configured to:

receive, from a first device associated with the first profile, a first request to store the media asset, wherein the first request comprises the first start-offset and the second end-offset; and

receive, from a second device associated with the second profile, a second request to store the media asset, wherein the second request comprises the second start-offset and the first end-offset.

17. The system of claim 16 , wherein the control circuitry is further configured to:

in response to receiving the first request, update a profile-content table to include a first entry associated with the first profile, wherein the first entry comprises an identifier of the media asset, the first start-offset and the second end-offset; and

in response to receiving the second request, update the profile-content table to include a second entry associated with the second profile, wherein the second entry comprises the identifier of the media asset, the second start-offset and the first end-offset.

18. The system of claim 16 , wherein:

the first start-offset comprises a positive start-offset corresponding to a time prior to the start time of the media asset, or a negative start-offset corresponding to a time after the start time of the media asset, and

the first end-offset comprises a positive end-offset corresponding to a time after the start time of the media asset, or a negative end-offset corresponding to a time before the end time of the media asset.

19. The system of claim 13 , wherein the control circuitry is further configured to:

receive, from a first device associated with the first profile, a first request to store the media asset, wherein the first request comprises the first start-offset;

receive, from a second device associated with the second profile, a second request to store the media asset, wherein the second request comprises the first end-offset;

in response to receiving the first request to store the media asset, update an entry associated with the media asset in a content-hits table to increment a count of requests to record the media asset; and

in response to receiving the second request to store the media asset, update the entry associated with the media asset in the content-hits table to increment the count of requests to record the media asset.

20. The system of claim 19 , wherein the control circuitry is further configured to:

receive, from the first device associated with the first profile, a request to delete the media asset;

decrement the count of requests to record the media asset in response to receiving the request to delete the media asset;

determine whether the count of requests to record the media asset is greater than zero; and

based on determining that the count of requests to record the media asset is equal to zero, delete the media content associated with the media asset from the one or more storage devices.

Assignments (3)
CHANGE OF NAME Recorded Oct 2, 2024
From: ROVI GUIDES, INC.
To: ADEIA GUIDES INC.
Reel/Frame 069086/0199 →
SECURITY INTEREST Recorded May 3, 2023
From: ADEIA GUIDES INC.; ADEIA IMAGING LLC; ADEIA MEDIA HOLDINGS LLC; ADEIA MEDIA SOLUTIONS INC.; ADEIA SEMICONDUCTOR ADVANCED TECHNOLOGIES INC.; ADEIA SEMICONDUCTOR BONDING TECHNOLOGIES INC.; ADEIA SEMICONDUCTOR INC.; ADEIA SEMICONDUCTOR SOLUTIONS LLC; ADEIA SEMICONDUCTOR TECHNOLOGIES LLC; ADEIA SOLUTIONS LLC
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 063529/0272 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 30, 2022
From: BHATTACHARJEE, PUSHPITA; KALARIA, NIMIT DINESHBHAI; MAVE, SMITHA; PANCHAKSHARAIAH, VISHWAS SHARADANAGAR; PATEL, MILAN INDU
To: ROVI GUIDES, INC.
Reel/Frame 061920/0581 →
Continuity (3)
Continuation 17171355 · Feb 9, 2021
Continuation 16472189
Related Publication 20230209129A1 · Jun 29, 2023