JP4667175B2 - 情報処理装置、情報処理装置の制御方法、並びに、コンピュータプログラム及びコンピュータ可読記憶媒体 - Google Patents

情報処理装置、情報処理装置の制御方法、並びに、コンピュータプログラム及びコンピュータ可読記憶媒体 Download PDF

Info

Publication number
JP4667175B2
JP4667175B2 JP2005252472A JP2005252472A JP4667175B2 JP 4667175 B2 JP4667175 B2 JP 4667175B2 JP 2005252472 A JP2005252472 A JP 2005252472A JP 2005252472 A JP2005252472 A JP 2005252472A JP 4667175 B2 JP4667175 B2 JP 4667175B2
Authority
JP
Japan
Prior art keywords
network
function
setting
information
message
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2005252472A
Other languages
English (en)
Other versions
JP2007066091A5 (ja
JP2007066091A (ja
Inventor
雅裕 西尾
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2005252472A priority Critical patent/JP4667175B2/ja
Priority to PCT/JP2006/317397 priority patent/WO2007026908A1/en
Priority to US11/917,087 priority patent/US8214322B2/en
Publication of JP2007066091A publication Critical patent/JP2007066091A/ja
Publication of JP2007066091A5 publication Critical patent/JP2007066091A5/ja
Application granted granted Critical
Publication of JP4667175B2 publication Critical patent/JP4667175B2/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
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1218Reducing or saving of used resources, e.g. avoiding waste of consumables or improving usage of hardware resources
    • G06F3/122Reducing or saving of used resources, e.g. avoiding waste of consumables or improving usage of hardware resources with regard to computing resources, e.g. memory, CPU
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1222Increasing security of the print job
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1239Restricting the usage of resources, e.g. usage or user levels, credit limit, consumables, special fonts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1285Remote printer device, e.g. being remote from client or server
    • G06F3/1288Remote printer device, e.g. being remote from client or server in client-server-printer device configuration

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Mathematical Physics (AREA)
  • Computer And Data Communications (AREA)

Description

本発明は、ネットワークに対応した周辺装置(デバイス)を制御するためのデバイスドライバのインストール技術に関するものである。
従来から、ネットワーク上のクライアント装置からのサービス要求に応えるサービス提供装置及び、サービス提供システムが知られている。また、インターネットによる通信の飛躍的な普及に伴い、ネットワーク対応型機器として、従来のパーソナルコンピュータ以外の種類の多様な機器が開発されている。例えば、PDA(Personal Digital Assistance)、携帯電話等のユーザインタラクティブなデバイスは勿論こと、スキャナ、プリンタ、複写機、デジタルカメラ等の画像処理装置が挙げられる。また、更には、テレビ、エアコン、冷蔵庫等の家電製品などまでもが、ネットワーク対応になってきている。
これに伴い、サービスを提供するネットワークデバイスの探索・検索する技術が開発されている。特に、ネットワーク対応型デバイスを制御するためのアプリケーションソフトウエア、ユーティリティソフトウエア、オペレーティングシステム等の自動セットアップを行ない技術、プロトコル、アーキテクチャが提案されている(特許文献1,2)。
また、複数の企業、標準化団体が、ローカルI/O接続デバイス対して適用されてきたプラグアンドプレイをネットワークデバイスに対して拡張対応すべく、仕様策定作業を進めている。
例えば、米国Microsoft社が主体となって策定を進めるUPnP(登録商標)、およびWSD(Web Services for Devices)、ジネス機械・情報システム産業協会(JBMIA)が推進するBMLinks、米国Apple社が開発したOS XでサポートされるRenedzvousなどがその一例である。
上記のように、ネットワークプラグアンドプレイが普及することによって利便性が向上することが期待されている。
特開2004−038956公報 特開2004−362594公報
しかしながら、ノートPC、PDA、携帯電話のように、異なるネットワーク環境を常時移動するようなモバイルデバイスを利用する場合、上記のネットワークプラグアンドプレイデバイスによる弊害が予想される。なぜなら、モバイルデバイスを利用する際に、ユーザの意図に反した不必要なネットワークデバイスが検索されてしまい、そのドライバ、アプリケーションがモバイルデバイスにインストールされてしまうからである。
例えば、ノートパソコンを自宅、あるいは勤務先のオフィスから移動し、訪問先オフィス、あるいは公共施設に設けられたホットスポットなど、異なるネットワーク環境で利用するケースについて考察すると分かりやすい。この場合、ユーザー自身は利用する意図がなくても、ノートパソコンのプラグアンドプレイ機能が、そのネットワーク環境で稼動しているネットワークデバイスを発見してしまうことが起こりえる。すなわち、必要としないネットワークデバイスのドライバ、アプリケーションが自動的にインストールされてしまう事態が起こる。
この結果、モバイルデバイスのハードウェア資源、特にメモリ資源をいたずらに消費してしまう。また、セキュリティ上信頼できないソフトウエアがユーザが意識しないうちにインストールされてしまい、情報の破壊、漏洩といった深刻な被害につながることにもなろう。
また、同様に、ノートPC、PDA、携帯電話のようなモバイルデバイスが備えるプラグアンドプレイ機能が、ネットワークデバイスを発見するたびに、インストールを促すポップアップメッセージ、あるいは警告メッセージ等を表示することになる。従って、ネットワークデバイスの総数が数十台から数百台に及ぶ場合、モバイルデバイスのユーザは、それらメッセージをキャンセルする手続き、作業に煩わされることになる。
本発明はかかる問題点に鑑みなされたものであり、接続中のネットワークのネットワーク環境に応じて、発見されたネットワークデバイスのデバイスドライバの自動インストールを行う/行わないを設定可能とする技術を提供しようとするものである。
この課題を解決するため、例えば本発明の情報処理装置は以下の構成を備える。すなわち、
ネットワーク通信手段を介してネットワークデバイスを検出し、当該検出したネットワークデバイスに対応するデバイスドライバを自動インストールする情報処理装置であって、
接続するネットワークを特定するネットワーク環境情報と当該ネットワーク環境情報で示されるネットワークに対して前記デバイスドライバの自動インストールのための機能の利用の可否を設定る設定手段と、
前記設定手段により設定された情報を記述した設定情報を記憶する記憶手段と、
続中のネットワークに関するネットワーク環境情報を取得する取得手段と、
前記記憶手段により記憶されている設定情報の中から、前記取得手段で取得されたネットワーク環境情報に対応する設定情報を特定する特定手段と、
前記特定手段により特定された設定情報の内容を表示する表示手段と、
前記特定手段により特定された設定情報に従い、接続中のネットワークのネットワークデバイスに対応するデバイスドライバの自動インストールのを行う制御手段とを備え、
前記デバイスドライバの自動インストールのための機能には、接続中のネットワーク上のネットワークデバイスから発行されたネットワーク参加メッセージを前記情報処理装置が搭載しているインストールの制御のためのシステムへ通知する第1機能と、ネットワークデバイスの探索メッセージをネットワークへ送信する第2機能とが含まれ、
前記設定手段は、ネットワーク環境情報に応じて前記第1機能及び前記第2機能のそれぞれの利用の可否を設定し、
前記制御手段は、前記設定情報において、前記第1機能の利用が可と設定されている場合には前記ネットワーク参加メッセージにより特定されるネットワークデバイスに対応するデバイスドライバの自動インストールを行い、前記第1機能の利用が否と設定されている場合には前記ネットワーク参加メッセージにより特定されるネットワークデバイスに対応するデバイスドライバの自動インストールを行わず、前記第2機能の利用が可と設定されている場合には前記探索メッセージにより発見されたネットワークデバイスに対応するデバイスドライバの自動インストールを行い、前記第2機能の利用が否と設定されている場合には前記探索メッセージにより発見されたネットワークデバイスに対応するデバイスドライバの自動インストールを行わないことを特徴とする
本発明によれば、接続中のネットワークのネットワーク環境に応じて、発見されたネットワークデバイスのデバイスドライバの自動インストールを行う/行わないを設定可能となる。その結果、或るネットワークに接続した際に、ユーザが利用する情報処理装置のメモリ等のハードウェア資源が不必要に消費されることを防止できる。また、セキュリティ上信頼できないソフトウエアによる情報の破壊、漏洩といった被害を防止することも可能になる。
以下、添付図面に従って本発明に係る実施形態を詳細に説明する。なお、以下の説明におけるプロトコル、バージョン、アドレス、その他の数値等は一例であって、特に特定的な記載がない限りは、本発明を限定するものとはならないことに注意されたい。
<第1の実施形態>
図1は第1の実施形態におけるネットワークプラグアンドプレイシステムの構成を示すブロック図である。
図中、100は、クライアントデバイスで、オフィスからホームネットワーク、あるいは訪問先のネットワーク環境へと接続環境が頻繁に変化する可能性の大きなクライアント端末としてのノートPCであるものとする。勿論、PDA、携帯電話等でも構わない。
クライアント端末100は、通信機能としてEthernet(登録商標), Wi-Fi(IEEE80.11a/b/g), Bluetoothに対応しており、それぞれEthernet(登録商標)コントローラ1、Wi-Fiコントローラ2、Bluetoothコントローラ3を備えるか、それ専用のカードとして搭載可能とする。これらコントローラの上位レイヤには、TCP/UDP/IPプロトコルスタック4を備え、そのプロトコルスタック上にHTTP5を備え、HTTPリクエストの解析、およびレスポンス処理を行う。
TCP/UDP/IPプロトコルスタック4、およびHTTP5の上位層にはSOAP(Simple Object Access Protocol)プロセッサ6を備え、プラグアンドプレイモード設定ユーティリティ7、WSDモジュール8、およびユーティリティ14、アプリケーション 15が、それぞれ該処理部を介してeXtensible Markup Language(XML)で記述されたデータによる双方向通信を実現する。
ネットワークマネージャ9は、各Ethernet(登録商標)コントローラ1、 Wi-Fコントローラ2、 Bluetoothコントローラ3を管理するモジュールであり、各コントローラの設定情報、通信状態に関する情報を取得する機能を備える。
プラグアンドプレイモード設定ユーティリティ7はネットワークマネージャ9を制御し、現在稼動中のネットワークコントローラ情報、およびその設定情報を取得し、その設定情報をメモリコントローラ10を介して、メモリ(ハードディスクでも構わない)上に記録する機能を有する。
また、プラグアンドプレイモード設定ユーティリティ7はTCP/UDP/IPプロトコルスタック4よりネットワーク構成情報を取得する機能を備え、その設定情報をモード設定情報12としてメモリコントローラ10を介して、メモリ(ハードディスク等の不揮発性メモリ)上に記録する機能を有する。
また、プラグアンドプレイモード設定ユーティリティ7は、プラグアンドプレイ設定のUIを制御し、その設定内容をメモリコントローラ 10をメモリ上に記録する。
これら設定情報は、プラグアンドプレイモード設定ユーティリティ7によりXML(eXtensible Markup Language)に変換され、XMLの形式でメモリ上に記録される。設定情報の詳細、および書式に関しては後述する。
プラグアンドプレイモード設定ユーティリティ7は、記録されたプラグアンドプレイモードに従い、RCP/UDP/IPプロトコルスタック4に対し、Helloメッセージ受信ポートのEnable/Disableを制御する。
また、プラグアンドプレイモード設定ユーティリティ7は、記録されたプラグアンドプレイモードに従い、SOAPプロセッサ6に対し、Probeメッセージ送信Enable/Disableを制御する。
WSDモジュール8はSOAPプロセッサ6を介して、米国Microsoft社らが、その仕様策定を推進するWS−Discovery仕様に基づき、ネットワークデバイスから通知されるHelloメッセージに対する応答処理、および、ネットワークデバイス検索のためのProbeメッセージの発行処理を実行する。また、WS−MetadataExchange仕様に基づき、GetMetadataメッセージを発行することで、ネットワークデバイスの属性情報を取得する。
これらメッセージ処理により、ネットワークデバイスを発見した場合、WSDモジュール8はプラグアンドプレイコントローラ11に対して、発見したネットワークデバイスの属性情報を通知する。プラグアンドプレイコントローラ11は該属性情報をもとに該当するドライバ、ユーティリティソフトウエアをメモリコントローラ10を介してメモリより読み込み、クライアント端末100に対してインストールを実行する機能を備える。
アプリケーションは例えばワードプロセッサなどで編集した書類をネットワークデバイス・プリンタに印刷する際、プラグアンドプレイコントローラ 11によりインストールされたドライバ、ユーティリティを介して、ネットワーク対応デバイス200に対してジョブデータ、印刷データを送信する。
一方、ネットワーク対応デバイス200(本実施の形態ではネットワーク対応型プリンタとしている)は、通信機能としてEthernet(登録商標), Wi-Fi(IEEE80.11a/b/g), Bluetoothに対応しており、それぞれEthernet(登録商標)コントローラ16、Wi-Fiコントローラ17により制御される。これらコントローラの上位レイヤには、TCP/UDP/IPプロトコルスタック18を備え、そのプロトコルスタック上にHTTP19を備え、HTTPリクエストの解析、およびレスポンス処理を行う。
TCP/UDP/IPプロトコルスタック18、およびHTTP19の上位層にはSOAPプロセッサ20を備え、WSDモジュール21、およびプリンタコントローラ22が、それぞれ該処理部を介してXMLで記述されたデータの双方向通信を実現する。
ここで、WSDモジュール21はSOAPプロセッサ20を介して、米国Microsoft社らが、その仕様策定を推進するWS−Discovery仕様に基づき、ネットワークに接続した際に、Helloメッセージの送信、およびクライアント端末100から発行されるProbeメッセージに対する応答処理を実行する。
また、WS−MetadataExchange仕様に基づき、クライアント端末100から発行されたGetMetadataメッセージに応じ、ネットワーク対応デバイス(本例では、ネットワーク対応プリンタ)が持つ属性情報を返信する。
ワイヤレスLANアクセスポイント23は、ネットワーク上の通信の中継装置として機能する。クライアント端末100がWi−Fiコントローラ2を介してネットワーク接続する際にも、このワイヤレスLANアクセスポイント23を介してEthernet(登録商標)に接続することになる。
ここで、クライアント端末100とネットワーク対応デバイス200間のWSDの仕様に基づく探索及びそのネットワーク対応デバイス200用のデバイスドライバのインストールの手順を図19に従って簡単に説明する。
図19(a)は、クライアント端末100がネットワークに接続する際、もしくはユーザによるネットワークデバイスの探索の指示入力がなされた場合の手順を示している。
クライアント端末100は、ネットワークにデバイス検索要求であるProbeメッセージをマルチキャスト(ブロードキャスト)送信する。このProbeメッセージを受信したネットワーク対応デバイス(実施形態でネットワーク対応プリンタ)200は、それに応じるべくクライアント端末100に向けて応答メッセージ(ProbeMatch)をユニキャスト送信する。これ以降、通信相手先が互いに判明しているので、送受信はユニキャストになる。
クライアント端末100は、上記の応答メッセージを受信することで、ネットワーク上にネットワーク対応デバイス200の存在することが検出できる。従って、次の段階に進み、そのネットワーク対応デバイスに対してデバイス情報要求メッセージ(GetMetaData)を送信(ユニキャスト)し、デバイス情報(MetaData for Device)を取得する。この後、クライアント端末100は、サービス情報要求メッセージ(GetMataData)を送信し、サービス情報(MetaData for Service)を取得する。
以上の結果、クライアント端末100は、ネットワーク対応デバイス200の機種名、属性情報(プリンタであることを示す情報)を得ることができるので、OSに該当するデバイスドライバ(上記の場合にはプリンタドライバ)のインストールが行われることになる。
図19(b)は、クライアント端末100は既にネットワークに接続が完了した後、ネットワーク対応デバイス200をネットワークに参加させた場合の手順を示している。なお、ネットワーク対応デバイス200のネットワークへの参加とは、そのネットワーク対応デバイス200の電源が投入された場合と考えると分かりやすい。
先ず、ネットワーク対応デバイスはネットワークに参加するための参加メッセージ(Hello)をマルチキャスト送信する。クライアント端末100は、この参加メッセージを受信することで、ネットワーク対応デバイス200の存在を検出するので、デバイス情報要求メッセージを送信する。この後の手順は、図19(a)と同じである。
さて、上記のようにして、クライアント端末100が未知のネットワーク対応デバイスを検出して、デバイスドライバが自動インストールされるので、ユーザにかかる負担は少なくなる。しかしながら、クライアント端末100を自宅等の小規模のLAN環境から、ネットワーク対応デバイスが多数存在する社内LAN環境に移動させると、図19(a)、(b)のいずれの場合においても、多数のデバイスが検索されてしまい、結局のところ、多数のデバイスドライバが次々とインストールされてしまう。また、ネットワーク対応デバイスがネットワークスキャナ、ネットワークプリンタとして機能する複合機である場合には、それぞれの機能に関するドライバがインストールされることになる。更には、ネットワークプリンタ1つを例にしても、多数のPDL(ページ記述言語)に対応する場合には、そのPDLの数分のデバイスドライバがインストールされることになり、インストールされるデバイスドライバの数は、もはや無視できない数になり得る。1つのデバイスドライバのインストールに要する時間も数十秒乃至数分になるわけであるから、クライアント端末100を利用した本来の作業を行えるまでに多くの時間を必要とする。なにより不必要なデバイスドライバのためにメモリが消費され、本来の作業に支障を来すことにもなりかねない。
そこで、本実施形態では、クライアント端末100がデバイス探索要求メッセージ(Probe)の送信する/しない、ネットワーク対応デバイスのネットワーク参加メッセージ(Hello)に応答する/しないを、そのクライアント端末100が接続するネットワーク環境に応じて設定することで、上記の問題を解決する。
以下に本実施形態のクライアント端末100の制御の流れを図2のフローチャートに従い説明する。この処理は、クライアント端末のインストールしたメモリ常駐型のプラグアンドプレイモード設定ユーティリティ(アプリケーションプログラム)の処理でもある。
クライアントデバイス100のメモリに常駐しているプラグアンドプレイモード設定ユーティリティ7は、Ethernet(登録商標),Wi−Fi,Bluetoothのいずれかの通信コントローラを介してネットワーク接続が開始し、ネットワークマネージャ9よりプラグアンドプレイモード設定ユーティリティ7に対しNotifyが通知されるのを待つ(ステップS1)。この通知を受けることをトリガにして、プラグアンドプレイモード設定ユーティリティ 7は、ネットワークマネージャ9を介して現在稼動中のネットワークコントローラが、Ehternet、Wi-FI、Bluetooth Controllerのいずれであるか情報を取得する(ステップS2)。
次にプラグアンドプレイモード設定ユーティリティ7はTCP/UDP/IPプロトコルスタック 4より、以下のネットワーク設定情報を取得する(ステップS3)。
DHCP Enabled:YES/NO (DHCPによるアドレス取得か否かを意味する)。
IP Address: IPアドレス(ローカルIPアドレス)
Subnet Mask:サブネットマスク値
Default Gateway:Gatewayアドレス
DNS Server:DNSサーバーアドレス
DHCP Server:DHCPサーバーアドレス
プラグアンドプレイモード設定ユーティリティ7は、次に取得したデータをメモリコントローラ10を介して、メモリ(ハードディスク)上に、過去に記録されたプラグアンドプレイ設定データファイル(特定の拡張子を持つか、特定のフォルダに格納されているものとする)を検索し(ステップS4)、現在接続されているネットワークの設定情報と一致するプラグアンドプレイ設定データファイルがあるか否かを判断する(ステップS5)。なお、クライアント端末100が過去の一度もネットワークに説明していない場合には、該当するプラグアンドプレイ設定データが存在しないので、不一致と判断する。
図3は記録されるプラグアンドプレイ設定データ(ファイル)の構成を示すものであり、ネットワーク情報、およびそのネットワーク環境に対するプラグアンドプレイ設定データであるProbe発行の許可、禁止、Helloメッセージに対する応答許可、禁止の設定情報がXML(eXtensible Markup Language)で記述される。なお、タグ<DHCPEnabled>〜</DHCPEnabled>で挟まれた記述が「YES」である場合には、タグ<IPAddress>〜</IPAddress>の行は存在しない。DHCPを利用する場合には、クライアント端末100のローカルIPアドレスは、接続する度に変化する可能性があるためである。
また、図3のプラグアンドプレイ設定データファイルにおいて、タグ<Probe>〜</Probe>は、クライアント端末100からデバイス検索要求メッセージ(Probe)をマルチキャスト送信する/しないを記述するものである。また、タグ<Hello>〜</Hello>は、ネットワークデバイスが発行するネットワーク参加メッセージ(Hello)に対して応答するか否かを記述するものである。
図18は、既に記憶されたプラグアンドプレイ設定データファイルとの比較手順を示すフローチャートである。
プラグアンドプレイモード設定ユーティリティ7は、メモリコントローラ10を介して順次プラグアンドプレイ設定データファイルを読み込む処理を行う(ステップS100)。次のステップS101では、読込むべきデータが存在し、正常に読み込まれたか否かを判断する。
データの読み込みが行われた場合には、ステップS102に進み、読み込んだデータのタグ<DHCPEnabled>〜<DHCPEnabled>の記述がYES、NOのいずれであるかを判断する。つまり、読み込んだデータのネットワーク接続環境がDHCPを利用することが設定されているか否かを判断する。
DHCPを利用する記述がなされていると判断した場合には、ステップS104に進んで、現在ネットワークに接続中のネットワークコントローラがDHCPクライアントとして設定されているか否かを判断する。つまり、読み込んだデータ中のDHCPに関する記述が、現在のネットワーク接続中のDHCPの状態と同じであるか否かを判断する。否の場合には、読み込んだプラグアンドプレイ設定データファイルは、現在のネットワーク接続環境とは異なるものであるので、ステップS100に戻り、次のプラグアンドプレイ設定データファイルの読み込みを行う。
また、ステップS104にて、読み込んだプラグアンドプレイ設定データファイル中のDHCPに関する記述と、現在のネットワーク接続環境とが一致していると判断した場合には、ステップS105に進んで、読み込んだプラグアンドプレイ設定データファイル中のDNSサーバ、Defoult GatewayのIPアドレスが、現在のネットワーク接続環境におけるそれらのIPアドレスと一致するか否かを判断する。不一致の場合には、ステップS100に戻り、一致する場合にはステップS106に進む。
ステップS106では、読み込んだプラグアンドプレイ設定データファイル中のSubnet Maskの情報と、現在のネットワーク接続環境におけるSubnet Maskが一致しているか否かを判断する。否の場合には、ステップS100に戻り、一致していればステップS107に進んで、現在の接続中のネットワーク環境と同じ情報を記述したプラグアンドプレイ設定データファイルが存在すると判定し、本処理を終了する。
また、ステップS102にて、読み込んだプラグアンドプレイ設定データファイル中のDHCPに関する記述が“NO”であった場合には、ステップS103に進む。ここでは、読み込んだプラグアンドプレイ設定データファイル中のタグIPadressに記述されたIPアドレスが、現在の接続中のネットワークコントローラに設定されたIPアドレスと一致するか否かを判断する。不一致であれば、読み込んだプラグアンドプレイ設定データファイルは、ステップS100に戻る。また、一致している場合には、ステップS105に処理を進める。
上記のようにして、ステップS100に戻って上記処理を繰り返し、現在接続中のネットワーク環境に一致するプラグアンドプレイ設定データファイルが見つからない場合には、ステップS101からステップS108に進み、一致データファイル無しとして判定し、本処理を終了することになる。
図2のフローチャートの説明に戻る。上記のようにして、ステップS5において、現在接続中のネットワーク環境と同一の環境を記載したプラグアンドプレイ設定データファイルが存在すると判断した場合には、ステップS6に進んで、そのプラグアンドプレイ設定データファイルを読み込み、クライアント端末100のユーザにその記述内容を変更するか否かを選択させるため、図4に示すポップアップメニューを表示し、変更/変更無しをステップS7にて判断する。
図4では、接続されたネットワーク接続環境に対し、ネットワークデバイスの検索を行う(Probeメッセージの送信許可)、ネットワークデバイスの参加メッセージ(Hello)に対して応答しないことが選択されている状態を示している。
ユーザは表示されたポップアップメニューに対して変更するか否かを選択するため、図示のボタンYes、Noの何れかをポインティングデバイスで指示することになる。
変更無し、すなわち、図4のボタンNoが指示されたと判断した場合には、ステップS7からステップS8に進んで、読み込んだプラグアンドプレイ設定データファイルの記述に従ってプラグアンドプレイ制御処理を実行する。
一方、ステップS5において、現在接続中のネットワーク環境に一致するプラグアンドプレイ設定データファイルが存在しない、或いは、ステップS7にて変更するとの指示が入力された場合には、処理はステップS9に進み、図5のポップアップメニューを表示し、現在接続中のネットワーク環境に対するプラグアンドプレイモードの設定を利用者に促す。
このポップアップメニューには、現在クライアント端末100が接続しているネットワーク種別、およびネットワーク情報の一部が表示されており、ネットワークデバイスの検索機能、およびHelloメッセージ応答に対して、それぞれ許可、禁止の設定が可能となっている。
ステップS10では、設定が完了したか否かを判断する。図5の画面にて、OKボタンがポインティングデバイスで指示されると設定が完了したと判断し、ステップS10に進んで設定内容を、図3に示すフォーマットにて、メモリコントローラ10を介してメモリ11上に登録し、該設定情報にもとづきプラグアンドプレイ制御を実施する(ステップS8)。
なお、ステップS5からステップS9に処理が進んだ場合には、プラグアンドプレイ設定データファイルは新規保存となり、ステップS7からステップS9に進んだ場合には、既存のプラグアンドプレイ設定データファイルを変更し、再保存となる。
図6は、プラグアンドプレイモード設定に従い、ネットワークデバイスの検索機能、およびHelloメッセージ応答に対して、それぞれ許可、禁止する具体的手段を説明するフローチャートである。
プラグアンドプレイモード設定ユーティリティ7は、現在、接続中であるネットワークに対するプラグアンドプレイモード設定に基づき、その設定がHello応答禁止になっているか否かを判断する(ステップS21)。Hello応答禁止になっていると判断した場合には、TCP/UDP/IPプロトコルスタック4モジュールに対し、マルチキャストポート(239.255.255.250)の無効化を通知する(ステップS22)。この結果、TCP/UDP/IPプロトコルスタック4モジュールは該ポートをDisableとするため、ネットワークデバイスから通知されるHelloメッセージは、その上位レイヤに位置する各モジュール、およびユーティティ14、アプリケーション15には通知されない。すなわち、ネットワーク上のデバイスがHelloメッセージを発行したとしても、上位に通知されなくなり、そのデバイスのデバイスドライバのインストール処理に進むことがなくなる。
また、Hello応答許可が設定されていると判断した場合には、ステップS23に進んで、TCP/UDP/IPプロトコルスタック4モジュールに対し、マルチキャストポート(239.255.255.250)の有効化を通知する。この結果、TCP/UDP/IPプロトコルスタック4モジュールは該ポートをEnableとするため、ネットワークデバイスから通知されるHelloメッセージは、その上位レイヤに位置する各モジュール、およびユーティティ14、アプリケーション15に通知される。
次に処理はステップS24に進む。ここでは、Probe発行禁止設定がされているか否かを判断する。Probe発行禁止が設定されている場合、ステップS25に進み、Add Printer Wizard等、ネットワークデバイスの検索機能を有するユーティリティ14、およびアプリケーション15に対し、該当機能のDisableを通知 するように設定する。また、SOAPプロセッサ6に対し、Probeパケットの生成禁止を通知する(ステップS26)。この結果、SOAPプロセッサ6は上位レイヤに位置するモジュール、あるいはユーティリティ14、アプリケーション15からProbeパケット発行要求があった場合、エラーを通知する。従って、クライアント端末100から、ネットワークに対してネットワークデバイス検索メッセージ(Probe)が発行されることは無い。
また、Probe発行許可の設定がなされている場合には、ステップS27に進み、Add Printer Wizard等、ネットワークデバイスの検索機能を有するユーティリティ14、およびアプリケーション15に対し、該当機能のEnableを通知 する。併せてSOAPプロセッサ6に対し、Probeパケットの生成許可を通知する(ステップS28)。SOAPプロセッサ6は上位レイヤに位置するモジュール、あるいはユーティリティ14、アプリケーション15からProbeパケット発行要求に応じ、WS−Discovery仕様で定義されたProbeパケットを生成、TCP/UDP/IPコントローラ4を介してProbeパケットをネットワーク上に送信することになる。
以上、プラグアンドプレイモード設定に対する制御が完了した後、クライアント端末100はネットワークデバイスに対するプラグアンドプレイ処理を実施する。
ここでは、ネットワーク対応デバイスがネットワークに参加する際に発行するHelloメッセージが発行される場合の例を図7のフローチャートに従って簡単に説明する。
本実施形態において、ネットワーク対応デバイス200は、ネットワークに新規に導入されてネットワーク上で通信を開始する際、あるいは、電源オフの状態から電源オンされてネットワーク上での通信を再開する際、WSDモジュール21は、SOAPプロセッサ20に対してHelloメッセージの送信を要求する。SOAPプロセッサ20は、WS−Discovery仕様に基づきHelloメッセージを生成し、プロトコルスタックを介してマルチキャストアドレス239.255.255.250に対してマルチキャスト送信する(ステップS31)。
このHelloメッセージはXML−SOAPで記述されており、一例を示すのであれば図8に示すフォーマットである。
クライアント端末100において、プラグアンドプレイモードの設定がHelloメッセージに対して応答禁止するように設定された場合には、TCP/UDP/IPプロトコルスタック4は、マルチキャストポート239.255.255.250を無効としているため、ネットワークデバイス200から送信されたHelloメッセージは破棄される (ステップS32)。すなわち、受信したHelloメッセージの、OSが有するSOAPプロセッサへの通知を遮断する。
従って、ネットワーク上に新規ネットワーク対応デバイスが稼動を開始した場合であっても、TCP/UDP/IPプロトコルスタック4より上位レイヤーに位置するアプリケーション15、ユーティリティ14、およびWSDモジュール8は、ネットワーク対応デバイス200の稼動開始情報を取得することは無く、そのため、例えば、ネットワークデバイスをインストールするためのユーティリティが起動したり、あるいは新規デバイス発見を通知するメッセージがディスプレイ上に表示されることもなくなる。
一方、Hello応答許可設定の場合は、HelloメッセージはTCP/UDP/IPプロトコルスタック4を介して、SOAPプロセッサ6に通知される。SOAPプロセッサ6は、Helloメッセージの内容を解析し、その結果をWSDモジュール8に通知する (ステップS33)。
WSDモジュール8は、Helloメッセージに記述されたアドレスに対し、該メッセージを発行したネットワークデバイスの属性情報を取得するために、SOAPプロセッサ6に対してWS−MetadataExchangeで規定されるGetMetadataメッセージ発行を要求することになる。
SOAPプロセッサ6は、WS−MetadataExchange仕様に基づきGetMetadataメッセージを生成し、生成されたメッセージをTCP/UDP/IPプロトコルスタック4を介してネットワーク対応デバイス200に対してユニキャスト送信する(ステップS34)。
GetMetadataメッセージはXML−SOAPで記述されており、一例として、図9にそのメッセージフォーマットを示す。
ネットワーク対応デバイス200が、上記GetMetadataメッセージを受信すると、TCP/UDP/IPプロトコルスタック18を介して、SOAPプロセッサ20にそのメッセージが通知される(ステップS35)。SOAPプロセッサ20は、GetMetadataメッセージの内容を解析し、その結果をWSDモジュール21に通知する。WSDモジュール21は、指定された属性情報をクライアントに対して返信するために、SOAPプロセッサ20に対してWS−MetadataExchangeで規定されるGetMetadataResponseメッセージ発行を要求する。
SOAPプロセッサ20は、WS−MetadataExchange仕様に基づきGetMetadataResponseメッセージを生成し、プロトコルスタックを介してクライアント端末100に対してユニキャスト送信する ことになる(ステップS36)。
GetMetadataResponseメッセージはXML−SOAPで記述されており、一例を示すのであれば図10のフォーマットである。
クライアント端末100がGetMetadataResponseメッセージを受信すると、そのメッセージがTCP/UDP/IPプロトコルスタック4を介して、SOAPプロセッサ6に通知される(ステップS37)。
GetMetadataResponseメッセージに記述されたデバイスの属性情報は、クライアント端末100のSOAPプロセッサ6を介して、デバイス属性情報がWSDモジュール8に通知される。
次に、WSDモジュール8は、プラグアンドプレイコントローラ11を起動し(ステップS38)、デバイス属性情報をプラグアンドプレイコントローラ11に対し通知する。通知をうけたプラグアンドプレイコントローラ11は、メモリコントローラを介してデバイス属性情報に一致するドライバを、自身が有する記憶装置上より検索し、該当するドライバをOSにインストールする処理を実行する (ステップS39)。
次に、クライアント端末のネットワーク対応デバイスの検索処理について図11のフローチャートに従って簡単に説明する。
通常、クライアント端末100内のユーティリティ14、あるいはアプリケーション15が、SOAPプロセッサ6に対しWS−Discovery仕様にて規定されるProbeメッセージの送信を要求すると、SOAPプロセッサ6は、WS−Discovery仕様に基づきProbeメッセージを生成し、プロトコルスタックを介してマルチキャストアドレス239.255.255.250に対してマルチキャスト送信する。そして、そのメッセージに対するネットワーク対応デバイス200からの応答であるProbe Matchメッセージの有無により検索処理を実現している。
ただし、プラグアンドプレイモードの設定で、Probe発行禁止が設定されている場合(図6のステップS25、S26)、ユーティリティ14、アプリケーション15は、該当機能がDisableとなっているため、SOAPプロセッサ6に対してProbeメッセージ発行要求が通知されることは無い。
また、先に説明したように、プラグアンドプレイモード設定ユーティリティ7より、SOAPプロセッサ6に対してProbeパケット生成禁止が通知されているため、SOAPプロセッサ6は上位レイヤに位置するモジュール、あるいはアプリケーションからProbeパケット発行要求があった場合、エラーを通知する(ステップS41) 。そのため、クライアント端末100から、ネットワークに対してネットワークデバイス検索のProbeメッセージが発行されることは無い。従って、ネットワーク対応デバイスのデバイスドライバのインストールされることも無い。
一方、プラグアンドプレイモードが、Probe発行許可に設定されている場合、WS−Discovery仕様で規定されるProbeメッセージがSOAPプロセッサ6より、TCP/UDP/IPプロトコルスタック4を介してマルチキャストアドレス239.255.255.250に対してマルチキャスト送信される (ステップS42)。
Probeメッセージは、XML−SOAPで記述されており、一例を示すのであれば図12のメッセージフォーマットである。
ネットワーク対応デバイス200は、このProbeメッセージを受信すると(ステップS43)、受信したProbeメッセージはTCP/UDP/IPプロトコルスタック16を介して、SOAPプロセッサ20に通知される。SOAPプロセッサ20は、Probeメッセージの内容を解析し、その結果をWSDモジュール21に通知する。WSDモジュール21は、通知されたメッセージの内容が、このネットワーク対応デバイス200が提供する機能と一致しているか否かを判断し(ステップS44)、一致しないと判断した場合、その情報を無視する。したがって、この場合はネットワーク対応デバイス200からProbeレスポンスが発行されることは無い。
一方、一致すると判断した場合、WSDモジュール21においては、SOAPプロセッサ20に対してProbe Matchメッセージ発行を要求する。
SOAPプロセッサ6は、WS−Discovery仕様に基づきProbe Matchメッセージを生成し、プロトコルスタックを介してクライアント端末100に対してユニキャスト送信する (ステップS45)。
Probe MatchメッセージはXML−SOAPで記述されており、図13はそのメッセージフォーマットの一例である。
クライアント端末100が、上記のProbe Matchメッセージを受信すると(ステップS46)、TCP/UDP/IPプロトコルスタック4を介して、SOAPプロセッサ6に通知される。SOAPプロセッサ6は、Probe Matchメッセージの内容を解析し、その結果をWSDモジュール8に通知する。
WSDモジュール8は、Probe Matchメッセージに記述されたアドレスに対し、該メッセージを発行したネットワーク対応デバイス200の属性情報を取得するために、SOAPプロセッサ6に対してWS−MetadataExchangeで規定されるGetMetadataメッセージ発行を要求する。
SOAPプロセッサ6は、WS−MetadataExchange仕様に基づきGetMetadataメッセージを生成し、プロトコルスタックを介してネットワーク対応デバイス200に対してユニキャスト送信する (ステップS47)。
GetMetadataメッセージはXML−SOAPで記述されており、既に図9で示した通りである。
ネットワーク対応デバイス200は、このGetMetadataメッセージを受信すると、TCP/UDP/IPプロトコルスタック18を介して、SOAPプロセッサ20に通知する(ステップS48)。SOAPプロセッサ20は、GetMetadataメッセージの内容を解析し、その結果をWSDモジュール21に通知する。WSDモジュール21は、指定された属性情報をクライアントに対して返信するために、SOAPプロセッサ20に対してWS−MetadataExchangeで規定されるGetMetadataResponseメッセージ発行を要求する。
SOAPプロセッサ20は、WS−MetadataExchange仕様に基づきGetMetadataResponseメッセージを生成し、プロトコルスタックを介してクライアント端末100に対してユニキャスト送信する (ステップS49)。
GetMetadataResponseメッセージはXML−SOAPで記述されており、その記載フォーマットは既に説明した図10に示した通りである。
クライアント端末100が、このGetMetadataResponseメッセージを受信すると(ステップS51)、受信したメッセージはTCP/UDP/IPプロトコルスタック4を介して、SOAPプロセッサ6に通知される。
GetMetadataResponseメッセージに記述されたデバイスの属性情報は、クライアント端末100のSOAPプロセッサ6を介して、デバイス属性情報がWSDモジュール8に通知される。この結果、WSDモジュール8は、プラグアンドプレイコントローラ11を起動し(ステップS52)、デバイス属性情報をプラグアンドプレイコントローラ11に通知する。通知をうけたプラグアンドプレイコントローラ11はメモリコントローラを介してデバイス属性情報に一致するドライバを、ハードディスク等の記憶装置上より検索し、該当するドライバのインストールを実行する (ステップS53)。
以上、説明した各工程を実行することで、クライアント端末100は異なるネットワーク環境に対して、個別にプラグアンドプレイのモードを設定することが可能となり、それぞれのネットワーク環境に適するプラグアンドプレイが実行可能となる。特に、未知にネットワークに接続した際に、無条件にネットワーク対応デバイスのデバイスドライバがインストールされることがなくなるので、携帯端末を利用した作業が直ちに行え、且つ、携帯端末が有する限られたメモリを有効利用することも可能になる。
なお、実施形態では、クライアント端末100がネットワークに接続した際に、そのネットワークが過去に接続経験のあるネットワークの場合(図2のステップS5でYesの場合)、設定内容を変更するか否かを確認するためのポップアップメニューを表示したが、表示しないで直ちにプラグアンドプレイ設定データファイルに従った処理を行うようにしても構わない。ただし、このままでは、プラグアンドプレイ設定データファイルを再編集することができなくなるので、別途ユーティリティアプリケーションから編集できるようにしても良い。
また、上記実施形態では、接続経験のあるネットワークの数分のプラグアンドプレイ設定データファイルが作成されることになるが、これらを1つのファイルで記憶管理するようにしても良い。1つのファイルで管理する場合、そのデータ構造はバイナリ形式になるが、図20のようなものとすることができる。図示では、過去に3つのネットワークに接続したことがある例を示している。なお、図中「…」は、そのデータ項目はネットワーク判定の条件には含めないことを示している。
<第2の実施形態>
上記第1の実施形態では、プラグアンドプレイ設定データファイルには、ネットワークの通信にかかるパラメータを記述するものであったが、利用する通信コントローラの種類(実施形態では、Ethernet(登録商標), Wi-Fi, Bluetoothコントローラの3つ)に従ってProbeメッセージ発行許可/不許可、Helloメッセージに対する応答/応答禁止を設定する例を第2の実施形態として説明する。
図14は、第2の実施形態における、各ネットワークコントローラ毎に、ネットワークプラグアンドプレイモードを設定する手順を示すフローチャートである。
プラグアンドプレイモード設定ユーティリティ7を起動する(ステップS61)、ネットワークマネージャ9に対して、現在利用可能な状態にあるネットワークコントローラの情報を取得する(ステップS62)。
図15は、第2の実施形態におけるプラグアンドプレイモード設定ユーティリティ7のユーザインターフェイスを示すものであるが、ネットワークマネージャより取得した情報は、“ネットワークを指定してください”の指定項目において、プルダウンメニューの形で表示される。実施形態の場合、Ethernet(登録商標), Wi-Fi, Bluetoothのいずれかを選択することが可能である。そして、選択したネットワーク接続形態に対して、ネットワーク対応デバイス200の検索機能、およびHelloメッセージ応答に対して、それぞれ許可、禁止の設定が可能となっており、いずれもプルダウンメニューにより、許可、禁止のいずれかを選択設定することが可能である(ステップS63)。
ここでOKボタンをポインティングデバイスで指示すると、設定完了であるものとして判断し(ステップS64)、設定情報を図16に示すフォーマットにてハードディスク等のメモリ上に記録する(ステップS65)。
この設定はクライアントデバイス100がネットワークに接続していない状態であっても可能であり、現在使用中のネットワーク環境から、例えば訪問先オフィスにおいてネットワーク利用することが予めわかっている場合などにおいて、事前にプラグアンドプレイモードを設定しておくことが可能となる。
図17は、クライアント端末100がネットワーク接続した際のプラグアンドプレイモード設定ユーティリティ7の処理手順を示すフローチャートである。
クライアント端末100がEthernet(登録商標),Wi−Fi,Bluetoothのいずれかの通信媒体を介してネットワーク接続が開始されると、ネットワークマネージ9よりプラグアンドプレイモード設定ユーティリティ7に対しNotifyが通知される(ステップS71)。プラグアンドプレイモード設定ユーティリティ7は、この通知をトリガーとしネットワークマネージャ9を介して現在稼動中のネットワークコントローラが、Ehternet、Wi-FI、Bluetooth Controllerのいずれであるか情報を取得する(ステップS72)。
次に取得したデータをメモリコントローラ10を介して、メモリ上に記録されたプラグアンドプレイ設定データの検索と比較処理を行う(ステップS73)。そして、現在稼動中のネットワーク接続しているネットワークコントローラを記述したプラグアンドプレイ設定データが発見できたか否かを判断する(ステップS74)。
一致するプラグアンドプレイ設定データが発見できた場合には、ステップS75に進み、そのプラグアンドプレイ設定情報を読み込み、その設定情報を図4に示すとおりポップアップメニューを表示し、ユーザに対し、設定を変更するか否かの判断を促す。ここでユーザがNoボタンがポインティングデバイスで指示された場合、読み込んだプラグアンドプレイ設定データに従ってプラグアンドプレイ制御を実施する(ステップS77)。
また、図4のメニューにてYesボタンが指示された場合、すなわち、プラグアンドプレイ設定を変更する指示が入力された場合はステップS78に進む。また、ステップS74にて、現在ネットワーク接続しているネットワークコントローラの種類を記述したプラグアンドプレイ設定データが存在しなかった場合、即ち事前に利用が想定されていなかったネットワーク環境であり、プラグアンドプレイモード設定が実行されていない場合にもステップS78に進む。ステップS78では、図5に示すポップアップメニューを表示、このネットワーク環境に対するプラグアンドプレイモードの設定を利用者に促す。
ポップアップメニューには、現在クライアントデバイス100が接続しているネットワーク種別、およびネットワーク情報の一部が表示されており、ネットワーク対応デバイス200の検索機能、およびHelloメッセージ応答に対して、それぞれ許可、禁止の設定が可能となっている。
図5のメニューにて、OKボタンが指示されると、設定が完了したものとして判断し(ステップS79)、その設定内容を前述の図16に示すフォーマットにてハードディスク等のメモリ上に保存する(ステップS80)。なお、このステップS80の保存処理であるが、ステップS76からステップS78に処理が進んだ場合には再保存となる。そして、ステップS74からステップS78に処理が進んだ場合には、新規保存となる。この後、設定内容に従って、プラグアンドプレイ制御を実行する(ステップS77)。
この設定に基づく、ネットワーク対応デバイス 200の検索処理、およびHelloメッセージ応答に対するそれぞれ許可、禁止する具体的な処理は、先に説明した第1の実施形態と同様であるので、その説明は省略する。
<第3の実施形態>
上記第1の実施形態では、Probe発行の許可/禁止、Helloメッセージに対する応答可/不可の判定を、ネットワーク接続環境のDCHPを利用する/しない、ローカルIPアドレス、サブネットマスク、DNSサーバやDHCPサーバのIPアドレス等のネットワーク環境に基づき判定した。また、第2の実施形態では、ネットワークコントローラの種類をネットワーク環境として判定した。
Probe発行の許可/禁止、Helloメッセージに対する応答可/不可の判定を、ネットワーク接続環境のDCHPを利用する/しない、ローカルIPアドレス、サブネットマスク、DNSサーバやDHCPサーバのIPアドレス、更には、ネットワークコントローラの種類に基づいて判定するようにしても構わない。
<その他の実施形態>
上述した各実施形態においては、ネットワークデバイスの検索、およびネットワークデバイスがネットワークに参加したことの通知を、WS−Discoveryで定義されるプロトコルを採用しているが、この限りではなく例えばUPnP v1で規定されるSSDP(Simple Service Discovery Protocol)、GENA(General Event Notification Architecture)などを利用することでも実現可能である。また、ネットワークデバイスの検索プロトコルとして、ネットワークデバイスの属性情報を取得するためのアドレス、およびネットワークデバイスを制御するための制御情報送信先が取得することが可能であるプロトコルであれば、いずれのプロトコルであっても適用可能である。従って、本発明は上記実施形態によって限定されるものではない。
また上述した実施形態においては、通信媒体としてEthernet(登録商標), Wi-Fi(ワイヤレス通信IEEE802.1 a/b/g)、およびBluetoothを利用する例を説明したが、デバイスの発見、およびデバイスが機能実行を開始したことを通知することが可能な通信媒体であれば、ローカルI/O、ネットワークのいずれの場合も適用可能である。
また上述した実施形態においては、プラグアンドプレイの一例として、発見したネットワークデバイスに対応したドライバのインストールを採用しているが、ネットワークデバイスを利用、制御するために必要なユーティリティ、アプリケーションなどをクライアントデバイス100に自動的にインストールする場合においても適用可能である。
また、上述した実施形態においてネットワーク対応デバイスとしてプリンタを例に挙げたが、これはあくまで例示であり、通信媒体を介して利用、制御可能なデバイスであれば、スキャナ、ストレージデバイス等、いずれのデバイスに対しても適用可能である。
また、上述した実施形態においては、クライアント端末100がネットワークデバイスを制御するためのドライバをメモリ上に保持する形態を示したが、ドライバに限らずアプリケーション、ユーティリティソフトウエアに対しても適用可能であり、また、これらソフトウエアはネットワークデバイス上に保持されている場合、あるいは第3のサーバー上に保持されている場合にも適用可能である。
また、上述した実施形態においては、ネットワーク環境を識別するための情報として、DHCP Enabled、IP Address、Subnet Mask、Default Gateway、DNS Server、DHCP Server
を利用した実施形態を示したが、一義的にネットワーク環境を識別することが可能であれば良いので他の情報でも構わない。
また、上述した実施形態におけるクライアント端末100及びネットワーク対応デバイス200における各処理機能は、各処理機能を実現する為のプログラムをメモリから読み出してCPU(中央演算装置)が実行することによりその機能を実現させるものであるが、これに限定さるものではなく、各処理機能の全部または一部の機能を専用のハードウェアにより実現してもよい。また、上述したメモリは、光磁気ディスク装置、フラッシュメモリ等の不揮発性のメモリや、CD−ROM等の読み出しのみが可能な記録媒体、RAM以外の揮発性のメモリ、あるいはこれらの組合せによるコンピュータ読み取り、書き込み可能な記録媒体より構成されてもよい。
また、上記実施形態で説明したように、本発明の主要な特徴はクライアント端末100におけるアプリケーションプログラムにある。通常、アプリケーションプログラムは、CD−ROM等のコンピュータ可読記憶媒体に記憶されている。そして、そのコンピュータ可読記憶媒体をコンピュータが読み込み可能な読取装置(例えばCD−ROMドライブ等)にセットし、システムにコピーもしくはインストールすることで、実行可能になる。従って、このようなコンピュータ可読記憶媒体も、当然に本発明の範疇になるのは明らかである。
実施形態におけるネットワークプラグアンドプレイシステムの概略構成を示すブロック図である。 実施形態におけるプラグアンドプレイモード情報の取得、および設定手順を示すフローチャートである。 実施形態におけるプラグアンドプレイ設定データのフォーマットを示す図である。 実施形態におけるプラグアンドプレイモード設定情報示すポップアップメニューの一例を示す図である。 実施形態におけるプラグアンドプレイモード設定用ポップアップメニューの一例を示す図である。 実施形態におけるプラグアンドプレイモード設定に従い、ネットワークデバイスの検索とHelloメッセージ応答に対する処理内容を示すフローチャートである。 実施形態におけるクライアント端末とネットワークデバイスとの間でのプラグアンドプレイ処理の流れを示すフローチャートである。 WS−Discovery仕様で定義されるHelloメッセージフォーマットを示す図である。 WS−MetadataExchange仕様で定義されるGetMetadataメッセージのフォーマットを示す図である。 WS−MetadataExchange仕様で定義されるGetMetadataResponseメッセージのフォーマットを示す図である。 実施形態におけるクライアント端末とネットワークデバイスとの間でのプラグアンドプレイ処理の流れを示すフローチャートである。 WS−Discovery仕様で定義されるProbeメッセージのフォーマットを示す図である。 WS−Discovery仕様で定義されるProbeMatchメッセージフォーマットを示す図である。 第2の実施形態におけるネットワークコントローラの種類毎のネットワークプラグアンドプレイモードを設定する手順を示すフローチャートである。 第2の実施形態におけるプラグアンドプレイモード設定ユーティリティのユーザインターフェイスを示す図である。 第2の実施形態におけるプラグアンドプレイ設定データのフォーマット示す図である。 第2の実施形態におけるプラグアンドプレイモード情報の取得、および設定手順を示すフローチャートである。 第1の実施形態におけるネットワーク環境の比較処理手順を示すフローチャートである。 UPnPネットワークデバイスの発見からそのデバイスドライバのインストールされるまでの一般的なシーケンスを示す図である。 第1の実施形態におけるプラグアンドプレイ設定データのテーブル形式で保持する場合のデータフォーマットを示す図である。

Claims (9)

  1. ネットワーク通信手段を介してネットワークデバイスを検出し、当該検出したネットワークデバイスに対応するデバイスドライバを自動インストールする情報処理装置であって、
    接続するネットワークを特定するネットワーク環境情報と当該ネットワーク環境情報で示されるネットワークに対して前記デバイスドライバの自動インストールのための機能の利用の可否を設定る設定手段と、
    前記設定手段により設定された情報を記述した設定情報を記憶する記憶手段と、
    続中のネットワークに関するネットワーク環境情報を取得する取得手段と、
    前記記憶手段により記憶されている設定情報の中から、前記取得手段で取得されたネットワーク環境情報に対応する設定情報を特定する特定手段と、
    前記特定手段により特定された設定情報の内容を表示する表示手段と、
    前記特定手段により特定された設定情報に従い、接続中のネットワークのネットワークデバイスに対応するデバイスドライバの自動インストールのを行う制御手段とを備え、
    前記デバイスドライバの自動インストールのための機能には、接続中のネットワーク上のネットワークデバイスから発行されたネットワーク参加メッセージを前記情報処理装置が搭載しているインストールの制御のためのシステムへ通知する第1機能と、ネットワークデバイスの探索メッセージをネットワークへ送信する第2機能とが含まれ、
    前記設定手段は、ネットワーク環境情報に応じて前記第1機能及び前記第2機能のそれぞれの利用の可否を設定し、
    前記制御手段は、前記設定情報において、前記第1機能の利用が可と設定されている場合には前記ネットワーク参加メッセージにより特定されるネットワークデバイスに対応するデバイスドライバの自動インストールを行い、前記第1機能の利用が否と設定されている場合には前記ネットワーク参加メッセージにより特定されるネットワークデバイスに対応するデバイスドライバの自動インストールを行わず、前記第2機能の利用が可と設定されている場合には前記探索メッセージにより発見されたネットワークデバイスに対応するデバイスドライバの自動インストールを行い、前記第2機能の利用が否と設定されている場合には前記探索メッセージにより発見されたネットワークデバイスに対応するデバイスドライバの自動インストールを行わないことを特徴とする情報処理装置。
  2. 前記ネットワーク環境情報は、DHCPを利用する/しない、自身のIPアドレス、サブネットマスク、デフォルトゲートウェイアドレス、DNSサーバアドレス、及びDHCPサーバアドレスの少なくともいずれかを含むことを特徴とする請求項1に記載の情報処理装置。
  3. 前記ネットワーク環境情報は、前記ネットワークに接続するために用いた通信機能の種類を含むことを特徴とする請求項1または2に記載の情報処理装置。
  4. 前記特定手段が前記取得手段で取得されたネットワーク環境情報に対応する設定情報が前記記憶手段になく、特定できなかった場合、前記設定手段により新規の設定情報に関する設定が行われることを特徴とする請求項1乃至3のいずれか1項に記載の情報処理装置。
  5. 更に、前記表示手段により設定情報の内容を表示した際に、ユーザの指示に応じて、当該設定情報の内容を編集する編集手段を備えることを特徴とする請求項1乃至のいずれか1項に記載の情報処理装置。
  6. ネットワークデバイスのデバイスドライバの自動インストールは、ネットワークプラグアンドプレイを利用し、前記ネットワーク参加メッセージはHelloメッセージ、前記探索メッセージはProbeメッセージであることを特徴とする請求項1に記載の情報処理装置。
  7. ネットワーク通信手段を介してネットワークデバイスを検出し、当該検出したネットワークデバイスに対応するデバイスドライバを自動インストールする情報処理装置の制御方法であって、
    接続するネットワークを特定するネットワーク環境情報と当該ネットワーク環境情報で示されるネットワークに対して前記デバイスドライバの自動インストールのための機能の利用の可否を設定る設定工程と、
    前記設定手段により設定された情報を記述した設定情報を記憶手段に格納する格納工程と、
    続中のネットワークに関するネットワーク環境情報を取得する取得工程と、
    前記記憶手段により記憶されている設定情報の中から、前記取得工程で取得されたネットワーク環境情報に対応する設定情報を特定する特定工程と、
    前記特定工程により特定された設定情報の内容を表示する表示工程と、
    前記特定工程により特定された設定情報に従い、接続中のネットワークのネットワークデバイスに対応するデバイスドライバの自動インストールのを行う制御工程とを有し
    前記デバイスドライバの自動インストールのための機能には、接続中のネットワーク上のネットワークデバイスから発行されたネットワーク参加メッセージを前記情報処理装置が搭載しているインストールの制御のためのシステムへ通知する第1機能と、ネットワークデバイスの探索メッセージをネットワークへ送信する第2機能とが含まれ、
    前記設定工程では、ネットワーク環境情報に応じて前記第1機能及び前記第2機能のそれぞれの利用の可否を設定し、
    前記制御工程では、前記設定情報において、前記第1機能の利用が可と設定されている場合には前記ネットワーク参加メッセージにより特定されるネットワークデバイスに対応するデバイスドライバの自動インストールを行い、前記第1機能の利用が否と設定されている場合には前記ネットワーク参加メッセージにより特定されるネットワークデバイスに対応するデバイスドライバの自動インストールを行わず、前記第2機能の利用が可と設定されている場合には前記探索メッセージにより発見されたネットワークデバイスに対応するデバイスドライバの自動インストールを行い、前記第2機能の利用が否と設定されている場合には前記探索メッセージにより発見されたネットワークデバイスに対応するデバイスドライバの自動インストールを行わないことを特徴とする情報処理装置の制御方法。
  8. ネットワーク通信手段を介してネットワークデバイスを検出し、当該検出したネットワークデバイスに対応するデバイスドライバを自動インストールするコンピュータである情報処理装置が実行するコンピュータプログラムであって、
    前記コンピュータを、
    接続するネットワークを特定するネットワーク環境情報と当該ネットワーク環境情報で示されるネットワークに対して前記デバイスドライバの自動インストールのための機能の利用の可否を設定る設定手段と、
    前記設定手段により設定された情報を記述した設定情報を記憶手段に格納する手段と、
    続中のネットワークに関するネットワーク環境情報を取得する取得手段と、
    前記記憶手段により記憶されている設定情報の中から、前記取得手段で取得されたネットワーク環境情報に対応する設定情報を特定する特定手段と、
    前記特定手段により特定された設定情報の内容を表示する表示手段と、
    前記特定手段により特定された設定情報に従い、接続中のネットワークのネットワークデバイスに対応するデバイスドライバの自動インストールのを行う制御手段として機能させ、
    前記デバイスドライバの自動インストールのための機能には、接続中のネットワーク上のネットワークデバイスから発行されたネットワーク参加メッセージを前記情報処理装置が搭載しているインストールの制御のためのシステムへ通知する第1機能と、ネットワークデバイスの探索メッセージをネットワークへ送信する第2機能とが含まれ、
    前記設定手段は、ネットワーク環境情報に応じて前記第1機能及び前記第2機能のそれぞれの利用の可否を設定し、
    前記制御手段は、前記設定情報において、前記第1機能の利用が可と設定されている場合には前記ネットワーク参加メッセージにより特定されるネットワークデバイスに対応するデバイスドライバの自動インストールを行い、前記第1機能の利用が否と設定されている場合には前記ネットワーク参加メッセージにより特定されるネットワークデバイスに対応するデバイスドライバの自動インストールを行わず、前記第2機能の利用が可と設定されている場合には前記探索メッセージにより発見されたネットワークデバイスに対応するデバイスドライバの自動インストールを行い、前記第2機能の利用が否と設定されている場合には前記探索メッセージにより発見されたネットワークデバイスに対応するデバイスドライバの自動インストールを行わないことを特徴とするコンピュータプログラム。
  9. 請求項に記載のコンピュータプログラムを格納したことを特徴とするコンピュータ可読記憶媒体。
JP2005252472A 2005-08-31 2005-08-31 情報処理装置、情報処理装置の制御方法、並びに、コンピュータプログラム及びコンピュータ可読記憶媒体 Expired - Fee Related JP4667175B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2005252472A JP4667175B2 (ja) 2005-08-31 2005-08-31 情報処理装置、情報処理装置の制御方法、並びに、コンピュータプログラム及びコンピュータ可読記憶媒体
PCT/JP2006/317397 WO2007026908A1 (en) 2005-08-31 2006-08-29 Information processing apparatus, method of controlling information processing apparatus, computer program, and computer readable storage medium
US11/917,087 US8214322B2 (en) 2005-08-31 2006-08-29 Information processing apparatus, method of controlling information processing apparatus, computer program, and computer readable storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005252472A JP4667175B2 (ja) 2005-08-31 2005-08-31 情報処理装置、情報処理装置の制御方法、並びに、コンピュータプログラム及びコンピュータ可読記憶媒体

Publications (3)

Publication Number Publication Date
JP2007066091A JP2007066091A (ja) 2007-03-15
JP2007066091A5 JP2007066091A5 (ja) 2008-10-09
JP4667175B2 true JP4667175B2 (ja) 2011-04-06

Family

ID=37808992

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005252472A Expired - Fee Related JP4667175B2 (ja) 2005-08-31 2005-08-31 情報処理装置、情報処理装置の制御方法、並びに、コンピュータプログラム及びコンピュータ可読記憶媒体

Country Status (3)

Country Link
US (1) US8214322B2 (ja)
JP (1) JP4667175B2 (ja)
WO (1) WO2007026908A1 (ja)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070285704A1 (en) * 2006-06-09 2007-12-13 Yuwen Wu Automatic printer registration
JP2008258584A (ja) 2007-03-15 2008-10-23 Citizen Electronics Co Ltd Ledユニット
JP5006683B2 (ja) * 2007-04-11 2012-08-22 キヤノン株式会社 ネットワーク端末管理装置、方法、及び、プログラム
US8135822B2 (en) * 2007-05-14 2012-03-13 Ricoh Company, Ltd. Reporting events from multiple WS-enabled devices
US20090070439A1 (en) * 2007-09-07 2009-03-12 Hongfeng Wei System and method for generating a pluggable network stack interface
JP5284023B2 (ja) * 2007-10-05 2013-09-11 キヤノン株式会社 情報処理装置および制御方法および制御プログラム
JP4936551B2 (ja) 2007-11-16 2012-05-23 キヤノン株式会社 管理装置、管理方法、及びコンピュータプログラム
JP2009145970A (ja) 2007-12-11 2009-07-02 Canon Inc ドライバ管理装置、ドライバ管理方法、及びコンピュータプログラム
US9717042B2 (en) 2008-06-04 2017-07-25 Nokia Solutions And Networks Oy Network discovery and selection
US8271967B2 (en) * 2008-06-09 2012-09-18 Ricoh Company, Ltd. MFP software update using web service
CN101827363B (zh) * 2009-03-03 2015-07-01 夏普株式会社 通信系统、信息处理系统及装置、图像形成系统及装置、便携信息终端装置
JP5521774B2 (ja) * 2010-05-25 2014-06-18 ソニー株式会社 情報処理装置、情報処理方法、及びそのプログラム
US20130167075A1 (en) * 2010-06-30 2013-06-27 Adobe Systems Incorporated Managing Display Areas
JP2012084120A (ja) * 2010-09-16 2012-04-26 Ricoh Co Ltd 管理対象機器、機器管理装置、機器管理システム、及び機器管理方法
US8655321B2 (en) * 2011-04-11 2014-02-18 Microsoft Corporation Adaptive notifications
US9106721B2 (en) 2012-10-02 2015-08-11 Nextbit Systems Application state synchronization across multiple devices
US8875127B2 (en) 2012-10-02 2014-10-28 Nextbit Systems Inc. Operating system customization
US9038060B2 (en) * 2012-10-02 2015-05-19 Nextbit Systems Inc. Automatically installing operating system specific to a detected network
CN105375970B (zh) * 2015-09-30 2018-12-18 青岛海信移动通信技术股份有限公司 一种移动设备进行中继的方法和装置
CN105375969B (zh) 2015-09-30 2018-10-19 青岛海信移动通信技术股份有限公司 一种移动设备进行中继的方法和装置
US10817397B2 (en) * 2019-03-14 2020-10-27 Dell Products, L.P. Dynamic device detection and enhanced device management
CN113115403B (zh) * 2021-03-25 2023-05-30 北京小米移动软件有限公司 网络节点接入网络的方法、装置、电子设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001117834A (ja) * 1999-10-19 2001-04-27 Fuji Xerox Co Ltd ネットワーク通信環境設定システム、ネットワーク通信環境設定方法、及び、ネットワーク通信環境設定プログラムを記録したコンピュータ読取可能な記録媒体
JP2003316650A (ja) * 2002-04-18 2003-11-07 Internatl Business Mach Corp <Ibm> コンピュータ装置、携帯情報機器、セキュリティ切り替え方法、およびプログラム
JP2003323363A (ja) * 2002-04-30 2003-11-14 Fujitsu Ltd 環境設定装置、環境設定プログラム、および情報処理装置
JP2005135414A (ja) * 2003-10-27 2005-05-26 Microsoft Corp ネットワーク装置の単純で動的な構成

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6941356B2 (en) * 2001-06-29 2005-09-06 International Business Machines Corporation Automated configuration enabled via interrogation over network
US9886309B2 (en) * 2002-06-28 2018-02-06 Microsoft Technology Licensing, Llc Identity-based distributed computing for device resources
US7418486B2 (en) * 2003-06-06 2008-08-26 Microsoft Corporation Automatic discovery and configuration of external network devices
WO2006063118A2 (en) * 2004-12-07 2006-06-15 Pure Networks, Inc. Network management

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001117834A (ja) * 1999-10-19 2001-04-27 Fuji Xerox Co Ltd ネットワーク通信環境設定システム、ネットワーク通信環境設定方法、及び、ネットワーク通信環境設定プログラムを記録したコンピュータ読取可能な記録媒体
JP2003316650A (ja) * 2002-04-18 2003-11-07 Internatl Business Mach Corp <Ibm> コンピュータ装置、携帯情報機器、セキュリティ切り替え方法、およびプログラム
JP2003323363A (ja) * 2002-04-30 2003-11-14 Fujitsu Ltd 環境設定装置、環境設定プログラム、および情報処理装置
JP2005135414A (ja) * 2003-10-27 2005-05-26 Microsoft Corp ネットワーク装置の単純で動的な構成

Also Published As

Publication number Publication date
US20100061268A1 (en) 2010-03-11
WO2007026908A1 (en) 2007-03-08
JP2007066091A (ja) 2007-03-15
US8214322B2 (en) 2012-07-03

Similar Documents

Publication Publication Date Title
JP4667175B2 (ja) 情報処理装置、情報処理装置の制御方法、並びに、コンピュータプログラム及びコンピュータ可読記憶媒体
JP4865299B2 (ja) 情報処理装置及び情報処理方法及びそのプログラム
US7805493B2 (en) Network service system, service proxy processing method, computer-readable storage medium storing program, and program therefor
JP4756994B2 (ja) ネットワークプリントシステム及びネットワーク周辺装置及び情報処理装置とプログラム
US7895361B2 (en) Apparatus, method, and program for executing protocol converting process
US9009285B2 (en) Network system and management method therefor
US7747779B2 (en) Information processing apparatus, information processing method, and medium storing therein program for executing the method
JP2007066092A (ja) 情報処理装置及びネットワークデバイス及びそれらの制御方法、並びに、コンピュータプログラム及びコンピュータ可読記憶媒体
US7827235B2 (en) Service providing system, service providing method, and program of the same
US20060230420A1 (en) Wireless connection setting program
JP2003006133A (ja) 情報処理方法および制御プログラムおよび情報処理装置および周辺装置および応答方法および代理応答装置およびネットワークシステム
JP5159071B2 (ja) 通信システム及び通信装置とその制御方法
JP2007114901A (ja) ネットワーク対応出力デバイス及び情報処理装置及びそれらの制御方法、並びにコンピュータプログラム及びコンピュータ可読記憶媒体、及び、ネットワークシステム
WO2008069080A2 (en) Management apparatus and method thereof
JP2009230358A (ja) 情報処理装置、画像形成装置及びその制御方法
US8135742B2 (en) Proxy service providing apparatus, service providing method, and network system
KR101606831B1 (ko) 화상형성장치, 호스트 장치 및 인쇄 제어 방법
JP2007265392A (ja) 情報処理装置、プログラム及び該プログラムを記憶した記憶媒体
JP2007148828A (ja) 情報処理装置及びその制御方法
JP4912093B2 (ja) 情報処理方法、情報処理装置、プログラム及び記憶媒体
JP5016475B2 (ja) 通信装置,制御方法,プログラム,および記録媒体
JP2009020916A (ja) 制御装置、制御プログラム、制御方法
JP2007199825A (ja) データ処理装置、出力装置、情報処理装置、ドライバ処理方法、プログラム
JP2009053869A (ja) デバイスセットアップ装置及びその制御方法

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080826

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080826

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101012

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101210

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

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

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

Free format text: PAYMENT UNTIL: 20140121

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees