(57)【要約】  データコンテンツを消費する電子デバイスと、データコンテンツを電子デバイスに提供するネットワークサーバとの間の帯域利用率を向上させるための装置、システム、および方法が提供される。電子デバイスとネットワークサーバとの間で情報が交換され、情報は、電子デバイス上のアクティビティ、またはネットワークサーバから利用可能な帯域幅のうちの少なくとも１つを示す。ネットワークサーバは、交換された情報に基づいて電子デバイスに帯域幅を動的に割り振る。【選択図】図６
2019503119.tif 000002
【特許請求の範囲】
【請求項１】
データコンテンツを消費する電子デバイスと、前記データコンテンツを前記電子デバイスに提供するネットワークサーバとの間の帯域利用率を向上させるための方法であって、
前記電子デバイスと前記ネットワークサーバとの間で情報を交換することであって、前記情報が、前記電子デバイス上のアクティビティ、または前記ネットワークサーバから利用可能な帯域幅のうちの少なくとも１つを示す、ことと、
前記ネットワークサーバが、前記交換された情報に基づいて前記電子デバイスに帯域幅を動的に割り振ることと
を含む方法。
【請求項２】
情報を交換することが、前記電子デバイスがデータコンテンツを要求すべき適切な時を前記ネットワークサーバが前記電子デバイスに提供することを含む、請求項１に記載の方法。
【請求項３】
情報を交換することが、データコンテンツの次の要求が前記電子デバイスによって行われる時を前記電子デバイスが前記ネットワークサーバに示すことを含む、請求項１または２のいずれか１項に記載の方法。
【請求項４】
情報を交換することが、前記電子デバイスが優先順位レベルを前記次の要求に割り当てることを含む、請求項３に記載の方法。
【請求項５】
優先順位レベルを割り当てることが、前記割り当てられた優先順位レベルが所定の優先順位レベルよりも低いとき、前記ネットワークサーバが前記電子デバイスにクレジットを割り振ることを含む、請求項４に記載の方法。
【請求項６】
優先順位レベルを割り当てることが、前記割り当てられた優先順位レベルが前記所定の優先順位レベルよりも高いとき、前記ネットワークが前記電子デバイスに関連するクレジットを取り出すことを含む、請求項４〜５のいずれか１項に記載の方法。
【請求項７】
前記電子デバイスに関連するクレジットが所定の閾値レベルを下回るとき、前記電子デバイスが前記公称の優先順位レベルよりも高い優先順位レベルを設定することを防止することをさらに含む、請求項４〜６のいずれか１項に記載の方法。
【請求項８】
帯域幅を割り振ることが、前記関連する優先順位レベルが前記公称の優先順位レベル未満であるとき、前記電子デバイスへの帯域幅を低減し、前記関連する優先順位レベルが前記公称の優先順位レベルよりも高いとき、前記電子デバイスへの帯域幅を増加させることを含む、請求項４〜７のいずれか１項に記載の方法。
【請求項９】
情報を交換することが、前記電子デバイス上でアクティブなアプリケーションを示す情報を前記電子デバイスが前記ネットワークに提供することを含む、請求項１〜８のいずれか１項に記載の方法。
【請求項１０】
前記電子デバイス上でアクティブなアプリケーションを示す情報を提供することが、前記電子デバイス上でアクティブであるアプリケーションのタイプを示す情報を提供することを含む、請求項９に記載の方法。
【請求項１１】
前記ネットワークサーバが、前記電子デバイス上でアクティブな異なるタイプのアプリケーションについてのトラフィックパターンを学習することをさらに含む、請求項９〜１０のいずれか１項に記載の方法。
【請求項１２】
帯域幅を割り振ることが、前記ネットワークサーバが前記アプリケーションの所定のネットワーク使用量に基づいてネットワーク利用率をマッピングすることを含む、請求項９〜１１のいずれか１項に記載の方法。
【請求項１３】
帯域幅を割り振ることが、一時的な増加が前記電子デバイスへの進行中のダウンロードと別の電子デバイスからの予想されるダウンロード要求との間の重複を防止するとき、前記ネットワークサーバが前記電子デバイスへの帯域幅を一時的に増加させることを含む、請求項１〜１２のいずれか１項に記載の方法。
【請求項１４】
データコンテンツを消費する電子デバイスと、前記データコンテンツを前記電子デバイスに提供するネットワークサーバとの間の帯域利用率を向上させるためのネットワークサーバであって、
前記電子デバイスとの通信がネットワークを介して行われるネットワーク通信回路と、
前記ネットワーク通信回路と連動して、
前記電子デバイスと情報を交換し、前記情報が、前記電子デバイス上のアクティビティ、または前記ネットワークサーバから利用可能な帯域幅のうちの少なくとも１つを示し、
前記交換された情報に基づいて前記電子デバイスに帯域幅を動的に割り振る
ネットワーク制御回路と
を備えるネットワークサーバ。
【請求項１５】
前記電子デバイスと、データコンテンツを前記電子デバイスに提供するネットワークサーバとの間の帯域利用率を向上させるための電子デバイスであって、
前記ネットワークサーバとの通信がネットワークを介して行われる電子デバイス通信回路と、
前記電子デバイス通信回路と連動して、
前記ネットワークサーバと情報を交換し、前記情報が、前記電子デバイス上のアクティビティ、または前記ネットワークサーバから利用可能な帯域幅のうちの少なくとも１つを示す、
電子デバイス制御回路と
を備える電子デバイス。
【請求項１６】
前記電子デバイス制御回路が、前記ネットワークサーブによって前記電子デバイスに提供される利用可能なタイムスロットに基づいて、前記ネットワークサーバにデータコンテンツを要求する、請求項１５に記載の電子デバイス。
【請求項１７】
請求項１５に記載の前記ネットワークサーバと請求項１６に記載の前記電子デバイスとを備えるシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示の技術は、一般に、電子デバイスにコンテンツを配信することに関し、より詳細には、ネットワーク支援プロトコルを使用して、電子デバイスへの割り振りのためにネットワークのネットワークリソースをスケジューリングするのを支援するための手法に関する。
【背景技術】
【０００２】
携帯電話およびタブレットコンピュータなどのモバイル電子デバイスは、多種多様な機能を実行することができる。１つの機能は、電子デバイスのユーザによるコンテンツの消費のために、しばしば、セルラーインターフェースまたはパケット交換インターフェースを介してコンテンツを配信することである。コンテンツの典型的なタイプは、ストリーミングされたビデオコンテンツ、ウェブコンテンツなどであり、これらは、電子デバイスのディスプレイ上に表示することができ、対応する音声は、スピーカ、イヤバッド、またはヘッドセットを介して出力される。
【０００３】
電子デバイスへのコンテンツの配信は、従来、比較的知的ではない方法で行われている。例えば、１つの従来の技法（例えば、適応型ビットレートストリーミング）では、電子デバイスは、履歴ビットレートに応じて配信属性を選択する。この技法では、デバイスは、例えば、あるビットレートおよび／またはストリームの品質でコンテンツを要求する。ストリームの品質は、時々、コンテンツのフォーマット、またはコンテンツの再生に使用される対応するコーデック（例えば、ビデオフォーマットは、１０８０ｐ、７２０ｐ、４８０ｐなどを含む）によって言及される。電子デバイスが通信可能に結合されているモバイルネットワークセルは、次いで、コンテンツを電子デバイスに提供する。
【０００４】
しかし、セル内のモバイルデバイスにコンテンツを提供するためのモバイルネットワークセルが有する帯域幅は限られている。この点について、セルは、電子デバイスの各ユーザの経験を最大にするように、いくつかの異なる電子デバイス間で利用可能なリソースを分配しなければならない。電子デバイスがセル内でどのように挙動するかに関するネットワークが有する知識は限られているので、電子デバイス間のリソースのスケジューリングは困難である可能性がある。さらに、セル内の電子デバイスの数が変化する可能性があり、これによって、セル内の帯域幅要件を計画することが困難になる。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ネットワーク支援インターフェースのビデオストリーミングの最適化が存在する。ネットワーク支援プロトコル設計の目的は、電子デバイスへのビデオストリーミング品質を向上させることである。本開示による方法および装置は、ネットワークが帯域利用率を向上させることを可能にする既存のプロトコルへの追加を提案する。
【課題を解決するための手段】
【０００６】
本開示によれば、ネットワーク帯域幅がネットワーク上の様々な電子デバイスにどのように割り振られるかをネットワークサーバなどが向上させることを可能にするネットワーク支援プロトコルへの追加が提供される。提案された追加および機能によって、電子デバイスおよびネットワークサーバは、情報を、それらの間で交換することができ、情報は、ネットワークサーバが帯域幅の割り振りに関して知的な選択を行うことを可能にする。プロトコルへの追加は、例えば、電子デバイスが別のデータ要求を行う時間を電子デバイスがネットワークサーバに送信すること、または電子デバイスが次にデータ要求を出すべき提案された時間をネットワークサーバが送信することを含む。他の情報は、電子デバイスが要求ごとの優先順位レベル、および／または電子デバイス上でアクティブであるアプリケーションを含んでいることを含み得る。ネットワークサーバは、ネットワーク帯域幅がネットワーク上の様々な電子デバイスにどのように割り振られるかの計画にそのような情報を使用することができる。
【０００７】
本開示の一態様によれば、データコンテンツを消費する電子デバイスと、データコンテンツを電子デバイスに提供するネットワークサーバとの間の帯域利用率を向上させるための方法が提供される。この方法は、電子デバイスとネットワークサーバとの間で情報を交換することであって、前記情報は、電子デバイス上のアクティビティ、またはネットワークサーバから利用可能な帯域幅のうちの少なくとも１つを示す、ことと、ネットワークサーバが、交換された情報に基づいて電子デバイスに帯域幅を動的に割り振ることとを含む。
【０００８】
任意選択で、情報を交換することは、電子デバイスがデータコンテンツを要求すべき適切な時をネットワークサーバが電子デバイスに提供することを含む。
【０００９】
任意選択で、情報を交換することは、データコンテンツの次の要求が電子デバイスによって行われる時を電子デバイスがネットワークサーバに示すことを含む。
【００１０】
任意選択で、情報を交換することは、電子デバイスが優先順位レベルを次の要求に割り当てることを含む。
【００１１】
任意選択で、優先順位レベルを割り当てることは、割り当てられた優先順位レベルが所定の優先順位レベルよりも低いとき、ネットワークサーバが電子デバイスにクレジットを割り振ることを含む。
【００１２】
任意選択で、優先順位レベルを割り当てることは、割り当てられた優先順位レベルが所定の優先順位レベルよりも高いとき、ネットワークが電子デバイスに関連するクレジットを取り出すことを含む。
【００１３】
任意選択で、この方法は、電子デバイスに関連するクレジットが所定の閾値レベルを下回るとき、電子デバイスが公称の優先順位レベルよりも高い優先順位レベルを設定することを防止することを含む。
【００１４】
任意選択で、帯域幅を割り振ることは、関連する優先順位レベルが公称の優先順位レベル未満であるとき、電子デバイスへの帯域幅を低減し、関連する優先順位レベルが公称の優先順位レベルよりも高いとき、電子デバイスへの帯域幅を増加させることを含む。
【００１５】
任意選択で、情報を交換することは、電子デバイス上でアクティブなアプリケーションを示す情報を電子デバイスがネットワークに提供することを含む。
【００１６】
任意選択で、電子デバイス上でアクティブなアプリケーションを示す情報を提供することは、電子デバイス上でアクティブであるアプリケーションのタイプを示す情報を提供することを含む。
【００１７】
任意選択で、この方法は、ネットワークサーバが電子サーバ上でアクティブな異なるタイプのアプリケーションのためのトラフィックパターンを学習することを含む。
【００１８】
任意選択で、帯域幅を割り振ることは、ネットワークサーバがアプリケーションの所定のネットワーク使用量に基づいてネットワーク利用率をマッピングすることを含む。
【００１９】
任意選択で、帯域幅を割り振ることは、一時的な増加が電子デバイスへの進行中のダウンロードと別の電子デバイスからの予想されるダウンロード要求との間の重複を防止するとき、ネットワークサーバが電子デバイスへの帯域幅を一時的に増加させることを含む。
【００２０】
本開示の別の態様によれば、データコンテンツを消費する電子デバイスと、データコンテンツを電子デバイスに提供するネットワークサーバとの間の帯域利用率を向上させるためのネットワークサーバが提供される。ネットワークサーバは、電子デバイスとの通信がネットワークを介して行われるネットワーク通信回路と、ネットワーク通信回路と連動して、ｉ）電子デバイスと情報を交換し、前記情報は、電子デバイス上のアクティビティ、またはネットワークサーバから利用可能な帯域幅のうちの少なくとも１つを示し、ｉｉ）交換された情報に基づいて電子デバイスに帯域幅を動的に割り振る、ネットワーク制御回路とを含む。
【００２１】
本開示の別の態様によれば、電子デバイスと、データコンテンツを電子デバイスに提供するネットワークサーバとの間の帯域利用率を向上させるための電子デバイスが提供される。電子デバイスは、ネットワークサーバとの通信がネットワークを介して行われる電子デバイス通信回路と、電子デバイス通信回路と連動して、ネットワークサーバと情報を交換する電子デバイス制御回路であって、前記情報は、電子デバイス上のアクティビティ、またはネットワークサーバから利用可能な帯域幅のうちの少なくとも１つを示す、電子デバイス制御回路とを含む。
【００２２】
任意選択で、電子デバイス制御回路は、ネットワークサーブによって電子デバイスに提供される利用可能なタイムスロットに基づいて、ネットワークサーバにデータコンテンツを要求する。
【００２３】
前述の目的および関連する目的を達成するために、デバイスおよび方法は、明細書において以下に十分に説明され、特に特許請求の範囲、以下の説明、およびいくつかの例示的な実施形態を詳細に示している添付の図面において指摘される特徴を含むが、これらは、本発明の原理が適切に使用され得る様々な方法のうちのいくつかを示す。
【００２４】
様々な特徴がそれぞれの図面／実施形態において説明され、示されているが、所与の図面または実施形態の特徴は、本発明の１つ以上の他の図面または実施形態で使用され得ることを理解されよう。
【図面の簡単な説明】
【００２５】
【図１】電子デバイスのための通信環境の概略図である。
【図２】異なる電子デバイスへのデータ転送のタイミングを示すタイミングチャートである。
【図３】２つの電子デバイス間のデータ転送の重複を防ぐためにネットワークリソースが変更される、本開示による異なる電子デバイスへのデータ転送のタイミングを示すタイミングチャートである。
【図４】本開示によるデータ転送に関連し得る優先順位要求を示す図である。
【図５】電子デバイス上で実行する異なるアプリケーションによって行われるデータ要求のタイミングを示すタイミングチャートである。
【図６】本開示による帯域利用率を最適化する方法を実施するための例示的なステップを示すフローチャートである。
【図７】本開示による例示的な電子デバイスの概略ブロック図である。
【図８】本開示による例示的なネットワークサーバの概略ブロック図である。
【発明を実施するための形態】
【００２６】
次に、図面を参照して実施形態を説明する。図中、同様の参照番号は、全体を通じて、同様の要素を指すために使用される。これらの図は必ずしも縮尺通りとは限らないことを理解されよう。１つの実施形態に関して記載され、および／または示される特徴は、１つ以上の他の実施形態において同じ方法もしくは同様の方法で、および／または他の実施形態の特徴と組み合わせて、またはその代わりに使用され得る。
【００２７】
添付の図面と併せて、電子デバイスにコンテンツを配信する様々な実施形態について、以下に説明する。電子デバイスは、必ずしもそうではないが、典型的には、モバイル電子デバイスであり、限定はしないが、携帯電話、タブレットコンピューティングデバイス、ラップトップコンピュータ、ゲームデバイス、カメラ、またはメディアプレーヤを含む任意のフォームファクタをとり得る。添付の図面に示されている電子デバイスは、携帯電話であるが、本発明の態様の適用可能性は、携帯電話に限定されない。
【００２８】
最初に図１を参照すると、１つ以上の電子デバイス１０が動作する例示的なネットワーク環境が概略的に示されている。ネットワーク環境において、電子デバイス１０は、ワイヤレス通信を実行し得る。ワイヤレス通信を行うために、電子デバイス１０は、１つ以上のネットワークとのネットワーク接続を確立する。典型的には、電子デバイス１０の物理的地理位置を提供する加入者ネットワーク１２への接続が行われる。加入者ネットワーク１２は、無線アクセスネットワークと呼ばれることもある。ネットワーク１２は、電子デバイス１０にインターネット１４へのアクセスを提供することができる。ほとんどの場合、ネットワーク１２は、それぞれのセルラーサービス電話会社によって動作されるセルラーネットワークである。ネットワーク１２の例示的なネットワークアクセス技術は、典型的には、セルラー回線交換ネットワーク技術であり、限定はしないが、ＧＳＭ（global  system  for  mobile  communications）、ＣＤＭＡ（code  division  multiple  access）、ＷＣＤＭＡ（wideband  CDMA）、およびこれらの標準の高度なまたは代替のバージョンを含む。ネットワークは、ＧＰＲＳ（general  packet  radio  service）、ＵＭＴＳ（universal  mobile  telecommunications  system）、３Ｇ、４Ｇ  ＬＴＥ（long-term  evolution）、または他の標準をサポートし得る。
【００２９】
ネットワーク１２は、限定はしないが、音声通信（例えば、通話）、ビデオ通信（例えば、ビデオ電話）、メッセージング（例えば、インスタントメッセージング、テキストおよびマルチメディアメッセージング、ならびに電子メールメッセージング）、データ転送、およびインターネットブラウジングなどの通信をサポートする。データ転送は、限定はしないが、ビデオまたは他の比較的大きいデータファイルなどのコンテンツのストリーミングを含み得る。
【００３０】
電子デバイス１０の通信アクティビティをサポートするために、ネットワーク１２は、ネットワークサーバ１６（または複数のサーバ）を含み得る。サーバ１６は、サーバ機能を実行するために使用される典型的なコンピュータシステムとして構成されてもよく、サーバ１６の機能を実現する論理命令を含むソフトウェアを実行するように構成されたプロセッサと、そのようなソフトウェアおよび関係するデータを記憶するためのメモリとを含み得る。
【００３１】
電子デバイス１０と加入者ネットワーク１２との間の通信は、加入者ネットワーク１２の伝送媒体を介して確立され得る。伝送媒体は、任意の適切なデバイスまたはアセンブリであり得るが、典型的には、通信基地局１８の構成（例えば、「セル」タワーとも呼ばれるセルラーサービスタワー）である。
【００３２】
インターネット１４を介して電子デバイス１０にアクセス可能であるのは、電子デバイス１０に提供されるデータを記憶するコンテンツサーバ２４であり得る。このために、また、コンテンツサーバ２４の他の機能を実行するために、コンテンツサーバ２４は、サーバ機能を実行するために使用される典型的なコンピュータシステムとして構成されてもよい。したがって、コンテンツサーバ２４は、コンテンツサーバ２４の機能を実現する論理命令を含むソフトウェアを実行するように構成されたプロセッサと、そのようなソフトウェアおよび関係するデータを記憶するためのメモリとを含むソフトウェアを含み得る。
【００３３】
各電子デバイス１０は、加入者ネットワーク１２を介してコンテンツサーバ２４からコンテンツを受信することができる。典型的には、複数の電子デバイスは、ネットワークサーバ１６を介してコンテンツを同時に受信している。しかし、複数の電子デバイス１０が同じセル内でコンテンツを同時に受信しているときでも、必ずしも同時にデータを要求するとは限らない。典型的には、データ要求は異なる時間に行われ、他の要求と重複することも重複しないこともある。図２は、ある期間（例えば、期間２６ａ）の間、電子デバイス１０がデータを要求しておらず、他の期間（例えば期間２６ｂ）の間、すべての電子デバイス１０がデータを同時に要求しているようなタイミングイベントを示す。
【００３４】
ネットワーク利用率を最大にし、各電子デバイス１０のユーザにとって可能な限りの経験を提供するために、ネットワークサーバの観点から、電子デバイス１０はコンテンツを同時に要求しないことが好ましい。従来、これは不可能である。なぜなら、ネットワークサーバ１６は、例えば、電子デバイス１０上で実行されているアプリケーション、アプリケーションがどのように挙動するか、またはアプリケーションがどのような要件を有するかに関するいかなる情報も有していないからである。
【００３５】
本開示によれば、電子デバイスによってデータが必要とされるときを、サーバがより良く推定できるようにするために、電子デバイスとネットワークサーバとの間で情報が交換される。そのような知識に基づいて、ネットワークサーバは、様々な電子デバイスに帯域幅を知的に割り振ることができる。交換された情報は、例えば、電子デバイス上のアクティビティ、またはネットワークサーバから利用可能な帯域幅のうちの少なくとも１つを示すことができる。電子デバイス上のアクティビティを示す情報は、例えば、電子デバイス上で動作する特定のアプリケーションまたはアプリケーションのタイプ、電子デバイスによってデータが要求される時間期間、ある時間期間にわたって電子デバイスによって要求されるデータ消費、データの優先順位レベルなどを含むことができる。電子デバイス上の利用可能な帯域幅を示す情報は、帯域幅要求が所定の需要レベルを下回ることをネットワークが予想する時間間隔を含むことができる。
【００３６】
本開示の一実施形態によれば、電子デバイス１０は、次にデータを要求しようとするときをネットワークサーバ１６に示す。ネットワークサーバ１６は、次いで、この情報を使用して、利用可能なリソースをどのように分配するかをよりよく計画することができる。例えば、図３を参照すると、第１の電子デバイス１０（ＵＥ１）が進行中のダウンロードを有し、ネットワークサーバ１６が、このダウンロードの最後の部分２８が第２の電子デバイス１０（ＵＥ２）からの次の要求と重複することを知っている場合、ネットワークサーバ１６は、第１の電子デバイス１０に一時的に多くのリソースを割り当てて、ダウンロードを早期に終了させることを可能にし、それによって、重複を回避することができる。
【００３７】
別の実施形態では、ネットワークサーバ１６は、電子デバイス１０がデータを要求するための次の適切な時間を示す。言い換えれば、電子デバイス１０が、バッファ補充の発生中に、次のバッファ補充アクティビティがある時間に計画されていることを示す代わりに、ネットワークサーバ１６が補充要求の次の適切な時間を示すことができる。次いで、電子デバイス１０は、要求された時間に同期することができる。この手法の利点は、向上したネットワークスケジューリング制御である。
【００３８】
別の実施形態では、電子デバイス１０は、各要求に優先順位レベルを割り当てることができる。より具体的には、任意の瞬間において、各電子デバイス１０は、ビデオコンテンツ（固定の更新期限を有する）、ウェブコンテンツ（固定の更新期限を有さない）など、異なるタイプのデータを要求し得る。インターネット１４をブラウジングする電子デバイス１０の場合、ウェブページのコンテンツの受信における僅かな遅延はユーザ体験に大きい影響を与えないので、ウェブページのダウンロード時間はビデオストリーミングのダウンロード時間ほど重要ではない。各要求に優先順位レベルを割り当てることによって、ネットワークサーバ１６は、優先順位の低い要求を有する電子デバイス１０に対して、優先順位の高い要求を有する電子デバイス１０に、より多くのリソースを提供することができる。
【００３９】
例えば、図４を参照して、通常の優先順位レベルが１００であると仮定する。通常の優先順位レベルをベースラインとして使用して、インターネット１４をブラウジングする電子デバイス１０は、例えば、データ要求に７５の優先順位レベルを割り当て得る。「より低い」優先順位レベルは、リソースが不足している場合、より低い帯域幅をこの電子デバイス１０に与えることができることをネットワークサーバ１６に示す。同様に、ビデオコンテンツをストリーミングしている電子デバイス１０は、データ要求に１２５の優先順位レベルを割り当てることができる。「より高い」優先順位レベルは、この電子デバイスに余分な帯域幅が提供されるべきであることをネットワークサーバ１６に示す。
【００４０】
データ要求に高い優先順位レベルを割り当てることが重要ではない場合、電子デバイスは単にすべての要求に高い優先順位を割り当てることになる。これを防止するために、ネットワークサーバ１６が各電子デバイス１０の仮想通貨を追跡する仮想通貨システムが実装され得る。例えば、電子デバイス１０が、データ要求により低い優先順位（例えば、１００など、何らかの所定のレベルを下回る）を割り当てるとき、ネットワークサーバ１６は、仮想通貨（クレジットまたは仮想クレジットとも呼ばれる）を電子デバイス１０に与えることができる。後で電子デバイス１０がデータ要求により高い優先順位（例えば、１００を上回る）を割り当てる場合、ネットワークサーバ１６は、電子デバイスから仮想通貨を受け取ることによって要求を許可する。割り当てられた優先順位レベルで利用可能な通貨が不足している場合、優先順位レベルは、１００にデフォルト設定され得る。
【００４１】
さらに、ネットワークサーバ１６と電子デバイス１０との間で交換される情報は、電子デバイス１０上で現在アクティブな／動作しているアプリケーションに関する情報を含むことができる。そのような情報は、ネットワークサーバ１６がネットワーク使用量を特定のアプリケーションにマッピングすることを可能にする。さらに、ネットワークサーバ１６が機械学習アルゴリズムを利用して異なるアプリケーションのトラフィックパターンを学習することができるように、ネットワーク支援機能を実装することができる。例示的なトラフィックパターンが図５に示されている。アプリケーションの期限を推定するために、異なるトラフィックパターンの知識を、ネットワークサーバ１６によって使用することができる。
【００４２】
例えば、図５を参照すると、ネットワークサーバ１６は、アプリ２のバースト間の最も一般的な時間を学習し、それによって、次のバーストがいつ起こるかを予測することができる。この知識を使用して、ネットワークサーバ１６は、アプリ２によって行われた要求がタイムアウトしないことを確実にするために、リソースを割り振ることができる。
【００４３】
次に図６を参照すると、データコンテンツを消費する１つ以上の電子デバイス１０と、電子デバイス１０にデータコンテンツを提供するネットワークサーバ１６との間の帯域利用率を向上させるための例示的な方法を示すフロー図が示されている。方法の説明およびフローチャートは、実行ステップの特定の順序を示し得るが、ステップの実行の順序は、記載された順序に対して変更されてもよい。また、連続して記載される２つ以上のステップは、並行して実行されてもよく、または部分的に同時に実行されてもよい。記載されたまたは示されたステップのうちの１つ以上が省略されてもよい。
【００４４】
図６の例示的な方法は、フラッシュメモリ、読取り専用メモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、キャッシュ、または情報が任意の持続時間（例えば、情報の長期間、永続的、短時間、一時的なバッファリング、および／またはキャッシング）の間記憶される任意の他の記憶媒体など、１つ以上の非一時的コンピュータ可読媒体に記憶されたコード化された命令（例えば、コンピュータ可読命令）を使用して実装され得る。本明細書で使用する、非一時的コンピュータ可読媒体という用語は、任意のタイプのコンピュータ可読媒体を含み、伝播する信号を排除するように明確に定義される。典型的な非一時的コンピュータ可読媒体は、電子メモリデバイス、磁気メモリデバイス、および光メモリデバイスを含む。この方法の一部分は、電子デバイス、例えば電子デバイス１０、および／またはネットワークサーバ１６によって実行されてもよい。一実施形態では、方法を実行するために、方法を実施する論理命令は、電子デバイス１０および／またはネットワークサーバ１６のプロセッサによって実行される。あるいは、この方法は、電子デバイス１０および／またはネットワークサーバ１６のハードウェア（例えば、特定用途向け集積回路（ＡＳＩＣ）などに少なくとも部分的に実装されてもよい。
【００４５】
ステップ５２で開始して、電子デバイス１０とネットワークサーバ１６との間で情報が交換される。そのような情報に基づいて、ネットワークサーバ１６は、ネットワーク上の電子デバイスに帯域幅を割り振る。より詳細には、ステップ５４において、電子デバイス１０とネットワークサーバ１６との間で交換された情報のタイプが決定される。異なるタイプの情報は、例えば、電子デバイス１０上で実行されるアプリケーションに関する情報、電子デバイス１０によって行われるタイミング要求、および／またはネットワークサーバ１６によって行われるタイミング要求を含み得る。ステップ５４で、要求のタイプが（電子デバイスまたはサーバによって行われる）タイミング要求であると決定された場合、方法はステップ５６に移動し、ここで、電子デバイス１０またはネットワークサーバ１６がタイミング要求を行ったかどうかを決定する。タイミング要求が電子デバイス１０によって行われた場合、方法はステップ５８に移動し、ここで、電子デバイス１０がサーバ１６と通信し、そのとき、電子デバイス１０がデータコンテンツの次の要求を行う。
【００４６】
電子デバイス１０によってネットワークサーバ１０に行われるタイミング要求は、要求に関連する優先順位レベルを有していても有していなくてもよい。ステップ６０において、要求がそれに関連する優先順位レベルを有するかどうかが決定される。優先順位レベルがタイミング要求に関連していない場合、方法はステップ６８に移動する（後述する）。しかし、優先順位レベルがタイミング要求に関連する場合、方法はステップ６２に移動し、ここで、優先順位レベルが公称の優先順位レベルよりも低い（例えば、１００よりも低い）かどうかが決定される。優先順位レベルが公称の優先順位レベルよりも低くない場合、方法はステップ６４に移動し、ここで、ネットワークサーバ１６は、電子デバイス１０に関連するクレジットを取り出す。クレジットは、要求された優先順位レベルと公称の優先順位レベルとの間の差に基づいてもよい。例えば、公称の優先順位レベルが１００であり、タイミング要求に１２５の優先順位レベルが割り当てられている場合、ネットワークサーバ１６は、電子デバイス１０に関連する２５のクレジットを取り出し得る。電子デバイス１０が有する優先順位レベルについてのクレジットが不十分である場合、要求の優先順位レベルは公称レベルにデフォルト設定することができ、したがって、電子デバイス１０が公称の優先順位よりも高い優先順位レベルを設定することを防止する。次いで、方法は以下で説明するようにステップ６６に移動する。
【００４７】
ステップ６２に戻って、要求された優先順位レベルが公称レベル未満である場合、方法はステップ７２に移動し、ここで、ネットワークサーバ１６は電子デバイス１０にクレジットを割り振る。割り振られたクレジットは、公称の優先順位レベルと要求された優先順位レベルとの差に基づいてもよい。例えば、公称の優先順位レベルが１００であり、タイミング要求に７５の優先順位レベルが割り当てられている場合、ネットワークサーバ１６は、電子デバイスに２５のクレジットを割り振る。方法は次いでステップ６６に移動する。
【００４８】
ステップ６６において、ネットワークサーバ１６は、ネットワーク上の電子デバイス１０の各々からの各要求の優先順位レベルを比較して、どの要求が最高の優先順位レベルを有するかを決定する。次に、ステップ６８において、ネットワークサーバ１６は、ネットワーク上で利用可能な帯域幅とともに、ネットワーク上のすべての電子デバイスのタイミング要求を分析する。タイミング要求およびネットワーク負荷に基づいて、ネットワークサーバ１６は、ステップ７０に示すように、電子デバイス１０に帯域幅を割り振る。この点について、ネットワークサーバ１６は、複数の電子デバイスからのデータ要求の間の重複を最小限に抑えようとする。例えば、ネットワークサーバ１６は、別の電子デバイスがスケジュールされたデータ要求を行う前に、電子デバイスのデータ転送が完了することを可能にするために、特定の電子デバイスにより多くの帯域幅を割り振ることができる。
【００４９】
ステップ７０で、タイミング要求が優先順位レベルを含む場合、ネットワークサーバ１６は、最初に、最高の優先順位レベルを有する要求に帯域幅を割り振ることができる。最高の優先順位レベルを有する要求が処理されると、次に高い優先順位を有する要求が対応され、以下同様である。このようにして、関連する優先順位レベルが公称の優先順位レベル未満であるとき、電子デバイスに対して、ネットワーク帯域幅が低減され、関連する優先順位レベルが公称の優先順位レベルよりも高いとき、増加され得る。
【００５０】
例えば、複数の電子デバイスが１２５の優先順位を有するタイミング要求を有し、別の複数の電子デバイスが１００の優先順位（または１２５よりも低い一部の他の優先順位レベル）を有するタイミング要求を有する場合、ネットワークサーバ１６は、最初に、１２５の優先順位レベルを有するタイミング要求にリソースを割り振る。次いで、任意の残りのリソースは、１００の優先順位レベルを有するタイミング要求に割り振られ、以下同様であり得る。帯域幅を割り振ると、方法は、ステップ５２に戻り、繰り返される。
【００５１】
ステップ５６に戻って、タイミング要求がネットワークサーバ１６によって行われている場合、ステップ７０において、ネットワークサーバ１６は、ネットワーク上のリソースの割り振りを分析する。例えば、他の電子デバイス１０からのデータ要求の既知のタイミングに基づいて、ネットワークサーバ１６は、特定の時間期間にデータ要求が低いことを知り得る。この知識に基づいて、ステップ７２において、ネットワークサーバ１６は、電子デバイスが（例えば、低ネットワークアクティビティの期間中に）データコンテンツを要求すべき適切な時間を電子デバイス１０に提示することができ、ステップ７４で、電子デバイスは、その次のデータ要求をネットワークサーバ１６によって提案されたものに同期させる。このようにして、最適な帯域利用率を達成することができる。次いで、方法はステップ５２に戻り、繰り返される。
【００５２】
ステップ５４に戻って、電子デバイス１０とネットワークサーバ１６との間で交換される情報が電子デバイス上でアクティブなアプリケーションを含む場合、方法はステップ８０に移動する。アプリケーション情報は、例えばアプリケーションを名前で識別するなど、特定の情報、または、例えばアプリケーションのタイプ（例えば、ゲームアプリ、ＧＰＳアプリ、検索エンジンなど）を示すなど、一般的な情報とすることができる。ステップ８０において、ネットワークサーバ１６は、電子デバイス１０上でアクティブであるアプリケーションを分析して、電子デバイスの帯域幅要件を推定する。この点について、ネットワークサーバ１６は、アプリケーション固有の情報を記憶するデータベースを検索し得る。データベースは、例えば、アプリケーション名エントリ（および／またはタイプエントリ）、ならびにアプリケーションの１つ以上のリソース特性を含み得る。リソース特性は、例えば、アプリケーションの平均データ要求頻度、単位時間当たりの平均リソース要件、またはアプリケーションのリソース要件を推定するためにネットワークサーバ１６によって使用できる他の情報を含み得る。
【００５３】
あるいは、ネットワークサーバ１６は、異なるタイプのアプリケーションのネットワーク要件を学習することができる学習アルゴリズムを実行してもよい。この点について、サーバ１６は、電子デバイス上でアクティブである異なるタイプのアプリケーションのためのトラフィックパターンを学習し得る。学習された情報は、データベース内のエントリを動的に更新するために使用することができ、またはデータベースから取得されたデータの代替として使用することができる。次いで、サーバ１６は、電子デバイス上で実行されているアプリケーションの推定されたネットワーク使用量に基づいて、各電子デバイスのネットワーク利用率をマッピングすることができる。
【００５４】
より具体的には、ネットワークサーバ１６は、例えば、電子デバイス１０上で実行する各アプリケーションの個々のリソース要件を組み合わせることによって、電子デバイス１０の総リソース要件を推定することができる。このようにして、ネットワークサーバ１６は、所与の時間期間にわたる電子デバイス１０のネットワーク要件の全体的な推定を形成することができる。このプロセスは、ステップ８２に示すように、ネットワークサーバ１６と通信する各電子デバイスについて繰り返されてもよい。
【００５５】
ステップ８４において、ネットワーク上の各電子デバイス１０のネットワーク要件を知ると、ネットワークサーバ１６は、ネットワーク上のすべての電子デバイスの総リソース要件を決定することができる。例えば、ネットワークサーバ１６は、あるタイムスライスにおいて、特定の電子デバイス１０が大量のタイムクリティカルなデータを要求することを予想できる一方で、別のタイムスライスでは、ネットワークサーバは、別の電子デバイスが大量の非タイムクリティカルなデータを要求することを予想できることを知り得る。この知識に基づいて、ネットワークサーバ１６は、タイムクリティカルなデータを要求する電子デバイス１０に追加のリソースを割り振り、非タイムクリティカルなデータを要求する電子デバイス１０により少ないリソースを割り振ることができる。リソースを割り振ると、方法はステップ５２に戻り、繰り返される。
【００５６】
したがって、電子デバイス１０とネットワークサーバ１６との間で情報を交換することによって、ネットワーク上の様々な電子デバイスへの帯域幅の割り振りに関して、知的な選択を行うことができる。このようにして、ネットワーク上の帯域利用率を最適化することができ、それによってユーザにとってより良い経験を提供することができる。
【００５７】
次に図７を参照すると、携帯電話としてのその例示的な形態の電子デバイス１０の概略ブロック図が示されている。電子デバイス１０は、コンテンツストリーミングを制御することを含む、電子デバイス１０の全体的な動作を担う制御回路９２を含む。制御回路９２は、オペレーティングシステム９６および様々なアプリケーション９８を実行するプロセッサ９４を含む。典型的には、電子デバイス１０のコンテンツストリーミングプロトコルに対する制御は、オペレーティングシステム９６の一部として実施される。他の実施形態では、この機能は、専用アプリケーションとして実施され得る。
【００５８】
オペレーティングシステム９６、アプリケーション９８、および記憶データ１００（例えば、オペレーティングシステム９６、アプリケーション９８、およびユーザファイルに関連するデータ）は、メモリ１０２に記憶される。オペレーティングシステム９６およびアプリケーション９８は、電子デバイス１０の非一時的コンピュータ可読媒体（例えば、メモリ１０２）に記憶された実行可能な論理ルーチン（例えば、コードの行、ソフトウェアプログラムなど）の形態で実施され、制御回路９２によって実行される。記載された動作は、電子デバイス１０によって実行される方法と考えることができる。
【００５９】
制御回路９２のプロセッサ９４は、中央処理装置（ＣＰＵ）、マイクロコントローラ、またはマイクロプロセッサであってもよい。プロセッサ９４は、電子デバイス１０の動作を実行するために、制御回路９２内のメモリ（図示せず）および／またはメモリ１０２など別個のメモリに記憶されたコードを実行する。メモリ１０２は、例えば、バッファ、フラッシュメモリ、ハードドライブ、取り外し可能媒体、揮発性メモリ、不揮発性メモリ、ランダムアクセスメモリ（ＲＡＭ）、または他の適切なデバイスのうちの１つ以上であり得る。典型的な構成では、メモリ１０２は、長期データ記憶のための不揮発性メモリと、制御回路９２のシステムメモリとして機能する揮発性メモリとを含む。さらに、メモリ１０２は、ストリーミングされたコンテンツが消費される前に一時的に記憶されるメディアバッファ１０３を含み得る。メモリ１０２は、データバスを介して制御回路９２とデータを交換し得る。付随する制御ラインおよびメモリ１０２と制御回路９２との間のアドレスバスも存在し得る。メモリ１０２は、非一時的コンピュータ可読媒体と考えられる。
【００６０】
電子デバイス１０は、電子デバイス１０が様々なワイヤレス通信接続を確立することを可能にする通信回路を含む。例示的な実施形態では、通信回路は無線回路１０４（モデムと呼ばれることがある）を含む。無線回路１０４は、１つ以上の無線周波数トランシーバおよびアンテナアセンブリ（または複数のアセンブリ）を含む。電子デバイス１０が２つ以上の標準および／または２つ以上の無線周波数帯域を使用して通信することができるマルチモードデバイスである場合、無線回路１０４は、１つ以上の無線トランシーバ、１つ以上のアンテナ、チューナ、インピーダンス整合回路、および様々なサポートされる周波数帯域および無線アクセス技術に必要な他の構成要素を表す。無線回路１０４は、Ｂｌｕｅｔｏｏｔｈインターフェースを介するなど、別の電子デバイスとの直接のローカルワイヤレス通信のために使用される任意の無線トランシーバおよびアンテナをさらに表す。
【００６１】
電子デバイス１０は、ユーザに情報を表示するためのディスプレイ１０９をさらに含む。ディスプレイ１０９は、ディスプレイ１０９を駆動するために使用されるビデオ信号にビデオデータを変換するビデオ回路１０６によって制御回路９２に結合され得る。ビデオ回路１０６は、任意の適切なバッファ、デコーダ、ビデオデータプロセッサなどを含み得る。
【００６２】
電子デバイス１０は、電子デバイス１０の動作を制御するためのユーザ入力を受信するための１つ以上のユーザ入力１０８を含み得る。例示的なユーザ入力は、限定はしないが、タッチスクリーン機能のためのディスプレイ１０９に重なる、またはその一部であるタッチ入力１１０、１つ以上のボタン１１２、モーションセンサー１１４（例えば、ジャイロセンサー、加速度計）などを含む。
【００６３】
電子デバイス１０は、オーディオ信号を処理するための音声回路１１６をさらに含み得る。音声回路１１６には、電子デバイス１０で実行される音声動作（例えば、通話を行う、音声を出力する、ビデオ用の音声をキャプチャするなど）を可能にするスピーカ１１８およびマイクロホン１２０が結合されている。音声回路１１６は、任意の適切なバッファ、エンコーダ、デコーダ、増幅器などを含み得る。
【００６４】
電子デバイス１０は、１つ以上の入出力（Ｉ／Ｏ）インターフェース１２２をさらに含み得る。Ｉ／Ｏインターフェース１２２は、典型的な電子デバイスＩ／Ｏインターフェースの形態であってもよく、ケーブルを介して、電子デバイス１０を別のデバイス（例えば、コンピュータ）またはアクセサリ（例えば、パーソナルハンズフリー（ＰＨＦ）デバイス）に動作可能に接続するための１つ以上の電気コネクタを含み得る。さらに、Ｉ／Ｏインターフェース１２２を介して動作電力が受信され、Ｉ／Ｏインターフェース１２２を介して電子デバイス１０内の電源ユニット（ＰＳＵ）１２４のバッテリを充電するための電力が受信され得る。ＰＳＵ１２４は、外部電源がない場合に電子デバイス１０を動作させるために電力を供給することができる。
【００６５】
また、電子デバイス１０は、様々な他の構成要素を含んでいてもよい。一例として、写真またはビデオを撮影するため、またはビデオ電話で使用するために、１つ以上のカメラ１２６が存在してもよい。別の例として、電子デバイス１０の位置を決定するのを助けるために、全地球測位システム（ＧＰＳ）受信機などの位置データ受信機１２８が存在してもよい。電子デバイス１０は、加入者識別モジュール（ＳＩＭ）カード１３２が受けられるＳＩＭカードスロット１３０を含み得る。スロット１３０は、電子デバイス１０とＳＩＭカード１３２との間の動作可能な接続を確立するための任意の適切なコネクタおよびインターフェースハードウェアを含む。
【００６６】
図８をさらに参照すると、ネットワークサーバ１６としてのその例示的な形態のネットワークの概略ブロック図が示されている。ネットワークサーバ１６は、電子デバイス１０へのリソースの割り振りを制御することを含む、ネットワークサーバ１６の全体的な動作を担う制御回路１５２を含む。制御回路１５２は、オペレーティングシステム１５６および様々なアプリケーション１５８を実行するプロセッサ１５４を含む。リソースの割り振りに対する制御は、オペレーティングシステム１５６の一部として実施される。他の実施形態では、この機能は、専用アプリケーションとして実施され得る。
【００６７】
オペレーティングシステム１５６、アプリケーション１５８、および記憶データ１６０（例えば、オペレーティングシステム１５６、アプリケーション１５８、およびユーザファイルに関連するデータ）は、メモリ１６２に記憶される。オペレーティングシステム１５６およびアプリケーション１５８は、ネットワークサーバ１６の非一時的コンピュータ可読媒体（例えば、メモリ１６２）に記憶された実行可能な論理ルーチン（例えば、コードの行、ソフトウェアプログラムなど）の形態で実施され、制御回路１５２によって実行される。記載された動作は、少なくともその一部がネットワークサーバ１６によって実行される方法と考えることができる。
【００６８】
制御回路１５２のプロセッサ１５４は、中央処理装置（ＣＰＵ）、マイクロコントローラ、またはマイクロプロセッサであってもよい。プロセッサ１５４は、ネットワークサーバ１６の動作を実行するために、制御回路１５２内のメモリ（図示せず）および／またはメモリ１６２など別個のメモリに記憶されたコードを実行する。メモリ１６２は、例えば、バッファ、フラッシュメモリ、ハードドライブ、取り外し可能媒体、揮発性メモリ、不揮発性メモリ、ランダムアクセスメモリ（ＲＡＭ）、または他の適切なデバイスのうちの１つ以上であり得る。典型的な構成では、メモリ１６２は、長期データ記憶のための不揮発性メモリと、制御回路１５２のシステムメモリとして機能する揮発性メモリとを含む。メモリ１６２は、データバスを介して制御回路１５２とデータを交換し得る。付随する制御ラインおよびメモリ１６２と制御回路１５２との間のアドレスバスも存在し得る。メモリ１６２は、非一時的コンピュータ可読媒体と考えられる。
【００６９】
ネットワークサーバ１６は、１つ以上の入出力（Ｉ／Ｏ）インターフェース１６４をさらに含み得る。Ｉ／Ｏインターフェース１６４は、典型的なＩ／Ｏインターフェースの形態であってもよく、ケーブルを介して、電子デバイス１０を別のデバイス（例えば、コンピュータ）またはアクセサリ（例えば、キーボードデバイス）に動作可能に接続するための１つ以上の電気コネクタを含み得る。さらに、動作電力は、ネットワークサーバ１６内の電源ユニット（ＰＳＵ）１６６を介して供給されてもよい。
【００７０】
いくつかの実施形態が示され、記載されているが、本明細書を読み、理解すると、当業者は添付の特許請求の範囲に含まれる均等物および変更を思い付くことを理解されよう。
【図１】
2019503119.tif 000003
【図２】
2019503119.tif 000004
【図３】
2019503119.tif 000005
【図４】
2019503119.tif 000006
【図５】
2019503119.tif 000007
【図６】
2019503119.tif 000008
【図７】
2019503119.tif 000009
【図８】
2019503119.tif 000010
【国際調査報告】
2019503119.tif 000011
2019503119.tif 000012
2019503119.tif 000013