(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-08-30
(45)【発行日】2024-09-09
(54)【発明の名称】監視装置、監視装置の制御方法およびプログラム
(51)【国際特許分類】
G06F 8/65 20180101AFI20240902BHJP
【FI】
G06F8/65
(21)【出願番号】P 2022054097
(22)【出願日】2022-03-29
【審査請求日】2023-10-24
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】100114775
【氏名又は名称】高岡 亮一
(74)【代理人】
【識別番号】100121511
【氏名又は名称】小田 直
(74)【代理人】
【識別番号】100208580
【氏名又は名称】三好 玲奈
(72)【発明者】
【氏名】吉岡 研
【審査官】松平 英
(56)【参考文献】
【文献】特開2011-257954(JP,A)
【文献】特開2016-162063(JP,A)
【文献】特開2018-14007(JP,A)
【文献】特開2016-1391(JP,A)
【文献】米国特許出願公開第2015/0378711(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 8/00-8/38
8/60-8/77
9/44-9/445
9/451
(57)【特許請求の範囲】
【請求項1】
デバイス管理サービスの管理対象であるネットワークデバイスを監視し、利用形態に応じて異なる動作モードで動作するソフトウェアが実行される監視装置であって、
前記ソフトウェアに関する更新が必要な場合に、現在の前記監視装置の利用形態に紐づく、前記更新に係る使用許諾契約のバージョンと現在の使用許諾契約のバージョンとを比較する比較手段と、
現在の前記監視装置の利用形態に紐づく、前記更新に係る使用許諾契約のバージョンと現在の使用許諾契約のバージョンとが同一の場合に、前記ソフトウェアに関する更新を実行する更新手段と、を有することを特徴とする監視装置。
【請求項2】
現在の前記監視装置の利用形態に紐づく前記更新に係る使用許諾契約のバージョンは、前記更新に係るソフトウェアのバージョンおよび利用形態ごとの使用許諾契約のバージョンが示される更新設定ファイルから取得されることを特徴とする請求項1に記載の監視装置。
【請求項3】
前記監視装置は、前記デバイス管理サービスと前記ネットワークデバイスとの通信を中継するプロキシ機能を有し、
前記利用形態には、前記ネットワークデバイスに前記監視装置のプロキシ機能を利用させる形態および前記監視装置が前記ネットワークデバイスからデータを収集して前記デバイス管理サービスに送信する形態が含まれることを特徴とする請求項1または2に記載の監視装置。
【請求項4】
現在の前記監視装置の利用形態に紐づく、前記更新に係る使用許諾契約のバージョンが現在の使用許諾契約のバージョンよりも新しい場合に、前記更新手段は、ユーザに前記更新に係る使用許諾契約の同意を求める処理を実行し、該使用許諾契約に対する同意をユーザから受け付けた場合に、前記ソフトウェアに関する更新を実行することを特徴とする請求項1乃至3のいずれか1項に記載の監視装置。
【請求項5】
現在の前記監視装置の利用形態に紐づく、前記更新に係る使用許諾契約のバージョンが現在の使用許諾契約のバージョンよりも新しい場合において、ユーザによる前記更新に係る使用許諾契約への同意を得ずに更新可能なライブラリがある場合には、前記更新手段は、該ライブラリに関する更新を実行することを特徴とする請求項1乃至4のいずれか1項に記載の監視装置。
【請求項6】
前記更新可能なライブラリを示す情報は、前記更新に係るソフトウェアのバージョンおよび利用形態ごとの使用許諾契約のバージョンが示される更新設定ファイルに含まれることを特徴とする請求項5に記載の監視装置。
【請求項7】
前記監視装置の利用形態を設定する設定手段をさらに有し、
前記設定手段は、前記監視装置の利用形態を変更する際、変更後の利用形態に紐づく使用許諾契約のバージョンに対してユーザの同意がなされていない場合には、ユーザに前記更新に係る使用許諾契約の同意を求める処理を実行し、該使用許諾契約に対する同意をユーザから受け付けた場合に、利用形態を変更することを特徴とする請求項1乃至6のいずれか1項に記載の監視装置。
【請求項8】
デバイス管理サービスの管理対象であるネットワークデバイスを監視し、利用形態に応じて異なる動作モードで動作するソフトウェアが実行される監視装置の制御方法であって、
前記ソフトウェアに関する更新が必要な場合に、現在の前記監視装置の利用形態に紐づく、前記更新に係る使用許諾契約のバージョンと現在の使用許諾契約のバージョンとを比較する工程と、
現在の前記監視装置の利用形態に紐づく、前記更新に係る使用許諾契約のバージョンと現在の使用許諾契約のバージョンとが同一の場合に、前記ソフトウェアに関する更新を実行する工程と、を有することを特徴とする監視装置の制御方法。
【請求項9】
デバイス管理サービスの管理対象であるネットワークデバイスを監視し、利用形態に応じて異なる動作モードで動作するソフトウェアが実行される監視装置を制御するためのプログラムであって、
前記ソフトウェアに関する更新が必要な場合に、現在の前記監視装置の利用形態に紐づく、前記更新に係る使用許諾契約のバージョンと現在の使用許諾契約のバージョンとを比較する工程と、
現在の前記監視装置の利用形態に紐づく、前記更新に係る使用許諾契約のバージョンと現在の使用許諾契約のバージョンとが同一の場合に、前記ソフトウェアに関する更新を実行する工程と、をコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、監視装置、監視装置の制御方法およびプログラムに関する。
【背景技術】
【0002】
ネットワークを介して、オフィス等に設置したデバイス(例えば画像形成装置)からデータを収集してメンテナンス等の管理を行う、デバイス管理システムが知られている。デバイス管理システムを用いることで、例えば、デバイスに障害が発生したことや、消耗品の補充が必要になったこと等を、ネットワーク経由で検出して、迅速に対応することができる。デバイス管理システムの構成として、各デバイスを一元的に管理する管理サーバと、複数のデバイスから稼働情報を収集して該管理サーバへ転送する監視装置(管理クライアント)として動作する情報処理装置とを含む構成が知られている。監視装置は、例えば、監視装置が定期ポーリング等の方法によりデバイスからデータを取得する。また、監視装置がプロキシ機能を利用してデバイスを管理する仕組みもある。特許文献1は、サービスに必要な稼働情報をデバイス内で収集して管理サーバに送信することが可能な自己監視機能を有するデバイスに監視装置のプロキシ機能を利用させる仕組みを開示している。
【0003】
監視装置のソフトウェアのアップデート方法としては、監視装置自身あるいは外部の情報処理装置が監視装置の更新データをネットワーク経由でダウンロードしてアップデートする方法が知られている。特許文献2は、更新データを持つ更新サーバに対し、ソフトウェアの新たなバージョンが存在するか否かを定期的に確認して、新たなバージョンが存在する場合、更新サーバから最新の更新データを取得し、アップデートを自動で行う情報処理装置を開示している。
【先行技術文献】
【特許文献】
【0004】
【文献】特開2018-136876号公報
【文献】特開2016-162063号広報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、特許文献2の技術では、ユーザの指示によらずに監視装置のアップデートを行うため、監視装置の機能変更に伴いエンドユーザ使用許諾契約(EULA)の内容が変更になった場合、監視装置の自動アップデートを行うことができない。一方で、ユーザが監視装置のアップデートにより機能が変更される利用形態で監視装置を利用していない場合、EULAに同意する必要はない。例えば、監視装置がデバイスから情報を取得して管理サーバに送信する仕組みに関するEULAに変更があり、監視装置のプロキシ機能を利用して管理する仕組みに関するEULAには変更がない場合がある。この際、後者の機能のみを利用するユーザはEULAに同意する必要はなく、ユーザの同意なしにソフトウェアを自動でアップデートしてプロキシ機能の提供を続けるようにしてもよい。
【0006】
本発明は、監視装置の利用形態に応じたソフトウェアの更新を可能とすることを目的とする。
【課題を解決するための手段】
【0007】
上記課題を解決するために、本発明の監視装置は、デバイス管理サービスの管理対象であるネットワークデバイスを監視し、利用形態に応じて異なる動作モードで動作するソフトウェアが実行される監視装置であって、前記ソフトウェアに関する更新が必要な場合に、現在の前記監視装置の利用形態に紐づく、前記更新に係る使用許諾契約のバージョンと現在の使用許諾契約のバージョンとを比較する比較手段と、現在の前記監視装置の利用形態に紐づく、前記更新に係る使用許諾契約のバージョンと現在の使用許諾契約のバージョンとが同一の場合に、前記ソフトウェアに関する更新を実行する更新手段と、を有する。
【発明の効果】
【0008】
本発明によれば、監視装置の利用形態に応じたソフトウェアの更新を可能にする。
【図面の簡単な説明】
【0009】
【
図1】デバイス管理システムの構成を示す図である。
【
図2】デバイスのハードウェア構成を示す図である。
【
図3】管理サーバ、監視装置及び更新サーバのハードウェア構成を示す図である。
【
図4】監視装置のソフトウェア構成を示す図である。
【
図5】デバイスのソフトウェア構成を示す図である。
【
図6】監視装置の自動更新処理を示すフローチャートである。
【
図8】監視装置の手動更新処理を示すフローチャートである。
【
図9】第2実施形態に係る監視装置の利用形態変更処理を示すフローチャートである。
【
図10】第3実施形態に係る監視装置の自動更新処理を示すフローチャートである。
【
図11】第3実施形態に係る更新設定ファイルの一例を示す図である。
【発明を実施するための形態】
【0010】
(第1実施形態)
図1は、デバイス管理システムの構成を示す図である。デバイスの管理システムは、ネットワークデバイス(以下、「デバイス」と称す)を管理するためのシステムである。デバイス管理システムは、管理対象のデバイス102と、デバイスからデータを収集する監視装置101と、監視装置が収集したデータを管理するデバイス管理サービスを提供する管理サーバ106とを含む。監視装置101と、1台または複数台のデバイス102は、同一のローカルエリアネットワーク内にあり、LAN(Local Area Network)103に接続されている。管理サーバ106は、WAN(Wide Area Network)105に接続されている。LAN103とWAN105との間には、ファイアウォール104が設けられている。
【0011】
また、本実施形態では、WAN105に監視装置101のソフトウェアをアップデート(更新)するための更新サーバ107が接続されている。本実施形態ではデバイスを管理するデバイス管理サービスが管理サーバ106により提供されている例について説明するがこれに限られるものではない。デバイス管理サービスは、1台または複数台の情報処理装置の他、情報処理装置を含むデータセンターにより提供されたリソースを利用した仮想マシン(クラウドサービス)、あるいはこれらの組み合わせにより実現されてもよい。また同様に、更新サーバ107が提供するソフトウェアの更新サービスも、1台または複数台の情報処理装置の他、クラウドサービス、あるいはこれらの組み合わせにより実現されてもよい。
【0012】
監視装置101は、デバイス管理サービスの対象であるデバイス102を監視する情報処理装置である。監視装置101は、LAN103を介して、デバイス102から、障害の発生などのデバイスの稼働情報や消耗品の補充等に関するデータ等を取得する。そして、監視装置101は、ファイアウォール104が設けられていても管理サーバ106と通信が可能であり、デバイス102から取得したデータを、LAN103、ファイアウォール104及びWAN105を介して、管理サーバ106へ送信する。監視装置101は、プロキシ機能を有し、デバイス102とデバイス管理サービスとの通信を中継することも可能である。なお、監視装置101は、監視装置101による監視の監視対象となるデバイス102と同様の機能を有する、デバイス102とは異なるネットワークデバイスであってもよい。
【0013】
デバイス102は、デバイス管理システムの管理対象であるネットワークデバイスである。デバイス102は、例えば、コピーやプリント等のジョブを実行するデジタル複合機(MFP)、単機能のプリンタやスキャナ、複写機、三次元プリンタ等であり、通信機能を有するネットワークデバイスであればよい。デバイス管理サービスの対象であるデバイス102は、LAN103を介して接続された監視装置101によって監視されている。
【0014】
管理対象となるデバイス102には、自己監視機能に対応したデバイス(以下、「自己監視デバイス」と称す)と、自己監視機能に対応していないデバイス(以下、「非自己監視デバイス」と称す)とがある。自己監視機能とは、デバイス管理サービスで利用されるデバイスの稼働情報等のデータを、デバイス102自身の制御に基づいて自装置内で収集して、管理サーバ106へ送信する機能である。自己監視機能は、例えば、自己監視アプリケーションにより提供される。自己監視デバイスは、監視装置101のプロキシ機能を利用してファイアウォール104を通して、管理サーバ106に収集したデータを送信することができる。非自己監視デバイスは、監視装置101からのポーリング等に応じて稼働情報等のデータを監視装置101に送信する。そのため、本実施形態の監視装置101は、管理サーバ106と通信する自己監視デバイスにプロキシ機能を利用させる形態と、非自己監視デバイスからポーリング等によりデータを収集して管理サーバ106に送信する形態との2つの利用形態を持つ。
【0015】
管理サーバ106は、監視装置101やデバイス102のデータを一元的に管理するデバイス管理サービスを提供する。デバイス管理サービスでは、デバイス102で収集された稼働情報等のデータが使用される。管理サーバ106は、LAN103、ファイアウォール104及びWAN105を介して、監視装置101へ接続されている。管理サーバ106は、1台のコンピュータを含む構成でもよいし、複数のコンピュータを含む構成でもよい。さらには、管理サーバ106として、クラウドコンピューティング技術を用いたコンピュータを使用してもよい。なお、
図1に示したように、管理サーバ106は、WAN105及びLAN103を介して、デバイス102に直接接続されていてもよい。
【0016】
更新サーバ107は、監視装置101が自身をアップデートするために必要なデータ(更新設定ファイルや更新データなど)を、一元的に管理する。更新サーバ107は、LAN103、ファイアウォール104及びWAN105を介して、監視装置101に接続されている。
【0017】
本実施形態の監視装置101と管理サーバ106または更新サーバ107を接続するネットワークとしてLAN103およびWAN105を利用する例について説明したが、ネットワークはデータの送受信が可能に構成されていればよく、通信方式は問わない。例えば、LAN103もしくはWAN105の一方のみを介して接続してもよい。また、例えば、LAN、WANなどの通信ネットワークの他、LTEや5Gなどのセルラネットワーク、無線ネットワーク、電話回線、専用デジタル回線等のいずれか、またはこれらの組み合わせで構成されてもよい。
【0018】
図2は、デバイス102のハードウェア構成の一例を示す図である。デバイス102は、CPU201、ROM202、RAM203、HDC204、HDD205、リーダI/F207、プリンタI/F208、操作部I/F209、スイッチI/F210、NWI/F216を備える。CPU201、ROM202、RAM203、HDC204、リーダI/F207、プリンタI/F208、操作部I/F209、スイッチI/F210、NWI/F216は、システムバス206を介して接続される。
【0019】
CPU(Central Processing Unit)201は、デバイス102全体を統括的に制御する。CPU201は、ROM202もしくはHDD205に記憶されたデバイス102の制御を行うソフトウェアを実行することで、システムバス206に接続する各デバイスを統括的に制御する。ROM(Read Only Memory)202は、データ読出専用のメモリであり、例えばデバイス102の基本制御プログラム等を記憶する。RAM(Random Access Memory)203は、データの読出/書込が可能なメモリである。RAM203は、例えば、CPU201のワークエリア等として機能する。
【0020】
HDC(Hard disk controller)204は、HDD205を制御する。HDD205(Hard Disk Drive)は、記憶装置の一例であり、各種プログラム、データ等を格納する。なお、本実施形態ではデバイス102が記憶装置としてHDD205を備える例について説明するが、これに限られるものではなく、例えばSSD、外部メディアを装填するDiskDriveなど他の記憶装置を用いてもよい。
【0021】
リーダI/F207は、リーダ部212とシステムバス206とを接続するインタフェースであり、リーダ部212を制御する。リーダ部212は、原稿を画像として読み取り、画像データを生成する。生成された画像データは、ユーザからの指示に応じて、プリンタ部213に出力する、HDD205に保存する、ネットワークI/F216を介してネットワーク217に接続されたホストコンピュータに画像データを送信するなどの各種処理に用いられる。
【0022】
プリンタI/F208は、プリンタ部213とシステムバス206とを接続するインタフェースであり、プリンタ部213を制御する。プリンタ部213は、リーダ部212により読み取られた原稿や、HDD205に格納された画像データを記録媒体上(例えば、用紙上)に印刷する。また、プリンタ部213は、ネットワーク217に接続されたホストコンピュータからの印刷ジョブを、ネットワークI/F部216を介して受信し、印刷ジョブに基づいて画像データを印刷する。
【0023】
操作部I/F209は、操作部214とシステムバス206とを接続するインタフェースであり、操作部214を制御する。操作部I/F209は、操作部214への表示や、操作部214からのユーザ入力を制御する。操作部214は、ユーザに対する表示と、ユーザからの操作の受け付けを行う。操作部214は、例えばディスプレイと操作のためのボタンにより構成されていてもよいし、タッチパネルで構成されていてもよい。タッチパネルにおける入力座標と表示座標を対応付けることで、あたかもユーザがタッチパネルに表示された画面を直接的に操作可能であるかのようなGUIを構成することができる。
【0024】
スイッチI/F210は、スイッチ部215とシステムバス206とを接続するインタフェースであり、スイッチ部215を制御する。スイッチ部215は、デバイス102の電源ON/OFF状態を操作のためのスイッチ等を有する。NW(Network)I/F216は、デバイス102とLAN103を接続する通信のインタフェースである。CPU201は、NWI/F216およびネットワークを介してネットワーク上の他の情報機器と通信する。
【0025】
図3は、監視装置101、管理サーバ106および更新サーバ107のハードウェア構成の一例を示す図である。監視装置101、管理サーバ106および更新サーバ107は、例えば、一般的な情報処理装置と同様のハードウェア構成であり、CPU303、メモリ304、記憶装置302、操作I/F305、通信I/F301を備える。
【0026】
監視装置101のCPU303は監視装置101を制御し、管理サーバ106のCPU303は管理サーバ106を制御し、更新サーバ107のCPU303は更新サーバ107を制御する。CPU303は、記憶装置302からプログラムをメモリ304にロードし、実行することで各種制御を実現する。記憶装置302は、OS(Operating System)やプログラム、管理データ、外部システムや装置等から収集したデータ等を格納する。メモリ304は、CPU303のワークエリア等として機能する。操作I/F305は、接続されたディスプレイなどの表示装置に各種データやプログラムなどの実行結果を出力したり、接続された入力装置からの入力を受け付けたりする。通信I/F301は、外部のシステムや装置と通信を行うためのネットワークインターフェースである。監視装置101の通信I/F301は、LAN103と接続される。管理サーバ106の通信I/F301および更新サーバ107の通信I/F301は、WAN105と接続される。また、監視装置101は不図示の表示装置も備え、表示装置には操作I/F305からの出力に応じた表示が行われる。
【0027】
図4は、監視装置101のソフトウェア構成(機能構成)を示す図である。監視装置101は、取得部401、送信部402、データ管理部403、プロキシサーバ404、画面制御部405、デバイス管理部406、更新部407を有する。取得部401は、ネットワークを介して外部装置から各種データを取得する。例えば、取得部401は、デバイス102から稼働情報等のデータを取得し、更新サーバ107から更新設定ファイルや更新データを取得する。送信部402は、ネットワークを介して外部装置に各種データや指示を送信する。例えば、送信部402は、デバイス102から取得した稼働情報等を管理サーバ106へ送る。また、送信部402は、非自己監視デバイスに対して、ポーリングを行う。
【0028】
データ管理部403は、各種データを管理する。例えば、データ管理部403は、デバイス102から取得した稼働情報等のデータを保存する処理や、管理対象となるデバイス102のデバイス情報を管理する。また、データ管理部403は、更新サーバ107から取得した更新設定ファイルや更新データを管理する。また、データ管理部403は、ユーザの同意を得た利用形態ごとのエンドユーザ使用許諾契約(EULA(End User License Agreement))のバージョンの情報を管理する。
【0029】
プロキシサーバ404は、デバイス102と管理サーバ106との間のデータ通信を中継する。具体的には、プロキシサーバ404は、自己監視機能を有したデバイス102からの通信を集約して、デバイス102とデバイス管理サービスとの通信を中継する。なお、本実施形態ではプロキシサーバ404を監視装置101に内蔵する例について説明するが、プロキシサーバ404を監視装置101の外部に設けてもよい。また、プロキシサーバ404に加えて他のプロキシサーバを、デバイス102と管理サーバ106との通信経路に設けて多段プロキシとしてもよい。
【0030】
画面制御部405は、データ管理部403が管理する情報に基づいて画面を生成し、操作I/F305を経由して出力装置に表示する。また、画面制御部405は、操作I/F305を経由して入力装置からの入力情報を受け付け、データ管理部403に保存する。デバイス管理部406は、自己監視機能を有したデバイス102に対して、自身が保持するプロキシサーバ情報の設定や、登録指示等を行う。また、デバイス管理部406は、デバイス102に自己監視機能を提供するアプリケーションのインストール指示・開始・停止指示等を行う。また、デバイス管理部406は、自己監視機能を有さないデバイス102に対する定期的なポーリングを管理する。
【0031】
更新部407は、データ管理部403で管理する更新データを用いて監視装置101のアップデートに係る処理を行う。更新部407はアップデートに係る処理の一部として、監視装置101の現在の利用形態に係るEULAバージョンが更新されユーザの同意が必要な状態であるか否かを、EULAバージョンを比較することで判定する比較手段としても機能する。利用形態設定部408は、監視装置101の利用形態の変更処理も行う。監視装置101の利用形態には、監視装置101をプロキシサーバとして利用させる第1の利用形態(“proxy”)と、ポーリング等により取得部401による取得処理でデバイス102を監視している第2の利用形態(“polling”)がある。監視装置101で実行されるソフトウェアは、利用形態に応じて異なる動作モードで動作する。監視装置101の利用形態は、ユーザまたは管理サーバ106からの指示に基づいて設定、変更される。
【0032】
図5は、デバイス102のソフトウェア構成(機能構成)の一例を示す図である。デバイス102は、受信部501、送信部502、設定部503、アプリケーション制御部504を有する。受信部501は、ネットワークを介して外部装置からのリクエストを受信する。リクエストとしては、例えば、デバイス102に稼働情報等のデータを収集して送信させる旨のリクエストがある。送信部502は、ネットワークを介して外部装置へ稼働情報等のデータを送信する。送信部502は、例えば、受信部501が受信したリクエストに対する応答送信する。設定部503は、プロキシの設定等、監視装置101等から指定された情報に基づく各種設定を行う。
【0033】
アプリケーション制御部504は、管理サーバ106との通信を制御し、アプリケーションのインストールや更新を実行する。ダウンロードは、監視装置101のプロキシサーバ404を介して行ってもよいし、プロキシサーバ404を介さずに行ってもよい。また、アプリケーション制御部504は、管理サーバ106に対して、インストール済みのアプリケーションの情報(例えば、IDやバージョン情報)を、送信部502を介して通知する。
【0034】
具体的には、アプリケーション制御部504は、受信部501が受けたリクエスト(インストール指示)に基づいて、管理サーバ106から自己監視アプリケーションのインストールファイル等をダウンロードする。また、アプリケーション制御部504は、ダウンロードした自己監視アプリケーションのインストールファイルを用いて、自己監視アプリケーションのインストールを実行する。インストールされた自己監視アプリケーションは、アプリケーション制御部504の制御に従って、デバイス102内の状態を監視する。そして、自己監視アプリケーションは、予め定めたスケジュールに従って、デバイス102内の指定されたデータを収集し、監視装置101に収集したデータを送信する。また、自己監視アプリケーションは、監視の結果、デバイス102内に所定の変化(例えば、エラーの発生)が検出された場合にも、監視装置101へ通知する。
【0035】
監視装置101のソフトウェアのアップデートについて説明する。ソフトウェアのアップデートは、自動でアップデート処理が可能な場合と、手動でのアップデート処理が必要な場合とがある。一般的には、エンドユーザ使用許諾契約(EULA)の内容が変更になった場合はEULAの変更についてユーザの同意が必要であり、自動アップデートを行うことができず、手動でのアップデート処理が必要となる。しかし、ユーザによる手動アップデートが完了するまで監視装置101の機能が制限されると、常時監視が必要なシステムにおいて監視が継続しないケースが出てきてしまう恐れがある。そこで本実施形態では、可能な限り監視を継続するために、EULAの内容の変更が監視装置101の利用形態に影響がない場合には、EULAの変更についてユーザの同意なしにソフトウェアのアップデートを自動で行うことを可能とする。
【0036】
図6は、監視装置101の自動アップデート処理を示すフローチャートである。自動アップデート処理では、監視装置101が定期的に更新サーバ107から更新設定ファイルの取得を行い、監視装置101のバージョンが更新され、且つユーザの利用形態に紐づく使用許諾契約の変更がないと判断した場合にアップデートを行う。
図6のフローチャートに示す各処理は、監視装置101のCPU303が、記憶装置302に格納されている制御プログラムをメモリ304に読み出して実行することにより実現される。
【0037】
ステップS601で、監視装置101の取得部401は、更新サーバ107から更新設定ファイルを取得する。そして、取得した更新設定ファイルはデータ管理部403に保存される。ここで、更新設定ファイルについて説明する。更新設定ファイルは、更新に係るソフトウェアのバージョンおよび利用形態ごとの該ソフトウェアの使用許諾契約のバージョンを含む更新の設定を示すファイルである。
図7は、更新設定ファイルの一例を示す図である。なお、本実施形態では、更新設定ファイルはJavaScript Object Notation(JSON)形式で管理しているが、Extensible Markup Language(XML)形式など、その他のデータ形式で管理してもよい。
【0038】
図7において、“region”は、監視装置101が販売および利用される地域(リージョン)の情報を示す情報である。“appVersion”は、更新サーバ107で管理する監視装置のソフトウェアの最新バージョンを示す情報である。“type”は、監視装置101の利用形態を示す情報である。“type”が“proxy”である場合は、監視装置101がデバイス102に監視装置101のプロキシ機能を利用させる利用形態であることを示している。“type”が“polling”である場合は、監視装置101がデバイス102にポーリングを行い、監視装置101がデバイス102から情報を取得して管理サーバに送信する利用形態であることを示している。なお、“proxy”および“polling”に対応する利用形態以外の監視装置101の利用形態があってもよく、他の利用形態がある場合には“type”に該利用形態に応じた設定値が記載される。
【0039】
“eulaVersion”は、更新サーバ107で管理する監視装置の最新のEULAバージョンを示す情報である。“eulaVersion”は、監視装置の利用形態に紐づいており、“type”が“proxy”である場合の“eulaVersion”と、“type”が“polling”である場合の“eulaVersion”とがそれぞれ記載されている。なお、
図7に示した各情報とは異なる種類の情報を用いて更新情報を管理してもよい。監視装置101のデータ管理部403においても、更新設定ファイルに記載される情報に対応する情報が保持される。すなわち、監視装置101のデータ管理部403は、監視装置101のリージョン、バージョン、利用形態(“proxy”と“polling”のいずれか)、EULAバージョンを示す情報を保持する。
【0040】
ステップS602で、更新部407は、監視装置101をアップデートする必要があるか否か判定する。すなわち、更新部407は、ステップS601で取得した更新設定ファイルに記載の監視装置のソフトウェアのバージョンが、現在の監視装置101のソフトウェアのバージョンより新しいバージョンであるか判定する。具体的には、更新部407は、データ管理部403で管理する監視装置101の現在のバージョンと、取得した更新設定ファイルに記載されている監視装置の最新バージョン(
図8の“appVersion”)を比較する。バージョンが同一である場合は、監視装置101をアップデートする必要がないため本処理を終了する。一方、更新設定ファイルの監視装置の最新バージョンが現在の監視装置101のバージョンより新しい場合は、監視装置101をアップデートする処理を進めるため、ステップS603の処理を行う。
【0041】
ステップS603で、更新部407は、自動アップデートが可能であるか否か判定する。自動アップデートが行えず手動アップデートが必要となる場合とは、ユーザによるEULAの同意が必要な場合であり、監視装置101の利用形態におけるEULAバージョンが新しくなっている場合である。一方、ユーザによるEULAの同意が必要ない場合、すなわち、監視装置101の利用形態におけるEULAバージョンに変更がない場合は、自動アップデートが可能である。したがって、監視装置101の利用形態とは異なる利用形態におけるEULAバージョンのみが新しくなっている場合にも、自動アップデートが可能である。
【0042】
更新部407は、データ管理部403で管理する監視装置101の現在の利用形態およびEULAバージョンと、更新設定ファイルに記載されている監視装置101の利用形態に紐づくEULAバージョンを比較する。例えば、監視装置101のプロキシ機能を利用してデバイスを管理している場合(監視装置101の利用形態が“polling”の場合)、更新設定ファイルに記載されている“polling”の“eulaVersion”が新しくなっているか判定する。更新設定ファイルに記載されている監視装置101の利用形態に紐づくEULAバージョンが新しい場合は、ユーザの同意が必要となるため、ステップS604の処理を行う。一方、更新設定ファイルに記載されている監視装置101の利用形態に紐づくEULAバージョンが同一である場合、自動アップデートが可能であり、ステップS605の処理を行う。
【0043】
ステップS604で、更新部407は、監視装置101の更新処理を行わず、ユーザに前記更新に係る使用許諾契約の同意を求めるための処理を実行する。具体的には、更新部407は、更新にはEULAへのユーザの同意操作が必要になることをUIに表示させるフラグをデータ管理部403へ保存し処理を終了する。このフラグは、次回ユーザが監視装置101の使用を始めた際、画面制御部405が画面に、監視装置101の更新にはEULAへのユーザの同意操作が必要である旨を表示するためのフラグである。なお、ステップS604では、フラグの保存に替えて、メールなどの手段を用いて、更新にはEULAへの同意操作が必要になることをユーザに通知してもよい。更新部407は、使用許諾契約に対する同意をユーザから受け付けると、更新サーバ107から更新データを取得し、更新データに基づいてソフトウェアに関するアップデートを実行する。
【0044】
ステップS605で、監視装置101は自動でアップデート処理を行う。まず、取得部401が、更新サーバ107から更新データを取得し、データ管理部403へ保存する。そして更新部407が、更新データを用いて監視装置のアップデートを行い、処理を終了する。
【0045】
以上の処理により“proxy”の機能を利用するユーザは“polling”の“eulaVersion”が更新されていてもEULAに同意する必要はなく、監視装置101はユーザの同意なしに自動更新してプロキシ機能の提供を続けることができる。監視装置101がプロキシサーバ404を介してデバイス102と管理サーバ106との通信を中継させることでデバイス102を監視している場合には、取得部401の取得時の通信方式や、送信部402の送信時の通信方式が自動でアップデートされる。一方、“polling”の機能を利用するユーザは“proxy”の“eulaVersion”が更新されていてもEULAに同意する必要はなく、監視装置101はユーザの同意なしに自動更新してポーリングを続けることができる。そのため、監視装置101が、取得部401による取得処理でネットワーク上のデバイス102を監視している場合には、例えば、プロキシ動作に係るセキュリティ対策機能や、プロキシが中継可能な通信機能が自動でアップデートされることになる。
【0046】
以上説明したように、本処理によると、監視装置のユーザの利用形態に紐づく使用許諾契約の変更がないと判断した場合に自動的にアップデートを行うことができる。このように利用形態に応じてソフトウェアのアップデートを実行することで、ユーザは自分の利用していない利用形態の機能に関するEULAの変更があっても、UIから指示する手間なく、自動的に監視装置をアップデートすることが可能になる。また、自動で監視装置をアップデートすることで、デバイスの監視を継続することが可能となる。
【0047】
図8は、監視装置101の手動アップデート処理を示すフローチャートである。手動アップデート処理では、監視装置101のユーザのUI操作による更新指示を受け、更新サーバ107から更新設定ファイルの取得を行う。そして、監視装置101のユーザの利用形態に紐づく使用許諾契約の変更があると判断した場合にはEULAの表示を行い、ユーザの同意を得てからアップデートを行う。
図8のフローチャートに示す各処理は、監視装置101のCPU303が、記憶装置302に格納されている制御プログラムをメモリ304に読み出して実行することにより実現される。
【0048】
ステップS801~ステップS803は、ステップS601~ステップS603と同様の処理である。まず、ステップS801で、監視装置101の取得部401が、更新サーバ107から更新設定ファイルを取得する。そして、取得した更新設定ファイルをデータ管理部403へ保存する。
【0049】
ステップS802で、更新部407は、データ管理部403で管理する監視装置101の現在のバージョンと、更新設定ファイルに記載されている監視装置の最新バージョンを比較する。バージョンが同一である場合、ステップS811の処理を行う。ステップS811では、画面制御部405は、監視装置101の現在のバージョンが最新バージョンであることを不図示の表示部に表示する。一方、更新設定ファイルに示される監視装置のバージョンが監視装置101の現在のバージョンよりも新しい場合、ステップS803の処理を行う。
【0050】
ステップS803で、更新部407は、データ管理部403で管理する監視装置101の現在の利用形態に紐づく監視装置101の現在のEULAバージョンと、更新設定ファイルに記載されている監視装置の利用形態に紐づくEULAバージョンを比較する。更新設定ファイルに記載されている監視装置の利用形態に紐づくEULAバージョンが新しい場合は、ステップS804の処理を行う。EULAバージョンが同一である場合は、ステップS808の処理を行う。
【0051】
ステップS804で、取得部401は、更新サーバ107から更新データを取得し、データ管理部403へ保存する。次に、ステップS805で、更新部407は、ユーザに前記更新に係る使用許諾契約の同意を求めるための処理を実行する。具体的には、更新部407が画面制御部405に指示してデータ管理部403に保持する更新データに含まれるEULAを画面に表示させる。EULAが表示される画面には、「新たなEULAに同意する」旨のボタンと「新たなEULAに同意しない」旨のボタンも併せて表示され、ユーザはいずれかのボタンを選択する操作を行う。ステップS806で、更新部407は、画面制御部405を介して、ユーザが「新たなEULAに同意する」旨のボタンを押下したかを判断する。「新たなEULAに同意する」旨のボタンを押下したことが検知できた場合、ステップS807の処理を行う。一方、「新たなEULAへ同意する」旨のボタンを押下したことが検知できない場合、本処理を終了する。ステップS807で、更新部407は、データ管理部403で保持する更新データを用いて監視装置101のアップデートを行い、本処理を終了する。
【0052】
ステップS808において、更新部407は、画面制御部405に指示してアップデートの実行を確認する画面を表示させる。アップデートの実行を確認する画面には、「アップデートの実行に同意する」旨のボタンと「アップデートの実行に同意しない」旨のボタンも併せて表示され、ユーザはいずれかのボタンを選択する操作を行う。なお、ステップS808では、監視装置101の利用形態に紐づかないEULAバージョンが更新されている場合でも、該EULAを画面に表示せず、ユーザによるEULAの内容の変更の同意を不要とする。
【0053】
ステップS809で、画面制御部405は、ユーザが「アップデートの実行に同意する」旨のボタンを押下したかを判断する。「アップデートの実行に同意する」ボタンを押下したことが検知できた場合、ステップS810の処理を行う。一方、「アップデートの実行に同意する」ボタンを押下したことが検知できない場合、本処理を終了する。ステップS810で、取得部401は、更新サーバ107から更新データを取得し、データ管理部403へ保存する。そして更新部407は、更新データを用いて監視装置101のアップデートを行い、本処理を終了する。
【0054】
本実施形態ではEULAデータが更新データに含まれる例を説明したため、ステップS805でEULAを表示する前に更新サーバ107から更新データを取得したが、これに限られるものではない。例えば、更新データ、更新設定ファイルとは別にEULAデータを管理し、ステップS805でEULAを表示する前に更新サーバ107からEULAデータを取得し、ユーザがEULAに同意した場合にのみ更新データを取得するようにしてもよい。また、EULAデータを更新設定ファイルに含んでもよいし、更新データおよびEULAデータを更新設定ファイルに含んでもよい。
【0055】
以上説明したように、本実施形態では、監視装置101の利用形態に応じてソフトウェアのアップデートを制御する。そして、EULAの内容の変更が監視装置101の利用形態に影響がない場合には、EULAの変更についてユーザの同意なしにソフトウェアのアップデートを行うことが可能となる。
【0056】
(第2実施形態)
第1実施形態では、現在の監視装置101の利用形態におけるEULAへの同意が不要であると判断した場合には、現在の利用形態でないEULAが更新されていても該EULAへの同意を得ずにアップデートを行った。そのため、現在の利用形態でないEULAについてユーザの同意が得られていない場合があり、監視装置101のソフトウェアのアップデート後に監視装置101の利用形態が変更される場合には、改めてEULAへの同意操作が必要となる。そこで、本実施形態では、EULAへの同意を得ずにアップデートを行った後にユーザの利用形態が変更される場合、EULAを表示してユーザの同意を得た場合のみ利用形態を変更できるよう制御する。本実施形態に係るデバイス監視システムの構成は、第1実施形態と同様である。以下では、第1実施形態との差異についてのみ説明し、第1実施形態と同様の処理については同じ符号を付すことでその説明を省略する。
【0057】
監視装置101の利用形態が変更される場合の監視装置101の処理について説明する。
図9は、第2実施形態に係る監視装置101の利用形態変更処理を示すフローチャートである。
図9に示される処理は、監視装置101が、ユーザから利用形態の変更指示を受け付けることで開始される。
図9のフローチャートに示す各処理は、監視装置101のCPU303が、記憶装置302に格納されている制御プログラムをメモリ304に読み出して実行することにより実現される。
【0058】
利用形態の変更指示を受け付けた際、監視装置101は、EULAへの同意の必要があるかの判断を行う。まず、ステップS901において、利用形態設定部408は、変更後の利用形態のEULAバージョンが、ユーザが現在の利用形態において同意したEULAバージョンより新しいか判定する。具体的には、利用形態設定部408は、データ管理部403に保持するユーザの同意を得た利用形態ごとのEULAバージョンを参照し、該EULAバージョンより変更後の利用形態のEULAバージョンの方が新しいか判定する。変更後の利用形態のEULAバージョンの方が新しいと判断した場合、ステップS805の処理を行う。一方、変更後の利用形態のEULAバージョンがユーザの同意を得たEULAバージョンと同一、あるいはより古いと判断した場合、ステップ902に進む。なお、変更後の利用形態のEULAバージョンが古いと判断した場合は、EULAの変更がある判断したものとして、ステップS805の処理を実行してもよい。
【0059】
ステップS805で、画面制御部405は、データ管理部403に保持する更新データに含むEULAを画面に表示する。ステップS806で、画面制御部405は、ユーザが「EULAに同意する」旨のボタンを押下したかを判断する。「EULAに同意する」旨のボタンの押下を検知した場合、ステップS902の処理を行う。一方、「EULAに同意する」旨のボタンの押下を検知できなかった場合、利用形態を変更せず、本処理を終了する。ステップS902で、利用形態設定部408は、監視装置101の利用形態を更新する。具体的には、利用形態設定部408は、データ管理部403に利用形態情報を上書きし、変更後の利用形態の情報を保存する。
【0060】
以上説明したように、本実施形態によれば、第1実施形態における自動更新が行われた後にユーザが利用形態を変更する場合、EULAへの同意が必要であれば改めて変更後の利用形態のEULAを表示し、ユーザのEULAへの同意を得ることが可能である。
【0061】
(第3実施形態)
第1実施形態では、利用形態に紐付くEULAに変更があるかを確認し、自身の利用形態のEULAに変更があると判断した場合には自動アップデートを制限していた。しかし、EULAに変更があったとしても、監視装置101が利用するライブラリの中には、最新バージョンのEULAの変更内容に関わらず、現在ユーザが同意しているEULAの内容で、最新バージョンのライブラリへ更新できるものが存在する。ここで、ライブラリは、監視装置101のプログラムの一部を構成する、Dynamic Link Libraryファイルである。そこで、本実施形態では、監視装置101の利用形態に紐づくEULAに変更があると判断した場合であっても、EULAの更新に関わらないライブラリのみ、ユーザのEULAへの同意を待たずに先に自動で更新する。本実施形態に係るデバイス監視システムの構成は、第1実施形態と同様である。以下では、第1実施形態との差異についてのみ説明し、第1実施形態と同様の処理については同じ符号を付すことでその説明を省略する。
【0062】
図10は、第3実施形態に係る監視装置101の自動更新処理を示すフローチャートである。
図10のフローチャートに示す各処理は、監視装置101のCPU303が、記憶装置302に格納されている制御プログラムをメモリ304に読み出して実行することにより実現される。
【0063】
まず、第1実施形態と同様に、ステップS601で、取得部401が、更新サーバ107から更新設定ファイルを取得する。そして、取得した更新設定ファイル(後述の
図11参照)をデータ管理部403へ保存する。ここで取得する更新設定ファイルには、第1実施形態(
図7)で説明した情報に加えて、更新可能なライブラリの一覧が記載される。
図11は、第3実施形態における更新設定ファイルの一例を示す図である。“updatableLibrary”は、更新可能なライブラリの一覧を示している。
【0064】
ステップS602で、更新部407は、データ管理部403で管理する監視装置の現在のバージョンと、更新設定ファイルに記載されている監視装置の最新バージョンを比較する。バージョンが同一である場合、本処理を終了する。一方、更新設定ファイルに記載された監視装置のバージョンの方が新しい場合、ステップS603の処理を行う。
【0065】
ステップS603で、更新部407は、自動アップデートが可能であるか否か判定する。更新部407は、データ管理部403で管理する監視装置101の現在の利用形態における監視装置101の現在のEULAバージョンと、更新設定ファイルに記載されている監視装置101の利用形態に紐づくEULAバージョンを比較する。更新設定ファイルに記載されている監視装置101の利用形態に紐づくEULAバージョンが新しい場合、ステップS1001の処理を行う。一方、EULAバージョンが同一である場合、ステップS605の処理を行う。ステップS605で、取得部401は、更新サーバ107から更新データを取得し、データ管理部403へ保存する。更新部407は、更新データを用いて監視装置のアップデートを行い、本処理を終了する。
【0066】
ステップS1001で、更新部407は、更新可能なライブラリがあるか否か判定する。更新部407は、更新設定ファイルに記載されている更新可能なライブラリ情報(“updatableLibrary”)を参照して、更新可能なライブラリ情報があるか否か判定する。更新可能なライブラリが存在する場合、ステップS1002の処理を行う。一方、存在しない場合、ステップS604の処理を行う。ステップS604で、更新部407は、監視装置101の更新処理を行わず、更新にはEULAへの同意操作が必要になることをUIに表示するフラグをデータ管理部403へ保存し、本処理を終了する。このフラグは、次回ユーザが監視装置の使用を始めた際、画面制御部405が画面にその旨を表示するために用いられる。
【0067】
ステップS1002で、取得部401は、更新サーバ107から更新データを取得する。さらに、更新部407は、更新可能なライブラリ情報に基づいて更新データの中から該当のライブラリを抽出し、監視装置101の現在のライブラリに上書きして更新する。さらに、更新部407は、更新したライブラリ以外のユーザのEULAへの同意操作がアップデートについて、更新にはEULAへの同意操作が必要になることをUIに表示するフラグをデータ管理部403へ保存し、本処理を終了する。
【0068】
以上説明したように、本実施形態によれば、監視装置101は、現在の利用形態のEULAに変更があると判断した場合にも、EULAの更新に関わらないライブラリのみユーザのEULAへの同意を待たずに先に更新することが可能である。これにより、バグの対応などすぐに反映させたいライブラリの更新を速やかに実行することができ、監視装置のセキュリティを向上させることができる。
【0069】
(その他の実施形態)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
【0070】
以上、本発明の好ましい実施形態について説明したが、本発明は、これらの実施形態に限定されず、その要旨の範囲内で種々の変形および変更が可能である。