






本発明は、通信装置、画像形成装置及びプログラムに関する。 The present invention relates to a communication apparatus, an image forming apparatus, and a program.
  特許文献1には、受信したデータの種類が「連続」である場合には、原則として遅延確認応答を用いた処理を行い、受信したデータの種類が「非連続」である場合には、原則として遅延確認応答を用いずTCPに基づいた通常の受信処理を行うパケット通信装置が記載されている。  In
  非特許文献1には、TCP/IPネットワークにおいて、LPRなどのTCP/IPポートへの印刷が遅くなることがあり、これを回避するためPUSHフラグが有効なパケットを受信すると即時ACKすることが記載されている。  Non-Patent
本発明の目的は、自装置と他の装置との間で確立された接続ごとに、他の装置から受信するパケットに対する確認応答を遅延確認応答にするか否かを選択できるようにすることにある。 An object of the present invention is to enable selection of whether or not an acknowledgment for a packet received from another device is a delayed acknowledgment for each connection established between the own device and the other device. is there.
  請求項1に記載の発明は、他の装置からパケットを受信してから予め定めた時間の経過後に当該パケットに対する確認応答を当該他の装置へ返信する遅延確認応答を行うか否かを指定するための情報である確認応答情報を設定する設定手段と、前記設定手段が設定した前記確認応答情報と、他の装置から受信するパケットに含まれる、自装置と当該他の装置との間で確立された接続を識別するために用いられる識別情報とを関連付けた関連付け情報を保持する保持手段と、他の装置から受信するパケットに含まれる前記識別情報に基づき、前記保持手段に保持されている前記確認応答情報を参照することにより、当該パケットに対して前記遅延確認応答を行うか否かを判定する判定処理を行う判定手段とを備えたことを特徴とする通信装置である。
  請求項2に記載の発明は、前記判定手段は、OSI(Open Systems Interconnection)基本参照モデルにおけるトランスポート層にて前記判定処理を行い、前記設定手段及び前記保持手段は、前記トランスポート層とは異なる階層にて、それぞれ前記確認応答情報を設定し、前記関連付け情報を保持することを特徴とする請求項1に記載の通信装置である。
  請求項3に記載の発明は、前記設定手段は、他の装置から予め定められた基準値以下のデータ量を含むパケットを前記トランスポート層にて受信するときであって、かつ当該パケットが当該トランスポート層よりも上位の階層に渡されることを示す付加情報を当該パケットが含むときに、前記確認応答情報として、前記遅延確認応答を行うことを指定するための情報を設定することを特徴とする請求項2に記載の通信装置である。
  請求項4に記載の発明は、自装置と一又は複数の他の装置との間における現在の通信量を把握する把握手段を更に備え、前記設定手段は、前記把握手段が把握した前記通信量に基づき、前記確認応答情報を設定することを特徴とする請求項1乃至3のいずれかに記載の通信装置である。
  請求項5に記載の発明は、前記把握手段は、前記通信量として、自装置と一又は複数の他の装置との間で現在確立されている接続の個数を把握し、前記設定手段は、前記把握手段が把握した前記個数が予め定められたしきい値以上であるときに、前記確認応答情報として、前記遅延確認応答を行うことを指定するための情報を設定することを特徴とする請求項4に記載の通信装置である。
  請求項6に記載の発明は、自装置と一又は複数の他の装置との間における現在の通信量を把握する把握手段と、前記把握手段が把握した前記通信量に基づき、前記他の装置からパケットを受信してから予め定めた時間の経過後に当該パケットに対する確認応答を当該他の装置へ返信する遅延確認応答を行うか否かを指定するための情報である確認応答情報を設定する設定手段と、前記設定手段が設定した前記確認応答情報と、前記他の装置から受信するパケットに含まれる、自装置と当該他の装置との間で確立された接続を識別するために用いられる識別情報とを関連付けて保持する保持手段と、前記他の装置から受信するパケットに含まれる前記識別情報に基づき、前記保持手段に保持されている前記確認応答情報を参照することにより、当該パケットに対して前記遅延確認応答を行うか否かを判定する判定処理を行う判定手段と、前記判定手段が行う前記判定処理に従い前記他の装置に確認応答を返信しながら当該他の装置から受信したパケットを介して、画像データを取得する取得手段と、前記取得手段により取得された前記画像データに基づき、画像を形成する画像形成手段とを備えたことを特徴とする画像形成装置である。
  請求項7に記載の発明は、コンピュータに、第1の通信装置が第2の通信装置からパケットを受信してから予め定めた時間の経過後に当該第1の通信装置が当該パケットに対する確認応答を当該第2の通信装置へ返信する遅延確認応答を行うか否かを指定するための情報である確認応答情報を設定する機能と、設定された前記確認応答情報と、前記第1の通信装置が前記第2の通信装置から受信するパケットに含まれる、当該第1の通信装置と当該第2の通信装置との間で確立された接続を識別するために用いられる識別情報とを関連付けて保持手段に保持させる機能と、前記第1の通信装置が前記第2の通信装置から受信するパケットに含まれる前記識別情報に基づき、前記保持手段に保持されている前記確認応答情報を参照することにより、当該パケットに対して当該第1の通信装置が当該第2の通信装置へ前記遅延確認応答を行うか否かを判定する機能とを実現させることを特徴とするプログラムである。The invention according to
 According to a second aspect of the present invention, the determination unit performs the determination process in a transport layer in an OSI (Open Systems Interconnection) basic reference model, and the setting unit and the holding unit are different from the transport layer. The communication apparatus according to
 According to a third aspect of the present invention, the setting unit receives a packet including a data amount equal to or less than a predetermined reference value from another device at the transport layer, and the packet is When the packet includes additional information indicating that the packet is passed to a higher layer than the transport layer, information for designating that the delay confirmation response is performed is set as the confirmation response information. The communication device according to
 The invention according to
 In the invention according to
 The invention according to claim 6 is a grasping means for grasping a current communication amount between the own device and one or a plurality of other devices, and the other device based on the communication amount grasped by the grasping means. Setting to set confirmation response information, which is information for designating whether or not to perform a delay confirmation response for returning a confirmation response for the packet to the other device after a predetermined time has elapsed since the packet was received from And identification information used for identifying a connection established between the own device and the other device included in the packet received from the other device and the acknowledgment information set by the setting device By referring to the confirmation response information held in the holding unit based on the identification information included in the packet received from the other device, the holding unit that holds the information in association with each other, A determination unit that performs a determination process for determining whether or not to perform the delay confirmation response to the packet; and from the other device while returning a confirmation response to the other device according to the determination process performed by the determination unit. An image forming apparatus comprising: an acquisition unit that acquires image data via a received packet; and an image formation unit that forms an image based on the image data acquired by the acquisition unit. .
 According to the seventh aspect of the present invention, the first communication device sends a confirmation response to the packet after a predetermined time has elapsed since the first communication device received the packet from the second communication device. A function for setting confirmation response information, which is information for designating whether to perform a delay confirmation response to be sent back to the second communication device, the set confirmation response information, and the first communication device Retaining means associated with identification information used for identifying a connection established between the first communication device and the second communication device, included in the packet received from the second communication device By referring to the confirmation response information held in the holding means based on the identification information included in the packet received by the first communication device from the second communication device. A program characterized by the relative said packet a first communication apparatus to realize a function to determine whether or not to perform the delayed acknowledgment to said second communication device.
  請求項1の発明によれば、自装置と他の装置との間で確立された接続ごとに、他の装置から受信するパケットに対する確認応答を遅延確認応答にするか否かを選択することができる。
  請求項2の発明によれば、本構成を有していない場合に比較して、トランスポート層における処理に負荷をかけずに、他の装置から受信するパケットに対する確認応答を遅延確認応答にするか否かを選択することができる。
  請求項3の発明によれば、本構成を有していない場合に比較して、他の装置へ確認応答を送信することによる通信量の増大を抑えることができる。
  請求項4の発明によれば、自装置と他の装置との間における現在の通信量に応じて、他の装置から受信するパケットに対する確認応答を遅延確認応答にするか否かを選択することができる。
  請求項5の発明によれば、一又は複数の他の装置と通信することにより自装置に負荷がかかってきたときであっても、本構成を有していない場合に比較して、他の装置に対する処理の遅延の発生を抑えることができる。
  請求項6の発明によれば、一又は複数の他の装置と通信することにより自装置に負荷がかかってきたときであっても、本構成を有していない場合に比較して、他の装置から受信した画像データについての画像形成処理の遅延の発生を抑えることができる。
  請求項7の発明によれば、第1の通信装置と第2の通信装置との間で確立された接続ごとに、第1の通信装置が第2の通信装置から受信するパケットに対する確認応答を遅延確認応答にするか否かを選択することができる。According to the first aspect of the present invention, for each connection established between the own device and another device, it is possible to select whether or not to make the confirmation response to the packet received from the other device a delayed confirmation response. it can.
 According to the second aspect of the present invention, as compared with the case where this configuration is not provided, the confirmation response to the packet received from another device is made a delayed confirmation response without imposing a load on the processing in the transport layer. Whether or not can be selected.
 According to invention of
 According to the invention of
 According to the invention of
 According to the invention of claim 6, even when a load is applied to the own device by communicating with one or a plurality of other devices, as compared with the case where this configuration is not provided, It is possible to suppress the occurrence of a delay in image formation processing for image data received from the apparatus.
 According to the seventh aspect of the present invention, for each connection established between the first communication device and the second communication device, the first communication device sends an acknowledgment to the packet received from the second communication device. It is possible to select whether or not to make a delay confirmation response.
  以下、添付図面を参照して、本発明の実施の形態について詳細に説明する。
  通信プロトコルとしてTCP/IP(Transmission Control Protocol/Internet Protocol)を採用する通信においては、受信ホストが、送信ホストからパケットを受信するたびに、送信ホストへ確認応答(ACK:Acknowledgement)を返信し、通信の信頼性を確保している。しかしながら、パケットが短時間に多数送信されると、それに伴い確認応答も多数返信されるため、トラフィックが増大してしまう。Embodiments of the present invention will be described below in detail with reference to the accompanying drawings.
 In communication employing TCP / IP (Transmission Control Protocol / Internet Protocol) as a communication protocol, every time the receiving host receives a packet from the sending host, it returns an acknowledgment (ACK: Acknowledgement) to the sending host, and the communication To ensure the reliability. However, when a large number of packets are transmitted in a short time, a large number of confirmation responses are returned accordingly, and traffic increases.
このため、パケットを受信してから予め定めた時間経過後に、受信ホストがそれまでに受信したパケットに対する確認応答を送信ホストへ返信するという遅延確認応答(以下、「遅延ACK」という)が用いられている。これに対し、受信したパケットに対する確認応答を直ちに送信ホストへ返信することを即時確認応答という(以下、「即時ACK」という)。 For this reason, a delayed acknowledgment (hereinafter referred to as “delayed ACK”) is used in which the receiving host returns an acknowledgment for the packet received so far to the sending host after a predetermined time has elapsed since the packet was received. ing. On the other hand, immediately returning an acknowledgment for the received packet to the sending host is called an immediate acknowledgment (hereinafter referred to as “immediate ACK”).
受信ホストが送信ホストからパケットを短時間に多数受信する場合は、遅延ACKを用いることによりトラフィックが低減される。しかしながら、遅延ACKのための待機時間内に受信ホストが後続するパケットを受信しない場合は、遅延ACKを用いることにより却って通信速度が低下してしまう。 When the receiving host receives a large number of packets from the transmitting host in a short time, the traffic is reduced by using a delayed ACK. However, when the receiving host does not receive the subsequent packet within the waiting time for the delayed ACK, the communication speed is lowered by using the delayed ACK.
そこで、ネットワークから受信したパケットのアドレスからアプリケーションを特定し、その結果に基づいて遅延ACKと即時ACKの何れを行うかを決定することが考えられる。例えば、ポート番号が21であれば、アプリケーションはFTPでありデータが連続するため、遅延ACKを有効とし、ポート番号が23であれば、アプリケーションはTELNETであり送信ホストと受信ホストが交互に通信しデータが非連続するため、即時ACKを有効とすることなどが考えられる。 Therefore, it is conceivable to identify an application from the address of a packet received from the network and determine whether to perform delayed ACK or immediate ACK based on the result. For example, if the port number is 21 and the application is FTP and data is continuous, delayed ACK is valid. If the port number is 23, the application is TELNET and the sending host and receiving host communicate alternately. Since data is discontinuous, it may be possible to enable immediate ACK.
また、TCPヘッダのコードビットに含まれるPSHフラグが有効であれば、そのパケットはデータの区切れを示すと考えられる。そこでこのときは、受信ホストは後続データがないと判断し、通信速度の低下を防ぐために即時ACKを行うことも考えられる。 Further, if the PSH flag included in the code bit of the TCP header is valid, the packet is considered to indicate a data delimiter. Therefore, at this time, the receiving host may determine that there is no subsequent data and perform immediate ACK to prevent a decrease in communication speed.
しかしながら、例えば受信ホストがTELNETサーバの場合は、TELNETクライアントからPSHフラグが有効でありかつ少量サイズのデータのパケットを受信するため、上記の方法をとると即時ACKを行うことになる。PSHフラグの本来の意味は、これが有効なパケットを受信したらそのパケットを上位の階層に渡すということであり、必ずしも、通信相手に対して即時に応答するということではない。このため、PSHフラグが有効か否かということに基づき即時ACKを選択すると、ACKの返信によりトラフィックの増大を招くことになる。 However, when the receiving host is a TELNET server, for example, the PSH flag is valid and a small amount of data packet is received from the TELNET client. Therefore, if the above method is used, an immediate ACK is performed. The original meaning of the PSH flag is that when a valid packet is received, the packet is passed to an upper layer, and does not necessarily respond immediately to the communication partner. For this reason, if an immediate ACK is selected based on whether or not the PSH flag is valid, an increase in traffic will be caused by returning an ACK.
また、例えば受信ホストがLPRサーバの場合は、複数のLPRソケットでパケットを受信するため、上記の方法のように遅延ACKと即時ACKの選択をアプリケーションで固定すると、全ての受信において即時ACKしたときに、LPRサーバに負荷がかかり、処理遅延が発生し得る。 In addition, for example, when the receiving host is an LPR server, packets are received by a plurality of LPR sockets. Therefore, when the selection of delayed ACK and immediate ACK is fixed by the application as in the above method, when all ACKs are immediately ACKed In addition, a load is applied to the LPR server, and processing delay may occur.
そこで、以下に説明する第1及び第2の実施形態では、受信ホストが、送信ホストから受信するパケットに対する確認応答を遅延ACKと即時ACKの何れにするかを指定するためのACK情報を、ソケット番号及びTCPコネクション情報と関連付けて保持する。そして、受信ホストは、この関連付けられた情報を参照することにより、TCPコネクションにおいて受信されたパケットに対して遅延ACKと即時ACKの何れを行うかを判定する。 Therefore, in the first and second embodiments described below, the receiving host uses ACK information for designating whether the acknowledgment response to the packet received from the transmitting host is delayed ACK or immediate ACK. It is stored in association with the number and TCP connection information. Then, the receiving host determines whether to perform delayed ACK or immediate ACK for the packet received in the TCP connection by referring to the associated information.
  <第1の実施形態>
  第1の実施形態では、通信装置の一例としての受信ホストがTELNETサーバ10である場合の例を説明する。
  図1は、第1の実施形態に係るTELNETサーバ10に適用される通信プロトコルの階層構造を示した概念図である。図示するように、TELNETサーバ10に適用される通信プロトコルの階層には、最上位から下位に向かって順に、アプリケーションレベル1、ソケットレベル2、TCPレベル3、下位層4がある。上位の階層は下位の階層からデータを受け取り、上位の階層は下位の階層にデータを渡す。図1ではこれらのデータのやり取りを、それぞれ上向き及び下向きの矢印で示している。<First Embodiment>
 In the first embodiment, an example in which a receiving host as an example of a communication apparatus is a TELNET server 10 will be described.
 FIG. 1 is a conceptual diagram showing a hierarchical structure of a communication protocol applied to the TELNET server 10 according to the first embodiment. As shown in the figure, the hierarchy of communication protocols applied to the TELNET server 10 includes an
  これらの階層をOSI(Open System Interconnection)基本参照モデルと比較すると、アプリケーションレベル1はアプリケーション層に、ソケットレベル2はセッション層に、TCPレベル3はトランスポート層にそれぞれ対応する。下位層4は、ネットワーク層、データリンク層及び物理層をまとめたものである。第1の実施形態では、トランスポート層のプロトコルとしてTCPを用いる。  Comparing these layers with an OSI (Open System Interconnection) basic reference model,
  ソケットレベル2は、アプリケーション層とトランスポート層の間で定義されるAPI(Application Program Interface)としての機能に加えて、ACK情報管理部5を備えている。また、TCPレベル3は、通常のTCPの機能に加えて、ACK処理選択部6を備えている。このように、ACK情報管理部5とACK処理選択部6は、図1に示す通信プロトコルの階層構造において、互いに異なる階層に設けられている。尚、ACK情報管理部5とACK処理選択部6の機能の詳細については後述する。  The
  図2は、TELNETサーバ10のハードウェア構成例を示したブロック図である。図示するように、TELNETサーバ10は、CPU(Central Processing Unit)11と、RAM(Random Access Memory)12と、ROM(Read Only Memory)13と、HDD(Hard Disk Drive)14と、入出力コントローラ15と、通信インタフェース16とを備える。  FIG. 2 is a block diagram illustrating a hardware configuration example of the TELNET server 10. As shown, the TELNET server 10 includes a CPU (Central Processing Unit) 11, a RAM (Random Access Memory) 12, a ROM (Read Only Memory) 13, an HDD (Hard Disk Drive) 14, and an input /
  CPU11は、OS(Operating System)やアプリケーション等の各種ソフトウェアを実行する。
  RAM12は、CPU11の作業用メモリ等として用いられるメモリである。
  ROM13は、CPU11が実行する各種プログラム等を記憶するメモリである。
  HDD14は、各種ソフトウェアに対する入力データや各種ソフトウェアからの出力データ等を記憶する記憶領域である。
  入出力コントローラ15は、入力手段として設けられるマウス、キーボード、及び表示手段として設けられるディスプレイ等をそれぞれ接続する。
  通信インタフェース16は、ネットワークを介してTELNETクライアントとの間でデータを送受信する。The
 The
 The
 The
 The input /
 The
  図1に示す下位層4のうち、データリンク層及び物理層に相当する部分の機能は、通信インタフェース16により実現される。また、アプリケーションレベル1、ソケットレベル2及びTCPレベル3並びに下位層4のうちネットワーク層に相当する部分の各機能は、ソフトウェアにより実現される。即ち、CPU11が、ROM13等に記憶されたプログラムをRAM12に読み込んで実行することにより実現される。  In the
  以下では、第1の実施形態に係るTELNETサーバ10の機能構成について詳細に説明する。
  まず、図1に示すソケットレベル2におけるACK情報管理部5について説明する。ACK情報管理部5は、遅延ACKと即時ACKの何れを行うかを指定するためのACK情報を、ソケット番号及びTCPコネクション情報と関連付けて保持し、アプリケーションレベル1及びTCPレベル3との間でACK情報の受け渡しを行う。言い換えると、アプリケーションレベル1とTCPレベル3は、それぞれソケット番号とTCPコネクション情報を介して、ソケットレベル2におけるACK情報を参照する。Hereinafter, the functional configuration of the TELNET server 10 according to the first embodiment will be described in detail.
 First, the ACK
  図3は、TELNETサーバ10のソケットレベル2におけるACK情報管理部5の機能構成例を示したブロック図である。図示するように、ACK情報管理部5は、ACK情報設定手段51と、ACK情報解除手段52と、ACK情報問合せ手段53と、ACK情報保持手段54と、ACK情報取得手段55とを備える。これらのうち、ACK情報保持手段54は、例えばRAM12により実現される。また、ACK情報設定手段51、ACK情報解除手段52、ACK情報問合せ手段53及びACK情報取得手段55の各機能は、CPU11がROM13等に記憶されたプログラムをRAM12に読み込んで実行することにより実現される。  FIG. 3 is a block diagram illustrating a functional configuration example of the ACK
  ACK情報設定手段51は、アプリケーションレベル1において、TELNETサーバ10がTELNETクライアントからTCP接続の接続要求を受け付けたときに、TELNETクライアントと接続されたソケットについて、ACK情報を設定する。ACK情報とは、TELNETクライアントから受信するパケットに対する確認応答を遅延ACKと即時ACKの何れにするかを指定するための情報(確認応答情報の一例)である。ACK情報には、例えば即時ACKを指定するための「即時ACK有効」、遅延ACKを指定するための「遅延ACK有効」などがある。第1の実施形態に係るTELNETサーバ10のACK情報設定手段51は、ACKの返信によるトラフィックの増大を抑制するという観点から、ACK情報として、遅延ACKを指定するための「遅延ACK有効」を設定する。第1の実施形態では、設定手段の一例として、ACK情報設定手段51を設けている。
  尚、ソケットとは、TCP/IPで通信を行うコンピュータが持つIPアドレスと、ポート番号とを組み合わせたネットワークアドレスである。When the TELNET server 10 receives a TCP connection request from the TELNET client at the
 Note that a socket is a network address that combines an IP address and a port number of a computer that communicates with TCP / IP.
  ACK情報解除手段52は、アプリケーションレベル1において、TELNETサーバ10とTELNETクライアントとのTCP接続が切断されるときに、TELNETクライアントと接続されたソケットについてのACK情報の設定(第1の実施形態では「遅延ACK有効」の設定)を解除する。  When the TCP connection between the TELNET server 10 and the TELNET client is disconnected at the
  ACK情報問合せ手段53は、ACK情報設定手段51により設定されているACK情報の個数についての問い合わせをアプリケーションレベル1から受け付け、その個数をアプリケーションレベル1に返信する。ACK情報設定手段51がTCP接続ごとにACK情報を設定することから、このACK情報の個数は、TELNETサーバ10と一又は複数のTELNETクライアントとの間で現在確立されているTCP接続の個数に相当する。そして、TCP接続の個数が多いほど、TELNETサーバ10とTELNETクライアントとの間における現在の通信量も多くなると考えられる。アプリケーションレベル1は、ACK情報問合せ手段53にACK情報の個数を問い合わせてTCP接続の個数を得ることにより、TELNETサーバ10とTELNETクライアントとの間における現在の通信量を把握する。第1の実施形態では、把握手段の一例として、ACK情報問合せ手段53を設けている。  The ACK information inquiry means 53 receives an inquiry about the number of ACK information set by the ACK information setting means 51 from the
  ACK情報保持手段54は、ACK情報設定手段51により設定されたACK情報を、そのACK情報に対応するソケットのソケット番号及びTCP接続のTCPコネクション情報と関連付けて保持する。ここで、ソケット番号とは、TELNETクライアントと接続されたソケットについてのIPアドレスとポート番号の対応を識別子化したものである。また、TCPコネクション情報とは、TELNETクライアントとの間で確立されたTCP接続におけるIPアドレスとポート番号とを含む情報である。第1の実施形態では、識別情報の一例として、ソケット番号及びTCPコネクション情報を用いており、保持手段の一例として、ACK情報保持手段54を設けている。  The ACK
  ACK情報取得手段55は、TCPレベル3においてTELNETサーバ10がパケットを受信したときに、そのTCP接続のTCPコネクション情報に関連付けられたACK情報をACK情報保持手段54から取得する。  When the TELNET server 10 receives a packet at
  また、TCPレベル3におけるACK処理選択部6(図1参照)は、受信したパケットのTCPヘッダに含まれるTCPコネクション情報に基づき、ソケットレベル2のACK情報管理部5に保持されているACK情報を参照することにより、TCPコネクションにおいて受信されたパケットに対して遅延ACKと即時ACKの何れを行うかを選択する。第1の実施形態では、判定手段の一例として、ACK処理選択部6を設けている。  The ACK process selection unit 6 (see FIG. 1) in the
  以下では、第1実施形態に係るTELNETサーバ10の動作について、詳細に説明する。
  図4は、第1の実施形態に係るTELNETサーバ10のアプリケーションレベル1における動作例を示したフローチャートである。Hereinafter, the operation of the TELNET server 10 according to the first embodiment will be described in detail.
 FIG. 4 is a flowchart showing an operation example at the
TELNETサーバ10はソケット生成からアクセプトまで一連のソケット処理を行いTELNETクライアントからの接続を待つ。即ち、TELNETサーバ10は、まず接続要求を受け付けるためのソケットを確保し(socket)(ステップ101)、監視するポート番号を指定する(bind)(ステップ102)。そして、ソケットを接続要求の監視モードにし(listen)(ステップ103)、TELNETクライアントからの接続要求を受理する(accept)(ステップ104)。 The TELNET server 10 performs a series of socket processing from socket generation to acceptance and waits for a connection from a TELNET client. That is, the TELNET server 10 first secures a socket for accepting a connection request (socket) (step 101), and specifies a port number to be monitored (bind) (step 102). Then, the socket is set to the connection request monitoring mode (listen) (step 103), and the connection request from the TELNET client is accepted (accept) (step 104).
  TELNETサーバ10は、TELNETクライアントから接続要求を受け付けると、その接続におけるソケットについて、ソケットレベル2のACK情報設定手段51にACK情報として「遅延ACK有効」を設定させ(ステップ105)、TELNETクライアントからのデータ到着を待つ。
  このとき、ソケットレベル2においては、ACK情報設定手段51が、アプリケーションレベル1からの指示により設定されたACK情報を、ACK情報保持手段54へ引き継ぐ。上述の通り、ACK情報保持手段54は、このACK情報を、ソケット番号及びTCPコネクション情報と関連付けて保持する。When receiving the connection request from the TELNET client, the TELNET server 10 causes the
 At this time, at the
  そして、TELNETクライアントからデータを受信すると(recv)(ステップ106)、TELNETサーバ10は、受信したデータを解析する(ステップ107)。解析の結果、受信データの終了でない場合は(ステップ108でNo)、TCPレベル3のACK処理選択部6による、後述する遅延ACK回避判断処理の結果に応じてACKが付与された応答が、TELNETサーバ10からTELNETクライアントへ送信される(send)(ステップ109)。その後、処理はステップ106へ戻り、TELNETサーバ10のデータ受信が終了するまで、ステップ106からステップ109までの処理が繰り返される。  When data is received from the TELNET client (recv) (step 106), the TELNET server 10 analyzes the received data (step 107). If the received data is not terminated as a result of the analysis (No in step 108), a response to which ACK is given according to the result of the delayed ACK avoidance determination process (to be described later) by the
  そして、受信データ終了になると(ステップ108でYes)、TELNETクライアントとのTCP接続が切断される。このとき、ソケットレベル2のACK情報解除手段52に、TELNETクライアントと接続されたソケットについての「遅延ACK有効」の設定を解除させる(ステップ110)。その後、TELNETサーバ10は、TELNETクライアントからの次の接続要求を受理するまで待機し、ステップ104以下の処理が繰り返される。  When the received data is terminated (Yes at step 108), the TCP connection with the TELNET client is disconnected. At this time, the
  次に、TCPレベル3においてTELNETサーバ10が行う受信処理について説明する。
  図5は、TELNETサーバ10のTCPレベル3における受信処理の動作例を示したフローチャートである。Next, the reception process performed by the TELNET server 10 at
 FIG. 5 is a flowchart showing an operation example of reception processing in
  TELNETサーバ10は、まずTELNETクライアントからパケットを受信する(ステップ201)。通常、TELNETクライアントは、全てのパケットについて、TCPヘッダのコードビットに含まれるPSHフラグを有効に設定して送信するため、TCPレベル3では、パケットを受信すると規定のPSHフラグ処理が行われ、そのパケットがTCPレベル3よりも上位の階層であるソケットレベル2に渡される(ステップ202)。このとき、受信されたパケットのTCPヘッダに含まれるTCPコネクション情報がソケットレベル2に渡される。そして、TCPレベル3のACK処理選択部6は、現在TCPレベル3において受信処理を行っているTCP接続におけるTCPコネクション情報に関連付けられたACK情報を、ACK情報保持手段54からACK情報取得手段55を介して取得する(ステップ203)。  The TELNET server 10 first receives a packet from the TELNET client (step 201). Normally, since the TELNET client transmits the PSH flag included in the code bits of the TCP header validly for all packets, the
  続いて、ACK処理選択部6は、ステップ203で取得したACK情報に基づき、分岐処理を行う(ステップ204)。即ち、ACK情報が「即時ACK有効」であれば即時ACK処理を選択し(ステップ205)、ACK情報が「遅延ACK有効」であれば遅延ACK処理を選択して(ステップ206)、受信パケットを上位層へ引き継ぐ(ステップ207)。このステップ204における分岐処理が、確認応答を即時確認応答と遅延確認応答の何れにするかを判定する判定処理の一例としての、遅延ACK回避判断処理である。
  その後、処理はステップ201に戻り、TELNETサーバ10は次のパケット到来を待つ。
  以上により、TELNETサーバ10の動作についての説明を終了する。Subsequently, the ACK process selection unit 6 performs a branch process based on the ACK information acquired in Step 203 (Step 204). That is, if the ACK information is “immediate ACK valid”, the immediate ACK process is selected (step 205). If the ACK information is “delayed ACK valid”, the delayed ACK process is selected (step 206), and the received packet is Take over to the upper layer (step 207). The branch process in step 204 is a delayed ACK avoidance determination process as an example of a determination process for determining whether the confirmation response is an immediate confirmation response or a delayed confirmation response.
 Thereafter, the process returns to step 201, and the TELNET server 10 waits for the arrival of the next packet.
 This is the end of the description of the operation of the TELNET server 10.
  第1の実施形態では、ACK情報として「遅延ACK有効」が設定されているため、ステップ206において遅延ACK処理が選択される。したがって、TELNETクライアントによりパケットのTCPヘッダに「PSHフラグ有効」が設定されていても、即時ACKされることなく遅延ACK処理が行われ、即時ACKに起因するトラフィックの増大が抑制される。
  第1の実施形態に係るTELNETサーバ10のように、TCPレベル3において受信するパケットが、「PSHフラグ有効」の設定(そのパケットを上位の階層に渡すことを示す付加情報の一例)を含み、かつそのパケットに含まれるデータ量が少ない(予め定められた基準値以下である)ときは、ACK情報として「遅延ACK有効」を設定すればよい。In the first embodiment, since “delayed ACK valid” is set as the ACK information, the delayed ACK process is selected in step 206. Therefore, even if “PSH flag valid” is set in the TCP header of the packet by the TELNET client, the delayed ACK process is performed without being immediately ACKed, and an increase in traffic due to the immediate ACK is suppressed.
 Like the TELNET server 10 according to the first embodiment, a packet received at the
  <第2の実施形態>
  第2の実施形態では、通信装置の一例としての受信ホストがLPRサーバである場合の例を説明する。LPR(Line PRinter daemon protocol)は、TCP/IPネットワークを経由して印刷を行うためのプロトコルである。第2の実施形態に係るLPRサーバは、ネットワークを介してそのLPRサーバに接続されたプリンタ等に印刷を行わせる。
  第2の実施形態においても、通信プロトコルの階層構造、LPRサーバのハードウェア構成及びACK情報管理部5の機能構成例は、図1から図3に示した第1の実施形態のTELNETサーバ10のものと同様である。このため、第2の実施形態においても、第1の実施形態と同一の符号を用いる。<Second Embodiment>
 In the second embodiment, an example in which a receiving host as an example of a communication apparatus is an LPR server will be described. LPR (Line PRinter daemon protocol) is a protocol for printing via a TCP / IP network. The LPR server according to the second embodiment causes a printer or the like connected to the LPR server via the network to perform printing.
 Also in the second embodiment, the hierarchical structure of the communication protocol, the hardware configuration of the LPR server, and the functional configuration example of the ACK
  ただし、第2の実施形態に係るLPRサーバのACK情報設定手段51は、LPR受信タスクの処理遅延を抑制するという観点から、第1の実施形態とは異なり、ACK情報として「PSHフラグ付き遅延ACK有効」(図6及び図7では、「遅延ACKwithPSH」と記載する)又は「遅延ACK有効」を設定する。「PSHフラグ付き遅延ACK有効」は、TCPヘッダのPSHフラグが有効に設定されているパケットを受信した場合のみ、即時ACKを行うことを意味する。また、「遅延ACK有効」は、常に遅延ACKを行うことを意味する。
  これ以外の構成要素については、第1の実施形態と同様であるため、その詳細な説明は省略する。However, unlike the first embodiment, the ACK
 Since the other components are the same as those in the first embodiment, detailed description thereof is omitted.
  以下では、第2実施形態に係るLPRサーバの動作について、詳細に説明する。
  図6は、第2の実施形態に係るLPRサーバのアプリケーションレベル1における動作例を示したフローチャートである。Hereinafter, the operation of the LPR server according to the second embodiment will be described in detail.
 FIG. 6 is a flowchart illustrating an operation example in the
まず、図6(A)は、LPRメインタスクのフローチャートである。LPRサーバはソケット生成からアクセプトまで一連のソケット処理を行いLPRクライアントからの接続を待つ。即ち、LPRサーバは、まず接続要求を受け付けるためのソケットを確保し(socket)(ステップ301)、監視するポート番号を指定する(bind)(ステップ302)。そして、ソケットを接続要求の監視モードにし(listen)(ステップ303)、LPRクライアントからの接続要求を受理する(accept)(ステップ304)。 First, FIG. 6A is a flowchart of the LPR main task. The LPR server performs a series of socket processing from socket generation to acceptance and waits for a connection from the LPR client. That is, the LPR server first secures a socket for accepting a connection request (socket) (step 301), and specifies a port number to be monitored (bind) (step 302). Then, the socket is set to the connection request monitoring mode (listen) (step 303), and the connection request from the LPR client is accepted (step 304).
LPRサーバは、LPRクライアントから接続要求を受け付けるとLPR受信タスクを起動する(ステップ305)。その後、処理はステップ304に戻って、LPRメインタスクは複数受信に備えるため、次の接続を待つ。 When the LPR server receives a connection request from the LPR client, the LPR server starts an LPR reception task (step 305). Thereafter, the process returns to step 304, and the LPR main task waits for the next connection in order to prepare for a plurality of receptions.
  図6(B)は、LPR受信タスクのフローチャートである。LPRサーバが複数の接続要求を受け付けると、それぞれの接続要求について、図6(B)の処理が並列して実行される。
  LPR受信タスクは、まず、ソケットレベル2におけるACK情報問合せ手段53を介して、現在設定されているACK情報の個数(即ち、現在確立されているTCP接続の個数)を問い合わせる(ステップ311)。これにより、アプリケーションレベル1では、LPRサーバとLPRクライアントの間における現在の通信量を把握する。FIG. 6B is a flowchart of the LPR reception task. When the LPR server receives a plurality of connection requests, the processing of FIG. 6B is executed in parallel for each connection request.
 The LPR reception task first inquires the number of currently set ACK information (that is, the number of currently established TCP connections) via the ACK information inquiry means 53 at socket level 2 (step 311). Thereby, at the
  そして、得られたACK情報の個数が予め定めたしきい値以下であれば(ステップ312でYes)、その受信タスクについて、ソケットレベル2におけるACK情報設定手段51に、ACK情報として「PSHフラグ付き遅延ACK有効」を設定させる(ステップ313)。
  一方、ステップ311で得られたACK情報の個数が予め定めたしきい値よりも大きければ(ステップ312でNo)、その受信タスクについて、ソケットレベル2におけるACK情報設定手段51に、ACK情報として「遅延ACK有効」を設定させる(ステップ314)。これは、LPRサーバが複数のLPRクライアントとの間で接続を確立しているときに、個々の受信について即時ACKをしているとLPRサーバに負荷がかかるため、遅延ACKを行うことにより処理量を減らして、個々のLPR受信タスク自体の処理遅延を防ぐためである。If the number of ACK information obtained is equal to or less than a predetermined threshold value (Yes in step 312), the ACK information setting means 51 at the
 On the other hand, if the number of ACK information obtained in step 311 is larger than a predetermined threshold value (No in step 312), the ACK information setting means 51 in
  また、このときソケットレベル2においては、第1の実施形態と同様に、ACK情報設定手段51が、アプリケーションレベル1からの指示により設定されたACK情報を、ACK情報保持手段54へ引き継ぐ。上述の通り、ACK情報保持手段54は、このACK情報を、ソケット番号及びTCPコネクション情報と関連付けて保持する。  At this time, at the
  そして、LPR受信タスクでは、LPRサーバがLPRクライアントからデータを受信し(recv)(ステップ315)、TCPレベル3のACK処理選択部6による遅延ACK回避判断処理の結果に応じてACKが付与された応答を、LPRクライアントへ送信する(send)(ステップ316)。受信データの終了でない場合は(ステップ317でNo)、処理はステップ311へ戻り、LPRサーバのデータ受信が終了するまで、ステップ311からステップ317までの処理が繰り返される。  In the LPR reception task, the LPR server receives data from the LPR client (recv) (step 315), and an ACK is given according to the result of the delayed ACK avoidance determination process by the
  そして、受信データが終了になると(ステップ317でYes)、ソケットレベル2のACK情報解除手段52に、現在のLPR受信タスクについてのACK情報(「PSHフラグ付き遅延ACK有効」又は「遅延ACK有効」)の設定を解除させ(ステップ318)、LPR受信タスクは処理を終了する。  When the received data is completed (Yes in step 317), the ACK information release means 52 at the
  次に、TCPレベル3においてLPRサーバが行う受信処理について説明する。
  図7は、LPRサーバのTCPレベル3における受信処理の動作例を示したフローチャートである。Next, reception processing performed by the LPR server at
 FIG. 7 is a flowchart showing an operation example of reception processing in
  LPRサーバは、まずLPRクライアントからパケットを受信する(ステップ401)。受信したパケットのTCPヘッダが「PSHフラグ有効」に設定されている場合には、TCPレベル3では、パケットを受信すると規定のPSHフラグ処理が行われ、そのパケットがTCPレベル3よりも上位の階層であるソケットレベル2に渡される(ステップ402)。このとき、受信されたパケットのTCPヘッダに含まれるTCPコネクション情報がソケットレベル2に渡される。そして、TCPレベル3のACK処理選択部6は、現在TCPレベル3において受信処理を行っているTCP接続におけるTCPコネクション情報に関連付けられたACK情報を、ACK情報保持手段54からACK情報取得手段55を介して取得する(ステップ403)。  The LPR server first receives a packet from the LPR client (step 401). When the TCP header of the received packet is set to “valid PSH flag”, in
続いて、ACK処理選択部6は、ステップ403で取得したACK情報に基づき、分岐処理を行う(ステップ404)。即ち、ACK情報が「即時ACK有効」であれば即時ACK処理を選択し(ステップ405)、ACK情報が「遅延ACK有効」であれば遅延ACK処理を選択する(ステップ406)。 Subsequently, the ACK process selection unit 6 performs a branch process based on the ACK information acquired in Step 403 (Step 404). That is, if the ACK information is “immediate ACK valid”, the immediate ACK process is selected (step 405), and if the ACK information is “delayed ACK valid”, the delayed ACK process is selected (step 406).
  また、ACK情報が「PSHフラグ付き遅延ACK有効」であれば、ACK処理選択部6は更に、ステップ401において受信したパケットのTCPヘッダが「PSHフラグ有効」に設定されているか否かを判定する(ステップ407)。「PSHフラグ有効」が設定されていれば、ステップ405において即時ACK処理が選択され、「PSHフラグ有効」が設定されていなければ、ステップ408において遅延ACK処理が選択される。
  このステップ404とステップ407における分岐処理が、確認応答を即時確認応答と遅延確認応答の何れにするかを判定する判定処理の一例としての、遅延ACK回避判断処理である。If the ACK information is “delayed ACK with PSH flag valid”, the ACK process selection unit 6 further determines whether or not the TCP header of the packet received at step 401 is set to “PSH flag valid”. (Step 407). If “PSH flag valid” is set, immediate ACK processing is selected in step 405, and if “PSH flag valid” is not set, delayed ACK processing is selected in step 408.
 The branch processing in step 404 and step 407 is delayed ACK avoidance determination processing as an example of determination processing for determining whether the confirmation response is an immediate confirmation response or a delayed confirmation response.
  その後、受信パケットは上位層へ引き継がれ(ステップ409)、処理はステップ401に戻って、LPRサーバは次のパケット到来を待つ。
  以上により、LPRサーバの動作についての説明を終了する。Thereafter, the received packet is taken over to the upper layer (step 409), the process returns to step 401, and the LPR server waits for the arrival of the next packet.
 This is the end of the description of the operation of the LPR server.
第2の実施形態では、ACK情報保持手段54に保持されているACK情報の個数が予め定めたしきい値以下であるとき、即ち、LPRサーバが接続を確立しているLPRクライアントの個数(LPRサーバとLPRクライアントとの間における通信量)が少ないときには、ACK情報として「PSHフラグ付き遅延ACK有効」が設定されるため、TCPヘッダに「PSHフラグ有効」が設定されていなければ、ステップ408において遅延ACK処理が選択される。また、ACK情報の個数が予め定めたしきい値よりも大きいとき、即ち、LPRサーバが接続を確立しているLPRクライアントの個数(LPRサーバとLPRクライアントとの間における通信量)が多いときにも、ACK情報として「遅延ACK有効」が設定されるため、ステップ406において遅延ACK処理が選択される。したがって、複数のLPR受信タスクを実行することにより負荷がかかってきたときであっても、LPRサーバは、個々の受信について即時ACKせず遅延ACKを行うことにより処理量を減らして、個々のLPR受信タスク自体の処理が遅延することを抑制する。 In the second embodiment, when the number of ACK information held in the ACK information holding means 54 is equal to or less than a predetermined threshold, that is, the number of LPR clients (LPR) with which the LPR server has established a connection. When the communication amount between the server and the LPR client is small, “delayed ACK enabled with PSH flag” is set as ACK information. If “PSH flag enabled” is not set in the TCP header, in step 408 Delayed ACK processing is selected. Further, when the number of ACK information is larger than a predetermined threshold value, that is, when the number of LPR clients with which the LPR server has established a connection (the amount of communication between the LPR server and the LPR client) is large. Since “delayed ACK valid” is set as the ACK information, the delayed ACK process is selected in step 406. Therefore, even when there is a load caused by executing a plurality of LPR reception tasks, the LPR server reduces the processing amount by performing delayed ACK instead of immediate ACK for each reception, so that each LPR Suppresses delays in the processing of the reception task itself.
  尚、LPRサーバは、図2に示したような汎用のコンピュータの構成により実現されるものに限らず、それ自体が、通信インタフェース16により受信された画像データに基づき画像を形成する画像形成部を備えたプリンタ等の画像形成装置であってもよい。即ち、LPRサーバは、ACK処理選択部6が行う遅延ACK回避判断処理に従いACKを返信しながらLPRクライアントから受信したパケットを介して画像データを取得し、取得された画像データに基づき画像を形成する画像形成装置であってもよい。  Note that the LPR server is not limited to that realized by the configuration of the general-purpose computer as shown in FIG. 2, and the LPR server itself has an image forming unit that forms an image based on the image data received by the
また、第1の実施形態に係るTELNETサーバ10においても、第2の実施形態に係るLPRサーバと同様に、ACK情報問合せ手段53が現在設定されているACK情報の個数(即ち、現在確立されているTCP接続の個数)を問い合わせ、これにより把握されるTELNETサーバ10とTELNETクライアントの間における現在の通信量に基づいて、ACK情報設定手段51がACK情報を設定するようにしてもよい。 Also, in the TELNET server 10 according to the first embodiment, as with the LPR server according to the second embodiment, the number of ACK information currently set (that is, currently established ACK information inquiry means 53). The ACK information setting means 51 may set the ACK information based on the current amount of communication between the TELNET server 10 and the TELNET client that is grasped by this.
また、第1及び第2の実施形態にて説明した、遅延ACK回避判断処理の機能は、TELNETサーバ10やLPRサーバとは独立した汎用のコンピュータで実現してもよい。そのようなコンピュータのハードウェアは、図2に示したTELNETサーバ10と同様の構成を備えていればよい。 The function of the delayed ACK avoidance determination process described in the first and second embodiments may be realized by a general-purpose computer independent of the TELNET server 10 and the LPR server. Such computer hardware only needs to have the same configuration as the TELNET server 10 shown in FIG.
尚、本実施の形態を実現するプログラムは、通信手段により提供することはもちろん、CD−ROM等の記録媒体に格納して提供するようにしてもよい。 It should be noted that the program for realizing the present embodiment may be provided by being stored in a recording medium such as a CD-ROM, as well as provided by communication means.
1…アプリケーションレベル、2…ソケットレベル、3…TCPレベル、4…下位層、5…ACK情報管理部、6…ACK処理選択部、10…TELNETサーバ、51…ACK情報設定手段、52…ACK情報解除手段、53…ACK情報問合せ手段、54…ACK情報保持手段、55…ACK情報取得手段DESCRIPTION OF
| Application Number | Priority Date | Filing Date | Title | 
|---|---|---|---|
| JP2010207879AJP5577978B2 (en) | 2010-09-16 | 2010-09-16 | Communication apparatus, image forming apparatus, and program | 
| Application Number | Priority Date | Filing Date | Title | 
|---|---|---|---|
| JP2010207879AJP5577978B2 (en) | 2010-09-16 | 2010-09-16 | Communication apparatus, image forming apparatus, and program | 
| Publication Number | Publication Date | 
|---|---|
| JP2012065158Atrue JP2012065158A (en) | 2012-03-29 | 
| JP5577978B2 JP5577978B2 (en) | 2014-08-27 | 
| Application Number | Title | Priority Date | Filing Date | 
|---|---|---|---|
| JP2010207879AExpired - Fee RelatedJP5577978B2 (en) | 2010-09-16 | 2010-09-16 | Communication apparatus, image forming apparatus, and program | 
| Country | Link | 
|---|---|
| JP (1) | JP5577978B2 (en) | 
| Publication number | Priority date | Publication date | Assignee | Title | 
|---|---|---|---|---|
| WO2017145397A1 (en)* | 2016-02-22 | 2017-08-31 | 富士通株式会社 | Communication device, communication method, and communication system | 
| Publication number | Priority date | Publication date | Assignee | Title | 
|---|---|---|---|---|
| JP2006086611A (en)* | 2004-09-14 | 2006-03-30 | Sony Corp | Information processor, information processing system, information processing method, and program thereof | 
| JP2010226455A (en)* | 2009-03-24 | 2010-10-07 | Sony Corp | Network communication apparatus | 
| Publication number | Priority date | Publication date | Assignee | Title | 
|---|---|---|---|---|
| JP2006086611A (en)* | 2004-09-14 | 2006-03-30 | Sony Corp | Information processor, information processing system, information processing method, and program thereof | 
| JP2010226455A (en)* | 2009-03-24 | 2010-10-07 | Sony Corp | Network communication apparatus | 
| Publication number | Priority date | Publication date | Assignee | Title | 
|---|---|---|---|---|
| WO2017145397A1 (en)* | 2016-02-22 | 2017-08-31 | 富士通株式会社 | Communication device, communication method, and communication system | 
| WO2017145228A1 (en)* | 2016-02-22 | 2017-08-31 | 富士通株式会社 | Communication device, communication method, and communication system | 
| US11601842B2 (en) | 2016-02-22 | 2023-03-07 | Fujitsu Limited | Communication device, communication method, and communication system | 
| Publication number | Publication date | 
|---|---|
| JP5577978B2 (en) | 2014-08-27 | 
| Publication | Publication Date | Title | 
|---|---|---|
| US9749407B2 (en) | Methods and devices for processing incomplete data packets | |
| US7990866B2 (en) | Server device, method for controlling a server device, and method for establishing a connection using the server device | |
| US8583831B2 (en) | Thin client discovery | |
| US10257024B2 (en) | Data transmission method, apparatus, and terminal | |
| US10313247B2 (en) | System, method, and device for network load balance processing | |
| JP2008181427A (en) | Single sign-on system, information terminal device, single sign-on server, program | |
| US20110280247A1 (en) | System and method for reducing latency via multiple network connections | |
| US20140082180A1 (en) | Information processor apparatus, information processing method, and recording medium | |
| CN108881425B (en) | Data packet processing method and system | |
| US20210112029A1 (en) | Intelligently routing a response packet along a same connection as a request packet | |
| US20160337467A1 (en) | Method and system for information exchange utilizing an asynchronous persistent store protocol | |
| JP5304674B2 (en) | Data conversion apparatus, data conversion method and program | |
| WO2009011968A1 (en) | Endpoint discriminator in network transport protocol startup packets | |
| US7818460B2 (en) | Hardware device and method for transmitting network protocol packet | |
| US9832119B2 (en) | Communication block apparatus and communication block method | |
| JP5577978B2 (en) | Communication apparatus, image forming apparatus, and program | |
| US20110235641A1 (en) | Communication apparatus, method of controlling the communication apparatus,and program | |
| JP4415391B2 (en) | Method and apparatus for transmitting data to a network and method and apparatus for receiving data from a network | |
| CN111240867B (en) | Information communication system and method | |
| JP4388562B2 (en) | Data communication system and method, recording medium | |
| JP4572306B2 (en) | COMMUNICATION DEVICE, COMMUNICATION METHOD, AND PROGRAM | |
| CN114095576B (en) | Call request sending method and device | |
| CN103812722B (en) | Detection method for network system and network system | |
| JP5859833B2 (en) | Information processing apparatus, information processing system, server apparatus, and program | |
| JP5686184B2 (en) | Network system, processing terminal, waiting time setting program, and waiting time setting method | 
| Date | Code | Title | Description | 
|---|---|---|---|
| A621 | Written request for application examination | Free format text:JAPANESE INTERMEDIATE CODE: A621 Effective date:20130819 | |
| A977 | Report on retrieval | Free format text:JAPANESE INTERMEDIATE CODE: A971007 Effective date:20140404 | |
| A131 | Notification of reasons for refusal | Free format text:JAPANESE INTERMEDIATE CODE: A131 Effective date:20140415 | |
| A521 | Request for written amendment filed | Free format text:JAPANESE INTERMEDIATE CODE: A523 Effective date:20140523 | |
| 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:20140610 | |
| A61 | First payment of annual fees (during grant procedure) | Free format text:JAPANESE INTERMEDIATE CODE: A61 Effective date:20140623 | |
| R150 | Certificate of patent or registration of utility model | Ref document number:5577978 Country of ref document:JP Free format text:JAPANESE INTERMEDIATE CODE: R150 | |
| S533 | Written request for registration of change of name | Free format text:JAPANESE INTERMEDIATE CODE: R313533 | |
| R350 | Written notification of registration of transfer | Free format text:JAPANESE INTERMEDIATE CODE: R350 | |
| LAPS | Cancellation because of no payment of annual fees |