# US 8,788,575 B2 · System, method, and computer program product for media publishing request processing

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

- Number: US 8,788,575 B2
- Document ID: US8788575B2
- Status: Granted
- Kind: B2
- Application number: 12/771,599
- Filed: 2010-04-30
- Published: 2010-10-07
- Granted: 2014-07-22
- Earliest claimed: 2002-02-15
- Assignees: Sony Corporation
- Applicants: Giovanni M. Agnoli; Christopher V. Pirazzi; Howard Chartock; Steve Chen; Harry Chomsky; Angela C. Lai; Kerrick Lindsey; David Pawson; Jody Shapiro; Daniel Weaver
- Inventors: Giovanni M. Agnoli; Christopher V. Pirazzi; Howard Chartock; Steve Chen; Harry Chomsky; Angela C. Lai; Kerrick Lindsey; David Pawson; Jody Shapiro; Daniel Weaver
- Web page: https://patentgrep.com/patent/US8788575B2

## CPC

- H04N 21/23103: {using load balancing strategies, e.g. by placing or distributing content on different disks, different memories or different servers (storage management G06F3/0604; allocation of resources considering the load in multiprogramming arrangements G06F9/505; techniques for rebalancing the load in a distributed system G06F9/5083; access to distributed or replicated servers, e.g. load balancing, in data networks H04L67/1001)}
- H04L 65/612: for unicast
- H04L 65/70: Media network packetisation
- H04L 65/762: {at the source (reformatting of additional data in video distribution servers H04N21/2355)}
- H04L 67/1001: for accessing one among a plurality of replicated servers
- H04L 67/1008: based on parameters of servers, e.g. available memory or workload (monitoring of computer activity G06F11/30)
- H04L 67/1012: based on compliance of requirements or conditions with available server resources
- H04L 67/1029: using data related to the state of servers by a load balancer
- H04L 67/565: Conversion or adaptation of application format or content (adding application control or application functional data H04L67/561)
- H04N 21/23106: {involving caching operations (prefetching while addressing of a memory level in which the access to the desired data or data block requires associative addressing means within memory systems or architectures G06F12/0862; caching at an intermediate stage in a data network H04L67/568)}
- H04N 21/2343: involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements {(video transcoding H04N19/40; media packet handling at the source H04L65/762)}
- H04N 21/2405: {Monitoring of the internal components or processes of the server, e.g. server load (allocation of resources in multiprogramming arrangements G06F9/50; performance measurement of computer activity G06F11/34)}
- H04N 21/6581: {Reference data, e.g. a movie identifier for ordering a movie or a product identifier in a home shopping application}
- H04N 21/6582: {Data stored in the client, e.g. viewing habits, hardware capabilities, credit card number (arrangements where receivers interact with the broadcast H04H20/38)}
- H04L 67/563: Data redirection of data network streams
- H04L 67/5681: Pre-fetching or pre-delivering data based on network characteristics
- H04L 69/329: in the application layer [OSI layer 7]
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

A system, method, and computer program product for publishing transcoded media content in response to publishing service requests from end users. A user request for media content, is processed intelligently, either by directing the processing of the request to one of a set of transcoding servers so as to effectively balance the load among the servers, or by directing the processing of the request to an appropriate alternative means for satisfying the request. Transcoding tasks can be prioritized. Moreover, the current load on any particular transcoding server can be monitored in conjunction with determination of the load to be created by a transcoding task, in order to facilitate server selection. Transcoding can be performed on-demand or in a batch mode. Alternatively, a request can be satisfied by distributing media content that has already been transcoded and is resident in cache memory in anticipation of such requests.

## Claims

### Claim 1

A method for providing media content, comprising the steps of:
transcoding, media contents in anticipation of further publishing service requests;
receiving, from a client, a publishing service request for providing a media content;
determining, in response to the publishing service request, an optimum publishing option based on at least one of an availability of an original content corresponding to the requested media content, an availability of transcoding servers, and an availability of a transcoded media content in a cache corresponding to the requested media content; and
providing the client with the requested media content,
wherein the determining step further comprises the steps of:
determining, as said optimum publishing option, at least one of publishing options including:
publishing based on matching of the requested media content with cache contents,
publishing based on on-demand transcoding according to a variance of constraints, and
publishing based on pass-through access to the original content corresponding to the requested media content; and
selecting one of the publishing options;
generating a media provider request specifying the determined option; and
sending the media provider request to a media provider request processor,
wherein the method further comprises a step of killing an on-going transcoding task whose priority and required load are both lower than those of a to-be initiated transcoding task, respectively, to allow a processing of the to-be initiated transcoding task.

### Claim 2

A non-transitory computer readable medium encoded an executable program that, when executed, causing a computer system to provide media content, the executable program comprising the steps of:
transcoding media contents in anticipation of further publishing service requests;
receiving, from a client, a publishing service request for providing a media content;
determining, in response to the publishing service request, an optimum publishing option based on at least one of an availability of an original content corresponding to the requested media content, an availability of transcoding servers, and an availability of a transcoded media content in a cache corresponding to the requested media content; and
providing the client with the requested media content,
wherein the determining step further comprises the steps of:
determining, as said optimum publishing option, at least one of publishing options including:
publishing based on matching of the requested media content with cache contents,
publishing based on on-demand transcoding according to a variance of constraints, and
publishing based on pass-through access to the original content corresponding to the requested media content; and
selecting one of the publishing options;
generating a media provider request specifying the determined option; and
sending the media provider request to a media provider request processor,
wherein the executable program further comprises a step of killing an on-going transcoding task whose required load and priority are both lower than those of a to-be initiated transcoding task, respectively, to allow a processing of the to-be initiated transcoding task.

### Claim 3

An apparatus for providing media content, comprising:
transcoding means for transcoding media contents in anticipation of further publishing service requests;
receiving means for receiving, from a client, a publishing service request for providing a media content; and
determining means for determining, in response to the publishing service request, an optimum publishing option based on at least one of an availability of an original content corresponding to the requested media content, an availability of transcoding servers, and an availability of a transcoded media content in a cache corresponding to the requested media content,
wherein the determining means further:
determines, as said optimum publishing option, at least one of publishing options including:
publishing based on matching of the requested media content with cache contents,
publishing based on on-demand transcoding according to a variance of constraints, and
publishing based on pass-through access to the original content corresponding to the requested media content; and
selects one of the publishing options;
generates a media provider request specifying the determined option; and
sends the media provider request to a media provider request processor,
wherein the determining means further kills an on-going transcoding task whose required load and priority are both lower than those of a to-be initiated transcoding task, respectively, to allow a processing of the to-be initiated transcoding task.

### Claim 4

A system for providing media content, comprising:
a client terminal that communicates with a server system,
wherein the server system includes:
transcoding means for transcoding media contents in anticipation of further publishing service requests;
receiving means for receiving, from a client, a publishing service request for providing a media content;
determining means for determining, in response to the publishing service request, an optimum publishing option based on at least one of an availability of an original content corresponding to the requested media content, an availability of transcoding servers, and an availability of a transcoded media content in a cache corresponding to the requested media content; and
providing means for providing the client with the requested media content,
wherein the determining means further:
determines, as said optimum publishing option, at least one of publishing options including:
publishing based on matching of the requested media content with cache contents,
publishing based on on-demand transcoding according to a variance of constraints, and
publishing based on pass-through access to the original content corresponding to the requested media content; and
selects one of the publishing options;
generates a media provider request specifying the determined option; and
sends the media provider request to a media provider request processor,
wherein the determining means further kills an on-going transcoding task whose required load and priority are both lower than those of a to-be initiated transcoding task, respectively, to allow a processing of the to-be initiated transcoding task.
