# US 11,910,051 B2 · Systems and methods for storing offsets of a recorded program in a network DVR

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 11,910,051 B2
- Document ID: US11910051B2
- Status: Granted
- Kind: B2
- Application number: 18/071,824
- Filed: 2022-11-30
- Published: 2023-06-29
- Granted: 2024-02-20
- Earliest claimed: 2021-02-09
- Assignees: Rovi Guides, Inc.
- Applicants: Rovi Guides, Inc.
- Inventors: Pushpita Bhattacharjee; Nimit Dineshbhai Kalaria; Smitha Mave; Vishwas Sharadanagar Panchaksharaiah; Milan Indu Patel
- Web page: https://patentgrep.com/patent/US11910051B2

## CPC

- H04N 21/4334: {Recording operations (recording of a television signal H04N5/76; arrangements for recording or accumulating broadcast information or broadcast-related information H04H60/27)}
- H04N 5/76: Television signal recording
- H04N 5/775: between a recording apparatus and a television receiver
- H04N 21/2181: {comprising remotely distributed storage units, e.g. when movies are replicated over a plurality of video servers (distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS], H04L67/1097)}
- H04N 21/26233: {involving content or additional data duration or size, e.g. length of a movie, size of an executable file}
- H04N 21/4147: PVR [Personal Video Recorder] (H04N5/76 takes precedence {; arrangements for broadcast with accumulation-type receivers H04H20/40})
- H04N 21/4335: Housekeeping operations, e.g. prioritizing content for deletion because of storage space restrictions {(storage management, e.g. defragmentation G06F3/0604; unloading stored programs G06F9/445; storage management in file systems G06F16/10; buffering arrangements in a network node or in an end terminal in packet networks H04L49/90)}
- H04N 21/47214: {for content reservation or setting reminders; for requesting event notification, e.g. of sport results or stock market (stock exchange data over packet-switching network H04L12/1804; push services over packet-switching network H04L12/1859; notification of incoming messages in packet switching networks H04L51/224)}
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION

## 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

### Claim 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.

### Claim 2 (depends on 1)

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.

### Claim 3 (depends on 1)

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.

### Claim 4 (depends on 3)

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.

### Claim 5 (depends on 1)

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.

### Claim 6 (depends on 1)

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.

### Claim 7 (depends on 6)

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.

### Claim 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.

### Claim 9 (depends on 8)

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.

### Claim 10 (depends on 8)

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.

### Claim 11 (depends on 10)

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.

### Claim 12 (depends on 10)

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.

### Claim 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.

### Claim 14 (depends on 13)

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.

### Claim 15 (depends on 13)

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.

### Claim 16 (depends on 13)

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.

### Claim 17 (depends on 16)

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.

### Claim 18 (depends on 16)

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.

### Claim 19 (depends on 13)

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.

### Claim 20 (depends on 19)

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.
