説明

明示的な管理交渉を行わないQoSパケット処理

明示的な管理交渉を行うことなしに、無線トラフィックのQoSパケットを処理する装置、方法、システム及びコンピュータプログラムプロダクトが開示される。実施の形態は、無線通信機能をもつモバイルコンピューティング装置を備える。モバイルコンピューティング装置は、アクセスポイントと関連付け又は接続するか、無線機能をもつ周辺装置のような別のクライアント装置と通信するクライアントである。モバイルコンピューティング装置は、モバイルコンピューティング装置から送信される無線パケットのトラフィックをモニタする。たとえば、モバイルコンピューティング装置は、ビデオストリーミングアプリケーションから、たとえば無線通信機能を有するLCDモニタを備える周辺装置に送信されるパケットをモニタする。モバイルコンピューティング装置は、ビデオストリーミングアプリケーションがビデオストリームのパケットをQoSパケットとしてマークしない場合でさえ、ビデオストリームのパケットをQoSパケットとしてマークし、マークされたパケットを優先処理のためにQoSキューに配置する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、通信の分野に関するものであり、より詳細には、明示的な管理交渉(control negotiation)を行わない無線トラフィックのQoS(Quality of Service)処理に関するものである。
【背景技術】
【0002】
【特許文献1】US 2007-0019665 A1
【特許文献2】JP 2003-087300 A
【特許文献3】US 2007-0025325 A1
【特許文献4】US 6865609 B1
【発明の概要】
【発明が解決しようとする課題】
【0003】
本発明の目的は、明示的な管理交渉を行うことなしに、無線トラフィックのQoS処理を行う方法を提供することにある。
【課題を解決するための手段】
【0004】
以下、添付図面で示される新たな実施の形態が詳細に説明される。しかし、詳細な説明の量は、記載される実施の形態の予想される変形例を制限することが意図されるものではなく、反対に、特許請求の範囲及び詳細な説明は、添付された特許請求の範囲により定義される本発明の教示の精神及び範囲に含まれる全ての変更、等価な概念及び代替をカバーするものである。以下の詳細な説明は、当業者が係る実施の形態を理解可能なものとするために記載される。
【0005】
一般的に、明示的な管理交渉を行うことなしに、無線トラフィックのQoSパケットを処理するためのシステム、装置、方法及びコンピュータプログラムプロダクトが提案される。装置の実施の形態は、無線通信機能をもつモバイルコンピューティング装置である。モバイルコンピューティング装置は、アクセスポイントと関連又は接続し、アクセスポイントと通信するクライアントである。代替的に又は付加的に、モバイルコンピューティング装置は、無線機能をもつ周辺装置のような、別のクライアント装置と通信するクライアント装置である。
【0006】
アクセスポイント又は他のクライアント装置と通信リンクを確立した後、モバイルコンピューティング装置は、モバイルコンピューティング装置から送信されている無線パケットのトラフィックをモニタする。たとえば、モバイルコンピューティング装置は、ビデオストリーミングアプリケーションから周辺装置に送信されているパケットをモニタし、この周辺装置は、無線通信機能を有する液晶ディスプレイ(LCD)を有する。モバイルコンピューティング装置は、QoSデータのトラフィックストリームとしてビデオストリーミングアプリケーションからのストリームを識別し、ビデオストリーミングアプリケーションがそのようにしない場合でさえ、QoSパケットとしてビデオストリームのパケットをマークし、マークされたパケットを優先処理のためにQoSキューに配置する。
【0007】
本実施の形態で開示される様々な実施の形態は、様々な応用で使用される場合がある。幾つかの実施の形態は、たとえば以下の様々なシステム及び装置と共に使用される場合がある。送信機、受信機、トランシーバ、送受信機、無線通信局、無線通信装置、無線アクセスポイント(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ネットワークの一部であるユニット及び/又は装置、1方向及び/又は2方向無線通信システム、セルラー無線電話通信システム、セルラー電話、無線電話、パーソナル通信システム(PCS)装置、無線通信装置を組み込んだPDA装置、MIMO(Multiple Input Multiple Output)トランシーバ又は装置、SIMO(Single Input Multiple Output)トランシーバ又は装置、MISO(Multiple Input Single Output)トランシーバ又は装置、MRC(Multi Receiver Chain)トランシーバ又は装置、「スマートアンテナ」技術又は複数のアンテナ技術を有するトランシーバ又は装置等。
【0008】
幾つかの実施の形態は、たとえば以下の1以上のタイプの無線通信信号と共に使用される。無線周波数(RF)、赤外線(IR)、周波数分割多重化(FDM)、直交OFDM(OFDM)、直交周波数分割多元接続(OFDMA)、時分割多重(TDM)、時分割多元接続(TDMA)、拡張TDMA(E-TDMA)、符号分割多元接続(CDMA)、マルチキャリア変調(MDM)、離散マルチトーン(DMT)、ブルートゥース(RTM)、ZigBee(TM)等。実施の形態は、様々な他の装置、デバイス、システム及び/又はネットワークで使用される。
【0009】
以下に記載される特定の実施の形態の幾つかは特定の構成を持つ実施の形態を参照するものであるが、当業者であれば、この開示の実施の形態は同様の問題又は課題をもつ他の構成と共に実現されることを認識されるであろう。
【図面の簡単な説明】
【0010】
本発明の実施の形態の態様は、以下の詳細な説明を呼むこと、同じ参照符号が同じ構成要素を示している添付図面を参照することで明らかとなるであろう。
【図1】明示的な管理交渉を行うことなしに、無線トラフィックのQoSパケットを処理するシステムの実施の形態を示す図である。
【図2】無線ネットワークにおいてQoSパケットを処理するラップトップの実施の形態を示す図である。
【図3】優先順位付けエンジンが交渉されないQoS(Non-Negotiated QoS)スキームをどのように実現し、無線ネットワークアダプタのドライバを介してQoSパケットをどのように処理するかを例示する図である。
【図4】NNQ優先順位付けエンジンがQoSポリシーをどのように実現するかを例示する図である。
【図5】NNQ環境においてパケットを受信、分類及び送出するときに実施の形態が採用するプロセスを例示する図である。
【図6A】様々な実施の形態に係るインターネットプロトコル(IP)パケットフォーマットを示す図である。
【図6B】インターネットプロトコルバージョン6(IPv6)ヘッダを示す図である。
【図7】明示的な管理交渉を行うことなしに、無線トラフィックのQoS処理を可能にする装置を示す図である。
【発明を実施するための形態】
【0011】
図1を参照して、プロセッサ150、メモリコントローラハブ(MCH)130、メモリ102、及びI/Oコントローラハブ(ICH)134をもつシステム100の実施の形態が表される。幾つかの実施の形態では、システム100は、ノーブック又はデスクトップコンピュータのようなコンピュータシステムを備える。他の実施の形態では、システム100は、例として、パームトップコンピュータ、パーソナルデジタルアシスタント(PDA)、又はモバイルコンピューティングデバイスのような異なるタイプのコンピューティング装置を備える。システム100は、たとえば通信装置192を介して、明示的な管理交渉を行うことなしに、無線トラフィックのためのQoSパケットを処理する。
【0012】
プロセッサ150は、キャッシュ154と結合された1以上のコア152を有する。たとえば、プロセッサ150は、内部プロセッサのキャッシュメモリと結合される4つのコアを有する。プロセッサ150は、幾つかの例を挙げると、ワードプロセッシングアプリケーション、CAD(Computer Aided Design)アプリケーション、FTP(File Transfer Protocol)アプリケーション、又はウェブブラウザのような、システム100のユーザにより実行されるプログラム及びアプリケーションの動作命令を実行する。係るソフトウェアプログラム及び関連する命令は、メモリ102に記憶される。ソフトウェアプログラムは、無線で送信されるデータのパケットを生成する。1以上のプログラムのパケットの幾つかは、オーディオ又はビデオストリーミングアプリケーションのような、システム100のユーザによる許容可能な経験を提供するため、優先処理を必要とする。言い換えれば、プロセッサ150が実行している他のアプリケーションのトラフィックの前にストリーミングアプリケーションのデータが無線で送信されない場合、結果は、途切れ途切れのビデオである場合がある。
【0013】
プロセッサ150は、MCH130と対話することで、メモリ102における命令を実行する。メモリ102を備えるメモリ装置のタイプは、異なる実施の形態において変わる場合がある。幾つかの実施の形態では、メモリ102は、2つの1GBのDRAM(Dynamic Random Access Memory)スティックのような揮発性メモリエレメントを備える場合がある。他の実施の形態では、メモリ102は、不揮発性メモリを有する。たとえば、幾つかの実施の形態では、メモリ102は、4GBのフラッシュメモリカードのようなフラッシュメモリモジュールを備える。
【0014】
ICH134は、プロセッサ150が、キーボード、スキャナ及びデータストレージ装置のような、局所的に結合される外部の周辺装置と対話するのを可能にする。プロセッサ150により実行されているプログラム及びアプリケーションは、外部の周辺装置と対話する。プロセッサ150、メモリ102、及びICH134に結合される様々な装置は、各種の電力量を消費する。電力を節約するため、システム100は、NNQトラフィックに基づいて、様々なプラットフォームレベルの電力管理の動作を実行し、電力を節約するために1以上の様々なモードに入る。たとえば、少なくとも1つの実施の形態では、システム100は、コア152のうちの3つのコアをシャットダウンし、プロセッサ150の1つのコアでのみ実行して電力を節約する。システム100は、通信装置192のような、実行されているアプリケーションの動作、及び/又は装置の動作に基づいて電力を節約することができる。
【0015】
システム100は、アプリケーション及び/又は通信装置192の動作に基づいて、コア152のうちの1以上のコアを異なるパワーレベルに切り替えることで、電力を節約する。たとえば、1実施の形態では、コア152のうちのそれぞれのコアは、6つの異なるパワーレベルで動作する場合がある。第一のパワーレベルは、「パワーレベル0」と呼ばれ、第二のパワーレベルは、「パワーレベル1」と呼ばれ、第六のパワーレベルは、「パワーレベル5」と呼ばれる、等である。
【0016】
他の実施の形態は、1以上の予め定義されたパワーレベル及び/又は電力節約モードを有する。幾つかの実施の形態では、パワースイッチングは、プロセッサ150及び通信装置192の相互のやり取りを介して達成される。たとえば、通信装置192のドライバにおいてプロセッサ150により実行されるパターン分類アルゴリズムは、プロセッサ150及びシステム100の他のチップセットがACPI(Advanced Configuration and Power Interface)“Cx”状態のような他のスリープ状態に切り替えるのを可能にし、及び/又は“P状態”とばれる電力が調節された周波数状態に切り替えるのを可能にする。
【0017】
パワーレベル5のような1つのパワーレベルで動作するとき、コアは、比較的制限されていないやり方で動作する。言い換えれば、このパワーレベルは、命令を処理して、コアができるだけ迅速に無線送信する行うためにデータを準備するために必要とする全ての電力をコアに提供する。しかし、係るやり方で制限されずに動作することは、電流及び関連される大量の電力をコアが消費することになる。逆に、あるコアがパワーレベル0のような異なるパワーレベルで動作するとき、パワーレベル5よりも非常に低速に動作し、パワーレベル5よりも遥かに少ない命令を処理する。この更に制限されたモードにおける動作は、非常に小さい電流を使用してコアが動作するのを可能にする。しかし、より低速に動作することは、コアのパフォーマンスが低減されることになる。たとえば、コア152のうちの全てのコアがパワーレベル1以下で動作するとき、システム100は、通信装置192の連続操作のようなシステム100の所定の動作をサポートすることができない。しかし、システム100は、システム100が異なるパワーレベルに切り替え、送信のために通信装置192にデータを供給するとき、別の装置に後に送信されるデータを記憶する。システム100は、たとえば通信装置192が、優先度が低い、QoSでないデータトラフィックを処理するとき、データを記憶する。
【0018】
プロセッサ150は、AGP(Advanced Graphics Port)ビデオカード172に結合されるディスプレイ装置を介して、ユーザに情報を提示する。たとえばディスプレイ装置のタイプは、陰極線管(CRT)モニタ、LCDスクリーン、又は薄膜トランジスタのフラットパネルモニタである。1以上の実施の形態で電力を節約するため、システム100は、通信装置192のアプリケーション及び/又は通信の動作に基づいて、ビデオカード172及び/又はディスプレイ装置の機能を無効にするか、さもなければビデオカード172及びディスプレイ装置を低電力モードに切り替える。強調するに値するのは、様々な実施の形態では、システム100は、他の装置を動作状態のままにする一方で、幾つかの装置を選択的にシャットダウンすることで、電力を節約することである。たとえば、通信装置192は、ノートブックコンピュータを有するシステム100との、無線ネットワークインタフェースカード(WNIC)を有する。ノートブックコンピュータは、通信装置192の機能を無効にするか又は通信装置を電力節約モードに切り替え、アプリケーションを実行し、アプリケーションの結果をビデオカード172を介してユーザに表示する。通信装置192の形式は、異なる実施の形態において変わる場合がある。たとえば、WNICを有する代わりに、通信装置192は、ネットワークインタフェースカード(NIC)を有する。
【0019】
先に示唆されたように、ICH134は、プロセッサ150が、PCI(Peripheral Component Interconnect)コントローラ182を介してUSB装置186にデータを記憶し、USB装置からデータを検索するのを可能にする。たとえば、プロセッサ150は、USB186がUSBポートを介してシステム100に結合される無線通信カードを有するときのように、アプリケーションを実行している間、USB装置186を介してデータを送信及び検索する。電力を節約するため、システム100は、USB装置186の無線通信カードの機能を無効にする、仮眠状態、又は代替的に低いパワーレベルモードに入る。
【0020】
USB186及び通信装置192に加えて、ICH134は、ATAハードドライブ、コンパクトディスク(CD)ドライブ、及びデジタルバーサティルディスク(DVD)ドライブのような、ATA(Advanced Technology Attachment)装置と相互にやり取りする。図1に示されるように、システム100は、ICH134に結合されるシリアルATA(SATA)ハードドライブ118を有する。SATAハードドライブ118は、オペレーティングシステム、デバイスドライバ、及びシステム100のアプリケーションソフトウェアを記憶するために使用される。たとえば、幾つかの実施の形態では、SATAハードドライブ118は、Linux(登録商標)、Unix(登録商標)、Macintosh(登録商標)OS X、Windows(登録商標)、又は他のオペレーティングシステムを記憶する。さらに、システム100が電力節約モードに入ったとき、SATAハードドライブ118は、システム100が電力節約モードを出ることに応じて、保存されたデータを使用してマシン状態を回復するように、状態データを記憶する。たとえば、SATAハードドライブ118は、レジスタ値、キャッシュデータ、メモリ102の内容、ピアツーピアネットワークの1以上のステーションとの前に確立されたリンクに関するデータを含む状態データを記憶する。
【0021】
ICH134は、特定用途向け集積回路(ASIC)114との相互作用と同様に、不揮発性メモリ106に情報を記憶し、不揮発性メモリから情報を検索する。たとえば、不揮発性メモリ106は、幾つかの実施の形態ではフラッシュメモリを備えており、他の実施の形態では、PROM(Programmable Read-Only Memory)又は別のタイプのメモリを備えている。不揮発性メモリ106がフラッシュメモリを備える実施の形態では、システム100は、電力節約モードに入る前に状態情報を記憶し、電力節約モードを出ることに応じて状態情報をロードする。不揮発性メモリ106がPROMを備える実施の形態では、不揮発性メモリは、たとえばシステム100の動作命令を記憶するために使用される。たとえば、不揮発性メモリ106は、システム100がたとえば携帯電話のようなモバイル装置を有するときに、動作命令を記憶する。
【0022】
1以上の実施の形態では、ASIC114は、プロセッサ150及び/又は通信装置192と共に動作する。たとえば、システム100は、セキュア通信装置を備えており、ASIC114は、システム100を介して送信及び受信されたデータの暗号化及び復号のような機能を実行する。電力節約モードに入ることに応じて、ASIC114は、例としてASIC114の不揮発性メモリのセクション、不揮発性メモリ106又はSATAハードドライブ118に情報を保存することで、暗号化鍵の現在のセットのような、システム100が別のシステム又はクライアント装置と確立した通信リンクの状態情報を保持する。電力節約モードを出ることに応じて、ASIC114は、状態情報を検索し、それを使用して通信リンクを通して他のシステム又はクライアント装置と通信する。
【0023】
幾つかの実施の形態では、ICH134は、SCSI(Small Computer System Interface)装置122を使用してデータを記憶し、データを検索する。係る実施の形態では、システム100は、電力節約モードに入る前にSCSI装置122に結合された記憶装置に情報を保存することで、プロセッサ150及びメモリ102の状態情報のような、システム100が別のシステムと確立した通信リンクについて現在の状態情報を保持する。電力節約モードを出ることに応じて、システム100は、SCSI装置122の記憶装置から状態情報を検索し、状態情報を使用して、通信リンクを通して他のシステムとの通信を継続する。更なる代替的な実施の形態では、SCSI装置122は、無線通信カードのような通信装置を備える。係る実施の形態では、システム100は、無線通信カードを使用して、たとえばアクセスポイント又は他のステーションとの通信リンクを確立する。
【0024】
システム100は、他の代替的な実施の形態では、例としてサウンドカード、スキャナ及びプリンタのような、図1に示されない他のタイプのハードウェアを備える。逆に、異なる実施の形態では、システム100は、図1に示される実施の形態の全ての例を含まない。たとえば、システム100の様々な実施の形態は、SCSI装置122、SATAハードドライブ118、USB186及びASIC114を含まない。さらに、MCH130及びICH134を採用するシステム100の実施の形態は、他の代替的な実施の形態において異なる。すなわち、代替的な実施の形態は、他の対応のバス及び/又はハブ構成を採用する場合がある。
【0025】
システム100は、無線環境においてクライアントを備える。たとえば、システム100は、図2に示される通信ネットワーク200でラップトップ260を備えており、通信ネットワーク200は、2007バージョンのようなIEEE802.11規格に準拠するWLANを備える(http://standards/ieee.org/getieee802/download/802.11-2007.pdf)。本明細書で記載される実施の形態は、タップトップ260及びアクセスポイント230のような2つのIEEE802.11-2007装置が、QoSチャネル優先順位を、明示的なQos交渉及びカウンタ交渉を実行することなしに、装置から出て行くエグレストラフィック(egress traffic)に適用する。実施の形態は、本明細書で記載される多数の基準に基づいてエグレスパケットを分類するスキームを採用して、異なるWLAN QoSキューを介してパケットを送出する。結果として、このスキームは、IEEE802.11-2007規格を拡張する。
【0026】
ラップトップ260は、無線ディスプレイ280及び/又はアクセスポイント230と通信する。アクセスポイント230は、通信リンク220を介してインターネット210と結合される。アクセスポイント230により提供される通信リンク240及び接続性を使用して、ラップトップ260は、インターネット210にアクセスする。アクセスポイント230、無線ディスプレイ280、又は他のネットワーク装置間でラップトップ260が伝送するデータコンテンツのタイプは、同じ実施の形態におけるのと同様に異なる実施の形態において大いに変わる場合がある。
【0027】
ラップトップ260及び無線ディスプレイ280は、ピアツーピアモードで通信し、無線ディスプレイ280とラップトップ260は、ダイレクトリンク270を通して互いに通信する。すなわち、ラップトップ260は、アクセスポイント230に頼ることなしに、無線ディスプレイ280にダイレクトにデータを送信する。たとえば、ラップトップ260のユーザは、無線ディスプレイ280を介してBlu-ray(登録商標)ディスクの映画を再生するのを望む。ラップトップ260は、アクセスポイント230を通してビデオ情報を経路指定する必要なしに、無線ディスプレイ280にダイレクトにマルチメディアアプリケーションから映画のビデオ及びオーディオ情報を送信する。さらに、映画を再生している間、ラップトップ260のユーザは、アクセスポイント230を通してVoIP(Voice over IP)により誰かを呼び出す場合がある。さらに、ラップトップ260のユーザは、アクセスポイント230を経由して、同時に、電子メールを送出し、ファイルをダウンロードする場合がある。
【0028】
当業者であれば理解されるように、異なるアプリケーションは、ネットワーキングのトラフィックデータレート、遅延、ジッタ及び他のネットワーク通信仕様に関する異なる要件を有する。QoSパケット処理を提供するため、通信ネットワーク200のネットワークトラフィックは分類され、共有される伝送媒体にアクセスするために異なる優先度が与えられる。たとえば、ラップトップ260と無線ディスプレイ280との間のビデオ及びオーディオのトラフィックは、ラップトップ260とアクセスポイント230との間のファイルをダウンロードするトラフィックよりも高い優先度を必要とする。さもなければ、ファイルをダウンロードするトラフィックが余りに多くの無線帯域幅を消費する場合、ユーザは、無線ディスプレイ280から途切れ途切れの、又はさもなければ歪んだオーディオ/ビデオの再生を経験する。
【0029】
WLAN規格では、要求の多い無線通信の要件を満たすため、802.11e及びWi-Fi Multimedia(登録商標)(WMM(登録商標))が確立されている。802.11e及びWMM(登録商標)においてQoSパケット処理を可能にするため、無線局で実行されているネットワークアプリケーションは、時間感度の高いネットワークパケットをQoSパケットとしてマークする必要がある。2007規格は、ラップトップ260とアクセスポイント230との間で無線で送信されたデータのような、双方向の無線トラフィックについて明示的なQoSの特徴を定義する。たとえば、ラップトップ260のネットワークアプリケーションは、無線ディスプレイ280に送信されたオーディオ−ビデオパケットをビデオパケットとしてマークする。
【0030】
しかし、2007規格に従ってQoSトラフィックを処理するため、ラップトップ260及びアクセスポイント230は、様々なトラフィック仕様/トラフィック分類(TSPEC/TCLAS)パラメータのような様々なQoSパラメータを確立するために複雑な交渉を行う必要がある。さらに、ラップトップ260は、アプリケーション及びオペレーティングシステム(OS)API(Application Programming Interfaces)を介して、交渉されたパラメータを実行するためにWLANドライバを構成する必要がある。QoS接続を確立することは、無線ディスプレイ280に送信されたオーディオ−ビデオパケットが、ラップトップ260とアクセスポイント230との間でファイルをダウンロードするトラフィックのような、他のネットワークトラフィックを通して優先度を受けることを保証するのを助ける。
【0031】
802.11の2007規格に従うQoSスキームは、商品において広く受け入れられていない。Skype(登録商標)、YouTube、及びCisco(登録商標)ソフトフォンのようなビデオ及びボイスアプリケーションは、包括的であるように構成され、QoS及non-QoS WLANドライバにわたり独立に作用し、従って、アプリケーションは、交渉のためにQoS APIを組み込まない。言い換えれば、大部分のネットワークアプリケーションは、QoSについてパケットをマークしない。従って、同じクライアントに関して多数のウェブ、オーディオ、ビデオ及びボイスアプリケーションから生じる全てのネットワークパケットは、殆どの場合に同じように扱われ、これは、デフォルトにより「ベストエフォート(BE)」パケットとして扱われる。結果として、アプリケーションは、無線ネットワークに関する乏しい状態を受け、汎用のクライアントに乏しいユーザエクスペリエンス(user experience)を生じさせる。さらに、WLANのQoS規格の定義は、アクセスポイントとクライアントとの間の通信にのみ適用される。WLAN QoS規格は、クライアント間の通信に対処しない。言い換えれば、この規格は、ラップトップ260と無線ディスプレイ280との間のダイレクトリンク270のような通信に対処しない。
【0032】
2007規格に従うQoSスキームが広く受け入れられていない別の理由は、QoS交渉に関連する過剰なチャネル帯域幅の使用による。使用データは、WLANチャネルが、クライアントとアクセスポイントとの間で過剰なQoS交渉及びカウンタ交渉を頻繁に受け、管理トラフィックを氾濫させることでチャネルを悪化させることを示す。過剰な設計、実現及び構成の複雑さの結果として、大部分のクライアントは、QoSの機能を有効にしない。
【0033】
2007規格に従ってQoSを実現する代わりに、実施の形態は、様々なTSPEC/TCLAS及び他のQoSパラメータを確定するため、複雑な交渉を行うことなしに、様々なパケットを送信するためにQoSを実現する。ラップトップ260内で優先順位付けエンジンを有する実施の形態は、ラップトップ260のアプリケーションにより送出されたパケットストリームを分離する。パケットストリームの分離において、実施の形態は、所定のトラフィックストリームが、所定のMPEG2/MPEG4、高精細(HD)、又はウェブアプリケーションのトラフィックパターンに整合するトラフィックパターンを有することを判定する。
【0034】
1以上のトラフィックストリームが既知のアプリケーションのトラフィックパターンに整合することの判定に応じて、エンジンは、幾つかのストリームがQoSの優先度の扱いを受けるとき、異なる扱いについて異なるパケットストリームを分類する。エンジンは、IPパケット600のヘッダ情報におけるDiffserv(Differentiated Services)フィールド610のビットを設定することによるような、異なるQoSストリームに属するパケットをマークする。Diffserveフィールド610は、ネットワーク伝送経路に沿ってそれぞれのルータ又はステーションにより処理されたときにパケットが受けるべきサービスのレベルを示す。Diffserveフィールド610の可能性のある値のそれぞれは、QoSポリシーにマッピングされ、それぞれのマッピングは、DSCP(Differentiated Services CodePoint)と呼ばれる。優先順位付けエンジンが異なるQoSストリームに属するパケットをマークした後、優先順位付けエンジンは、他のBEパケットとは異なるストリームを処理し、QoSストリームのパケットを送信のために1以上のQoS優先順位付けキューに配置する。
【0035】
通信ネットワーク200における装置のタイプは、異なる実施の形態で変わる。たとえば、1つの代替的な実施の形態では、ラップトップ260は、UMPC(Ultra-Mobile Personal Computer)を備える。他の代替的な実施の形態では、ラップトップ260は、MID(Mobile Internet Device)又はスマートフォンを有する。ワイヤレスディスプレイ280は、ステレオがストリーミングオーディオを受信及び再生するのを可能にするビルトイン無線通信機能を有するホームステレオのような、無線通信機能をもつ別のタイプの周辺装置を備えている。
【0036】
更なる実施の形態では、ラップトップ260は、無線ディスプレイ280及び/又はアクセスポイント230と通信するために内部無線NICを採用するデスクトップコンピュータを備える。通信ネットワーク200は、様々な異なる802.11ステーションのうちの1つを備える。多くの実施の形態は、アクセスポイントとクライアントとの間で送出されるパケットに影響を及ぼす場合がある。他の実施の形態は、あるクライアントと別のクライアントとの間で送出されるパケットに影響を及ぼす場合がある。
【0037】
図2の議論において、通信ネットワーク200は、IEEE802.11規格に準拠するWLANとして記載されたが、代替的な実施の形態について、通信ネットワーク200は、GSM(登録商標)モバイル通信ネットワークを備える。さらに、他の代替的な実施の形態では、GSM(登録商標)システムのパケット交換データ伝送システムGPRS(General Packet Radio Service)及び低電力無線シグナリングに基づいたLPRF(低電力RF)のような、他のデータ送信のソリューションが代替的な実施の形態と共に適用される場合がある。更なる代替的な実施の形態では、通信ネットワーク200のステーションは、802.16,3G又は4Gのような他の無線技術を採用する場合がある。
【0038】
図2に示される単一のラップトップ及び周辺装置は、通信ネットワーク200の1つのシナリオ又はアレンジメントを例示する。他の実施の形態では、通信ネットワーク200は、クライアント間(ピアツーピア)通信及び/又はアクセスポイントとクライアントとの間の通信に含まれる多くの装置を有する場合がある。例えば、ラップトップ260は、ダイレクトリンク270を通して無線ディスプレイ280と通信するとき、及び更なるダイレクトリンクを通して別のモバイル装置と通信するとき、QoS処理についてパケットをマークする。
【0039】
ラップトップ260又は他の無線通信装置が明示的な管理交渉を行うことなしにどのように無線トラフィックのQoSパケットを処理するかをさらに詳細に例示するため、図3を参照する。図3は、優先順序付けエンジン310が交渉されないQoSスキームをどのように実現し、無線ネットワークのアダプタドライバ300を介してQoSパケットをどのように処理するかを例示する。すなわち、1以上の実施の形態は、ネットワークアダプタドライバのレベルで優先順位付けエンジン310を実現する。ドライバ300により制御されるネットワークアダプタは、IEEE802.11e又はWi-Fi Alliance(WMM(登録商標))の規格のような1以上の標準的な通信プロトコルをサポートする。1以上の規格をサポートして、ネットワークアダプタは、QoSパケットとしてマークされたパケットを受信して、パケット伝送経路において、対応するQoSカテゴリの伝送キューに従ってパケットを送出する。たとえば、ネットワークアダプタは、ドライバ300から対応するQoSアクセスのカテゴリをもつビデオ(VI)パケット又はボイス(VO)パケットを受信し、それぞれのVI又はVO伝送キューをそれぞれ使用して、VI又はVOのQoSアクセスカテゴリに従ってパケットを送出する。
【0040】
優先順位付けエンジン310は、無線局で実行しているアプリケーションからマークされていないネットワークパケット(エレメント305)を受信する。例として、図2を参照して、ラップトップ260は、様々なアプリケーションを実行し、無線通信を使用して無線ディスプレイ280及びアクセスポイント230と通信する。ラップトップ260のユーザは、無線ディスプレイ280でDVDを再生するためにマルチメディアアプリケーションを使用している。同時に、ユーザは、VoIPアプリケーションを介してインターネット210を通して誰かと話しており、FTPアプリケーションを使用してファイルをダウンロードしたり、インターネット210の電子メールサーバと周期的に通信するラップトップ260のバックグランドで電子メールのアプリケーションを実行させている。
【0041】
マルチメディア、VoIP、FTP及び電子メールのアプリケーションから無線パケットのQoSの優先順位の形式的な交渉を有することなしに、従来技術のバージョンのラップトップ260は、等しい優先順位をもつアプリケーションのそれぞれから全てのパケットを処理し、パケットを送信するためにWLANの「ベストエフォート“Best Effort”」スキームを採用する。対照的に、優先順位付けエンジン310を採用するラップトップは、形式的な交渉を必要とすることなしに、出力されるトラフィックについて、トラフィックフローの分類についてポリシー及び基準のセットを実現する。実施の形態によれば、優先順位付けエンジン310は、送信されることを必要とするアプリケーションからのパケット(エレメント305)を受信する。優先順位付けエンジン310は、アプリケーションにより送出されるパケットストリームを分離する。たとえば、優先順位付けエンジン310は、マルチメディア、VoIP、FTP、及び電子メールアプリケーションからのパケットのストリームを分離する。
【0042】
1以上のメカニズムを使用して、優先順位付けエンジン310は、あるストリームが特定のアプリケーションに整合するトラフィックパターンを有することを認識することのように、1以上のトラフィックストリームを識別する。例は、リンク270を介して無線ディスプレイ280に送信されているマルチメディアアプリケーションからのストリームがMPEG2/MPEG4オーディオ−ビデオストリームに整合することを認識する優先順位付けエンジン310である。優先順位付けエンジン310は、VoIPアプリケーションからのストリームがボイスアプリケーションストリームに整合することを更に判定し、FTP及び電子メールストリームがウェブアプリケーションのストリームに整合することを判定する。
【0043】
また、優先順位付けエンジン310は、適切なQoS処理のために異なるパケットストリームを分類する。たとえば、送信されたストリームの幾つかが、許容可能なユーザのパフォーマンスについて遅延された送信を許容することができないビデオ及び音声のアプリケーションに整合することを判定することに応じて、優先順位付けエンジン310は、ウェブアプリケーションよりも高い送信の優先度を有するとして、ビデオ及び音声のアプリケーションについてパケットを分類する。決定された分類及び優先度に従って、優先順位付けエンジン310は、異なるストリームに属するパケットをマークする。たとえば、優先順位付けエンジン310は、DVDマルチメディアアプリケーション及びVoIPアプリケーションに属するパケットをマークし、これらのアプリケーションが優先的な扱いを受けるのを可能にし、ウェブアプリケーションのパケットをBE処理についてマークされていないままにするか、又は、差別化された処理について代替となる優先度の仕様/分類によりマークされる。
【0044】
無線ネットワークアダプタドライバ300は、マークされたQoSアクセスカテゴリに従って、異なる伝送キュー330、動的に割り当てられたキュー335、及び様々な先入れ先出し(FIFO)バッファ340を使用して、ビデオストリーム320及びボイスストリーム325についてQoSがマークされたパケットを処理し、同様に、ベストエフォートストリーム315のパケットを処理する。言い換えれば、ドライバ300は、共有される伝送媒体にアクセスするため、異なる伝送キュー330を異なる優先度と関連付けし、共有される伝送媒体は、区別されたQoSを提供する。すなわち、ドライバ300は、BEストリーム315のパケットを通してビデオ及びボイスパケットの優先度を与えるキュー330及びFIFOバッファ340を使用して、ビデオストリーム320及びボイスストリーム330のパケットを処理し、BEパケットよりも少ない遅延をもつビデオ及びボイスパケットを送信する。
【0045】
図3は、実施の形態がQoS処理について以前に区別されておらず且つマークされていないパケットをどのように受信するかを例示する。図3及び関連する記載を調べることにおいて、実施の形態において、出力される(エグレス)ネットワークトラフィックについて区別されたQoSを提供することで、無線ドライバの機能がどのように拡張されるかが理解される。実施の形態は、特定のアプリケーションのサポートを必要とすることなしに、係る区別されたQoSの機能を提供する。言い換えれば、実施の形態は、アプリケーションがパケットをQoSパケットとしてマークすることなしに、QoSの優先順位付けをもつパケットを処理する。
【0046】
図4は、NNQ優先順位付けエンジンがどのようにQoSポリシーをどのように実現するかを例示する。送信されることを必要とするそれぞれのパケットについて、優先順位付けエンジンは、フィルタ420のような幾つかの分類フィルタを使用してそれぞれのパケットを処理する。はじめに、1以上の実施の形態の優先順位付けエンジンは、ソースのIPアドレス424、ソースのTCP(Transmission Control Protocol)ポートアドレス426、宛先のIPアドレス428、宛先のTCPポートアドレス430、及びプロトコル432を含む固有の5つの要素からなるデータを使用して、トラフィックストリームを識別する。図3のフィルタ420により例示されるように、ある整合を発見するために5つの要素からなるデータを使用することは、1つの実施の形態である。
【0047】
代替的な実施の形態は、代替的及び/又は付加的な方法を採用して、様々なトラフィックストリームを識別する。言い換えれば、図3に係る5つの要素の整合を決定することは、1実施の形態の例示である。代替的な実施の形態は、必ずしも、5つの要素からなるデータを調べることに限定されない。さらに、実施の形態は、UDP(User Datagram Protocol)トラフィックのマッチングパケットのような他のタイプのトラフィック、又は、無線で送信されるピアツーピアビデオトラフィックのような他のポイントツーポイントのトラフィックにも整合する。
【0048】
NNQ優先順位付けエンジンは、異なるパケットフィールドをチェックするために異なるフィルタを使用する。パケットを調べて、1以上のフィールドの値が予め決定された基準に整合すると判定したことに応じて、優先順位付けエンジンは、パケットが対応するQoSのアクセスカテゴリに属することを示すために、パケット及びストリームの他のパケットをマークする。たとえば、あるパケットがソースIPアドレス=192.168.2.1、ソースポート番号=201、プロトコルタイプ=RTP(Real-time Transport Protocol)である場合、優先順位付けエンジンは、パケットがビデオ“VI”のQoSカテゴリ440に整合することを判定し、パケットをVIパケットとして記録する。あるパケットがソースIPアドレス=192.168.2.1、ソースポート番号=301、及びプロトコルタイプ=RTSP(Real Time Streaming Protocol)である場合、優先順位付けエンジンは、パケットがボイス“VO”のQoSカテゴリ450に整合することを判定し、パケットをVOパケットとしてマークする。
【0049】
様々な実施の形態は、NNQエンジンが、フロー毎のトラフィックパターンのマッチングメカニズム415を使用することで値を識別するとき、パケットフィルタの適応的なコンフィギュレーションを可能にする。幾つかの実施の形態は、ネットワークドライバのユーザインタフェースに基づくアプリケーション455を使用することによるような、パケットフィルタの手動的なコンフィギュレーションを付加的に又は代替的に可能にする。適応的なパターンマッチングメカニズム415を有する実施の形態について、実施の形態は、それぞれのコネクションフローをモニタし、特定のパターンについてトラフィックフローを分析する。特定の例として、実施の形態は、パケットデータレートに関連するパターンについてトラフィックフローをモニタして分析する。
【0050】
優先順位付けエンジンが、トラフィックフローのパターンが既知のQoSアプリケーション又は仕様のパターンに整合することを判定した場合、優先順序付けエンジンはそのフローについて新たなフィルタのエントリを追加する。たとえば、ユーザは、インターネットの無線局からのオーディオコンテンツを受信及び再生可能なイーサネット(登録商標)対応ホームステレオシステムを所有する場合がある。たとえば、ユーザはインターネット上の特定の無線局に同調した後、及びステレオシステムがアクセスポイント230と無線通信リンクを確立した後、アクセスポイント230に位置される優先順位付けエンジンは、オーディオストリームのパケットを分析し、パケットがインターネット無線局からのオーディオコンテンツに知られるソースIPアドレス及びソースポート番号から送信されていることを認識し、フィルタ420がVIのQoSカテゴリを既に有さない場合に、“AU”又は“VI”のQoSカテゴリ422を持つフィルタ420に新たなエントリを動的に追加する。特定のフィルタのエントリにより、アクセスポイント230は、インターネット無線局から送信された後続するパケットに優先順位を付け、たとえば優先順位が低いファイル転送パケットがラップトップ260に送信される前に、優先順位が付されたパケットを送信する。
【0051】
図4は、特定のトラフィック分類の基準を介してQoS処理を可能にする幾つかの実施の形態を例示するものである。しかし、代替的な実施の形態は、図4に例示される特定のトラフィック分類技術に限定されるものではない。代替的な実施の形態のNNQの優先順位付けのエンジンは、多くの異なる形式のトラフィックの分類の基準を使用する。ある実施の形態は、例として、RTP、RTSP、TCP及びUDPのような、明示的なトラフィックプロトコル識別子に基づいてトラフィックを分類する。ある実施の形態は、イングレス及びエグレストラフィックストリームに基づいてパケットを識別する。ある実施の形態は、トラフィック又は制御の終点である既知のポートの使用に基づいて、トラフィックフローパターンの整合を判定する。
【0052】
実施の形態は、64バイトの音声パターンを有するパケットを認識することのような、パケットサイズを使用してQoSアプリケーションについてパターンの整合を判定する。幾つかの実施の形態は、パケットのイングレス及びエグレスの到着率に基づいてQoSアプリケーションのパターンを整合する。たとえば、実施の形態は、あるストリームの毎秒当たりに送信されるフレーム数が標準精細度テレビジョン(SDTV)又は高精細度テレビジョン(HDTV)の特定の伝送規格に整合することを判定する。代替的に、ある実施の形態は、20ミリ秒当たり1度の割合で送信される、毎秒当たり送信されるフレームの数が既知の音声のアプリケーションの音声パケットの伝送レートに整合することを判定する。さらに、代替的な実施の形態は、ビデオトラフィックのタイプを識別するためにDPI(Deep Packet Inspection)を採用する。たとえば、ある実施の形態は、DPIを採用して、ビデオストリームのフラグメント、MPEG2 I/P/Bフレーム、SDTVパケット及び/HDTVパケットを識別するためにDPIを採用する。
【0053】
図1から図4は、旧式のnon-QoSアプリケーションを含む異なるアプリケーションが、無線通信チャネルでQoSの優先度を得るのを可能にすることを例示するものである。優先順位付けエンジンの動作は、QoSのパケット処理が複雑なQoS交渉及びカウンタ交渉を除くのを可能にする。これは、ネットワークアプリケーションが、アプリケーションのパケットのQoSの優先度を確定することを必要とされないからである。
【0054】
図5は、交渉されていないQoS環境においてパケットを受信、分類及び送出するとき、実施の形態が採用するプロセス500を示す。実施の形態では、無線ネットワークカード及び関連するドライバソフトウェアは、別の無線局に無線で送信されることが意図される1以上のパケットを送出するため、アプリケーションを待つ(エレメント510)。例示のため、図2を参照して、ラップトップ260のユーザは、無線ディスプレイ280でDVDの動画を再生する間、インターネット210から大きなCD ISOイメージ(International Organization for Standardization Compact Disc Image)をダウンロードする。ISOイメージをダウンロードするアプリケーションは、ウェブブラウジングアプリケーションであり、DVDの動画を再生するアプリケーションは、マルチメディアの再生アプリケーションである。
【0055】
ドライバソフトウェアが、ウェブブラウジングアプリケーション又はマルチメディア再生アプリケーションからといった、無線伝送のためにパケットを受信したとき(エレメント515)、ドライバの優先順序付けエンジンは、多数の動作に従事して、QoS処理のためにパケットを分類してマークする。優先順位付けエンジンは、はじめに、パケットの値の5つの要素からなるセットの1以上の値があるフィルタのテーブルのエントリに整合するかを判定する(エレメント520)。たとえば、優先順位付けエンジンは、無線ディスプレイ280に送信されることを必要とするマルチメディア再生アプリケーションからオーディオビデオパケットを受信する。優先順位付けエンジンは、パケットの5つの要素からなる宛先のIPアドレス及び宛先ポートが無線ディスプレイ280の宛先IPアドレス及び宛先ポートに整合することを判定する。無線ディスプレイ280がオンされ、初期化プロセスを経由するときは何時でも、無線ディスプレイ280は、ラップトップ260とピアツーピアの関連を形成する。関連付けの動作の一部として、ネットワークドライバのソフトウェアは、フィルタテーブルにおいてエントリを作成し、このエントリは、無線ディスプレイ280の特定のポートに送信されるパケットがビデオパケットであり、「ビデオ」QoSの分類カテゴリを有することを確定する。フィルタテーブルにおける予め確定されたエントリを使用して、優先順位付けエンジンは、パケットが、パケットマッチの宛先IのPアドレス及び宛先のポートに基づいて「ビデオ」パケットであることを判定する。
【0056】
パケットと確定されたQoSカテゴリとの整合に応じて、優先順位付けエンジンは、整合されたQoSカテゴリに従ってパケットをマークし(エレメント525)、更なる処理及び送信のため、あるキューにパケットを送出する(エレメント530)。前の例を続けて、優先順序付けエンジンは、パケットヘッダを介して「ビデオ」又は「VI」パケットとしてパケットをマークし、パケットを高い優先度のQoSのキューに配置する。パケットをキューに配置することに応じて、実施の形態は、無線伝送のために1以上のパケットを送出するために、アプリケーションを待つことに戻る(エレメント510)。
【0057】
パケットの5つの要素からなるセットの値がフィルタのテーブルのエントリに整合しないことを優先順位付けエンジンが判定した場合(ステップ520)、優先順位付けエンジンは、トラフィックフローデータに従ってパケットを分類するのを試みる(エレメント535)。トラフィックフローデータに従ってパケットを分類する1つの方法は、既知のQoSトラフィックパターンにパケットのトラフィックフローのデータを整合させることを含む(エレメント540)。既知のQoSトラフィックパターンにパケットのトラフィックフローのデータを整合させる例は、ある実施の形態について、パケットのソースIPアドレス及びソースポート及び/又は宛先IPアドレス及び宛先ポートを、アプリケーションが使用するIPアドレスとポートを一覧にする既知のアプリケーションのテーブルと比較する。別の例は、実施の形態について、パケットのトラフィックプロトコルの識別子を、アプリケーションが使用するプロトコル及びパケットサイズを一覧にする既知のアプリケーションのテーブルと比較することである。
【0058】
トラフィックフローのデータに従ってパケットを分類する別の方法は、パケットデータの突っ込んだ分析を含む(エレメント550)。DPIの例は、優先順位付けエンジンがパケットのデータを調べ、ビデオストリームのフラグメントをHDTV符号化されたビデオセグメントとして識別することを含む。優先順序付けエンジンが、パケットのトラフィックフローのデータが既知のQoSトラフィックパターンに整合すると判定した場合(エレメント540)、又はパケットが既知のQoSトラフィックパターンに整合することをDPIが示した場合(エレメント550)、ある実施の形態は、パケットの5つの要素からなるデータをフィルタテーブルに追加することによるような、QoSトラフィックフローの新たなフィルタのエントリを追加する(エレメント545)。
【0059】
QoSトラフィックのフローをフィルタに追加することに応じて(エレメント545)、実施の形態は、追加されたQoSのカテゴリに従ってパケットをマークすること(エレメント525)、更なる処理及び送信のためにあるキューにパケットを送出することで(エレメント530)、継続する。代替的に、実施の形態が既知のQoSトラフィックパターンをマッチングすること(エレメント540)、又はDPI(エレメント550)により、トラフィックフローにパケットを分類することができない場合、実施の形態は、パケットをマークされないままにし、パケットを1以上のBEキューに送出する(エレメント560)。パケットをマークされないままにする代わりに、代替的な実施の形態は、QoSのトラフィックフローについて新たな低い優先度のフィルタのエントリを作成し、新たに作成されたQoSのカテゴリに従ってパケットをマークし、更なる処理及び送信のため、あるキューにパケットを送出する(エレメント530)。装置700の1以上のエレメントは、ハードウェア、ソフトウェア、又はハードウェアとソフトウェアの両者の組み合わせの形式である。たとえば、図7に示される実施の形態では、装置700のモジュールは、メモリ装置で記憶される命令がコード化されたモジュールとして存在する。たとえば、モジュールは、ネットワークインタフェースカードのプロセッサにより実行される、アプリケーションのソフトウェア又はファームウェア命令を含んでおり、NICは、コンピューティングシステムの一部である。言い換えれば、装置700は、無線ネットワークにおけるステーションのエレメントを備える場合がある。
【0060】
代替的な実施の形態では、装置700の1以上のモジュールは、ハードウェアのみのモジュールを備える。たとえば、レシーバモジュール710及び分析モジュール720は、コンピューティング装置において、メモリエレメント及びステートマシンを有する集積回路チップの一部を備える。係る実施の形態では、レシーバモジュール710のメモリエレメントは、分析モジュール720のステートマシンと共に機能し、分析モジュール720がQoSのマークのためにパケットを分析するまで、受信されたパケットのデータをバッファリングする。
【0061】
レシーバモジュール710は、装置700から送信されるべきパケットのヘッダ及びペイロードデータを受信して記憶する。たとえば、レシーバモジュール710は、ネットワークインタフェースカードにおけるワイヤレスアンテナに結合されるメモリエレメントを備える。1実施の形態では、レシーバモジュール710は、図2における無線ディスプレイ280のような、無線ネットワークの別のステーションへの無線伝送のためにパケットを生成するマルチメディアアプリケーションのような、ネットワーキングアプリケーションからペイロードデータを受信する。
【0062】
ネットワーキングアプリケーションは、どのデータのバイト又はペイロードが送信されるべきかを装置700に示す。さらに、ネットワーキングアプリケーションは、ヘッダデータを装置700に転送することで、ペイロードデータがBE QoS処理を使用して転送されるべきことを装置700に指示する。たとえば、ネットワーキングアプリケーションは、パケットセットアップデータ及び他のパラメータ又は設定を、ペイロードデータと共にレシーバモジュール710に転送する。セットアップデータ又は他のパラメータは、QoSモジュール730がセットアップデータ又は他のパラメータに基づいてパケットのヘッダデータ及びペイロードデータを組み立てるのを可能にする。代替的に、ネットワーキングアプリケーションは、ペイロードデータについて特定のQoSカテゴリを指定せず、QoSモジュール730は、ヘッダデータを組み立て又は作成するときに、デフォルトのBE QoSになる。
【0063】
明確さのために強調に値することは、用語「ヘッダデータ」は、パケットのペイロードデータに直接先行して送信されるデータのバイトを示す。たとえば、ヘッダデータは、図6Aにおけるワード#0〜ワード#14を含むか、又は図6Bに示されるIPv6ヘッダ650の40バイトを含む。さらに、用語「ヘッダデータ」は、パケットのヘッダを組み立てるために使用されるネットワーキングアプリケーションにより提供されるデータを示す。たとえば、ネットワーキングアプリケーションは、“QoS_AC=BE”のような所定の伝送パラメータ又は設定を指定し、するとQoSモジュール730は、DiffServフィールド610のビットを設定することによるように、パラメータを使用してパケットヘッダを作成する。
【0064】
分析モジュール720は、レシーバモジュール710と共に機能し、パケットのヘッダデータ、パケットのペイロードデータ、又はそれらの両者を分析する。たとえば、分析モジュール720は、通信装置192のドライバの、メモリ102に記憶されるコード化された命令を実行するプロセッサ150を備える。レシーバモジュール710は、通信装置192の受信回路に結合されるバッファリングメモリエレメントを備える。ネットワーキングアプリケーションは、メモリ102に記憶され、プロセッサ150により実行されるソフトフォンアプリケーションを備える。レシーバモジュール710がソフトフォンアプリケーションからのデータのパケットを受信した後、分析モジュール720の優先順位付けエンジンは、はじめに、パケットの値の5つの要素からなるセットの1以上の値がフィルタテーブルのエントリに整合するかを判定する。フィルタテーブルにおける予め確定されたエントリとの整合に基づいて、優先順位付けエンジンは、パケットの整合の宛先アドレス及び宛先ポートに基づいて、パケットが「ボイス」パケットであることを判定する。
【0065】
既存のQoSアクセスのカテゴリとの整合を判定することに応じて、QoSモジュール730は、装置700を備えるステーションを含む、無線ネットワークのステーションを介してパケットのQoS処理を可能にするためにパケットをマークする。例を継続して、QoSモジュール730は、通信装置192の優先順位付けエンジン及びドライバのコンポーネントを備える。「ボイス」(VO)QoSアクセスカテゴリとの整合に基づいて、QoSモジュール730は、パケットヘッダを介して“VO”パケットとしてパケットをマークし、パケットを高い優先度の“VO”QoSキューに配置する。たとえば、QoSモジュール730は、図6Aに例示されるDiffServフィールド610においてビットを設定するか、又は図6Bに例示されるトラフィック分類フィールド660及び/又はフローラベルフィールド670においてビットを設定する。
【0066】
装置700の実施の形態においてモジュールの数が変わる場合がある。幾つかの実施の形態は、図7に示されるモジュールよりも少ないモジュールを有する場合がある。例えば、1実施の形態は、分析モジュール720により記載及び/又は実行される機能をQoSモジュール730の機能と1つのモジュールに統合する。更なる実施の形態は、図7に示されるものよりも多くのモジュール又はエレメントを含む。たとえば、代替的な実施の形態は、2以上のレシーバモジュール710及び2以上の分析モジュール720を含む。
【0067】
装置700は、802.11e又は旧式の802.11無線通信ネットワークのステーションにおけるコンポーネントを備える。デフォルト設定により、無線LANのステーションは、CAM(Constant Access Mode)で動作し、このCAMは、ステーションが常にトラフィックの受付待ちであることを意味する。装置700を含むシステムがハンドフォン又は他の携帯装置のようなバッテリにより電力が供給される装置を有するときのように、電力を節約するため、装置700は、アップリンクデータフレームを送出することでアクセスポイントからバッファリングされたデータの解放をトリガする。係るデータの受信又はフレームのトリガに応じて、APは、そのキューのそれぞれに記憶される前にバッファリングされたデータを解放する。キューは、トリガとして作用するキューに対応するデータフレームの受信によるような「トリガが有効」となるように、あるフレームの受信に応じてキューに記憶されるデータを解放することによるような「デリバリが有効」となるように構成される。
【0068】
さらに、装置700を備えるシステムは、フレームを失うことなしに、PAM(Polled Access Mode)と呼ばれるスリープモードに入る。PAMでは、APは、システムがスリープモードから出るまで、装置700についてパケットをバッファリングする。APは、システム及び他のステーションがTIM(Traffic Information Maps)と呼ばれるフレーム内でそれらのフレームを有する情報を送出する。クライアントは、TIMを受け、クライアントが休止状態に進む前にクライアントについてバッファリングされている如何なるフレームを受けるに十分に長くオンにされている。ブロードキャストトラフィックが利用可能である場合、APは、DTIM(Delivery Traffic Information Map)を送出する。
【0069】
別の実施の形態は、図1〜7を参照して記載されるシステム及び方法を実現するプログラムプロダクトとして実現される。実施の形態は、全体としてハードウェアの実施の形態、全体としてソフトウェアの実施の形態又はハードウェアとソフトウェアのエレメントの両者を含む実施の形態の形式を取ることができる。1実施の形態は、ソフトウェアで実現され、このソフトウェアは、限定されるものではないが、ファームウェア、常駐ソフトウェア、マイクロコード等を含む。
【0070】
さらに、実施の形態は、コンピュータ又は命令実行システムによる使用向けのプログラムコード、或いはコンピュータ又は命令実行システムとの使用向けのプログラムコードを提供するコンピュータ使用可能又はコンピュータ読み取り可能な媒体からアクセス可能なコンピュータプログラムプロダクトの形式を取ることができる。この記載の目的のため、コンピュータ使用可能又はコンピュータ読み取り可能な媒体は、命令実行システム、装置又はデバイスによる仕様向けのプログラム、或いは、命令実行システム、装置又はデバイスとの使用むけのプログラムを包含、記憶、伝搬又は転送する装置とすることができる。
【0071】
媒体は、電子的、磁気的、光学的、電磁的、赤外線又は半導体システム(或いは装置又はデバイス)或いは伝送媒体とすることができる。コンピュータ読み取り可能な媒体の例は、半導体又は固体メモリ、磁気テープ、取り外し可能なコンピュータディスク、RAM(Random Access Memory)、ROM(Read Only Memory)、剛体の磁気ディスク及び光ディスクを含む。光ディスクの例は、コンパクトディスク・リードオンリメモリ(CD-ROM)、コンパクトディスク・リード/ライト(CD-R/W)及びDVDを含む。
【0072】
プログラムコードを記憶及び/又は実行するために適したデータ処理システムは、システムバスを介してメモリエレメントに直接的又は間接的に結合される少なくとも1つのプロセッサを含む。メモリエレメントは、実行の間にバルクからコードが検索される回数を低減するため、少なくとも幾つかのプログラムコードの一時的な記憶を提供するプログラムコード、バルクストレージ及びキャッシュメモリの実際の実行の間に使用されるローカルメモリを含む。
【0073】
入力/出力又はI/O装置(限定されるものではないが、キーボード、ディスプレイ、ポインティングデバイス等)は、I/Oコントローラに直接又は間接に介入するシステムに結合される。ネットワークアダプタは、データ処理システムがプライベート又はパブリックネットワークに介入する他のデータ処理システム又はリモートプリンタ又はストレージデバイスに結合されるのを可能にするためにシステムに結合される。モデム、ケーブルモデム及びイーサネット(登録商標)アダプタカードは、現在利用可能なタイプのネットワークアダプタである。
【0074】
上述されたロジックは、集積回路チップの設計の一部である。チップの設計は、グラフィカルコンピュータプログラミング言語で作成され、(ディスク、テープ、物理的なハードドライブ、又は、ストレージアクセスネットワークにおけるような仮想的なハードドライブのような)コンピュータ記憶媒体に記憶される。設計者がチップを製造しない場合、又はチップを製造するために使用されるフォトリソグラフィマスクを製造しない場合、設計者は、結果として得られた設計を物理的な手段(たとえば設計を記憶している記憶手段のコピーを提供することで)又は電子的な手段(たとえばインターネットを通して)により係るエンティティに直接又は間接的に送信する。次いで、記憶された設計は、ウェハー上に形成される問題となるチップの設計の多数のコピーを典型的に含むフォトリソグラフィマスクの製造のために適切なフォーマット(たとえばGDSI)に変換される。フォトリソグラフィマスクは、エッチング又はさもなければ処理されるウェハー(及び/又はその上のレイヤ)の領域を定義するために利用される。
【0075】
結果として得られる集積回路チップは、未処理のウェハーの形式で(すなわち、多数のパッケージングされていないチップを有する1つのウェハーとして)、ベアダイ(bare die)として又はパッケージされた形式で、製造業者により分散される。後者のケースでは、チップは、(マザーボード又は他の高水準のキャリアに取り付けられるリードによるプラスティックキャリアのような)シングルチップパッケージ、(表面の相互接続または埋め込まれた相互接続の何れか又は両者を有するセラミックキャリアのような)マルチチップパッケージに搭載される。何れのケースの場合、チップは、他のチップ、ディスクリート回路素子、及び/又は、(a)マザーボードのような中間プロダクト又は(b)エンドプロダクトのいずれかの一部としての他の信号処理装置と統合される。エンドプロダクトは、玩具及び他のロウエンドアプリケーションから、ディスプレイ、キーボード又は他の入力装置及びセントラルプロセッサを有する最新のコンピュータプロダクトに及ぶ、集積回路チップを含むプロダクトとすることができる。
【0076】
この開示の利益を有する当業者にとって、本明細書の開示は、無線ネットワークに関連する通信装置について、明示的な管理の交渉をもたない、無線トラフィックのQoS処理を想定していることが明らかであろう。詳細な説明に記載及び図面に図示される実施の形態の形式は、単なる例として解釈されるべきであることを理解されたい。以下の特許請求の範囲は開示される例示的な実施の形態の全ての変形例を広く包含するように解釈されることが意図される。
【0077】
本発明の開示は、幾つかの実施の形態について詳細に記載されたが、様々な変形、置換及び変更は、特許請求の範囲により定義されるように、本発明の開示の精神及び範囲から逸脱することなしに行うことができることを理解されたい。特定の実施の形態は、多数の目的を達成するが、特許請求の範囲の含まれる全ての実施の形態が、全ての目的を達成するものではない。さらに、本発明の開示の範囲は、本明細書に記載されるプロセス、マシン、製造、事物の組成、手段、方法及びステップの特定の実施の形態に限定されることが意図されない。当業者であれば本発明の開示から容易に明らかであるように、本明細書に記載された対応する実施の形態と同じ機能を実質的に実行するか、又は同じ結果を実質的に達成する既存の、又は後に開発されるプロセス、マシン、製造、事物の組成、手段、方法又はステップが利用される。従って、特許請求の範囲は、係るプロセス、マシン、製造、事物の複合、手段、方法又はステップをこれらの範囲で含むことが意図される。

【特許請求の範囲】
【請求項1】
第1のステーションのエレメントにより、ネットワーキングアプリケーションからヘッダデータとペイロードデータとを受信するステップと、前記ペイロードデータは、前記第1のステーションの無線送信機を介して第2のステーションにパケットで送信され、前記ヘッダデータは、前記パケットが第1のサービス品質(QoS)のカテゴリに関連することを指定し、
前記第1のステーションにより、前記ヘッダデータ又は前記ペイロードデータを分析して、前記パケットを、前記第1のQoSのカテゴリの優先度よりも高い優先度を有する第2のQoSのカテゴリと関連付けするステップと、
前記第1のステーションにより、前記分析に基づいて前記パケットのIPヘッダの少なくとも1ビットを設定して、前記パケットをマークし、前記パケットを前記第2のQoSのカテゴリと関連付けするステップと、
を含むことを特徴とする方法。
【請求項2】
前記パケットを複数のキューのうちの、前記第2のQoSのカテゴリに関連するキューに配置するステップを更に含む、
請求項1記載の方法。
【請求項3】
前記ヘッダデータと前記ペイロードデータを受信するステップは、第3のステーションから前記パケットを受信するステップを含む、
前記ネットワーキングアプリケーションは、ストリーミングビデオアプリケーション又はVoIP(Voice over Internet Protocol)アプリケーションを含み、
前記第3のステーションは、インターネットのサーバを含む、
請求項2記載の方法。
【請求項4】
QoSのカテゴリの優先度に基づいて、前記第1のステーションと前記第2のステーションとの間のピアツーピア接続を介して前記第2のステーションにパケットを送信するステップを更に含む、
請求項2記載の方法。
【請求項5】
前記ネットワーキングアプリケーションから前記ペイロードデータを受信するステップは、前記第1のステーションのマルチメディアアプリケーションからオーディオ及びビデオデータを受信するステップを含む、
請求項4記載の方法。
【請求項6】
前記ヘッダデータ又は前記ペイロードデータを分析することは、ソースのIPアドレス、ソースのポート番号、宛先のIPアドレス、宛先のIPアドレス、宛先のポート番号、フィルタのエントリをもつパケットのプロトコル、のうちの少なくとも1つを比較することを含む、
請求項5記載の方法。
【請求項7】
前記IPヘッダの少なくとも1ビットを設定することは、前記パケットをビデオ(VI)アクセスのカテゴリと関連付けすることを含み、
前記第1のQoSのカテゴリは、ベストエフォート(BE)アクセスのカテゴリを含む、
請求項6記載の方法。
【請求項8】
パケットのヘッダデータ及びペイロードデータを受信する受信モジュールと、前記ネットワーキングアプリケーションは、前記ヘッダデータを介して前記パケットを第1のサービス品質(QoS)のカテゴリに関連付けし、前記パケットは、受信ステーションに無線で送信され、
前記ヘッダデータと前記ペイロードデータの少なくとも1つを分析する分析モジュールと、
前記分析に基づいて、前記ヘッダデータの少なくとも1ビットを設定することで前記パケットをマークするQoSモジュールとを備え、前記パケットをマークすることは、前記パケットの関連付けを、前記第1のQoSのカテゴリから、前記第1のQoSのカテゴリよりも高い優先度を有する第2のQoSのカテゴリに変える、
ことを特徴とする装置。
【請求項9】
前記受信モジュールは、DRAM(Dynamic Random Access Memory)を備え、
前記分析モジュールは、前記ヘッダと前記ペイロードデータの少なくとも1つの分析のためにファームウェアの命令を実行するマイクロプロセッサを備える、
請求項8記載の装置。
【請求項10】
当該装置は、モバイルコンピューティング装置を備え、
前記分析モジュール及び前記QoSモジュールは、前記モバイルコンピューティング装置の無線通信装置のドライバの優先順位付けエンジンを有し、
前記ネットワーキングアプリケーションは、前記モバイルコンピューティング装置のストリーミングビデオアプリケーションを含む、
請求項8記載の装置。
【請求項11】
前記分析モジュールは、前記第2のQoSのカテオリに従って複数のキューのうちの1つのキューに前記パケットを配置し、
前記QoSモジュールは、前記分析モジュールの分析に基づいてフィルタのエントリを適応的に更新する、
請求項8記載の装置。
【請求項12】
前記分析モジュールは、前記ヘッダデータを分析して、少なくとも1つのトラフィックを分類するための基準に基づいて前記パケットを前記第2のQoSのカテゴリと整合させ、
前記トラフィックを分類する基準は、プロトコル識別子、ソース又は宛先のポート、パケットサイズ及びパケットレートのうちの1つを含む、
請求項11記載の装置。
【請求項13】
前記分析モジュールは、前記ペイロードデータのパケットの分析を行い、ビデオトラフィックのタイプを識別し、
前記ネットワーキングアプリケーションは、DVDのマルチメディアアプリケーションを備える、
請求項12記載の装置。
【請求項14】
無線通信ネットワークのステーションに、ヘッダデータとペイロードデータとを含むパケットを送信するアンテナに結合される無線通信装置と、ネットワークアプリケーションは、前記パケットを第1のサービス品質(QoS)のカテゴリに関連付けし、
前記無線通信装置のドライバの優先順位付けエンジンのコード化された命令を記憶するDRAM(Dynamic Random Access Memory)と、
前記DRAMに結合され、前記コード化された命令を実行して前記パケットを分析し、前記分析の結果に基づいて、前記パケットをマークするプロセッサとを備え、
前記マークすることは、前記パケットの関連付けを前記第1のサービス品質のカテゴリから第2のQoSのカテゴリに変える、
ことを特徴とするシステム。
【請求項15】
前記優先順位付けエンジンのコード化された命令の実行は、前記ヘッダデータのデータを複数のQoSカテゴリと予め関連付けされたデータと比較することで前記分析を行い、
前記優先順位付けエンジンは、当該システム及びプロセッサのチップセットの機能を有効にし、当該システムの電力の状態を変える、
請求項14記載のシステム。
【請求項16】
前記分析は、前記パケットと多数のパケットの基準のうちの1つとの比較を含み、
前記パケットの基準は、パケットプロトコル、パケットサイズ、ポート番号、パケットのIPアドレス、パケットのイングレスレート、パケットのエグレスレートを含む、
請求項15記載のシステム。
【請求項17】
コンピュータが使用可能なプログラムコードを記録するコンピュータ使用可能な記録媒体を有するコンピュータプログラムプロダクトであって、
前記コンピュータが使用可能なプログラムコードは、
ネットワークアプリケーションからヘッダデータとペイロードデータとを受信するステップと、前記ペイロードデータは、無線送信機を介してステーションにパケットで送信され、前記ヘッダデータは、前記パケットが第1のサービス品質(QoS)のカテゴリと関連付けされることを指定し、
前記ヘッダデータ又は前記ペイロードデータを分析して、前記パケットを、前記第1のQoSのカテゴリの優先度よりも高い優先度を有する第2のQoSのカテゴリと関連付けするステップと、
前記分析に基づいて前記ヘッダデータの少なくとも1ビットを設定するステップとを含み、前記設定するステップは、前記パケットをマークして、前記パケットを前記第2のQoSのカテゴリと関連付けする、
方法を実行することを特徴とするコンピュータプログラムプロダクト。
【請求項18】
前記少なくとも1ビットを設定するステップは、前記パケットをボイス(VO)アクセスカテゴリ及びビデオ(VI)アクセスカテゴリのうちの1つと関連付けするステップを含み、
前記第1のQoSのカテゴリは、ベストエフォート(BE)アクセスのカテゴリを含む、
請求項17記載のコンピュータプログラムプロダクト。
【請求項19】
前記方法は、当該コンピュータプログラムプロダクトのシステムが、前記システムにより受信されるパケットの到着率と、前記システムから送信されるパケットの送出率のうちの少なくとも1つに基づいて電力の状態を変更するのを可能にするステップを含む、
請求項18記載のコンピュータプログラムプロダクト。
【請求項20】
前記記録媒体は、ネットワークインタフェースカード(NIC)の不揮発性メモリを備える、
請求項19記載のコンピュータプログラムプロダクト。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6A】
image rotate

【図6B】
image rotate

【図7】
image rotate


【公表番号】特表2012−527711(P2012−527711A)
【公表日】平成24年11月8日(2012.11.8)
【国際特許分類】
【出願番号】特願2012−513370(P2012−513370)
【出願日】平成22年7月19日(2010.7.19)
【国際出願番号】PCT/US2010/042416
【国際公開番号】WO2011/011311
【国際公開日】平成23年1月27日(2011.1.27)
【出願人】(593096712)インテル コーポレイション (931)
【Fターム(参考)】