(57)【要約】 【課題】あるクライアントが印刷装置と双方向通信を行って取得したデバイス設定を、他の双方向通信を行っていないクライアントに対しても自動的に反映させる。【解決手段】本発明のプログラムは、Ｐｏｉｎｔ＆Ｐｒｉｎｔ環境のプリントサーバとして機能する情報処理装置を、取得手段と特定手段と書き込み手段と送信手段として機能させる。取得手段は、第１の端末から、印刷装置の設定を示すデバイス情報と印刷装置を識別する識別情報とを含むデバイスデータを取得する。特定手段は、デバイスデータに含まれる識別情報に基づいて、デバイス情報を記憶する記憶装置のうちデバイスデータに含まれるデバイス情報を保存する場所を特定する。書き込み手段は、特定手段により特定された場所に、デバイスデータに含まれるデバイス情報を書き込む。送信手段は、書き込み手段による書き込みの対象となるデバイス情報を第２の端末へ送信する。【選択図】図５
2015166927.tif 000002
【特許請求の範囲】
【請求項１】
第１の端末および第２の端末が利用する印刷装置を制御するためのプリンタドライバを、前記第１の端末および前記第２の端末の各々にインストールさせることが可能であり、かつ、前記第１の端末および前記第２の端末の各々からの印刷要求を前記印刷装置へ送信する情報処理装置を、
前記第１の端末から、前記印刷装置の設定を示すデバイス情報と、前記印刷装置を識別する識別情報とを含むデバイスデータを取得する取得手段と、
前記デバイスデータに含まれる前記識別情報に基づいて、前記デバイス情報を記憶する記憶装置のうち、前記デバイスデータに含まれる前記デバイス情報を保存する場所を特定する特定手段と、
前記特定手段により特定された場所に、前記デバイスデータに含まれる前記デバイス情報を書き込む書き込み手段と、
前記書き込み手段による書き込みの対象となる前記デバイス情報を、前記第２の端末へ送信する送信手段として機能させる、
プログラム。
【請求項２】
前記取得手段は、ＬａｎｇｕａｇｅＭｏｎｉｔｏｒを利用して、前記デバイスデータを取得し、
前記書き込み手段は、ＬａｎｇｕａｇｅＭｏｎｉｔｏｒを利用して、前記デバイスデータに含まれる前記デバイス情報を書き込む、
請求項１に記載のプログラム。
【請求項３】
前記記憶装置は、設定情報を格納するレジストリである、
請求項１または請求項２に記載のプログラム。
【請求項４】
前記デバイスデータは、前記第１の端末が前記印刷装置から前記デバイス情報を取得した時刻を示す時刻情報をさらに含み、
前記取得手段により取得された前記デバイスデータに含まれる前記時刻情報に基づいて、前記取得手段により取得された前記デバイスデータが最新であるか否かを判断する判断手段をさらに備え、
前記書き込み手段は、前記取得手段により取得された前記デバイスデータが最新であると判断された場合、前記特定手段により特定された場所に、前記取得手段により取得された前記デバイスデータに含まれる前記デバイス情報および前記時刻情報を対応付けて書き込む、
請求項１乃至３のうちの何れか１項に記載のプログラム。
【請求項５】
前記判断手段は、前記記憶装置のうち、前記取得手段により取得された前記デバイスデータに含まれる前記識別情報に対応する記憶領域に記憶済みの前記時刻情報と、前記取得手段により取得された前記デバイスデータに含まれる前記時刻情報とを比較して、前記取得手段により取得された前記デバイスデータが最新であるか否かを判断する、
請求項４に記載のプログラム。
【請求項６】
第１の端末および第２の端末が利用する印刷装置を制御するためのプリンタドライバを、前記第１の端末および前記第２の端末の各々にインストールさせることが可能であり、かつ、前記第１の端末および前記第２の端末の各々からの印刷要求を前記印刷装置へ送信する情報処理装置であって、
前記第１の端末から、前記印刷装置の設定を示すデバイス情報と、前記印刷装置を識別する識別情報とを含むデバイスデータを取得する取得手段と、
前記デバイスデータに含まれる前記識別情報に基づいて、前記デバイス情報を記憶する記憶装置のうち、前記デバイスデータに含まれる前記デバイス情報を保存する場所を特定する特定手段と、
前記特定手段により特定された場所に、前記デバイスデータに含まれる前記デバイス情報を書き込む書き込み手段と、
前記書き込み手段による書き込みの対象となる前記デバイス情報を、前記第２の端末へ送信する送信手段と、を備える、
情報処理装置。
【請求項７】
第１の端末と、第２の端末と、前記第１の端末および前記第２の端末が利用する印刷装置を制御するためのプリンタドライバを、前記第１の端末および前記第２の端末の各々にインストールさせることが可能であり、かつ、前記第１の端末および前記第２の端末の各々からの印刷要求を前記印刷装置へ送信する情報処理装置と、を少なくとも備えるシステムであって、
前記情報処理装置は、
前記第１の端末および前記第２の端末のうちの一方から、前記印刷装置の設定を示すデバイス情報と、前記印刷装置を識別する識別情報とを含むデバイスデータを取得する第１の取得手段と、
前記デバイスデータに含まれる前記識別情報に基づいて、前記デバイス情報を記憶する記憶装置のうち、前記デバイスデータに含まれる前記デバイス情報を保存する場所を特定する特定手段と、
前記特定手段により特定された場所に、前記デバイスデータに含まれる前記デバイス情報を書き込む書き込み手段と、
前記書き込み手段による書き込みの対象となる前記デバイス情報を、前記第１の端末および前記第２の端末のうちの他方へ送信する第１の送信手段と、を備え、
前記第１の端末および前記第２の端末の各々は、
前記印刷装置から前記デバイス情報を取得する第２の取得手段と、
前記第２の取得手段により取得された前記デバイス情報と、前記識別情報とを含む前記デバイスデータを前記情報処理装置へ送信する第２の送信手段と、
前記情報処理装置から送られてくる前記デバイス情報を受信する受信手段と、を備える、
システム。
【請求項８】
前記第１の端末および前記第２の端末の各々は、
前記第２の取得手段により取得された前記デバイス情報を、他の端末と共有するか否かを示す共有設定情報を設定する設定手段と、
前記共有設定情報が、前記第２の取得手段により取得された前記デバイス情報を他の端末と共有しないことを示す場合は、前記第２の取得手段により取得された前記デバイス情報を前記情報処理装置へ送信する制御を行わない一方、前記共有設定情報が、前記第２の取得手段により取得された前記デバイス情報を他の端末と共有することを示す場合は、前記第２の取得手段により取得された前記デバイス情報を前記情報処理装置へ送信する制御を行う制御手段と、を備える、
請求項７に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラム、情報処理装置およびシステムに関する。
【背景技術】
【０００２】
従来、プリンタドライバとプリンタ間で通信を行い、プリンタにセットされている用紙サイズなどのデバイス情報をプリンタドライバが取得することができる双方向通信という技術が既に知られている。また、サーバがプリンタドライバを共有し、その共有されたプリンタドライバを、クライアントがリモートプリンタとして利用することができるＰｏｉｎｔ＆Ｐｒｉｎｔという技術が知られている。このようなサーバクライアント環境では、一般的にクライアントはレジストリに書き込む権限（ユーザ権限）を有していないことが多いため、サーバに対して双方向通信を依頼することになる。
【０００３】
しかしながら、サーバに双方向通信をしてもらえない環境も存在する。例として、サーバが別部署により一括管理されている環境が考えられる。このような環境において、クライアントがプリンタの用紙サイズを変更した場合、サーバを管理している別部署に双方向してもらうよう依頼する必要があるが、プリンタドライバにはクライアントからサーバに双方向通信実行を依頼する機能がなく、手間がかかってしまう。このため、このような環境ではクライアントが双方向通信を行う必要がある。クライアントはレジストリに情報を書き込む権限を有していないため、レジストリに情報を書き込んで当該情報をサーバと共有することはできない。
【０００４】
この問題を解決するために、ＬａｎｇｕａｇｅＭｏｎｉｔｏｒ（以下の説明では、「ＬＭ」と表記する場合がある）を利用し、クライアントからサーバへデバイス設定を送信する方法が既に知られている。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来技術では、複数のクライアントが存在するＰｏｉｎｔ＆Ｐｒｉｎｔ環境において、あるクライアント（レジストリに情報を書き込む権限を有していないクライアント）がプリンタと双方向通信を行ってデバイス設定を取得しても、他の双方向通信を行っていないクライアントに対しては自動でデバイス設定が更新されずに、プリンタとプリンタドライバの設定が乖離してしまうという問題がある。
【０００６】
本発明は、上記に鑑みてなされたものであって、複数のクライアントが存在するＰｏｉｎｔ＆Ｐｒｉｎｔ環境において、あるクライアントが印刷装置と双方向通信を行って取得したデバイス設定を、他の双方向通信を行っていないクライアントに対しても自動的に反映させることが可能なプログラム、情報処理装置およびシステムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上述した課題を解決し、目的を達成するために、本発明は、第１の端末および第２の端末が利用する印刷装置を制御するためのプリンタドライバを、前記第１の端末および前記第２の端末の各々にインストールさせることが可能であり、かつ、前記第１の端末および前記第２の端末の各々からの印刷要求を前記印刷装置へ送信する情報処理装置を、前記第１の端末から、前記印刷装置の設定を示すデバイス情報と、前記印刷装置を識別する識別情報とを含むデバイスデータを取得する取得手段と、前記デバイスデータに含まれる前記識別情報に基づいて、前記デバイス情報を記憶する記憶装置のうち、前記デバイスデータに含まれる前記デバイス情報を保存する場所を特定する特定手段と、前記特定手段により特定された場所に、前記デバイスデータに含まれる前記デバイス情報を書き込む書き込み手段と、前記書き込み手段による書き込みの対象となる前記デバイス情報を、前記第２の端末へ送信する送信手段として機能させるプログラムである。
【発明の効果】
【０００８】
本発明によれば、複数のクライアントが存在するＰｏｉｎｔ＆Ｐｒｉｎｔ環境において、あるクライアントが印刷装置と双方向通信を行って取得したデバイス設定を、他の双方向通信を行っていないクライアントに対しても自動的に反映させることができる。
【図面の簡単な説明】
【０００９】
【図１】図１は、システムの構成の一例を示す図である。
【図２】図２は、サーバおよびクライアントのハードウェア構成の一例を示す図である。
【図３】図３は、プリンタのハードウェア構成の一例を示す図である。
【図４】図４は、第１実施形態の概要を示す図である。
【図５】図５は、第１実施形態のサーバおよびクライアントの機能構成の一例を示す図である。
【図６】図６は、第１実施形態のデバイスデータのファイルの一例を示す模式図である。
【図７】図７は、第１実施形態のクライアントの動作例を示すフローチャートである。
【図８】図８は、第１実施形態のサーバの動作例を示すフローチャートである。
【図９】図９は、第２実施形態のサーバおよびクライアントの機能構成の一例を示す図である。
【図１０】図１０は、第２実施形態のデバイスデータのファイルの一例を示す模式図である。
【図１１】図１１は、第２実施形態のクライアントの動作例を示すフローチャートである。
【図１２】図１２は、第２実施形態のサーバの動作例を示すフローチャートである。
【図１３】図１３は、第３実施形態のサーバおよびクライアントの機能構成の一例を示す図である。
【図１４】図１４は、第３実施形態におけるＵＩの一例を示す図である。
【図１５】図１５は、第３実施形態のクライアントの動作例を示すフローチャートである。
【図１６】図１６は、第３実施形態のクライアントがＵＩを表示する場合の動作例を示すフローチャートである。
【発明を実施するための形態】
【００１０】
以下、添付図面を参照しながら、本発明に係るプログラム、情報処理装置およびシステムの実施形態を詳細に説明する。
【００１１】
（第１実施形態）
図１は、本実施形態のシステム１の構成の一例を示す図である。図１に示すシステム１は、インターネットなどのネットワーク１００上に、サーバ２００と、複数のＰＣ（３００Ａ、３００Ｂ）と、プリンタ４００とが配置されており、サーバ２００にインストールされているプリンンタドライバ（プリンタ４００を制御するためのデバイスドライバ）を、複数のＰＣ（３００Ａ、３００Ｂ）がＰｏｉｎｔ＆Ｐｒｉｎｔ環境で共有しているという構成である。以下の説明では、ＰＣ３００Ａを「クライアントＡ」と称し、ＰＣ３００Ｂを「クライアントＢ」と称する場合がある。また、クライアントＡおよびクライアントＢを互いに区別しない場合は、単に「クライアント」または「クライアントＰＣ」と称する場合がある。なお、図１の例では、２台のクライアントが例示されているが、これに限らず、システム１に含まれるクライアントの台数は任意である。例えば３台以上のクライアントがシステム１に含まれる形態であってもよい。
【００１２】
なお、本実施形態では、サーバ２００、クライアントＡおよびクライアントＢの各々には、Ｗｉｎｄｏｗｓ（登録商標）系のＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）がインストールされている。Ｐｏｉｎｔ＆Ｐｒｉｎｔは、Ｗｉｎｄｏｗｓ（登録商標）系のＯＳの標準の機能であり、図１のようなシステム（ネットワーク１００上に、サーバ２００と、複数のクライアントＰＣと、プリンタ４００とが配置されたシステム）において、クライアントＰＣは、サーバ２００をプリントサーバとしてプリンタ４００に印刷を実行させることができる。また、サーバ２００は、クライアントＡおよびクライアントＢの各々に、プリンタドライバをダウンロードしてインストールさせることができる。
【００１３】
要するに、Ｐｏｉｎｔ＆Ｐｒｉｎｔ環境においては、サーバ２００は、クライアントＡおよびクライアントＢが利用するプリンタ４００を制御するためのプリンタドライバを、クライアントＡおよびクライアントＢの各々にインストールさせることが可能であり、かつ、クライアントＡおよびクライアントＢの各々からの印刷要求をプリンタ４００へ送信する機能を有する。
【００１４】
図２は、サーバ２００およびクライアントのハードウェア構成の一例を示す図である。本実施形態では、サーバ２００およびクライアントは、一般的な情報処理端末と同様の構成を有する。図２に示すように、サーバ２００またはクライアントは、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１１１と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１１２と、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１１３と、ＨＤＤ（Ｈａｒｄ Ｄｉｓｋ Ｄｒｉｖｅ）１１４と、Ｉ／Ｆ１１５とを備え、これらはバスを介して接続されている。また、Ｉ／Ｆ１１５には、ＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）１１６及び操作部１１７が接続されている。
【００１５】
ＣＰＵ１１１は演算手段であり、サーバ２００またはクライアント全体の動作を制御する。ＲＡＭ１１２は、情報の高速な読み書きが可能な揮発性の記憶媒体であり、ＣＰＵ１１１が情報を処理する際の作業領域（ワークエリア）として用いられる。ＲＯＭ１１３は、読み出し専用の不揮発性記憶媒体であり、ファームウェア等のプログラムが格納されている。ＨＤＤ１１４は、情報の読み書きが可能な不揮発性の記憶媒体であり、ＯＳや各種の制御プログラム、アプリケーション・プログラム等が格納されている。Ｉ／Ｆ１１５は、バスと各種のハードウェアやネットワーク等を接続する制御を行う。ＬＣＤ１１６は、各種の情報を表示するディスプレイ装置であり、ユーザがサーバ２００またはクライアントの状態を確認するための視覚的ユーザインタフェースである。操作部１１７は、キーボードやマウス等、ユーザがサーバ２００またはクライアントに対して情報を入力するためのユーザインタフェースである。
【００１６】
図３は、プリンタ４００のハードウェア構成の一例を示す図である。ここでは、プリンタ４００は、複合機（ＭＦＰ：Multifunction  Peripheral）である場合を例に挙げて説明する。本図に示すように、プリンタ４００は、コントローラ１０とエンジン部（Ｅｎｇｉｎｅ）６０とをＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｆａｃｅ）バスで接続した構成となる。
【００１７】
コントローラ１０は、プリンタ４００全体の制御と描画、通信、図示しない操作部からの入力を制御するコントローラである。エンジン部６０は、ＰＣＩバスに接続可能なプリンタエンジンなどであり、たとえば白黒プロッタ、１ドラムカラープロッタ、４ドラムカラープロッタ、スキャナまたはファックスユニットなどである。なお、このエンジン部６０には、プロッタなどのいわゆるエンジン部分に加えて、誤差拡散やガンマ変換などの画像処理部分が含まれる。
【００１８】
コントローラ１０は、ＣＰＵ１１と、ノースブリッジ（ＮＢ）１３と、システムメモリ（ＭＥＭ−Ｐ）１２と、サウスブリッジ（ＳＢ）１４と、ローカルメモリ（ＭＥＭ−Ｃ）１７と、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）１６と、ハードディスクドライブ（ＨＤＤ）１０３とを有し、ノースブリッジ（ＮＢ）１３とＡＳＩＣ１６との間をＡＧＰ（Ａｃｃｅｌｅｒａｔｅｄ  Ｇｒａｐｈｉｃｓ Ｐｏｒｔ）バス１５で接続した構成となる。また、ＭＥＭ−Ｐ１２は、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１２ａと、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ)１２ｂと、をさらに有する。
【００１９】
ＣＰＵ１１は、プリンタ４００の全体制御をおこなうものであり、ＮＢ１３、ＭＥＭ−Ｐ１２およびＳＢ１４からなるチップセットを有し、このチップセットを介して他の機器と接続される。
【００２０】
ＮＢ１３は、ＣＰＵ１１とＭＥＭ−Ｐ１２、ＳＢ１４、ＡＧＰバス１５とを接続するためのブリッジであり、ＭＥＭ−Ｐ１２に対する読み書きなどを制御するメモリコントローラと、ＰＣＩマスタおよびＡＧＰターゲットとを有する。
【００２１】
ＭＥＭ−Ｐ１２は、プログラムやデータの格納用メモリ、プログラムやデータの展開用メモリ、プリンタの描画用メモリなどとして用いるシステムメモリであり、ＲＯＭ１２ａとＲＡＭ１２ｂとからなる。
【００２２】
ＲＯＭ１２ａは、プログラムやデータの格納用メモリとして用いる読み出し専用のメモリであり、ＲＡＭ１２ｂは、プログラムやデータの展開用メモリ、プリンタの描画用メモリなどとして用いる書き込みおよび読み出し可能なメモリである。
【００２３】
ＳＢ１４は、ＮＢ１３とＰＣＩデバイス、周辺デバイスとを接続するためのブリッジである。このＳＢ１４は、ＰＣＩバスを介してＮＢ１３と接続されており、このＰＣＩバスには、ネットワークインターフェース（Ｉ／Ｆ）部なども接続される。
【００２４】
ＡＳＩＣ１６は、画像処理用のハードウェア要素を有する画像処理用途向けのＩＣ（Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）であり、ＡＧＰバス１５、ＰＣＩバス、ＨＤＤ１０３およびＭＥＭ−Ｃ１７をそれぞれ接続するブリッジの役割を有する。
【００２５】
このＡＳＩＣ１６は、ＰＣＩターゲットおよびＡＧＰマスタと、ＡＳＩＣ１６の中核をなすアービタ（ＡＲＢ）と、ＭＥＭ−Ｃ１７を制御するメモリコントローラと、ハードウェアロジックなどにより画像データの回転などをおこなう複数のＤＭＡＣ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌｌｅｒ）と、エンジン部６０との間でＰＣＩバスを介したデータ転送をおこなうＰＣＩユニットとからなる。このＡＳＩＣ１６には、ＰＣＩバスを介してＦＣＵ（Ｆａｃｓｉｍｉｌｅ  Ｃｏｎｔｒｏｌ  Ｕｎｉｔ）３０、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）４０、ＩＥＥＥ１３９４（ｔｈｅ  Ｉｎｓｔｉｔｕｔｅ  ｏｆ  Ｅｌｅｃｔｒｉｃａｌ  ａｎｄ  Ｅｌｅｃｔｒｏｎｉｃｓ  Ｅｎｇｉｎｅｅｒｓ  １３９４）インターフェース５０が接続される。
【００２６】
操作表示部２２０はＡＳＩＣ１６に直接接続されている。ＭＥＭ−Ｃ１７は、コピー用画像バッファ、符号バッファとして用いるローカルメモリである。ＨＤＤ１０３は、画像データの蓄積、プログラムの蓄積、フォントデータの蓄積、フォームの蓄積を行うためのストレージである。また、ＨＤＤ１０３は、プリンタ４００で実行されるアプリケーションのライセンスファイルを保存する。
【００２７】
ＡＧＰバス１５は、グラフィック処理を高速化するために提案されたグラフィックスアクセラレーターカード用のバスインターフェースであり、ＭＥＭ−Ｐ１２に高スループットで直接アクセスすることにより、グラフィックスアクセラレーターカードを高速にするものである。
【００２８】
図４は、Ｐｏｉｎｔ＆Ｐｒｉｎｔ環境において、クライアントＡがプリンタ４００と双方向通信を行い、プリンタ４００の設定（例えば用紙サイズなどの設定）を示すデバイス情報を取得した際に、その取得したデバイス情報を、自動的に他のクライアントＢと共有するという本実施形態の概要を示す模式図である。図４に示すように、まず、プリンタ４００の用紙サイズの設定（図４の例ではＡ４→Ｂ５）が変更された状況下で、クライアントＡがプリンタ４００と双方向通信を行い、プリンタ４００のデバイス情報を取得する。そして、クライアントＡは、その取得したデバイス情報と、プリンタ４００を識別するプリンタアイコン名（請求項の「識別情報」に対応）とを含むデバイスデータを、サーバ２００へ送信する。サーバ２００は、クライアントＡから取得したデバイスデータを、クライアントＢにも共有させるという流れである。
【００２９】
この例では、クライアントＡは請求項の「第１の端末」に対応し、クライアントＢは請求項の「第２の端末」に対応し、サーバ２００は請求項の「情報処理装置」に対応していると考えることができるが、これに限られるものではない。例えばクライアントＢがプリンタ４００と双方向通信を行ってデバイス情報を取得し、その取得したデバイス情報と、プリンタ４００のプリンタアイコン名とを含むデバイスデータを、サーバ２００へ送信し、サーバ２００は、クライアントＢから取得したデバイスデータを、クライアントＡにも共有させるという流れも考えられる。この場合は、クライアントＢが請求項の「第１の端末」に対応し、クライアントＡが請求項の「第２の端末」に対応していると捉えることもできる。ただし、以下では、図４の場合を例に挙げて説明する。
【００３０】
図５は、クライアントＡ、クライアントＢおよびサーバ２００の各々の機能構成の一例を示す図である。まず、クライアントＡの構成について説明する。図５に示すように、クライントＡは、双方向通信部３０１と、ＵＩ（Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）部３０２と、デバイスデータ作成部３０３と、デバイスデータ送信部３０４と、レジストリデータ受信部３０５と、レジストリ３０６とを備える。本実施形態では、双方向通信部３０１、ＵＩ部３０２、デバイスデータ作成部３０３、デバイスデータ送信部３０４、および、レジストリデータ受信部３０５の各々の機能は、クライアントＡのＣＰＵ１１１がＲＯＭ１１３等に格納されたプログラムを実行することにより実現される。
【００３１】
双方向通信部３０１は、プリンタ４００と双方向通信を行い、プリンタ４００からデバイス情報を取得する。この例では、双方向通信部３０１は、請求項の「第２の取得手段」に対応していると考えることができる。
【００３２】
ＵＩ部３０２は、ユーザから、プリンタ４００と双方向通信を行うよう指示を受け、それを双方向通信部３０１へ伝える。また、ＵＩ部３０２は、ユーザから、双方向通信で取得したデバイス情報を保存する指示を受けると、デバイスデータ作成部３０３に対して、デバイスデータの作成を依頼する。
【００３３】
デバイスデータ作成部３０３は、双方向通信部３０１が取得したデバイス情報と、プリンタ４００のプリンタアイコン名とを含むデバイスデータを作成する。図６は、デバイスデータのファイルの一例を示す図である。このファイルは、双方向通信を行ったクライアントとサーバ２００間でデバイス情報を共有するためのファイルである。このファイルをクライアントからサーバ２００へ送信し、デバイス情報の共有を行う。このファイルは、用紙のサイズの設定や、両面ユニットの有無などを示す情報（デバイス情報）を保存している。また、プリンタアイコン名も保存している。
【００３４】
図５に戻って説明を続ける。この例では、双方向通信部３０１、ＵＩ部３０２、デバイスデータ作成部３０３の各々の機能は、クライアントＡにインストールされたプリンタドライバにより提供される機能である。つまり、双方向通信部３０１、ＵＩ部３０２、デバイスデータ作成部３０３の各々の機能は、クライアントＡのＣＰＵ１１１が、プリンタドライバに対応するプログラムを実行することにより実現される。
【００３５】
デバイスデータ送信部３０４は、デバイスデータ作成部３０３により作成されたデバイスデータを、サーバ２００へ送信する。この例では、デバイスデータ送信部３０４は、請求項の「第２の送信手段」に対応していると考えることができる。本実施形態では、デバイスデータ送信部３０４は、ＬａｎｇｕａｇｅＭｏｎｉｔｏｒ（ＬＭ）を利用して、デバイスデータ作成部３０３により作成されたデバイスデータを、サーバ２００へ送信する。ＬａｎｇｕａｇｅＭｏｎｉｔｏｒ（ＬＭ）は、Ｗｉｎｄｏｗｓ（登録商標）の印刷アーキテクチャで用いられる機能の１つであり、スプーラ（プリントプロセッサ）からデータを受け取り、受け取ったデータをポートモニタに送信することが本来の機能であるが、この例では、このＬａｎｇｕａｇｅＭｏｎｉｔｏｒ（ＬＭ）の機能を応用して、デバイスデータ作成部３０３により作成されたデバイスデータを、サーバ２００へ送信している。
【００３６】
レジストリデータ受信部３０５は、サーバ２００から送られてくるデバイスデータを受信する。この例では、レジストリデータ受信部３０５は、請求項の「受信手段」に対応していると考えることができる。レジストリデータ受信部３０５で受信したデバイスデータは、設定情報を格納するレジストリ３０６に対して情報を書き込む権限（本実施形態のクライアントはこの権限を有していない）を有するサーバ２００の制御の下、レジストリ３０６のＰｒｉｎｔｅｒＤｒｉｖｅｒＤａｔａの下に書き込まれる。この例では、レジストリ３０６は、１以上のプリンタアイコンごとに記憶領域が設けられており、サーバ２００は、デバイスデータに含まれるプリントアイコン名を参照して、レジストリ３０６のうち当該デバイスデータに含まれるデバイス情報を格納する場所を特定することができる。例えばレジストリ３０６のＰｒｉｎｔｅｒＤｒｉｖｅｒＤａｔａのパスは、「ＨＫＥＹ＿ＬＯＣＡＬ＿ＭＡＣＨＩＮＥ￥ＳＹＳＴＥＭ￥ＣｕｒｒｅｎｔＣｏｎｔｒｏｌＳｅｔ￥Ｃｏｎｔｒｏｌ￥Ｐｒｉｎｔ￥Ｐｒｉｎｔｅｒｓ￥プリンタアイコン名￥ＰｒｉｎｔｅｒＤｒｉｖｅｒＤａｔａ」のように表される。
【００３７】
次に、サーバ２００の構成について説明する。図５に示すように、サーバ２００は、デバイスデータ受信部２０１と、レジストリ書込部２０２と、レジストリ２０３と、レジストリデータ送信部２０４とを備える。本実施形態では、デバイスデータ受信部２０１、レジストリ書込部２０２、および、レジストリデータ送信部２０４の各々の機能は、サーバ２００のＣＰＵ１１１がＲＯＭ１１３等に格納されたプログラムを実行することにより実現される。
【００３８】
デバイスデータ受信部２０１は、クライアントＡから送られてくるデバイスデータを受信する。この例では、デバイスデータ受信部２０１は、請求項の「取得手段」または「第１の取得手段」に対応していると考えることができる。また、この例では、デバイスデータ受信部２０１は、ＬａｎｇｕａｇｅＭｏｎｉｔｏｒ（ＬＭ）を利用して、クライアントＡから送られてくるデバイスデータを受信（取得）する。
【００３９】
レジストリ書込部２０２は、デバイスデータ受信部２０１で受信したデバイスデータに含まれるデバイス情報を、設定情報を格納するレジストリ２０３のＰｒｉｎｔｅｒＤｒｉｖｅｒＤａｔａの下に書き込む。クライアントＡのレジストリ３０６と同様に、レジストリ２０３は、１以上のプリンタアイコンごとに記憶領域が設けられており、レジストリ書込部２０２は、デバイスデータ受信部２０１で受信したデバイスデータに含まれるプリントアイコン名を参照して、レジストリ２０３のうち当該デバイスデータに含まれるデバイス情報を格納する場所を特定し、その特定した場所に、当該デバイスデータに含まれるデバイス情報を書き込む。例えばレジストリ２０３のＰｒｉｎｔｅｒＤｒｉｖｅｒＤａｔａのパスは、「ＨＫＥＹ＿ＬＯＣＡＬ＿ＭＡＣＨＩＮＥ￥ＳＹＳＴＥＭ￥ＣｕｒｒｅｎｔＣｏｎｔｒｏｌＳｅｔ￥Ｃｏｎｔｒｏｌ￥Ｐｒｉｎｔ￥Ｐｒｉｎｔｅｒｓ￥プリンタアイコン名￥ＰｒｉｎｔｅｒＤｒｉｖｅｒＤａｔａ」のように表される。この例では、レジストリ書込部２０２は、ＬａｎｇｕａｇｅＭｏｎｉｔｏｒ（ＬＭ）を利用して、デバイスデータ受信部２０１で受信したデバイスデータをレジストリ２０３に書き込む。
【００４０】
なお、この例では、レジストリ書込部２０２は、請求項の「特定手段」に対応する機能と、請求項の「書き込み手段」に対応する機能とを兼ね備えていると考えることができるが、これに限らず、例えば請求項の「特定手段」に対応する機能と、請求項の「書き込み手段」に対応する機能とが個別に設けられる形態であってもよい。また、この例では、レジストリ２０３は、請求項の「記憶装置」に対応していると考えることができる。
【００４１】
レジストリデータ送信部２０４は、レジストリ書込部２０２による書き込みの対象となるデバイス情報を、クライアントＢへ送信する（見方を変えれば、クライアントＢのレジストリ３１２に対して当該デバイス情報を書き込む制御を行う）。この例では、レジストリデータ送信部２０４は、請求項の「送信手段」または「第１の送信手段」に対応していると考えることができる。Ｐｏｉｎｔ＆Ｐｒｉｎｔ環境であれば、レジストリのＰｒｉｎｔｅｒＤｒｉｖｅｒＤａｔａの下に書き込んだデータは、サーバクライアント間で共有されるため、本実施形態では、この仕組みを用いて、クライアントＡが取得したデバイス情報を、クライアントＢにも共有させる。
【００４２】
次に、クライアントＢの構成について説明する。図５に示すように、クライアントＢは、レジストリデータ受信部３１１と、レジストリ３１２と、ＵＩ部３１３とを備える。本実施形態では、レジストリデータ受信部３１１およびＵＩ部３１３の各々の機能は、クライアントＢのＣＰＵ１１１がＲＯＭ１１３等に格納されたプログラムを実行することにより実現される。
【００４３】
レジストリデータ受信部３１１は、サーバ２００から送られてくるデバイス情報を受信する。この例では、レジストリデータ受信部３１１は、請求項の「受信手段」に対応していると考えることができる。レジストリデータ受信部３１１で受信したデバイスデータは、設定情報を格納するレジストリ３１２に対して情報を書き込む権限を有するサーバ２００の制御の下、レジストリ３１２のＰｒｉｎｔｅｒＤｒｉｖｅｒＤａｔａの下に書き込まれる。クライアントＡのレジストリ３０６およびサーバ２００のレジストリ２０３と同様に、レジストリ３１２は、１以上のプリンタアイコンごとに記憶領域が設けられており、サーバ２００は、クライアントＡから取得したデバイスデータに含まれるプリントアイコン名を参照して、レジストリ３１２のうち当該デバイスデータに含まれるデバイス情報を格納する場所を特定することができる。例えばレジストリ３１２のＰｒｉｎｔｅｒＤｒｉｖｅｒＤａｔａのパスは、「ＨＫＥＹ＿ＬＯＣＡＬ＿ＭＡＣＨＩＮＥ￥ＳＹＳＴＥＭ￥ＣｕｒｒｅｎｔＣｏｎｔｒｏｌＳｅｔ￥Ｃｏｎｔｒｏｌ￥Ｐｒｉｎｔ￥Ｐｒｉｎｔｅｒｓ￥プリンタアイコン名￥ＰｒｉｎｔｅｒＤｒｉｖｅｒＤａｔａ」のように表される。
【００４４】
ＵＩ部３１３は、ユーザの指示に応じて、ＵＩを開く際にレジストリ３１２（この例では、プリンタ４００のプリンタアイコン名に対応するＰｒｉｎｔｅｒＤｒｉｖｅｒＤａｔａの下）を参照する。レジストリ３１２にはクライアントＡとの間で共有化されたデバイス情報が保存されているため、本特許の目的である「プリンタドライバとプリンタのデバイス設定（デバイス情報）の乖離を防ぐこと」が達成可能となる。
【００４５】
なお、この例では、ＵＩ部３１３の機能は、クライアントＢにインストールされたプリンタドライバにより提供される機能である。つまり、ＵＩ部３１３の機能は、クライアントＢのＣＰＵ１１１が、プリンタドライバに対応するプログラムを実行することにより実現される。また、ここでは、詳細な図示を省略しているが、クライアントＢにインストールされたプリンタドライバは、クライアントＡにインストールされたプリンタドライバと同様の機能を有しており、前述の双方向通信部３０１、ＵＩ部３０２およびデバイスデータ作成部３０３の各々に対応する機能も有している。同様に、クライアントＡにインストールされたプリンタドライバも、クライアントＢにインストールされたプリンタドライバと同様の機能を有しており、前述のＵＩ部３１３に対応する機能を有している。
【００４６】
次に、図７を用いて、クライアントＡがサーバ２００へデバイスデータを送信するまでの動作フローを説明する。まず、ユーザが、ＵＩ部３０２を介して、プリンタ４００のデバイス情報の取得を指示する。そして、双方向通信部３０１は、プリンタ４００と双方向通信を行い、プリンタ４００のデバイス情報を取得する（ステップＳ１）。次に、デバイスデータ作成部３０３は、ステップＳ１で取得したデバイス情報と、プリンタ４００を識別するプリンタアイコン名とを含むデバイスデータを作成する（ステップＳ２）。
【００４７】
次に、ユーザが、ＵＩ部３０２を介して、「ＯＫ」や「適用」を示すボタン画像を押下し、デバイス情報の保存を指示した場合（ステップＳ３：Ｙｅｓ）、処理はステップＳ４へ移行する。一方、ユーザが、ＵＩ部３０２を介して、「キャンセル」を示すボタン画像を押下し、デバイス情報の保存を指示しなかった場合（ステップＳ３：Ｎｏ）、処理は終了する。
【００４８】
ステップＳ４において、デバイスデータ送信部３０４は、ステップＳ２で作成されたデバイスデータのファイル（例えば図６参照）を、サーバ２００へ送信する。前述したように、デバイス情報の共有方法については、ＬＭを用いた共有方法を利用する。
【００４９】
次に、図８を用いて、サーバ２００が、クライアントＡからデバイスデータを受信（取得）し、そのデバイスデータに含まれるデバイス情報をレジストリ２０３に書き込むまでの動作フローを説明する。まず、サーバ２００のデバイスデータ受信部２０１が、クライアントＡから送られてくるデバイスデータを受信する（ステップＳ１１）。次に、サーバ２００のレジストリ書込部２０２は、ステップＳ１１で受信したデバイスデータに含まれるプリンタアイコン名を参照して、レジストリ２０３のうち、当該デバイスデータに含まれるデバイス情報を書き込む場所を特定（レジストリ２０３のどのパスにデバイス情報を書き込めばよいかを判断）する（ステップＳ１２）。次に、レジストリ書込部２０２は、ステップＳ１２で特定した場所に、ステップＳ１１で受信したデバイスデータに含まれるデバイス情報を書き込む（ステップＳ１３）。より具体的には、レジストリ書込部２０２は、ステップＳ１２で決定したレジストリ２０３のパスを基に、レジストリ２０３のＰｒｉｎｔｅｒＤｒｉｖｅｒＤａｔａの下に、ステップＳ１１で受信したデバイスデータに含まれるデバイス情報を書き込む。
【００５０】
前述したように、クライアントＡが取得したデバイス情報を、レジストリ２０３に書き込むことにより、複数のクライアント（この例では、クライアントＡとクライアントＢ）の間で当該デバイス情報が共有されることになる。これにより、複数のクライアントが存在するＰｏｉｎｔ＆Ｐｒｉｎｔ環境においても、プリンタ４００とクライアントのデバイス設定（デバイス情報が示す設定）が乖離することを防止できる。
【００５１】
なお、以上の実施形態においては、クライアントＡは、ＬａｎｇｕａｇｅＭｏｎｉｔｏｒ（ＬＭ）を利用して、デバイスデータをサーバ２００へ送信し、サーバ２００は、ＬＭを利用して、クライアントＡから送られてくるデバイスデータを受信し、受信したデバイスデータをレジストリ２０３へ書き込んでいるが、これに限られるものではない。例えばクライアントＡが、印刷の実行を命令する印刷ジョブをサーバ２００へ渡す際に、プリンタ４００から取得したデバイス情報と、プリンタアイコン名とを印刷ジョブに含ませる(追加する)ことで、デバイスデータをサーバ２００へ渡すといった方法も考えられる。また、デバイスデータを受信したサーバ２００は、ＬＭとは異なる機能を利用して、その受信したデバイスデータを、レジストリ２０３へ書き込む形態であってもよい。
【００５２】
（第２実施形態）
次に、第２実施形態について説明する。第２実施形態では、サーバ２００は、クライアントＡ（クライアントＢでもよい）から取得（受信）したデバイスデータが最新のデバイスデータであるか否かを判断し、最新のデバイスデータであると判断した場合に、当該デバイスデータに含まれるデバイス情報を、レジストリ２０３に書き込んで共有化する点で第１実施形態と相違する。以下、具体的に説明する。なお、第１実施形態と共通する部分については適宜に説明を省略する。
【００５３】
図９は、クライアントＡ、クライアントＢおよびサーバ２００の各々の機能構成の一例を示す図である。基本的な流れは、図４で説明した内容と同様であるとする。以下、第１実施形態とは異なる部分を中心に説明する。
【００５４】
クライアントＡが有するデバイスデータ作成部３０７は、双方向通信部３０１で取得したデバイス情報と、双方向通信部３０１がデバイス情報を取得した時刻（見方を変えれば、クライアントＡがプリンタ４００と双方向通信を行った時刻）を示す時刻情報と、プリンタ４００を識別するプリンタアイコン名とを含むデバイスデータを作成する。図１０は、本実施形態におけるデバイスデータのファイルの一例を示す図である。クライアントＡがデバイス情報を取得した時刻（クライアントＡがプリンタ４００と双方向通信を行った時刻）を示す時刻情報を、デバイスデータとして保存する理由は、サーバ２００へデバイスデータのファイルを送信した際に、サーバ２００が、クライアントＡから送られてきたデバイスデータのファイルが最新のものかどうかを判断できるようにするためである。
【００５５】
図９に戻って説明を続ける。サーバ２００は、デバイスデータ更新判断部２０５をさらに備える。デバイスデータ更新判断部２０５は、デバイスデータ受信部２０１で受信したデバイスデータに含まれる時刻情報に基づいて、当該デバイスデータが最新であるか否かを判断する。レジストリ書込部２０２は、デバイスデータ更新判断部２０５により、デバイスデータ受信部２０１で受信したデバイスデータが最新であると判断された場合、レジストリ２０３のうち当該デバイスデータに含まれるプリンタアイコン名を参照して特定した場所に、当該デバイスデータに含まれるデバイス情報および時刻情報を対応付けて書き込む。一方、レジストリ書込部２０２は、デバイスデータ更新判断部２０５により、デバイスデータ受信部２０１で受信したデバイスデータが最新ではないと判断された場合、当該デバイスデータに含まれるデバイス情報および時刻情報をレジストリ２０３に書き込むことはしない。
【００５６】
なお、本実施形態では、デバイスデータ更新判断部２０５は、デバイスデータ受信部２０１で受信したデバイスデータに含まれるプリンタアイコン名に対応する記憶領域に記憶済みの時刻情報と、当該デバイスデータに含まれる時刻情報とを比較して、当該デバイスデータに含まれる時刻情報が示す時刻が、レジストリ２０３に記憶済みの時刻情報が示す時刻よりも後であれば、当該デバイスデータは最新のものであると判断する。この例では、デバイスデータ更新判断部２０５は、請求項の「判断手段」に対応していると考えることができる。
【００５７】
次に、図１１を用いて、クライアントＡがサーバ２００へデバイスデータを送信するまでの動作フローを説明する。図１１に示すステップＳ２１の処理内容は、図７に示すステップＳ１の処理内容と同様である。ステップＳ２１の後のステップＳ２２において、クライアントＡのデバイスデータ作成部３０３は、ステップＳ２１で取得したデバイス情報と、ステップＳ２１でデバイス情報を取得した時刻（クライアントＡがプリンタ４００と双方向通信を行った時刻）を示す時刻情報と、プリンタ４００を識別するプリンタアイコン名とを含むデバイスデータを作成する。ステップＳ２３およびステップＳ２４の処理内容は、図７に示すステップＳ３およびステップＳ４の処理内容と同様であるので、詳細な説明は省略する。
【００５８】
次に、図１２を用いて、サーバ２００が、クライアントＡからデバイスデータを受信（取得）し、そのデバイスデータに含まれるデバイス情報をレジストリ２０３に書き込むまでの動作フローを説明する。まず、サーバ２００のデバイスデータ受信部２０１が、クライアントＡから送られてくるデバイスデータを受信する（ステップＳ３１）。次に、サーバ２００のデバイスデータ更新判断部２０５は、ステップＳ３１で受信したデバイスデータに含まれる時刻情報と、レジストリ２０３のうち当該デバイスデータに含まれるプリンタアイコン名に対応する記憶領域に記憶済みの時刻情報とを比較して、ステップＳ３１で受信したデバイスデータが最新であるか否かを判断する（ステップＳ３２）。
【００５９】
デバイスデータ更新判断部２０５が、ステップＳ３１で受信したデバイスデータが最新ではないと判断した場合（ステップＳ３３：Ｎｏ）、処理は終了する。一方、デバイスデータ更新判断部２０５が、ステップＳ３１で受信したデバイスデータが最新であると判断した場合（ステップＳ３３：Ｙｅｓ）、レジストリ書込部２０２は、レジストリ２０３のうち、ステップＳ３１で受信したデバイスデータに含まれるデバイス情報および時刻情報を書き込む場所を特定する（ステップＳ３４）。この内容は、図８に示すステップＳ１２の処理内容と同様である。次に、レジストリ書込部２０２は、ステップＳ３４で特定した場所に、ステップＳ３１で受信したデバイスデータに含まれるデバイス情報および時刻情報を対応付けて書き込む（ステップＳ３５）。
【００６０】
本実施形態では、サーバ２００は、クライアントＡから取得したデバイスデータが最新の場合にのみ、当該デバイスデータに含まれるデバイス情報をレジストリ２０３に書き込んで、複数のクライアント（この例では、クライアントＡとクライアントＢ）の間で当該デバイス情報を共有させる。これにより、共有されるデバイス情報が、古いデバイス情報で上書きされてしまうことを確実に防止できる。
【００６１】
（第３実施形態）
次に、第３実施形態について説明する。第３実施形態では、クライアントが、プリンタ４００と双方向通信して取得したデバイス情報を、他のクライアントと共有するかどうかを選択することができる点で第１実施形態および第２実施形態と相違する。
【００６２】
ここで、Ｐｏｉｎｔ＆Ｐｒｉｎｔ環境では、複数のクライアントは常に最新のデバイス設定を共有できていることが望ましいが、一方では、複数のクライアントに対して、最新のデバイス設定を共有したくないという場合も想定される。例えば、あるクライアントが特殊紙を使って１ジョブだけ印刷したい場合などが考えられる。具体例を挙げると、あるクライアントは特殊紙を使用して印刷するために、一時的にプリンタ４００本体の用紙を入れ替える。その特殊紙は自分のみ利用したい（その特殊紙の枚数が限られている場合など）のだが、本体の用紙設定が他のクライアントに共有されてしまうと、他のクライアントもその特殊紙を使用して印刷することができる状況ができてしまう。これを避けるためには、クライアントが双方向通信で取得したデバイス情報を、他のクライアントへ共有させないようにする必要がある。その取得したデバイス情報を他のクライアントとの間で共有しなければ、他のクライアントのプリンタドライバの設定と、プリンタ４００本体の設定との間に乖離が起き、他のクライアントは、その特殊紙を使用して印刷することはできない状態となる。このように、複数のクライアント間でデバイス情報を共有したくないという状況もあるため、本実施形態では、双方向通信を行うクライアントが、双方向通信でプリンタ４００から取得したデバイス情報を、他のクライアントと共有するかどうかを選択可能な構成を採用している。以下、具体的に説明する。なお、第１実施形態および第２実施形態と共通する部分については適宜に説明を省略する。
【００６３】
図１３は、クライアントＡ、クライアントＢおよびサーバ２００の各々の機能構成の一例を示す図である。基本的な流れは、図４で説明した内容と同様であるとする。以下、第１実施形態とは異なる部分を中心に説明する。
【００６４】
クライアントＡが有するＵＩ部３２１は、第１実施形態で説明した機能に加えて、双方向通信部３０１で取得したデバイス情報を、他のクライアントＢと共有するかどうかを設定するための項目を示すＵＩを表示する機能を有する。図１４は、このＵＩの一例を示す図である。ユーザが、図１４に示す「デバイス情報の共有」に対応するチェックボックスにチェックを入れる入力を行うと、この入力を受け付けたＵＩ部３２１は、双方向通信部３０１で取得したデバイス情報を、他のクライアントＢと共有することを示す共有設定情報を設定する（共有設定をオンにする）。一方、ＵＩ部３２１は、図１４に示す「デバイス情報の共有」に対応するチェックボックスにチェックを入れる入力を受け付けていない場合は、双方向通信部３０１で取得したデバイス情報を、他のクライアントＢと共有しないことを示す共有設定情報を設定する（共有設定をオフにする）。この例では、ＵＩ部３２１は、請求項の「設定手段」に対応する機能を有していると考えることができる。
【００６５】
また、クライアントＡが有するデバイスデータ作成部３２２は、双方向通信部３０１で取得したデバイス情報と、ＵＩ部３２１が設定した共有設定情報と、プリンタ４００を識別するプリンタアイコン名とを含むデバイスデータを作成する。
【００６６】
また、クライアントＡが有する共有設定判定部３２３は、ＵＩ部３２１が設定した共有設定情報が、双方向通信部３０１で取得したデバイス情報を他のクライアントＢと共有しないことを示す場合は、双方向通信部３０１で取得されたデバイス情報をサーバ２００へ送信する制御を行わない。例えば共有設定判定部３２３は、デバイスデータ作成部３２２が作成したデバイスデータに含まれる共有設定情報を参照して、当該共有設定情報が、双方向通信部３０１で取得したデバイス情報を他のクライアントＢと共有しないことを示す場合は、そのデバイスデータをストレージ３２４へ格納し、デバイスデータ送信部３０４に対して、デバイスデータ作成部３２２が作成したデバイスデータをサーバ２００へ送信することを依頼しない。
【００６７】
一方、共有設定判定部３２３は、ＵＩ部３２１が設定した共有設定情報が、双方向通信部３０１で取得したデバイス情報を他のクライアントＢと共有することを示す場合は、双方向通信部３０１で取得されたデバイス情報をサーバ２００へ送信する制御を行う。例えば共有設定判定部３２３は、デバイスデータ作成部３２２が作成したデバイスデータに含まれる共有設定情報を参照して、当該共有設定情報が、双方向通信部３０１で取得したデバイス情報を他のクライアントＢと共有することを示す場合は、デバイスデータ送信部３０４に対して、デバイスデータ作成部３２２が作成したデバイスデータをサーバ２００へ送信することを依頼する。この例では、共有設定判定部３２３は、請求項の「制御手段」に対応する機能を有していると考えることができる。
【００６８】
次に、図１５を用いて、クライアントＡの動作フローを説明する。図１５に示すステップＳ４１〜ステップＳ４３の処理内容は、図７に示すステップＳ１〜ステップＳ３の処理内容とほぼ同様であるので、詳細な説明は省略する。ステップＳ４３において、ユーザが、デバイス情報の保存を指示した場合（ステップＳ４３：Ｙｅｓ）、共有設定判定部３２３は、ステップＳ４２で作成されたデバイスデータに含まれる共有設定情報が、双方向通信部３０１で取得したデバイス情報を他のクライアントＢと共有することを示すか否かを判断（共有設定がオンかどうかを判断）する（ステップＳ４４）。共有設定がオンの場合（ステップＳ４４：Ｙｅｓ）、共有設定判定部３２３は、デバイスデータ送信部３０４に対して、ステップＳ４２で作成されたデバイスデータをサーバ２００へ送信することを依頼する（ステップＳ４５）。一方、共有設定がオフの場合（ステップＳ４４：Ｎｏ）、共有設定判定部３２３は、ステップＳ４２で作成されたデバイスデータをストレージ３２４に保存し（ステップＳ４６）、デバイスデータ送信部３０４に対して、ステップＳ４２で作成されたデバイスデータをサーバ２００へ送信することは依頼しない。
【００６９】
次に、図１６を用いて、クライアントＡがＵＩを表示する場合の動作フローを説明する。本実施形態では、クライアントＡが双方向通信を行ってデバイス情報を取得した時、次にクライアントＡがＵＩを表示する際に、共有設定のオンオフによって参照すべきデータの場所が異なる。例えば、共有設定がオンの場合は、他のクライアントＢと共有する最新のデバイス情報がサーバ２００を介してクライアントＡのレジストリ３０６に格納されているため、ＵＩを表示する際にはそのレジストリ３０６を参照すればよい。一方、共有設定がオフの場合は、最新のデバイス情報は、クライアントＡのローカルのストレージ３２４に存在するため、ＵＩを表示する際にはそのストレージ３２４を参照すればよい。
【００７０】
図１６に示すように、まず、ユーザは、クライアントＡに対してＵＩ表示の要求を行う（ステップＳ５１）。見方を変えれば、クライアントＡは、ユーザからのＵＩ表示の要求を受け付ける。次に、クライアントＡの共有設定判定部３２３は、共有設定がオンかどうかを判断する（ステップＳ５２）。この例では、共有設定判定部３２３は、ＵＩ部３２１によって設定された最新の共有設定情報が、双方向通信部３０１で取得したデバイス情報を他のクライアントＢと共有することを示しているかどうかを判断する。
【００７１】
共有設定がオンの場合（ステップＳ５２：Ｙｅｓ）、ＵＩ部３２１は、レジストリ３０６に保存されたデバイス情報を参照し（ステップＳ５３）、表示する値を決定する。一方、共有設定がオフの場合（ステップＳ５２：Ｎｏ）、ＵＩ部３２１は、ストレージ３２４に保存されたデバイス情報を参照し（ステップＳ５４）、表示する値を決定する。ステップＳ５３またはステップＳ５４の後、ＵＩ部３２１は、ステップＳ５３またはステップＳ５４で決定した値に応じてＵＩ表示を行う（ステップＳ５５）。
【００７２】
以上、本発明に係る実施形態について説明したが、本発明は、上述の各実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上述の各実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、各実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【００７３】
なお、上述した実施形態のシステム１で実行されるプログラムは、インストール可能な形式または実行可能な形式のファイルでＣＤ−ＲＯＭ、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよいし、インターネット等のネットワーク経由で提供または配布するように構成してもよい。また、各種プログラムを、ＲＯＭ等の不揮発性の記録媒体に予め組み込んで提供するように構成してもよい。
【符号の説明】
【００７４】
１      システム
１００  ネットワーク
２００  サーバ
２０１  デバイスデータ受信部
２０２  レジストリ書込部
２０３  レジストリ
２０４  レジストリデータ送信部
２０５  デバイスデータ更新判断部
３０１  双方向通信部
３０２  ＵＩ部
３０３  デバイスデータ作成部
３０４  デバイスデータ送信部
３０５  レジストリデータ受信部
３０６  レジストリ
３０７  デバイスデータ作成部
３１１  レジストリデータ受信部
３１２  レジストリ
３１３  ＵＩ部
３２１  ＵＩ部
３２２  デバイスデータ作成部
３２３  共有設定判定部
３２４  ストレージ
４００  プリンタ
【先行技術文献】
【特許文献】
【００７５】
【特許文献１】特開２００１−７５７５４号公報
【図１】
2015166927.tif 000003
【図２】
2015166927.tif 000004
【図３】
2015166927.tif 000005
【図４】
2015166927.tif 000006
【図５】
2015166927.tif 000007
【図６】
2015166927.tif 000008
【図７】
2015166927.tif 000009
【図８】
2015166927.tif 000010
【図９】
2015166927.tif 000011
【図１０】
2015166927.tif 000012
【図１１】
2015166927.tif 000013
【図１２】
2015166927.tif 000014
【図１３】
2015166927.tif 000015
【図１４】
2015166927.tif 000016
【図１５】
2015166927.tif 000017
【図１６】
2015166927.tif 000018