JP2008059373A - 情報処理方法、情報処理装置、プログラム及び記憶媒体 - Google Patents

情報処理方法、情報処理装置、プログラム及び記憶媒体 Download PDF

Info

Publication number
JP2008059373A
JP2008059373A JP2006236751A JP2006236751A JP2008059373A JP 2008059373 A JP2008059373 A JP 2008059373A JP 2006236751 A JP2006236751 A JP 2006236751A JP 2006236751 A JP2006236751 A JP 2006236751A JP 2008059373 A JP2008059373 A JP 2008059373A
Authority
JP
Japan
Prior art keywords
printer
configuration information
network
network device
information processing
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.)
Granted
Application number
JP2006236751A
Other languages
English (en)
Other versions
JP2008059373A5 (ja
JP4912093B2 (ja
Inventor
Yasuhiro Hosoda
泰弘 細田
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 JP2006236751A priority Critical patent/JP4912093B2/ja
Publication of JP2008059373A publication Critical patent/JP2008059373A/ja
Publication of JP2008059373A5 publication Critical patent/JP2008059373A5/ja
Application granted granted Critical
Publication of JP4912093B2 publication Critical patent/JP4912093B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Computer And Data Communications (AREA)

Abstract

【課題】 ネットワークデバイスが有する全ての能力に対応したデバイスドライバをプラグアンドプレイインストールすること。
【解決手段】 ネットワークデバイスが有する能力に対応したデバイスドライバをプラグアンドプレイインストールする情報処理方法は、ネットワークデバイスから取得した第1デバイス構成情報に基づき、ネットワークデバイスが有する第1の能力を認識し、第1デバイス構成情報に基づき、ネットワークデバイスが他の能力を有するか判定する。ネットワークデバイスが他の能力を有する場合、他の能力を第1の能力として書き換えた第2デバイス構成情報を生成し、第2デバイス構成情報に対応する仮想デバイス用の識別子を生成する。そして、識別子をプラグアンドプレイインストールを実行するインストール部に送信する。
【選択図】 図4

Description

本発明は、ネットワークデバイスが有する全ての能力に対応したデバイスドライバをプラグアンドプレイインストールするための情報処理技術に関する。
特定の情報処理装置やオペレーションシステム(以下「OS」と略す)上で動作するアプリケーションに依存しないように、印刷装置は独自の描画言語体系であるコマンドインターフェースを有している。描画言語体系には、例えば、PDL(Page Description Langauage)が含まれる。
描画言語体系は個々の印刷装置に依存する。よってその依存性をカプセル化するために、OSは、標準的な描画インタフェースを入力とし、その印刷装置依存の描画言語体系のコマンドに変換し出力するプリンタドライバというモジュールを定義している。このプリンタドライバは、一般には、印刷装置の製造元やOS開発者などによって作成され、情報処理装置内に格納される。
情報処理装置内に格納されるプリンタドライバは多数存在する。そのため情報処理装置に存在する全てのプリンタドライバをユーザに示すのは混乱の元である。つまり、ユーザの使用する印刷装置のみだけ効率的に結びつけ、ユーザが使用可能な状態にしたい。よってOSの初期状態ではプリンタドライバは情報処理装置内に格納されるだけであり、ユーザは特定の印刷装置にプリンタドライバを結びつける作業であるOSへのプリンタドライバのインストールを行う必要がある。
このインストール作業は、従来、ユーザが手動で行っていた。しかし、ユーザは煩雑な印刷装置ドラバのインストール作業を行う必要があり、また異なる描画言語体系のコマンドを、その描画体系をサポートしていない印刷装置に送った場合、印刷エラーとなる。このため、該当の印刷装置に対応したプリンタドライバを正しくインストールする必要があり、初心者には難しい作業であった。
この煩雑なインストール作業を軽減するために、米国セントロニクス社使用のパラレルインタフェースやUSB(Universal Serial Bus)インタフェースなどの通信媒介を用いることが可能である。情報処理装置と印刷装置とを接続するだけで、ユーザが操作を行わなくても自動的に情報処理装置と印刷装置で双方向通信を行い、その印刷装置に該当するドライバを情報処理装置にインストールする機能をOSに導入している。この機能を「プラグアンドプレイ」と呼ぶ(特許文献1)。プラグアンドプレイは直接的な一対一の接続である。
近年、ネットワークのインフラが整備されるに従い、ネットワーク対応型の印刷装置、スキャナ、複写機等のネットワーク周辺デバイスが急速に普及しつつある。ネットワーク上の各種サービスを提供するデバイスを、ネットワークを介して探索する技術が開発されている。例えば、このような技術には米国マイクロソフト社の提唱するUniversal Plug and Play(以下、「UPnP」と略す)が存在する(特許文献2)。
ネットワーク対応型のネットワークデバイスとしての印刷装置を例に説明する。事前に使用するクライアント、例えば、パーソナルコンピュータ上に、そのクライアント上で稼動するオペレーティングシステム、例えばWindows(登録商標)によりデータベース上に登録管理された該当ドライバをインストールする。あるいは、印刷装置ベンダからフレキシブルディスク、CD−ROM等の記録媒体を介して提供されるドライバソフトウエア(ドライバ)をインストールする。そして、印刷装置に割り当てられたIPアドレス、印刷装置ポート、使用するプリントプロトコル、デバイスドライバ等の印刷装置を動作させるための情報を把握する必要がある。
その印刷装置を他のネットワークへ移動させたり、そのネットワークへの新規加入などにより、ネットワークシステムに接続されている装置の構成は刻々と変化している。このことを鑑み、ネットワーク上に存在する印刷装置を管理するためには、印刷装置の情報を把握して管理する技術が開発されつつある。
しかし、UPnPなどの既存の管理システムは、印刷装置とコンピュータを接続するための技術仕様であるが、機器同士が通信するためのプロトコルとデータフォーマットについて規定しているだけである。
また、ユーザや各国市場の要求を満たすために、多種多様な印刷装置のための描画言語体系が作られ、市場に送り出されている。それぞれの描画言語体系のために印刷装置を一から開発するのは費用がかさむ。このコストを軽減するために各描画言語体系に依存する部分を拡張ボードやソフトウェアとして分離し、ユーザの要求や各国市場要求に応じて、印刷装置に、その拡張ボードやソフトウェアを搭載し直すことが可能な印刷装置も出てきている。
加えて、ユーザが好む描画言語体系が複数個存在する環境のために、一つの印刷装置で複数個の描画言語体系をサポートする印刷装置も登場している。
描画言語体系が拡張ボードやソフトウェアによって変更可能な印刷装置や、複数個の描画言語体系をサポートする印刷装置は、プラグアンドプレイ搭載時には想定されていないものである。
検出された一つの印刷装置に対して、複数の描画言語体系からいずれかのPDLを選択するなどの、印刷装置に詳しくないユーザが混乱する選択作業を不要するユーザインターフェイスが望まれている。
上記の理由により、あるOSに搭載されているプラグアンドプレイでは、印刷装置から情報処理装置に受け渡される印刷装置の識別子(DeviceID)のうち、製造者名と印刷装置名でのみプリンタドライバの検索を行うものがある。この検索では、描画言語体系を示す情報を無視して、印刷装置の識別子のうち、製造者名と印刷装置名でのみ、印刷装置に該当するプリンタドライバを情報処理装置内から検索し、最初に検出したものをインストールする。
特開2003−216378公報 特開2003−6133公報
しかしながら上記の仕組みでは、印刷装置から同時に取得可能なデバイス識別子は1つしかなく、複数のPDLに対応する複数のプリンタドライバをプラグアンドプレイでインストールすることはできない。
また、印刷機能だけでなく、FAX機能も備えた複合装置においても同様に、印刷用ドライバとFAXドライバの両方をプラグアンドプレイでインストールできることが望まれる。しかしながら現状の仕組みでは、デバイスに設定された識別子に依存するドライバだけがインストールされる。
本発明は、複数の機能ドライバをサポートするデバイスからプラグアンドプレイインストール用の識別子を1つしか取得できない場合でも、全ての機能ドライバをインストールすることを可能にする情報処理技術の提供を目的とする。
上記の目的を達成する本発明に係る情報処理方法は、ネットワークデバイスが有する能力に対応したデバイスドライバをプラグアンドプレイインストールするための情報処理方法であって、
前記ネットワークデバイスから取得した第1デバイス構成情報に基づき、前記ネットワークデバイスが有する第1の能力を認識する認識工程と、
前記第1デバイス構成情報に基づき、前記ネットワークデバイスが他の能力を有するか判定する判定工程と、
前記判定工程の判定により、前記ネットワークデバイスが他の能力を有する場合、前記他の能力を第1の能力として書き換えた第2デバイス構成情報を生成し、前記第2デバイス構成情報に対応する仮想デバイス用の識別子を生成する生成工程と、
前記生成工程により生成された前記識別子を、前記プラグアンドプレイインストールを実行するインストール部に送信する送信工程と
を備えることを特徴とする。
あるいは、本発明に係る情報処理装置は、ネットワークデバイスが有する能力に対応したデバイスドライバをプラグアンドプレイインストールするインストール部を有する情報処理装置であって、
前記ネットワークデバイスから取得した第1デバイス構成情報に基づき、前記ネットワークデバイスが有する第1の能力を認識する認識手段と、
前記第1デバイス構成情報に基づき、前記ネットワークデバイスが他の能力を有するか判定する判定手段と、
前記判定手段の判定により、前記ネットワークデバイスが他の能力を有する場合、前記他の能力を第1の能力として書き換えた第2デバイス構成情報を生成し、前記第2デバイス構成情報に対応する仮想デバイス用の識別子を生成する生成手段と、
前記生成手段により生成された前記識別子を、前記プラグアンドプレイインストールを実行する前記インストール部に送信する送信手段と
を備えることを特徴とする。
本発明によれば、複数の機能ドライバをサポートするデバイスからプラグアンドプレイインストール用の識別子を1つしか取得できない場合でも、全ての機能ドライバをプラグアンドプレイインストールすることが可能になる。
以下に、図面を参照して、この発明の好適な実施の形態を例示的に詳しく説明する。ただし、この実施の形態に記載されている構成要素はあくまで例示であり、この発明の範囲をそれらのみに限定する趣旨のものではない。
(第1実施形態)
図1は本発明の実施形態に係るプリントシステムの構成をソフトウェア面からみたブロック図である。図7は、第1実施形態に係るプリントシステムにおけるクライアントコンピュータ(以下、単に「クライアント」と呼ぶ)100、プロキシサーバ300、ネットワークデバイスの例としてプリンタ200の通信を簡略的に示す図である。
(クライアント100)
クライアント100には、不図示の米国マイクロソフト社が提供するOSであるwindows(登録商標)や米国Apple社が提供するMac OS(登録商標)等の汎用オペレーティングシステムがインストールされている。更に、クライアント100には、汎用オペレーティングシステム上で実行可能な汎用アプリケーションがインストールされている。
汎用オペレーティングシステムは、通信機能としてTCP/UDP/IPプロトコルスタック107を備え、そのプロトコルスタック上にHTTP106を備え、HTTPリクエストの解析、およびレスポンス処理を行う。HTTP106上には、Simple Object Access Protocol(SOAP)処理部103を備え、UPnPに関する通信手段を形成している。UPnPのためのプラグアンドプレイインストール部101は、ネットワーク上のUPnP対応プリンタ200および代理応答装置(プロキシサーバ300)と通信を行うために、上記通信手段を用いることが可能である。
クライアント100にUPnPで検出したプリンタ200等を表示し、ユーザに選択させるために、プラグアンドプレイインストール部101はGUI部102を利用する。
Configuratorモジュール部104は、ネットワーク700を介してプリンタ200より取得した情報に基づいて、予めハードディスクに格納された中から該当するプリンタドライバをOSに登録(インストール)する。
詳しくは、OSのアプリケーションプログラムインタフェース(API)から、システムインストーラ108を呼び出す。システムインストーラ108は、ハードディスクからプリンタドライバを取得して、ドライバ格納部111にインストールする。同時に、システムインストーラ108は、自動的にドライバ管理部110にデバイスID(デバイス識別子)に基づいてプリンタドライバを登録するようシステム管理部109に登録依頼を行う。以後、OSはプリンタドライバが登録されていることを認識するので、ドライバ格納部111に格納されたプリンタドライバを適宜ローディングして印刷に関する各種処理を行う。本実施形態におけるプラグアンドプレイインストール101部は、以下のデバイス構成情報を取得する。デバイス構成情報には、デバイス(プリンタ200)がサポートする能力を特定する情報が含まれる。以下に示すデバイス構成情報の場合、「サポートコマンド・言語」には、PDL1,PDL2と記述されており、デバイス(プリンタ200)が複数のPDLに対応した処理能力を有することがわかる。
MANUFACTURER(デバイス製造社):ABC
COMMAND SET (サポートコマンド・言語):PDL1,PDL2
MODEL(プリンタ機種):Printer A PDL1
COMMENT(コメント):Located In ROOM3
ACTIVE COMMAND SET:(アクティブなコマンド・言語):PDL1
プラグアンドプレイインストール部101は、上記のデバイス構成情報からデバイス製造社とプリンタ機種との組をデバイスIDとして抽出し、システムインストーラ108が認識可能なデバイスIDに変換してインストールを行う。
予めハードディスクに格納されたデバイスドライバにはドライバインストール時に参照される固有情報を記述したINFファイルが含まれる。INFファイルには、デバイス製造社とプリンタ機種の組から構成されるデバイスIDが記述されている。デバイスIDは、インストール時に対応するデバイス(プリンタ)とデバイスドライバ(プリンタドライバ)を対応づけるために、デバイス識別子(以下、単に「識別子」ともいう)として用いられる。
(ネットワーク対応型デバイス)
ネットワーク対応型デバイス(本実施形態ではネットワーク対応型プリンタ200を例とする)は、通信機能としてTCP/UDP/IPプロトコルスタック201を備える。プロトコルスタック201上にHTTP202を備え、HTTPリクエストの解析、およびレスポンス処理を行う。HTTP202の上位層にはSimple Object Access Protocol(SOAP)処理部203を備え、SOAP処理部203の上位層にUPnPプロトコル処理部204を備える。
ネットワーク対応型プリンタ(以下、単に「プリンタ」という。)200は、UPnP Forumで策定されたPrintBasicサービスを実装しているものとする。UPnPプロトコル処理部204は、PrintBasicサービスで定義されたプリントジョブ、および属性情報を解析し、プリンタコントローラ205に対し、そのプリント要求を送出する機能を備える。
プリンタ200は、複数のPDLに対するプリンタコントローラ205を同時に有することが出来る。またプリンタコントローラ205を脱着可能にし、ユーザの要求に応じて差し替えて、プリンタ200がサポートするPDLを変更することも可能である。本実施形態におけるプリンタ200は、PDL1、PDL2の2つのPDLのためのプリンタコントローラ(PDL1、PDL2)205a、205bを搭載しているものとする。
(プロキシサーバ)
実施形態において特徴となるネットワークデバイス管理装置として機能するプロキシサーバ(代理サーバ)300も同様に、通信機能としてTCP/UDP/IPプロトコルスタック301を備える。プロトコルスタック301上にHTTP302を備え、HTTPリクエストの解析、およびレスポンス処理を行う。
HTTP302の上位層にはSimple Object Access Protocol(SOAP)処理部303が設けられている。UPnPプロトコル処理部304、およびデバイス管理部306がそれぞれ、クライアント200、およびプロキシサーバ300が複数ネットワーク上に存在する場合、XMLで記述されたデータの双方向通信を実現する。
デバイス管理部306は、SOAP処理部303、UPnPプロトコル処理部304、及び記憶装置制御部305の上位層に設けられている。デバイス管理部306は、UPnPプロトコルスタック301で受信した各種XMLドキュメントを解析・変換、デバイス識別子の生成などを行う。記憶装置制御部305は、記憶装置を制御して、受信データ、解析結果、変換結果、送信データ等の読み書きを行う。また、UPnPプロトコル処理部304にデータを送信するなどの処理を実行する。
デバイス管理部306は、プロキシサーバ300が管理する管理テーブルを、記憶装置制御部305を介して記憶装置制御部305が制御する記憶装置に対し書き込み、読み出し処理を行う。また、同様に、デバイス管理部306は、ネットワーク700上に存在する他のプロキシサーバが管理する管理テーブルを取得した場合、記憶装置制御部305を介して、記憶装置制御部305が制御する記憶装置に対し書き込み、読み出し処理を行う。
以上は、各装置のプリントに関する実装されるコンピュータプログラムの構成であるが、クライアント100、プロキシサーバ300は、通常のパーソナルコンピュータ等の情報処理装置で実現することが可能である。ハードウェアとしての構成は、例えば、図2のようになる。
図2において、CPU1001は装置全体の制御を司り、ROM1002はBIOSやブートプログラムを記憶する。RAM1003はCPU1001のワークエリアとして使用することが可能である。ハードディスク装置(HDD)1004には、OS、アプリケーションや各種プログラム、並びに、データファイル等が格納される。ネットワークインタフェース(I/F)1005は、ネットワーク700と接続するために、イーサネット(登録商標)カードや無線LANカードを用いることができる。表示制御部1006は、ビデオメモリ及びCPU1001の制御により描画を行うと共にビデオメモリに記憶された画像データをビデオ信号として出力するビデオコントローラが内蔵される。
表示装置1007は、液晶表示器やCRTに代表されるものである。入力装置1008にはキーボードやマウス等が含まれる。
上記構成において、装置の電源がONになると、CPU1001はROM1002のブートプログラムに従って、ハードディスク1004からOSをRAM1003にロードし、各種デバイスドライバをロードする。上記の装置がクライアント100である場合、図1に示す構成のプログラムをRAM1003にロードし、実行することになる。これはプロキシサーバ300でも同様である。プロキシサーバ300の場合、OSがロードされた後、図1に示す構成のプログラムをRAM1003にロードし、且つ、後述する処理を行うことになる。
図3は、プリンタ200のブロック構成図である。図3において、CPU2001はプリンタ全体の制御を司り、ROM2002はCPU2001が実行する印刷処理プログラムやフォントデータを格納する。RAM2003はCPU2001のワークエリア、受信バッファ、画像描画に使用することが可能である。操作パネル2004は各種スイッチやボタン、並びに、メッセージ表示用の液晶表示部で構成される。ネットワークインタフェース(I/F)2005を介して、プリンタ200はネットワーク700に接続することが可能である。レンダリング部2006は描画処理を実行し、プリンタエンジン2007は、レンダリング部2006により描画処理されたデータに基づいて、実際に記録紙に印刷処理を実行する。
本実施形態では、プリンタ200、プロキシサーバ300、クライアント100は、マイクロソフト社の提唱する仕様に準拠したプロトコルで通信することが可能である。例えば、Web Services Dynamic Discovery (WS-Discovery)の仕様に準拠したプロトコルにより通信を行うことも可能である。Web Services MetadataExchange (WS-MetadataExchange)の仕様に準拠したプロトコルにより通信を行うことも可能である。あるいは、Web Services Eventing (WS-Eventing)の仕様に準拠したプロトコルにより通信を行うことも可能である。
本実施形態に係る処理の流れを図4のフローチャートを参照して説明する。
図4は、本実施形態に係るプロキシサーバ300がデバイス(プリンタ200)からHelloメッセージを受信した時の動作を表したフローチャートである。図7に示すように、デバイス(プリンタ200)は、起動時にHelloメッセージをマルチキャストでネットワーク700に送信する。
ステップS401において、プロキシサーバ300は、デバイス(プリンタ200)からのHelloメッセージを常にリッスンしており、デバイス(プリンタ200)からのHelloメッセージを受信する。
ステップS402において、プロキシサーバ300は、Helloメッセージに含まれる識別子UUID(Universally Unique Identifier)から、例えば、デバイス(プリンタ200)を一意に特定するために判定を行う。プロキシサーバ300は、識別子UUIDに基づいて、プロキシサーバの管理テーブルに登録されているデバイス(プリンタ200)があるか否かを判断する。
既にデバイス(プリンタ200)が登録済みの場合は(S402−YES)、処理をステップS408に進め、管理テーブルに記録しているデバイス(プリンタ200)のステイタスを編集して処理を終了する。
未登録の場合は(S402−No)、デバイス(プリンタ200)から更に詳細な情報を得るため、プロキシサーバ300は、デバイス(プリンタ200)に対してGetMetaDataメッセージを送信する。GetMetaDataメッセージを受信したデバイス(プリンタ200)は、GetMetaDataResponceメッセージを返信する。デバイス(プリンタ200)が返信するGetMetaDataResponceメッセージは、例えば、デバイス構成情報(プリンタ構成情報)の参照(URI)を含む。
次に、プロキシサーバ300は、Getメッセージをデバイス(プリンタ200)に送信する。Getメッセージには、プリンタ構成情報の参照URIを含み、これを受信したデバイス(プリンタ200)は、GetResponceメッセージを返信する。GetResponceメッセージには、図5に示すような、プリンタ構成情報500が含まれているものとする。ここで、プリンタ構成情報500には、デバイス製造社501、サポートコマンド・言語502、プリンタ機種503、コメント504、アクティブなコマンド・言語505、IPアドレス506が含まれる。
ステップS403において、上記の処理によりプロキシサーバは、デバイス(プリンタ200)からプリンタ構成情報500を取得する。
ステップS404において、プロキシサーバ300は、プリンタ機種503の情報(Printer A PDL1)から取得したプリンタ構成情報をPDL1用のプリンタドライバインストール用の情報であることを認識する。そして、プロキシサーバ300は、他のPDLをサポートしているか判定する。プロキシサーバ300は、サポートコマンド・言語502の情報から、PDL1の他、PDL2もサポートしていると判定する。
ステップS404の判定で、プロキシサーバ300が、他のPDLもデバイスはサポートしていると判定した場合(S404−YES)、処理をステップS405に進める。ステップS404の判定で、他のPDLをサポートしていないとプロキシサーバ300が判定した場合(S404−NO)、処理をステップS406に進める。
S405において、プロキシサーバ300は、図6に示すようなプリンタ機種603の情報を「Printer A PDL2」に、アクティブなコマンド・言語605の情報を「PDL2」と書き換えたプリンタ構成情報を生成する。
プロキシサーバ300は、プリンタ構成情報を書き換えたデバイス(プリンタ200)と異なるデバイス(プリンタ)として、クライアント100に認識させる為、プリンタ構成情報を書き換えたデバイス用の識別子を生成する。
ステップS406において、プロキシサーバ300は、生成したプリンタ構成情報と識別子を管理テーブルに登録する。
次に、ステップS407において、プロキシサーバ300は、仮想的なデバイス(プリンタ)として、プリンタ構成情報が書き換えられたプリンタの代わりにHelloメッセージをマルチキャストで送信する。Helloメッセージには、先のステップS405で生成した識別子が含まれる。識別子のアドレスは、プリンタのアドレスではなく、プロキシサーバ300のアドレスにマッピングする。
Helloメッセージを受信したクライアント100は、プロキシサーバ300、デバイス(プリンタ200)間の通信と同様に、GetMetaDataメッセージ、Getメッセージを、プロキシサーバ300に送信し、プリンタ構成情報を取得する。クライアント100は、プロキシサーバ300との通信により、図6に示すデバイス構成情報の取得が可能である。
複数の機能をサポートするデバイス(プリンタ200)からプラグアンドプレイインストール用のデバイス識別子を1つしか取得できない場合、プロキシサーバ300は、プリンタ構成情報を書き換えた識別子を生成する。識別子がプロキシサーバ300により生成されたデバイスは、識別子に基づいて判断した場合、デバイス(プリンタ200)と異なる仮想的なデバイスとなる。
プリンタ構成情報の書き換えにおいて、IPアドレスは変更されないため、全ての機能ドライバをプラグアンドプレイインストールするインストール先はデバイス(プリンタ200)となる。
クライアント100は取得したプリンタ構成情報のうちデバイス製造社501とプリンタ機種の情報から、ネットワーク700上のデバイスを識別するためのデバイスIDを生成し、プラグアンドプレイを実行する。これにより、Printer AのPDL2用のドライバがデバイス(プリンタ200)インストールされる。
PDL1用のドライバは図5に示すプリンタ構成情報に基づいて通常のプラグアンドプレイインストールによりインストールされるので、クライアント100は、全ての機能ドライバをプラグアンドプレイインストールできる。
以上の処理により、Helloメッセージパケットの受信を終了する(S408)。
本実施形態に拠れば、複数の機能ドライバをサポートするデバイスからプラグアンドプレイインストール用の識別子を1つしか取得できない場合でも、全ての機能ドライバをプラグアンドプレイインストールすることが可能になる。
(第2実施形態)
第1実施形態では、プロキシサーバ300がデバイス(プリンタ200)からHelloメッセージを受信した場合の動作を説明したが、プロキシサーバ300が能動的にデバイス(200)にアクセスして情報を取得してもよい。例えば、プロキシサーバ300がネットワーク700上のデバイス(プリンタ200)を探索し、探索の結果、検出したデバイス(プリンタ200)からデバイス構成情報(プリンタ構成情報)を取得しても良い。
図8は、第2実施形態におけるクライアント100、プロキシサーバ300、デバイス(プリンタ200)間の通信を概略的に示す図である。図8において、Probはデバイス探索用のメッセージであり、ProbMatchは、デバイスから返信されるProbに対する応答メッセージである。
図9は、第2実施形態におけるクライアント100、プロキシサーバ300、デバイス(プリンタ200)間の通信を概略的に示す図であり、プロキシサーバ300がデバイス探索用サーバとして機能する場合を例示する図である。
Subscribeメッセージを受け、プロキシサーバ300がデバイス探索用サーバとしてクライアント100から利用される場合、クライアント100に対してHelloメッセージを送信する必要は無い。この場合、クライアント100からデバイス構成情報(プリンタ構成情報)の問い合わせがあった場合に、プリンタ構成情報を通知する。若しくは、クライアント100がプロキシサーバ300にイベント通知の登録を行い、プロキシサーバ300が未登録のデバイスを検出した場合に、プロキシサーバ300はデバイス構成情報をクライアントに通知する。
プロキシサーバ300は、Notificationメッセージによりプリンタ200から取得したプリンタ構成情報500と、プリンタ構成情報500に基づいて生成したプリンタ構成情報600をクライアント100に通知する。
尚、プロキシサーバ300が代理する対象は、プリンタ200に限らず、他のデバイスでも構わない。プリンタ以外のネットワーク対応型デバイスとしてはハードディスク等のストレージデバイス、スキャナ、複写機、FAX及びそれら複合機能を備えるデバイス(複合装置)でもよい。デバイスが備える通信機能を介してプロキシサーバ300と属性情報の交換、ジョブの送受信が可能な装置であればいずれの場合においても実現可能である。また、この場合、プロキシサーバ300とネットワーク対応型デバイス間の通信プロトコルは標準化された、あるいは汎用プロトコルであっても、ベンダ固有のプロトコルであっても同様に実現可能である。
デバイスとプロキシサーバ300との間は、USB、IEEE1394、パラレル通信などのローカル接続による通信によっても実現可能であるし、ネットワークは有線、無線を問わない。
また、上述の実施形態において、プロキシサーバ300は独立に存在していたが、プロキシサーバ300の機能はネットワーク対応型デバイスの内部もしくはクライアントの内部に物理的に、あるいは論理的に組み込まれている場合においても実現可能である。
この場合、ネットワークデバイスが有する能力に対応したデバイスドライバをプラグアンドプレイインストールするインストール部を有する情報処理装置は以下各部の構成を備えることになる。各部の処理は、例えば、クライアント100の場合、CPU1001の制御の基に実行されることになる。
認識部は、ネットワークデバイスから取得した第1デバイス構成情報に基づき、ネットワークデバイスが有する第1の能力を認識する。判定部は、第1デバイス構成情報に基づき、ネットワークデバイスが他の能力を有するか判定する。また、生成部は、判定部の判定により、ネットワークデバイスが他の能力を有する場合、他の能力を第1の能力として書き換えた第2デバイス構成情報を生成し、第2デバイス構成情報に対応する仮想デバイス用の識別子を生成する。そして、送信部は、生成部により生成された識別子を、プラグアンドプレイインストールを実行するインストール部に送信する。
ここで、インストール部は、情報処理装置内に構成することも可能であり、他の情報処理装置内に構成することも可能である。
また、第1及び第2実施形態では、プロキシサーバ300が提供するプロトコル変換の組み合わせとしてマイクロソフト社が主体となって提唱、策定しているUniversal Plug and Playの例を示している。しかしながら、本発明の趣旨は、この例に限定されるものではなく、例えば、Apple社の提案するRendezvousに対しても実現可能である。また、ビジネス機械・情報システム産業教会(JBMIA)が提案するBMLinkSなどのプロトコルに対しても実現可能である。
また、これらデバイスの検索、デバイスの制御が統合化されたプロトコルの適用に本発明の趣旨は限定されるものではない。例えば、Service Location Protocol(SLP)、Multicast DNS Service Discovery等のデバイスが提供するサービスを検索するためのプロトコルへの利用も可能である。更に、Web ServiceのようにXML/SOAPをベースとしたRemote Procedure Call(RPC)形式によるデバイスの制御を、従来の制御プロトコルに変換するために利用することも可能である。
本発明に係る第1及び第2実施形態において、プロキシサーバ間の情報通知プロトコルとしてHTTP/TCP/UDP/IPプロトコルを使用した例を示しているが、本発明はトランスポート手段に依存するものではない。例えば、双方向の通信が可能であれば他の汎用プロトコル、あるいは独自プロトコルを使用した場合でも実現可能である。
本実施形態に拠れば、複数の機能ドライバをサポートするデバイスからインストール用の識別子を1つしか取得できない場合でも、全ての機能ドライバをネットワークプロトコルに従ってインストールすることが可能になる。
(他の実施形態)
第1及び第2実施形態の特徴的な処理は、プロキシサーバ300の処理にある。プロキシサーバ300は、先に説明したように、ハードディスク等の記憶装置を必要とするものの、パーソナルコンピュータ等の情報処理装置上で動作させるサーバアプリケーションプログラムで実現している。従って、本発明は、プロキシサーバ300の処理を実行するためのコンピュータプログラムをその範疇とすることが可能である。
本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給することによっても、達成されることは言うまでもない。また、システムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読出し実行することによっても、達成されることは言うまでもない。
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、不揮発性のメモリカード、ROMなどを用いることができる。
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現される。また、プログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態が実現される場合も含まれることは言うまでもない。
第1及び第2実施形態に係る情報処理システムを構成する各デバイスのソフトウェアの構成を示す図である。 第1及び第2実施形態に係るクライアント及びプロキシサーバのハードウェア構成を示す図である。 第1及び第2実施形態に係るプリンタ200のハードウェア構成を示す図である。 第1実施形態に係るプロキシサーバ300がプリンタからHelloメッセージを受信した時の動作を示すフローチャートである。 第1実施形態に係るプロキシサーバ300がプリンタ200から取得するプリンタ構成情報を示す図である。 第1実施形態に係るプロキシサーバ300が生成する仮想的なプリンタ構成情報を示す図である。 第1実施形態に係るクライアント100、プロキシサーバ300、プリンタ200間の通信を概略的に示す図である。 第2実施形態に係るクライアント100、プロキシサーバ300、プリンタ200間の通信を概略的に示す図である。 第2実施形態に係るクライアント100、プロキシサーバ300、プリンタ200間の通信を概略的に示す図である。

Claims (8)

  1. ネットワークデバイスが有する能力に対応したデバイスドライバをプラグアンドプレイインストールするための情報処理方法であって、
    前記ネットワークデバイスから取得した第1デバイス構成情報に基づき、前記ネットワークデバイスが有する第1の能力を認識する認識工程と、
    前記第1デバイス構成情報に基づき、前記ネットワークデバイスが他の能力を有するか判定する判定工程と、
    前記判定工程の判定により、前記ネットワークデバイスが他の能力を有する場合、前記他の能力を第1の能力として書き換えた第2デバイス構成情報を生成し、前記第2デバイス構成情報に対応する仮想デバイス用の識別子を生成する生成工程と、
    前記生成工程により生成された前記識別子を、前記プラグアンドプレイインストールを実行するインストール部に送信する送信工程と
    を備えることを特徴とする情報処理方法。
  2. 前記ネットワークデバイスには、複数のPDLを処理する能力をサポートしたネットワーク対応印刷装置が含まれることを特徴とする請求項1に記載の情報処理方法。
  3. 前記ネットワークデバイスには、印刷機能およびFAX機能を有するネットワーク対応型複合装置が含まれることを特徴とする請求項1に記載の情報処理方法。
  4. ネットワークデバイスが有する能力に対応したデバイスドライバをプラグアンドプレイインストールするインストール部を有する情報処理装置であって、
    前記ネットワークデバイスから取得した第1デバイス構成情報に基づき、前記ネットワークデバイスが有する第1の能力を認識する認識手段と、
    前記第1デバイス構成情報に基づき、前記ネットワークデバイスが他の能力を有するか判定する判定手段と、
    前記判定手段の判定により、前記ネットワークデバイスが他の能力を有する場合、前記他の能力を第1の能力として書き換えた第2デバイス構成情報を生成し、前記第2デバイス構成情報に対応する仮想デバイス用の識別子を生成する生成手段と、
    前記生成手段により生成された前記識別子を、前記プラグアンドプレイインストールを実行する前記インストール部に送信する送信手段と
    を備えることを特徴とする情報処理装置。
  5. 前記ネットワークデバイスには、複数のPDLを処理する能力をサポートしたネットワーク対応印刷装置が含まれることを特徴とする請求項4に記載の情報処理装置。
  6. 前記ネットワークデバイスには、印刷機能およびFAX機能を有するネットワーク対応型複合装置が含まれることを特徴とする請求項4に記載の情報処理装置。
  7. 請求項1乃至3のいずれかに記載の情報処理方法をコンピュータに実行させることを特徴とするプログラム。
  8. 請求項7に記載のプログラムを格納したことを特徴とするコンピュータ可読の記憶媒体。
JP2006236751A 2006-08-31 2006-08-31 情報処理方法、情報処理装置、プログラム及び記憶媒体 Expired - Fee Related JP4912093B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006236751A JP4912093B2 (ja) 2006-08-31 2006-08-31 情報処理方法、情報処理装置、プログラム及び記憶媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006236751A JP4912093B2 (ja) 2006-08-31 2006-08-31 情報処理方法、情報処理装置、プログラム及び記憶媒体

Publications (3)

Publication Number Publication Date
JP2008059373A true JP2008059373A (ja) 2008-03-13
JP2008059373A5 JP2008059373A5 (ja) 2009-10-15
JP4912093B2 JP4912093B2 (ja) 2012-04-04

Family

ID=39242012

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006236751A Expired - Fee Related JP4912093B2 (ja) 2006-08-31 2006-08-31 情報処理方法、情報処理装置、プログラム及び記憶媒体

Country Status (1)

Country Link
JP (1) JP4912093B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010171473A (ja) * 2009-01-20 2010-08-05 Ricoh Co Ltd ネットワーク設定通知装置、ネットワーク設定方法、プログラムおよび記録媒体
JP2017134752A (ja) * 2016-01-29 2017-08-03 株式会社リコー 情報処理装置、情報処理システム、情報処理方法および情報処理プログラム
JP2020154700A (ja) * 2019-03-20 2020-09-24 ブラザー工業株式会社 通信デバイス

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07200494A (ja) * 1993-12-28 1995-08-04 Mitsubishi Electric Corp 分散制御方式
JPH09193507A (ja) * 1996-01-18 1997-07-29 Canon Inc 印刷装置および印刷装置の修正印刷方法
JPH10181158A (ja) * 1996-12-24 1998-07-07 Toshiba Corp プリンタドライバのインストール方法およびプリンタドライバのインストールプログラムを記憶した記憶媒体
JPH11161591A (ja) * 1997-11-28 1999-06-18 Brother Ind Ltd データ通信装置,データ通信方法,記憶媒体,及びデバイスドライバ
JP2002229751A (ja) * 2001-02-02 2002-08-16 Seiko Epson Corp プリンタドライバ配布システム、プリンタ、サーバ装置及びコンピュータ可読媒体
JP2004240589A (ja) * 2003-02-04 2004-08-26 Canon Inc 印刷システム及びその制御方法並びに情報処理装置及び方法
JP2005309617A (ja) * 2004-04-19 2005-11-04 Canon Inc ネットワークデバイス管理装置及びその制御方法、並びに、コンピュータプログラム及びコピー可読記憶媒体。
JP2006155306A (ja) * 2004-11-30 2006-06-15 Canon Inc デバイスドライバの管理方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07200494A (ja) * 1993-12-28 1995-08-04 Mitsubishi Electric Corp 分散制御方式
JPH09193507A (ja) * 1996-01-18 1997-07-29 Canon Inc 印刷装置および印刷装置の修正印刷方法
JPH10181158A (ja) * 1996-12-24 1998-07-07 Toshiba Corp プリンタドライバのインストール方法およびプリンタドライバのインストールプログラムを記憶した記憶媒体
JPH11161591A (ja) * 1997-11-28 1999-06-18 Brother Ind Ltd データ通信装置,データ通信方法,記憶媒体,及びデバイスドライバ
JP2002229751A (ja) * 2001-02-02 2002-08-16 Seiko Epson Corp プリンタドライバ配布システム、プリンタ、サーバ装置及びコンピュータ可読媒体
JP2004240589A (ja) * 2003-02-04 2004-08-26 Canon Inc 印刷システム及びその制御方法並びに情報処理装置及び方法
JP2005309617A (ja) * 2004-04-19 2005-11-04 Canon Inc ネットワークデバイス管理装置及びその制御方法、並びに、コンピュータプログラム及びコピー可読記憶媒体。
JP2006155306A (ja) * 2004-11-30 2006-06-15 Canon Inc デバイスドライバの管理方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010171473A (ja) * 2009-01-20 2010-08-05 Ricoh Co Ltd ネットワーク設定通知装置、ネットワーク設定方法、プログラムおよび記録媒体
JP2017134752A (ja) * 2016-01-29 2017-08-03 株式会社リコー 情報処理装置、情報処理システム、情報処理方法および情報処理プログラム
US10564906B2 (en) 2016-01-29 2020-02-18 Ricoh Company, Ltd. Information processing device, information processing system, and information processing method for prioritizing an installation of print drivers on information processing device
JP2020154700A (ja) * 2019-03-20 2020-09-24 ブラザー工業株式会社 通信デバイス
JP7322443B2 (ja) 2019-03-20 2023-08-08 ブラザー工業株式会社 通信デバイス

Also Published As

Publication number Publication date
JP4912093B2 (ja) 2012-04-04

Similar Documents

Publication Publication Date Title
JP4416563B2 (ja) ネットワークデバイス管理装置及びその制御方法、並びに、コンピュータプログラム及びコンピュータ可読記憶媒体
US9081526B2 (en) Peripheral device control system and method
JP4865299B2 (ja) 情報処理装置及び情報処理方法及びそのプログラム
US8205212B2 (en) Information processing apparatus, information processing method, alternate response apparatus, response method, control program, and network system
JP4756988B2 (ja) プログラム、機能情報提供装置、および機能情報提供方法
KR100779790B1 (ko) 프로토콜 변환 처리를 실행하는 장치, 방법, 및 기록 매체
US20090059272A1 (en) Printer auto installation
US8059294B2 (en) Image forming based on operation mode
JP5159071B2 (ja) 通信システム及び通信装置とその制御方法
JP2007114901A (ja) ネットワーク対応出力デバイス及び情報処理装置及びそれらの制御方法、並びにコンピュータプログラム及びコンピュータ可読記憶媒体、及び、ネットワークシステム
JP2007122376A (ja) ネットワークプリントシステム及びネットワーク周辺装置及び情報処理装置とプログラム
JP5537160B2 (ja) イベント代行通知装置及びその制御方法とそのプログラム
JP4467955B2 (ja) 情報処理装置、周辺装置制御システム及び情報処理装置に適用される周辺装置制御方法並びにそのプログラム
JP4912093B2 (ja) 情報処理方法、情報処理装置、プログラム及び記憶媒体
JP2009169966A (ja) 情報処理装置および情報処理方法および記憶媒体
JP2005038016A (ja) データ処理装置、データ処理方法、データ処理プログラム、及び画像形成装置
JP2007148828A (ja) 情報処理装置及びその制御方法
JP2008181519A (ja) ネットワーク上のドキュメント処理装置を見出すシステムおよび方法
JP4498045B2 (ja) 画像処理装置及びその制御方法及びプログラム
JP2007080280A (ja) 情報処理方法、情報処理装置、プログラム
JP4378338B2 (ja) 情報処理装置、デバイス設定方法、記憶媒体、プログラム
JP2009020916A (ja) 制御装置、制御プログラム、制御方法
JP2008152579A (ja) 印刷システム、情報処理装置及びそれらの制御方法、コンピュータプログラム

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090831

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090831

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111021

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111201

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: 20120113

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: 20120117

R151 Written notification of patent or utility model registration

Ref document number: 4912093

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

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

Free format text: PAYMENT UNTIL: 20150127

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees