IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ テンセント・アメリカ・エルエルシーの特許一覧

特許7594605エッジコンピューティングによるメディアストリーミング
<>
  • 特許-エッジコンピューティングによるメディアストリーミング 図1
  • 特許-エッジコンピューティングによるメディアストリーミング 図2
  • 特許-エッジコンピューティングによるメディアストリーミング 図3
  • 特許-エッジコンピューティングによるメディアストリーミング 図4
  • 特許-エッジコンピューティングによるメディアストリーミング 図5
  • 特許-エッジコンピューティングによるメディアストリーミング 図6
  • 特許-エッジコンピューティングによるメディアストリーミング 図7
  • 特許-エッジコンピューティングによるメディアストリーミング 図8
  • 特許-エッジコンピューティングによるメディアストリーミング 図9
  • 特許-エッジコンピューティングによるメディアストリーミング 図10
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-11-26
(45)【発行日】2024-12-04
(54)【発明の名称】エッジコンピューティングによるメディアストリーミング
(51)【国際特許分類】
   H04N 21/435 20110101AFI20241127BHJP
   H04W 92/24 20090101ALI20241127BHJP
   H04W 4/06 20090101ALI20241127BHJP
   H04W 28/088 20230101ALI20241127BHJP
【FI】
H04N21/435
H04W92/24
H04W4/06 171
H04W28/088
【請求項の数】 9
(21)【出願番号】P 2022561025
(86)(22)【出願日】2021-09-30
(65)【公表番号】
(43)【公表日】2023-05-29
(86)【国際出願番号】 US2021052906
(87)【国際公開番号】W WO2022164486
(87)【国際公開日】2022-08-04
【審査請求日】2022-10-06
(31)【優先権主張番号】63/142,384
(32)【優先日】2021-01-27
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】17/488,049
(32)【優先日】2021-09-28
(33)【優先権主張国・地域又は機関】US
【前置審査】
(73)【特許権者】
【識別番号】520353802
【氏名又は名称】テンセント・アメリカ・エルエルシー
(74)【代理人】
【識別番号】110004381
【氏名又は名称】弁理士法人ITOH
(72)【発明者】
【氏名】ソダガァ,イラジ
【審査官】富樫 明
(56)【参考文献】
【文献】特開2015-002513(JP,A)
【文献】米国特許出願公開第2020/0404069(US,A1)
【文献】BBC,Discussion on 3GPP architectural building blocks for edge computing,3GPP TSG SA4 MBS subworking group call S4al201095, [online],2020年12月,pp. 1-6,[令和5年10月27日検索], インターネット<URL: https://www.3gpp.org/dynareport?code=TDocExMtg--S4-SA4-e%20(AH)%20MBS%20SW--39726.htm>
【文献】Presentation of TR 23.758 v2.0.0 for approval: Study on application architecture for enabling Edge Applications,3GPP TSG-SA Meeting #86 SP-191103,2019年12月,pp. 19-25
(58)【調査した分野】(Int.Cl.,DB名)
H04N 21/00-21/858
H04W 92/24
H04W 4/06
H04W 28/088
(57)【特許請求の範囲】
【請求項1】
ユーザデバイスが実行する5Gメディアストリーミングのための方法であって、
前記ユーザデバイスの5Gメディアストリーミング(5GMS)サービスクライアントから5Gデータネットワークの5GMSアプリケーション機能に要求を送信するステップであって、前記要求は、エッジアプリケーションサーバの能力を含むフィルタリング情報を含み、5Gメディアストリーミング(5GMS)サービスを要求する、ステップと、
前記5GMSアプリケーション機能がディスカバリ要求を1つ以上のエッジアプリケーションサーバに送出し、前記1つ以上のエッジアプリケーションサーバの中の利用可能なエッジアプリケーションサーバからディスカバリ確認応答を受信した場合、前記利用可能なエッジアプリケーションサーバの中から選択されたエッジアプリケーションサーバによってインスタンス化された5GMSアプリケーションサーバの情報と共に、前記5GMSアプリケーション機能からの確認応答を受信するステップであって、前記エッジアプリケーションサーバは、前記エッジアプリケーションサーバの能力に基づいて選択される、ステップと、
前記5GMSアプリケーションサーバの前記情報に基づいて、前記5Gメディアストリーミングを実行するステップと
を含む方法。
【請求項2】
前記ユーザデバイス内の5GMS認識アプリケーションからのメディア要求に応答して前記要求を送信するステップを更に含む、請求項1に記載の方法。
【請求項3】
前記5GMSアプリケーション機能におけるエッジイネーブラサーバとの前記5GMSサービスクライアントのエッジイネーブラクライアントのインタフェースを介して前記要求を送信するステップを更に含む、請求項1又は2に記載の方法。
【請求項4】
前記エッジアプリケーションサーバは、前記エッジイネーブラサーバによって選択される、請求項3に記載の方法。
【請求項5】
前記エッジイネーブラサーバは、前記ユーザデバイスの位置及び前記エッジアプリケーションサーバの位置に更に基づいて、エッジアプリケーションサーバを選択する、請求項4に記載の方法。
【請求項6】
前記エッジイネーブラサーバは、前記エッジイネーブラサーバからのディスカバリ要求に応答する前記エッジアプリケーションサーバからの確認応答に基づいて、前記エッジアプリケーションサーバを選択する、請求項4に記載の方法。
【請求項7】
前記5GMSアプリケーション機能は、前記5GMSアプリケーションサーバをインスタンス化するように前記エッジアプリケーションサーバに要求し、前記5GMSサービスを提供するように前記5GMSアプリケーションサーバに要求する、請求項4乃至6のうちいずれか1項に記載の方法。
【請求項8】
処理回路を含む装置であって、
前記処理回路は、請求項1乃至7のうちいずれか1項に記載の方法を実行するように構成される、装置。
【請求項9】
プロセッサに、請求項1乃至7のうちいずれか1項に記載の方法を実行させるプログラム。

【発明の詳細な説明】
【技術分野】
【0001】
[関連出願への相互参照]
本願は、2021年1月27日出願の米国仮出願第63/142,384号「A METHOD FOR EDGE RESOURCE DISCOVERY, MANAGEMENT AND PROCESSING SUPPORT IN 5G MEDIA STREAMING」に対する優先権の利益を主張する、2021年9月28日出願の米国特許出願第17/488,049号「MEDIA STREAMING WITH EDGE COMPUTING」に対する優先権の利益を主張する。先の出願の全開示の全内容を参照により援用する。
【0002】
[技術分野]
本開示は、概してメディアストリーミングにおけるエッジコンピューティングに関連する実施形態を記載する。
【背景技術】
【0003】
本明細書において提供されるの背景技術の説明は、本開示の状況を一般的に提示するためのものである。本願発明者の研究は、当該研究がこの背景技術の段落に記載されている範囲においても、出願時における従来技術としての適格性を有しない可能性のある記載の側面においても、本開示に対する従来技術として明示的にも黙示的にも認められるものではない。
【0004】
様々なメディアアプリケーション及びサービスは、かなりの処理能力を必要とする。いくつかの例では、クラウド処理は、別法ではクライアントデバイス上で実行されていたワークロードがリモートサーバにオフロードできる場合に好まれる。リモートサーバは非常に高い計算能力を有するので、複雑なメディア処理タスクは、リモートサーバにより実行され、次いで、最終的な結果又は最終に近い結果がクライアントデバイスに送信されるようにすることができる。
【0005】
エッジコンピューティングは、クラウドコンピューティングサービスの配備をユーザ機器に近づけることを可能にするネットワークアーキテクチャを提供する。エッジコンピューティングは、より低い待ち時間、より高い帯域幅、及び低減したバックホールトラフィックを達成できる。
【発明の概要】
【0006】
本開示の態様は、5Gメディアストリーミング(5GMS, 5G media streaming)のための方法及び装置を提供する。いくつかの例では、ユーザデバイスは処理回路を含む。処理回路は、ユーザデバイスの5GMSサービスクライアントから5Gデータネットワークの5GMSアプリケーション機能に要求を送信する。要求は、5GMSサービスを要求できる。次いで、処理回路は、エッジアプリケーションサーバによってインスタンス化された5GMSアプリケーションサーバの情報と共に、5GMSアプリケーション機能からの確認応答を受信する。次いで、処理回路は、5GMSアプリケーションサーバの情報に基づいて、5Gメディアストリーミングを実行できる。
【0007】
いくつかの例では、エッジアプリケーションサーバは、ユーザデバイスの位置、エッジアプリケーションサーバの位置、及びエッジアプリケーションサーバの能力のうち少なくとも1つに基づいて選択できる。
【0008】
いくつかの例では、処理回路は、ユーザデバイス内の5GMS認識アプリケーションからのメディア要求に応答して要求を送信する。
【0009】
いくつかの例では、処理回路は、5GMSアプリケーション機能におけるエッジイネーブラ(edge enabler)サーバとの5GMSサービスクライアントのエッジイネーブラクライアントのインタフェースを介して要求を送信する。
【0010】
いくつかの例では、エッジアプリケーションサーバは、エッジイネーブラサーバによって決定される。一例では、エッジイネーブラサーバは、要求内のフィルタリング情報に基づいて、エッジアプリケーションサーバを決定する。他の例では、エッジイネーブラサーバは、ユーザデバイスの位置に基づいて、エッジアプリケーションサーバを決定する。他の例では、エッジイネーブラサーバは、エッジイネーブラサーバからのディスカバリ要求に応答するエッジアプリケーションサーバからの確認応答に基づいて、エッジアプリケーションサーバを決定する。
【0011】
いくつかの例では、5GMSアプリケーション機能は、5GMSアプリケーションサーバをインスタンス化するようにエッジアプリケーションサーバに要求し、5GMSサービスを提供するように5GMSアプリケーションサーバに要求する。
【0012】
本開示のいくつかの態様によれば、5Gデータネットワークにおける5GMSアプリケーション機能のための処理回路は、5GMSサービスの要求を受信できる。5GMSアプリケーション機能のための処理回路は、5GMSサービスを提供するために5GMSアプリケーションサーバをインスタンス化するようにエッジアプリケーションサーバに要求できる。次いで、処理回路は、5GMSアプリケーションサーバの情報によって要求に応答できる。
【0013】
いくつかの例では、5GMSアプリケーション機能のための処理回路は、5Gデータネットワークにおける5GMSアプリケーションプロバイダから要求を受信する。いくつかの例では、5GMSアプリケーション機能のための処理回路は、ユーザデバイスから要求を受信する。
【0014】
いくつかの例では、5GMSアプリケーション機能のための処理回路は、エッジイネーブラサーバの機能を実行し、エッジアプリケーションサーバを決定できる。一例では、5GMSアプリケーション機能のための処理回路は、必要とされる能力、機能等のような要求内のフィルタリング情報に基づいて、エッジアプリケーションサーバを決定する。
【0015】
他の例では、5GMSアプリケーション機能のための処理回路は、ユーザデバイスの位置情報及びエッジアプリケーションサーバの位置情報に基づいて、エッジアプリケーションサーバを決定する。
【0016】
他の例では、5GMSアプリケーション機能のための処理回路は、エッジイネーブラサーバからのディスカバリ要求に応答するエッジアプリケーションサーバからの確認応答に基づいて、エッジアプリケーションサーバを決定できる。
【0017】
いくつかの例では、5GMSアプリケーション機能のための処理回路は、5GMSアプリケーションサーバをインスタンス化するようにエッジアプリケーションサーバに要求でき、次いで、5GMSサービスを提供するように5GMSアプリケーションサーバに要求できる。
【0018】
本開示の態様はまた、コンピュータによって実行されると、コンピュータにメディア処理のための方法を実行させる命令を記憶した非一時的なコンピュータ読み取り可能媒体を提供する。
【図面の簡単な説明】
【0019】
開示の対象物の更なる特徴、性質及び様々な利点は、以下の詳細な説明及び添付の図面からより明らかになる。
図1】本開示の一実施形態による例示的なメディア処理システムを示す。
図2】本開示の一実施形態によるグラフの一例を示す。
図3】いくつかの例における5Gメディアストリーミング(5GMS, 5G media streaming)システムのブロック図を示す。
図4】いくつかの例におけるエッジコンピューティングシステムのブロック図を示す。
図5】本開示のいくつかの実施形態によるエッジ可能メディアストリーミングシステムのブロック図を示す。
図6】本開示のいくつかの実施形態によるメディアサービスを実行するためのプロセスフローを示す図を示す。
図7】本開示のいくつかの実施形態によるメディアサービスを実行するためのプロセスフローを示す他の図を示す。
図8】本開示のいくつかの実施形態によるプロセス例を概説するフローチャートを示す。
図9】本開示のいくつかの実施形態によるプロセス例を概説するフローチャートを示す。
図10】一実施形態によるコンピュータシステムの概略図である。
【発明を実施するための形態】
【0020】
クラウドコンピューティングは、情報コンピューティングサービス(例えば、クラウドサービス)を配信するために、ネットワーク(例えば、インターネット)上のリモートサーバのネットワークを使用することを示す。クラウドサービスがサービス利用者(例えば、クライアント)に提供されるネットワークアーキテクチャ(例えば、ハードウェア及びソフトウェアを含む)は、クラウドと呼ばれる。クラウドコンピューティングは、データ処理、メディア処理、サーバ、ストレージ、ネットワーク、アプリケーション、オンラインサービス等のような広範なサービスへのアクセスを提供する。いくつかの例では、メディア処理は計算集約的になり、したがって、かなりのメディア処理ワークロードをリモートサーバにオフロードするために、メディア処理クラウドが使用できる。
【0021】
一般的に、クラウドコンピューティングシステムは、ネットワーク、1つ以上のサーバ及び1つ以上のクライアントデバイスを含む。ネットワークは、サーバとクライアントデバイスとの間の通信を容易にする。クライアントデバイスは、例えば、スマートフォン、タブレットコンピュータ、ラップトップ、パーソナルコンピュータ、ウェアラブルデバイス、ヘッドマウントディスプレイ(HMD, head-mounted display)等でもよい。サーバは、1つ以上のクライアントデバイスのためにコンピューティングサービスを提供できるいずれか適切なコンピューティングデバイス又は処理デバイスを含むことができる。例えば、各サーバは、1つ以上の処理デバイスと、命令及びデータを記憶する1つ以上のメモリと、ネットワークを介した通信を容易にする1つ以上のネットワークインタフェースとを含むことができる。いくつかの実施形態では、サーバは、処理タスクを実行するために機能を選択してワークフローパイプラインを構築できるワークフローマネージャを含む。
【0022】
メディア処理システムは、ワークフローマネージャ、機能リポジトリ、メディア処理エンティティ(MPE, media processing entity)、ネットワークベースメディア処理(NBMP, network based media processing)ソース等のように、異なる機能を有する様々なエンティティを含むことができる。
【0023】
メディア処理システムでは、NBMPソースは、要求されたメディア処理を記述し、メディアデータの性質及びフォーマットに関する情報を提供する。したがって、NBMPワークフローマネージャは、メディア処理ワークフローを確立することができ、ワークフローの準備ができたことをNBMPソースに通知し、次いで、メディア処理が開始できる。例えば、メディアソースは、処理のためにメディアをネットワークに送信し始めることができる。
【0024】
いくつかの実施形態では、NBMPワークフローは、メディア処理タスクの間の入力/出力関係に基づいて接続されたメディア処理タスクを含む。メディア処理タスクのそれぞれは、ビデオ復号、ビデオステッチング(stitching)、ビデオ符号化等のようなメディア処理操作を実行する。一例では、第1のメディア処理タスクは、入力に基づいてメディア処理操作を実行し、出力を生成する。第1のメディア処理タスクの出力は、第1のメディア処理タスクに接続された第2のメディア処理タスクへの入力として使用できる。言い換えると、NBMPワークフローはメディア処理タスクの接続グラフとして考えることができる。
【0025】
ワークフローマネージャは、各タスク及びワークフロー出力を構成及び監視することにより、ワークフローの正確な操作を確保できる。いくつかの例では、ワークフローマネージャは、NBMPソースから受信したワークフロー記述に基づくタスクとして、メディア処理機能を選択し、メディア処理機能をインスタンス化するように構成される。
【0026】
メディア処理システムでは、メディア処理タスクを実行するメディア処理エンティティを確立、ロード、インスタンス化及び監視するために、適切な相互作用が実行できる。いくつかの例では、アプリケーションプログラミングインタフェース(API, application programming interfaces)は、NBMPソースとワークフローマネージャとの間、ワークフローマネージャとタスクとの間で定義でき、適切な機能を発見するためにAPIが定義される。いくつかの例では、メディア処理システムは、メディアフォーマット及びプロトコルを問わないように構成される。メディア処理システムは、メディアソースとワークフローマネージャとタスクとの間で交換されるデータについて、メディア、メタデータ及び補助情報フォーマットを識別して伝達できる。
【0027】
いくつかの例では、メディア処理のために、デジタルネットワークを通じて接続されたエンティティの間のデータフォーマットとアプリケーションプログラミングインタフェース(API, application programming interface)との双方を含むインタフェースが定義できる。ユーザは、効率的でインテリジェントな処理のために、リモートでユーザ操作にアクセスして構成できる。メディアデータに適用されるワークフローが記述されて管理できる。メディアデータはネットワークにアップロードでき、メディア処理タスクがインスタンス化されて構成できる。いくつかの実施形態では、メディア処理パイプラインの動的な作成、並びにリアルタイムで或いは遅らせた方式での処理されたメディアデータ及びメタデータへのアクセスが可能である。メディア処理パイプラインにおいてメディアソースとワークフローマネージャとメディア処理エンティティとの間で使用されるメディアフォーマット及びメタデータフォーマットも指定される。
【0028】
一例では、クライアント(例えば、クリエータ、サービスプロバイダ、デジタルメディアの利用者)は、ネットワークにおいてメディア処理エンティティによって実行されるべきメディア処理操作を記述できる。ワークフローは、インタフェース(例えば、NBMP API)を通じてアクセス可能なメディア処理機能のセットを構成することによって記述できる。メディア処理エンティティ(MPE, media processing entity)は、メディアソースから受信したメディア及び関連するメタデータに適用される処理タスク、又は他のタスクを実行できる。MPEは、処理タスクを構成、管理及び監視するための能力を提供できる。メディア処理タスクは、メディア及びメタメディア入力に適用され、メディアシンク又は他のメディア処理タスクによって利用されるデータ及び関連するメタデータ出力を生成するプロセスとすることができる。
【0029】
メディア処理システムは、ストリーミング、ファイル配信、プッシュベースのプログレッシブダウンロード、ハイブリッド配信、マルチパス及びヘテロジニアスネットワーク環境のような様々な配信方法をサポートできる。
【0030】
図1は、本開示の実施形態による例示的なメディア処理システム(例えば、NBMPシステム、NBMP参照アーキテクチャ、NBMPアーキテクチャ)(100)を示す。メディア処理システム(100)は、メディアソース(101)、ワークフローマネージャ(例えば、NBMPワークフローマネージャ)(103)、機能リポジトリ(105)、メディアソース(111)、メディア処理エンティティ(MPE, media processing entity)(113)、メディアシンク(115)、サードパーティエンティティ等のような複数のエンティティを含むことができる。メディア処理システム(100)は、更なるメディアソース、メディアシンク及び/又はメディア処理エンティティを含むことができる。メディア処理システム(100)は、ネットワークにおける1つ以上の処理エンティティの間でメディアデータを処理することができる。メディアのための様々なメディア及び制御情報(又は制御データ)等は、メディア処理システム(100)内の複数のエンティティの間で通信できる。
【0031】
議論の目的で状況を提供するために、メディア処理システム(100)は以下ではNBMPシステム(100)として記載される。当該記載は、いずれかのメディア処理システムに適切に適合できる。
【0032】
NBMPソース(101)は、ネットワークにおけるメディア処理を記述でき、或いは、別法で示すことができる。機能リポジトリ(105)は、様々なNBMP機能のNBMP機能記述を含むことができる。NBMPソース(101)及びワークフローマネージャ(103)は、機能リポジトリ(105)からNBMP機能の記述又は機能を取り出すことができる。NBMP機能は、スタンドアロンの自己完結型メディア処理操作及び/又は操作の対応する記述の実装を示すことができる。
【0033】
処理タスク又はタスクは、MPE(113)によって実行されるNBMP機能のランタイムインスタンスを示すことができる。NBMPワークフロー又はワークフローは、要求されたメディア処理を達成する1つ以上の接続されたタスクのグラフ(例えば、有向非循環グラフ(DAG, directed acyclic graph))によって表現できる。ワークフローマネージャ(103)は、例えばワークフロー記述ドキュメント(WDD, workflow description document)に基づいて、タスクを提供し、タスクを接続して、ワークフローを作成、制御、管理及び監視できる。
【0034】
メディアソース(111)は、ワークフローによって処理されるべきメディアコンテンツ(例えば、メディアデータ、補足情報)を提供できる。補足情報は、メディアデータに関連するメタデータ又は補助情報を含むことができる。メディアソース(111)は、ワークフローへの入力を提供できる。メディアシンク(115)は、ワークフローの出力を利用できる。MPE (113)は、1つ以上のメディア処理タスクを実行して、メディアコンテンツを処理できる。
【0035】
NBMPシステム(100)内の異なるエンティティ(例えば、NBMPソース(101)、ワークフローマネージャ (103)、MPE(113))は、メディアサービス要求を呼び出して応答するためにAPIを使用できる。APIは、NBMPワークフローAPI又はワークフローAPI、機能ディスカバリAPI及びタスクAPIを含むことができる。ワークフローAPIは、NBMPソース(101)とワークフローマネージャ(103)との間のインタフェースを提供できる。タスクAPIは、ワークフローマネージャ(103)とメディア処理タスクとの間のインタフェースを提供できる。機能ディスカバリAPIは、ワークフローマネージャ(103)/NBMPソース(101)と機能リポジトリ(105)との間のインタフェースを提供できる。
【0036】
上記のNBMPインタフェースは、ネットワークにおいてメディア処理ワークフローを作成及び制御するために使用できる。NBMPシステム(100)は、制御プレーンとメディアプレーン(又はメディアデータプレーン)とに分割できる。制御プレーンは、ワークフローAPI、機能ディスカバリAPI及びタスクAPIを含むことができる。
【0037】
ワークフローAPIは、メディア処理ワークフローを作成及び制御するために、NBMPソース(101)によって使用されることができる。NBMPソース(101)は、ネットワークにおいてメディア処理を構成及び制御するために、ワークフローAPI を使用してワークフローマネージャ(103)と通信できる。ワークフローリソース(WR, workflow resource)をワークフローAPIの操作に含めることにより、NBMPソース(101)が要求をワークフローマネージャ(103)に送信した場合、ワークフローマネージャ(103)は、WR、含まれているWDD及び対応する記述子(descriptor)を解析し、要求された操作に従って適切なアクションを取ることができる。次いで、ワークフローマネージャ(103)は、応答によって要求を確認できる。ワークフローAPI操作は、ワークフローを作成すること(例えば、CreateWorkflow)、ワークフローを更新すること(例えば、UpdateWorkflow)、ワークフローを削除すること(例えば、DeleteWorkflow)、ワークフローを検索すること(RetrieveWorkflow)等を含むことができる。
【0038】
機能ディスカバリAPIは、ワークフローマネージャ(103)及び/又はNBMPソース(101)がメディア処理ワークフローの一部としてロードできるメディア処理機能を発見するための手段を提供できる。
【0039】
タスクAPIは、タスク(例えば、MPE(113)により実行されるタスク1及びタスク2)を、実行時に構成及び監視するために、ワークフローマネージャ(103)によって使用できる。タスクAPIは、例えば、タスクのためのリソースがMPE(113)のいて割り当てられた後に、ワークフローマネージャ(103)によるメディア処理タスクの構成のためのインタフェースを定義することができる。タスクAPI操作は、タスクを生成すること(例えば、CreateTask)、タスクを更新すること(例えば、UpdateTask)、タスクを取得すること(例えば、GetTask)、タスクを削除すること(例えば、DeleteTask)等を含むことができる。
【0040】
メディアプレーンにおいて、NBMPソース(111)とタスクとの間、且つ、タスクの間にメディアフォーマット、メタデータ及び補足情報フォーマットが定義できる。
【0041】
ワークフロー記述(WD, workflow description)は、NBMPソース(101)からワークフローマネージャ(103)へ渡されることができる。WDは、入力データ及び出力データ、機能、並びにワークフローのための他の条件のような情報を記述できる。
【0042】
ワークフローマネージャ(103)は、NBMPソース(101)からWDDを受信でき、要求されたメディア処理のためのワークフローを構築できる。ワークフローのプロシージャにおいて、メディア処理機能は、例えば、機能リポジトリ(105)から選択でき、次いで、対応するメディア処理タスクが構成され、1つ以上のMPE(例えば、MPE(113)を含む)のセットに分配できる。
【0043】
機能リポジトリ(105)によって提供される機能のセットは、NBMPソース(101)及びワークフローマネージャ(103)によって読み取られることができる。実施形態では、NBMPソース(101)は、機能リポジトリ(105)内の機能のセットを使用して、ワークフローの作成を要求する。したがって、NBMPソース(101)は、ワークフローのための機能を選択するように構成される。NBMPソース(101)は、以下で説明するようにワークフローの作成を要求できる。NBMPソース(101)は、ワークフローが作成されるメディア処理タスクの記述を使用でき、メディア処理タスクの入力及び出力の接続を定義するために接続マップを指定できる。ワークフローマネージャ(103)がNBMPソース(101)から上記の情報を受信した場合、ワークフローマネージャ(103)は、それぞれの機能名に基づいてメディア処理タスクをインスタンス化でき、接続マップに従ってメディア処理タスクを接続できる。
【0044】
代替として、NBMPソース(101)は、ワークフローマネージャ(103)がワークフローを構築できるキーワードのセットを使用してワークフローの作成を要求できる。したがって、NBMPソース(101)は、ワークフローに挿入されるべき機能のセットを認識しなくてもよい。NBMPソース(101)は、以下に説明するようにワークフローの作成を要求できる。NBMPソース(101)は、キーワードのセットを使用でき、当該キーワードのセットによってワークフローマネージャ(103)が適切な機能を見つけることができ、適切なワークフロー記述を使用してワークフローの要件を指定できる。
【0045】
ワークフローマネージャ(103)がNBMPソース(101)から上記の情報(例えば、キーワードのセット)を受信した場合、ワークフローマネージャ(103)は、例えば、処理記述子で指定されたキーワードを使用して適切な機能を探索することによって、ワークフローを作成できる。次いで、ワークフローマネージャ(103)は、ワークフロー記述内の他の記述子を使用してメディア処理タスクを提供し、メディア処理タスクを接続して最終的なワークフローを作成できる。
【0046】
ワークフローマネージャ(103)の処理モデルは以下のように記述できる。
【0047】
ワークフローマネージャ(103)は、以下のような利用可能なメディア処理機能を発見できる。NBMP機能リポジトリ(105)は、外部エンティティが要求処理を満たすことができるメディア処理機能を問い合わせることを可能にするために、機能ディスカバリインタフェース(又はAPI)を提供できる。ワークフローマネージャ(103)は、メディア処理機能の探索可能なリストを提供するディレクトリサービスにアクセスできる。ワークフローマネージャ(103)は、ワークフロー記述内のメディア処理タスクの記述を使用して、ワークフローのための適切な機能を見つけることができる。
【0048】
ワークフローのためのメディア処理タスクの選択は、以下のように記述できる。メディア処理の要求がNBMPソース(101)から受信された場合、ワークフローマネージャ(103)は、機能リポジトリ(105)を探索して、ワークフローを満たすことができる全ての利用可能な機能のリストを見つけることができる。NBMPソース(101)からのワークフロー記述を使用して、ワークフローマネージャ(103)は、機能リポジトリ(105)から機能を見つけてワークフローを実装でき、ワークフローはMBMPソース(101)からのメディア処理のための情報に依存できる。メディア処理のための情報は、入力及び出力の記述、要求される処理の記述、及び機能ディレクトリ(105)における機能の他の記述子の情報を含むことができる。ワークフローに含まれるべき適切なメディア処理タスクへのソース要求のマッピングは、ネットワークにおけるNBMPの実装の一部とすることができる。タスク作成時に入力ソースを入力ポート名及び出力ポート名で参照及びリンクするために、入力ポート及び出力ポートは、入力ストリームに対する参照を行うために使用できる。
【0049】
タスクとしてインスタンス化されるべき適切な機能の探索は、機能ディスカバリAPIを使用してワークフローマネージャ(103)によって実行できる。代替として、ワークフローマネージャ(103)は、機能ディスカバリAPIを使用して、機能リポジトリ(105)内の全部又は一部の適切な機能の詳細な情報を取り出すことができる。次いで、ワークフローマネージャ(103)は、NBMPソース(101)からのメディア処理のための情報を、各機能の異なる記述子と比較できる。
【0050】
選択されたメディア処理タスクは、ワークフローにおいて構成できる。ワークフローに含まれるべき機能が識別された場合、NBMPワークフローマネージャ(103)は、当該機能をそれぞれのタスクとしてインスタンス化してタスクを構成でき、その結果、タスクがワークフローに追加できる。NBMPワークフローマネージャ(103)は、NBMPソース(101)から受信したメディア処理情報から構成データを抽出し、対応するタスクを構成できる。タスクの構成は、タスクAPI(例えば、NBMPタスクAPI)を使用して実行できる。
【0051】
タスクの割り当て及び分配は以下のように記述できる。ワークフローマネージャ(103)は、ワークフローを使用して、処理の配備を実行し、メディア処理エンティティを構成できる。一例では、計算集約的なメディア処理要求について、ワークフローマネージャ(103)は、複数の計算インスタンスを設定し、複数の計算インスタンスの間で作業負荷を分配できる。したがって、ワークフローマネージャ(103)は、必要に応じて複数の計算インスタンスを接続して構成できる。一例では、ワークフローマネージャ(103)は、同じタスクを複数のインスタンスに割り当て、選択されたスケジューリングメカニズムを使用して、複数のインスタンスの間で作業負荷を分配するロードバランサを提供する。代替例では、ワークフローマネージャ(103)は、同じタスクの異なる操作を異なるインスタンスに割り当てる(例えば、並列操作)。上記の双方の例において、ワークフローマネージャ(103)は、インスタンスの間のワークフローパスを設定でき、したがって、適切なワークロードをうまく実現できる。ワークフローマネージャ(103)は、処理されたメディアデータ/ストリームを、ワークフローグラフ内の次のタスクにプッシュするように(或いはプルメカニズムを通じてこれらを利用可能にするように)タスクを構成できる。
【0052】
ワークフローマネージャ(103)がNBMPソース(101)からWDDを受信した場合、ワークフローマネージャ(103)は、ワークフローに挿入されるべきメディア処理機能の選択を実行できる。ワークフローに含まれるべきタスクのリストがコンパイルされた場合、ワークフローマネージャ(103)は、ワークフローを準備するためにタスクを接続できる。
【0053】
ワークフローマネージャ(103)は、例えば、WDDからのグラフ(例えば、DAG)によって表現されるようなワークフローを生成できる。図2は、本開示の実施形態によるグラフ(例えば、DAG)(200)の一例を示す。DAG(200)は、複数のノード(T1)~(T6)及び複数のリンク(又は接続)(202)~(208)を含むことができる。一例では、DAG(200)はワークフロー(200)を表す。
【0054】
DAG(200)の各ノードは、ワークフロー(200)におけるメディア処理タスクを表すことができる。DAG(200)内の第1のノード(例えば、ノード(T1))を第2のノード(例えば、ノード(T2))に接続するリンク(例えば、リンク(202))は、第2のノード(例えば、ノード(T2))への入力としての第1のノード(例えば、ノード(T1))の出力の伝達を表すことができる。
【0055】
一般的に、ワークフローは、いずれか適切な数の入力(又はワークフロー入力)及びいずれか適切な数の出力(又はワークフロー出力)を含むことができる。ワークフロー入力は、メディアソース(111)、他のワークフロー等に接続でき、ワークフロー出力は、メディアシンク(115)、他のワークフロー等に接続できる。ワークフロー(200)は、入力(201)と出力(209)及び(210)とを有する。いくつかの実施形態では、ワークフロー(200)は、中間ノードからの1つ以上の出力を有することができる。
【0056】
いくつかの例では、メディアストリーミングアプリケーションは、クラウドプラットフォーム上で実行できる。例えば、5Gメディアストリーミング(5GMS, 5G media streaming)システムは、モバイルネットワークオペレータ(MNO, mobile network operator)及びサードパーティのダウンリンク又はアップリンクメディアストリーミングサービスを含むサービスをサポートできる。5GMSシステムは、関連するネットワーク、UE機能及びAPIを提供できる。5GMSシステムは、機能的に独立した構成要素に分割でき、5G MNOとコンテンツプロバイダとの間で様々な程度の統合によって異なる配備を可能にする。
【0057】
一般的に、ストリーミングは、主流のメディアとしての時間連続的なメディアコンテンツの配信として定義できる。メディアコンテンツは、主に単一の方向に送信され、受信しながら利用できる。さらに、ストリーミングのメディアコンテンツは、生成されながらストリーミングでき、ストリーミングは、ライブストリーミングと呼ばれることができる。ストリーミングのコンテンツが既に生成されている場合、そのストリーミングはオンデマンドストリーミングと呼ばれることができる。
【0058】
図3は、いくつかの例における5GMSシステム(300)のブロック図を示す。5GMSシステム(300)は、ユーザ機器(UE, user equipment)(301)及びデータネットワーク(DN, data network)(302)を含むことができる。5GMSシステム(300)は、アプリケーション機能(AF, application function)、アプリケーションサーバ(AS, application server)、クライアント(例えば、UE内部機能)、及びダウンリンクメディアストリーミングサービス若しくはアップリンクメディアストリーミングサービス又はこれらの双方をサポートするインタフェースのアセンブリとすることができる。ダウンリンクストリーミングでは、DN(302)がメディアの起点であり、UE(301)が利用デバイスとして機能する。アップリンクストリーミングでは、UE(301)がメディアの起点であり、DN(302)が利用エンティティとして機能する。5GMSシステム(300)の構成要素は、5GSの一部としてMNOによって提供されてもよく、及び/又は5GMSアプリケーションプロバイダによって提供されてもよい。
【0059】
いくつかの例では、UE(301)は、5GMS認識アプリケーション(310)及び5GMSクライアント(320)を含むことができる。5GMSクライアント(320)は、メディアセッションハンドラ(321)及びメディアストリーマ(322)を含むことができる。DN(302)は、5GMSアプリケーションプロバイダ(330)、5GMSアプリケーション機能(AF, application function)(340)及び5GMSアプリケーションサーバ(AS, application server)(350)を含むことができる。5GMSシステム(300)は、2つの5G機能(例えば、3GPP 5G標準によって指定されるもの)、すなわち、ネットワーク公開機能(NEF, network exposure function)(361)及びポリシー制御機能(PCF, policy control function)(362)を含むことができる。これらの要素は、図3に示すように互いに結合される。
【0060】
5GMSアプリケーションプロバイダ(330)は、ストリーミングサービスのために5GMSシステム(300)を使用する。5GMSアプリケーションプロバイダ(330)は、5GMSシステム(300)において定義されたインタフェース及びAPIを使用して5GMSクライアント(320)及びネットワーク機能(340及び350)を利用するために、UE(301)上の5GMS認識アプリケーション(310)を提供するか或いは5GMS認識アプリケーション(310)に関連付けられる。例えば、5GMSクライアント(320)は、典型的には、アプリケーション又はコンテンツサービスプロバイダ特有のロジックを実装してメディアセッションが確立されることを可能にする、5GMS認識アプリケーション(310)(例えば、アプリケーション)によって制御される。例えば、5GMSアプリケーションプロバイダ(330)は、5GMSシステム(300)を使用して5GMS認識アプリケーションからメディアをストリーミングする、アプリケーション又はコンテンツ特有のメディア機能(例えば、メディアの記憶、利用、トランスコーディング及び再配信)とすることができる。
【0061】
5GMS AF(340)は、3GPP TS 23.501, “System architecture for the 5G System (5GS)”の第6.2.10節に定義されている5Gメディアストリーミング専用のものと同様のアプリケーション機能とすることができる。いくつかの例では、5GMS AF(340)は、トラフィックルーティング、ネットワーク公開機能(NEF, network exposure function)へのアクセス、ポリシー制御のためのポリシーフレームワークとの相互作用等に影響を与えることができるアプリケーション関連制御機能をサポートする。例えば、5GMS AF(340)は、UEにおけるメディアセッションハンドラ(321)及び/又は5GMSアプリケーションプロバイダに様々な制御機能を提供するアプリケーション機能とすることができる。5GMS AF(340)はまた、異なるポリシー又は課金機能(PCF, policy or charging function)処理の要求を中継又は開始してもよく、或いは、NEF(361)を介して他のネットワーク機能と相互作用してもよい。或る配備に存在しておりDN (302)内に存在する、それぞれ1つ以上のAPIを公開する複数の5GMS AFが存在してもよい。
【0062】
5GMS AS(350) は、アプリケーションサーバホスティングメディア機能のような5Gメディアストリーミング専用のアプリケーションサーバとすることができる。様々な例では、5GMS ASの異なる実現、例えば、コンテンツ配信ネットワーク(CDN, content delivery network)が存在してもよい。5GMS AF(340)及び5GMS AS(350)は、データネットワーク(DN, data network)機能であり、TS 23.501に定義されているようなN6インタフェースを介してUE(301)と通信する。
【0063】
5GMSクライアント(320)は、5Gメディアストリーミング専用のUE内部機能とすることができる。
【0064】
5GMSメディアストリーマ(322)は、5GMSアプリケーションプロバイダ(330)のAS機能(350)へのストリーミングメディアコンテンツのアップリンク配信を可能にするUE機能とすることができる。5GMSメディアストリーマ(322)は、メディアキャプチャ及びその後のストリーミングのための5GMS認識アプリケーション(310)と、メディアセッション制御のためのメディアセッションハンドラ(321)との双方と相互作用できる。例えば、5GMSメディアストリーマ(322)は、提供された入力デバイス上のメディアをキャプチャする。5GMSメディアストリーマ(322)は、キャプチャ、一時停止及び停止のようないくつかの基本的な制御を、5GMS認識アプリケーション(310)に公開する。一例では、5GMS AF(340)は、NEF可能なAPIアクセスのためにNEF(361)と相互作用することができる。例えば、5GMS AF(340)は、NEF(361)を使用してPCF(362)と相互作用できる。
【0065】
メディアセッションハンドラ(321)は、メディアセッションの配信を確立、制御及びサポートするために5GMS AF (340)と通信するUE(301)上の機能とすることができる。メディアセッションハンドラ(321)は、5GMS認識アプリケーション(310)によって使用できるAPIを公開すり。
【0066】
いくつかの例では、5GMSシステム(300)は、M1、M2、M3、M4、M5、M6、M7、M8等のような様々なインタフェースを含み、インタフェースの説明は、以下のように提供できる。
【0067】
M1(5GMS Provisioning API):5Gメディアストリーミングシステムの使用を提供し、フィードバックを取得するための、5GMS AF(340)によって公開される外部API。
【0068】
M2(5GMS Publish API):信頼されたDN内の5GMS AS(350)がストリーミングサービスのコンテンツを受信/ホスティングするために選択されたときに使用される5GMS AS(350)によって公開される任意選択の外部API。
【0069】
M3(Internal):信頼されたDN内の5GMS AS(350)におけるコンテンツのホスティングのための情報を交換するために使用される内部API。
【0070】
M4(Media Streaming API):メディアコンテンツをストリーミングするために5GMS AS(350)によってメディアストリーマ(322)に公開されるAPI。
【0071】
M5(Media Session Handling API):適切なセキュリティメカニズム(例えば、認証及び許可並びにQoEメトリック報告)も含むメディアセッション処理、制御及び支援のために5GMS AF(340)によってメディアセッションハンドラ(321)に公開されるAPI。
【0072】
M6(UE Media Session Handling API):5GMS機能を利用するためにメディアセッションハンドラ(321)によって5GMS認識アプリケーションに公開され得るAPI。
【0073】
M7(UE Media Streamer API):測定及び記録されるべきQoEメトリックの構成並びにメトリック測定ログの収集を含み、メディアストリーマ(322)を利用するためにメディアストリーマ(322)によって5GMS認識アプリケーション(310)及びメディアセッションハンドラ(321)に公開され得るAPI。
【0074】
M8(Application API):例えば、サービスアクセス情報を5GMS認識アプリケーションに提供するために、5GMS認識アプリケーション(310)と5GMSアプリケーションプロバイダ(330)との間の情報交換に使用されるアプリケーションインタフェース。
【0075】
図4は、エッジアプリケーションを可能するためのアーキテクチャを有するエッジコンピューティングシステム(400)のブロック図を示す。エッジコンピューティングシステム(400)は、図4に示すように共に結合されたエッジデータネットワーク(410)、エッジ構成サーバ(490)、コアネットワーク(430)及びUE(UE(440)によって示す)を含む。
【0076】
いくつかの例では、エッジデータネットワーク(410)は、ローカルデータネットワークである。エッジデータネットワーク(EDN, edge data network)(410)は、1つ以上のエッジアプリケーションサーバ(485)及び1つ以上のエッジイネーブラサーバ(480)を含むことができる。エッジ構成サーバ(490)は、例えば、エッジイネーブラサーバ(480)をホストするエッジデータネットワーク(410)の詳細を含む、エッジイネーブラサーバ(EES, edge enabler server)(480)に関連する構成を提供できる。UE(440)は、アプリケーションクライアント(441)及びエッジイネーブラクライアント(470)を含むことができる。エッジアプリケーションサーバ(485)、エッジイネーブラサーバ(480)及びエッジ構成サーバ(490)は、コアネットワーク(430)と相互作用してもよい。
【0077】
エッジコンピューティングシステム(400)内の様々な構成要素は、エッジアプリケーションを可能にするための機能によって適切に構成される。
【0078】
いくつかの例では、エッジイネーブラサーバ(480)は、エッジアプリケーションサーバ(485)及びエッジイネーブラクライアント(470)に必要なサポート機能を提供できる。例えば、エッジイネーブラサーバ(480)は、構成情報をエッジイネーブラクライアント(470)に提供し、エッジアプリケーションサーバ(485)とのアプリケーションデータトラフィックの交換を可能にできる。さらに、エッジイネーブラサーバ(480)は、API呼び出し側の機能及びAPI公開機能をサポートできる。エッジイネーブラサーバ(480)はまた、ネットワーク機能の能力に直接的に(例えば、PCFを介して)或いは間接的に(例えば、サービス能力公開機能(SCEF, service capability exposure function)/ネットワーク公開機能(NEF, network exposure function)/SCEF+NEFを介して)アクセスするためにコアネットワーク(430)と相互作用できる。いくつかの例では、エッジイネーブラサーバ(480)は、アプリケーションコンテキスト転送の機能をサポートできる。さらに、エッジイネーブラサーバ(480)は、例えば図4におけるEDGE-3上で、3GPPネットワークの外部公開及びエッジアプリケーションサーバへのサービス能力をサポートできる。いくつかの例では、エッジイネーブラサーバ(480)は、エッジイネーブラクライアント(470)及びエッジアプリケーションサーバ(485)の登録(例えば、登録、更新及び登録解除)の機能をサポートできる。さらに、エッジイネーブラサーバ(480)は、エッジアプリケーションサーバ(EAS, edge application server)インスタンス化をオンデマンドでトリガする機能をサポートできる。
【0079】
いくつかの例では、エッジイネーブラクライアント(EEC, edge enabler client)(470)は、アプリケーションクライアント(441)に必要なサポート機能を提供できる。いくつかの例では、エッジイネーブラクライアント(EEC)(470)は、アプリケーションクライアント(441)とエッジアプリケーションサーバ(485)との間のアプリケーションデータトラフィックの交換を可能にするために、構成情報を取得して提供できる。さらに、エッジイネーブラクライアント(EEC)(470)は、エッジデータネットワーク(410)内で利用可能なエッジアプリケーションサーバ(485)を発見できる。
【0080】
エッジ構成サーバ(ECS, edge configuration server)(490)は、エッジイネーブラクライアント(470)がエッジイネーブラサーバ(480)と接続するために必要なサポート機能を提供できる。いくつかの例では、エッジ構成サーバ(490)は、エッジ構成情報をエッジイネーブラクライアント(470)に提供できる。エッジ構成情報は、エッジイネーブラクライアント(470)がエッジイネーブラサーバ(480)に接続するための情報(例えば、ローカルエリアデータネットワーク(LADN, local area data network)に適用可能なサービスエリア情報)と、エッジイネーブラサーバ(480)との接続を確立するための情報(URI等)とを含むことができる。
【0081】
エッジ構成サーバ(490)は、MNOドメインに配備でき、或いは、サービスプロバイダによってサードパーティドメインに配備できる点に留意する。
【0082】
エッジ構成サーバ(490)は、エッジイネーブラサーバ(480)の登録(すなわち、登録、更新及び登録解除)の機能をサポートできる。エッジ構成サーバ(490)は、API呼び出し側の機能及びAPI公開機能をサポートできる。エッジ構成サーバ(490)は、ネットワーク機能の能力に直接的に(例えば、PCFを介して)或いは間接的に(例えば、SCEF/NEF/SCEF+NEFを介して)アクセスするために、コアネットワーク(430)と相互作用できる。
【0083】
アプリケーションクライアント(441)は、UE440に常駐するアプリケーションとすることができ、クライアント機能を実行できる。
【0084】
エッジアプリケーションサーバ(EAS, edge application server)(485)は、エッジデータネットワーク(410)に常駐するアプリケーションサーバであり、サーバ機能を実行できる。いくつかの例では、アプリケーションクライアント(441)は、エッジコンピューティングの利点によってアプリケーションのサービスを利用するために、エッジアプリケーションサーバ(485)に接続できる。
【0085】
いくつかの例では、アプリケーションのサーバ機能は、エッジアプリケーションサーバ(485)でのみ使用可能である。いくつかの例では、エッジアプリケーションサーバ(485)及びクラウドにそれぞれ常駐するアプリケーションサーバ(図示せず)のような他のアプリケーションサーバのように、特定のサーバ機能がエッジ及びクラウドの双方において利用可能である。エッジアプリケーションサーバ(485)及びクラウドアプリケーションサーバの対応するものによって提供されるサーバ機能は同じでもよく或いは異なってもよい。サーバの機能が異なる場合、アプリケーションクライアントと交換されるアプリケーションデータトラフィックも異なってもよい。
【0086】
エッジアプリケーションサーバ(485)は、様々な方法でコアネットワーク能力を利用してもよい。一例では、エッジアプリケーションサーバ(485)がコアネットワーク(430)によって信頼されたエンティティである場合、エッジアプリケーションサーバ(485)は、コアネットワーク機能APIを直接呼び出してもよい。他の例では、エッジアプリケーションサーバ(485)は、エッジイネーブラサーバ(480)を通じてコアネットワーク能力を呼び出してもよい。他の例では、エッジアプリケーションサーバ(485)は、能力公開機能、すなわち、SCEF又はNEFを通じてコアネットワーク能力を呼び出してもよい。
【0087】
図4はまた、図4における参照点EDGE-1、EDGE-2、EDGE-3、EDGE-4、EDGE-5、EDGE-6、EDGE-7、EDGE-8のような、エッジ計算システム(400)内の機能要素の間の参照点を示す。
【0088】
いくつかの例では、参照点EDGE-1は、EES(480)とEEC(470)との間の相互作用を可能にする適切なインタフェース構成要素(ハードウェア構成要素、ソフトウェア構成要素等)を含んでもよい。参照点EDGE-1は、様々な機能をサポートできる。一例では、参照点EDGE-1は、エッジイネーブラサーバへのエッジイネーブラクライアントの登録及び登録解除をサポートするように構成される。他の例では、参照点EDGE-1は、エッジアプリケーションサーバ構成情報の検索及び提供をサポートするように構成される。他の例では、参照点EDGE-1は、エッジデータネットワーク(410)において利用可能なエッジアプリケーションサーバの発見をサポートするように構成される。
【0089】
いくつかの例では、参照点EDGE-2は、エッジイネーブラサーバとコアネットワークとの間の相互作用を可能にする適切なインタフェース構成要素(ハードウェア構成要素、ソフトウェア構成要素等)を含んでもよい。いくつかの例では、参照点EDGE-2は、ネットワーク能力情報の検索のためのコアネットワーク機能及びAPIへのアクセスをサポートするように構成される。
【0090】
いくつかの例では、参照点EDGE-3は、EES(480)とEAS(485)との間の相互作用を可能にする適切なインタフェース構成要素(ハードウェア構成要素、ソフトウェア構成要素等)を含んでもよい。一例では、参照点EDGE-3は、可用性情報(例えば、時間制約、位置制約)によるエッジアプリケーションサーバの登録をサポートするように構成される。他の例では、参照点EDGE-3は、エッジイネーブラサーバ(480)からのエッジアプリケーションサーバ(485)の登録解除をサポートするように構成される。他の例では、参照点EDGE-3は、アプリケーションコンテキスト転送をサポートするためにターゲットエッジアプリケーションサーバ情報の発見をサポートするように構成される。他の例では、参照点EDGE-3は、ネットワーク能力情報(例えば、位置情報、QoS関連情報)へのアクセスの提供をサポートするように構成される。他の例では、参照点EDGE-3は、特定のQoSによって、アプリケーションクライアント(441)のようなアプリケーションクライアントとEAS(485)との間のデータセッションの設定を要求することをサポートするように構成される。
【0091】
いくつかの例では、参照点EDGE-4は、エッジ構成サーバ(490)とエッジイネーブラクライアント(470)との間の相互作用を可能にする適切なインタフェース構成要素(ハードウェア構成要素、ソフトウェア構成要素等)を含んでもよい。いくつかの例では、参照点EDGE-4は、エッジイネーブラクライアント(470)へのエッジ構成情報の提供をサポートするように構成される。
【0092】
いくつかの例では、参照点EDGE-5は、アプリケーションクライアント(441)とエッジイネーブラクライアント(470)との間の相互作用を可能にする適切なインタフェース構成要素(ハードウェア構成要素、ソフトウェア構成要素等)を含んでもよい。
【0093】
いくつかの例では、参照点EDGE-6は、エッジ構成サーバ(490)とエッジイネーブラサーバ(480)との間の相互作用を可能にする適切なインタフェース構成要素(ハードウェア構成要素、ソフトウェア構成要素等)を含んでもよい。いくつかの例では、参照点EDGE-6は、エッジ構成サーバ(490)へのエッジイネーブラサーバ情報の登録をサポートするように構成される。
【0094】
いくつかの例では、参照点EDGE-7は、エッジアプリケーションサーバ(485)とコアネットワーク(430)との間の相互作用を可能にする適切なインタフェース構成要素(ハードウェア構成要素、ソフトウェア構成要素等)を含んでもよい。いくつかの例では、参照点EDGE-7は、ネットワーク能力情報の検索のためのコアネットワーク機能及びAPIへのアクセスをサポートするように構成される。
【0095】
いくつかの例では、参照点EDGE-8は、エッジ構成サーバ(490)とコアネットワーク(430)との間の相互作用を可能にする適切なインタフェース構成要素(ハードウェア構成要素、ソフトウェア構成要素等)を含んでもよい。いくつかの例では、参照点EDGE-8は、ネットワーク能力情報の検索のためのコアネットワーク機能及びAPIへのアクセスをサポートするように構成される。
【0096】
本開示のいくつかの態様は、エッジコンピューティング能力を有するメディアストリーミングシステムを提供する。
【0097】
図5は、本開示のいくつかの実施形態による、エッジ可能メディアストリーミングシステム(500)のブロック図を示す。エッジ可能メディアストリーミングシステム(500)は、5GMSシステム(300)内の構成要素及びエッジコンピューティングシステム(400)内の構成要素として同様に構成される構成要素を含む。例えば、5GMS認識アプリケーション(510)は5GMS認識アプリケーション(310)と同等であり、メディアセッションハンドラ(521)はメディアセッションハンドラ(321)と同等であり、メディアストリーマ(522)はメディアストリーマ(322)と同等であり、5GMSクライアント(520)は5GMSクライアント(320)と同等であり、5GMS AF(540)は5GMS AF(340)と同等であり、5GMS AS (550)は5GMS AF(350)と同等であり、5GMSアプリケーションプロバイダ(530)は5GMSアプリケーションプロバイダ(530)と同等であり、NEF(561)はNEF(361)と同等であり、PCF(562)はPCF(362)と同等であり、EEC(570)はEEC(470)と同等であり、EES(580)はEAS(485)と同等であり、EAS(585)はEAS(485)と同等であり、ECS(590)はECS(490)と同等であり、DN(502)はDN(302)と同等であり、エッジデータネットワークも含む。図5におけるM1~M8は図3におけるM1~M8とそれぞれ同等であり、図5におけるEDGE-1、EDGE-3~EDGE-6は、図4におけるEDGE-1、EDGE-3~EDGE-6とそれぞれ同等である。これらの構成要素の説明は、上記に提供されており、明確にするためにここでは省略される。
【0098】
図5の例では、EES(580)は複数のEAS(585)を発見でき、EAS(585)は、5GMS AS(550)とは別個のエンティティと考えられる。いくつかの例では、EAS(585)は5GMS AS(550)をインスタンス化できる。5GMS AF(540)は、エッジイネーブラサーバの機能を含み、例えば、5GMS AF(540)は、EES(580)を含むことができる。5GMS AF(540)は、EES(580) を使用してEAS(585)を発見及び選択できる。EAS(585)は、5GMS AS(550)をインスタンス化できる。次いで、5GMS AS(550)は、EES(580)によって定義された対応するハードウェア上で処理を実行できる。
【0099】
さらに図5において、いくつかの例では、5GMS AF(540)がEES(580)を含むので、5GMS AF(540)は、EES(580)の一部としてEDGE-2をサポートできる。
【0100】
いくつかの例では、EAS(585)はEDGE-7をサポートできる。いくつかの例では、EDGE-3は、メディア処理サポートを提供するように構成できる。
【0101】
いくつかの例では、M1は、更なる情報を含むように構成できる。一例では、5GMS AF (540)は、5GMSアプリケーションプロバイダ530へのエッジイネーブラサーバ(EES, edge enabler server)及びエッジアプリケーションサーバ(EAS, edge application server)のサポートを示すためにM1を使用でき、したがって、データネットワーク(502)がエッジ可能であることを5GMSアプリケーションプロバイダ530に通知する。他の例では、M1は、EES(580)の関連する更なる情報を5GMSアプリケーションプロバイダ(530)に公開できる。例えば、更なる情報はEES(580)の現在の可用性を示すことができる。
【0102】
いくつかの例では、M6は、更なる情報を含むように構成できる。一例では、メディアセッションハンドラ(521)は、M6を使用して、メディアセッションハンドラ(521)がEECの機能をサポートすることを示すことができる。例えば、メディアセッションハンドラ(521)はEEC(570)を含む。他の例では、M6は、EDGE-5のアドレス等のようなEDGE-5の情報を含むように構成される。
【0103】
図6は、本開示のいくつかの実施形態によるエッジ可能メディアストリーミングシステム(500)においてメディアサービスを実行するためのプロセスフロー(600)を示す図を示す。図6の例では、メディアサービスは、5GMSアプリケーションプロバイダ(530)によって要求される。
【0104】
(S610)において、5GMSアプリケーションプロバイダ(530)は、要求を5GMS AF (540)に送信し、5GMS AF(540)から特定のメディアサービスの提供を要求する。いくつかの例では、5GMSアプリケーションプロバイダ(530)は、要求を5GMS AF(540)に送信する。要求は、特定のメディアサービスのための使用機能、能力及び詳細な構成を含むことができる。一例では、要求は、ユーザデバイスの位置を決定するために使用できる情報を含むことができる。
【0105】
(S620)において、5GMS AF(540)は、エッジイネーブラサーバの機能を通じて、利用可能なEAS(585)を発見できる。例えば、5GMS AF(540)はEES(580)を含み、EES (580)は、利用可能なEAS(585)を発見するためにディスカバリ要求をEAS(585)に送信できる。いくつかの例では、ディスカバリ要求は、ユーザデバイスの位置を含むことができる。一例では、ユーザデバイスの位置は要求からのものである。他の例では、EES(580)は、例えば3GPPシステムから、ユーザデバイスの位置を検出できる。
【0106】
(S630)において、利用可能なEAS(585)は、EES(580)へのディスカバリ確認応答によってディスカバリ要求にそれぞれ応答できる。利用可能なEAS(585)からのディスカバリ確認応答は、利用可能なEAS (585)の情報を含むことができる。EES(580)及び5GMS AF(540)は、利用可能なEAS(585)の情報を受信できる。
【0107】
(S640)において、5GMS AF(540)は、利用可能なEAS (585)のうち1つを選択し、特定のメディアサービスを提供するための5GMS AS(550)のようなアプリケーションサーバをインスタンス化するために、要求を選択されたEAS(585)に送信できる。いくつかの例では、ステップ(S620)~(S630)は任意選択とすることができ、EES(580)は、EAS(585)の能力、位置及び他の適切な情報のようなEAS(585)の以前に記憶された情報に従って、利用可能なEAS(585)を決定し、利用可能なEAS(585)のうち1つを選択できる。
【0108】
(S650)において、EAS(585)は、アプリケーションサーバをインスタンス化でき、インスタンス化されたアプリケーションサーバについての確認応答を送信できる。確認応答は、5GMS AS(550)と呼ばれるインスタンス化されたアプリケーションサーバの情報を含むことができる。
【0109】
(S660)において、5GMS AS (550)の情報に基づいて、5GMS AF(540)は、特定のメディアサービスを実行するために、要求を5GMS AS(550)に送信できる。
【0110】
(S670)において、5GMS AS(550)は、特定のメディアサービスを実行し、確認のために確認応答を5GMS AF(540)に送信する。
【0111】
(S680)において、5GMS AF(540)は、メディアサービスが実行していることを確認するために、確認応答を5GMSアプリケーションプロバイダ(530)に送信できる。
【0112】
(S690)において、メディアストリーミングセッションが開始する。
【0113】
図7は、本開示のいくつかの実施形態によるエッジ可能メディアストリーミングシステム(500)においてメディアサービスを実行するためのプロセスフロー(700)を示す図を示す。図7において、メディアサービスは、5GMS認識アプリケーション(510)によって要求される。
【0114】
(S710)において、5GMS認識アプリケーション(510)は、特定のメディアサービスの提供を要求するために、要求をメディアセッションハンドラ(MSH, media session handler)(521)に送信できる。
【0115】
(S715)において、MSH(521)は、EEC(570)を通じて、特定のメディアサービスについて要求を5GMS AF(540)に送信できる。例えば、要求はEDGE-1によってEEC(570)からEES(580)に送信される。要求は、UE (501)の位置、EASディスカバリフィルタ(例えば、能力)、ESAのカテゴリ(例えば、ゲームアプリケーション等)等のようなUE(501)の情報を含む。
【0116】
(S720)において、5GMS AF(540)は、利用可能なEASを発見できる。例えば、5GMS AF(540)内のEES(580)は、ディスカバリ要求を送出できる。例えば、EES(580)は、利用可能なEAS(585)を発見するために、ディスカバリ要求をEAS(585)に送信できる。いくつかの例では、ディスカバリ要求はUE (501)の位置を含むことができる。一例では、UE(501)の位置はEEC (570)から受信される。他の例では、EES(580)は、例えば3GPPシステムから、UE(501)の位置を検出できる。
【0117】
(S725)において、利用可能なEAS(585)は、EES (580)へのディスカバリ確認応答によってディスカバリ要求にそれぞれ応答できる。利用可能なEAS(585)からのディスカバリ確認応答は、利用可能なEAS(585)の情報を含むことができる。EES(580)及び5GMS AF (540)は、利用可能なEAS(585)の情報を受信できる。
【0118】
(S730)において、5GMS AF(540)は、利用可能なEAS (585)のうち1つを選択し、特定のメディアサービスを提供するための5GMS AS(550)のようなアプリケーションサーバをインスタンス化するために、要求を選択されたEAS(585)に送信できる。いくつかの例では、ステップ(S720)~(S725)は任意選択とすることができる点に留意する。EES(580)は、以前に記憶されたEAS(585)の情報を含み、以前に記憶されたEAS(585)の情報に基づいて、利用可能なEAS(585)を決定し、利用可能なEAS(585)のうち1つを選択できる。
【0119】
(S735)において、EAS(585)は、アプリケーションサーバをインスタンス化し、インスタンス化されたアプリケーションサーバについての確認応答を送信できる。確認応答は、5GMS AS(550)と呼ばれるインスタンス化されたアプリケーションサーバの情報を含むことができる。
【0120】
(S740)において、5GMS AS(550)の情報に基づいて、5GMS AF(540)は、特定のメディアサービスを実行するために、要求を5GMS AS(550)に送信できる。
【0121】
(S745)において、5GMS AS(550)は、特定のメディアサービスを実行し、確認のために確認応答を5GMS AF(540)に送信する。
【0122】
(S750)において、5GMS AF(540)は、メディアサービスの確認応答をMSH(521)に送信でき、次いで、MSH(521)は、メディアサービスの確認応答を5GMS認識アプリケーション(510)に送信できる。
【0123】
(S755)において、メディアストリーミングセッションが開始する。
【0124】
図5図7に示すように、エッジ可能メディアストリーミングシステム(500)は、エッジネットワーク上でメディアサービスを実行するために、5GMSシステム及びエッジコンピューティングシステムにおけるいくつかの既存のアプリケーションプログラミングインタフェースを使用できる。さらに、M1、M6、EDGE-3等のようないくつかのアプリケーションプログラミングインタフェースは、エッジコンピューティングを利用するために必要な更なる情報をサポートするように拡張される。様々なエッジアプリケーションサーバを発見してエッジアプリケーションサーバのうち1つを選択する能力は、能力、位置及び場合によっては他の情報に基づくものとすることができる。さらに、メディアサービスは、ユーザデバイス上のアプリケーション又はアプリケーション(サービス)プロバイダによって要求できる。
【0125】
図8は、本開示の一実施形態によるプロセス(800)の概略を示すフローチャートを示す。一例では、プロセス(800)は、エッジ可能メディアストリーミングシステム(500)におけるUE (501)のようなユーザデバイスの処理回路によって実行される。いくつかの実施形態では、プロセス(800)は、ソフトウェア命令で実装され、したがって、処理回路がソフトウェア命令を実行すると、処理回路はプロセス(800)を実行する。プロセスは(S801)において始まり、(S810)に進む。
【0126】
(S810)において、要求は、ユーザデバイスのメディアサービスクライアントからデータネットワークのアプリケーション機能に送信される。要求は、エッジ可能なメディアサービスを要求できる。
【0127】
一例では、要求は、ユーザデバイス内のメディアアプリケーションによるメディア要求に応答して、メディアサービスクライアントによって送信される。
【0128】
いくつかの例では、要求は、アプリケーション機能のエッジイネーブラサーバとのメディアサービスクライアントのエッジイネーブラクライアントのインタフェースを介して送信される。
【0129】
(S820)において、確認応答は、アプリケーション機能から、エッジアプリケーションサーバによってインスタンス化されたアプリケーションサーバの情報と共に受信される。
【0130】
いくつかの例では、エッジアプリケーションサーバは、エッジイネーブラサーバによって決定される。一例では、エッジイネーブラサーバは、要求内のメディアストリームのタイプ、能力要件、機能要件等のようなフィルタリング情報に基づいて、エッジアプリケーションサーバを決定する。他の例では、エッジイネーブラサーバは、ユーザデバイスの位置情報及びエッジアプリケーションサーバの位置に基づいて、エッジアプリケーションサーバを決定する。他の例では、エッジイネーブラサーバは、エッジイネーブラサーバからのディスカバリ要求に応答するエッジアプリケーションサーバからの確認応答に基づいて、エッジアプリケーションサーバを決定する。
【0131】
いくつかの例では、アプリケーション機能は、アプリケーションサーバをインスタンス化するようにアプリケーションサーバに要求し、メディアサービスを提供するようにアプリケーションサーバに要求する。
【0132】
(S830)において、メディアストリーミングは、アプリケーションサーバの情報に基づいて実行される。次いで、プロセスは(S899)に進み、終了する。
【0133】
プロセス(800)は適切に適合できる。プロセス(800)内のステップは、修正及び/又は省略できる。更なるステップが追加できる。いずれか適切な実行順序が使用できる。
【0134】
図9は、本開示の一実施形態によるプロセス(900)の概略を示すフローチャートを示す。一例では、プロセス(900)は、エッジ可能メディアストリーミングシステム(500)における5GMS AF (540)のような、クラウド内のアプリケーション機能エンティティの処理回路によって実行される。いくつかの実施形態では、プロセス(900)は、ソフトウェア命令で実装され、したがって、処理回路がソフトウェア命令を実行すると、処理回路はプロセス(900)を実行する。プロセスは(S901)において始まり、(S910)に進む。
【0135】
(S910)において、データネットワークのアプリケーション機能は、メディアサービスの要求を受信する。いくつかの例では、要求は、図6におけるプロセスフロー(600)のように、データネットワーク内のアプリケーションプロバイダからのものである。いくつかの例では、要求は、図7におけるプロセスフロー(700)のように、ユーザデバイスからのものである。
【0136】
(S920)において、アプリケーション機能は、メディアサービスを提供するためのアプリケーションサーバをインスタンス化するようにエッジアプリケーションサーバに要求する。いくつかの例では、アプリケーション機能におけるエッジイネーブラサーバは、エッジアプリケーションサーバを決定する。一例では、アプリケーション機能におけるエッジイネーブラサーバは、要求内のメディアストリームのタイプ、能力要件、機能要件等のようなフィルタリング情報に基づいて、エッジアプリケーションサーバを決定する。他の例では、アプリケーション機能におけるエッジイネーブラサーバは、ユーザデバイスの位置情報及びエッジアプリケーションサーバの位置に基づいて、エッジアプリケーションサーバを決定する。他の例では、アプリケーション機能におけるエッジイネーブラサーバは、エッジイネーブラサーバからのディスカバリ要求に応答するエッジアプリケーションサーバからの確認応答に基づいて、エッジアプリケーションサーバを決定する。
【0137】
いくつかの例では、アプリケーション機能は、アプリケーションサーバをインスタンス化するようにエッジアプリケーションサーバに要求する。さらに、アプリケーション機能は、メディアサービスを提供するようにアプリケーションサーバに要求する。
【0138】
(S930)において、アプリケーション機能は、アプリケーションサーバの情報によって要求に応答する。次いで、プロセスは(S999)に進み、終了する。
【0139】
プロセス(900)は適切に適合できる。プロセス(900)内のステップは、修正及び/又は省略できる。更なるステップが追加できる。いずれか適切な実行順序が使用できる。
【0140】
上記の技術は、コンピュータ読み取り可能命令を使用してコンピュータソフトウェアとして実装でき、1つ以上のコンピュータ読み取り可能媒体に物理的に記憶できる。
【0141】
本開示における方法及び実施形態は、別々に使用されてもよく或いは任意の順序で組み合わされてもよい。さらに、方法(又は実施形態)、機能又はタスクのそれぞれは、処理回路(例えば、1つ以上のプロセッサ又は1つ以上の集積回路)によって実施されてもよい。一例では、1つ以上のプロセッサは、非一時的なコンピュータ読み取り可能媒体に記憶されたプログラムを実行する。
【0142】
上記の技術は、コンピュータ読み取り可能命令を使用してコンピュータソフトウェアとして実施でき、1つ以上のコンピュータ読み取り可能媒体に物理的に記憶できる。例えば、図10は、開示の対象物の特定の実施形態を実施するのに適したコンピュータシステム(1000)を示す。
【0143】
コンピュータソフトウェアはいずれか適切な機械コード又はコンピュータ言語を使用してコード化でき、1つ以上のコンピュータ中央処理装置(CPU, central processing unit)、グラフィックス処理装置(GPU, Graphics Processing Unit)等によって、直接的に或いはインタープリテーション、マイクロコード実行を通じて実行でき命令を含むコードを作成するように、アセンブリ、コンパイル、リンク又は同様メカニズムの対象となってもよい。
【0144】
命令は、例えば、パーソナルコンピュータ、タブレットコンピュータ、サーバ、スマートフォン、ゲームデバイス、モノのインターネット等を含む、様々なタイプのコンピュータ又はその構成要素において実行できる。
【0145】
コンピュータシステム(1000)について図10に示す構成要素は、本質的に例示的なものであり、本開示の実施形態を実施するコンピュータソフトウェアの使用範囲又は機能に関して如何なる限定も示唆するように意図するものではない。また、構成要素の構成は、コンピュータシステム(1000)の例示的な実施形態に示す構成要素のいずれか1つ又は組み合わせに関して、何らかの従属関係又は要件を有するものとして解釈されるべきではない。
【0146】
コンピュータシステム(1000)は、特定のヒューマンインタフェース入力デバイスを含むことができる。このようなヒューマンインタフェース入力デバイスは、例えば、触覚入力(例えば、キーストローク、スワイプ、データグローブの動き)、オーディオ入力(例えば、声、拍手)、視覚入力(例えば、ジェスチャ)、嗅覚入力(図示せず)を通じて、1人以上の人間ユーザによる入力に応答してもよい。ヒューマンインタフェースデバイスはまた、オーディオ(例えば、会話、音楽、周囲音)、画像(例えば、走査画像、静止画像カメラから取得された写真画像)、ビデオ(例えば、2次元ビデオ、立体ビデオを含む3次元ビデオ)のような、人間による意識的な入力に必ずしも直接的に関係しない特定のメディアを捉えるために使用できる。
【0147】
入力ヒューマンインタフェースデバイスは、キーボード(1001)、マウス(1002)、トラックパッド(1003)、タッチスクリーン(1010)、データグローブ(図示せず)、ジョイスティック(1005)、マイクロホン(1006)、スキャナ(1007)、カメラ(1008)のうち1つ以上(それぞれ1つのみが図示されている)を含んでもよい。
【0148】
コンピュータシステム(1000)はまた、特定のヒューマンインタフェース出力デバイスを含んでもよい。このようなヒューマンインタフェース出力デバイスは、例えば、触覚出力、音、光及び嗅覚/味覚を通じて、1人以上の人間ユーザの感覚を刺激してもよい。このようなヒューマンインタフェース出力デバイスは、触覚出力デバイス(例えば、タッチスクリーン(1010)、データグローブ(図示せず)又はジョイスティック(1005)による触覚フィードバックであるが、入力デバイスとして機能しない触覚フィードバックデバイスが存在してもよい)、オーディオ出力デバイス(例えば、スピーカ(1009)、ヘッドフォン(図示せず))、視覚出力デバイス(例えば、CRTスクリーン、LCDスクリーン、プラズマスクリーン、OLEDスクリーンを含むスクリーン(1010)(それぞれがタッチスクリーン入力能力を有してもよく或いは有さなくてもよく、それぞれが触覚フィードバック能力を有してもよく或いは有さなくてもよく、これらのいくつかは、2次元視覚出力又は立体画像出力のような手段を通じた3次元出力を出力可能でもよい)、仮想現実眼鏡(図示せず)、ホログラフィックディスプレイ及びスモークタンク(図示せず))、及びプリンタ(図示せず)を含んでもよい。
【0149】
コンピュータシステム(1000)はまた、CD/DVD又は同様の媒体(1021)を有するCD/DVD ROM/RW(1020)を含む光媒体(1021)、サムドライブ(1022)、取り外し可能ハードドライブ又はソリッドステートドライブ(1023)、テープ及びフロッピーディスク(図示せず)のようなレガシー磁気媒体、セキュリティドングル(図示せず)のような特化したROM/ASIC/PLDベースのデバイス等のような、人間がアクセスできる記憶デバイス及びこれらの関連する媒体を含むことができる。
【0150】
当業者はまた、ここで開示される対象物に関して使用される「コンピュータ読み取り可能媒体」という用語が伝送媒体、搬送波又は他の一時的な信号を包含しないことを理解すべきである。
【0151】
コンピュータシステム(1000)はまた、1つ以上の通信ネットワーク(1055)へのインタフェース(1054)を含むことができる。ネットワークは、例えば、無線、有線、光とすることができる。さらに、ネットワークは、ローカル、広域、メトロポリタン、車両及び産業、リアルタイム、遅延耐性等とすることができる。ネットワークの例は、イーサーネット(登録商標)、無線LANのようなローカルエリアネットワーク、セルラネットワーク(GSM、3G、4G、5G、LTE等を含む)、TV有線又は無線広域デジタルネットワーク(ケーブルTV、衛星TV及び地上放送TVを含む)、車両及び産業(CANBusを含む)等を含む。特定のネットワークは、一般的に、特定の汎用データポート又は周辺バス(1049)(例えば、コンピュータシステム(1000)のUSBポート等)に取り付けられる外部ネットワークインタフェースアダプタを必要とし、他のネットワークは、一般的に、以下に説明するシステムバスへの取り付け(例えば、PCコンピュータシステムへのイーサーネットインタフェース又はスマートフォンコンピュータシステムへのセルラネットワークインタフェース)によって、コンピュータシステム(1000)のコアに統合される。これらのネットワークのいずれかを使用して、コンピュータシステム(1000)は、他のエンティティと通信できる。このような通信は、一方向性の受信専用(例えば、放送テレビ)、片方向性の送信専用(例えば、特定のCANbusデバイスへのCANbus)、又は双方向性(例えば、ローカル又は広域デジタルネットワークを使用する他のコンピュータシステムに対するもの)とすることができる。特定のプロトコル及びプロトコルスタックは、上記のように、これらのネットワーク及びネットワークインタフェースのそれにおいて使用できる。
【0152】
上記のヒューマンインタフェースデバイス、ヒューマンアクセス可能記憶デバイス及びネットワークインタフェースは、コンピュータシステム(1000)のコア(1040)に取り付けられることができる。
【0153】
コア(1040)は、1つ以上の中央処理装置(CPU, Central Processing Unit)(1041)、グラフィックス処理装置(GPU, Graphics Processing Unit)(1042)、フィールドプログラマブルゲートアレイ(FPGA, Field Programmable Gate Area)(1043)の形式の専用プログラマブル処理装置、特定のタスク用のハードウェアアクセラレータ(1044)、グラフィックスアダプタ(1050)等を含むことができる。これらのデバイスは、読み取り専用メモリ(ROM, Read-only memory)(1045)、ランダムアクセスメモリ(1046)、内部のユーザがアクセス不可能なハードドライブ、SSD等のような内部大容量ストレージ(1047)と共に、システムバス(1048)を通じて接続されてもよい。いくつかのコンピュータシステムでは、システムバス(1048)は、更なるCPU、GPU等による拡張を可能にするために、1つ以上の物理プラグの形式でアクセス可能とすることができる。周辺デバイスは、コアのシステムバス(1048)に直接的に或いは周辺バス(1049)を通じて取り付けられることができる。一例では、スクリーン(1010)はグラフィックスアダプタ(1050)に接続できる。周辺バスのアーキテクチャは、PCI、USB等を含む。
【0154】
CPU(1041)、GPU(1042)、FPGA(1043)及びアクセラレータ(1044)は、組み合わせて上記のコンピュータコードを構成できる特定の命令を実行できる。そのコンピュータコードは、ROM(1045)又はRAM(1046)に記憶できる。一時的なデータはまた、RAM(1046)に記憶でき、例えば、永続的なデータは、内部大容量ストレージ(1047)に記憶できる。メモリデバイスのいずれかに対する高速記憶及び検索はキャッシュメモリの使用を通じて可能になり、キャッシュメモリは、1つ以上のCPU(1041)、GPU(1042)、大容量ストレージ(1047)、ROM(1045)、RAM(1046)等と密接に関連付けられることができる。
【0155】
コンピュータ読み取り可能媒体は、様々なコンピュータ実施動作を実行するためのコンピュータコードを有することができる。媒体及びコンピュータコードは、本開示の目的のために特別に設計及び構築されたものとすることができ、或いは、これらはコンピュータソフトウェア分野の当業者にとって周知であり入手可能な種類のものとすることができる。
【0156】
限定ではなく一例として、アーキテクチャ(1000)を有するコンピュータシステム、具体的にはコア(1040)は、プロセッサ(CPU、GPU、FPGA、アクセラレータ等を含む)が1つ以上の有形のコンピュータ読み取り可能媒体に具現化されたソフトウェアを実行した結果として機能を提供できる。このようなコンピュータ読み取り可能媒体は、コア内の大容量ストレージ(1047)又はROM(1045)のような非一時的な性質のコア(1040)の特定のストレージと同様に、上記のようなユーザがアクセス可能な大容量ストレージに関連する媒体とすることができる。本開示の様々な実施形態を実装するソフトウェアは、このようなデバイスに記憶され、コア(1040)によって実行できる。コンピュータ読み取り可能媒体は、特定のニーズに従って、1つ以上のメモリデバイス又はチップを含むことができる。ソフトウェアは、RAM(1046)に記憶されたデータ構造を定義し、ソフトウェアによって定義されたプロセスに従ってこのようなデータ構造を修正することを含み、コア(1040)及び具体的にはその中のプロセッサ(CPU、GPU、FPGA等を含む)に、本明細書に記載の特定のプロセス又は特定のプロセスの特定の部分を実行させることができる。さらに或いは代替として、コンピュータシステムは、回路(例えば、アクセラレータ(1044))内で配線されるか或いは別法で具現化されたロジックの結果として機能を提供でき、これは、本明細書に記載の特定のプロセス又は特定のプロセスの特定の部分を実行するようにソフトウェアの代わりに或いはソフトウェアと共に動作できる。ソフトウェアへの言及はロジックを含むことができ、必要に応じてその逆も同様である。コンピュータ読み取り可能媒体への言及は、実行のためのソフトウェアを記憶する回路(例えば、集積回路(IC, integrated circuit))、実行のためのロジックを具体化する回路、又は適切な場合にはこれらの双方を含むことができる。本開示は、ハードウェア及びソフトウェアのいずれか適切な組み合わせを包含する。
【0157】
本開示はいくつかの例示的な実施形態を記載しているが、本開示の範囲内に入る変更、置換及び様々な代替均等物が存在する。したがって、本明細書に明示的に図示も説明もされていないが、本開示の原理を具現化し、したがって、本開示の真意及び範囲内にある多くのシステム及び方法を、当業者が考案できることが認識される。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10