JP2007080280A - 情報処理方法、情報処理装置、プログラム - Google Patents

情報処理方法、情報処理装置、プログラム Download PDF

Info

Publication number
JP2007080280A
JP2007080280A JP2006276894A JP2006276894A JP2007080280A JP 2007080280 A JP2007080280 A JP 2007080280A JP 2006276894 A JP2006276894 A JP 2006276894A JP 2006276894 A JP2006276894 A JP 2006276894A JP 2007080280 A JP2007080280 A JP 2007080280A
Authority
JP
Japan
Prior art keywords
information processing
processing apparatus
control program
peripheral device
information
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
JP2006276894A
Other languages
English (en)
Other versions
JP4378372B2 (ja
Inventor
Masahiro Nishio
雅裕 西尾
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 JP2006276894A priority Critical patent/JP4378372B2/ja
Publication of JP2007080280A publication Critical patent/JP2007080280A/ja
Application granted granted Critical
Publication of JP4378372B2 publication Critical patent/JP4378372B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)
  • Computer And Data Communications (AREA)

Abstract

【課題】 プユーザ又は管理者が、ネットワークを介して接続された周辺装置を制御するための制御プログラムをコンピュータにインストールする際に、既存の開発資源に大幅な変更を加えることなく、煩雑な操作を不要とすることである。
【解決手段】 ネットワーク探索プロトコルに従った探索要求に対する応答の中から、周辺装置に対応する第一の識別情報を認識し、該認識された第一の識別情報を用いて、制御プログラムを情報処理装置に対してインストールするためのインストールプログラムが解釈できる形式で記述された第二の識別情報を生成する。そして、生成した第二の識別情報を、情報処理装置に対してインストールするためのインストールプログラムに対して入力することにより、当該入力した第二の識別情報を用いた前記制御プログラムを前記情報処理装置に対してインストールする処理を制御する構成を特徴とする。
【選択図】 図4

Description

本発明は、ネットワークを介して所定の処理を行う周辺装置に対する設定を行う情報処理方法および情報処理装置およびプログラムに関するものである。
近年、ネットワークのインフラが整備されるに従い、ネットワーク対応型のプリンタ、スキャナ、複写機等の画像処理装置が急速に普及しつつある。ネットワーク上の各種サービスを提供するデバイスを、ネットワークを介して探索する技術が開発されつつある。例えば、このような技術にはマイクロソフト社の提唱するUniversal Plug and Play(UPnP)が存在する。
これらのネットワーク対応型の周辺装置を使用する場合、例えばネットワーク対応型プリンタを例にとると、事前に使用するクライアント、例えばパーソナルコンピュータ上に、そのクライアント上で稼動するオペレーティングシステム、例えばWindows(登録商標)によりデータベース上に登録管理された該当ドライバをインストールするか、あるいは、プリンタベンダからフレキシブルディスク、CD−ROM等の記録媒体を介して提供されるドライバソフトウエア(ドライバ)をインストールした上で、プリンタに割り当てられたIPアドレス、プリンタポート、使用するプリントプロトコル、デバイスドライバ等の周辺装置を動作させるための情報を把握する必要がある。そして、周辺装置の他のネットワークへの移動、ネットワークへの新規加入などにより、ネットワークシステムに接続されている装置の構成は刻々と変化しているが、ネットワーク上に存在する周辺装置を管理するためには、該周辺装置の情報を把握して管理する技術が開発されつつある。
しかし、UPnP1.0などの既存の管理システムは、周辺装置とコンピュータを接続するための技術仕様であるが、機器同士が通信するためのプロトコルとデータフォーマットについて規定しているだけである。
従って、UPnPなどの管理システムが管理している情報を用いたとしても、デバイスドライバなどの周辺装置を制御する制御プログラムをコンピュータにインストールするに際し、デバイスドライバ等の制御プログラムをインストールしてネットワーク上の周辺装置を利用可能とするためには煩雑な設定が必要であるという問題は依然として存在した。
一方、近年は、マイクロソフト社の提供するOSにおいて、USB(Universal Serial Bus)でローカル接続された周辺装置からデバイス番号を受信して認識し、自動的にデバイスドライバをインストールするプラグアンドプレイインストーラが搭載されている。
しかし、プラグアンドプレイインストールが出来るのは、ローカル接続に限られており、これをネットワークに拡張するアイデアはこれまで存在しなかった。
さらに、複数のネットワーク対応の周辺装置を管理する管理方式がネットワーク上に並存している場合、ある特定の管理方式に対応した管理システムからは、該特定の管理方式には対応していないネットワーク上の周辺装置を認識することができないという問題があった。
本発明は、上記の問題点を解決するためになされたもので、本発明の目的は、ユーザ又は管理者が、ネットワークを介して接続された周辺装置を制御するための制御プログラムをコンピュータにインストールする際に、既存の開発資源に大幅な変更を加えることなく、煩雑な操作を不要とするための仕組みを提供することを目的とする。
上記目的の少なくとも一つを達成するため、本発明の実施形態の一つにおいては、例えば、周辺装置と通信する情報処理装置であって、前記周辺装置を制御するための制御プログラムのインストーラが搭載された情報処理装置における情報処理方法において、特定のネットワーク探索プロトコルに従う前記周辺装置の探索要求を発行する発行工程と、前記周辺装置から、前記周辺装置の第一の識別情報が付加された、前記発行手段が発行した特定のネットワーク探索プロトコルに従った探索要求に対する応答を取得する取得工程と、前記ネットワーク探索プロトコルに従った探索要求に対する応答の中から、前記周辺装置に対応する第一の識別情報を認識する認識工程と、前記認識工程にて認識された第一の識別情報を用いて、制御プログラムを前記情報処理装置に対してインストールするためのインストールプログラムが解釈できる形式で記述された第二の識別情報を生成する生成工程と、前記生成工程が生成した第二の識別情報を、前記情報処理装置に対してインストールするためのインストールプログラムに対して入力することにより、当該入力した第二の識別情報を用いた前記制御プログラムを前記情報処理装置に対してインストールする処理を制御するインストール制御工程とを有することを特徴とする。
本発明によれば、ネットワーク上の周辺装置を認識して、ローカル用のインストーラを利用して対応するドライバをインストールできる。
次に本発明を実施するための最良の形態について図面を参照して説明する。
<システム構成の説明>
図1は、本発明の一実施形態を示す情報処理装置及び周辺装置を適用可能な印刷システムの構成を説明するブロック図であり、ネットワークNETを介して、本発明の情報処理装置の好適な一例であるクライアントPC(以下、単にクライアントともいう)と周辺装置としてのプリンタPRとが通信可能な印刷システムの例に対応する。周辺装置としては、プリンタ、複写機、ファクシミリ若しくはこれらの複合機などの画像形成装置、又はデジタルカメラを含む。なお、本発明はクライアント側で実行されるアプリケーションとネットワークプリンタに実装されるサービスから構成され、各機能モジュールより構成される。
図1において、1は本発明の特徴的な構成の一つであるクライアントPCに提供されるアプリケーション部で、クライアントが動作しているオペレーティングシステム環境上で動作するソフトウエアであり、通信機能としてTCP,UDP,IPプロトコルスタック部2を備え、そのプロトコルスタック上でHTTP1.1 に準ずるHyper Text Transfer Protocol部3を備え、後述のSOAP(Simple Object Access Protocol)リクエストの発行処理部4、およびレスポンスの解析を実行する解析処理部5を備える。
なお、アプリケーション部1には、後述するようなAutomatic Driver Downloader、Configurator、SOAPレスポンス発行処理部、SOAPパーサ等のアプリケーションモジュールが該当するものとする。
6はGUIモジュール部(GUI)で、ユーザに対しインタラクティブに要求の受付、アプリケーション部1の制御に応じて、および処理結果の表示処理を実行する。7はConfiguratorモジュール部(Configurator)で、ネットワークを介してプリンタより取得したドライバを、あわせてプリンタより取得したネットワーク情報をもとに、クライアントが保持する記録装置に対しイントール処理を実行するとともに、オペレーティングシステムに対し、ドライバ情報の登録を実行する。
なお、イントール実行の際には、Memory Controller部(Memory Controller)8を介してメモリスペースの有無、およびイントール先の管理制御を実行する。100はドライバ自動ダウンロード・設定モジュール部である。
一方、ネットワークサービス、本実施形態ではネットワーク対応型プリンタPRには、通信機能としてTCP/UDP/IPプロトコルスタック部9を備え、そのプロトコルスタック部(TCP/UDP/IPIPProtocol Stack)9上でHTTP1.1 に準ずるHyper Text Transfer Protocol部10を備え、後述のSOAP (Simple Object Access Protocol)リクエストの解析処理部11、およびレスポンスの発行を実行する発行処理部12を備える。
また、プロトコルスタック部9上にはPrint Protocolモジュール部(Print Protocol)13が実装され、クライアントPCから発行されるプリンタ要求を解析しPrinter Controller部(Print Controller)14に対し該要求を送出する機能を備える。
15はMemory Controller部で、レスポンスを生成する際にドライバが格納されているディレクトリ情報の管理、データサイズ情報の管理機能を備えるとともに、ドライバ送信時において記録装置から読み出したドライバをHyper Text Transfer Protocol部10に対し送出処理を実行する機能を備える。
図2は、本発明の情報処理装置並びに周辺装置並びに代理応答装置に好適なハードウェア構成の一例を示す図であり、情報処理装置の好適な一例であるクライアントPCは、標準的なPCで構成される。なお、クライアントPC(ClientPC)は、図2に示すハードウェア構成を含む。クライアントPCは、バス1206を介して、ランダムアクセスメモリ部(RAM1201),記憶部であるハードディスクドライブ部(HDD1202)、入力部の一例であるキーボード部(KBD1203)、制御部の一例であるCPU1204、表示部の一例である表示用ディスプレイ(LCD1205)、通信制御部の一例であるネットワークボード(NB1207)を含む。HDDや可搬性CD−ROM又は内部据付のROMなどの他の記憶手段であってもよいことは言うまでも無い。
図1に示した1乃至8の各モジュールは、HDD1202に記憶され、必要に応じてRAM1201に読み出されてCPU1204により実行される。これにより、CPU1204が、図3の処理を行い、図1の各モジュールが果たす機能を実現する。
また、図1のプリンタ側も同様に図2に示すハードウェア構成を採る。異なるのは、印刷処理を行うプリンタコントローラ(図示省略)を有する点である。図1に示す9乃至15の各モジュールも、プリンタのHDD又はROMに記憶され、必要に応じてRAMに読み出されCPUにて実行される。
図3は、本発明に係るネットワークシステムの構成を説明するブロック図であり、クライアントPC(ClientPC)851,プリンタ(Printer)852,代理サーバ(Proxy Sever)853がネットワークを介して通信可能なシステムに対応する。
なお、図3に示す本発明の代理応答装置の好適な一例である代理サーバ853に記憶されたSOAPレスポンス発行処理部815、SOAPリクエスト解析処理部(SOAPParser)816、Simple Network Management Protocol処理部(SNMP)817、Hyper Text Transfer Protocol部814、TCP/UDP/IPプロトコルスタック部813の各モジュールも、また、同様に図2に示すハードウェアにおいて実行される。自動ドライバ設定部801、TCP/UDP/IPプロトコルスタック部(TCP/UDP/IPProtocol Stack)802、GUIモジュール部(GUI)806、SOAPリクエスト発行処理部(SOAPGenerator)804、SOAPリクエスト解析処理部(SOAPParser)805、コンフィギュレータモジュール部(Configuator)807、HTTP部(HTTP)803も同様に図2に示すハードウェアで実行される。メモリコントローラ部808は、基本的に独立なハードウェアで構成されることが多い。
また、図3のプリンタ852側も、図2に示すハードウェア構成をしている。周辺装置の好適な一例であるプリンタであれば、プリンタコントローラ(図示省略)もバスに接続される。TCP/UDP/IPプロトコルスタック部809、Simple Network Management Protocol処理部810、プリントプロトコルモジュール部811の各モジュールも、HDDからRAMに読み出され、CPUにより実行される。プリンタコントローラ部812は独立のCPUを用いても良い。ただし、図3のプリンタ852は図1のプリンタと異なり、UPnPに関連するアプリケーション部は無い。
図4は、本発明に係る情報処理装置と印刷装置とを適用可能な印刷システムにおけるデータ処理手順の一例を示すフローチャートである。なお、S1〜S24は各ステップを示す。
図5は、図1に示したクライアントPC上に表示される印刷設定画面の一例を示す図であり、プリンタ選択画面中に、選択可能なプリンタ名と新規プリンタの検索と追加を指示できる項目が表示されている状態に対応する。
ネットワーク接続されたクライアント、例えばパーソナルコンピュータ(クライアントPC)上で動作するアプリケーション、例えばワードプロセッサアプリケーションで作成ドキュメントを印刷する場合、メニューより「印刷」を選択すると(S1)、図5に示すように現在クライアントPCの表示装置に登録済みのプリンタがリスト表示される。
次に、ステップS2で、リスト上に現れているプリンタでの印字を実行するかどうかを判断して、リスト上に現れているプリンタでの印字を実行すると判断した場合は、いずれかのプリンタをユーザがポインティングデバイスやカーソル指示キーを操作指示により選択することで、作成したドキュメントは該当するドライバにより印字可能データに変換された後に、ネットワークを介して指定したプリンタに送信されて通常印刷処理される(S3)。
一方、ステップ(S2)で、リスト上に登録されているプリンタ以外での印字をユーザが希望する場合、すなわち、ネットワーク上に新規に追加されたプリンタを使用する場合、あるいは、ユーザが移動先のオフィス等のネットワーク環境上において利用可能なプリンタを使用する必要が生じた場合、図5に示したリスト上の新規プリンタの検索・追加を選択する。
この選択を実行すると、本発明であるアプリケーションAutomaticDriver Downloader/Configurator(自動ドライバダウンロード設定モジュール部)100が起動される(S4)。
このようにして自動ドライバダウンロード設定モジュール部が起動すると、アプリケーション部1に含まれるドライバ自動ダウンロード設定モジュール部100は、ネットワークNET上に利用可能なプリンタが存在するか探索するために検索処理を行う(S5)。その際、検索に使用されるプロトコルは、本実施形態では、所定の探索要求の好適な一例である例えばUniversal Plugand Play Architecture1.0 にて規定されるSimple Service Discovery Protocolを使用する。ドライバ自動ダウンロード設定モジュール部(発行手段)は、マルチキャストアドレス「239.255.255.250 」、ポート番号「1900」に対し図6に示すフォーマットのHTTPパケットを発行する。なお、所定の探索要求はUPnPの探索要求に限るものではない。
図6は、図1に示したクライアントPCからプリンタPRに対して発行されるHTTPリクエストの一例を示す図である。
本実施形態においては、その際、HTTPリクエストのエンティティボディとしてSimple Object Access Protocolを使用し、検索パケット発行時にクライアントPCの使用しているオペレーティングシステム(OS)の情報を通知する。
その際の書式は、図6に示すフォーマット中のEnvelopeタグ内に記述され、GetDriverInformationリクエスト(ドライバ情報取得要求)の引数としてSupportedOS,OSVersionが通知される。
ここでSupportedOSはオペレーティングシステム名称(本実施形態では、図4に示すように、Windows(登録商標)98であり、OSVersionはそのバージョン(本実施形態では、図6に示すように「4.10.2222A」の場合を示す。
次に、本発明が適用されるネットワーク対応プリンタPRは、上記HTTPリクエスト(SSDPリクエスト)を受信した後(S6)、そのリクエストのST(Service Type)ヘッダを解析し、プリンタPRに対するリクエスト要求に一致する(ヘッダ内容がPrint)かどうかを判断して(S7)、NO、例えばPrint以外のST指定であった場合、あるいはパケット内容に不正があった場合は処理を中断し、リクエストに対してレスポンスを発行せず、無視するようにステップS6へ戻る。
また、ステップS2では、ネットワークに接続された所定のサービスを表示してもよい。また、ホストが発行するSTヘッダにおいては、もちろん複数のプリンタを含むサービスを指定可能である。ここで、装置単位ではなく、STヘッダに対して、特定のサービス、例えば、スキャンサービス、デジタルカメラのサービス、プリントサービス単位で指定することも考え得る。例えば、ホストの表示画面でプリントサービスを指定すると、STヘッダにプリントサービスを含ませたUPnPに基づく探索要求をプリンタに対して送信する。そして、プリンタ側のSOAPリクエスト解析処理部は、該要求を認識し、STヘッダにプリンタサービスが指定されていることを認識するのに応じて、デバイスIDを返信する。プリントサービスを提供できる装置は、ホストにおいて、プリントサービスを提供可能な、各装置のデバイスIDを抽出して図8と同様に表示される。そして、ユーザが、サービス探索に対して応答してきたプリントサービスを提供可能であると判断された印刷装置を複数指定して前述のインストール処理を行うこともできる。
また、ステップS7で、該ヘッダ内容がPrintであったと判断した場合、引き続き、HTTPリクエストエンティティボディの解析を実行する。そして、HTTPリクエストエンティティSOAPメッセージをSOAPリクエスト解析処理部にて解析し、GetDriverInformationリクエストの引数であるSupportedOS,OSVersionの内容をチェックし、ネットワーク対応プリンタ内の記録装置内に該当するドライバが記録されていない場合、該リクエストに対するレスポンスは発行せず、要求を無視して、ステップS6へ戻る。
一方、ステップS7で、該当するドライバが記録されていると判断した場合、クライアントPCに対しユニキャストでHTTPレスポンスを発行する(S8)。
本実施形態においては、その際、HTTPレスポンスのエンティティボディとしてSimple Object Access Protocolを使用し、プリンタ内記録装置内に記録されているドライバに関する以下の情報をクライアントに対し通知する。ドライバ自動ダウンロード設定モジュール部100(取得手段)は、これらの情報をTCP/UDP/IPモジュール部を介して取得する。
これら情報は、図5に示すデバイス構成情報としてEnvelopeタグ内に記述され、クライアントPCがプリンタPRに要求したGetDriverInformationリクエストに対する戻り値として以下のレスポンスがクライアントPCに通知される。SOAPリクエスト解析処理部部5(取得手段)は、TCP/UDP/IPモジュールを介してデバイス構成情報を取得する。
図7は、図1に示したプリンタPRからクライアントPCに通知されるHTTPレスポンスの一例を示す図である。
図7に示すデバイス構成情報は、ドライバ情報取得要求の応答における所定の領域にプリンタのSOAPレスポンス発行処理部12又は、後述する代理サーバ853のSOAPレスポンス発行処理部815(付加手段)が挿入して付加する。つまり、SOAPレスポンス発行処理部12は、Envelopeタグ内のGetDriverInformationリクエストに対する戻り値を記述するための領域に挿入して付加する。そして、SOAPレスポンス発行処理部12は、クライアントPCに向けて送信するようHyper Text Transfer Protocol部10を制御し、応答処理を行う。図7に示すように、元々のUPnP1.0の拡張領域にデバイス構成情報として、該プリンタのプリンタドライバを格納した記憶領域を示すURLプリンタ製造者名、機種名、プリンタの有する能力を示す情報を挿入する。
例えば、PrinterMakeAndModelはプリンタ製造者名・機種名を示し、PrinterNameはプリンタ名を示し、PrinterPDLはプリンタがサポートするページ記述言語を示し、PrinterLocationはプリンタ設置場所を示し、IPAddressはプリンタIPアドレスを示し、DriverVersionはドライババージョンを示し、DriverDataSizeはドライバデータサイズを示し、DriverRequiredMemorySizeはドライバ必要メモリサイズを示し、DriverURLはドライバ格納URLを示す。DriverURLの代わりに、プリンタドライバの格納された記憶領域を示す情報としては、マイクロソフト社の提唱するUNCパス名を指定して、ネットワーク上のサーバが有する記憶手段の所定の記憶領域からドライバを取得するようにしてもよい。
これらのデバイス構成情報は、SOAPレスポンス解析処理部5(認識手段)により解析される。そして、SOAPレスポンス解析処理部5は、デバイス構成情報から、プリンタの識別情報の好適な一例であるデバイスIDを抽出し、認識する。ここで、デバイスIDは、プリンタを一意に識別できるものであればよいが、以下では、前述の図7に示すデバイス構成情報のうち,プリンタ製造者名と機種名のペアをデバイスIDとして、プリンタを特定する例を考えている。
以下、UPnPのようなネットワークに接続された機器がネットワーク越しにネゴシエーションを行う際に授受される情報をデバイス構成情報という。アプリケーション部1が、デバイス構成情報から抽出する情報であって、プリンタを特定可能な識別情報をデバイスIDという。本実施形態では、デバイスIDとして、機種とプリンタ製造者名の組を用いる。そして、ローカル接続に用いられるインタフェース(例えばUSBやIEEE1284など)においては、デバイスIDは、特定の番号に対応付けられて管理されている。
次に、ステップ9で、あらかじめ規定された時間内にレスポンスが受信されたかどうかを判断し、あらかじめ規定された時間内にレスポンスが受信されなかったと判断した場合は、GUI モジュール部6を介してクライアントPCの表示装置上を介してユーザに対し、その旨を示すメッセージを表示して(S10)、処理を終了する(S22)。
一方、ステップS9で、あらかじめ規定された時間内にレスポンスを受信したと判断した場合は、応答の結果に基づいて、受け取ったクライアントPCのアプリケーション部1はGUIモジュール部6を制御して、後述するデバイス構成情報を含むレスポンスのあったネットワークプリンタのプリンタ名をクライアントPCの表示装置上に図8に示すとおりリスト表示する(S11)。
図8は、図1に示したクライアントPC上に表示される新規に検索されたプリンタ一覧を表示した画面の一例を示す図である。
次に、ユーザは該リストをもとに希望するプリンタ名を選択指示すると、選択指示がGUIを介してアプリケーション部1(指示手段)に入力される(S12)。アプリケーション部1は、該プリンタの選択指示の入力に応答して、以下のデバイスIDの変換処理を行う。
まず、アプリケーション部1(判断手段)は、クライアント側オペレーティングシステムが管理するドライバデータベースを検索し、該当ドライバがクライアントPC側記録装置(例えばハードディスク)上に格納されているか否か(Driver有りか否か)をチェックして判断する(S13)。そして、アプリケーション部1(インストール制御手段)は、格納されていると判断した場合は、そのドライバのイントール処理に移行する(S14)。
その際、アプリケーション部1は、該ドライバに対し、プリンタから取得したプリンタIPアドレスを設定すると共に、デバイス構成情報からプラグアンドプレイインストーラが認識可能なデバイス番号を抽出して認識する処理を行って、プラグアンドプレインストーラに入力し、インストール処理を開始するようプラグアンドプレイインストーラを制御する。デバイスIDを受け取ったプラグアンドプレイインストーラは、OSのAPIを呼び出して、システムインストーラにインストール処理を開始し、ドライバインストールを完了する(S15)。
上記のデバイスIDを用いて、アプリケーション部1は、IEEE1284−2000に対応した本発明のインストーラであるプラグアンドプレイインストーラは、インストール処理するようプラグアンドプレイインストーラを制御する。ここでは、IEEE1284−2000を用いたが、通信インタフェースとしては、接続された機器を特定することができるデバイス番号を授受可能なインタフェースであれば、どんなものでもよい。
なお、Microsoft社が提供するWindows(登録商標)に代表されるように、クライアント側オペレーティングシステム自身がドライバインストールを実施するためのPlug and Play関連API (Application Program Interface)を活用するため、以下の仕組みを検討する。
例えば、USBに対応したプラグアンドプレイインストーラにおいて、インストーラの好適な一例であるプラグアンドプレイインストーラを動作させることもできる。以下、USB形式のデバイス番号を用いたステップS13〜S15のプラグアンドプレイインストール処理の詳細を示す。USBのデバイス番号を用いる場合は、製造メーカと機種名の組合せを用いて、所定の形式でデバイス番号を構成する。ここで、アプリケーション部1は、図7のデバイス構成情報からデバイスIDを抽出することができる。そして、USBで規定された所定の形式でデバイスIDを16進表示で示したデバイス番号は、以下のようになる。
例えば、04a9番に対しては、ある複数メーカのうち製造メーカKaisha Incが対応付けられ、該04a9番の階層の下に構成される複数の番号の一つである1051番に対して、Printer330が対応付けられるというように考えることが出来る。アプリケーション部1は、デバイス番号である04a9番と1051番のペアをプラグアンドプレイインストーラに入力して、プラグアンドプレイインストーラに、後述するインストール処理を行わせる。
上述の場合は、ステップS13からステップS15までのプロセスは、プアグアンドプレイインストーラと、システムインストーラがインストール処理を実行することになる。プアグアンドプレイ機能が提供されないオペレーティングシステムにおいてはアプリケーション部1が全プロセスを実行する。
図9は、本発明の実施形態におけるホストコンピュータ(PC)内のソフトウエア構成を示す図である。ホストコンピュータPCは基本的には、図1に示すホストコンピュータPCと同様のものである。アプリケーション部1も、図1に示すアプリケーション部と同様のものである。
また、図9に示す四角形で囲まれたブロック1、2,3,6,システム管理部1001,ドライバ管理部1002,デバイスID・ドライバパスリスト1003,ドライバ格納部1004,プラグアンドプレイインストーラ1005、システムインストーラ1009は、プログラムモジュールで構成されており、ホストコンピュータ内の外部メモリに記憶されており、必要に応じてRAMに読み出されてCPUによって制御される。デバイス番号は、周辺装置(例えば、プリンタPR)を識別するための情報である。なお、図1と同一のものには同一の符号を付してある。
図9において、デバイスID・ドライバパスリスト1003は、デバイス番号並びにドライバパスリストの組からなるデータベースであるデバイス番号・ドライバパスリストのデータベースである。ここでいう、ドライバパスとは、デバイスドライバ(ここではプリンタドライバ例を挙げている)のホストコンピュータに備えられた外部メモリ、或いは、ホストコンピュータとネットワークを介して接続されたファイルサーバ1010内の外部メモリにおける格納場所(パス)のことである。プラグアンドプレイインストーラ1005は、デバイス番号をキーにドライバパスを検索して認識し、該ドライバパスに配置されているプリンタドライバを取得する。そして、プリンタドライバインストーラとして機能するシステムインストーラ1009は、該取得したプリンタドライバをドライバ格納部1004にインストールする。なお、1010はネットワーク3000を介して通信可能なファイルサーバである。
図10は、図1に示したアプリケーション部1のテーブルを説明する図であり、本テーブルは、デバイスID,USBデバイス番号、ドライバが格納されたパスが記憶されている。
図10において、1301はデバイス構成情報の一部として製造者名、機種名の組であるデバイスID1305とUSBデバイス番号1304を対応付けるアプリケーション部1内のテーブルである。1003は前記USBデバイス番号1304をドライバが格納されたパスと対応付けるデバイスID・ドライバパスリストである。
次に、インストール処理の詳細をプラグアンドプレイに対応したプラグアンドプレイインストーラ1005を例として説明する。
プリンタ(PR)は、図7に示すデバイス構成情報をクライアントPCに対して送信する。プリンタPRからデバイス構成情報を取得したクライアントPCは、クライアントPC内のHDD等にデバイス構成情報を記憶する。図7に示すデバイス構成情報の元になる、下記に示すような、プリンタのデバイスIDをHDDに記憶されたデバイス構成情報の中から、アプリケーション部1(取得手段)が抽出して取得する。
「<PrinerMakeAndModel>ABC Printer Series 123</PrinerMakeAndModel>」
アプリケーション部1は、製造者がABC社で、機種Printer Series 123であることを文字列処理により認識する。そして、アプリケーション部1は、プリンタ製造メーカとプリンタ機種名の組合せであるデバイスID1305を、デバイスIDに対応付け可能なデバイス番号を対応付けるアプリケーション部1内のテーブル1301を持っている。そして、アプリケーション部1(変換手段)は、取得したデバイスIDを、USBに対応したプラグアンドプレイインストーラ1005(インストール手段)が認識可能なデバイス番号1304(上述の例では、04a9と、1051の組)に変換する。
プラグアンドプレイインストーラ1005は、アプリケーション部1によって変換されたデバイス番号1304をアプリケーション部1から取得する。プラグアンドプレイインストーラがデバイス番号・ドライバパスリスト1003を検索し、デバイス番号に対応するプリンタドライバが格納されたパス1303を認識して特定する。
次に、プラグアンドプレイインストーラ1005(インストール手段)は、OSのAPIから、システムインストーラ1009を呼び出す。そして、システムインストーラ1009は、ファイルサーバ1010又はクライアントPCの有する外部メモリに記憶されたプリンタドライバを取得して、ドライバ格納部1004にインストールする。同時に、システムインストーラは、自動的にドライバ管理部1002にデバイス番号に基づいてプリンタを登録するようシステム管理部1001に登録依頼を行う。以後、OSはドライバが登録されていることを認識するので、ドライバ格納部に格納されたプリンタドライバを適宜ローディングして印刷に関する各種処理を行う。なお、本実施形態では機器の識別情報を送受信するための方法の一例として、USBを用いているが、IEEE1284―2000など、他のデバイス番号に対応したインタフェースを用いてもよい。これにより、UPnPの管理方式で管理される情報を活用し、システムの大幅な変更を行うことなく、既存のプラグアンドプレイインストーラを活用することができる。
なお、インタフェースがIEEE1284−2000である場合は以下のようになる。まず、アプリケーション部1(変換手段)は、プリンタPRから通知されたHTTPレスポンス、プリンタ製造者名並びにプリンタ機種名を示すPrinterMakerAndModel,プリンタ名を示すPrinterName,プリンタが対応する言語を示すPrinterPDLを含むデバイス構成情報から、IEEE1284−2000で利用可能なデバイス構成情報を抽出する。IEEE1284−2000においては、以下のデバイス構成情報を、IEEE1284−2000のインタフェースに入力可能である。
「MANUFACTURER(デバイス製造者):ABC;
COMMAND SET(サポートコマンド・言語):LIPS;
MODEL(プリンタ機種):Printer Series 123;
COMMENT(コメント):Located in Room33;
ACTIVE COMMAND SET(アクティブなコマンド・言語):LIPS;」
ここでは、アプリケーション部1は、上記のデバイス構成情報から,MANUFACTURERと、MODELの値の組をデバイスIDとして抽出する。そして、アプリケーション部1は、IEEE1284−2000に対応のインストーラが認識可能なデバイス番号の形式で、プラグアンドプレイインストーラに入力する。アプリケーション部1は、上記のデバイス番号と、IPアドレスを、オペレーティングシステムに対しAPIを介してプラグアンドプレイを行うインストールモジュールに通知する。IEEE1284−2000に対応したプラグアンドプレイインストーラは、上記の構成情報から、デバイス番号を利用してインストールする。
また、IEEE1394においても、アプリケーション部1は、同様に製造者名と機種名の組からのデバイスIDを構成し、デバイスIDをIEEE1394の形式のデバイス番号に変換する。そして、プラグアンドプレイインストーラは、ドライバパスを認識し、処理を行う。また、上記では、単にデバイス番号と述べているが、デバイスを認識できる情報であれば、デバイス番号の代わりにローマ字や装置に付与可能なアドレスの形式としてもよい。
ここでは、プリンタからデバイスIDを含むデバイス構成情報を受信したクライアントPCは、クライアントPCのアプリケーション部1において変換処理を行う例を示した。しかし、周辺装置側において、アプリケーション部1内のテーブル1301と同様のテーブルを持たせ、周辺装置側で製造者名と機種名であるデバイスIDに基づいてデバイス番号を発行してもよい。そして、USBデバイス番号をそのままの形式でクライアントPCが受信して、プラグアンドプレイインストーラは変換処理を行うことなく、該USBデバイス番号を使ってインストールしてもよい。
一方、ステップS13において、アプリケーション部1(判断手段)が、クライアントPC側記録装置上に該ドライバが格納されていなかったと判断した場合、先にプリンタから取得したドライバ必要メモリサイズとユーザが指定したクライアントPC側の記録装置の空き容量をチェックしてダウンロード可能かどうかを判断し(S16)、必要なメモリサイズが確保できないと判断した場合(ダウンロードできないと判断した場合)は、クライアントPCの表示装置上にエラーメッセージによりその旨をユーザに通知して(S17)、処理を終了する(S23)。
一方、ステップS16で、必要なメモリサイズが確保できる場合(ダウンロードできると判断した場合)には、クライアントPCはドライバ格納URLに対してHTTP GET リクエストを発行し(S18)、アプリケーション部1(制御プログラム取得手段)は、ネットワークプリンタ記録装置に記録されているドライバのダウンロードを実行する(S19)。
そして、ドライバのダウンロードが完了した時点で、クライアントPC側記憶装置上でドライバは自己解凍が実行され、自己インストール処理(自動インストール処理)を実行する(S20)。その際、アプリケーションは該ドライバに対し、プリンタから取得したプリンタIPアドレスを設定しドライバインストールを完了する(S21)。以上の処理が完了した時点で、新規プリンタのクライアントシステムへの登録が完了し、アプリケーションからの利用が可能な状態となる。なお、ドライバ格納URLはネットワーク上のプリンタ等の周辺装置や他の情報処理装置のアドレスも含まれる。
以上説明したように上記実施形態によれば、該当するプリンタドライバが入手できない場合、すなわちオペレーティングシステムの管理するデータベース上にプリンタドライバが存在しない場合、あるいは外部記録媒体の形でユーザがその場に所持していない場合であっても、外部から周辺装置に適したデバイスドライバを取得することができ、異なるネットワーク環境に移動した場合であっても、プリンタを使用することが可能になる。
さらに、デバイス構成情報を用いて各周辺装置並びにホストコンピュータはネゴシエーションするので、それまで使用していたネットワーク環境と異なる環境に、例えばビルA内のオフィスのネットワーク環境から、異なるビルB内のオフィスに移動し、その移動先においてクライアントが保持するドキュメントをプリントする必要が生じた場合において、移動先ネットワーク上に存在するプリンタのドライバのインストール、およびネットワーク情報の設定等の作業を改めて実行する必要がなくなる。
また、選択される特定のサービスに基づき、該特定のサービスを実行可能な登録済みの周辺装置情報および新規利用可能な周辺装置の検索および追加を指示する項目を表示装置に表示した状態で、検索および追加を指示する項目が選択された場合に、ネットワーク上に存在する利用可能な周辺装置を検索する検索要求を発行し、該発行された前記検索要求に応じて利用可能な周辺装置から応答されるデバイス構成情報を取得し、該取得された周辺装置の一覧を表示装置に表示するので、情報処理装置のネットワーク接続環境が物理的に変動した場合であっても、簡単な操作でアプリケーションからの周辺装置を選択した際に、登録されている周辺装置以外に新たにネットワーク接続されている周辺装置候補を容易に確認することができる。
また、取得された周辺装置の一覧が表示装置に表示された状態で、該周辺装置の一覧から特定のサービスの提供を受ける周辺装置が選択されると、該選択された周辺装置を動作させるためのドライバソフトウエアが既に登録されているかどうかを判断した際に、周辺装置が既に登録されていると判断した場合には、登録されているドライバソフトウエアに対して前記デバイス構成情報に基づくネットワーク設定を組み込んで前記周辺装置を動作可能状態に設定し、周辺装置が既に登録されていないと判断した場合には、選択された周辺装置に記憶されるドライバソフトウエアを前記デバイス構成情報に基づくドライバダウンロード先から取得して、該取得されたドライバソフトウエアに対してネットワーク設定を組み込んで前記周辺装置を動作可能状態に設定するので、情報処理装置のネットワーク環境が物理的に変動した場合であっても、新規接続されている周辺装置を動作させるためのやっかいなドライバインストールおよびその設定操作を自動化して、ユーザによるネットワーク接続操作処理負担を大幅に軽減して、新たなネットワーク環境下で自在に周辺装置を選択して意図するサービス処理を正常に動作させることができる。
さらに、情報処理装置から発行されるデバイス検索条件が前記所定のサービス要求に一致しているかどうかを判断した際に、所定のサービス要求に一致していると判断した場合に、ネットワーク環境下におけるデバイス構成情報を情報処理装置に返信することにより、既存のネットワークに新たに情報処理装置が接続されるようなネットワーク環境仕様が変動した場合に、該情報処理装置からの要求に応じて適時に周辺装置を正常に動作させるまでに必要なデバイス構成情報を情報処理装置に提示することができ、ユーザによるネットワーク設定操作負担を大幅に軽減することができる等の効果を奏する。
上記の実施形態では、ネットワークサービスとしてネットワーク対応型プリンタがSOAP処理部を実装し、クライアントから発行されるGetDriverInormationリクエスト(ドライバ情報を取得する要求)をプリンタ自身が解析し、クライアントに対し直接、デバイスIDを含むプリンタ識別情報を含むプリンタデバイス構成情報をレスポンスとして返送していたが、本発明は代理サーバを設けることでも実現可能である。代理サーバは、図1に示すプリンタPRと対応する各モジュールを有している。以下、前述の例と異なる部分を中心に説明する。
この場合、図3に示すように、本発明の代理応答装置の好適な一例である代理サーバ853は通信機能としてTCP/UDP/IPプロトコルスタック部813を備え、そのプロトコルスタック上にHTTP1.1に準拠するモジュールであるHyper Text Transfer Protocol部814を備えHTTPリクエストの解析、およびレスポンス処理を行う。クライアントPC851は、図1に示すクライアントPCと同様のコンピュータである。
本実施形態においては、クライアントからのリクエストにおいて、HTTPリクエストのエンティティボディ部においてSOAP(Simple Object Access Protocol)を使用しており、該処理モジュールSOAPレスポンスの発行処理部815,SOAPリクエストの解析処理部816がHypert Text Transfer Protocol部814の上位層に実装される。さらに代理サーバ853は、Simple NetworkManagement Protocol(SNMP)処理部817を備え、ネットワーク上に存在するネットワーク対応プリンタの検索、およびデバイス構成情報を取得する。
なお、代理サーバに接続されるプリンタが複数ある場合には、代理サーバ内のSNMP処理部817(認識手段)は、複数のプリンタからSNMPを用いて、デバイス構成情報を単にSNMPのデータ形式にしただけであるデバイス情報を取得して認識する。そして、クライアントPCから、SOAPリクエスト解析処理部816が、複数のプリンタの一部であって、複数の特定のプリンタを探索する要求をTCP/UDP/IPプロトコルスタック部813を介して取得した場合には、SOAPリクエスト解析処理部816(抽出手段)は、該特定のプリンタのデバイスIDを、先に取得した複数のプリンタのデバイス構成情報から抽出する。そして、SOAPレスポンスの発行処理部815(付加手段)が、SNMPを用いて取得したデバイス情報からデバイスIDを生成する。
そして、前述のプリンタPR時の応答と同様に、SOAPレスポンスの発行処理部815(応答手段)が、ドライバ情報取得要求の応答の所定の領域、つまり、Envelopeタグ内のGetDriverInformationリクエストに対する戻り値を記述する領域に挿入して付加して、Hyper TextTransfer Protocolスタック部813を制御して応答する処理を制御するようにしてもよい。
一方、周辺装置の好適な一例であるネットワーク対応型のプリンタPR852は、通信機能としてTCP/UDP/IPプロトコルスタック部809、およびPrint Protocolモジュール部811、Print Controller部812を備える点は前述の例と同様であるが、ここでは、TCP/UDP/IPプロトコルスタック部809上にはSimple NetworkManagement Protocol810が実装されており、本発明の代理サーバから発行されるリクエストの解析、およびレスポンスの発行を実行する処理部をさらに備える。
代理サーバ853は代理サーバの起動後、予め定められたインターバルに基づいてSNMP部817より、以下のMIB(マネジメントインフォーメーションベース)オブジェクトに対してSNMP部817からGetリクエストをブロードキャストすることで、ネットワーク上に存在するデバイス構成情報を取得する。SNMP(Simple Network Management Protocol)とは、周辺装置を設定・管理するためのプロトコルである。MIBとは、RFC1213,1759等に定義されており、SNMPにおいて管理できる項目を保持管理するためのデータベース形式である。
前述のSNMPを実装したネットワーク対応プリンタは、該リクエストに対し、各オブジェクトに該当する情報を生成した後に、SNMPレスポンスとして代理サーバ853に対し、ユニキャストで応答を送信する。
ここで、代理サーバは、UPnPにおいて周辺装置とするための識別情報の生成に必要となる情報の項目のリストを有している。例えば、該項目とは、プリンタ製造者名、機種名(製品名称)、プリンタ名、プリンタ設置場所、IPアドレス、サポートするページ記述言語、サポートするプリントプロトコルである。SNMPレスポンスが含むMIB情報から、UPnPにおいて周辺装置とするための識別情報の生成に必要となる情報の項目のリストに従って、必要な情報を抽出し、UPnPに好適なXMLの形式に変換する。ここでは、下記のようなデータが抽出されるものとする。
「PrinterMakeAndModel : プリンタベンダ・製品名称PrinterName: プリンタ名
PrinterLocation: プリンタ設置場所
IPAddress: プリンタ IP アドレス
PrinterPDL: サポートするページ記述言語
SupportedPrintProtocol: サポートするプリントプロトコル」
抽出された上記SNMPのMIB情報は、SOAPレスポンス発行処理部815により、図11に示すようなXML形式に変換され、外部のクライアントPCに送信される。
以降、各ネットワーク対応プリンタからレスポンスを受け取った代理サーバ853は、クライアントPCからリクエストがあると、前述の実施形態、図1のプリンタPRと同一の処理を実行する。即ち、図4に示すステップS6乃至S8と同一の処理を実行する。具体的には、代理サーバ853内のサーバモジュールは、代理サーバ853内に記憶した図7に示すデバイス構成情報(プリンタ製造者名、プリンタ機種名、言語名等を含む)を、クライアントからの要求に応じて、クライアントに送信するよう代理サーバ内のOSの一部である送信モジュールを制御して送信処理を行う。
なお、この場合、代理サーバからクライアントPC851に通知されるレスポンスは図11に示すとおり、代理サーバがSNMPによりMIBオブジェクトの形態で取得した全プリンタのデバイス構成情報及び識別情報を、XMLで記述して、図7に示すスキーマに変換した上で、HTTPを利用して一括して情報処理装置の好適な一例であるクライアントPCに送信する。
これにより、例えば、HTTPに対応するウェルノウンポートである80番を利用することにより、SNMPの使用するポートをファイアウォールが許可していない場合でも、SNMPにしか対応していない旧式のプリンタ(legacy printer)をファイアウォール越しにHTTPを用いて把握することも出来る。
該レスポンスを受け取ったクライアントPCは前述の例と同様、代理サーバからのレスポンスに記述された全プリンタのプリンタ名をクライアントPCの表示装置上に、図12に示すようにリスト表示する。
本実施形態では、図12に示した通り、これまで考えられなかった、旧式のSMNP対応ではあるがUPnP対応ではない旧式のプリンタ(図5に示す代理サーバ内のアプリケーション部が、識別情報内に含まれる情報から抽出したABC社の 機種Printer Series 123、及びABC社の 機種Printer Series 222)と、UPnP対応の新式のプリンタが同じ画面にUPnPの管理ソフトウエアでブラウジング可能となっている。
また、レスポンスを受け取ったクライアントは、クライアント内のアプリケーション部1にてデバイスIDを生成し、アプリケーション部1は、入力されたデバイスIDをプラグアンドプレイインストーラが認識可能なデバイス番号の形式に変換する。そして、プラグアンドプレイインストーラは、デバイス番号に基づいて、インストール処理を行うこともできる。これにより、従来から存在するSNMPなどの旧来からあるデバイス管理方式には対応しているが、ネットワークを介したプリンタデバイス構成情報の取得方式(例えばUPnP)に対応していない場合であっても、代理サーバが仲介役を行うので、クライアントPCはネットワークを介したデバイス構成情報管理方式に従ってプリンタを代理サーバを介して、機種名、プリンタメーカ名などを取得するなどして管理できる。
上記の実施形態では、プリンタを画像処理装置とした実施形態を示しているが、画像装置としてはスキャナ、FAX、複写機、およびそれら複合機能を備える画像処理装置であって、それら画像処理装置を制御するソフトウエアをネットワークを介して供給可能な装置であればいずれの場合においても実現可能である。
また、上記の実施形態においては、プリンタの検索時においてSSDPで策定されたプロトコルを採用しているが、この他にSLP(Service Location Protocol)のように、本実施形態の特徴である、オペレーティングシステム名称、およびそのバージョンを検索条件としうる検索プロトコルであれば実現可能である。
さらに、上記の実施形態では、HTTPエンティティの表記方法はSOAPを使用しているが、独自スキーマによる記述によっても実現可能である。
また、上記の実施形態では、ネットワークプリンタ記録装置にドライバが記録されている。デバイスドライバが記憶された記憶領域の好適な一例であるドライバ格納URLには、そのネットワークプリンタ記録装置のURLが設定される例を示しているが、このDriverURLは、ネットワーク上に存在する第3のファイルサーバ1010上に格納されているドライバのURLを示すものであっても実現可能である。
上記実施形態によれば、既存の開発資源に大幅な変更を加えることなく、制御プログラムをコンピュータにインストールする際の煩雑な操作を不要とする仕組みを実現する方策として、コンピュータ内ローカルの既存のプラグアンドプレイに対応するインストーラを活用する仕組みを提供するできる。
さらに、プラグアンドプレイに対応するインストーラを利用する際、該プラグアンドプレイインストーラが、UPnPなどの所定の管理方式にて管理されている情報を利用して自動的にインストールできるための仕組みを提供することができる。
さらに、ネットワークに接続された周辺装置が所定の管理方式に対応していない場合であっても、周辺装置とコンピュータの仲介を行う代替サーバが、該所定の管理方式に対応していない周辺装置の識別情報を把握して該周辺装置の識別情報を該所定の管理方式に対応した形式で送信し、送信された識別情報を、既存のプラグアンドプレイに対応したインストーラに活用させる仕組みを提供することができる。
以下、図13に示すメモリマップを参照して本発明に係る情報処理装置および印刷装置を適用可能なネットワークシステムで読み出し可能なデータ処理プログラムの構成について説明する。
図13は、本発明に係る情報処理装置および印刷装置を適用可能なネットワークシステムで読み出し可能な各種データ処理プログラムを格納する記憶媒体のメモリマップを説明する図である。
なお、特に図示しないが、記憶媒体に記憶されるプログラム群を管理する情報、例えばバージョン情報,作成者等も記憶され、かつ、プログラム読み出し側のOS等に依存する情報、例えばプログラムを識別表示するアイコン等も記憶される場合もある。
さらに、各種プログラムに従属するデータも上記ディレクトリに管理されている。また、各種プログラムをコンピュータにインストールするためのプログラムや、インストールするプログラムが圧縮されている場合に、解凍するプログラム等も記憶される場合もある。
本実施形態における図4に示す機能が外部からインストールされるプログラムによって、ホストコンピュータにより遂行されていてもよい。そして、その場合、CD−ROMやフラッシュメモリやFD等の記憶媒体により、あるいはネットワークを介して外部の記憶媒体から、プログラムを含む情報群を出力装置に供給される場合でも本発明は適用されるものである。
以上のように、前述した実施形態の機能を実現するソフトウエアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
この場合、記憶媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
プログラムコードを供給するための記憶媒体としては、例えば、フロッピー(登録商標)ディスク,ハードディスク,光ディスク,光磁気ディスク,CD−ROM,CD−R,磁気テープ,不揮発性のメモリカード,ROM,EEPROM等を用いることができる。
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
また、ネットワーク対応型デバイスを使用するにあたり、該デバイスを制御するためのドライバソフトウエアを、クライアントデバイス内の記録装置内に予め記録しておく必要、あるいは利用者が外部記録メディアの形態で持ち歩く必要がなくなった。
また、クライアントがネットワーク対応型デバイスを使用するにあたり、クライアントがジョブ要求ネットワーク上に新規に利用可能な状態となったネットワーク対応型デバイスの発見が可能となる。
さらに、周辺装置の既存のネットワーク管理プロトコル、例えば、UPnPの,探索要求における応答の所定の拡張領域に周辺装置の識別情報を挿入し、付加したので、既存の周辺装置管理システムを大幅に変更することなく、周辺装置の識別情報をやり取りする仕組みを提供することができ、ひいては、プラグアンドプレイなどに該周辺装置の情報を活用することが出来る。
なお、上記実施形態に示した各構成を、適宜有効に組み合わせることは、本発明の適用範囲である。
これにより、本実施形態によれば、ネットワーク上の周辺装置を管理するための情報を容易に把握して活用することができる。
また、インストール対象となるコンピュータ内のプラグアンドプレイインストーラが、ネットワーク上の周辺装置を認識してインストールを行うことができ、周辺装置をネットワークに接続するだけで、クライアント装置におけるインストール完了までのトータルなインストール処理を、煩雑な操作無しに行うことができる。
さらに、周辺装置の識別情報の管理を行う代理サーバを設けるので、複数のネットワーク上の周辺装置を管理する方式がネットワーク上に並存している場合であっても、特定の管理方式に対応した管理システムから、該特定の管理方式に対応していないネットワーク上の周辺装置を認識できる。
さらに、ユーザ又は管理者が、ネットワークを介して接続された周辺装置を制御するための制御プログラムをコンピュータにインストールする際に、既存の開発資源に大幅な変更を加えることなく、煩雑な操作を不要とするための仕組みを提供することができる。
また、既存の開発資源に大幅な変更を加えることなく、制御プログラムをコンピュータにインストールする際の煩雑な操作を不要とする仕組みを実現する方策として、コンピュータ内ローカルの既存のプラグアンドプレイに対応するインストーラを活用する仕組みを提供することができる。
さらに、プラグアンドプレイに対応するインストーラを利用する際、該プラグアンドプレイインストーラが、UPnPなどの所定の管理方式にて管理されている情報を利用して自動的にインストールできるための仕組みを提供することができる。
さらに、ネットワークに接続された周辺装置が所定の管理方式に対応していない場合であっても、周辺装置とコンピュータの仲介を行う代替サーバが、該所定の管理方式に対応していない周辺装置の識別情報を把握して該周辺装置の識別情報を該所定の管理方式に対応した形式で送信し、送信された識別情報を、既存のプラグアンドプレイに対応したインストーラに活用させる仕組みを提供することができる。
本発明の一実施形態を示す情報処理装置及び周辺装置を適用可能な印刷システムの構成を説明するブロック図である。 本発明の情報処理装置並びに周辺装置並びに代理応答装置に好適なハードウェア構成の一例を示すブロク図である。 本発明に係るネットワークシステムの構成を説明するブロック図である。 本発明に係る情報処理装置と印刷装置とを適用可能な印刷システムにおけるデータ処理手順の一例を示すフローチャートである。 図1に示したクライアント上に表示される印刷設定画面の一例を示す図である。 図1に示したクライアントからプリンタに対して発行されるHTTPリクエストの一例を示す図である。 図1に示したプリンタからクライアントに通知されるHTTPレスポンスの一例を示す図である。 図1に示したクライアント上に表示される新規に検索されたプリンタ一覧を表示した画面の一例を示す図である。 本発明の一実施形態におけるホストコンピュータ(PC)内のソフトウエア構成を示す図である。 図1に示したアプリケーション部のテーブルを説明する図である。 図1に示したプリンタからクライアントに通知されるHTTPレスポンスの一例を示す図である。 図1に示したクライアント上に表示される新規に検索されたプリンタ一覧を表示した画面の一例を示す図である。 本発明に係る情報処理装置および印刷装置を適用可能なネットワークシステムで読み出し可能な各種データ処理プログラムを格納する記憶媒体のメモリマップを説明する図である。
符号の説明
1 アプリケーション部
2 TCP/UDP/IPプロトコルスタック部
3 Hyper Text Transfer Protocol部
4 SOAPリクエストの発行処理部
5 SOAPレスポンスの解析処理部
6 GUIモジュール部
7 Configuratorモジュール部
8 MemoryController部
9 TCP/UDP/IPプロトコルスタック部
10 Hyper Text Transfer Protocol部
11 SOAPリクエストの解析処理部
12 SOAPレスポンスの発行処理部
13 Print Protocolモジュール部
14 Printer Controller部
15 MemoryController部

Claims (15)

  1. 周辺装置と通信する情報処理装置であって、前記周辺装置を制御するための制御プログラムのインストーラが搭載された情報処理装置における情報処理方法において、
    特定のネットワーク探索プロトコルに従う前記周辺装置の探索要求を発行する発行工程と、
    前記周辺装置から、前記周辺装置の第一の識別情報が付加された、前記発行手段が発行した特定のネットワーク探索プロトコルに従った探索要求に対する応答を取得する取得工程と、
    前記ネットワーク探索プロトコルに従った探索要求に対する応答の中から、前記周辺装置に対応する第一の識別情報を認識する認識工程と、
    前記認識工程にて認識された第一の識別情報を用いて、制御プログラムを前記情報処理装置に対してインストールするためのインストールプログラムが解釈できる形式で記述された第二の識別情報を生成する生成工程と、
    前記生成工程が生成した第二の識別情報を、前記情報処理装置に対してインストールするためのインストールプログラムに対して入力することにより、当該入力した第二の識別情報を用いた前記制御プログラムを前記情報処理装置に対してインストールする処理を制御するインストール制御工程とを有することを特徴とする情報処理方法。
  2. 前記取得工程にて取得した前記探索要求に対する応答の結果に基づいて、前記制御プログラムが制御する対象となる周辺装置を指示する指示工程をさらに有し、
    前記インストール制御工程では、前記指示工程にて指示が入力されるのに応答して、前記周辺装置を制御するための制御プログラムを前記インストーラがインストールする処理を開始するよう制御することを特徴とする請求項1記載の情報処理方法。
  3. 前記指示工程で指示されたサービスを、前記情報処理装置の表示部に表示する表示制御工程をさらに有し、
    前記発行工程は、前記表示部に表示される探索および追加を指示する項目が入力された場合に、前記ネットワーク上に存在する利用可能な周辺装置を探索する探索要求を発行するものであり、
    前記表示制御工程は、前記取得工程で取得された前記探索要求に対する応答に基づき、前記取得工程が取得した周辺装置の一覧を、前記情報処理装置の表示部に表示する処理を制御し、
    前記指示工程では、前記表示制御工程にて表示された周辺装置の一覧から周辺装置が選択指示されるのに応答して、前記インストール制御工程は前記インストーラがインストールを開始するよう制御することを特徴とする請求項2記載の情報処理方法。
  4. 前記指示工程では、特定のサービスの提供を受ける周辺装置が指示されることを特徴とする請求項2又は3記載の情報処理方法。
  5. 前記インストール制御工程は、前記発行工程にて発行された探索要求に対する応答に含まれる前記制御プログラムが記憶された記憶領域を示す情報を用いて、前記記憶領域から制御プログラムを取得して前記情報処理装置内にインストールすることを特徴とする請求項1乃至4のいずれかに記載の情報処理方法。
  6. 前記周辺装置を動作させるための制御プログラムが前記情報処理装置内に記憶されているかどうかを判断する判断工程と、
    前記情報処理装置外から制御プログラムを取得する制御プログラム取得工程とをさらに有し、
    前記判断工程により制御プログラムが前記情報処理装置内に記憶されていると判断した場合には、前記インストール制御工程では、前記取得工程により取得された前記識別情報を用いたインストール処理を開始するよう前記インストーラを制御し、前記判断工程にて制御プログラムが前記情報処理装置内に記憶されていないと判断した場合には、前記制御プログラム取得工程では、前記探索要求の応答に含まれる前記制御プログラムが記憶された記憶領域であるURL情報又はUNCパス名を用いて取得する処理を制御すること特徴とする請求項1乃至5のいずれかに記載の情報処理方法。
  7. 前記第一の識別情報は、XMLで記述されたタグ情報の中から抽出される製造者を示す識別子と周辺装置の機種を示す識別子であり、前記第二の識別情報は、当該製造者と周辺装置の機種に対応する16進数で表される数字であることを特徴とする請求項1乃至6に記載の情報処理方法。
  8. 周辺装置と通信する情報処理装置であって、前記周辺装置を制御するための制御プログラムのインストーラが搭載された情報処理装置において、
    特定のネットワーク探索プロトコルに従う前記周辺装置の探索要求を発行する発行手段と、
    前記周辺装置から、前記周辺装置の第一の識別情報が付加された、前記発行手段が発行した特定のネットワーク探索プロトコルに従った探索要求に対する応答を取得する取得手段と、
    前記ネットワーク探索プロトコルに従った探索要求に対する応答の中から、前記周辺装置に対応する第一の識別情報を認識する認識手段と、
    前記認識手段にて認識された第一の識別情報を用いて、制御プログラムを前記情報処理装置に対してインストールするためのインストールプログラムが解釈できる形式で記述された第二の識別情報を生成する生成手段と、
    前記生成手段が生成した第二の識別情報を、前記情報処理装置に対してインストールするためのインストールプログラムに対して入力することにより、当該入力した第二の識別情報を用いた前記制御プログラムを前記情報処理装置に対してインストールする処理を制御するインストール制御手段とを有することを特徴とする情報処理装置。
  9. 前記取得手段にて取得した前記探索要求に対する応答の結果に基づいて、前記制御プログラムが制御する対象となる周辺装置を指示する指示手段をさらに有し、
    前記インストール制御手段では、前記指示手段にて指示が入力されるのに応答して、前記周辺装置を制御するための制御プログラムを前記インストーラがインストールする処理を開始するよう制御することを特徴とする請求項8記載の情報処理装置。
  10. 前記指示手段で指示されたサービスを、前記情報処理装置の表示部に表示する表示制御手段をさらに有し、
    前記発行手段は、前記表示部に表示される探索および追加を指示する項目が入力された場合に、前記ネットワーク上に存在する利用可能な周辺装置を探索する探索要求を発行するものであり、
    前記表示制御手段は、前記取得手段で取得された前記探索要求に対する応答に基づき、前記取得手段が取得した周辺装置の一覧を、前記情報処理装置の表示部に表示する処理を制御し、
    前記指示手段では、前記表示制御手段にて表示された周辺装置の一覧から周辺装置が選択指示されるのに応答して、前記インストール制御手段は前記インストーラがインストールを開始するよう制御することを特徴とする請求項9記載の情報処理装置。
  11. 前記指示工程では、特定のサービスの提供を受ける周辺装置が指示されることを特徴とする請求項9又は10記載の情報処理装置。
  12. 前記インストール制御手段は、前記発行手段にて発行された探索要求に対する応答に含まれる前記制御プログラムが記憶された記憶領域を示す情報を用いて、前記記憶領域から制御プログラムを取得して前記情報処理装置内にインストールすることを特徴とする請求項8乃至11のいずれかに記載の情報処理装置。
  13. 前記周辺装置を動作させるための制御プログラムが前記情報処理装置内に記憶されているかどうかを判断する判断手段と、
    前記情報処理装置外から制御プログラムを取得する制御プログラム取得手段とをさらに有し、
    前記判断手段により制御プログラムが前記情報処理装置内に記憶されていると判断した場合には、前記インストール制御手段では、前記取得手段により取得された前記識別情報を用いたインストール処理を開始するよう前記インストーラを制御し、前記判断手段にて制御プログラムが前記情報処理装置内に記憶されていないと判断した場合には、前記制御プログラム取得手段では、前記探索要求の応答に含まれる前記制御プログラムが記憶された記憶領域であるURL情報又はUNCパス名を用いて取得する処理を制御すること特徴とする請求項8乃至12のいずれかに記載の情報処理装置。
  14. 前記第一の識別情報は、XMLで記述されたタグ情報の中から抽出される製造者を示す識別子と周辺装置の機種を示す識別子であり、前記第二の識別情報は、当該製造者と周辺装置の機種に対応する16進数で表される数字であることを特徴とする請求項8乃至13に記載の情報処理装置。
  15. 請求項8〜14に記載の情報処理方法をコンピュータに実行させるためのプログラムを格納したことを特徴とするコンピュータが読み取り可能な記憶媒体。
JP2006276894A 2001-04-19 2006-10-10 情報処理方法、情報処理装置、及び記憶媒体 Expired - Lifetime JP4378372B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006276894A JP4378372B2 (ja) 2001-04-19 2006-10-10 情報処理方法、情報処理装置、及び記憶媒体

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2001120449 2001-04-19
JP2006276894A JP4378372B2 (ja) 2001-04-19 2006-10-10 情報処理方法、情報処理装置、及び記憶媒体

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2002053627A Division JP4464029B2 (ja) 2001-04-19 2002-02-28 情報処理方法および制御プログラムおよび情報処理装置および周辺装置および応答方法および代理応答装置およびネットワークシステム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2009062480A Division JP4827943B2 (ja) 2001-04-19 2009-03-16 情報処理装置、ネットワークシステム、クライアント装置、情報処理方法、及び記憶媒体

Publications (2)

Publication Number Publication Date
JP2007080280A true JP2007080280A (ja) 2007-03-29
JP4378372B2 JP4378372B2 (ja) 2009-12-02

Family

ID=37940461

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006276894A Expired - Lifetime JP4378372B2 (ja) 2001-04-19 2006-10-10 情報処理方法、情報処理装置、及び記憶媒体

Country Status (1)

Country Link
JP (1) JP4378372B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008299694A (ja) * 2007-06-01 2008-12-11 Silex Technology Inc 周辺機器ドライバインストールシステム
JP2009048535A (ja) * 2007-08-22 2009-03-05 Seiko Epson Corp 電子機器、外部機器、機器システム、状態情報送信方法
US10310839B2 (en) 2015-11-30 2019-06-04 Ricoh Company, Ltd. Information processing apparatus, control program management system, and control program management method

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008299694A (ja) * 2007-06-01 2008-12-11 Silex Technology Inc 周辺機器ドライバインストールシステム
JP4649584B2 (ja) * 2007-06-01 2011-03-09 サイレックス・テクノロジー株式会社 周辺機器ドライバインストールシステム
JP2009048535A (ja) * 2007-08-22 2009-03-05 Seiko Epson Corp 電子機器、外部機器、機器システム、状態情報送信方法
US10310839B2 (en) 2015-11-30 2019-06-04 Ricoh Company, Ltd. Information processing apparatus, control program management system, and control program management method

Also Published As

Publication number Publication date
JP4378372B2 (ja) 2009-12-02

Similar Documents

Publication Publication Date Title
JP4464029B2 (ja) 情報処理方法および制御プログラムおよび情報処理装置および周辺装置および応答方法および代理応答装置およびネットワークシステム
US9602678B2 (en) Peripheral device control system and method
JP4741768B2 (ja) ネットワーク制御装置、ネットワーク制御方法及びプログラム
US7779108B2 (en) Network printer management system, method, and computer readable medium for managing a plurality of network printers including a printer directly connected to a networked personal computer device
US7908609B2 (en) Information processing apparatus with device driver installation control
KR100779790B1 (ko) 프로토콜 변환 처리를 실행하는 장치, 방법, 및 기록 매체
JP4416563B2 (ja) ネットワークデバイス管理装置及びその制御方法、並びに、コンピュータプログラム及びコンピュータ可読記憶媒体
JP2002055896A (ja) 通信システムと装置
JP2005050059A (ja) クライアントサーバシステム、情報処理装置及び方法、プログラム、並びに記憶媒体
JP4827943B2 (ja) 情報処理装置、ネットワークシステム、クライアント装置、情報処理方法、及び記憶媒体
JP4953753B2 (ja) 情報処理装置及びその制御方法、プログラム
US20050108705A1 (en) Installing method, network apparatus, identification information communicating method, information processing apparatus, connection information acquiring method, connection information displaying method, recording medium, and program
JP4378372B2 (ja) 情報処理方法、情報処理装置、及び記憶媒体
JP2007164485A (ja) ネットワーク型プラグアンドプレイに対応したネットワーク中継制御
JP4912093B2 (ja) 情報処理方法、情報処理装置、プログラム及び記憶媒体
JP5017543B2 (ja) 周辺機器利用システム
JP2006035456A (ja) 画像処理装置及びその制御方法及びプログラム
JP5174126B2 (ja) 情報処理装置及びクライアント装置
JP5442062B2 (ja) ネットワーク制御システム及びクライアント装置
JP2005141366A (ja) ネットワーク装置、識別情報通知方法、情報処理装置、接続情報取得方法、接続情報表示方法、記録媒体及びプログラム。
JP2012011553A (ja) 画像処理装置
JP2007199825A (ja) データ処理装置、出力装置、情報処理装置、ドライバ処理方法、プログラム
JP2006350752A (ja) 情報処理装置、データ処理方法、コンピュータが読み取り可能なプログラムを格納した記憶媒体およびプログラム
JP2002373071A (ja) 情報処理装置およびネットワーク設定処理方法および記憶媒体
JP2009188487A (ja) ファクシミリデータ送信プログラムおよびファクシミリデータ送信方法

Legal Events

Date Code Title Description
RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20080108

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20080220

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090113

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090316

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

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

R150 Certificate of patent or registration of utility model

Ref document number: 4378372

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20120918

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120918

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130918

Year of fee payment: 4

EXPY Cancellation because of completion of term