Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP7686380B2 - COMMUNICATION DEVICE, CONTROL METHOD, AND PROGRAM - Google Patents
[go: Go Back, main page]

JP7686380B2 - COMMUNICATION DEVICE, CONTROL METHOD, AND PROGRAM - Google Patents

COMMUNICATION DEVICE, CONTROL METHOD, AND PROGRAM Download PDF

Info

Publication number
JP7686380B2
JP7686380B2 JP2020166969A JP2020166969A JP7686380B2 JP 7686380 B2 JP7686380 B2 JP 7686380B2 JP 2020166969 A JP2020166969 A JP 2020166969A JP 2020166969 A JP2020166969 A JP 2020166969A JP 7686380 B2 JP7686380 B2 JP 7686380B2
Authority
JP
Japan
Prior art keywords
address information
transmission queue
mac
mac frame
wireless
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2020166969A
Other languages
Japanese (ja)
Other versions
JP2022059312A (en
Inventor
大輔 堀尾
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2020166969A priority Critical patent/JP7686380B2/en
Publication of JP2022059312A publication Critical patent/JP2022059312A/en
Application granted granted Critical
Publication of JP7686380B2 publication Critical patent/JP7686380B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Mobile Radio Communication Systems (AREA)

Description

本発明は、MAC(Media Access Control)フレームをアグリゲーション可能な通信装置に関する。 The present invention relates to a communication device capable of aggregating MAC (Media Access Control) frames.

無線LAN規格(IEEE802.11nおよびac)では、MACフレームを束ねてデータの送信効率を増すことで通信速度を向上させるA-MSDU(Aggregation-MAC Service Data Unit)が規定されている。A-MSDUによりMACフレームをアグリゲーションすることで、データの送信期間に対する送信待ち時間およびACK待ち時間などのプロトコル上で必要となる期間を低減し、通信速度を改善することができる。 Wireless LAN standards (IEEE802.11n and ac) prescribe A-MSDU (Aggregation-MAC Service Data Unit), which improves communication speeds by bundling MAC frames to increase data transmission efficiency. By aggregating MAC frames using A-MSDU, it is possible to reduce the time required by the protocol, such as the transmission waiting time and ACK waiting time for the data transmission period, and improve communication speeds.

例えば、特許文献1には、標準規格で規定される送信時間の制約を遵守しつつ、フレームの最大長を決定し、その範囲内でデータフレームを結合してスループットを向上させる技術が開示されている。 For example, Patent Document 1 discloses a technique for determining the maximum frame length while adhering to the transmission time constraints stipulated in the standard, and combining data frames within that range to improve throughput.

一方、A-MSDUを実現するためには、無線ドライバにおいて送信時に上位層のプロトコルスタックで生成されるMACフレームをA-MSDUのフレームフォーマットに従って連結する必要がある。一般的な実装としては、プロトコルスタックが生成したMACフレームをキューに投入し、無線ドライバがキューから取り出して既定のフレーム数のMACフレームを連結し、無線ヘッダを付加して無線通信フレームを生成し、無線デバイスへ転送する。また、複数の宛先と無線通信を行う場合には、複数のキューを用意して宛先ごとにMACフレームを連結する。 On the other hand, to implement A-MSDU, the MAC frames generated by the upper layer protocol stack at the time of transmission must be concatenated in the wireless driver according to the A-MSDU frame format. In a typical implementation, the MAC frames generated by the protocol stack are put into a queue, and the wireless driver takes them out of the queue, concatenates a preset number of MAC frames, adds a wireless header to generate a wireless communication frame, and transfers it to the wireless device. Also, when performing wireless communication with multiple destinations, multiple queues are prepared and MAC frames are concatenated for each destination.

特開2009-278542号公報JP 2009-278542 A

しかしながら、組み込み製品では、使用できるメモリ容量が少ないため、複数の宛先ごとにキューを持つと、メモリリソースが不足するおそれがある。一方、少ないキューでアグリゲーションを実現する場合、複数の宛先へのMACフレームがキュー内で混在し、適切にアグリゲーションできず、スループットが低下するおそれがある。 However, in embedded products, the memory capacity available is small, so having a queue for each of multiple destinations can lead to memory resource shortages. On the other hand, when achieving aggregation with a small number of queues, MAC frames for multiple destinations can be mixed in the queue, preventing proper aggregation and causing a risk of reduced throughput.

本発明は、上述の課題を鑑み、メモリリソースの増大を抑制しつつ、複数の宛先へのアグリゲーションを適正化することを目的とする。 In consideration of the above-mentioned problems, the present invention aims to optimize aggregation to multiple destinations while suppressing an increase in memory resources.

本発明の一つの態様による通信装置は、通信装置であって、MAC(Media Access Control)フレームに対応するデータを格納した構造体の情報を第1のメモリ領域を用いて管理する管理手段と、第1のメモリ領域とは異なる第2のメモリ領域のFIFO(First In First Out)構造の送信キューと、前記理手段による管理対象として新たに生成された構造体のメモリ番地にアクセスするためのアドレス情報を前記送信キューの末尾に投入する第1処理で前記データを処理するか、前記送信キューにアドレス情報を投入することなしに、前記送信キューに投入済みのMACフレームに対応する構造体に紐づけて管理する第2処理で前記データを処理するかを当該新たに生成された構造体に対応するMACフレームの宛先MACアドレスの情報と、アグリゲーションの上限サイズとを少なくとも用いて判定する判定手段と、前記判定手段により、前記管理手段による管理対象として前記新たに生成された構造体に対応するMACフレームのメモリ番地にアクセスするためのアドレス情報を前記送信キューの末尾に投入する第1処理で前記データを処理すると判定した場合、当該新たに生成された構造体のメモリ番地にアクセスするためのアドレス情報を前記送信キューの末尾に送信待ち状態で投入する投入手段と、前記送信キューに格納されたアドレス情報に基づきSDIO(Secure Digital Input/Output)、PCIe(Peripheral Component Interconnect-Express)、又はUSB(Universal Serial Bus)のうちのいずれか1つのインタフェースを介して前記通信装置のホストシステムと接続された無線制御部に対して当該インタフェースを介して無線フレームを転送する転送制御手段と、を有し、新たに生成された構造体に対応するMACフレームの宛先MACアドレスの情報が、前記送信キューに送信待ち状態で投入されているいずれのアドレス情報に対応する構造体に対応するMACフレームの宛先MACアドレスの情報とも一致しないことに従って前記判定手段は、前記管理手段による管理対象として新たに生成された構造体のメモリ番地にアクセスするためのアドレス情報を前記送信キューの末尾に投入する前記第1処理で前記データを処理すると判定し、新たに生成された構造体に対応するMACフレームの宛先MACアドレスの情報が、前記送信キューに送信待ち状態で投入されているいずれかのアドレス情報に対応する構造体に対応するMACフレームの宛先MACアドレスの情報と一致し、尚且つ、前記上限サイズ以下で前記送信キューに投入済みのアドレス情報に対応する構造体に対応するMACフレームと新たに生成された構造体に対応するMACフレームとを紐づけすることができると判定した場合に、前記判定手段は、前記送信キューに前記管理手段による管理対象として新たに生成された構造体のメモリ番地にアクセスするためのアドレス情報を投入することなしに、前記送信キューに投入済みのMACフレームに対応する構造体に関連付けて管理する前記第2処理で前記データを処理すると判定し、新たに生成された構造体に対応するMACフレームの宛先MACアドレスの情報が、前記送信キューに送信待ち状態で投入されているいずれかのアドレス情報に対応する構造体に対応するMACフレームの宛先MACアドレスの情報と一致するが、前記送信キューに投入済みのアドレス情報に対応する構造体が指し示すMACフレームと新たに生成された構造体に対応するMACフレームとを前記アグリゲーションの上限サイズ以下で紐づけることができないと判定した場合に、前記判定手段は、前記管理手段による管理対象として新たに生成された構造体のメモリ番地にアクセスするためのアドレス情報を前記送信キューの末尾に投入する前記第1処理で前記データを処理すると判定し、前記判定手段によって前記新たに生成された構造体のメモリ番地にアクセスするためのアドレス情報を前記送信キューの末尾に投入することなしに、前記送信キューに投入済みのMACフレームに対応する構造体に対応付けて管理する前記第2処理で前記データを処理すると判定した場合、前記管理手段は、前記上限サイズ以下で前記送信キューに投入済みのアドレス情報に対応する構造体と、前記新たに生成された構造体とを紐づける管理処理を行い、前記判定手段によって前記管理手段による管理対象として新たに生成された構造体のメモリ番地にアクセスするためのアドレス情報を前記送信キューの末尾に投入する前記第1処理に進めると判定された場合に、前記投入手段は、第1のメモリ領域で管理する前記新たに生成された構造体の当該アドレス情報を前記送信キューの末尾に投入する処理を行い、前記送信キューに送信待ち状態で格納されているアドレス情報で特定されるMACフレームに基づく無線フレームを前記無線制御部に転送すると判断した前記転送制御手段は、前記FIFO構造の前記送信キューをデキューすることで先頭に格納されているアドレス情報を取得し、該取得したアドレス情報に基づき前記第1のメモリ領域の構造体を参照し、当該参照した構造体に別の1以上の構造体が紐づけられている場合には、前記参照した構造体により特定されるMACフレームと、前記紐づけられている前記別の1以上の構造体により特定される1以上のMACフレームとをアグリゲーションする処理を行うことでアグリゲーションされた無線フレームが前記無線制御部に転送されるように制御する一方、当該参照した構造体に別の構造体が紐づけられていない場合には、アグリゲーションする処理を行わずアグリゲーション処理されていない当該参照した構造体に対応する1つのMACフレームを含む無線フレームが前記無線制御部に転送されるように制御し、前記送信キューに複数のアドレス情報が送信待ち状態で格納されている状態で、前記無線制御部に転送すると判断した前記転送制御手段は、前記FIFO構造の前記送信キューから順にアドレス情報をデキューすることで、前記送信キューに積まれた複数のアドレス情報の個数に対応する個数の複数の無線フレームを生成し、該生成した複数の無線フレームらが前記無線制御部に転送されるよう制御する、ことを特徴とする。 A communication device according to one aspect of the present invention is a communication device, comprising: a management unit that uses a first memory area to manage information of a structure that stores data corresponding to a MAC (Media Access Control) frame; and a FIFO (First In First Out) storage unit that stores information of a structure that stores data corresponding to a MAC (Media Access Control) frame. a transmission queue having a structure of a destination MAC address of a MAC frame corresponding to the newly generated structure and an upper limit size of an aggregation , determining whether to process the data by a first process of inserting address information for accessing a memory address of a structure newly generated as a management target by the management means into the tail of the transmission queue, or to process the data by a second process of managing the data in association with a structure corresponding to a MAC frame already inserted into the transmission queue without inserting address information into the transmission queue, using at least information on a destination MAC address of a MAC frame corresponding to the newly generated structure and an upper limit size of an aggregation; an inserting means for inserting address information for accessing a memory address of the newly generated structure into the tail of the transmission queue in a transmission waiting state based on the address information stored in the transmission queue, and a transfer control means for transferring a wireless frame via one of an interface of a USB (Universal Serial Bus) or a USB (Interconnect-Express) to a wireless control unit connected to a host system of the communication device, the transfer control means determining that the data is to be processed by the first process of putting address information for accessing a memory address of a newly generated structure as a target for management by the management means, into the tail of the transmission queue, in accordance with a determination that destination MAC address information of a MAC frame corresponding to a newly generated structure does not match destination MAC address information of a MAC frame corresponding to a structure corresponding to any of address information put into the transmission queue in a waiting state for transmission, and determining that the data is to be processed by the first process of putting address information for accessing a memory address of a newly generated structure as a target for management by the management means, into the tail of the transmission queue, in accordance with a determination that destination MAC address information of a MAC frame corresponding to a newly generated structure matches destination MAC address information of a MAC frame corresponding to a structure corresponding to any of address information put into the transmission queue in a waiting state for transmission, and and when it is determined that the MAC frame corresponding to the newly generated structure can be linked with the MAC frame already put into the transmission queue, the determination means determines to process the data by the second process of managing the data in association with the structure corresponding to the MAC frame already put into the transmission queue, without putting address information for accessing a memory address of a structure newly generated as a target for management by the management means into the transmission queue, and when it is determined that destination MAC address information of the MAC frame corresponding to the newly generated structure matches destination MAC address information of the MAC frame corresponding to a structure corresponding to any of the address information put into the transmission queue in a transmission waiting state, but the MAC frame indicated by the structure corresponding to the address information already put into the transmission queue and the MAC frame corresponding to the newly generated structure cannot be linked within an upper limit size of the aggregation, the determination means determines to process the data by the first process of putting address information for accessing a memory address of a structure newly generated as a target for management by the management means into the tail of the transmission queue, and when it is determined that the MAC frame indicated by the structure corresponding to the address information already put into the transmission queue cannot be linked with the MAC frame corresponding to the newly generated structure within an upper limit size of the aggregation, the determination means When it is determined that the data should be processed by the second process of managing the data in association with a structure corresponding to a MAC frame already put into the transmission queue without putting address information for accessing a memory address of a structure that has been put into the transmission queue and is equal to or smaller than the upper limit size, the management means performs a management process of linking the newly generated structure with a structure that corresponds to the address information already put into the transmission queue and is equal to or smaller than the upper limit size, and when it is determined by the determination means to proceed to the first process of putting address information for accessing a memory address of a structure newly generated as a target for management by the management means into the tail of the transmission queue, the putting means performs a process of putting the address information of the newly generated structure managed in a first memory area into the tail of the transmission queue, and when it is determined that the data should be processed by the second process of managing the data in association with a structure corresponding to a MAC frame already put into the transmission queue without putting address information for accessing a memory address of a structure that has been put into the transmission queue and is equal to or smaller than the upper limit size, the putting means and when another structure or structures are linked to the referenced structure, the transfer control means performs a process of aggregating a MAC frame specified by the referenced structure with one or more MAC frames specified by the other one or more linked structures, thereby controlling the aggregated wireless frame to be transferred to the wireless control unit, while when another structure is not linked to the referenced structure, the transfer control means does not perform a process of aggregation, and controls the transfer of a wireless frame including one MAC frame corresponding to the referenced structure that has not been aggregated, to the wireless control unit. When a plurality of pieces of address information are stored in the transmission queue in a waiting state for transmission, the transfer control means, which has determined to transfer the data to the wireless control unit, dequeues address information in order from the transmission queue of the FIFO structure, and controls the transfer of the generated plurality of wireless frames to the wireless control unit.

本発明によれば、メモリリソースの増大を抑制しつつ、複数の宛先へのグリゲーションを適正化することができる。 According to the present invention, it is possible to optimize aggregation to multiple destinations while suppressing the increase in memory resources.

実施形態に係る通信ネットワークの構成例を示すブロック図。FIG. 1 is a block diagram showing an example of the configuration of a communication network according to an embodiment. 実施形態に係る通信装置の構成例を示すブロック図。FIG. 1 is a block diagram showing an example of the configuration of a communication device according to an embodiment. 実施形態に係る無線ドライバのアグリゲーション処理を示すフローチャート。5 is a flowchart showing an aggregation process of a wireless driver according to the embodiment. 実施形態に係るパケット管理構造体を示す図。FIG. 2 is a diagram showing a packet management structure according to an embodiment. 実施形態に係る送信キューおよびリスト管理の一例を示す図。FIG. 4 is a diagram showing an example of transmission queue and list management according to the embodiment. 実施形態に係る無線ドライバのアグリゲーション処理シーケンスを示す図。FIG. 4 is a diagram showing an aggregation processing sequence of a wireless driver according to the embodiment.

以下、添付図面を参照して本発明の実施形態を詳細に説明する。なお、以下の実施形態は本発明を限定するものではなく、また、実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。実施形態の構成は、本発明が適用される装置の仕様や各種条件(使用条件、使用環境等)によって適宜修正または変更され得る。本発明の技術的範囲は、特許請求の範囲によって確定されるのであって、以下の個別の実施形態によって限定されない。 The following describes in detail the embodiments of the present invention with reference to the attached drawings. Note that the following embodiments do not limit the present invention, and not all of the combinations of features described in the embodiments are necessarily essential to the solution of the present invention. The configuration of the embodiments may be modified or changed as appropriate depending on the specifications of the device to which the present invention is applied and various conditions (conditions of use, environment of use, etc.). The technical scope of the present invention is determined by the claims, and is not limited by the individual embodiments below.

図1は、実施形態に係る通信ネットワークの構成例を示すブロック図である。
図1において、通信システム11は、通信装置1~4を備える。図1の例では、通信装置1は、アクセスポイント、通信装置2~4は、ステーションである。通信装置1~4は、カメラ、プリンタ、タブレット、PC(Personal Computer)などの通信機能を備えた装置である。このとき、通信システム11は、インフラストラクチャーモードの無線ネットワークを構成することができる。インフラストラクチャーモードは、IEEE802.11で規定される無線LANの動作モードの1つである。インフラストラクチャーモードでは、アクセスポイントを介してステーション間の通信が行われる。例えば、インフラストラクチャーモードでは、通信装置2であるカメラが撮影した動画像を、通信装置1を介して通信装置3、4に送信し、通信装置3、4である複数のディスプレイに表示することができる。あるいは、通信装置2であるタブレットで編集したコンテンツを、通信装置1を介して通信装置3、4に送信し、通信装置3、4である複数のプリンタで用途別に印刷することができる。
FIG. 1 is a block diagram illustrating an example of the configuration of a communication network according to an embodiment.
In FIG. 1, the communication system 11 includes communication devices 1 to 4. In the example of FIG. 1, the communication device 1 is an access point, and the communication devices 2 to 4 are stations. The communication devices 1 to 4 are devices equipped with communication functions such as a camera, a printer, a tablet, and a PC (Personal Computer). In this case, the communication system 11 can configure a wireless network in infrastructure mode. The infrastructure mode is one of the operation modes of a wireless LAN defined by IEEE 802.11. In the infrastructure mode, communication between stations is performed via an access point. For example, in the infrastructure mode, a video image captured by the camera, which is the communication device 2, can be transmitted to the communication devices 3 and 4 via the communication device 1, and can be displayed on multiple displays, which are the communication devices 3 and 4. Alternatively, content edited by the tablet, which is the communication device 2, can be transmitted to the communication devices 3 and 4 via the communication device 1, and can be printed by multiple printers, which are the communication devices 3 and 4, according to the purpose.

通信装置2は、通信装置1を介して、動画像または印刷データを無線パケットとして通信装置3、4へ送信する。このとき、通信装置1は、各通信装置3、4の無線パケットを同時にハンドリングするため、アグリゲーション処理を効率化し、通信速度を向上させる。例えば、通信装置1は、各通信装置3、4に対して許容される最大のアグリゲーションサイズの無線パケットを送信することで、通信速度を向上させることができる。 Communication device 2 transmits video or print data as wireless packets to communication devices 3 and 4 via communication device 1. At this time, communication device 1 handles the wireless packets of each of communication devices 3 and 4 simultaneously, making aggregation processing more efficient and improving communication speed. For example, communication device 1 can improve communication speed by transmitting wireless packets of the maximum allowable aggregation size to each of communication devices 3 and 4.

また、通信装置2においても、通信装置1が各通信装置3、4に効率よくアグリゲーションしたパケットを送信できるように、宛先ごとに最大のアグリゲーションサイズで送信することができる。ここで、各通信装置1~4が許容する最大のアグリゲーションサイズは、予め機器のスペックおよび通信リンク方式により決められる。例えば、通信リンク方式としてIEEE802.11acで接続する場合には、A-MSDUの最大アグリゲーションサイズは10Kバイトであり、IEEE802.11nの場合は、最大アグリゲーションサイズは8Kバイトである。 Furthermore, communication device 2 can transmit packets at the maximum aggregation size for each destination so that communication device 1 can efficiently transmit aggregated packets to each of communication devices 3 and 4. Here, the maximum aggregation size allowed by each of communication devices 1 to 4 is determined in advance by the device specifications and communication link method. For example, when connecting using IEEE802.11ac as the communication link method, the maximum aggregation size of A-MSDU is 10K bytes, and when using IEEE802.11n, the maximum aggregation size is 8K bytes.

また、通信装置1、2間には無線リンク12が設定され、通信装置1、3間には無線リンク13が設定され、通信装置1、4間には無線リンク14が設定される。このとき、各通信装置1~4は、ケーパビリティーを予め交換し合うことで無線リンク12~14における最大アグリゲーションサイズを決定することができる。例えば、無線リンク12、13は、IEEE802.11acで接続され、無線リンク14は、IEEE802.11nで接続されるものとする。ただし、通信装置4は、スペックの制約で6Kバイトまでのアグリゲーションに対応しているものとする。この場合、各通信装置1、2は、最大アグリゲーションサイズを管理するテーブルを宛先ごとに持ち、宛先が通信装置3の場合には最大10Kバイトのアグリゲーションを実行し、通信装置4の場合には最大6Kバイトのアグリゲーションを実行する。 A wireless link 12 is established between communication devices 1 and 2, a wireless link 13 is established between communication devices 1 and 3, and a wireless link 14 is established between communication devices 1 and 4. At this time, each communication device 1 to 4 can determine the maximum aggregation size in wireless links 12 to 14 by exchanging capabilities in advance. For example, wireless links 12 and 13 are connected by IEEE802.11ac, and wireless link 14 is connected by IEEE802.11n. However, communication device 4 is limited in specifications to support aggregation up to 6K bytes. In this case, each communication device 1 and 2 has a table for managing the maximum aggregation size for each destination, and performs aggregation of up to 10K bytes when the destination is communication device 3, and performs aggregation of up to 6K bytes when the destination is communication device 4.

図2は、実施形態に係る通信装置の構成例を示すブロック図である。なお、図2は、図1の通信装置1を例にとるが、通信装置2~4も同様に構成することができる。
図2に示す通信装置1の各機能モジュールのうち、ソフトウェアにより実現される機能については、各機能モジュールの機能を提供するためのプログラムがROM(Read Only Memory)等のメモリに記憶される。そして、そのプログラムをRAM(Random Access Memory)に読み出してCPU(Central Processing Unit)が実行することにより実現される。ハードウェアにより実現される機能については、例えば、所定のコンパイラを用いることで、各機能モジュールの機能を実現するためのプログラムからFPGA上に自動的に専用回路を生成すればよい。FPGAとは、Field Programmable Gate Arrayの略である。また、FPGAと同様にしてGate Array回路を形成し、ハードウェアとして実現するようにしてもよい。また、ASIC(Application Specific Integrated Circuit)により実現するようにしてもよい。なお、図2に示した機能ブロックの構成は一例であり、複数の機能ブロックが1つの機能ブロックを構成するようにしてもよいし、いずれかの機能ブロックが複数の機能を行うブロックに分かれてもよい。
Fig. 2 is a block diagram showing an example of the configuration of a communication device according to an embodiment. Note that Fig. 2 takes the communication device 1 in Fig. 1 as an example, but the communication devices 2 to 4 can also be configured in the same way.
Of the functional modules of the communication device 1 shown in FIG. 2, the functions realized by software are stored in a memory such as a ROM (Read Only Memory) or the like, in which a program for providing the function of each functional module is stored. Then, the program is read into a RAM (Random Access Memory) and executed by a CPU (Central Processing Unit), thereby realizing the functions. For the functions realized by hardware, for example, a specific compiler may be used to automatically generate a dedicated circuit on the FPGA from a program for realizing the function of each functional module. FPGA is an abbreviation for Field Programmable Gate Array. Also, a gate array circuit may be formed in the same manner as the FPGA, and may be realized as hardware. Also, it may be realized by an ASIC (Application Specific Integrated Circuit). Note that the functional block configuration shown in FIG. 2 is just one example, and multiple functional blocks may be configured to form one functional block, or any functional block may be divided into blocks performing multiple functions.

図2において、通信装置1は、CPU21、オンチップメモリ22、メインメモリ23および無線制御部24を備える。CPU21、オンチップメモリ22、メインメモリ23および無線制御部24は、システムバス25を介して互いに接続されている。システムバス25は、各種データの転送経路である。 In FIG. 2, the communication device 1 includes a CPU 21, an on-chip memory 22, a main memory 23, and a wireless control unit 24. The CPU 21, the on-chip memory 22, the main memory 23, and the wireless control unit 24 are connected to each other via a system bus 25. The system bus 25 is a transfer path for various data.

CPU21は、OS(Operating System)またはデバイスドライバを介して各ハードウェア構成部を統括的に制御し、通信装置1を制御する。CPU21は、GPU(Graphics Processing Unit)であってもよい。CPU21は、アプリケーション210、プロトコルスタック211および無線ドライバ212を備える。無線ドライバ212は、連結サイズ決定部213、キュー管理部214、リスト管理部215および管理種別選択部216を備える。 The CPU 21 controls each hardware component via an OS (Operating System) or a device driver, and controls the communication device 1. The CPU 21 may be a GPU (Graphics Processing Unit). The CPU 21 includes an application 210, a protocol stack 211, and a wireless driver 212. The wireless driver 212 includes a concatenation size determination unit 213, a queue management unit 214, a list management unit 215, and a management type selection unit 216.

オンチップメモリ22は、CPU21で実行されるOSおよびデバイスドライバなどの制御プログラムを格納する。オンチップメモリ22は、送信キュー217を備える。
メインメモリ23は、CPU21で実行されるアプリケーション210、プロトコルスタック211および無線ドライバ212の各種プログラムおよびデータを記憶したり、ワークエリアを提供したりする。
The on-chip memory 22 stores control programs such as the OS and device drivers executed by the CPU 21. The on-chip memory 22 includes a transmission queue 217.
The main memory 23 stores various programs and data for the application 210, the protocol stack 211, and the wireless driver 212 executed by the CPU 21, and provides a work area.

無線制御部24は、無線ネットワークを介し、相手の通信装置と通信を行う。無線制御部24は、CPU21、オンチップメモリ22およびメインメモリ23から構成されるホストシステムと接続するためのSDIO、PCIeまたはUSBなどのインターフェースから構成される。SDIOは、Secure Digital Input/Output、PCIeは、Peripheral Component Interconnect-Express、USBは、Universal Serial Busである。 The wireless control unit 24 communicates with the other communication device via the wireless network. The wireless control unit 24 is composed of interfaces such as SDIO, PCIe, or USB for connecting to a host system composed of a CPU 21, an on-chip memory 22, and a main memory 23. SDIO is Secure Digital Input/Output, PCIe is Peripheral Component Interconnect-Express, and USB is Universal Serial Bus.

通信装置1において、データ通信を行う場合は、アプリケーション210により、ソケットAPI(Application Programming Interface)がコールされる。
プロトコルスタック211は、TCP/IP(Transmission Control Protocol /Internet Protocol)等のプロトコル処理を行い、MACフレームを生成する。
When data communication is performed in the communication device 1, the application 210 calls a socket API (Application Programming Interface).
The protocol stack 211 performs protocol processing such as TCP/IP (Transmission Control Protocol/Internet Protocol) and generates a MAC frame.

無線ドライバ212は、プロトコルスタック211からMACフレームを受け取り、無線通信フレームを生成する際に複数のMACフレームに対してアグリゲーション処理を行う。このとき、無線ドライバ212は、送信キュー217に積まれた順にMACフレームのアグリゲーション処理を行い、無線ヘッダを付加して無線通信フレームとして無線制御部24に転送する。このアグリゲーション処理では、無線ドライバ212は、各宛先のアグリゲーションサイズ以下でMACフレームを宛先ごとに連結する。このとき、無線ドライバ212は、A-MSDUを実現するために、プロトコルスタック211で生成されるMACフレームをA-MSDUのフレームフォーマットに従って連結する。 The wireless driver 212 receives MAC frames from the protocol stack 211, and performs aggregation processing on multiple MAC frames when generating a wireless communication frame. At this time, the wireless driver 212 performs aggregation processing on the MAC frames in the order they were stacked in the transmission queue 217, adds a wireless header, and transfers them to the wireless control unit 24 as a wireless communication frame. In this aggregation processing, the wireless driver 212 concatenates MAC frames for each destination so that the size is equal to or less than the aggregation size of each destination. At this time, in order to realize the A-MSDU, the wireless driver 212 concatenates the MAC frames generated by the protocol stack 211 according to the frame format of the A-MSDU.

連結サイズ決定部213は、複数の宛先ノードごとにアグリゲーションサイズを決定する。例えば、図1の通信装置1が各通信装置3、4にMACフレームを送信する場合、宛先ノードは各通信装置3、4である。連結サイズ決定部213は、複数の宛先ノードごとに設定されたアグリゲーションサイズを格納するテーブルを備えてもよい。連結サイズ決定部213は、複数の宛先ノードごとのアグリゲーションサイズから最小のアグリゲーションサイズを決定し、全ての宛先に対して最小のアグリゲーションサイズを適用してもよい。 The concatenation size determination unit 213 determines an aggregation size for each of the multiple destination nodes. For example, when the communication device 1 in FIG. 1 transmits a MAC frame to each of the communication devices 3 and 4, the destination nodes are each of the communication devices 3 and 4. The concatenation size determination unit 213 may include a table that stores the aggregation sizes set for each of the multiple destination nodes. The concatenation size determination unit 213 may determine the smallest aggregation size from the aggregation sizes for each of the multiple destination nodes, and apply the smallest aggregation size to all destinations.

キュー管理部214は、MACフレームにアクセス可能なアドレス情報が投入される送信キュー217を管理する。このアドレス情報は、例えば、MACフレームが格納されるパケット管理構造体の先頭アドレスである。 The queue management unit 214 manages the transmission queue 217 into which address information accessible to the MAC frame is input. This address information is, for example, the top address of the packet management structure in which the MAC frame is stored.

リスト管理部215は、MACフレームにアクセス可能なアドレス情報に基づいて、同宛先のMACフレームを紐付けてリスト形式で管理する。例えば、リスト管理部215は、第1MACフレームの第1アドレス情報が送信キュー217に投入済の場合、第1MACフレームと同宛先の第2MACフレームをリスト管理する。このとき、リスト管理される第2MACフレームの第2アドレス情報は送信キュー217に投入されない。また、リスト管理部215は、同宛先のMACフレームをアグリゲーションサイズ以下で紐付けて管理する。
このとき、MACフレームは、キュー管理部214およびリスト管理部215により宛先ごとに適正にアグリゲーションが実行できるように管理される。
The list management unit 215 manages MAC frames of the same destination in a list format by linking them based on address information accessible to the MAC frames. For example, when the first address information of a first MAC frame has been entered into the transmission queue 217, the list management unit 215 manages a second MAC frame of the same destination as the first MAC frame in a list format. At this time, the second address information of the second MAC frame that is managed in the list format is not entered into the transmission queue 217. Furthermore, the list management unit 215 manages MAC frames of the same destination by linking them at an aggregation size or less.
At this time, the MAC frames are managed by the queue management unit 214 and the list management unit 215 so that aggregation can be performed appropriately for each destination.

管理種別選択部216は、MACフレームの宛先およびアグリゲーションサイズに基づいて、送信キュー217に未投入のアドレス情報を送信キュー217に投入するか、投入しないかを選択する。例えば、管理種別選択部216は、第1MACフレームの第1アドレス情報が送信キュー217に投入済のときに、第1MACフレームと同宛先の第2MACフレームをアグリゲーションサイズ以下で紐付けが可能な場合、第2MACフレームの第2アドレス情報を送信キュー217に投入しないことを選択する。この場合、リスト管理部215は、第2MACフレームを第1MACフレームと紐付けてリスト管理する。
また、管理種別選択部216は、第1MACフレームの第1アドレス情報が送信キュー217に投入済のときに、第1MACフレームと同宛先の第2MACフレームをアグリゲーションサイズ以下で紐付けが不可能な場合、第2MACフレームの第2アドレス情報を送信キュー217に投入することを選択する。
さらに、管理種別選択部216は、第1MACフレームの第1アドレス情報と同宛先の第2MACフレームの第2アドレス情報が送信キュー217に未投入の場合、第1アドレス情報を送信キュー217に投入することを選択する。
The management type selection unit 216 selects, based on the destination and aggregation size of the MAC frame, whether to put address information that has not been put into the transmission queue 217 into the transmission queue 217. For example, when the first address information of the first MAC frame has been put into the transmission queue 217, if a second MAC frame having the same destination as the first MAC frame can be associated with the first MAC frame at an aggregation size or less, the management type selection unit 216 selects not to put the second address information of the second MAC frame into the transmission queue 217. In this case, the list management unit 215 associates the second MAC frame with the first MAC frame and performs list management.
In addition, when the first address information of the first MAC frame has already been put into the transmission queue 217, if it is not possible to link a second MAC frame having the same destination as the first MAC frame within the aggregation size, the management type selection unit 216 selects to put the second address information of the second MAC frame into the transmission queue 217.
Furthermore, if the second address information of the second MAC frame having the same destination as the first address information of the first MAC frame has not been entered into the transmission queue 217, the management type selection unit 216 selects to enter the first address information into the transmission queue 217.

送信キュー217は、MACフレームにアクセス可能なアドレス情報が投入される。例えば、送信キュー217には、MACフレームが格納されるパケット管理構造体の先頭アドレスが積まれる。このとき、同宛先のMACフレームが複数あるものとする。この場合、送信キュー217には、それら複数のMACフレームのそれぞれの格納先である複数のパケット管理構造体の先頭アドレスのうち、いずれか1つのMACフレームの格納先であるパケット管理構造体の先頭アドレスのみが格納される。 Address information that can access a MAC frame is input to the transmission queue 217. For example, the top address of a packet management structure in which the MAC frame is stored is stored in the transmission queue 217. In this case, it is assumed that there are multiple MAC frames with the same destination. In this case, the transmission queue 217 stores only the top address of the packet management structure in which one of the multiple packet management structures in which the multiple MAC frames are stored is stored.

図3は、実施形態に係る無線ドライバのアグリゲーション処理を示すフローチャートである。ここでは、図2のプロトコルスタック211がMACフレームを生成し、無線ドライバ212が取得した後、宛先ごとに管理してアグリゲーション処理を行い、無線制御部24に転送するまでの流れを説明する。 Figure 3 is a flowchart showing the aggregation process of the wireless driver according to the embodiment. Here, the flow is explained, from when the protocol stack 211 in Figure 2 generates a MAC frame, to when the wireless driver 212 acquires it, to when the frame is managed for each destination, aggregation process is performed, and the frame is transferred to the wireless control unit 24.

なお、図3の各ステップは、通信装置1の記憶部に記憶されたプログラムをCPU21が読み出し、実行することで実現される。また、図3に示すフローチャートの少なくとも一部をハードウェアにより実現してもよい。ハードウェアにより実現する場合、例えば、所定のコンパイラを用いることで、各ステップを実現するためのプログラムからFPGA上に自動的に専用回路を生成すればよい。また、FPGAと同様にしてGate Array回路を形成し、ハードウェアとして実現するようにしてもよい。また、ASICにより実現するようにしてもよい。
この場合、図3に示すフローチャートにおける各ブロックは、ハードウェアブロックと見做すことができる。なお、複数のブロックをまとめて1つのハードウェアブロックとして構成してもよく、1つのブロックを複数のハードウェアブロックとして構成してもよい。
Each step in FIG. 3 is realized by the CPU 21 reading and executing a program stored in the storage unit of the communication device 1. At least a part of the flowchart shown in FIG. 3 may be realized by hardware. When realized by hardware, for example, a specific compiler may be used to automatically generate a dedicated circuit on the FPGA from a program for realizing each step. Also, a gate array circuit may be formed in the same manner as the FPGA, and realized as hardware. Also, it may be realized by an ASIC.
In this case, each block in the flowchart shown in Fig. 3 can be regarded as a hardware block. Note that multiple blocks may be integrated into one hardware block, and one block may be configured as multiple hardware blocks.

図3のS1において、図2の無線ドライバ212は、プロトコルスタック211が生成したMACフレームが取得可能かどうかを判断し、取得可能な場合にはS2に進み、取得不可の場合にはS6に進む。
S2では、無線ドライバ212は、MACフレーム内のMACヘッダまたはIP(Internet Protocol)ヘッダを参照し、同宛先のMACフレームが送信キュー217にあるかどうかを判定する。このとき、無線ドライバ212は、宛先を識別するために、宛先MACアドレスまたは宛先IPアドレスを参照することができる。
In S1 of FIG. 3, the wireless driver 212 of FIG. 2 determines whether the MAC frame generated by the protocol stack 211 can be acquired, and if so, proceeds to S2, and if not, proceeds to S6.
In S2, the wireless driver 212 refers to the MAC header or IP (Internet Protocol) header in the MAC frame and determines whether or not a MAC frame with the same destination is in the transmit queue 217. At this time, the wireless driver 212 can refer to the destination MAC address or destination IP address to identify the destination.

無線ドライバ212は、同宛先のMACフレームが送信キュー217にない場合、S3に進み、ある場合、S4に進む。
S3では、無線ドライバ212は、MACフレームが格納されるパケット管理構造体の先頭アドレスを送信キュー217に投入し、S1に戻る。
S4では、無線ドライバ212は、同宛先のMACフレームに関連付けられるMACフレームを含めても、連結サイズ決定部213にて決定されるアグリゲーションサイズ以下かどうかを判定する。無線ドライバ212は、アグリゲーションサイズを超過する場合、S3に進み、アグリゲーションサイズ以下の場合、S5に進む。
If there is no MAC frame with the same destination in the transmit queue 217, the wireless driver 212 proceeds to S3, otherwise proceeds to S4.
In S3, the wireless driver 212 puts the top address of the packet management structure in which the MAC frame is stored into the transmit queue 217, and returns to S1.
In S4, the wireless driver 212 determines whether the total size, including the MAC frames associated with the MAC frame of the same destination, is equal to or smaller than the aggregation size determined by the concatenation size determination unit 213. If the total size exceeds the aggregation size, the wireless driver 212 proceeds to S3, and if the total size is equal to or smaller than the aggregation size, the wireless driver 212 proceeds to S5.

S5では、無線ドライバ212は、リストに追加されるMACフレームを送信キュー217に投入済みのMACフレームに関連付け、リスト管理を行う。なお、MACフレームを関連付けすることでリストとして管理する方法については後述する。 In S5, the wireless driver 212 associates the MAC frame to be added to the list with the MAC frame already inserted in the transmission queue 217, and performs list management. Note that the method of managing the MAC frames as a list by associating them will be described later.

S6では、無線ドライバ212は、MACフレームが格納されるパケット管理構造体の先頭アドレスを送信キュー217からデキューし、S7に進む。
S7では、無線ドライバ212は、格納先のパケット管理構造体の先頭アドレスがデキューされたMACフレームに関連付けられているMACフレームを含めてアグリゲーション処理を行い、S8に進む。
S8では、無線ドライバ212は、アグリゲーション処理を行ったMACフレームに無線ヘッダを付加して無線通信フレームを生成し、S9に進む。
S9では、無線ドライバ212は、無線通信フレームを無線制御部24に転送し、処理を終了する。
In S6, the wireless driver 212 dequeues the top address of the packet management structure in which the MAC frame is stored from the transmit queue 217, and proceeds to S7.
In S7, the wireless driver 212 performs aggregation processing including the MAC frame whose top address of the storage destination packet management structure is associated with the dequeued MAC frame, and proceeds to S8.
In S8, the wireless driver 212 generates a wireless communication frame by adding a wireless header to the aggregated MAC frame, and proceeds to S9.
In S9, the wireless driver 212 transfers the wireless communication frame to the wireless control unit 24 and ends the process.

ここで、S1において、無線制御部24へ転送可能かどうかの判断を加えてもよい。すなわち、無線制御部24へ転送可能の場合には、MACフレームが格納されるパケット管理構造体の先頭アドレスを送信キュー217から即座にデキューしてアグリゲーションし、無線ヘッダを付加して転送してもよい。
また、S4において、アグリゲーションサイズにより判定を行ったが、この方法以外にも、アグリゲーション数により判定を行ってもよい。例えば、MACフレームのサイズは1.5Kバイトを想定し、最大アグリゲーションサイズが6Kバイトの場合には、アグリゲーション数を4として判定してもよい。
Here, in S1, a determination may be made as to whether or not the frame can be transferred to the wireless control unit 24. In other words, if the frame can be transferred to the wireless control unit 24, the first address of the packet management structure in which the MAC frame is stored may be immediately dequeued from the transmission queue 217, aggregated, and a wireless header may be added before the frame is transferred.
In addition, in S4, the determination is made based on the aggregation size, but the determination may be made based on the number of aggregations in addition to this method. For example, when the size of the MAC frame is assumed to be 1.5 Kbytes and the maximum aggregation size is 6 Kbytes, the number of aggregations may be determined to be 4.

図4は、実施形態に係るパケット管理構造体を示す図である。ここでは、図2のメインメモリ23において、MACフレームを格納するパケット管理構造体40について説明を行う。
図4において、パケット管理構造体40は、管理情報部41およびデータ部42を備える。
4 is a diagram showing a packet management structure according to an embodiment of the present invention, in which a packet management structure 40 for storing MAC frames in the main memory 23 of FIG.
In FIG. 4, a packet management structure 40 includes a management information section 41 and a data section 42 .

管理情報部41は、データ部42のサイズ、データ部42に格納されるフレームのデータ長、データ部42の開始アドレスおよび次パケット管理構造体40の先頭アドレスを含む。
データ部42は、フレームを格納可能なサイズのバッファである。データ部42は、パケットとしてMACヘッダ、IPヘッダ、TCP/UDPヘッダおよびペイロードを格納する。
The management information section 41 includes the size of the data section 42 , the data length of the frame stored in the data section 42 , the start address of the data section 42 , and the start address of the next packet management structure 40 .
The data section 42 is a buffer having a size capable of storing a frame, and stores a MAC header, an IP header, a TCP/UDP header, and a payload as a packet.

プロトコルスタック211で生成されたMACフレームは、パケット管理構造体40に格納され、無線ドライバ212は、データ部42の開始アドレスからMACフレームを取得する。また、無線ドライバ212は、S5において、次のパケット管理構造体40の先頭アドレスを使用してリスト形式でMACフレームの関連付けを行う。無線ドライバ212は、リストの最後のパケット管理構造体40では、次のパケット管理構造体40の先頭アドレスをNULLまたは0として管理を行う。 The MAC frame generated by the protocol stack 211 is stored in the packet management structure 40, and the wireless driver 212 obtains the MAC frame from the start address of the data section 42. In S5, the wireless driver 212 associates the MAC frame in list format using the start address of the next packet management structure 40. For the last packet management structure 40 in the list, the wireless driver 212 manages the start address of the next packet management structure 40 as NULL or 0.

ここで、送信キュー217は、サイズが予め決められたFIFO(First In First Out)で構成され、MACフレームを格納するパケット管理構造体の先頭アドレスを保持する。また、無線ドライバ212は、パケット管理構造体に他のパケット管理構造体の先頭アドレスを紐付けることでリスト管理を行う。リスト管理は、先頭アドレスのみの情報を付加することで宛先ごとにMACフレームを管理可能であるため、送信キュー217でMACフレームのFIFOを実現するよりも、必要となるメモリサイズを低減可能である。 The transmit queue 217 is configured as a FIFO (First In First Out) with a predetermined size, and holds the starting address of a packet management structure that stores MAC frames. The wireless driver 212 also performs list management by linking a packet management structure to the starting address of another packet management structure. List management can manage MAC frames for each destination by adding information of only the starting address, so the required memory size can be reduced compared to implementing a FIFO for MAC frames in the transmit queue 217.

図5は、実施形態に係る送信キューおよびリスト管理の一例を示す図である。ここでは、図2の通信装置1において、図3の処理を実行することで、宛先である通信装置3、4へのMACフレームを宛先ごとに適切にアグリゲーション処理できるように管理する場合を説明する。また、全てのMACフレームは、1.5Kバイトであるものとして説明する。 Figure 5 is a diagram showing an example of transmission queue and list management according to an embodiment. Here, a case is described in which the communication device 1 in Figure 2 executes the process in Figure 3 to manage MAC frames destined for communication devices 3 and 4 so that they can be appropriately aggregated for each destination. In addition, the description is given assuming that all MAC frames are 1.5 Kbytes.

図5において、パケット管理構造体504~510は、番号順にプロトコルスタック211で生成され、無線ドライバ212が生成した順に取得される。パケット管理構造体504、508は、通信装置3宛てのMACフレームが格納され、パケット管理構造体505~507、509、510は、通信装置4宛てのMACフレームが格納される。 In FIG. 5, packet management structures 504-510 are generated by protocol stack 211 in numerical order, and are acquired in the order in which wireless driver 212 generated them. Packet management structures 504 and 508 store MAC frames addressed to communication device 3, and packet management structures 505-507, 509, and 510 store MAC frames addressed to communication device 4.

以下、図5の送信キュー217に格納された先頭アドレスに紐付けられたリストの生成方法について説明する。
無線ドライバ212は、パケット管理構造体504を取得し、パケット管理構造体504の先頭アドレス503を送信キュー217に投入する。
次に、無線ドライバ212は、パケット管理構造体505を取得する。このとき、パケット管理構造体505の宛先は、送信キュー217に投入済みのパケット管理構造体404と宛先と異なるため、無線ドライバ212は、パケット管理構造体505の先頭アドレス502を送信キュー217に投入する。
A method for generating a list linked to the top address stored in the transmission queue 217 in FIG. 5 will be described below.
The wireless driver 212 obtains the packet management structure 504 and puts the top address 503 of the packet management structure 504 into the transmit queue 217 .
Next, the wireless driver 212 obtains the packet management structure 505. At this time, since the destination of the packet management structure 505 is different from the destination of the packet management structure 404 already put into the transmit queue 217, the wireless driver 212 puts the top address 502 of the packet management structure 505 into the transmit queue 217.

次に、無線ドライバ212は、パケット管理構造体506を取得する。このとき、パケット管理構造体506と同宛先であるパケット管理構造体505が送信キュー217に既に存在する。このため、無線ドライバ212は、管理情報部41の次のパケット管理構造体40の先頭アドレス512にパケット管理構造体506の先頭アドレスを使用して関連付けを行う。 Next, the wireless driver 212 obtains the packet management structure 506. At this time, a packet management structure 505 having the same destination as the packet management structure 506 is already present in the transmit queue 217. Therefore, the wireless driver 212 associates the start address of the packet management structure 506 with the start address 512 of the next packet management structure 40 in the management information section 41 using the start address of the packet management structure 506.

次に、無線ドライバ212は、パケット管理構造体505と同宛先であるパケット管理構造体507、509について順次関連付けを行う。
また、無線ドライバ212は、パケット管理構造体504と同宛先であるパケット管理構造体508について関連付けを行う。
また、無線ドライバ212は、パケット管理構造体510を取得する。このとき、パケット管理構造体510と同宛先のパケット管理構造体509が存在するが、これらの関連付けを行うと、最大アグリゲーションサイズである6Kバイトを超過するものとする。この場合、無線ドライバ212は、パケット管理構造体510については、パケット管理構造体509と紐付けるリスト管理を行わず、パケット管理構造体510の先頭アドレス501を送信キュー217に投入する。
Next, the wireless driver 212 sequentially associates the packet management structures 507 and 509, which have the same destination as the packet management structure 505.
The wireless driver 212 also associates the packet management structure 504 with a packet management structure 508 that has the same destination.
The wireless driver 212 also acquires a packet management structure 510. At this time, a packet management structure 509 exists that has the same destination as the packet management structure 510, but if these are associated with each other, the maximum aggregation size of 6 Kbytes will be exceeded. In this case, the wireless driver 212 does not perform list management for linking the packet management structure 510 with the packet management structure 509, and instead puts the top address 501 of the packet management structure 510 into the transmit queue 217.

以上の操作により、最大アグリゲーションサイズ以内に収めつつ、図5の送信キュー217に格納された先頭アドレスに紐付けられたリストが生成される。
その後、無線ドライバ212は、送信キュー217から順にデキューし、リスト管理されるパケット管理構造体40に格納されるMACフレームをアグリゲーション処理する。これにより、無線ドライバ212は、1つの送信キュー217のみで宛先ごとに適切にアグリゲーション処理を行うことができ、メモリリソースの増大を抑制しつつ、データ送信時のスループットを向上させることができる。
Through the above operations, a list is generated that is linked to the top address stored in the transmission queue 217 in FIG. 5 while staying within the maximum aggregation size.
Thereafter, the wireless driver 212 sequentially dequeues the MAC frames from the transmission queue 217, and aggregates the MAC frames stored in the list-managed packet management structure 40. This allows the wireless driver 212 to appropriately perform aggregation processing for each destination using only one transmission queue 217, and improves throughput during data transmission while suppressing an increase in memory resources.

図6は、実施形態に係る無線ドライバのアグリゲーション処理シーケンスを示す図である。ここでは、図1の通信装置1において、通信装置3、4への複数のMACフレームF1~F7に対するアグリゲーション処理を含む送信動作を説明する。MACフレームF1、F5は通信装置3宛て、MACフレームF2~F4、F6、F7は通信装置4宛てであるものとする。また、各MACフレームの格納先が、図5のパケット管理構造体504~510であるものとする。 Figure 6 is a diagram showing the aggregation processing sequence of a wireless driver according to an embodiment. Here, a transmission operation including aggregation processing of multiple MAC frames F1 to F7 to communication devices 3 and 4 in communication device 1 in Figure 1 will be described. It is assumed that MAC frames F1 and F5 are addressed to communication device 3, and MAC frames F2 to F4, F6, and F7 are addressed to communication device 4. It is also assumed that the storage destinations of each MAC frame are packet management structures 504 to 510 in Figure 5.

図6において、S10、S11では、図2のプロトコルスタック211は、通信装置3宛てのMACフレームF1をメインメモリ23に生成する。
S12では、無線ドライバ212は、MACフレームF1を取得し、S13では、格納されるパケット管理構造体504の先頭アドレス503を送信キュー217に投入する。
6, in S10 and S11, the protocol stack 211 in FIG. 2 generates a MAC frame F1 addressed to the communication device 3 in the main memory 23.
In S12, the wireless driver 212 acquires the MAC frame F1, and in S13, puts the head address 503 of the stored packet management structure 504 into the transmission queue 217.

S14、S15では、プロトコルスタック211は、通信装置4宛てのMACフレームF2をメインメモリ23に生成する。
S16では、無線ドライバ212は、MACフレームF2を取得し、S17では、格納されるパケット管理構造体505の先頭アドレス502を送信キュー217に投入する。
In S14 and S15, the protocol stack 211 generates a MAC frame F2 addressed to the communication device 4 in the main memory 23.
In S16, the wireless driver 212 acquires the MAC frame F2, and in S17, puts the head address 502 of the packet management structure 505 to be stored into the transmission queue 217.

S18、S19では、プロトコルスタック211は、通信装置4宛てのMACフレームF3をメインメモリ23に生成する。
S20では、無線ドライバ212は、MACフレームF3を取得し、S21では、格納されるパケット管理構造体506の先頭アドレスをパケット管理構造体505に関連付ける。
In S18 and S19, the protocol stack 211 generates a MAC frame F3 addressed to the communication device 4 in the main memory 23.
In S20, the wireless driver 212 acquires the MAC frame F3, and in S21 associates the start address of the packet management structure 506 to be stored with the packet management structure 505.

S22、S23では、プロトコルスタック211は、通信装置4宛てのMACフレームF4をメインメモリ23に生成する。
S24では、無線ドライバ212は、MACフレームF4を取得し、S25では、格納されるパケット管理構造体507の先頭アドレスをパケット管理構造体506に関連付ける。
In S22 and S23, the protocol stack 211 generates a MAC frame F4 addressed to the communication device 4 in the main memory 23.
In S24, the wireless driver 212 acquires the MAC frame F4, and in S25 associates the top address of the packet management structure 507 to be stored with the packet management structure 506.

S26、S27では、プロトコルスタック211は、通信装置3宛てのMACフレームF5をメインメモリ23に生成する。
S28では、無線ドライバ212は、MACフレームF5を取得し、S29では、格納されるパケット管理構造体508の先頭アドレスをパケット管理構造体504に関連付ける。
In S26 and S27, the protocol stack 211 generates a MAC frame F5 addressed to the communication device 3 in the main memory 23.
In S28, the wireless driver 212 acquires the MAC frame F5, and in S29 associates the top address of the packet management structure 508 to be stored with the packet management structure 504.

S30、S31では、プロトコルスタック211は、通信装置4宛てのMACフレームF6をメインメモリ23に生成する。
S32では、無線ドライバ212は、MACフレームF6を取得し、S33では、格納されるパケット管理構造体509の先頭アドレスをパケット管理構造体507に関連付ける。
In S30 and S31, the protocol stack 211 generates a MAC frame F6 addressed to the communication device 4 in the main memory 23.
In S32, the wireless driver 212 acquires the MAC frame F6, and in S33 associates the top address of the packet management structure 509 to be stored with the packet management structure 507.

S34、S35では、プロトコルスタック211は、通信装置4宛てのMACフレームF7をメインメモリ23に生成する。
S36では、無線ドライバ212は、MACフレームF7を取得する。このとき、無線ドライバ212は、MACフレームF7のパケット管理構造体510の先頭アドレスをパケット管理構造体509に関連付けると、MACフレームF2を先頭にリスト管理されるフレーム数がアグリゲーションサイズを超過する。このため、S37では、無線ドライバ212は、格納されるパケット管理構造体510の先頭アドレス501を送信キュー217に投入する。
In S34 and S35, the protocol stack 211 generates a MAC frame F7 addressed to the communication device 4 in the main memory 23.
In S36, the wireless driver 212 acquires the MAC frame F7. At this time, when the wireless driver 212 associates the head address of the packet management structure 510 of the MAC frame F7 with the packet management structure 509, the number of frames managed in the list starting from the MAC frame F2 exceeds the aggregation size. Therefore, in S37, the wireless driver 212 puts the head address 501 of the stored packet management structure 510 into the transmission queue 217.

S38、S39では、無線ドライバ212は、MACフレームを取得できなかったため、パケット管理構造体504の先頭アドレス503を送信キュー217からデキューし、MACフレームF1、F5をアグリゲーション処理する。
また、無線ドライバ212は、パケット管理構造体505の先頭アドレス502を送信キュー217からデキューし、MACフレームF2~F4、F6をアグリゲーション処理する。
さらに、無線ドライバ212は、パケット管理構造体510の先頭アドレス501を送信キュー217からデキューし、パケット管理構造体510については関連付けがないため、MACフレームF7のアグリゲーション処理は行わない。
In S38 and S39, since the wireless driver 212 was unable to acquire the MAC frame, it dequeues the top address 503 of the packet management structure 504 from the transmit queue 217, and aggregates the MAC frames F1 and F5.
Furthermore, the wireless driver 212 dequeues the top address 502 of the packet management structure 505 from the transmit queue 217, and aggregates the MAC frames F2 to F4 and F6.
Furthermore, the wireless driver 212 dequeues the top address 501 of the packet management structure 510 from the transmit queue 217, and since there is no association with the packet management structure 510, no aggregation process is performed for the MAC frame F7.

S40、S41では、無線ドライバ212は、アグリゲーション処理されたMACフレームと、アグリゲーション処理されてないMACフレームF7に無線ヘッダを付加し、無線通信フレームを生成する。
S42では、無線ドライバ212は、無線制御部203に対して転送命令を発行し、S43、S44では、メインメモリ23から無線制御部203に無線通信フレームを転送する。
In S40 and S41, the wireless driver 212 adds wireless headers to the aggregated MAC frame and the non-aggregated MAC frame F7 to generate wireless communication frames.
In S42, the wireless driver 212 issues a transfer command to the wireless control unit 203, and in S43 and S44, the wireless communication frame is transferred from the main memory 23 to the wireless control unit 203.

以上説明したように、上述した実施形態によれば、キュー管理部は、MACフレームにアクセス可能なアドレス情報が投入される送信キューを管理し、リスト管理部は、送信キューに投入されたアドレス情報に基づいて、同宛先のMACフレームを紐付けて管理する。これにより、送信キューに投入されるデータの量を削減しつつ、宛先ごとにMACフレームを管理することが可能となり、メモリリソースの増大を抑制しつつ、複数の宛先へのアグリゲーションを適正化することができる。 As described above, according to the above-mentioned embodiment, the queue management unit manages the transmission queue into which address information accessible to the MAC frame is input, and the list management unit manages MAC frames for the same destination based on the address information input into the transmission queue. This makes it possible to manage MAC frames for each destination while reducing the amount of data input into the transmission queue, and optimize aggregation to multiple destinations while suppressing an increase in memory resources.

なお、上述した実施形態では、宛先である通信装置3、4に対して各々のアグリゲーションサイズを決定してテーブルで管理し、図3のS4では宛先ごとのアグリゲーションサイズを利用して判定を行った。この方法以外にも、例えば、全ての宛先のアグリゲーションサイズから最小のアグリゲーションサイズを決定し、S4において全ての宛先について最小のアグリゲーションサイズを使用して判定してもよい。また、最もアクセス数の多い宛先には個別のアグリゲーションサイズを適用し、その他の宛先に対しては最小のアグリゲーションサイズを適用してもよい。 In the above embodiment, the aggregation size is determined for each of the destination communication devices 3 and 4 and managed in a table, and in S4 in FIG. 3, the aggregation size for each destination is used for the judgment. In addition to this method, for example, the smallest aggregation size may be determined from the aggregation sizes of all destinations, and in S4, the judgment may be made using the smallest aggregation size for all destinations. Also, an individual aggregation size may be applied to the most frequently accessed destination, and the smallest aggregation size may be applied to the other destinations.

また、上述した実施形態では、通信装置1~4がインフラストラクチャーモードで動作する場合を例にとった。これ以外にも、通信装置1~4は、複数のBSS(Basic Service Set)モードを併用して実行する場合であってもよい。複数のBSSモードは、インフラストラクチャーモード、WiFiダイレクトモードおよびアドホックモードのうち、少なくともいずれか2つの組み合わせである。例えば、インフラストラクチャーモードに加えて通信装置1、4間でWiFiダイレクトモードを同時に併用する場合に、通信装置1~4は、各々のモードに対して2つの送信キューを生成して運用してもよい。 In the above-described embodiment, the communication devices 1 to 4 operate in infrastructure mode. Alternatively, the communication devices 1 to 4 may operate in multiple BSS (Basic Service Set) modes. The multiple BSS modes are a combination of at least two of infrastructure mode, WiFi Direct mode, and ad-hoc mode. For example, when WiFi Direct mode is used simultaneously between the communication devices 1 and 4 in addition to infrastructure mode, the communication devices 1 to 4 may generate and operate two transmission queues for each mode.

また、リスト管理部215は、緊急性の高いMACフレームに対しては、MACフレームのリスト管理を行わないようにしてもよい。緊急性の高いMACフレームは、例えば、同期情報または制御情報を含むMACフレームである。 The list management unit 215 may also be configured not to perform list management for MAC frames with high urgency. High urgency MAC frames are, for example, MAC frames that include synchronization information or control information.

本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワークまたは記憶媒体を介してシステムまたは装置に供給してもよい。そして、上述の実施形態の1以上の機能は、そのシステムまたは装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。 The present invention may provide a program that realizes one or more of the functions of the above-described embodiments to a system or device via a network or a storage medium. One or more of the functions of the above-described embodiments may also be realized by a process in which one or more processors in a computer of the system or device read and execute the program.

11 通信システム、1~4 通信装置、12~14 無線リンク、21 CPU、22 オンチップメモリ、23 メインメモリ、24 無線制御部、25 システムバス、210 アプリケーション、211 プロトコルスタック、212 無線ドライバ、213 連結サイズ決定部、214 キュー管理部214 リスト管理部、216 管理種別選択部、217 送信キュー
REFERENCE SIGNS LIST 11 communication system, 1 to 4 communication devices, 12 to 14 wireless link, 21 CPU, 22 on-chip memory, 23 main memory, 24 wireless control unit, 25 system bus, 210 application, 211 protocol stack, 212 wireless driver, 213 concatenation size determination unit, 214 queue management unit, 214 list management unit, 216 management type selection unit, 217 transmission queue

Claims (3)

通信装置であって、
MAC(Media Access Control)フレームに対応するデータを格納した構造体の情報を第1のメモリ領域を用いて管理する管理手段と、
第1のメモリ領域とは異なる第2のメモリ領域のFIFO(First In First Out)構造の送信キューと、
前記理手段による管理対象として新たに生成された構造体のメモリ番地にアクセスするためのアドレス情報を前記送信キューの末尾に投入する第1処理で前記データを処理するか、前記送信キューにアドレス情報を投入することなしに、前記送信キューに投入済みのMACフレームに対応する構造体に紐づけて管理する第2処理で前記データを処理するかを当該新たに生成された構造体に対応するMACフレームの宛先MACアドレスの情報と、アグリゲーションの上限サイズとを少なくとも用いて判定する判定手段と、
前記判定手段により、前記管理手段による管理対象として前記新たに生成された構造体に対応するMACフレームのメモリ番地にアクセスするためのアドレス情報を前記送信キューの末尾に投入する第1処理で前記データを処理すると判定した場合、当該新たに生成された構造体のメモリ番地にアクセスするためのアドレス情報を前記送信キューの末尾に送信待ち状態で投入する投入手段と、
前記送信キューに格納されたアドレス情報に基づきSDIO(Secure Digital Input/Output)、PCIe(Peripheral Component Interconnect-Express)、又はUSB(Universal Serial Bus)のうちのいずれか1つのインタフェースを介して前記通信装置のホストシステムと接続された無線制御部に対して当該インタフェースを介して無線フレームを転送する転送制御手段と、を有し、
新たに生成された構造体に対応するMACフレームの宛先MACアドレスの情報が、前記送信キューに送信待ち状態で投入されているいずれのアドレス情報に対応する構造体に対応するMACフレームの宛先MACアドレスの情報とも一致しないことに従って前記判定手段は、前記管理手段による管理対象として新たに生成された構造体のメモリ番地にアクセスするためのアドレス情報を前記送信キューの末尾に投入する前記第1処理で前記データを処理すると判定し、新たに生成された構造体に対応するMACフレームの宛先MACアドレスの情報が、前記送信キューに送信待ち状態で投入されているいずれかのアドレス情報に対応する構造体に対応するMACフレームの宛先MACアドレスの情報と一致し、尚且つ、前記上限サイズ以下で前記送信キューに投入済みのアドレス情報に対応する構造体に対応するMACフレームと新たに生成された構造体に対応するMACフレームとを紐づけすることができると判定した場合に、前記判定手段は、前記送信キューに前記管理手段による管理対象として新たに生成された構造体のメモリ番地にアクセスするためのアドレス情報を投入することなしに、前記送信キューに投入済みのMACフレームに対応する構造体に関連付けて管理する前記第2処理で前記データを処理すると判定し、新たに生成された構造体に対応するMACフレームの宛先MACアドレスの情報が、前記送信キューに送信待ち状態で投入されているいずれかのアドレス情報に対応する構造体に対応するMACフレームの宛先MACアドレスの情報と一致するが、前記送信キューに投入済みのアドレス情報に対応する構造体が指し示すMACフレームと新たに生成された構造体に対応するMACフレームとを前記アグリゲーションの上限サイズ以下で紐づけることができないと判定した場合に、前記判定手段は、前記管理手段による管理対象として新たに生成された構造体のメモリ番地にアクセスするためのアドレス情報を前記送信キューの末尾に投入する前記第1処理で前記データを処理すると判定し、
前記判定手段によって前記新たに生成された構造体のメモリ番地にアクセスするためのアドレス情報を前記送信キューの末尾に投入することなしに、前記送信キューに投入済みのMACフレームに対応する構造体に対応付けて管理する前記第2処理で前記データを処理すると判定した場合、前記管理手段は、前記上限サイズ以下で前記送信キューに投入済みのアドレス情報に対応する構造体と、前記新たに生成された構造体とを紐づける管理処理を行い、
前記判定手段によって前記管理手段による管理対象として新たに生成された構造体のメモリ番地にアクセスするためのアドレス情報を前記送信キューの末尾に投入する前記第1処理に進めると判定された場合に、前記投入手段は、第1のメモリ領域で管理する前記新たに生成された構造体の当該アドレス情報を前記送信キューの末尾に投入する処理を行い、
前記送信キューに送信待ち状態で格納されているアドレス情報で特定されるMACフレームに基づく無線フレームを前記無線制御部に転送すると判断した前記転送制御手段は、前記FIFO構造の前記送信キューをデキューすることで先頭に格納されているアドレス情報を取得し、該取得したアドレス情報に基づき前記第1のメモリ領域の構造体を参照し、当該参照した構造体に別の1以上の構造体が紐づけられている場合には、前記参照した構造体により特定されるMACフレームと、前記紐づけられている前記別の1以上の構造体により特定される1以上のMACフレームとをアグリゲーションする処理を行うことでアグリゲーションされた無線フレームが前記無線制御部に転送されるように制御する一方、当該参照した構造体に別の構造体が紐づけられていない場合には、アグリゲーションする処理を行わずアグリゲーション処理されていない当該参照した構造体に対応する1つのMACフレームを含む無線フレームが前記無線制御部に転送されるように制御し、
前記送信キューに複数のアドレス情報が送信待ち状態で格納されている状態で、前記無線制御部に転送すると判断した前記転送制御手段は、前記FIFO構造の前記送信キューから順にアドレス情報をデキューすることで、前記送信キューに積まれた複数のアドレス情報の個数に対応する個数の複数の無線フレームを生成し、該生成した複数の無線フレームらが前記無線制御部に転送されるよう制御する、
ことを特徴とする通信装置。
1. A communication device, comprising:
a management means for managing information of a structure storing data corresponding to a MAC (Media Access Control) frame by using a first memory area;
a transmission queue having a FIFO (First In First Out) structure in a second memory area different from the first memory area;
a determination means for determining whether to process the data by a first process of inserting address information for accessing a memory address of a structure newly generated as a target for management by the management means into the tail of the transmission queue, or to process the data by a second process of managing the data in association with a structure corresponding to a MAC frame already inserted into the transmission queue without inserting address information into the transmission queue, using at least information on a destination MAC address of a MAC frame corresponding to the newly generated structure and an upper limit size of aggregation;
an input means for inputting address information for accessing a memory address of a MAC frame corresponding to the newly generated structure as a management target of the management means, to the end of the transmission queue in a transmission waiting state, when the determination means determines that the data is to be processed by a first process of inputting address information for accessing a memory address of the MAC frame corresponding to the newly generated structure as a management target of the management means, to the end of the transmission queue;
a transfer control means for transferring a wireless frame to a wireless control unit connected to a host system of the communication device via any one of an SDIO (Secure Digital Input/Output), a PCIe (Peripheral Component Interconnect-Express), or a USB (Universal Serial Bus) interface based on the address information stored in the transmission queue,
In accordance with the fact that destination MAC address information of a MAC frame corresponding to a newly generated structure does not match destination MAC address information of a MAC frame corresponding to a structure corresponding to any of the address information put into the transmission queue in a waiting state for transmission, the determination means determines that the data is to be processed by the first process of putting address information for accessing a memory address of a structure newly generated as a management target by the management means into the tail of the transmission queue, and when it is determined that destination MAC address information of a MAC frame corresponding to a newly generated structure matches destination MAC address information of a MAC frame corresponding to a structure corresponding to any of the address information put into the transmission queue in a waiting state for transmission and that a MAC frame corresponding to a structure corresponding to address information already put into the transmission queue can be linked to a MAC frame corresponding to the newly generated structure within the upper limit size, the determination means performs the transmission keying process. and when it is determined that destination MAC address information of the MAC frame corresponding to the newly generated structure matches destination MAC address information of the MAC frame corresponding to any of the address information put into the transmission queue in a waiting state for transmission but that the MAC frame indicated by the structure corresponding to the address information put into the transmission queue and the MAC frame corresponding to the newly generated structure cannot be linked within an upper limit size of the aggregation, the determination means determines that the data is to be processed by the first process of putting address information for accessing a memory address of a structure newly generated as a management target by the management means into the tail of the transmission queue,
When the determination means determines that the data is to be processed by the second process of managing the data in association with a structure corresponding to a MAC frame already put into the transmission queue without putting address information for accessing a memory address of the newly generated structure into the tail of the transmission queue, the management means performs a management process of linking a structure corresponding to the address information already put into the transmission queue, which is equal to or smaller than the upper limit size, with the newly generated structure,
when it is determined by the determination means that the first process should be performed in which address information for accessing a memory address of a structure newly generated as a target for management by the management means is added to the tail of the transmission queue, the adding means performs a process of adding the address information of the newly generated structure managed in a first memory area to the tail of the transmission queue,
the transfer control means, which has determined to transfer a wireless frame based on a MAC frame specified by address information stored in the transmission queue in a waiting state for transmission to the wireless control unit, dequeues the transmission queue of the FIFO structure to obtain address information stored at the top of the queue, references a structure in the first memory area based on the obtained address information, and, if the referenced structure is associated with one or more other structures, performs a process of aggregating the MAC frame specified by the referenced structure and the one or more MAC frames specified by the associated one or more other structures, thereby controlling the transfer of the aggregated wireless frame to the wireless control unit, while, if the referenced structure is not associated with another structure, does not perform the aggregation process and controls the transfer of a wireless frame including one MAC frame corresponding to the referenced structure that has not been aggregated to the wireless control unit;
When a plurality of pieces of address information are stored in the transmission queue in a transmission waiting state, the transfer control means, which has determined to transfer the pieces of address information to the wireless control unit, generates a plurality of wireless frames, the number of which corresponds to the number of pieces of address information stored in the transmission queue, by dequeuing the address information in order from the transmission queue having the FIFO structure, and controls the transfer of the generated plurality of wireless frames to the wireless control unit.
A communication device comprising:
宛先ノードごとにアグリゲーションの上限サイズを決定する決定手段をさらに備えることを特徴とする請求項1に記載の通信装置。 The communication device according to claim 1, further comprising a determination means for determining an upper limit size of an aggregation for each destination node. 前記アグリゲーションする処理は、A-MSDU(Aggregation-MAC Service Data Unit)形式で2以上のMACフレームをアグリゲーションする処理であり、前記管理処理は、前記上限サイズ以下で前記送信キューに投入済みのアドレス情報に対応する構造体リストの末尾の構造体に前記新たに生成された構造体の先頭アドレスを紐づける処理であることを特徴とする請求項1又は2に記載の通信装置。 The communication device according to claim 1 or 2, characterized in that the aggregation process is a process of aggregating two or more MAC frames in A-MSDU (Aggregation-MAC Service Data Unit) format, and the management process is a process of linking the first address of the newly generated structure to the last structure in a structure list that is equal to or smaller than the upper limit size and corresponds to address information already entered in the transmission queue.
JP2020166969A 2020-10-01 2020-10-01 COMMUNICATION DEVICE, CONTROL METHOD, AND PROGRAM Active JP7686380B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2020166969A JP7686380B2 (en) 2020-10-01 2020-10-01 COMMUNICATION DEVICE, CONTROL METHOD, AND PROGRAM

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020166969A JP7686380B2 (en) 2020-10-01 2020-10-01 COMMUNICATION DEVICE, CONTROL METHOD, AND PROGRAM

Publications (2)

Publication Number Publication Date
JP2022059312A JP2022059312A (en) 2022-04-13
JP7686380B2 true JP7686380B2 (en) 2025-06-02

Family

ID=81124343

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020166969A Active JP7686380B2 (en) 2020-10-01 2020-10-01 COMMUNICATION DEVICE, CONTROL METHOD, AND PROGRAM

Country Status (1)

Country Link
JP (1) JP7686380B2 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080144586A1 (en) 2006-12-19 2008-06-19 Nokia Corporation Techniques for rts/cts usage for wireless networks
JP2008211815A (en) 2008-03-17 2008-09-11 Hitachi Kokusai Electric Inc Wireless transmission device
US20090060009A1 (en) 2007-09-04 2009-03-05 Lu Qian Aggregate data frame generation
JP2009147786A (en) 2007-12-17 2009-07-02 Nec Corp Communication device, data frame transmission control method, and program
JP2011009876A (en) 2009-06-23 2011-01-13 Nippon Telegr & Teleph Corp <Ntt> Buffer circuit and buffer circuit control method

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080144586A1 (en) 2006-12-19 2008-06-19 Nokia Corporation Techniques for rts/cts usage for wireless networks
US20090060009A1 (en) 2007-09-04 2009-03-05 Lu Qian Aggregate data frame generation
JP2009147786A (en) 2007-12-17 2009-07-02 Nec Corp Communication device, data frame transmission control method, and program
JP2008211815A (en) 2008-03-17 2008-09-11 Hitachi Kokusai Electric Inc Wireless transmission device
JP2011009876A (en) 2009-06-23 2011-01-13 Nippon Telegr & Teleph Corp <Ntt> Buffer circuit and buffer circuit control method

Also Published As

Publication number Publication date
JP2022059312A (en) 2022-04-13

Similar Documents

Publication Publication Date Title
JP4150336B2 (en) Configuration to create multiple virtual queue pairs from compressed queue pairs based on shared attributes
US9654406B2 (en) Communication traffic processing architectures and methods
US10057387B2 (en) Communication traffic processing architectures and methods
CN101304373B (en) Method and system for implementing high-efficiency transmission chunk data in LAN
CN113709047B (en) Data forwarding system and method for automobile domain controller
JP2000151664A (en) Data transmission method
US6976149B1 (en) Mapping technique for computing addresses in a memory of an intermediate network node
CN107070958B (en) A method for efficient transmission of massive data
US20060268936A1 (en) Communication apparatus and method thereof
JP7686380B2 (en) COMMUNICATION DEVICE, CONTROL METHOD, AND PROGRAM
JP4201590B2 (en) Data communication apparatus, data communication method, data communication program, and recording medium on which data communication program is recorded
US20140165078A1 (en) Apparatus and circuit for processing data
JP2000235536A (en) Data communication system and device
US7580410B2 (en) Extensible protocol processing system
CN116074253B (en) Message chained forwarding method and device
US20240069754A1 (en) Computing system and associated method
US7853739B1 (en) Method and system for transmitting USB communication
US12341710B2 (en) Packet forwarding apparatus with buffer recycling and associated packet forwarding method
JP2022161122A (en) Communication apparatus and communication method
CN101715210B (en) Method and device for assembling MAC-layer HSPA data
US7532644B1 (en) Method and system for associating multiple payload buffers with multidata message
JP7423223B2 (en) Communication device
US20250150392A1 (en) Network processor using fake packet generation for improving processing efficiency of learning packets and associated packet processing method
JP2019134313A (en) Communication device and control method of communication device
CN109379342A (en) Data transmission method between host computer and DSP based on UDP network protocol

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230726

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20240410

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20240416

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240517

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20240614

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20240903

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20241101

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20250225

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20250227

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20250422

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20250521

R150 Certificate of patent or registration of utility model

Ref document number: 7686380

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150