[go: up one dir, main page]

WO2022215549A1 - 処理システム、並びに、情報処理装置および方法 - Google Patents

処理システム、並びに、情報処理装置および方法 Download PDF

Info

Publication number
WO2022215549A1
WO2022215549A1 PCT/JP2022/014265 JP2022014265W WO2022215549A1 WO 2022215549 A1 WO2022215549 A1 WO 2022215549A1 JP 2022014265 W JP2022014265 W JP 2022014265W WO 2022215549 A1 WO2022215549 A1 WO 2022215549A1
Authority
WO
WIPO (PCT)
Prior art keywords
task
server
processing
media processing
media
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/JP2022/014265
Other languages
English (en)
French (fr)
Inventor
和彦 高林
靖明 山岸
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Group Corp
Original Assignee
Sony Group Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Group Corp filed Critical Sony Group Corp
Priority to US18/552,189 priority Critical patent/US20240054009A1/en
Publication of WO2022215549A1 publication Critical patent/WO2022215549A1/ja
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • G06F9/4856Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
    • G06F9/4862Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration the task being a mobile agent, i.e. specifically designed to migrate
    • G06F9/4868Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration the task being a mobile agent, i.e. specifically designed to migrate with creation or replication
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/643Communication protocols
    • H04N21/6437Real-time Transport Protocol [RTP]

Definitions

  • the present disclosure relates to a processing system, information processing apparatus and method, and in particular, a processing system, information processing apparatus and method capable of transitioning media processing tasks that require continuity of processing between servers. Regarding.
  • 3GPP a standardization body for mobile communication standards
  • 5G networks for broadcasting content production
  • server placed at the edge of the network
  • the optimal edge server for performing each process will change as the camera as the video source and the terminal that consumes the content move.
  • the optimum edge server changes, it becomes necessary to transition the media processing task being executed by one edge server to another edge server.
  • the present disclosure has been made in view of this situation, and enables media processing tasks that require continuity of processing to be transitioned between servers.
  • a processing system comprises a task manager for managing a plurality of media processing tasks executed on one or more servers,
  • the task management unit when transitioning a media processing task being executed by a first server, which is one of the plurality of servers, to a second server different from the first server, selects transition destination candidates Get the capabilities of multiple servers that are
  • the capability includes presence/absence of persistent storage capable of storing data of the media processing task independently of the execution state of the media processing task, and location information of the persistent storage.
  • a first server that is one of the plurality of servers executes When transitioning a media processing task to a second server different from the first server, the capabilities of a plurality of servers that are transition destination candidates are acquired.
  • the capability includes presence or absence of persistent storage capable of storing data of the media processing task independently of the execution state of the media processing task, and location information of the persistent storage.
  • An information processing device includes a task manager for managing a plurality of media processing tasks executed on one or more servers;
  • the task management unit when transitioning a media processing task being executed on a first server, which is one of the plurality of servers, to a second server different from the first server, get the capabilities of multiple servers that are candidates for running the media processing tasks running on the servers of
  • the capability includes presence/absence of persistent storage capable of storing task data independently of the task, and its location information.
  • the information processing method of the second aspect of the present technology includes: A task management unit of an information processing apparatus that manages a plurality of media processing tasks executed by one or a plurality of servers manages media processing tasks executed by a first server that is one of the plurality of servers. acquiring capabilities of a plurality of servers that are candidates for executing a media processing task being executed on the first server when transitioning to a second server different from the first server; The capability includes presence/absence of persistent storage capable of storing task data independently of the task, and its location information.
  • a first server that is one of the plurality of servers executes When transitioning a media processing task to a second server different from the first server, capabilities of a plurality of servers that are candidates for executing the media processing task being executed by the first server are obtained.
  • the capabilities include presence/absence of persistent storage capable of storing task data independently of the task, and its location information.
  • the processing system according to the first aspect of the present technology and the information processing apparatus according to the second aspect can each be realized by causing a computer to execute a program.
  • a program to be executed by a computer can be provided by being transmitted via a transmission medium or recorded on a recording medium.
  • Each of the processing system and the information processing device may be an independent device, or may be an internal block that constitutes one device.
  • FIG. 1 is a block diagram showing a configuration example of a media processing system to which technology of the present disclosure may be applied;
  • FIG. FIG. 2 is a block diagram of a control processing system of the present disclosure, which controls transition of media processing between different edge servers; 3 is a diagram for explaining task transition control processing by the control processing system of FIG. 2;
  • FIG. 4 is a flowchart of task transition control processing;
  • FIG. 10 is a diagram illustrating details of a connectivity parameter;
  • FIG. 10 is a flowchart for explaining seamless processing continuation determination processing;
  • FIG. It is a figure explaining the data structure of a recovery object. It is a figure explaining the data structure of a recovery object.
  • 1 is a block diagram showing a hardware configuration example of a computer that can implement various embodiments of the present disclosure;
  • FIG. 1 is a block diagram of a computer and cloud computing in which various embodiments of the disclosure can be implemented;
  • Non-Patent Documents 1 to 5 For definitions of terms that are not directly defined in the detailed description of the invention of this specification, the contents described in Non-Patent Documents 1 to 5 above are cited by reference. For example, technical terms such as Parsing, Syntax, Semantics, File Structure described in Non-Patent Document 1, Interfaces for network media processing standard described in Non-Patent Document 2 The terms used in have the same meanings as used in Non-Patent Documents 1-5.
  • FIG. 1 is a block diagram showing a configuration example of a media processing system to which technology of the present disclosure can be applied.
  • the media processing system 1 in FIG. 1 performs predetermined media processing on video captured by a camera 21 as a video source, and distributes the content to each terminal 22 that consumes the content using a 5G network 23.
  • the 5G network 23 includes multiple base stations 31 ( 31 A to 31 D), multiple edge servers 32 ( 32 A to 32 D), and a production system 33 .
  • the camera 21 shoots images as content at event venues such as sports and entertainment live events.
  • the video captured by the camera 21 is transmitted to the edge server 32A on the 5G network 23 via the base station 31A near the camera 21.
  • the edge server 32A performs predetermined media processing on the baseband video stream captured by the camera 21, and then transmits it to the production system 33.
  • the media processing performed here is, for example, compression encoding of the baseband video stream, processing for enhancing the compression-encoded video stream from the camera 21, or transcoding to another format.
  • the production system 33 is composed of one or more servers, switches and synthesizes images captured by multiple cameras 21, and produces content to be distributed to each terminal 22.
  • the production system 33 multicasts the produced content video to each terminal 22 with high resolution.
  • the content video transmitted from the production system 33 is, for example, transmitted to the edge server 32C on the 5G network 23 and delivered to the terminal 22 via the base station 31C.
  • Edge server 32C and base station 31C are located near terminal 22 .
  • the edge server 32C performs predetermined media processing on the content video sent from the production system 33, and then sends it to the terminal 22 via the base station 31C.
  • the media processing performed here is, for example, transcoding for individual optimization according to the performance and state of the terminal 22 or the state of the network.
  • the terminal 22 is composed of, for example, a smartphone, tablet, notebook computer, etc., and displays the content video distributed via the base station 31C.
  • the location of the terminal 22 can be moved along with the movement of the viewing user.
  • the optimal edge server 32 for performing each process changes as the camera 21 that is the video source and the terminal 22 that consumes the content move. be done.
  • the optimum edge server 32 changes from edge server 32A to edge server 32B.
  • media processing such as compression encoding of the baseband video stream, which is being performed by the edge server 32A, must be transferred to the edge server 32B.
  • the optimum edge server 32 changes from the edge server 32C to the edge server 32D. In that case, it is necessary to transfer media processing such as content video transcoding from the edge server 32C to the edge server 32D.
  • FIG. 2 is a block diagram of a control processing system of the present disclosure, which controls transition of media processing between different edge servers.
  • the control processing system 50 of FIG. 2 includes a workflow management service 51 that manages media processing tasks, and servers 52A and 52B.
  • the workflow management service 51 is an application (program) that runs on one or more servers and manages multiple media processing tasks that run on one or more servers. For example, the workflow management service 51 performs task control to transition a media processing task being executed by the server 52A as the first server to the server 52B as the second server.
  • the media processing task 61 transitioned between the server 52A and the server 52B, for example, transcodes content video and generates segments.
  • the media processing task 61A executed on the server 52A transcodes the video stream as the source 71 obtained via the media fifo 72, generates segments, and transmits them to the output destination 73A.
  • the media processing task 61B executed on the server 52B transcodes the video stream, which is the source 71 obtained via the media fifo 72, generates segments, and transmits them to the output destination 73B.
  • the output destinations 73A and 73B may be one and the same device, such as a terminal, or may be different devices, such as an edge server.
  • a segment is data in which a video stream is filed for each time unit of about several seconds to 10 seconds.
  • the workflow management service 51 determines the necessity of task transition, and if necessary, transitions the media processing task 61A running on the server 52A to the server 52B. Instead of the media processing task 61A of the server 52A, the media processing task 61B is activated and executed in the server 52B.
  • the necessity of task transition is determined based on events such as changes in the operating status of the server 52, changes in network status, and movement of the source 71 or output destination 73, for example.
  • the workflow management service 51 When transitioning the media processing task 61A of the server 52A, the workflow management service 51 notifies the media processing task 61A of the storage location information of the internal state information for continued execution of the media processing task 61B of the server 52B.
  • the state recovery information is stored in the persistent storage 62 of the server 52A, and the workflow management service 51 notifies the persistent storage 62 of the server 52A as the storage location information of the internal state information.
  • the persistent storage 62 is a storage unit that can store the data of the media processing task 61 without depending on the execution state of the media processing task 61 such as task activation and disappearance. (erasable and programmable read only memory), etc.
  • the internal state information stored in the persistent storage 62 is information necessary to restore the state of the interrupted processing. Also called recovery object in the framework of media processing (NBMP).
  • the media processing task 61A of server 52A stores the state recovery information in persistent storage 62 of server 52A.
  • the persistent storage 62 in which the media processing task 61A of the server 52A saves the state recovery information may be the persistent storage 62 on a server 52 other than the server 52A that is executing the task.
  • the media processing task 61B executed on the server 52B acquires state recovery information from the persistent storage 62. Media processing task 61B then uses the state recovery information to perform the same task as media processing task 61A.
  • the workflow management service 51 acquires capabilities from each server 52, determines the necessity of task transition, and selects persistent storage 62 for storing state recovery information.
  • Capabilities are information indicating the performance and functions of the server 52 itself, and for example, the following information (parameters) can be acquired as capabilities.
  • resource-availabilities indicates the resource availability of the server 52; Example: ⁇ “vcpu”, 4, 30 ⁇ : There are 4 vcpus and 30% available ⁇ placement: geographical location of server 52 ⁇ location: network location of server 52 (URL, IP address, etc.) - functions: a list (array) of Function Descriptions of functions that can be executed by the server 52 ⁇ connectivity: connection performance with other servers 52 ⁇ persistency-capability: whether or not the storage unit provided by the server 52 is persistent (held independently of the state of the task) (true/false) ⁇ secure-persistency: Whether data transfer of persistent storage is secure or not (true/false) ⁇ persistence-storage-url: Persistent storage location (URL)
  • the control processing system 50 of FIG. 2 can be operated by being incorporated into the media processing system 1 of FIG.
  • the workflow management service 51 corresponds to part of the production system 33 .
  • the server 52A corresponds to, for example, the edge server 32A, the edge server 32C, etc.
  • the server 52B corresponds to, for example, the edge server 32B, the edge server 32D, and the like.
  • the server 52A before the transition of the media processing task 61 may be referred to as the transition source server 52A, and the server 52B after the transition may be referred to as the transition destination server 52B.
  • the workflow management service 51 corresponds to WorkFlow Manager, which is a task management unit that manages tasks
  • the server 52 is an MPE (Media Processing Entity).
  • MPE Media Processing Entity
  • the transition source server 52A when distinguishing between the transition source server 52A and the transition destination server 52B, the transition source server 52A can be called Source-MPE, and the transition destination server 52B can be called Target-MPE.
  • Task Transition Control Processing by the control processing system 50 will be described with reference to FIG.
  • the workflow management service 51 causes the server 52A to execute the media processing task 61A, which is the desired task.
  • the workflow management service 51 specifies, as a configuration parameter, the persistent storage 62 in which the state recovery information necessary for task transition should be saved.
  • the workflow management service 51 designates the optimum location of the persistent storage 62 based on capability information obtained in advance from a plurality of servers 52, such as throughput and latency between the servers and the storage.
  • step S12 the workflow management service 51 detects the need to transfer the media processing task 61A being executed to another server 52.
  • the workflow management service 51 determines the necessity of task transition based on, for example, the result of monitoring the state of the server 52 and detection of physical movement of the source 71 (media input source) or output destination 73A to the media processing task 61. can be detected.
  • step S13 the workflow management service 51 acquires the capabilities of a plurality of servers 52 as transition destination candidates, and selects an appropriate server 52 based on the acquired capabilities of the transition destination candidates.
  • selecting an appropriate server 52 the throughput and latency between the server and the storage included in the capabilities of the server 52 are taken into consideration.
  • the server 52B is selected as the appropriate server 52.
  • step S14 the workflow management service 51 preliminarily activates the same task as the media processing task 61A being executed at the transition source on the selected server 52B. This activates the media processing task 61B on the server 52B.
  • step S15 the workflow management service 51 instructs the media processing task 61A being executed (transition source) to save the state and stop.
  • step S16 the media processing task 61A of the server 52A saves the state recovery information (recovery object) necessary for continuing the processing in the persistent storage 62 specified in step S11, and stops the processing and restores the state.
  • the workflow management service 51 is notified of the data volume of the recovery information.
  • step S17 the workflow management service 51 enables seamless processing continuation at the transition destination server 52B based on the throughput, latency, etc. between the persistent storage 62 storing the state recovery information and the transition destination server 52B. Determine whether or not When it is determined that seamless processing continuation is possible, the workflow management service 51 notifies the storage location of the state recovery information, that is, the state recovery information storage location information indicating the location of the persistent storage 62, and allows the processing to continue. instruct. On the other hand, if it is determined that seamless continuation of processing is not possible, the workflow management service 51 notifies the state recovery information storage location information and instructs not to continue processing.
  • step S18 the media processing task 61B of the transition destination server 52B acquires state recovery information from the persistent storage 62 based on the state recovery information storage location information acquired from the workflow management service 51. Then, when the workflow management service 51 instructs the media processing task 61B to continue processing, the media processing task 61B continues processing from where the media processing task 61A of the transition source server 52A stopped processing. On the other hand, when the workflow management service 51 instructs the media processing task 61B not to continue processing, the media processing task 61B starts processing from a predetermined starting point based on the reference information of the input data.
  • the workflow management service 51 acquires the capabilities of a plurality of servers 52 serving as transition destination candidates, and establishes a connection between each server 52 serving as a transition destination candidate and the persistent storage 62 in which state recovery information is stored.
  • the data transfer speed (throughput) and delay time (latency) of are obtained in advance.
  • the workflow management service 51 in consideration of the data capacity of the state recovery information notified from the media processing task 61A being executed on the transition source server 52A, transfers the media processing task 61A of the transition source server 52A to the transition destination server 52B. Indicates whether processing should continue seamlessly from where it left off, or whether processing should not continue and should start from an alternate starting point.
  • the workflow management service 51 acquires the capabilities of each server 52, and then activates and executes the media processing task 61A on the transition source server 52A.
  • the workflow management service 51 which is a WorkFlow Manager, acquires the capabilities of each server 52 by issuing an HTTP GET RetrieveCapabilities with an MPE Capabilities Description Document attached to the request body to each server 52, which is an MPE. can do.
  • MPE Capabilities Description includes General, Capabilities, and Events descriptors.
  • the id of the General Descriptor in the MPE Capabilities Description is matched with the id of the server 52 which is the MPE for which we want to obtain the capabilities. If HTTP GET retrieveCapabilities succeeds, an MPE Capabilities Description Document that describes the actual capabilities in Capabilities descriptor is returned as a response. Specific parameters of the Capabilities descriptor are resource-availabilities, placement, location functions, connectivity, persistence-capability, secure-persistency, and persistence-storage-url described above. General Descriptor and Events Descriptor are specified in ISO/IEC 23090-8:2020.
  • step S51 the workflow management service 51 determines the necessity of task transition based on events such as changes in the network status of the 5G network 23, changes in the operating status of the transition source server 52A, and movement of the source 71 or output destination 73. to decide.
  • the workflow management service 51 issues HTTP POST SelectCapabilities with MPE Capabilities Description Document attached to the request body to the control unit of the transition source server 52A, thereby recovering the state.
  • a storage (saving storage) for saving information is secured on the transition source server 52A.
  • the persistent storage 62 on the transition source server 52A is secured.
  • URLs RecoveryObjectURLs
  • indicating the location of the persistent storage 62 are stored in persistence-storage-url, which is a parameter in the MPE Capabilities Description of SelectCapabilities.
  • SelectCapabilities is an MPE API that designates the use of specific capabilities from among the capabilities presented by retrieveCapabilities, and the URL (persistence-storage-url) of the persistent storage 62 on the transition source server 52A is It is specified. If the HTTP POST SelectCapabilities is successful, the response will be an MPE Capabilities Description Document reflecting the parameters as specified.
  • step S52 the workflow management service 51 issues an HTTP PATCH UpdateTask with a Task Description Document attached to the request body to the media processing task 61A of the transition source server 52A, so that the status recovery information persists. It instructs to save (save) to the storage 62 and stop the task (process).
  • the Task Description may specify the storage location of the state recovery information, that is, the URL (RecoveryObjectURLs) indicating the location of the persistent storage 62. Since the persistent storage 62 is in the same server, the media processing task 61A If the user knows the storage location, the specification of the storage location may be omitted.
  • step S53 the media processing task 61A of the transition source server 52A saves the state recovery information in the persistent storage 62 within the same server based on the state recovery information saving instruction from the workflow management service 51.
  • step S58 As a response to the UpdateTask of the Task API sent by the workflow management service 51 to the media processing task 61A in step S52, in step S58 to be described later, from the control unit of the transition source server 52A, task stop and state recovery information (recovery object) data capacity is notified.
  • the media processing task 61A may notify generation and saving of state recovery information moment by moment by chunk transfer in step S54.
  • the URL RecoveryObjectURLs
  • the media processing task 61A may notify generation and saving of state recovery information moment by moment by chunk transfer in step S54.
  • the URL RecoveryObjectURLs
  • the location of the persistent storage 62 included in the Task Description will be updated with the state recovery information until the task stop is detected or the chunk transfer is forcibly stopped. Enumerated.
  • step S55 the workflow management service 51 acquires the capabilities of a plurality of servers 52 serving as transition destination candidates, and selects (determines) an appropriate transition destination. Specifically, the workflow management service 51 issues HTTP GET RetrieveCapabilities with MPE Capabilities Description Document attached to the request body to a plurality of servers 52 serving as transition destination candidates, thereby obtaining the capabilities of each server 52. get.
  • the Capabilities descriptor of the MPE API RetrieveCapabilities includes the persistence-storage-url and connectivity parameters as described above.
  • the persistence-storage-url parameter is the URL of the persistent storage when there is persistent storage
  • the connectivity parameter is the connection performance with the other server 52 that is the data transfer partner.
  • FIG. 5 is a diagram explaining the details of the connectivity parameter.
  • the upper table in FIG. 5 shows the details of the connectivity object, which shows a specific configuration example of the connectivity parameter.
  • the connectivity object has id, url, forward, and return items.
  • P represents a parameter
  • O represents an object.
  • cardinality “1” indicates that the item is mandatory, “0-1” indicates that the item may or may not exist, and if the item exists, it is limited to one. It means that
  • the data types of items id and url are parameters, and the data types of items forward and return are objects.
  • the item id is required, but the items url, forward, return are optional.
  • the item id represents the id of the target server 52 that is the data transfer partner.
  • the item url represents the URL (Uniform Resource Locator) of the target server 52 .
  • the item forward represents the capability of data transfer towards the target.
  • the item return represents the capability of data transfer from the target.
  • the table at the bottom of FIG. 5 shows the details of the forward and return objects that show specific configuration examples of items forward and return.
  • the forward and return objects each have min-delay, max-throughput, and averaging-window items.
  • min-delay represents the minimum delay time for data transfer. The unit is millisecond.
  • max-throughput represents the maximum speed of data transfer.
  • the unit is bits per second.
  • averaging-window represents the length of the averaging window when calculating the maximum data transfer rate.
  • the unit is microseconds.
  • step S55 the workflow management service 51 acquires MPE Capabilities Description Documents for multiple servers 52 that are transition destination candidates, and acquires the connection performance with other servers 52 indicated by the connectivity parameter contained therein. Then, the workflow management service 51 selects an appropriate transition destination based on the acquired connectivity parameter. Here, the transition destination server 52B is selected as an appropriate transition destination.
  • step S56 the workflow management service 51 activates the media processing task 61B on the selected transition destination server 52B.
  • step S57 the media processing task 61B is activated on the transition destination server 52B.
  • Either of the instructions to save the state recovery information and stop the task in step S52 described above and the appropriate transition destination selection and task activation in steps S55 and S56 described above may be performed first, or may be performed in parallel. can be run In other words, while the transition source server 52A is saving the state recovery information in the persistent storage 62, the media processing task 61B is activated in advance on the transition destination server 52B.
  • step S58 the control unit of the transition source server 52A stops the task as a response to UpdateTask of the Task API.
  • the workflow management service 51 is notified. Along with this task stop, the work flow management service 51 is also notified of the storage location (URL) of the state recovery information (recovery object) and the data volume of the state recovery information.
  • the data capacity of the state recovery information is described in bytes.
  • the task stop and notification of the storage location and data capacity of the state recovery information in step S58 may be performed as a response to UpdateTask of the Task API, as described above, or as a response to SelectCapabilities of the MPE API in step S51. good too.
  • the workflow management service 51 When performing this as a response to SelectCapabilities of the MPE API, the workflow management service 51, for example, uses the Events Descriptor included in the MPE Capabilities Description to specify that the data capacity of the state recovery information will be notified when the task ends. can be done.
  • the Events object has event name, definition, and url (location) parameters as specified in ISO/IEC 23090-8:2020.
  • the workflow management service 51 stores the task that performed the save processing of the state recovery information, that is, the task id of the media processing task 61A, in the name of the event, and stores the media processing task 61A to the persistent storage 62 in the definition.
  • the data capacity of the saved state recovery information is stored, and in url, the URL indicating the notification destination of the data capacity specified by the workflow management service 51 is specified to be stored.
  • the notification destination of the data volume indicated by this URL may be the workflow management service 51 or may be the transition source server 52A that acquires the state recovery information.
  • the workflow management service 51 acquires notification of the task stop and the storage location and data volume of the state recovery information from the transition source server 52A, the workflow is updated in step S59. Specifically, the workflow management service 51 changes the workflow so that the video stream output from the source 71 is transferred to the transition destination server 52B. Also, in step S59, the workflow management service 51 considers the data capacity of the state recovery information saved in the persistent storage 62 and the data transfer speed between the persistent storage 62 and the transition destination server 52B. The media processing task 61B of the destination server 52B determines whether the state can be restored. The data capacity of the state recovery information is notified at step S58 together with the task stop, and the data transfer speed between the persistent storage 62 and the transition destination server 52B can be recognized from the connectivity parameter of the transition destination server 52B.
  • the workflow management service 51 determines whether or not state recovery is possible, that is, whether or not the media processing task 61B can recover the state of the media processing task 61A and continue processing seamlessly. It instructs the processing task 61B to start processing. Specifically, the workflow management service 51 issues an HTTP PATCH UpdateTask with Task Description Document attached to the request body to the media processing task 61B of the transition destination server 52B, thereby instructing the start of processing. At this time, the workflow management service 51 includes the URL (persistence-storage-url) of the persistent storage 62, which is state recovery information storage location information, and a continuation enable/disable flag in UpdateTask as parameters of UpdateTask, which is a Task API.
  • URL persistence-storage-url
  • the workflow management service 51 sets the continuation enable/disable flag to, for example, "1" indicating that the processing can be continued seamlessly, and determines that the processing cannot be seamlessly continued. In this case, "0" is set to indicate non-continuous processing that starts processing from a predetermined starting point.
  • step S60 the media processing task 61B of the transition destination server 52B acquires UpdateTask from the workflow management service 51 and starts processing. Specifically, when the continuation enable/disable flag of UpdateTask indicates continuation processing, the media processing task 61B obtains the state recovery information of the persistent storage 62, recovers the state, and then returns to the suspension point of the media processing task 61A. Start processing seamlessly from On the other hand, if the continuation enable/disable flag of UpdateTask indicates non-continuous processing, the media processing task 61B acquires the state recovery information of the persistent storage 62 and starts processing from a predetermined starting point.
  • Task transition control processing corresponding to network-based media processing can be executed as described above.
  • the control processing system 50 By the task transition control processing by the control processing system 50, a media processing task requiring continuity of processing can be transitioned between the transition source server 52A and the transition destination server 52B.
  • step S101 the workflow management service 51 acquires capabilities from a plurality of servers 52 serving as transition destination candidates.
  • the one or more servers 52 serving as transition destination candidates correspond to, for example, an edge server near the source 71 and an edge server near the output destination 73 .
  • step S102 the workflow management service 51 selects (determines) an appropriate server 52 from among a plurality of transition destination candidate servers 52 based on the acquired capabilities.
  • step S103 the workflow management service 51 activates the same task as the media processing task 61A being executed on the transition source server 52A on the selected server 52.
  • the task activated by the transition destination server 52B is the media processing task 61B.
  • step S104 the workflow management service 51 acquires notification of the task stop and the storage location and data volume of the state recovery information from the control unit of the transition source server 52A or the media processing task 61A.
  • step S105 the workflow management service 51 determines whether seamless processing continuation is possible in the media processing task 61B of the transition destination server 52B. do. Based on the data capacity of the state recovery information and the data transfer rate (throughput) and delay time (latency) between the persistent storage 62 and the transition destination server 52B recognized from the connectivity parameter of the transition destination server 52B, seamless It is determined whether or not it is possible to continue processing.
  • step S105 If it is determined in step S105 that seamless processing continuation is possible, the process proceeds to step S106, and the workflow management service 51 instructs the media processing task 61B of the transition destination server 52B to restore the state and seamlessly continue processing. to direct.
  • step S105 if it is determined in step S105 that seamless processing continuation is not possible, the process proceeds to step S107, and the workflow management service 51 instructs the media processing task 61B of the transition destination server 52B to start from the alternative starting point. Instruct to start processing.
  • the seamless processing continuation determination processing by the workflow management service 51 is completed.
  • a continuation of processing can be started or processing can be started from a predetermined starting point.
  • a media processing task requiring continuity of processing can be transitioned between the transition source server 52A and the transition destination server 52B.
  • FIG. 7 is a diagram showing the data structure of a recovery object.
  • the recovery object has the following data 1) to 3). 1) Server ID/Task ID/Time information 2) Scheme ID 3) Scheme ID dependent data
  • the server ID stores an id uniquely assigned to the server 52.
  • the task ID stores an id uniquely assigned to the media processing task.
  • the time information stores, for example, UTC (Coordinated Universal Time) and time information defined by local time (LT: Local Time), which is the standard time of each time zone.
  • the scheme ID stores a string (URI: Uniform Resource Identifier) representing the type of media processing task.
  • URI Uniform Resource Identifier
  • nbmp-brand urn
  • the scheme ID dependent data stores scheme ID dependent data, in other words, data that differs depending on the content of the media processing task.
  • FIG. 8 shows an example of scheme ID dependent data when the media processing task indicated by the scheme ID is video encoding processing and video encoding/transcoding processing and segment generation processing of video.
  • the media processing task indicated by the scheme ID is video encoding processing
  • the following data is stored in the recovery object as scheme ID dependent data.
  • ⁇ alternative_input_reference Reference information of the next input data to be acquired at the start of processing if processing cannot be seamlessly continued
  • ⁇ encoding_structure GOP (group of picture)/cvs (coded video sequence) picture reference structure during encoding rearranged in order of output)
  • ⁇ input_picture_reference Reference information of input data to be acquired next when processing is continued (for example, pointer information of FIFO buffer such as media fifo 72)
  • ⁇ output_data_reference Reference information for output data (eg sequence number in GOP/cvs of last picture/frame output) ⁇ num_reference_data Number of reference pictures required to continue processing
  • ⁇ encoded_reference_data Data of each reference picture required to continue processing (number of reference pictures) Data for each reference picture is
  • the media processing task indicated by the scheme ID includes segment generation processing
  • the following data is stored in the recovery object as scheme ID dependent data.
  • ⁇ alternative_input_reference reference information of the next input data to be acquired at the start of processing if processing cannot be seamlessly continued
  • ⁇ encoding_structure picture reference structure of segment GOP (group of pictures)/cvs (coded video sequence) , sorted in order of output)
  • ⁇ input_data_reference Reference information of input data to be acquired next when processing is continued (for example, pointer information of FIFO buffer such as media fifo 72)
  • ⁇ segment_header Segment header being generated (including MP4 moof box (Movie Fragment Box))
  • ⁇ encoded_data Already encoded data (the number of generated samples and sample data in the segment equivalent to mdat (Media Data Box)) segment_header and encoded_data correspond to the processed data in the segment.
  • a series of processes performed by the workflow management service 51 or the server 52 described above can be performed by hardware or by software.
  • a program that constitutes the software is installed in the computer.
  • the computer includes, for example, a microcomputer built into dedicated hardware and a general-purpose personal computer capable of executing various functions by installing various programs.
  • FIG. 9 is a block diagram showing a hardware configuration example of a computer as an information processing device that executes the series of processes described above by a program.
  • a CPU Central Processing Unit
  • ROM Read Only Memory
  • RAM Random Access Memory
  • An input/output interface 505 is further connected to the bus 504 .
  • An input unit 506 , an output unit 507 , a storage unit 508 , a communication unit 509 and a drive 510 are connected to the input/output interface 505 .
  • the input unit 506 consists of a keyboard, mouse, microphone, touch panel, input terminals, and the like.
  • the output unit 507 includes a display, a speaker, an output terminal, and the like.
  • a storage unit 508 includes a hard disk, a RAM disk, a nonvolatile memory, or the like.
  • a communication unit 509 includes a network interface and the like.
  • a drive 510 drives a removable recording medium 511 such as a magnetic disk, optical disk, magneto-optical disk, or semiconductor memory.
  • the CPU 501 loads, for example, a program stored in the storage unit 508 into the RAM 503 via the input/output interface 505 and the bus 504, and executes the above-described series of programs. is processed.
  • the RAM 503 also appropriately stores data necessary for the CPU 501 to execute various processes.
  • the program executed by the computer (CPU 501) can be provided by being recorded on a removable recording medium 511 such as package media, for example. Also, the program can be provided via a wired or wireless transmission medium such as a local area network, the Internet, or digital satellite broadcasting.
  • the program can be installed in the storage unit 508 via the input/output interface 505 by loading the removable recording medium 511 into the drive 510 . Also, the program can be received by the communication unit 509 and installed in the storage unit 508 via a wired or wireless transmission medium. In addition, programs can be installed in the ROM 502 and the storage unit 508 in advance.
  • FIG. 10 illustrates a block diagram of computers and cloud computing in which various embodiments described herein can be implemented.
  • the present disclosure can be implemented as a system, method, and/or computer program.
  • the computer program may include a computer readable storage medium having computer readable program instructions recorded thereon that cause one or more processors to perform aspects of the embodiments. .
  • a computer-readable storage medium can be a tangible device capable of storing instructions for use with an instruction execution device (processor).
  • a computer-readable storage medium can be, for example, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of these devices, including but not limited to Not limited. More specific examples of computer-readable storage media include each (and any suitable combination) of the following: floppy disk, hard disk, SSD (solid state drive), RAM (random access memory), ROM (read memory), EPROM (erasable and programmable read only memory) or Flash (flash memory), SRAM (static random access memory), compact disc (CD or CD-ROM), DVD (digital versatile disc), card type or stick type memory.
  • Computer-readable storage media as used in this disclosure include radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through waveguides or other transmission media (e.g., light pulses through fiber optic cables). , or an electrical signal transmitted over a wire, etc., per se.
  • the computer readable program instructions of the present disclosure can be downloaded from a computer readable storage medium to a suitable computing or processing device and distributed over a global network, local area network, wide area network, and/or network such as the Internet. , can be downloaded to an external computer or external storage device via a wireless network. Networks may include copper transmission lines, optical fiber, wireless transmission, routers, firewalls, switches, gateway computers, and/or edge servers.
  • a network adapter card or network interface within a computing device or processing device receives computer readable program instructions from a network and forwards the computer readable program instructions to the computer within the computing device or processing device. It can be stored on a computer readable storage medium.
  • Computer readable program instructions for performing the processes of the present disclosure include machine language instructions and/or microcode, including assembly language, Basic, Fortran, Java, Python, R, Compiled or interpreted from source code written in any combination of one or more programming languages, including C, C++, C#, or similar programming languages.
  • the computer-readable program instructions can be executed entirely on the user's personal computer, notebook computer, tablet, or smart phone, on a remote computer or computer server, or any combination of these computing devices. It can also run perfectly on A remote computer or computer server may be connected to a user's device or device via a computer network such as a local area network, wide area network, global network (eg, the Internet).
  • electrical circuits including, for example, programmable logic circuits, field-programmable gate arrays (FPGAs), and programmable logic arrays (PLAs), use computer readable program instructions to configure or customize electronic circuits.
  • FPGAs field-programmable gate arrays
  • PDAs programmable logic arrays
  • information from the can be used to execute computer readable program instructions.
  • Computer readable program instructions capable of executing the systems and methods described in this disclosure may be executed by one or more processors (and/or processors) of a general purpose computer, special purpose computer, or other programmable device for manufacturing a device. or one or more cores within a processor). Execution of program instructions via a processor of a computer or other programmable device creates a system for performing the functions described in the flow diagrams and block diagrams of this disclosure.
  • These computer-readable program instructions may also be stored on a computer-readable storage medium capable of instructing computers, programmable apparatus, and/or other devices to function in a particular manner. Accordingly, a computer-readable storage medium having instructions stored thereon is an article of manufacture containing instructions that implement aspects of the functionality identified in the flow diagrams and block diagrams of this disclosure.
  • Computer readable program instructions are also loaded into a computer, other programmable apparatus, or other device to perform a sequence of operational steps on the computer, other programmable apparatus, or other device, and produce processing results of the computer. Generate. Program instructions are executed on a computer, other programmable apparatus, or other device to perform the functions identified in the flow diagrams and block diagrams of this disclosure.
  • FIG. 10 is a functional block diagram of a network system 800 in which one or more computers, servers, etc. are connected via a network. It should be noted that the hardware and software environment illustrated in the embodiment of FIG. 10 is provided as an example of providing a platform for implementing software and/or methods according to the present disclosure.
  • network system 800 can include, but is not limited to, computer 805, network 810, remote computer 815, web server 820, cloud storage server 825, and computer server 830. In some embodiments, multiple instances of one or more of the functional blocks shown in FIG. 10 are used.
  • FIG. 805 A more detailed configuration of the computer 805 is shown in FIG. It should be noted that the functional blocks depicted within computer 805 are illustrated to establish exemplary functionality and are not exhaustive. Also, although the detailed configuration of remote computer 815, web server 820, cloud storage server 825, and computer server 830 are not shown, they may include similar configuration to the functional blocks shown for computer 805. can.
  • Computer 805 may be a personal computer (PC), desktop computer, laptop computer, tablet computer, netbook computer, personal digital assistant (PDA), smart phone, or other program capable of communicating with other devices on network 810 . Any possible electronic device can be used.
  • PC personal computer
  • PDA personal digital assistant
  • Computer 805 is then configured with processor 835 , bus 837 , memory 840 , non-volatile storage 845 , network interface 850 , peripheral device interface 855 , and display interface 865 .
  • processor 835 bus 837
  • memory 840 non-volatile storage 845
  • network interface 850 network interface 850
  • peripheral device interface 855 display interface 865
  • display interface 865 display interface 865
  • processor 835 bus 837
  • memory 840 non-volatile storage 845
  • network interface 850 network interface
  • peripheral device interface 855 peripheral device interface 855
  • display interface 865 display interface
  • Processor 835 may be, for example, one or more single or multi-chip microprocessors such as those designed and/or manufactured by Intel Corporation, Advanced Micro Devices, Inc. (AMD), Arm Holdings (Arm), Apple Computer, etc. can be Examples of microprocessors include Celeron, Pentium, Core i3, Core i5 and Core i7 from Intel Corporation, Opteron, Phenom, Athlon, Turion and Ryzen from AMD, and Cortex-A, Cortex-A from Arm. Examples include R and Cortex-M.
  • microprocessors include Celeron, Pentium, Core i3, Core i5 and Core i7 from Intel Corporation, Opteron, Phenom, Athlon, Turion and Ryzen from AMD, and Cortex-A, Cortex-A from Arm. Examples include R and Cortex-M.
  • Bus 837 may employ any proprietary or industry standard high speed parallel or serial peripheral interconnect bus such as ISA, PCI, PCI Express (PCI-e), AGP, for example.
  • ISA ISA
  • PCI PCI Express
  • AGP AGP
  • the memory 840 and non-volatile storage 845 are computer-readable storage media.
  • Memory 840 may employ any suitable volatile storage device such as dynamic random access memory (DRAM) or static RAM (SRAM).
  • Non-volatile storage 845 includes flexible disks, hard disks, SSDs (Solid State Drives), ROMs (Read Only Memory), EPROMs (Erasable and Programmable Read Only Memory), flash memory, compact disks (CD or CD-ROM), DVDs ( Digital Versatile Disc), card-type memory, or stick-type memory.
  • Program 848 is also a collection of machine-readable instructions and/or data. This collection is stored in non-volatile storage 845 and is used to create, manage, and control the specific software functions described in detail in this disclosure and illustrated in the drawings. It should be noted that in configurations where memory 840 is significantly faster than non-volatile storage 845 , program 848 may be transferred from non-volatile storage 845 to memory 840 before being executed by processor 835 .
  • Network 810 can employ a configuration including, for example, a Local Area Network (LAN), a Wide Area Network (WAN) such as the Internet, or a combination of LAN and WAN, including wired, wireless, or fiber optic connections. .
  • LAN Local Area Network
  • WAN Wide Area Network
  • network 810 consists of any combination of connections and protocols that support communication between two or more computers and associated devices.
  • Peripheral interface 855 allows input and output of data with other devices that may be locally connected to computer 805 .
  • peripherals interface 855 provides connectivity to external devices 860 .
  • External device 860 may be a keyboard, mouse, keypad, touch screen, and/or other suitable input device.
  • External devices 860 may also include portable computer-readable storage media such as, for example, thumb drives, portable optical or magnetic disks, and memory cards.
  • Software and data, eg, program 848, implementing embodiments of the present disclosure may be stored on such portable computer-readable storage media. In such embodiments, the software may be loaded onto non-volatile storage 845 or, alternatively, directly onto memory 840 via peripherals interface 855 .
  • Peripherals interface 855 may use industry standards such as RS-232 or USB (Universal Serial Bus) to connect to external devices 860 .
  • a display interface 865 can connect the computer 805 to a display 870 , in some forms used to present a command line or graphical user interface to a user of the computer 805 .
  • the display interface 865 uses one or more of industry standard or proprietary connections such as VGA (Video Graphics Array), DVI (Digital Visual Interface), DisplayPort, HDMI (High-Definition Multimedia Interface). can be connected to the display 870 via the VGA (Video Graphics Array), DVI (Digital Visual Interface), DisplayPort, HDMI (High-Definition Multimedia Interface). can be connected to the display 870 via the
  • network interface 850 provides communication with other computers, storage systems, or devices external to computer 805 .
  • the software programs and data described herein are downloaded from, for example, remote computers 815, web servers 820, cloud storage servers 825, and computer servers 830 to non-volatile storage 845 via network interface 850 and network 810. be able to.
  • the systems and methods of the present disclosure can be performed by one or more computers connected to computer 805 via network interface 850 and network 810 .
  • the systems and methods of the present disclosure are performed by remote computer 815 , computer server 830 , or a combination of interconnected computers on network 810 .
  • Data, datasets and/or databases employed in embodiments of the disclosed systems and methods may be downloaded from remote computers 815, web servers 820, cloud storage servers 825 and computer servers 830 and stored. can do.
  • processing performed by the computer according to the program does not necessarily have to be performed in chronological order according to the order described as the flowchart.
  • processing performed by a computer according to a program includes processing that is executed in parallel or individually (for example, parallel processing or processing by objects).
  • the program may be processed by one computer (processor), or may be processed by a plurality of computers in a distributed manner. Furthermore, the program may be transferred to a remote computer and executed.
  • a system means a set of multiple components (devices, modules (parts), etc.), and it does not matter whether all the components are in the same housing. Therefore, a plurality of devices housed in separate housings and connected via a network, and a single device housing a plurality of modules in one housing are both systems. .
  • the configuration described as one device (or processing unit) may be divided and configured as a plurality of devices (or processing units).
  • the configuration described above as a plurality of devices (or processing units) may be collectively configured as one device (or processing unit).
  • part of the configuration of one device (or processing unit) may be included in the configuration of another device (or other processing unit) as long as the configuration and operation of the system as a whole are substantially the same. .
  • the technique of this disclosure can take the following configurations.
  • a task manager for managing a plurality of media processing tasks executed on one or more servers;
  • the task management unit when transitioning a media processing task being executed by a first server, which is one of the plurality of servers, to a second server different from the first server, selects transition destination candidates Get the capabilities of multiple servers that are
  • the processing system wherein the capabilities include presence/absence of persistent storage capable of storing data of the media processing task without depending on the execution state of the media processing task, and location information of the persistent storage.
  • the capability further includes a data capacity of the persistent storage.
  • the task management unit instructs the server having the persistent storage to store a state recovery information storage location, which is storage location information for state recovery information for continuing execution of the media processing task being executed by the first server.
  • the processing system according to any one of (1) to (3), which notifies information.
  • the server having persistent storage is the first server executing a media processing task to be transitioned;
  • the processing system according to (4), wherein the task management unit notifies the first server of the state recovery information storage location information.
  • the media processing task of the first server saves state recovery information for continued execution of the media processing task in the persistent storage notified by the task management unit of (1) to (5).
  • the first server notifies the task management unit that the media processing task to be transitioned has stopped and the data capacity of state recovery information for continuing execution of the media processing task to be transitioned. ) to (6).
  • the task management unit selects the second server based on the acquired capabilities of transition destination candidates when transitioning the media processing task being executed by the first server. (1) The processing system according to any one of (7).
  • the task management unit notifies the selected second server of state recovery information storage location information, which is storage location information of state recovery information for continuously executing the media processing task to be transitioned, and the media processing task.
  • the task management unit seamlessly continues the processing of the media processing task, or performs non-continuous processing that starts processing from a predetermined starting point.
  • the task management unit continues processing the media processing task based on a data transfer speed between the storage location of the state recovery information and the second server and a data capacity of the state recovery information, Alternatively, the processing system according to (11) above, which instructs whether to perform non-continuous processing that starts processing from a predetermined starting point.
  • the media processing task of the second server seamlessly stores state recovery information storage location information, which is storage location information of state recovery information for continuously executing the media processing task to be transitioned, and the media processing task to be transitioned. Acquiring from the task management unit a flag indicating whether to continue processing or to perform non-continuous processing starting from a predetermined starting point, and execute the media processing task based on the flag (1) to The processing system according to any one of (12).
  • the media processing task of the first server saves state recovery information for continued execution of the media processing task to be transitioned in a persistent storage designated by the task management unit; If the transition target media processing task includes video encoding processing, The state recovery information includes reference information of input data to be acquired next at the start of processing when processing cannot be seamlessly continued, picture reference structure during encoding, reference information of input data to be acquired next when processing is continued, output completed including at least one of data reference information, or the number of reference pictures and data for each reference picture required to continue processing; The processing system according to any one of (1) to (13) above, wherein data of each reference picture is indicated by a byte offset value from the beginning of the entire picture data.
  • the media processing task of the first server saves state recovery information for continued execution of the media processing task to be transitioned in a persistent storage designated by the task management unit; If the transition target media processing task includes segment generation processing,
  • the state recovery information is reference information of input data to be acquired next at the start of processing when processing cannot be seamlessly continued, picture reference structure of a segment, reference information of input data to be acquired next when processing is continued, or segment processed data in The processing system according to any one of (1) to (14), wherein the processed data in the segment includes a segment header being generated, the number of generated samples in the segment, and sample data.
  • a task manager for managing a plurality of media processing tasks executed on one or more servers;
  • the task management unit when transitioning a media processing task being executed on a first server, which is one of the plurality of servers, to a second server different from the first server, get the capabilities of multiple servers that are candidates for running the media processing tasks running on the servers of
  • the capability includes presence/absence of a persistent storage capable of storing task data independently of the task, and information on its location.
  • a task management unit of an information processing apparatus that manages a plurality of media processing tasks executed by one or a plurality of servers manages the media processing tasks executed by a first server that is one of the plurality of servers.
  • the capability includes presence/absence of a persistent storage capable of storing task data independently of the task and its location information.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本開示は、処理の連続性が必要なメディア処理タスクをサーバ間で遷移させることができるようにする処理システム、並びに、情報処理装置および方法に関する。 処理システムは、一つまたは複数のサーバで実行される複数のメディア処理タスクを管理するタスク管理部を備え、タスク管理部は、複数のサーバの一つである第1のサーバで実行されているメディア処理タスクを第1のサーバとは別の第2のサーバに遷移させる場合に、遷移先候補となる複数のサーバのケーパビリティを取得し、ケーパビリティは、メディア処理タスクの実行状態に依存せずメディア処理タスクのデータを保存可能なパーシステントストレージの有無と、その場所情報を含む。本開示の技術は、例えば、5Gネットワークを用いてメディア処理を行うメディア処理システム等に適用できる。

Description

処理システム、並びに、情報処理装置および方法
 本開示は、処理システム、並びに、情報処理装置および方法に関し、特に、処理の連続性が必要なメディア処理タスクをサーバ間で遷移させることができるようにした処理システム、並びに、情報処理装置および方法に関する。
 近年、インターネットストリーミングの普及に伴ってストリーミングやTV放送で消費されるコンテンツが多様化しており、そのためのコンテンツ制作のためのメディア処理がクラウド上で行われるケースが増えている。コンテンツ制作のための様々なメディア処理や、配信を最適化するためのメディア処理等を、複数組み合わせてクラウド上で実現するためのフレームワークを提供する国際標準規格が策定されつつある(例えば、非特許文献1乃至3参照)。
 一方、モバイル通信規格の標準化団体である3GPPでは、5Gネットワークを放送コンテンツ制作へ活用するための標準規格要件が議論されている(例えば、非特許文献4,5参照)。例えば、スポーツやエンターテインメント・ライブなどのイベント会場からの中継コンテンツの制作に関するメディア処理、または、コンテンツを消費する各端末に合わせた個別化のためのメディア処理について、いわゆるネットワークのエッジに置かれたサーバ(エッジサーバ)上で行うことが想定されている。その場合、映像ソースとしてのカメラや、コンテンツを消費する端末の移動に伴って、それぞれの処理を行うために最適なエッジサーバが変わることが想定される。最適なエッジサーバが変わる場合には、あるエッジサーバで実行中のメディア処理タスクを、別のエッジサーバに遷移させる必要が生じる。
ISO/IEC 14496-12:2020,Information technology - Coding of audio-visual objects - Part 12: ISO base media file format ISO/IEC 23090-8:2020,Information technology - Coded representation of immersive media - Part 8: Network based media processing ISO/IEC 23090-8:2020 Amendment 2, Working Draft of ISO/IEC 23090-8 Amendment 2 - MPE capabilities, split-rendering support and other enhancements 3GPP TS 26.512 "Technical Specification Group Services and System Aspects;5G Media Streaming (5GMS); Protocols (Release 16) " 3GPP TS 23.558 "Architecture for enabling Edge Applications (Release 17)"
 一定時間の処理の連続性が必要となるメディア処理をサーバ間で遷移させる場合には、一般の非同期な処理の場合とは異なる配慮が必要となる。
 本開示は、このような状況に鑑みてなされたものであり、処理の連続性が必要なメディア処理タスクをサーバ間で遷移させることができるようにするものである。
 本技術の第1側面の処理システムは
 一つまたは複数のサーバで実行される複数のメディア処理タスクを管理するタスク管理部を備え、
 前記タスク管理部は、前記複数のサーバの一つである第1のサーバで実行されているメディア処理タスクを前記第1のサーバとは別の第2のサーバに遷移させる場合に、遷移先候補となる複数のサーバのケーパビリティを取得し、
 前記ケーパビリティは、前記メディア処理タスクの実行状態に依存せず前記メディア処理タスクのデータを保存可能なパーシステントストレージの有無と、その場所情報を含む。
 本技術の第1側面においては、一つまたは複数のサーバで実行される複数のメディア処理タスクを管理するタスク管理部において、前記複数のサーバの一つである第1のサーバで実行されているメディア処理タスクを前記第1のサーバとは別の第2のサーバに遷移させる場合に、遷移先候補となる複数のサーバのケーパビリティが取得される。前記ケーパビリティには、前記メディア処理タスクの実行状態に依存せず前記メディア処理タスクのデータを保存可能なパーシステントストレージの有無と、その場所情報とが含まれる。
 本技術の第2側面の情報処理装置は、
 一つまたは複数のサーバで実行される複数のメディア処理タスクを管理するタスク管理部を備え、
 前記タスク管理部は、前記複数のサーバの一つである第1のサーバで実行されているメディア処理タスクを前記第1のサーバとは別の第2のサーバに遷移させる場合に、前記第1のサーバで実行中のメディア処理タスクを実行させる候補となる複数のサーバのケーパビリティを取得し、
 前記ケーパビリティは、タスクに依存せずタスクのデータを保存可能なパーシステントストレージの有無と、その場所情報を含む。
 本技術の第2側面の情報処理方法は、
 一つまたは複数のサーバで実行される複数のメディア処理タスクを管理する情報処理装置のタスク管理部が、前記複数のサーバの一つである第1のサーバで実行されているメディア処理タスクを前記第1のサーバとは別の第2のサーバに遷移させる場合に、前記第1のサーバで実行中のメディア処理タスクを実行させる候補となる複数のサーバのケーパビリティを取得し、
 前記ケーパビリティは、タスクに依存せずタスクのデータを保存可能なパーシステントストレージの有無と、その場所情報を含む。
 本技術の第2側面においては、一つまたは複数のサーバで実行される複数のメディア処理タスクを管理する情報処理装置において、前記複数のサーバの一つである第1のサーバで実行されているメディア処理タスクを前記第1のサーバとは別の第2のサーバに遷移させる場合に、前記第1のサーバで実行中のメディア処理タスクを実行させる候補となる複数のサーバのケーパビリティが取得される。前記ケーパビリティには、タスクに依存せずタスクのデータを保存可能なパーシステントストレージの有無と、その場所情報とが含まれる。
 なお、本技術の第1側面の処理システム及び第2側面の情報処理装置それぞれは、コンピュータにプログラムを実行させることにより実現することができる。コンピュータに実行させるプログラムは、伝送媒体を介して伝送することにより、又は、記録媒体に記録して、提供することができる。
 処理システム及び情報処理装置それぞれは、独立した装置であっても良いし、1つの装置を構成している内部ブロックであっても良い。
本開示の技術が適用され得るメディア処理システムの構成例を示すブロック図である。 本開示の制御処理システムであって、メディア処理を異なるエッジサーバ間で遷移させる制御を行う制御処理システムのブロック図である。 図2の制御処理システムによるタスク遷移制御処理を説明する図である。 タスク遷移制御処理のフローチャートである。 connectivityパラメータの詳細を説明する図である。 シームレス処理継続決定処理を説明するフローチャートである。 リカバリオブジェクトのデータ構造を説明する図である。 リカバリオブジェクトのデータ構造を説明する図である。 本開示の各種の実施の形態を実現することができるコンピュータのハードウェアの構成例を示すブロック図である。 本開示の各種の実施の形態を実現することができるコンピュータおよびクラウドコンピューティングのブロック図である。
 以下、添付図面を参照しながら、本開示の技術を実施するための形態(以下、実施の形態という)について説明する。なお、本明細書において、「および/または」の記載は、「および」と「または」の両方を取り得ることを意味する。また、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
 本明細書の発明の詳細な説明において直接的に定義されていない用語等の定義は、上記非特許文献1ないし5に記載されている内容を参照により引用する。例えば、パース(Parsing)、シンタックス(Syntax)、セマンティクス(Semantics)等の技術用語や、非特許文献1に記載されているFile Structure、非特許文献2に記載されているInterfaces for network media processing規格で用いられている用語は、非特許文献1ないし5で使用されている意味と同様に用いられる。
 説明は以下の順序で行う。
1.メディア処理システムの構成例
2.制御処理システムの構成例
3.タスク遷移制御処理
4.ネットワークベースのメディア処理に対応したタスク遷移制御処理
5.シームレス処理継続決定処理
6.リカバリオブジェクトのデータ構造
7.コンピュータの構成例
8.クラウドコンピューティングの構成例
<1.メディア処理システムの構成例>
 図1は、本開示の技術が適用され得るメディア処理システムの構成例を示すブロック図である。
 図1のメディア処理システム1は、映像ソースとしてのカメラ21で撮影された映像に対して所定のメディア処理を行い、コンテンツを消費する各端末22へ、5Gネットワーク23を活用して配信するシステムである。5Gネットワーク23には、複数の基地局31(31A乃至31D)、複数のエッジサーバ32(32A乃至32D)、及び、プロダクションシステム33が含まれる。
 カメラ21は、例えば、スポーツやエンターテインメント・ライブなどのイベント会場でコンテンツとしての映像を撮影する。カメラ21で撮影された映像は、カメラ21近傍の基地局31Aを経由して、5Gネットワーク23上のエッジサーバ32Aへ送信される。
 エッジサーバ32Aは、カメラ21で撮影されたベースバンドの映像ストリームに対して所定のメディア処理を行った後、プロダクションシステム33へ送信する。ここで行われるメディア処理は、例えば、ベースバンドの映像ストリームの圧縮エンコード、圧縮エンコードされたカメラ21からの映像ストリームをエンハンスする処理、または、他のフォーマットへのトランスコードなどである。
 プロダクションシステム33は、一つまたは複数のサーバで構成され、複数のカメラ21で撮影された映像の切替、合成などを行い、各端末22へ配信するコンテンツを制作する。プロダクションシステム33は、制作したコンテンツ映像を、各端末22へ高解像度でマルチキャスト配信する。プロダクションシステム33から送信されたコンテンツ映像は、例えば、5Gネットワーク23上のエッジサーバ32Cへ送信され、基地局31Cを経由して端末22へ配信される。エッジサーバ32Cおよび基地局31Cは、端末22近傍に配置されている。
 エッジサーバ32Cは、プロダクションシステム33から送信されたコンテンツ映像に対して所定のメディア処理を行った後、基地局31Cを経由して端末22へ送信する。ここで行われるメディア処理は、例えば、端末22の性能や状態あるいはネットワークの状態に応じた個別最適化のためのトランスコードなどである。
 端末22は、例えば、スマートフォン、タブレット、ノートブックコンピュータ等で構成され、基地局31Cを経由して配信されてきたコンテンツ映像を表示する。端末22の場所は、視聴するユーザの移動に伴って移動され得る。
 以上のように構成されるメディア処理システム1において、映像ソースであるカメラ21や、コンテンツを消費する端末22の移動に伴って、それぞれの処理を行うために最適なエッジサーバ32が変わることが想定される。
 例えば、映像生成側において、カメラ21の位置がカメラ21’の位置へ移動された場合、最適なエッジサーバ32がエッジサーバ32Aからエッジサーバ32Bへ変化する。その場合、エッジサーバ32Aで行っている、ベースバンドの映像ストリームの圧縮エンコード等のメディア処理をエッジサーバ32Bへ遷移させる必要がある。
 また例えば、コンテンツ受信側において、端末22の位置が端末22’の位置へ移動された場合、最適なエッジサーバ32がエッジサーバ32Cからエッジサーバ32Dへ変化する。その場合、コンテンツ映像のトランスコード等のメディア処理をエッジサーバ32Cからエッジサーバ32Dへ遷移させる必要がある。
 クラウドサーバ間でのタスク遷移の実現手段としては、バーチャルマシンごと、または、バーチャルマシン上のプロセス単位で行うことが考えられるが、データの転送量が大きくなることから相応の時間がかかり、メディア処理をシームレスに継続することは難しい。これに対して、予め遷移先のサーバ上で同等のプロセス(メディア処理タスク)を起動しておき、メディア処理の継続に必要な遷移元タスクの内部状態だけを伝達することでデータ転送量を小さくすることが考えられるが、その場合でもサーバ間のデータ転送が、シームレスな処理継続を達成するために必要十分な時間で可能であるとは限らない。
 このように、実行中のメディア処理を異なるエッジサーバ間で遷移させる必要が生じ、メディア処理が、一定時間の処理の連続性が必要である場合には、一般の非同期な処理の場合とは異なる配慮が必要となる。
<2.制御処理システムの構成例>
 図2は、本開示の制御処理システムであって、メディア処理を異なるエッジサーバ間で遷移させる制御を行う制御処理システムのブロック図である。
 図2の制御処理システム50は、メディア処理タスクを管理するワークフロー管理サービス51と、サーバ52Aおよび52Bとを含む。ワークフロー管理サービス51は、一つまたは複数のサーバ上で実行されるアプリケーション(プログラム)であり、一つまたは複数のサーバで実行される複数のメディア処理タスクを管理する。例えば、ワークフロー管理サービス51は、第1のサーバとしてのサーバ52Aで実行されているメディア処理タスクを、第2のサーバであるサーバ52Bに遷移させるタスク制御を行う。
 サーバ52Aおよびサーバ52B間で遷移されるメディア処理タスク61は、例えば、コンテンツ映像のトランスコードおよびセグメント生成を行う。サーバ52A上で実行されたメディア処理タスク61Aは、メディアファイフォ72を介して取得したソース71としての映像ストリームをトランスコードし、かつセグメント生成し、出力先73Aへ送信する。サーバ52Bへ遷移後、サーバ52B上で実行されたメディア処理タスク61Bは、メディアファイフォ72を介して取得したソース71である映像ストリームをトランスコードし、かつセグメント生成し、出力先73Bへ送信する。出力先73Aと73Bは、一つの同じ装置、例えば端末等である場合もあるし、異なる装置、例えばエッジサーバ等である場合もある。セグメントは、映像ストリームを数秒から10秒程度の時間単位ごとにファイル化したデータである。
 ワークフロー管理サービス51は、タスク遷移の必要性を判断し、必要に応じて、サーバ52Aで実行されているメディア処理タスク61Aをサーバ52Bへ遷移させる。サーバ52Aのメディア処理タスク61Aに替わって、サーバ52Bにおいてメディア処理タスク61Bが起動され、実行される。タスク遷移の必要性は、例えば、サーバ52の稼働状態の変動、ネットワーク状態の変動、ソース71または出力先73の移動などの事象に基づいて判断される。
 ワークフロー管理サービス51は、サーバ52Aのメディア処理タスク61Aを遷移させる場合、サーバ52Bのメディア処理タスク61Bが継続実行するための内部状態情報の保存場所情報を、メディア処理タスク61Aに通知する。図2の例では、サーバ52Aが備えるパーシステントストレージ62に、状態回復情報を保存させることとし、ワークフロー管理サービス51は、内部状態情報の保存場所情報として、サーバ52Aのパーシステントストレージ62を通知する。パーシステントストレージ62は、タスクの起動、消滅等、メディア処理タスク61の実行状態に依存せず、メディア処理タスク61のデータを保存可能な記憶部であり、ハードディスク、SSD(solid state drive)、EPROM(erasable and programmable read only memory)等で構成される。パーシステントストレージ62に保存される内部状態情報は、一旦中断された処理を、状態回復するために必要な情報であり、以下では、状態回復情報とも称し、非特許文献3に開示のネットワークベースのメディア処理(NBMP)のフレームワークにおいてはリカバリオブジェクトとも称される。サーバ52Aのメディア処理タスク61Aは、サーバ52Aのパーシステントストレージ62に状態回復情報を保存する。なお、サーバ52Aのメディア処理タスク61Aが状態回復情報を保存させるパーシステントストレージ62は、タスク実行中のサーバ52Aとは別のサーバ52上のパーシステントストレージ62であってもよい。
 サーバ52B上で実行されたメディア処理タスク61Bは、パーシステントストレージ62から状態回復情報を取得する。そして、メディア処理タスク61Bは、状態回復情報を使用してメディア処理タスク61Aと同じタスクを実行する。
 ワークフロー管理サービス51は、各サーバ52からケーパビリティを取得し、タスク遷移の必要性を判断したり、状態回復情報を保存させるパーシステントストレージ62を選定する。
 ケーパビリティは、サーバ52自身の性能、機能を示す情報であり、ケーパビリティとして例えば以下の情報(パラメータ)が取得可能である。
・resource-availabilities:サーバ52のリソースのアベイラビリティを示す。
   例: {“vcpu”, 4, 30} :vcpu が 4個あり 30 % が利用可能
・placement:サーバ52の地理的な場所
・location:サーバ52のネットワーク上の場所(URL,IPアドレスなど)
・functions:サーバ52が実行可能なファンクションのFunction Descriptionのリスト(array)
・connectivity:他のサーバ52との間の接続性能
・persistency-capability:サーバ52が提供する記憶部がパーシステント(タスクの状態に依存せず保持される)か否か(true/false)
・secure-persistency:パーシステントストレージのデータ転送がセキュアか否か(true/false)
・persistence-storage-url:パーシステントストレージの場所(URL)
 図2の制御処理システム50は、図1のメディア処理システム1に組み込んで動作させることができる。この場合、ワークフロー管理サービス51は、プロダクションシステム33の一部に相当する。サーバ52Aは、例えば、エッジサーバ32A、エッジサーバ32Cなどに相当し、サーバ52Bは、例えば、エッジサーバ32B、エッジサーバ32Dなどに相当する。
 以下において、メディア処理タスク61が遷移する前のサーバ52Aを、遷移元サーバ52Aと称し、遷移した後のサーバ52Bを、遷移先サーバ52Bと称して説明する場合がある。非特許文献3に開示のネットワークベースのメディア処理(NBMP)のフレームワークにおいては、ワークフロー管理サービス51は、タスクを管理するタスク管理部であるWorkFlow Managerに相当し、サーバ52は、MPE(Media Processing Entity)に相当する。MPEについて、遷移元サーバ52Aと遷移先サーバ52Bを区別すると、遷移元サーバ52AはSorce-MPE、遷移先サーバ52BはTarget-MPEということができる。
<3.タスク遷移制御処理>
 図3を参照して、制御処理システム50によるタスク遷移制御処理を説明する。
 初めに、ステップS11において、ワークフロー管理サービス51は、サーバ52A上に所望のタスクであるメディア処理タスク61Aを実行させる。その際、ワークフロー管理サービス51は、設定パラメータ(Configuration parameter)として、タスクの遷移時に必要な状態回復情報を保存すべきパーシステントストレージ62を指定する。ワークフロー管理サービス51は、予め複数のサーバ52から取得したケーパビリティの情報、例えば、サーバとストレージ間のスループット、レイテンシに基づいて、最適なパーシステントストレージ62の場所を指定する。
 ステップS12において、ワークフロー管理サービス51は、実行中のメディア処理タスク61Aを別のサーバ52へ遷移させる必要性を検知する。ワークフロー管理サービス51は、例えば、サーバ52の状態のモニタリング結果、メディア処理タスク61へのソース71(メディア入力源)または出力先73Aの物理的な移動の検知に基づいて、タスク遷移の必要性を検知することができる。
 ステップS13において、ワークフロー管理サービス51は、遷移先候補となる複数のサーバ52のケーパビリティを取得し、取得した遷移先候補のケーパビリティに基づいて、適切なサーバ52を選定する。適切なサーバ52を選定には、サーバ52のケーパビリティに含まれるサーバ-ストレージ間のスループット、レイテンシが考慮される。本実施の形態では、適切なサーバ52として、サーバ52Bが選定される。
 ステップS14において、ワークフロー管理サービス51は、選定したサーバ52B上で、遷移元で実行中のメディア処理タスク61Aと同じタスクを予め起動する。これにより、サーバ52B上でメディア処理タスク61Bが起動される。
 ステップS15において、ワークフロー管理サービス51は、実行中(遷移元)のメディア処理タスク61Aに対し、状態保存と停止を指示する。
 ステップS16において、サーバ52Aのメディア処理タスク61Aは、ステップS11で指定されたパーシステントストレージ62に、処理を継続実行するために必要な状態回復情報(リカバリオブジェクト)を保存し、処理の停止と状態回復情報のデータ容量を、ワークフロー管理サービス51に通知する。
 ステップS17において、ワークフロー管理サービス51は、状態回復情報が保存されたパーシステントストレージ62と遷移先サーバ52Bとの間のスループット、レイテンシ等に基づき、遷移先のサーバ52Bで、シームレスな処理継続が可能か否かを判定する。シームレスな処理継続が可能であると判定された場合、ワークフロー管理サービス51は、状態回復情報の保存場所、すなわち、パーシステントストレージ62の場所を示す状態回復情報保存場所情報を通知し、処理継続を指示する。一方、シームレスな処理継続が可能ではないと判定された場合、ワークフロー管理サービス51は、状態回復情報保存場所情報を通知し、継続処理しないことを指示する。
 ステップS18において、遷移先サーバ52Bのメディア処理タスク61Bは、ワークフロー管理サービス51から取得した状態回復情報保存場所情報に基づいて、パーシステントストレージ62から状態回復情報を取得する。そして、メディア処理タスク61Bは、ワークフロー管理サービス51から処理継続が指示された場合、遷移元サーバ52Aのメディア処理タスク61Aが処理を停止したところから処理を継続する。一方、メディア処理タスク61Bは、ワークフロー管理サービス51から継続処理しないことが指示された場合、入力データの参照情報に基づいて、所定の開始点から処理を開始する。
 以上のように、ワークフロー管理サービス51は、遷移先候補となる複数のサーバ52のケーパビリティを取得し、遷移先候補の各サーバ52と、状態回復情報が保存されたパーシステントストレージ62との間のデータ転送速度(スループット)及び遅延時間(レイテンシ)を予め取得する。そして、ワークフロー管理サービス51は、遷移元サーバ52A上で実行中のメディア処理タスク61Aから通知される状態回復情報のデータ容量を鑑みて、遷移先サーバ52Bに、遷移元サーバ52Aのメディア処理タスク61Aが処理を停止したところからシームレスに処理を継続するか、処理を継続せずに代替の開始点から処理を開始するかを指示する。
<4.ネットワークベースのメディア処理に対応したタスク遷移制御処理>
 次に、図4のフローチャートを参照して、非特許文献3に開示のネットワークベースのメディア処理(以下、NBMPと称する。)に対応したタスク遷移制御処理について説明する。
 図4のフローチャートでは、遷移元サーバ52A上で実行中のメディア処理タスク61Aのタスク遷移の必要性を判断する処理から説明するが、メディア処理タスク61Aが実行される前には、ステップS50として示すように、ワークフロー管理サービス51が、各サーバ52のケーパビリティを取得した上で、遷移元サーバ52A上にメディア処理タスク61Aを起動して実行させている。
 NBMPにおいて、WorkFlow Managerであるワークフロー管理サービス51は、MPEである各サーバ52に対して、MPE Capabilities Description Document を リクエストボディに付けた HTTP GET RetrieveCapabilitiesを発行することで、各サーバ52のケーパビリティを取得することができる。
 RetrieveCapabilitiesは、MPE APIであり、MPE Capabilities Descriptionには、General, Capabilities, Eventsの各Descriptorが含まれる。MPE Capabilities Description内のGeneral Descriptorのidは、ケーパビリティを取得したいMPEであるサーバ52のidと一致される。HTTP GET RetrieveCapabilitiesが成功した場合、Capabilities descriptorに実際のケーパビリティが記載された MPE Capabilities Description Document がレスポンスとして返される。Capabilities descriptorの具体的パラメータは、上述したresource-availabilities, placement, location functions, connectivity, persistency-capability, secure-persistency, persistence-storage-urlである。General Descriptor, Events Descriptorは、ISO/IEC 23090-8:2020 に規定されている。
 ステップS51において、ワークフロー管理サービス51は、5Gネットワーク23のネットワーク状態の変動、遷移元サーバ52Aの稼働状態の変動、ソース71または出力先73の移動などの事象に基づいて、タスク遷移の必要性を判断する。ステップS51において、タスク遷移が必要であると検知した場合、ワークフロー管理サービス51は、MPE Capabilities Description Document を リクエストボディに付けた HTTP POST SelectCapabilitiesを遷移元サーバ52Aの制御部へ発行することで、状態回復情報を保存するためのストレージ(退避ストレージ)を遷移元サーバ52A上に確保する。これにより、遷移元サーバ52A上のパーシステントストレージ62が確保される。SelectCapabilitiesのMPE Capabilities Description内のパラメータであるpersistence-storage-urlに、パーシステントストレージ62の場所を示すURL(RecoveryObjectURLs)が格納される。
 SelectCapabilitiesは、RetrieveCapabilitiesで取得したケーパビリティで提示されたなかから、特定のものを使用することを指定するMPE APIであり、遷移元サーバ52A上のパーシステントストレージ62のURL(persistence-storage-url)が指定される。HTTP POST SelectCapabilitiesが成功した場合、指定した通りのパラメータを反映したMPE Capabilities Description Documentがレスポンスとして返される。
 続いて、ワークフロー管理サービス51は、ステップS52において、遷移元サーバ52Aのメディア処理タスク61Aに対して、Task Description Document を リクエストボディに付けた HTTP PATCH UpdateTaskを発行することで、状態回復情報のパーシステントストレージ62への退避(保存)と、タスク(処理)の停止を指示する。Task Description には、状態回復情報の保存場所、すなわち、パーシステントストレージ62の場所を示すURL(RecoveryObjectURLs)が指定されてもよいし、同一サーバ内のパーシステントストレージ62であるため、メディア処理タスク61Aが保存場所を既知の場合には、保存場所の指定が省略される場合もある。
 ステップS53において、遷移元サーバ52Aのメディア処理タスク61Aは、ワークフロー管理サービス51からの状態回復情報の退避指示に基づき、同一サーバ内のパーシステントストレージ62に、状態回復情報を保存する。
 ワークフロー管理サービス51がステップS52でメディア処理タスク61Aに送信したTask APIのUpdateTaskに対するレスポンスとして、後述するステップS58において、遷移元サーバ52Aの制御部から、タスクの停止と、状態回復情報(リカバリオブジェクト)のデータ容量が通知される。
 あるいは、Task APIのUpdateTaskに対するレスポンスとして、メディア処理タスク61Aが、ステップS54として、状態回復情報の生成、退避を、チャンク転送により時々刻々と通知してもよい。この場合、Task Description に含まれるパーシステントストレージ62の場所を示すURL(RecoveryObjectURLs)に、状態回復情報の更新分が、タスクの停止が検知されるか、チャンク転送が強制停止されるまで、延々と列挙される。
 ステップS55において、ワークフロー管理サービス51は、遷移先候補となる複数のサーバ52のケーパビリティを取得し、適切な遷移先を選定(判断)する。具体的には、ワークフロー管理サービス51は、遷移先候補となる複数のサーバ52に対して、MPE Capabilities Description Document を リクエストボディに付けた HTTP GET RetrieveCapabilitiesを発行することで、各サーバ52のケーパビリティを取得する。
 MPE APIであるRetrieveCapabilitiesのCapabilities descriptorには、上述したように、persistence-storage-url及びconnectivityのパラメータが含まれる。persistence-storage-urlパラメータは、パーシステントストレージが有る場合のパーシステントストレージのURLであり、connectivityパラメータは、データ転送相手である他のサーバ52との間の接続性能である。
 図5は、connectivityパラメータの詳細を説明する図である。
 図5の上段のテーブルは、connectivityパラメータの具体的構成例を示すconnectivityオブジェクトの詳細を示している。
 connectivityオブジェクトは、id, url, forward, returnの項目を有する。データタイプ(Type)については、“P”がパラメータを表し、“O”がオブジェクトを表す。出現数(Cardinality)については、“1”はその項目が必須であることを表し、“0-1”は、その項目があってもなくてもよく、その項目がある場合は1個に限定されることを表す。
 したがって、項目id, urlのデータタイプは、パラメータであり、項目forward, returnのデータタイプはオブジェクトである。項目idは必須であるが、項目url, forward, returnはあってもなくてもよい(オプショナルである)。
 項目idは、データ転送相手であるターゲットのサーバ52のidを表す。
 項目urlは、ターゲットのサーバ52のURL(Uniform Resource Locator)を表す。
 項目forwardは、ターゲットへ向けたデータ転送のケーパビリティを表す。
 項目returnは、ターゲットからのデータ転送のケーパビリティを表す。
 図5の下段のテーブルは、項目forward及びreturnの具体的構成例を示すforward及びreturnオブジェクトの詳細を示している。
 forward及びreturnオブジェクトは、それぞれ、min-delay, max-throughput, averaging-windowの項目を有する。
 min-delayは、データ転送の最少遅延時間を表す。単位はミリ秒(millisecond)である。
 max-throughputは、データ転送の最大速度を表す。単位は、ビット/秒(bits per second)である。
 averaging-windowは、データ転送の最大速度を算出したときの平均化ウィンドウの長さを表す。単位は、マイクロ秒(microsecond)である。
 ステップS55では、ワークフロー管理サービス51は、遷移先候補となる複数のサーバ52についてMPE Capabilities Description Documentを取得し、それに含まれるconnectivityパラメータが示す、他のサーバ52との間の接続性能を取得する。そして、ワークフロー管理サービス51は、取得したconnectivityパラメータに基づいて、適切な遷移先を選定する。ここで、適切な遷移先として遷移先サーバ52Bが選定される。
 ステップS56において、ワークフロー管理サービス51は、選定した遷移先サーバ52B上でメディア処理タスク61Bを起動させる。これにより、ステップS57において、遷移先サーバ52B上でメディア処理タスク61Bが起動する。
 上述したステップS52における状態回復情報の退避とタスク停止の指示と、上述したステップS55及びS56における適切な遷移先の選定及びタスク起動は、どちらの処理を先に実行してもよいし、並行して実行することができる。換言すれば、遷移元サーバ52Aが状態回復情報をパーシステントストレージ62へ保存している間に、遷移先サーバ52B上でメディア処理タスク61Bが予め起動される。
 遷移元サーバ52Aによる状態回復情報のパーシステントストレージ62への保存が終了し、タスクが停止すると、ステップS58において、遷移元サーバ52Aの制御部は、Task APIのUpdateTaskのレスポンスとして、タスクの停止をワークフロー管理サービス51に通知する。また、このタスク停止とともに、状態回復情報(リカバリオブジェクト)の保存場所(URL)と、状態回復情報のデータ容量も、ワークフロー管理サービス51に通知される。状態回復情報のデータ容量はバイト単位で記述される。
 ステップS58における、タスク停止と、状態回復情報の保存場所及びデータ容量の通知は、上述したように、Task APIのUpdateTaskのレスポンスとして行ってもよし、ステップS51のMPE APIのSelectCapabilitiesのレスポンスとして行ってもよい。
 MPE APIのSelectCapabilitiesのレスポンスとして行うようにする場合、ワークフロー管理サービス51は、例えば、MPE Capabilities Descriptionに含まれるEvents Descriptorを用いて、タスク終了時に状態回復情報のデータ容量を通知するように指定することができる。具体的には、Eventsオブジェクトは、ISO/IEC 23090-8:2020 に規定されているように、イベントのname(名前)、definition(定義)、url(場所)の各パラメータを有する。ワークフロー管理サービス51は、イベントのnameに、状態回復情報の退避処理を行ったタスク、即ち、メディア処理タスク61Aのタスクidを格納し、definitionには、そのメディア処理タスク61Aがパーシステントストレージ62へ保存した状態回復情報のデータ容量を格納し、urlには、ワークフロー管理サービス51が指定するデータ容量の通知先を示すURLを格納するように指定する。このURLが示すデータ容量の通知先は、ワークフロー管理サービス51としても良いし、状態回復情報を取得する遷移元サーバ52Aとしてもよい。
 ワークフロー管理サービス51は、遷移元サーバ52Aから、タスク停止と、状態回復情報の保存場所及びデータ容量の通知を取得すると、ステップS59において、ワークフローの更新を行う。具体的には、ワークフロー管理サービス51は、ソース71から出力される映像ストリームが遷移先サーバ52Bへ転送されるようにワークフローを変更する。また、ステップS59において、ワークフロー管理サービス51は、パーシステントストレージ62に保存された状態回復情報のデータ容量と、パーシステントストレージ62と遷移先サーバ52Bとの間のデータ転送速度とを勘案し、遷移先サーバ52Bのメディア処理タスク61Bにおいて状態回復の可否を判断する。状態回復情報のデータ容量は、ステップS58においてタスク停止とともに通知され、パーシステントストレージ62と遷移先サーバ52Bとの間のデータ転送速度は、遷移先サーバ52Bのconnectivityパラメータから認識することができる。
 ワークフロー管理サービス51は、状態回復の可否、すなわち、メディア処理タスク61Bがメディア処理タスク61Aの状態を回復し、シームレスに処理を継続することができるか否かを判断し、遷移先サーバ52Bのメディア処理タスク61Bへ処理開始を指示する。具体的には、ワークフロー管理サービス51は、遷移先サーバ52Bのメディア処理タスク61Bに対して、Task Description Document をリクエストボディに付けた HTTP PATCH UpdateTaskを発行することで、処理開始を指示する。その際、ワークフロー管理サービス51は、Task APIであるUpdateTaskのパラメータとして、状態回復情報保存場所情報であるパーシステントストレージ62のURL(persistence-storage-url)と、継続可否フラグとをUpdateTaskに含める。継続可否フラグは、シームレスに処理を継続することができると判断した場合、ワークフロー管理サービス51は、例えば、継続処理を表す“1”を設定し、シームレスに処理を継続することができないと判断した場合、所定の開始点から処理を開始する非継続処理を表す“0”を設定する。
 遷移先サーバ52Bのメディア処理タスク61Bは、ステップS60において、ワークフロー管理サービス51からのUpdateTaskを取得して、処理を開始する。具体的には、UpdateTaskの継続可否フラグが継続処理を示している場合、メディア処理タスク61Bは、パーシステントストレージ62の状態回復情報を取得し、状態を回復した後、メディア処理タスク61Aの中断地点からシームレスに処理を開始する。一方、UpdateTaskの継続可否フラグが非継続処理を示している場合、メディア処理タスク61Bは、パーシステントストレージ62の状態回復情報を取得して、所定の開始点から処理を開始する。
 ネットワークベースのメディア処理に対応したタスク遷移制御処理は、以上のように実行することができる。制御処理システム50によるタスク遷移制御処理により、処理の連続性が必要なメディア処理タスクを、遷移元サーバ52Aと遷移先サーバ52Bのサーバ間で遷移させることができる。
<5.シームレス処理継続決定処理>
 次に、図6のフローチャートを参照して、ワークフロー管理サービス51が行うシームレス処理継続決定処理の詳細について説明する。この処理は、図4のタスク遷移制御処理におけるワークフロー管理サービス51のステップS55乃至S59の処理に対応する。
 ステップS101において、ワークフロー管理サービス51は、遷移先候補となる複数のサーバ52から、ケーパビリティを取得する。遷移先候補となる1以上のサーバ52としては、例えば、ソース71近傍のエッジサーバ、出力先73近傍のエッジサーバなどが相当する。
 ステップS102において、ワークフロー管理サービス51は、取得したケーパビリティに基づき、遷移先候補の複数のサーバ52の中かから、適切なサーバ52を選定(判断)する。
 ステップS103において、ワークフロー管理サービス51は、選定したサーバ52上で、遷移元サーバ52Aで実行中のメディア処理タスク61Aと同じタスクを起動させる。遷移先サーバ52Bで起動されたタスクが、メディア処理タスク61Bである。
 ステップS104において、ワークフロー管理サービス51は、遷移元サーバ52Aの制御部またはメディア処理タスク61Aから、タスクの停止と、状態回復情報の保存場所及びデータ容量の通知を取得する。
 ワークフロー管理サービス51は、タスク停止と、状態回復情報の保存場所及びデータ容量の通知を取得すると、ステップS105において、遷移先サーバ52Bのメディア処理タスク61Bにおいてシームレスな処理継続が可能か否かを判断する。状態回復情報のデータ容量と、遷移先サーバ52Bのconnectivityパラメータから認識される、パーシステントストレージ62と遷移先サーバ52Bとの間のデータ転送速度(スループット)及び遅延時間(レイテンシ)とに基づき、シームレスな処理継続が可能であるかが判断される。
 ステップS105で、シームレスな処理継続が可能であると判断された場合、処理はステップS106に進み、ワークフロー管理サービス51は、遷移先サーバ52Bのメディア処理タスク61Bに、状態回復と、シームレスな処理継続を指示する。
 一方、ステップS105で、シームレスな処理継続が可能ではないと判断された場合、処理はステップS107に進み、ワークフロー管理サービス51は、遷移先サーバ52Bのメディア処理タスク61Bに、代替の開始点からの処理開始を指示する。
 以上により、ワークフロー管理サービス51によるシームレス処理継続決定処理が終了し、遷移先サーバ52Bのメディア処理タスク61Bは、パーシステントストレージ62に保存された状態回復情報に基づく状態回復を行った後、シームレスな処理継続を開始するか、または、所定の開始点から処理を開始することができる。これにより、処理の連続性が必要なメディア処理タスクを、遷移元サーバ52Aと遷移先サーバ52Bのサーバ間で遷移させることができる。
<6.リカバリオブジェクトのデータ構造>
 図7および図8を参照して、状態回復情報が保存されるリカバリオブジェクトのデータ構造について説明する。
 図7は、リカバリオブジェクトのデータ構造を示す図である。
 リカバリオブジェクトは、以下の1)乃至3)のデータを有する。
1)サーバID/タスクID/時刻情報
2)スキームID
3)スキームID依存データ
 サーバIDには、サーバ52に固有に割り当てられたidが格納される。タスクIDには、メディア処理タスクに固有に割り当てられたidが格納される。時刻情報には、例えば、UTC(協定世界時:Coordinated Universal Time)や、各タイムゾーンの標準時の時刻であるローカル時刻(LT:Local Time)で規定される時刻情報が格納される。
 スキームIDには、メディア処理タスクの種別を表す文字列(URI:Uniform Resource Identifier)が格納される。例えば、NBMP reference function の nbmp-brand (urn)をスキームIDとして格納することができる。
 スキームID依存データには、スキームIDに依存したデータ、換言すれば、メディア処理タスクの内容ごとに異なるデータが格納される。
 図8は、スキームIDが示すメディア処理タスクが、ビデオエンコード処理である場合と、映像のビデオエンコード/トランスコード処理及びセグメント生成処理である場合の、スキームID依存データの例を示している。
 スキームIDが示すメディア処理タスクがビデオエンコード処理である場合、以下のデータが、スキームID依存データとして、リカバリオブジェクトに格納される。
・alternative_input_reference :シームレスに処理継続できない場合に処理開始時に次に取得すべき入力データの参照情報
・encoding_structure :エンコード時のGOP(group of picture)/cvs(coded video sequence)のピクチャ参照構造(例えば、入力順の番号を出力順に並べ替えたもの)
・input_picture_reference : 処理継続時に次に取得すべき入力データの参照情報(例えば、メディアファイフォ72などのFIFOバッファのポインタ情報)
・output_data_reference :出力済データの参照情報(例えば、出力した最後のピクチャ/フレームのGOP/cvs内シーケンス番号)
・num_reference_data 処理継続に必要な参照ピクチャの数
・reference_data_offset[]:各参照ピクチャのオフセット
・encoded_reference_data :処理継続に必要な各参照ピクチャのデータ(参照ピクチャの数分)
 各参照ピクチャのデータは、ピクチャデータ全体の先頭からのバイトオフセット値によって示される。
 スキームIDが示すメディア処理タスクがセグメント生成処理を含む場合、以下のデータが、スキームID依存データとして、リカバリオブジェクトに格納される。
・alternative_input_reference :シームレスに処理継続できない場合に処理開始時に次に取得すべき入力データの参照情報
・encoding_structure :セグメントのGOP(group of picture)/cvs(coded video sequence)のピクチャ参照構造(例えば、入力順の番号を出力順に並べ替えたもの)
・input_data_reference :処理継続時に次に取得すべき入力データの参照情報(例えば、メディアファイフォ72などのFIFOバッファのポインタ情報)
・segment_header:生成中のセグメントヘッダ(MP4のmoof box(Movie Fragment Box)を含む)
・encoded_data :既にエンコード済みのデータ(mdat(Media Data Box)相当のセグメント内の生成済みサンプル数とサンプルデータ)
 segment_header及びencoded_dataは、セグメント内の処理済みデータに相当する。
<7.コンピュータの構成例>
 上述したワークフロー管理サービス51またはおよびサーバ52が行う一連の処理は、ハードウェアにより実行することもできるし、ソフトウェアにより実行することもできる。一連の処理をソフトウェアにより実行する場合には、そのソフトウェアを構成するプログラムが、コンピュータにインストールされる。ここで、コンピュータには、専用のハードウェアに組み込まれているマイクロコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどが含まれる。
 図9は、上述した一連の処理をプログラムにより実行する情報処理装置としてのコンピュータのハードウェアの構成例を示すブロック図である。
 コンピュータにおいて、CPU(Central Processing Unit)501,ROM(Read Only Memory)502,RAM(Random Access Memory)503は、バス504により相互に接続されている。
 バス504には、さらに、入出力インタフェース505が接続されている。入出力インタフェース505には、入力部506、出力部507、記憶部508、通信部509、及びドライブ510が接続されている。
 入力部506は、キーボード、マウス、マイクロホン、タッチパネル、入力端子などよりなる。出力部507は、ディスプレイ、スピーカ、出力端子などよりなる。記憶部508は、ハードディスク、RAMディスク、不揮発性のメモリなどよりなる。通信部509は、ネットワークインタフェースなどよりなる。ドライブ510は、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブル記録媒体511を駆動する。
 以上のように構成されるコンピュータでは、CPU501が、例えば、記憶部508に記憶されているプログラムを、入出力インタフェース505及びバス504を介して、RAM503にロードして実行することにより、上述した一連の処理が行われる。RAM503にはまた、CPU501が各種の処理を実行する上において必要なデータなども適宜記憶される。
 コンピュータ(CPU501)が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブル記録媒体511に記録して提供することができる。また、プログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供することができる。
 コンピュータでは、プログラムは、リムーバブル記録媒体511をドライブ510に装着することにより、入出力インタフェース505を介して、記憶部508にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部509で受信し、記憶部508にインストールすることができる。その他、プログラムは、ROM502や記憶部508に、あらかじめインストールしておくことができる。
<8.クラウドコンピューティングの構成例>
 上述したメディア処理システム1および制御処理システム50並びにそれらによる情報処理方法を含む本明細書に記載の方法およびシステムは、コンピュータソフトウェア、ファームウェア、ハードウェア、または、それらの組み合わせもしくはサブセットを含むコンピュータプログラミングまたはエンジニアリング技術を用いて実現することができる。
 図10は、本明細書に記載の各種の実施の形態を実現することができるコンピュータおよびクラウドコンピューティングのブロック図を示している。
 本開示は、システム、方法、および/または、コンピュータプログラムとして実現することができる。コンピュータプログラムは、コンピュータ読み取り可能な記憶媒体を含むことができ、コンピュータ読み取り可能な記憶媒体には、本実施形態の態様を1または複数のプロセッサに実行させるコンピュータ読み取り可能なプログラム命令が記録されている。
 コンピュータ読み取り可能な記憶媒体は、命令実行デバイス(プロセッサ)で使用するための命令を格納することができる有形のデバイスとすることができる。コンピュータ読み取り可能な記憶媒体は、例えば、電子記憶装置、磁気記憶装置、光学記憶装置、電磁記憶装置、半導体記憶装置、または、それらの装置の任意の適切な組み合わせとすることができるが、それらに限定されない。コンピュータ読み取り可能な記憶媒体のより具体的な例には、以下のそれぞれ(および適切な組み合わせ)が含まれる:フレキシブルディスク、ハードディスク、SSD(solid state drive)、RAM(random access memory)、ROM(read only memory)、EPROM(erasable and programmable read only memory)or Flash(フラッシュメモリ)、SRAM(static random access memory)、コンパクトディスク(CDまたはCD-ROM)、DVD(digital versatile disc)、カード型またはスティック型のメモリ。本開示で使用されるようなコンピュータ読み取り可能な記憶媒体は、電波または他の自由に伝播する電磁波、導波管または他の伝送媒体(例えば、光ファイバーケーブルを通る光パルス)を介して伝播する電磁波、または、ワイヤを介して送信される電気信号、などの一時的な信号自体であると解釈されるものではない。
 本開示のコンピュータ読み取り可能なプログラム命令は、コンピュータ読み取り可能な記憶媒体から、適切なコンピューティングデバイスまたはプロセッシングデバイスにダウンロードされたり、例えばインターネットなどのグローバルネットワーク、ローカルエリアネットワーク、ワイドエリアネットワーク、および/または、ワイヤレスネットワークを介して、外部のコンピュータまたは外部の記憶装置にダウンロードされ得る。ネットワークには、銅伝送線、光通信ファイバ、ワイヤレス伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイコンピュータ、および/または、エッジサーバなどがある。コンピューティングデバイスまたはプロセッシングデバイス内のネットワークアダプタカードまたはネットワークインタフェースは、ネットワークからのコンピュータ読み取り可能なプログラム命令を受信して、そのコンピュータ読み取り可能なプログラム命令を転送して、コンピューティングデバイスまたはプロセッシングデバイス内のコンピュータ読み取り可能な記憶媒体に記憶することができる。
 本開示の処理を実行するコンピュータ読み取り可能なプログラム命令には、機械語命令、および/または、マイクロコードが含まれ、それらは、アッセンブリ言語、Basic, Fortran, Java(登録商標), Python, R, C, C++, C#、もしくは類似のプログラム言語を含む1または複数のグログラム言語の任意の組み合わせで記述されたソースコードからコンパイルまたは解釈される。コンピュータ読み取り可能なプログラム命令は、ユーザのパーソナルコンピュータ、ノートブックコンピュータ、タブレット、または、スマートフォン上で完全に実行することができ、遠隔のコンピュータもしくはコンピュータサーバ、または、これらのコンピューティングデバイスの任意の組み合わせ上でも完全に実行することができる。遠隔のコンピュータまたはコンピュータサーバは、ユーザのデバイス、または、ローカルエリアネットワーク、ワイドエリアネットワーク、グローバルネットワーク(例えばインターネット)などのコンピュータネットワークを介したデバイスと接続されてもよい。本開示の態様を実現するために、例えば、プログラマブルロジック回路、FPGA(field-programmable gate arrays)、PLA(programmable logic arrays)を含む電気回路が、電子回路を構成またはカスタマイズするコンピュータ読み取り可能なプログラム命令からの情報を使用して、コンピュータ読み取り可能なプログラム命令を実行することができる実施の形態もある。
 本開示の態様は、本開示の実施形態による方法、装置(システム)、およびコンピュータプログラムのフロー図およびブロック図を参照して本明細書で説明される。フロー図およびブロック図の各ブロック、ならびに、フロー図およびブロック図におけるブロックの組み合わせがコンピュータ読み取り可能なプログラム命令によって実現できることは当業者には理解されるであろう。
 本開示に記載されたシステムおよび方法を実行することができるコンピュータ読み取り可能なプログラム命令は、装置を製造するための汎用コンピュータ、専用コンピュータ、または他のプログラム可能装置の1または複数のプロセッサ(および/またはプロセッサ内の1または複数のコア)で利用される。コンピュータまたは他のプログラム可能装置のプロセッサを介してプログラム命令が実行されることにより、本開示のフロー図およびブロック図で記載された機能を実現するためのシステムが作成される。これらのコンピュータ読み取り可能なプログラム命令はまた、コンピュータ、プログラマブル装置、および/または他のデバイスに特定の方法で機能するように指示することができるコンピュータ読み取り可能な記憶媒体に格納され得る。したがって、命令が格納されたコンピュータ読み取り可能な記憶媒体は、本開示のフロー図およびブロック図で特定された機能の態様を実現する命令が含まれる製造物品である。
 コンピュータ読み取り可能なプログラム命令はまた、コンピュータ、他のプログラマブル装置、または他のデバイスにロードされて、コンピュータ、他のプログラマブル装置または他のデバイス上で一連の操作ステップを実行し、コンピュータの処理結果を生成する。プログラム命令が、コンピュータ、他のプログラマブル装置、または他のデバイス上で実行されることにより、本開示のフロー図およびブロック図で特定された機能が実現される。
 図10は、1または複数のコンピュータやサーバなどがネットワークを介して接続されたネットワークシステム800の機能ブロック図である。なお、図10の実施の形態で示されているハードウェアおよびソフトウェア環境は、本開示によるソフトウェアおよび/または方法を実現するためのプラットフォームを提供する一例として示されている。
 図10に示すように、ネットワークシステム800は、コンピュータ805、ネットワーク810、リモートコンピュータ815、ウェブサーバ820、クラウドストレージサーバ825、およびコンピュータサーバ830を含むことができるが、これに限られない。ある実施の形態では、図10に示される1または複数の機能ブロックのうちの複数のインスタンスが使用される。
 図10には、コンピュータ805のより詳細な構成が図示されている。なお、コンピュータ805内に示されている機能ブロックは、例示的な機能を確立するために図示されており、全てを図示するものではない。また、リモートコンピュータ815、ウェブサーバ820、クラウドストレージサーバ825、およびコンピュータサーバ830の詳細な構成は図示されていないが、これらは、コンピュータ805について示されている機能ブロックと同様の構成を含むことができる。
 コンピュータ805としては、パーソナルコンピュータ(PC)、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、ネットブックコンピュータ、携帯情報端末(PDA)、スマートフォン、または、ネットワーク810上の他のデバイスと通信可能な他のプログラム可能な任意の電子デバイスを用いることができる。
 そして、コンピュータ805は、プロセッサ835、バス837、メモリ840、不揮発性ストレージ845、ネットワークインタフェース850、周辺機器インタフェース855、および、ディスプレイインターフェース865を備えて構成される。これらの機能の各々は、ある実施の形態では、個々の電子サブシステム(集積回路チップまたはチップと関連デバイスの組み合わせ)として実装され、他の実施形態では、いくつかの機能が組み合わせられて単一チップ(システムオンチップまたはSoC(System on Chip))として実装されてもよい。
 プロセッサ835は、例えば、Intel Corporation, Advanced Micro Devices, Inc.(AMD), Arm Holdings(Arm), Apple Computerなどにより設計および/または製造されるような、1または複数のシングルまたはマルチチップのマイクロプロセッサとすることができる。マイクロプロセッサの例としては、Intel Corporation製のCeleron, Pentium(登録商標), Core i3, Core i5やCore i7、AMD製のOpteron, Phenom, Athlon, TurionやRyzen、Arm製のCortex-A, Cortex-RやCortex-Mが挙げられる。
 バス837は、例えば、ISA,PCI,PCI Express(PCI-e),AGPなどの、独自仕様または業界標準の高速パラレルまたはシリアル周辺相互接続バスを採用することができる。
 メモリ840および不揮発性ストレージ845は、コンピュータが読み取り可能なストレージ媒体である。メモリ840は、DRAM(Dynamic Random Access Memory)やSRAM(Static RAM)などの任意の適切な揮発性ストレージデバイスを採用することができる。不揮発性ストレージ845は、フレキシブルディスク、ハードディスク、SSD(Solid State Drive)、ROM(Read Only Memory)、EPROM(Erasable and Programmable Read Only Memory)、フラッシュメモリ、コンパクトディスク(CDまたはCD-ROM)、DVD(Digital Versatile Disc)、カード型メモリ、またはスティック型メモリのうち、1つ以上を採用することができる。
 また、プログラム848は、機械読み取り可能命令および/またはデータの集合である。この集合は、不揮発性ストレージ845に格納され、本開示で詳細に説明したり、図面に記載した特定のソフトウェア機能を作成、管理、および制御するために使用される。なお、メモリ840が不揮発性ストレージ845よりも非常に高速である構成では、プログラム848を、プロセッサ835により実行される前に、不揮発性ストレージ845からメモリ840に転送することができる。
 コンピュータ805は、ネットワークインタフェース850を介して、ネットワーク810を介した他のコンピュータとの通信および相互作用をすることができる。ネットワーク810は、例えば、LAN(Local Area Network)、インターネットなどのWAN(Wide Area Network)、または、LANおよびWANの組み合わせで、有線、無線、または光ファイバー接続が含まれた構成を採用することができる。一般に、ネットワーク810は、2つ以上のコンピュータと関連デバイス間の通信をサポートする接続およびプロトコルの任意の組み合わせからなる。
 周辺機器インタフェース855は、コンピュータ805にローカルに接続され得る他のデバイスとのデータの入出力を行うことができる。例えば、周辺機器インタフェース855は、外部デバイス860への接続を提供する。外部デバイス860には、キーボード、マウス、キーパッド、タッチスクリーン、および/または、その他の適切な入力デバイスが用いられる。外部デバイス860は、例えば、サムドライブ、ポータブル光学ディスクまたは磁気ディスク、およびメモリカードなどのポータブルコンピュータ可読記憶媒体も含み得る。本開示の実施の形態を実現するソフトウェアおよびデータ、例えば、プログラム848は、そのようなポータブルコンピュータ可読記憶媒体に記憶されてもよい。そのような実施形態では、ソフトウェアは、不揮発性ストレージ845上にロードされてもよいし、代わりに、周辺機器インタフェース855を介してメモリ840上に直接ロードされてもよい。周辺機器インタフェース855は、外部デバイス860との接続に、RS-232またはUSB(Universal Serial Bus)などの業界標準を使用してもよい。
 ディスプレイインターフェース865は、コンピュータ805をディスプレイ870に接続することができ、ディスプレイ870を使用して、コマンドラインまたはグラフィカルユーザインターフェースを、コンピュータ805のユーザに提示する形態もある。ディスプレイインターフェース865は、VGA(Video Graphics Array)や、DVI(Digital Visual Interface)、DisplayPort、HDMI(High-Definition Multimedia Interface)(登録商標)などの業界標準または専用の接続の1つまたは複数を使用して、ディスプレイ870と接続することができる。
 上述のように、ネットワークインタフェース850は、他のコンピュータやストレージシステム、または、コンピュータ805の外部のデバイスとの通信を提供する。本明細書で説明するソフトウェアプログラムおよびデータは、例えば、リモートコンピュータ815、ウェブサーバ820、クラウドストレージサーバ825、およびコンピュータサーバ830から、不揮発性ストレージ845へ、ネットワークインタフェース850およびネットワーク810を介してダウンロードすることができる。さらに、本開示のシステムおよび方法は、ネットワークインタフェース850およびネットワーク810を介してコンピュータ805と接続された1または複数のコンピュータにより実行することができる。例えば、ある実施の形態では、本開示のシステムおよび方法が、リモートコンピュータ815、コンピュータサーバ830、または、ネットワーク810上の相互接続された複数のコンピュータの組み合わせによって実行される。
 本開示のシステムおよび方法の実施の形態で採用されるデータ、データセット、および/または、データベースは、リモートコンピュータ815、ウェブサーバ820、クラウドストレージサーバ825、および、コンピュータサーバ830からダウンロードして、格納することができる。
 ここで、本明細書において、コンピュータがプログラムに従って行う処理は、必ずしもフローチャートとして記載された順序に沿って時系列に行われる必要はない。すなわち、コンピュータがプログラムに従って行う処理は、並列的あるいは個別に実行される処理(例えば、並列処理あるいはオブジェクトによる処理)も含む。
 また、プログラムは、1のコンピュータ(プロセッサ)により処理されるものであっても良いし、複数のコンピュータによって分散処理されるものであっても良い。さらに、プログラムは、遠方のコンピュータに転送されて実行されるものであっても良い。
 さらに、本明細書において、システムとは、複数の構成要素(装置、モジュール(部品)等)の集合を意味し、すべての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、及び、1つの筐体の中に複数のモジュールが収納されている1つの装置は、いずれも、システムである。
 また、例えば、1つの装置(または処理部)として説明した構成を分割し、複数の装置(または処理部)として構成するようにしてもよい。逆に、以上において複数の装置(または処理部)として説明した構成をまとめて1つの装置(または処理部)として構成されるようにしてもよい。また、各装置(または各処理部)の構成に上述した以外の構成を付加するようにしてももちろんよい。さらに、システム全体としての構成や動作が実質的に同じであれば、ある装置(または処理部)の構成の一部を他の装置(または他の処理部)の構成に含めるようにしてもよい。
 なお、本実施の形態は、上述した実施の形態に限定されるものではなく、本開示の要旨を逸脱しない範囲において種々の変更が可能である。本明細書に記載された効果はあくまで例示であって限定されるものではなく、本明細書に記載されたもの以外の効果があってもよい。
 なお、本開示の技術は、以下の構成を取ることができる。
(1)
 一つまたは複数のサーバで実行される複数のメディア処理タスクを管理するタスク管理部を備え、
 前記タスク管理部は、前記複数のサーバの一つである第1のサーバで実行されているメディア処理タスクを前記第1のサーバとは別の第2のサーバに遷移させる場合に、遷移先候補となる複数のサーバのケーパビリティを取得し、
 前記ケーパビリティは、前記メディア処理タスクの実行状態に依存せず前記メディア処理タスクのデータを保存可能なパーシステントストレージの有無と、その場所情報を含む
 処理システム。
(2)
 前記ケーパビリティは、前記パーシステントストレージのデータ容量をさらに含む
 前記(1)に記載の処理システム。
(3)
 前記ケーパビリティは、他の各サーバとのスループット及びレイテンシをさらに含む
 前記(1)または(2)に記載の処理システム。
(4)
 前記タスク管理部は、前記パーシステントストレージを有するサーバに対して、前記第1のサーバで実行されているメディア処理タスクを継続実行するための状態回復情報の保存場所情報である状態回復情報保存場所情報を通知する
 前記(1)乃至(3)のいずれかに記載の処理システム。
(5)
 前記パーシステントストレージを有するサーバは、遷移対象のメディア処理タスクを実行中の前記第1のサーバであり、
 前記タスク管理部は、前記状態回復情報保存場所情報を前記第1のサーバに通知する
 前記(4)に記載の処理システム。
(6)
 前記第1のサーバの前記メディア処理タスクは、前記メディア処理タスクを継続実行するための状態回復情報を、前記タスク管理部から通知されたパーシステントストレージに保存する
 前記(1)乃至(5)のいずれかに記載の処理システム。
(7)
 前記第1のサーバは、遷移させる前記メディア処理タスクが停止したこと、及び、遷移させる前記メディア処理タスクを継続実行するための状態回復情報のデータ容量を、前記タスク管理部に通知する
 前記(1)乃至(6)のいずれかに記載の処理システム。
(8)
 前記タスク管理部は、前記第1のサーバで実行されている前記メディア処理タスクを遷移させる場合に、取得した遷移先候補のケーパビリティに基づいて、前記第2のサーバを選定する
 前記(1)乃至(7)のいずれかに記載の処理システム。
(9)
 前記タスク管理部は、選定した前記第2のサーバに、前記第1のサーバで実行されている前記メディア処理タスクと同じタスクを予め起動させる
 前記(8)に記載の処理システム。
(10)
 前記タスク管理部は、選定した前記第2のサーバに、遷移させる前記メディア処理タスクを継続実行するための状態回復情報の保存場所情報である状態回復情報保存場所情報を通知し、前記メディア処理タスクの処理開始を指示する
 前記(8)または(9)に記載の処理システム。
(11)
 前記タスク管理部は、選定した前記第2のサーバにタスクの処理開始を指示する際、前記メディア処理タスクをシームレスに処理継続するか、または、所定の開始点から処理を開始する非継続処理するかを指示する
 前記(10)に記載の処理システム。
(12)
 前記タスク管理部は、前記状態回復情報の保存場所と前記第2のサーバとの間のデータ転送速度と、前記状態回復情報のデータ容量とに基づいて、前記メディア処理タスクを処理継続するか、または、所定の開始点から処理を開始する非継続処理するかを指示する
 前記(11)に記載の処理システム。
(13)
 前記第2のサーバの前記メディア処理タスクは、遷移させる前記メディア処理タスクを継続実行するための状態回復情報の保存場所情報である状態回復情報保存場所情報と、遷移させる前記メディア処理タスクをシームレスに処理継続するか、または、所定の開始点から処理を開始する非継続処理するかのフラグを、前記タスク管理部から取得し、前記フラグに基づいて前記メディア処理タスクを実行する
 前記(1)乃至(12)のいずれかに記載の処理システム。
(14)
 前記第1のサーバの前記メディア処理タスクは、遷移させる前記メディア処理タスクを継続実行するための状態回復情報を、前記タスク管理部から指定されたパーシステントストレージに保存し、
 遷移対象のメディア処理タスクがビデオエンコード処理を含む場合、
 前記状態回復情報は、シームレスに処理継続できない場合に処理開始時に次に取得すべき入力データの参照情報、エンコード時のピクチャ参照構造、処理継続時に次に取得すべき入力データの参照情報、出力済データの参照情報、または、処理継続に必要な参照ピクチャの数と各参照ピクチャのデータ、の少なくとも1つを含み、
 各参照ピクチャのデータは、ピクチャデータ全体の先頭からのバイトオフセット値によって示される
 前記(1)乃至(13)のいずれかに記載の処理システム。
(15)
 前記第1のサーバの前記メディア処理タスクは、遷移させる前記メディア処理タスクを継続実行するための状態回復情報を、前記タスク管理部から指定されたパーシステントストレージに保存し、
 遷移対象のメディア処理タスクがセグメント生成処理を含む場合、
 前記状態回復情報は、シームレスに処理継続できない場合に処理開始時に次に取得すべき入力データの参照情報、セグメントのピクチャ参照構造、処理継続時に次に取得すべき入力データの参照情報、または、セグメント内の処理済みデータ、の少なくとも1つを含み、
  前記セグメント内の処理済みデータは、生成中のセグメントヘッダと、セグメント内の生成済みサンプル数とサンプルデータを含む
 前記(1)乃至(14)のいずれかに記載の処理システム。
(16)
 一つまたは複数のサーバで実行される複数のメディア処理タスクを管理するタスク管理部を備え、
 前記タスク管理部は、前記複数のサーバの一つである第1のサーバで実行されているメディア処理タスクを前記第1のサーバとは別の第2のサーバに遷移させる場合に、前記第1のサーバで実行中のメディア処理タスクを実行させる候補となる複数のサーバのケーパビリティを取得し、
 前記ケーパビリティは、タスクに依存せずタスクのデータを保存可能なパーシステントストレージの有無と、その場所情報を含む
 情報処理装置。
(17)
 一つまたは複数のサーバで実行される複数のメディア処理タスクを管理する情報処理装置のタスク管理部が、前記複数のサーバの一つである第1のサーバで実行されているメディア処理タスクを前記第1のサーバとは別の第2のサーバに遷移させる場合に、前記第1のサーバで実行中のメディア処理タスクを実行させる候補となる複数のサーバのケーパビリティを取得し、
 前記ケーパビリティは、タスクに依存せずタスクのデータを保存可能なパーシステントストレージの有無と、その場所情報を含む
 情報処理方法。
 1 メディア処理システム, 21 カメラ, 22 端末, 23 5Gネットワーク, 31(31A乃至31D) 基地局, 32(32A乃至32D) エッジサーバ, 33 プロダクションシステム, 42 サーバ, 50 制御処理システム, 51 ワークフロー管理サービス, 52(52A,52B) サーバ, 61(61A,61B) メディア処理タスク, 62 パーシステントストレージ, 71 ソース, 72 メディアファイフォ, 73(73A,73B) 出力先, 501 CPU, 502 ROM, 505 入出力インタフェース, 506 入力部, 507 出力部, 508 記憶部, 509 通信部, 510 ドライブ, 511 リムーバブル記録媒体

Claims (17)

  1.  一つまたは複数のサーバで実行される複数のメディア処理タスクを管理するタスク管理部を備え、
     前記タスク管理部は、前記複数のサーバの一つである第1のサーバで実行されているメディア処理タスクを前記第1のサーバとは別の第2のサーバに遷移させる場合に、遷移先候補となる複数のサーバのケーパビリティを取得し、
     前記ケーパビリティは、前記メディア処理タスクの実行状態に依存せず前記メディア処理タスクのデータを保存可能なパーシステントストレージの有無と、その場所情報を含む
     処理システム。
  2.  前記ケーパビリティは、前記パーシステントストレージのデータ容量をさらに含む
     請求項1に記載の処理システム。
  3.  前記ケーパビリティは、他の各サーバとのスループット及びレイテンシをさらに含む
     請求項1に記載の処理システム。
  4.  前記タスク管理部は、前記パーシステントストレージを有するサーバに対して、前記第1のサーバで実行されているメディア処理タスクを継続実行するための状態回復情報の保存場所情報である状態回復情報保存場所情報を通知する
     請求項1に記載の処理システム。
  5.  前記パーシステントストレージを有するサーバは、遷移対象のメディア処理タスクを実行中の前記第1のサーバであり、
     前記タスク管理部は、前記状態回復情報保存場所情報を前記第1のサーバに通知する
     請求項4に記載の処理システム。
  6.  前記第1のサーバの前記メディア処理タスクは、前記メディア処理タスクを継続実行するための状態回復情報を、前記タスク管理部から通知されたパーシステントストレージに保存する
     請求項1に記載の処理システム。
  7.  前記第1のサーバは、遷移させる前記メディア処理タスクが停止したこと、及び、遷移させる前記メディア処理タスクを継続実行するための状態回復情報のデータ容量を、前記タスク管理部に通知する
     請求項1に記載の処理システム。
  8.  前記タスク管理部は、前記第1のサーバで実行されている前記メディア処理タスクを遷移させる場合に、取得した遷移先候補のケーパビリティに基づいて、前記第2のサーバを選定する
     請求項1に記載の処理システム。
  9.  前記タスク管理部は、選定した前記第2のサーバに、前記第1のサーバで実行されている前記メディア処理タスクと同じタスクを予め起動させる
     請求項8に記載の処理システム。
  10.  前記タスク管理部は、選定した前記第2のサーバに、遷移させる前記メディア処理タスクを継続実行するための状態回復情報の保存場所情報である状態回復情報保存場所情報を通知し、前記メディア処理タスクの処理開始を指示する
     請求項8に記載の処理システム。
  11.  前記タスク管理部は、選定した前記第2のサーバにタスクの処理開始を指示する際、前記メディア処理タスクをシームレスに処理継続するか、または、所定の開始点から処理を開始する非継続処理するかを指示する
     請求項10に記載の処理システム。
  12.  前記タスク管理部は、前記状態回復情報の保存場所と前記第2のサーバとの間のデータ転送速度と、前記状態回復情報のデータ容量とに基づいて、前記メディア処理タスクを処理継続するか、または、所定の開始点から処理を開始する非継続処理するかを指示する
     請求項11に記載の処理システム。
  13.  前記第2のサーバの前記メディア処理タスクは、遷移させる前記メディア処理タスクを継続実行するための状態回復情報の保存場所情報である状態回復情報保存場所情報と、遷移させる前記メディア処理タスクをシームレスに処理継続するか、または、所定の開始点から処理を開始する非継続処理するかのフラグを、前記タスク管理部から取得し、前記フラグに基づいて前記メディア処理タスクを実行する
     請求項1に記載の処理システム。
  14.  前記第1のサーバの前記メディア処理タスクは、遷移させる前記メディア処理タスクを継続実行するための状態回復情報を、前記タスク管理部から指定されたパーシステントストレージに保存し、
     遷移対象のメディア処理タスクがビデオエンコード処理を含む場合、
     前記状態回復情報は、シームレスに処理継続できない場合に処理開始時に次に取得すべき入力データの参照情報、エンコード時のピクチャ参照構造、処理継続時に次に取得すべき入力データの参照情報、出力済データの参照情報、または、処理継続に必要な参照ピクチャの数と各参照ピクチャのデータ、の少なくとも1つを含み、
     各参照ピクチャのデータは、ピクチャデータ全体の先頭からのバイトオフセット値によって示される
     請求項1に記載の処理システム。
  15.  前記第1のサーバの前記メディア処理タスクは、遷移させる前記メディア処理タスクを継続実行するための状態回復情報を、前記タスク管理部から指定されたパーシステントストレージに保存し、
     遷移対象のメディア処理タスクがセグメント生成処理を含む場合、
     前記状態回復情報は、シームレスに処理継続できない場合に処理開始時に次に取得すべき入力データの参照情報、セグメントのピクチャ参照構造、処理継続時に次に取得すべき入力データの参照情報、または、セグメント内の処理済みデータ、の少なくとも1つを含み、
      前記セグメント内の処理済みデータは、生成中のセグメントヘッダと、セグメント内の生成済みサンプル数とサンプルデータを含む
     請求項1に記載の処理システム。
  16.  一つまたは複数のサーバで実行される複数のメディア処理タスクを管理するタスク管理部を備え、
     前記タスク管理部は、前記複数のサーバの一つである第1のサーバで実行されているメディア処理タスクを前記第1のサーバとは別の第2のサーバに遷移させる場合に、前記第1のサーバで実行中のメディア処理タスクを実行させる候補となる複数のサーバのケーパビリティを取得し、
     前記ケーパビリティは、タスクに依存せずタスクのデータを保存可能なパーシステントストレージの有無と、その場所情報を含む
     情報処理装置。
  17.  一つまたは複数のサーバで実行される複数のメディア処理タスクを管理する情報処理装置のタスク管理部が、前記複数のサーバの一つである第1のサーバで実行されているメディア処理タスクを前記第1のサーバとは別の第2のサーバに遷移させる場合に、前記第1のサーバで実行中のメディア処理タスクを実行させる候補となる複数のサーバのケーパビリティを取得し、
     前記ケーパビリティは、タスクに依存せずタスクのデータを保存可能なパーシステントストレージの有無と、その場所情報を含む
     情報処理方法。
PCT/JP2022/014265 2021-04-08 2022-03-25 処理システム、並びに、情報処理装置および方法 Ceased WO2022215549A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US18/552,189 US20240054009A1 (en) 2021-04-08 2022-03-25 Processing system, and information processing apparatus and method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US202163172146P 2021-04-08 2021-04-08
US63/172,146 2021-04-08

Publications (1)

Publication Number Publication Date
WO2022215549A1 true WO2022215549A1 (ja) 2022-10-13

Family

ID=83545439

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2022/014265 Ceased WO2022215549A1 (ja) 2021-04-08 2022-03-25 処理システム、並びに、情報処理装置および方法

Country Status (2)

Country Link
US (1) US20240054009A1 (ja)
WO (1) WO2022215549A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230008616A1 (en) * 2021-07-06 2023-01-12 Tencent America LLC Method and system for monitoring, reporting and notification of cloud platform system variables and events

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005083569A1 (ja) * 2004-02-26 2005-09-09 Nec Corporation ネットワーク間のプロセス移動方法およびそのネットワークシステム
WO2016166717A1 (en) * 2015-04-17 2016-10-20 Telefonaktiebolaget Lm Ericsson (Publ) Dynamic packager network based abr media distribution and delivery
WO2018109916A1 (ja) * 2016-12-15 2018-06-21 富士通株式会社 無線通信システム、無線接続管理装置、サーバ管理装置、及びエッジサーバ切替方法
US20200127861A1 (en) * 2019-09-28 2020-04-23 Kshitij Arum Doshi Decentralized edge computing transactions with fine-grained time coordination
WO2020166461A1 (ja) * 2019-02-15 2020-08-20 ソニー株式会社 情報処理装置、移動体装置、情報処理方法、及び情報処理プログラム
CN112463337A (zh) * 2020-12-08 2021-03-09 内蒙古大学 一种用于移动边缘计算环境下的工作流任务迁移方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005083569A1 (ja) * 2004-02-26 2005-09-09 Nec Corporation ネットワーク間のプロセス移動方法およびそのネットワークシステム
WO2016166717A1 (en) * 2015-04-17 2016-10-20 Telefonaktiebolaget Lm Ericsson (Publ) Dynamic packager network based abr media distribution and delivery
WO2018109916A1 (ja) * 2016-12-15 2018-06-21 富士通株式会社 無線通信システム、無線接続管理装置、サーバ管理装置、及びエッジサーバ切替方法
WO2020166461A1 (ja) * 2019-02-15 2020-08-20 ソニー株式会社 情報処理装置、移動体装置、情報処理方法、及び情報処理プログラム
US20200127861A1 (en) * 2019-09-28 2020-04-23 Kshitij Arum Doshi Decentralized edge computing transactions with fine-grained time coordination
CN112463337A (zh) * 2020-12-08 2021-03-09 内蒙古大学 一种用于移动边缘计算环境下的工作流任务迁移方法

Also Published As

Publication number Publication date
US20240054009A1 (en) 2024-02-15

Similar Documents

Publication Publication Date Title
US11082490B2 (en) Method and apparatus for execution of applications in a cloud system
JP6427692B2 (ja) マルチビューストリーミングサービス提供方法及び装置
EP3036911B1 (en) Method, terminal, and system for reproducing content
US20050204393A1 (en) Home network server
US20200241835A1 (en) Method and apparatus of audio/video switching
US11356739B2 (en) Video playback method, terminal apparatus, and storage medium
KR101770094B1 (ko) 이미지 기반 동영상 콘텐츠 제공 방법 및 그 시스템
US20180227347A1 (en) Virtualizing audio and video devices using synchronous a/v streaming
WO2020248649A1 (zh) 音视频数据同步播放方法、装置、系统、电子设备及介质
CN113424553A (zh) 用于响应于用户选择而推进交互式媒体项目的重放的技术
US10917477B2 (en) Method and apparatus for MMT integration in CDN
TWI762465B (zh) 共享從視訊傳輸提取的快照之方法及系統
WO2022215549A1 (ja) 処理システム、並びに、情報処理装置および方法
WO2019134499A1 (zh) 一种用于对视频帧进行实时标注的方法与设备
KR102310070B1 (ko) 클라우드 스트리밍 서비스 제공을 위한 어플리케이션 캐싱 방법 및 이를 위한 장치
CN107211021B (zh) 与基站交互的节点和用于通过该节点提供流数据的方法
US20120005587A1 (en) Performing Remoting Operations For Different Regions Of A Display Surface At Different Rates
US10673919B1 (en) Concurrent input monitor and ingest
US11785281B2 (en) System and method for decimation of image data for multiviewer display
US11451606B2 (en) System and method for moving media content over a network
KR102281217B1 (ko) 인코딩 방법 및 디코딩 방법, 그리고 이를 위한 장치
KR102209782B1 (ko) 스트리밍 서비스 제공 방법 및 이를 위한 장치
US10547878B2 (en) Hybrid transmission protocol
CN116018794A (zh) 利用分段式mp4的基于http的媒体流式传输服务
KR102209784B1 (ko) Mmt 패킷 캐싱 처리 방법 및 이를 위한 장치, 캐싱 처리를 위한 mmt 패킷 생성 방법 및 이를 위한 장치

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22784534

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 18552189

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 22784534

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP