JP2013230558A - 画像形成装置、システム、画像形成装置の制御方法、及びプログラム - Google Patents

画像形成装置、システム、画像形成装置の制御方法、及びプログラム Download PDF

Info

Publication number
JP2013230558A
JP2013230558A JP2012102173A JP2012102173A JP2013230558A JP 2013230558 A JP2013230558 A JP 2013230558A JP 2012102173 A JP2012102173 A JP 2012102173A JP 2012102173 A JP2012102173 A JP 2012102173A JP 2013230558 A JP2013230558 A JP 2013230558A
Authority
JP
Japan
Prior art keywords
installer
error
information
management module
file
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.)
Pending
Application number
JP2012102173A
Other languages
English (en)
Inventor
Gakukai Hatano
学海 畑農
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2012102173A priority Critical patent/JP2013230558A/ja
Publication of JP2013230558A publication Critical patent/JP2013230558A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Accessory Devices And Overall Control Thereof (AREA)
  • Stored Programmes (AREA)
  • Facsimiles In General (AREA)

Abstract

【課題】デバイスから配信したインストーラによりクライアント装置でエラーが発生したことをデバイス側で把握し、同一のインストーラを配信した他のクライアント装置で同じエラーが発生することを抑え、管理者の負荷を軽減すること。
【解決手段】識別情報が埋め込まれたデバイスドライバのインストーラを保持するデバイス102の管理エージェント5001が、クライアント装置104からの要求に応じて、前記インストーラをクライアント装置104に配信する。また、管理エージェント5001は、前記クライアント装置104から、前記識別情報を含む、前記インストーラの実行でエラーが発生したことを示すエラー情報を受信する。そして、管理エージェント5001は、受信したエラー情報に含まれる識別情報に対応するインストーラと同一のインストーラを配信したユーザの宛先に、同一のインストーラの実行でエラーが発生したことを示す警告を送信する。
【選択図】図3

Description

本発明は、画像形成装置、システム、画像形成装置の制御方法、及びプログラムに関する。
従来、管理装置と、1又は複数のデバイスと、それらデバイス内で動作しているエージェントと、1又は複数のクライアント装置と、それらを繋ぐネットワークからなるネットワークデバイス管理システムが存在している。そのようなシステムのなかには、管理装置からデバイス内に置かれたエージェントに対してデバイスドライバをインストールするインストーラソフトウェアの実行ファイルを送信し、当該デバイスに格納する機能を備えたものが存在する。
さらに、そのようなシステムにおいて、デバイス内のエージェントが、デバイス内に格納された実行ファイルの予め定められたデータ領域に対してそのデバイスの属性値を上書き保存する機能を備えるようなものが存在する。さらに、そのようなシステムにおいて、デバイス内のエージェントは、ユーザの使用するクライアント装置からの指示により、その実行ファイルをエージェントからそのクライアント装置へダウンロードする機能を備えている。
その実行ファイルは、ユーザがクライアント装置にダウンロードされ、実行が指示された場合に、デバイスドライバのインストーラを起動する。そのインストーラは、実行ファイルのデータ領域に上書き保存されたデバイスの属性値を参照する機能を備えている。実行中、そのインストーラは、その参照した属性値を使用してデバイスドライバのインストール処理を行う。すなわち、そのインストーラは、デバイスの属性値を、ユーザの手動による入力を経ずして認識する機能を備えている。その機能により、そのインストーラが、ドライバのインストールを、ユーザの手動入力を求めることなく実行完了することが可能となるような管理システムが存在する。このようなシステムにより、ユーザは、そのクライアント装置に対して、そのデバイスを使用可能な状態とするドライバのインストールを容易に実行することができる。
また、従来のネットワーク管理システムの中には、そのようなエージェントが実行ファイルのデータ領域に属性値を保存せず、クライアント装置へダウンロードする際のファイル名にデバイスの属性値および管理者のメールアドレスを付加するものが存在する。
そして、そのようなシステムの中には、そのような実行ファイルの実行時に、特定のエラーが発生した場合には、その付加された管理者のメールアドレスに対して、エラー通知を実行する機能を備えたものが存在する(特許文献1参照)。このシステムにより、クライアント装置が実行ファイルからソフトウェアを実行して特定のエラーになった場合には、管理者が通知メールを受け取り、問題が発生したことを知ることができるようになる。
特開2010−250704号公報
上記特許文献1の管理システムでは、そのインストーラによるインストールの実行時に発生したエラーを、管理者へメールにより伝達することができる。そして、管理者は、このようなメールによる通知を受け取ったあと、エラーの発生状況をあらためて調査し、原因を突き止めていた。また、原因がインストーラ自身にあることが判明した場合、管理者が手動で、そのインストーラのダウンロードを停止していた。
なお、このような管理方法では、管理者に相応の管理負荷が発生するとともに、管理者が長期不在等の場合には、迅速に対応することができず、エラー発生したインストーラと同じインストーラが他のユーザのクライアント装置にダウンロードされて再びエラーを発生してしまう可能性があった。
本発明は、上記の問題点を解決するためになされたものである。本発明の目的は、画像形成装置から配信したインストーラの実行により情報処理装置でエラーが発生したことを画像形成装置側で把握可能となり、同一のインストーラを配信した他の情報処理装置で同じエラーが発生することを抑え、管理者の管理にかかる手間を大幅に軽減することができる仕組みを提供することである。
本発明は、画像形成装置であって、識別情報が埋め込まれたデバイスドライバのインストーラを保持する保持手段と、情報処理装置からの要求に応じて、前記保持手段に保持しているインストーラを、前記情報処理装置に配信する配信手段と、前記配信手段で前記インストーラを配信した前記情報処理装置から、前記インストーラに埋め込まれた識別情報を含む、前記インストーラの実行でエラーが発生したことを示すエラー情報を、受信する受信手段と、を有することを特徴とする。
本発明によれば、画像形成装置から配信したインストーラの実行により情報処理装置でエラーが発生したことを画像形成装置側で把握可能となり、同一のインストーラを配信した他の情報処理装置で同じエラーが発生することを抑えることができ、管理者の管理にかかる手間を大幅に軽減することができる。
本発明の実施例1の画像形成システムの一例を示すシステム構成図である。 デバイス及び情報処理装置のハードウェア構成の一部を模式化したブロック図である。 デバイス管理ソフトウェア4001及び管理エージェント5001の内部構成の一例を示すブロック図である。 実施例1におけるインストーラ6000の処理の一例を示すフローチャートである。 実施例1における管理エージェント5001のエラー管理モジュール5102により実行される処理の一例を示すフローチャートである。 実施例1においてファイル管理モジュール4101が生成するインストーラファイルの構成の一例を示す図である。 本発明のエラー通知データの構成の一例を示す図である。 本発明の管理装置103で動作しているデバイス管理ソフトウェア4001のエラー管理モジュール4102の動作の一例を示すフローチャートである。 図8のS10201で生成される実施例1のエラー通知メールの一例を示す図である。 実施例1の全体の処理の流れを模式的に示す図である。 実施例2における管理エージェント5001のエラー管理モジュール5102の内部処理の一例を示すフローチャートである。 実施例3のデバイス管理ソフトウェア4001の条件管理モジュール4103のユーザインタフェースとしての追加判定条件設定画面の一例を示す図である。 実施例3における管理エージェント5001のエラー管理モジュール5102の内部処理の一例を示すフローチャートである。 実施例4のファイル管理モジュール5101の処理の一例を示すフローチャートである。 実施例4のクライアント装置104のOS上で実行されるインストーラ6000の処理の一例を示すフローチャートである。 図8のS10201で生成される実施例4のエラー通知メールの一例を示す図である。 実施例4の全体の処理の流れを模式的に示す図である。 実施例5のファイル管理モジュール5101がデバイス102の操作パネル204に表示するメールアドレス入力画面の一例を示す図である。 ファイルをダウンロードするための手段を通知する電子メールの一例を示す図である。 実施例5のファイル管理モジュール5101の処理の一例を示すフローチャートである。 実施例5における管理エージェント5001のエラー管理モジュール5102により実行される処理の一例を示すフローチャートである。 図21のS28302で生成される電子メールの一例を示す図である。 実施例5の全体の処理の流れを模式的に示す図である。 実施例6における管理エージェント5001のエラー管理モジュール5102により実行される処理の一例を示すフローチャートである。 図24のS31404で生成される通知メールの一例を示す図である。 実施例6の全体の処理の流れを模式的に示す図である。 実施例7におけるデバイス管理ソフトウェア4001のファイル管理モジュール4101により実行される処理の一例を示すフローチャートである。 実施例7においてファイル管理モジュール4101が生成するインストーラファイルの構成の一例を示す図である。 実施例7におけるインストーラ6000の処理の一例を示すフローチャートである。 実施例7のファイル管理モジュール5101の処理の一例を示すフローチャートである。 実施例7における管理エージェント5001のエラー管理モジュール5102により実行される処理の一例を示すフローチャートである。 実施例7の全体の処理の流れを模式的に示す図である。
以下、本発明を実施するための形態について図面を用いて説明する。
図1は、本発明の実施例1の画像形成システムの一例を示すシステム構成図である。
図1において、101はネットワークである。画像形成装置102(102a、102b、102c)は、ネットワーク101に接続されたデバイス(例えば、印刷装置、複合機、スキャナ等)である。以下、画像形成装置102をデバイス102という。
管理装置103は、ネットワーク101に接続され、管理者がデバイス102を管理するために使用する情報処理装置である。クライアント装置104は、ネットワーク101に接続され、一般ユーザがデバイス102を利用するために使用する情報処理装置である。管理装置103及びクライアント装置104はそれぞれ、ネットワーク101を介してデバイス102と通信可能である。
管理装置103で管理するデバイスは、プリンタ、スキャナ、FAX機能やコピー機能を併せ持つ複合機等の画像形成装置を含み、クライアント装置104にインストールされたデバイスドライバを用いて利用可能な装置を含むものとする。
図2(a)は、デバイス102のハードウェア構成の一部を模式化したブロック図である。
図2(a)において、201はデバイス102の制御部である。制御部201は、コントローラ202、ストレージ203、操作パネル204、ネットワークインタフェース205、エンジンインタフェース206等を有する。
制御部201は、ネットワークインタフェース205を通して、ネットワーク101に接続している。エンジンインタフェース206には、デバイス102の画像形成エンジン(不図示)が接続されている。
コントローラ202は、コントローラ202内の不図示のROMやストレージ203にコンピュータ読み取り可能に記録されたプログラムを読み出して実行することにより、デバイス102全体を制御する。
図2(b)は、管理装置103およびクライアント装置104であるところの情報処理装置のハードウェア構成を模式化したブロック図である。
図2(b)に示すように、301は情報処理装置(管理装置103、クライアント装置104)の本体である。情報処理装置本体301は、中央処理装置(以下CPU)302、CPUに接続されたバス303、RAM304、ROM305、ネットワークインタフェース306、HIDインタフェース307、ストレージ308を有する。
RAM304は、読み書き可能なメモリであり、CPU302のワーク領域として使用される。ROM305は、読み出し専用のメモリである。情報処理装置本体301は、ネットワークインタフェース306を通してネットワーク101に接続している。ストレージ308は、ハードディスク、フラッシュメモリ等の不揮発性の記憶装置である。
HIDインタフェース307は、対人インタフェースデバイスインタフェースである。HIDインタフェース307は、例えばキーボードやマウスなどの入力デバイス309、例えばディスプレイやスピーカーなどの出力デバイス310を接続する。
CPU302は、ROM305やストレージ308にコンピュータ読み取り可能に記録されたプログラムを読み出して実行することにより、情報処理装置全体を制御する。
以下、図3(a)を参照して、本発明の管理装置103内で動作するデバイス管理ソフトウェアの内部構成について説明する。
図3(a)は、本発明の管理装置103内で動作するデバイス管理ソフトウェア4001の内部構成の一例を示すブロック図である。
デバイス管理ソフトウェア4001は、管理装置103のストレージ308内に格納されており、管理装置103のオペレーティングシステム(OS)によってRAM304上に読み込まれて実行される。なお、OSやデバイス管理ソフトウェア4001の実行は、管理装置103のCPU302によって行われる。
デバイス管理ソフトウェア4001は、ファイル管理モジュール4101、エラー管理モジュール4102、条件管理モジュール4103、デバイス管理モジュール4104を有する。即ち、これらのモジュール4101〜4104は、ストレージ308にコンピュータ読み取り可能に記録されたプログラムを、CPU302が実行することにより実現されるものである。
ファイル管理モジュール4101は、例えばストレージ308に格納されている結合対象のファイル群を取得し、該ファイル群を結合してインストーラソフトウェア実行ファイル(以下、インストーラファイル)を生成する。
なお、結合対象となる第1のファイルは、デバイス102のデバイスドライバを情報処理装置にインストールするためのインストールパッケージファイルセットである。また、結合対象となる第2のファイルは、インストーラの実行部分を保持するデータファイルである。また、結合対象となる第3のファイルは、インストーラファイル内にインストール用のデバイス属性値を格納するためのインストール用デバイス属性値格納用データ領域部分を保持するデータファイルである。なお、デバイス102のデバイスドライバとは、デバイス102の機能を利用するためのデバイスドライバであればどのような種類のデバイスドライバであってもよい。一例を示すと、プリンタドライバ、スキャナドライバ、ファックスドライバ等が、上記デバイスドライバに該当する。
ここで、図6を用いて、ファイル管理モジュール4101が生成するインストーラファイルの構成について説明する。
図6は、実施例1においてファイル管理モジュール4101が生成するインストーラファイルの構成の一例を示す図である。
図6において、8001は、インストーラファイルの実行部分であり、上述した第2のファイルに対応する部分である。8002は、デバイスドライバのインストールパッケージファイルセットを圧縮したデータ(以下、ファイルセット圧縮データ)であり、上述した第1のファイルに対応する部分である。8003は、インストール用デバイス属性値格納用データ領域(以下、属性値格納用データ領域)であり、上述した第3のファイルに対応する部分である。
8004は、属性値格納用データ領域8003の先頭のファイルの末尾からのオフセット値を記録したオフセット値Aの格納領域である。8005は、ファイルセット圧縮データ8002の先頭位置のファイルの末尾からのオフセット値を記録したオフセット値Bの格納領域である。8101はインストーラファイルの先頭を示し、8102はインストーラファイルの末尾を示す。
このインストーラファイルは、クライアント装置104のOSによって読み込まれた時に、実行部分8001がクライアント装置104のRAM304上へ展開される。そして、当該クライアント装置104のCPU302によって規定のエントリポイントに制御を移すことで、インストーラが実行される仕組みとなっている。
以下、図3(a)の説明に戻る。
エラー管理モジュール4102は、デバイス102の管理エージェント5001(図3(b))からのエラー通知をネットワーク経由で受信し、管理者へ通知するためのものである。
なお、条件管理モジュール4103については、後述する実施例3で説明する。また、デバイス管理モジュール4104については、後述する実施例7で説明する。
図3(b)は、本発明の実施例1のデバイス102内で動作する管理エージェント5001の内部構成の一例を示すブロック図である。
管理エージェント5001は、デバイス102のコントローラ202上で動作するプログラムとして実行される。管理エージェント5001は、コントローラ202内の不図示のROMやストレージ203に格納されており、コントローラ202により実行される。
管理エージェント5001は、ファイル管理モジュール5101、エラー管理モジュール5102、ダウンロード制御モジュール5103、トランザクションID管理モジュール5104を有する。即ち、これらのモジュール5101〜5104は、コントローラ202内の不図示のROMやストレージ203にコンピュータ読み取り可能に記録されたプログラムを、コントローラ202が実行することにより実現されるものである。
ファイル管理モジュール5101は、管理装置103のファイル管理モジュール4101(図3(a))からインストーラファイルを受け取り、当該インストーラファイルをストレージ203へ格納する。また、ファイル管理モジュール5101は、ストレージ203へ格納したインストーラファイルの属性値格納用データ領域8003に、デバイスの属性値を書き込む。また、ファイル管理モジュール5101は、クライアント装置104からの要求に応答して、インストーラファイルをクライアント装置104へダウンロードする。
エラー管理モジュール5102は、クライアント装置104にダウンロードされて実行されたインストーラから送信されるエラー情報を受信し、エラーの原因を判定する。また、エラー管理モジュール5102は、上記受信したエラー情報および解析した判定結果を、エラー通知として、管理装置103上のエラー管理モジュール4102へ送信する。なお、上記クライアントから受信するエラー情報には、インストーラを特定するための識別情報が含まれているものとする。そして、エラー管理モジュールは、管理装置103上のエラー管理モジュール4102へ送信するエラー通知に、上記インストーラを特定するための識別情報を含めるものとする。
ダウンロード制御モジュール5103は、エラー管理モジュール5102がエラーの原因がインストーラにあると判定した場合、ファイル管理モジュール5101にダウンロード停止を指示する。
なお、トランザクションID管理モジュール5104については、後述する実施例7で説明する。
次に、本発明の実施例1におけるインストーラの動作について説明する。
インストーラファイルは、クライアント装置104から、管理エージェント5001のファイル管理モジュール5101に対して送信されるダウンロード要求に応じて、デバイス102からクライアント装置104へダウンロードされる。ダウンロードされたインストーラファイルは、例えばクライアント装置104のストレージ308に格納される。このダウンロードは、クライアント装置104のOSに組み込まれている機能により実行することが可能である。
例えば、ファイル管理モジュール5101がHTMLにより表現されるWebブラウザ画面を通じたダウンロード手段を提供しているケースについて考えてみる。このケースでは、クライアント装置104のOS上に配置されたWebブラウザからダウンロード要求を行い、Webブラウザの機能に基づいて上記のダウンロードを行うことが可能である。近年では、OSにWebブラウザ機能が最初から統合されているものも多い。また、他の例として、ファイル管理モジュール5101がネットワーク共有フォルダ機能を通じてファイルをアクセス可能な状態に置いているケースについて考えてみる。このケースでは、クライアント装置104のOS上に配置された当該共有フォルダ機能のクライアントソフトウェアの機能に基づいてファイルを取得することで、上記のダウンロードが実現される。近年のOSは、共有フォルダへのアクセスを行うクライアント機能が最初から統合されているものも多い。
クライアント装置104にダウンロードされたインストーラファイルは、当該クライアント装置104のOSで実行可能なファイル形式をしている。このため、当該クライアント装置104が一般ユーザからインストーラファイルの実行指示をうけた場合には、OSは、当該インストーラファイルをRAM304上に読み込み実行することができる。これにより、クライアント装置104上にインストーラ6000(図4)が実現される。すなわち、インストーラ6000は、デバイス102からダウンロードされ、クライアント装置104のストレージ308にコンピュータ読み取り可能に記録されたインストーラファイルを、クライアント装置104のCPU302が読み出して実行することにより実現されるものである。
以下、図4を用いて、インストーラ6000により行われる処理について説明する。
図4は、実施例1におけるインストーラ6000の処理の一例を示すフローチャートである。なお、図4中のS6101〜S6202は、インストーラ6000が実行する各ステップを示す。
まず、インストーラ6000は、S6101において、属性値を取得する。ここでは、インストーラ6000は、インストーラファイル内のオフセット値A格納領域8004からオフセット値Aを読み出し、そのオフセット値Aを使用して、属性値格納用データ領域8003を参照して、デバイス属性値を読み出す。
次に、S6102において、インストーラ6000は、ファイルセット展開処理を行う。ここでは、インストーラ6000は、インストーラファイル内のオフセット値B格納領域8005からオフセット値Bを読み出し、そのオフセット値Bを使用して、ファイルセット圧縮データ8002を参照する。さらに、インストーラ6000は、ファイルセット圧縮データ8002を伸長して、元のファイルセットを復元し、クライアント装置104のストレージ308へ展開する。そして、インストーラ6000は、このファイルセット展開でエラーが発生したかどうかを判定する。
上記S6102において、ファイルセット展開でエラーが発生したと判定した場合(展開エラーの場合)、インストーラ6000は、S6201へ処理を進める。展開エラーは、例えば、ファイルセット圧縮データ8002の内容が不正で伸長処理を行うことができない場合や、ファイルセット圧縮データ8002が伸長する大きさの上限を超えている場合に発生する。また、このインストーラ6000の保持している実行権限において、ストレージ308に対してファイルを書き込むことが不可能である場合にも展開エラーが発生する。
一方、上記S6102において、ファイルセット展開でエラーが発生していないと判定した場合(展開成功の場合)、インストーラ6000は、S6103へ処理を進める。
S6103では、インストーラ6000は、ストレージ308に展開されたインストールパッケージのファイルセットに含まれているインストールを実行するためのコマンドを呼び出す(コマンド起動)。なお、インストーラ6000は、このコマンド起動において、上記S6101で取得したインストール用のデバイス属性値を当該コマンドに対してパラメータとして渡す。これにより、当該コマンドは、クライアント装置104上において一般ユーザからのデバイス属性値の手動入力を必要とせずとも、デバイスドライバを当該デバイス102に対して接続可能となるようにインストール処理することが可能となる。コマンド起動後、インストーラ6000は、上記コマンド起動でエラーが発生したかどうかを判定する。
上記S6103において、コマンド起動でエラーが発生しなかったと判定した場合(起動成功の場合)、インストーラ6000は、デバイスドライバの当該クライアント装置104のOSへのインストールを完了し、本フローチャートの処理を終了する。
一方、上記S6103において、コマンド起動でエラーが発生したと判定した場合(起動エラーの場合)、インストーラ6000は、S6201に処理を進める。起動エラーは、例えば、コマンドを起動しようとしたがそのためのコマンド実行ファイルが見当たらない場合や、それ以外のコマンドを実行するために必須であるようなファイルが上記S6102にて展開したファイルセットの中に見当たらない場合に起こる。また、当該コマンドを起動しようとしたが、このインストーラ6000の保持している実行権限において、当該コマンドを最後まで実行する権限がなかった場合にも起動エラーが発生する。あるいは、当該OSが、当該コマンドがインストールしようとしているデバイスドライバと互換性がないことが判明した場合にも起動エラーが発生することがある。例えば、当該OSが32ビットエディションであるのに対して当該コマンドがインストールしようとしているデバイスドライバが64ビットエディション用である場合などである。また、起動エラーは、当該コマンド実行ファイルが不正なフォーマットになっており、当該OSがそれを実行することができないといった場合にも発生する。
あるいは、次のような場合にも起動エラーが発生する。管理エージェント5001は全ての既存の妥当なデバイスドライバのインストールパッケージのファイルセットについてファイルサイズやタイムスタンプ、チェックサムなどのデータを蓄積しておくことができる。当該展開されたファイルセットのそれらデータを取得あるいは算出し、その蓄積されたデータの中に一致するものがなかった場合にも、当該ファイルセットは不正なものであるためインストールを中止するということができる。この場合も、インストーラソフトウェア実行ファイルが不正であったため、起動エラーが発生したこととして扱うことが可能である。
なお、上記S6102やS6103いずれでエラーが発生した場合も、エラーに関する情報が当該クライアント装置104上に残されている。また、インストーラ6000自身も内部的に起こったエラーについての情報(エラーコード等)を保持している。クライアント装置104上に残されているエラーに関する情報としては、OSのシステムログや、コマンドが独自で用意しているログファイル、あるいは画面上に表示されるメッセージやシステムコンソールメッセージ、エラーコード、エラー発生時のメモリダンプ等などが考えられる。なお、これらのエラー情報には、エラー発生日時等も含まれる。
S6201では、インストーラ6000は、上記のようなエラー情報を収集し、一元化する。また、インストーラ6000は、当該インストーラを特定する識別情報(以下、インストーラID)を取得する。なお、インストーラIDは、予めインストーラファイルに組み込まれたものであってもよいし、インストーラファイルのタイムスタンプ、チェックサムや、これらの組み合わせをインストーラIDとして用いてもよい。さらに、インストーラ6000は、クライアント装置104を特定するための識別情報(クライアントID)、例えば、クライアント装置104のネットワークアドレスやホスト名、MACアドレスなどを取得する。また、インストーラ6000は、クライアント装置104のOSを特定するための識別情報(クライアントOS情報)、例えばオペレーティングシステムの名称、バージョン、エディションの種別などの情報を取得する。また、インストーラ6000は、インストーラ6000を実行している実行権限を特定するための情報、例えば、どのユーザの実行権限で実行していたのか、あるいはその実行権限はどのユーザグループに属しているのか、またはどのようなアクセスコントロールトークンによって実行権限が規定されていたのか、などの情報を取得する。そして、以上のように収集した情報も上記エラー情報として一元化する。
次に、S6202において、インストーラ6000は、上記S6201にて収集され一元化されたエラー情報等を、管理エージェント5001のエラー管理モジュール5102へ送信する。この際に、インストーラ6000は、以下の方法により管理エージェント5001のネットワークアドレスを取得する。インストーラ6000は、当該管理エージェント5001がインストールさせようとしていたデバイス102のコントローラ上で当該管理エージェント5001が動作していることを利用する。すなわち、当該管理エージェント5001のネットワークアドレスは、上記S6101にて取得したデバイス属性値に含まれているデバイスのネットワークアドレスと一致している。このため、インストーラ6000は、当該ネットワークアドレスを利用して、当該管理エージェント5001に対して送信を行うことが可能となる。このようにしてインストーラ6000は、エラーが発生した場合には、エラー情報を管理エージェント5001へ送信することができる。なお、当該S6202のエラー情報送信処理を完了すると、インストーラ6000は、本フローチャートの処理を終了する。
以下、図5を参照して、実施例1における管理エージェント5001のエラー管理モジュール5102により行われる処理について説明する。
図5は、実施例1における管理エージェント5001のエラー管理モジュール5102により実行される処理の一例を示すフローチャートである。なお、図中のS7101〜S7203は、エラー管理モジュール5102が実行する各ステップを示す。
まず、エラー管理モジュール5102は、S7101において、図4のS6202でインストーラ6000から送信されたエラー情報を受信すると、S7102に処理を進める。なお、エラー管理モジュール5102は、エラー情報の受信日時を記憶しておく。また、受信したエラー情報には、上述したように、クライアント装置104上で収集されたエラーに関する情報、インストーラID、エラー発生日時、クライアントID、クライアントOS情報、実行権限情報等が含まれている。
S7102では、エラー管理モジュール5102は、上記S7101で受信したエラー情報を解析する。
次に、S7103において、エラー管理モジュール5102は、上記S7102での解析結果と、エラーが発生したクライアント装置に関する情報を含むエラー通知データを生成する。このエラー通知データは、その他の管理者がエラーの発生に対応するために必要なデータを含むよう構成される。
ここで、図7を用いて、エラー通知データについて説明する。
図7は、本発明のエラー通知データの構成の一例を示す図である。
図7に示すように、エラー通知データは、通知生成日時9001、通知元エージェントID9002、ユーザ情報22101、インストーラID9003、エラー情報受信日時9101、エラー発生日時9102、エラー解析結果サマリ9103、エラー解析結果詳細データ9104、クライアントID9201、クライアントOS情報9202、実行権限情報9203等を有する。
通知生成日時9001は、このエラー通知データの生成日時である。通知元エージェントID9002は、このエラー通知データを生成した管理エージェント5001を特定するための識別情報である。通知元エージェントID9002には、例えば、デバイス102のネットワークアドレスやホスト名、MACアドレスやシリアルナンバーなどが用いられる。
インストーラID9003は、実際にエラーを発生したインストーラファイルを特定するための識別情報であり、上記受信したエラー情報に含まれる。エラー情報受信日時9101は、エラー情報をエラー管理モジュール5102が受信した日時である。エラー発生日時9102は、クライアント装置104上でインストーラ6000がエラーの発生を検知した日時であり、上記受信したエラー情報に含まれる。
エラー解析結果サマリ9103は、エラー管理モジュール5102が解析した結果のサマリである。エラー解析結果詳細データ9104は、エラー管理モジュール5102が解析した結果の詳細データである。
クライアントID9201は、クライアント装置104を特定するための識別情報であり、上記受信したエラー情報に含まれる。クライアントID9201には、例えば、クライアント装置104のネットワークアドレスやホスト名、MACアドレスなどが用いられる。
クライアントOS情報9202は、クライアント装置104のOSを特定するための識別情報であり、上記受信したエラー情報に含まれる。クライアントOS情報9202には、例えばオペレーティングシステムの名称、バージョン、エディションの種別などが含まれる。
実行権限情報9203は、インストーラ6000を実行していた実行権限を特定するための情報であり、上記受信したエラー情報に含まれる。実行権限情報9203には、例えば、どのユーザの実行権限で実行していたのか、あるいはその実行権限はどのユーザグループに属しているのか、またはどのようなアクセスコントロールトークンによって実行権限が規定されていたのか、などの情報が含まれることが想定される。
なお、ユーザ情報22101については、後述する実施例4で説明する。
以下、図5のフローチャートの説明に戻る。
上記S7103のエラー通知生成処理を完了すると、エラー管理モジュール5102は、S7104に処理を進める。
次に、S7104では、エラー管理モジュール5102は、上記S7103にて生成したエラー通知データを、デバイス管理ソフトウェア4001のエラー管理モジュール4102に対して送信する。
次に、S7201において、エラー管理モジュール5102は、上記S7103にて取得した解析結果により、エラーの原因がインストーラ6000にあったのか、クライアント装置104又はそのOSにあったのかを判定する。また、エラー管理モジュール5102は、上記受信したエラー情報および解析した判定結果を、エラー通知として、管理装置103上のエラー管理モジュール4102へ送信する。
次に、S7202において、エラー管理モジュール5102は、上記S7201での判定結果に基づいて、ダウンロードを停止するかどうかを判断する。
上記S7202において、エラー管理モジュール5102は、上記S7201でエラーの原因がクライアント装置104又はそのOSにあったと判定した場合、ダウンロードを停止しない(停止不要)という判断を行い、そのまま本フローチャートの処理を終了する。
一方、上記S7202において、エラー管理モジュール5102は、上記S7201でエラーの原因がインストーラ6000にあったと判定した場合、ダウンロードを停止する(停止必要)という判断を行い、S2303に処理を進める。
S7203では、エラー管理モジュール5102は、ダウンロード制御モジュール5103に対して、インストーラID9003に対応するインストーラファイルのダウンロードを停止するよう指示を行う。該指示を受けた、ダウンロード制御モジュール5103は、ファイル管理モジュール5101に対して、上記インストーラID9003に対応するインストーラファイルのダウンロード要求の受け付けを停止するよう指示をおこなう。指示を受けたファイル管理モジュール5101は、クライアント装置104からの、前記インストーラID9003に対応するインストーラのダウンロード要求の受け付けを停止し、ダウンロードを実行しないよう動作を変更する。
ファイル管理モジュール5101は、別途、管理者によりダウンロード再開が指示された場合にのみ、上記ダウンロードの要求の受け付けを停止しているインストーラファイルのダウンロードの要求を受け付ける。そして、その場合には、ダウンロードの要求を受け付けたらファイル管理モジュール5101がダウンロードを実行するよう動作を変更する。
また、ファイル管理モジュール5101は、以下の条件のときに、上記ダウンロードの要求の受け付けを停止しているインストーラファイルのダウンロードの要求を受け付け、ダウンロードを実行するよう動作を変更する。その条件とは、すなわちインストーラファイルがファイル管理モジュール5101にて受信されて新たなファイルに差し替えられた場合である。
以下、図8を用いて、管理装置103で動作しているデバイス管理ソフトウェア4001のエラー管理モジュール4102の動作について説明する。
図8は、本発明の管理装置103で動作しているデバイス管理ソフトウェア4001のエラー管理モジュール4102の動作の一例を示すフローチャートである。なお、図8中のS10101〜S10301は、エラー管理モジュール4102が実行する各ステップを示す。
まず、エラー管理モジュール4102は、S10101において、管理エージェント5001のエラー管理モジュール5102から図5のS7201で送信されたエラー通知を受信すると、S10102に処理を進める。
S10102では、エラー管理モジュール4102は、デバイス管理ソフトウェア4001のエラー通知処理設定を取得する。エラー通知処理設定には、画面に表示して通知するか、管理者へメールを送信して通知するかを選択する設定などが考えられる。ここではその二つの通知方法が選択可能であるとする。なお、通知設定は、予め管理者により設定され、管理装置103のストレージ308等に保存され、デバイス管理ソフトウェア4001内に読み込まれるものとする。さらに、エラー管理モジュール4102は、上記取得したエラー通知処理設定が、画面に表示して通知するか、管理者へメールを送信して通知するか判定する。
上記S10102において、上記エラー通知処理設定が画面に表示して通知する設定であると判定した場合(画面表示通知の場合)、エラー管理モジュール4102は、S10103へ処理を進める。
S10103では、エラー管理モジュール4102は、管理装置103のHIDインタフェース307を通じて出力デバイス310上に、エラー通知の内容を表示し、本フローチャートの処理を終了する。
一方、上記S10102において、上記エラー通知処理設定が、管理者へメールを送信して通知する設定であると判定した場合(メール通知)、エラー管理モジュール4102は、S10201へ処理を進める。
S10201では、エラー管理モジュール4102は、まず電子メールデータ(エラー通知メール)を生成する。そして、エラー管理モジュール4102は、当該電子メールデータの本文部分に、エラー通知の内容を、電子メールデータの本文部分に使用可能なように整形したデータをセットする。さらに、エラー管理モジュール4102は、当該電子メールデータのヘッダ部分の宛先項目に、デバイス管理ソフトウェア4001内で記憶された管理者のメールアドレスを取得し設定する。なお、上記管理者のメールアドレスは、予め管理者により設定され、管理装置103のストレージ308等に保存され、デバイス管理ソフトウェア4001内に読み込まれるものとする。
ここで、図9を用いて、上記S10201で生成されるエラー通知メールについて説明する。
図9は、図8のS10201で生成される実施例1のエラー通知メールの一例を示す図である。
図9において、11001は、エラー通知メールとしての電子メールデータのヘッダ部分である。11002は、エラー通知メールとしての電子メールデータの本文部分である。
以下、図8のフローチャートの説明に戻る。
上記S10201のエラー通知メールの生成を完了すると、エラー管理モジュール4102は、S10202に処理を進める。
S10202では、エラー管理モジュール4102は、上記S10201で生成したエラー通知メールを送信する。詳細には、エラー管理モジュール4102は、デバイス管理ソフトウェア4001内に記憶されているメールサーバ設定で指定されるメールサーバに対して電子メール送信のためのセッションを開き、上記エラー通知メールを送信する。なお、上記メールサーバ設定は、予め管理者により設定され、管理装置103のストレージ308等に保存され、デバイス管理ソフトウェア4001内に読み込まれるものとする。そして、エラー管理モジュール4102は、上記エラー通知メールの送信が成功したかどうかを判定する。
上記エラー通知メールの送信が成功したと判定した場合(S10202でメール送信成功の場合)、エラー管理モジュール4102は、本フローチャートの処理を終了する。
一方、上記エラー通知メールの送信でエラーが発生したと判定した場合(S10202でメール送信エラーの場合)、エラー管理モジュール4102は、S10301に処理を進める。
S10301では、エラー管理モジュール4102は、管理装置103のHIDインタフェース307を通じて出力デバイス310上に、エラー通知メールの送信がエラーになったことを表示し、S10103に処理を戻し、同じく管理装置103のHIDインタフェース307上にエラー通知の内容を表示する。そして、本フローチャートの処理を終了する。
以下、図10を用いて、実施例1の全体の処理の流れを説明する。
図10は、実施例1の全体の処理の流れを模式的に示す図である。なお、図中のS12001〜S12009は、管理装置103、デバイス102、クライアント装置104のいずれかが実行するステップを示す。
S12001において、管理装置103は、デバイス102に対して、インストーラファイルをアップロードする。
S12002において、インストーラファイルを受信したデバイス102上の管理エージェント5001は、当該ファイルをストレージ203内に保存した後、現在のデバイス102の属性値で書き換える(属性値書換)。
次に、S12003において、クライアント装置104からリクエストがあった場合には、デバイス102からクライアント装置104へ当該インストーラファイルのダウンロードが行われる。
次に、一般ユーザがインストールファイルの実行を指示すると、S12004において、クライアント装置104は、インストールファイルを実行し、インストーラ6000によりインストールを行う。そして、クライアント装置104はエラーが発生したかどうかのチェックを行う。エラーが発生した場合(S12005)、クライアント装置104は、S12006において、エラー情報(インストーラID等を含む)をデバイス102上の管理エージェント5001に対して送信する。
デバイス102上の管理エージェント5001は、クライアント装置104からエラー情報(インストーラID等を含む)を受信すると、S12007において、当該エラー情報の解析を行う。そして、デバイス102上の管理エージェント5001は、S12008において、エラー情報の解析結果を、管理装置103へエラー通知するとともに、必要であれば、S12009において、上記インストーラファイルのダウンロード停止を行う。
背景技術の欄等で示したように、従来より、一般ユーザがデバイスからクライアント装置にダウンロードしたインストーラファイルにより、デバイスドライバをインストールするシステムがあった。
そのようなシステムを構築するにおいて、本発明の実施例1を適用すれば、当該インストーラが実行された際にエラーが発生した場合、インストーラからデバイスの管理エージェント5001へエラー情報(インストーラID等を含む)を送信することが可能になる。この時、インストーラは、デバイスドライバを設定するために使用可能であるデバイス102のネットワークアドレス情報を、管理エージェント5001へエラー情報を送信する際に流用することが可能になる。さらに、管理エージェント5001は、上記インストーラから受信したエラー情報(インストーラID等を含む)を解析することにより、当該インストーラソフトウェアのダウンロードを停止すべきかどうかを判断し、停止することが可能となる。また、デバイス管理ソフトウェア4001は、管理エージェント5001から受信したエラーの発生通知を管理者に転送し、管理者に対してエラーの発生を通知することができる。
これらの構成により、本発明の実施例1の管理システムは、デバイスドライバのインストーラのダウンロードとそのインストールを容易にすることができることに加えて、次のような効果を奏する。インストーラがエラーを発生したときに、デバイスの管理エージェント5001が、必要な場合にはダウンロードを自動的に停止することで、他の一般ユーザが同様のインストールを実行しエラーを再発させることを防止できる。これにより、配布するインストーラについて管理を行う管理者の管理にかかる負荷を大幅に軽減することができる。
次に、本発明の実施例2について図面を用いて説明する。
なお、実施例2では、実施例1と異なる箇所のみ説明を行う。
以下、図11を用いて、実施例2における管理エージェント5001のエラー管理モジュール5102の内部処理について説明する。
図11は、実施例2における管理エージェント5001のエラー管理モジュール5102の内部処理の一例を示すフローチャートである。なお、図中のS7101〜S13305は、エラー管理モジュール5102が実行する各ステップを示す。
S7101〜S7104は、図5に示したものと同一であるので説明は省略する。
S7201において、エラー管理モジュール5102は、S7103にて取得した解析結果により、エラーの原因がインストーラ6000にあったのか、クライアント装置104又はそのOSにあったのかを判定する。そして、エラー管理モジュール5102は、エラー原因が確定できたかどうか判定する。
上記S7201において、エラー原因が特定できたと判定した場合(原因確定の場合)、エラー管理モジュール5102は、S7101で受信したエラー情報および解析した判定結果を、エラー通知として、管理装置103上のエラー管理モジュール4102へ送信し、S7202に処理を進める。なお、S7202〜S7203は、図5と同一の処理であるので説明は省略する。
なお、実環境においてはエラー情報が充分収集できないなどの要因があり、どちらに原因があったのかを判定できないケースが存在する。そのように、エラー原因が特定できなかったと判定した場合(S7201で情報不足で原因不確定の場合)、エラー管理モジュール5102は、S13301に処理を進める。
S13301では、エラー管理モジュール5102は、S7101で受信したエラー情報から特徴量を抽出し、該抽出した特徴量をストレージ203内に蓄積する。なお、特徴量とは、例えば、エラーコードや、メモリダンプ内の特定の領域の情報等のように、発生したエラーに対応する特徴的な情報であればどのような情報であってもよい。
次に、S13304において、エラー管理モジュール5102は、上記S13301でエラー情報から抽出した特徴量を、これまでに蓄積されたものとの間で照合する。
次に、S13305において、エラー管理モジュール5102は、上記S13304で照合を行った結果を取得して、特徴量の類似しているエラー情報が時系列的にどれくらいの期間どれくらいの頻度で発生しているかを判定する。さらに、エラー管理モジュール5102は、該判定の結果、現在から一定期間過去の間に一定基準数を超える回数繰り返し同一特徴量を持ったエラー情報が受信されている(頻度高)かどうかを判定する。
そして、現在から一定期間過去の間に一定基準数を超える回数繰り返し同一特徴量を持ったエラー情報が受信されていると判定した場合、S13305で「頻度高」と判定し、エラー管理モジュール5102は、S7203に処理を進める。そして、S7203において、エラー管理モジュール5102は、当該インストーラ6000に対応するインストーラファイルのダウンロードを停止し、本フローチャートの処理を終了する。
一方、上記S13305で、エラー管理モジュール5102は、現在から一定期間過去の間に一定基準数を超える回数繰り返し同一特徴量を持ったエラー情報が受信されていないと判定した場合、「頻度低」と判定し、エラー管理モジュール5102は、そのまま本フローチャートの処理を終了する。
以上示したように、実施例2によれば、エラーの原因がインストーラ6000とクライアント装置104のいずれにあるのか判定不可能な場合にも、類するエラーが頻発することを検知した場合には、ダウンロードを停止する。これにより、実施例1の効果に加えて、エラーが頻発するインストーラについては、その実行ファイルのダウンロードを自動的に停止することが可能となる。少なくともエラー情報が蓄積されていけば、それ以降はそのようなインストールの実行を防止することができる。この結果、管理者の管理負担をさらに軽減することが可能となる。
次に、本発明の実施例3について図面を用いて説明する。
なお、実施例3では、実施例2と異なる箇所のみ説明を行う。
以下、図3(a)に示したデバイス管理ソフトウェア4001内の条件管理モジュール4103について説明する。
実施例3において、条件管理モジュール4103は、管理エージェント5001から追加判定条件データをダウンロードする機能を備える。条件管理モジュール4103は、エラー管理モジュール5102から受信した追加判定条件データを、管理装置103のストレージ308に蓄積する機能を備えている。また、条件管理モジュール4103は、追加判定条件データに対して、管理者が個別の条件を編集したり、削除したり、あるいは新規の条件を追加したりする編集手段を与える。さらに、条件管理モジュール4103は、追加判定条件データを管理エージェント5001へアップロードする機能を備える。
追加判定条件データは、レコードID、追加判定条件式、ダウンロード停止フラグにより、1つのレコードを構成する。追加判定条件データは、1又は複数のレコードで構成される。なお、追加判定条件データの詳細は、後述する図12の17201に示す。
実施例3において、エラー管理モジュール5102は、デバイス管理ソフトウェア4001の条件管理モジュール4103からのダウンロード要求に応じて、条件管理モジュール4103に対して、追加判定条件データを送信する機能を備えている。また、エラー管理モジュール5102は、条件管理モジュール4103からアップロードされる追加判定条件データを受信する機能を備えている。そして、エラー管理モジュール5102は、条件管理モジュール4103から受信した追加判定条件データを、ストレージ203に蓄積する機能を備えている。
さらに、エラー管理モジュール5102は、インストーラ6000から受信したエラー情報と、上記追加判定条件データ内の判定条件とが一致しているかどうかを検出する機能を備えている。
以下、図12を参照して、条件管理モジュール4103のユーザインタフェースについて説明する。
図12は、実施例3のデバイス管理ソフトウェア4001の条件管理モジュール4103のユーザインタフェースとしての追加判定条件設定画面の一例を示す図である。この画面は、条件管理モジュール4103により、管理装置103の出力デバイス310に表示され、入力デバイス309からの入力を受け付け可能に制御される。
図12において、17101は、ダウンロードボタンである。ダウンロードボタン17101が入力デバイス309を用いてユーザにより押下されると、条件管理モジュール4103は、追加判定条件のダウンロードを実行する。詳細には、条件管理モジュール4103は、管理エージェント5001のエラー管理モジュール5102に対してダウンロードの要求を行う。当該要求に応じて、エラー管理モジュール5102が追加判定条件データを条件管理モジュール4103に送信し、該追加判定条件データを条件管理モジュール4103が受信する。
17102は、編集ボタンである。編集ボタン17102が入力デバイス309を用いてユーザにより押下されると、デバイス管理ソフトウェアは、右ペインに編集画面(17201〜17404で構成される)を表示する。図12は、編集画面が表示された状態を表している。
17103は、アップロードボタンである。アップロードボタン17103が入力デバイス309を用いてユーザにより押下されると、条件管理モジュール4103は、追加判定条件データのアップロードを行う。即ち、条件管理モジュール4103が追加判定条件データを管理エージェント5001のエラー管理モジュール5102に送信し、該追加判定条件データを、エラー管理モジュール5102が受信する。
以下、編集ボタン17102の押下により表示される編集画面について説明する。
17201は、条件管理モジュール4103が受信した追加判定条件データを一覧表示するリストボックスである。17301は、現在編集している追加判定条件のレコードIDを表示している。
17302は、現在編集している追加判定条件の追加判定条件式の文字列を編集可能に表示するグラフィカルユーザインタフェース(GUI)のコントロールである。17303は、上記17302に表示されている文字列を、判定条件に「含む」/「含まない」を選択するためのGUIのコントロールである。17304は、現在編集している追加判定条件のダウンロード停止フラグの値を「する」/「しない」に選択するためのGUIのコントロールである。なお、コントロール17301〜17304は、入力デバイス309を用いて操作可能である。
17401は、新規追加ボタンである。入力デバイス309を用いてユーザにより新規追加ボタン17401が押下されると、条件管理モジュール4103は、現在編集している追加判定条件の値で新しいレコードを生成し、追加判定条件データに追加する。
17402は、更新ボタンである。入力デバイス309を用いてユーザにより更新ボタン17402が押下されると、条件管理モジュール4103は、現在編集している追加判定条件の値を、上記17301に表示されているレコードIDに対応する追加判定条件データのレコードに上書きする。
17403は、削除ボタンである。入力デバイス309を用いてユーザにより削除ボタン17403が押下されると、条件管理モジュール4103は、現在編集している追加判定条件の、上記17301に表示されているレコードIDに対応する追加判定条件データのレコードを削除する。
17404は、キャンセルボタンである。入力デバイス309を用いてユーザによりキャンセルボタン17404が押下されると、条件管理モジュール4103は、現在編集している追加判定条件に対してユーザが加えた変更をすべて破棄し、編集をキャンセルする。
以下、図13を用いて、実施例3における管理エージェント5001のエラー管理モジュール5102の内部処理について説明する。
図13は、実施例3における管理エージェント5001のエラー管理モジュール5102の内部処理の一例を示すフローチャートである。なお、図中のS7101〜S18401は、エラー管理モジュール5102が実行する各ステップを示す。
S7101〜S7104は、図11に示したものと同一であるので説明は省略する。
エラー管理モジュール5102は、S7201において、エラー原因が特定できたと判定した場合(原因確定)、S7101で受信したエラー情報および解析した判定結果を、エラー通知として、管理装置103上のエラー管理モジュール4102へ送信し、S7202に処理を進める。なお、S7202〜S13305は、図11に示したものと同一であるので説明は省略する。
一方、上記S7201において、インストーラ6000に原因があるのかクライアント装置104に原因があるのか特定できなかったと判定した場合(原因不確定)、エラー管理モジュール5102は、S18401に処理を進める。
S18401では、エラー管理モジュール5102は、S7101で受信したエラー情報と一致するものが、蓄積されている追加判定データの中にあるか検出する処理を行い、一致するものが検出されたかどうかを判定する。
一致するものが検出されたと判定した場合(S18401で「一致あり」の場合)、エラー管理モジュール5102は、その追加判定条件に基づいて、S7202の処理を実行するように制御する。S18401からS7202へ進んだ場合には、エラー管理モジュール5102は、一致した追加判定条件を表す追加判定条件データのレコードを参照し、そのダウンロード停止フラグの値を取得する。さらに、エラー管理モジュール5102は、ダウンロード停止フラグの値が「(ダウンロード停止)する」であった場合には、「停止必要」と判断し、S7203に処理を進める。一方、ダウンロード停止フラグの値が「(ダウンロード停止)しない」であった場合には、エラー管理モジュール5102は、「停止不要」と判断し、そのまま処理を終了する。
一方、上記S18401において、一致するものが検出されなかったと判定した場合(「一致なし」の場合)、エラー管理モジュール5102は、S13301に処理を進める。S13301〜S13305の説明は省略する。
以上のように、実施例3によれば、エラーの原因がインストーラ6000とクライアント装置104のいずれにあるのか判定不可能な場合に、管理者が追加した判定条件に対する一致を判定し、一致したデータに基づいてダウンロードを停止するか否かを決定することが可能となる。そこで一致する判定条件がなかった場合には、さらに、取得したエラー情報に類するエラーが頻発することを検知した場合にはダウンロードを停止する。このような構成により、実施例2の構成ではダウンロードを自動的に停止できないような場合でも、管理者が判定条件を自在に追加することにより、ダウンロードを自動的に停止するかどうかを決定することが可能となる。よって、管理者が指定した条件に合致するエラー情報をもたらすエラーが発生した場合には、以後そのようなインストールの実行を防止することができる。この結果、管理者の管理負担をさらに軽減することが可能となる。
以下、本発明の実施例4について図面を用いて説明する。
なお、実施例4では、実施例1と異なる箇所のみ説明を行う。
実施例4のファイル管理モジュール5101(図3(b))は、ダウンロード時にユーザの認証を行う機能をさらに備えている。
以下、図14を用いて、実施例4のファイル管理モジュール5101の処理について説明する。
図14は、実施例4のファイル管理モジュール5101の処理の一例を示すフローチャートである。なお、図中のS20101〜S20301は、ファイル管理モジュール5101が実行する各ステップを示す。
まず、ファイル管理モジュール5101は、S20101において、クライアント装置104からのダウンロード要求を受信すると、S20102に処理を進める。
S20102では、ファイル管理モジュール5101は、当該クライアント装置104に対してユーザ認証を要求する。
そして、S20103において、ファイル管理モジュール5101は、当該クライアント装置104から、応答として送信されてきたユーザ認証情報を受信すると、S20104に処理を進める。
S20104では、ファイル管理モジュール5101は、上記S20103で受信したユーザ認証情報に基づいて、ユーザ認証を実行し、ユーザ認証が成功したかどうかを判定する。なお、認証情報は、デバイス102のストレージ308に記憶されているものであっても、又は他の装置に記憶されているものであってもよい。また、図示しない認証サーバ等に認証処理を依頼する構成であってもよい。
上記20104において、ユーザ認証が成功したと判定した場合(認証成功の場合)、ファイル管理モジュール5101は、S20201に処理を進める。
S20201では、ファイル管理モジュール5101は、インストーラファイルに対して、上記認証に成功したユーザ認証情報から抽出したユーザ情報を埋め込む。
次に、S20202において、ファイル管理モジュール5101は、上記S20201でユーザ情報が埋め込まれたインストーラファイルを、上記クライアント装置104へダウンロードするために送信する。該ダウンロードが完了すると、ファイル管理モジュール5101は、本フローチャートの処理を終了する。
一方、上記20104において、ユーザ認証が失敗したと判定した場合(認証失敗の場合)、ファイル管理モジュール5101は、S20301に処理を進める。
S20301では、ファイル管理モジュール5101は、ユーザ認証に失敗したことを、クライアント装置104へ通知し(ダウンロードエラー返却)、本フローチャートの処理を終了する。
以下、図15を用いて、実施例4のインストーラ6000の処理について説明する。
図15は、実施例4のクライアント装置104のOS上で実行されるインストーラ6000の処理の一例を示すフローチャートである。なお、図中のS6101〜S6103,S6202,S21301〜S21302は、インストーラ6000が実行する各ステップを示す。
S6101〜S6103,S6201の処理は、図4に示したものと同一であるので説明は省略する。
S6201でエラー情報を取得したのち、インストーラ6000は、S21301に処理を進める。
S21301では、インストーラ6000は、上記図14のS20201でファイル管理モジュール5101によりインストーラファイルに埋め込まれたユーザ情報を取得する。
次に、S21302において、インストーラ6000は、上記S21301で取得したユーザ情報を、送信対象であるエラー情報に追加で埋め込む。
次に、S6202において、インストーラ6000は、上記S6201にて収集され一元化され、上記S21302にてユーザ情報が埋め込まれたエラー情報を、管理エージェント5001のエラー管理モジュール5102へ送信し、本フローチャートの処理を終了する。
このように、上記インストーラ6000から送信されたエラー情報を受信すると、エラー管理モジュール5102は、該エラー情報を解析し、エラー通知データ(図7)を作成する(図5のS7101〜S7103)。なお、実施例4のエラー管理モジュール5102は、エラー通知データを作成する場合に、該エラー通知データのユーザ情報22101に、上記S7101で受信したエラー情報に埋め込まれているユーザ情報を格納する。なお、このユーザ情報は、上記図14のS20201にてファイル管理モジュール5101によりインストーラファイルに埋め込まれ、さらに、上記図15のS21302にてインストーラ6000によりエラー情報に埋め込まれたユーザ情報に対応する。
エラー通知データを作成すると、エラー管理モジュール5102は、該エラー通知データを、デバイス管理ソフトウェア4001のエラー管理モジュール4102に対して送信する。
このように、上記エラー管理モジュール5102から送信されたエラー通知データを受信し、エラー通知処理設定がメール通知の場合、エラー管理モジュール4102は、電子メールデータ(エラー通知メール)を生成する(図8のS1001〜S10201)。なお、実施例4のエラー管理モジュール4102は、エラー通知メールを作成する場合に、図16に示すようなエラー通知メールを作成する。
ここで、図16を用いて、実施例4のエラー通知メールについて説明する。
図16は、図8のS10201で生成される実施例4のエラー通知メールの一例を示す図である。
ヘッダ部分11001は、図9と同様である。本文部分23101は、図9の本文部分11002と比較してユーザ情報23102が追加されている。即ち、実施例4のエラー管理モジュール4102は、エラー通知メールを作成する場合に、エラー通知データに埋め込まれているユーザ情報を、エラー通知メールの本文23101に記載する。なお、このユーザ情報23102は、上記図14のS20201にてファイル管理モジュール5101によりインストーラファイルに埋め込まれ、さらに、上記図15のS21302にてインストーラ6000によりエラー情報に埋め込まれ、さらに、上記図5のS7103にてエラー管理モジュール5102によりエラー通知データのユーザ情報22101に格納されたユーザ情報に対応する。
以下、図17を用いて、実施例4の全体の処理の流れを説明する。
図17は、実施例4の全体の処理の流れを模式的に示す図である。なお、図中のS12001〜S12009、S1501〜S1502は、管理装置103、デバイス102、クライアント装置104のいずれかが実行するステップを示す。
S12001〜S12009は、図10に示したものと同一であるので説明を省略する。
S1501において、クライアント装置104の一般ユーザは、デバイス102の管理エージェント5001にログインするために、デバイス102の管理エージェント5001に、認証情報を送信する。
クライアント装置104から認証要求があると、デバイス102の管理エージェント5001は、S1502において、認証処理を行い、該認証処理で得たユーザ情報を、S12003でダウンロードするインストーラファイルに付加する。
また、S12005にてエラーが発生した場合には、クライアント装置104で実行されているインストーラ6000は、S12006で送信するエラー情報に、上記ダウンロードしたインストーラファイルに付加されていたユーザ情報を付加する。
また、デバイス102の管理エージェント5001は、S12008にて管理装置103に対して送信されるエラー通知に、上記エラー情報に付加されていたユーザ情報を付加する。
以上示したように、実施例4によれば、実施例1の効果に加えて、管理者は、インストーラがエラーを発生したときに、それがどのユーザによりダウンロードされたインストーラファイルによるものであるかを容易に知ることができる。一方、インストーラがエラーを発生した場合に、そのエラーの原因がインストーラにあるのであれば、以後そのようなインストールの実行を防止することができる。加えて管理者は、そのインストーラをダウンロードしたユーザ本人にコンタクトを取って、状況を聞き取ることが可能になるため、迅速にトラブルシュートを完遂することが可能になる。よって、実施例4のシステムでは、これらの利点の結果として、管理者の管理負担をさらに軽減することが可能となる。
以下、本発明の実施例5について図面を用いて説明する。
なお、実施例5では、実施例4と異なる箇所のみ説明を行う。
実施例5のファイル管理モジュール5101(図3(b))は、ユーザの操作に応じて、デバイス102の操作パネル204に、ドライバダウンロード手段を通知するためのメールアドレス入力画面(図18)を表示する機能を備える。さらに、実施例5のファイル管理モジュール5101は、当該メールアドレス入力画面(図18)にてユーザにより入力されたメールアドレスに対して、インストーラファイルを入手する手段について通知する電子メールを生成して送信する機能を備える。また、実施例5のファイル管理モジュール5101は、そのようにして通知メールを送信したメールアドレスを蓄積する機能を備える。
図18は、実施例5のファイル管理モジュール5101がデバイス102の操作パネル204に表示するメールアドレス入力画面の一例を示す図である。
図18において、25101は、メールアドレス入力欄である。25102は、通知メール送信ボタンである。25103は、キャンセルボタンである。
一般ユーザが本画面をデバイス102の操作パネル204に表示させたのちに、メールアドレス入力欄25101に自身のメールアドレスを入力し、通知メール送信ボタン25102を押下すると、ファイル管理モジュール5101は、入力されたメールアドレスに対して、ファイルをダウンロードするための手段を通知する電子メールを送信する。
ここで、図19を用いて、上記ファイルをダウンロードするための手段を通知する電子メールについて説明する。
図19は、ファイルをダウンロードするための手段を通知する電子メールの一例を示す図である。
図19において、26001は、電子メールのヘッダ部分である。26002は、電子メールの本文部分である。26003は、インストーラファイルを入手するためのダウンロード画面(ダウンロードページ)のワールドワイドウェブのアドレスを示す汎用リソース位置記述子(以下URL)である。
一般ユーザは、図19に示すような電子メールをクライアント装置104で受信したのちに、当該電子メールに含まれるURL26003をクリックして、Webブラウザを用いて、インストーラファイルを入手するためのダウンロード画面にアクセスする。さらに、一般ユーザは、該ダウンロード画面から、インストーラファイルのダウンロード要求を行い、インストーラファイルをクライアント装置104にダウンロードすることが可能となる。
なお、URL26003には、ハッシュタグが付加されている。ハッシュタグは、当該電子メールの送信先のメールアドレス(foobar@example.com)をそのまま表現する「#foobar+at+example+dot+com」という形式で提示されている。しかし、ここをランダムな文字列に置き換え、当該ランダムな文字列と当該メールアドレスを組のデータとして蓄積しておいてもよい。
以下、図20を用いて、実施例5のファイル管理モジュール5101の処理について説明する。
図20は、実施例5のファイル管理モジュール5101の処理の一例を示すフローチャートである。なお、図中のS20101〜S20301、S27101〜S27201は、ファイル管理モジュール5101が実行する各ステップを示す。
なお、S20101は、図14に示したものと同一であるので説明は省略する。
S27101において、ファイル管理モジュール5101は、S20101で受信したダウンロード要求を解析し、そのリクエストURLからメールアドレスを抽出する。さらに、ファイル管理モジュール5101は、リクエストURLからメールアドレスの抽出に成功したかどうかを判定する。
URLのハッシュタグにメールアドレスをそのまま記載する方式を選択した場合、リクエストURLに、URL26003には付帯していたハッシュタグ「#foobar+at+example+dot+com」が含まれていないと、メールアドレスの抽出に失敗したと判定する。また、メールアドレスとして正規の形式に読み替えることができない文字列がハッシュタグとして付与されている場合にも、メールアドレスの抽出に失敗したと判定する。
あるいは、URLのハッシュタグにランダム文字列を記載する方式を選択した場合、付帯していたハッシュタグのランダム文字列が、通知メールアドレスとして蓄積された中に記録されていなかった場合にはメールアドレスの抽出に失敗したと判定する。
上記S27101において、メールアドレスの抽出に失敗したと判定した場合(抽出失敗の場合)、ファイル管理モジュール5101は、S20301に処理を進め、ダウンロードエラーをクライアント装置104へ返却して、本フローチャートの処理を終了する。なお、S20301は、図14に示したものと同一であるので説明は省略する。
一方、上記S27101において、メールアドレスの抽出に成功したと判定した場合(抽出成功)、ファイル管理モジュール5101は、S27201に処理を進める。
S27201では、ファイル管理モジュール5101は、上記S27101で抽出したメールアドレスを、インストーラファイルに埋め込み、S20202において、該インストーラファイルを上記クライアント装置104へ送信し、本フローチャートの処理を終了する。
実施例5のクライアント装置104のOS上で実行されるインストーラ6000の処理は、図15に示したものに準ずる。ただし、図15でユーザ情報としているものは、実施例5では、インストーラファイルから抽出されたメールアドレスとする。
即ち、インストーラ6000は、ファイルセット展開エラー又はコマンド起動エラーが発生した場合、エラー情報を収集し、該収集したエラー情報に、ユーザ情報として、インストーラファイルに埋め込まれたメールアドレスを埋め込み、該エラー情報を、エラー管理モジュール5102へ送信する。
以下、図21を参照して、実施例5における管理エージェント5001のエラー管理モジュール5102により行われる処理について説明する。
図21は、実施例5における管理エージェント5001のエラー管理モジュール5102により実行される処理の一例を示すフローチャートである。なお、図中のS7101〜S7203、S28301〜S28303は、エラー管理モジュール5102が実行する各ステップを示す。
S7101〜S7203は、図5に示したものと同一であるので説明は省略する。ただし、実施例5では、ユーザ情報としてメールアドレスを用いるため、S7103で生成するエラー通知データのユーザ情報22101には、上記S7101で受信したエラー情報にユーザ情報として埋め込まれているメールアドレスを格納する。
S7202にてダウンロード停止必要と判定した場合、エラー管理モジュール5102は、ダウンロード停止処理(S7203)を実行した後に、S28301に処理を進める。
一方、S7202にてダウンロード停止不必要と判定した場合、エラー管理モジュール5102は、そのままS28301に処理を進める。
S28301では、エラー管理モジュール5102は、S7101で受信したエラー情報に埋め込まれているメールアドレス(即ち、ダウンロードされたインストーラファイルに埋め込またメールアドレス)を抽出する。
次に、S28302において、エラー管理モジュール5102は、インストーラ6000でエラーが発生した一般ユーザに対して、上記S28301で抽出したメールアドレスを用いて通知を行うためのメールを生成する。
次に、S28303において、エラー管理モジュール5102は、上記S28302で生成したメールを送信し、本フローチャートの処理を終了する。
ここで、図22を用いて、S28302で生成されるメールについて説明する。
図22は、図21のS28302で生成される電子メールの一例を示す図である。
図22(a)は、インストーラ6000に問題があった場合の電子メールの例である。
図22(a)において、29001は、電子メールのヘッダ部分である。29002は、電子メールの本文部分である。本文部分29002には、インストーラファイルが壊れていたことが記載されており、ユーザは当該ファイルが正しいファイルに差し替えられるまで待機すること、という指示が記載されている。
また、図22(b)はクライアント装置104が原因でエラーになった場合の電子メールの例である。
図22(b)において、29101は、電子メールのヘッダ部分である。29102は、電子メールの本文部分である。本文部分29102は、例えば、インストーラがクライアント装置104のOSに適合しなかったという原因について説明している。そのうえで、管理者に連絡を取り正しいファイルをダウンロードしてインストールを再実行するように、という指示が記載されている。
また、実施例5のデバイス管理ソフトウェア4001のエラー管理モジュール4102が、エラー管理モジュール5102から図21のS7104で送信されるエラー通知を受信して、生成する電子メールデータは、図16に掲げたものに準ずる。ただし、生成する電子メールデータには、ユーザ情報23102として、ダウンロードされたインストーラファイルに埋め込またメールアドレスが記載されている。
以下、図23を用いて、実施例5の全体の処理の流れを説明する。
図23は、実施例5の全体の処理の流れを模式的に示す図である。なお、図中のS12001〜S12009、S19001〜S19005は、管理装置103、デバイス102、クライアント装置104のいずれかが実行するステップを示す。
S12001〜S12002は、図17に示したものと同一であるので説明を省略する。
S19001において、一般ユーザによるデバイス102上からの通知メール送信ボタン25102の操作を検知すると、デバイス102の管理エージェント5001は、S19002に処理を進める。
S19002では、デバイス102の管理エージェント5001は、上記S19001でユーザにより入力されたメールアドレスをRAM304又はストレージ308に記録する。
さらに、S19003において、デバイス102の管理エージェント5001は、上記S19002で記録したメールアドレスに、URLにハッシュタグを付加したものを記載した通知メール(図19)を送信する。当該一般ユーザは、クライアント装置104にてそのメールを受信したら、該メールに記載されたURLをクリックする。この操作に応じて、クライアント装置104は、S19004において、Webブラウザを用い、上記URLにアクセスし、ダウンロード要求を行う。
これによりダウンロード要求しているユーザのメールアドレスを特定することが可能になるため、デバイス102の管理エージェント5001は、S12003でダウンロードされるインストーラファイルに、当該ユーザのユーザ情報として、当該ユーザのメールアドレスを付与する。なお、S12003〜S12004は、図17に示したものと同一であるので説明を省略する。
また、S12005にてエラーが発生した場合には、クライアント装置104で実行されているインストーラ6000は、S12006で送信するエラー情報に、上記ダウンロードしたインストーラファイルに付加されていたユーザ情報(本実施例では、メールアドレス)を付加する。
また、デバイス102の管理エージェント5001は、S12007にてエラー情報を解析し、S12008にて管理装置103に対して送信されるエラー通知に、上記エラー情報に付加されていたユーザ情報として、メールアドレスを付加する。そして、S12009において、上記インストーラファイルのダウンロード停止を行う。
さらに、S19005において、デバイス102の管理エージェント5001は、上記エラー情報にユーザ情報として付加されていたメールアドレスを持つ当該一般ユーザに、エラーの内容を通知するメール(図22)を送信する。
以上示したように、実施例5によれば、実施例4の効果に加え、管理者は、インストーラがエラーを発生したときに、それがどのユーザによりダウンロードされたものであるかを容易に知ることができる。また、管理エージェント5001が、上記インストーラでエラーが発生した一般ユーザへ直接状況を報せる電子メールを送信することにより、一般ユーザも直ちに何が起こっているかを知ることができるようになり、適切な対処が可能となる。また、管理者は、より迅速にトラブルシュートを完遂することが可能になる。本実施例のシステムは、これらの利点の結果として管理者の管理負担をさらに軽減することが可能となる。
なお、実施例5では、デバイス102の操作パネル204に表示されるメールアドレス入力画面(図18)から、インストーラのダウンロードを要求するユーザのメールアドレスを入力する構成を説明した。しかし、デバイス102の操作パネル204からユーザID等を入力して、予めユーザIDに紐付けられた該ユーザのメールアドレスを取得するように構成してもよい。例えば、フェリカ等のICカードを用いて、デバイス102にログインし、該ログインしたユーザに予め紐付けられた該ユーザのメールアドレスを取得して、インストーラファイルを入手する手段について通知する電子メールを生成して送信するようにしてもよい。
なお、ユーザID等のユーザの情報に紐付けられた該ユーザのメールアドレスは、デバイス102のストレージ308に記憶されているものであっても、他の装置に記憶されているものであってもよい。また、デバイス102が、図示しない認証サーバ等に認証処理を依頼し、認証に成功した場合に、該サーバから取得する構成であってもよい。
また、デバイス102から送信するインストーラファイルを入手する手段について通知は、電子メールに限定されるものではない。電子メール以外の手段であっても、ユーザのアカウントに対して、インストーラファイルを入手する手段を通知可能な方法であれば、どのような通知方法を用いてもよい。例えば、ユーザアカウント毎に割り当てられたホーム画面を開いて、該ユーザアカウント宛てに送信されたメッセージを閲覧可能なシステム等を用いてもよい。
以下、本発明の実施例6について図面を用いて説明する。
なお、実施例6では、実施例5と異なる箇所のみ説明を行う。
実施例6のファイル管理モジュール5101は、インストーラファイルのアップロード履歴およびダウンロード履歴のデータをデバイス102のストレージ203に蓄積する機能を備えている。なお、ダウンロード履歴のデータは、ダウンロード要求に含まれるユーザ情報(ここでは、ダウンロード者のメールアドレス)と、該ダウンロード要求の対象となるインストーラのインストーラIDとを対応付けたデータである。
以下、図24を参照して、実施例6における管理エージェント5001のエラー管理モジュール5102により行われる処理について説明する。
図24は、実施例6における管理エージェント5001のエラー管理モジュール5102により実行される処理の一例を示すフローチャートである。なお、図中のS7101〜S7203、S28301〜S28302、S31401〜S31405は、エラー管理モジュール5102が実行する各ステップを示す。
S7101〜S7203は、図21に示したものと同様であるので説明は省略する。
S7202にてダウンロード停止必要と判定した場合、エラー管理モジュール5102は、ダウンロード停止処理(S7203)を実行した後に、S31401に処理を進める。
S31401では、エラー管理モジュール5102は、ファイル管理モジュール5101に蓄積されたアップロード履歴およびダウンロード履歴のデータを参照する。そして、エラー管理モジュール5102は、上記各履歴から、当該インストーラファイルをダウンロードしたダウンロード者のメールアドレス一覧を抽出し、S28301に処理を進める。
一方、S7202にてダウンロード停止不必要と判定した場合、エラー管理モジュール5102は、S28301に処理を進める。
S28301では、エラー管理モジュール5102は、S7101で受信したエラー情報に埋め込まれているメールアドレス(即ち、ダウンロードされたインストーラファイルに埋め込またメールアドレス)を抽出する。
次に、S31402において、エラー管理モジュール5102は、S7202におけるダウンロード停止の判断を参照する。そして、上記S7202にてダウンロードを停止すべき(ダウンロード停止必要)と判断していた場合には、エラー管理モジュール5102は、S31403へ処理を進める。一方、上記S7202にてダウンロード停止不要と判断していた場合には、エラー管理モジュール5102は、S28302へ処理を進める。
S31403では、エラー管理モジュール5102は、上記S28301で抽出した実際にエラーが発生した一般ユーザのメールアドレスを、上記S31401で抽出したダウンロード者のメールアドレス一覧から除外する。
次に、S31404において、エラー管理モジュール5102は、上記S31403でエラーが発生した一般ユーザを除外したメールアドレス一覧を用いて、実際にエラーが発生した一般ユーザ以外のダウンロード者に対する通知メールを生成し、S28302に処理を進める。
ここで、図25を用いて、上記図24のS31404で生成される通知メールについて説明する。
図25は、図24のS31404で生成される通知メールの一例を示す図である。
図25において、32001は、通知メールのヘッダ部分である。32002は、通知メールの本文部分である。本文部分32002では、ダウンロードしたインストーラソフトウェア実行ファイルが壊れておりエラーを発生させることを警告し、インストールを実行しないよう通知している。
以下、図24のフローチャートの説明に戻る。
S28302では、エラー管理モジュール5102は、実際にエラーが発生した一般ユーザに対して、上記S28301で抽出したメールアドレスを用いて通知を行うためのメールを生成する。ここで生成される通知メールは、図22に示したものと同様である。
次に、S31405において、エラー管理モジュール5102は、S28302にて生成した電子メール、及び、もしスS31404を実行していればそこで生成した電子メールを送信し、本フローチャートの処理を終了する。
以下、図26を用いて、実施例6の全体の処理の流れを説明する。
図26は、実施例6の全体の処理の流れを模式的に示す図である。なお、図中のS12001〜S12009、S19001〜S19005、S30001は、管理装置103、デバイス102、クライアント装置104のいずれかが実行するステップを示す。
S12001〜S12009、S19001〜S19005は、図23に示したものと同一であるので詳細な説明は省略する。
S19005において、デバイス102上の管理エージェント5001は、ダウンロードしエラーを実際に発生したクライアント装置104のユーザに対してエラー通知メール(図22)を送信する。
管理エージェント5001はS19005の後、あるいはS19005と並行して、S30001において、同一インストーラファイルをダウンロードした別のクライアント装置(104Bとする)のユーザに対するエラー通知メール(図25)の送信である。これにより、同一のインストーラファイルをダウンロードしたユーザにはエラーが発生したことの通知が行われる。
以上示したように、実施例6によれば、管理エージェント5001は、インストーラがエラーを発生した場合に、以下のような処置をとる。すなわち、実際にエラーを発生した一般ユーザに対しては状況を知らせるメールを送信する。さらに、当該エラーのエラー情報を解析した結果ダウンロードを停止すべきであると判断した場合、当該ファイルがアップロードされて以来ダウンロードを実行したユーザに対して状況を知らせるメールを送信する。このことにより、実施例6では、実施例5の効果に加え、まだエラーを発生させていないダウンロード者も当該インストーラファイルが壊れている(エラーが発生してしまう)ことを容易に知ることができるようになる。よって、実際にエラーの発生したクライアント装置104以外での新たなエラーの発生を未然に防止することが可能となる。実施例6のシステムは、これらの利点の結果として管理者の管理負担をさらに軽減することが可能となる。
次に本発明の実施例7について図面を用いて説明する。
なお、実施例7では、実施例6と異なる箇所のみ説明を行う。
以下、図3(a)に示したデバイス管理ソフトウェア4001内のデバイス管理モジュール4104について説明する。
デバイス管理モジュール4104は、管理装置103が管理対象とする管理エージェント5001が動作しているデバイス102a、102b、102cのデータを蓄積している。
以下、図27を参照して、実施例7におけるデバイス管理ソフトウェア4001のファイル管理モジュール4101により行われる処理について説明する。
図27は、実施例7におけるデバイス管理ソフトウェア4001のファイル管理モジュール4101により実行される処理の一例を示すフローチャートである。なお、図中のS35101〜S35305は、ファイル管理モジュール4101が実行する各ステップを示す。
S35101において、ファイル管理モジュール4101は、インストーラファイルの送信対象となるデバイスを取得する。送信対象となるデバイスは、管理者が画面上でデバイスデータ蓄積モジュール34201に蓄積されている管理対象デバイスデータの中から送信対象となるデバイスとして選択したものを示す。あるいは、デバイスデータ蓄積モジュール34201に蓄積されている管理対象デバイスデータの指す管理対象デバイス全てを送信対象デバイスとしてもよい。ここではデバイス102a、102b、102cが送信対象となったと仮定して説明する。
次に、S35102において、ファイル管理モジュール4101は、今回のアップロードに対して付与される一意の識別子であるトランザクションIDを生成する。
次に、S35201において、ファイル管理モジュール4101は、以下のS35301〜S35305の処理を、上記S35101で取得した送信対象デバイスに対して順番に実行し、全ての送信対象デバイスに対して処理が完了するまでループするように制御する。すなわち、上述の例では、S35301〜S35305の処理を、デバイス102a、102b、102cに対して返して実行する(3回ループする)。
以下、S35301〜S35305の処理について説明する。
まず、S35301において、ファイル管理モジュール4101は、例えばストレージ308に格納しておいた結合対象のファイル群を取得し、該ファイル群を結合してインストーラファイルを生成する。
ここで、図28を用いて、実施例7において、ファイル管理モジュール4101が生成するインストーラファイルの構成について説明する。
図28は、実施例7においてファイル管理モジュール4101が生成するインストーラファイルの構成の一例を示す図である。
なお、8001〜8005は、図6に示したものと同一であるので説明は省略する。
36101は、図27のS35101で取得した送信対象デバイス全ての属性値を格納するための送信対象全デバイス属性値格納用データ領域である。ここでは、属性値としてそれぞれのデバイスの全属性値を網羅する必要はなく、少なくともデバイス(画像形成装置)を特定するための特定情報が含まれていればよく、個別のネットワークアドレスの一覧などを格納すれば充分である。
36201は、オフセット値Cの格納領域である。オフセット値Cは、送信対象全デバイス属性値格納用データ領域36101のファイル末尾からのオフセットを示す。36202は、トランザクションIDの格納領域である。格納領域36202は、図27のS35102にて生成されたトランザクションIDを格納するために使用される。
以下、図27のフローチャートの説明に戻る。
次に、S35302において、ファイル管理モジュール4101は、このループで現在送信対象としているデバイス(例えばデバイス102a)の属性値をインストール用デバイス属性値格納用データ領域8003へ埋め込む。
次に、S35303において、ファイル管理モジュール4101は、上記S35101で取得した送信対象デバイス全てのそれぞれの属性値のうち必要なもの(例えば、ネットワークアドレス)を送信対象全デバイス属性値格納用データ領域36101へ埋め込む。
次に、S35304において、ファイル管理モジュール4101は、トランザクションIDの格納領域36202へ、上記S35102で生成したトランザクションIDを埋め込む。
次に、S35305において、ファイル管理モジュール4101は、このループにおいて現在送信対象としているデバイス(例えばデバイス102a)上の管理エージェント5001に対して、インストーラファイルをアップロードする。そして、ファイル管理モジュール4101は、上記S35201に戻り、次の送信対象デバイスの処理に移行する。
そして、全ての送信対象デバイスに対して処理が完了すると(S35201でループ終了)、ファイル管理モジュール4101は、本フローチャートの処理を終了する。
以下、図29を用いて、実施例7において、インストーラ6000により行われる処理について説明する。
図29は、実施例7におけるインストーラ6000の処理の一例を示すフローチャートである。なお、図中のS6101〜S6202、S37301〜S37302は、インストーラ6000が実行する各ステップを示す。
なお、S6101〜S6103の処理は、図4に示したものと同一であるので説明は省略する。
S6201では、インストーラ6000は、エラー情報の一部として、当該インストーラファイルのトランザクションIDの格納領域36202から、トランザクションIDを取得する。なお、トランザクションIDはS6101の属性値取得ステップで予め取得しておいても構わない。上記S6201でエラー情報を収集したのち、インストーラ6000は、S37301に処理を進める。
S37301では、インストーラ6000は、インストーラファイルに埋め込まれた送信対象全デバイス属性値格納用データ領域36101から、アップロード送信時に送信対象とされたデバイスの各ネットワークアドレスを取得する。上述の例では、デバイス102a、102b、102cのぞれぞれのネットワークアドレスを取得する。
次に、S37302において、インストーラ6000は、以下のS6202の処理を、上記S37301でネットワークアドレスを取得した全ての送信対象デバイスに対して順番に実行し、全ての送信対象デバイスに対して処理が完了するまでループするように制御する。すなわち、上述の例では、S6202の処理を、デバイス102a、102b、102cに対して返して実行する(3回ループする)。
S6202では、インストーラ6000は、現在送信対象となっているデバイス(例えばデバイス102a)に対して、上記S6201で収集したエラー情報を送信する。なお、ここで送信するエラー情報には、上記S6101で取得したデバイス属性情報が、エラー発生デバイスの情報として含まれているものとする。
そして、全ての送信対象デバイスに対して処理が完了すると(S37302でループ終了)、インストーラ6000は、本フローチャートの処理を終了する。
以下、図3(b)に示した管理エージェント5001内のトランザクションID管理モジュール5104について説明する。
トランザクションID管理モジュール5104は、ファイル管理モジュール5101がインストーラファイルを受信するときに、当該ファイルのトランザクションIDを取得してストレージ308に蓄積する。また、トランザクションID管理モジュール5104は、エラー管理モジュール5102がエラー情報を受信したときに、上記蓄積されているトランザクションIDの中に、当該エラー情報に含まれるトランザクションIDと一致するものがないかチェックする。
以下、図30を用いて、実施例7のファイル管理モジュール5101の処理について説明する。
図30は、実施例7のファイル管理モジュール5101の処理の一例を示すフローチャートである。なお、図中のS39101〜S39302は、ファイル管理モジュール5101が実行する各ステップを示す。
まず、ファイル管理モジュール5101は、S39101において、管理装置103のファイル管理モジュール4101から送られてくるアップロード要求を受信すると、S30192に処理を進める。
S39102では、ファイル管理モジュール5101は、上記アップロード要求したファイル管理モジュール4101に対して、アップロードを開始するよう要求を行う。
次に、S39103において、ファイル管理モジュール5101は、上記ファイル管理モジュール4101からアップロードされたインストーラファイルを受信する。
次に、S39201において、ファイル管理モジュール5101は、上記S39103で受信したインストーラファイルのトランザクションIDを格納する格納領域36202から、トランザクションIDを取得する。
次に、S39202において、ファイル管理モジュール5101は、上記S39201で取得したトランザクションIDを、トランザクションID管理モジュール5104に引き渡し、ストレージ308に蓄積させる。
次に、S39301において、ファイル管理モジュール5101は、当該管理エージェント5001が動作しているデバイス(例えばデバイス102a)の現在の属性値(IPアドレス等)を取得する。
そして、S39302において、ファイル管理モジュール5101は、上記S39301で取得した属性値で、上記S39103で受信したインストーラファイルの属性値格納用データ領域8003を書き換え、本フローチャートの処理を終了する。
以下、図31を参照して、実施例7における管理エージェント5001のエラー管理モジュール5102により行われる処理について説明する。
図31は、実施例7における管理エージェント5001のエラー管理モジュール5102により実行される処理の一例を示すフローチャートである。なお、図中のS7101〜S7203、S40301〜S40302は、エラー管理モジュール5102が実行する各ステップを示す。
まず、エラー管理モジュール5102は、S7101において、インストーラ6000から送信されたエラー情報を受信すると、S40301に処理を進める。
S40301では、エラー管理モジュール5102は、上記S7101で受信したエラー情報に含まれているトランザクションIDを、トランザクションID管理モジュール5104に引き渡す。トランザクションID管理モジュール5104は、自身で蓄積したトランザクションIDの中に、上記引き渡されたトランザクションIDと一致するもの検出し、検出結果をエラー管理モジュール5102に返す。
そして、上記S7101で受信したエラー情報に含まれているトランザクションIDと一致するものが、トランザクションID管理モジュール5104に蓄積されていないと判定した場合(一致不検出)、エラー管理モジュール5102は、そのまま本フローチャートの処理を終了する。この場合、受け取ったエラー情報は、当該デバイス(例えばデバイス102a)の管理エージェント5001ではアップロードされたことのないインストーラファイルに関するものであるので、これ以上の処理は行わずここで終了する。
一方、上記S7101で受信したエラー情報に含まれているトランザクションIDと一致するものが、トランザクションID管理モジュール5104に蓄積されているものから検出されたと判定した場合(一致検出)、エラー管理モジュール5102は、S7102に処理を進める。
S7102では、エラー管理モジュール5102は、上記S7101で受信したエラー情報を解析する。
次に、S40302において、エラー管理モジュール5102は、上記S7101で受信したエラー情報を引き起こしたダウンロードファイルのダウンロード元のデバイス(エラー発生デバイス)を識別する。
そして、エラー発生デバイスが、現在この管理エージェント5001が動作しているデバイス(自デバイス、例えばデバイス102a)であると判定した場合(S4302で「自デバイス」の場合)、エラー管理モジュール5102は、S7103に処理を進める。
一方、エラー発生デバイスが、現在この管理エージェント5001が動作しているデバイスとは異なるデバイスであると判定した場合(S4302で「他デバイス」の場合)、エラー管理モジュール5102は、S7201に処理を進める。以降の処理の説明は図5に示したものと同一であるので省略する。
以上示したように、実施例7によれば、インストーラは、エラーを発生した場合に以下のような動作を行う。すなわち、インストーラは、自身に埋め込まれた送信対象全デバイスに対してトランザクションIDを含むエラー情報を送信する。当該エラー情報を受信した管理エージェント5001は当該トランザクションIDが自身の保持しているインストーラファイルのものと一致する場合には、そのエラー情報を解析する。解析した結果としてダウンロードを停止すべきと判断した場合にはダウンロードを停止する。
以下、図32を用いて、実施例7の全体の処理の流れを説明する。
図32は、実施例7の全体の処理の流れを模式的に示す図である。なお、図中のS12001〜S12009、S19001〜S19005、S33001〜S33005は、管理装置103、デバイス102a、デバイス102b、クライアント装置104のいずれかが実行するステップを示す。また、S12001〜S12009の各処理、及びS19001〜S19005の各処理は、図23に示したものと同一であるので説明は省略する。
なお、実施例7では、S12001において、デバイス102aにインストーラソフトウェア実行ファイルをアップロードする際に、同時に別のデバイス102bにもアップロードが行われている。ここでは、別のデバイスとして、デバイス102bについてのみ図示しているが、デバイスがさらに複数存在していても同様である。
デバイス102b上にも、管理エージェント5001が存在しており、アップロードを受けると、デバイス102aのS12002と同様に、デバイス102bの管理エージェント5001は、S33002において、属性値書換処理を同様に実行する。
この後、クライアント装置104上でエラーが発生した場合(S12005)、クライアント装置104のインストーラ6000は、そのエラー情報を、デバイス102aに送信する(S12006)が、同時にデバイス102bにも送信する(S33003)。
これは、管理装置103が、上記S33001でアップロードを行う際に、インストーラファイル内の領域(図28の36101)に対して、一括アップロードの対象となった各デバイスの情報を両方埋め込んでいるために可能になっている。
デバイス102b上の管理エージェント5001は、エラー情報を受け取った後、デバイス102a上の管理エージェント5001のS12007と同様に、エラー情報を解析する(S33004)。さらに、デバイス102b上の管理エージェント5001は、デバイス102a上の管理エージェント5001のS12009と同様に、必要であればダウンロードを停止する(S33005)。
以上示したように、実施例7によれば、まだエラーが発生していないデバイス上の管理エージェント5001も他のデバイスで同一のインストーラソフトウェア実行ファイルが壊れていることを容易に知ることができるようになる。これにより、実施例6の効果に加え、実際にエラーの発生したデバイス(例えば102a)以外のデバイス(例えば102bや102c)で新たに同様のエラーが発生することを防止することが可能となる。本実施例のシステムは、これらの利点の結果として管理者の負担をさらに軽減することが可能となる。
なお、本実施例で扱うデバイスドライバとは、デバイス102の機能を利用するためのデバイスドライバであればどのような種類のデバイスドライバであってもよい。一例を示すと、プリンタドライバ、スキャナドライバ、ファックスドライバ等が、上記デバイスドライバに該当する。
以上示したように、本発明の管理システムは、インストーラが一般ユーザのクライアント装置にてインストールを実行しようとしてエラーになった場合に、そのエラーの発生通知と内容を受け取ることができる。また、本発明の管理システムは、そのエラーの発生通知を管理者に転送し、管理者に対してエラーの発生を通知することができる。さらに、本発明の管理システムは、そのエラーの内容を解析して原因を検知することができ、その原因がそのインストーラソフトウェア自身にあることが分かった場合には、そのインストーラソフトウェアのダウンロードを停止することができる。
これにより、本発明の管理システムは、管理者がデバイスにアップロードし、一般ユーザがダウンロードして実行するインストーラソフトウェアについて、以下のような効果を奏する。すなわち、そのインストーラソフトウェアが、それ自身が原因でエラーを発生することが分かったときに、そのことを管理者に通知して注意を喚起することができる。また、同時に他の一般ユーザがそのインストーラをダウンロードおよび実行して、再度同じエラーを発生させることを防止することができる。これらの結果として、本発明の管理システムは、エラーの発生を低減し、管理者の管理にかかる手間を大幅に軽減することができる。
従って、本発明によれば、画像形成装置から配信したインストーラの実行により情報処理装置でエラーが発生したことを画像形成装置側で把握可能となり、同一のインストーラを配信した他の情報処理装置で同じエラーが発生することを抑えることができ、管理者の管理にかかる手間(負荷)を大幅に軽減することができる。
なお、上述した各種データの構成及びその内容はこれに限定されるものではなく、用途や目的に応じて、様々な構成や内容で構成されることは言うまでもない。
以上、一実施形態について示したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施態様をとることが可能である。具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
また、上記各実施例を組み合わせた構成も全て本発明に含まれるものである。
(他の実施例)
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
また、本発明は、複数の機器から構成されるシステムに適用しても、1つの機器からなる装置に適用してもよい。
本発明は上記実施例に限定されるものではなく、本発明の趣旨に基づき種々の変形(各実施例の有機的な組合せを含む)が可能であり、それらを本発明の範囲から除外するものではない。即ち、上述した各実施例及びその変形例を組み合わせた構成も全て本発明に含まれるものである。

Claims (13)

  1. 画像形成装置であって、
    識別情報が埋め込まれたデバイスドライバのインストーラを保持する保持手段と、
    情報処理装置からの要求に応じて、前記保持手段に保持しているインストーラを、前記情報処理装置に配信する配信手段と、
    前記配信手段で前記インストーラを配信した前記情報処理装置から、前記インストーラに埋め込まれた識別情報を含む、前記インストーラの実行でエラーが発生したことを示すエラー情報を、受信する受信手段と、
    を有することを特徴とする画像形成装置。
  2. 前記インストーラに埋め込まれた識別情報と、当該インストーラが配信される前記情報処理装置のユーザ情報と、を対応付けて蓄積する蓄積手段と、
    前記受信手段が受信したエラー情報に含まれる識別情報に対応付けて蓄積されているユーザ情報に基づき、前記インストーラの実行でエラーが発生したことを示す警告を行う警告手段と、をさらに有することを特徴とする請求項1に記載の画像形成装置。
  3. 前記蓄積手段は、前記情報処理装置からの要求に含まれるユーザ情報と、当該要求の対象となるインストーラに埋め込まれた識別情報とを対応付けて蓄積することを特徴とする請求項2に記載の画像形成装置。
  4. 前記情報処理装置に対して、前記インストーラの要求を行うためのダウンロードページのアドレス情報を含む電子メールを送信する送信手段と、
    前記ダウンロードページを用いて前記インストーラの要求が行われた後に、前記受信手段が前記エラー情報を受信した場合に、当該エラー情報に含まれる前記アドレス情報に埋め込まれていたユーザ情報に基づき、前記インストーラの実行でエラーが発生したことを示す警告を行う警告手段と、をさらに有することを特徴とする請求項1に記載の画像形成装置。
  5. 前記警告手段は、前記警告として、宛先に前記ユーザ情報により特定されるメールアドレスが設定された電子メールを送信することを特徴とする請求項2乃至4のいずれか1項に記載の画像形成装置。
  6. 前記保持手段に保持されるインストーラには、前記画像形成装置の特定情報と、前記画像形成装置と同一のトランザクションにて前記インストーラがアップロードされた他の画像形成装置の特定情報とが埋め込まれ、
    前記情報処理装置は、前記エラー情報を前記インストーラに埋め込まれた特定情報で特定される前記画像形成装置及び他の画像形成装置に対してエラー情報を送信し、
    前記受信手段は、前記情報処理装置から送信された当該エラー情報を受信することを特徴とする請求項1乃至5のいずれか1項に記載の画像形成装置。
  7. 前記配信手段は、前記受信手段がエラー情報を受信した場合、該エラー情報に含まれる識別情報に対応するインストーラの配信を停止することを特徴とする請求項1乃至6のいずれか1項に記載の画像形成装置。
  8. 前記配信手段は、前記受信手段が受信したエラー情報に基づき、エラーの原因がインストーラにあると判定した場合には、前記エラー情報に含まれる識別情報に対応するインストーラの配信を停止することを特徴とする請求項7に記載の画像形成装置。
  9. インストーラの配信を停止する場合の条件を記憶する記憶手段をさらに有し、
    前記配信手段は、前記エラーの原因がインストーラにあると判定できない場合で、前記エラー情報が前記記憶手段に記憶される条件に合致した場合に、前記エラー情報に含まれる識別情報に対応するインストーラの配信を停止することを特徴とする請求項8に記載の画像形成装置。
  10. 管理装置に対して、前記受信手段が受信したエラー情報に含まれる識別情報を含む通知を行う通知手段をさらに有することを特徴とする請求項1乃至9のいずれか1項に記載の画像形成装置。
  11. 画像形成装置と情報処理装置を有するシステムであって、
    前記画像形成装置は、
    識別情報が埋め込まれたデバイスドライバのインストーラを保持する保持手段と、
    情報処理装置からの要求に応じて、前記保持手段に保持しているインストーラを、前記情報処理装置に配信する配信手段と、
    前記配信手段で前記インストーラを配信した前記情報処理装置から、前記インストーラに埋め込まれた識別情報を含む、前記インストーラの実行でエラーが発生したことを示すエラー情報を、受信する受信手段とを有するものであり、
    前記情報処理装置は、
    前記画像形成装置に要求して、前記画像形成装置に保持される識別情報が埋め込まれたデバイスドライバのインストーラを、前記画像形成装置から受信するダウンロード手段と、
    前記ダウンロード手段がダウンロードした前記インストーラに従い、前記画像形成装置のデバイスドライバの前記情報処理装置へのインストール処理を実行する実行手段と、
    前記インストール処理の実行でエラーが発生した場合、前記インストーラに埋め込まれた識別情報を含む、前記エラーが発生したことを示すエラー情報を、前記画像形成装置に送信する送信手段とを有する、
    ことを特徴とするシステム。
  12. 識別情報が埋め込まれたデバイスドライバのインストーラを保持する保持手段を有する画像形成装置の制御方法であって、
    情報処理装置からの要求に応じて、前記保持手段に保持しているインストーラを、前記情報処理装置に配信する配信工程と、
    前記配信工程で前記インストーラを配信した前記情報処理装置から、前記インストーラに埋め込まれた識別情報を含む、前記インストーラの実行でエラーが発生したことを示すエラー情報を、受信する受信工程と、
    を有することを特徴とする制御方法。
  13. コンピュータを、請求項1乃至10のいずれか1項に記載された手段として機能させるためのプログラム。
JP2012102173A 2012-04-27 2012-04-27 画像形成装置、システム、画像形成装置の制御方法、及びプログラム Pending JP2013230558A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012102173A JP2013230558A (ja) 2012-04-27 2012-04-27 画像形成装置、システム、画像形成装置の制御方法、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012102173A JP2013230558A (ja) 2012-04-27 2012-04-27 画像形成装置、システム、画像形成装置の制御方法、及びプログラム

Publications (1)

Publication Number Publication Date
JP2013230558A true JP2013230558A (ja) 2013-11-14

Family

ID=49677493

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012102173A Pending JP2013230558A (ja) 2012-04-27 2012-04-27 画像形成装置、システム、画像形成装置の制御方法、及びプログラム

Country Status (1)

Country Link
JP (1) JP2013230558A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019202502A (ja) * 2018-05-24 2019-11-28 キヤノン株式会社 印刷装置、方法およびプログラム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019202502A (ja) * 2018-05-24 2019-11-28 キヤノン株式会社 印刷装置、方法およびプログラム
JP7134711B2 (ja) 2018-05-24 2022-09-12 キヤノン株式会社 印刷装置、方法およびプログラム

Similar Documents

Publication Publication Date Title
US8051158B2 (en) Program management apparatus and method
JP4974749B2 (ja) 情報処理装置、配信方法、その方法を実行する制御プログラム
US6804773B1 (en) System and method for transferring information over a network
US8515981B2 (en) Program distribution server, image forming apparatus, program distribution system, and contract document integration method
US20120059916A1 (en) Network device management system, network device management apparatus, client apparatus, and network device management method
JP2008123518A (ja) 実行コードを配備する遠隔配信/インストール・ユーティリティ及び関連する方法
JP5553670B2 (ja) 管理装置、その制御方法およびプログラム
US20120209974A1 (en) Management apparatus, management method, management system and network device
US20160364192A1 (en) Image processing system, cloud server, image processing device, and program
US20110067088A1 (en) Image processing device, information processing method, and recording medium
US20110299130A1 (en) Cloud computing system, document processing method, and storage medium
US8266178B2 (en) Management apparatus, information processing apparatus, and method therefor
US20180203655A1 (en) Information processing system, information processing method, and recording medium
JP2007004316A (ja) プログラム配信システム、プログラム配信サーバ及びそれらに用いるプログラム配信方法
US8885197B2 (en) Information processing system, image forming apparatus, management apparatus, information processing method, and storage medium for deleting or retreating image forming apparatus data
US10567368B2 (en) System for management of a monitor apparatus monitoring a device in a customer environment
US20110129237A1 (en) System, image processing apparatus, image forming apparatus, and method thereof
JP7131044B2 (ja) プログラム及び通信システム
US20120239723A1 (en) Communication system and method of controlling the system
JP2009151480A (ja) 契約製品提供方法、クライアント装置、サーバ、プログラム、および該プログラムを記録した記録媒体
JP6274758B2 (ja) ネットワーク機器管理装置、ネットワーク機器管理方法、およびネットワーク機器管理方法を実行するプログラム
US20090249346A1 (en) Image forming apparatus, information processing apparatus and information processing method
JP6942578B2 (ja) 管理システム、及び制御方法
US9423992B2 (en) Management system and control method
JP2009205262A (ja) アプリケーションプログラムインストール装置、アプリケーションプログラムインストール方法、プログラム、および記録媒体