(57)【要約】  情報のパケットを無線で送信又は受信する方法、及び情報のパケットを無線で送信又は受信する装置である。送信の場合に、その方法は、送信時間中にネットワークリンクで、パケットの内容の少なくともいくつかを含むデータ要素をストリーミングすることを有する。受信の場合に、その方法は、受信時間中にネットワークリンクで、受信パケットの内容の少なくともいくつかを含むデータ要素をストリーミングすることを有する。送信又は受信は、無線ネットワークの局（101）によるものであり、ストリーミングは、局へ又は局から、ネットワークリンクにより局に結合されたネットワーク装置（329）から又はネットワーク装置（329）へのものである。
2007515110.tif 000002
【特許請求の範囲】
【請求項１】
無線ネットワークの局における方法であって、
前記局はネットワークリンクによりネットワーク装置に結合され、
前記ネットワーク装置はメモリを有し、
前記方法は、前記局での無線送信又は無線受信中に前記ネットワーク装置のメモリから又は前記ネットワーク装置のメモリへ前記ネットワークリンクでデータをストリーミングするものであり、
前記方法は、
送信の場合に、無線送信されるパケットのデータの少なくともいくつかを含むデータ要素をどこから取り出すかを記述する情報を受領し、又は、受信の場合に、無線受信されたパケットからデータの少なくともいくつかを含むデータ要素をどこに書き込むかを記述する情報を受領し、受領された情報は、前記データ要素について前記ネットワーク装置のメモリのメモリ位置及びデータ量を規定する情報を有し、
送信の場合に、無線送信されるパケットの前記データ要素のDMA転送を設定し、又は、受信の場合に、無線受信されたパケットから設定し、設定は規定情報を使用し、
送信の場合に、前記ネットワークリンクで転送するために前記規定情報を第１の形式のパケットに変換し、前記ネットワーク装置で解釈されて、前記規定情報に従って前記ネットワーク装置のメモリから前記データ要素を送信することを設定するために、前記ネットワークリンクを介して前記ネットワーク装置に前記第１の形式のパケットを送信し、前記第１の形式のパケットの送信に応じて、前記データ要素を有する第２の形式のパケットを受信し、前記第２の形式のパケットを前記データ要素に変換し、前記データ要素を送信用のパケットに組み込み、
又は、
受信の場合に、前記無線受信されたパケットから前記データ要素を抽出し、前記データ要素が前記ネットワーク装置のメモリに書き込まれるために、前記規定情報を変換し、前記データ要素を前記ネットワークリンクで転送する前記第２の形式のパケットにカプセル化し、前記ネットワーク装置で解釈されて、カプセル化されたデータを前記規定情報に従って前記ネットワーク装置のメモリに書き込ませるために、前記第２の形式のパケットを前記ネットワーク装置に送信することを有し、
それにより、送信の場合に、無線送信用のパケットに組み込む前記データ要素の前記ネットワークリンクでの転送が、送信時間中にリアルタイムで生じ、又は、受信の場合に、無線受信されたパケットからの前記データ要素の転送が、受信時間中にリアルタイムで生じる方法。
【請求項２】
請求項１に記載の方法であって、
前記ネットワーク装置は、無線送信中にデータがストリーミングされるメモリ又無線受信中にデータがストリーミングされるメモリを有するネットワークスイッチである方法。
【請求項３】
ネットワークリンクにより無線ネットワークの無線局に結合されたネットワーク装置における方法であって、
前記ネットワーク装置はメモリを有し、
前記方法は、前記局での無線送信又は無線受信中に前記ネットワーク装置のメモリから又は前記ネットワーク装置のメモリへ前記ネットワークリンクでデータをストリーミングするものであり、
前記方法は、
送信の場合に、無線送信されるパケットのデータの少なくともいくつかを含むデータ要素をどこから取り出すかを記述する情報を前記ネットワークリンクで前記無線局に送信し、又は、受信の場合に、無線受信されたパケットからデータの少なくともいくつかを含むデータ要素をどこに書き込むかを記述する情報を前記ネットワークリンクで前記無線局に送信し、受領された情報は、前記データ要素について前記ネットワーク装置のメモリのメモリ位置及びデータ量を規定する情報を有し、
送信されるパケットのデータの場合に、第１の形式のパケットの受信に応じて、前記ネットワークリンクを介して前記無線局から前記第１の形式のパケットを受信し、前記第１の形式のパケットは、前記データ要素をどこから取り出すかを記述する情報を有し、前記メモリから前記データ要素を取り出し、取り出されたデータを含む第２の形式のパケットを形成し、受信に応じて前記第２の形式のパケットを前記無線局に送信し、
又は、受信されたパケットからのデータの場合に、前記データ要素をカプセル化して前記データ要素をどこに書き込むかを記述する情報を有する第２の形式のパケットを前記無線局から受信し、前記第２の形式のパケットからカプセル化されたデータを抽出し、前記第２の形式の受信されたパケットの情報に従って抽出されたデータを前記メモリに書き込むことを有し、
それにより、送信の場合に、無線送信用のパケットに組み込んだ前記ネットワークでのデータの転送が送信時間中にリアルタイムで生じ、受信の場合に、無線受信されたパケットからの前記ネットワークでのデータの転送が受信時間中にリアルタイムで生じる方法。
【請求項４】
請求項３に記載の方法であって、
前記ネットワーク装置は、ネットワークスイッチである方法。
【請求項５】
情報のパケットを無線送信する方法であって、
送信時間中にネットワークリンクで前記パケットの内容の少なくともいくつかを含むデータ要素をストリーミングし、
前記情報のパケットを送信することを有する方法。
【請求項６】
請求項５に記載の方法であって、
前記送信することは、無線ネットワークの局によるものであり、
前記ストリーミングすることは、前記ネットワークリンクにより前記局に結合されたネットワーク装置から前記局へのものである方法。
【請求項７】
請求項６に記載の方法であって、
前記ネットワーク装置は、無線送信中にデータがストリーミングされるメモリを有するネットワークスイッチである方法。
【請求項８】
請求項６に記載の方法であって、
前記ネットワーク装置は、無線送信中にデータがストリーミングされるメモリを有し、
前記方法は、
前記データ要素のDMA要求を形成し、
形成されたDMA要求を前記ネットワークリンクで転送する第１のパケットに変換し、
前記第１のパケットを前記ネットワークリンクで前記ネットワーク装置に送信し、
前記ネットワークリンクで前記ネットワーク装置から第２のパケットを受信し、前記第２のパケットは前記データ要素を有し、
前記第２のパケットからの前記データ要素で、形成されたDMAパケットに応答することを更に有し、
それにより、前記データの前記データ要素のストリーミングが第２のパケットを使用する方法。
【請求項９】
請求項８に記載の方法であって、
無線送信用のデータが前記ネットワーク装置のメモリのどこに存在するかに関する情報を、前記ネットワーク装置から受信することを更に有し、
それにより、前記DMA要求の形成が受信された情報を使用する方法。
【請求項１０】
情報のパケットを無線受信する方法であって、
情報のパケットを無線受信し、
受信時間中にネットワークリンクで前記パケットの内容の少なくともいくつかを含むデータ要素をストリーミングすることを有する方法。
【請求項１１】
請求項１０に記載の方法であって、
前記受信することは、無線ネットワークの局によるものであり、
前記ストリーミングすることは、前記局から前記ネットワークリンクにより前記局に結合されたネットワーク装置へのものである方法。
【請求項１２】
請求項１１に記載の方法であって、
前記ネットワーク装置は、無線受信中にデータがストリーミングされるメモリを有するネットワークスイッチである方法。
【請求項１３】
請求項１１に記載の方法であって、
前記ネットワーク装置は、無線送信中にデータがストリーミングされるメモリを有し、
前記方法は、
前記データ要素を書き込むDMA要求を形成し、
形成されたDMA要求を前記ネットワークリンクで転送する第１のパケットに変換し、
前記第１のパケットを前記ネットワークリンクで前記ネットワーク装置に送信し、
前記ネットワークリンクで前記ネットワーク装置に転送するために、前記データ要素を第２のパケットにカプセル化し、
形成されたDMA要求に従って前記ネットワーク装置のメモリに書き込むために、前記ネットワークリンクで前記ネットワーク装置に前記第２のパケットを送信することを更に有し、
それにより、前記データの前記データ要素のストリーミングが第２のパケットを使用する方法。
【請求項１４】
請求項１３に記載の方法であって、
無線受信されたデータが前記ネットワーク装置のメモリのどこに書き込まれるかに関する情報を、前記ネットワーク装置から受信することを更に有し、
それにより、前記DMA要求の形成が受信された情報を使用する方法。
【請求項１５】
請求項１又は２に記載の方法であって、
DMA転送の設定は、複数のデータ要素のスキャッター／ギャザーDMA転送の設定の一部である方法。
【請求項１６】
請求項３又は４に記載の方法であって、
データ要素をどこから取り出すかについての情報又はデータ要素をどこに書き込むかについての情報は、DMA転送を設定する際に使用され、
DMA転送の設定は、複数のデータ要素のスキャッター／ギャザーDMA転送の設定の一部である方法。
【請求項１７】
請求項１乃至４、６乃至９又は１１乃至１６のうちいずれか１項に記載の方法であって、
前記ネットワークリンクは、ギガビットEthernet（登録商標）リンク、又はギガビットEthernet（登録商標）リンクと少なくとも同じ速さのEthernet（登録商標）リンクである方法。
【請求項１８】
請求項１乃至４、６乃至９又は１１乃至１７のうちいずれか１項に記載の方法であって、
前記局は、前記無線ネットワークのアクセスポイントである方法。
【請求項１９】
請求項１乃至４、６乃至９又は１１乃至１８のうちいずれか１項に記載の方法であって、
前記無線ネットワークは、IEEE802.11標準又はその派生のうち１つに準拠する方法。
【請求項２０】
請求項１９に記載の方法であって、
前記パケットは、802.11MACパケットである方法。
【請求項２１】
請求項８、９、１３又は１４のうちいずれか１項に記載の方法であって、
前記ネットワークリンクは、ギガビットEthernet（登録商標）リンク、又はギガビットEthernet（登録商標）リンクと少なくとも同じ速さのEthernet（登録商標）リンクであり、
前記ネットワーク装置は、ネットワークスイッチであり、
前記無線ネットワークは、IEEE802.11標準又はその派生のうち１つに準拠し、
前記第１及び第２のパケットは、それぞれ第１の形式及び第２の形式のEthernet（登録商標）パケットである方法。
【請求項２２】
無線ネットワークで動作可能な無線局における装置であって、
無線送信されるパケットのデータの少なくともいくつかを含むデータ要素が取得される位置を記述する情報を受信可能であり、前記位置は、ネットワークリンクにより前記無線局に結合されたネットワーク装置のメモリにあるローカルメモリと、
前記ローカルメモリに結合され、無線送信されるパケットの前記データ要素のDMA転送を設定可能であり、前記設定は、前記メモリの受信情報を使用し、前記ネットワーク装置のメモリの少なくとも１つの位置のセットを規定する情報を形成するパケット／DMAエンジンと、
前記パケット／DMAエンジンに結合され、データ転送用のDMA要求を受領可能なネットワークDMAエンジンを有し、前記ネットワークDMAエンジンは、規定情報を第１の形式のパケットに変換し、ネットワークインタフェースが結合されたネットワークリンクで前記第１の形式のパケットをネットワークインタフェースに送信させ、それにより、互換性のあるネットワーク装置が前記規定情報により規定されたデータを解釈して取り出すことができ、前記ネットワークインタフェースは更に、前記ネットワークリンクで受信される第２の形式のパケットを認識して前記ネットワークDMAエンジンに提供可能であり、前記第２の形式のパケットは規定情報により規定されたデータを有し、前記ネットワークDMAエンジンは、提供された前記第２の形式のパケットをそれに含まれるデータに更に変換可能であるネットワークインタフェースとを有し、
それにより、前記局が第１のネットワークに結合され、前記第２の形式の第１のパケットが、前記第１のネットワークで前記第１のネットワークに結合された第１のネットワーク装置から受信され、前記第２の形式の第１のパケットの受信は、前記第１の形式の第１のパケットの送信に応じるものであり、前記第１のパケットの送信は、前記ネットワークDMAエンジンが前記第１のネットワーク装置のメモリから取り出されるデータを規定する第１のDMA要求を受領した結果である場合、前記ネットワークDMAエンジンは、前記第１のDMA要求に規定されたデータで前記第１のDMA要求に応答し、
それにより、無線送信用のパケットに組み込む前記第１のネットワークでのデータの転送が、送信時間中にリアルタイムで生じ得る装置。
【請求項２３】
請求項２２に記載の装置であって、
前記ローカルメモリは、無線受信されたパケットからのデータの要素が格納される場所を記述する情報を更に受信可能であり、前記位置は、前記ネットワークリンクにより前記無線局に結合されたネットワーク装置のメモリにあり、
前記ローカルメモリの受信情報を使用する前記パケット／DMAエンジンは、無線受信されたパケットの内容の少なくともいくつかを含むデータ要素のDMA転送を更に設定可能であり、
前記ネットワークDMAエンジンは、前記ネットワークDMAエンジンにより受領されたDMA要求に情報を規定することにより規定されたデータ要素を含む第２の形式のパケットを更に形成可能であり、
前記ネットワークインタフェースは、形成された前記第２の形式のパケットを更に送信可能であり、
それにより、前記局が第１のネットワークに結合され、前記第１のネットワーク装置が前記第１のネットワークに結合される場合に、前記ネットワークDMAエンジンが前記第１のネットワーク装置のメモリに送信されるデータを規定する第２のDMA要求を受領した結果として、前記第２の形式の第２のパケットが、前記第１のネットワークで前記第１のネットワーク装置に送信され、
それにより、無線受信されたパケットからの前記ネットワークでのデータの転送が、受信時間中にリアルタイムで生じる装置。
【請求項２４】
請求項２２に記載の装置であって、
ホストバスサブシステムに結合されたホストプロセッサと、
前記ホストサブシステムに結合されたホストDMAコントローラとを更に有し、
前記パケット／DMAエンジンはまた、前記ホストバスサブシステムに結合され、前記ホストDMAコントローラと通信可能であり、
それにより、前記パケットDMAエンジンがDMA転送を設定することは、前記パケットDMAエンジンが前記ホストDMAコントローラにDMA転送を設定するように命令することを有し、
それにより、前記ネットワークDMAエンジンは、前記ホストDMAコントローラに対してメモリインタフェースとして現れ、
前記ローカルメモリは、無線受信されたパケットからのデータの要素が格納される位置を記述する情報を更に受信可能であり、前記位置は、前記ネットワークリンクにより前記無線局に結合されたネットワーク装置のメモリにあり、
前記ローカルメモリの受信情報を使用する前記パケット／DMAエンジンは、無線受信されたパケットの内容の少なくともいくつかを含むデータ要素のDMA転送を更に設定可能であり、
前記ネットワークDMAエンジンは、DMA要求に情報を規定することにより規定されたデータ要素を含む第２の形式のパケットを更に形成可能であり、
前記ネットワークインタフェースは、形成された前記第２の形式のパケットを更に送信可能である装置。
【請求項２５】
請求項２４に記載の装置であって、
前記パケット／DMAエンジンは、複数のデータ要素の転送を設定するスキャッター／ギャザーDMAコントローラを有する装置。
【請求項２６】
請求項２２乃至２５のうちいずれか１項に記載の装置であって、
前記ネットワーク装置は、無線送信中にデータがストリーミングされるメモリを有するネットワークスイッチである装置。
【請求項２７】
請求項２２乃至２６のうちいずれか１項に記載の装置であって、
前記ネットワークリンクは、ギガビットEthernet（登録商標）リンク、又はギガビットEthernet（登録商標）リンクと少なくとも同じ速さのEthernet（登録商標）リンクである装置。
【請求項２８】
情報のパケットを無線送信する装置であって、
情報のパケットを無線送信する手段と、
送信時間中にネットワークリンクで前記パケットの内容の少なくともいくつかを含むデータ要素をストリーミングする手段と
を有する装置。
【請求項２９】
請求項２８に記載の装置であって、
前記送信することは、無線ネットワークの局で行われ、
前記ストリーミングすることは、前記ネットワークリンクにより前記局に結合されたネットワーク装置からものである装置。
【請求項３０】
情報のパケットを無線受信する装置であって、
情報のパケットを無線受信する手段と、
受信時間中にネットワークリンクで受信されたパケットの内容の少なくともいくつかを含むデータ要素をストリーミングする手段と
を有する装置。
【請求項３１】
請求項３０に記載の装置であって、
前記受信することは、無線ネットワークの局で行われ、
前記ストリーミングすることは、前記ネットワークリンクにより前記局に結合されたネットワーク装置へのものである装置。
【請求項３２】
請求項２２乃至２７、２９又は３１のうちいずれか１項に記載の装置であって、
前記局は、前記無線ネットワークのアクセスポイントである装置。
【請求項３３】
請求項２２乃至３２のうちいずれか１項に記載の装置であって、
前記無線ネットワークは、IEEE802.11標準又はその派生のうち１つに準拠する装置。
【請求項３４】
請求項２２乃至２７のうちいずれか１項に記載の装置であって、
前記無線ネットワークは、IEEE802.11標準又はその派生のうち１つに準拠し、
前記無線送信されるパケットは、802.11MACパケットである装置。
【請求項３５】
情報のパケットの無線送信の方法を実行するように機械に命令する一式の機械読取可能命令を運ぶ媒体であって、
前記方法は、送信時間中にネットワークリンクで前記パケットの内容の少なくともいくつかを含むデータ要素をストリーミングすることを有する媒体。
【請求項３６】
請求項３５に記載の媒体であって、
前記送信することは、無線ネットワークの局で行われ、
前記ストリーミングすることは、前記ネットワークリンクにより前記局に結合されたネットワーク装置からのものである媒体。
【請求項３７】
情報のパケットの無線受信の方法を実行するように機械に命令する一式の機械読取可能命令を運ぶ媒体であって、
前記方法は、受信時間中にネットワークリンクで受信されたパケットの内容の少なくともいくつかを含むデータ要素をストリーミングすることを有する媒体。
【請求項３８】
請求項３７に記載の媒体であって、
前記受信することは、無線ネットワークの局で行われ、
前記ストリーミングすることは、前記ネットワークリンクにより前記局に結合されたネットワーク装置へのものである媒体。
【請求項３９】
請求項１乃至２１のうちいずれか１項に記載の方法を実行するように機械に命令する一式の機械読取可能命令を運ぶ媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、無線ネットワークに関し、特に、パケットネットワークリンクを通じてメモリから直接に無線伝送用のデータを取得するMACコントローラ及びMAC処理に関する。
【背景技術】
【０００２】
図１は、従来技術の無線ネットワーク接続100（例えば、IEEE802.11標準のうち１つに準拠した無線ローカルエリアネットワーク（WLAN））を示している。無線部101は、アナログRF部及びデジタルモデムを有する無線トランシーバ105に結合された１つ以上のアンテナ103を有する。無線101のデジタルモデムは、MACプロトコルを実装するMACプロセッサ107に結合される。MACプロセッサ107は、単一のバスシステム111として概念的に図示している１つ以上のバスを介して、ホストプロセッサに結合される。ホストプロセッサは、ホストバス（ここではバスサブシステム111の一部として図示されている）に接続されたメモリ（例えばRAM）を有する。
【０００３】
MACプロトコル（例えばIEEE802.11MACプロトコル）を実装する際に、MACプロセッサ107は、何のMACパケットをいつ送信するかを決定する。一般的な従来技術のMACプロセッサ107は、高速であるが比較的小さいローカルメモリ（図１のMACメモリ109として示す）を有する。そのローカルメモリは、MACプロセッサが送信する必要のあるパケットに高速アクセスすることを確保する。ホストプロセッサは、MACプロセッサが何のMACパケットを必要とする可能性があるかを決定し、ローカルMACメモリ109に含まれるそのようなパケットを送信する。送信する１つ以上のパケットが存在する場合、MACプロセッサはこのようなパケットをそのMACメモリ109から取得する。
【０００４】
生じる可能性のある１つの問題は、MACプロセッサ107が送信する必要のあるパケットをローカルMACメモリが有さない場合である。MACプロセッサがホストメモリ115からバスサブシステム111を介して必要なパケットを取得し、それをそのローカルMACメモリ109にロードする間に、送信が減速する。
【０００５】
このようなミスで生じる問題を軽減することが望ましい。また、そのようなミスがあまり生じないようにローカルMACメモリが送信用のパケットを保持する必要を除去することが望ましい。
【０００６】
近年、MAC処理機能の多くをホストプロセッサに移行する動きがある。例えば、ホストはWLANアクセスポイントを実装してもよい。多くの機能をホストのソフトウェアに移行することにより、更なる柔軟性が実現される。このような構成はまた、MAC処理がそのMACメモリ109に必要なパケットを有さないという前記のミスを除去することに役立ち得る。
【０００７】
１つのそのような構成で、MAC処理機能は、物理無線（PHY）101とのインタフェースや暗号化やMACパケットの実際の送受信のような特徴をハードウェアで実装する“下位MAC”に分割される。下位MACはプロセッサを使用して実装されてもよく、ローカルメモリを有する。“上位MAC”機能（すなわち、残りのMAC機能）は、ホストプロセッサで動作するソフトウェアで実装される。下位MACはバスサブシステムを介してホストプロセッサに結合される。
【０００８】
送信されるパケットの準備ができると、ホストはそのようなパケットの情報を下位MACに渡す。例えば、情報は、MACパケットのペイロードがホストメモリのどこにあるかについての情報を有してもよい。この情報は下位MACにローカルに格納される。下位MACが、送信されるMACパケットを送信するように設定されると、下位MACは必要なデータのDMA転送を設定する。データはホストからDMAを介して下位MACプロセッサに渡される。
【０００９】
このことは、ホストが送信されるパケットをローカルMACメモリに予測して予めロードすることを含み、従来技術の方法のミスの状態を回避する。
【００１０】
近年、アクセスポイントとして使用される局のインテリジェンスの多くをスイッチに移行することが望ましくなってきている。例えば、MAC機能のうちいくつかは、アクセスポイントが接続されたスイッチで実行される。
【００１１】
従って、無線局自体から離れた装置に属する多くのMAC機能を提供する機構のニーズが当該技術分野において存在する。
【発明の開示】
【課題を解決するための手段】
【００１２】
情報のパケットを無線で送信又は受信する方法、及び情報のパケットを無線で送信又は受信する装置が、ここに開示される。送信の場合に、その方法は、送信時間中にネットワークリンクで、パケットの内容の少なくともいくつかを含むデータ要素を局にストリーミングすることを有する。受信の場合に、その方法は、受信時間中にネットワークリンクで、受信パケットの内容の少なくともいくつかを含むデータ要素をストリーミングすることを有する。送信又は受信は、無線ネットワークの局によるものであり、ストリーミングは、局へ又は局から、ネットワークリンクにより局に結合されたネットワーク装置から又はネットワーク装置へのものである。
【００１３】
一実施例は、無線ネットワーク（一実施例ではIEEE802.11無線ネットワーク）の局に実装される方法である。局は、ネットワークリンク（一実施例ではギガビットEthernet（登録商標）又は少なくともギガビットEthernet（登録商標）と同じ速さの他のEthernet（登録商標））によりネットワーク装置（一実施例ではスイッチ）に結合される。ネットワーク装置はメモリを有する。その方法は、局で無線送信又は無線受信する間に、ネットワークリンクでネットワーク装置のメモリから又はネットワーク装置のメモリへデータをストリーミングすることである。
【００１４】
その方法は、送信の場合に、無線送信されるパケットのデータの少なくともいくつかを含むデータ要素をどこから取り出すかを記述する情報を受領すること、又は、受信の場合に、無線受信されたパケットからデータの少なくともいくつかを含むデータ要素をどこに書き込むかを記述する情報を受領することを有する。受領された情報は、データ要素についてネットワーク装置のメモリのメモリ位置及びデータ量を規定する情報を有する。
【００１５】
その方法は、送信の場合に、無線送信されるパケットのデータ要素のDMA転送を設定すること、又は、受信の場合に、無線受信されたパケットから設定し、設定は規定情報を使用することを有する。
【００１６】
送信の場合に、その方法はまた、ネットワークリンクで転送するために規定情報を第１の形式のパケットに変換し、ネットワーク装置で解釈されて、規定情報に従ってネットワーク装置のメモリからデータ要素を送信すること又はメモリにデータ要素を書き込むことを設定するために、ネットワークリンクを介してネットワーク装置に第１の形式のパケットを送信することを有する。
【００１７】
また、送信の場合に、その方法は、パケットの送信に応じて、データ要素を有する第２の形式のパケットを受信し、第２の形式のパケットをデータ要素に変換し、データ要素を送信用のパケットに組み込むことを有し、それによりネットワークでの転送が送信時間中にリアルタイムで生じる。
【００１８】
受信の場合に、その方法は、無線受信されたパケットからデータ要素を抽出し、ネットワーク装置のメモリに書き込まれるために、データ要素を第２の形式のパケットにカプセル化し、ネットワーク装置で解釈されて、カプセル化されたデータを規定情報に従ってネットワーク装置のメモリに書き込ませるために、第２の形式のパケットをネットワーク装置に送信することを有する。
【００１９】
その方法によれば、送信の場合に、無線送信用のパケットに組み込むデータ要素のネットワークでの転送が、送信時間中にリアルタイムで生じる。また、受信の場合に、ネットワークでの転送が、受信時間中にリアルタイムで生じる。
【００２０】
他の実施例は、ネットワーク装置（一実施例ではネットワークスイッチ）に実装される方法である。ネットワーク装置は、ネットワークリンク（例えばギガビット以上の速度のEthernet（登録商標）のような十分に高速のEthernet（登録商標）リンク）を介して、無線ネットワーク（一実施例ではIEEE802.11無線ネットワーク）の局に結合される。ネットワーク装置はメモリを有する。その方法は、局で無線送信又は無線受信する間に、ネットワークリンクでネットワーク装置のメモリから又はネットワーク装置のメモリへデータをストリーミングすることである。
【００２１】
その方法は、送信の場合に、無線送信されるパケットのデータの少なくともいくつかを含むデータ要素をどこから取り出すかを記述する情報をネットワークリンクで無線局に送信すること、又は、受信の場合に、無線受信されたパケットからデータの少なくともいくつかを含むデータ要素をどこに書き込むかを記述する情報をネットワークリンクで無線局に送信することを有する。受領された情報は、データ要素についてネットワーク装置のメモリのメモリ位置及びデータ量を規定する情報を有する。その方法は、ネットワークリンクを介して無線局から第１の形式のパケットを受信することを更に有する。パケットは、データ要素をどこから取り出すか又はデータ要素をどこに書き込むかを記述する情報を有する。
【００２２】
送信されるパケットのデータの場合に、その方法は、第１の形式のパケットの受信に応じて、メモリからデータ要素を取り出し、取り出されたデータを含む第２の形式のパケットを形成し、第１の形式のパケットの受信に応じて第２の形式のパケットを無線局に送信することを有し、それにより無線送信用のパケットに組み込んだネットワークでのデータの転送が送信時間中にリアルタイムで生じる。
【００２３】
受信されたパケットからのデータの場合に、その方法は、データ要素をカプセル化する第２の形式のパケットを無線局から受信し、第２の形式のパケットからカプセル化されたデータを抽出し、第１の形式の受信されたパケットの情報に従って、抽出されたデータをメモリに書き込むことを有し、それにより無線受信されたパケットからのネットワークでのデータの転送が受信時間中にリアルタイムで生じる。
【００２４】
他の態様は以下の説明から明らかになる。
【発明を実施するための最良の形態】
【００２５】
本発明の態様は、無線局による無線送信用のパケットのデータ要素が、無線局から離れたネットワーク装置から、送信時間中にネットワークリンクでストリーミングされることを可能にする方法及び装置を提供する。無線局から離れることは、無線局がEthernet（登録商標）リンクのようなパケットネットワークリンクを介して遠隔装置に接続されることを意味する。本発明の他の態様は、無線受信されたパケットからのデータ要素が、受信時間中にネットワークリンクで遠隔ネットワーク装置にストリーミングされることを可能にする方法及び装置を提供し、それにより受信されたパケットからのデータが遠隔ネットワーク装置にリアルタイムで格納され得る。
【００２６】
本発明の実施例について、無線ローカルエリアネットワーク（WLAN）のアクセスポイント（AP）である無線局に関して説明する。一実施例では、遠隔ネットワーク装置は、ネットワークリンクにより無線アクセスポイントに結合されたネットワークスイッチである。
【００２７】
＜ホストメモリへ及びホストメモリからの進行中のデータストリーミング＞
図２は、ネットワークリンク228（一般的にはEthernet（登録商標）接続のような有線ネットワーク接続）を介してネットワークスイッチ229に結合されたアクセスポイント（AP）を実装する無線局を示している。局200のMAC処理機能は、PHYインタフェース217を使用した物理無線（PHY）101へのインタフェースや、暗号化エンジン211を使用した暗号化／復号化や、MACパケット及びDMAエンジン223でのMACパケットの実際の送受信のような特徴を実装する“下位MAC”203に分割される。“上位MAC”機能（すなわち、残りのMAC機能）は、ホストプロセッサ211で動作するソフトウェアに実装される。下位MAC203は、バスサブシステム209を介してホストプロセッサ211に結合される。また、ホストDMAコントローラ207と、ホストメモリ215が接続されたホストメモリインタフェース213とが、ホストバスに結合される。
【００２８】
局がアクセスポイントである例では、局200は、ホストバス209に接続されたEthernet（登録商標）インタフェースのようなネットワークインタフェース225を有する。ネットワークインタフェースは、局200をネットワーク228（例えばEthernet（登録商標））に接続する。スイッチ229は、ネットワークに接続されて図示されている。スイッチ229自体は、ローカルホストプロセッサ233と、ローカルスイッチバスシステムを介して接続されたスイッチメモリ235とを有する。例えば、スイッチは、IOS（Cisco  Systems,  Inc,  San  Jose,  California）のようなネットワークオペレーティングシステムのもとで動作してもよい。ネットワークインタフェース（例えばEthernet（登録商標）インタフェース）231は、スイッチバスをネットワーク228に接続する。
【００２９】
一例として、下位MAC及びホストプロセッサが、メモリインタフェース213を含む同じ集積回路（チップ）に実装されていることを仮定する。メモリ215はチップの外部メモリである。
【００３０】
様々な詳細を図２に図示していない。例えば、図示の外部メモリ以外に、いくつかのキャッシュメモリ及びホストの他の内部メモリが存在してもよい。
【００３１】
送信中に、MACプロセッサが送信されるパケットのメモリバッファとしてそのローカルMACメモリ219を使用することの欠点を回避するために、改善した実装は、バスシステムを通じたストリーミング直接メモリアクセス（DMA）（“データストリーミング”とも呼ばれる）と、ホストプロセッサ211を必要とせずにホストメモリ215から送信用のデータに直接アクセスするメモリインタフェースとを使用する。これを提供するために、パケット／DMAエンジン223は、DMA転送を設定するスキャッター／ギャザーDMAコントローラ（scatter/gather  DMA  controller）を有する。
【００３２】
一例として、ホストプロセッサがネットワーク228を介して無線送信用のパケットを受信することを検討する。ホストプロセッサが送信の用意ができた新しいパケットを有すると、送信を設定するために十分な情報を下位MACに提供することにより、下位MAC203に通知する。この情報は、送信用のパケットのMACヘッダと、MACパケットを構築するために必要な何らかのデータの位置と、データからMACパケットを構築する方法とを有する。一実施例では、ホストにより下位MAC203に提供される情報は、MACパケットのデータがある場所（例えばホストメモリ215）を含む一式のデータ構造（ここでは“バッファ記述子”と呼ばれる）を有する。
【００３３】
下位MAC203は、送信用のパケットのヘッダを抽出し、そのMACメモリ219にローカルに格納する。各MACパケットのバッファ記述子はまた、MACパケットのMACヘッダと共にMACメモリ219にローカルに格納される。ヘッダがローカルMACメモリ219に入ると、下位MAC203はこれらの送信用のパケットの制御を引き受ける。
【００３４】
各バッファ記述子のデータ構造はメモリの連続量を規定するフィールドを有し、アドレスポインタフィールドと、データ長フィールドとを有する。アドレスポインタフィールドの内容はメモリの位置を示し、データ長フィールドはポインタにより示されたアドレスで始まるデータの量（長さ）を提供する。完全なMACパケットは複数のそのようなバッファ記述子（ここでは“バッファ記述子チェーン”と呼ばれる）を有する。そのバッファ記述子チェーンが併せて、送信されるMACパケットのデータが存在する場所を記述する。すなわち、データの連続量をそれぞれ規定する一式のバッファ記述子が併せて、送信用のMACパケットを形成する必ずしも連続的でない一式のデータを規定する。
【００３５】
同様に、受信されたパケットのデータが格納される場所を記述する受信バッファ記述子の受信バッファ記述子チェーンが規定される点にも留意すべきである。
【００３６】
局200は、各アドレスが存在する場所（例えばローカルMACメモリ又はホストメモリ215）を規定するメモリマップを有する。
【００３７】
パケット／DMAエンジン223のスキャッター／ギャザーDMAコントローラは、必ずしも連続的でないメモリの領域に書き込まれるデータ又はメモリの領域から読み取られるデータのDMAデータ転送を設定するために使用される。スキャッター／ギャザーリストは、全体の読み取り要求又は書き込み要求の１セグメントの位置及び長さをそれぞれ提供するベクトルのリストである。従って、送信用のMACパケットの各バッファ記述子チェーンは、パケット／DMAエンジン223がスキャッター／ギャザーリストを構築するのに十分な情報を有する。パケット／DMAエンジン223は、バッファ記述子チェーンを解釈し、スキャッター／ギャザーリストを形成する。パケット／DMAエンジン223はまた、送信スケジュールに従い、スケジュールに従ってPHYインタフェースを介してMACパケットを送信する役目もする。
【００３８】
MACパケットが送信される必要があるときに、パケット／DMAエンジン223は、バッファ記述子チェーンからスキャッター／ギャザーリストを設定する。各ベクトルはバッファ記述子に対応し、バッファ記述子に規定されたメモリのブロックを記述する。パケット／DMAエンジン223は、ホストDMAコントローラと通信し、送信スケジュールに従ってホストDMAコントローラとの転送を設定する。
【００３９】
設定すると、ホストメモリ及び／又はローカルMACメモリから転送が生じ、送信用のMACパケットがリアルタイムに形成される。
【００４０】
単一のバッファ記述子で説明したメモリの連続量の単一の転送について検討する。パケット／DMAエンジン223は、ホストバス209を介してホストDMAコントローラ207にDMA情報のベクトルを通信する。ホストDMAコントローラはメモリインタフェース213と通信し、データを取り出し、バスを介してパケット／DMAエンジン223にデータを送信する。
【００４１】
送信では、データは必要に応じて暗号化エンジンを通過してもよく、PHY101の送信部を介した送信のためにPHYインタフェースを介して通過してもよい。
【００４２】
このように、ホストが送信されるパケットをローカルメモリに予測して予めロードすることを含む従来技術の方法のミスの状態は回避される。
【００４３】
データを受信する場合、処理は基本的に逆になる。情報交換のときに、下位MACは、受信されるパケットが格納され得るアドレスをホストプロセッサ211から受信する。特に、下位MAC203は、パケットを受信する一式の受信バッファ記述子チェーンを保持する。受信バッファ記述子チェーンは、受信されたパケットのデータがホストメモリ215のどこに格納され得るかを示す受信バッファ記述子を有する。データがPHYインタフェース217を介して受信されると、パケット／DMAエンジン223は、場合によっては復号化のために暗号化エンジン221を通過することを含み、データ転送を設定する。パケット／DMAエンジンのDMAエンジンは、DMA転送のために必要なスキャッター／ギャザーリストを設定し、この情報をホストDMAコントローラに通信する。ホストDMAコントローラは、データがメモリ（例えばホストメモリ215）のどこに書き込まれるかを示すメモリマップにアクセスし、ホストメモリへのそれぞれのDMA転送を設定する。
【００４４】
＜有線ネットワークでのストリーミング＞
無線局の機能の多くをネットワーク装置（例えばネットワークリンクを介して局に結合されたネットワークスイッチ229）に移行する一般的な要望が当該技術分野において存在する。
【００４５】
図２に示すシステムは、送信されるパケットのデータが局で（例えばホストメモリ215で）列になり、送信用にホストメモリで利用可能になることを必要とする。
【００４６】
本発明の態様は、無線送信用のパケットに含まれるデータが送信無線局で必ずしも列になる必要なく、送信時間中にネットワークスイッチから直接にストリーミングされることを提供するネットワークリンクでの進行中のデータストリーミングを有する。本発明の他の態様は、受信されたデータが受信無線局で列になる必要なく、受信時間中にネットワークスイッチに直接にストリーミングされることを提供する。
【００４７】
図３は、本発明の態様を具現する装置を示している。ホストプロセッサの機能のうちいくつかがネットワーク装置（例えば有線ネットワークを介して無線局に結合されたネットワークスイッチ）に移転されていることを除いて、一般的なアーキテクチャは図２に示すものと同様である。すなわち、無線局300は下位MAC303を有し、次に下位MAC303はパケット／DMAエンジン323と、暗号化エンジン321と、ローカルMACメモリ319とを有する。メモリインタフェース319及びホストDMAコントローラ307はホストバス309に接続される。下位MACは、一実施例ではパケット／DMAエンジン323を介して、ホストバス309に結合される。
【００４８】
局300は、ネットワークリンク328を介してネットワークスイッチ329に結合される。ネットワークリンク328は、ホストバス309に結合されたネットワークインタフェース325を介してホストバスシステム309に結合される。
【００４９】
スイッチ329は、スイッチホストプロセッサ333をスイッチメモリ335と接続するローカルスイッチバスサブシステム343を有する。一実施例では、スイッチは、スイッチバス343に結合されたスイッチDMAコントローラ341を更に有し、ローカルスイッチメモリ335でDMA転送を行わせることができる。ネットワークインタフェース331は、スイッチをネットワーク328に接続する。
【００５０】
一実施例は、スイッチ329のホスト333は、ネットワークオペレーティングシステム：IOS（Cisco  Systems,  Inc.,  San  Jose,  California）で動作する。
【００５１】
図２の局200のアーキテクチャと図３のものとが類似していても、上位MAC機能のうちいくつかがネットワークスイッチ329で実行されるという点で機能は異なる点に留意すべきである。従って、PHY101を除く全ての要素に対して、図２及び３で異なる参照数字が使用されている。しかし、当業者に明らかなように、いくつかの要素は同一でもよい。
【００５２】
本発明の一態様は、無線送信用のMACパケットのデータのうち少なくともいくつかが、PHY101による送信用に、ネットワークリンク328を通じてスイッチメモリから下位MAC303に送信時間中にストリーミングされることである。それにより、データはホストメモリで列になる必要はない。他の態様は、PHY101により受信されるデータが、ネットワークリンク328を通じて受信時間中にスイッチに直接にストリーミングされ得ることである。それにより、受信されたデータはホストメモリで列になる必要はない。本発明者は、有線ネットワークがそのようなストリーミングを提供するのに十分に高速になっていることを認識した。好ましい実施例では、ネットワーク328はギガビットEthernet（登録商標）ネットワークである。当然のことながら、このことは、Ethernet（登録商標）ネットワークリンクと少なくとも同じ速さの如何なるEthernet（登録商標）ネットワークリンクが代用されてもよく、本発明の目的で“ギガビットEthernet（登録商標）”という用語の範囲内にあることを意味する。
【００５３】
ストリーミング機能を提供するために、本発明の一実施例は局にネットワークDMAエンジン324を有し、スイッチにマッチするネットワークDMAエンジン338を有する。局300の場合に、ネットワークインタフェース325は、ネットワークMAC及びPHYインタフェース326と、ネットワークDMAエンジン324とを有する。バス側では、ネットワークDMAエンジン324はメモリインタフェースとして現れる。ホストDMAコントローラ307は、メモリインタフェース装置であるかのように、ネットワークDMAエンジン324と通信し、更にメモリインタフェース313と通信する。アクセスポイントのメモリマップは、何のメモリアドレスがメモリインタフェース313により処理され、何がネットワークDMAエンジン324により処理されるかを示す。
【００５４】
スイッチでは、ネットワークインタフェース331は、ネットワークDMAエンジン338と、ネットワークMAC及びPHYインタフェース336とを有する。スイッチバス側では、ネットワークDMAエンジン338はメモリコントローラとして現れる。スイッチメモリマップは、何のアドレスがローカルスイッチメモリ335にあり、何がネットワークDMAエンジン338により処理されるかを示す。
【００５５】
送信の場合に、ホストDMAコントローラ307が例えば下位MACのパケット／DMAエンジン323により設定されたメモリ要求を受信すると、アドレスに従ってネットワークDMAエンジン324又はメモリインタフェース313と通信する。通常では、パケット／DMAエンジン323は、ネットワークDMAエンジン324を介してDMA転送を設定する。DMAコントローラ307は、ネットワークDMAエンジン324から要求された何らかのデータが実際にネットワークリンクを通じてもたらされることを認識する必要はない。
【００５６】
一実施例では、アドレスは、DMA転送がDMAエンジン324又はメモリインタフェース313へのものか、DMAエンジン324又はメモリインタフェース313からのものかをDMAコントローラ307に指示する。代替実施例では、DMA転送がDMAエンジン324又はメモリインタフェース313へのものか、DMAエンジン324又はメモリインタフェース313からのものかを指示するために、別個の指示（例えば制御ビット）が使用される。
【００５７】
同様に、スイッチDMAコントローラ341は、スイッチネットワークDMAエンジン338をメモリインタフェース装置であるかのように扱い、何らかのデータ転送がネットワークリンク328を通過することを認識する必要はない。
【００５８】
本発明の他の態様は、それぞれ局のホスト及びスイッチのネットワークDMAエンジン324及び338により実行される処理である。本発明の更に他の態様は、ネットワークストリーミングを設定し、このようなストリーミング中にデータを運ぶために使用されるネットワークパケット形式を規定することである。本発明の更に他の態様は、それぞれ局のホスト及びスイッチのネットワークMAC及びPHYインタフェース326及び336のフィルタ327及び337によりそれぞれ実行される受信フィルタリングである。
【００５９】
まず、これらの態様について、無線局300による無線送信用の一式のパケットに関して説明する。
【００６０】
まず、図２に示す実施例の送信中の動作について検討する。この場合、スイッチ229は、無線局200による送信用の何らかのパケットを無線局にルーティングする。このようなパケットはホスト処理システム（例えばホストメモリ2315）で列になり、ホストは下位MAC203と通信し、例えば各パケットのパケットヘッダと一式のバッファ記述子（バッファ記述子チェーン）とを通信することにより、必要に応じてホストメモリのデータのDMA転送を設定する。
【００６１】
それに対して、本発明の一実施例では、スイッチ329が無線局300による送信用のパケットを有すると、スイッチ329は、送信用のパケットについての情報（例えば送信されるパケット毎のヘッダ情報及びバッファ記述子チェーン）を、ネットワーク328を介して局に送信する。このような情報はホストバス309を介して下位に通信される。ホストはこれについてほとんど役割を果たさない。
【００６２】
本発明の代替実施例では、ホストは、送信用のパケットのデータのうち少なくともいくつかがスイッチのどこに存在するかについての情報を受信し、ホストは、スイッチにより送信されたこのようなデータを使用して、バッファ記述子チェーンの設定に関与する。しかし、データ自体は、送信用にストリーミングされるまでスイッチに留まる。例えば、ホストは、スイッチから送信された情報を、送信用のパケットの下位MACの情報として解釈し、この情報を下位MACに渡す。
【００６３】
下位MAC303が送信用のパケットのヘッダ情報と記述子チェーンとを受信すると、下位MACはヘッダと関連情報とをそのローカルMACメモリ319に格納し、送信をスケジュールする。送信時間の始めに、MACパケット／DMAエンジン323は、各パケットを構築するために必要なデータのスキャッター／ギャザーDMAアクセスを設定する。MACパケット／DMAエンジン323は、スキャッター／ギャザーの各要求をホストDMAコントローラ307に送信する。これらの要求はDMAコントローラ307により解釈され、アドレスに応じてメモリインタフェース313又はネットワークDMAエンジン324に通信される。このように、ホストDMAコントローラ307は、ホストメモリ313のアドレス範囲外のアドレスの所定の範囲のメモリインタフェースとして、ネットワークDMAエンジン324を扱う。
【００６４】
メモリ要求毎に、スイッチのメモリから必要なメモリ転送の形式でメモリ要求を記述する制御パケットである第１の特別の形式のパケットを設定することにより、ネットワークDMAエンジン324はネットワーク転送を設定する。特別のパケットは、スイッチメモリの位置を示すポインタデータと、長さ情報とを有する。これらの特別の形式のパケットは、ネットワーク328を介してスイッチに送信される。
【００６５】
ネットワークMAC及びPHYインタフェース336は、受信した全てのパケットを解釈する。一実施例では、ネットワークMAC及びPHYインタフェース336は、ネットワークDMAコントローラ338による更なる処理のために、受信した特別の形式のパケットからの情報をネットワークDMAエンジン338に指示するフィルタ337を有する。特別の形式でないパケットは通常通り処理されて伝達される。
【００６６】
ネットワークDMAエンジンは、特別の形式のパケットからの情報を解釈し、制御情報を変換し、情報をスイッチDMAコントローラ341に通信し、制御パケットの情報に従って、スイッチメモリ335からのDMA転送を設定する。DMA転送は、ネットワークDMAコントローラ338により処理されるアドレスであるとスイッチ329により認識された宛先アドレスに対して設定される。ネットワークDMAコントローラ338は、メモリインタフェースとしてスイッチDMAコントローラ338に現れる。
【００６７】
下位MAC303向けのデータは、第２の特別の形式のパケット（ストリーミングデータカプセル化パケット）として、スイッチのネットワークDMAエンジン338によりカプセル化される。各ストリーミングデータカプセル化パケットは、対応する要求パケットの元のポインタ及びデータ要素の長さを有し、ネットワーク328を介してアクセスポイント300に送信され、ネットワークMAC及びPHYインタフェース326を介して受信される。
【００６８】
ネットワークMAC及びPHYインタフェース326は、ネットワークDMAコントローラ324により処理されるパケット（すなわち第２の特別の形式のパケット）をネットワークDMAエンジン324に指示するフィルタ327を有する。特別の形式でないパケットは、ネットワークMAC及びPHYインタフェースにより通常通り処理される。
【００６９】
ネットワークDMAエンジン324は、第２の特別の形式（すなわち、ストリーミングデータカプセル化パケット）の情報を解釈する。１つの態様は、第２の形式の特別のパケットのポインタ及び長さ情報が、パケットをDMA要求への応答としてマッチングするために使用されることである。ネットワークDMAエンジン324は、データを除去し、マッチしたDMA要求への応答としてバス309を介してそれを通信する。ホストシステムバスにとって、これらは、ホストDMAコントローラ307により設定された通常のDMA応答の転送として現れる。その理由は、そのような転送ではネットワークDMAエンジン328はメモリインタフェースであるかのように設定されるからである。
【００７０】
DMAコントローラ307は、何らかのDMA要求であるかのように、取り出されたデータを下位MACの要求側のパケット／DMAエンジンにルーティングする。
【００７１】
図４Ａ及び４Ｂは、２つの特別の形式のパケットの構造を示している。これらは、それぞれの内容が２つの固有の以前に規定されていない値であり、それぞれ第１の形式及び第２の形式のパケットを規定するために使用されるTYPEフィールドを有する標準802.3フレームである。
【００７２】
図４Ａは、第１の形式のパケット400を示している。プリアンブル、フレーム・デミリタの開始、宛先アドレス、及びソースアドレスのフィールドが標準である。例えば、ソースアドレスは局300であり、宛先アドレスはスイッチ329である。次のフィールド403は、TYPEフィールドとして使用され、新しい形式に対するコード（TYPE-1で示す）を有する。形式を規定するのに十分な長さであり、他の目的に使用されていない如何なる以前に使用されていない値がここで使用されてもよい。パケット400の残りの部分は、データ転送用のポインタ及び長さの情報を提供する。これは、リストの長さを示すリスト長フィールド405で始まり、要素毎の形式／長さ／値の３組のセット（この場合はポインタ要素及び長さの要素）に続く標準的な情報要素のリスト構造を使用して行われる。従って、リスト長フィールド405に続いて、ポインタとして要素を特定するID_pointerで示す識別子を運ぶフィールド407があり、次にポインタデータの長さを示すLength_pointerで示すフィールド409がある。次のフィールド411は、ポインタデータ自体（すなわち、データを取り出すためのスイッチメモリのアドレス）である。ポインタデータフィールド411に続いて、取り出すデータの長さとして要素を特定するID_Lengthで示す識別子を運ぶフィールド413があり、次に長さの情報の長さを示すLength_lengthで示すフィールド415がある。次のフィールド417は、長さ情報自体（すなわち、スイッチメモリから取り出すデータの長さ）である。
【００７３】
本発明者は、これらのパケットが将来的にどのように使用されるかについて柔軟性を提供するために、柔軟な情報要素のリスト構造を有するパケットを使用することを決定した点に留意すべきである。代替実施例では、例えばTYPEフィールド403に続いてバッファポインタ及びバッファ長の情報のみを有する簡単な固定長のパケットが使用される。
【００７４】
図４Ｂは、ネットワークDMAエンジン338が第１の形式の制御パケット400で規定されたデータを送信するために設定する第２の形式のパケット420を示している。プリアンブル、フレーム・デリミタの開始、宛先アドレス、及びソースアドレスのフィールドが同様に標準である。例えば、ソースアドレスはスイッチ329であり、宛先アドレスは局300である。次のフィールド423は、TYPEフィールドとして使用され、制御パケット400で使用されるものと異なる他の新しい形式に対するコード（TYPE-2で示す）を有する。形式を規定するのに十分な長さであり、他の目的に使用されていない如何なる以前に使用されていない値がここで使用されてもよい。パケット420の残りの部分は、データ転送用のポインタ及び長さの情報を提供する。リスト長フィールド425は、送信されるデータ量に応じて、リスト（この場合はパケット420）の長さを示す。リスト長フィールド425に続いて、要素毎の形式／長さ／値の３組のセット（この場合はポインタ要素、長さの要素及び転送されるデータ）がある。それぞれポインタ及び長さの形式／長さ／値の３組427及び429は、含まれるデータを要求した対応の制御パケット400のものと同じである。それに続いて、転送されるデータとして要素を特定するID_dataで示す識別子を運ぶフィールド431があり、次に、データの長さを示すLength_dataで示すフィールド433がある。次のフィールド435は、転送されるスイッチメモリからのデータである。
【００７５】
前記の説明は、ホストDMAコントローラ307により設定されたメモリ取り出しに使用されるパケットに対応する点に留意すべきである。
【００７６】
同じ特別の形式のパケット（一実施例ではそのうちの１つだけ）が、局300がデータを受信する場合に設定されるDMAデータ書き込みに使用されてもよい。
【００７７】
受信の場合に、スイッチ329は情報を送信し、局300は、スイッチメモリ335のどこに無線受信されたパケットのデータ要素を書き込むかを記述する情報（例えば受信パケットの受信されたバッファ記述子の受信されたバッファ記述子チェーン）を受領する。それぞれの受信されたバッファ記述子は、データ要素についてのスイッチメモリ位置とスイッチメモリのデータ量とを規定する。
【００７８】
受信されたバッファ記述子チェーンは、下位MACメモリ319に格納される。
【００７９】
パケットが受信されると、パケット／DMAエンジン323は、無線受信されたパケットからデータ要素のスキャッター／ギャザーDMA転送を設定する。DMA転送の情報は、ホストDMAコントローラ307に通信され、個々のデータ要素の転送を設定する。実際のデータ転送は、受信時間中にデータストリームとして生じ、無線受信されたパケットからデータ要素を抽出し、要件に応じてパケット及びDMAエンジンによりデータを暗号化エンジンを通過させ、DMA転送としてホストバスを介してネットワークDMAエンジン324に転送することを有する（これはホストバス及びDMAコントローラへのメモリインタフェースとして現れることを思い出されたい）。
【００８０】
データの単一のブロックの転送がスイッチメモリ335のメモリアドレスの連続ブロックに書き込まれることについて検討する。DMA要求のポインタアドレスから、ホストDMAコントローラ307は、アドレスがネットワークDMAエンジン324用であり、アドレスの範囲についてメモリインタフェースとしてDMAコントローラ307に現れることを確認する。
【００８１】
ホストDMAコントローラ307からのDMA要求は、ネットワークDMAエンジン324により、転送用のデータのポインタ及び長さと、スイッチメモリに書き込まれる転送のデータ要素とを有する第２の特別の形式のパケットに変換される。第２の形式のパケットは、Ethernet（登録商標）  MAC及びPHYインタフェースとネットワークリンク327を介してスイッチ329に送信される。
【００８２】
スイッチでは、第２の形式のパケットは、第２の形式のパケットをフィルタ除去し、データを含むその中の情報をネットワークDMAエンジン338に渡すフィルタ337を有するEthernet（登録商標）  MAC及びPHYインタフェース336により受信される。ネットワークDMAエンジン338は、要求を解釈し、設定し、スイッチメモリ335のメモリにデータを書き込む。
【００８３】
このように、ネットワークでの無線局からスイッチメモリへのデータのストリーミングが受信時間中にリアルタイムで生じる。
【００８４】
図示の実施例では、特別のパケットを解釈してそれをメモリストリーム要求に変換するそれぞれスイッチ及び無線局のネットワークDMAエンジン324及び338は、ネットワークコントローラのパケットエンジンの一部としてそれぞれ図示されているが、代替実施例では、これらの特徴はスイッチ及び無線局のそれぞれの個別の装置で実行される点に留意すべきである。
【００８５】
今日のプロセッサは、ネットワークDMAエンジン324及び338が特別のハードウェアにある傾向にあるが、本発明者は、将来的にプログラム可能プロセッサがそのようなネットワークDMAエンジンを実装するのに十分高速になり得ることを認識した。従って、ネットワークDMAエンジンは、ハードウェアで実装されてもよく、プログラム可能プロセッサで実行する１つ以上のコードセグメントとしてのソフトウェア（ファームウェアを含む）で実装されてもよく、また、ハードウェアとソフトウェアとの組み合わせで実装されてもよい。
【００８６】
同様に、一実施例では、パケット／DMAエンジン323はハードウェアで実装されるが、本発明者は、将来的にプログラム可能プロセッサがパケット／DMAエンジン323の機能のうち一部又は全部を実装するのに十分高速になり得ることを認識した。従って、パケット／DMAエンジンの機能は、ハードウェアで実装されてもよく、プログラム可能プロセッサで実行する１つ以上の機械読取可能コードセグメントとしてのソフトウェア（ファームウェアを含む）で実装されてもよく、また、ハードウェアとソフトウェアとの組み合わせで実装されてもよい。
【００８７】
図３は、下位MACとMACホストとを含むアクセスポイントのチップについてのチップ境界を図示している。一実施例では、ホストプロセッサ311は、MIPS5Kプロセッサコアであり、ホストバスは“SOC-it”バスである（双方ともに、MIPS  Technologies,  Inc.,  Mountain  View,  CA）。
【００８８】
送信時間中とは、ストリーミングされるデータを含むパケットが送信されている時間の間を意味する。例えば、“送信時間中”は、後の送信用に局のホストメモリで列になっているパケットを含むデータがストリーミングされる場合を除外する。
【００８９】
受信時間中とは、パケットが受信されている時間を意味する。例えば１つのみのMACプロセッサが存在する場合、次の受信パケットがMACプロセッサによりMACレベルで処理される前にパケットが受信されている時間を意味する。
【００９０】
ここに記載した方法のそれぞれの一実施例は、方法を実装する機械に命令する一式の命令の形式である。従って、当業者にわかるように、本発明の実施例は、方法、特殊目的装置のような装置、データ処理システムのような装置、又は媒体（例えばコンピュータプログラムプロダクト）として具現されてもよい。媒体は、方法を実装するように処理システムのプロセッサを制御する１つ以上のコンピュータ読取可能コードセグメントを運ぶ。従って、本発明の態様は、方法の形式をとってもよく、完全なハードウェア実施例の形式をとってもよく、完全なソフトウェア実施例の形式をとってもよく、また、ソフトウェア及びハードウェア態様を組み合わせた実施例の形式をとってもよい。更に、本発明は、媒体に具現されたコンピュータ読取可能プログラムコードセグメントを運ぶ媒体（例えばコンピュータ読取可能記憶媒体のコンピュータプログラムプロダクト）の形式をとってもよい。メモリを含み、如何なる適切なコンピュータ読取可能媒体が使用されてもよい。
【００９１】
一実施例では、記載の方法のステップは、記憶装置に格納された命令（コードセグメント）を実行する処理システム（すなわちコンピュータシステム）の適切なプロセッサにより実行されることがわかる。また、本発明は、何らか特定の実装又はプログラミング技術に限定されず、本発明はここに記載した機能を実装する如何なる適切な技術を使用して実装されてもよいこともわかる。本発明は、何らか特定のプログラミング言語又はオペレーティングシステムに限定されない。
【００９２】
この明細書を通じて“一実施例”又は“実施例”に言及することは、実施例に関して説明する特定の機能、構造又は特徴が本発明の少なくとも１つの実施例に含まれることを意味する。従って、この明細書を通じて様々な場所に“一実施例では”又は“実施例では”という語句が現れることは、必ずしも同じ実施例について言及しているとは限らない。更に、この開示から当業者に明らかなように、１つ以上の実施例において、特定の機能、構造又は特徴は、如何なる適切な方法で結合されてもよい。
【００９３】
同様に、本発明の例示的な実施例の前記の説明では、開示を効率的にして１つ以上の様々な本発明の態様の理解を助ける目的で、本発明の様々な特徴は、場合によっては単一の実施例、図面又はその説明にグループ化されていることがわかる。しかし、この開示の方法は、特許請求の範囲の発明が各請求項に明示的に記載されたものより多くの特徴を必要とする意図を反映するものとして解釈されるべきではない。それよりも、以下の請求項が示すように、本発明の態様は、単一の前記の開示された実施例の全ての特徴より少ないものにある。従って、特許請求の範囲は、各請求項が本発明の別の実施例としてそれ自体を主張して、この詳細な説明に明示的に組み込まれる。
【００９４】
本発明についてアクセスポイントに結合されたネットワークスイッチに関して説明したが、本発明はこのような関係に限定されず、様々な他のアプリケーション及びシステム（例えばネットワークリンクを介して何らかのネットワーク装置に結合された何らかの無線局を含むシステム）で利用されてもよいことが更にわかる。更に、本発明は、いずれか１つの形式のネットワークアーキテクチャ及びカプセル化方法に限定されず、他のネットワークアーキテクチャ／プロトコルのうち１つ又はその組み合わせと共に使用されてもよい。
【００９５】
本発明者は、現在利用可能なIEEE802.11標準では、ギガビットEthernet（登録商標）と少なくとも同じ速さのEthernet（登録商標）は所要の遅延時間を提供することを見出した点に留意すべきである。しかし、本発明は、局とネットワーク装置との間のリンクにEthernet（登録商標）を使用することに制限されず、ギガビットEthernet（登録商標）又は高速リンクを使用することにも制限されない。例えば、100MBのEthernet（登録商標）リンクが使用され得るような十分低速の無線ネットワークプロトコルが使用されてもよい。また、少なくとも10GBのEthernet（登録商標）のリンクを必要とする高速無線プロトコルが採用されてもよい。これらの全てが本発明の範囲に含まれることを意図する。
【００９６】
ここに記載した全ての刊行物、特許及び特許出願は参照として取り込まれる。
【００９７】
従って、本発明の好ましい実施例であると考えられるものについて説明したが、本発明の範囲を逸脱することなく、当業者は他の変更及び更なる変更が行われ得ることを認識する。このような変更及び変形の全てが本発明の範囲内にあることを請求することを意図する。例えば、前記の如何なる式も使用され得る手順の単なる代表例である。ブロック図から機能が追加又は削除されてもよく、機能ブロックの間で動作が交換されてもよい。本発明の範囲内で記載の方法にステップが追加されてもよく、削除されてもよい。
【図面の簡単な説明】
【００９８】
【図１】無線ローカルエリアネットワーク（WLAN）の従来技術の無線ネットワーク接続
【図２】アクセスポイント（AP）を実装する無線局の実施例
【図３】アクセスポイントへのネットワークを含む、アクセスポイント（AP）を実装する無線局の実施例
【図４Ａ】本発明の態様による第１の特別の形式のEthernet（登録商標）パケット
【図４Ｂ】本発明の態様による第２の特別の形式のEthernet（登録商標）パケット
【図１】
2007515110.tif 000003
【図２】
2007515110.tif 000004
【図３】
2007515110.tif 000005
【図４Ａ】
2007515110.tif 000006
【図４Ｂ】
2007515110.tif 000007
【国際調査報告】
2007515110.tif 000008
2007515110.tif 000009