(57)【特許請求の範囲】
【請求項１】
第１のステーションのエレメントにより、ネットワーキングアプリケーションからヘッダデータとペイロードデータとを受信するステップであって、前記ペイロードデータは、前記第１のステーションの無線送信機を介して第２のステーションにパケットで送信され、前記ヘッダデータは、前記パケットが第１のサービス品質（QoS）のカテゴリに関連することを指定する、前記受信するステップと、
前記第１のステーションにより、前記第１のQoSのカテゴリの優先度よりも高い優先度を有する第２のQoSのカテゴリと前記パケットとを関連付けするため、前記ヘッダデータ又は前記ペイロードデータの少なくとも１つと、前記第１のステーションにより受信される前記ネットワーキングアプリケーションのパケットの到着レート及び前記第１のステーションから前記第２のステーションに送信される前記ネットワーキングアプリケーションのパケットの送出レートの少なくとも１つとを分析するステップと、
前記第１のステーションにより、前記パケットをマーク付けし、前記パケットを前記第２のQoSのカテゴリと関連付けるため、前記分析に基づき前記パケットのIPヘッダの少なくとも１ビットを設定するステップと、
を含むことを特徴とする方法。
【請求項２】
前記パケットを複数のキューのうちの、前記第２のQoSのカテゴリに関連するキューに配置するステップと、
前記第１のステーションにより受信される前記ネットワーキングアプリケーションのパケットの到着レートと前記第１のステーションから前記第２のステーションに送信される前記ネットワーキングアプリケーションのパケットの送出レートとの少なくとも１つを分析することに応答して、前記第１のステーションが電力状態を変更することを可能にするステップと、
を更に含む、
請求項１記載の方法。
【請求項３】
前記ヘッダデータと前記ペイロードデータを受信するステップは、第３のステーションから前記パケットを受信するステップを含み、
前記ネットワーキングアプリケーションは、ストリーミングビデオアプリケーション又はVoIP（Voice  over  Internet  Protocol）アプリケーションを含み、
前記第３のステーションは、インターネットのサーバを含む、
請求項２記載の方法。
【請求項４】
QoSのカテゴリの優先度に基づいて、前記第１のステーションと前記第２のステーションとの間のピアツーピア接続を介して前記第２のステーションにパケットを送信するステップを更に含む、
請求項２記載の方法。
【請求項５】
前記ネットワーキングアプリケーションから前記ペイロードデータを受信するステップは、前記第１のステーションのマルチメディアアプリケーションからオーディオ及びビデオデータを受信するステップを含む、
請求項４記載の方法。
【請求項６】
前記ヘッダデータ又は前記ペイロードデータを分析するステップは、ソースのIPアドレス、ソースのポート番号、宛先のIPアドレス、宛先のIPアドレス、宛先のポート番号、フィルタのエントリをもつパケットのプロトコル、のうちの少なくとも１つを比較することを含む、
請求項５記載の方法。
【請求項７】
前記IPヘッダの少なくとも１ビットを設定するステップは、前記パケットをビデオ（VI）アクセスのカテゴリと関連付けすることを含み、
前記第１のQoSのカテゴリは、ベストエフォート（BE）アクセスのカテゴリを含む、
請求項６記載の方法。
【請求項８】
ネットワーキングアプリケーションからヘッダデータ及びペイロードデータを受信する第１のステーションの受信モジュールであって、前記ネットワーキングアプリケーションは、前記ヘッダデータを介してパケットを第１のサービス品質（QoS）のカテゴリに関連付けし、前記パケットは、受信ステーションに無線で送信される、前記受信モジュールと、
前記ヘッダデータと前記ペイロードデータの少なくとも１つと、前記第１のステーションにより受信された前記ネットワーキングアプリケーションのパケットの到着レートと前記第１のステーションから第２のステーションに送信される前記ネットワーキングアプリケーションのパケットの送出レートの少なくとも１つとを分析する前記第１のステーションの分析モジュールと、
前記分析に基づいて、前記ヘッダデータの少なくとも１ビットを設定することで前記パケットをマーク付けするQoSモジュールであって、前記パケットのマーク付けは、前記パケットの関連付けを、前記第１のQoSのカテゴリから、前記第１のQoSのカテゴリよりも高い優先度を有する第２のQoSのカテゴリに変える前記QoSモジュールと、
を有することを特徴とする装置。
【請求項９】
前記受信モジュールは、DRAM（Dynamic  Random  Access  Memory）を備え、
前記分析モジュールは、前記ヘッダと前記ペイロードデータの少なくとも１つの分析のためにファームウェアの命令を実行するマイクロプロセッサを備え、
前記分析モジュールは、前記到着レートと前記送出レートの少なくとも１つの分析に応答して、前記第１のステーションが電力節約モードに入ることを可能にするよう構成される、
請求項８記載の装置。
【請求項１０】
当該装置は、モバイルコンピューティング装置を備え、
前記分析モジュール及び前記QoSモジュールは、前記モバイルコンピューティング装置の無線通信装置のドライバの優先順位付けエンジンを有し、
前記ネットワーキングアプリケーションは、前記モバイルコンピューティング装置のストリーミングビデオアプリケーションを含む、
請求項８記載の装置。
【請求項１１】
前記分析モジュールは、前記第２のQoSのカテゴリに従って複数のキューのうちの１つのキューに前記パケットを配置し、
前記QoSモジュールは、前記分析モジュールの分析に基づいてフィルタのエントリを適応的に更新する、
請求項８記載の装置。
【請求項１２】
前記分析モジュールは、前記ヘッダデータを分析して、少なくとも１つのトラフィックを分類するための基準に基づいて前記パケットを前記第２のQoSのカテゴリと整合させ、
前記トラフィックを分類する基準は、プロトコル識別子、ソース又は宛先のポート、パケットサイズ及びパケットレートのうちの１つを含む、
請求項１１記載の装置。
【請求項１３】
前記分析モジュールは、前記ペイロードデータのパケットの分析を行い、ビデオトラフィックのタイプを識別し、
前記ネットワーキングアプリケーションは、DVDのマルチメディアアプリケーションを備える、
請求項１２記載の装置。
【請求項１４】
無線通信ネットワークのステーションに、ヘッダデータとペイロードデータとを含むパケットを送信するアンテナに結合される無線通信装置であって、ネットワークアプリケーションは、前記パケットを第１のサービス品質（QoS）のカテゴリに関連付けする、前記無線通信装置と、
前記無線通信装置のドライバの優先順位付けエンジンのコード化された命令を記憶するDRAM（Dynamic  Random  Access  Memory）と、
前記DRAMに結合されるプロセッサと、
を有するシステムであって、
前記プロセッサは、
前記パケットのヘッダデータとペイロードデータの少なくとも１つと、当該システムにより受信される前記ネットワーキングアプリケーションのパケットの到着レートと当該システムから第２のステーションに送信される前記ネットワーキングアプリケーションのパケットの送出レートの少なくとも１つとを分析し、前記パケットをマーク付けするためのコード化された命令を実行し、
前記マーク付けは、前記パケットの関連付けを前記第１のQoSのカテゴリから第２のQoSのカテゴリに変える、
ことを特徴とするシステム。
【請求項１５】
前記優先順位付けエンジンのコード化された命令の実行は、前記ヘッダデータのデータを複数のQoSカテゴリと予め関連付けされたデータと比較することで前記分析を行い、
前記優先順位付けエンジンは、当該システム及びプロセッサのチップセットの機能を有効にし、前記到着レートと前記送出レートの少なくとも１つの分析に応答して、当該システムの電力の状態を変える、
請求項１４記載のシステム。
【請求項１６】
前記分析は、前記パケットと多数のパケットの基準のうちの１つとの比較を含み、
前記パケットの基準は、パケットプロトコル、パケットサイズ、ポート番号、パケットのIPアドレス、パケットの到着レート、パケットの送出レートを含む、
請求項１５記載のシステム。
【請求項１７】
コンピュータが使用可能なプログラムコードを記録するコンピュータ使用可能な記録媒体を有するコンピュータプログラムであって、
前記コンピュータが使用可能なプログラムコードは、
ネットワーキングアプリケーションからヘッダデータとペイロードデータとを受信するステップであって、前記ペイロードデータは、無線送信機を介してステーションにパケットで送信され、前記ヘッダデータは、前記パケットが第１のサービス品質（QoS）のカテゴリと関連付けされることを指定する、前記受信するステップと、
前記第１のQoSのカテゴリの優先度よりも高い優先度を有する第２のQoSのカテゴリと前記パケットとを関連付けするため、前記ヘッダデータ又は前記ペイロードデータの少なくとも１つと、第１のステーションにより受信される前記ネットワーキングアプリケーションのパケットの到着レートと前記第１のステーションから第２のステーションに送信される前記ネットワーキングアプリケーションのパケットの送出レートの少なくとも１つとを分析するステップと、
前記パケットをマーク付けし、前記パケットを前記第２のQoSのカテゴリと関連付けするため、前記分析に基づいて前記パケットのIPヘッダの少なくとも１ビットを設定するステップと、
を有する処理を実行するよう構成されるコンピュータプログラム。
【請求項１８】
前記少なくとも１ビットを設定するステップは、前記パケットをボイス（VO）アクセスカテゴリ及びビデオ（VI）アクセスカテゴリのうちの１つと前記パケットを関連付けするステップを含み、
前記第１のQoSのカテゴリは、ベストエフォート（BE）アクセスのカテゴリを含む、
請求項１７記載のコンピュータプログラム。
【請求項１９】
前記処理は、当該コンピュータプログラムのシステムが、前記システムにより受信されるパケットの到着レートと、前記システムから送信されるパケットの送出レートのうちの少なくとも１つに基づいて電力の状態を変更するのを可能にするステップを含む、
請求項１８記載のコンピュータプログラム。
【請求項２０】
前記記録媒体は、ネットワークインタフェースカード（NIC）の不揮発性メモリを備える、
請求項１９記載のコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信の分野に関するものであり、より詳細には、明示的な管理交渉（control  negotiation）を行わない無線トラフィックのQoS（Quality  of  Service）処理に関するものである。
【背景技術】
【０００２】
【特許文献１】US  2007-0019665  A1
【特許文献２】JP  2003-087300  A
【特許文献３】US  2007-0025325  A1
【特許文献４】US  6865609  B1
【発明の概要】
【発明が解決しようとする課題】
【０００３】
本発明の目的は、明示的な管理交渉を行うことなしに、無線トラフィックのQoS処理を行う方法を提供することにある。
【課題を解決するための手段】
【０００４】
以下、添付図面で示される新たな実施の形態が詳細に説明される。しかし、詳細な説明の量は、記載される実施の形態の予想される変形例を制限することが意図されるものではなく、反対に、特許請求の範囲及び詳細な説明は、添付された特許請求の範囲により定義される本発明の教示の精神及び範囲に含まれる全ての変更、等価な概念及び代替をカバーするものである。以下の詳細な説明は、当業者が係る実施の形態を理解可能なものとするために記載される。
【０００５】
一般的に、明示的な管理交渉を行うことなしに、無線トラフィックのQoSパケットを処理するためのシステム、装置、方法及びコンピュータプログラムプロダクトが提案される。装置の実施の形態は、無線通信機能をもつモバイルコンピューティング装置である。モバイルコンピューティング装置は、アクセスポイントと関連又は接続し、アクセスポイントと通信するクライアントである。代替的に又は付加的に、モバイルコンピューティング装置は、無線機能をもつ周辺装置のような、別のクライアント装置と通信するクライアント装置である。
【０００６】
アクセスポイント又は他のクライアント装置と通信リンクを確立した後、モバイルコンピューティング装置は、モバイルコンピューティング装置から送信されている無線パケットのトラフィックをモニタする。たとえば、モバイルコンピューティング装置は、ビデオストリーミングアプリケーションから周辺装置に送信されているパケットをモニタし、この周辺装置は、無線通信機能を有する液晶ディスプレイ（LCD）を有する。モバイルコンピューティング装置は、QoSデータのトラフィックストリームとしてビデオストリーミングアプリケーションからのストリームを識別し、ビデオストリーミングアプリケーションがそのようにしない場合でさえ、QoSパケットとしてビデオストリームのパケットをマークし、マークされたパケットを優先処理のためにQoSキューに配置する。
【０００７】
本実施の形態で開示される様々な実施の形態は、様々な応用で使用される場合がある。幾つかの実施の形態は、たとえば以下の様々なシステム及び装置と共に使用される場合がある。送信機、受信機、トランシーバ、送受信機、無線通信局、無線通信装置、無線アクセスポイント（AP）、モデム、無線モデム、パーソナルコンピュータ（PC）、デスクトップコンピュータ、モバイルコンピュータ、ラップトップコンピュータ、ノードブックコンピュータ、タブレットコンピュータ、サーバコンピュータ、ハンドヘルドコンピュータ、ハンドヘルド装置、パーソナルデジタルアシスタント（PDA）装置、ハンドヘルドPDA装置、ネットワーク、無線ネットワーク、ローカルエリアネットワーク（LAN）、無線LAN（WLAN）、メトロポリタンエリアネットワーク（MAN）、無線MAN、ワイドエリアネットワーク（WAN）、ワイヤレスWAN（WWAN）、既存のIEEE  802.16e,  802.20,  3GGP  LTE（Long  Term  Evolution）等、及び／又は将来的なバージョン及び／又は派生したもの及び／又は上記規格のLTE（Long  Term  Evolution）に従って動作する装置及び／又はネットワーク、パーソナルエリアネットワーク（PAN）、ワイヤレスPAN（WPAN）、上記WLAN及び／又はPAN及び／又はWPANネットワークの一部であるユニット及び／又は装置、１方向及び／又は２方向無線通信システム、セルラー無線電話通信システム、セルラー電話、無線電話、パーソナル通信システム（PCS）装置、無線通信装置を組み込んだPDA装置、MIMO（Multiple  Input  Multiple  Output）トランシーバ又は装置、SIMO（Single  Input  Multiple  Output）トランシーバ又は装置、MISO（Multiple  Input  Single  Output）トランシーバ又は装置、MRC（Multi  Receiver  Chain）トランシーバ又は装置、「スマートアンテナ」技術又は複数のアンテナ技術を有するトランシーバ又は装置等。
【０００８】
幾つかの実施の形態は、たとえば以下の１以上のタイプの無線通信信号と共に使用される。無線周波数（RF）、赤外線（IR）、周波数分割多重化（FDM）、直交OFDM（OFDM）、直交周波数分割多元接続（OFDMA）、時分割多重（TDM）、時分割多元接続（TDMA）、拡張TDMA（E-TDMA）、符号分割多元接続（CDMA）、マルチキャリア変調（MDM）、離散マルチトーン（DMT）、ブルートゥース（RTM）、ZigBee（TM）等。実施の形態は、様々な他の装置、デバイス、システム及び／又はネットワークで使用される。
【０００９】
以下に記載される特定の実施の形態の幾つかは特定の構成を持つ実施の形態を参照するものであるが、当業者であれば、この開示の実施の形態は同様の問題又は課題をもつ他の構成と共に実現されることを認識されるであろう。
【図面の簡単な説明】
【００１０】
本発明の実施の形態の態様は、以下の詳細な説明を呼むこと、同じ参照符号が同じ構成要素を示している添付図面を参照することで明らかとなるであろう。
【図１】明示的な管理交渉を行うことなしに、無線トラフィックのQoSパケットを処理するシステムの実施の形態を示す図である。
【図２】無線ネットワークにおいてQoSパケットを処理するラップトップの実施の形態を示す図である。
【図３】優先順位付けエンジンが交渉されないQoS（Non-Negotiated  QoS）スキームをどのように実現し、無線ネットワークアダプタのドライバを介してQoSパケットをどのように処理するかを例示する図である。
【図４】NNQ優先順位付けエンジンがQoSポリシーをどのように実現するかを例示する図である。
【図５】NNQ環境においてパケットを受信、分類及び送出するときに実施の形態が採用するプロセスを例示する図である。
【図６Ａ】様々な実施の形態に係るインターネットプロトコル（IP）パケットフォーマットを示す図である。
【図６Ｂ】インターネットプロトコルバージョン６（IPv6）ヘッダを示す図である。
【図７】明示的な管理交渉を行うことなしに、無線トラフィックのQoS処理を可能にする装置を示す図である。
【発明を実施するための形態】
【００１１】
図１を参照して、プロセッサ１５０、メモリコントローラハブ（MCH）１３０、メモリ１０２、及びI/Oコントローラハブ（ICH）１３４をもつシステム１００の実施の形態が表される。幾つかの実施の形態では、システム１００は、ノーブック又はデスクトップコンピュータのようなコンピュータシステムを備える。他の実施の形態では、システム１００は、例として、パームトップコンピュータ、パーソナルデジタルアシスタント（PDA）、又はモバイルコンピューティングデバイスのような異なるタイプのコンピューティング装置を備える。システム１００は、たとえば通信装置１９２を介して、明示的な管理交渉を行うことなしに、無線トラフィックのためのQoSパケットを処理する。
【００１２】
プロセッサ１５０は、キャッシュ１５４と結合された１以上のコア１５２を有する。たとえば、プロセッサ１５０は、内部プロセッサのキャッシュメモリと結合される４つのコアを有する。プロセッサ１５０は、幾つかの例を挙げると、ワードプロセッシングアプリケーション、CAD（Computer  Aided  Design）アプリケーション、FTP（File  Transfer  Protocol）アプリケーション、又はウェブブラウザのような、システム１００のユーザにより実行されるプログラム及びアプリケーションの動作命令を実行する。係るソフトウェアプログラム及び関連する命令は、メモリ１０２に記憶される。ソフトウェアプログラムは、無線で送信されるデータのパケットを生成する。１以上のプログラムのパケットの幾つかは、オーディオ又はビデオストリーミングアプリケーションのような、システム１００のユーザによる許容可能な経験を提供するため、優先処理を必要とする。言い換えれば、プロセッサ１５０が実行している他のアプリケーションのトラフィックの前にストリーミングアプリケーションのデータが無線で送信されない場合、結果は、途切れ途切れのビデオである場合がある。
【００１３】
プロセッサ１５０は、MCH１３０と対話することで、メモリ１０２における命令を実行する。メモリ１０２を備えるメモリ装置のタイプは、異なる実施の形態において変わる場合がある。幾つかの実施の形態では、メモリ１０２は、２つの1GBのDRAM（Dynamic  Random  Access  Memory）スティックのような揮発性メモリエレメントを備える場合がある。他の実施の形態では、メモリ１０２は、不揮発性メモリを有する。たとえば、幾つかの実施の形態では、メモリ１０２は、4GBのフラッシュメモリカードのようなフラッシュメモリモジュールを備える。
【００１４】
ICH１３４は、プロセッサ１５０が、キーボード、スキャナ及びデータストレージ装置のような、局所的に結合される外部の周辺装置と対話するのを可能にする。プロセッサ１５０により実行されているプログラム及びアプリケーションは、外部の周辺装置と対話する。プロセッサ１５０、メモリ１０２、及びICH１３４に結合される様々な装置は、各種の電力量を消費する。電力を節約するため、システム１００は、NNQトラフィックに基づいて、様々なプラットフォームレベルの電力管理の動作を実行し、電力を節約するために１以上の様々なモードに入る。たとえば、少なくとも１つの実施の形態では、システム１００は、コア１５２のうちの３つのコアをシャットダウンし、プロセッサ１５０の１つのコアでのみ実行して電力を節約する。システム１００は、通信装置１９２のような、実行されているアプリケーションの動作、及び／又は装置の動作に基づいて電力を節約することができる。
【００１５】
システム１００は、アプリケーション及び／又は通信装置１９２の動作に基づいて、コア１５２のうちの１以上のコアを異なるパワーレベルに切り替えることで、電力を節約する。たとえば、１実施の形態では、コア１５２のうちのそれぞれのコアは、６つの異なるパワーレベルで動作する場合がある。第一のパワーレベルは、「パワーレベル０」と呼ばれ、第二のパワーレベルは、「パワーレベル１」と呼ばれ、第六のパワーレベルは、「パワーレベル５」と呼ばれる、等である。
【００１６】
他の実施の形態は、１以上の予め定義されたパワーレベル及び／又は電力節約モードを有する。幾つかの実施の形態では、パワースイッチングは、プロセッサ１５０及び通信装置１９２の相互のやり取りを介して達成される。たとえば、通信装置１９２のドライバにおいてプロセッサ１５０により実行されるパターン分類アルゴリズムは、プロセッサ１５０及びシステム１００の他のチップセットがACPI（Advanced  Configuration  and  Power  Interface）“Cx”状態のような他のスリープ状態に切り替えるのを可能にし、及び／又は“P状態”とばれる電力が調節された周波数状態に切り替えるのを可能にする。
【００１７】
パワーレベル５のような１つのパワーレベルで動作するとき、コアは、比較的制限されていないやり方で動作する。言い換えれば、このパワーレベルは、命令を処理して、コアができるだけ迅速に無線送信する行うためにデータを準備するために必要とする全ての電力をコアに提供する。しかし、係るやり方で制限されずに動作することは、電流及び関連される大量の電力をコアが消費することになる。逆に、あるコアがパワーレベル０のような異なるパワーレベルで動作するとき、パワーレベル５よりも非常に低速に動作し、パワーレベル５よりも遥かに少ない命令を処理する。この更に制限されたモードにおける動作は、非常に小さい電流を使用してコアが動作するのを可能にする。しかし、より低速に動作することは、コアのパフォーマンスが低減されることになる。たとえば、コア１５２のうちの全てのコアがパワーレベル１以下で動作するとき、システム１００は、通信装置１９２の連続操作のようなシステム１００の所定の動作をサポートすることができない。しかし、システム１００は、システム１００が異なるパワーレベルに切り替え、送信のために通信装置１９２にデータを供給するとき、別の装置に後に送信されるデータを記憶する。システム１００は、たとえば通信装置１９２が、優先度が低い、QoSでないデータトラフィックを処理するとき、データを記憶する。
【００１８】
プロセッサ１５０は、AGP（Advanced  Graphics  Port）ビデオカード１７２に結合されるディスプレイ装置を介して、ユーザに情報を提示する。たとえばディスプレイ装置のタイプは、陰極線管（CRT）モニタ、LCDスクリーン、又は薄膜トランジスタのフラットパネルモニタである。１以上の実施の形態で電力を節約するため、システム１００は、通信装置１９２のアプリケーション及び／又は通信の動作に基づいて、ビデオカード１７２及び／又はディスプレイ装置の機能を無効にするか、さもなければビデオカード１７２及びディスプレイ装置を低電力モードに切り替える。強調するに値するのは、様々な実施の形態では、システム１００は、他の装置を動作状態のままにする一方で、幾つかの装置を選択的にシャットダウンすることで、電力を節約することである。たとえば、通信装置１９２は、ノートブックコンピュータを有するシステム１００との、無線ネットワークインタフェースカード（WNIC）を有する。ノートブックコンピュータは、通信装置１９２の機能を無効にするか又は通信装置を電力節約モードに切り替え、アプリケーションを実行し、アプリケーションの結果をビデオカード１７２を介してユーザに表示する。通信装置１９２の形式は、異なる実施の形態において変わる場合がある。たとえば、WNICを有する代わりに、通信装置１９２は、ネットワークインタフェースカード（NIC）を有する。
【００１９】
先に示唆されたように、ICH１３４は、プロセッサ１５０が、PCI（Peripheral  Component  Interconnect）コントローラ１８２を介してUSB装置１８６にデータを記憶し、USB装置からデータを検索するのを可能にする。たとえば、プロセッサ１５０は、USB１８６がUSBポートを介してシステム１００に結合される無線通信カードを有するときのように、アプリケーションを実行している間、USB装置１８６を介してデータを送信及び検索する。電力を節約するため、システム１００は、USB装置１８６の無線通信カードの機能を無効にする、仮眠状態、又は代替的に低いパワーレベルモードに入る。
【００２０】
USB１８６及び通信装置１９２に加えて、ICH１３４は、ATAハードドライブ、コンパクトディスク（CD）ドライブ、及びデジタルバーサティルディスク（DVD）ドライブのような、ATA（Advanced  Technology  Attachment）装置と相互にやり取りする。図１に示されるように、システム１００は、ICH１３４に結合されるシリアルATA（SATA）ハードドライブ１１８を有する。SATAハードドライブ１１８は、オペレーティングシステム、デバイスドライバ、及びシステム１００のアプリケーションソフトウェアを記憶するために使用される。たとえば、幾つかの実施の形態では、SATAハードドライブ１１８は、Linux（登録商標）、Unix（登録商標）、Macintosh（登録商標）OS  X、Windows（登録商標）、又は他のオペレーティングシステムを記憶する。さらに、システム１００が電力節約モードに入ったとき、SATAハードドライブ１１８は、システム１００が電力節約モードを出ることに応じて、保存されたデータを使用してマシン状態を回復するように、状態データを記憶する。たとえば、SATAハードドライブ１１８は、レジスタ値、キャッシュデータ、メモリ１０２の内容、ピアツーピアネットワークの１以上のステーションとの前に確立されたリンクに関するデータを含む状態データを記憶する。
【００２１】
ICH１３４は、特定用途向け集積回路（ASIC）１１４との相互作用と同様に、不揮発性メモリ１０６に情報を記憶し、不揮発性メモリから情報を検索する。たとえば、不揮発性メモリ１０６は、幾つかの実施の形態ではフラッシュメモリを備えており、他の実施の形態では、PROM（Programmable  Read-Only  Memory）又は別のタイプのメモリを備えている。不揮発性メモリ１０６がフラッシュメモリを備える実施の形態では、システム１００は、電力節約モードに入る前に状態情報を記憶し、電力節約モードを出ることに応じて状態情報をロードする。不揮発性メモリ１０６がPROMを備える実施の形態では、不揮発性メモリは、たとえばシステム１００の動作命令を記憶するために使用される。たとえば、不揮発性メモリ１０６は、システム１００がたとえば携帯電話のようなモバイル装置を有するときに、動作命令を記憶する。
【００２２】
１以上の実施の形態では、ASIC１１４は、プロセッサ１５０及び／又は通信装置１９２と共に動作する。たとえば、システム１００は、セキュア通信装置を備えており、ASIC１１４は、システム１００を介して送信及び受信されたデータの暗号化及び復号のような機能を実行する。電力節約モードに入ることに応じて、ASIC１１４は、例としてASIC114の不揮発性メモリのセクション、不揮発性メモリ１０６又はSATAハードドライブ１１８に情報を保存することで、暗号化鍵の現在のセットのような、システム１００が別のシステム又はクライアント装置と確立した通信リンクの状態情報を保持する。電力節約モードを出ることに応じて、ASIC１１４は、状態情報を検索し、それを使用して通信リンクを通して他のシステム又はクライアント装置と通信する。
【００２３】
幾つかの実施の形態では、ICH１３４は、SCSI（Small  Computer  System  Interface）装置１２２を使用してデータを記憶し、データを検索する。係る実施の形態では、システム１００は、電力節約モードに入る前にSCSI装置１２２に結合された記憶装置に情報を保存することで、プロセッサ１５０及びメモリ１０２の状態情報のような、システム１００が別のシステムと確立した通信リンクについて現在の状態情報を保持する。電力節約モードを出ることに応じて、システム１００は、SCSI装置１２２の記憶装置から状態情報を検索し、状態情報を使用して、通信リンクを通して他のシステムとの通信を継続する。更なる代替的な実施の形態では、SCSI装置１２２は、無線通信カードのような通信装置を備える。係る実施の形態では、システム１００は、無線通信カードを使用して、たとえばアクセスポイント又は他のステーションとの通信リンクを確立する。
【００２４】
システム１００は、他の代替的な実施の形態では、例としてサウンドカード、スキャナ及びプリンタのような、図１に示されない他のタイプのハードウェアを備える。逆に、異なる実施の形態では、システム１００は、図１に示される実施の形態の全ての例を含まない。たとえば、システム１００の様々な実施の形態は、SCSI装置１２２、SATAハードドライブ１１８、USB１８６及びASIC１１４を含まない。さらに、MCH１３０及びICH１３４を採用するシステム１００の実施の形態は、他の代替的な実施の形態において異なる。すなわち、代替的な実施の形態は、他の対応のバス及び／又はハブ構成を採用する場合がある。
【００２５】
システム１００は、無線環境においてクライアントを備える。たとえば、システム１００は、図２に示される通信ネットワーク２００でラップトップ２６０を備えており、通信ネットワーク２００は、2007バージョンのようなIEEE802.11規格に準拠するWLANを備える（http://standards/ieee.org/getieee802/download/802.11-2007.pdf）。本明細書で記載される実施の形態は、タップトップ２６０及びアクセスポイント２３０のような２つのIEEE802.11-2007装置が、QoSチャネル優先順位を、明示的なQos交渉及びカウンタ交渉を実行することなしに、装置から出て行くエグレストラフィック（egress  traffic）に適用する。実施の形態は、本明細書で記載される多数の基準に基づいてエグレスパケットを分類するスキームを採用して、異なるWLAN  QoSキューを介してパケットを送出する。結果として、このスキームは、IEEE802.11-2007規格を拡張する。
【００２６】
ラップトップ２６０は、無線ディスプレイ２８０及び／又はアクセスポイント２３０と通信する。アクセスポイント２３０は、通信リンク２２０を介してインターネット２１０と結合される。アクセスポイント２３０により提供される通信リンク２４０及び接続性を使用して、ラップトップ２６０は、インターネット２１０にアクセスする。アクセスポイント２３０、無線ディスプレイ２８０、又は他のネットワーク装置間でラップトップ２６０が伝送するデータコンテンツのタイプは、同じ実施の形態におけるのと同様に異なる実施の形態において大いに変わる場合がある。
【００２７】
ラップトップ２６０及び無線ディスプレイ２８０は、ピアツーピアモードで通信し、無線ディスプレイ２８０とラップトップ２６０は、ダイレクトリンク２７０を通して互いに通信する。すなわち、ラップトップ２６０は、アクセスポイント２３０に頼ることなしに、無線ディスプレイ２８０にダイレクトにデータを送信する。たとえば、ラップトップ２６０のユーザは、無線ディスプレイ２８０を介してBlu-ray（登録商標）ディスクの映画を再生するのを望む。ラップトップ２６０は、アクセスポイント２３０を通してビデオ情報を経路指定する必要なしに、無線ディスプレイ２８０にダイレクトにマルチメディアアプリケーションから映画のビデオ及びオーディオ情報を送信する。さらに、映画を再生している間、ラップトップ２６０のユーザは、アクセスポイント２３０を通してVoIP（Voice  over  IP）により誰かを呼び出す場合がある。さらに、ラップトップ２６０のユーザは、アクセスポイント２３０を経由して、同時に、電子メールを送出し、ファイルをダウンロードする場合がある。
【００２８】
当業者であれば理解されるように、異なるアプリケーションは、ネットワーキングのトラフィックデータレート、遅延、ジッタ及び他のネットワーク通信仕様に関する異なる要件を有する。QoSパケット処理を提供するため、通信ネットワーク２００のネットワークトラフィックは分類され、共有される伝送媒体にアクセスするために異なる優先度が与えられる。たとえば、ラップトップ２６０と無線ディスプレイ２８０との間のビデオ及びオーディオのトラフィックは、ラップトップ２６０とアクセスポイント２３０との間のファイルをダウンロードするトラフィックよりも高い優先度を必要とする。さもなければ、ファイルをダウンロードするトラフィックが余りに多くの無線帯域幅を消費する場合、ユーザは、無線ディスプレイ２８０から途切れ途切れの、又はさもなければ歪んだオーディオ／ビデオの再生を経験する。
【００２９】
WLAN規格では、要求の多い無線通信の要件を満たすため、802.11e及びWi-Fi  Multimedia（登録商標）（WMM（登録商標））が確立されている。802.11e及びWMM（登録商標）においてQoSパケット処理を可能にするため、無線局で実行されているネットワークアプリケーションは、時間感度の高いネットワークパケットをQoSパケットとしてマークする必要がある。2007規格は、ラップトップ２６０とアクセスポイント２３０との間で無線で送信されたデータのような、双方向の無線トラフィックについて明示的なQoSの特徴を定義する。たとえば、ラップトップ２６０のネットワークアプリケーションは、無線ディスプレイ２８０に送信されたオーディオ−ビデオパケットをビデオパケットとしてマークする。
【００３０】
しかし、2007規格に従ってQoSトラフィックを処理するため、ラップトップ２６０及びアクセスポイント２３０は、様々なトラフィック仕様／トラフィック分類（TSPEC/TCLAS）パラメータのような様々なQoSパラメータを確立するために複雑な交渉を行う必要がある。さらに、ラップトップ２６０は、アプリケーション及びオペレーティングシステム（OS）API（Application  Programming  Interfaces）を介して、交渉されたパラメータを実行するためにWLANドライバを構成する必要がある。QoS接続を確立することは、無線ディスプレイ２８０に送信されたオーディオ−ビデオパケットが、ラップトップ２６０とアクセスポイント２３０との間でファイルをダウンロードするトラフィックのような、他のネットワークトラフィックを通して優先度を受けることを保証するのを助ける。
【００３１】
802.11の2007規格に従うQoSスキームは、商品において広く受け入れられていない。Skype（登録商標）、YouTube、及びCisco（登録商標）ソフトフォンのようなビデオ及びボイスアプリケーションは、包括的であるように構成され、QoS及non-QoS  WLANドライバにわたり独立に作用し、従って、アプリケーションは、交渉のためにQoS  APIを組み込まない。言い換えれば、大部分のネットワークアプリケーションは、QoSについてパケットをマークしない。従って、同じクライアントに関して多数のウェブ、オーディオ、ビデオ及びボイスアプリケーションから生じる全てのネットワークパケットは、殆どの場合に同じように扱われ、これは、デフォルトにより「ベストエフォート（BE）」パケットとして扱われる。結果として、アプリケーションは、無線ネットワークに関する乏しい状態を受け、汎用のクライアントに乏しいユーザエクスペリエンス（user  experience）を生じさせる。さらに、WLANのQoS規格の定義は、アクセスポイントとクライアントとの間の通信にのみ適用される。WLAN  QoS規格は、クライアント間の通信に対処しない。言い換えれば、この規格は、ラップトップ２６０と無線ディスプレイ２８０との間のダイレクトリンク２７０のような通信に対処しない。
【００３２】
2007規格に従うQoSスキームが広く受け入れられていない別の理由は、QoS交渉に関連する過剰なチャネル帯域幅の使用による。使用データは、WLANチャネルが、クライアントとアクセスポイントとの間で過剰なQoS交渉及びカウンタ交渉を頻繁に受け、管理トラフィックを氾濫させることでチャネルを悪化させることを示す。過剰な設計、実現及び構成の複雑さの結果として、大部分のクライアントは、QoSの機能を有効にしない。
【００３３】
2007規格に従ってQoSを実現する代わりに、実施の形態は、様々なTSPEC/TCLAS及び他のQoSパラメータを確定するため、複雑な交渉を行うことなしに、様々なパケットを送信するためにQoSを実現する。ラップトップ２６０内で優先順位付けエンジンを有する実施の形態は、ラップトップ２６０のアプリケーションにより送出されたパケットストリームを分離する。パケットストリームの分離において、実施の形態は、所定のトラフィックストリームが、所定のMPEG2/MPEG4、高精細（HD）、又はウェブアプリケーションのトラフィックパターンに整合するトラフィックパターンを有することを判定する。
【００３４】
１以上のトラフィックストリームが既知のアプリケーションのトラフィックパターンに整合することの判定に応じて、エンジンは、幾つかのストリームがQoSの優先度の扱いを受けるとき、異なる扱いについて異なるパケットストリームを分類する。エンジンは、IPパケット６００のヘッダ情報におけるDiffserv（Differentiated  Services）フィールド６１０のビットを設定することによるような、異なるQoSストリームに属するパケットをマークする。Diffserveフィールド６１０は、ネットワーク伝送経路に沿ってそれぞれのルータ又はステーションにより処理されたときにパケットが受けるべきサービスのレベルを示す。Diffserveフィールド６１０の可能性のある値のそれぞれは、QoSポリシーにマッピングされ、それぞれのマッピングは、DSCP（Differentiated  Services  CodePoint）と呼ばれる。優先順位付けエンジンが異なるQoSストリームに属するパケットをマークした後、優先順位付けエンジンは、他のBEパケットとは異なるストリームを処理し、QoSストリームのパケットを送信のために１以上のQoS優先順位付けキューに配置する。
【００３５】
通信ネットワーク２００における装置のタイプは、異なる実施の形態で変わる。たとえば、１つの代替的な実施の形態では、ラップトップ２６０は、UMPC（Ultra-Mobile  Personal  Computer）を備える。他の代替的な実施の形態では、ラップトップ２６０は、MID（Mobile  Internet  Device）又はスマートフォンを有する。ワイヤレスディスプレイ２８０は、ステレオがストリーミングオーディオを受信及び再生するのを可能にするビルトイン無線通信機能を有するホームステレオのような、無線通信機能をもつ別のタイプの周辺装置を備えている。
【００３６】
更なる実施の形態では、ラップトップ２６０は、無線ディスプレイ２８０及び／又はアクセスポイント２３０と通信するために内部無線NICを採用するデスクトップコンピュータを備える。通信ネットワーク２００は、様々な異なる802.11ステーションのうちの１つを備える。多くの実施の形態は、アクセスポイントとクライアントとの間で送出されるパケットに影響を及ぼす場合がある。他の実施の形態は、あるクライアントと別のクライアントとの間で送出されるパケットに影響を及ぼす場合がある。
【００３７】
図２の議論において、通信ネットワーク２００は、IEEE802.11規格に準拠するWLANとして記載されたが、代替的な実施の形態について、通信ネットワーク２００は、GSM（登録商標）モバイル通信ネットワークを備える。さらに、他の代替的な実施の形態では、GSM（登録商標）システムのパケット交換データ伝送システムGPRS（General  Packet  Radio  Service）及び低電力無線シグナリングに基づいたLPRF（低電力RF）のような、他のデータ送信のソリューションが代替的な実施の形態と共に適用される場合がある。更なる代替的な実施の形態では、通信ネットワーク２００のステーションは、802.16，3G又は4Gのような他の無線技術を採用する場合がある。
【００３８】
図２に示される単一のラップトップ及び周辺装置は、通信ネットワーク２００の１つのシナリオ又はアレンジメントを例示する。他の実施の形態では、通信ネットワーク２００は、クライアント間（ピアツーピア）通信及び／又はアクセスポイントとクライアントとの間の通信に含まれる多くの装置を有する場合がある。例えば、ラップトップ２６０は、ダイレクトリンク２７０を通して無線ディスプレイ２８０と通信するとき、及び更なるダイレクトリンクを通して別のモバイル装置と通信するとき、QoS処理についてパケットをマークする。
【００３９】
ラップトップ２６０又は他の無線通信装置が明示的な管理交渉を行うことなしにどのように無線トラフィックのQoSパケットを処理するかをさらに詳細に例示するため、図３を参照する。図３は、優先順序付けエンジン３１０が交渉されないQoSスキームをどのように実現し、無線ネットワークのアダプタドライバ３００を介してQoSパケットをどのように処理するかを例示する。すなわち、１以上の実施の形態は、ネットワークアダプタドライバのレベルで優先順位付けエンジン３１０を実現する。ドライバ３００により制御されるネットワークアダプタは、IEEE802.11e又はWi-Fi  Alliance（WMM（登録商標））の規格のような１以上の標準的な通信プロトコルをサポートする。１以上の規格をサポートして、ネットワークアダプタは、QoSパケットとしてマークされたパケットを受信して、パケット伝送経路において、対応するQoSカテゴリの伝送キューに従ってパケットを送出する。たとえば、ネットワークアダプタは、ドライバ３００から対応するQoSアクセスのカテゴリをもつビデオ（VI）パケット又はボイス（VO）パケットを受信し、それぞれのVI又はVO伝送キューをそれぞれ使用して、VI又はVOのQoSアクセスカテゴリに従ってパケットを送出する。
【００４０】
優先順位付けエンジン３１０は、無線局で実行しているアプリケーションからマークされていないネットワークパケット（エレメント３０５）を受信する。例として、図２を参照して、ラップトップ２６０は、様々なアプリケーションを実行し、無線通信を使用して無線ディスプレイ２８０及びアクセスポイント２３０と通信する。ラップトップ２６０のユーザは、無線ディスプレイ２８０でDVDを再生するためにマルチメディアアプリケーションを使用している。同時に、ユーザは、VoIPアプリケーションを介してインターネット２１０を通して誰かと話しており、FTPアプリケーションを使用してファイルをダウンロードしたり、インターネット２１０の電子メールサーバと周期的に通信するラップトップ２６０のバックグランドで電子メールのアプリケーションを実行させている。
【００４１】
マルチメディア、VoIP、FTP及び電子メールのアプリケーションから無線パケットのQoSの優先順位の形式的な交渉を有することなしに、従来技術のバージョンのラップトップ２６０は、等しい優先順位をもつアプリケーションのそれぞれから全てのパケットを処理し、パケットを送信するためにWLANの「ベストエフォート“Best  Effort”」スキームを採用する。対照的に、優先順位付けエンジン３１０を採用するラップトップは、形式的な交渉を必要とすることなしに、出力されるトラフィックについて、トラフィックフローの分類についてポリシー及び基準のセットを実現する。実施の形態によれば、優先順位付けエンジン３１０は、送信されることを必要とするアプリケーションからのパケット（エレメント３０５）を受信する。優先順位付けエンジン３１０は、アプリケーションにより送出されるパケットストリームを分離する。たとえば、優先順位付けエンジン３１０は、マルチメディア、VoIP、FTP、及び電子メールアプリケーションからのパケットのストリームを分離する。
【００４２】
１以上のメカニズムを使用して、優先順位付けエンジン３１０は、あるストリームが特定のアプリケーションに整合するトラフィックパターンを有することを認識することのように、１以上のトラフィックストリームを識別する。例は、リンク２７０を介して無線ディスプレイ２８０に送信されているマルチメディアアプリケーションからのストリームがMPEG2/MPEG4オーディオ−ビデオストリームに整合することを認識する優先順位付けエンジン３１０である。優先順位付けエンジン３１０は、VoIPアプリケーションからのストリームがボイスアプリケーションストリームに整合することを更に判定し、FTP及び電子メールストリームがウェブアプリケーションのストリームに整合することを判定する。
【００４３】
また、優先順位付けエンジン３１０は、適切なQoS処理のために異なるパケットストリームを分類する。たとえば、送信されたストリームの幾つかが、許容可能なユーザのパフォーマンスについて遅延された送信を許容することができないビデオ及び音声のアプリケーションに整合することを判定することに応じて、優先順位付けエンジン３１０は、ウェブアプリケーションよりも高い送信の優先度を有するとして、ビデオ及び音声のアプリケーションについてパケットを分類する。決定された分類及び優先度に従って、優先順位付けエンジン３１０は、異なるストリームに属するパケットをマークする。たとえば、優先順位付けエンジン３１０は、DVDマルチメディアアプリケーション及びVoIPアプリケーションに属するパケットをマークし、これらのアプリケーションが優先的な扱いを受けるのを可能にし、ウェブアプリケーションのパケットをBE処理についてマークされていないままにするか、又は、差別化された処理について代替となる優先度の仕様／分類によりマークされる。
【００４４】
無線ネットワークアダプタドライバ３００は、マークされたQoSアクセスカテゴリに従って、異なる伝送キュー３３０、動的に割り当てられたキュー３３５、及び様々な先入れ先出し（FIFO）バッファ３４０を使用して、ビデオストリーム３２０及びボイスストリーム３２５についてQoSがマークされたパケットを処理し、同様に、ベストエフォートストリーム３１５のパケットを処理する。言い換えれば、ドライバ３００は、共有される伝送媒体にアクセスするため、異なる伝送キュー３３０を異なる優先度と関連付けし、共有される伝送媒体は、区別されたQoSを提供する。すなわち、ドライバ３００は、BEストリーム３１５のパケットを通してビデオ及びボイスパケットの優先度を与えるキュー３３０及びFIFOバッファ３４０を使用して、ビデオストリーム３２０及びボイスストリーム３３０のパケットを処理し、BEパケットよりも少ない遅延をもつビデオ及びボイスパケットを送信する。
【００４５】
図３は、実施の形態がQoS処理について以前に区別されておらず且つマークされていないパケットをどのように受信するかを例示する。図３及び関連する記載を調べることにおいて、実施の形態において、出力される（エグレス）ネットワークトラフィックについて区別されたQoSを提供することで、無線ドライバの機能がどのように拡張されるかが理解される。実施の形態は、特定のアプリケーションのサポートを必要とすることなしに、係る区別されたQoSの機能を提供する。言い換えれば、実施の形態は、アプリケーションがパケットをQoSパケットとしてマークすることなしに、QoSの優先順位付けをもつパケットを処理する。
【００４６】
図４は、NNQ優先順位付けエンジンがどのようにQoSポリシーをどのように実現するかを例示する。送信されることを必要とするそれぞれのパケットについて、優先順位付けエンジンは、フィルタ４２０のような幾つかの分類フィルタを使用してそれぞれのパケットを処理する。はじめに、１以上の実施の形態の優先順位付けエンジンは、ソースのIPアドレス４２４、ソースのTCP（Transmission  Control  Protocol）ポートアドレス４２６、宛先のIPアドレス４２８、宛先のTCPポートアドレス４３０、及びプロトコル４３２を含む固有の５つの要素からなるデータを使用して、トラフィックストリームを識別する。図３のフィルタ４２０により例示されるように、ある整合を発見するために５つの要素からなるデータを使用することは、１つの実施の形態である。
【００４７】
代替的な実施の形態は、代替的及び／又は付加的な方法を採用して、様々なトラフィックストリームを識別する。言い換えれば、図３に係る５つの要素の整合を決定することは、１実施の形態の例示である。代替的な実施の形態は、必ずしも、５つの要素からなるデータを調べることに限定されない。さらに、実施の形態は、UDP（User  Datagram  Protocol）トラフィックのマッチングパケットのような他のタイプのトラフィック、又は、無線で送信されるピアツーピアビデオトラフィックのような他のポイントツーポイントのトラフィックにも整合する。
【００４８】
NNQ優先順位付けエンジンは、異なるパケットフィールドをチェックするために異なるフィルタを使用する。パケットを調べて、１以上のフィールドの値が予め決定された基準に整合すると判定したことに応じて、優先順位付けエンジンは、パケットが対応するQoSのアクセスカテゴリに属することを示すために、パケット及びストリームの他のパケットをマークする。たとえば、あるパケットがソースIPアドレス＝192.168.2.1、ソースポート番号＝201、プロトコルタイプ＝RTP（Real-time  Transport  Protocol）である場合、優先順位付けエンジンは、パケットがビデオ“VI”のQoSカテゴリ４４０に整合することを判定し、パケットをVIパケットとして記録する。あるパケットがソースIPアドレス＝192.168.2.1、ソースポート番号＝301、及びプロトコルタイプ＝RTSP（Real  Time  Streaming  Protocol）である場合、優先順位付けエンジンは、パケットがボイス“VO”のQoSカテゴリ４５０に整合することを判定し、パケットをVOパケットとしてマークする。
【００４９】
様々な実施の形態は、NNQエンジンが、フロー毎のトラフィックパターンのマッチングメカニズム４１５を使用することで値を識別するとき、パケットフィルタの適応的なコンフィギュレーションを可能にする。幾つかの実施の形態は、ネットワークドライバのユーザインタフェースに基づくアプリケーション４５５を使用することによるような、パケットフィルタの手動的なコンフィギュレーションを付加的に又は代替的に可能にする。適応的なパターンマッチングメカニズム４１５を有する実施の形態について、実施の形態は、それぞれのコネクションフローをモニタし、特定のパターンについてトラフィックフローを分析する。特定の例として、実施の形態は、パケットデータレートに関連するパターンについてトラフィックフローをモニタして分析する。
【００５０】
優先順位付けエンジンが、トラフィックフローのパターンが既知のQoSアプリケーション又は仕様のパターンに整合することを判定した場合、優先順序付けエンジンはそのフローについて新たなフィルタのエントリを追加する。たとえば、ユーザは、インターネットの無線局からのオーディオコンテンツを受信及び再生可能なイーサネット（登録商標）対応ホームステレオシステムを所有する場合がある。たとえば、ユーザはインターネット上の特定の無線局に同調した後、及びステレオシステムがアクセスポイント２３０と無線通信リンクを確立した後、アクセスポイント２３０に位置される優先順位付けエンジンは、オーディオストリームのパケットを分析し、パケットがインターネット無線局からのオーディオコンテンツに知られるソースIPアドレス及びソースポート番号から送信されていることを認識し、フィルタ４２０がVIのQoSカテゴリを既に有さない場合に、“AU”又は“VI”のQoSカテゴリ４２２を持つフィルタ４２０に新たなエントリを動的に追加する。特定のフィルタのエントリにより、アクセスポイント２３０は、インターネット無線局から送信された後続するパケットに優先順位を付け、たとえば優先順位が低いファイル転送パケットがラップトップ２６０に送信される前に、優先順位が付されたパケットを送信する。
【００５１】
図４は、特定のトラフィック分類の基準を介してQoS処理を可能にする幾つかの実施の形態を例示するものである。しかし、代替的な実施の形態は、図４に例示される特定のトラフィック分類技術に限定されるものではない。代替的な実施の形態のNNQの優先順位付けのエンジンは、多くの異なる形式のトラフィックの分類の基準を使用する。ある実施の形態は、例として、RTP、RTSP、TCP及びUDPのような、明示的なトラフィックプロトコル識別子に基づいてトラフィックを分類する。ある実施の形態は、イングレス及びエグレストラフィックストリームに基づいてパケットを識別する。ある実施の形態は、トラフィック又は制御の終点である既知のポートの使用に基づいて、トラフィックフローパターンの整合を判定する。
【００５２】
実施の形態は、64バイトの音声パターンを有するパケットを認識することのような、パケットサイズを使用してQoSアプリケーションについてパターンの整合を判定する。幾つかの実施の形態は、パケットのイングレス及びエグレスの到着率に基づいてQoSアプリケーションのパターンを整合する。たとえば、実施の形態は、あるストリームの毎秒当たりに送信されるフレーム数が標準精細度テレビジョン（SDTV）又は高精細度テレビジョン（HDTV）の特定の伝送規格に整合することを判定する。代替的に、ある実施の形態は、20ミリ秒当たり１度の割合で送信される、毎秒当たり送信されるフレームの数が既知の音声のアプリケーションの音声パケットの伝送レートに整合することを判定する。さらに、代替的な実施の形態は、ビデオトラフィックのタイプを識別するためにDPI（Deep  Packet  Inspection）を採用する。たとえば、ある実施の形態は、DPIを採用して、ビデオストリームのフラグメント、MPEG2  I/P/Bフレーム、SDTVパケット及び／HDTVパケットを識別するためにDPIを採用する。
【００５３】
図１から図４は、旧式のnon-QoSアプリケーションを含む異なるアプリケーションが、無線通信チャネルでQoSの優先度を得るのを可能にすることを例示するものである。優先順位付けエンジンの動作は、QoSのパケット処理が複雑なQoS交渉及びカウンタ交渉を除くのを可能にする。これは、ネットワークアプリケーションが、アプリケーションのパケットのQoSの優先度を確定することを必要とされないからである。
【００５４】
図５は、交渉されていないQoS環境においてパケットを受信、分類及び送出するとき、実施の形態が採用するプロセス５００を示す。実施の形態では、無線ネットワークカード及び関連するドライバソフトウェアは、別の無線局に無線で送信されることが意図される１以上のパケットを送出するため、アプリケーションを待つ（エレメント５１０）。例示のため、図２を参照して、ラップトップ２６０のユーザは、無線ディスプレイ２８０でDVDの動画を再生する間、インターネット２１０から大きなCD  ISOイメージ（International  Organization  for  Standardization  Compact  Disc  Image）をダウンロードする。ISOイメージをダウンロードするアプリケーションは、ウェブブラウジングアプリケーションであり、DVDの動画を再生するアプリケーションは、マルチメディアの再生アプリケーションである。
【００５５】
ドライバソフトウェアが、ウェブブラウジングアプリケーション又はマルチメディア再生アプリケーションからといった、無線伝送のためにパケットを受信したとき（エレメント５１５）、ドライバの優先順序付けエンジンは、多数の動作に従事して、QoS処理のためにパケットを分類してマークする。優先順位付けエンジンは、はじめに、パケットの値の５つの要素からなるセットの１以上の値があるフィルタのテーブルのエントリに整合するかを判定する（エレメント５２０）。たとえば、優先順位付けエンジンは、無線ディスプレイ２８０に送信されることを必要とするマルチメディア再生アプリケーションからオーディオビデオパケットを受信する。優先順位付けエンジンは、パケットの５つの要素からなる宛先のIPアドレス及び宛先ポートが無線ディスプレイ２８０の宛先IPアドレス及び宛先ポートに整合することを判定する。無線ディスプレイ２８０がオンされ、初期化プロセスを経由するときは何時でも、無線ディスプレイ２８０は、ラップトップ２６０とピアツーピアの関連を形成する。関連付けの動作の一部として、ネットワークドライバのソフトウェアは、フィルタテーブルにおいてエントリを作成し、このエントリは、無線ディスプレイ２８０の特定のポートに送信されるパケットがビデオパケットであり、「ビデオ」QoSの分類カテゴリを有することを確定する。フィルタテーブルにおける予め確定されたエントリを使用して、優先順位付けエンジンは、パケットが、パケットマッチの宛先IのPアドレス及び宛先のポートに基づいて「ビデオ」パケットであることを判定する。
【００５６】
パケットと確定されたQoSカテゴリとの整合に応じて、優先順位付けエンジンは、整合されたQoSカテゴリに従ってパケットをマークし（エレメント５２５）、更なる処理及び送信のため、あるキューにパケットを送出する（エレメント５３０）。前の例を続けて、優先順序付けエンジンは、パケットヘッダを介して「ビデオ」又は「VI」パケットとしてパケットをマークし、パケットを高い優先度のQoSのキューに配置する。パケットをキューに配置することに応じて、実施の形態は、無線伝送のために１以上のパケットを送出するために、アプリケーションを待つことに戻る（エレメント５１０）。
【００５７】
パケットの５つの要素からなるセットの値がフィルタのテーブルのエントリに整合しないことを優先順位付けエンジンが判定した場合（ステップ５２０）、優先順位付けエンジンは、トラフィックフローデータに従ってパケットを分類するのを試みる（エレメント５３５）。トラフィックフローデータに従ってパケットを分類する１つの方法は、既知のQoSトラフィックパターンにパケットのトラフィックフローのデータを整合させることを含む（エレメント５４０）。既知のQoSトラフィックパターンにパケットのトラフィックフローのデータを整合させる例は、ある実施の形態について、パケットのソースIPアドレス及びソースポート及び／又は宛先IPアドレス及び宛先ポートを、アプリケーションが使用するIPアドレスとポートを一覧にする既知のアプリケーションのテーブルと比較する。別の例は、実施の形態について、パケットのトラフィックプロトコルの識別子を、アプリケーションが使用するプロトコル及びパケットサイズを一覧にする既知のアプリケーションのテーブルと比較することである。
【００５８】
トラフィックフローのデータに従ってパケットを分類する別の方法は、パケットデータの突っ込んだ分析を含む（エレメント５５０）。DPIの例は、優先順位付けエンジンがパケットのデータを調べ、ビデオストリームのフラグメントをHDTV符号化されたビデオセグメントとして識別することを含む。優先順序付けエンジンが、パケットのトラフィックフローのデータが既知のQoSトラフィックパターンに整合すると判定した場合（エレメント５４０）、又はパケットが既知のQoSトラフィックパターンに整合することをDPIが示した場合（エレメント５５０）、ある実施の形態は、パケットの５つの要素からなるデータをフィルタテーブルに追加することによるような、QoSトラフィックフローの新たなフィルタのエントリを追加する（エレメント５４５）。
【００５９】
QoSトラフィックのフローをフィルタに追加することに応じて（エレメント５４５）、実施の形態は、追加されたQoSのカテゴリに従ってパケットをマークすること（エレメント５２５）、更なる処理及び送信のためにあるキューにパケットを送出することで（エレメント５３０）、継続する。代替的に、実施の形態が既知のQoSトラフィックパターンをマッチングすること（エレメント５４０）、又はDPI（エレメント５５０）により、トラフィックフローにパケットを分類することができない場合、実施の形態は、パケットをマークされないままにし、パケットを１以上のBEキューに送出する（エレメント５６０）。パケットをマークされないままにする代わりに、代替的な実施の形態は、QoSのトラフィックフローについて新たな低い優先度のフィルタのエントリを作成し、新たに作成されたQoSのカテゴリに従ってパケットをマークし、更なる処理及び送信のため、あるキューにパケットを送出する（エレメント５３０）。装置７００の１以上のエレメントは、ハードウェア、ソフトウェア、又はハードウェアとソフトウェアの両者の組み合わせの形式である。たとえば、図７に示される実施の形態では、装置７００のモジュールは、メモリ装置で記憶される命令がコード化されたモジュールとして存在する。たとえば、モジュールは、ネットワークインタフェースカードのプロセッサにより実行される、アプリケーションのソフトウェア又はファームウェア命令を含んでおり、NICは、コンピューティングシステムの一部である。言い換えれば、装置７００は、無線ネットワークにおけるステーションのエレメントを備える場合がある。
【００６０】
代替的な実施の形態では、装置７００の１以上のモジュールは、ハードウェアのみのモジュールを備える。たとえば、レシーバモジュール７１０及び分析モジュール７２０は、コンピューティング装置において、メモリエレメント及びステートマシンを有する集積回路チップの一部を備える。係る実施の形態では、レシーバモジュール７１０のメモリエレメントは、分析モジュール７２０のステートマシンと共に機能し、分析モジュール７２０がQoSのマークのためにパケットを分析するまで、受信されたパケットのデータをバッファリングする。
【００６１】
レシーバモジュール７１０は、装置７００から送信されるべきパケットのヘッダ及びペイロードデータを受信して記憶する。たとえば、レシーバモジュール７１０は、ネットワークインタフェースカードにおけるワイヤレスアンテナに結合されるメモリエレメントを備える。１実施の形態では、レシーバモジュール７１０は、図２における無線ディスプレイ２８０のような、無線ネットワークの別のステーションへの無線伝送のためにパケットを生成するマルチメディアアプリケーションのような、ネットワーキングアプリケーションからペイロードデータを受信する。
【００６２】
ネットワーキングアプリケーションは、どのデータのバイト又はペイロードが送信されるべきかを装置７００に示す。さらに、ネットワーキングアプリケーションは、ヘッダデータを装置７００に転送することで、ペイロードデータがBE  QoS処理を使用して転送されるべきことを装置７００に指示する。たとえば、ネットワーキングアプリケーションは、パケットセットアップデータ及び他のパラメータ又は設定を、ペイロードデータと共にレシーバモジュール７１０に転送する。セットアップデータ又は他のパラメータは、QoSモジュール７３０がセットアップデータ又は他のパラメータに基づいてパケットのヘッダデータ及びペイロードデータを組み立てるのを可能にする。代替的に、ネットワーキングアプリケーションは、ペイロードデータについて特定のQoSカテゴリを指定せず、QoSモジュール７３０は、ヘッダデータを組み立て又は作成するときに、デフォルトのBE  QoSになる。
【００６３】
明確さのために強調に値することは、用語「ヘッダデータ」は、パケットのペイロードデータに直接先行して送信されるデータのバイトを示す。たとえば、ヘッダデータは、図６Ａにおけるワード＃０〜ワード＃１４を含むか、又は図６Ｂに示されるＩＰｖ６ヘッダ６５０の４０バイトを含む。さらに、用語「ヘッダデータ」は、パケットのヘッダを組み立てるために使用されるネットワーキングアプリケーションにより提供されるデータを示す。たとえば、ネットワーキングアプリケーションは、“QoS_AC=BE”のような所定の伝送パラメータ又は設定を指定し、するとQoSモジュール７３０は、DiffServフィールド６１０のビットを設定することによるように、パラメータを使用してパケットヘッダを作成する。
【００６４】
分析モジュール７２０は、レシーバモジュール７１０と共に機能し、パケットのヘッダデータ、パケットのペイロードデータ、又はそれらの両者を分析する。たとえば、分析モジュール７２０は、通信装置１９２のドライバの、メモリ１０２に記憶されるコード化された命令を実行するプロセッサ１５０を備える。レシーバモジュール７１０は、通信装置１９２の受信回路に結合されるバッファリングメモリエレメントを備える。ネットワーキングアプリケーションは、メモリ１０２に記憶され、プロセッサ１５０により実行されるソフトフォンアプリケーションを備える。レシーバモジュール７１０がソフトフォンアプリケーションからのデータのパケットを受信した後、分析モジュール７２０の優先順位付けエンジンは、はじめに、パケットの値の５つの要素からなるセットの１以上の値がフィルタテーブルのエントリに整合するかを判定する。フィルタテーブルにおける予め確定されたエントリとの整合に基づいて、優先順位付けエンジンは、パケットの整合の宛先アドレス及び宛先ポートに基づいて、パケットが「ボイス」パケットであることを判定する。
【００６５】
既存のQoSアクセスのカテゴリとの整合を判定することに応じて、QoSモジュール７３０は、装置７００を備えるステーションを含む、無線ネットワークのステーションを介してパケットのQoS処理を可能にするためにパケットをマークする。例を継続して、QoSモジュール７３０は、通信装置１９２の優先順位付けエンジン及びドライバのコンポーネントを備える。「ボイス」（VO）QoSアクセスカテゴリとの整合に基づいて、QoSモジュール７３０は、パケットヘッダを介して“VO”パケットとしてパケットをマークし、パケットを高い優先度の“VO”QoSキューに配置する。たとえば、QoSモジュール７３０は、図６Ａに例示されるDiffServフィールド６１０においてビットを設定するか、又は図６Ｂに例示されるトラフィック分類フィールド６６０及び／又はフローラベルフィールド６７０においてビットを設定する。
【００６６】
装置７００の実施の形態においてモジュールの数が変わる場合がある。幾つかの実施の形態は、図７に示されるモジュールよりも少ないモジュールを有する場合がある。例えば、１実施の形態は、分析モジュール７２０により記載及び／又は実行される機能をQoSモジュール７３０の機能と１つのモジュールに統合する。更なる実施の形態は、図７に示されるものよりも多くのモジュール又はエレメントを含む。たとえば、代替的な実施の形態は、２以上のレシーバモジュール７１０及び２以上の分析モジュール７２０を含む。
【００６７】
装置７００は、802.11e又は旧式の802.11無線通信ネットワークのステーションにおけるコンポーネントを備える。デフォルト設定により、無線LANのステーションは、CAM（Constant  Access  Mode）で動作し、このCAMは、ステーションが常にトラフィックの受付待ちであることを意味する。装置７００を含むシステムがハンドフォン又は他の携帯装置のようなバッテリにより電力が供給される装置を有するときのように、電力を節約するため、装置７００は、アップリンクデータフレームを送出することでアクセスポイントからバッファリングされたデータの解放をトリガする。係るデータの受信又はフレームのトリガに応じて、APは、そのキューのそれぞれに記憶される前にバッファリングされたデータを解放する。キューは、トリガとして作用するキューに対応するデータフレームの受信によるような「トリガが有効」となるように、あるフレームの受信に応じてキューに記憶されるデータを解放することによるような「デリバリが有効」となるように構成される。
【００６８】
さらに、装置７００を備えるシステムは、フレームを失うことなしに、PAM（Polled  Access  Mode）と呼ばれるスリープモードに入る。PAMでは、APは、システムがスリープモードから出るまで、装置７００についてパケットをバッファリングする。APは、システム及び他のステーションがTIM（Traffic  Information  Maps）と呼ばれるフレーム内でそれらのフレームを有する情報を送出する。クライアントは、TIMを受け、クライアントが休止状態に進む前にクライアントについてバッファリングされている如何なるフレームを受けるに十分に長くオンにされている。ブロードキャストトラフィックが利用可能である場合、APは、DTIM（Delivery  Traffic  Information  Map）を送出する。
【００６９】
別の実施の形態は、図１〜７を参照して記載されるシステム及び方法を実現するプログラムプロダクトとして実現される。実施の形態は、全体としてハードウェアの実施の形態、全体としてソフトウェアの実施の形態又はハードウェアとソフトウェアのエレメントの両者を含む実施の形態の形式を取ることができる。１実施の形態は、ソフトウェアで実現され、このソフトウェアは、限定されるものではないが、ファームウェア、常駐ソフトウェア、マイクロコード等を含む。
【００７０】
さらに、実施の形態は、コンピュータ又は命令実行システムによる使用向けのプログラムコード、或いはコンピュータ又は命令実行システムとの使用向けのプログラムコードを提供するコンピュータ使用可能又はコンピュータ読み取り可能な媒体からアクセス可能なコンピュータプログラムプロダクトの形式を取ることができる。この記載の目的のため、コンピュータ使用可能又はコンピュータ読み取り可能な媒体は、命令実行システム、装置又はデバイスによる仕様向けのプログラム、或いは、命令実行システム、装置又はデバイスとの使用むけのプログラムを包含、記憶、伝搬又は転送する装置とすることができる。
【００７１】
媒体は、電子的、磁気的、光学的、電磁的、赤外線又は半導体システム（或いは装置又はデバイス）或いは伝送媒体とすることができる。コンピュータ読み取り可能な媒体の例は、半導体又は固体メモリ、磁気テープ、取り外し可能なコンピュータディスク、RAM（Random  Access  Memory）、ROM（Read  Only  Memory）、剛体の磁気ディスク及び光ディスクを含む。光ディスクの例は、コンパクトディスク・リードオンリメモリ（CD-ROM）、コンパクトディスク・リード／ライト（CD-R/W）及びDVDを含む。
【００７２】
プログラムコードを記憶及び／又は実行するために適したデータ処理システムは、システムバスを介してメモリエレメントに直接的又は間接的に結合される少なくとも１つのプロセッサを含む。メモリエレメントは、実行の間にバルクからコードが検索される回数を低減するため、少なくとも幾つかのプログラムコードの一時的な記憶を提供するプログラムコード、バルクストレージ及びキャッシュメモリの実際の実行の間に使用されるローカルメモリを含む。
【００７３】
入力／出力又はI/O装置（限定されるものではないが、キーボード、ディスプレイ、ポインティングデバイス等）は、I/Oコントローラに直接又は間接に介入するシステムに結合される。ネットワークアダプタは、データ処理システムがプライベート又はパブリックネットワークに介入する他のデータ処理システム又はリモートプリンタ又はストレージデバイスに結合されるのを可能にするためにシステムに結合される。モデム、ケーブルモデム及びイーサネット（登録商標）アダプタカードは、現在利用可能なタイプのネットワークアダプタである。
【００７４】
上述されたロジックは、集積回路チップの設計の一部である。チップの設計は、グラフィカルコンピュータプログラミング言語で作成され、（ディスク、テープ、物理的なハードドライブ、又は、ストレージアクセスネットワークにおけるような仮想的なハードドライブのような）コンピュータ記憶媒体に記憶される。設計者がチップを製造しない場合、又はチップを製造するために使用されるフォトリソグラフィマスクを製造しない場合、設計者は、結果として得られた設計を物理的な手段（たとえば設計を記憶している記憶手段のコピーを提供することで）又は電子的な手段（たとえばインターネットを通して）により係るエンティティに直接又は間接的に送信する。次いで、記憶された設計は、ウェハー上に形成される問題となるチップの設計の多数のコピーを典型的に含むフォトリソグラフィマスクの製造のために適切なフォーマット（たとえばGDSI）に変換される。フォトリソグラフィマスクは、エッチング又はさもなければ処理されるウェハー（及び／又はその上のレイヤ）の領域を定義するために利用される。
【００７５】
結果として得られる集積回路チップは、未処理のウェハーの形式で（すなわち、多数のパッケージングされていないチップを有する１つのウェハーとして）、ベアダイ（bare  die）として又はパッケージされた形式で、製造業者により分散される。後者のケースでは、チップは、（マザーボード又は他の高水準のキャリアに取り付けられるリードによるプラスティックキャリアのような）シングルチップパッケージ、（表面の相互接続または埋め込まれた相互接続の何れか又は両者を有するセラミックキャリアのような）マルチチップパッケージに搭載される。何れのケースの場合、チップは、他のチップ、ディスクリート回路素子、及び／又は、（ａ）マザーボードのような中間プロダクト又は（ｂ）エンドプロダクトのいずれかの一部としての他の信号処理装置と統合される。エンドプロダクトは、玩具及び他のロウエンドアプリケーションから、ディスプレイ、キーボード又は他の入力装置及びセントラルプロセッサを有する最新のコンピュータプロダクトに及ぶ、集積回路チップを含むプロダクトとすることができる。
【００７６】
この開示の利益を有する当業者にとって、本明細書の開示は、無線ネットワークに関連する通信装置について、明示的な管理の交渉をもたない、無線トラフィックのQoS処理を想定していることが明らかであろう。詳細な説明に記載及び図面に図示される実施の形態の形式は、単なる例として解釈されるべきであることを理解されたい。以下の特許請求の範囲は開示される例示的な実施の形態の全ての変形例を広く包含するように解釈されることが意図される。
【００７７】
本発明の開示は、幾つかの実施の形態について詳細に記載されたが、様々な変形、置換及び変更は、特許請求の範囲により定義されるように、本発明の開示の精神及び範囲から逸脱することなしに行うことができることを理解されたい。特定の実施の形態は、多数の目的を達成するが、特許請求の範囲の含まれる全ての実施の形態が、全ての目的を達成するものではない。さらに、本発明の開示の範囲は、本明細書に記載されるプロセス、マシン、製造、事物の組成、手段、方法及びステップの特定の実施の形態に限定されることが意図されない。当業者であれば本発明の開示から容易に明らかであるように、本明細書に記載された対応する実施の形態と同じ機能を実質的に実行するか、又は同じ結果を実質的に達成する既存の、又は後に開発されるプロセス、マシン、製造、事物の組成、手段、方法又はステップが利用される。従って、特許請求の範囲は、係るプロセス、マシン、製造、事物の複合、手段、方法又はステップをこれらの範囲で含むことが意図される。
【図１】
0005536203.tif 000002
【図２】
0005536203.tif 000003
【図３】
0005536203.tif 000004
【図４】
0005536203.tif 000005
【図５】
0005536203.tif 000006
【図６Ａ】
0005536203.tif 000007
【図６Ｂ】
0005536203.tif 000008
【図７】
0005536203.tif 000009