(57)【要約】【課題】情報処理装置の使用環境に応じて、制御プログラムの更新を適切に行うことができる情報処理システムを提供する。【解決手段】情報処理システム１００において、サーバ４は、アプリケーションＡ等と制御プログラムＤ１等とに関する適合性情報を管理する管理手段４Ａと、ＰＣ１等から送信される制御プログラムＤ１等の更新の可否に関する問い合わせ情報であって、ＰＣ１等に係るアプリケーションＡ等の情報と、ＰＣ１等に係る制御プログラムＤ１等の情報とを含む情報を受信する受信手段Ｓ２０１と、管理手段４Ａに管理された適合性情報から、問い合わせ情報に含まれる制御プログラムＤ１等の情報に基づいて特定される適合性情報を参照し、制御プログラムＤ１等の更新の可否を判断する判断手段Ｓ２０３、…と、判断手段Ｓ２０３、…の判断結果を内容とする応答情報を設定して、ＰＣ１等に対して応答する応答手段Ｓ２０４、…とを備える。【選択図】図１
2010186279.tif 000002
【特許請求の範囲】
【請求項１】
オペレーティングシステム上で少なくとも１つのアプリケーションを起動して情報処理を行う情報処理装置と、前記情報処理装置と接続された周辺装置と、前記情報処理装置と接続されたサーバとを備えた情報処理システムであって、
前記情報処理装置は、前記情報処理を行う際に前記アプリケーションと連携して前記周辺装置を動作させる制御プログラム、あるいは前記周辺装置に転送する制御プログラムを前記サーバから取得可能であり、
前記サーバには、前記制御プログラムの更新プログラムが前記情報処理装置に対して提供可能な状態で格納されており、
前記サーバは、前記オペレーティングシステム又は前記アプリケーションと、前記更新プログラムとの間の適合性に関する情報である適合性情報を管理する管理手段と、
前記情報処理装置から送信される前記制御プログラムの更新の可否に関する問い合わせ情報であって、前記情報処理装置に搭載されている前記オペレーティングシステム及び／又は前記アプリケーションの情報と、前記情報処理装置又は前記周辺装置に搭載されている前記制御プログラムの情報とを含む前記問い合わせ情報を受信する受信手段と、
前記受信手段により前記問い合わせ情報が受信された場合、前記管理手段により管理されている前記適合性情報の中から、前記問い合わせ情報に含まれる前記制御プログラムの情報に基づいて特定される適合性情報を参照し、前記制御プログラムの更新の可否を判断する判断手段と、
前記判断手段の判断結果を内容とする応答情報を設定して、前記情報処理装置に対して応答する応答手段とを備えることを特徴とする情報処理システム。
【請求項２】
前記管理手段は、前記更新プログラムとの適合性が悪いアプリケーションを識別するためのアプリケーション識別情報を前記適合性情報として管理しており、
前記アプリケーションの情報には前記アプリケーション識別情報が含まれ、
前記判断手段は、前記問い合わせ情報に含まれる前記アプリケーションの情報が示す前記アプリケーション識別情報と、前記判断手段により参照される適合性情報が示す前記更新プログラムとの適合性が悪いアプリケーション識別情報とが一致する場合、前記制御プログラムの更新を否と判断することを特徴とする請求項１記載の情報処理システム。
【請求項３】
前記管理手段は、前記更新プログラムとの適合性が悪いアプリケーションのバージョン情報を前記適合性情報として管理しており、
前記アプリケーションの情報にはさらに前記アプリケーションのバージョン情報が含まれ、
前記判断手段は、前記問い合わせ情報に含まれる前記アプリケーションの情報が示す前記アプリケーション識別情報と、前記判断手段により参照される適合性情報が示す前記更新プログラムとの適合性が悪いアプリケーション識別情報とが一致する場合であっても、前記問い合わせ情報に含まれる前記アプリケーションの情報が示す前記アプリケーションのバージョン情報と、前記判断手段により参照される適合性情報が示す前記更新プログラムとの適合性が悪いアプリケーションのバージョン情報とが一致しない場合、更新を可と判断することを特徴とする請求項２記載の情報処理システム。
【請求項４】
前記管理手段は、前記更新プログラムとの適合性が悪いオペレーティングシステムの情報を前記適合性情報として管理しており、
前記判断手段は、前記問い合わせ情報に含まれる前記アプリケーションの情報が示す前記アプリケーション識別情報と、前記判断手段により参照される適合性情報が示す前記更新プログラムとの適合性が悪いアプリケーション識別情報とが一致する場合であっても、前記問い合わせ情報に含まれる前記オペレーティングシステムの情報と、前記判断手段により参照される適合性情報が示す前記更新プログラムとの適合性が悪いオペレーティングシステムの情報とが一致しない場合、更新を可と判断することを特徴とする請求項２又は３記載の情報処理システム。
【請求項５】
前記管理手段は、前記更新プログラムとの適合性が悪いアプリケーションの開発元情報を前記適合性情報として管理しており、
前記アプリケーションの情報にはさらに前記アプリケーションの開発元情報が含まれ、
前記判断手段は、前記問い合わせ情報に含まれる前記アプリケーションの情報が示す前記アプリケーション識別情報と、前記判断手段により参照される適合性情報が示す前記更新プログラムとの適合性が悪いアプリケーション識別情報とが一致しない場合、及び前記問い合わせ情報に含まれる前記アプリケーションの情報が示す前記アプリケーションのバージョン情報と、前記判断手段により参照される適合性情報が示す前記更新プログラムとの適合性が悪いアプリケーションのバージョン情報とが一致しない場合のどちらかの場合であっても、前記問い合わせ情報に含まれる前記アプリケーションの情報が示す前記アプリケーションの開発元情報と、前記判断手段により参照される適合性情報が示す前記更新プログラムとの適合性が悪いアプリケーションの開発元情報とが一致しない場合は更新を可と判断し、一致する場合は更新が可であるが更新の要否の問い合わせが必要であると判断することを特徴とする請求項２乃至４のいずれか１項記載の情報処理システム。
【請求項６】
前記応答手段は、前記判断手段の前記更新を可とする判断結果に基づいて、前記更新プログラムが存在していること、及び前記更新プログラムの更新の要否の問い合わせを内容とする応答情報を設定することを特徴とする請求項３乃至５のいずれか１項記載の情報処理システム。
【請求項７】
前記応答手段は、前記判断手段の前記更新を可とする判断結果に基づいて、前記更新プログラムが存在していること、及び前記更新プログラムの自動送信を内容とする応答情報を設定することを特徴とする請求項３乃至５のいずれか１項記載の情報処理システム。
【請求項８】
オペレーティングシステム上で少なくとも１つのアプリケーションを起動して情報処理を行う情報処理装置と、前記情報処理装置と接続された周辺装置と、前記情報処理装置と接続されたサーバとを備えた情報処理システムに搭載されるプログラムであって、
前記情報処理装置は、前記情報処理を行う際に前記アプリケーションと連携して前記周辺装置を動作させる制御プログラム、あるいは前記周辺装置に転送する制御プログラムを前記サーバから取得可能であり、
前記サーバには、前記制御プログラムの更新プログラムが前記情報処理装置に対して提供可能な状態で格納されており、
前記サーバを、前記オペレーティングシステム又は前記アプリケーションと、前記更新プログラムとの間の適合性に関する情報である適合性情報を管理する管理手段と、
前記情報処理装置から送信される前記制御プログラムの更新の可否に関する問い合わせ情報であって、前記情報処理装置に搭載されている前記オペレーティングシステム及び／又は前記アプリケーションの情報と、前記情報処理装置又は前記周辺装置に搭載されている前記制御プログラムの情報とを含む前記問い合わせ情報を受信する受信手段と、
前記受信手段により前記問い合わせ情報が受信された場合、前記管理手段により管理されている前記適合性情報の中から、前記問い合わせ情報に含まれる前記制御プログラムの情報に基づいて特定される適合性情報を参照し、前記制御プログラムの更新の可否を判断する判断手段と、
前記判断手段の判断結果を内容とする応答情報を設定して、前記情報処理装置に対して応答する応答手段として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は情報処理システム及びプログラムに関する。
【背景技術】
【０００２】
特許文献１に従来の情報処理システムの例が開示されている。この情報処理システムは、情報処理を行う情報処理装置と、情報処理装置と接続されたプリンタ等の周辺装置と、情報処理装置と接続されたサーバとを備えている。
【０００３】
情報処理装置には、周辺装置を動作させる制御プログラムとしてのデバイスドライバが格納されている。一方、サーバには、デバイスドライバの少なくとも一部となるコアプログラムが情報処理装置に対して提供可能な状態で格納されている。
【０００４】
この情報処理システムでは、情報処理装置上で周辺装置における外部処理の実行を指示すると、デバイスドライバがサーバから最新のコアプログラムを自動的にダウンロードして、周辺装置に外部処理を実行させる。こうして、この情報処理システムでは、周辺装置の利用時にデバイスドライバを自動的に更新して処理を行うようになっている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００３−１３１９７６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかし、上記従来の情報処理システムのように、周辺装置を動作させる制御プログラムを自動的に最新のものに更新してしまうと、情報処理装置で使用されるＯＳやアプリケーション等の使用環境によっては不具合が発生してしまう場合がある。つまり、最新の制御プログラムが、情報処理装置において必ずしも適切に動作するとは限らない。
【０００７】
具体例としては、情報処理装置において、アプリケーションと連携して動作するデバイスドライバは、販売されている多数のアプリケーションとの適合性が良くなるように作成されているものの、中には適合性が悪いアプリケーションとデバイスドライバとの組み合わせが存在し得る。そして、情報処理装置において使用されるアプリケーションは、販売されている多数のアプリケーションから、ユーザによって任意に選択される。このため、デバイスドライバが自動的に更新された結果として、情報処理装置内に適合性が悪いアプリケーションとデバイスドライバとの組み合わせが存在することになれば、そのアプリケーションとデバイスドライバとが同時に使用されることにより、不具合が生じる可能性が高くなる。このような場合には、元の古いバージョンのデバイスドライバに戻す作業が余計に必要となって、ユーザの手間が増えてしまう。
【０００８】
同様の問題が、周辺装置内で作動する制御プログラムと、情報処理装置の使用環境（オペレーティングシステム等）との間においても発生する可能性がある。
【０００９】
本発明は、上記従来の実情に鑑みてなされたものであって、情報処理装置の使用環境に応じて、制御プログラムの更新を適切に行うことができる情報処理システムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明の情報処理システムは、オペレーティングシステム上で少なくとも１つのアプリケーションを起動して情報処理を行う情報処理装置と、前記情報処理装置と接続された周辺装置と、前記情報処理装置と接続されたサーバとを備えた情報処理システムであって、
前記情報処理装置は、前記情報処理を行う際に前記アプリケーションと連携して前記周辺装置を動作させる制御プログラム、あるいは前記周辺装置に転送する制御プログラムを前記サーバから取得可能であり、
前記サーバには、前記制御プログラムの更新プログラムが前記情報処理装置に対して提供可能な状態で格納されており、
前記サーバは、前記オペレーティングシステム又は前記アプリケーションと、前記更新プログラムとの間の適合性に関する情報である適合性情報を管理する管理手段と、
前記情報処理装置から送信される前記制御プログラムの更新の可否に関する問い合わせ情報であって、前記情報処理装置に搭載されている前記オペレーティングシステム及び／又は前記アプリケーションの情報と、前記情報処理装置又は前記周辺装置に搭載されている前記制御プログラムの情報とを含む前記問い合わせ情報を受信する受信手段と、
前記受信手段により前記問い合わせ情報が受信された場合、前記管理手段により管理されている前記適合性情報の中から、前記問い合わせ情報に含まれる前記制御プログラムの情報に基づいて特定される適合性情報を参照し、前記制御プログラムの更新の可否を判断する判断手段と、
前記判断手段の判断結果を内容とする応答情報を設定して、前記情報処理装置に対して応答する応答手段とを備えることを特徴とする（請求項１）。
【００１１】
本発明の情報処理システムによれば、情報処理装置に搭載されているオペレーティングシステム（以下、単に「ＯＳ」という。）及び／又はアプリケーションの情報と、情報処理装置又は周辺装置に搭載されている制御プログラムの情報とを含む問い合わせ情報をサーバ側で受信し、その問い合わせ情報の内容と、管理手段が管理する適合性情報とを照らし合わせて、制御プログラムの更新の可否を判断する。適合性情報とは、例えば、更新プログラムと、情報処理装置に搭載されているオペレーティングシステム及び／又はアプリケーションとの組み合わせでは不具合がおきるというマイナス情報や、その組み合わせではパフォーマンスが向上する等のプラス情報等である。そして、その判断結果を内容とする応答情報を適宜設定し、情報処理装置に応答する。その結果、情報処理装置側では、応答情報を受信して、その応答情報の内容に基づいて制御プログラムの更新を適切に行うことができる。
【００１２】
したがって、本発明の情報処理システムによれば、情報処理装置の使用環境に応じて、制御プログラムの更新を適切に行うことができる。
【００１３】
本発明の情報処理システムにおいて、管理手段は、更新プログラムとの適合性が悪いアプリケーションを識別するためのアプリケーション識別情報を適合性情報として管理しており、アプリケーションの情報にはアプリケーション識別情報が含まれ、判断手段は、問い合わせ情報に含まれるアプリケーションの情報が示すアプリケーション識別情報と、判断手段により参照される適合性情報が示す更新プログラムとの適合性が悪いアプリケーション識別情報とが一致する場合、制御プログラムの更新を否と判断するものであることが望ましい（請求項２）。
【００１４】
このような構成では、適合性情報として管理されている適合性の悪いアプリケーションのアプリケーション識別情報（例えば、アプリケーションの名称や識別子（ＩＤ））と、問い合わせ情報に含まれるアプリケーション識別情報とが一致する場合に、制御プログラムを更新してしまうと、返って不具合を生じる可能性が高くなる。そこで、このような場合は更新させないようにすることで、情報処理装置において制御プログラムの更新により不具合が生じることを防止できる。
【００１５】
本発明の情報処理システムにおいて、管理手段は、更新プログラムとの適合性が悪いアプリケーションのバージョン情報を適合性情報として管理しており、アプリケーションの情報にはさらにアプリケーションのバージョン情報が含まれ、判断手段は、問い合わせ情報に含まれるアプリケーションの情報が示すアプリケーション識別情報と、判断手段により参照される適合性情報が示す更新プログラムとの適合性が悪いアプリケーション識別情報とが一致する場合であっても、問い合わせ情報に含まれるアプリケーションの情報が示すアプリケーションのバージョン情報と、判断手段により参照される適合性情報が示す更新プログラムとの適合性が悪いアプリケーションのバージョン情報とが一致しない場合、更新を可と判断するものであることが望ましい（請求項３）。
【００１６】
このような構成では、適合性情報として管理されている適合性の悪いアプリケーションのバージョン情報と、問い合わせ情報に含まれるアプリケーションのバージョン情報とが一致する場合に、制御プログラムを更新してしまうと、特定のアプリケーションにおける特定のバージョンに限って不具合を生じる可能性が高くなる。そこで、このような場合は更新させないようにすることで、情報処理装置において制御プログラムの更新により不具合が生じることを防止できる。一方、適合性情報として管理されている適合性の悪いアプリケーションのバージョン情報と、問い合わせ情報に含まれるアプリケーションのバージョン情報とが一致しない場合には、制御プログラムを更新しても不具合を生じる可能性が低いので、このような場合は更新を制限しない。これにより、情報処理装置において制御プログラムの更新により不具合が生じることを確実に防止しつつ、更新に問題のない制御プログラムについては提供することが可能となる。
【００１７】
本発明の情報処理システムにおいて、管理手段は、更新プログラムとの適合性が悪いオペレーティングシステムの情報を適合性情報として管理しており、判断手段は、問い合わせ情報に含まれるアプリケーションの情報が示すアプリケーション識別情報と、判断手段により参照される適合性情報が示す更新プログラムとの適合性が悪いアプリケーション識別情報とが一致する場合であっても、問い合わせ情報に含まれるオペレーティングシステムの情報と、判断手段により参照される適合性情報が示す更新プログラムとの適合性が悪いオペレーティングシステムの情報とが一致しない場合、更新を可と判断するものであることが望ましい（請求項４）。
【００１８】
このような構成では、適合性情報として管理されている適合性の悪いＯＳの情報と、問い合わせ情報に含まれるＯＳとが一致する場合に、制御プログラムを更新してしまうと、返って不具合を生じる可能性が高くなる。そこで、このような場合は更新させないようにすることで、情報処理装置において制御プログラムの更新により不具合が生じることを一層確実に防止できる。
【００１９】
本発明の情報処理システムにおいて、管理手段は、更新プログラムとの適合性が悪いアプリケーションの開発元情報を適合性情報として管理しており、アプリケーションの情報にはさらにアプリケーションの開発元情報が含まれ、判断手段は、問い合わせ情報に含まれるアプリケーションの情報が示すアプリケーション識別情報と、判断手段により参照される適合性情報が示す更新プログラムとの適合性が悪いアプリケーション識別情報とが一致しない場合、及び問い合わせ情報に含まれるアプリケーションの情報が示すアプリケーションのバージョン情報と、判断手段により参照される適合性情報が示す更新プログラムとの適合性が悪いアプリケーションのバージョン情報とが一致しない場合のどちらかの場合であっても、問い合わせ情報に含まれるアプリケーションの情報が示すアプリケーションの開発元情報と、判断手段により参照される適合性情報が示す更新プログラムとの適合性が悪いアプリケーションの開発元情報とが一致しない場合は更新を可と判断し、一致する場合は更新が可であるが更新の要否の問い合わせが必要であると判断するものであることが望ましい（請求項５）。
【００２０】
経験則として、更新プログラムとの適合性が悪いアプリケーションと同じ開発元により開発されたアプリケーションも、同様に更新プログラムとの適合性が悪い可能性がある。
【００２１】
そこで、このような構成では、適合性情報として管理されている適合性の悪いアプリケーションの開発元情報と、問い合わせ情報に含まれるアプリケーションの開発元情報とが一致する場合に、制御プログラムを更新してしまうと、不具合を生じる可能性があるが、このような場合は制御プログラムを更新する前に、更新の要否をユーザに問い合わせる、といった対応をとることができる。したがって、ユーザの判断に基づいて更新プログラムをサーバが提供するか否かを決定することができる。一方、適合性情報として管理されている適合性の悪いアプリケーションの開発元情報と、問い合わせ情報に含まれるアプリケーションの開発元情報とが一致しない場合には、制御プログラムを更新しても不具合を生じる可能性が低いので、このような場合は更新を制限しない。これにより、情報処理装置において制御プログラムの更新により不具合が生じることを一層確実に防止しつつ、ユーザの判断に基づいて、更新に問題のない制御プログラムについては提供することが可能となる。
【００２２】
本発明の情報処理システムにおいて、応答手段は、判断手段の更新を可とする判断結果に基づいて、更新プログラムが存在していること、及び更新プログラムの更新の要否の問い合わせを内容とする応答情報を設定するものであることが望ましい（請求項６）。
【００２３】
このような構成によれば、更新を可と判断した場合に、更新プログラムが存在していること、及び更新プログラムの更新の要否の問い合わせを内容とする応答情報が情報処理装置に送信されるため、情報処理装置側で更新プログラムの更新の要否を決定でき、情報処理装置の使用環境に応じて、制御プログラムの更新をより適切に行うことができる。
【００２４】
本発明の情報処理システムにおいて、応答手段は、判断手段の更新を可とする判断結果に基づいて、更新プログラムが存在していること、及び更新プログラムの自動送信を内容とする応答情報を設定するものであることが望ましい（請求項７）。
【００２５】
このような構成によれば、更新を可と判断した場合に更新プログラムを自動的に更新できるので、情報処理装置側で更新プログラムの更新の要否を決定するための処理、さらには、情報処理装置のユーザが更新プログラムをサーバから取得する作業を省くことができる。
【００２６】
本発明のプログラムは、オペレーティングシステム上で少なくとも１つのアプリケーションを起動して情報処理を行う情報処理装置と、前記情報処理装置と接続された周辺装置と、前記情報処理装置と接続されたサーバとを備えた情報処理システムに搭載されるプログラムであって、
前記情報処理装置は、前記情報処理を行う際に前記アプリケーションと連携して前記周辺装置を動作させる制御プログラム、あるいは前記周辺装置に転送する制御プログラムを前記サーバから取得可能であり、
前記サーバには、前記制御プログラムの更新プログラムが前記情報処理装置に対して提供可能な状態で格納されており、
前記サーバを、前記オペレーティングシステム又は前記アプリケーションと、前記更新プログラムとの間の適合性に関する情報である適合性情報を管理する管理手段と、
前記情報処理装置から送信される前記制御プログラムの更新の可否に関する問い合わせ情報であって、前記情報処理装置に搭載されている前記オペレーティングシステム及び／又は前記アプリケーションの情報と、前記情報処理装置又は前記周辺装置に搭載されている前記制御プログラムの情報とを含む前記問い合わせ情報を受信する受信手段と、
前記受信手段により前記問い合わせ情報が受信された場合、前記管理手段により管理されている前記適合性情報の中から、前記問い合わせ情報に含まれる前記制御プログラムの情報に基づいて特定される適合性情報を参照し、前記制御プログラムの更新の可否を判断する判断手段と、
前記判断手段の判断結果を内容とする応答情報を設定して、前記情報処理装置に対して応答する応答手段として機能させることを特徴とする（請求項８）。
【００２７】
本発明のプログラムによれば、情報処理システムに搭載されることにより、情報処理システムに上述の作用効果を奏させることができる。
【図面の簡単な説明】
【００２８】
【図１】実施例の情報処理システムの構成図である。
【図２】実施例の情報処理システムに係り、情報処理装置の概略ブロック図である。
【図３】実施例の情報処理システムに係り、「更新可否の問い合わせ」処理ルーチンのフローチャートである。
【図４】実施例の情報処理システムに係り、「更新可否の問い合わせ」処理ルーチンのフローチャートである。
【図５】実施例の情報処理システムに係り、「更新可否の応答」処理ルーチンのフローチャートである。
【図６】実施例の情報処理システムに係り、「更新可否の応答」処理ルーチンのフローチャートである。
【図７】実施例の情報処理システムに係り、デバイスドライバに関する適合性情報のデータベースの説明図である。
【図８】実施例の情報処理システムに係り、ファームウェアに関する適合性情報のデータベースの説明図である。
【発明を実施するための形態】
【００２９】
以下、本発明を具体化した実施例を図面を参照しつつ説明する。
【００３０】
（実施例）
図１に示すように、実施例の情報処理システム１００は、情報処理装置の具体的態様であるパーソナルコンピュータ（以下、単に「ＰＣ」と呼ぶ。）１、２と、周辺装置の具体的態様であるプリンタ３と、サーバ４とを備えている。情報処理システム１００は、ＰＣ１、ＰＣ２、プリンタ３及びサーバ４以外に、他のＰＣや、スキャナー、複合機等の周辺装置を備え得る。本実施例では、説明の簡略化のため、ＰＣ１、ＰＣ２、プリンタ３及びサーバ４に限って以下の説明を行う。
【００３１】
ＰＣ１、２及びプリンタ３は、例えば「イーサネット（登録商標）」と呼ばれるＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）等のネットワーク５を介して接続されている。サーバ４とネットワーク５とは、ルータ６及びインターネットを介して接続されている。なお、プリンタ３は、ＰＣ１、２のいずれかと、シリアルケーブルやＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）ケーブル等を介して直接接続されていてもよい。
【００３２】
ＰＣ１は、図２に示すように、ＣＰＵ１１、ＲＯＭ１２及びＲＡＭ１３等を有する情報処理部１０と、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）１４と、ディスプレイ１５と、入力部１６と、ネットワーク接続に用いられるＬＡＮアダプタ等のＮＩＣ（Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄ）１７と、ＣＤ−ＲＯＭに記憶されたデータを読み出すＣＤ−ＲＯＭドライブ１８とを備え、これらの各構成要素が内部バス１９を介して相互に通信可能に接続された周知の構成のものである。ＰＣ２の内部構成もＰＣ１と同様である。図１に示すように、ＰＣ１、２は、オペレーティングシステム（以下、単に「ＯＳ」という。）の元で、各種ソフトウェアプログラムを起動して情報処理を行うようになっている。本実施例では、ＰＣ１に「α」というＯＳが搭載され、ＰＣ２に「β」というＯＳが搭載されているものとする。
【００３３】
ＰＣ１、２のＨＤＤ１４には、図１に示すように、システムフォルダ１４Ｓ及びプログラムフォルダ１４Ｐ等が設けられている。システムフォルダ１４Ｓには、ＯＳの動作に必要な各種システムファイルや、周辺装置の動作を制御する制御プログラムであるデバイスドライバが格納されている。本実施例では、各ＰＣ１、２のシステムフォルダ１４Ｓに、プリンタ３の動作を制御するプリンタドライバＤ１が格納されているものとする。プログラムフォルダ１４Ｐには、各種のアプリケーションソフトウェアのプログラムが格納されている。本実施例では、ＰＣ１のプログラムフォルダ１４Ｐに、アプリケーションＡが格納され、ＰＣ２のプログラムフォルダ１４Ｐに、アプリケーションＢが格納されているものとする。
【００３４】
プリンタ３は、周知の印刷機能を備えており、ＰＣ１、２から送信された印刷データに基づいて、画像や文書を記録用紙に印刷するものである。プリンタ３の内部記憶装置には、プリンタ３を動作させる制御プログラムとしてのファームウェアＦ１が格納されている。例えば、ユーザがＰＣ１においてアプリケーションＡを起動して印刷を実行する場合、ＰＣ１のプリンタドライバＤ１がアプリケーションＡに連携して起動し、印刷データを作成してプリンタ３に送信する。そうすると、プリンタ３では、ファームウェアＦ１がプリンタドライバＤ１に連携してプリンタ３を制御し、印刷を実行する。なお、プリンタドライバＤ１が印刷データの元データをプリンタ３に送信し、プリンタ３のファームウェアＦ１が元データから印刷データを生成する構成もあり得る。
【００３５】
サーバ４は、クライアントであるＰＣ１、２側からの要求を受けて、何らかのサービスを提供する周知の情報処理装置である。サーバ４も、ＰＣ１と同様の内部構成（図２に示すブロック図）を有している。サーバ４の内部記憶装置４Ａには、ＰＣ１、２等に接続される周辺装置を動作させるデバイスドライバや周辺装置内に記憶され周辺装置の動作を制御するファームウェアがＰＣ１、２等にネットワークを介して提供可能な状態で格納されている。通常、ファームウェアは、サーバ４からＰＣ１、２等を介してプリンタ３等の周辺装置に提供される。本実施例では、サーバ４の内部記憶装置４Ａに、プリンタドライバＤ１の更新プログラム、及びファームウェアＦ１の更新プログラムが格納されているものとする。また、サーバ４の内部記憶装置４Ａには、後述する適合性情報のデータベースが管理されている。
【００３６】
このような構成である情報処理システム１００では、以下に詳述する通り、ＰＣ１、２とサーバ４との間で、プリンタドライバＤ１及びファームウェアＦ１の更新についての問い合わせ及び応答が行われ、その結果として、プリンタドライバＤ１及びファームウェアＦ１の更新を適切に行えるようになっている。
【００３７】
本実施例では、ユーザがＰＣ１においてＯＳ「α」上でアプリケーションＡを起動し、プリンタ３により印刷を実行しようとする場合を想定して説明する。この場合、ＰＣ１の情報処理部１０を構成するＣＰＵ１１が図３、４に示す「更新可否の問い合わせ」処理ルーチン（ステップＳ１００〜Ｓ１１６）を実行する。具体的には、ユーザが、アプリケーションＡの表示画面において、印刷するプリンタとしてプリンタ３を指定し、印刷開始の指示を入力すると、プリンタ３のプリンタドライバＤ１がアプリケーションＡからの指示により起動する。そして、プリンタドライバＤ１は、ドライバとしての処理を開始する。ここで行なわれる処理は通常のドライバ処理と同様のため、詳細な説明は省略するが、例えば、アプリケーションＡで作成された文書データをプリンタ３が印字可能な印字データの形式に変換し、プリンタ３に送信する処理を行う。
【００３８】
一方、「更新可否の問い合わせ」処理ルーチンは、ＰＣ１が起動されている間は、Ｓ１００において、いずれかのプリンタドライバが起動されたか否かを監視している。したがって、いずれかのプリンタドライバが起動されると、プリンタドライバが行うドライバ処理と、図３、４に示す「更新可否の問い合わせ」処理ルーチンとが並行して行われることになる。
【００３９】
また、サーバ４では、サーバ４の情報処理部を構成するＣＰＵ（図示せず）が図５、６に示す「更新可否の応答」処理ルーチン（ステップＳ２０１〜Ｓ２１４）をバックグランドで実行しており、通常は、ステップＳ２０１において待機状態となっている。
【００４０】
「更新可否の問い合わせ」処理ルーチンにおいて、図３に示すステップＳ１００でＰＣ１が備えているプリンタドライバのいずれかが起動されたと判断された場合には「Ｙｅｓ」となり、ステップＳ１０１に移行して、起動されたプリンタドライバの種別を特定する。本実施例においては、ＰＣ１に搭載されたプリンタドライバＤ１が起動され、そのバージョンが「１．０．０」であるものとする。
【００４１】
次に、ステップＳ１０２に移行して、プリンタドライバＤ１の呼び出し元アプリケーションの名称を取得する。本実施例のＰＣ１においては、ＰＣ１に搭載されたアプリケーションＡの名称「アプリケーションＡ」を取得することとなる。
【００４２】
次に、ステップＳ１０３に移行して、プリンタドライバＤ１の呼び出し元アプリケーションのバージョン情報を取得する。本実施例のＰＣ１においては、ＰＣ１に搭載されたアプリケーションＡのバージョン情報として「１．０」を取得するものとする。
【００４３】
次に、ステップＳ１０４に移行して、プリンタドライバＤ１の呼び出し元アプリケーションの開発元情報を取得する。本実施例のＰＣ１においては、ＰＣ１に搭載されたアプリケーションＡの開発元情報として「ＸＸＸ」を取得するものとする。
【００４４】
次に、ステップＳ１０５に移行して、ＰＣ１に搭載されているＯＳの情報を取得する。本実施例のＰＣ１においては、ＰＣ１に搭載されたＯＳ「α」をＯＳの名称として取得する。なお、ＯＳの情報にＯＳのバージョン情報等が含まれ得る。
【００４５】
次に、ステップＳ１０６に移行して、サーバ４に対してプリンタドライバＤ１の更新の確認が必要か否かを判断する。例えば、事前設定により、所定の期間毎にサーバ４に対して更新の確認を行う設定がされている場合、その期間が経過していなければ、プリンタドライバＤ１の更新の確認が不要としてステップＳ１０６で「Ｎｏ」となり、図４に示すように「更新可否の問い合わせ」処理ルーチンを終了する。
【００４６】
一方、所定の期間が経過していれば、プリンタドライバＤ１の更新の確認が必要として、ステップＳ１０６で「Ｙｅｓ」となり、ステップＳ１０７に移行する。なお、ステップＳ１０６において、更新の確認が必要か否かをユーザに問い合わせるユーザインターフェース画面を表示し、ユーザに選択させてもよい。
【００４７】
プリンタドライバＤ１の更新の確認が必要としてステップＳ１０７に移行すると、サーバ４に対して、プリンタドライバＤ１の更新の可否を問い合わせる問い合わせ情報を送信する。問い合わせ情報には、ＰＣ１に搭載されているＯＳ及びアプリケーションＡの情報と、ＰＣ１に搭載されているプリンタドライバＤ１の情報とが含まれている。本実施例のＰＣ１においては、ＰＣ１に搭載されているＯＳ及びアプリケーションＡの情報として、ステップＳ１０２で取得された「アプリケーションＡ」という名称、ステップＳ１０３で取得された「１．０」というバージョン情報、ステップＳ１０４で取得された「ＸＸＸ」という開発元情報、及びステップＳ１０５で取得された「ＯＳ：α」というＯＳの情報が問い合わせ情報に含まれることとなる。また、プリンタドライバＤ１の情報として、「プリンタドライバＤ１」という名称、及び「１．０．０」というバージョン情報が問い合わせ情報に含まれることとなる。
【００４８】
次に、ステップＳ１０８に移行して、サーバ４から送信される応答情報を受信するまで待機状態となる。なお、サーバ４がＰＣ１からの問い合わせ情報を受信し、ＰＣ１に対して応答情報を送信するまでの処理については後述する。
【００４９】
ステップＳ１０８で、サーバ４から送信される応答情報を受信したと判断された場合には「Ｙｅｓ」となり、ステップＳ１０９に移行して、「更新プログラムが存在する」という応答内容か否かを判断する。
【００５０】
後述するサーバ４側のステップＳ２０４又はＳ２０９に基づく応答情報を受信した場合、「更新プログラムが存在しない」という内容であるので、ステップＳ１０９において「Ｎｏ」となり、図４に示すように「更新可否の問い合わせ」処理ルーチンを終了する。そして、プリンタドライバＤ１は、アプリケーションＡと連携して、プリンタ３に印刷機能を実行させる。
【００５１】
一方、後述するサーバ４側のステップＳ２１０又はＳ２１２に基づく応答情報を受信した場合、「更新プログラムが存在する」という内容であるので、ステップＳ１０９において「Ｙｅｓ」となり、ステップＳ１１０に移行する。
【００５２】
ステップＳ１１０では、応答情報の中に更新の要否の問い合わせがあるか否かを判断する。後述するサーバ４側のステップＳ２１０に基づく応答情報を受信した場合、更新の要否の問い合わせはないので、ステップＳ１１０において「Ｎｏ」となり、図４に示すステップＳ１１４に移行する。そして、ステップＳ１１４において、サーバ４の応答情報として自動送信されるプリンタドライバＤ１の更新プログラム（バージョン「１．０．１」）を受信する。
【００５３】
次に、ステップＳ１１５に移行して、プリンタドライバＤ１の更新プログラムによりプリンタドライバＤ１を更新して、「更新可否の問い合わせ」処理ルーチンを終了する。そして、バージョン「１．０．０」からバージョン「１．０．１」に更新されたプリンタドライバＤ１は、アプリケーションＡと連携して、プリンタ３に印刷機能を実行させる。なお、プリンタドライバＤ１の更新は、並行して動作している旧プリンタドイライバＤ１の処理の終了を待って行う。また、更新されたプリンタドライバＤ１を使用可能な状態とするには、通常、ＰＣ１の再起動が必要である。
【００５４】
一方、後述するサーバ４側のステップＳ２１２に基づく応答情報を受信した場合、更新の要否の問い合わせがあるので、図３に示すステップＳ１１０において「Ｙｅｓ」となり、ステップＳ１１１に移行する。
【００５５】
ステップＳ１１１では、図示は省略するが、ＰＣ１のディスプレイ１５に、「利用可能な更新プログラムが存在しますが、開発元の観点から不具合が発生する可能性があります。」という警告画面と、「更新する」選択ボタンと、「更新しない」選択ボタンとを表示して、ユーザに更新の要否を選択させる。
【００５６】
次に、ステップＳ１１２に移行して、ユーザが更新の実行を選択したか否かを判断する。ユーザが「更新しない」選択ボタンをクリックした場合、ステップＳ１１２において「Ｎｏ」となり、図４に示すステップＳ１１６に移行する。そして、ステップＳ１１６において、サーバ４に対して、「更新を実行しない」旨を通知して、「更新可否の問い合わせ」処理ルーチンを終了する。そして、プリンタドライバＤ１は、アプリケーションＡと連携して、プリンタ３に印刷機能を実行させる。
【００５７】
一方、ユーザが「更新する」選択ボタンをクリックした場合、ステップＳ１１２において「Ｙｅｓ」となり、ステップＳ１１３に移行する。そして、ステップＳ１１３において、サーバ４に対して、「更新を実行する」旨を通知して、図４に示すステップＳ１１４に移行する。ステップＳ１１４以降の処理は上述した通りである。
【００５８】
こうして、ＰＣ１は、サーバ４に対して、プリンタドライバＤ１の更新について問い合わせ情報を送信し、サーバ４から更新の可否を内容とする応答情報を受信することにより、プリンタドライバＤ１の更新を適切に行うことができる。説明は省略するが、ＰＣ２についても同様である。
【００５９】
一方、サーバ４では、図５に示すように、ステップＳ２０１においてＰＣ１、２から送信される問い合わせ情報を受信するまで待機状態となっている。そして、Ｓ２０１でサーバ４が問い合わせ情報を受信したと判断された場合には「Ｙｅｓ」となり、ステップＳ２０２に移行する。
【００６０】
ステップＳ２０２では、受信した問い合わせ情報に含まれるプリンタドライバＤ１の情報とサーバ４に格納されているデバイスドライバの更新プログラムとを照らし合わせる。本実施例のＰＣ１の問い合わせ情報に基づくと、プリンタドライバＤ１の更新プログラムが参照結果として抽出される。
【００６１】
次に、ステップＳ２０３に移行して、ステップＳ２０２の参照結果に基づいて、プリンタドライバＤ１の更新プログラムがサーバ４に存在するか否かを判断する。ステップＳ２０３において「Ｎｏ」の場合、ステップＳ２０４に移行して、「更新プログラムが存在しない」という内容の応答情報を設定してＰＣ１に対して応答し、「更新可否の応答」処理ルーチンを終了する。そして、サーバ４のＣＰＵは、再び「更新可否の応答」処理ルーチンを開始し、ステップＳ２０１において待機状態となる。なお、ステップＳ２０４の応答情報に対応して、ＰＣ１側で行われるステップＳ１０８以降の処理については上述した通りである。
【００６２】
一方、ステップＳ２０３において「Ｙｅｓ」の場合、ステップＳ２０５に移行する。本実施例では、サーバ４に、ＰＣ１のプリンタドライバＤ１（バージョン「１．０．０」）に対応するプリンタドライバＤ１の更新プログラム（バージョン「１．０．１」）が格納されているものとする。この場合、ステップＳ２０３において「Ｙｅｓ」となり、ステップＳ２０５に移行する。
【００６３】
ステップＳ２０５では、サーバ４の内部記憶装置４Ａに管理されている適合性情報のデータベースと、受信した問い合わせ情報に含まれるプリンタドライバＤ１の情報とを照らし合わせて、プリンタドライバＤ１に対応する適合性情報を特定する。
【００６４】
ここで、適合性情報のデータベースとは、図７に具体例を示すように、市販されている各種のＯＳ又はアプリケーションと、サーバ４に格納されている各種のデバイスドライバ（更新プログラム）との間の適合性に関する情報である。特に、本実施例では、適合性情報として、適合性が悪い組み合わせ、すなわち、不具合が発生する可能性が高い組み合わせの情報を管理している。
【００６５】
より詳しくは、図７の例において、左側の「デバイスドライバの情報」欄Ｌ１には、サーバ４の内部記憶装置４Ａに格納されているデバイスドライバとして、プリンタドライバＤ１〜Ｄ４の名称とそれぞれのバージョン情報とが管理されている。また、中央の「適合性が悪いアプリケーションの情報」欄Ｌ２には、プリンタドライバＤ１〜Ｄ４のそれぞれに対して、適合性が悪いアプリケーションの名称、バージョン情報及び開発元情報が対応付けて管理されている。さらに、右側の「適合性が悪いＯＳの情報」欄Ｌ３には、プリンタドライバＤ１〜Ｄ４のそれぞれに対して、適合性が悪いＯＳの名称が対応付けて管理されている。
【００６６】
本実施例のＰＣ１の問い合わせ情報に基づくと、ステップＳ２０５において、図７の適合性情報のデータベースと、問い合わせ情報に含まれるプリンタドライバＤ１の情報（「プリンタドライバＤ１」、バージョン「１、０、０」）とを照らし合わせることにより、プリンタドライバＤ１に対応する適合性情報として、サーバ４に格納されたプリンタドライバＤ１の更新プログラム（バージョン「１．０．１」）と、プリンタドライバＤ１の更新プログラム（バージョン「１．０．１」）に対して適合性が悪いアプリケーションＡの名称「アプリケーションＡ」、バージョン「１．０」及び開発元「ＸＸＸ」と、プリンタドライバＤ１の更新プログラム（バージョン「１．０．１」）に対して適合性が悪いＯＳの名称「α」とが特定される。
【００６７】
次に、ステップＳ２０６に移行して、問い合わせ情報に含まれるアプリケーションの名称と、特定された適合性情報に含まれるアプリケーションの名称とが一致するか否かを判断する。ステップＳ２０６において「Ｎｏ」の場合、図６に示すステップＳ２１１に移行する。
【００６８】
一方、ステップＳ２０６において「Ｙｅｓ」の場合、ステップＳ２０７に移行する。本実施例のＰＣ１の問い合わせ情報に基づくと、問い合わせ情報に含まれるアプリケーションの名称と、特定された適合性情報に含まれるアプリケーションの名称とが「アプリケーションＡ」であり、一致するので「Ｙｅｓ」となり、ステップＳ２０７に移行する。
【００６９】
ステップＳ２０７では、問い合わせ情報に含まれるアプリケーションのバージョン情報と、特定された適合性情報に含まれるアプリケーションのバージョン情報とが一致するか否かを判断する。ステップＳ２０７において「Ｎｏ」の場合、図６に示すステップＳ２１１に移行する。
【００７０】
一方、ステップＳ２０７において「Ｙｅｓ」の場合、ステップＳ２０８に移行する。本実施例のＰＣ１の問い合わせ情報に基づくと、問い合わせ情報に含まれるアプリケーションのバージョン情報と、特定された適合性情報に含まれるアプリケーションのバージョン情報とが「１．０」であり、一致するので「Ｙｅｓ」となり、ステップＳ２０８に移行する。
【００７１】
ステップＳ２０８では、問い合わせ情報に含まれるＯＳの情報と、特定された適合性情報に含まれるＯＳの情報とが一致するか否かを判断する。ステップＳ２０８において「Ｙｅｓ」の場合、ステップＳ２０９に移行して、「利用可能な更新プログラムが存在しない」という内容の応用情報を設定して、ＰＣ１に対して応答して、「更新可否の応答」処理ルーチンを終了する。すなわち、本実施例のＰＣ１の使用環境によれば、サーバ４にプリンタドライバＤ１の更新プログラムが格納されているが、適合性情報を参照した結果、プリンタドライバＤ１の更新プログラムとＰＣ１に搭載されているＯＳ「α」との適合性が悪く、更新すると不具合が発生し得るので更新しないほうがいいと判断するのである。なお、ステップＳ２０９の応答情報に対応して、ＰＣ１側で行われるステップＳ１０８以降の処理については上述した通りである。
【００７２】
一方、ステップＳ２０８において「Ｎｏ」の場合、ステップＳ２１０に移行して、「利用可能な更新プログラムが存在する」旨と、プリンタドライバＤ１の更新プログラムの自動送信とを内容とする応用情報を設定して、ＰＣ１に対して応答し、「更新可否の応答」処理ルーチンを終了する。すなわち、本実施例のＰＣ１の使用環境によれば、プリンタドライバＤ１の更新プログラムは、ＰＣ１の使用環境と照らし合わせて適合性が悪くないので、更新しても不具合が発生し難いと判断するのである。なお、ステップＳ２１０の応答情報に対応して、ＰＣ１側で行われるステップＳ１０８以降の処理については上述した通りである。
【００７３】
ステップＳ２０６又はＳ２０７から図６に示すステップＳ２１１に移行すると、問い合わせ情報に含まれるアプリケーションの開発元情報と、特定された適合性情報に含まれるアプリケーションの開発元情報とが一致するか否かを判断する。ステップＳ２１１において「Ｎｏ」の場合、図５に示すステップＳ２１０に移行して、上述した処理を行う。すなわち、プリンタドライバＤ１の更新プログラムは、ＰＣ１の使用環境と照らし合わせて適合性が悪くないので、更新しても不具合が発生し難いと判断するのである。
【００７４】
一方、ステップＳ２１１において「Ｙｅｓ」の場合、ステップＳ２１２に移行する。本実施例のＰＣ１の問い合わせ情報に基づくと、上述の通り、ＰＣ１について、ステップＳ２０６及びＳ２０７で「Ｙｅｓ」となるのでステップＳ２１１に移行しないが、仮に、ステップＳ２０６又はＳ２０７で「Ｎｏ」となり、ステップＳ２１１に移行した場合、ＰＣ１の問い合わせ情報に含まれるアプリケーションの開発元情報と、特定された適合性情報に含まれるアプリケーションの開発元情報とが「ＸＸＸ」であり、一致するので「Ｙｅｓ」となり、ステップＳ２１２に移行する。そして、ステップＳ２１２において、「利用可能な更新プログラムが存在するが、開発元の観点から不具合が発生する可能性がある」旨と、更新の要否の問い合わせとを内容とする応答情報を設定し、ＰＣに対して応答する。すなわち、本実施例のＰＣ１の使用環境によれば、サーバ４にプリンタドライバＤ１の更新プログラムが格納されているが、適合性情報に参照した結果、開発元が一致する場合、経験則として、更新すると不具合が発生する可能性があるので、更新が必要か否かをＰＣ１側に確認したほうがよいと判断するのである。なお、ステップＳ２１２の応答情報に対応して、ＰＣ１側で行われるステップＳ１０８以降の処理については上述した通りである。
【００７５】
次に、ステップＳ２１３に移行して、ＰＣ１から送信される更新を実行するか否かの通知を受信するまで待機する状態となる。
【００７６】
ステップＳ２１３において、上述したＰＣ１側のステップＳ１１３又はＳ１１６による通知を受信すると、ステップＳ２１４に移行して、受信内容が「更新を実行する」という内容か否かを判断する。
【００７７】
ステップＳ２１３において「Ｙｅｓ」の場合、ステップＳ２１０に移行する。ステップＳ２１０の処理は上述した通りであるので、説明は省く。
【００７８】
一方、ステップＳ２１３において「Ｎｏ」の場合、「更新可否の応答」処理ルーチンを終了する。そして、サーバ４のＣＰＵは、再び「更新可否の応答」処理ルーチンを開始し、ステップＳ２０１において待機状態となる。
【００７９】
こうして、サーバ４は、プリンタドライバＤ１の更新について問い合わせ情報をＰＣ１から受信し、更新の可否を内容とする応答情報をＰＣ１に送信することにより、ＰＣ１にプリンタドライバＤ１の更新を適切に行わせることができる。サーバ４がＰＣ２から問い合わせ情報を受信する場合も同様である。
【００８０】
また、情報処理システム１００では、説明を簡略化するが、プリンタ３に搭載されるファームウェアＦ１の更新についても、同様に、ＰＣ１、２とサーバ４との間で、ファームウェアＦ１の更新についての問い合わせ及び応答が行われ、その結果として、ファームウェアＦ１の更新を適切に行える。
【００８１】
この場合、サーバ４の内部記憶装置４Ａは、ファームウェアに関する適合性情報として、例えば、図８に具体例を示す適合性情報のデータベースを管理している。図８の例において、左側の「ファームウェアの情報」欄Ｌ４には、サーバ４の内部記憶装置４Ａに格納されているファームウェアＦ１〜Ｆ４の名称とそれぞれのバージョン情報とが管理されている。また、右側の「適合性が悪いＯＳの情報」欄Ｌ５には、ファームウェアＦ１〜Ｆ４のそれぞれに対して、適合性が悪いＯＳの名称が対応付けて管理されている。
【００８２】
一方、ＰＣ１は、「更新可否の問い合わせ」処理ルーチンにおいて、ファームウェアＦ１の更新の可否の問い合わせ情報をサーバ４に送信する。この際、問い合わせ情報には、ファームウェアＦ１の情報（名称やバージョン情報）と、ＰＣ１で使用されるＯＳ（例えば、ＯＳ「α」）の情報とを含む問い合わせ情報が含まれる。
【００８３】
サーバ４は、「更新可否の応答」処理ルーチンにおいて、その問い合わせ情報を受信し、図８に示す適合性情報のデータベースと参照して、サーバ４に格納されているファームウェアＦ１の更新プログラム（図１に示す。）とＰＣ１のＯＳ環境との組み合わせでは不具合が生じる可能性があるか否かを判断し、更新の可否を内容とする応答情報をＰＣ１に対して応答する。ＰＣ１ではその応答情報に基づいて、ファームウェアＦ１を適切に更新することができる。例えば、ＰＣ１がファームウェアＦ１の更新を可とする内容の応答情報をサーバ４から受信した場合、ＰＣ１がサーバ４から送信されるファームウェアＦ１の更新プログラムを受信し、さらに、その更新プログラムをプリンタ３に転送して、プリンタ３内のファームウェアＦ１を更新させる。説明は省略するが、ＰＣ２も、同様にしてファームウェアＦ１を適切に更新することができる。
【００８４】
＜発明特定事項との対応関係＞
プリンタドライバＤ１が、情報処理装置としてのＰＣ１、２が情報処理を行う際にアプリケーションＡ等と連携して周辺装置としてのプリンタ３を動作させる制御プログラムに相当する。ファームウェアＦ１が、情報処理装置としてのＰＣ１、２が周辺装置としてのプリンタ３に転送する制御プログラムに相当する。
【００８５】
サーバ４の内部記憶装置４Ａが、ＯＳ又はアプリケーションと、プリンタドライバＤ１等及びファームウェアＦ１等の更新プログラムとの間の適合性に関する情報である適合性情報（例えば、図７、８に示す適合性情報のデータベース）を管理する管理手段に相当する。
【００８６】
ステップＳ２０１が、ＰＣ１、２から送信されるプリンタドライバＤ１又はファームウェアＦ１の更新の可否に関する問い合わせ情報であって、ＰＣ１、２に搭載されているＯＳ及び／又はアプリケーションの情報と、ＰＣ１、２又はプリンタ３に搭載されているプリンタドライバＤ１又はファームウェアＦ１の情報とを含む問い合わせ情報を受信する受信手段に相当する。
【００８７】
ステップＳ２０３、Ｓ２０５〜Ｓ２０８、Ｓ２１１、Ｓ２１２〜Ｓ２１４が、受信手段により問い合わせ情報が受信された場合、管理手段により管理されている適合性情報の中から、問い合わせ情報に含まれるプリンタドライバＤ１又はファームウェアＦ１の情報に基づいて特定される適合性情報を参照し、プリンタドライバＤ１又はファームウェアＦ１の更新の可否を判断する判断手段に相当する。
【００８８】
ステップＳ２０４、Ｓ２０９、Ｓ２１０、Ｓ２１２が、判断手段の判断結果を内容とする応答情報を設定して、ＰＣ１、２に対して応答する応答手段に相当する。
【００８９】
＜作用効果＞
実施例の情報処理システム１００は、ＰＣ１、２に搭載されているＯＳ及び／又はアプリケーションの情報と、ＰＣ１、２又はプリンタ３に搭載されているプリンタドライバＤ１又はファームウェアＦ１の情報とを含む問い合わせ情報をサーバ４側で受信し、その問い合わせ情報の内容と、サーバ４の内部記憶装置４Ａが管理する適合性情報（例えば、図７、８の適合性情報のデータベース）とを照らし合わせて、プリンタドライバＤ１又はファームウェアＦ１の更新の可否を判断する。適合性情報とは、本実施例では、プリンタドライバＤ１又はファームウェアＦ１の更新プログラムと、ＰＣ１、２に搭載されているＯＳ及び／又はアプリケーションＡ等との組み合わせでは不具合がおきるというマイナス情報である。そして、その判断結果を内容とする応答情報を適宜設定し、ＰＣ１、２に応答する。その結果、ＰＣ１、２側では、応答情報を受信して、その応答情報の内容に基づいてプリンタドライバＤ１又はファームウェアＦ１の更新を適切に行うことができる。
【００９０】
したがって、実施例の情報処理システム１００によれば、ＰＣ１、２の使用環境に応じて、プリンタドライバＤ１やファームウェアＦ１等の制御プログラムの更新を適切に行うことができる。
【００９１】
また、サーバ４の内部記憶装置４Ａは、プリンタドライバＤ１等の更新プログラムとの適合性が悪いアプリケーションを識別するためのアプリケーション識別情報（アプリケーションの名称）を適合性情報として管理している。そして、問い合わせ情報に含まれるアプリケーションの情報が示すアプリケーションの名称と、ステップＳ２０５より特定される適合性情報が示す更新プログラムとの適合性が悪いアプリケーションの名称とが一致する場合（「Ｙｅｓ」となる場合）、ステップＳ２０６においてプリンタドライバＤ１等の更新を否と判断する。すなわち、アプリケーションの名称が一致する場合にプリンタドライバＤ１等を更新してしまうと、返って不具合を生じる可能性が高くなる。そこで、このような場合は更新させないようにすることで、ＰＣ１、２においてプリンタドライバＤ１等の更新により不具合が生じることを防止できる。
【００９２】
さらに、サーバ４の内部記憶装置４Ａは、プリンタドライバＤ１等の更新プログラムとの適合性が悪いアプリケーションのバージョン情報を適合性情報として管理している。そして、ステップＳ２０６において「Ｙｅｓ」となる場合であっても、問い合わせ情報に含まれるアプリケーションの情報が示すアプリケーションのバージョン情報と、ステップＳ２０５により特定される適合性情報が示す更新プログラムとの適合性が悪いアプリケーションのバージョン情報とが一致しない場合（「Ｎｏ」となる場合）、ステップＳ２０７において更新を可と判断する。すなわち、アプリケーションのバージョン情報が一致する場合にプリンタドライバＤ１等を更新してしまうと、特定のアプリケーションにおける特定のバージョンに限って不具合を生じる可能性が高くなる。そこで、このような場合は更新させないようにすることで、ＰＣ１、２においてプリンタドライバＤ１等の更新により不具合が生じることを防止できる。一方、適合性情報として管理されている適合性の悪いアプリケーションのバージョン情報と、問い合わせ情報に含まれるアプリケーションのバージョン情報とが一致しない場合には、プリンタドライバＤ１等を更新しても不具合を生じる可能性が低いので、このような場合は更新を制限しない。これにより、ＰＣ１、２においてプリンタドライバＤ１等の更新により不具合が生じることを確実に防止しつつ、更新に問題のないプリンタドライバＤ１等の更新プログラムについては提供することが可能となる。
【００９３】
また、サーバ４の内部記憶装置４Ａは、プリンタドライバＤ１等の更新プログラムとの適合性が悪いＯＳの情報を適合性情報として管理している。そして、ステップＳ２０６において「Ｙｅｓ」となる場合であっても、問い合わせ情報に含まれるＯＳの情報と、ステップＳ２０５により特定される適合性情報が示す更新プログラムとの適合性が悪いＯＳの情報とが一致しない場合（「Ｎｏ」となる場合）、ステップＳ２０８において更新を可と判断する。すなわち、適合性の悪いＯＳの情報が一致する場合に、プリンタドライバＤ１等を更新してしまうと、返って不具合を生じる可能性が高くなる。そこで、このような場合は更新させないようにすることで、ＰＣ１、２においてプリンタドライバＤ１等の更新により不具合が生じることを一層確実に防止できる。
【００９４】
さらに、サーバ４の内部記憶装置４Ａは、プリンタドライバＤ１等の更新プログラムとの適合性が悪いアプリケーションの開発元情報を適合性情報として管理している。そして、ステップＳ２０６において「Ｎｏ」となる場合、及びステップＳ２０７において「Ｎｏ」となる場合のどちらかの場合であっても、問い合わせ情報に含まれるアプリケーションの情報が示すアプリケーションの開発元情報と、ステップＳ２０５により特定される適合性情報が示す更新プログラムとの適合性が悪いアプリケーションの開発元情報とが一致しない場合はステップＳ２１２において更新を可と判断し、一致しない場合はステップＳ２１２において更新が可であるが更新の要否の問い合わせが必要であると判断する。すなわち、経験則として、更新プログラムとの適合性が悪いアプリケーションと同じ開発元により開発されたアプリケーションも、同様に更新プログラムとの適合性が悪い可能性がある。そこで、アプリケーションの開発元情報が一致する場合に、プリンタドライバＤ１等を更新してしまうと、不具合を生じる可能性があるが、このような場合は、ステップＳ２１２により、更新の要否をユーザに問い合わせることができる。したがって、ユーザの判断に基づいてプリンタドライバＤ１等の更新プログラムをサーバ４が提供するか否かを決定することができる。一方、アプリケーションの開発元情報が一致しない場合には、プリンタドライバＤ１等を更新しても不具合を生じる可能性が低いので、このような場合は更新を制限しない。これにより、ＰＣ１、２においてプリンタドライバＤ１等の更新により不具合が生じることを一層確実に防止しつつ、ユーザの判断に基づいて、更新に問題のないプリンタドライバＤ１等の更新プログラムについては提供することが可能となる。
【００９５】
特に、ステップＳ２１２では、プリンタドライバＤ１等の更新プログラムが存在していること、及びプリンタドライバＤ１等の更新プログラムの更新の要否の問い合わせを内容とする応答情報を送信する。これにより、ＰＣ１、２側でプリンタドライバＤ１等の更新の要否を決定でき、ＰＣ１、２の使用環境に応じて、プリンタドライバＤ１等の更新をより適切に行うことができる。
【００９６】
また、ステップＳ２１０では、プリンタドライバＤ１等の更新プログラムが存在していること、及びプリンタドライバＤ１等の更新プログラムの自動送信を内容とする応答情報を送信する。これにより、ＰＣ１、２においてプリンタドライバＤ１等の自動更新が実行されるので、ＰＣ１、２側でプリンタドライバＤ１等の更新の要否を決定するための処理、さらには、ＰＣ１、２のユーザがプリンタドライバＤ１等の更新プログラムをサーバ４から取得する作業を省くことができる。
【００９７】
また、「更新可否の問い合わせ」処理ルーチン（図３、４のステップＳ１００〜Ｓ１１６）及び「更新可否の応答」処理ルーチン（図５、６のステップＳ２０１〜Ｓ２１４）によれば、情報処理システム１００に搭載されることにより、情報処理システム１００に上述の作用効果を奏させることができる。
【００９８】
以上において、本発明を実施例に即して説明したが、本発明は上記実施例に制限されるものではなく、その趣旨を逸脱しない範囲で適宜変更して適用できることはいうまでもない。
【産業上の利用可能性】
【００９９】
本発明は情報処理システムに利用可能である。
【符号の説明】
【０１００】
１００…情報処理システム
１、２…情報処理装置
３…周辺装置（プリンタ）
４…サーバ
Ｄ１、Ｆ１…制御プログラム（Ｄ１…デバイスドライバ（プリンタドライバ）、Ｆ１…ファームウェア）
Ａ、Ｂ…アプリケーション
４Ａ…管理手段（サーバの内部記憶装置）
Ｓ２０１…受信手段
Ｓ２０３、Ｓ２０５〜Ｓ２０８、Ｓ２１１、Ｓ２１２〜Ｓ２１４…判断手段
Ｓ２０４、Ｓ２０９、Ｓ２１０、Ｓ２１２…応答手段
【図１】
2010186279.tif 000003
【図２】
2010186279.tif 000004
【図３】
2010186279.tif 000005
【図４】
2010186279.tif 000006
【図５】
2010186279.tif 000007
【図６】
2010186279.tif 000008
【図７】
2010186279.tif 000009
【図８】
2010186279.tif 000010