JP2008203930A - サーバ装置、ドライバ処理方法、記憶媒体、プログラム - Google Patents

サーバ装置、ドライバ処理方法、記憶媒体、プログラム Download PDF

Info

Publication number
JP2008203930A
JP2008203930A JP2007036114A JP2007036114A JP2008203930A JP 2008203930 A JP2008203930 A JP 2008203930A JP 2007036114 A JP2007036114 A JP 2007036114A JP 2007036114 A JP2007036114 A JP 2007036114A JP 2008203930 A JP2008203930 A JP 2008203930A
Authority
JP
Japan
Prior art keywords
driver
client
column
task
server
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.)
Withdrawn
Application number
JP2007036114A
Other languages
English (en)
Inventor
Takeyuki Nagashima
威行 長島
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 JP2007036114A priority Critical patent/JP2008203930A/ja
Priority to US11/837,796 priority patent/US7620960B2/en
Publication of JP2008203930A publication Critical patent/JP2008203930A/ja
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers

Abstract

【課題】 各クライアント装置がいずれかのデバイスを使用可能とするデバイスドライバをインストールする作業負担を軽減することである。
【解決手段】 サーバはデバイスに対してインストール可能なデバイスドライバを関連づけて第1情報管理DB部に記憶しておく。そして、第1情報管理DB部に記憶されたいずれかのデバイスドライバに対して異なるタスクを生成する生成する((S47,S48)。そして、生成した異なるタスクを実行するスケジュールを作成する。さらに、作成されたスケジュールに基づいて、生成した異なるタスクを実行する(S49、S50)構成を特徴とする。
【選択図】 図4

Description

本発明は、ネットワークを介して複数のクライアント装置と、デバイスとを接続したネットワークにおいて、サーバ装置がいずれかのクライアント装置にデバイスドライバをインストールする処理に関するものである。
従来、企業のネットワーク化に伴い、コンピュータや複合画像形成装置(MFP)の台数が増加している。そして、これらの台数が増加するに伴い、それらを効率的に管理することでTCO削減するためのドキュメントソリューションビジネスが多くのアプリケーションを使って行われている。
その中で、コンピュータ(PC)にインストールされている、いわゆるアプリケーションが生成したデータを印刷するためのプリンタドライバを管理したいという要求がある。
このような要求に対して、サーバからクライアントへ推奨されるドライバを容易にインストールする、いわゆるPushインストールする仕組みとしては、複数の仕組みがある。
第1の仕組みとしては、クライアントに対して、あるデバイスに対応したドライバをサーバ側からインストールする場合には、ターゲットとなるデバイスと対応するドライバを指定してのドライバのインストールというものがある。
また、第2の仕組みとしては、ドライバプロファイル(モデル番号、OSバージョン、言語等)とリソースプロファイル(利用可能なドライバ情報)とから、ドライバプライオリティリストを生成する。そして、生成されたドライバプライオリティリストに従い、適切なドライバセットを取得して、ドライバをインストールするというものがある。
さらに、第3の仕組みとしては、ネットワーク上において、ネットワークに接続するネットワークデバイスを探索するための範囲を指定し、その指定された範囲内において、ネットワークデバイスを探索する。そして、その探索された範囲内のネットワークデバイスを管理するクライアントに対し、一括して制御プログラムを配信するというものがある。
特開 2004-171513号公報
しかしながら、上述した従来の技術では、以下の問題があった。
第1の仕組みでは、ターゲットデバイスに対して、対応するドライバを1対1で選択する方式では、以下のような問題が発生する。つまり、ターゲットドライバが複数のPDLをサポートしている場合やクライアントによりインストールするドライバが異なる場合や、クライアントの言語やOSが多岐に渡る場合には、多大な管理工数が必要となってしまう。
また、第2の仕組みでは、プライオリティリストに従ったドライバ選択となるために、任意のドライバを任意のクライアントにインストールすることができない。
さらに、第3の仕組みでは、クライアントおよびデバイスをある範囲指定内にて制御する場合には、IPアドレスといった限定的な範囲内にその使用が制限される。
このように、上記第1〜第3の仕組みでは、ドライバインストール処理において、ユーザビリティ面、更にはそれに伴うIT管理コストの増大、業務の非効率化によるTCOの増大という問題があった。
本発明は、上記の課題を解決するためになされたもので、本発明の目的は、各クライアント装置がいずれかのデバイスを使用可能とするデバイスドライバをインストールする作業負担を軽減できる仕組みを提供することである。
上記目的を達成する本発明のサーバ装置は以下に示す構成を備える。
各クライアント装置に対してインストール可能なデバイスドライバを関連づけて記憶する記憶手段と、前記記憶手段に記憶されたいずれかのデバイスドライバをいずれかのクライアント装置にインストールするドライバインストールタスクと、いずれかのクライアント装置にデバイスドライバのインストールを問い合わせるエージェントをインストールするエージェントインストールタスクを作成する作成手段とを具備したことを特徴とする。
上記目的を達成する本発明のデバイス処理方法は以下に示す構成を備える。
複数のクライアント装置がネットワーク上に接続される複数のデバイスのいずれかを使用可能とするためのデバイスドライバを管理するサーバ装置におけるドライバ処理方法であって、各クライアント装置に対してインストール可能なデバイスドライバを関連づけて記憶手段に記憶された、いずれかのデバイスドライバをいずれかのクライアント装置にインストールするドライバインストールタスクと、いずれかのクライアント装置にデバイスドライバのインストールを問い合わせるエージェントをインストールするエージェントインストールタスクを作成する作成工程を具備したことを特徴とする。
本発明によれば、各クライアント装置がネットワーク上のいずれかのデバイスを使用可能とするデバイスドライバをインストールする作業負担を軽減して、各クライアント装置に対するデバイスドライバ管理処理を効率化できる。
次に本発明を実施するための最良の形態について図面を参照して説明する。
<システム構成の説明>
〔第1実施形態〕
図1は、本発明の第1実施形態を示す情報処理装置、サーバ装置、画像形成装置を含むネットワークシステムの構成を説明する図である。本例は、サーバ、クライアントコンピュータ(クライアント)、画像形成装置(デバイス)がネットワークを介して通信可能なネットワークシステム例である。
図1において、3000は通信回線で、例えばイーサネット(登録商標)のネットワークケーブルで構成される。そして、この通信回線3000には、サーバコンピュータ(サーバ)1000とクライアント2100、2200、2300、2400、2500がネットワークコントローラを介して接続されている。
更に、通信回線3000に各クライアントから印刷可能なデバイス4000、4100、4200が接続されている。なお、デバイス4000、4100、4200は、単機能なプリンタデバイスである場合と、複合機能を実行する複合画像形成装置(MFP)である場合とが含まれる。
なお、クライアント2100、2200、2300、2400、2500やサーバ1000には、各デバイスに印刷ジョブを送信するためのプリンタドライバがインストールされる。また、プリンタドライバは、クライアント2100、2200、2300、2400、2500やサーバ1000が備える記憶装置にインストールされ、オペレーティングシステム(OS)の管理の下で、CPUによりRAM上にロードされる。なお、プリンタドライバに加えて、ネットワークを介してファクシミリ送信等を実行するためのファクシミリドライバもデバイスドライバに含まれる。
また、プリンタドライバは、OSのバージョン等によって、それぞれ対応するプリンタドライバがベンダーから提供され、機能拡張等に伴いバージョンが変更される場合がある。なお、デバイスドライバとは、デバイスのメーカーが提供する制御プログラムであって、この制御プログラムをクライアントにインストールすることで、対応するデバイスを使用可能な状態となる。また、デバイスドライバは、固有のユーザインタフェースを備え、ユーザにデバイスに対する設定や、デバイスの状態を表示する機能を備える。
このように構成されたネットワークシステムにおいて、クライアントのうち、クライアント2100は、管理者がサーバ1000にアクセスするために使用するものとする。
一方、クライアント2200、2300、2400、2500には、サーバ1000からエージェントがインストールされ、さらに通信回線3000を経由して利用可能な周辺装置(デバイス)4000、4100、4200から印刷を行うためにプリンタドライバがインストールされる。
〔印刷システムの構成〕
図2は、図1に示したサーバ1000とクライアント2100、2200,2300、2400、2500とのハードウエアの構成を説明するブロック図である。
なお、図中では、クライアントについては、クライアント2100を代表して説明する。本例は、通信回線3000を介してサーバ1000、クライアントコンピュータ2100が接続される例である。
また、クライアント2100は、サーバ1000に対するドライバ処理を行う管理者が使用する場合を想定してドライバインストール処理について説明する。つまり、クライアント2100以外のクライアント2200,2300、2400、2500がドライバインストール対象のクライアントとして機能する。
図2に示すサーバ1000において、1080は第1中央演算処理装置で、CPUで構成され、第1記憶部1060に記憶されるOS,制御プログラム、アプリケーションをRAM等にロードして実行する。1060は第1記憶部で、ハードディスク等の外部記憶装置で構成される。
なお、第1記憶部1060は、第1記憶媒体読み取り装置1050を介して、プログラムおよび関連データが記憶されている。ここで、第1記憶媒体読み取り装置1050で読み取り可能なメディアとは、フレキシブルディスク(FD)、CD−ROM、ICメモリカード等が含まれ、該メディアには、プログラムおよび関連データが記憶されている。
1070は第1データ制御部で、システムプログラム、アプリケーションプログラムを例えばRAMにロードして実行する第1ドライバ制御部1071と、第1情報管理データベース部(第1情報管理DB部)1072とを備える。第1情報管理DB部1072は、通信回線3000を介して接続されるデバイス4000、4100、4200等に関するデバイスドライバを管理している。第1ドライバ制御部1071は、クライアント2200,2300、2400、2500に対するデバイスドライバのインストール処理を図4に示す制御手順に基づいて実行する。
第1データ制御部1070は、第1入力部1020から入力される情報を処理して、インタフェース制御部1040を経由してサーバ1000に接続されているプリンタなどの周辺装置に出力する。
なお、本実施形態では、第1表示部1010は、CRTディスプレイ、液晶ディスプレイなどの表示装置とし、第1入力部1020はキーボードやマウスなどのポインティングデバイス等で構成されているものとする。1090はシステムバスで、上述した各部と第1中央演算処理装置1080とを接続している。1030は第1入出力データ制御部で、第1入力部1020からの入力を処理して、第1表示部1010に表示する制御を行う。また、第1入出力データ制御部1030は、第2記憶媒体読み取り装置1050から読み出されるデータ、プログラムを第1記憶部1060に書き込むとともに、第1記憶部1060に記憶されたデータ、プログラムを読み出す処理を行う。
更に、第1記憶部1060は、ハードディスク、光磁気ディスクで構成されるものであってもいいし、これらの組み合わせで構成されるものであってもよい。
なお、通信回線3000は、通常のLANもしくはIEEE1394やUSBといった双方向シリアルインタフェース等である。
図2に示すクライアント2100において、2080は第2中央演算処理装置で、CPUで構成される。2060は第2記憶部で、ハードディスク等の外部記憶装置で構成される。
なお、第2記憶部2060は、第2記憶媒体読み取り装置2050を介して、プログラムおよび関連データが記憶されている。ここで、第2記憶媒体読み取り装2050で読み取り可能なメディアとは、フレキシブルディスク(FD)、CD−ROM、ICメモリカード等が含まれ、該メディアには、プログラムおよび関連データが記憶されている。
2030は第2入出力データ制御部で、第2入力部2020からの入力を処理して、第2表示部2010に表示する制御を行う。また、第2入出力データ制御部2030は、第2記憶媒体読み取り装置2050から読み出されるデータ、プログラムを第2記憶部2060に書き込むとともに、第2記憶部2060に記憶されたデータ、プログラムを読み出す処理を行う。
2070は第2データ制御部で、システムプログラム、アプリケーションプログラムを例えばRAMにロードして実行する第2ドライバ制御部2071を備える。
第2データ制御部2070は、第2入力部2020から入力される情報を処理して、第2インタフェース制御部2040を経由してクライアント2100に接続されているプリンタなどの周辺装置に出力する。2090はシステムバスで、上述した各部と第2中央演算処理装置2080とを接続している。
なお、本実施形態では、第2表示部2010は、CRTディスプレイ、液晶ディスプレイなどの表示装置とし、第2入力部2020はキーボードやマウスなどのポインティングデバイス等で構成されているものとする。
更に、第2記憶部は、ハードディスク、光磁気ディスクで構成されるものであってもいいし、これらの組み合わせで構成されるものであってもよい。
なお、通信回線3000は、通常のLANもしくはIEEE1394やUSBといった双方向シリアルインタフェース等である。
図3は、図1に示したネットワークシステムにおけるドライバインストールのワークフローを説明する概念図である。本例は、クライアント2100の指示に基づいてサーバ1000からプリンタドライバをクライアント2200等にインストールするまでの一連のワークフローに対応する。なお、5001〜5009は処理を示す。
まず、ドライバ管理処理として、図2に示されるようなサーバ&クライアント環境において、処理5002で、インストールすべきドライバをサーバ1000が管理するレポジトリに設定する。そして、処理5003で、デバイスを利用するためのドライバを登録する。
一方、処理5005で、処理5004で実行されるサーバ1000からのクライアント探索結果に従い、ドライバをインストールするクライアントに対して、グルーピング処理やサーバ1000とやり取りする。このため、図1に示したクライアント2000内の第2ドライバ制御部2071に該当するエージェント(Agent)の配布を行う。
次に、処理5006で、処理5001で実行される通信回線3000に接続されているサーバ100からのデバイス探索結果と、処理5003で、先に登録されたドライバとの関連付けを行う。
次に、処理5007で、サーバ1000でデバイスとドライバの関連付け情報とAgentが配布されたクライアントとからタスクを生成し、処理5008で、それらのスケジューリング設定を行う。なお、タスクのスケジュールは、エージェントインストールタスク処理と、ドライバインストールタスク処理とを独立して実行するようにスケジュールする例を示す。
そして、最後に、処理5009で、ドライバは設定されたスケジューリングに従い、サーバ1000からクライアントにインストールして、ドライバインストール処理を完了する、これが一連のドライバインストール処理である。
なお、タスクには、エージェント(Agent)をクライアントにインストールするAgentインストールタスクと、デバイスドライバであるプリンタドライバをクライアントにインストールするデバイスドライバインストールタスクとがある。また、Agentインストールタスクは、図4に示すS47に対応し、デバイスドライバインストールタスク図4に示すS48に対応する。
図4は、本実施形態を示すサーバ装置における第1のデータ処理手順の一例を示すフローチャートである。本例は、管理者用PCであるクライアント2100がサーバ1000にアクセスしてドライバをインストールする処理例である。ここで、ドライバは、プリンタを想定してプリンタドライバの例を説明する。具体的に本処理は、図1に示した管理者用PCのクライアント2100の第2表示部2010、第2入力部2020より、Webアプリケーションを介して、サーバ1000の第1ドライバ制御部1071にアクセスする。これにより、サーバ100が実行する処理である。
なお、S41〜S51は各ステップを示す。また、各ステップは、管理者用PCであるクライアント2100のCPUが制御プログラムをRAMにロードして実行することで実現される。
本実施形態では、図1に示した管理者用PCのクライアント2100の第2表示部2010、第2入力部2020より、サーバ1000の第1ドライバ制御部1071にアクセスする。
ここで、本実施形態では、第1ドライバ制御部1071にアクセスするとは、Webアプリケーションにアクセスすることを意味するものとする。
他方、サーバ1000の第1表示部1010、第1入力部1020より、アクセスすることも可能である。さらには、以下の条件を満たせば、通常のNativeアプリケーションであることも可能である。ここで、条件とは、Webアプリケーションではなく、第1ドライバ制御部1071が、クライアント2200、2300、2400、2500の第2ドライバ制御部2071と通信処理を行うことが可能であることである。
最初に、S41で、先の第2表示部2010、第2入力部2020から入力処理に基づく要求の内容をサーバ1000の第1ドライバ制御部1071が判断する。ここで、判断する要求は、ドライバ管理要求(41−1)か、タスク生成要求(41−2)か、ドライバやAgentのインストレーション要求(41−3)のいずれかである。なお、これらの要求のいずれにも該当しないと判断した場合は、本処理を終了する。
ここで、第1ドライバ制御部1071がAgentのインストレーション要求(41−3)であると判断した場合は、S46,S49あるいは本処理を終了する。
ここで、第1ドライバ制御部1071がドライバ管理要求41−1であると判断した場合は、そのドライバ管理要求が、ドライバ管理処理42−1か、クライアント管理処理42−2、関連付け処理42−3のいずれであるかを判断する。
ここで、クライアント2100からの要求がドライバ管理処理42−1であると判断した場合は、S43で、詳細は後述するドライバセットの登録や削除処理意味するドライバ管理処理を行って、S41へ戻る。
なお、S43で、ドライバセットの登録処理である場合には、デバイスドライバに関連する設定変更を行うための設定変更イベント監視処理(後述する図30に示す)を行う。
一方、S42で、第1ドライバ制御部1071がクライアント2100からの要求がクライアント管理処理42−2であると判断した場合は、S44へ進む。そして、S44で、第1ドライバ制御部1071が詳細は後述するAgentがインストールされているクライアントのグルーピングや削除を意味するクライアント管理処理を行い、S41へ戻る。
一方、S42で、第1ドライバ制御部1071がデバイスとドライバとの関連付け処理42−3であると判断した場合には、S45で、詳細は後述するドライバとデバイスの関連付け処理を行い、S41へ戻る。
一方、S41で、第1ドライバ制御部1071がタスク生成要求41−2であると判断した場合は、S46へ進む。そして、S46で、第1ドライバ制御部1071はタスク生成要求がAgentタスク処理46−1、ドライバタスク処理46−2のいずれであるかを判断する。
ここで、Agentタスク処理46−1とは、クライアントへのAgentインストールタスクを生成し、スケジューリングすることを意味する。
また、ドライバタスク処理46−2とは、グルーピングされたクライアント情報と関連付け情報とからドライバインストレーションタスクを生成し、スケジューリングすることを意味する。
ここで、第1ドライバ制御部1071は、タスク生成要求がAgentタスク処理46−1であると判断した場合は、S47で、詳細は後述するAgentタスク処理を行い、S41へ戻る。ここで、Agentインストールタスクとは、サーバ1000からの要求応じて、タスクを実行するエージェントとして機能するエージェント手段をクライアントにインストールするタスク(エージェントインストールタスク)である。
一方、S46で、第1ドライバ制御部1071は、タスク生成要求がドライバタスク処理S46−2であると判断した場合は、S48で、詳細は後述するドライバタスク処理を行い、S41へ戻る。
一方、S41で、第1ドライバ制御部1071がクライアント2100からの要求がインストレーション要求41−3であると判断した場合は、S49へ進む。
そして、S49で、第1ドライバ制御部1071がその要求種別がAgentのインストレーション処理49−1であるのか、ドライバインストール処理49−2のいずれであるのかを判断する。
ここで、Agentのインストレーション要求49−1とは、ドライバやAgentのインストレーション要求を意味する。また、ドライバインストール処理49−2とは、サーバ1000よりクライアントに選択されたドライバを第1記憶部1060から読み出して転送してインストールするドライバインストール処理を意味する。
ここで、第1ドライバ制御部1071がAgentのインストール処理49−1であると判断した場合は、S50で、詳細は後述するクライアントに対してAgentインストール処理を行い、S41へ戻る。ここで、クライアントとは、通信回線3000に接続されるクライアント2100、2200、2300、2400、2500等である。
一方、S49で、第1ドライバ制御部1071がドライバインストール処理49−2であると判断した場合は、S51へ進む。そして、S51で、詳細は後述するクライアントに対して作成されたタスクをスケジューラが設定されたスケジュールに基づいて実行することでドライバインストレーション処理を行い、S41へ戻る。以下、図4に示した各ステップの処理についてユーザインタフェース、フローチャートを参照して詳述する。
なお、本実施形態においては、ネットワークの通信機能に基づいて、予め、Broadcastやファイル読み込みといった方法により、デバイスおよびクライアントは探索されている、もしくは探索可能であることを前提とする。
図5は、本実施形態を示すサーバ1000で予定しているドライバインストール情報一覧の一例を示す図である。本画面は、サーバ1000からWebアプリケーションを介してクライアント2100が取得することで、クライアント2100の第2表示部2010でも表示可能である。
図5に示す通り、ターゲットとなるクライアントは、[Client Name]カラムC1に示す<ClientPC_01>、<ClientPC_02>、<ClientPC_03>、<ClientPC_04>である。
各クライアントの設置場所は、[Area]カラムC2に示す通り、<1F−area11>である。
また、搭載されているオペレーティングシステム(以下、OS)は、[OS]カラムC3に示すWindows(登録商標)でいうところの、Windows(登録商標)2000系、Windows(登録商標)9x系である。
図5においては、Windows(登録商標)2000系は、<W2K>と表記し、Windows(登録商標)9x系は、<W9x>と表記する。
もちろん、OSとして、Linux(商品名)やMac(商品名)といったOSである場合には、それぞれを意味する対応値が設定されることになることは言うまでもない。
また、これらの分類は、そのOSが持つプリントサブシステムに依存しており、ドライバの観点からは、別々のドライバが存在することを意味する。
例えば、Windows(登録商標)系であるならば、Windows(登録商標)95/98/Me等に適合したドライバ、Windows(登録商標)NT4等に適合したドライバ、Windows(登録商標)2000/XP/2003等に適合したドライバに大別される。
なお、OSが異なれば、同一のデバイスに対してそれぞれ異なるドライバが必要となる場合があることは言うまでもない。
次に、[Language]カラムC4は、そのOSの仕向けを示すカラムであり、図5においては、<US>は、English仕向けのOS、<JP>は、Japanese仕向けのOSが搭載されていることを意味する。
なお、仕向けによっても対応するドライバセットは異なる場合がることは言うまでもない。
また、[Network]カラムC5に各クライアントが存在する種別であることを示す一例として、ドメイン環境とワークグループ環境が示され、それぞれの名称は、[Network Name]カラムC6に示している。
このようなクライアントに対して、本実施形態では、図5に示す[Device Name]カラムC7に示す2種類のデバイスである<Device−A>(2台)、<Device−B>(1台)の合計3機種に適合するドライバをインストールすることを意味する。
ここで、[Device Name]は、デバイスが持つMIB(Management Information Base)情報等により大別されることを意味する。
また、<Device−A>のように、[Device Name]が同じでも、設置場所が異なる場合がある。このため、[Device Name]が同じでも、IPアドレスの相違、搭載されているPDL、デバイスが持つ仕向け、またオプションにより、クライアントからは別々のデバイスであると認識される。
図5においては、IPアドレスを、[IP Address]カラムC8に、デバイスが持つ仕向けを[Language]カラムC9に、搭載されているPDLを[PDL]カラムC10に、デバイスが持つオプションを[misc]カラムC11に示す。
[Language]カラムC4における<US>とはEnglish仕向けのデバイスであることを意味し、<JP>とはJapanese仕向けのデバイスであることを意味する。
また、[PDL]カラムC10に示される<PS>は、ページ記述言語がAdobe社が開発したPostScriptを意味する。<PCL5e>とは、Hewletto-Packard社が開発したパソコン用のページプリンタを制御するためのページ記述言語であることを意味する。
さらに、[misc]カラムC11の<FAX>は、クライアントからデバイス経由でファクス送信をすることができることを意味する。つまり、そのデバイスには、FAX機能を実行するファクスドライバをクライアントにインストールすることにより、クライアントからデバイス経由でファクス送信をすることができることを意味する。
これらのことは、図5の[Device Name]、[Language]、[PDL]、[misc]の各カラムに示すデバイス特性が、それぞれ異なるドライバとなる場合があることを示す。
一方、[Driver Name]カラムC12に記載されたドライバは、デバイスに対応し、かつクライアントにインストールして効果を要するドライバの一例である。
本例は、デバイス<Device−B>に対しては、クライアント<ClientPC_01>に、ドライバ<PCL Driver−A>のUS仕向けのW2K用バージョン5.00をインストールする。
さらに、デバイス<Device−B>に対しては、ドライバ<FAX Driver−A>のUS仕向けのW2K用バージョン3.00をインストールすることを目的とすることを意味する。
すなわち、本実施形態においては、各クライアントに対して、どのデバイスを、かつどのようなドライバをインストールするかを図5に示す<Use>、<No Use>で設定可能な状態を示している。ここで、Useは、所定のドライバをそのクライアントにインストールする設定であることを意味し、No Useは、インストールしない設定であることを意味する。
図6は、図2に示した第2表示部2010に表示されるドライバデータベースの一覧表示画面の一例を示す図である。本画面は、サーバ1000からWebアプリケーションを介してクライアント2100がWeb情報を取得することで、クライアント2100の第2表示部2010で表示可能に構成されている。
本画面は、2ペイン(pane)で構成され、第2入力部2020の操作に基づいて、第2中央演算処理装置2080の制御に基づいて、第2表示部2010に表示される。以下、各カラムとボタンについて説明する。
図6において、左ペインの[Driver Database]ツリービューTVは、第1情報管理DB部1072に登録されているドライバセットをツリー形式で表示する。右ペインには、[Driver Set]が設定されている。[Driver Database]ツリービューTVにて、任意ツリーを選択したときに、そこに属するドライバセットを表示する。
[Select]カラムC21は、ドライバセットの選択の有無を意味するカラムである。[PDL]カラムC22は、ドライバセットのPDLを示すカラムである。
[Version]カラムC23は、ドライバセットのバージョンを示すカラムである。[OS]カラムC24は、ライバセットが対応しているOSを示すカラムである。[Language]カラムC25は、ドライバセットが対応している仕向けを示すカラムである。
[Add]ボタンBT1は、ドライバセットの追加処理のためのUIに移行するコントロールボタンである。[Delete]ボタンBT2は、[Select]ボタンBT1により選択されたドライバセットを削除するコントロールボタンである。
[Cancel]ボタンBT3は、画面での処理を無効にし、所定のUIへ移動するためのコントロールボタンである。
ここで、ドライバセットを判別するために、PDL、Version、OS、Language以外のデータを用いることも可能であることは言うまでもない。
次に、ドライバ管理処理−ドライバセットの登録・削除処理について詳述する。
〔ドライバ管理処理−ドライバセットの登録・削除処理〕
図7は、本実施形態を示すサーバ装置における第2のデータ処理手順の一例を示すフローチャートである。本例は、図4に示したS43のドライバ管理処理の詳細手順に対応する。なお、S71〜S80は各ステップを示す。また、各ステップは、管理者用PCであるクライアント2100のCPUが制御プログラムをRAMにロードして実行することで実現される。
まず、S71で、第1ドライバ制御部1071が第1情報管理DB部1072にアクセスし、データベースに登録されている、例えば図6に示すドライバデータベースの一覧表示画面を第2表示部2010に表示する。
次に、S72で、第1ドライバ制御部1071は、管理者が第1入力部1020を操作して入力した操作指示がドライバセットの登録処理72−1か、ドライバセットの削除処理72−2か、それ以外であるかを判断する。
ここで、第1ドライバ制御部1071がドライバセット登録処理72−1であると判断した場合は、本例では、図6における[Add]ボタンBT1がドライバセット登録処理に該当する。
この操作により、S73で、第2表示部2010に、例えば図8に示すドライバセット登録画面を第1中央演算処理装置1080で表示する。
図8A〜図8Cは、図2に示した第2表示部2010に表示されるユーザインタフェース画面の一例を示す図である。本例において、図8Aはドライバセット登録画面例である。また、図8B、図8Cは、図2に示した第1情報管理DB部1072に登録されたドライバ一覧を示す画面例である。なお、図8Bは、設定変更イベント監視処理が施されていない場合に対応し、図8Cは、設定変更イベント監視処理が施されている場合に対応する。
図8B、図8Cにおいて、Table_Driverはテーブルで、登録されたデバイスドライバの一覧を示す。
C8B1は[Driver_No]カラムで、登録されているユニークなドライバ番号が設定されるカラムである。C8B2は[Driver_Name]カラムで、登録されているドライバ名称が設定されるカラムである。
C8B3は[PDL]カラムで、登録されているドライバのPDLが設定されるカラムである。C8B4は[Version]カラムで、登録されているドライバのバージョンである。
C8B5は[OS]カラムで、登録されているドライバの対応オペレーティングシステムが設定されるカラムである。C8B6は[Language]カラムで、登録されているドライバの対応仕向けが設定されるカラムである。
C8B7は[Event]カラムで、登録されているドライバに対して、後述する設定変更イベント監視処理が施されたどうかを示すフラグが設定されるkラ無である。この[Event]カラムC8B7が、<ON>の場合は、設定変更イベント監視処理が施されていない状態を示し、<OFF>の場合は、設定変更イベント監視処理が施された状態を示す。
本実施形態では、図8Bのドライバに対しては、設定変更イベント監視処理が施されていないことを示す<ON>とする。
各画面は、サーバ1000からWebアプリケーションを介してクライアント2100が取得することで、クライアント2100の第2表示部2010で表示可能に構成されている。
次に、S74で、図8Aに示す画面の[Driver Set:]のエディットボックスEBOXに、登録するドライバセット名を第2入力部2020から直接入力して指定する。
なお、この際、図8Aに示す[Browse]ボタンBT81を押下することにより、一般的なコモンダイアログ等を第2表示部2010に表示して登録するドライバセットを指定してもよい。
次に、S75で、第1ドライバ制御部1071が指定したドライバセットがデバイスとドライバの対応情報とを持っているか否かを判断する。ここで、第1ドライバ制御部1071によりドライバセットがデバイスとドライバの対応情報を持っていると判断した場合は、S76へ進む。
一方、第1ドライバ制御部1071によりドライバセットがデバイスとドライバの対応情報を持っていないと判断した場合は、S78へ進む。
以下、図9を参照して、上記ドライバの対応情報について説明する。
図9は、本実施形態を示すサーバ装置に登録するドライバセットの一例を示す図である。本例は、デバイスとデバイスドライバとの対応情報例である。本例のデバイスとドライバの対応情報とは、デバイス名91と、ドライバ名92から構成されている例である。
本実施形態において、通常ドライバは、あるデバイスに対して、1:1もしくは1:多の関係にあり、あるデバイスに対して、使用することが可能なドライバが特定する必要がある。
しかしながら、その情報をドライバのインストレーションファイルであるINFファイルから特定できる場合とできない場合とがある。
ここで、INFファイルとは、Windows(登録商標)において、ソフトウエアのインストール用の設定が記述されたシステム定義ファイルである。
例えば、ドライバ名称に、そのデバイス名称が包含されている場合には特定することが比較的容易である場合には、本実施形態に示すようなデバイスとドライバの対応情報は不要である。しかしながら、ドライバ名称がデバイス名称を包含していない、もしくは、デバイス名称が異なる複数のデバイスに対して、同一のドライバの使用が可能な場合には、特定することが難しい。
そこで、本実施形態では、予め、図9に示すデータ構造でデバイスとドライバの対応情報をファイル等に記載する。
そして、上記対応情報をドライバセットといっしょに読み込むことにより、デバイスとドライバの対応付けを実現するものとする。
なお、対応表でなくとも、予め対応規則をルール化し、それをドライバ名称に反映したり、INFファイルに記述したり、もしくはある固定のドライバファイル名称にしたりすることも可能である。
本実施形態では、図9に示す通り、PSドライバに対しては、「File A」がデバイスとドライバの対応情報であり、デバイス名91がデバイスDevice−Aは、PSドライバセットとしてPS Device−A Driverが対応している。
同様に、デバイス名91がデバイスDevice−Bは、PSドライバセットとしてPS Device−B Driverが対応している。
続いて、S76で、指定されたドライバセットと図9に示したデバイスとドライバの対応情報を第1ドライバ制御部1071において処理することを意味するデバイスとドライバの対応情報を伴ったドライバセット抽出処理を行う。
次に、S77で、第1ドライバ制御部1071が抽出したデバイスとドライバの対応情報を伴ったドライバセットを第1情報管理DB1072に登録して、本処理を終了する。
本例では、図8に示した[Select]チェックボタンSCB1〜10をチェックしたドライバセットに関して、[Register]ボタンBT82を押下したときに、登録することを意味し、その結果の一例を図10に示す。BT83はキャンセルボタンである。
図10は、図2に示した第2表示部2010に表示される登録されたドライバデータベースの一覧表示画面の一例を示す図である。本画面は、2ペインで構成され、サーバ1000からWebアプリケーションを介してクライアント2100がWeb情報を取得することで、クライアント2100の第2表示部2010で表示可能に構成されている。
具体的には、本画面は、第2入力部2020の操作に基づいて、第2中央演算処理装置2080の制御に基づいて、第2表示部2010に表示される。なお、図6と同一のものには同一の符号を付してある。
本例では、例えば10セットのドライバセット(図8に示した[Select]チェックボタンSCB1〜10でチェックされたドライバセット数に対応する)が登録された状態を示す。
一方、S75で、第1ドライバ制御部1071がデバイスとドライバの対応情報を伴わないドライバセットであると判断した場合、S78で、デバイスとドライバの対応情報を伴わないドライバセット抽出処理を行う。
そして、S79で、同様の操作にて、デバイスとドライバの対応情報を伴わないドライバセットを第1情報管理DB1072に登録して、本処理を終了する。
これにより、予め対応規則をルール化し、それをドライバ名称に反映したり、INFファイルに記述したり、もしくはある固定のドライバファイル名称にしたりすることへの対応が可能となる。また、第1ドライバ制御部1071において予め認識できるようになっていることは言うまでもない。
なお、指定されたドライバのすべてもデバイスに対応付けすることなく処理することももちろん可能である。
一方、S72で、第1ドライバ制御部1071がドライバセット削除処理であると判断した場合、すなわち、図6、図8乃至図10において、任意のドライバがSelectされ、[Delete]ボタンBT2を押下した場合である。この場合は、S80で、第1ドライバ制御部1071が第1情報管理DB部1072から指定されたドライバセットを削除して、S71へ戻る。
なお、S71で、第1ドライバ制御部1071がドライバセットの登録処理、削除処理以外の処理であると判断した場合には、例えば、図6、図8、図10の[Cancel]ボタンBT3、BT83が押下したと判断した場合は、本処理を終了する。
〔クライアント登録処理−クライアントのグルーピング処理〕
図11は、本実施形態を示すサーバ装置における第3のデータ処理手順の一例を示すフローチャートである。本例は、図4に示したS44のクライアント登録処理の詳細手順に対応する。なお、S1101〜S1107は各ステップを示す。また、各ステップは、管理者用PCであるクライアント2100のCPUが制御プログラムをRAMにロードして実行することで実現される。さらに、本処理は、図1に示した管理者用PCのクライアント2100の第2表示部2010、第2入力部2020より、Webアプリケーションを介して、サーバ1000の第1ドライバ制御部1071にアクセスする。これによりサーバ100が実行する処理である。
まず、S1101で、第1ドライバ制御部1071が第1情報管理DB部1072にアクセスし、第1情報管理DB部1072に登録されている、例えば図12に示すクライアントグループ管理画面を第2表示部2010に表示する。
図12は、図2に示した第2表示部2010に表示されるユーザインタフェース画面の一例を示す図である。本例は、クライアント登録画面例である。以下、本画面における各カラムとボタンについて説明する。本画面は、2ペインで構成され、サーバ1000からWebアプリケーションを介してクライアント2100がWeb情報を取得することで、クライアント2100の第2表示部2010で表示可能に構成されている。
図12において、[Driver Database]ツリービューTVは、第1情報管理DB部1072に登録されているドライバをツリー形式で表示するコントロールである。
[Client Group Settings]は、右ペインに表示され、クライアントグループ作成および所属するクライアントの追加を行うコントロールが表示される。
[Client Group Name]エディットボックスEBOX1は、[Driver Database]ツリービューTVより選択したロケーションに、新たに追加するグループ名称を設定するボックスである。
[Client Group Path]エディットボックスEBOX2は、[Driver Database]ツリービューTVより選択したロケーションを表示するボックスである。
[Next]ボタンBT11は次の処理ステップへの移行を指示する場合に押下するボタンである。[Cancel]ボタンBT12は本画面での処理を無効にし、所定のUIへの移動を指示する場合に押下するボタンである。
図12に示す通り、本例では、存在するグループ情報に関しては、<Client Database>ツリービューTVに表示され、右ペインには、<Client Group Settings>が表示される。
図12に示す例では、既存のグループ<1F>を親に持ち、その配下に、新たに、<area 11 − team A>を作成しようとしていることを意味する。ここで、前者を[Client Group Path]、後者を[Client Group Name]として表示している状態に対応する。
この状態下で、S1102で、第1ドライバ制御部1071が[Next]ボタンBT11を押下するか否かに基づいて、グループ作成であるか否かを判断する。ここで、第1ドライバ制御部1071がグループ作成を指示していないと判断した場合は、本処理を終了する。
一方、S1102で、第1ドライバ制御部1071がグループ作成を指示していると判断した場合、S1103へ進み、第1情報管理DB部1072をアクセスしてクライアントグループ設定処理を開始する。
なお、S1102で、第1ドライバ制御部1071がグループ作成を指示していないと判断した場合、例えば図12、図13に示すユーザインタフェース画面上で、[Cancel]ボタンBT3、BT12が押下された場合には、本処理を終了する。
次に、S1104で、第1ドライバ制御部1071が第1情報管理DB部1072をアクセスして、例えば図13に示すクライアントグループメンバー管理画面を第2表示部2010に表示する。
図13は、図2に示した第2表示部2010に表示されるユーザインタフェース画面の一例を示す図である。本画面は、2ペインで構成され、サーバ1000からWebアプリケーションを介してクライアント2100がWeb情報を取得することで、クライアント2100の第2表示部2010で表示可能に構成されている。
本例は、クライアントグループメンバー管理画面例であり、本画面では、作成するクライアントグループにグループメンバーや既存のクライアントグループを追加するか否かの処理を伴う機能を提供する。
以下、本画面における各カラムとボタンについて説明する。
図13において、[Client Database]ツリービューTVは、第1情報管理DB部1072に登録されているクライアントグループをツリー形式で表示する。
右ペインにおいて、[Client Group]M1には、既存のクライアントグループが、[Clients]M2には、既存のクライアントが表示される。また、表示されたクライアント、クライアントグループは、それぞれ[Select]ボタンSB1〜SB3、SB11〜SB14を押下することにより、選択することが可能に構成されている。
本例では、[Client Group Settings]M3には、新たなクライアントグループ<area 11 − team A>M31に対して、クライアント<ClientPC_01>を登録する状態に対応する。
つまり、[Selected Group]エディットボックスEBOX1に、「area 11 − team A」が設定されている例である。
[Group Path]エディットボックスEBOX2は、[Driver Database]ツリービューTVより選択したロケーション[¥1F¥]を表示するボックスである。
次に、S1105で、第1ドライバ制御部1071がグループメンバーや他のグループの追加を伴う処理か否かを判断する。ここで、グループメンバーや他のグループの追加を伴う処理であると判断した場合は、例えば図13に示すユーザインタフェース画面において、[Add]ボタンBT1が押下された場合は、S1106へ進む。
そして、S1106で、第1ドライバ制御部1071がグループメンバーや他のグループの追加処理を伴うクライアントグループの登録処理を、第1情報管理DB部1072に対して施して、本処理を終了する。
本例では、クライアントグループの追加処理とは、図13において、[Add]ボタンを押下する事を意味する。
一方、S1105で、グループメンバーや他のグループの追加を伴う処理でないと判断した場合、例えばクライアントグループのみの作成であると判断した場合は、S1107へ進む。そして、S1107で、第1ドライバ制御部1071がグループメンバーや他のグループの追加を伴わないグループ登録を第1情報管理DB部1072に対して施して、本処理を終了する。
〔タスク処理−Agentタスク作成&登録処理〕
図14は、本実施形態を示すサーバ装置における第4のデータ処理手順の一例を示すフローチャートである。本例は、図4に示したS47のAgentタスク処理の詳細手順に対応する。なお、S1401〜S1408は各ステップを示す。また、各ステップは、管理者用PCであるクライアント2100のCPUが制御プログラムをRAMにロードして実行することで実現される。さらに、本処理は、図1に示した管理者用PCのクライアント2100の第2表示部2010、第2入力部2020より、Webアプリケーションを介して、サーバ1000の第1ドライバ制御部1071にアクセスする。これによりサーバ100が実行する処理である。
まず、S1401で、第1ドライバ制御部1071が第1情報管理DB部1072にアクセスし、第1情報管理DB部1072に登録されているクライアント一覧を第2表示部2010に表示する。
図15は、図2に示した第2表示部2010に表示されるユーザインタフェース画面の一例を示す図である。本例は、クライアント一覧画面例である。本画面は、1ペインで構成され、サーバ1000からWebアプリケーションを介してクライアント2100がWeb情報を取得することで、クライアント2100の第2表示部2010で表示可能に構成されている。
図15において、[Select]カラムC151は、Agentの登録対象クライアントにするか否かの選択コントロールを設定するカラムである。
[Computer Name]カラムC152は物理的に存在する予めサーバ1000が探索したクライアント一覧を示すカラムである。
[OS]カラムC153はそのクライアントに搭載されているオペレーティングシステムを示すカラムである。[Network]カラムC154はそのクライアントがどのようなネットワーク環境に属しているかの情報を示すカラムであり、本例では、DomainもしくはWorkgroupを表記する。
[Domain/Workgroup]カラムC155は、[Network]カラムC154の属性に対する実際の名称を示すカラムである。本例では、Domainに対するドメイン名称、Workgroupに対するワークグループ名称を示している例である。
[ID]カラムC156は、Domain環境であるならば、DomainのID、Workgroupならば、そのクライアントのAdmin権限を持つIDを示すカラムである。[Password]カラムC157は、[ID]カラムC156に対するパスワードを示すカラムである。
[Status]カラムC158は、第1情報管理DB部1072にIDとPasswordが既に設定されているか否かを示すカラムである。
[Next]ボタンBT11は、次の処理ステップへの移行を意味するコントロールボタンである。[Cancel]ボタンBT12は、本画面での処理を無効にし、所定のUIへ移動するためのコントロールボタンである。
例えば、ClientPC_01は、そのOSとして、Windows(登録商標)2000系がインストールされており、domain01というドメイン環境におかれている。そして、そのドメインのIDがAllであり、かつPasswordは、第1情報管理DB1072に登録済みであるが、Agentはまだインストールされていない状態を表示している。
次に、S1402で、第1ドライバ制御部1071がクライアントへのAgentインストール処理の指定か否かを判断する。具体的には、上記のように登録済みクライアント情報より、何らかのクライアントが選択され、かつ[Next]ボタンBT11が押下されたか否かを判断する。
ここで、第1ドライバ制御部1071がクライアントへのAgentインストール処理の指定でないと判断した場合は、本処理を終了する。
一方、S1402で、第1ドライバ制御部1071がクライアントへのAgentインストール処理の指定であると判断した場合は、S1403で、図16に示すIDとPasswordの設定画面を表示する。なお、図15において、カラムC153〜C155はリソース属性を示す。これにより、各クライアント装置のソフトウエアのリソース属性を識別することができる。ここで、リソース属性として、オペレーティングシステム、ネットワーク、ドメインまたはワークグループを識別可能な属性の例を示す。
図16は、図2に示した第2表示部2010に表示されるユーザインタフェース画面の一例を示す図である。本例は、IDとPasswordの設定画面例である。以下、2つのセクションとそれぞれのカラムとボタンについて説明する。
本画面は、サーバ1000からWebアプリケーションを介してクライアント2100がWeb情報を取得することで、クライアント2100の第2表示部2010で表示可能に構成されている。
図16において、[Domain]セクションSC1は、ドメイン環境のIDとPasswordを設定するセクションである。[Domain]セクションC161は、ドメイン名称を示すセクションである。[ID]セクションC162は、そのドメインのIDを示すセクションである。
[Password]セクションSC163は、そのIDに対するPasswordを示すセクションである。
[Workgroup Members]セクションSC2は、Workgroup環境下にあるクライアントの一覧であり、各クライアントに対するAdmin権限を有するIDとPasswordを設定するセクションである。
[Workgroup Members]セクションSC2において、[Client Name]セクションSC164は、Workgroup環境下にあるクライアント名称を示すセクションである。[OS]セクションSC165は、そのクライアントのオペレーティングシステムを示すセクションである。
[Workgroup]セクションSC166は、そのクライアントが位置するWorkgroupの名称を示すセクションである。[ID]セクションSC167は、そのクライアントのAdmin権限のIDを示すセクションである。[Password]セクションSC168は、そのIDに対するPasswordを示すセクションである。
[Next]ボタンBT11は、次の登録画面への移行するためのコントロールボタンである。[Cancel]ボタンBT12は、本画面での処理を無効にし、所定のUIへ移動するためのコントロールボタンである。
ここで、図14に示す処理の説明に戻り、S1404で、第1ドライバ制御部1071がクライアントのネットワーク環境に応じたIDとPasswordを設定するか否かを判断する。ここで、第1ドライバ制御部1071がIDとPasswordを設定しないと判断した場合は、S1406へ進む。
一方、S1404で、第1ドライバ制御部1071がクライアントのネットワーク環境に応じたIDとPasswordを設定すると判断した場合は、S1405へ進む。そして、S1405で、図16に示す画面において、第1ドライバ制御部1071が設定されたIDとPasswordを第1情報管理DB1072に保存する。
次に、S1406で、第1ドライバ制御部1071がAgentタスクとして登録するか否かを判断する。具体的には、図16に示した[Next]ボタンBT11が押下されたか、それとも、[Cancel]ボタンBT12が押下されたかに基づいて判断する。
ここで、第1ドライバ制御部1071が[Next]ボタンBT11が押下されたと判断した場合は、S1407へ進み、図17に一例を示すAgentタスクとして登録するためのタスク登録画面を第2表示部2010に表示する。なお、第1ドライバ制御部1071が[Cancel]ボタンBT12が押下されたと判断した場合は、本処理を終了する。
図17は、図2に示した第2表示部2010に表示されるユーザインタフェース画面の一例を示す図である。本例は、タスク登録画面例である。以下、1つのセクションとそれぞれのカラムとボタンについて説明する。本画面は、1ペインで構成され、サーバ1000からWebアプリケーションを介してクライアント2100がWeb情報を取得することで、クライアント2100の第2表示部2010で表示可能に構成されている。
図17において、[Task Registration Settings]セクションSC3はAgentタスクの登録を示すセクションである。[Task Name]カラムC171は、スケジューラに登録するタスクの名称示すセクションである。[Schedule]カラムC172は、そのタスクを即時実行するか、日時実行するか、登録のみとするかを設定するためのセクションである。[Schedule]カラムC172は、それぞれ[Immediate execution]S1、[Execution at specific date]S2、[Only registration]S3より選択する。
[Register]ボタンBT171は、後述するスケジューラへの登録するためのコントロールボタンである。[Cancel]ボタンBT172は、本画面での処理を無効にし、所定のUIへ移動するためのコントロールボタンである。
本例では、タスク名称が、<Agent Installation 001>であり、それを<2005/1/1 13:00:00>に実行することを意味している。
次に、上記[Register]ボタンBT171を押下することにより、S1408へ進み、第1ドライバ制御部1071が制御するスケジューラへ設定したスケジュールを登録して、本処理を終了する。
なお、ここでスケジューラとは、サーバ1000の第1ドライバ制御部1071が実行する機能であって、上記手順に基づいて作成して第1記憶部1060に登録されたタスクを一括して管理するものである。なお、スケジューラは、設定された動作モードに応じて、第1ドライバ制御部1071にイベントを発生する一般的なものであることは言うまでもない。
ここで、動作モードとは、上記図17に示した[Schedule]カラムC172の[Immediate execution]S1、[Execution at specific date]S2等に対応する。
〔インストレーション処理−Agentタスク実行処理〕
図18は、本実施形態を示すサーバ装置における第5のデータ処理手順の一例を示すフローチャートである。本例は、図4に示したS41で、インストレーションの要求と判断された場合における、S48,S49に対応するAgentインストール処理の詳細手順に対応する。なお、S1801〜S1808は各ステップを示す。また、各ステップは、管理者用PCであるクライアント2100のCPUが制御プログラムをRAMにロードして実行することで実現される。
まず、S1801で、第1ドライバ制御部1071がターゲットであるクライアントの管理者IDとPasswordを第1情報管理DB部1072にアクセスし、取得処理を行う。そして、S1802で、第1ドライバ制御部1071が管理者IDとPasswordの取得を行うことができたか否かを判断する。ここで、第1情報管理DB部1072が管理者IDとPasswordの取得を行うことができなかったと判断した場合は、本処理を終了する。
一方、S1802で、第1情報管理DB部1072が管理者IDとPasswordの取得を行うことができたと判断した場合は、S1803へ進む。
そして、S1803で、第1ドライバ制御部1071がAgent用インストーラに対して、取得した管理者IDとPasswordを添付する。次に、S1804で、サーバ1000からクライアントに対してAgent用インストーラを送付する。この送付には、例えばWMI(Windows(登録商標) Management Instrumentation)といった方法により送付を行う。
続いて、S1805で、第1ドライバ制御部1071がAgent用インストーラの中から、管理者IDとPasswordを取得する。次に、S1806で、クライアント2100において、取得した管理者IDとPasswordを用いて、そのクライアントに対するログインを行う。そして、S1807で、ログインが可能であったか否かを判断する。ここで、クライアントにログインできなかったと判断した場合は、本処理を終了する。
一方、S1807で、取得した管理者IDとPasswordを用いて、そのクライアントに対するログインできたと判断した場合は、S1808へ進む。そして、S1808で、第1ドライバ制御部1071がAgentインストーラを管理者権限でクライアントにインストールして、本処理を終了する。
〔ドライバとデバイスの関連付け処理〕
図19は、本実施形態を示すサーバ装置における第6のデータ処理手順の一例を示すフローチャートである。本例は、図4に示したS42で、関連づけ処理と判断された場合に実行されるS45のドライバとデバイスの関連付け処理の詳細手順に対応する。なお、S1901〜S1909は各ステップを示す。また、また、各ステップは、管理者用PCであるクライアント2100のCPUが制御プログラムをRAMにロードして実行することで実現される。さらに、本処理は、図1に示した管理者用PCのクライアント2100の第2表示部2010、第2入力部2020より、Webアプリケーションを介して、サーバ1000の第1ドライバ制御部1071にアクセスする。これにより、サーバ100が実行する処理である。
まず、S1901で、第1ドライバ制御部1071が第1情報管理DB部1072にアクセスし、第1情報管理DB部1072に登録されている、例えば図20に示すデバイス一覧画面を第2表示部2010に表示する。
図20は、図2に示した第2表示部2010に表示されるユーザインタフェース画面の一例を示す図である。本例は、デバイス一覧画面例である。以下、1つのセクションとそれぞれのカラムとボタンについて説明する。本画面は、サーバ1000からWebアプリケーションを介してクライアント2100がWeb情報を取得することで、クライアント2100の第2表示部2010で表示可能に構成されている。
図20において、[Device Database]セクションツリービューTVは、サーバ1000により探索されたデバイスに対して、予めグルーピング処理が施された結果がをTreeView形式で表示するツリーである。
本例では、すでに、<1F>、<area11>、<area12>、<area13>、<2F>、<area21>、<area22>といったデバイスグループが存在している状態を表示している。
[Devices]セクションSC201は、[Device Database]セクションツリービューTVで、任意のグループを選択したときに、そのグループに所属しているデバイス一覧を表示されるセクションである。
[Devices]セクションSC201において、[Select]カラムC2001は、ドライバと関連付け対象のデバイスにするか否かの選択を実現するセクションである。[Device Name]カラムC2002は、[Device Database]セクションツリービューTVで、選択されたグループに所属するデバイス一覧を示すカラムである。
[IP Address]カラムC2003は、そのデバイスに割り振られているIPアドレスを示すカラムである。[Location]カラムC2004は、そのデバイスが位置している情報を示すカラムである。
[PDL]カラムC2005は、そのデバイスに搭載されているPDLを示すカラムである。[Language]カラムC2006は、そのデバイスが動作している言語を示すカラムである。[misc]カラムC2007は、ドライバの選定に影響のある情報を示すカラムである。
本例では、<FAX>と記載されている行があるが、これは、デバイスに装着されたFAX機能が、クライアントからファクスドライバなどのプリンタドライバと同様な方式のドライバにより、ファクス送信できることを表示している。すなわち、プリンタドライバと同様にファクスドライバをクライアントにインストールするか否かを判別する情報となる。
他に、同じデバイスでもその排紙機能により、使用するドライバが異なる場合には、そのドライバを選別するためのトリガーとなる情報が表示されるカラムである。
[Next]ボタンBT11は、次の登録画面への移行を実現するコントロールボタンである。[Cancel]ボタンBT12は、本画面での処理を無効にし、所定のUIへ移動を実現するコントロールボタンである。
次に、S1902で、第1ドライバ制御部1071が任意のデイバスが選択されたか否かを判断する。ここで、任意のデバイスが選択されていないと判断した場合は、本処理を終了する。
一方、S1902で、第1ドライバ制御部1071が任意のデバイスが選択されていると判断した場合は、S1903に進む。例えば、図20において、任意のデバイスを[Select]カラムC2001で選択し、[Next]ボタンBT11を押下していると判断した場合に、S1903へ進む。
そして、S1903で、第1ドライバ制御部1071が選択されたデバイスとドライバの対応情報が存在するか否かを判断する。ここで、第1ドライバ制御部1071がデバイスとドライバの対応情報が存在すると判断した場合は、S1904へ進む。そして、S1904で、第1ドライバ制御部1071がデバイスとドライバの対応情報を伴った利用可能なドライバを第1情報管理DB部1072にアクセスして、第2表示部2010に図21に示すドライバ一覧を表示する。
図21は、図2に示した第2表示部2010に表示されるユーザインタフェース画面の一例を示す図である。本例は、ドライバ一覧画面例である。以下、1つのセクションとそれぞれのカラムとボタンについて説明する。
本画面は、サーバ1000からWebアプリケーションを介してクライアント2100がWeb情報を取得することで、クライアント2100の第2表示部2010で表示可能に構成されている。
図21において、[Select]カラムC2101は、デバイスと関連付け対象のドライバの選択を実現するカラムである。[Driver Name]カラムC2102は、デバイスと関連付け可能な、すなわち、そのデバイスで利用可能なドライバ一覧を示すカラムである。
[PDL]カラムC2103は、そのドライバが何のPDLに対応しているかの情報を示すカラムである。[Version]カラムC2104は、そのドライバのバージョン情報を示すカラムである。[OS]カラムC2105は、そのドライバが何のOSに対応しているかの情報を示すカラムである。
[Language]カラムC2106は、そのドライバの対応言語を示すカラムである。
[Next]ボタンBT11は次の登録画面への移行を実現するコントロールボタンである。[Cancel]ボタンBT12は、本画面での処理を無効にし、所定のUIへ移動を実現するコントロールボタンである。
これにより、図20に示す画面上で、選択されたデバイスと図21に示した画面上で選択されたドライバとが関連付けられることを意味する。
次に、S1905で、第1ドライバ制御部1071が選択したデバイスに対して、関連付けるドライバが選択されているか否かを判断する。ここで、第1ドライバ制御部1071が選択したデバイスに対して、関連付けるドライバが選択されていないと判断した場合は、本処理を終了する。
一方、S1905で、第1ドライバ制御部1071が選択したデバイスに対して、関連付けるドライバが選択されていると判断した場合は、S1906へ進む。そして、S1906で、第1ドライバ制御部1071が、図22に示す関連付け名称設定画面を第2表示部2010に表示する。
図22は、図2に示した第2表示部2010に表示されるユーザインタフェース画面の一例を示す図である。本例は、関連付け名称設定画面例である。以下、1つのセクションとそれぞれのカラムとボタンについて説明する。
本画面は、サーバ1000からWebアプリケーションを介してクライアント2100がWeb情報を取得することで、クライアント2100の第2表示部2010で表示可能に構成されている。
図22において、[Association Name]カラムはC2201は、関連付け名称を設定するエディットボックス等の編集可能な情報を示すカラムである。[Target Device Name]カラムC2202は、関連付けられたデバイス名を示すカラムである。
[Driver to Use]カラムC2203は、関連付けられたドライバ名を示すカラムである。[Register]ボタンBT221は、スケジューラへの登録を実現するコントロールボタンである。
[Cancel]ボタンBT222は、本画面での処理を無効にし、所定のUIへ移動を実現するコントロールボタンである。
次に、S1907で、第1ドライバ制御部1071が図22に対して関連付け名称の設定を行った否かを判断する。ここで、関連付け名称の設定を行っていないと判断した場合は、本処理を終了する。
一方、S1907で、第1ドライバ制御部1071が図22に対して関連付け名称の設定を行っていると判断した場合は、S1908へ進む。
本例では、デバイス<Device−A>に対して、2つのドライバセットが関連付けられている。具体的には、図22に示すように、ドライバ<PS Driver−A v12.00 for W2K for US>と<PS Driver−A v12.00 for W9x for US>の2つである。
最後に、S1908で、第1ドライバ制御部1071が図22に示した関連付け情報を第1情報管理DB部1072へ登録して、本処理を終了する。
一方、S1903で、第1ドライバ制御部1071がデバイスとドライバの対応情報が存在しないと判断した場合は、S1909で、対応情報に従わないドライバ表示を行い、S1905へ進む。
以下、デバイス<Device−A>に対して、2つのドライバセットが関連付けられた場合の関連付け情報の表示例を図23に示す。
図23は、図2に示した第2表示部2010に表示されるユーザインタフェース画面の一例を示す図である。本例は、関連付け結果画面例である。以下、1つのセクションとそれぞれのカラムとボタンについて説明する。
本画面は、サーバ1000からWebアプリケーションを介してクライアント2100がWeb情報を取得することで、クライアント2100の第2表示部2010で表示可能に構成されている。
図23において、[Association Information]セクションSC231は、デバイスとドライバの関連付け一覧を示すセクションである。
[Association Name]カラムC2301は、図22に示した[Association Name]カラムC2201にて設定された関連付け名称を一覧にて表示するカラムである。
[Device Name]カラムC2302は、関連付けられたデイバスを示すカラムである。[PDL]カラムC2303は、関連付けられたドライバのPDLを示すカラムである。
[OS]カラムC2304は、関連付けられたドライバの対応OSを示すカラムである。[Language]カラムC2305は、関連付けられたドライバの対応仕向けを示すカラムである。[misc]カラムC2306は、関連付けられたドライバの付加的な情報を示すカラムである。
本例では、<FAX>と記載されている行があるが、これは、関連付けられたドライバが、プリンタドライバではなく、ファイルドライバであること示す。
なお、S1902で、デバイスが選択されていない場合、もしくはS1907で、関連付け名称の設定を行わなかったと判断されたときは、本処理を終了する。同様に、図20、図21において、[Cancel]ボタンBT11が、図22において、[Cancel]ボタンBT221を押下した場合は、本処理を終了する。
〔タスク処理−ドライバインストレーションタスク作成&登録処理〕
図24は、本実施形態を示すサーバ装置における第7のデータ処理手順の一例を示すフローチャートである。本例は、図4に示したS46で、ドライバタスク処理と判断された場合に実行されるS48のドライバタスク処理の詳細手順に対応する。なお、S2401〜S2407は各ステップを示す。また、各ステップは、管理者用PCであるクライアント2100のCPUが制御プログラムをRAMにロードして実行することで実現される。
まず、S2401で、第1ドライバ制御部1071が第1情報管理DB部1072にアクセスし、登録されているクライアントを選択するための、例えば図25に示すクライアント選択画面を第2表示部2010に表示する。
図25は、図2に示した第2表示部2010に表示されるユーザインタフェース画面の一例を示す図である。本例は、クライアント選択画面例である。以下、1つのセクションとそれぞれのカラムとボタンについて説明する。
本画面は、サーバ1000からWebアプリケーションを介してクライアント2100がWeb情報を取得することで、クライアント2100の第2表示部2010で表示可能に構成されている。
図25において、[Client Database]ツリービューTVは、第1情報管理DB部1072に登録されている選択されたクライアントをツリー形式で表示する。このツリービューTVは、インストールするクライアントをグループ単位で選択するためのツリーである。
[Client Group]セクションSC251は、[Client Database]ツリービューTVにて選択されたクライアントグループに属するクライアントグループの表示および選択を実現するセクションである。
[Clients]セクションSC252は、[Client Group]セクションにて選択されたクライアントグループに属するクライアントグループに属するクライアントの表示および選択を実現するセクションである。
[Select]カラムC2501は、[Client Group]セクションSC251では、ドライバをインストールするクライアントをクライアントグループ単位で選択を実現するカラムである。上記ドライバとは、図1に示したデバイスのいずれかを使用するためのドライバであって、機能は同一であっても、言語やOSのバージョンが異なる等の場合がある。
また、[Clients]セクションSC252では、クライアント単位で選択を実現するセクションである。
[Client Group Name]カラムC2502は、クライアントグループ一覧を示すカラムである。[Client Name]カラムC2503は、クライアント一覧を示すカラムである。[OS]カラムC2504は、クライアントのオペレーティングシステムを示すカラムである。
[Next]ボタンBT252は、次の処理ステップへの移行を指示するボタンである。[Cancel]ボタンBT253は、本画面での処理を無効にし、所定のUIへ移動することを指示するボタンである。
[Add to List]ボタンBT251はリスト登録を指示するボタンである。
次に、S2402で、第1ドライバ制御部1071がターゲットクライアントが選択されたか否かを判断する。ここで、第1ドライバ制御部1071がターゲットクライアントが選択されていないと判断した場合は、本処理を終了する。
一方、S2402で、第1ドライバ制御部1071がターゲットクライアントが選択されていると判断した場合は、S2403へ進む。そして、S2403で、第1ドライバ制御部1071が第1情報管理DB部1072にアクセスし、図26に示すデバイスとドライバの関連付けを選択する選択画面を第2表示部2010に表示する。
図26は、図2に示した第2表示部2010に表示されるユーザインタフェース画面の一例を示す図である。本例は、デバイスとドライバの関連付けを選択する選択画面例である。以下、1つのセクションとそれぞれのカラムとボタンについて説明する。
本画面は、サーバ1000からWebアプリケーションを介してクライアント2100がWeb情報を取得することで、クライアント2100の第2表示部2010で表示可能に構成されている。
図26において、[Association Information]セクション261は、デバイスとドライバの関連付け一覧を示すセクションである。
[Select]カラムC2601は、関連づけするために選択されたデバイスを表示するカラムである。[Association Name]カラムC2602は、図22に示した[Association Name]カラムC2201にて設定された関連付け名称を一覧にて表示するカラムである。
[Device Name]カラムC2603は、関連付けられたデイバスを示すカラムである。[PDL]カラムC2604は、関連付けられたドライバのPDLを示すカラムである。[OS]カラムC2605は、関連付けられたドライバの対応OSを示すカラムである。
[Language]カラムC2606は、関連付けられたドライバの対応仕向けを示すカラムである。[misc]カラムC2607は、関連付けられたドライバの付加的な情報を示すカラムである。
本例では、<FAX>と記載されている行があるが、これは、関連付けられたドライバが、プリンタドライバではなく、ファイルドライバであることを表示している状態に対応する。
[OK]ボタンBT262は、次の登録画面への移行を実現するコントロールボタンである。[Delete]ボタンBT261は、選択されたデバイスの削除をコントロールするボタンである。
次に、S2404で、第1ドライバ制御部1071が[OK]ボタンBT262を押下することで、図26に示す画面に表示された関連付け情報を選択したか否かを判断する。ここで、[OK]ボタンBT262が押下されず、図26に示す画面に表示された関連付け情報を選択していないと判断した場合は、本処理を終了する。
一方、S2404で、第1ドライバ制御部1071が図26に示す画面に表示された関連付け情報を選択したと判断した場合は、S2405へ進む。そして、S2405で、第1ドライバ制御部1071が第1情報管理DB部1072にアクセスし、図27に示すデバイスとドライバの関連付け一覧タスクを登録する画面を第2表示部2010に表示する。
図27は、図2に示した第2表示部2010に表示されるユーザインタフェース画面の一例を示す図である。本例は、デバイスとドライバの関連付け一覧タスクを登録する画面例である。以下、1つのセクションとそれぞれのカラムとボタンについて説明する。
本画面は、サーバ1000からWebアプリケーションを介してクライアント2100がWeb情報を取得することで、クライアント2100の第2表示部2010で表示可能に構成されている。
図27において、[Task Registration Settings]セクションSC271は、ドライバインストレーションタスクの登録するセクションである。
[Task Name]カラムS2701はスケジューラに登録するタスクの名称を示すカラムである。ここで、スケジューラとは、Agentタスクの登録処理で説明したスケジューラと同様の機能を実行する。
[Schedule]カラムS2702は、そのタスクを即時実行するか、日時実行するか、登録のみとするかを決定するカラムである。
本実施形態では、[Immediate execution]TM1、[Execution at specific date]TM2、[Only registration]TM3よりいずれかを選択する。
[Register]ボタンBT272は、表示内容をスケジューラに登録することを指示する登録ボタンである。
また、[Cancel]ボタンBT273は、本画面での処理を無効にし、所定のUIへ移動することを指示するボタンである。[Back]ボタンBT271は、1つ前の状態に戻ることを指示するボタンである。
本例では、タスク名称が、<Printer Driver Installation 001>であり、それを<2005/3/1 13:00:00>に実行すること表示している状態に対応する。これにより、サーバ1000の第1ドライバ制御部1071のスケジューラ機能に基づいて、時刻<2005/3/1 13:00:00>に、Printer Driver Installation 001をインストールする。具体的には、図25に示した画面で選択された[Client Group]セクションSC251で選択されたClient Groupに対して、サーバ1000が上記プリンタドライバをインストールする。
次に、S2406で、図27に示した画面において、[Register]ボタンBT272を押下することで、ドライバタスク登録処理が要求されているか否かを判断する。ここで、第1ドライバ制御部1071が[Register]ボタンBT272を押下されていないと判断した場合は、本処理を終了する。
一方、S2406で、第1ドライバ制御部1071が[Register]ボタンBT272を押下されていると判断した場合は、S2407へ進む。そして、S2407で、第1ドライバ制御部1071が制御するプリンタドライバのインストール処理をスケジューラへ登録して、本処理を終了する。
なお、ここでスケジューラとは、上記タスクを一括して管理するものであり、設定された動作モードに応じて、第1ドライバ制御部1071にエベントを発生する一般的なものであるものとする。ここで、動作モードとは、[Immediate execution]、[Execution at specific date]等のプリンタドライバのインストールタイミングを決定する時間的な要素に対応する。
〔インストレーション処理−ドライバインストレーションタスク実行処理〕
図28は、本実施形態を示すサーバ装置における第8のデータ処理手順の一例を示すフローチャートである。本例は、図4に示したS41で、インストレーション要求であると判断され、S48で、クライアントへのドライバのインストレーション要求であると判断された場合に実行されるS50のインストール処理の詳細手順に対応する。
なお、S2801〜S2803は各ステップを示す。また、各ステップは、管理者用PCであるクライアント2100のCPUが制御プログラムをRAMにロードして実行することで実現される。また、サーバ1000とクライアント2100間では、Webサービスといった一般的な方式のやり取りにより、情報伝達を実現するものとする。
まず、S2801で、第1ドライバ制御部1071がサーバ1000からクライアント2100のAgentに対して、タスクの問い合わせを行うように要求指示を行う。Agentは、図4に示したS47において、先のAgentタスク処理でサーバ1000からクライアントにインストールされている。
次に、S2802で、クライアントのAgentは、サーバ1000に対して、タスクがあるか否かのタスク要求を発行するので、第1ドライバ制御部1071がクライアントからのタスク要求を取得する。
そして、S2803で、サーバ1000はクライアントのAgentに対して、タスクをクライアントのAgentが保持するキューに送付して、本処理を終了する。ここで、クライアントとは、図1に示したクライアント2200、2400、2500等である。また、これらのクライアントは、図25に示した画面において、プリンタドライバのインストールタスク生成に選択されたグループで選択されているクライアントである。
図29は、本実施形態を示す情報処理装置における第1のデータ処理手順の一例を示すフローチャートである。本例は、図28に示すサーバ1000からのタスク実行処理に伴うクライアント側のタスク処理である。なお、S2901〜S2904は各ステップを示す。また、各ステップは、クライアント2100のCPUが制御プログラムをRAMにロードして実行することで実現される。
まず、S2901で、クライアントのAgentは、サーバ1000からタスクの問い合わせを受信するのを待つ。そして、タスクの問い合わせを受信したら、S2902で、クライアントのAgentは、サーバ1000に対して、自分宛のタスクがあるか否かのタスク要求を発行する。そして、S2903で、クライアントの第2ドライバ制御部2071は、クライアントのAgentに対して送付されるタスクをキューが取得するのを待ち、キューがタスクを取得したら、それを保持する。
次に、S2904で、クライアントのAgentは、そのAgentの管理するキューを参照し、順次ドライバのインストレーションタスクを実行して、本処理を終了する。
なお、上記実施形態では、タスク例として、デバイスドライバのインストールする追加タスク、インストールされているデバイスドライバを削除する削除タスクについて説明した。これに加えて、サーバ1000の第1ドライバ制御部1071は、インストールされているデバイスを更新する更新タスクも同様に実行可能である。
図30は、本実施形態を示すサーバ装置における第9のデータ処理手順の一例を示すフローチャートである。本例は、図4に示したS43で、ドライバセットの登録処理である場合において、デバイスドライバに関連する設定変更を行うための設定変更イベント監視処理の詳細手順に対応する。以下、図31〜図34を参照して、設定変更イベント監視処理について詳述する。
なお、S3001〜S3007は各ステップを示す。また、各ステップは、管理者用PCであるクライアント2100のCPUが制御プログラムをRAMにロードして実行することで実現される。また、サーバ1000とクライアント2100間では、Webサービスといった一般的な方式のやり取りにより、情報伝達を実現するものとする。
図31は、図2に示した第2表示部2010に表示されるユーザインタフェース画面の一例を示す図である。本画面は、図2に示した第1情報管理DB部1072に登録されるドライバセット一覧画面である。
図32〜図36は、図2に示した第1情報管理DB部1072に記憶されるテーブルの一例を示す図である。図32は、スケジュールテーブルを示し、図33はタスクテーブルを示し、図34は関連づけテーブルを示す。図35は、ターゲットデバイステーブルを示し、図36は、クライアントテーブルを示す。
図32に示すテーブルTable_Scheduleには、更新スケジュールが登録されており、[Schedule_No]カラムC3201はユニークなスケジュール番号が設定されるカラムである。
[Task_No]カラムC3202は、テーブルTable_Taskに登録されているタスク番号が設定されるカラムである。[Schedule]カラムC3203は、図27により設定されたタスクを実行する方法が設定されるカラムである。
[Status]カラムC3204は、タスクの実行状態が設定されるカラムで、<close>が設定された場合は、タスクが実行されたことを意味し、<open>が設定された場合は、タスクが実行されていないことを意味する。
図33は、図32に示した、[Task_No]カラムC3202に示されるタスク番号に対応したタスク情報を図32テーブルTable_Taskにその一例を示している。
図33において、[Task_No]カラムC3301は、テーブルTable_Scheduleの[Task_No]カラムと連動するユニークなタスク番号が設定されるカラムであ。
[Task_Name]カラムC3302は、図27により設定されたタスク名称が設定されるカラムである。[Association_No]カラムC3303は、本実施形態では詳細を図34に示すテーブルTable_Associationの[Association_No]カラムC3401において使用される関連付け番号が設定されるカラムである。
[Client_No]カラムC3304は、本実施形態では詳細を図36に示すテーブルTable_Clientに示す、本タスクが適用されるクライアント番号が設定されるカラムである。
次に、[Association_No]カラムC3303に示される関連付け番号に対応した関連付け情報を図34に示すテーブルTable_Associationを参照して説明する。
図34において、[Association_No]カラムC3401はテーブルTable_Taskの[Assocaition_No]カラムと連動するユニークな関連付け番号が設定される番号である。[Association_Name]カラムC3402は、図22において、設定された関連付け名称が設定されるカラムである。
Target_Devie_No]カラム3403は、詳細を図35に示すテーブルTable_Deviceに対して、図20に示したユーザインタフェース画面において、関連付けが適用されている指定したデバイス番号が設定されるカラムである。
[Driver_No]カラムC3404は、詳細を図36に示すテーブルTable_Driverにおいて、関連付けが適用されている、図21に示すユーザインタフェース画面で設定したドライバ番号が設定されるカラムである。
次に、図34に示した[Target_Device_No]カラムに示されるデバイス番号に対応したデバイス情報を図35に示すテーブルTable_Deviceを参照して説明する。
図35において、[Target_Device_No]カラムC3501は、図34に示したテーブルTable_Associationの[Target_Device_No]カラムC3403と連動するユニークなデバイス番号が設定されるカラムである。[Device Name]カラムC3502は、[Device Database]セクションツリービューTVで、選択されたグループに所属するデバイス一覧を示すカラムである。
[IP Address]カラムC3503は、そのデバイスに割り振られているIPアドレスを示すカラムである。[Location]カラムC3504は、そのデバイスが位置している情報を示すカラムである。
[PDL]カラムC3505は、そのデバイスに搭載されているPDLを示すカラムである。[Language]カラムC3506は、そのデバイスが動作している言語を示すカラムである。[misc]カラムC3507は、ドライバの選定に影響のある情報を示すカラムである。
次に、テーブルTable_Taskの[Client_No]カラムに示されるクライアント番号に対応したクライアント情報を図36に示すテーブルTable_Clientを参照して説明する。
図36において、[Client_No]カラムC3601は図33に示したテーブルTable_Taskの[Client_No]カラムC3304と連動するユニークなデバイス番号が設定されるカラムである。
[Computer Name]カラムC3602は物理的に存在する予めサーバ1000が探索したクライアント一覧を示すカラムである。
[OS]カラムC3603はそのクライアントに搭載されているオペレーティングシステムを示すカラムである。[Network]カラムC3604はそのクライアントがどのようなネットワーク環境に属しているかの情報を示すカラムであり、本例では、DomainもしくはWorkgroupを表記する。
[Domain/Workgroup]カラムC3605は、[Network]カラムC3604の属性に対する実際の名称を示すカラムである。本例では、Domainに対するドメイン名称、Workgroupに対するワークグループ名称を示している例である。
[ID]カラムC3606は、Domain環境であるならば、DomainのID、Workgroupならば、そのクライアントのAdmin権限を持つIDを示すカラムである。[Password]カラムC3607は、[ID]カラムC3606に対するパスワードを示すカラムである。
[Status]カラムC3608は、第1情報管理DB部1072にIDとPasswordが既に設定されているか否かを示すカラムである。
まず、S3001で、イベント情報取得処理を行う。ここで、イベント情報とは、図4に示すS43においてドライバセット登録された場合に、図10に表示したドライバ一覧のデータに位置する第一情報管理DB1072に保存される情報である。具体的には、図8B、図8Cに示すドライバテーブル中のカラムC8B7に設定される情報である。
次に、S3002で、第1ドライバ制御部1071が取得したイベント情報の内容が判、更新イベントかどうかを判断する。本実施形態では、この時点では、図8Cに示す通り、[Drive_No] <100010>、<100011>に関しては、Eventカラム情報は、すべて<ON>であるので、更新イベントであると判断して、S3003へ進む。
一方、S3002で、第1ドライバ制御部1071が取得したイベント情報の内容が判、更新イベントでないと判断した場合は、本処理を終了する。
そして、S3003で、第1ドライバ制御部1071が更新が必要な関連付け情報が存在するか否かを第一情報管理DB1072に保存される図34に示す関連づけテーブルから判断する。
本実施形態では、該関連づけテーブルの一例を、図34に示すテーブルTable_Associationを示すが、この時点では、関連づけテーブルTable_Associationの情報は、まだ登録されていない。このため、S3003は、更新が必要な関連付け情報が存在しないと判断されて、本処理を終了する。
続いて、S3003で、第1ドライバ制御部1071が更新が必要な関連付け情報があるか否かの判断を行う。本実施形態では、図8Cにおいて、<100010>と<100011>と、[Driver_No]、[Verison]および[Event]以外の情報が同一のドライバ番号をサーチすることを意味する。
図8Cにおいて、第1ドライバ制御部1071が、[Driver_No] <100000>、<100001>がそれぞれ<100010>、<100011>と合致することが解る。このとき、更に、第1ドライバ制御部1071がそれぞれの[Version]を参照し、比較元である<100010>、<100011>の[Version]の方が新しいか否かを判断する。ここで、第1ドライバ制御部1071が新しいと判定した場合には、次に、[Driver_No] <100000>、<100001>を使用している関連付け情報があるか否かを図34に示すテーブルTable_Associationから判断する。本実施形態では、[Association_No] <100>、<101>にて、使用されていることが判明するので、S]3003で、更新が必要な関連付け情報が存在すると判断して、S3004へ進む。
次に、S3004で、更新対象となる図34の[Association_No]<100>、<101>の[Driver_No]情報を<100000,100001>から<100010,100011>に更新する。
次に、S3005で、第1ドライバ制御部1071が図33及び図32から関連するタスクが存在するか否かを判定する。本実施形態では、図34においては、[Association_No]<100>を使用している[Task_No]<10>、図32」においては、[Schedule_No <1>が該当する。このため、S3005で、第1ドライバ制御部1071が図33及び図32から関連するタスクが存在すると判断して、S3006へ進む。なお、S3005で、関連するタスクが存在しないと判断した場合は、本処理を終了する。
次に、S3006で、S3005において、第1ドライバ制御部1071が図34に示すテーブル中の[Association_No]<100>が使用されている図32に示すスケジュールの情報を参照する。
そして、図32に示すテーブル中の[Status]が<close>である場合には、そのタスクが既に実行済みであることを意味するので、第1ドライバ制御部1071が[Status]において未実行を示す<open>に変更する。さらに、第1ドライバ制御部1071が[Schedule]を、現時点から先の時刻に設定する。
このとき、図17、図27に示すようなユーザインタフェースを表示し設定を促すことも可能であり、他方、自動的に予め決められた時刻に予約することも可能である。
最後に、S3007で、第1ドライバ制御部1071が図8Cに示す[Driver_No]<100010>、<100011>に対する[Event]を<OFF>に変更して、本処理を終了する。すなわち、本実施形態では、図35におけるカラムEventの値は、すべて<OFF>に更新することを意味する
続いて、上述したような、図4に示したS41,S49、S50、S51が実行される事により、自動的にクライアントのドライバがアップデートされることとなる。
〔第2実施形態〕
以下、図37、図38に示すメモリマップを参照して本実施形態を示す情報処理装置、サーバ装置で読み取り可能なデータ処理プログラムの構成について説明する。
図37は、本発明に係る情報処理装置で読み取り可能な各種データ処理プログラムを格納する記憶媒体のメモリマップを説明する図である。
図38は、本発明に係るサーバ装置で読み取り可能な各種データ処理プログラムを格納する記憶媒体のメモリマップを説明する図である。
なお、特に図示しないが、記憶媒体に記憶されるプログラム群を管理する情報、例えばバージョン情報,作成者等も記憶され、かつ、プログラム読み出し側のOS等に依存する情報、例えばプログラムを識別表示するアイコン等も記憶される場合もある。
さらに、各種プログラムに従属するデータも上記ディレクトリに管理されている。また、各種プログラムをコンピュータにインストールするためのプログラムや、インストールするプログラムが圧縮されている場合に、解凍するプログラム等も記憶される場合もある。
本実施形態における図4、図7、図11、図14、図18、図19、図24,図28、図29、図30に示す機能が外部からインストールされるプログラムによって、ホストコンピュータにより遂行されていてもよい。そして、その場合、CD−ROMやフラッシュメモリやFD等の記憶媒体により、あるいはネットワークを介して外部の記憶媒体から、プログラムを含む情報群を出力装置に供給される場合でも本発明は適用されるものである。
以上のように、前述した実施形態の機能を実現するソフトウエアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給する。そして、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
この場合、記憶媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
従って、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等、プログラムの形態を問わない。
プログラムを供給するための記憶媒体としては、例えばフレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD−ROM、CD−R、CD−RW、磁気テープ、不揮発性のメモリカード、ROM、DVDなどを用いることができる。
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する。そして、該ホームページから本発明のコンピュータプログラムそのもの、もしくは、圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバやftpサーバ等も本発明の請求項に含まれるものである。
また、本発明のプログラムを暗号化してCD−ROM等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけではない。例えばそのプログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行う。そして、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込ませる。その後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
本発明は上記実施形態に限定されるものではなく、本発明の趣旨に基づき種々の変形(各実施形態の有機的な組合せを含む)が可能であり、それらを本発明の範囲から排除するものではない。
本発明の様々な例と実施形態を示して説明したが、当業者であれば、本発明の趣旨と範囲は、本明細書内の特定の説明に限定されるのではない。
本発明の第1実施形態を示す情報処理装置、サーバ装置、画像形成装置を含むネットワークシステムの構成を説明する図である。 図1に示したサーバとクライアントとのハードウエアの構成を説明するブロック図である。 図1に示したネットワークシステムにおけるドライバインストールのワークフローを説明する概念図である。 本実施形態を示すサーバ装置における第1のデータ処理手順の一例を示すフローチャートである。 本実施形態を示すサーバで予定しているドライバインストール情報一覧の一例を示す図である。 図2に示した第2表示部に表示されるドライバデータベースの一覧表示画面の一例を示す図である。 本実施形態を示すサーバ装置における第2のデータ処理手順の一例を示すフローチャートである。 図2に示した第2表示部に表示されるユーザインタフェース画面の一例を示す図である。 図2に示した第2表示部に表示されるユーザインタフェース画面の一例を示す図である。 図2に示した第2表示部に表示されるユーザインタフェース画面の一例を示す図である。 本実施形態を示すサーバ装置に登録するドライバセットの一例を示す図である。 図2に示した第2表示部に表示される登録されたドライバデータベースの一覧表示画面の一例を示す図である。 本実施形態を示すサーバ装置における第3のデータ処理手順の一例を示すフローチャートである。 図2に示した第2表示部に表示されるユーザインタフェース画面の一例を示す図である。 図2に示した第2表示部に表示されるユーザインタフェース画面の一例を示す図である。 本実施形態を示すサーバ装置における第4のデータ処理手順の一例を示すフローチャートである。 図2に示した第2表示部に表示されるユーザインタフェース画面の一例を示す図である。 図2に示した第2表示部に表示されるユーザインタフェース画面の一例を示す図である。 図2に示した第2表示部に表示されるユーザインタフェース画面の一例を示す図である。 本実施形態を示すサーバ装置における第5のデータ処理手順の一例を示すフローチャートである。 本実施形態を示すサーバ装置における第6のデータ処理手順の一例を示すフローチャートである。 図2に示した第2表示部に表示されるユーザインタフェース画面の一例を示す図である。 図2に示した第2表示部に表示されるユーザインタフェース画面の一例を示す図である。 図2に示した第2表示部に表示されるユーザインタフェース画面の一例を示す図である。 図2に示した第2表示部に表示されるユーザインタフェース画面の一例を示す図である。 本実施形態を示すサーバ装置における第7のデータ処理手順の一例を示すフローチャートである。 図2に示した第2表示部に表示されるユーザインタフェース画面の一例を示す図である。 図2に示した第2表示部に表示されるユーザインタフェース画面の一例を示す図である。 図2に示した第2表示部に表示されるユーザインタフェース画面の一例を示す図である。 本実施形態を示すサーバ装置における第8のデータ処理手順の一例を示すフローチャートである。 本実施形態を示す情報処理装置における第1のデータ処理手順の一例を示すフローチャートである。 本実施形態を示すサーバ装置における第9のデータ処理手順の一例を示すフローチャートである。 図2に示した第2表示部に表示されるユーザインタフェース画面の一例を示す図である。 図2に示した第1情報管理DB部に記憶されるテーブルの一例を示す図である。 図2に示した第1情報管理DB部に記憶されるテーブルの一例を示す図である。 図2に示した第1情報管理DB部に記憶されるテーブルの一例を示す図である。 図2に示した第1情報管理DB部に記憶されるテーブルの一例を示す図である。 図2に示した第1情報管理DB部に記憶されるテーブルの一例を示す図である。 本発明に係る情報処理装置で読み取り可能な各種データ処理プログラムを格納する記憶媒体のメモリマップを説明する図である。 本発明に係るサーバ装置で読み取り可能な各種データ処理プログラムを格納する記憶媒体のメモリマップを説明する図である。
符号の説明
1000 サーバ
1010 第1表示部
1020 第1入力部
1060 第1記憶部
1072 第1データ制御部
2100 クライアント
2010 第2表示部
2020 第2入力部
2060 第2記憶部
2072 第2データ制御部

Claims (14)

  1. 複数のクライアント装置がネットワーク上に接続される複数のデバイスのいずれかを使用可能とするためのデバイスドライバを管理するサーバ装置であって、
    各クライアント装置に対してインストール可能なデバイスドライバを関連づけて記憶する記憶手段と、
    前記記憶手段に記憶されたいずれかのデバイスドライバをいずれかのクライアント装置にインストールするドライバインストールタスクと、いずれかのクライアント装置にデバイスドライバのインストールを問い合わせるエージェントをインストールするエージェントインストールタスクを作成する作成手段と、
    を具備したことを特徴とするサーバ装置。
  2. 前記作成手段により作成されたドライバインストールタスクをスケジュールに基づいて実行するドライバタスク実行手段を具備したことを特徴とする請求項1記載のサーバ装置。
  3. 前記作成手段により作成されたエージェントインストールタスクをスケジュールに基づいて実行するエージェントインストールタスク実行手段を具備したことを特徴とする請求項1記載のサーバ装置。
  4. 前記作成手段は、複数のクライアント装置のリソース属性に応じてグループ分けされたクライアントグループ毎にドライバインストールタスクを作成することを特徴とする請求項1乃至3のいずれか1項に記載のサーバ装置。
  5. 前記リソース属性は、オペレーティングシステム、ネットワーク、ドメインまたはワークグループを識別可能な属性であることを特徴とする請求項4に記載のサーバ装置。
  6. 前記スケジュールは、前記作成手段が作成するドライバインストールタスクまたはエージェントインストールタスクに対して独立したタスク実行スケジュールを設定可能とすることを特徴とする請求項1乃至3のいずれか1項に記載のサーバ装置。
  7. 複数のクライアント装置がネットワーク上に接続される複数のデバイスのいずれかを使用可能とするためのデバイスドライバを管理するサーバ装置におけるドライバ処理方法であって、
    各クライアント装置に対してインストール可能なデバイスドライバを関連づけて記憶手段に記憶された、いずれかのデバイスドライバをいずれかのクライアント装置にインストールするドライバインストールタスクと、いずれかのクライアント装置にデバイスドライバのインストールを問い合わせるエージェントをインストールするエージェントインストールタスクを作成する作成工程を具備したことを特徴とするドライバ処理方法。
  8. 前記作成工程により作成されたドライバインストールタスクをスケジュールに基づいて実行するドライバタスク実行工程を具備したことを特徴とする請求項7記載のドライバ処理方法。
  9. 前記作成工程により作成されたエージェントインストールタスクをスケジュールに基づいて実行するエージェントインストールタスク実行工程を具備したことを特徴とする請求項7記載のドライバ処理方法。
  10. 前記作成工程は、複数のクライアント装置のリソース属性に応じてグループ分けされたクライアントグループ毎にドライバインストールタスクを作成することを特徴とする請求項7乃至9のいずれか1項に記載のドライバ処理方法。
  11. 前記リソース属性は、オペレーティングシステム、ネットワーク、ドメインまたはワークグループを識別可能な属性であることを特徴とする請求項10に記載のドライバ処理方法。
  12. 前記スケジュールは、前記作成手段が作成するドライバインストールタスクまたはエージェントインストールタスクに対して独立したタスク実行スケジュールを設定可能とすることを特徴とする請求項7乃至9のいずれか1項に記載のドライバ処理方法。
  13. 請求項7乃至12のいずれか1項に記載のドライバ処理方法をコンピュータに実行させるためのプログラムを格納したことを特徴とするコンピュータが読み取り可能な記憶媒体。
  14. 請求項7乃至12のいずれか1項に記載のドライバ処理方法をコンピュータに実行させることを特徴とするプログラム。
JP2007036114A 2007-02-16 2007-02-16 サーバ装置、ドライバ処理方法、記憶媒体、プログラム Withdrawn JP2008203930A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2007036114A JP2008203930A (ja) 2007-02-16 2007-02-16 サーバ装置、ドライバ処理方法、記憶媒体、プログラム
US11/837,796 US7620960B2 (en) 2007-02-16 2007-08-13 Information processing apparatus storing driver, control program, and medium storing control program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007036114A JP2008203930A (ja) 2007-02-16 2007-02-16 サーバ装置、ドライバ処理方法、記憶媒体、プログラム

Publications (1)

Publication Number Publication Date
JP2008203930A true JP2008203930A (ja) 2008-09-04

Family

ID=39707751

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007036114A Withdrawn JP2008203930A (ja) 2007-02-16 2007-02-16 サーバ装置、ドライバ処理方法、記憶媒体、プログラム

Country Status (2)

Country Link
US (1) US7620960B2 (ja)
JP (1) JP2008203930A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8860983B2 (en) 2009-08-24 2014-10-14 Canon Kabushiki Kaisha Information processing apparatus, information processing method, and program

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5067853B2 (ja) * 2007-08-14 2012-11-07 キヤノン株式会社 データ処理装置、データ処理方法、及びコンピュータプログラム
JP4753321B2 (ja) * 2008-10-06 2011-08-24 キヤノンマーケティングジャパン株式会社 情報処理装置及びインストーラセット作成方法、プログラム、記憶媒体、並びに印刷システム
JP2010157134A (ja) * 2008-12-27 2010-07-15 Canon Inc 情報処理装置、情報処理方法及び情報処理システム
JP5783679B2 (ja) * 2010-01-15 2015-09-24 キヤノン株式会社 印刷装置、印刷システム、制御方法、及び、プログラム
JP5725873B2 (ja) * 2010-06-09 2015-05-27 キヤノン株式会社 印刷システム、情報処理装置、及びその方法
US9350615B2 (en) * 2011-05-23 2016-05-24 Samsung Electronics Co., Ltd. Management server, management device, and method of management of plural image forming apparatuses
JP5980040B2 (ja) 2012-08-10 2016-08-31 キヤノン株式会社 管理装置、管理装置の制御方法およびコンピュータプログラム
US20140129686A1 (en) * 2012-11-08 2014-05-08 Nvidia Corporation Mobile computing device configured to filter and detect application profiles, a method of manufacturing the same and an external source for delivering hierarchical filtered application profiles to mobile computing devices
US10250600B2 (en) 2015-07-27 2019-04-02 International Business Machines Corporation Updating database drivers for client applications through a database server push
US20180225325A1 (en) * 2017-02-07 2018-08-09 International Business Machines Corporation Application resiliency management using a database driver

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100248045B1 (ko) * 1997-05-19 2000-03-15 윤종용 하드디스크마스터제작시스템및그제작방법
EP1341075A4 (en) * 2001-03-30 2005-02-16 Seiko Epson Corp NETWORKING TECHNIQUE FOR DYSFUNCTION PREVENTION MEASURES
JP3919721B2 (ja) 2002-10-29 2007-05-30 キヤノン株式会社 情報処理方法及び情報処理装置
US7353509B2 (en) * 2003-05-27 2008-04-01 Akamai Technologies, Inc. Method and system for managing software installs in a distributed computer network
US7203745B2 (en) * 2003-05-29 2007-04-10 Akamai Technologies, Inc. Method of scheduling hosts for software updates in a distributed computer network
US8122145B2 (en) * 2004-05-17 2012-02-21 Nokia Corporation System, method and computer program product for grouping clients and transferring content in accordance with the same
US8584115B2 (en) * 2006-10-05 2013-11-12 International Business Machines Corporation Automated operating system device driver updating system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8860983B2 (en) 2009-08-24 2014-10-14 Canon Kabushiki Kaisha Information processing apparatus, information processing method, and program

Also Published As

Publication number Publication date
US20080201726A1 (en) 2008-08-21
US7620960B2 (en) 2009-11-17

Similar Documents

Publication Publication Date Title
JP2008203930A (ja) サーバ装置、ドライバ処理方法、記憶媒体、プログラム
US7853946B2 (en) Information processing apparatus, information processing method, and control program
JP2008203929A (ja) サーバ装置、クライアント装置、ドライバ処理方法、記憶媒体、プログラム
JP4646832B2 (ja) 印刷装置及びそれらの制御方法、印刷管理システム、プログラム
JP5293035B2 (ja) データ処理装置、データ処理方法、プログラムおよび記録媒体
US20120059916A1 (en) Network device management system, network device management apparatus, client apparatus, and network device management method
JP2006164240A (ja) データ処理装置および印刷設定処理方法およびコンピュータが読み取り可能な制御プログラムを格納した記憶媒体および制御プログラム
US10878055B2 (en) Web server
JP2007272765A (ja) 情報処理装置、サムネイル管理装置、コンテンツ処理方法、記憶媒体、プログラム
JP2006099307A (ja) 分散サーバへのアプリケーションセットのインストール方法
JP5786439B2 (ja) 印刷制御装置、印刷制御システム、印刷制御プログラム、及びそのプログラムを記録した記録媒体
JP3774684B2 (ja) 情報処理装置および情報処理装置のプリンタ設定方法およびプログラムおよび記録媒体
JP6840986B2 (ja) 印刷管理装置及びプログラム
US7202961B2 (en) Method for dynamically creating a printer driver
US20040051901A1 (en) Information processsing apparatus, a function extension program, computer readable storage medium storing the program, and information processing method
JP4912288B2 (ja) 管理装置及び情報処理方法
JP4903064B2 (ja) 印刷制御装置、印刷制御方法、及び印刷制御プログラム
JP2006163993A (ja) データ処理システムおよびデータ処理装置およびデータ処理方法およびコンピュータが読み取り可能なプログラムを格納した記憶媒体およびプログラム
JP5140350B2 (ja) 情報処理装置
JP5389219B2 (ja) 情報処理装置、印刷設定方法、及びプログラム
JP2006171991A (ja) 代行及び分散印刷システム
JP2010218352A (ja) 機器管理装置、画像形成装置、及び機器管理プログラム
JP5040026B2 (ja) 情報処理装置
JP2011248729A (ja) 印刷制御装置、画像処理装置、印刷制御システム、印刷制御方法、印刷制御プログラム、及びそのプログラムを記録した記録媒体
JP2009064060A (ja) 情報処理装置

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20100511