# US 10,873,614 B2 · Method and apparatus for configuration and deployment of media processing in the network

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

- Number: US 10,873,614 B2
- Document ID: US10873614B2
- Status: Granted
- Kind: B2
- Application number: 16/245,137
- Filed: 2019-01-10
- Published: 2019-07-18
- Granted: 2020-12-22
- Earliest claimed: 2018-01-17
- Assignees: Samsung Electronics Co., Ltd.
- Applicants: Samsung Electronics Co., Ltd.
- Inventors: Prakash Kolan; Imed Bouazizi
- Web page: https://patentgrep.com/patent/US10873614B2

## CPC

- H04L 65/60: Network streaming of media packets
- G06F 9/30: Arrangements for executing machine instructions, e.g. instruction decode (for executing microinstructions G06F9/22)
- G06F 9/5055: {considering software capabilities, i.e. software resources associated or available to the machine}
- G06F 9/5072: {Grid computing}
- G06F 16/483: using metadata automatically derived from the content
- H04L 67/04: specially adapted for terminals or networks with limited capabilities; specially adapted for terminal portability
- H04L 67/10: in which an application is distributed across nodes in the network (software deployment G06F8/60; multiprogramming arrangements G06F9/46)
- H04L 67/61: taking into account QoS or priority requirements
- H04L 69/40: for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection (management of faults, events, alarms or notifications in data switching networks H04L41/06)
- G06F 2209/508: Monitor
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A method, an electronic device, and computer readable medium is provided. The method includes receiving, from a media source, a request for media processing, where the request includes a requested media output. The method also includes identifying one or more media processing functions to perform the request for media processing based on information associated with each of the one or more media processing functions. The method further includes configuring each of the one or more media processing functions by mapping the request for media processing to the one or more media processing functions based on the information associated with each of the one or more media processing functions. The method additionally includes monitoring the one or more media processing functions while the one or more media processing functions perform tasks to generate the requested media output.

## Claims

### Claim 1

An electronic device comprising:
a communication interface configured to receive, from a media source, a request for media processing, the request including a requested media output;
a processor configured to:
in response to receiving the request, select multiple media processing functions from a plurality of media processing functions to perform various portions of the request for media processing, wherein the selected media processing functions are identified based on information that describes and is associated with each of the plurality of media processing functions, the information comprises:
input information describing an input type that a function is able to process,
output information describing an output that the function generates, and
requirement information that the function uses in order to process a received input;
configure each of the multiple media processing functions into a pipeline by mapping the request for media processing to the multiple media processing functions to generate the requested media output based on the information associated with each of the multiple media processing functions, wherein an output of one of the multiple media processing functions is mapped to an input of another one of the multiple media processing functions;
monitor the multiple media processing functions while the multiple media processing functions perform tasks to generate the requested media output; and
based on the monitoring, modify the pipeline of the multiple media processing functions to generate the requested media output.

### Claim 2 (depends on 1)

The electronic device of claim 1, wherein:
the processor is further configured to analyze the request for media processing to identify media data, and
to select the multiple media processing functions the processor is configured to:
search a directory listing the plurality of media processing functions for the multiple media processing functions that when organized into the pipeline, modify the media data based on the requested media output, and
select the multiple media processing functions from the directory based on the information associated with each of the multiple media processing functions.

### Claim 3 (depends on 2)

The electronic device of claim 2, wherein the processor is further configured to transmit, to a destination indicated in the request, a generated output from the multiple media processing functions, the generated output corresponding to the requested media output.

### Claim 4 (depends on 1)

The electronic device of claim 1 wherein to configure each of the multiple media processing functions, the processor is configured to:
organize each of the multiple media processing functions into the pipeline,
wherein, the multiple media processing functions, when organized, are mapped to one another, and perform respective portions of the media processing until the requested media output is generated.

### Claim 5 (depends on 4)

The electronic device of claim 4 wherein the processor is further configured to:
connect the multiple media processing functions,
wherein one function of the multiple media processing functions receives one input from another of the multiple media processing functions or receives two or more inputs from different media processing functions of the multiple media processing functions, and
wherein the one function generates multiple outputs that are received by subsequent media processing functions of the multiple media processing functions.

### Claim 6 (depends on 1)

The electronic device of claim 1 wherein
each of the multiple media processing functions receives configuration data, input media data corresponding to the input information, and requirements corresponding to the requirement information, and generates an output corresponding to the output information.

### Claim 7 (depends on 1)

The electronic device of claim 1, wherein to monitor the multiple media processing functions, the processor is configured to:
identify whether a first function of the multiple media processing functions fails to process an input as indicated by the information associated with each of the multiple media processing functions;
in response to identifying that the first function fails to process the input, identify multiple new media processing functions to perform the media processing which that first function was intended to perform; and
map the multiple new media processing functions in place of the first function.

### Claim 8

A method comprising:
receiving, from a media source, a request for media processing, the request including a requested media output;
in response to receiving the request, select multiple media processing functions from a plurality of media processing functions to perform various portions of the request for media processing, wherein the selected media processing functions are identified based on information that describes and is associated with each of the plurality of media processing functions, the information comprises:
input information describing an input type that a function is able to process,
output information describing an output that the function generates, and
requirement information that the function uses in order to process a received input;
configuring each of the multiple media processing functions into a pipeline by mapping the request for media processing to the multiple media processing functions to generate the requested media output based on the information associated with each of the multiple media processing functions, wherein an output of one of the multiple media processing functions is mapped to an input of another one of the multiple media processing functions;
monitoring the multiple media processing functions while the multiple media processing functions perform tasks to generate the requested media output; and
based on the monitoring, modifying the pipeline of the multiple media processing functions to generate the requested media output.

### Claim 9 (depends on 8)

The method of claim 8, further comprising:
analyzing the request for media processing to identify media data,
wherein selecting the multiple media processing functions comprises:
searching a directory listing the plurality of media processing functions for the multiple media processing functions that when organized into the pipeline, modify the media data based on the requested media output, and
selecting the multiple media processing functions from the directory based on the information associated with each of the multiple media processing functions.

### Claim 10 (depends on 9)

The method of claim 9, further comprising transmitting, to a destination indicated in the request, a generated output from the multiple media processing functions, the generated output corresponding to the requested media output.

### Claim 11 (depends on 8)

The method of claim 8, further comprising:
organizing each of the multiple media processing functions into the pipeline,
wherein, the multiple media processing functions, when organized, are mapped to one another, and perform respective portions of the media processing until the requested media output is generated.

### Claim 12 (depends on 11)

The method of claim 11, further comprising:
connecting the multiple media processing functions,
wherein one function of the multiple media processing functions receives one input from another of the multiple media processing functions or receives two or more inputs from different media processing functions of the multiple media processing functions, and
wherein the one function generates multiple outputs that are received by subsequent media processing functions of the multiple media processing functions.

### Claim 13 (depends on 8)

The method of claim 8, wherein
each of the multiple media processing functions receives configuration data, input media data corresponding to the input information, and requirements corresponding to the requirement information, and generates an output corresponding to the output information.

### Claim 14 (depends on 8)

The method of claim 8, wherein monitoring the multiple media processing functions, comprises:
identifying whether a first function of the multiple media processing functions fails to process an input as indicated by the information associated with each of the multiple media processing functions;
in response to identifying that the first function fails to process the input, identifying multiple new media processing functions to perform the media processing which that first function was intended to perform; and
mapping the multiple new media processing functions in place of the first function.

### Claim 15

A non-transitory computer readable medium embodying a computer program, the computer program comprising computer readable program code that, when executed by a processor of an electronic device, causes the processor to:
receive, from a media source, a request for media processing, the request including a requested media output;
in response to receiving the request, select multiple media processing functions from a plurality of media processing functions to perform various portions of the request for media processing, wherein the selected media processing functions are identified based on information that describes and is associated with each of the plurality of media processing functions, the information comprises:
input information describing an input type that a function is able to process,
output information describing an output that the function generates, and
requirement information that the function uses in order to process a received input;
configure each of the multiple media processing functions into a pipeline by mapping the request for media processing mapping the request for media processing to the multiple media processing functions to generate the requested media output based on the information that describes and is associated with each of the multiple media processing functions, wherein an output of one of the multiple media processing functions is mapped to an input of another one of the multiple media processing functions;
monitor the multiple media processing functions while the multiple media processing functions perform tasks to generate the requested media output; and
based on the monitoring, modify the pipeline of the multiple media processing functions to generate the requested media output.

### Claim 16 (depends on 15)

The non-transitory computer readable medium of claim 15, wherein:
the program code, when executed by the processor, further causes the processor to analyze the request for media processing to identify media data, and
to select the multiple media processing functions, the program code, when executed by the processor, further causes the processor to:
search a directory listing the plurality of media processing functions for the multiple media processing functions that when organized into the pipeline, modify the media data based on the requested media output, and
select the multiple media processing functions from the directory based on the information associated with each of the multiple media processing functions.

### Claim 17 (depends on 16)

The non-transitory computer readable medium of claim 16, wherein the program code, when executed by the processor, further causes the processor to transmit, to a destination indicated in the request, a generated output from the multiple media processing functions, the generated output corresponding to the requested media output.

### Claim 18 (depends on 15)

The non-transitory computer readable medium of claim 15 wherein the program code, when executed by the processor, further causes the processor to organize each of the multiple media processing functions into the pipeline,
wherein, the multiple media processing functions, when organized, are mapped to one another, and perform respective portions of the media processing until the requested media output is generated.

### Claim 19 (depends on 15)

The non-transitory computer readable medium of claim 15, wherein
each of the multiple media processing functions receives configuration data, input media data corresponding to the input information, and requirements corresponding to the requirement information, and generates an output corresponding to the output information.

### Claim 20 (depends on 15)

The non-transitory computer readable medium of claim 15, wherein to monitor the multiple media processing functions, the program code, when executed by the processor, further causes the processor to:
identify whether a first function of the multiple media processing functions fails to process an input as indicated by the information associated with each of the multiple media processing functions;
in response to identifying that the first function fails to process the input, identify multiple new media processing functions to perform the media processing which that first function was intended to perform; and
map the multiple new media processing functions in place of the first function.
