JP2019536324A - 適応型コンテンツ最適化 - Google Patents

適応型コンテンツ最適化 Download PDF

Info

Publication number
JP2019536324A
JP2019536324A JP2019521061A JP2019521061A JP2019536324A JP 2019536324 A JP2019536324 A JP 2019536324A JP 2019521061 A JP2019521061 A JP 2019521061A JP 2019521061 A JP2019521061 A JP 2019521061A JP 2019536324 A JP2019536324 A JP 2019536324A
Authority
JP
Japan
Prior art keywords
content
amount
tokens
token
transcoding
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.)
Granted
Application number
JP2019521061A
Other languages
English (en)
Other versions
JP6626602B2 (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
Application filed by アファームド ネットワークス,インク., アファームド ネットワークス,インク. filed Critical アファームド ネットワークス,インク.
Publication of JP2019536324A publication Critical patent/JP2019536324A/ja
Application granted granted Critical
Publication of JP6626602B2 publication Critical patent/JP6626602B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/56Provisioning of proxy services
    • H04L67/565Conversion or adaptation of application format or content
    • H04L67/5651Reducing the amount or size of exchanged application data
    • 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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/16Threshold monitoring
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/20Arrangements for monitoring or testing data switching networks the monitoring system or the monitored elements being virtualised, abstracted or software-defined entities, e.g. SDN or NFV
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/215Flow control; Congestion control using token-bucket
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/22Traffic shaping
    • 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/10Architectures or entities
    • H04L65/1045Proxies, e.g. for session initiation protocol [SIP]
    • 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
    • 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
    • H04L67/61Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources taking into account QoS or priority requirements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • H04L43/0882Utilisation of link capacity

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Environmental & Geological Engineering (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本明細書では、通信ネットワーク内の様々なトラフィックパターンを処理するためにコンピュータ処理リソースが効果的に利用されるように、通信ネットワーク内のメディアを適応的にコード変換するためのシステムおよび方法が説明されている。コンピューティングデバイスは、コンテンツをコード変換するリクエストを受信し、そしてコンピューティングデバイスに関連付けられた多くのCPUコアと現在使用中のトークン量に基づいて第1のトークン量を決定する。コンピューティングデバイスは、コンテンツをコード変換する要求を受信し、コンピューティングデバイスに関連するいくつかのCPUコアと現在使用されているトークンの量とに基づいて第1のトークンの量を決定する。コンピューティングデバイスは、コンテンツのコード変換に関連する第2のトークン量を決定し、そして第1のトークン量が第2のトークン量よりも少ない場合、コンピューティングデバイスは、コンテンツに対するコード変換をバイパスするか、またはコンテンツのコード変換に関連するトークンの数を減らすためにコード変換パラメータを調整する。

Description

関連出願の相互参照
本出願は、2016年10月21日に出願された米国仮特許出願第62/410,929号の優先権を主張するものであり、これは参照により本明細書に組み込まれる。
本発明の実施形態は、概して、モバイルネットワークにおけるコンテンツ配信に関する。
トラフィックパターンが急速に変化するモバイルネットワークでは、従来のハードウェアソリューションでは、最悪の場合のトラフィックパターンを効果的に処理できないことがしばしばある。最悪の場合に必要とされるハードウェアが非常に大きい場合、それはほとんどの時間効果的に使用されない多数のサーバをオペレータは購入するという結果になる。サーバの数が少ない場合、最適化可能な重いコンテンツ(例えば、画像およびビデオ)が突然急増すると、最適化ソリューションは(例えば、CPUおよびメモリに関して)過負荷になる可能性がある。
本明細書では、通信ネットワーク内の様々なトラフィックパターンを処理するためにコンピュータ処理リソースが効果的に利用されるように、通信ネットワーク内のメディアを適応的にコード変換するためのシステムおよび方法が説明される。いくつかの実施形態では、コンピューティングデバイスは、コンテンツプロバイダからエンドユーザデバイスへの配信のためにコンテンツをコード変換するリクエストを受信する。いくつかの実施形態では、コンピューティングデバイスは、コンピューティングデバイスに関連付けられた多くのCPUコアに関連付けられたプールされたトークン量、およびコンピューティングデバイスによって処理されている多くの他のコード変換リクエストに関連する現在使用中のトークン量に基づいて第1のトークン量を決定する。いくつかの実施形態では、コンピューティングデバイスは、コンテンツのサイズ、コンテンツの種類、コンテンツの解像度、およびコンテンツのフレームレートのうちの少なくとも1つに基づいて、コンテンツのコード変換に関連する第2のトークン量を決定する。いくつかの実施形態では、第1のトークン量が第2のトークン量よりも少ない場合、コンピューティングデバイスは、コンテンツに対するコード変換をバイパスするか、またはコンテンツのコード変換に関連するトークンの数を減らすためにコード変換パラメータを調整し、減らされたトークン数は、第1のトークン量よりも少ない。
いくつかの実施形態では、コンピューティングデバイスは、コンピューティングデバイスに関連するCPU使用率のレベルおよび利用可能なチャネル帯域幅の量のうちの少なくとも1つに基づいて、プールされたトークン量を調整する。いくつかの実施形態では、現在使用中のトークン量は、ゼロトークンからプールされたトークン量までの範囲である。いくつかの実施形態では、第1のトークン量を決定することは、さらに、プールされたトークン量から現在使用中のトークン量を減算することを含む。いくつかの実施形態では、コンピューティングデバイスは、第1のトークン量が第2のトークン量以上であるときにリクエストされたコンテンツをコード変換する。いくつかの実施形態では、コンテンツの種類は、画像、オーディオ、テキスト、およびビデオのうちの少なくとも1つを含む。いくつかの実施形態では、コンピューティングデバイスは、コンテンツをコード変換するためにプロビジョニングされた仮想マシンの数に基づいてCPUコアの数を決定する。いくつかの実施形態では、コード変換パラメータを調整することは、コンテンツに適用されるコード変換の量を減らすことを含む。
これらおよびその他の開示された主題の機能は、以下の図面、詳細な説明、および特許請求の範囲を検討した後にさらに十分に理解されるであろう。本明細書で使用されている表現および用語は説明を目的としており、限定と見なされるべきではないことを理解されたい。
開示された主題の様々な目的、構成、および利点は、同じ符号が同じ要素を識別する以下の図面と関連して考慮されるとき、開示された主題の以下の詳細な説明を参照してより十分に理解され得る。
本開示のいくつかの実施形態による係るネットワーク化システム100を示すシステム図である。 本開示のいくつかの実施形態に係る、クラスタを介して配信されているコンテンツを示すシステム図である。 本開示のいくつかの実施形態に係る、コンテンツトークンを示す図である。 本開示のいくつかの実施形態に係る、トークンプールを調整するためのプロセスを示すフローチャートである。 本開示のいくつかの実施形態に係る、適応型コンテンツ最適化技術を示すフローチャートである。
本明細書では、仮想マシン(VM)にわたるトークンの数を拡大および縮小することができるコンテンツ最適化のための仮想化環境を提供するためのシステムおよび方法を説明する。コード変換ジョブの最適化パラメータは、利用可能なリソースに基づいて決定することができる。いくつかの実施形態では、本明細書で説明されている適応型最適化技術は、HTTPプロキシで実施される。最適化に関して本明細書で説明されている動的決定は、リソースの有効利用および最適な帯域幅節約を可能にする。
図1は、本開示のいくつかの実施形態に係るネットワーク化システム100を示すシステム図である。システム100は、ユーザ機器(UE)102、発展型ノードB(eNodeB)104、モビリティ管理エンティティ(MME)106、サービングゲートウェイ(SGW)モジュール108、ポリシーおよび課金ルール機能(PCRF)110、パケットデータネットワークゲートウェイ(PGW)112、パブリックデータ(Gi)ネットワーク116、ポリシーおよび課金執行機能(PCEF)122、マルチメディアサーバ130、HTTPプロキシ140、オプティマイザ142、および仮想化モジュール150を含む。
UE102は、eNodeB104を介してネットワーク化システム100に接続する。UE102は、モバイルデータネットワークに接続するように構成されたコンピューティングデバイス(例えば、携帯電話、タブレット、ラップトップ)を含む。eNodeB104はセルサイトの無線部分である。単一のeNodeB104は、いくつかの無線送信機、受信機、制御部、および電源を含むことができる。eNodeB104は、MME106およびSGW108にバックホールすることができる。バックホールは、パケットまたは通信信号を比較的長距離にわたって別の場所に転送して処理するプロセスである。SGW108は、eNodeB間ハンドオーバ中にユーザプレーンのモビリティアンカーとしても機能しながら、ユーザデータパケットをルーティングし転送する。MME106は、ネットワーク化システム100内の制御ノードである。MME106は、LTE無線ネットワークに接続するUE102のためのモビリティ機能およびセキュリティ機能をも含む、LTE関連の制御プレーンのシグナリングを処理する。MME106はまた、トラッキング領域の管理およびページング手順のサポートを含む、アイドルモードにあるUEを処理する。
UE102がネットワークに接続すると、データセッション(例えば、4Gセッション)を作成し、UE102にデータ接続性を提供するために、複数の制御メッセージがネットワーク要素間で交換される。上記で説明したように、eNodeB104は、MME106およびSGW108にバックホールすることができる。SGW108は、ユーザパケットをPGW112にルーティングし転送する。PGW112は、ポリシー執行ポイント(PEP)として機能することができる。PGW112はPCRF110と通信し、PCRF110は加入者に特有のポリシー情報をダウンロードすることができる。PCRFは、ポリシー決定ポイント(PDP)として機能する。
PGW112はPCEF122を含む。PCEF122は、PCRF110から受信したポリシー決定を執行し、ポリシー執行機能ならびに課金機能を提供する。
PGW112はまた、Giネットワーク116を介して外部パケットデータネットワークへの接続をUE102に提供する。以下により詳細に説明されるように、UEはマルチメディアサーバ130からのビデオをリクエストし受信することができる。
PGW112とネットワーク116との間に位置するのは、HTTPプロキシ140を含むことができる。HTTPプロキシ140は、クライアントからのHTTPリクエストをネットワーク116にルーティングする。HTTPプロキシ140は、オプティマイザ142を含むことができる。オプティマイザ142は、サイズ、タイプ、およびレートなどのマルチメディアの特性に基づいて帯域幅をマルチメディアに割り当てることによってマルチメディア(例えば、ビデオ、画像、オーディオ、テキスト)を最適化する。
仮想化モジュール150は、PGW112、PCEF122、HTTPプロキシ140、およびオプティマイザ142の仮想化表現を指す。PGW112、PCEF122、HTTPプロキシ140、およびオプティマイザ142の機能は、仮想マシン上またはクラウド内に実装することができる。いくつかの実施形態では、仮想化モジュール150は、PGW112、PCEF122、HTTPプロキシ140、およびオプティマイザ142のサブセットを含むことができる。以下により詳細に説明されるように、仮想化モジュール150は、仮想マシン(VM)クラスタとして、PGW112、PCEF122、HTTPプロキシ140、およびオプティマイザ142を配置するために使用することができる。
図2は、本開示のいくつかの実施形態に係る、クラスタを介して配信されているコンテンツを示すシステム図である。図2は、UE102、マルチメディアサーバ130、クラスタ202、仮想マシン(VM)204、コア206、およびコンテンツ210を示す。
クラスタ202は、仮想マシン(VM)の集合を指す。クラスタ202は、通常1つの配置に関連付けられている。配置とは、クラスタをホストするコンピュータとプロセッサの物理的な設定を指す。配置は通常特定のネットワークに関連付けられ、地理的領域に関連付けることができる。いくつかの実施形態では、クラスタ202は特定の地理的領域に役立つ。ハードウェアアーキテクチャの特定の例が説明されているが、本明細書で説明されている技術は任意の特定のハードウェアアーキテクチャから独立している。
いくつかの実施形態では、仮想マシン204はコンテナも含むことができる。コンテナは、単一のホスト上で複数の隔離されたシステムを実行するための仮想化方法である(例えば、DockerまたはLinuxコンテナ)。
上述のように、クラスタ202は、複数の仮想マシン204を含むことができる。各仮想マシンは、通常1つのサーバに関連付けられている。仮想マシンは、サーバ上の複数のプロセッサにまたがることができるか、または複数の仮想マシンを単一のプロセッサに関連付けることもできる。いくつかの実施形態では、仮想マシンとプロセッサとの間の対応は1対1である。仮想マシン204は、図1に関して説明した、PGW112、PCEF122、HTTPプロキシ140、およびオプティマイザ142を仮想化する。PGW112、PCEF122、HTTPプロキシ140、およびオプティマイザ142のそれぞれは、別々の仮想マシン上で実行することができるか、またはモジュールの組み合わせは、単一の仮想マシン上で実行することができる。例えば、HTTPプロキシ140およびオプティマイザ142は、1つの仮想マシン上で実行することができる。クラスタは、PGW112、PCEF122、HTTPプロキシ140、およびオプティマイザ142のそれぞれの複数のインスタンスを含むことができる。以下により詳細に説明するように、仮想マシン204は、他のVMを管理するための管理エンジンも含むことができる。
各仮想マシン204はまた、多数のプロセッサコア206を利用する。一般的に、中央処理装置(CPU)は、多数のプロセッサコアを含む。仮想マシンは、仮想マシンが関連付けられている1つのCPUまたは多数のCPUの部分に基づいて、多数のプロセッサコアに関連付けられている。例えば、仮想マシンが単一のCPUにマッピングされていて、そのCPUに8つのコアが含まれている場合、仮想マシンは8つのコアを使用する。
コンテンツ210は、画像(例えば、jpg、gif、png)、ビデオ(例えば、mp4、flv、webm)、オーディオ(例えば、mpeg、wav、mp3、aac)、またはテキスト(例えば、html、javascript、css)とすることができる。コンテンツは、サイズ、解像度、または品質に関連付けることができる。以下により詳細に説明されるように、コンテンツのサイズ、解像度、または品質は、トークンの数と関連付けることができる。
いくつかの実施形態では、VM204のうちの1つは、以下でさらに詳細に説明されるように、管理エンジンである。
図3は、本開示のいくつかの実施形態に係る、コンテンツトークンプールを示す図である。図3は、HTTPプロキシ140、コンテンツ210、コンテンツトークンプール302、仮想マシンコア(vコア)310、および利用可能なトークンの割合314を示す。
いくつかの実施形態では、HTTPプロキシ140は、コンテンツトークンプール302を含む。コンテンツトークン302は、マルチメディアコンテンツ210を処理するために利用可能な仮想マシンリソースの量を表すのに使用することができる。仮想マシンリソースの量は、仮想マシン310によって利用されるCPUリソースまたはCPUコアの量に関連する。例えば、各コアに10個のトークンが割り当てられ、HTTPプロキシ140を実行する仮想マシンが8個のコアにマッピングされると仮定すると、HTTPプロキシ140に割り当てられるトークンの数は80個のトークンになる。
いくつかの実施形態では、HTTPプロキシ140に割り当てられたコンテンツトークンの数は、通常と見なされ定常状態動作に許容されると見なされるCPU使用率の割合にさらに依存することができる。例えば、70%のCPU使用率のレベルは通常の量、80%のCPU使用率のレベルは中程度の量、90%のCPU使用率のレベルは多い量、100%のCPU使用率のレベルは危機的な量と見なすことができる。いくつかの実施形態では、通常のCPU使用量は、より高いCPU使用率の時折のピークまたはスパイクを処理することができ、システムに過負荷を掛けないであろうCPU使用量またはロードに関連付けられる。中程度のCPU使用率は、通常のCPU動作を保証するためにCPUの動作とパフォーマンスを綿密に監視する必要があるCPU使用量と関連付けられる。多いCPU使用率は、システムの動作とパフォーマンスに一時的な影響を与える可能性がある。危機的なCPU使用率とは、システムの動作とパフォーマンスに影響を与えるCPU使用率を指す。
システム起動時には、各VMはCPU使用量が低いアイドル状態(例えば、10%)で起動する。各VMが新しいコンテンツを含むあらゆる種類の処理とすることができる「作業」を引き受け始めると、その作業にCPUサイクルが必要になる。定期的な監視では、CPU使用率が評価され、アクションが実行される(例えば、トークンプールのサイズを増減する)。アクティビティ(または作業)のバーストが発生した場合、CPU使用量は、例えば85%に達する可能性がある。バースト中に、トークンプールのサイズは縮小される。バースト状態が終了すると、CPU使用率は、例えば(上記の通常の状態に対応することができる)70%に戻り、トークンプールのサイズを増やすことができる。バースト状態の例で上記したように、プール内のトークン数を減らすことで、「作業負荷」容量が効果的に「調整」され、CPU負荷が許容レベルに戻る。
上述のように、CPU使用率の閾値は、HTTPプロキシ140に利用可能なトークン314の割合に変換することができる。例えば、前の例では、8個のコアに関連付けられているHTTPプロキシ140に基づいて80個のトークンがHTTPプロキシ140に割り当てられると仮定すると、HTTPプロキシ140に割り当てられるトークンの数は、多いCPU負荷に対して60%または48個にまで減らすことができ、中程度のCPU負荷に対して70%または56個のトークンにまで減らすことができる。一般的に、トークンの割合が高いと、多いCPU負荷よりも中程度のCPU負荷に関連付けられ、トークンの割合が高いと、危機的なCPU負荷よりも多いCPU負荷に関連付けられる。
上述のように、マルチメディアコンテンツ210は、マルチメディアサイズ、解像度、または品質などの1つ以上のパラメータと関連付けることができる。コンテンツのサイズ、解像度、または品質のそれぞれは、トークン数に関連付けることができる。例えば、ビデオクリップには、イメージファイルまたはオーディオファイルよりも多くのトークンを割り当てることができる。大きいビデオには小さいビデオよりも多くのトークンを割り当てることができ、高い解像度のビデオには低い解像度のビデオよりも多くのトークンを割り当てることができる。
いくつかの実施形態では、HTTPプロキシ140は、そのトークンプール内に利用可能な数のトークンを有するので、HTTPプロキシ140は、特定の数および種類のコンテンツ210を処理することができる。例えば、HTTPプロキシ140が、コアの数およびCPU使用量を考慮して利用可能な60個のトークンを有し、高品質ビデオが25個のトークンに関連付けられると仮定する。いくつかの実施形態では、トークンは、管理VM上で実行されている管理プロセス/コンポーネントによって各プロセスに割り当てられる。高品質ビデオに対するリクエストを受信するだけの場合、HTTPプロキシ140は2つのビデオしか処理することができない(すなわち、25トークン+25トークン=50トークン分のビデオに相当する)。本明細書で言及される処理は、マルチメディアの最適化(例えば、適応型ビットレート技術を使用した、圧縮、レート変換、コード変換)も指すことができる。いくつかの実施形態では、最適化はオプティマイザ142によって実行される。コード変換は最適化の一形態であり得るが、本明細書ではコード変換および最適化は互換的に使用される。本明細書で使用されるとき、コード変換はまた、圧縮、レート変換、および他のビットレート低減技術を指すことができる。
図3に示すようなHTTPプロキシ140は、クラスタ内の多数のHTTPプロキシのうちの1つとすることができる。いくつかの実施形態では、(図3には示されていない)管理エンジンが、HTTPプロキシのすべてのインスタンスを監視する。管理エンジンは、クラスタ内のすべてのVMを管理し、HTTPプロキシも管理できる仮想マシンとすることができる。クラスタ内のすべてのHTTPプロキシがキャパシティにある(つまり、クラスタ内の各HTTPプロキシがコンテンツの種類に応じて最大量のトークンを使用している)と仮定すると、管理エンジンは、1)1つまたは複数のHTTPプロキシに、CPU使用率情報またはCPU過負荷情報(例えば、通常、中程度、多い、危機的)を1つ以上のプロキシに送信することができ、それに応答して、HTTPプロキシは、より少ないトークンを使用する(例えば、より少ない圧縮を提供する)コンテンツに対してより少ない最適化を提供できる、2)CPU使用率情報またはCPU過負荷情報(例えば、通常、中程度、多い、危機的)を1つ以上のHTTPプロキシに送信することができ、それに応答して、1つ以上のHTTPプロキシは最適化をスキップする。いくつかの実施形態では、(PCEFも仮想化されている場合は、仮想マシン上に(例えば、PCEF VM上に)あり得る)負荷分散エンジンは、後続の動作を処理するために最小負荷仮想マシンが選択されるように後続の動作をスケジューリングする。
図4は、本開示のいくつかの実施形態に係る、トークンプールサイズを調整するためのプロセスを示すフローチャートである。
ステップ402を参照すると、遠距離通信ネットワークにおいてマルチメディアコンテンツを最適化するための仮想マシンをプロビジョニングするリクエストが受信される。上述のように、リクエストは、図1に関して上述したように、仮想化モジュール150内の各要素に対して仮想マシンをプロビジョニングすることに関連付けることができる。リクエストは、ネットワーク事業者(例えば、AT&T、Verizon、T−Mobile)から発信することができる。
ステップ404を参照すると、各仮想マシンに対してコア数が決定される。上述したように、仮想マシンは通常1つ以上のCPUに割り当てられ、その各々は、さらにCPUコアの数と関連付けることができる。いくつかの実施形態では、各VMには、VMの種類(例えば、プロキシVM、PCEF VM、管理VM)に基づいて特定の数のコアが割り当てられる。
ステップ406を参照すると、各仮想マシンに対する初期トークン数は、その仮想マシンに割り当てられたコアの数に基づいて決定される。上述のように、HTTPプロキシ140を実行している仮想マシンが8つのコアに関連付けられ、各コアに10個のトークンが割り当てられると仮定すると、HTTPプロキシ140を実行している仮想マシンに関連付けられたトークンの数は80トークンである。
ステップ408を参照すると、CPU使用率がCPU使用率レベルを決定するために監視される。上述のように、CPU使用率レベルは、通常、中程度、多い、または危機的とすることができる。いくつかの実施形態では、CPU使用率は、プロセスがVM内で行わなければならない仕事量によって影響を受ける。一般的に、処理が多いほど、使用されるCPUサイクルが多くなる。その結果、より多くの最適化作業(例えば、コード変換、画像最適化)はより多くのCPUサイクルを要し、全体的なCPUパーセンテージを増加させる。
ステップ410を参照すると、トークンプールは、CPU使用率監視に基づいて連続的に調整することができる。前述のように、監視されるCPU使用率レベルは、トークンプールのサイズの調整に変換できる。いくつかの実施形態では、トークンプールは、利用可能なチャネル帯域幅の量に基づいて調整することもできる。チャネル帯域幅は、異なる時点で変わる可能性がある。いくつかの実施形態では、トークンプールは、すべてのコード変換されたビデオまたは画像がより少ないトークンを消費し、すべてのバイパスされたビデオまたは画像がより大量のトークンを消費するように利用可能なチャネル帯域幅の量を表すことができ、トークンプールのチャネル帯域幅とサイズの利用可能な量は時間とともに変化することができる。利用可能なチャネル帯域幅とトークンを関連付けることの利点は、チャネル帯域幅が制限されているときに、より多くのコード変換を発生させることができることである。
図5は、本開示のいくつかの実施形態に係る、適応型コンテンツ最適化技術を示すフローチャートである。
ステップ502を参照すると、コンテンツプロバイダからエンドユーザデバイスへの配信のためにコンテンツが受信される。いくつかの実施形態において、コンテンツは、画像、オーディオ、ビデオ、およびhtml/javascript/cssを含む。各コンテンツタイプは、コンテンツを最適化する(例えば、圧縮する、コード変換する)ための技術と関連付けることができる。最適化技術は、html/javascript/cssミニフィケーション、オーディオおよびビデオコード変換、および画像コード変換を含むことができる。
ステップ504を参照すると、コンテンツの最適化に関連するオプティマイザを実行している最小負荷のVMが決定される。いくつかの実施形態では、負荷が最も少ないVMは、利用可能なCPUリソースが最も多いVMである。
ステップ506を参照すると、コンテンツを処理するのに必要とされるトークンの数が決定される。上述のように、コンテンツに割り当てられるトークンの数は、コンテンツサイズ、コンテンツ品質、およびコンテンツタイプなどの様々なコンテンツパラメータに依存し得る。一般的に、大きいコンテンツには小さいコンテンツよりも多くのトークンが割り当てられ、高いコンテンツ品質には低いコンテンツ品質よりも多くのトークンが割り当てられ、ビデオにはオーディオや画像よりも多くのトークンが割り当てられる。
ステップ508を参照すると、利用可能なトークンの数が決定される。利用可能なトークンの数を決定するためのプロセスは、図4に関して上述されている。いくつかの実施形態では、利用可能な初期トークンの数は、リクエストが処理されていないときにプロビジョニングされた仮想マシンに割り当てられたトークンの数と関連付けることができる。いくつかの実施形態では、利用可能なトークンの数は、プロビジョニングされた仮想マシンに割り当てられたトークンの数から他のプロセスまたはリクエストによって使用されているトークンの数を引いたものに関連付けることができる。例えば、プロビジョニングされた仮想マシンに100個のトークンが割り当てられている場合、利用可能なトークン数は(プロセスが実行されていないと仮定して)100個のトークンである。60個のトークンを必要とする1つ以上のリクエストが実行されている場合、利用可能なトークンの数は40個のトークンである。図4でより詳細に説明されたように、初期トークンの数もCPU使用率に基づいて変えることができる。
ステップ510を参照すると、必要とされるトークンの数および利用可能なトークンの数に基づいて、バイパス、符号化パラメータの調整、またはスケジュールのコード変換のアクションが行われる。利用可能なトークンが十分にある場合、コンテンツは通常どおり処理される。通常の処理は、コンテンツに通常関連付けられている最大量の圧縮またはコード変換を(例えば、そのタイプ、サイズ、および解像度に基づいて)適用することを指す。利用可能なトークンが十分にない場合、アクションにはバイパスまたは処理パラメータの調整が含まれる可能性がある。バイパスと処理パラメータの調整は、コンテンツの処理に必要なCPUリソースの量を減らすことに関連するアクションである。バイパスとは、コンテンツの処理をスキップすることである。処理パラメータを調整することは、適用される圧縮またはコード変換の量を減らすことを含み得る。いくつかの実施形態では、コンテンツを処理するのに必要とされるトークンの数が利用可能なトークンの数より少なくなるようにパラメータが調整される。
上述のように、コンテンツには、コンテンツのサイズ(例えば、コンテンツに関連するバイト数)、コンテンツの種類(例えば、画像、ビデオ)、および解像度(例えば、ビデオ解像度)に基づいてトークンを割り当てることができる。以下の表1は、コンテンツタイプ、サブタイプ、サイズ、および/または解像度に基づいて割り当てることができる多数のトークンのうちの一例を示す。
Figure 2019536324

表1に示すように、画像はその解像度に基づいて固定数のトークンを割り当てることができる。例えば、より大きなコンテンツは、より小さなコンテンツよりも多くのトークン(例えば、大/中/小のjpegに対してそれぞれ5/3/1トークン)を割り当てられる。ビデオでは、解像度とフレームレートを組み合わせた、必要なピクセル処理レートに基づいてトークンの数が割り当てられる。例えば、より高いコンテンツ品質はより低いコンテンツ品質よりも多くのトークン(例えば、UHD(2160p)/HD(1080p)/HD(720p)mp4に対してそれぞれ100/50/25トークン)を割り当てられ、ビデオはオーディオまたは画像よりも多くのトークンを割り当てられる(例えば、ビデオは画像として少なくとも4〜5のトークン数を割り当てられる)。
また上述のように、利用可能なトークンの初期数、および所与のサイズおよび解像度の所与の各コンテンツタイプを処理するのに必要なトークン数に関して決定が行われる。以下の表2は、CPU使用率のどの目標レベルを通常として指定されるべきか、および利用可能なトークンの数によって処理できるmp4ビデオとおよび大きなjpegの数に応じて最初にトークンプールに割り当てられたトークンの数をどのように変えることができるかの一例を示す。
Figure 2019536324

例えば、60%のCPU使用率目標では、108個のトークンが使用可能である。表1に示すように、HD(1080p)でのmp4ビデオには50個のトークンが必要である。そのため、HD(1080p)では2つのmp4ビデオのみが、60%のCPU使用率目標で処理できる。それとは対照的に、大きなjpegは5個のトークンしか必要としない。そのため、21個のjpegを60%のCPU使用率目標で処理できる。
本開示のいくつかの実施形態は、モバイルネットワーク内の変化するトラフィックパターンを処理するためにコンピュータ処理リソースが効果的に利用されるように、仮想化ネットワーク要素を使用してモバイルネットワーク内のメディアを適応的にコード変換するシステムおよびコンピュータ化方法に関する。いくつかの実施形態では、システムおよびコンピュータ化された方法は、コンピューティングデバイスによって、モバイルネットワーク内でモバイルコード変換操作を仮想化するように仮想マシンに依頼するリクエストを受け取ることと、コンピューティングデバイスによって、仮想マシンに利用可能な中央処理装置(CPU)リソースの量、および仮想マシンの各々に関連する機能に基づいて、多数のコンピューティングコアを仮想マシンの各々に割り当てることと、コンピューティングデバイスによって、仮想マシンの各々に関連付けられ、仮想マシンの各々に割り当てられたCPUリソース、およびCPUリソースの各々に関連付けられたCPU使用率のレベルに基づく第1のトークン量を決定することと、コンピューティングデバイスによって、コンテンツプロバイダからエンドユーザデバイスへの配信のためにコンテンツをコード変換する要求リクエストを受信することと、コンピューティングデバイスによって、コンテンツのコード変換に関連する第2のトークン量を決定することと、第2のトークン量が第1のトークン量を超えたときに、コンピューティングデバイスによって、仮想マシンに命令を送信して、コンテンツのためのコード変換をバイパスするか、またはコンテンツに適用されるコード変換の量を減らすようにコード変換パラメータを調整することとを含む。
本明細書に記載の主題は、本明細書に開示されている構造手段およびその構造上の均等物を含む、デジタル電子回路、あるいはコンピュータソフトウェア、ファームウェア、またはハードウェア、あるいはそれらの組み合わせに実装することができる。本明細書に記載の主題は、情報キャリア内に(例えば、機械可読記憶装置内に)明白に具現化された、またはデータ処理装置(例えば、プログラマブルプロセッサ、コンピュータ、または複数のコンピュータ)によって実行するためのまたはデータ処理装置の動作を制御するための伝搬された信号内に具現化された1つ以上のコンピュータプログラムなどの1つ以上のコンピュータプログラム製品として実装することができる。(プログラム、ソフトウェア、ソフトウェアアプリケーション、またはコードとしても知られる)コンピュータプログラムは、コンパイル言語またはインタープリター言語を含む任意の形式のプログラミング言語で記述することができ、スタンドアロンプログラムとして、あるいは、モジュール、コンポーネント、サブルーチン、またはコンピューティング環境での使用に適した他のユニットとしてのものを含む任意の形式で配置できる。コンピュータプログラムは、必ずしもファイルに対応しない。プログラムは、他のプログラムまたはデータを保持するファイルの一部、問題のプログラム専用の単一ファイル、または複数の協調ファイル(例えば、1つ以上のモジュール、サブプログラム、またはコードの一部を格納するファイル)に格納することができる。コンピュータプログラムは、1つのサイトの、あるいは複数のサイトにわたって分散されて通信ネットワークによって相互接続された、1つのコンピュータまたは複数のコンピュータで実行されるように配置することができる。
本明細書に記載の主題の方法ステップを含む本明細書に記載のプロセスおよび論理フローは、入力データを操作して出力を生成することによって本明細書に記載の主題の機能を実行するための1つ以上のコンピュータプログラムを実行する1つ以上のプログラミング可能なプロセッサによって実行できる。プロセスおよび論理フローはまた、特定の目的の論理回路(例えば、FPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路))によって実行することができ、本明細書に記載されている主題の装置は、特定の目的の論理回路として実装することができる。
コンピュータプログラムの実行に適したプロセッサは、例として、汎用および特殊用途の両方のマイクロプロセッサ、ならびに任意の種類のデジタルコンピュータの任意の1つ以上のプロセッサを含む。一般的に、プロセッサは、リードオンリーメモリ、ランダムアクセスメモリ、またはその両方から命令およびデータを受け取る。コンピュータの必須要素は、命令を実行するためのプロセッサと、命令およびデータを格納するための1つ以上のメモリデバイスである。一般的に、コンピュータはまた、データを格納するための1つ以上の大容量記憶装置(例えば、磁気ディスク、光磁気ディスク、または光ディスク)からのデータ、またはそれらへのデータ、またはその両方のデータを含むか、またはそれらからデータを受信するか、またはそれらにデータを転送するか、またはその両方をするように動作可能に結合される。コンピュータプログラム命令およびデータを具現化するのに適した情報キャリアは、例として、半導体メモリデバイス(例えば、EPROM、EEPROM、およびフラッシュメモリデバイス)、磁気ディスク(例えば、内蔵ハードディスクまたはリムーバブルディスク)、光磁気ディスク、光ディスク(例えば、CDおよびDVDディスク)を含むあらゆる形態の不揮発性メモリを含む。プロセッサおよびメモリは、特殊目的論理回路によって補完されるか、またはその中に組み込まれることが可能である。
ユーザとの対話を提供するために、本明細書に記載の主題は、ユーザに情報を表示するためのディスプレイデバイス(例えば、CRT(陰極線管)またはLCD(液晶ディスプレイ)モニタ)と、キーボードおよびポインティングデバイス(例えば、マウスまたはトラックボール)であって、これによってユーザはコンピュータに入力を提供することができるキーボードおよびポインティングデバイスとを有するコンピュータ上で実施することができる。他の種類のデバイスを使用して、ユーザとの対話を提供することもできる。例えば、ユーザに提供されるフィードバックは、任意の形態の感覚フィードバック(例えば、視覚的フィードバック、聴覚的フィードバック、または触覚的フィードバック)とすることができ、ユーザからの入力は、音響、音声、または触覚入力を含む任意の形態で受信することができる。
本明細書に記載の主題は、バックエンドコンポーネント(例えば、データサーバ)、ミドルウェアコンポーネント(例えば、アプリケーションサーバ)、またはフロントエンドコンポーネント(例えば、ユーザが本明細書に記載の主題の実施形態と対話することができるグラフィカルユーザインタフェースまたはウェブブラウザを有するクライアントコンピュータ)、あるいはそのようなバックエンドコンポーネント、ミドルウェアコンポーネント、およびフロントエンドコンポーネントの任意の組み合わせを含むコンピューティングシステム内で実施することができる。システムの構成要素は、デジタルデータ通信(例えば、通信ネットワーク)の任意の形態または媒体によって相互接続することができる。通信ネットワークの例には、ローカルエリアネットワーク(「LAN」)およびワイドエリアネットワーク(「WAN」)(例えば、インターネット)が含まれる。
開示された主題は、その適用において、構成の詳細に、および以下の説明に記載されるかまたは図面に示される構成要素の配置に限定されないことを理解されたい。開示された主題は、他の実施形態が可能であり、そして様々な方法で実施および実行されることが可能である。また、本明細書で使用されている表現および用語は説明を目的としており、限定と見なすべきではないことを理解されたい。
したがって、当業者は、本開示の基礎となる概念が、開示された主題のいくつかの目的を実行するための他の構造、方法、およびシステムの設計の基礎として容易に利用され得ることを理解するだろう。したがって、特許請求の範囲は、開示された主題の趣旨および範囲から逸脱しない限り、そのような均等な構成を含むと見なされることが重要である。
開示された主題は前述の例示的な実施形態において説明され図示されたが、本開示は単に例としてなされたものであり、開示された主題の実施態様の細部における多くの変更が、以下の特許請求の範囲によってのみ限定される開示された主題の趣旨および範囲から逸脱すること無くなされ得ることが理解される。

Claims (24)

  1. 通信ネットワーク内の様々なトラフィックパターンを処理するためにコンピュータ処理リソースが効果的に利用されるように、通信ネットワーク内のメディアを適応的にコード変換するコンピュータ化された方法であって、前記方法は、
    コンピューティングデバイスによってコンテンツプロバイダからエンドユーザデバイスへの配信のためにコンテンツをコード変換する要求を受信するステップと、
    コンピューティングデバイスに関連するCPUコアの数に関連するプールされたトークンの量と、
    前記コンピューティングデバイスによって処理されている他のコード変換リクエストの数と関連する現在使用中のトークンの量と
    に基づいて第1のトークン量を決定するステップと、
    前記コンテンツのサイズ、前記コンテンツの種類、前記コンテンツの解像度、および前記コンテンツのフレームレートのうちの少なくとも1つに基づいて前記コンテンツをコード変換することに関連する第2のトークン量を決定するステップと、
    前記第1のトークン量が前記第2のトークン量のよりも少ない場合に、
    前記コンテンツに対するコード変換をバイパスするか、
    または前記コンテンツのコード変換に関連するトークンの数を低減するようにコード変換パラメータを調整するステップであって、前記低減されたトークンの数は前記第1のトークン量よりも少ないステップと、
    を含む方法。
  2. 前記コンピューティングデバイスによって、前記コンピューティングデバイスに関連するCPU使用率のレベルと、利用可能なチャネル帯域幅の量のうちの少なくとも1つに基づいて前記プールされたトークン量を調整するステップをさらに含む、請求項1に記載のコンピュータ化された方法。
  3. 前記現在使用中のトークン量は、ゼロトークンから前記プールされたトークン量までの範囲である、請求項1に記載のコンピュータ化された方法。
  4. 前記第1のトークン量を決定するステップは、前記プールされたトークン量から現在使用中のトークン量を減算するステップをさらに含む、請求項1に記載のコンピュータ化された方法。
  5. 前記第1のトークン量が前記第2のトークン量以上であるときに前記リクエストされたコンテンツをコード変換するステップをさらに含む、請求項1に記載のコンピュータ化された方法。
  6. 前記コンテンツの種類は、画像、オーディオ、テキスト、およびビデオのうちの少なくとも1つを含む、請求項1に記載のコンピュータ化された方法。
  7. 前記コンテンツをコード変換するようにプロビジョニングされた仮想マシンの数に基づいて、前記コンピューティングデバイスによって前記CPUコアの数を決定するステップをさらに含む、請求項1に記載のコンピュータ化された方法。
  8. 前記コード変換パラメータを調整するステップは、前記コンテンツに適用されるコード変換の量を減らすステップを含む、請求項1に記載のコンピュータ化された方法。
  9. 通信ネットワーク内の様々なトラフィックパターンを処理するためにコンピュータ処理リソースが効果的に利用されるように、通信ネットワーク内のメディアを適応的にコード変換するコンピューティングシステムであって、前記コンピューティングシステムは、
    プロセッサと、
    前記プロセッサに結合され、前記プロセッサによって実行されたときに、コンテンツプロバイダからエンドユーザデバイスへの配信のためにコンテンツをコード変換する要求を受信し、
    コンピューティングデバイスに関連するCPUコアの数に関連するプールされたトークンの量と、
    前記コンピューティングデバイスによって処理されている他のコード変換リクエストの数と関連する現在使用中のトークンの量とに基づいて第1のトークン量を決定し、
    前記コンテンツのサイズ、前記コンテンツの種類、前記コンテンツの解像度、および前記コンテンツのフレームレートのうちの少なくとも1つに基づいて前記コンテンツをコード変換することに関連する第2のトークン量を決定し、
    前記第1のトークン量が前記第2のトークン量よりも少ない場合に、
    前記コンテンツに対するコード変換をバイパスするか、または
    前記コンテンツのコード変換に関連するトークンの数を低減するようにコード変換パラメータを調整し、前記低減されたトークンの数は前記第1のトークン量よりも少なくなるように前記プロセッサに実行させる命令を含む
    メモリと
    を含むコンピューティングシステム。
  10. 前記コンピューティングデバイスに関連するCPU使用率のレベルと、利用可能なチャネル帯域幅の量のうちの少なくとも1つに基づいて前記プールされたトークン量を前記プロセッサにさらに調整させる、請求項9に記載のコンピューティングシステム。
  11. 前記現在使用中のトークン量は、ゼロトークンから前記プールされたトークン量までの範囲である、請求項9に記載のコンピューティングシステム。
  12. 前記第1のトークン量を決定するために、前記プールされたトークン量から現在使用中のトークン量を前記プロセッサにさらに減算させる、請求項9に記載のコンピューティングシステム。
  13. 前記第1のトークン量が前記第2のトークン量以上であるときに前記リクエストされたコンテンツを前記プロセッサにさらにコード変換させる、請求項9に記載のコンピューティングシステム。
  14. 前記コンテンツの種類は、画像、オーディオ、テキスト、およびビデオのうちの少なくとも1つを含む、請求項9に記載のコンピューティングシステム。
  15. 前記コンテンツをコード変換するようにプロビジョニングされた仮想マシンの数に基づいて前記CPUコアの数を前記プロセッサにさらに決定させる、請求項9に記載のコンピューティングシステム。
  16. 前記コード変換パラメータを調整するために、前記コンテンツに適用されるコード変換の量を前記プロセッサにさらに決定させる、請求項9に記載のコンピューティングシステム。
  17. コンテンツプロバイダからエンドユーザデバイスへの配信のためにコンテンツをコード変換する要求を受信し、
    コンピューティングデバイスに関連するCPUコアの数に関連するプールされたトークンの量と、
    前記コンピューティングデバイスによって処理されている他のコード変換リクエストの数と関連する現在使用中のトークンの量と
    に基づいて第1のトークン量を決定し、
    前記コンテンツのサイズ、前記コンテンツの種類、前記コンテンツの解像度、および前記コンテンツのフレームレートのうちの少なくとも1つに基づいて前記コンテンツをコード変換することに関連する第2のトークン量を決定し、
    前記第1のトークン量が前記第2のトークン量のよりも少ない場合に、
    前記コンテンツに対するコード変換をバイパスするか、または
    前記コンテンツのコード変換に関連するトークンの数を低減するようにコード変換パラメータを調整し、前記低減されたトークンの数は前記第1のトークン量よりも少なくなるように装置に実行させるように動作可能な実行可能命令を有する非一時的コンピュータ可読媒体。
  18. 前記コンピューティングデバイスに関連するCPU使用率のレベルと、利用可能なチャネル帯域幅の量のうちの少なくとも1つに基づいて前記プールされたトークン量を前記装置にさらに調整させる、請求項17に記載の非一時的コンピュータ可読媒体。
  19. 前記現在使用中のトークン量は、ゼロトークンから前記プールされたトークン量までの範囲である、請求項17に記載の非一時的コンピュータ可読媒体。
  20. 前記第1の量のトークンを決定するために、前記プールされた量のトークンから現在使用中の量のトークンを前記装置にさらに減算させる、請求項17に記載の非一時的コンピュータ可読媒体。
  21. 前記第1の量のトークンを決定するために、前記プールされた量のトークンから現在使用中の量のトークンを前記装置にさらに減算させる、請求項17に記載の非一時的コンピュータ可読媒体。
  22. 前記第1の量のトークンが前記第2の量のトークン以上であるときに、前記リクエストされたコンテンツを前記装置にさらにコード変換させる、請求項17に記載の非一時的コンピュータ可読媒体。
  23. 前記コンテンツの種類は、画像、オーディオ、テキスト、およびビデオのうちの少なくとも1つを含む、請求項17に記載の非一時的コンピュータ可読媒体。
  24. 前記コンテンツをコード変換するようにプロビジョニングされた仮想マシンの数に基づいて前記CPUコアの数を前記装置にさらに決定させる、請求項17に記載の非一時的コンピュータ可読媒体。
JP2019521061A 2016-10-21 2017-10-20 適応型コンテンツ最適化 Active JP6626602B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201662410929P 2016-10-21 2016-10-21
US62/410,929 2016-10-21
PCT/US2017/057622 WO2018075909A1 (en) 2016-10-21 2017-10-20 Adaptive content optimization

Publications (2)

Publication Number Publication Date
JP2019536324A true JP2019536324A (ja) 2019-12-12
JP6626602B2 JP6626602B2 (ja) 2019-12-25

Family

ID=61970556

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019521061A Active JP6626602B2 (ja) 2016-10-21 2017-10-20 適応型コンテンツ最適化

Country Status (6)

Country Link
US (1) US10129355B2 (ja)
EP (1) EP3529990B1 (ja)
JP (1) JP6626602B2 (ja)
KR (1) KR102059781B1 (ja)
CN (1) CN110115040B (ja)
WO (1) WO2018075909A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10761875B1 (en) * 2018-12-13 2020-09-01 Amazon Technologies, Inc. Large scale compute instance launching

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090254672A1 (en) * 2008-04-08 2009-10-08 Microsoft Corporation Dynamic server-side media transcoding
JP2009265843A (ja) * 2008-04-23 2009-11-12 Toyota Motor Corp マルチコアシステム、車両用ゲートウェイ装置
US20100017516A1 (en) * 2008-07-16 2010-01-21 General Instrument Corporation Demand-driven optimization and balancing of transcoding resources
JP2014096675A (ja) * 2012-11-08 2014-05-22 Hitachi Ltd 通信装置、及び、設定方法
US20140258446A1 (en) * 2013-03-07 2014-09-11 Citrix Systems, Inc. Dynamic configuration in cloud computing environments
WO2015079612A1 (ja) * 2013-11-26 2015-06-04 日本電気株式会社 仮想ミドルボックス管理システム、仮想ミドルボックス管理方法および仮想ミドルボックス管理用プログラム

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FI20011871A (fi) 2001-09-24 2003-03-25 Nokia Corp Multimediadatan prosessointi
US20090055534A1 (en) * 2007-08-22 2009-02-26 Sony Corporation Tiered network structure for large ce device populations
WO2009114111A2 (en) 2008-03-12 2009-09-17 Packetvideo Corp. System and method for reformatting digital broadcast multimedia for a mobile device
US20100115575A1 (en) * 2008-11-03 2010-05-06 At&T Intellectual Property I, L.P. System and method for recording and distributing media content
US9071526B2 (en) * 2009-06-22 2015-06-30 Citrix Systems, Inc. Systems and methods for platform rate limiting
US8477610B2 (en) * 2010-05-31 2013-07-02 Microsoft Corporation Applying policies to schedule network bandwidth among virtual machines
US9432704B2 (en) 2011-11-06 2016-08-30 Akamai Technologies Inc. Segmented parallel encoding with frame-aware, variable-size chunking
US9081504B2 (en) * 2011-12-29 2015-07-14 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Write bandwidth management for flash devices
US9584598B2 (en) * 2013-04-04 2017-02-28 Ericsson Ab Methods, apparatus, and computer program products for allocating bandwidth for push and pull content requests in a content delivery network
US9262419B2 (en) 2013-04-05 2016-02-16 Microsoft Technology Licensing, Llc Syntax-aware manipulation of media files in a container format
CN105474173B (zh) * 2013-10-01 2019-08-06 英特尔公司 用于减少功率消耗的并行的网络应用调度
EP3243130B1 (en) 2015-01-06 2019-08-14 Sonic IP, Inc. Systems and methods for encoding and sharing content between devices

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090254672A1 (en) * 2008-04-08 2009-10-08 Microsoft Corporation Dynamic server-side media transcoding
JP2009265843A (ja) * 2008-04-23 2009-11-12 Toyota Motor Corp マルチコアシステム、車両用ゲートウェイ装置
US20100017516A1 (en) * 2008-07-16 2010-01-21 General Instrument Corporation Demand-driven optimization and balancing of transcoding resources
JP2014096675A (ja) * 2012-11-08 2014-05-22 Hitachi Ltd 通信装置、及び、設定方法
US20140258446A1 (en) * 2013-03-07 2014-09-11 Citrix Systems, Inc. Dynamic configuration in cloud computing environments
WO2015079612A1 (ja) * 2013-11-26 2015-06-04 日本電気株式会社 仮想ミドルボックス管理システム、仮想ミドルボックス管理方法および仮想ミドルボックス管理用プログラム

Also Published As

Publication number Publication date
US20180115626A1 (en) 2018-04-26
CN110115040B (zh) 2020-08-21
JP6626602B2 (ja) 2019-12-25
US10129355B2 (en) 2018-11-13
WO2018075909A1 (en) 2018-04-26
EP3529990A1 (en) 2019-08-28
EP3529990B1 (en) 2021-08-04
EP3529990A4 (en) 2020-05-06
KR102059781B1 (ko) 2019-12-26
CN110115040A (zh) 2019-08-09
KR20190057422A (ko) 2019-05-28

Similar Documents

Publication Publication Date Title
US8001247B2 (en) System for trigger-based “gated” dynamic virtual and physical system provisioning
US9565318B2 (en) Quality of service adjustments to improve network utilization
US20200145497A1 (en) Server connection capacity management
JP6096325B2 (ja) シンキングDiameterネットワークアーキテクチャを提供するための方法、システム、およびコンピュータ読取可能媒体
JP6885403B2 (ja) リソース管理装置、リソース管理方法及びプログラム
US9013993B2 (en) Virtualized open wireless services software architecture
CN103957237A (zh) 一种弹性云的体系结构
US11431603B2 (en) Dynamic cloning of application infrastructures
JP2016046575A (ja) トラフィック管理装置及び無線ネットワークシステム
Lai et al. A QoS-aware streaming service over fog computing infrastructures
US9880953B2 (en) Systems and methods for network I/O based interrupt steering
CN104639415A (zh) 一种虚拟机的迁移方法和软件定义网络sdn控制器
JP2017522749A (ja) モバイルネットワークにおける容量拡張の最適化
US10129769B2 (en) Adaptive peer overload control in mobile networks
US9998377B2 (en) Adaptive setting of the quantized congestion notification equilibrium setpoint in converged enhanced ethernet networks
JP6626602B2 (ja) 適応型コンテンツ最適化
US9871732B2 (en) Dynamic flow control in multicast systems
WO2014173341A1 (zh) 一种负载均衡方法及系统
KR102518269B1 (ko) 트래픽 유실 방지장치 및 그 트래픽 유실 방지방법
KR20160063182A (ko) 분산 멀티미디어 스트리밍 서비스 제공 시스템 및 스트리밍 서비스의 제공 방법

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190618

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190618

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20190618

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20191009

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: 20191105

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20191129

R150 Certificate of patent or registration of utility model

Ref document number: 6626602

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: R3D02

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250