JP4983674B2 - Communication system, processing request device, processing response device, and program thereof - Google Patents
Communication system, processing request device, processing response device, and program thereof Download PDFInfo
- Publication number
- JP4983674B2 JP4983674B2 JP2008075390A JP2008075390A JP4983674B2 JP 4983674 B2 JP4983674 B2 JP 4983674B2 JP 2008075390 A JP2008075390 A JP 2008075390A JP 2008075390 A JP2008075390 A JP 2008075390A JP 4983674 B2 JP4983674 B2 JP 4983674B2
- Authority
- JP
- Japan
- Prior art keywords
- response
- processing
- processing request
- data
- udp
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 230000004044 response Effects 0.000 title claims description 162
- 238000004891 communication Methods 0.000 title claims description 69
- 238000000034 method Methods 0.000 claims description 66
- 230000008569 process Effects 0.000 claims description 62
- 238000004590 computer program Methods 0.000 claims description 3
- 238000005316 response function Methods 0.000 claims 1
- 239000003795 chemical substances by application Substances 0.000 description 144
- 230000005540 biological transmission Effects 0.000 description 17
- 230000007246 mechanism Effects 0.000 description 14
- 230000004048 modification Effects 0.000 description 9
- 238000012986 modification Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 3
- 238000007639 printing Methods 0.000 description 3
- 230000011218 segmentation Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000007641 inkjet printing Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Description
本発明は、UDPを用いて、処理要求装置がマルチキャストまたはブロードキャストで送信した所定の処理要求に対して、処理応答装置が応答する通信プロトコルにより通信する通信技術に関する。 The present invention relates to a communication technique that uses UDP to communicate by a communication protocol in which a processing response device responds to a predetermined processing request transmitted by a processing request device by multicast or broadcast.
従来、UDP(User Datagram Protocol)を用いて、処理要求装置がマルチキャストまたはブロードキャストで送信した処理要求に対して、処理応答装置が応答する通信プロトコルとして、例えば、SLP(Service Location Protocol)が知られている。 Conventionally, for example, SLP (Service Location Protocol) is known as a communication protocol that a processing response device responds to a processing request transmitted by multicast or broadcast by a processing request device using UDP (User Datagram Protocol). Yes.
SLPは、ネットワーク上のサービスを検索可能なプロトコルであり、処理要求装置(ユーザエージェント)が、ネットワーク上の処理応答装置(サービスエージェント)に属性情報の取得を要求すると、処理応答装置は、自らの属性情報を処理要求装置に応答する。この際、UDPデータグラムからUDPヘッダを除いたメッセージ長の上限は、イーサネット(登録商標)のMTU(Maximum Transmission Unit)から、1400オクテット程度となる。したがって、応答メッセージ長が1400オクテットを超える場合には、処理応答装置は、SLPの規格で定められたOVERFLOWビットをONにして、1400オクテットに収まる一部のメッセージを応答する。OVERFLOWビットがONの応答メッセージを受け取ると、処理要求装置は、再度、UDPに代えてTCP(Transmission Control Protocol)を用いて、属性情報の取得要求を行い、複数回のやり取りを経て、応答メッセージの全体を取得する。 SLP is a protocol that can search for services on the network. When a processing requesting device (user agent) requests acquisition of attribute information from a processing response device (service agent) on the network, the processing response device The attribute information is returned to the process requesting device. At this time, the upper limit of the message length excluding the UDP header from the UDP datagram is about 1400 octets from the MTU (Maximum Transmission Unit) of Ethernet (registered trademark). Therefore, when the response message length exceeds 1400 octets, the processing response device turns ON the OVERFLOW bit defined in the SLP standard and responds a part of the message that fits in 1400 octets. When receiving a response message whose OVERFLOW bit is ON, the process requesting device uses TCP (Transmission Control Protocol) instead of UDP again to request acquisition of attribute information, and after a plurality of exchanges, Get the whole thing.
しかしながら、上述の方法は、TCPを用いるために、処理要求装置へのIPアドレスの付与が前提であり、IPアドレスが付与される前の段階では、使用することができなかった。かかる問題は、SLPの通信に限らず、UDPを用いて、処理要求装置がマルチキャストまたはブロードキャストで送信した所定の処理要求に対して、処理応答装置が応答する通信プロトコルを用いた通信に共通する問題であった。 However, since the above method uses TCP, it is assumed that an IP address is assigned to the processing requesting device, and cannot be used at a stage before the IP address is assigned. This problem is not limited to SLP communication, but is a problem common to communication using a communication protocol in which a processing response device responds to a predetermined processing request transmitted by multicast or broadcast by a processing request device using UDP. Met.
上述の問題を踏まえ、本発明が解決しようとする課題は、UDPを用いて、処理要求装置がマルチキャストまたはブロードキャストで送信した所定の処理要求に対して、処理応答装置が応答する通信プロトコルによる通信において、UDPで送信可能なデータ長の上限を超えるデータをやり取りすることである。 Based on the above-described problems, the problem to be solved by the present invention is in communication using a communication protocol in which a processing response device responds to a predetermined processing request transmitted by multicast or broadcast using UDP. , Exchanging data exceeding the upper limit of the data length that can be transmitted by UDP.
本発明は、上述の課題の少なくとも一部を解決するためになされたものであり、以下の形態又は適用例として実現することが可能である。 SUMMARY An advantage of some aspects of the invention is to solve at least a part of the problems described above, and the invention can be implemented as the following forms or application examples.
[適用例1]UDPを用いて、処理要求装置がマルチキャストまたはブロードキャストで送信した所定の処理要求に対して、処理応答装置が応答する通信プロトコルにより、前記処理要求装置と前記処理応答装置とがネットワークを介して通信する通信システムであって、
前記処理要求装置は、
前記処理要求に対して応答すべき応答データが、前記UDPにより送信可能な所定容量を超える場合には、該応答データを分割して送信させる分割指示を前記処理要求に含める分割指示手段と、
前記分割指示を含む前記処理要求を送信する処理要求手段と
を備え、
前記処理応答装置は、
前記分割指示を含む処理要求を受信し、前記応答データが前記所定容量を超える場合に、該応答データを前記UDPにより送信可能な容量に分割する分割手段と、
該分割した各々の分割データに、前記応答データにおける該分割データの並び順を示す順序情報を付加する付加手段と、
前記順序情報を付加した前記分割データを、前記応答として、前記処理要求装置に送信する処理応答手段と
を備えた
通信システム。
Application Example 1 Using UDP, the process request apparatus and the process response apparatus are connected to each other by a communication protocol in which the process response apparatus responds to a predetermined process request transmitted by the process request apparatus by multicast or broadcast. A communication system for communicating via
The processing requesting device is:
When response data to be responded to the processing request exceeds a predetermined capacity that can be transmitted by the UDP, a division instruction means for including a division instruction for dividing and transmitting the response data in the processing request;
Processing request means for transmitting the processing request including the division instruction,
The process response device is:
A division unit that receives a processing request including the division instruction and divides the response data into a capacity that can be transmitted by the UDP when the response data exceeds the predetermined capacity;
Adding means for adding order information indicating the arrangement order of the divided data in the response data to each of the divided data;
And a processing response means for transmitting the divided data to which the order information is added as the response to the processing requesting device.
かかる構成の通信システムにおいて、処理要求装置は、応答データがUDPにより送信可能な所定容量を超える場合には、応答データを分割して送信させる分割指示を含めて、処理要求をマルチキャストまたはブロードキャストで送信する。一方、処理応答装置は、応答データが所定容量を超える場合には、応答データを分割した分割データに、順序情報を付加して応答する。したがって、UDPを用いて、処理要求装置がマルチキャストまたはブロードキャストで送信した所定の処理要求に対して、処理応答装置が応答する通信プロトコルによる通信において、UDPで送信可能なデータ長の上限を超えるデータをやり取りすることができる。また、UDPで送信可能なデータ長の上限を超えるデータであっても、TCPを用いた通信と比べてトラフィック量が小さいUDPを用いて、やり取りを行えるので、ネットワーク負荷を軽減することができる。 In the communication system having such a configuration, when the response data exceeds a predetermined capacity that can be transmitted by UDP, the processing request device transmits the processing request by multicast or broadcast including a division instruction for dividing and transmitting the response data. To do. On the other hand, when the response data exceeds a predetermined capacity, the process response device adds a sequence information to the divided data obtained by dividing the response data and responds. Therefore, in communication using a communication protocol in which a processing response device responds to a predetermined processing request transmitted by multicast or broadcast using UDP, data exceeding the upper limit of the data length that can be transmitted by UDP is received. Can communicate. In addition, even if the data exceeds the upper limit of the data length that can be transmitted by UDP, the network load can be reduced because exchange can be performed using UDP, which has a smaller traffic volume compared to communication using TCP.
[適用例2]通信プロトコルは、SLPである適用例1記載の通信システム。
かかる構成の通信システムにおいて、通信プロトコルをSLPとしても、適用例1の効果を得ることができる。
Application Example 2 The communication system according to Application Example 1, wherein the communication protocol is SLP.
In the communication system having such a configuration, the effect of Application Example 1 can be obtained even when the communication protocol is SLP.
[適用例3]適用例2記載の通信システムであって、付加手段は、各々の分割データに、更に、分割データが応答データを構成する最後の分割データであるか否かを示すフラグを付加し、処理要求装置は、更に、フラグを参照して、分割データを全て受け取ったことを判断する第1の判断手段を備える通信システム。 Application Example 3 In the communication system according to Application Example 2, the adding unit further adds a flag indicating whether or not the divided data is the last divided data constituting the response data to each divided data. The processing requesting apparatus further includes a first determination unit that determines that all the divided data has been received with reference to the flag.
かかる構成の通信システムにおいて、処理応答装置は、分割データが応答データを構成する最後の分割データであるか否かを示すフラグを付加して、応答を行う。一方、処理要求装置は、当該フラグを参照して、分割データを全て受け取ったことを判断する。したがって、処理要求装置は、分割データを全て受け取ったことを容易に知ることができ、適切なタイミングで、処理応答装置とのやり取りを終了させることができる。 In the communication system having such a configuration, the process response device adds a flag indicating whether or not the divided data is the last divided data constituting the response data, and makes a response. On the other hand, the processing requesting device refers to the flag and determines that all the divided data has been received. Therefore, the processing requesting device can easily know that all the divided data has been received, and can terminate the exchange with the processing response device at an appropriate timing.
[適用例4]適用例2または適用例3記載の通信システムであって、付加手段は、各々の分割データに、更に、応答データのサイズを示すサイズ情報を付加し、処理要求装置は、更に、サイズ情報を参照して、分割データを全て受け取ったことを判断する第2の判断手段を備える通信システム。 Application Example 4 In the communication system according to Application Example 2 or Application Example 3, the adding unit further adds size information indicating the size of the response data to each divided data, and the processing requesting device further includes: A communication system comprising second determination means for determining that all the divided data has been received with reference to the size information.
かかる構成の通信システムにおいて、処理応答装置は、応答データのサイズを示すサイズ情報を付加して、応答を行う。一方、処理要求装置は、当該サイズ情報を参照して、分割データを全て受け取ったことを判断する。したがって、処理要求装置は、分割データを全て受け取ったことを容易に知ることができ、適切なタイミングで、処理応答装置とのやり取りを終了させることができる。 In the communication system having such a configuration, the process response device adds a size information indicating the size of the response data and responds. On the other hand, the processing requesting device refers to the size information and determines that all the divided data has been received. Therefore, the processing requesting device can easily know that all the divided data has been received, and can terminate the exchange with the processing response device at an appropriate timing.
[適用例5]付加手段は、各々の分割データに、更に、処理応答装置の識別情報を付加する適用例2ないし適用例4のいずれか記載の通信システム。 Application Example 5 The communication system according to any one of Application Example 2 to Application Example 4, wherein the adding means further adds identification information of the processing response device to each divided data.
かかる構成の通信システムにおいて、処理応答装置は、応答処理装置の識別情報を付加して、応答を行う。したがって、応答要求装置は、複数の応答処理装置から応答を受信した場合であっても、いずれの応答処理装置からの応答であるかを正確に判定することができる。 In the communication system having such a configuration, the process response device adds a response processing device identification information and responds. Therefore, even when the response requesting device receives responses from a plurality of response processing devices, it can accurately determine which response processing device is the response.
[適用例6]適用例1ないし適用例5のいずれか記載の通信システムであって、処理要求装置は、更に、処理要求に、所定のプロトコルの実行コマンドを含めるコマンド付加手段を備え、処理応答装置は、更に、処理要求に実行コマンドが含まれる場合に、実行コマンドを解釈して実行するコマンド実行手段を備え、処理応答装置は、実行コマンドの実行結果を応答データとして扱う通信システム。 [Application Example 6] The communication system according to any one of Application Example 1 to Application Example 5, wherein the processing requesting device further includes command adding means for including an execution command of a predetermined protocol in the processing request. The apparatus further includes command execution means for interpreting and executing the execution command when the execution request is included in the processing request, and the processing response apparatus handles the execution result of the execution command as response data.
かかる構成の通信システムにおいて、処理要求装置は、所定のプロトコルの実行コマンドを含めて、処理要求を送信する。一方、処理応答装置は、処理要求に実行コマンドが含まれる場合に、実行コマンドを解釈して実行し、その実行結果を応答データとして応答する。したがって、応答データ長が長くなることがあるが、そのような場合であっても、適用例1ないし適用例5のいずれかの構成により、応答データをやり取りすることができる。 In the communication system having such a configuration, the processing request device transmits a processing request including an execution command of a predetermined protocol. On the other hand, when an execution command is included in the processing request, the processing response device interprets and executes the execution command, and returns the execution result as response data. Therefore, although the response data length may become long, even in such a case, the response data can be exchanged by the configuration of any one of the application examples 1 to 5.
[適用例7]適用例6記載の通信システムであって、処理応答装置は、実行コマンドの実行結果が所定の条件を満たしている場合に、実行コマンドの実行結果を応答データとして扱う通信システム。 Application Example 7 The communication system according to Application Example 6, wherein the processing response device handles the execution result of the execution command as response data when the execution result of the execution command satisfies a predetermined condition.
かかる構成の通信システムにおいて、処理応答装置は、実行コマンドの実行結果が所定の条件を満たしている場合に、その結果を応答する。したがって、処理要求装置は、特定の処理応答装置からのみ応答を受け取るので、効率的に処理応答装置の応答を取得することができる。また、ネットワークの負荷を軽減できる。 In the communication system having such a configuration, the process response device responds with a result of the execution command when the execution result of the execution command satisfies a predetermined condition. Therefore, the process requesting apparatus receives a response only from a specific process responding apparatus, so that the response of the process responding apparatus can be efficiently obtained. In addition, the load on the network can be reduced.
また、本発明は、通信システムとしての構成のほか、処理応答装置、処理要求装置、コンピュータプログラム、通信方法としても実現することができる。 In addition to the configuration as a communication system, the present invention can also be realized as a processing response device, a processing request device, a computer program, and a communication method.
本発明の実施例について説明する。
A.実施例:
A−1.通信システムの概略構成:
本発明の実施例としての通信システム20の概略構成を図1に示す。通信システム20は、ユーザエージェントUAと、サービスエージェントSA1,SA2とがローカルエリアネットワークLANを介して接続されている。ユーザエージェントUAは、所定のプログラムがインストールされた汎用のパーソナルコンピュータであり、サービスエージェントSA1は、いわゆる複合機のプリンタ、SA2は、いわゆる単独機のプリンタである。なお、通信システム20を構成するユーザエージェントまたはユーザエージェントの数は、本例に限定されるものではなく、任意の数を設定可能である。
Examples of the present invention will be described.
A. Example:
A-1. General configuration of communication system:
A schematic configuration of a
A−2.ユーザエージェントの概略構成:
通信システム20を構成するユーザエージェントUAの概略構成を図2に示す。ユーザエージェントUAは、上述の通り、所定のプログラムがインストールされた汎用のパーソナルコンピュータであり、CPU30、ハードディスクドライブ41、ROM42、RAM43、入力機構45、ディスプレイ46、インタフェース49を備えている。
A-2. Schematic configuration of user agent:
FIG. 2 shows a schematic configuration of the user agent UA that constitutes the
CPU30は、ハードディスクドライブ41やROM42に記憶されたファームウェアやOSをRAM43に展開して実行することで、ユーザエージェントUAの制御を司る。また、CPU30は、ハードディスクドライブ41に記憶されたプログラムを実行することで、分割指示部31、処理要求部32、判断部33、コマンド付加部34として機能する。この機能部の詳細については、後述する。なお、コマンド付加部34は、後述する変形例としての構成である。
The
入力機構45は、キーボードとポインティングデバイス(ここではマウス)からなる。ディスプレイ46は、液晶式のディスプレイである。インタフェース49は、ユーザエージェントUAをローカルエリアネットワークLANに接続するためのインタフェースである。
The
A−3.サービスエージェントの概略構成:
通信システム20を構成するサービスエージェントSA1の概略構成を図3に示す。サービスエージェントSA1は、上述の通り、複合機のプリンタであり、CPU50、EEPROM61、ROM62、RAM63、入力機構65、印刷機構66、スキャナ67、FAX送信機構68、インタフェース69を備えている。なお、サービスエージェントSA2は、スキャナ67、FAX送信機構68を有していない点を除き、サービスエージェントSA1と同様の構成であるため、その説明は省略する。
A-3. General configuration of service agent:
A schematic configuration of the service agent SA1 constituting the
CPU50は、EEPROM61やROM62に記憶されたファームウェアやOSをRAM63に展開して実行することで、サービスエージェントSA1全体の制御を司る。また、CPU50は、EEPROM61に記憶されたプログラムを実行することで、分割部51、付加部52、処理応答部53、コマンド実行部54として機能する。この機能部の詳細については、後述する。なお、コマンド実行部54は、後述する変形例としての構成である。
The
入力機構65は、キーボードとUIを表示するディスプレイとからなる。印刷機構66は、本実施例においては、インクジェット式の印刷機構である。インタフェース69は、サービスエージェントSA1をローカルエリアネットワークLANに接続するためのインタフェースである。
The
A−4.UDP分割送受信処理:
通信システム20におけるUDP分割送受信処理について図4及び図5を用いて説明する。本実施例におけるUDP分割送受信処理とは、ユーザエージェントUAとサービスエージェントSA1との間で、UDPを用いて、SLPの通信を行う際に、データを分割して送受信することで、UDPにより送信可能な容量を超えるデータのやり取りを可能にする処理である。UDP分割送受信処理は、図4に示すユーザエージェントUAにおける分割要求処理と、図5に示すサービスエージェントSA1における分割応答処理とにより構成される。
A-4. UDP split transmission / reception processing:
UDP division transmission / reception processing in the
ユーザエージェントUAの分割要求処理は、図4に示すように、ユーザエージェントUAにおいて、ユーザが、SLPプログラムを起動させ、ディスプレイ46に示されたUIと入力機構45とを用いて、サービス検索条件を入力し、ユーザエージェントUAのCPU30が、この検索指示を受け付けることで開始される(ステップS100)。なお、ここでは、ローカルエリアネットワークLAN上の全てのプリンタに対して、属性の応答を求める検索指示とした。
As shown in FIG. 4, in the user agent UA division request processing, the user agent UA activates the SLP program and uses the UI shown on the
検索指示を受け付けると、CPU30は、処理要求部32の処理として、SLPの属性要求メッセージRq1を作成し、UDPを用いてマルチキャストで送信する(ステップS110)。なお、本実施例では、マルチキャストで送信したが、ブロードキャストで送信してもよい。
When receiving the search instruction, the
この属性要求メッセージRq1の構成を図6(a)に示す。図示する属性要求メッセージRq1は、UDPデータグラムからUDPヘッダを除いたデータ部分であり、SLPヘッダとメッセージ部分からなる。図示するように、属性要求メッセージRq1のタグリストには、ベンダ拡張機能による特殊タグが付加されている。この特殊タグは、CPU30が分割指示部31の処理として付加するものであり、属性要求メッセージRq1に対する属性応答メッセージRpがUDPにより送信可能な容量(ここでは1400オクテット)を超える場合には、応答データを分割して送信させる分割指示を伝えるパラメータとしての役割を果たす。
The structure of this attribute request message Rq1 is shown in FIG. The attribute request message Rq1 shown in the figure is a data portion obtained by removing the UDP header from the UDP datagram, and includes an SLP header and a message portion. As shown in the figure, a special tag by the vendor extension function is added to the tag list of the attribute request message Rq1. This special tag is added by the
一方、サービスエージェントSA1は、図5に示すように、分割応答処理として、属性要求メッセージRq1の受信を待機しており(ステップS200)、属性要求メッセージRq1を受信すれば(ステップS200:YES)、CPU50は、属性要求メッセージRq1を解釈して、これに対する属性リストAtを作成し、属性リストAtを含む属性応答メッセージRpのSLPヘッダ以下のデータ長が1400オクテットよりも大きいか否かを判断する(ステップS210)。
On the other hand, as shown in FIG. 5, the service agent SA1 waits for the attribute request message Rq1 to be received as the divided response process (step S200). If the service agent SA1 receives the attribute request message Rq1 (step S200: YES), The
その結果、1400オクテット以下であれば(ステップS210:NO)、属性応答メッセージRpは、UDPで一度に送信できるデータサイズ以下であるということであり、CPU50は、処理応答部53の処理として、作成した属性リストAtを全て含む属性応答メッセージRp1を、UDPを用いて、ユーザエージェントUAに対してユニキャストで送信し(ステップS300)、処理を元に戻す。なお、この際、サービスエージェントSA1は、属性リストAtの全てを送信するため、SLPヘッダのOVERFLOWフラグは「OFF」となっている。
As a result, if it is 1400 octets or less (step S210: NO), it means that the attribute response message Rp is less than the data size that can be transmitted at one time by UDP, and the
一方、1400オクテットよりも大きければ(ステップS210:YES)、属性応答メッセージRpは、UDPで一度に送信できるデータサイズを超えているということであり、CPU50は、続けて、受信した属性要求メッセージRq1内に特殊タグが含まれているか否かを判断する(ステップS220)。
On the other hand, if it is larger than 1400 octets (step S210: YES), it means that the attribute response message Rp exceeds the data size that can be transmitted at one time by UDP, and the
その結果、特殊タグが含まれていなければ(ステップS220:NO)、属性リストAtを分割して送信する必要はないということである。そこで、CPU50は、処理応答部53の処理として、作成した属性リストAtの一部を基に、属性応答メッセージRpのサイズが1400オクテットに収まる範囲で、属性応答メッセージRp1を作成して、UDPを用いて、ユーザエージェントUAに対してユニキャストで送信し(ステップS290)、処理を元に戻す。なお、この際、サービスエージェントSA1は、属性リストAtの一部しか送信できないため、SLPヘッダのOVERFLOWフラグは「ON」となっている。
As a result, if the special tag is not included (step S220: NO), the attribute list At need not be divided and transmitted. Therefore, as a process of the
一方、特殊タグが含まれていれば(ステップS220:YES)、属性リストAtを分割して送信する必要があるということであり、CPU50は、分割部51の処理として、属性応答メッセージRpが1400オクテットに収まるように、属性リストAtをn個に分割する(ステップS230)。そして、CPU50は、n個に分割した分割属性リストAti(i=1〜n)のうち、属性リストAtの先頭を構成する分割属性リストAt1を基に、属性応答メッセージRp1を作成し、処理応答部53の処理として、UDPを用いて、ユーザエージェントUAに対してユニキャストで送信する(ステップS240)。なお、この際、サービスエージェントSA1は、分割属性リストAt1の全てを送信するため、SLPヘッダのOVERFLOWフラグは「OFF」となっている。
On the other hand, if a special tag is included (step S220: YES), it is necessary to divide and transmit the attribute list At, and the
この属性応答メッセージRp1の構成を図7(a)に示す。属性応答メッセージRp1は、UDPデータグラムからUDPヘッダを除いたデータ部分であり、SLPヘッダとメッセージ部分からなる。図示するように、属性応答メッセージRp1の属性リストのうちベンダ拡張領域には、属性要求メッセージRqに含まれていた特殊タグ、サービスエージェントSA1の識別情報、分割属性リストAtiの並び順を示すシーケンスナンバーSNが付加されている。これらの情報は、CPU50が、付加部52の処理として付加するものである。特殊タグは、分割属性リストAt1に続き受け取るべき分割属性リストが他に存在するか否かを示すフラグビットを有している。ここでは、分割属性リストAt1に続き受け取るべき分割属性リストが他に存在するので、フラグは、そのことを示す「ON」となっている。シーケンスナンバーSNは、請求項の順序情報に該当し、分割属性リストAt1に対応する「1」となっている。識別情報は、本実施例では、サービスエージェントSA1のMACアドレスとした。
The structure of this attribute response message Rp1 is shown in FIG. The attribute response message Rp1 is a data portion obtained by removing the UDP header from the UDP datagram, and includes an SLP header and a message portion. As shown in the figure, in the vendor extension area of the attribute list of the attribute response message Rp1, the special tag included in the attribute request message Rq, the identification information of the service agent SA1, and the sequence number indicating the arrangement order of the divided attribute list Ati SN is added. These pieces of information are added by the
属性応答メッセージRp1を送信すると、CPU50は、属性要求メッセージRqiの受信を待機する(ステップS250)。この属性要求メッセージRqiは、ユーザエージェントUAが、属性要求メッセージRq1を送信した後に更に送信し、属性リストAtを構成するi番目の分割属性リストAtiの送信を要求するものであり、その詳細については、後述する。
When the attribute response message Rp1 is transmitted, the
そして、属性要求メッセージRqiを受信すると(ステップS250:YES)、CPU50は、属性要求メッセージRqiに含まれるシーケンスナンバーSN(=i)を参照し、SNが、属性リストAtの分割数であるnに等しいか否かを判断する(ステップS260)。その結果、シーケンスナンバーSNがnでなければ(ステップS260:NO)、属性要求メッセージRqiは、属性リストAtを構成する最後の分割属性リストAtnを要求するものではないということである。そこで、CPU30は、付加部52の処理として、図7(b)に示すように、属性要求メッセージRqiに含まれるシーケンスナンバーSN「i」に対応するi番目の分割属性リストAtiに、識別情報とシーケンスナンバーSN「i」とを付加すると共に、送信する分割属性リストAtiに続きがあることを示すために、特殊タグのフラグを「ON」として、属性応答メッセージRpiを作成し、処理応答部53の処理として、UDPを用いて、ユーザエージェントUAに対してユニキャストで送信する(ステップS280)。そして、処理をステップS250に戻し、受信した属性要求メッセージRqiのシーケンスナンバーSNがnとなるまで、ステップS250,S260及びS280の処理を繰り返すのである。
When the attribute request message Rqi is received (step S250: YES), the
一方、シーケンスナンバーSNがnであれば(ステップS260:YES)、属性要求メッセージRqiは、属性リストAtを構成する最後の分割属性リストAtnを要求するものであるということである。そこで、CPU30は、付加部52の処理として、図7(c)に示すように、分割属性リストAtnに、識別情報と、シーケンスナンバーSN「n」とを付加すると共に、送信する分割属性リストAtnに続きがないことを示すために、特殊タグのフラグを「OFF」として、属性応答メッセージRpnを作成し、処理応答部53の処理として、UDPを用いて、ユーザエージェントUAに対してユニキャストで送信する(ステップS270)。
On the other hand, if the sequence number SN is n (step S260: YES), the attribute request message Rqi is a request for the last divided attribute list Atn constituting the attribute list At. Therefore, as shown in FIG. 7C, the
ここで、説明をユーザエージェントUAに戻す。ユーザエージェントUAでは、図4に示すように、ステップS110で属性要求メッセージRq1を送信した後、サービスエージェントSA1からの属性応答メッセージRpiの受信を待機している(ステップS120)。そして、属性応答メッセージRpi(最初はRq1)を受信すると(ステップS120:YES)、CPU30は、判断部33の処理として、属性応答メッセージRpiに含まれる特殊タグのフラグが「ON」であるか否かを判断する(ステップS130)。
Here, the description returns to the user agent UA. As shown in FIG. 4, the user agent UA transmits the attribute request message Rq1 in step S110, and then waits for reception of the attribute response message Rpi from the service agent SA1 (step S120). When the attribute response message Rpi (initially Rq1) is received (step S120: YES), the
その結果、フラグが「OFF」であれば(ステップS130:NO)、サービスエージェントSA1が応答すべき属性リストには、続きがないということであり、CPU30は、分割要求処理を終了する。そして、CPU30は、複数の分割属性リストAtiを受信した場合には、これらを合成して属性リストAtを生成する。CPU30は、こうして得られた属性リストAtの内容を、ディスプレイ46に表示させるのである。
As a result, if the flag is “OFF” (step S130: NO), this means that there is no continuation in the attribute list to which the service agent SA1 should respond, and the
一方、フラグが「ON」であれば(ステップS130:YES)、受信した属性応答メッセージRpiに含まれる分割属性リストAtiには続きがあるということである。そこで、CPU30は、属性応答メッセージRpiに含まれるシーケンスナンバーSNを1インクリメント(SN:i→i+1)して(ステップS140)、当該シーケンスナンバーSNを付加したSLPの属性要求メッセージRq(i+1)を、処理要求部32の処理として作成し、UDPを用いてマルチキャストで送信する(ステップS150)。
On the other hand, if the flag is “ON” (step S130: YES), this means that there is a continuation in the divided attribute list Ati included in the received attribute response message Rpi. Therefore, the
この属性要求メッセージRq(i+1)の構成を図6(b)に示す。属性要求メッセージRq(i+1)は、ステップS110で送信した属性要求メッセージRq1の構成(図6(a)参照)に加えて、ベンダ拡張領域に、シーケンスナンバーSN(i+1)が付加されている。この付加したシーケンスナンバーSNにより、ユーザエージェントUAは、サービスエージェントSA1に、分割属性リストAt(i+1)を要求するのである。 The structure of this attribute request message Rq (i + 1) is shown in FIG. In the attribute request message Rq (i + 1), in addition to the configuration of the attribute request message Rq1 transmitted in step S110 (see FIG. 6A), the sequence number SN (i + 1) is added to the vendor extension area. Based on the added sequence number SN, the user agent UA requests the service agent SA1 for the division attribute list At (i + 1).
こうして、属性要求メッセージRq(i+1)を送信すると、CPU30は、処理を上記ステップS120に戻し、受信した特殊タグのフラグが「OFF」になるまで、すなわち、分割された分割属性リストAtiを全て受け取るまで、ステップS120〜S150の処理を繰り返すのである。
When the attribute request message Rq (i + 1) is transmitted in this way, the
かかるユーザエージェントUAとサービスエージェントSA1との間の処理の流れの具体例を図8に示す。まず、ユーザエージェントUAは、特殊タグ「x−1248−p−usediv」を含めて属性要求メッセージRq1をサービスエージェントSA1に送信する。これに対して、サービスエージェントSA1は、分割属性リストAt1に、特殊タグのフラグ「x−1248−p−usediv=ON」、サービスエージェントSA1の識別情報「p−1248−ID−000048AAAAAAA」、シーケンスナンバー「p−1248−seq=1」を付加して、属性応答メッセージRp1を応答する。 A specific example of the flow of processing between the user agent UA and the service agent SA1 is shown in FIG. First, the user agent UA transmits the attribute request message Rq1 including the special tag “x-1248-p-usediv” to the service agent SA1. On the other hand, the service agent SA1 includes the special tag flag “x-1248-p-usediv = ON”, the identification information “p-1248-ID-000048AAAAAAA”, the sequence number of the service agent SA1 in the division attribute list At1. “P-1248-seq = 1” is added and an attribute response message Rp1 is returned.
一方、ユーザエージェントUAは、属性応答メッセージRp1を受信すると、それに含まれる特殊タグのフラグが「ON」であることから、特殊タグ「x−1248−p−usediv」、シーケンスナンバー「p−1248−seq=2」を含めた属性要求メッセージRq2をサービスエージェントSA1に送信する。これに対して、サービスエージェントSA1は、分割属性リストAt2に、特殊タグのフラグ「x−1248−p−usediv=ON」、識別情報「p−1248−ID−000048AAAAAAA」、シーケンスナンバー「p−1248−seq=2」を付加して、属性応答メッセージRp2を応答する。 On the other hand, when the user agent UA receives the attribute response message Rp1, since the flag of the special tag included in the attribute response message Rp1 is “ON”, the special tag “x-1248-p-usediv” and the sequence number “p-1248- An attribute request message Rq2 including “seq = 2” is transmitted to the service agent SA1. In response to this, the service agent SA1 includes the special tag flag “x-1248-p-usediv = ON”, the identification information “p-1248-ID-000048AAAAAAA”, and the sequence number “p-1248” in the division attribute list At2. -Seq = 2 "is added and an attribute response message Rp2 is returned.
同様に、ユーザエージェントUAは、属性応答メッセージRp2を受信すると、それに含まれる特殊タグのフラグが「ON」であることから、特殊タグ「x−1248−p−usediv」、シーケンスナンバー「p−1248−seq=3」を含めた属性要求メッセージRq2をサービスエージェントSA1に送信する。これに対して、サービスエージェントSA1は、分割属性リストAt3に、特殊タグのフラグ「x−1248−p−usediv=OFF」、識別情報「p−1248−ID−000048AAAAAAA」、シーケンスナンバー「p−1248−seq=3」を付加して、属性応答メッセージRp3を応答する。 Similarly, when the user agent UA receives the attribute response message Rp2, since the flag of the special tag included in the attribute response message Rp2 is “ON”, the special tag “x-1248-p-usediv” and the sequence number “p-1248” are included. An attribute request message Rq2 including “-seq = 3” is transmitted to the service agent SA1. On the other hand, the service agent SA1 adds a special tag flag “x-1248-p-usediv = OFF”, identification information “p-1248-ID-000048AAAAAAA”, and sequence number “p-1248” to the division attribute list At3. -Seq = 3 "is added and an attribute response message Rp3 is returned.
そして、ユーザエージェントUAは、属性応答メッセージRp3を受信すると、それに含まれる特殊タグのフラグが「OFF」であることから、全ての分割属性リストAti(ここでは分割属性リストAt1〜At3)を受け取ったと判断して、分割要求処理を終了するのである。 Then, when the user agent UA receives the attribute response message Rp3, the flag of the special tag included in the user agent UA is “OFF”. Therefore, the user agent UA receives all the divided attribute lists Ati (here, the divided attribute lists At1 to At3). Judgment is made and the division request processing is terminated.
なお、説明は省略したが、ユーザエージェントUAは、図4のステップ110において、マルチキャストで属性要求メッセージRq1を送信しているので、上述したユーザエージェントUAとサービスエージェントSA1との間での通信の他に、ユーザエージェントUAとサービスエージェントSA2との間でも同様の通信が行われる。この場合、ユーザエージェントUAは、サービスエージェントSA1とサービスエージェントSA2とから、それぞれ属性応答メッセージRpiを受け取ることとなるが、属性応答メッセージRpiには、サービスエージェントSA1,UA2の識別情報が含まれているので、ユーザエージェントUAは、サービスエージェントSA1からの応答と、サービスエージェントSA2からの応答とを正確に判別することができる。 Although explanation is omitted, since the user agent UA transmits the attribute request message Rq1 by multicast in step 110 of FIG. 4, other than the communication between the user agent UA and the service agent SA1 described above. In addition, similar communication is performed between the user agent UA and the service agent SA2. In this case, the user agent UA receives the attribute response message Rpi from the service agent SA1 and the service agent SA2, respectively, and the attribute response message Rpi includes identification information of the service agents SA1 and UA2. Therefore, the user agent UA can accurately determine the response from the service agent SA1 and the response from the service agent SA2.
また、本実施例においては、SLPの通信についてのUDP分割送受信処理について示したが、通信プロトコルは、特にSLPに限定するものではなく、UDPを用いて、処理要求装置がマルチキャストまたはブロードキャストで送信した所定の処理要求に対して、処理応答装置が応答する通信プロトコルであればよく、メーカー独自定義のプロトコルなどであってもよい。 In the present embodiment, the UDP split transmission / reception processing for SLP communication is shown. However, the communication protocol is not particularly limited to SLP, and the processing requesting device transmits by multicast or broadcast using UDP. Any communication protocol may be used as long as the processing response device responds to a predetermined processing request, or a manufacturer-defined protocol may be used.
かかる構成の通信システム20において、ユーザエージェントUAは、ユーザエージェントUAの属性要求メッセージRqに対する応答がUDPにより送信可能な所定容量を超える場合には、応答内容を分割して送信させる分割指示を示す特殊タグを含めて、属性要求メッセージRq1をマルチキャストまたはブロードキャストで送信する。一方、サービスエージェントSA1は、属性要求メッセージRq1に対する応答である属性リストAtが所定容量を超える場合には、属性リストAtを分割した分割属性リストAtiに、シーケンスナンバーSNを付加して応答する。したがって、UDPを用いたSLPの通信において、UDPで送信可能なデータ長の上限を超えるデータをやり取りすることができる。また、これにより、サービスエージェントにIPアドレスを付与していない環境下においても、SLPの通信を行うことができる。さらに、UDPで送信可能なデータ長の上限を超えるデータであっても、TCPを用いた通信と比べてトラフィック量が小さいUDPを用いて、やり取りを行えるので、ネットワーク負荷を軽減することができる。
In the
また、かかる構成の通信システム20において、サービスエージェントSA1は、サービスエージェントSA1が送信する分割属性リストAtiが属性リストAtを構成する最後の分割属性リストAtnであるか否かを示す特殊タグのフラグを付加して、応答を行う。一方、ユーザエージェントUAは、当該フラグを参照して、フラグが「OFF」の場合に分割属性リストAtiを全て受け取ったことを判断する。したがって、ユーザエージェントUAは、分割属性リストAtiを全て受け取ったことを容易に知り、適切なタイミングで、サービスエージェントSA1とのやり取りを終了させることができる。
In the
なお、SLPの標準規格においては、サービスエージェントは、受信した属性要求メッセージRqに不明なタグが含まれる場合には、当該タグを返信しない。すなわち、ローカルエリアネットワークLAN上に、本発明に対応しない未対応サービスエージェントが混在する環境下において、ユーザエージェントがマルチキャストで送信した、特殊タグを含む属性要求メッセージRqを、当該未対応サービスエージェントが受信しても、支障が生じることがない。したがって、本発明は、既存のサービスエージェントとの互換性もよい。 Note that in the SLP standard, the service agent does not return a tag when an unknown tag is included in the received attribute request message Rq. That is, in an environment where unsupported service agents not corresponding to the present invention are mixed on the local area network LAN, the unsupported service agent receives the attribute request message Rq including the special tag transmitted by the user agent by multicast. However, there will be no trouble. Therefore, the present invention is also compatible with existing service agents.
B.変形例:
上述した実施例の変形例について説明する。
B−1.変形例1:
実施例では、属性リストAtを分割送信する場合において、サービスエージェントSA1は、ユーザエージェントUAがステップS110で送信した属性要求メッセージRq1に対して、分割属性リストAt1を含む属性応答メッセージRp1を応答する構成としたが、このような構成に限られるものではない。例えば、最初の応答には、分割属性リストAt1を含まない構成とし、最初の応答に含まれる特殊タグのフラグによって分割送信が必要であることを認識したユーザエージェントUAから改めて送信される属性要求メッセージRqiに対して、分割属性リストAtiを応答する構成としてもよい。
B. Variations:
A modification of the above-described embodiment will be described.
B-1. Modification 1:
In the embodiment, when the attribute list At is divided and transmitted, the service agent SA1 responds to the attribute request message Rq1 transmitted by the user agent UA in step S110 with an attribute response message Rp1 including the divided attribute list At1. However, it is not limited to such a configuration. For example, the first response does not include the divided attribute list At1, and the attribute request message is transmitted again from the user agent UA that recognizes that the divided transmission is necessary by the flag of the special tag included in the first response. A configuration may be adopted in which the division attribute list Ati is responded to Rqi.
B−2.変形例2:
実施例においては、ユーザエージェントUAは、サービスエージェントSA1から受信した属性応答メッセージRpiに含まれる特殊タグのフラグに基づいて、メッセージに続きがあるか否かを判断する構成としたが、メッセージの受信完了判断は、このような構成に限られるものではない。例えば、ユーザエージェントUAのCPU30は、受信した分割属性リストAtiの累計サイズと、属性応答メッセージRpiに含まれる属性リストAtの全長サイズ(例えば、図7(a)の「length of 」)とから、メッセージの受信完了判断を行ってもよい。かかる構成によっても、ユーザエージェントUAは、分割属性リストAtiを全て受け取ったことを容易に知ることができ、適切なタイミングで、サービスエージェントSA1とのやり取りを終了させることができる。
B-2. Modification 2:
In the embodiment, the user agent UA is configured to determine whether or not there is a message based on the flag of the special tag included in the attribute response message Rpi received from the service agent SA1. Completion determination is not limited to such a configuration. For example, the
また、実施例においては、ユーザエージェントUAは、サービスエージェントSA1から、分割属性リストAtiを全て受け取ったと判断した場合に、図4に示した分割要求処理を終了する構成としたが、分割要求処理の終了タイミングは、これに限るものではない。例えば、処理開始から所定時間経過後に終了する構成としてもよい。あるいは、処理開始から所定時間経過後に、始めからリトライする構成としてもよい。また、図4のステップS150において属性応答メッセージRpiを送信したにも拘わらず、所定時間以内にサービスエージェントSA1からの属性応答メッセージRpiを受信しない(ステップS120:NO)場合には、属性応答メッセージRpiを再送する構成としてもよい。こうすれば、何らかの理由により、UDPデータグラムがローカルエリアネットワークLAN上で喪失された場合であっても、対応することができる。 Further, in the embodiment, the user agent UA is configured to end the division request processing shown in FIG. 4 when it is determined that the division attribute list Ati has been received from the service agent SA1. The end timing is not limited to this. For example, it may be configured to end after a predetermined time has elapsed from the start of processing. Alternatively, it may be configured to retry from the beginning after a lapse of a predetermined time from the start of processing. If the attribute response message Rpi from the service agent SA1 is not received within a predetermined time despite the attribute response message Rpi being transmitted in step S150 of FIG. 4 (step S120: NO), the attribute response message Rpi It is good also as a structure which resends. In this way, even if the UDP datagram is lost on the local area network LAN for some reason, it is possible to cope with it.
B−3.変形例3:
サービスエージェントSA1は、図5のステップS230において、属性リストAtの分割に失敗した場合には、特殊タグのフラグを「FAILED」とする構成を追加してもよい。この場合、フラグが「FAILED」である特殊タグを含む属性応答メッセージRp1を受信したユーザエージェントUAは、分割要求処理を終了する構成としてもよい。
B-3. Modification 3:
If the service agent SA1 fails to divide the attribute list At in step S230 of FIG. 5, the service agent SA1 may add a configuration in which the flag of the special tag is “FAILED”. In this case, the user agent UA that has received the attribute response message Rp1 including the special tag whose flag is “FAILED” may end the division request processing.
また、サービスエージェントSA1は、分割属性リストAtiを作成し、ユーザエージェントUAと分割セッション中である場合に、受信した属性要求メッセージRqiに含まれるシーケンスナンバーSNが無効でものであるときは、属性要求メッセージRqiがマルチキャストであれば応答せず、属性要求メッセージRqiがユニキャストであればエラーを返す構成としてもよい。また、分割セッション中でない場合に、受信した属性要求メッセージRq1にシーケンスナンバーSNが含まれるときは、属性要求メッセージRqiがマルチキャストであれば応答せず、属性要求メッセージRqiがユニキャストであればエラーを返す構成としてもよい。 In addition, the service agent SA1 creates a divided attribute list Ati, and if the sequence number SN included in the received attribute request message Rqi is invalid when the divided session is in the divided session with the user agent UA, the attribute request message If Rqi is multicast, no response is made, and if attribute request message Rqi is unicast, an error may be returned. Further, when the sequence request SN is included in the received attribute request message Rq1 when the divided session is not in progress, no response is made if the attribute request message Rqi is multicast, and an error occurs if the attribute request message Rqi is unicast. It is good also as a structure to return.
B−4.変形例4:
実施例においては、サービスエージェントSA1は、ユーザエージェントUAからの分割属性リストAtiに応じて、分割属性リストAtiを、属性リストAtを構成する並び順に送信する構成としたが、送信順序は、特に限定するのではなく、例えば、属性リストAtを構成する並び順の逆から送信してもよいし、ランダムな順番で送信してもよい。ユーザエージェントUAは、1〜nのシーケンスナンバーSNを付した属性要求メッセージRqiを送信し、サービスエージェントSA1は、当該シーケンスナンバーSNに一意に対応する分割属性リストAtiの並び順を示す順序情報を付加して、応答すればよいのである。
B-4. Modification 4:
In the embodiment, the service agent SA1 is configured to transmit the divided attribute list Ati in the order in which the attribute list At is arranged in accordance with the divided attribute list Ati from the user agent UA, but the transmission order is particularly limited. Instead, for example, the attribute list At may be transmitted in the reverse order of the arrangement order, or may be transmitted in a random order. The user agent UA transmits an attribute request message Rqi with a sequence number SN of 1 to n, and the service agent SA1 adds order information indicating the arrangement order of the divided attribute list Ati uniquely corresponding to the sequence number SN. Then, it is sufficient to respond.
また、サービスエージェントSA1が付加する順序情報は、一意の並び順を示す番号に限らず、ユーザエージェントUAが、受信した分割属性リストAtiの並び順を解釈できるものであればよい。例えば、送信対象の分割属性リストAtiの送信の直前に送信した分割属性リストAtiの番号や、直後に送信する分割属性リストAtiの番号を示すものとしてもよい。 Further, the order information added by the service agent SA1 is not limited to a number indicating a unique arrangement order, but may be any information that allows the user agent UA to interpret the arrangement order of the received divided attribute list Ati. For example, the number of the divided attribute list Ati transmitted immediately before the transmission of the divided attribute list Ati to be transmitted or the number of the divided attribute list Ati transmitted immediately after the transmission may be indicated.
B−5.変形例5:
実施例においては、ユーザエージェントUAがマルチキャストで送信する属性要求メッセージRq1に対して、全てのサービスエージェントSA1,SA2が応答する構成としたが、特定のサービスエージェント、例えば、サービスエージェントSA1のみから属性情報を取得する構成としてもよい。このような構成は、例えば、以下のようにして実現することができる。
B-5. Modification 5:
In the embodiment, all the service agents SA1 and SA2 respond to the attribute request message Rq1 transmitted by the user agent UA by multicast. However, the attribute information is received only from a specific service agent, for example, the service agent SA1. It is good also as a structure which acquires. Such a configuration can be realized, for example, as follows.
まず、ユーザエージェントUAのCPU30は、図4のステップS110において、所定のSLP検索条件と、所定のプロトコルの実行コマンドを含めて属性要求メッセージRq1を作成し、UDPを用いてマルチキャストで送信する。この実行コマンドの付加は、コマンド付加部34の処理として行われる。所定のプロトコルとしては、種々のものが利用可能であるが、例えば、SNMP(Simple Network Management Protocol)を利用することができる。
First, in step S110 of FIG. 4, the
属性要求メッセージRq1の内容の具体例を図9に示す。図9(a)は、SNMPの実行コマンドを含まない場合のサービス検索要求の概念図である。ここでは、具体例として、LANに接続されたEPSONプリンタの製品名を検索する場合について説明する。属性要求メッセージRq1のURLには、検索するサービスの情報として、装置の製造者名を示す「p−dev.1248」(EPSONを表す)や検索するサービス種別を示す「printer」が格納され、タグリストには、ベンダの拡張機能を示す「x−1248−p−dev.」や製品名を示す「pn」などの検索対象の固有の情報と、特殊タグ「x−1248−p−usediv」とが格納されている。 A specific example of the content of the attribute request message Rq1 is shown in FIG. FIG. 9A is a conceptual diagram of a service search request when an SNMP execution command is not included. Here, as a specific example, a case where a product name of an EPSON printer connected to a LAN is searched will be described. In the URL of the attribute request message Rq1, “p-dev.1248” (representing EPSON) indicating the manufacturer name of the apparatus and “printer” indicating the service type to be searched are stored as information on the service to be searched. The list includes unique information to be searched such as “x-1248-p-dev.” Indicating a vendor extension function and “pn” indicating a product name, and a special tag “x-1248-p-usediv”. Is stored.
一方、図9(b)は、SNMPの実行コマンドを含む場合のサービス検索要求の概念図である。この場合、属性要求メッセージRq1のタグリストには、ベンダの拡張機能を示す「x−1248」や拡張機能で定義したSNMPを処理するアトリビュートである「p−spt」、内部的にSNMPのGetRequest−PDUを処理することを示す「snmpget」、snmpgetをSNMPv1で行うことを示す「V1」、コミュニティネームである「public」、MIBのオブジェクトIDとしての「1.3.6.1.2.1.1.5.0」(sysNameを表す)、上記コマンドの実行結果が適合したときにこの検索要求の応答を実行するよう定められた処理実行条件としての「result:noError」などの検索対象の情報と、特殊タグ「x−1248−p−usediv」とが格納されている。即ち、このタグリストの内容は、SNMPのコマンドを実行した結果が「noError」であるときに検索要求に対する応答を返すよう定めたものとなっている。 On the other hand, FIG. 9B is a conceptual diagram of a service search request when an SNMP execution command is included. In this case, the tag list of the attribute request message Rq1 includes “x-1248” indicating the vendor's extended function, “p-spt” that is an attribute for processing the SNMP defined by the extended function, and SNMP GetRequest- “Snmpget” indicating that the PDU is processed, “V1” indicating that the snmpget is performed by SNMPv1, “public” as the community name, and “1.3.6.1.2.1. 1.5.0 ”(representing sysName), information to be searched such as“ result: noError ”as a process execution condition defined to execute a response to the search request when the execution result of the command is matched And a special tag “x-1248-p-useddiv” is stored. That is, the contents of the tag list are defined so that a response to the search request is returned when the result of executing the SNMP command is “noError”.
なお、このタグリストには、その先頭に「{」、最後尾に「}」及び内容の区切りに「|」など、SLPのタグリストの記述に規定されている以外の文字を用いることにより、SNMPの実行コマンドが格納されているか否かの判定が容易となっているのである。なお、ここでは、説明の便宜のため、SNMPのコマンド等を「noError」などの文字として説明したが、実際には、タグリストの内容は、「020100」(noErrorを表す16進数)のようにSNMPでの取り決めに従って記述されている。 In this tag list, by using characters other than those stipulated in the SLP tag list description, such as “{” at the beginning, “}” at the end, and “|” at the end of the content, It is easy to determine whether or not an SNMP execution command is stored. Here, for convenience of explanation, the SNMP command or the like has been described as a character such as “noError”. However, in actuality, the content of the tag list is “020100” (hexadecimal number representing noError). It is described in accordance with the SNMP convention.
かかる属性要求メッセージRq1を受信した場合の、サービスエージェントSA1の分割応答処理の流れについて、図5に示した分割応答処理と異なる点を図10に示す。ステップS200において属性要求メッセージRq1を受信すると(ステップS200:YES)、CPU50は、属性要求メッセージRq1にSNMPコマンドが含まれているか否かを判断する(ステップS310)。
FIG. 10 shows the flow of the division response processing of the service agent SA1 when such attribute request message Rq1 is received, which is different from the division response processing shown in FIG. When the attribute request message Rq1 is received in step S200 (step S200: YES), the
その結果、SNMPのコマンドが含まれていれば(ステップS310:YES)、CPU50は、属性要求メッセージRq1に格納されたタグリストからSNMPのコマンドを取得し、コマンド実行部54の処理として、このコマンドを実行する(ステップS320)。そして、CPU50は、コマンドを実行した結果が、タグリストに記述された処理実行条件を満たすか否かを判断する(ステップS330)。本例では、上述の通り、コマンド実行結果が「noError」であるか否かにより処理実行条件を満たすか否かを判定する。
As a result, if the SNMP command is included (step S310: YES), the
その結果、処理実行条件を満たしていなければ(ステップS330:NO)、CPU50は、属性要求メッセージRq1に対する応答を行わずに、処理を元に戻す。一方、処理実行条件を満たしていれば(ステップS330:YES)、CPU50は、処理をステップS210に進める。その後の処理は、図5で説明した通りである。
As a result, if the processing execution condition is not satisfied (step S330: NO), the
また、上記ステップS310において、SNMPコマンドが含まれていなければ(ステップS310:NO)、CPU50は、タグリストに指定された検索条件とEEPROM61などに記憶されたサービスエージェントSA1の情報とが一致するか否か、即ち、検索条件を満たすか否かを判定する(ステップS340)。その結果、検索条件と一致しなければ(ステップS340:NO)、CPU50は、属性要求メッセージRq1に対する応答を行わずに、処理を元に戻す。一方、検索条件と一致すれば(ステップS340:YES)、CPU50は、処理をステップS210に進める。その後の処理は、図5で説明した通りである。
If the SNMP command is not included in step S310 (step S310: NO), the
なお、本変形例においては、ユーザエージェントUAは、検索条件と処理実行条件とを含む属性要求メッセージRq1を作成・送信したが、これらの条件のうち、いずれか一方のみを作成・送信する構成としてもよい。また、サービスエージェントSA1は、ステップS330において、処理実行条件を満たすか否かの判断を行い、処理実行条件を満たす場合のみ処理をステップS210に進める構成とした。かかる構成とすることにより、ユーザエージェントUAは、特定のサービスエージェントからのみ、必要な情報を取得することができるので、ユーザエージェントUAの処理が効率的になると共に、ローカルエリアネットワークLANの負荷を低減することができるからである。ただし、このような構成に限る必要はなく、ステップS330を省略して、SNMPコマンドを実行した場合には、必ず、処理をステップS210に進める構成としてもよい。 In this modification, the user agent UA creates and transmits the attribute request message Rq1 including the search condition and the process execution condition. However, the user agent UA creates and transmits only one of these conditions. Also good. In addition, the service agent SA1 determines whether or not the process execution condition is satisfied in step S330, and the process proceeds to step S210 only when the process execution condition is satisfied. With this configuration, the user agent UA can acquire necessary information only from a specific service agent, so that the processing of the user agent UA becomes efficient and the load on the local area network LAN is reduced. Because it can be done. However, it is not necessary to be limited to such a configuration, and when the SNMP command is executed with step S330 omitted, the processing may be advanced to step S210 without fail.
かかる構成の通信システム20においては、ユーザエージェントUAは、検索条件や、SNMPの実行コマンド、更には、SNMPの実行結果に基づく処理実行条件を含んで、属性要求メッセージRq1を送信する。一方、サービスエージェントSA1,SA2は、検索条件や処理実行条件を満たす場合にのみ、応答を行う。したがって、ユーザエージェントUAは、特定のサービスエージェントの情報のみを効率的に取得することができる。また、これにより、ローカルエリアネットワークLANのトラフィック量を低減することができる。
In the
また、かかる構成の通信システム20においては、ユーザエージェントUAは、SNPMの実行コマンドを含めて属性要求メッセージRq1を送信する。一方、サービスエージェントSA1,SA2は、検索条件や処理実行条件を満たす場合には、SNMPの実行結果を属性応答メッセージとして応答する。したがって、通常のSLP通信と比べて、属性応答メッセージの容量が大きくなりがちであるが、属性応答メッセージの容量がUDPの通信可能容量を超える場合であっても、通信システム20は、実施例に示したように、UDPを用いて属性リストAtを分割送受信することが可能である。
In the
以上、本発明の実施形態について説明したが、本発明はこうした実施形態に限られるものではなく、本発明の要旨を脱しない範囲において、種々なる態様で実施できることは勿論である。例えば、本発明は、ユーザエージェントとしてのパーソナルコンピュータ、サービスエージェントとしてのプリンタとしての構成を例示したが、ユーザエージェント及びサービスエージェントは、携帯電話、デジタルカメラ、FAX、ルータなど、種々のネットワーク機器として実現することができる。また、本発明は、実施例に示した通信システムやユーザエージェントまたはサービスエージェントとしての構成に限らず、プログラム、通信方法等の形態でも実現することができる。 As mentioned above, although embodiment of this invention was described, this invention is not limited to such embodiment, Of course, in the range which does not deviate from the summary of this invention, it can implement in a various aspect. For example, the present invention exemplifies a configuration as a personal computer as a user agent and a printer as a service agent. However, the user agent and the service agent are realized as various network devices such as a mobile phone, a digital camera, a FAX, and a router. can do. Further, the present invention is not limited to the configuration as the communication system, the user agent, or the service agent shown in the embodiments, and can be realized in the form of a program, a communication method, and the like.
20...通信システム
30...CPU
31...分割指示部
32...処理要求部
33...判断部
34...コマンド付加部
41...ハードディスクドライブ
42...ROM
43...RAM
45...入力機構
46...ディスプレイ
49...インタフェース
50...CPU
51...分割部
52...付加部
53...処理応答部
54...コマンド実行部
61...EEPROM
62...ROM
63...RAM
65...入力機構
66...印刷機構
67...スキャナ
68...FAX送信機構
69...インタフェース
UA...ユーザエージェント
SA1,SA2...サービスエージェント
LAN...ローカルエリアネットワーク
20 ...
31 ...
43 ... RAM
45 ...
51 ...
62 ... ROM
63 ... RAM
65 ...
Claims (11)
前記処理要求装置は、
前記処理要求に対して応答すべき応答データが、前記UDPにより送信可能な所定容量を超える場合には、該応答データを分割して送信させる分割指示を前記処理要求に含める分割指示手段と、
前記分割指示を含む前記処理要求を送信する処理要求手段と
を備え、
前記処理応答装置は、
前記分割指示を含む処理要求を受信し、前記応答データが前記所定容量を超える場合に、該応答データを前記UDPにより送信可能な容量に分割する分割手段と、
該分割した各々の分割データに、前記応答データにおける該分割データの並び順を示す順序情報を付加する付加手段と、
前記順序情報を付加した前記分割データを、前記応答として、前記処理要求装置に送信する処理応答手段と
を備えた
通信システム。 Using UDP, the processing request device and the processing response device communicate with each other via a network using a communication protocol in which the processing response device responds to a predetermined processing request transmitted by the processing request device by multicast or broadcast. A communication system,
The processing requesting device is:
When response data to be responded to the processing request exceeds a predetermined capacity that can be transmitted by the UDP, a division instruction means for including a division instruction for dividing and transmitting the response data in the processing request;
Processing request means for transmitting the processing request including the division instruction,
The process response device is:
Division means for receiving a processing request including the division instruction and dividing the response data into a capacity that can be transmitted by the UDP when the response data exceeds the predetermined capacity;
Adding means for adding order information indicating the arrangement order of the divided data in the response data to each of the divided data;
And a processing response means for transmitting the divided data to which the order information is added as the response to the processing requesting device.
前記付加手段は、前記各々の分割データに、更に、該分割データが前記応答データを構成する最後の分割データであるか否かを示すフラグを付加し、
前記処理要求装置は、更に、前記フラグを参照して、前記分割データを全て受け取ったことを判断する第1の判断手段を備える
通信システム。 A communication system according to claim 2,
The adding means further adds a flag indicating whether or not the divided data is the last divided data constituting the response data to each of the divided data,
The processing requesting apparatus further includes first determination means for determining that all the divided data have been received with reference to the flag.
前記付加手段は、前記各々の分割データに、更に、前記応答データのサイズを示すサイズ情報を付加し、
前記処理要求装置は、更に、前記サイズ情報を参照して、前記分割データを全て受け取ったことを判断する第2の判断手段を備える
通信システム。 A communication system according to claim 2 or claim 3, wherein
The adding means further adds size information indicating the size of the response data to each of the divided data,
The processing requesting apparatus further includes second determination means for determining that all the divided data have been received with reference to the size information.
前記処理要求装置は、更に、前記処理要求に、所定のプロトコルの実行コマンドを含めるコマンド付加手段を備え、
前記処理応答装置は、更に、前記処理要求に前記実行コマンドが含まれる場合に、該実行コマンドを解釈して実行するコマンド実行手段を備え、
前記処理応答装置は、前記実行コマンドの実行結果を前記応答データとして扱う
通信システム。 A communication system according to any one of claims 1 to 5,
The processing requesting device further comprises command adding means for including an execution command of a predetermined protocol in the processing request.
The process response device further comprises command execution means for interpreting and executing the execution command when the execution request is included in the processing request,
The processing response device is a communication system that handles an execution result of the execution command as the response data.
前記処理応答装置は、前記実行コマンドの実行結果が所定の条件を満たしている場合に、前記実行コマンドの実行結果を前記応答データとして扱う
通信システム。 The communication system according to claim 6, wherein
The processing response device treats an execution result of the execution command as the response data when the execution result of the execution command satisfies a predetermined condition.
所定のパラメータを含む前記処理要求を受信した場合であって、前記処理要求に対して応答すべき応答データが、前記UDPにより送信可能な所定容量を超えるときは、該応答データを前記UDPにより送信可能な容量に分割する分割手段と、
該分割した各々の分割データに、前記応答データにおける該分割データの並び順を示す順序情報を付加する付加手段と、
前記順序情報を付加した前記分割データを、前記応答として、前記処理要求装置に送信する応答手段と
を備えた処理応答装置。 A processing response device that responds to a predetermined processing request transmitted by multicast or broadcast from a processing request device connected via a network using UDP,
When the processing request including a predetermined parameter is received and the response data to be responded to the processing request exceeds a predetermined capacity that can be transmitted by the UDP, the response data is transmitted by the UDP. Dividing means for dividing into possible capacity;
Adding means for adding order information indicating the arrangement order of the divided data in the response data to each of the divided data;
And a response means for transmitting the divided data to which the order information is added to the process request device as the response.
前記処理要求に対して前記処理応答装置が応答すべき応答データが、前記UDPにより送信可能な所定容量を超える場合には、該応答データを分割して送信させる分割指示を前記処理要求に含める分割指示手段と、
前記分割指示を含む前記処理要求を送信する要求手段と
を備えた処理要求装置。 A processing request device that transmits a predetermined processing request by multicast or broadcast to a processing response device connected via a network using UDP,
When the response data that the process response device should respond to the processing request exceeds a predetermined capacity that can be transmitted by the UDP, a division instruction that divides the response data and transmits it is included in the processing request. Instruction means;
A processing requesting device comprising: requesting means for transmitting the processing request including the division instruction.
所定のパラメータを含む前記処理要求を受信した場合であって、前記処理要求に対して応答すべき応答データが、前記UDPにより送信可能な所定容量を超えるときは、該応答データを前記UDPにより送信可能な容量に分割する分割機能と、
該分割した各々の分割データに、該分割データが前記応答データを構成する何番目のデータであるかを示す順序情報を付加する付加機能と、
前記順序情報を付加した前記分割データを、前記応答として、前記処理要求装置に送信する応答機能と
をコンピュータに実現させるプログラム。 A computer program for responding to a predetermined processing request transmitted by multicast or broadcast from a processing request device connected via a network using UDP,
When the processing request including a predetermined parameter is received and the response data to be responded to the processing request exceeds a predetermined capacity that can be transmitted by the UDP, the response data is transmitted by the UDP. Split function to divide into possible capacity,
An additional function of adding to each of the divided data the order information indicating the number of data that constitutes the response data.
A program that causes a computer to realize a response function of transmitting the divided data to which the order information is added as the response to the processing requesting device.
前記処理要求に対して前記処理応答装置が応答すべき応答データが、前記UDPにより送信可能な所定容量を超える場合には、該応答データを分割して送信させる分割指示を前記処理要求に含める分割指示機能と、
前記分割指示を含む前記処理要求を送信する要求機能と
をコンピュータに実現させるプログラム。 A computer program for transmitting a predetermined processing request by multicast or broadcast using UDP to a processing response apparatus connected via a network,
When the response data that the process response device should respond to the processing request exceeds a predetermined capacity that can be transmitted by the UDP, a division instruction that divides the response data and transmits it is included in the processing request. An instruction function;
A program for causing a computer to realize a request function for transmitting the processing request including the division instruction.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008075390A JP4983674B2 (en) | 2008-03-24 | 2008-03-24 | Communication system, processing request device, processing response device, and program thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008075390A JP4983674B2 (en) | 2008-03-24 | 2008-03-24 | Communication system, processing request device, processing response device, and program thereof |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2009232180A JP2009232180A (en) | 2009-10-08 |
JP4983674B2 true JP4983674B2 (en) | 2012-07-25 |
Family
ID=41247074
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008075390A Expired - Fee Related JP4983674B2 (en) | 2008-03-24 | 2008-03-24 | Communication system, processing request device, processing response device, and program thereof |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4983674B2 (en) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5609215B2 (en) * | 2010-04-05 | 2014-10-22 | セイコーエプソン株式会社 | Communication system, processing request device, processing response device, communication method, and program thereof |
US20110264763A1 (en) * | 2010-04-23 | 2011-10-27 | Yu Chun-Ta | Method for retrieving object from device management client and associated device management system |
JP6188368B2 (en) * | 2013-03-22 | 2017-08-30 | キヤノン株式会社 | Printing apparatus, information processing apparatus, control method, and program |
JP6389142B2 (en) * | 2015-04-23 | 2018-09-12 | 日本電信電話株式会社 | Call connection system and subscriber information transmission method |
CN113382000A (en) * | 2021-06-09 | 2021-09-10 | 北京天融信网络安全技术有限公司 | UA character string anomaly detection method, device, equipment and medium |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08292922A (en) * | 1995-04-21 | 1996-11-05 | Mitsubishi Electric Corp | Network management device |
KR100594993B1 (en) * | 2004-11-17 | 2006-07-03 | 삼성전기주식회사 | Method for discovery reply packet transmission in communication network |
JP4583318B2 (en) * | 2006-02-08 | 2010-11-17 | 三菱電機株式会社 | Data communication method |
-
2008
- 2008-03-24 JP JP2008075390A patent/JP4983674B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2009232180A (en) | 2009-10-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5388784B2 (en) | COMMUNICATION DEVICE, COMMUNICATION DEVICE CONTROL METHOD, AND PROGRAM | |
JP6011266B2 (en) | Communication relay program, communication relay method, information processing apparatus, and image processing apparatus | |
JP4983674B2 (en) | Communication system, processing request device, processing response device, and program thereof | |
US20030204590A1 (en) | Network device management system and method of controlling same | |
JP4758362B2 (en) | Relay device, program, and relay method | |
CN109426469B (en) | Information processing apparatus, control method, and recording medium | |
US8676967B2 (en) | Event proxy notification apparatus and method of controlling the same and program | |
US8369245B2 (en) | Communication apparatus having network interfaces and responding to device search, communication method, and storage medium | |
US20050141018A1 (en) | Network printer control system and data reception control method thereof | |
US20040252331A1 (en) | Techniques for printer-side network cluster printing | |
JP2002542637A (en) | Apparatus and method for communication over a network | |
JP4774973B2 (en) | Network relay control for network type plug and play | |
JP2008060695A (en) | Information communication system, transmission-side device, reception-side device, transmission control program, and reception control program | |
JP5279633B2 (en) | COMMUNICATION DEVICE, ITS CONTROL METHOD, AND PROGRAM | |
JP4029804B2 (en) | Network device and transmission output level changing method | |
JP2007174704A (en) | Network device and program for same | |
JP4877127B2 (en) | Print client and printer search method. | |
JP3977135B2 (en) | Network device management system and control method thereof | |
JP6507916B2 (en) | Communication equipment | |
JP2011114805A (en) | Communication apparatus and method, and program | |
JP5609215B2 (en) | Communication system, processing request device, processing response device, communication method, and program thereof | |
JP2019059022A (en) | Printer and function execution device | |
JP3950736B2 (en) | Network device management system and control method thereof | |
JP2011109591A (en) | Networking equipment, and method of controlling the same and control program | |
CN112187926B (en) | Method and system for transmitting and receiving data packets via at least one end-to-end connection |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20110126 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20120127 |
|
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: 20120327 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20120409 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 Ref document number: 4983674 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150511 Year of fee payment: 3 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |