<装置の説明>
図1は、本実施形態を示す情報処理システムの一例を説明する図であり、ネットワーク機器をネットワークに接続した場合のネットワーク構成を示している。
図1において、102はプリンタで、開放型アーキテクチャを持ち、ネットワークボード(NB)101を介してネットワークに接続されている。NB101は、同軸コネクタをもつEthernet(イーサネット)(登録商標)インタフェース10Base−2や、RJ−45をもつ10Base−Tなどのローカルエリアネットワークインターフェースを介して、ローカルエリアネットワーク(LAN)100に接続される。
また、LAN100には、PC103,104,111,112などの複数のパーソナルコンピュータ(PC)が接続されており、これらのPC103,104,111,112は、ネットワークオペレーティングシステムの制御のもと、NB101と通信することができる。したがって、PCの1つ、例えばPC103をネットワークデバイス管理用PC(管理サーバ)として使用することができる。また、PC104にプリンタ105をローカルプリンタとしてローカル接続してもよい。また、PC111にはプリンタ18,画像読み取り機器1Bがローカル接続されている。
また、106,113はファイルサーバとして機能するPCで、LAN100に接続されており、大容量(例えば、100億バイト)のネットワークディスク107,114に記憶されたファイルへのアクセスを管理する。
また、PC104はプリンタサーバとして機能するPCとしても機能し、ローカルに接続されたプリンタ105,遠隔地にあるプリンタ102等のプリンタへの印刷を管理する。115はスキャナサーバとして機能するPCで、ローカル接続されたスキャナ117,遠隔地にあるスキャナ110などのスキャナを管理する。なお、スキャナサーバとして機能するPC115には、プリンタ116がローカル接続されている。
スキャナ110は、図示しないネットワークボード等を介してLAN100に接続されている。また、118は複写機で、イメージプロセッシングユニット119の管理制御の下に、プリンタやスキャナとしての機能を提供している。
図1に示すネットワークでは、様々なネットワークメンバ間で効率よく通信を行うために、NovellやUNIXなどのネットワークソフトウェアを使用することができる。例えば、Novell社のNetWare(Novell社の登録商標。以下、省略)ソフトウェアを使用することができる。このソフトウエアパッケージに関する詳細説明は、NetWareパッケージに同梱されているオンラインドキュメンテーションに記載されている。
PC103及びPC104はそれぞれ、データファィルの生成、生成したデータファイルのLAN100への送信、またLAN100からのファイルの受信、さらにそれらのファイルの表示および/または処理等を行うことができる一般的なPCである。
図1では、ネットワークに接続される情報処理装置の一例としてパーソナルコンピュータ機器(PC)が示されているが、ネットワークソフトウエアを実行するのに適した他のコンピュータ機器であってもよい。例えば、UNIXのソフトウェアを使用している場合にはUNIXワークステーションをネットワークに接続してもよく、これらのワークステーションは図示されているPCと共に使用される。
また、通常LAN100は、比較的ローカルなユーザグループに、例えば、1つの建物内の1つの階又は連続した複数の階のユーザグループ等にサービスを提供する。一方、ユーザが異なる建物や異なる地域にいるなど、ユーザ同士が離れるにしたがって、ワイドエリアネットワーク(WAN)を構築してもよい。なお、基本的には、WANはいくつかのLANがサービス総合デジタルネットワーク(ISDN)などの高速度デジタル線で接続されることにより形成される、LANの集合体である。
例えば、図1に示すように、LAN100とLAN120とが、バックボーン140によって接続されることにより、WANが形成される。LAN100,LAN120にそれぞれ接続されている機器は、WAN接続を介して他のLANに接続されている機器の機能にアクセスすることができる。例えばLAN120に接続されるPC121,122はWAN接続を介してLAN100に接続される各PCやサーバやプリンタ,スキャナ,複写機等の各種デバイス(周辺機器)に接続し、各種ファイル,データ等を送受することができる。
図2は、本実施形態を示すクライアント構成を説明するブロック図であり、イーサネット(登録商標)などのLANを介して所定の周辺機器(プリンタ、スキャナ、モデム、複合画像処理装置などを含む)と直接通信可能構成されており、更には周辺機器がローカル接続されたほかのデータ処理装置と所定のプロトコルにより通信可能に構成されているものとする。データ処理装置のブロック図を図2を用いて説明する。なお、本実施形態では、情報処理装置は図1のPC111に対応している。なお、図1と同一のものには同一の符号を付してある。
図2において、1はシステムバスで、以下で説明する各構成ブロックはこのシステムバスに接続されている。2はCPU(Central Processing Unit)で、システムバス1に接続される各構成ブロックを統括制御する。3はプログラムメモリ(PMEMと称す)で、本処理のためのプログラムを適宜ハードディスク10から選択/読込みし、CPU2にて実行する。又、キーボード12から入力されたデータはテキストメモリでもあるPMEM3にコード情報として格納される。
4は通信制御部で、通信ポート5に於ける入出力データの制御を行う。通信ポート5から出力された信号は、通信回線6を経由して、ネットワーク(LAN,WAN等)に接続される他の装置7(図2に示した各PC,サーバ,デバイス等)の通信ポートに伝えられる。ネットワーク上で共有されているプリンタ,画像読み取り装置等の各種デバイスとの各種データの送受は、この通信制御部4を介して行われる。また、本実施形態ではLAN等のネットワークにPCが接続される場合について記述するが、この通信制御部4に接続される通信ポート5及び通信回線6が一般の公衆回線(電話回線,インターネット回線等)であっても本発明が適応されることは言うまでもない。
8は外部記憶装置制御部である。9,10はデータファイル用のディスクで、データファイル等各種データを記憶する。ここでは一例として9をフロッピー(登録商標)ディスク(FDと称す)とし、10をハードディスク(HDと称す)とする。
11は入力制御部であり、キーボード12,マウスやポインティングデバイス(PDと称す)13等の入力装置が接続される。操作者はこのキーボード12を操作することによりシステムの動作指令等を行う。またポインティングデバイス13はCRT16上で画像情報を加工指示するためのもので、本実施形態ではマウスを使用している。これによりCRT16上のカーソルをX,Y方向任意に移動してコマンドメニュー上のコマンドアイコンを選択して処理の指示を行なうほか編集対象の指示、描画位置の指示等もおこなう。
14はビデオイメージメモリ(VRAMと称す)、15は表示出力制御部である。CRT16に表示されるデータはVRAM14上にビットマップデータとして展開されている。
17はプリンタ制御部であり、接続されているプリンタ18に対するデータの出力制御を行う。1Aは画像読み取り機器制御部であり、接続されている画像読み取り機器1Bの制御を行う。19は外部機器制御部であり、プリンタ制御部17または画像読取機器制御部1Aを介して外部機器の動作を制御する。
なお、ネットワークに接続されるスキャナサーバとして機能するPC(画像読み取りサーバ装置)115には、画像読み取り機器制御部1A,画像読み取り機器1Bの構成要素が必須であるが、クライアント側装置、例えばPC111,112,121,122等では、前述のように、通信制御部4及び通信ポート5を介してスキャナサーバとして機能するPC115側の共有されている画像読み取り機器制御部1A,画像読み取り機器1B等の構成要素を使用することができる。
更に、図2に示したPCの構成は、画像読み取り機器と画像読み取り装置が物理的に別々のコンポーネントであっても、画像読み取り装置が、画像読み取り機器を含む1つのコンポーネントであっても同様な機能を有することとする。
なお、本実施形態においてHD10に記憶されるプログラムは、PCに直接接続されているFD9等の記憶媒体にも記憶されていてもよいし、図示しないROMに記憶されていてもよい。さらに、ネットワークで接続されている他の装置(PC等)上に記憶されていてもよい。また、本発明のプログラムは、FDやHDなどの記憶媒体やネットワークを介してシステムや装置に供給できる。
また、図1に示した各PC,サーバ等も同様に図2に示した制御構成を備えているが、接続されるデバイスが異なっている。
図3は、図2に示したCRT16に表示されるデバイス表示ウインドウ300の一例を説明する図である。なお、デバイス表示ウインドウ300は、後述する図10に示すフローチャートのステップS202、及び、図21に示すフローチャートのステップ(3)でPC111のCRT16に表示される。
図3において、300は、ドライバ編集ユーザインタフェースにおけるメインウィンドウで、メニュー、ツールバー、システム表示ウィンドウを表示する。301はツールバーで、ネットワークに接続されるPC及びデバイスを操作して行う各機能のアイコン301a〜301fが表示される。303はメニューバーで、メインメニュー303a,編集303b,表示303c,デバイス303d,ヘルプ303eのメニューが表示されている。
302はシステム表示ウインドウで、図1に示した情報処理システムを模式的に表示するウインドウであり、ネットワークに接続されるPC及びデバイスを表すアイコン302a〜302zが表示されている。例えば、アイコン301cは、システム表示ウインドウ302上で選択されたアイコンに対応するスキャナから画像データの読み込みを実行指示するためのものである。
アイコン302a〜302zは、ネットワーク上で共有されているPC及びデバイスを示すものである。これらのアイコン302a〜302zはネットワーク上のPC,プリンタ,スキャナ,FAXモデム,図1に示したプリンタ102等のネットワークプリンタ,図1に示したスキャナ110等のネットワークスキャナ,複写機等のデバイスの種類、あるいは「処理中」,「エラー発生」等のステータスによってアイコンの表示形態が変更されてシステム表示ウインドウ302に表示される。
302aはルートアイコン、302bは自機がログオンしているドメインを表すアイコン、302cは自機を表わすアイコンであり、図1に示したPC111に対応する。自機は特別な機器であるためにネットワークに接続される他のPCとは区別して表示される。また、図3において、自機の情報処理装置は、他のPCと同じLANに接続されているが、他のPCとは異なる段落に表示されている。図3に示すようにシステム表示ウインドウ302では、各デバイス(情報処理装置、周辺処理装置を含む)は3つの段落に分かれており、自機及び自機にローカル接続されている周辺機器は、一番上の段落に表示され、それ以外のデバイスは、二番目以降の段落に表示されている。また、アイコン302m,302pのようにネットワーク上では共有されているが、自機にドライバがインストールされていないPC及びデバイスはアイコンの表示形状がグレー表示される。
さらに、アイコン302dの表示形態は、このスキャナが現在スキャンニング中であることを示す。また、アイコン302nの表示形態は、このプリンタに3つのジョブ(図中の[3])がスプールされていることを示す特定のマーク情報がプリンタアイコン302nの近傍に表示される。アイコン302zの表示形態は、アイコン302nにより示される機器のドライバが自機にインストールされているが何らかの理由で使用不可状態であることを示す特定のマーク情報(図中の×)がアイコン上に重なるように表示される。
このように、このデバイス表示ウインドウ300でネットワーク上の全てのPC及びデバイスの接続状態及びステータスを確認することができる。なお、図3に示したこのデバイス表示ウインドウ300では、画面の都合上、ネットワーク上のPC及びデバイスを示すアイコン全てが表示されていないが、画面横に配置されているスクロールバー304を使って全てのPC及びデバイスのステータス等を確認することができる。
なお、本実施例において、ネットワーク上のすべてのデバイスとは、自機302cがログインしているドメイン302b配下のデバイスであるが、これに限るものではなく、ルーター302aで管理しているIPアドレスに含まれるデバイスであってもよい。
図4は、図2に示したCRT16に表示されるデバイス表示ウインドウ300上での操作方法の一例を説明する図である。なおここでは、デバイスのドライバのバージョンをチェックして更新を指示する場合の操作方法を一例に用いて説明する。
図4において、501〜503はプルダウンメニューで、デバイス303dがマウスやデジタイザー機能を持った電子ペンなどのポインティングデバイス13により選択された場合に表示される。本アプリケーションを実行することによりCRT16に表示されるデバイス表示ウインドウのメニュー303のデバイス303dを選択し、プルダウンメニュー501〜503内の「ドライバの更新」をポインティングデバイス13により1クリック等の1つの動作指示を行うことにより実行される。
図4では、図3に示したシステム表示ウインドウ302内のプリンタを示すアイコン302qをポインティングデバイス13で選択された状態で、プルダウンメニュー「ドライバの更新」503をポインティングデバイス13で1クリック等の1つの動作指示を行うことにより実行指示を行った場合、このアイコン302qにより示されるプリンタのドライバのバージョンをチェックしてドライバの更新処理が行われる。
また、ドメインアイコン302bを選択して同様の操作を行った場合、自機のPCにインストールされているドメイン内の全ての機器のドライバのバージョンチェックをしてドライバの更新処理を行う。全てのドライバのバージョンをチェックする場合には、1回の操作で全ての機器のドライバのバージョンのチェック処理を行える反面、より多くのデータをネットワーク上でやり取りをするために処理時間がかかるとともに、ネットワークのトラフィックに負荷をかけてしまう。
また、選択した機器のドライバのバージョンをチェックする場合には、必要なデバイスのみについてバージョンのチェック処理を行えるので処理時間が短く、また、ネットワークのトラフィック負荷をあまりかけないで済む。しかし、全てのデバイスについてどのドライバのバージョンが更新されているかをユーザがそれぞれのデバイスに対してチェックしなければならない。
また、図3に示したシステム表示ウインドウ302内のプリンタを示すアイコン302pをポインティングデバイス13で選択し、プルダウンメニューの「ドライバのインストール」501をポインティングデバイス13で1クリック等の1つの動作指示を行うことにより実行指示を行った場合、このアイコン302pにより示されるプリンタのドライバ情報がドメインアイコン302bの示す管理サーバからダウンロードされ、ダウンロードされたドライバ情報に基づいてプリンタドライバが自機内に自動的にインストールされる。本実施例において、このドライバ情報とはドライバインストーラーであり、ダウンロード完了とともに自動的に実行され、該当するデバイスドライバをインストールするソフトウェアプログラムである。ドメイン302bの示す管理サーバは配下のすべてのデバイスのドライバ設定情報(インストーラー)を保持している。また、ドライバ情報は、ドライバインストーラーでなくてもよく、プリンタドライバを構成するモジュールを自機にダウンロードし、ダウンロードしたモジュールを自機のOSにコピーし、かつレジストリを書き換えて、インストールを行うことも可能である。この場合、本情報処理プログラム自体がドライバの自動インストール機能を有しており、管理サーバからダウンロードしたドライバ情報を自機にインストールすることも可能である。自動インストール機能とは、ドライバモジュールのインストールだけでなく、IPアドレスやポートの設定をユーザが行うことなく、使用できる環境に自動設定する処理である。本情報処理プログラムは、IPアドレスやポート番号を管理サーバからドライバ設定情報として同時にもらうものとする。
図5は、図1に示した管理サーバ103のPMEM3,HD10等に記憶されるネットワーク上のデバイス等各種装置のドライバ設定情報のデータ構造の一例を説明する図である。
図5において、41はヘッダ部で、管理サーバ103が管理しているドライバ設定情報の登録数(データ数)を記憶する領域41aと、コメントを記憶する領域41bとを有している。
42はデータ部である。42aは登録されるドライバの名称を記憶する領域である。42bは登録されているドライバのバージョン情報を記憶する領域である。42cは登録されているドライバが対応するOS情報を記憶する領域である。なお、OS情報としては、Windows(登録商標)95/98,Windows(登録商標)NT3.51,WINDOWS(登録商標)4.0,WINDOWS(登録商標)2000,MS−DOS,Macintosh(更に、USB接続、シリアル接続、Ethernet接続),UNIX(商品名)等がある。42dはドライバ設定情報を記憶する領域である。42eはコメントを記憶する領域である。同様にしてデータ部42には領域41aに記憶されている登録数だけドライバの名称,バージョン情報,対応OS情報,コメントを1組としたデータが記憶されている。
なお、ドライバ設定情報とは、ネットワークに接続される各PCでデバイスのドライバをインストールして、そのデバイスのドライバをインストールするために必要なデータ及び情報を抽出して、バージョン情報などのその他のドライバ情報と併せて作成した情報データである。
また、ドライバの設定情報を一元管理する管理サーバ103がネットワークにない場合は、デバイスが接続されている、あるいはデバイスを管理しているPCでドライバ設定情報が管理される。
図6は、図2に示した情報処理装置で表示可能なドライバ設定情報一覧の一例を示す図である。図6のユーザインタフェース画面は、自機302cにおいて、どのデバイスアイコンも選択していない表示状態で、図4の「ドライバのインストール」501を実行指示した場合に、管理サーバからドライバ情報を取得し、取得したドライバ情報に基づいて表示される。
図6において、901はメインウインドウ、902はリスト一覧で、ドライバ名,対応OS,バージョン番号が表示される。
903は設定情報を切り替えるボタンで、自機内のシステムに予め用意されているデフォルトの設定情報を用いる場合に選択する。このボタン903を選択すると、OSのドライバインストール機能に切り替わり、通常のセットアップ処理に移る。904はインストール実行ボタンで、インストール実行ボタン904が選択されると、リスト一覧902で選択されたドライバ設定情報に基づいてドライバのインストールが実行される。
905はキャンセルボタンで、キャンセルボタン905が選択されるとドライバのインストールが中止される。
図7〜図9は、図2に示した情報処理装置のCRT16に表示されるメッセージダイアログの一例を示す図であり、図7は、後述する管理サーバからのドライバ抽出処理時に表示されるダイアログであり、図8は、自機の情報処理装置でのドライバインストール中に表示されるダイアログであり、図9は、管理サーバにドライバ設定情報が存在しない場合にエラーとして表示されるダイアログである。
図10は、本発明に係る情報処理装置における第1のデータ処理手順の一例を示すフローチャートであり、ネットワーク上の周辺機器に対するドライバインストール処理手順に対応する。なお、S201〜S214は各ステップを示す。なお、本処理は、図3に示すデバイス表示ウインドウが開かれた場合、もしくは、メニューバー303の表示303c内の「最新の情報に更新」という指示がなされた場合に実行される。
まず、ステップS201で、自機である情報処理装置のCPU2は、通信制御部4を介して、ネットワーク上の全ての共有されているPCおよび周辺機器の接続情報とそれらの機器の使用状況およびステータス情報を管理サーバ103に対して取得要求を出し、管理サーバ103からデバイスの使用状況およびステータス情報を取得する。そして、それらの情報をPMEM3上に記憶する。管理サーバ103は、本実施例において図3のドメインサーバ302bのことであり、WINDOWS(登録商標)Ntなどがサポートする所定のデバイス間通信の手順を用いて自機302cは管理サーバ302bから情報の取得を行う。
次に、ステップS202で、CPU2は、管理サーバ302bから取得した情報に基づいて、本制御プログラムによりPCおよび周辺機器を図3に示すようなユーザインタフェース画面のソースを生成し、OSの機能を用いてCRT16に画面表示する。なお、上述したように、動作中のものや使用できないものは視覚的に識別できるように表示されるものとする。
次に、ステップS203で、CPU2は、ローカルデバイスのドライバをインストールするかどうか判定する。これは、図3のシステム表示ウインドウ302において、ポインティングデバイスにより自機302の配下のデバイス(図3では、302d、302eのいずれか)が選択され、図4に示すプルダウンメニューの「ドライバのインストール」501が選択実行されたか否かCPU2が判定することにより実現する。ローカルデバイスのドライバをインストールする指示がされていないと判定した場合は、ステップS209以降へ進み、ローカルデバイスのドライバをインストールする指示がされたと判定した場合は、ステップS204に進む。
なお、ステップS204では、本情報処理装置は、図1の管理サーバ103からドライバ設定情報のリストを取得し、図6に示すセットアップ用のユーザインタフェース画面を生成し、OSの機能を用いてCRT16に表示する。また、管理サーバがない場合はネットワーク上の全てのPCに対して、ブロードキャストで要求を出し、各PC(情報処理装置)もしくは、ネットワーク直結のサーバ機能を持った周辺機器(図1における101)からそれぞれが管理しているドライバ設定情報を取得し、同様に一覧を作成して表示する。ここで、ドライバ設定情報とは、デバイスドライバをインストールするために必要な設定ファイル(DLLファイル)、ドライバファイルなどの情報のことである。また、前述したようにドライバインストーラーのような実行形式のファイルであってもよい。
次に、ステップS205で、CPU2は、ドライバ設定情報がリスト一覧にあるかどうか判定し、ドライバ設定情報がリスト一覧にあると判定した場合は、ステップS206に進む。ステップS205の判定は、CPU2が自動的に判断してもよいし、もしくはユーザによりインストール実行904ボタンが選択されたか、Windows(登録商標)データ使用903ボタンが選択されたかを判断することにより、CPU2が判定してもよい。
ステップS206では、管理サーバ103あるいは選択された周辺機器を管理しているPC(例えば図3における302gや302i)からドライバ設定情報を取得してドライバを自動インストールする。この際、ドライバのインストール中には、図8に示したインストール処理に関するメッセージがCRT16上に表示される。この自動インストールでは、前述したように、ドライバモジュールのインストールを自動で行うと共に、IPアドレスやポート番号等の設定も自動で行われる。
一方、ステップS205で、CPU2がリスト一覧にインストールすべきドライバ設定情報が存在しないと判定した場合、もしくは図6のユーザインタフェース画面において、ユーザがWindows(登録商標)データ使用903ボタンを選択した場合は、ステップS207に進み、ここでシステムが用意している通常のドライバのインストール処理を行う。そして、ステップS208で、CPU2は、インストールされたドライバ情報を自機のシステムから抽出し、図5に示すようなドライバ設定情報を作成して、作成したドライバ設定情報を管理サーバ103に登録するため、管理サーバ103にドライバ設定情報を送信する。この際、図7に示すドライバ抽出に関するメッセージが表示される。なお、管理サーバがない場合は、自機でドライバ設定情報を管理する。
次に、ステップS209で、CPU2は、ネットワークデバイスのドライバをインストールするかどうか判定する。これは、図3のシステム表示ウインドウ302において、ポインティングデバイスにより他の情報処理装置302gの配下のデバイス(図3では、302m、302nのいずれか)が選択され、図4に示すプルダウンメニューの「ドライバのインストール」501が選択実行されたか否かCPU2が判定することにより実現する。また、図3のシステム表示ウインドウ302において、ポインティングデバイスによりドメインアイコン302bが選択され、「ドラバのインストール」501が選択実行された場合も、ネットワークデバイスのドライバをインストールする指示と判定する。ネットワークデバイスのドライバをインストールする指示(操作方法としては例えば、図4においてドライバがインストールされていないプリンタ302pをマウスで指示することにより、実行することができる)がされたと判定した場合は、ステップS210に進む。
ステップS210において、自機のCPU2は、管理サーバ103に選択された周辺機器のドライバ設定情報があるかどうか問い合わせ、管理サーバがないと返答した場合は、自機のCPU2は、更に、選択された周辺機器を管理するPCにドライバ設定情報があるかどうか問い合わせて、もし、管理サーバ103もしくは周辺機器を管理するPCにドライバ設定情報があるかどうかを判定する。また、ドメインアイコン302bが選択された状態でのインストール指示の場合は、ドメインアイコンに対応する管理サーバ103の管理下にあるすべての周辺機器のドライバのインストールが指示されており、管理サーバ103の管理下の周辺機器のドライバは管理サーバ103にドライバ設定情報を保持しているため、管理サーバにドライバ設定情報があると判定されることになる。
ドライバ設定情報があると判定した場合は、ステップS211に進み、管理サーバあるいは選択された周辺機器を管理しているPCからドライバ設定情報を取得し、ローカルデバイスと同様な処理を行うことにより、ドライバをインストールする。この際、ドライバのインストール中には、図8に示したメッセージが表示される。
一方、ステップS210で、自機のCPU2は管理サーバ103及び周辺機器を管理しているPCのいずれにもドライバ設定情報が存在しないと判定した場合は、ステップS212に進み、図9に示したように、必要なドライバ設定情報が存在しないことをメッセージで表示する。
そして、ステップS213において、システムが用意している通常のドライバのインストール処理を行う。つまり、ユーザ手動によりドライバのインストールをOSの機能を用いて行う。ドライバ設定情報はCD−ROMや販売会社のホームページからユーザの指示によりダウンロードしたものを使用する。そして、ステップS214で、自機のCPU2は、インストールされたドライバ情報の抽出を行い、図5に示すようなドライバ設定情報を作成して、作成したドライバ設定情報を管理サーバに登録する。なお、管理サーバがない場合は、選択された周辺機器を管理するPCにドライバ設定情報を登録するため、管理サーバ103にドライバ設定情報を送信する。ドライバ情報の抽出中には、図7に示したメッセージが表示される。そして、処理を終了する。
このように、第1のデータ処理手順によれば、ネットワーク上で共有されているPCおよび周辺機器が表示されているウインドウにおいてそれらの機器を使用する際にドライバがインストールされていない場合、簡単操作でドライバをインストールできることによって作業効率を良くすることができる。
なお、上記第1実施形態では、アプリケーション内でドライバのインストールがされたかどうか判定して必要なドライバ設定情報を抽出しているが、ユーザは本アプリケーション以外でもドライバのインストール処理を実行することがある。その場合には、必要なドライバ設定情報が抽出されなくなってしまう。そこで、新たにドライバがインストールされたか監視する手段を備えて、必要なドライバ設定情報が抽出されるように構成してもよい。以下、その実施形態について説明する。
図11は、本発明の情報処理装置におけるドライバ状態確認設定画面の一例を示す図である。なお、ハード構成については、図1と同様とする。
図において、1101はメインウインドウ、1102は確認する時間間隔、1103は設定実行ボタン、1104はキャンセルボタンである。
この画面で設定されている時間毎に、本第2のデータ処理手順に基づいてCPU2は自機に設定されているローカルデバイスのドライバの状態を確認する。
なお、システムで用意しているインストール処理を実行してドライバをインストールした場合に、各アプリケーションに対してドライバがインストールされたことを通知する手段をシステム側で用意している場合がある。この場合には、その通知を監視することでドライバが新たにインストールされたことを検知することができる。
図12は、本発明に係る情報処理装置における第2のデータ処理手順の一例を示すフローチャートである。なお、S1001〜S1005は各ステップを示す。なお、本処理は、図3に示すデバイス表示ウインドウが開かれた場合、もしくは、メニューバー303の表示303c内の「最新の情報に更新」という指示がなされた場合に実行される。
先ず、ステップS1001で、自機のCPU2は、通信制御部4を介してネットワーク上の全ての共有されているPCおよび周辺機器の接続情報とそれらの機器の使用状況およびステータス情報を管理サーバ103もしくは周辺機器を管理しているPCに問い合わせ、使用状況及びステータス情報を取得する。そして、それらの情報をPMEM3上に記憶する。
次に、ステップS1002で、自機のCPU2は、それらの取得した情報に基づいてPCおよび周辺機器を図2に示すようなユーザインタフェース画面のソースを生成し、OSの機能を用いて画面表示させる。なお、上述したように、動作中のものや使用できないものは視覚的に識別できるように表示されるものとする。
次に、ステップS1003で、自機のCPU2は、自機にローカル接続されているデバイスのドライバが新規に、もしくは最新のバージョンのドライバがインストールされたかどうか判定する。判定する方法としては、例えば図11に示した設定画面上で設定されたある一定時間間隔でドライバの更新状態を判定するものとする。
ここで、ドライバが新たにインストールされた、もしくはドライバのバージョンが新しくなったとCPU2により判定された場合は、ステップS1004に進み、CPU2は、新たに自機にインストールされたドライバ設定情報を抽出し、図5に示すようなドライバ設定情報を作成して管理サーバに登録するため、管理サーバ103にドライバ設定情報を送信する。なお、管理サーバがない場合は自機で管理する。
一方、ステップS1003で、ドライバが新たにインストールされていない、もしくはドライバのバージョンが変わらないとCPU2によりと判定された場合は、ステップS1005で、本発明のアプリケーション(図3に示すデバイス表示ウインドウ)が終了かどうか判定して、終了であると判定された場合は、アプリケーションを終了し、終了でないと判定された場合は、ステップS1003に戻り、処理を続行する。
このように、上記実施形態では、ネットワーク上の周辺機器の接続情報やステータス情報を取得し、自機の表示装置に現在のシステムの構成およびシステムを構成する周辺機器の状況をアイコンで同一画面上にビジュアルに識別表示した。そして、ネットワークで共有されている周辺機器のドライバを管理サーバあるいはローカル接続されている場合には、そのPCからそのドライバのセットアップに必要なドライバ設定情報を取得して自機のデバイスマネージャ等にインストールして、該周辺機器を正常に動作可能な状態にセットアップする場合について説明した。
しかしながら、ネットワーク上の共有されている全てのPCおよび周辺機器の接続情報を1画面で表示すると、ユーザが選択して使用しているものと、選択しないものとの識別性が損なわれてしまい、お気に入りの周辺機器とそれ以外とを区別したいというユーザの要求に柔軟に対応できなくなったり、デバイスのドライバをインストールする際には、意図するドライバを選択する操作を必要とするため、不慣れなユーザにはインストール操作が煩雑となってしまうことが考えられる。
そこで、お気に入り表示と通常表示とを画面分割して表示し、それぞれの画面上で表示されているアイコンをドラッグアンドドロップすることにより、未登録であればお気に入り表示し、同時にドライバ情報を管理サーバもしくはローカル接続されるPCより取得して自動的にインストールしたり、既にお気に入り表示されているアイコンを通常表示画面にドラッグアンドドロップする当該ドライバを自動的に削除できるように構成するとともに、ユーザ本位にドライバのインストール/アンインストールを簡単な操作で行えるとともに、現在の動作可能なネットワーク上の共有機器のドライバ環境を容易に認識できるように構成してもよい。以下、その実施形態について説明する。
図13,図14は、本発明の情報処理装置におけるドライバ管理編集画面の一例を示す図であり、本実施形態では、表示方法にはネットワーク上の全てのPCあるいは周辺機器を表示する「通常表示」と、登録されたPCあるいは周辺機器のみを表示する「お気に入り表示」の2種類があり、以下、ネットワーク上のPCあるいは周辺機器の中で特定の装置のみを表示するための情報データのことを「お気に入り表示設定データ」と称する。
図13,図14において、3301はメインウインドウで、メニュー、ツールバー、そしてPCおよび周辺機器を表わすアイコンが表示されている状態である。
アイコン3301a〜3301cは、ツールバーでお気に入り表示編集をするための編集アイコンである。
「開く」アイコン3301aは、すでに自機内に登録されている「お気に入り表示設定データ」を読み込むためのアイコンであり、これを実行することにより登録されている「お気に入り表示設定データ」が読み込まれ、3302に示す「お気に入り表示」ウインドウにお気に入りのデバイスや周辺機器が表示される。
「保存」アイコン3301bは、「お気に入り表示」ウインドウ3302内のデバイス位置を変更したり、新たにお気に入りのデバイスを「通常表示」ウインドウ3303から登録したり、「お気に入り表示」ウインドウ内のお気に入りのデバイスを削除したり更新された場合に、変更内容を「お気に入り表示設定データ」に保存するためのボタンである。この「保存」アイコン3301bがポインティングデバイスにより実行指示されると、「お気に入り表示」ウインドウにおけるデバイスアイコンの位置情報がPMEM3や外部記憶装置にCPU2により書き込まれる。
「終了」アイコン3301cは、「お気に入り表示設定データ」の変更を終了するためのものであり、「終了」アイコン3301cが選択されると、「お気に入り表示」ウインドウ3302は消される。
メインウインドウ3301において、3302は「お気に入り表示」ウインドウで、「お気に入り表示設定データ」に登録されているPCおよび周辺機器が表示されている状態に対応する。3302a〜3302gはアイコンで、「お気に入り表示」ウインドウ3302に登録されているPCおよび周辺機器に対応する。「お気に入り表示」ウインドウ3302内ではデバイスの位置は、自機である「私のマシン」3302aを中心に好きな位置にドラッグすることにより配置できる。
3303は「通常表示」ウインドウで、ドメイン3303bの示す管理サーバ(ドメインサーバ)103の管理下もしくは、ルートアイコン3303aの示す同一ルーター内にあるネットワーク上の全てのPCおよび周辺機器が表示されている状態に対応する。
なお、前述したように、これらのアイコン3302a〜3302gはPC、プリンタ、スキャナ、FAXモデムなどのデバイス種類、あるいは「処理中」、「エラー発生」などのステータスによってアイコンの表示形態が変更されて表示される。
「お気に入り表示」ウインドウ3302において、3302aは自機を表わすアイコンであり、自機は特別な機器であるために他のPCとは区別して表示される。
3302b〜3302gはアイコンで、それぞれお気に入り表示に登録されたPCあるいは周辺機器を表わす。デフォルトでは、操作しやすいようにアイコン3302aを中心として、円上に配置した画面表示を行う。
なお、アイコンの位置は、図2に示したポインティングデバイス13としてのマウス操作によってユーザが自由に変更することができる。
通常表示ウインドウ3303において、3303a〜3303xはアイコンで、ネットワーク上の全てのPCおよび周辺機器を表わす。本実施形態では、画面の都合上、全てのアイコンが表示されていないが、画面横に配置されているスクロールバーSBを使って全てのPCおよび周辺機器を確認することができる。
なお、アイコン3303c、3303i、3303lのようにお気に入り表示にすでに登録されているPCおよび周辺機器は、アイコンの表示形状が変わって表示され、登録を視覚的に識別確認することができる。
また、アイコン3303wのようにネットワーク上で共有されているがこのPCにプリンタドライバが自機にインストールされていないデバイスはグレー表示(図中では斜線で示す)される。
このように図13,図14に示すデバイス編集表示画面(図1に示すFDあるいはCD−ROMドライブもしくは通信回線を介して販売会社のホームページ等よりダウンロードして、後述するアプリケーションプログラムをインストールして、そのアプリケーションを起動することにより表示される)を見れば、ネットワーク上の全てのPCおよび周辺機器の接続状態およびステータスを確認することができる。
図15は、図13,図14に示した「お気に入り表示」ウインドウ3302に表示すべき「お気に入り表示設定データ」の構造体の一例を示す図であり、ヘッダ部61とデータ部62から構成されている。
ヘッダ部61において、61aはデータを作成したマシン名である。なお、マシン名としては、ネットワーク上で一意に機器を決定できれば良いのでマシン名称でも良いし、また、TCP/IPプロトコルのIPアドレスでも良い。
61bは作成者名称である。この名称については、そのマシンにログオンしている名称でも良いし、その他の任意の名称でも良い。61cは作成した日付である。61dはデータ数で、登録されているPCあるいは周辺機器の数が設定される。61eはコメントである。
データ部62において、62aは登録されている機器名称、62bは属性データである。属性データとは、その機器の種類などを表わすものであって、PC、プリンタ、スキャナ、FAXモデムなどがある。
62cはステータス情報であり、ステータス情報には、「使用中」、「紙切れ」、「ドライバがインストールされていない」などの情報がある。61dは表示位置情報であり、その機器に対応するアイコンの「お気に入り表示」ウインドウ3302における表示位置を示す情報である。62eはユーザが任意に作成できるコメントである。
同様にして、データ部62のデータ数61dに記憶されている登録数(例えば1〜N)だけデータ部が記憶されている。
図16は、図2に示したCRT16に表示されるドライバインストールメッセージの一例を示す図であり、ドライバ設定情報がない場合に表示される。なお、その表示タイミングについては、図17に示すフローチャートで詳述する。
図17は、本発明に係る情報処理装置における第3のデータ処理手順の一例を示すフローチャートである。なお、S2201〜S2212は各ステップを示す。また、管理サーバ103等から取得するデータの構造は、第1実施形態における図5と同様とする。なお、本処理は、図3及び図13に示すデバイス表示ウインドウが開かれた場合、もしくは、図3(図13も同様)のメニューバー303の表示303c内の「最新の情報に更新」という指示がなされた場合に実行される。
まず、ステップS2201で、お気に入り表示を編集するアプリケーションが起動された時に、自機のCPU2は、ネットワーク上の全ての共有されているPCおよび周辺機器の接続情報とそれらの機器の使用状況およびステータス情報を管理サーバ103に要求し、管理サーバ103から機器の使用状況およびステータス情報を取得する。そして、CPU2は、それらの情報を図2に示したPMEM3上に記憶する。
次に、ステップS2202で、CPU2は、自機のメモリ(PMEM3もしくは外部記憶装置9,10)に格納されているお気に入り表示情報を取得する。そして、ステップS2203で、CPU2は、ステップS2201で取得した情報とステップS2202で取得した登録情報と基づいて通常表示ウインドウ3303とお気に入り表示ウインドウ3302とを示すユーザインタフェース画面のソースを生成し、OSの機能を用いてお気に入り表示ウインドウ3302と通常表示ウインドウ3303とを同一画面上(図13,図14参照)に表示する。
次に、S2204で、CPU2は、お気に入り表示設定にPCおよび周辺機器の登録を行う。登録操作方法としては、例えば図2に示したポインティングデバイス13としてのマウス操作で通常表示ウインドウ3303からお気に入り表示ウインドウ3302に各機器のアイコンをドラッグ&ドロップすることで、マウスを放した位置にアイコンを登録することができる。
また、逆に、お気に入り表示ウインドウ3302から通常表示ウインドウ3303にアイコンをドラッグ&ドロップすることで、お気に入り表示登録を削除することができる。
この登録処理の際に、ステップS2205で、登録する装置のステータスを調査してドライバをインストールする必要があるかどうか判定する。自機の情報処理装置に使用可能にインストールされていないデバイスのアイコンが、通常表示ウインドウ3303からお気に入り表示ウインドウ3302にドラッグ&ドロップされた場合は、ドライバをインストール必要があると判定される。
なお、指定された機器のドライバを設定するための情報があるかないか判定する方法はいくつかあり、例えばドライバの設定情報を一元管理する管理サーバがある場合が考えられる。この場合は、管理サーバにドライバをインストールする装置の情報を送信してそれによって必要な設定情報があるかどうか判定する。判定項目としては、デバイス種類、対応するOS情報などがある。
そこで、ドライバ設定の必要がないと判定した場合は、ステップS2208へ進み、ドライバ設定の必要があると判定した場合には、ステップS2206へ進む。ステップS2206では、上記説明した方法でドライバの設定情報の有無を判定して、設定情報があると判定された場合は、ステップS2207に進む。ステップS2207において、CPU2は、必要なドライバ設定情報を管理サーバあるいは指定した装置を管理しているPCに取得要求を送信し、取得要求に応じて、管理サーバ103もしくはPCからドライバ設定情報を取得し、取得したドライバ設定情報に基づいて自機にドライバをインストールする。
この際に、図8に示したように、インストール処理中であることを示すメッセージが表示される。ただし、図8に示す画面上で、「キャンセル」を指示するとインストール処理を中止することができる。
一方、ステップS2206で、設定情報がなかったと判定された場合は、ステップS2212に進み、設定情報がなかったためにドライバをインストールできなかった内容を示す、例えば図16に示したようなエラーメッセージ801を生成し、OSの機能を用いてCRT16に表示する。
次に、ステップS2208で、自機のCPU2は、お気に入り表示ウインドウ3302に登録されたデバイスのデバイス情報や、お気に入り表示ウインドウ3302における位置を算出して、指定された装置をお気に入り表示設定データに登録してこの変更された設定データを一時保存データとして保存する。そして、ステップS2209で、その一時保存データに基づいてお気に入り表示ウインドウと通常表示ウインドウの表示を変更する。
これにより、例えば、図13に示したプリンタのアイコン3303wをマウス操作でお気に入り表示ウインドウの適当なところにドラッグ&ドロップしてドライバが正常にインストールされた場合、図14に示した表示に切り替わる。
すなわち、プリンタのアイコン3303wはドライバが正常にインストールされたので、お気に入りウインドウ3302内でアイコン3302hのように正常表示される。
また、通常表示ウインドウ3303ではアイコン3303wのようにお気に入り表示に登録したので、本アプリケーションにより登録済みアイコン表示に表示形態が変更される。
次に、ステップS2210でお気に入り表示編集を終了する指示があったかどうか判定して、終了指示がないと判定した場合は、ステップS2204に戻り、お気に入り表示編集を続行する。
一方、ステップS2210で、終了指示があったと判定した場合は、ステップS2211に進み、一時保存されていたお気に入り表示設定データを正式に保存して、処理を終了する。
上記実施形態によれば、PCおよび周辺機器についてネットワーク上で共有されている全てを表示するウインドウとユーザが登録したもののみを表示するウインドウを同一画面に見やすく、そして判りやすく表示した編集画面でお気に入り表示設定を編集する際に、登録する装置のステータスに関係なく、簡単操作でお気に入り表示に登録できることによって作業効率を良くすることができる。
以上説明したように、本実施例によれば、ネットワーク上に接続されている各種の共有周辺機器および他のデータ処理装置を含むシステム全体の動作状態およびそれぞれの動作状態を画面上でビジュアルに識別確認することができる。
次に、ネットワーク上に接続されている複数のデバイスのすべてのデバイスのドライバ更新をチェックして自動更新する処理について説明する。
図21は、本実施形態で示す情報処理装置における第4のデータ処理手順の一例を説明するフローチャートであり、図2に示したPC111等のネットワーク上のPCにより実行される処理に対応するものであり、図2に示したHD10等のメモリに格納される制御プログラムに応じてCPU2により実行される処理に対応する。なお、(1)〜(12)は各ステップを示す。また、以降では一例としてPC111を自機として説明する。なお、本処理は、図3及び図13に示すデバイス表示ウインドウが開かれた場合に実行される。
まず、情報処理装置のCPU2は、ネットワーク上で共有されている全てのPC及びデバイスの接続情報とそれらの機器の使用状況及びステータス情報を管理サーバ103から取得して、それらの情報をPMEM3に記憶する(1)。続いて、CPU2は、自機にインストールされているデバイスのドライバ設定情報をチェックし、ドライバ設定情報を取得する(2)。
そして、ステップ(1),(2)で取得した状況,情報に基づいて自機のCRT16に前述した図3に示すデバイス表示ウインドウ300を表示して、ドメインサーバ302b管理下におけるネットワーク上の全てのPC及びデバイスを表示する(3)。また、前述したデータ処理手順のように、表示するデバイスは、ルーター302aが管理しているIPアドレス内のすべてのデバイスであっても情報の取得及び表示は可能である。
つぎに、前述した図4に示すデバイス表示ウインドウ300上での「ドライバ更新」のメニュー操作により、CPU2は、全てのデバイスのドライバのバージョンをチェックする指示がなされたかどうか判定する(4)。これは、ドメインサーバ302bがポインティングデバイスにより選択されている状態で、「ドライバの更新」ボタン503が選択実行された場合は、すべてのデバイスに対応するドライバのバージョンをチェックすることになり、自機である「私のマシン」302cがポインティングデバイスにより選択されている状態で、「ドライバの更新」ボタン503が選択実行された場合は、私のマシンにインストールされているドライバのバージョンをチェックすることになり、302gや302i等のデバイスを管理しているPC、もしくはローカル接続されているPCがポインティングデバイスにより選択されている状態で、「ドライバの更新」ボタン503が選択実行された場合は、そのPCにより管理されているデバイス、もしくはそのPCにローカル接続されているデバイスに対応するドライバのバージョンをチェックすることになり、周辺機器自体がポインティングデバイスにより選択されている状態で、「ドライバの更新」ボタン503が選択実行された場合は、その選択された周辺機器デバイスに対応するドライバのバージョンをチェックすることになる。
全てのドライバのバージョンをチェックする指示がされた場合は、自機のCPU2は、管理サーバ103(ドメインサーバ302bもしくはルーター302a)から、管理サーバ103が管理している全ての機器のドライバのバージョン情報を取得し(5)、ステップ(7)に進む。
一方、選択されたデバイスのドライバのバージョンをチェックする指示がなされなかった場合(自機にインストールされているドライバ、もしくは共有PCにより管理されているデバイスのドライバ、もしくは選択された周辺機器デバイスのドライバ)は、選択された機器のドライバのバージョン情報を管理サーバ103から取得し(6)、ステップ(7)に進む。なお、管理サーバ103が存在しない場合は、各デバイスを管理しているPCからドライバのバージョン情報を取得する。なお、ステップ(5),(6)においてバージョン情報とともにドライバ設定情報を取得するようにしても良い。
つぎに、自機のCPU2は、管理サーバ103から取得したバージョン情報と自機にインストールされているデバイスのドライバのバージョン情報とを比較するとともに、自機の図2に示したCRT16に図18に示すメッセージウインドウ701を表示する(7)。
つぎに、自機のCPU2は、自機にインストールされているデバイスのドライバを更新する必要があるかどうか判定する(8)。なお、判定方法は、ドライバ名と対応OSで対象のドライバ設定情報かどうかを判定して、該当するドライバ設定情報であった場合にバージョン番号を比較して行う。インストールされているデバイスのドライバのバージョンよりも、管理サーバ103から取得したドライバのバージョン情報の方が新しい場合は、ドライバを更新する必要があると判断される。
ドライバを更新する必要があるデバイスがない場合は、更新する必要がないことをあらわす図19に示すメッセージウインドウ801を図2に示したCRT16に表示し(9)、処理を終了する。
ドライバを更新する必要があるデバイスがある場合は、更新する必要があるデバイス一覧を表示する図20に示すチェック結果ウインドウ901を表示する(10)。そして自機のCPU2は、図20における更新実行ボタン2003がポインティングデバイスにより1クリック等の1つの動作指示により実行選択されたかを判断することにより、ドライバを更新する指示があるかどうか判定する(11)。更新指示がなかった場合は処理を終了し、更新指示があった場合は、自機のCPU2は、図20に示すチェック結果ウインドウ2002上で選択されたデバイスのドライバを更新するとともに、図22に示すメッセージウインドウ2201のユーザインタフェース画面のソースを生成し、OSの機能を用いてCRT16に表示する(12)。更新処理が終了すると全ての処理が終了される。
なお、ステップ(12)におけるデバイスのドライバの更新方法は、管理サーバ103あるいはドライバを更新するデバイスを管理するPCから取得したデバイス設定情報に基づいて行われる。図5に示すデバイス設定情報のドライバ設定情報42dは、前述したように、ドライバのインストールに必要なDLLファイル、もしくは実行形式のドライバインストーラーモジュールとなっており、このインストーラを実行するか、DLLファイルをシステムにコピーし、レジストリを更新することにより、ドライバのインストール処理が行われ、ドライバのバージョンが自動更新される。なお、自動更新処理の際には、すでにインストールされているドライバに設定されているIPアドレスやポート番号等の設定はそのまま引き継いて自動設定される。
前述した図18は、図2に示したCRT16に表示されるメッセージウインドウ601の一例を説明する図である。なお、メッセージウインドウ601は図21に示したフローチャートの(5)〜(7)の処理を実行しているときにCRT16に表示される。
図18において、601aはキャンセルボタンで、ドライバのバージョンのチェックをキャンセルする際にポインティングデバイス13により選択する。
図19は、図2に示したCRT16に表示されるメッセージウインドウ1901の一例を説明する図である。なお、メッセージウインドウ1901は、図21に示したフローチャートのステップ(9)においてCRT16に表示される。
図19において、1901aはOKボタンで、このボタンをポインティングデバイス13により選択することにより、図21に示したフローチャートのステップ(9)からつぎの処理に移行する。
図20は、図2に示したCRT16に表示されるチェック結果ウインドウ2001の一例を説明する図である。なお、チェック結果ウインドウ2001は、図21に示したフローチャートのステップ(10)においてCRT16に表示されるものであり、バージョン情報を比較した結果、ドライバを更新する必要があるデバイスを一覧表示するウインドウである。
図20において、2001はチェック結果ウインドウである。2002はリストウインドウで、ドライバを更新する必要があるデバイスの名称,ドライバ名,更新するバージョン番号を一覧表示する。操作者はポインティングデバイス13あるいはキーボード12からの操作でリストウインドウ2002内に表示される各デバイスを単数又は複数選択することができる。
2003は更新実行ボタンであり、更新実行ボタン2003が選択されるとリストウインドウ2002で選択されたデバイスのドライバの更新処理が実行される。2004はキャンセルボタンである。キャンセルボタン2004が選択されるとドライバの更新処理が中止される。
図22は、図2に示したCRT16に表示されるメッセージウインドウ2201の一例を説明する図である。なお、メッセージウインドウ2201は図21に示したフローチャートのステップ(12)のドライバの更新中にCRT16に表示される。
図22において、2201はメッセージウインドウである。2201aはOKボタンで、このOKボタン2201aを選択することにより、図21に示したフローチャートのステップ(12)からつぎの処理に移行する。
このように本実施形態で示した情報処理装置は、ネットワーク(LAN,WAN)上で接続されたPC間で情報データをやり取りする通信制御部4を備えている。この通信制御部4を介してCPU2は図21に示したフローチャートの処理手順に従い、ネットワーク上のPCの情報及びそれに接続されているプリンタ,スキャナ等の周辺機器(デバイス)の接続情報を読み取り、その読み取った情報をもとに各PC及び接続されている周辺機器のステータス情報を読み取り、それらの読み取った情報をPMEM3に記憶する。
該読み取った情報をもとにネットワーク上の全てのPC及び接続されている周辺機器の接続設定及び使用状況をCRT16にデバイス表示ウインドウ300で表示し、自機にインストールされている周辺機器のドライバのバージョンをCPU2が取得するとともに、操作者によりデバイス表示ウインドウ300上で選択された、バージョン情報をチェックする機器の管理サーバ103あるいは各デバイスを管理するPCに登録されているドライバ設定情報及びそのバージョン情報を取得する。
該取得したバージョン情報を比較し、該比較した結果をCRT16にメッセージウインドウ801,チェック結果ウインドウ901として表示し、ドライバを更新するデバイスを指示するチェック結果ウインドウ901で操作者により更新指示されたドライバを、管理サーバから取得したドライバ設定情報を元に更新する。
よって、ネットワーク上で共有された周辺機器のドライバのバージョン情報をチェックして、ドライバを更新する必要があれば簡単操作でドライバを更新することができることによって、作業効率を良くすることができる。
上記第4のデータ処理手順では、自機にインストールされているドライバのバージョン情報と管理サーバに記憶されるドライバのバージョン情報とを比較してドライバを更新する必要がある場合に、ドライバを更新する場合について説明した。
第4のデータ処理手順の場合は、PCで実行されるアプリケーション内で各デバイスのドライバが更新されたかどうか判定して必要なドライバを更新するよう構成されているので、操作者がそのアプリケーションの実行を意識して指示しない限りドライバが更新されない。
本第5のデータ処理手順では、ネットワーク上で各デバイスを共有している複数のPCの中でいずれかのPCでドライバを更新した時に、管理サーバ103で管理されているドライバ設定情報とインストールしたドライバのバージョンを比較する手段と、そのPC上で更新したドライバのドライバ設定情報を作成して管理サーバ103に登録する手段と、そのデバイスのドライバが更新されたことをネットワーク上の他のPCに通知する手段と、他のPCからのドライバの更新通知を受け取る手段と、その通知されたデバイスのドライバがインストールされているか判定する手段と、更新通知にしたがってドライバを更新する手段を備えることにより、デバイスを共有しているネットワーク上のPC全てで同じバージョンのドライバをインストールできるようになる場合について説明する。
なお、本データ処理手順においても図2に示した制御構成を備える複数のPC,サーバ等と各種デバイスとがネットワークに接続される図1に示した情報処理システムを一例に用いて説明する。
以下、図23のフローチャートを参照して、ネットワーク上のドライバを更新するPCの処理手順、例えば図1に示したPC111においてドライバを更新する場合の処理手順について説明する。
図23は、本実施形態で示す情報処理装置における第5のデータ処理手順の一例を説明するフローチャートであり、図1に示したPC111により実行される処理であり、図2に示したHD10等のメモリに格納される制御プログラムに応じてCPU2により実行される処理に対応する。なお、(1)〜(5)は各ステップを示す。
まず、自機のCPU2は、自機にローカル接続されているプリンタ18と画像読み取り機器(スキャナ)1Bを制御するためにインストールされているドライバからバージョン情報を取得し(1)、更新しようとしているドライバと既にインストールされているドライバとのどちらが新しいかチェック(比較)する(2)。この結果、更新しようとするドライバのバージョンの方が古かった場合には、処理を終了し、一方、更新しようとするドライバのバージョンの方が新しかった場合は、ドライバの更新処理を行う(3)。
つぎに、自機のCPU2は、更新したデバイスのドライバをインストールするために必要なデバイス設定情報をインストールしたドライバのファイルから抽出して、ネットワークを介して管理サーバ103に送出し、管理サーバ103に登録する(4)。それから、自機のCPU2は、そのデバイスのドライバが更新されたことをネットワーク上の他のPC104,112,115,121,122に通知して(5)、処理を終了する。この通知は、本アプリケーションが、ネットワーク上のほかのPCのIPアドレスを指定し、かつ、本アプリケーションで使用するためのポートを指定して行われる。ポート番号は、OSにより自由に使用できる番号帯域があり、例えば10000番代が自由に使える場合は、10550番に本アプリケーションのポートとしてOSのレジストリに予め登録しておき、これを利用する。
なお、ステップ(5)の更新通知は、デバイス設定情報が登録される管理サーバ103が行ってもよい。その場合は以下のように制御する。管理サーバ103は、ネットワーク上の各クライアント(PC104,111,112,115,121,122)にインストールされているデバイスドライバを管理テーブルで管理しておき、あるクライアントからデバイス設定情報が登録更新された場合に、そのデバイス設定情報に対応したデバイスのドライバをインストールしているクライアントを管理テーブルから検索し、検索されたクライアントに対してドライバの更新通知をすれば良い。
以下、図24のフローチャートを参照して、ネットワーク上のドライバの更新通知を受けたPC、一例としてPC112における処理手順について説明する。
図24は、本実施形態で示す情報処理装置における第6のデータ処理手順の一例を説明するフローチャートであり、図1に示したPC112により実行される処理手順に対応し、図2に示したHD10等のメモリに格納される制御プログラムに応じてCPU2により実行される処理に対応する。なお、(1)〜(5)は各ステップを示す。
まず、情報処理装置112のCPU2は、ネットワークを介して他のPC104,111,115,121,122からドライバの更新通知があったかどうかチェックし(1)、更新通知がない場合は処理を終了し、通知があった場合は、更新通知があったドライバがPC112にインストールされているかどうか判定し(2)、更新通知があったドライバに対応するドライバがPC112にインストールされていないと判定した場合は、処理を終了する。
一方、ステップ(2)において、更新通知があったドライバに対応するドライバがインストールされていた場合は、情報処理装置112のCPU2は、更新通知のあったドライバのバージョン情報とPC112に既にインストールされているドライバのバージョン情報を比較して、更新通知のあったドライバが最新、すなわちすでにインストールされているドライバより新しいかどうかを判断し(3)、更新通知のあったドライバの方が古かった場合は処理を終了する。
一方、ステップ(3)において、更新通知のあったドライバのほうが新しかった場合は、情報処理装置112のCPU2は、ドライバを更新するかどうか判定する(4)。このステップでは、更新するかどうかユーザが指示をするようなメッセージが表示される。更新しない場合は、処理を終了する。
一方、更新する場合は、情報処理装置のCPU2は、管理サーバ103に登録されるドライバ設定情報に基づいてドライバを更新して(5)、処理を終了する。
なお、ステップ(4)ではユーザがあらかじめドライバの更新を自動的に行うような設定をしていた場合にはメッセージ表示されることなく、自動的にドライバが更新される。
また、図24のフローチャートで示される処理は、他のPCからの更新通知を受信したときに、ステップ(2)以降の処理を実行する場合について説明しているが、自機においていずれかのデバイスの実行指示を行った場合に、自機にインストールされている、実行指示されたデバイスのドライバのバージョン情報と管理サーバ103に登録されるいずれかのデバイスのドライバのバージョン情報とを比較し、実行指示されたデバイスのドライバのバージョン情報が管理サーバ113に登録されるいずれかのデバイスのドライバのバージョン情報より古かった場合に、図24のステップ(4)以降に処理を進めるように構成してもよい。
図25は、図2に示したCRT16に表示されるドライバ更新設定ウインドウ1201の一例を説明する図である。
図25において、1201はドライバ更新設定ウインドウである。1202はチェックボックスで、自動的に更新させるかどうかを決定する。1203は実行ボタン,1204はキャンセルボタンである。
このように上記各実施形態では、ネットワーク上で共有されているPC及び周辺機器(デバイス)が表示されているウインドウにおいて、各デバイスのドライバのバージョンチェックを簡単な操作で行なうことができ、更新する必要があるデバイスに対しては更新処理を容易に実行できることによって常にドライバを最新版にすることができ、作業効率を格段に向上することができる。
以下、図26に示すメモリマップを参照して本発明に係る情報処理装置,情報処理システムで読み出し可能なデータ処理プログラムの構成について説明する。
図26は、本発明に係る情報処理装置,情報処理システムで読み出し可能な各種データ処理プログラムを格納する記憶媒体のメモリマップの一例を説明する図である。
なお、特に図示しないが、記憶媒体に記憶されるプログラム群を管理する情報、例えばバージョン情報,作成者等も記憶され、かつ、プログラム読み出し側のOS等に依存する情報、例えばプログラムを識別表示するアイコン等も記憶される場合もある。
さらに、各種プログラムに従属するデータも上記ディレクトリに管理されている。また、各種プログラムをコンピュータにインストールするためのプログラムや、インストールするプログラムが圧縮されている場合に、解凍するプログラム等も記憶される場合もある。
本実施形態における図10,図12,図17,図21,図24,図25に示す機能が外部からインストールされる第1〜第6のデータ処理プログラムによって、ホストコンピュータにより遂行されていてもよい。そして、その場合、CD−ROMやフラッシュメモリやFD等の記憶媒体により、あるいはネットワークを介して外部の記憶媒体から、プログラムを含む情報群が出力装置に供給される場合でも本発明は適用されるものである。
以上のように、前述した実施形態の機能を実現するソフトウエアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
この場合、記憶媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
プログラムコードを供給するための記憶媒体としては、例えば、フロッピー(登録商標)ディスク,ハードディスク,光ディスク,光磁気ディスク,CD−ROM,CD−R,磁気テープ,不揮発性のメモリカード,ROM,EEPROM等を用いることができる。
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。