IP Library Patent Application 15638216
Patent Application
App. No. 15/638,216

OPTIMIZING MEDIA PRESENTATION WITHIN AN APPLICATION

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 None
App. No.
15/638,216
Abstract

A user device presents media to a user in the form of multiple content items, each comprising media components such as videos, text, and images. The user device uses user data and information about a set of content items accessed by the user to predict an order in which the user will access the content items. The user device requests, in the predicted order, media components associated with a number of content items to prepare the content items for presentation to the user. Responsive to detecting a transition between a presentation of a first content item and a presentation of a second content item, the user device may re-prioritize a predicted access order for the content items. The user device may additionally request media components to download according to quality levels. For example, a slow network connection may prompt a user device to use lower resolution video.

Claims (68)

1 . A computer-implemented method performed by a user device, comprising:

receiving, by at least one processor, information about a set of content items to be displayed by the user device, each content item comprising one or more media components;

generating a prioritized order in which to receive one or more media components associated with the set of content items;

requesting one or more media components from a content server and, as the requested one or more media components are received from the content server, sequentially preparing the received one or more media components for delivery to the user, the sequence based on the prioritized order;

displaying a first content item from the set of content items on the user device;

detecting information about a transition from displaying the first content item to displaying a second content item from the set of content items;

generating a re-prioritized order for receiving the media components, the re-prioritized order based, at least in part, on the information about the transition;

requesting, from the content server, one or more media components associated with the second content item;

receiving the one or more media components associated with the second content item from the content server and sequentially preparing the received one or more media components associated with the second content item for delivery to the user, the sequence based on the re-prioritized order; and

displaying the second content item from the set of content items on the user device.

2 . The computer-implemented method of claim 1 , wherein requesting one or more media components associated with a content item from the content server comprises:

determining a connection type by which the user device is connected to a network;

determining a media component quality level that can be supported by the connection type; and

requesting the one or more media components in the determined quality level to be transmitted over the network from the content server.

3 . The computer-implemented method of claim 2 , wherein determining a media component quality level that can be supported by the connection comprises:

determining an available bandwidth for receiving the content from the content server; and

selecting a version of the content item that is available on the content server and that can be received using the determined available bandwidth.

4 . The computer-implemented method of claim 1 , wherein types of media components that are associated with content items include at least one or more of images, audio, or video.

5 . The computer-implemented method of claim 1 , wherein the re-prioritized order for receiving media components is based in part on a speed at which a user of the user device transitions between displaying different content items on the user device.

6 . The computer-implemented method of claim 1 , wherein generating a prioritized order in which to receive one or more media components associated with the set of content items comprises predicting an order in which a user is most likely to navigate to specific content items from the set of content items, the prediction based on historical user interactions with the user device.

7 . The computer-implemented method of claim 1 , wherein displaying a content item comprises:

displaying a first media component associated with the content item; and

responsive to receiving one or more subsequent media components associated with the content item from the content server:

displaying the one or more subsequent media components.

8 . The computer-implemented method of claim 1 , wherein receiving media components from the content server comprises receiving media components associated with a pre-determined number of content items, and, responsive to receiving media components associated with a newly requested content item, allocating memory space of a previously received content item to store the media components associated with the newly requested content item.

9 . The computer-implemented method of claim 1 , wherein a transition from displaying a first content item to displaying a second content item is initiated by a user of the user device.

10 . A non-transitory computer-readable storage medium storing computer program instructions executable by one or more processors of a system to perform steps comprising:

receiving, by at least one processor, information about a set of content items to be displayed by the user device, each content item comprising one or more media components;

generating a prioritized order in which to receive one or more media components associated with the set of content items;

requesting one or more media components from a content server and, as the requested one or more media components are received from the content server, sequentially preparing the received one or more media components for delivery to the user, the sequence based on the prioritized order;

displaying a first content item from the set of content items on the user device;

detecting information about a transition from displaying the first content item to displaying a second content item from the set of content items;

generating a re-prioritized order for receiving the media components, the re-prioritized order based, at least in part, on the information about the transition;

requesting, from the content server, one or more media components associated with the second content item;

receiving the one or more media components associated with the second content item from the content server and sequentially preparing the received one or more media components associated with the second content item for delivery to the user, the sequence based on the re-prioritized order; and

displaying the second content item from the set of content items on the user device.

11 . The non-transitory computer-readable storage medium of claim 10 , wherein requesting one or more media components associated with a content item from the content server comprises:

determining a connection type by which the user device is connected to a network;

determining a media component quality level that can be supported by the connection; and

requesting the one or more media components in the determined quality level to be transmitted over the network from the content server.

12 . The non-transitory computer-readable storage medium of claim 10 , wherein types of media components that are associated with content items include at least one or more of images, audio, or video.

13 . The non-transitory computer-readable storage medium of claim 12 , wherein determining a media component quality level that can be supported by the connection comprises:

determining an available bandwidth for receiving the content from the content server; and

selecting a version of the content item that is available on the content server and that can be received using the determined available bandwidth.

14 . The non-transitory computer-readable storage medium of claim 10 , wherein the re-prioritized order for receiving media components is based in part on a speed at which a user of the user device transitions between displaying different content items on the user device.

15 . The non-transitory computer-readable storage medium of claim 10 , wherein generating a prioritized order in which to receive one or more media components associated with the set of content items comprises predicting an order in which a user is most likely to navigate to specific content items from the set of content items, the prediction based on historical user interactions with the user device.

16 . The non-transitory computer-readable storage medium of claim 10 , wherein displaying a content item comprises:

displaying a first media component associated with the content item; and

responsive to receiving one or more subsequent media components associated with the content item from the content server:

displaying the one or more subsequent media components.

17 . The non-transitory computer-readable storage medium of claim 10 , wherein receiving media components from the content server comprises receiving media components associated with a pre-determined number of content items, and, responsive to receiving media components associated with a newly requested content item, allocating memory space of a previously received content item to store the media components associated with the newly requested content item.

18 . The non-transitory computer-readable storage medium of claim 10 , wherein a transition from displaying a first content item to displaying a second content item is initiated by a user of the user device.

19 . A computer system comprising:

one or more computer processors for executing computer program instructions; and

a non-transitory computer-readable storage medium storing instructions executable by the one or more computer processors to perform steps comprising:

receiving, by at least one processor, information about a set of content items to be displayed by the user device, each content item comprising one or more media components;

generating a prioritized order in which to receive one or more media components associated with the set of content items;

requesting one or more media components from a content server and, as the requested one or more media components are received from the content server, sequentially preparing the received one or more media components for delivery to the user, the sequence based on the prioritized order;

displaying a first content item from the set of content items on the user device;

detecting information about a transition from displaying the first content item to displaying a second content item from the set of content items;

generating a re-prioritized order for receiving the media components, the re-prioritized order based, at least in part, on the information about the transition;

requesting, from the content server, one or more media components associated with the second content item;

receiving the one or more media components associated with the second content item from the content server and sequentially preparing the received one or more media components associated with the second content item for delivery to the user, the sequence based on the re-prioritized order; and

displaying the second content item from the set of content items on the user device.

20 . The computer system of claim 19 , wherein requesting one or more media components associated with a content item from the content server comprises:

determining a connection type by which the user device is connected to a network;

determining a media component quality level that can be supported by the connection; and

requesting the one or more media components in the determined quality level to be transmitted over the network from the content server.

Assignments (7)
RELEASE OF SECURITY INTEREST Recorded Oct 3, 2024
From: MORGAN STANLEY SENIOR FUNDING, INC., AS ADMINISTRATIVE AGENT
To: UBER TECHNOLOGIES, INC.
Reel/Frame 069110/0508 →
TERMINATION AND RELEASE OF PATENT SECURITY AGREEMENT (TERM LOAN) AT REEL 050767, FRAME 0076 Recorded Sep 11, 2024
From: MORGAN STANLEY SENIOR FUNDING, INC. AS ADMINISTRATIVE AGENT
To: UBER TECHNOLOGIES, INC.
Reel/Frame 069133/0167 →
RELEASE OF SECURITY INTEREST Recorded Mar 10, 2021
From: CORTLAND CAPITAL MARKET SERVICES LLC, AS ADMINISTRATIVE AGENT
To: UBER TECHNOLOGIES, INC.
Reel/Frame 055547/0404 →
PATENT SECURITY AGREEMENT SUPPLEMENT Recorded Oct 24, 2019
From: UBER TECHNOLOGIES, INC.
To: CORTLAND CAPITAL MARKET SERVICES LLC
Reel/Frame 050817/0600 →
SECURITY INTEREST Recorded Oct 18, 2019
From: UBER TECHNOLOGIES, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC., AS ADMINISTRATIVE AGENT
Reel/Frame 050767/0109 →
SECURITY INTEREST Recorded Oct 18, 2019
From: UBER TECHNOLOGIES, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC., AS ADMINISTRATIVE AGENT
Reel/Frame 050767/0076 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 14, 2017
From: CRIVELLO, FLORENT; LANDRY, LUDOVIC
To: UBER TECHNOLOGIES, INC.
Reel/Frame 043280/0520 →