JP4912093B2 - Information processing method, information processing apparatus, program, and storage medium - Google Patents

Information processing method, information processing apparatus, program, and storage medium Download PDF

Info

Publication number
JP4912093B2
JP4912093B2 JP2006236751A JP2006236751A JP4912093B2 JP 4912093 B2 JP4912093 B2 JP 4912093B2 JP 2006236751 A JP2006236751 A JP 2006236751A JP 2006236751 A JP2006236751 A JP 2006236751A JP 4912093 B2 JP4912093 B2 JP 4912093B2
Authority
JP
Japan
Prior art keywords
information
controller
installation
printer
play
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.)
Expired - Fee Related
Application number
JP2006236751A
Other languages
Japanese (ja)
Other versions
JP2008059373A (en
JP2008059373A5 (en
Inventor
泰弘 細田
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/en
Publication of JP2008059373A publication Critical patent/JP2008059373A/en
Publication of JP2008059373A5 publication Critical patent/JP2008059373A5/ja
Application granted granted Critical
Publication of JP4912093B2 publication Critical patent/JP4912093B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、ネットワークデバイスが有する全ての能力に対応したデバイスドライバをプラグアンドプレイインストールするための情報処理技術に関する。   The present invention relates to an information processing technology for plug-and-play installation of device drivers corresponding to all capabilities of a network device.

特定の情報処理装置やオペレーションシステム(以下「OS」と略す)上で動作するアプリケーションに依存しないように、印刷装置は独自の描画言語体系であるコマンドインターフェースを有している。描画言語体系には、例えば、PDL(Page Description Langauage)が含まれる。   The printing apparatus has a command interface that is a unique drawing language system so as not to depend on an application that operates on a specific information processing apparatus or operation system (hereinafter abbreviated as “OS”). The drawing language system includes, for example, PDL (Page Description Language).

描画言語体系は個々の印刷装置に依存する。よってその依存性をカプセル化するために、OSは、標準的な描画インタフェースを入力とし、その印刷装置依存の描画言語体系のコマンドに変換し出力するプリンタドライバというモジュールを定義している。このプリンタドライバは、一般には、印刷装置の製造元やOS開発者などによって作成され、情報処理装置内に格納される。   The drawing language system depends on the individual printing device. Therefore, in order to encapsulate the dependency, the OS defines a module called a printer driver that takes a standard drawing interface as an input, converts it into a command of the printing device-dependent drawing language system, and outputs it. This printer driver is generally created by a printer manufacturer or an OS developer and stored in the information processing apparatus.

情報処理装置内に格納されるプリンタドライバは多数存在する。そのため情報処理装置に存在する全てのプリンタドライバをユーザに示すのは混乱の元である。つまり、ユーザの使用する印刷装置のみだけ効率的に結びつけ、ユーザが使用可能な状態にしたい。よってOSの初期状態ではプリンタドライバは情報処理装置内に格納されるだけであり、ユーザは特定の印刷装置にプリンタドライバを結びつける作業であるOSへのプリンタドライバのインストールを行う必要がある。   There are many printer drivers stored in the information processing apparatus. Therefore, it is confusing to show the user all printer drivers that exist in the information processing apparatus. In other words, only the printing device used by the user is efficiently linked, so that the user can use it. Therefore, in the initial state of the OS, the printer driver is only stored in the information processing apparatus, and the user needs to install the printer driver in the OS, which is an operation for associating the printer driver with a specific printing apparatus.

このインストール作業は、従来、ユーザが手動で行っていた。しかし、ユーザは煩雑な印刷装置ドラバのインストール作業を行う必要があり、また異なる描画言語体系のコマンドを、その描画体系をサポートしていない印刷装置に送った場合、印刷エラーとなる。このため、該当の印刷装置に対応したプリンタドライバを正しくインストールする必要があり、初心者には難しい作業であった。   Conventionally, this installation operation has been manually performed by the user. However, the user needs to perform complicated installation of the printing apparatus driver, and if a command of a different drawing language system is sent to a printing apparatus that does not support the drawing system, a printing error occurs. For this reason, it is necessary to correctly install a printer driver corresponding to the corresponding printing apparatus, which is a difficult task for beginners.

この煩雑なインストール作業を軽減するために、米国セントロニクス社使用のパラレルインタフェースやUSB(Universal Serial Bus)インタフェースなどの通信媒介を用いることが可能である。情報処理装置と印刷装置とを接続するだけで、ユーザが操作を行わなくても自動的に情報処理装置と印刷装置で双方向通信を行い、その印刷装置に該当するドライバを情報処理装置にインストールする機能をOSに導入している。この機能を「プラグアンドプレイ」と呼ぶ(特許文献1)。プラグアンドプレイは直接的な一対一の接続である。   In order to reduce this complicated installation work, it is possible to use a communication medium such as a parallel interface or a USB (Universal Serial Bus) interface used by Centronics, USA. By simply connecting the information processing device and the printing device, two-way communication is automatically performed between the information processing device and the printing device without any user operation, and the driver corresponding to the printing device is installed in the information processing device. The function to do is introduced in OS. This function is called “plug and play” (Patent Document 1). Plug and play is a direct one-to-one connection.

近年、ネットワークのインフラが整備されるに従い、ネットワーク対応型の印刷装置、スキャナ、複写機等のネットワーク周辺デバイスが急速に普及しつつある。ネットワーク上の各種サービスを提供するデバイスを、ネットワークを介して探索する技術が開発されている。例えば、このような技術には米国マイクロソフト社の提唱するUniversal Plug and Play(以下、「UPnP」と略す)が存在する(特許文献2)。   In recent years, network peripheral devices such as network compatible printing apparatuses, scanners, and copiers are rapidly spreading as network infrastructure is improved. Techniques for searching for devices that provide various services on a network via the network have been developed. For example, there is Universal Plug and Play (hereinafter abbreviated as “UPnP”) proposed by Microsoft Corporation in the United States (Patent Document 2).

ネットワーク対応型のネットワークデバイスとしての印刷装置を例に説明する。事前に使用するクライアント、例えば、パーソナルコンピュータ上に、そのクライアント上で稼動するオペレーティングシステム、例えばWindows(登録商標)によりデータベース上に登録管理された該当ドライバをインストールする。あるいは、印刷装置ベンダからフレキシブルディスク、CD−ROM等の記録媒体を介して提供されるドライバソフトウエア(ドライバ)をインストールする。そして、印刷装置に割り当てられたIPアドレス、印刷装置ポート、使用するプリントプロトコル、デバイスドライバ等の印刷装置を動作させるための情報を把握する必要がある。   A printing apparatus as a network-compatible network device will be described as an example. On a client to be used in advance, for example, a personal computer, an appropriate driver registered and managed on a database by an operating system running on the client, for example, Windows (registered trademark) is installed. Alternatively, driver software (driver) provided from a printing apparatus vendor via a recording medium such as a flexible disk or a CD-ROM is installed. Then, it is necessary to grasp information for operating the printing apparatus such as an IP address assigned to the printing apparatus, a printing apparatus port, a printing protocol to be used, and a device driver.

その印刷装置を他のネットワークへ移動させたり、そのネットワークへの新規加入などにより、ネットワークシステムに接続されている装置の構成は刻々と変化している。このことを鑑み、ネットワーク上に存在する印刷装置を管理するためには、印刷装置の情報を把握して管理する技術が開発されつつある。   The configuration of devices connected to the network system is constantly changing due to the printing device being moved to another network or newly joining the network. In view of this, in order to manage printing apparatuses existing on a network, a technique for grasping and managing information of the printing apparatus is being developed.

しかし、UPnPなどの既存の管理システムは、印刷装置とコンピュータを接続するための技術仕様であるが、機器同士が通信するためのプロトコルとデータフォーマットについて規定しているだけである。   However, an existing management system such as UPnP is a technical specification for connecting a printing apparatus and a computer, but only defines a protocol and a data format for communication between devices.

また、ユーザや各国市場の要求を満たすために、多種多様な印刷装置のための描画言語体系が作られ、市場に送り出されている。それぞれの描画言語体系のために印刷装置を一から開発するのは費用がかさむ。このコストを軽減するために各描画言語体系に依存する部分を拡張ボードやソフトウェアとして分離し、ユーザの要求や各国市場要求に応じて、印刷装置に、その拡張ボードやソフトウェアを搭載し直すことが可能な印刷装置も出てきている。   In order to meet the demands of users and markets in various countries, drawing language systems for a wide variety of printing apparatuses have been created and sent to the market. Developing a printing device from scratch for each drawing language system is expensive. In order to reduce this cost, the parts that depend on each drawing language system can be separated as expansion boards and software, and the expansion boards and software can be re-installed in the printing device according to user demands and market requirements in each country. Possible printing devices are also emerging.

加えて、ユーザが好む描画言語体系が複数個存在する環境のために、一つの印刷装置で複数個の描画言語体系をサポートする印刷装置も登場している。   In addition, for an environment where there are a plurality of drawing language systems preferred by the user, a printing apparatus that supports a plurality of drawing language systems has appeared.

描画言語体系が拡張ボードやソフトウェアによって変更可能な印刷装置や、複数個の描画言語体系をサポートする印刷装置は、プラグアンドプレイ搭載時には想定されていないものである。   A printing apparatus whose drawing language system can be changed by an extension board or software, or a printing apparatus that supports a plurality of drawing language systems is not assumed when plug and play is installed.

検出された一つの印刷装置に対して、複数の描画言語体系からいずれかのPDLを選択するなどの、印刷装置に詳しくないユーザが混乱する選択作業を不要するユーザインターフェイスが望まれている。   There is a need for a user interface that eliminates a selection operation that confuses a user who is not familiar with the printing apparatus, such as selecting one of the PDLs from a plurality of drawing language systems for the detected printing apparatus.

上記の理由により、あるOSに搭載されているプラグアンドプレイでは、印刷装置から情報処理装置に受け渡される印刷装置の識別子(DeviceID)のうち、製造者名と印刷装置名でのみプリンタドライバの検索を行うものがある。この検索では、描画言語体系を示す情報を無視して、印刷装置の識別子のうち、製造者名と印刷装置名でのみ、印刷装置に該当するプリンタドライバを情報処理装置内から検索し、最初に検出したものをインストールする。
特開2003−216378公報 特開2003−6133公報
For the above reasons, in Plug and Play installed in a certain OS, the printer driver is searched only by the manufacturer name and the printing device name among the printing device identifiers (DeviceID) transferred from the printing device to the information processing device. There is something to do. In this search, ignoring information indicating the drawing language system, the printer driver corresponding to the printing device is searched from the information processing device only by the manufacturer name and the printing device name among the identifiers of the printing device. Install what you find.
JP 2003-216378 A JP 2003-6133 A

しかしながら上記の仕組みでは、印刷装置から同時に取得可能なデバイス識別子は1つしかなく、複数のPDLに対応する複数のプリンタドライバをプラグアンドプレイでインストールすることはできない。   However, with the above mechanism, there is only one device identifier that can be simultaneously acquired from the printing apparatus, and a plurality of printer drivers corresponding to a plurality of PDLs cannot be installed by plug and play.

また、印刷機能だけでなく、FAX機能も備えた複合装置においても同様に、印刷用ドライバとFAXドライバの両方をプラグアンドプレイでインストールできることが望まれる。しかしながら現状の仕組みでは、デバイスに設定された識別子に依存するドライバだけがインストールされる。   Similarly, it is desirable that both a printing driver and a FAX driver can be installed by plug and play in a composite apparatus having not only a printing function but also a FAX function. However, in the current mechanism, only the driver depending on the identifier set in the device is installed.

本発明は、複数の機能ドライバをサポートするデバイスからプラグアンドプレイインストール用の識別子を1つしか取得できない場合でも、全ての機能ドライバをインストールすることを可能にする情報処理技術の提供を目的とする。   An object of the present invention is to provide an information processing technique that enables installation of all function drivers even when only one identifier for plug and play installation can be obtained from a device that supports a plurality of function drivers. .

上記の目的を達成する本発明に係る情報処理方法は、ネットワークに接続されたデバイスから取得した識別情報により、前記デバイスが既に登録されているか否かを判定し、登録されていないデバイスである場合に、前記デバイスが有するコントローラに対応したデバイスドライバを前記デバイスにプラグアンドプレイインストールするインストール手段を有する情報処理装置で実行される情報処理方法であって、
取得手段が、前記デバイスが有する少なくとも1つのコントローラにより少なくとも1つの種類のページ記述言語に対応した処理が可能であることを示すサポートコマンド情報と、前記コントローラに対応したデバイスドライバをプラグアンドプレイによりインストールするための設定であることを示す設定情報と、を含む構成情報を前記デバイスから取得する取得工程と、
認識手段が、前記デバイスから取得した前記構成情報に含まれる前記設定情報を参照して、前記デバイスが有する前記コントローラに対応したデバイスドライバをプラグアンドプレイによりインストールするための設定がされていることを認識する認識工程と、
判定手段が、前記構成情報に含まれる前記サポートコマンド情報を参照して前記コントローラとは異なる第2のコントローラに関する情報が記述されており、当該第2のコントローラにより前記ページ記述言語とは異なる第2のページ記述言語に対応した処理が可能であるかを判定する判定工程と、
生成手段が、前記判定工程の判定により、前記第2のページ記述言語に対応した処理が可能であると判定された場合、前記構成情報のうち、前記設定情報を前記第2のコントローラに対応したデバイスドライバをプラグアンドプレイによりインストールするための設定であることを示す情報に書き換えた第2構成情報前記第2のコントローラに対応したデバイスドライバをプラグアンドプレイインストールする際に前記デバイスを当該デバイスとは異なる仮想デバイスとして前記インストール手段に認識させるための第2の識別情報と、を生成する生成工程と、
送信手段が、前記生成工程により生成された前記第2の識別情報を前記インストール手段に送信し、当該インストール手段からの要求に応じて前記第2構成情報を前記インストール手段に送信する送信工程と
を有することを特徴とする。
When the information processing method according to the present invention that achieves the above object determines whether or not the device is already registered based on the identification information acquired from the device connected to the network, and is a device that is not registered to an information processing method performed with the device driver corresponding to the controller, wherein the device has an information processing apparatus having an installation means for plug-and-play installation on the device,
The acquisition means installs support command information indicating that processing corresponding to at least one type of page description language can be performed by at least one controller included in the device and a device driver corresponding to the controller by plug and play. An acquisition step of acquiring configuration information from the device, including setting information indicating that it is a setting for
Recognition means, by referring to the setting information included in the configuration information obtained from the previous SL device, a device driver corresponding to the controller that the device has to have been set to install the plug-and-play Recognition process to recognize
Determination means, by referring to said support command information included in the prior Ki構 formation information, wherein the controller is described information on a different second controller and, from that of the second controller by the page description language A determination step of determining whether processing corresponding to a different second page description language is possible ;
When the generation unit determines that the processing corresponding to the second page description language is possible by the determination in the determination step , the setting information among the configuration information corresponds to the second controller. the second configuration information rewrite the information indicating that the setting for installing the plug and Play device driver, the device the device driver corresponding to the second controller when the plug-and-play installation A second identification information for causing the installation unit to recognize the virtual device as a virtual device different from the device;
Transmitting the transmission means, the second identification information generated by the generating step sends to said installation means, said second structure Narujo report in response to a request from the installation unit, and transmits to said installation means And a process.

あるいは、本発明に係る情報処理装置は、ネットワークに接続されたデバイスから取得した識別情報により、前記デバイスが既に登録されているか否かを判定し、登録されていないデバイスである場合に、当該デバイスが有するコントローラに対応したデバイスドライバを前記デバイスにプラグアンドプレイインストールするインストール手段を有する情報処理装置であって、
前記デバイスが有する少なくとも1つのコントローラにより少なくとも1つの種類のページ記述言語に対応した処理が可能であることを示すサポートコマンド情報と、前記コントローラに対応したデバイスドライバをプラグアンドプレイによりインストールするための設定であることを示す設定情報と、を含む構成情報を前記デバイスから取得する取得手段と、
記デバイスから取得した前記構成情報に含まれる前記設定情報を参照して、前記デバイスが有する前記コントローラに対応したデバイスドライバをプラグアンドプレイによりインストールするための設定がされていることを認識する認識手段と、
記構成情報に含まれる前記サポートコマンド情報を参照して前記コントローラとは異なる第2のコントローラに関する情報が記述されており、当該第2のコントローラにより前記ページ記述言語とは異なる第2のページ記述言語に対応した処理が可能であるかを判定する判定手段と、
前記判定手段の判定により、前記第2のページ記述言語に対応した処理が可能であると判定された場合、前記構成情報のうち、前記設定情報を前記第2のコントローラに対応したデバイスドライバをプラグアンドプレイによりインストールするための設定であることを示す情報に書き換えた第2構成情報前記第2のコントローラに対応したデバイスドライバをプラグアンドプレイインストールする際に前記デバイスを当該デバイスとは異なる仮想デバイスとして前記インストール手段に認識させるための第2の識別情報と、を生成する生成手段と、
前記生成手段により生成された前記第2の識別情報を前記インストール手段に送信し、当該インストール手段からの要求に応じて前記第2構成情報を、前記インストール手段に送信する送信手段と
を備えることを特徴とする。
Alternatively, the information processing apparatus according to the present invention determines whether or not the device is already registered based on the identification information acquired from the device connected to the network. the information processing apparatus having an installation means for plug-and-play installation to the device the device driver corresponding to the controller included in,
Support command information indicating that processing corresponding to at least one type of page description language can be performed by at least one controller included in the device, and setting for installing a device driver corresponding to the controller by plug and play Acquisition means for acquiring configuration information from the device, including setting information indicating that
By referring to the setting information included in the configuration information obtained from the previous SL device, recognizing it recognizes that the have a device driver corresponding to the controller is set to install the plug-and-play in which the device has Means,
Referring to the support command information included in the prior Ki構 formation information, wherein is described the information on a different second controller than the controller, different from the second and the page description language by the second controller Determination means for determining whether processing corresponding to the page description language is possible ;
If it is determined by the determination means that processing corresponding to the second page description language is possible, the configuration information of the configuration information is plugged with a device driver corresponding to the second controller. different second configuration information rewrite the information indicating that the and-play is a setting for installing, the device the device driver corresponding to the second controller when the plug-and-play installation and the device Generation means for generating second identification information for causing the installation means to recognize as a virtual device;
And transmitting means for transmitting the second identification information generated by the generating means to said installation means, said second structure Narujo report in response to a request from the installation unit, and transmits to said installation means It is characterized by that.

本発明によれば、複数の機能ドライバをサポートするデバイスからプラグアンドプレイインストール用の識別子を1つしか取得できない場合でも、全ての機能ドライバをプラグアンドプレイインストールすることが可能になる。   According to the present invention, even when only one identifier for plug-and-play installation can be obtained from a device that supports a plurality of function drivers, it is possible to perform plug-and-play installation of all function drivers.

以下に、図面を参照して、この発明の好適な実施の形態を例示的に詳しく説明する。ただし、この実施の形態に記載されている構成要素はあくまで例示であり、この発明の範囲をそれらのみに限定する趣旨のものではない。   Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the drawings. However, the constituent elements described in this embodiment are merely examples, and are not intended to limit the scope of the present invention only to them.

(第1実施形態)
図1は本発明の実施形態に係るプリントシステムの構成をソフトウェア面からみたブロック図である。図7は、第1実施形態に係るプリントシステムにおけるクライアントコンピュータ(以下、単に「クライアント」と呼ぶ)100、プロキシサーバ300、ネットワークデバイスの例としてプリンタ200の通信を簡略的に示す図である。
(First embodiment)
FIG. 1 is a block diagram showing the configuration of a printing system according to an embodiment of the present invention from the viewpoint of software. FIG. 7 is a diagram schematically illustrating communication of a printer 200 as an example of a client computer (hereinafter simply referred to as “client”) 100, a proxy server 300, and a network device in the print system according to the first embodiment.

(クライアント100)
クライアント100には、不図示の米国マイクロソフト社が提供するOSであるwindows(登録商標)や米国Apple社が提供するMac OS(登録商標)等の汎用オペレーティングシステムがインストールされている。更に、クライアント100には、汎用オペレーティングシステム上で実行可能な汎用アプリケーションがインストールされている。
(Client 100)
The client 100 is installed with a general-purpose operating system such as windows (registered trademark) provided by Microsoft Corporation (not shown) or Mac OS (registered trademark) provided by Apple Inc. Further, a general-purpose application that can be executed on a general-purpose operating system is installed in the client 100.

汎用オペレーティングシステムは、通信機能としてTCP/UDP/IPプロトコルスタック107を備え、そのプロトコルスタック上にHTTP106を備え、HTTPリクエストの解析、およびレスポンス処理を行う。HTTP106上には、Simple Object Access Protocol(SOAP)処理部103を備え、UPnPに関する通信手段を形成している。UPnPのためのプラグアンドプレイインストール部101は、ネットワーク上のUPnP対応プリンタ200および代理応答装置(プロキシサーバ300)と通信を行うために、上記通信手段を用いることが可能である。   The general-purpose operating system includes a TCP / UDP / IP protocol stack 107 as a communication function. The general-purpose operating system includes an HTTP 106 on the protocol stack, and performs HTTP request analysis and response processing. A Simple Object Access Protocol (SOAP) processing unit 103 is provided on the HTTP 106 to form a communication means related to UPnP. The plug-and-play installation unit 101 for UPnP can use the communication means described above to communicate with the UPnP-compatible printer 200 and the proxy response device (proxy server 300) on the network.

クライアント100にUPnPで検出したプリンタ200等を表示し、ユーザに選択させるために、プラグアンドプレイインストール部101はGUI部102を利用する。   The plug-and-play installation unit 101 uses the GUI unit 102 to display the printer 200 detected by UPnP on the client 100 and allow the user to select it.

Configuratorモジュール部104は、ネットワーク700を介してプリンタ200より取得した情報に基づいて、予めハードディスクに格納された中から該当するプリンタドライバをOSに登録(インストール)する。   Based on the information acquired from the printer 200 via the network 700, the Configurator module unit 104 registers (installs) the corresponding printer driver in the OS stored in advance on the hard disk.

詳しくは、OSのアプリケーションプログラムインタフェース(API)から、システムインストーラ108を呼び出す。システムインストーラ108は、ハードディスクからプリンタドライバを取得して、ドライバ格納部111にインストールする。同時に、システムインストーラ108は、自動的にドライバ管理部110にデバイスID(デバイス識別子)に基づいてプリンタドライバを登録するようシステム管理部109に登録依頼を行う。以後、OSはプリンタドライバが登録されていることを認識するので、ドライバ格納部111に格納されたプリンタドライバを適宜ローディングして印刷に関する各種処理を行う。本実施形態におけるプラグアンドプレイインストール101部は、以下のデバイス構成情報を取得する。デバイス構成情報には、デバイス(プリンタ200)がサポートする能力を特定する情報が含まれる。以下に示すデバイス構成情報の場合、「サポートコマンド・言語」には、PDL1,PDL2と記述されており、デバイス(プリンタ200)が複数のPDLに対応した処理能力を有することがわかる。   Specifically, the system installer 108 is called from the OS application program interface (API). The system installer 108 acquires the printer driver from the hard disk and installs it in the driver storage unit 111. At the same time, the system installer 108 requests the system management unit 109 to automatically register the printer driver in the driver management unit 110 based on the device ID (device identifier). Thereafter, since the OS recognizes that the printer driver is registered, the printer driver stored in the driver storage unit 111 is appropriately loaded and various processes relating to printing are performed. The plug-and-play installation 101 unit in the present embodiment acquires the following device configuration information. The device configuration information includes information for specifying the capability supported by the device (printer 200). In the case of the following device configuration information, PDL1 and PDL2 are described in “support command / language”, and it can be seen that the device (printer 200) has a processing capability corresponding to a plurality of PDLs.

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は、インストール時に対応するデバイス(プリンタ)とデバイスドライバ(プリンタドライバ)を対応づけるために、デバイス識別子(以下、単に「識別子」ともいう)として用いられる。
MANUFACTURER (Device Manufacturer): ABC
COMMAND SET (Support Command / Language): PDL1, PDL2
MODEL (printer model): Printer A PDL1
COMMENT (Comment): Located In Room 3
ACTIVE COMMAND SET: (active command / language): PDL1
The plug-and-play installation unit 101 extracts a device manufacturer / printer model pair from the device configuration information as a device ID, converts the device ID into a device ID that can be recognized by the system installer 108, and performs installation.
The device driver stored in advance on the hard disk includes an INF file describing unique information that is referred to when the driver is installed. In the INF file, a device ID composed of a set of a device manufacturer and a printer model is described. The device ID is used as a device identifier (hereinafter also simply referred to as “identifier”) in order to associate a device (printer) corresponding to the installation with a device driver (printer driver).

(ネットワーク対応型デバイス)
ネットワーク対応型デバイス(本実施形態ではネットワーク対応型プリンタ200を例とする)は、通信機能としてTCP/UDP/IPプロトコルスタック201を備える。プロトコルスタック201上にHTTP202を備え、HTTPリクエストの解析、およびレスポンス処理を行う。HTTP202の上位層にはSimple Object Access Protocol(SOAP)処理部203を備え、SOAP処理部203の上位層にUPnPプロトコル処理部204を備える。
(Network-compatible device)
A network-compatible device (in this embodiment, the network-compatible printer 200 is taken as an example) includes a TCP / UDP / IP protocol stack 201 as a communication function. An HTTP 202 is provided on the protocol stack 201, and an HTTP request is analyzed and a response process is performed. A simple object access protocol (SOAP) processing unit 203 is provided in an upper layer of the HTTP 202, and a UPnP protocol processing unit 204 is provided in an upper layer of the SOAP processing unit 203.

ネットワーク対応型プリンタ(以下、単に「プリンタ」という。)200は、UPnP Forumで策定されたPrintBasicサービスを実装しているものとする。UPnPプロトコル処理部204は、PrintBasicサービスで定義されたプリントジョブ、および属性情報を解析し、プリンタコントローラ205に対し、そのプリント要求を送出する機能を備える。   It is assumed that a network compatible printer (hereinafter simply referred to as “printer”) 200 is mounted with a PrintBasic service defined by UPnP Forum. The UPnP protocol processing unit 204 has a function of analyzing a print job defined in the PrintBasic service and attribute information and sending the print request to the printer controller 205.

プリンタ200は、複数のPDLに対するプリンタコントローラ205を同時に有することが出来る。またプリンタコントローラ205を脱着可能にし、ユーザの要求に応じて差し替えて、プリンタ200がサポートするPDLを変更することも可能である。本実施形態におけるプリンタ200は、PDL1、PDL2の2つのPDLのためのプリンタコントローラ(PDL1、PDL2)205a、205bを搭載しているものとする。   The printer 200 can have a printer controller 205 for a plurality of PDLs simultaneously. It is also possible to change the PDL supported by the printer 200 by making the printer controller 205 detachable and replacing it according to the user's request. Assume that the printer 200 in this embodiment is equipped with printer controllers (PDL1, PDL2) 205a and 205b for two PDLs, PDL1 and PDL2.

(プロキシサーバ)
実施形態において特徴となるネットワークデバイス管理装置として機能するプロキシサーバ(代理サーバ)300も同様に、通信機能としてTCP/UDP/IPプロトコルスタック301を備える。プロトコルスタック301上にHTTP302を備え、HTTPリクエストの解析、およびレスポンス処理を行う。
(Proxy server)
Similarly, the proxy server (proxy server) 300 that functions as a network device management apparatus that is a feature of the embodiment includes a TCP / UDP / IP protocol stack 301 as a communication function. An HTTP 302 is provided on the protocol stack 301, and an HTTP request is analyzed and a response process is performed.

HTTP302の上位層にはSimple Object Access Protocol(SOAP)処理部303が設けられている。UPnPプロトコル処理部304、およびデバイス管理部306がそれぞれ、クライアント200、およびプロキシサーバ300が複数ネットワーク上に存在する場合、XMLで記述されたデータの双方向通信を実現する。   A simple object access protocol (SOAP) processing unit 303 is provided in an upper layer of the HTTP 302. When the client 200 and the proxy server 300 exist on a plurality of networks, the UPnP protocol processing unit 304 and the device management unit 306 respectively realize bidirectional communication of data described in XML.

デバイス管理部306は、SOAP処理部303、UPnPプロトコル処理部304、及び記憶装置制御部305の上位層に設けられている。デバイス管理部306は、UPnPプロトコルスタック301で受信した各種XMLドキュメントを解析・変換、デバイス識別子の生成などを行う。記憶装置制御部305は、記憶装置を制御して、受信データ、解析結果、変換結果、送信データ等の読み書きを行う。また、UPnPプロトコル処理部304にデータを送信するなどの処理を実行する。   The device management unit 306 is provided in an upper layer of the SOAP processing unit 303, the UPnP protocol processing unit 304, and the storage device control unit 305. The device management unit 306 analyzes and converts various XML documents received by the UPnP protocol stack 301 and generates a device identifier. The storage device control unit 305 controls the storage device to read / write received data, analysis results, conversion results, transmission data, and the like. Also, processing such as transmitting data to the UPnP protocol processing unit 304 is executed.

デバイス管理部306は、プロキシサーバ300が管理する管理テーブルを、記憶装置制御部305を介して記憶装置制御部305が制御する記憶装置に対し書き込み、読み出し処理を行う。また、同様に、デバイス管理部306は、ネットワーク700上に存在する他のプロキシサーバが管理する管理テーブルを取得した場合、記憶装置制御部305を介して、記憶装置制御部305が制御する記憶装置に対し書き込み、読み出し処理を行う。   The device management unit 306 writes the management table managed by the proxy server 300 to the storage device controlled by the storage device control unit 305 via the storage device control unit 305, and performs read processing. Similarly, when the device management unit 306 acquires a management table managed by another proxy server existing on the network 700, the storage device controlled by the storage device control unit 305 via the storage device control unit 305. Is written and read.

以上は、各装置のプリントに関する実装されるコンピュータプログラムの構成であるが、クライアント100、プロキシサーバ300は、通常のパーソナルコンピュータ等の情報処理装置で実現することが可能である。ハードウェアとしての構成は、例えば、図2のようになる。   The above is the configuration of the computer program implemented for printing of each device, but the client 100 and the proxy server 300 can be realized by an information processing device such as a normal personal computer. The hardware configuration is, for example, as shown in FIG.

図2において、CPU1001は装置全体の制御を司り、ROM1002はBIOSやブートプログラムを記憶する。RAM1003はCPU1001のワークエリアとして使用することが可能である。ハードディスク装置(HDD)1004には、OS、アプリケーションや各種プログラム、並びに、データファイル等が格納される。ネットワークインタフェース(I/F)1005は、ネットワーク700と接続するために、イーサネット(登録商標)カードや無線LANカードを用いることができる。表示制御部1006は、ビデオメモリ及びCPU1001の制御により描画を行うと共にビデオメモリに記憶された画像データをビデオ信号として出力するビデオコントローラが内蔵される。   In FIG. 2, a CPU 1001 controls the entire apparatus, and a ROM 1002 stores a BIOS and a boot program. The RAM 1003 can be used as a work area for the CPU 1001. A hard disk device (HDD) 1004 stores an OS, applications, various programs, data files, and the like. The network interface (I / F) 1005 can use an Ethernet (registered trademark) card or a wireless LAN card to connect to the network 700. The display control unit 1006 incorporates a video memory and a video controller that performs drawing under the control of the CPU 1001 and outputs image data stored in the video memory as a video signal.

表示装置1007は、液晶表示器やCRTに代表されるものである。入力装置1008にはキーボードやマウス等が含まれる。   The display device 1007 is typified by a liquid crystal display or a CRT. The input device 1008 includes a keyboard and a mouse.

上記構成において、装置の電源がONになると、CPU1001はROM1002のブートプログラムに従って、ハードディスク1004からOSをRAM1003にロードし、各種デバイスドライバをロードする。上記の装置がクライアント100である場合、図1に示す構成のプログラムをRAM1003にロードし、実行することになる。これはプロキシサーバ300でも同様である。プロキシサーバ300の場合、OSがロードされた後、図1に示す構成のプログラムをRAM1003にロードし、且つ、後述する処理を行うことになる。   In the above configuration, when the apparatus is turned on, the CPU 1001 loads the OS from the hard disk 1004 to the RAM 1003 and loads various device drivers according to the boot program in the ROM 1002. When the above apparatus is the client 100, the program having the configuration shown in FIG. 1 is loaded into the RAM 1003 and executed. The same applies to the proxy server 300. In the case of the proxy server 300, after the OS is loaded, the program having the configuration shown in FIG. 1 is loaded into the RAM 1003 and the processing described later is performed.

図3は、プリンタ200のブロック構成図である。図3において、CPU2001はプリンタ全体の制御を司り、ROM2002はCPU2001が実行する印刷処理プログラムやフォントデータを格納する。RAM2003はCPU2001のワークエリア、受信バッファ、画像描画に使用することが可能である。操作パネル2004は各種スイッチやボタン、並びに、メッセージ表示用の液晶表示部で構成される。ネットワークインタフェース(I/F)2005を介して、プリンタ200はネットワーク700に接続することが可能である。レンダリング部2006は描画処理を実行し、プリンタエンジン2007は、レンダリング部2006により描画処理されたデータに基づいて、実際に記録紙に印刷処理を実行する。   FIG. 3 is a block diagram of the printer 200. In FIG. 3, a CPU 2001 controls the entire printer, and a ROM 2002 stores a print processing program executed by the CPU 2001 and font data. A RAM 2003 can be used for a work area of the CPU 2001, a reception buffer, and image drawing. The operation panel 2004 includes various switches and buttons, and a liquid crystal display unit for displaying messages. The printer 200 can be connected to the network 700 via a network interface (I / F) 2005. The rendering unit 2006 executes drawing processing, and the printer engine 2007 actually executes printing processing on recording paper based on the data drawn by the rendering unit 2006.

本実施形態では、プリンタ200、プロキシサーバ300、クライアント100は、マイクロソフト社の提唱する仕様に準拠したプロトコルで通信することが可能である。例えば、Web Services Dynamic Discovery (WS-Discovery)の仕様に準拠したプロトコルにより通信を行うことも可能である。Web Services MetadataExchange (WS-MetadataExchange)の仕様に準拠したプロトコルにより通信を行うことも可能である。あるいは、Web Services Eventing (WS-Eventing)の仕様に準拠したプロトコルにより通信を行うことも可能である。   In the present embodiment, the printer 200, the proxy server 300, and the client 100 can communicate using a protocol that conforms to the specification proposed by Microsoft Corporation. For example, it is possible to perform communication using a protocol compliant with the specification of Web Services Dynamic Discovery (WS-Discovery). It is also possible to communicate using a protocol that conforms to the specifications of Web Services MetadataExchange (WS-MetadataExchange). Alternatively, communication can be performed using a protocol compliant with the specification of Web Services Eventing (WS-Eventing).

本実施形態に係る処理の流れを図4のフローチャートを参照して説明する。   The flow of processing according to the present embodiment will be described with reference to the flowchart of FIG.

図4は、本実施形態に係るプロキシサーバ300がデバイス(プリンタ200)からHelloメッセージを受信した時の動作を表したフローチャートである。図7に示すように、デバイス(プリンタ200)は、起動時にHelloメッセージをマルチキャストでネットワーク700に送信する。   FIG. 4 is a flowchart showing an operation when the proxy server 300 according to the present embodiment receives a Hello message from the device (printer 200). As shown in FIG. 7, the device (printer 200) transmits a Hello message to the network 700 by multicast at the time of activation.

ステップS401において、プロキシサーバ300は、デバイス(プリンタ200)からのHelloメッセージを常にリッスンしており、デバイス(プリンタ200)からのHelloメッセージを受信する。   In step S401, the proxy server 300 always listens for the Hello message from the device (printer 200) and receives the Hello message from the device (printer 200).

ステップS402において、プロキシサーバ300は、Helloメッセージに含まれる識別子UUID(Universally Unique Identifier)から、例えば、デバイス(プリンタ200)を一意に特定するために判定を行う。プロキシサーバ300は、識別子UUIDに基づいて、プロキシサーバの管理テーブルに登録されているデバイス(プリンタ200)があるか否かを判断する。   In step S402, the proxy server 300 performs determination to uniquely identify, for example, a device (printer 200) from an identifier UUID (Universally Unique Identifier) included in the Hello message. Based on the identifier UUID, the proxy server 300 determines whether there is a device (printer 200) registered in the management table of the proxy server.

既にデバイス(プリンタ200)が登録済みの場合は(S402−YES)、処理をステップS408に進め、管理テーブルに記録しているデバイス(プリンタ200)のステイタスを編集して処理を終了する。   If the device (printer 200) has already been registered (S402-YES), the process proceeds to step S408, the status of the device (printer 200) recorded in the management table is edited, and the process ends.

未登録の場合は(S402−No)、デバイス(プリンタ200)から更に詳細な情報を得るため、プロキシサーバ300は、デバイス(プリンタ200)に対してGetMetaDataメッセージを送信する。GetMetaDataメッセージを受信したデバイス(プリンタ200)は、GetMetaDataResponceメッセージを返信する。デバイス(プリンタ200)が返信するGetMetaDataResponceメッセージは、例えば、デバイス構成情報(プリンタ構成情報)の参照(URI)を含む。   If not registered (S402-No), the proxy server 300 transmits a GetMetaData message to the device (printer 200) in order to obtain more detailed information from the device (printer 200). The device (printer 200) that has received the GetMetaData message returns a GetMetaDataResponce message. The GetMetaDataResponce message returned from the device (printer 200) includes, for example, a reference (URI) of device configuration information (printer configuration information).

次に、プロキシサーバ300は、Getメッセージをデバイス(プリンタ200)に送信する。Getメッセージには、プリンタ構成情報の参照URIを含み、これを受信したデバイス(プリンタ200)は、GetResponceメッセージを返信する。GetResponceメッセージには、図5に示すような、プリンタ構成情報500が含まれているものとする。ここで、プリンタ構成情報500には、デバイス製造社501、サポートコマンド・言語502、プリンタ機種503、コメント504、アクティブなコマンド・言語505、IPアドレス506が含まれる。   Next, the proxy server 300 transmits a Get message to the device (printer 200). The Get message includes the reference URI of the printer configuration information, and the device (printer 200) that has received this returns a GetResponce message. Assume that the GetResponce message includes printer configuration information 500 as shown in FIG. The printer configuration information 500 includes a device manufacturer 501, a support command / language 502, a printer model 503, a comment 504, an active command / language 505, and an IP address 506.

ステップS403において、上記の処理によりプロキシサーバは、デバイス(プリンタ200)からプリンタ構成情報500を取得する。   In step S403, the proxy server acquires the printer configuration information 500 from the device (printer 200) by the above processing.

ステップS404において、プロキシサーバ300は、プリンタ機種503の情報(Printer A PDL1)から取得したプリンタ構成情報をPDL1用のプリンタドライバインストール用の情報であることを認識する。そして、プロキシサーバ300は、他のPDLをサポートしているか判定する。プロキシサーバ300は、サポートコマンド・言語502の情報から、PDL1の他、PDL2もサポートしていると判定する。   In step S404, the proxy server 300 recognizes that the printer configuration information acquired from the printer model 503 information (Printer A PDL1) is information for installing a printer driver for PDL1. Then, the proxy server 300 determines whether other PDL is supported. The proxy server 300 determines from the information of the support command / language 502 that PDL2 is supported in addition to PDL1.

ステップS404の判定で、プロキシサーバ300が、他のPDLもデバイスはサポートしていると判定した場合(S404−YES)、処理をステップS405に進める。ステップS404の判定で、他のPDLをサポートしていないとプロキシサーバ300が判定した場合(S404−NO)、処理をステップS406に進める。   If it is determined in step S404 that the proxy server 300 supports other PDL devices (S404-YES), the process proceeds to step S405. If it is determined in step S404 that the proxy server 300 does not support another PDL (S404-NO), the process proceeds to step S406.

S405において、プロキシサーバ300は、図6に示すようなプリンタ機種603の情報を「Printer A PDL2」に、アクティブなコマンド・言語605の情報を「PDL2」と書き換えたプリンタ構成情報を生成する。   In step S405, the proxy server 300 generates printer configuration information in which information on the printer model 603 as illustrated in FIG.

プロキシサーバ300は、プリンタ構成情報を書き換えたデバイス(プリンタ200)と異なるデバイス(プリンタ)として、クライアント100に認識させる為、プリンタ構成情報を書き換えたデバイス用の識別子を生成する。   The proxy server 300 generates an identifier for a device whose printer configuration information has been rewritten so that the client 100 can recognize it as a device (printer) different from the device (printer 200) whose printer configuration information has been rewritten.

ステップS406において、プロキシサーバ300は、生成したプリンタ構成情報と識別子を管理テーブルに登録する。   In step S406, the proxy server 300 registers the generated printer configuration information and identifier in the management table.

次に、ステップS407において、プロキシサーバ300は、仮想的なデバイス(プリンタ)として、プリンタ構成情報が書き換えられたプリンタの代わりにHelloメッセージをマルチキャストで送信する。Helloメッセージには、先のステップS405で生成した識別子が含まれる。識別子のアドレスは、プリンタのアドレスではなく、プロキシサーバ300のアドレスにマッピングする。   In step S407, the proxy server 300 transmits, as a virtual device (printer), a Hello message by multicast instead of the printer whose printer configuration information has been rewritten. The Hello message includes the identifier generated in the previous step S405. The identifier address is mapped to the proxy server 300 address, not the printer address.

Helloメッセージを受信したクライアント100は、プロキシサーバ300、デバイス(プリンタ200)間の通信と同様に、GetMetaDataメッセージ、Getメッセージを、プロキシサーバ300に送信し、プリンタ構成情報を取得する。クライアント100は、プロキシサーバ300との通信により、図6に示すデバイス構成情報の取得が可能である。   The client 100 that has received the Hello message transmits a GetMetaData message and a Get message to the proxy server 300 in the same manner as the communication between the proxy server 300 and the device (printer 200), and acquires printer configuration information. The client 100 can acquire the device configuration information illustrated in FIG. 6 through communication with the proxy server 300.

複数の機能をサポートするデバイス(プリンタ200)からプラグアンドプレイインストール用のデバイス識別子を1つしか取得できない場合、プロキシサーバ300は、プリンタ構成情報を書き換えた識別子を生成する。識別子がプロキシサーバ300により生成されたデバイスは、識別子に基づいて判断した場合、デバイス(プリンタ200)と異なる仮想的なデバイスとなる。   When only one device identifier for plug and play installation can be acquired from a device (printer 200) that supports a plurality of functions, the proxy server 300 generates an identifier in which the printer configuration information is rewritten. The device whose identifier is generated by the proxy server 300 is a virtual device different from the device (printer 200) when it is determined based on the identifier.

プリンタ構成情報の書き換えにおいて、IPアドレスは変更されないため、全ての機能ドライバをプラグアンドプレイインストールするインストール先はデバイス(プリンタ200)となる。   Since the IP address is not changed when rewriting the printer configuration information, the installation destination for plug-and-play installation of all function drivers is the device (printer 200).

クライアント100は取得したプリンタ構成情報のうちデバイス製造社501とプリンタ機種の情報から、ネットワーク700上のデバイスを識別するためのデバイスIDを生成し、プラグアンドプレイを実行する。これにより、Printer AのPDL2用のドライバがデバイス(プリンタ200)インストールされる。   The client 100 generates a device ID for identifying a device on the network 700 from the information of the device manufacturer 501 and the printer model in the acquired printer configuration information, and executes plug and play. As a result, the driver for the Printer A PDL2 is installed in the device (printer 200).

PDL1用のドライバは図5に示すプリンタ構成情報に基づいて通常のプラグアンドプレイインストールによりインストールされるので、クライアント100は、全ての機能ドライバをプラグアンドプレイインストールできる。   Since the driver for PDL1 is installed by normal plug and play installation based on the printer configuration information shown in FIG. 5, the client 100 can perform plug and play installation of all the function drivers.

以上の処理により、Helloメッセージパケットの受信を終了する(S408)。   With the above processing, the reception of the Hello message packet is terminated (S408).

本実施形態に拠れば、複数の機能ドライバをサポートするデバイスからプラグアンドプレイインストール用の識別子を1つしか取得できない場合でも、全ての機能ドライバをプラグアンドプレイインストールすることが可能になる。   According to this embodiment, even when only one identifier for plug and play installation can be acquired from a device that supports a plurality of function drivers, it is possible to perform plug and play installation of all the function drivers.

(第2実施形態)
第1実施形態では、プロキシサーバ300がデバイス(プリンタ200)からHelloメッセージを受信した場合の動作を説明したが、プロキシサーバ300が能動的にデバイス(200)にアクセスして情報を取得してもよい。例えば、プロキシサーバ300がネットワーク700上のデバイス(プリンタ200)を探索し、探索の結果、検出したデバイス(プリンタ200)からデバイス構成情報(プリンタ構成情報)を取得しても良い。
(Second Embodiment)
In the first embodiment, the operation when the proxy server 300 receives a Hello message from the device (printer 200) has been described. However, even when the proxy server 300 actively accesses the device (200) and acquires information. Good. For example, the proxy server 300 may search for a device (printer 200) on the network 700, and acquire device configuration information (printer configuration information) from the detected device (printer 200) as a result of the search.

図8は、第2実施形態におけるクライアント100、プロキシサーバ300、デバイス(プリンタ200)間の通信を概略的に示す図である。図8において、Probはデバイス探索用のメッセージであり、ProbMatchは、デバイスから返信されるProbに対する応答メッセージである。   FIG. 8 is a diagram schematically illustrating communication between the client 100, the proxy server 300, and the device (printer 200) in the second embodiment. In FIG. 8, Prob is a device search message, and ProbMatch is a response message to Prob returned from the device.

図9は、第2実施形態におけるクライアント100、プロキシサーバ300、デバイス(プリンタ200)間の通信を概略的に示す図であり、プロキシサーバ300がデバイス探索用サーバとして機能する場合を例示する図である。   FIG. 9 is a diagram schematically illustrating communication between the client 100, the proxy server 300, and the device (printer 200) in the second embodiment, and is a diagram illustrating a case where the proxy server 300 functions as a device search server. is there.

Subscribeメッセージを受け、プロキシサーバ300がデバイス探索用サーバとしてクライアント100から利用される場合、クライアント100に対してHelloメッセージを送信する必要は無い。この場合、クライアント100からデバイス構成情報(プリンタ構成情報)の問い合わせがあった場合に、プリンタ構成情報を通知する。若しくは、クライアント100がプロキシサーバ300にイベント通知の登録を行い、プロキシサーバ300が未登録のデバイスを検出した場合に、プロキシサーバ300はデバイス構成情報をクライアントに通知する。   When receiving the Subscribe message and the proxy server 300 is used as a device search server from the client 100, it is not necessary to transmit a Hello message to the client 100. In this case, when there is an inquiry about device configuration information (printer configuration information) from the client 100, the printer configuration information is notified. Alternatively, when the client 100 registers an event notification with the proxy server 300 and the proxy server 300 detects an unregistered device, the proxy server 300 notifies the client of device configuration information.

プロキシサーバ300は、Notificationメッセージによりプリンタ200から取得したプリンタ構成情報500と、プリンタ構成情報500に基づいて生成したプリンタ構成情報600をクライアント100に通知する。   The proxy server 300 notifies the client 100 of the printer configuration information 500 acquired from the printer 200 by the Notification message and the printer configuration information 600 generated based on the printer configuration information 500.

尚、プロキシサーバ300が代理する対象は、プリンタ200に限らず、他のデバイスでも構わない。プリンタ以外のネットワーク対応型デバイスとしてはハードディスク等のストレージデバイス、スキャナ、複写機、FAX及びそれら複合機能を備えるデバイス(複合装置)でもよい。デバイスが備える通信機能を介してプロキシサーバ300と属性情報の交換、ジョブの送受信が可能な装置であればいずれの場合においても実現可能である。また、この場合、プロキシサーバ300とネットワーク対応型デバイス間の通信プロトコルは標準化された、あるいは汎用プロトコルであっても、ベンダ固有のプロトコルであっても同様に実現可能である。   Note that the proxy server 300 is not limited to the printer 200 but may be another device. The network compatible device other than the printer may be a storage device such as a hard disk, a scanner, a copier, a FAX, and a device (composite apparatus) having these combined functions. This can be realized in any case as long as it is an apparatus capable of exchanging attribute information with the proxy server 300 and transmitting / receiving jobs via the communication function of the device. In this case, the communication protocol between the proxy server 300 and the network-compatible device can be realized in the same way, whether it is a standardized protocol, a general-purpose protocol, or a vendor-specific protocol.

デバイスとプロキシサーバ300との間は、USB、IEEE1394、パラレル通信などのローカル接続による通信によっても実現可能であるし、ネットワークは有線、無線を問わない。   The device and the proxy server 300 can be realized by communication by local connection such as USB, IEEE 1394, parallel communication, and the network may be wired or wireless.

また、上述の実施形態において、プロキシサーバ300は独立に存在していたが、プロキシサーバ300の機能はネットワーク対応型デバイスの内部もしくはクライアントの内部に物理的に、あるいは論理的に組み込まれている場合においても実現可能である。   In the above-described embodiment, the proxy server 300 exists independently, but the function of the proxy server 300 is physically or logically incorporated in the network-compatible device or the client. Is also feasible.

この場合、ネットワークデバイスが有する能力に対応したデバイスドライバをプラグアンドプレイインストールするインストール部を有する情報処理装置は以下各部の構成を備えることになる。各部の処理は、例えば、クライアント100の場合、CPU1001の制御の基に実行されることになる。   In this case, an information processing apparatus having an installation unit for plug-and-play installation of a device driver corresponding to the capability of the network device has the configuration of each unit below. For example, in the case of the client 100, the processing of each unit is executed based on the control of the CPU 1001.

認識部は、ネットワークデバイスから取得した第1デバイス構成情報に基づき、ネットワークデバイスが有する第1の能力を認識する。判定部は、第1デバイス構成情報に基づき、ネットワークデバイスが他の能力を有するか判定する。また、生成部は、判定部の判定により、ネットワークデバイスが他の能力を有する場合、他の能力を第1の能力として書き換えた第2デバイス構成情報を生成し、第2デバイス構成情報に対応する仮想デバイス用の識別子を生成する。そして、送信部は、生成部により生成された識別子を、プラグアンドプレイインストールを実行するインストール部に送信する。   The recognizing unit recognizes the first capability of the network device based on the first device configuration information acquired from the network device. The determination unit determines whether the network device has other capabilities based on the first device configuration information. In addition, when the network device has other capabilities as determined by the determination unit, the generation unit generates second device configuration information in which the other capabilities are rewritten as the first capability, and corresponds to the second device configuration information. Generate an identifier for the virtual device. And a transmission part transmits the identifier produced | generated by the production | generation part to the installation part which performs a plug and play installation.

ここで、インストール部は、情報処理装置内に構成することも可能であり、他の情報処理装置内に構成することも可能である。   Here, the installation unit can be configured in the information processing apparatus, or can be configured in another information processing apparatus.

また、第1及び第2実施形態では、プロキシサーバ300が提供するプロトコル変換の組み合わせとしてマイクロソフト社が主体となって提唱、策定しているUniversal Plug and Playの例を示している。しかしながら、本発明の趣旨は、この例に限定されるものではなく、例えば、Apple社の提案するRendezvousに対しても実現可能である。また、ビジネス機械・情報システム産業教会(JBMIA)が提案するBMLinkSなどのプロトコルに対しても実現可能である。   In the first and second embodiments, an example of Universal Plug and Play proposed and formulated mainly by Microsoft as a combination of protocol conversions provided by the proxy server 300 is shown. However, the gist of the present invention is not limited to this example, and can be realized for, for example, Rendezvous proposed by Apple. It can also be realized for protocols such as BMLinkS proposed by the Business Machine and Information System Industry Church (JBMIA).

また、これらデバイスの検索、デバイスの制御が統合化されたプロトコルの適用に本発明の趣旨は限定されるものではない。例えば、Service Location Protocol(SLP)、Multicast DNS Service Discovery等のデバイスが提供するサービスを検索するためのプロトコルへの利用も可能である。更に、Web ServiceのようにXML/SOAPをベースとしたRemote Procedure Call(RPC)形式によるデバイスの制御を、従来の制御プロトコルに変換するために利用することも可能である。   Further, the gist of the present invention is not limited to the application of a protocol in which the device search and device control are integrated. For example, it is also possible to use a protocol for searching for a service provided by a device such as Service Location Protocol (SLP) or Multicast DNS Service Discovery. Furthermore, it is also possible to use the device control in the Remote Procedure Call (RPC) format based on XML / SOAP, such as Web Service, for conversion to a conventional control protocol.

本発明に係る第1及び第2実施形態において、プロキシサーバ間の情報通知プロトコルとしてHTTP/TCP/UDP/IPプロトコルを使用した例を示しているが、本発明はトランスポート手段に依存するものではない。例えば、双方向の通信が可能であれば他の汎用プロトコル、あるいは独自プロトコルを使用した場合でも実現可能である。   In the first and second embodiments according to the present invention, an example is shown in which the HTTP / TCP / UDP / IP protocol is used as the information notification protocol between proxy servers, but the present invention does not depend on the transport means. Absent. For example, if bidirectional communication is possible, it can be realized even when another general-purpose protocol or a unique protocol is used.

本実施形態に拠れば、複数の機能ドライバをサポートするデバイスからインストール用の識別子を1つしか取得できない場合でも、全ての機能ドライバをネットワークプロトコルに従ってインストールすることが可能になる。   According to this embodiment, even when only one installation identifier can be acquired from a device that supports a plurality of function drivers, it is possible to install all the function drivers according to the network protocol.

(他の実施形態)
第1及び第2実施形態の特徴的な処理は、プロキシサーバ300の処理にある。プロキシサーバ300は、先に説明したように、ハードディスク等の記憶装置を必要とするものの、パーソナルコンピュータ等の情報処理装置上で動作させるサーバアプリケーションプログラムで実現している。従って、本発明は、プロキシサーバ300の処理を実行するためのコンピュータプログラムをその範疇とすることが可能である。
(Other embodiments)
A characteristic process of the first and second embodiments is the process of the proxy server 300. As described above, the proxy server 300 requires a storage device such as a hard disk, but is realized by a server application program that runs on an information processing device such as a personal computer. Therefore, the scope of the present invention can be a computer program for executing the processing of the proxy server 300.

本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給することによっても、達成されることは言うまでもない。また、システムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読出し実行することによっても、達成されることは言うまでもない。   It goes without saying that the object of the present invention can also be achieved by supplying a storage medium storing software program codes for realizing the functions of the above-described embodiments to a system or apparatus. Needless to say, this can also be achieved by the computer (or CPU or MPU) of the system or apparatus reading and executing the program code stored in the storage medium.

この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。   In this case, the program code itself read from the storage medium realizes the functions of the above-described embodiments, and the storage medium storing the program code constitutes the present invention.

プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、不揮発性のメモリカード、ROMなどを用いることができる。   As a storage medium for supplying the program code, for example, a flexible disk, a hard disk, an optical disk, a magneto-optical disk, a CD-ROM, a CD-R, a nonvolatile memory card, a ROM, or the like can be used.

また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現される。また、プログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態が実現される場合も含まれることは言うまでもない。   Further, the functions of the above-described embodiment are realized by executing the program code read by the computer. In addition, an OS (operating system) running on a computer performs part or all of actual processing based on an instruction of a program code, and the above-described embodiment is realized by the processing. Needless to say.

第1及び第2実施形態に係る情報処理システムを構成する各デバイスのソフトウェアの構成を示す図である。It is a figure which shows the structure of the software of each device which comprises the information processing system which concerns on 1st and 2nd embodiment. 第1及び第2実施形態に係るクライアント及びプロキシサーバのハードウェア構成を示す図である。It is a figure which shows the hardware constitutions of the client and proxy server which concern on 1st and 2nd embodiment. 第1及び第2実施形態に係るプリンタ200のハードウェア構成を示す図である。2 is a diagram illustrating a hardware configuration of a printer 200 according to first and second embodiments. FIG. 第1実施形態に係るプロキシサーバ300がプリンタからHelloメッセージを受信した時の動作を示すフローチャートである。It is a flowchart which shows operation | movement when the proxy server 300 which concerns on 1st Embodiment receives the Hello message from a printer. 第1実施形態に係るプロキシサーバ300がプリンタ200から取得するプリンタ構成情報を示す図である。6 is a diagram illustrating printer configuration information acquired from a printer 200 by a proxy server 300 according to the first embodiment. FIG. 第1実施形態に係るプロキシサーバ300が生成する仮想的なプリンタ構成情報を示す図である。It is a figure which shows the virtual printer structure information which the proxy server 300 which concerns on 1st Embodiment produces | generates. 第1実施形態に係るクライアント100、プロキシサーバ300、プリンタ200間の通信を概略的に示す図である。FIG. 2 is a diagram schematically illustrating communication between a client 100, a proxy server 300, and a printer 200 according to the first embodiment. 第2実施形態に係るクライアント100、プロキシサーバ300、プリンタ200間の通信を概略的に示す図である。It is a figure which shows roughly communication between the client 100, the proxy server 300, and the printer 200 which concern on 2nd Embodiment. 第2実施形態に係るクライアント100、プロキシサーバ300、プリンタ200間の通信を概略的に示す図である。It is a figure which shows roughly communication between the client 100, the proxy server 300, and the printer 200 which concern on 2nd Embodiment.

Claims (6)

ネットワークに接続されたデバイスから取得した識別情報により、前記デバイスが既に登録されているか否かを判定し、登録されていないデバイスである場合に、前記デバイスが有するコントローラに対応したデバイスドライバを前記デバイスにプラグアンドプレイインストールするインストール手段を有する情報処理装置で実行される情報処理方法であって、
取得手段が、前記デバイスが有する少なくとも1つのコントローラにより少なくとも1つの種類のページ記述言語に対応した処理が可能であることを示すサポートコマンド情報と、前記コントローラに対応したデバイスドライバをプラグアンドプレイによりインストールするための設定であることを示す設定情報と、を含む構成情報を前記デバイスから取得する取得工程と、
認識手段が、前記デバイスから取得した前記構成情報に含まれる前記設定情報を参照して、前記デバイスが有する前記コントローラに対応したデバイスドライバをプラグアンドプレイによりインストールするための設定がされていることを認識する認識工程と、
判定手段が、前記構成情報に含まれる前記サポートコマンド情報を参照して前記コントローラとは異なる第2のコントローラに関する情報が記述されており、当該第2のコントローラにより前記ページ記述言語とは異なる第2のページ記述言語に対応した処理が可能であるかを判定する判定工程と、
生成手段が、前記判定工程の判定により、前記第2のページ記述言語に対応した処理が可能であると判定された場合、前記構成情報のうち、前記設定情報を前記第2のコントローラに対応したデバイスドライバをプラグアンドプレイによりインストールするための設定であることを示す情報に書き換えた第2構成情報前記第2のコントローラに対応したデバイスドライバをプラグアンドプレイインストールする際に前記デバイスを当該デバイスとは異なる仮想デバイスとして前記インストール手段に認識させるための第2の識別情報と、を生成する生成工程と、
送信手段が、前記生成工程により生成された前記第2の識別情報を前記インストール手段に送信し、当該インストール手段からの要求に応じて前記第2構成情報を前記インストール手段に送信する送信工程と
を有することを特徴とする情報処理方法。
Based on the identification information acquired from a device connected to the network, it is determined whether or not the device is already registered. If the device is an unregistered device, a device driver corresponding to the controller included in the device is determined. an information processing method executed in an information processing apparatus having an installation means for plug-and-play installation in,
The acquisition means installs support command information indicating that processing corresponding to at least one type of page description language can be performed by at least one controller included in the device and a device driver corresponding to the controller by plug and play. An acquisition step of acquiring configuration information from the device, including setting information indicating that it is a setting for
Recognition means, by referring to the setting information included in the configuration information obtained from the previous SL device, a device driver corresponding to the controller that the device has to have been set to install the plug-and-play Recognition process to recognize
Determination means, by referring to said support command information included in the prior Ki構 formation information, wherein the controller is described information on a different second controller and, from that of the second controller by the page description language A determination step of determining whether processing corresponding to a different second page description language is possible ;
When the generation unit determines that the processing corresponding to the second page description language is possible by the determination in the determination step , the setting information among the configuration information corresponds to the second controller. the second configuration information rewrite the information indicating that the setting for installing the plug and Play device driver, the device the device driver corresponding to the second controller when the plug-and-play installation A second identification information for causing the installation unit to recognize the virtual device as a virtual device different from the device;
Transmitting the transmission means, the second identification information generated by the generating step sends to said installation means, said second structure Narujo report in response to a request from the installation unit, and transmits to said installation means An information processing method comprising the steps of:
前記ネットワークに接続された前記デバイスには、印刷機能およびFAX機能を有するネットワーク対応型の複合装置が含まれることを特徴とする請求項1に記載の情報処理方法。   The information processing method according to claim 1, wherein the device connected to the network includes a network-compatible composite apparatus having a printing function and a FAX function. ネットワークに接続されたデバイスから取得した識別情報により、前記デバイスが既に登録されているか否かを判定し、登録されていないデバイスである場合に、当該デバイスが有するコントローラに対応したデバイスドライバを前記デバイスにプラグアンドプレイインストールするインストール手段を有する情報処理装置であって、
前記デバイスが有する少なくとも1つのコントローラにより少なくとも1つの種類のページ記述言語に対応した処理が可能であることを示すサポートコマンド情報と、前記コントローラに対応したデバイスドライバをプラグアンドプレイによりインストールするための設定であることを示す設定情報と、を含む構成情報を前記デバイスから取得する取得手段と、
記デバイスから取得した前記構成情報に含まれる前記設定情報を参照して、前記デバイスが有する前記コントローラに対応したデバイスドライバをプラグアンドプレイによりインストールするための設定がされていることを認識する認識手段と、
記構成情報に含まれる前記サポートコマンド情報を参照して前記コントローラとは異なる第2のコントローラに関する情報が記述されており、当該第2のコントローラにより前記ページ記述言語とは異なる第2のページ記述言語に対応した処理が可能であるかを判定する判定手段と、
前記判定手段の判定により、前記第2のページ記述言語に対応した処理が可能であると判定された場合、前記構成情報のうち、前記設定情報を前記第2のコントローラに対応したデバイスドライバをプラグアンドプレイによりインストールするための設定であることを示す情報に書き換えた第2構成情報前記第2のコントローラに対応したデバイスドライバをプラグアンドプレイインストールする際に前記デバイスを当該デバイスとは異なる仮想デバイスとして前記インストール手段に認識させるための第2の識別情報と、を生成する生成手段と、
前記生成手段により生成された前記第2の識別情報を前記インストール手段に送信し、当該インストール手段からの要求に応じて前記第2構成情報を、前記インストール手段に送信する送信手段と
を備えることを特徴とする情報処理装置。
Based on the identification information acquired from a device connected to the network, it is determined whether or not the device is already registered. If the device is an unregistered device, a device driver corresponding to the controller included in the device is determined. an information processing apparatus having an installation means to plug-and-play installation in,
Support command information indicating that processing corresponding to at least one type of page description language can be performed by at least one controller included in the device, and setting for installing a device driver corresponding to the controller by plug and play Acquisition means for acquiring configuration information from the device, including setting information indicating that
By referring to the setting information included in the configuration information obtained from the previous SL device, recognizing it recognizes that the have a device driver corresponding to the controller is set to install the plug-and-play in which the device has Means,
Referring to the support command information included in the prior Ki構 formation information, wherein is described the information on a different second controller than the controller, different from the second and the page description language by the second controller Determination means for determining whether processing corresponding to the page description language is possible ;
If it is determined by the determination means that processing corresponding to the second page description language is possible, the configuration information of the configuration information is plugged with a device driver corresponding to the second controller. different second configuration information rewrite the information indicating that the and-play is a setting for installing, the device the device driver corresponding to the second controller when the plug-and-play installation and the device Generation means for generating second identification information for causing the installation means to recognize as a virtual device;
And transmitting means for transmitting the second identification information generated by the generating means to said installation means, said second structure Narujo report in response to a request from the installation unit, and transmits to said installation means An information processing apparatus characterized by that.
前記ネットワークに接続された前記デバイスには、印刷機能およびFAX機能を有するネットワーク対応型の複合装置が含まれることを特徴とする請求項に記載の情報処理装置。 The information processing apparatus according to claim 3 , wherein the device connected to the network includes a network-compatible composite apparatus having a printing function and a FAX function. 請求項1または2に記載の情報処理方法をコンピュータに実行させることを特徴とするプログラム。 A program characterized by executing the information processing method according to the computer to claim 1 or 2. 請求項に記載のプログラムを格納したことを特徴とするコンピュータ可読の記憶媒体。 A computer-readable storage medium storing the program according to claim 5 .
JP2006236751A 2006-08-31 2006-08-31 Information processing method, information processing apparatus, program, and storage medium Expired - Fee Related JP4912093B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006236751A JP4912093B2 (en) 2006-08-31 2006-08-31 Information processing method, information processing apparatus, program, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006236751A JP4912093B2 (en) 2006-08-31 2006-08-31 Information processing method, information processing apparatus, program, and storage medium

Publications (3)

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

Family

ID=39242012

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006236751A Expired - Fee Related JP4912093B2 (en) 2006-08-31 2006-08-31 Information processing method, information processing apparatus, program, and storage medium

Country Status (1)

Country Link
JP (1) JP4912093B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5113095B2 (en) * 2009-01-20 2013-01-09 株式会社リコー Network setting notification device, network setting method, program, and recording medium
JP6613927B2 (en) * 2016-01-29 2019-12-04 株式会社リコー Information processing apparatus, information processing system, information processing method, and information processing program
JP7322443B2 (en) * 2019-03-20 2023-08-08 ブラザー工業株式会社 communication device

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07200494A (en) * 1993-12-28 1995-08-04 Mitsubishi Electric Corp Decentralized control system
JPH09193507A (en) * 1996-01-18 1997-07-29 Canon Inc Printer and its correcting printing method
JP3848414B2 (en) * 1996-12-24 2006-11-22 株式会社東芝 How to install the printer driver
JPH11161591A (en) * 1997-11-28 1999-06-18 Brother Ind Ltd Data communication equipment, data communication method, storage medium and device driver
JP2002229751A (en) * 2001-02-02 2002-08-16 Seiko Epson Corp Printer driver disseminating system, printer, server device, and computer readable medium
JP2004240589A (en) * 2003-02-04 2004-08-26 Canon Inc Printing system, method of controlling it, and information processing apparatus and method
JP4416563B2 (en) * 2004-04-19 2010-02-17 キヤノン株式会社 Network device management apparatus, control method therefor, computer program, and computer-readable storage medium
JP2006155306A (en) * 2004-11-30 2006-06-15 Canon Inc Management method of device driver

Also Published As

Publication number Publication date
JP2008059373A (en) 2008-03-13

Similar Documents

Publication Publication Date Title
JP4416563B2 (en) Network device management apparatus, control method therefor, computer program, and computer-readable storage medium
US7316022B2 (en) Information processing apparatus, information processing method, alternate response apparatus, response method, control program, and network system
US9602678B2 (en) Peripheral device control system and method
JP4865299B2 (en) Information processing apparatus, information processing method, and program thereof
KR100779790B1 (en) Apparatus, method, and recording medium for executing protocol converting process
JP4756988B2 (en) Program, function information providing apparatus, and function information providing method
JP2007122376A (en) Network print system, network peripheral device, information processor, and program
JP2007114901A (en) Network-compatible output device and information processor and method for controlling the same and computer program and computer-readable storage medium and network system
US8059294B2 (en) Image forming based on operation mode
JP5537160B2 (en) Event proxy notification device, control method thereof, and program thereof
JP4467955B2 (en) Information processing device, peripheral device control system, peripheral device control method applied to information processing device, and program thereof
JP4912093B2 (en) Information processing method, information processing apparatus, program, and storage medium
JP2009169966A (en) Information processing apparatus, information processing method, and storage medium
JP2007148828A (en) Information processor and control method thereof
JP4378372B2 (en) Information processing method, information processing apparatus, and storage medium
JP4378338B2 (en) Information processing apparatus, device setting method, storage medium, and program
JP2009020916A (en) Controller, control program, control method

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