Patent Publication Number: US-9888050-B2

Title: Method and apparatus for integrating various network elements and providing media processing services

Description:
BACKGROUND INFORMATION 
     The growth in availability of media content (audio, video) and the various types of devices, which the media content may be consumed at, requires content providers to process the content for consumption by different users at different devices, storage and archive, and delivery over the network or on physical media (e.g., DVD or BluRay discs, etc.) For example, the content may be processed for converting a media file format to one or more other formats, edit content in and/or out, change quality or timing of the content, or the like. A processing system may be utilized for personal use or by a content producer or provider (e.g., an enterprise client), where the system may employ various processing elements and architecture to provide the desired service. However, with more complex architectures, networks, and user interface requirements, maintaining and updating the system may require substantial resources and overhead as additional network elements and components are integrated. 
     Based on the foregoing, there is a need for an approach to provide a media processing architecture and services platform that allows network elements and components to be easily integrated and their diverse unique services may be exposed to clients without an abstraction layer, yet within the confines of a framework so that the clients incur minimal or zero switching costs. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       Various exemplary embodiments are illustrated by way of example, and not by way of limitation, in the figures of the accompanying drawings in which like reference numerals refer to similar elements and in which: 
         FIG. 1  is a diagram of a system capable of integrating various network elements into a media processing architecture and services platform, according to one embodiment; 
         FIG. 2  is a diagram of a media processing platform architecture, according to one embodiment; 
         FIG. 3  is a diagram of components of the a media processing platform, according to one embodiment; 
         FIGS. 4A through 4G  illustrate parameter lists, workflows, mapping tables, and a client order form associated with a processing request, according to various embodiments; 
         FIG. 5  is a flowchart of a process for integrating one or more network elements into a media processing platform, according to one embodiment; 
         FIG. 6  is a flowchart of a process for configuring network elements, according to one embodiment; 
         FIGS. 7 and 8  are flowcharts of processes for receiving and executing processing requests, according to one embodiment; 
         FIG. 9  is a diagram of a computer system that can be used to implement various exemplary embodiments; and 
         FIG. 10  is a diagram of a chip set that can be used to implement various exemplary embodiments. 
     
    
    
     DESCRIPTION OF THE PREFERRED EMBODIMENT 
     An apparatus, method, and software for integrating network elements and providing media processing services. In the following description, for the purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the present invention. It is apparent, however, to one skilled in the art that the present invention may be practiced without these specific details or with an equivalent arrangement. In other instances, well-known structures and devices are shown in block diagram form in order to avoid unnecessarily obscuring the present invention. 
       FIG. 1  is a diagram of a system capable of integrating various network elements into a media processing architecture and services platform. As previously discussed, a media processing platform may be utilized to provide various services for processing a broad range of media content items of various types where a variety of users (e.g., for personal or professional applications) may access and interact with the media processing platform for submitting media content items and related processing parameters. In more complex processing architectures, various steps and techniques may be utilized to render more comprehensive and sophisticated levels of service, which may include a broader range of options made available to the users. In such a system, a variety of network elements (NEs), software, algorithms, programs, etc. may be utilized so that a wider range of media content items may efficiently and rapidly be processed, where each component of the system may provide different options and functionalities. However, in order to provide efficient and high quality services to the users, the media processing platform may need to be updated, for example, by adding new NEs and resources to the architecture, which may be available from different vendors. But in order to integrate the new elements and resources with the existing system/architecture, the service provider of the media processing platform may also need to update various adapters, applications, software, algorithms, templates, and the like so that various components of the system may be able to access and utilize the new NEs. However, the updating process may be challenging as the service provider may need to provide substantial time and resources, for example, to generate or update an abstract layer or an interface (e.g., including intelligence) for each new NE. For instance, an integration process of a new NE should allow for a parameters list, media content item, and user input to be properly communicated to the new NE. However, since various NEs may be from different vendors, the abstract layer or an adapter module may also need to be updated as new NEs are integrated into the system. 
     To address the above issue of integrating new NEs, the system  100  of  FIG. 1  provides the capability for integrating network elements into an existing system architecture while providing a foundation for complying with various evolving industry standards. Further, a system provider may be able to quickly integrate into an existing system one or more new NEs with no or with minimal changes to other parts of the system and potentially without a need for an abstract layer or an adapter to translate the various processing parameters and operation requests for each NE. Once the new NEs are integrated into the system, the available processing platform options and NEs may be presented to the users so that the users may select one or more NEs and provide desired processing parameters for use in processing one or more media content items submitted by the users. In one example, the NEs may be operated using native workflows or job specification (e.g., processing specification) languages and/or operational commands, where corresponding workflow-references may be configured in a core platform for managing the overall workflow execution and job control. In one scenario, a customer/client may request a processing of a certain media content item, which processing may be accomplished via a plurality of sub-processing steps in a NE. In one embodiment, the core platform may determine and configure one or more workflows in a NE for completing the processing request. 
     In one embodiment, additional NEs may be integrated into the platform by loading NE topology details into one or more components of the media processing platform  103  for managing the workflows in the NEs, generating master parameters lists associated with the NEs, and load the master parameters lists into the one or more components of the media processing platform  103 . Additionally, generic native workflows may be generated and communicated to the new NEs where corresponding workflow-references may be created and mapped in the one or more components (e.g., the core platform). In one embodiment, the core platform may generate one or more client-specific native workflows/profiles and communicate to each NE as well as generate their corresponding workflow-references in the core platform. 
     In one scenario, the user input may directly be communicated to one or more NEs without the core platform (e.g., an adapter) having to translate or interpret a processing parameter list before it is communicated to a particular NE. In doing so, the core platform may be able to efficiently generate a plurality of workflows for the processing of the media content items at various network elements. In one use case scenario, a user may interface with an ordering platform to create and submit a job order for processing a media content item, wherein the user may be presented with a template which may include various default and selectable processing parameters for use in processing the media content item. In various scenarios, a user may select a particular NE for processing a certain media content item, where a previous processing parameters list may be utilized in processing the media content item. In one scenario, one or more parameters lists may be associated with a certain user so that the user may reuse those parameters lists for subsequent processing requests (e.g., job orders). 
     For the purpose of illustration, the system  100  may include one or more user devices  101   a - 101   n  with media content applications  117   a - 117   n  that may be utilized to access media processing services provided by a media processing platform  103  over one or more networks, including a telephony network  109 , a wireless network  111 , a data network  113 , a service provider data network  115 , etc. The media processing platform may be a standalone third-party service provider or maybe implemented as a part of the service provider data network  115 . By way of example, the networks  109 ,  111 ,  113 , and  115  may be any suitable wireline and/or wireless network, and be managed by one or more service providers. For example, telephony network  109  may include a circuit-switched network, such as the public switched telephone network (PSTN), an integrated services digital network (ISDN), a private branch exchange (PBX), or other like network. Wireless network  111  may employ various technologies including, for example, code division multiple access (CDMA), enhanced data rates for global evolution (EDGE), general packet radio service (GPRS), mobile ad hoc network (MANET), global system for mobile communications (GSM), Internet protocol multimedia subsystem (IMS), universal mobile telecommunications system (UMTS), etc., as well as any other suitable wireless medium, e.g., microwave access (WiMAX), wireless fidelity (WiFi), satellite, and the like. Meanwhile, data network  113  may be any local area network (LAN), metropolitan area network (MAN), wide area network (WAN), the Internet, or any other suitable packet-switched network, such as a commercially owned, proprietary packet-switched network, such as a proprietary cable or fiber-optic network. 
     Although depicted as separate entities, networks  109 ,  111 ,  113 , and  115  may be completely or partially contained within one another, or may embody one or more of the aforementioned infrastructures. For instance, the service provider network  119  may embody circuit-switched and/or packet-switched networks that include facilities to provide for transport of circuit-switched and/or packet-based communications. It is further contemplated that networks  109 - 115  may include components and facilities to provide for signaling and/or bearer communications between the various components or facilities of system  100 . In this manner, networks  109 - 115  may embody or include portions of a signaling system 7 (SS7) network, or other suitable infrastructure to support control and signaling functions. 
       FIG. 2  is a diagram of a media processing platform architecture, according to one embodiment. In one example, the media processing platform  103  may include an ordering platform  201 , a core platform  203 , one or more NEs  205 , a configuration manager module  209 , and a data collection/mediation (DCM) platform  211 . 
     In one embodiment, the ordering platform  201  may include a user interface, whereby a user may be presented with various options and templates for submitting media content items (e.g., digital files) and generating, updating, or amending one or more processing parameter lists, which may be used to process the media content items. In one example, a template may include various default processing parameters and additional optional and/or required parameters, wherein a user may select from a list of options for generating a complete parameter list associated with a certain job order. In one embodiment, a user device may directly interact with the ordering platform  201  via an application programming interface (API), where the user may not necessarily have to directly interface with the ordering platform. In another embodiment, a job order may be placed in a receiving module (e.g., watch folder) at the ordering platform, whereby the ordering platform may automatically detect and process the job order. In one embodiment, the job order may include one or more parameter lists and/or may indicate that one or more previously utilized parameter lists should be used to process the media content item included with the job order. In one embodiment, a user may provide an edit-decision-list (EDL), which may be utilized in processing the media content item. In one embodiment, the ordering platform  201  may interface with the core platform  203 . 
     In one scenario the core platform  203  may include, at least, a core engine  203   a  and an adapter  203   b . In one embodiment, the core engine  203   a  may process a job order received from the ordering platform and determine one or more workflows for processing a media content item associated with the job order. Further, the core engine  203   a  may determine one or more NEs  205  for processing the media content item associated with the job order as well as manage the one or more workflows. In one embodiment, the adapter  203   b  may determine one or more communication protocols or methods  207  (e.g., API) for transmitting information associated with the one or more workflows to the one or more NEs that were determined by the core engine  203   a . In one embodiment, the adapter  203   b  may pass the information directly to the NEs. In various embodiments, the core engine  203   a  may utilize one or more algorithms, software, applications, for the like to perform various tasks associated with the workflows. 
     In various embodiments, the NEs  205  may include a plurality of different components for processing the media content items; for example, various servers, various software, various programs, various applications, various algorithms, and the like which may be based on different standards and from various sources and manufacturers. 
     In one embodiment, the configuration manager module  209  may be utilized to configure the core platform  203 , the native workflows for the NEs  205 , the workflow-references in the core platform  203 , and the like. For example, an engineering team may perform the configuration based on various requirements by a user, by a service provider, and the like. 
     In one embodiment, the media processing platform  103  may include a DCM platform  211 , where various data associated with clients, client accounts, and processing requests may be stored or analyzed. Additionally, the DCM platform  211  may receive information and updates from the core platform  203  for performing various billing and tracking functions. 
       FIG. 3  is a diagram of components of the media processing platform  103 , utilized over the system  100 , according to one embodiment. By way of example, the media processing platform  103  includes one or more components for providing generic media processing architecture and services. It is contemplated that the functions of these components may be combined in one or more components or performed by other components of equivalent functionality. In this embodiment, the media processing platform  103  further includes a controller  301 , memory  303 , the communication interface  305 , the ordering platform  201 , the core platform  203 , the one or more NE  205 , the configuration manager module  209 , and the DCM platform  211 . The controller  301  may execute at least one algorithm (e.g., stored at the memory  303 ) for executing functions of the media processing platform  103 . For example, the controller  301  may interact with the ordering platform  201  to facilitate receiving user input associated with a job order for processing a media content item. In various embodiments, the communication interface  305  may be utilized to provide one or more communication channels to the users and/or to various service providers and network elements. For example, the communication interface  305  may be utilized to transmit client processing requests, parameters lists, native workflow configuration information, and the like to the NEs  205 . 
       FIGS. 4A through 4G  illustrate parameter lists, workflows, mapping tables, and a client order form associated with a processing request, according to various embodiments. 
     In  FIG. 4A , a parameter list (e.g., master list)  400  for a certain NE (e.g., a Transcoder-A by a certain vendor) is created, which includes various values inputs, which may indicate parameters that are to be used in processing a media content item. In one example, one or more of the values and inputs may be set by default, for instance, based on a processing request, a processing type, a media content item type, a client output profile, a NE, or the like. For example, the list may indicate a NE that is to be used to process a media content item, various operational processing parameters (aspect height, aspect with, aspect ratio, etc.), parameter ID, NE_ID, NE_Parameter, etc. In one instance, one or more parameters  400   a  (e.g., Frame Rate, Frame Width, Frame Height, File Name, Starting Timecode, etc.) may be changed/overridden (e.g., by a client). 
     Referring to  FIG. 4B , the parameter list of  FIG. 4A  may be used to create two concurrent native workflows “A” and “B” in a NE (e.g., Transcoder-A) by a certain vendor, and for a certain client (e.g., “CUST_A”). At different stages of the workflows, the system may analyze and process different inputs and execute various processes. For example, at  401 , the media processing platform  103  may receive a job order (processing request) from a client, and at  403 , various information associated with the job order and the media content item may be identified; for example, information about the abstracted, author, copyright, rating, title, and the like may be determined. Further, two native workflows “A” and “B” may be created and variables from the parameter list may be utilized to make decisions,  405   a  and  405   b , for processing one or more media content items. Furthermore, at  407   a  and  407   b , the processed media content items may be encoded and one or more output files created. Next, at  409   a  and  409   b , one or more notifications are sent to a common processing element  411  to indicate the completion of the processing in the workflows “A” and “B”. Referring to  FIG. 4C , in one embodiment, the parameter list  400  may be utilized to determine a workflow parameter mapping table  421 ; for example, the parameter elements  400   a  from the list  400  may be utilized to create a workflow-parameter-mapping-table  421 . 
       FIG. 4D  shows creation of a unique specification package identifier (e.g., stock-keeping unit (SKU)) for the two concurrent workflows of  FIG. 4B , which is associated with CUST_A. In the diagram  430 , various parameters  431 , from the parameter list  400   a , are utilized to create a package-level parameters (e.g. common to all SKU specs within package) for the first workflow “A” of  FIG. 4B . Further, another parameter (StartTimeCode), from the parameter list  400   a , is utilized to create an SKU spec-level parameters  433  and  435 , for generating two different outputs.  FIG. 4E  illustrates SKU spec package  441 , which is created for the second workflow “B” of  FIG. 4B  where the FrameHeight and FrameWidth are at 640×480 and are indicated in the parameter list  443 .  FIG. 4F  depicts a job order form  445 , which may be used by a client (e.g., CUST_A), to input various parameters (e.g., for SKU spec package), for instance via the ordering platform  201 . 
       FIG. 4G  illustrates a scenario where two workflows may sequentially process a media content item and produce a final output. In one embodiment, two or more sequential processes may be utilized to produce one or more final outputs. For example, a media content item may be processed via a first workflow at a first NE to produce a first output, which then may be used as an input into one or more workflows at one or more same/different types of NEs for producing one or more other (e.g., final) outputs. In one scenario, a workflow  451  at a NE “DR” may process a media content item based on parameters list  453  and produce a first output, which then may be used as an input into the workflow  455  at a NE “TEL” for a processing based on parameters list  457  and producing a second output. In various scenarios, an original media content item may be processed a plurality of instances via a plurality of workflow and network elements. 
       FIG. 5  is a flowchart of a process for integrating one or more network elements into a media processing platform according to one embodiment. For the purpose of illustration, process  500  is described with respect to  FIG. 1 . It is noted that the steps of the process  500  may be performed in any suitable order, as well as combined or separated in any suitable manner. 
     As shown in  FIG. 5 , in step  501 , the media processing platform  103  may generate at least one interface in a media processing platform for interfacing with at least one network element. In one instance, a service provider may wish to add one or more new NEs to its media processing platform  103  in order to have additional capacity and/or to provide updated and enhanced capabilities to its clients. However, a new NE would need to be bonded/coupled (e.g., e-bonding) with one or more components of the media processing platform  103  before the components can communicate with and utilize the new network element. Therefore, as part of the integration process, the service provider may develop and generate one or more integration interface applications for use in integration of new NEs into a media processing platform  103 . In one example, the new NEs may be similar to or be the same as current NEs in the system, wherein the additional new NEs would provide greater capacity for efficiently processing various media content items. In one example, the new NEs may be different than the current NEs in the system, wherein the different new NEs may provide additional capabilities and functionalities for processing the media content items. In one embodiment, and integration interface may include elements from prior integration interface applications and/or it may include elements provided by one or more vendors of the new network elements. 
     In step  503 , the media processing platform  103  may determine access information associated with the at least one network element. In various embodiments, a service provider may determine the access information from a vendor of a NE or from requirements associated with the network element. For example, the access information added to the platform may include identification information, version, communication protocol, topology information (e.g., how many), or the like. In one embodiment, a plurality of same/similar NEs may be integrated into the media processing platform  103  where each NE may directly interface with one or more components of the media processing platform  103 . For instance, a core processing platform within the media processing platform  103  may communicate and interface with each of the network elements, for example, to manage and balance various processes in each network element. In one embodiment, a plurality of same/similar NEs may be integrated into the media processing platform  103  as a cluster where these NEs may communicate and interface with a single point of contact, e.g., a load balancer, wherein the load balancer would then communicate and interface with the one or more components of the media processing platform  103 . 
     In step  505 , the media processing platform  103  may generate a master parameters list for the at least one NE for use in a processing of a media content item. In one embodiment, the master parameters list may include various functions and operations that may be supported by a NE and various parameters associated with the functions and operations. For example, the master parameters list may include NE identification (e.g., Transcoder-A), operation (e.g., aspect ratio), parameter reference, type, or the like. In one instance, the parameters may be provided by the vendor of a network element, which may be specific to the NE provided by that vendor. For example, a specific master parameters list may directly provide the information and parameters to a given NE, where the NE may properly decode and decipher the information and parameters (e.g., native to the given network element) without a need for abstraction or translation of the information and parameters by any components of the media processing platform  103 . In one example, a same parameter may be referred to differently by different types of network elements. In one scenario, after generating the interface between the NE and other components of the media processing platform  103 , determining access information associated with the network element, and generating a master parameters list for the network element, the NE may be considered integrated into the media processing platform  103 , which may be able to communicate with and utilize the integrated network element. In one embodiment, the master parameters list includes one or more operations that are available at the at least one network element, a parameterization of the one or more operations, or a combination thereof. In one embodiment, the adapter  203   b  of the core platform  203  may determine to as to which NE is it that a particular processing request (e.g., job order, workflow, parameter lists, etc.) is to be transmitted to and thereby determine an appropriate protocol for establishing a communication with that particular NE and transmitting information associated with the processing request. For example, an adapter  203   b  may communicate with a plurality of network elements, wherein one or more of the NEs may utilize different communication protocols. In one scenario, the protocol may be determined from the parameter list that would need to be transmitted to a particular network element. 
       FIG. 6  is a flowchart of a process for configuring network elements, according to one embodiment. For the purpose of illustration, process  600  is described with respect to  FIG. 1 . It is noted that the steps of the process  600  may be performed in any suitable order, as well as combined or separated in any suitable manner. 
     In step  601 , the media processing platform  103  may generate at least one native workflow for the at least one network element based, at least in part, on requirements of at least one client. In one embodiment, a native workflow may be generated within a NE itself using its native capabilities. In certain scenarios a workflow may reside in one or more elements of the platform where the workflow may be loaded into the NE at execution time, which may include various associated parameters. In one embodiment, the media processing platform  103  may determine information associated with various clients and then generate various native workflows in one or more NEs associated with one or more clients. For example, a native workflow would indicate to a NE as how a media content processing request should be processed, e.g., based on various parameters provided by the clients, the core processing platform, operations and functions available in the network element. 
     In step  603 , the media processing platform  103  may communicate the at least one native workflow configuration to the at least one NE via the at least one interface. In one embodiment, the core processing platform may utilize an interface specific to a NE and transmit to it the native workflow configuration and parameters associated with that particular network element. In one embodiment, a native workflow configuration may be communicated to a plurality of similar/same type of network elements. 
     In step  605 , the media processing platform  103  may create in a core processing platform a workflow-reference associated with the at least one native workflow. In one embodiment, for a native workflow created in a network element, a workflow-reference may be created in a core processing platform so that the core processing platform and/or one or more other components of the media processing platform  103  may be aware of and are able to track and manage the native workflow in the network element. For example, a native workflow “1” may be created in a NE “A” for a client “B” and the workflow-reference in the core processing platform will be associated with that native workflow “1”. 
     In step  607 , the media processing platform  103  may associate one or more parameters from the master parameters list with the workflow-reference. In one embodiment, one or more components of the media processing platform  103 , e.g., the core processing platform, may select one or more parameters from the master parameters list for associating with a certain workflow at a certain network element. For example, the one or more parameters may include various parameters which may be mandatory, optional, defined, or the like. 
     In step  609 , the media processing platform  103  may create one or more output profiles for one or more outputs generated based, at least in part, on the at least one native workflow in the at least one network element. In one embodiment, an output profile may be utilized to further vary one or more parameters associated with a workflow (e.g., client would like to narrow options, fine tune), which may cause a same workflow to produce various outputs. For example, a client would like to have a video media content item processed to result only a high-definition output (e.g., without a standard-definition version). In one embodiment, a client may utilize the same workflow to process different media content items. For example, run the same job every day to process different video files. In one instance, a user profile may be created at a time when the user creates a user account with the service provider so that various options, features, services, and functionalities may be associated with the user and referenced when the user submits a processing request. 
     In step  611 , the media processing platform  103  may integrate a plurality of network elements based, at least in part, on a same master parameters list. In one embodiment, a service provider may utilize a same master parameters list to integrate a plurality of network elements. For example, the same master parameters list may be utilized to integrate a plurality of similar/same network elements, which may be of the same type and share similar features and functionalities, or may be from a same vendor. 
       FIGS. 7 and 8  are flowcharts of processes for receiving and executing processing requests, according to various embodiments. For the purpose of illustration, processes  700  and  800  are described with respect to  FIG. 1 . It is noted that the steps of the processes  700  and  800  may be performed in any suitable order, as well as combined or separated in any suitable manner. 
     Referring to  FIG. 7 , the process  700  may begin at step  701 , where the media processing platform  103  may receive a request for processing a media content item. In one embodiment, one or more components of the media processing platform  103  may receive a request from a client for performing one or more operations on a media content item (e.g., video, audio, etc.) For example, the ordering platform  201  may receive an input from a user/device (e.g., an enterprise client, a private user, a content producer, an agent, etc.) where the request may include one or more media content items for processing via the media processing platform  103 . In one embodiment, the input may include various processing parameters (e.g., Edit Decision List (EDL) files) for creating a parameters list and/or for augmenting one or more existing parameters list, where a parameters list may be associated with one or more NEs for processing the media content item. In one embodiment, the request may be determined via a user interface (UI), an application programming interface (API), a watch folder, or a combination thereof. For example, the UI may present a template, a form, a list, or the like where a user may input the request into the media processing platform  103 . In one example, a user device may communicate with the ordering platform  201  via an API for inputting the various processing parameters, the one or more media content items, or the like. In one embodiment, a user and/or a user device may input the request including the processing parameters and the media content item via a storage device associated with the ordering platform  201 , wherein one or more folders (watch folders) may be available to receive the parameters and the media content items. In one embodiment, the ordering platform  201  may retrieve the processing parameters or the media content items from the watch folder, for example, upon receiving a periodical or a scheduled indication from the watch folder. 
     In step  703 , the media processing platform  103  may receive a request for a list of the one or more output profiles where a user/client may select an output profile. 
     In step  705 , the media processing platform  103  may present a parameters list associated with a requested output profile. In one embodiment, upon the selection of an output profile, the platform may return a parameters list for the selected profile. In one embodiment, the client may specify and/or override requested values before submitting the completed request. In one embodiment, the media processing platform  103  may retrieve the parameters list associated with the request for processing a media content item. For example, the parameters list may include various elements associated with the client profile, client media content type, parameters associated with a NE that will process the media content item, and the like. In one embodiment, the ordering platform  201  may present a UI with one or more parameter templates, lists, forms, or the like, which may include one or more default parameters. For example, a parameter list associated with a certain media content item type (e.g., video, audio, still images, etc.), a certain user, a certain NE, a certain workflow, etc. may include one or more default parameters, which may or may not be changed. For instance, a particular NE may only operate using a certain default frame rate, height, or width parameters when processing a certain media content item type. In one example, the ordering platform  201  may receive an input from a user for changing and/or updating one or more default parameter values in a parameter list, for instance, override a default value for height/width of 320×240 with 640×480. In one example, an input from the user may cause an update to several default parameters, where the user may not be aware of, for instance, that a change to a parameter “A” would necessarily require a change to a parameter “D.” 
     In one embodiment, the media processing platform  103  may receive an input for specifying one or more input values in the parameters list. In one embodiment, the media processing platform  103  may receive an input from the client for specifying one or more values in the parameters list, wherein the values may be associated with mandatory or optional features. In one embodiment, the user may indicate, select, and/or request for a certain NE to be used in processing the content media item, for example, via the parameter list. For example, the user may wish to select the certain NE because the NE provides a certain functionality or operation that the user would like to use in processing a media content item, or because the user may have previously used that certain NE and would like to achieve similar results in processing of a current media content item. In one embodiment, a certain NE of a type of a NE may be associated with a certain user and/or a certain media content item type. For example, a particular NE may be able to perform a certain process/operation on a certain type of media content item, for instance, a NE may process a video content item for converting the video content item to a vintage black and white version. In one embodiment, the ordering platform may determine and identify the NE for use in processing a given media content item of a job order received from a user. For example, a NE may be identified and selected to perform a time compression operation on an audio content item. In one embodiment, a client may create an account with the service provider where the client may select from a variety of options, parameter lists, services, functionalities, media content item types usually associated with the client, or the like, wherein the media processing platform  103  may identify and provide a list of NEs that may be best suited for providing the services and functionalities selected by the client. 
     In step  707 , the media processing platform  103  may validate the request and the parameters list. In one embodiment, one or more components of the media processing platform  103  may analyze a request and a parameters list for processing one or more media content items so to determine if the requested actions/processes and the parameters list would be valid for processing the one or more media content items. For example, a request to process a video content item and the parameters list would have to concur with the functionalities of a NE that is to perform the processing. In one embodiment, a core engine/processor and/or an adapter  203   b  of the media processing platform  103  may transmit and/or cause a transmission of a parameter list to one or more identified network elements. In one embodiment, the parameter list may be transmitted, without further processing, to a network element, wherein the parameter list may be substantially native to a given network element. For example, a parameter list and its elements may be transmitted in an “as is” format to the NE so that the NE may process and utilize the parameter list in processing one or more media content items. In one embodiment, the one or more parameter lists may include the one or more operations that are available at the at least one network element, a parameterization of the one or more operations, or a combination thereof. 
     Referring to  FIG. 8 , the process  800  may begin at step  801 , where the media processing platform  103  may cause an execution of the at least one native workflow at the at least one network element for processing the media content item based, at least in part, on the validated request and the validated parameters list. In one embodiment, the core processing platform may communicate with a NE via the at least one interface and initiate an execution of a native workflow at that NE for processing one or more content items based on parameters associated with an output profile of a client. 
     In step  803 , the media processing platform  103  may generate at least one output including at least one processed media content item. In one embodiment, one or more native workflows at a NE may process the one or more media content items and produce one or more outputs. For example, an output may include a video content item that has been converted from one format to one or more other formats. 
     In step  805 , the media processing platform  103  may cause an execution of at least one native workflow in at least one network elements for processing the at least one output based, at least in part, on one or more validated requests and one or more validated parameters lists. In one embodiment, the core processing platform may initiate a processing of an output from one NE by one or more network elements. For example, a media content item may be processed by a NE according to certain parameters, which may result in one or more original outputs (e.g., various formats of a video content item). Further, at least one of the one or more original outputs may be utilized as an input into one or more workflows at one or more NEs where that original output may be processed again based on one or more parameters (e.g., different than the parameters in the first processing) and workflows. 
     To the extent the aforementioned embodiments collect, store or employ personal information provided by individuals, it should be understood that such information shall be used in accordance with all applicable laws concerning protection of personal information. Additionally, the collection, storage and use of such information may be subject to consent of the individual to such activity, for example, through well known “opt-in” or “opt-out” processes as may be appropriate for the situation and type of information. Storage and use of personal information may be in an appropriately secure manner reflective of the type of information, for example, through various encryption and anonymization techniques for particularly sensitive information. 
     The systems and processes of  FIGS. 1-8 , in certain embodiments, advantageously provide for integrating one or more network elements into a media processing platform. Thus, the a media processing platform utilizing the described architecture may provide for a more efficient and flexible architecture wherein various network elements, components, and resources may be quickly integrated and presented to various users in processing various media content items. 
     The processes described herein for integrating one or more network elements into a media processing platform can be implemented via software, hardware (e.g., general processor, Digital Signal Processing (DSP) chip, an Application Specific Integrated Circuit (ASIC), Field Programmable Gate Arrays (FPGAs), etc.), firmware or a combination thereof. Such exemplary hardware for performing the described functions is detailed below. 
       FIG. 9  illustrates computing hardware (e.g., computer system) upon which an embodiment according to the invention can be implemented. The computer system  900  includes a bus  901  or other communication mechanism for communicating information and a processor  903  coupled to the bus  901  for processing information. The computer system  900  also includes main memory  905 , such as random access memory (RAM) or other dynamic storage device, coupled to the bus  901  for storing information and instructions to be executed by the processor  903 . Main memory  905  also can be used for storing temporary variables or other intermediate information during execution of instructions by the processor  903 . The computer system  900  may further include a read only memory (ROM)  907  or other static storage device coupled to the bus  901  for storing static information and instructions for the processor  903 . A storage device  909 , such as a magnetic disk or optical disk, is coupled to the bus  901  for persistently storing information and instructions. 
     The computer system  900  may be coupled via the bus  901  to a display  911 , such as a cathode ray tube (CRT), liquid crystal display, active matrix display, or plasma display, for displaying information to a computer user. An input device  913 , such as a keyboard including alphanumeric and other keys, is coupled to the bus  901  for communicating information and command selections to the processor  903 . Another type of user input device is a cursor control  915 , such as a mouse, a trackball, or cursor direction keys, for communicating direction information and command selections to the processor  903  and for controlling cursor movement on the display  911 . 
     According to an embodiment of the invention, the processes described herein are performed by the computer system  900 , in response to the processor  903  executing an arrangement of instructions contained in main memory  905 . Such instructions can be read into main memory  905  from another computer-readable medium, such as the storage device  909 . Execution of the arrangement of instructions contained in main memory  905  causes the processor  903  to perform the process steps described herein. One or more processors in a multiprocessing arrangement may also be employed to execute the instructions contained in main memory  905 . In alternative embodiments, hard-wired circuitry may be used in place of or in combination with software instructions to implement the embodiment of the invention. Thus, embodiments of the invention are not limited to any specific combination of hardware circuitry and software. 
     The computer system  900  also includes a communication interface  917  coupled to bus  901 . The communication interface  917  provides a two-way data communication coupling to a network link  919  connected to a local network  921 . For example, the communication interface  917  may be a digital subscriber line (DSL) card or modem, an integrated services digital network (ISDN) card, a cable modem, a telephone modem, or any other communication interface to provide a data communication connection to a corresponding type of communication line. As another example, communication interface  917  may be a local area network (LAN) card (e.g. for Ethernet™ or an Asynchronous Transfer Mode (ATM) network) to provide a data communication connection to a compatible LAN. Wireless links can also be implemented. In any such implementation, communication interface  917  sends and receives electrical, electromagnetic, or optical signals that carry digital data streams representing various types of information. Further, the communication interface  917  can include peripheral interface devices, such as a Universal Serial Bus (USB) interface, a PCMCIA (Personal Computer Memory Card International Association) interface, etc. Although a single communication interface  917  is depicted in  FIG. 9 , multiple communication interfaces can also be employed. 
     The network link  919  typically provides data communication through one or more networks to other data devices. For example, the network link  919  may provide a connection through local network  921  to a host computer  923 , which has connectivity to a network  925  (e.g. a wide area network (WAN) or the global packet data communication network now commonly referred to as the “Internet”) or to data equipment operated by a service provider. The local network  921  and the network  925  both use electrical, electromagnetic, or optical signals to convey information and instructions. The signals through the various networks and the signals on the network link  919  and through the communication interface  917 , which communicate digital data with the computer system  900 , are exemplary forms of carrier waves bearing the information and instructions. 
     The computer system  900  can send messages and receive data, including program code, through the network(s), the network link  919 , and the communication interface  917 . In the Internet example, a server (not shown) might transmit requested code belonging to an application program for implementing an embodiment of the invention through the network  925 , the local network  921  and the communication interface  917 . The processor  903  may execute the transmitted code while being received and/or store the code in the storage device  909 , or other non-volatile storage for later execution. In this manner, the computer system  900  may obtain application code in the form of a carrier wave. 
     The term “computer-readable medium” as used herein refers to any medium that participates in providing instructions to the processor  903  for execution. Such a medium may take many forms, including but not limited to non-volatile media, volatile media, and transmission media. Non-volatile media include, for example, optical or magnetic disks, such as the storage device  909 . Volatile media include dynamic memory, such as main memory  905 . Transmission media include coaxial cables, copper wire and fiber optics, including the wires that comprise the bus  901 . Transmission media can also take the form of acoustic, optical, or electromagnetic waves, such as those generated during radio frequency (RF) and infrared (IR) data communications. Common forms of computer-readable media include, for example, a floppy disk, a flexible disk, hard disk, magnetic tape, any other magnetic medium, a CD-ROM, CDRW, DVD, any other optical medium, punch cards, paper tape, optical mark sheets, any other physical medium with patterns of holes or other optically recognizable indicia, a RAM, a PROM, and EPROM, a FLASH-EPROM, any other memory chip or cartridge, a carrier wave, or any other medium from which a computer can read. 
     Various forms of computer-readable media may be involved in providing instructions to a processor for execution. For example, the instructions for carrying out at least part of the embodiments of the invention may initially be borne on a magnetic disk of a remote computer. In such a scenario, the remote computer loads the instructions into main memory and sends the instructions over a telephone line using a modem. A modem of a local computer system receives the data on the telephone line and uses an infrared transmitter to convert the data to an infrared signal and transmit the infrared signal to a portable computing device, such as a personal digital assistant (PDA) or a laptop. An infrared detector on the portable computing device receives the information and instructions borne by the infrared signal and places the data on a bus. The bus conveys the data to main memory, from which a processor retrieves and executes the instructions. The instructions received by main memory can optionally be stored on storage device either before or after execution by processor. 
       FIG. 10  illustrates a chip set  1000  upon which an embodiment of the invention may be implemented. Chip set  1000  is programmed to provide for integrating one or more network elements into a media processing platform and includes, for instance, the processor and memory components described with respect to  FIG. 9  incorporated in one or more physical packages (e.g., chips). By way of example, a physical package includes an arrangement of one or more materials, components, and/or wires on a structural assembly (e.g., a baseboard) to provide one or more characteristics such as physical strength, conservation of size, and/or limitation of electrical interaction. It is contemplated that in certain embodiments the chip set can be implemented in a single chip. Chip set  1000 , or a portion thereof, constitutes a means for performing one or more steps of  FIGS. 5-7 . 
     In one embodiment, the chip set  1000  includes a communication mechanism such as a bus  1001  for passing information among the components of the chip set  1000 . A processor  1003  has connectivity to the bus  1001  to execute instructions and process information stored in, for example, a memory  1005 . The processor  1003  may include one or more processing cores with each core configured to perform independently. A multi-core processor enables multiprocessing within a single physical package. Examples of a multi-core processor include two, four, eight, or greater numbers of processing cores. Alternatively or in addition, the processor  1003  may include one or more microprocessors configured in tandem via the bus  1001  to enable independent execution of instructions, pipelining, and multithreading. The processor  1003  may also be accompanied with one or more specialized components to perform certain processing functions and tasks such as one or more digital signal processors (DSP)  1007 , or one or more application-specific integrated circuits (ASIC)  1009 . A DSP  1007  typically is configured to process real-world signals (e.g., sound) in real time independently of the processor  1003 . Similarly, an ASIC  1009  can be configured to performed specialized functions not easily performed by a general purposed processor. Other specialized components to aid in performing the inventive functions described herein include one or more field programmable gate arrays (FPGA) (not shown), one or more controllers (not shown), or one or more other special-purpose computer chips. 
     The processor  1003  and accompanying components have connectivity to the memory  1005  via the bus  1001 . The memory  1005  includes both dynamic memory (e.g., RAM, magnetic disk, writable optical disk, etc.) and static memory (e.g., ROM, CD-ROM, etc.) for storing executable instructions that when executed perform the inventive steps described herein to controlling a set-top box based on device events. The memory  1005  also stores the data associated with or generated by the execution of the inventive steps. 
     While certain exemplary embodiments and implementations have been described herein, other embodiments and modifications will be apparent from this description. Accordingly, the invention is not limited to such embodiments, but rather to the broader scope of the presented claims and various obvious modifications and equivalent arrangements.