(57)【要約】  実施の形態は、様々なネットワーク接続に関連する閾限界を設定することにより、様々なネットワーク接続をデータ転送に利用する仕方を、優先度及びデータ利用プランの観点から管理する。コンピュータ装置は、コンピュータ装置で動作しているアプリケーションからデータ転送リクエストを受信する。データ転送リクエストは、それに関連する優先度情報を有する。コンピュータ装置は、利用可能なネットワーク接続と優先度情報を比較する。比較結果及び閾限界に基づいて、処理を開始する1つ以上のデータ転送リクエストが選択される。
2015508632.tif 000002
【特許請求の範囲】
【請求項１】
データ転送に対するネットワーク接続の利用法を管理するシステムであって、
モバイルコンピュータ装置に関連するメモリ領域であって、前記モバイルコンピュータ装置上で動作している複数のアプリケーションのうちの１つ以上のアプリケーションから受信した複数のデータ転送リクエストを保存し、前記複数のデータ転送リクエストの各々に関連する優先度情報を保存するメモリ領域と、
プロセッサであって、
前記メモリ領域に保存された前記優先度情報と、前記モバイルコンピュータ装置及び他のコンピュータ装置の間で利用可能な少なくとも１つのネットワーク接続との比較を行う処理と、
前記比較に基づいて、受信した複数のデータ転送リクエストのうち処理を開始する１つ以上のデータ転送リクエストを選択する処理と、
選択されたデータ転送リクエストに関連するアプリケーションに、選択されたデータ転送リクエストを通知する処理であって、該アプリケーションは選択されたデータ転送リクエストのうち少なくとも１つを開始する、処理と、
前記ネットワーク接続の不存在を検出する処理と、
前記選択されたデータ転送リクエストに関連するアプリケーションに、検出された不存在の通知を行い、該アプリケーションが該通知に応答して少なくとも１つの選択されたデータ転送リクエストのうち少なくとも１つを中止する処理と
を行うようにプログラムされたプロセッサと
を有するシステム。
【請求項２】
前記プロセッサは、第１のネットワーク接続の不存在を検出することにより前記ネットワーク接続の不存在を検出するようにプログラムされ、
前記選択されたデータ転送リクエストは前記第１のネットワーク接続及び第２のネットワーク接続で動作可能であり、
前記アプリケーションは、前記選択されたデータ転送リクエストを前記第２のネットワーク接続で実行することを禁止する通知に応答して、前記選択されたデータ転送リクエストの処理を中止し、
前記第２のネットワーク接続に関するデータ転送コストは、前記第１のネットワーク接続に関連するデータ転送コストより多い、請求項１に記載のシステム。
【請求項３】
前記メモリ領域が、前記モバイルコンピュータ装置及び前記他のコンピュータ装置の間で検出された前記ネットワーク接続に関する閾値を設定するデータ利用プランを保存し、
前記プロセッサが、前記受信した複数のデータ転送リクエストのうちの１つ以上を選択するために、前記閾値に基づいて残りのデータ使用可能量を分析することにより、前記受信した複数のデータ転送リクエストのうちの１つ以上を選択するようにプログラムされている、請求項１に記載のシステム。
【請求項４】
前記優先度情報に基づいて前記ネットワーク接続を適宜利用することにより、データ転送コストを減らす手段を有する請求項１に記載のシステム。
【請求項５】
前記メモリ領域は、コンピュータにより実行可能なコンピュータ実行可能要素を有する１つ以上のコンピュータ記憶媒体に含まれ、前記コンピュータ実行可能要素は、
実行される場合に、第１のコンピュータ装置上で動作している１つ以上のアプリケーションから複数のデータ転送リクエストを受信する処理を少なくとも１つのプロセッサに実行させるインタフェース要素であって、前記複数のデータ転送リクエストはそれぞれに関連付けられている優先度情報を有する、インタフェース要素と、
実行される場合に、前記第１のコンピュータ装置及び第２のコンピュータ装置の間で検出される１つ以上のネットワーク接続を分類する処理を少なくとも１つのプロセッサに実行させるタイプ要素と、
実行される場合に、分類されたネットワーク接続に関する残りデータ利用可能量及び優先度情報に基づいて、前記複数のデータ転送リクエストのうちの１つ以上に、前記分類されたネットワーク接続を割り当てる処理を少なくとも１つのプロセッサに実行させる優先度要素であって、前記残りデータ利用可能量は前記第１のコンピュータ装置のユーザに関連するデータ利用プランから決定される、優先度要素と、
実行される場合に、割り当てられたデータ転送リクエストを前記アプリケーションに通知する処理を少なくとも１つのプロセッサに実行させる通知要素と
を有する、請求項１に記載のシステム。
【請求項６】
第１のコンピュータ装置上で動作している１つ以上のアプリケーションから複数のデータ転送リクエストを受信するステップであって、前記複数のデータ転送リクエストの各々は各自に関連付けられた優先度情報を有する、ステップと、
前記第１のコンピュータ装置及び第２のコンピュータ装置の間の１つ以上のネットワーク接続と前記優先度情報との比較を行うステップと、
前記比較に基づいて、及び前記第１のコンピュータ装置のユーザに関連するデータ利用プランに基づいて、受信した複数のデータ転送リクエストのうち処理を開始する１つ以上のデータ転送リクエストを選択するステップと
を有する方法。
【請求項７】
前記複数のデータ転送リクエストについての前記優先度情報を前記１つ以上のアプリケーションから受信するステップと、
受信した複数のデータ転送リクエストの各々について、エクスプリシット、バックグランド、オポチュニスティック及びプレディクティブのうちの１つ以上の優先度情報を決定するステップと
を有する請求項６に記載の方法。
【請求項８】
受信した複数のデータ転送リクエストのうち選択された１つ以上のデータ転送リクエストを開始する、又は前記データ転送リクエストを開始するために、受信した複数のデータ転送リクエストのうち選択された１つ以上のデータ転送リクエストに関する前記アプリケーションに通知を行うステップを有する請求項６に記載の方法。
【請求項９】
当該方法が、前記ネットワーク接続の各々における累積的なデータ転送量を追跡するステップを有し、
前記比較を行うステップが、追跡した累積的なデータ転送量と、前記ネットワーク接続各々に各自関連する閾値とを比較する処理を行い、
前記選択するステップが、追跡した累積的なデータ転送量が関連する閾値未満であるか否かに基づいて、受信した複数のデータ転送リクエストのうち処理を開始する１つ以上のデータ転送リクエストを選択する処理と、前記データ利用プランから前記閾値を取得する処理とを有する、請求項６に記載の方法。
【請求項１０】
前記受信するステップ、前記比較を行うステップ、及び前記選択するステップが、前記第１のコンピュータ装置上で動作しているオペレーティングシステムにより実行される、請求項６に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
実施の形態はネットワーク接続の利用法を管理するシステム及び方法等に関連する。
【背景技術】
【０００２】
スマートテレフォン、タブレット及びその他のモバイル装置の需要の増加とともに、モバイルオペレータが処理するデータ量も同様に増加している。ネットワークインフラストラクチャに関する負担を軽減するため、及びネットワーク転送コストを軽減するため、モバイルオペレータは、無制限のモバイルデータプランを提案する方針から、上限のある従量制プラン(capped  and  metered  plans)を提案する方針へ移行しつつある。上限のある従量制プランの一例では、割り当てられたデータ上限量を超える場合の料金は高額であるかもしれない。データトラフィックを最適化しようとする既存のウェブブラウザが存在するが、既存のシステムは、一般に、ユーザ各自の個別的な要望とデータ転送コストとのバランスをとる手段を備えていない。その結果、既存のシステムの場合、ユーザは、割り当てられたデータ上限量に気付かずにそれを超えてしまい及び帯域幅の制限又はスロットリング(throttling)を体感し(例えば、使用レートに課せられた制限又は低速化を体感し)、及び/又は通常の月額使用料金を大きく上回る高額請求額が提示されてしまうことが懸念される。そのようなスロットリングや高額請求はユーザの経験や気分に影響を及ぼし、顧客の不満足感につながり、カスタマサービスコール(相談窓口への問い合わせ)を増やし、モバイルオペレータにとって悪い影響を及ぼしてしまう。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】米国特許出願第2003-0115385号明細書
【特許文献２】米国特許出願第2004-0153587号明細書
【特許文献３】米国特許出願第2004-0111712号明細書
【特許文献４】米国特許出願第2002-0029273号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００４】
一側面による実施の形態の課題は、ネットワーク接続の利用法を適切に管理することが可能なシステム及び方法等を提供することである。
【課題を解決するための手段】
【０００５】
一側面の実施の形態によるシステムは、
データ転送に対するネットワーク接続の利用法を管理するシステムであって、
モバイルコンピュータ装置に関連するメモリ領域であって、前記モバイルコンピュータ装置上で動作している複数のアプリケーションのうちの１つ以上のアプリケーションから受信した複数のデータ転送リクエストを保存し、前記複数のデータ転送リクエストの各々に関連する優先度情報を保存するメモリ領域と、
プロセッサであって、
前記メモリ領域に保存された前記優先度情報と、前記モバイルコンピュータ装置及び他のコンピュータ装置の間で利用可能な少なくとも１つのネットワーク接続との比較を行う処理と、
前記比較に基づいて、受信した複数のデータ転送リクエストのうち処理を開始する１つ以上のデータ転送リクエストを選択する処理と、
選択されたデータ転送リクエストに関連するアプリケーションに、選択されたデータ転送リクエストを通知する処理であって、該アプリケーションは選択されたデータ転送リクエストのうち少なくとも１つを開始する、処理と、
前記ネットワーク接続の不存在を検出する処理と、
前記選択されたデータ転送リクエストに関連するアプリケーションに、検出された不存在の通知を行い、該アプリケーションが該通知に応答して少なくとも１つの選択されたデータ転送リクエストのうち少なくとも１つを中止する処理と
を行うようにプログラムされたプロセッサと
を有するシステムである。
【図面の簡単な説明】
【０００６】
【図１】コンピュータ装置が1つ以上のネットワーク接続を介して複数の他の装置と通信する様子を例示するブロック図。
【図２】検出されたネットワーク接続にデータ転送リクエストを優先度情報に基づいて対応付けるコンピュータ装置の動作例を示すフローチャート。
【図３】データ転送リクエストの開始に対するネットワーク接続の利用可能性を通知する様子を例示的に示すシーケンス図。
【図４】データ利用プランに対するデータ使用量の比較例を示すグラフ。
【発明を実施するための形態】
【０００７】
＜実施の形態の概要＞
開示される実施の形態は、データ転送のためのネットワーク接続の利用の仕方を管理する。「ネットワーク接続」は「ネットワークコネクション」等と言及されてもよい。第1のコンピュータ装置は、第1のコンピュータ装置上で動作している1つ以上のアプリケーションから複数のデータ転送リクエストを受信する。「リクエスト」は「要求」と言及されてもよい。複数のデータ転送リクエストの各々は、それらに関連付けられた優先度情報を有する。第1のコンピュータ装置及び第2のコンピュータ装置の間の1つ以上のネットワーク接続に関し、優先度情報が比較される。その比較の結果に基づいて、及び第1のコンピュータ装置のユーザのデータ利用プランに基づいて、受信した複数のデータ転送リクエストのうちの1つ以上が選択される。別の実施の形態においては、処理を開始するデータ転送リクエストは、優先度情報に加えて考察される事項又は他の要因に基づいて選択されてもよい。
【０００８】
この「実施の形態の概要」の欄は、以下の詳細な説明で更に説明される概念を簡易な形で選択的に紹介するために設けられている。「実施の形態の概要」の欄は、特許請求の範囲における主要な特徴や本質的な特徴を特定するようには意図されておらず、特許請求の範囲を決定することに役立つように使用されることも意図されていない。
【０００９】
＜実施の形態の詳細な説明＞
以下、添付図面を参照しながら実施の形態を詳細に説明する。図中、対応するリファレンスキャラクタ(例えば、文字、数字)は対応する部分を示す。
【００１０】
図面とともに開示される実施の形態は、データ転送リクエスト112の優先度制御を行い、データ使用量を管理できるようにする。一実施形態において、コンピュータ装置102において動作しているサービスは、アプリケーション110が、データ転送リクエスト112の各々について優先度情報114を決定できるようにする。サービスは、優先度情報114に基づいて、一実施形態では更にデータ利用プランの観点からのデータ利用統計量120にも基づいて、利用可能なネットワーク接続132とデータ転送リクエスト112とを照合する。データ利用統計量120は、ユーザ及び/又はコンピュータ装置102が、データ利用プラン116の下で指定されている利用度と比較して、利用量が、(a)想定未満又はアンダートラック(under  track)、(b)想定通り又はオントラック(on  track)、又は(c)想定外又はオフトラック(off  track)である否かを判定するために使用される。例えば、データ利用プラン116は、ユーザ104、コンピュータ装置102、ユーザ104のグループ、コンピュータ装置102のグループ、又はそれらの任意の組み合わせであってもよい。一実施形態では、要求されている優先度情報114に合致するネットワーク接続132がもはや利用可能でなくなった場合、及び/又はデータ利用度が支払請求周期割り当て分(billing  period  allotment)を超える見込みである場合に、サービスは、選択されたアプリケーション110に通知を行う。これに応じてアプリケーション110はデータ転送を中止し、高優先度のタスクに備えてデータ使用量を確保することができる。
【００１１】
一実施形態は、即時体感条件(experience  immediacy  requirements)に基づいてアプリケーション110がデータ転送を優先制御及び均衡制御できるようにする。例えば、アプリケーション110は、低優先度の処理を、コストがかからないネットワーク接続132に委ねてもよい。装置が無料のWi-Fi(登録商標)接続、課金制のWi-Fi接続、テザー接続(tether  connection)、セルラ接続、マルチSIM装置等で動作している場合に、コンピュータ装置102が、緊急トラフィックを別扱いとし、何らかの特定のネットワークタイプで転送されるデータ量を最小化できるようにする。
【００１２】
図1には、コンピュータ装置102(例えば、第1のコンピュータ装置)が1つ以上のネットワーク接続132を介して1つ以上の他の装置130(例えば、第2のコンピュータ装置)と通信する様子がブロック図で示されている。図1に示す例において、ユーザ104が関連しているコンピュータ装置102は、データ転送に対するネットワーク接続132の利用の仕方を管理するシステムを表現する。コンピュータ装置102は、コンピュータ装置102に関連する処理及び機能を実現するために命令(例えば、アプリケーションプログラム、オペレーティングシステム機能、又はそれら双方)を実行する任意の装置を表現する。コンピュータ装置102はモバイルコンピュータ装置、移動コンピュータ装置又はその他の任意の携帯装置を含んでもよい。一実施形態において、モバイルコンピュータ装置は、移動電話、ラップトップ、タブレット、コンピュータパッド、ネットブック、ゲーム装置及び/又は携帯用メディアプレーヤを含んでいてもよい。コンピュータ装置102は、デスクトップパーソナルコンピュータ、キオスク、卓上コンピュータ等のような比較的携帯性に乏しい装置を含んでいてもよい。更に、コンピュータ装置102は一群の処理ユニット又はその他のコンピュータ装置を表現していてもよい。
【００１３】
一実施形態において、コンピュータ装置102は、少なくとも1つのプロセッサ106、メモリ領域108、少なくとも1つのユーザインタフェース(例えば、タッチスクリーン、又はナチュラルユーザインタフェース等)を有する。プロセッサ106は、何らかの量又は規模の処理ユニットを含み、一観点の開示内容を実現するコンピュータ実行可能命令(コンピュータにより実行することが可能な命令)を実行するようにプログラムされている。命令は、コンピュータ装置102内で実行されるプロセッサ106により又は複数のプロセッサにより実行されてもよいし、或いはコンピュータ装置102にとって外部のプロセッサにより実行されてもよい。一実施形態において、プロセッサ106は(例えば図2に)図示されているように命令を実行するようにプログラムされている。
【００１４】
一実施形態において、プロセッサ106は本願で説明される処理を実行するアナログ実現手段を表現していてもよい。例えば、アナログコンピュータ装置及び/又はディジタルコンピュータ装置により処理が実行されてもよい。
【００１５】
コンピュータ装置102は、コンピュータ領域108等のような1つ以上のコンピュータ可読媒体(コンピュータにより読み取ることが可能な媒体)を有する。メモリ領域108はコンピュータ装置102に関連する又はコンピュータ装置102によりアクセス可能な或る程度のサイズの媒体を含む。メモリ領域108は、コンピュータ装置102にとって内部にあってもよいし(図1)、コンピュータ装置102にとって外部にあってもよいし(図示せず)、或いはコンピュータ装置102にとって内外にあってもよい(図示せず)。一実施形態において、メモリ領域108はアナログコンピュータ装置に有線接続されたメモリ及び/又はリードオンリメモリを含んでいてもよい。
【００１６】
メモリ領域108は、特に、1つ以上のアプリケーション110を保存している。アプリケーション110は、プロセッサ106により実行される場合に、コンピュータ装置102において機能を実行するように動作する。アプリケーション110の具体例は、メールアプリケーションプログラム、ウェブブラウザ、カレンダアプリケーションプログラム、アドレス帳プログラム、アドレスブックアプリケーションプログラム、メッセージングプログラム、メディアアプリケーション、位置に基づくサービス、サーチプログラム等を含む。アプリケーション110は、1つ以上のネットワークを介してアクセスすることが可能なウェブサービスのような相手のアプリケーション又はサービスと通信してもよい。例えば、アプリケーション110は、ダウンロードされたクライアント側のアプリケーションを表現していてもよく、クライアント側のアプリケーションはクラウドの中で動作するサーバ側のサービスに対応する。
【００１７】
別の例として、アプリケーション110は1つ以上のネットワーク接続132を介して他の装置130又はサービスとの間でデータを送受信してもよい。例えば、ネットワーク接続132は、Wi-Fi、セルラ、ブルートゥース(BLUETOOTH(登録商標))ブランドの通信、近距離無線通信(NFC)、その他のタイプの通信、又はそれら1つ以上の組み合わせを含んでいてもよい。
【００１８】
メモリ領域108は、1つ以上のアプリケーション110から受信した複数のデータ転送リクエスト112を保存する。データ転送リクエスト112は、少なくとも1つのネットワーク接続132を利用することを求めるアプリケーション110によるリクエストを表現する。一実施形態において、データ転送リクエスト112の各々はそれらに関連する優先度情報を有する。優先度情報114は、データ転送リクエスト112に関する優先度を示し、優先度は、レベル、程度、タイプ、種類、その他の優先度階層内における相対的又は絶対的な順位(等級、格付け)の情報等により表現されてよい。
【００１９】
特定のデータ転送リクエスト112の優先度情報114は、特定のデータ転送リクエスト112を提供するアプリケーション110により提供されてもよい。別の実施形態において、優先度情報114は、データ転送リクエスト112やデータ転送リクエスト112を提供するアプリケーション110の特徴やタイプに関連付けられていてもよい。例えば、メールアプリケーションプログラムからのデータ転送リクエスト112に関連する優先度情報は、ソーシャルネットワーキングアプリケーションプログラムからのデータ転送リクエスト112に関連する優先度情報よりも高い優先度を示していているかもしれない。
【００２０】
優先度情報114の具体例は、以下の表1に示されているように、明示的又はエクスプリシット(Explicit)、背景的又はバックグランド(Background)、オポチュニスティック(Opportunistic)及びプレディクティブ(Predictive)を含んでいてもよい。しかしながら開示される実施の形態は以下の優先度又は説明に限定されない。
【００２１】
＜表1：優先度情報の具体例＞
【００２２】
【表１】
2015508632.tif 000003
P4データ転送リクエストの具体例は、(例えば、ユーザ104の電子カレンダの分析に基づいて)ユーザ104がバンクーバ(Vancouver)に間もなく向かおうとしていると判断した何れかのアプリケーション110により送信されてもよい。アプリケーション110は、旅の前の適切な時点において、例えば無料の又は安価な接続により(例えば、セルラ接続ではなくWi-Fi接続により)、関連するナビゲーションマップタイルをダウンロードするデータ転送リクエストを優先度P4とともに生成する。旅立つ際に、コンピュータ装置102は既にナビゲーションマップタイルを所有しており、これによりセルラ接続132やローミングネットワーク接続132によるデータ利用量を減らすことができる。
【００２３】
メモリ領域108はデータ利用プラン116を保存する。データ利用プラン116はデータ利用計画、データ使用プラン、データ使用計画等と言及されてもよい。データ利用プラン116は、例えば、ユーザとモバイルオペレータとの間のモバイルデータプラン契約を表現していてもよい。データ利用プラン116は、コンピュータ装置102への/からの間のデータ転送に関する使用制限、及び/又はユーザの他の装置(例えば、モバイル装置、タブレット、ラップトップ)に関する使用制限を規定していてもよい。使用制限(usage  limit)は、一群のユーザ104(ユーザ104のグループ)又は一群の装置102(装置102のグループ)(例えば、共有プランの例の場合)等に関連していてもよい。一実施形態において、データ利用プラン116は、少なくとも1つのネットワーク接続132に関する閾値118を記載又は設定していてもよい。例えば、データ利用プラン116は、ディジタルセルラネットワーク接続132については月々のデータ転送に2メガバイトが利用可能であることを示す一方、Wi-Fiネットワーク接続132についてのデータ転送は無制限であってもよい。
【００２４】
コンピュータ装置102は、アプリケーション110によるデータ転送利用度を監視し、データ利用統計量(data  usage  statistics)120を生成する。データ利用統計量120は、データ利用プランの下で、コンピュータ装置102により使用されるネットワークデータ量を表現する。データ利用統計量120は、時間の単位又は精度(例えば、1分毎)又はデータの単位又は精度(例えば、キロバイト毎)、コンピュータ装置102によりどの程度多くのデータが送信及び/又は受信されたか、利用された場所、使用されたネットワークインタフェース(例えば、ネットワークコネクションの利用に供されたネットワークインタフェース)、ローミング状態、データ利用プランの情報、加入者識別モジュール(subscriber  identity  module：SIM)又はデュアルSIMの場合に使用される他のユーザ識別モジュール、国際モバイル通信局識別子(international  mobile  station  equipment  identity：IMEI)又は複数の装置を使用する場合の他の装置識別子、Wi-Fiを使用する際のアクセスポイントのインターネットプロトコル(IP)アドレス又はその他のアドレス、ターゲットコンピュータのIPアドレス又は他のアドレス(例えば、データを利用できるホワイトリスト/ブラックリスト等)、データ転送を行うアプリケーション等を特定してもよい。別の例では、テキストメッセージ、データ、音声呼、使用時間、ボイスオーバインターネットプロトコル(VoIP)の利用量、及び、コンピュータ装置102により使用される又は影響を及ぼす他の要素の使用量に関する情報が、データ利用統計量120を生成するために収集されてもよい。その他のデータ利用統計量120が考慮されてもよい。
【００２５】
メモリ領域108は1つ以上のコンピュータ実行可能要素を保存する。コンピュータ実行可能要素は、コンピュータにより実行することが可能な要素又はコンポーネント等と言及されてもよい。そのような要素の具体例は、インタフェース要素122、タイプ要素124、優先度要素126、及び通知要素128を含む。これらの要素が実行された場合の動作については図2を参照しながら説明される。
【００２６】
図2は、検出されたネットワーク接続132にデータ転送リクエスト112を優先度情報114に基づいて対応付けるコンピュータ装置102の動作例を示すフローチャートを示す。一実施形態において図2に示されている動作はモバイルコンピュータ装置により実行されるが、1つ以上の処理は、他の装置(ユーザ装置104に対してローカル又はリモートな任意の装置を含む)により実行されてもよい。例えば、処理はモバイルコンピュータ装置と通信するプロキシ装置により実行されてもよい。更に、一実施形態において、図2に示されている動作は、モバイルコンピュータ装置上で動作しているオペレーティングシステムにより実行される。
【００２７】
202において、コンピュータ装置102は、コンピュータ装置102(例えば、第1のコンピュータ装置)と1つ以上の他のコンピュータ装置(例えば、第2のコンピュータ装置)との間で利用可能なネットワーク接続132を検出する又はその通知を受ける。例えば、コンピュータ装置102は、ネットワーク接続132が設定されているか及び/又は失効していないかどうかを判断してもよい。別の例として、コンピュータ装置102は、各々のネットワーク接続132の利用可能性を確認するために、オープンであるネットワーク接続132にテストパケット(例えば、ピン信号又はヘルスチェック信号(ping))を実際に送信してもよい。一実施形態において、コンピュータ装置102は、検出されたネットワーク接続132の各々を分類する。例えば、ネットワーク接続132は、種類、タイプ、速度、レート、コスト、及び/又はその他の事項又は基準に従って分類されてもよい。
【００２８】
コンピュータ装置102はアプリケーション110からの少なくとも1つのデータ転送リクエスト112にアクセスする。例えば、コンピュータ装置102は、アプリケーション110により保存されたデータ転送リクエスト112を抽出又は取得するためにメモリ領域108にアクセスしてもよいし、或いはコンピュータ装置102はアプリケーション110からデータ転送リクエスト112を直接的に受信してもよい。コンピュータ装置102は、データ転送リクエスト112の各々に関連する優先度情報114を決定する。例えば、1つ以上のデータ転送リクエスト112に関する優先度情報114は、要求を行っているアプリケーション110により指定されてもよいし、或いは要求しているアプリケーション110に関連するソフトウェアベンダにより指定されていてもよい。優先度情報114が無いデータ転送リクエスト112の場合、コンピュータ装置102はデフォルトの優先度情報114を指定してもよい。
【００２９】
204において、アクセスしたデータ転送リクエスト112各々の優先度情報114が、検出されたネットワーク接続132(及びおそらくはネットワーク接続132に関連する分類)に対して比較又は照合される。一実施形態において、1つ以上のデータ転送リクエスト112の優先度情報は、データ転送リクエスト112に関するサービス品質(QoS)の条件や要求を含む。QoS条件はアプリケーション110により表現されていてもよい。一実施形態において、他の要因又は事項が考慮されてもよい。他の要因は例えばコンピュータ装置102のバッテリレベル(例えば、電力の残量)を含み、ネットワーク接続132を介してデータ転送リクエスト112を開始することにより消費される見込みの予想電力量と比較されてもよい。
【００３０】
206において、コンピュータ装置102はアクセスしたデータ転送リクエスト112のうちの1つ以上を処理を開始するために比較結果に基づいて選択し、これにより、1つ以上のアクセスしたデータ転送リクエスト112と検出されたネットワーク接続132との間に割り当て又は指定がなされることになる。選択されたデータ転送リクエスト112とネットワーク接続132との間の関係は、例えば、ファイル、テーブル、データベース又はその他のデータ構造に保存されてもよい。一実施形態において、コンピュータ装置102は、要求された優先度情報114と利用可能なネットワーク接続132とを照合するように試みる。
【００３１】
例えば、上記の表1に示されている優先度情報114の例を利用し、優先度P1のデータ転送リクエストが、何らかのセルラ又はWi-Fiネットワーク接続132に合致し、優先度P2のデータ転送リクエストが何らかのセルラ又はWi-Fiネットワーク接続132に合致し、コンピュータ装置102がローミングしていない場合に、優先度P3のデータ転送リクエストが何らかのWi-Fiネットワーク接続132に合致し、優先度P4のデータ転送リクエストが無料の又は他のコストがかからないWi-Fiネットワーク接続132のみに合致してもよい。
【００３２】
アクセスしたデータ転送リクエスト112を選択する処理は、ユーザ104及び/又はコンピュータ装置102に関するデータ利用プラン116を分析する処理を含んでもよい。例えば、コンピュータ装置102は、ネットワーク接続132の各々でなされるデータ転送の累積的な量を追跡してもよい。コンピュータ装置102は、追跡した累積的な量と、ネットワーク接続132の各々に関連する対応する閾値118とを比較してもよい。代替的又は追加的に、コンピュータ装置102は、追跡した累積的な量に関する見積もり(例えば、支払周期の締日に関連する金額)と、ネットワーク接続132の各々に関連する対応する閾値118とを比較してもよい。コンピュータ装置102はその比較に基づいて1つ以上のデータ転送リクエスト112を選択する。例えば、コンピュータ装置102は、利用可能なネットワーク接続132の追跡した累積的な値が、対応する閾値118未満であるか否かを判断する。特定の利用可能なネットワーク接続132に関して利用可能なデータ量(すなわち、リソース)が残っているとコンピュータ装置102が判断した場合(累積的な値が敷地118未満であった場合)、コンピュータ装置102はデータ転送リクエスト112とネットワーク接続132とを照合する処理に進む。ネットワーク接続132を介して更なるデータ転送が可能でない場合、コンピュータ装置102は、データ転送リクエスト112をネットワーク接続132に割り当てる際の考察対象からそのネットワーク接続132を除外する。閾値118はデータ利用プラン116から取得されてもよい。
【００３３】
例えば、例えば以下の表2に示すように、コンピュータ装置102は、検出されたネットワーク接続132とデータ利用プラン116における現在の使用量とを関連付け、何れのネットワーク接続132がそのアプリケーションに利用可能であるかを決定する。以下の表2は上記の表1に示す優先度の具体例に続く。
【００３４】
＜表2：データ利用プランの下で相対的な使用に関する合致判断基準の一例＞
【００３５】
【表２】
2015508632.tif 000004
複数のネットワーク接続132が利用可能である場合、コンピュータ装置102は、アプリケーション110に通知する際にネットワーク接続132を分類してもよい。例えば、ネットワーク接続132は、無料から高額の順に並べられてもよいし、及び/又は高速から低速の順位並べられてもよい。
【００３６】
コンピュータ装置102は、選択したデータ転送リクエスト112の処理を開始し、或いは208において、関連するアプリケーション110に選択内容を通知し、アプリケーション110が、少なくとも1つの対応する選択されたデータ転送リクエスト112を開始できるようにしてもよい。
【００３７】
202におけるネットワーク接続132の分析の後、コンピュータ装置102は、過去に検出された何れかのネットワーク接続132が最早利用可能でないこと、或いは最早利用可能でなくなりつつあると判断するかもしれない。210において、コンピュータ装置102が、過去に検出されたネットワーク接続132の1つ以上のそのような欠如又は欠如する見込みを検出した場合、コンピュータ装置102は、欠如するネットワーク接続132でデータ転送を実行しようとしているアプリケーション110を特定する。例えば、コンピュータ装置102はデータ転送リクエスト112とネットワーク接続132との間の過去の対応関係又は割り当てを分析してもよい。212において、コンピュータ装置102は、ネットワーク接続132についての検出した欠落をアプリケーション110に通知する。
【００３８】
これに応じて、通知を受けたアプリケーション110は、現在欠如している又は間もなく欠如するネットワーク接続132におけるデータ転送リクエスト112の実行を中止又は延期してもよい。通知を受けたアプリケーション110は、利用可能な別のネットワーク接続132において、1つ以上の中止又は延期したデータ転送を開始してもよい。例えば、コンピュータ装置102が第1のネットワーク接続132はもはや利用可能でないことを検出した場合に、アプリケーション110は、第1のネットワーク接続132に関する処理を中止し、第2のネットワーク接続132に関する処理を再開又は開始してもよい。第2のネットワーク接続132に関するデータ転送コストが第1のネットワーク接続132に関するデータ転送コストより大きい実施形態の場合(すなわち、より高額である場合)、データ利用統計量120に基づき、アプリケーション110(及び/又は優先度要素126)は第2のネットワーク接続132を使用しないことを選択してもよい。その場合、アプリケーション110は、第2のネットワーク接続132によるデータ転送リクエスト112の処理を控え、ユーザ104が高額のネットワーク転送コストを負担することを回避する。
【００３９】
一実施形態において、図2に示す1つ以上の処理は図1に示すコンピュータ実行可能要素により実行される。例えば、インタフェース要素122は、コンピュータ装置102のプロセッサ106により実行される場合に、コンピュータ装置102上で動作している1つ以上のアプリケーション110から複数のデータ転送リクエスト112を、プロセッサ106に受信させる。タイプ要素124は、コンピュータ装置102のプロセッサ106により実行される場合に、コンピュータ装置102と少なくとも1つの他のコンピュータ装置との間で検出された1つ以上のネットワーク接続132を、プロセッサ106に分類させる。優先度要素126は、コンピュータ装置102のプロセッサ106により実行される場合に、分類されたネットワーク接続132に関する残っている帯域幅(例えば、残存するデータ使用量(リソース))及び優先度情報114に基づいて、分類されたネットワーク接続132に1つ以上のデータ転送リクエスト112を、プロセッサ106に指定させる。残りのデータ使用量(残りリソース)はデータ利用プラン116及び/又はデータ利用統計量120から判断されてもよい。一実施形態において、優先度要素126は、タイプ要素124による分類に基づいてネットワーク接続132を分類する。通知要素128は、コンピュータ装置102のプロセッサ106により実行される場合に、指定されたデータ転送リクエスト112をアプリケーション110に通知する処理を、プロセッサ106に実行させる。
【００４０】
図3は、データ転送リクエストの開始に対するネットワーク接続132の利用可能性を通知するシーケンス図を示す。1つ以上のアプリケーション110は、イベントスケジューラ302に登録を行う、或いはデータ転送リクエスト112とネットワーク接続132との間の対応関係を指定するコンピュータ装置102上で動作する他の装置に登録を行う。1つ以上の登録されたアプリケーション110は、少なくとも1つのネットワーク接続132を利用してデータ転送を開始する(例えば、送信又は受信を開始する)。これらのアプリケーション110はデータ転送リクエスト112に関連する優先度情報114を提供する。
【００４１】
コアネットワーキング要素304は、コンピュータ装置102に利用可能なネットワーク接続132を検出するようにコンピュータ装置102上で動作する。コアネットワーキング要素304は、ネットワーク接続132の各々を、連続的に(例えば、中断なしに)又は頻繁に(例えば、周期的に)(例えば、毎分)分析してもよい。別の実施形態では、コアネットワーキング要素304は、少なくとも1つのアプリケーション110から少なくとも1つのネットワーク接続132に利用するリクエストを受信した場合に、ネットワーク接続132の各々を分析する。更に、コアネットワーキング要素304は様々なネットワーク接続132を検査する様々なスケジュールを有していてもよい。スケジュールは、予定、計画等と言及されてもよい。例えば、コアネットワーキング要素304は、セルラ接続のローミングの利用可能性よりも少ない頻度でWi-Fi接続の利用可能性を検査してもよい。
【００４２】
ネットワーキング接続の存否の検査に加えて、ネットワーキング要素304(又はコンピュータ装置102において動作している他の要素)は、特定のネットワーキング接続がアプリケーション110により利用可能であるか否かを判断する場合に、データ利用統計量120を検査してもよい。ユーザ104及び/又は装置が、特定のネットワーク接続132の閾値を超えている又は超えつつある場合に、コアネットワーキング要素304は、その特定のネットワーク接続132が「利用可能」ではないと判断し、データ利用プラン116の下での余分な料金の負担を回避する。
【００４３】
コアネットワーキング要素304は、ネットワーク接続132の存在及び/又は不存在をイベントスケジューラ302に通知する。この通知を受信すると、イベントスケジューラ302は、問い合わせたデータ転送リクエスト112を、利用可能なネットワーク接続132に対応付ける又は合致させる。例えば、コアネットワーキング要素304からの通知が、優先度Xのネットワーク接続132は利用可能であることを示す場合に、イベントスケジューラ302は、あるデータ転送リクエスト112を送信又は問い合わせている登録されたアプリケーション110を特定し、そのデータ転送リクエスト112は優先度Xを指定する優先度情報114を有する。
【００４４】
図4は、例示的なデータ利用プラン116に対するデータ使用量の比較例のグラフを示す。図4の例において、例示的なデータ利用プラン116は、200メガバイト(MB)が、月々の特定のネットワーク接続132タイプ(例えば、セルラ)に関する閾値118であることを示す。他の閾値(例えば、200MB以上)及び他の支払請求周期(例えば、1月以上)も考えられる。図4に示すラインは、ひと月の間に200MBまで線形に利用する例を反映している。しかしながら、非線形パターンのような他のデータ利用パターンも考えられる。一般に、利用度の線の形状(グラフ)は、利用度のパターン(例えば、データ利用パターン)に依存して適合させられる。例えば、データ利用パターンは、ユーザ104及び/又は他のユーザ104の過去のネットワークデータ使用傾向に基づいていてもよい。
【００４５】
コンピュータ装置102及び/又はモバイルオペレータは、ユーザ104及び/又はコンピュータ装置102によるデータ使用量を追跡し、データ利用統計量120を生成する。グラフで示されている個々の円は、ユーザ104及び/又はコンピュータ装置がオフトラック(Off  Track)になる領域(例えば使用量がデータ利用パターンを上回る場合であり、例えばユーザ104は月の終わりに至る前に200MBのデータ使用量を超える見込みであるような場合)、オントラック(On  Track)になる領域(例えば、使用量がデータ利用パターンにほぼ等しい場合であり、例えばユーザ104は月の終わり付近に200MBを消費する見込みであるような場合)、及びアンダートラック(Under  Track)になる領域(例えば、使用量がデータ利用パターンを下回る場合であり、例えばユーザ104は月の終わりに至るまでに200MB全てを消費しそうにない場合)を示す。
【００４６】
一実施形態において、オフトラックは、支払請求サイクルの内のその日及び支払請求期間の内の現在又は最近のデータ使用量に関して想定される上限(例えば、線上の値)に達した又はそれ以上であるユーザ104として定義されてもよい。例えば、支払請求サイクルの内のその日及び支払請求期間の内の現在又は最近の使用量に関し、外挿補間又は見積もりを実行し、支払請求サイクル締日に関する使用量を予想してもよい。同様に、オントラックは、支払請求サイクルの内のその日及び支払請求期間の内の現在又は最近のデータ使用量に関して想定される上限を少なくとも5％下回るユーザ104として定義されてもよい。アンダートラックは、支払請求サイクルの内のその日及び支払請求期間の内の現在又は最近のデータ使用量に関して想定される上限を少なくとも20％下回るユーザ104として定義されてもよい。別の実施形態では、データ使用量が、支払請求期間内の任意の時点において特定のネットワーク接続132に関する限界の10％以内である場合に、ユーザ104及び/又はアプリケーション110に通知が送付されてもよい。コンピュータ装置102はそのネットワーク接続132を利用する優先度がP3のデータ転送リクエストを中断してもよい。
【００４７】
一実施形態では「オーバーリミット(Over  Limit)」のカテゴリを想定し、バックグランド転送がユーザにより開始されない限り又は重要であると判断されない限り、ユーザはバックグランド転送によるデータ利用法以外を選択できるようにしてもよい。
【００４８】
＜補足＞
図1に示す様々な要素の機能のうち少なくとも一部は、図1に示す他の要素、又は図1には示されていない要素(例えば、プロセッサ、ウェブサービス、サーバ、アプリケーションプログラム、コンピュータ装置等)により実行されてもよい。
【００４９】
一実施形態において、図2及び図3に示されている処理は、コンピュータ読み取り可能媒体にエンコードされているソフトウェア命令により、処理を実行するようにプログラム又は設計されたハードウェアにより、又はそれら双方により実現されてもよい。例えば、開示内容は、複数の相互接続された導電性要素を含むシステムオンチップ又はその他の回路として実現されてもよい。
【００５０】
本願において使用されている「ローミング」という用語は、一実施形態において、ユーザの加入者のホームゾーンの外で提供される接続を示し、これは追加的な料金、手数料又は制約に委ねられる可能性がある。ローミングサービスは同じモバイルオペレータ111により提供されてもされなくてもよい。本願において使用されている「テザー(tether)」という用語は、一実施形態において、或る装置がネットワークアクセスに関する他の装置のアクセスポイントとして機能する状況を示す。テザー接続は有線接続又は無線接続によりなされてもよい。本願において使用されている「Wi-Fi」という用語は、一実施形態において、データの通信に高周波無線信号を使用する無線ローカルエリアネットワークを示す。本願において使用されている「ブルートゥース」という用語は、一実施形態において、短い波長の無線通信を利用して短距離のデータ通信を行うための無線技術標準規格に関連する。本願において使用されている「セルラ」という用語は、一実施形態において、相対的に短距離の無線通信局が複数台協働して動作することにより相対的に広い地理的領域でデータを通信できるようにする無線通信システムを示す。本願において使用されている「NFC」という用語は、一実施形態において、短距離のデータ通信を行うための短距離高周波無線通信技術を示す。
【００５１】
実施の形態はユーザ104により監視及び/又は収集されるデータに関連して説明されている。一実施形態では、(例えば、ダイアログボックス又は好みの設定を介して)データの収集をユーザ104に通知することにより、監視及び/又は収集に関する同意を示す又は拒否する機会がユーザ104に与えられてもよい。この同意は、オプトイン同意(opt-in  consent)又はオプトアウト同意(opt-out  consent)の形式でなされてもよい。
【００５２】
＜動作環境例＞
開示される実施形態は任意のコンピュータ装置又はスクリーンで動作及び/又は表示することが可能である。例えば、ユーザ104は、モバイル装置、ゲームコンソール、車両内コンピュータシステム(例えば、娯楽及び/又はナビゲーション用のシステム)、携帯用メディアプレーヤ及びラップトップ等を利用することが可能である。
【００５３】
コンピュータ可読媒体の具体例は、フラッシュメモリドライブ、ディジタル多用途ディスク(DVD)、コンパクトディスク(CD)、フロッピディスク、及びテープカセット等を含む。非限定的な一例として、コンピュータ可読媒体は、コンピュータ記憶媒体及び通信媒体を含む。コンピュータ記憶媒体は、揮発性、不揮発性、着脱可能又は着脱不可能な何れの形式の媒体であってもよく、コンピュータ可読命令、データ構造、プログラムモジュール又は他のデータ等のような情報を保存する任意の方法又は技術で実施されてよい。コンピュータ記憶媒体は通信媒体を除く有形媒体である。一実施形態において、コンピュータ記憶媒体はハードウェアで実現される。コンピュータ記憶媒体の具体例は、ハードディスク、フラッシュディスク、及びその他のソリッドステートメモリを含む。これに対して通信媒体は、典型的には、搬送波又はその他の伝送手段のような変調された信号により、コンピュータ可読命令、データ構造、プログラムモジュール、その他のデータにより実現され、任意の情報伝送媒体を含む。
【００５４】
コンピュータシステム環境例の観点から説明されているが、開示される実施形態は、様々な他の汎用又は特定用途のコンピュータシステム環境、構成又は装置とともに実現することが可能である。
【００５５】
本発明の実施形態を利用するのに相応しいコンピュータシステム、環境及び/又はコンフィギュレーションの具体例は、限定ではないが、モバイルコンピュータ装置、パーソナルコンピュータ、サーバコンピュータ、携帯用又はラップトップ装置、マルチプロセッサシステム、ゲームコンソール、マイクロプロセッサ方式のシステム、セットトップボックス、プログラム可能な消費者電子装置、移動電話、ネットワークパーソナルコンピュータ(ネットワークPC)、ミニコンピュータ、メインフレームコンピュータ、分散コンピュータ環境(上記の任意のシステム又は装置を含む)等を含む。そのようなシステム又は装置は何らかの方法でユーザ104からの入力を受け入れ、例えば、キーボードやポインティングデバイス等のような入力装置を通じて、ジェスチャ又は身振りを通じて、及び/又は音声入力を通じて入力を受け入れてもよい。
【００５６】
本発明の実施の形態は、1つ以上のコンピュータ又はその他の装置により実行されるコンピュータ実行可能命令(例えば、プログラムモジュール等)のような一般的な観点から説明されてもよい。コンピュータ実行可能命令は、コンピュータにより実行可能な1つ以上のコンポーネント又はモジュールに組織されていてもよい。一般に、プログラムモジュールは、限定ではないが、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造等を含み、特定のタスクを実行する又は特定のアブストラクトデータタイプを実現する。本発明の一実施形態は任意の数及び仕組みのそのようなコンポーネント又はモジュールにより実施されてよい。例えば、本発明の実施形態は、上記の説明及び図面に示されている具体的なコンピュータ実行可能命令や具体的なコンポーネント又はモジュールに限定されない。本発明の他の実施形態は、本願で説明され図示されたものより多い又は少ない機能を有する様々なコンピュータ実行可能命令又はコンポーネントを含んでもよい。
【００５７】
本発明の実施形態は、本願で説明される命令を実行するように構築される場合、汎用コンピュータを特定用途コンピュータ装置にする。
【００５８】
本願で説明及び図示された実施形態だけでなく、本願で具体的に示されてはいないが本発明の範囲内に属する実施形態は、優先度情報114に基づいてネットワーク接続132を適切な方法で利用することにより、データ転送コストを削減するための手段例を形成する。
【００５９】
本願で説明及び図示されている実施形態における処理又は実行の順序は、特に言及のない限り本質的ではない。すなわち、特に言及のない限り処理は任意の順序で実行されてよく、本発明の実施形態は本願で具体的には示されていない多数の又は少数の処理を含んでよい。例えば、特定の処理を他の処理の前に、同時に又は後に実行又は処理することも、本発明の範囲内にあると考えられる。
【００６０】
本発明の実施形態又は実施形態をなす要素に言及する場合において、「或る」、「ある」、「その」、「該」等の語はその要素が1つ以上存在することを意味するように意図されている。「有する」、「含む」、「備える」等の用語は、包含的(すなわち、非排他的)であるように解釈され、列挙されている要素以外の更なる要素が存在してもよいことを意味する。「例示的」という用語は「具体例の」を意味するように意図されている。「以下のものの1つ以上：A、B、及びC」は、「少なくとも1つのA及び/又は少なくとも1つのB及び/又は少なくとも1つのC」を意味する。
【００６１】
以上、本発明の実施形態を詳細に説明してきたが、添付の特許請求の範囲に規定されている本発明の範囲から逸脱することなく、修正例及び変形例が可能であることは明らかであろう。本発明の範囲から逸脱することなく、上記の構成、手段及び方法に関して様々な変形を施すことが可能であり、上記の説明及び添付図面に示されている全ての事項は例示として解釈されなければならず、限定的に解釈されてはならないことが、意図されている。
【図１】
2015508632.tif 000005
【図２】
2015508632.tif 000006
【図３】
2015508632.tif 000007
【図４】
2015508632.tif 000008
【国際調査報告】
2015508632.tif 000009
2015508632.tif 000010