JP7416482B2 - ネットワークベースのメディア処理ワークフローを管理するための方法、ワークフローマネージャおよびコンピュータプログラム - Google Patents

ネットワークベースのメディア処理ワークフローを管理するための方法、ワークフローマネージャおよびコンピュータプログラム Download PDF

Info

Publication number
JP7416482B2
JP7416482B2 JP2022521472A JP2022521472A JP7416482B2 JP 7416482 B2 JP7416482 B2 JP 7416482B2 JP 2022521472 A JP2022521472 A JP 2022521472A JP 2022521472 A JP2022521472 A JP 2022521472A JP 7416482 B2 JP7416482 B2 JP 7416482B2
Authority
JP
Japan
Prior art keywords
workflow
media
nbmp
distance
task
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.)
Active
Application number
JP2022521472A
Other languages
English (en)
Other versions
JP2022550917A (ja
Inventor
イーラジ・ソダガー
Original Assignee
テンセント・アメリカ・エルエルシー
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
Priority claimed from US17/213,948 external-priority patent/US20210320986A1/en
Application filed by テンセント・アメリカ・エルエルシー filed Critical テンセント・アメリカ・エルエルシー
Publication of JP2022550917A publication Critical patent/JP2022550917A/ja
Application granted granted Critical
Publication of JP7416482B2 publication Critical patent/JP7416482B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5038Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/765Media network packet handling intermediate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0806Configuration setting for initial configuration or provisioning, e.g. plug-and-play
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0895Configuration of virtualised networks or elements, e.g. virtualised network function or OpenFlow elements

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Information Transfer Between Computers (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

関連出願の相互参照
本出願は、2020年4月7日に出願された米国仮出願第63/006194号の優先権の利益を主張する、2021年3月26日に出願された米国特許出願第17/213948号、2020年6月22日に出願された米国仮出願第63/042477号、および2020年10月5日に出願された米国仮特許出願第63/087735号の優先権の利益を主張し、その開示は、その全体が参照により本明細書に組み込まれる。
本開示の実施形態は、動画専門家グループ(MPEG)ネットワークベースのメディア処理(NBMP)に関し、より詳細には、メディアワークフローにおけるタスク近接度に関する。
MPEGネットワークベースのメディア処理(NBMP)プロジェクトは、クラウド上でメディアを処理する概念を開発した。しかしながら、現在のNBMP設計は、種々のタスクを含むワークフローが種々のソースおよびシンクへのそれらのタスクの近接度を考慮して様々なクラウドおよびネットワークリソースにどのように割り当てられ得るかについての情報を全く提供しない。さらに、現在のNBMP設計が種々のタスクを実行するための近接パラメータを提供する限り、タスクの論理グループ化、または異なるネットワークエンティティ、メディア処理エンティティ(MPE)、ソース、またはシンク間でワークフローを分割する品質を測定するための方法は提供されない。
NBMPドラフト国際仕様は、メディア処理効率、メディアサービスのより高速で低コストの配備、およびパブリック、プライベート、またはハイブリッドクラウドサービスを活用することによる大規模な配備を提供する能力を向上させる大きな可能性を示している。
現在のNBMP仕様は、データセンタの地理的位置へのタスクの配置を定義する。しかしながら、複数のソースおよびシンクが存在するとき、タスクの相対距離シグナリングは存在せず、同じハードウェアまたはクラウドノードまたはネットワーククラスタ上で実行されるタスクの論理グループ化、あるいは異なるネットワークエンティティにタスクを割り当てる効率を測定する方法は存在しない。
1つまたは複数の実施形態によれば、少なくとも1つのプロセッサによって実行される方法が提供される。方法は、ワークフローマネージャにより、複数のワークフロータスクと、複数のワークフロータスクとメディアソースおよびメディアシンクの少なくとも1つの間の複数の所望の距離を示す複数の近接パラメータとを含むネットワークベースのメディア処理(NBMP)ワークフローを取得するステップと、複数の所望の距離に基づいて、複数のワークフロータスクをメディアシンク、メディアソース、および少なくとも1つのクラウド要素またはネットワーク要素に割り当てるステップと、割り当てられた複数のワークフロータスクによりNBMPワークフローを管理するステップとを含む。
1つまたは複数の実施形態によれば、メディアシステムのワークフローマネージャが提供される。ワークフローマネージャは、少なくとも1つのプロセッサと、コンピュータコードを含むメモリとを備える。コンピュータコードは、少なくとも1つのプロセッサに、複数のワークフロータスクと、複数のワークフロータスクとメディアソースおよびメディアシンクの少なくとも1つの間の複数の所望の距離を示す複数の近接パラメータとを含むネットワークベースのメディア処理(NBMP)ワークフローを取得させるように構成された取得コードと、少なくとも1つのプロセッサに、複数の所望の距離に基づいて、複数のワークフロータスクをメディアシンク、メディアソース、および少なくとも1つのクラウド要素またはネットワーク要素に割り当てさせるように構成された割り当てコードと、少なくとも1つのプロセッサに、割り当てられた複数のワークフロータスクによりNBMPワークフローを管理させるように構成された管理コードとを含む。
1つまたは複数の実施形態によれば、コンピュータコードを記憶する非一時的コンピュータ可読媒体が提供される。コンピュータコードは、メディアシステムのワークフローマネージャを実装する少なくとも1つのプロセッサによって実行されると、少なくとも1つのプロセッサに、複数のワークフロータスクと、複数のワークフロータスクとメディアソースおよびメディアシンクの少なくとも1つの間の複数の所望の距離を示す複数の近接パラメータとを含むネットワークベースのメディア処理(NBMP)ワークフローを取得させ、複数の所望の距離に基づいて、複数のワークフロータスクをメディアシンク、メディアソース、および少なくとも1つのクラウド要素またはネットワーク要素に割り当てさせ、割り当てられた複数のワークフロータスクによりNBMPワークフローを管理させる、ように構成される。
本開示の主題のさらなる特徴、性質、および様々な利点は、以下の詳細な説明、および添付の図面でより明らかになるであろう。
実施形態による、本明細書で説明されている方法、装置、およびシステムが実装され得る一環境の図である。 図1の1つまたは複数のデバイスの例示的なコンポーネントのブロック図である。 実施形態によるNBMPシステムのブロック図である。 実施形態によるワークフロー管理プロセスの一例のブロック図である。 実施形態によるコンピュータコードのブロック図である。
図1は、実施形態による、本明細書で説明されている方法、装置、およびシステムが実装され得る環境100の図である。図1に示されるように、環境100は、ユーザデバイス110、プラットフォーム120、およびネットワーク130を含んでもよい。環境100のデバイスは、有線接続、無線接続、または有線接続と無線接続との組み合わせを介して相互接続してもよい。
ユーザデバイス110は、プラットフォーム120に関連付けられた情報を受信、生成、記憶、処理、および/または提供することができる1つまたは複数のデバイスを含む。例えば、ユーザデバイス110は、コンピューティングデバイス(例えば、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、ハンドヘルドコンピュータ、スマートスピーカ、サーバなど)、携帯電話(例えば、スマートフォン、無線電話など)、ウェアラブルデバイス(例えば、スマートグラスまたはスマートウォッチのペア)、または同様のデバイスなどを含んでもよい。いくつかの実装形態では、ユーザデバイス110は、プラットフォーム120から情報を受信し、および/またはプラットフォーム120に情報を送信してもよい。
プラットフォーム120は、本明細書の他の箇所に記載されるような1つまたは複数のデバイスを含む。いくつかの実装形態では、プラットフォーム120は、クラウドサーバまたはクラウドサーバのグループを含んでもよい。いくつかの実装形態では、プラットフォーム120は、特定の要求に応じてソフトウェアコンポーネントを入れ替えできるように、モジュール式に設計されてもよい。したがって、プラットフォーム120は、異なる用途向けに、容易におよび/または迅速に再構成されてもよい。
いくつかの実装形態では、図示のように、プラットフォーム120は、クラウドコンピューティング環境122下でホストとして機能されてもよい。特に、本明細書に記載の実装形態は、プラットフォーム120がクラウドコンピューティング環境122下で動作するものとして説明されているが、いくつかの実装形態では、プラットフォーム120は、クラウドベースでなくてもよく(すなわち、クラウドコンピューティング環境の外部で実装されてもよい)、または部分的にクラウドベースであってもよい。
クラウドコンピューティング環境122は、プラットフォーム120のホストとして機能する環境を含む。クラウドコンピューティング環境122は、プラットフォーム120のホストとして機能する1つまたは複数のシステムおよび/または1つまたは複数のデバイスの物理的位置および構成に関するエンドユーザ(例えば、ユーザデバイス110)の知識を必要としない計算、ソフトウェア、データアクセス、ストレージなどのサービスを提供してもよい。図示のように、クラウドコンピューティング環境122は、コンピューティングリソース124のグループ(「コンピューティングリソース124」と総称し、個別に「コンピューティングリソース124」と呼ぶ)を含んでもよい。
コンピューティングリソース124は、1つまたは複数のパーソナルコンピュータ、ワークステーションコンピュータ、サーバデバイス、または他のタイプの計算および/または通信デバイスを含む。いくつかの実装形態では、コンピューティングリソース124は、プラットフォーム120のホストとして機能してもよい。クラウドリソースは、コンピューティングリソース124で実行される計算インスタンス、コンピューティングリソース124で提供される記憶デバイス、コンピューティングリソース124によって提供されるデータ転送デバイスなどを含んでもよい。いくつかの実装形態では、コンピューティングリソース124は、有線接続、無線接続、または有線接続と無線接続との組み合わせを介して他のコンピューティングリソース124と通信してもよい。
図1にさらに示されるように、コンピューティングリソース124は、1つまたは複数のアプリケーション(「APP」)124-1、1つまたは複数の仮想マシン(「VM」)124-2、仮想化ストレージ(「VS」)124-3、1つまたは複数のハイパーバイザ(「HYP」)124-4などのクラウドリソースのグループを含む。
アプリケーション124-1は、ユーザデバイス110および/またはプラットフォーム120に提供、またはユーザデバイス110および/またはプラットフォーム120によってアクセスされてもよい1つまたは複数のソフトウェアアプリケーションを含む。アプリケーション124-1は、ユーザデバイス110にソフトウェアアプリケーションをインストールし、ソフトウェアアプリケーションを実行する必要性を排除してもよい。例えば、アプリケーション124-1は、プラットフォーム120に関連付けられたソフトウェアおよび/またはクラウドコンピューティング環境122を介して提供可能な任意の他のソフトウェアを含んでもよい。いくつかの実装形態では、1つのアプリケーション124-1は、仮想マシン124-2を介して、1つまたは複数の他のアプリケーション124-1との間で情報を送受信してもよい。
仮想マシン124-2は、物理マシンのようにプログラムを実行するマシン(例えば、コンピュータ)のソフトウェア実装を含む。仮想マシン124-2は、仮想マシン124-2による用途および任意の実マシンに対する対応度に応じて、システム仮想マシンまたはプロセス仮想マシンのいずれかであってもよい。システム仮想マシンは、完全なオペレーティングシステム(「OS」)の実行をサポートする完全なシステムプラットフォームを提供してもよい。プロセス仮想マシンは、単一のプログラムを実行し得、単一のプロセスをサポートし得る。いくつかの実装形態では、仮想マシン124-2は、ユーザ(例えば、ユーザデバイス110)に代わって動作してもよく、データ管理、同期、または長期間のデータ転送などのクラウドコンピューティング環境122の基盤を管理してもよい。
仮想化ストレージ124-3は、1つまたは複数の記憶システムおよび/または1つまたは複数のデバイスを含み、1つまたは複数の記憶システムおよび/または1つまたは複数のデバイスは、コンピューティングリソース124の記憶システムまたはデバイス内で仮想化技術を使用する。いくつかの実装形態では、記憶システムのコンテキスト内で、仮想化のタイプは、ブロック仮想化およびファイル仮想化を含んでもよい。ブロック仮想化は、記憶システムが物理記憶または異種構造に関係なくにアクセスされ得るような、物理記憶からの論理記憶の抽象化(または分離)を指し得る。分離により、記憶システムの管理者がエンドユーザのためにストレージを管理する方法の柔軟性が可能になり得る。ファイル仮想化は、ファイルレベルでアクセスされるデータとファイルが物理的に記憶される場所との間の依存関係を排除し得る。これにより、ストレージ使用の最適化、サーバの統合、および/または無停止ファイル移行を可能にすることができる。
ハイパーバイザ124-4は、複数のオペレーティングシステム(例えば、「ゲストオペレーティングシステム」)をコンピューティングリソース124などのホストコンピュータ上で同時に実行できるハードウェア仮想化技術を提供してもよい。ハイパーバイザ124-4は、仮想オペレーティングプラットフォームをゲストオペレーティングシステムに提供してもよく、ゲストオペレーティングシステムの実行を管理してもよい。様々なオペレーティングシステムの複数のインスタンスは、仮想化ハードウェアリソースを共有してもよい。
ネットワーク130は、1つまたは複数の有線および/または無線ネットワークを含む。例えば、ネットワーク130は、セルラーネットワーク(例えば、第5世代(5G)ネットワーク、ロングタームエボリューション(LTE)ネットワーク、第3世代(3G)ネットワーク、符号分割多元接続(CDMA)ネットワークなど)、公衆陸上移動網(PLMN)、ローカルエリアネットワーク(LAN)、広域ネットワーク(WAN)、メトロポリタンエリアネットワーク(MAN)、電話網(例えば、公衆交換電話網(PSTN))、プライベートネットワーク、アドホックネットワーク、イントラネット、インターネット、光ファイバベースのネットワークなど、および/または上記その他のタイプのネットワークの組み合わせを含み得る。
図1に示すデバイスおよびネットワークの数および配置は、一例として示されている。実際には、追加のデバイスおよび/またはネットワーク、より少ないデバイスおよび/またはネットワーク、異なるデバイスおよび/またはネットワーク、あるいは図1に示すものとは異なる配置のデバイスおよび/またはネットワークが存在してもよい。さらに、図1に示す2つ以上のデバイスは、単一のデバイス内に実装されてもよく、または図1に示す単一のデバイスは、複数の分散型デバイスとして実装されてもよい。追加的または代替的に、環境100のデバイスのセット(例えば、1つまたは複数のデバイス)は、環境100の別のデバイスのセットによって実行されるものとして記載される1つまたは複数の機能を実行してもよい。
図2は、図1の1つまたは複数のデバイスの例示的なコンポーネントのブロック図である。デバイス200は、ユーザデバイス110および/またはプラットフォーム120に対応してもよい。図2に示されるように、デバイス200は、バス210、プロセッサ220、メモリ230、記憶コンポーネント240、入力コンポーネント250、出力コンポーネント260、および通信インターフェース270を含み得る。
バス210は、デバイス200のコンポーネント間の通信を可能にするコンポーネントを含む。プロセッサ220は、ハードウェア、ファームウェア、またはハードウェアとソフトウェアとの組み合わせで実装される。プロセッサ220は、中央処理装置(CPU)、グラフィック処理装置(GPU)、加速処理装置(APU)、マイクロプロセッサ、マイクロコントローラ、デジタル信号プロセッサ(DSP)、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)、または別のタイプの処理コンポーネントである。いくつかの実装形態では、プロセッサ220は、機能を実行するようにプログラム可能な1つまたは複数のプロセッサを含む。メモリ230は、プロセッサ220が使用するための情報および/または命令を記憶する、ランダムアクセスメモリ(RAM)、読み出し専用メモリ(ROM)、および/または別のタイプの動的もしくは静的記憶デバイス(例えば、フラッシュメモリ、磁気メモリ、および/または光メモリ)を含む。
記憶コンポーネント240は、デバイス200の動作および使用に関連する情報および/またはソフトウェアを記憶する。例えば、記憶コンポーネント240は、ハードディスク(例えば、磁気ディスク、光ディスク、光磁気ディスク、および/もしくはソリッドステートディスク)、コンパクトディスク(CD)、デジタル多用途ディスク(DVD)、フロッピーディスク、カートリッジ、磁気テープ、ならびに/または別のタイプの非一時的コンピュータ可読媒体を、対応するドライブと共に含み得る。
入力コンポーネント250は、デバイス200がユーザ入力(例えば、タッチスクリーンディスプレイ、キーボード、キーパッド、マウス、ボタン、スイッチ、および/またはマイクロフォン)などを介して情報を受信することを可能にするコンポーネントを含む。追加的または代替的に、入力コンポーネント250は、情報を感知するためのセンサ(例えば、全地球測位システム(GPS)コンポーネント、加速度計、ジャイロスコープ、および/またはアクチュエータ)を含み得る。出力コンポーネント260は、デバイス200からの出力情報を提供するコンポーネント(例えば、ディスプレイ、スピーカ、および/または1つもしくは複数の発光ダイオード(LED))を含む。
通信インターフェース270は、デバイス200が有線接続、無線接続、または有線接続と無線接続との組み合わせなどを介して他のデバイスと通信することを可能にするトランシーバのようなコンポーネント(例えば、トランシーバおよび/または別個の受信機および送信機)を含む。通信インターフェース270は、デバイス200が別のデバイスから情報を受信すること、および/または別のデバイスに情報を提供することを可能にしてもよい。例えば、通信インターフェース270は、イーサネットインターフェース、光インターフェース、同軸インターフェース、赤外線インターフェース、無線周波数(RF)インターフェース、ユニバーサルシリアルバス(USB)インターフェース、Wi-Fiインターフェース、セルラーネットワークインターフェースなどを含み得る。
デバイス200は、本明細書に記載された1つまたは複数の処理を実行してもよい。デバイス200は、メモリ230および/または記憶コンポーネント240などの非一時的コンピュータ可読媒体によって記憶されたソフトウェア命令を実行するプロセッサ220に応答して、これらの処理を実行してもよい。コンピュータ可読媒体は、本明細書では非一時的メモリデバイスと定義される。メモリデバイスは、単一の物理記憶デバイス内のメモリ空間、または複数の物理記憶デバイスにわたるメモリ空間を含む。
ソフトウェア命令は、別のコンピュータ可読媒体から、または通信インターフェース270を介して別のデバイスから、メモリ230および/または記憶コンポーネント240に読み込まれてもよい。メモリ230および/または記憶コンポーネント240に記憶されたソフトウェア命令は、実行されると、本明細書に記載の1つまたは複数のプロセスをプロセッサ220に実行させてもよい。追加的または代替的に、ハードワイヤード回路がソフトウェア命令の代わりに、またはソフトウェア命令と組み合わせて使用され、本明細書に記載の1つまたは複数のプロセスを実行してもよい。したがって、本明細書に記載の実装形態は、ハードウェア回路とソフトウェアとの任意の特定の組み合わせに限定されない。
図2に示されるコンポーネントの数および配置は、一例として示されている。実際には、デバイス200は、図2に示されたコンポーネントに対して、追加のコンポーネント、より少ないコンポーネント、異なるコンポーネント、または異なる配置のコンポーネントを含んでもよい。追加的または代替的に、デバイス200のコンポーネントのセット(例えば、1つまたは複数のコンポーネント)は、デバイス200の別のコンポーネントのセットによって実行されるものとして説明される1つまたは複数の機能を実行してもよい。
本開示の一実施形態では、NBMPシステム300が提供される。図3を参照すると、NBMPシステム300は、NBMPソース310と、NBMPワークフローマネージャ320と、関数リポジトリ330と、1つまたは複数のメディア処理エンティティ(MPE)350と、メディアソース360と、メディアシンク370とを含む。
NBMPソース310は、サードパーティエンティティから命令を受信することができ、NBMPワークフローAPI 392を介してNBMPワークフローマネージャ320と通信することができ、関数発見API 391を介して関数リポジトリ330と通信することができる。例えば、NBMPソース310は、ワークフロー記述文書(WDD)をNBMPワークフローマネージャ320に送信することができ、関数リポジトリ330に記憶された関数の関数記述を読み取ることができ、関数は、例えば、メディア復号化、特徴点抽出、カメラパラメータ抽出、投影方法、シーム情報抽出、ブレンド、後処理、および符号化の関数などの、関数リポジトリ330のメモリに記憶されたメディア処理関数である。NBMPソース310は、少なくとも1つのプロセッサと、少なくともプロセッサにNBMPソース310の関数を実行させるように構成されたコードを記憶するメモリとを含むか、またはそれらによって実装され得る。
NBMPソース310は、各々がいくつかのパラメータを有することができる、いくつかの記述子を含むことができる、ワークフロー記述文書を送信することによって、1つまたは複数のメディア処理エンティティ350によって実行されるタスク352を含むワークフローを作成するように、NBMPワークフローマネージャ320に要求することができる。
例えば、NBMPソース310は、関数リポジトリ330に記憶された関数を選択し、入力および出力データ、必要な関数、およびワークフローの要件などの記述詳細のための様々な記述子を含むワークフロー記述文書をNBMPワークフローマネージャ320に送信することができる。ワークフロー記述文書は、タスク記述のセットと、メディア処理エンティティ350の1つまたは複数によって実行されるタスク352の入力および出力の接続マップとを含むことができる。NBMPワークフローマネージャ320がNBMPソース310からそのような情報を受信すると、NBMPワークフローマネージャ320は、関数名に基づいてタスクをインスタンス化し、接続マップに従ってタスクを接続することによってワークフローを作成することができる。
代替的または追加的に、NBMPソース310は、キーワードのセットを使用してワークフローを作成するようにNBMPワークフローマネージャ320に要求することができる。例えば、NBMPソース310は、関数リポジトリ330に記憶された適切な関数を見つけるためにNBMPワークフローマネージャ320が使用することができるキーワードのセットを含むことができるワークフロー記述文書をNBMPワークフローマネージャ320に送信することができる。NBMPワークフローマネージャ320がNBMPソース310からそのような情報を受信すると、NBMPワークフローマネージャ320は、ワークフロー記述文書の処理記述子に指定され得るキーワードを使用して適切な関数を検索することによってワークフローを作成することができ、ワークフロー記述文書の他の記述子を使用してタスクを提供し、それらを接続してワークフローを作成することができる。
NBMPワークフローマネージャ320は、関数発見API 391と同じまたは異なってもよいAPIである関数発見API 393を介して関数リポジトリ330と通信することができ、API 394(例えば、NBMPタスクAPI)を介してメディア処理エンティティ350の1つまたは複数と通信することができる。NBMPワークフローマネージャ320は、少なくとも1つのプロセッサと、少なくとも1つのプロセッサにNBMPワークフローマネージャ320の関数を実行させるよう構成されたコードを記憶するメモリとを含んでよく、あるいはこれらによって実装されてよい。
NBMPワークフローマネージャ320は、API 394を使用して、1つまたは複数のメディア処理エンティティ350によって実行可能なワークフローの1つまたは複数のタスク352を設定、構成、管理、および監視することができる。一実施形態では、NBMPワークフローマネージャ320は、API 394を使用してタスク352を更新および破棄することができる。ワークフローのタスク352を構成、管理、および監視するために、NBMPワークフローマネージャ320は、要求などのメッセージをメディア処理エンティティ350の1つまたは複数に送信することができ、各メッセージは、各々がいくつかのパラメータを有する、いくつかの記述子を有することができる。タスク352は各々、メディア処理関数354と、メディア処理関数354のための構成353とを含むことができる。
一実施形態では、タスクのリスト(例えば、タスクのリストの代わりにキーワードのリストを含む)を含まないワークフロー記述文書をNBMPソース310から受信した後、NBMPワークフローマネージャ320は、現在のワークフローのタスク352として実行する適切な関数を見つけるために、関数発見API 393を介して、関数リポジトリ330を検索するため、ワークフロー記述文書のタスクの記述に基づいてタスクを選択することができる。例えば、NBMPワークフローマネージャ320は、ワークフロー記述文書で提供されたキーワードに基づいてタスクを選択することができる。NBMPソース310によって提供されるキーワードまたはタスク記述のセットを使用して適切な関数が識別された後、NBMPワークフローマネージャ320は、API 394を使用してワークフローの選択されたタスクを構成することができる。例えば、NBMPワークフローマネージャ320は、NBMPソースから受信した情報から構成データを抽出し、構成データに基づいてタスク352を構成することができる。
1つまたは複数のメディア処理エンティティ350は、メディアソース360からメディアコンテンツを受信し、NBMPワークフローマネージャ320によって作成されたタスク352を含む、ワークフローに従ってメディアコンテンツを処理し、処理されたメディアコンテンツをメディアシンク370に出力するように構成され得る。1つまたは複数のメディア処理エンティティ350は各々、少なくとも1つのプロセッサと、少なくとも1つのプロセッサにメディア処理エンティティ350の関数を実行させるように構成されたコードを記憶するメモリとを含んでもよく、これらによって実装されてもよい。
メディアソース360は、メディアを記憶するメモリを含むことができ、NBMPソース310と統合されてもよいし、別個であってもよい。一実施形態では、NBMPワークフローマネージャ320は、ワークフローが準備されたときにNBMPソース310に通知することができ、メディアソース360は、ワークフローが準備されたという通知に基づいてメディアコンテンツをメディア処理エンティティ350の1つまたは複数に送信することができる。
メディアシンク370は、少なくとも1つのプロセッサと、1つまたは複数のメディア処理エンティティ350によって処理されるメディアを表示するように構成された少なくとも1つのディスプレイとを含むか、またはそれらによって実装され得る。
上述したように、NBMPソース310(例えば、ワークフローの作成を要求するためのワークフロー記述文書)からNBMPワークフローマネージャ320へのメッセージ、およびNBMPワークフローマネージャ320から1つまたは複数のメディア処理エンティティ350への(例えば、ワークフローを実行させるための)メッセージは、各々がいくつかのパラメータを有することができる、いくつかの記述子を含むことができる。場合によっては、APIを使用するNBMPシステム300のコンポーネントのいずれかの間の通信は、各々がいくつかのパラメータを有することができる、いくつかの記述子を含むことができる。
実施形態では、各ワークフローまたはタスクは、例えば表1に示されるように、ソースまたはシンクごとに近接パラメータを提供して、そのソースへの所望の/必要な近接度を示すことができる。
Figure 0007416482000001
距離は、表2に示されるように、各ソースおよびシンクに対するワークフローまたはタスクの相対距離を示す数として定義され得る。
Figure 0007416482000002
したがって、S2から2Nの距離を有するタスクの距離は、S1までの距離がNである場合、S1から2倍の距離を有する。距離0は、タスクとシンク/ソースとの間に距離がないことを意味する。
各ワークフロー/タスクの距離をシグナリングするために、例えば表3に示されるように、オブジェクトの新しい配列、近接度が一般的な記述子に追加され得る。
Figure 0007416482000003
上記の表3および本明細書に示される他の表では、追加された要素はイタリック体で示されている。
このパラメータは、JSONオブジェクトの配列の形で一般的な記述子に追加されてもよい。JSONオブジェクトは、例えば表4に示されるように、シンク/ソース識別子(id)および距離の2つのパラメータを有することができる。
Figure 0007416482000004
Figure 0007416482000005
Figure 0007416482000006
NBMPソース310は、所与のワークフロー記述の各ソースおよび/またはシンクにワークフローの相対距離を割り当てることができる。距離配列を見ることによって、ワークフロー記述においてより小さい距離値を伴うソースまたはシンクにより近いクラウドプラットフォームまたはネットワーク要素に実装されるべきワークフロー全体またはワークフローの一部を決定することができる。正確な割り当ては、クラウドまたはネットワークリソースの可用性に依存する。最適化は、ワークフローマネージャ320およびクラウドマネージャによって実行されてもよい。
ワークフローがNBMPソース310によって与えられる実施形態では、ワークフロー記述文書(WDD)は接続マップを含むことができる。各関数インスタンスは、一般的な記述子が使用される関数制限を有してもよい。その記述子の近接オブジェクトは、ソースおよびシンクまでの関数インスタンスの所望の距離を記述するために使用され得る。
ワークフローマネージャ320は、各関数インスタンスについて各タスクをインスタンス化すると、近接アレイを使用して、それらのタスクについての指示された所望の距離に基づいて最良のクラウド/ネットワークリソースを割り当てる。
実施形態では、ワークフローは、ワークフローマネージャ320によって導出されてもよい。ワークフローマネージャ320は、接続マップおよびタスク制限を含むWDDをNBMPソース310に提供してもよい。NBMPソース310は、各タスク制限に近接オブジェクトを追加することによって、WDDを更新することができる。次いで、クラウドマネージャの助けを借りて、ワークフローマネージャ320は、更新されたWDDによって記述された近接要件を満たす種々のクラウド/ネットワークリソースにタスクを再割り当てすることを望む場合がある。最後に、ワークフローマネージャ320は、各ソース/シンクに対するタスクの実際の更新された相対距離を伴う更新されたWDDを返すことができる。
実施形態は、複数のソースまたはシンクおよびソースからのワークフローまたはタスクの相対距離を記述するための方法を提供することができ、複数のソースまたはシンクのそれぞれのソースまたはシンクに番号を割り当てるステップを含み、番号は、ワークフローまたはタスクから複数のソースまたはシンクの中の他のソースまたはシンクまでの距離と比較した、ワークフローまたはタスクからそれぞれのソースまたはシンクまでの相対距離を示す。
実施形態は、ネットワークベースのメディア処理(NBMP)シンクによって、割り当てられた番号を使用して複数のソースおよびシンクにワークフローまたはタスクのターゲット近接度をシグナリングする方法を提供することができる。
実施形態は、割り当てられた番号に割り当てられた数字に基づいて、各タスクに割り当てられたクラウドまたはネットワークリソースの近接情報を決定する方法を提供することができ、NBMPワークフローマネージャ320によって、割り当てられたクラウドまたはネットワークリソースの近接情報を使用して、ターゲット近接度に対応し、NBMPシンクに更新を提供する。
実施形態では、更新は、ターゲット近接度によりワークフローまたはタスクがどのように実施されるかを含むことができる。
実施形態は、タスクグループと呼ばれる新しい論理エンティティに関することができる。タスクグループは、同じクラウドノード/クラスタ上で実行されると予想されるタスクまたは関数インスタンスの集合であってもよい。タスクグループは、タスクグループとタスクの間で一意である一意の識別子を用いて識別されてもよい。
関数またはタスクの集合を伴うワークフロー記述は、表5に示されるようなタスクグループを定義する表を有することができる。
Figure 0007416482000007
上記表5において、
・Kはタスクグループの数であり、
・miはグループGiにおけるタスクの数であり、
・Giはタスクグループiのidであり、
・Idijはタスクグループiにおけるタスクまたは関数インスタンスjのidである。
現在のNBMP TuCは、以下の表6に示されるように、タスク、MPE、ソース、およびシンク間の距離表を定義する。
Figure 0007416482000008
実施形態は、以下の表7に示されるようなタスクグループ(TG)も含むように表6を拡張したものに関することができる。
Figure 0007416482000009
距離表は、タスクごとに定義されてもよいし、タスクグループに対して拡張されてもよいことに留意されたい。また、各タスクグループの距離表は、1つまたは複数のタスクグループの列を含むことができる。
実施形態では、タスクグループが上記の表に含まれる場合、表に明示的に含まれていないタスクグループの各メンバは、タスクグループの距離を継承する。
実施形態では、タスクグループが上記の表を有する場合、タスクグループの各メンバは、タスクまたはタスクグループのための明示的な列を有さない限り、タスクグループ表のエントリを継承する。
実施形態では、タスクの距離表において、タスクが属するタスクグループの距離がある場合には、その距離は、タスクグループの他のすべてのタスクに対するそのタスクの距離を示す。
実施形態において、タスクの距離表では、タスクの同じタスクグループに属する任意のタスクに対する距離が存在する場合には、この値は同じ表のタスクグループの距離に取って代わる。
タスクグループ化は、以下の表8に示されるようにJSONで実施され得る。
Figure 0007416482000010
Figure 0007416482000011
Figure 0007416482000012
Figure 0007416482000013
実施形態は、一緒に実装されるタスクまたは関数インスタンスの論理グループを定義することを可能にするタスクまたは関数インスタンスのグループを記述するための方法を提供することができ、タスクまたは関数インスタンスのグループの距離は、ソース、シンク、MPE、他のタスク、または他のタスクグループから記述され、タスクグループの距離は、一緒に定義されるとともに、タスクグループ内の各タスクまたは関数インスタンスの距離は、同じグループの他のタスク/関数インスタンスから定義され、したがって、距離の詳細な説明、ならびに関数の論理グループ化が示される。
実施形態では、各ワークフローまたはタスクは、表9に示されるように、ソースまたはシンクまたはMPE、あるいは任意の他のネットワーク要素からの距離を提供して、そのソースへの所望の/必要な近接度を示すことができる。
Figure 0007416482000014
距離は、表10に示されるように、各ソースおよびシンクに対するワークフローまたはタスクの相対距離を示す数として定義され得る。
Figure 0007416482000015
したがって、S2から2Nの距離を有するタスクの距離は、S1までの距離がNである場合、S1から2倍の距離を有する。距離0は、タスクとシンク/ソースとの間に距離がないことを意味する。
タスクがネットワークエンティティまたはソースまたはシンク上で実行され得ないことをシグナリングするために、実施形態は無限距離を定義することができる。
リソース(ソース/シンク/MPE)がタスクを実行することができない場合、そのリソースまでのタスクの距離に最大の符号なし整数(INF)が割り当てられ得る。したがって、ワークフローマネージャ320は、異なるリソース間でタスクを分割したいとき、INF値を有するリソースにタスクを割り当ててはならない。
差分方式は、複数のソース、シンク、MPE、および他のネットワークエンティティ間でワークフローを分割するために使用され得る。最良の分割レンダリング方式は、ワークフローのすべてのタスクの平均距離を低減するものである。
例えば、平均p-ノルム距離は、以下の式1に示されるように定義され得る。
Figure 0007416482000016
d_iは、ワークフローのn個のタスクについて、割り当てられたシンク/ソース/MPEまでのタスクiの距離である。
タスク近接パラメータがNBMPソース310によって与えられる場合、NBMPソース310はまた、ワークフローマネージャ320がその関数に基づいてワークフロー分割を最適化できるように距離関数を提供することができる。
このメトリックをシグナリングするために、実施形態は、以下の表11および表12に示されるように、一般的な記述子にオブジェクトを追加することができる。
Figure 0007416482000017
Figure 0007416482000018
上記のパラメータは任意であってもよいが、それらの少なくとも1つが近接メトリックオブジェクトに存在し得る。上記オブジェクトでは、デフォルトの式は2-ノルムであってもよい。
実施形態は、タスクとデバイスまたはネットワークエンティティの間の無限距離を記述するための方法を提供することができ、無限距離は、タスクがそのデバイスまたはネットワークエンティティ上で実行され得ないことを意味する。
実施形態は、実行されるように割り当てられたエンティティにワークフローのすべてのタスクの平均距離を導入することによって分割効率を説明するための方法を提供することができ、平均距離が小さいほど、ワークフローのより効率的な分割を示し、特定の場合には、分割効率を計算するためにp-ノルム距離が使用される。
実施形態は、ワークフロー記述において分割効率を計算するために使用される式をシグナリングする方法を提供することができ、情報は、NBMPソース310とワークフローマネージャ320/クラウドプラットフォームの間で交換され得、任意の式、特にp-ノルム距離が実装され得る。
[1]図4は、NBMPワークフローを管理するための例示的なプロセス400を示すフローチャートである。いくつかの実装形態では、図4の1つまたは複数のプロセスブロックは、例えば、ワークフローマネージャ320によって実行され得る。
[2]図4に示されるように、プロセス400は、ワークフローマネージャにより、複数のワークフロータスクと、複数のワークフロータスクとメディアソースおよびメディアシンクの少なくとも1つの間の複数の所望の距離を示す複数の近接パラメータとを含むネットワークベースのメディア処理(NBMP)ワークフローを取得するステップ(ブロック410)を含むことができる。
[3]図4にさらに示されるように、プロセス400は、複数の所望の距離に基づいて、複数のワークフロータスクをメディアシンク、メディアソース、および少なくとも1つのクラウド要素またはネットワーク要素に割り当てるステップ(ブロック420)を含むことができる。
[4]図4にさらに示されるように、プロセス400は、割り当てられた複数のワークフロータスクによりNBMPワークフローを管理するステップ(ブロック430)を含むことができる。
[5]実施形態では、NBMPワークフローは、ワークフローマネージャまたはNBMPソースの中の少なくとも1つによって提供され得る。
[6]実施形態では、複数の近接パラメータの中からの1つの近接パラメータは、複数のワークフロータスクの1つのワークフロータスクと、メディアソースおよびメディアシンクの少なくとも1つの間の所望の距離を示す番号を含むことができる。
[7]実施形態では、所望の距離が0であることに基づいて、ワークフロータスクは、メディアソースまたはメディアシンクの少なくとも1つによって実行されるように意図されてもよい。
[8]実施形態では、所望の距離が無限であることに基づいて、ワークフロータスクは、メディアソースまたはメディアシンクの少なくとも1つによって実行されることができない場合がある。
[9]実施形態では、NBMPワークフローは、ワークフロー記述文書に対応することができ、複数の近接パラメータは、ワークフロー記述文書に含まれる少なくとも1つの一般的な記述子に含まれ得る。
[10]実施形態では、NBMPワークフローは、複数のワークフロータスクの少なくとも1つを含むタスクグループを含むことができる。
[11]実施形態では、複数の近接パラメータの1つの近接パラメータは、タスクグループと、メディアソースおよびメディアシンクの少なくとも1つの間の所望の距離を示すことができる。
[12]実施形態では、タスクグループに含まれる複数のワークフロータスクの少なくとも1つは、所望の距離を継承することができる。
[13]実施形態では、複数の所望の距離の平均は、NBMPワークフローの効率を決定するために使用され得る。
実施形態では、図5を参照すると、コンピュータコード500は、NBMPシステム300に実装されてもよい。例えば、コンピュータコードは、NBMPワークフローマネージャ320のメモリに記憶されてもよく、NBMPワークフローマネージャ320の少なくとも1つのプロセッサによって実行されてもよい。コンピュータコードは、例えば、取得コード510と、割り当てコード520と、管理コード530とを含むことができる。
ワークフロー取得コード510、割り当てコード520、および管理コード530は、それぞれ、NBMPワークフローマネージャ320の少なくとも1つのプロセッサに、図4を参照して上述したプロセスの態様を実行させるように構成され得る。
取得コード510は、少なくとも1つのプロセッサに、複数のワークフロータスクと、複数のワークフロータスクとメディアソースおよびメディアシンクの少なくとも1つの間の複数の所望の距離を示す複数の近接パラメータとを含むネットワークベースのメディア処理(NBMP)ワークフローを取得させるように構成され得る。
割り当てコード520は、少なくとも1つのプロセッサに、複数の所望の距離に基づいて、複数のワークフロータスクをメディアシンク、メディアソース、および少なくとも1つのクラウド要素またはネットワーク要素に割り当てさせるように構成され得る。
管理コード530は、少なくとも1つのプロセッサに、割り当てられた複数のワークフロータスクによりNBMPワークフローを管理させるように構成され得る。
本開示の実施形態は、別々に使用されてもよく、任意の順序で組み合わされてもよい。さらに、実施形態(およびその方法)の各々が、処理回路(例えば、1つもしくは複数のプロセッサまたは1つもしくは複数の集積回路)によって実装されてもよい。一例では、1つまたは複数のプロセッサは、非一時的コンピュータ可読媒体に記憶されているプログラムを実行する。
前述の開示は、例示および説明を提供しているが、網羅的であることも、実装形態を開示の正確な形態に限定することも意図されていない。改変形態および変形形態が、上記の開示に照らして可能であり、または実装形態の実施により取得され得る。
本明細書で使用される場合、コンポーネントという用語は、ハードウェア、ファームウェア、またはハードウェアとソフトウェアの組み合わせとして広く解釈されることが意図されている。
特徴の組み合わせが特許請求の範囲に記載され、および/または本明細書に開示されているが、これらの組み合わせは、可能な実装形態の開示を限定することが意図されるものではない。実際、これらの特徴の多くは、特許請求の範囲に具体的に記載されていない、および/または明細書に開示されていない方法で組み合わされてもよい。以下に列挙される各従属請求項は1つの請求項のみに直接従属し得るが、可能な実装形態の開示は、各従属請求項と、請求項セットの他のすべての請求項との組み合わせを含む。
本明細書で使用される要素、動作、または命令は、そのように明示的に記載されていない限り、重要または必須であると解釈されるべきではない。また、本明細書で使用される場合、冠詞「a」および「an」は、1つまたは複数の項目を含むことが意図されており、「1つまたは複数」と交換可能に使用され得る。さらに、本明細書で使用される場合、「セット」という用語は、1つまたは複数の項目(例えば、関連項目、無関係な項目、関連項目と無関係な項目との組み合わせなど)を含むことが意図されており、「1つまたは複数」と互換的に使用され得る。1つの項目のみが意図される場合、「1つ」という用語または同様の用語が使用される。また、本明細書で使用される場合、「有する(has)」、「有する(have)」、「有する(having)」などの用語は、オープンエンド用語であることが意図されている。さらに、「に基づいて」という語句は、特に明記しない限り、「少なくとも部分的に、基づいて」を意味することが意図されている。
100 環境
110 ユーザデバイス
120 プラットフォーム
122 クラウドコンピューティング環境
124 コンピューティングリソース
124-1 アプリケーション(「APP」)
124-2 仮想マシン(「VM」)
124-3 仮想化ストレージ(「VS」)
124-4 ハイパーバイザ(「HYP」)
130 ネットワーク
200 デバイス
210 バス
220 プロセッサ
230 メモリ
240 記憶コンポーネント
250 入力コンポーネント
260 出力コンポーネント
270 通信インターフェース
300 ネットワークベースのメディア処理(NBMP)システム
310 NBMPソース
320 NBMPワークフローマネージャ
330 関数リポジトリ
350 メディア処理エンティティ
352 タスク
353 構成
354 メディア処理関数
360 メディアソース
370 メディアシンク
391 関数発見API
392 NBMPワークフローAPI
393 関数発見API
394 API
400 プロセス
500 コンピュータコード
510 取得コード
520 割り当てコード
530 管理コード

Claims (11)

  1. 少なくとも1つのプロセッサが実行する方法であって、前記方法は、
    ワークフローマネージャにより、複数のワークフロータスクと、前記複数のワークフロータスクとメディアソースまたはメディアシンクの間の複数の距離を示す複数の近接パラメータとを含むネットワークベースのメディア処理(NBMP)ワークフローを取得するステップであって、前記距離は、前記複数のワークフロータスクから前記メディアソースまたは前記メディアシンクまでの、各メディアソースまたは各メディアシンクに対する相対距離を示す数である、ステップと、
    前記複数の距離に基づいて、前記複数のワークフロータスクを前記メディアシンク、前記メディアソース、および少なくとも1つのクラウド要素またはネットワーク要素に割り当てるステップであって、
    前記距離が0であることに基づいて、前記ワークフロータスクは、前記メディアソースまたは前記メディアシンクによって実行されるように意図され、
    前記距離が無限であることに基づいて、前記ワークフロータスクは、前記メディアソースまたは前記メディアシンクによって実行されることができない、ステップと、
    前記割り当てられた複数のワークフロータスクを実行させるためのメッセージを送信するステップとを含む、方法。
  2. 前記NBMPワークフローは、前記ワークフローマネージャまたはNBMPソースの中の少なくとも1つによって提供される、請求項1に記載の方法。
  3. 前記複数の近接パラメータの中からの1つの近接パラメータは、前記複数のワークフロータスクの1つのワークフロータスクと、前記メディアソースまたは前記メディアシンクのの距離を示す番号を含む、請求項1または2に記載の方法。
  4. 前記NBMPワークフローは、ワークフロー記述文書に対応し、
    前記複数の近接パラメータは、前記ワークフロー記述文書に含まれる少なくとも1つの一般的な記述子に含まれる、請求項1に記載の方法。
  5. 前記NBMPワークフローは、前記複数のワークフロータスクの少なくとも1つを含むタスクグループを含む、請求項1に記載の方法。
  6. 前記複数の近接パラメータの1つの近接パラメータは、前記タスクグループと、前記メディアソースまたは前記メディアシンクのの距離を示す、請求項5に記載の方法。
  7. 前記タスクグループに含まれる前記複数のワークフロータスクの前記少なくとも1つの距離は、前記タスクグループの記距によって示される、請求項6に記載の方法。
  8. 前記複数の距離の平均は、前記NBMPワークフローの効率を決定するために使用される、請求項1に記載の方法。
  9. 前記複数の距離の平均は、以下の式によって定義される平均p-ノルム距離であり、
    d_iは、前記NBMPワークフローのn個の中のワークフロータスクiについての、メディアシンクまたはメディアソースまでの距離である、請求項8に記載の方法。
  10. メディアシステムのワークフローマネージャであって、前記ワークフローマネージャは、
    少なくとも1つのプロセッサと、
    請求項1~9のいずれか一項に記載の方法を前記少なくとも1つのプロセッサに実行させるためのコンピュータコードを含むメモリとを備える、ワークフローマネージャ。
  11. メディアシステムのワークフローマネージャを実装する少なくとも1つのプロセッサによって実行されると、前記少なくとも1つのプロセッサに、請求項1~9のいずれか一項に記載の方法を実行させるためのコンピュータプログラム。
JP2022521472A 2020-04-07 2021-04-02 ネットワークベースのメディア処理ワークフローを管理するための方法、ワークフローマネージャおよびコンピュータプログラム Active JP7416482B2 (ja)

Applications Claiming Priority (9)

Application Number Priority Date Filing Date Title
US202063006194P 2020-04-07 2020-04-07
US63/006,194 2020-04-07
US202063042477P 2020-06-22 2020-06-22
US63/042,477 2020-06-22
US202063087735P 2020-10-05 2020-10-05
US63/087,735 2020-10-05
US17/213,948 US20210320986A1 (en) 2020-04-07 2021-03-26 Task proximity for cloud services
US17/213,948 2021-03-26
PCT/US2021/025574 WO2021207027A1 (en) 2020-04-07 2021-04-02 Task proximity for cloud services

Publications (2)

Publication Number Publication Date
JP2022550917A JP2022550917A (ja) 2022-12-05
JP7416482B2 true JP7416482B2 (ja) 2024-01-17

Family

ID=78023877

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022521472A Active JP7416482B2 (ja) 2020-04-07 2021-04-02 ネットワークベースのメディア処理ワークフローを管理するための方法、ワークフローマネージャおよびコンピュータプログラム

Country Status (5)

Country Link
EP (1) EP4018310A4 (ja)
JP (1) JP7416482B2 (ja)
KR (1) KR20220062632A (ja)
CN (1) CN114514510A (ja)
WO (1) WO2021207027A1 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004206694A (ja) 2002-12-10 2004-07-22 Hewlett-Packard Development Co Lp 要件ベースワークフローを動的に順序付けするシステムおよび方法
JP2015515037A (ja) 2012-02-15 2015-05-21 アルカテル−ルーセント 機械学習を採用するメディア・コンポーネントをマップするための方法
US20160203024A1 (en) 2015-01-14 2016-07-14 Electronics And Telecommunications Research Institute Apparatus and method for allocating resources of distributed data processing system in consideration of virtualization platform
US20190007258A1 (en) 2017-06-29 2019-01-03 Cisco Technology, Inc. Workload placement and resource allocation for media production data center

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10929812B2 (en) * 2014-11-26 2021-02-23 Adobe Inc. Content creation, deployment collaboration, and subsequent marketing activities
US10607167B2 (en) * 2015-10-13 2020-03-31 Genesys Telecommunications Laboratories, Inc. System and method for intelligent task management and routing based on physiological sensor input data
US10873614B2 (en) * 2018-01-17 2020-12-22 Samsung Electronics Co., Ltd. Method and apparatus for configuration and deployment of media processing in the network

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004206694A (ja) 2002-12-10 2004-07-22 Hewlett-Packard Development Co Lp 要件ベースワークフローを動的に順序付けするシステムおよび方法
JP2015515037A (ja) 2012-02-15 2015-05-21 アルカテル−ルーセント 機械学習を採用するメディア・コンポーネントをマップするための方法
US20160203024A1 (en) 2015-01-14 2016-07-14 Electronics And Telecommunications Research Institute Apparatus and method for allocating resources of distributed data processing system in consideration of virtualization platform
US20190007258A1 (en) 2017-06-29 2019-01-03 Cisco Technology, Inc. Workload placement and resource allocation for media production data center

Also Published As

Publication number Publication date
KR20220062632A (ko) 2022-05-17
EP4018310A1 (en) 2022-06-29
JP2022550917A (ja) 2022-12-05
EP4018310A4 (en) 2022-09-28
WO2021207027A1 (en) 2021-10-14
CN114514510A (zh) 2022-05-17

Similar Documents

Publication Publication Date Title
CN113557747B (zh) 基于网络的媒体处理中处理媒体内容的方法和装置
EP4018309A1 (en) Split rendering using network based media processing workflow
JP7089120B2 (ja) メディアコンテンツを処理する方法、装置、及びコンピュータプログラム
US11356534B2 (en) Function repository selection mode and signaling for cloud based processing
CN111865649B (zh) 处理媒体内容的方法和装置、计算机设备和存储介质
US11544108B2 (en) Method and apparatus for functional improvements to moving picture experts group network based media processing
US11496608B2 (en) Task proximity for cloud services
JP7416482B2 (ja) ネットワークベースのメディア処理ワークフローを管理するための方法、ワークフローマネージャおよびコンピュータプログラム
CN111835549B (zh) 处理媒体内容的方法、装置、计算机设备以及介质
CN111831834A (zh) 基于网络的媒体处理(nbmp)中处理媒体内容的方法和装置
JP2022553021A (ja) クラウドプラットフォーム上のワークフローにおける非必須の入力、出力、およびタスクシグナリング
CN111858967A (zh) 基于网络的媒体处理中处理媒体内容的方法、装置以及存储介质
CN114450927B (zh) 工作流处理方法、工作流管理器、设备以及计算机存储介质
US11838390B2 (en) Function repository selection mode and signaling for cloud based processing
JP2023525711A (ja) クラウドワークフロー入出力のためのプロトコル特性をシグナリングする方法
WO2022225650A2 (en) Method for switching workflow or updating workflow with continuity and no interruption in dataflow
KR20230104258A (ko) 클라우드 플랫폼에서 넷제로 작업흐름 수정을 시그널링하는 방법 및 장치
WO2023205624A1 (en) Deployment of workflow tasks with fixed preconfigured parameters in cloud-based media applications
JP2023545825A (ja) クラウドプラットフォーム上のメディア処理においてステップベースの処理を実行する方法、装置、及びコンピュータプログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220408

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220408

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230519

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230619

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230919

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20231204

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20231222

R150 Certificate of patent or registration of utility model

Ref document number: 7416482

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150