以下、本発明の実施形態を、図面を参照して詳細に説明する。
図1は、本発明の実施形態に係る情報処理システムの概略構成を示す図である。
図1において、本発明の実施形態に係る情報処理システムでは、複数のクライアント端末101,102と、サーバ103と、プリンタ104,105とが、LAN等のネットワーク106を介して相互に通信可能に接続されている。クライアント端末101,102及びサーバ103は、コンピュータ等の情報処理装置で構成される。プリンタ104,105は、プリント機能のみを有する装置であっても、プリントやスキャン、FAX送受信等の複数の機能を有する複合機であってもよい。なお、情報処理システムを構成する装置(デバイス)の種類については上述したものや図示例に限定されず、また、台数についても限定されることはない。
なお、本実施形態では、クライアント端末101を管理者の装置(情報処理装置)とし、クライアント端末102を一般者の装置として説明する。
また、本実施形態では、管理者のクライアント端末101と一般者のクライアント端末に処理を分けて説明するが、管理者のクライアント端末101で作成したファイルを、管理者のクライアント端末101で実行することも可能であるため、一般者のクライアント端末102の処理を管理者のクライアント端末101の処理とすることも可能である。
図2は、図1のクライアント端末101,102及びサーバ103の基本的なハードウェア構成の一例を示すブロック図である。
図2において、CPU201は、システムバス204に接続されるROM202、RAM203、及びメモリ211、並びに後述する各種コントローラを統括的に制御する。メモリ211は、ハードディスク(HD)やフロッピー(登録商標)ディスク(FD)或いはPCMCIAカードスロットにアダプタを介して接続されるコンパクトフラッシュ(登録商標)メモリ等で構成される。
RAM203は、CPU201の主メモリ、ワークエリア等として機能する。ROM202又はメモリ211には、CPU201の制御プログラムであるBIOS(Basic Input/Output System)やオペレーティングシステム(Operating System:OS)が記憶されている。また、ROM202又はメモリ211には、サーバ103或いはクライアント端末101,102が有する機能を実現するために必要な各種プログラムが記憶されている。各種プログラムには、ブートプログラム、ブラウザソフトウエア、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、各種データ等が含まれる。
後述する処理を実行するためのプログラムは、メモリ211に格納されており、必要に応じてRAM203にロードされることによりCPU201によって実行される。また、後述する処理の実行時にCPU201が用いる各種データ及び各種テーブルもメモリ211に格納されている。
入力コントローラ205は、キーボード(KB)やマウス等のポインティングデバイス(PD)等で構成される操作入力装置(KB/PD)からの入力を制御する。ビデオコントローラ206は、ディスプレイ210への表示を制御する。ディスプレイ210は、CRTや液晶等で構成される。CPU201は、例えば、RAM203内の表示情報用領域へアウトラインフォントの展開(ラスタライズ)処理を実行することにより、ディスプレイ210上での表示を可能としている。また、CPU201は、ディスプレイ210上の不図示のマウスカーソル等でのユーザ(または管理者)による指示の受付を可能とする。
メモリコントローラ207は、メモリ211へのアクセスを制御する。通信I/Fコントローラ208は、ネットワーク106を介して、プリンタ104等の外部機器との接続及び通信の制御を行う。通信I/Fコントローラ208は、例えば、TCP/IPを用いたインターネット通信等が可能である。
図3は、クライアント端末101,102及びサーバ103のモジュール構成を概略的に示したブロック図である。
図3において、クライアント端末101(管理者の装置)は、本発明の実施形態に関わる構成として、OS301(オペレーティングシステム)と、設定ファイル作成ツール302(生成プログラム)と、プリンタドライバインストーラ(デバイスドライバを含むデバイスドライバインストーラ)303とを備える。一方、クライアント端末102(一般者の装置)は、本発明に関わる機能構成としてそれぞれが、OS304と、インストーラセット/自己解凍形式ファイル305とを備える。なお、自己解凍形式ファイルでなく、通常の圧縮ファイルであってもよい。通常の圧縮ファイルである場合には、ユーザが解凍して、フォルダ内にある実行形式のファイルを実行するものとする。
なお、本実施形態では、クライアント端末101で設定ファイル作成ツールを実行してインストーラセットを作成する構成としたが、サーバ103で実現する構成であってもよい。
OS301は、クライアント端末101上で動作するOSであり、例えば、Microsoft Windows(登録商標)等である。設定ファイル作成ツール302は、後述する図6に示す処理を実行して、設定ファイル(インストール情報)と、クライアント端末101からクライアント端末102に送信されるインストーラセット/自己解凍形式ファイル305を作成するためのソフトウェアモジュールである。「設定ファイル」とは、例えば、図13に示す、プリンタドライバのインストール、アインストール実行時に使用され、プリンタドライバインストール、アインストール時に設定する値がファイルとして出力されたものである。「プリンタドライバインストール時に設定する値(例えば、プリンタ管理画面で表示されるプリンタオブジェクト(プリンタアイコン)に対応してオペレーティングシステムによって管理される値)」(設定情報)には、プリンタ名称、ホスト名またはIPアドレス、ポート名称、プロトコル、LPR設定、場所、コメントやフォルダ名称、デフォルトプリンタなどがある。プリンタ名称、ホスト名またはIPアドレス、ポート名称、プロトコル、LPR設定、場所、及びコメントについては、後述する図9の904のディスプレイ210の表示画面上で設定することができる。また、フォルダ名称、デフォルトプリンタ等については、後述する図12の1202のディスプレイ210の表示画面上で設定することができる。
「インストーラセット」とは、図5の501に示すように、プリンタドライバインストーラやモジュール、設定ファイルで構成されたものである。「自己解凍形式ファイル」とは、複数のファイルを圧縮して1つの実行ファイル(Setup.exe)にまとめたファイルのことである。自己解凍形式ファイルが実行されると、自動的に複数のファイルが解凍し、予め指定されていた実行ファイルを起動する機能を持つ一般的なファイル形式である。
プリンタドライバインストーラは、プリンタドライバをクライアント端末102等にインストールするためのソフトウェアモジュールであり、その内部にはプリンタドライバが格納されている。なお、プリンタドライバインストーラは、アインストールやプリンタの設定更新なども実行可能なソフトウェアモジュールである。プリンタドライバインストーラ303が実行されると、内部に格納されているプリンタドライバが、例えば、クライアント端末102にインストールされる。また、プリンタドライバインストーラは、設定ファイル作成ツール302がインストーラセット/自己解凍形式ファイル305を作成する際に使用される。
ここで「プリンタドライバ」とは、ドライバ情報であるINFファイルとプリンタドライバモジュールとを持ち合わせたプリンタを制御するためのデバイスドライバである。「INFファイル」は、クライアント端末102等にプリンタドライバをインストールする際に必要な設定ファイルであり、どのドライバがどのファイルを使用し、どこにファイルを格納するかが記述されている。INFファイルの記述方法は、INIファイルフォーマットに準拠している。
OS304は、クライアント端末102上で動作するOSであり、例えば、Microsoft Windows(登録商標)等から成る。インストーラセット/自己解凍形式ファイル305は、管理者の所望の設定でクライアント端末102に所定のプリンタドライバをインストール、アインストール、プリンタ情報の設定を変更するための自己解凍形式ファイルである。インストーラセット/自己解凍形式ファイル305は、クライアント端末101で作成され、クライアント端末102に送信されて、RAM203やメモリ211に格納される。
設定ファイル作成ツール302は、言い換えると、出力デバイスのデバイスドライバと、ファイル作成者が任意設定した当該デバイスドライバをインストールする際に用いられるホスト名を含むデバイス情報とをまとめたファイルを生成する生成プログラムと言い換えることが可能である。
また、クライアント端末102は、デバイスドライバのインストールを実行する情報処理装置である。具体的には、出力デバイスのデバイスドライバと、ファイル作成者が任意設定した当該デバイスドライバをインストールする際に用いられるホスト名(後述で、仮のホスト名)を含むデバイス情報(後述で、設定ファイル)とをまとめたファイル(実行形式のファイル)を実行する情報処理装置である。
次に、図4の機能ブロック図を参照して、本システムにおけるクライアント端末102の装置の各機能ブロックについて説明する。なお、各機能は、CPUにより実行され、各機能で実行される詳細な処理については、後述の図14以降のフローチャートで説明する。
クライアント端末102は、出力デバイスのデバイスドライバと、ファイル作成者が任意設定した当該デバイスドライバをインストールする際に用いられるホスト名を含むデバイス情報とをまとめたファイルを実行する情報処理装置である。このファイルは、デバイスドライバのインストール後に実行するプログラムを含むものである。このプログラムは、ホスト名を取得し、入力受付画面を表示するプログラムである。
ホスト名取得部401は、ファイルを実行して、当該ファイルに含まれるデバイスドライバのインストールが実行された後に、インストールに用いられたホスト名を取得する機能部である。
表示部402は、ホスト名取得部401により取得されたホスト名に対応付けるデバイスとの通信に用いられる第1の通信識別情報の入力を受け付ける入力受付画面を表示する機能部である。また、後述の、入力情報生成部408により生成された情報と、ホスト名取得部401により取得されたホスト名を対応させて入力受付画面に表示する機能部である。また、後述の、管理情報取得部409により取得されたホスト名と通信識別情報と、ホスト名取得部401により取得されたホスト名を入力受付画面に一覧表示する機能部である。さらに、管理情報取得部409により取得されたホスト名と通信識別情報と、ホスト名取得部401により取得されたホスト名を識別可能に表示する機能部である。管理情報取得部409により取得されたホスト名と通信識別情報の変更を抑止し、ホスト名取得部401により取得されたホスト名に対応付ける第1の通信識別情報の入力を可能に制御する機能部である。
書込部403は、表示部402で表示した入力受付画面で受け付けた第1の通信識別情報を、ホスト名取得部401により取得したホスト名と対応付けて、オペレーティングシステムが管理する管理情報に書き込む機能部である。
インストール判定部404は、デバイスドライバのインストールが完了したか否かを判定する機能部である。
プログラム実行部405は、インストール判定部404によりインストールが完了したと判定された場合に、プログラムを実行する機能部である。
デバイス通信識別情報取得部406は、デバイスドライバのインストールにより、当該情報処理装置に既に登録されているデバイスのデバイス情報から、第2の通信識別情報を取得する機能部である。
情報処理装置通信識別情報取得部407は、情報処理装置の第3の通信識別情報を取得する機能部である。
入力情報生成部408は、取得した第2の通信識別情報と第3の通信識別情報を用いて、入力受付画面での通信識別情報の入力の補助となる情報を生成する機能部である。
管理情報取得部409は、管理情報から、ホスト名と通信識別情報を取得する機能部である。
次に、図5の概略図を参照して、本システムおける処理概要を説明する。
クライアント端末101では、設定ファイル作成ツールを実行し、プリンタドライバインストーラの指定、クライアント端末102に登録するプリンタの設定情報(ポート情報等)の入力を受ける。本実施形態では、特に、管理者端末で出力先となるIP/ホスト名に、仮のホスト名を設定し、プリンタを導入するユーザ端末で、プリンタのインストールが完了すると、管理者が設定したプログラムが実行され、仮のホスト名に対応するIPアドレスをユーザに入力させて、hostsファイルに記憶することが特徴となる。
hostsファイルとは、オペレーションシステム(OS)のファイルの一つである。TCP/IPネットワーク上のIPアドレスとホスト名の対応を記録するテキストファイル(対応データ)である。OSは、このhostsファイルにホスト名とIPアドレスがあれば、通信の際に名前解決(ホスト名→IPアドレス)を行い、接続先と通信を行う。
設定ファイル作成ツールにより、インストーラセットの作成が実行されると、インストーラセット501が作成される。インストーラセットは、出力デバイスのデバイスドライバと、ファイル作成者が任意設定した当該デバイスドライバをインストールする際に用いられるホスト名を含むデバイス情報(設定ファイル)とをまとめたファイルに相当するものである。
作成されたインストーラセットは、メールで配布、サーバ103へ格納しダウンロードすることで配布され、クライアント端末102に保存される。
ユーザによるインストーラセットへの実行指示により、インストーラセットが展開され、インストーラセットに含まれる実行プログラムがプリンタドライバインストーラを実行し、設定ファイルに記載されている情報に従って、仮のホスト名を用いてプリンタドライバがインストールされる。これによりクライアント端末102にプリンタが登録される。例えば、プリンタ管理画面にプリンタアイコンが表示される状態となる。
プリンタドライバインストールが完了したことを実行プログラムが検知すると、管理者に設定されたプログラム(ここでは、hosts編集モジュール)を自動的に起動させ、プリンタドライバインストール時の仮のホスト名を表示し、ユーザに対応するプリンタのIPアドレスを入力させる。すなわち、管理者のクライアント端末101で作成されたファイルは、デバイスドライバのインストール後に実行するプログラムを含むものである。
この入力されたIPアドレスと、仮のホスト名をhostsファイルへ書き込む。
なお、すでに登録されているプリンタがあり、削除指定があるプリンタについては、プリンタの削除やポートの解除が実行される。
以下、図6、図14、図15、図16、図18、図20、図24のフローチャートを参照して、本実施形態のシステムにおける処理についてより詳細に説明する。
なお、各ステップについては、各装置のCPU201が処理を実行する。
まず初めに、図6のインストーラセット作成処理のフローチャートについて説明する。なお、説明にあたり図7〜図13、図15を用いて説明する。図6の処理は、クライアント端末101(管理者の装置)で実行される処理である。
ステップS601は、ユーザの指示に従って、設定ファイル作成ツールを起動する。起動されると、図7の設定ファイル作成ツールの初期画面が表示される。
ステップS602は、図7の初期画面の701の追加ボタンが押下されると、図8の800のインストーラ情報設定画面を表示する。
ステップS603は、図8の800のインストーラ情報設定画面の参照ボタン801が押下され、ユーザにより、クライアント端末101に記憶されているインストーラが指定されることで、インストーラ情報を受け付ける。
ステップS604は、図8の802の追加ボタンが押下されると、新規プリンタ作成か既存プリンタ削除が選択可能となり、新規プリンタ作成か既存プリンタ削除のどちらが選択されたかを判定する。なお、「新規プリンタ作成」「既存プリンタ削除」の選択は、図9の901、902に示す通りに表示され、選択可能となる。「新規プリンタ作成901」が押下されたと判定した場合には、ステップS605へ処理を移し、「既存プリンタ削除902」が押下されたと判定した場合には、ステップS609へ処理を移す。
ステップS605は、インストーラに含まれる設定ファイルからドライバ名称を取得する。具体的には、図15に示すインストーラに含まれる設定ファイルからドライバ名称を取得する。なお、ドライバ名称は、一般的にはプリンタ機種名が設定されている。すなわち、ドライバ名称を選択することで、追加したい機種が決定できる。
ステップS606は、取得したドライバ名称を図9の903のプリンタ情報設定画面に表示すべく設定する。
ステップS607は、図9の903のプリンタ情報設定画面を表示する。
ステップS608は、ユーザの操作により、プリンタ情報設定画面を介してプリンタ情報の入力を受け付け、入力情報を取得する。プリンタ情報が入力されたプリンタ情報設定画面の例が図9の904である。904のプリンタ情報設定画面で、仮のホスト名906を入力する。このホスト名は仮の名称であるため、このホスト名でプリンタドライバをインストールしても、印刷が対応するプリンタから実行はされない。
プリンタドライバのインストールでは、ポートの設定として、出力先としてIPアドレス又はホスト名を指定する必要がある。
ネットワークのプリンタを出力先とし、クライアント端末から直接プリンタに印刷データを出力する場合(例えば、サーバで管理している共有プリンタへ出力しないケースの場合)、プリンタのIPアドレスの指定が必要となるが、本実施形態では、作成する管理者側ですべてのプリンタのIPアドレスを管理し、入力するのは困難であるため、管理者側で仮のホスト名を入力して、インストールするクライアント端末側で、IPアドレスを入力させる形態をとる。
ここで905のOKボタンが押下されると、900のインストーラ情報設定画面に戻り、906の処理情報一覧に、仮のホスト名が入った情報が追加される。入力された情報はメモリに記憶される。
なお、ステップS605〜ステップS608は、クライアント装置に登録するデバイスの設定情報を入力するデバイス登録情報入力処理の一例を示すステップである。
ここで、900のインストーラ情報設定画面で既存プリンタ削除902が押下された場合に説明をする。
ステップS609は、既存プリンタ削除902が押下されると、図10の削除プリンタ情報設定画面1001を表示する。
ステップS610は、ユーザの操作により、削除方法の指定を受け付ける。削除方法の指定としては、削除するプリンタオブジェクトの「プリンタ名」、「ドライバ名」、ポートを指定してプリンタを削除するための「ホスト名/IPアドレス」がある。
ステップS611は、ユーザからの削除方法の指定に従って、選択された削除方法を判定する。削除方法が「プリンタ名」である場合には、ステップS612へ処理を移す。削除方法が「ドライバ名」である場合には、ステップS613へ処理を移す。削除方法が「ホスト名/IPアドレス」である場合には、ステップS614へ処理を移す。
ステップS612は、「プリンタ名」を指定状態として、プリンタ名の指定(入力)を受け付ける。すなわち、デバイス名の指定によりデバイスを削除すべく、クライアント装置で削除対象とするデバイス名を指定するデバイス名指定処理の一例を示すステップである。
ステップS613は、「ドライバ名」を指定状態として、ドライバ名称の指定(入力)を受け付ける。すなわち、ドライバ名の指定によりデバイスを削除すべく、クライアント装置で削除対象とするドライバ名を指定するドライバ名指定処理の一例を示すステップである。
ステップS614は、「ホスト名/IPアドレス」を指定状態として、ホスト名またはIPアドレスの指定(入力)を受け付ける。1001の例では、「ホスト名/IPアドレス1002」が指定され、ポート先のIPアドレスが指定されている状態の削除プリンタ情報設定画面である。なお、「ホスト名/IPアドレス1002」の指定は、利用しないポート情報を指定するものである。
ステップS614は、ポート情報の指定によりデバイスを削除すべく、クライアント装置で削除対象とするポート情報を指定するポート指定処理の一例を示すステップである。
OKボタンが押下されると、インストーラ情報設定画面900へ戻り。指定した情報はメモリに記憶され、処理情報一覧907に削除するポートの情報やプリンタ名やドライバ名が追加される。
次に、インストーラ情報設定画面900でOKボタンが押下された場合の処理を説明する。OKボタンが押下されると、設定ファイル作成ツールの初期画面に戻る。ここで図11の初期画面の1101が押下されると、「新規プリンタ作成」「既存プリンタ削除」で登録された処理情報の選択画面1102が表示される。そして、1103が押下されると、オプション設定画面1201が表示される。
なお、ステップS605〜ステップS608、ステップS609〜ステップS614の処理は、インストーラ情報設定画面900の追加指定された数分繰り返し処理がされるものとする。
ステップS615は、図12のオプション設定画面1201を表示する。
ステップS616は、オプション設定画面1201でオプション設定情報の入力を受け付け、入力情報を取得する。オプション設定画面1201で、プリンタインストール後の他ソフトを起動する設定1204で、ユーザのクライアント端末で実行するプログラムを指定する。本実施形態では、hostsファイルに書き込む情報を入力するためのプログラム(hosts編集モジュール)を指定する。
ステップS617は、設定ファイル作成画面1202を表示し、設定ファイル作成方法の情報の入力を受け付け、入力情報を取得する。
これらの入力情報はメモリに記憶する。
ステップS618は、設定ファイル作成画面1202で作成ボタン1203が押下されたか否かを判定する。作成ボタン1203が押下された場合には、インストーラセットの作成を実行するため、ステップS619へ処理を移す。キャンセルボタンが押下されると設定ファイル作成ツールを終了する。なお、初期画面に戻る構成であってもよい。
ステップS619は、メモリに記憶されている入力情報をもとに、設定ファイルを作成する。設定ファイルに記載される情報の例は、図13である。すなわち、図9の904で指定されたホスト名や図10のホスト名等のポート情報を含む定義情報を作成する処理(定義情報作成処理)である。
なお、ステップS619は、指定されたポート情報を含む定義情報を作成する定義情報作成処理の一例を示すステップである。また、ポート指定またはデバイス名指定またはドライバ名指定による指定に従って、デバイスの削除方法を含む定義情報を作成する処理の一例を示すステップである。さらに、定義情報は、デバイス名指定による指定の場合には、デバイス名を含み、ドライバ名指定の場合には、ドライバ名を含む。
図13の1300は設定ファイルの全体のデータを示すデータ図である。1301は、既存プリンタ削除902→1001で入力された削除プリンタ情報を示すデータ図であり、1300の削除プリンタ情報の詳細を示す図である。また、1302は、新規プリンタ作成901→904で入力された追加プリンタ情報を示すデータ図であり、1300の追加プリンタ情報の詳細を示す図である。
削除プリンタ情報1301と追加プリンタ情報1302は何れも複数もつことが可能であり、図9の906の処理情報一覧数分設定されている。
例えば、削除プリンタ情報1301は、図13に示すように、「削除方法=2」でホスト名/IPアドレスを指定して削除できる場合を示しており、削除対象に、指定されたホスト名を記憶している。
ホスト名が指定されている場合には、指定されたホスト名がポートに設定されているプリンタ情報を削除することが可能となる。また、プリンタ情報を削除後、hostsファイルに記憶されているホスト名のレコードを削除する。
このほか、「削除方法=0」は、プリンタ名で指定して削除する場合で、削除対象に、指定されたプリンタ名(プリンタオブジェクト名称)を記憶している。プリンタ名が指定されている場合には、OSが管理している個々のプリンタ情報を削除することが可能となる。
また、「削除方法=1」は、ドライバ名で指定して削除する場合で、削除対象に、指定されたドライバ名を記憶している。ドライバ名が指定されている場合には、指定されているドライバ名のドライバを利用しているプリンタ(プリンタ情報のドライバ名称が一致するもの)を一括して削除することが可能となる。
ステップS620は、作成された設定ファイルに従って、クライアント端末102のプリンタ情報を制御(追加、削除、変更)するためのインストーラセットを作成する。インストーラセットの作成では、設定ファイルと、インストーラ情報設定画面で指定され、入力情報として記憶されているプリンタドライバインストーラと、hosts編集モジュールを含めてインストーラセットを作成する。また、プリンタドライバのインストールを実行する、hosts編集モジュールを実行するための実行モジュールも含まれるものとする。
次に、図14のインストーラセット実行処理のフローチャートについて説明する。図14の処理は、クライアント端末102(一般者の装置)で実行される処理である。
ステップS1401は、ユーザの操作に従って、インストーラセットを実行し、インストーラセット内の実行モジュールが起動し、以下の処理を実行させる。以下、実行モジュールにより実行される処理である。なお複数の実行モジュールがあり、それぞれの実行モジュールが各ステップを実行する構成であってもよい。
ステップS1402は、インストーラセット内の設定ファイルから設定値を読み取り、メモリ上に記憶する。
ステップS1403は、任意に設定された作業フォルダのパスに従ってフォルダを作成する。例えば、インストーラセットの保存されている階層と同じ階層にフォルダを作成する。
ステップS1404は、作成したフォルダに設定ファイル、プリンタドライバインストーラのファイルをコピーする。
ステップS1405は、クライアント端末102にインストールされ、登録されているプリンタ情報を取得し、メモリに記憶する。このプリンタ情報は、例えば、APIである、EnumPrintersによって得られるPRINTER_INFOにかかる情報である。クライアント端末102に複数のプリンタオブジェクトが存在する場合には、その数分のプリンタ情報が取得できる。
ステップS1406は、設定されたすべてのドライバ情報の数分処理したかを判定する。ドライバ情報とは、図13のドライバインストーラ設定の数分である。すべて処理した場合にはステップS1411へ処理を移し、処理していないドライバ情報がある場合には、ステップS1407へ処理を移す。
ステップS1407は、ドライバ情報に削除処理設定があるかを判定する。具体的には、削除プリンタ情報1301があるかを判定する。削除処理の判定は、削除フラグなどの別の情報をみて判定してもよい。
削除処理設定がある場合には、ステップS1408へ処理を移し、削除処理設定がない場合には、ステップS1409へ処理を移す。
ステップS1408は、削除プリンタ情報1301の情報に従って、プリンタの削除を実行する。プリンタ管理画面から、対象のプリンタオブジェクトが削除されることとなる。ここで削除される場合、削除されたプリンタのIP/ホスト名で設定されていたホスト名をメモリ、又は、外部ファイルに記憶する。
ステップS1409は、追加処理設定があるかを判定する。具体的には、追加プリンタ情報1302があるかを判定する。追加処理の判定は、追加フラグなど別の情報をみて判定してもよい。
追加処理設定がある場合には、ステップS1410へ処理を移し、追加処理設定がない場合には、ステップS1406へ処理を移す。
ステップS1410は、追加プリンタ情報1302に従って、プリンタを追加する。
具体的には、図13に示す設定ファイルに記述されたドライバインストーラ相対パス1303を使用して、プリンタドライバインストーラを起動する。ここでは、実行モジュールと同じ場所にプリンタドライバインストーラが存在しているが、ドライバインストーラ相対パス1303をネットワークパスにすることで、ネットワーク上のプリンタドライバインストーラを起動することもできる。次に、起動したプリンタドライバインストーラは、設定ファイルに基づいて、プリンタドライバをインストールし、追加プリンタ情報分のプリンタを追加する。これにより、OSのプリンタ管理画面にプリンタオブジェクトが表示される。例えば、図5の502のように、プリンタ1−1、プリンタ1−2、プリンタ1−3、プリンタ2が登録され、表示される。
なお、ステップS1408とステップS1410の処理順は逆であってもよい。追加の後に削除を実行する。
ステップS1411では、実行プログラムが、プリンタドライバインストールが完了したこと検知すると、他起動ソフト設定があるか否かを判定する。
プリンタドライバインストールが完了したこと検知は、デバイスドライバのインストールが完了したか否かを判定するインストール判定処理の一例を示すものである。
ステップS1411の処理を具体的に説明すると、1300のツール起動設定フラグが「0」の場合、他起動ソフト設定があると判定する。他起動ソフト設定があると判定された場合には、ステップS1412へ処理を移し、他起動ソフト設定がないと判定された場合には、ステップS1413へ処理を移す。すなわち、インストールが完了したと判定された場合に、プログラム(hosts編集モジュール)を実行するプログラム実行処理の一例を示すステップである。
ステップS1412では、設定されているソフト(ツール)を実行する。1300で設定されているツール実行コマンドを実行することで、対象のモジュールを実行するものとする。ステップS1413の処理の詳細は、図15で説明する。
ステップS1413では、ステップS1403で作成した作業フォルダを削除する。
ここで、図22を用いて、プリンタ情報について説明する。図22はクライアント端末102に登録されているプリンタのプリンタ情報に従って得られる情報であり、各プリンタオブジェクトのプリンタ情報である。また、プリンタオブジェクトにポート情報が割り当てられている。
図14の処理により、プリンタの追加、削除(ポート解除含む)が行われると、クライアント端末102に登録されているプリンタは、図22となる。図22は、図5の502に表示されるプリンタオブジェクトに対応するプリンタ情報である。
次に、図15の対象モジュール起動の処理のフローチャートについて説明する。本フローチャートは、ステップS1412の詳細を示すフローチャートである。
ステップS1501では、設定されているソフト(ツール)である、hosts編集モジュールを起動する。この起動(実行)により、ホスト名を取得し、入力受付画面(ダイアログ)を表示する処理となる。
ステップS1502では、設定ファイルに指定されているホスト名(例えば、printer_1、printer_2)を取得し、配列に記憶する。ステップS1502の処理の詳細は、図16で説明する。すなわち、クライアント端末101で生成されたファイルを実行して、当該ファイルに含まれるデバイスドライバのインストールが実行された後に、インストールに用いられたホスト名を取得するホスト名取得処理の一例を示すステップである。
ステップS1503では、OSが管理するhostsファイルに設定されているデータを取得し、配列に記憶する。ステップS1502の処理の詳細は、図16で説明する。
ステップS1504では、通信先であるIPアドレスを入力する入力画面(ダイアログ)を表示する。ステップS1504の処理の詳細は、図16で説明する。すなわち、ステップS1502で取得されたホスト名に対応付けるデバイスとの通信に用いられる第1の通信識別情報(本実施形態ではIPアドレスとして説明する)の入力を受け付ける入力受付画面を表示する表示処理の一例を示すステップである。
ステップS1505では、入力画面(ダイアログ)でIPアドレスの入力(編集含む)を実行する。ステップS1505の処理の詳細は、図20で説明する。
ステップS1506では、図23の入力画面でOKボタンが押され、hostsファイルに書き込みをするか否かを判定する。OKボタンが押され、hostsファイルに書き込みをすると判定された場合には、OKボタンが押されていない場合には、IPアドレスの入力待ち状態となる。なお、キャンセルが押された場合には、処理を終了するものとする。
ステップS1507では、図23で入力されたIPアドレスとホスト名をhostsファイルに保存(書き込み)する。図21の2102のように、hostsファイルに要素6、要素7のhostsデータが記憶される。すなわち、表示したダイアログ(入力受付画面)で受け付けた第1の通信識別情報を、取得したホスト名と対応付けて、オペレーティングシステムが管理する管理情報(本実施形態では、hostsファイル)に書き込む書込処理の一例を示すステップである。
これにより、インストールにより登録されたプリンタの通信先情報(IPアドレス)の設定を容易に行うことができる。特に同一のプリンタであって、複数のプリンタオブジェクトを登録する際には、管理者は1つの仮のホスト名を設定すればよい。また、インストールするユーザも利用するプリンタのIPアドレスを仮のホスト名に対応して入力すればよく、PCへのプリンタの登録を容易に行わせることが可能となる。また、管理者と利用者(ユーザ)双方の負担を減らすことができると共に、設定の負荷を軽減でき、効率的なプリンタの登録が可能となる。
次に、図16のフローチャートを用いて指定ホスト名確認の処理について説明する。本フローチャートは、ステップS1502の詳細を示すフローチャートである。フローチャートの説明は、図17の設定ファイル1701を用いて説明する。
ステップS1601では、設定ファイルをオープンできたか否かを判定する。図13の設定ファイルを簡略化して示した設定ファイルが図17の1701である。この1701の設定ファイルを用いて、説明する。
設定ファイルがオープンできた場合には、ステップS1603へ処理を移し、設定ファイルがオープンできなかった場合には、ステップS1602へ処理を移す。
ステップS1602では、設定ファイルがオープンできなかったため、ログファイルにエラー内容(開けなかった設定ファイル名)とエラー日時等のエラーログを記録する。エラーログには、設定ファイルのオープン以外のエラーも書き込まれるものとする。
ステップS1603では、設定ファイルに記憶されている、ポート情報(1701では、PORT_IP)を取得する。取得したポート情報が、ホスト名となっているかを判定する。ホスト名になっているかの判定は、IPアドレス形式(x.x.x.x)であるか否かで判定する。IPアドレス形式でない場合には、ホスト名となっていると判定し、ステップS1604へ処理を移す。IPアドレス形式である場合には、後述のhostsファイルへの書き込みが不要であるため、ステップS1605へ処理を移す。
なお、ホスト名になっているか否かは、設定ファイルを作成する際に、IPアドレス形式はフラグ「0」、ホスト名形式であればフラグ「1」を記載する構成であってもよく。フラグを判定してホスト名になっているか、IPアドレスになっているかを判定してもよい。
ステップS1604では、メモリ上に指定ホスト名配列1620を作成して、ステップS1603で取得したホスト名を指定ホスト名配列1620に格納する。指定ホスト名配列1620は、すべての設定ファイルから取得したホスト名が格納される。指定ホスト名配列1620の例は、1701の設定ファイルのprinter_1、printer_2のホスト名が格納されている配列である。
ステップS1605では、オープンした設定ファイルをクローズする。
ステップS1606では、すべての設定ファイルを処理した場合には、処理を終了する。処理していない他の設定ファイルがある場合には、ステップS1601へ処理を移し、次の設定ファイルをオープンする。
次に、図16のフローチャートを用いてhostsデータ取得の処理について説明する。本フローチャートは、ステップS1503の詳細を示すフローチャートである。フローチャートの説明は、図17のhostsファイル1702を用いて説明する。
ステップS1610では、OSが管理するhostsファイルをオープンできたか否かを判定する。hostsファイルをオープンできなかった場合には、ステップS1611へ処理を移し、hostsファイルをオープンできた場合には、ステップS1612へ処理を移す。hostsファイルの概略を示す図が、hostsファイル1702であり、IPアドレスとホスト名が対応付いて記憶されている。
ステップS1611では、hostsファイルをオープンできなかったため、ログファイルにエラー内容とエラー日時等のエラーログを記録する。
ステップS1612では、オープンされたhostsファイルから、hostsデータを取得する。すなわち、管理情報(本実施形態では、hostsファイル)から、ホスト名と通信識別情報を取得する管理情報取得処理の一例を示すステップである。
ステップS1613では、メモリ上にhostsデータ配列を作成し、取得したhostsデータを格納する。hostsデータ配列へhostsデータを格納した例が、hostsデータ配列1630である。すでにhostsファイルに書き込まれている、hostsデータであるIPアドレスとホスト名が格納されている。
ステップS1614では、hostsファイルをクローズする。
次に、図18の入力画面表示の処理のフローチャートについて説明する。本フローチャートは、ステップS1504の詳細を示すフローチャートである。フローチャートの説明は、図19に示す各種データを用いて説明する。
ステップS1801では、クライアント端末102で管理しているプリンタポートの一覧を取得する。プリンタポートの情報は、hosts編集モジュールがOSのAPIを実行して取得する。プリンタポートの情報の例が1901である。
ステップS1802では、1レコード分のポート情報をメモリに読み込む。
ステップS1803では、ポート種別が「Standard TCP/IP Port」であるかを判定する。「Standard TCP/IP Port」であると判定した場合には、ステップS1804へ処理を移し、「Standard TCP/IP Port」でないと判定した場合には、ステップS1806へ処理を移す。
ステップS1804では、「IPアドレス/ホスト名」がIPアドレス形式か否かを判定する。IPアドレス形式である場合には、ステップS1805へ処理を移し、IPアドレス形式でない場合には、ステップS1806へ処理を移す。
ステップS1805では、取得したIPアドレスを、IPアドレス配列に格納する。IPアドレス配列に格納した例が1902である。すなわち、デバイスドライバのインストールにより、クライアント端末102である情報処理装置に既に登録されているデバイスのデバイス情報から、第2の通信識別情報(本実施形態ではIPアドレス)を取得するデバイス通信識別情報取得処理の一例を示すステップである。
ステップS1806では、すべてのポート情報を処理したか否かを判定する。すべてのポート情報について処理した場合には、ステップS1807へ処理を移し、処理していない他のポート情報が有る場合には、次のポート情報を処理するため、ステップS1802へ処理を戻す。
ステップS1807では、クライアント端末102に設定されているIPアドレスを取得する。すなわち、クライアント端末102である情報処理装置の第3の通信識別情報(本実施形態では、IPアドレス)を取得する情報処理装置通信識別情報取得処理の一例を示すステップである。
ステップS1808では、IPアドレス配列1902のIPアドレスと、ステップS1807で取得したクライアント端末102のIPアドレスとを比較する。比較方法について説明する。比較は、上位から何桁目まで一致するかを決めるものである。具体的には、クライアント端末102のIPアドレスを「10.5.1.25」とした場合、IPアドレス配列1902の1行目では、「10.1.1.1」と「10.5.1.25」とを比較する。この比較を行数分繰り返す。
ステップS1809では、IPアドレスの比較により、候補となるIPアドレスを特定する。具体的には、1行目の比較の結果、一致桁数は上位「1桁(10)」となり、候補IPアドレスとして「10.1.1.11」と「最大桁数=1桁」をメモリに保存する。2行目の比較は、「10.5.5.27」と「10.5.1.25」との比較になり、候補IPアドレスが「10.5.5.27」となり、「10.5.5.27」と「最大桁数=2桁」をメモリに保存する。これを繰り返すと、候補IPアドレスが「10.5.1.80」に特定される。また、「最大桁数=3桁」となる。
これにより、クライアント端末102で現在使用しているプリンタのうち、近くのプリンタのIPアドレスが特定できる。候補IPアドレスが特定できることは、特に、新たなプリンタを導入する際、近くのプリンタと近いIPアドレスになる可能性が高いため、後述でのホスト名に対応するIPアドレスの入力が容易になる。
ステップS1810では、候補IPアドレスと、最大桁数から、表示用のIPアドレスを生成する。具体的には、候補IPアドレスの最大桁数(3桁目)までの値を取得し、「入力」と組み合わせた表示用のIPアドレスを生成する。
例えば、入力の補助となる「10.5.1.入力」。また、表示用のIPアドレスが生成できない、しない場合などには、「IPアドレスを入力してください」を用いるものとする。
すなわち、取得した第2の通信識別情報と、取得した第3の通信識別情報を用いて、入力受付画面(本実施形態では、ダイアログ)での通信識別情報(本実施形態では、IPアドレス)の入力の補助となる情報を生成する入力情報生成処理の一例を示すステップである。
ステップS1811では、hostsデータ配列1903から、IPアドレスとホスト名を取得して、Itemデータを生成する。Itemデータは、例えば、1904である。Itemデータを生成する際には、背景色、文字色、編集可否、行数、変更フラグのパラメータを設定する。この設定は、hosts編集モジュールが参照するINFファイルに記載されている情報を基に設定される。なお、編集可否にするか否かは、hosts編集モジュール実行時にユーザが任意に指定し、図23の画面でhostsファイルに予め保存されているデータについては、入力できないように制御する。
すなわち、管理情報取得処理によりhostsファイルから取得されたホスト名と通信識別情報(IP)の変更を抑止し、ホスト名取得処理により設定ファイルから取得されたホスト名に対応付ける第1の通信識別情報(IPアドレス)の入力を許可する制御を行うものである。
ステップS1812では、ステップS1811で生成したItemデータを、メモリ上に作成した配列に格納する。1903の要素1〜要素5までのItemデータが配列に格納される。
ステップS1813では、指定ホスト名配列1905からデータ(ホスト名)を取得する。ステップS1810で生成した表示用のIPアドレスと取得したホスト名を用いて、Itemデータを生成する。生成したItemデータの例は、1906である。ここでは、編集可否フラグは「編集可」として設定する。
ステップS1814では、ステップS1813で生成したItemデータを、メモリ上に作成した配列に格納する。1905の要素1〜要素2までのItemデータが配列に格納される。
ステップS1815では、Itemデータからデータを取得する。
ステップS1816では、表示リストにデータ(IPアドレス、ホスト名)をセットする。データをセットする際には、Itemデータの行数に従ってセットする。
ステップS1817では、セットした表示リストを用いて、ダイアログ表示する。このとき、背景色、文字色、編集可否フラグに従って、表示を行う。
ダイアログ表示の例が、図23である。「10.5.1.入力」を表示した例が、2301である。プルダウンにより候補IPアドレスを表示させる構成であってもよい。また、候補IPアドレスがない場合など、「IPアドレスを入力してください」を表示した例が、2302である。
2301のように、hostsファイルから取得したデータ(レコード)と、設定ファイルから取得したホスト名のデータ(レコード)を識別可能に表示する。特に、設定ファイルから取得したホスト名のデータは強調表示することで識別表示する。
すなわち、入力情報生成処理で入力補助として生成された情報と、ホスト名取得処理により取得されたホスト名を対応させて表示する処理の一例を示すものである。
また、管理情報取得処理により取得されたホスト名と通信識別情報と、ホスト名取得処理により取得されたホスト名を入力受付画面に一覧表示する処理の一例を示すものである。
なお「入力」「IPアドレスを入力してください」は、入力フォーカスがあたると入力エリアから削除される。
次に、図20のIPアドレス編集の処理のフローチャートについて説明する。本フローチャートは、ステップS1505の詳細を示すフローチャートである。
ステップS2000では、ダイアログ上でユーザの操作に応じて、データの入力を受け付ける。入力された例は、図23の2303である。IPアドレスの入力は、ユーザが利用するプリンタのIPアドレスは、各拠点(営業所等)で管理しているプリンタ一覧ファイルを確認して入力するなどの形態がある。また、プリンタにIPアドレスのシールが貼ってある場合は、シールに記載されているIPアドレスを入力する。
ステップS2001では、ダイアログ上での入力を受け付けると、入力を受け付けた変更行のデータを取得する。例えば、IPアドレス「10.5.1.90」「printer_1」
ステップS2002では、変更行に対応するItemデータをItem配列から取得する。
ステップS2003では、Itemデータと変更行のデータを比較し、IPアドレスが変更されたと判定した場合には、ステップS2004へ処理を移す。IPアドレスが変更されていない場合には、ステップS2005へ処理を移す。なお、本実施形態では、Itemデータと変更行のデータとを比較して、変更されたデータがIPアドレスかを判定したが、hosts編集モジュールが、ユーザにより入力され変更された項目を記憶する構成とし、この変更された項目がIPアドレスかを判定するようにしてもよい。
ステップS2004では、Itemデータの変更フラグをTRUEに更新し、変更されたIPアドレスでItemデータのIPアドレスを更新する。この時hostsデータ配列は2101のように、要素6と要素7のように格納される。
ステップS2005では、Itemデータと変更行のデータを比較し、ホスト名が変更されたと判定した場合には、ステップS2006へ処理を移す。ホスト名が変更されていない場合には、処理を終了する。なお、本実施形態では、Itemデータと変更行のデータとを比較して、変更されたデータがホスト名かを判定したが、hosts編集モジュールが、ユーザにより入力され変更された項目を記憶する構成とし、この変更された項目がホスト名かを判定するようにしてもよい。
ステップS2006では、Itemデータの変更フラグをTRUEに更新し、変更されたホスト名でItemデータのホスト名を更新する。
なお、上述では、IPアドレス、ホスト名を変更できるようにしたが、hosts編集モジュールが、今回追加するホスト名のIPアドレスだけを編集させるような構成をとる場合、ステップS2000〜ステップS2002、ステップS2004の処理を実行するものとする。
この場合、追加ボタンで新規レコードにIPアドレスとホスト名を入力をさせない構成とする。
本実施形態では対象のデバイスをプリンタとしたが、複合機やポートが設定される他の入出力機器に適用してもよい。
次に、上述の実施形態に加え、クライアント端末102でプリンタを削除した場合のhostsファイルのデータを削除する実施形態を説明する。
図24は、hostsファイルのデータ削除の処理のフローチャートである。
他の処理については、上述の処理と同一のため、説明を省略する。
ステップS1506で、hostsファイルの書き込み指示があった場合に、図13の1301のホスト名を取得する。このホスト名を有するレコードをhostsファイルから特定して、削除する。hostsファイルからのデータ削除は、OSのAPIを用いて実行する。
また、削除対象のレコードは、2304の入力画面のように、プリンタが削除されたため、削除されることをユーザが認識可能なように表示される。
以上、本実施形態によれば、インストールに係る通信先の設定作業を容易にすることができる。
特に、インストール情報を設定する管理者の作業及びインストールを実行するユーザのインストールに係る作業の双方を効率化することができる。
また、管理者が仮のホスト名を用いることで、容易にインストーラセットが作成でき、利便性の高い仕組みを実現できる。また、仮のホスト名の箇所、すなわちユーザに設定させるIPアドレスを強調表示するため、インストールを実行するユーザ、特に不慣れなユーザであってもミスを低減でき、容易に入力させ、プリンタを容易に導入することが可能になる。
さらに、配布されたファイルを実行するだけで、プリンタドライバなどのインストールで複雑なインストール作業を軽減することができ、導入が容易となる。特に、ポートの設定を適切に行わないと印刷ができないため、仮のホスト名でのインストールを実行した場合には、プリンタと通信を行わせるためのIPアドレスが必要になります。このIPアドレスをホスト名(仮のホスト名)に確実に対応付けて、hostsファイルに入力させることで、印刷を実行できる環境を作ることが可能となります。本実施形態では、IPアドレスを入力させるプログラム(本実施形態では、hosts編集モジュール)がインストールに続き自動で実行できるようにしているため、ユーザが後から作業するIPアドレスの入力、hostsファイルのメンテナンス漏れを防ぎ、印刷を実行できる環境を容易に構築することが可能となる。
なお、上述した各種データの構成及びその内容はこれに限定されるものではなく、用途や目的に応じて、様々な構成や内容で構成されることは言うまでもない。例えば、本実施形態では、IPアドレスを用いる構成としたが、オペレーティングシステムが出力先を特定できる個体識別番号で通信できる構成の場合には、IPアドレスに限定されるものではない。
以上、一実施形態について示したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記録媒体等としての実施態様をとることが可能であり、具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。例えば、クラウド環境で実現する構成であってもよい。その場合、クラウド環境上のサーバで、設定ファイル作成ツールが実行される。
また、本発明におけるプログラムは、図6、図14、図15、図16、図18、図20、図24に示すフローチャートの処理方法をコンピュータが実行可能なプログラムである。なお、記憶媒体に図6、図14、図15、図16、図18、図20、図24の処理方法をコンピュータが実行可能なプログラムが記憶される構成であってもよい。なお、本発明におけるプログラムは図6、図14、図15、図16、図18、図20、図24の各装置の処理方法ごとのプログラムであってもよい。
以上のように、前述した実施形態の機能を実現するプログラムを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記録媒体に格納されたプログラムを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
この場合、記録媒体から読み出されたプログラム自体が本発明の新規な機能を実現することになり、そのプログラムを記憶した記録媒体は本発明を構成することになる。
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、DVD−ROM、磁気テープ、不揮発性のメモリカード、ROM、EEPROM、シリコンディスク、ソリッドステートドライブ等を用いることができる。
また、コンピュータが読み出したプログラムを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
また、本発明は、複数の機器から構成されるシステムに適用しても、1つの機器からなる装置に適用してもよい。また、本発明は、システムあるいは装置にプログラムを供給することによって達成される場合にも適応できることは言うまでもない。この場合、本発明を達成するためのプログラムを格納した記録媒体を該システムあるいは装置に読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
さらに、本発明を達成するためのプログラムをネットワーク上のサーバ、データベース等から通信プログラムによりダウンロードして読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
なお、上述した各実施形態およびその変形例を組み合わせた構成も全て本発明に含まれるものである。