JP4371673B2 - Program installation method and server device - Google Patents

Program installation method and server device Download PDF

Info

Publication number
JP4371673B2
JP4371673B2 JP2003053893A JP2003053893A JP4371673B2 JP 4371673 B2 JP4371673 B2 JP 4371673B2 JP 2003053893 A JP2003053893 A JP 2003053893A JP 2003053893 A JP2003053893 A JP 2003053893A JP 4371673 B2 JP4371673 B2 JP 4371673B2
Authority
JP
Japan
Prior art keywords
client
installation
printer
server
program
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.)
Expired - Fee Related
Application number
JP2003053893A
Other languages
Japanese (ja)
Other versions
JP2004265061A (en
JP2004265061A5 (en
Inventor
智徳 皆川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2003053893A priority Critical patent/JP4371673B2/en
Priority to US10/780,659 priority patent/US7853946B2/en
Publication of JP2004265061A publication Critical patent/JP2004265061A/en
Publication of JP2004265061A5 publication Critical patent/JP2004265061A5/ja
Application granted granted Critical
Publication of JP4371673B2 publication Critical patent/JP4371673B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、例えばネットワークに接続されたプリンタ等の共有デバイスをネットワーク上の端末等に利用するネットワークシステムに関し、特に、デバイスドライバを各端末にインストールするためのプログラムインストール方法、装置、及びシステムに関する。
【0002】
【従来の技術】
従来のデバイスドライバ、例えばプリンタドライバのインストール方法は、オペレーティングシステム(OS)に依存した方式で行われている。例えばWindows(登録商標)の場合、プリンタのプロパティ(オブジェクトに関する情報をまとめたものであり、オブジェクトに応じてこの上でドライバの追加等の操作を行える。)から「プリンタの追加」が選択されると、それに続けてウィザードと呼ばれる対話形式でユーザに必要情報を入力させ、プリンタドライバのインストールさせる。
【0003】
このほかに、アプリケーションと同様に、インストーラを用いて、ユーザに最小限の操作をさせるだけでプリンタドライバのインストールを実現させる方法もあった。
【0004】
また、プリントサーバを用いたPoint&Printと呼ぶ仕組みがWindowsNT(登録商標)/2000のサーバ上にあった。この仕組みによれば、ネットワークで共有されるプリンタのプリンタドライバをサーバ装置にインストールしておく。そしてクライアント装置からそのプリントサーバに接続すると、サーバがクライアントにプリンタドライバを自動配信し、クライアント装置にインストールされる。
【0005】
このように、プリンタドライバ等のデバイスドライバをクライアント装置にインストールする方法には上述の方法があったが、いずれ方法によっても、プリンタドライバに対して機能の追加や拡張を行いたい場合は、追加される機能が含まれる新しいバージョンのプリンタドライバのフルセットを再インストールする必要があった。
【0006】
このため、一般消費者向けにリリースされたプリンタドライバとは異なる機能が必要とされる場合や、たとえば社内LANなどにおいて一般ユーザに使用させたくない機能をマスクしたい場合などには、必要とされる機能を付加し、あるいは不要な機能を削除してカスタマイズされたドライバのフルセットを用意し、それをクライアント端末にインストールする必要があった。
【0007】
【発明が解決しようとする課題】
しかしながら、上記従来のインストール方法では、企業ユーザのように多数のコンピュータを所有し多数のユーザ(クライアント)を抱えている場合、その全てのクライアントにプリンタドライバをインストールさせる作業が発生するためいろいろな問題があった。
【0008】
例えば、ユーザは、自分がどのプリンタを利用してよいのか、そのプリンタのIPアドレスは何か等を確認し、さらにそのプリンタに適合するプリンタドライバをサーバやベンダーサイトからダウンロードしてインストールし、且つ出力ポート等の環境設定を行う必要がある。そのため、各ユーザにはある程度以上の知識や能力が要求された。またこの作業には労力や時間がかかるし、これを補うための教育やマニュアル作成にも大きな工数がかかるという問題があった。また各ユーザが好き勝手にドライバをインストールして無秩序にプリンタに接続すると、プリンティングシステムとして不具合を生じかねないという問題があった。
【0009】
これら問題を解消するためにはプリンタ管理者(ITマネージャ)が各クライアント端末にドライバをインストールすればよいのだが、クライアント数が多い場合は非常に時間がかかってしまうという問題があった。
【0010】
また、カスタマイズされたドライバを使う際は通常メーカーのサポートを受けることになるが、各部門によって異なるドライバを使いたいような場合は、細かいサポートをあきらめて共通のドライバを使うか、各ドライバセットに対して高い料金を払う必要があった。メーカーも、カスタマイズにはドライバセットの作り直しが必要なため多品種少量生産が困難であった。
【0011】
またドライバで新しい機能を使うためには通常はより新しいバージョンのデバイス(プリンタ)ドライバを使うことになるが、ドライバのアップデートや再インストールは手間がかかる上に、リブートが発生する場合があるため本来の業務に影響をきたすという問題があった。
【0012】
また、プリントサーバを用いたPoint&Print方式では、プリンタドライバの自動配信により全てのクライアントに対してそのインストールが可能となっているが、クライアント装置側の状態に関わらずインストールが実施されるため、ドライバ機能がユーザの使用状態に関わらず変わってしまったり、ドライバ構成に不整合を生じて正しく動作しなくなるなどの問題があった。
【0013】
本発明は上記の従来技術の課題を解決するためになされたもので、その目的とするところは、プリンタ等のデバイスドライバのインストールを機能単位で行うことを可能ならしめるプログラムインストール方法、装置、及びシステムの提供にある。
【0014】
さらに、ユーザの知識やあるいはユーザ自身に依存することなく適切なドライバをインストール可能なプログラムインストール方法、装置、及びシステムを提供することにある。
【0015】
【課題を解決するための手段】
上記目的を達成するため、例えば本発明は、以下の構成を備える。
【0016】
サーバ装置において実行されるプログラムのインストール方法であって、
クライアント装置と、該クライアント装置と通信するデバイスを制御するためのドライバのコア機能を拡張するための個別機能を有する拡張機能プログラムを指定する指定工程と(段落107 段落52)、
前記クライアント装置のなかから前記指定工程において指定されたクライアント装置に対して前記指定工程において指定された拡張機能プログラムをサーバ装置からクライアント装置に対して送信することでインストールさせるインストール工程とを備え(段落110)、
前記指定工程では、前記クライアント装置それぞれについて、拡張機能プログラムの制御対象となるデバイスの指定と、当該デバイスごとに利用が許可される拡張機能プログラムの指定とが可能であり、
前記インストール工程においては、指定されたクライアント装置について利用が許可されたデバイスに対してインストールが許可された拡張機能プログラムが、前記指定されたクライアントに対してインストールされる。
【0017】
更に好ましくは、前記取得工程により取得される情報は、前記クライアント装置それぞれについて、利用が許可されるデバイスの指定と、当該デバイスごとにインストールが許可される拡張機能プログラムの指定とを含む。
【0018】
更に好ましくは、前記インストール工程においては、前記指定工程により指定されたクライアント装置の指定とインストール開始指示とにしたがって、前記指定工程により指定されたクライアント装置に対して前記拡張機能プログラムがインストールされる。
【0019】
更に好ましくは、前記インストール工程においては、入力装置から入力されたクライアント装置の指定とインストール開始指示とにしたがって、指定されたクライアント装置に前記拡張機能プログラムがインストールされる。
【0020】
更に好ましくは、前記インストール工程においては、指定されたクライアント装置について利用が許可されたデバイスに対してインストールが許可された拡張機能プログラムが、前記指定されたクライアントに対してインストールされる。
【0021】
あるいは、クライアント装置に対して遠隔インストールされるプログラムを提供するサーバ装置であって、
クライアント装置と、該クライアント装置と通信するデバイスを制御するためのドライバのコア機能を拡張するための個別機能を有する拡張機能プログラムを指定する指定手段と、
前記クライアント装置のなかから前記指定手段により指定されたクライアント装置に対して前記指定手段により指定された拡張機能プログラムをサーバ装置からクライアント装置に対して送信することでインストールさせるインストール手段とを備え、
前記指定手段は、前記クライアント装置それぞれについて、拡張機能プログラムの制御対象となるデバイスの指定と、当該デバイスごとに利用が許可される拡張機能プログラムの指定とが可能であり、
前記インストール手段は、指定されたクライアント装置について利用が許可されたデバイスに対してインストールを許可された拡張機能プログラムを、前記指定されたクライアントに対してインストールする。
【0022】
更に好ましくは、前記拡張機能プログラムは、その識別子が登録されて前記クライアントにインストールされ、登録された前記識別子で、前記デバイスのドライバに接続される。
【0023】
更に好ましくは、前記拡張機能プログラムは、前記クライアント装置のオペレーティングシステムの提供するオブジェクト間通信機能によりサポートされるオブジェクトとして登録され、前記オブジェクト間通信機能により前記デバイスのドライバに接続され、あらかじめ定められた形式で呼び出される。
【0026】
あるいは、上記サーバとクライアントとを接続したネットワークシステムも本発明を構成する。
【0027】
【発明の実施の形態】
以下、本発明を適用するのに好適である実施形態について説明を行なう。第1の実施形態ではプル型のプリンタドライバのインストールを実現するネットワークシステムを、第2の実施形態ではプッシュ型のそれを説明する。また、実施形態においてはプリンタドライバのインストールを例として説明するが、周辺デバイス一般のドライバプログラムについても本実施形態を適用できる。さらに、アプリケーションプログラムについても適用することができる。
【0028】
[第1実施形態]
図1は本発明の実施形態を示すシステムの構成を説明する概略図である。ネットワーク100上に、サーバ装置102、複数のクライアント装置103およびプリンタ101が接続されている。プリンタドライバのインストールは、後述のようにサーバ装置102からクライアント装置103に対して行うことが可能となっている。また、不図示であるが、スキャナ、デジタルカメラ、ファクシミリ、マウス、スピーカ、音源装置、電話、複写機、などがネットワーク上に接続される。
【0029】
図2は本発明の実施形態を示す印刷処理システムの構成を説明するブロック図である。なお、特に断らない限り、ホストコンピュータ(サーバ及びクライアントを含む。)とプリンタ101とを接続する形態はLAN,WAN,公衆回線,インターネット等、いかなる形態であっても適用できる。
【0030】
図2において、ホストコンピュータ3000はサーバ102あるいはクライアント103に相当し、ROM3のプログラム用ROMあるいは外部メモリ11に記憶された文書処理プログラム等に基づいて図形、イメージ、文字、表(表計算等を含む)等が混在した文書処理を実行するCPU1を備え、システムバス4に接続される各デバイスをCPU1が総括的に制御する。
【0031】
また、このROM3のプログラム用ROMあるいは外部メモリ11には、CPU1の制御プログラムであるオペレーティングシステムプログラム(以下OS)等を記憶し、ROM3のフォント用ROMあるいは外部メモリ11には上記文書処理の際に使用するフォントデータ等を記憶し、ROM3のデータ用ROMあるいは外部メモリ11には上記文書処理等を行なう際に使用する各種データを記憶する。
【0032】
RAM2は、CPU1の主メモリ、ワークエリア等として機能する。キーボードコントローラ(KBC)5は、キーボード9や不図示のポインティングデバイスからのキー入力を制御する。CRTコントローラ(CRTC)6は、CRTディスプレイ(CRT)10の表示を制御する。ディスクコントローラ(DKC)7は、ブートプログラム、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、プリンタ制御コマンド生成プログラム(以下プリンタドライバ)等を記憶するハードディスク(HD)、フロッピー(登録商標)ディスク(FD)等の外部メモリ11とのアクセスを制御する。プリンタコントローラ(PRTC)8は、ネットワーク100を介してプリンタ101に接続されて、プリンタ1500との双方向通信制御処理を実行する。なお、送信の際に接続プロトコルに応じたコマンドを印刷ジョブに付加する場合もある。また、前記コマンドはOSが自動的に付加する場合もある。
【0033】
なお、CPU1は、例えばRAM2上に設定された表示情報RAMへのアウトラインフォントの展開(ラスタライズ)処理を実行し、CRT10上でのWYSIWYGを可能としている。また、CPU1は、CRT10上の不図示のマウスカーソル等で指示されたコマンドに基づいて登録された種々のウインドウを開き、種々のデータ処理を実行する。ユーザは印刷を実行する際、印刷の設定に関するウインドウを開き、プリンタの設定や、印刷モードの選択を含むプリンタドライバに対する印刷処理方法の設定を行なえる。
【0034】
プリンタ101において、プリンタCPU12は、ROM14のプログラムROMに記憶された制御プログラム等あるいは外部メモリ21に記憶された制御プログラム等に基づいてシステムバス15に接続される印刷部I/F16を介して印刷部(プリンタエンジン)17に出力情報としての画像信号を出力する。また、このROM14のプログラムROMには、CPU12の制御プログラム等を記憶する。ROM14のフォント用ROMには上記出力情報を生成する際に使用するフォントデータ等を記憶し、ROM14のデータ用ROMにはハードディスク等の外部メモリ21がないプリンタの場合には、ホストコンピュータ上で利用される情報等を記憶している。
【0035】
CPU12は入力部18を介してホストコンピュータとの通信処理が可能となっており、プリンタ内の情報等をホストコンピュータ3000に通知可能に構成されている。プリンタドライバから受信したデータはRAM13に格納され、制御プログラムにより画像信号に変換される。なお、通信プロトコルに応じて付加されているコマンドの解釈も制御プログラムにより行なわれる。
【0036】
RAM13はCPU12の主メモリ、ワークエリア等として機能するRAMで、図示しない増設ポートに接続されるオプションRAMによりメモリ容量を拡張することができるように構成されている。なお、RAM13は、出力情報展開領域、環境データ格納領域、NVRAM等に用いられる。
【0037】
前述したハードディスク(HD)、ICカード等の外部メモリ21は、メモリコントローラMC20によりアクセスを制御される。外部メモリ21は、オプションとして接続され、フォントデータ、エミュレーションプログラム、フォームデータ等を記憶する。
また、22は前述した操作パネルで、操作のためのスイッチやLED表示器、液晶パネル等が配されている。また、前述した外部メモリは1個に限らず、少なくとも1個以上備え、内蔵フォントに加えてオプションフォントカード、言語系の異なるプリンタ制御言語を解釈するプログラムを格納した外部メモリを複数接続できるように構成されていてもよい。さらに、図示しないNVRAMを有し、操作パネル22からのプリンタモード設定情報を記憶するようにしてもよい。
【0038】
図3は、本実施形態における制御プログラムがホストコンピュータ3000上のRAM2にロードされて実行可能となった状態のメモリマップを示す図である。なお、本実施形態におけるプリンタドライバのプル型インストールプログラムは、サーバ装置(a)とクライアント装置(b)それぞれの、インストール処理関連プログラム304および314の一部として存在している。図3において、サーバ、クライアント共に、オペレーティングシステム305,315と、実行すべき処理に応じたアプリケーション301,311と、インストール処理関連のプログラム304,314がメモリ上に実行可能な形式で配置されている。なお、インストールされたドライバは、空きメモリ領域312にオペレーティングシステム315の一部としてクライアント装置のメモリに配置される。また、インストール処理のために必要な関連データ領域303,313もメモリ上に確保される。BIOS306,316は、オペレーティングシステムが基本的な入出力を実行する際に呼び出す各種デバイス制御のためのプログラムである。
【0039】
図4は、プリンタドライバ400の構成と、オペレーティングシステム(単にシステムとも呼ぶ。)420からのプリンタドライバの呼び出しとを模式的に示した図である。プリンタドライバ400は、基本的にはコアモジュール401と拡張機能モジュール410x(x=a、b、...)で構成される。ただし拡張できる機能がない場合には、機能拡張モジュールはなく、その数は0となる。
【0040】
コアモジュール401は、システム420や不図示のアプリケーションから直接呼び出されるモジュールであり、基本的な印刷設定処理や印刷実行処理を行う。
【0041】
拡張機能モジュール410xは、特定の処理を行う差し替え可能な拡張機能モジュールであり、必要に応じてコアモジュール401からインターフェースI/F402を通して呼び出される。なお、拡張機能モジュール410xは、ツール(インストーラ)を使ってプラグイン(追加や差し替え)を行うことができ、これによりプリンタドライバの機能の追加や更新を行うことができる。
【0042】
コアモジュール401が拡張機能モジュール410xを呼び出すときの呼び出し方としては、例えば「インターフェース固定方式」「インターフェース登録方式」「COMの使用」などが考えられる。
【0043】
インターフェース固定方式は、それぞれの機能を呼び出すときのファイル名や関数名、引数等を予め規定しておく方式である。コアモジュール401は、それぞれの機能を必要としたときに、各規定に従って拡張機能モジュール410xを呼び出し、拡張機能モジュールがあればその処理を利用する。拡張機能モジュール410xは、各規定に則った作成を行うことになる。
【0044】
この第1の方式においては、たとえば、予め確保された関数名に対して、その関数名に対応する拡張機能モジュールがインストールされていない場合には、呼び出しに失敗するため対応する拡張機能モジュールがインストールされていないと判断される。インストールされた場合には呼び出しに成功するため拡張機能モジュールの持つ処理が実行され、アンインストールされた場合にはモジュールを削除することでエントリがなくなる。このようにすることで、拡張機能モジュールのインストールとアンインストールを実現できる。なお、拡張機能モジュールのインストールを特にプラグインと呼ぶ。
【0045】
インターフェース登録方式は、それぞれの機能を呼び出すときのファイル名や関数名をI/F402に登録しておく方式である。コアモジュール401はそれぞれの機能を必要としたときに、I/F402に登録されているインターフェースを用いて拡張機能モジュール410xを呼び出す。拡張機能モジュール410xは、任意のファイル名や関数名を使って提供することができ、他の拡張機能モジュールとの混在が可能となる。また、既存のプリンタドライバセットに拡張機能モジュール410xをプラグインする際は、インストーラはインターフェース登録機能(InterFaceRegistration)IFR403を通してI/F402への登録や更新を行う。
【0046】
この第2の方式においては、たとえば、I/F402には関数名とそれに対応する拡張機能モジュールのエントリポイントとの対応表が格納される。そして拡張機能モジュールのインストールに伴い、I/F402にはその拡張機能モジュールに対応付けられた関数名およびエントリポイントが登録される。アンインストール時には、アンインストールされる拡張機能モジュールに対応するテーブルの項目が削除される。このようなテーブルの保守機能がIFR403により提供される。拡張機能モジュールは、テーブルに登録された関数名の呼出しにより実行される。したがってテーブルに登録されている拡張機能モジュールのみがインストールされたものである。
【0047】
COMを使用する方式は、それぞれの機能を呼び出すときの形式はあらかじめ規定しておき、拡張機能モジュールはCOMコンポーネントとしてシステム420に登録する方式である。COM(Component Object Model)とは、米マイクロソフトが策定したオブジェクト間通信規約であり、その規約に従うオブジェクトをCOMコンポーネントと呼ぶ。COMを用いた方法では、COMの特徴であるロケーションの透過性から、拡張機能モジュールの実体をプリントサーバに持つことなども可能となる。
【0048】
この第3の方式においては、拡張機能モジュールがインストールされた場合には、そのモジュールはシステム420に登録され、アンインストールされたなら登録が削除される。
【0049】
以上のような方式で、拡張機能モジュール410xの呼び出しが可能である。また、その呼びだし方法に応じた方式で、拡張機能モジュールのインストール(プラグイン)もアンインストールも可能となる。ただしここで挙げた呼び出し方法やインストール(追加)およびアンインストール方法は一例であって、これらに限定するものではない。なお、拡張機能の差し替えはアンインストールとインストールの組み合わせにより実現できる。
【0050】
なお、I/F402は、コアモジュール401の一部として機能しても良いし、独立したモジュールであっても構わない。同様に第2の方式において、IFR403もコアモジュール401と一体であっても独立していても構わない。
【0051】
また、コアモジュール401が拡張機能モジュール410xの呼び出しに失敗した場合、すなわち該当する拡張機能モジュールが存在しなかった場合は、コアモジュール401にてコモン処理を行うか、若しくは該当する機能処理をスキップして処理を進める。
【0052】
また、コアモジュール401と拡張機能モジュール410xとの機能は、設計により様々に切り分けることができる。例えば、基本となるコモン処理はコアモジュールで行い、特定の個別機能のみを拡張機能モジュールとして独立させることが可能である。ここでコモン処理としては、例えば、オペレーティングシステムにより標準的に提供されるプリンタの機能を遂行するための処理が含まれる。たとえばプリンタで処理可能なコマンド体系にプリントデータを変換するための処理などがある。また拡張機能モジュールとして提供される特定の個別機能としては、たとえば、デバイス(プリンタ)との通信、色処理、ユーザインターフェース(UI)、レンダリング処理等の機能がある。
【0053】
あるいは、コアモジュールはシステムからの呼び出しのみを処理するラッパー(Wrapper)とし、プリンタドライバにより提供される実体的な機能全て、すなわち処理全体の流れを管理する部分も拡張機能モジュールに置くことも可能である。
【0054】
なお、以上説明した仕組みは、プリンタドライバという枠に限ったものではなく、他のユーティリティを含めたプリンティングシステムにも適用できるし、さらにはプリンティングシステム以外の他のシステムにも適用可能であることはいうまでもない。
【0055】
図5は、たとえば特定ユーザ向けにカスタマイズしたプリンタドライバセットなど、拡張機能モジュールにより機能を拡張したプリンタドライバの構成の一例を示す図である。図4と比べ、拡張機能モジュールAが拡張機能モジュールA'により差し替えられ、拡張機能モジュールCが追加されている。ここで、拡張機能モジュールA'の差し替えは、既存の拡張機能モジュールと同一のI/Fを用いつつその処理内容を変えることができることを意味する。また、拡張機能モジュールCの追加は、特定の処理の追加、若しくは特定処理のフックができることを意味している。このように、拡張機能モジュールの組み合わせを変えることで、特殊機能を追加したり特定の機能をマスクしたカスタマイズプリンタドライバセットを提供することが容易に行える。
【0056】
図6は、拡張機能モジュールをプラグインする様子を示した図である。既存のプリンタドライバセット601に対して、インストーラを使って拡張機能モジュールA'と拡張機能モジュールCの2つの拡張機能モジュール602をプラグインする処理を示している。ここで、拡張機能モジュールA'は既存の拡張機能モジュールAと同じインターフェースを持っており、プラグインによって拡張機能モジュールAと差し替えられる。また拡張機能モジュールCは、それに相当する既存のモジュールがないので追加される。プラグインの結果として、プリンタドライバセットはプリンタドライバ603のような構成となる。拡張機能モジュールの差し替えや追加は、上述した3方式のいずれかに従って行われる。
【0057】
<管理テーブルの作成>
図7は、本実施形態におけるサーバ102における処理をフローチャートにて図示したものである。ここではITマネージャによる操作に従ったプリンタ管理の処理について記述する。図7の処理はITマネージャ等のオペレータによる操作をきっかけとして開始される。図7の手順により、図8に示す管理テーブル801を作成する。
【0058】
最初に、ステップS701においてネットワークに接続されているプリンタの情報を検索し、取得する。このとき、出力ポートなどの環境や、必要なプリンタドライバも合わせて収集し、管理する。プリンタの情報は、通常プリンタをネットワークに接続する際に入力されている。このプリンタの情報には、たとえば出力ポート(IPネットワークであればIPアドレスなど)やプリンタの識別子等が含まれる。またプリンタドライバの収集は、たとえば、サーバに格納されたドライバプログラムのファイル等の内、ネットワークに接続されたプリンタに適合するもの、たとえば識別子が一致するものなどを選び出してそのファイルの所在等を特定することで行う。識別子の一致は、例えばそのプリンタがサーバにインストールされているならば、インストールによって対応付けられたプリンタとプリンタドライバとの対応関係に基づいて判定できる。また、ITマネージャにより、プリンタとそのドライバとの対応を指定させて、指定されたプリンタドライバを必要なものとして収集することもできる。
【0059】
さらに、プリンタドライバが特定されると、そのドライバに付加できる拡張機能モジュールも特定される。これもまたプリンタの識別子等を拡張機能モジュールのプログラムファイルの一部などとして持たせておくことで実現できる。収集できるのは、サーバに用意されているドライバプログラム(コアモジュール)や、拡張機能モジュールについての情報(名称や所在、対応ドライバ識別子、対応プリンタ識別子等)である。
【0060】
次に、ステップS702において、ネットワークに接続されているクライアント装置の管理リストを作成する。ここでは、ITマネージャが管理対象となるクライアントをマニュアルで登録しても良いし、サーバが、その管轄範囲内に存在するすべてのクライアント装置の情報、たとえば識別子やアドレス等の情報を収集することもできる。なお、クライアント個別の管理を行う必要がなければ、管理リストは特になくても良い。その場合には、ステップS703も行われない。
【0061】
次に、ステップS703において、図8に例示するような管理テーブル801を作成する。ここでは、管理テーブル801には、ステップS701で収集したプリンタ情報及びステップS702で作成した管理リストに基づいて、その管理リストに含まれる各クライアントに対して使用許可しているプリンタ及び拡張機能が登録される。この詳細を図15に示す。
【0062】
ITマネージャは、管理テーブルの作成を図9に例示するようなユーザインターフェース(UI)で行う。そのためにまず、サーバ102は、管理リストに基づいてクライアントの識別子及びアドレスを図9のクライアント欄901に表示し、プリンタ情報に基づいて、プリタの識別子及び出力ポート番号(アドレス)をプリンタ欄902に、拡張機能モジュールを機能欄903にそれぞれ表示する(ステップS1501)。プリンタの種類が相異なる場合にはその拡張機能もまた相異なることもあり得るため、複数種類のプリンタがネットワークに接続されている場合には、全ての拡張機能モジュールを同時に機能欄903に表示しても良いし、プリンタ欄902から選択されたプリンタに対応する拡張機能モジュールのみを機能欄903に表示しても良い。前者の場合には、プリンタと選択可能な拡張機能モジュールとの対応関係を明瞭にするために、プリンタごとに独立した欄に表示するなどして識別性を高めることが望ましい。
【0063】
このようにして各欄を表示した後、ITマネージャに管理テーブルの設定を行わせる。設定はクライアントごとに行われる。そのためにまずクライアントを選択させる(ステップS1502)。図9の例ではクライアントBが選択されている。
【0064】
クライアントが選択された際に、既存の管理テーブルがあれば(ステップS1503−YES)、その内容(すなわち現在の各クライアントの設定)を読み込み、選択されているクライアントについての設定を表示する(ステップS1504)。すなわち、ITマネージャによりクライアント欄901から選択されたクライアントに対して、そのクライアントについて利用許可となっているプリンタと拡張機能が、それぞれプリンタ欄902と機能欄903の一覧リストの中でチェック付で表示される。図9の例では、選択されたクライアントBに対して利用許可となっているプリンタA,Bと拡張機能モジュールEが、それぞれチェック付で表示される。
【0065】
オペレータはクライアント欄の選択クライアントを変更することで、各クライアントの状態を見ることができる。初めての設定の時にはいずれの割り当てもされていないので、どのクライアントにどのプリンタとどの機能をインストール許可するかをゼロから設定することになる。なお、管理対象とするクライアントの追加をこのUI上から行っても良い。
【0066】
このように現状の設定が表示されたなら、それに基づいてITマネージャは注目(すなわち選択されている)クライアントに対して利用を許可するプリンタ及び拡張機能モジュールにチェックマークを付して、利用可能とする旨設定する(ステップS1505)。
【0067】
このときに、入力がクライアント選択であれば、選択されたクライアントについてステップS1503以降の手順を繰り返す。また、「OK」ボタンが押されたなら、その時点で入力されている設定を管理テーブル801として保存する。すなわち、各クライアントについてチェックされたプリンタと拡張機能モジュールとを対応付けて、図8の管理テーブル801を構成し、それを格納する(ステップS1507)。「キャンセル」ボタンが押されたなら管理テーブルを変更せずに処理を終了する。
【0068】
なお、ステップS701で収集したプリンタ情報に含まれていないプリンタや、ステップS702で作成した管理リストに含まれていないクライアント装置が既存の管理テーブルに含まれている場合、それらはネットワークから切り離されたものとして管理テーブルから削除してもよい。あるいは既存の管理テーブルの内容を優先し、ITマネージャに扱いをゆだねても良い。
【0069】
<ドライバあるいは拡張機能モジュールのプルインストール>
図10は、本実施形態におけるクライアントおよびサーバでの処理を示すフローチャートである。ここではクライアントユーザがプルインストールを行う際の処理について記述する。プルインストールとは、サーバ等の装置に格納されているインストール対象のプログラムを、クライアントから要求してクライアント自身にインストールさせる処理である。すなわち、プログラムのダウンロード要求、ダウンロード、インストールという一連の処理を含む。
【0070】
図10において、最初に、ステップS1001において、クライアント103からサーバ102に対してクライアント自身の識別子とともに、自分が利用可能なプリンタや拡張機能についての利用可能な機器の情報の問合せを送信し、その利用可能機器情報、すなわち利用可能なプリンタと拡張機能モジュールのリストを取得する。このときサーバ102は、サーバ102が管理している管理テーブルから該当するクライアントの情報を選択して返す。
【0071】
ステップS1001にて情報を取得した場合、次にステップS1002において取得した情報をクライアントの表示画面上に表示する。そしてそのクライアントにより利用可能なプリンタまたは拡張機能モジュールを選択させる。
【0072】
次にステップS1003において、選択されたドライバまたは拡張機能モジュールのプルインストールを実行する。図11は、プルインストールを実行するためのUI例を示したものであり、インストール開始ボタン1101の押下をトリガとしてステップS1003のプルインストールが開始される。ステップS1003の詳細を図14に示す。なお、図14及びその説明において「拡張機能モジュール」のインストールについて説明しているが、ドライバのコアモジュールについても全く同様である。
【0073】
図14において、まずクライアントはサーバに対してインストール要求を発行する(ステップS1401)。その際に、ステップS1002で選択されたプリンタと拡張機能モジュールを指定する情報を送信する。また同時にクライアントにおいて新たにインストールされるモジュールを受信しインストールを行うプラグイン受付モジュールをメモリにロードしておく。
【0074】
それを受信したサーバ102は、サーバ102が管理している管理テーブルから該当するクライアントに係る指定された情報を取得し(ステップS1411)、登録されているプリンタドライバや拡張機能モジュールを要求元のクライアントのプラグイン受付モジュールに対して送信する(ステップS1412)。サーバ102はクライアントからインストール完了通知を受信するか、あるいは一定時間経過したか判定し(ステップS1413)、いずれかに該当すれば処理を終了する。
【0075】
一方クライアント103は、サーバ102からインストールすべきモジュールの受信をし、インストール要求後一定時間経過したならインストール処理を中止する(S1402−タイムアウト)。正常に受信できた場合には、それをすべて受信し(ステップS1404)、プラグイン受付モジュールを実行してインストールする。インストールされるモジュールが拡張機能モジュールの場合には、前述したように3つの方法の内のいずれか予め定められた方法でインストールされコアモジュールと結合される。また、コアモジュールの場合には、通常のデバイスドライバと同じ要領でインストールされる。またインストールと合わせて出力ポート等の環境設定を行う。
【0076】
インストールが終了したなら、プラグイン受付モジュールをアンロードし(ステップS1405)、サーバ102へインストールが完了した旨通知する(ステップS1406)。
【0077】
以上で、クライアントへのプルインストールが完了する。
【0078】
以上のようにして、デバイスドライバのプルインストールを行う際に、そのドライバを機能単位に分割してインストール可能な機能モジュールとして用意しておくことで、クライアントでは必要な機能のみをインストールすることができる。
【0079】
また、サーバでは、クライアントごとに利用を許可するドライバや機能を指定しておくことができる。クライアントでは、許可された範囲内で、インストールする機能を選択できる。
【0080】
このために、インストールをクライアント端末のオペレータに任せておいても、クライアントの管理を行うことができる。
【0081】
また、クライアントユーザは特別な知識なしにインストールの指示を行うだけでプログラムをインストールできるので、特別な教育も必要なければ、それらのクライアント装置まで出向いてプリンタドライバをインストールする必要もなくなる。
【0082】
更に、ITマネージャはサーバにおける管理テーブルの保守を行うことで、クライアント毎にプリンタや機能の使用制限をしたりカスタマイズをしたりなどの管理を行うことが可能となり、管理の集中化および簡易化が可能となるという効果がある。
【0083】
さらに、本実施形態ではコアモジュールがロードされていても拡張機能モジュールの更新は可能なので、システム(OS)やアプリケーションの影響を受けずに、リブートすることなくプリンタドライバの更新作業が可能となる。
【0084】
このように、拡張機能モジュールのみをプラグインすることによって、プリンタドライバの機能更新を容易に行うことができる。
【0085】
[第1実施形態の変形例1]
サーバでのプリンタや拡張機能の管理において、機能がプリンタに依存している場合もある。
【0086】
図12に示したのは、図9と比べて拡張機能がプリンタに依存している場合のUI例である。すなわち、クライアント欄1201からクライアントを選ぶとそのクライアントに付随した情報が表示されるのは同じだが、プリンタ及び機能欄1202から、利用するプリンタを選択するとともにプリンタごとに従属する拡張機能を選択することが可能となる。本実施形態では、プリンタを利用可能としない場合は従属する拡張機能の設定は意味を持たないので、図12においては、プリンタCはクライアントBに対して利用許可されておらず、したがってその拡張機能はグレイ表示によって選択できないように表示することも可能である。
【0087】
ITマネージャはこのUI1200を通して管理テーブルを作成し、クライアントユーザからのプルインストール要求を受けたときは、前記管理テーブルに応じたプリンタドライバ及び拡張機能モジュールのインストールを行う。なお、管理テーブルは、クライアントごとに利用可能なプリンタが対応付けられ、さらに、そのプリンタごとに利用可能な機能が対応付けられたフォーマットとなる。
【0088】
[第1実施形態の変形例2]
本変形例では、サーバ上ではクライアントごとの制限は行わずに単に利用可能なプリンタと拡張機能を管理し、クライアントユーザが必要なプリンタと拡張機能を選択して利用する形態の場合の処理フローを説明する。
【0089】
図13はクライアントユーザが、必要なプリンタと拡張機能を選択してプルインストールするためのUIを示す図である。本実施形態でのクライアントでの処理の流れを、図10のフローチャートを使って説明する。
【0090】
最初にS1001において、サーバが管理しているプリンタおよび拡張機能の一覧情報を取得する。取得される一覧は、管理テーブルによって制限されていない、プリンタと拡張機能モジュールの一覧である。
【0091】
次にS1002において、取得した情報を図13に例示したようなUIに表示する。UI例のように、プリンタおよび拡張機能をそれぞれ選択可能であるものとする。
【0092】
次にS1003において、インストールボタンの押下によりプルインストールを開始する。このとき、クライアントはインストールしたいプリンタ及び拡張機能の一覧をサーバに対して要求し、サーバは該当するプリンタドライバや拡張機能モジュールを要求元のクライアントにインストールする。また合わせて出力ポート等の環境設定を行うのは前述した実施形態と同じである。
【0093】
なお、プルインストール開始のトリガを、インストールボタンの押下ではなく、プリンタや拡張機能リストからのドラッグ&ドロップによる直感的な操作にすることも可能である。
【0094】
[第1実施形態の変形例3]
実施形態における利用許可対象のドライバや機能モジュールの設定は、本例ではクライアントごとに行われるが、すべてのクライアントに対して共通の設定をする場合には、図9のクライアント欄901の表示は不要となり、すべてのクライアントについて共通の設定がされて、管理テーブルも全てのクライアントについて共通のものが作成される。
【0095】
[第1実施形態の変形例4]
図10において、ステップS1001,S1002で、インストール対象のモジュールを限定しているが、あらかじめインストール可能なモジュールをクライアントにおいて指定しておけば、これらステップは不要となる。
【0096】
[第1実施形態の変形例5]
本実施形態においては、ドライバをインストールされるデバイスはネットワークに接続されるネットワークデバイスであるが、クライアントに接続されたローカルデバイスを対象とすることもできる。第2実施形態でも同様である。
【0097】
[第2実施形態]
第2の実施形態として、サーバ102においてクライアント103へのドライバ等のインストール処理を起動する、いわゆるプッシュインストール処理のシステムを説明する。本実施形態では、ネットワークシステムの構成や、管理テーブル801の構成および作成手順等は第1実施形態と同一である。
【0098】
<ドライバあるいは拡張機能モジュールのプッシュインストール>
図16は、本実施形態におけるサーバにおける処理のフローチャートである。操作はサーバ装置側のみで行われるため、ここではITマネージャによるサーバ装置での操作およびサーバの処理を記述する。
【0099】
最初に、ステップS1601においてネットワークに接続されているプリンタの情報を検索し、取得する。このとき、出力ポートなどの環境や、必要なプリンタドライバも合わせて収集し、管理する。
【0100】
次に、ステップS1602においてネットワークに接続されているクライアント装置の情報を検索し、取得する。ここでは、サーバの管轄内に存在するすべてのクライアント装置の情報を収集しても良いし、あるいはあらかじめ管理対象として登録おいたクライアント装置に対して情報取得を行っても良い。取得する情報としては、現在各クライアントがサーバの管理下にあるか(ネットワークにつながっているか)、各クライアントで利用しているプリンタの機種・ドライバのバージョン・拡張機能等、を対象とする。
【0101】
次に、ステップS1603において、図8に例示するような管理テーブルを作成する。ここでは、クライアント毎に使用しているプリンタ及び拡張機能を管理している。さらに図9に例示するようなUIを表示し、ITマネージャに各クライアントにインストールするプリンタや機能を設定させる。ここでは、まず図8の管理テーブルの内容、すなわち現在の各クライアントの状態が表示される。クライアント欄901で任意のクライアントを選択すると、そのクライアントで利用可能なプリンタと拡張機能が、それぞれプリンタ欄902と機能欄903の一覧リストの中でチェック付で表示される。これは第1実施形態と同様である。クライアント欄901の選択されたクライアントを変更することで、各クライアントの状態を見ることができる。なお、現在ネットワークに接続されていないクライアントは、その状態がわかるようにしても良い。例えばクライアントDのようにグレイ表示することで表示することが可能である。また禁止を示すマークを付すことなどでも表示できる。
【0102】
ここでチェックを変更することによって最終的なクライアントの構成が決定され、その情報は管理テーブル801に反映される。初めての設定の時にはいずれのドライバも入っていないので、どのクライアントにどのプリンタとどの機能をインストールするかをゼロから設定することになる。
【0103】
次にステップS1604において、サーバに表示される図11のインストールボタン1101の押下によりプッシュインストールを行う。図8の管理テーブル801に従い、サーバで管理するプリンタドライバ(コアモジュール及び拡張機能モジュール)を各クライアントに一括インストールし、合わせて出力ポート等の環境設定を行う。なおひとつの拡張機能モジュールが、実際には複数のプログラムファイルから構成されるような場合、既にインストールされている分を除き、差分のみをインストールしても構わない。これは第1実施形態でも同様である。
【0104】
次に、ステップS1605においてインストール結果の表示を行う。クライアント装置にドライバが更新された旨を表示したり、サーバには更新終了や更新が失敗した旨の情報を表示したりする。クライアント装置がネットワークに接続されていない場合や印刷中の場合はインストールに失敗することがあるが、サーバは失敗の情報を受け取ることで、ITマネージャが後で処理を行うなりサーバ装置が一定時間後に再試行するなりしかるべき対策を行うための判断材料として利用可能である。
【0105】
なお、操作画面例ではクライアント個別の対応例を示したが、複数のクライアントをまとめて(例えば部署単位やフロア単位で)更新するようにすることも可能であることは言うまでもない。
【0106】
図17は、図16のステップS1604の詳細を示す図である。
【0107】
まずサーバにおいてインストールされるドライバ或いは拡張機能モジュールについてインストールの指示が与えられると、それらを指定してインストール準備要求を、インストール対象のクライアントに対して発行する(ステップS1711)。
【0108】
クライアントはその要求を受信して認識すると(ステップS1701)、準備が完了した旨応答し(ステップS1702)、プラグイン受付モジュールをメモリにロードする(ステップS1703)。ステップS1702とステップS1703とは順序が逆でも良い。この後、サーバからのコアモジュールや拡張機能モジュールのダウンロードを待つ。
【0109】
一方サーバは、クライアントからの準備完了応答の有無を判定し(ステップS81712)、応答がなければステップS1714からステップS1712へと分岐して応答を待つ。一定時間経過すればタイムアウトとなり処理は中止される。
【0110】
クライアントから準備完了応答があれば、クライアントに対して、指定されたコアモジュール或いは拡張機能モジュールを送信する(ステップS1703)。そして、クライアントからのインストール完了通知を待つ(ステップS1714)。なお、図17では、完了通知を受信しない限りステップS1713における送信を繰返し行うことになるが、送信自体が成功している場合には、送信は繰り返す必要はない。
【0111】
クライアントではサーバから送信されるモジュールを待ち、それを受信すると(ステップS1704)、プラグイン受付モジュールによりインストールする。これはステップS1604で説明したとおりであり、拡張機能モジュールについては、第1実施形態で説明した3つの方法のいずれかあらかじめ決められた方法にしたがってインストールされる(ステップS1705)。
【0112】
インストールが終了したなら、プラグイン受付モジュールをアンロードし(ステップS1706)、サーバへインストール完了通知を送信する(ステップS1707)。
【0113】
以上のようにしてプッシュインストールが完了する。このシステム構成および処理手順により、クライアント装置へのプリンタドライバのインストールは、サーバにおける操作のみで一括して可能となる。そのため、クライアント側の操作が必要なく、簡易、かつ安全にプログラムをクライアントにインストールできる。この結果クライアントユーザに対する教育も必要なければ、それらのクライアント装置まで出向いてプリンタドライバをインストールする必要もなくなる。
【0114】
更に、ITマネージャはサーバにおける管理テーブルの保守を行うことで、クライアント毎にプリンタや機能の使用制限をしたりカスタマイズをしたりなどの管理を行うことが可能となり、管理の集中化および簡易化が可能となるという効果がある。
【0115】
更に、プリンタドライバの新規インストールだけでなく、ドライバ機能の追加や変更もリブートなしに容易に一括処理することが可能となり、またすべてのクライアント装置の間でバージョン等の整合を取ることが容易に実現できるという効果がある。
【0116】
更に、カスタマイズ版プリンタドライバセットが容易に作成可能となる効果がある。
【0117】
[第2実施形態の変形例]
なお、第1実施形態の変形例は、すべて第2実施形態にも適用できる。
【0118】
また、サーバ上でのITマネージャの操作として、管理テーブルを作成する代わりに、ドラッグ&ドロップによる直感的な操作を行うこともできる。たとえば、ネットワーククライアントのリストと、プリンタのリストと、拡張機能モジュールのリストとを表示しておき、その中からインストールしたいプリンタを選択し、それを対象とするクライアントにドラッグ&ドロップすることでプッシュインストールを実行させるトリガとすることもできる。拡張機能についても同様である。これは第1実施形態にも適用可能である。
【0119】
なお、本発明は、複数の機器(例えばホストコンピュータ、インタフェイス機器、リーダ、プリンタなど)から構成されるシステムに適用しても、一つの機器からなる装置(例えば、複写機、ファクシミリ装置など)に適用してもよい。
【0120】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体(または記録媒体)を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読み出し実行することによっても達成される。
【0121】
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコード自体およびプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【0122】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【0123】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【0124】
[その他の実施態様]
本件発明に係るネットワークシステムにおいては、サーバ装置は、ネットワークに接続されている前記プリンタの情報を管理するプリンタ管理手段と、基本処理を行うコアモジュールと、該コアモジュールに呼び出されて特定機能の処理を行う0個以上の拡張機能モジュールとで構成されるプリンタドライバであって、管理対象となった前記プリンタ用のプリンタドライバを管理するプリンタドライバ管理手段と、ネットワークに接続されている前記クライアント装置を管理するクライアント管理手段と、要求を発行した前記クライアント装置に対して前記プリンタドライバをインストールするダイナミックインストール手段とを有し、
クライアント装置は、前記サーバ装置へ、自身へのプリンタドライバのインストール要求を発行する手段と、前記サーバ装置から受信した前記プリンタドライバを自らの記憶装置にインストールする手段とを有する。
【0125】
さらに、本件発明に係るプリンタドライバにおいては、前記拡張機能モジュールはプラグイン(追加や差し替え)を行う手段と、前記プラグインによっても前記コアモジュールは新しい前記拡張機能モジュールの機能を利用可能とする手段とを有し、前記プラグインによってドライバ機能の拡張を可能とする。
【0126】
さらに本件発明に係るプリンタドライバにおいては、ドライバセットに内包する前記拡張機能モジュールの構成を変えることで、異なる機能や制限を設けたプリンタドライバ、すなわちカスタマイズされたプリンタドライバセットを作成することが可能である。
【0127】
さらに本件発明に係るサーバ装置は、クライアント毎にインストールするプリンタを制御(選択)する手段と、クライアント毎にインストールする拡張機能を制御(選択)する手段とを有する。
【0128】
さらに本件発明に係るサーバ装置は、自身が管理している前記プリンタおよび前記拡張機能それぞれのリストを前記クライアントに公開し、前記クライアントによるそれぞれの選択を可能とさせる手段とを有する。
【0129】
さらに本件発明に係るクライアント装置は、サーバにより公開されているプリンタ一覧および拡張機能一覧から必要なものを選択する手段と、前記選択した前記プリンタおよび前記拡張機能のインストール要求をサーバに発行する手段とを有する。
【0130】
さらに本件発明に係る前記プリンタドライバ管理手段は、管理対象となるプリンタに応じたプリンタドライバ、および拡張機能モジュールを取得する手段と、取得した前記プリンタドライバ、および拡張機能モジュールをサーバメモリ上に保存する手段と、インストール実行時に必要とされるプリンタドライバを選択する手段とを有する。
【0131】
さらに本件発明に係る前記ダイナミックインストール手段は、前記クライアント装置に対してサーバ装置で設定したプリンタ、若しくはクライアント装置で選択したプリンタの前記プリンタドライバを送信する手段と、前記クライアント装置に対して出力ポートなどの環境設置を行う手段とを有する。
【0132】
さらに本件発明に係る前記ダイナミックインストール手段は、プリンタドライバセット全体をインストールする手段と、特定の拡張機能モジュールのみを選択してインストールする手段とを有する。
【0133】
さらに本件発明に係る前記プリンタ管理手段は、ネットワーク上のプリンタを検索する手段と、検索したプリンタから名称とIPアドレスを取得する手段とを有する。
【0134】
さらに本件発明に係る前記プリンタは、サーバからの検索処理に応じて名称とIPアドレスを返す手段とを有する。
【0135】
さらに本件発明に係る前記クライアント管理手段は、ネットワーク上のクライアント装置を検索する手段と、検索したクライアント装置から名称とIPアドレスを取得する手段とを有することで情報の自動取得を行うか、またはサーバ装置にて管理者が手入力で情報を作成する。
【0136】
さらに本件発明に係る前記クライアント装置は、サーバからの検索処理に応じて名称とIPアドレスを返す手段と、サーバからの検索処理に応じてインストール済みのモジュールの種類などを返す手段とを有する。
【0137】
【発明の効果】
以上説明したように、本発明によれば、クライアントにインストールするデバイスドライバの機能を、サーバ等において一元的に管理できるため、管理の効率化やネットワーク全体における機能の整合による不具合の発生防止、クライアントユーザの操作によるシステム安全性の低下のおそれなど、各クライアントユーザが個々にプログラムをインストールすることに起因する不都合を防止することができる。
【0138】
さらに、クライアントユーザはサーバに任せておくだけであるいはドライバインストールの要求を発行するだけで、またはサーバが管理しているプリンタから利用したいものを選択してから要求を発行するだけで、自分のクライアント装置へのインストールや環境設定が自動的に行われる。そのためユーザには特別な知識も難しい操作も必要ないという効果がある。
【0139】
更に、クライアント毎にプリンタや機能の使用制限をしたりカスタマイズをするといったクライアントごとの個別の管理を一元的に行うことが可能となる効果がある。更に、カスタマイズ版プリンタドライバセットが容易に作成可能となる効果がある。
【0140】
更に、プリンタドライバの新規インストールだけでなくドライバ機能の追加や変更もリブートなしに容易に処理することが可能となる効果がある。
【0141】
また、サーバからプッシュインストールすることで、クライアント装置へのプリンタドライバのインストールは、サーバからリモート処理で行うことが可能となるため、クライアント側の操作が必要なく、クライアントユーザの教育やクライアント装置まで出向くことなど、従来要していた労力を軽減できる。
【図面の簡単な説明】
【図1】本発明の一実施形態を示す印刷処理システムの構成例である。
【図2】実施形態に係る印刷処理システムの内部構成を説明するブロック図である。
【図3】実施形態におけるRAM2のメモリマップを示す図である。
【図4】実施形態におけるプリンタドライバの構成、及びシステムとの関係を示す図である。
【図5】実施形態におけるカスタマイズしたプリンタドライバセットの提供例を示す図である。
【図6】実施形態におけるプラグイン・インストールによるドライバ構成の変遷を示す図である。
【図7】実施形態における管理テーブルの保守処理を示すフロー図である。
【図8】実施形態における情報管理テーブルの一例を示した図である。
【図9】実施形態におけるITマネージャがプリンタとクライアントの管理を行うためのUI画面の一例を示す図である。
【図10】第1実施形態におけるクライアントでのプルインストール処理を示すフロー図である。
【図11】実施形態におけるクライアントユーザがプルインストール処理を実行するためのUI画面の一例を示す図である。
【図12】実施形態におけるITマネージャがプリンタとクライアントの管理を行うためのUI画面の一例を示す図である。
【図13】実施形態におけるクライアントユーザがプルインストール処理を実行するためのUI画面の一例を示す図である。
【図14】第1実施形態におけるサーバおよびクライアントにおけるプルインストール処理手順のフロー図である。
【図15】実施形態のサーバにおける管理テーブルの作成手順の詳細のフロー図である。
【図16】第2実施形態におけるサーバでのプッシュインストール処理を示すフロー図である。
【図17】第2実施形態におけるサーバおよびクライアントにおけるプッシュインストール処理手順のフロー図である。
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a network system that uses a shared device such as a printer connected to a network for a terminal on the network, and more particularly to a program installation method, apparatus, and system for installing a device driver in each terminal.
[0002]
[Prior art]
Conventional device driver installation methods, such as printer driver installation methods, are performed in a manner that depends on the operating system (OS). For example, in the case of Windows (registered trademark), “Add Printer” is selected from printer properties (information on objects is collected, and an operation such as adding a driver can be performed on the object). Then, the user inputs necessary information in an interactive form called a wizard and installs the printer driver.
[0003]
In addition to the above, there is a method of realizing the installation of the printer driver by using the installer and causing the user to perform a minimum operation as in the case of the application.
[0004]
Also, a mechanism called Point & Print using a print server was on a Windows NT (registered trademark) / 2000 server. According to this mechanism, a printer driver for a printer shared over a network is installed in the server device. When the client device connects to the print server, the server automatically distributes the printer driver to the client and installs it in the client device.
[0005]
As described above, the method for installing the device driver such as the printer driver in the client device has the above-described method. However, any method is added when a function is added or extended to the printer driver. It was necessary to reinstall a full set of newer versions of the printer driver that included features.
[0006]
For this reason, when a function different from that of a printer driver released for general consumers is required, or when it is desired to mask a function that a general user does not want to use in an in-house LAN, for example, it is required. It was necessary to prepare a full set of customized drivers by adding functions or deleting unnecessary functions and installing them on the client terminal.
[0007]
[Problems to be solved by the invention]
However, in the conventional installation method described above, when a large number of computers are owned and a large number of users (clients) are held, such as corporate users, various problems arise because work for installing the printer driver on all the clients occurs. was there.
[0008]
For example, the user checks which printer he / she can use, what the IP address of the printer is, etc., downloads and installs a printer driver suitable for the printer from a server or a vendor site, and It is necessary to make environmental settings such as output ports. Therefore, each user is required to have a certain level of knowledge and ability. In addition, this work requires labor and time, and there is a problem that a large amount of man-hours are required for education and manual preparation to compensate for this. In addition, if each user installs a driver freely and connects to the printer randomly, there is a problem that a problem may occur as a printing system.
[0009]
In order to solve these problems, the printer administrator (IT manager) only needs to install the driver in each client terminal. However, when the number of clients is large, there is a problem that it takes a very long time.
[0010]
In addition, when using customized drivers, you will usually receive support from the manufacturer, but if you want to use a different driver for each department, you can give up fine support and use a common driver, or for each driver set It was necessary to pay a high fee. Manufacturers also needed to re-create driver sets for customization, making it difficult to produce a wide variety of products in small quantities.
[0011]
In order to use new functions in the driver, a newer device (printer) driver version is usually used. However, updating and reinstalling the driver is time consuming and may cause a reboot. There was a problem of affecting the business of
[0012]
In the Point & Print method using the print server, the printer driver can be installed for all clients by automatic distribution of the printer driver. However, the driver function is provided because the installation is performed regardless of the state of the client device. However, there are problems such as changes in the usage status of the user and malfunctions due to inconsistencies in the driver configuration.
[0013]
The present invention has been made to solve the above-described problems of the prior art, and an object of the present invention is to provide a program installation method, an apparatus, and a program installation method that enable installation of a device driver such as a printer in units of functions. In providing the system.
[0014]
Furthermore, it is providing the program installation method, apparatus, and system which can install an appropriate driver, without depending on a user's knowledge or a user himself / herself.
[0015]
[Means for Solving the Problems]
In order to achieve the above object, for example, the present invention comprises the following arrangement.
[0016]
  An installation method of a program executed in a server device,
  A designation step for designating a client device and an extended function program having an individual function for extending a core function of a driver for controlling a device that communicates with the client device (paragraph 107, paragraph 52);
  An installation step of installing the extension function program specified in the specification step from the client device to the client device by installing it from the server device to the client device (paragraph) 110),
  In the specifying step, for each of the client devices, it is possible to specify a device to be controlled by the extended function program and to specify an extended function program permitted to be used for each device.The
  In the installation step, an extended function program that is permitted to be installed on a device that is permitted to be used for the designated client device is installed on the designated client.The
[0017]
More preferably, the information acquired by the acquisition step includes designation of a device that is permitted to be used for each of the client devices and designation of an extended function program that is permitted to be installed for each device.
[0018]
  More preferably, in the installation step,Specified by the specified processAccording to the client device specification and installation start instructionBy the specified processTo the specified client deviceforThe extended function program is installed.
[0019]
More preferably, in the installation step, the extended function program is installed in the designated client device in accordance with the designation of the client device and the installation start instruction input from the input device.
[0020]
More preferably, in the installation step, an extension function program permitted to be installed on a device permitted to be used for the designated client device is installed on the designated client.
[0021]
  Alternatively, a server device that provides a program that is remotely installed on a client device,
  A designation unit for designating an extension function program having an individual function for extending a core function of a driver for controlling a client apparatus and a device for controlling a device communicating with the client apparatus;
  Installation means for installing the client apparatus specified by the specifying means from the client apparatus by transmitting the extended function program specified by the specifying means from the server apparatus to the client apparatus;
  For each of the client devices, the specifying unit can specify a device to be controlled by the extended function program and can specify an extended function program permitted to be used for each device.The
  The installation means installs, for the specified client, an extension function program that is permitted to be installed on a device that is permitted to be used for the specified client device.The
[0022]
More preferably, the extension function program has its identifier registered and installed in the client, and is connected to the driver of the device with the registered identifier.
[0023]
More preferably, the extended function program is registered as an object supported by the inter-object communication function provided by the operating system of the client device, connected to the driver of the device by the inter-object communication function, and predetermined. Called in the form.
[0026]
Or the network system which connected the said server and the client also comprises this invention.
[0027]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, an embodiment suitable for applying the present invention will be described. In the first embodiment, a network system that realizes installation of a pull type printer driver will be described, and in the second embodiment, a push type will be described. In the embodiment, installation of a printer driver will be described as an example. However, the present embodiment can be applied to a driver program for a peripheral device in general. Furthermore, the present invention can be applied to application programs.
[0028]
[First Embodiment]
FIG. 1 is a schematic diagram illustrating the configuration of a system showing an embodiment of the present invention. A server device 102, a plurality of client devices 103, and a printer 101 are connected on the network 100. The printer driver can be installed from the server apparatus 102 to the client apparatus 103 as will be described later. Although not shown, a scanner, a digital camera, a facsimile machine, a mouse, a speaker, a sound source device, a telephone, a copying machine, and the like are connected to the network.
[0029]
FIG. 2 is a block diagram illustrating the configuration of the print processing system according to the embodiment of the present invention. Unless otherwise specified, any form such as a LAN, WAN, public line, or Internet can be applied to connect the host computer (including the server and client) and the printer 101.
[0030]
In FIG. 2, the host computer 3000 corresponds to the server 102 or the client 103, and includes graphics, images, characters, tables (including spreadsheets, etc.) based on a program processing program stored in the ROM 3 or a document processing program stored in the external memory 11. ) And the like, and the CPU 1 performs overall processing of each device connected to the system bus 4.
[0031]
The ROM 3 program ROM or external memory 11 stores an operating system program (hereinafter referred to as OS) which is a control program of the CPU 1, and the ROM 3 font ROM or external memory 11 stores the above-mentioned document processing. Font data to be used and the like are stored, and various data used when the document processing is performed is stored in the data ROM of the ROM 3 or the external memory 11.
[0032]
The RAM 2 functions as a main memory and work area for the CPU 1. A keyboard controller (KBC) 5 controls key input from a keyboard 9 or a pointing device (not shown). A CRT controller (CRTC) 6 controls display on a CRT display (CRT) 10. A disk controller (DKC) 7 includes a hard disk (HD), floppy (registered trademark) disk (which stores a boot program, various applications, font data, user files, editing files, a printer control command generation program (hereinafter referred to as a printer driver), and the like. FD) or the like is controlled. A printer controller (PRTC) 8 is connected to the printer 101 via the network 100 and executes bidirectional communication control processing with the printer 1500. Note that a command corresponding to the connection protocol may be added to the print job at the time of transmission. Further, the command may be automatically added by the OS.
[0033]
The CPU 1 executes, for example, an outline font rasterization process on the display information RAM set on the RAM 2 to enable WYSIWYG on the CRT 10. The CPU 1 opens various windows registered based on commands instructed by a mouse cursor (not shown) on the CRT 10 and executes various data processing. When executing printing, the user opens a window relating to print settings, and can set the printer processing and print processing method settings for the printer driver including print mode selection.
[0034]
In the printer 101, the printer CPU 12 includes a printing unit via a printing unit I / F 16 connected to the system bus 15 based on a control program stored in the program ROM of the ROM 14 or a control program stored in the external memory 21. An image signal as output information is output to the (printer engine) 17. Further, the control program of the CPU 12 is stored in the program ROM of the ROM 14. The font ROM of the ROM 14 stores font data used when generating the output information, and the ROM 14 data ROM is used on the host computer in the case of a printer that does not have the external memory 21 such as a hard disk. Information to be stored is stored.
[0035]
The CPU 12 can communicate with the host computer via the input unit 18 and is configured to notify the host computer 3000 of information in the printer. Data received from the printer driver is stored in the RAM 13 and converted into an image signal by a control program. The control program also interprets commands added according to the communication protocol.
[0036]
A RAM 13 is a RAM that functions as a main memory, a work area, and the like for the CPU 12, and is configured such that the memory capacity can be expanded by an optional RAM connected to an expansion port (not shown). The RAM 13 is used as an output information expansion area, an environment data storage area, NVRAM, and the like.
[0037]
Access to the external memory 21 such as the hard disk (HD) and the IC card described above is controlled by the memory controller MC20. The external memory 21 is connected as an option and stores font data, an emulation program, form data, and the like.
Reference numeral 22 denotes the above-described operation panel on which operation switches, an LED display, a liquid crystal panel, and the like are arranged. Further, the number of external memories is not limited to one, and at least one external memory is provided so that an optional font card and a plurality of external memories storing programs for interpreting printer control languages with different language systems can be connected in addition to built-in fonts. It may be configured. Furthermore, an NVRAM (not shown) may be provided to store printer mode setting information from the operation panel 22.
[0038]
FIG. 3 is a diagram showing a memory map in a state where the control program in the present embodiment is loaded into the RAM 2 on the host computer 3000 and becomes executable. Note that the pull-type installation program for the printer driver in this embodiment exists as part of the installation processing related programs 304 and 314 for the server device (a) and the client device (b), respectively. In FIG. 3, the operating systems 305 and 315, the applications 301 and 311 corresponding to the processing to be executed, and the installation processing related programs 304 and 314 are arranged in a form that can be executed on the memory for both the server and the client. . The installed driver is arranged in the memory of the client device as a part of the operating system 315 in the free memory area 312. In addition, related data areas 303 and 313 necessary for installation processing are also secured on the memory. The BIOSs 306 and 316 are programs for controlling various devices that are called when the operating system executes basic input / output.
[0039]
FIG. 4 is a diagram schematically illustrating the configuration of the printer driver 400 and the calling of the printer driver from the operating system (also simply referred to as a system) 420. The printer driver 400 basically includes a core module 401 and an extended function module 410x (x = a, b,...). However, when there is no function that can be expanded, there is no function expansion module, and the number thereof is zero.
[0040]
The core module 401 is a module that is directly called from the system 420 or an application (not shown), and performs basic print setting processing and print execution processing.
[0041]
The extension function module 410x is a replaceable extension function module that performs a specific process, and is called from the core module 401 through the interface I / F 402 as necessary. The extended function module 410x can be plugged in (added or replaced) using a tool (installer), thereby adding or updating the function of the printer driver.
[0042]
As a calling method when the core module 401 calls the extended function module 410x, for example, “interface fixing method”, “interface registration method”, “use of COM”, and the like can be considered.
[0043]
The interface fixing method is a method in which a file name, a function name, an argument, and the like when calling each function are defined in advance. When the core module 401 needs each function, the core module 401 calls the extended function module 410x in accordance with each rule, and uses the process if there is an extended function module. The extended function module 410x is created in accordance with each rule.
[0044]
In this first method, for example, when an extended function module corresponding to the function name is not installed for a function name secured in advance, the corresponding extended function module is installed because the call fails. It is judged that it is not done. When installed, the calling process succeeds, and the processing of the extended function module is executed. When the installed function is uninstalled, the module is deleted to remove the entry. In this way, installation and uninstallation of the extended function module can be realized. The installation of the extended function module is particularly called a plug-in.
[0045]
The interface registration method is a method of registering the file name and function name when calling each function in the I / F 402. When the core module 401 requires each function, the core module 401 calls the extended function module 410x using an interface registered in the I / F 402. The extended function module 410x can be provided using an arbitrary file name or function name, and can be mixed with other extended function modules. When the extension function module 410x is plugged into an existing printer driver set, the installer performs registration and update to the I / F 402 through an interface registration function (Interface Face Registration) IFR 403.
[0046]
In the second method, for example, the I / F 402 stores a correspondence table between function names and corresponding entry points of extended function modules. As the extended function module is installed, the function name and entry point associated with the extended function module are registered in the I / F 402. At the time of uninstallation, the table item corresponding to the extended function module to be uninstalled is deleted. Such a table maintenance function is provided by the IFR 403. The extended function module is executed by calling the function name registered in the table. Therefore, only the extended function modules registered in the table are installed.
[0047]
The method using COM is a method in which a format for calling each function is defined in advance, and the extended function module is registered in the system 420 as a COM component. COM (Component Object Model) is an inter-object communication protocol established by the US Microsoft, and an object that complies with the protocol is called a COM component. In the method using COM, the entity of the extended function module can be held in the print server because of the location transparency that is a feature of COM.
[0048]
In the third method, when an extended function module is installed, the module is registered in the system 420, and when the module is uninstalled, the registration is deleted.
[0049]
The extended function module 410x can be called by the above method. In addition, the extension function module can be installed (plug-in) or uninstalled by a method according to the calling method. However, the calling method, installation (addition) and uninstallation methods mentioned here are merely examples, and the present invention is not limited to these. The replacement of the extended function can be realized by a combination of uninstallation and installation.
[0050]
The I / F 402 may function as a part of the core module 401 or may be an independent module. Similarly, in the second method, the IFR 403 may be integrated with the core module 401 or may be independent.
[0051]
When the core module 401 fails to call the extended function module 410x, that is, when the corresponding extended function module does not exist, the core module 401 performs common processing or skips the corresponding function processing. To proceed.
[0052]
In addition, the functions of the core module 401 and the extended function module 410x can be divided in various ways depending on the design. For example, basic common processing can be performed by a core module, and only specific individual functions can be made independent as extended function modules. Here, the common process includes, for example, a process for performing a printer function provided as a standard by the operating system. For example, there is a process for converting print data into a command system that can be processed by a printer. Specific individual functions provided as an extended function module include functions such as communication with a device (printer), color processing, user interface (UI), and rendering processing.
[0053]
Alternatively, the core module can be a wrapper that processes only calls from the system, and all the substantial functions provided by the printer driver, that is, the part that manages the flow of the entire process can be placed in the extended function module. is there.
[0054]
The mechanism described above is not limited to the printer driver frame, but can be applied to a printing system including other utilities, and can also be applied to other systems other than the printing system. Needless to say.
[0055]
FIG. 5 is a diagram illustrating an example of the configuration of a printer driver whose functions are extended by an extended function module, such as a printer driver set customized for a specific user. Compared to FIG. 4, the extended function module A is replaced by the extended function module A ′, and the extended function module C is added. Here, the replacement of the extended function module A ′ means that the processing content can be changed while using the same I / F as the existing extended function module. The addition of the extended function module C means that a specific process can be added or a specific process can be hooked. In this way, by changing the combination of the extended function modules, it is possible to easily provide a customized printer driver set in which special functions are added or specific functions are masked.
[0056]
FIG. 6 is a diagram illustrating a state in which the extended function module is plugged in. The process of plugging in two extension function modules 602, that is, an extension function module A ′ and an extension function module C, to an existing printer driver set 601 using an installer is shown. Here, the extended function module A ′ has the same interface as the existing extended function module A, and can be replaced with the extended function module A by plug-in. The extended function module C is added because there is no existing module corresponding thereto. As a result of the plug-in, the printer driver set is configured like the printer driver 603. The replacement or addition of the extended function module is performed according to any of the three methods described above.
[0057]
<Create management table>
FIG. 7 is a flowchart showing the processing in the server 102 in this embodiment. Here, the printer management process according to the operation by the IT manager will be described. The process of FIG. 7 is started by an operation by an operator such as an IT manager. The management table 801 shown in FIG. 8 is created by the procedure shown in FIG.
[0058]
First, in step S701, information about a printer connected to the network is retrieved and acquired. At this time, the environment such as the output port and the necessary printer driver are also collected and managed. Printer information is normally input when the printer is connected to the network. The printer information includes, for example, an output port (such as an IP address for an IP network) and a printer identifier. Printer drivers can be collected, for example, by selecting the driver program files stored on the server that match the printer connected to the network, such as those with matching identifiers, and specifying the location of the files. To do. For example, if the printer is installed on the server, the identifier match can be determined based on the correspondence between the printer and the printer driver associated by the installation. Also, the IT manager can specify the correspondence between the printer and its driver, and collect the specified printer driver as necessary.
[0059]
Furthermore, when a printer driver is specified, an extended function module that can be added to the driver is also specified. This can also be realized by having a printer identifier or the like as a part of the program file of the extended function module. What can be collected is information about the driver program (core module) prepared in the server and the extended function module (name and location, corresponding driver identifier, corresponding printer identifier, etc.).
[0060]
Next, in step S702, a management list of client devices connected to the network is created. Here, the IT manager may manually register the client to be managed, or the server may collect information on all client devices existing within the jurisdiction, such as identifiers and addresses. it can. If it is not necessary to manage each client individually, the management list is not particularly required. In that case, step S703 is also not performed.
[0061]
Next, in step S703, a management table 801 as illustrated in FIG. 8 is created. Here, in the management table 801, based on the printer information collected in step S701 and the management list created in step S702, printers and extended functions permitted to be used for each client included in the management list are registered. Is done. The details are shown in FIG.
[0062]
The IT manager creates a management table with a user interface (UI) as illustrated in FIG. For this purpose, the server 102 first displays the identifier and address of the client in the client column 901 of FIG. 9 based on the management list, and displays the identifier and output port number (address) of the printer in the printer column 902 based on the printer information. The extended function modules are respectively displayed in the function column 903 (step S1501). When different types of printers are used, the extended functions may also be different. Therefore, when multiple types of printers are connected to the network, all the extended function modules are displayed in the function column 903 at the same time. Alternatively, only the extended function module corresponding to the printer selected from the printer column 902 may be displayed in the function column 903. In the former case, in order to clarify the correspondence between the printer and the selectable extension function module, it is desirable to improve the identification by displaying it in an independent column for each printer.
[0063]
After displaying each field in this way, the IT manager is made to set the management table. Setting is done for each client. For this purpose, a client is first selected (step S1502). In the example of FIG. 9, client B is selected.
[0064]
If there is an existing management table when a client is selected (step S1503-YES), the contents (that is, the current settings of each client) are read, and the settings for the selected client are displayed (step S1504). ). That is, for the client selected from the client column 901 by the IT manager, the printers and extended functions that are permitted to be used for the client are displayed with a check in the list of the printer column 902 and the function column 903, respectively. Is done. In the example of FIG. 9, the printers A and B and the extended function module E that are permitted to be used for the selected client B are displayed with a check.
[0065]
The operator can see the status of each client by changing the selected client in the client column. Since no assignment is made at the first setting, which printer and which function is allowed to be installed on which client is set from scratch. Note that the client to be managed may be added from this UI.
[0066]
If the current settings are displayed in this way, the IT manager adds a check mark to the printers and extended function modules that are allowed to be used by the client of interest (that is, selected) based on the settings. It sets to do (step S1505).
[0067]
At this time, if the input is client selection, the procedure after step S1503 is repeated for the selected client. If the “OK” button is pressed, the settings input at that time are stored as the management table 801. That is, the management table 801 in FIG. 8 is configured by associating the checked printers and extended function modules for each client, and stored (step S1507). If the “Cancel” button is pressed, the process ends without changing the management table.
[0068]
If the existing management table includes a printer that is not included in the printer information collected in step S701 or a client device that is not included in the management list created in step S702, these are disconnected from the network. You may delete as a thing from a management table. Alternatively, the content of the existing management table may be prioritized and handled by the IT manager.
[0069]
<Pull installation of driver or extension function module>
FIG. 10 is a flowchart showing processing in the client and server in this embodiment. Here, the processing when the client user performs pull installation will be described. Pull installation is processing for requesting a program to be installed stored in a device such as a server from the client and installing the program on the client itself. That is, it includes a series of processes such as program download request, download, and installation.
[0070]
In FIG. 10, first, in step S1001, the client 103 sends an inquiry about the available device information about the printer and the extended function that can be used by the client 103 to the server 102 together with the identifier of the client itself. Obtain possible device information, that is, a list of available printers and extended function modules. At this time, the server 102 selects and returns corresponding client information from the management table managed by the server 102.
[0071]
When information is acquired in step S1001, the information acquired in step S1002 is displayed on the display screen of the client. Then, a printer or an extended function module that can be used by the client is selected.
[0072]
Next, in step S1003, pull installation of the selected driver or extension function module is executed. FIG. 11 shows an example of a UI for executing pull installation, and pull installation in step S1003 is started by pressing the installation start button 1101 as a trigger. Details of step S1003 are shown in FIG. In FIG. 14 and the description thereof, the installation of the “extended function module” is described, but the same applies to the driver core module.
[0073]
In FIG. 14, the client first issues an installation request to the server (step S1401). At this time, information specifying the printer and the extended function module selected in step S1002 is transmitted. At the same time, a plug-in receiving module that receives and installs a newly installed module in the client is loaded into the memory.
[0074]
The server 102 that has received the request acquires the specified information related to the corresponding client from the management table managed by the server 102 (step S1411), and requests the registered printer driver and extended function module from the requesting client. Is transmitted to the plug-in receiving module (step S1412). The server 102 determines whether an installation completion notification is received from the client or whether a predetermined time has elapsed (step S1413).
[0075]
On the other hand, the client 103 receives the module to be installed from the server 102, and stops the installation process when a predetermined time has elapsed after the installation request (S1402-timeout). If it has been received normally, all of them are received (step S1404), and the plug-in reception module is executed and installed. When the module to be installed is an extended function module, as described above, the module is installed and combined with the core module by a predetermined method out of the three methods. In the case of a core module, it is installed in the same manner as a normal device driver. In addition, environment settings such as output ports are set together with the installation.
[0076]
When the installation is completed, the plug-in reception module is unloaded (step S1405), and the server 102 is notified that the installation is completed (step S1406).
[0077]
This completes pull installation on the client.
[0078]
As described above, when pull-installing a device driver, by dividing the driver into functional units and preparing them as installable function modules, the client can install only the necessary functions. .
[0079]
In the server, it is possible to specify a driver and a function permitted to be used for each client. The client can select the functions to be installed within the permitted range.
[0080]
Therefore, the client can be managed even if the installation is left to the operator of the client terminal.
[0081]
In addition, since the client user can install the program simply by giving an installation instruction without any special knowledge, it is not necessary to go to the client device and install the printer driver if no special education is required.
[0082]
In addition, the IT manager can maintain the management table in the server, so that the management of printers and functions can be restricted or customized for each client. There is an effect that it becomes possible.
[0083]
Furthermore, in this embodiment, the extension function module can be updated even if the core module is loaded. Therefore, the printer driver can be updated without being rebooted without being affected by the system (OS) and applications.
[0084]
In this way, the function of the printer driver can be easily updated by plugging in only the extended function module.
[0085]
[First Modification of First Embodiment]
In management of printers and extended functions on the server, the functions may depend on the printer.
[0086]
FIG. 12 shows an example of a UI when the extended function depends on the printer as compared with FIG. That is, when a client is selected from the client column 1201, information associated with the client is displayed, but from the printer and function column 1202, a printer to be used is selected and an extended function subordinate to each printer is selected. Is possible. In the present embodiment, if the printer is not usable, the setting of the subordinate extended function has no meaning. Therefore, in FIG. 12, the printer C is not permitted to be used by the client B. Therefore, the extended function is not permitted. Can be displayed in gray so that it cannot be selected.
[0087]
The IT manager creates a management table through the UI 1200. When a pull installation request is received from a client user, the IT manager installs a printer driver and an extended function module according to the management table. Note that the management table has a format in which a printer that can be used is associated with each client, and a function that can be used with each printer.
[0088]
[Modification 2 of the first embodiment]
In this modified example, the processing flow in the form of managing the printers and extension functions that can be used without limiting each client on the server and selecting and using the necessary printers and extension functions by the client user. explain.
[0089]
FIG. 13 is a diagram illustrating a UI for a client user to select and pull-install a necessary printer and an extended function. The flow of processing at the client in this embodiment will be described using the flowchart of FIG.
[0090]
First, in step S1001, list information of printers and extended functions managed by the server is acquired. The acquired list is a list of printers and extended function modules that are not limited by the management table.
[0091]
In step S1002, the acquired information is displayed on the UI illustrated in FIG. Assume that a printer and an extended function can be selected as in the UI example.
[0092]
In step S1003, pull installation is started by pressing the install button. At this time, the client requests a list of printers and extended functions to be installed to the server, and the server installs the corresponding printer driver and extended function module in the requesting client. In addition, the environment setting such as the output port is also performed in the same manner as in the above-described embodiment.
[0093]
Note that the trigger for starting pull installation can be an intuitive operation by dragging and dropping from the printer or the extended function list instead of pressing the install button.
[0094]
[Modification 3 of the first embodiment]
In the present embodiment, the setting of the driver or function module subject to use permission is performed for each client in this example. However, when the common setting is made for all clients, the display of the client column 901 in FIG. 9 is not necessary. Thus, common settings are made for all clients, and a common management table is created for all clients.
[0095]
[Modification 4 of the first embodiment]
In FIG. 10, the modules to be installed are limited in steps S1001 and S1002. However, if a module that can be installed is designated in the client in advance, these steps are unnecessary.
[0096]
[Modification 5 of the first embodiment]
In this embodiment, the device on which the driver is installed is a network device connected to a network, but it can also be a local device connected to a client. The same applies to the second embodiment.
[0097]
[Second Embodiment]
As a second embodiment, a system of so-called push installation processing that activates installation processing such as a driver on the client 103 in the server 102 will be described. In the present embodiment, the configuration of the network system, the configuration and creation procedure of the management table 801, and the like are the same as those in the first embodiment.
[0098]
<Push installation of driver or extension function module>
FIG. 16 is a flowchart of processing in the server in this embodiment. Since the operation is performed only on the server device side, the operation on the server device by the IT manager and the processing of the server are described here.
[0099]
First, in step S1601, information about a printer connected to the network is retrieved and acquired. At this time, the environment such as the output port and the necessary printer driver are also collected and managed.
[0100]
In step S1602, information about the client device connected to the network is searched and acquired. Here, information of all client devices existing in the jurisdiction of the server may be collected, or information may be acquired for a client device registered in advance as a management target. Information to be acquired includes whether each client is currently managed by the server (connected to the network), the model of the printer used by each client, the driver version, the extended function, and the like.
[0101]
Next, in step S1603, a management table as illustrated in FIG. 8 is created. Here, the printer and the extended function used for each client are managed. Furthermore, a UI as illustrated in FIG. 9 is displayed, and the IT manager is set to the printer and function to be installed on each client. Here, first, the contents of the management table of FIG. 8, that is, the current state of each client are displayed. When an arbitrary client is selected in the client column 901, printers and extended functions that can be used by the client are displayed with a check in the list of the printer column 902 and the function column 903, respectively. This is the same as in the first embodiment. By changing the selected client in the client column 901, the status of each client can be viewed. Note that a client that is not currently connected to the network may know the state. For example, it can be displayed by displaying in gray like the client D. It can also be displayed by adding a mark indicating prohibition.
[0102]
Here, the final client configuration is determined by changing the check, and the information is reflected in the management table 801. Since no driver is included when setting for the first time, it is set from scratch which printer and which function is installed on which client.
[0103]
In step S1604, push installation is performed by pressing the install button 1101 shown in FIG. 11 displayed on the server. According to the management table 801 shown in FIG. 8, printer drivers (core modules and extended function modules) managed by the server are installed in each client at the same time, and environment settings such as output ports are also set. If one extended function module is actually composed of a plurality of program files, only the difference may be installed except for the already installed program files. The same applies to the first embodiment.
[0104]
In step S1605, an installation result is displayed. A message indicating that the driver has been updated is displayed on the client device, and information indicating that the update has been completed or the update has failed is displayed on the server. Installation may fail if the client device is not connected to the network or printing is in progress, but when the server receives the failure information, the IT manager performs later processing, and the server device waits for a certain period of time. It can be used as a judgment material for taking appropriate measures to retry.
[0105]
Although the example of the operation screen shows an example of correspondence for each client, it goes without saying that a plurality of clients can be updated together (for example, in units of departments or floors).
[0106]
FIG. 17 is a diagram showing details of step S1604 of FIG.
[0107]
First, when an installation instruction is given to a driver or an extended function module installed in the server, an installation preparation request is issued to the client to be installed by designating them (step S1711).
[0108]
When the client receives and recognizes the request (step S1701), it responds that the preparation is completed (step S1702), and loads the plug-in reception module into the memory (step S1703). The order of step S1702 and step S1703 may be reversed. Thereafter, it waits for the download of the core module and the extended function module from the server.
[0109]
On the other hand, the server determines whether or not there is a preparation completion response from the client (step S81712). If there is no response, the server branches from step S1714 to step S1712 and waits for a response. If a certain time elapses, a timeout occurs and the process is canceled.
[0110]
If there is a preparation completion response from the client, the designated core module or extended function module is transmitted to the client (step S1703). Then, it waits for an installation completion notification from the client (step S1714). In FIG. 17, the transmission in step S1713 is repeated unless a completion notification is received. However, if the transmission itself is successful, the transmission need not be repeated.
[0111]
The client waits for a module transmitted from the server and receives it (step S1704), and installs it using the plug-in reception module. This is as described in step S1604, and the extended function module is installed according to any one of the three methods described in the first embodiment (step S1705).
[0112]
When the installation is completed, the plug-in reception module is unloaded (step S1706), and an installation completion notification is transmitted to the server (step S1707).
[0113]
Push installation is completed as described above. With this system configuration and processing procedure, it is possible to install the printer driver on the client device in a batch only by operation on the server. Therefore, no operation on the client side is required, and the program can be installed on the client simply and safely. As a result, there is no need to educate client users, and there is no need to go to those client devices and install a printer driver.
[0114]
In addition, the IT manager can maintain the management table in the server, so that the management of printers and functions can be restricted or customized for each client. There is an effect that it becomes possible.
[0115]
In addition to new printer driver installation, driver functions can be easily added and changed without rebooting, and versions can be easily matched among all client devices. There is an effect that can be done.
[0116]
Further, there is an effect that a customized printer driver set can be easily created.
[0117]
[Modification of Second Embodiment]
Note that all the modifications of the first embodiment can be applied to the second embodiment.
[0118]
As an operation of the IT manager on the server, an intuitive operation by drag and drop can be performed instead of creating a management table. For example, a list of network clients, a list of printers, and a list of extension modules are displayed. Select the printer you want to install from there, and drag and drop it on the target client to perform push installation. It can also be used as a trigger for executing. The same applies to the extended function. This is also applicable to the first embodiment.
[0119]
Note that the present invention can be applied to a system including a plurality of devices (for example, a host computer, an interface device, a reader, and a printer), and a device (for example, a copying machine and a facsimile device) including a single device You may apply to.
[0120]
Another object of the present invention is to supply a storage medium (or recording medium) in which a program code of software that realizes the functions of the above-described embodiments is recorded to a system or apparatus, and the computer (or CPU or (MPU) can also be achieved by reading and executing the program code stored in the storage medium.
[0121]
In this case, the program code itself read from the storage medium realizes the functions of the above-described embodiments, and the program code itself and the storage medium storing the program code constitute the present invention.
[0122]
Further, by executing the program code read by the computer, not only the functions of the above-described embodiments are realized, but also an operating system (OS) running on the computer based on the instruction of the program code. A case where part or all of actual processing is performed and the functions of the above-described embodiments are realized by the processing is also included.
[0123]
Furthermore, after the program code read from the storage medium is written into a memory provided in a function expansion card inserted into the computer or a function expansion unit connected to the computer, the function is determined based on the instruction of the program code. This includes a case where the CPU or the like provided in the expansion card or the function expansion unit performs part or all of the actual processing and the functions of the above-described embodiments are realized by the processing.
[0124]
[Other Embodiments]
In the network system according to the present invention, the server device includes a printer management unit that manages information on the printer connected to the network, a core module that performs basic processing, and a process of a specific function that is called by the core module. A printer driver composed of zero or more extended function modules for performing the above-described processing, a printer driver management means for managing the printer driver for the printer to be managed, and the client device connected to the network. Client management means for managing, and dynamic installation means for installing the printer driver in the client device that issued the request,
The client device has means for issuing a printer driver installation request to the server device, and means for installing the printer driver received from the server device in its storage device.
[0125]
Furthermore, in the printer driver according to the present invention, the extension function module performs plug-in (addition or replacement), and the core module can use the function of the new extension function module even by the plug-in. The driver function can be expanded by the plug-in.
[0126]
Furthermore, in the printer driver according to the present invention, it is possible to create a printer driver having different functions or restrictions, that is, a customized printer driver set, by changing the configuration of the extended function module included in the driver set. is there.
[0127]
Furthermore, the server device according to the present invention has means for controlling (selecting) a printer to be installed for each client and means for controlling (selecting) an extended function to be installed for each client.
[0128]
Furthermore, the server device according to the present invention has means for releasing a list of each of the printer and the extended function managed by the server device to the client, and enabling each selection by the client.
[0129]
Further, the client device according to the present invention includes means for selecting necessary ones from the printer list and extended function list published by the server, and means for issuing a request for installing the selected printer and the extended function to the server. Have
[0130]
Further, the printer driver management unit according to the present invention stores a printer driver and an extended function module corresponding to a printer to be managed, and stores the acquired printer driver and the extended function module on a server memory. And means for selecting a printer driver required at the time of execution of installation.
[0131]
Further, the dynamic installation unit according to the present invention includes: a unit configured to transmit a printer set by the server device to the client device or the printer driver of the printer selected by the client device; and an output port for the client device. Means for installing the environment.
[0132]
Further, the dynamic installation means according to the present invention includes means for installing the entire printer driver set, and means for selecting and installing only a specific extended function module.
[0133]
Further, the printer management means according to the present invention includes means for searching for a printer on the network, and means for acquiring a name and an IP address from the searched printer.
[0134]
The printer according to the present invention further includes means for returning a name and an IP address in accordance with a search process from the server.
[0135]
Further, the client management means according to the present invention includes means for searching for a client device on a network and means for acquiring a name and an IP address from the searched client device, or performs automatic acquisition of information, or a server An administrator creates information manually on the device.
[0136]
Further, the client device according to the present invention includes means for returning a name and an IP address in accordance with a search process from the server, and means for returning a type of installed module in accordance with the search process from the server.
[0137]
【The invention's effect】
As described above, according to the present invention, the functions of the device driver installed in the client can be centrally managed in the server or the like. Therefore, the efficiency of management and the prevention of troubles due to the matching of functions in the entire network can be improved. It is possible to prevent inconvenience caused by each client user installing a program individually, such as a possibility that the system safety is lowered by a user operation.
[0138]
In addition, the client user can simply leave it to the server, issue a driver installation request, or select a printer to be used from the printer managed by the server and issue the request. Installation on the device and environment setting are performed automatically. Therefore, there is an effect that the user does not need any special knowledge or difficult operation.
[0139]
Furthermore, there is an effect that individual management for each client such as restriction of use of printers and functions or customization for each client can be performed in an integrated manner. Further, there is an effect that a customized printer driver set can be easily created.
[0140]
Furthermore, there is an effect that not only a new installation of a printer driver but also addition and change of a driver function can be easily processed without rebooting.
[0141]
Also, by installing from the server, the printer driver can be installed on the client device by remote processing from the server, so there is no need to operate the client side, so client users can be educated and the client device can be visited. This can reduce the labor required in the past.
[Brief description of the drawings]
FIG. 1 is a configuration example of a print processing system according to an embodiment of the present invention.
FIG. 2 is a block diagram illustrating an internal configuration of the print processing system according to the embodiment.
FIG. 3 is a diagram showing a memory map of a RAM 2 in the embodiment.
FIG. 4 is a diagram illustrating a configuration of a printer driver and a relationship with a system in the embodiment.
FIG. 5 is a diagram illustrating an example of providing a customized printer driver set in the embodiment.
FIG. 6 is a diagram illustrating a transition of a driver configuration by plug-in installation in the embodiment.
FIG. 7 is a flowchart showing management table maintenance processing in the embodiment;
FIG. 8 is a diagram showing an example of an information management table in the embodiment.
FIG. 9 is a diagram illustrating an example of a UI screen for the IT manager in the embodiment to manage a printer and a client.
FIG. 10 is a flowchart showing pull installation processing at the client in the first embodiment.
FIG. 11 is a diagram illustrating an example of a UI screen for a client user to execute pull installation processing in the embodiment.
FIG. 12 is a diagram illustrating an example of a UI screen for the IT manager in the embodiment to manage a printer and a client.
FIG. 13 is a diagram illustrating an example of a UI screen for a client user to execute a pull installation process in the embodiment.
FIG. 14 is a flowchart of a pull installation processing procedure in the server and the client in the first embodiment.
FIG. 15 is a detailed flowchart of a management table creation procedure in the server according to the embodiment;
FIG. 16 is a flowchart showing push installation processing at a server in the second embodiment;
FIG. 17 is a flowchart of a push installation process procedure in the server and the client in the second embodiment.

Claims (5)

指定手段とインストール手段とを有するサーバ装置において実行されるプログラムのインストール方法であって、
前記指定手段が、クライアント装置と、該クライアント装置と通信するデバイスを制御するためのドライバのコア機能を拡張するための個別機能を有する拡張機能プログラムを指定する指定工程と、
前記インストール手段が、前記クライアント装置のなかから前記指定工程において指定されたクライアント装置に対して前記指定工程において指定された拡張機能プログラムをサーバ装置からクライアント装置に対して送信することでインストールさせるインストール工程とを備え、
前記指定工程では、前記クライアント装置それぞれについて、拡張機能プログラムの制御対象となるデバイスの指定と、当該デバイスごとに利用が許可される拡張機能プログラムの指定とが可能であり、
前記インストール工程においては、指定されたクライアント装置について利用が許可されたデバイスに対してインストールが許可された拡張機能プログラムが、前記指定されたクライアントに対してインストールされることを特徴とするインストール方法。
An installation method of a program executed in a server device having a designation unit and an installation unit,
A designating step in which the designating unit designates an extended function program having an individual function for extending a client device and a driver core function for controlling a device communicating with the client device;
An installation step in which the installation unit causes the client device specified in the specifying step to install the extension function program specified in the specifying step by transmitting from the server device to the client device among the client devices. And
Wherein the designation step, for each of the client device, a specified device to be controlled of the extended function program, Ri specification and can der extensions programs available per the device is permitted,
How in the installation process, extended function program installation was allowed for the specified client device is permitted utilized device, characterized in Rukoto installed for the specified client.
前記インストール工程においては、前記指定工程により指定されたクライアント装置の指定とインストール開始指示とにしたがって、前記指定工程により指定されたクライアント装置に対して前記拡張機能プログラムがインストールされることを特徴とする請求項1に記載の方法。  In the installation step, the extended function program is installed in the client device designated in the designation step according to the designation of the client device designated in the designation step and the installation start instruction. The method of claim 1. クライアント装置に対して遠隔インストールされるプログラムを提供するサーバ装置であって、
クライアント装置と、該クライアント装置と通信するデバイスを制御するためのドライバのコア機能を拡張するための個別機能を有する拡張機能プログラムを指定する指定手段と、
前記クライアント装置のなかから前記指定手段により指定されたクライアント装置に対して前記指定手段により指定された拡張機能プログラムをサーバ装置からクライアント装置に対して送信することでインストールさせるインストール手段とを備え、
前記指定手段は、前記クライアント装置それぞれについて、拡張機能プログラムの制御対象となるデバイスの指定と、当該デバイスごとに利用が許可される拡張機能プログラムの指定とが可能であり、
前記インストール手段は、指定されたクライアント装置について利用が許可されたデバイスに対してインストールを許可された拡張機能プログラムを、前記指定されたクライアントに対してインストールすることを特徴とするサーバ装置。
A server device that provides a program that is remotely installed on a client device,
A designation unit for designating an extension function program having an individual function for extending a core function of a driver for controlling a client apparatus and a device for controlling a device communicating with the client apparatus;
Installation means for installing the client apparatus specified by the specifying means from the client apparatus by transmitting the extended function program specified by the specifying means from the server apparatus to the client apparatus;
The designation unit, for each of the client device, a specified device to be controlled of the extended function program, Ri specification and can der extensions programs available per the device is permitted,
The installation unit, server unit, wherein the installation to Rukoto against was allowed to install the device in which use is granted for the specified client system extension program is the designated client.
前記インストール手段は、前記指定手段により指定されたクライアント装置の指定とインストール開始指示とにしたがって、前記指定手段により指定されたクライアント装置に対して拡張機能プログラムインストールることを特徴とする請求項に記載のサーバ装置。The installation unit, claims the following designation and installation start instruction of the specified client device by specifying means and installed to Rukoto extended function program for a given client device by said specifying means 4. The server device according to 3 . 請求項3又は4に記載のサーバ装置をコンピュータにより実現させるためのプログラム。The program for implement | achieving the server apparatus of Claim 3 or 4 with a computer.
JP2003053893A 2003-02-28 2003-02-28 Program installation method and server device Expired - Fee Related JP4371673B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2003053893A JP4371673B2 (en) 2003-02-28 2003-02-28 Program installation method and server device
US10/780,659 US7853946B2 (en) 2003-02-28 2004-02-19 Information processing apparatus, information processing method, and control program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003053893A JP4371673B2 (en) 2003-02-28 2003-02-28 Program installation method and server device

Publications (3)

Publication Number Publication Date
JP2004265061A JP2004265061A (en) 2004-09-24
JP2004265061A5 JP2004265061A5 (en) 2007-03-01
JP4371673B2 true JP4371673B2 (en) 2009-11-25

Family

ID=33118378

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003053893A Expired - Fee Related JP4371673B2 (en) 2003-02-28 2003-02-28 Program installation method and server device

Country Status (1)

Country Link
JP (1) JP4371673B2 (en)

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4182094B2 (en) 2004-08-30 2008-11-19 キヤノン株式会社 Information processing apparatus, control method therefor, and program
JP4623461B2 (en) * 2004-11-30 2011-02-02 キヤノンマーケティングジャパン株式会社 Information processing apparatus, print control method, printer driver program, and recording medium
JP4486531B2 (en) * 2005-03-16 2010-06-23 株式会社リコー Image forming system, image forming apparatus, management apparatus, and plug-in matching management method
JP2006331160A (en) * 2005-05-27 2006-12-07 Ricoh Co Ltd Software introduction environment configuration apparatus, software introduction environment configuration method, software introduction environment configuration program and recording medium
JP2007323140A (en) * 2006-05-30 2007-12-13 Felica Networks Inc Information processing apparatus, method and program
JP2008165368A (en) 2006-12-27 2008-07-17 Konica Minolta Business Technologies Inc Service restriction method, image processing restriction method, and image processing system
JP4803051B2 (en) * 2007-01-30 2011-10-26 横河電機株式会社 Programmable logic controller support device
JP4996272B2 (en) * 2007-01-31 2012-08-08 キヤノン株式会社 Information processing apparatus, control method therefor, and program for executing the method
JP5022748B2 (en) * 2007-03-23 2012-09-12 キヤノン株式会社 Client apparatus and information processing method
JP2008257406A (en) * 2007-04-04 2008-10-23 Sharp Corp Information processing system
US8077334B2 (en) * 2007-04-13 2011-12-13 Amadeus S.A.S. Method and apparatus for managing printing solutions in a local area network
JP2009123178A (en) * 2007-11-12 2009-06-04 Masakazu Morisato Network computer system and screen sharing system
US20090190150A1 (en) * 2008-01-24 2009-07-30 Selvaraj Senthil K On-Demand Print Driver
JP5233582B2 (en) 2008-02-18 2013-07-10 株式会社リコー Information processing apparatus, information processing method, and function expansion program
JP5163320B2 (en) * 2008-07-01 2013-03-13 ブラザー工業株式会社 Information processing device
JP5264391B2 (en) * 2008-09-30 2013-08-14 キヤノン株式会社 Information processing apparatus and installation method
JP5305839B2 (en) * 2008-10-31 2013-10-02 キヤノン株式会社 Image processing apparatus, information processing apparatus, image processing apparatus control method, information processing apparatus control method, storage medium, and program
JP2010117975A (en) * 2008-11-14 2010-05-27 Kyocera Mita Corp Image forming system, terminal device, server, image forming device, and image forming method
JP2010182116A (en) * 2009-02-05 2010-08-19 Ricoh Co Ltd Server device and driver package generation program
JP5552818B2 (en) * 2010-01-26 2014-07-16 株式会社リコー Program, image forming apparatus, and installation method
JP5754123B2 (en) * 2010-12-10 2015-07-29 株式会社リコー Information processing device
JP5729039B2 (en) * 2011-03-15 2015-06-03 株式会社リコー Information processing system, server device, client terminal, installation method, program, printer driver, and recording medium
JP5437468B2 (en) * 2012-12-05 2014-03-12 シャープ株式会社 Printer control program and recording medium
JP6361099B2 (en) * 2012-12-11 2018-07-25 セイコーエプソン株式会社 system
JP6103978B2 (en) * 2013-02-18 2017-03-29 キヤノン株式会社 Distribution apparatus, device apparatus, distribution apparatus control method, and computer program
JP5932712B2 (en) * 2013-05-21 2016-06-08 京セラドキュメントソリューションズ株式会社 Installer program and installation method
JP2017027371A (en) * 2015-07-23 2017-02-02 コニカミノルタ株式会社 Printer driver and information processing apparatus
US9965231B2 (en) 2015-07-23 2018-05-08 Konica Minolta, Inc. Printer driver and information processing device
JP6938887B2 (en) * 2016-10-06 2021-09-22 富士フイルムビジネスイノベーション株式会社 Information processing equipment, information processing systems and programs
JP2019106101A (en) * 2017-12-14 2019-06-27 コニカミノルタ株式会社 System, device, method and program
CN110895503B (en) * 2018-09-12 2024-04-12 阿里巴巴(中国)有限公司 Application performance monitoring method and client
JP7282507B2 (en) 2018-11-30 2023-05-29 キヤノン株式会社 Information processing device, server device, control method, control program
CN112446625A (en) * 2020-12-01 2021-03-05 广东赛意信息科技有限公司 Process line generation system, method, platform and storage medium

Also Published As

Publication number Publication date
JP2004265061A (en) 2004-09-24

Similar Documents

Publication Publication Date Title
JP4371673B2 (en) Program installation method and server device
US7853946B2 (en) Information processing apparatus, information processing method, and control program
JP4551607B2 (en) Information processing apparatus, information processing method, and control program
JP4863450B2 (en) Information processing apparatus for customizing device driver program and device driver program customization method
JP3958246B2 (en) Remote creation of printer instances on workstations
US9218150B2 (en) Image forming apparatus and method thereof
US8850459B2 (en) Information processing apparatus, information processing method, and program
CN100561435C (en) Signal conditioning package and information processing method
US8587811B2 (en) Information processing apparatus and method thereof
US20030084132A1 (en) Network system, information processing apparatus, information processing method, and control program
US20130176584A1 (en) Network system, client apparatus, method therefor, and program
JP7187351B2 (en) DEVICE MANAGEMENT SERVER, ITS CONTROL METHOD AND PROGRAM
JP4908731B2 (en) Information processing apparatus, information processing method, and information processing program
JP5349947B2 (en) System, image forming apparatus, control method, and program
US7693968B2 (en) Printing system, information processing apparatus, installation method, and program for implementing the method
JP2020004158A (en) Information processing apparatus, method of controlling information processing apparatus, and program
US20130021647A1 (en) Information processing apparatus, method for controlling information processing apparatus, and computer program
JP2015176235A (en) Automatic installation system and method, information processor, image formation device and program
JP3774684B2 (en) Information processing apparatus, printer setting method of information processing apparatus, program, and recording medium
JP4181973B2 (en) Printer driver installer creation method, printer driver installation method, information processing apparatus, program, and storage medium
CN107066217B (en) Image forming apparatus and control method of image forming apparatus
US8995002B2 (en) System and method for printing independent of location and using a universal print module
JP2007166057A (en) Image processing system, image processor, optional product processing method, program
US20130067452A1 (en) Management server, host device, and application management method
JP2006209195A (en) Print controller, print control method and storage medium

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060221

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070115

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080716

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090316

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090514

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090612

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090806

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20090828

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090901

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120911

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120911

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130911

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees