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

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

Info

Publication number
JP2010182116A
JP2010182116A JP2009025293A JP2009025293A JP2010182116A JP 2010182116 A JP2010182116 A JP 2010182116A JP 2009025293 A JP2009025293 A JP 2009025293A JP 2009025293 A JP2009025293 A JP 2009025293A JP 2010182116 A JP2010182116 A JP 2010182116A
Authority
JP
Japan
Prior art keywords
function
module
driver
functional module
installation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2009025293A
Other languages
English (en)
Inventor
Koji Dan
浩二 團
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.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2009025293A priority Critical patent/JP2010182116A/ja
Priority to EP09839604A priority patent/EP2394214A1/en
Priority to PCT/JP2009/006281 priority patent/WO2010089826A1/en
Priority to US13/143,165 priority patent/US8615756B2/en
Publication of JP2010182116A publication Critical patent/JP2010182116A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

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

Description

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

Claims (8)

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

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2009025293A JP2010182116A (ja) 2009-02-05 2009-02-05 サーバ装置及びドライバパッケージ生成プログラム
EP09839604A EP2394214A1 (en) 2009-02-05 2009-11-20 Server device and computer-readable recording medium
PCT/JP2009/006281 WO2010089826A1 (en) 2009-02-05 2009-11-20 Server device and computer-readable recording medium
US13/143,165 US8615756B2 (en) 2009-02-05 2009-11-20 Server device and computer-readable recording medium for generating a driver package

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009025293A JP2010182116A (ja) 2009-02-05 2009-02-05 サーバ装置及びドライバパッケージ生成プログラム

Publications (1)

Publication Number Publication Date
JP2010182116A true JP2010182116A (ja) 2010-08-19

Family

ID=42541752

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009025293A Pending JP2010182116A (ja) 2009-02-05 2009-02-05 サーバ装置及びドライバパッケージ生成プログラム

Country Status (4)

Country Link
US (1) US8615756B2 (ja)
EP (1) EP2394214A1 (ja)
JP (1) JP2010182116A (ja)
WO (1) WO2010089826A1 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012048410A (ja) * 2010-08-25 2012-03-08 Nec Corp ソフトウェアインストールシステム、ソフトウェアインストール方法
JP2012123764A (ja) * 2010-12-10 2012-06-28 Ricoh Co Ltd 情報処理装置
JP2013020354A (ja) * 2011-07-08 2013-01-31 Ricoh Co Ltd ログ集計プログラム、ログ集計装置およびインストーラ・パッケージャ・プログラム
JP2017102729A (ja) * 2015-12-02 2017-06-08 キヤノン株式会社 情報処理装置及びその制御方法、並びにプログラム
US10310839B2 (en) 2015-11-30 2019-06-04 Ricoh Company, Ltd. Information processing apparatus, control program management system, and control program management method

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5942485B2 (ja) * 2012-03-05 2016-06-29 株式会社リコー データ処理装置、プログラムおよびデータ処理システム
CN103473080A (zh) * 2012-06-07 2013-12-25 腾讯科技(深圳)有限公司 软件安装方法、终端及系统
US9813508B2 (en) * 2013-04-05 2017-11-07 Ricoh Company, Ltd. Approach for providing service workflows through devices
CN105119790B (zh) * 2015-09-09 2019-02-19 小米科技有限责任公司 设备控制方法及装置
JP6444932B2 (ja) * 2016-04-15 2018-12-26 ファナック株式会社 サーバベースのアプリケーションソフトウエア実行システム
US10564959B2 (en) * 2017-03-14 2020-02-18 Google Llc Shared software libraries for computing devices
JP7013176B2 (ja) * 2017-09-06 2022-01-31 キヤノン株式会社 プログラム、情報処理装置、及び制御方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11282653A (ja) * 1998-03-31 1999-10-15 Matsushita Electric Works Ltd インストールプログラムを記録した記録媒体
JP2000242471A (ja) * 1999-02-19 2000-09-08 Toshiba Corp コンピュータシステムの初期構成をインストールするシステムおよびその方法、もしくは起動記憶媒体
JP2003288210A (ja) * 2002-03-27 2003-10-10 Nec System Technologies Ltd インストールプログラム実行システム及び方法
JP2004127281A (ja) * 2002-09-14 2004-04-22 Ricoh Co Ltd 画像形成装置および情報表示方法
JP2004265061A (ja) * 2003-02-28 2004-09-24 Canon Inc プログラムインストール方法、装置、及びシステム
JP2006164253A (ja) * 2004-11-15 2006-06-22 Canon Inc データ処理装置および設定処理方法およびコンピュータが読み取り可能なプログラムを格納した記憶媒体および制御プログラム
JP2007115257A (ja) * 2005-10-20 2007-05-10 Internatl Business Mach Corp <Ibm> フェデレーション内でのソフトウェアのインストール

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6006035A (en) * 1997-12-31 1999-12-21 Network Associates Method and system for custom computer software installation
JP2001005622A (ja) 1999-05-26 2001-01-12 Xerox Corp プリントレットシステム及び方法
US6282711B1 (en) * 1999-08-10 2001-08-28 Hewlett-Packard Company Method for more efficiently installing software components from a remote server source
US20030037327A1 (en) * 2001-08-15 2003-02-20 International Business Machines Corporation Run-time rule-based topological installation suite
US20030195951A1 (en) * 2002-04-12 2003-10-16 Wittel Walter I. Method and system to dynamically detect, download and install drivers from an online service
US7610583B2 (en) * 2002-04-23 2009-10-27 Gateway, Inc. Personalized software installation method for computer manufacturers
US7853946B2 (en) * 2003-02-28 2010-12-14 Canon Kabushiki Kaisha Information processing apparatus, information processing method, and control program
JP4444634B2 (ja) 2003-11-13 2010-03-31 キヤノンソフトウェア株式会社 プログラム生成装置およびプログラム生成方法およびプログラムおよび記録媒体
US7802246B1 (en) * 2004-06-21 2010-09-21 Microsoft Corporation Systems and methods that facilitate software installation customization
US10162618B2 (en) * 2004-12-03 2018-12-25 International Business Machines Corporation Method and apparatus for creation of customized install packages for installation of software
JP4551784B2 (ja) * 2005-02-10 2010-09-29 キヤノン株式会社 カスタムプリンタドライバインストーラ
JP2006244009A (ja) 2005-03-02 2006-09-14 Seiko Epson Corp ダウンロードシステム、サーバ装置およびドライバ提供方法
US8352935B2 (en) * 2005-05-19 2013-01-08 Novell, Inc. System for creating a customized software distribution based on user requirements
US8074214B2 (en) * 2005-05-19 2011-12-06 Oracle International Corporation System for creating a customized software installation on demand
JP2006350443A (ja) 2005-06-13 2006-12-28 Canon Inc 印刷システムおよび印刷制御方法およびプログラム
JP2006350910A (ja) 2005-06-20 2006-12-28 Canon Inc プリンタ装置および印刷方式
US20070028229A1 (en) * 2005-07-28 2007-02-01 International Business Machines Corporation Method and system for dynamic generation of computer system installation instructions
JP2007164543A (ja) 2005-12-14 2007-06-28 Canon Inc 地紋印刷システム、情報処理装置およびその方法
JP4842742B2 (ja) * 2006-09-05 2011-12-21 富士通株式会社 ソフトウェア管理プログラム、ソフトウェア管理方法およびソフトウェア管理装置
EP1975786A1 (en) 2007-03-29 2008-10-01 Ricoh Company, Ltd. Method for installing a printer driver on an end user's computer
JP2008268502A (ja) 2007-04-19 2008-11-06 Ricoh Co Ltd 画像形成装置および給紙トレイ

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11282653A (ja) * 1998-03-31 1999-10-15 Matsushita Electric Works Ltd インストールプログラムを記録した記録媒体
JP2000242471A (ja) * 1999-02-19 2000-09-08 Toshiba Corp コンピュータシステムの初期構成をインストールするシステムおよびその方法、もしくは起動記憶媒体
JP2003288210A (ja) * 2002-03-27 2003-10-10 Nec System Technologies Ltd インストールプログラム実行システム及び方法
JP2004127281A (ja) * 2002-09-14 2004-04-22 Ricoh Co Ltd 画像形成装置および情報表示方法
JP2004265061A (ja) * 2003-02-28 2004-09-24 Canon Inc プログラムインストール方法、装置、及びシステム
JP2006164253A (ja) * 2004-11-15 2006-06-22 Canon Inc データ処理装置および設定処理方法およびコンピュータが読み取り可能なプログラムを格納した記憶媒体および制御プログラム
JP2007115257A (ja) * 2005-10-20 2007-05-10 Internatl Business Mach Corp <Ibm> フェデレーション内でのソフトウェアのインストール

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012048410A (ja) * 2010-08-25 2012-03-08 Nec Corp ソフトウェアインストールシステム、ソフトウェアインストール方法
JP2012123764A (ja) * 2010-12-10 2012-06-28 Ricoh Co Ltd 情報処理装置
JP2013020354A (ja) * 2011-07-08 2013-01-31 Ricoh Co Ltd ログ集計プログラム、ログ集計装置およびインストーラ・パッケージャ・プログラム
US10310839B2 (en) 2015-11-30 2019-06-04 Ricoh Company, Ltd. Information processing apparatus, control program management system, and control program management method
JP2017102729A (ja) * 2015-12-02 2017-06-08 キヤノン株式会社 情報処理装置及びその制御方法、並びにプログラム
US10362190B2 (en) 2015-12-02 2019-07-23 Canon Kabushiki Kaisha Information processing apparatus that installs module according to a usage form of the information processing apparatus method of controlling the same, and storage medium

Also Published As

Publication number Publication date
WO2010089826A1 (en) 2010-08-12
EP2394214A4 (en) 2011-12-14
EP2394214A1 (en) 2011-12-14
US8615756B2 (en) 2013-12-24
US20110283275A1 (en) 2011-11-17

Similar Documents

Publication Publication Date Title
JP2010182116A (ja) サーバ装置及びドライバパッケージ生成プログラム
US8804172B2 (en) Non-transitory computer readable recording medium stored with printer driver updating program and printer driver updating method
JP6330361B2 (ja) 印刷制御プログラム、情報処理装置及び印刷システム
JP2005338940A (ja) インストール方法、情報処理装置、及びデバイスドライバ
JP2011034503A (ja) 電子機器,ソフトウェア更新方法,プログラム,および記録媒体
JP5672890B2 (ja) ライセンス導入支援システム、ライセンス導入支援装置、ライセンス導入支援方法、及びライセンス導入支援プログラム
JP2006164240A (ja) データ処理装置および印刷設定処理方法およびコンピュータが読み取り可能な制御プログラムを格納した記憶媒体および制御プログラム
JP5316078B2 (ja) 通信機器、該通信機器の制御方法およびそのプログラムならびにシステム
JP6225822B2 (ja) 出力システム、端末装置、プログラム及び出力方法
JP2009301127A (ja) プリンタドライバプログラム及び印刷指示装置
JP2011059956A (ja) プリンタドライバ、情報処理装置、及び記録媒体
JP5819203B2 (ja) 多機能装置に接続する大容量記憶装置にネットワークアクセスを可能にするシステム及び方法
KR20150141149A (ko) 시스템, 인쇄 장치, 제어 방법 및 기록 매체
US9547487B2 (en) Image forming apparatus, control method therefor, and control program therefor
JP5653287B2 (ja) 印刷システム、印刷データ生成装置、処理装置、印刷方法、コンピュータプログラム及び記録媒体
JP5533790B2 (ja) ウェブアプリケーションを備えたクライアントサーバーシステム、及び当該クライアントサーバーシステムにおけるクライアント装置
JP6100682B2 (ja) 画像処理装置及び印刷システム
JP2004171517A (ja) データ処理装置
JP5729652B2 (ja) プリンタドライバ及びプリンタドライバのローカライズ方法
JP2018156521A (ja) 画像形成装置、情報処理端末、画像形成システム、プログラム及び言語切替方法
JP6525084B2 (ja) 情報処理装置、印刷制御プログラム及び印刷システム
JP2012176588A (ja) 画像形成装置
JP2010049643A (ja) 情報処理システム、情報処理方法及びプログラム
JP5036273B2 (ja) 画像形成装置、表示データ生成方法及びプログラム
JP5768921B2 (ja) ライセンス元判定装置、ライセンス元判定方法、ライセンス元判定システム、及びライセンス元判定プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120126

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120619

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121218

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130215

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20130604