説明

サーバ装置及びドライバパッケージ生成プログラム

【課題】提供側にとっては容易な提供を可能としつつ、ユーザ側にとって余分な機能は梱包されず必要とされる機能モジュールのみを梱包したドライバパッケージを生成する。
【解決手段】本発明に係るサーバ装置は、ドライバパッケージを提供するサーバ装置であって、コアモジュール及び機能モジュール群、並びに各機能モジュールのパッケージ化条件を規定するルールファイルを記憶した記憶手段と、ドライバパッケージ要求を受信する受信手段と、指定された機能モジュールとルールファイルとに基づいて、ドライバパッケージに含まれる機能モジュールを決定する決定手段と、各モジュールのインストール方法を指示するインストールシナリオを、決定した機能モジュールとルールファイルに基づいて作成する作成手段と、コアモジュール、決定した機能モジュール及び作成したインストールシナリオを含むドライバパッケージを生成する生成手段とを有する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ドライバパッケージを生成するサーバ装置及びドライバパッケージ生成プログラムの分野に関する。
【背景技術】
【0002】
プリンタドライバは、例えばユーザ端末等にインストールされ、プリンタに対して各種印刷設定を含む印刷指示を行うプログラムである。一般的に、プリンタドライバはWeb上に公開されており、ユーザは使用するプリンタの機種に応じて、対応するプリンタドライバをダウンロードできる。図1は、プリンタドライバダウンロードページを示す図の一例である。
【0003】
ここで、プリンタドライバは、ある一の機種であっても、複数の種類のプリンタドライバが提供されている場合がある。例えば、図1に示されるように標準(推奨)版、軽量版、エンタープライズ版といったように、含まれる機能に応じて、異なるプリンタドライバパッケージが提供されている。また他にも、ユーザが個々に欲しい機能(オプション機能)と不要な機能を取捨して、ダウンロードしたい機能を選択できるようにすることもできる。
【0004】
図2は、プリンタドライバダウンロードページの内部的なデータ構成を示す図の一例である。プリンタドライバダウンロードページと、サーバ上の各ドライバパッケージ(実体)とはリンクされており、ダウンロードページ上と対応するドライバパッケージが、サーバからダウンロードできるようになっている。
【0005】
図3は、各ドライバパッケージに梱包されるファイルを模式的に示す図の一例である。パッケージによって内包するファイル(モジュール)は異なっている。ドライバインストーラは、そのパッケージに含まれるドライバコアや各機能をインストールするように作成されている。ドライバコアは、いずれのパッケージでもプリンタドライバにおいて必須の機能を提供するもので必ずパッケージには含まれるものである。機能A、B、Cは、必ずしも必須ではなく、用途や必要に応じて、取捨可能であるものである。
【0006】
このようにドライバパッケージには多数のファイルが梱包されており、これらのファイルはそれぞれ機能や役割に応じて存在するものである。ユーザが全ての機能を使わない限り本来必ずしも全てのファイルをパッケージに梱包する必要はないが、従来おおよそのユーザ毎の使用状況を想定して、使用するであろうファイルを梱包したパッケージを提供していた。
【0007】
その理由の一つとしては、単純に全ての機能の組合せた種類のパッケージを提供する場合、多大なコスト増になるため非現実的だからである。例えば、上記ケースであれば、ドライバコアは必須であるとしても、機能A、B、Cを組合せると、全部で16パターンのパッケージを提供側(例えばメーカー)は作成しなくてはならない。従って、従来、ある程度ファイルを複数梱包したパッケージを提供するという対応が一般的であった。
【0008】
しかしながら、全て(多く)のファイルを梱包する場合、パッケージサイズが肥大化するため、ユーザサイドからすると、使用しない機能のためにパッケージ容量が大きくなってしまい無駄が生じる。また、そのユーザにとって不要な機能を含んでいるため、使用上(操作上)複雑になったりと、かえって使いにくくなっている場合がある。とはいえ前述の通り、全ての機能の組合せた種類のパッケージを提供するのは、多大なコスト増になるため非現実的である。
【0009】
これに関連する技術として特許文献1には、ドライバのパッケージファイルのダウンロード時に、クライアント装置に合わせてパッケージファイルが生成されるようにして、クライアント装置の環境のバリエーションが多い場合においても、サブモジュールを適宜追加、変更することで、適切なデバイスドライバのパッケージファイルを簡単に用意し提供することが記載されている。つまり、プリンタドライバのダウンロードに際し、サーバ装置は、ユーザに必要な機能を選択して、必要な機能のみ梱包されたパッケージファイルを生成するようになっている。
【発明の概要】
【発明が解決しようとする課題】
【0010】
ところで、プリンタは多くのオプション(機能)がしばしば追加されて使用される。単純にプリンタの基本的な機能としてプリント機能が思い浮かぶが、近年、現在のデジタル複合機(MFP:Multi-Function Peripheral)は、CPUの性能向上、メモリの大容量化、通信技術の高速化及びデジタル画像技術の高度化等、MFPに関連する技術の進化に伴い、単にプリンタとしての機能だけでなく、様々な機能を搭載し、ユーザ環境において多彩な利用形態を提供するようになった。従って、プリンタドライバで対応すべき機能は相当数に及ぶので、前述のように、単純に全ての機能の組合せた種類のパッケージを提供することは、現実的ではない。
【0011】
また特許文献1に記載される発明のように、ユーザに必要な機能を選択して、必要な機能のみ梱包されたパッケージファイルを生成(提供)する場合であっても、単純に必要な機能のみを梱包してパッケージファイルを生成するのみでは不十分である。というのは、多種機能を有するプリンタにおいては、オプション機能によっては排他関係や主従関係など、機能特性から生ずる機能間の相互関係が組合せにも関係してくるからである。例えば、排他関係にある機能両方がパッケージに含まれていても、いずれかの機能は事実上使用されることなく、この場合パッケージには余分な機能が含まれてしまっている。また、ある機能に対して従関係にある機能のみがパッケージに含まれていても、主たる機能がないので、この従関係にある機能は事実上使用されることなく、この場合もパッケージには余分な機能が含まれてしまっている。
【0012】
仮に、このような機能間の相互関係を考慮して成立しうるパッケージの組合せを全て作成して提供することもできるが、やはり多大なコスト増となり非現実的である。
【0013】
そこで本発明では上記のような問題に鑑みて、提供側にとっては容易な提供を可能としつつ、ユーザ側にとって余分な機能は梱包されず必要とされる機能モジュールのみを梱包したドライバパッケージを生成するサーバ装置及びドライバパッケージ生成プログラムを提供することを目的とする。
【課題を解決するための手段】
【0014】
そこで上記課題を解決するため、本発明に係るサーバ装置は、少なくともドライバのコアモジュールを含むドライバパッケージをクライアント装置に提供するサーバ装置であって、前記ドライバパッケージの構成要素である前記コアモジュール及び機能モジュール群、並びに各機能モジュールのパッケージ化条件を規定するルールファイルを記憶した記憶手段と、前記クライアント装置から、機能モジュールが指定されたドライバパッケージ要求を受信する受信手段と、指定された機能モジュールと前記ルールファイルとに基づいて、前記機能モジュール群からドライバパッケージに含まれる機能モジュールを決定する決定手段と、前記クライアント装置でドライバパッケージがインストールされる際各モジュールのインストール方法を指示するインストールシナリオを、決定した機能モジュールと前記ルールファイルに基づいて作成するインストールシナリオ作成手段と、前記コアモジュール、前記決定した機能モジュール及び前記作成したインストールシナリオを含むドライバパッケージを生成するパッケージ生成手段とを有する。
【0015】
また上記課題を解決するため、前記サーバ装置において、前記ルールファイルは、各機能モジュール間の排他関係を規定しており、前記決定手段は、指定された機能モジュールと前記ルールファイルに規定される前記排他関係とに基づいて、ドライバパッケージに含まれる機能モジュールを決定することを特徴とする。
【0016】
また上記課題を解決するため、前記サーバ装置において、前記ルールファイルは、各機能モジュールのインストール順序及びインストール属性を規定しており、前記インストールシナリオ作成手段は、前記決定した機能モジュールの前記インストール順序及び前記インストール属性を指示したインストールシナリオを作成することを特徴とする。
【0017】
また上記課題を解決するため、前記サーバ装置において、前記指定された機能モジュールと、前記決定手段が決定した機能モジュールとが異なる場合、その旨の確認をクライアント装置に通知する通知手段とを有する。
【0018】
なお、本発明の構成要素、表現または構成要素の任意の組合せを、方法、装置、システム、コンピュータプログラム、記録媒体、などに適用したものも本発明の態様として有効である。
【発明の効果】
【0019】
本発明によれば、提供側にとっては容易な提供を可能としつつ、ユーザ側にとって余分な機能は梱包されず必要とされる機能モジュールのみを梱包したドライバパッケージを生成するサーバ装置及びドライバパッケージ生成プログラムを提供することができる。
【図面の簡単な説明】
【0020】
【図1】プリンタドライバダウンロードページを示す図の一例である。
【図2】プリンタドライバダウンロードページの内部的なデータ構成を示す図の一例である。
【図3】各ドライバパッケージに内包されるファイルを模式的に示す図の一例である。
【図4】本発明に係る一実施形態におけるネットワーク構成図である。
【図5】サーバ1の一実施形態の主要構成を示すハードウェア構成図である
【図6】サーバ1の一実施形態の主要機能構成を示す機能ブロック図である。
【図7】記憶されたデータ構成を模式的に示す図の一例である。
【図8】ルールファイルの記載内容を示す図の一例である。
【図9】サーバ1からドライバパッケージを取得する概念を説明する図である。
【図10】サーバ1の処理動作を説明するフローチャートである。
【図11】インストールシナリオを示す図の一例である。
【図12】ドライバパッケージに含まれるデータを示す図の一例である。
【図13】ドライバパッケージインストールを説明するフローチャートである。
【図14】インストールシナリオを示す図の一例である。
【図15】サーバ1からドライバパッケージを取得する概念を説明する図である。
【発明を実施するための形態】
【0021】
以下、本発明を実施するための形態を各実施形態において図面を用いて説明する。
【0022】
<構成>
はじめに、具体的な発明の内容を説明する前に、本発明を実施するにあたってのシステム構成について説明する。図4は、本発明に係る一実施形態におけるネットワーク構成図である。本発明に係るサーバ1及びクライアントPC(以下PCという)2が、インターネット等のネットワーク3を介して接続されている。サーバ1は、PC1にプリンタドライバパッケージを提供するサーバ装置である。さらにWeb機能を有しており、Web技術を利用してPC1からのアクセスを容易にしている。
【0023】
PC1は、ユーザ端末であり、Webブラウザを介してサーバ1から必要なプリンタドライバをダウンロードする。プリンタドライバパッケージは、PC1にインストールされ、プリンタ4に対して印刷指示等を行なう。プリンタ4は、例えば画像形成装置をはじめとするプリンタ装置であり、PC1のプリンタドライバから印刷指示を受けて該印刷指示を実行する。
【0024】
なお、サーバ1は後述するように記憶部(Data Base等)を有するが、当該機能は必ずしもサーバ1と同一筐体になくともよく、ネットワーク3上に接続されたファイルサーバ等を設け当該機能を持たせてもよい。
【0025】
(サーバ)
図5は、本発明に係るサーバ1の一実施形態の主要構成を示すハードウェア構成図である。ここでサーバ1のハードウェア構成について簡単に説明しておく。サーバ1は、例えば一般的な情報処理装置でもよく、主要な構成として、CPU101、ROM(Read Only Memory)102、RAM(Random Access Memory)103、補助記憶装置104、記憶媒体読取装置105、入力装置106、表示装置107、及び通信装置108を含む構成である。
【0026】
CPU101は、マイクロプロセッサ及びその周辺回路から構成され、PC1全体を制御する回路である。また、ROM102は、CPU101で実行される所定の制御プログラム(ソフトウェア部品)を格納するメモリであり、RAM103は、CPU101がROM102に格納された所定の制御プログラム(ソフトウェア部品)を実行して各種の制御を行うときの作業エリア(ワーク領域)として使用するメモリである。
【0027】
補助記憶装置104は、汎用のOS(Operating System)、プリンタドライバを含む各種情報を格納する装置であり、不揮発性の記憶装置であるHDD(Hard Disk Drive)などが用いられる。なお、上記各種情報は、補助記憶装置104以外にも、CD−ROM(Compact Disk - ROM)やDVD(Digital Versatile Disk)などの記憶媒体やその他のメディアを記憶されてもよく、これらの記憶媒体に格納された各種情報は、記憶媒体読取装置105などのドライブ装置を介して読み取ることが可能である。
【0028】
入力装置106は、サーバ管理者が各種入力操作を行うための装置である。入力装置106は、マウス、キーボードなどを含む。表示装置107は、いわゆるディスプレイで例えばLCD(Liquid Crystal Display)、CRT(Cathode Ray Tube)などから構成される。次に、通信装置108は、ネットワーク3を介してPC2との通信を行う装置である。有線ネットワークや無線ネットワークなど含む各種ネットワーク形態に応じた通信をサポートする。
【0029】
図6は、サーバ1の一実施形態の主要機能構成を示す機能ブロック図である。サーバ1は、主な機能部として、記憶部601、受信部602、決定部603、インストールシナリオ作成部604、及びパッケージ生成部605を含む構成である。機能部の機能動作については再度詳細に説明を行うので、ここでは簡単に説明する。
【0030】
記憶部601は、ドライバパッケージの構成要素であるコアモジュール及び機能モジュール群、並びに各機能モジュールのパッケージ化条件を規定するルールファイルを記憶している。記憶部601に記憶されるこれらデータについては後述する。
【0031】
受信部602は、PC2から、機能モジュールが指定されたドライバパッケージ要求を受信する機能を有している。ドライバパッケージ要求には、例えば機能A、機能Bといったように、ユーザがドライバパッケージに含めたい機能(プリンタ4においてドライバを介して利用したい機能)との情報が含まれている。
【0032】
決定部603は、ユーザに指定された機能モジュールと、記憶部601のルールファイルとに基づいて、記憶部601の機能モジュール群からドライバパッケージに含まれる機能モジュールを決定する機能を有している。
【0033】
インストールシナリオ作成部604は、PC2でドライバパッケージがインストールされる際各モジュールのインストール方法を指示するインストールシナリオを、決定部603で決定した機能モジュールと、記憶部601のルールファイルに基づいて作成する機能を有している。
【0034】
パッケージ生成部605は、コアモジュール、決定した機能モジュール及び作成したインストールシナリオを含むドライバパッケージを生成する機能を有している。コアモジュールは、プリンタドライバには必ず必要なモジュールである。なお、ドライバパッケージは後述するマスターインストーラをも含む。
【0035】
上記説明したこれらの機能は、実際にはCPU101が実行するドライバパッケージ生成プログラムによりコンピュータ(サーバ1)に実現させるものである。
【0036】
(データ構成)
記憶部601に記憶(格納)されるデータ構成を説明する。図7は、記憶されたデータ構成を模式的に示す図の一例である。前述の通り、コアモジュール、機能モジュール群、ルールファイルが記憶されている。
【0037】
コアモジュール、機能モジュール群は、図に示されるように、それぞれが自身のインストーラを有しており、各モジュール実体は互いに独立するデータになっている。そして、ドライバパッケージに梱包される場合、コアモジュールは必須であるので、コアモジュールに加えて必要とされる機能モジュールがパッケージに含まれる。ドライバパッケージはPC2にインストールされる際、まず開梱される。そしてインストールシナリオに指示される手順等に従って、各モジュールはインストールされる。このとき各モジュールは自身が有するインストーラを使用して自身のモジュールをインストールしていくことができるよう構成されている。
【0038】
ルールファイルは、各機能モジュールのパッケージ化条件を規定するもので、各ドライバモジュール(コンポーネント)リリース時において同時にリリースされる。そして、例えばルールファイルは、各機能モジュール間の排他関係を規定しており、決定部603は、ユーザに指定された機能モジュールとルールファイルに規定される排他関係とに基づいて、機能モジュール群からドライバパッケージに含まれる機能モジュールを決定する。つまり、互いに排他する機能モジュールがユーザに指定された機能モジュールに含まれている場合、例えば、排他関係にある機能の片方をパッケージから除外する。また、ルールファイルは、各機能モジュールのインストール順序及びインストール属性を規定しており、インストールシナリオ作成部604は、決定部603で決定した機能モジュールがPC2においてインストールされる際に適用されるインストール順序やインストール属性を指示したインストールシナリオを作成する。つまり、ルールファイルが参照されて適切なインストールシナリオが作成される。
【0039】
図8は、ルールファイルの記載内容を示す図の一例である。ルールファイルは、一例として、各機能毎のプロパティ条件をCSVフォーマットでリストされている。例えば、図中、「機能Aのルール」を参照すると、「Any_Core, Must」と規定されている。「Any_Core, Must」は、「機能Aは、いずれかのコアモジュールを必須である」ことを意味している。
【0040】
また、「PCL5_Core, IF_Opt, -pcl5」は、「機能Aは、PCL5のコアモジュールとともにインストールする場合、オプション-pcl5を指定する」ことを意味している。具体的に、機能Aは各PDL向けのLocked Print機能を包含しておりいずれのコアモジュールも対応しているが、コアモジュールそのものがPCL5の場合は、機能Aインストール時PCL5向けとしてインストールすることが規定されている。よって機能Aのインストーラに対して、インストールオプションの形で指定をする。
【0041】
次に、「機能Bのルール」を参照すると、「FuncD, Want」は、「機能Bは、機能D(モジュール)を推奨する」ことを意味している。この場合、機能Dは、機能Bの拡張機能にあたるので、機能Cを追加した方が高い機能が提供される。勿論、機能Dは機能Bがなくては(後からしか)追加できない。一例として、機能Bは基本地紋機能、機能Dは拡張地紋機能の場合、拡張地紋機能をPC2でインストールして使うためには、そのベースとして基本地紋機能がインストール済みである必要がある。拡張機能は基本機能の各種処理部を利用するからである。また例えば、機能Bはウォーターマーク機能、機能Dは(基本)地紋機能の場合、地紋機能を単体でインストールした場合は、地紋機能の簡易版しか使えないが、先にウォーターマーク機能をインストールした上で地紋機能を追加すると、ウォーターマークの機能もフル活用した、より高度な地紋機能が使えるようになる。
【0042】
さらに、「機能Cのルール」を参照すると、「FuncA, Not」は、「機能Cは、機能A(モジュール)を排除する」ことを意味している。機能上/つくり上、機能Cと機能Aは排他関係にあり、そのまま平易にインストールすることはできない。例えば、機能CはPS Driver向けの機能(PS Passthrough機能など)であり、このような場合PCL6 Driverのコアには追加できない。次にこれらルールを具体的に適用しながら、サーバ1の処理動作について説明していく。
【0043】
<動作>
図9は、サーバ1からドライバパッケージを取得する概念を説明する図である。ユーザによってプリンタドライバダウンロードページ(Web画面等)から必要な機能が指定(選択)されると、サーバ1は指定された機能(モジュール)を、動的に個々取得してパッケージ処理を行い、ユーザに生成されたドライバパッケージを提供する。なお、「PCL6 Driver(コア)」は必須モジュールであるので、デフォルトで強制的に指定されるようにしてもよい。
【0044】
図10は、サーバ1の処理動作を説明するフローチャートである。即ちドライバパッケージ生成処理を説明する図である。以下説明する。
【0045】
ステップS1001において、受信部602は、PC2から、機能モジュールが指定されたドライバパッケージ要求を受信すると、指定された機能モジュール情報を取得することができる。ここでは、指定された機能モジュールは、図9に対応するように、「PCL6 Driver(コア)」、「PCL6 Driver(機能A)」、「PCL6 Driver(機能B)」、「PCL6 Driver(機能C)」であるとする。
【0046】
ステップS1002で、決定部603は、ルールファイルの、特に指定された機能モジュールの排他関係を参照する。
【0047】
ステップS1003で、ルールを満たすか否かの判定を行う。つまり、指定された機能モジュールが排他関係を有しない場合、ステップS1004に進み、その指定された機能モジュールをドライバパッケージに含めるとの決定を行い、記憶部610から指定された機能モジュール(実体)を取得する。
【0048】
指定された機能モジュールが排他関係を有する場合、ステップS1008で、ユーザにその旨を通知する。また再設定を促す画面を表示する。その際、具体的にどの機能を組み込めないか等を通知して、ルールに適用するような指定(選択)を促すとよい。
【0049】
ここでは前述の通り、指定された機能モジュールは、「PCL6 Driver(コア)」、「PCL6 Driver(機能A)」、「PCL6 Driver(機能B)」、「PCL6 Driver(機能C)」である。図8に示されるルールファイルを参照すると、特に機能モジュールである「PCL6 Driver(機能A)」、「PCL6 Driver(機能C)」において、排他関係を有するので、ステップS1008に進む。そして、例えば「PCL6 Driver(機能C)」を指定しないようにする旨を通知する。これにより、「PCL6 Driver(コア)」、「PCL6 Driver(機能A)」、「PCL6 Driver(機能B)」が再指定されたとする。なお、排他関係は有しないが、「PCL6 Driver(機能B)」は、「PCL6 Driver(機能D)」を推奨する旨をユーザに通知し、「PCL6 Driver(機能D)」を再び指定するように促してもよい。
【0050】
ステップS1005で、インストールシナリオ作成部604は、ルールファイルを再び参照し、決定した機能モジュールのインストール方法を指示するインストールシナリオ作成する。図11は、インストールシナリオを示す図の一例である。概略的にインストールシナリオには、各モジュールをインストールする順序が規定されている。このインストールシナリオについては後述するので、このまま説明を進める。
【0051】
ステップS1006で、パッケージ生成部605は、コアモジュール、決定した機能モジュール及び作成したインストールシナリオを含むドライバパッケージを生成する。また、パッケージ生成部605は、マスターインストーラを含めてからパッケージ(圧縮して1ファイル化)を行なう。マスターインストーラは、ドライバパッケージ全体のインストーラである。実際にはインストールシナリオに規定(記載)された順に、各モジュールの有するインストーラを起動する役割を担う。
【0052】
図12は、ドライバパッケージに含まれるデータを示す図の一例である。ユーザ指定に応じていわば動的に生成されたドライバパッケージには、マスターインストーラ、インストールシナリオ、「PCL6 Driver コア実体」、「PCL6 Driver 機能A実体」、「PCL6 Driver機能B実体」が含まれている。
【0053】
ステップS1007で、サーバ1は、生成されたドライバパッケージをPC2に提供する。
【0054】
(インストール)
PC2側にダウンロードされたドライバパッケージは、プリンタドライバとしてPC2にインストールされてから利用される。ここで、マスターインストーラ及びインストールシナリオをより詳しく説明するため、PC2側におけるドライバパッケージのインストールフローに触れる。
【0055】
図13は、ドライバパッケージインストールを説明するフローチャートである。サーバ1側で生成されたライバパッケージは、PC2側にダウンロードされる。PC2は、そのドライバパッケージを利用するためインストールを行なうのである。以下、説明する。
【0056】
ステップS1301において、PC2は、ドライバパッケージの解凍を行なう。ドライバパッケージは、サーバ1側で圧縮処理されているからである。
【0057】
ステップS1302で、まずマスターインストーラを起動する。マスターインストーラは、ドライバパッケージ全体のインストーラである。
【0058】
ステップS1303で、マスターインストーラはインストールシナリオを読み取る(参照する)。そしてマスターインストーラは、インストールシナリオに規定(記載)された順に、各モジュールの有するインストーラを起動する。
【0059】
ステップS1304で、シナリオ順に、各インストーラを起動する。具体的に再び図12を参照して、[Driver File1]として「.\Core\Install.exe」が記載されている。よって、まずマスターインストーラは、インストーラプログラムである「.\Core\Install.exe」の起動を行なう。この「.\Core\Install.exe」は、図11を参照すると「PCL Driver6 コア実体」内の「コアインストーラ」に相当する。
【0060】
ステップS1305で、各モジュール毎に、自身内の全てのファイルをインストールする。つまり、各モジュールは自身でそれぞれインストーラを有しているので、そのインストーラが起動されてしまえば、自身に含まれる全てのファイルをインストールすることができる。再び、図11を参照して、「PCL Driver コア実体」内の「コアインストーラ」が起動されると、これにより「ドライバコア」がインストールされる。このように、マスターインストーラは、各モジュールのインストーラを順に起動するだけで、個々のインストールは個々のインストーラによって行なわれることになる。
【0061】
ステップS1306で、インストールシナリオ内の全てのインストーラを起動したか判定を行う。全てのインストーラを起動した場合、全ての各モジュール(コアドライバ、各機能ドライバ)がインストールされたことを意味するので、インストール処理を終了する。一方、全てのインストーラを起動していない場合、順に全ての全てのインストーラを起動するまで同様な処理を行う。具体的にここでマスターインストーラは、「.\Core\Install.exe」、「.\FuncA \Install.exe」、「.\FuncB \Install.exe」の順に各インストーラを起動していく。
【0062】
(補足)
以上、サーバ1がドライバパッケージを生成する処理動作を説明してきたが、ルールファイルに関して言及できなかったケースについて補足説明を行っておく。
【0063】
指定された機能モジュールが、「PCL6 Driver(コア)」、「PCL6 Driver(機能A)」、「PCL6 Driver(機能B)」、「PCL6 Driver(機能D)」の場合を取り上げる。
【0064】
再び図8を参照し、(機能Aのルール)において、「Any_Core, Must」、「PCL6_Core, IF_Opt, -pcl6」と規定されている。これはつまり、機能Aにとって、何からのコアモジュールは必須であるが、PCL6版のコアモジュールの場合、インストールオプションとして「-pcl6」を指定するようになっているのである。
【0065】
具体的に、機能Aは各PDL向けのLocked Print機能を包含しておりいずれのコアモジュールも対応しているが、コアモジュールそのものがPCL6の場合は、機能Aインストール時PCL6向けとしてインストールすることが規定されている。よって機能Aのインストーラに対して、インストールオプションの形で指定をする。
【0066】
この場合、機能Aは、例えばその機能のPCL6に対応する一部でよい(十分)ことを意味する。勿論、機能Aの全部が含まれても問題はない。しかしながら、コアモジュールがPCL6対応である以上、PCL6に対応する一部がインストールされていれば十分である。従って、インストールにおいては、機能Aの一部をインストールするようにすることで、不要な(無駄な)、機能やデータを削減する。なお、特に規定がないような機能においては、機能Aは機能Aの全部が含まれるように、パッケージされる。
【0067】
このように、ルールファイルによって各機能の特性や属性(プロパティ)が考慮され、その機能の特性に基づいてインストールのオプションが決定される。プリンタドライバのように多種な特性を有する機能を含むドライバにおいては、無駄のないインストールを行なうことができるのである。
【0068】
再び図8を参照する。(機能Bのルール)において、機能Dは推奨される機能であることが分かる。この場合、機能Dは、機能Bの拡張機能にあたるので、機能Dは機能Bがなくては(後からしか)追加できない。例えば、機能Bは基本地紋機能、機能Dは拡張地紋機能の場合、拡張地紋機能をインストールして使うためには、そのベースとして基本地紋機能がインストール済みである必要がある。拡張機能は基本機能の各種処理部を利用するからである。従って、インストールシナリオでは、インストールされる順序として、「PCL6 Driver(機能B)」、「PCL6 Driver(機能D)」となるよう作成(記載)される。「PCL6 Driver(機能D)」、「PCL6 Driver(機能B)」の順序とはならないように明示的にインストールシナリオにそのインストール順序が記載されるのである。
【0069】
このように、ルールファイルによって各機能間の特性(性質)が考慮され、その機能間の特性に基づいてインストールの順序が決定される。プリンタドライバのように多種な特性を有する機能を含むドライバにおいては、確実に正確なインストールを行なうことができるのである。
【0070】
また再び図8を参照し、(機能Bのルール)において、「FuncD, IF_Opt, -Half」と記載されている。この場合、機能Dは、機能Bの拡張機能にあたるのであるが、機能Dはその機能の、例えば半分又は一部(-Half)でよい(十分)ことを意味する。勿論、機能Dの全部(-Full)が含まれても問題はない。しかしながら、機能Bとの関係においては、機能Dはその機能の、半分又は一部(-Half)で、十分機能Dの機能を発揮することができるので、インストールにおいては、機能Dの半分又は一部をインストールするようにすることで、不要な(無駄な)、機能やデータを削減する。なお、特に規定がないような機能においては、機能Dは機能Dの全部(-Full)が含まれるように、パッケージされる。
【0071】
図14は、インストールシナリオを示す図の一例である。即ち、ここで作成されたインストールシナリオを示す図である。機能Bと機能Dの関係が反映されており、まず「.\FuncB\Install.exe」が実行(起動)されてから、「.\FuncD\Install.exe」が実行されるよう明示的に記載されている。また、同様に機能Dに関して、「.\FuncD\Install.exe -Half」と記載されている。機能Dの半分又は一部(-Half)をインストールするように明示的に記載されている。
【0072】
<変形例>
図15は、サーバ1からドライバパッケージを取得する概念を説明する図である。図9と対比されることができる。つまり、図9のプリンタドライバダウンロードページにおいて、ユーザはチェックボックスで欲しい機能にチェックすればよかった。
【0073】
図15のプリンタドライバダウンロードページにおいて、標準(推奨)版、軽量版、エンタープライズ版といったように、含まれる機能に応じて、異なるプリンタドライバパッケージが提供されている。つまり、コンセプトやキャッチフレーズ等の観点から、ユーザにとって分かり易い単位でのドライバパッケージが提供されている。このようにすることで、チェックボックス形式に比べて、個々の機能詳細を把握していなくとも、そのコンセプトからおおよそそのユーザニーズにマッチしたドライバパッケージを提供できる。
【0074】
図中、「PCL6 Driver (軽量版)」が指定(選択)された場合、サーバ1側では指定された機能モジュールを特定しており、この場合、「PCL6 Driver 機能A実体」が指定された機能モジュールであると特定している。よって、最終的に、「インストールシナリオ」、「PCL6 Driver ドライバコア実体」(必須)、「PCL6 Driver 機能A実体」(指定)が梱包されて、ドライバパッケージとしてユーザに提供される。
【0075】
なお、プリンタドライバダウンロードページの作り込みにおいて、「PCL6 Driver (軽量版)」のリンク中に指定された機能モジュールとして「PCL6 Driver 機能A実体」の情報を埋め込むことで実現できる。またもしくは、「PCL6 Driver (軽量版)」のリンク中に所定のフラグ等を埋め込んでおき、サーバ1側でその所定フラグの対応する機能モジュールを決めておくことで実現できる。
【0076】
以上本発明によれば、提供側にとっては容易な提供を可能としつつ、ユーザ側にとって余分な機能は梱包されず必要とされる機能モジュールのみを梱包したドライバパッケージを生成するサーバ装置及びドライバパッケージ生成プログラムすることができる。
【0077】
以上、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。即ちプリンタドライバパッケージに限られずとも、特に多彩な機能及び機能間に特有の相互関係を有するような周辺機器等においても本発明を適用することができる。
【符号の説明】
【0078】
1 サーバ装置
2 クライアントPC
3 ネットワーク
4 プリンタ
101 CPU
102 ROM
103 RAM
104 補助記憶装置
105 記憶媒体読取装置
106 入力装置
107 表示装置
108 通信装置
601 記憶部
602 受信部
603 決定部
604 インストールシナリオ作成部
605 パッケージ生成部
【先行技術文献】
【特許文献】
【0079】
【特許文献1】特開2006−244009号公報

【特許請求の範囲】
【請求項1】
少なくともドライバのコアモジュールを含むドライバパッケージをクライアント装置に提供するサーバ装置であって、
前記ドライバパッケージの構成要素である前記コアモジュール及び機能モジュール群、並びに各機能モジュールのパッケージ化条件を規定するルールファイルを記憶した記憶手段と、
前記クライアント装置から、機能モジュールが指定されたドライバパッケージ要求を受信する受信手段と、
指定された機能モジュールと前記ルールファイルとに基づいて、前記機能モジュール群からドライバパッケージに含まれる機能モジュールを決定する決定手段と、
前記クライアント装置でドライバパッケージがインストールされる際各モジュールのインストール方法を指示するインストールシナリオを、決定した機能モジュールと前記ルールファイルに基づいて作成するインストールシナリオ作成手段と、
前記コアモジュール、前記決定した機能モジュール及び前記作成したインストールシナリオを含むドライバパッケージを生成するパッケージ生成手段と、
を有することを特徴とするサーバ装置。
【請求項2】
前記ルールファイルは、各機能モジュール間の排他関係を規定しており、
前記決定手段は、指定された機能モジュールと前記ルールファイルに規定される前記排他関係とに基づいて、ドライバパッケージに含まれる機能モジュールを決定すること、
を特徴とする請求項1に記載のサーバ装置。
【請求項3】
前記ルールファイルは、各機能モジュールのインストール順序及びインストール属性を規定しており、
前記インストールシナリオ作成手段は、前記決定した機能モジュールの前記インストール順序及び前記インストール属性を指示したインストールシナリオを作成すること、
を特徴とする請求項1又は2に記載のサーバ装置。
【請求項4】
前記指定された機能モジュールと、前記決定手段が決定した機能モジュールとが異なる場合、その旨の確認をクライアント装置に通知する通知手段と、
を有することを特徴とする請求項1ないし3いずれか一項に記載のサーバ装置。
【請求項5】
少なくともドライバのコアモジュールを含むドライバパッケージをクライアント装置に提供するようにサーバ装置を、
前記ドライバパッケージの構成要素である前記コアモジュール及び機能モジュール群、並びに各機能モジュールのパッケージ化条件を規定するルールファイルを記憶した記憶手段と、
前記クライアント装置から、機能モジュールが指定されたドライバパッケージ要求を受信する受信手段と、
指定された機能モジュールと前記ルールファイルとに基づいて、前記機能モジュール群からドライバパッケージに含まれる機能モジュールを決定する決定手段と、
前記クライアント装置でドライバパッケージがインストールされる際各モジュールのインストール方法を指示するインストールシナリオを、決定した機能モジュールと前記ルールファイルに基づいて作成するインストールシナリオ作成手段と、
前記コアモジュール、前記決定した機能モジュール及び前記作成したインストールシナリオを含むドライバパッケージを生成するパッケージ生成手段と、
して機能させるためのドライバパッケージ生成プログラム。
【請求項6】
前記ルールファイルは、各機能モジュール間の排他関係を規定しており、
前記決定手段は、指定された機能モジュールと前記ルールファイルに規定される前記排他関係とに基づいて、ドライバパッケージに含まれる機能モジュールを決定すること、
を特徴とする請求項5に記載のドライバパッケージ生成プログラム。
【請求項7】
前記ルールファイルは、各機能モジュールのインストール順序及びインストール属性を規定しており、
前記インストールシナリオ作成手段は、前記決定した機能モジュールの前記インストール順序及び前記インストール属性を指示したインストールシナリオを作成すること、
を特徴とする請求項5又は6に記載のドライバパッケージ生成プログラム。
【請求項8】
前記サーバ装置を、
前記指定された機能モジュールと、前記決定手段が決定した機能モジュールとが異なる場合、その旨の確認をクライアント装置に通知する通知手段と、
して機能させるための請求項5ないし7いずれか一項に記載のドライバパッケージ生成プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate


【公開番号】特開2010−182116(P2010−182116A)
【公開日】平成22年8月19日(2010.8.19)
【国際特許分類】
【出願番号】特願2009−25293(P2009−25293)
【出願日】平成21年2月5日(2009.2.5)
【出願人】(000006747)株式会社リコー (37,907)
【Fターム(参考)】