JP6291261B2 - Communication apparatus, control method, and program - Google Patents

Communication apparatus, control method, and program Download PDF

Info

Publication number
JP6291261B2
JP6291261B2 JP2014007269A JP2014007269A JP6291261B2 JP 6291261 B2 JP6291261 B2 JP 6291261B2 JP 2014007269 A JP2014007269 A JP 2014007269A JP 2014007269 A JP2014007269 A JP 2014007269A JP 6291261 B2 JP6291261 B2 JP 6291261B2
Authority
JP
Japan
Prior art keywords
tcp
identifier
memory
timer
socket
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.)
Expired - Fee Related
Application number
JP2014007269A
Other languages
Japanese (ja)
Other versions
JP2015136071A (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 JP2014007269A priority Critical patent/JP6291261B2/en
Publication of JP2015136071A publication Critical patent/JP2015136071A/en
Application granted granted Critical
Publication of JP6291261B2 publication Critical patent/JP6291261B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は通信装置、制御方法及びプログラムに関する。   The present invention relates to a communication device, a control method, and a program.

近年、汎用コンピュータ(PC)のみならず、コンピュータ組込機器においてもネットワークプロトコル処理を高速に実行することが要求される。しかし、ソフトウェア処理によるギガビットイーサネット(登録商標)の充分な処理速度は、コンピュータ組込機器が搭載するプロセッサの能力を遥かに超える。そこで、TOE(TCP/IP Offload Engine)といったプロトコル処理に特化した補助的デバイスを付加して、プロセッサに頼らず、広帯域なネットワーク通信を実現することが一般化している。   In recent years, not only general-purpose computers (PCs) but also computer embedded devices are required to execute network protocol processing at high speed. However, the sufficient processing speed of Gigabit Ethernet (registered trademark) by software processing far exceeds the capacity of the processor installed in the computer embedded device. Therefore, it is common to add a supplementary device specialized for protocol processing such as TOE (TCP / IP Offload Engine) to realize broadband network communication without depending on the processor.

一方で、TOEなどのプロトコル処理装置では、複数の通信装置との通信又は1つの通信相手との間の複数のコネクションによる通信を同時に実現するために、パケットを一時的に蓄積するための大容量のメモリリソースが用意されることとなる。これらのリソースは、プロトコル処理装置が同時に通信可能な最大数の通信を行っているか、通信が行われていない又は僅かな通信のみが行われているかによらず、すべてのリソースに電力を供給するため、消費電力面で効率的ではない。   On the other hand, a protocol processing device such as the TOE has a large capacity for temporarily storing packets in order to simultaneously realize communication with a plurality of communication devices or a plurality of connections with one communication partner. Memory resources will be prepared. These resources supply power to all resources regardless of whether the protocol processor is performing the maximum number of communications that can be communicated simultaneously, or if there is no communication or only a small amount of communication. Therefore, it is not efficient in terms of power consumption.

これに対して、特許文献1は、受信したパケットを一時的に蓄積するパケットバッファの有効バッファ数を受信したパケット量に応じて制御し、トラフィックが少ない時は一部のパケットバッファの電源供給を停止して消費電力を低減する手法を提案している。   In contrast, Patent Document 1 controls the effective number of packet buffers that temporarily store received packets according to the amount of received packets, and supplies power to some packet buffers when traffic is low. A method to stop and reduce power consumption is proposed.

特開2011−061443号公報JP 2011-061443 A

TOEでは、パケットを一時的に蓄積するメモリリソースだけでなく、プロトコル処理の高速化を図るため、さまざまなハードウェア(HW)リソース及びオンチップメモリリソースが用いられる。これらのリソースは、同時通信可能な最大数に対応する数だけ保持されるべきであるものが多く、パケットを蓄積するためのメモリリソースと同様に、少量の通信の際においてもHW全体に電源が供給されることにより、多くの電力を消費してしまう。   In the TOE, not only memory resources for temporarily storing packets, but also various hardware (HW) resources and on-chip memory resources are used for speeding up protocol processing. Many of these resources should be retained corresponding to the maximum number that can be communicated at the same time. Similarly to memory resources for accumulating packets, the entire HW can be powered even in a small amount of communication. A large amount of power is consumed by being supplied.

特許文献1に示す方法は、メモリリソースの制御のみを対象としており、TOEのような、様々のHWリソース及びオンチップメモリを必要とする構成では、すべての電源を制御することができないという課題があった。また、特許文献1に記載の手法は、受信したパケットの量により予測的に電源の供給を行うものであり、実際の通信で要求されるリソースの電源を細かく制御できないという課題もあった。   The method shown in Patent Document 1 is intended only for control of memory resources, and in a configuration that requires various HW resources and on-chip memory such as TOE, there is a problem that not all power sources can be controlled. there were. In addition, the technique described in Patent Document 1 supplies power in a predictive manner according to the amount of received packets, and there is a problem that the power of resources required in actual communication cannot be finely controlled.

本発明は上記課題に鑑みなされたものであり、実際の通信の状況に応じた、通信処理のためのリソースの細かい電源供給及び停止制御を行うことを目的とする。   The present invention has been made in view of the above problems, and an object thereof is to perform detailed power supply and stop control of resources for communication processing in accordance with actual communication conditions.

上記目的を達成するため、本発明による通信装置は、TCPプロトコルの処理のために用いられ、複数のTCPソケットの各々に対応する複数のタイマと、TCPプロトコルの処理のために用いられ、前記複数のTCPソケットの各々に対応する複数のメモリと、前記複数のTCPソケットの各々を示す識別子と、当該各識別子が示すTCPソケットにおけるTCPプロトコル処理に用いる前記タイマおよび前記メモリと、を対応させて管理する管理手段と、新たなTCPソケットを利用したTCP通信が開始された場合、当該新たなTCPソケットに、前記新たなTCPソケットを示す第1の識別子を割り当てる割当手段と、前記割当手段により前記第1の識別子が割り当てられた場合、前記管理手段により管理された前記第1の識別子に対応する前記タイマおよび前記メモリへの電力供給およびクロック供給を一括して開始する開始手段と、前記第1の識別子に対応するTCPソケットが解放された場合に、前記管理手段により管理された前記第1の識別子に対応する前記タイマおよび前記メモリへの電力供給およびクロック供給を一括して停止する停止手段と、を有する。
In order to achieve the above object, a communication apparatus according to the present invention is used for TCP protocol processing, and is used for TCP protocol processing, a plurality of timers corresponding to each of a plurality of TCP sockets, A plurality of memories corresponding to each of the TCP sockets, an identifier indicating each of the plurality of TCP sockets, and the timer and the memory used for TCP protocol processing in the TCP socket indicated by each identifier are managed in association with each other And when the TCP communication using the new TCP socket is started , the assigning means for assigning a first identifier indicating the new TCP socket to the new TCP socket, and the assigning means 1 is assigned to the first identifier managed by the management means. Start means for collectively starting power supply and clock supply to the corresponding timer and the memory, and the TCP managed by the management means when the TCP socket corresponding to the first identifier is released Stop means for collectively stopping power supply and clock supply to the timer and the memory corresponding to one identifier .

本発明によれば、実際の通信の状況に応じた、通信処理のためのリソースの細かい電源供給及び停止制御を行うことができる。   According to the present invention, it is possible to perform detailed power supply and stop control of resources for communication processing according to actual communication conditions.

通信装置の構成例を示す図。The figure which shows the structural example of a communication apparatus. TOEサブシステム構成を示す図。The figure which shows TOE subsystem structure. サブプロセッサの役割を説明する図。The figure explaining the role of a sub processor. TCPソケット作成処理の流れを示すフローチャート。The flowchart which shows the flow of TCP socket creation processing. TCPソケットID取得処理の流れを示すフローチャート。The flowchart which shows the flow of a TCP socket ID acquisition process. TCPソケットID初期化処理の流れを示すフローチャート。The flowchart which shows the flow of a TCP socket ID initialization process. TCPソケット解放処理の流れを示すフローチャート。The flowchart which shows the flow of a TCP socket release process. TCPソケットID返却処理の流れを示すフローチャート。The flowchart which shows the flow of a TCP socket ID return process. 新規のIPリアセンブル開始処理の流れを示すフローチャート。The flowchart which shows the flow of a new IP reassembly start process. IPリアセンブルID取得処理の流れを示すフローチャート。The flowchart which shows the flow of IP reassembly ID acquisition processing. IPリアセンブルID初期化処理の流れを示すフローチャート。The flowchart which shows the flow of IP reassembly ID initialization processing. IPリアセンブルリソース解放処理の流れを示すフローチャート。The flowchart which shows the flow of an IP reassembly resource release process. IPリアセンブルID返却処理の流れを示すフローチャート。The flowchart which shows the flow of IP reassembly ID return processing.

以下、添付図面を参照して本発明の実施の形態を詳細に説明する。   Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.

(通信装置の構成)
図1を用いて、本実施形態に係る通信装置の構成例について説明する。図1の通信装置において、主プロセッサ101は、システムバス102を介して、後述する各構成に接続されている。なお、システムバス102は、英国ARM社が提唱するAMBA 3.0 AXI(Advanced eXtensible Interface)仕様に代表されるクロスバースイッチ構造のオンチップバスである。システムバス102は、通信装置に要求される送受信データの並行転送動作が可能である。なお、主プロセッサ101は、通信装置全体の制御を実行するコンピュータである。
(Configuration of communication device)
A configuration example of the communication apparatus according to the present embodiment will be described with reference to FIG. In the communication apparatus of FIG. 1, the main processor 101 is connected to each configuration described later via a system bus 102. The system bus 102 is an on-chip bus having a crossbar switch structure typified by AMBA 3.0 AXI (Advanced extensible Interface) specification proposed by the British company ARM. The system bus 102 can perform a parallel transfer operation of transmission / reception data required for the communication device. The main processor 101 is a computer that executes control of the entire communication apparatus.

割込制御部106は、各構成やTOEサブシステム105からの割込イベントを主プロセッサ101に伝達する。タイマ107は、ソフトウェアなどによって起動され、時間計測やタイムアウトイベントを発生させる。汎用入出力(IO)インタフェース114に接続された入力キー115は、通信装置の動作モードの設定や、IPアドレスに代表される各種通信パラメータの入力を受け付けるための機能部である。表示制御部108に接続された表示部109は、通信装置の状態、アプリケーションの状態、設定内容などを表示する。主DMA制御部112は、通信装置内のダイレクトメモリアクセス(DMA)を制御するコントローラ(DMAC)である。   The interrupt control unit 106 transmits an interrupt event from each configuration or the TOE subsystem 105 to the main processor 101. The timer 107 is activated by software or the like, and generates a time measurement or a timeout event. An input key 115 connected to the general-purpose input / output (IO) interface 114 is a functional unit for accepting the setting of the operation mode of the communication device and the input of various communication parameters typified by an IP address. A display unit 109 connected to the display control unit 108 displays a communication device state, an application state, setting contents, and the like. The main DMA control unit 112 is a controller (DMAC) that controls direct memory access (DMA) in the communication device.

二次記憶制御部110に接続されたハードディスク(HD)装置111は、通信装置の機能を実現するソフトウェアとその関連データ、各サブシステムのサブプロセッサが実行するファームウェアとその関連データなどを格納する。HD装置111は、さらに、通信装置の動作履歴や通信履歴などの履歴情報を格納する。なお、通信装置の機能を実現するソフトウェアには、オペレーティングシステム(OS)、通信装置の各機能を実現するアプリケーションソフトウェア、アプリケーションプロトコル、関連ハードウェアを制御するためのデバイスドライバなどが含まれる。   The hard disk (HD) device 111 connected to the secondary storage control unit 110 stores software that implements the function of the communication device and its related data, firmware executed by the sub processor of each subsystem, its related data, and the like. The HD device 111 further stores history information such as an operation history and a communication history of the communication device. Note that the software that implements the functions of the communication device includes an operating system (OS), application software that implements each function of the communication device, an application protocol, a device driver for controlling related hardware, and the like.

メモリ制御部117に接続されたFlashメモリ118は、書き換え可能な不揮発性メモリであり、SRAM119は、書き換え可能な揮発性メモリである。Flashメモリ118及びSRAM119の少なくともいずれかに、通信装置の起動時に動作するブートプログラム、通信装置の初期状態の設定に使用されるパラメータなどが格納される。Flashメモリ118及びSRAM119の少なくともいずれかは、さらに、通信装置の起動時に各構成(ハードウェア)を制御するためのデバイスドライバ、各構成の起動時の設定パラメータなどを格納する。主プロセッサ101は、Flashメモリ118及びSRAM119の少なくともいずれかに格納されたブートプログラムを実行する。   The flash memory 118 connected to the memory control unit 117 is a rewritable nonvolatile memory, and the SRAM 119 is a rewritable volatile memory. At least one of the flash memory 118 and the SRAM 119 stores a boot program that operates when the communication apparatus is activated, parameters used for setting the initial state of the communication apparatus, and the like. At least one of the flash memory 118 and the SRAM 119 further stores a device driver for controlling each configuration (hardware) when starting the communication apparatus, a setting parameter when starting each configuration, and the like. The main processor 101 executes a boot program stored in at least one of the flash memory 118 and the SRAM 119.

主メモリ制御部103に接続された主メモリ104は、例えば、主プロセッサ101のワークメモリとして機能する。例えば、主プロセッサ101は、通信装置の各ハードウエアとサブシステムとを初期化した後、HD装置111に格納されているソフトウェアを主メモリ104にロードしてOSを起動する。また、主プロセッサ101は、サブシステムの初期化時にTOEサブシステム105に内蔵されているサブプロセッサA〜E(201〜205)が実行する各ファームウエアを主メモリ104上に展開して、各サブプロセッサを起動する。各サブプロセッサ201〜205は主メモリ104上に展開された各ファームウエアを、各サブプロセッサに内蔵する命令キャッシュメモリにロードして、ファームウエアプログラムを実行する。主メモリ104は複数のブロックに分割されており、主メモリ制御部103は、このブロックごとに電源の供給とその停止とを指示することができる。   The main memory 104 connected to the main memory control unit 103 functions as a work memory of the main processor 101, for example. For example, after initializing each hardware and subsystem of the communication device, the main processor 101 loads software stored in the HD device 111 into the main memory 104 and activates the OS. Further, the main processor 101 expands each firmware executed by the sub processors A to E (201 to 205) built in the TOE subsystem 105 on the main memory 104 when the subsystem is initialized, and Start the processor. Each sub-processor 201-205 loads each firmware developed on the main memory 104 into an instruction cache memory built in each sub-processor, and executes the firmware program. The main memory 104 is divided into a plurality of blocks, and the main memory control unit 103 can instruct power supply and stop for each block.

TOEサブシステム105は、通信装置が有線ネットワーク120に接続するための機能部である。TOEサブシステム105の詳細については後述する。無線LANサブシステム113は、通信装置がIEEE802.11a/b/g/n規格に準拠する無線LANネットワークに接続するための機能部である。汎用バスインタフェース116は、通信装置をUSBやIEEE1394などのシリアルバスに接続する。   The TOE subsystem 105 is a functional unit for the communication device to connect to the wired network 120. Details of the TOE subsystem 105 will be described later. The wireless LAN subsystem 113 is a functional unit for connecting a communication apparatus to a wireless LAN network that conforms to the IEEE802.11a / b / g / n standard. The general-purpose bus interface 116 connects the communication device to a serial bus such as USB or IEEE1394.

(TOEサブシステムの構成)
続いて、図2を用いて、本実施形態に係るTOEサブシステム105の構成例について詳細に説明する。
(Configuration of TOE subsystem)
Next, a configuration example of the TOE subsystem 105 according to the present embodiment will be described in detail with reference to FIG.

バスブリッジ206は、TOEサブシステム105の内部バスであるサブシステムバス208とシステムバス102とを接続する。なお、サブシステムバス208は、例えばクロスバースイッチ接続である。TOEサブシステム105は、5つのサブプロセッサ201〜205を有し、これらのサブプロセッサによるマルチプロセッサ処理により、主システムからTCP/IPプロトコル処理をオフロードし、このプロトコル処理を高速に実行する。共有メモリ215は、サブプロセッサ201〜205間の通信と情報共有のためのメモリである。通信タイマ216は、TCP/IPプロトコル処理に必要な時間計測およびタイムアウトイベントを発生させる。   The bus bridge 206 connects a subsystem bus 208 that is an internal bus of the TOE subsystem 105 and the system bus 102. The subsystem bus 208 is, for example, a crossbar switch connection. The TOE sub-system 105 includes five sub-processors 201 to 205, and offloads TCP / IP protocol processing from the main system by multi-processor processing by these sub-processors, and executes this protocol processing at high speed. The shared memory 215 is a memory for communication and information sharing between the sub processors 201 to 205. The communication timer 216 generates a time measurement and time-out event necessary for TCP / IP protocol processing.

図3を用いて、本実施形態に係るTOEサブシステム105のサブプロセッサ201〜205の役割について説明する。TCP/IPプロトコル処理は、アプリケーション層301、ソケットAPI302、トランスポート層(TCP/UDP層)303、インターネット層(IP層)304、MACドライバ305、MAC層306、PHY層307の階層構造を有する。ここで、TOEサブシステム105は、図3の310で示される部分を処理する機能を有する。すなわち、TOEサブシステム105は、TCP/UDP層303、IP層304、MACドライバ305の(処理)機能と、ソケットAPI302の一部の機能とを有する。なお、TCP/UDP層303はTCPプロトコルとUDPプロトコルとを処理し、IP層304はIPプロトコルを処理する。また、MACドライバ305はMAC層306との間で通信データと通信情報を交換する機能であり、ソケットAPI302はアプリケーション通信のAPIである。TOEサブシステム105は、これら機能を各サブプロセッサに分散して処理を行う。   The role of the sub processors 201 to 205 of the TOE subsystem 105 according to the present embodiment will be described with reference to FIG. The TCP / IP protocol process has a hierarchical structure of an application layer 301, a socket API 302, a transport layer (TCP / UDP layer) 303, an Internet layer (IP layer) 304, a MAC driver 305, a MAC layer 306, and a PHY layer 307. Here, the TOE subsystem 105 has a function of processing a portion indicated by 310 in FIG. That is, the TOE subsystem 105 has a (processing) function of the TCP / UDP layer 303, the IP layer 304, and the MAC driver 305, and a partial function of the socket API 302. The TCP / UDP layer 303 processes the TCP protocol and the UDP protocol, and the IP layer 304 processes the IP protocol. The MAC driver 305 is a function for exchanging communication data and communication information with the MAC layer 306, and the socket API 302 is an application communication API. The TOE subsystem 105 performs processing by distributing these functions to the sub processors.

例えば、ソケットAPI302の一部の処理をサブプロセッサ201に割り当てる。そして、TCPプロトコルとUDPプロトコルとの処理のうち受信動作315に関する処理をサブプロセッサ202に割り当て、送信動作316に関する処理をサブプロセッサ203に割り当てる。さらに、MACドライバ305とIPプロトコルとの処理のうち、受信動作315に関する処理をサブプロセッサ204に割り当て、送信動作316に関する処理をサブプロセッサ205に割り当てる。このように処理を分散することにより、一連のプロトコル処理を3つのパイプラインステージ311〜313に分割し、パイプライン動作を行うことが可能となる。また、送信動作316と受信動作315とを分けることで、それぞれの機能を担当するサブプロセッサ同士を並列的に動作させることが可能となる。   For example, a part of the processing of the socket API 302 is assigned to the sub processor 201. Then, among the processes of the TCP protocol and the UDP protocol, the process related to the reception operation 315 is assigned to the sub processor 202, and the process related to the transmission operation 316 is assigned to the sub processor 203. Further, among the processes of the MAC driver 305 and the IP protocol, the process related to the reception operation 315 is assigned to the sub processor 204, and the process related to the transmission operation 316 is assigned to the sub processor 205. By distributing the processing in this way, a series of protocol processing can be divided into three pipeline stages 311 to 313 and a pipeline operation can be performed. In addition, by separating the transmission operation 316 and the reception operation 315, it is possible to operate the sub processors in charge of each function in parallel.

本実施形態では、各サブプロセッサ間の処理データの伝達と制御情報の共有は共有メモリ215を介して行われる。例えば、TCPは転送データの到達保証を行う観点から、受信側から送信側に対して、確認応答と称する到達確認情報をコネクション間で伝達する。この確認応答を行うには、サブプロセッサ202とサブプロセッサ203との間で確認応答の伝達(314)がされることとなる。TOEサブシステム105では、このようなTCPの制御情報の伝達を、共有メモリ215を介して行う。なお、サブプロセッサ間における到達確認情報の伝達と制御情報の共有は主メモリ104を用いて行ってもよい。なお、TOEサブシステム105では、TCP処理に必要となる制御情報は、後述のTCBコントローラ218を用いて共有する。   In this embodiment, transmission of processing data and sharing of control information between the sub-processors is performed via the shared memory 215. For example, TCP transmits arrival confirmation information called a confirmation response between connections from the reception side to the transmission side from the viewpoint of guaranteeing the arrival of transfer data. In order to perform this confirmation response, a confirmation response is transmitted (314) between the sub processor 202 and the sub processor 203. In the TOE subsystem 105, transmission of such TCP control information is performed via the shared memory 215. Note that transmission of arrival confirmation information and sharing of control information between sub-processors may be performed using the main memory 104. In the TOE subsystem 105, control information necessary for TCP processing is shared using a TCB controller 218 described later.

TOEサブシステム105は、有線ネットワーク120に接続するためのハードウェアとしてPHY214とMAC(Media Access Controller)213とを備える。PHY214は、OSI参照モデルの物理層(第1層)のプロトコル処理と電気信号を扱う。MAC213は、OSI参照モデルのデータリンク層(第2層)の下位副層に相当するMAC層のプロトコルを処理する。   The TOE subsystem 105 includes a PHY 214 and a MAC (Media Access Controller) 213 as hardware for connecting to the wired network 120. The PHY 214 handles protocol processing and electrical signals of the physical layer (first layer) of the OSI reference model. The MAC 213 processes a MAC layer protocol corresponding to a lower sublayer of the data link layer (second layer) of the OSI reference model.

図2に戻り、データパス制御部212は、受信パケットデータと送信パケットデータとを、例えば、主メモリ104または共有メモリ215とMAC213との間でDMA転送する機能を有する。データパス制御部212は、転送処理中にパケットデータのチェックサム演算を行う。検索装置207は、連想メモリを有し、プロトコル処理の様々な管理情報の格納と検索処理を行う。   Returning to FIG. 2, the data path control unit 212 has a function of performing DMA transfer between the received packet data and the transmitted packet data between, for example, the main memory 104 or the shared memory 215 and the MAC 213. The data path control unit 212 performs a checksum operation on the packet data during the transfer process. The search device 207 has an associative memory, and stores and searches various management information for protocol processing.

TOEサブシステム105は、さらに、TCPによる通信処理のための制御情報を格納するためのメモリをコントロールするTCBコントローラ218を有する。また、TOEサブシステム105は、さらに、IPのリアセンブル処理において受信したパケット(フラグメント)の情報を管理するビットマップコントローラ219と、同時のプロトコル処理数を管理するIDマネージャ217とを有する。なお、IDマネージャ217は、同時に並行して存在するリアセンブルされるデータの数とTCPソケット数との少なくともいずれかを、処理の単位として識別子(ID)によって管理する。また、IDマネージャ217は、電源制御部220を有し、通信プロトコルの処理のために用いられ、個別に電源供給とその停止とを制御可能な複数のブロックをそれぞれが有するハードウェアリソースに対して、各ブロックの電源供給及び停止の制御を行う。   The TOE subsystem 105 further includes a TCB controller 218 that controls a memory for storing control information for communication processing by TCP. The TOE subsystem 105 further includes a bitmap controller 219 that manages information on packets (fragments) received in the IP reassembly process, and an ID manager 217 that manages the number of simultaneous protocol processes. Note that the ID manager 217 manages at least one of the number of reassembled data and the number of TCP sockets that exist in parallel at the same time by using an identifier (ID) as a unit of processing. Further, the ID manager 217 includes a power control unit 220 and is used for processing a communication protocol. For the hardware resources each having a plurality of blocks that can individually control power supply and stoppage. Control of power supply and stop of each block is performed.

なお、TOEサブシステム105は、暗号通信プロトコル処理を実行する。暗号通信プロトコルは、例えば、IPsec(Security Architecture for Internet Protocol)である。なお、暗号通信プロトコルは、例えば、SSL(Secure Socket Layer)、TLS(Transport Layer Security)であってもよい。これらの暗号通信プロトコル処理のため、TOEサブシステム105は、鍵管理部209、乱数発生器210、暗号器211を有する。鍵管理部209は、暗号通信プロトコル処理のために生成した暗号鍵、乱数、素数を機密に保持する。乱数発生器210は、暗号処理に必要となる乱数値を生成する。暗号器211は、例えばAES(Advanced Encryption Standard)暗号器である。また、暗号器211は、さらに、認証やディジタル署名などに使われるSHA−1(Secure Hash Algorithm 1)、RFC2121として標準化されているMD5(Message Digest 5)などのハッシュ関数器を含む。   The TOE subsystem 105 executes cryptographic communication protocol processing. The encryption communication protocol is, for example, IPsec (Security Architecture for Internet Protocol). The encryption communication protocol may be, for example, SSL (Secure Socket Layer) or TLS (Transport Layer Security). For these cryptographic communication protocol processes, the TOE subsystem 105 includes a key management unit 209, a random number generator 210, and an encryptor 211. The key management unit 209 keeps the encryption key, the random number, and the prime number generated for the encryption communication protocol processing secretly. The random number generator 210 generates a random value necessary for cryptographic processing. The encryption device 211 is, for example, an AES (Advanced Encryption Standard) encryption device. The encryptor 211 further includes hash function units such as SHA-1 (Secure Hash Algorithm 1) used for authentication and digital signature, and MD5 (Message Digest 5) standardized as RFC2121.

TOEサブシステム105は、TCPソケットごとの、通信タイマ216、TCBコントローラ218の管理するメモリ領域、検索装置207の検索エントリ、主メモリ104のソケットバッファといったリソースを用意する。各リソースは、同時にコネクションの確立が可能なTCPソケットの最大数分に対応する、電源の供給及び停止制御が可能な複数のブロックを有する。そして、各ブロックは、IDマネージャ217で管理するTCPソケットの識別子(ID)に関連付けて管理される。すなわち、IDごとに、各ブロックに対する電源の供給及びその停止を制御することが可能な構成となっている。電源制御部220は、IDに対応するTCPソケットによる通信の開始または終了に応じて、IDに対応する、1つ以上のリソースのそれぞれのブロックに対して、一括して電源の供給または電源の供給の停止を実行するような制御を行う。   The TOE subsystem 105 prepares resources such as a communication timer 216, a memory area managed by the TCB controller 218, a search entry of the search device 207, and a socket buffer of the main memory 104 for each TCP socket. Each resource has a plurality of blocks capable of power supply and stop control corresponding to the maximum number of TCP sockets that can establish connections at the same time. Each block is managed in association with an identifier (ID) of a TCP socket managed by the ID manager 217. That is, for each ID, the power supply to each block and the stop thereof can be controlled. The power supply control unit 220 collectively supplies power or supplies power to each block of one or more resources corresponding to the ID according to the start or end of communication by the TCP socket corresponding to the ID. Control is performed to stop the operation.

また、TOEサブシステム105は、1つのデータにリアセンブルされるフラグメントの集合ごとに、通信タイマ216、ビットマップコントローラ219、検索装置207の検索エントリ、主メモリ104のIPリアセンブルバッファ等のリソースを用意する。各リソースは、同時にIPリアセンブル処理が可能なフラグメントの集合の最大数分に対応する、電源の供給及び停止制御が可能な複数のブロックを有する。そして、各ブロックは、IDマネージャ217で管理するリアセンブルされるデータの識別子(ID)に関連づけて管理される。すなわち、IDごとに、各ブロックに対する電源の供給及びその停止を制御することが可能な構成となっている。電源制御部220は、IDに対応する1つのリアセンブルされるデータのフラグメントの集合の通信の開始または終了に応じて、各リソースのIDに対応するブロックに対して、一括して電源の供給、または電源の供給の停止を実行するような制御を行う。   Further, the TOE subsystem 105 allocates resources such as a communication timer 216, a bitmap controller 219, a search entry of the search device 207, and an IP reassembly buffer of the main memory 104 for each set of fragments reassembled into one data. prepare. Each resource has a plurality of blocks capable of power supply and stop control corresponding to the maximum number of fragments that can be simultaneously IP reassembled. Each block is managed in association with an identifier (ID) of data to be reassembled managed by the ID manager 217. That is, for each ID, the power supply to each block and the stop thereof can be controlled. The power supply control unit 220 supplies power to the blocks corresponding to the IDs of the resources collectively in response to the start or end of communication of one reassembled data fragment set corresponding to the ID. Alternatively, control is performed to stop the supply of power.

なお、主メモリ104の電源制御についてはIDマネージャ217内の電源制御部220からの指示により主メモリ制御部103で行う。各ハードウェア(HW)リソースと電源制御部220とは、電源制御ポート221で接続されており、IDマネージャ217からの指示により、電源制御部220は電源制御ポートを介して各HWリソースの電源制御を行う。   Note that power control of the main memory 104 is performed by the main memory control unit 103 in accordance with an instruction from the power control unit 220 in the ID manager 217. Each hardware (HW) resource and the power supply control unit 220 are connected by a power supply control port 221, and according to an instruction from the ID manager 217, the power supply control unit 220 controls the power supply of each HW resource via the power supply control port. I do.

本実施形態では、1つ以上のリソースのそれぞれについての複数のブロックのうちの1つが1つのIDに対応付けられ、1つのIDに対応する通信の開始及び終了に応じて、対応するブロックに対して電源の供給及びその停止をするように制御されるとした。しかしながら、このような構成でなくてもよい。すなわち、1つのブロックは複数のIDに対応付けられていてもよい。なお、1つのブロックに複数のIDが対応付けられている場合は、1つのブロックに対応する複数のIDの少なくとも1つについての通信が開始された場合に、そのブロックへの電源供給が実行されるように制御が行われる。また、この場合、そのブロックに対応する複数のIDの全てについての通信が終了したことに応じて、このブロックへの電源供給が停止されるように制御が行われる。   In this embodiment, one of a plurality of blocks for each of one or more resources is associated with one ID, and corresponding to the corresponding block according to the start and end of communication corresponding to one ID. The power supply is controlled to be supplied and stopped. However, such a configuration is not necessary. That is, one block may be associated with a plurality of IDs. When a plurality of IDs are associated with one block, power supply to the block is performed when communication is started for at least one of the plurality of IDs corresponding to the one block. Control is performed as follows. In this case, control is performed so that power supply to this block is stopped in response to the end of communication for all of the plurality of IDs corresponding to that block.

また、電源の供給及びその停止を制御するのに代えて、クロックの供給とその停止が実行されるように制御が行われてもよい。また、本実施形態では、プロトコル処理の種別として、TCPソケットにおけるプロトコル処理およびIPフラグメントパケットのリアセンブル処理が用いられる場合について説明するが、UDP処理等の他のプロトコル処理の種別が用いられてもよい。   Further, instead of controlling the supply of power and its stop, control may be performed so that the supply and stop of the clock are executed. In this embodiment, the case where protocol processing in a TCP socket and IP fragment packet reassembly processing are used is described as the type of protocol processing. However, other types of protocol processing such as UDP processing may be used. Good.

(TCPソケット作成処理)
続いて、サブプロセッサ202またはサブプロセッサ203において実行される、本実施形態に係るTCPソケット作成処理の流れについて、図4及び図5を用いて説明する。この処理は、例えば、電源制御に対応する通信プロトコルの処理の単位が、1つのTCPソケットによる通信に関するものである場合の処理である。なお、以下では、サブプロセッサ202またはサブプロセッサ203を、単に「サブプロセッサ」と総称する。
(TCP socket creation processing)
Next, the flow of TCP socket creation processing according to the present embodiment, which is executed by the sub processor 202 or the sub processor 203, will be described with reference to FIGS. This process is, for example, a process when the communication protocol processing unit corresponding to the power control is related to communication using one TCP socket. Hereinafter, the sub processor 202 or the sub processor 203 is simply referred to as a “sub processor”.

まず、図4のS401において、サブプロセッサは、IDマネージャ217にTCPソケットの識別子(TCPソケットID)の取得を要求し、IDマネージャ217からTCPソケットIDを受け取る。このときの、IDマネージャ217におけるTCPソケットID取得の処理の流れについて、図5を用いて詳細に説明する。   First, in S401 of FIG. 4, the sub processor requests the ID manager 217 to acquire a TCP socket identifier (TCP socket ID), and receives the TCP socket ID from the ID manager 217. The flow of TCP socket ID acquisition processing in the ID manager 217 at this time will be described in detail with reference to FIG.

S501において、IDマネージャ217は、現在のTCPソケットIDカウンタが最大値に達しているかを調べる。すなわち、IDマネージャ217は、現在使用しているTCPソケットの数が、同時に取り扱える最大値に既に達しているかを判定する。そして、IDマネージャ217は、TPCソケットの最大値に達していた場合はエラーを出力して(S513)、処理を終了し、最大値に達していなかった場合は、処理をS502へ進める。   In step S501, the ID manager 217 checks whether the current TCP socket ID counter has reached the maximum value. That is, the ID manager 217 determines whether the number of currently used TCP sockets has already reached the maximum value that can be handled at the same time. The ID manager 217 outputs an error if the maximum value of the TPC socket has been reached (S513), ends the process, and proceeds to S502 if the maximum value has not been reached.

S502では、IDマネージャ217は、自らが保持しているTCPソケットID値から(任意の)ID値を1つ選択する。すなわち、S502で、新たに作成されるTCPソケットへのIDの割当処理が実行される。TCPソケットID値は、FIFOを利用してID値を格納し、又はビットマップを用いて保持するなど、ID値を保持できる所定の方法で保持される。なお、IDマネージャ217は、同時に取り扱うことができるTCPソケットの最大値の数の分だけ、ID値を保持していてもよいし、それより多くのID値を保持していてもよい。   In S502, the ID manager 217 selects one (arbitrary) ID value from the TCP socket ID values held by itself. That is, in S502, an ID assignment process for a newly created TCP socket is executed. The TCP socket ID value is held by a predetermined method that can hold the ID value, such as storing the ID value using a FIFO or holding it using a bitmap. The ID manager 217 may hold ID values as many as the maximum number of TCP sockets that can be handled simultaneously, or may hold more ID values.

続いて、IDマネージャ217は、TCPソケットIDに対応するTCPタイマのブロックに電源が供給されているかを判定し(S503)、ブロックに電源が供給されていない場合は処理をS504へ進め、供給されている場合は処理をS505へ進める。ここで、「ブロック」は電源の供給を管理する単位であり、1つのブロックに対して個別に電源供給とその停止とを制御することができる。なお、ブロックは単一のIDに対応付けられていてもよいし、複数のIDに対応付けられていてもよい。S504では、IDマネージャ217は、TCPソケットIDに対応するTCPタイマのブロックに対する電源供給を通信タイマ216に指示し、処理をS505へ移す。   Subsequently, the ID manager 217 determines whether power is supplied to the TCP timer block corresponding to the TCP socket ID (S503). If power is not supplied to the block, the process proceeds to S504, where the power is supplied. If yes, the process proceeds to S505. Here, the “block” is a unit for managing the supply of power, and the power supply and the stop thereof can be individually controlled for one block. Note that a block may be associated with a single ID or may be associated with a plurality of IDs. In S504, the ID manager 217 instructs the communication timer 216 to supply power to the TCP timer block corresponding to the TCP socket ID, and the process proceeds to S505.

S505では、IDマネージャ217は、TCPソケットIDに対応する検索装置207のTCPソケット検索テーブルのエントリブロックに電源が供給されているかを調べる。そして、処理は、ブロックに電源が供給されていない場合はS506へ進み、供給されている場合はS507へ進む。S506では、IDマネージャ217は、TCPソケットIDに対応するTCPソケット検索テーブルの検索エントリのブロックに対する電源供給を検索装置207に指示し、処理をS507へ進める。   In S505, the ID manager 217 checks whether power is supplied to the entry block of the TCP socket search table of the search device 207 corresponding to the TCP socket ID. Then, the process proceeds to S506 when power is not supplied to the block, and proceeds to S507 when power is supplied to the block. In S506, the ID manager 217 instructs the search device 207 to supply power to the block of the search entry in the TCP socket search table corresponding to the TCP socket ID, and the process proceeds to S507.

S507では、IDマネージャ217は、TCPソケットIDに対応するTCBコントローラ218が管理しているメモリ領域のブロックに電源が供給されているかを調べる。そして、処理は、ブロックに電源が供給されていない場合はS508へ進み、供給されている場合はS509へ進む。S508では、IDマネージャ217は、TCPソケットIDに対応するTCBコントローラ管理のメモリ領域のメモリブロックに対する電源供給をTCBコントローラ218に指示し、処理をS509へ進める。   In S507, the ID manager 217 checks whether power is supplied to the block in the memory area managed by the TCB controller 218 corresponding to the TCP socket ID. Then, the process proceeds to S508 when the block is not supplied with power, and proceeds to S509 when the block is supplied. In S508, the ID manager 217 instructs the TCB controller 218 to supply power to the memory block in the memory area managed by the TCB controller corresponding to the TCP socket ID, and the process proceeds to S509.

S509では、IDマネージャ217は、TCPソケットIDに対応するTCPソケットバッファ領域の主メモリブロックに電源が供給されているか調べる。そして、処理は、主メモリブロックに電源が供給されている場合はS511へ進み、供給されていない場合はS510へ進む。S510では、IDマネージャ217は、TCPソケットIDに対応する主メモリ104のTCPソケットバッファ領域の主メモリブロックに対する電源供給を主メモリ制御部103に指示し、処理をS511へ進める。   In step S509, the ID manager 217 checks whether power is supplied to the main memory block in the TCP socket buffer area corresponding to the TCP socket ID. Then, the process proceeds to S511 when power is supplied to the main memory block, and proceeds to S510 when power is not supplied. In S510, the ID manager 217 instructs the main memory control unit 103 to supply power to the main memory block in the TCP socket buffer area of the main memory 104 corresponding to the TCP socket ID, and the process proceeds to S511.

S511では、IDマネージャ217は、S502で選択した(割当処理により割り当てられた)ID値を出力し、S512でTCPソケットIDの使用数を管理するカウンタをインクリメントして、処理を終了する。   In S511, the ID manager 217 outputs the ID value selected in S502 (allocated by the allocation process), increments a counter that manages the number of TCP socket IDs used in S512, and ends the process.

なお、本実施形態では、上述の手順で電源の供給指示を行ったが、各ハードウェアリソースに対して電源の供給ができればどのような手順で行ってもよい。例えば、S503〜S504の処理とS505〜S506の順序は逆にされてもよいし、その他の処理についても順序が変更されてもよい。また、上述の各ブロックのうちの1つ以上について常に電源が供給されている場合は、そのブロックについて電源が供給されているかの判定及び電源供給指示の処理は省略されてもよい。   In the present embodiment, the power supply instruction is performed according to the above-described procedure. However, any procedure may be used as long as power can be supplied to each hardware resource. For example, the order of S503 to S504 and the order of S505 to S506 may be reversed, and the order of other processes may be changed. In addition, when power is constantly supplied to one or more of the above-described blocks, the determination of whether power is supplied to the block and the processing of the power supply instruction may be omitted.

図4に戻ると、上述のようにして、TCPソケットIDが、IDマネージャ217からサブプロセッサへ受け渡される(S401)と、サブプロセッサは、S402において、S401で取得した結果を調べる。そして、ID値が取得できずエラーが出力されていた場合は、サブプロセッサは、ソケット作成失敗を出力して(S408)、処理を終了する。一方、ID値が取得できた場合は、処理はS403へ進む。   Returning to FIG. 4, as described above, when the TCP socket ID is transferred from the ID manager 217 to the sub processor (S401), the sub processor checks the result obtained in S401 in S402. If the ID value cannot be acquired and an error is output, the sub processor outputs a socket creation failure (S408), and ends the process. On the other hand, if the ID value can be acquired, the process proceeds to S403.

S403では、サブプロセッサは、取得したID値に対応したTCBコントローラ管理のメモリ領域をロードする指示をTCBコントローラ218に行う。そして、S404において、サブプロセッサは、TCBコントローラ218にTCPコネクションの情報を書き込み、ソケット情報の初期化を行う。続いて、サブプロセッサは、取得したTCPソケットIDに対応した通信タイマ216のTCPタイマを設定して起動する(S405)。そして、サブプロセッサは、取得したTCPソケットIDに対応した検索装置207のTCPソケット検索テーブルの検索エントリにTCPソケット検索情報を登録し(S406)、ソケット作成成功を出力して(S407)、処理を終了する。なお、これらのステップの順序等は変更されてもよい。   In step S403, the sub processor instructs the TCB controller 218 to load a TCB controller management memory area corresponding to the acquired ID value. In step S <b> 404, the sub processor writes the TCP connection information in the TCB controller 218 and initializes the socket information. Subsequently, the sub processor sets and starts the TCP timer of the communication timer 216 corresponding to the acquired TCP socket ID (S405). Then, the sub processor registers the TCP socket search information in the search entry of the TCP socket search table of the search device 207 corresponding to the acquired TCP socket ID (S406), outputs the socket creation success (S407), and performs the processing. finish. Note that the order of these steps may be changed.

(TCPソケットID初期化処理)
続いて、図6を用いて、主プロセッサ101によるTCPソケットID初期化処理の流れについて説明する。なお、本実施形態では主プロセッサがTCPソケットID初期化処理を行うが、TOE内のサブプロセッサがこの処理を実行してもよい。なお、この処理は、例えば、通信装置の電源が投入された際に実行され、この処理の後に、上述の図4及び図5の処理が実行される。
(TCP socket ID initialization process)
Next, the flow of TCP socket ID initialization processing by the main processor 101 will be described with reference to FIG. In this embodiment, the main processor performs the TCP socket ID initialization process, but the sub-processor in the TOE may execute this process. This process is executed, for example, when the power of the communication apparatus is turned on. After this process, the processes shown in FIGS. 4 and 5 are executed.

主プロセッサ101は、S601において、TCPソケットIDの最大値をIDマネージャ217に設定する。この設定値はシステムごとに決定するTCPソケットの最大同時コネクション数である。その後、主プロセッサ101は、TCPソケットID値の最大数分のソケットバッファ領域を主メモリ104上に確保する(S602)。この領域は、主メモリ制御部103の制御により電源制御が可能な領域に確保される。なお、本実施形態では、主メモリ上にソケットバッファを確保する場合について説明しているが、バッファごとに電源制御可能なメモリ領域であれば、他のメモリ上にソケットバッファが確保されてもよい。   In step S <b> 601, the main processor 101 sets the maximum value of the TCP socket ID in the ID manager 217. This setting value is the maximum number of simultaneous TCP socket connections determined for each system. Thereafter, the main processor 101 secures socket buffer areas for the maximum number of TCP socket ID values on the main memory 104 (S602). This area is secured in an area where power control is possible under the control of the main memory control unit 103. In the present embodiment, the case where the socket buffer is secured on the main memory has been described. However, the socket buffer may be secured on another memory as long as the power source can be controlled for each buffer. .

続いて、主プロセッサ101は、S602で確保したソケットバッファの位置情報をIDマネージャ217に設定する(S603)。IDマネージャ217は、この設定情報に基づいて、TCPソケットによる通信の開始または終了時(すなわち、TCPソケットIDが取得され、開放された際)の電源制御の指示を行う。主プロセッサ101は、その後、TCBコントローラ用のメモリ領域をTCBコントローラ218に設定する(S604)。TCBコントローラ218は、この設定情報に基づいて、サブプロセッサの指示により、TCPソケットIDに対応したメモリ領域のロード又はアンロードを行う。そして、主プロセッサ101は、TCPソケット検索用の検索テーブルの、検索装置207に対する設定を行う(S605)。その後、主プロセッサ101は、IDマネージャ217に対して、TCPソケットIDに関連づけられたハードウェアリソースの電源制御を開始すべき旨を示す指示を行い(S606)、処理を終了する。なお、上述の各ステップは、順序が変更されてもよいし、一部のステップが削除されてもよい。   Subsequently, the main processor 101 sets the position information of the socket buffer secured in S602 in the ID manager 217 (S603). Based on this setting information, the ID manager 217 issues a power control instruction at the start or end of communication using the TCP socket (that is, when the TCP socket ID is acquired and released). Thereafter, the main processor 101 sets a memory area for the TCB controller in the TCB controller 218 (S604). Based on this setting information, the TCB controller 218 loads or unloads the memory area corresponding to the TCP socket ID according to an instruction from the sub processor. Then, the main processor 101 sets a search table for TCP socket search for the search device 207 (S605). Thereafter, the main processor 101 instructs the ID manager 217 that power control of the hardware resource associated with the TCP socket ID should be started (S606), and ends the process. Note that the order of the steps described above may be changed, or some steps may be deleted.

(TCPソケット解放処理)
続いて、サブプロセッサ202またはサブプロセッサ203において実行される、本実施形態に係るTCPソケット解放処理の流れについて、図7及び図8を用いて説明する。なお、以下では、サブプロセッサ202またはサブプロセッサ203を、単に「サブプロセッサ」と総称する。
(TCP socket release processing)
Subsequently, the flow of the TCP socket release process according to the present embodiment, which is executed in the sub processor 202 or the sub processor 203, will be described with reference to FIGS. Hereinafter, the sub processor 202 or the sub processor 203 is simply referred to as a “sub processor”.

まず、あるTCPソケットによる通信が終了した場合、サブプロセッサは、図7のS701において、検索装置207のTCPソケットID値に対応した領域のエントリを削除する。そして、サブプロセッサは、TCBコントローラ218のTCPソケットID値に対応したTCPソケット情報をクリアし(S702)、TCPソケットID値に対応したTCPタイマを停止する(S703)。サブプロセッサは、さらに、S704において、TCPソケットID値をIDマネージャ217に返却して、処理を終了する。   First, when communication using a certain TCP socket is completed, the sub processor deletes the entry in the area corresponding to the TCP socket ID value of the search device 207 in S701 of FIG. Then, the sub processor clears the TCP socket information corresponding to the TCP socket ID value of the TCB controller 218 (S702), and stops the TCP timer corresponding to the TCP socket ID value (S703). Further, in S704, the sub processor returns the TCP socket ID value to the ID manager 217, and ends the process.

ここで、図8を用いて、S704においてTCPソケットID値が返却された場合の、IDマネージャ217が実行するTCPソケットID返却処理について説明する。IDマネージャ217は、S801において、返却されたID値を、保持しているTCPソケットID値に追加する。すなわち、IDマネージャ217は、返却されたID値を、その後に新規に開始されるTCPソケットによる通信に対して割り当てるための候補に追加して保持しておく。   Here, the TCP socket ID return process executed by the ID manager 217 when the TCP socket ID value is returned in S704 will be described with reference to FIG. In step S801, the ID manager 217 adds the returned ID value to the stored TCP socket ID value. That is, the ID manager 217 adds and holds the returned ID value as a candidate to be assigned to communication by a TCP socket that is newly started thereafter.

そして、IDマネージャ217は、返却されたID値に対応する各ハードウェアリソースのブロックについて、電源供給の停止を指示する。具体的には、S802においてID値に対応するTCPタイマの電源停止が通信タイマ216に対して指示され、S803において、ID値に対応するTCPソケット検索テーブルのエントリの電源停止が検索装置207に対して指示される。また、S804において、ID値に対応するTCBコントローラ用のメモリ領域の電源停止がTCBコントローラに指示され、S805において、ID値に対応する主メモリ104上のソケットバッファ領域の電源停止が主メモリ制御部103に指示される。そして、IDマネージャ217は、S806において、TCPソケットIDの使用数を管理するカウンタをデクリメントして、処理を終了する。なお、上述の各ステップについても、例えば電源停止の指示の順序が変更されてもよいし、一部のステップが削除されてもよい。   Then, the ID manager 217 instructs to stop power supply for each hardware resource block corresponding to the returned ID value. Specifically, in step S802, the communication timer 216 is instructed to stop the power supply of the TCP timer corresponding to the ID value. In step S803, the power supply stop of the entry in the TCP socket search table corresponding to the ID value is sent to the search device 207. Is instructed. In S804, the TCB controller is instructed to stop the power supply of the memory area for the TCB controller corresponding to the ID value. In S805, the power supply stop of the socket buffer area on the main memory 104 corresponding to the ID value is set to the main memory control unit. 103. In step S806, the ID manager 217 decrements the counter that manages the number of used TCP socket IDs, and ends the process. For each of the above-described steps, for example, the order of power stop instructions may be changed, or some steps may be deleted.

(IPリアセンブル開始処理)
続いて、サブプロセッサ204において実行される、本実施形態に係る新規のIPリアセンブルの開始処理について、図9及び図10を用いて説明する。この処理は、例えば、電源制御に対応する通信プロトコルの処理の単位が、1つのデータにリアセンブルされるフラグメントの集合の通信に関するものである場合の処理である。
(IP reassembly start processing)
Next, a new IP reassembly start process according to the present embodiment, which is executed by the sub processor 204, will be described with reference to FIGS. This process is, for example, a process when the communication protocol processing unit corresponding to the power control is related to communication of a set of fragments reassembled into one data.

まず、図9のS901において、サブプロセッサ204は、IDマネージャ217にIPリアセンブルIDの取得を要求し、IDマネージャ217からIPリアセンブルIDを受け取る。このときの、IDマネージャ217におけるIPリアセンブルID取得の処理の流れについて、図10を用いて詳細に説明する。   First, in S901 of FIG. 9, the sub processor 204 requests the ID manager 217 to obtain an IP reassembly ID, and receives the IP reassembly ID from the ID manager 217. The flow of IP reassembly ID acquisition processing in the ID manager 217 at this time will be described in detail with reference to FIG.

S1001において、IDマネージャ217は、現在のIPリアセンブルカウンタが最大値に達しているかを調べる。すなわち、IDマネージャ217は、現在並行して実行中のIPリアセンブルの数が、同時に取り扱える最大値に既に達しているかを判定する。そして、IDマネージャ217は、同時のIPリアセンブルの数が最大値に達していた場合はエラーを出力して(S1013)、処理を終了し、最大値に達していなかった場合は処理をS1002へ進める。   In step S1001, the ID manager 217 checks whether the current IP reassembly counter has reached the maximum value. That is, the ID manager 217 determines whether the number of IP reassembly currently being executed in parallel has already reached the maximum value that can be handled simultaneously. The ID manager 217 outputs an error if the number of simultaneous IP reassemblys has reached the maximum value (S1013), ends the process, and if not, reaches the process to S1002. Proceed.

S1002では、IDマネージャ217は、自らが保持しているIPリアセンブルID値から(任意の)ID値を1つ選択する。すなわち、S1002で、新たに実行されるIPリアセンブルに対してIDの割当処理が実行される。IPリアセンブルID値は、TCPソケットID値と同様に、FIFOを利用してID値を格納し、又はビットマップを用いて保持するなど、ID値を保持できる所定の方法で保持される。   In S1002, the ID manager 217 selects one (arbitrary) ID value from the IP reassembly ID value held by itself. That is, in S1002, an ID assignment process is executed for a newly executed IP reassembly. Similar to the TCP socket ID value, the IP reassembly ID value is held by a predetermined method that can hold the ID value, such as storing the ID value using a FIFO or holding it using a bitmap.

続いて、IDマネージャ217は、IPリアセンブルIDに対応するIPリアセンブルタイマのブロックに電源が供給されているかを判定する(S1003)。この判定の結果、処理は、ブロックに電源が供給されていない場合はS1004へ進み、供給されている場合はS1005へ進む。なお、ここでの「ブロック」も、上述のように、電源の供給を管理する単位であり、1つのブロックに対して個別に電源供給とその停止とを制御することができる。また、ブロックは単一のIDに対応付けられていてもよいし、複数のIDに対応付けられていてもよい点についても、上述の説明と同様である。S1004では、IDマネージャ217は、IPリアセンブルIDに対応するIPリアセンブルタイマのブロックの電源供給を通信タイマ216に対して指示し、処理をS1005へ移す。   Subsequently, the ID manager 217 determines whether power is supplied to the block of the IP reassembly timer corresponding to the IP reassembly ID (S1003). As a result of the determination, the process proceeds to S1004 when power is not supplied to the block, and proceeds to S1005 when power is supplied to the block. The “block” here is also a unit for managing the supply of power as described above, and the power supply and the stop thereof can be individually controlled for one block. Also, the block may be associated with a single ID, or may be associated with a plurality of IDs, as described above. In S1004, the ID manager 217 instructs the communication timer 216 to supply power to the block of the IP reassembly timer corresponding to the IP reassembly ID, and the process proceeds to S1005.

S1005では、IDマネージャ217は、IPリアセンブルIDに対応する検索装置207のIPリアセンブル検索テーブルのエントリブロックに電源が供給されているかを調べる。そして、処理は、電源が供給されていない場合はS1006へ進み、供給されている場合はS1007へ進む。S1006では、IDマネージャ217は、IPリアセンブルIDに対応するIPリアセンブル検索テーブルの検索エントリブロックの電源供給を検索装置207に対して指示し、処理をS1007へ進める。   In step S1005, the ID manager 217 checks whether power is supplied to the entry block of the IP reassembly search table of the search device 207 corresponding to the IP reassembly ID. Then, the process proceeds to S1006 when the power is not supplied, and proceeds to S1007 when the power is supplied. In S1006, the ID manager 217 instructs the search device 207 to supply power to the search entry block of the IP reassembly search table corresponding to the IP reassembly ID, and the process proceeds to S1007.

S1007では、IDマネージャ217は、IPリアセンブルIDに対応するビットマップコントローラ219のビットマップテーブルのブロックに電源が供給されているかを調べる。処理は、電源が供給されていない場合はS1008へ進み、供給されている場合はS1009へ進む。S1008では、IDマネージャ217は、IPリアセンブルIDに対応するビットマップテーブルに対する電源供給を、ビットマップコントローラ219に指示し、処理をS1009へ進める。   In step S1007, the ID manager 217 checks whether power is supplied to the bitmap table block of the bitmap controller 219 corresponding to the IP reassembly ID. The process proceeds to S1008 when the power is not supplied, and proceeds to S1009 when the power is supplied. In S1008, the ID manager 217 instructs the bitmap controller 219 to supply power to the bitmap table corresponding to the IP reassembly ID, and the process proceeds to S1009.

S1009では、IDマネージャ217は、IPリアセンブルIDに対応するIPリアセンブルバッファ領域の主メモリブロックに電源が供給されているかを調べる。処理は、主メモリブロックに電源が供給されている場合はS1011へ進み、供給されていない場合はS1010へ進む。S1010では、IDマネージャ217は、IPリアセンブルIDに対応する主メモリ104のIPリアセンブルバッファ領域に対する電源供給を主メモリ制御部103に指示し、処理をS1011へ進める。   In step S1009, the ID manager 217 checks whether power is supplied to the main memory block in the IP reassembly buffer area corresponding to the IP reassembly ID. The process proceeds to S1011 when power is supplied to the main memory block, and proceeds to S1010 when power is not supplied. In S1010, the ID manager 217 instructs the main memory control unit 103 to supply power to the IP reassembly buffer area of the main memory 104 corresponding to the IP reassembly ID, and the process proceeds to S1011.

S1011では、IDマネージャ217は、S1002で選択した(割当処理により割り当てられた)ID値を出力し、S1012でIPリアセンブルIDの使用数を管理するカウンタをインクリメントして、処理を終了する。   In S1011, the ID manager 217 outputs the ID value selected in S1002 (allocated by the allocation process), increments a counter that manages the number of IP reassembly ID used in S1012, and ends the process.

なお、本実施形態では、上述の手順で電源の供給指示を行ったが、各ハードウェアリソースに対して電源の供給ができればどのような手順で行ってもよい。例えば、S1003〜S1004の処理とS1005〜S1006の順序は逆にされてもよいし、その他の処理についても順序が変更されてもよい。また、上述の各ブロックのうちの1つ以上について常に電源が供給されている場合は、そのブロックについて電源が供給されているかの判定及び電源供給指示の処理は省略されてもよい。   In the present embodiment, the power supply instruction is performed according to the above-described procedure. However, any procedure may be used as long as power can be supplied to each hardware resource. For example, the order of S1003 to S1004 and the order of S1005 to S1006 may be reversed, and the order of other processes may be changed. In addition, when power is constantly supplied to one or more of the above-described blocks, the determination of whether power is supplied to the block and the processing of the power supply instruction may be omitted.

図9に戻ると、上述のようにして、IPリアセンブルIDが、IDマネージャ217からサブプロセッサ204へ受け渡される(S901)と、サブプロセッサ204は、S902において、S901で取得した結果を調べる。そして、ID値が取得できずエラーが出力されていた場合は、サブプロセッサ204は、IPリアセンブルリソース獲得失敗を出力して(S908)、処理を終了する。一方、ID値が取得できた場合は、処理はS903へ進む。   Returning to FIG. 9, as described above, when the IP reassembly ID is transferred from the ID manager 217 to the sub-processor 204 (S901), the sub-processor 204 checks the result obtained in S901 in S902. If the ID value cannot be acquired and an error is output, the sub processor 204 outputs an IP reassembly resource acquisition failure (S908) and ends the process. On the other hand, if the ID value can be acquired, the process proceeds to S903.

S903では、サブプロセッサ204は、取得したID値に対応したビットマップコントローラのビットマップテーブルに、受信したフラグメントパケットの受信位置を示す情報を記録する。そして、S904において、サブプロセッサ204は、取得したIPリアセンブルID値に対応した主メモリ104のIPリアセンブルバッファへ、フラグメントパケットデータを転送する。続いて、S905において、サブプロセッサ204は、取得したIPリアセンブルID値に対応した通信タイマ216のIPリアセンブルタイマを設定し、起動する。そして、サブプロセッサ204は、S906において、取得したIPリアセンブルIDに対応した検索装置207のIPリアセンブル検索テーブルの検索エントリに、IPリアセンブル検索情報を登録する。その後、サブプロセッサ204は、S907においてIPリアセンブルリソース獲得成功を出力して、処理を終了する。なお、これらのステップの順序等は変更されてもよい。   In step S903, the sub processor 204 records information indicating the reception position of the received fragment packet in the bitmap table of the bitmap controller corresponding to the acquired ID value. In step S904, the sub processor 204 transfers the fragment packet data to the IP reassembly buffer of the main memory 104 corresponding to the acquired IP reassembly ID value. Subsequently, in S905, the sub processor 204 sets and starts the IP reassembly timer of the communication timer 216 corresponding to the acquired IP reassembly ID value. In step S906, the sub processor 204 registers the IP reassembly search information in the search entry of the IP reassembly search table of the search device 207 corresponding to the acquired IP reassembly ID. After that, the sub processor 204 outputs IP reassembly resource acquisition success in S907 and ends the processing. Note that the order of these steps may be changed.

(IPリアセンブルID初期化処理)
続いて、図11を用いて、主プロセッサ101によるIPリアセンブルID初期化処理の流れについて説明する。なお、本実施形態では主プロセッサ101がIPリアセンブルID初期化処理を行うが、TOE内のサブプロセッサがこの処理を実行してもよい。なお、この処理は、例えば、通信装置の電源が投入された際に実行され、この処理の後に、上述の図9及び図10の処理が実行される。
(IP reassembly ID initialization process)
Next, the flow of IP reassembly ID initialization processing by the main processor 101 will be described with reference to FIG. In this embodiment, the main processor 101 performs IP reassembly ID initialization processing, but a sub-processor in the TOE may execute this processing. This process is executed, for example, when the communication apparatus is turned on, and after this process, the processes shown in FIGS. 9 and 10 are executed.

主プロセッサ101は、S1101において、IPリアセンブルIDの最大値をIDマネージャ217に設定する。この設定値は、システムごとに決定する同時に実行可能なIPリアセンブルの処理の最大数である。その後、主プロセッサ101は、IPリアセンブルID値の最大数分のIPリアセンブルバッファ領域を主メモリ104上に確保する(S1102)。この領域は主メモリ制御部103の制御により電源制御が可能な領域に確保する。なお、本実施形態では主メモリ上にIPリアセンブルバッファを確保する場合について説明しているが、バッファごとに電源制御可能なメモリ領域であれば、他のメモリ上にIPリアセンブルバッファが確保されてもよい。   In S1101, the main processor 101 sets the maximum value of the IP reassembly ID in the ID manager 217. This set value is the maximum number of IP reassembling processes that can be executed simultaneously and determined for each system. Thereafter, the main processor 101 secures IP reassembly buffer areas for the maximum number of IP reassembly ID values on the main memory 104 (S1102). This area is secured in an area where power control is possible under the control of the main memory control unit 103. In this embodiment, the case where the IP reassembly buffer is secured on the main memory has been described. However, if the memory area is capable of power control for each buffer, the IP reassembly buffer is secured on another memory. May be.

続いて、主プロセッサ101は、S1102で確保したIPリアセンブルバッファの位置情報をIDマネージャ217に設定する(S1103)。この設定情報に基づいて、1つのデータにリアセンブルされるフラグメントの集合の通信の開始または終了時(すなわち、IPリアセンブルIDが取得され、開放された際)の、電源制御の指示を行う。主プロセッサ101は、その後、IPリアセンブル情報検索用の検索テーブルを検索装置207に対して設定する(S1104)。そして、主プロセッサ101は、IDマネージャ217に対して、IPリアセンブルIDに関連づけられたハードウェアリソースの電源制御を開始する旨を示す指示を行い(S1105)、処理を終了する。なお、上述の各ステップは、順序が変更されてもよいし、一部のステップが削除されてもよい。   Subsequently, the main processor 101 sets the position information of the IP reassembly buffer secured in S1102 in the ID manager 217 (S1103). Based on this setting information, a power control instruction is given at the start or end of communication of a set of fragments to be reassembled into one data (that is, when an IP reassembly ID is acquired and released). Thereafter, the main processor 101 sets a search table for searching IP reassembly information in the search device 207 (S1104). Then, the main processor 101 instructs the ID manager 217 to start the power control of the hardware resource associated with the IP reassembly ID (S1105), and ends the process. Note that the order of the steps described above may be changed, or some steps may be deleted.

(IPリアセンブルリソース解放処理)
続いて、サブプロセッサ204において実行される、本実施形態に係るIPリアセンブルリソース解放処理の流れについて、図12及び図13を用いて説明する。
(IP reassembly resource release processing)
Next, the flow of IP reassembly resource release processing according to the present embodiment, which is executed in the sub processor 204, will be described with reference to FIGS.

まず、1つのデータにリアセンブルされるフラグメントの集合についての通信が終了した場合、サブプロセッサ204は、図12のS1201において、検索装置207のIPリアセンブルID値に対応した領域のエントリを削除する。そして、サブプロセッサ204は、ビットマップコントローラ219のIPリアセンブルID値に対応したビットマップテーブルをクリアし(S1202)、IPリアセンブルID値に対応したIPリアセンブルタイマを停止する(S1203)。サブプロセッサ204は、さらに、S1204において、IPリアセンブルID値をIDマネージャ217に返却して、処理を終了する。   First, when communication about a set of fragments reassembled into one data is completed, the sub-processor 204 deletes an entry in an area corresponding to the IP reassembly ID value of the search device 207 in S1201 of FIG. . Then, the sub processor 204 clears the bitmap table corresponding to the IP reassembly ID value of the bitmap controller 219 (S1202), and stops the IP reassembly timer corresponding to the IP reassembly ID value (S1203). Further, in S1204, the sub processor 204 returns the IP reassembly ID value to the ID manager 217 and ends the process.

ここで、図13を用いて、S1204においてIPリアセンブルID値が返却された場合の、IDマネージャ217が実行するIPリアセンブルID返却処理について説明する。IDマネージャ217は、S1301において、返却されたID値を、保持しているIPリアセンブルID値に追加する。すなわち、IDマネージャ217は、返却されたID値を、その後に新規に開始されるIPリアセンブルに関する通信に対して割り当てるための候補に追加して保持しておく。   Here, the IP reassembly ID return process executed by the ID manager 217 when the IP reassembly ID value is returned in S1204 will be described with reference to FIG. In step S1301, the ID manager 217 adds the returned ID value to the held IP reassembly ID value. That is, the ID manager 217 adds and holds the returned ID value as a candidate to be assigned to communication relating to IP reassembly that is newly started thereafter.

そして、IDマネージャ217は、返却されたIPリアセンブルID値に対応する各ハードウェアリソースのブロックについて、電源供給の停止を指示する。具体的には、S1302では、ID値に対応するIPリアセンブルタイマの電源停止が通信タイマ216に指示され、S1303では、ID値に対応するIPリアセンブル検索テーブルのエントリの電源停止が検索装置207に指示される。また、ID値に対応するビットマップテーブルの電源停止がビットマップコントローラ219に指示され(S1304)、ID値に対応する主メモリ104上のIPリアセンブルバッファ領域の電源停止が主メモリ制御部103に指示される(S1305)。そして、IDマネージャ217は、S1306において、IPリアセンブルIDの使用数を管理するカウンタをデクリメントして、処理を終了する。なお、上述の各ステップについても、例えば電源停止の指示の順序が変更されてもよいし、一部のステップが削除されてもよい。   Then, the ID manager 217 instructs to stop power supply for each hardware resource block corresponding to the returned IP reassembly ID value. Specifically, in step S1302, the communication timer 216 is instructed to stop the power supply of the IP reassembly timer corresponding to the ID value. In step S1303, the power supply stop of the entry in the IP reassembly search table corresponding to the ID value is detected by the search device 207. Instructed to. Further, the bitmap controller 219 is instructed to stop the power of the bitmap table corresponding to the ID value (S1304), and the power stop of the IP reassembly buffer area on the main memory 104 corresponding to the ID value is sent to the main memory control unit 103. Instructed (S1305). In step S1306, the ID manager 217 decrements the counter that manages the number of IP reassembly IDs used, and ends the process. For each of the above-described steps, for example, the order of power stop instructions may be changed, or some steps may be deleted.

このように、本実施形態の通信装置は、TCPソケット及びIPリアセンブル処理をIDで管理するIDマネージャを有し、それぞれの通信プロトコルの処理に対して、管理されている複数のIDのうちの1つのIDを割り当て、又は解放する。また、本実施形態の通信装置では、各(ハードウェア)リソースを細かいブロックごとに電源制御可能な構成として、IDマネージャは、これらのブロックごとに1つ以上のIDを対応付けて記憶しておく。そして、IDマネージャは、IDの割当と開放とに応じて、1つ以上のリソースについて、そのIDに対応するブロックに対して電源供給またはその停止、若しくはクロックの供給またはその停止を行うように、制御を行う。これにより、実際に通信処理を行っているTCPソケットの数、IPリアセンブルの数に応じて、ハードウェアリソースのブロック単位での詳細な電源制御を行うことが可能となる。さらに、このような構成により、同時に実行可能な通信処理の最大数を維持しながら、記憶装置及びハードウェアを、通信状況に応じて部分的に電源遮断することが可能となるため、通信状態に応じて消費電力を削減することが可能となる。またIDマネージャが一括で電源の制御を行うため、個別にハードウェアリソースの電源制御を行うことが不要となり、個別に電源制御を行うことにより、処理負荷が高まることを防止することが可能となる。   As described above, the communication apparatus according to the present embodiment includes an ID manager that manages the TCP socket and the IP reassembly process using IDs, and each of the communication protocol processes includes a plurality of IDs that are managed. Assign or release one ID. In the communication apparatus according to the present embodiment, each (hardware) resource is configured so that power can be controlled for each fine block, and the ID manager stores one or more IDs in association with each block. . And, according to the allocation and release of ID, the ID manager supplies power to or stops the block corresponding to the ID, or supplies or stops the clock for one or more resources. Take control. As a result, it becomes possible to perform detailed power supply control in units of hardware resources in accordance with the number of TCP sockets and the number of IP reassembles that are actually performing communication processing. Furthermore, such a configuration allows the storage device and hardware to be partially shut down according to the communication status while maintaining the maximum number of communication processes that can be executed simultaneously. Accordingly, power consumption can be reduced. In addition, since the ID manager controls the power supply in a lump, it is not necessary to individually control the power supply of the hardware resources, and it becomes possible to prevent an increase in processing load by performing the power supply control individually. .

<<その他の実施形態>>
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
<< Other Embodiments >>
The present invention can also be realized by executing the following processing. That is, software (program) that realizes the functions of the above-described embodiments is supplied to a system or apparatus via a network or various storage media, and a computer (or CPU, MPU, or the like) of the system or apparatus reads the program. It is a process to be executed.

Claims (5)

TCPプロトコルの処理のために用いられ、複数のTCPソケットの各々に対応する複数のタイマと、
TCPプロトコルの処理のために用いられ、前記複数のTCPソケットの各々に対応する複数のメモリと、
前記複数のTCPソケットの各々を示す識別子と、当該各識別子が示すTCPソケットにおけるTCPプロトコル処理に用いる前記タイマおよび前記メモリと、を対応させて管理する管理手段と、
新たなTCPソケットを利用したTCP通信が開始された場合、当該新たなTCPソケットに、前記新たなTCPソケットを示す第1の識別子を割り当てる割当手段と、
前記割当手段により前記第1の識別子が割り当てられた場合、前記管理手段により管理された前記第1の識別子に対応する前記タイマおよび前記メモリへの電力供給およびクロック供給を一括して開始する開始手段と、
前記第1の識別子に対応するTCPソケットが解放された場合に、前記管理手段により管理された前記第1の識別子に対応する前記タイマおよび前記メモリへの電力供給およびクロック供給を一括して停止する停止手段と、
を有することを特徴とする通信装置。
A plurality of timers used for TCP protocol processing and corresponding to each of a plurality of TCP sockets;
A plurality of memories used for TCP protocol processing and corresponding to each of the plurality of TCP sockets;
Management means for managing the identifier indicating each of the plurality of TCP sockets, and the timer and the memory used for TCP protocol processing in the TCP socket indicated by each identifier,
When TCP communication using a new TCP socket is started , an assigning unit that assigns a first identifier indicating the new TCP socket to the new TCP socket ;
Start means for collectively starting power supply and clock supply to the timer and the memory corresponding to the first identifier managed by the management means when the assignment means assigns the first identifier. When,
When a TCP socket corresponding to the first identifier is released, power supply and clock supply to the timer and the memory corresponding to the first identifier managed by the management unit are collectively stopped. Stop means;
A communication apparatus comprising:
前記管理手段は、1つの前記タイマまたは前記メモリについて、複数の前記識別子を対応させて管理し、
前記停止手段は、前記複数の識別子に対応するTCPソケットの全てが解放された場合に、前記管理手段により管理された前記複数の識別子に対応する前記タイマおよび前記メモリへの電力供給およびクロック供給を一括して停止することを特徴とする請求項1に記載の通信装置。
It said management means, for one of the timer or the memory, and manages in association with the identifier of the multiple,
The stopping means supplies power and clocks to the timer and the memory corresponding to the plurality of identifiers managed by the management means when all the TCP sockets corresponding to the plurality of identifiers are released. the communication apparatus according to claim 1, wherein the benzalkonium stops collectively.
前記タイマおよび前記メモリはハードウェアを含むことを特徴とする請求項1又は2に記載の通信装置。 The communication apparatus according to claim 1 or 2, wherein the timer and the memory is characterized by the early days including the hardware. TCPプロトコルの処理のために用いられ、複数のTCPソケットの各々に対応する複数のタイマと、TCPプロトコルの処理のために用いられ、前記複数のTCPソケットの各々に対応する複数のメモリと、前記複数のTCPソケットの各々を示す識別子と、当該各識別子が示すTCPソケットにおけるTCPプロトコル処理に用いる前記タイマおよび前記メモリと、を対応させて管理する管理手段と、を有する通信装置の制御方法であって、
新たなTCPソケットを利用したTCP通信が開始された場合、当該新たなTCPソケットに、前記新たなTCPソケットを示す第1の識別子を割り当てる割当工程と、
前記割当工程において前記第1の識別子が割り当てられた場合、前記管理手段により管理された前記第1の識別子に対応する前記タイマおよび前記メモリへの電力供給およびクロック供給を一括して開始する開始工程と、
前記第1の識別子に対応するTCPソケットが解放された場合に、前記管理手段により管理された前記第1の識別子に対応する前記タイマおよび前記メモリへの電力供給およびクロック供給を一括して停止する停止工程と、
を有することを特徴とする制御方法。
Used for processing the TCP protocol, a plurality of timers corresponding to each of the plurality of TCP sockets are used for processing the TCP protocol, a plurality of memories corresponding to each of the plurality of TCP sockets, the A control method for a communication apparatus, comprising: an identifier indicating each of a plurality of TCP sockets; and a management unit that manages the timer and the memory used for TCP protocol processing in the TCP socket indicated by each identifier in association with each other. And
An allocation step of assigning a first identifier indicating the new TCP socket to the new TCP socket when TCP communication using the new TCP socket is started ;
A starting step of collectively starting power supply and clock supply to the timer and the memory corresponding to the first identifier managed by the management means when the first identifier is assigned in the assigning step; When,
When a TCP socket corresponding to the first identifier is released, power supply and clock supply to the timer and the memory corresponding to the first identifier managed by the management unit are collectively stopped. A stopping process;
A control method characterized by comprising:
コンピュータを請求項1から3のいずれか1項に記載の通信装置として動作させるためのプログラム。  The program for operating a computer as a communication apparatus of any one of Claim 1 to 3.
JP2014007269A 2014-01-17 2014-01-17 Communication apparatus, control method, and program Expired - Fee Related JP6291261B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014007269A JP6291261B2 (en) 2014-01-17 2014-01-17 Communication apparatus, control method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014007269A JP6291261B2 (en) 2014-01-17 2014-01-17 Communication apparatus, control method, and program

Publications (2)

Publication Number Publication Date
JP2015136071A JP2015136071A (en) 2015-07-27
JP6291261B2 true JP6291261B2 (en) 2018-03-14

Family

ID=53767658

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014007269A Expired - Fee Related JP6291261B2 (en) 2014-01-17 2014-01-17 Communication apparatus, control method, and program

Country Status (1)

Country Link
JP (1) JP6291261B2 (en)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5156332B2 (en) * 2007-10-30 2013-03-06 アラクサラネットワークス株式会社 Packet transfer device
JP5094482B2 (en) * 2008-03-07 2012-12-12 キヤノン株式会社 Processing apparatus and processing method thereof
JP5451498B2 (en) * 2009-07-17 2014-03-26 キヤノン株式会社 Information processing apparatus, information processing apparatus control method, and program

Also Published As

Publication number Publication date
JP2015136071A (en) 2015-07-27

Similar Documents

Publication Publication Date Title
TWI781248B (en) Programmable data storage device and programmable network data storage system
US10949546B2 (en) Security devices, electronic devices and methods of operating electronic devices
US8413153B2 (en) Methods and systems for sharing common job information
JP2019525313A (en) Virtualization manager secure boot process
JP2019525306A (en) Memory allocation techniques in partially offloaded virtualization managers
US9092365B2 (en) Splitting direct memory access windows
US9736011B2 (en) Server including switch circuitry
JP2019525312A (en) Reducing performance fluctuations using an opportunistic hypervisor
US20150121060A1 (en) Methods for configurable hardware logic device reloading and devices thereof
US20220166666A1 (en) Data plane operation in a packet processing device
US11477102B2 (en) Upgrading user space networking stacks without disruptions to network traffic
CN109388953A (en) Safety equipment, electronic equipment and the method for operating electronic equipment
US9104600B2 (en) Merging direct memory access windows
JP5686204B2 (en) Server apparatus, information processing system, server apparatus address management method, and server apparatus address management program
JP5028339B2 (en) Communication apparatus and control method
US9558149B2 (en) Dual system
JP6291261B2 (en) Communication apparatus, control method, and program
JP5967967B2 (en) Information processing apparatus and control method thereof
US8533209B2 (en) Search apparatus, control method for search apparatus, and program
US8751692B2 (en) Data transfer apparatus, data transfer method, and storage medium
US9270530B1 (en) Managing imaging of multiple computing devices
US20190286348A1 (en) Storage device, control method, and control program
JP2007183708A (en) Server device, server accommodation method and server accommodation program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170106

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170929

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20171106

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171226

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180209

R151 Written notification of patent or utility model registration

Ref document number: 6291261

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees