(57)【要約】【課題】第１のプロトコルを使ったセットアップ開始時に、第２のプロトコルによるデバイス検索が有効になっても、ユーザが混乱することを防止することができるデバイスセットアップ装置及びその制御方法を提供することを目的とする。【解決手段】ネットワークインタフェースを持つデバイスにおけるクライアントセットアップ方法であって、複数のセットアップ方法を具備するデバイスである。また、第１優先のセットアップを開始する際に、第２のセットアップ方法であるネットワークインタフェース経由のディスカバリ機能が有効であれば、上記ディスカバリ機能を無効にするディスカバリ機能無効化手段を有する。さらに、上記第１優先のセットアップが完了した際に、上記無効にしたディスカバリ機能を有効にするディスカバリ機能有効化手段を有する。【選択図】図１
2009053869.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークインタフェースを持つデバイスにおけるクライアントセットアップ方法であって、複数のセットアップ方法を具備するデバイスにおいて、
第１優先のセットアップを開始する際に、第２のセットアップ方法であるネットワークインタフェース経由のディスカバリ機能が有効であれば、上記ディスカバリ機能を無効にするディスカバリ機能無効化手段と；
上記第１優先のセットアップが完了した際に、上記無効にしたディスカバリ機能を有効にするディスカバリ機能有効化手段と；
を有することを特徴とするデバイスセットアップ装置。
【請求項２】
初期状態において、デバイスが、第１優先のセットアップを完了していなければ、上記第１優先のセットアップに使われないネットワークインタフェース経由のディスカバリ機能を無効にするディスカバリ機能無効化手段と；
当該第１優先のセットアップの処理を終了したときに、上記ディスカバリ機能を有効にするディスカバリ機能有効化手段と；
を有することを特徴とするデバイスセットアップ装置。
【請求項３】
ネットワークインタフェース以外のインタフェースであるインタフェース２を持つデバイスであって、第１優先度のデバイスセットアップ方法でセットアップを開始する際に、セットアップ処理の最初に、上記インタフェース２を経由し、セットアップ対象のデバイスと通信し、コマンドを送信することによって、上記ネットワークインタフェースを経由したディスカバリ機能を無効にし、セットアップ処理を終了したときに、再度コマンドを送信することによって、上記ディスカバリ機能を有効にすることを特徴とするデバイスセットアップ装置。
【請求項４】
ネットワークインタフェースを持つデバイスにおけるクライアントセットアップ方法であって、複数のセットアップ方法を具備するデバイスにおいて、
第１優先のセットアップを開始する際に、第２のセットアップ方法であるネットワークインタフェース経由のディスカバリ機能が有効であれば、上記ディスカバリ機能を無効にし、記憶装置に記憶するディスカバリ機能無効化工程と；
上記第１優先のセットアップが完了した際に、上記無効にしたディスカバリ機能を有効にするディスカバリ機能有効化工程と；
を有することを特徴とするデバイスセットアップ装置の制御方法。
【請求項５】
初期状態において、デバイスが、第１優先のセットアップを完了していなければ、上記第１優先のセットアップに使われないネットワークインタフェース経由のディスカバリ機能を無効にし、記憶装置に記憶するディスカバリ機能無効化工程と；
当該第１優先のセットアップの処理を終了したときに、上記ディスカバリ機能を有効にするディスカバリ機能有効化工程と；
を有することを特徴とするデバイスセットアップ装置の制御方法。
【請求項６】
ネットワークインタフェース以外のインタフェースであるインタフェース２を持つデバイスであって、第１優先度のデバイスセットアップ方法でセットアップを開始する際に、セットアップ処理の最初に、上記インタフェース２を経由し、セットアップ対象のデバイスと通信し、コマンドを送信することによって、上記ネットワークインタフェースを経由したディスカバリ機能を無効にし、記憶装置に記憶し、セットアップ処理を終了したときに、再度コマンドを送信することによって、上記ディスカバリ機能を有効にすることを特徴とするデバイスセットアップ装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、所定のプロトコルに従って通信処理を行うデバイスセットアップ装置及びその制御方法に関する。
【背景技術】
【０００２】
従来、ネットワーク上のクライアント装置によるサービス要求に応え、サービスを提供するサービス提供装置及びサービス提供システムが知られている。
【０００３】
たとえば、インターネットによる通信の飛躍的な普及に伴い、従来のパーソナルコンピュータ以外の製品について、ネットワーク対応が急速に進められつつある。つまり、ＰＤＡ、携帯電話等のユーザインタラクティブなデバイスや、スキャナ、プリンタ、複写機、デジタルカメラ等の画像処理装置、テレビ、エアコン、冷蔵庫等の家電製品に至るまで、ネットワーク対応が急速に進められつつある。なお、上記ＰＤＡは、Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｃｅである。
【０００４】
これに伴い、これらネットワーク対応型デバイスを利用する上での利便性、簡易性を高めるために、自動セットアップ手段を提供する様々なプロトコルが提案されている。たとえば、ネットワークアドレスの自動設定手段、ネットワークデバイスの探索、検索手段、ネットワーク対応型デバイスを制御するためのアプリケーションソフトウエア、ユーティリティソフトウエア、オペレーティングシステム等がある。
【０００５】
また、Ｕｎｉｖｅｒｓａｌ  Ｐｌｕｇ  ａｎｄ  Ｐｌａｙ（ＵＰｎＰ）、Ｗｅｂ  Ｓｅｒｖｉｃｅｓ  ｆｏｒ  Ｄｅｖｉｃｅｓ（ＷＳＤ）が、上記ネットワーク対応型の機器である。さらに、日本事務機工業会（ＪＢＭＩＡ）が推進するＢＭＬｉｎｋＳ、Ａｐｐｌｅ（登録商標）  ＯＳ  ＸでサポートされるＲｅｎｅｄｚｖｏｕｓ等も、上記ネットワーク対応型の機器である。しかも、デバイスやその製造元ベンダーによるそのクライアントやデバイスに適した固有の検索方法や、独自のセットアップ手順またはセットアッププログラムも存在する（たとえば、特許文献１参照）。
【０００６】
このようなプロトコルが複数提案されることによって、製品の利便性、簡易性が向上する一方で、対応しているプロトコルが異なるデバイス間では、検索や通信を行うことができないという問題がある。
【０００７】
上記のように、様々なデバイスが、ネットワークに接続され、通信することによって、ユーザにとって魅力ある多種多様のサービスが生まれる。しかし、デバイスによって、プロトコルの対応に差があり、この差によって、互いの存在を検索することができず、通信することができないケースが多々あるという問題がある。
【０００８】
このような問題を解決する手段として、ネットワーク上の様々なデバイスと幅広く通信できるようにするために、クライアントデバイス、サーバデバイス共に、複数のプロトコルに対応することができるデバイスが登場している。
【特許文献１】特開２００３−００６１３３号公報（ＵＳ対応  ＡＡ２００２１５６９４７）
【発明の開示】
【発明が解決しようとする課題】
【０００９】
従来例では、たとえば複数のプロトコルＡ、Ｂに対応している所定の１台のサーバデバイスが、ネットワークに存在し、同じくプロトコルＡ、Ｂに対応しているクライアントデバイスが、ネットワークを探索したとする。この場合、プロトコルＡで探索されたサーバデバイスと、プロトコルＢで探索された同一のサーバデバイスとが、クライアント上では、別デバイスであるとして認識される場合がある。
【００１０】
また、クライアントデバイスが、プロトコルＡで検索したデバイスにセットアップし、ユーザインタフェースを介して、ユーザが設定動作を行っている最中に、そのバックグランドで、プロトコルＢによって同じデバイスを検索する。この場合、上記セットアップ処理が起動されると、同一デバイスが、一時期に複数回検出され、重複するセットアップ処理によって、ユーザが混乱する可能性があるという新たな問題がある。
【００１１】
また、該当デバイスとクライアントデバイスとの組み合わせについて、最適なプロトコルによる検索とセットアップとが実行されなければ、所望の動作をしない場合があるという問題がある。たとえば、あるデバイスのＵＰｎＰ等のａｕｔｏ−ｄｉｓｃｏｖｅｒｙ機能による検出を、ＰＣが行い、該当ドライバが存在しなければ、セットアップ処理が中途半端な状態で完了せず、ＵＰｎＰを使った動作が実行されない場合がある。
【００１２】
さらに、複数のセットアップ・検出方法による通信が同時に発生すると、デバイス側の通信負荷が増大するという問題がある。
【００１３】
本発明は、第１のプロトコルを使ったセットアップ開始時に、第２のプロトコルによるデバイス検索が有効になっても、ユーザが混乱することを防止することができるデバイスセットアップ装置及びその制御方法を提供することを目的とする。
【課題を解決するための手段】
【００１４】
本発明は、ネットワークインタフェースを持つデバイスにおけるクライアントセットアップ方法であって、複数のセットアップ方法を具備するデバイスである。また、本発明は、第１優先のセットアップを開始する際に、第２のセットアップ方法であるネットワークインタフェース経由のディスカバリ機能が有効であれば、上記ディスカバリ機能を無効にするディスカバリ機能無効化手段を有する。さらに、本発明は、上記第１優先のセットアップが完了した際に、上記無効にしたディスカバリ機能を有効にするディスカバリ機能有効化手段を有するデバイスセットアップ装置の例である。
【発明の効果】
【００１５】
本発明は、第１のプロトコルを使ったセットアップ開始時に、第２のプロトコルによるデバイス検索が有効になれば、上記第２のプロトコルによるデバイス検索を一時的に無効にする。したがって、本発明によれば、第２のプロトコルによるデバイス検出が、セットアップ最中に発生することがなく、ユーザが混乱することを防止できるという効果を奏する。
【発明を実施するための最良の形態】
【００１６】
発明を実施するための最良の形態は、次の実施例である。
【実施例１】
【００１７】
ネットワーク上に、プロトコルＡをサポートするクライアントデバイスと、プロトコルＡ、Ｂの双方をサポートするクライアントデバイスとが、それぞれ稼動している状態において、プロトコルＡ、Ｂの双方をサポートするサーバデバイスが接続されている。
【００１８】
または、稼動開始された場合、プロトコルＡ、プロトコルＢによるデバイス検索処理が、同時に開始されると、プロトコルＡで探索されたデバイスと、プロトコルＢで探索されたデバイスとが別々に認識されている。つまり、プロトコルＡ、Ｂの双方をサポートするデバイスに関して、同一のデバイスでありながら、ネットワーク上では、別のデバイスが稼動しているように処理される。よって、プロトコルＡ、Ｂの双方をサポートするクライアントデバイスにおいて、それを使用するユーザに混乱を招く要因になりうるという問題を抱えている。
【００１９】
なお、実施例に記載されているプロトコル、ヴァージョン、アドレス、その他の数値等は、特に特定的な記載がない限りは、この発明の範囲をそれらのみに限定する趣旨のものではない。
【００２０】
図１は、本発明の実施例１であるネットワークプリントシステムＰＳ１の構成を示すブロック図である。
【００２１】
クライアント１００は、ネットワーク１１０上に接続されているＭｉｃｒｏｓｏｆｔ（登録商標）社のＷｉｎｄｏｗｓ（登録商標）、Ａｐｐｌｅ（登録商標）社のＭａｃ（登録商標）ＯＳ等の汎用オペレーティングシステムがインストールされている。なお、クライアント１００は、ＰＣで構成されている。また、クライアント１００には、その上で実行可能な汎用アプリケーションがインストールされている。
【００２２】
Ｗｉｎｄｏｗｓ（登録商標）  ＯＳ  １は、ＸＭＬ／ＳＯＡＰを利用したＵＰｎＰプロトコル処理部１０２を使用して、ネットワーク上のデバイスのディスカバリ、制御、ステータスの取得等を実現する機能を有する。なお、上記ＸＭＬは、ｅＸｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅである。上記ＳＯＡＰは、Ｓｉｍｐｌｅ  ＯｂｊｅｃｔＡｃｃｅｓｓ  Ｐｒｏｔｏｃｏｌである。上記ＵＰｎＰは、Ｕｎｉｖｅｒｓａｌ  Ｐｌｕｇ  ａｎｄ  Ｐｌａｙである。
【００２３】
ただし、ＵＰｎＰのプリントサービスに対応したＰｒｉｎｔ  Ｄｒｉｖｅｒは、標準では提供されていない。よって、ＵＰｎＰ  Ｐｒｏｔｏｃｏｌ２が検索発見したＵＰｎＰプロトコル対応プリンタに対し、ＵＰｎＰのプリントサービスに対応するＰｒｉｎｔ  Ｄｒｉｖｅｒが提供されている場合にのみ、ＵＰｎＰ  Ｐｒｏｔｏｃｏｌ２を使用したプリントジョブが可能である。
【００２４】
一方、サーバデバイスと共に提供されるソフトウエアプログラムによって、予め定められたベンダー固有のプロトコルとプロトコルに対応するドライバを使用し、ネットワーク上のデバイスのディスカバリ、制御、ステータスの取得等が実現可能である。
【００２５】
たとえば、アプリケーションソフトであるワードプロセッサ１０５で作成されたドキュメントは、このプロトコルが検索発見した本プロトコル対応プリンタに対し、提供されるＰｒｉｎｔ  Ｄｒｉｖｅｒを使用してプリントジョブの発行を実行する。
【００２６】
一方、実施例１であるネットワーク対応デバイスにおいて、ネットワークプリンタ２００は、通信機能としてプロトコルスタック２０１を備え、そのプロトコルスタック上に、ＵＰｎＰプロトコル処理部２０２を備えている。なお、ネットワークプリンタ２００は、ネットワーク対応型プリンタである。また、プロトコルスタック上には、プリントプロトコル処理部２０３が実装され、クライアントから発行されるプリント要求を解析し、プリンタコントローラ２０４に対し、そのプリント要求を送出するプリントサービス機能を備える。
【００２７】
さらに、プロトコルスタック２０１の上には、予め定められているベンダー固有プロトコルの処理部２０５を備え、また、プロトコルスタック２０１上には、プリントプロトコル処理部２０３が実装されている。固有プロトコル経由でクライアントから発行されたプリント要求を解析し、プリンタコントローラ２０４に、上記プリント要求を送出する機能を有する。
【００２８】
上記プリンタは、ＵＰｎＰプロトコル処理部を備えているので、クライアント１００から発行されたＵＰｎＰプロトコルを使用したデバイス検索要求に応じることはできる。しかし、クライアント１００のＯＳ上で動作するＵＰｎＰのプリントサービスに対応するＰｒｉｎｔ  Ｄｒｉｖｅｒが提供されていないので、ＵＰｎＰプロトコルを経由した印刷動作を行うことができない。一方で、ベンダー固有プロトコルの処理部も備えている上、対応するプロトコルを、クライアント１００のＯＳ上で実行させるソフトウエアドライバによって、ネットワーク上のデバイスのディスカバリ、制御、ステータスの取得等が実現可能である。たとえば、アプリケーションソフトであるワードプロセッサ１０５で作成されたドキュメントは、このプロトコルが検索発見した本プロトコル対応プリンタに対し、同じく提供されるＰｒｉｎｔ  Ｄｒｉｖｅｒを使用する。これによって、プリントジョブの発行を実行することができる。
【００２９】
もう１つの実施例１であるネットワーク対応型デバイスにおいて、ＤＴＶ４００（ＤＴＶ４００はデジタルテレビであり、ネットワーク対応型デジタルテレビである。）は、通信機能として、ＴＣＰ／ＵＤＰプロトコルスタック４０１を備えている。そして、そのプロトコルスタック上にＨＴＴＰを備え、ＨＴＴＰリクエストの解析、レスポンス処理を行う。
【００３０】
プロトコルスタック上には、ネットワークプリンタ２００と同様に、ＵＰｎＰプロトコル処理部４０２を備え、また、ＴＣＰ／ＵＤＰプロトコルスタック４０１上には、クライアント用のプリントプロトコル処理部４０３が実装されている。デジタルテレビアプリケーションの印刷アプリケーション４０４から発行されたプリント要求が検出されたプリンタに、ＵＰｎＰプロトコルに準じて送出する機能を備えている。
【００３１】
次に、実施例１において、通信プロトコルの１つとして使用されているＵＰｎＰについて説明する。
【００３２】
＜＜Ｕｎｉｖｅｒｓａｌ  Ｐｌｕｇ  ａｎｄ  Ｐｌａｙ  （ＵＰｎＰ）  概要＞＞
ＵＰｎＰネットワークは、従来のネットワーク機器を接続するために必要であるＩＰアドレスの設定やデバイスドライバのインストール等、煩雑な設定が不要であるピアツーピアネットワークである。ここでは、ＵＰｎＰネットワークの基本構成、プロトコル、及び実行ステップの概要について説明する。詳細については、それぞれの規格のドキュメントを参照されたい。
【００３３】
ＵＰｎＰネットワークの基本構成として、デバイス、サービス、コントロールポイントが定義されている。デバイスは、ＵＰｎＰに対応している機器であり、プリンタ、Ｂｒｏａｄｂａｎｄルータ（インターネット・ゲートウェイ・デバイス）等である。サービスは、デバイスが提供する機能を表す最小単位である。たとえば、デバイスがＵＰｎＰ  Ｆｏｒｕｍが定義したＰｒｉｎｔｅｒデバイスであれば、ＰｒｉｎｔＢａｓｉｃサービスが提供される。コントロールポイントは、デバイスが持っているサービスを制御し、利用するもので、ＰＣやＳＴＢ等がこれに当たる。
【００３４】
デバイスは、少なくとも１つのサービスを持つ。また、デバイスは、内部に埋め込みデバイスを持つことができる。ベースのデバイスを、ルートデバイスという。
【００３５】
図Ｕ７は、ＵＰｎＰネットワークの基本構成を示す図である。
【００３６】
ネットワーク７００に、コントロールポイント７１０とルートデバイス７２０とが接続されている。ルートデバイス７２０は、サービス７２１と、埋め込みデバイス７２２とを持ち、埋め込みデバイス７２２は、サービス７２３を持つ。
【００３７】
ＵＰｎＰネットワークは、ＴＣＰ／ＩＰを基礎とし、Ｈｙｐｅｒｔｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ（ＨＴＴＰ）、Ｅｘｔｅｎｓｉｂｌｅ  Ｍａｋｅｕｐ  Ｌａｎｇｕａｇｅ（ＸＭＬ）を利用してメッセージを配信する。ＵＰｎＰデバイスは、ＴＣＰ、ＵＤＰ、ＩＧＭＰ、ＡＲＰ等、ＴＣＰ／ＩＰスタックのプロトコルを使用でき、ＤＨＣＰやＤＮＳ等のＴＣＰ／ＩＰサービスを利用できる。ＴＣＰ／ＩＰを採用したことによって、ＵＰｎＰは、ネットワークの物理メディアから独立している。
【００３８】
図Ｕ８は、ＵＰｎＰのプロトコルスタックを示す。
【００３９】
ＨＴＴＰＵ、ＨＴＴＰＭＵはＨＴＴＰのＵＤＰへの拡張で、プロトコルで使用する基本メッセージ形式は、ＨＴＴＰである。ＨＴＴＰＵは、ユニキャスト、ＨＴＴＰＭＵは、マルチキャスト通信を用いる。
【００４０】
Ｓｉｍｐｌｅ  Ｓｅｒｖｉｃｅ  Ｄｉｓｃｏｖｅｒｙ  Ｐｒｏｔｏｃｏｌ（ＳＳＤＰ）は、ネットワークサービスを検出する方法を定義している。上記ＳＳＤＰは、ＨＴＴＰＵ及びＨＴＴＰＭＵに基づいて作成され、コントロールポイントが関心のあるサービスを検出する方法と、デバイスがそのサービスを告知する方法とを定義している。
【００４１】
Ｇｅｎｅｒｉｃ  Ｅｖｅｎｔ  Ｎｏｔｉｆｉｃａｔｉｏｎ  Ａｒｃｈｉｔｅｃｔｕｒｅ（ＧＥＮＡ）は、ＨＴＴＰ及びＨＴＴＰＭＵを使用して、通知を送受信する機能である。イベントを可能にするために、通知のサブスクライバー、パブリッシャーの概念を定義する。
【００４２】
Ｓｉｍｐｌｅ  Ｏｂｊｅｃｔ  Ａｃｃｅｓｓ  Ｐｒｏｔｏｃｏｌ（ＳＯＡＰ）は、Ｒｅｍｏｔｅ  Ｐｒｏｃｅｄｕｒｅ  Ｃａｌｌ（ＲＰＣ）を実行するためのＸＭＬとＨＴＴＰとの仕様を定義している。コントロールポイントは、ＳＯＡＰを使用して、デバイスを制御する。
【００４３】
プロトコルスタックの最上位は、ベンダー固有の情報を持つメッセージである。その次は、ＵＰｎＰフォーラムのワーキングコミッティー（ＷＣ）で定義されている情報によって補足されたメッセージである。上位のメッセージは、ＳＳＤＰ、ＧＥＮＡ等、ＵＰｎＰ固有のプロトコルに従って、ＨＴＴＰメッセージ形式でＩＰ上に配信される。
【００４４】
次に、ＵＰｎＰの実行ステップについて説明する。
【００４５】
ＵＰｎＰは、アドレッシング、ディスカバリ、ディスクリプション、コントロール、イベンティング、プレゼンテーションの６つのステップで実行される。以下、各ステップについて説明する。
【００４６】
＜アドレッシング＞
このステップでは、ＵＰｎＰが基本とするＴＣＰ／ＩＰでの通信が可能になるように、ＩＰアドレスを割り当てる。ＵＰｎＰデバイスは、少なくともＤｙｎａｍｉｃ  Ｈｏｓｔ  Ｃｏｎｆｉｇｕｒａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ（ＤＨＣＰ）クライアントを実装しなければならない。デバイスがはじめてネットワークに接続したときは、ＤＨＣＰサーバを探し、アドレスを取得する。
【００４７】
ＤＨＣＰサーバが見つからなければ、Ａｕｔｏ−ＩＰを使ってアドレスを取得しなければならない。Ａｕｔｏ−ＩＰは、ＩＡＮＡが定めるＬｉｎｋ−ｌｏｃａｌアドレス（ＩＰ  Ｖｅｒｓｉｏｎ４では、１６９．２５４／１６）の範囲で、ランダムにアドレスを生成する。そして、Ａｄｄｒｅｓｓ  Ｒｅｓｏｌｕｔｉｏｎ  Ｐｒｏｔｏｃｏｌ（ＡＲＰ）を使って、生成したアドレスが既に使用されていないかどうかを調べ、そのアドレスの使用のアナウンスを行う。デバイスは、Ａｕｔｏ−ＩＰでＩＰアドレスを取得した場合、定期的にＤＨＣＰサーバを探し、見つかれば、ＤＨＣＰサーバからアドレスを取得する。
【００４８】
＜ディスカバリ＞
ＩＰアドレスの割り当てが終わると、ディスカバリを行う。デバイスをネットワークに追加すると、デバイスは、ＵＰｎＰのディスカバリプロトコルを使って、デバイスが持つサービスを告知する。これと同様に、コントロールポイントがネットワークに追加されると、デバイスをサーチする。
【００４９】
図Ｕ９Ａは、ＵＰｎＰのディスカバリプロトコルを使って、デバイスが告知する様子を示す図である。
【００５０】
デバイスは、ＩＡＮＡがＳＳＤＰのために割り当てたマルチキャストアドレス：ポート２３９．２５５．２５５．２５０：１９００に、ＵＤＰマルチキャストパケットを送信し、告知する。図Ｕ９Ａにおいて、ＵＰｎＰデバイスであるネットワークプリンタ２００が告知し、コントロールポイントであるＤＴＶ４００、ＳＴＢ５００、クライアント１００がこれを受信する。
【００５１】
図Ｕ９Ｂは、デバイスがネットワークに追加され、利用可能なことを示す告知パケットの例を示す図である。
【００５２】
告知パケットは、ＨＴＴＰＭＵを介して、送信される。リクエストには、ＧＥＮＡのＮＯＴＩＦＹメソッドを用い、ＮＴＳヘッダは、ｓｓｄｐ：ａｌｉｖｅでなければならない。その他、ヘッダには、告知の有効時間、デバイスディスクリプションＵＲＬ、告知のタイプ、サービスの固有名等が含まれ、メッセージのボディはなく空白行のみである。
【００５３】
図Ｕ９Ｃは、デバイスがネットワークから削除されつつあり、利用できなくなることを示す告知パケットを示す図である。
【００５４】
リクエストには、ＧＥＮＡのＮＯＴＩＦＹメソッドを用い、ＮＴＳヘッダは、ｓｓｄｐ：ｂｙｅｂｙｅでなければならない。
【００５５】
図Ｕ１０Ａは、コントロールポイントが、ＵＰｎＰのディスカバリプロトコルを使ってサーチし、デバイスが応答する様子を示す図である。
【００５６】
コントロールポイントは、ＩＡＮＡがＳＳＤＰのために割り当てたマルチキャストアドレス：ポート２３９．２５５．２５５．２５０：１９００にＵＤＰマルチキャストパケットを送信し、デバイスは、ＵＤＰユニキャストで応答する。図Ｕ１０Ａにおいて、コントロールポイントであるＤＴＶ４００が、デバイスをサーチし、ネットワークプリンタ２００が応答する。
【００５７】
図Ｕ１０Ｂは、サーチリクエストパケットの例を示す図である。
【００５８】
サーチリクエストは、ＨＴＴＰＭＵを介して送信される。リクエストには、Ｍ−ＳＥＡＲＣＨメソッドを用い、ＭＡＮヘッダは、”ｓｓｄｐ：ｄｉｓｃｏｖｅｒ”でなければならない。ＳＴヘッダは、サーチターゲットで、メッセージボディはなく、空白行のみである。
【００５９】
図Ｕ１０Ｃは、サーチレスポンスパケットの例を示す図である。
【００６０】
サーチレスポンスは、ＨＴＴＰＵを介して送信される。レスポンスには、告知の有効時間、デバイスディスクリプションＵＲＬ、サーチターゲット、告知のサービス固有名等が含まれる。
【００６１】
＜ディスクリプション＞
ディスクリプションは、ＵＰｎＰネットワークの第２ステップで、コントロールポイントがディスカバリでデバイスを見つけた後に行われる。このステップの後に、他のステップ、コントロール、イベンティング、プレゼンテーションが可能になる。
【００６２】
図Ｕ１１Ａは、コントロールポイントが、ディスクリプションリクエストを送信し、デバイスがディスクリプションを応答するディスクリプションステップの様子を示す図である。
【００６３】
コントロールポイント７１０は、ディスカバリによって、ルートデバイス７２０のデバイスディスクリプションＵＲＬを取得した後に、デバイスにディスクリプションタリクエストを送信する。
【００６４】
図Ｕ１１Ｂは、ディスクリプションリクエストパケットの例を示す図である。
【００６５】
ディスクリプションリクエストは、ＨＴＴＰ  ＧＥＴメソッドを用いて送信される。
【００６６】
図Ｕ１１Ｃは、ディスクリプションレスポンスの例を示す図である。
【００６７】
ＨＴＴＰメッセージのボディは、ＸＭＬで記述されたディスクリプションである。ＵＰｎＰにおいて、ディスクリプションには、デバイスディスクリプションとサービスディスクリプションとの２種類がある。
【００６８】
デバイスディスクリプションには、デバイスが持つサービスのリストが含まれ、各サービスのサービスディスクリプションＵＲＬ、コントロールＵＲＬ、イベンティングＵＲＬ等が含まれている。また、デバイスに埋め込まれているデバイスがあれば、デバイスリストも含まれる。
【００６９】
サービスディスクリプションには、サービスをコントロールするためのアクションリストとサービスの状態を示すサービスステータステーブルが含まれている。アクションリストには、各アクションの名前、引数、関連する状態変数、入出力の方向が記述されている。サービスステートテーブルには、各状態変数の、名前、型、範囲、イベント特性が記述されている。
【００７０】
コントロールポイント７１０は、デバイスディスクリプションを取得した後に、そこに含まれている各サービスディスクリプションＵＲＬへＨＴＴＰ  ＧＥＴすることによって、各サービスディスクリプションを取得する。サービスディスクリプションを取得した後に、コントロールポイント７１０は、ルートデバイス７２０の各サービスをコントロールし、状態を表示することができるようになる。
【００７１】
＜コントロール＞
コントロールのステップでは、コントロールポイントがデバイスの持つサービスにリクエストを行い、デバイスを制御する。
【００７２】
図Ｕ１２Ａは、コントロールポイントがデバイスをコントロールする様子を示す図である。
【００７３】
コントロールポイント７１０は、ディスクリプションのステップで、ルートデバイス７２０のデバイスディスクリプション、サービスディスクリプションを取得した後に、ルートデバイス７２０をコントロールすることができる。コントロールポイントができることは、アクションの実行（アクションリクエスト送信）と結果の取得（アクションレスポンス受信）を行うことである。また、コントロールポイントができることは、状態変数のクエリの実行（クエリリクエスト送信）と値の取得（クエリレスポンス受信）を行うことである。
【００７４】
ＵＰｎＰのコントロールには、ＳＯＡＰを使用する。ＳＯＡＰは、リモートプロシージャコールの実現のために、ＸＭＬ／ＨＴＭＬの使用に関して定義している。コントロールメッセージは、ＳＯＡＰヘッダ及びボディエレメントをベースに、フォーマットされ、ＨＴＴＰを介して配信される。
【００７５】
コントロールポイント７１０は、ルートデバイス７２０のデバイスディスクリプションから取得したコントロールＵＲＬへ、ＨＴＴＰ  ＰＯＳＴないしＭ−ＰＯＳＴメソッドを用いてリクエストを送信する。
【００７６】
図Ｕ１２Ｂは、アクションリクエストの例を示す図である。
【００７７】
この例では、リクエストラインには、ＰＯＳＴメソッドを用いる。ＣＯＮＴＥＮＴ−ＴＹＰＥは、ｔｅｘｔ／ｘｍｌで、ｃｈａｒｓｅｔ＝”ｕｔｆ−８”でなければならない。ＳＯＡＰＡＣＴＩＯＮにアクション名を含む。メッセージボディは、ＸＭＬで記述され、ＳＯＡＰで定義されたＥｎｖｅｌｏｐｅエレメントを含み、そのサブエレメントＢｏｄｙにアクション、引数等のサブエレメントを含む。
【００７８】
図Ｕ１２Ｃは、アクションレスポンスの例を示す図である。
【００７９】
この例は、成功レスポンスの１例である。レスポンスラインには、ＨＴＴＰ成功コードを含む。メッセージボディは、ＸＭＬで記述され、ＳＯＡＰで定義されたＥｎｖｅｌｏｐｅエレメントを含み、そのサブエレメントＢｏｄｙにアクションレスポンスサブエレメントを含む。アクションレスポンスは、アクションに出力引数があれば、その引数をサブエレメントとして含む。
【００８０】
＜イベンティング＞
イベンティングのステップでは、コントロールポイントが、デバイスに状態変化の通知要求を登録し、デバイスから通知を受ける。イベントのソースであるサービスを、パブリッシャーといい、イベントのターゲットであるコントロールポイントを、サブスクライバーと呼ぶ。サブスクライバーがイベントの通知を要求することを、サブスクリプションと呼ぶ。
【００８１】
図Ｕ１３Ａは、イベンティングの様子を示す図である。
【００８２】
コントロールポイント７１０（サブスクライバー）は、ディスクリプションで取得したルートデバイス７２０のデバイスディスクリプションのイベンティングＵＲＬへのＨＴＴＰリクエストによって、イベンティングのリクエストを送信する。また、ＨＴＴＰレスポンスによって、イベンティングレスポンスを受信する。リクエストには、イベントの通知要求を登録するサブスクリプション、登録の期限が切れる前に登録の更新を要求するリニュー、登録の期限が切れる前に登録の取りやめを要求するキャンセルの３種類がある。
【００８３】
図Ｕ１３Ｂは、サブスクリプションリクエストの例を示す図である。
【００８４】
リクエストラインには、ＧＥＮＡに定義されたＳＵＢＳＣＲＩＢＥメソッドを用いる。ヘッダには、イベントメッセージの送信先ＵＲＬ、通知タイプＵＰｎＰ：ｅｖｅｎｔ、等が含まれている。メッセージのボディはなく空行のみである。
【００８５】
図Ｕ１３Ｃは、サブスクリプションレスポンスの例を示す図である。
【００８６】
この例は、成功レスポンスの例である。レスポンスラインには、ＨＴＴＰ成功コード、ヘッダには、サブスクリブションを特定するＩＤ、サブスクリプションの有効時間、等が含まれている。サブスクリプションの更新リクエストは、ＳＵＢＳＣＲＩＢＥメソッドを用いて、ヘッダにサブスクリプションＩＤを設定して行う。サブスクリプションのキャンセルリクエストは、ＵＮＳＵＢＳＣＲＩＰＴメソッドを用いて、ヘッダにサブスクリプションＩＤを設定して行う。
【００８７】
ルートデバイス７２０のサービス７２１（パブリッシャー）は、サブスクリプションリクエストに含まれているイベントメッセージの送信先ＵＲＬへのＨＴＴＰリクエストによって、イベントメッセージを送信する。つまり、サブスクライバーであるコントロールポイント７１０、コントロールポイント１３００に、イベントメッセージを送信する。メッセージを受信したサブスクライバーは、ＨＴＴＰレスポンスをパブリッシャーに返す。
【００８８】
図Ｕ１３Ｄは、イベントメッセージの例を示す図である。
【００８９】
リクエストラインには、ＮＯＴＩＦＹメソッドを用いる。ヘッダには、ＣＯＮＴＥＮＴ−ＴＹＰＥ：ｔｅｘｔ／ｘｍｌ、ＮＴ：ｕｐｎｐ：ｅｖｅｎｔ、ＮＴＳ：ｕｐｎｐ：ｐｒｏｐｃｈａｎｇｅ、ＳＩＤ：ｕｕｉｄ：＜ｓｕｂｓｃｒｉｐｔｉｏｎ  ＩＤ＞、等が含まれている。メッセージボディは、ＸＭＬで記述され、ｐｒｏｐｅｒｔｙｓｅｔエレメントに、状態変数をサブエレメントに持つｐｒｏｐｅｒｔｙサブエレメントを、必要なだけ含む。
【００９０】
＜プレゼンテーション＞
プレゼンテーションのステップでは、デバイスが持つＷｅｂサービスをブラウザに表示する。これによって、Ｗｅｂページからデバイスを制御でき、サービスの状態を表示できる。
【００９１】
図Ｕ１４は、ブラウザが、デバイスのプレゼンテーションページにアクセスする様子を示す図である。
【００９２】
コントロールポイント７１０は、ルートデバイス７２０のデバイスディスクリプションに含まれているプレゼンテーションＵＲＬを取得すると、ブラウザ１４００を使って、ルートデバイス７２０のプレゼンテーションページを表示することができる。ブラウザ１４００は、ルートデバイス７２０のプレゼンテーションＵＲＬへ、ＨＴＴＰ  ＧＥＴすることによって、プレゼンテーションページを取得する。ルートデバイス７２０は、プレゼンテーションページを介して、サービスのコントロール手段、状態表示手段を、コントロールポイント７１０に提供することができる。
【００９３】
＜＜Ｕｎｉｖｅｒｓａｌ  Ｐｌｕｇ  ａｎｄ  Ｐｌａｙ  （ＵＰｎＰ）  概要終わり＞＞
次に、クライアント１００、ＤＴＶ４００におけるＵＰｎＰプロトコルデバイス検出時セットアップ方法について説明する。
【００９４】
図２は、クライアント１００、ＤＴＶ４００におけるＵＰｎＰプロトコルデバイス検出時セットアップ方法を示すフローチャートである。
【００９５】
ＵＰｎＰプロトコルに対応しているクライアント１００、並びにＤＴＶ４００は、ネットワークに参加し、サービスを開始するに当たり、同ネットワーク上に存在するＵＰｎＰ対応プリンタを検索する（ｓｔｅｐ２−２）。
【００９６】
次に、ＳＴＥＰ２−２を詳細に説明する。
【００９７】
図３は、実施例１において、クライアントにおけるＵＰｎＰ対応プリンタデバイス検索のプロセスを示すフローチャートである。
【００９８】
図４は、実施例１において、Ｕｎｉｖｅｒｓａｌ  Ｐｌｕｇ  ａｎｄ  Ｐｌａｙ  Ｄｅｖｉｃｅ  Ａｒｃｈｉｔｅｃｔｕｒｅ  ｖ１で規定されるＭ−ＳＥＡＲＣＨディスカバリパケットのフォーマットを示す図である。
【００９９】
ｓｔｅｐ３−１に示すように、マルチキャストアドレス２３９．２５５．２５５．２５０、ポート番号１９００に対し、Ｕｎｉｖｅｒｓａｌ  Ｐｌｕｇ  ａｎｄ  Ｐｌａｙ  Ｄｅｖｉｃｅ  Ａｒｃｈｉｔｅｃｔｕｒｅ１．０に規定されているパケットを発行する。このパケットは、図４に示すフォーマットのＨＴＴＰ  Ｍ−ＳＥＡＲＣＨパケットである。
【０１００】
クライアント１００、ＤＴＶ４００のＵＰｎＰプロトコル処理部１０２、４０２は、Ｍ−ＳＥＡＲＣＨパケットを発行した後に、予め規定されている一定時間内に、応答があれば、その全ての応答に対して、レスポンスパケットの解析を実行する。上記一定時間は、実施例１では、３０秒間である。
【０１０１】
図５は、ネットワークデバイスの一例としてのプリンタからのレスポンスパケットのフォーマットを示す図である。
【０１０２】
クライアント１００、ＤＴＶ４００のＵＰｎＰプロトコル処理部１０２、４０２は、該パケットに記載されているネットワークプリンタのＵＲＬを記録する。この処理は、受信した全レスポンスパケットに対して実施され、ネットワーク上に存在する全てのＵＰｎＰ対応プリンタのＵＲＬを記録する（ｓｔｅｐ３−２）。
【０１０３】
上記プロセスが完了した場合、または、ステップにおいて応答が無い場合（ｓｔｅｐ３−３）、クライアント１００、ＤＴＶ４００のＵＰｎＰプロトコル処理部１０２、４０２は、ＵＰｎＰ検索処理を終了して、ｓｔｅｐ２−３に進み、プリンタ情報を取得する。その後に、それぞれのクライアント上で、デバイスをＵＰｎＰ経由で使用可能になるよう、セットアップ処理を実行する。
【０１０４】
一方、ＵＰｎＰプロトコルに対応しているネットワークプリンタ２００がネットワークに参加し、サービスを開始する。これに当たって、同ネットワーク上に、ＳＳＤＰ、ＨＴＴＭＵを用いて、自らの存在をマルチキャストアドレス２３９．２５５．２５５．２５０、ポート番号１９００に対し、マルチキャストする。つまり、Ｕｎｉｖｅｒｓａｌ  Ｐｌｕｇ  ａｎｄ  Ｐｌａｙ  Ｄｅｖｉｃｅ  Ａｒｃｈｉｔｅｃｔｕｒｅ１．０に規定される図４に示すフォーマットのＨＴＴＰ  ＮＯＴＩＦＹをネットワーク上にマルチキャストする。そして、このプリンタがネットワーク上でのサービスを実行中であることを広告（Ａｄｖｅｒｔｉｓｅ）する。
【０１０５】
広告メッセージには、デバイスに関する情報（Ｄｅｖｉｃｅ  Ｄｅｓｃｒｉｐｔｉｏｎ）を取得可能なＤｅｖｉｃｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｄｏｃｕｍｅｎｔが取得可能なＵＲＬが記述されている。このマルチキャストメッセージを受信したクライアント１００、ＤＴＶ４００は、パケットの解析を実行し、上記パケットに記載されているネットワークプリンタのＵＲＬを記録する。
【０１０６】
上記プロセスが完了すると、クライアント１００、ＤＴＶ４００のＵＰｎＰプロトコル処理部１０２、４０２は、新たに検出したプリンタについて、プリンタ情報を取得する。そして、クライアントから利用できるサービスであることが判明した後に、それぞれのクライアント上で、デバイスをＵＰｎＰ経由で使用可能になるように、セットアップ処理を実行する。
【０１０７】
次に、クライアント上で、デバイスをＵＰｎＰ経由で使用可能になるセットアップ処理について説明する。
【０１０８】
ＵＰｎＰデバイスを検出し、その情報取得を行い、プリントサービスに対応したプリンタであることを検出したクライアントは、次の方法でクライアント側のセットアップを行う。
【０１０９】
ＤＴＶ４００において、プロトコルスタック上には、ネットワークプリンタ２００と同様に、ＴＣＰ／ＵＤＰプロトコルスタック４０１、ＵＰｎＰプロトコル処理部４０２を備えている。また、クライアント用のＵＰｎＰのプリントサービスに準拠したプリントプロトコル処理部４０３が既に実装されている。よって、デジタルテレビが、プリンタを認識した時点で、ユーザによる追加のセットアップ処理をせずに、ＵＰｎＰのプリントサービスを使ったＤＴＶ４００とネットワークプリンタ２００との間の印刷を実行することができる。
【０１１０】
クライアント１００のＯＳも、ＵＰｎＰプロトコル処理部を備えているので、ＵＰｎＰプロトコルを使用したデバイス検索や、デバイスからのＨＴＴＰ  ＮＯＴＩＦＹ（広告）のマルチキャストを検出し、ＵＰｎＰデバイスが認識される。デバイスの情報取得を行い、ＵＰｎＰのプリントサービスに対応するプリンタであることを認識すると、対応したプリントサービスプロトコルに準拠したプリンタドライバを、システムに組み込むプラグ・アンド・プレイの処理が実行される。
【０１１１】
同処理において、ＯＳが標準に備えているデバイスドライバの中に最適なものが無ければ、デバイス購入時に、フロッピー（登録商標）ディスクやＣＤ−ＲＯＭ等、メディアに添付されているデバイスドライバを、ＯＳに組み込む必要がある。このデバイスドライバの組み込み作業のために、デバイスドライバが含まれているメディアのドライブへのセットを、ユーザに催促するクライアントシステムの処理が実行される。
【０１１２】
なお、実施例１におけるネットワークプリンタ２００において、ＵＰｎＰプロトコルは、主にデジタルテレビとの通信と印刷処理とを行うためのプロトコルを意図して実装されたものである。よって、クライアント１００のＯＳ上で動作するＵＰｎＰのプリントサービスに対応したＰｒｉｎｔ  Ｄｒｉｖｅｒは、提供されていない。クライアント１００における汎用ＯＳとネットワークプリンタ２００との間には、予め定められているベンダー固有のプロトコルに基づいた通信による印刷処理が意図されている。同プロトコルを処理するためのデバイスドライバと、同プロトコルを使用したデバイスのセットアップ方法とが用意されている。
【０１１３】
次に、このベンダー固有のプロトコルに基づいて、クライアント１００がネットワークプリンタ２００をセットアップする方法について説明する。
【０１１４】
実施例１であるネットワークプリンタ２００は、ＵＳＢとＬＡＮポートとの両方を具備するプリンタである。そのネットワークセットアップは、ベンダーから提供されたセットアッププログラムの実行によって、ＵＳＢを使ったセットアッププログラムの実行シーケンスの中で、プリンタドライバのインストール終了した後に、引き続き行なわれる。
【０１１５】
図６は、ＵＳＢを使用したネットワークプリンタのクライアントコンピュータ上におけるセットアップを示すダイアログの遷移を示す図である。
【０１１６】
図７は、ＵＳＢを使用したネットワークプリンタのクライアントコンピュータ上におけるセットアップを示すフローチャートである。
【０１１７】
ネットワークデバイスドライバがシステムにコピーされた後に、ＵＳＢケーブルでプリンタとクライアントとを接続し、プリンタの電源を投入すると、ＵＳＢ経由でプリンタが認識され、プリンタドライバがインストールされる。
【０１１８】
その後に、ネットワークセットアップを行う旨のダイアログボックス（６−１）において、セットアップを行う旨を、ユーザが選択する（６−３）と、ネットワークセットアップが開始される。セットアップ処理が開始された後に、ＵＳＢケーブルを接続したまま、ネットワークケーブルを本体に接続し、ネットワークに接続する旨をユーザに催促する旨のメッセージ（６−４）が表示される。
【０１１９】
ユーザ操作によって、プリンタのネットワークへ接続されると、セットアッププログラムは、ＬＡＮ経由で、プリンタを検索する。この検出は、ベンダー固有のプロトコルで定められたプリンタサーチコマンドのマルチキャスト発行によって行なわれる。このコマンドを理解できる機器（この場合、特定のプリンタやプリンタアダプタ）が、コマンドを送信したホストに、コマンドに対する予め決められた情報を戻す。この情報には、プリンタの名称やＩＤ、アドレス等が含まれ、これらの情報を基に、接続したいプリンタを特定することができる。
【０１２０】
クライアントは、受信した全レスポンスパケットに基づいて、同プロトコル対応プリンタであると認識し、発見されたプリンタの中から、ＵＳＢで接続されているプリンタと同一のプリンタを選択する。この場合、ＵＳＢで接続されているプリンタについて、ＵＳＢ経由でプリンタの名称やＩＤ、アドレス等を取得し、検出結果の中で一致するプリンタを選択する。
【０１２１】
選択されたプリンタを対象に、通信ポートが作成され、内容に従ってネットワークプリンタのアイコンが作成され、セットアップが完了する（６−８）。プリンタアイコンは、ユーザが登録されているプリンタを確認、区別または現在準備可能なプリンタを識別するのに利用され、アプリケーションから印刷する場合、このアイコンが選択される。
【０１２２】
このシステムにおいて、実施例１の特徴的な動作について、本システムの制御の流れと共に説明する。
【０１２３】
ＵＰｎＰプロトコルと、同プリントサービスをサポートする上記ＤＴＶ４００と、ＵＰｎＰプロトコルと、ベンダー固有のプロトコルとが、ネットワーク上に稼動している。また、同プロトコルを使ったプリントサービスをサポートする上記クライアントコンピュータが、ネットワーク上に稼動している。ユーザがクライアントコンピュータから印刷するために、ネットワークプリンタ２００を同ネットワークに新規に接続し、クライアントコンピュータにおいてセットアップする。
【０１２４】
プリンタ購入時に添付されているＣＤ−ＲＯＭに含まれているセットアッププログラムを、クライアントコンピュータ上で実行することによって、プリンタのセットアップが開始される。セットアップは、まず、プリンタにインタフェースケーブルを接続せずに、プリンタの電源を投入しない状態で、セットアップ処理を開始する。プログラムが表示するメッセージに従い、ユーザが処理を進めると、プリンタドライバソフトウエアのシステムへのコピーが終了する。
【０１２５】
その後に、ＵＳＢケーブルでプリンタとクライアントとを接続し、プリンタの電源を投入する旨をユーザに催促するメッセージが表示され、ユーザ操作によって、ＵＳＢ接続と電源投入とが行なわれる。これによって、ＵＳＢ経由で、プリンタが、ＯＳのプラグアンドプレイ機能によって認識され、プリンタドライバがインストールされる。
【０１２６】
図８は、実施例１のネットワークプリンタのＵＳＢを使用したクライアントコンピュータ上でのセットアップを示すダイアログの遷移図である。
【０１２７】
図９は、実施例１のネットワークプリンタのＵＳＢを使用したクライアントコンピュータ上でのセットアップを示すフローチャートである。
【０１２８】
プリンタドライバのインストールが完了すると、引き続き、ネットワークセットアップを行うかどうかを問うダイアログボックスが表示される（８−１）。セットアップを行う旨をユーザが選択すると（８−３）、ネットワークセットアップが開始される。セットアップ処理が開始される際に、ＵＳＢケーブルを接続したままで、プリンタの電源が投入された状態であり、ネットワークケーブルが未接続であることを確認する旨のメッセージが表示される（８−４）。
【０１２９】
以下、特徴的な部分について説明する。
【０１３０】
本プリンタは、ＵＰｎＰプロトコル機能を有効化、または無効化する機能を持ち、クライアントからのコマンド発行に従い、制御される。ユーザがメッセージを確認し、セットアッププログラムを進めると、セットアッププログラムは、上記ＵＰｎＰ無効化機能を使用し、ＵＰｎＰ機能を無効化する旨のコマンドを、ＵＳＢ経由で発行する。
【０１３１】
この制御によって、プリンタのＵＰｎＰ機能が無効化され、ネットワークに接続された際には、ＵＰｎＰプロトコルを使用したデバイス検索には反応せず、またプリンタからのＨＴＴＰ  ＮＯＴＩＦＹ（広告）のマルチキャストも発行しない。すなわち、ＵＰｎＰデバイスとしてのデバイス認識はなされない。
【０１３２】
図１０ａは、ＵＳＢ経由で発行されるＵＰｎＰ機能を無効化するコマンドを示す図である。
【０１３３】
予め定義されたプリンタのネットワーク設定を行うために定義されている設定コマンドを使い、設定するパラメータとして、同じく予め定義されたＵＰｎＰ機能の有効化・無効化を制御する指定する＜ｕｐｎｐｅｎａｂｌｅ＞というパラメータを指定する。
【０１３４】
このパラメータの値として、「０」をセットすることによって、当該プリンタのＵＰｎＰ機能を無効にする設定が行なわれる。本設定コマンドの実行が問題なく処理されると、応答コマンドに、正常実行のステータスが返る。
【０１３５】
この処理を行った後に、セットアッププログラムは、ネットワークケーブルをプリンタ本体に接続し、ネットワークにプリンタを接続する旨を、ユーザに催促するメッセージを表示する（８−８）。ユーザ操作によって、プリンタのネットワークへの接続が行われる。セットアッププログラムは、ＬＡＮ経由で、プリンタを検索する。この検出は、ベンダー固有のプロトコルで定められたプリンタサーチコマンドのマルチキャスト発行によって行なわれる。このときに、プリンタのＵＰｎＰ機能が無効になっている。したがって、ネットワーク上に、ＵＰｎＰデバイスの追加を行わず、クライアントＯＳのＵＰｎＰ機能によるデバイス検出が働かず、ＵＰｎＰのインストール画面といったセットアッププログラムには関係ない画面が表示されることはない。また、ＤＴＶ４００においても、ＵＰｎＰプリンタの検出がされないので、デジタルテレビからプリンタへの通信が行われない。
【０１３６】
セットアッププログラムによるベンダー固有のプロトコルで定められているプリンタサーチが行われ、同プロトコル対応プリンタが応答する。その中には、ＵＳＢで接続されている当該プリンタからの応答が含まれ、ＵＳＢ経由で、プリンタの名称やＩＤ、アドレス等を取得し、情報が合致するプリンタをセットアップ対象プリンタとして選択する。
【０１３７】
このプリンタを対象に、通信ポートが作成され、ネットワークプリンタとしてクライアントＯＳ上に登録される。これと同時に、ユーザインタフェース上に、プリンタアイコンとして表示され、ユーザが登録されているプリンタを確認、区別または現在準備可能なプリンタを識別するのに利用される。アプリケーションからの印刷では、このアイコンが選択できるようになり、ネットワークセットアップは完了する。
【０１３８】
セットアップ処理の最後に、プログラムは、ＵＰｎＰの有効化機能を使用し、ＵＰｎＰ機能を再度有効化する旨のコマンドをＵＳＢ経由で発行する。この制御によって、プリンタのＵＰｎＰ機能が有効化され、ＵＰｎＰプロトコルを使用したデバイス検索に反応する。
【０１３９】
図１０ｂは、ＵＳＢ経由で発行されるＵＰｎＰ機能を有効化するコマンドを示す図である。
【０１４０】
プリンタのネットワーク設定を行うために定義されている設定コマンドに、パラメータとして＜ｕｐｎｐｅｎａｂｌｅ＞を指定するのは、機能無効化の際と同様の処理である。パラメータの値として「１」をセットすることによって、当該プリンタのＵＰｎＰ機能を有効とする設定が行なわれる。本設定コマンドの実行が問題なく処理されると、応答コマンドに、正常実行のステータスが返ってくる。
【０１４１】
ＵＰｎＰが有効になると、プリンタからは、ＨＴＴＰ  ＮＯＴＩＦＹ（広告）のマルチキャストを発行し、ＵＰｎＰデバイスとして、デバイス認識される。この時点では、クライアントにおいて、ネットワークセットアップが完了しているので、ユーザに大きな混乱は生じない。
【０１４２】
上記のように、クライアントデバイスが、固有プロトコルを使ったネットワークセットアップを実行し、ユーザインタフェースを介して、ユーザが設定動作を行っている最中に、そのバックグランドでＵＰｎＰプロトコルによって、同じデバイスが検索される。そのセットアップ処理に伴うメッセージやダイアログボックスが表示される等、セットアップ処理が実行されると、ユーザが混乱する可能性がある。しかし、固有プロトコルを使ったセットアップ開始時に、ＵＰｎＰプロトコルによる検索が有効になっていれば、一時的に無効にすることによって、ＵＰｎＰによる検出が、セットアップ中に発生することがなく、上記混乱を防ぐことができる。
【０１４３】
なお、実施例１におけるプリンタのＵＰｎＰプロトコル機能の無効化コマンドの発行手段は、記載された手段に限る必要はない。たとえば、本プリンタのネットワークセットアップにおいて、ＵＳＢ接続を必要としないセットアップ処理を実行する場合、セットアッププログラムが、対象プリンタの電源を投入する。そして、ネットワークに接続された後の早い段階で、ＵＰｎＰ機能を無効化する旨のコマンドを、ベンダー固有のプロトコルを使って、ネットワーク経由で発行するようにしてもよい。
【０１４４】
この場合、ネットワーク上で、該当プリンタが特定されていないことが想定されるので、ブロードキャスト通信によって、このコマンドを発行する。これによって、ネットワークに接続され、このコマンドを認識可能なプリンタの全てにおいて、ＵＰｎＰ機能を無効化することができる。同様に、クライアントＯＳにおいて、セットアップ処理を行っている最中に、ＵＰｎＰプロトコル経由のデバイス検索やセットアップ処理が同時処理されることもない。ユーザは、混乱することなく、セットアッププログラムの処理を行うことができる。
【実施例２】
【０１４５】
次に、本発明の実施例２について説明する。
【０１４６】
ＵＰｎＰプロトコルと、同プリントサービスをサポートするＤＴＶ４００と、ＵＰｎＰプロトコルと、ベンダー固有のプロトコルとが、ネットワーク上で稼動している。また、同プロトコルを使ったプリントサービスをサポートする上記クライアントコンピュータが、ネットワーク上で稼動している。ユーザが、クライアントコンピュータからの印刷を行うために、ネットワークプリンタ２００を同ネットワークに新規に接続し、クライアントコンピュータにおいてセットアップを行う。
【０１４７】
プリンタ購入時に添付されているＣＤ−ＲＯＭに含まれているセットアッププログラムをクライアントコンピュータ上で実行することによって、新しいプリンタのセットアップが開始される。プログラムが表示するメッセージに従い、ユーザが処理を進めると、プリンタドライバソフトウエアのシステムへのコピーが終了する。
【０１４８】
図１１は、本発明の第２の実施例において、ネットワークプリンタのクライアントコンピュータ上で、セットアップを示すダイアログの遷移図である。
【０１４９】
図１２は、本発明の第２の実施例において、ネットワークプリンタのクライアントコンピュータ上で、セットアップを示すフローチャートである。
【０１５０】
コピー終了後に、引き続きネットワークセットアップを行うかどうかを問うダイアログボックスが表示される。セットアップを行う旨を、ユーザが選択すると、ネットワークセットアップが開始される。セットアップ処理が開始される際に、プリンタの電源投入とネットワークケーブルの接続によるネットワークへの接続とを催促するメッセージが、表示される（１１−５、Ｓ１２０１）。ユーザは、指示に従い、プリンタの電源を投入し、ネットワークにプリンタを接続する。
【０１５１】
図１３は、本発明の第２の実施例において、ネットワークプリンタのプリンタ上での状態遷移を示すフローチャートである。
【０１５２】
本プリンタは、一度もセットアップされていない新品である状態、または、設定が初期化された状態において、ＵＰｎＰプロトコル機能が無効化されている（Ｓ１３０２）。これによって、ネットワークに接続された際に、ＵＰｎＰプロトコルを使用したデバイス検索には反応せず、またプリンタからのＨＴＴＰ  ＮＯＴＩＦＹ（広告）のマルチキャストも発行しない。すなわち、ＵＰｎＰデバイスとしてのデバイス認識はされない。ベンダー固有のプロトコルを使ったネットワークセットアップが行なわれ、ベンダー固有プロトコルによるセットアップが全て完了したことを、プリンタが認識した時点で、ＵＰｎＰ機能が有効化される（Ｓ１３０４）という特徴を持っている。
【０１５３】
セットアッププログラムは、ネットワークケーブルをプリンタ本体に接続し、ネットワークにプリンタを接続する旨を、ユーザに催促するメッセージを、表示する。ユーザ操作によって、プリンタをネットワークへ接続する。セットアッププログラムは、ＬＡＮ経由でプリンタを検索する（Ｓ１２０３）。この検出は、ベンダー固有のプロトコルで定められたプリンタサーチコマンドのマルチキャスト発行によって行なわれる。この場合、プリンタのＵＰｎＰ機能が無効になっているので（Ｓ１３０２）、ネットワーク上に、ＵＰｎＰデバイスを追加しない。また、クライアントＯＳのＵＰｎＰ機能によるデバイス検出を働かさず、ＵＰｎＰのインストール画面といったセットアッププログラムには関係ない画面が表示されることはない。また、ＤＴＶ４００においても、ＵＰｎＰプリンタを検出しないので、デジタルテレビからプリンタへの通信を行わない。
【０１５４】
セットアッププログラムは、ベンダー固有のプロトコルで定められているプリンタサーチをし、同プロトコルに対応するプリンタが応答する。サーチコマンドは、ブロードキャストでネットワーク上の全ての機器に送信される。そして、サーチコマンドを受取り、このコマンドを理解できる機器（この場合は、特定のプリンタやプリンタアダプタ）がコマンドを送信したホストに、コマンドに対する予め決められた情報を戻す（１２０４）。
【０１５５】
この情報には、プリンタの名称やＩＤ、アドレス等が含まれ、これらの情報に基づいて、接続したいプリンタを特定することができる。検出されたプリンタの一覧が表示され（１１−９）、ハイライトで示されたプリンタが選択可能である。ユーザが、プリンタを選択し（１２０５）、プログラムを進めると、そのプリンタを対象に、通信ポートが作成され、ネットワークプリンタとして、クライアントＯＳ上に登録される。これと同時に、ユーザインタフェース上に、プリンタアイコンとして表示され、ユーザが、登録されているプリンタを確認、区別、または現在準備可能なプリンタを識別するのに利用され、アプリケーションからの印刷では、このアイコンを選択できる。そして、ネットワークセットアップが完了する（１１−１４）。
【０１５６】
セットアップ処理の最後に、プログラムは、他のクライアントＯＳにおいて、同プリンタのセットアップを行うために、同様のセットアッププログラムを実行するか否かをユーザに選択させる。セットアッププログラムによるネットワークセットアップを行わないという選択がされると、プログラムは、予め定められたセットアップ完了通知コマンドをプリンタに発行する（Ｓ１２０７）。このコマンド発行によって、プリンタは、固有プロトコルを使ったセットアップ処理が完了したことを判断し（Ｓ１３０３）、ＵＰｎＰ機能が有効化される。これによって、ＵＰｎＰプロトコルを使用したデバイス検索に反応する。また、プリンタからは、ＨＴＴＰ  ＮＯＴＩＦＹ（広告）のマルチキャストを発行し、ＵＰｎＰデバイスとして、デバイス認識される。この時点では、クライアントにおいてネットワークセットアップは完了しているので、ユーザに大きな混乱は生じない。
【０１５７】
このように、クライアントデバイスが、固有プロトコルを使ったネットワークセットアップを実行し、ユーザインタフェースを介して、ユーザが設定動作を行っている最中に、そのバックグランドで、ＵＰｎＰプロトコルによって、同じデバイスが検索される。そして、そのセットアップ処理に伴うメッセージやダイアログボックスが表示される等、セットアップ処理が実行されると、ユーザが混乱する可能性がある。しかし、固有プロトコルを使ったセットアップ開始時に、ＵＰｎＰプロトコルによる検索が有効になっていれば、一時的に無効にすることによって、ＵＰｎＰによる検出がセットアップ中に発生することがなく、上記混乱を防ぐことができる。
【０１５８】
上記実施例は、ネットワークに接続されて複数のプロトコルに対応するサーバデバイスのクライアントデバイスにおけるセットアップ方法であり、複数のプロトコルとそれに対応したセットアップ方法を備えるクライアントデバイスである。また、同じ複数のプロトコルに対応するサーバデバイスのセットアップを行う際に、第１優先のプロトコル経由で検索されたサーバデバイスのセットアップを開始するときに、サーバデバイスにおいてその他のプロトコルによる検索が有効であれば、次のようにする。つまり、上記実施例は、上記有効である他のプロトコルによる検索を一時的に無効とし、その後に、上記セットアップ処理が完了した際に、上記無効にしたプロトコルを有効とするデバイスとそのデバイスに適用される方法、制御プログラムである。
【０１５９】
また、上記実施例は、ネットワークに接続され、複数のプロトコルに対応するサーバデバイスのクライアントデバイスにおけるセットアップ方法であり、複数のプロトコルとそれに対応したセットアップ方法を備えるクライアントデバイスである。同じ複数のプロトコルに対応するサーバデバイスのセットアップを行う際に、デバイスの初期状態においてデバイスが第１優先のセットアップを完了していなければ、第１優先のセットアップに使用されていないプロトコルを無効とする。そして、上記実施例は、当該セットアップ処理が完了したときに、上記無効にしたプロトコルを有効にするデバイスセットアップ方法である。
【０１６０】
つまり、上記実施例は、ネットワークインタフェースを持つデバイスにおけるクライアントセットアップ方法であって、複数のセットアップ方法を具備するデバイスである。また、上記実施例は、第１優先のセットアップを開始する際に、第２のセットアップ方法であるネットワークインタフェース経由のディスカバリ機能が有効であれば、上記ディスカバリ機能を無効にするディスカバリ機能無効化手段を有する。さらに、上記実施例は、上記第１優先のセットアップが完了した際に、上記無効にしたディスカバリ機能を有効にするディスカバリ機能有効化手段を有するデバイスセットアップ装置の例である。
【０１６１】
また、上記実施例は、初期状態において、デバイスが、第１優先のセットアップを完了していなければ、上記第１優先のセットアップに使われないネットワークインタフェース経由のディスカバリ機能を無効にするディスカバリ機能無効化手段を有する。上記実施例は、当該セットアップ処理を終了したときに、上記ディスカバリ機能を有効にするディスカバリ機能有効化手段を有するデバイスセットアップ装置の例である。
【０１６２】
さらに、上記実施例は、ネットワークインタフェース以外のインタフェースであるインタフェース２を持つデバイスであって、第１優先度のデバイスセットアップ方法でセットアップする。このセットアップを開始する際に、セットアップ処理の最初に、上記インタフェース２を経由し、セットアップ対象のデバイスと通信し、コマンドを送信する。これによって、上記ネットワークインタフェース経由のディスカバリ機能を無効にし、セットアップ処理を終了したときに、再度コマンドを送信することによって、上記ディスカバリ機能を有効にするデバイスセットアップ装置の例である。
【０１６３】
また、上記実施例を方法の発明として把握することができる。つまり、上記実施例は、ネットワークインタフェースを持つデバイスにおけるクライアントセットアップ方法であって、複数のセットアップ方法を具備するデバイスの制御方法である。また、第１優先のセットアップを開始する際に、第２のセットアップ方法であるネットワークインタフェース経由のディスカバリ機能が有効であれば、上記ディスカバリ機能を無効にし、記憶装置に記憶するディスカバリ機能無効化工程を有する。さらに、上記第１優先のセットアップが完了した際に、上記無効にしたディスカバリ機能を有効にするディスカバリ機能有効化工程を有するデバイスセットアップ装置の制御方法の例である。
【０１６４】
上記実施例は、初期状態において、デバイスが、第１優先のセットアップを完了していなければ、上記第１優先のセットアップに使われないネットワークインタフェース経由のディスカバリ機能を無効にし記憶装置に記憶するディスカバリ機能無効化工程を有する。また、上記実施例は、当該セットアップ処理を終了したときに、上記ディスカバリ機能を有効にするディスカバリ機能有効化工程とを有するデバイスセットアップ装置の制御方法の例である。
【０１６５】
さらに、上記実施例は、ネットワークインタフェース以外のインタフェースであるインタフェース２を持つデバイスであって、第１優先度のデバイスセットアップ方法でセットアップを開始する。この際に、セットアップ処理の最初に、上記インタフェース２を経由し、セットアップ対象のデバイスと通信し、コマンドを送信する。これによって、上記ネットワークインタフェース経由のディスカバリ機能を無効にし、記憶装置に記憶し、セットアップ処理を終了したときに、再度コマンドを送信することによって、上記ディスカバリ機能を有効にする。
【図面の簡単な説明】
【０１６６】
【図１】本発明の実施例１であるネットワークプリントシステムＰＳ１の構成を示すブロック図である。
【図Ｕ７】ＵＰｎＰの基本構成を示す図である。
【図Ｕ８】ＵＰｎＰのプロトコルスタックを示す図である。
【図Ｕ９Ａ】ＵＰｎＰデバイスが告知を行う様子を示す図である。
【図Ｕ９Ｂ】デバイスが利用可能なことを示す告知パケットの例を示す図である。
【図Ｕ９Ｃ】デバイスが利用できなくなることを示す告知パケットの例を示す図である。
【図Ｕ１０Ａ】コントロールポイントがデバイスをサーチする様子を示す図である。
【図Ｕ１０Ｂ】サーチリクエストパケットの例を示す図である。
【図Ｕ１０Ｃ】サーチレスポンスパケットの例を示す図である。
【図Ｕ１１Ａ】ディスクリプションステップの様子を示す図である。
【図Ｕ１１Ｂ】ディスクリプションリクエストパケットの例を示す図である。
【図Ｕ１１Ｃ】ディスクリプションレスポンスパケットの例を示す図である。
【図Ｕ１２Ａ】コントロールポイントがデバイスをコントロールする様子を示す図である。
【図Ｕ１２Ｂ】アクションリクエストの例を示す図である。
【図Ｕ１２Ｃ】アクションレスポンスの例を示す図である。
【図Ｕ１３Ａ】イベンティングの様子を示す図である。
【図Ｕ１３Ｂ】サブスクリプションリクエストの例を示す図である。
【図Ｕ１３Ｃ】サブスクリプションレスポンスの例を示す図である。
【図Ｕ１３Ｄ】イベントメッセージの例を示す図である。
【図Ｕ１４】ブラウザがデバイスのプレゼンテーションページにアクセスする様子を示す図である。
【図２】クライアント１００、ＤＴＶ４００におけるＵＰｎＰプロトコルデバイス検出時セットアップ方法を示すフローチャートである。
【図３】実施例１において、クライアントにおけるＵＰｎＰ対応プリンタデバイス検索のプロセスを示すフローチャートである。
【図４】実施例１において、Ｕｎｉｖｅｒｓａｌ  Ｐｌｕｇ  ａｎｄ  Ｐｌａｙ  Ｄｅｖｉｃｅ  Ａｒｃｈｉｔｅｃｔｕｒｅ  ｖ１で規定されるＭ−ＳＥＡＲＣＨディスカバリパケットのフォーマットを示す図である。
【図５】ネットワークデバイスの一例としてのプリンタからのレスポンスパケットのフォーマットを示す図である。
【図６】ＵＳＢを使用したネットワークプリンタのクライアントコンピュータ上におけるセットアップを示すダイアログの遷移を示す図である。
【図７】ＵＳＢを使用したネットワークプリンタのクライアントコンピュータ上におけるセットアップを示すフローチャートである。
【図８】実施例１のネットワークプリンタのＵＳＢを使用したクライアントコンピュータ上でのセットアップを示すダイアログの遷移図である。
【図９】実施例１のネットワークプリンタのＵＳＢを使用したクライアントコンピュータ上でのセットアップを示すフローチャートである。
【図１０ａ】ＵＳＢ経由で発行されるＵＰｎＰ機能を無効化するコマンドを示す図である。
【図１０ｂ】ＵＳＢ経由で発行されるＵＰｎＰ機能を有効化するコマンドを示す図である。
【図１１】本発明の第２の実施例において、ネットワークプリンタのクライアントコンピュータ上で、セットアップを示すダイアログの遷移図である。
【図１２】本発明の第２の実施例において、ネットワークプリンタのクライアントコンピュータ上で、セットアップを示すフローチャートである。
【図１３】本発明の第２の実施例において、ネットワークプリンタのプリンタ上での状態遷移を示すフローチャートである。
【符号の説明】
【０１６７】
ＰＳ１…ネットワークプリントシステム、
１００…クライアント、
２００…ネットワークプリンタ、
２０１…プロトコルスタック
２０２…ＵＰｎＰプロトコル処理部、
２０４…プリンタコントローラ、
２０５…ベンダー固有プロトコルの処理部、
４０１…ＴＣＰ／ＵＤＰプロトコルスタック、
４０２…ＵＰｎＰプロトコル処理部、
４０３…プリントプロトコル処理部、
４０４…印刷アプリケーション。
【図１】
2009053869.tif 000003
【図Ｕ７】
2009053869.tif 000004
【図Ｕ８】
2009053869.tif 000005
【図Ｕ９Ａ】
2009053869.tif 000006
【図Ｕ９Ｂ】
2009053869.tif 000007
【図Ｕ９Ｃ】
2009053869.tif 000008
【図Ｕ１０Ａ】
2009053869.tif 000009
【図Ｕ１０Ｂ】
2009053869.tif 000010
【図Ｕ１０Ｃ】
2009053869.tif 000011
【図Ｕ１１Ａ】
2009053869.tif 000012
【図Ｕ１１Ｂ】
2009053869.tif 000013
【図Ｕ１１Ｃ】
2009053869.tif 000014
【図Ｕ１２Ａ】
2009053869.tif 000015
【図Ｕ１２Ｂ】
2009053869.tif 000016
【図Ｕ１２Ｃ】
2009053869.tif 000017
【図Ｕ１３Ａ】
2009053869.tif 000018
【図Ｕ１３Ｂ】
2009053869.tif 000019
【図Ｕ１３Ｃ】
2009053869.tif 000020
【図Ｕ１３Ｄ】
2009053869.tif 000021
【図Ｕ１４】
2009053869.tif 000022
【図２】
2009053869.tif 000023
【図３】
2009053869.tif 000024
【図４】
2009053869.tif 000025
【図５】
2009053869.tif 000026
【図６】
2009053869.tif 000027
【図７】
2009053869.tif 000028
【図８】
2009053869.tif 000029
【図９】
2009053869.tif 000030
【図１０ａ】
2009053869.tif 000031
【図１０ｂ】
2009053869.tif 000032
【図１１】
2009053869.tif 000033
【図１２】
2009053869.tif 000034
【図１３】
2009053869.tif 000035