JP2007128260A - 情報処理装置及び情報処理方法及びそのプログラム - Google Patents

情報処理装置及び情報処理方法及びそのプログラム Download PDF

Info

Publication number
JP2007128260A
JP2007128260A JP2005320010A JP2005320010A JP2007128260A JP 2007128260 A JP2007128260 A JP 2007128260A JP 2005320010 A JP2005320010 A JP 2005320010A JP 2005320010 A JP2005320010 A JP 2005320010A JP 2007128260 A JP2007128260 A JP 2007128260A
Authority
JP
Japan
Prior art keywords
device driver
message
peripheral device
network
receiving
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2005320010A
Other languages
English (en)
Other versions
JP2007128260A5 (ja
JP4865299B2 (ja
Inventor
Yoshihiro Takagi
義博 高木
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 JP2005320010A priority Critical patent/JP4865299B2/ja
Priority to US11/554,692 priority patent/US7756955B2/en
Publication of JP2007128260A publication Critical patent/JP2007128260A/ja
Publication of JP2007128260A5 publication Critical patent/JP2007128260A5/ja
Application granted granted Critical
Publication of JP4865299B2 publication Critical patent/JP4865299B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Computer And Data Communications (AREA)

Abstract

【課題】実際に接続されていないネットワークプリンタのドライバをコンピュータから自動的にアンインストールする。
【解決手段】ネットワークプリンタ200は、シャットダウン等の操作に応じてByeメッセージをネットワークに対して送信する。それをクライアント100は受信して、そのプリンタに対応するプリントキューをオフラインにする(S20)。そのコンピュータのユーザがゲストであるか判定し、全ユーザがゲストであれば前記プリンタのプリンタドライバを使用する他のプリンタがないか判定する(S23)。なければ、そのプリンタドライバを削除する。
【選択図】図9

Description

本発明はネットワークに対応した周辺装置、および該周辺装置を制御する情報処理装置、情報処理方法及びそのプログラムに関するものである。
従来、ネットワーク上のクライアント装置からのサービス要求に応え、サービスを提供するサービス提供装置及び、サービス提供システムが知られている。例えば、インターネットによる通信の飛躍的な普及に伴い、ネットワーク対応型機器として、従来のパーソナルコンピュータ以外の種類の多様な機器が開発されている。例えば、PDA、携帯電話等のユーザインタラクティブなデバイスや、スキャナ、プリンタ、複写機、デジタルカメラ等の画像処理装置や、テレビ、エアコン、冷蔵庫等の家電製品などに至るまでネットワーク対応が急速に進められている。なおPDAとはパーソナルデータアシスタントの略称である。
それに伴い、これまでこれらネットワーク対応型デバイスを利用する上での利便性、簡易性を高めるために、さまざまなプロトコル、アーキテクチャが提案されている(特許文献1,2)。それ提案には、サービスを提供するネットワークデバイスの探索、検索手段、ネットワーク対応型デバイスを制御するためのアプリケーションソフトウエア、ユーティリティソフトウエア、オペレーティングシステム等の自動セットアップ手段などがある。
また、複数の企業、標準化団体が、ローカルI/O接続デバイス対して適用されてきたプラグアンドプレイをネットワークデバイスに対して拡張対応すべく、仕様策定作業を進めている。例えば、Microsoft社が主体となって策定を進めるUPnP(登録商標:非特許文献1)がある。さらに、WSD:Web Services for Devices(WS-Discovery/WS-MetadataExchange 非特許文献2、3)が挙げられる。さらに、Apple社が開発したOS XでサポートされるRenedzvousなどがその一例である。また、WSDについては、BMLinkS基本仕様書Version1.2」(ビジネス機械・情報システム産業協会、インターネットURL:http://www.jbmia.or.jp/bmlinks/index.htm)も挙げられる。
特開2004-038956 特開2004-362594 "UPnP(TM) Device Architecture" version1.0、2000年6月8日(インターネットURL: http://www.upnp.org/download/UPnPDA10_20000613.htm) "Web Service Dynamic Discovery(WS-Discovery)"、2005年4月(インターネットURL: http://specs.xmlsoap.org/ws/2005/04/discovery/ws-discovery.pdf) "WS-MetadataExchange"、2000年9月、マイクロソフト社(インターネットURL: http://msdn.microsoft.com/library/en-us/dnglobspec/html/ws-metadataexchange.pdf)
このようにネットワークプラグアンドプレイ(ネットワークPnPとも呼ぶ。)が普及することによって利便性が向上する。しかしその一方で、一旦ネットワークプラグアンドプレイによって認識されたネットワークデバイスが、ユーザが使用する際に実際に使えるのかどうか分からないといった問題がある。
言い換えると、ネットワークプラグアンドプレイによって自動的にネットワークデバイスのドライバおよびアプリケーションがインストールされてしまう。そのドライバおよびアプリケーションの自動インストール後にネットワークデバイスが使用不可となった場合、たとえばそのデバイスがネットワークから切り離された場合でも、ユーザはそのデバイスのドライバおよびアプリケーションを選択することはできる。そのため、ユーザには、なぜネットワークデバイスを使えないのかが分からない。
例えば、携帯型パーソナルコンピュータを自宅あるいは勤務先のオフィスから移動し、訪問先オフィス、あるいは公共施設に設けられたホットスポットなど、異なるネットワーク環境を一時的に利用するケースがある。その場合、携帯型パーソナルコンピュータのプラグアンドプレイ機能が、そのネットワーク環境で稼動しているネットワークデバイスを発見するたびに、ネットワークデバイスのドライバやアプリケーションを自動的にインストールする。つまり、携帯型パーソナルコンピュータには、普段使用するプリンタドライバと一時的に利用するプリンタドライバが記憶されている状態となる。そして、携帯型パーソナルコンピュータが、一時的に利用したネットワーク環境から離れた後でも依然としてインストールされたドライバ、アプリケーションは携帯型パーソナルコンピュータに残ったままである。使うことのできないデバイスのドライバやアプリケーションが携帯型パーソナルコンピュータに残ったままでは、その使用上甚だ不便である。これは、使用できないにも関わらず利用者に対しては利用できるように見せられているソフトウエアから、利用者が実際に使用できるものを選択して使用しなければならないためである。また、デバイスからさらには携帯型パーソナルコンピュータのハードウェア資源、特にメモリ資源をいたずらに消費してしまうことにもなる。もちろん携帯型パーソナルコンピュータに限らず、ネットワークPnP機能を備えたネットワークデバイス一般についてこの問題は生じ得る。つまり、ゲストユーザとしての一時的利用者がログインした後にインストールされたプリンタドライバは、普段使用することがないためアンインストール処理される必要がある。一方、管理者ユーザなどのゲストユーザ以外のユーザがログインした後にインストールされたデバイスドライバは、頻繁に使用される可能性がある。そのため、安易にアンインストール処理されると必要なときに使用することができないといった問題が生じる可能性が高くなる。
本発明は上記従来例に鑑みてなされたもので、インストールされているデバイスドライバの属性に基づいて、アンインストール処理を実行すべきか否かを決定する。これにより、ネットワークプラグアンドプレイ機能により検出できないデバイスのソフトウエアをアンインストールすることができ、利用者の操作性を向上させることを目的とする。
また、使用できないソフトウエアを削除することで、限られた計算資源を有効利用することを目的とする。
本発明は上記従来例に鑑みてなされたもので、以下の構成を備える。すなわち、周辺機器と接続されたコンピュータにより実行されるプログラムであって、
周辺機器からの離脱メッセージを受信する受信手段と、
前記受信手段により離脱メッセージを受信した場合に、前記離脱メッセージの送信元のデバイスに対応するデバイスドライバ情報が所定の条件に一致するか否かを判定する判定手段と、
前記判定手段により前記デバイスドライバ情報が前記所定の条件に一致する場合、該離脱メッセージ送信元の周辺機器に対応するデバイスドライバを削除する削除手段とを備えることを特徴とする。
本発明により、ネットワークプラグアンドプレイ機能により検出できないデバイスの使用のためにインストールされたソフトウエアをアンインストールすることで、利用者の操作性を向上させることができる。
また、使用できないソフトウエアを削除することで、限られた計算資源を有効利用することができる。
[第1実施形態]
以下に、図面を参照して、この発明の好適な実施の形態を例示的に詳しく説明する。ただし、この実施の形態に記載されているプロトコル、ヴァージョン、アドレス、その他の数値等は、特に特定的な記載がない限りは、この発明の範囲をそれらのみに限定する趣旨のものではない。
<印刷システムのハードウエア構成>
図17は、本発明の実施の形態であるネットワーク印刷システムに接続しているひとつのクライアントとひとつのネットワークプリンタに注目したハードウエア構成を示すブロック図である。図17では、クライアント1000と印刷装置であるネットワークプリンタ3000とがネットワーク1731を介して接続された構成となっている。クライアント1000ではコンピュータ本体2000に対して外部装置であるキーボード1709、CRT1710、ハードディスク1711等が接続されている。コンピュータ本体2000はCPU1701を備え、CPU1701はROM1703やハードディスク1711に記憶された制御プログラムやアプリケーションをRAM1702に展開して演算を行うことができる。また、外部装置であるキーボード1709からの入力を制御しているのがキーボードコントローラ(KBC)1705である。また、CRT1710の表示を制御しているのがCRTコントローラ(CRTC)1706であり、ハードディスク1711に対して入出力の制御を行っているのがハードディスクコントローラ(HDC)1707である。NetC1はネットワークコントローラであり、ネットワーク1731を介してプリンタ3000に接続されて、プリンタコントローラ部4000との間の通信制御を行っている。
これらCPU1701、RAM1702、ROM1703、KBC1705、CRTC1706、HDC1707、NetC1はそれぞれシステムバス1704によって接続され、各デバイスをCPU1701が総括的に制御している。ハードディスク1711あるいはRAM1702には、ネットワークデバイス、特に本実施形態ではネットワークプリンタのデバイスドライバのインストール状態を示すインストール済みデバイスリストが保存されている。インストール済みデバイスリストは、コンピュータ1000にインストールされたオペレーティングシステムにより提供されるUPnP機能により認識される、デバイスの名称(識別子)、IPアドレス、ドライバ名、アイコンファイル名等が含まれている。これらの情報は、オペレーティングシステムが管理するシステム情報のデータベースであるレジストリから得ることもできる。そこでレジストリを参照しても、デバイスリストと同様の情報を参照できる。すなわち、本実施形態では、インストール済みデバイスリストを持つものとするが、レジストリを用いれば、インストール済みデバイスリストを特別に用意する必用はない。
なお、本実施形態では、クライアントとしてパーソナルコンピュータ(PC)を想定している。しかし、本発明を実施可能な形態であれば、クライアントはPCに限定するものではなく、PDAなどの携帯情報端末や携帯電話、デジタル家電等をクライアントとしてもよい。いずれの装置も、特定用途の入出力デバイス等を除けば、図1のコンピュータ1000と同様の構成を有する。
ネットワークプリンタ3000において、プリンタCPU1721は、ROM1723のプログラム用領域に記憶された制御プログラムを実行する。制御プログラムの実行により、バス1724に接続される各種のデバイスとのアクセスを総括的に制御し印刷部22を介して接続される印刷機構部1728(プリンタエンジン)に印刷データとしての画像信号が出力される。
CPU1721はネットワークコントローラ(NetC)17を介してクライアント1000との通信処理が可能である。通信によりネットワークプリンタ3000内の情報等をクライアント1000に通知可能に構成されている。RAM1722はCPU1721の主メモリ、ワークエリアなどとして機能する。また、RAM1722はクライアント1000より受信した印刷データや画像ビットマップデータを格納しておくための描画メモリ、ビデオ信号情報格納領域、その他としても使用される。ハードディスクコントローラ1727にて制御されるハードディスク1729は印刷ジョブデータのBOX保存などのために使用される。操作パネル1730はユーザがネットワークプリンタ3000を操作する際のユーザインタフェースであり各種スイッチやLED表示機器の他、タッチパネル式の液晶パネルなどで構成される。この操作パネル1730を介して、ユーザはそのプリンタ3000を、ネットワーク1731から切り離して撤去する旨の指示、すなわち永久的に切り離す旨の指示を入力できる。この指示があったことを示す情報はRAM1722に保存されて、プリンタ3000から送信される。なおここでRAM1722に保存された永久に切り離す旨の情報は、ネットワークからの離脱を示すbyeメッセージ(離脱メッセージとも呼ぶ。)の種類を決定する基礎となる。
ハードディスク1729には、プリンタ3000の構成を示す構成情報データベースが保存されている。構成情報データベースは、各種のデータを含むデータベースである。構成情報データベースには、デバイスタイプ情報、サービス情報、デバイスの使用頻度情報、印刷速度情報、カラー印刷機能の有無を示すカラー機能情報、最高解像度情報、両面印刷機能の有無を示す両面機能情報、製造メーカ情報などが含まれている。
なお、ネットワークプリンタ3000は本発明の機能を実施できる装置であればシングルファンクションプリンタでもスキャナやコピー、ファクシミリ等の機能も備えたマルチファンクションプリンタでもよい。印刷機構部1728としてレーザービームプリンタやインクジェットの印刷機構を用いたプリンタ、サーマルプリンタなどいかなるプリント方式を用いていようが、本発明の機能に制限をするものではない。
<PnPシステムの構成>
図1は本発明の一実施形態としてのネットワークプラグアンドプレイシステムの構成を示すブロック図である。図1の構成は図17のハードウエアの上に構築される。図1において、イーサネット(登録商標)コントローラ等のハードウエアデバイスよりも上のレイヤは、RAM1702やRAM1722にロードされたソフトウエアをCPUにより実行することで実現される。
さて、図中、クライアントデバイス100は、本実施形態においては携帯型パーソナルコンピュータである。しかし、ネットワークプラグアンドプレイ機能を備えたコンピューティングデバイス、たとえばPDAや携帯電話等についても、本発明は適用できる。
クライアントデバイス100は、通信機能としてEthernet(登録商標),WiFi(登録商標)(IEEE80.11a/b/g),Bluetooth(登録商標)に対応している。そのためEthernet(登録商標)コントローラ1、WiFiコントローラ2、Bluetoothコントローラ3を備えている。これらコントローラの上位レイヤには、TCP/UDP/IPプロトコルスタック4を備え、そのプロトコルスタック上にHTTP5を備え、HTTPリクエストの解析、およびレスポンス処理を行う。
TCP/UDP/IPプロトコルスタック4、およびHTTP5の上位層にはSimple Object Access Protocol(SOAP)プロセッサ6を備える。WSDモジュール8、およびユーティリティ14、アプリケーション15は、それぞれSOAPプロセッサ20を介してeXtensible Markup Language(XML)で記述されたデータの双方向通信を実現する。なおSOAPとは、ネットワーク経由でオブジェクト間の通信を行うためのプロトコルである。SOAPでは、XMLによって記述されるデータ構造が定義され、転送用のプロトコルとしては、HTTPやSMTPが用いられる。SOAPプロセッサ6は、SOAPにしたがって記述されたオブジェクトを解析(パース)し、処理を実行する。
WSDモジュール8は、Microsoftらがその仕様策定を推進するWS−Discovery仕様に基づき、SOAPプロセッサ6を介してネットワークデバイスから通知されるHelloメッセージに対する応答処理を行う。さらに、WSDモジュール8は、ネットワークデバイス検索のためのProbeメッセージの発行処理を実行する。また、WSDモジュール8は、WS−MetadataExchange仕様に基づき、GetMetadataメッセージを発行することで、ネットワークデバイスの属性情報を取得する。さらに、WS−Discovery仕様に基づき、ネットワークデバイスから通知されるByeメッセージに対する応答処理を実行する。
これらメッセージ処理により、ネットワークデバイスを発見した場合、WSDモジュール8はプラグアンドプレイコントローラ11に対して、発見したネットワークデバイスの属性情報を通知する。プラグアンドプレイコントローラ11は該属性情報をもとに該当するドライバおよびユーティリティソフトウエア12を、デバイスドライバマネージャ10を介してクライアントデバイス100に対してインストールする機能を備える。
一方、ネットワークデバイスのネットワークからの離脱を発見した場合、WSDモジュール8はプラグアンドプレイコントローラ11に対して、離脱を発見したネットワークデバイスのアドレス情報を通知する。プラグアンドプレイコントローラ11はネットワークアドレス情報をもとに該当するドライバ、ユーティリティソフトウエアをドライバマネージャ10を介して、クライアントデバイス100に対してアンインストールを実行する機能を備える。クライアントは、ネットワークデバイスがネットワークに対してブロードキャストする、あるいはホストに対してマルチキャストするByeメッセージの受信により、ネットワークデバイスのネットワークからの離脱を発見することができる。
アプリケーション15は、例えばワードプロセッサなどで編集した書類をプリンタにより印刷する。その際、アプリケーション15は、プラグアンドプレイコントローラ11によりインストールされたドライバおよびユーティリティを介して、ネットワーク対応デバイス200に対してジョブデータ、印刷データを送信する。
一方、ネットワーク対応デバイス200は、本実施の形態ではネットワーク対応型プリンタである。ネットワーク対応デバイス200は、通信機能としてEthernet(登録商標),WiFi(登録商標)(IEEE80.11a/b/g),Bluetooth(登録商標)に対応している。そしてそれぞれEthernet(登録商標)コントローラ16、WiFiコントローラ17により制御される。これらコントローラの上位レイヤには、TCP/UDP/IPプロトコルスタック18を備え、そのプロトコルスタック上にHTTP19を備え、HTTPリクエストの解析、およびレスポンス処理を行う。
TCP/UDP/IPプロトコルスタック18、およびHTTP19の上位層には、SOAPプロセッサ20を備えている。そして、WSDモジュール21、およびプリンタコントローラ22が、それぞれSOAPプロセッサ20を介してeXtensible Markup Language(XML)で記述されたデータの双方向通信を実現する。
ここで、WSDモジュール21は、ネットワークに接続した際に、WS−Discovery仕様に基づき、SOAPプロセッサ20を介してHelloメッセージの送信する。さらにWSDモジュール21はクライアントデバイス100から発行されるProbeメッセージに対する応答処理を実行する。
また、WSDモジュール21は、WS−MetadataExchange仕様に基づき、クライアントデバイス100から発行されたGetMetadataメッセージに応じ、ネットワーク対応デバイス200が持つ属性情報を返信する。本実施形態の場合、ネットワーク対応デバイス200はネットワーク対応プリンタである。さらに、WSDモジュール21は、WS−Discovery仕様に基づき、ネットワークから離脱する際にByeメッセージを送信する。
なお、クライアントデバイス100は、ネットワークに接続されたワイヤレスLANアクセスポイント23を介してEthernet(登録商標)に接続することもできる。
<ネットワークPnPによるデバイスの認識手順>
以下に本発明の制御の流れをフローチャートに従い説明する。以下説明するフローチャートにおいて、「クライアントデバイス100」による処理は主としてWSDモジュール8により実行され、「ネットワーク対応デバイス200」による処理は、主としてWSDモジュール21により実行される。ただし「クライアントデバイス100」による処理には、プラグアンドプレイコントローラ11やデバイスドライバマネージャ10による処理も含まれている。SOAPプロセッサ以下のレイヤにおける処理は、W3Cによる規定に従うものなので、ここでは説明は省略する。
<ネットワークプラグアンドプレイ処理1>
図2は、本実施形態において、ネットワークデバイスに対するプラグアンドプレイ処理をする場合の制御の流れを説明するフローチャートである。また図2に示す手順は、ネットワーク対応デバイスがオンライン状態になった際にイニシアチブをとる手順の例である。
ネットワーク対応デバイス200のWSDモジュール21は、ネットワークに接続されたときに、SOAPプロセッサ20に対してHelloメッセージの送信を要求する。ネットワークに接続されたときとは、たとえば新規なデバイスがネットワークに接続されて通信を開始するとき、あるいは、電源オフの状態から電源オンされてネットワーク上での通信を再開するときなどがある。SOAPプロセッサ20は、WS−Discovery仕様に基づきHelloメッセージを生成し、プロトコルスタックを介してマルチキャストアドレス239.255.255.250に対してマルチキャスト送信する(ステップS1)。
HelloメッセージはXML−SOAPで記述されており、図3にそのメッセージ301のフォーマットの例を示す。Helloメッセージには、送信元のアドレスURI303やデバイスのタイプ302(本例ではプリンタ)、メタデータのバージョン304等の情報を含む。また本実施形態では通信プロトコルはTCP/IPを用いているので、TCPやIPのパケットヘッダにも、送信元のポート番号やIPアドレスが含まれている。これらの情報により、Helloメッセージの受信側装置は、その送信元の装置やそのメッセージの意味を特定できる。
HelloメッセージはTCP/UDP/IPプロトコルスタック4を介して、クライアントデバイス100のSOAPプロセッサ6に通知される。SOAPプロセッサ6は、Helloメッセージを受信するとその内容を解析し、その結果をWSDモジュール8に通知する(ステップS2)。WSDモジュール8は、Helloメッセージを発行したネットワークデバイスの属性情報を取得する。そのために、WSDモジュール8は、SOAPプロセッサ6に対して、Helloメッセージに記述されたアドレスを送信先とするWS−MetadataExchangeで規定されるGetMetadataメッセージの発行を要求する。SOAPプロセッサ6は、WS−MetadataExchange仕様に基づきGetMetadataメッセージを生成する。そして、SOAPプロセッサ6は、生成したメッセージを、TCP/UDP/IPプロトコルスタック4を介してネットワーク対応デバイス200に対してユニキャスト送信する(ステップS3)。GetMetadataメッセージはXML−SOAPで記述されており、図4にそのメッセージフォーマットの例を示す。
ネットワーク対応デバイス200は、クライアントデバイス100からのGetMetadataメッセージを受信する(ステップS4)。受信したGetMetadataメッセージは、TCP/UDP/IPプロトコルスタック18を介して、SOAPプロセッサ20に通知される。SOAPプロセッサ20は、GetMetadataメッセージの内容を解析し、その結果をWSDモジュール21に通知する。WSDモジュール21は、指定された属性情報をクライアントに対して返信するために、SOAPプロセッサ20に対してWS−MetadataExchangeで規定されるGetMetadataResopnseメッセージ発行を要求する。SOAPプロセッサ20は、WS−MetadataExchange仕様に基づきGetMetadataResponseメッセージを生成し、プロトコルスタックを介してクライアントに対してユニキャスト送信する(ステップS5)。GetMetadataResponseメッセージはXML−SOAPで記述されており、図5にそのメッセージフォーマットの例を示す。GetMetadataResponseメッセージ501には、デバイスのモデル名(デバイスのID)503、製造会社名502などのデバイス属性情報が含まれている。
クライアントデバイス100は、ネットワーク対応デバイス200からGetMetadataResponseメッセージを受信する(ステップS6)。受信したGetMetadataResponseメッセージは、TCP/UDP/IPプロトコルスタック4を介して、SOAPプロセッサ6に通知される。GetMetadataResponseメッセージに記述されたデバイスの属性情報は、クライアントデバイス100のSOAPプロセッサ6を介して、デバイス属性情報がWSDモジュール8に通知される。WSDモジュール8は、デバイス属性情報をプラグアンドプレイコントローラ11に対し通知する。デバイス属性情報の通知をうけたプラグアンドプレイコントローラ11は、デバイスドライバマネージャを介してデバイス属性情報に一致するドライバを、記憶装置上より検索し、該当するドライバのインストールを実行する(ステップS7)。デバイス属性情報には、デバイスの製造者名やデバイス名称が含まれる。そのため、インストールするドライバはそれら属性情報から決定できる。なお、デバイスが複数のサービスをサポートする場合には、ドライバもサービス毎にインストールされる。
デバイスドライバのインストール後は、クライアントデバイス100においては、そのデバイスドライバに対応するデバイスを用いた処理を実行可能となる。一方、ネットワーク対応デバイス200も、対応するデバイスドライバがインストールされたクライアントデバイスにより使用可能となる。
<ネットワークプラグアンドプレイ処理2>
図6は、本実施形態において、クライアントデバイス100より、ネットワーク上で利用可能な状態にあるネットワーク対応デバイス200を検索する場合の制御の流れを説明するフローチャートである。
クライアントデバイス100のユーティリティ14、あるいはアプリケーション15は、SOAPプロセッサ6に対してWS−Discovery仕様にて規定されるProbeメッセージの送信を要求する。SOAPプロセッサ6は、WS−Discovery仕様に基づきProbeメッセージを生成し、プロトコルスタックを介してマルチキャストアドレス239.255.255.250に対してマルチキャスト送信する。こうして、Probeメッセージに対するネットワーク対応デバイス200からの応答であるProbe Matchメッセージの有無により検索処理を実現している。
SOAPプロセッサ6は、WS−Discovery仕様で規定されるProbeメッセージをTCP/UDP/IPプロトコルスタックを介してマルチキャストアドレス239.255.255.250に対してマルチキャスト送信する(ステップS8)。Probeメッセージは、XML−SOAPで記述されており、図7にそのメッセージフォーマットの例を示す。Probeメッセージ701には、探索するデバイスのタイプを示すデバイスタイプ702が含まれる。本願では一例として、探索の対象はプリンタとしているので、デバイスタイプ702には、プリンタを示す「PrintBasic」と記述されている。
ネットワーク対応デバイス200は、クライアントデバイス100からProbeメッセージを受信する(ステップS9)。受信したProbeメッセージはTCP/UDP/IPプロトコルスタック16を介して、SOAPプロセッサ20に通知される。SOAPプロセッサ20は、Probeメッセージの内容を解析し、その結果をWSDモジュール21に通知する。WSDモジュール21は、通知されたメッセージの内容(すなわち検索対象)が、このネットワーク対応デバイス200が提供する機能と一致しているか否かを判断する(ステップS10)。一致しないと判断した場合、その情報を無視する。したがって、この場合はネットワーク対応デバイス200からProbe Matchレスポンスが発行されることは無い。
一方、Probeメッセージの探索対象が、ネットワーク対応デバイス200が提供する機能と一致すると判断した場合、WSDモジュール21は、SOAPプロセッサ20に対してProbe Matchメッセージ発行を要求する。SOAPプロセッサ6は、WS−Discovery仕様に基づきProbe Matchメッセージを生成し、プロトコルスタックを介してクライアントに対してユニキャスト送信する(ステップS11)。Probe MatchメッセージはXML−SOAPで記述されており、図8にそのメッセージフォーマットの例を示す。Probe Matchメッセージ801には、応答したデバイスのアドレス(たとえばIPアドレス)が含まれている。
クライアントデバイス100がProbeメッセージを受信すると(ステップS12)、そのメッセージは、TCP/UDP/IPプロトコルスタックを介して、SOAPプロセッサ6に通知される。SOAPプロセッサ6は、Probe Matchメッセージの内容を解析し、その結果をWSDモジュール8に通知する。WSDモジュール8は、Probe Matchメッセージを発行したネットワーク対応デバイス200の属性情報を取得する。そのために、WSDモジュール8は、SOAPプロセッサ6に対してWS−MetadataExchangeで規定されるGetMetadataメッセージ発行を要求する。GetMetadataメッセージの宛先は、Probe Matchメッセージに記述されたネットワーク対応デバイスのアドレスである。SOAPプロセッサ6は、WS−MetadataExchange仕様に基づきGetMetadataメッセージを生成する。そして、SOAPプロセッサ6は、生成したメッセージを、プロトコルスタックを介して、ネットワーク対応デバイス200に対してユニキャスト送信する(ステップS13)。GetMetadataメッセージはXML−SOAPで記述されており、図2の説明において図4に示したものと同一である。
ネットワーク対応デバイス200は、クライアントデバイス100からGetMetadataメッセージを受信する(ステップS14)。受信したGetMetadataメッセージは、TCP/UDP/IPプロトコルスタック18を介して、SOAPプロセッサ20に通知される。SOAPプロセッサ20は、GetMetadataメッセージの内容を解析し、その結果をWSDモジュール21に通知する。WSDモジュール21においては、指定された属性情報をクライアントに対して返信するために、SOAPプロセッサ20に対してWS−MetadataExchangeで規定されるGetMetadataResopnseメッセージ発行を要求する。SOAPプロセッサ20は、WS−MetadataExchange仕様に基づきGetMetadataResponseメッセージを生成し、プロトコルスタックを介してクライアントに対してユニキャスト送信する(ステップS15)。GetMetadataResponseメッセージはXML−SOAPで記述されており、前述の説明において図5に示したものと同一である。
クライアントデバイス100は、ネットワーク対応デバイス200からGetMetadataResponseを受信する(ステップS16)。受信したGetMetadataResponseメッセージはTCP/UDP/IPプロトコルスタック4を介して、SOAPプロセッサ6に通知される。GetMetadataResponseメッセージに記述されたデバイスの属性情報は、クライアントデバイス100のSOAPプロセッサ6を介して、デバイス属性情報がWSDモジュール8に通知される。WSDモジュール8は、デバイス属性情報をプラグアンドプレイコントローラ11に対し通知する。通知をうけたプラグアンドプレイコントローラ11は、デバイスドライバマネージャを介してデバイス属性情報に一致するドライバを、記憶装置上より検索し、該当するドライバのインストールを実行する(ステップS17)。この属性の検索は図2で説明した通りである。
デバイスドライバのインストール後は、クライアントデバイス100においては、そのデバイスドライバに対応するデバイスを用いた処理を実行可能となる。一方、ネットワーク対応デバイス200も、対応するデバイスドライバがインストールされたクライアントデバイスにより使用可能となる。
<デバイスドライバのアンインストール>
ここまでは、標準的なネットワークプラグアンドプレイの手順だが、次に本実施形態において重要なデバイスドライバのアンインストールまでの手順を述べる。その前にまずプリントキュー及びユーザ情報について簡単に説明する。
(プリントキュー)
プリントキューとは、スプールされた印刷データを先入先出順で取り出してプリンタに送信するソフトウエアモジュールである。プリントキューはオペレーティングシステムにより提供される。プリントキューはクライアントにインストールされたプリンタドライバに対応付けられている。ひとつのプリンタドライバに対応付けられるプリントキューはひとつまたは複数である。これは、ひとつのプリントキューはひとつのプリンタに対応しているのに対して、ひとつのプリンタドライバはひとつ又は複数の機種のプリンタに対応しているためである。たとえば複数のプリンタ使用可能であっても、その全てが同一機種であればクライアントにインストールされるドライバはひとつである。
さて、プリンタドライバによるデータ処理を経てスプールされた印刷データは、そのプリンタドライバに対応するプリントキューにより先入先出順でプリンタに対して送信される。プリンタドライバとプリントキューとの対応付けは、本実施形態では、プリンタ(すなわちネットワーク対応デバイス)のアドレスを、プリンタドライバとプリントキューとにそれぞれ対応づけることで実現できる。したがって、たとえばプリンタのアドレスが特定できれば、対応するプリントキューおよびプリンタドライバを特定できる。逆に、プリントキューを特定すれば、対応するプリンタのアドレスから対応するプリンタドライバを特定できる。
さらにプリントキューはデバイスドライバ毎の状態情報を持つ。状態情報には、オフライン状態であることを示すオフライン状態情報が含まれている。その値を「オフライン」に設定することで、そのプリントキューから対応するプリンタに対する印刷ジョブの発行は停止する。再度オフライン状態情報の値を「オンライン」に戻すことで、印刷ジョブの出力を再開する。これらの制御はオペレーティングシステムにより行われているために、オンラインとオフラインの切り替えは、オフライン状態情報の書き替えにより実現される。
図18にプリントキューと状態情報およびプリンタドライバを対応付けるためのプリントキュー情報1801の一例を示す。もちろん図18の様な形式とは限らず、対応付けが可能であればどのような形式であっても良い。関連づけ情報1801はオペレーティングシステムにより管理されるが、オペレーティングシステムがこのようなデータを持たない場合には、WSDモジュール8により管理しても良い。図18においては、プリントキューID1811と、状態情報1812(図ではオフライン状態情報のみ示す。)と、対応するプリンタドライバ識別子1813と、プリンタのアドレス1814とが対応付けられている。
(ユーザ情報)
ユーザ情報もまたオペレーティングシステムにより管理される情報である。図19にその一例を示す。ユーザ情報1901には、ログインしているユーザID1911とその権限情報1912とが関連づけて保存されている。図19の例では、ユーザAは「ゲスト」であり、それぞれ別途指定された権限を有する。権限とは、たとえばファイルへのアクセス権限や、プリンタ等の周辺装置の利用権限等を含む。特に「ゲスト」権限は、あらかじめユーザとして登録されていないユーザによるログインを許可する場合に、そのユーザに対して既定値として割り当てられるユーザ権限である。すなわち、「ゲスト」権限は、一時的な利用者に対して割り当てられることが想定されている。あらかじめユーザ登録されていないユーザがログイン操作を行うと、そのユーザにはゲスト権限が付与され、図19のユーザ情報に、ログインしたユーザIDと「ゲスト」権限であることが登録される。
(アンインストール処理)
さて、クライアントデバイス100がプリントキュー情報及びユーザ情報を持つことを前提として、プリンタドライバをアンインストールする処理の説明を行う。本願ではゲストユーザとしてログインしている状態でインストールしたデバイスドライバが後述のアンインストール対象となる。
デバイスドライバマネージャ10は、ログイン時のユーザ情報を取得する(S2001)。このログインがクライアントデバイス100に対するログインを指す場合は、クライアントデバイス100のオペレーションシステムから現在ログインしているユーザ情報を取得する。つまり、オペレーションシステムは、ユーザごとにゲストかゲストでないかというユーザ管理情報を図21のように保持している。そして、ログイン時に入力されたユーザIDからユーザ属性を判定できる。例えば、現在ログインしたユーザがユーザAであれば、図21よりユーザAはゲストユーザと判定でき、図19のようなユーザ情報が生成される。また、このログインが、普段使用しないネットワーク環境に接続された状態を指すのであれば次のようにユーザ情報を取得する方法が考えられる。例えば、外部システムに一般ユーザ(つまり、ゲスト以外のユーザ)となるMACアドレスを登録しておく。そして、クライアントデバイスがネットワークに接続されると、この外部システムに自分のMACアドレスの有無を問い合わせる。ここで、自分のMACアドレスが外部システムに登録されていれば、現在のネットワークは普段使用しているネットワークと判定し、登録されていなければ、現在のネットワークは一時的に利用しているネットワークと判定できる。
以上の処理を踏まえることで、デバイスマネージャは、ログインしているユーザがゲストユーザであるか否かを判定する(S2002)。つまり、クライアントデバイス100は、ログインしている利用者が一時的利用者であるか否かを判定する。
ここで、ゲストユーザでログインしていないと判定された場合(S2002−No)、クライアントデバイス100は、現在ログインしているユーザを通常ユーザ(ゲスト以外のユーザ)として管理する(S2004)。また、S2002にてゲストユーザでログインしていると判定された場合(S2002−Yes)、クライアントデバイス100は、現在ログインしているユーザをゲストユーザとして管理する(S2003)。
クライアントデバイス100は、WSDモジュール8およびプラグアンドプレイコントローラ11を用いてデバイスドライバのインストールが実行されたか否かを判定する(S2005)。詳細には、現在インストールされているデバイスドライバは図22のように管理している。この図22の情報に新たなデバイスドライバが追加された場合、インストールが実行されたと判定できる。
S2005にてデバイスドライバのインストールが実行されたと判定された場合、クライアントデバイス100は、現在ログインしているユーザがゲストユーザであるか否かを判定する(S2006)。S2006の処理は、S2002の処理結果に基づいて判定することができる。S2006の判定の結果、現在ログインしているユーザがゲストでないと判定された場合、クライアントデバイス100は、S2005にてインストールされたデバイスドライバを通常ドライバとして管理する(S2008)。また、S2006の判定の結果、現在ログインしているユーザがゲストであると判定された場合、クライアントデバイス100は、S2005にてインストールされたデバイスドライバをゲスト用のデバイスドライバとして管理する(S2007)。具体的には、クライアントデバイス100のRAM1702に図22のような形式でデバイスドライバ情報が管理される。なお、S2007にてゲストドライバとしてインストールされたデバイスドライバを管理する場合、次に実行される処理は、図9のS19、図11のS1111、図14のS1311の処理前となる。
ここで、図9について説明する。図9は、本実施形態において、ネットワークデバイスがネットワークから離脱する際の制御の流れを説明するフローチャートである。この手順においては上述したプリントキュー情報1801およびユーザ情報1901が参照される。なお、ステップS19〜ステップS25は、クライアントデバイス100のCPU1701によって実行され、ステップS18およびステップS26はネットワーク対応デバイス2000のCPU1721によって実行される。なお、ステップS19〜ステップS24の処理を実行するクライアントデバイス100は、周辺機器と接続されたコンピュータにより実行されるプログラムを保持する。
ネットワーク対応デバイス200をネットワークから離脱させるために、ユーザはネットワーク対応デバイス200の操作パネル等からシャットダウン操作を行う。その操作をトリガとしてWSDモジュール21は、SOAPプロセッサ20に対してByeメッセージの送信を要求する。SOAPプロセッサ20は、WS−Discovery仕様に基づきByeメッセージを生成し、プロトコルスタックを介してマルチキャストアドレス239.255.255.250に対してマルチキャスト送信する(ステップS18)。ByeメッセージはXML−SOAPで記述されており、図10にそのメッセージフォーマットの例を示す。Byeメッセージ1001にはEndpointReferenceタグに埋め込まれたアドレス情報1002が含まれる。
クライアントデバイス100はネットワーク対応デバイス200からByeメッセージを受信する。受信したByeメッセージは、TCP/UDP/IPプロトコルスタック4を介して、SOAPプロセッサ6に通知される。SOAPプロセッサ6は、Byeメッセージの内容を解析し、その結果をWSDモジュール8に通知する(ステップS19)。クライアントデバイス100は、ステップS19において周辺機器からの離脱メッセージ受信する。
WSDモジュール8は、デバイスのアドレスをプラグアンドプレイコントローラ11に対し通知する。通知をうけたプラグアンドプレイコントローラ11は、デバイスドライバマネージャ10を介してデバイスのアドレスと関連のあるプリントキューを記憶装置上より検索する。この検索は、たとえば図18のプリント情報を参照して行う。通知されたプリンタのアドレスを図18のプリントキュー情報から検索し、発見されたアドレスに対応するプリントキュー識別子(ID)が、目的のプリントキュー識別子(ID)である。
そして、プラグアンドプレイコントローラ11は、該当するプリントキューをオフラインにする(ステップS20)。すなわち、クライアントデバイス100は、発見されたプリントキューのオフライン状態情報1802を「オフライン」とする。なお、このオフライン時の視覚的効果としてプリントキューのアイコンをグレーや半透明にしてユーザーにオフライン状態であることを明確に伝えることも可能である。
さらに、デバイスドライバマネージャ10は、クライアントデバイス100の全ユーザーアカウント情報を探索して、全てのユーザーアカウントがゲストユーザーかどうか調べる(ステップS21)。この調査は、オペレーションシステムから図19のユーザ情報の権限欄1912を取得して参照し、すべてが「ゲスト」であるか判定することで行われる。なお、図19の場合、ログインユーザがユーザAのみであり、ユーザAの属性はゲストとなっている。よって、デバイスドライバマネージャ10は、ステップS21において全てのユーザアカウントがゲストユーザであると判定する。
デバイスドライバマネージャ10が、全てのユーザーアカウントがゲストユーザーであると判定した場合、Byeメッセージの送信元プリンタに対応するデバイスドライバがゲスト用のデバイスドライバであるか否かを判定する(ステップS22)。つまりクライアント100は、受信した離脱メッセージの送信元の周辺機器に対応するデバイスドライバが所定の条件に一致するか否かを判定する。詳細には、図18を用いてByeメッセージの送信元デバイスのアドレスからプリントキューIDを特定する。そして、デバイスドライバマネージャ10は、特定されたプリントキューIDおよび図22の情報を用いて、ゲストユーザによってインストールされたデバイスドライバであるか否かを判定することができる。S22の判定処理により、Byeメッセージの送信元デバイスに対応するデバイスドライバがゲストドライバでない場合、アンインストール対象ではないため通常操作へと処理を移す。一方、S22においてByeメッセージの送信元デバイスに対応するプリンタドライバがゲストドライバであると判定された場合、該プリンタドライバを利用する別のプリンタの有無を判定する(ステップS23)。つまり、ステップS23においてクライアントデバイス100は、Bye要求(離脱メッセージ)を受信した場合に、離脱メッセージ送信元の周辺機器に対応するデバイスドライバが、他の周辺機器のために利用されているかを判定する。そして、ステップS23により、ステップS19にて受信したBye要求の送信元の周辺機器に対応するデバイスドライバが他の周辺機器のために利用されていないと判定された場合、クライアントデバイス100は、デバイスドライバを削除する。具体的には、Byeメッセージの送信元デバイスのアドレスをプリントキュー情報1801から検索する。そして、そのアドレスに対応するプリンタドライバ識別子を読み、そのプリンタドライバ識別子をプリントキュー情報1801から検索する。複数の検索結果が得られれば、そのプリンタと同じデバイスドライバを使用する別のプリントキューが存在すると判定できる(S23−No)。この場合には、そのデバイスドライバは、Byeメッセージの送信元デバイス以外のデバイス用にも利用されている。したがって、そのデバイスドライバは削除してはならない。逆に、Byeメッセージの送信元デバイスに対応するデバイスドライバが、そのByeメッセージの送信元デバイスのみのために使用されており、他のデバイスのために利用されていない場合には、そのドライバはもはや使用されることはないと判定できる。例えば、図18の場合、プリントキュー1のプリンタドライバ識別子は対応プリンタドライバ1である。また、プリントキュー3のプリンタドライバ識別子は対応プリンタドライバ1である。よって、プリントキュー1に対応するアドレスからBye情報を取得した場合、プリントキュー1に対応する対応プリンタドライバ1はプリントキュー3でも使用されているので、プリンタドライバ識別子「対応プリンタドライバ1」に対応するプリンタドライバはアンインストールされない。
デバイスドライバマネージャ10が、前記デバイスのアドレスと関連のあるプリントキューに対応するデバイスドライバを使用する別のプリントキューが存在しないと判定する(ステップS23−YES)。その場合、プラグアンドプレイコントローラ11は、ステップS18にてByeメッセージを送信してきたデバイスに対応するデバイスドライバをアンインストールする(ステップS24)。つまり、クライアントデバイス100は、ステップS22においてデバイスドライバ情報が所定の条件に一致すると判定した場合、離脱メッセージ送信元の周辺機器に対応するデバイスドライバを削除する。
以上説明したステップ18から25までを、ネットワーク対応デバイスがByeメッセージを発行するごとに繰り返し実行する。これにより、クライアントデバイス100は、全ユーザーアカウントがゲストであり、かつデバイスドライバが別のプリントキューで使用されていない場合には、デバイスドライバの自動アンインストールを実行できる。つまり、クライアントデバイス100は、一時的利用者がログインした後にインストールされたデバイスドライバをゲスト用デバイスドライバとして識別可能に記憶する記憶手段を有している。そしてクライアント100は、Bye要求を受信した後、記憶手段の情報に基づいて離脱メッセージの送信元の周辺機器に対応するデバイスドライバが、一時的利用者がログインした後にインストールされたゲスト用デバイスドライバと対応するかを判定する。そしてクライアントデバイス100は、離脱メッセージの送信元の周辺機器に対応するドライバが、一時的利用者がログインした後にインストールされたゲスト用ドライバと対応すると判定した場合、離脱メッセージ送信元の周辺機器に対応するドライバを削除する。なお、本願において一時的利用者とはゲストユーザと同義である。
なお、ステップS21におけるユーザ権限の判定は、そのクライアントの利用方法を判定するために行われる。たとえばウインドウズ(登録商標)オペレーティングシステムの下では、クライアントは通常、特定のユーザに割り当てられ、そのユーザにより専有的に利用される。そのようなユーザはあらかじめクライアントに登録され、「ユーザ」や「パワーユーザ」あるいは「アドミニストレータ(管理者)」権限が付与されている。これに対して、携帯して利用する携帯型クライアントは不特定のユーザに共有されることが多い。このようなクライアントでは、ユーザは「ゲスト」権限でログインしてそのクライアントを利用する。そこで本実施形態では、ログインユーザが「ゲスト」権限を持つ場合、そのクライアントは共用のクライアントであると推定している。そして携帯型共用クライアントは、不特定のネットワークに接続されるために、使用するネットワークデバイスもネットワーク毎に異なる。そこで、本実施形態では、ステップS21の判定の結果、ユーザ権限が「ゲスト」ある場合には、Byeメッセージの送信元デバイスは当該ネットワークにおいて一時的に利用されたデバイスであると判定しても良い。そして、プラグアンドプレイコントローラ11は、Byeメッセージを送信したデバイスに対応するデバイスドライバを削除する。
以上の通り本実施形態のクライアントデバイスは、デバイスからネットワークの離脱メッセージ(Byeメッセージ)を受けると、Byeメッセージを送信したデバイスに対応するデバイスドライバがゲストユーザによってインストールされたか否かを判定する。そして、ゲストユーザによってインストールされたデバイスドライバを自動的に削除する。このため、デバイスドライバの管理の労力を節約することができる。また、クライアント端末の資源の浪費を防止できる。また、ユーザに提示するデバイスの候補から使用できないデバイスドライバを削除できるので、ユーザの操作性を向上させることができる。さらに、ゲストユーザによってインストールされたデバイスドライバを削除するためクライアントの構成を不用意に変更してしまうことがない。さらに、図9のS24では、「他のプリントキューで同じドライバを使用しているか否か」を判定しているため、ユーザが必要とするデバイスドライバを残して、適切なアンインストール処理を実行することができる。
[第2実施形態]
本実施形態では、ネットワーク対応デバイス200の検索機能、およびHelloメッセージ応答に対する具体的手段、およびプラグアンドプレイ処理は第1の実施形態と同様である。クライアントデバイス100は、それぞれフローチャート図2、6に示す手順で処理を実行する。ここまでは、標準的なネットワークプラグアンドプレイの手順だが、次に本実施形態において重要なデバイスドライバのアンインストールまでの手順を述べる。
図11は、本実施形態において、ネットワークデバイスがネットワークから離脱する際の制御の流れを説明するフローチャートである。図11において、図9と同じ内容のステップは同じ参照番号で示す。なお、ステップS1111からステップS1115までの処理はクライアントデバイス100のCPU1701によって実行され、ステップS1101およびステップS1116の処理は、ネットワーク対応デバイス200のCPU1721によって実行される。
ネットワーク対応デバイス200をネットワークから離脱させる際に、ユーザはシャットダウン等の操作を行う。その操作によってネットワーク対応デバイス200がネットワークから離脱する際、WSDモジュール21は、SOAPプロセッサ20に対してByeメッセージの送信を要求する。SOAPプロセッサ20は、WS−Discovery仕様に基づきByeメッセージを生成し、プロトコルスタックを介してマルチキャストアドレス239.255.255.250に対してマルチキャスト送信する(ステップS1101)。この処理は図9のステップS18と同じである。ByeメッセージはXML−SOAPで記述されており、前述の説明において図10に示したものと同一である。
クライアントデバイス100はByeメッセージを受信する。受信されたByeメッセージはTCP/UDP/IPプロトコルスタック4を介して、SOAPプロセッサ6に通知される。SOAPプロセッサ6は、Byeメッセージの内容を解析し、その結果をWSDモジュール8に通知する(ste11111)。この処理はステップS19で示したものと同一である。WSDモジュール8は、デバイスのアドレスをプラグアンドプレイコントローラ11に対し通知する。通知をうけたプラグアンドプレイコントローラ11はデバイスドライバマネージャ10を介してデバイスのアドレスと関連のあるプリントキューを、記憶装置上より検索し、該当するプリントキューをオフラインにする(ステップS1112)。この検索やオフライン処理はステップS20で示したものと同一である。なお、このオフライン時の視覚的効果としてプリントキューのアイコンをグレーや半透明にしてユーザーにオフライン状態であることを明確に伝えることも可能である。
さらに、デバイスドライバマネージャ10は、Byeメッセージの送信元プリンタに対応するデバイスドライバがゲスト用のデバイスドライバであるか否かを判定する(S1113)。なお、S1113の処理は、図9のS22の処理と同様の処理である。Byeメッセージの送信元プリンタに対応するドライバがゲスト用である場合、デバイスドライバマネージャ10は、オフラインになった各プリントキューに対しドライバのアンインストール確認ダイアログ1501(図15)を表示する(ステップS1114)。ここで、表示中に、Byeメッセージの送信元デバイスのデバイス名を表示すると、ユーザがデバイスを識別でき、一層操作性が向上する。ダイアログボックス1501に対してユーザが「はい」ボタン1502を押すことで、デバイスドライバのアンインストールが続行される。「いいえ」1503が押されるとデバイスドライバのアンインストールは中止される。
クライアントデバイス100は、ユーザによってドライバのアンインストールが許可された場合(「はい」が押されたら)、プラグアンドプレイコントローラ11は、Byeメッセージを送信してきたデバイスに対応するドライバがゲスト用であるか判定する。そして、ゲスト用であると判定された場合、プラグアンドプレイコントローラ11は、Byeメッセージの送信元デバイスのデバイスドライバのアンインストールを実行する(ステップS1116)。
つまり、クライアントデバイス100は、Bye要求(離脱メッセージ)を受信することに応じて、離脱メッセージ送信元の周辺機器に対応するデバイスドライバを削除するかを問い合わせる。そして、クライアントデバイス100は、問い合わせに対して削除が指示された場合に、Bye要求の送信元の周辺機器のデバイスドライバを削除する。
Byeメッセージが発行される毎にステップ1111から1115まで繰り返し実行する。これにより、クライアントデバイス100は、デバイスドライバのアンインストールをユーザが許可したときに限り、デバイスドライバの自動アンインストールが実行される。本実施形態では第1実施形態と異なり、アンインストールの継続のために必ずユーザの介入が必要なために、削除するドライバについてユーザの確認を受けることができる。
[第3実施形態]
ネットワーク対応デバイス200の検索機能、およびHelloメッセージ応答に対する具体的手段、およびプラグアンドプレイ処理は第1の実施形態と同様である。ネットワーク対応デバイス200は、フローチャート図2のステップS1,4,5、または図6のステップS9−11,14,15に示す手順で処理を実行する。クライアントデバイス100は、図2のステップS7またはステップS17に続けて、図12の処理を行う。
図12は、本実施形態において、クライアントデバイス100による、ネットワークデバイスに対するプラグアンドプレイ処理直後の制御の流れを説明するフローチャートである。
図2と同一のネットワーク対応デバイス200に対するプラグアンドプレイ処理、もしくは図6と同一のネットワーク対応デバイス200に対する検索処理によって、クライアント100はデバイスドライバをインストールする。
デバイスドライバのインストール後、プラグアンドプレイコントローラ11は、デバイスドライバマネージャ10を介してユーザインターフェースとしてダイアログボックス1601(図16)を表示する(ステップS1201)。このダイアログボックスは、デバイスが不要になった際に、デバイスドライバのアンインストールを自動実行するかどうかを、あらかじめ確認しておくためのユーザインターフェースである。そして、クライアントデバイス100は、どのボタンが押されたか判定する(ステップS1202)。「はい」ボタン1602が押されたと判定した場合、自動アンインストール情報1711aがtrue(真)にセットされて保存される。本例では、CPU2701が、ハードディスク1711に、インストールされたドライバに対応するデバイスのデバイスアドレスと対応付けて保存する(ステップS1203)。たとえば自動アンインストール情報1711aを、図18のプリントキュー情報の1項目として追加しても良い。「いいえ」ボタン1603が押されたと判定した場合、自動アンインストール情報1711aがfalse(偽)にセットされ、保存される。本例では、CPU2701が、ハードディスクにインストールされたドライバに対応するデバイスのデバイスアドレスと対応透けて保存する(ステップS1204)。ステップS1203およびステップS1204にて保存される情報は、もちろんデバイスアドレスと対応付けて保存される。この情報(フラグ)は、デバイスが不要になった際にデバイスドライバのアンインストールを自動実行するかどうか確認するために参照される。このように、デバイスドライバの自動削除を行うか否かを、当該デバイスドライバがインストールされた時点でユーザが選択して、選択結果を保存しておく。
図13は、本実施形態において、ネットワークデバイスがネットワークから離脱する際の制御の流れを説明するフローチャートである。
ネットワーク対応デバイス200をネットワークから離脱させる際に、ユーザはシャットダウン等の操作を行う。その操作によってネットワーク対応デバイス200がネットワークから離脱する際、WSDモジュール21は、SOAPプロセッサ20に対してByeメッセージの送信を要求する。SOAPプロセッサ20は、WS−Discovery仕様に基づきByeメッセージを生成し、プロトコルスタックを介してマルチキャストアドレス239.255.255.250に対してマルチキャスト送信する(ステップS1301)。この処理はステップS18で示したものと同一である。ByeメッセージはXML−SOAPで記述されており、前述の説明において図10に示したものと同一である。
クライアントデバイス100はByeメッセージを受信する。受信されたByeメッセージはTCP/UDP/IPプロトコルスタック4を介して、SOAPプロセッサ6に通知される。SOAPプロセッサ6は、Byeメッセージの内容を解析し、その結果をWSDモジュール8に通知する(ステップS1311)。この処理はステップS19で示したものと同一である。WSDモジュール8は、デバイスのアドレスをプラグアンドプレイコントローラ11に対し通知する。通知をうけたプラグアンドプレイコントローラ11は、デバイスドライバマネージャ10を介してデバイスのアドレスと関連のあるプリントキューを記憶装置上より検索し、該当するプリントキューをオフラインにする(ステップS1312)。この処理はステップS20で示したものと同一である。なお、このオフライン時の視覚的効果としてプリントキューのアイコンをグレーや半透明にしてユーザーにオフライン状態であることを明確に伝えることも可能である。
さらに、デバイスドライバマネージャ10は、Byeメッセージの送信元プリンタに対応するデバイスドライバがゲスト用のデバイスドライバであるか否かを判定する(S1313)。なお、S1313の処理は、図9のS22の処理と同様の処理である。Byeメッセージの送信元プリンタに対応するドライバがゲスト用であると判定された場合、デバイスドライバマネージャ10は、ステップS1203またはステップS1204で設定された自動アンインストール情報1711aを参照する(ステップS1314)。デバイスイドライバマネージャ10は、Byeメッセージの送信元デバイスのアドレスに関連づけられている自動アンインストール情報1711aを参照して、その値を判定する(ステップS1315)。デバイスドライバマネージャ10が、自動アンインストール情報1711aの値がTRUEであると判定した場合、プラグアンドプレイコントローラ11は、S1201のByeメッセージの送信元デバイスに対応するドライバがゲスト用であるか否かを判定する。そして、ゲスト用であると判定された場合、プラグアンドプレイコントローラ11は、当該デバイスドライバのアンインストールを実行する(ステップS1316)。
以上説明した制御をステップ1311から1315まで繰り返し実行する。こうすることで、クライアントデバイス100は、ユーザーがデバイスドライバの自動アンインストールを許可している場合に、デバイスドライバの自動アンインストールを実行できる。しかもその自動アンインストールの許可はデバイス毎に設定可能である。つまり、クライアントデバイス100は、周辺機器に対応するデバイスドライバのインストールの際に、デバイスドライバの自動削除を示す自動削除情報を登録する。そして、クライアントデバイス100は、離脱メッセージを受信した場合に、登録された自動削除情報を参照する。そして、自動削除が可である旨が登録されていた場合に、クライアントデバイス100は、Bye要求の送信元の周辺機器に対応するデバイスドライバを削除する。このため、ゲストユーザがインストールしたデバイスドライバであっても重要なデバイスであり、必要に応じて残しておくべきデバイスドライバを自動アンインストールの対象とせず、それ以外のデバイスは自動アンインストールする、といった設定が可能となる。すなわち、デバイス毎に、そのデバイスのByeメッセージをトリガとする自動アンインストールの可否を設定可能となる。
[第4実施形態]
上述した第1,2,3実施形態において、クライアントデバイス100がデバイスドライバをアンインストールする際の処理の起点は、ネットワーク対応デバイス200が送信するByeメッセージの受信にあった。ところが、クライアントデバイス100が一時的にサスペンドやシャットダウンなどの状態にあってByeメッセージを受信できない場合もある。そのような場合に、ネットワーク対応デバイス200がByeメッセージを送信してきたら、第1,2,3実施形態のクライアントは自動アンインストール処理を実施できない。そこで、クライアントデバイス100がByeメッセージを受信できなかった場合の実施形態を以下に示す。
ネットワーク対応デバイス200の検索機能、およびHelloメッセージ応答に対する具体的手段、およびプラグアンドプレイ処理は第1の実施形態と同様である。クライアントデバイス100は、それぞれフローチャート図2、6に示す手順で処理を実行する。ここまでで、クライアントデバイス100にデバイスドライバのインストールが完了する。またクライアントがネットワーク対応デバイス(プリンタ)からByeメッセージを受信した場合の手順は、第1乃至第3実施形態のいずれかである。すなわち本実施形態は、第1乃至第3実施形態のいずれかに組み合わされてクライアントデバイスに適用される。
次に、クライアントデバイス100はデバイスからのByeメッセージを受信できなかった状態を仮定する。例えば、クライアントデバイス100が一時的にサスペンドしたり、あるいはシャットダウンしたりして、Byeメッセージを受信できない状態に移行する。そしてその後、クライアントデバイス100は再びByeメッセージを受信可能な正常な状態に復帰する。このような状況において、図14は、クライアントデバイス100が、Byeメッセージを受信可能な状態に復帰した直後に、ネットワーク上で利用可能な状態にあるネットワーク対応デバイス200を検索する処理の流れを説明するフローチャートである。
クライアントデバイス100は、サスペンド状態から復帰したり、電源を投入されたりして、Byeメッセージを受信可能な状態に復帰する。その直後、クライアント100のユーティリティ14、あるいはアプリケーション15は、SOAPプロセッサ6に対しWS−Discovery仕様にて規定されるProbeメッセージの送信を要求する。SOAPプロセッサ6は、WS−Discovery仕様に基づきProbeメッセージを生成し、TCP/UDP/IPプロトコルスタックを介してマルチキャストアドレス239.255.255.250に対してマルチキャスト送信する(S1401)。Probeメッセージで探索するデバイスは本例ではプリンタである。
ネットワーク対応デバイス200がProbeメッセージを受信すると(ステップS1411)、受信したProbeメッセージはTCP/UDP/IPプロトコルスタック16を介して、SOAPプロセッサ20に通知される。SOAPプロセッサ20は、Probeメッセージの内容を解析し、その結果をWSDモジュール21に通知する。WSDモジュール21は、通知されたメッセージの内容(デバイスタイプ)とこのネットワーク対応デバイス200が提供する機能が一致しているか否かを判断する(ステップS1412)。WSDモジュール21が、一致しないと判断した場合、その情報を無視する(ステップS1412−NO)。ステップS1412によって一致しないと判断された場合、ネットワーク対応デバイス200からProbe Matchレスポンスが発行されることは無い。
一方、一致すると判断した場合、WSDモジュール21は、SOAPプロセッサ20に対してProbe Matchメッセージ発行を要求する。SOAPプロセッサ6は、WS−Discovery仕様に基づきProbe Matchメッセージを生成し、プロトコルスタックを介してクライアントに対してユニキャスト送信する(ステップS1413)。Probe Matchメッセージ801はXML−SOAPで記述されており、前述の説明において図8に示したものと同一である。
クライアント100は、Probeメッセージの送信後、そのProbeメッセージに対するProbe Matchメッセージを一定時間待つ(ステップS1402)。一定時間内にProbe Matchメッセージを受信した場合、その送信元のデバイスはネットワークに接続されていると判断できる。すなわち、受信したProbe Matchメッセージの有無によりネットワーク対応デバイス200がネットワークから離脱しているかどうか判断する。
すなわち、クライアントデバイス100は、Probe Matchメッセージを受信すると(ステップS1402−Yes)、TCP/UDP/IPプロトコルスタックを介して、そのメッセージはSOAPプロセッサ6に通知される。SOAPプロセッサ6は、受信したProbe Matchメッセージの内容を解析し、その結果をWSDモジュール8に通知する。
クライアントデバイス100が所定時間内に受信したProbe Matchメッセージの送信元デバイスの識別情報(たとえばアドレス)は、WSDモジュール8からプラグアンドプレイコントローラ11に対し通知される。デバイスのアドレスの通知をうけたプラグアンドプレイコントローラ11は、デバイスドライバマネージャ10を介して、通知されたアドレスに該当しないプリントキューを、プリントキュー情報1801から検索する(ステップS1402)。プラグアンドプレイコントローラ11は、検索の結果発見されたプリントキューをオフラインにする(ステップS1403)。つまり、プラグアンドプレイコントローラ11は、Probe Matchメッセージを送信してこなかったネットワーク対応デバイスを特定して、対応するプリントキューをオフラインにする。このオフライン時の視覚的効果としてプリントキューのアイコンをグレーや半透明にしてユーザーにオフライン状態であることを明確に伝えることも可能である。
デバイスドライバマネージャ10は、Byeメッセージの送信元プリンタに対応するデバイスドライバがゲスト用のデバイスドライバであるか否かを判定する(S1404)。なお、S1404の処理は、図9のS22の処理と同様の処理である。Byeメッセージの送信元プリンタに対応するドライバがゲスト用であると判定された場合、プラグアンドプレイコントローラ11は、ステップ1403でオフラインにしたプリントキューに対応するドライバをアンインストールする(S1404)。なお、ステップS1404においてドライバがアンインストールされてしまうので、ステップS1403は省略可能である。
以上のようにして、ステップS1401からステップS1404までを実行する。こうしてクライアントデバイス100は、ネットワーク対応デバイス200が送信したByeメッセージを受信できない場合であっても、接続されていないデバイスに対応するデバイスドライバの自動アンインストールが実行可能となる。つまり、クライアントデバイス100が、ネットワークに接続された際に、ネットワーク上の所定条件に該当する周辺機器の存在を問い合わせるプローブメッセージを送信する。そして、クライアントデバイス100は、プローブメッセージに対する応答を受信する。ここで、クライアントデバイス100は、既にインストールされており、かつ、プローブメッセージに対する応答がない周辺機器に対応するデバイスドライバを削除する。
以上のとおり、ゲストユーザーが利用するノートパソコン、PDA、携帯電話といった情報処理装置にネットワークPnP機能でインストールされたソフトウエアを、それが不要な場合には自動的に削除することができる。その結果、実際に使うことのでるドライバ、ユーティリティ、アプリケーションなどのソフトウエアが残されることになり、使用上の利便性が大いに向上する。また、ユーザーにとって利用不可能なドライバ、ユーティリティ、アプリケーション等のソフトウエアにより、情報処理装置のメモリ等のハードウェア資源が消費されることを防止することが可能となる。
[その他の実施形態]
上述した実施形態においては、ネットワークデバイスの検索手段、およびネットワークデバイスがネットワークに参加したことを通知する手段としてWS−Discoveryで定義されるプロトコルを採用している。しかし、この限りではなく例えばUPnP(tm) v1で規定されるSSDP(Simple Service Discovery Protocol)。さらに、GENA(General Event Notification Architecture)などを利用することでも実現可能である。ネットワークデバイスの検索プロトコルとしては、ネットワークデバイスの属性情報を取得するためのアドレスネットワークデバイスを制御するための送信先を取得することが可能であるプロトコルであれば、いずれのプロトコルであっても適用可能である。
また上述した実施形態においては、通信媒体としてEthernet(登録商標),WiFi(登録商標)(ワイヤレス通信 IEEE802.1a/b/g)、およびBluetooth(登録商標)を利用して実現している。これに対して、本発明は、デバイスの発見、およびデバイスが機能実行を開始したことを通知することが可能な通信媒体であれば、ローカルI/O、ネットワークのいずれの場合も適用可能である。
また上述した実施形態においては、プラグアンドプレイの一例として、発見したネットワークデバイスに対応したドライバのインストールおよびアンインストールを説明している。これに加えて、ネットワークデバイスを利用、制御するために必要なユーティリティ、アプリケーションなどをクライアントデバイス100への自動的なインストールおよびアンインストールにも適用可能である。
また、上述した実施形態においてネットワークデバイスとしてプリンタに対する実装例を示したが、通信媒体を介して利用、制御可能なデバイスであれば、スキャナ、ストレージデバイス等、いずれのデバイスに対しても適用可能である。
また、上述した実施形態においては、各実施形態を単独で実施することはもちろん、複数の実施形態を組み合わせて実施してもかまわない。
また、上述した実施形態においては、ネットワークデバイスがプリンタの場合、デバイスドライバをアンインストールしている。これに対して、文字通りプリンタドライバをアンインストールするだけでなく、プリントキューを削除するがプリンタドライバはアンインストールしなくともよい。このようにすれば処理負担を軽減できるし、また、再度同じドライバをインストールする必要がなくなる。
また、上述した実施形態においては、クライアントデバイス100によりネットワークデバイスを制御するためのドライバ、アプリケーション、ユーティリティなどのソフトウエアは、メモリやハードディスク上に保持する場合が多い。しかし、その他にもネットワークデバイス上に保持されている場合、あるいは第3のサーバー上に保持されている場合などにも適用可能である。
また、上述した実施形態においては、ネットワーク環境を識別するための情報として、DHCP Enabled、IP Address、Subnet Mask、Default Gateway、DNS Server、DHCP Server
を利用したTCP/IPネットワークにおける実施形態を示した。これに限らず、一義的に他のネットワーク環境と識別することが可能ないずれの情報に対しても、本発明を適用することが可能である。
また、上述した実施形態におけるクライアントデバイス100及びネットワーク対応デバイス200における各処理機能は、各処理機能を実現する為のプログラムをメモリから読み出してCPU(中央演算装置)が実行することによりその機能を実現させる。しかしこれに限定さるものではなく、各処理機能の全部または一部の機能を専用のハードウェアにより実現してもよい。また、上述したメモリは、光磁気ディスク装置、フラッシュメモリ等の不揮発性のメモリである。さらに、メモリは、CD−ROM等の読み出しのみが可能な記録媒体、RAM以外の揮発性のメモリ、あるいはこれらの組合せによるコンピュータ読み取り、書き込み可能な記録媒体より構成されてもよい。
また、クライアントデバイス100及びネットワーク対応デバイス200内の各機能を実現する為のプログラムをコンピュータ読み取り可能な記録媒体に記録して、記録されたプログラムをコンピュータに読み込ませて実行することにより各処理を行っても良い。なお、ここでいう「コンピュータ」とは、OSや周辺機器等のハードウェアを含むものとする。具体的には、記憶媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書きこまれる。その後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含む。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバーやクライアントとなるコンピュータシステム内部の揮発メモリ(RAM)である。このように、一定時間プログラムを保持しているものも含むものとする。
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。
また、上記プログラムは、前述した機能の一部を実現する為のものであっても良い。さらに、前述した機能をコンピュータシステムに既に記録されているプログラムとの組合せで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。
また、上記のプログラムを記録したコンピュータ読み取り可能な記録媒体等のプログラムプロダクトも本発明の実施形態として適用することができる。上記のプログラム、記録媒体、伝送媒体およびプログラムプロダクトは、本発明の範疇に含まれる。
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
本発明の一実施形態におけるネットワークプラグアンドプレイシステムの概略構成を示すブロック図である。 ネットワークデバイスに対するプラグアンドプレイ処理の流れを示すフローチャートである。 WS−Discovery仕様で定義されるHelloメッセージフォーマットを示す図 WS−MetadataExchange仕様で定義されるGetMetadataメッセージフォーマットを示す図である。 WS−MetadataExchange仕様で定義されるGetMetadataResponseメッセージフォーマットを示す図である。 ネットワーク対応デバイスを検索、発見する制御の流れを示すフローチャートである。 WS−Discovery仕様で定義されるProbeメッセージフォーマットを示す図である。 WS−Discovery仕様で定義されるProbe Matchesメッセージフォーマットを示す図である。 第一の実施形態にける、ネットワーク対応デバイスがネットワークから離脱する際の制御の流れを示すフローチャートである。 WS−Discovery仕様で定義されるByeメッセージフォーマットを示す図である。 第二の実施形態にける、ネットワーク対応デバイスがネットワークから離脱する際の制御の流れを示すフローチャートである。 第三の実施形態にける、ネットワークデバイスに対するプラグアンドプレイ処理後の流れを示すフローチャートである。 第三の実施形態にける、ネットワーク対応デバイスがネットワークから離脱する際の制御の流れを示すフローチャートである。 第四の実施形態にける、クライアントデバイスがByeメッセージを受信可能な状態に復帰直後の制御の流れを示すフローチャートである。 デバイスドライバの削除の実行を確認するダイアログボックスの一例を示す図である。 デバイスが不要になったときにデバイスドライバを自動削除するかどうか確認するダイアログボックスの一例を示す図である。 プリントシステムのハードウエアブロック図である。 プリントキュー情報の一例を示す図である。 ユーザ情報の一例を示す図である。 クライアントデバイスにおける処理フローチャートを示す図である。 本願におけるユーザを管理するための情報の一例を示す図である。 本願におけるクライアントデバイスにインストールされているデバイスドライバを管理する一例を示す図である。
符号の説明
1 Ethenetコントローラ
2 Wi−Fiコントローラ
3 Bluetooth(登録商標)コントローラ
4 TCP/UDP/IPプロトコルスタック
5 HTTP
6 SOAPプロセッサ
8 WSDモジュール
10 デバイスドライバマネージャ
11 プラグアンドプレイコントローラ
12 デバイスドライバ・ユーティリティ
14 ユーティリティ
15 アプリケーション
16 Bluetooth(登録商標)コントローラ
17 Ethenetコントローラ
18 TCP/UDP/IPプロトコルスタック
19 HTTP
20 SOAPプロセッサ
21 WSDモジュール
22 プリンタコントローラ

Claims (21)

  1. 周辺機器と接続されたコンピュータにより実行されるプログラムであって、
    周辺機器からの離脱メッセージを受信する受信手段と、
    前記受信手段により受信した離脱メッセージの送信元の周辺機器に対応するデバイスドライバが所定の条件に一致するか否かを判定する判定手段と、
    前記判定手段により前記デバイスドライバ情報が前記所定の条件に一致すると判定された場合、該離脱メッセージ送信元の周辺機器に対応するデバイスドライバを削除する削除手段と
    を備えることを特徴とするプログラム。
  2. 前記コンピュータは、一時的利用者がログインした後にインストールされたデバイスドライバをゲスト用デバイスドライバとして識別可能に記憶する記憶手段を有しており、
    前記判定手段は、前記受信手段により離脱メッセージを受信した場合に、前記記憶手段に記憶されている情報に基づいて、前記離脱メッセージの送信元の周辺機器に対応するデバイスドライバが、前記一時的利用者がログインした後にインストールされたゲスト用のデバイスドライバと対応するか否かを判定し、
    前記削除手段は、前記判定手段によって離脱メッセージの送信元の周辺機器に対応するデバイスドライバが、前記一時的利用者がログインした後にインストールされたゲスト用のデバイスドライバと対応すると判定された場合、前記離脱メッセージ送信元の周辺機器に対応するデバイスドライバを削除することを特徴とする請求項1に記載のプログラム。
  3. 前記コンピュータにログインしている利用者が一時的利用者であるか否かを判定する利用者判定手段を更に有することを特徴とする請求項2に記載のプログラム。
  4. 前記受信手段により離脱メッセージを受信した場合に、前記離脱メッセージ送信元の周辺機器に対応するデバイスドライバが、他の周辺機器のために利用されているかを判定する利用状況判定手段を更に有し、
    前記削除手段は、前記利用状況判定手段により前記デバイスドライバが他の周辺機器のために利用されていないと判定された場合に前記デバイスドライバを削除することを特徴とする請求項1乃至3のいずれか1項に記載のプログラム。
  5. 前記受信手段により離脱メッセージを受信することに応じて、前記離脱メッセージ送信元の周辺機器に対応するデバイスドライバを削除するかを問い合わせる問い合わせ手段を更に有し、
    前記削除手段は、前記問い合わせ手段の問い合わせに対して削除が指示された場合に、前記デバイスドライバを削除することを特徴とする請求項1乃至4のいずれか1項に記載のプログラム。
  6. 周辺機器に対応するデバイスドライバのインストールの際に、該デバイスドライバの自動削除を示す自動削除情報を登録する登録手段をさらに備え、
    前記削除手段は、前記受信手段により離脱メッセージを受信した場合に、前記登録手段により登録された自動削除情報を参照し、自動削除が可である旨が登録されていた場合に、前記デバイスドライバを削除することを特徴とする請求項1乃至5のいずれか1項に記載のプログラム。
  7. 前記コンピュータがネットワークに接続された際に、該ネットワーク上の所定条件に該当する周辺機器の存在を問い合わせるプローブメッセージを送信する手段と、
    前記プローブメッセージに対する応答を受信する手段を有し、
    前記削除手段は、前記コンピュータに既にインストールされており、かつ、前記プローブメッセージに対する応答がない周辺機器に対応するデバイスドライバを削除すことを特徴とする請求項1乃至6のいずれか1項に記載のプログラム。
  8. 周辺機器と接続された情報処理装置であって、
    周辺機器からの離脱メッセージを受信する受信手段と、
    前記受信手段により受信した離脱メッセージの送信元の周辺機器に対応するデバイスドライバが所定の条件に一致するか否かを判定する判定手段と、
    前記判定手段により前記デバイスドライバ情報が前記所定の条件に一致すると判定された場合、該離脱メッセージ送信元の周辺機器に対応するデバイスドライバを削除する削除手段と
    を備えることを特徴とする情報処理装置。
  9. 一時的利用者がログインした後にインストールされたデバイスドライバをゲスト用デバイスドライバとして識別可能に記憶する記憶手段を更に備え、
    前記判定手段は、前記受信手段により離脱メッセージを受信した場合に、前記記憶手段に記憶されている情報に基づいて、前記離脱メッセージの送信元の周辺機器に対応するデバイスドライバが、前記一時的利用者がログインした後にインストールされたゲスト用のデバイスドライバと対応するか否かを判定し、
    前記削除手段は、前記判定手段によって離脱メッセージの送信元の周辺機器に対応するデバイスドライバが、前記一時的利用者がログインした後にインストールされたゲスト用のデバイスドライバと対応すると判定された場合、前記離脱メッセージ送信元の周辺機器に対応するデバイスドライバを削除することを特徴とする請求項8に記載の情報処理装置。
  10. ログインしている利用者が一時的利用者であるか否かを判定する利用者判定手段を更に有することを特徴とする請求項9に記載の情報処理装置。
  11. 前記受信手段により離脱メッセージを受信した場合に、前記離脱メッセージ送信元の周辺機器に対応するデバイスドライバが、他の周辺機器のために利用されているかを判定する利用状況判定手段を更に有し、
    前記削除手段は、前記利用状況判定手段により前記デバイスドライバが他の周辺機器のために利用されていないと判定された場合に前記デバイスドライバを削除することを特徴とする請求項8乃至10のいずれか1項に記載の情報処理装置。
  12. 前記受信手段により離脱メッセージを受信することに応じて、前記離脱メッセージ送信元の周辺機器に対応するデバイスドライバを削除するかを問い合わせる問い合わせ手段を更に有し、
    前記削除手段は、前記問い合わせ手段の問い合わせに対して削除が指示された場合に、前記デバイスドライバを削除することを特徴とする請求項8乃至11のいずれか1項に記載の情報処理装置。
  13. 周辺機器に対応するデバイスドライバのインストールの際に、該デバイスドライバの自動削除を示す自動削除情報を登録する登録手段をさらに備え、
    前記削除手段は、前記受信手段により離脱メッセージを受信した場合に、前記登録手段により登録された自動削除情報を参照し、自動削除が可である旨が登録されていた場合に、前記デバイスドライバを削除することを特徴とする請求項8乃至12のいずれか1項に記載の情報処理装置。
  14. 前記コンピュータがネットワークに接続された際に、該ネットワーク上の所定条件に該当する周辺機器の存在を問い合わせるプローブメッセージを送信する手段と、
    前記プローブメッセージに対する応答を受信する手段を有し、
    前記削除手段は、前記コンピュータに既にインストールされており、かつ、前記プローブメッセージに対する応答がない周辺機器に対応するデバイスドライバを削除すことを特徴とする請求項8乃至13のいずれか1項に記載の情報処理装置。
  15. 周辺機器と接続された情報処理装置の制御方法であって、
    周辺機器からの離脱メッセージを受信する受信工程と、
    前記受信工程により受信した離脱メッセージの送信元の周辺機器に対応するデバイスドライバが所定の条件に一致するか否かを判定する判定工程と、
    前記判定工程により前記デバイスドライバ情報が前記所定の条件に一致すると判定された場合、該離脱メッセージ送信元の周辺機器に対応するデバイスドライバを削除する削除工程と
    を備えることを特徴とする情報処理装置の制御方法。
  16. 一時的利用者がログインした後にインストールされたデバイスドライバをゲスト用デバイスドライバとして識別可能に記憶する記憶工程を更に備え、
    前記判定工程は、前記受信工程により離脱メッセージを受信した場合に、前記記憶工程に記憶されている情報に基づいて、前記離脱メッセージの送信元の周辺機器に対応するデバイスドライバが、前記一時的利用者がログインした後にインストールされたゲスト用のデバイスドライバと対応するか否かを判定し、
    前記削除工程は、前記判定工程によって離脱メッセージの送信元の周辺機器に対応するデバイスドライバが、前記一時的利用者がログインした後にインストールされたゲスト用のデバイスドライバと対応すると判定された場合、前記離脱メッセージ送信元の周辺機器に対応するデバイスドライバを削除することを特徴とする請求項15に記載の情報処理装置の制御方法。
  17. ログインしている利用者が一時的利用者であるか否かを判定する利用者判定工程を更に有することを特徴とする請求項16に記載の情報処理装置の制御方法。
  18. 前記受信工程により離脱メッセージを受信した場合に、前記離脱メッセージ送信元の周辺機器に対応するデバイスドライバが、他の周辺機器のために利用されているかを判定する利用状況判定工程を更に有し、
    前記削除工程は、前記利用状況判定工程により前記デバイスドライバが他の周辺機器のために利用されていないと判定された場合に前記デバイスドライバを削除することを特徴とする請求項15乃至17のいずれか1項に記載の情報処理装置の制御方法。
  19. 前記受信工程により離脱メッセージを受信することに応じて、前記離脱メッセージ送信元の周辺機器に対応するデバイスドライバを削除するかを問い合わせる問い合わせ工程を更に有し、
    前記削除工程は、前記問い合わせ工程の問い合わせに対して削除が指示された場合に、前記デバイスドライバを削除することを特徴とする請求項15乃至18のいずれか1項に記載の情報処理装置の制御方法。
  20. 周辺機器に対応するデバイスドライバのインストールの際に、該デバイスドライバの自動削除を示す自動削除情報を登録する登録工程をさらに備え、
    前記削除工程は、前記受信工程により離脱メッセージを受信した場合に、前記登録工程により登録された自動削除情報を参照し、自動削除が可である旨が登録されていた場合に、前記デバイスドライバを削除することを特徴とする請求項15乃至19のいずれか1項に記載の情報処理装置の制御方法。
  21. 前記コンピュータがネットワークに接続された際に、該ネットワーク上の所定条件に該当する周辺機器の存在を問い合わせるプローブメッセージを送信する工程と、
    前記プローブメッセージに対する応答を受信する工程を有し、
    前記削除工程は、前記コンピュータに既にインストールされており、かつ、前記プローブメッセージに対する応答がない周辺機器に対応するデバイスドライバを削除すことを特徴とする請求項15乃至20のいずれか1項に記載の情報処理装置の制御方法。
JP2005320010A 2005-11-02 2005-11-02 情報処理装置及び情報処理方法及びそのプログラム Expired - Fee Related JP4865299B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2005320010A JP4865299B2 (ja) 2005-11-02 2005-11-02 情報処理装置及び情報処理方法及びそのプログラム
US11/554,692 US7756955B2 (en) 2005-11-02 2006-10-31 Information processing apparatus, information processing method, and program thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005320010A JP4865299B2 (ja) 2005-11-02 2005-11-02 情報処理装置及び情報処理方法及びそのプログラム

Publications (3)

Publication Number Publication Date
JP2007128260A true JP2007128260A (ja) 2007-05-24
JP2007128260A5 JP2007128260A5 (ja) 2008-12-18
JP4865299B2 JP4865299B2 (ja) 2012-02-01

Family

ID=37998135

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005320010A Expired - Fee Related JP4865299B2 (ja) 2005-11-02 2005-11-02 情報処理装置及び情報処理方法及びそのプログラム

Country Status (2)

Country Link
US (1) US7756955B2 (ja)
JP (1) JP4865299B2 (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009288937A (ja) * 2008-05-28 2009-12-10 Brother Ind Ltd インストールシステムおよびプログラム
JP2009296128A (ja) * 2008-06-03 2009-12-17 Canon Inc 情報処理装置、情報処理装置の制御方法及びコンピュータプログラム
JP2011076227A (ja) * 2009-09-29 2011-04-14 Canon Inc 情報処理装置及びその方法
KR101324188B1 (ko) * 2008-07-01 2013-11-07 삼성전자주식회사 화상형성장치, 호스트 클라이언트, 화상형성시스템 및화상형성시스템의 관리방법
KR101391750B1 (ko) * 2013-08-13 2014-06-19 삼성전자주식회사 화상형성장치, 호스트 클라이언트, 화상형성시스템 및 화상형성시스템의 관리방법
JP2014170549A (ja) * 2007-10-05 2014-09-18 Canon Inc 情報処理装置および制御方法および制御プログラム
JP2020087295A (ja) * 2018-11-30 2020-06-04 キヤノン株式会社 情報処理装置および制御方法およびプログラム

Families Citing this family (114)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6658091B1 (en) 2002-02-01 2003-12-02 @Security Broadband Corp. LIfestyle multimedia security system
US7649639B2 (en) * 2004-03-12 2010-01-19 Fuji Xerox Co., Ltd. Device usage limiting method, apparatus and program
US8963713B2 (en) 2005-03-16 2015-02-24 Icontrol Networks, Inc. Integrated security network with security alarm signaling system
US11677577B2 (en) 2004-03-16 2023-06-13 Icontrol Networks, Inc. Premises system management using status signal
US11582065B2 (en) 2007-06-12 2023-02-14 Icontrol Networks, Inc. Systems and methods for device communication
US10444964B2 (en) 2007-06-12 2019-10-15 Icontrol Networks, Inc. Control system user interface
US10375253B2 (en) 2008-08-25 2019-08-06 Icontrol Networks, Inc. Security system with networked touchscreen and gateway
US9609003B1 (en) 2007-06-12 2017-03-28 Icontrol Networks, Inc. Generating risk profile using data of home monitoring and security system
US11201755B2 (en) 2004-03-16 2021-12-14 Icontrol Networks, Inc. Premises system management using status signal
US11190578B2 (en) 2008-08-11 2021-11-30 Icontrol Networks, Inc. Integrated cloud system with lightweight gateway for premises automation
US11343380B2 (en) 2004-03-16 2022-05-24 Icontrol Networks, Inc. Premises system automation
US9191228B2 (en) 2005-03-16 2015-11-17 Icontrol Networks, Inc. Cross-client sensor user interface in an integrated security network
US10522026B2 (en) 2008-08-11 2019-12-31 Icontrol Networks, Inc. Automation system user interface with three-dimensional display
US11316958B2 (en) 2008-08-11 2022-04-26 Icontrol Networks, Inc. Virtual device systems and methods
US8988221B2 (en) 2005-03-16 2015-03-24 Icontrol Networks, Inc. Integrated security system with parallel processing architecture
US11916870B2 (en) 2004-03-16 2024-02-27 Icontrol Networks, Inc. Gateway registry methods and systems
US10382452B1 (en) 2007-06-12 2019-08-13 Icontrol Networks, Inc. Communication protocols in integrated systems
US10200504B2 (en) 2007-06-12 2019-02-05 Icontrol Networks, Inc. Communication protocols over internet protocol (IP) networks
US8635350B2 (en) 2006-06-12 2014-01-21 Icontrol Networks, Inc. IP device discovery systems and methods
US11113950B2 (en) 2005-03-16 2021-09-07 Icontrol Networks, Inc. Gateway integrated with premises security system
US20090077623A1 (en) 2005-03-16 2009-03-19 Marc Baum Security Network Integrating Security System and Network Devices
US10237237B2 (en) 2007-06-12 2019-03-19 Icontrol Networks, Inc. Communication protocols in integrated systems
US11811845B2 (en) 2004-03-16 2023-11-07 Icontrol Networks, Inc. Communication protocols over internet protocol (IP) networks
US9531593B2 (en) 2007-06-12 2016-12-27 Icontrol Networks, Inc. Takeover processes in security network integrated with premise security system
US10348575B2 (en) 2013-06-27 2019-07-09 Icontrol Networks, Inc. Control system user interface
US11159484B2 (en) 2004-03-16 2021-10-26 Icontrol Networks, Inc. Forming a security network including integrated security system components and network devices
JP2007529826A (ja) 2004-03-16 2007-10-25 アイコントロール ネットワークス, インコーポレイテッド 対象事項管理ネットワーク
US11277465B2 (en) 2004-03-16 2022-03-15 Icontrol Networks, Inc. Generating risk profile using data of home monitoring and security system
US10339791B2 (en) 2007-06-12 2019-07-02 Icontrol Networks, Inc. Security network integrated with premise security system
US10142392B2 (en) 2007-01-24 2018-11-27 Icontrol Networks, Inc. Methods and systems for improved system performance
US11368429B2 (en) 2004-03-16 2022-06-21 Icontrol Networks, Inc. Premises management configuration and control
US20170118037A1 (en) 2008-08-11 2017-04-27 Icontrol Networks, Inc. Integrated cloud system for premises automation
US10721087B2 (en) 2005-03-16 2020-07-21 Icontrol Networks, Inc. Method for networked touchscreen with integrated interfaces
US11489812B2 (en) 2004-03-16 2022-11-01 Icontrol Networks, Inc. Forming a security network including integrated security system components and network devices
US9141276B2 (en) 2005-03-16 2015-09-22 Icontrol Networks, Inc. Integrated interface for mobile device
US9729342B2 (en) 2010-12-20 2017-08-08 Icontrol Networks, Inc. Defining and implementing sensor triggered response rules
US10313303B2 (en) 2007-06-12 2019-06-04 Icontrol Networks, Inc. Forming a security network including integrated security system components and network devices
US10156959B2 (en) 2005-03-16 2018-12-18 Icontrol Networks, Inc. Cross-client sensor user interface in an integrated security network
US7711796B2 (en) 2006-06-12 2010-05-04 Icontrol Networks, Inc. Gateway registry methods and systems
US11244545B2 (en) 2004-03-16 2022-02-08 Icontrol Networks, Inc. Cross-client sensor user interface in an integrated security network
JP4498045B2 (ja) * 2004-07-22 2010-07-07 キヤノン株式会社 画像処理装置及びその制御方法及びプログラム
US11496568B2 (en) 2005-03-16 2022-11-08 Icontrol Networks, Inc. Security system with networked touchscreen
US20120324566A1 (en) 2005-03-16 2012-12-20 Marc Baum Takeover Processes In Security Network Integrated With Premise Security System
US9306809B2 (en) 2007-06-12 2016-04-05 Icontrol Networks, Inc. Security system with networked touchscreen
US9450776B2 (en) 2005-03-16 2016-09-20 Icontrol Networks, Inc. Forming a security network including integrated security system components
US10999254B2 (en) 2005-03-16 2021-05-04 Icontrol Networks, Inc. System for data routing in networks
US20170180198A1 (en) 2008-08-11 2017-06-22 Marc Baum Forming a security network including integrated security system components
US11615697B2 (en) 2005-03-16 2023-03-28 Icontrol Networks, Inc. Premise management systems and methods
US11700142B2 (en) 2005-03-16 2023-07-11 Icontrol Networks, Inc. Security network integrating security system and network devices
US20110128378A1 (en) 2005-03-16 2011-06-02 Reza Raji Modular Electronic Display Platform
JP4756994B2 (ja) * 2005-10-27 2011-08-24 キヤノン株式会社 ネットワークプリントシステム及びネットワーク周辺装置及び情報処理装置とプログラム
JP4865299B2 (ja) 2005-11-02 2012-02-01 キヤノン株式会社 情報処理装置及び情報処理方法及びそのプログラム
US8850077B2 (en) * 2006-06-07 2014-09-30 Xerox Corporation USB portable document services environment
US10079839B1 (en) 2007-06-12 2018-09-18 Icontrol Networks, Inc. Activation of gateway device
JP2008158785A (ja) * 2006-12-22 2008-07-10 Toshiba Corp デバイスの接続方法、情報処理装置、及びデバイス接続用プログラム
US11706279B2 (en) 2007-01-24 2023-07-18 Icontrol Networks, Inc. Methods and systems for data communication
US8544064B2 (en) * 2007-02-09 2013-09-24 Sony Corporation Techniques for automatic registration of appliances
US7633385B2 (en) 2007-02-28 2009-12-15 Ucontrol, Inc. Method and system for communicating with and controlling an alarm system from a remote server
US8107469B2 (en) 2007-03-15 2012-01-31 Microsoft Corporation Enabling routing of data on a network based on a portion of data accessed from a non-network enabled device
US20080225869A1 (en) * 2007-03-15 2008-09-18 Microsoft Corporation Enabling sharing of devices on a network
US8451986B2 (en) 2007-04-23 2013-05-28 Icontrol Networks, Inc. Method and system for automatically providing alternate network access for telecommunications
US10389736B2 (en) 2007-06-12 2019-08-20 Icontrol Networks, Inc. Communication protocols in integrated systems
US11316753B2 (en) 2007-06-12 2022-04-26 Icontrol Networks, Inc. Communication protocols in integrated systems
US10616075B2 (en) 2007-06-12 2020-04-07 Icontrol Networks, Inc. Communication protocols in integrated systems
US12003387B2 (en) 2012-06-27 2024-06-04 Comcast Cable Communications, Llc Control system user interface
US10423309B2 (en) 2007-06-12 2019-09-24 Icontrol Networks, Inc. Device integration framework
US11601810B2 (en) 2007-06-12 2023-03-07 Icontrol Networks, Inc. Communication protocols in integrated systems
US11423756B2 (en) 2007-06-12 2022-08-23 Icontrol Networks, Inc. Communication protocols in integrated systems
US11212192B2 (en) 2007-06-12 2021-12-28 Icontrol Networks, Inc. Communication protocols in integrated systems
US10051078B2 (en) * 2007-06-12 2018-08-14 Icontrol Networks, Inc. WiFi-to-serial encapsulation in systems
US10666523B2 (en) 2007-06-12 2020-05-26 Icontrol Networks, Inc. Communication protocols in integrated systems
US10523689B2 (en) 2007-06-12 2019-12-31 Icontrol Networks, Inc. Communication protocols over internet protocol (IP) networks
US11237714B2 (en) 2007-06-12 2022-02-01 Control Networks, Inc. Control system user interface
US11646907B2 (en) 2007-06-12 2023-05-09 Icontrol Networks, Inc. Communication protocols in integrated systems
US10498830B2 (en) 2007-06-12 2019-12-03 Icontrol Networks, Inc. Wi-Fi-to-serial encapsulation in systems
US11218878B2 (en) 2007-06-12 2022-01-04 Icontrol Networks, Inc. Communication protocols in integrated systems
US11089122B2 (en) 2007-06-12 2021-08-10 Icontrol Networks, Inc. Controlling data routing among networks
US8508760B2 (en) * 2007-07-31 2013-08-13 Ricoh Company, Ltd. Output device capable of preventing the leakage of confidential information
US10223903B2 (en) 2010-09-28 2019-03-05 Icontrol Networks, Inc. Integrated security system with parallel processing architecture
US11831462B2 (en) 2007-08-24 2023-11-28 Icontrol Networks, Inc. Controlling data routing in premises management systems
US8141072B2 (en) * 2007-10-03 2012-03-20 International Business Machines Corporation Customized software documentation based on actual configuration values
US8155019B2 (en) * 2008-01-07 2012-04-10 Canon Kabushiki Kaisha Information processing apparatus, device information display method, and computer-readable storage medium
US8723963B2 (en) 2008-01-11 2014-05-13 Ricoh Company, Ltd. Dynamic print driver installation on cameras
US11916928B2 (en) 2008-01-24 2024-02-27 Icontrol Networks, Inc. Communication protocols over internet protocol (IP) networks
US8813066B2 (en) * 2008-05-06 2014-08-19 International Business Machines Corporation Multi-component software application installation facility
US20170185278A1 (en) 2008-08-11 2017-06-29 Icontrol Networks, Inc. Automation system user interface
US11729255B2 (en) 2008-08-11 2023-08-15 Icontrol Networks, Inc. Integrated cloud system with lightweight gateway for premises automation
US11792036B2 (en) 2008-08-11 2023-10-17 Icontrol Networks, Inc. Mobile premises automation platform
US11758026B2 (en) 2008-08-11 2023-09-12 Icontrol Networks, Inc. Virtual device systems and methods
US11258625B2 (en) 2008-08-11 2022-02-22 Icontrol Networks, Inc. Mobile premises automation platform
US9628440B2 (en) 2008-11-12 2017-04-18 Icontrol Networks, Inc. Takeover processes in security network integrated with premise security system
JP5371511B2 (ja) * 2009-03-30 2013-12-18 キヤノン株式会社 情報処理装置、情報処理装置の制御方法及びコンピュータプログラム
US8638211B2 (en) 2009-04-30 2014-01-28 Icontrol Networks, Inc. Configurable controller and interface for home SMA, phone and multimedia
US9424399B2 (en) 2009-05-12 2016-08-23 Microsoft Technology Licensing, Llc Availability of permission models in roaming environments
US20100293536A1 (en) * 2009-05-12 2010-11-18 Microsoft Corporation Enhanced product functionality based on user identification
US9112928B2 (en) * 2009-05-29 2015-08-18 Nokia Technologies Oy Method and apparatus for automatic loading of applications
JP5455527B2 (ja) * 2009-09-29 2014-03-26 キヤノン株式会社 画像形成装置、該装置の制御方法、制御プログラム
JP5479166B2 (ja) * 2010-03-11 2014-04-23 キヤノン株式会社 情報処理装置、プリンタドライバのアンインストール方法、プログラム、及び、記録媒体
CN102209164B (zh) * 2010-03-29 2014-07-02 京瓷办公信息系统株式会社 图像形成系统、图像形成装置以及图像形成装置搜索方法
EP2569712B1 (en) 2010-05-10 2021-10-13 Icontrol Networks, Inc. Control system user interface
US8836467B1 (en) 2010-09-28 2014-09-16 Icontrol Networks, Inc. Method, system and apparatus for automated reporting of account and sensor zone information to a central station
US11750414B2 (en) 2010-12-16 2023-09-05 Icontrol Networks, Inc. Bidirectional security sensor communication for a premises security system
US9147337B2 (en) 2010-12-17 2015-09-29 Icontrol Networks, Inc. Method and system for logging security event data
JP5942485B2 (ja) * 2012-03-05 2016-06-29 株式会社リコー データ処理装置、プログラムおよびデータ処理システム
US20130339937A1 (en) * 2012-06-14 2013-12-19 Avaya Inc. Dynamic application management
US9038060B2 (en) * 2012-10-02 2015-05-19 Nextbit Systems Inc. Automatically installing operating system specific to a detected network
US9106721B2 (en) 2012-10-02 2015-08-11 Nextbit Systems Application state synchronization across multiple devices
US9928975B1 (en) 2013-03-14 2018-03-27 Icontrol Networks, Inc. Three-way switch
US9287727B1 (en) 2013-03-15 2016-03-15 Icontrol Networks, Inc. Temporal voltage adaptive lithium battery charger
US9867143B1 (en) 2013-03-15 2018-01-09 Icontrol Networks, Inc. Adaptive Power Modulation
US10841668B2 (en) 2013-08-09 2020-11-17 Icn Acquisition, Llc System, method and apparatus for remote monitoring
US11405463B2 (en) 2014-03-03 2022-08-02 Icontrol Networks, Inc. Media content management
US11146637B2 (en) 2014-03-03 2021-10-12 Icontrol Networks, Inc. Media content management
US11329990B2 (en) * 2019-05-17 2022-05-10 Imprivata, Inc. Delayed and provisional user authentication for medical devices

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003114772A (ja) * 2001-10-05 2003-04-18 Kyocera Mita Corp プリントシステムおよびプリント方法
JP2003140852A (ja) * 2001-10-31 2003-05-16 Canon Inc ネットワークシステム、情報処理装置、情報処理方法、及び制御プログラム
JP2004287778A (ja) * 2003-03-20 2004-10-14 Fuji Xerox Co Ltd 周辺機器ドライバ代理インストールプログラム、装置および方法
JP2005026091A (ja) * 2003-07-03 2005-01-27 Yuasa Corp 非水電解質電池
JP2005028728A (ja) * 2003-07-11 2005-02-03 Minolta Co Ltd 印刷装置
JP2005092895A (ja) * 2000-12-22 2005-04-07 Canon Inc ネットワークシステム、情報処理装置、方法、及び制御プログラム
JP2005208895A (ja) * 2004-01-22 2005-08-04 Canon Inc 情報処理装置及びその制御方法及びそのプログラムと記憶媒体

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5655148A (en) * 1994-05-27 1997-08-05 Microsoft Corporation Method for automatically configuring devices including a network adapter without manual intervention and without prior configuration information
US5787246A (en) * 1994-05-27 1998-07-28 Microsoft Corporation System for configuring devices for a computer system
US5862393A (en) * 1996-10-07 1999-01-19 Lxe, Inc. System for managing power of a computer with removable devices
US6496979B1 (en) * 1997-10-24 2002-12-17 Microsoft Corporation System and method for managing application installation for a mobile device
US6463473B1 (en) * 1999-04-09 2002-10-08 Sharewave, Inc. Configuring a wireless computer network to allow automatic access by a guest client device
JP2001337865A (ja) * 2000-05-25 2001-12-07 Minolta Co Ltd ファイル生成方法およびファイル管理方法ならびにファイル
US6981252B1 (en) * 2000-07-14 2005-12-27 Symantec Corporation Method and apparatus for automatically uninstalling software on a network
US6813670B1 (en) * 2000-09-26 2004-11-02 Microsoft Corporation Automatic server-side plug-and-play without user intervention
JP3977059B2 (ja) * 2000-12-22 2007-09-19 キヤノン株式会社 情報処理装置、方法、及び制御プログラム
US20020174206A1 (en) * 2001-05-21 2002-11-21 Moyer Alan L. Web-based file manipulating system
US20020042911A1 (en) * 2001-05-24 2002-04-11 Harms Jason J. Uninstall of an attached device
JP2002366502A (ja) 2001-06-12 2002-12-20 Ricoh Co Ltd ネットワークプリンタの自動インストール方法
US7032220B2 (en) * 2002-02-14 2006-04-18 International Business Machines Corporation Method and apparatus for saving install properties in a fileset object and/or system registry for use during uninstall
US9886309B2 (en) 2002-06-28 2018-02-06 Microsoft Technology Licensing, Llc Identity-based distributed computing for device resources
KR100472459B1 (ko) * 2002-07-03 2005-03-10 삼성전자주식회사 기능용 드라이버 설치 방법 및 장치
US7185335B2 (en) * 2002-09-19 2007-02-27 International Business Machines Corporation Programmatic application installation diagnosis and cleaning
US20040064458A1 (en) * 2002-10-01 2004-04-01 Richard Hagarty Deletion objector for determining whether or not to delete an object from an application
JP3919721B2 (ja) 2002-10-29 2007-05-30 キヤノン株式会社 情報処理方法及び情報処理装置
KR20040074491A (ko) * 2003-02-19 2004-08-25 삼성전자주식회사 핫 플러그 신호 생성장치 및 생성방법
JP2004280218A (ja) 2003-03-13 2004-10-07 Oki Data Corp 印刷システム及び印刷方法
JP4082256B2 (ja) * 2003-03-25 2008-04-30 ブラザー工業株式会社 情報処理装置及びプログラム
US7418486B2 (en) 2003-06-06 2008-08-26 Microsoft Corporation Automatic discovery and configuration of external network devices
US20050102667A1 (en) * 2003-11-10 2005-05-12 International Business Machines (Ibm) Corporation Generating summaries for software component installation
WO2006008695A1 (en) * 2004-07-15 2006-01-26 Koninklijke Philips Electronics N.V. Security system for wireless networks
US20060031205A1 (en) * 2004-08-05 2006-02-09 Usa Revco, Llc, Dba Clear Search Method and system for providing information over a network
JP4182094B2 (ja) 2004-08-30 2008-11-19 キヤノン株式会社 情報処理装置及びその制御方法、プログラム
US20060258342A1 (en) * 2005-04-21 2006-11-16 Kenny Fok Methods and apparatus for providing wireless device-centric control of an external computing device
US7603484B2 (en) * 2005-04-21 2009-10-13 Microsoft Corporation Protocol for communication with a user-mode device driver
JP4756994B2 (ja) 2005-10-27 2011-08-24 キヤノン株式会社 ネットワークプリントシステム及びネットワーク周辺装置及び情報処理装置とプログラム
JP4865299B2 (ja) 2005-11-02 2012-02-01 キヤノン株式会社 情報処理装置及び情報処理方法及びそのプログラム
US20070156942A1 (en) * 2005-12-30 2007-07-05 Robert Gough Method and apparatus for independently managing a chipset-integrated bus controller
US20080082976A1 (en) * 2006-09-29 2008-04-03 Matthias Steinwagner Usage of virtualization software for shipment of software products

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005092895A (ja) * 2000-12-22 2005-04-07 Canon Inc ネットワークシステム、情報処理装置、方法、及び制御プログラム
JP2003114772A (ja) * 2001-10-05 2003-04-18 Kyocera Mita Corp プリントシステムおよびプリント方法
JP2003140852A (ja) * 2001-10-31 2003-05-16 Canon Inc ネットワークシステム、情報処理装置、情報処理方法、及び制御プログラム
JP2004287778A (ja) * 2003-03-20 2004-10-14 Fuji Xerox Co Ltd 周辺機器ドライバ代理インストールプログラム、装置および方法
JP2005026091A (ja) * 2003-07-03 2005-01-27 Yuasa Corp 非水電解質電池
JP2005028728A (ja) * 2003-07-11 2005-02-03 Minolta Co Ltd 印刷装置
JP2005208895A (ja) * 2004-01-22 2005-08-04 Canon Inc 情報処理装置及びその制御方法及びそのプログラムと記憶媒体

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014170549A (ja) * 2007-10-05 2014-09-18 Canon Inc 情報処理装置および制御方法および制御プログラム
JP2009288937A (ja) * 2008-05-28 2009-12-10 Brother Ind Ltd インストールシステムおよびプログラム
JP2009296128A (ja) * 2008-06-03 2009-12-17 Canon Inc 情報処理装置、情報処理装置の制御方法及びコンピュータプログラム
US8489766B2 (en) 2008-06-03 2013-07-16 Canon Kabushiki Kaisha Information processing apparatus, control method therefor, and computer-readable storage medium, for updating device information corresponding to a device among the device information stored in a storage unit, and for sending a notification for releasing an internet-protocol address assigned to the device to a dynamic-host-configuration-protocol server based on whether received information specifies a specific condition
KR101324188B1 (ko) * 2008-07-01 2013-11-07 삼성전자주식회사 화상형성장치, 호스트 클라이언트, 화상형성시스템 및화상형성시스템의 관리방법
US8941861B2 (en) 2008-07-01 2015-01-27 Samsung Electronics Co., Ltd. Image forming system having an image forming apparatus and a host and a method of managing the same
JP2011076227A (ja) * 2009-09-29 2011-04-14 Canon Inc 情報処理装置及びその方法
KR101391750B1 (ko) * 2013-08-13 2014-06-19 삼성전자주식회사 화상형성장치, 호스트 클라이언트, 화상형성시스템 및 화상형성시스템의 관리방법
JP2020087295A (ja) * 2018-11-30 2020-06-04 キヤノン株式会社 情報処理装置および制御方法およびプログラム
JP7224878B2 (ja) 2018-11-30 2023-02-20 キヤノン株式会社 情報処理装置および制御方法およびプログラム

Also Published As

Publication number Publication date
US20070101345A1 (en) 2007-05-03
US7756955B2 (en) 2010-07-13
JP4865299B2 (ja) 2012-02-01

Similar Documents

Publication Publication Date Title
JP4865299B2 (ja) 情報処理装置及び情報処理方法及びそのプログラム
US7908609B2 (en) Information processing apparatus with device driver installation control
US8214322B2 (en) Information processing apparatus, method of controlling information processing apparatus, computer program, and computer readable storage medium
JP4756994B2 (ja) ネットワークプリントシステム及びネットワーク周辺装置及び情報処理装置とプログラム
US7316022B2 (en) Information processing apparatus, information processing method, alternate response apparatus, response method, control program, and network system
JP4485997B2 (ja) 印刷制御装置、印刷制御システム、印刷制御方法、印刷制御プログラム及び記録媒体
JP5159071B2 (ja) 通信システム及び通信装置とその制御方法
KR101337160B1 (ko) 정보 처리 장치, 정보 처리 방법 및 기억 매체
EP2492793B1 (en) Device selecting apparatus, and printing system and computer readable medium for the same
EP1860547B1 (en) Remote stored print job retrieval
JP2007114901A (ja) ネットワーク対応出力デバイス及び情報処理装置及びそれらの制御方法、並びにコンピュータプログラム及びコンピュータ可読記憶媒体、及び、ネットワークシステム
JP2012053789A (ja) ネットワーク機器管理システム、ネットワーク機器管理装置、クライアント装置およびその方法
JP2007066092A (ja) 情報処理装置及びネットワークデバイス及びそれらの制御方法、並びに、コンピュータプログラム及びコンピュータ可読記憶媒体
US8059294B2 (en) Image forming based on operation mode
JP2009296128A (ja) 情報処理装置、情報処理装置の制御方法及びコンピュータプログラム
JP5537160B2 (ja) イベント代行通知装置及びその制御方法とそのプログラム
US20120257233A1 (en) Image reading system, image reading apparatus, and control methods and programs thereof
JP5665579B2 (ja) 管理装置、管理方法およびプログラム
JP2007280114A (ja) 情報処理装置及び情報処理方法
JP2007265392A (ja) 情報処理装置、プログラム及び該プログラムを記憶した記憶媒体
JP4912093B2 (ja) 情報処理方法、情報処理装置、プログラム及び記憶媒体
JP2007148828A (ja) 情報処理装置及びその制御方法
KR20200138061A (ko) 가상 디바이스, 오퍼레이팅 시스템, 가상 디바이스 서비스, 정보 처리 장치, 및 정보 처리 장치를 제어하는 방법
JP2008027006A (ja) 周辺デバイスを管理するためのプログラムおよび情報処理装置とその制御方法
JP4378338B2 (ja) 情報処理装置、デバイス設定方法、記憶媒体、プログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081104

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20081104

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110214

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110414

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

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

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

Free format text: PAYMENT UNTIL: 20141118

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20141118

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees