(57)【特許請求の範囲】
【請求項１】
ワイヤレス通信デバイスを介したネットワーク通信の方法であって、
アプリケーショントラフィックペアリング(ATP)サーバから、トラフィックフロー報告についての1つまたは複数のアプリケーション識別子を含むポリシー情報を受信するステップであって、前記1つまたは複数のアプリケーション識別子は、ネットワークトラフィックを構成する必要があるアプリケーションについての識別子である、ステップと、
前記受信したポリシー情報を記憶するステップと、
アプリケーション用のトラフィックフローのためのネットワークリソースを要求する、前記アプリケーションからのソケット呼出しを識別するステップと、
前記トラフィックフローについてのトラフィック記述子および前記アプリケーションについてのアプリケーション識別子を生成するステップと、
前記アプリケーションについての前記アプリケーション識別子を、前記ポリシー情報中に含まれる前記1つまたは複数のアプリケーション識別子と比較するステップと、
前記ポリシー情報に前記アプリケーションについての前記アプリケーション識別子が含まれるとき、前記トラフィックフローについての前記トラフィック記述子および前記アプリケーションについての前記アプリケーション識別子を前記ATPサーバに送信するステップであって、前記トラフィック記述子および前記アプリケーションについての前記アプリケーション識別子が、前記アプリケーション用の前記トラフィックフローを一意に識別するステップとを含み、
前記一意に識別された前記アプリケーション用の前記トラフィックフローが、前記ATPサーバまたは前記ATPサーバから前記ネットワークトラフィックを構成するための識別情報を受信したネットワークエンティティによって制御される、方法。
【請求項２】
前記ポリシー情報が、期間またはイベントを識別するトラフィックフロー報告についての頻度をさらに含み、前記トラフィック記述子と、前記アプリケーションについての前記アプリケーション識別子のうちの前記1つとを送信するステップが、前記頻度に基づく、請求項1に記載の方法。
【請求項３】
前記ポリシー情報が、報告されるべきアプリケーション接続情報をさらに含み、前記トラフィック記述子が、報告されるべき前記アプリケーション接続情報を含む、請求項1に記載の方法。
【請求項４】
前記ソケット呼出しが、HTTP接続、HTTPS接続、SIP接続、FTP接続、TCP接続、SSH接続、RCP接続、バイナリプロトコル接続、またはSOCKS接続のうちの1つまたは複数を要求する、請求項1に記載の方法。
【請求項５】
前記ソケット呼出しを識別する前記ステップが、前記ソケット呼出しに関連付けられた接続についての、記憶されたアプリケーション接続情報に基づく、請求項1に記載の方法。
【請求項６】
前記アプリケーション接続情報が、前記アプリケーションに関連付けられた接続についてのソースネットワークアドレス、前記アプリケーションに関連付けられた接続用のソースポート、接続についての宛先ネットワークアドレス、前記アプリケーションに関連付けられた接続用の宛先ポート、前記アプリケーションに関連付けられた接続用のネットワークプロトコル、接続開始時間、接続アイドル時間、接続アクティブ時間、前記アプリケーションに関連付けられた接続を介して送信されるデータの量を示す送信データ量、前記アプリケーションに関連付けられた接続を介して受信されたデータの量を示す受信データ量、デバイス構成、およびアプリケーション識別子のうちの1つまたは複数を含む、請求項5に記載の方法。
【請求項７】
前記トラフィック記述子が、前記アプリケーションに関連付けられた接続についてのソースネットワークアドレス、前記アプリケーションに関連付けられた接続用のソースポート、前記アプリケーションに関連付けられた接続についての宛先ネットワークアドレス、前記アプリケーションに関連付けられた接続についての宛先ポート、前記アプリケーションに関連付けられた接続についてのネットワークプロトコルのうちの1つまたは複数を含む、請求項1に記載の方法。
【請求項８】
送信する前記ステップが、HTTP送信、HTTPS送信、SMS送信、または所定の通信プロトコルによる送信のうちの1つを含む、請求項1に記載の方法。
【請求項９】
ポリシー情報を受信するステップが、
デバイス上でインストールされるべきアプリケーションを識別するステップと、
前記アプリケーション用のポリシーの選択を送信するステップと、
前記アプリケーションについての前記ポリシー情報を受信するステップであって、前記ポリシー情報が前記選択に関連付けられているステップとを含む、請求項1に記載の方法。
【請求項１０】
追加ポリシー情報を受信するステップと、
前記受信した追加ポリシー情報に基づいて、記憶された前記ポリシー情報を更新するステップであって、前記比較が、前記更新されたポリシー情報に基づくステップとをさらに含む、請求項1に記載の方法。
【請求項１１】
アプリケーショントラフィックペアリング(ATP)サーバから、トラフィックフロー報告についての1つまたは複数のアプリケーション識別子を含むポリシー情報を受信するように構成された受信機であって、前記1つまたは複数のアプリケーション識別子は、ネットワークトラフィックを構成する必要があるアプリケーションについての識別子である、受信機と、
前記受信したポリシー情報を記憶するように構成されたメモリと、
アプリケーション用のトラフィックフローのためのネットワークリソースを要求する、前記アプリケーションからのソケット呼出しを識別し、
前記トラフィックフローについてのトラフィック記述子および前記アプリケーションについてのアプリケーション識別子を生成し、
前記アプリケーションについての前記アプリケーション識別子を、前記ポリシー情報中に含まれる前記1つまたは複数のアプリケーション識別子と比較するように構成されたプロセッサと、
前記ポリシー情報に前記アプリケーション識別子が含まれるとき、前記トラフィックフローについての前記トラフィック記述子および前記アプリケーションについての前記アプリケーション識別子を前記ATPサーバに送信するように構成された送信機であって、前記トラフィック記述子および前記アプリケーションについての前記アプリケーション識別子が、前記アプリケーション用の前記トラフィックフローを一意に識別する送信機とを備え、
前記一意に識別された前記アプリケーション用の前記トラフィックフローが、前記ATPサーバまたは前記ATPサーバから前記ネットワークトラフィックを構成するための識別情報を受信したネットワークエンティティによって制御される、ワイヤレス通信デバイス。
【請求項１２】
前記ポリシー情報が、期間またはイベントを識別するトラフィックフロー報告についての頻度をさらに含み、前記トラフィック記述子と、前記アプリケーションについての前記アプリケーション識別子のうちの前記1つとを送信するステップが、前記頻度に基づく、請求項11に記載のデバイス。
【請求項１３】
前記ポリシー情報が、報告されるべきアプリケーション接続情報をさらに含み、前記トラフィック記述子が、報告されるべき前記アプリケーション接続情報を含む、請求項11に記載のデバイス。
【請求項１４】
前記メモリと結合されたセキュア要素をさらに備え、前記セキュア要素が、前記受信したポリシー情報を記憶のために暗号化するように構成される、請求項11に記載のデバイス。
【請求項１５】
モデムをさらに備え、前記モデムが、前記ソケット呼出しについてのアプリケーション接続情報を提供する、請求項11に記載のデバイス。
【請求項１６】
前記アプリケーション接続情報が、前記アプリケーションに関連付けられた接続についてのソースネットワークアドレス、前記アプリケーションに関連付けられた接続用のソースポート、接続についての宛先ネットワークアドレス、前記アプリケーションに関連付けられた接続用の宛先ポート、前記アプリケーションに関連付けられた接続用のネットワークプロトコル、接続開始時間、接続アイドル時間、接続アクティブ時間、前記アプリケーションに関連付けられた接続を介して送信されるデータの量を示す送信データ量、前記アプリケーションに関連付けられた接続を介して受信されたデータの量を示す受信データ量、デバイス構成、およびアプリケーション識別子のうちの1つまたは複数を含む、請求項15に記載のデバイス。
【請求項１７】
前記トラフィック記述子が、前記アプリケーションに関連付けられた接続についてのソースネットワークアドレス、前記アプリケーションに関連付けられた接続用のソースポート、接続についての宛先ネットワークアドレス、前記接続用の宛先ポート、および接続用のネットワークプロトコルのうちの1つまたは複数を含む、請求項11に記載のデバイス。
【請求項１８】
前記デバイス上でインストールされるべきアプリケーションと、前記アプリケーション用のポリシーとを識別するように構成されたアプリケーションインストールインターフェースをさらに備え、前記送信機が、前記アプリケーション用のポリシーの選択を送信するように構成され、前記受信機が、前記アプリケーションについての前記ポリシー情報を受信するように構成される、請求項11に記載のデバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は概して、ワイヤレス通信に関し、より詳細には、アプリケーションレベルの通信を識別するためのシステム、方法、およびデバイスに関する。
【背景技術】
【０００２】
今日では、広範囲にわたるアドオンサービスおよび機能をワイヤレスデバイスに提供するように動作するアプリケーション(「アプリ」)またはデバイスアプレットが利用可能である。たとえば、今日では、ワイヤレスデバイスがデバイスアプレットをダウンロードし、起動して、買物、検索、位置特定、運転ナビゲーション、ビデオ会議、ソーシャルネットワーキングなどの付加価値機能および一連の他の機能を実施することが可能である。デバイスアプレットの利用可能性および使用はワイヤレスデバイスの機能性および有用性を高め、当初はデバイス自体の上で利用可能でなかった特徴および利便性をデバイスユーザに提供する。
【０００３】
アプリケーションは、ネットワークオペレータ、サービスプロバイダ、またはサードパーティプロバイダによって開発および/または展開され得る。したがって、アプリケーションが通信に使うネットワーク用の制御エンティティは、アプリケーションの開発元と同じでない場合がある。そのような事例では、アプリケーションのためのネットワーク使用を制御することは困難であり得る。使用を制御する態様は、どのアプリケーションがトラフィックに関連付けられているかを識別することを含む。これは概して、アプリケーショントラフィックペアリングと呼ばれ得る。アプリケーショントラフィックペアリングを遂行し、したがってアプリケーションのためのネットワーク使用を制御するための1つのやり方は、ディープパケット検査によるものである。デバイスから送信された1つまたは複数のデータパケット中に含まれるデータを解析することによって、ネットワークは、パケットを発生させたアプリケーションを推論し、この情報を選択的に通信することができる。
【０００４】
ただし、ディープパケット検査は、パケットがインターセプトされ、解析され、次いで、送信されるとき、通信レートに影響する場合がある。このことが、今度は、ユーザエクスペリエンスに影響し得る。ディープパケット検査は、静的パケット「署名」にも依存し得る。たとえば、パケット構造は、アプリケーションの第1のバージョンに関連付けられ得る。ただし、バージョン2では、同じアプリケーション用のパケット構造が変更される場合がある。アプリケーション向けの通信を正確に、および効果的に識別するために、ネットワークオペレータは、検査ルーチンを連続して監視し、更新する必要がある。各アプリケーションが、異なるタイプおよび量のネットワークリソースを消費し得る。さらに、ディープパケット検査は概して、検査プロセスを調整し、維持するために、ハードウェア、電力、および他のリソースが消費されるとき、ネットワークに追加コストを導入することを伴う。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
現在の「ネットワークオンリー」なソリューションは、特定のアプリケーションへのデータ加入バンドルまたはサービス品質による区別を供給するという、オペレータの能力を妨げる。したがって、ネットワークオペレータが、そのネットワークにおいて、アプリケーション単位の挙動を提供することを可能にするための、信頼でき、効率的であり、正確な機構が所望される。
【課題を解決するための手段】
【０００６】
本発明のシステム、方法およびデバイスはそれぞれいくつかの態様を有し、それらのうちの単一の態様が単独で、その望ましい属性を担うわけではない。添付の特許請求の範囲によって表されるような本発明の範囲を限定することなく、いくつかの特徴がここで手短に論じられる。この議論を検討した後、具体的には「発明を実施するための形態」と題するセクションを読んだ後、通信ポリシーのサイズを低下させ、そうすることによって、アプリケーションを稼動するとき、ポリシーを記憶し、処理する際のオーバーヘッドを低減することを含む利点を、本発明の特徴がどのように提供するかが理解されよう。
【０００７】
1つの発明的態様では、ネットワーク通信の方法が提供される。この方法は、トラフィックフロー報告についての1つまたは複数のアプリケーション識別子を含むポリシー情報を受信するステップを含む。方法は、受信したポリシー情報を記憶するステップをさらに含む。方法は、アプリケーションのためのネットワーク動作を識別するステップも含む。方法は、アプリケーションについてのアプリケーション識別子を、ポリシー情報中に含まれる1つまたは複数のアプリケーション識別子と比較するステップをさらに含む。方法は、ポリシー情報にアプリケーション識別子が含まれるとき、トラフィック記述子と、アプリケーションについてのアプリケーション識別子のうちの1つとを送信するステップも含み、トラフィック記述子およびアプリケーション識別子のうちの1つは、アプリケーション用のトラフィックフローを一意に識別する。
【０００８】
別の発明的態様では、ネットワーク通信デバイスが提供される。このデバイスは、トラフィックフロー報告についての1つまたは複数のアプリケーション識別子を含むポリシー情報を受信するように構成された受信機を含む。デバイスは、受信したポリシー情報を記憶するように構成されたメモリを含む。デバイスは、アプリケーションのためのネットワーク動作を識別するように構成されたプロセッサをさらに含む。プロセッサは、アプリケーションについてのアプリケーション識別子を、ポリシー情報中に含まれる1つまたは複数のアプリケーション識別子と比較するようにさらに構成される。デバイスは、ポリシー情報にアプリケーション識別子が含まれるとき、トラフィック記述子と、アプリケーションについてのアプリケーション識別子のうちの1つとを送信するように構成された送信機を含み、トラフィック記述子およびアプリケーション識別子のうちの1つは、アプリケーション用のトラフィックフローを一意に識別する。
【０００９】
さらに別の発明的態様では、ネットワーク通信の別の方法が提供される。この方法は、1つまたは複数のアプリケーションについてのポリシー情報を送信するステップを含み、ポリシー情報は、トラフィックフロー報告についての1つまたは複数のアプリケーション識別子を含む。方法は、トラフィック記述子と、1つまたは複数のアプリケーションのうちのあるアプリケーションについての、アプリケーション識別子のうちの1つとを受信するステップも含み、トラフィック記述子およびアプリケーション識別子のうちの1つは、アプリケーション用のトラフィックフローを一意に識別する。
【００１０】
またさらなる発明的態様では、別のネットワーク通信デバイスが提供される。このデバイスは、1つまたは複数のアプリケーションについてのポリシー情報を送信するように構成された送信機を含み、ポリシー情報は、トラフィックフロー報告についての1つまたは複数のアプリケーション識別子を含む。デバイスは、トラフィック記述子と、1つまたは複数のアプリケーションのうちのあるアプリケーションについての、アプリケーション識別子のうちの1つとを受信するように構成された受信機も含み、トラフィックパターン記述子は、アプリケーション用のトラフィックフローを一意に識別する。
【００１１】
本明細書で説明する上記の態様は、添付の図面と併せて、以下の発明を実施するための形態を参照することで、より容易に明らかになろう。
【図面の簡単な説明】
【００１２】
【図１】無線選択システム108の態様を示す例示的なネットワーク環境100を示す図である。
【図２】無線選択およびトラフィック報告を提供するように構成された例示的なワイヤレスデバイス200を示す図である。
【図３】アプリケーショントラフィックペアリングを提供するように構成された例示的なワイヤレスデバイス302を示す図である。
【図４】アプリケーショントラフィックペアリングをサポートすることができる例示的なネットワークアーキテクチャについての機能ブロック図である。
【図５】アプリケーショントラフィックペアリングのためのメッセージフロー図である。
【図６】アプリケーショントラフィックペアリングの例示的な方法のプロセスフロー図である。
【図７】HTTPSを使う初期アプリケーショントラフィックペアリングのためのメッセージフロー図である。
【図８】HTTPSを使ってアプリケーショントラフィックペアリングを再報告ためのメッセージフロー図である。
【図９】HTTPSを使ってアプリケーショントラフィックペアリング報告規則を更新する方法のためのメッセージフロー図である。
【図１０】HTTPSを使ってアプリケーショントラフィックペアリング報告規則を更新する別の方法のためのメッセージフロー図である。
【図１１】ショートメッセージングサービス(SMS)およびHTTPSを使ってアプリケーショントラフィックペアリング報告規則を更新する別の方法のためのメッセージフロー図である。
【図１２】接続プロビジョニングの例示的方法のためのメッセージフロー図である。
【図１３】接続プロビジョニングの別の例示的方法のためのメッセージフロー図である。
【図１４】アプリケーショントラフィックペアリングを含むネットワーク通信のためのデバイスの例についての機能ブロック図である。
【図１５】アプリケーショントラフィックペアリングを含むネットワーク通信の方法の例についてのプロセスフロー図である。
【図１６】アプリケーショントラフィックペアリングを含むネットワーク通信のための別のデバイスの例についての機能ブロック図である。
【図１７】アプリケーショントラフィックペアリングを含むネットワーク通信の方法の別の例についてのプロセスフロー図である。
【発明を実施するための形態】
【００１３】
添付の図面を参照しながら、新規のシステム、装置および方法の様々な態様について以下でより十分に説明する。しかしながら、教示する開示は、多くの異なる形態で具現化される場合があり、本開示全体にわたって提示される任意の特定の構造または機能に限定されるものと解釈されるべきではない。むしろ、これらの態様は、本開示が完璧かつ完全になり、本開示の範囲を当業者に十分に伝えるように、提供される。本明細書の教示に基づいて、本開示の範囲は、本発明の任意の他の態様とは無関係に実装されるか、本発明の任意の他の態様と組み合わせて実装されるかにかかわらず、本明細書で開示する新規のシステム、装置および方法のいかなる態様をも包含するものであることを、当業者は諒解されたい。たとえば、本明細書に記載の態様をいくつ使用しても、装置を実装することができ、または方法を実施することができる。さらに、本発明の範囲は、本明細書に記載の本発明の様々な態様に加えてまたはそれらの態様以外に、他の構造、機能、もしくは構造および機能を使用して実施されるそのような装置またはそのような方法を包含することが意図される。本明細書で開示するいずれの態様も、請求項の1つまたは複数の要素によって具現化され得ることを理解されたい。
【００１４】
本明細書では特定の態様が説明されるが、これらの態様の多くの変形形態および置換形態は本開示の範囲内に入る。好ましい態様のいくつかの利益および利点に言及するが、本開示の範囲は特定の利益、使用、または目的に限定されるものではない。むしろ、本開示の態様は、様々なワイヤレス技術、システム構成、ネットワーク、および送信プロトコルに広く適用可能であるものとし、そのうちのいくつかが例として図および好ましい態様についての以下の説明で示される。発明を実施するための形態および図面は、限定的なものではなく本開示を説明するものにすぎず、本開示の範囲は添付の特許請求の範囲およびその等価物によって規定される。
【００１５】
本明細書において説明される技法は、符号分割多元接続(CDMA)ネットワーク、時分割多元接続(TDMA)ネットワーク、周波数分割多元接続(FDMA)ネットワーク、直交FDMA(OFDMA)ネットワーク、シングルキャリアFDMA(SC-FDMA)ネットワークなどの様々なワイヤレス通信ネットワークのために用いることができる。「ネットワーク」および「システム」という用語は、しばしば互換的に使用される。CDMAネットワークは、Universal Terrestrial Radio Access(UTRA)、CDMA2000などの無線技術を実装し得る。UTRAは、広帯域CDMA(W-CDMA)および低チップレート(LCR)を含む。cdma2000は、IS-2000規格、IS-95規格、およびIS-856規格を包含する。TDMAネットワークは、モバイル通信用グローバルシステム(GSM(登録商標))などの無線技術を実装し得る。OFDMAネットワークは、Evolved UTRA(E-UTRA)、IEEE802.11、IEEE802.15、IEEE802.16、IEEE802.20、Flash-OFDM(登録商標)などのような無線技術を実装することができる。UTRA、E-UTRA、およびGSM(登録商標)は、ユニバーサルモバイル通信システム(Universal Mobile Telecommunication System)(UMTS)の一部である。ロングタームエボリューション(LTE)は、E-UTRAを使用するUMTSの来るべきリリースである。UTRA、E-UTRA、GSM(登録商標)、UMTSおよびLTEは、「第3世代パートナーシッププロジェクト」(3GPP)という名称の組織の文書に記載されている。cdma2000は、「第3世代パートナーシッププロジェクト2」(3GPP2)という名称の組織の文書に記載されている。これらの様々な無線技術および規格は、当技術分野で知られている。
【００１６】
デバイスが、デバイス上で稼動および/または展開される各アプリケーションによって生成されたトラフィックについての情報をリアルタイムで報告するシステム、デバイス、および方法について、以下でさらに詳しく記載する。具体的には、ネットワークオペレータは、デバイスがそれについてのトラフィック情報を報告する必要があるアプリケーションのリストを構成することができる。これらのアプリケーションのうちの1つがネットワークと通信し始めると、デバイスは、アプリケーションによって生成されたトラフィックについて記述する情報を送ることができる。この情報により、このデバイス用のアプリケーションのこのインスタンスについてのトラフィックの識別が可能になる。このようにして、ネットワークオペレータは、デバイス単位/アプリケーション単位のレベルで、トラフィックを容易および正確に識別することができる。さらに、ネットワークオペレータは、報告されたトラフィック情報およびローカルポリシーまたは加入に基づいてアクションをとることができる。そのようなアクションは、トラフィックフロー(たとえば、通信経路)向けのサービス品質を適用すること、トラフィックフロー用のトラフィックを監視すること、トラフィックフロー用のトラフィックを計測することなどを含む。
【００１７】
図1は、無線選択システム108の態様を示す例示的なネットワーク環境100を示す。ネットワーク環境100は、ワイヤレスデバイス102および通信ネットワーク104を含む。デバイス102は、対応する無線チャネル106を使用してネットワーク104と通信するための複数の無線(図示せず)を含む。デバイス102は、特定のアプリケーションによって使われるべき特定の無線を選択するように動作する無線選択システム108も含む。
【００１８】
動作中、デバイス102は、複数の無線のうちのいずれかを使用してネットワーク104とインターフェースをとることができるアプリケーションを実行する。たとえば、実行中のアプリケーションは、ソケットレイヤ呼出しなどのネットワーキング関数呼出しを発して、ネットワーク104との通信用のネットワークリソースを要求することができる。ある実施形態では、無線選択システム108は、デフォルトルーティング構成に基づいてソケットレイヤ呼出しを処理して、所定の無線リソースをアプリケーションにバインドし得る。
【００１９】
様々な実装形態において、無線選択システム108は、アプリケーションからネットワーキング関数呼出しをインターセプトするように、およびアプリケーションによる使用のために、適切な無線を選択するように動作する。無線選択システム108は次いで、アプリケーションをネットワークリソース(たとえば、選択されている無線)にバインドする。無線選択システム108は、アプリケーションが無線リソースを使うとき、アプリケーションの正常動作に応答して動作するので、システムは、いかなるアプリケーション変更またはアップグレードもなしで、レガシーアプリケーションと非レガシーアプリケーションの両方とともに動作することができる。
【００２０】
無線選択システム108は、1つまたは複数のアプリケーションについての報告規則を受信するように構成され得る。報告規則は、どのアプリケーションについて通信ネットワーク104が接続情報を欲しているかを識別することができる。いくつかの実装形態では、報告規則はさらに、無線チャネル106ごとに指定され得る。一実装形態では、報告規則は、アプリケーション識別子のリストであってよい。アプリケーション識別子がリスト上に現れる場合、ネットワークオペレータは、アプリケーションのインスタンスを実行するデバイスが、アプリケーションについてのトラフィックレポートを送信することを期待する。トラフィックレポートは、いくつかの実装形態では、トラフィック記述子と呼ばれ得る。以下のTable 1(表1)は、無線選択システム108によって維持され得る報告規則の別の例を挙げる。Table 1(表1)に示す例において、規則は、アプリケーション識別子と、関連アプリケーションについてのトラフィックレポートをデバイスがどの程度頻繁に送信するべきであるかを示す報告頻度とを含む。
【００２１】
【表１】
0006346940.tif 000002
【００２２】
Table 1(表1)の例示的な報告規則は、標準テキスト形式、16進数符号化形式、およびbase64符号化形式でのアプリケーション識別子を含む。これらは、単に例として挙げられているのであって、他の形のアプリケーション識別子値が含まれてもよい。報告頻度も、例として挙げられている。報告は、たとえば、アプリケーションが初期接続を作成する(たとえば、接続時)とき、アプリケーションがシャットダウンするとき、デバイスが電源投入するとき、デバイス/アプリケーションのサービス(たとえば、ロケーションサービス、ビデオサービス)がアクティブ化されたとき、デバイスが状態を(たとえば、IDLEからACTIVEに)遷移するとき、デバイスがハンドオフするときなどのイベントに基づいて要求され得る。報告は、時間に基づいて、たとえばn分(たとえば、60分)ごと、n日(たとえば、1日)ごとなどに要求され得る。時間は、デバイスに対して(たとえば、稼動中のデバイスは15分間)、またはアプリケーションに対して(たとえば、稼動中のアプリケーションは30秒間)、時間を指定することができる。他の形式および/または追加特徴が、本開示の範囲から逸脱することなく、報告規則に含まれてよい。たとえば、規則は、規則が有効である期間を示す開始および/または終了タイムスタンプも含み得る。規則は、複数の規則または1つの規則のバージョンを示すバージョン情報を含み得る。規則は、ソースIP、宛先IP、ソースポート、宛先ポート、通信プロトコル(たとえば、ハイパーテキスト転送プロトコル(HTTP)、HTTPセキュア(HTTPS)、ファイル転送プロトコル(FTP)、セッション開始プロトコル(SIP)、セキュアシェル(SSH)、バイナリ通信プロトコル、または他の所定の通信プロトコル)、デバイス識別子(たとえば、国際モバイル機器識別子(IMEI)、モバイル機器識別子(MEID)、メディアアクセス制御アドレスなど)など、報告されるべき情報を含み得る。
【００２３】
報告規則は、ワイヤレスデバイス102のメモリ中にプリロードされてよい。報告規則は、関連アプリケーションがインストールされると、ワイヤレスデバイス102のメモリ中にロードされ得る。報告規則は、通信ネットワーク104から1つまたは複数の無線チャネル106を介して受信され、ワイヤレスデバイス102のメモリ中に記憶され得る。
【００２４】
無線選択システム108は、たとえば、アプリケーション識別子、ソース(たとえば、デバイス)IPアドレス、ソースポート、通信プロトコル、宛先(たとえば、サーバ)IPアドレス、宛先ポートなど、アプリケーション接続についての情報を収集し、報告するようにさらに構成され得る。一部には、無線選択システム108は、アプリケーションと、アプリケーション用の通信に使われる無線との間に配置されるので、無線選択システム108は、報告規則がデバイスアプリケーション用に指定されているかどうか判断することができる。たとえば、アプリケーションが通信チャネルを要求すると、無線選択システム108は、アプリケーション用の報告規則を調べるのに加え、適切な無線技術を識別することができる。アプリケーションが、受信された報告規則によって指定される報告要件を有する場合、無線選択システム108は、アプリケーションについて、要求される情報を(指定されている場合)要求された頻度で提供すればよい。無線選択システム108のさらなる詳細が、以下に挙げられる。
【００２５】
図2は、無線選択およびトラフィック報告を提供するように構成された例示的なワイヤレスデバイス200を示す。デバイス200は、プロセッサ202、メモリ204、およびTX/RX無線212を含み、すべてが通信バス214を使用して通信するように結合されている。ワイヤレスデバイス200は、図1に関して上記で説明したワイヤレスデバイス102であり得る。デバイス200は一実装形態にすぎず、他の実装形態が可能であることに留意されたい。
【００２６】
一態様では、プロセッサ202は、接続エンジン208およびネットワーキングモジュール210を含む。プロセッサ202は、CPU、プロセッサ、ゲートアレイ、ハードウェア論理、メモリ要素、および/またはハードウェア実行ソフトウェア(図示せず)のうちの少なくとも1つも含み得る。プロセッサ202は、デバイス200上で実行するアプリケーションが所望の無線にバインドされ得るように、デバイス200の動作を制御するように構成される。一実装形態では、プロセッサ202は、複数の機能のうちのいずれかを実施することに関連するコンピュータ可読命令を実行するように構成される。たとえば、プロセッサ202は、デバイス200から受信または通信された情報を解析して、知的無線選択を実施するように動作する。別の態様では、プロセッサ202は、メモリ204、TX/RX無線212、および/または接続エンジン208によって利用され得る情報を生成して、無線選択を実施するように動作する。
【００２７】
TX/RX無線212は、複数の無線チャネル216を使用してデバイス200を外部通信ネットワーク104(図1)などの複数の外部エンティティとインターフェースするために使用され得る複数の無線/インターフェースを提供するように構成されたハードウェアおよび/またはプロセッサ実行ソフトウェアを含む。無線チャネル216は、たとえば、図1に関して上記で説明した無線チャネル106であり得る。TX/RX無線212は、無線/インターフェースを提供して、セルラー、Wi-Fi、Bluetooth(登録商標)、または任意の他の技術を使用して、無線チャネル216を使用する通信ネットワークと通信し得る。
【００２８】
プロセッサ202は、デバイス200上で1つまたは複数のアプリケーションを実行し、アプリケーションをメモリ204に記憶するように構成されたハードウェアおよび/またはプロセッサ実行ソフトウェアを含む。一実装形態では、プロセッサ202は、アプリケーションがネットワーキングモジュール210に対してネットワーキング関数呼出しを開始して、ネットワーキングサービスを要求するのを可能にするように構成される。ネットワーキング関数呼出しは、無線チャネル216を介して外部ネットワークまたはシステムと通信するためのTX/RX無線212における無線/インターフェースへの接続要求を含み得る。
【００２９】
ネットワーキングモジュール210は、ネットワーキング関数を実施するように構成されたハードウェアおよび/またはプロセッサ実行ソフトウェアを含む。一実装形態では、ネットワーキング関数は、Connect()、Bind()、およびSetsockopt()などの関数を含む。Connect()関数は、アプリケーションと特定の無線/インターフェースとの間の接続を確立するように動作する。たとえば、特定の無線/インターフェースは、TX/RX無線212によって提供される複数の候補無線から選択され得る。一態様では、ネットワーキングモジュール210は、様々なネットワーキング関数またはコマンドを実施するように構成される。
【００３０】
接続エンジン208は、システムリソースを評価して、アプリケーションによる使用のために特定の無線を選択するように構成されたハードウェアおよび/またはプロセッサ実行ソフトウェアを含む。様々な実装形態において、接続エンジン208は、以下の選択基準のうちの1つまたは複数に基づいて、特定の無線を選択するための集中型無線コントローラとして構成される。
1. ユーザポリシー:デバイスで実行しているアプリケーションによる無線アクセスに関してデバイスユーザによって設定されるポリシー。
2. オペレータポリシー:デバイスまたはアプリケーションによるネットワークアクセスに関してネットワークオペレータによって設定されるポリシー。
3. 無線メトリック:特定のアプリケーションまたは動作環境にとって最も好ましい無線を選択するために使用される無線性能の測定値または他のタイプの測定値。
4. アプリケーション要件:帯域幅要件または遅延/性能要件などの要求アプリケーションに関連する要件。
5. ネットワークの有用性:特定の無線インターフェース上の特定のネットワークのアベイラビリティに関する情報。
6. ベンダー供給メトリック:受信信号強度表示およびパケットロスレートなどの無線メトリックから特定の無線インターフェースで利用可能なスループットおよび遅延に変換するための情報。
7. アクセスポイントのアベイラビリティ:他のデバイスまたは無線リンクを構成し得るがパケットをネットワークにフォワードしないデバイスからの多くのトラフィックによって輻輳されたアクセスポイントに対する一意の識別子を特定する情報。
【００３１】
メモリ204は、RAM、ROM、EEPROMあるいはアプリケーションおよび/または選択基準がデバイス200で記憶され、取り出されることを可能にするように動作する任意の他のタイプのメモリデバイスを含む。一実装形態では、メモリ204は、プロセッサ202によって実行されるコンピュータ可読命令を記憶するように構成される。メモリ204は、プロセッサ202、TX/RX無線212、アプリケーションレイヤ構成要素206、ネットワーキングモジュール210、および/または接続エンジン208のいずれかによって生成されたデータを含む複数の他のタイプのデータのいずれかを記憶するようにも構成され得る。メモリ204は、ランダムアクセスメモリ、バッテリバックアップ付きメモリ、ハードディスク、磁気テープなどとして含む、いくつかの異なる構成で構成され得る。また、圧縮および自動バックアップなどの様々な機能は、メモリ204上で実装され得る。
【００３２】
メモリ204は、プリロードライブラリ218およびネットワーキングライブラリ220を記憶するように構成される。一実装形態では、ネットワーキングライブラリ220は、最も一般的にはコンピュータネットワークにおける通信のために、プロセス間通信を実施するアプリケーションをCプログラミング言語で開発するための関数を含むPOSIXまたはBerkeleyソケットアプリケーションプログラミングインターフェース(API)を含む。たとえば、POSIX APIは、Connect()、Bind()、およびSetsockopt()などの関数を含む。
【００３３】
プリロードライブラリ218は、アプリケーションからソケット呼出しをインターセプトする。たとえば、プリロードライブラリ218は、リンカがネットワーキングライブラリ220よりも高い優先度でネットワーキングライブラリ220を実行環境中にリンクし得る、ネットワーキングライブラリ220によって提供されるAPI関数のサブセットを少なくとも含む。リンカは、プロセッサ202上での実行のためにプリロードライブラリ218とネットワーキングライブラリ220をリンクするのに役立つ、プロセッサ202上で実行されるソフトウェア構成要素であり得る。
【００３４】
動作中、システムは、デバイスが最初にブートアップするときにリンカが使う環境を構成する。一実装形態では、リンカは、ライブラリが標準ライブラリリンキングを開始する前にロードするべき環境を検査するように動作する。通常、リンカは、ネットワーキングAPIを提供するネットワーキングライブラリ220をロードする。アプリケーションは、そのインターフェースを使って、ネットワーク通信を確立するためのソケットを作成し、接続する。たとえば、一実装形態では、リンカは、アプリケーションおよびその依存を走査し、これらは両方とも、メモリ204中にロードされる。リンカは、プリロードライブラリ218を他のライブラリの前にロードするように構成され、ルックアップに投入を行うので、続いてロードされるライブラリは、満足され、プリロードライブラリ218を使うことができる。
【００３５】
プリロードライブラリ218は、ネットワーキングライブラリ220が提供するAPIソケットのサブセットを少なくとも含む。アプリケーションが、ソケットを作成または接続するためのネットワーキング関数呼出しを行うと、プロセッサ202は、プリロードライブラリ218中のコードを実行することによって、呼出しをインターセプトする。たとえば、アプリケーションは、IPアドレス、宛先、およびファイル記述子など、引数または属性をもつConnect()関数用の関数ポインタを提供する。
【００３６】
プリロードライブラリ218は次いで、集中型無線制御エンティティへの要求を生成し、このエンティティは、指定された接続用の適切なネットワークインターフェースを選ぶ。たとえば、プリロードライブラリ218は接続エンジン208に要求を送り、エンジン208は、使われるべき適切な無線を判断する。適切な無線が選択された後、プロセッサ202は、ネットワーキングライブラリ220のソケットAPIを呼び出して、接続セットアップを完了し、その後、制御がプリロードライブラリ218に戻される。たとえば、接続エンジン208は、ネットワーキングライブラリ220の関数を呼び出して、選択された無線を要求アプリケーションにバインドする。
【００３７】
接続エンジン208は、様々な方法で複数の候補無線から無線を選択するように構成される。たとえば、接続エンジン208は、上記の選択基準のうちの1つまたは複数を使用して無線を選択するように構成され得る。無線が選択されると、接続エンジン208はその無線をアプリケーションにバインドする。たとえば、一実装形態では、接続エンジン208は、元のネットワーキングライブラリ220中に呼び出すことによって無線をアプリケーションにバインドする。したがって、接続エンジン208およびプリロードライブラリ218における関数は、ネットワーキングライブラリ220内のBind()関数などの関数に容易にアクセスして、選択された無線をアプリケーションにバインドすることができる。
【００３８】
報告エンジン211は、着信報告規則(たとえば、ポリシー情報)を処理するように構成されたハードウェアおよび/またはプロセッサ実行ソフトウェアを含む。処理は、規則を復号すること、デバイス上にインストールされたアプリケーションおよび/またはデバイス能力(たとえば、オペレーティングシステム、GPS、ビデオ、オーディオ)に基づいて規則を再フォーマットすること、デバイス200のセキュア要素222中に含まれるセキュア鍵情報に基づいて解読すること、および報告規則を、デバイスのメモリ204中またはセキュア要素222中に記憶することのうちの1つまたは複数を含み得る。
【００３９】
セキュア要素222は、そこに記憶される情報のセキュリティを維持するように構成されたストレージ(たとえば、メモリ)として実装され得る。報告規則についての情報は、アクセスおよび/または課金目的で使われ得るので、規則が正式なソースから受信され、認可または検出なしでは規則が改変可能でないように記憶されることを保証することが望ましい場合がある。たとえば、ネットワークオペレータは、ユーザが、アクセスするための有効な加入をそれ以外の場合には求めるはずである、サービスへのフリーアクセスを提供することになる自身の報告規則をオーサリングするのを防止することを望む場合がある。セキュア要素222は、デバイス200に内蔵され、もしくは組み込まれ、デバイスに追加され(たとえば、SIMカードやSDカード)、または報告規則を記憶するためのセキュアなエリアとしてメモリ204中に含まれ得る。
【００４０】
報告エンジン211は、報告にアプリケーションが含まれているかどうか判断し、トラフィック記述子と、報告規則に含まれるアプリケーションについてのアプリケーション識別子とを生成するようにさらに構成され得る。たとえば、接続エンジン208は、無線チャネルを選択すると、接続の詳細を報告エンジン211と通信することができる。いくつかの実装形態では、プリロードライブラリ218は、判断および報告を実施するための、報告エンジン211に対する1つまたは複数の追加関数呼出しを含む。
【００４１】
様々な実装形態では、無線選択システムは、コンピュータ可読媒体上で記憶または具現化される1つまたは複数のプログラム命令(「命令」)もしくは「コード」のセットを有するコンピュータプログラム製品を含む。コードが少なくとも1つのプロセッサ、たとえば、プロセッサ202によって実行されるとき、その実行により、プロセッサ202はデバイス200を制御して、本明細書で説明するシステムの機能を提供する。たとえば、コンピュータ可読媒体は、フロッピー(登録商標)ディスク、CDROM、メモリカード、FLASHメモリデバイス、RAM、ROM、またはデバイス200にインターフェースする任意の他のタイプのメモリデバイスもしくは有形コンピュータ可読媒体(たとえば、非一時的)を含む。別の態様では、コードのセットは、外部デバイスまたは通信ネットワークリソースからデバイス200にダウンロードされ得る。コードのセットは、実行されると、本明細書で説明するシステムの態様を提供するように動作する。
【００４２】
図3は、アプリケーショントラフィックペアリングを提供するように構成された例示的なワイヤレスデバイス302を示す。ワイヤレスデバイス302は、図1に関して上記で説明したワイヤレス通信システム100内で利用され得る。ワイヤレスデバイス302は、本明細書で説明する様々な方法を実装するように構成され得るデバイスの一例である。たとえば、ワイヤレスデバイス302は、通信ネットワーク104の1つまたは複数の機能を実装し得る。別の実施形態では、ワイヤレスデバイス302は、ワイヤレスデバイス102の1つまたは複数の機能を実装し得る。
【００４３】
ワイヤレスデバイス302は、ワイヤレスデバイス302の動作を制御するプロセッサ304を含み得る。プロセッサ304は、中央処理ユニット(CPU)と呼ばれることもある。読取り専用メモリ(ROM)とランダムアクセスメモリ(RAM)の両方を含み得るメモリ306は、命令およびデータをプロセッサ304に提供する。メモリ306の一部は、不揮発性ランダムアクセスメモリ(NVRAM)をも含み得る。プロセッサ304は、一般に、メモリ306内に記憶されたプログラム命令に基づいて論理演算および算術演算を実施する。メモリ306中の命令は、本明細書で説明する方法を実装するように実行可能であり得る。
【００４４】
ワイヤレスデバイス302が送信ノードとして実装され、または使われるとき、プロセッサ304は、本明細書に記載する報告規則などの通信ポリシーを送信するように構成され得る。ワイヤレスデバイス302が受信ノードとして実装または使用されるとき、プロセッサ304は、図2を参照して上記で説明したワイヤレスデバイス200からデータを受信するように構成され得る。ワイヤレスデバイス302が受信ノードとして実装され、または使われるとき、プロセッサ304は、受信された報告規則に少なくとも部分的に基づいて、アプリケーショントラフィック情報を報告させるようにさらに構成され得る。
【００４５】
プロセッサ304は、1つまたは複数のプロセッサとともに実装される処理システムを含むか、またはその構成要素であり得る。1つまたは複数のプロセッサは、汎用マイクロプロセッサ、マイクロコントローラ、デジタル信号プロセッサ(DSP)、フィールドプログラマブルゲートアレイ(FPGA)、プログラマブル論理デバイス(PLD)、コントローラ、状態機械、ゲート論理、個別ハードウェア構成要素、専用ハードウェア有限状態機械、または、情報の算出もしくは他の操作を実施することができる任意の他の適切なエンティティの任意の組合せによって実装され得る。
【００４６】
処理システムは、ソフトウェアを記憶するための機械可読媒体も含み得る。ソフトウェアは、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語と呼ばれるか、またはそれ以外の名称で呼ばれるかにかかわらず、任意のタイプの命令を意味すると広く解釈されたい。命令は、(たとえば、ソースコード形式、バイナリコード形式、実行可能コード形式、または任意の他の適切なコード形式の)コードを含むことができる。命令は、1つまたは複数のプロセッサによって実行されると、処理システムに、本明細書に記載する様々な機能を実施させる。
【００４７】
ワイヤレスデバイス302は、ワイヤレスデバイス302と遠隔地との間のデータの送信および受信を可能にするために送信機310および/または受信機312を含み得る、筐体308も含み得る。送信機310および受信機312は、組み合わされてトランシーバ314になり得る。アンテナ316は、筐体308に取り付けられ、トランシーバ314に電気的に接続され得る。ワイヤレスデバイス302は、(図示していない)複数の送信機、複数の受信機、複数のトランシーバ、および/または複数のアンテナも含み得る。
【００４８】
送信機310は、異なるMACヘッダタイプを有するパケットをワイヤレス送信するように構成され得る。たとえば、送信機310は、上記で説明したプロセッサ304によって生成された異なるタイプのヘッダとともにパケットを送信するように構成され得る。
【００４９】
受信機312は、異なるMACヘッダタイプを有するパケットをワイヤレス受信するように構成され得る。いくつかの態様では、受信機312は、以下でさらに詳細に説明するように、使われたMACヘッダのタイプを検出し、それに応じてパケットを処理するように構成される。
【００５０】
ワイヤレスデバイス302は、トランシーバ314によって受信された信号のレベルを検出および定量化する作業に使用され得る信号検出器318も含み得る。信号検出器318は、総エネルギー、シンボルごとのサブキャリア当たりのエネルギー、電力スペクトル密度、および他の信号などの信号を検出し得る。ワイヤレスデバイス302は、信号を処理する際に使用するためのデジタル信号プロセッサ(DSP)320も含み得る。DSP320は、送信用のパケットを生成するように構成され得る。いくつかの態様では、パケットは、物理レイヤデータ単位(PPDU)を含み得る。
【００５１】
ワイヤレスデバイス302は、いくつかの態様では、ユーザインターフェース322をさらに備え得る。ユーザインターフェース322は、キーパッド、マイクロホン、スピーカ、および/またはディスプレイを含み得る。ユーザインターフェース322は、ワイヤレスデバイス302のユーザに情報を伝達し、かつ/またはユーザから入力を受信する任意の要素または構成要素を含み得る。
【００５２】
ワイヤレスデバイス302の様々な構成要素は、バスシステム326によって互いに結合され得る。バスシステム326は、データバス、ならびに、たとえば電力バス、制御信号バス、および状況信号バスを、データバスに加えて含み得る。ワイヤレスデバイス302の構成要素は、何らかの他の機構を使って、互いに結合され得、または互いへの入力を受容し、もしくは提供し得ることが、当業者には諒解されよう。
【００５３】
いくつかの別個の構成要素が図3に示されているが、構成要素のうち1つまたは複数は、組み合わされるか、または共通して実装され得ることを当業者は認識するであろう。たとえば、プロセッサ304は、プロセッサ304に関して上記で説明した機能を実装するだけでなく、信号検出器318および/またはDSP320に関して上記で説明した機能を実装するのにも使用され得る。さらに、図3に示す構成要素の各々は、複数の別個の要素を使用して実装され得る。
【００５４】
図4は、アプリケーショントラフィックペアリングをサポートすることができる例示的なネットワークアーキテクチャについての機能ブロック図を示す。図4に示すネットワーク400は、本開示の、いくつかの態様を説明するのを支援する構成要素を含む。ネットワーク400は、図4に示す簡略化したネットワークからは省かれている場合がある他の要素および/または通信経路を含み得る。
【００５５】
ワイヤレス通信デバイス402は、パケットデータネットワークを介して通信をするアプリケーションを含み得る。そのようなアプリケーションの例が、インターネット上でホストされるサーバから、更新された気象情報を取り出す気象アプリケーションである。ワイヤレス通信デバイス402は、基地局404との第1の通信パス406を確立することができる。基地局404は次いで、パケットネットワークゲートウェイ(PGW)408との第2の通信パス410を確立することができる。パケットネットワークゲートウェイ408は、「コアネットワーク」への入口点として働き得る。パケットネットワークゲートウェイ408は、アプリケーションサーバ455との第3の通信パス450を確立することができる。アプリケーションサーバ450は、ワイヤレス通信デバイス402上で稼動するアプリケーションに、更新された気象情報を提供するように構成された気象サーバであってよい。
【００５６】
パケットネットワークゲートウェイ408は、ポリシー制御/課金規則機能(PCRF)サーバ412から、ポリシー、課金、制御および/またはルーティング情報を取得するように構成され得る。図4に示すネットワーク400において、情報は第4の通信パス414を介して提供される。第4の通信パス414は、いくつかの実装形態ではGxインターフェースを含み得る。
【００５７】
PCRFサーバ412は、たとえば、デバイスおよび/またはアプリケーショントラフィックについてのサービス品質情報を提供することができる。たとえば、ワイヤレス通信デバイス402に関連付けられた加入が、無制限の高帯域幅な気象アップデートを含む場合、PCRFサーバ412は、この情報をパケットネットワークゲートウェイ408に提供すればよい。パケットネットワークゲートウェイ408は、ポリシーの無制限態様を強制することができるが、帯域幅選択は基地局404に送信され得る。基地局404は次いで、ワイヤレス通信デバイス402用の第1の通信パス406および/または第2の通信パス410についての帯域幅設定を制御することができる。規則は、PGW408によってのみ、基地局404によってのみ、ワイヤレス通信デバイス402によってのみ、またはそれらの任意の組合せで強制され得る。
【００５８】
図4に示すように、パケットネットワークゲートウェイ408は、アプリケーショントラフィックペアリング(ATP)サーバ416と通信することもできる。パケットネットワークゲートウェイ408とATPサーバ416との間の通信は、第5の通信パス418経由であり得る。第5の通信パス418は、標準IPネットワーク接続およびGxライクなインターフェースのうちの1つまたは複数を含み得る。ATPサーバ416は、報告規則を、ワイヤレス通信デバイス402への配信のためにパケットネットワークゲートウェイ408に提供するように構成され得る。いくつかの実装形態では、ATPサーバ416は、報告規則を、パケットネットワークゲートウェイ408へのバルク送信で提供することができる。パケットネットワークゲートウェイ408は、規則を記憶し、どの規則をワイヤレス通信デバイス402に配信するべきか判断することができる。この判断は、デバイスタイプ、アプリケーションインストール、時間または他の要因に基づき得る。いくつかの実装形態では、パケットネットワークゲートウェイ408は、パケットネットワークゲートウェイ408とワイヤレス通信デバイス402との間のメッセージ通信に基づいて、ワイヤレス通信デバイス402が最新の報告規則をもっていないと判断することができる。そのような実装形態において、パケットネットワークゲートウェイ408は、ワイヤレス通信デバイス402についての報告規則をATPサーバ416から要求すればよい。いくつかの実装形態では、ワイヤレス通信デバイス402は、パケットネットワークゲートウェイ408を介してATPサーバ416と通信して、報告規則を獲得することができる。
【００５９】
ATPサーバ416は、第6の通信経路420を介してPCRFサーバ412と通信するようにさらに構成され得る。たとえば、ATPサーバ416は、ネットワークオペレータがPCRFサーバ412から、監視したいと思うアプリケーション識別子を取得することができる。第6の通信経路420のいくつかの実装形態は、全体または一部が、標準IPネットワーク接続、Rxライクなインターフェース、またはSdライクなインターフェースを使って実装され得る。
【００６０】
図5は、アプリケーショントラフィックペアリングのためのメッセージフロー図を示す。メッセージフロー図は、2つのエンティティ、すなわちワイヤレス通信デバイス402およびATPサーバ416を含む。図示するメッセージは、メッセージフローの説明の明瞭性を増すために省かれている中間エンティティ(たとえば、PGW408、基地局404など)を流れ得ることが理解されよう。
【００６１】
メッセージ通信502は、ワイヤレス通信デバイス402によって、ATPサーバ416のネットワークロケーションを発見するために開始される。メッセージ通信502は、DNS照会、IPアドレスルックアップ、または他のネットワーク発見処理を含み得る。
【００６２】
メッセージ通信504は、ワイヤレス通信デバイス402によって、アプリケーショントラフィック報告規則を要求するために開始される。要求は、ワイヤレス通信デバイス402上にインストールされた1つまたは複数のアプリケーションを含み得る。要求は、いくつかの実装形態では、どの特定のアプリケーションも指定しない、アプリケーショントラフィック報告規則についての全般的要求であってよい。
【００６３】
メッセージ通信506は、メッセージ通信504中に送信された要求に応答して、報告規則を含む。メッセージ通信506は、アプリケーショントラフィック報告規則を含む、ワイヤレス通信デバイス402への1つまたは複数のメッセージ送信を含み得る。規則は、フラットテキスト、文字区切り形式テキスト、暗号化テキスト、マークアップ言語(たとえば、XML)、または他のメッセージ送信形式など、様々な形式で指定され得る。ワイヤレス通信デバイス402は、報告規則を、メモリ中またはセキュア要素中などに記憶することができる。いくつかの実装形態では、ワイヤレス通信デバイス402は、たとえば、ワイヤレス通信デバイス402上にインストールされていないアプリケーションを削除し、報告規則を解読し、報告規則を圧縮し、または報告規則を再フォーマットするように、報告規則をさらに処理することができる。
【００６４】
報告規則に含まれるアプリケーションは、メッセージ通信508を介して初期化され得る。初期化は、本明細書に記載するように、トラフィックフローを確立すること、通信経路を含めることを含み得る。
【００６５】
メッセージ通信510は、アプリケーショントラフィック報告規則に従って、アプリケーショントラフィックレポートを送信することができる。レポートは、フラットテキスト、文字区切り形式テキスト、暗号化テキスト、マークアップ言語(たとえば、XML)、または他のメッセージ送信形式など、様々な形式でフォーマットされ得る。報告は、ワイヤレス通信デバイス402用のアプリケーションのインスタンスを識別する情報を含み得る。そのような情報の一例が、ソース(たとえば、ワイヤレス通信デバイス402)IP、宛先IP、ソースポート、宛先ポート、および通信プロトコル(たとえば、HTTP、HTTPS、FTP、SIP、SSH、バイナリ通信プロトコルなど)を含む5タプルである。
【００６６】
メッセージ通信512は次いで、ワイヤレス通信デバイス402向けのアプリケーションの識別されたインスタンス用のネットワークトラフィックを構成するのに使用され得る。ATPサーバ416は、ネットワークトラフィックを構成するものとして示されているが、ATPサーバ416は、トラフィック構成を実装するために、PCRFサーバ412、パケットネットワークゲートウェイ408、および/または基地局404などのネットワークエンティティに、識別情報を送信するように構成されてよい。ネットワークトラフィック用の構成の例は、このアプリケーション用のトラフィックを停止すること、このアプリケーション用のトラフィックを許可すること、このアプリケーション用の差別化通信速度を提供すること、およびこのアプリケーション用のサービス品質を適用することを含む。
【００６７】
いくつかの実装形態は、2つ以上のサーバを介して、ポリシーおよび報告を配布することができる。たとえば、一実装形態は、UEがポリシーファイルをそこからフェッチするポリシー管理サーバと、ネットワークがフローで何をするべきかをUEがそれに対して報告する報告管理サーバとを含み得る。ATPサーバ416(または報告管理サーバ)に報告をするとき、UEから報告宛先までの通信パス中に含まれるGGSN/PDNが、UEがそれについて報告するアプリケーション用の1つまたは複数のフィルタをセットするように構成され得ることが望ましい場合がある。そのような実装形態は、アプリケーションフィルタについての要求を報告宛先がネットワークに送る場合、それ以外の場合に招かれる遅延を回避する。したがって、いくつかの実装形態では、図示するメッセージのうちの1つまたは複数(メッセージ通信510および/または512など)は、GGSN/PDNにおいて実施することができる。
【００６８】
図6は、アプリケーショントラフィックペアリングの例示的な方法のプロセスフロー図を示す。分かりやすくするために、図2に示すデバイス200を参照しながらプロセスフローについて以下で説明する。一実装形態では、プロセッサ202は、デバイス200の機能要素を制御するための1つまたは複数のコードのセットを実行して、以下で説明する機能を実施する。
【００６９】
ブロック602において、プロセッサ202はアプリケーションを起動する。アプリケーションは、アプリケーションレイヤ構成要素206の一部であるレガシーまたは非レガシーアプリケーションであり得る。たとえば、アプリケーションは、ネットワーキング関数呼出しを生成して、TX/RX無線212で利用可能な無線を使用してワイヤレスネットワークに接続するネットワークブラウザであり得る。
【００７０】
ブロック604において、プロセッサ202は、プリロードライブラリを構成し、ロードする。たとえば、プリロードライブラリ218は、通信ネットワークを評価するためにアプリケーションによって通常は使用される、ネットワーキングライブラリ220内に提供されるネットワーキング関数のサブセットを含む。プリロードライブラリ218内のネットワーキング関数は、デバイスで実行しているアプリケーションからネットワーキング関数呼出しをインターセプトするように構成される。たとえば、プリロードライブラリ218は、デバイス200で実行しているアプリケーションによってソケット呼出しをインターセプトするために使用され得るPOSIXソケット関数を含む。一実装形態では、プリロードライブラリ218はメモリ204に記憶される。
【００７１】
一実装形態では、プリロードライブラリ218の関数は、呼出し側アプリケーションから渡された引数を受け取るように構成される。引数は、アプリケーションの目的に最も適した無線を選択するための、接続エンジン208への要求を生成するのに使われ得る。引数は、ある場合、どのような報告規則がアプリケーションについて存在するか判断するための、報告エンジン211への要求を生成するのにも使われ得る。いくつかの実装形態では、アプリケーショントラフィックペアリングのためのプリロードライブラリ218の呼出しは、ネットワーク接続が開始または確立されるまで識別可能でない、いくつかのアプリケーションについては迂回され得る。
【００７２】
ブロック606において、プロセッサ202は、プリロードライブラリを実行環境にリンクする。たとえば、プロセッサ202は、ネットワーキングライブラリ220よりも高い優先度でプリロードライブラリ218を実行環境にリンクする。したがって、アプリケーションによるネットワーキング関数呼出しは、プリロードライブラリ218内の関数によってインターセプトおよび処理され、ネットワーキングライブラリ220内の類似の関数によって処理されない。
【００７３】
ブロック608で、プロセッサ202は、アプリケーションからネットワーキング関数呼出しをインターセプトする。たとえば、ネットワーキング関数呼出しは、Connect()関数などのPOSIXソケット関数呼出しであり得る。アプリケーションは、ネットワーキング関数呼出しを生成して、外部ネットワークとの通信を可能にするための無線に接続する。ネットワーキングライブラリ220よりも高い優先度でプリロードライブラリ218を実行環境にリンクすることにより、プロセッサ202は、プリロードライブラリ218内の関数を介してネットワーキング関数呼出しをインターセプト(または処理)する。
【００７４】
ブロック610で、プリロードライブラリ218中の呼び出された関数は、デバイス用のアプリケーションのインスタンスについてのアプリケーショントラフィック情報を取得する。アプリケーショントラフィック情報は、報告エンジン211に提供され得る。
【００７５】
ブロック612で、報告規則が評価される。一実装形態では、報告エンジン211は、上記で説明した報告規則を評価するように動作する。たとえば、報告エンジン211は、プロセッサ202と通信して、どの報告規則がアプリケーションに該当するかと、いくつかの実装形態では、どのような情報が報告されるべきかとを識別することができる。
【００７６】
決定ブロック614で、このアプリケーションについて何らかの報告が必要とされるかどうかに関して、判断が行われる。報告規則中にアプリケーションが含まれない場合、報告は求められなくてよい。アプリケーションについての報告頻度が、報告する時間ではないことを示す場合、報告は求められなくてよい。報告が求められない場合、プロセスはブロック610に戻って、トラフィック情報を取得する。いくつかの実装形態では、アプリケーションについてのトラフィック情報は時間とともに変化し得る。いくつかの実装形態では、報告規則は更新され得る。したがって、トラフィック情報を定期的に取得し、図6に示すプロセスの残りを繰り返すことが望ましい場合がある。いくつかの実装形態では、プロセスは、ブロック608に戻って、アプリケーションネットワーキング動作(たとえば、接続、バインド、切断など)に基づいて報告規則を評価し直すことができる。
【００７７】
決定ブロック614に戻ると、報告が必要とされる場合、ブロック616で、アプリケーショントラフィックレポートがネットワーク(たとえば、ATPサーバ)に送信される。プロセスは、ブロック608またはブロック610に戻ることによって、上記で説明したように続き得る。
【００７８】
したがって、図6のプロセスフローは、レガシーおよび非レガシーアプリケーションとの使用のために、ユーザ機器報告を通して、アプリケーショントラフィックペアリングを提供する。図6のプロセスフローは一実装形態にすぎないこと、また、図6のプロセスフローの動作は、他の実装形態が可能であるように並べ替えられ、または変更され得ることに留意されたい。
【００７９】
図7は、HTTPSを使う初期アプリケーショントラフィックペアリングのためのメッセージフロー図を示す。図7に示すメッセージフローは、アプリケーションクライアント702がユーザ機器(UE)704上にインストールされていると想定するので、「初期」と呼ばれる。ただし、UE704は、どのアプリケーショントラフィック情報も、まだ取得も提供もしていない場合がある。これは、UE704が電源オンされ、またはUE704が、あるネットワークから別のネットワークへのハンドオフに関与する、アプリケーションクライアント702が新たにインストールされる状況であり得る。
【００８０】
アプリケーションクライアント702およびUE704に加え、図7のメッセージフロー図は、パケットデータネットワークゲートウェイ(PDNGW)706、ドメイン名サーバ708、ATPサーバ710、オペレータ加入管理システム712、およびアプリケーションサーバ714を示す。図示するメッセージは、メッセージフローの説明の明瞭性を増すために省かれている中間エンティティを流れ得ることが理解されよう。さらに、図7において別個のエンティティとして図示される場合があるいくつかのエンティティは、単一エンティティに組み合わされてよいことが理解されよう。
【００８１】
メッセージ720が、オペレータ加入者管理システム712から、UE704に初期アプリケーショントラフィックペアリングプロファイル(たとえば、報告規則)を提供するために送信され得る。いくつかの実装形態では、ペアリングプロファイルは、UE704上で製造元によって含められるか、またはアプリケーションクライアント702がインストールされるときに含められ得る。ペアリングプロファイルは、オペレータネットワークから受信されたワイヤレスメッセージを通して提供され、UE704上のメモリもしくはセキュア要素中に記憶されるか、または他のプロビジョニングプロセスであってよい。
【００８２】
メッセージ725が、ATPサーバ710についてのネットワークアドレスを取得するために、UE704からドメイン名サーバ708に送信される。メッセージ730は、ATPサーバ710についてのアドレスを含む。図7に示すように、アドレスはIPアドレスである。受信したIPアドレスを使って、UE704は、メッセージ735を介してATPサーバ710とのTCP接続を確立する。接続が確立されると、UE704は、プロファイルデータを得るための、request-URIを含むHTTPS GET要求メッセージ740を構築することができる。1つの例示的な要求が、以下でListing 1(表2)に示されている。
【００８３】
【表２】
0006346940.tif 000003
【００８４】
メッセージ745を介して、ATPサーバ710は、アプリケーショントラフィックペアリングプロファイル(たとえば、報告規則)をもつHTTPS 200 OK応答を送信する。いくつかの実装形態では、プロファイルドキュメントはXML形式で送信される。XMLフォーマット済みプロファイル用の例示的な応答ヘッダを、Listing 2(表3)に示す。
【００８５】
【表３】
0006346940.tif 000004
【００８６】
この時点で、UE704は報告規則を受信している。そのある程度後、アプリケーションクライアント702はネットワークに接続する。アプリケーションクライアント702は最初に、通信チャネルを取得するために、接続要求メッセージ750をUE704に送信する。取得されると、アプリケーションクライアント702は、メッセージ755を通してアプリケーションサーバ714と通信する。図7に示すように、アプリケーションクライアント702とアプリケーションサーバ714との間で交換されるメッセージ755は、アプリケーションデータフローと呼ばれ得る。
【００８７】
報告規則に基づいて、UE704は、報告がアプリケーションクライアント702向けであると判断することができる。メッセージ760が、UE704からATPサーバ710に送信される。図7に示すように、メッセージ760は、5タプルと、アプリケーションクライアントについての識別子(「AppID」)とを含む。図7に示すように、メッセージ760はHTTPS PUTメッセージである。メッセージ760の例が、以下でListing 3(表4)に示されている。いくつかの実装形態では、シンプルバイナリ通信プロトコルが使われ得る。そのような実施形態において、メッセージ760はバイナリメッセージである。
【００８８】
【表４】
0006346940.tif 000005
【００８９】
Listing 3(表4)に示すアプリケーショントラフィックレポートは、文字区切り形式リストを使って指定される。フィールドは、固定長であるか、または機械可読形式で表され得る。Listing 3(表4)に示す例示的なアプリケーショントラフィックレポートは、以下のTable 2(表5)において注釈がつけられる。
【００９０】
【表５】
0006346940.tif 000006
【００９１】
フィールドの値、区切り文字、および/または順序は、他の方式で指定されてもよい。この例において使われる順序、値、および区切り文字は、可能なメッセージ形式の一例として挙げられている。いくつかの実装形態では、ワイルドカード文字が、一定の範囲の値を指定するのに使われ得る。たとえば、宛先IPアドレスは、「222.222.222.」で始まるすべてのアドレスがこのアプリケーションクライアントに関連付けられることを示すように、222.222.222.*を使って指定され得る。
【００９２】
ここまで説明したように、要求URIは、単一のアプリケーション報告規則用である。いくつかの実装形態では、メッセージ760は複数の規則を含み得る。たとえば、要求URIは、特定のデバイスプロファイルに関連付けられてよく、メッセージ760中に含まれる規則は、デバイスプロファイルに基づいて選択されてよい。要求URIは、(たとえば、ソフトウェアプロバイダ、ネットワークオペレータなどからの)アプリケーション群に関連付けられ得る。複数の規則は、改行、文字区切り、マークアップ(たとえば、XML、HTML)、固定フィールド長テキストとして、または別の適切な機械可読形式で、メッセージ760中に含まれ得る。いくつかの実装形態では、メッセージ760は、圧縮および/または暗号化され得る。
【００９３】
情報および信号は、様々な異なる技術および技法のいずれかを使用して表され得ることを、当業者は理解されよう。たとえば、上記の説明全体を通して参照される場合があるデータ、命令、コマンド、情報、メッセージ、信号、ビット、シンボル、およびチップは、電圧、電流、電磁波、磁場もしくは磁性粒子、光場もしくは光学粒子、またはそれらの任意の組合せによって表され得る。
【００９４】
メッセージ760に応答して、確認応答メッセージ765がATPサーバ710からUE704に送信され得る。図7に示すように、メッセージ765はHTTPS 200 OKメッセージである。
【００９５】
メッセージ770が、アプリケーションクライアント702向けのネットワーク使用に対するネットワークオペレータ制御を許可するために、PDNGW、DNS、およびATPサーバの間で、ならびに/あるいはそれらの中で送信され得る。ネットワークアクションの例は、サービスティアード加入、特定のアプリケーションのゼロ格付け(たとえば、スパム、マルウェアとして識別されるか、またはネットワークにとってあまりにもリソース集中的である、アプリケーションクライアントへのサービスを拒否する)、サービス品質(QoS)を適用すること、法的に強制される監視要件を遵守すること、および正常動作しないアプリケーション(たとえば、アプリケーションクライアント用の通信パターンについての統計収集)を識別することを含む。
【００９６】
図7に示すメッセージフローは、HTTPSを介したメッセージ通信を含むが、他のアプリケーションレイヤ通信プロトコルが、図示するアプリケーショントラフィックペアリングメッセージを実装するのに使われ得ることが理解されよう。そのような代替プロトコルは、HTTP、SIP、FTP、TCP、SSH、リモートプロシージャコール(RPC)、ソケットセキュア(SOCKS)などを含む。
【００９７】
図8は、HTTPSを使ってアプリケーショントラフィックペアリングを再報告するためのメッセージフロー図を示す。図8に示すメッセージフローは、アプリケーションクライアント702が、図7に示すような少なくとも1つの事前トラフィックレポートを送信したと想定するので、「再報告」と呼ばれる。図8に示すエンティティは、図7のものと同じである。図7に示すフローと同様、図8に示すメッセージは、メッセージフローの説明の明瞭性を増すために省かれている中間エンティティを流れ得ることが理解されよう。さらに、図8において別個のエンティティとして図示される場合があるいくつかのエンティティは、単一エンティティに組み合わされてよいことが理解されよう。
【００９８】
アプリケーションクライアント702は、アプリケーションサーバ714とメッセージ(たとえば、アプリケーションデータフロー)を交換中であり得る。1つのメッセージ850が、アプリケーションクライアント702またはアプリケーションサーバ714が接続情報を変更中であることを示し得る。たとえば、アプリケーションサーバ714は、アプリケーションクライアント702用のサーバインスタンスを異なるIPアドレスに移動することを要するシステムワイドな負荷変化を受け得る。そのようなケースでは、UE704は、更新を示すためのメッセージ855をATPサーバ710に送信すればよい。いくつかの実装形態では、メッセージ855は、アプリケーションについてのレポート全体(たとえば、5タプルおよびアプリケーションクライアント識別子)を含み得る。そのようなメッセージは、上記のListing 3(表4)に示すものと同様に見えるはずである。いくつかの実装形態では、メッセージ855は、UE704用のアプリケーションクライアントすべての報告を含み得る。いくつかの実装形態では、メッセージ855は、アプリケーションクライアントについての、更新中の情報(たとえば、宛先IPアドレス)のみを含み得る。ATPサーバ710は、確認応答メッセージ860をUE704に送信すればよい。図8に示すように、確認応答メッセージ860はHTTPS 200 OKメッセージである。上記で説明したメッセージ770と同様、メッセージ865が、アプリケーションクライアント702向けのネットワーク使用に対するネットワークオペレータ制御を許可するために、PDNGW、DNS、およびATPサーバの間で、ならびに/またはそれらの中で送信され得る。
【００９９】
図8に示すメッセージフローは、HTTPSを介したメッセージ通信を含むが、他のアプリケーションレイヤ通信プロトコルが、図示するアプリケーショントラフィックペアリングメッセージを実装するのに使われ得ることが理解されよう。そのような代替プロトコルは、HTTP、SIP、FTP、TCP、SSH、RPC、SOCKSなどを含む。
【０１００】
図9は、HTTPSを使ってアプリケーショントラフィックペアリング報告規則を更新する方法のためのメッセージフロー図を示す。図9に示すメッセージフローは、報告規則に対する完全または漸進的な更新をUE704に提供するように実装され得る。図9に示すように、UE704は、ATPサーバ710から報告規則をフェッチする。図9に示すエンティティは、図7のものと同じである。図7に示すフローと同様、図9に示すメッセージは、メッセージフローの説明の明瞭性を増すために省かれている中間エンティティを流れ得ることが理解されよう。さらに、図9において別個のエンティティとして図示される場合があるいくつかのエンティティは、単一エンティティに組み合わされてよいことが理解されよう。
【０１０１】
メッセージ902を介して、UE704は、ATPサーバ710との通信パスを確立する。図示するように、確立される通信パスはTCP接続である。ATPサーバ710と通信パスが確立されると、メッセージ904がUE704からATPサーバ710に送信される。図示するように、メッセージ904はHTTPS GETメッセージである。メッセージ904は、上記のListing 1(表2)に示すメッセージと同様であり得る。それに応答して、ATPサーバ710は、要求されるURI向けのルーティング規則を生成する。ルーティング規則は、UE704に送信されるメッセージ906中に含まれる。メッセージ906は、Listing 2(表3)を参照して上記に示し、記載したメッセージと同様にフォーマットされ得る。
【０１０２】
図10は、HTTPSを使ってアプリケーショントラフィックペアリング報告規則を更新する別の方法のためのメッセージフロー図を示す。図9のフローがUEによって開始されている場合、図10のフローは、ATPサーバ710および/またはオペレータ加入管理システム712に開始されてよい。
【０１０３】
図10に示すエンティティは、図7のものと同じである。図7に示すフローと同様、図10に示すメッセージは、メッセージフローの説明の明瞭性を増すために省かれている中間エンティティを流れ得ることが理解されよう。さらに、図10において別個のエンティティとして図示される場合があるいくつかのエンティティは、単一エンティティに組み合わされてよいことが理解されよう。
【０１０４】
メッセージ1002を介して、UE704とATPサーバ710との間に通信パスが確立される。図示するように、確立される通信パスはTCP接続である。この通信パスは、UE704とATPサーバ710との間の「初期」報告または他の通信処理に応答して確立され得る。通信パスは、UE704またはATPサーバ710のいずれかによって始動されてもよい。
【０１０５】
接続が確立されている間、オペレータ加入管理システム712は、報告プロファイル変更メッセージ1004をATPサーバ710に送信することができる。メッセージ1004は、更新された報告プロファイル情報および/または新規報告プロファイル情報を含み得る。報告プロファイルの変更を示すメッセージ1006が、ATPサーバ710からUE704に送られる。図示するメッセージはプッシュ通知である。メッセージ1008およびメッセージ1010を介して、UE704は、上のメッセージ904およびメッセージ906と同様に、更新された報告プロファイル情報を要求し、受信する。したがって、ネットワークは、UE704に、報告プロファイル情報を取得させている。
【０１０６】
図11は、ショートメッセージングサービス(SMS)およびHTTPSを使ってアプリケーショントラフィックペアリング報告規則を更新する別の方法のためのメッセージフロー図を示す。いくつかのオペレータ加入管理システムが、ショートメッセージングサービスを介して報告規則を通信することが望ましい場合がある。これは、オペレータ加入管理システム用に既存のSMS通信経路が存在する場合の統合の容易性など、1つの利益を提供し得る。さらに、ユーザ機器は、回路交換ネットワーク上でキャンピングされ、確立されたパケットネットワーク接続を欠いている場合がある。1つのそのような例が、スマートメーターなどの機械間デバイスであり得る。図11のメッセージフローを通して、デバイスは、新規アプリケーショントラフィックペアリング規則の存在をアラートされ、規則の獲得を始めることができる。
【０１０７】
図11に示すエンティティは、図7のものを含む。図11は、ショートメッセージサービスセンター(SMSC)/メッセージセンター(MC)サーバ1150、ホームロケーションレジスタ/ホーム加入者サーバ(HLR/HSS)1155、メッセージサービスセンター(MSC)1160、および基地局1165も含む。図7に示すフローと同様、図11に示すメッセージは、メッセージフローの説明の明瞭性を増すために省かれている中間エンティティを流れ得ることが理解されよう。さらに、図11において別個のエンティティとして図示される場合があるいくつかのエンティティは、単一エンティティに組み合わされてよいことが理解されよう。
【０１０８】
オペレータ加入管理システム712は、SMSC/MCサーバ1150にメッセージ1102を送信する。図示するメッセージ1102は、アプリケーショントラフィックペアリング報告プロファイル情報を含むショートメッセージピアツーピア(SMPP)メッセージを含む。メッセージ1104を介して、SMSC/MCサーバ1150は、HLR/HSSサーバ1155から、UE704のネットワークアドレスを要求する。メッセージ1106は、UE704についてのネットワークアドレス情報を含む。取得したネットワークアドレス情報を使って、SMSC/MCサーバ1150は、UE704にメッセージ1108を送信する。メッセージ1108は、メッセージ1102のフォワードされたコピーであり得る。メッセージ1108は、MSC1160および/または基地局1165を介してUE704にフォワードされ得る。いくつかの実装形態では、メッセージ1108のユーザデータに含まれる宛先ポート情報の使用により、UE704は、メッセージ1108が構成SMSであると判断することができる。いくつかの実装形態では、UE704が3GPP2対応デバイスである場合、テレサービス情報はWEMT(たとえば、3GPP形式)に設定され得る。メッセージ1108を構成として識別する他の方法が、本開示の範囲から逸脱することなく実装されてよい。
【０１０９】
残りのメッセージ(たとえば、メッセージ1110、メッセージ1112、メッセージ1114、メッセージ1116、およびメッセージ1118)は、ATPサーバ710を発見し、ルーティング規則を取得するために送信される。これらのメッセージは、図7を参照して上記で説明したメッセージ725、730、735、740、および745と同様である。いくつかの実装形態では、ATPサーバ(またはそれに関連したポリシー管理機能)は、あらかじめ発見されている。そのような実装形態において、メッセージ1110および1112は省かれ得る。ATPサーバ(またはそれに関連付けられたポリシー管理サーバ)の十分に適格なドメイン名をSMSが含む実装形態では、メッセージ1110および1112は、適格サーバの発見を提供するために含まれ得る。
【０１１０】
アプリケーション報告規則は、接続サーバの使用も可能にし得る。接続サーバは、ワイヤレス通信デバイス用のアプリケーションおよび/または接続パッケージを供給するのに使われ得る。たとえば、接続サーバは、無制限またはバイト単位の価格設定など、2つの接続オプションとともに、ビデオアプリケーションを含み得る。他の接続オプションは、サービス品質オプション、アクセスの時間または持続時間(たとえば、夜間および週末または2時間)などを含み得る。
【０１１１】
図12は、接続プロビジョニングの例示的方法のためのメッセージフロー図を示す。メッセージフローは、図5に示すものと同様である。メッセージフローは、上記で説明したように、メッセージ502、メッセージ504、およびメッセージ506で始まり得る。メッセージ1202が、ワイヤレス通信デバイス402と接続サーバ1250との間で送信され得る。メッセージ1202は、利用可能アプリケーションおよび/または接続オプションのリストを含み得る。ワイヤレス通信デバイス402は、これらのオプションを提示し、アプリケーション/接続パッケージについての選択を受信するように構成され得る。ワイヤレス通信デバイス402は、選択されたパッケージについての支払い情報または課金認可(たとえば、マイワイヤレスアカウントに課金する)を受信するようにも構成され得る。メッセージ1204が、ワイヤレス通信デバイス402向けの選択を確認するために、接続サーバ1250からATPサーバ416に送信される。ATPサーバ416は次いで、メッセージ1206を介して、報告規則を上記で説明したように更新することができる。図12に示す残りのメッセージは、図5において上記で説明したものと同様である。
【０１１２】
図13は、接続プロビジョニングの別の例示的方法のためのメッセージフロー図を示す。メッセージフローは、図12に示すものと同様である。ただし、図12では、ネットワークがワイヤレス通信デバイスに接続情報をプッシュしており、図13は、ワイヤレス通信デバイスが、更新されたプロファイル情報をどのようにして要求し得るかを示す。
【０１１３】
フローは、図5および図12と同様に、メッセージ502、504、および506で始まる。図13のフローは、図12の上記で説明したメッセージ1202も含む。接続パッケージが選択されると、ワイヤレス通信デバイス402は、更新された報告規則についての要求メッセージ1304をATPサーバ416に送信する。要求は、接続パッケージ用の加入識別子など、ワイヤレス通信デバイス402を識別する情報を含み得る。ATPサーバ416は、ワイヤレス通信デバイス402用の報告規則を接続サーバ1250から取得し、確認すればよい。受信した報告規則に基づいて、ATPサーバ416は、報告規則応答メッセージ1306を生成し、ワイヤレス通信デバイス402に送信することができる。図13に示す残りのメッセージは、図5の上記で説明したものと同様である。
【０１１４】
図14は、アプリケーショントラフィックペアリングを含むネットワーク通信のためのデバイス1400の例についての機能ブロック図を示す。図示するデバイス1400は、本明細書に記載する特徴を示すのを助けるいくつかの構成要素を含む簡略化した図である。デバイス1400は、他の要素を含み、かつ/または他の機能を遂行するための代替もしくは追加のやり方で、図示する要素を構成し得ることが理解されよう。
【０１１５】
デバイス1400は、ポリシー受信機1402を含む。ポリシー受信機1402は、トラフィックフロー報告についての1つまたは複数のアプリケーション識別子を含むポリシー情報を受信するように構成される。ポリシー受信機1402は、アンテナ、受信機、送信機、信号プロセッサ、プロセッサ、およびメモリのうちの1つまたは複数を含み得る。いくつかの実装形態では、ポリシー情報を受信するための手段は、ポリシー受信機1402を含み得る。
【０１１６】
デバイス1400は、メモリ1404をさらに含む。メモリ1404は、受信されたポリシー情報を記憶するように構成される。メモリ1404は、静的メモリ、RAM、ROM、光学メモリ、メモリドライブ、ネットワークストレージ、セキュア要素、およびプロセッサのうちの1つまたは複数を使って実装され得る。いくつかの実装形態では、記憶するための手段はメモリ1404を含む。
【０１１７】
デバイス1400は、通信回路1406をさらに含む。通信回路1406は、プロセッサによって実行されるアプリケーション用の接続を開始し、維持し、監視するように構成される。通信回路1406は、モデム、ネットワークインターフェース、信号プロセッサ、トランシーバ、増幅器、およびプロセッサを含み得る。アプリケーションのためのネットワーク動作を識別するための手段は、通信回路1406を含み得る。
【０１１８】
デバイス1400は、ポリシーアナライザ1408も含む。ポリシーアナライザ1408は、アプリケーションについてのアプリケーション識別子を、ポリシー情報中に含まれる1つまたは複数のアプリケーション識別子と比較するように構成される。ポリシーアナライザ1408は、プロセッサ、メモリ、比較器、クロック、およびメモリを含み得る。アプリケーションについてのアプリケーション識別子を、ポリシー情報中に含まれる1つまたは複数のアプリケーション識別子と比較するための手段は、ポリシーアナライザ1408を含み得る。
【０１１９】
図示するデバイス1400は、送信機1410を含む。送信機1410は、ポリシー情報にアプリケーション識別子が含まれるとき、トラフィック記述子と、アプリケーションについてのアプリケーション識別子のうちの1つとを送信するように構成される。トラフィック記述子およびアプリケーション識別子のうちの1つは、アプリケーション用のトラフィックフローを一意に識別する。送信機1410は、アンテナ、信号ジェネレータ、増幅器、プロセッサ、およびメモリを含み得る。
【０１２０】
デバイス1400の要素は、バス1412を介して情報を交換することができる。いくつかの実装形態では、バス1412は、電力を交換するのにも使われ得る。
【０１２１】
図15は、アプリケーショントラフィックペアリングを含むネットワーク通信の方法の例についてのプロセスフロー図を示す。図15に示す方法は、図1、図2、図3、および図14におけるものなど、上記で示し、説明したデバイスのうちの1つまたは複数の中で実装可能である。ノード1505で、トラフィックフロー報告についての1つまたは複数のアプリケーション識別子を含むポリシー情報が受信される。ノード1510で、受信されたポリシー情報が記憶される。ノード1515で、アプリケーション用のネットワーク動作が識別される。ノード1520で、アプリケーションについてのアプリケーション識別子が、ポリシー情報中に含まれる1つまたは複数のアプリケーション識別子と比較される。ノード1525で、ポリシー情報にアプリケーション識別子が含まれるとき、トラフィック記述子およびアプリケーションについてのアプリケーション識別子のうちの1つが送信され、トラフィック記述子およびアプリケーション識別子のうちの1つは、アプリケーション用のトラフィックフローを一意に識別する。
【０１２２】
図16は、アプリケーショントラフィックペアリングを含むネットワーク通信のための別のデバイスの例についての機能ブロック図を示す。図示するデバイス1600は、本明細書に記載する特徴を示すのを助けるいくつかの構成要素を含む簡略化した図である。デバイス1600は、他の要素を含み、かつ/または他の機能を遂行するための代替もしくは追加のやり方で、図示する要素を構成し得ることが理解されよう。
【０１２３】
デバイス1600は、ポリシー送信機1602を含む。ポリシー送信機1602は、1つまたは複数のアプリケーションについてのポリシー情報を送信するように構成される。送信されるポリシー情報は、トラフィックフロー報告についての1つまたは複数のアプリケーション識別子を含み得る。ポリシー送信機1602は、アンテナ、送信機、電源、信号ジェネレータ、ネットワークインターフェース、メモリ、およびプロセッサのうちの1つまたは複数を含み得る。ポリシー情報を送信するための手段は、ポリシー送信機1602を含み得る。
【０１２４】
デバイス1600は、レポート受信機1604も含む。レポート受信機1604は、トラフィック記述子と、1つまたは複数のアプリケーションのうちのあるアプリケーションについての、アプリケーション識別子のうちの1つとを受信するように構成され、トラフィック記述子およびアプリケーション識別子のうちの1つは、アプリケーション用のトラフィックフローを一意に識別する。レポート受信機1604は、アンテナ、信号プロセッサ、受信機、メモリ、ネットワークインターフェース、プロセッサ、および比較器のうちの1つまたは複数を使って実装され得る。トラフィック記述子と、アプリケーション識別子のうちの1つとを受信するための手段は、レポート受信機1604を含み得る。
【０１２５】
デバイス1600の要素は、バス1606を介して情報を交換することができる。いくつかの実装形態では、バス1606は、電力を交換するのにも使われ得る。
【０１２６】
図17は、アプリケーショントラフィックペアリングを含むネットワーク通信の方法の別の例についてのプロセスフロー図を示す。図17に示す方法は、図1、図2、図3、および図16におけるものなど、上記で説明したデバイスのうちの1つまたは複数の中で実装可能である。
【０１２７】
ノード1705で、1つまたは複数のアプリケーションについてのポリシー情報が送信される。ポリシー情報は、トラフィック報告についての1つまたは複数のアプリケーション識別子を含む。ノード1710で、トラフィック記述子、および1つまたは複数のアプリケーションのうちのあるアプリケーションについての、アプリケーション識別子のうちの1つが受信される。トラフィック記述子およびアプリケーション識別子のうちの1つは、アプリケーション用のトラフィックフローを一意に識別する。
【０１２８】
当業者は、本明細書で開示される実施形態に関連して説明される様々な例示的な論理ブロック、モジュール、回路、およびアルゴリズムステップが、電子ハードウェア、コンピュータソフトウェア、または両方の組合せとして実装され得ることをさらに諒解されよう。ハードウェアおよびソフトウェアのこの互換性を明確に示すために、様々な例示的な構成要素、ブロック、モジュール、回路、およびステップは、一般的にそれらの機能性に関して上記で説明されてきた。そのような機能性をハードウェアとして実装するか、ソフトウェアとして実装するかは、特定の適用例および全体的なシステムに課される設計制約に依存する。当業者は、説明した機能性を特定の適用例ごとに様々な方法で実装し得るが、そのような実装の決定は、本発明の例示的な実施形態の範囲から逸脱を生じるものと解釈すべきではない。
【０１２９】
本明細書に開示される実施形態に関連して説明される様々な例示的な論理ブロック、モジュール、および回路は、汎用プロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)もしくは他のプログラマブル論理デバイス、個別のゲートもしくはトランジスタ論理、個別のハードウェア構成要素、または本明細書に説明される機能を実施するように設計されているそれらの任意の組合せを用いて実装または実施され得る。汎用プロセッサはマイクロプロセッサであり得るが、代替として、プロセッサは、任意のプロセッサ、コントローラ、マイクロコントローラ、または状態機械であり得る。プロセッサはまた、コンピューティングデバイスの組合せ、たとえば、DSPとマイクロプロセッサとの組合せ、複数のマイクロプロセッサ、DSPコアと連携する1つまたは複数のマイクロプロセッサ、あるいは任意の他のそのような構成として実装され得る。
【０１３０】
本明細書で開示する実施形態に関して説明する方法またはアルゴリズムのステップは、直接ハードウェアで具現化されるか、プロセッサによって実行されるソフトウェアモジュールで具現化されるか、またはその2つの組合せで具現化され得る。ソフトウェアモジュールは、ランダムアクセスメモリ(RAM)、フラッシュメモリ、読取り専用メモリ(ROM)、電気的プログラマブルROM(EPROM)、電気的消去可能プログラマブルROM(EEPROM)、レジスタ、ハードディスク、リムーバブルディスク、CD-ROM、または、当技術分野で既知である任意の、他の形態の記憶媒体中に存在することができる。例示的な記憶媒体は、プロセッサが記憶媒体から情報を読み取り、記憶媒体に情報を書き込むことができるように、プロセッサに結合される。代替として、記憶媒体はプロセッサと一体であり得る。プロセッサおよび記憶媒体はASIC中に存在し得る。ASICはユーザ端末内に存在し得る。代替として、プロセッサおよび記憶媒体は、ユーザ端末内に個別構成要素として存在することができる。
【０１３１】
1つまたは複数の例示的な実施形態では、説明される機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。ソフトウェアにおいて実現された場合、それらの機能は、1つまたは複数の命令またはコードとして、コンピュータ可読媒体上に記憶されるか、またはコンピュータ可読媒体によって送信され得る。コンピュータ可読媒体は、ある場所から別の場所へのコンピュータプログラムの転送を容易にする任意の媒体を含む、コンピュータ記憶媒体と通信媒体の両方を含む。記憶媒体は、コンピュータによってアクセスできる任意の利用可能な媒体であり得る。限定ではなく例として、そのようなコンピュータ可読媒体は、RAM、ROM、EEPROM、CD-ROMもしくは他の光ディスク記憶装置、磁気ディスク記憶装置もしくは他の磁気記憶デバイス、または、命令もしくはデータ構造の形式で所望のプログラムコードを搬送もしくは記憶するために使用され得るとともに、コンピュータによってアクセスされ得る任意の他の媒体を含み得る。また、任意の接続が適切にコンピュータ可読媒体と呼ばれる。たとえば、ソフトウェアが、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者回線(DSL)、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバーケーブル、ツイストペア、DSL、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。本明細書で使用する場合、ディスク(disk)およびディスク(disc)は、コンパクトディスク(disc)(CD)、レーザディスク(disc)、光ディスク(disc)、デジタル多用途ディスク(disc)(DVD)、フロッピーディスク(disk)およびブルーレイディスク(disc)を含み、ディスク(disk)は、通常、データを磁気的に再生し、一方ディスク(disc)は、データをレーザで光学的に再生する。上記の組合せも、コンピュータ可読媒体の範囲内に含まれるべきである。
【０１３２】
開示した例示的な実施形態の前の説明は、いかなる当業者も本発明を作成または使用できるようにするために提供される。これらの例示的な実施形態に対する様々な修正が当業者には容易に明らかになるであろうし、本明細書で定義する一般原理は、本発明の趣旨または範囲から逸脱することなく、他の実施形態に適用され得る。したがって、本発明は、本明細書に示す例示的な実施形態に限定されるものではなく、本明細書で開示する原理および新規の特徴に一致する最大の範囲を与えられるものである。
【０１３３】
特許請求の範囲は、上記に示した正確な構成および構成要素に限定されないことを理解されたい。特許請求の範囲から逸脱することなく、上記で説明された方法および装置の構成、動作および詳細に対して、様々な改変、変更および変形を行うことができる。
【０１３４】
前述は本開示の態様を対象とするが、本開示の他のさらなる態様は、それらの基本的な範囲から逸脱することなく考案されてよく、それらの範囲は、以下の特許請求の範囲によって判断される。
【符号の説明】
【０１３５】
100  ネットワーク環境
102  ワイヤレスデバイス、デバイス
104  通信ネットワーク
106  無線チャネル
108  無線選択システム
200  ワイヤレスデバイス、デバイス
202  プロセッサ
204  メモリ
206  アプリケーションレイヤ構成要素
208  接続エンジン
210  ネットワーキングモジュール
211  報告エンジン
212  TX/RX無線
214  通信バス
216  無線チャネル
218  プリロードライブラリ
220  ネットワーキングライブラリ
222  セキュア要素
302  ワイヤレスデバイス
304  プロセッサ
306  メモリ
308  筐体
310  送信機
312  受信機
314  トランシーバ
316  アンテナ
318  信号検出器
320  デジタル信号プロセッサ(DSP)
322  ユーザインターフェース
326  バスシステム
400  ネットワーク
402  ワイヤレス通信デバイス
404  基地局
406  第1の通信パス
408  パケットネットワークゲートウェイ(PGW)
410  第2の通信パス
412  ポリシー制御/課金規則機能(PCRF)サーバ
414  第4の通信パス
416  アプリケーショントラフィックペアリング(ATP)サーバ
418  第5の通信パス
420  第6の通信経路
450  第3の通信パス
455  アプリケーションサーバ
702  アプリケーションクライアント
704  ユーザ機器(UE)
706  パケットデータネットワークゲートウェイ(PDNGW)
708  ドメイン名サーバ
710  ATPサーバ
712  オペレータ加入管理システム
714  アプリケーションサーバ
1150  ショートメッセージサービスセンター(SMSC)/メッセージセンター(MC)サーバ
1155  ホームロケーションレジスタ/ホーム加入者サーバ(HLR/HSS)
1160  メッセージサービスセンター(MSC)
1165  基地局
1250  接続サーバ
1400  デバイス
1402  ポリシー受信機
1404  メモリ
1406  通信回路
1408  ポリシーアナライザ
1410  送信機
1412  バス
1600  デバイス
1602  ポリシー送信機
1604  レポート受信機
1606  バス
【図１】
0006346940.tif 000007
【図２】
0006346940.tif 000008
【図３】
0006346940.tif 000009
【図４】
0006346940.tif 000010
【図５】
0006346940.tif 000011
【図６】
0006346940.tif 000012
【図７】
0006346940.tif 000013
【図８】
0006346940.tif 000014
【図９】
0006346940.tif 000015
【図１０】
0006346940.tif 000016
【図１１】
0006346940.tif 000017
【図１２】
0006346940.tif 000018
【図１３】
0006346940.tif 000019
【図１４】
0006346940.tif 000020
【図１５】
0006346940.tif 000021
【図１６】
0006346940.tif 000022
【図１７】
0006346940.tif 000023