JP2005316991A - 仲介装置、通信システム、通信方法、プログラム及び記録媒体 - Google Patents
仲介装置、通信システム、通信方法、プログラム及び記録媒体 Download PDFInfo
- Publication number
- JP2005316991A JP2005316991A JP2005105313A JP2005105313A JP2005316991A JP 2005316991 A JP2005316991 A JP 2005316991A JP 2005105313 A JP2005105313 A JP 2005105313A JP 2005105313 A JP2005105313 A JP 2005105313A JP 2005316991 A JP2005316991 A JP 2005316991A
- Authority
- JP
- Japan
- Prior art keywords
- command
- response
- server
- request
- mediation
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Abstract
【解決手段】 ファイアウォール104の内側に設けることで、そのファイアウォール104の外側に設けられるーバである管理装置102と、ファイアウォール104の内側に設けられる数のクライアントである被管理装置10との間の通信を仲介する仲介装置101が、各被管理装置10からのコマンドを受信して管理装置102に転送し、管理装置102にアクセスした際、管理装置102において、それまでに転送したいずれかのコマンドに対する応答が送信可能な状態になっていた場合に、その応答を受信し、その応答を、その応答と対応するコマンドの送信元に転送するようにした。
【選択図】 図1
Description
また、この文献には、ローカルプロセッサがファイアウォールの内側に配置されている場合において、ローカルプロセッサからファイアウォールの外側のリモートプロセッサに通信要求を送信し、リモートプロセッサがこの通信要求に対する応答としてローカルプロセッサに対してコマンドを送信するようにすることにより、ファイアウォールの外側から内側に向けてコマンドを送信できるようにする技術も開示されている。
しかし、このような処理を採用した場合、サーバにおいてコマンドに係る処理の実行に時間を要する場合に、処理が終了するまで何の応答も返さないとすると、クライアント側ではサーバがコマンドを正常に受信したか否かを判断できない。そして、一定期間応答がなかった場合には、コマンドをタイムアウトさせてエラー処理を行ってしまうことが一般的である。
さらに、上記受信手段に、上記転送手段が上記サーバに動作要求を転送した後、そのサーバに転送した全ての動作要求に対する動作応答を受信するまで、定期的に上記サーバに上記問い合わせを送信する手段を設けるとよい。
また、上記の各仲介装置において、上記クライアントから動作要求を受信した場合に、そのクライアントに対して受信通知を送信する受信通知手段を設けるとよい。
さらに、上記仲介装置において、上記受信手段に、上記転送手段が上記サーバに動作要求を転送した後、そのサーバに転送した全ての動作要求に対する動作応答を受信するまで、定期的に上記サーバに上記問い合わせを送信する手段を設けるとよい。
また、上記の各通信システムにおいて、上記仲介装置に、上記クライアントから動作要求を受信した場合に、そのクライアントに対して受信通知を送信する受信通知手段を設け、上記各クライアントに、その受信通知を受信する手段を設けるとよい。
さらに、上記仲介装置に、上記受信手順において、上記転送手順で上記サーバに動作要求を転送した後、そのサーバに転送した全ての動作要求に対する動作応答を受信するまで、定期的に上記サーバに上記問い合わせを送信する手順を実行させるようにするとよい。
また、上記の各通信方法において、上記仲介装置に、さらに、上記クライアントから動作要求を受信した場合に、そのクライアントに対して受信通知を送信する受信通知手順を実行させるようにするとよい。
さらに、上記受信手段に、上記転送手段が上記サーバに動作要求を転送した後、そのサーバに転送した全ての動作要求に対する動作応答を受信するまで、定期的に上記サーバに上記問い合わせを送信する機能を設けるとよい。
また、上記の各プログラムにおいて、上記コンピュータを、上記クライアントから動作要求を受信した場合に、そのクライアントに対して受信通知を送信する受信通知手段として機能させるためのプログラムを更に含めるとよい。
また、この発明のプログラムによれば、コンピュータを上記の仲介装置として機能させてその特徴を実現し、同様な効果を得ることができる。この発明の記録媒体によれば、上記のプログラムを記憶していないコンピュータにそのプログラムを読み出させて実行させ、上記の効果を得ることができる。
〔実施形態:図1,図2〕
まず、この発明の仲介装置及びその仲介装置を用いて構成した通信システムの第1の実施形態について説明する。図1は、その通信システムの構成を示すブロック図である。
図1に示すように、この通信システムは、第1の通信装置である管理装置102と、第2の通信装置である複数の被管理装置10と、これらの間の通信を仲介する仲介装置101及び被管理仲介装置101を備える。そして、このうち仲介装置101,被管理仲介装置110及び被管理装置10をユーザ側の設置環境に配置し、これらと管理装置102とがインターネット103を介して通信可能な構成としている。そして、管理装置102が各被管理装置10と通信を行って各被管理装置10を集中的に遠隔管理する遠隔管理システムを構成している。
ところで、この通信システムにおいて、各設置環境内の仲介装置101と被管理装置10および被管理仲介装置110は、互いにLAN(ローカルエリアネットワーク)によって接続し、これを介して通信可能としている。そして、セキュリティ面を考慮し、ファイアウォール104を介してLANをインターネット103に接続している。
また、仲介装置101に通信を仲介させることにより、被管理装置10が個々に管理装置102と通信を行う場合に比べて、通信トラフィックを低減できるようにしている。
また、これらの仲介装置101、被管理装置10及び被管理仲介装置110は、その利用環境に応じて多様な階層構造を成す。
図2(A)は、被管理装置10で管理装置102に対する動作要求が発生したケースである。このケースでは、被管理装置10が被管理装置側動作要求aを生成し、これを仲介装置101を経由して受け取った管理装置102がこの動作要求に対する動作応答aを返すというモデルになる。また、図に示す仲介装置101が複数であるケースも想定できる(例えば被管理装置が図1に示した被管理装置10e又は10fの場合)。なお、被管理装置側動作要求aは、管理装置102に送信される動作要求であるから、管理装置「宛て」の動作要求と言うことができる。
なお、管理装置102からの仲介装置101や被管理装置10宛ての動作要求についても、上記の場合と同様に動作要求を受け取った装置がその動作要求に対して応答を返す。しかし、この実施形態は、ファイアウォール104の内側の被管理装置10や仲介装置101の側からファイアウォール104の外側の管理装置102の側への動作要求及びその動作要求に対する応答の転送の方式に特徴を有するため、管理装置102側からの動作要求については、ここでは図示を省略する。
そして、実際に動作要求や動作応答を転送するための通信プロトコルとしては、システムの構成に合わせて適当なものを採用することができ、例えばHTTP(HyperText Transfer Protocol)やSMTP(Simple Mail Transfer Protocol)を採用することができるが、ここでは、通信プロトコルにHTTPを採用する場合について説明する。
ここで、図1に示した通信システムのより具体的な実施例として、サーバである管理装置によってそれぞれクライアントである複数の画像処理装置の遠隔管理を行い、これらの装置間の通信をこの発明の仲介装置によって仲介する遠隔管理システムについて説明する。図3は、その遠隔管理システムの構成の一例を示す概念図であるが、被管理装置10を画像処理装置100に変更した点が図1と相違するのみであるので、システムの全体構成についての説明は省略する。
画像処理装置100は、コピー、ファクシミリ、スキャナ等の機能及び外部装置と通信を行う機能を備えたデジタル複合機であり、それらの機能に係るサービスを提供するためのアプリケーションプログラムを実装しているものである。
図4(A)は、画像処理装置100で管理装置102に対する動作要求が発生したケースである。このケースでは、画像処理装置100が画像処理装置側動作要求a(以下、「画像機器コマンド」とも呼ぶ)を生成し、これを仲介装置101を経由して受け取った管理装置102がこのコマンドに対する動作応答a(以下、「コマンド応答」あるいは単に「応答」とも呼ぶ)を返すというモデルになる。また、図に示す仲介装置101が複数であるケースも想定できる。なお、応答を即座に返せないときに遅延通知a′を返信するようにしてもよいことは、図2(A)のケースと同様である。
以下、このようなコマンド及びコマンド応答を転送する際の通信シーケンスについて説明する。
この図に示すように、画像処理装置100と仲介装置101とは、通信要求であるHTTPリクエストと、その通信要求に対する通信応答であるHTTPレスポンスとを、互いに送受信することによって通信を行っている。そして、画像処理装置100と仲介装置101との間にはファイアウォールがないため、画像処理装置100と仲介装置101のどちらがHTTPリクエストを送信しても(通信サーバとして機能しても)通信を行うことができる。例えば、画像処理装置100が送信したHTTPリクエストXに対して仲介装置101がHTTPレスポンスXを返すこともできるし、仲介装置101が送信したHTTPリクエストWに対して画像処理装置100がHTTPレスポンスWを返すこともできるという具合である。
なお、仲介装置101から画像処理装置100に対する結果通知は、図5(c)に示すようなシーケンスで転送される仲介装置101から画像処理装置100に対するコマンドの1種として構成することができる。
また、画像処理装置100から仲介装置101に対する画像機器コマンドについても、上述の受付通知及び結果通知を用いるようにしてもよい。
仲介装置101と管理装置102との間には、ファイアウォール104があるため、この図に示すように、通信は常に、仲介装置101から通信要求としてHTTPリクエストを管理装置102に送信し、管理装置102からこの通信要求に対する通信応答としてHTTPレスポンスを仲介装置101に返すという手順で行われる。例えば仲介装置101が送信したHTTPリクエストMに対して管理装置102がHTTPレスポンスMを返し、同じくHTTPリクエストNに対してHTTPレスポンスNを返すという具合である。
一方、管理装置102は、受信したコマンドに対する応答がすぐに生成できる場合には、図6(a)に示すように、コマンド受信時のHTTPリクエストに対するHTTPレスポンスに応答を記載して仲介装置101に送信するようにしてもよい(HTTPレスポンスM)。
しかし、処理に時間がかかることがある場合には、仲介装置101においてHTTPリクエストがタイムアウトしてしまう場合があるので、(b)に示すように、コマンド受信時のHTTPリクエストに対するHTTPレスポンスに受付通知を記載して仲介装置101に送信するようにしている(HTTPレスポンスN)。
なお、管理装置102が遅延通知を送信する場合には、上記受付通知あるいは未完了通知に代えて遅延通知を記載してもよい。
この図に示すように、仲介装置101は、送信したコマンドに対する応答を管理装置102から受信する前に、他のコマンド(初めのコマンドとは別の画像処理装置が生成したものでもよい)を管理装置102に送信することができる(HTTPリクエストQ,R)。そして、管理装置102は、このそれぞれに対して受付通知を返す(HTTPレスポンスQ,R)。
しかし、このような場合、管理装置102は、仲介装置101からの結果問い合わせに対し、必ずしも先に受信したコマンドに対する応答を先に返すわけではなく、結果問い合わせがあった時点で応答が返信可能になっているもののいずれかを返すようにしている。この結果、図7に示したように、後から受信した画像機器コマンドCに対する応答を、画像機器コマンドBに対する応答よりも先に返すようになることもある。
なお、結果問い合わせがあった時点で返信可能な応答が複数あった場合には、先に受信したコマンドに対する応答を先に返信するようにするとよい。
また、このようにして管理装置102からコマンドの実行結果を受信するためには、管理装置102に対して定期的に通信要求を行う(ここでは結果問い合わせコマンドを記載したHTTPリクエストの送信が該当する)必要がある。しかし、仲介装置101がこの定期的な通信要求を取りまとめて行うことができるので、複数の画像処理装置100がばらばらに行う場合に比べて通信要求の回数を低減し、管理装置102から仲介装置101への動作応答の転送のために必要な通信トラフィックを抑えられるようにすることができる。また、画像処理装置100には、このような定期的な通信要求を行う機能を設ける必要がないので、画像処理装置100の構成を単純化でき、設計や開発のコストを低減することができる。
まず、図8のブロック図に管理装置のハードウェア構成の概略を示す。
この管理装置102は、モデム121,通信端末122,外部接続I/F123,操作者端末124,データベース125,制御装置126等からなる。
モデム121は、公衆回線を介して機器利用者側(例えば画像処理装置を利用しているユーザ先)の仲介装置101との通信を司るものであり、送受信するデータを変復調する。このモデム121と通信端末122により通信手段としての機能を果たす。
外部接続I/F123は、インターネット103を介して機器利用者側の仲介装置101とのデータの送受信及びセキュリティ管理を行う。この外部接続I/F123も、通信手段としての機能を果たす。また、セキュリティ管理のためのプロキシサーバ等を設けてもよい。
データベース125は、図示しないデータベースサーバのハードディスク装置等の記憶装置に存在し、画像処理装置100のIPアドレスや電話番号、それらの装置から受信した異常情報等のデータ、操作者端末124から入力されたデータ等の各種データを記憶する。
なお、管理装置102の構成はこれに限られることはなく、例えば1台のPCを用いて構成することもできる。
画像処理装置100はここでは、プリンタ、ファクシミリ(FAX)装置、デジタル複写機、スキャナ装置、文書管理装置等の機能を備えたデジタル複合機として構成しており、図9に示すように、CPU201,ASIC(Application Specific Integrated Circuit)202,SDRAM203,フラッシュメモリ(不揮発性メモリ)204,NRS用メモリ205,PHY(物理メディアインタフェース)206,NVRAM(不揮発性メモリ)207,操作部209,HDD(ハードディスクドライブ)210,モデム211,PI(パーソナルインタフェース)212,FCU(ファックスコントロールユニット)213,USB(Universal Serial Bus)214,IEEE(Institute of Electrical and Electronic Engineers)1394_215,エンジンインタフェース(I/F)216,およびエンジン部217を備えている。これらの構成が、画像読み取り、画像形成、画情報送信等の画像処理を行うためのハードウェア資源である。
ASIC202は、CPUインターフェース,SDRAMインターフェース,ローカルバスインタフェース,PCIインタフェース,MAC(Media Access Controller)、HDDインタフェースなどからなる多機能デバイスボードであり、CPU201の制御対象となるデバイスの共有化を図り、アーキテクチャの面からアプリ(アプリケーションソフト)や共通システムサービスの開発の高効率化を支援するものである。
また、このASIC202には各エンジン部の操作命令等を受け付けるオペレーションパネル等による操作部209が直接的に接続されると共に、PHY206も直接的に接続される。また、FCU213やUSB214,IEEE1394_215及びエンジンI/F216がPCIバス218を介して接続され、必要に応じてモデム211やPI212等が直接接続される。
SDRAM203は、OSを含む各種プログラムを記憶するプログラムメモリや、CPU201がデータ処理を行う際に使用するワークメモリ等として使用するメインメモリである。なお、このSDRAM203の代わりに、DRAMやSRAMを使用してもよい。
PHY206は、LANを介して外部装置と通信を行うためのインタフェースである。
NVRAM207は、例えば、この画像処理装置100の識別情報である機種機番を記憶する機種機番メモリ、操作部209による操作上の初期値を記憶するメモリ、各アプリ(APL)の初期値を記憶するメモリ、各カウンタ情報(課金カウンタのデータ)を記憶するメモリ、自身や通信相手の設定状況、ネットワークアドレス情報、プロトコル等の機種情報を記憶するメモリ等として使用する不揮発性メモリ(記憶手段)であり、電源がオフになっても記憶内容を保持するようになっている。なお、このNVRAM207として、RAMと電池を利用したバックアップ回路を集積した不揮発性RAMや、EEPROM,フラッシュメモリ等の不揮発性メモリを使用することができる。
HDD210は、電源のオン・オフに関係なくデータを記憶保存する記憶手段(記録媒体)である。このHDD210に、上述したフラッシュメモリ204内のプログラムやそれ以外のデータ、あるいはNVRAM207内のデータを記憶しておくこともできる。また、定期的に収集、更新、送信等の処理を行う対象となるデータも、このHDD210に記憶させておくとよい。
モデム211は、変復調手段であり、管理装置102へ公衆回線経由でデータを送信する場合、そのデータを公衆回線に流せる形に変調する。また、管理装置102から送られてくる変調されたデータを受信した場合、そのデータを復調する。
FCU213は、FAX装置又はモデム機能(FAX通信機能)を有するデジタル複写機やデジタル複合機等の画像処理装置および管理装置102等の外部装置との通信を公衆回線経由で制御する。
USB214及びIEEE1394_215はそれぞれ、周辺機器と通信を行うための、USB規格及びIEEE1394規格のインタフェースである。
エンジンI/F216は、エンジン部217をPCIバスに接続するためのインタフェースである。
エンジン部217は、公知のスキャナエンジン及びプロッタエンジン等からなる画像読み取り/形成用のエンジンや、プロッタエンジンによって画像を形成した用紙に、ソート、穴開け、ステープル処理等の後処理を行う後処理ユニット等が該当する。
仲介装置101は、図10に示すように、CPU52,SDRAM53,フラッシュメモリ54(不揮発性メモリ),RTC(内部時計であるリアルタイムクロック回路)55,Op−Port(操作部接続ポート)56,PHY57,モデム58,HDD制御部59,拡張I/F60,RS232I/F(インタフェース)61,RS485I/F62,HDD63等を備えている。
SDRAM53は、OSを含む各種プログラムを記憶するプログラムメモリや、CPU52がデータ処理を行う際に使用するワークメモリ等として使用するメインメモリである。
RTC55は計時のための回路であり、Op−Port56は図示しない操作部における操作を検出する回路である。
また、PHY57,モデム58,RS485I/F62は、それぞれLAN,公衆回線,RS485規格のシリアル通信によって通信を行うためのインタフェースである。
拡張I/F60は、無線LANボードや拡張メモリ等の拡張ボードを接続するためのI/Fである。
また、図11に示す機能のうち、HTTPサーバ機能部41及びHTTPクライアント機能部45の機能は、CPU52及びPHY57によって実現されるものである。コマンド分配機能部42,アクションハンドラ群43,コマンド転送ハンドラ44の機能は、CPU52によって実現されるものである。
まず、HTTPサーバ機能部41は、HTTPリクエストを受信するHTTPリクエスト受信機能部41aとHTTPレスポンスを送信するHTTPレスポンス送信機能部41bとを備える。
そして、HTTPリクエスト受信機能部41aは、画像処理装置100が送信してくるHTTPリクエストを受信し、これをコマンド分配機能部42に渡す機能を有する(A1,A2)。また、HTTPレスポンス送信機能部41bは、コマンド分配機能部42から渡されるメッセージ、すなわち画像機器コマンドに対する応答や受付通知等に係るSOAPレスポンスを、HTTPレスポンスに記載し、受信したHTTPリクエストに対する応答として画像処理装置100に送信する機能も有する(A5,A6)。
また、ここでは図示していないが、SOAPリクエスト以外のメッセージが記載されたHTTPリクエストについても、その内容を解釈し、適当な処理手段に要求を伝えたり、HTTPレスポンス送信機能部41bに応答を返させたりする機能も有する。
そして、HTTPリクエスト送信機能部45aは、コマンド転送ハンドラ44から渡されるメッセージ、すなわち管理装置102や画像処理装置100に転送すべき各種SOAPリクエストを、HTTPリクエストに記載して管理装置102や画像処理装置100に送信する機能を有する(B2,C2)。また、HTTPレスポンス受信機能部45bは、管理装置102や画像処理装置100が送信してくるHTTPレスポンスを受信し、これをコマンド転送ハンドラ44に渡す機能を有する(B3,B4,C3,C4)。
また、図12に示す機能のうち、HTTPサーバ機能部241及びHTTPクライアント機能部245の機能は、CPU201及びPHY206によって実現されるものである。コマンド分配機能部242及びアクションハンドラ群243の機能は、CPU201によって実現されるものである。
まず、HTTPサーバ機能部241は、HTTPリクエストを受信するHTTPリクエスト受信機能部241aとHTTPレスポンスを送信するHTTPレスポンス送信機能部241bとを備える。
そして、HTTPリクエスト受信機能部241aは、仲介装置101が送信してくるHTTPリクエストを受信し、これをコマンド分配機能部242に渡す機能を有する(E1,E2)。また、HTTPレスポンス送信機能部241bは、アクションハンドラ群の各アクションハンドラ243aから渡されるメッセージ、すなわち仲介装置101から受信した結果通知に対する受信通知等に係るSOAPレスポンスを、HTTPレスポンスに記載し、受信したHTTPリクエストに対する応答として仲介装置101に送信する機能を有する(E5,F5)。
そして、HTTPリクエスト送信機能部245aは、各アクションハンドラ243aから渡されるメッセージ、すなわち仲介装置101に送信すべき各種SOAPリクエストを、HTTPリクエストに記載して仲介装置101に送信する機能を有する(F2)。また、HTTPレスポンス受信機能部245bは、管理装置102や画像処理装置100が送信してくるHTTPレスポンスを受信し、これをコマンド分配機能部242に渡す機能を有する(F3,F4)。
また、図13に示す機能のうち、HTTPサーバ機能部141の機能は、制御装置126内のCPU及び外部接続I/F123によって実現されるものである。コマンド分配機能部142及びアクションハンドラ群143の機能は、制御装置126内のCPUによって実現されるものである。コマンド実行結果記憶機能部146の機能は、制御装置126内のメモリによって実現されるものである。
まず、HTTPサーバ機能部141は、HTTPリクエストを受信するHTTPリクエスト受信機能部141aとHTTPレスポンスを送信するHTTPレスポンス送信機能部141bとを備える。
そして、HTTPリクエスト受信機能部141aは、仲介装置101が送信してくるHTTPリクエストを受信し、これをコマンド分配機能部142に渡す機能を有する(G1,G2)。また、HTTPレスポンス送信機能部141bは、コマンド分配機能部142から渡されるメッセージ、すなわち画像機器コマンドや仲介装置コマンドに対する受付通知や応答等に係るSOAPレスポンスを、HTTPレスポンスに記載し、受信したHTTPリクエストに対する応答として仲介装置101に送信する機能を有する(G5,G6)。
このような結果問い合わせハンドラ144は、管理装置102が受け付けるコマンドに対応させて各コマンド毎に設けてもよいが、いくつかのコマンドをまとめたコマンド群毎に設けたり、1つだけ設けて全てのコマンドに対応した処理を行わせるようにしたりしてもよい。
以上のような各機能を仲介装置101,画像処理装置100,管理装置102に設けることにより、仲介装置101に、複数の画像処理装置100からの動作要求を受信して管理装置102に転送する転送手順と、管理装置102にアクセスした際、管理装置102において、それまでに転送したいずれかのコマンドに対する応答が送信可能な状態になっていた場合に、その応答を受信する受信手順と、その手順で応答を受信した場合に、その応答を、その応答と対応するコマンドの送信元に転送する第2の転送手順とを実行させることが可能になる。
このHTTPリクエストは、ボディ部としてSOAPリクエストを記載したものであり、ヘッダ部の「SOAPAction」ヘッダにより、このことを示している。また、「SOAPAction」ヘッダは、SOAPリクエストの内容を示すものであり、この例では、「http://www.…」というURI(Uniform Resource Identifier)によりリクエストの内容を示している。さらに、これ以外にHTTPの仕様で既定されている標準ヘッダを付加してもよい。
このHTTPレスポンスは、ボディ部としてSOAPレスポンスを記載したものである。ただし、こちらには「SOAPAction」ヘッダに相当するヘッダは記載していない。SOAPリクエストを記載して送信したHTTPリクエストに対応するHTTPレスポンスには必ずSOAPレスポンスを記載するようにプロトコルを設計しておけば、特にヘッダに明示しなくても、HTTPレスポンスにSOAPレスポンスが記載されているか否かを容易に認識できるからである。また、HTTPレスポンスについても、図示したもの以外にHTTPの仕様で既定されている標準ヘッダを付加してもよい。
そして、以上説明したような各機能を効率よく実現するためには、各装置において用意するメソッドを、一定の規約に従って作成するようにするとよい。次に、この点について説明する。
そして、1つのコマンドを作成しようとする場合、各装置にそのコマンドに関連する処理を行う以上のような各メソッドを用意するようにすれば、相互の関連が認識しやすく、また各装置におけるコマンドの管理が容易な構成とすることができる。
図16に示すのは、画像処理装置100から仲介装置101に送信する用紙注文コマンドに係るSOAPリクエストの例である。
さらに、「送信元」タグの内容として、このコマンドの送信元を示す情報である「仲介装置ID」及び「画像処理装置ID」の情報が記載されている。このうち、「画像処理装置ID」は、この画像機器コマンドを生成した画像処理装置のIDであり、「仲介装置ID」は、この画像機器コマンドが仲介装置101に転送されてくるまでに経由した仲介装置のIDである。「仲介装置ID」が複数記載される場合もあるが、画像処理装置100から直接転送されてきた場合には、「仲介装置ID」タグの内容は空である。
また、SOAPボディには、送信先の装置に実行させるメソッドを指定する情報として、「用紙注文」タグが記載され、その下位のタグ「商品名」や「数量」の要素として、メソッドに引数として引き渡すパラメータが記載されている。ここでは注文内容が記載されている。
この例においても、名前空間の宣言は図16に示した例と同様である。そして、SOAPヘッダには、「コマンドID」のXMLタグの内容として、対応する用紙注文コマンドのIDである「DB12345」が記述されている。
SOAPボディには、用紙注文コマンドに対する応答であることを示すための「用紙注文Response」タグが設けられ、その下位のタグに、応答の内容が記載される。ここでは、用紙注文コマンドを正常に受け付けた旨の情報として「受付完了」が記載されている。
この例においても、図16の場合と同様に、「Envelope」タグの属性として、名前空間の宣言を行っている。
SOAPヘッダには、「コマンドID」として、この用紙注文コマンドのIDが記載されているが、このコマンドは、仲介装置101が生成したものであるので、このIDは、仲介装置101が付したものである。また、「送信元」タグの内容として、このコマンドの送信元を示す情報である「仲介装置ID」及び「画像処理装置ID」の情報を記載している。ここでは、このコマンドは画像処理装置100が生成して仲介装置101が転送するものであるから、これら双方の装置のIDを記載している。また、SOAPボディには、図16の場合と同様な情報が記載されている。
この例においても、名前空間の宣言は図16に示した例と同様である。そして、SOAPヘッダには、「コマンドID」のXMLタグの内容として、対応する用紙注文コマンドのIDを記載している。このIDは、直接の返信先となる仲介装置101が付したIDである。
また、「宛先」タグの内容として、このコマンド応答の宛先を示す情報である「仲介装置ID」及び「画像処理装置ID」の情報を記載している。
これを受け取った仲介装置101は、コマンドIDと受付番号とを対応させて管理しておき、後で受付番号と共に処理結果を取得した場合に、それがどのコマンドに対する処理結果かを把握できるようにしておく。
この例は、管理装置102において用紙注文コマンドを正常に受け付けられなかった場合の例であり、ここでは、「結果」タグの内容として、指定した商品名の商品が存在しなかったことを示す「商品名エラー」を記載してる。
「Envelope」タグの属性や、SOAPヘッダの内容は、図19の場合と同様である。
この例においても、図16の場合と同様に、「Envelope」タグの属性として、名前空間の宣言を行っている。
SOAPヘッダには、「コマンドID」として、この用紙注文結果問い合わせコマンドのIDが記載されている。このコマンドは、仲介装置101が生成するものであるから、このIDも、仲介装置101が付したものである。
また、SOAPボディには、このSOAPリクエストが用紙注文結果問い合わせコマンドに係るものであることを示すため、同名のタグを設けているが、引数は必要ないので、その内容は空である。
この例においても、名前空間の宣言は図16に示した例と同様である。そして、SOAPヘッダには、「コマンドID」のXMLタグの内容として、対応する用紙注文結果問い合わせコマンドのIDを記載している。このIDは、仲介装置101が付したIDである。
また、「宛先」タグの内容として、このコマンド応答の宛先を示す情報である「仲介装置ID」の情報を記載している。他のSOAPレスポンスと書式を共通化するため、「画像処理装置リスト」タグも設けているが、ここに記載すべき情報はないので、このタグは設けなくてもよい。
この例は、管理装置102において、正常に処理が完了した用紙注文コマンドがあった場合の例であり、ここでは、「結果」タグの内容として、処理が完了したコマンドの受付番号及び、用紙注文コマンドの出力パラメータである料金を記載している。
「Envelope」タグの属性やSOAPヘッダの内容は、図19の場合と同様である。ただし、管理装置102側で受付番号と対応するコマンドの送信元の情報を把握できるのであれば、仲介装置101だけでなく、その送信元までの転送経路の情報を「宛先」タグに記載するようにしてもよい。
この例は、管理装置102において、処理が完了したものの結果がエラーである用紙注文コマンドがあった場合の例であり、ここでは、「結果」タグの内容として、処理が完了したコマンドの受付番号及び、注文に係る用紙の在庫がなく、注文を受け付けられなかった旨を示す「在庫なし」を記載している。
「Envelope」タグの属性やSOAPヘッダの内容は、図23の場合と同様である。
この例においても、「Envelope」タグの属性として名前空間の宣言を行っているが、「nc」の名前空間接頭辞について「http://www.example.com/sales/client」のURIで特定される名前空間の宣言を行っている点が、図16等の場合と異なる。
また、SOAPヘッダには、「コマンドID」として、この用紙注文結果通知コマンドのIDが記載されている。このコマンドは、仲介装置101が生成するものであるから、このIDも、仲介装置101が付したものである。
また、SOAPボディには、このSOAPリクエストが用紙注文結果通知コマンドに係るものであることを示すため、同名のタグを設け、その下位に、コマンドの実行結果を示す情報を記載している。その内容は、用紙注文結果問い合わせコマンドに対する応答として受け取った実行結果から、「受付番号」を除いたものとするとよい。図25には、処理が正常に完了し、用紙の料金が1000円である場合の例を示している。
しかし、応答を受信する前に次のコマンドを送信できるような構成とすることも可能であり、この場合には、仲介装置101側で、結果通知コマンドの「コマンドID」として、対応する画像機器コマンドに画像処理装置100が付していたIDを使用するようにする等して、画像処理装置100が画像機器コマンドと結果通知との対応関係を認識できるようにすればよい。
この例は、管理装置102において、用紙注文コマンドが正常に受け付けられなかった場合の例であり、ここでは、「結果」タグの内容として、用紙注文コマンドに対する応答に記載されていた「商品名エラー」を記載してる。
「Envelope」タグの属性やSOAPヘッダの内容は、図25の場合と同様である。
この例は、管理装置102において、用紙注文コマンドの処理は完了したものの結果がエラーであった場合の例であり、ここでは、「結果」タグの内容として、図24に示したような用紙注文結果問い合わせコマンドの実行結果から「受付番号」を除いた、「在庫なし」を記載している。
この例においても、名前空間の宣言は図25に示した例と同様である。そして、SOAPヘッダには、「コマンドID」のXMLタグの内容として、応答を生成した用紙注文結果通知コマンドのIDを記載している。このIDは、直接の返信先となる仲介装置101が付したIDである。
また、「宛先」タグの内容として、このコマンド応答の宛先を示す情報である「仲介装置ID」及び「画像処理装置ID」の情報を記載している。
この処理は、仲介装置101をHTTPサーバとして機能させるためのHTTPサーバスレッドの処理であり、CPU52が図11に示した各部として機能して実行するものである。そして、CPU52は、HTTPサーバ機能部41に通信要求があった場合にこのスレッドを作成し、図29のフローチャートに示す処理を開始する。
次のステップS2では、SOAPリクエスト中に記載されているコマンドに係る名前空間URI及びメソッド名を抽出し、ステップS3でこれらをもとにハンドラテーブルを参照し、そのコマンドを実行させるハンドラを検索する。
なお、コマンドに係る名前空間URIとメソッド名は、SOAPボディを示す「Body」要素の子要素の属する名前空間と要素のローカル名であり、「Body」要素の子要素のタグに記載されている。例えば図16に示したSOAPリクエストの例では、図30に示す通り「ns:用紙注文」である。そして、符号aで示す名前空間接頭辞から、「Envelope」タグの属性における名前空間URIの定義を参照すると、コマンドに係る名前空間URIは「http://www.example.com/sales/server」であることがわかる。また、「:」の後側の符号bで示した部分は、そのままメソッド名である。
そして、具体例としては、図31に示すようなものとすることが考えられ、ここでは、仲介装置101自身の情報の取得を要求する「仲介装置情報取得」コマンドは仲介装置情報取得ハンドラに実行させるものであり、時刻合わせのために仲介装置101の設定時刻を取得を要求する「現在時刻取得」コマンドは現在時刻取得ハンドラに実行させることが記載されている。もちろん、他のコマンドについても同様に記載することができる。
ステップS3での検索が終了すると、処理はS4に進み、受信したコマンドに関する処理を行わせるべきアクションハンドラが発見されたか否か判断する。ここまでのステップS2乃至S4の処理は、コマンド分配機能部42としての機能による処理である。
そして、ステップS4でアクションハンドラが発見されていた場合には、ステップS5に進み、発見されたアクションハンドラにコマンドを渡してそのコマンドに係る処理を実行させ、その結果を受け取って、ステップS6でそのコマンドに対する応答のSOAPレスポンスを記載したHTTPレスポンスを画像処理装置100に送信して処理を終了する。これらのステップS5及びS6の処理は、通常のウェブサービスの提供に係る処理であり、コマンド分配機能部42及びHTTPレスポンス送信機能部41bとして機能によるものである。
以上の処理により、仲介装置101は、画像処理装置100からのコマンドを受け付け、それが自身で処理するコマンドであれば処理を行って応答を返し、自身で処理しない(できない)コマンドであれば受付通知を返した上で管理装置101への転送を準備することができる。また、以上の処理において、ステップS8が受信通知手順の処理であり、この処理において、CPU52が受信通知手段として機能する。
この処理においては、まずステップS11で、画像機器コマンドに係る未送信のSOAPリクエストを読み出す。そして、ステップS12で、取得したSOAPリクエストに、仲介装置101がコマンドを管理するためのコマンドIDと、自身の仲介装置IDとを記載して転送用SOAPリクエスト(例えば図18に示したもの)を生成する。
そして、次のステップS14で、管理装置102からのHTTPレスポンスを待ち、これを受信すると、そこに記載されているSOAPレスポンスの内容を記憶する。このSOAPレスポンスは、管理装置102に転送したコマンドに対する受付通知のはずである。
そして、ステップS15でYESであれば、ステップS16以下に進み、図33に示すような結果問い合わせスレッドが存在しているか否か判断し、なければステップS17で結果問い合わせスレッドを起動して処理を終了する。あればそのまま処理を終了する。なお、コマンドによって異なる結果問い合わせスレッドを用いるようにしている場合には、ステップS13で送信したコマンドと対応する結果問い合わせスレッドが存在していなければ、対応する結果問い合わせスレッドを起動する。
ステップS20で処理を終了した場合には、管理装置102に転送した画像機器コマンドに係る処理は完結しているので、画像処理装置100からの受信通知に基づいてその点を把握できれば、転送した画像機器コマンドや結果通知等の情報は、その時点で破棄してしまってよい。もちろん、エラー情報を抽出して管理する等してもよい。
この処理においては、まずステップS31で所定時間待機する。その後、ステップS32で結果問い合わせのSOAPリクエスト(例えば図21に示したもの)を生成し、HTTPリクエスト送信機能部45aとしての機能により、ステップS33でそのSOAPリクエストを記載したHTTPリクエストを管理装置102に送信する。
そして、処理が完了していない旨の応答であった場合には、ステップS31に戻って処理を繰り返し、所定時間後に再度結果問い合わせのSOAPリクエストを管理装置102に送信する。すなわち、定期的に管理装置102にアクセスし、コマンドに対する応答の取得を試みる。
そして、ステップS39で画像処理装置100からのHTTPレスポンスの受信を待ち、これを受信すると、そこに記載されているSOAPレスポンスの内容を記憶する。このSOAPレスポンスは、画像処理装置100に送信した結果通知に対する受信通知(例えば図28に示したもの)のはずである。
また、ステップS36でNOであった場合には、受信したSOAPレスポンスは、処理が正常に完了していない旨の応答(例えば図20に示したもの)であるが、このような内容であっても、SOAPレスポンスは動作応答に該当する。
そして、この場合、ステップS40に進んで、処理が完了した画像機器コマンドについて、処理が完了したがエラーであった旨及びその処理結果を通知する結果通知のSOAPリクエスト(例えば図27に示したもの)を生成する。そしてステップS41及びS42で、ステップS38及びS39の場合と同様に画像処理装置100との間で結果通知と受信通知のSOAPメッセージを授受して処理を終了する。
この結果問い合わせスレッドの処理を行うことにより、仲介装置101が管理装置102に転送した画像機器コマンドの実行結果を取得し、これを画像処理装置100に通知することができる。この処理において、ステップS38及びS41が第2の転送手順の処理であり、ここではCPU52が第2の転送手段として機能する。
さらに、ここでは結果問い合わせスレッドは1つしか示していないが、転送したコマンドの種類に応じて異なる結果問い合わせコマンドを用意する場合には、各結果問い合わせコマンドに対応する結果問い合わせスレッドを設け、独立して動作させるようにするとよい。
すなわち、画像処理装置100が画像機器コマンドを生成した場合(S51)、まずそのコマンドを仲介装置101に送信する(S52)。このとき、画像処理装置100は、送信したコマンドが最終的にどの装置で実行されるかを必ずしも認識している必要はない。
その後、仲介装置101は定期的に管理装置102に結果問い合わせを行う(S56,S59)。そして、管理装置102は、この結果問い合わせに対し、受信したコマンドに対する処理が完了していなければ処理未完了の応答を(S57)、画像機器コマンドに応じた処理(S58)を行って処理が完了していれば、処理完了の応答を返す(S60)。
また、その後の結果問い合わせや結果通知は仲介装置101が行うため、末端の画像処理装置100には、これらの機能を設ける必要がない。従って、通常の画像処理装置をこの実施形態の遠隔管理システムに対応させるような場合に付加すべき機能が少なくて済み、設計や開発が容易になる。
従って、仲介装置101が複数の画像処理装置100(さらに仲介装置101自身あるいは被管理仲介装置110)が行うべき結果問い合わせを代行し、一本化して行うことができるので、各装置がばらばらに結果問い合わせを行う場合に比較して、各コマンドに対する応答の取得に必要な結果問い合わせの数を削減して通信トラフィックの量を低減することができる。
また、管理装置102には、積極的に結果通知を行う機能を設けなくても、仲介装置101からの、表1や表2に示したようなコマンドに応じた処理を行う機能を設けるのみで、コマンドの処理結果を末端の画像処理装置100まで伝達することができる。従って、管理装置102の機能構成も単純化し、設計や開発のコストを低減することができる。
ただし、このようにした場合、仲介装置101が画像処理装置100に対して適当な結果通知コマンドを送信できるようにするためには、結果問い合わせコマンドに対する応答として画像機器コマンドの実行結果を受け取った仲介装置101が、受け取ったものがどの種類のコマンドに対する実行結果であるのかを認識できるようにすることが好ましい。そして、このためには、結果問い合わせコマンドに対する応答に、画像機器コマンドに記載されていたコマンド名を追加したり、仲介装置101側で、受付番号とコマンド名とを対応付けて管理しておき、受付番号からコマンド名を検索できるようにする等することが考えられる。
ただし、この場合、画像処理装置100の側で、通知された動作結果がその画像機器コマンドに対応するものかを管理できるようにしておくことが必要である。このためには例えば、仲介装置101側で、結果通知コマンドの「コマンドID」として、対応する画像機器コマンドに画像処理装置100が付したIDを使用するようにすることが考えられる。
別々の装置からの複数のコマンドに関する処理が完了していた場合でも、同様な対応を行うことは可能であるが、この場合には、コマンド送信元(応答の宛先)の装置の情報をSOAPヘッダに記載することができないので、各応答と対応させてSOAPボディに記載することになる。
次に、図1に示した通信システムの第2の実施例である遠隔管理システムについて説明する。この遠隔管理システムの特徴は、仲介装置101と管理装置102との間で、1つのHTTPメッセージに複数のSOAPメッセージを記載して送信できるようにした点と、結果問い合わせという独立のメソッドを設けなくても、管理装置102に転送するコマンドとそのコマンドに対する応答とにより、実質的にこれを同じ機能を実現できるようにした点である。そして、このような特徴を実現するため、主に仲介装置101及び管理装置102における処理が第1の実施例の場合と異なる。そして、システムのハードウェア構成及び、画像処理装置100の機能については、第1の実施例の場合とほぼ同様であるから、これらについての説明は省略するか簡単にする。また、第1の実施例の構成と対応する部分には、第1の実施例の場合と同じ符号を用いる。
この遠隔管理システムにおいても、仲介装置101と管理装置102との間には、ファイアウォール104があるため、この図に示すように、通信は常に、仲介装置101から通信要求としてHTTPリクエストを管理装置102に送信し、管理装置102からこの通信要求に対する通信応答としてHTTPレスポンスを仲介装置101に返すという手順で行われる。
しかし、処理に時間がかかる場合には、特に応答を記載せずにHTTPレスポンスを送信する。図35に示した例では画像機器コマンドCに対する応答はHTTPレスポンスXには記載していない。
このように、この遠隔管理システムにおいては、第1の実施例の場合と異なり、管理装置102からの受付通知や、仲介装置101からの結果問い合わせといったSOAPメッセージは採用していない。しかし、このようなシーケンスを採用しても、第1の実施例の場合と同様に画像機器コマンドの転送と応答の取得は可能である。この遠隔簡易システムにおいては、仲介装置101から管理装置102に対して送信するHTTPリクエストが、それ自体で結果問い合わせと同様な機能を有するようにしているためである。
なお、仲介装置101と画像処理装置100との間の通信シーケンスについては、第1の実施例の場合と同様である。
また、図36に示す機能のうち、HTTPサーバ機能部41及びHTTPクライアント機能部45の機能は、CPU52及びPHY57によって実現されるものである。コマンド分配機能部42,アクションハンドラ群43,コマンド転送ハンドラ44,送信メッセージ収集機能部47,受信メッセージ分配機能部48,応答状況管理機能部49の機能は、CPU52によって実現されるものである。被管理側コマンドプール46は、いずれかの書き換え可能な記憶手段に設けられるものである。例えばフラッシュメモリ54に設けることができるが、SDRAM53やHDD63に設けてもよい。
まず、HTTPサーバ機能部41及びコマンド分配機能部42の機能は、第1の実施例の場合と同様である。ただし、この実施例においては、後述する通り、コマンド分配機能部42は仲介装置コマンドの管理装置102への送信には関与しない。
また、アクションハンドラ群43は、第1の実施例の場合と同様、複数のアクションハンドラ43a及びコマンド転送ハンドラ44を有する。ただし、これらの各ハンドラは、画像処理装置100から受信したり自身で生成したりして管理装置102に転送すべきコマンドを、転送用コマンドシートを作成して被管理側コマンドプール46に登録する(L1)ようにしている点が、第1の実施例の場合と異なる。
そして、被管理側コマンドプール46は、管理装置102に送信すべき画像機器コマンド及び仲介装置コマンドを、これらのコマンドに対する応答や、このコマンドの識別情報及び宛先や送信元の情報等と関連付けて登録するプールである。以後、画像機器コマンドと仲介装置コマンドとを一括して「被管理側コマンド」とも呼ぶことにする。
この図に示すように、仲介装置101においては、転送用コマンドシートには、「コマンドID」、「送信元情報」、「メソッド名」、「入力パラメータ」、「状態」、「コマンド実行結果の通知先」、および「出力パラメータ」のデータを記憶する領域を設けている。そして、このうち「コマンドID」、「メソッド名」、および「入力パラメータ」が被管理側コマンド(及びそこに付されたID)に該当し、「状態」及び「コマンド実行結果の通知先」が管理情報に該当する。「出力パラメータ」は、管理装置102から受信するコマンド応答の内容である。
まず、「メソッド名」は、管理装置102に対するリクエストの内容であり、管理装置102において呼び出す関数(メソッド)の種類を示す。「入力パラメータ」は、「メソッド名」に付随するデータであり、関数を呼び出す際の引数である。
「送信元情報」は、コマンドの送信元、すなわちコマンドを生成した装置の識別情報を示す。またこの情報は、コマンドに対する応答を送信する際の宛先を示す情報になる。なお、識別情報としては、ID、固有名称、IPアドレス等を用いることができる。また、シートに記載されているコマンドが複数の装置を経由して転送されてきたものである場合には、最終的な応答の宛先までの経路情報も含む。
「コマンド実行結果の通知先」は、そのシートに記載している被管理側コマンドに対する応答を受信した場合に、その旨を通知して必要な処理を実行させるモジュールを示す参照情報である。参照するモジュールは、被管理側コマンドを登録したハンドラであることが多いが、必ずしもそうである必要はない。
「出力パラメータ」には、コマンド応答を受け取った段階で、その内容を格納する。管理装置102からのコマンド応答を受け取るまでは空である。
この他に、シートのプロパティを記録できるようにしてもよい。
この図に示すように、「コマンドID」及び「送信元情報」は、それぞれSOAPリクエストのSOAPヘッダから抽出する。図16に示した例では、前者は「コマンドID」タグの要素として、後者は「送信元」タグの要素として記載されている。
そして、「状態」には初期値として「未処理」を登録し、「コマンド実行結果の通知先」には、コマンドシートを作成したコマンド転送ハンドラ44を登録する。「出力パラメータ」の初期値が空であることは、上述の通りである。
このようなコマンドからのSOAPメッセージの生成は、WSDL(Web Service Description Language)に基づいて生成される所要の変換プログラム(シリアライザ)を実行し、データを直列化することによって行うことができる。なお、転送用コマンドシートにXML文字列がそのまま登録されている部分については、シリアライザは不要である。
そして、HTTPリクエスト送信機能部45aは、送信メッセージ収集機能部47が生成した送信メッセージを記載したHTTPリクエストを生成し、管理装置102に送信する機能を有する(L3,L4)。このとき、1つのHTTPリクエストに送信メッセージをいくつ含めてもよい。もちろん、送信元の異なるコマンドに係る送信メッセージを混在させてもよい。
そこで、HTTPリクエスト送信機能部45aは、コマンドの種類や送信元に関わり無く、送信メッセージ収集機能部47が生成した全ての送信メッセージを1つのHTTPリクエストに含めて送信するようにしている。ただし、1つのHTTPリクエストに含める送信メッセージの数に上限を設けることも考えられる。
このようにするのは、上述のように、管理装置102から仲介装置101に送信したい情報があったとしても仲介装置101から通信を要求しない限り送信できないためである。仲介装置101から何も送信するデータがなかったとしても、定期的に管理装置102に対して通信要求を送信して、管理装置102から仲介装置101に情報を送信する機会を与えることにより、転送の必要な情報が長期間に亘って管理装置102に滞留してしまうことを防止できる。
また、HTTPリクエスト送信機能部45aは、コマンド転送ハンドラ44から渡される、画像処理装置100に転送すべき各種SOAPリクエストを、HTTPリクエストに記載して画像処理装置100に送信する機能も有する(M2)。この場合には、1つのHTTPリクエストに対して1つのSOAPリクエストを記載するようにしている。
具体的には、管理装置102から受信したHTTPレスポンスに含まれる、被管理側コマンドに対する応答を、対応する被管理側コマンドについての「出力パラメータ」として登録する。その際、そのコマンドと関連付けられたコマンドIDを被管理側コマンドプール46に記憶している転送用コマンドシートのコマンドIDと照合して対応する被管理側コマンドを特定することができる。
なお、ここでは説明を省略したが、仲介装置101は、管理装置102から仲介装置101や画像処理装置100へのコマンド(管理装置コマンド)に係るSOAPリクエストを、管理装置102から送信されてくるHTTPレスポンスに記載した状態で受信したり、そのコマンドに対する応答に係るSOAPレスポンスを、HTTPリクエストに記載して管理装置102に送信したりする機能も有する。
また、図39に示す機能のうち、HTTPサーバ機能部141の機能は、制御装置126内のCPU及び外部接続I/F123によって実現されるものである。アクションハンドラ群143,送信メッセージ収集機能部147,受信メッセージ分配機能部148,応答状況管理機能部149の機能は、制御装置126内のCPUによって実現されるものである。被管理側コマンドプール150は、制御装置126内のメモリに設けられるものである。
まず、HTTPサーバ機能部141は、第1の実施例の場合と同様、HTTPリクエスト受信機能部141aとHTTPレスポンス送信機能部141bとを備える。
そして、HTTPリクエスト受信機能部141aは、仲介装置101が送信してくるHTTPリクエストを受信し、これを受信メッセージ分配機能部148に渡す機能を有する(N1,N2)。ここで、仲介装置101が送信してくるHTTPリクエストには、被管理側コマンド及びそのコマンドと関連付けられたコマンドIDと送信元情報を含むSOAPメッセージが含まれている。
そこで、HTTPレスポンス送信機能部141bは、コマンドの種類や送信元に関わり無く、送信メッセージ収集機能部147が生成した全ての送信メッセージを1つのHTTPレスポンスに含めて送信するようにしている。ただし、1つのHTTPレスポンスに含める送信メッセージの数に上限を設けることも考えられる。
そして、被管理側コマンドプール150は、被管理側コマンドを、これらのコマンドに対する応答や、このコマンドの識別情報及びコマンドの送信元の情報等と関連付けて登録するプールである。
この図に示すように、管理装置102においては、被管理側コマンドシートには、「コマンドID」、「送信元情報」、「メソッド名」、「入力パラメータ」、「状態」、「コマンドの通知先」、および「出力パラメータ」のデータを記憶する領域を設けている。そして、このうち「コマンドID」、「メソッド名」、および「入力パラメータ」が被管理側コマンド(及びそこに付されたID)に該当し、「状態」及び「コマンドの通知先」が管理情報に該当する。「出力パラメータ」は、アクションハンドラ群143のアクションハンドラが生成するコマンド応答の内容である。この他に、シートのプロパティを記録できるようにしてもよい。
この図に示すように、「コマンドID」及び「送信元情報」は、それぞれSOAPリクエストのSOAPヘッダから抽出する。図18に示した例では、前者は「コマンドID」タグの要素として、後者は「送信元」タグの要素として記載されている。
そして、「状態」には初期値として「未処理」を登録し、「コマンド実行結果の通知先」には、第1の実施例で図31を用いて説明したようなハンドラテーブルを管理装置102についても用意しておいてこれを参照し、コマンドに係る処理を実行させるためのアクションハンドラを登録する。「出力パラメータ」の初期値が空であることは、上述の通りである。
応答状況管理機能部149は、被管理側コマンドプール150に登録されているコマンドに対するコマンド応答の生成及び送信状況を管理する手段である。
このとき、生成した管理装置コマンドは、コマンドを生成したアクションハンドラが図示を省略した管理装置コマンドプールに登録し、送信メッセージ収集機能部147がこれを収集して送信するようにするとよい。また、応答を受信した場合には、受信メッセージ分配機能部148がその応答を管理装置コマンドと対応するように管理装置コマンドプールに登録し、適当なアクションハンドラにその旨を通知して応答に応じた処理を行わせるようにするとよい。
このHTTPリクエストには、図42に示すように、ボディ部としてMIME(Multipurpose Internet Mail Extension)に従ったマルチパートのメッセージを記載し、この各パートには、それぞれエンティティヘッダを記載すると共に、詳細な図示は省略しているが、SOAPエンベロープを埋め込んでいる。SOAPエンベロープの内容については、当然コマンドやコマンド応答の内容に従って異なるものである。
また、図42の例では、HTTPリクエストのHTTPボディには、「MIME_boundary」で区分された各要素が、独立した第1パート、第2パート、第3パート、第4パートを構成しているが、HTTPボディに含めることのできるパート数は4つに限られない。0個を含め、いくつでもよい。
HTTPリクエストに埋め込まれて引き渡されるSOAPエンベロープには、被管理側コマンドを記載したものと、管理装置コマンドに対する応答を記載したものとがある。
図43に示すように、このHTTPレスポンスは、形式としては図42に示したHTTPリクエストとHTTPヘッダ部が異なるのみであり、ボディ部には、HTTPリクエストの場合と同様に、詳細な図示は省略しているが、MIMEに従ったマルチパートのSOAPエンベロープを記載する。SOAPエンベロープの内容については、当然コマンドやコマンド応答の内容に従って異なるものである。
HTTPレスポンスに埋め込まれて引き渡されるSOAPエンベロープには、管理装置コマンドを記載したものと、被管理側コマンドに対する応答を記載したものとがある。
また、各パートには、SOAPエンベロープの他、そのパートの内容を示すエンティティヘッダも記載している。そしてこのうち、「X-SOAP-Type」ヘッダには、このパートに記載されているSOAPメッセージがSOAPリクエストであるかSOAPレスポンスであるかを示す情報を記載している。そして、あるパートがSOAPリクエストのパートであれば、そのパートの「X-SOAP-Type」ヘッダの値を「Request」とし、あるパートがSOAPレスポンスのパートであれば、そのパートの「X-SOAP-Type」ヘッダの値を「Response」としている。
まず、具体例として、第1の実施例において表1を用いて説明したような、「用紙注文」のコマンドについて考える。この場合、コマンドの名称を「用紙注文」とし、引数(入力パラメータ)として「商品名」と「数量」を渡すとすると、各装置において例えば表3に示すような仕様のメソッドを用意するとよい。この表において、下線は、異なる種類(名称)のメソッドについても共通にしておくとよい部分を示す。
しかし、管理装置102については、「用紙注文結果問い合わせ」のメソッドを設けず、「用紙注文」のみとしている。この場合において、「用紙注文」メソッドの出力パラメータには、「用紙注文」メソッドに特有の出力パラメータである「料金」が含まれる。また、管理装置102側で受付番号を用意しなくても、メソッドを呼び出すコマンドとそのコマンドに対する応答との対応関係は、コマンドIDにより容易に把握できる。従って、この実施例においては、第1の実施例の場合のような「受付番号」は不要である。
この例においても、名前空間の宣言やSOAPヘッダの内容は、図19に示した、用紙注文コマンドの受付通知に係るSOAPレスポンスの例の場合と同様である。
しかし、SOAPボディにおいて、用紙注文コマンドに対する応答として、処理結果そのもの(「結果」及び「料金」)を返すようにしている点が、第1の実施例の場合と異なる。このような対応が可能であるのは、この実施例においては、HTTPリクエスト/レスポンスとSOAPリクエスト/レスポンスが1対1に対応しなくてもよいようにしているので、コマンドに対して即座に応答を返さなくてもよいためである。
この例は、管理装置102において、用紙注文コマンドに応じた処理が完了したものの結果がエラーである場合の例であり、ここでは、「結果」タグの内容として、注文に係る用紙の在庫がなく、注文を受け付けられなかった旨を示す「在庫なし」を記載している。
「Envelope」タグの属性やSOAPヘッダの内容は、図44の場合と同様である。
なお、管理装置102において用紙注文コマンドの受付時にエラーとなった場合については、第1の実施例においても、図20に示したように、用紙注文コマンドに対する応答にその旨を記載していたので、この実施例についても同様なフォーマットとしている。
まず、図46に、仲介装置101において以上説明してきたような画像機器コマンドの転送に係る機能を実現するために行う処理のうち、HTTPサーバ機能部41に通信要求があった場合に実行する処理のフローチャートを示す。
すなわちこの場合、ステップS107で、受信したSOAPリクエストをもとに転送用コマンドシートを作成し、ステップS108でその作成した転送用コマンドシートを被管理側コマンドプール46に登録する。そして、ステップS109で、コマンドの受付通知に係るSOAPレスポンス(例えば図17に示したもの)を記載したHTTPレスポンスを画像処理装置100に送信する。
なお、管理装置コマンドプールに管理装置コマンドに対する未送信の応答がある場合には、その応答のパートも作成して、同じHTTPリクエストに記載して管理装置102に送信するようにするとよい。また、ステップS114で行った「状態」の変更は、実際にこの送信が終了してから行うようにしてもよい。このようにすることにより、通信エラーが発生しても、送信しようとしていたコマンドを再度送信の対象とすることができるので、システムの信頼性が向上する。
そして、ステップS116でHTTPレスポンス受信機能部45bとしての機能により管理装置102からHTTPレスポンスを受信し、ステップS117でそのHTTPレスポンスのHTTPボディを解析してパートに分割する。ここで、各パートへの分割は、「MIME_boundary」で区分された要素に分割することであり、またここで全てのパートに関して分割する。そして、ここで得られた各パートについて、以下のステップS118乃至S127の処理を繰り返す。ここでは、各パートは被管理側コマンドに対する応答のパートであるとする。
そして、ステップS120で、発見したコマンドシートに記載されているコマンドが転送用のコマンド、すなわち画像処理装置100から受信して管理装置102に転送した画像機器コマンドであるか否か判断する。そして、YESであれば、ステップS121で対象パートのSOAPボディのうち「結果」要素を抽出してステップS122でこの内容を抽出した転送用コマンドシートの「結果」の項目に登録する。そして、ステップS123ではSOAPボディの「結果」以外の部分を、XML文字列のまま「その他の出力パラメータ」の項目に登録する。すなわち、この場合には、応答に応じた処理を自身では行わず、応答を他の装置に転送するので、応答の内容全体を解釈する必要はないのである。
そして、ステップS123又はS127の後は、ステップS124に進み、応答を登録した転送用コマンドシートの「状態」を「応答受信済」に変更する。「応答受信済」という「状態」は、コマンドに対する応答を管理装置102から受信済であることを示すものである。
ステップS117で得られた全てのパートについて以上の処理が終了すると、転送スレッドの処理は終了する。
なお、受信したHTTPレスポンスに管理装置コマンドのパートがあった場合には、管理装置コマンドシートを作成してこのコマンドを管理装置コマンドプールに登録し、「コマンドの通知先」に記載されたハンドラに通知して、コマンドに係る処理を実行させるようにするとよい。
CPU52は、適当なタイミングで図49のフローチャートに示す処理を開始し、管理装置102へのアクセスタイミングの管理を開始する。そして、ステップS301で、管理装置102からのHTTPレスポンスの受信イベントがあるまで待機する。そして、このイベントがあるとステップS302に進んで「状態」が「処理待ち」の転送用コマンドシートが被管理側コマンドプール46に記憶されているか否か判断する。すなわち、管理装置102に送信済みで、かつ応答を受信していない被管理側コマンドがあるか否か判断する。
従って、詳細な説明は省略するが、この結果問い合わせスレッドの処理を行うことにより、仲介装置101が画像処理装置100に画像機器コマンドの実行結果を通知することができる。この処理において、ステップS134及びS137が第2の転送手順の処理であり、ここではCPU52が第2の転送手段として機能する。
まず、図51及び図52に、仲介装置101との間のSOAPメッセージの送受信に係る機能を実現するために行う処理のフローチャートを示す。
そして、この処理においては、まずステップS201で、仲介装置101からHTTPリクエストを受信する。そして、ステップS202で、受信したHTTPリクエストのHTTPボディを各パートに分割する。ここで、各パートへの分割は、「MIME_boundary」で区分された要素に分割することであり、またここで全てのパートに関して分割する。
なお、受信したHTTPリクエストに管理装置コマンドに対する応答のパートがあった場合には、管理装置コマンドプールからその応答と対応するコマンドの管理装置コマンドシートを抽出し、そのコマンドシートに応答の内容を登録すると共に、「コマンド実行結果の通知先」に記載されたハンドラに通知して、受信したコマンド応答に係る処理を実行させるようにするとよい。
なお、管理装置コマンドプールに未送信の管理装置コマンドがある場合には、そのコマンドのパートも作成して、同じHTTPリクエストに記載して管理装置102に送信するようにするとよい。また、ステップS208で行った「状態」の変更は、実際にこの送信が終了してから行うようにしてもよい。このようにすることにより、通信エラーが発生しても、送信しようとしていたコマンド応答を再度送信の対象とすることができるので、システムの信頼性が向上する。
被管理側コマンドの実行に関する処理としては、まず、制御装置126中のCPUが、図53のフローチャートに示す処理を、図51に示したステップS204の処理の後に、すなわち被管理側コマンドを被管理側コマンドプール150に登録した直後に行うことが考えられる。
そして、これが完了すると、ステップS222で実行結果を被管理側コマンドシートの「出力パラメータ」の項目に登録すると共に、ステップS223で被管理側コマンドシートの「状態」を「処理完了」に変更し、処理が完了したことを示して、もとの図51の処理に戻る。
以上の処理を行うことにより、仲介装置101から被管理側コマンドを受信した場合に、そのコマンドに係る動作を実行し、その結果をコマンド応答として生成して仲介装置101に送信可能な状態にすることができる。
その後、図53の場合と同様なステップS221乃至S223の処理を行って処理対象の被管理側コマンドシートに記載された被管理側コマンドを実行し、これが完了するとステップSX1に戻って処理を繰り返す。
以上で、管理装置102において実行する、各コマンド及びコマンド応答の転送に関する処理の説明を終了する。
なお、画像処理装置100において実行する、各コマンド及びコマンド応答の転送に関する処理は、第1の実施例の場合と同様であるから、説明を省略する。
この図に示す処理の各々は、既に説明した処理のいずれかであるので、詳細な説明は省略するが、以上説明してきた遠隔管理システムにおいては、このような処理を行うことにより、画像処理装置100と管理装置102との間のコマンド及びコマンド応答の送受信を、仲介装置101によって仲介して行うことができる。
この例においては、まず画像処理装置100が、管理装置102に対する画像機器コマンドを生成し、これをHTTPリクエストxに記載して仲介装置101に送信している。そして、仲介装置101は、HTTPサーバスレッドの処理により、これが自身で実行すべきものでないと判断し、転送用コマンドシートに登録すると共に、HTTPリクエストxに対するHTTPレスポンスに、受信通知を記載して画像処理装置100に返す。
しかし、すぐに応答を生成できないコマンドについては、応答の生成後、仲介装置101からHTTPリクエストを受信した際にこれを仲介装置101に送信するようにしている。
ここでは、HTTPリクエストYがこれに該当し、この時点までに管理装置102で画像機器コマンドAに対する応答が生成されていれば、管理装置102は、このHTTPリクエストYに対するHTTPレスポンスYに、画像機器コマンドAに対する応答を記載して仲介装置101に返す。
またその他、第1の実施形態の場合と同様な効果を有する。さらに、複数のコマンドを1つのHTTPリクエストを記載して送信したり、複数の応答を1つのHTTPレスポンスに記載して受信したりすることができるので、1つずつばらばらのHTTPメッセージに記載する場合に比べ、通信のオーバーヘッドを低減すると共に、送信すべきデータ量も低減し、第1の実施形態の場合よりも通信の負荷を低減することができる。
ここで、上述した実施形態に適用する変形例について説明する。
上述した実施形態においては、RPCを実現する上位プロトコルとしてSOAPを採用し、アプリケーションは直接プールを操作してRPCを実現しているが、アプリケーションとプールとの間にCORBA(Common Object Request Broker Architecture)やJAVA(登録商標)RMI(Remote Method Invocation)とのブリッジ(メッセージ変換機能)を備えることによってアプリケーションの開発効率をさらに向上させてもよい。
すなわち、上述した各実施形態において、各ノード間でのコマンド及びこれに対するコマンド応答のやり取りは、XMLで記述されたSOAPメッセージにより行うこととしているが、これに限るものでなく、他の形式で記述されていてもよい。
また、送受信するコマンドやコマンド応答の情報量に制限を設けても構わない。特に、受信するコマンドの情報量を制限するようにすると、受信側がメモリ容量の限られた装置である場合にメモリの使用量を抑えることができる。
また、ここでは仲介装置101と管理装置102とをインターネット103を介して接続した例について説明したが、これ以外にも、有線、無線を問わず、ネットワーク通信が可能な各種通信経路を用いることができる。仲介装置101、被管理仲介装置110、被管理装置10の相互間においても、LAN以外の各種通信経路を用いることもできる。
例えば、図1に示した遠隔管理システムにおいて、種々の電子装置に通信機能を設けた通信装置を被管理装置とし、図57に示すような遠隔管理システムを構成することが考えられる。この図においては、被管理装置の例として、テレビ受像機12aや冷蔵庫12bのようなネットワーク家電、医療機器12c,自動販売機12d,計量システム12e,空調システム12f、自動車13aや航空機13bを挙げている。
さらに、通信システムの構成として、クライアントが遅延通知等の機能に対応しているものであってもよいし、サーバがクライアントや仲介装置を管理する機能を有しない装置であってもよい。
また、仲介装置を多段にカスケード接続する構成にも対応可能である。あるいは、仲介装置がいずれかのクライアントと一体として構成されていてもよい。
さらに、ネットワークに接続され、プログラムを記録した記録媒体を備える外部機器あるいはプログラムを記憶手段に記憶した外部機器からダウンロードして実行させることも可能である。
従って、この発明を、このような通信システム又はこのような通信システムにおいて通信を仲介する仲介装置に適用することにより、安定した通信が可能でありながら通信の負荷が小さい通信システムを構成することができる。
41,141,241:HTTPサーバ機能部
41a,141a,241a:HTTPリクエスト受信機能部
41b,141b,241b:HTTPレスポンス送信機能部
42,142,242:コマンド分配機能部
43,143,243:アクションハンドラ群
43a,143a,243a:アクションハンドラ
44:コマンド転送ハンドラ
45,245:HTTPクライアント機能部
45a,245a:HTTPリクエスト送信機能部
45b,245b:HTTPレスポンス受信機能部
47,147:送信メッセージ収集機能部
48,148:受信メッセージ分配機能部
49,149:応答状況管理機能部
52,201:CPU 57,206:PHY
100:画像処理装置 101:仲介装置
102:管理装置 103:インターネット
104:ファイアウォール 126:制御装置
144:結果問い合わせハンドラ
146:コマンド実行結果記憶機能部
Claims (21)
- ファイアウォールの内側に設けることで、該ファイアウォールの外側に設けられるサーバと、該ファイアウォールの内側に設けられる複数のクライアントとの間の通信を仲介する仲介装置であって、
前記各クライアントからの動作要求を受信して前記サーバに転送する転送手段と、
前記サーバに問い合わせを送信した際、そのサーバにおいて、それまでに転送したいずれかの動作要求に対する動作応答が送信可能な状態になっていた場合に、その動作応答を受信する受信手段と、
該手段が動作応答を受信した場合に、その動作応答を、その動作応答と対応する動作要求の送信元に転送する第2の転送手段とを設けたことを特徴とする仲介装置。 - 請求項1記載の仲介装置であって、
前記受信手段が、前記サーバに問い合わせを送信した際、そのサーバにおいて、それまでに転送した複数の動作要求に対する動作応答がそれぞれ送信可能な状態になっていた場合に、それらの動作応答を複数一括して受信する手段であることを特徴とする仲介装置。 - 請求項1又は2記載の仲介装置であって、
前記受信手段に、前記転送手段が前記サーバに動作要求を転送した後、該サーバに転送した全ての動作要求に対する動作応答を受信するまで、定期的に前記サーバに前記問い合わせを送信する手段を設けたことを特徴とする仲介装置。 - 請求項3記載の仲介装置であって、
前記受信手段に、定期的に前記サーバに前記問い合わせを送信する手段を設け、該手段が、前記転送手段が前記サーバに動作要求を転送した後、該サーバに転送した全ての動作要求に対する動作応答を受信するまでは、それ以外の期間よりも短い間隔で前記サーバに前記問い合わせを送信する手段であることを特徴とする仲介装置。 - 請求項1乃至4のいずれか一項記載の仲介装置であって、
前記クライアントから動作要求を受信した場合に、該クライアントに対して受信通知を送信する受信通知手段を設けたことを特徴とする仲介装置。 - ファイアウォールの外側に設けられるサーバと、該ファイアウォールの内側に設けられる複数のクライアントと、該ファイアウォールの内側に設けることで、前記サーバと前記複数のクライアントの間の通信を仲介する仲介装置とを備えた通信システムであって、
前記仲介装置に、
前記各クライアントからの動作要求を受信して前記サーバに転送する転送手段と、
前記サーバに問い合わせを送信した際、そのサーバにおいて、それまでに転送したいずれかの動作要求に対する動作応答が送信可能な状態になっていた場合に、その動作応答を受信する受信手段と、
該手段が動作応答を受信した場合に、その動作応答を、その動作応答と対応する動作要求の送信元に転送する第2の転送手段とを設け、
前記各クライアントに、
前記動作要求を前記仲介装置に送信する送信手段と、
その送信した動作要求に対する動作応答を前記仲介装置から受信する受信手段とを設け、
前記サーバに、
前記クライアントからの動作要求を受信した場合に、その動作要求に係る動作を実行して動作応答を生成する手段と、
前記仲介装置から前記問い合わせを受信した場合に、その仲介装置から受信したいずれかの動作要求に対する動作応答が送信可能な状態であれば、その動作応答をその仲介装置に送信する送信手段とを設けたことを特徴とする通信システム。 - 請求項6記載の通信システムであって、
前記仲介装置の受信手段が、前記サーバに前記問い合わせを送信した際、そのサーバにおいて、それまでに転送した複数の動作要求に対する動作応答がそれぞれ送信可能な状態になっていた場合に、それらの動作応答を複数一括して受信する手段であり、
前記サーバの送信手段が、前記仲介装置から前記問い合わせを受信した場合に、その仲介装置から受信した複数の動作要求に対する動作応答がそれぞれ送信可能な状態であれば、それらの動作応答を該仲介装置に複数一括して送信する手段であることを特徴とする通信システム。 - 請求項6又は7記載の通信システムであって、
前記仲介装置において、前記受信手段に、前記転送手段が前記サーバに動作要求を転送した後、該サーバに転送した全ての動作要求に対する動作応答を受信するまで、定期的に前記サーバに前記問い合わせを送信する手段を設けたことを特徴とする通信システム。 - 請求項8記載の通信システムであって、
前記仲介装置の受信手段に、定期的に前記サーバに前記問い合わせを送信する手段を設け、該手段が、前記転送手段が前記サーバに動作要求を転送した後、該サーバに転送した全ての動作要求に対する動作応答を受信するまでは、それ以外の期間よりも短い間隔で前記サーバに前記問い合わせを送信する手段であることを特徴とする通信システム。 - 請求項6乃至9のいずれか一項記載の通信システムであって、
前記仲介装置に、前記クライアントから動作要求を受信した場合に、該クライアントに対して受信通知を送信する受信通知手段を設け、
前記各クライアントに、該受信通知を受信する手段を設けたことを特徴とする通信システム。 - ファイアウォールの外側に設けられるサーバと、該ファイアウォールの内側に設けられる複数のクライアントとの間の通信を、該ファイアウォールの内側に設ける仲介装置によって仲介して行う通信方法であって、
前記仲介装置に、
前記各クライアントからの動作要求を受信して前記サーバに転送する転送手順と、
前記サーバに問い合わせを送信した際、そのサーバにおいて、それまでに転送したいずれかの動作要求に対する動作応答が送信可能な状態になっていた場合に、その動作応答を受信する受信手順と、
該手順で動作応答を受信した場合に、その動作応答を、その動作応答と対応する動作要求の送信元に転送する第2の転送手順とを実行させるようにしたことを特徴とする通信方法。 - 請求項11記載の通信方法であって、
前記仲介装置に実行させる受信手順が、前記サーバに前記問い合わせを送信した際、そのサーバにおいて、それまでに転送した複数の動作要求に対する動作応答がそれぞれ送信可能な状態になっていた場合に、それらの動作応答を複数一括して受信する手順であることを特徴とする通信方法。 - 請求項11又は12記載の通信方法であって、
前記仲介装置に、前記受信手順において、前記転送手順で前記サーバに動作要求を転送した後、該サーバに転送した全ての動作要求に対する動作応答を受信するまで、定期的に前記サーバに前記問い合わせを送信する手順を実行させるようにしたことを特徴とする通信方法。 - 請求項13記載の通信方法であって、
前記仲介装置に、前記受信手順において、定期的に前記サーバに前記問い合わせを送信する手順を実行させ、該手順を、前記転送手順で前記サーバに動作要求を転送した後、該サーバに転送した全ての動作要求に対する動作応答を受信するまでは、それ以外の期間よりも短い間隔で前記サーバに前記問い合わせを送信する手順としたことを特徴とする通信方法。 - 請求項11乃至14のいずれか一項記載の通信方法であって、
前記仲介装置に、さらに、前記クライアントから動作要求を受信した場合に、該クライアントに対して受信通知を送信する受信通知手順を実行させるようにしたことを特徴とする仲介装置。 - ファイアウォールの内側に設けることで、該ファイアウォールの外側に設けられるサーバと、該ファイアウォールの内側に設けられる複数のクライアントとの間の通信を仲介する仲介装置を制御するコンピュータを、
前記各クライアントからの動作要求を受信して前記サーバに転送する転送手段と、
前記サーバに問い合わせを送信した際、そのサーバにおいて、それまでに転送したいずれかの動作要求に対する動作応答が送信可能な状態になっていた場合に、その動作応答を受信する受信手段と、
該手段が動作応答を受信した場合に、その動作応答を、その動作応答と対応する動作要求の送信元に転送する第2の転送手段として機能させるためのプログラム。 - 請求項16記載のプログラムであって、
前記受信手段の機能が、前記サーバに前記問い合わせを送信した際、そのサーバにおいて、それまでに転送した複数の動作要求に対する動作応答がそれぞれ送信可能な状態になっていた場合に、それらの動作応答を複数一括して受信する機能であることを特徴とするプログラム。 - 請求項16又は17記載のプログラムであって、
前記受信手段に、前記転送手段が前記サーバに動作要求を転送した後、該サーバに転送した全ての動作要求に対する動作応答を受信するまで、定期的に前記サーバに前記問い合わせを送信する機能を設けたことを特徴とするプログラム。 - 請求項18記載のプログラムであって、
前記受信手段に、定期的に前記サーバに前記問い合わせを送信する機能を設け、該機能を、前記転送手段が前記サーバに動作要求を転送した後、該サーバに転送した全ての動作要求に対する動作応答を受信するまでは、それ以外の期間よりも短い間隔で前記サーバに前記問い合わせを送信する機能としたことを特徴とするプログラム。 - 請求項16乃至19のいずれか一項記載のプログラムであって、
前記コンピュータを、前記クライアントから動作要求を受信した場合に、該クライアントに対して受信通知を送信する受信通知手段として機能させるためのプログラムを更に含むことを特徴とするプログラム。 - 請求項16乃至20のいずれか一項記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005105313A JP4382006B2 (ja) | 2004-03-31 | 2005-03-31 | 仲介装置、通信システム、通信方法、プログラム及び記録媒体 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004108281 | 2004-03-31 | ||
JP2005105313A JP4382006B2 (ja) | 2004-03-31 | 2005-03-31 | 仲介装置、通信システム、通信方法、プログラム及び記録媒体 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2005316991A true JP2005316991A (ja) | 2005-11-10 |
JP4382006B2 JP4382006B2 (ja) | 2009-12-09 |
Family
ID=35444297
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005105313A Active JP4382006B2 (ja) | 2004-03-31 | 2005-03-31 | 仲介装置、通信システム、通信方法、プログラム及び記録媒体 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4382006B2 (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7822864B2 (en) | 2005-04-08 | 2010-10-26 | Ricoh Co., Ltd. | Communication apparatus, program product for adding communication mechanism to communication apparatus for providing improved usability and communication efficiency, and recording medium storing program product |
US7831737B2 (en) | 2005-05-24 | 2010-11-09 | Ricoh Company, Ltd. | 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 |
JP2013025693A (ja) * | 2011-07-25 | 2013-02-04 | Ricoh Co Ltd | 通信装置と通信システムとプログラム |
JPWO2016157237A1 (ja) * | 2015-03-27 | 2017-07-27 | 三菱電機株式会社 | 通信装置、通信システム、及び通信方法 |
US11018987B2 (en) | 2019-01-29 | 2021-05-25 | Ricoh Company, Ltd. | Resource reservation system, setting method, and non-transitory computer readable storage medium |
-
2005
- 2005-03-31 JP JP2005105313A patent/JP4382006B2/ja active Active
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7822864B2 (en) | 2005-04-08 | 2010-10-26 | Ricoh Co., Ltd. | Communication apparatus, program product for adding communication mechanism to communication apparatus for providing improved usability and communication efficiency, and recording medium storing program product |
US7831737B2 (en) | 2005-05-24 | 2010-11-09 | Ricoh Company, Ltd. | 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 |
JP2013025693A (ja) * | 2011-07-25 | 2013-02-04 | Ricoh Co Ltd | 通信装置と通信システムとプログラム |
JPWO2016157237A1 (ja) * | 2015-03-27 | 2017-07-27 | 三菱電機株式会社 | 通信装置、通信システム、及び通信方法 |
US11018987B2 (en) | 2019-01-29 | 2021-05-25 | Ricoh Company, Ltd. | Resource reservation system, setting method, and non-transitory computer readable storage medium |
Also Published As
Publication number | Publication date |
---|---|
JP4382006B2 (ja) | 2009-12-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7600050B2 (en) | Information processing apparatus, information processing apparatus control method, information processing program, and network system | |
JP4019038B2 (ja) | 通信装置,通信装置の遠隔管理システム,通信装置の制御方法,およびプログラム | |
US7587496B2 (en) | Transfer device, distributed processing system, transfer device control method, program, and recording medium | |
EP1638290B1 (en) | System, method and intermediary server for transmitting operational requests and responses between apparatuses | |
US7620700B2 (en) | Communication system implementing a plurality of communication apparatuses as communication client and communication server for exchanging operation requests and operation responses | |
JP4704105B2 (ja) | 通信装置、通信システム及び通信方法 | |
US20070032888A1 (en) | Control apparatus, communication device, and communication method | |
JP5448542B2 (ja) | 情報処理装置、制御方法、及びプログラム | |
JP2010282610A (ja) | ネットワークシステム及びその管理方法 | |
CN101431456A (zh) | 基于通用即插即用的网络系统及其控制方法 | |
JP4382006B2 (ja) | 仲介装置、通信システム、通信方法、プログラム及び記録媒体 | |
JP5558681B2 (ja) | デバイス検索装置、デバイス検索装置の制御方法、及びコンピュータプログラム | |
JP2004139586A (ja) | 仲介装置、通信システム、仲介装置の制御方法、プログラム及び記録媒体 | |
JP4261203B2 (ja) | 情報提供装置、情報提供方法、情報提供システム、及び情報提供プログラム | |
JP4030943B2 (ja) | 画像処理装置、画像処理システム、画像処理装置の制御方法、プログラム及び記録媒体 | |
JP2005322222A (ja) | 通信機能付加方法、プログラム、記録媒体及び通信装置 | |
JP4160480B2 (ja) | 仲介装置、通信システム、仲介装置の制御方法、プログラム及び記録媒体 | |
US8688858B2 (en) | Image processing device, device management system, and image processing method | |
JP2005259106A (ja) | 仲介装置、分散処理システム、データ転送方法、プログラム及び記録媒体 | |
JP2005259105A (ja) | 仲介装置、通信システム、仲介装置の制御方法、プログラム及び記録媒体 | |
JP4198562B2 (ja) | 通信クライアント、通信サーバ、通信システム及び通信方法 | |
JP2005229592A (ja) | 画像処理システムとその画像処理装置,処理回数処理方法,プログラム,および記録媒体 | |
JP2004139565A (ja) | 通信方法 | |
JP5562161B2 (ja) | 管理システム、画像形成装置、情報処理方法及びプログラム | |
JP2004140803A (ja) | 通信クライアント、通信クライアントの制御方法、プログラム及び記録媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070806 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20081127 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20081209 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090209 |
|
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: 20090915 |
|
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: 20090916 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121002 Year of fee payment: 3 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 4382006 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121002 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131002 Year of fee payment: 4 |