JP4704105B2 - 通信装置、通信システム及び通信方法 - Google Patents
通信装置、通信システム及び通信方法 Download PDFInfo
- Publication number
- JP4704105B2 JP4704105B2 JP2005150415A JP2005150415A JP4704105B2 JP 4704105 B2 JP4704105 B2 JP 4704105B2 JP 2005150415 A JP2005150415 A JP 2005150415A JP 2005150415 A JP2005150415 A JP 2005150415A JP 4704105 B2 JP4704105 B2 JP 4704105B2
- Authority
- JP
- Japan
- Prior art keywords
- communication
- request
- response
- command
- transmitted
- 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
- 238000004891 communication Methods 0.000 title claims description 982
- 238000000034 method Methods 0.000 title claims description 199
- 230000004044 response Effects 0.000 claims description 410
- 230000005540 biological transmission Effects 0.000 claims description 249
- 230000006870 function Effects 0.000 description 124
- 238000012545 processing Methods 0.000 description 106
- 230000008569 process Effects 0.000 description 99
- 238000007726 management method Methods 0.000 description 12
- 238000012546 transfer Methods 0.000 description 12
- 230000005856 abnormality Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 238000004378 air conditioning Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 238000005755 formation reaction Methods 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
- 238000005303 weighing Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
Description
そこで、通信クライアントから通信サーバへの動作要求を通信要求に記載して送信し、その動作要求に対する動作応答を通信応答に記載して通信サーバから通信クライアントに返信することも行われている。
例えば、特許文献1には、リモートプロセッサがローカルプロセッサに対して実行されるべきコマンドを指示するメッセージを送信し、そのコマンドに対する応答を受信することが記載されている。
この場合において、ローカルプロセッサが通信クライアントに、リモートプロセッサが通信サーバに該当する。
一方で、通信を行う装置間にファイアウォールがない場合には、特許文献1又は2に記載されているようなプロトコルを用いる必要は、特にない。従って、通信装置を上述した特許文献1又は2に記載されているような通信プロトコルに対応させる場合でも、常にこのような通信プロトコルを使用させると、却って不具合が生じてしまう場合があるという問題があった。
このような通信装置において、上記第1の切換手段が、その通信装置のアドレス情報と上記相手先装置のアドレス情報とを取得し、これらのアドレス情報に基づいて、動作要求の送信を上記第1の通信手段に行わせるか上記第2の通信手段に行わせるかを決定するようにするとよい。
このような通信装置において、通信相手に送信した通信要求に対する通信応答に、上記通信相手からの動作要求が複数含まれていた場合に、その各動作要求を分離し、その各動作要求に係る動作を個別に実行するようにするとよい。
このような通信システムにおいて、上記第1の通信装置の上記切換手段が、上記第1の通信装置のアドレス情報と上記第2の通信装置のアドレス情報とを取得し、これらのアドレス情報に基づいて、動作要求の送信を上記第1の通信手段に行わせるか上記第2の通信手段に行わせるかを決定するようにするとよい。
また、上記第2の通信装置が、上記第1の通信装置に送信した通信要求に対する通信応答に、上記第1の通信装置からの動作要求が複数含まれていた場合に、その各動作要求を分離し、その各動作要求に係る動作を個別に実行するようにするとよい。
このような通信方法において、上記第1の切換手順に、上記通信装置のアドレス情報と上記相手先装置のアドレス情報とを取得し、これらのアドレス情報に基づいて、動作要求の送信を上記第1の通信手順により行うか上記第2の通信手順により行うかを決定する手順を設けるとよい。
〔通信システムと通信システムの構成:図1乃至図3〕
まず図1に、この発明の通信方法を適用する対象であり、この発明の通信システムの実施形態を含む通信システムの構成を示す。
この通信システムは、図1に示すように、ローカル環境1に、通信装置10aと通信装置10bとをLAN(ローカルエリアネットワーク)を介して通信可能なように設けている。また、LAN12はファイアウォール11を介してインターネット13に接続しており、通信装置10a,10bが、インターネット上に設けた通信装置10cとファイアウォール11を介して通信できるようにしている。
以後、これらの通信装置を総称する場合には、符号「10」を用いる。また、図1に示したような各通信装置のうち、任意の少なくとも2つの通信装置によって構成される通信システムが、この発明の通信システムの実施形態である。
この図に示すように、通信装置10は、CPU101,ROM102,RAM103,不揮発メモリ104,ネットワークインタフェース(I/F)105を備え、これらがシステムバス106により接続されている。
ROM102は、不揮発性の記憶手段であり、CPU101が実行するプログラムや、固定的なパラメータ等を記憶する。ROM102を書き換え可能な記憶手段として構成し、これらのデータをアップデートできるようにしてもよい。
不揮発メモリ104は、フラッシュメモリやHDD(ハードディスクドライブ)等による書き換え可能な不揮発性記憶手段であり、CPU101が実行するプログラムや、装置の電源がOFFされた後でも保持しておく必要があるパラメータの値等を記憶する。
また、動作要求としては、例えば印刷要求(通信装置がプリンタの場合)や、FAX送信要求(通信装置がFAX装置の場合)のように、装置に外見上把握できるような動作を実行させるものや、装置の動作状況の通知やデータ転送要求等、データの転送や内部的な処理を行わせるもの等、種々のものが考えられる。
そして、各通信装置10は、ネットワークを介して受信した動作要求の内容に応じた処理を行ってその結果を動作応答として返すことにより、ウェブサービスを提供することができる。
図3(A)は、いずれかの通信装置(通信装置Aとする)で他の通信装置(通信装置Bとする)に対する動作要求が発生したケースである。このケースでは、通信装置Aが通信装置A側動作要求を生成して通信装置Bに送信し、これを受け取った通信装置Bがその要求に対する動作応答を返すというモデルになる。
このように、動作要求及び動作応答は、RPCのレベルでは各通信装置10の間で対称に取り扱われるものである。しかし、後述するとおり、通信のレベルでは対称には取り扱えない場合がある。
そして、実際に動作要求や動作応答を転送するための通信プロトコルとしては、システムの構成に合わせて適当なものを採用することができ、例えばHTTP(HyperText Transfer Protocol)やSMTP(Simple Mail Transfer Protocol)を採用することができる。ここでは、このうちHTTPを採用する場合の例について説明する。
より具体的には、通信を行う装置間にファイアウォールがなければ、通信を行う通信装置10が互いに通信相手に対してHTTPリクエストを送信し、通信相手からHTTPレスポンスを受信できるため、各通信装置が通信クライアントと通信サーバの両方として機能する。この場合には、通信のレベルでも、各通信装置を対称に動作させることができる。
まず、図4に、各通信装置10がRPCに関連して備える機能部及び、その各機能部間でのメッセージの受け渡し経路を示す。この図において、図示している通信装置10が生成した動作要求及びその動作要求に対する動作応答の受け渡し経路は実線で示し、図示している通信装置10に対する動作要求及びその動作要求に対する動作応答の受け渡し経路は破線で示している。また、以下の図も含め、特に断らない場合、図に示す各構成要素の機能は、CPU101が所要の制御プログラムを実行することにより実現されるものである。
この切り替えは、所定のパラメータの値を手動又は自動で設定して行うようにしてもよいし、通信装置10が通信相手のIP(Internet Protocol)アドレス等の位置情報を検出し、その内容(例えばネットワークアドレスが同一か否か)に従って自動的に行うようにしてもよい。通信装置10が特定の通信相手とのみ通信するような場合には、送信先切り替え部71が、常に第1,第2のメッセージコントローラ40,50のいずれか一方にコマンド送信に係る処理を実行させることもあり得る。
そして、通信応答振り分け部73は、HTTPレスポンス受信部22がHTTPレスポンスを受信した場合に、送信元記憶部72が記憶している情報をもとに、そのHTTPレスポンスを、対応するHTTPリクエストの送信を要求したメッセージコントローラに渡す機能を有する。
そして、実行結果振り分け部75は、受信コマンド実行結果生成部62がコマンドの応答として実行結果を返す場合に、その応答を、対応するコマンドを渡したメッセージコントローラに返す機能を有する。
これらの送信元記憶部74及び実行結果振り分け部75の機能も、上記の送信元記憶部72及び通信応答振り分け部73の場合と同様、特に専用のコードを書かなくても実現できる。図4においてこれらを仮想線で示しているのは、このためである。
まず、図5に、第1のメッセージコントローラ40を用いた場合の、通信装置間の通信シーケンスの例を示す。この図においては、ファイアウォールの内側の通信装置Lと外側の通信装置Mとの間でコマンド及びそのコマンドに対する応答(以下「コマンド応答」ともいう)を送受信する場合の例を示している。また、通信装置Lと通信装置Mの双方が第1のメッセージコントローラ40を備えているものとする。
そこで、このことを利用し、通信装置Lから通信装置Mに対して定期的にHTTPリクエストを送信するようにすれば、通信装置M側に、M側コマンドや、L側コマンドに対する応答を長期間滞留させずに、速やかに通信装置Lに送信できるようにすることができる。
そして、このようにすることにより、必要な情報を転送するために必要なコネクションの回数を減らし、オーバーヘッドを低減して通信の効率化を図っている。
説明のため、図5には極めて単純なシーケンス例を示したが、図6には、各HTTPリクエストやHTTPレスポンスに記載するコマンドやコマンド応答の数が一定でない例を示している。
もちろんM側コマンドについても同様であり、M側コマンドを記載したHTTPレスポンスの次のHTTPリクエストにそのコマンドに対する応答を記載する必要はない。そして、さらに後のHTTPリクエストに記載して転送すればよい。
この図に示すように、第2のメッセージコントローラ50を用いる場合には、通信装置Lと通信装置Nのいずれも、通信相手に対してHTTPリクエストを送信し、その応答として通信相手からHTTPレスポンスを受信するようにしている。
通信装置間にファイアウォールがない場合には、通信相手に対するHTTPリクエストがファイアウォールにより遮断されることはないので、このような通信手順により、コマンドとコマンド応答の送受信が可能である。
ただし、ネットワーク内のトラフィック低減のため、図7に示したようにHTTPリクエストを双方が送信する場合でも、図5及び図6に示したように、コマンド及びコマンド応答を、1つの通信メッセージに複数記載するようにすることも考えられる。
次に、図8乃至図25を用いて、上述した通信装置10が第1,第2のメッセージコントローラ40,50を用いて通信を行う場合の通信手順について、より詳細に説明する。
まず、第1のメッセージコントローラ40を用いる場合、複数のコマンドやコマンド応答を1つのHTTPメッセージに記載して転送することは上述した通りである。しかし、各コマンド及びコマンド応答は、それぞれ独立して生成され、また処理に供されるべきものであるから、このような一括転送を行うためには、転送前にこれらのコマンドやコマンド応答を結合し、また転送後に分離する処理が必要となる。
図8に示すように、第1のメッセージコントローラ40には、送信コマンドプール41,受信コマンドプール42,コマンド応答通知部43,コマンド通知部44,送信メッセージ収集部45,受信メッセージ分配部46を設けている。このうち送信コマンドプール41及び受信コマンドプール42は、不揮発メモリ104のような書き換え可能な不揮発性記憶手段に設けられるものである。
この図に示すように、送信コマンドシートには、「コマンドID」、「メソッド名」、「入力パラメータ」、「状態」、「コマンド実行結果の通知先」、および「出力パラメータ」のデータを記憶する領域を設けている。そして、このうち「コマンドID」、「メソッド名」、および「入力パラメータ」が送信コマンド(及びそこに付されたID)に該当する。「出力パラメータ」は、通信相手から受信するコマンド応答の内容である。
まず、「メソッド名」は、通信相手に対する要求の内容であり、通信相手において呼び出す関数の種類を示す。「入力パラメータ」は、「メソッド名」に付随するデータであり、関数を呼び出す際の引数である。「コマンドID」は、送信コマンドを識別するための識別情報である。「状態」は、送信コマンドに関する処理の進行状況を示すデータであり、処理の進行と共に、「未送信」→「応答待ち」→「応答受信済」と遷移していく。
この図に示すように、受信コマンドシートには、「コマンドID」、「メソッド名」、「入力パラメータ」、「状態」、「出力パラメータ」、および「コマンドの通知先」のデータを記憶する領域を設けている。そして、このうち「コマンドID」、「メソッド名」、および「入力パラメータ」が受信コマンド(及びそこに付されたID)に該当し、「状態」及び「コマンドの通知先」が管理情報に該当する。「出力パラメータ」は、受信コマンドの実行結果であり、通信装置10が返すコマンド応答の内容となる。
まず、「メソッド名」は、通信装置10に対する要求の内容であり、通信装置10において呼び出す関数の種類を示す。「入力パラメータ」は、「メソッド名」に付随するデータであり、関数を呼び出す際の引数である。「コマンドID」は、受信コマンドを識別するための識別情報である。「状態」は、受信コマンドに関する処理の状態を示すデータであり、処理の進行と共に、「未処理」→「処理完了」→「応答済」、あるいは「未処理」→「処理中」→「処理完了」→「応答済」と遷移していく。「出力パラメータ」には、受信コマンド実行結果生成部62によって生成された応答が格納される。受信コマンドの実行が終了し、上記の「状態」が「処理完了」となるまでは空である。「受信コマンドの通知先」は、受信コマンドの実行を行うモジュールを示す参照情報である。なお、このモジュールは通常はいずれかのアプリ60に含まれる受信コマンド実行結果生成部62である。
なお、受信コマンドが通信装置10に優先して処理を実行させるための実行優先順位の情報を含む場合には、優先順位の高いものから優先的に通知するようにすることも考えられる。
なお、コマンド応答や送信コマンドに実行優先順位が指定されている場合には、送信メッセージ収集部45がそれぞれ実行優先順位の高いものから順に読み出すようにすることが考えられる。
このようなコマンドやコマンド応答からのSOAPメッセージの生成は、WSDL(Web Service Description Language)に基づいて生成される所要の変換プログラム(シリアライザ)を実行し、データを直列化することによって行うことができる。
また、このとき送信メッセージをHTTPリクエスト送信部21又はHTTPレスポンス送信部32のどちらに渡すかは、サーバ/クライアント切り替え部45aが決定する。上述した通り、通信相手とファイアウォール越しに通信を行う場合、通信装置10が通信相手に対してファイアウォールの内側にある場合にはHTTPクライアント機能部20を、外側にある場合にはHTTPサーバ機能部30を使用するようにするので、この基準に応じて、前者の場合には送信メッセージをHTTPリクエスト送信部21に渡し、後者の場合にはHTTPレスポンス送信部32に渡すようにする。
また、メッセージの送信の説明に戻ると、HTTPメッセージの送信に際し、1つのHTTPメッセージに送信メッセージをいくつ含めてもよいし、コマンド応答に係る送信メッセージと送信コマンドに係る送信メッセージとを任意に混在させることもできる。
そして、この読み出しの試みは、送信メッセージ収集部45がHTTPクライアント機能部20を利用する場合、すなわち、通信装置10が通信クライアントとして機能する場合には、定期的に行うものとする。例えば、タイマによって60分毎に読み出すことが考えられる。
ここで、受信メッセージとは、上記のコマンドや応答とコマンドIDとをSOAPメッセージとして記載したものである。
具体的には、受信コマンド及びそのコマンドと関連付けられたコマンドIDとを受信コマンドプール42に受信コマンドシートを設けて登録すると共に、送信コマンドに対する応答については、そのコマンドと関連付けられたコマンドIDを送信コマンドプール41に記憶している送信コマンドシートのコマンドIDと照合して対応する送信コマンドを特定し、その送信コマンドについての「出力パラメータ」として登録する。
そしてこのとき、HTTPメッセージを分割してそこに含まれる各受信メッセージを取り出し、そのデータをテーブルへの登録に必要な形式に変換するが、この変換は、WSDLに基づいて生成される所要の変換プログラム(デシリアライザ)を実行することによって行うことができる。
このHTTPリクエストは、図11に示すように、ボディ部としてMIME(Multipurpose Internet Mail Extension)に従ったマルチパートのメッセージが記載され、この各パートには、それぞれエンティティヘッダが記載されると共に、詳細な図示は省略しているが、SOAPエンベロープが埋め込まれている。図11の例では、HTTPリクエストのHTTPボディには、「MIME_boundary」で区分された各要素が、独立した第1パート、第2パート、第3パート、第4パートを構成しているが、HTTPボディに含めることのできるパート数は4つに限られない。0個を含め、いくつでもよい。
また、通信相手から受信するHTTPリクエストのうち、第1のメッセージコントローラ40で処理すべきものも、同様な形式であり、例えば、Content-Typeヘッダの内容により、それと見分けることができる。HTTPリクエストに埋め込まれて通信相手から引き渡されるSOAPエンベロープには、(通信装置10にとっての)受信コマンドを記載したものと、送信コマンドに対する応答を記載したものとがある。
図12に示すように、このHTTPレスポンスは、形式としては、図11に示したHTTPリクエストとHTTPヘッダ部が異なるのみであり、ボディ部には、HTTPリクエストの場合と同様に詳細な図示は省略しているが、MIMEに従ったマルチパートのSOAPエンベロープが記載される。SOAPエンベロープの内容については、当然コマンドやコマンド応答の内容に従って異なるものである。
HTTPレスポンスに埋め込まれて通信相手から引き渡されるSOAPエンベロープには、受信コマンドを記載したものと、送信コマンドに対する応答を記載したものとがある。
また、第1のメッセージコントローラ40が通信相手に送信するHTTPレスポンスも、同様な形式であり、HTTPレスポンスに埋め込んで通信相手に引き渡すSOAPエンベロープには、送信コマンドを記載したものと、受信コマンドに対する応答を記載したものとがある。
図13に示すのは、コマンドを記載したパートの第1の例である。
この例においては、まず、エンティティヘッダの部分の「X-SOAP-Type」ヘッダに、このパートに記載されているSOAPメッセージがSOAPリクエストであるかSOAPレスポンスであるかを示す情報を記載している。この例では、値の「Request」により、SOAPリクエストであること、すなわちコマンドを記載したSOAPメッセージであることを示している。
この例においては、まず、エンティティヘッダの部分の「X-SOAP-Type」ヘッダの値を「Response」と記載することにより、このパートに記載されているSOAPメッセージがSOAPレスポンスであること、すなわちコマンド応答を記載したSOAPメッセージであることを示している。
この例においても、図13の場合と同様に、「X-SOAP-Type」ヘッダの値の「Request」により、このパートに記載されているSOAPエンベロープがSOAPリクエストであることを示し、「SOAPAction」ヘッダの情報により、SOAPリクエストの内容を示している。
SOAPヘッダには、「要求ID」のXMLタグの内容として、このコマンドのIDである「98765」が記載されている。そして、SOAPボディには、コマンドシートの「メソッド名」に記憶されるべきメソッドを指定する情報として、「センサ値取得」タグが記載され、その下位のタグ「センサID」の要素として、「入力パラメータ」に記憶されるべき引数が記載されている。ここではセンサ値を取得するセンサのIDが記載されている。
この例においても、図16の場合と同様に、エンティティヘッダの部分の「X-SOAP-Type」ヘッダの値を「Response」と記載することにより、このパートに記載されているSOAPメッセージがSOAPレスポンスであることを示している。
また、この例においても、名前空間の宣言は図15に示した例と同様である。そして、SOAPヘッダには、「コマンドID」のXMLタグの内容として、応答を生成した受信コマンドのIDである「98765」が記述されている。SOAPボディには、「センサ値取得」コマンドに対する応答であることを示すための「センサ値取得Response」タグが設けられ、その下位のタグに、コマンド応答の内容が記載される。ここでは、値取得を要求されたセンサの示す値の情報が記載されている。
通信装置10のCPU101は、サーバ/クライアント切り替え部45aにより通信装置10が通信クライアントとして機能する状態となっている場合、送信メッセージ収集部45が送信コマンドやコマンド応答等の読み出しを試みるタイミングになると、図17のフローチャートに示す処理を開始する。
そして、まず送信コマンドの収集処理を行う(S11)。この処理は、送信コマンドプール41から通信相手に送信すべき送信コマンドを収集する処理であり、収集したデータからSOAPエンベロープによるパートを生成する処理を含む。
その後、ステップS11及びS12の処理で生成したパートを1つにマージして、すべてのパートを含むHTTPリクエストを生成し(S13)、そのHTTPリクエストを通信相手に送信する(S14)。
ここまでの処理において、ステップS11及びS12ではCPU101は送信メッセージ収集部45として機能し、ステップS13及びS14ではHTTPリクエスト送信部21として機能する。
そしてその後、分割して得た全てのパートを順に対象として、ステップS17乃至S19の処理を繰り返す。この処理においては、まず対象のパートが受信コマンドを記載したパートか否か判断する(S17)。そして、受信コマンドであれば受信コマンド登録処理を行う(S18)。また、受信コマンドでないときは、送信コマンドに対する応答が記載されたパートであるので、応答通知処理を行う(S19)。
ここまでの処理において、ステップS15及びS16ではCPU101はHTTPレスポンス受信部22として機能し、ステップS17乃至S19では受信メッセージ分配部46として機能する。
図18は、図17のステップS11乃至S14の部分の処理をより詳細に示したフローチャートである。
なお、ステップS24又はS28で行った「状態」の変更は、実際にこの送信が終了してから行うようにしてもよい。このようにすることにより、通信エラーが発生しても、送信しようとしていたコマンド及びコマンド応答を再度送信の対象とすることができるので、システムの信頼性が向上する。
以上でHTTPリクエストの送信に関する処理を終了し、図17のステップS15以降に相当する処理に進む。
この処理においては、通信装置10のCPU101はまず、送信したHTTPリクエストに対するHTTPレスポンスの受信を待ち、通信相手からこれを受信する(S31)。これを受信すると、そのHTTPボディを解析して各パートに分割する(S32)。
そしてその後、分割して得た各パートを順次対象として、ステップS33乃至ステップS41の処理を繰り返す。
このステップS37の処理においては、CPU101がコマンド応答通知部43として機能する。
以上のステップS37までの処理が終了すると、次のパートがあればそれを対象としてステップS33からの処理を繰り返す。
そして、これが完了すると、実行結果を受信コマンドシートの「出力パラメータ」の項目に登録する(S42)と共に、受信コマンドシートの「状態」を「処理完了」に変更し、処理が完了したことを示す(S43)。
以上のうちステップS40及びS41の処理においては、CPU101がコマンド通知部44として機能する。
全てのパートについてステップS33乃至S43の処理が終了すると、図19のフローチャートに示した処理は終了する。
なお、ステップS40乃至S43の処理は、アプリ側の処理能力を考慮して、図19のフローチャートに示した処理とは別に非同期で行うようにしてもよい。
この場合、CPU101は適当なタイミングで図20のフローチャートに示す処理を開始する。
そして、この処理においては、まず受信コマンドプールに「状態」が「処理待ち」である受信コマンドシートがあるか否か判断し(S51)、なければこのような受信コマンドシートが追加されるまで待機する。そして、このような受信コマンドシートを発見した場合、その1つを処理対象とし、その受信コマンドシートの「状態」を「処理中」に変更する(S52)。
そして、これが完了すると、実行結果を受信コマンドシートの「出力パラメータ」の項目に登録する(S54)と共に、受信コマンドシートの「状態」を「処理完了」に変更し、処理が完了したことを示す(S55)。そして、これが完了するとステップS51に戻って処理を繰り返す。
通信装置10のCPU101は、サーバ/クライアント切り替え部45aにより通信装置10が通信サーバとして機能する状態となっている場合、通信相手からHTTPリクエストが送信されてくると、図21のフローチャートに示す処理を開始する。
そしてその後、分割して得た全てのパートを順に対象として、ステップS64乃至S66の処理を繰り返す。この処理においては、まず対象のパートが受信コマンドを記載したパートか否か判断する(S64)。そして、受信コマンドであれば受信コマンド登録処理を行う(S65)。また、受信コマンドでないときは、送信コマンドに対する応答が記載されたパートであるので、応答通知処理を行う(S66)。
ここまでの処理において、CPU101は、ステップS61及びS63ではHTTPリクエスト受信部31として機能し、ステップS62では通信要求振り分け部76として機能し、ステップS64乃至S66では受信メッセージ分配部46として機能する。
次に、受信コマンドに対する応答である受信コマンド実行結果の収集処理を行う(S68)。この処理は、受信コマンドプール42から通信相手に送信すべきコマンド応答を収集する処理であり、やはり収集したデータからSOAPエンベロープによるパートを生成する処理を含む。
ここまでの処理において、ステップS67及びS68ではCPU101は送信メッセージ収集部45として機能し、ステップS69及びS70ではHTTPレスポンス送信部32として機能する。
また、コマンドやコマンド応答を受信した場合にアプリ60の送信コマンド生成部61や受信コマンド実行結果生成部62に通知できるので、アプリ60側で各送信コマンド生成部61や受信コマンド実行結果生成部62が個別にコマンドプールを検索する必要がなく、このような処理を行うためのリソースを節約して処理負荷を低減できると共に、このような処理を行うプログラムを開発するための労力も節減できる。
送信については、まず始めにHTTPヘッダを送信し、以後パートを生成するたびにそのパートを順次送信し、全てのパートの送信が完了した時点でその旨のデータを送信するようにしてもよい。このようにしても、これらの課程で送信されるデータが1つのみのHTTPヘッダを持つ論理的に連続した1つのHTTPメッセージであれば、1回のセッションで転送でき、ネゴシエーションの処理は1回で済むので、マージして送信する場合と同様な効果を得ることができる。また、送信すべきデータのバッファに必要なメモリ容量を低減できるので、低コストの通信装置で大きなデータを取り扱うことができる。
また、受信側でも、各パートに関する処理を、各パートを受信するたびに順次行うようにすることができる。このようにした場合に容量を低減できることは、送信側の場合と同様である。
図22に、このような転送を実現するための第2のメッセージコントローラ50の構成を示す。この図で用いている線の種類とその意味は、図4の場合と同様である。
そして、コマンド送信部51は、アプリ60に含まれる送信コマンド生成部61が通信相手に対するコマンド(送信コマンド)を生成し、送信先切り替え部71がそのコマンドの送信に第2のメッセージコントローラ50の使用を選択した場合に、そのコマンドから送信メッセージを生成し、HTTPリクエスト送信部21に渡して通信相手に送信させる機能を有する。
また、実行結果受信部52は、HTTPレスポンス受信部22を介して通信相手からHTTPレスポンスを受け取る機能と、受信したHTTPレスポンスに含まれるSOAPレスポンスから、コマンド応答に係るデータを取り出す機能を有する。このデータの取り出しは、デシリアライザを用いて行うことができる。
また、実行結果送信部56は、受信コマンド実行結果生成部62が生成したコマンド応答を取得し、そのコマンド応答に係る送信メッセージを生成し、HTTPレスポンス送信部32に渡して通信相手に送信させる機能を有する。この送信メッセージの形式も、図8に示した送信メッセージ収集部45が生成するものと同じものでよい。
以上のような第2のメッセージコントローラ50を用いてコマンドやコマンド応答を送受信する場合の処理の流れについては、以下の図23及び図24のフローチャートの説明において述べる。
この処理においては、まずステップS81で、送信コマンド生成部61の機能により、アプリ60の機能に応じた送信コマンドを生成する。そして、ステップS82で、送信先切り替え部71の機能により、その送信コマンドを、ファイアウォール越しの通信により通信相手に送信するか否かを判断する。
この図では破線でステップS86として示すが、ステップS85の処理には、図19のステップS37に示したような、コマンド応答通知部43の機能により、送信コマンドを生成した送信コマンド生成部61にそのコマンド応答を渡す処理も含む。そして、ステップS93で、送信コマンド生成部61の機能により、渡されたコマンド応答の内容に応じた処理を行って、一連の処理を終了する。
そして、ステップS92で、実行結果受信部52と実行結果振り分け部53の機能により、受信したHTTPレスポンス中のSOAPレスポンスに記載されているコマンド応答(実行結果)の情報を、対応するコマンドを生成した送信コマンド生成部61に渡す。そしてこの場合も、ステップS93で、送信コマンド生成部61の機能により、渡されたコマンド応答に係る処理を行って、一連の処理を終了する。
この処理においては、まずステップS101で、HTTPリクエスト受信部31の機能により、送信されてきたHTTPリクエストを受信する。そして、ステップS102で、通信要求振り分け部76の機能により、そのHTTPリクエストがマルチパートのものか否か判断する。
この図では破線でステップS105として示すが、ステップS104の処理には、図19のステップS41あるいは図20のステップS53に示したような、コマンド通知部44の機能により、そのコマンドに係る処理を行う受信コマンド実行結果生成部62に通知する処理も含む。
そして、ステップS105とステップS107のどちらで通知を行った場合も、ステップS108に進み、受信コマンド実行結果生成部62の機能により、受信コマンドの実行に係る処理を行う。
通信装置10は、以上のような処理を行うことにより、通信相手の位置に応じて適切な通信プロトコルを選択して、動作要求の受信及びその動作要求に対する動作応答の送信を行うことができる。また、この場合において、受信コマンド実行結果生成部62は、いずれのプロトコルを利用する場合でも共通のものとすることができる。
また、上記のようなプロトコルの切り替えを可能としておくことにより、ファイアウォールとの位置関係を考慮することなく通信装置を配置して通信システムを構築できるため、通信システムの構築作業も効率化することができる。
次に、上述した実施形態の種々の変形例について説明する。
まず、上述した実施形態では、通信システムを構成する全ての通信装置が、上述した通信装置10と同様な機能を有する例について説明したが、このようにすることは必須ではない。例えば、常に間にファイアウォールがないような通信相手としか通信しない装置には、第1のメッセージコントローラ40を設ける必要はない。通信装置10は、第2のメッセージコントローラ50を用いて通信を行えば、第1のメッセージコントローラ40を持たない通信相手との間でも動作要求や動作応答を送受信することができる。また、同様の理由により、第1のメッセージコントローラ40を用いた通信において、通信サーバと通信クライアントの双方として機能できるようにすることも、必須ではない。
ただし、コマンドやコマンド応答の送信元や送信先が複数考えられる場合には、第1のメッセージコントローラ40を利用する場合において、これらの発信元と宛先とを把握できるように、これらの情報もコマンドやコマンド応答のメッセージに含め、またコマンドシートにも記載して管理するようにするとよい。
また、送受信するコマンドやコマンド応答の情報量に制限を設けても構わない。特に、受信するコマンドの情報量を制限するようにすると、受信側がメモリ容量の限られた装置である場合にメモリの使用量を抑えることができる。
すなわち、上述した実施形態における、通信装置間でのコマンド及びこれに対するコマンド応答のやり取りは、XMLで記述されたSOAPメッセージにより行うこととしているが、これに限るものでなく、他の形式で記述されていてもよい。
さらにまた、通信システムの構成についても、以上説明したものに限られることはない。
この遠隔管理システムは、インターネット13に接続して設けた管理装置120により、テレビ受像機110a,冷蔵庫110b,MFP110c,自動販売機110d,計量システム110e,空調システム110f,航空機110g,自動車110hのような被管理装置110を管理するシステムである。
この他にも、システムの構成、具体的な処理内容、通信に使用する通信プロトコル等が上述の実施形態で説明したものに限られないことはもちろんである。例えば、通信装置間の通信経路としては、有線、無線を問わず、任意のものを用いることができる。
さらに、ネットワークに接続され、プログラムを記録した記録媒体を備える外部機器あるいはプログラムを記憶手段に記憶した外部機器からダウンロードして実行させることも可能である。
従って、この発明を、通信装置間で動作要求を送受信させる通信システムに適用すれば、効率のよい通信が可能な通信システムを構築することができる。
23:インターネット、20:HTTPクライアント機能部、
21:HTTPリクエスト送信部、22:HTTPレスポンス受信部、
30:HTTPサーバ機能部、31:HTTPリクエスト受信部、
32:HTTPレスポンス送信部、40:第1のメッセージコントローラ、
41:送信コマンドプール、42:受信コマンドプール、43:コマンド応答通知部、
44:コマンド通知部、45:送信メッセージ収集部、
45a:サーバ/クライアント切り替え部、46:受信メッセージ分配部、
50:第2のメッセージコントローラ、51:コマンド送信部、
52:実行結果受信部、53:実行結果振り分け部、54:コマンド受信部、
55:コマンド振り分け部、56:実行結果送信部、60:アプリ、
61:送信コマンド生成部、62:受信コマンド実行結果生成部、
71:送信先切り替え部、72:送信元記憶部、73:通信応答振り分け部、
74:送信元記憶部、75:実行結果振り分け部、76:通信要求振り分け部
Claims (16)
- 通信相手の装置である相手先装置との間で動作要求及び該動作要求に対する応答である動作応答を送受信する通信装置であって、
前記相手先装置から通信要求を受信し、該相手先装置に対してその通信要求に対する通信応答を送信し、前記相手先装置に対する動作要求と、前記相手先装置から受信した動作要求に対する動作応答とを、前記通信応答に含めて一括して前記相手先装置に送信し、前記相手先装置からの動作要求と、前記相手先装置に送信した動作要求に対する動作応答とを、前記通信要求に含まれた状態で一括して前記相手先装置から受信する第1の通信手段と、
前記相手先装置に対する動作要求を前記相手先装置に対する通信要求に含めて送信し、該相手先装置に対する動作要求に対する動作応答を該送信した通信要求に対する通信応答に含まれた状態で受信し、前記相手先装置からの動作要求を前記相手先装置からの通信要求に含まれた状態で受信し、該相手先装置からの動作要求に対する動作応答を、該受信した通信要求に対する通信応答に含めて送信する第2の通信手段と、
前記相手先装置に対する動作要求を前記相手先装置に送信する場合に、当該通信装置が前記相手先装置に対してファイアウォールの外側にあるとき、前記第1の通信手段に該送信を行わせ、当該通信装置と前記相手先装置との間にファイアウォールがないとき、前記第2の通信手段に該送信を行わせる第1の切換手段とを備えたことを特徴とする通信装置。 - 請求項1に記載の通信装置であって、
前記第1の切換手段は、当該通信装置のアドレス情報と前記相手先装置のアドレス情報とを取得し、これらのアドレス情報に基づいて、動作要求の送信を前記第1の通信手段に行わせるか前記第2の通信手段に行わせるかを決定することを特徴とする通信装置。 - 請求項1又は2に記載の通信装置であって、
前記第1の通信手段が受信した動作要求を受信要求プールに記憶させる手段と、
前記受信要求プールに記憶されている動作要求に係る動作を実行してその実行結果を該動作要求と対応させて前記受信要求プールに記憶させる要求実行手段と、
前記第1の通信手段により前記相手先装置に送信すべき動作要求を送信要求プールに記憶させる手段とを備え、
前記第1の通信手段は、前記相手先装置から通信要求を受信した場合に、前記受信要求プールに記憶されている動作要求に係る動作の実行が全て完了しているか否かに関わらず、前記送信要求プールに記憶されている未送信の動作要求と、前記受信要求プールに記憶されている未送信の実行結果を前記相手先装置に伝達するための動作応答とを、該通信要求に対する動作応答に含めて前記相手先装置に送信することを特徴とする通信装置。 - 請求項1乃至3のいずれか一項に記載の通信装置であって、
前記第1の通信手段は、前記相手先装置から通信要求を受信し、該相手先装置に対してその通信要求に対する通信応答を送信し、前記相手先装置に対する動作要求と、前記相手先装置から受信した動作要求に対する動作応答とを、前記通信応答に含めて一括して前記相手先装置に送信し、前記相手先装置からの動作要求と、前記相手先装置に送信した動作要求に対する動作応答とを、前記通信要求に含まれた状態で一括して前記相手先装置から受信する第1の通信動作と、前記相手先装置に対して通信要求を送信し、該相手先装置からその通信要求に対する通信応答を受信し、前記相手先装置に対する動作要求と、前記相手先装置から受信した動作要求に対する動作応答とを、前記通信要求に含めて一括して前記相手先装置に送信し、前記相手先装置からの動作要求と、前記相手先装置に送信した動作要求に対する動作応答とを、前記通信応答に含まれた状態で一括して前記相手先装置から受信する第2の通信動作とを選択的に実行する手段であり、
当該通信装置が前記相手先装置に対してファイアウォールの外側にあるとき、前記第1の通信手段に前記第1の通信動作を実行させ、当該通信装置が前記相手先装置に対してファイアウォールの内側にあるとき、前記第1の通信手段に前記第2の通信動作を実行させる第2の切換手段を備え、
前記第1の切換手段は、当該通信装置が前記相手先装置に対してファイアウォールの内側にあるときにも、前記第1の通信手段に前記動作要求の送信を行わせることを特徴とする通信装置。 - 請求項3に記載の通信装置を通信相手とする通信装置であって、
前記通信相手に対する動作要求を、該通信相手に対する通信要求に含めて送信し、該通信要求に対する通信応答に、前記送信した動作要求に対する動作応答が含まれていない場合でも、該通信応答に含まれている、前記通信相手から当該通信装置への動作要求に係る動作を実行することを特徴とする通信装置。 - 請求項3に記載の通信装置を通信相手とする通信装置であって、
通信相手に送信した通信要求に対する通信応答に、前記通信相手からの動作要求が複数含まれていた場合に、該各動作要求を分離し、該各動作要求に係る動作を個別に実行することを特徴とする通信装置。 - 互いに動作要求及び該動作要求に対する応答である動作応答を送受信する第1及び第2の通信装置を備えた通信システムであって、
前記第1の通信装置に、
前記第2の通信装置から通信要求を受信し、該第2の通信装置に対してその通信要求に対する通信応答を送信し、前記第2の通信装置に対する動作要求と、前記第2の通信装置から受信した動作要求に対する動作応答とを、前記通信応答に含めて一括して前記第2の通信装置に送信し、前記第2の通信装置からの動作要求と、前記第2の通信装置に送信した動作要求に対する動作応答とを、前記通信要求に含まれた状態で一括して前記第2の通信装置から受信する第1の通信手段と、
前記第2の通信装置に対する動作要求を前記第2の通信装置に対する通信要求に含めて送信し、該第2の通信装置に対する動作要求に対する動作応答を該送信した通信要求に対する通信応答に含まれた状態で受信し、前記第2の通信装置からの動作要求を前記第2の通信装置からの通信要求に含まれた状態で受信し、該第2の通信装置からの動作要求に対する動作応答を、該受信した通信要求に対する通信応答に含めて送信する第2の通信手段と、
前記第2の通信装置に対する動作要求を前記第2の通信装置に送信する場合に、前記第1の通信装置が前記第2の通信装置に対してファイアウォールの外側にあるとき、前記第1の通信手段に該送信を行わせ、前記第1の通信装置と前記第2の通信装置との間にファイアウォールがないとき、前記第2の通信手段に該送信を行わせる第1の切換手段とを備えたことを特徴とする通信システム。 - 請求項7に記載の通信システムあって、
前記第1の通信装置の前記切換手段は、前記第1の通信装置のアドレス情報と前記第2の通信装置のアドレス情報とを取得し、これらのアドレス情報に基づいて、動作要求の送信を前記第1の通信手段に行わせるか前記第2の通信手段に行わせるかを決定することを特徴とする通信システム。 - 請求項7又は8に記載の通信システムであって、
前記第1の通信装置は、
前記第1の通信手段が受信した動作要求を受信要求プールに記憶させる手段と、
前記受信要求プールに記憶されている動作要求に係る動作を実行してその実行結果を該動作要求と対応させて前記受信要求プールに記憶させる要求実行手段と、
前記第1の通信手段により前記第2の通信装置に送信すべき動作要求を送信要求プールに記憶させる手段とを備え、
前記第1の通信装置の前記第1の通信手段は、前記第2の通信装置から通信要求を受信した場合に、前記受信要求プールに記憶されている動作要求に係る動作の実行が全て完了しているか否かに関わらず、前記送信要求プールに記憶されている未送信の動作要求と、前記受信要求プールに記憶されている未送信の実行結果を前記第2の通信装置に伝達するための動作応答とを、該通信要求に対する動作応答に含めて前記第2の通信装置に送信することを特徴とする通信システム。 - 請求項7乃至9のいずれか一項に記載の通信システムであって、
前記第1の通信装置の前記第1の通信手段は、前記第2の通信装置から通信要求を受信し、該第2の通信装置に対してその通信要求に対する通信応答を送信し、前記第2の通信装置に対する動作要求と、前記第2の通信装置から受信した動作要求に対する動作応答とを、前記通信応答に含めて一括して前記第2の通信装置に送信し、前記第2の通信装置からの動作要求と、前記第2の通信装置に送信した動作要求に対する動作応答とを、前記通信要求に含まれた状態で一括して前記第2の通信装置から受信する第1の通信動作と、前記第2の通信装置に対して通信要求を送信し、該第2の通信装置からその通信要求に対する通信応答を受信し、前記第2の通信装置に対する動作要求と、前記第2の通信装置から受信した動作要求に対する動作応答とを、前記通信要求に含めて一括して前記第2の通信装置に送信し、前記第2の通信装置からの動作要求と、前記第2の通信装置に送信した動作要求に対する動作応答とを、前記通信応答に含まれた状態で一括して前記第2の通信装置から受信する第2の通信動作とを選択的に実行する手段であり、
前記第1の通信装置は、前記第1の通信装置が前記第2の通信装置に対してファイアウォールの外側にあるとき、前記第1の通信手段に前記第1の通信動作を実行させ、前記第1の通信装置が前記第2の通信装置に対してファイアウォールの内側にあるとき、前記第1の通信手段に前記第2の通信動作を実行させる第2の切換手段を備え、
前記第1の切換手段は、前記第1の通信装置が前記第2の通信装置に対してファイアウォールの内側にあるときにも、前記第1の通信手段に前記動作要求の送信を行わせることを特徴とする通信システム。 - 請求項9に記載の通信システムであって、
前記第2の通信装置が、前記第1の通信装置に対する動作要求を、該第1の通信装置に対する通信要求に含めて送信し、該通信要求に対する通信応答に、前記送信した動作要求に対する動作応答が含まれていない場合でも、該通信応答に含まれている、前記第1の通信装置から前記第2の通信装置への動作要求に係る動作を実行することを特徴とする通信システム。 - 請求項9に記載の通信システムであって、
前記第2の通信装置が、前記第1の通信装置に送信した通信要求に対する通信応答に、前記第1の通信装置からの動作要求が複数含まれていた場合に、該各動作要求を分離し、該各動作要求に係る動作を個別に実行することを特徴とする通信システム。 - 通信相手の装置である相手先装置との間で動作要求及び該動作要求に対する応答である動作応答を送受信する通信装置における通信方法であって、
前記通信装置が、
前記相手先装置から通信要求を受信し、該相手先装置に対してその通信要求に対する通信応答を送信し、前記相手先装置に対する動作要求と、前記相手先装置から受信した動作要求に対する動作応答とを、前記通信応答に含めて一括して前記相手先装置に送信し、前記相手先装置からの動作要求と、前記相手先装置に送信した動作要求に対する動作応答とを、前記通信要求に含まれた状態で一括して前記相手先装置から受信する第1の通信手順と、
前記相手先装置に対する動作要求を前記相手先装置に対する通信要求に含めて送信し、該相手先装置に対する動作要求に対する動作応答を該送信した通信要求に対する通信応答に含まれた状態で受信し、前記相手先装置からの動作要求を前記相手先装置からの通信要求に含まれた状態で受信し、該相手先装置からの動作要求に対する動作応答を、該受信した通信要求に対する通信応答に含めて送信する第2の通信手順と、
前記相手先装置に対する動作要求を前記相手先装置に送信する場合に、前記通信装置が前記相手先装置に対してファイアウォールの外側にあるとき、前記第1の通信手順により該送信を行い、前記通信装置と前記相手先装置との間にファイアウォールがないとき、前記第2の通信手順により該送信を行うよう前記通信装置の動作を制御する第1の切換手順とを実行することを特徴とする通信方法。 - 請求項13に記載の通信方法であって、
前記第1の切換手順は、前記通信装置のアドレス情報と前記相手先装置のアドレス情報とを取得し、これらのアドレス情報に基づいて、動作要求の送信を前記第1の通信手順により行うか前記第2の通信手順により行うかを決定する手順を有することを特徴とする通信方法。 - 請求項13又は14に記載の通信方法であって、
前記通信装置が、
前記第1の通信手順で受信した動作要求を受信要求プールに記憶させる手順と、
前記受信要求プールに記憶されている動作要求に係る動作を実行してその実行結果を該動作要求と対応させて前記受信要求プールに記憶させる要求実行手順と、
前記第1の通信手順により前記相手先装置に送信すべき動作要求を送信要求プールに記憶させる手順とをさらに実行し、
前記第1の通信手順において、前記相手先装置から通信要求を受信した場合に、前記受信要求プールに記憶されている動作要求に係る動作の実行が全て完了しているか否かに関わらず、前記送信要求プールに記憶されている未送信の動作要求と、前記受信要求プールに記憶されている未送信の実行結果を前記相手先装置に伝達するための動作応答とを、該通信要求に対する動作応答に含めて前記相手先装置に送信することを特徴とする通信方法。 - 請求項13乃至15のいずれか一項に記載の通信方法であって、
前記第1の通信手順は、前記相手先装置から通信要求を受信し、該相手先装置に対してその通信要求に対する通信応答を送信し、前記相手先装置に対する動作要求と、前記相手先装置から受信した動作要求に対する動作応答とを、前記通信応答に含めて一括して前記相手先装置に送信し、前記相手先装置からの動作要求と、前記相手先装置に送信した動作要求に対する動作応答とを、前記通信要求に含まれた状態で一括して前記相手先装置から受信する第1の通信動作と、前記相手先装置に対して通信要求を送信し、該相手先装置からその通信要求に対する通信応答を受信し、前記相手先装置に対する動作要求と、前記相手先装置から受信した動作要求に対する動作応答とを、前記通信要求に含めて一括して前記相手先装置に送信し、前記相手先装置からの動作要求と、前記相手先装置に送信した動作要求に対する動作応答とを、前記通信応答に含まれた状態で一括して前記相手先装置から受信する第2の通信動作とを選択的に実行する手順であり、
前記通信装置は、
前記通信装置が前記相手先装置に対してファイアウォールの外側にあるとき、前記第1の通信手順で前記第1の通信動作を実行し、前記通信装置が前記相手先装置に対してファイアウォールの内側にあるとき、前記第1の通信手順で前記第2の通信動作を実行するよう前記通信装置の動作を制御する第2の切換手順を実行し、
前記第1の切換手順は、前記通信装置が前記相手先装置に対してファイアウォールの内側にあるときにも、前記第1の通信手順により前記動作要求の送信を行よう前記通信装置の動作を制御する手順であることを特徴とする通信方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005150415A JP4704105B2 (ja) | 2005-05-24 | 2005-05-24 | 通信装置、通信システム及び通信方法 |
US11/439,366 US7831737B2 (en) | 2005-05-24 | 2006-05-24 | Apparatus, method, and system for selecting one of a plurality of communication methods for communicating via a network based on the detection of a firewall |
EP06252698A EP1727331B1 (en) | 2005-05-24 | 2006-05-24 | Apparatus, method, and system for communicating via a network |
DE602006021094T DE602006021094D1 (de) | 2005-05-24 | 2006-05-24 | Apparat, Methode und System für das Kommunizieren über ein Netzwerk |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005150415A JP4704105B2 (ja) | 2005-05-24 | 2005-05-24 | 通信装置、通信システム及び通信方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2006330877A JP2006330877A (ja) | 2006-12-07 |
JP4704105B2 true JP4704105B2 (ja) | 2011-06-15 |
Family
ID=36992738
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005150415A Expired - Fee Related JP4704105B2 (ja) | 2005-05-24 | 2005-05-24 | 通信装置、通信システム及び通信方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US7831737B2 (ja) |
EP (1) | EP1727331B1 (ja) |
JP (1) | JP4704105B2 (ja) |
DE (1) | DE602006021094D1 (ja) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8126999B2 (en) | 2004-02-06 | 2012-02-28 | Microsoft Corporation | Network DNA |
JP4869896B2 (ja) * | 2006-12-07 | 2012-02-08 | 富士フイルム株式会社 | 光断層画像化装置 |
US8218165B2 (en) * | 2007-03-26 | 2012-07-10 | Ricoh Company, Ltd. | Interruption management method for an image forming apparatus |
US8438567B2 (en) * | 2007-11-07 | 2013-05-07 | Ricoh Company, Ltd. | Information processing device and image processing apparatus |
JP5020046B2 (ja) * | 2007-12-06 | 2012-09-05 | 株式会社リコー | 情報処理装置、情報処理方法、及び情報処理プログラム |
JP4933573B2 (ja) * | 2009-02-18 | 2012-05-16 | 日本電信電話株式会社 | Webシステムにおける分散処理方法およびwebシステムにおける分散処理システム |
US9026613B2 (en) * | 2011-08-29 | 2015-05-05 | Vmware, Inc. | Permanent connection oriented communication using parallel single connection circuits |
KR101384564B1 (ko) * | 2012-11-29 | 2014-04-17 | (주)투비소프트 | 데이터셋 전송 프로토콜을 이용한 다중 요청 처리 방법 |
CN106993016B (zh) * | 2016-07-20 | 2019-04-02 | 平安科技(深圳)有限公司 | 网络请求及响应的处理方法和装置 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004140803A (ja) * | 2002-09-19 | 2004-05-13 | Ricoh Co Ltd | 通信クライアント、通信クライアントの制御方法、プログラム及び記録媒体 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6349336B1 (en) | 1999-04-26 | 2002-02-19 | Hewlett-Packard Company | Agent/proxy connection control across a firewall |
AU2002234258A1 (en) * | 2001-01-22 | 2002-07-30 | Sun Microsystems, Inc. | Peer-to-peer network computing platform |
US7533333B2 (en) * | 2001-02-14 | 2009-05-12 | Ricoh Co., Ltd. | Object-oriented method and system of remote diagnostic, control and information collection using multiple formats and multiple protocols |
US20020161904A1 (en) | 2001-04-30 | 2002-10-31 | Xerox Corporation | External access to protected device on private network |
EP1418732B1 (en) * | 2002-09-19 | 2016-01-06 | Ricoh Company, Ltd. | Communication system implementing a plurality of communication apparatuses as communication client and communication server for exchanging operation requests and operation responses |
JP4030943B2 (ja) | 2002-09-19 | 2008-01-09 | 株式会社リコー | 画像処理装置、画像処理システム、画像処理装置の制御方法、プログラム及び記録媒体 |
JP2004139586A (ja) | 2002-09-24 | 2004-05-13 | Ricoh Co Ltd | 仲介装置、通信システム、仲介装置の制御方法、プログラム及び記録媒体 |
JP4160480B2 (ja) | 2002-09-24 | 2008-10-01 | 株式会社リコー | 仲介装置、通信システム、仲介装置の制御方法、プログラム及び記録媒体 |
JP4382006B2 (ja) | 2004-03-31 | 2009-12-09 | 株式会社リコー | 仲介装置、通信システム、通信方法、プログラム及び記録媒体 |
US20050228984A1 (en) * | 2004-04-07 | 2005-10-13 | Microsoft Corporation | Web service gateway filtering |
US7693994B2 (en) * | 2004-09-17 | 2010-04-06 | Ricoh Company, Ltd. | Intermediary apparatus, distributed processing system, data-transfer method, program and recording medium |
-
2005
- 2005-05-24 JP JP2005150415A patent/JP4704105B2/ja not_active Expired - Fee Related
-
2006
- 2006-05-24 US US11/439,366 patent/US7831737B2/en not_active Expired - Fee Related
- 2006-05-24 EP EP06252698A patent/EP1727331B1/en active Active
- 2006-05-24 DE DE602006021094T patent/DE602006021094D1/de active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004140803A (ja) * | 2002-09-19 | 2004-05-13 | Ricoh Co Ltd | 通信クライアント、通信クライアントの制御方法、プログラム及び記録媒体 |
Also Published As
Publication number | Publication date |
---|---|
DE602006021094D1 (de) | 2011-05-19 |
JP2006330877A (ja) | 2006-12-07 |
US20070043806A1 (en) | 2007-02-22 |
EP1727331A3 (en) | 2007-06-13 |
EP1727331A2 (en) | 2006-11-29 |
US7831737B2 (en) | 2010-11-09 |
EP1727331B1 (en) | 2011-04-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4704105B2 (ja) | 通信装置、通信システム及び通信方法 | |
US7693994B2 (en) | Intermediary apparatus, distributed processing system, data-transfer method, program and recording medium | |
US7620700B2 (en) | Communication system implementing a plurality of communication apparatuses as communication client and communication server for exchanging operation requests and operation responses | |
US7600050B2 (en) | Information processing apparatus, information processing apparatus control method, information processing program, and network system | |
JP4498770B2 (ja) | データ配信する画像形成装置及びその画像形成装置からデータを取得する情報処理装置 | |
US7587496B2 (en) | Transfer device, distributed processing system, transfer device control method, program, and recording medium | |
US7822864B2 (en) | Communication apparatus, program product for adding communication mechanism to communication apparatus for providing improved usability and communication efficiency, and recording medium storing program product | |
JP5558681B2 (ja) | デバイス検索装置、デバイス検索装置の制御方法、及びコンピュータプログラム | |
US8676967B2 (en) | Event proxy notification apparatus and method of controlling the same and program | |
EP1482697A2 (en) | Remote service provision using a chat protocol | |
JP2004139586A (ja) | 仲介装置、通信システム、仲介装置の制御方法、プログラム及び記録媒体 | |
JP4030943B2 (ja) | 画像処理装置、画像処理システム、画像処理装置の制御方法、プログラム及び記録媒体 | |
JP2007006263A (ja) | サービス提供システム、クライアント、提供サーバおよびプログラム | |
JP4382006B2 (ja) | 仲介装置、通信システム、通信方法、プログラム及び記録媒体 | |
JP2005322222A (ja) | 通信機能付加方法、プログラム、記録媒体及び通信装置 | |
US20040193746A1 (en) | Service search device, service search method and document processing system | |
JP4160480B2 (ja) | 仲介装置、通信システム、仲介装置の制御方法、プログラム及び記録媒体 | |
JP2005259106A (ja) | 仲介装置、分散処理システム、データ転送方法、プログラム及び記録媒体 | |
JP4527796B2 (ja) | 画像形成装置及び文書管理システム | |
JP2005259105A (ja) | 仲介装置、通信システム、仲介装置の制御方法、プログラム及び記録媒体 | |
JP4198562B2 (ja) | 通信クライアント、通信サーバ、通信システム及び通信方法 | |
JP2004139565A (ja) | 通信方法 | |
JP2006254046A (ja) | 仲介機能付通信装置、通信システム、仲介機能付通信装置の制御方法、プログラム及び記録媒体 | |
JP2006140946A (ja) | 情報処理装置、サービス連携方法およびサービス連携プログラム | |
JP5072499B2 (ja) | 画像形成装置、データ通信装置、データ通信方法、及びデータ通信プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070824 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100803 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20101004 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20101004 |
|
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: 20110308 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20110309 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4704105 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |