Movatterモバイル変換


[0]ホーム

URL:


JP2012065158A - Communication device, image formation device, and program - Google Patents

Communication device, image formation device, and program
Download PDF

Info

Publication number
JP2012065158A
JP2012065158AJP2010207879AJP2010207879AJP2012065158AJP 2012065158 AJP2012065158 AJP 2012065158AJP 2010207879 AJP2010207879 AJP 2010207879AJP 2010207879 AJP2010207879 AJP 2010207879AJP 2012065158 AJP2012065158 AJP 2012065158A
Authority
JP
Japan
Prior art keywords
information
packet
confirmation response
ack
communication
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2010207879A
Other languages
Japanese (ja)
Other versions
JP5577978B2 (en
Inventor
Kazuya Yamamoto
一也 山本
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.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
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 Fuji Xerox Co LtdfiledCriticalFuji Xerox Co Ltd
Priority to JP2010207879ApriorityCriticalpatent/JP5577978B2/en
Publication of JP2012065158ApublicationCriticalpatent/JP2012065158A/en
Application grantedgrantedCritical
Publication of JP5577978B2publicationCriticalpatent/JP5577978B2/en
Expired - Fee Relatedlegal-statusCriticalCurrent
Anticipated expirationlegal-statusCritical

Links

Images

Landscapes

Abstract

PROBLEM TO BE SOLVED: To make it possible to select whether or not a confirmation response to a packet received from another device is made to be a delay confirmation response, for each connection established between its own device and the other device.SOLUTION: An ACK information management part 5 in a socket level 2 of a reception host stores ACK information for designating which of a delay ACK and an immediate ACK is to be a confirmation response to a received packet from a transmission host in relation to a socket number and TCP connection information. The reception host determines which of the delay ACK and the immediate ACK is to be selected for the packet received in the TCP connection by allowing an ACK processing selection part 6 in a TCP level 3 to refer to the related information.

Description

Translated fromJapanese

本発明は、通信装置、画像形成装置及びプログラムに関する。  The present invention relates to a communication apparatus, an image forming apparatus, and a program.

特許文献1には、受信したデータの種類が「連続」である場合には、原則として遅延確認応答を用いた処理を行い、受信したデータの種類が「非連続」である場合には、原則として遅延確認応答を用いずTCPに基づいた通常の受信処理を行うパケット通信装置が記載されている。  InPatent Document 1, when the type of received data is “continuous”, in principle, processing using a delay confirmation response is performed, and when the type of received data is “non-continuous”, in principle Describes a packet communication apparatus that performs normal reception processing based on TCP without using a delay confirmation response.

非特許文献1には、TCP/IPネットワークにおいて、LPRなどのTCP/IPポートへの印刷が遅くなることがあり、これを回避するためPUSHフラグが有効なパケットを受信すると即時ACKすることが記載されている。  Non-PatentDocument 1 describes that, in a TCP / IP network, printing to a TCP / IP port such as LPR may be delayed, and an ACK is immediately received when a packet with a valid PUSH flag is received to avoid this. Has been.

特開2004−72372号公報JP 2004-72372 A

“Windows 2000でTCP/IPポートへの印刷が遅い”、[online]、マイクロソフト・コーポレーション、平成18年8月2日、[平成22年9月9日検索]、インターネット<URL:http://support.microsoft.com/kb/816627/ja>“Printing to TCP / IP port is slow in Windows 2000”, [online], Microsoft Corporation, August 2, 2006, [Search September 9, 2010], Internet <URL: http: // support.microsoft.com/kb/816627/en>

本発明の目的は、自装置と他の装置との間で確立された接続ごとに、他の装置から受信するパケットに対する確認応答を遅延確認応答にするか否かを選択できるようにすることにある。  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 toclaim 1 specifies whether or not to perform a delay confirmation response in which a confirmation response to the packet is returned to the other device after a predetermined time has elapsed since the packet was received from the other device. Established between the own device and the other device included in the packet received from the setting device for setting the confirmation response information, which is information for the setting, the confirmation response information set by the setting device, and the other device Holding means for holding association information associated with identification information used to identify the connection made, and the holding means based on the identification information included in a packet received from another device A communication apparatus comprising: a determination unit that performs a determination process for determining whether to perform the delay confirmation response to the packet by referring to the confirmation response information. That.
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 toclaim 1, wherein the confirmation response information is set in each of the different layers and the association information is held.
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 toclaim 2.
The invention according toclaim 4 further includes grasping means for grasping a current communication amount between the own device and one or a plurality of other devices, and the setting means includes the communication amount grasped by the grasping means. The communication apparatus according toclaim 1, wherein the confirmation response information is set based on the communication information.
In the invention according toclaim 5, the grasping means grasps the number of connections currently established between the own apparatus and one or more other apparatuses as the communication amount, and the setting means The information for designating that the delay confirmation response is performed is set as the confirmation response information when the number grasped by the grasping means is equal to or greater than a predetermined threshold value.Item 5. The communication device according toItem 4.
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 ofClaim 3, compared with the case where it does not have this structure, the increase in the communication amount by transmitting a confirmation response to another apparatus can be suppressed.
According to the invention ofclaim 4, selecting whether or not to make a confirmation response to a packet received from another device be a delayed confirmation response according to the current traffic between the device and the other device. Can do.
According to the invention ofclaim 5, 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, Occurrence of processing delay for the apparatus can be suppressed.
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.

第1の実施形態に係るTELNETサーバに適用される通信プロトコルの階層構造を示した概念図である。It is the conceptual diagram which showed the hierarchical structure of the communication protocol applied to the TELNET server which concerns on 1st Embodiment.TELNETサーバのハードウェア構成例を示したブロック図である。It is the block diagram which showed the hardware structural example of the TELNET server.TELNETサーバのソケットレベルにおけるACK情報管理部の機能構成例を示したブロック図である。It is the block diagram which showed the function structural example of the ACK information management part in the socket level of a TELNET server.第1の実施形態に係るTELNETサーバのアプリケーションレベルにおける動作例を示したフローチャートである。It is the flowchart which showed the operation example in the application level of the TELNET server which concerns on 1st Embodiment.TELNETサーバのTCPレベルにおける受信処理の動作例を示したフローチャートである。It is the flowchart which showed the operation example of the reception process in the TCP level of a TELNET server.第2の実施形態に係るLPRサーバのアプリケーションレベルにおける動作例を示したフローチャートである。It is the flowchart which showed the operation example in the application level of the LPR server which concerns on 2nd Embodiment.LPRサーバのTCPレベルにおける受信処理の動作例を示したフローチャートである。It is the flowchart which showed the operation example of the reception process in the TCP level of a LPR server.

以下、添付図面を参照して、本発明の実施の形態について詳細に説明する。
通信プロトコルとして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 anapplication level 1, asocket level 2, aTCP level 3, and alower layer 4 in order from the highest level to the lower level. The upper layer receives data from the lower layer, and the upper layer passes data to the lower layer. In FIG. 1, the exchange of these data is indicated by upward and downward arrows, respectively.

これらの階層をOSI(Open System Interconnection)基本参照モデルと比較すると、アプリケーションレベル1はアプリケーション層に、ソケットレベル2はセッション層に、TCPレベル3はトランスポート層にそれぞれ対応する。下位層4は、ネットワーク層、データリンク層及び物理層をまとめたものである。第1の実施形態では、トランスポート層のプロトコルとしてTCPを用いる。  Comparing these layers with an OSI (Open System Interconnection) basic reference model,application level 1 corresponds to the application layer,socket level 2 corresponds to the session layer, andTCP level 3 corresponds to the transport layer. Thelower layer 4 is a collection of the network layer, the data link layer, and the physical layer. In the first embodiment, TCP is used as a transport layer protocol.

ソケットレベル2は、アプリケーション層とトランスポート層の間で定義されるAPI(Application Program Interface)としての機能に加えて、ACK情報管理部5を備えている。また、TCPレベル3は、通常のTCPの機能に加えて、ACK処理選択部6を備えている。このように、ACK情報管理部5とACK処理選択部6は、図1に示す通信プロトコルの階層構造において、互いに異なる階層に設けられている。尚、ACK情報管理部5とACK処理選択部6の機能の詳細については後述する。  Thesocket level 2 includes an ACKinformation management unit 5 in addition to a function as an API (Application Program Interface) defined between the application layer and the transport layer. Further, theTCP level 3 includes an ACK process selection unit 6 in addition to a normal TCP function. As described above, the ACKinformation management unit 5 and the ACK process selection unit 6 are provided in different layers in the hierarchical structure of the communication protocol shown in FIG. Details of the functions of the ACKinformation management unit 5 and the ACK process selection unit 6 will be described later.

図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 /output controller 15. And acommunication interface 16.

CPU11は、OS(Operating System)やアプリケーション等の各種ソフトウェアを実行する。
RAM12は、CPU11の作業用メモリ等として用いられるメモリである。
ROM13は、CPU11が実行する各種プログラム等を記憶するメモリである。
HDD14は、各種ソフトウェアに対する入力データや各種ソフトウェアからの出力データ等を記憶する記憶領域である。
入出力コントローラ15は、入力手段として設けられるマウス、キーボード、及び表示手段として設けられるディスプレイ等をそれぞれ接続する。
通信インタフェース16は、ネットワークを介してTELNETクライアントとの間でデータを送受信する。
TheCPU 11 executes various software such as an OS (Operating System) and applications.
TheRAM 12 is a memory used as a working memory for theCPU 11.
TheROM 13 is a memory that stores various programs executed by theCPU 11.
TheHDD 14 is a storage area for storing input data for various software, output data from various software, and the like.
The input /output controller 15 connects a mouse, a keyboard provided as input means, a display provided as display means, and the like.
Thecommunication interface 16 transmits / receives data to / from the TELNET client via the network.

図1に示す下位層4のうち、データリンク層及び物理層に相当する部分の機能は、通信インタフェース16により実現される。また、アプリケーションレベル1、ソケットレベル2及びTCPレベル3並びに下位層4のうちネットワーク層に相当する部分の各機能は、ソフトウェアにより実現される。即ち、CPU11が、ROM13等に記憶されたプログラムをRAM12に読み込んで実行することにより実現される。  In thelower layer 4 shown in FIG. 1, functions corresponding to the data link layer and the physical layer are realized by thecommunication interface 16. In addition, each function of a part corresponding to the network layer among theapplication level 1, thesocket level 2, theTCP level 3, and thelower layer 4 is realized by software. That is, it is realized by theCPU 11 reading a program stored in theROM 13 or the like into theRAM 12 and executing it.

以下では、第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 ACKinformation management unit 5 at thesocket level 2 shown in FIG. 1 will be described. The ACKinformation management unit 5 holds ACK information for specifying whether to perform delayed ACK or immediate ACK in association with the socket number and TCP connection information, and ACKs betweenapplication level 1 andTCP level 3 Deliver information. In other words, theapplication level 1 and theTCP level 3 refer to the ACK information in thesocket level 2 via the socket number and the TCP connection information, respectively.

図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 ACKinformation management unit 5 in thesocket level 2 of the TELNET server 10. As illustrated, the ACKinformation management unit 5 includes an ACKinformation setting unit 51, an ACKinformation release unit 52, an ACKinformation inquiry unit 53, an ACKinformation holding unit 54, and an ACKinformation acquisition unit 55. Of these, the ACK information holding means 54 is realized by theRAM 12, for example. The functions of the ACKinformation setting unit 51, the ACKinformation releasing unit 52, the ACKinformation inquiry unit 53, and the ACKinformation acquisition unit 55 are realized by theCPU 11 reading a program stored in theROM 13 or the like into theRAM 12 and executing it. The

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 theapplication level 1, the ACKinformation setting unit 51 sets ACK information for the socket connected to the TELNET client. The ACK information is information (an example of confirmation response information) for designating whether a confirmation response to a packet received from a TELNET client is a delayed ACK or an immediate ACK. The ACK information includes, for example, “immediate ACK valid” for designating immediate ACK and “delayed ACK valid” for designating delayed ACK. The ACKinformation setting unit 51 of the TELNET server 10 according to the first embodiment sets “delayed ACK valid” for designating delayed ACK as ACK information from the viewpoint of suppressing an increase in traffic due to ACK replies. To do. In the first embodiment, ACK information setting means 51 is provided as an example of setting means.
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 theapplication level 1, the ACKinformation releasing unit 52 sets ACK information for the socket connected to the TELNET client (in the first embodiment, “ Cancel “Delayed ACK enabled” setting).

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 theapplication level 1, and returns the number to theapplication level 1. Since the ACKinformation setting unit 51 sets ACK information for each TCP connection, the number of ACK information corresponds to the number of TCP connections currently established between the TELNET server 10 and one or more TELNET clients. To do. And it is thought that the current communication amount between the TELNET server 10 and the TELNET client increases as the number of TCP connections increases. Theapplication level 1 grasps the current communication volume between the TELNET server 10 and the TELNET client by inquiring the ACK information inquiry means 53 about the number of ACK information and obtaining the number of TCP connections. In the first embodiment, an ACKinformation inquiry unit 53 is provided as an example of a grasping unit.

ACK情報保持手段54は、ACK情報設定手段51により設定されたACK情報を、そのACK情報に対応するソケットのソケット番号及びTCP接続のTCPコネクション情報と関連付けて保持する。ここで、ソケット番号とは、TELNETクライアントと接続されたソケットについてのIPアドレスとポート番号の対応を識別子化したものである。また、TCPコネクション情報とは、TELNETクライアントとの間で確立されたTCP接続におけるIPアドレスとポート番号とを含む情報である。第1の実施形態では、識別情報の一例として、ソケット番号及びTCPコネクション情報を用いており、保持手段の一例として、ACK情報保持手段54を設けている。  The ACKinformation holding unit 54 holds the ACK information set by the ACKinformation setting unit 51 in association with the socket number of the socket corresponding to the ACK information and the TCP connection information of the TCP connection. Here, the socket number is an identifier for the correspondence between the IP address and the port number for the socket connected to the TELNET client. The TCP connection information is information including an IP address and a port number in a TCP connection established with a TELNET client. In the first embodiment, a socket number and TCP connection information are used as an example of identification information, and an ACKinformation holding unit 54 is provided as an example of a holding unit.

ACK情報取得手段55は、TCPレベル3においてTELNETサーバ10がパケットを受信したときに、そのTCP接続のTCPコネクション情報に関連付けられたACK情報をACK情報保持手段54から取得する。  When the TELNET server 10 receives a packet atTCP level 3, the ACKinformation acquisition unit 55 acquires ACK information associated with the TCP connection information of the TCP connection from the ACKinformation holding unit 54.

また、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 theTCP level 3 uses the ACK information held in the ACKinformation management unit 5 in thesocket level 2 based on the TCP connection information included in the TCP header of the received packet. By referencing, it is selected whether to perform delayed ACK or immediate ACK for a packet received in the TCP connection. In the first embodiment, an ACK process selection unit 6 is provided as an example of a determination unit.

以下では、第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 theapplication level 1 of the TELNET server 10 according to the first embodiment.

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 thesocket level 2 ACK information setting means 51 to set “delayed ACK valid” as ACK information for the socket in the connection (step 105). Wait for data arrival.
At this time, at thesocket level 2, the ACKinformation setting unit 51 takes over the ACK information set by the instruction from theapplication level 1 to the ACKinformation holding unit 54. As described above, the ACKinformation holding unit 54 holds this ACK information in association with the socket number and the TCP connection information.

そして、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 theTCP level 3 ACK process selection unit 6 is TELNET. It is transmitted from the server 10 to the TELNET client (send) (step 109). Thereafter, the processing returns to step 106, and the processing from step 106 to step 109 is repeated until the data reception of the TELNET server 10 is completed.

そして、受信データ終了になると(ステップ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, thesocket level 2 ACKinformation canceling means 52 cancels the setting of “delayed ACK valid” for the socket connected to the TELNET client (step 110). Thereafter, the TELNET server 10 waits until the next connection request from the TELNET client is received, and the processing from step 104 onward is repeated.

次に、TCPレベル3においてTELNETサーバ10が行う受信処理について説明する。
図5は、TELNETサーバ10のTCPレベル3における受信処理の動作例を示したフローチャートである。
Next, the reception process performed by the TELNET server 10 atTCP level 3 will be described.
FIG. 5 is a flowchart showing an operation example of reception processing inTCP level 3 of the TELNET server 10.

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, theTCP level 3 performs the specified PSH flag processing when the packet is received. The packet is passed tosocket level 2 which is a layer higher than TCP level 3 (step 202). At this time, the TCP connection information included in the TCP header of the received packet is passed to thesocket level 2. Then, the ACK process selection unit 6 of theTCP level 3 sends the ACK information associated with the TCP connection information in the TCP connection currently performing the reception process in theTCP level 3 from the ACKinformation holding unit 54 to the ACKinformation acquisition unit 55. (Step 203).

続いて、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 theTCP level 3 includes a setting of “PSH flag valid” (an example of additional information indicating that the packet is passed to an upper layer), When the amount of data contained in the packet is small (below a predetermined reference value), “delayed ACK valid” may be set as the ACK information.

<第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 ACKinformation management unit 5 are the same as those of the TELNET server 10 of the first embodiment shown in FIGS. It is the same as that. For this reason, also in 2nd Embodiment, the code | symbol same as 1st Embodiment is used.

ただし、第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 ACKinformation setting unit 51 of the LPR server according to the second embodiment suppresses the processing delay of the LPR reception task, unlike the first embodiment, as “delayed ACK with PSH flag”. “Valid” (described as “Delayed ACKwithPSH” in FIGS. 6 and 7) or “Delayed ACK valid” is set. “Delayed ACK enabled with PSH flag” means that immediate ACK is performed only when a packet in which the PSH flag of the TCP header is set valid is received. Also, “delayed ACK valid” means that delayed ACK is always performed.
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 theapplication level 1 of the LPR server according to the second embodiment.

まず、図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 theapplication level 1, the current communication amount between the LPR server and the LPR client is grasped.

そして、得られた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 thesocket level 2 will receive “PSH flag attached” as the ACK information for the reception task. “Delayed ACK valid” is set (step 313).
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 insocket level 2 will receive “ “Delayed ACK valid” is set (step 314). This is because when the LPR server establishes connections with a plurality of LPR clients, if an immediate ACK is made for each reception, a load is applied to the LPR server. This is because the processing delay of each LPR reception task itself is prevented.

また、このときソケットレベル2においては、第1の実施形態と同様に、ACK情報設定手段51が、アプリケーションレベル1からの指示により設定されたACK情報を、ACK情報保持手段54へ引き継ぐ。上述の通り、ACK情報保持手段54は、このACK情報を、ソケット番号及びTCPコネクション情報と関連付けて保持する。  At this time, at thesocket level 2, as in the first embodiment, the ACKinformation setting unit 51 takes over the ACK information set by the instruction from theapplication level 1 to the ACKinformation holding unit 54. As described above, the ACKinformation holding unit 54 holds this ACK information in association with the socket number and the TCP connection information.

そして、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 theTCP level 3 ACK process selection unit 6 A response is sent to the LPR client (send) (step 316). If it is not the end of the received data (No in step 317), the process returns to step 311 and the processes from step 311 to step 317 are repeated until the data reception of the LPR server is completed.

そして、受信データが終了になると(ステップ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 thesocket level 2 receives ACK information about the current LPR reception task ("delayed ACK valid with PSH flag" or "delayed ACK valid"). ) Is released (step 318), and the LPR reception task ends the process.

次に、TCPレベル3においてLPRサーバが行う受信処理について説明する。
図7は、LPRサーバのTCPレベル3における受信処理の動作例を示したフローチャートである。
Next, reception processing performed by the LPR server atTCP level 3 will be described.
FIG. 7 is a flowchart showing an operation example of reception processing inTCP level 3 of the LPR server.

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”, inTCP level 3, when a packet is received, a prescribed PSH flag process is performed, and the packet is higher thanTCP level 3 Is passed to socket level 2 (step 402). At this time, the TCP connection information included in the TCP header of the received packet is passed to thesocket level 2. Then, the ACK process selection unit 6 of theTCP level 3 sends the ACK information associated with the TCP connection information in the TCP connection currently performing the reception process in theTCP level 3 from the ACKinformation holding unit 54 to the ACKinformation acquisition unit 55. (Step 403).

続いて、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 thecommunication interface 16. It may be an image forming apparatus such as a printer provided. That is, the LPR server acquires image data via a packet received from the LPR client while returning an ACK according to the delayed ACK avoidance determination process performed by the ACK process selection unit 6, and forms an image based on the acquired image data. It may be an image forming apparatus.

また、第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 OFSYMBOLS 1 ... Application level, 2 ... Socket level, 3 ... TCP level, 4 ... Lower layer, 5 ... ACK information management part, 6 ... ACK process selection part, 10 ... TELNET server, 51 ... ACK information setting means, 52 ... ACK information Canceling means, 53... ACK information inquiry means, 54... ACK information holding means, 55.

Claims (7)

Translated fromJapanese
他の装置からパケットを受信してから予め定めた時間の経過後に当該パケットに対する確認応答を当該他の装置へ返信する遅延確認応答を行うか否かを指定するための情報である確認応答情報を設定する設定手段と、
前記設定手段が設定した前記確認応答情報と、他の装置から受信するパケットに含まれる、自装置と当該他の装置との間で確立された接続を識別するために用いられる識別情報とを関連付けた関連付け情報を保持する保持手段と、
他の装置から受信するパケットに含まれる前記識別情報に基づき、前記保持手段に保持されている前記確認応答情報を参照することにより、当該パケットに対して前記遅延確認応答を行うか否かを判定する判定処理を行う判定手段と
を備えたことを特徴とする通信装置。
Acknowledgment information that is information for designating whether or not to perform a delay acknowledgment that returns an acknowledgment for the packet to the other device after a predetermined time has elapsed after receiving the packet from the other device. Setting means for setting;
Associating the acknowledgment information set by the setting means with identification information used to identify a connection established between the own device and the other device, which is included in a packet received from another device Holding means for holding the associated information,
Based on the identification information included in a packet received from another device, it is determined whether or not to perform the delay confirmation response to the packet by referring to the confirmation response information held in the holding unit. A communication apparatus comprising: a determination unit that performs a determination process.
前記判定手段は、OSI(Open Systems Interconnection)基本参照モデルにおけるトランスポート層にて前記判定処理を行い、
前記設定手段及び前記保持手段は、前記トランスポート層とは異なる階層にて、それぞれ前記確認応答情報を設定し、前記関連付け情報を保持することを特徴とする請求項1に記載の通信装置。
The determination means performs the determination process in a transport layer in an OSI (Open Systems Interconnection) basic reference model,
The communication apparatus according to claim 1, wherein the setting unit and the holding unit set the confirmation response information in a layer different from the transport layer and hold the association information.
前記設定手段は、他の装置から予め定められた基準値以下のデータ量を含むパケットを前記トランスポート層にて受信するときであって、かつ当該パケットが当該トランスポート層よりも上位の階層に渡されることを示す付加情報を当該パケットが含むときに、前記確認応答情報として、前記遅延確認応答を行うことを指定するための情報を設定することを特徴とする請求項2に記載の通信装置。  The setting unit is configured to receive 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 placed in a layer higher than the transport layer. 3. The communication apparatus according to claim 2, wherein when the packet includes additional information indicating that it is passed, information for designating that the delay confirmation response is performed is set as the confirmation response information. . 自装置と一又は複数の他の装置との間における現在の通信量を把握する把握手段を更に備え、
前記設定手段は、前記把握手段が把握した前記通信量に基づき、前記確認応答情報を設定することを特徴とする請求項1乃至3のいずれかに記載の通信装置。
It further comprises grasping means for grasping the current communication amount between the own device and one or more other devices,
The communication device according to claim 1, wherein the setting unit sets the confirmation response information based on the communication amount grasped by the grasping unit.
前記把握手段は、前記通信量として、自装置と一又は複数の他の装置との間で現在確立されている接続の個数を把握し、
前記設定手段は、前記把握手段が把握した前記個数が予め定められたしきい値以上であるときに、前記確認応答情報として、前記遅延確認応答を行うことを指定するための情報を設定することを特徴とする請求項4に記載の通信装置。
The grasping means grasps the number of connections currently established between the own device and one or more other devices as the communication amount,
The setting means sets information for designating that the delay confirmation response is performed as the confirmation response information when the number grasped by the grasping means is equal to or greater than a predetermined threshold value. The communication device according to claim 4.
自装置と一又は複数の他の装置との間における現在の通信量を把握する把握手段と、
前記把握手段が把握した前記通信量に基づき、前記他の装置からパケットを受信してから予め定めた時間の経過後に当該パケットに対する確認応答を当該他の装置へ返信する遅延確認応答を行うか否かを指定するための情報である確認応答情報を設定する設定手段と、
前記設定手段が設定した前記確認応答情報と、前記他の装置から受信するパケットに含まれる、自装置と当該他の装置との間で確立された接続を識別するために用いられる識別情報とを関連付けて保持する保持手段と、
前記他の装置から受信するパケットに含まれる前記識別情報に基づき、前記保持手段に保持されている前記確認応答情報を参照することにより、当該パケットに対して前記遅延確認応答を行うか否かを判定する判定処理を行う判定手段と、
前記判定手段が行う前記判定処理に従い前記他の装置に確認応答を返信しながら当該他の装置から受信したパケットを介して、画像データを取得する取得手段と、
前記取得手段により取得された前記画像データに基づき、画像を形成する画像形成手段と
を備えたことを特徴とする画像形成装置。
A grasping means for grasping a current communication amount between the own device and one or more other devices;
Whether or not to perform a delay confirmation response for returning a confirmation response to the packet to the other device after elapse of a predetermined time after receiving the packet from the other device based on the communication amount grasped by the grasping means Setting means for setting confirmation response information, which is information for specifying
The acknowledgment information set by the setting means, and identification information used for identifying a connection established between the own device and the other device, included in a packet received from the other device. Holding means for holding in association;
Based on the identification information included in the packet received from the other device, by referring to the confirmation response information held in the holding unit, whether or not to perform the delay confirmation response to the packet A determination means for performing determination processing;
An acquisition means for acquiring image data via a packet received from the other apparatus while returning a confirmation response to the other apparatus according to the determination process performed by the determination means;
An image forming apparatus comprising: an image forming unit that forms an image based on the image data acquired by the acquiring unit.
コンピュータに、
第1の通信装置が第2の通信装置からパケットを受信してから予め定めた時間の経過後に当該第1の通信装置が当該パケットに対する確認応答を当該第2の通信装置へ返信する遅延確認応答を行うか否かを指定するための情報である確認応答情報を設定する機能と、
設定された前記確認応答情報と、前記第1の通信装置が前記第2の通信装置から受信するパケットに含まれる、当該第1の通信装置と当該第2の通信装置との間で確立された接続を識別するために用いられる識別情報とを関連付けて保持手段に保持させる機能と、
前記第1の通信装置が前記第2の通信装置から受信するパケットに含まれる前記識別情報に基づき、前記保持手段に保持されている前記確認応答情報を参照することにより、当該パケットに対して当該第1の通信装置が当該第2の通信装置へ前記遅延確認応答を行うか否かを判定する機能と
を実現させることを特徴とするプログラム。
On the computer,
Delay confirmation response in which the first communication device returns a confirmation response to the packet to the second communication device after a predetermined time has elapsed since the first communication device received the packet from the second communication device. A function for setting acknowledgment information, which is information for specifying whether or not to perform,
Established between the first communication device and the second communication device that is included in the set acknowledgment information and the packet that the first communication device receives from the second communication device A function of holding the holding means in association with the identification information used for identifying the connection;
Based on the identification information included in the packet received by the first communication device from the second communication device, the confirmation response information held in the holding unit is referred to, so that the packet A program for realizing a function of determining whether or not the first communication device makes the delay confirmation response to the second communication device.
JP2010207879A2010-09-162010-09-16 Communication apparatus, image forming apparatus, and programExpired - Fee RelatedJP5577978B2 (en)

Priority Applications (1)

Application NumberPriority DateFiling DateTitle
JP2010207879AJP5577978B2 (en)2010-09-162010-09-16 Communication apparatus, image forming apparatus, and program

Applications Claiming Priority (1)

Application NumberPriority DateFiling DateTitle
JP2010207879AJP5577978B2 (en)2010-09-162010-09-16 Communication apparatus, image forming apparatus, and program

Publications (2)

Publication NumberPublication Date
JP2012065158Atrue JP2012065158A (en)2012-03-29
JP5577978B2 JP5577978B2 (en)2014-08-27

Family

ID=46060416

Family Applications (1)

Application NumberTitlePriority DateFiling Date
JP2010207879AExpired - Fee RelatedJP5577978B2 (en)2010-09-162010-09-16 Communication apparatus, image forming apparatus, and program

Country Status (1)

CountryLink
JP (1)JP5577978B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
WO2017145397A1 (en)*2016-02-222017-08-31富士通株式会社Communication device, communication method, and communication system

Citations (2)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
JP2006086611A (en)*2004-09-142006-03-30Sony CorpInformation processor, information processing system, information processing method, and program thereof
JP2010226455A (en)*2009-03-242010-10-07Sony CorpNetwork communication apparatus

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
JP2006086611A (en)*2004-09-142006-03-30Sony CorpInformation processor, information processing system, information processing method, and program thereof
JP2010226455A (en)*2009-03-242010-10-07Sony CorpNetwork communication apparatus

Cited By (3)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
WO2017145397A1 (en)*2016-02-222017-08-31富士通株式会社Communication device, communication method, and communication system
WO2017145228A1 (en)*2016-02-222017-08-31富士通株式会社Communication device, communication method, and communication system
US11601842B2 (en)2016-02-222023-03-07Fujitsu LimitedCommunication device, communication method, and communication system

Also Published As

Publication numberPublication date
JP5577978B2 (en)2014-08-27

Similar Documents

PublicationPublication DateTitle
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

Legal Events

DateCodeTitleDescription
A621Written request for application examination

Free format text:JAPANESE INTERMEDIATE CODE: A621

Effective date:20130819

A977Report on retrieval

Free format text:JAPANESE INTERMEDIATE CODE: A971007

Effective date:20140404

A131Notification of reasons for refusal

Free format text:JAPANESE INTERMEDIATE CODE: A131

Effective date:20140415

A521Request for written amendment filed

Free format text:JAPANESE INTERMEDIATE CODE: A523

Effective date:20140523

TRDDDecision of grant or rejection written
A01Written decision to grant a patent or to grant a registration (utility model)

Free format text:JAPANESE INTERMEDIATE CODE: A01

Effective date:20140610

A61First payment of annual fees (during grant procedure)

Free format text:JAPANESE INTERMEDIATE CODE: A61

Effective date:20140623

R150Certificate of patent or registration of utility model

Ref document number:5577978

Country of ref document:JP

Free format text:JAPANESE INTERMEDIATE CODE: R150

S533Written request for registration of change of name

Free format text:JAPANESE INTERMEDIATE CODE: R313533

R350Written notification of registration of transfer

Free format text:JAPANESE INTERMEDIATE CODE: R350

LAPSCancellation because of no payment of annual fees

[8]ページ先頭

©2009-2025 Movatter.jp