(57)【要約】【課題】カスタマイズドライバー（特定顧客向けドライバー）が存在する場合に、カスタマイズドライバーを更新せずに、他のデバイスドライバー（一般顧客向けデバイスドライバー）のみを更新する情報処理装置を提供する。【解決手段】この情報処理装置は、サーバー上にある、ソフトウェアの更新のための更新データを取得して、データの更新をする情報処理装置であって、画像処理装置のモデル名を記憶する記憶手段と、サーバーから更新データのリストを取得する取得手段と、取得したリストを表示する表示手段と、表示したリストに存在する更新データに対応するソフトウェアを更新する更新手段と、を備える。更新手段は、取得したリスト内に記憶手段に記憶されているモデル名と一致するモデル名が含まれる更新データが存在する場合、一致する更新データを非表示に設定して、非表示に設定されていない更新データに対応するソフトウェアを更新する。【選択図】  図１０
2017162070.tif 000002
【特許請求の範囲】
【請求項１】
サーバー上にある、ソフトウェアの更新のための更新データを取得して、ソフトウェアの更新をする情報処理装置であって、
画像処理装置のモデル名を記憶する記憶手段と、
前記サーバーから前記更新データのリストを取得する取得手段と、
前記取得手段で取得したリストを表示する表示手段と、
前記表示手段で表示したリストに存在する更新データに対応するソフトウェアを更新する更新手段と、
を備え、
前記更新手段は、前記取得手段で取得したリスト内に前記記憶手段に記憶されているモデル名と一致するモデル名が含まれる更新データが存在する場合、前記一致する更新データを非表示に設定して、前記非表示に設定されていない更新データに対応するソフトウェアを更新する
ことを特徴とする情報処理装置。
【請求項２】
前記更新手段は、前記非表示に設定された更新データに対応するソフトウェアの更新をしない
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記更新手段は、前記画像処理装置の識別情報に基づいて前記更新データに対応するソフトウェアを更新する
ことを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
前記更新手段は、前記記憶手段に記憶されている識別情報と一致する識別情報が含まれる更新データが存在する場合、前記一致する更新データを非表示に設定して、前記非表示に設定されていない更新データに対応するソフトウェアを更新する
ことを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記更新手段は、他の情報処理装置と共有するソフトウェアの構成情報が前記記憶手段に記憶されている場合、前記他の情報処理装置から取得するデータに基づいて更新を行う
ことを特徴とする請求項１〜４のいずれか１項に記載の情報処理装置。
【請求項６】
サーバー上にある、ソフトウェアの更新のための更新データを取得して、ソフトウェアの更新をする情報処理装置の制御方法であって、
前記サーバーから前記更新データのリストを取得する取得工程と、
前記取得工程で取得したリストを表示する表示工程と、
前記表示工程で表示したリストに存在する更新データに対応するソフトウェアを更新する更新工程と、
を備え、
前記更新工程では、前記取得工程で取得したリスト内に、記憶手段に記憶されている画像装置のモデル名と一致するモデル名が含まれる更新データが存在する場合、前記一致する更新データを非表示に設定して、前記非表示に設定されていない更新データに対応するソフトウェアを更新する
ことを特徴とする情報処理装置の制御方法。
【請求項７】
請求項１〜５のいずれか１項に記載の情報処理装置の各手段としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理装置の制御方法、及びプログラムに関し、特にネットワーク上からのソフトウェアの配布に関する。
【背景技術】
【０００２】
近年、Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ（ＯＳ)は、新機能や障害の修正をスムーズに顧客に届けるためにオンラインでソフトウェアの配布と更新を行う。それに伴い、デバイスドライバーを含むソフトウェアもオンライン上で配布と更新を行うようになってきている。そこで、特許文献１では、端末のソフトウェアを更新するために、ネットワーク上にあるデバイスドライバーとバージョンを比較して、更新可能なデバイスドライバーの一覧を表示し、選択されたデバイスドライバーを更新する方法が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０００−３５３０７９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
デバイスドライバーは、オンラインで配布されるデバイスドライバーとは別に、特定顧客のニーズに合わせて独自のカスタマイズを施して運用する特定顧客向けドライバー（カスタマイズドライバー）が存在する。特許文献１では、カスタマイズドライバーかどうかを区別せずに更新処理及びインストールを行うため、オンラインから更新する際にカスタマイズドライバーが、オンラインで配布される通常のデバイスドライバーで更新されてしまう。また、オンラインから配布をする場合は、更新だけでなくカスタマイズドライバーではないデバイスドライバーをＯＳが特定顧客に自動でインストールされてしまう。つまり、ユーザーが意図しない、カスタマイズされた機能が自動で更新されることを防ぐ必要がある。
【０００５】
本発明は、上記課題を鑑みて、カスタマイズドライバー（特定顧客向けドライバー）が存在する場合に、カスタマイズドライバーを更新せずに、他のデバイスドライバー（一般顧客向けデバイスドライバー）のみを更新する情報処理装置を提供すること目的とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本発明の情報処理装置は、サーバー上にある、ソフトウェアの更新のための更新データを取得して、ソフトウェアの更新をする情報処理装置であって、画像処理装置のモデル名を記憶する記憶手段と、前記サーバーから前記更新データのリストを取得する取得手段と、前記取得手段で取得したリストを表示する表示手段と、前記表示手段で表示したリストに存在する更新データに対応するソフトウェアを更新する更新手段と、を備え、前記更新手段は、前記取得手段で取得したリスト内に前記記憶手段に記憶されているモデル名と一致するモデル名が含まれる更新データが存在する場合、前記一致する更新データを非表示に設定して、前記非表示に設定されていない更新データに対応するソフトウェアを更新することを特徴とする。
【発明の効果】
【０００７】
本発明によれば、カスタマイズドライバー（特定顧客向けドライバー）が存在する場合に、カスタマイズドライバーを更新せずに、他のデバイスドライバー（一般顧客向けデバイスドライバー）のみを更新する情報処理装置を提供することができる。これにより、特定顧客向けドライバーを配布している場合に、ネットワーク上からデバイスドライバーの更新を行ったとしても、特定顧客向けドライバーを更新せずに、他のデバイスドライバーのみの更新を行うことができる。
【図面の簡単な説明】
【０００８】
【図１】システム全体の構成を示す模式図である。
【図２】クライアントコンピュータのハードウェア構成を示す図である。
【図３】更新制御アプリケーションとＯＳの構成を示す図である。
【図４】更新制御アプリケーションのメインダイアログの模式図である。
【図５】更新制御アプリケーションの名称登録ダイアログの模式図である。
【図６】メインダイアログを表示する処理を示すフローチャートである。
【図７】メインダイアログを表示する処理を示すフローチャートである。
【図８】名称登録ダイアログを表示する処理を示すフローチャートである。
【図９】受け付けた指示に対する処理を示すフローチャートである。
【図１０】第１実施形態に係る更新制御の処理を示すフローチャートである。
【図１１】第２実施形態に係る更新制御の処理を示すフローチャートである。
【図１２】第１実施形態に係る更新制御の処理を示すフローチャートである。
【図１３】受け付けた指示に対する処理を示すフローチャートである。
【発明を実施するための形態】
【０００９】
以下、本発明を実施するための最良の形態について図面などを参照して説明する。なお、本明細書で説明するシステムおよび方法は、各デバイスのログを収集、加工し、送信するものである。以降の説明および発明の図の中で、当事者にとって周知であり、本発明の説明を理解するために必要ない箇所は、本明細書では省略する。
【００１０】
（第１実施形態）
図１は、本実施形態に係るシステム構成の概略を表す模式図である。本実施形態のシステムは、情報処理装置の一例であるクライアントコンピュータ１０１と、プリンター１０２と、Ｕｐｄａｔｅサーバー（サーバー）１０４と、サーバーコンピュータ１０５とを備える。クライアントコンピュータ１０１は、情報処理装置の一例である。プリンター１０２は、ページ記述言語（ＰＤＬ）形式の印刷データを受信し印刷を行うことが可能である。Ｕｐｄａｔｅサーバー１０４は、クライアントコンピュータ１０１に任意のソフトウェアの配布を行う、Ｍｉｃｒｏｓｏｆｔ（登録商標）が提供する更新ソフトウェア適用の配信を行うためのサーバーである。サーバーコンピュータ１０５は、クライアントコンピュータ１０１からの要求に応じて、クライアントコンピュータ１０１に任意のデータを送信する。Ｕｐｄａｔｅサーバー１０４は、Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ（ＷＡＮ）を含むネットワーク１０３を通じて、Ｗｉｎｄｏｗｓ（登録商標）のＯＳに対し、適用可能なソフトウェアを配信する。なお、上記の各装置は、ネットワーク１０３を通じて相互に通信可能である。また、プリンター（画像処理装置）１０２は、印刷機能のみを備えるシングルファンクションプリンタでも、印刷機能、スキャン機能、複写機能を備えるマルチファンクションプリンタでも構わない。
【００１１】
図２は、図１のクライアントコンピュータ１０１のハードウェア構成を示すブロック図である。クライアントコンピュータ１０１において、中央演算処理装置（ＣＰＵ）は、ランダムアクセスメモリ（ＲＡＭ２０２）に記憶されているプログラムに従って、システムバスに接続される各デバイスを制御する。なお、クライアントコンピュータ１０１は、少なくとも１つのＣＰＵ２０１を備える。加えて、ＣＰＵ２０１が外部メモリ２０９に記憶されているプログラムに基づき処理を実行することによって、後述の図３に示されるようなクライアントコンピュータ１０１のソフトウェア構成および後述のフローチャートの各ステップの処理が実現される。また、このＲＡＭ２０２は、ＣＰＵ２０１の主メモリ、ワークエリア等として機能する。
【００１２】
リードオンリーメモリ（ＲＯＭ）２０３は、ブートプログラムや基本入出力システム（ＢＩＯＳ）等の各種プログラムが書き込まれている。操作入力装置インターフェース（Ｉ／Ｆ）２０４は、キーボードやポインティングデバイス（マウス）タッチＵＩ（Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）などの操作入力装置２０５を制御するインターフェースである。ディスプレイＩ／Ｆ２０６は、ディスプレイ２０７への画面表示を制御する。外部メモリＩ／Ｆ２０８は、例えば、ハードディスク（ＨＤ）、ソリッドステートディスク（ＳＳＤ）等の外部メモリ２０９とのアクセスを制御する。外部メモリ２０９は、オペレーティングシステムプログラム（ＯＳ）２１０をはじめ、タッチパネル、デスクトップそれぞれに対応した各種アプリケーション２１２、プリンタードライバーを含むドライバー２１１、各種ファイル等を記憶する。また、コンピュータ１０１が読み取り可能な記憶媒体として機能する。ネットワークＩ／Ｆ２１３は、ネットワーク１０３を介してプリンター１０２、サーバーコンピュータ１０５とＵｐｄａｔｅサーバー１０４に接続され、通信制御処理を行う。
【００１３】
次に、図３を用いて更新制御アプリケーション３００と更新制御サービス３５０の構成について説明する。更新制御アプリケーション３００と更新制御サービス３５０は、クライアントコンピュータ１０１とサーバーコンピュータ１０５の双方で動作し、相互通信を行う。各アプリケーションおよびモジュールについては、外部メモリ２０９に格納されており、必要に応じてＲＡＭ２０２にロードされ、クライアントコンピュータ１０１上のＣＰＵ２０１で実行される。また、更新制御アプリケーション３００と更新制御サービス３５０の同じモジュールに関しては、同一の番号を付与し、既に説明が完了している場合には、特に断りがない限りその詳細な説明を省略する。
【００１４】
更新制御アプリケーション３００の更新制御アプリケーションＵＩ３０１（Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）は、ユーザーからの操作を受け付けたり、更新データ３２０の一覧をディスプレイ２０７に表示などを行う。更新制御指示部３１２は、ユーザーの操作に応じて更新制御サービス３５０に対し、更新制御や情報の取得などの指示を出す。ＵＩデータ取得部３１３は、更新制御サーバ３５０から更新制御アプリケーションＵＩ３０１に表示するのに必要な情報を取得する。
【００１５】
更新制御サービス３５０は、ＯＳにインストールされてバックグラウンドで任意のタイミングで起動と実行がされる。更新データ取得部３０２は、ＯＳに更新データ３２０を要求し、更新データ３２０が存在する場合に取得する。また、クライアントコンピュータ１０１で動作している場合には、サーバーコンピュータ１０５で起動している更新制御サービス３５０に対し更新データ３２０を要求し、取得を行う。更新データ３２０は、更新ソフトウェア３２２とインストールを制御する非表示情報３２１を有し、更新ソフトウェア３２２に対し個々にインストールを行うか否かを管理する。
【００１６】
更新データ３２０は、ＯＳの更新データ生成部３２３によって生成される。更新データ生成部３２３は、ＯＳおよび更新制御アプリケーション３００と更新制御サービス３５０を含むアプリケーションからの要求に応じてＵｐｄａｔｅサーバー１０４から更新ソフトウェア３２２を取得する。すなわち、サーバー上の更新ソフトウェア３２２を取得する。更新ソフトウェア３２２の取得後、更新データ生成部３２３は、非表示情報記憶部３２４から非表示情報３２１を取得し、非表示情報３２１と更新ソフトウェア３２２から更新データ３２０を生成する。この時、更新データ３２０は、インストールされるのではなく、任意のファイルパスに作成のみがなされる。非表示情報３２１がｔｒｕｅに設定されている場合、ＯＳは、更新データ３２０の更新ソフトウェア３２２をインストールしない。また、非表示情報３２１がｆａｌｓｅに設定されている場合、ＯＳは、更新データ３２０の更新ソフトウェア３２２をインストールする。更新データ３２０の非表示情報３２１は、ＯＳによって非表示情報記憶部３２４に記憶される。更新ソフトウェア３２２は、プリンタードライバー３３０等のソフトウェアを内包する。なお、本実施形態では、プリンタードライバー３３０を内包している。
【００１７】
更新データ制御部３０３は、ユーザーの要求に応じて、更新データ３２０の非表示情報３２１の設定の変更を行う。更新データ配信部３０４は、更新制御サービス３５０がサーバーコンピュータ１０５で起動している際に、クライアントコンピュータ１０１の更新制御サービス３５０からの要求に応じて、クライアントコンピュータ１０１に更新データ３２０を送信する。名称登録部３０５は、更新制御アプリケーションＵＩ３０１が受け付けたプリンターモデル名を名称記憶部３０６に書き込む。名称記憶部３０６は、名称登録部３０５によって書き込まれたプリンターモデル名の情報を保持する。名称取得部３０７は、名称記憶部３０６が保持するプリンターモデル名の情報を読み込む。更新データインストール部３０８は、更新データ取得部３０２が取得した更新データ３２０の更新ソフトウェア３２２を、ＯＳにインストールする。更新切り替え部３０９は、ユーザーの要求に応じてレジストリに更新状態情報を書き込む。
【００１８】
更新状態情報３１１は、ソフトウェアの更新処理を制御する情報であり、ＯＳのソフトウェアの更新処理の自動と手動を切り替える。更新状態情報３１１は、０と１の二つの状態を有し、０の状態の場合は手動更新であり、１の状態の場合は自動更新である。プリンタードライバー３３０は、ドライバー２１１の中の１つのプリンター１０２に特化したドライバーである。ドライバー情報３３１は、印刷設定に関する情報やカスタマイズされているか否かの情報などのドライバー固有の情報である。ドライバー構成情報３３２は、プリンタードライバーの構成情報を記載している。具体的には、プリンタードライバーを識別するＰｒｉｎｔｅｒＤｒｉｖｅｒＩＤ、プリンタードライバーが対象としているデバイスを識別するＨＷＩＤ（Ｈａｒｄｗａｒｅ  ＩＤ）、プリンターモデル名やプリンタードライバーのファイル名などが記載されている。
【００１９】
描画部３３３は、Ｗｏｒｄ（商標登録）などを代表するアプリケーションから渡される印刷データからＰＤＬ（Ｐａｇｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）の作成を行う。詳細印刷設定ＵＩ３３４は、ユーザーからの入力を受け付けて印刷設定を変更することができる。なお、詳細印刷設定ＵＩを持たないプリンタードライバー３３０も存在し、この場合、ＯＳが簡易的なＵＩを表示する。プリンタードライバー３３０は、更新ソフトウェア３２２に内包される場合もあり、インストールが行われると図３の右辺に示されるように、ＯＳ上に配置される。
【００２０】
次に、図４および５を用いて更新制御アプリケーション３００の更新アプリケーションＵＩ３０１について説明する。図４は、更新制御アプリケーションＵＩ３０１の模式図である。メインダイアログ４００は、更新制御アプリケーション３００のメインダイアログであり、ユーザーが更新制御アプリケーション３００のアイコンをＯＳのＵＩ上でダブルクリックして起動した際に表示される。更新制御アプリケーション３００は、メインダイアログ４００上にボタンやリストボックスなどのコントロールが表示される構成になっている。メインダイアログ４００は、更新ソフトウェア表示画面（表示手段）４０１を有する。
【００２１】
更新ソフトウェア表示画面４０１は、リスト形式になっており更新データ３２０の一覧を表示する。また、更新ソフトウェア表示画面４０１は、ユーザーがリストの項目をクリックすることで選択することができる。本実施形態では、選択された項目については、色を濃色に変え、選択されていることを示し、再度、ユーザーがクリックすることで濃色が淡色に変わり、選択されていないことをユーザーに示す。
【００２２】
非表示チェックボックス４０２は、非表示チェックボックス４０２の右隣に表示される更新データ３２０の非表示情報３２１に対してｔｒｕｅとｆａｌｓｅを変更（切り替え）することができる。非表示チェックボックス４０２がクリックされ、チェックされた場合は、ｔｒｕｅを表し、チェックされていない場合は、ｆａｌｓｅを表す。更新切り替えトグル４０３がオンになっている場合は、自動更新がオンになっていることを示し、レジストリ３１０の更新状態情報３１１の値を１に書き換えて自動更新をオンにする。オフになっている場合は、レジストリ３１０の更新状態情報３１１の値を０に書き換えて自動更新をオフにする。インストールボタン４０４は、クリックされた際に更新ソフトウェア表示画面４０１で選択されている更新データ３２０が内包する更新ソフトウェア３２２のインストールを行う。更新リストボタン４０５は、クリックされると、ＯＳがＵｐｄａｔｅサーバー１０４から更新ソフトウェア３２２を取得し直した後に、更新データ３２０を生成し直す。その後に、更新制御アプリケーション３００は、更新データ３２０を取得し直し、更新制御ソフトウェア表示画面４０１を再描画する。プリンターモデル名ダイアログ表示ボタン４０６は、クリックされることでプリンターモデル名ダイアログを表示する。
【００２３】
ＯＫボタン４０７は、押された時に、非表示チェックボックス４０２の内容を更新データ３２０の非表示情報３２１に反映し、メインダイアログ４００を閉じる。キャンセルボタン４０９がクリックされることで、更新制御アプリケーション３００は、メインダイアログ４００を閉じて終了する。非表示チェックボックス４０２の内容を更新データ３２０の非表示情報３２１に反映しないでメインダイアログ４００を閉じる。適用ボタン４１０は、クリックされた時に、非表示チェックボックス４０２の内容を更新データ３２０の非表示情報３２１に反映する。ただし、ＯＫボタン４０７と異なりメインダイアログ４００を閉じない。
【００２４】
次に、図５を用いて、プリンターモデル名ダイアログについて説明する。プリンターモデル名ダイアログ４２０は、メインダイアログ４００の上に重なるように表示され、ボタンやリストボックスなどのコントロールが表示される構成になっている。プリンターモデル名リストボックス４２１には、既にインストールされているプリンタードライバーのプリンターモデル名の一覧が表示される。プリンターモデル非表示チェックボックス４２２には、チェックされることで選択されているプリンターモデル名を持つ更新ソフトウェア３２２を内包する更新データ３２０の非表示情報３２１に対し、ｔｒｕｅ及びｆａｌｓｅを設定することができる。非表示チェックボックス４０２をオンにするとチェックされたプリンターモデル名と同じプリンターモデル名のプリンタードライバー３３０を持つ更新データ３２０の非表示情報３２１に対しｔｒｕｅを設定する。非表示チェックボックス４０２をオフにしている場合には、非表示情報３２１に対しｆａｌｓｅを設定する。ＯＫボタン４２３は、クリックされた時にプリンターモデル非表示チェックボックス４２２の値を更新データ３２０の非表示情報３２１に反映して、プリンターモデル名ダイアログ４２０を閉じる。キャンセルボタン４２４は、クリックされた時に、プリンターモデル非表示チェックボックス４２２の値を更新データ３２０の非表示情報３２１に反映させずにプリンターモデル名ダイアログ４２０を閉じる。
【００２５】
次に、図６および７を用いてメインダイアログ表示のフローについて説明する。なお、特に指定がない限り、本フローチャートの主語は更新制御アプリケーション３００である。更新制御アプリケーション３００は、他のシステムやユーザーの要求に応じて外部メモリ２０９からＲＡＭ２０２にロードされ、ＣＰＵ２０１で実行される。
【００２６】
まず、更新制御アプリケーション３００は、マウスでダブルクリックされると、図４に示すメインダイアログ４００を表示する（ステップＳ５００、ステップＳ５０１）。次に、更新制御アプリケーション３００は、メインダイアログ４００を表示した後に更新制御サービス３５０に更新データ取得指示を出し、更新制御サービス３５０から更新データ３２０を取得する（ステップＳ５０２）。そして、更新ソフトウェア表示画面４０１に更新データ３２０の一覧を表示する（ステップＳ５０６）。次に、更新制御アプリケーション３００は、メインダイアログ４００を表示してユーザー入力を受け付ける（ステップＳ５０３）。そして、受け付けたユーザー入力を判断する（ステップＳ５０４）。
【００２７】
非表示チェックボックス４０２がクリックされた場合、非表示チェックボックス４０２の状態を切り替える（ステップＳ５０５）。すなわち、非表示チェックボックス４０２がオンの状態であればオフの状態に切り替え、オフの状態ならばオンの状態に切り替える。非表示チェックボックス４０２の状態を切り替えた後、ステップＳ５０３に戻って、再度、ユーザーの入力を受け付ける。
【００２８】
ステップＳ５０３でインストールボタン４０４がクリックされた場合、更新制御アプリケーション３００は、更新制御サービス３５０にインストール指示を出す（ステップＳ６００）。つまり、更新制御アプリケーション３００は、更新ソフトウェア表示画面４０１上で選択されている更新データ３２０をＯＳにインストールするように、更新制御サービス３５０に指示を出す。そして、ステップＳ５０３に戻って、再度、ユーザーの入力を受け付ける。
【００２９】
ステップＳ５０３でプリンターモデル名ダイアログ表示ボタン４０６がクリックされ場合は、プリンターモデル名ダイアログ４２０を表示する（ステップＳ６０１）。なお、プリンターモデル名ダイアログ４２０の表示のフローについては、後述する。そして、ステップＳ５０３に戻って、再度、ユーザーの入力を受け付ける。
【００３０】
ステップＳ５０３で適用ボタン４１０がクリックされた場合は、非表示チェックボックス４０２の状態を確認し、非表示チェックボックス４０２の値を更新データ３２０の非表示情報３２１に反映するように、指示を出す（ステップＳ６０２）。そして、反映後に、ステップＳ５０３に戻って、再度、ユーザーの入力を受け付ける。
【００３１】
ステップＳ５０３で更新切り替えトグル４０３がクリックされた場合、更新切り替えトグル４０３がＯＮまたはＯＦＦのいずれに変更されるかを判定する（ステップＳ６０３）。更新切り替えトグル４０３がＯＮに変更される場合、更新制御アプリケーション３００は、レジストリ３１０の更新状態情報３１１に対し１を設定し、自動更新を有効にするように更新制御サービス３５０に指示を出す（ステップＳ６０４）。一方、更新切り替えトグル４０３がＯＦＦに変更される場合、更新制御アプリケーション３００は、レジストリ３１０の更新状態情報３１１に対し０を設定する。そして、ＯＳのＷｉｎｄｏｗｓ（登録商標）  Ｕｐｄａｔｅの自動更新を抑制するように更新制御サービス３５０に指示を出す（ステップＳ６０５）。そして、ステップＳ５０３に戻って、再度、ユーザーの入力を受け付ける。
【００３２】
ステップＳ５０３でキャンセルボタン４０９がクリックされた場合、更新制御アプリケーション３００は、メインダイアログ４００を閉じて（ステップＳ６０７）、処理を終了する（ステップＳ６０８）。そして、ステップＳ５０３でＯＫボタン４０７がクリックされた場合、非表示チェックボックス４０２の状態を確認する。そして、非表示チェックボックス４０２の値を更新データ３２０の非表示情報３２１に反映するように更新制御サービス３５０に指示を出す（ステップＳ６０６）。次に、メインダイアログ４００を閉じて（ステップＳ６０７）、処理を終了する（ステップＳ６０８）。
【００３３】
次に、図８を用いて、図７のステップＳ６０１に示すプリンターモデル名ダイアログ４２０の表示のフローについて説明する。なお、特に指定がない限り、本フローチャートの主語は更新制御アプリケーション３００である。更新制御アプリケーション３００は、他のシステムやユーザーの要求に応じて外部メモリ２０９からＲＡＭ２０２にロードされ、ＣＰＵ２０１で実行される。
【００３４】
まず、更新制御アプリケーション３００は、プリンターモデル名ダイアログ４２０を表示する（ステップＳ７０１）。次に、更新制御アプリケーション３００は、ＯＳからインストールされているプリンタードライバー３３０のプリンターモデル名の一覧を取得する（ステップＳ７０２）。次に、更新制御アプリケーション３００は、ＯＳから取得したプリンターモデル名の一覧をプリンターモデル名リストボックス４２１に表示し（ステップＳ７０３）、ユーザー入力を受け付ける（ステップＳ７０４）。そして、受け付けたユーザー入力を判断する（ステップＳ７０５）。
【００３５】
プリンターモデル非表示チェックボックス４２２がクリックされた場合、プリンターモデル非表示チェックボックス４２２の状態を切り替える（ステップＳ７０６）。すなわち、プリンターモデル非表示チェックボックス４２２の状態がオンであれば、オフの状態に切り替え、オフの状態ならばオンの状態に切り替える。プリンターモデル非表示チェックボックス４２２の状態を切り替えた後、ステップＳ７０４に戻って、再度、ユーザーの入力を受け付ける。
【００３６】
ステップＳ７０４でＯＫボタン４２３がクリックされた場合、更新データ３２０の非表示情報３２１にプリンターモデル非表示チェックボックス４２２の値を反映させるように、更新制御サービス３５０に指示を出す（ステップＳ７０７）。そして、プリンターモデル名ダイアログ４２０を閉じて（ステップＳ７０８）、処理を終了する（ステップＳ７０９）。そして、ステップＳ７０４でキャンセルボタン４２４がクリックされた場合、そのままプリンターモデル名ダイアログ４２０を閉じて（ステップＳ７０８）、処理を終了する（ステップＳ７０９）。
【００３７】
図９を用いて更新制御サービス３５０が、更新制御アプリケーション３００からの指示を受け付けて動作するフローについて説明する。なお、本フローで説明する更新制御サービス３５０は、ＯＳのバックグラウンドでサービスとして起動され、ＯＳが終了するまで起動し続ける。また、特に指定がない限り、本フローチャートの主語は更新制御サービス３５０である。更新制御サービス３５０は、他のシステムやユーザーの要求に応じて外部メモリ２０９からＲＡＭ２０２にロードされ、ＣＰＵ２０１で実行される。
【００３８】
まず、更新制御サービス３５０は、更新制御アプリケーション３００からの指示を受け付ける（ステップＳ１１００、ステップＳ１１０１）。次に、受け付けた指示の判断を行う（ステップＳ１１０２）。受け付けた指示がインストール指示である場合、更新制御サービス３５０は、更新制御アプリケーション３００から指示された更新ソフトウェア３２２のインストールを行う（ステップＳ１１０３）。そして、ステップＳ１１０１に戻って、再度、指示を受け付ける。受け付けた指示が更新データ３２０の反映指示である場合、更新制御サービス３５０は、指示を受けた更新データ３２０の非表示情報３２１に、更新制御アプリケーション３００から指示を受けた設定を反映する（ステップＳ１１０４）。そして、ステップＳ１１０１に戻って、再度、指示を受け付ける。受け付けた指示が更新状態情報の変更指示である場合、更新制御サービス３５０は、更新状態情報３１１に更新制御アプリケーション３００から指示を受けた設定を反映する（ステップＳ１１０５）。そして、ステップＳ１１０１に戻って、再度、指示を受け付ける。
【００３９】
受け付けた指示が更新データの取得指示である場合、更新制御サービス３５０は、Ｕｐｄａｔｅサーバー１０４から更新ソフトウェア３２２を取得し直して、更新データ３２０を生成し直す（ステップＳ１１０６）。次に、更新データ３２０を更新制御サービス３５０および更新制御アプリケーション３００に送信する（ステップＳ１１０７）。そして、ステップＳ１１０１に戻って、再度、指示を受け付ける。
【００４０】
次に、図１０を用いて、更新制御サービス３５０の更新制御のフローについて説明する。なお、本フローで説明する更新制御サービス３５０は、ＯＳのバックグラウンドでサービスとして起動され、本フローの処理は任意の時間で実行される。また、特に指定がない限り、本フローチャートの主語は更新制御サービス３５０である。更新制御サービス３５０は、他のシステムやユーザーの要求に応じて外部メモリ２０９からＲＡＭ２０２にロードされ、ＣＰＵ２０１で実行される。
【００４１】
まず、更新制御サービス３５０は、名称記憶部３０６に記憶してあるプリンターモデル名を読み込む（ステップＳ８００、ステップＳ８０１）。次に、更新制御サービス３５０は、ＯＳから更新データ３２０の一覧（リスト）を取得する（ステップＳ８０２）。そして、更新制御アプリケーション３００は、取得した更新データ３２０のリスト内に名称記憶部３０６に記憶してあったプリンターモデル名と一致する更新データ３２０が存在するか否かを判定する（ステップＳ８０３）。一致する更新データ３２０が存在する場合（ＹＥＳ）、プリンターモデル名が一致した更新データ３２０の非表示情報３２１をｔｒｕｅに設定し（ステップＳ８０４）、ステップＳ８０５に進む。一方、名称記憶部３０６に記憶してあるプリンターモデル名が一致しない更新データ３２０が存在する場合（ＮＯ）、そのままステップＳ８０５に進む。そして、更新データ３２０の非表示情報３２１の状態を確認する（ステップＳ８０５）。すなわち、更新データ３２０の非表示情報３２１がｆａｌｓｅに設定されているか否かを判定する。
【００４２】
非表示情報３２１がｆａｌｓｅに設定されている場合（ＹＥＳ）、更新データ３２０の中のインストールされているプリンタードライバー３３０とプリンターモデル名が一致するプリンタードライバー３３０をインストールする（ステップＳ８０６）。すなわち、そして、処理を終了する（ステップＳ８０７）。一方、非表示情報３２１がｆａｌｓｅに設定されていない場合（ＮＯ）、すなわち非表示情報３２１がｔｒｕｅに設定されている場合、何もしないで処理を終了する（ステップＳ８０７）。
【００４３】
なお、本実施形態では、プリンタードライバーの更新について説明した。しかしながら、更新制御サービス３５０が取得とインストールをする更新データ３２０の更新ソフトウェア３２２は、プリンタードライバー３３０に限らず、その他どのようなソフトウェアであってもよい。以上により、カスタマイズドライバーのプリンターモデル名を事前に登録しておくことで、カスタマイズされた機能が自動で更新されることを防ぐことができる。
【００４４】
（第２実施形態）
第１実施形態では、カスタマイズドライバーの更新を防ぐために、事前にカスタマイズドライバーのプリンターモデル名を名称記憶部３０６に記憶する必要があった。これに対して、本実施形態では、ドライバー情報３３１からカスタマイズ情報を確認することで事前のカスタマイズドライバーの自動更新を防ぐ方法について図１１を用いて説明する。
【００４５】
なお、特に指定がない限り、本フローチャートの主語は更新制御サービス３５０である。更新制御サービス３５０は、他のシステムやユーザーの要求に応じて外部メモリ２０９からＲＡＭ２０２にロードされ、ＣＰＵ２０１で実行される。また、本フローで説明する更新制御サービス３５０は、ＯＳのバックグラウンドでサービスとして起動され、本フローの処理は任意の時間で実行される。
【００４６】
まず、更新制御サービス３５０は、ＯＳにインストールされている全てのプリンタードライバー３３０のドライバー情報３３１を読み込み、カスタマイズ情報３３１１を取得する（ステップＳ９００、ステップＳ９０１）。カスタマイズ情報３３１１はプリンタードライバー３３０がカスタマイズドライバーであるか否かを示す情報である。プリンタードライバー３３０がカスタマイズドライバーであるか否かはインストール時点で決まっているため、カスタマイズ情報３３１１もインストール時点で既に設定されている。ドライバー情報３３１は、プリンタードライバー３３０のインストール時に配置されるため、カスタマイズ情報３３１１もまた、プリンタードライバー３３０のインストール時に配置される。次に、更新制御サービス３５０は、ＯＳから更新データ３２０の一覧を取得する（ステップＳ９０２）。次に、カスタマイズ情報３３１１を基にインストールされているプリンタードライバー３３０の中にカスタマイズドライバーが存在するか否かを判定する（ステップＳ９０３）。具体的にはカスタマイズ情報３３１１がプリンタードライバー３３０はカスタマイズドライバーであることを示しているか否かによって判定する。すなわち、カスタマイズドライバーがインストールされているか否か判定する。
【００４７】
カスタマイズドライバーが存在する場合（ＹＥＳ）、カスタマイズドライバーと同一のＨＷＩＤ（識別情報）のプリンタードライバー３３０を有する更新データ３２０の非表示情報３２１に対しｔｒｕｅを設定し（ステップＳ９０４）、ステップＳ９０５に進む。一方、カスタマイズドライバーが存在しない場合（ＮＯ）、何もせずにステップＳ９０５に進む。そして、更新データ３２０の中のインストールされているプリンタードライバー３３０とＨＷＩＤが一致するプリンタードライバー３３０の非表示情報３２１を確認する（ステップＳ９０５）。すなわち、更新データ３２０の非表示情報３２１がｆａｌｓｅであるか否かを判定する。更新データ３２０の非表示情報３２１がｆａｌｓｅである場合（ＹＥＳ）、更新データ３２０の更新ソフトウェア３２２をインストールし（ステップＳ９０６）、処理を終了する（ステップＳ９０７）。一方、更新データ３２０の非表示情報３２１がｆａｌｓｅでない場合（ＮＯ）、何もしないで処理を終了する（ステップＳ９０７）。
【００４８】
なお、本実施形態では、プリンタードライバーの更新について説明した。しかしながら、更新制御サービス３５０が取得と、インストールをする更新データ３２０の更新ソフトウェア３２２は、プリンタードライバー３３０に限らず、その他どのようなソフトウェアであってもよい。以上により、ドライバー情報３３１からカスタマイズ情報を確認することで事前にプリンターモデル名の名称登録をすることなくカスタマイズドライバーの自動更新を防ぐことができる。
【００４９】
（第３実施形態）
本実施形態では、サーバーコンピュータ（他の情報処理装置）１０５のカスタマイズドライバーを共有プリンターとしてインストールする場合について説明する。クライアントコンピュータ１０１に共有プリンターをインストールする場合、通常は、クライアントコンピュータ１０１のＯＳは、Ｕｐｄａｔｅサーバー１０４に同一のＰｒｉｎｔｅｒＤｒｉｖｅｒＩＤを持つプリンタードライバーを探索する。そして、Ｕｐｄａｔｅサーバー１０４に同一のＰｒｉｎｔｅｒＤｒｉｖｅｒＩＤを持つプリンタードライバーが存在すると、Ｕｐｄａｔｅサーバー１０４のプリンタードライバーをインストールしてしまう。つまり、サーバーコンピュータ１０５に存在するカスタマイズドライバーではないプリンタードライバーをインストールしてしまい、クライアントコンピュータ１０１の共有プリンターがカスタマイズドライバーではなくなってしまう。
【００５０】
つまり、第１実施形態および第２実施形態で説明した更新制御サービス３５０によって、Ｕｐｄａｔｅサーバー１０４のプリンタードライバーのインストールが行われてしまう。そして、この場合、ＯＳが代わりに、サーバーコンピュータ１０５上のカスタマイズドライバーを基にした暫定プリンタードライバーのインストールを行うが、暫定プリンタードライバーは機能が著しく制限されてしまう。
【００５１】
そこで、本実施形態では、更新制御サービス３５０が、Ｕｐｄａｔｅサーバー１０４ではなく、サーバーコンピュータ１０５のカスタマイズドライバーをダウンロードして、インストールする方法について、図１２および１３を用いて説明する。まず、クライアントコンピュータ１０１上で動作する更新制御サービス３５０について図１２を用いて説明する。
【００５２】
なお、本フローで説明する更新制御サービス３５０は、ＯＳのバックグラウンドでサービスとして起動される。また、特に指定がない限り、本フローチャートの主語はクライアントコンピュータ１０１上で起動している更新制御サービス３５０である。更新制御サービス３５０は、他のシステムやユーザーの要求に応じて外部メモリ２０９からＲＡＭ２０２にロードされ、ＣＰＵ２０１で実行される。さらに、既に説明したステップと同じ処理については、既に説明したステップの番号と同一の番号を付与し、特に断りが無い限り説明は省略する。
【００５３】
図１２（Ａ）のフローチャートは、図１１のステップＳ９００〜ステップＳ９０４と同様の処理であるため、説明を省略する。ステップＳ９０４の後、更新制御サービス３５０は、カスタマイズドライバーのドライバー構成情報３３２を取得する（ステップＳ１０００）。次に、ドライバー構成情報３３２のプリンターモデル名の中に、「Ｍｉｃｒｏｓｏｆｔ  ｅｎｈａｎｃｅｄ  Ｐｏｉｎｔ  ａｎｄ  Ｐｒｉｎｔ  ｄｒｉｖｅｒ」となっているプリンタードライバーが存在するか否かを確認する（ステップＳ１００１）。すなわち、共有ドライバーが存在するか否かを判定する。従って、更新制御サービス３５０は、プリンターモデル名が「Ｍｉｃｒｏｓｏｆｔ  ｅｎｈａｎｃｅｄ  Ｐｏｉｎｔ  ａｎｄ  Ｐｒｉｎｔ  ｄｒｉｖｅｒ」である場合、共有プリンタードライバーと判定する。共有プリンタードライバーが存在する場合（ＹＥＳ）、ＯＳからサーバーコンピュータ１０５のＩＰアドレスを取得し、サーバーコンピュータ１０５で起動されている更新制御サービス３５０からＨＷＩＤが一致するプリンタードライバーを要求する。そして、プリンタードライバーを取得する（ダウンロードする）（ステップＳ１００２）。次に、サーバーコンピュータ１０５から取得したプリンタードライバーをインストールする（ステップＳ１００３）。続くステップＳ９０５〜ステップＳ９０７については、図１１で説明した処理と同様であるため、説明を省略する。
【００５４】
次に、図１３を用いてサーバーコンピュータ１０５上で動作する更新制御サービス３５０について説明する。なお、本フローで説明する更新制御サービス３５０は、ＯＳのバックグラウンドでサービスとして起動され、ＯＳが終了するまで起動し続ける。特に指定がない限り、本フローチャートの主語はサーバーコンピュータ１０５上で起動している更新制御サービス３５０である。更新制御サービス３５０は、他のシステムやユーザーの要求に応じて外部メモリ２０９からＲＡＭ２０２にロードされ、ＣＰＵ２０１で実行される。さらに、既に説明したステップと同じ処理については、既に説明したステップの番号と同一の番号を付与し、特に断りが無い限り説明を省略する。
【００５５】
処理が開始されると、更新制御サービス３５０は、クライアントコンピュータ１０１上の更新制御サービス３５０および更新制御アプリケーション３００から指示を受け付ける（ステップＳ１２００）。次に、受け付けた指示がプリンタードライバーの取得指示である場合、ステップＳ１２０１に進む。そして、更新制御サービス３５０は、クライアントコンピュータ１０１上の更新制御サービス３５０から指示されたＨＷＩＤと同じＨＷＩＤのプリンタードライバーを持つ更新ソフトウェア３２２を探索する（ステップＳ１２０１）。次に、クライアントコンピュータ１０１上の更新制御サービス３５０に、ＨＷＩＤが一致する更新ソフトウェア３２２を送信する（ステップＳ１２０２）。そして、ステップＳ１２００に戻って、再度、指示を受け付ける。
【００５６】
以上、本実施形態によれば、共有プリンターでカスタマイズドライバーをインストールする際に、サーバーコンピュータ１０５からダウンロードして、インストールすることができる。これにより、著しく機能を制限されることなくカスタマイズドライバーをインストールすることができる。
【００５７】
（その他の実施例）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【００５８】
また、本発明の好ましい実施形態について説明したが、本発明は、これらの実施形態に限定されず、その要旨の範囲内で種々の変形および変更が可能である。
【図１】
2017162070.tif 000003
【図２】
2017162070.tif 000004
【図３】
2017162070.tif 000005
【図４】
2017162070.tif 000006
【図５】
2017162070.tif 000007
【図６】
2017162070.tif 000008
【図７】
2017162070.tif 000009
【図８】
2017162070.tif 000010
【図９】
2017162070.tif 000011
【図１０】
2017162070.tif 000012
【図１１】
2017162070.tif 000013
【図１２】
2017162070.tif 000014
【図１３】
2017162070.tif 000015