(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-07-27
(45)【発行日】2023-08-04
(54)【発明の名称】第3世代パートナーシッププロジェクト(3GPP)ライブアップリンクストリーミングのためのフレームワーク(FLUS)シンク機能を決定するための方法、コンピュータシステムおよびコンピュータプログラム
(51)【国際特許分類】
H04L 67/141 20220101AFI20230728BHJP
H04N 21/235 20110101ALI20230728BHJP
【FI】
H04L67/141
H04N21/235
(21)【出願番号】P 2022519771
(86)(22)【出願日】2021-01-05
(86)【国際出願番号】 US2021012187
(87)【国際公開番号】W WO2021201942
(87)【国際公開日】2021-10-07
【審査請求日】2022-03-29
(32)【優先日】2020-03-30
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2020-09-28
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】520353802
【氏名又は名称】テンセント・アメリカ・エルエルシー
(74)【代理人】
【識別番号】100110364
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100150197
【氏名又は名称】松尾 直樹
(72)【発明者】
【氏名】イーラジ・ソダガー
【審査官】浦口 幸宏
(56)【参考文献】
【文献】米国特許出願公開第2018/0367579(US,A1)
【文献】3GPP TS 26.238, 3rd Generation Partnership Project; Technical Specification Group Services and System Aspects; Uplink Streaming (Release 16)[online],2019年12月,V16.3.0,pp.35~37,Internet<URL: https://www.3gpp.org/ftp/Specs/archive/26_series/26.238/26238-g30.zip>
【文献】Ericsson LM, Tencent, Samsung, Qualcomm,Correction of FLUS F-C Stage 3,3GPP TSG SA WG4 #110-e S4-201275[online],2020年08月,Internet<URL: https://www.3gpp.org/ftp/tsg_sa/WG4_CODEC/TSGS4_110-e/Docs/S4-201275.zip>
(58)【調査した分野】(Int.Cl.,DB名)
H04L 67/141
H04N 21/235
(57)【特許請求の範囲】
【請求項1】
1つまたは複数のコンピュータプロセッサが実行する、第3世代パートナーシッププロジェクト(3GPP)ライブアップリンクストリーミングのためのフレームワーク(FLUS)シンク機能を決定するための方法であって、
FLUSシンクと複数のベンダからのFLUSソースとに、少なくとも第1の属性
と、第2の属性
と、スキーム識別子とを
含む機能記述
オブジェクトを
送信するステップであって、
前記機能記述オブジェクトは前記FLUSシンク機能を記述し、前記スキーム識別子が、タイトル、入力ファイルタイプ、および出力ファイルタイプを含み、
前記第1の属性が、前記
FLUSシンク機能
の記述を取得することができる場所を含み、
前記第2の属性が、
前記FLUSシンク機能を決定する記述子を含み、
前記記述子および前記記述子の
前記スキーム識別
子により、FLUSシンクと複数のベンダからのソースとの間の相互運用が可能になる、ステップ
を含む、方法。
【請求項2】
前記機能記述
オブジェクトが
、前記スキーム識別子に対応するユニバーサルリソース識別子によって識別される、請求項1に記載の方法。
【請求項3】
前記場所がURLに対応する、請求項1
または2に記載の方法。
【請求項4】
前記ソースが、前記第1の属性および前記第2の属性に基づいて前記FLUSシンクからリソース記述を取得する、請求項1~
3のいずれか一項に記載の方法。
【請求項5】
第3世代パートナーシッププロジェクト(3GPP)ライブアップリンクストリーミングのためのフレームワーク(FLUS)シンク機能を決定するためのコンピュータシステムであって、前記コンピュータシステムが、
1つまたは複数のコンピュータプロセッサに、請求項1~
4のいずれか一項に記載の方法を実行させるためのコンピュータプログラムコードを格納するように構成された1つまたは複数のコンピュータ可読非一時的記憶媒体と、
前記1つまたは複数のコンピュータプロセッサと
を含む、コンピュータシステム。
【請求項6】
1つまたは複数のコンピュータプロセッサに、請求項1~
4のいずれか一項に記載の方法を実行させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本出願は、2020年3月30日に出願された米国仮特許出願第63/001,927号、および2020年9月28日に出願された米国特許出願第17/034,324号の優先権を主張し、その全体が本明細書に組み込まれる。
【0002】
本開示は、一般に、データ処理の分野に関し、より詳細にはメディア処理に関する。
【背景技術】
【0003】
第3世代パートナーシッププロジェクト(3GPP)ライブアップリンクストリーミングのためのフレームワーク(Framework for Live Uplink Streaming(FLUS))プロトコルは、ソースデバイスからネットワークへのマルチメディアコンテンツのアップリンクストリーミングおよびそのコンテンツの1つまたは複数の宛先への送信/配信のための機構を提供する。このプロトコルは、ベンダ固有の機能記述を有する。
【発明の概要】
【課題を解決するための手段】
【0004】
実施形態は、3GPP FLUSシンク機能を決定するための方法、システム、およびコンピュータ可読媒体に関する。一態様によれば、3GPP FLUSシンク機能を決定するための方法が提供される。この方法は、少なくとも第1の属性および第2の属性を使用して機能記述をシグナリングするステップを含むことができる。第1の属性は、機能記述を取得することができる場所を含む。第2の属性は、FLUSシンク機能を決定する記述子を含む。記述子および記述子のスキーム識別子をシグナリングすることにより、FLUSシンクと複数のベンダからのソースとの間の相互運用が可能になる。
【0005】
別の態様によれば、3GPP FLUSシンク機能を決定するためのコンピュータシステムが提供される。このコンピュータシステムは、1つまたは複数のプロセッサと、1つまたは複数のコンピュータ可読メモリと、1つまたは複数のコンピュータ可読有形記憶装置と、1つまたは複数のメモリのうちの少なくとも1つを介して1つまたは複数のプロセッサのうちの少なくとも1つによって実行するために1つまたは複数の記憶装置のうちの少なくとも1つに格納されたプログラム命令と、を含むことができ、それによってコンピュータシステムは方法を実行することができる。この方法は、少なくとも第1の属性および第2の属性を使用して機能記述をシグナリングするステップを含むことができる。第1の属性は、機能記述を取得することができる場所を含む。第2の属性は、FLUSシンク機能を決定する記述子を含む。記述子および記述子のスキーム識別子をシグナリングすることにより、FLUSシンクと複数のベンダからのソースとの間の相互運用が可能になる。
【0006】
さらに別の態様によれば、3GPP FLUSシンク機能を決定するためのコンピュータ可読媒体が提供される。このコンピュータ可読媒体は、1つまたは複数のコンピュータ可読記憶装置と、1つまたは複数の有形記憶装置のうちの少なくとも1つに格納されたプログラム命令と、を含むことができ、プログラム命令はプロセッサによって実行可能である。プログラム命令は、それに応じて少なくとも第1の属性および第2の属性を使用して機能記述をシグナリングすることを含むことができる方法を実行するためにプロセッサによって実行可能である。第1の属性は、機能記述を取得することができる場所を含む。第2の属性は、FLUSシンク機能を決定する記述子を含む。記述子および記述子のスキーム識別子をシグナリングすることにより、FLUSシンクと複数のベンダからのソースとの間の相互運用が可能になる。
【0007】
上記その他の目的、特徴および利点は、添付の図面に関連して読まれるべきである、以下の例示的な実施形態の詳細な説明から明らかになるであろう。図面の様々な特徴は、例示が詳細な説明と併せて当業者の理解を容易にする際に明確にするため、正確な縮尺ではない。
【図面の簡単な説明】
【0008】
【
図1】少なくとも1つの実施形態によるネットワーク化されたコンピュータ環境を示す図である。
【
図2】少なくとも1つの実施形態による、3GPP FLUSシンク機能を決定するためのシステムのブロック図である。
【
図3】少なくとも1つの実施形態による、3GPP FLUSシンク機能を決定するためのプログラムによって実行されるステップを示す動作フローチャートである。
【
図4】少なくとも1つの実施形態による、
図1に示すコンピュータおよびサーバの内部構成要素および外部構成要素のブロック図である。
【
図5】少なくとも1つの実施形態による、
図1に示すコンピュータシステムを含む例示的なクラウドコンピューティング環境のブロック図である。
【
図6】少なくとも1つの実施形態による、
図5の例示的なクラウドコンピューティング環境の機能層のブロック図である。
【発明を実施するための形態】
【0009】
本明細書には特許請求される構造および方法の詳細な実施形態が開示されているが、開示の実施形態は、様々な形態で具体化され得る特許請求される構造および方法の単なる例示であることが理解できよう。これらの構造および方法は、しかしながら、多くの異なる形態で具体化されてもよく、本明細書に記載される例示的な実施形態に限定されると解釈されるべきではない。むしろ、これらの例示的な実施形態は、本開示が詳細かつ完全であり、当業者にその範囲を十分に伝えるために提供されている。この説明では、提示の実施形態を不必要に不明瞭にすることを避けるために、周知の特徴および技術の詳細が省略される場合がある。
【0010】
実施形態は、一般に、データ処理の分野に関し、より詳細には、メディア処理に関する。以下で説明される例示的な実施形態は、特に、FLUSシンク機能を決定するためのシステム、方法、およびコンピュータプログラムを提供する。したがって、いくつかの実施形態は、デバイスまたはネットワーク上のFLUSソースおよびアプリケーションがそれらの機能を使用し、シンクデバイスまたはクラウドプラットフォーム上でサービスを実行することを可能にすることによってコンピューティングの分野を改善する能力を有する。
【0011】
前述のように、第3世代パートナーシッププロジェクト(3GPP)ライブアップリンクストリーミングのためのフレームワーク(FLUS)プロトコルは、ソースデバイスからネットワークへのマルチメディアコンテンツのアップリンクストリーミングおよびそのコンテンツの1つまたは複数の宛先への送信/配信のための機構を提供する。このプロトコルは、ベンダ固有の機能記述を有する。3GPP FLUSプロトコルでは、メディアストリームのソースデバイスは、ネットワークを介してシンクとのアップリンクセッションを確立する。FLUS APIは、ソースデバイスがセッションを制御することを可能にし、さらにシンクがソースデバイスのフィードバックまたは遠隔制御を提供することを可能にする。3GPP FLUSプロトコルは、FLUSソースによるシンク機能の取得をサポートする。しかしながら、これらの機能は、ベンダ固有のユニフォームリソース名(uniform resource name(URN))のリストとして文書化されている。FLUSソースがURNを認識しない場合、FLUSソースが対応する機能を知らない可能性があり、相互運用性がベンダレベルでのみ達成され得るが、ベンダ間での相互運用性を有効にすることはできない。したがって、デバイスまたはネットワーク上のFLUSソースおよびアプリケーションがそれらの機能を使用し、シンクデバイスまたはクラウドプラットフォーム上でサービスを実行することを可能にするために、FLUSシンク機能を記述するための方法を定義することが有利であり得る。
【0012】
本明細書では態様を、様々な実施形態による方法、装置(システム)、およびコンピュータ可読媒体のフローチャート図および/またはブロック図を参照して説明する。フローチャート図および/またはブロック図の各ブロック、ならびにフローチャート図および/またはブロック図のブロックの組み合わせは、コンピュータ可読プログラム命令によって実装され得ることが理解されよう。
【0013】
以下で説明される例示的な実施形態は、3GPP FLUSシンク機能の決定を可能にするシステム、方法、およびコンピュータプログラムを提供する。次に
図1を参照すると、3GPP FLUSシンク機能を決定するためのメディア処理システム100(以下「システム」)を例示するネットワーク化されたコンピュータ環境の機能ブロック図。
図1は、一実施態様の例示のみを提供し、異なる実施形態が実施され得る環境に関する限定を意味しないことを理解されたい。図示の環境に対する多くの修正が、設計および実施要件に基づいて行われ得る。
【0014】
システム100は、コンピュータ102と、サーバコンピュータ114とを含むことができる。コンピュータ102は、通信ネットワーク110(以下「ネットワーク」)を介してサーバコンピュータ114と通信することができる。コンピュータ102は、プロセッサ104と、データ記憶装置106に格納され、ユーザとインターフェースし、サーバコンピュータ114と通信することが可能なソフトウェアプログラム108とを含むことができる。
図4を参照して以下で説明するように、コンピュータ102は、それぞれ内部構成要素800Aおよび外部構成要素900Aを含むことができ、サーバコンピュータ114は、それぞれ内部構成要素800Bおよび外部構成要素900Bを含むことができる。コンピュータ102は、例えば、モバイルデバイス、電話、携帯情報端末、ネットブック、ラップトップコンピュータ、タブレットコンピュータ、デスクトップコンピュータ、またはプログラムを実行し、ネットワークにアクセスし、データベースにアクセスすることができる任意の種類のコンピューティングデバイスであってもよい。
【0015】
サーバコンピュータ114はまた、
図5および
図6に関して以下で説明するように、サービスとしてのソフトウェア(Software as a Service(SaaS))、サービスとしてのプラットフォーム(Platform as a Service(PaaS))、またはサービスとしてのインフラストラクチャ(Infrastructure as a Service(IaaS))などのクラウドコンピューティングサービスモデルで動作してもよい。サーバコンピュータ114はまた、プライベートクラウド、コミュニティクラウド、パブリッククラウド、またはハイブリッドクラウドなどのクラウドコンピューティング展開モデルに配置されてもよい。
【0016】
3GPP FLUSシンク機能を決定するために使用され得るサーバコンピュータ114は、データベース112と対話することができる3GPP FLUS機能決定プログラム116(以下「プログラム」)を実行することが可能である。3GPP FLUS機能決定プログラムの方法は、
図3に関して以下でより詳細に説明される。一実施形態では、コンピュータ102は、ユーザインターフェースを含む入力デバイスとして動作することができ、プログラム116は、主にサーバコンピュータ114上で実行することができる。代替的な実施形態では、プログラム116は、主に1つまたは複数のコンピュータ102上で実行することができ、サーバコンピュータ114は、プログラム116によって使用されるデータの処理および格納に使用することができる。プログラム116は、スタンドアロンプログラムであってもよく、またはより大きな3GPP FLUS機能決定プログラムに統合されてもよいことに留意されたい。
【0017】
しかしながら、プログラム116の処理は、場合によっては、コンピュータ102とサーバコンピュータ114との間で任意の比率で共有されてもよいことに留意されたい。別の実施形態では、プログラム116は、複数のコンピュータ、サーバコンピュータ、またはコンピュータとサーバコンピュータとの何らかの組み合わせ、例えば、ネットワーク110を介して単一のサーバコンピュータ114と通信する複数のコンピュータ102上で動作することができる。別の実施形態では、例えば、プログラム116は、ネットワーク110を介して複数のクライアントコンピュータと通信する複数のサーバコンピュータ114上で動作することができる。あるいは、プログラムは、ネットワークを介してサーバおよび複数のクライアントコンピュータと通信するネットワークサーバ上で動作してもよい。
【0018】
ネットワーク110は、有線接続、無線接続、光ファイバ接続、またはそれらの何らかの組み合わせを含むことができる。一般に、ネットワーク110は、コンピュータ102とサーバコンピュータ114との間の通信をサポートする接続およびプロトコルの任意の組み合わせとすることができる。ネットワーク110は、例えば、ローカルエリアネットワーク(LAN)、インターネットなどのワイドエリアネットワーク(WAN)、公衆交換電話網(PSTN)などの電気通信ネットワーク、無線ネットワーク、公衆交換網、衛星ネットワーク、セルラーネットワーク(例えば、第5世代(5G)ネットワーク、ロングタームエボリューション(LTE)ネットワーク、第3世代(3G)ネットワーク、符号分割多元接続(CDMA)ネットワークなど)、公衆陸上移動網(PLMN)、メトロポリタンエリアネットワーク(MAN)、プライベートネットワーク、アドホックネットワーク、イントラネット、光ファイバベースのネットワークなど、および/またはこれらもしくは他の種類のネットワークの組み合わせといった様々な種類のネットワークを含むことができる。
【0019】
図1に示すデバイスおよびネットワークの数および配置は、一例として提供されている。実際には、追加のデバイスおよび/またはネットワーク、より少ないデバイスおよび/またはネットワーク、異なるデバイスおよび/またはネットワーク、あるいは
図1に示すものとは異なる配置のデバイスおよび/またはネットワークが存在してもよい。さらに、
図1に示す2つ以上のデバイスが、単一のデバイス内に実装されてもよく、または
図1に示す単一のデバイスが、複数の分散型デバイスとして実装されてもよい。追加的または代替的に、システム100の1組のデバイス(例えば、1つまたは複数のデバイス)が、システム100の別の1組のデバイスによって実行されるものとして説明されている1つまたは複数の機能を実行してもよい。
【0020】
次に
図2を参照すると、3GPP FLUSアーキテクチャ200のブロック図が示されている。3GPP FLUSアーキテクチャ200は、第1のユーザ環境202と、第2のユーザ環境204とを含むことができる。第1のユーザ環境202は、1つまたは複数のキャプチャデバイス206と、FLUSソース208とを含むことができる。FLUSソース208は、制御ソース210と、メディアソース212と、支援受信機214と、遠隔制御ターゲット216とを含むことができる。第2のユーザ環境204は、FLUSシンク218と、支援送信機220と、リモートコントローラ222とを含むことができる。FLUSシンク218は、制御シンク224と、メディアシンク226とを含むことができる。FLUSシンク218は、FLUSシンクによってサポートされる特徴およびインスタンス化のリストに対応し得る機能プロパティを含むことができる。各機能は、URNを使用して表現され得る。FLUSソース208は、シンクリソースのリソース記述を取得し、機能プロパティに基づいてその機能を決定することができる。シンク機能を決定するために、オブジェクトの配列が定義され得る。この配列内の各オブジェクトは、1組のシンク機能を決定することができる。各オブジェクトは、URNの形式の一意のスキーム識別子、この機能に関する情報を取得するためのURLの形式の場所、および機能を決定するスキームを含むことができる。各オブジェクトのフォーマットは、スキーム所有者によって定義され得る。スキームオブジェクトは、タイトル、出力ファイルタイプ、および入力ファイルタイプを含むことができる。機能オブジェクトは、機能を決定するために規格を使用することができる。この規格は、そのスキーム識別子に関するURIで識別されてもよく、定義されたセマンティクスおよびシンタックスも提供することができる。
【0021】
次に
図3を参照すると、3GPP FLUSシンク機能を決定するためのプログラムによって実行されるステップを示す動作フローチャート300が示されている。
図3は、
図1および
図2を用いて説明することができる。前述のように、3GPP FLUS機能決定プログラム116(
図1)は、デバイスまたはネットワーク上のFLUSソースおよびアプリケーションが機能を使用し、シンクデバイスまたはクラウドプラットフォーム上でサービスを実行することを可能にすることができる。
【0022】
302で、機能記述を取得することができる場所に対応する第1の属性が識別される。この場所は、ベンダによって定義されたURLであってもよい。動作に際して、3GPP FLUS機能決定プログラム116(
図1)は、データベース112(
図1)から機能記述の場所に対応するURLを取得してもよく、または通信ネットワーク110(
図1)を介してURLを受信してもよい。
【0023】
304で、FLUSシンク機能を決定する記述子に対応する第2の属性が識別される。機能記述子は、規格であってもよく、スキーム識別子に対応するユニバーサルリソース識別子によって識別され得る。動作に際して、3GPP FLUS機能決定プログラム116(
図1)は、データベース112(
図1)から機能記述子を取得してもよく、または通信ネットワーク110(
図1)を介して機能記述子を受信してもよい。
【0024】
306で、機能記述が、少なくとも第1の属性および第2の属性を使用してシグナリングされ、記述子および記述子のスキーム識別子をシグナリングすることにより、FLUSシンクと複数のベンダからのソースとの間の相互運用が可能になる。スキーム識別子は、タイトル、入力ファイルタイプ、および出力ファイルタイプを含むことができる。動作に際して、3GPP FLUS機能決定プログラム116(
図1)は、機能記述子および場所のURLをソース208(
図2)およびFLUSシンク218(
図2)にシグナリングすることができる。
【0025】
図3は、一実施態様の例示のみを提供し、異なる実施形態がどのように実施され得るかに関する限定を意味しないことが理解されよう。図示の環境に対する多くの修正が、設計および実施要件に基づいて行われ得る。
【0026】
図4は、例示的な実施形態による、
図1に示すコンピュータの内部構成要素および外部構成要素のブロック
図400である。
図4は、一実施態様の例示のみを提供し、異なる実施形態が実施され得る環境に関する限定を意味しないことを理解されたい。図示の環境に対する多くの修正が、設計および実施要件に基づいて行われ得る。
【0027】
コンピュータ102(
図1)およびサーバコンピュータ114(
図1)は、
図4に示す内部構成要素800A、800Bおよび外部構成要素900A、900Bのそれぞれのセットを含むことができる。内部構成要素800のセットの各々は、1つまたは複数のプロセッサ820と、1つまたは複数のバス826上の1つもしくは複数のコンピュータ可読RAM822および1つもしくは複数のコンピュータ可読ROM824と、1つまたは複数のオペレーティングシステム828と、1つまたは複数のコンピュータ可読有形記憶装置830とを含む。
【0028】
プロセッサ820は、ハードウェア、ファームウェア、またはハードウェアとソフトウェアとの組み合わせで実装される。プロセッサ820は、中央処理装置(CPU)、グラフィックスプロセッシングユニット(GPU)、加速処理ユニット(APU)、マイクロプロセッサ、マイクロコントローラ、デジタル信号プロセッサ(DSP)、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)、または別の種類の処理構成要素である。いくつかの実施態様では、プロセッサ820は、機能を実行するようにプログラムすることができる1つまたは複数のプロセッサを含む。バス826は、内部構成要素800A、800B間の通信を可能にする構成要素を含む。
【0029】
サーバコンピュータ114(
図1)上の1つまたは複数のオペレーティングシステム828、ソフトウェアプログラム108(
図1)、および3GPP FLUS機能決定プログラム116(
図1)は、それぞれのRAM822(通常はキャッシュメモリを含む)のうちの1つまたは複数を介してそれぞれのプロセッサ820のうちの1つまたは複数によって実行するために、それぞれのコンピュータ可読有形記憶装置830のうちの1つまたは複数に格納される。
図4に示す実施形態では、コンピュータ可読有形記憶装置830の各々は、内蔵ハードドライブの磁気ディスク記憶装置である。あるいは、コンピュータ可読有形記憶装置830の各々は、ROM824、EPROM、フラッシュメモリ、光ディスク、光磁気ディスク、ソリッドステートディスク、コンパクトディスク(CD)、デジタル多用途ディスク(DVD)、フロッピーディスク、カートリッジ、磁気テープ、ならびに/またはコンピュータプログラムおよびデジタル情報を格納することができる別の種類の非一時的コンピュータ可読有形記憶装置などの半導体記憶装置である。
【0030】
内部構成要素800A、800Bの各セットはまた、CD-ROM、DVD、メモリスティック、磁気テープ、磁気ディスク、光ディスク、または半導体記憶装置などの1つまたは複数のポータブルコンピュータ可読有形記憶装置936の読み出し、書き込みのためのR/Wドライブまたはインターフェース832も含む。ソフトウェアプログラム108(
図1)や3GPP FLUS機能決定プログラム116(
図1)などのソフトウェアプログラムは、それぞれのポータブルコンピュータ可読有形記憶装置936のうちの1つまたは複数に格納し、それぞれのR/Wドライブまたはインターフェース832を介して読み出し、それぞれのハードドライブ830にロードすることができる。
【0031】
内部構成要素800A、800Bの各セットはまた、TCP/IPアダプタカードや、無線Wi-Fiインターフェースカードや、3G、4G、もしくは5G無線インターフェースカードまたは他の有線もしくは無線通信リンクなどのネットワークアダプタまたはインターフェース836も含む。サーバコンピュータ114(
図1)上のソフトウェアプログラム108(
図1)および3GPP FLUS機能決定プログラム116(
図1)は、ネットワーク(例えば、インターネット、ローカルエリアネットワーク、または他のワイドエリアネットワーク)およびそれぞれのネットワークアダプタまたはインターフェース836を介して外部コンピュータからコンピュータ102(
図1)およびサーバコンピュータ114にダウンロードすることができる。サーバコンピュータ114上のソフトウェアプログラム108および3GPP FLUS機能決定プログラム116は、ネットワークアダプタまたはインターフェース836から、それぞれのハードドライブ830にロードされる。ネットワークは、銅線、光ファイバ、無線伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイコンピュータおよび/またはエッジサーバを含むことができる。
【0032】
外部構成要素900A、900Bのセットの各々は、コンピュータディスプレイモニタ920、キーボード930、およびコンピュータマウス934を含むことができる。外部構成要素900A、900Bはまた、タッチスクリーン、仮想キーボード、タッチパッド、ポインティングデバイス、および他のヒューマンインターフェースデバイスも含むことができる。内部構成要素800A、800Bのセットの各々はまた、コンピュータディスプレイモニタ920、キーボード930、およびコンピュータマウス934にインターフェースするためのデバイスドライバ840も含む。デバイスドライバ840、R/Wドライブまたはインターフェース832およびネットワークアダプタまたはインターフェース836は、(記憶装置830および/またはROM824に格納された)ハードウェアおよびソフトウェアを含む。
【0033】
本開示はクラウドコンピューティングに関する詳細な説明を含むが、本明細書に記載される教示の実施態様はクラウドコンピューティング環境に限定されないことを予め理解されたい。むしろ、いくつかの実施形態は、現在公知であるかまたは後に開発される任意の他の種類のコンピューティング環境と併せて実施することができる。
【0034】
クラウドコンピューティングは、最小限の管理労力またはサービスの提供者との対話で迅速にプロビジョニングおよびリリースすることができる構成可能なコンピューティングリソース(例えば、ネットワーク、ネットワーク帯域幅、サーバ、処理、メモリ、ストレージ、アプリケーション、仮想マシン、およびサービス)の共有プールへの便利なオンデマンドネットワークアクセスを可能にするためのサービス配信のモデルである。このクラウドモデルは、少なくとも5つの特性、少なくとも3つのサービスモデル、および少なくとも4つの展開モデルを含むことができる。
【0035】
特性は以下の通りである。
オンデマンドセルフサービス:クラウド消費者は、サービスの提供者との人的な対話を必要とせずに、必要に応じて自動的に、サーバ時間やネットワークストレージなどのコンピューティング機能を一方的にプロビジョニングすることができる。
広範なネットワークアクセス:機能は、ネットワークを介して利用可能であり、異種のシンクライアントプラットフォームまたはシッククライアントプラットフォーム(例えば、携帯電話、ラップトップ、およびPDA)による使用を促進する標準的な機構を介してアクセスされる。
リソースプーリング:提供者のコンピューティングリソースは、マルチテナントモデルを使用して複数の消費者にサービスを提供するためにプールされ、異なる物理リソースおよび仮想リソースが、需要に応じて動的に割り当ておよび再割り当てされる。消費者は、一般に、提供されるリソースの正確な場所に対する制御または知識を持たないが、より高い抽象化レベル(例えば、国、州、またはデータセンタ)で場所を指定することができるという点で、場所の独立性の感覚がある。
迅速な弾力性:機能は、迅速にスケールアウトするために迅速かつ弾力的に、場合によっては自動的にプロビジョニングし、迅速にスケールインするために迅速にリリースすることができる。消費者には、プロビジョニングに利用可能な機能は多くの場合、無制限であるように見え、いつでも任意の量で購入することができる。
測定されるサービス:クラウドシステムは、サービスの種類(例えば、ストレージ、処理、帯域幅、およびアクティブユーザアカウント)に適したある抽象化レベルで計量機能を活用することによって、リソース使用を自動的に制御および最適化する。リソース使用を監視、制御、および報告して、利用されるサービスの提供者と消費者の両方に透明性を提供することができる。
【0036】
サービスモデルは以下の通りである。
サービスとしてのソフトウェア(SaaS):消費者に提供される機能は、クラウドインフラストラクチャ上で動作する提供者のアプリケーションを使用することである。アプリケーションは、ウェブブラウザなどのシンクライアントインターフェース(例えば、ウェブベースの電子メール)を介して様々なクライアントデバイスからアクセス可能である。消費者は、あり得る限られたユーザ固有のアプリケーション構成設定を除いて、ネットワーク、サーバ、オペレーティングシステム、ストレージ、または個々のアプリケーション機能さえも含む基盤となるクラウドインフラストラクチャを管理または制御しない。
サービスとしてのプラットフォーム(PaaS):消費者に提供される機能は、クラウドインフラストラクチャ上に、提供者によってサポートされるプログラミング言語およびツールを使用して作成された、消費者が作成または取得したアプリケーションを展開することである。消費者は、ネットワーク、サーバ、オペレーティングシステム、またはストレージを含む基盤となるクラウドインフラストラクチャを管理または制御しないが、展開されたアプリケーションおよび場合によってはアプリケーションホスティング環境構成を制御する。
サービスとしてのインフラストラクチャ(IaaS):消費者に提供される機能は、消費者が、オペレーティングシステムおよびアプリケーションを含むことができる任意のソフトウェアを展開および実行することができる、処理、ストレージ、ネットワーク、および他の基本的なコンピューティングリソースをプロビジョニングすることである。消費者は、基盤となるクラウドインフラストラクチャを管理または制御しないが、オペレーティングシステム、ストレージ、展開されたアプリケーション、および場合によっては選択ネットワーク構成要素(例えば、ホストファイアウォール)の限定された制御を行う。
【0037】
展開モデルは以下の通りである。
プライベートクラウド:クラウドインフラストラクチャは、組織のためにのみ動作する。これは、組織または第三者によって管理され得、オンプレミスまたはオフプレミスで存在し得る。
コミュニティクラウド:クラウドインフラストラクチャは、いくつかの組織によって共有され、共有された関心事項(例えば、ミッション、セキュリティ要件、ポリシー、およびコンプライアンス考慮事項)を有する特定のコミュニティをサポートする。これは、組織または第三者によって管理され得、オンプレミスまたはオフプレミスで存在し得る。
パブリッククラウド:クラウドインフラストラクチャは、一般の人々または大規模な業界グループに提供され、クラウドサービスを販売する組織によって所有される。
ハイブリッドクラウド:クラウドインフラストラクチャは、独自のエンティティのままであるが、データおよびアプリケーションの移植性(例えば、クラウド間の負荷分散のためのクラウドバースティング)を可能にする標準化されたまたは独自の技術によって互いに結び付けられた2つ以上のクラウド(プライベート、コミュニティ、またはパブリック)の構成である。
【0038】
クラウドコンピューティング環境はサービス指向であり、ステートレスであること、低結合、モジュール性、および意味的相互運用性に焦点を合わせている。クラウドコンピューティングの中心には、相互接続されたノードのネットワークを含むインフラストラクチャがある。
【0039】
図5を参照すると、例示的なクラウドコンピューティング環境500が示されている。図示するように、クラウドコンピューティング環境500は、例えば、携帯情報端末(PDA)または携帯電話54A、デスクトップコンピュータ54B、ラップトップコンピュータ54C、および/または自動車コンピュータシステム54Nなどの、クラウド消費者によって使用されるローカルコンピューティングデバイスが通信することができる1つまたは複数のクラウドコンピューティングノード10を含む。クラウドコンピューティングノード10は、互いに通信することができる。それらは、上述のプライベートクラウド、コミュニティクラウド、パブリッククラウド、ハイブリッドクラウド、またはそれらの組み合わせなどの1つまたは複数の複数のネットワークにおいて、物理的または仮想的にグループ化(図示せず)され得る。これにより、クラウドコンピューティング環境500は、クラウド消費者がローカルコンピューティングデバイス上にそのためのリソースを維持する必要がないサービスとして、インフラストラクチャ、プラットフォーム、および/またはソフトウェアを提供することができる。
図5に示すコンピューティングデバイス54A~54Nの種類は例示のみを意図しており、クラウドコンピューティングノード10およびクラウドコンピューティング環境500は、任意の種類のネットワークおよび/または(例えば、ウェブブラウザを使用して)ネットワークアドレス指定可能な接続を介して任意の種類のコンピュータ化されたデバイスと通信することができることが理解される。
【0040】
図6を参照すると、クラウドコンピューティング環境500(
図5)によって提供される1組の機能抽象化層600が示されている。
図6に示す構成要素、層、および機能は例示のみを意図しており、実施形態はこれらに限定されないことを予め理解されたい。図示するように、以下の層および対応する機能が提供される。
【0041】
ハードウェアおよびソフトウェア層60は、ハードウェア構成要素およびソフトウェア構成要素を含む。ハードウェア構成要素の例には、メインフレーム61、RISC(縮小命令セットコンピュータ)アーキテクチャベースのサーバ62、サーバ63、ブレードサーバ64、記憶装置65、ならびにネットワークおよびネットワーク構成要素66が含まれる。いくつかの実施形態では、ソフトウェア構成要素は、ネットワークアプリケーションサーバソフトウェア67およびデータベースソフトウェア68を含む。
【0042】
仮想化層70は抽象化層を提供し、そこから仮想エンティティの例、すなわち、仮想サーバ71、仮想ストレージ72、仮想プライベートネットワークを含む仮想ネットワーク73、仮想アプリケーションおよびオペレーティングシステム74、ならびに仮想クライアント75が提供され得る。
【0043】
一例では、管理層80は、以下で説明する機能を提供することができる。リソースプロビジョニング81は、クラウドコンピューティング環境内でタスクを実行するために利用されるコンピューティングリソースおよび他のリソースの動的な調達を提供する。計量および価格設定82は、リソースがクラウドコンピューティング環境内で利用されるときのコスト追跡、およびこれらのリソースの消費に対する課金または請求書発行を提供する。一例では、これらのリソースは、アプリケーションソフトウェアライセンスを含むことができる。セキュリティは、クラウド消費者およびタスクのための本人確認、ならびにデータおよび他のリソースのための保護を提供する。ユーザポータル83は、消費者およびシステム管理者にクラウドコンピューティング環境へのアクセスを提供する。サービスレベル管理84は、必要なサービスレベルが満たされるようなクラウドコンピューティングリソースの割り振りおよび管理を提供する。サービスレベル合意(SLA)の計画および履行85は、その将来の要件がSLAに従って予想されるクラウドコンピューティングリソースの事前配置および調達を提供する。
【0044】
ワークロード層90は、クラウドコンピューティング環境をそのために利用することができる機能の例を提供する。この層から提供され得るワークロードおよび機能の例には、マッピングおよびナビゲーション91、ソフトウェア開発およびライフサイクル管理92、仮想教室教育配信93、データ分析処理94、トランザクション処理95、ならびに3GPP FLUS機能決定96が含まれる。3GPP FLUS機能決定96は、デバイスまたはネットワーク上のFLUSソースおよびアプリケーションが機能を使用し、シンクデバイスまたはクラウドプラットフォーム上でサービスを実行することを可能にすることができる。
【0045】
いくつかの実施形態は、任意の可能な技術的詳細レベルの統合におけるシステム、方法、および/またはコンピュータ可読媒体に関し得る。コンピュータ可読媒体は、プロセッサに動作を実行させるためのコンピュータ可読プログラム命令を有する(1つまたは複数の)コンピュータ可読非一時的記憶媒体を含むことができる。
【0046】
コンピュータ可読記憶媒体は、命令実行デバイスによる使用のための命令を保持および格納することができる有形のデバイスであり得る。コンピュータ可読記憶媒体は、例えば、電子記憶装置、磁気記憶装置、光記憶装置、電磁記憶装置、半導体記憶装置、またはこれらの任意の適切な組み合わせであってもよいが、これらに限定されない。コンピュータ可読記憶媒体のより具体的な例の非網羅的なリストには、ポータブルコンピュータディスケット、ハードディスク、ランダムアクセスメモリ(RAM)、読み出し専用メモリ(ROM)、消去可能プログラム可能読み出し専用メモリ(EPROMまたはフラッシュメモリ)、スタティックランダムアクセスメモリ(SRAM)、ポータブルコンパクトディスク読み出し専用メモリ(CD-ROM)、デジタル多用途ディスク(DVD)、メモリスティック、フロッピーディスク、命令が記録されたパンチカードや溝内の隆起構造などの機械的に符号化されたデバイス、および上記の任意の適切な組み合わせが含まれる。コンピュータ可読記憶媒体は、本明細書で使用される場合、電波または他の自由に伝播する電磁波や、導波路または他の伝送媒体を伝播する電磁波(例えば、光ファイバケーブルを通過する光パルス)や、ワイヤを介して伝送される電気信号などの一時的な信号自体であると解釈されるべきではない。
【0047】
本明細書に記載されるコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体からそれぞれのコンピューティングデバイス/処理装置に、またはネットワーク、例えばインターネット、ローカルエリアネットワーク、ワイドエリアネットワークおよび/もしくは無線ネットワークを介して外部コンピュータもしくは外部記憶装置にダウンロードすることができる。ネットワークは、銅伝送ケーブル、光伝送ファイバ、無線伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイコンピュータおよび/またはエッジサーバを含むことができる。各コンピューティングデバイス/処理装置内のネットワークアダプタカードまたはネットワークインターフェースは、ネットワークからコンピュータ可読プログラム命令を受信し、そのコンピュータ可読プログラム命令を、それぞれのコンピューティングデバイス/処理装置内のコンピュータ可読記憶媒体に格納するために転送する。
【0048】
動作を実行するためのコンピュータ可読プログラムコード/命令は、アセンブラ命令、命令セットアーキテクチャ(ISA)命令、機械命令、機械依存命令、マイクロコード、ファームウェア命令、状態設定データ、集積回路の構成データ、またはSmalltalk、C++などといったオブジェクト指向プログラミング言語、および「C」プログラミング言語もしくは同様のプログラミング言語などの手続き型プログラミング言語を含む、1つもしくは複数のプログラミング言語の任意の組み合わせで記述されたソースコードもしくはオブジェクトコードのいずれかであってもよい。コンピュータ可読プログラム命令は、完全にユーザのコンピュータ上で、部分的にユーザのコンピュータ上で、スタンドアロンソフトウェアパッケージとして、部分的にユーザのコンピュータ上および部分的にリモートコンピュータ上で、または完全にリモートコンピュータもしくはサーバ上で実行することができる。後者のシナリオでは、リモートコンピュータは、ローカルエリアネットワーク(LAN)もしくはワイドエリアネットワーク(WAN)を含む任意の種類のネットワークを介してユーザのコンピュータに接続されてもよく、または(例えば、インターネットサービスプロバイダを使用してインターネットを介して)外部コンピュータに接続されてもよい。いくつかの実施形態では、例えば、プログラマブル論理回路、フィールドプログラマブルゲートアレイ(FPGA)、またはプログラマブルロジックアレイ(PLA)を含む電子回路は、態様または動作を実行するために、コンピュータ可読プログラム命令の状態情報を利用して電子回路をパーソナル化することによってコンピュータ可読プログラム命令を実行することができる。
【0049】
これらのコンピュータ可読プログラム命令は、コンピュータまたは他のプログラム可能なデータ処理装置のプロセッサを介して実行される命令が、フローチャートおよび/またはブロック図の1つもしくは複数のブロックで指定された機能/動作を実施する手段を作成するような、機械を製造するために、汎用コンピュータ、専用コンピュータ、または他のプログラム可能なデータ処理装置のプロセッサに提供され得る。これらのコンピュータ可読プログラム命令はまた、命令が格納されたコンピュータ可読記憶媒体が、フローチャートおよび/またはブロック図の1つもしくは複数のブロックで指定された機能/動作の態様を実装する命令を含む製造品を構成するような、コンピュータ、プログラム可能なデータ処理装置、および/または他のデバイスに特定の方法で機能するように指図することができるコンピュータ可読記憶媒体に格納されてもよい。
【0050】
コンピュータ可読プログラム命令はまた、コンピュータ、他のプログラム可能な装置、または他のデバイス上で実行される命令がフローチャートおよび/またはブロック図の1つもしくは複数のブロックで指定された機能/動作を実装するように、コンピュータ、他のプログラム可能な装置、または他のデバイス上で一連の動作ステップを実行させてコンピュータ実装プロセスを生成するために、コンピュータ、他のプログラム可能なデータ処理装置、または他のデバイス上にロードされてもよい。
【0051】
図のフローチャートおよびブロック図は、様々な実施形態によるシステム、方法、およびコンピュータ可読媒体の可能な実施態様のアーキテクチャ、機能、および動作を示している。これに関して、フローチャートまたはブロック図の各ブロックは、(1つまたは複数の)指定された論理機能を実装するための1つまたは複数の実行可能命令を含むモジュール、セグメント、または命令の一部を表すことができる。方法、コンピュータシステム、およびコンピュータ可読媒体は、追加のブロック、より少ないブロック、異なるブロック、または図に示すものとは異なる配置のブロックを含んでいてもよい。いくつかの代替的な実施態様では、ブロックに記載された機能は、図に記載された順序とは異なる順序で行われ得る。例えば、連続して示されている2つのブロックは、実際には、同時にもしくは実質的に同時に実行されてもよく、またはブロックは、関与する機能に応じて、時には逆の順序で実行されてもよい。また、ブロック図および/またはフローチャート図の各ブロック、ならびにブロック図および/またはフローチャート図のブロックの組み合わせは、指定された機能もしくは動作を実行するか、または専用ハードウェアとコンピュータ命令との組み合わせを実行する、専用ハードウェアベースのシステムによって実装することができることにも留意されたい。
【0052】
本明細書に記載されるシステムおよび/または方法が、ハードウェア、ファームウェア、またはハードウェアとソフトウェアとの組み合わせの異なる形態で実装され得ることは明らかであろう。これらのシステムおよび/または方法を実装するために使用される実際の専用の制御ハードウェアまたはソフトウェアコードは、実施態様を限定するものではない。よって、本明細書ではシステムおよび/または方法の動作および挙動は、特定のソフトウェアコードを参照することなく説明されており、ソフトウェアおよびハードウェアは、本明細書の説明に基づいてシステムおよび/または方法を実装するように設計され得ることが理解されよう。
【0053】
本明細書で使用される要素、動作、または命令は、そのように明示的に記載されていない限り、重要または必須であると解釈されるべきではない。また、本明細書で使用される場合、冠詞「a」および「an」は、1つまたは複数の項目を含むことを意図しており、「1つまたは複数」と交換可能に使用され得る。さらに、本明細書で使用される場合、「セット」という用語は、1つまたは複数の項目(例えば、関連項目、無関係な項目、関連項目と無関係な項目との組み合わせなど)を含むことを意図しており、「1つまたは複数」と交換可能に使用され得る。1つの項目のみが意図される場合、「1つ」という用語または同様の用語が使用される。また、本明細書で使用される場合、「有する(has)」、「有する(have)」、「有する(having)」などの用語は、オープンエンドな用語であることを意図している。さらに、「に基づいて」という語句は、特に明記しない限り、「少なくとも部分的に、に基づいて」を意味することを意図している。
【0054】
様々な態様および実施形態の説明は、例示の目的で提示されているが、網羅的であること、または開示された実施形態に限定されることを意図するものではない。特徴の組み合わせが特許請求の範囲に記載され、および/または本明細書に開示されているが、これらの組み合わせは、可能な実施態様の開示を限定することを意図するものではない。実際、これらの特徴の多くは、特許請求の範囲に具体的に記載されていない、および/または本明細書に開示されていない方法で組み合わされてもよい。以下に列挙される各従属請求項は1つの請求項のみに直接依存し得るが、可能な実施態様の開示は、各従属請求項と請求項セット内の他のすべての請求項との組み合わせを含む。記載の実施形態の範囲から逸脱することなく、多くの修正および変形が当業者には明らかであろう。本明細書で使用される用語は、実施形態の原理、実際の用途もしくは市場で見られる技術に対する技術的改善を最もよく説明するために、または当業者が本明細書に開示する実施形態を理解することを可能にするために選択されたものである。
【符号の説明】
【0055】
100 メディア処理システム
102 コンピュータ
104 プロセッサ
106 データ記憶装置
108 ソフトウェアプログラム
110 通信ネットワーク
112 データベース
114 サーバコンピュータ
116 3GPP FLUS機能決定プログラム
200 3GPP FLUSアーキテクチャ
202 ユーザ環境
204 ユーザ環境
208 FLUSソース
218 FLUSシンク
206 キャプチャデバイス
210 制御ソース
212 メディアソース
214 支援受信機
216 遠隔制御ターゲット
220 支援送信機
222 リモートコントローラ
224 制御シンク
226 メディアシンク
800A 内部構成要素
800B 内部構成要素
820 プロセッサ
822 コンピュータ可読RAM
824 コンピュータ可読ROM
826 バス
828 オペレーティングシステム
830 コンピュータ可読有形記憶装置/ハードドライブ
832 R/Wドライブまたはインターフェース
836 ネットワークアダプタまたはインターフェース
840 デバイスドライバ
900A 外部構成要素
900B 外部構成要素
920 コンピュータディスプレイモニタ
930 キーボード
934 コンピュータマウス
936 ポータブルコンピュータ可読有形記憶装置
10 クラウドコンピューティングノード
500 クラウドコンピューティング環境
54A 携帯情報端末(PDA)または携帯電話
54B デスクトップコンピュータ
54C ラップトップコンピュータ
54N 自動車コンピュータシステム
600 1組の機能抽象化層
60 ハードウェアおよびソフトウェア層
61 メインフレーム
62 RISC(縮小命令セットコンピュータ)アーキテクチャベースのサーバ
63 サーバ
64 ブレードサーバ
65 記憶装置
66 ネットワークおよびネットワーク構成要素
67 ネットワークアプリケーションサーバソフトウェア
68 データベースソフトウェア
70 仮想化層
71 仮想サーバ
72 仮想ストレージ
73 仮想ネットワーク
74 仮想アプリケーションおよびオペレーティングシステム
75 仮想クライアント
80 管理層
81 リソースプロビジョニング
82 計量および価格設定
83 ユーザポータル
84 サービスレベル管理
85 サービスレベル合意(SLA)の計画および履行
90 ワークロード層
91 マッピングおよびナビゲーション
92 ソフトウェア開発およびライフサイクル管理
93 仮想教室教育配信
94 データ分析処理
95 トランザクション処理
96 3GPP FLUS機能決定