以下、本発明に関する好ましい実施形態について図面を参照しつつ詳細に説明する。尚、以下に説明する実施形態において互いに共通する要素には同一符号を付しており、それらについての重複する説明は省略する。
(第1実施形態)
図1は、本発明の通信仲介システム1の構成概念の一例を示す図である。この通信仲介システム1は、社内LANなどのローカルネットワークNW1と、インターネットNW2とが、図示を省略するファイヤウォールを介して接続されたネットワークシステムである。インターネットNW2には、アプリケーションサーバー5と切替サーバー4とが設けられ、ローカルネットワークNW1には、仲介ユニット2と画像処理装置6とが設けられる。一般的に、このようなネットワークシステムで用いられるファイヤウォールは、ローカルネットワークNW1に設けられる機器とインターネットNW2に設けられるサーバーとの間で接続状態が確立されているときには、それら機器とサーバーとの相互通信を許容する。一方、ファイヤウォールは、ローカルネットワークNW1に設けられる機器とインターネットNW2に設けられるサーバーとの間で接続状態が確立されていないときには、そのサーバーからローカルネットワークNW1内へのアクセスを遮断する。そこで、本実施形態の通信仲介システム1は、ローカルネットワークNW1に仲介ユニット2を配置し、その仲介ユニット2がアプリケーションサーバー5と画像処理装置6との間で行われる通信を仲介するように構成される。
仲介ユニット2は、ローカルネットワークNW1とインターネットNW2との間で行われる通信を仲介する装置である。具体的に説明すると、仲介ユニット2は、ローカルネットワークNW1に設けられている画像処理装置6を管理対象として管理しており、管理対象である画像処理装置6とアプリケーションサーバー5との間で行われる通信を仲介する。この仲介ユニット2は、複数の仲介装置3を備えている。図1では、仲介ユニット2が、第1仲介装置3aと第2仲介装置3bとの2つの仲介装置3を備える場合を例示している。それら2つの仲介装置3のうち、第1仲介装置3aは、ネットワークNW1とインターネットNW2との間で行われる通信を仲介するための動作を行うため、運用状態で稼働する。運用状態とは、ネットワークNW1とインターネットNW2との間で行われる通信を仲介する動作を行う稼働状態である。これに対し、第2仲介装置3bは、第1仲介装置3aと同様の構成を有しており、第1仲介装置3aのバックアップ用として設けられる。そのため、第2仲介装置3bは、ネットワークNW1とインターネットNW2との間で行われる通信を仲介することが可能であり、第1仲介装置3aが運用状態で稼働しているときには待機状態で稼働する。待機状態とは、ネットワークNW1とインターネットNW2との間で行われる通信を仲介する動作を行わず、切替サーバー4からの切替指示を待つ状態である。この第2仲介装置3bは、待機状態で稼働しているときに、第1仲介装置3aにトラブルが発生して通信の仲介動作を行うことができなくなった場合に、切替サーバー4から切替指示を受信すると、待機状態から運用状態に切り替わり、ネットワークNW1とインターネットNW2との間で行われる通信を仲介する動作を行うようになる。尚、本実施形態では、第1仲介装置3aと第2仲介装置3bとを特に区別する必要がない場合は、単に仲介装置3と称する。
アプリケーションサーバー5は、インターネットNW2に設けられ、例えばSaaSアプリケーションなどによる様々なアプリケーションサービス(クラウドサービス)を提供するサーバーである。尚、図1の例では、アプリケーションサーバー5が1台である場合を示している。しかしながら、通常インターネットNW2には、複数のアプリケーションサーバー5が設けられ、サーバー毎に異なるサービスが提供されることが一般的である。したがって、インターネットNW2に設けられるアプリケーションサーバー5は、複数台であっても構わない。
切替サーバー4は、インターネットNW2に設けられるサーバーである。この切替サーバー4は、アプリケーションサーバー5からの要求に応じて仲介ユニット2とアプリケーションサーバー5との接続状態を確立させる接続仲介機能と、仲介ユニット2において運用状態で稼働している第1仲介装置3aにトラブルが発生した場合に運用状態で稼働する仲介装置3を第2仲介装置3bに切り替える機能との2つの機能を有している。
画像処理装置6は、例えば複合機やプリンタなどによって構成され、ローカルネットワークNW1を介して入力するデータなどに基づいて印刷出力を行うことができる装置である。尚、図1の例では画像処理装置6が1台である場合を例示しているが、ローカルネットワークNW1に設けられる画像処理装置6の数は複数台であっても構わない。
上記通信仲介システム1において、仲介ユニット2は、電源投入に伴う起動時に、ファイヤウォールを介してインターネットNW2に設けられる切替サーバー4との常時接続状態を確立する。具体的に説明すると、第1仲介装置3aは運用状態で起動するときに切替サーバー4との接続状態110aを確立する。これにより、切替サーバー4は、いつでもファイヤウォールを超えてローカルネットワークNW1に設けられた第1仲介装置3aとの通信を行うことができるようになる。第1仲介装置3aは、この接続状態110aを利用して切替サーバー4との通信を行う。また、第2仲介装置3bは、待機状態で起動するときに切替サーバー4との接続状態110bを確立する。これにより、切替サーバー4は、いつでもファイヤウォールを超えて第2仲介装置3bに切替指示を送信することができるようになる。
切替サーバー4は、第1仲介装置3a及び第2仲介装置3bのそれぞれと接続状態110a,110bを確立すると、その接続状態110a,110bを利用してIPアドレスなどのアドレス情報と、仲介ユニット2が管理する画像処理装置6が登録された管理情報とを含む設定情報を取得する。そして切替サーバー4は、仲介ユニット2から取得した設定情報を所定の記憶領域に記憶して管理する。これにより、切替サーバー4は、第1仲介装置3a及び第2仲介装置3bのアドレス情報と、仲介ユニット2が通信の仲介を行う画像処理装置6とを管理することができる。
上記通信仲介システム1において、例えばユーザーがスマートフォンやタブレット端末、パーソナルコンピュータなどの情報処理端末を用いてアプリケーションサーバー5に接続し、アプリケーションサーバー5において保持されている文書データなどを選択した状態でローカルネットワークNW1内の画像処理装置6を指定して印刷指示などを行うことがある。この場合、アプリケーションサーバー5は、切替サーバー4に対して通信開始要求D1を送信する。このとき送信される通信開始要求D1には、ユーザーによって指定された画像処理装置6を特定するための情報が含まれる。切替サーバー4は、アプリケーションサーバー5から通信開始要求D1を受信すると、その通信開始要求D1において指定された画像処理装置6を管理対象とする仲介ユニット2を特定し、その仲介ユニット2において運用状態で稼働している第1仲介装置3aに対して接続要求D2を送信する。この接続要求D2には、アプリケーションサーバー5に接続するためのアドレス情報などが含まれる。切替サーバー4から接続要求D2を受け付けると、仲介ユニット2の第1仲介装置3aは、その接続要求D2に含まれるアドレス情報などに基づいてアプリケーションサーバー5に接続する。これにより、アプリケーションサーバー5は、第1仲介装置3aとの間の接続状態を利用して、文書データなどの印刷対象データをローカルネットワークNW1へ送信することが可能となる。第1仲介装置3aは、アプリケーションサーバー5と画像処理装置6との通信を仲介し、アプリケーションサーバー5から受信するデータを、指定された画像処理装置6に転送する。第1仲介装置3aによるデータの転送処理が終了すると、画像処理装置6は、印刷対象データに基づく印刷出力を開始する。
一方、運用状態で稼働している第1仲介装置3aにトラブルが発声し、上記のような仲介動作を行うことができない事態が発生すると、切替サーバー4は、そのようなトラブルを検知する。例えば、第1仲介装置3aは、運用状態で正常に稼働しているとき、切替サーバー4に対して稼働状態通知を定期的に送信する。この稼働状態通知には、自機にトラブルが発生している状態又は発生していない状態であることを示す情報が含まれる。また、第2仲介装置3bも、同様に、待機状態で正常に稼働しているとき、切替サーバー4に対して稼働状態通知を定期的に送信する。切替サーバー4は、第1仲介装置3a及び第2仲介装置3bのそれぞれから受信する稼働状態通知に基づいて、第1仲介装置3a又は第2仲介装置3bにトラブルが発生しているか否かを確認する。これにより、切替サーバー4は、稼動状態通知に基づいて、運用状態で稼働している第1仲介装置3aにトラブルが発生したことを検知することができる。
切替サーバー4は、運用状態で稼働している第1仲介装置3aにトラブルが発生したことを検知すると、接続状態110bを利用して第2仲介装置3bに切替指示D3を送信する。このとき、切替サーバー4は、第2仲介装置3bに切替処理を実行させるためのスクリプトなどの切替プログラムを、切替指示D3に付加して送信する。また切替サーバー4は、第2仲介装置3bに対して切替指示D3を送信するとき、第1仲介装置3aのIPアドレスを含むアドレス情報(以下、「第1アドレス情報」と称する。)と、仲介ユニット2が管理する画像処理装置6の管理情報とを含む設定情報を所定の記憶領域から読み出し、第1アドレス情報と管理情報とを含む設定情報を切替指示D3に付加して送信する。
第2仲介装置3bは、切替指示D3を受信すると、当該指示に付加されている切替プログラムを実行する。第2仲介装置3bは、切替プログラムを実行することにより、切替処理を開始する。第2仲介装置3bは切替処理を開始すると、自機の動作状態を待機状態から運用状態に移行させる。このとき、第2仲介装置3bは、第1仲介装置3aが起動した状態のままであれば、まず第1仲介装置3aをシャットダウンさせる。その後、第2仲介装置3bは、切替指示D3に付加される設定情報を引き継いで自機の設定を行う。具体的には、まず第2仲介装置3bは、設定情報に含まれる管理情報を所定の記憶領域に記憶する。次に、第2仲介装置3bは、設定情報に含まれる第1アドレス情報に基づいて自身のIPアドレスを第1仲介装置3aと同じアドレスになるように設定する。そして第2仲介装置3bは、稼働状態を待機状態から運用状態に切り替えることで、第1仲介装置3aに代わって、ネットワークNW1とインターネットNW2との間で行われる通信を仲介する動作を開始する。
上記のような切替処理が完了するまでの間、第2仲介装置3bは、アドレスの変更などを行うため、ローカルネットワークNW1とインターネットNW2との間の通信を仲介することができない。そこで、第2仲介装置3bは、切替処理が完了するまでの期間において、切替サーバー4や画像処理装置6に対して、通信仲介動作を規制するための通信規制を行う。すなわち、第2仲介装置3bは、通信規制中であることを示す情報を切替サーバー4や画像処理装置6に対して送信するのである。そのような情報を送信しておくことにより、切替サーバー4や画像処理装置6は、通信規制が解除されるまでの間、仲介ユニット2による仲介が必要となる通信を発生させないようにできる。
図2は、第2仲介装置3bが切替処理を完了した後の通信仲介システム1の構成概念の一例を示す図である。図2の例では、トラブルが発生した第1仲介装置3aがシャットダウンされている。一方、第2仲介装置3bは、運用状態に移行している。このとき、第2仲介装置3bのIPアドレスは、それ以前の第1仲介装置3aのIPアドレスに変更されている。また、第2仲介装置3bは、切替指示D3に付加されていた管理情報に基づき、画像処理装置6を通信仲介対象装置として管理している。そのため、第2仲介装置3bは、接続状態110bを介して切替サーバー4から接続要求D2を受信すると、その接続要求D2に基づいてアプリケーションサーバー5と接続し、アプリケーションサーバー5と画像処理装置6との通信を仲介することができる。このとき、画像処理装置6は、第1仲介装置3aを介してアプリケーションサーバー5と通信を行っていたときの通信設定をそのまま適用しつつ、第2仲介装置3bを介してアプリケーションサーバー5との通信を行うことができる。すなわち、本実施形態の通信仲介システム1は、画像処理装置6に設定されている第1仲介装置3aに関する通信設定を変更することなく、バックアップ用の第2仲介装置3bに仲介動作を引き継がせることができるため、作業効率に優れている。以下、このような機能を実現する仲介ユニット2及び切替サーバー4の具体的な構成及び動作について詳しく説明する。
まず、仲介ユニット2について説明する。図3は、仲介ユニット2の外観構成及び機能構成の一例を示す図である。まず、図3(a)に示すように、仲介ユニット2は、ユニット本体210に対して、第1仲介装置3a及び第2仲介装置3bを着脱可能な構成である。ユニット本体210は、第1仲介装置3aを装着するための第1スロット211と、第2仲介装置3bを装着するための第2スロット212とを有している。第1仲介装置3a及び第2仲介装置3bは、それら第1スロット211及び第2スロット212に対して装着可能な外形を有しており、図3(a)において矢印Fで示すように各スロット211,212に対して挿入されることにより、ユニット本体210に装着される。また第1仲介装置3a及び第2仲介装置3bには、LANケーブルを接続するための接続ポート510が設けられている。
また、ユニット本体210の内部には、第1仲介装置3a及び第2仲介装置3bのそれぞれに対して電力を供給する通電制御部21(図3(b)参照)が設けられている。そのため、第1仲介装置3a及び第2仲介装置3bは、ユニット本体210に装着されることにより、電力が供給され、上述したように運用状態又は待機状態で稼働する。また、通電制御部21は、第1仲介装置3a及び第2仲介装置3bのそれぞれの通電状態を制御することができる。したがって、仲介ユニット2は、第1仲介装置3a及び第2仲介装置3bに対する通電状態を制御する通電制御装置8として機能するものである。
このように仲介ユニット2は、第1仲介装置3a及び第2仲介装置3bのそれぞれを着脱可能であるため、例えば第1仲介装置3aにトラブルが発生した場合には、第1仲介装置3aを別の仲介装置に交換することができる。
図3(b)は、仲介ユニット2の機能構成を示している。仲介ユニット2は、運用状態で稼働する第1仲介装置3aと、待機状態で稼働する第2仲介装置3bと、第1仲介装置3a及び第2仲介装置3bの通電状態を制御する通電制御部21と、ハードディスクドライブ(HDD)やソリッドステートドライブ(SSD)などで構成される記憶部22とを備えている。記憶部22には、電源設定23が記憶される。電源設定23には、仲介ユニット2に対して電源が投入されたときに、第1仲介装置3a及び第2仲介装置3bのそれぞれを起動させるか否かを示す情報が記録される。通電制御部21は、仲介ユニット2に電源が投入されると、記憶部22から電源設定23を読み出し、第1仲介装置3a及び第2仲介装置3bに対する電力供給を制御する。通常、電源設定23には、仲介ユニット2の電源投入時に自動的に第1仲介装置3a及び第2仲介装置3bの双方を起動させることが設定されている。そのため、通電制御部21は、仲介ユニット2に電源が投入されると、第1仲介装置3a及び第2仲介装置3bの双方を起動させる。これに対し、第1仲介装置3aにトラブルが発生すると、電源設定23は、第1仲介装置3aに対する電力供給を行わない設定に書き換えられることがある。その場合、通電制御部21は、仲介ユニット2に電源が投入された場合であっても、第1仲介装置3aには電力を供給せず、第2仲介装置3bのみに対して電力を供給する。
次に仲介ユニット2に装着される仲介装置3について詳しく説明する。上述のように本実施形態において、第1仲介装置3a及び第2仲介装置3bは、互いに同様のハードウェア構成を有している。その一方で、仲介装置3が運用状態で稼働するときと、待機状態で稼働するときとで、動作する機能が異なる。そのため、以下においては、仲介装置3が待機状態で動作する場合と、運用状態で動作する場合とを区別して説明する。
まず、待機状態の仲介装置3について説明する。図4は、待機状態の仲介装置3のハードウェア構成及び機能構成の一例を示す図である。仲介装置3は、そのハードウェア構成として、通信インタフェース31と記憶部32と制御部33とを備えている。この点は、運用状態の仲介装置3についても同様である。
通信インタフェース31は、上述した接続ポート510に設けられており、仲介装置3をローカルネットワークNW1に接続するためのインタフェースである。仲介装置3は、この通信インタフェース31を介して、インターネットNW2に設けられているアプリケーションサーバー5及び切替サーバー4、並びに、ローカルネットワークNW1に設けられている画像処理装置6と通信を行う。
記憶部32は、例えばハードディスクドライブ(HDD)又はソリッドステートドライブ(SSD)で構成される不揮発性の記憶手段である。この記憶部32には、例えば、仲介プログラム90、第2アドレス情報91b、サーバー情報93及び動作設定94が記憶される。仲介プログラム90は、例えば制御部33のCPUによって実行されるプログラムである。また、記憶部32には、切替サーバー4から受信する管理情報92を記憶することもできる。
第2アドレス情報91bは、待機状態で稼働する仲介装置3(第2仲介装置3b)に設定されているIPアドレスなどのアドレス情報である。仲介装置3の動作状態が待機状態であるとき、仲介装置3は、第2アドレス情報91bに基づいて自機のアドレス設定を行う。サーバー情報93は、切替サーバー4のIPアドレスや、URL(Uniform Resource Locator)などの情報である。待機状態である仲介装置3は、サーバー情報93に基づいて切替サーバー4と接続状態110bを確立し、通信を行う。尚、サーバー情報93は、アプリケーションサーバー5のIPアドレスや、URLなどの情報を含むものであってもよい。動作設定94は、仲介装置3の動作状態を、運用状態とするか、又は待機状態とするかを決定する設定である。本実施形態の動作設定94は、運用状態フラグを使用して動作設定を示す。図4の例では、仲介装置3が待機状態で稼働するため、動作設定94に設定される運用状態フラグはOFFとして予め設定される。一方、動作設定94に設定される運用状態フラグがONになっている場合、仲介装置3は運用状態で稼働する。
制御部33は、図示を省略するCPUやメモリなどを備えて構成される。CPUは、仲介プログラム90を実行するためのものであり、メモリは、CPUが仲介プログラム90などを実行する際に発生する一時的なデータなどを記憶するためのものである。CPUは、仲介装置3に電源が投入されることにより、記憶部32から仲介プログラム90を読み出して実行する。これにより制御部33は、アドレス設定部310、運用稼働部320、待機稼働部330及び切替処理部340として機能する。以下、これら各部の詳細について説明する。
アドレス設定部310は、仲介装置3の起動時に、記憶部32に記憶されるアドレス情報に基づいてIPアドレスの設定を行う処理部である。仲介装置3が起動すると、アドレス設定部310は、記憶部32からアドレス情報を読み出して自機のアドレス設定を行う。図4の例では、待機状態である仲介装置3の記憶部32に、第2アドレス情報91bが記憶されている。そのため、アドレス設定部310は、第2アドレス情報91bに基づいて自機のアドレス設定を行う。
運用稼働部320は、仲介装置3の動作状態が運用状態である場合に機能する処理部である。図4の例では、仲介装置3は待機状態で稼働するため、運用稼働部320は機能しない。運用稼働部320の詳細については後述する。
待機稼働部330は、仲介装置3の動作状態が待機状態である場合に機能する処理部である。図4の例では、仲介装置3は待機状態で稼働するため、待機稼働部330が機能する。待機稼働部330が機能することにより、切替サーバー4との接続状態110bが確立される。すなわち、仲介装置3は、起動に伴い、待機稼働部330を機能させる。そして待機稼働部330は、サーバー情報93を参照して切替サーバー4へ自動的に接続することにより、切替サーバー4との接続状態110bを確立させる。この待機稼働部330は、稼働状態通知部331及び切替指示受付部332を有している。以下、これら各部の詳細について説明する。
稼働状態通知部331は、自機の稼働状態を定期的に切替サーバー4に通知する処理部である。稼働状態通知部331は、ハードウェアの異常や、故障の兆しなどといったトラブルの有無を定期的に確認し、その確認の結果を切替サーバー4に通知する。仲介装置3にトラブルが発生した場合、切替サーバー4は、この通知に基づいて仲介装置3にトラブルが発生したことを検知する。例えば、稼働状態通知部331から、ハードウェアの異常や故障の兆しが確認されたことを示す稼働状態通知を受信した場合や、稼働状態通知を所定期間内に受信しなかった場合に、切替サーバー4は、仲介装置3にトラブルが発生したことを検知する。
切替指示受付部332は、トラブルなどによって運用状態である他の仲介装置3(第1仲介装置3a)が正常に稼働できなくなった場合に、切替サーバー4から送信される切替指示D3を、接続状態110bを介して受け付ける処理部である。本実施形態の切替指示受付部332は、切替サーバー4から送信される切替指示D3を受け付けると、切替指示D3に付加される切替プログラムを制御部33のCPUに実行させる。制御部33のCPUによって切替プログラムが実行されることにより、制御部33は、切替処理部340として機能するようになる。
切替処理部340は、仲介装置3の動作状態を待機状態から運用状態へ切り替える際の切替処理を行う処理部である。切替処理部340は、動作設定管理部341、シャットダウン部342、設定情報取得部343、通信規制部344及びアドレス書換部345として機能する。以下、これら各部の詳細について説明する。
動作設定管理部341は、記憶部32に記憶される動作設定94を管理する処理部である。切替処理部340によって仲介装置3の動作状態を待機状態から運用状態へ切り替える切替処理が開始されると、動作設定管理部341は、切替サーバー4からの指示に基づき、自機の動作設定94を変更する。具体的には、動作設定管理部341は、動作設定94の運用状態フラグをOFFからONに変更する。例えば、運用状態フラグをOFFからONに変更する指示は、切替プログラムに記述されており、動作設定管理部341は、その切替プログラムに基づく処理を行うことにより、運用状態フラグをOFFからONに変更する。
シャットダウン部342は、運用状態の他の仲介装置3(第1仲介装置3a)にトラブルが発生した場合に、当該仲介装置3をシャットダウンさせる処理部である。切替処理部340によって仲介装置3の動作状態を待機状態から運用状態へ切り替える切替処理が開始されると、シャットダウン部342は、仲介ユニット2の通電制御部21に対して、トラブルが発生した他の仲介装置3をシャットダウンさせる指示を出力する。上述した通り、仲介装置3の動作状態を待機状態から運用状態に移行させる切替処理の完了後には、待機状態であった仲介装置3(第2仲介装置3b)が、トラブルが発生した他の仲介装置3(第1仲介装置3a)のアドレスを引き継いで運用状態で稼働し始める。トラブルが発生した他の仲介装置3がシャットダウンされず、起動したままの状態であれば、自機とトラブルが発生した他の仲介装置3とのアドレスが重複してしまう。このような事態を回避する為、シャットダウン部342はトラブルが発生した他の仲介装置3を予めシャットダウンしておくのである。また、シャットダウン部342は、通電制御部21に対して、電源設定23を変更する指示を出力する。具体的に説明すると、シャットダウン部342は、その後、トラブルが発生した他の仲介装置3に電力供給を行わないように電源設定23を変更する指示を出力する。この指示を受けた通電制御部21は、電源設定23をシャットダウン部342からの指示に基づいて変更する。これにより、その後の仲介ユニット2の再起動時などに、仲介ユニット2に対して電源が投入されたとしても、仲介ユニット2は、トラブルが発生した他の仲介装置3に対する通電を行わない。そのため、トラブルが発生した他の仲介装置3を起動させないようにできる。このようにして電源設定23を書き換えておくことにより、例えば、停電後の復旧に伴って仲介ユニット2に電源が再投入されたとしても、トラブルが発生した他の仲介装置3が起動してしまうことを防止することができる。
設定情報取得部343は、トラブルが発生した他の仲介装置3(第1仲介装置3a)のアドレス情報(第1アドレス情報)と、仲介ユニット2が管理する画像処理装置6に関する管理情報92とを含む設定情報を取得する処理部である。本実施形態では、トラブルが発生した他の仲介装置3のアドレス情報と管理情報92とを含む設定情報は、切替サーバー4によって切替指示D3に付加されて送信される。そのため、設定情報取得部343は、切替指示D3に付加されている設定情報を取得し、その取得した管理情報92を記憶部32に保存する。また、設定情報取得部343は、取得したアドレス情報を後述するアドレス書換部345に出力する。
通信規制部344は、ローカルネットワークNW1に接続されている他の機器に対して、通信規制を行う処理部である。上述したように切替処理が完了するまでの期間において、仲介装置3は、ローカルネットワークNW1とインターネットNW2との間の通信を仲介することができない。そのため、通信規制部344は、切替指示D3に付加される管理情報92を参照して、トラブルが発生した他の仲介装置3が通信を仲介していた画像処理装置6を特定する。そして通信規制部344は、特定した画像処理装置6に対して通信規制中であることを示す情報を送信する。また、通信規制部334は、切替サーバー4に対して通信規制中であることを示す情報を送信する。画像処理装置6は、この情報を受信すると、仲介装置3による通信の仲介を必要とする処理を受け付けないようになる。例えば、画像処理装置6は、ユーザーによるジョブの設定操作などが行われる場合であっても、スキャンした画像データをアプリケーションサーバー5に送信するジョブなど、仲介装置3を介して通信を行うことが必要となるジョブの実行指示を受け付けない。通信規制部344は、通信規制を行うと、通信規制を行っていることを示す通信規制情報を記憶部32に保存する。通信規制情報には、通信規制中であることを示す情報を送信した画像処理装置6に関する情報が記録されている。
アドレス書換部345は、設定情報取得部343によって取得されるアドレス情報に基づいて、記憶部32に記憶されるアドレス情報を書き換えたうえで自機を再起動させる処理部である。図4に示す例では、アドレス書換部345は、設定情報取得部343によって取得されるアドレス情報に基づいて、記憶部32に記憶される第2アドレス情報91bを書き換え、仲介装置3を再起動させる。したがって、その再起動時に仲介装置3に設定されるIPアドレスなどのアドレスは、書き換えられた第2アドレス情報91bに基づくアドレスとなる。これにより、仲介装置3は、トラブルが発生した他の仲介装置3のアドレスと同一のアドレスが設定された状態で再起動される。
切替処理部340によって上述の切替処理が行われることにより、待機状態として稼働していた仲介装置3は、トラブルが発生した他の仲介装置3のアドレス情報及び管理情報92を引き継いで運用状態に移行することができるのである。
次に、運用状態の仲介装置3について説明する。図5は、運用状態である仲介装置3のハードウェア構成及び機能構成の一例を示す図である。運用状態である仲介装置3は、そおのハードウェア構成として、待機状態の仲介装置3と同様、通信インタフェース31と記憶部32と制御部33とを備えている。
運用状態である仲介装置3の記憶部32には、例えば、仲介プログラム90、第1アドレス情報91a、管理情報92、サーバー情報93、動作設定94及び通信規制情報95が記憶される。
第1アドレス情報91aは、運用状態である仲介装置3に設定されているIPアドレスなどのアドレス情報である。仲介装置3は、自機の動作状態が運用状態であるとき、第1アドレス情報91aに基づいて自機のアドレス設定が行う。管理情報92は、仲介装置3(仲介ユニット2)が通信の仲介を行う画像処理装置6に関する情報が登録された情報である。
通信規制情報95は、待機状態の仲介装置3が運用状態に移行するときに、記憶部32に記憶される情報である。すなわち、通信規制情報95には、通信規制中であることを示す情報を送信した画像処理装置6に関する情報が記録されている。尚、通信規制情報95が記憶部32に存在する場合、通信規制の対象となっている画像処理装置6及び切替サーバー4に対して、後述する通信許可部322によって通信許可命令が送信される。通信許可部322によって通信許可命令が送信されることで、通信規制の解除が行われる。その後、通信規制情報95は、通信許可部322によって記憶部32から削除される。
運用状態で稼働する仲介装置3の制御部33は、仲介プログラム90を実行することにより、アドレス設定部310、運用稼働部320及び待機稼働部330として機能する。ここで、アドレス設定部310及び待機稼働部330は、上述したものと同様である。ただし、待機稼働部330は、仲介装置3が運用状態で稼働する場合には機能しない。また、仲介装置3が運用状態で稼働する場合、仲介装置3の起動に伴い、制御部33において運用稼働部320が機能する。運用稼働部320が機能すると、仲介装置3は切替サーバー4との接続状態110aを確立する。この運用稼働部320は、仲介部321、通信許可部322、管理情報送信部323及び稼働状態通知部324として機能する。以下、これら各部の詳細について説明する。
仲介部321は、アプリケーションサーバー5と、データの出力先として指定される画像処理装置6との通信を仲介する処理部である。仲介部321は、接続状態110aを介して、切替サーバー4から接続要求D2を受け付ける。仲介部321は、この接続要求D2に基づいて、接続先となるアプリケーションサーバー5を特定し、アプリケーションサーバー5との接続状態を確立する。その後、アプリケーションサーバー5から送信されるデータを受信すると、仲介部321は、その受信データを接続要求D2によって出力先として指定される画像処理装置6に転送する。このようにして仲介部321は、アプリケーションサーバー5と画像処理装置6との間の通信を仲介する。そして、アプリケーションサーバー5から送信されるデータを画像処理装置6に転送する処理が終了すると、仲介部321は、アプリケーションサーバー5との接続を切断する。
通信許可部322は、ローカルネットワークNW1に接続されている画像処理装置6及び切替サーバー4に対して行っている通信規制を解除する処理部である。通信許可部322は、運用稼働部320によって切替サーバー4との接続状態110aが確立されると、記憶部32に通信規制情報95が記憶されているか否かを確認する。記憶部32に通信規制情報95が記憶されている場合、画像処理装置6及び切替サーバー4に対する通信規制が行われていることを示す。この場合、通信許可部322は、通信規制情報95を参照することにより、通信規制の対象となっている画像処理装置6を特定する。そして通信許可部322は、特定した画像処理装置6に対して通信許可命令を送信することで通信規制を解除する。また、通信許可部322は、切替サーバー4にも、通信許可命令を送信し、通信規制を解除する。これにより、画像処理装置6及び切替サーバー4は、仲介ユニット2と通信可能な状態が回復されたことを把握する。したがって、画像処理装置6は、仲介装置3による通信の仲介を必要とする処理を再び受け付けることができるようになる。通信許可部322は、通信許可命令を送信した後、記憶部32から通信規制情報95を削除する。
管理情報送信部323は、切替サーバー4に対して管理情報92を定期的に送信してバックアップ保存する処理部である。運用状態である仲介装置3が、このような切替サーバー4に対して管理情報92をバックアップ保存しておくことで、運用状態の仲介装置3にトラブルが発生した際に、待機状態である他の仲介装置3(第2仲介装置3b)が管理情報92を切替サーバー4から取得することが可能となるのである。また、本実施形態では切替サーバー4が管理情報92のバックアップ保存先となっているが、これに限られるものではない。例えば、仲介装置3と通信可能な情報記憶装置がローカルネットワークNW1又はインターネットNW2に接続されている場合、管理情報送信部323は、そのような情報記憶装置に対して管理情報92を定期的に送信することで、管理情報92をバックアップ保存しておくようにしても良い。この場合、待機状態である仲介装置3(第2仲介装置3b)が運用状態に切り替わるときには、情報記憶装置から管理情報92を取得することになる。例えばローカルネットワークNW1において新たな画像処理装置6が追加された場合、管理情報送信部323は、記憶部32に記憶される管理情報92を更新する。そして、管理情報送信部323は、更新後の管理情報92を情報記憶装置へ送信することでバックアップ保存する。
稼働状態通知部324は、上述した稼働状態通知部331(図4参照)と同様の処理を行う処理部であるため説明を省略する。
次に、インターネットNW2に設けられる切替サーバー4について説明する。図6は、切替サーバー4のハードウェア構成及び機能構成の一例を示す図である。切替サーバー4は、アプリケーションサーバー5と、ローカルネットワークNW1に設けられた仲介ユニット2と通信を行うための通信インタフェース41と、記憶部42と、CPUとメモリとにより構成される制御部43を備えている。記憶部42は、ハードディスクドライブやソリッドステートドライブなどで構成される。記憶部42には、制御部43のCPUによって実行される切替指示プログラム96、第1アドレス情報91a、第2アドレス情報91b、管理情報92及び切替プログラム97が記憶される。切替プログラム97は、切替指示D3に付加され、前述した待機状態における仲介装置3の制御部33によって実行されるスクリプトなどのプログラムである。
制御部43は、CPUが記憶部42に記憶される切替指示プログラム96を読み出して実行することにより、仲介部430、管理情報受信部431、稼働状態通知受信部432、トラブル検知部433及び切替指示送信部434として機能する。以下、これら各部の詳細について説明する。
仲介部430は、仲介装置3との間に確立された接続状態110a及び110bを利用して、仲介装置3と通信を行う処理部である。仲介部430は、運用状態である仲介装置3との間に確立された接続状態110a,110bを利用して、アプリケーションサーバー5と仲介装置3との通信を仲介する。このとき、仲介部430は、記憶部42に記憶される管理情報92に基づいて、アプリケーションサーバー5によって出力先に指定された画像処理装置6を管理する仲介装置3(仲介ユニット2)を特定する。
管理情報受信部431は、仲介装置3から送信される管理情報92を受信する処理部である。管理情報受信部431は、受信した管理情報92を記憶部42に保存する。仲介装置3によって保持されている管理情報92が更新された場合、管理情報受信部431は、その更新された管理情報92を受信する。この場合、管理情報受信部431は、記憶部32に記憶されている管理情報92を新たに受信した管理情報92に更新して保存する。
稼働状態通知受信部432は、仲介装置3から送信される稼働状態通知を受信する処理部である。稼働状態通知受信部432は、受信した稼働状態通知をトラブル検知部433に出力する。
トラブル検知部433は、稼働状態通知受信部432から入力する稼働状態通知に基づいて、仲介装置3にトラブルが発生したことを検知する処理部である。稼働状態通知によって、仲介装置3のハードウェア異常や故障の兆しが確認されたことが通知された場合、トラブル検知部433は、仲介装置3にトラブルが発生したことを検知する。また、稼働状態通知を所定期間受信しない場合にも、トラブル検知部433は、仲介装置3にトラブルが発生したことを検知する。例えば、運用状態の仲介装置3でトラブルが発生したことを示す稼働状態通知を受信した場合、トラブル検知部433は、待機状態の仲介装置3に切替指示D3を送信する必要があると判断する。
また、トラブル検知部433は、運用状態の仲介装置3でトラブルが発生したことを検知する前に、待機状態の仲介装置3でトラブルが発生したことを検知していることもある。この場合、トラブル検知部433は、待機状態の仲介装置3に切替指示D3を送信する必要がないと判断してもよい。トラブル検知部433は、待機状態の仲介装置3に切替指示D3を送信する必要があると判断すると、切替指示送信命令を切替指示送信部434へ出力する。
切替指示送信部434は、第2仲介装置3bの動作状態を待機状態から運用状態に切り替える切替指示D3を、待機状態である第2仲介装置3bに送信する処理部である。切替指示送信部434は、トラブル検知部433から切替指示送信命令を受け付けると、切替指示D3を生成する。そして切替指示送信部434は、第2仲介装置3bに切替処理を行わせるための切替プログラム97と、記憶部42に記憶されている第1アドレス情報91aと管理情報92とを含む設定情報を、切替指示D3に付加する。切替指示送信部434は、生成した切替指示D3を、接続状態110bを利用して第2仲介装置3bに送信する。
次に通信仲介システム1を構成する運用状態の第1仲介装置3a、待機状態の第2仲介装置3b、通電制御部21、切替サーバー4及び画像処理装置6の動作を説明する。図7は、切替サーバー4が第1仲介装置3aにトラブルが発生したことを検知することにより、切替指示D3を第2仲介装置3bに送信する場合の各プロセスの流れの概要を示す図である。
まず、仲介ユニット2において通電制御部21に電源が投入される(プロセスP1)。通電制御部21は、電源が投入されると電源設定23を確認する。電源設定23において第1仲介装置3a及び第2仲介装置3bの双方を起動させる設定がなされている場合、通電制御部21は、第1仲介装置3a及び第2仲介装置3bの双方に対して電力を供給し、通電状態とする(プロセスP2)。第1仲介装置3a及び第2仲介装置3bは通電が開始されることによって起動し(プロセスP3)、各装置において、アドレス設定が行われる(プロセスP4)。第1仲介装置3aは、自機の記憶部32に記憶する第1アドレス情報91aに基づいてアドレス設定を行い、第2仲介装置3bは、自機の記憶部32に記憶する第2アドレス情報91bに基づいてアドレス設定を行う。アドレス設定を行った後、第1仲介装置3aは切替サーバー4との接続状態110aを確立し、また第2仲介装置3bも切替サーバー4との接続状態110bを確立する(プロセスP5)。
次に、運用状態で稼働する第1仲介装置3aは、インターネットNW2を介して、管理情報92を切替サーバー4に送信する(プロセスP6)。尚、第1仲介装置3aは、過去に管理情報92を切替サーバー4に送信していて、その管理情報92に変更がない場合がある。このような場合、第1仲介装置3aは、管理情報92を再度切替サーバー4に送信する必要はない。管理情報92を受信すると、切替サーバー4は、受信した管理情報92を保存する(プロセスP7)。次に、第1仲介装置3a及び第2仲介装置3bは、切替サーバー4に対して稼働状態通知を送信する(プロセスP8)。切替サーバー4は、稼働状態通知を受信すると、受信した稼働状態通知を確認する。ここで、受信した稼働状態通知が、第1仲介装置3aにトラブルが発生したことを示す通知であったとする。その場合、切替サーバー4は、受信した稼働状態通知に基づいて、第1仲介装置3aにトラブルが発生したことを検知する(プロセスP9)。そして、切替サーバー4は、第2仲介装置3bに切替指示D3を送信する必要があると判断し、切替指示D3を第2仲介装置3bへ送信する(プロセスP10)。この切替指示D3には、第2仲介装置3bに切替処理を実行させるための切替プログラム97と、第1アドレス情報91a及び管理情報92とを含む設定情報とが付加される。第2仲介装置3bは、切替サーバー4から送信された切替指示D3を受け付ける(プロセスP11)。
次に、第2仲介装置3bが切替指示D3を受け付けた後、切替処理を行う場合の動作について説明する。図8は、第2仲介装置3bが切替指示D3を受け付けて、切替処理を行う場合の各プロセスの流れの概要を示す図である。
第2仲介装置3bは切替指示D3を受け付けると、切替処理を開始する(プロセスP20)。すなわち、第2仲介装置3bは、切替指示D3に含まれる切替プログラム97を実行することにより、切替処理を実行する。切替処理を開始すると、第2仲介装置3bは、動作設定94を編集して待機状態から運用状態に変更する(プロセスP21)。次に、第2仲介装置3bは、通電制御部21に対して、第1仲介装置3aをシャットダウンさせる指示を行う(プロセスP22)。この指示を受けた通電制御部21は、第1仲介装置3aをシャットダウンさせ、第1仲介装置3aに対する通電を遮断する(プロセスP23)。このとき通電制御部21は、電源設定23を編集して、仲介ユニット2への電源投入時に第1仲介装置3aを起動させない設定に変更する。次に第2仲介装置3bは、画像処理装置6に対して、通信規制命令を送信する(プロセスP24)。このとき、第2仲介装置3bは、切替サーバー4にも、同様に通信規制命令を送信しても良い。通信規制命令を受けた画像処理装置6は、通信規制が解除されるまで、第2仲介装置3bに通信を仲介させる処理を受け付けない状態となる。
次に、第2仲介装置3bは、切替指示D3に付加される第1アドレス情報91aに基づいて、記憶部32に記憶している第2アドレス情報91bを書き換える(プロセスP25)。第2仲介装置3bがアドレス書換を行うことで、第2仲介装置3bの記憶部32に記憶されているアドレス情報は第1仲介装置3aの第1アドレス情報91aに書き換えられる。そして第2仲介装置3bは再起動を行い(プロセスP26)、記憶部32に記憶した第1アドレス情報91aに基づいてアドレス設定を行う(プロセスP27)。第2仲介装置3bは、第1アドレス情報91aに基づいてアドレス設定を行うことにより、第1仲介装置3aのアドレスを引き継いだ状態で起動する。そして、第1仲介装置3aのアドレスを引き継いだ第2仲介装置3bは、切替サーバー4と接続状態110bを確立する(プロセスP28)。そして、第2仲介装置3bは、ローカルネットワークNW1の画像処理装置6に対して、通信許可命令を送信する(プロセスP29)。このとき、第2仲介装置3bは、切替サーバー4に対しても通信許可命令を送信する。
次に、仲介装置3における具体的な動作の一例について説明する。図9は、仲介装置3において行われる主たる処理の処理手順の一例を示すフローチャートである。この処理は仲介ユニット2に電源が投入され、仲介装置3が起動することに伴って実行される処理である。上述したように、仲介装置3は、起動時に動作設定94を読み込み、動作設定94に応じた起動処理を行うことで、運用状態又は待機状態として稼働する。以下、詳しく説明する。
仲介装置3は、この処理を開始すると、アドレス設定部310を機能させ、アドレス設定処理を行う(ステップS11)。アドレス設定部310は、記憶部32に記憶するアドレス情報に基づいて自機のアドレスを設定する。例えば、記憶部32に第1アドレス情報91aが記憶されていれば第1アドレス情報91aに基づいて自機のアドレス設定を行い、記憶部32に第2アドレス情報91bが記憶されていれば第2アドレス情報91bに基づいて自機のアドレス設定を行う。次に仲介装置3は、動作設定94を確認することで自機の動作状態を把握する。動作設定94の運用状態フラグがONとなっている場合(ステップS12でYES)、仲介装置3は、運用稼働部320を機能させ、運用状態処理を行う(ステップS14)。一方、運用状態フラグがONになっていない場合(ステップS12でNO)、仲介装置3は、待機稼働部330を機能させ、待機状態処理を行う(ステップS13)。仲介装置3は、仲介装置3の動作設定94に応じて、待機状態処理(ステップS13)又は運用状態処理(ステップS14)を行い、処理を終了する。
次に、仲介装置3が待機状態の仲介装置3として動作する場合に実行する待機状態処理について説明する。図10は、待機状態処理(ステップS13)の詳細な処理手順の一例を示すフローチャートである。待機状態処理を開始すると、仲介装置3は、待機稼働部330を機能させ、切替サーバー4と接続状態110bを確立する(ステップS21)。次に仲介装置3は、稼働状態通知部331を機能させる。稼働状態通知部331は、ハードウェアの異常や、故障の兆しなどトラブルの有無を確認し、その結果を稼働状態通知として切替サーバー4に送信する(ステップS22)。次に、仲介装置3は、切替指示受付部332によって切替指示D3が受け付けられているか否かを確認する(ステップS23)。切替指示受付部332によって切替指示D3が受け付けられていない場合(ステップS23でNO)、処理はステップS22に戻る。一方、切替指示受付部332によって切替指示D3が受け付けられている場合(ステップS23でYES)、制御部33は、切替指示D3に付加される切替プログラム97を実行する(ステップS24)。制御部33は、切替プログラム97を実行することにより、切替処理部340として機能するようになる。
次に、仲介装置3は動作設定管理部341を機能させる。動作設定管理部341は記憶部32に記憶される動作設定94を編集して自機の動作状態の設定を、待機状態から運用状態に変更する(ステップS25)。具体的には、動作設定管理部341は動作設定94の運用状態フラグをONにすることで、自機の動作状態の設定を変更する。次に、仲介装置3は、シャットダウン部342を機能させる。シャットダウン部342は、通電制御部21に対して、トラブルが発生した仲介装置3のシャットダウン指示と、電源設定23を変更する指示とを送信する(ステップS26)。そして、仲介装置3は通信規制部344を機能させる。通信規制部344は、切替指示D3に付加される管理情報92及びサーバー情報93を参照して、トラブルが発生した仲介装置3によって通信の仲介が管理される画像処理装置6を特定し、特定した画像処理装置6及び切替サーバー4に対して通信規制を行う(ステップS27)。そして通信規制部344は、通信規制を行うと、通信規制を行っていること及び通信規制の対象となっている画像処理装置6を特定するための情報を含む通信規制情報95を記憶部32に保存する(ステップS28)。次に、仲介装置3は、設定情報取得部343を機能させる。本実施形態の設定情報取得部343は、切替指示D3に付加されている第1アドレス情報91aと、管理情報92と含む設定情報を取得する(ステップS29)。設定情報取得部343は取得した管理情報92を記憶部32に保存すると共に、取得した第1アドレス情報91aをアドレス書換部345に出力する。アドレス書換部345は、記憶部32に記憶される第2アドレス情報91bを、設定情報取得部343によって取得される第1アドレス情報91aに基づいて書き換える(ステップS30)。そしてアドレス書換部345は、仲介装置3を再起動させて(ステップS31)、待機状態処理を終了する。
次に、仲介装置3が運用状態の仲介装置3として動作する場合に実行する運用状態処理について説明する。図11は、運用状態処理(ステップS14)の詳細な処理手順の一例を示すフローチャートである。運用状態処理を開始すると、仲介装置3は運用稼働部320を機能させ、切替サーバー4と接続状態110aを確立する(ステップS41)。これ以降、仲介部321が機能することにより、接続状態110aを利用してアプリケーションサーバー5と画像処理装置6との通信を仲介することが可能となる。例えば、仲介部321による通信の仲介処理は、図11に示す処理と並行して行われる。そのため、仲介装置3において図11に示す処理が行われるときに、仲介部32にトラブルが発生し、通信の仲介処理を正常に行うことができない事態が発生することがある。
次に、仲介装置3は、通信許可部322を機能させる。通信許可部322は、記憶部32に通信規制情報95が記憶されているか否かを確認する(ステップS42)。確認の結果、通信規制情報95が記憶部32に記憶されていない場合(ステップS42でNO)、処理はステップS45に進む。一方、通信規制情報95が記憶部32に記憶されている場合(ステップS42でYES)、通信許可部322は、通信規制情報95を参照して通信規制の対象となっている画像処理装置6を特定し、特定した画像処理装置6に対して通信許可命令を送信する(ステップS43)。このとき、仲介装置3は、切替サーバー4にも通信許可命令を送信する。通信許可部322は、通信許可命令を送信することで通信規制を解除した後、記憶部32から通信規制情報95を削除する(ステップS44)。
次に、仲介装置3は、管理情報送信部323を機能させる。管理情報送信部323は、記憶部32に記憶される管理情報92が変更されたか否かを確認する(ステップS45)。管理情報92が変更されていない場合(ステップS45でNO)、処理はステップS47に進む。一方、管理情報92が変更されている場合(ステップS45でYES)、管理情報送信部323は、管理情報92を切替サーバー4に送信する(ステップS46)。次に仲介装置3は、稼働状態通知部324を機能させる。稼働状態通知部324は、ハードウェアの異常や、故障の兆しなどトラブルの有無を確認し、その結果を稼働状態通知として切替サーバー4に送信する(ステップS47)。そして、仲介装置3は、シャットダウンされるまでの間、ステップS45〜ステップS47の処理を繰り返す。仲介装置3は、シャットダウンされると(ステップS48でYES)、運用状態処理を終了する。
次に、通電制御部21における具体的な動作の一例について説明する。図12は、通電制御部21において行われる主たる処理の処理手順の一例を示すフローチャートである。この処理は、仲介ユニット2に電源が投入されることに伴って行われる処理である。この処理を開始すると、通電制御部21は、記憶部22に記憶される電源設定23を確認する(ステップS51)。電源設定23が第1仲介装置3aを起動する設定である場合(ステップS52でYES)、通電制御部21は、第1仲介装置3aを起動させる(ステップS53)。一方、電源設定23が第1仲介装置3aを起動しない設定である場合(ステップS52でNO)、処理はステップS54に進む。電源設定23が第2仲介装置3bを起動する設定である場合(ステップS54でYES)、通電制御部21は、第2仲介装置3bを起動させる(ステップS55)。一方、電源設定23が第2仲介装置3bを起動しない設定である場合(ステップS54でNO)、処理はステップS56に進む。仲介装置3を起動させた後、通電制御部21は、待機状態の仲介装置3(第2仲介装置3b)から送信されるシャットダウン指示を受信するまで待機する(ステップS56)。シャットダウン指示を受信した場合(ステップS56でYES)、通電制御部21は、電源設定23を編集し、トラブルが発生した仲介装置3(第1仲介装置3a)を起動しない設定に変更する(ステップS57)。電源設定23を変更した後、通電制御部21は、ステップS56で受信したシャットダウン指示に基づいて、トラブルが発生した仲介装置3(第1仲介装置3a)をシャットダウンさせて(ステップS58)、処理を終了する。
次に、切替サーバー4における具体的な動作の一例について説明する。図13は、切替サーバー4において定期的に行われる処理の処理手順の一例を示すフローチャートである。この処理は、切替サーバー4において定期的に繰り返し実行される処理である。切替サーバー4は、この処理を開始すると、管理情報受信部431において管理情報92を仲介装置3から受信したか否かを確認する(ステップS61)。管理情報92を受信した場合(ステップS61でYES)、管理情報受信部431は、記憶部42に管理情報92を保存する(ステップS62)。一方、管理情報92を受信していない場合(ステップS61でNO)、処理はステップS63に進む。
次に、切替サーバー4は、稼働状態通知受信部432において待機状態の仲介装置3に関する稼働状態通知を受信したか否かを確認する(ステップS63)。待機状態の仲介装置3に関する稼働状態通知を受信していない場合(ステップS63でNO)、トラブル検知部433は、稼動状態通知を受信しないまま所定期間が経過したか否かを確認する。(ステップS65)。所定期間が経過していない場合(ステップS65でNO)、処理はステップS68に進む。一方、所定期間が経過している場合(ステップS65でYES)、トラブル検知部433は待機状態の仲介装置3にトラブルが発生したと判断し、処理はステップS67に進む。ステップS63において、待機状態の仲介装置3に関する稼働状態通知を受信した場合(ステップS63でYES)、稼働状態通知受信部432は、受信した待機状態の仲介装置3に関する稼働状態通知をトラブル検知部433に出力する。トラブル検知部433は、稼働状態通知受信部432から出力される稼働状態通知を確認し(ステップS64)、待機状態である仲介装置3にトラブルが発生しているか否かを判断する(ステップS66)。稼働状態通知がトラブルの発生を示すものでない場合(ステップS66でNO)、処理はステップS68に進む。一方、稼働状態通知が待機状態の仲介装置3でのトラブルの発生を示すものである場合(ステップS66でYES)、トラブル検知部433は、待機状態の仲介装置3にトラブルが発生したことを検知する。トラブル検知部433は、待機状態の仲介装置3にトラブルが発生したことをメモリに記憶する(ステップS67)。この場合、切替サーバー4は、待機状態の仲介装置3にトラブルが発生していることを、仲介ユニット2の管理者が所有する情報処理装置などに通知するようにしてもよい。
次に、切替サーバー4は、稼働状態通知受信部432において運用状態の仲介装置3に関する稼働状態通知を受信したか否かを確認する(ステップS68)。運用状態の仲介装置3に関する稼働状態通知を受信していない場合(ステップS68でNO)、トラブル検知部433は、稼動状態通知を受信しないまま所定期間が経過したか否かを確認する。(ステップS70)。所定期間が経過していない場合(ステップS70でNO)、処理を終了する。一方、所定期間が経過している場合(ステップS70でYES)、トラブル検知部433は運用状態の仲介装置3にトラブルが発生したと判断し、処理はステップS72に進む。ステップS68において、運用状態の仲介装置3に関する稼働状態通知を受信した場合(ステップS68でYES)、稼働状態通知受信部432は、受信した運用状態の仲介装置3に関する稼働状態通知をトラブル検知部433に出力する。トラブル検知部433は、稼働状態通知受信部432から出力される稼働状態通知を確認し(ステップS69)、運用状態である仲介装置3にトラブルが発生しているか否かを判断する(ステップS71)。稼働状態通知が運用状態の仲介装置3でのトラブルの発生を示すものでない場合(ステップS71でNO)、処理を終了する。一方、稼働状態通知が運用状態の仲介装置3でのトラブルの発生を示すものである場合(ステップS71でYES)、トラブル検知部433は、運用状態の仲介装置3にトラブルが発生したことを検知する。
トラブル検知部433は、運用状態の仲介装置3にトラブルが発生したことを検知すると、待機状態の仲介装置3にトラブルが発生しておらず、正常に稼動しているか否かを確認する(ステップS72)。具体的には、トラブル検知部433は、メモリに待機状態の仲介装置3にトラブルが発生したことが記憶されているか否かを確認する。そして確認の結果、待機状態の仲介装置3が正常に稼動していない場合(ステップS72でNO)、処理を終了する。この場合、切替サーバー4は、運用状態の仲介装置3及び待機状態の仲介装置3の双方にトラブルが発生していることを、仲介ユニット2の管理者が所有する情報処理装置などに通知するようにしてもよい。一方、待機状態の仲介装置3が正常に稼動している場合(ステップS72でYES)、トラブル検知部433は、待機状態の仲介装置3に切替指示D3を送信する必要があると判断する。この場合、切替サーバー4は切替指示送信部434を機能させる。そして切替指示送信部434は、切替指示D3を生成し、生成した切替指示D3を、接続状態110bを利用して待機状態の仲介装置3に送信する(ステップS73)。そして、切替サーバー4は処理を終了する。
以上のように本実施形態の通信仲介システム1は、ローカルネットワークNW1において運用状態である仲介装置3にトラブルが発生した場合、インターネットNW2に設けられる切替サーバー4は、ローカルネットワークNW1において待機状態である仲介装置3に対して切替指示D3を送信する。この切替指示D3を受信した待機状態の仲介装置3は、運用状態の仲介装置3の第1アドレス情報91a及び管理情報92を引き継いで運用状態へ移行する。つまり、本実施形態の通信仲介システム1は、待機状態の仲介装置3を運用状態へ移行させるための切替装置をローカルネットワークNW1に設ける必要がない。切替サーバー4は、ローカルネットワークNW1に設置されることなく、インターネットNW2からの遠隔制御によって運用状態である仲介装置3の設定情報を待機状態である仲介装置3に引き継がせ、待機状態の仲介装置3を運用状態へ移行させることができる構成である。それ故、本実施形態の通信仲介システム1は、従来のようにローカルネットワークNW1毎に切替装置を構成に含む切替ユニットを設置する必要がない。したがって、通信仲介システム1は、ローカルネットワークNW1毎に、切替装置を構成に含む切替ユニットを導入する場合に比べて導入コストを抑えることができる。
また、本実施形態では、運用状態の仲介装置3の記憶部32には第1アドレス情報91aが記憶され、待機状態の仲介装置3の記憶部32には第2アドレス情報91bが記憶される場合を例示した。しかし、これに限られるものではない。運用状態の仲介装置3及び待機状態の仲介装置3の記憶部32に、予め第1アドレス情報91a及び第2アドレス情報91bの双方が記憶されるようにしてもよい。運用状態の仲介装置3及び待機状態の仲介装置3の記憶部32に、予め第1アドレス情報91a及び第2アドレス情報91bの双方が記憶される場合、切替サーバー4は切替指示D3に第1アドレス情報91aを付加する必要がなくなるのである。このように運用状態の仲介装置3及び待機状態の仲介装置3の記憶部32に、予め第1アドレス情報91a及び第2アドレス情報91bが記憶される場合のアドレス処理を次に説明する。
図14は、記憶部32に第1アドレス情報91a及び第2アドレス情報91bが記憶されている場合のアドレス設定処理(ステップS11)の詳細な処理手順の一例を示すフローチャートである。アドレス設定部310は、アドレス設定処理を開始すると、記憶部32に記憶される動作設定94を参照することにより、自機の動作設定94を確認する(ステップS75)。動作設定94を参照した結果、運用状態フラグがONになっている場合(ステップS76でYES)、アドレス設定部310は、記憶部32から第1アドレス情報91aを読み出し、第1アドレス情報91aに基づいてアドレス設定を行う(ステップS77)。アドレス設定部310は、アドレス設定を行った後、アドレス設定処理を終了する。また、動作設定94を参照した結果、運用状態フラグがONとなっていない場合(ステップS76でNO)、アドレス設定部310は、記憶部32から第2アドレス情報91bを読み出し、第2アドレス情報91bに基づいてアドレス設定を行う(ステップS78)。アドレス設定部310は、アドレス設定を行った後、アドレス設定処理を終了する。
以上のように、運用状態の仲介装置3及び待機状態の仲介装置3の記憶部32に、予め第1アドレス情報91a及び第2アドレス情報91bが記憶させておき、仲介装置3は、動作設定94に応じてアドレス情報を選択し、選択したアドレス情報を読み出す。仲介装置3は、読み出したアドレス情報に基づいてアドレスを設定することにより、切替サーバー4から第1アドレス情報91aを取得する必要がなくなるのである。
本実施形態の通信仲介システム1において、上記のようにして待機状態であった第2仲介装置3bが運用状態で稼働し始めた後、トラブルの発生した第1仲介装置3aを交換する作業が行われる。すなわち、仲介ユニット2の第1スロット211からトラブルの発生した第1仲介装置3aを取り外し、新たな仲介装置3を第1スロット211に差し込むことにより、トラブルの発生した第1仲介装置3aを新たな仲介装置に交換することができる。そして仲介装置3を交換した後、仲介ユニット2を再起動させて新たな仲介装置3を待機状態として稼働させることにより、2つの仲介装置3のうちの一方を運用状態で稼働させ、他方を待機状態で稼働させる状態に復旧することができる。
そして本実施形態では、第1仲介装置3aにトラブルが発生してから交換作業が開始されるまでの期間において、第2仲介装置3bがローカルネットワークNW1とインターネットNW2との間の通信を仲介することができるため、通信仲介システム1におけるダウンタイムを最小限に抑えることができるという利点がある。
(第2実施形態)
次に、第2実施形態について説明する。本実施形態では、運用状態であった第1仲介装置3aにトラブルが発生し、待機状態であった第2仲介装置3bが運用状態で稼働し始めた後、第1仲介装置3aを新たな仲介装置3に交換したときに、新たな仲介装置3を運用状態として稼働させると共に、第2仲介装置3bを元の待機状態に戻す実施形態について説明する。以下においては、トラブルの発生した第1仲介装置3aと交換される新たな仲介装置3を、第3仲介装置3cとして説明する。尚、本実施形態においても、第1乃至第3仲介装置3a,3b,3cを区別する必要がないときには、それらを総称して仲介装置3と呼ぶ。
図15は、第2実施形態における仲介装置3のハードウェア構成及び機能構成の一例を示す図である。本実施形態における仲介装置3は、通信インタフェース31と、記憶部32と、制御部33と、入出力インタフェース39とを備えている。入出力インタフェース39は、USB(Universal Serial Bus)メモリなどの可搬型の外部記憶装置9を着脱可能な装着部である。
外部記憶装置9は、例えばフラッシュメモリなどのような、データの書き換えが可能な不揮発性の記憶手段である。この外部記憶装置9には、第1実施形態において記憶部32に記憶されていた情報が記憶される。また、外部記憶装置9には、識別情報98が記憶される。一方、仲介装置3の記憶部32にも、識別情報98が記憶される。この識別情報98は、仲介装置3を識別するための情報であり、例えばシリアル番号などの装置固有の情報である。
仲介装置3は、電源投入に伴う起動処理が終了し、運用状態又は待機状態で稼働し始めるとき、記憶部32に記憶されている識別情報98を読み出して外部記憶装置9に保存する。したがって、外部記憶装置9に保存される識別情報98は、外部記憶装置9が装着されている仲介装置3の識別情報98と同じ情報となる。そのため、第1仲介装置3aが運用状態で稼働しているとき、第1仲介装置3aに装着されている外部記憶装置9には、第1仲介装置3aの識別情報98aが記憶された状態となる。
第1仲介装置3aにおいてトラブルが発生した場合、第1実施形態と同様にして第2仲介装置3bが運用状態で稼働し始める。そして第2仲介装置3bが運用状態で稼働しているときに、第1仲介装置3aを第3仲介装置3cに交換する作業が行われる。このとき、本実施形態では、第1仲介装置3aに装着されていた外部記憶装置9を取り外し、その外部記憶装置9を第3仲介装置3cに装着する。そして第3仲介装置3cが第1スロット211に装着された状態で仲介ユニット2が再起動されると、第3仲介装置3cは、起動処理を開始する。その起動処理において、第3仲介装置3cは、制御部33において交換判断部350と交換処理部360とを機能させる。
交換判断部350は、第3仲介装置3cの起動時に自機が交換された装置であるか否かを判断する処理部である。本実施形態の仲介装置3は、起動したときに自機が交換された装置であるか否かを判断した後、それ以降のアドレス設定などの処理を行う。交換判断部350は、記憶部32に記憶される識別情報98と、外部記憶装置9に記憶される識別情報98とを比較することにより、自機が交換された装置であるか否かを判断する。すなわち、交換判断部350は、記憶部32に記憶される識別情報98と外部記憶装置9に記憶される識別情報98とが一致しない場合に、自機が交換された装置であると判断する。例えば、第3仲介装置3cが、トラブルが発生した第1仲介装置3aと交換された後に最初に起動するとき、外部記憶装置9にはトラブルが発生した第1仲介装置3aに対応する識別情報98aが記憶されている。一方、第3仲介装置3cの記憶部32には、第3仲介装置3cに対応する識別情報98cが記憶されている。そのため、第3仲介装置3cの記憶部32に記憶されている識別情報98cと、外部記憶装置9に記憶される識別情報98aとは一致しないため、第3仲介装置3cは自機が交換された装置であると判断する。交換判断部350は、自機が交換された装置であると判断した場合、自機が交換された装置であることを交換処理部360に通知する。一方、交換判断部350は、自機が交換された装置ではないと判断した場合、アドレス設定部310を機能させてアドレス設定処理を行わせる。
交換処理部360は、交換判断部350によって自機が交換された装置であると判断された場合に機能する。交換処理部360は、識別情報書換部361、管理情報取得部362及び切替指示要求部363を備えている。
識別情報書換部361は、外部記憶装置9に記憶されている識別情報98aを、記憶部32に記憶される識別情報98cに書き換える処理部である。これにより、次回以降の起動時に、交換判断部350によって自機が交換された装置であると判断されることがなくなる。識別情報書換部361は、外部記憶装置9に記憶される識別情報98を書き換えた後、管理情報取得部362を機能させる。
管理情報取得部362は、自機の動作設定が運用状態である場合に、切替サーバー4から管理情報92を取得する処理部である。管理情報取得部362は、外部記憶装置9に記憶されている動作設定94を確認することにより、自機の動作状態を確認する。その結果、自機の動作状態が運用状態である場合、管理情報取得部362は、サーバー情報93を参照して切替サーバー4にアクセスすることにより、管理情報92を取得する。外部記憶装置9に記憶されている動作設定94は、トラブルが発生した第1仲介装置3aの動作設定である。第1仲介装置3aはトラブル発生時に運用状態で稼働していたため、外部記憶装置9に記憶される動作設定94は運用状態の設定となっている。そのため、管理情報取得部362は、切替サーバー4から管理情報92を取得する。管理情報取得部362は、管理情報92を取得した後、切替指示要求部363を機能させる。一方、自機の動作状態が運用状態ではなかった場合、管理情報取得部362は管理情報92を取得しない。例えば、自機の動作状態が待機状態である場合、仲介装置3は、アプリケーションサーバー5と画像処理装置6との通信の仲介を行わないため、管理情報92を必要としないのである。自機の動作状態が待機状態である場合、管理情報取得部362は、アドレス設定部310を機能させてアドレス設定処理を行わせる。
切替指示要求部363は、運用状態にある第2仲介装置3bの動作状態を運用状態から待機状態に切り替える切替指示D4を、運用状態にある第2仲介装置3bに対して送信するように切替サーバー4に要求する処理部である。第3仲介装置3cが運用状態として稼働し始める前に、運用状態で稼働している第2仲介措置3bの動作状態を運用状態から待機状態に戻しておく必要がある。そのため、切替指示要求部363は、第3仲介装置3cが運用状態として稼働し始める前に、運用状態で稼働している第2仲介装置3bに対して切替サーバー4から切替指示D4を送信させるのである。
次に、本実施形態の仲介装置3における具体的な動作の一例について説明する。図16は、本実施形態の仲介装置3において行われる主たる処理の処理手順の一例を示すフローチャートである。この処理は仲介ユニット2に電源が投入され、仲介装置3が起動することに伴って実行される処理である。尚、ステップS11〜ステップS14の各処理は、第1実施形態で説明したため、説明を省略する。この処理を開始すると、仲介装置3は、交換判断部350を機能させる。交換判断部350は、自機が交換された装置であるか否かの判断を行う(ステップS81)。具体的には、交換判断部350は、記憶部32に記憶される識別情報98と、外部記憶装置9に記憶される識別情報98とを比較し、それらが一致するか否かによって、自機が交換された装置であるか否かを判断する。交換判断部350は、判断の結果、記憶部32に記憶される識別情報98と、外部記憶装置9に記憶される識別情報98とが一致する場合、自機が交換された装置ではないと判断する(ステップS82でYES)。この場合、処理はステップS11に進む。一方、判断の結果、記憶部32に記憶される識別情報98と、外部記憶装置9に記憶される識別情報98とが一致しない場合、交換判断部350は自機が交換された装置であると判断する(ステップS82でNO)。交換判断部350は、自機が交換された装置であると判断すると、自機が交換された装置であることを交換処理部360に通知する。交換処理部360は、交換判断部350から自機が交換された装置であることの通知を受けると、交換処理を行う(ステップS83)。
図17は、交換処理(ステップS83)の詳細な処理手順の一例を示すフローチャートである。交換処理部360は、交換処理を開始すると、識別情報書換部361を機能させる。識別情報書換部361は、外部記憶装置9に記憶されている識別情報98を、記憶部32に記憶されている識別情報98に書き換える(ステップS91)。次に、交換処理部360は、管理情報取得部362を機能させる。管理情報取得部362は、外部記憶装置9に記憶される動作設定94を確認する(ステップS92)。確認の結果、動作状態フラグがOFFになっており、待機状態を示す設定である場合(ステップS93でNO)、交換処理を終了する。一方、確認の結果、動作状態フラグがONになっており、運用状態を示す設定である場合(ステップS93でYES)、管理情報取得部362は、サーバー情報93を参照して切替サーバー4にアクセスし、切替サーバー4から管理情報92を取得する(ステップS94)。管理情報取得部362は、取得した管理情報92を外部記憶装置9に保存する。尚、管理情報取得部362は、管理情報92を記憶部32に保存するようにしても良い。管理情報取得部362は、管理情報92を保存すると、切替指示要求部363を機能させる。切替指示要求部363は、運用状態にある第2仲介装置3bに対して切替指示D4を送信するよう切替サーバー4に要求して(ステップS95)、交換処理を終了する。この切替指示D4は、運用状態にある第2仲介装置3bの動作状態を、運用状態から待機状態に移行させるための指示である。
切替指示D4の送信要求を受信すると、切替サーバー4は、運用状態にある第2仲介装置3bの動作状態を運用状態から待機状態に移行させるための切替指示D4を、接続状態110bを利用して第2仲介装置3bに送信する。第2仲介装置3bは、その切替指示D4を受信すると、動作設定94を編集することにより、自機の動作状態を運用状態から待機状態に変更する。そして、第2仲介装置3bは、切替サーバー4から第2アドレス情報91bを取得し、自機に記憶する第1アドレス情報91aを第2アドレス情報91bに書き換える。その後、第2仲介装置3bは再起動を行い、第2アドレス情報91bに基づいてアドレス設定を行い、切替サーバー4との接続状態110bを再び確立することで運用状態から待機状態へ移行する切替処理を完了させる。このように、交換された第3仲介装置3cにおいて交換処理が行われ、さらに運用状態にある第2仲介装置3bにおいて切替処理が行われることで、通信仲介システム1は、図2に示す状態から図1に示す状態に戻るのである。すなわち、これ以降、交換された第3仲介装置3cは、第1実施形態においてトラブルが発生する前の第1仲介装置3aと同様に動作するようになる。
以上のように、本実施形態の仲介装置3は、外部記憶装置9に記憶されている識別情報98に基づいて、自機が交換された装置であるか否かを判断する。仲介装置3は、自機が交換された装置であると判断した場合、外部記憶装置9に記憶される動作設定94を確認することで自機が稼働する際の動作状態を確認する。そして、自機が運用状態として稼働する場合、仲介装置3は自動的に交換処理を行う。そのため、トラブルが発生した第1仲介装置3aと、新たな第3仲介装置3cとをスムーズに交換することが可能であり、効率的にトラブル発生前の状態に復旧させることができる。
尚、本実施形態では、外部記憶装置9に記憶される動作設定94に基づいて、交換された第3仲介装置3cの動作状態を決定する場合を例示した。しかし、これに限られるものではない。例えば、外部記憶装置9に記憶されている動作設定94の設定に関わらず、交換された第3仲介装置3cの動作設定94を予め待機状態とする設定にしておくものでもよい。例えば、第3仲介装置3cの記憶部32に待機状態を示す動作設定94を予め記憶しておく。その場合、第3仲介装置3cは、記憶部32に予め記憶される動作設定94を確認して待機状態としての稼働を開始するのである。第3仲介装置3cが待機状態として稼働を開始する場合、運用状態で稼働している第2仲介装置3bの動作状態を切り替える必要がないという点で更に効率的な処理が可能となる。
また、本実施形態では、トラブルが発生した第1仲介装置3aと、新たな第3仲介装置3cとが交換される場合について説明したが、これに限られるものではない。例えばトラブルが発生した第1仲介装置3aが修理されることによって正常稼動することが可能になり、修理された第1仲介装置3aが修理後最初に起動されるときに上述した交換処理を行うものであっても構わない。この場合、第1仲介装置3aは修理の前後で同一の外部記憶装置9を装着しておくことで、正常に運用状態としての稼働を開始することができる。
尚、本実施形態において上述した点以外については、第1実施形態で説明したものと同様であるため、詳しい説明を省略する。
(変形例)
以上、本発明に関する好ましい実施形態について説明した。しかし、本発明は、上記実施形態において説明した内容のものに限られるものではなく、種々の変形例が適用可能である。
例えば上記実施形態では、切替サーバー4がインターネットNW2に設けられる場合を例示した。しかし、切替サーバー4は、インターネットNW2に設けられるものに限られない。すなわち、切替サーバー4は、仲介ユニット2が設けられるローカルネットワークNW1とは異なるネットワークに設けられ、仲介ユニット2において運用状態で稼働している第1仲介装置3aにトラブルが発生した場合に待機状態で稼働している第2仲介装置3bを運用状態に切り替える切替動作を遠隔制御できるものであれば良い。
例えば上記実施形態では、切替サーバー4は仲介装置3から定期的に受信する稼動状態通知に基づいて仲介装置3にトラブルが発生したことを検知する場合を例示した。しかし、これに限られるものではない。仲介装置3は自機の稼動状態を定期的に切替サーバー4に通知するものでなくともよい。例えば、運用状態の仲介装置3にトラブルが発生したことに気付いたユーザーが、切替サーバー4を管理する運営チームなどに対して、電話やメールで運用状態の仲介装置3にトラブルを発生したことを知らせるものであってもよい。この場合、運用状態の仲介装置3にトラブルが発生したことを知らされた運営チームは、切替サーバー4を操作することにより、切替サーバー4から待機状態の仲介装置3に切替指示D3を送信する。