JP2007199825A - データ処理装置、出力装置、情報処理装置、ドライバ処理方法、プログラム - Google Patents

データ処理装置、出力装置、情報処理装置、ドライバ処理方法、プログラム Download PDF

Info

Publication number
JP2007199825A
JP2007199825A JP2006014923A JP2006014923A JP2007199825A JP 2007199825 A JP2007199825 A JP 2007199825A JP 2006014923 A JP2006014923 A JP 2006014923A JP 2006014923 A JP2006014923 A JP 2006014923A JP 2007199825 A JP2007199825 A JP 2007199825A
Authority
JP
Japan
Prior art keywords
information
time information
output device
driver
data processing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP2006014923A
Other languages
English (en)
Inventor
Akihiro Mitsui
章弘 三井
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 JP2006014923A priority Critical patent/JP2007199825A/ja
Publication of JP2007199825A publication Critical patent/JP2007199825A/ja
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Accessory Devices And Overall Control Thereof (AREA)

Abstract

【課題】 クライアントからデバイスに通知される利用時間に、デバイスからの応答に基づいて、そのドライバの登録あるいは削除を適時に実行することである。
【解決手段】 デバイスは、クライアントから受信した利用時間情報を含む利用設定メッセージを受信する。そしてデバイスは、受信した利用時間情報に従って、デバイスドライバをインストールさせるための情報を送信する構成を特徴とする。
【選択図】 図3

Description

本発明は、複数の出力装置と通信可能であり、各出力装置に対応するドライバをインストール可能なデータ処理装置、情報処理装置におけるドライバの設定処理に関するものである。
従来から、ネットワーク上に接続されたパーソナルコンピュータなどのクライアント装置からのサービス要求に応え、サービスを提供するサービス提供装置およびサービス提供システムが知られている。
近年はインターネットによる通信の飛躍的な普及に伴い、ネットワークでサービスを提供する機器として多種多様な機器が開発されている。
例えば、PDA(Personal Digital Assistance)や携帯電話などのポータビリティを持つデバイスがネットワークに対応しサービスを提供する機器が急激に増加している。他のデバイスとして、スキャナ・プリンタ・複写機・デジタルカメラなどの画像処理装置、テレビ・エアコン・冷蔵庫などの家電製品も同様である。
これに伴い、ネットワーク対応デバイスを利用する上での利便性・簡易性を高めるためのサービスが多数存在する。
このうちの1つにネットワークプラグアンドプレイがある。従来のプラグアンドプレイは各デバイスとホストコンピュータとなるPCをさまざまなローカルのI/Oポートに直接プラグで接続する。
その際に、デバイスが機種名(デバイスID)や製造者名(ベンダID)、シリアル番号などをホストの情報処理装置に送信する。
そして、情報処理装置はこれらの情報を参照して、デバイスを使用可能にするためのデバイスドライバを利用するクライアントに自動でインストールするという形態が主であった。
なお、I/Oポート例として、シリアル・パラレル・USB、PCI、IEEE1394、PCMCIAなどが含まれる。
ネットワークプラグアンドプレイ(NPnP)はこれをネットワークに接続したデバイス(NCD:Network Connected Devices)とホストコンピュータ同士の接続にまで拡張したものである。
例えばMicrosoft(登録商標)社が提唱するPnP−X(Plug and Play Extensions)の規格が現在規定されている。
この他に、(社)ビジネス機械・情報システム産業協会(JBMIA)が推進するBMLinks、Apple社が開発したBonjourなどの規格が現在規定されている。
PnP−Xは、従来のPnPに加え、所定のデバイス検出プロトコルであるWS−Discoveryに対応したデバイスが提供するサービス・情報を元に、ネットワーク上のデバイスを検知し、デバイスドライバのインストールを行える機能である。
ここで、所定のデバイス検出プロトコルであるWS−Discoveryとは、UPnP1.0(Universal Plug and Play)や、WSD(Web Service for Devices)が含まれる。
PnP−X機能を持つOSは、さまざまなプロトコルのネットワークデバイスの検出を実現している。
具体的には、ファンクションディスカバリと呼ばれるクライアント(アプリケーション層)と、プロバイダ(プロトコル層)が組み合わさったシステムによって、さまざまなプロトコルのネットワークデバイスの検出を実現している。
ファンクションディスカバリクライアント「IPバスエニュミレータ」は、ネットワークに接続したデバイスのUPnPやWSDのサービスに応答するそれぞれのファンクションディスカバリプロバイダから通知を受け、発見したデバイスを列挙する。
列挙したデバイス情報(デバイスID・ベンダIDなど)は、「IPバスエニュミレータ」から「プラグアンドプレイマネージャ」に引き渡され、対応したドライバのインストールが開始される。
また、PnP−X機能はネットワークに接続され発見されたデバイスのドライバが、すべてインストールされることを防ぐためのシステムを持つ。
これは、「関連データベース」(Association Database)ともう1つのファンクションディスカバリクライアントである「ネットワークデバイスの追加と削除」と呼ばれるコントロールパネルのユーザインタフェースにより実現される。
「ネットワークデバイスの追加と削除」はファンクションディスカバリプロバイダから情報を取得し、現在発見されているデバイスを列挙して、ユーザインタフェースによりリスト表示を行う。
ユーザは「ネットワークデバイスの追加と削除」を起動し、リスト表示されたデバイスから、「インストールを許可する」デバイスを選択し「追加」すると「関連データベース」に登録する。
「IPバスエニュミレータ」は発見したネットワークデバイスのうち、「関連データベース」に登録してあるもののみ「プラグアンドプレイマネージャ」に渡す。これにより、ネットワークで発見されたすべてのデバイス向けのドライバがインストールされることを防止している。
また、前述のようなPnP−X機能によってインストールされたデバイスドライバに関連して、インストール時に利用可能時間を設定する。そして、データベースにその情報を保持しておいて、利用終了時間に達すると自動的にデバイスドライバをアンインストールするシステムなどが知られている(特許文献1参照)。
特開2003−131827号公報
しかしながら、特許文献1に記載の技術では、インストールしてからのプリンタドライバの利用時間の指定は可能だが、ネットワーク上にプリンタを検出する度にプリンタドライバがインストールされていた。
また、ネットワークプラグアンドプレイにより自動的にドライバがインストールされる場合、ネットワークに接続されたデバイスを発見する度にドライバをインストールしてしまう。そのため、ユーザが必要としないドライバまでもインストールされることによりメモリの浪費やユーザのドライバの選択処理を困難にさせる恐れがあった。
本発明は、上記の課題を解決するためになされたもので、本発明の目的は、指定された利用時間に基づいてプリンタドライバの導入処理を制御する仕組みを提供することである。
上記目的を達成する本発明のデータ処理装置は以下に示す構成を備える。
複数の出力装置と通信可能であり、各出力装置に対応するドライバをインストール可能なデータ処理装置であって、前記出力装置を使用する利用時間情報を設定する設定手段と、前記設定手段により設定された利用時間情報を含む利用設定メッセージを送信する送信手段と、いずれかの出力装置から前記利用時間情報に従って応答される情報を受信することに応じて、前記出力装置のデバイスドライバをドライバデータベースに導入する導入手段とを有することを特徴とするデータ処理装置。
上記目的を達成する本発明の出力装置は以下に示す構成を備える。
また、ネットワークを介してデータ処理装置と通信可能な出力装置であって、
前記データ処理装置から利用時間情報が設定された利用設定メッセージを受信する受信手段と、前記出力装置が認識した時間情報と前記受信手段によって受信された利用時間情報に基づいて、前記受信手段により受信された利用設定メッセージに対する応答処理を実行するか否かを判断する判断手段と、前記判断手段により前記応答処理を実行すべきと判断された場合に、前記データ処理装置に対して前記出力装置に関する情報を含んだ応答を送信する送信手段とを有することを特徴とする出力装置。
上記目的を達成する本発明の情報処理装置は以下に示す構成を備える。
また、出力装置と、データ処理装置と通信可能な情報処理装置であって、前記出力装置を使用する各データ処理装置の利用時間情報と、データ処理装置を特定する情報とを設定する設定手段と、前記設定手段により設定された利用時間情報とデータ処理装置を特定する情報とが設定された送信情報メッセージを前記出力装置に対して送信する送信手段とを有することを特徴とする情報処理装置。
上記目的を達成する本発明の出力装置は以下に示す構成を備える。
また、情報処理装置と、複数のデータ処理装置と通信可能な出力装置であって、前記情報処理装置から利用時間情報とデータ処理装置を特定する情報が設定された送信情報メッセージを受信する受信手段と、前記出力装置が認識した時間情報と前記受信手段が受信した利用時間情報に従って、前記受信手段により受信された送信情報メッセージに対する応答処理を実行すべきか否かを判断する判断手段と、前記判断手段により前記応答処理を実行すべきと判断された場合に、前記データ処理装置を特定する情報に基づいて特定されたデータ処理装置に対して、応答送信する送信手段とを有することを特徴とする出力装置。
本発明によれば、指定された利用時間に基づいて、ドライバの導入処理を制御するため、メモリの浪費やユーザのドライバの選択処理を困難にさせる恐れを回避できる。
次に本発明を実施するための最良の形態について図面を参照して説明する。
<システム構成の説明>
〔第1実施形態〕
以下、図面を参照して本発明の実施の形態を説明する。
図1は、本発明の第1実施形態を示すネットワークシステムのブロック構成図である。本システムは、一般的なコンピュータを用いたデータ処理装置(クライアント装置ともいう)、デバイス(出力装置ともいう)、サーバ装置(情報処理装置ともいう)を含むネットワークシステムの例である。
また、デバイスは、本実施形態では、プリンタ装置の例を示すが、プリンタ装置に限らず、ネットワークデバイスで、ネットワークプラグアンドプレイに対応したデバイスであれば、本発明を適用可能である。以下、デバイスとして、プリンタ装置の例を説明する。したがって、以下、デバイスドライバは、プリンタドライバの例を示す。
なお、特に断らない限り、本発明の機能が実行されるのであれば、単体の機能であっても、複数の機器からなるシステムであってもよい。また、LAN、WAN等のネットワークを介して接続がなされ処理が行われるシステムであっても、本発明を適用できることは言うまでもない。
図1において、CPU101は、ROM102あるいはRAM103あるいは外部記憶装置105に格納されたプログラムに従って装置全体の制御を行う。RAM103はCPU101が各種処理を行う際のワークエリアとしても使用される。
外部記憶装置105は、オペレーティングシステム(OS)1054やアプリケーションソフト1051、印刷関連プログラム1052、プリンタドライバ1053等を記録する。
キーボード108やマウスなどポインティングデバイス109の入力機器は、入力I/F104を通じて、ユーザがコンピュータに対して各種指示を与えるためのデバイスである。
出力I/F106は、データを外部に出力するためのインタフェースであり、モニタ110やプリンタ111に対してデータを出力する。プリンタ111とは、ローカルI/Oのみならず、ネットワークを通して接続されていてもよい。
また、107はシステムバスで、それぞれのデータのやりとりを行う。
図2は、図1に示したネットワークシステムのネットワーク環境を説明する図である。
図2において、プリンタ202、プリンタ203、プリンタ205がそれぞれイーサネット(登録商標)ネットワークにつながったネットワークプリンタを示している。この例では、クライアント201、サーバ204もそれぞれネットワークに接続して、ネットワークを通じてクライアント201もしくはサーバ204から印刷が可能な環境を構築している。
なお、クライアント201、サーバ204は、図1に示したハードウエア資源を備えて、所定のOSの管理下でアプリケーションプログラム、プリンタドライバ等を実行して印刷情報を生成する。そして、プリンタドライバが生成した印刷情報をプリンタ202〜205のいずれかに出力可能に構成されている。
プリンタ203は、ここではオフラインであり、物理的には接続されていても実際には使用できない状態であるが、このようなプリンタがネットワークNET上に存在してもかまわない。
本実施形態においては、図2のようなネットワークでプリンタが利用できる環境であるものとする。
図3は、本実施形態におけるデータ処理装置上のネットワークプラグアンドプレイ(NPnP)のモジュール構成を説明するブロック図である。以下、図3の下位層から順にNPnPがどのように動作しているかを説明する。(1)〜(9)は各手順を示す。
図3において、まず、図2に示したように、ネットワークNETに接続されたプリンタ301が存在する。
このプリンタ301は通信機能として、イーサネット(登録商標)コントローラを内蔵しイーサネット(登録商標)に対応しており、TCP/IPネットワーク上でHTTPリクエストに動作できるようにプロトコルスタックやHTTPレイヤも実装されている。
ここではイーサネット(登録商標)コントローラとしたが、シリアル・パラレル・USBといったシリアルI/O、Wi−Fi(IEEE802.11a/b/g)やBluetooth、UWBといった無線通信でもかまわない。
また、プリンタ301が持つ通信機能の上位のレイヤには、タグを用いたマークアップ言語XMLベースのプロトコル「SOAP(Simple Object Access Protocol)」を解釈可能なシステムを搭載している。
SOAPは通信内容にXMLを用い、言語やプラットフォームに依存することなくデータを通信することができるプロトコルである。
このSOAPをベースにして、プリンタ301は、WSD(Web Services for Devices)システムも搭載している。
WSDシステムは、プリンタ301がWebサービスを提供するために存在している。ここではネットワークNETに接続している各クライアントPCがデバイスの情報を返すアプリケーションプロトコルのDPWS(Device Profile for Web Services)によって応答する。
このため、デバイスのWebサービスを探索するときに使用するWS−Discoveryと、デバイス情報を入れるデータフォーマットのWS−MetadataExchangeの2つをサポートする。
ここで、WS−Discoveryとは、Web Services Dynamic Discoveryを意味する。
また、プリンタ301はWSDサービスを搭載しているが、これは、SSDPとSSDP Discovery Metadata MappingをサポートしているUPnPサービスや、他のプロトコルであってもよい。ここで、SSDPとは、Simple Service Discovery Protocolを意味する。
図3に示すプラグアンドプレイのPnP(1)を説明する前に、DPWSの動作について図4を参照して説明する。
図4は、本実施形態におけるデータ処理装置とネットワークデバイスとの第1の通信例を説明する図である。なお、(501)〜(506)は通信手順を示す。
図4において、イーサネット(登録商標)に接続されたプリンタ301(ここではデバイス400となる)が、ネットワークに接続された段階で接続通知(Hello)メッセージ(図5参照)をマルチキャストでネットワークに送信する(501)。
図5は、本実施形態における印刷装置からネットワーク上にマルチキャストされる情報を説明する図である。本例は、Helloメッセージの例である。
ここで、マルチキャストは、複数の相手に対して同じデータを送信する手法でである。具体的に、WS−Discoveryでは特定のポート(ディスカバリポート3702番ポート)に、特定のIPアドレス(IPV4では「239.255.255.250」、IPV6ではFF02::C)へ送信を行うように規定されている。
ネットワークNETに接続されているNPnP対応のホストコンピュータ(ここではクライアント201となる)が、Helloメッセージを受ける。
具体的には、クライアント201が、OSが持つTCP/IPプロトコルスタック、HTTPドライバを経由して、WSDサービス、例えばネットワーク上のデバイス検出を司るファンクションディスカバリプロバイダがHelloメッセージを受ける。
図5に示すHelloメッセージサンプル例では、デバイス400のネットワークNET上での位置を一意に定めるためのエンドポイントリファレンスとしてのuuidが記載されている。
さらに、デバイス400の機能情報を記述するメタデータのフォーマットバージョンが記載されている。しかし、上記以外に他にもタイプやスコープなども記述することもできる。
すでにネットワーク上に存在するWSD対応デバイスを探索する場合は、一定のタイミングでクライアント201がデバイス探索のためのProbeメッセージ(図6参照)をマルチキャストでネットワークに通知する(502)。なお、上記タイミングの例として、クライアント201の起動時、ユーザが探索を命じたとき、一定間隔のポーリングなどが挙げられる。
図6は、本実施形態におけるデータ処理装置からネットワーク上にマルチキャストされる情報を説明する図である。
図6のProbeメッセージサンプルでは、「i:PrintBasic」というデバイス特有の機能をタイプとして、またLDAPプロトコルメッセージをスコープとして追加して、この機能を元に返答するように要求している。
また、SOAPヘッダに自分自身のアドレスReplyToを記述することによって、デバイス400からクライアント201に直接メッセージを送信するように指示している。
クライアント201からProbeを検知したデバイス400は、Probeメッセージに含まれる情報に基づいて、応答すべきか否かを判定する。例えば、図6のProbeメッセージには「i:PrintBasic」としていされているので、この情報を元に自らのデバイスが該当するか否かを判定する。
ここで、デバイス400がProbeメッセージに含まれる情報に該当すると判定した場合、応答のメッセージとしてProbeMatchメッセージ(図7参照)をユニキャストでクライアントに直接送信する(503)。そして、クライアント201内のファンクションディスカバリプロバイダがこれを受ける。
なお、本実施形態において、ユニキャストはネットワーク上において1対1でデータをやりとりする方法である。
図7は、本実施形態における印刷装置からネットワーク上にマルチキャストされる情報を説明する図である。
図7に示すのProbeMatchメッセージサンプルでは、図5に示したHelloメッセージと同等の情報のほかに、「i:PrintAdvanced」タイプの情報も加えて、ReplyToのアドレスに応答している。
この後、必要に応じてファンクションディスカバリプロバイダはGetMetadataメッセージ(図8参照)をユニキャストでデバイス400に送信する(504)。
図8は、本実施形態におけるデータ処理装置からネットワーク上にユニキャストされる情報を説明する図である。
一方、デバイス400はWS−MetadataExchangeのプロトコルに従って自身のデバイス情報が入ったメタデータを含むGetMetadata Responseメッセージ(図9参照)を返す(505)。
図9は、本実施形態における印刷装置から通知される情報を説明する図である。
図9に示すメッセージであるメタデータにはデバイスIDやモデル名、製造会社名、デバイスのURLアドレス、PDL情報などのデータが含まれる。
図9に示すGetMetadata Responseメッセージサンプルでは、このうち製造会社名とモデル名が記載されている。
最後にデバイス400の電源が切れるなどネットワークから切断されることがデバイス自身でわかる場合は、Byeメッセージ(図10参照)をマルチキャストで送信して(506)、ネットワーク全体に自身がいなくなることを通知する。このようにDPWSは動作している。
なお、Byeメッセージは、ネットワークからの離脱を意味するメッセージでもあるため、離脱メッセージと記載する場合もある。
図10は、本実施形態における印刷装置からネットワーク上にマルチキャストされる情報を説明する図である。
ここではWSDサービスを持ったデバイスの応答を記述したため、ファンクションディスカバリプロバイダ302のうちWS−Discoveryプロバイダ3021がクライアント側の窓口となり応答を行う。
なお、UPnPサービスを持ったデバイスの場合は、SSDPプロバイダ3022が各メッセージを受ける。また、ファンクションディスカバリプロバイダ302はプロトコルごとにプロバイダを持つことができるため、他のプロトコルであれば他のプロバイダが送受信の処理を行うことも自明である。
さて、前述のDPWSの動作を踏まえて、図3に示したプラグアンドプレイを説明する。
図3において、デバイス(図3に示す例では、プリンタ301)はHelloメッセージもしくはProbeMatchメッセージによって、ネットワークNETにWS−Discoveryのサービスを持つことを通知する(1)。
これにWSDサービスを利用クライアントであるホストコンピュータにおいて、ファンクションディスカバリプロバイダ302のWS−Discoveryプロバイダ3021が応答する(2)。ここで、ホストコンピュータは、クライアント201に対応する。
そして、ファンクションディスカバリプロバイダ302のWS−Discoveryプロバイダ3021はデバイスを検出したら、ファンクションディスカバリクライアント303に通知を行う(3)。
ファンクションディスカバリクライアント303は検出したデバイスを列挙し、上位のプラグアンドプレイマネージャ304にデバイスの情報とともに通知する(4)。ファンクションディスカバリの詳細な動作については、後述する。
次に、プラグアンドプレイマネージャ304はファンクションディスカバリクライアント303からデバイスの情報を取得する。そして、検出したデバイスリストを元に通常はクラスインストーラ306を呼び出す(7)。クラスインストーラ306によってデバイスを利用するために必要なデバイスドライバのインストールを行う。
クラスインストーラ306はデバイスの種類(クラス)を判定し、そのデバイスのインストールを行うためにドライバデータベース307にアクセスする。
しかし、ここではデバイスの種類がプリンタ301であるのでクラスインストーラ306を呼び出す前に、プラグアンドプレイマネージャは、スプーラ305にプリンタドライバがプリンタ301に出力するためのプリンタポートを作成するよう通知する(5)。スプーラ305は、プリンタドライバがプリンタ301に出力するためのプリンタポートを作成する。
プリンタ301は、WS−Discoveryプロバイダ3021によって検出されているため、ネットワークデバイス用のポートモニタであるNCDポートモニタ3051とプリンタポートを関連づけて、プラグアンドプレイマネージャ304に返す(6)。その後、クラスインストーラ306を呼び出す。
クラスインストーラ306はホストコンピュータのドライバデータベース307のドライバインストール情報を持つインストールインフォメーションファイル(INFファイル)に記述されたハードウエアIDが一致するINFファイル検索する。
なお、INFファイルとはデバイスドライバをインストールすると共にホストコンピュータの記憶部に記憶されるファイルである。INFファイルは、デバイスドライバをインストールすると識別情報を含んだファイル名と拡張子「.INF」という形式にて保持される。例えば、最初にインストールされたデバイスドライバのINFファイルは「OEM1.INF」という形式にて保存される。
そして、次にインストールされたデバイスドライバのINFファイルは「OEM2.INF」という形式にて保存される。そして、このINFファイルには、デバイスドライバの機能情報(例えばページ記述言語:PDLともいう)等が含まれる。
よって、このINFファイルを解析することでデバイスドライバの特徴を認識することが可能となる。また、このINFファイルは、デバイスドライバをアンインストールしても、該デバイスドライバと対応するINFファイルはそのままホストコンピュータの記憶部に残る。
ここで、ハードウエアIDとは、デバイスから取得したデバイスIDなどの情報を元にして、各カテゴリ(PCI、USB、IPバスなど)のエニュミレータが作成するIDである。
そして、クラスインストーラ306は一致したINFファイルをみつけた場合は、INFファイルに記述されたドライバをドライバデータベース307にインストールする(8)。ここで、ドライバ308は、記憶媒体(フレキシブルディスク、CD−ROM、ハードディスク)に記憶されている例である。
一方、クラスインストーラ306は一致したINFファイルを見つかられなかった場合は、「ハードウエアの追加ウィザード」のユーザインタフェースをクライアントの表示装置に表示する。そして、ユーザがドライバ308を選択して、その格納先からドライバを読み出して、ドライバデータベース307にインストールする(9)。
以上の動作によりオペレーティングシステム(OS)においてネットワークプラグアンドプレイが実現されている。
次に、図11のファンクションディスカバリについて説明する。
図11は、図3に示したファンクションディスカバリクライアント401とファンクションディスカバリプロバイダ402の詳細を説明するブロック図である。
本例では、ファンクションディスカバリは大きく分けてファンクションディスカバリクライアント(FDC)401とファンクションディスカバリプロバイダ(FDP)402の2つに分けられる。
図11において、両者は共通のインタフェースであるファンクションディスカバリAPI404でデータのやりとりが行われる。
FDC401は、FDP402からの通知により、ファンクションディスカバリカテゴリ403の情報を元に動作を行う。本実施形態ではFDC401には、OSが一般的には標準で持つネットワークデバイスの追加と削除4011と、IPバスエニュミレータ4012に加える。そして、デバイスの利用時間を指定することができる図12に示すユーザインタフェースを持つ利用時間設定クライアント4013が存在する。
FDP402によって通知されたデバイスは、ファンクションディスカバリカテゴリ403の検出デバイスリスト4031に保存され列挙される。
ユーザは、例えばOSが提供するコントロールパネルからネットワークデバイスの追加と削除4011を選択し、図13に示すユーザインタフェースをファンクションディスカバリカテゴリ403が起動する。
これにより、ネットワークデバイスの追加と削除4011は検出デバイスリスト4031の情報を元に図13に示したユーザインタフェースのデバイスリストビューに列挙を行う。
図13は、本実施形態のデータ処理装置で検索されたネットワークデバイスの追加/削除設定のためのユーザインタフェースの一例を示す図である。
図13に示すユーザインタフェース上に列挙されたデバイスは現在ネットワーク上で発見されたデバイスを示しており、ユーザは使用したいデバイスを選択し、追加ボタン13−1を押す。
そして、この押下指示に基づいて追加されたデバイスはファンクションディスカバリカテゴリ403の関連データベース4032にFDPがGetMetadata Responseメッセージにより受信したメタデータのデバイス情報とともに追加する。
一方、図13に示すユーザインタフェース上で、削除ボタン13−2を押すと、選択されたデバイスが関連データベース4032から削除する。
ここでは、あくまで関連データベース4032から削除するのみなので、ユーザインタフェース上にはまだ発見されたデバイスとしては列挙され表示されている。
図13に示すユーザインタフェース上で更新リストボタン13−3を押すとファンクションディスカバリプロバイダ402のWS−Discoveryプロバイダ4021に通知を行う。そして、再度Probeメッセージをネットワーク上に投げてデバイスの探索を行う。
IPバスエニュミレータ4012は、ファンクションディスカバリカテゴリ403の関連データベース4032の情報を元にデバイスを列挙して、図3に示した上位のプラグアンドプレイマネージャ304に通知する。
したがって、ネットワークNETで検出した全てのデバイスではなく、ネットワークデバイスの追加と削除4011でユーザが指定したデバイス、すなわち関連データベース4032にあるデバイスのみ、NPnPを有効にするように動作している。ここで、NPnPとは、ネットワークプラグアンドプレイを意味する。
次に、本実施形態の中心となる図12に示すユーザインタフェースを持つ利用時間設定クライアント4013を含む動作を、図11に示したファンクションディスカバリと、図14のシーケンス例を参照して説明する。
ユーザは、クライアントで所定の操作を行うことにより利用時間設定のユーザインタフェース(図12)を起動する。
図12は、本実施形態のデータ処理装置で表示可能な利用時間設定のユーザインタフェースの一例を示す図である。本ユーザインタフェースは、利用時間設定クライアント4013によりクライアントの表示装置に表示される。
図14は、本実施形態におけるデータ処理装置とネットワークデバイスとの第2の通信シーケンス例を説明する図である。
図14において、図12に示す利用時間設定のユーザインタフェースは、まず「利用可能」時間の設定か、「利用不可」時間の設定かのどちらかをラジオボタンB12−1、B12−2により選択する。そして、開始時間STT1、STT2と終了時間EDT1、EDT2を設定する(601)。
ユーザが利用時間を設定して図12に示したユーザインタフェースを閉じると、デバイス探索を行うために図12において設定された利用時間情報を含めたProbeメッセージをデバイス400に通知する。
これは図15に示すようにProbeメッセージのタイプ(wsd:Types)としてi:PrintAvailableTimeを記述する。そして、スコープ(wsd:Scopes)に利用可能時間をディレクトリサービスにアクセスするためのプロトコルであるLDAP(Lightweight Directory Access Protocol)で記述することで実現する。
図15は、図14に示したクライアント201からデバイス400にマルチキャストで通知されるProbeメッセージの一例を示す図である。
このように記述した図15に示したProbeメッセージをマルチキャストでデバイス400に対して送信し、デバイス400はProbeメッセージを受信することでメッセージを出したクライアント201のデバイス利用可能時間情報を取得する(602)。
なお、以後においてProbeメッセージは、利用設定メッセージとも記載する場合もあるが同義である。
まだ、ネットワークNETに接続していないデバイスの場合は、ネットワークNETに接続した時点で、HelloメッセージをマルチキャストでネットワークNETに送信し、ネットワークに接続した旨を通知する(603)。
クライアント201はそのHelloメッセージに応答する。しかし、FDP402は、Helloメッセージの送信元のデバイス情報をファンクションディスカバリカテゴリ403の検出デバイスリスト4031には列挙せず、Helloメッセージに応答する。
この際、クライアント201は、Probeメッセージに図12にて設定した利用可能時間情報を加えたProbeメッセージをてマルチキャストで送信する(604)。なお、Probeメッセージ(利用設定メッセージ)に含まれる利用時間情報には、少なくとも利用開始時刻情報が含まれていれば良い。
また、Probeメッセージに含まれる利用時間情報には、デバイスドライバの利用開始時刻情報およびデバイスドライバの利用終了時刻情報を含むことで、図14にて後述するアンインストール処理(614)を行うことも可能である。
こうしてクライアント201からProbeメッセージによって利用可能時間情報を受け取ったデバイス400は、以下のよう動作が制限される。つまり、通常Probeメッセージには、WS−Discoveryの仕様にあるように500mm秒以内に応答のProbeMatchメッセージを返さなければ無効となる。
しかしながら、デバイス400は、クライアント201から受信したProbeメッセージ情報に利用時間情報が含まれていた場合、利用可能時間になるまではProbeMatchメッセージを返さない。そして、クライアント201はListen状態で待ち続ける(図14の(605)に波線でその状態を示す)。
そして、デバイス400は内蔵している時計もしくは図示しないタイムサービスを提供するNTPサーバなどに問い合わせて現在の時間と利用可能時間を比較し、利用開始時間になったかどうかを判断する。
そして、デバイス400が利用開始時間になったと判断した場合は、ProbeMatchメッセージを、Probeを送ってきた図14に示すクライアント201に返す(605)。
クライアント201は、ProbeMatchがデバイス400から返ってきたことで、デバイス400がネットワークNET上に発見されたと認識し、ファンクションディスカバリカテゴリの検出デバイスリスト4031に列挙する。
そして、ネットワークNET上にて発見したデバイス400に関する情報を検出デバイスリスト4031に通知する。その結果、関連データベース4032にデバイス400に関する情報が追加され、プラグアンドプレイでデバイスドライバをインストールすることができる(606)。
なお、デバイスドライバのドライバ情報は、クライアント装置の記憶手段に保持されていても、ネットワークを介して取得しても良い。
本実施形態では、上述したようにProbeMatchメッセージを返すタイミングをデバイス400側で制御することで、利用可能時間になったら、デバイスドライバが自動でインストールされる。これにより、ユーザはネットワークのデバイスを利用可能な状態に遷移させることができる。
一方、電源断を行うなどデバイス400がネットワークNETから切断されるときには、ネットワークNETにByeメッセージを送信する(607)。
クライアント201はByeメッセージをデバイス400から受信したら、ネットワークNETからデバイス400が切断されたことを知り、該当するデバイスのドライバをアンインストールする(608)。
これはFDP402のWS−Discoveryプロバイダ4021がFDC401の利用時間設定クライアント4013に通知を行う。そして、利用時間設定クライアント4013がOSのAPIのDeletePrinter()をコールして関連データベース4032に登録されていたドライバから、Byeメッセージを送信したデバイスに対応するドライバを削除する。
もし、利用時間内にデバイス400が再びネットワークNETに接続された場合は、通常と同様にデバイス400がHelloメッセージをマルチキャストで送信する(609)。そして、クライアント201のFDP402が列挙せずにProbeに利用時間を入れて返す(610)。
ここで、デバイス400はすでに利用時間内であることを判断してからProbeMatchメッセージをクライアント201に向けて送信する(611)。これにより、クライアント201はデバイス400を検出デバイスリストに入れ、ドライバをインストールする(612)。この結果として、利用時間内であればユーザはすぐにネットワークNETに接続されたデバイス400を利用できるようになる。
そして、設定された利用終了時間になったら、デバイス400はネットワークNETから実際に切断されていないにもかかわらず、Byeメッセージを強制的にクライアント201に送信する(613)。
クライアント201は、デバイス400から送信されたByeメッセージに応答してFDC401の利用時間設定クライアント4013がファンクションディスカバリカテゴリ403の検出デバイスリスト4031から削除する。
そして、デバイス400に対するドライバを自動的にアンインストールする(614)。
つまり、クライアント201は、インストールしたデバイスドライバのデバイスから利用終了時刻情報に従って送信される離脱メッセージ(Byeメッセージ)情報を受信することに応じて、ドライバデータベースに登録されたデバイスドライバを削除する。
なお、ドライバデータベースは、オペレーティングシステムのシステム管理ファイルに含まれる。
本実施形態によれば、デバイス400があたかも利用時間内のみネットワークで見つかるように動作するため、OSが持つネットワークプラグアンドプレイの機能を不必要に妨げることがなくなる。
このように、クライアント201側で、デバイスの利用時間設定によって、ネットワークNETに接続されているデバイスのドライバを自動的にインストール並びにアンインストールすることができる。
なお、図12に示した利用時間設定クライアント4013のユーザインタフェースで利用不可能時間をラジオボタンB12−2を押下して設定した場合は、前述のシーケンスにおいてデバイス400が逆に動作する。
つまりデバイス400は、ProbeMatchメッセージを利用不可能時間には返さない。また、利用不可能時間になった場合、デバイス400は、Byeメッセージを送信する。その結果、クライアントは記憶装置上からデバイス400のドライバを自動的にアンインストールする。
本実施形態におけるデータ処理装置、デバイスの機能処理についてさらに説明する。
ネットワークNET上の複数のデバイス(デバイス400を含む)と通信して各デバイスに対応するドライバをインストール可能なクライアント201は、以下の手段または機能を備える。
各デバイスに対応するデバイスドライバを記憶するドライバ記憶手段に対応するドライバデータベース307を備える。
また、デバイスを使用する利用時間を図12に示すUI画面を介してモニタ110に表示してユーザが設定する機能(図11に示す利用時間設定クライアント401)を備える。
そして、設定された利用時間情報を含むメッセージ(Probeメッセージ)をネットワーク上にファンクションディスカバリプロバイダ302を介して送信する機能を備える。
そして、ネットワークNET上のいずれかのデバイスから利用時間内に応答される情報を受信する。そして、プラグアンドプレイマネージャ304を介して探索されたデバイスのデバイスドライバをドライバデータベース307に登録するデバイスドライバ管理機能を備える。デバイスドライバ管理機能は、後述する図14に示すシーケンス手順あるいは、図17に示すフローチャートの手順に従う。
また、上記デバイスドライバ管理機能は、いずれかのデバイスから利用時間外に応答される情報、例えばByeメッセージをデバイス400から受信して、ドライバデータベース307に登録されたデバイスドライバを削除する。
さらに、ドライバデータベース307は、オペレーティングシステム1054のシステム管理ファイルに含まれる。なお、OSがWindows(登録商標)の場合には、レジストリ上でプリンタデータベースとして登録される。
また、利用時間外に応答される情報は、デバイスからの離脱メッセージ(Byeメッセージ)である。
一方、ネットワークを介してクライアント201と通信して特定の処理を行うデバイス400は、以下の構成を備える。
クライアント201から利用時間が設定されたメッセージを受信する受信機能を備える。本実施形態では、利用時間情報はプローブメッセージに含まれる。
また、現在時間がプローブメッセージから取得した利用時間かどうかを判断する判断機能を有する。なお、時刻情報は、上述しているように内蔵時計あるいは、タイムサーバ等から取得可能としている。
そして、判断機能により現在時間が利用時間であると判断した場合に、メッセージ、本実施形態では、プローブMatchメッセージをクライアント201に送信する。
以下、図17、図18に示すフローチャートを参照して、クライアント側とデバイス側のドライバ処理方法について説明する。
図17は、本実施形態におけるデータ処理装置における第1のドライバ処理手順の一例を示すフローチャートである。本処理は、デバイス400に利用時間情報を送信した後、その利用時間内にデバイス400からプローブMatchを受信してデバイスドライバをインストールするとともに、Byeメッセージを受信してドライバを削除する処理である。
また、S1〜S11は各ステップを示す。各ステップは、図1に示したOS1054がRAM103にロードされた後、システム処理としてCPU101が実行することで実現される。
なお、本願のデータ処理装置は、複数の出力装置と通信可能であり、各デバイスに対応するドライバをインストールすることができる。
まず、ステップS1で、クライアント201は、図12に示すUI画面をモニタ110に表示する。そして、クライアント201は、ポインティングデバイス109等を操作して入力されたデバイスを使用する利用時間情報を設定する。なお、S1で設定された情報は、クライアント201のRAM等に保持される。
次に、ステップS2で、クライアント201は、S1にて設定された利用時間情報とクライアントID等を含む利用設定メッセージ(Probeメッセージ)をネットワークNET上にマルチキャストで送信する。
次に、ステップS3で、ネットワークNET上のいずれかのデバイス(例えばデバイス400)からプローブMatchメッセージを受信するまで待機する。なお、クライアント201は、この時、現在時刻が先のステップS2で送信した利用時間内にならない間は、FDC401からプローブMatchメッセージを受信していない。
次に、クライアント201が、デバイス400からプローブMatchメッセージを受信したら、ステップS5で、デバイス400がネットワークNET上に発見されたと認識し、ファンクションディスカバリカテゴリの検出デバイスリスト4031に列挙する。つまり、S5において認識したデバイス400に関する情報を検出デバイスリスト4031に登録する。
そして、ネットワークNET上に発見されたデバイスに関する情報を検出デバイスリスト4031に登録する。
この登録処理により、クライアント201は、関連データベース4032にデバイス400に関する情報を追加し、クラスインストーラ306がプラグアンドプレイでデバイス400のデバイスドライバをインストールする。
つまり、クライアント201は、いずれかのデバイスから利用時間情報に従って応答される情報を受信することに応じて、デバイスのデバイスドライバをドライバデータベースにインストールする。
そして、ステップS6で、ファンクションディスカバリプロバイダ302は、ネットワークNETを介してByeメッセージが受信されたか否かを判断する。そして、Byeメッセージを受信したら、クライアント201は、Byeメッセージを受信した時間が利用時間の外であるかを判断する。
ここで、利用時間外であると判断した場合は、ステップS11に進み、クネットワークNETからデバイス400が切断されたことになるので、クライアント201から該当するデバイスのドライバをアンインストールして、処理を終了する。
一方、ステップS7で、利用時間内であると判断した場合は、ステップS8へ進み、Byeメッセージを送信したデバイスのデバイスドライバを削除する。
ステップS9で、ファンクションディスカバリプロバイダ302がHelloメッセージを受信しているかどうかを判断する。
ここで、ファンクションディスカバリプロバイダ302がHelloメッセージを受信したと判断した場合、ステップS10で、クライアント201は、利用時間を含むプローブをネットワーク上に送信して、ステップS4へ戻り、同様の処理を繰り返す。
図18は、本実施形態の出力装置におけるドライバ処理手順の一例を示すフローチャートである。本処理は、クライアント201から利用時間情報が設定されたプローブメッセージを受信して、プローブMatchメッセージを応答あるいはByeメッセージを送信する処理である。
また、S21〜S30は各ステップを示す。各ステップは、デバイス、本実施形態ではプリンタのCPUがROMやハードディスク等に記憶された制御プログラムをRAM上にロードして実行することで実現される。
また、デバイスは、クライアントが使用する特定のプロトコル(TCP/IP、SOAP)に基づく通信を行うための、ネットワークカードを備えている。さらに、デバイスは、WSDシステムを搭載している。
まず、ステップS21で、デバイス400は、ネットワークNETに接続された状態で、クライアント201からの利用時間情報が設定された利用設定(プローブ)メッセージを受信しているかどうかを判断する。
そして、ステップS21にてProbeメッセージを受信したと判定した場合、ステップS2で、デバイス400は、クライアント201から送信されたプローブメッセージに含まれる利用時間情報を取得する。
次に、ステップS23で、デバイス400は内蔵している時計もしくは図示しないタイムサービスを提供するNTPサーバなどに現在時刻を問い合わせて取得する。
そして、デバイス400は、ステップS22にて受信した利用時間情報と現在の時刻とを比較し、利用開始時間になったかどうかを判断する。
つまり、デバイス400は、デバイスが認識した時間情報と受信された利用時間情報に基づいて、受信された利用設定メッセージに対する応答処理を実行するか否かを判断する。
この応答処理にて送信される情報は、クライアント201に対してデバイス400のドライバを導入させるための情報を含んだ応答情報である。
そして、S24で、デバイス400は、現在の時刻と利用時間情報とを比較し、利用時間情報になったと判断した時点で、ステップS21受信しているプローブメッセージに対応するプローブMatchメッセージをクライアント201に送信する。
つまり、デバイス400は、ステップS23により応答処理を実行すべきと判断した場合、クライアント201に対してデバイスに関する情報を含んだ応答(プローブMatch)を送信する。
このプローブMatchメッセージをクライアント201が受信することで、当該デバイスのドライバのインストール処理を開始する。
次に、ステップS25で、デバイス400は、ネットワークNETに対して、何からの切断要因、例えば電源がOFF指示されている等の要因が発生しているかどうかを判断する。
そして、ステップS25で、切断要因が発生していると判断した場合、デバイス400は、ステップS26で、ByeメッセージをネットワークNET上に送信する。
これにより、利用時間内であっても、クライアント201にデバイスドライバを削除する指示が通知されることとなる。
次に、ステップS27で、デバイス400は、ネットワークNETに対して何らかの接続要因、例えば電源投入等が発生しているかどうかを判断する。
そして、接続要因が発生していると判断した場合には、ステップS28で、HelloメッセージをネットワークNET上に送信して、ステップS21に戻り、同様の処理を繰り返す。
この場合、クライアント201は、再度、利用時間情報を含んだプローブメッセージを送信してくる。そこで、これをステップS21で取得することで、デバイス400は、プローブメッセージに対するプローブMatchを適正なタイミング(S23のタイミング)でクライアント201に送信する。
一方、ステップS25で、切断要因が発生していないと判断した場合、デバイス400は、ステップS29で、現在時刻が利用時間情報の終了時刻であるかどうかをステップS23と同様の手法で判断する。
つまり、デバイス400は、現在時刻情報と利用終了時刻情報に基づいて離脱(Bye)メッセージ情報を送信すべきか否かを判断する。
そして、ステップS30で、デバイス400が、終了時刻に一致している判断したタイミングで、Byeメッセージをクライアント201に送信して、本処理を終了する。
つまり、デバイス400は、離脱メッセージ情報を送信すべきであると判断した場合、離脱(Bye)メッセージ情報を送信する。その結果、クライアント201ではByeメッセージ送信元のデバイスのドライバをアンインストールするため、利用時間情報に基づきデバイスドライバの使用が不可となる。
本実施形態によれば、クライアント201からデバイス400に通知される利用時間に、デバイスからの応答に基づいて、そのドライバの登録あるいは削除を適時に実行できる。
さらに、クライアントが設定したネットワーク上に接続されたデバイスの利用時間をデバイスに通知して、利用時間内にデバイスから応答があれば、そのドライバをドライバデータベースに登録し、利用時間外はドライバデータベースから削除できる。
また、ネットワーク上に接続されたデバイスの利用可能時間をクライアント側から設定して、クライアント装置により設定された利用可能時間外の場合はネットワークプラグアンドプレイでデバイスが検出されることがなくなる。
さらに、デバイスのドライバが利用可能時間以前から使用されることがなくなり、デバイスの利用時間を厳密に管理することが可能になる。
〔第2実施形態〕
第2実施形態では、図11に示したように、ファンクションディスカバリの利用時間設定クライアント4013による利用時間を設定する図12に示したユーザインタフェースがクライアント201には存在せず、代わりにデバイス管理サーバにある場合を述べる。
なお、デバイス管理サーバは、図2に示したサーバ204がその機能を備える。また、サーバ204は、いわゆるコンピュータシステムとしてのハードウエア資源と、ハードウエア資源としての、例えばハードディスク等に記憶されるOS、システムプログラム、デバイスドライバ等のプログラムをソフトウエア資源として備える。
また、サーバ204は、所定のプロトコル(SOAPを含む)でネットワークNET上のデバイスやクライアントと通信可能に構成されている。
図16は、本実施形態におけるサーバ装置が備えるデータベースの一例を示す図である。
図16に示すように、本実施形態では、デバイス管理サーバでは、特定のIT管理者がネットワークNETに接続された各デバイスに対して、クライアント毎のデバイス利用可能時間設定を行う。そして、デバイス管理サーバに備えるハードディスク上のデータベースに保持する。
これはクライアントの位置情報であるクライアントURIと、利用可能時間設定のテーブルを、ネットワークに接続されたデバイス利用可能時間設定を行うクライアントごとに別々に持ち、デバイスごとに管理する。
デバイス管理サーバは、デバイス400のHelloメッセージに応答して、ReplyToにクライアントのURIおよび各クライアントの利用可能時間情報を入れてProbeメッセージをマルチキャストで送信する。
なお、第2実施形態においてクライアントを特定するための情報と利用時間情報を含んだProbeメッセージを送信情報メッセージとも記載する。
つまり、デバイス管理サーバは、デバイスを使用する各クライアントの利用時間情報と、クライアントを特定する情報とを設定する。そして、設定された利用時間情報とクライアントを特定する情報とが設定された送信情報メッセージをデバイスに対して送信する。
このデバイス管理サーバの処理により発行された送信情報メッセージをデバイスが受信した場合、デバイス管理サーバから利用時間情報とデータ処理装置を特定する情報が設定された送信情報メッセージを受信する。
デバイスは、認識した時間情報と受信した利用時間情報に従って、受信された送信情報メッセージに対する応答処理を実行すべきか否かを判断する。
そして、デバイスが、応答処理を実行すべきと判断した場合、クライアントを特定する情報に基づいて特定されたデータ処理装置に対して、応答を送信する。
この後は、第1実施形態に示したデバイスドライバのインストール、アンインストールのシーケンス例とまったく同等に動作する。
第2実施形態によれば、IT管理者が、あたかも各クライアントが利用時間設定をしたものとまったく同じように動作させることができることで、IT管理者がユーザごとにデバイスの利用時間をすべて一括して管理できるようになる。また、利用時間の設定を個別化したり、グループ化したりすることも可能となる。
また、デバイス管理サーバは利用可能時間設定をWebサービスとして提供することで、各クライアントから利用可能時間設定がWebブラウザなどを通して設定することも可能である。
これにより利用可能時間設定が、サーバ装置側一箇所で集中管理できることになるので、利用時間の分散化など利便性が向上する。
例えば、ネットワークプリンタの使用でデバイスを占有するために予約時間を指定したり、混み合っているので多数のユーザでデバイスの利用可能時間をずらして使用しようとする場合に、第2実施形態が有効である。
〔第3実施形態〕
第3実施形態では、利用時間を設定するユーザインタフェースがデバイスに存在するケースを述べる。
ネットワークNET上のデバイス上にあるパネル画面などから、クライアントの位置情報であるURIと、利用可能時間情報をそれぞれ指定する。
以下、この後は、第1実施形態に示したデバイスドライバのインストール、アンインストールのシーケンス例とまったく同等に動作する。
つまり、デバイスは、クライアントから受信したProbe情報に含まれるURIから、クライアントを特定し、特定されたクライアントに設定されている利用時間情報に基づいてProbeMatchを送信する。
第3実施形態によれば、クライアントでユーザが勝手に利用可能時間を設定することがなくなるので、デバイス利用時間の競合や占有などを防ぐことができる。
〔第4実施形態〕
第1実施形態においては、利用時間情報に基づいてデバイス400がProbeメッセージを送信すべきか否かを判断して、デバイス主導の処理について説明した。これに対し第4実施形態ではクライアント主導の処理について説明する。
なお、第4実施形態においても上記実施形態と異なる点についてのみ記載するものとし、その他の点は上記実施形態と同様の処理を行うものとする。
第4実施形態におけるクライアントの処理について図21を用いて説明する。
図19は、本実施形態におけるデータ処理装置における第2のドライバ処理手順の一例を示すフローチャートである。なお、図19の各ステップの処理はクライアントのCPUによって実行される。
クライアント201は、図12のUIを用いて利用時間情報を設定し、RAM等に保持しておく。
続いて、クライアント201は2つの処理を並行して行う。1つ目の処理は現在時間がS2101にて設定された利用開始時刻か否かを判定する処理である(S2102)。
また、クライアント201は、デバイスからHelloメッセージを受信したか否かを判定する(S2103)。S2103により、Helloメッセージを受信した場合、現在時間は利用開始時刻か否かを判定する(S2104)。
つまり、クライアントは、デバイスからHelloメッセージを受信しても現在時間が利用開始時刻でなければHelloメッセージに対する応答は行わない。
クライアントは現在時間が利用開始時間であると判定した場合、Probeメッセージを送信して(S2105)、デバイスからのProbeMatchメッセージを受信したか否かを判定する(S2106)。
S2106において、ProbeMatchを受信した場合、クライアント201は、ProbeMatchの送信元のデバイス情報を検索デバイスリストに登録して(S2107)、該デバイスのドライバをインストールする(S2108)。
この登録の際に、インストールされたドライバに対して利用終了時刻情報を対応付けて登録する。
さらに、クライアントは、各デバイスデバイスドライバの利用時間終了時間と現在時間を比較して、利用時間終了となっているドライバの有無を判定する(S2109)。
S2109により、利用時間終了となっているドライバがあると判定された場合、クライアント201は、S2109にて判定されたドライバのアンインストール処理を実行する(S2110)。また、利用時間内であっても、デバイスからByeメッセージを受信することに応じて、該デバイスのドライバをアンインストールする。
第1実施形態では、各デバイスが利用時間を判定して、ProbeMatchの送信処理や、Byeメッセージの送信処理を制御する必要があるため、各デバイスに制御機能を搭載する必要があった。
本実施形態によれば、例えば、出張や外出により普段のネットワーク環境とは異なるネットワーク環境にクライアントを接続した場合であっても、利用時間に応じてドライバのインストールおよびアンインストールを制御することが可能となる。
〔第5実施形態〕
以下、図20、図21に示すメモリマップを参照して本発明に係るネットワークシステムで読み取り可能なデータ処理プログラムの構成について説明する。
図20は、本発明に係るデータ処理装置で読み取り可能な各種データ処理プログラムを格納する記憶媒体のメモリマップを説明する図である。
図21は、本発明に係るデバイスで読み取り可能な各種データ処理プログラムを格納する記憶媒体のメモリマップを説明する図である。
なお、特に図示しないが、記憶媒体に記憶されるプログラム群を管理する情報、例えばバージョン情報,作成者等も記憶され、かつ、プログラム読み出し側のOS等に依存する情報、例えばプログラムを識別表示するアイコン等も記憶される場合もある。
さらに、各種プログラムに従属するデータも上記ディレクトリに管理されている。また、各種プログラムをコンピュータにインストールするためのプログラムや、インストールするプログラムが圧縮されている場合に、解凍するプログラム等も記憶される場合もある。
本実施形態における図17、図18、図19に示す機能が外部からインストールされるプログラムによって、ホストコンピュータにより遂行されていてもよい。そして、その場合、CD−ROMやフラッシュメモリやFD等の記憶媒体により、あるいはネットワークを介して外部の記憶媒体から、プログラムを含む情報群を出力装置に供給される場合でも本発明は適用されるものである。
以上のように、前述した実施形態の機能を実現するソフトウエアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給する。そして、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
この場合、記憶媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
従って、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等、プログラムの形態を問わない。
プログラムを供給するための記憶媒体としては、例えばフレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD−ROM、CD−R、CD−RW、磁気テープ、不揮発性のメモリカード、ROM、DVDなどを用いることができる。
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する。そして、該ホームページから本発明のコンピュータプログラムそのもの、もしくは、圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。
また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバやftpサーバ等も本発明の請求項に含まれるものである。
また、本発明のプログラムを暗号化してCD−ROM等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけではない。例えばそのプログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行う。そして、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込ませる。その後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
本発明は上記実施形態に限定されるものではなく、本発明の趣旨に基づき種々の変形(各実施形態の有機的な組合せを含む)が可能であり、それらを本発明の範囲から排除するものではない。
本発明の様々な例と実施形態を示して説明したが、当業者であれば、本発明の趣旨と範囲は、本明細書内の特定の説明に限定されるのではない。
本発明の第1実施形態を示すネットワークシステムのブロック構成図である。 図1に示したネットワークシステムのネットワーク環境を説明する図である。 本実施形態におけるデータ処理装置上のネットワークプラグアンドプレイ(NPnP)のモジュール構成を説明するブロック図である。 本実施形態におけるデータ処理装置とネットワークデバイスとの第1の通信例を説明する図である。 本実施形態における印刷装置からネットワーク上にマルチキャストされる情報を説明する図である。 本実施形態におけるデータ処理装置からネットワーク上にマルチキャストされる情報を説明する図である。 本実施形態における印刷装置からネットワーク上にマルチキャストされる情報を説明する図である。 本実施形態におけるデータ処理装置からネットワーク上にユニキャストされる情報を説明する図である。 本実施形態における印刷装置から通知される情報を説明する図である。 本実施形態における印刷装置からネットワーク上にマルチキャストされる情報を説明する図である。 図3に示したファンクションディスカバリクライアントとファンクションディスカバリプロバイダの詳細を説明するブロック図である。 本実施形態のデータ処理装置で表示可能な利用時間設定のユーザインタフェースの一例を示す図である。 本実施形態のデータ処理装置で検索されたネットワークデバイスの追加/削除設定のためのユーザインタフェースの一例を示す図である。 本実施形態におけるデータ処理装置とネットワークデバイスとの第1の通信例を説明する図である。 図14に示したクライアントからデバイスにマルチキャストで通知されるProbeメッセージの一例を示す図である。 本実施形態におけるサーバ装置が備えるデータベースの一例を示す図である。 本実施形態におけるデータ処理装置における第1のドライバ処理手順の一例を示すフローチャートである。 本実施形態における出力装置におけるドライバ処理手順の一例を示すフローチャートである。 本実施形態におけるデータ処理装置における第2のドライバ処理手順の一例を示すフローチャートである。 本発明に係るデータ処理装置で読み取り可能な各種データ処理プログラムを格納する記憶媒体のメモリマップを説明する図である。 本発明に係る出力装置で読み取り可能な各種データ処理プログラムを格納する記憶媒体のメモリマップを説明する図である。
符号の説明
301 プリンタ
302 ファンクションディスカバリプロバイダ
303 ファンクションディスカバリクライアント
304 プラグアンドプレイマネージャ
305 スプーラ
306 クラスインストーラ
307 ドライバデータベース


Claims (20)

  1. 複数の出力装置と通信可能であり、各出力装置に対応するドライバをインストール可能なデータ処理装置であって、
    前記出力装置を使用する利用時間情報を設定する設定手段と、
    前記設定手段により設定された利用時間情報を含む利用設定メッセージを送信する送信手段と、
    いずれかの出力装置から前記利用時間情報に従って応答される情報を受信することに応じて、前記出力装置のデバイスドライバをドライバデータベースに導入する導入手段と、
    を有することを特徴とするデータ処理装置。
  2. 前記利用時間情報は、デバイスドライバの利用開始時刻情報およびデバイスドライバの利用終了時刻情報を含んでおり、
    前記導入手段により導入したデバイスドライバの出力装置から前記利用終了時刻情報に従って送信される離脱メッセージ情報を受信することに応じて、前記ドライバデータベースに登録されたデバイスドライバを削除する削除手段を更に有することを特徴とする請求項1記載のデータ処理装置。
  3. 前記ドライバデータベースは、オペレーティングシステムのシステム管理ファイルに含まれることを特徴とする請求項1または2記載のデータ処理装置。
  4. ネットワークを介してデータ処理装置と通信可能な出力装置であって、
    前記データ処理装置から利用時間情報が設定された利用設定メッセージを受信する受信手段と、
    前記出力装置が認識した時間情報と前記受信手段によって受信された利用時間情報に基づいて、前記受信手段により受信された利用設定メッセージに対する応答処理を実行するか否かを判断する判断手段と、
    前記判断手段により前記応答処理を実行すべきと判断された場合に、前記データ処理装置に対して前記出力装置に関する情報を含んだ応答を送信する送信手段と、
    を有することを特徴とする出力装置。
  5. 前記出力装置は現在時刻情報を取得する取得手段を更に有しており、
    前記受信手段によって受信される利用設定メッセージは前記出力装置の利用開始時刻情報および前記出力装置の利用終了時刻情報を含み、
    前記判断手段は、前記取得手段によって取得された現在時刻情報と、前記受信手段によって受信された利用設定メッセージに含まれる利用開始時刻情報とを比較し、前記現在時刻情報の時刻が前記利用開始時刻情報の時刻を過ぎていると判定した場合、前記送信手段は、前記データ処理装置に対して前記出力装置のドライバを導入させるための情報を含んだ応答を送信することを特徴とする請求項4に記載の出力装置。
  6. 前記判断手段は、前記現在時刻情報と前記利用終了時刻情報に基づいて離脱メッセージ情報を送信すべきか否かを判断し、
    前記送信手段は、前記判断手段によって前記離脱メッセージ情報を送信すべきであると判断された場合に、前記離脱メッセージ情報を送信することを特徴とする請求項5に記載の出力装置。
  7. データ処理装置と出力装置とが通信可能なネットワークシステムであって、
    前記データ処理装置は、
    前記出力装置を使用する利用時間情報を設定する設定手段と、
    前記設定手段により設定された利用時間情報を含む利用設定メッセージを送信する送信手段と、
    いずれかの出力装置から前記利用時間情報に従って応答される情報を受信することに応じて、前記出力装置のデバイスドライバをドライバデータベースに導入する導入手段とを有し、
    前記出力装置は、
    前記データ処理装置から利用時間情報が設定された利用設定メッセージを受信する受信手段と、
    前記出力装置が認識した時間情報と前記受信手段によって受信された利用設定メッセージに対する応答処理を実行するか否かを判断する判断手段と、
    前記判断手段により前記応答処理を実行すべきと判断された場合に、前記データ処理装置に対して前記出力装置に関する情報を含んだ応答を送信する送信手段とを有することを特徴とするネットワークシステム。
  8. 出力装置と、データ処理装置と通信可能な情報処理装置であって、
    前記出力装置を使用する各データ処理装置の利用時間情報と、データ処理装置を特定する情報とを設定する設定手段と、
    前記設定手段により設定された利用時間情報とデータ処理装置を特定する情報とが設定された送信情報メッセージを前記出力装置に対して送信する送信手段と、
    を有することを特徴とする情報処理装置。
  9. 情報処理装置と、複数のデータ処理装置と通信可能な出力装置であって、
    前記情報処理装置から利用時間情報とデータ処理装置を特定する情報が設定された送信情報メッセージを受信する受信手段と、
    前記出力装置が認識した時間情報と前記受信手段が受信した利用時間情報に従って、前記受信手段により受信された送信情報メッセージに対する応答処理を実行すべきか否かを判断する判断手段と、
    前記判断手段により前記応答処理を実行すべきと判断された場合に、前記データ処理装置を特定する情報に基づいて特定されたデータ処理装置に対して、応答送信する送信手段と、
    を有することを特徴とする出力装置。
  10. 出力装置と、複数のデータ処理装置と通信可能な情報処理装置とを含むネットワークシステムであって、
    前記情報処理装置は、
    前記出力装置を使用する各データ処理装置の利用時間情報を設定する設定手段と、
    前記設定手段により設定された利用時間情報とデータ処理装置を特定する情報とが設定された送信情報メッセージを前記出力装置に送信する送信手段とを有し、
    前記データ処理装置は、
    出力装置に対応するデバイスドライバを記憶するドライバ記憶手段と、
    いずれかの出力装置から前記利用時間情報に基づいて応答される情報を受信することに応じて、前記出力装置のデバイスドライバをドライバデータベースに導入する導入手段とを有し、
    前記出力装置は、
    前記情報処理装置から利用時間情報とデータ処理装置を特定する情報が設定された送信情報メッセージを受信する受信手段と、前記出力装置が認識した時間情報と前記受信手段によって受信された利用時間情報に基づいて、前記受信手段により受信された送信情報メッセージに対する応答処理を実行するか否かを判断する判断手段と、
    前記判断手段により前記応答処理を実行すべきと判断された場合に、前記データ処理装置を特定する情報に基づいて特定されたデータ処理装置に対して、応答を送信する送信手段と、
    を有することを特徴とするネットワークシステム。
  11. 複数の出力装置と通信可能であり、各出力装置に対応するドライバをインストール可能なデータ処理装置におけるドライバ処理方法であって、
    前記出力装置を使用する利用時間情報を設定する設定ステップと、
    前記設定ステップにより設定された利用時間情報を含む利用設定メッセージを送信する送信ステップと、
    いずれかの出力装置から前記利用時間情報に従って応答される情報を受信することに応じて、前記出力装置のデバイスドライバをドライバデータベースに導入する導入ステップと、
    を有することを特徴とするドライバ処理方法。
  12. 前記利用時間情報は、デバイスドライバの利用開始時刻情報およびデバイスドライバの利用終了時刻情報を含んでおり、
    前記導入ステップにより導入したデバイスドライバの出力装置から前記利用終了時刻情報に従って送信される離脱メッセージ情報を受信することに応じて、前記ドライバデータベースに登録されたデバイスドライバを削除する削除ステップを更に有することを特徴とする請求項11記載のドライバ処理方法。
  13. 前記ドライバデータベースは、オペレーティングシステムのシステム管理ファイルに含まれることを特徴とする請求項11または12記載のドライバ処理方法。
  14. ネットワークを介してデータ処理装置と通信可能な出力装置におけるドライバ処理方法であって、
    前記データ処理装置から利用時間情報が設定された利用設定メッセージを受信する受信ステップと、
    前記出力装置が認識した時間情報と前記受信ステップによって受信された利用時間情報に基づいて、前記受信ステップにより受信された利用設定メッセージに対する応答処理を実行するか否かを判断する判断ステップと、
    前記判断ステップにより前記応答処理を実行すべきと判断された場合に、前記データ処理装置に対して前記出力装置に関する情報を含んだ応答を送信する送信ステップと、
    を有することを特徴とするドライバ処理方法。
  15. 前記出力装置は現在時刻情報を取得する取得ステップを更に有しており、
    前記受信ステップによって受信される利用設定メッセージは前記出力装置の利用開始時刻情報および前記出力装置の利用終了時刻情報を含み、
    前記判断ステップは、前記取得ステップによって取得された現在時刻情報と、前記受信ステップによって受信された利用設定メッセージに含まれる利用開始時刻情報とを比較し、前記現在時刻情報の時刻が前記利用開始時刻情報の時刻を過ぎていると判定した場合、前記送信ステップは、前記データ処理装置に対して前記出力装置のドライバを導入させるための情報を含んだ応答を送信することを特徴とする請求項14に記載のドライバ処理方法。
  16. 前記判断ステップは、前記現在時刻情報と前記利用終了時刻情報に基づいて離脱メッセージ情報を送信すべきか否かを判断し、
    前記送信ステップは、前記判断ステップによって前記離脱メッセージ情報を送信すべきであると判断された場合に、前記離脱メッセージ情報を送信することを特徴とする請求項15に記載のドライバ処理方法。
  17. 出力装置と、データ処理装置と通信可能な情報処理装置におけるドライバ処理方法であって、
    前記出力装置を使用する各データ処理装置の利用時間情報と、データ処理装置を特定する情報とを設定する設定ステップと、
    前記設定ステップにより設定された利用時間情報とデータ処理装置を特定する情報とが設定された送信情報メッセージを前記出力装置に対して送信する送信ステップと、
    を有することを特徴とするドライバ処理方法。
  18. 複数の出力装置と通信可能であり、各出力装置に対応するドライバをインストール可能なデータ処理装置を制御するプログラムであって、
    前記出力装置を使用する利用時間情報を設定する設定手段と、
    前記設定手段により設定された利用時間情報を含む利用設定メッセージを送信する送信手段と、
    いずれかの出力装置から前記利用時間情報に従って応答される情報を受信することに応じて、前記出力装置のデバイスドライバをドライバデータベースに導入する導入手段として機能させることを特徴とするプログラム。
  19. ネットワークを介してデータ処理装置と通信可能な出力装置を制御するプログラムであって、
    前記データ処理装置から利用時間情報が設定された利用設定メッセージを受信する受信手段と、
    前記出力装置が認識した時間情報と前記受信手段によって受信された利用時間情報に基づいて、前記受信手段により受信された利用設定メッセージに対する応答処理を実行するか否かを判断する判断手段と、
    前記判断手段により前記応答処理を実行すべきと判断された場合に、前記データ処理装置に対して前記出力装置に関する情報を含んだ応答を送信する送信手段として機能させることを特徴とするプログラム。
  20. 出力装置と、データ処理装置と通信可能な情報処理装置を制御するプログラムであって、
    前記出力装置を使用する各データ処理装置の利用時間情報と、データ処理装置を特定する情報とを設定する設定手段と、
    前記設定手段により設定された利用時間情報とデータ処理装置を特定する情報とが設定された送信情報メッセージを前記出力装置に対して送信する送信手段として機能させることを特徴とするプログラム。
JP2006014923A 2006-01-24 2006-01-24 データ処理装置、出力装置、情報処理装置、ドライバ処理方法、プログラム Withdrawn JP2007199825A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006014923A JP2007199825A (ja) 2006-01-24 2006-01-24 データ処理装置、出力装置、情報処理装置、ドライバ処理方法、プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006014923A JP2007199825A (ja) 2006-01-24 2006-01-24 データ処理装置、出力装置、情報処理装置、ドライバ処理方法、プログラム

Publications (1)

Publication Number Publication Date
JP2007199825A true JP2007199825A (ja) 2007-08-09

Family

ID=38454418

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006014923A Withdrawn JP2007199825A (ja) 2006-01-24 2006-01-24 データ処理装置、出力装置、情報処理装置、ドライバ処理方法、プログラム

Country Status (1)

Country Link
JP (1) JP2007199825A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014168374A (ja) * 2009-02-24 2014-09-11 Qualcomm Inc ワイヤレス電力の充電タイミングおよび充電制御

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014168374A (ja) * 2009-02-24 2014-09-11 Qualcomm Inc ワイヤレス電力の充電タイミングおよび充電制御

Similar Documents

Publication Publication Date Title
JP4865299B2 (ja) 情報処理装置及び情報処理方法及びそのプログラム
JP4464029B2 (ja) 情報処理方法および制御プログラムおよび情報処理装置および周辺装置および応答方法および代理応答装置およびネットワークシステム
US7908609B2 (en) Information processing apparatus with device driver installation control
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
JP3984895B2 (ja) 情報処理装置およびサーバ装置およびドライバ更新方法およびコンピュータが読み取り可能な記憶媒体およびプログラム
US8214322B2 (en) Information processing apparatus, method of controlling information processing apparatus, computer program, and computer readable storage medium
JP2007122376A (ja) ネットワークプリントシステム及びネットワーク周辺装置及び情報処理装置とプログラム
JP2007114901A (ja) ネットワーク対応出力デバイス及び情報処理装置及びそれらの制御方法、並びにコンピュータプログラム及びコンピュータ可読記憶媒体、及び、ネットワークシステム
JP5310445B2 (ja) 制御装置及びコンピュータプログラム
JP2009171579A (ja) 印刷システム、方法及びコンピュータ読取可能な記憶媒体
US20120307280A1 (en) Image processing system that transfers image data to server apparatus, information processing apparatus, method of controlling the information processing apparatus, and storage medium
JP4641530B2 (ja) 情報処理装置、ドライバ処理方法、プログラム
JP4827943B2 (ja) 情報処理装置、ネットワークシステム、クライアント装置、情報処理方法、及び記憶媒体
JP4649584B2 (ja) 周辺機器ドライバインストールシステム
JP2007199825A (ja) データ処理装置、出力装置、情報処理装置、ドライバ処理方法、プログラム
JP4912093B2 (ja) 情報処理方法、情報処理装置、プログラム及び記憶媒体
JP4378372B2 (ja) 情報処理方法、情報処理装置、及び記憶媒体
JP2007148828A (ja) 情報処理装置及びその制御方法
US20120324107A1 (en) Shared access to a local device
JP2009015408A (ja) インストールサーバ
JP2006035456A (ja) 画像処理装置及びその制御方法及びプログラム
JP2008027006A (ja) 周辺デバイスを管理するためのプログラムおよび情報処理装置とその制御方法
JP2002287923A (ja) プリントシステム
JP2002108588A (ja) プリンタドライバ導入システム
JP2008152579A (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

A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20090407