(57)【要約】【課題】  ネットワーク上のデバイスを検索するとともに、適切なデバイス情報を用いて処理すること。【解決手段】  第１のプロトコルを用いてネットワーク上のデバイスを検索するとともに第１デバイス情報を取得する。ネットワーク上のデバイスから第２のプロトコルに関する第２デバイス情報を取得する。第２デバイス情報を、第１デバイス情報より優先して処理する。【選択図】  図５
2015114842.tif 000002
【特許請求の範囲】
【請求項１】
第１のプロトコルを用いてネットワーク上のデバイスを検索するとともに検索されたデバイスから第１デバイス情報を取得する第１取得手段と、
前記ネットワーク上のデバイスから第２のプロトコルに関する第２デバイス情報を取得する第２取得手段と、
前記第２取得手段で取得される第２デバイス情報を、前記第１取得手段で取得される第１デバイス情報より優先して処理する処理手段と
を備えることを特徴とする情報処理装置。
【請求項２】
前記第２取得手段は、前記第１取得手段により第１デバイス情報を取得したデバイスから前記第１のプロトコルを用いて第２デバイス情報を取得する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記第２取得手段は、前記第２のプロトコルを用いて前記ネットワーク上のデバイスを検索するとともに検索されたデバイスから第２デバイス情報を取得する
ことを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
前記第２取得手段は、前記第１のプロトコル及び前記第２のプロトコル以外のプロトコルを用いて第２デバイス情報を取得する
ことを特徴とする請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項５】
前記処理手段は、前記第２取得手段により第２デバイス情報を取得する前に前記第１取得手段により第１デバイス情報を取得した場合、デバイス情報を用いた処理の実行を待機する
ことを特徴とする請求項１乃至４のいずれか１項に記載の情報処理装置。
【請求項６】
前記処理手段は、前記第２取得手段により第２デバイス情報を取得できなかった場合に前記第１取得手段により取得された第１デバイス情報を用いた処理を行う
ことを特徴とする請求項１乃至５のいずれか１項に記載の情報処理装置。
【請求項７】
前記処理手段は、選択候補のデバイスを、前記第１取得手段により取得された第１デバイス情報及び前記第２取得手段の少なくとも一方により取得された第２デバイス情報を用いて表示装置に表示させる
ことを特徴とする請求項１乃至６のいずれか１項に記載の情報処理装置。
【請求項８】
前記第１取得手段及び第２取得手段の少なくとも一方は、指定されたサービスに対応したデバイスのデバイス情報を取得する
ことを特徴とする請求項１乃至７のいずれか１項に記載の情報処理装置。
【請求項９】
前記サービスは、印刷または読取を含む
ことを特徴とする請求項８に記載の情報処理装置。
【請求項１０】
第１のプロトコルを用いてネットワーク上のデバイスを検索するとともに検索されたデバイスから第１デバイス情報を取得する第１取得工程と、
前記ネットワーク上のデバイスから第２のプロトコルに関する第２デバイス情報を取得する第２取得工程と、
前記第２取得工程で取得される第２デバイス情報を、前記第１取得工程で取得される第１デバイス情報より優先して処理する処理工程と
を有することを特徴とする情報処理方法。
【請求項１１】
請求項１乃至９のいずれか１項に記載の情報処理装置の各手段または請求項１０に記載の情報処理方法をコンピュータにより実現するためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワーク上のデバイスを検索するための情報処理技術に関するものである。
【背景技術】
【０００２】
近年、ネットワーク対応型のデバイスの普及に伴い、ネットワーク上のデバイスをネットワーク経由で検索するＤｉｓｃｏｖｅｒｙプロトコルが開発されている。既に様々なＤｉｓｃｏｖｅｒｙプロトコルが存在する。これには、デバイスを開発するベンダーが独自で開発したプロトコル（以降、独自プロトコル）や、アップル社のオペレーティングシステムであるＭａｃ  ＯＳ  Ｘ（登録商標）で使用されているＢｏｎｊｏｕｒ（登録商標）のように公開されたプロトコル等がある。Ｂｏｎｊｏｕｒは、ＩＥＴＦにより策定されたＺｅｒｏ  Ｃｏｎｆｉｇｕｒａｔｉｏｎ  Ｎｅｔｗｏｒｋｉｎｇという仕様に基づいている。Ｚｅｒｏ  Ｃｏｎｆｉｇｕｒａｔｉｏｎ  Ｎｅｔｗｏｒｋｉｎｇに関する情報は、非特許文献１で公開されているので、ここではその詳細説明を省略する。
【０００３】
このように、様々なＤｉｓｃｏｖｅｒｙプロトコルが存在する中で、独自プロトコルとＢｏｎｊｏｕｒのような標準プロトコルを含む複数のプロトコルに対応したデバイスが増加している。特許文献１では、予め定められたネットワークプロトコルでデータ転送を行うために、このプロトコルでの検索と、他のプロトコルでの検索を行うことにより、特定のプロトコルに対応したデバイスをより確実に検索することが開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−３１８９９号公報
【非特許文献】
【０００５】
【非特許文献１】Zero Configuration Networking (Zeroconf)  インターネット（URL：http://www.zeroconf.org/）
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、複数のＤｉｓｃｏｖｅｒｙプロトコルで各々検索する場合、各Ｄｉｓｃｏｖｅｒｙプロトコルでの検知タイミングのずれなどにより所望のデバイス情報が取得できないことがある。
【０００７】
この課題を説明するための例として、デバイスが独自プロトコルとＢｏｎｊｏｕｒの２つに対応しており、検索結果としてデバイス情報を表示によりユーザに提供する場合を想定する。また、独自プロトコルではデバイス情報としてＭＡＣアドレスのみが送信され、ＢｏｎｊｏｕｒではＢｏｎｊｏｕｒ  Ｓｅｒｖｉｃｅ  Ｎａｍｅが送信されるものとする。このような場合、Ｂｏｎｊｏｕｒで送信されるＢｏｎｊｏｕｒ  Ｓｅｒｖｉｃｅ  Ｎａｍｅを優先して表示することが望ましい。なぜなら、独自プロトコルで送信されるＭＡＣアドレスは「００：１１：２２：３３：４４：５５」のように４８ビットの決められた番号であり、ユーザにとってはＭＡＣアドレスに相当するデバイスを識別することが難しいからである。それに対して、Ｂｏｎｊｏｕｒ  Ｓｅｒｖｉｃｅ  Ｎａｍｅはユーザが独自に名称を付けられるためデバイスを特定しやすい。そのため、ＭＡＣアドレスではなくＢｏｎｊｏｕｒ  Ｓｅｒｖｉｃｅ  Ｎａｍｅを優先して表示する方が望ましい。
【０００８】
ネットワーク上のデバイスは、独自プロトコルだけをサポートするものや、Ｂｏｎｊｏｕｒだけをサポートするもの、または、両方のプロトコルをサポートするものなど様々である。そのため、独自プロトコルとＢｏｎｊｏｕｒの両方でデバイスを検索することがある。なぜなら一方のプロトコルでのみ検索した場合、当該プロトコルに対応していないデバイスを発見することができなくなるからである。独自プロトコルとＢｏｎｊｏｕｒの両方でデバイスを検索する場合、２つのプロトコルでデバイス検知のタイミングはそれぞれ異なることがある。優先するＢｏｎｊｏｕｒの検知の方が速い場合にはＢｏｎｊｏｕｒ  Ｓｅｒｖｉｃｅ  Ｎａｍｅが取得され、その後に独自プロトコルによる検知が来た場合に、デバイス情報がＭＡＣアドレスに上書きされてしまうと、Ｂｏｎｊｏｕｒ  Ｓｅｒｖｉｃｅ  Ｎａｍｅを知ることができない。
【０００９】
また、優先しない独自プロトコルで先にデバイスを検知し、その後にＢｏｎｊｏｕｒによってデバイスを検知しても、Ｂｏｎｊｏｕｒ  Ｓｅｒｖｉｃｅ  Ｎａｍｅを優先的に検索結果として提示しなければ、ユーザはそれを知ることができない。また、独自プロトコルに従ってデバイスを利用したい場合であって、Ｂｏｎｊｏｕｒ  Ｓｅｒｖｉｃｅ  Ｎａｍｅを取得したい場合、Ｂｏｎｊｏｕｒによって取得してもそのデバイスが独自プロトコルで利用できないこともある。
【００１０】
また、このような課題は、Ｂｏｎｊｏｕｒや上記独自プロトコルに限らず、検索によって取得できる情報の異なる種々のプロトコルについても発生し得る。また、検索結果は、ユーザへの提示のための表示に限らず、表示以外で検索結果を利用する際にも発生し得る。
【００１１】
本発明は上記の課題を解決するためになされたものであり、ネットワーク上のデバイスを検索するとともに、適切なデバイス情報を用いて処理することができる情報処理技術を提供することを目的とする。
【課題を解決するための手段】
【００１２】
上記の目的を達成するための本発明による情報処理装置は以下の構成を備える。即ち、第１のプロトコルを用いてネットワーク上のデバイスを検索するとともに検索されたデバイスから第１デバイス情報を取得する第１取得手段と、
前記ネットワーク上のデバイスから前記第２のプロトコルに関する第２デバイス情報を取得する第２取得手段と、
前記第２取得手段で取得される第２デバイス情報を、前記第１取得手段で取得される第１デバイス情報より優先して処理する処理手段と
を備える。
【発明の効果】
【００１３】
本発明によれば、ネットワーク上のデバイスを検索するとともに、適切なデバイス情報を用いた処理を優先的に行うことができる。
【図面の簡単な説明】
【００１４】
【図１】ＰＣとデバイスの接続状態を示す図である。
【図２】ＰＣのハードウェア構成を示す図である。
【図３】デバイスのハードウェア構成を示す図である。
【図４】実施形態１のＰＣとデバイスの接続状態を示す図である。
【図５】実施形態１のＰＣのソフトウェア構成を示す図である。
【図６】実施形態１のＰＣが実行する処理を示すフローチャートである。
【図７】実施形態２のＰＣとデバイスの接続状態を示す図である。
【図８】実施形態２のＰＣのソフトウェア構成を示す図である。
【図９】実施形態２のＰＣが実行する処理を示すフローチャートである。
【発明を実施するための形態】
【００１５】
以下、本発明の実施の形態について図面を用いて詳細に説明する。
【００１６】
実施形態に係る情報処理装置の一例であるＰＣ（パーソナルコンピュータ）とデバイスの接続状態の一例について図１を参照して説明する。
【００１７】
図１において、１０１は情報処理装置であるＰＣであり、１０２、１０３及び１０４は周辺機器であるデバイスを示している。尚、デバイス１０４は、プリンタ、複写機、ファクシミリ、スキャナ、デジタルカメラ、ＰＣ等の装置であっても良いし、それらの複合機能を備える装置であっても良い。デバイス１０２は、通信プロトコルであるＤｉｓｃｏｖｅｒｙプロトコルとして独自プロトコルにのみ対応するデバイスである。デバイス１０３は、独自プロトコルとＢｏｎｊｏｕｒ（登録商標）の両方に対応するデバイスである。デバイス１０４は、Ｂｏｎｊｏｕｒのみに対応するデバイスである。このように、ネットワーク１０５上のデバイスは、様々なＤｉｓｃｏｖｅｒｙプロトコルに対応するデバイスが存在する。
【００１８】
尚、デバイス１０２、１０３及び１０４は、ＰＣ１０１と、例として、ＯＳＩ参照モデルにおけるデータリンク層としてＥｔｈｅｒｎｅｔ（登録商標）で構成されるネットワーク１０５で相互に接続されている。また、ネットワーク１０５は、ネットワーク層におけるプロトコルはインターネットプロトコル（ＩＰ）に対応しているものとする。また、上記Ｄｉｓｃｏｖｅｒｙプロトコルはアプリケーション層における通信プロトコルである。また、ネットワーク１０５は有線ネットワークに限らず、無線ネットワークとしてもよい。
【００１９】
また、Ｂｏｎｊｏｕｒでは、デバイス情報としてＢｏｎｊｏｕｒ  Ｓｅｒｖｉｃｅ  Ｎａｍｅ、ＩＰアドレス、ＭＡＣアドレスなどを取得可能である。Ｂｏｎｊｏｕｒ  Ｓｅｒｖｉｃｅ  Ｎａｍｅはユーザが任意にデバイスに設定可能な名前である。また、Ｂｏｎｊｏｕｒ  Ｓｅｒｖｉｃｅ  Ｎａｍｅは有線ネットワーク、無線ネットワークに共通に使用可能な名前である。独自プロトコルでは、デバイス情報としてデバイスのＭＡＣアドレスのみを取得する。尚、アプリケーション層の通信プロトコルはＢｏｎｊｏｕｒ、独自プロトコル以外、ＨＴＴＰやＦＴＰなどを用いるようにしてもよい。例えば、デバイスがＷｅｂサーバ機能を有し、デバイス情報を含む種々の情報をＨＴＭＬなどで記述したホームページとして保持し、ＰＣが汎用的なＷｅｂブラウザによって当該情報を取得する際にＨＴＴＰ、ＦＴＰなどを利用するようにしてもよい。
【００２０】
図２はＰＣ１０１のハードウェア構成を示す図である。ＰＣ１０１は汎用的なＰＣやスマートデバイスに所定のソフトウェアをインストールすることにより実現可能である。
【００２１】
ＰＣ１０１において、ディスプレイ２０１は、アプリケーションやドライバのＵＩや実行状態を表示する。ＣＰＵ２０２は、アプリケーションやドライバ等のプログラムをＲＯＭ２０３から読み出し実行する。ＲＯＭ２０３は、ＢＩＯＳ等の基本ソフトウェア、ＰＣ１０１で実行する処理を実現するための各種プログラムを格納している。ＲＡＭ２０４は、アプリケーションやドライバ等のソフトウェアやデータを一時的に記憶する。補助記憶装置２０５は、ハードディスク等の記憶装置で構成され、Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ（ＯＳ）、アプリケーション、ドライバ、種々のモジュールなどのソフトウェア（プログラム）を記憶する。キーボード２０６とポインティングデバイス２０７は、ユーザからの指示を入力する入力装置として機能する。ポインティングデバイス２０７の一例には、マウスがある。ディスプレイ２０１をタッチパネル形式とし、ユーザからの入力をタッチパネルによって受け付けるものとしてもよい。ネットワークボード２０８は、ネットワークを介して、デバイスとの通信を行う。そして、ＰＣ１０１を構成する各種構成要素は、バス２０９を介して相互に接続されている。
【００２２】
補助記憶装置２０５が記憶するドライバには、デバイス１０２〜１０４を制御するデバイスドライバ（スキャナドライバ、プリンタドライバ、カメラドライバなど）が含まれる。また、ディスプレイ２０１による表示を制御する表示制御ドライバが含まれる。また、キーボード２０６を制御するキーボードドライバ、ポインティングデバイス２０７を制御するポインティングデバイスドライバが含まれる。また、ネットワークボード２０８がネットワーク１０５における通信を制御するネットワークドライバが含まれる。また、補助記憶装置２０５が記憶するアプリケーションにはＢｏｎｊｏｕｒによるディスカバリ（デバイスの検索及びデバイスのデバイス情報の取得）を行う機能、独自プロトコルによるディスカバリを行う機能が含まれる。尚、Ｂｏｎｊｏｕｒや独自プロトコルによるディスカバリの機能を、専用モジュールに設け、アプリケーションやデバイスドライバから呼び出してディスカバリを実行させるようにしてもよい。また、ＰＣ１０１はアプリケーション層の通信プロトコルとしてＢｏｎｊｏｕｒや独自プロトコル以外、ＨＴＴＰやＦＴＰなどを用いることもできる。
【００２３】
図３はデバイス１０２、１０３及び１０４のハードウェア構成を示す図である。尚、デバイス１０２、１０３及び１０４のハードウェア構成は同一であるため、以下では、デバイス１０２のみを説明し、デバイス１０３及び１０４については説明を省略する。
【００２４】
図３において、ＣＰＵ３０１は、マイクロプロセッサ等から構成され、デバイス１０２の中央処理装置として機能する。ＣＰＵ３０１は、ＲＯＭ３０２に記録されているプログラムをＲＡＭ３０３にロードし、これを実行することによって通信部３０４、記録部３０５、操作部３０６、及び、表示部３０７などを制御する。
【００２５】
ＲＯＭ３０２は、デバイス１０２で実行する処理を実現するための各種プログラムを格納している。ＲＡＭ３０３は、ＣＰＵ３０１のワークエリアとして利用されたり、各種データを一時的に記憶したりする。また、当該デバイスがＢｏｎｊｏｕｒに対応する場合、ＲＡＭ２０４にユーザが任意に入力した当該デバイスのデバイス名がＢｏｎｊｏｕｒ  Ｓｅｒｖｉｃｅ  Ｎａｍｅとして記憶される。通信部３０４は、ネットワークを介して、他のデバイスとの通信を行う。記録部３０５は、記録媒体に記録を行う。操作部３０６は、タッチパネル等の入力装置で構成される。表示部３０７は、デバイス１０２を操作するためのＵＩや各種情報を表示する。そして、デバイス１０２を構成する各種構成要素は、バス３０８を介して相互に接続されている。
【００２６】
ここではデバイスが記録部３０５を有したプリンタである場合の例を示したが、デバイスはプリンタに限らない。従って、デバイスの種類によっては記録部３０５に代えて、あるいは記録部３０５に加えて他の構成を有することとなる。例えば、デバイスがスキャナ機能を有するものであれば、他の構成として原稿上の画像を読み取る読取部を設けることとなる。尚、デバイスが複数の機能（サービス）を有している場合、機能毎にＢｏｎｊｏｕｒ  Ｓｅｒｖｉｃｅ  Ｎａｍｅを登録し、デバイスは検索要求に含まれるサービスの内容に応じたＢｏｎｊｏｕｒ  Ｓｅｒｖｉｃｅ  Ｎａｍｅを通知するようにしてもよい。
【００２７】
＜実施形態１＞
図４は実施形態１のＰＣとデバイスの接続状態を示す図である。
【００２８】
図４において、ＰＣ１０１と、デバイス４０１及び４０２とがネットワーク１０５を介して接続されている。ここで、デバイス４０１は、図１のデバイス１０２に対応し、独自プロトコルだけをサポートしている。また、デバイス４０２は、図１のデバイス１０３に対応し、独自プロトコルとＢｏｎｊｏｕｒの２つのプロトコルをサポートしている。このように、実施形態１では、独自プロトコルが全てのデバイスでサポートされている場合を想定する。但し、これはＰＣ１０１からの検索要求に対する応答を行うのがデバイス４０１、４０２なのであって、他のデバイスもネットワーク１０５に接続し得る。
【００２９】
図５は実施形態１のＰＣ１０１のソフトウェア構成を示す図である。
【００３０】
図５に示す各種構成要素は、ＰＣ１０１のＣＰＵ２０２がＲＯＭ２０３に記憶されているプログラムを読み出し実行することで実現される。
【００３１】
ドライバ起動アプリケーション５０１は、プリンタドライバやスキャナドライバ等のドライバ（デバイスドライバ）５０２を起動してプリントやスキャンを実行するアプリケーションである。ここではドライバ５０２は独自プロトコルを用いてデバイスを制御するものとする。また、デバイス表示アプリケーション５０３は、ネットワーク上のデバイスを検索して、検知したデバイスの一覧をディスプレイ２０１に表示させ、ユーザに所望のデバイスを選択させる機能を有するアプリケーションである。ここではデバイス表示アプリケーション５０３はＢｏｎｊｏｕｒによるデバイス検索は行わないものとする。
【００３２】
例えば、印刷を行う場合、ドライバ起動アプリケーション５０１によって印刷対象のデータが用意されている状態でユーザが印刷を行う旨を指示すると、デバイス表示アプリケーション５０３によって印刷を行わせるためのデバイス（プリンタ）の候補を表示させる。そして、ユーザにより所望のデバイスが選択されると当該デバイスに対応したドライバ（プリンタドライバ）５０２が特定され、そのドライバ５０２を用いて印刷対象のデータをデバイスに送り印刷を実行させる。スキャン（原稿の読取）を行う場合、ドライバ起動アプリケーション５０１を介してスキャンを行う旨を指示すると、デバイス表示アプリケーション５０３によってスキャンを行わせるためのデバイス（スキャナ）の候補を表示させる。そして、ユーザにより所望のデバイスが選択されると当該デバイスに対応したドライバ（スキャナドライバ）５０２が特定され、そのドライバ５０２を用いてデバイスにセットされている原稿の画像の読取を実行させる。
【００３３】
実施形態１において、デバイス表示アプリケーション５０３は、検索部５０４、検知判定部５０５、問い合わせ部５０６、機能判定部５０７、取得部５０８、デバイス情報表示部５０９を備える。
【００３４】
検索部５０４は独自プロトコルによって検索要求を送出することによってネットワーク上のデバイスを検索する。検索部５０４は検索の際、指定されたサービス（印刷や読取など）を有するデバイスを検索可能である。検知判定部５０５は検索部５０４による検索要求に対するデバイスからの応答を受信することによって検知されたデバイスを判定する。
【００３５】
問い合わせ部５０６は問い合わせ要求を送出することによってネットワーク上のデバイスがＢｏｎｊｏｕｒ機能をサポートし、それが有効であるか問い合わせる。問い合わせ部５０６による問い合わせの方法として、独自プロトコルで問い合わせる方法と、独自プロトコル及びＢｏｎｊｏｕｒ以外のプロトコルで問い合わせる方法がある。問い合わせ部５０６が独自プロトコルで問い合わせた場合、デバイスは独自プロトコルのパラメータとしてＢｏｎｊｏｕｒ機能が有効であるか否かを返す。一方、問い合わせ部５０６が独自プロトコル及びＢｏｎｊｏｕｒ以外のプロトコルで問い合わせる場合、例えば、ＨＴＴＰやＦＴＰでＢｏｎｊｏｕｒ機能が有効であるか否かを問い合わせることができるものに対してはＨＴＴＰやＦＴＰを用いて情報を取得する。このとき、独自プロトコルによって取得したＭＡＣアドレスやＩＰアドレスなどを用いてＨＴＴＰ、ＦＴＰなどで問い合わせる。機能判定部５０７は問い合わせ部５０６による問い合わせに対するデバイスからの応答の内容によって当該デバイスのＢｏｎｊｏｕｒ機能が有効であるか判定する。
【００３６】
取得部５０８は機能判定部５０７によってＢｏｎｊｏｕｒ機能が有効であると判定されたデバイスからＢｏｎｊｏｕｒ  Ｓｅｒｖｉｃｅ  Ｎａｍｅを取得する。取得部５０８はＢｏｎｊｏｕｒ  Ｓｅｒｖｉｃｅ  Ｎａｍｅを取得する方法として、独自プロトコルで取得する方法と、独自プロトコル及びＢｏｎｊｏｕｒ以外のプロトコルで取得する方法とを有す。独自プロトコルで取得する場合、デバイスは独自プロトコルのパラメータとしてＢｏｎｊｏｕｒ  Ｓｅｒｖｉｃｅ  Ｎａｍｅを返す。一方、独自プロトコル及びＢｏｎｊｏｕｒ以外のプロトコルで取得する場合、例えば、Ｂｏｎｊｏｕｒのように、ＨＴＴＰやＦＴＰでＢｏｎｊｏｕｒ機能が有効であるか否かを問い合わせることができるものに対してはＨＴＴＰやＦＴＰを用いてＢｏｎｊｏｕｒ  Ｓｅｒｖｉｃｅ  Ｎａｍｅを取得する。即ち、取得部５０８は本来Ｂｏｎｊｏｕｒを用いたデバイス検索に対して通知するためのデバイスに登録されているＢｏｎｊｏｕｒ  Ｓｅｒｖｉｃｅ  Ｎａｍｅを、Ｂｏｎｊｏｕｒ以外の通信プロトコルによって取得する。
【００３７】
デバイス情報表示部５０９は検知されたデバイスのデバイス情報をディスプレイ２０１に表示させる。デバイス情報表示部５０９はＢｏｎｊｏｕｒ  Ｓｅｒｖｉｃｅ  Ｎａｍｅを優先的な処理対象（表示対象）のデバイス情報とする。即ち、Ｂｏｎｊｏｕｒ  Ｓｅｒｖｉｃｅ  Ｎａｍｅが取得できた場合にはＢｏｎｊｏｕｒ  Ｓｅｒｖｉｃｅ  Ｎａｍｅを表示させ、取得できなかった場合にのみそれ以外の情報（ＭＡＣアドレス等）を用いて表示させる。
【００３８】
図６は実施形態１のＰＣ１０１が実行する処理を示すフローチャートである。このフローチャートは補助記憶装置２０５に記憶されているデバイス表示アプリケーション５０３に対応するプログラムをＲＡＭ２０４にロードし、ＣＰＵ２０２が実行することによりなされる処理の流れを示す。
【００３９】
まず、Ｓ１０１において、検索部５０４が、少なくとも独自プロトコルによるデバイス検索を開始する。即ち、独自プロトコルによるデバイス検索要求に対する応答を待つ。ここでは独自プロトコルに対応したデバイスからは応答が来るが、独自プロトコルに対応していないデバイス（例えば、Ｂｏｎｊｏｕｒのみに対応したデバイス）からは応答が来ない。また、このとき独自プロトコルに対応したデバイスからはデバイス情報としてＭＡＣアドレスを取得する。この時点ではデバイス情報表示部５０９はデバイス情報の表示を行わせず待機する。次に、Ｓ１０２において、検知判定部５０５が、検索部５０４による検索の結果に基づいて、独自プロトコルによる検知が行われたか否かを判定する。ここでは複数のデバイスが検知された場合、それぞれのデバイスに対して以降の処理が行われる。
【００４０】
Ｓ１０２において、独自プロトコルでの検知が１つも行われなかった場合（Ｓ１０２でＮＯ）、Ｓ１０６に進むが、デバイス情報表示部５０９が表示すべきデバイス情報はないので、デバイスが見つからなかった旨を表示する。
【００４１】
一方、Ｓ１０２において、独自プロトコルでの検知が行われた場合（Ｓ１０２でＹＥＳ）、Ｓ１０３において、問い合わせ部５０６が、その検知したデバイスに対して独自プロトコルによって、あるいは独自プロトコル及びＢｏｎｊｏｕｒ以外のプロトコルによってＢｏｎｊｏｕｒ機能が有効であるか否かの問い合わせを行う。
【００４２】
次に、Ｓ１０４において、機能判定部５０７が、Ｓ１０３の問い合わせによって取得した情報を元にＢｏｎｊｏｕｒ機能が有効であるか否かを判定する。Ｂｏｎｊｏｕｒ機能が有効であると判定された（Ｓ１０４でＹＥＳ）デバイス（ここではデバイス４０２）については、Ｓ１０５において、取得部５０８が、そのデバイスから独自プロトコルによって、あるいは独自プロトコル及びＢｏｎｊｏｕｒ以外のプロトコルによってデバイス情報としてＢｏｎｊｏｕｒ  Ｓｅｒｖｉｃｅ  Ｎａｍｅを取得する。そしてＳ１０６において、デバイス情報表示部５０９は取得したＢｏｎｊｏｕｒ  Ｓｅｒｖｉｃｅ  Ｎａｍｅを選択候補のデバイスとしてディスプレイ２０１に表示させる。このとき、取得済みのＭＡＣアドレスとともに表示させるようにしてもよい。
【００４３】
一方、Ｓ１０４において、Ｂｏｎｊｏｕｒ機能を有していないまたは無効であると判定された（Ｓ１０４でＮＯ）デバイス（ここではデバイス４０１）については、Ｓ１０６において、デバイス情報表示部５０９が、独自プロトコルで取得済みのＭＡＣアドレスをデバイス情報としてディスプレイ２０１に表示させる。
【００４４】
以上のようにしてデバイス情報表示部５０９は選択候補のデバイスとしてデバイス４０１とデバイス４０２とをディスプレイ２０１に表示させるが、デバイス４０１についてはデバイス情報としてＭＡＣアドレスが、デバイス４０２についてはデバイス情報としてＢｏｎｊｏｕｒ  Ｓｅｒｖｉｃｅ  Ｎａｍｅが表示される。このとき、独自プロトコルに対応していないデバイスは表示されない。
【００４５】
そして、ユーザがキーボード２０６またはポインティングデバイス２０７によっていずれかのデバイスを選択すると、選択されたデバイスに対応したドライバ５０２が特定され、呼び出される。そして、呼び出されたドライバ５０２は独自プロトコルによってデバイスと通信を行い、デバイスに処理を実行させる。
【００４６】
尚、実施形態１において、通信プロトコルとして、独自プロトコル、Ｂｏｎｊｏｕｒ、ＨＴＴＰ、ＦＴＰを挙げたが、これら以外の通信プロトコルを用いるようにしてもよい。例えば、２つの通信プロトコルにおいて取得可能なデバイス情報に差異がある場合に適用可能である。
【００４７】
以上説明したように、実施形態１によれば、ドライバがデバイスと通信する際の通信プロトコルに対応したデバイスを容易に選択可能となる。このとき他の通信プロトコル用にデバイスに登録されていたデバイス情報（例えば、Ｂｏｎｊｏｕｒ  Ｓｅｒｖｉｃｅ  Ｎａｍｅ）をユーザに提示するのでユーザは容易に所望のデバイスであることを認識可能となる。このとき、デバイスは、デバイスの名称を一本化（ここではＢｏｎｊｏｕｒ  Ｓｅｒｖｉｃｅ  Ｎａｍｅに一本化）でき、例えば、プロトコル毎にデバイス名を持つことなく同一のデバイスで異なる名称を提示してしまうこともない。また、このときデバイス名が登録されていないデバイス（例えば旧タイプのデバイスなど）も選択候補として提示可能である。尚、デバイス情報としてデバイスからＭＡＣアドレスしか取得できない場合、ＭＡＣアドレスとデバイス名とを対応付けたデータベースを別途設けておき、これを検索することによってデバイス名を特定するようにしてもよい。
【００４８】
＜実施形態２＞
図７は実施形態２のＰＣとデバイスの接続状態を示す図である。
【００４９】
図７において、ＰＣ１０１と、デバイス７０１、７０２及び７０３とがネットワーク１０５を介して接続されている。ここで、デバイス７０１は、図１のデバイス１０２に対応し、独自プロトコルだけをサポートしている。また、デバイス７０２は、図１のデバイス７０２に対応し、独自プロトコルとＢｏｎｊｏｕｒの２つのプロトコルをサポートしている。更に、デバイス７０３は、図１のデバイス１０４に対応し、Ｂｏｎｊｏｕｒのみをサポートしている。このように、実施形態２は、実施形態１の図４の構成とは異なり、独自プロトコルをサポートしてないデバイスも含まれる。但し、これはＰＣ１０１からの検索要求に対する応答を行うのがデバイス７０１、７０２、７０３なのであって、他のデバイスもネットワーク１０５に接続し得る。尚、実施形態２では独自プロトコルとＢｏｎｊｏｕｒの両方でデバイス検索を実行し、Ｂｏｎｊｏｕｒによる検索結果を優先する。
【００５０】
図８は実施形態２のＰＣ１０１のソフトウェア構成を示す図である。
【００５１】
尚、実施形態１の図５と同一の構成要素については、同一の参照番号を付加し、その詳細については説明を省略する。但し、ドライバ５０２は独自プロトコルを用いてデバイスと通信して処理を実行させるものには限らない。図８に示す各種構成要素は、ＰＣ１０１のＣＰＵ２０２がＲＯＭ２０３に記憶されているプログラムを読み出し実行することで実現される。
【００５２】
デバイス表示アプリケーション５０３は、第１の検索部８０１、第２の検索部８０２、検知判定部８０３、問い合わせ部８０４、機能判定部８０５、取得部８０６、デバイス情報表示部８０７を備える。
【００５３】
第１の検索部８０１は検索部５０４と同様の処理を行うものであり、独自プロトコルによってデバイスの検索を行う。第１の検索部８０１は指定されたサービスに対応したデバイスを検索可能である。第２の検索部８０２はディスカバリの通信プロトコルとしてＢｏｎｊｏｕｒを用いて検索要求を送出することによってネットワーク上のデバイスを検索する。第２の検索部８０２は指定されたサービスに対応したデバイスを検索可能である。検知判定部８０３は第１の検索部８０１による検索要求に対するデバイスからの応答を受信することによって検知されたデバイス、第２の検索部８０２による検索要求に対するデバイスからの応答を受信することによって検知されたデバイスを判定する。また検知判定部８０３はさらに第２の検索部８０２による検索要求に対する応答を受信してない状態で第１の検索部８０１による検索要求を受信したかも判定する。２つの検索により検知されたデバイスが同一か否かは、例えば、いずれの検索要求に対する応答にも含まれるＭＡＣアドレスを比較し、同一であれば同一のデバイスであると判定できる。
【００５４】
問い合わせ部８０４は問い合わせ部５０６と同様の処理を行うものであり、ネットワーク上のデバイスがＢｏｎｊｏｕｒ機能をサポートし、それが有効であるかを独自プロトコルで、あるいは独自プロトコル及びＢｏｎｊｏｕｒ以外のプロトコルで問い合わせる。機能判定部８０５は機能判定部５０７と同様の処理を行うものであり、問い合わせ部８０４による問い合わせに対するデバイスからの応答の内容によって当該デバイスのＢｏｎｊｏｕｒ機能が有効であるか判定する。
【００５５】
取得部８０６は取得部５０８と同様の処理を行うものであり、機能判定部８０５によってＢｏｎｊｏｕｒ機能が有効であると判定されたデバイスから独自プロトコル、あるいは独自プロトコル及びＢｏｎｊｏｕｒ以外のプロトコルを用いてＢｏｎｊｏｕｒ  Ｓｅｒｖｉｃｅ  Ｎａｍｅを取得する。また、取得部８０６は第２の検索部８０２による検索要求に対する応答を待ち、この応答の受信によってＢｏｎｊｏｕｒ  Ｓｅｒｖｉｃｅ  Ｎａｍｅを取得するようにしてもよい。この場合、取得部８０６は第２の検索部８０２による検索要求から所定時間経過しても応答がなかったデバイスについてはＢｏｎｊｏｕｒによるＢｏｎｊｏｕｒ  Ｓｅｒｖｉｃｅ  Ｎａｍｅは取得できなかったものと判断する。
【００５６】
デバイス情報表示部８０７は検索できたデバイスのデバイス情報をディスプレイ２０１に表示させる。デバイス情報表示部８０７はデバイス情報の表示に際してＢｏｎｊｏｕｒ  Ｓｅｒｖｉｃｅ  Ｎａｍｅを用いた表示を優先させる。デバイス情報表示部８０７はデバイス情報としてＭＡＣアドレスが取得できていても、Ｂｏｎｊｏｕｒ  Ｓｅｒｖｉｃｅ  Ｎａｍｅが取得できるまで、あるいはＢｏｎｊｏｕｒ  Ｓｅｒｖｉｃｅ  Ｎａｍｅが取得できないと判断されるまでデバイス情報の表示は保留する。デバイス情報表示部８０７はＢｏｎｊｏｕｒ  Ｓｅｒｖｉｃｅ  Ｎａｍｅが取得できた場合はデバイス情報としてＢｏｎｊｏｕｒ  Ｓｅｒｖｉｃｅ  Ｎａｍｅを表示させ、Ｂｏｎｊｏｕｒ  Ｓｅｒｖｉｃｅ  Ｎａｍｅが取得できないと判断された場合はＭＡＣアドレスを表示させる。
【００５７】
図９は実施形態２のＰＣ１０１が実行する処理を示すフローチャートである。このフローチャートは補助記憶装置２０５に記憶されているデバイス表示アプリケーション５０３に対応するプログラムをＲＡＭ２０４にロードし、ＣＰＵ２０２が実行することによりなされる処理の流れを示す。
【００５８】
まず、Ｓ２０１において、第１の検索部８０１が、独自プロトコルによるデバイス検索を行う。即ち、独自プロトコルによるデバイス検索要求に対する応答を待つ。ここでは独自プロトコルに対応したデバイスからは応答が来るが、独自プロトコルに対応していないデバイス（例えば、Ｂｏｎｊｏｕｒのみに対応したデバイス）からは応答が来ない。また、このとき独自プロトコルに対応したデバイスからはデバイス情報としてＭＡＣアドレスを取得する。この時点ではデバイス情報表示部８０７はデバイス情報の表示を行わせずに待機する。
【００５９】
Ｓ２０２において、第２の検索部８０２が、Ｂｏｎｊｏｕｒによるデバイス検索を行う。即ち、Ｂｏｎｊｏｕｒプロトコルによるデバイス検索要求に対する応答を待つ。ここではＢｏｎｊｏｕｒに対応したデバイスからは応答が来るが、Ｂｏｎｊｏｕｒに対応していないデバイス（例えば、独自プロトコルのみに対応したデバイス）からは応答が来ない。また、このときＢｏｎｊｏｕｒに対応したデバイスからはデバイス情報としてＢｏｎｊｏｕｒ  Ｓｅｒｖｉｃｅ  Ｎａｍｅを取得する。尚、Ｓ２０１とＳ２０２の順番は逆でも良いし、同時でも良い。ここでは複数のデバイスが検知された場合、それぞれのデバイスに対して以降の処理が行われる。Ｓ２０３において、検知判定部８０３が、第１の検索部８０１及び第２の検索部８０２による検索の結果に基づいて、独自プロトコルによる検知が先であるかどうかを判定する。
【００６０】
Ｓ２０３において、独自プロトコルでの検知が先でなく、Ｂｏｎｊｏｕｒによる検知が行えたデバイスがあった場合（Ｓ２０３でＮＯ）、Ｓ２０７において、デバイス情報表示部８０７が、デバイス情報としてＢｏｎｊｏｕｒで取得したＢｏｎｊｏｕｒ  Ｓｅｒｖｉｃｅ  Ｎａｍｅを表示させる。ここでは、Ｂｏｎｊｏｕｒによるデバイスの検知が行われた後に独自プロトコルによる検知が行われてもＢｏｎｊｏｕｒ  Ｓｅｒｖｉｃｅ  Ｎａｍｅによるデバイス情報の表示を行う。
【００６１】
一方、独自プロトコルによる検知が先であるデバイスについては（Ｓ２０３でＹＥＳ）、Ｓ２０４において、問い合わせ部８０４が、その検知したデバイスに対してＢｏｎｊｏｕｒ機能が有効であるか否かの問い合わせを行う。
【００６２】
次に、Ｓ２０５において、機能判定部８０５が、Ｂｏｎｊｏｕｒ機能が有効であるか否かを判定する。Ｂｏｎｊｏｕｒ機能が有効である場合（Ｓ２０５でＹＥＳ）、Ｓ２０６において、取得部８０６が、Ｂｏｎｊｏｕｒ  Ｓｅｒｖｉｃｅ  Ｎａｍｅを取得する。即ち、Ｓ１０５と同様に独自プロトコル、あるいは独自プロトコル及びＢｏｎｊｏｕｒ以外のプロトコルを用いてＢｏｎｊｏｕｒ  Ｓｅｒｖｉｃｅ  Ｎａｍｅを取得する。また、同一デバイスからのＳ２０２における検索要求に対する応答を所定時間待って、それが受信できた場合、その応答に含まれるＢｏｎｊｏｕｒ  Ｓｅｒｖｉｃｅ  Ｎａｍｅを取得する。ＢｏｎｊｏｕｒによってＢｏｎｊｏｕｒ  Ｓｅｒｖｉｃｅ  Ｎａｍｅを取得する際、同一デバイスであることは独自プロトコルで取得したＭＡＣアドレスとＢｏｎｊｏｕｒによって取得したＭＡＣアドレスの比較などによって判断する。尚、同一デバイスであることが判断できればＭＡＣアドレス以外を用いてもよい。
【００６３】
このようにして、Ｂｏｎｊｏｕｒ  Ｓｅｒｖｉｃｅ  Ｎａｍｅが得られた後、Ｓ２０７において、デバイス情報表示部８０７が、Ｂｏｎｊｏｕｒ  Ｓｅｒｖｉｃｅ  Ｎａｍｅをデバイス情報として表示する。尚、Ｂｏｎｊｏｕｒ  Ｓｅｒｖｉｃｅ  Ｎａｍｅが得られるまでの間はＭＡＣアドレスによるデバイス情報の表示は行わない。
【００６４】
一方、Ｓ２０５において、Ｂｏｎｊｏｕｒ機能が無効であると判定されたデバイス（Ｓ２０５でＮＯ）については、Ｓ２０７において、デバイス情報表示部８０７が、独自プロトコルの検知で取得できるＭＡＣアドレスをデバイス情報として表示させる。尚、実施形態２においては、ドライバ５０２がデバイスを制御する際に用いるプロトコルに対応しているかを、取得したデバイス情報等に基づきさらに判定し、デバイス情報表示部８０７はドライバ５０２が制御可能なデバイスのみを表示させるようにしてもよい。例えば、ドライバ５０２が独自プロトコルでデバイスを制御する場合であって、Ｂｏｎｊｏｕｒ  Ｓｅｒｖｉｃｅ  ＮａｍｅをＢｏｎｊｏｕｒによって取得する場合には、同一デバイスについて独自プロトコルとＢｏｎｊｏｕｒの両方でデバイス情報が取得できたデバイスをデバイス情報表示部８０７で表示させる。
【００６５】
また、実施形態２において、通信プロトコルとして、独自プロトコル、Ｂｏｎｊｏｕｒ、ＨＴＴＰ、ＦＴＰを挙げたが、これら以外の通信プロトコルを用いるようにしてもよい。例えば、２つの通信プロトコルにおいて取得可能なデバイス情報に差異がある場合に適用可能である。
【００６６】
以上のように、実施形態２では、独自プロトコルだけをサポートするデバイス、Ｂｏｎｊｏｕｒだけをサポートするデバイス、または、両方のプロトコルをサポートするデバイス等、様々なデバイスがネットワーク上に存在する場合の例である。そして、このときは、複数のプロトコルで検索をすることにより優先するプロトコルに従ったデバイス情報を優先的にユーザに提示することができる。従って、ユーザが認識しやすい標記でデバイス名（サービス名）を提示し、ユーザによる選択が容易となる。また、Ｂｏｎｊｏｕｒ  Ｓｅｒｖｉｃｅ  Ｎａｍｅで表示したデバイスは同一のデバイス名を有線通信においても無線通信においても共通に使用することが可能となる。
【００６７】
＜他の実施形態＞
上記実施形態では、ＰＣとデバイスの間の通信インタフェースとして、有線ネットワークにおけるＥｔｈｅｒｎｅｔ用いるものとしたが、これに限定されるものではない。例えば、無線ＬＡＮ、ＩＥＥＥ１３９４やＢｌｕｅｔｏｏｔｈ（登録商標）等の種々のインタフェースを用いることができる。
【００６８】
また、上記実施形態では、複数種類の通信プロトコルの１つであるＤｉｓｃｏｖｅｒｙプロトコルとして、Ｂｏｎｊｏｕｒを例に挙げているが、これに限定されるものではない。例えば、ＷＳＤ等の他の標準プロトコルや、他の独自プロトコルを用いてもよいし、種々のプロトコルを複数備えるデバイスであっても良い。
また、以上の実施形態では、取得したデバイス情報を表示にユーザによって提示する例を示したが、取得したデバイス情報を表示以外の用途で用いる者としてもよい。例えば、取得したデバイス情報を所定のデータベースに登録するなどとしてもよい。
【００６９】
尚、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステムまたは装置に供給し、そのシステムまたは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。このとき、１つのコンピュータによってプログラムを実行するものとしてもよいし、複数のコンピュータが連携しながらプログラムを実行するものとしてもよい。また、一部または全部の処理をＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）などのハードウェアによって処理するようにしてもよい。
【図１】
2015114842.tif 000003
【図２】
2015114842.tif 000004
【図３】
2015114842.tif 000005
【図４】
2015114842.tif 000006
【図５】
2015114842.tif 000007
【図６】
2015114842.tif 000008
【図７】
2015114842.tif 000009
【図８】
2015114842.tif 000010
【図９】
2015114842.tif 000011