IP Library Granted Patent US 12712792
Granted Patent B2
US 12712792 · App. 17/469,602 · Granted Aug 18, 2026

Unique user session tracking in adaptive bitrate video delivery

Inventors: Gregory K. Truax (Portland, OR); Gary T. Hertel (Beaverton, OR)
Assignee: Amazon Technologies, Inc.
H04L41/509
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 12712792
App. No.
17/469,602
Granted
Aug 18, 2026
Kind
B2
Abstract

An apparatus having a device of a user and a computer is disclosed. The computer may be configured to (i) transfer a manifest to the device in response to a viewing session being opened. The manifest generally has a plurality of modified links to a plurality of bitrates of a video content. Each one of the modified links may include an identifier that is unique to the viewing session. The computer may also be configured to (ii) receive a particular one of the modified links from the device, (iii) log a presence of the viewing session, and (iv) generate a request by removing the identifier from the particular modified link.

Claims (68)

1 . A system comprising:

at least one processor; and

memory including instructions for executing on the at least one processor to cause the system to:

enable a viewing session for media content, the viewing session associated with an initial manifest comprising stored identifiers for a plurality of bitrates of the media content;

determine an appropriate bitrate from a selection provided by a device that received the initial manifest;

modify, based at least on the selection, the initial manifest to generate a modified manifest that has a plurality of modified links of different bitrates from a modification to the stored identifiers, individual links of the modified links including a session identifier that is unique to the viewing session and to the appropriate bitrate of the different bitrates;

upon determining that the media content at the appropriate bitrate is not cached, cache the media content at the appropriate bitrate; and

upon determining that the media content at the appropriate bitrate is cached:

remove the session identifier from the individual links associated with the media content;

log a presence of the viewing session; and

provide the media content.

2 . The system according to claim 1 , wherein the memory including instructions for executing on the at least one processor further causes the system to:

receive periodic requests for the initial manifest; and

generating new modified manifests referencing updated segments of the media content, the new modified manifests to be provided to the device.

3 . The system according to claim 1 , wherein the memory including instructions for executing on the at least one processor further causes the system to:

determine the appropriate bitrate as associated with the device that is one of a computer, a television, a set-top box, a cellular telephone, a tablet, and a mobile device.

4 . The system according to claim 1 , wherein the memory including instructions for executing on the at least one processor further causes the system to:

enable the device to provide the selection as a selection for a variant manifest than the initial manifest, wherein the variant manifest comprises the appropriate bitrate for the media content.

5 . The system according to claim 1 , wherein the memory including instructions for executing on the at least one processor further causes the system to:

enable the modified manifest or a variant of the modified manifest to comprise the modified links from the modification to an appropriate one of the stored identifiers associated with the appropriate bitrate.

6 . The system according to claim 1 , wherein the memory including instructions for executing on the at least one processor further causes the system to:

provide the media content at the appropriate bitrate in response to a further selection from the device.

7 . The system according to claim 1 , wherein the memory including instructions for executing on the at least one processor further causes the system to:

enable an application of the device to select the appropriate bitrate; and

provide individual segments or fragments of the media content for playback in the device based in part on the appropriate bitrate.

8 . A method for tracking a viewing session for media content, comprising:

enabling the viewing session that is associated with an initial manifest comprising stored identifiers for a plurality of bitrates of a media content;

determining an appropriate bitrate, from a selection provided by a device that received the initial manifest;

modifying, based at least on the selection, the initial manifest to generate a modified manifest that has a plurality of modified links of different bitrates from a modification to the stored identifiers, individual links of the modified links including a session identifier that is unique to the viewing session and to the appropriate bitrate of the different bitrates;

upon determining that the media content at the appropriate bitrate is not cached, caching the media content at the appropriate bitrate; and

upon determining that the media content at the appropriate bitrate is cached:

removing the session identifier from the individual links associated with the media content;

logging a presence of the viewing session; and

providing the media content.

9 . The method according to claim 8 , further comprising:

receiving periodic requests for the initial manifest; and

generating new modified manifests referencing updated segments of the media content, the new modified manifests to be provided to the device.

10 . The method according to claim 8 , further comprising:

determining the appropriate bitrate as associated with the device that is one of a computer, a television, a set-top box, a cellular telephone, a tablet, and a mobile device.

11 . The method according to claim 8 , further comprising:

enabling the device to provide the selection as a selection for a variant manifest than the initial manifest, wherein the variant manifest comprises the appropriate bitrate for the media content.

12 . The method according to claim 8 , further comprising:

enabling the modified manifest or a variant of the modified manifest to comprise the modified links from the modification to an appropriate one of the stored identifiers associated with the appropriate bitrate.

13 . The method according to claim 8 , further comprising:

providing the media content at the appropriate bitrate in response to a further selection from the device.

14 . The method according to claim 8 , further comprising:

enabling an application of the device to select the appropriate bitrate; and

providing individual segments or fragments of the media content for playback in the device based in part on the appropriate bitrate.

15 . A non-transitory computer readable storage medium including instructions stored thereon which, when executed by at least one processor, cause the at least one processor to:

enable a viewing session that is associated with an initial manifest comprising stored identifiers for a plurality of bitrates of a media content;

determine an appropriate bitrate, from a selection provided by a device that received the initial manifest;

modify, based at least on the selection, the initial manifest to generate a modified manifest that has a plurality of modified links of different bitrates from a modification to the stored identifiers, individual links of the modified links including a session identifier that is unique to the viewing session and to the appropriate bitrate of the different bitrates;

upon determining that the media content at the appropriate bitrate is not cached, cache the media content at the appropriate bitrate; and

upon determining that the media content at the appropriate bitrate is cached:

remove the session identifier from the individual links associated with the media content;

log a presence of the viewing session; and

provide the media content.

16 . The non-transitory computer readable storage medium of claim 15 , including the instructions stored thereon which, when executed by the at least one processor, further cause the at least one processor to:

receive periodic requests for the initial manifest; and

generate new modified manifests referencing updated segments of the media content, the new modified manifests to be provided to the device.

17 . The non-transitory computer readable storage medium of claim 15 , including the instructions stored thereon which, when executed by the at least one processor, further cause the at least one processor to:

determine the appropriate bitrate as associated with the device that is one of a computer, a television, a set-top box, a cellular telephone, a tablet, and a mobile device.

18 . The non-transitory computer readable storage medium of claim 15 , including the instructions stored thereon which, when executed by the at least one processor, further cause the at least one processor to:

enable the device to provide the selection as a selection for a variant manifest than the initial manifest, wherein the variant manifest comprises the appropriate bitrate for the media content.

19 . The non-transitory computer readable storage medium of claim 15 , including the instructions stored thereon which, when executed by the at least one processor, further cause the at least one processor to:

enable the modified manifest or a variant of the modified manifest to comprise the modified links from the modification to an appropriate one of the stored identifiers associated with the appropriate bitrate.

20 . The non-transitory computer readable storage medium of claim 15 , including the instructions stored thereon which, when executed by the at least one processor, further cause the at least one processor to:

provide the media content at the appropriate bitrate in response to a further selection from the device.