JP2012195766A - Packet transmission control apparatus and packet transmission control method - Google Patents

Packet transmission control apparatus and packet transmission control method Download PDF

Info

Publication number
JP2012195766A
JP2012195766A JP2011058191A JP2011058191A JP2012195766A JP 2012195766 A JP2012195766 A JP 2012195766A JP 2011058191 A JP2011058191 A JP 2011058191A JP 2011058191 A JP2011058191 A JP 2011058191A JP 2012195766 A JP2012195766 A JP 2012195766A
Authority
JP
Japan
Prior art keywords
queue
packet
interface
interface queue
priority
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.)
Granted
Application number
JP2011058191A
Other languages
Japanese (ja)
Other versions
JP5303593B2 (en
Inventor
Takahiro Yamamoto
享弘 山本
Shunsuke Saruwatari
俊介 猿渡
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.)
Core Corp
Original Assignee
Core Corp
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 Core Corp filed Critical Core Corp
Priority to JP2011058191A priority Critical patent/JP5303593B2/en
Publication of JP2012195766A publication Critical patent/JP2012195766A/en
Application granted granted Critical
Publication of JP5303593B2 publication Critical patent/JP5303593B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide a packet transmission control apparatus and packet transmission control method capable of effectively restricting the delay of high-priority packets and/or deterioration of throughput when processing of a communication protocol is mainly realized by software such as in a mobile communication terminal.SOLUTION: A packet transmission control apparatus 1 according to the present invention includes: an interface queue 20L for storing a low-priority packet PL; and an interface queue 20H for storing a high-priority packet PH. A transmission queue 30 can store packets PL output from the interface queue 20L and packets PH output from the interface queue 20H. The packet transmission control apparatus also includes: a hardware interrupt handler 35 for handling hardware interrupts from a communication controller 40; and a software interrupt scheduler 100 for starting a software interrupt handler 25 corresponding to the interface queue to be called by a task scheduler 150, which is responsible for task switching.

Description

本発明は、移動通信端末上のアプリケーションによって生成されたパケットの送信順序を優先度に応じて制御するパケット送信制御装置及びパケット送信制御方法に関する。   The present invention relates to a packet transmission control apparatus and a packet transmission control method for controlling the transmission order of packets generated by an application on a mobile communication terminal according to priority.

パーソナルコンピュータ(PC)では、オンラインゲームやコンテンツアップロード/ダウンロード、プログラムアップデート、P2Pなど複数のアプリケーションによって同時に通信を行われることが多い。移動通信端末でも高機能化に伴い、近年ではウェブの閲覧中にメールの着信問い合わせが実行されるなど複数のアプリケーションが同時に通信を行う状況が増加傾向にある。   In personal computers (PCs), communication is often performed simultaneously by a plurality of applications such as online games, content upload / download, program updates, and P2P. In recent years, with the increase in functionality of mobile communication terminals, a situation in which a plurality of applications communicate at the same time, such as a mail incoming inquiry being performed while browsing the web, is increasing.

しかしながら、移動通信端末では伝送容量が小さいために、バックグラウンドで通信が行われるとスループットが低下して、フォアグラウンドで行われるウェブページの閲覧などの通信に大きな遅延をもたらす。そのため、複数のアプリケーションが同時に通信を行ってもユーザの操作性に影響を与えないようにするには、移動通信端末内でのパケットの優先制御が必要となる。   However, since the mobile communication terminal has a small transmission capacity, if communication is performed in the background, the throughput is reduced, and communication such as web page browsing performed in the foreground is greatly delayed. Therefore, in order to prevent the user operability from being affected even when a plurality of applications communicate simultaneously, priority control of packets in the mobile communication terminal is required.

ルータなどの通信専用端末ではパケットの優先制御がハードウェアによって実現されているが、多様な用途で利用される移動通信端末では通信のプロトコルスタックがソフトウェアによって構成されることから、パケットの優先制御もソフトウェアで実現する必要がある。ソフトウェアは所望の動作をCPUによる逐次処理によって実現することから、処理の実行順序がパケットの優先順位と一致しなければパケットの優先度逆転が発生して高優先度の通信に遅延が生じる(例えば、非特許文献1)。   Although packet priority control is implemented by hardware in dedicated communication terminals such as routers, packet protocol control is also implemented in mobile communication terminals used for various purposes because the communication protocol stack is configured by software. Must be implemented in software. Since the software realizes the desired operation by sequential processing by the CPU, if the processing execution order does not match the packet priority, the priority inversion of the packet occurs and a delay occurs in high priority communication (for example, Non-Patent Document 1).

H. Tokuda et al., "Priority Inversions in Real-Time Communication",IEEE RTSS, 1989年H. Tokuda et al., "Priority Inversions in Real-Time Communication", IEEE RTSS, 1989

上述したように、移動通信端末上で複数のアプリケーションによって同時に通信を行うと、フォアグラウンドで行われる通信の遅延やスループットの悪化を招く。低優先度のパケットが先に移動通信端末の送信キューから通信路上に送出されてしまい、当該低優先度のパケットの送信が完了するまで高優先度のパケットが通信路上に送出されずに滞留するためである。   As described above, if communication is simultaneously performed by a plurality of applications on a mobile communication terminal, communication delays in the foreground and throughput are deteriorated. The low priority packet is first sent from the transmission queue of the mobile communication terminal onto the communication path, and the high priority packet stays on the communication path without being sent until the transmission of the low priority packet is completed. Because.

そこで、本発明は、このような状況に鑑みてなされたものであり、移動通信端末など、通信に関する大部分の処理をソフトウェアで実現する場合において、高優先度パケットの遅延やスループットの悪化を効果的に抑制し得るパケット送信制御装置及びパケット送信制御方法の提供を目的とする。   Therefore, the present invention has been made in view of such a situation, and in the case where most processing related to communication, such as a mobile communication terminal, is realized by software, the effect of delay of high priority packets and deterioration of throughput are effective. It is an object of the present invention to provide a packet transmission control apparatus and a packet transmission control method that can be suppressed.

本発明の第1の特徴は、ネットワークインタフェース毎に用意されたインタフェースキュー(インタフェースキュー20)と、デバイスが有する送信キュー(送信キュー30)とを有し、アプリケーションタスク(アプリケーションタスク10H, 10M, 10L)に基づいて生成された低優先度パケット(例えば、パケットPL)及びアプリケーションタスクに基づいて生成され、前記低優先度パケットよりも送信すべき優先度が高い高優先度パケット(例えば、パケットPH)の送信順序を制御するパケット送信制御装置(パケット送信制御装置1)であって、前記インタフェースキューは、前記低優先度パケットを格納する第1インタフェースキュー(例えば、インタフェースキュー20L)と、前記高優先度パケットを格納し、前記第1インタフェースキューから独立した第2インタフェースキュー(例えばインタフェースキュー20H)とを少なくとも含み、前記送信キューは、前記第1インタフェースキューから出力された前記低優先度パケット、及び前記第2インタフェースキューから出力された前記高優先度パケットを格納可能であり、ハードウェア(通信コントローラ40)からのハードウェア割り込みを処理するハードウェア割り込みハンドラ(ハードウェア割り込みハンドラ35)またはタスクスケジューラ(タスクスケジューラ150)から呼び出され、前記インタフェースキューに対するソフトウェア割り込みハンドラ(ソフトウェア割り込みハンドラ25)を起動するソフトウェア割り込みスケジューラ(ソフトウェア割り込みスケジューラ100)を備え、前記ソフトウェア割り込みスケジューラは、前記ハードウェア割り込みハンドラまたはタスクの切り替えを行うタスクスケジューラから起動された場合に、前記優先度に基づいて、前記第1インタフェースキューまたは前記第2インタフェースキューの何れに対するソフトウェア割り込みハンドラを起動するかを決定することを要旨とする。   The first feature of the present invention includes an interface queue (interface queue 20) prepared for each network interface and a transmission queue (transmission queue 30) included in the device, and application tasks (application tasks 10H, 10M, and 10L). ) Generated based on the low priority packet (for example, packet PL) and the high priority packet (for example, packet PH) generated based on the application task and having a higher priority than the low priority packet to be transmitted Packet transmission control device (packet transmission control device 1) for controlling the transmission order of the first interface queue (for example, interface queue 20L) storing the low priority packet, and the high priority Packets are stored in the first interface queue from the first interface queue. At least a second interface queue (for example, an interface queue 20H), and the transmission queue includes the low priority packet output from the first interface queue and the high priority output from the second interface queue. Packets can be stored and called from a hardware interrupt handler (hardware interrupt handler 35) or a task scheduler (task scheduler 150) that processes hardware interrupts from hardware (communication controller 40), A software interrupt scheduler (software interrupt scheduler 100) for activating a software interrupt handler (software interrupt handler 25); When activated from a hardware interrupt handler or a task scheduler that switches tasks, it is determined whether to activate a software interrupt handler for the first interface queue or the second interface queue based on the priority. This is the gist.

本発明の第1の特徴において、前記ソフトウェア割り込みスケジューラは、前記優先度と、前記第1インタフェースキューへの前記低優先度パケットの格納状況及び前記第2インタフェースキューへの前記高優先度パケットの格納状況に基づいて、前記第1インタフェースキューまたは前記第2インタフェースキューの何れに対するソフトウェア割り込みハンドラを起動するかを決定し、前記第2インタフェースキューは、前記ソフトウェア割り込みスケジューラによる前記第2インタフェースキューに対するソフトウェア割り込みに基づいて、前記高優先度パケットを前記送信キューに出力し、前記第1インタフェースキューは、前記ソフトウェア割り込みスケジューラによって前記第1インタフェースキューに対するソフトウェア割り込みに基づいて、前記低優先度パケットを前記送信キューに出力することが好ましい。   In the first aspect of the present invention, the software interrupt scheduler includes the priority, the storage status of the low priority packet in the first interface queue, and the storage of the high priority packet in the second interface queue. Based on the situation, it is determined whether to activate a software interrupt handler for the first interface queue or the second interface queue, and the second interface queue is a software interrupt for the second interface queue by the software interrupt scheduler. The high-priority packet is output to the transmission queue, and the first interface queue is software interrupted to the first interface queue by the software interrupt scheduler. Based on, it is preferable to output the low-priority packet to the transmission queue.

本発明の第1の特徴において、前記ソフトウェア割り込みスケジューラは、前記アプリケーションタスクに基づいて生成された前記低優先度パケット及び前記高優先度パケットの優先度を記憶し、記憶された前記優先度に基づいて、起動すべきソフトウェア割り込みハンドラを決定することが好ましい。   In the first aspect of the present invention, the software interrupt scheduler stores priorities of the low priority packet and the high priority packet generated based on the application task, and is based on the stored priority. It is preferable to determine the software interrupt handler to be activated.

本発明の第1の特徴において、前記送信キューの容量は、前記低優先度パケットまたは前記高優先度パケットが前記インタフェースキューから前記送信キューに格納されるまでの間に、前記ハードウェアが通信路上に送出可能なデータサイズまで削減されていることが好ましい。   In the first aspect of the present invention, the capacity of the transmission queue is determined so that the hardware is on a communication path before the low priority packet or the high priority packet is stored in the transmission queue from the interface queue. It is preferable that the data size can be reduced to a maximum size.

本発明の第2の特徴は、ネットワークインタフェース毎に用意されたインタフェースキューと、デバイスが有する送信キューとを有し、アプリケーションタスクに基づいて生成された低優先度パケット及びアプリケーションタスクに基づいて生成され、前記低優先度パケットよりも送信すべき優先度が高い高優先度パケットの送信順序を制御するパケット送信制御方法であって、前記インタフェースキューは、前記低優先度パケットを格納する第1インタフェースキューと、前記高優先度パケットを格納する第2インタフェースキューとを少なくとも含み、前記送信キューが、前記第1インタフェースキューから出力された前記低優先度パケット、及び前記第2インタフェースキューから出力された前記高優先度パケットを格納するステップと、ハードウェアからのハードウェア割り込みを処理するハードウェア割り込みハンドラまたはタスクの切り替えを行うタスクスケジューラからの呼び出しに基づいて、前記インタフェースキューに対するソフトウェア割り込みハンドラを起動するステップとを有し、前記ソフトウェア割り込みハンドラを起動するステップでは、前記ハードウェア割り込みハンドラまたはタスクスケジューラから起動された場合に、前記優先度に基づいて、前記第1インタフェースキューまたは前記第2インタフェースキューの何れに対するソフトウェア割り込みハンドラハンドラを起動するかを決定することを要旨とする。   The second feature of the present invention is that the interface queue prepared for each network interface and the transmission queue of the device are generated based on the low priority packet generated based on the application task and the application task. A packet transmission control method for controlling a transmission order of high-priority packets having a higher priority than the low-priority packets, wherein the interface queue stores the low-priority packets. And a second interface queue for storing the high priority packet, wherein the transmission queue is the low priority packet output from the first interface queue, and the second interface queue is output from the second interface queue. Storing high priority packets Activating a software interrupt handler for the interface queue based on a call from a hardware interrupt handler that processes hardware interrupts from hardware or a task scheduler that performs task switching, and the software interrupt handler In the step of activating the software interrupt handler handler for the first interface queue or the second interface queue based on the priority when the hardware interrupt handler or the task scheduler is activated. The gist is to determine.

本発明の特徴によれば、移動通信端末など、通信プロトコルに関する大部分の処理をソフトウェアによって実現する場合において、高優先度パケットの遅延やスループットの悪化を効果的に抑制し得るパケット送信制御装置及びパケット送信制御方法を提供することができる。   According to the features of the present invention, a packet transmission control device capable of effectively suppressing delay of a high priority packet and deterioration of throughput in the case where most processing related to a communication protocol is realized by software, such as a mobile communication terminal, and A packet transmission control method can be provided.

本発明の実施形態に係るパケット送信制御装置1の機能ブロック構成図である。FIG. 2 is a functional block configuration diagram of a packet transmission control device 1 according to an embodiment of the present invention. 本発明の実施形態に係るパケット送信制御装置1によるパケットの送信順序の制御動作フローを示す図である。FIG. 5 is a diagram showing a control operation flow of a packet transmission order by the packet transmission control device 1 according to the embodiment of the present invention. 本発明の実施形態に係る送信キュー30に空き容量がある場合におけるアプリケーションタスク10H, 10M, 10Lの動作概念を示す図である。FIG. 11 is a diagram showing an operation concept of application tasks 10H, 10M, and 10L when there is free space in the transmission queue 30 according to the embodiment of the present invention. 本発明の実施形態に係る送信キュー30に空き容量がない場合におけるソフトウェア割り込みスケジューラ100の動作概念を示す図である。FIG. 6 is a diagram showing an operation concept of the software interrupt scheduler 100 when there is no free capacity in the transmission queue 30 according to the embodiment of the present invention. ソフトウェアによってパケットの優先制御を実現する上で課題となる“パケットの優先度と実行単位の不一致”によるパケットの優先度逆転の説明図である。FIG. 7 is an explanatory diagram of packet priority inversion due to “mismatch between packet priority and execution unit”, which is a problem in realizing packet priority control by software. ソフトウェアによってパケットの優先制御を実現する上で課題となる“タスクと割り込みハンドラの2つの実行単位”によるパケットの優先度逆転の説明図である。FIG. 7 is an explanatory diagram of packet priority inversion by “two execution units of a task and an interrupt handler”, which is a problem in realizing packet priority control by software. 本実施形態に係るパケット送信制御装置1のように、割り込みを使用したパケットの優先制御による有効性の根拠について説明する図である。It is a figure explaining the grounds of validity by priority control of a packet using interruption like packet transmission control device 1 concerning this embodiment.

次に、本発明に係るパケット送信制御装置及びパケット送信制御方法の実施形態について、図面を参照しながら説明する。なお、以下の図面の記載において、同一または類似の部分には、同一または類似の符号を付している。ただし、図面は模式的なものであり、各寸法の比率などは現実のものとは異なることに留意すべきである。   Next, embodiments of a packet transmission control apparatus and a packet transmission control method according to the present invention will be described with reference to the drawings. In the following description of the drawings, the same or similar parts are denoted by the same or similar reference numerals. However, it should be noted that the drawings are schematic and ratios of dimensions and the like are different from actual ones.

したがって、具体的な寸法などは以下の説明を参酌して判断すべきである。また、図面相互間においても互いの寸法の関係や比率が異なる部分が含まれ得る。   Accordingly, specific dimensions and the like should be determined in consideration of the following description. Moreover, the part from which the relationship and ratio of a mutual dimension differ also in between drawings may be contained.

(1)パケット送信制御装置の機能ブロック構成
図1は、本実施形態に係るパケット送信制御装置1の機能ブロック構成図である。図1に示すように、パケット送信制御装置1は、インタフェースキュー20、ソフトウェア割り込みハンドラ25、送信キュー30、ハードウェア割り込みハンドラ35、通信コントローラ40、ソフトウェア割り込みスケジューラ100及びタスクスケジューラ150を備える。パケット送信制御装置1は、例えば、携帯電話機などの移動通信端末に実装される。パケット送信制御装置1は、パケットの優先制御を実現する。
(1) Functional Block Configuration of Packet Transmission Control Device FIG. 1 is a functional block configuration diagram of a packet transmission control device 1 according to this embodiment. As shown in FIG. 1, the packet transmission control device 1 includes an interface queue 20, a software interrupt handler 25, a transmission queue 30, a hardware interrupt handler 35, a communication controller 40, a software interrupt scheduler 100, and a task scheduler 150. The packet transmission control device 1 is mounted on a mobile communication terminal such as a mobile phone, for example. The packet transmission control device 1 implements packet priority control.

パケット送信制御装置1は、アプリケーションタスク10H, 10M, 10Lに基づいて生成されたパケット(具体的には、パケットPH, PM, PL)の送信順序を制御する。本実施形態では、説明の簡略化のため当該パケットを送信すべき優先度を3段階(高・中・低)としている。   The packet transmission control device 1 controls the transmission order of packets (specifically, packets PH, PM, PL) generated based on the application tasks 10H, 10M, 10L. In the present embodiment, for simplification of description, the priority at which the packet is to be transmitted is set to three levels (high, medium, and low).

アプリケーションタスク10Hは、移動通信端末のソフトウェアにおいて、アプリケーション毎の処理が行われるユーザ空間とオペレーティングシステムによって共通の処理が行われるカーネル空間上で処理が実行され、高い優先度を有する。例えば、ウェブページの閲覧などユーザの操作によってフォアグラウンドで実行されているタスクが該当する。アプリケーションタスク10M及びアプリケーションタスク10Lも移動通信端末に実装されたユーザ空間とカーネル空間で動作するタスクであるが、アプリケーションタスク10Mの優先度は、アプリケーションタスク10Hよりも低い。また、アプリケーションタスク10Lの優先度は、アプリケーションタスク10Mよりも低い。アプリケーションタスク10L(またはアプリケーションタスク10M)は、例えば、ソフトウェアの更新やメールの着信問い合わせなどユーザがアプリケーションを操作しているバックグラウンドで通信を行うタスクである。   The application task 10H is processed in a kernel space in which processing common to the user space in which the processing for each application is performed and the operating system is performed in the software of the mobile communication terminal, and has high priority. For example, a task executed in the foreground by a user operation, such as browsing a web page, corresponds. The application task 10M and the application task 10L are also tasks that operate in the user space and the kernel space installed in the mobile communication terminal, but the priority of the application task 10M is lower than that of the application task 10H. Further, the priority of the application task 10L is lower than that of the application task 10M. The application task 10L (or the application task 10M) is a task for performing communication in the background where the user is operating the application, such as software update or incoming mail inquiry.

パケットPHは、アプリケーションタスク10Hに基づいて生成されたパケット(高優先度パケット)であり、パケットPL, PMよりも送信すべき優先度が高い。パケットPMはアプリケーションタスク10Mに基づいて生成されたパケットであり、パケットPLはアプリケーションタスク10Lに基づいて生成されたパケット(低優先度パケット)である。   The packet PH is a packet (high priority packet) generated based on the application task 10H, and has a higher priority to be transmitted than the packets PL and PM. The packet PM is a packet generated based on the application task 10M, and the packet PL is a packet (low priority packet) generated based on the application task 10L.

インタフェースキュー20は、移動通信端末が備えるネットワークインタフェース(例えば、3G方式やLTE(Long Term Evolution)方式、無線LAN)毎に用意される。インタフェースキュー20は、アプリケーションタスク10H, 10M, 10Lと対応するように、インタフェースキュー20H, 20M, 20Lによって構成される。   The interface queue 20 is prepared for each network interface (for example, 3G system, LTE (Long Term Evolution) system, wireless LAN) provided in the mobile communication terminal. The interface queue 20 includes interface queues 20H, 20M, and 20L so as to correspond to the application tasks 10H, 10M, and 10L.

すなわち、インタフェースキュー20Hはアプリケーションタスク10Hによって生成されたパケットPHを格納する。同様に、インタフェースキュー20Mはアプリケーションタスク10Mによって生成されたパケットPMを格納し、インタフェースキュー20Lはアプリケーションタスク10Lによって生成されたパケットPLを格納する。本実施形態において、インタフェースキュー20Lは、低優先度パケット(パケットPL)を格納する第1インタフェースキューを構成する。また、インタフェースキュー20Hは、高優先度パケット(パケットPH)を格納する第2インタフェースキューを構成する。   That is, the interface queue 20H stores the packet PH generated by the application task 10H. Similarly, the interface queue 20M stores the packet PM generated by the application task 10M, and the interface queue 20L stores the packet PL generated by the application task 10L. In the present embodiment, the interface queue 20L constitutes a first interface queue that stores low priority packets (packets PL). The interface queue 20H forms a second interface queue that stores high priority packets (packets PH).

インタフェースキュー20H, 20M, 20Lは、他のインタフェースキューから独立しており、インタフェースキュー毎にソフトウェア割り込みハンドラ25が割り当てられる。   The interface queues 20H, 20M, and 20L are independent of other interface queues, and a software interrupt handler 25 is assigned to each interface queue.

送信キュー30は、移動通信端末に搭載されているデバイス、具体的には、通信コントローラ40などのハードウェア(あるいはデバイスドライバなどのソフトウェア)が有するキュー(バッファ)である。送信キュー30は、インタフェースキュー20H, 20M, 20Lから出力されたパケットPH, PM, PLを格納することができる。送信キュー30は、送信キュー30にパケット(パケットPH, PM, PL)を格納できる空き容量が発生した場合、ハードウェア割り込みハンドラ35(Top Half)を起動する。   The transmission queue 30 is a queue (buffer) included in a device mounted on the mobile communication terminal, specifically, hardware such as the communication controller 40 (or software such as a device driver). The transmission queue 30 can store the packets PH, PM, and PL output from the interface queues 20H, 20M, and 20L. The transmission queue 30 activates the hardware interrupt handler 35 (Top Half) when a free capacity capable of storing packets (packets PH, PM, PL) occurs in the transmission queue 30.

なお、送信キュー30で送信待ちにある低優先度パケットは高優先度パケットが遅延する要因となることから、送信キュー30の容量は、インタフェースキュー20H, 20M, 20Lから送信キュー30にパケットが格納されるまでの間に、通信コントローラ40が通信路上に送出可能なデータサイズまで削減することが好ましい。移動通信端末では、ソフトウェアが送信キュー30にパケットを格納するための処理速度と比べて、通信速度が大幅に遅いことが一般的であるため、送信キュー30のサイズを1パケット程度まで縮小する。ただし、送信キュー30のサイズを縮小することによって送信キュー30へのパケットの書き込み実行頻度が増大するため、タスクに比べて処理実行時のオーバヘッドの小さいソフトウェア割り込みハンドラ25によって実現することが望ましい。   Note that low-priority packets waiting to be transmitted in the transmission queue 30 cause the high-priority packets to be delayed. In the meantime, it is preferable to reduce the data size that the communication controller 40 can transmit on the communication path. In mobile communication terminals, the communication speed is generally much slower than the processing speed for software to store packets in the transmission queue 30, so the size of the transmission queue 30 is reduced to about 1 packet. However, since the frequency of execution of writing packets to the transmission queue 30 increases by reducing the size of the transmission queue 30, it is desirable to implement this by using the software interrupt handler 25 that has a smaller overhead when executing processing than the task.

ソフトウェア割り込みスケジューラ100は、アプリケーションタスク10H, 10M, 10Lの優先度(高・中・低)を考慮したソフトウェア割り込みスケジューリングを実行する。具体的には、ソフトウェア割り込みスケジューラ100は、アプリケーションタスク10H, 10M, 10Lに基づいて生成されたパケットPH, PM, PLの優先度を記憶し、記憶された当該優先度に基づいて、起動すべきソフトウェア割り込みハンドラ25を決定する。より具体的には、ソフトウェア割り込みスケジューラ100は、通信コントローラ40からのハードウェア割り込みを処理するハードウェア割り込みハンドラ35を実行後、及び実行中タスクの優先度が切り替わるタスクスケジューラ150内で呼び出され、インタフェースキュー20H, 20M, 20Lにパケットの蓄積があれば、送信キュー30にパケットを送出するためのソフトウェア割り込みハンドラ25(Bottom Half)を起動する。   The software interrupt scheduler 100 executes software interrupt scheduling in consideration of the priority (high / medium / low) of the application tasks 10H, 10M, and 10L. Specifically, the software interrupt scheduler 100 stores the priority of the packets PH, PM, and PL generated based on the application tasks 10H, 10M, and 10L, and should be activated based on the stored priority. The software interrupt handler 25 is determined. More specifically, the software interrupt scheduler 100 is called after the execution of the hardware interrupt handler 35 that processes hardware interrupts from the communication controller 40 and within the task scheduler 150 in which the priority of the task being executed is switched. If there is accumulation of packets in the queues 20H, 20M, 20L, a software interrupt handler 25 (Bottom Half) for sending packets to the transmission queue 30 is activated.

より具体的には、ソフトウェア割り込みスケジューラ100は、ハードウェア割り込みハンドラハンドラあるいはタスクスケジューラから起動されると、現在実行中のアプリケーションタスクの優先度と、インタフェースキュー20H, 20M, 20Lへのパケットの格納を行ったタスクの優先度を比較し、インタフェースキュー20H, 20M, 20Lの何れに対するソフトウェア割り込みハンドラ25ハンドラを起動するかを決定する。例えば、ソフトウェア割り込みスケジューラ100は、以下のように実装できる。

Figure 2012195766
More specifically, when the software interrupt scheduler 100 is activated from the hardware interrupt handler handler or the task scheduler, the software interrupt scheduler 100 stores the priority of the currently executing application task and the packet storage in the interface queues 20H, 20M, and 20L. The priority of the performed task is compared, and it is determined which of the interface queues 20H, 20M, and 20L the software interrupt handler 25 handler is to be activated. For example, the software interrupt scheduler 100 can be implemented as follows.
Figure 2012195766

このように、インタフェースキュー20H, 20M, 20Lへのパケット格納時に、パケットを格納したタスクの優先度をprio_high, prio_mid, prio_low として管理する。また、送信キュー30に空きが発生し、ハードウェア割り込みハンドラ35からソフトウェア割り込みスケジューラ100が起動されるか、タスクスケジューラ150の中で実行中タスクの切り替えが発生すると、ソフトウェア割り込みスケジューラ100は、実行中のタスク優先度(prio_cur)よりも高優先度のインタフェースキューのパケットの書き込み処理を行うソフトウェア割り込みハンドラ25のみを起動する。   In this way, when packets are stored in the interface queues 20H, 20M, and 20L, the priority of the task that stores the packets is managed as prio_high, prio_mid, and prio_low. In addition, when there is a vacancy in the transmission queue 30 and the software interrupt scheduler 100 is started from the hardware interrupt handler 35 or the task being executed in the task scheduler 150 is switched, the software interrupt scheduler 100 is being executed. Only the software interrupt handler 25 that performs the writing process of the packet of the interface queue having a higher priority than the task priority (prio_cur) is activated.

すなわち、ソフトウェア割り込みスケジューラ100は、現在実行中のタスクの優先度と、インタフェースキュー20L(またはインタフェースキュー20M)へのパケットPL(パケットPM)の格納状況、及びインタフェースキュー20HへのパケットPHの格納状況に基づいて、インタフェースキュー20H, 20M, 20Lの何れに対するソフトウェア割り込みハンドラ25を起動するかを決定する。このようなソフトウェア割り込みスケジューラ100による当該優先度を考慮したスケジューリングによって、実行中のタスクより優先度の低いインタフェースキューに対応するソフトウェア割り込みハンドラ25が実行されること(優先度逆転)が防止される。   That is, the software interrupt scheduler 100 determines the priority of the task currently being executed, the storage status of the packet PL (packet PM) in the interface queue 20L (or the interface queue 20M), and the storage status of the packet PH in the interface queue 20H. Based on the above, it is determined which of the interface queues 20H, 20M, and 20L the software interrupt handler 25 is to be activated. By such scheduling in consideration of the priority by the software interrupt scheduler 100, execution of the software interrupt handler 25 corresponding to the interface queue having a lower priority than the task being executed (priority inversion) is prevented.

また、インタフェースキュー20Hは、ソフトウェア割り込みスケジューラ100によるインタフェースキュー20Hに対するソフトウェア割り込みハンドラ25の起動に基づいて、パケットPHを送信キュー30に出力する。同様に、インタフェースキュー20L(インタフェースキュー20M)は、当該ソフトウェア割り込みハンドラ25の起動に基づいて、パケットPL(パケットPM)を送信キュー30に出力する。   The interface queue 20H outputs the packet PH to the transmission queue 30 based on the activation of the software interrupt handler 25 for the interface queue 20H by the software interrupt scheduler 100. Similarly, the interface queue 20L (interface queue 20M) outputs the packet PL (packet PM) to the transmission queue 30 based on the activation of the software interrupt handler 25.

本実施形態では、実行中のタスク優先度以上の優先度を持つインタフェースキューのソフトウェア割り込みハンドラ25のみが実行されるために、実行中のタスク優先度よりも低い優先度を持つインタフェースキューのパケットは送出されない。低優先度を持つインタフェースキューのパケットは、実行中のタスクが切り替わるタスクスケジューラ150の中でソフトウェア割り込みハンドラ25が起動され、実行中のタスクが低い優先度を持つタスクに切り替わったときに低い優先度を持つインタフェースキューに対するソフトウェア割り込みハンドラ25が起動されることによって優先度順に送出される。   In this embodiment, since only the software interrupt handler 25 of the interface queue having a priority higher than the task priority being executed is executed, the packet of the interface queue having a priority lower than the task priority being executed is Not sent out. Packets in the interface queue with low priority are low priority when the software interrupt handler 25 is activated in the task scheduler 150 where the running task is switched and the running task is switched to a task with a low priority. When the software interrupt handler 25 for the interface queue having is activated, it is sent in order of priority.

(2)パケット送信制御装置の動作
次に、上述したパケット送信制御装置1の動作について説明する。図2は、パケット送信制御装置1によるパケットの送信順序の制御動作フローを示す。
(2) Operation of Packet Transmission Control Device Next, the operation of the packet transmission control device 1 described above will be described. FIG. 2 shows a control operation flow of the packet transmission order by the packet transmission control device 1.

図2に示すように、アプリケーションタスク10H, 10M, 10Lからインタフェースキュー20H, 20M, 20Lに、パケットPH, PM, PLがそれぞれ入力される(S10)。各アプリケーションは、各インタフェースキューへのパケット入力タイミングにおいて、送信キュー30に空き容量があるか否かを判定する(S20)。   As shown in FIG. 2, packets PH, PM, and PL are input from the application tasks 10H, 10M, and 10L to the interface queues 20H, 20M, and 20L, respectively (S10). Each application determines whether or not there is free capacity in the transmission queue 30 at the packet input timing to each interface queue (S20).

当該空き容量がある場合は継続して処理を行い、インタフェースキューに格納されたパケットが送信キュー30に書き込まれる(S70)。   If there is free space, the processing is continued, and the packet stored in the interface queue is written to the transmission queue 30 (S70).

図3は、送信キュー30に空き容量がある場合におけるアプリケーションタスク10H, 10M, 10Lの動作を示す。図3に示すように、例えば、パケットPHをインタフェースキュー20Hに格納した高優先度のアプリケーションタスク10HがそのままパケットPHを送信キュー30に書き込まれる。アプリケーションタスク10H, 10M, 10Lはこの順で処理の優先度が割り当てられ、送信キュー30に空き容量がある場合は、インタフェースキュー20H, 20M, 20Lにパケットが入力されたタイミングでそのまま送信キュー30に当該パケットが書き込まれるため、パケットの優先度逆転は発生しない。   FIG. 3 shows operations of the application tasks 10H, 10M, and 10L when the transmission queue 30 has a free capacity. As shown in FIG. 3, for example, the high priority application task 10H storing the packet PH in the interface queue 20H writes the packet PH into the transmission queue 30 as it is. Application tasks 10H, 10M, and 10L are assigned processing priority in this order. Since the packet is written, the priority inversion of the packet does not occur.

一方、当該空き容量がない場合は、アプリケーションタスク10H, 10M, 10Lはインタフェースキュー20H, 20M, 20Lにパケットを入力するのみで送信キュー30への書き込みは行わず、送信キュー30に空き容量ができるまで待機(S30)する。   On the other hand, if there is no free space, the application tasks 10H, 10M, and 10L only input packets to the interface queues 20H, 20M, and 20L, and the free space is created in the transmit queue 30 without writing to the transmit queue 30. Wait until (S30).

送信キュー30に空き容量ができた場合、通信コントローラ40がハードウェア割り込みハンドラを発生させる(S40)。発生したハードウェア割り込みをハードウェア割り込みハンドラ35が処理した後、ソフトウェア割り込みスケジューラ100が、ハードウェア割り込みハンドラ35からのソフトウェア割り込みに基づいて、インタフェースキュー20H, 20M, 20Lに対するソフトウェア割り込みハンドラ25を起動する(S60)。次いで、パケットの優先度(高・中・低)に応じてインタフェースキューに格納されたパケットが送信キュー30に書き込まれる(S70)。   If there is free space in the transmission queue 30, the communication controller 40 generates a hardware interrupt handler (S40). After the generated hardware interrupt is processed by the hardware interrupt handler 35, the software interrupt scheduler 100 activates the software interrupt handler 25 for the interface queues 20H, 20M, and 20L based on the software interrupt from the hardware interrupt handler 35. (S60). Next, the packet stored in the interface queue is written in the transmission queue 30 according to the priority (high, medium, low) of the packet (S70).

図4は、送信キュー30に空き容量がない場合におけるソフトウェア割り込みスケジューラ100の動作概念を示す。図4に示すように、送信キュー30に空き容量がない場合、送信キュー30に空き容量ができるまで待機し、送信キュー30に空き容量ができると、通信コントローラ40からのハードウェア割り込みをハードウェア割り込みハンドラ35が処理し、処理完了後ソフトウェア割り込みスケジューラ100を起動する(図中の(1))。ソフトウェア割り込みスケジューラ100は、インタフェースキュー20Mに対するソフトウェア割り込みハンドラ25を起動(図中の(2))し、インタフェースキュー20Mに格納されていたパケットPMが送信キュー30に書き込まれる。   FIG. 4 shows an operation concept of the software interrupt scheduler 100 when there is no free capacity in the transmission queue 30. As shown in FIG. 4, when there is no free space in the transmission queue 30, it waits until there is free space in the transmission queue 30, and when there is free space in the transmission queue 30, a hardware interrupt from the communication controller 40 is sent to the hardware. The interrupt handler 35 processes and starts the software interrupt scheduler 100 after the processing is completed ((1) in the figure). The software interrupt scheduler 100 activates the software interrupt handler 25 for the interface queue 20M ((2) in the figure), and the packet PM stored in the interface queue 20M is written to the transmission queue 30.

このように、インタフェースキュー20H, 20M, 20Lから送信キュー30への出力(書き込み)動作は、送信キュー30の空き状況によって異なる。ハードウェア割り込みハンドラ35及びソフトウェア割り込みハンドラ25の実行は、アプリケーションタスクの実行よりも処理の優先度が高く、高優先度のタスクが実行中であっても低優先度のインタフェースキュー(例えば、インタフェースキュー20L)から送信キュー30へのパケットの書き込みが生じ得るため、パケットの優先度逆転が発生する。本実施形態では、上述したソフトウェア割り込みスケジューラ100が、実行中のタスク優先度と、インタフェースキュー20H, 20M, 20Lへの書き込み処理を行ったタスクの優先度を比較した上で、ソフトウェア割り込みハンドラ25(インタフェースキューに対応するソフトウェア割り込みハンドラ)の起動を行うため、このようなパケットの優先度逆転が防止される。   As described above, the output (write) operation from the interface queues 20H, 20M, and 20L to the transmission queue 30 differs depending on the empty state of the transmission queue 30. The execution of the hardware interrupt handler 35 and the software interrupt handler 25 has a higher processing priority than the execution of the application task, and even when a high priority task is being executed, a low priority interface queue (for example, an interface queue) 20L), packet writing to the transmission queue 30 can occur, so that packet priority inversion occurs. In the present embodiment, the software interrupt scheduler 100 described above compares the priority of the task being executed with the priority of the task that has performed the write processing to the interface queues 20H, 20M, and 20L, and then the software interrupt handler 25 ( Since the software interrupt handler corresponding to the interface queue is activated, such a priority inversion of the packet is prevented.

(3)作用・効果
以上説明したように、パケット送信制御装置1によれば、ソフトウェア割り込みスケジューラ100は、通信コントローラ40からのハードウェア割り込みによって起動されたハードウェア割り込みハンドラ35あるいはタスクの切り替えを行うタスクスケジューラ150によって呼び出され、インタフェースキュー20H, 20M, 20Lに対するソフトウェア割り込みハンドラ25の起動を制御し、当該ソフトウェア割り込みハンドラ25によって高優先度パケットが優先してインタフェースキューから送信キュー30に書き込まれる。このため、移動通信端末など、パケットの優先制御をソフトウェアによって実現する場合でも、高優先度パケットの遅延やスループットの悪化を効果的に抑制できる。
(3) Action / Effect As described above, according to the packet transmission control device 1, the software interrupt scheduler 100 switches the hardware interrupt handler 35 or task activated by the hardware interrupt from the communication controller 40. Called by the task scheduler 150 to control the activation of the software interrupt handler 25 for the interface queues 20H, 20M, and 20L. The software interrupt handler 25 preferentially writes the high priority packet from the interface queue to the transmission queue 30. For this reason, even when packet priority control is realized by software, such as a mobile communication terminal, it is possible to effectively suppress delay of high priority packets and deterioration of throughput.

より具体的には、パケット送信制御装置1によれば、パケットの優先制御をソフトウェアによって実現する場合に、“パケットの優先度と実行単位の不一致”、及び“タスクと割り込みハンドラの2つの実行単位”が要因となって発生するパケットの優先度逆転問題を解決できる。   More specifically, according to the packet transmission control device 1, when the packet priority control is realized by software, “the packet priority and the execution unit do not match” and “the two execution units of the task and the interrupt handler” It is possible to solve the packet priority inversion problem caused by "".

図5は、“パケットの優先度と実行単位の不一致”によるパケットの優先度逆転の説明図である。ソフトウェアではタスクや割り込みハンドラの実行単位を逐次処理することで所望の動作を実現するが、「処理の実行単位」と「パケットの優先度」が一致していなければパケットの優先度逆転が発生し得る。図5の例では、インタフェースキューが優先度に区分されておらず、アプリケーションがパケットをインタフェースキューに入力するタイミングによって、低優先度パケットが高優先度パケットよりも先に送信されてしまう場合がある。一方、パケット送信制御装置1では、上述したように、ソフトウェア割り込みスケジューラ100が、実行中のタスク優先度に応じてインタフェースキュー毎のソフトウェア割り込みハンドラ25の起動を制御することによって、このような課題を解決している。   FIG. 5 is an explanatory diagram of packet priority inversion due to “the packet priority does not match the execution unit”. The software achieves the desired operation by sequentially processing the execution units of tasks and interrupt handlers, but if the "processing execution unit" and "packet priority" do not match, packet priority inversion occurs. obtain. In the example of FIG. 5, the interface queue is not classified by priority, and the low priority packet may be transmitted before the high priority packet depending on the timing at which the application inputs the packet to the interface queue. . On the other hand, in the packet transmission control device 1, as described above, the software interrupt scheduler 100 controls the activation of the software interrupt handler 25 for each interface queue according to the task priority being executed. It has been solved.

図6は、“タスクと割り込みハンドラの2つの実行単位”によるパケットの優先度逆転の説明図である。ソフトウェアの実行単位には、「タスク」と「割り込みハンドラ」とがあるが、「割り込みハンドラ」は、「タスク」の処理を中断して実行される。このため、図6の例では、ソフトウェア割り込みハンドラによって低優先度パケットが送信キューに書き込まれ、アプリケーションタスクが処理中の高優先度パケットよりも先に送信されてしまう場合がある。一方、パケット送信制御装置1では、上述したように、ソフトウェア割り込みスケジューラ100によるソフトウェア割り込みのスケジューリングによってソフトウェア割り込みハンドラ25の起動を制御して、送信キュー30へのパケットの書き込みを行うことによってこのような課題を解決している。   FIG. 6 is an explanatory diagram of packet priority inversion by “two execution units of task and interrupt handler”. Software execution units include “task” and “interrupt handler”. The “interrupt handler” is executed by interrupting the processing of “task”. For this reason, in the example of FIG. 6, the low priority packet may be written to the transmission queue by the software interrupt handler, and the application task may be transmitted before the high priority packet being processed. On the other hand, as described above, the packet transmission control device 1 controls the activation of the software interrupt handler 25 by the software interrupt scheduling by the software interrupt scheduler 100 and writes the packet to the transmission queue 30 as described above. The problem is solved.

なお、このようなインタフェースキューから送信キューへの出力(書き込み)時に発生する優先度逆転に対し、インタフェースキューから送信キューに出力する処理をタスクとして実装し、優先度毎に分けたタスクをスケジューリングする方法が考えられる。しかしながら、移動通信端末では送信キューのサイズを1パケット程度まで削減することによって送信キューへの書き込み頻度が増大することから、タスクで実現した場合にはコンテキストスイッチのオーバヘッドによって遅延時間に大きな影響を及ぼす。   In addition, with respect to priority inversion that occurs at the time of output (write) from the interface queue to the transmission queue, a process for outputting from the interface queue to the transmission queue is implemented as a task, and tasks divided according to priority are scheduled. A method is conceivable. However, since the frequency of writing to the transmission queue increases by reducing the size of the transmission queue to about 1 packet in the mobile communication terminal, the delay time is greatly affected by the overhead of the context switch when the task is realized. .

図7は、本実施形態に係るパケット送信制御装置1のように、割り込みを使用したパケットの優先制御による有効性の根拠について説明する図である。図7に示すように、割り込みを使用したパケットの優先制御の場合、タスクによるパケットの優先制御と比較して、起動時間が大幅に減少(108.3μsecから7.4μsec)にしていることが分かる。なお、図7に示した処理時間の測定には、CPUとしてFreescale i.MX31Lを搭載するarmadillo 500FXを用いた。   FIG. 7 is a diagram for explaining the grounds of validity by packet priority control using an interrupt, like the packet transmission control device 1 according to the present embodiment. As shown in FIG. 7, in the case of packet priority control using interrupts, it can be seen that the activation time is significantly reduced (from 108.3 μsec to 7.4 μsec) as compared with packet priority control by a task. For the measurement of the processing time shown in FIG. 7, an armadillo 500FX equipped with Freescale i.MX31L was used as the CPU.

(4)その他の実施形態
上述したように、本発明の実施形態を通じて本発明の内容を開示したが、この開示の一部をなす論述及び図面は、本発明を限定するものであると理解すべきではない。この開示から当業者には様々な代替実施の形態、実施例及び運用技術が明らかとなる。
(4) Other Embodiments As described above, the contents of the present invention have been disclosed through the embodiments of the present invention. However, it is understood that the descriptions and drawings constituting a part of this disclosure limit the present invention. Should not. From this disclosure, various alternative embodiments, examples, and operational techniques will be apparent to those skilled in the art.

例えば、本発明の実施形態は、次のように変更することができる。上述した実施形態では、説明の簡略化のため、パケットを送信すべき優先度を3段階として説明したが、当該優先度は、4段階以上でも構わない。あるいは、当該優先度は2段階でも構わない。   For example, the embodiment of the present invention can be modified as follows. In the above-described embodiment, for simplification of description, the priority for transmitting a packet has been described as three levels. However, the priority may be four or more levels. Alternatively, the priority may be two stages.

上述した実施形態では、パケット送信制御装置1が移動通信端末に実装されるものとして説明したが、本発明の適用範囲は、移動通信端末に限られるものではなく、ソフトウェアアーキテクチャによってパケットの優先制御を実現する他の通信装置にも勿論適用することができる。   In the embodiment described above, the packet transmission control device 1 has been described as being implemented in a mobile communication terminal. However, the scope of application of the present invention is not limited to a mobile communication terminal, and packet priority control is performed by a software architecture. Of course, the present invention can be applied to other communication apparatuses to be realized.

このように、本発明は、ここでは記載していない様々な実施の形態などを含むことは勿論である。したがって、本発明の技術的範囲は、上述の説明から妥当な特許請求の範囲に係る発明特定事項によってのみ定められる。   As described above, the present invention naturally includes various embodiments that are not described herein. Therefore, the technical scope of the present invention is determined only by the invention specifying matters according to the scope of claims reasonable from the above description.

1…パケット送信制御装置
10H, 10M, 10L…アプリケーションタスク
20, 20H, 20M, 20L…インタフェースキュー
25…ソフトウェア割り込みハンドラ
30…送信キュー
35…ハードウェア割り込みハンドラ
40…通信コントローラ
100…ソフトウェア割り込みスケジューラ
150…タスクスケジューラ
PH, PM, PL…パケット
1 ... Packet transmission controller
10H, 10M, 10L… Application task
20, 20H, 20M, 20L ... Interface queue
25 ... Software interrupt handler
30 ... Send queue
35 ... Hardware interrupt handler
40 ... Communication controller
100 ... Software interrupt scheduler
150 ... Task scheduler
PH, PM, PL ... packets

Claims (5)

ネットワークインタフェース毎に用意されたインタフェースキューと、デバイスが有する送信キューとを有し、アプリケーションタスクに基づいて生成された低優先度パケット及びアプリケーションタスクに基づいて生成され、前記低優先度パケットよりも送信すべき優先度が高い高優先度パケットの送信順序を制御するパケット送信制御装置であって、
前記インタフェースキューは、
前記低優先度パケットを格納する第1インタフェースキューと、
前記高優先度パケットを格納し、前記第1インタフェースキューから独立した第2インタフェースキューと
を少なくとも含み、
前記送信キューは、前記第1インタフェースキューから出力された前記低優先度パケット、及び前記第2インタフェースキューから出力された前記高優先度パケットを格納可能であり、
ハードウェアからのハードウェア割り込みを処理するハードウェア割り込みハンドラまたはタスクの切り替えを行うタスクスケジューラから呼び出され、前記インタフェースキューに対するソフトウェア割り込みハンドラを起動するソフトウェア割り込みスケジューラを備え、
前記ソフトウェア割り込みスケジューラは、前記ハードウェア割り込みハンドラまたはタスクスケジューラから起動された場合に、前記優先度に基づいて、前記第1インタフェースキューまたは前記第2インタフェースキューの何れに対するソフトウェア割り込みハンドラを起動するかを決定するパケット送信制御装置。
It has an interface queue prepared for each network interface and a transmission queue of the device, is generated based on the low priority packet generated based on the application task and the application task, and is transmitted more than the low priority packet. A packet transmission control apparatus for controlling a transmission order of high priority packets having a high priority to be
The interface queue is
A first interface queue storing the low priority packets;
At least a second interface queue that stores the high priority packet and is independent of the first interface queue;
The transmission queue can store the low priority packet output from the first interface queue and the high priority packet output from the second interface queue;
A hardware interrupt handler that processes hardware interrupts from hardware or a task scheduler that switches tasks, and includes a software interrupt scheduler that starts a software interrupt handler for the interface queue,
The software interrupt scheduler determines whether to activate the software interrupt handler for the first interface queue or the second interface queue based on the priority when activated by the hardware interrupt handler or the task scheduler. Packet transmission control device to be determined.
前記ソフトウェア割り込みスケジューラは、前記優先度と、前記第1インタフェースキューへの前記低優先度パケットの格納状況及び前記第2インタフェースキューへの前記高優先度パケットの格納状況に基づいて、前記第1インタフェースキューまたは前記第2インタフェースキューの何れに対するソフトウェア割り込みハンドラを起動するかを決定し、
前記第2インタフェースキューは、前記ソフトウェア割り込みスケジューラによる前記第2インタフェースキューに対するソフトウェア割り込みに基づいて、前記高優先度パケットを前記送信キューに出力し、
前記第1インタフェースキューは、前記ソフトウェア割り込みスケジューラによって前記第1インタフェースキューに対するソフトウェア割り込みに基づいて、前記低優先度パケットを前記送信キューに出力する請求項1に記載のパケット送信制御装置。
The software interrupt scheduler determines the first interface based on the priority, the storage status of the low priority packet in the first interface queue, and the storage status of the high priority packet in the second interface queue. Determining whether to invoke the software interrupt handler for the queue or the second interface queue;
The second interface queue outputs the high priority packet to the transmission queue based on a software interrupt to the second interface queue by the software interrupt scheduler,
The packet transmission control device according to claim 1, wherein the first interface queue outputs the low priority packet to the transmission queue based on a software interrupt for the first interface queue by the software interrupt scheduler.
前記ソフトウェア割り込みスケジューラは、前記アプリケーションタスクに基づいて生成された前記低優先度パケット及び前記高優先度パケットの優先度を記憶し、記憶された前記優先度に基づいて、起動すべきソフトウェア割り込みハンドラを決定する請求項1に記載のパケット送信制御装置。   The software interrupt scheduler stores the priority of the low priority packet and the high priority packet generated based on the application task, and determines a software interrupt handler to be activated based on the stored priority. The packet transmission control device according to claim 1, wherein the packet transmission control device is determined. 前記送信キューの容量は、前記低優先度パケットまたは前記高優先度パケットが前記インタフェースキューから前記送信キューに格納されるまでの間に、前記ハードウェアが通信路上に送出可能なデータサイズまで削減された請求項1に記載のパケット送信制御装置。   The capacity of the transmission queue is reduced to a data size that the hardware can send on the communication path before the low priority packet or the high priority packet is stored in the transmission queue from the interface queue. The packet transmission control device according to claim 1. ネットワークインタフェース毎に用意されたインタフェースキューと、デバイスが有する送信キューとを有し、アプリケーションタスクに基づいて生成された低優先度パケット及びアプリケーションタスクに基づいて生成され、前記低優先度パケットよりも送信すべき優先度が高い高優先度パケットの送信順序を制御するパケット送信制御方法であって、
前記インタフェースキューは、
前記低優先度パケットを格納する第1インタフェースキューと、
前記高優先度パケットを格納する第2インタフェースキューと
を少なくとも含み、
前記送信キューが、前記第1インタフェースキューから出力された前記低優先度パケット、及び前記第2インタフェースキューから出力された前記高優先度パケットを格納するステップと、
ハードウェアからのハードウェア割り込みを処理するハードウェア割り込みハンドラまたはタスクスケジューラからの呼び出しに基づいて、前記インタフェースキューに対するソフトウェア割り込みハンドラを起動するステップと
を有し、
前記ソフトウェア割り込みハンドラを起動するステップでは、前記ハードウェア割り込みハンドラまたはタスクの切り替えを行うタスクスケジューラから起動された場合に、前記優先度に基づいて、前記第1インタフェースキューまたは前記第2インタフェースキューの何れに対するソフトウェア割り込みハンドラハンドラを起動するかを決定するパケット送信制御方法。
It has an interface queue prepared for each network interface and a transmission queue of the device, is generated based on the low priority packet generated based on the application task and the application task, and is transmitted more than the low priority packet. A packet transmission control method for controlling the transmission order of high priority packets having a high priority to be
The interface queue is
A first interface queue storing the low priority packets;
At least a second interface queue storing the high priority packet;
The transmission queue storing the low priority packet output from the first interface queue and the high priority packet output from the second interface queue;
Activating a software interrupt handler for the interface queue based on a call from a hardware interrupt handler or task scheduler that handles hardware interrupts from hardware,
In the step of activating the software interrupt handler, when activated from the hardware interrupt handler or a task scheduler for switching tasks, either the first interface queue or the second interface queue is activated based on the priority. Packet transmission control method for determining whether to activate a software interrupt handler handler for.
JP2011058191A 2011-03-16 2011-03-16 Packet transmission control apparatus and packet transmission control method Expired - Fee Related JP5303593B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011058191A JP5303593B2 (en) 2011-03-16 2011-03-16 Packet transmission control apparatus and packet transmission control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011058191A JP5303593B2 (en) 2011-03-16 2011-03-16 Packet transmission control apparatus and packet transmission control method

Publications (2)

Publication Number Publication Date
JP2012195766A true JP2012195766A (en) 2012-10-11
JP5303593B2 JP5303593B2 (en) 2013-10-02

Family

ID=47087277

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011058191A Expired - Fee Related JP5303593B2 (en) 2011-03-16 2011-03-16 Packet transmission control apparatus and packet transmission control method

Country Status (1)

Country Link
JP (1) JP5303593B2 (en)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000183961A (en) * 1998-12-14 2000-06-30 Nec Corp Packet communication priority control method
JP2001285394A (en) * 2000-03-30 2001-10-12 Omron Corp Device and method for information processing and recording medium
JP2004128810A (en) * 2002-10-01 2004-04-22 Nec Infrontia Corp Terminal, priority processing method in terminal, and program
JP2006115197A (en) * 2004-10-14 2006-04-27 Sony Corp Transmitter, method, recordign medium, program, and controller
JP2008522535A (en) * 2004-12-02 2008-06-26 エレクトロニクス アンド テレコミュニケーションズ リサーチ インスチチュート Mobile Internet system terminal device and uplink data transmission method in terminal device
WO2010107774A2 (en) * 2009-03-17 2010-09-23 Qualcomm Incorporated Real-time multithreaded scheduler and scheduling method
JP2010533400A (en) * 2007-07-13 2010-10-21 インターナショナル・ビジネス・マシーンズ・コーポレーション Strengthen end-to-end network QOS

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000183961A (en) * 1998-12-14 2000-06-30 Nec Corp Packet communication priority control method
JP2001285394A (en) * 2000-03-30 2001-10-12 Omron Corp Device and method for information processing and recording medium
JP2004128810A (en) * 2002-10-01 2004-04-22 Nec Infrontia Corp Terminal, priority processing method in terminal, and program
JP2006115197A (en) * 2004-10-14 2006-04-27 Sony Corp Transmitter, method, recordign medium, program, and controller
JP2008522535A (en) * 2004-12-02 2008-06-26 エレクトロニクス アンド テレコミュニケーションズ リサーチ インスチチュート Mobile Internet system terminal device and uplink data transmission method in terminal device
JP2010533400A (en) * 2007-07-13 2010-10-21 インターナショナル・ビジネス・マシーンズ・コーポレーション Strengthen end-to-end network QOS
WO2010107774A2 (en) * 2009-03-17 2010-09-23 Qualcomm Incorporated Real-time multithreaded scheduler and scheduling method

Also Published As

Publication number Publication date
JP5303593B2 (en) 2013-10-02

Similar Documents

Publication Publication Date Title
US10412017B2 (en) Transfer device, transfer method, and computer program product
CN110535813B (en) Method and device for processing coexistence of kernel mode protocol stack and user mode protocol stack
CN109697122B (en) Task processing method, device and computer storage medium
US10884786B2 (en) Switch device, switching method, and computer program product
US20110145461A1 (en) Method and device for balancing interrupt load of multicore processor
US20160253213A1 (en) Method and system for dedicating processors for desired tasks
JP4747307B2 (en) Network processing control device, program, and method
KR20120076381A (en) Method and device for managing operating systems in embedded system
EP2700202B1 (en) Integrated circuit device and methods for performing cut-through forwarding
JP2011160140A (en) Communication unit and method of controlling the same
CN107517167B (en) Data transmission control method and device and SoC chip
US9178838B2 (en) Hash perturbation with queue management in data communication
JP2009239374A (en) Virtual computer system and packet transmission control method, and network interface card using it
US9298652B2 (en) Moderated completion signaling
WO2014075489A1 (en) Traffic management scheduling method and apparatus
JP5303593B2 (en) Packet transmission control apparatus and packet transmission control method
Behnke et al. Towards a real-time IoT: Approaches for incoming packet processing in cyber–physical systems
Dumazet Busy polling: Past, present, future
CN101997777B (en) Interruption processing method, device and network equipment
CN100493041C (en) Adaptive variable time slice packet retransmitting dispatching method based on routing exchanger
JP2015041199A (en) Information processing apparatus
US11971830B2 (en) Efficient queue access for user-space packet processing
JP4654106B2 (en) Communication device that performs constant-interval communication
JP2012094944A (en) Communication band control device
JP4984165B2 (en) Priority controller for input / output request, priority control method for input / output request, and priority control program for input / output request

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130221

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130305

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130502

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: 20130528

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130624

R150 Certificate of patent or registration of utility model

Ref document number: 5303593

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: R3D02

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees