(57)【特許請求の範囲】
【請求項１】
優先値のグループから優先値を割り当てるために、モバイルコンピューティングプラットフォームにおいて使用される方法であって、前記優先値のグループは、連続的に順序付けられたリスト内で順序付けられ、前記連続的に順序付けられたリストは、複数のブロックへ分割され、前記各ブロックは、等しい数の優先値を含み、前記方法は、
（ａ）サービス品質（ＱＯＳ）要求を行う第１のアプリケーションから第１のフィルタグループを受け取ることであって、前記第１のフィルタグループは、前記第１のアプリケーションによって指定された第１の優先順位を有することと、
（ｂ）前記第１のフィルタグループの各フィルタに優先値を割り当てることであって、前記第１のフィルタグループのフィルタに割り当てられる優先値は、前記ブロックの１番目のブロックから連続した優先値であり、前記優先値は、前記第１のアプリケーションによって指定された第１の優先順位が維持されるように割り当てられることと、
（ｃ）前記ＱＯＳ要求を行う第２のアプリケーションから第２のフィルタグループを受け取ることであって、前記第２のフィルタグループは、前記第２のアプリケーションによって指定された第２の優先順位を有することと、
（ｄ）前記第２のフィルタグループの各フィルタに優先値を割り当てることであって、前記第２のフィルタグループのフィルタに割り当てられる優先値は、前記ブロックのうちの２番目のブロックから連続した優先値であり、前記優先値は、前記第２のアプリケーションによって指定された第２の優先順位が維持されるように割り当てられ、前記第２のブロックは、前記順序付けられたリストにおいて前記第１のブロックに隣接しており、前記第２のブロックの優先値は、前記第１のブロックの優先値よりも全て低い優先度であることと、
（ｅ）前記ブロックのうちの２番目のブロックから優先値を以前に割り当てられた前記第２のフィルタグループに対して、前記ブロックの１番目のブロックの優先値を再割当する再パック動作を選択的に実行することと
（ｆ）前記複数のブロックの一部が、複数の前記フィルタグループの前記各フィルタに割り当てられている場合に、前記フィルタが割り当てられていない前記ブロックであるホールのうちの最下部のホールを埋め、かつ前記最下部のホールよりも下部のフィルタをシフトアップするために必要な前記フィルタのみを前記最下部のホールよりも下部の前記ブロックに再割当することと
を備える方法。
【請求項２】
前記優先値を持つ前記ブロックのうちの１番目のブロック内に存在する優先値よりも少ない数のフィルタが、前記第１のグループに存在する請求項１に記載の方法。
【請求項３】
前記（ａ）において受け取られた第１のフィルタグループは、モバイル通信デバイスのオペレーティングシステム内に受け取られ、前記（ｂ）において割り当てられた優先値は、前記モバイル通信デバイスからネットワークルータへ通信され、前記方法は更に、前記ネットワークルータにおいて前記第１のフィルタグループを用いて、パケットをフィルタするステップを備え、
前記（ｃ）において受け取られた第２のフィルタグループは、前記モバイル通信デバイスのオペレーティングシステム内に受け取られ、前記（ｄ）において割り当てられた優先値は、前記モバイル通信デバイスから前記ネットワークルータへ通信され、前記方法は更に、
前記ネットワークルータにおいて前記第２のフィルタグループを用いて、パケットをフィルタするステップを備える請求項２に記載の方法。
【請求項４】
前記ネットワークルータは、前記第１のフィルタグループと、対応する通信チャネルとの間の関係を格納し、前記第１のフィルタグループを用いて、パケットをフィルタするステップは、
（ａ）パケットが、前記第１のグループ内の第１のフィルタとマッチするかを判定することであって、前記第１のフィルタは、前記第１のグループにおいて、最も高い優先度を持つフィルタであり、前記パケットが、前記第１のフィルタとマッチすると判定された場合には、前記パケットを、前記第１のフィルタに関連付けられた通信チャネルを介して前記モバイル通信デバイスへ通信することと、
（ｂ）前記パケットが未だに前記第１のグループ内のフィルタともマッチしないと判定され、かつ、前記第１のグループ内に別のフィルタが存在する場合には、前記フィルタが、前記第１のグループ内の次のフィルタとマッチするかを判定することであって、前記次のフィルタは、前記第１のグループにおいて、次に高い優先度を持つフィルタであり、前記パケットが、前記次のフィルタとマッチすると判定された場合には、前記パケットを、前記次のフィルタに関連付けられた通信チャネルを介して前記モバイル通信デバイスへ通信することと、
（ｃ）前記パケットが、前記第１のグループ内のフィルタとマッチすると判定されるまで、又は、前記パケットがマッチするフィルタが、前記第１のグループ内に存在しなくなるまで、ステップ（ｂ）を繰り返すことと
を備える請求項３に記載の方法。
【請求項５】
前記パケットが、割り当てられた優先値を有する前記ネットワークルータ内の何れかのフィルタとマッチするかを判定し、前記パケットが、割り当てられた優先値を有する前記ネットワークルータ内の何れのフィルタともマッチしないと判定された場合には、前記パケットを、デフォルト通信チャネルを介して前記モバイル通信デバイスに通信することを更に備える請求項４に記載の方法。
【請求項６】
前記第１の優先順位は、前記第１のアプリケーションによって、前記第１のフィルタグループのフィルタがオペレーティングシステムへ通信される順に指定される請求項１に記載の方法。
【請求項７】
前記（ａ）の受け取ること、前記（ｂ）の割り当てること、前記（ｃ）の受け取ること、及び、前記（ｄ）の割り当てることは、モバイル通信デバイスのオペレーティングシステムによって行なわれ、前記第１のアプリケーション及び前記第２のアプリケーションは、前記モバイル通信デバイス上のオペレーティングシステムと共に動作するアプリケーションである請求項１に記載の方法。
【請求項８】
前記複数のブロックは更に、第３のブロックと第４のブロックを含み、どのフィルタも前記第３のブロックから割り当てられた優先値を持っておらず、前記モバイル通信デバイスのオペレーティングシステムが、前記第４のブロックからの優先値のセットを、フィルタのセットに割り当て、前記第３のブロックと前記第４のブロックとは互いに隣接しており、前記第３のブロックの優先値は、前記第４のブロックの優先値よりも全て高い優先度であり、（ｅ）は更に、
前記フィルタのセットのうちの各フィルタが、前記第３のブロックから優先値が割り当てられ、前記第４のブロックから優先値が割り当てられないように前記フィルタのセットに優先値を再割当することを備える請求項７に記載の方法。
【請求項９】
（ｆ）前記（ｅ）において割り当てられた優先値を、前記モバイル通信デバイスからネットワークルータへ通信することと、
（ｇ）前記ネットワークルータ上の前記フィルタのセットを用いて、パケットをフィルタすることと
を更に備える請求項８に記載の方法。
【請求項１０】
前記複数のブロックのうちの１つは、最も低い優先度のブロックであり、（ｅ）は、フィルタが、前記最も低い優先度のブロックから優先値が割り当てられた場合に選択的に実行される請求項８に記載の方法。
【請求項１１】
再パック動作の前に、占有されたブロックのセットと、ホールブロックのセットとが存在し、占有されたブロックは、フィルタに優先値が割り当てられたブロックであり、ホールブロックは、どのフィルタにも優先値が割り当てられていないブロックであり、前記占有されたブロックのうちの１つは、前記ホールブロックのうちの何れよりも高い優先度を持つブロックであり、（ｅ）は更に、
前記占有されたブロックから前記フィルタに優先値が割り当てられないが、対応する高い優先度を持つブロックから優先値が割り当てられるように、前記占有されたブロックの各々に割り当てられた各フィルタへ優先値を再割当することであって、前記再パック動作の結果、前記占有されたブロックのセットがパックされ、前記再パック動作後、前記占有されたブロックのパックされたセットのうち最も低い優先度を持つブロックよりも高い優先度を持つホールブロックが存在しなくなることを備える請求項７に記載の方法。
【請求項１２】
前記（ａ）において受け取られた第１のフィルタグループは、前記モバイル通信デバイスのオペレーティングシステム内に受け取られ、前記（ｂ）において割り当てられた優先値が、前記第１のフィルタグループと共に前記モバイル通信デバイス上で使用され、前記モバイル通信デバイスからネットワークへ送信されたパケットをフィルタし、
前記（ｃ）において受け取られた第２のフィルタグループは、前記モバイル通信デバイスのオペレーティングシステム内に受け取られ、前記（ｄ）において割り当てられた優先値が、前記第２のフィルタグループと共に前記モバイル通信デバイス上で使用され、前記モバイル通信デバイスから前記ネットワークへ送信されたパケットをフィルタする請求項２に記載の方法。
【請求項１３】
前記（ａ）の受け取ることと、前記（ｂ）の割り当てることと、前記（ｃ）の受け取ることと、前記（ｄ）の割り当てることとは、オペレーティングシステムによって実行され、前記複数のアプリケーションは、前記オペレーティングシステムと共に実行することが可能であり、前記複数のアプリケーションの各々は、前記順序付けられたリスト内のブロックのうちの別のブロックに関連付けられ、前記複数のアプリケーションのうちのアプリケーションの立ち上げ、及び、終了の順序に関わらず、アプリケーションによって指定されたフィルタに、前記アプリケーションに関連するブロックからの優先値のみが割り当てられる請求項１に記載の方法。
【請求項１４】
モバイル通信デバイスであって、
第１のフィルタグループを提供し、かつ、前記第１のフィルタグループのための第１の優先順位を指定し、サービス品質（ＱＯＳ）要求を行う第１のアプリケーションと、
第２のフィルタグループを提供し、かつ、前記第２のフィルタグループのための第２の優先順位を指定し、前記ＱＯＳ要求を行う第２のアプリケーションと、
前記第１のフィルタグループを受け取り、前記第１のフィルタグループの各フィルタに、優先値を割り当てるオペレーティングシステムとを備え、
前記第１のフィルタグループのフィルタに割り当てられた優先値は、第１のブロックの優先値から連続した優先値であり、前記優先値は、前記第１のアプリケーションによって指定された第１の優先順位が維持されるように割り当てられ、前記オペレーティングシステムはまた、前記第２のフィルタグループを受け取り、前記第２のフィルタグループの各フィルタに優先値を割り当て、前記第２のフィルタグループのフィルタに割り当てられた優先値は、第２のブロックの優先値から連続した優先値であり、前記第１及び第２のフィルタブロックが、前記連続したブロックのうちの２つの連続したブロックになるように、複数の連続した優先値が、複数のブロックにグループ化され、前記オペレーティングシステムは、前記第２のブロックから優先値を以前に割り当てられた前記第２のフィルタグループに対して、前記第１のブロックの優先値を再割当する再パック動作を更に選択的に実行し、前記複数のブロックの一部が、複数の前記フィルタグループの前記各フィルタに割り当てられている場合に、前記フィルタが割り当てられていない前記ブロックであるホールのうちの最下部のホールを埋め、かつ前記最下部のホールよりも下部のフィルタをシフトアップするために必要な前記フィルタのみを前記最下部のホールよりも下部の前記ブロックに再割当するモバイル通信デバイス。
【請求項１５】
前記オペレーティングシステムは、前記第１のフィルタグループのフィルタと、前記第２のフィルタグループのフィルタとを、ネットワークルータへ通信する請求項１４に記載のモバイル通信デバイス。
【請求項１６】
前記オペレーションシステムは、前記第１のフィルタグループのフィルタに割り当てられた優先値と、前記第２のフィルタグループのフィルタに割り当てられた優先値とをネットワークルータに通信する請求項１４に記載のモバイル通信デバイス。
【請求項１７】
前記第１のフィルタグループ内に存在するフィルタよりも多い優先値が、優先値を持つ第１のブロック内に存在し、前記第２のフィルタグループ内に存在するフィルタよりも多い優先値が、優先値を持つ第２のブロック内に存在する請求項１４に記載のモバイル通信デバイス。
【請求項１８】
モバイル通信デバイスであって、
第１のフィルタグループを提供し、かつ、前記第１のフィルタグループのための第１の優先順位を指定し、サービス品質（ＱＯＳ）要求を行う第１のアプリケーションと、
第２のフィルタグループを提供し、かつ、前記第２のフィルタグループのための第２の優先順位を指定し、前記ＱＯＳ要求を行う第２のアプリケーションと、
前記第１のフィルタグループを受け取り、前記第１のフィルタグループの各フィルタに、優先値を割り当てる手段とを備え、
前記第１のフィルタグループのフィルタに割り当てられた優先値は、第１のブロックの優先値から連続した優先値であり、前記優先値は、前記第１のアプリケーションによって指定された第１の優先順位が維持されるように割り当てられ、前記手段はまた、前記第２のフィルタグループを受け取り、前記第２のフィルタグループの各フィルタに優先値を割り当て、前記第２のフィルタグループのフィルタに割り当てられた優先値は、第２のブロックの優先値から連続した優先値であり、前記第１及び第２のフィルタブロックが、前記複数のブロックのうちの２つの隣接したブロックになるように、複数の連続した優先値が、複数のブロックにグループ化され、前記手段は、前記第２のブロックから優先値を以前に割り当てられた前記第２のフィルタグループに対して、前記第１のブロックの優先値を再割当する再パック動作を選択的に実行もし、前記手段は、前記複数のブロックの一部が、複数の前記フィルタグループの前記各フィルタに割り当てられている場合に、前記フィルタが割り当てられていない前記ブロックであるホールのうちの最下部のホールを埋め、かつ前記最下部のホールよりも下部のフィルタをシフトアップするために必要な前記フィルタのみを前記最下部のホールよりも下部の前記ブロックに再割当もするモバイル通信デバイス。
【請求項１９】
前記手段はまた、前記第１のフィルタグループのフィルタと、前記第２のフィルタグループのフィルタとをネットワークルータへ通信し、前記第１のフィルタグループ内に存在するフィルタよりも多い優先値が、優先値を持つ第１のブロック内に存在する請求項１８に記載のモバイル通信デバイス。
【請求項２０】
モバイル通信デバイスに内蔵されたプロセッサ読取可能媒体に格納されたプロセッサ実行可能な命令のセットであって、連続して順序付けられた複数の優先値が、優先値を持つ複数のブロックにグループ化され、前記プロセッサ実行可能な命令のセットは、
（ａ）サービス品質（ＱＯＳ）要求を行うアプリケーションからフィルタを受け取り、前記受け取られたフィルタに、優先値のブロックのうちの対応する１つのみから優先値が割り当てられるように、前記アプリケーションのフィルタへ優先値をブロックベースで割り当てることであって、前記アプリケーションから受け取られたフィルタは、前記優先値を持つ対応するブロック内に存在する優先値よりも少ないことと、
（ｂ）前記（ａ）で受け取られたフィルタを、フィルタ優先順位の表示とともにネットワークデバイスへ通信することと、
（ｃ）前記（ｂ）で通信されたフィルタのうちの少なくとも１つとマッチする第１のパケットを受け取り、前記第１のパケット内の情報を前記アプリケーションへ転送することと、
（ｄ）前記ＱＯＳ要求を行う第２のアプリケーションから受け取られた第２のフィルタに、前記優先値のブロックのうちの第２のブロックから、優先値が割り当てられるように前記ステップ（ａ）を繰り返すことと、
（ｅ）前記（ｄ）で受け取られたフィルタを、フィルタ優先順位の表示とともに前記ネットワークデバイスへ通信することと、
（ｆ）前記（ｅ）で通信されたフィルタのうちの少なくとも１つとマッチする第２のパケットを受け取り、前記第２のパケット内の情報を前記第２のアプリケーションへ転送することと、
（ｇ）より低いレベルのブロックから優先値を割り当てられたフィルタは、より高いレベルのブロックから優先値を持つように再割当されるように優先値をフィルタに再割当する再パック動作を選択的に実行し、前記複数のブロックの一部が、複数の前記フィルタグループの前記各フィルタに割り当てられている場合に、前記フィルタが割り当てられていない前記ブロックであるホールのうちの最下部のホールを埋め、かつ前記最下部のホールよりも下部のフィルタをシフトアップするために必要な前記フィルタのみを前記最下部のホールよりも下部の前記ブロックに再割当することであって、前記より高いレベルのブロックの前記優先値は、前記より低いレベルのブロックの前記優先値よりもよりも全て高い優先度であることと
からなる各ステップを実行するプロセッサ実行可能な命令のセット。
【請求項２１】
前記（ａ）乃至（ｆ）のステップは、モバイル通信デバイス上で動作するオペレーティングシステムによって実行される請求項２０に記載のプロセッサ実行可能な命令のセット。
【請求項２２】
（ｇ）第４のブロックから優先値が割り当てられたフィルタが、第３のブロックからの優先値を持つように再割当されるように優先値をフィルタに再割当することを更に備え、
前記第３のブロックの優先値は、前記第４のブロックの優先値よりも全て高い優先度である請求項２１に記載のプロセッサ実行可能な命令のセット。
【請求項２３】
（ｈ）フィルタ優先順位の表示を前記ネットワークデバイスに通信するステップを更に実行し、
前記フィルタ優先順位は、前記ステップ（ｇ）において優先値が再割当されたフィルタ用である請求項２２に記載のプロセッサ実行可能な命令のセット。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示された実施形態は、一般に、モバイル通信デバイスのサービス品質の使用に関する。
【背景技術】
【０００２】
（優先権の主張）
本願は、２００５年６月２７日に出願された米国仮出願６０／６９４，７２４号への優先権を主張する。
【０００３】
セルラ電話は、もはや音声情報のみの通信には使用されておらず、オペレーティングシステムやアプリケーションプログラムを有するモバイルコンピュータプラットフォームである。そのような１つのアプリケーションによって、例えば、セルラ電話のユーザが、インターネット上のサーバから受信した音楽を聴くことが可能となる。他のそのようなアプリケーションは、例えば、音声情報を、パケット交換ネットワークを介してＩＰパケットで通信することを可能にするボイスオーバＩＰ（ＶｏＩＰ）アプリケーションである。しばしば、ユーザに対して、セルラ電話のディスプレイ上に、多数のアプリケーションプログラムを表わすアイコンが示される。希望のアプリケーションを立ち上げるために、ユーザは希望のアプリケーションのアイコンをクリックすることができる。そのような多数のアプリケーションプログラムは、同時に実行可能である。従来、アプリケーションプログラムの各々は、割り当てられた帯域幅やレイテンシのような与えられた多くのネットワークリソースを有していない。アプリケーションプログラムに利用可能な適切なネットワークリソースがあれば、アプリケーションは、満足できる方法で動作するだろう。適切なネットワークリソースが利用可能ではない場合、そのアプリケーションプログラムは十分に動作しないかもしれない。１つのアプリケーションは、アプリケーションの動作に悪影響を及ぼすハイレベルのネットワークリソース（例えば、オーバザエアチャネル帯域幅、ＲＦ電力）を消費しうる。
【０００４】
モバイル通信デバイス上のアプリケーションが、適切なレベルのネットワークリソースを受け取ることを保証するために、メカニズムは、ＩＰトラフィックのためのサービス品質（ＱＯＳ）を明示するために適用されている。モバイル通信デバイス上で動作するアプリケーションは「ＱＯＳ要求」を行い、これによって、ネットワークリソースは、アプリケーションによる使用のために特化され、もって、このアプリケーションが、良好に動作できるようになる。ＱＯＳを用いることによって、有限量のネットワークリソースが、多数の異なるアプリケーションに割り当てられるようになる。アプリケーションは、一般に、「フィルタ仕様」及び「フロー仕様」を発行することにより、ＱＯＳを要求する。フィルタ仕様は、フロー仕様によって識別されるＱＯＳを受け取るフローに属するパケットを識別する方法を示す。フィルタ仕様は、例えば、パケットのヘッダのあるフィールドにおける値の範囲を指定することにより、パケットを指定する。指定されたフィールドが、フィルタによって指定された範囲に値を持っている場合、パケットはフロー内にあると定義される。一般に、任意のプロトコル又はアプリケーション特有のヘッダは、フィルタ仕様を指定するために使用されるパラメータの中にある。フロー仕様は、フローに提供されるＱＯＳを指定する。フロー仕様は、一般に、フィルタ仕様を満足するパケットに要求されるデータレートと、要求されるレイテンシの量とを指定する。
【０００５】
所望の量のネットワークリソースを得るために、モバイル通信デバイス上で動作する「ＱＯＳ  ａｗａｒｅ」アプリケーションは、モバイル通信デバイス上で動作するオペレーティングシステムのプロトコル処理スタックにフィルタを提供する。オペレーティングシステムのスタックは、ネットワークルータ内のオペレーティングシステムに、各フィルタを優先値と共に送る。セルラネットワークがＣＤＭＡネットワークである場合、ネットワークルータは、一般に、ＰＤＳＮ（Packet Data Serving Node）ルータである。セルラネットワークがＷ−ＣＤＭＡネットワーク又はＧＰＲＳネットワークである場合、ネットワークルータは一般にＧＧＳＮ（GPRS Gateway Serving Node）ルータである。このフィルタ及び優先値は、オーバザエアプロトコルを用いて、モバイル通信デバイスからネットワークルータへ送られる。フィルタ及び優先値を指定するためのオーバザエアシグナリングプロトコルは、適用されている無線ネットワークの特定のタイプに指定される。例えば、３ＧＰＰ（第３世代パートナシッププロジェクト）規格体系は、ＷＣＤＭＡネットワーク、ＧＳＭ（登録商標）ネットワーク、及びＧＰＲＳネットワークのためのフィルタ及び優先値を指定するためのプロトコルを定義した。３ＧＧＰ２（第３世代パートナシッププロジェクト２）規格体系は、ＣＤＭＡ２０００ネットワーク及びＣＤＭＡ  ＥＶ−ＤＯネットワークのためのフィルタ及び優先値を指定するためのプロトコルを定義した。
【０００６】
ネットワークルータはフィルタ及び優先値を受け取り、次に、各フィルタをチャネルに関連付ける。一例では、モバイル通信デバイスが、フロー仕様を、ネットワークルータへ転送する。ネットワークルータは、フロー仕様におけるＱＯＳパラメータを満足するようにモバイル通信デバイスへ戻されるフィルタにマッチするパケットを通信するために、多数の通信チャネルのうちの何れが適用されるかを決定する。着信パケットは、最も高い優先値（最大の優先度）を持つフィルタと比較される。パケットがフィルタとマッチする場合、パケットは、フィルタに関連付けられた通信チャネルを用いてモバイル通信デバイスへ送られる。着信パケットが、最も高い優先値を持つフィルタとマッチしない場合、ネットワークルータは、このパケットを、次に高い優先値を持つフィルタと比較する。従って、フィルタは、それらの優先値の順に適用される。
【０００７】
同様に、ネットワークルータを介したモバイル通信デバイスからネットワークへのパケットの送信に使用されるフィルタのリストが存在する。モバイル通信デバイス上で動作するアプリケーションは、モバイル通信デバイスのオペレーティングシステムにフィルタ仕様及びフロー仕様を提供する。各フィルタは、割り当てられたユニークな優先値を有する。オペレーティングシステムは、モバイル通信デバイスからネットワークルータへパケットを通信するために、通信チャネルに各フィルタを関連付ける。アプリケーションからパケットを受け取ると、モバイル通信デバイスのオペレーティングシステムは、パケットをフィルタと照合する。パケットがフィルタにマッチする場合、パケットは、フィルタに関連付けられたチャネルを用いてネットワークルータへ転送される。
【０００８】
アプリケーションプログラムは、ネットワークルータによる使用のために、同じ又は異なるフロー仕様に関連付けられた多数のフィルタを指定することができる。幾つかの状況では、異なるフロー仕様に対して同じアプリケーションによって指定されたフィルタ、又は、異なるフロー仕様に対して異なるアプリケーションによって指定されたフィルタは重複する（同じパケットが、両方のフィルタとマッチする）。以下は、着信パケットに対する２つの重複するフィルタの例である。
【表１】
0005242751.tif 000002
【０００９】
第１のフィルタ仕様を持つ第１のフィルタは、ＴＣＰソースポート１５０を有し、あらゆるパケットを通過させる。このフィルタにおける０である宛先ポートは、ワイルドカードであり、どの値ともマッチする。第２のフィルタ仕様におけるフィルタは、１００から２００までのＴＣＰソースポートを用いて、あらゆるパケットを通過させる。ネットワークルータは、マッチが見つかるまで、フィルタの優先値の順に、１つずつ２つのフィルタを適用する。以下は、フィルタの１つの順序である。
【表２】
0005242751.tif 000003
【００１０】
第１のフィルタ仕様にマッチする場合、パケットは第１のアプリケーション用であり、このパケットはチャネル１を用いて転送される。第２のフィルタ仕様にマッチする場合、パケットは第２のアプリケーション用であり、このパケットはチャネル２を用いて転送される。ＴＣＰソースポート１５０を有するパケットは、第１のフィルタ仕様と第２のフィルタ仕様との両方とマッチするので、どのフィルタ仕様が最初に適用されるのかに依存して、異なる通信チャネルが使用されうる。
【００１１】
一例では、モバイル通信デバイスのオペレーティングシステムが、アプリケーションがフィルタをセットアップする順にフィルタ優先値を割り当てる。フィルタを指定する第１のアプリケーションは、最も高い優先度が割り当てられる。フィルタを指定する次のアプリケーションは、次に高い最優度が割り当てられる。以下同様。しかしながら、アプリケーションは、任意の時間において、異なる順番で立ち上げることができる。従って、アプリケーションを立ち上げる順番は変わりうる。そして、これは、ネットワークルータに通信されると、フィルタの優先値に影響を与える。フィルタが異なる順に適用されれば、様々なアプリケーションへ拡張されるＱＯＳは、異なってくるだろう。これは望ましくない。
【００１２】
更に、アプリケーションは、そのフィルタを変更することができる。例えば、上述したようなストリーミングオーディオアプリケーションは、インターネット上の第１のサーバから、ルータを経由してストリーミングオーディオを受信しうる。そして、そのアプリケーションは、異なるサーバからオーディオコンテンツを受信するために、切り換わるべきであることを知る。これを行うために、アプリケーションは、所謂「ＱＯＳ変更手順」で、既存のフィルタを変更することができる。これによって、マッチするパケットは、第１のサーバではなく、第２のサーバから発せられているパケットとなる。この方式によって、フロー仕様又はフィルタ仕様のうちの何れか、又はこれら両方を変更することができる。フィルタが変更される場合、フィルタの優先値が変わるのであれば、そのアプリケーションへと拡張されたＱＯＳも変わりうる。また、動作中のアプリケーションへ拡張されたＱＯＳにおける変化は、望ましくない。ＱＯＳにおける変化は望ましくないのみならず、優先値を変える動作は、モバイル通信デバイスとセルラネットワークとの間のオーバジエアシグナリングに従事することを含む。
【発明の概要】
【００１３】
動作中のアプリケーションへ拡張されたＱＯＳの変化を回避し、かつ、ＱＯＳメカニズムのサポートに含まれる通信オーバヘッドの量を低減する解決策が望まれる。
【００１４】
第１の斬新な局面では、優先値のグループが、連続した優先値のリスト内で順序付けられる。このリストは、優先値からなる多くのブロックからなる。モバイル通信デバイス（例えばセルラ電話）のオペレーティングシステムは、モバイル通信デバイス上で動作しているアプリケーションからフィルタを受け取る。アプリケーションから受け取られたフィルタは、アプリケーションによって指定された優先順位を有する。オペレーティングシステムは、各フィルタに優先値を割り当てる。この優先値は、利用可能で最も高い優先度を持つリスト内のブロックから得られる。ブロックの優先値は、アプリケーションによって指定された優先順を維持できるように、フィルタに割り当てられる。
【００１５】
一旦割当が作成されると、フィルタ及びその優先値が、モバイル通信デバイスから、その優先値の順番に従ってフィルタを適用することによってパケットをフィルタするエンティティへと通信される。例えば、このエンティティはネットワークルータでありうる。ネットワークルータは、パケットを受信し、割り当てられた優先値によって示される順番で、１度に１つのフィルタにマッチさせることを試みる。パケットがフィルタとマッチしていると判定された場合には、このパケットがネットワークルータから、フィルタに関連する通信チャネルを介して、モバイル通信デバイスへと転送される。この通信チャネルは、一般には、アプリケーションによって所望されるサービス品質（ＱＯＳ）特性を有する。このパケットが、何れのフィルタにもマッチしないと判定されたものの、未だにモバイル通信デバイスへ向けられているのであれば、このパケットは、デフォルトの通信チャネルを介してモバイル通信デバイスへ転送される。このデフォルトの通信チャネルは一般には、保証されたＱＯＳ特性を有していない。従って、アプリケーションのフィルタに割り当てられた優先値が、同じブロックから取得され、優先値割当のために、オペレーティングシステムにフィルタを提供する各アプリケーションについて、そのようなブロックが１つ存在する。フィルタ優先値のブロックベースの割当によって、アプリケーションのためのフィルタが、他のアプリケーションのための他のフィルタの優先値に影響を与えずに追加され、削除され、修正される。例えば、アプリケーションが、割当のために追加フィルタを提示する場合、オペレーティングシステムは、この追加フィルタに対して、このアプリケーションに対応するブロック内の次に高い優先値を割り当てる。例えば、アプリケーションのフィルタが削除されることになっている場合、アプリケーションに対応するブロック内の優先値は、もはや割り当てられず、他のブロックの割当が妨害されない。同様に、アプリケーションのフィルタが修正されることになっている場合、この修正は、他のブロックから割り当てられたフィルタの優先値を変更することなく行われる。
【００１６】
第２の斬新な局面では、アプリケーションが、優先値割当のためにオペレーティングシステムにフィルタを提示し、かつ、リストにおいて最低の優先度を持つブロックが利用可能でなく、このリストに未使用のブロックが存在するのであれば、未使用のブロックを埋めるために、再パック（repacking）動作が実行される。そのような未使用のブロックは「ホール」とも呼ばれる。再パック動作では、１つのブロックから以前に優先値が割り当てられたフィルタが、別のブロックからの優先値を持つように再び割り当てられる。従って、割り当てられた優先値は、ホール（以前に使用されていないブロック）内の優先値が埋められ、かつ、１又は複数の未使用のブロックが、リストの最後（リストのうち低い優先度の最後）において開くように、ブロックベースでシフトされる。１つの実施形態では、リスト内の全てのホールが、再パック動作において埋められる。別の実施形態では、最低の優先度を持つホールのみが埋められ、これによって、再パック動作に含まれる優先値再割当の量を減らす。
【００１７】
再パック動作後は、リストの最後（リストのうち低い優先度の最後）において、１又は複数の未使用のブロックが利用可能である。これらブロックのうち最も高い優先度からの優先値が、アプリケーションによって、オペレーティングシステムへ提示されたフィルタに割り当てられる。その優先値が再パックにおいて再び割り当てられるフィルタのための優先情報は、フィルタエンティティへ通信される。提示されたフィルタ及び関連する割り当てられた優先値もまた、このフィルタテンティティに通信される。このフィルタエンティティは、関連する全てのフィルタを優先順に適用するために、フィルタ及び優先情報を使用する。再パック動作によるブロック毎のシフトによって、フィルタエンティティによって以前に適用されたフィルタの優先順は、（フィルタの様々な優先値が変えられても）再パックによって変えられない。新たに提示されたフィルタは、優先値が最も低い利用可能なブロックから割り当てられた優先値を有し、従って、以前に適用された全てのフィルタの優先値よりも低い優先値を持つ。
【００１８】
１つの有利な局面では、最低の優先度を持つホールのみが埋められるように再パック動作が実行されるのであれば、この再割当の結果を通信する必要があるネットワークルータとモバイル通信デバイスとの間のオーバザエアシグナリングの量が低減される。更に、リスト内の他のホールを埋めること、及び、関連するオーバザエアシグナリングは、フィルタが使用されていない場合、永久に回避されるかもしれない。フィルタが使用されていない場合、リスト内の全てのブロックが利用可能である。アプリケーションが次に、割当のために、オペレーティングシステムにフィルタを提示する場合、この新たに提示されたフィルタは、最も高い優先度のブロックから優先値が割り当てられるだろう。ブロックの使用は、リスト内において、最も高い優先度のブロックから、ブロック毎にダウンして進むので、再パックに対する以前の必要性は回避され、関連するオーバザエアシグナリングのオーバヘッドが発生する必要はない。
【００１９】
１つの実施形態では、各アプリケーションが、予め割り当てられた優先フィルタ値のブロックを持つ。アプリケーションによって指定されたフィルタは、ブロックから、優先フィルタ優先値が割り当てられる。従って、アプリケーションを立ち上げる順番は、様々なアプリケーションに割り当てられたブロックに影響を与えない。従って、アプリケーションを立ち上げる順番は、フィルタの優先値、又は、様々なアプリケーションへ拡張されたＱＯＳに影響を与えない。
【００２０】
追加の実施形態及び詳細が、詳細説明において記述される。本要約は、本発明を定義することを意味していない。本発明は特許請求の範囲によって定義される。
【図面の簡単な説明】
【００２１】
【図１】図１は、フィルタに優先値を割り当てる斬新な方法を使用するシステムの簡略図である。
【図２】図２は、図１のシステムにおけるネットワークルータ及びモバイル通信デバイスの拡大図である。
【図３】図３は、フィルタスロットのリスト、及び、対応するフィルタ優先値のリストの図である。
【図４】図４は、図１のシステムの動作の一例におけるフィルタに、優先値を割り当てるために、図３のリストを用いることに含まれるフローチャート表示である。
【図５】図５は、１つの実施形態に従って優先値を再割当するために利用可能な第１の再パック動作の図である。
【図６】図６は、別の実施形態に従って優先値を再割当するために利用可能な第２の再パック動作の図である。
【発明を実施するための形態】
【００２２】
図１は、１つの斬新な実施形態に従ったシステム１の簡略図である。モバイル通信デバイス２（この場合、セルラ電話）は、インターネット４上のサーバ３から、ストリーミングオーディオＩＰパケットを受信している。用語「移動局」は、用語「モバイル通信デバイス」の代わりにしばしば使用される。
【００２３】
ストリーミングオーディオＩＰパケットは、サーバ３から、インターネット４を介して、ＰＤＳＮ（Packet Data Serving Node）ネットワークルータ５を介して、ハードワイヤリンク７を通ってセルラ電話ネットワーク６（この場合、ＣＤＭＡネットワーク）を介して、ＲＡＮ（ラジオアクセスネットワーク）８に送られ、更に無線リンク９を通って、モバイル通信デバイス２に渡される。ストリーミングオーディオアプリケーションプログラム１０は、モバイル通信デバイス２内のオペレーティングシステム（ＯＳ）１１上で動作する。ＩＰパケットのオーディオコンテンツペイロードは、ストリーミングオーディオアプリケーション１０によって受信され、音楽の形態でユーザに提供される。ストリーミングオーディオパケットに適切な帯域幅及びレイテンシを保証するために、アプリケーション１０は、フロー仕様及びフィルタ仕様を指定し、オペレーティングシステム１１にこれら仕様を提供する。本例におけるフロー仕様は、必要な最大のエンドトゥエンドレイテンシ、必要な最小データレート、最小フローレート、最大誤り率、トラフィッククラス値、及び、トラフィックハンドリング優先値を指定する。この例は、多くのパラメータを指定しているが、フロー仕様の他の例は、これらパラメータのうちのサブセットのみを指定するか、又は、これらパラメータのうちの２〜３のみを指定するか、又は、１つのみのパラメータを指定する。このようなフィルタ仕様は、フロー仕様によって定義されたＱＯＳ（サービス品質）を受け取るためのパケットフローを定義するフィルタ１２を含む。フィルタ１２は、アプリケーション１０からオペレーティングシステム１１へ通知される。一方、オペレーティングシステム１１は、ＰＤＳＮネットワークルータ５のシステムソフトウェア１３へと、フィルタを優先値とともに通信する。システムソフトウェア１３は、このフィルタに通信チャネルを関連付ける。一例では、システムソフトウェア１３が、フィルタ１２及びフロー仕様を受け取る。そして、システムソフトウェア１３は、リンク７を介してＲＡＮ８と通信し、ＲＡＮ８に対して、多数の通信チャネルのうちのどれが使用されるべきかを尋ねる。この通信チャネルは、ＲＡＮ８とモバイル通信デバイス２との間のオーバザエア無線通信チャネルである。図示する例では、第１の通信チャネル１４（図２）が、高いデータレート及び低いレイテンシで、モバイルデバイスへパケットを戻すことができる。チャネルはＲＬＰ（無線リンクプロトコル）インスタンスである。ＲＡＮ８は、フロー仕様内の要求を、利用可能なチャネルと比較し、適切なチャネルを識別し、識別されたチャネルを、ネットワークルータ５内のシステムソフトウェア１３に通知する。システムソフトウェア１３は、フィルタを、識別されたチャネルと紐付ける。図２では、ストリーミングオーディオアプリケーション用フィルタ１２が、ネットワークルータ５内のフィルタリスト１６内に図示される。
【００２４】
図２は、モバイル通信デバイス２内のストリーミングオーディオアプリケーション１０が、どのようにしてオペレーティングシステム１１にフィルタ１２を提供するかを示す拡大図である。オペレーティングシステム１１は、優先値をフィルタ１２に割り当て、フィルタ、優先値、及びフロー仕様を、ネットワークルータ５のシステムソフトウェア１３へ送る。システムソフトウェア１３は、このフロー仕様を用いて、パケットをモバイルデバイスを戻すのに適切なチャネルを識別し、このチャネルを、フィルタ１２に紐付ける。着信パケット１７がネットワークルータ５上で受信された場合、システムソフトウェア１３が、この着信パケット１７を、最大の優先度（最も低い優先番号）を持つフィルタとマッチさせる。この例では、これはフィルタ１２である。着信パケットがフィルタ１２とマッチする場合、ネットワークルータ５は、フィルタ１２に関連付けられた特定のチャネル１４を介して、このパケットをモバイル通信デバイス１２へ転送する。この例では、１つのフィルタのみが存在する。フィルタとマッチしない着信パケットは、ＱＯＳ保証を持たないデフォルトチャネル１５（チャネル２）を介してモバイル通信デバイス２へ転送される。
【００２５】
図３は、フィルタスロットのリストと、対応するフィルタ優先値のリストのブロック図である。この２つのリストは「フィルタ優先リスト」３３と呼ばれる。連続したフィルタ優先値のリストは、優先値のブロックへ分割される。ブロックはそれぞれ等しい数の優先値を持っている。各優先値のフィルタスロットがある。フィルタが、フィルタスロットのリスト内のスロットに割り当てられる場合、このフィルタは、スロットの優先値を割り当てられる。フィルタ優先リスト３３は、モバイルデバイス２内のオペレーティングシステム１１によって保持される。この図は、フィルタに優先値を割り当てるために使用されるオペレーティングシステム１１内のリスト３３の仮想表現である。５０の利用可能な優先フィルタスロットが図示されている。フィルタスロットの優先値は、図３において、スロットのすぐ左側に現われる値である。この利用可能な５０の優先値は、アプリケーションによって使用されることを許可されたフィルタの予め定めた最大数によって除される。本例において、アプリケーションは、最大５つのフィルタを使用することができる。その結果得られる商は、優先値のブロック数である。図示する例では、１０のブロックがある。５つの優先値を持つ各ブロックはそれぞれ、フィルタスロットのリスト内に、対応するフィルタスロットのブロックを有する。優先値のリストの先頭における優先値（優先値１）は、最も高い優先度の優先値である。優先値のリストの最後における優先値（優先値５０）は、最も低い優先度の優先値である。フィルタスロットのカラムの先頭におけるフィルタスロットは、最も高い優先度を持っている。フィルタスロットのカラムの最後におけるフィルタスロットは、最も低い優先度を持っている。フィルタがスロットに割り当てられる場合、スロットは、破線のボックスのように示される。フィルタがスロットに割り当てられない場合、スロットは、ブランクのボックスとして図示される。
【００２６】
図４は、図１及び図２のシステム１の１つの動作例において、フィルタに優先値を割り当てるために図３のフィルタ優先リスト３３を用いる斬新な方法のフローチャート表現である。この動作例では、ストリーミングオーディオアプリケーション１０（図２参照）が、フィルタ１２に加えて、フィルタ１８、１９の２つのフィルタを指定する。これらの３つのフィルタ１２，１８，及び１９は、アプリケーション１０によって指定された第１のフィルタグループを構成する。アプリケーション１０は、この第１のフィルタグループの各フィルタに、第１のグループの他のフィルタに関する優先値を割り当て、この第１のグループのフィルタを、オペレーティングシステム１１に供給する。
【００２７】
オペレーティングシステム１１は、第１のアプリケーションから、第１のフィルタグループを受け取る（図４の１００）。第１のグループのフィルタは、第１のアプリケーション１０によって指定された優先順を持つ。フィルタ１２は、最も高い優先度を持ち、次にフィルタ１８、次にフィルタ１９の順となる。１つの実施形態では、フィルタが第１のアプリケーション２０からオペレーティングシステム１１へ通信される順番は、オペレーティングシステム１１に対する優先順位を示す。
【００２８】
オペレーティングシステム１１は、第１のフィルタグループの各フィルタに、優先値を割り当てる（図４の１０１）。オペレーティングシステム１１は、図３のフィルタ優先リスト３３の第１のブロック（ブロック＃１）における最初の３つのスロット（優先スロット１，２，３）にこれら３つのフィルタ１２，１８，１９を割り当てることによってこれを行う。この例ではこの時点で、フィルタ優先リスト３３内にその他のフィルタは存在しない。フィルタ及びそれらの優先値は、ネットワークルータ５へ転送される。着信パケット（Ｒｘパケット）が、ネットワークルータ５上で受信される場合、システムソフトウェア１３が、このパケットを、最も高い優先度のフィルタ１２にマッチさせる。マッチがある場合、このパケットは、ストリーミングオーディオアプリケーションのために予定されたフローであると判定される。システムソフトウェア１３に格納された関係に従って、このパケットは、指定されたチャネル１４を介してモバイル通信デバイス２へ送られる。オペレーティングシステム１１内のプロトコル処理スタックは、パケットのペイロードを、アプリケーション１０まで転送する。マッチがない場合、システムソフトウェア１３は、次に高い最優度のフィルタ１８にパケットをマッチさせることを試みる。マッチがある場合、このパケットは、ストリーミングオーディオアプリケーションのために予定されたフローであると判定される。この動作例では、システムソフトウェア１３に格納された関係は、第２のフィルタ１８とマッチするパケットもまた、チャネル１４を介して通信されるべきであることを示す。マッチがない場合、システムソフトウェア１３は、次に高い最優度のフィルタ１９にパケットをマッチさせることを試みる。マッチがある場合、このパケットは、ストリーミングオーディオアプリケーションのために予定されたフローであると判定される。システムソフトウェア１３に格納された関係によって定義されているように、このパケットは、チャネル１４を介してモバイル通信デバイス２へ送られる。パケットがフィルタ１２，１８，１９の何れともマッチしない場合、このパケットは、デフォルトチャネル１５を使用して、モバイル通信デバイス２へ転送される。従って、第１のアプリケーション１０によって指定されたフィルタ１２，１８，１９のうちの何れか１つとマッチするパケットが、所望のＱＯＳデータレート及びレイテンシを有する通信チャネル１４を介してモバイル通信デバイス２へ通信される。フィルタ１２，１８，１９のうちの何れともマッチしないパケットは、チャネル１４によって与えられたより高いレベルのＱＯＳを必要としないと認められ、より低いＱＯＳを持つデフォルトチャネル１５を経由してモバイル通知デバイス２へ通信される。
【００２９】
本動作例では、モバイル通信デバイス２のユーザは次に、ＩＰ電話２０からのモバイルＩＰ通話を受信することを望んでいる。ユーザは、モバイル通信デバイス２のスクリーン上に現われるモバイルＩＰアイコンをクリックし、これによって、モバイルＩＰテレフォニーアプリケーション２１（第２のアプリケーション）を立ち上げる。本動作例において第２のアプリケーション２１は、オペレーティングシステム１１に対するフロー仕様及びフィルタ仕様を定義する。フィルタ仕様は、２つのフィルタ２２，２３を含む。第２のアプリケーション２１は、これら２つのフィルタに対して相対的な優先度を割り当て、これらフィルタを、上述したようなフィルタ仕様としてオペレーティングシステム１１に提供する。
【００３０】
オペレーティングシステム１１は、第２のアプリケーション２１から、第２のフィルタグループを受け取る（図４の１０２）。第２のフィルタグループは、第２のアプリケーション２１によって指定された優先順位を有する。
【００３１】
オペレーティングシステム１１は、これらフィルタ２２，２３の互いの相対的な優先順位を変えることなく、第２のフィルタグループの各フィルタに、優先値を割り当てる（図４の１０３）。この割り当てを行うために、オペレーティングシステム１１は、フィルタスロット内のフィルタ２２，２３を、フィルタ優先リスト３３における次に利用可能なブロックに配置する。ＱＯＳ要求を行う第２のアプリケーション２１は、ＱＯＳ要求を行うアプリケーション１０の後の次のアプリケーションであるので、フィルタ２２，２３が図３のフィルタ優先リスト３３の第２のブロック（ブロック＃２）内のスロットへ挿入される。従って、フィルタブロックは、ＦＣＦＳ（first come first serve）スキームで使用されることが分かる。図３は、ブロック＃２における最初の２つのフィルタスロットを占有する２つのフィルタ２２，２３を示す。フィルタ２２は、優先値６が割り当てられ、フィルタ２３は、優先値７が割り当てられている。
【００３２】
一旦優先値が割り当てられると、オペレーティングシステム１１は、フィルタ２２，２３、それらに割り当てられた優先順位（優先順位６，７）、及びフロー仕様を、ネットワークルータ５へ送る。ネットワークルータ５内のシステムソフトウェア１３は、各フィルタの通信チャネルを決定し、フィルタに関連する通信チャネルの識別子を、リスト１６に格納する。
【００３３】
ネットワークルータ５上のシステムソフトウェア１３は、次の着信ＩＰパケットを、フィルタの優先値の順に、すなわち、優先値１、優先値２、優先値３、優先値６、優先値７の順に、リスト１６内のフィルタにマッチさせることを試みる（図４の１０４）。最も低い優先値を持つフィルタは、最も高い優先度のフィルタであり、最初に試みられる。そして、次に低い優先値を持つフィルタが試みられ、このようにして、フィルタリスト内の全てのフィルタが試みられる。ＩＰテレフォニーパケットがネットワークルータ５で受信され、ストリーミングオーディオアプリケーション１０用のフィルタ１２，１８，１９のうちの何れともマッチしないが、ＩＰテレフォニーアプリケーション２１用のフィルタ２２，２３のうちの１つとマッチするのであれば、指定された通信チャネルによって、モバイル通信デバイス２へパケットが送られる。オペレーティングシステム１１内のプロトコルスタックは、アプリケーション２１までパケットペイロードを転送する。このように、ＩＰテレフォニーアプリケーション２１に向けられたＩＰパケットが、要求されたＱＯＳ特性を有する通信チャネルを介してそれらが通信されることによる所望のレベルのＱＯＳを用いて、ルータ５からモバイル通信デバイス２へ通信される。同様に、オーディオストリーミングアプリケーション１０に向けられたＩＰパケットが、要求されたＱＯＳ特性を有する通信チャネルを介して、それらが通信されることによる所望のレベルのＱＯＳを用いて、ルータ５からモバイル通信デバイス２へ通信される。
【００３４】
アプリケーションがモバイル通信デバイス２上で立ち上げられた場合、指定されたフィルタが、図３のフィルタ優先リスト３３の中で、次に利用可能なフィルタスロットのブロックへ挿入される。アプリケーションによって割り当てられたフィルタの相対的な優先順位は保持されるが、オペレーティングシステム１１は、次のフィルタスロットのブロックにフィルタを挿入する。従って、新たに追加された全てのフィルタは、他のアプリケーションによって図３の優先リストに既に配置されているフィルタよりも高い優先値（低い優先度）を持つ。アプリケーションが時間にわたって立ち上げられると、より高い優先値（より低い優先度）を有するブロックが使用される。図３の例では、カラムにおいてより低いブロックが使用される。
【００３５】
アプリケーションがある期間動作した後、そのアプリケーションに割り当てられたフィルタスロットのブロック内に、適切な数の予備のフィルタスロットが存在すると仮定すると、そのアプリケーションは、１又は複数の新たなフィルタをフィルタ仕様に加えることができる。そのアプリケーションは更に、そのフィルタ仕様内に既に存在する１又は複数のフィルタを修正又は削除することができる。フィルタを追加するために、オペレーティングシステム１１は、そのアプリケーションのためのフィルタによって既に使用されているブロック内の予備のスロットに新たなフィルタを挿入し、この挿入されたフィルタのための優先値を決定し、その後、そのフィルタ、関連する優先値、及び、フロー仕様をネットワークルータ５へ送る。この新たに追加されたフィルタは、そのアプリケーションのフィルタスロットのブロック内の次のフィルタスロットへ挿入されるので、新たに追加されたフィルタは、使用されている他のフィルタの優先値に影響を与えない。既存のフィルタの修正又は削除のみがフィルタのフィルタスロットに影響を与えるので、この修正又は削除は、他の何れのフィルタの優先順位にも影響を与えない。ネットワークルータ５上のシステムソフトウェア１３は、適切な通信チャネルを識別するプロセスを経る。そして、ネットワークルータ５は、それらの優先値の順序に従ってフィルタを適用する。着信パケットがフィルタとマッチすると判定されると、関連する通信チャネルを介してモバイル通信デバイス２へパケットが送られる。
【００３６】
アプリケーションが終了した場合、モバイル通信デバイス２内のオペレーティングシステム１１は、そのフィルタ優先リストから関連するフィルタを削除し、１又は複数のフィルタ更新メッセージをネットワークルータ５へ送る。フィルタ更新メッセージの形式は、無線ネットワークのタイプに依存して変わる。フィルタ更新メッセージは、システムソフトウェア１３に対して、フィルタを削除させ、着信パケットにそれらを適用させないことである。従って、アプリケーションが終了したまま時間が経過すると、フィルタのブランクブロック（ホールと呼ばれる）が、オペレーティングシステム１１によって保持されたフィルタ優先リスト３３の中に生じる。使用中のより高い優先値のフィルタブロックが存在する場合、及び、使用中のより低い優先値フィルタブロックが存在する場合、フィルタのあるブロックが削除される。
【００３７】
図５は、フィルタスロット（優先値フィルタリストとも呼ばれる）の２つのリストを例示する。１つは、左側のカラムであり、もう１つは右側のカラムである。左側のカラムのリストは、多くのホールを含んでいる。ブロック＃１、＃３、＃４及び＃７はホールである。また、より高い優先値（より低い優先度）を持つ優先値フィルタブロックである、ブロック＃１０が使用されていることに注目されたい。別のアプリケーションが、ＱＯＳ要求を行うことになっていたモバイル通信デバイス２上で立ち上げられることになっていた場合、そのアプリケーションによって指定されたフィルタは、より高い優先値を持つ優先フィルタブロック（図４に例示するリストにおけるより下側のブロック）に配置されない。なぜなら、最下部のフィルタブロックは既に使用されているからである。従って、斬新な再パック動作が実行される。
【００３８】
図５は、再パック動作の一例を例示している。図５の例示におけるフィルタスロットリストの２つのカラム間の矢印は、ブロックがどのようにして再割当されるかを示している。矢印２４によって示されるように、ブロック＃２のフィルタは、ブロック＃１のフィルタになるように再割当される。矢印２５によって示されるように、ブロック＃５のフィルタは、ブロック＃２のフィルタになるように再割当される。矢印２６によって示されるように、ブロック＃６のフィルタは、ブロック＃３のフィルタになるように再割当される。矢印２７によって示されるように、ブロック＃８のフィルタは、ブロック＃４のフィルタになるように再割当される。矢印２８によって示されるように、ブロック＃９のフィルタは、ブロック＃５のフィルタになるように再割当される。矢印２９によって示されるように、ブロック＃１０のフィルタは、ブロック＃６のフィルタになるように再割当される。再パック動作後、この図の右側に例示された優先リストにおけるブロック１乃至５のシーケンスにホールは存在しない。しかしながら、ブロック７乃至１０は利用可能である。モバイル通信デバイス２内のオペレーティングシステム１１は、再マッピングを行なう。再マッピングされる各フィルタについて、オペレーティングシステム１１は、専用のシグナリングプロトコルを用いて、ＱＯＳ修正要求をネットワークルータ５へ送る。このＱＯＳ修正要求は、フィルタを最初に指定するために使用されたメッセージに類似したメッセージである。このＱＯＳ修正要求は、識別されたフィルタの優先値を変更する。
【００３９】
再パックが一旦完了すると、新たに立ち上げられたアプリケーションのための新たなフィルタが、利用可能なブロック＃７に割り当てられる。繰り返すが、関連する優先値とともにフィルタをネットワークルータ５へ送るために、専用のシグナリングプロトコルが使用される。フィルタの優先値は、図５において、フィルタリストのフィルタを表す破線ボックスの直ぐ左に示す値である。例えば、２つの新たなフィルタが指定されれば、これら２つの新たなフィルタは、優先値３１，３２を持つだろう。
【００４０】
図６は、別の斬新な再パック動作に従った図である。優先値フィルタリストにおける全てのホールを取り除くために再パックするのではなく、最も高い優先値を有するホールのみが埋められる。図６の例では、ブロック＃７がこのホールである。従って、ブロック＃８のフィルタは、矢印３０によって示されるように、ブロック＃７へ再割当される。ブロック＃９のフィルタは、矢印３１によって示されるように、ブロック＃８へ再割当される。ブロック＃１０のフィルタは、矢印３２によって示されるように、ブロック＃９へ再割当される。これによって、ブロック＃１０が利用可能となる。オペレーティングシステム１１は、新たに立ち上げられたアプリケーション用のフィルタを、ブロック＃１０へロードする。最下部のホールを埋め、かつ、下部のフィルタブロックをシフトアップするために必要なフィルタのみを再割当することによって、低減された数のフィルタＱＯＳ修正要求メッセージしか必要とされない。優先リストにおけるフィルタブロックを開き、新たに立ち上げられたアプリケーションによって指定された新たなフィルタを収納するために、低減された数のＱＯＳ修正要求メッセージが、モバイル通信デバイス２からルータ５へ送られる。低減された数のＱＯＳ修正要求メッセージは好ましい。なぜなら、再割当を行うオーバザエアシグナリングの量を減らし、かつ、他のアプリケーションに対するサービスの中断を減らすからである。
【００４１】
モバイル通信デバイス２上の全てのアプリケーションが、ある所定の時間において終了するのであれば、図３のフィルタ優先リスト内の全てのブロックが、一度に利用可能になるだろう。その後、アプリケーションが立ち上げられると、優先リストにフィルタを入れる処理がブロック＃１で始まる。図６の例において、優先リストの再パックを、可能な限り遅らせることによって、モバイル通信デバイス上の全てのアプリケーションが終了される時が来る確率が高くなる。従って、あるブロックから別のブロックへのフィルタの再割当が必要になる確率も低減される。
【００４２】
優先フィルタリストの例は、上記において、モバイル通信デバイス２へ向けられ、ネットワークルータ５上で受信されることになっている着信パケットへフィルタを適用するものとして説明されているが、モバイル通信デバイス２からルータ５へ送信されることになっている送信パケットにフィルタを適用する際に用いるために、モバイル通信デバイス２内に別の優先フィルタリストが保持される。着信パケットをフィルタするため、上述したフィルタリストにフィルタが追加されたり、このフィルタリストからフィルタが削除される方法と同じように、送信パケットをフィルタするため、フィルタリストにフィルタが追加されたり、このフィルタリストからフィルタが削除される。各方向（着信及び送信）について、フロー仕様及びフィルタ仕様が指定され、フロー仕様が、ＩＰフローのために必要な処理を定義し、フィルタ仕様が、ＩＰフロー自身を定義する。
【００４３】
説明目的のために、ある具体的な実施形態が上述されたが、本開示はそれに限定されない。上記の例は、アプリケーションがフィルタスロットのブロックへ別のフィルタを加える状態を述べているが、このアプリケーションはまた、ブロックからフィルタを削除したり、ブロック内の既存のフィルタを修正すること（すなわち、同じ数のフィルタを維持すること）もできる。修正の結果、他のフィルタの優先順位を変えることはないので、シグナリングオーバヘッドを低減し、他のアプリケーションの中断を避けることができる。フィルタの優先値を変更し、フィルタを追加し、フィルタを削除するための具体的なプロトコル及びシグナリングメカニズムは、含まれるセルラ電話ネットワークのタイプと、動作がどのように実行されるかを制御する適切な規格とに依存する。幾つかのセルラ電話ネットワークでは、第１のフィルタの優先値は、第１のメッセージを用い、次に、第２のメッセージを用いて、第１のフィルタを削除し、第１のフィルタと同じであるが異なる優先値を持つ第２のフィルタを加えることによって変更することができる。あるいは、幾つかのセルラ電話ネットワークでは、フィルタの優先値は、単一のメッセージを送ることにより変更することができる。幾つかの例では、フロー仕様を受け取り、ＲＡＮと通信し、次に、フロー仕様の所望のＱＯＳパラメータを有するチャネルの指示をＲＡＮから受け取ることによって、ネットワークルータが、フィルタに関連するチャネルを決定する。他の例では、ネットワークルータは、フロー仕様を受信せず、フロー仕様が、ＲＡＮへ直接的に送られる。ＲＡＮは、適切なチャネルを決定し、このチャネルの指示をネットワークルータへ転送する。一方、ネットワークルータは、この特定されたチャネルを、モバイル通信デバイスから直接的に受信したフィルタに関連付ける。従って、記述された特定の実施形態の様々な特徴の様々な修正、適応、及び組み合わせが、特許請求の範囲で述べた記述の範囲から逸脱することなく実現される。
【図１】
0005242751.tif 000004
【図２】
0005242751.tif 000005
【図３】
0005242751.tif 000006
【図４】
0005242751.tif 000007
【図５】
0005242751.tif 000008
【図６】
0005242751.tif 000009