以下に、本開示の例示的実施形態を、図面を参照しながら説明する。
(1-1)全体構成
本開示の例示的実施形態に係る管理システム1は、マスタ2及びクライアント3の協働により、複数拠点に配置された端末装置4,5を、クラウドサーバ6を介して管理するように構成されたネットワークシステムである。
図1に例示するように、本実施形態のマスタ2は、第1拠点に設置されている。マスタ2は、第1拠点に設置された端末装置4とローカルエリアネットワークを介して通信可能に構成される。マスタ2は、さらに、広域ネットワークを介してクラウドサーバ6と通信可能に構成される。第1拠点には、複数の端末装置4が設けられていてもよい。
クライアント3は、第2拠点に設置されている。クライアント3は、第2拠点に設置された端末装置4とローカルエリアネットワークを介して通信可能に構成される。クライアント3は、さらに、広域ネットワークを介してクラウドサーバ6と通信可能に構成される。第2拠点には、複数の端末装置4が設けられていてもよい。
第2拠点には、さらに、端末装置5が設置されている。クライアント3は、第2拠点内のローカルエリアネットワークを介して端末装置5と通信可能に構成される。端末装置5は、さらに、広域ネットワークを介してクラウドサーバ6と通信可能に構成される。
ローカルエリアネットワークは、例えば、無線LAN及び有線LANのうち少なくとも一方を含んでいてもよい。広域ネットワークは、例えば、インターネットを含んでいてもよい。
端末装置4は、クラウドサーバ6によって提供されるクラウドサービスを利用する能力を有しない。換言すれば、各端末装置4は、クラウドサーバ6と通信を行う機能を有しない。以下では、この端末装置4のことを、特に第1種端末装置4と表現する。一方、端末装置5は、クラウドサーバ6によって提供されるクラウドサービスを利用する能力を有する端末装置である。換言すれば、端末装置5は、クラウドサーバ6と通信する機能を有する。端末装置5におけるその能力は、後述する通信プログラム82a(図3A参照)により実現される。以下では、この端末装置5のことを、特に第2種端末装置5と表現する。
第2拠点に設置された第1種端末装置4は、クライアント3及びクラウドサーバ6を介して、マスタ2により管理される。第2拠点に設置された第2種端末装置5は、基本的には、クライアント3を介さずクラウドサーバ6を介して、マスタ2により管理される。ただし、第2種端末装置5は、第1種端末装置4と同様にクライアント3及びクラウドサーバ6を介してマスタ2により管理される場合がある。
詳細は後述するが、第2種端末装置5には、クラウドサーバ6に接続するための機能であるクラウドコネクタが実装されている。クラウドコネクタは、第2種端末装置5にインストールされている後述する通信プログラム82a(図3A参照)によって(つまりソフトウェア処理により)実現される。通信プログラム82aは、いわゆるファームウェアとして第2種端末装置5に実装されていてもよい。
本実施形態では、後述するように、第2種端末装置5におけるクラウドコネクタを有効化または無効化できる。クラウドコネクタを無効化する、とは、クラウドコネクタが物理的に実装はされているもののクラウドコネクタにその機能を発揮させないこと、即ちクラウドコネクタの動作の一部または全てを停止させてクラウドコネクタが実装されていない場合と実質的に等価またはそれに近い状態にすることによりクラウドサーバ6と通信できない状態にすることを意味する。
クラウドコネクタが有効化されている場合、第2種端末装置5は(即ちクラウドコネクタは)、クライアント3を介さずクラウドサーバ6にアクセスしてクラウドサーバ6との間でデータの読み書きができる。つまりこの場合、第2種端末装置5は、クライアント3を介さずに、クラウドサーバ6を介してマスタ2により管理される。マスタ2から見れば、第2種端末装置5を管理するためにクライアント4の仲介は不要である。
なお、有効化されたクラウドコネクタがクラウドサーバ6にアクセスするためには、本実施形態では、より詳しくは、クラウドサーバ6にアクセスするための接続設定がクラウドコネクタにおいて行われていることが必要である。本実施形態における接続設定は、例えば、共有アクセス署名(SAS:Shared Access Signature)を設定すること(後述する図4のS07参照)を含む。後述するように、SASはクラウドサーバ6において設定されている。クラウドコネクタは、クラウドサーバ6にアクセスしてデータの読み書き等を行うためには、同じSASを自身に設定しておく必要がある。
一方、クラウドコネクタが無効化されている場合、第2種端末装置5は、自らクラウドサーバ6にアクセスできない。そのためこの場合は、第2種端末装置5は、クライアント3及びクラウドサーバ6を介してマスタ2により管理される。マスタ2から見れば、第2種端末装置5を管理するためにクライアント4の仲介が必要である。以下の説明では、クラウドコネクタが無効化されている第2種端末装置5のことを「コネクタ無効化端末5a」と称する。
なお、クラウドコネクタが実装されていてそれが有効化されていても、クラウドサーバ6にアクセスできない状態になっている場合があり得る。その一例として、SASが未設定、またはクラウドサーバ6で設定されている正規のSASとは異なるSASが設定されていることが挙げられる。この場合、クラウドコネクタは、クラウドサーバ6と通信そのものは可能かもしれないが、クラウドサーバ6に対するデータの読み書き等の、クラウドサーバ6としての機能を発揮できない。本実施形態では、このようにクラウドコネクタが有効化されてはいるもののクラウドサーバ6にアクセスできない状態になっている第2種端末装置5(以下、「不完全有効化端末5b」と称する)も、第1種端末装置4と同様にクライアント3の仲介を受けて管理される。
端末装置4,5はそれぞれ、固有のデバイスID、モデル名、IPアドレスなどの情報を有する。端末装置4,5はさらに、ウェブサーバの機能が組み込まれていてもよい。端末装置4,5に組み込まれているウェブサーバのことを、以下、「EWS」(Embeded Web Serverの略称)と称する。このEWSを利用することで、端末装置4,5と通信可能に接続された情報処理装置から、端末装置4,5の状態を取得したり、端末装置4,5の設定を変更したりすることができる。
マスタ2によって管理される端末装置4,5は、例えば、企業などの一組織で管理される端末装置の一群であり得る。この場合、各拠点は、組織の活動拠点であり得る。一例によれば、マスタ2が存在する第1拠点は、組織の管理部門を有するオフィスであり得る。それ以外の第2拠点及び不図示の他の拠点は、第1拠点から離れた組織のブランチオフィスであり得る。
端末装置4,5の例には、プリンタ、スキャナ、及び、それらの機能が統合されたディジタル複合機などが含まれる。マスタ2及びクライアント3は、例えば、情報処理装置(例えばパーソナルコンピュータ)に専用のコンピュータプログラムがインストールされて構成される。
(1-2)装置構成
図2Aに示すマスタ2は、制御部11と、通信部12と、表示部13と、入力部14と、記憶部15とを備える。制御部11は、CPU21と、メモリ22とを備える。プロセッサとしてのCPU21は、記憶部15に記憶されたコンピュータプログラムに従う処理を実行する。メモリ22は、上記処理の実行時に、ワークメモリとして使用される。
記憶部15は、例えばソリッドステートドライブ(SSD)及びハードディスクドライブ(HDD)等のストレージを含み、各種のコンピュータプログラム及びデータを記憶する。記憶部15には、主管理プログラム15aが記憶される。主管理プログラム15aは、マスタ2により実現されるべき管理機能を、CPU21に実現させるためのコンピュータプログラムである。以下において説明される制御部11を主体とした処理は、CPU21がコンピュータプログラムに従って実行する処理により実現されると理解されてよい。
通信部12は、当該マスタ2が存在する拠点のローカルエリアネットワークに接続され、更には、広域ネットワークに接続される。通信部12は、図示しないルータを介して広域ネットワークに接続されてもよい。表示部13は、マスタ2を操作するユーザ向けの各種画面を表示するように構成される。表示部13の例には、液晶ディスプレイが含まれる。各種画面の例には、管理対象の端末装置4,5のログ情報及びステータス情報を表示するための画面、及び、ユーザからの操作信号に従って端末装置4,5を遠隔操作するための画面が含まれる。
入力部14は、例えばキーボード及びポインティングデバイス等の、マスタ2を操作するユーザからの操作信号を入力するための一つ以上の入力デバイスを備える。制御部11は、入力部14を通じて入力される操作信号に従って、動作する。
図2Bに示すクライアント3は、制御部31と、通信部32と、表示部33と、入力部34と、記憶部35とを備える。制御部31は、CPU41及びメモリ42を備える。プロセッサとしてのCPU41は、記憶部35が記憶するコンピュータプログラムに従う処理を実行する。
記憶部35には、副管理プログラム35aが記憶される。副管理プログラム35aは、クライアント3により実現されるべき管理中継機能をCPU41に実現させるためのコンピュータプログラムである。以下において説明される制御部31を主体とした処理は、CPU41がコンピュータプログラムに従って実行する処理により実現されると理解されてよい。
管理中継機能は、マスタ2の管理機能に関連する機能であり、マスタ2による、第1種端末装置4、コネクタ無効化端末5a及び不完全有効化端末5bの管理を中継(または仲介)する。マスタ2は、自身が存在する拠点とは別の拠点における第1種端末装置4、コネクタ無効化端末5a及び不完全有効化端末5bを、当該別の拠点に設けられたクライアント3の管理中継機能を利用して管理する。すなわち、クライアント3と同一のローカルエリアネットワークに接続された第1種端末装置4、コネクタ無効化端末5a及び不完全有効化端末5bは、当該クライアント3が有する管理中継機能によって、当該クライアント3の仲介を受けて間接的にマスタ2に管理される。クライアント3と同一のローカルエリアネットワークに接続された第1種端末装置4、コネクタ無効化端末5a及び不完全有効化端末5b、即ちクライアント3による管理中継機能の実行対象である第1種端末装置4、コネクタ無効化端末5a及び不完全有効化端末5bのそれぞれを、「管理中継対象」とも称する。
通信部32は、当該クライアント3が存在する拠点のローカルエリアネットワークに接続され、更には、広域ネットワークに接続される。通信部32は、図示しないルータを介して広域ネットワークに接続されてもよい。表示部33は、例えば液晶ディスプレイを含み、クライアント3を操作するユーザ向けの各種画面を表示するように構成される。入力部34は、クライアント3を操作するユーザからの操作信号を入力するための一つ以上の入力デバイスを備える。制御部31は、入力部34を通じて入力される操作信号に従って、動作する。
図2Cに示す第1種端末装置4は、制御部51と、通信部52と、表示部53と、入力部54とを備える。第1種端末装置4がディジタル複合機であるとき、第1種端末装置4は更に、印刷部55と、読取部56とを備えることができる。第1種端末装置4は、印刷部55及び読取部56のうちのどちらか一方のみを備えていてもよい。
制御部51は、CPU61と、メモリ62とを備える。メモリ62は、RAMの他、例えばフラッシュメモリ等の不揮発性メモリを備えることができ、不揮発性メモリに、コンピュータプログラム及び設定データ等を記憶することができる。
プロセッサとしてのCPU61は、メモリ62に記憶されたコンピュータプログラムに従う処理を実行することにより、第1種端末装置全体を統括制御する。以下において説明される制御部51を主体とした処理は、CPU61がコンピュータプログラムに従って実行する処理により実現されると理解されてよい。
通信部52は、当該第1種端末装置4が存在する拠点のローカルエリアネットワークに、そこに存在するマスタ2又はクライアント3と通信可能であるように接続される。表示部53は、例えば液晶ディスプレイを含み、第1種端末装置4を操作するユーザ向けの各種画面を表示するように構成される。入力部54は、ユーザからの操作信号を入力するために、例えば液晶ディスプレイ上のタッチパネル等の一つ以上の入力デバイスを備える。
印刷部55は、制御部51に制御されて、シートに画像を印刷するように構成される。印刷部55の例には、インクジェットプリンタ及びレーザプリンタが含まれる。本実施形態によれば、色材の残量等のステータス情報や印刷枚数等のログ情報が、後述する方法で、第1種端末装置4からクライアント3及びクラウドサーバ6を通じてマスタ2に提供される。読取部56は、制御部51に制御されて、印刷物等の読取対象を読み取るように構成される。
図3Aに示す第2種端末装置5は、制御部71と、通信部72と、表示部73と、入力部74とを備える。第2種端末装置5がディジタル複合機であるとき、第2種端末装置5は更に、印刷部75と、読取部76とを備えることができる。第2種端末装置5は、印刷部75及び読取部76のうちのどちらか一方のみを備えていてもよい。
制御部71は、CPU81と、メモリ82とを備える。メモリ82は、フラッシュメモリなどの不揮発性メモリを備えることができ、不揮発性メモリに、コンピュータプログラムや設定データ等を記憶することができる。
プロセッサとしてのCPU81は、メモリ82に記憶されたコンピュータプログラムに従う処理を実行することにより、装置全体を統括制御する。メモリ82には、前述の通信プログラム82aが記憶される。通信プログラム82aは、クラウドサーバ6によって提供されるクラウドサービスを利用するためのプログラムである。以下において説明される制御部71を主体とした処理は、CPU81がコンピュータプログラムに従って実行する処理により実現されると理解されてよい。
第2種端末装置5は、通信プログラム82aにより前述のクラウドコネクタとして機能し得る。クラウドコネクタは、前述の通り、有効化または無効化され得る。クラウドコネクタの有効化または無効化はどのような方法で行われてもよい。本実施形態では、例えば、第2種端末装置5の入力部74を介してユーザが所定の操作を行うことで、有効または無効に択一的に切り替え可能であってもよい。また例えば、前述のEWSを利用して、第2種端末装置5とは別の情報処理装置から遠隔的に切り替え可能であってもよい。
クラウドコネクタは、クライアント3からコネクタ設定情報の要求を受けた場合、コネクタ設定情報をクライアント3へ送信する。コネクタ設定情報は、クラウドコネクタが実際にクラウドサーバ6にアクセスできる状態になっているか否かを示す情報である。
本実施形態では、コネクタ設定情報は、例えば、有効化情報と、クラウド接続設定情報とを含む。有効化情報は、クラウドコネクタが有効化および無効化のどちらに設定されているかを示す情報である。クラウド接続設定情報は、クラウドサーバ6に実際にアクセス可能であるか否かを示す情報である。クラウド接続設定情報は、例えば、SASを含んでいてもよいし、クラウドサーバ6に実際にアクセスしたことの履歴情報を含んでいてもよい。履歴情報があるということは、正規のSASが登録されていて実際にクラウドサーバ6にアクセス可能な状態であると捉えることができる。
通信部72は、当該第2種端末装置5が存在する拠点のローカルエリアネットワークに、そこに存在するマスタ2又はクライアント3と通信可能であるように接続される。通信部72は、さらに、クラウドサーバ6と通信可能であるように、広域ネットワークに接続される。表示部73は、例えば液晶ディスプレイを含む。入力部74は、ユーザからの操作信号を入力するための一つ以上の入力デバイスを備える。
印刷部75は、制御部71に制御されて、シートに画像を印刷するように構成される。本実施形態によれば、色材の残量等のステータス情報や印刷枚数等のログ情報が、後述する方法で、第2種端末装置5からクラウドサーバ6を通じてマスタ2に提供される。読取部76は、制御部71に制御されて、印刷物等の読取対象を読み取るように構成される。
図3Bに示すクラウドサーバ6は、制御部91と、通信部92と、第1ストレージ93と、第2ストレージ94とを備える。制御部91は、CPU101と、メモリ102とを備える。
プロセッサとしてのCPU101は、メモリ102が記憶するコンピュータプログラムに従う処理を実行する。CPU101が実行する処理には、当該クラウドサーバ6をクラウドストレージとして機能させるための処理が含まれる。以下において説明される制御部91を主体とした処理は、CPU101がコンピュータプログラムに従って実行する処理により実現されると理解されてよい。
上記クラウドストレージは、テーブルストレージ及びオブジェクトストレージを含む。制御部91による上記処理の実行により、第1ストレージ93は、テーブルストレージとして機能し、第2ストレージ94は、オブジェクトストレージとして機能する。
例示的な第1ストレージ93は、NoSQLデータストアとして機能し、スキーマレスのエンティティの一群を構成要素とする各種のテーブル(例えば後述する図5A、図5B参照)を格納可能に構成される。即ち、第1ストレージ93は、データベースの一種であり、データベースが書き込まれる。
第1ストレージ93において、テーブルにおける各エンティティは、プロパティのセットで構成される。各プロパティは、キー及び値(すなわちバリュー)のペアで構成される。マスタ2、クライアント3及びクラウドコネクタは、例えば、エンティティ及びキーを指定することにより、第1ストレージ3内のテーブルにおける所望のデータにアクセスして当該データを読み出したり、テーブルにおける所望のデータを更新したりすることができる。
なお、エンティティは、リレーショナルデータベースにおけるレコードの位置づけに類似するものと捉えることができる。プロパティは、リレーショナルデータベースにおけるカラム(またはフィールド)の位置づけに類似するものと捉えることができる。プロパティにおけるキーは、リレーショナルデータベースにおける項目名(または見出し)の位置づけに類似するものと捉えることができる。値(バリュー)は、リレーショナルデータベースにおけるフィールドの位置づけに類似するものと捉えることができる。
例示的な第2ストレージ94は、外部からオブジェクトを読込及び書込可能なオブジェクトストレージとして機能する。オブジェクトは、例えば、任意のテキストファイル及び/またはバイナルファイルを含む。つまり、第2ストレージ94は、ファイルが格納されるファイルストレージであると言える。第2ストレージ94に対するオブジェクトの読込及び書込は、例えばHTTP/HTTPSプロトコルを用いて行われる。マスタ2、クライアント3及びクラウドコネクタは、例えば、ファイル名及びパスを指定することにより、第2ストレージ94に格納された所望のファイルにアクセス(例えば読込s)することができる。
上述したテーブルストレージ及びオブジェクトストレージを提供するクラウドサービスとしては、マイクロソフト社のAzure(登録商標)が知られている。クラウドサーバ6は、このようなクラウドサービスと同様に動作し得る。例えば、第1ストレージ93は、AzureにおけるAzure Table Storageであってもよく、第2ストレージ94は、AzureにおけるAzure Blob Storageであってもよい。
(1-3)シーケンス概略
続いて、管理に関する動作シーケンスを、図4を用いて概略的に説明する。準備段階では、マスタ2に主管理プログラム15aがインストーラによりインストールされる。主管理プログラム15aのインストーラと副管理プログラム35aのインストーラは、互いに別々に用意されてもよいが、本実施形態では、共通の1つのインストーラ(以下、「共通インストーラ」と称する)が、主管理プログラム15a及び副管理プログラム35aのうちのいずれか一方を択一的にインストールする。共通インストーラは、起動後、イニシャルファイルを参照して、主管理プログラム15a及び副管理プログラム35aのうちどちらをインストールすべきかを決定する。
イニシャルファイルは、例えば二種類ある。具体的には、主管理プログラム15aに対応したマスタイニシャルファイルと、副管理プログラム35aに対応したクライアントイニシャルファイルとが存在し得る。マスタイニシャルファイルの一例を図6Aに示す。クライアントイニシャルファイルの一例を図6Bに示す。
マスタイニシャルファイルはどこでどのように生成されてもよい。マスタイニシャルファイルは、例えば、マスタ2のユーザである主管理者による、マスタ2の入力部14に対する入力操作に従って、例えばテキストエディタ等によって生成されてもよい。
クライアントイニシャルファイルは、本実施形態では、後述するように、主管理プログラム15aに基づいて自動的に生成される。なお、クライアントイニシャルファイルも、マスタイニシャルファイルと同様にユーザによる入力操作に従って生成されてもよい。
図6Aに例示するマスタイニシャルファイルにおいて、符号A1は、動作モードを示す。動作モードは、当該イニシャルファイルがマスタ用又はクライアント用のどちらであるかを規定する。換言すれば、動作モードは、当該イニシャルファイルに従って主管理プログラム15aまたは副管理プログラム35aのどちらがインストールされるべきかを規定する。図6Aの例では、動作モードはマスタ用であることを示す。なお、クライアントイニシャルファイルにおいても、図6Bに符号B1で示すように動作モードが設定される。図6Bは、動作モードがクライアント用であることを示している。
符号A2は、第1ポーリング周期を示す。図6Aでは、第1ポーリング周期が例えば1分である例が示されている。第1ポーリング周期は、後述するインスタントタスクの要求後にマスタ2がインスタントタスクの実行状況をポーリングにより確認する際の周期として用いられる(図4のS18,S23,S24参照)。
共通インストーラを用いて主管理プログラム15aをインストールするために、共通インストーラが、インストール処理の実行時にマスタイニシャルファイルを参照できるようにする。例えば、共通インストーラとマスタイニシャルファイルとを同じフォルダに格納した状態で共通インストーラを起動させてもよい。これにより、共通インストーラは、起動後、同じフォルダにあるマスタイニシャルファイルを参照しながらインストール処理を進める。
具体的には、共通インストーラは、マスタイニシャルファイルにおいて動作モードがマスタ用を示していることに応じて、主管理プログラム15aをインストールする。このとき、マスタイニシャルファイルにおいて設定されている情報を適宜組み込む。なお、イニシャルファイルがクライアントイニシャルファイルであって動作モードがクライアント用を示している場合(例えば図6Bの例)は、共通インストーラは副管理プログラム35aをインストールする。この場合も、共通インストーラは、クライアントイニシャルファイルにおいて設定されている情報を適宜組み込む。
マスタ2に主管理プログラム15aがインストールされると、主管理プログラム15aに従う処理が、マスタ2の制御部11により実行される。つまり、マスタ2が、管理機能を有するようになる。
主管理プログラム15aに従う処理は、クラウドプロファイルを設定する処理(S01)を含む。クラウドプロファイルの設定(S01)は、例えば、主管理者による、入力部14を通じた設定操作に従って行われる。
クラウドプロファイルの設定(S01)は、クラウドパラメータを設定することを含む。クラウドパラメータは、初期設定パラメータを含む。クライアント3及びクラウドコネクタにおいては、後述するように、クラウドサーバ6に対するポーリング動作、及びクラウドサーバ6に保持される情報の更新動作が実行される。このポーリング動作は、後述するインスタントタスクの有無を周期的に確認する動作である。情報更新動作は、後述するスケジュールタスクに含まれる。
初期設定パラメータは、例えば、ポーリング動作の周期(以下、「第2ポーリング周期」と称する)、及び情報更新動作の周期(以下、「情報更新周期」と称する)を含む。第2ポーリング周期は、本実施形態では例えば、図6Bにおいて符号B7で例示するように1分である。情報更新周期は、更新すべき情報の種類に応じて複数種類設定されてもよい。本実施形態では、情報更新周期として、例えば図6Bに符号B4,B5,B6で例示する3種類が設定されている。
クラウドパラメータは、さらに、スケジュールタスクテンプレートを含んでいてもよい。スケジュールタスクテンプレートには、各端末装置4,5が後述するスケジュールタスクとして具体的にどのような処理を実行すべきかが規定されている。前述の情報更新周期は、スケジュールタスクにおける1つ以上の処理(タスク)の実行周期に対応する。スケジュールタスクテンプレートは、後述するスケジュールタスクテーブル(図5A参照)と同様の形式のテーブルであってスケジュールタスクテーブルの初期設定データを示すものであってもよい。
スケジュールタスクテンプレートとスケジュールタスクテーブルとはそれぞれ個別に存在する。即ち、第1ストレージ93において、スケジュールタスクテンプレートは第1の記憶領域に書き込まれ、スケジュールタスクテーブルは、第1の記憶領域とは異なる第2の記憶領域に書き込まれる。
クラウドプロファイルの設定(S01)は、さらに、クラウドサービスを利用するためのSASを設定することを含む。
SASは、第1ストレージ93及び第2ストレージ94のそれぞれ、すなわち、テーブルストレージ及びオブジェクトストレージのそれぞれに対して個別に設定されている。マスタ2におけるクラウドプロファイルの設定(S01)では、主管理者は、マスタ2から第1ストレージ93及び第2ストレージ94にアクセスできるように、第1ストレージ93及び第2ストレージ94のそれぞれに設定されているSASを、クラウドプロファイルの一部として設定する。
なお、マスタ2における主管理プログラム15aのインストール時においても、同じSASが設定される。マスタ2がクラウドサーバ6へアクセスする際は、マスタ2に設定されているSASがクラウドサーバ6へ送信される。そして、送信されたSASが、クラウドサーバ6において設定されている当該アクセス先のSASと一致することに応じて、アクセス先との通信(データの読み書き)が可能となる。
続いて、主管理者の操作に従い、設定されたクラウドプロファイルに従うクラウドパラメータが、マスタ2からクラウドサーバ6の第1ストレージ93にアップロードされ(S02)、第1ストレージ93に書き込まれる(S03)。第2ポーリング周期及び情報更新周期を含む初期設定パラメータは、テーブルのエンティティとして、第1ストレージ93に書き込まれる。スケジュールタスクテンプレートにおける各処理も、テーブルのエンティティとして、第1ストレージ93に書き込まれる。
更に、クラウドプロファイルの少なくとも一部が、クライアントプロファイル、即ちクライアント3での読込用データとして、マスタ2からエクスポートされる(S04)。クライアントプロファイルは、図6Bに例示する前述のクライアントイニシャルファイルに対応する。クライアントプロファイルは、例えば、上述の初期設定パラメータ、スケジュールタスクテンプレート及びSASのうち少なくとも1つを含んでいてもよい。クライアントプロファイルは、例えば、少なくともSASを含んでいてもよい。
図6Bに例示するクライアントプロファイルにおいて、符号B2は第2ストレージ94にアクセスするためのSASを示し、符号B3は第1ストレージ93にアクセスするためのSASを示す。符号B4~B7については前述の通りである。符号B1は、動作モードを示す。
即ち、クライアントプロファイルにおいても、マスタイニシャルファイルと同様、動作モードが設定される。クライアントプロファイルにおいては、図6Bにおいて符号B1で例示されているように、動作モードはクライアントイニシャルファイルに設定される。
マスタ2によってエクスポートされたクライアントプロファイルは、クライアント3に提供される。クライアントプロファイルは、どのような方法でクライアント3に提供されてもよい。例えば、マスタ2からクライアント3へ、電子メールその他の方法でクライアントプロファイルが送信されてもよい。また例えば、主管理者により、クライアント3のユーザである副管理者にクライアントプロファイルが提供されてもよい。より具体的には、例えば、主管理者が、自身の所持する情報処理端末にクライアントプロファイルを格納し、そのクライアントプロファイルを、副管理者が所持する別の情報処理端末へ送信することにより、副管理者がその別の情報処理端末からクライアント3へクライアントプロファイルを転送できるようにしてもよい。主管理者は、自身の情報処理端末からクライアント3へクライアントプロファイルを送信してもよい。また例えば、主管理者は、クライアントプロファイルを所定のストレージに格納し、そのストレージを副管理者へ提供することにより、副管理者がそのストレージからクライアント3へクライアントプロファイルを転送できるようにしてもよい。
副管理者は、クライアント3を操作し、共通インストーラを起動させて、クライアント3に副管理プログラム35aをインストールする(S05)。共通インストーラを用いて副管理プログラム35aをインストールするために、インストール処理の実行時に、マスタ2でエクスポートされたクライアントプロファイルを共通インストーラにインポートさせる(S06)。例えば、共通インストーラとクライアントプロファイルとをクライアント3における同じフォルダに格納した状態で共通インストーラを起動させてもよい。
これにより、共通インストーラは、起動後、同じフォルダにあるクライアントプロファイルをインポートしながらインストール処理を進める(S05,S06)。その際、共通インストーラは、動作モードがクライアントイニシャルファイルであることに従い、副管理プログラム35aをインストールすべきと判断し、副管理プログラム35aをインストールする。
副管理プログラム35aのインストールにおいては、共通インストーラは、クライアントプロファイルをインポートする。即ち、クライアントプロファイルで設定されている各種データを適宜クライアント3に設定する。例えば、クライアントプロファイルに設定されているSAS、第2ポーリング周期及び情報更新周期などがインポートされてクライアント3に設定される。前述のスケジュールタスクテンプレートがインポートされてもよい。
上記のように副管理プログラム35aがインストールされ且つクライアントプロファイルが設定されることにより、クライアント3は、クラウドサーバ6を利用可能となる。これにより、クライアント3は、クラウドサーバ6を介してマスタ2と情報伝達可能に構成される。具体的には、クライアント3は、前述の管理中継機能、即ち、マスタ2から管理中継対象へのタスクの実行指示及び管理中継対象からマスタ2へのログ情報及びステータス情報の伝達などの、マスタ2と管理中継対象との間の中継動作を、クラウドサーバ6を介して実行可能に構成される。
一方、第2種端末装置5には、第2種端末装置5の管理者である装置管理者による入力操作により、SASが登録される(S07)。より詳しく言えば、クラウドコネクタに対してSASが登録される。クラウドコネクタに対するSASの登録は、例えば、第2種端末装置5の入力部74を介して行われてもよい。また例えば、第2種端末装置5とは別の情報処理装置から第2種端末装置5へSASを送信することによりクラウドコネクタにSASを登録できてもよい。具体的には、第2種端末装置5とは別の情報処理装置から第2種端末装置5のEWSへアクセスすることにより当該情報処理装置から遠隔的にSASを登録できてもよい。
SASの登録されたクラウドコネクタは、SASを用いてクラウドサーバ6の第1ストレージ93にアクセスし、マスタ2により書き込まれたクラウドパラメータを参照する(S08)。クラウドコネクタは、このクラウドパラメータを取得して自装置に設定する(S08)。
なお、クラウドコネクタがクラウドサーバ6へアクセスする際は、まず、クラウドコネクタに登録されているSASがクラウドサーバ6へ送信される。そして、送信されたSASがクラウドサーバ6において設定されているSASと一致することに応じて、実際にアクセス(即ちデータの読み書き)が可能となる。なお、SASは第1ストレージ93及び第2ストレージ94それぞれに個別に設定されているため、クラウドコネクタにおいても個別にSASが登録され、それぞれがクラウドサーバ6へ送信される。そして、クラウドサーバ6では各SASが個別に処理される。そのため、例えば一方のSASの不一致によって、例えば第1ストレージ93にはアクセス可能である一方で第2ストレージ94にはアクセスできない、などといった状況が発生し得る。
上述のクラウドパラメータ及びSASの設定を含む、クライアント3及びクラウドコネクタの初期設定(S05~S08)が完了すると、クライアント3及びクラウドコネクタでは、設定された情報更新周期に従って、定期的に、クラウドサーバ6の第1ストレージ93内に格納された情報を更新するスケジュールタスクが実行される(S09,S10)。
クラウドコネクタによるスケジュールタスク(S09)は、対応するデバイス情報が第1ストレージ93に未登録である場合にはまずデバイス情報を第1ストレージ93に登録することから始まる。クラウドコネクタに対応するデバイス情報とは、当該クラウドコネクタが実装された第2種端末装置5を示す所定の情報である。
クライアント3によるスケジュールタスク(S10)は、主に、定期的に管理中継対象を検索して更新する定期検索タスクと、定期検索タスクにより検索された管理中継対象毎の定期更新タスクとを含む。定期更新タスクは、例えば、直近に検索された管理中継対象のうちクラウドサーバ6に未登録のものを新たに登録すること、管理中継対象からログ情報やステータス情報などの各種情報を取得してクラウドサーバ6の第1ストレージ93へアップロードすること、などを含む。定期検索タスク及び定期更新タスクそれぞれに前述の情報更新周期が設定されている。定期検索タスク及び定期更新タスクはそれぞれ、対応する情報更新周期に従って周期的に繰り返し実行される。
定期検索タスクの具体例を、図7に示す。クライアント3の制御部31は、定期検索タスクの実行タイミングが到来する度に、図7に示す定期検索タスク処理のプログラムを読み込んで実行する。定期検索タスク処理のプログラムは、副管理プログラム35aの一部である。
クライアント3の制御部31は、定期検索タスク処理を開始すると、S110で、端末装置の検索を行う。つまり、クライアント3と同じローカルエリアネットワーク内において管理中継対象になり得る端末装置の存在を確認する。端末装置の検索はどのような方法で行ってもよい。例えば、SNMP(Simple Network Management Protocol)に従ったブロードキャストにより検索してもよい。
制御部31は、端末装置から送信されてくるデバイス情報を受信することにより、当該端末装置の存在を認識する。デバイス情報は、デバイスID、モデル名、IPアドレスなどを含んでいてもよい。S110の検索では、第1種端末装置4及び第2種端末装置5のいずれも検索され得る。
S120では、S110の処理によって端末装置が1つでも検索されたか否か判断する。端末装置が1つも検索されなかった場合は、本定期検索タスク処理を終了する。1つ以上の端末装置が検索された場合は、S130へ移行する。
S130では、検索された1つ以上の端末装置のうちチェックが行われていない1つの端末装置を判断対象に設定する。ここでいうチェックとは、S140~S190の処理を意味する。
S140では、判断対象の端末装置から、コネクタ設定情報を取得する。コネクタ設定情報は、前述の有効化情報及びクラウド接続設定情報を含む。コネクタ設定情報はどのような方法で取得してもよい。コネクタ設定情報は例えばSNMPに従って判断対象へ要求して判断対象から取得してもよい。判断対象の端末装置が第1種端末装置4ならば、クラウドコネクタを有しないため、コネクタ設定情報が取得されない。一方、判断対象の端末装置が第2種端末装置5ならば、クラウドコネクタを有するため、コネクタ設定情報が取得される。
S150では、S140で取得したコネクタ設定情報に基づき、判断対象の端末装置がクラウドコネクタを有するか否か(つまり第2種端末装置5であるか否か)を判断する。例えばS140でコネクタ設定情報が取得されなかった場合は、判断対象の端末装置がクラウドコネクタを有しない、即ち第1種端末装置4であると判断し、S160に移行する。
S160では、判断対象の端末装置を管理中継対象に設定する。S160の処理後はS200に移行する。
例えばS140でコネクタ設定情報が取得された場合は、S150では、判断対象の端末装置がクラウドコネクタを有する、即ち第2種端末装置5であると判断し、S170に移行する。
S170では、判断対象の端末装置のクラウドコネクタが有効化されているか否か判断する。この判断は、例えばコネクタ設定情報に含まれる有効化情報に基づいて行うことができる。判断対象の端末装置のクラウドコネクタが無効化されている場合は、S160に移行する。この場合、判断対象の端末装置は、第2種端末装置5であるものの、クライアント3の管理中継対象に設定される。
S170で、判断対象の端末装置のクラウドコネクタが有効化されている場合は、S180に移行する。この段階で、判断対象の端末装置をクライアント3の管理中継対象から除外してもよいが、本実施形態では、さらにS180の処理を行うことにより、クライアント3の管理中継対象とすべきか否かを見極める。
即ち、S180では、判断対象の端末装置のクラウドコネクタがクラウドサーバ6にアクセス可能であるか否か判断する。この判断は、例えばコネクタ設定情報に含まれるクラウド接続設定情報に基づいて行うことができる。判断対象の端末装置のクラウドコネクタがクラウドサーバ6にアクセス可能ではない場合は、S160に移行する。この場合、判断対象の端末装置は、第2種端末装置5であってしかもクラウドコネクタが有効化されているものの、クライアント3の管理中継対象に設定される。
S180で、判断対象の端末装置のクラウドコネクタがクラウドサーバ6にアクセス可能である場合は、S190に移行する。S190では、判断対象の端末装置を管理中継対象から除外する。S190の処理後はS200に移行する。
S200では、S110で検索された1つ以上の端末装置のうち上記チェックが行われていない端末装置が存在するか否か判断する。チェックが行われていない端末装置がまだ存在する場合は、S130に移行する。検索された全ての端末装置に対して上記チェックが行われた場合は、S210に移行する。
S210では、対象設定情報をクラウドサーバ6の第1ストレージ93に書き込む。対象設定情報は、S110で検索された端末装置毎の、当該端末装置が管理中継対象に設定されたか否かを示す情報を含む。
S220では、表示部33に、対象設定情報を表示する。例えば、検索された各端末装置と管理中継対象の設定有無とが対応付けられてリストアップされた画面が表示されてもよい。ユーザは、その画面を見ることで、どの(或いはいくつの)端末装置が検索されたか、及び検索された端末装置それぞれが管理中継対象に設定されているか否か、などの情報を認識することができる。S220の処理後、本定期検索タスク処理を終了する。
図4に戻って説明を続ける。クライアント3のスケジュールタスク(S10)に含まれる定期更新タスクにおいては、前述の、未登録の管理中継対象を登録する処理が行われる。具体的には、例えば、未登録の管理中継対象のデバイス情報を第1ストレージ93における対応するテーブルに登録する。
第1ストレージ93は、テーブルの一つとして、図5Aに例示するスケジュールタスクテーブルを備える。スケジュールタスクテーブルは、1つ以上のエンティティの一群を含む。1つのエンティティは複数のプロパティを含む。本実施形態では、複数のプロパティは、例えば、図5Aに示すように、第1キー、第2キー、リクエストパラメータ、レスポンスパラメータ、通知元、進捗状況、及びデバイスIDを含む。
スケジュールタスクテーブルは、端末装置4,5のそれぞれについて個別に、「ログ」「ステータス」「登録」に関する3つのエンティティを備える。つまり、本実施形態では、管理対象の端末装置4,5毎の個別のスケジュールタスクテーブル(以下、「個別テーブル」と称する)を有し、スケジュールタスクテーブルはこれら個別テーブルの集合体であると見なせる。個別テーブルはそれぞれ、対応する端末装置の「ログ」「ステータス」「登録」それぞれに関する3つのエンティティを備える。
エンティティ内の情報は、対応する端末装置が第1種端末装置4である場合は、当該第1種端末装置4を管理するクライアント3によって更新される(S10)。エンティティ内の情報は、対応する端末装置が第2種端末装置5である場合は、当該第2種端末装置5のクラウドコネクタによって更新される(S09)。ただし、対応する端末装置が第2種端末装置5であっても、前述の定期検索タスク処理でクライアント3の管理中継対象に設定されている場合は、クライアント3によって更新される(S10)。
図5Aに例示するスケジュールタスクテーブルにおいて、エンティティ内の「通知元」のプロパティは、エンティティの更新者を示す。エンティティがクライアント3により更新されるとき、当該エンティティにおける「通知元」のプロパティは、値「クライアント」に更新される。エンティティがクラウドコネクタにより更新されるとき、当該エンティティにおける「通知元」のプロパティは、値「デバイス」に更新される。
「ログ」に関するエンティティは、第1キーの値「ログ」を有するログエンティティであり、第2キーの値として記載されるデバイスIDに対応する管理対象の端末装置のログ情報を、レスポンスパラメータに記述する。デバイスIDは、端末装置4,5のそれぞれにユニークなIDである。
ログ情報は、対応する端末装置がプリンタ又はディジタル複合機であるとき、対応する端末装置の総印刷枚数の情報を含み得る。ログ情報は、印刷履歴として、印刷ジョブ毎に、印刷指令元のユーザ及び印刷枚数の情報を含み得る。なお、管理すべきログ情報が複数種類存在していて、複数種類のログ情報のそれぞれに対応した複数のログエンティティが存在していてもよい。
図5Aに例示されるように、レスポンスパラメータは、例えばJSONデータを含むことができる。例えば、ログ情報は、対応するパラメータの管理情報ベース(MIB)で用いられるオブジェクト識別子(OID)と、その値とを関連付けるようにして、JSON形式で記述され得る。図5Aの下段における、”x.x.x.x.x・・・・・・・・・・・”、”y.y.y.y.y・・・・・・・・・・”との記載は、オブジェクト識別子を例示的に抽象表現したものである。
更新される前の初期状態のレスポンスパラメータは、オブジェクト識別子に初期値が関連付けられたリクエストパラメータとして存在し得る。図5Aの例示によれば、OID”y.y.y.y.y・・・・・・・・・・”及びこれに関連付けられた初期値”%MIB(y.y.y.y.y・・・・・・・・・・)%”が、リクエストパラメータとして存在し得る。このリクエストパラメータが示すログ情報が実際に管理対象から取得され、テーブルにおけるレスポンスパラメータの値として記載される。レスポンスパラメータの値は、スケジュールタスク実行毎に更新される。図5Aの下段は、一例として、所定のログ情報が、リクエストパラメータに記載された初期値から値”4”に更新されてレスポンスパラメータの値として記載される例を示している。
なお、第1キーにおける他の「ステータス」及び「登録」それぞれにおいても、「ログ」と同様、リクエストパラメータに初期値が設定され、その初期値に対応する実際の値がレスポンスパラメータに書き込まれる。
「ステータス」に関するエンティティは、第1キーの値「ステータス」を有するステータスエンティティであり、第2キーの値として記載されるデバイスIDに対応する管理対象の端末装置のステータス情報を、レスポンスパラメータに記述する。
ステータス情報は、対応する端末装置がプリンタ又はディジタル複合機であるとき、対応する端末装置の色材の残量情報や紙詰まり等のエラー情報を含み得る。なお、管理すべきステータス情報が複数種類存在していて、複数種類のステータス情報のそれぞれに対応した複数のステータスエンティティが存在していてもよい。ステータスエンティティにおいても、ログエンティティと同様に、レスポンスパラメータは、JSON形式で記述され得る。
「登録」に関するエンティティは、第1キーの値「登録」を有する登録エンティティであり、第2キーの値として記載されるデバイスIDに対応する管理対象の端末装置のデバイス情報を、レスポンスパラメータに記述する。レスポンスパラメータには、デバイス情報として、デバイスの基本構成を説明する複数の項目値が記述される。
スケジュールタスクテーブルにおいて、第2種端末装置5のクラウドコネクタのエンティティは、当該第2種端末装置5が定期検索処理でクライアント3の管理中継対象に設定されている場合を除き、当該クラウドコネクタによって更新される(S09)。第1種端末装置4のエンティティは、当該第1種端末装置4と同一のローカルエリアネットワークに接続されたクライアント3によって更新される(S10)。管理中継対象に設定されている第2種端末装置5のエンティティは、当該第2種端末装置5と同一のローカルエリアネットワークに接続されたクライアント3によって更新される(S10)。すなわち、クライアント3によって、クライアント3配下の管理中継対象の第1種端末装置4及び第2種端末装置5)毎のエンティティが更新される。
クライアント3は、副管理プログラム35aに従う制御部31の処理によって、同一ローカルエリア内における管理中継対象と通信し、各管理中継対象から、デバイス情報の更新に必要な情報を取得する。クライアント3は、取得した情報に基づき、スケジュールタスクテーブルにおける対応する管理中継対象の登録エンティティを更新することができる(S10)。
クライアント3は、さらに、定期的に、管理中継対象とローカルエリア内で通信し、対応するログ情報及びステータス情報を取得する。クライアント3は、取得したログ情報及びステータス情報に基づき、クラウドサーバ6の第1ストレージ93内のスケジュールタスクテーブルにおける、対応する管理中継対象のログエンティティ及びステータスエンティティを更新することができる(S10)。
クラウドサーバ6にアクセス可能なクラウドコネクタは、定期的にクラウドサーバ6にアクセスし、自己のログ情報及びステータス情報を更新するように第1ストレージ93における自己のログエンティティ及びステータスエンティティを更新することができる(S09)。
マスタ2は、クライアント3としての機能を兼ね備える。即ち、マスタ2は、第1拠点の第1種端末装置4に対して、クライアント3として機能すると理解してよい。具体的には、クラウドサーバ6の第1ストレージ93におけるスケジュールタスクテーブルには、第1拠点における第1種端末装置4(以下、「マスタ配下端末装置」と称する)それぞれに対応した、「ログ」「ステータス」「登録」に関する3つのエンティティが生成される。マスタ2は、クライアント3と同様、マスタ配下端末装置から各種情報を取得して、第1ストレージ93のスケジュールタスクテーブルにおける、対応するマスタ配下端末装置それぞれの登録エンティティ、ログエンティティ及びステータスエンティティを更新することができる。
マスタ2は、さらに、定期的にクラウドサーバ6にアクセスして、第1ストレージ93のスケジュールタスクテーブルにおける端末装置4,5それぞれのログエンティティ、ステータスエンティティ、及び登録エンティティを参照する(S11)。マスタ2は、これらの参照に基づき、各端末装置4,5のログ情報、ステータス情報、及び、デバイス情報を、記憶部15に記憶する処理を実行することができる(S11)。
更に、マスタ2は、入力部14を通じたユーザからの操作信号に従って、表示部13の画面に、上記登録された端末装置4,5のリストを表示したり、端末装置4,5のログ情報及びステータス情報を表示したりすることができる(S11)。このように、管理システム1は、複数拠点で使用される端末装置4,5の状態を、マスタ2の設置された一拠点で遠隔から監視可能に構成される。
この他、管理システム1によれば、スケジュールタスク以外の非定期のタスクであるインスタントタスクが、マスタ2からの要求に基づき、要求対象の端末装置4,5により実行される。マスタ2は、第1ストレージ93に、インスタントタスクのエンティティ(以下、「インスタントタスクエンティティ」と称する)を登録することにより、インスタントタスクの実行を、対応する端末装置4,5に要求する(S13)。例えば、1つ以上の端末装置におけるファームウェアの更新が、インスタントタスクの一つとして実現される。
マスタ2は、入力部14を通じた主管理者からの操作信号に従って、主管理者からインスタントタスクの実行要求操作を受け付ける(S12)。マスタ2は、主管理者による実行要求操作に従ってインスタントタスクエンティティを示すデータを生成し、そのデータをクラウドサーバ6へ送信することで、該当するインスタントタスクエンティティを第1ストレージ93に登録することができる(S13)。
インスタントタスクエンティティは、第1ストレージ93において、例えば、図5Bに例示するインスタントタスクテーブルの形式で登録される。インスタントタスクテーブルは、スケジュールタスクテーブルと同様に、第1キー、第2キー、リクエストパラメータ、レスポンスパラメータ、通知元、進捗状況、及びデバイスIDのプロパティを含むエンティティの一群から構成される。
インスタントタスクテーブルにおけるインスタントタスクエンティティは、第1キーの値として、「インスタントタスク」が記載される。インスタントタスクエンティティにおける、第2キーのプロパティは、トランザクションIDを値に有する。トランザクションIDは、同時期に発生するインスタントタスクのそれぞれに対してユニークなIDであり、同時期に発生する複数のインスタントタスクのそれぞれのエンティティを区別するために用いられる。
インスタントタスクエンティティにおけるデバイスIDのプロパティには、インスタンスタスクを要求する端末装置のデバイスIDが値として記述される。例えばクライアント3の管理中継対象の全てに対してインスタントタスクが要求されるとき、デバイスIDのプロパティには、管理中継対象それぞれのデバイスIDが記述される。
インスタントタスクエンティティにおけるリクエストパラメータは、インスタントタスクとして実行すべき処理の内容を説明するデータを値として含む。処理内容は、例えば、JSONデータとして記述される。つまり、インスタントタスクエンティティは、デバイスIDのプロパティに記述されたデバイスIDが示す端末装置に、リクエストパラメータに記述された値が示す処理内容を実行するように要求する。
インスタントタスクの実行に所定のファイルが必要な場合、マスタ2は、当該ファイルを第2ストレージ94に格納する(S14)。この場合、リクエストパラメータには、当該ファイルの格納先を示す情報(例えばURL)が記述される。例えば、インスタントタスクが端末装置4,5におけるファームウェアの更新である場合には、マスタ2は、ファームウェアの更新に必要な更新ファイルを、第2ストレージ94に格納する(S14)。この場合、リクエストパラメータには、例えば、ファームウェアの更新ファイルの格納先URLが記述されてもよい。
クラウドサーバ6にアクセス可能なクラウドコネクタは、設定されたポーリング周期で、クラウドサーバ6の第1ストレージ93にアクセスし、自己を対象とするインスタントタスクを検索する(S15)。即ち、クラウドコネクタは、インスタントタスクテーブル内に、自己で実行すべきインスタントタスクの新規エンティティが登録されているか否かを判別する(S15)。
新規エンティティが登録されている場合、クラウドコネクタは、第1ストレージ93内のインスタントタスクテーブルにおける、対応するインスタントタスクエンティティの進捗状況のプロパティの値を「要求」から「進行中」に更新することにより、インスタントタスクの要求の受取をマスタ2に伝達する(S15)。
インスタントタスクエンティティを登録したマスタ2は、当該インスタントタスクエンティティに対応するインスタントタスクの状況確認を行う(S18)。具体的には、マスタ2は、第1ストレージ93の登録したインスタントタスクテーブルにおけるインスタントタスクエンティティを、例えば第1周期で定期的に参照する(S18)。マスタ2は、定期参照により、進捗状況のプロパティの値が更新されたことに基づいて、インスタントタスクの要求が受け取られたことを確認することができる。
クラウドコネクタは、インスタントタスクの実行に際して、インスタントタスクエンティティのリクエストパラメータを参照(取得)する(S15)。クラウドコネクタは、参照したリクエストパラメータに基づき、インスタントタスクの実行に必要なデータファイルが第2ストレージ94内に存在する場合には、リクエストパラメータに記載された格納先情報(例えばURL)に基づいて、第2ストレージ94からデータファイルをダウンロードし(S16)、インスタントタスクを実行する(S15)。
クラウドコネクタは、インスタントタスクが終了すると、インスタントタスクテーブルにおける該当するインスタントタスクエンティティを更新する(S17)。具体的には、進捗状況のプロパティの値を「進行中」から「完了」に更新する。さらに、レスポンスパラメータとしてインスタントタスクの処理結果を書き込む。
クライアント3も、クラウドコネクタと同様に、設定されたポーリング周期で、クラウドサーバ6の第1ストレージ93にアクセスし、管理中継対象を対象とするインスタントタスクを検索する(S19)。即ち、クライアント3は、インスタントタスクテーブル内に、自己の管理中継対象に実行させるべきインスタントタスクの新規エンティティが登録されているか否かを判別する(S19)。以下、インスタントタスクテーブルにおいてインスタントタスクの実行対象に設定されている1つ以上の管理中継対象(つまりデバイスIDのプロパティにデバイスIDが記述されている1つ以上の管理中継対象)のそれぞれを、「インスタントタスク実行対象」と称する。
インスタントタスク実行対象に対する新規のインスタントタスクエンティティが登録されている場合、クライアント3は、該当するインスタントタスクエンティティにおける進捗状況のプロパティの値を「要求」から「進行中」に更新する(S19)。クライアント3は更に、リクエストパラメータを参照(取得)し、実行すべき処理内容を認識する(S19)。クライアント3は更に、リクエストパラメータに基づき、必要に応じて第2ストレージ94からインスタントタスクに実行に必要なデータファイルを取得する(S20)。
その後、クライアント3は、ローカルエリアネットワークを通じて、インスタントタスク実行対象に、インスタントタスクの実行を指示する(S21)。この際、第2ストレージ94から取得した上記実行に必要なデータファイルを、各インスタントタスク実行対象に転送する(S21)。そして、クライアント3は、インスタントタスク実行対象から、インスタントタスクの実行結果を取得する(S21)。
クライアント3は、全てのインスタントタスク実行対象においてインスタントタスクの実行が完了すると、インスタントタスクテーブルにおける該当するインスタントタスク実行対象のインスタントタスクエンティティを更新する(S22)。具体的には、進捗状況のプロパティの値を「進行中」から「完了」に更新する。さらに、レスポンスパラメータとしてインスタントタスクの処理結果を書き込む。このインスタントタスクエンティティの更新により、クライアント3は、クラウドサーバ6の第1ストレージ93を介して、マスタ2に、インスタントタスク実行対象におけるインスタントタスクの実行経過及び処理結果を通知する(S22)。
マスタ2は、状況確認として、第1ストレージ93のインスタントタスクテーブルにおけるインスタントタスクエンティティを参照し、進捗状況のプロパティの値が「完了」に更新されたことを知ることにより、インスタントタスクが完了したことを確認し、処理結果を記憶部15に書き込む(S23)。
マスタ2は更に、処理結果を表示部13の画面に表示することができる。マスタ2は、登録したインスタントタスクが、対応する全てのインスタントタスク実行対象で完了したこと、換言すればそのインスタントタスクの実行指示がもはや不要になったことを確認すると(S24)、その不要になったインスタントタスクのインスタントタスクエンティティを、第1ストレージ93から削除する(S25)。さらに、当ギアインスタントタスクに供された第2ストレージ94内のデータファイル(例えばファームウェアの更新ファイル)を削除する(S26)。
このように、管理システム1は、クラウドサーバ6の第1ストレージ93におけるインスタントタスクエンティティの登録及び更新により、更には第2ストレージ94を介したデータファイルの転送により、複数拠点で使用される端末装置4,5を、マスタ2の設置された一拠点で遠隔から制御可能に構成される。
(1-4)実施形態の効果
以上説明した実施形態の管理システム1では、クライアント3とネットワーク接続された端末装置4,5それぞれがクライアント3の管理中継対象に設定されるか否かは、ネットワーク接続された端末装置4,5それぞれのクラウドコネクタが有効化されているか否かに依存する(S170)。即ち、クラウドコネクタが無効化されている場合に管理中継対象に設定され、クラウドコネクタが有効化されている場合は管理中継対象に設定されない。そのため、クライアント3は、端末装置4,5を、それぞれの被管理能力に応じて適切に管理することができる。
また、本実施形態では、クラウドコネクタが有効化されていることのみをもって一律に管理中継対象から除外しない。本実施形態のクライアント3は、クラウドコネクタが有効化されていても、クラウドコネクタが実際にクラウドサーバ6にアクセス可能な状態でなければ(S180:NO)、管理中継対象に設定する。そのため、クラウドコネクタを有するもののクラウドサーバ6にアクセスできない状態になっている第2種端末装置5をクライアント3が第1種端末装置4と同様に適切に管理することができる。
さらに、本実施形態では、クラウドコネクタが有効化されているか否かの判断の前に、そもそもクラウドコネクタを有しているか否かを判断する(S150)。そして、クラウドコネクタを有していない場合は管理中継対象に設定する。そのため、管理中継対象とすべきか否かを効率よく決定することができる。
なお、本実施形態において、クライアント3は本開示における情報処理装置の一例に相当する。クライアント3の制御部31は本開示におけるコンピュータの一例に相当する。副管理プログラム35aは本開示における管理プログラムの一例に相当する。クラウドサーバ6は本開示におけるクラウドストレージの一例に相当する。第2種端末装置5が備えるクラウドコネクタは本開示におけるクラウドアクセス機能の一例に相当する。ログ情報及びステータス情報は本開示における端末データの一例に相当する。スケジュールタスク、インスタントタスク及びS210の処理は本開示における管理処理の一例に相当する。第2種端末装置5にSASを設定することは本開示における接続設定の一例に相当する。
また、図7において、S110の処理は本開示における検索処理の一例に相当する。S150の処理は本開示における機能判断処理の一例に相当する。S160の処理は本開示における対象設定処理の一例に相当する。S170の処理は本開示における有効判断処理の一例に相当する。S180の処理は本開示における確認処理の一例に相当する。S220の処理は本開示における表示処理の一例に相当する。
[2.他の実施形態]
以上、本開示の実施形態について説明したが、本開示は上述の実施形態に限定されることなく、種々変形して実施することができる。
(2-1)図7の定期検索タスク処理において、S170とS180とは順序が逆であってもよい。
また、S170またはS180の処理が省略されてもよい。例えば、S170でクラウドコネクタが有効化されていると判断した場合は、S180を考慮せずS190で管理中継対象から除外してもよい。逆に、S170を省いて、S150でクラウドコネクタがあると判断された場合はS180に移行してもよい。
(2-2)図7の定期検索タスク処理におけるS220の処理は、必ずしもこのタイミングで実行されなくてもよい。S220の処理は、定期検索タスク処理に含まれず、例えば画面表示を要求するユーザ操作が入力部34を介してなされることに応じて実行されてもよい。
また、S220の処理は、マスタ2においても実行可能であってもよい。マスタ2は、S110でクラウドサーバ6に書き込まれた対象設定情報を読み込むことによって、S220と同等の処理を実行することができる。
(2-3)図5Bに例示したインスタントタスクテーブルにおいて、リクエストパラメータとレスポンスパラメータとが共通の1つのプロパティとして統合されていてもよい。つまり、マスタ2からインスタントタスクを指示する際はその処理内容が所定のタスク記述用プロパティに記述され、当該インスタントタスクがクライアント3で実行されたら、その実行結果が、同じタスク記述用プロパティに上書きされてもよい。
(2-4)第1ストレージ93は、NoSQLのデータストアに限らない。第1ストレージ93は、例えばリレーショナルデータベースなどの、SQLのデータベースであってもよい。
(2-5)管理システム1は、いくつの拠点を備えていてもよい。複数の拠点のうち1つ以上のそれぞれにクライアント3が設置されてもよい。クライアント3が設置された拠点において、第1種端末装置4及び第2種端末装置5はそれぞれいくつ設置されてもよく、いずれか一方が設置されていなくてもよい。
(2-6)上記実施形態における1つの構成要素が有する複数の機能を、複数の構成要素によって実現したり、1つの構成要素が有する1つの機能を、複数の構成要素によって実現したりしてもよい。また、複数の構成要素が有する複数の機能を、1つの構成要素によって実現したり、複数の構成要素によって実現される1つの機能を、1つの構成要素によって実現したりしてもよい。また、上記実施形態の構成の一部を省略してもよい。また、上記実施形態の構成の少なくとも一部を、他の上記実施形態の構成に対して付加又は置換してもよい。