(57)【特許請求の範囲】
【請求項１】
ネットワークに接続される制御装置であって、
前記ネットワークを介して接続されるコンピュータと通信するための第１の通信部と、
前記ネットワークを介さずに接続される複数のローカルデバイスと通信するための第２の通信部と、
ページ画面を表すページ画面データを準備して、前記ページ画面データを前記第１の通信部を介して前記コンピュータに提供するためのページ画面データ提供部と、
を備え、
前記ページ画面データ提供部は、
前記ページ画面のうちの少なくとも一部に表現されるメニューを表すメニューデータを準備するメニューデータ準備部を含み、
前記メニューデータ準備部は、
前記第２の通信部を介して前記ローカルデバイスから、第１種のメニュー構成情報を取得するメニュー構成情報取得部であって、前記第１種のメニュー構成情報は、前記メニューに表示されて、前記ローカルデバイスに格納された第１種のコンテンツデータによって表される第１種のコンテンツを示す第１種の項目と、前記第１種の項目に関連付けられて、前記ローカルデバイスに格納された前記第１種のコンテンツデータの所在を示す第１種のアドレスと、を含む、前記メニュー構成情報取得部と、
第２種のメニュー構成情報を準備するメニュー構成情報準備部であって、前記第２種のメニュー構成情報は、前記メニューに表示されて、前記制御装置に格納された第２種のコンテンツデータによって表される第２種のコンテンツを示す第２種の項目と、前記第２種の項目に関連付けられて、前記制御装置に格納された前記第２種のコンテンツデータの所在を示す第２種のアドレスと、を含む、前記メニュー構成情報準備部と、
前記メニュー構成情報取得部から受け取った前記第１種のメニュー構成情報と、前記前記メニュー構成情報準備部から受け取った前記第２種のメニュー構成情報とを用いて、前記メニューデータを生成するメニューデータ生成部と、
前記メニュー構成情報取得部による前記第１種のメニュー構成情報の取得に先行して、前記ローカルデバイスに、他のローカルデバイスから取得した他の第１種のメニュー構成情報を通知する通知部と、
を備えることを特徴とする制御装置。
【請求項２】
請求項１記載の制御装置であって、
前記メニュー構成情報取得部は、
前記第２の通信部に接続された前記ローカルデバイスを検出するための検出部を備え、
前記メニュー構成情報取得部は、前記検出部によって前記ローカルデバイスが検出された場合に、前記第１種のメニュー構成情報を取得する、制御装置。
【請求項３】
請求項２記載の制御装置であって、
前記メニュー構成情報取得部は、以前に検出された前記ローカルデバイスが前記検出部によって検出されない場合には、取得済みの前記第１種のメニュー構成情報を用いて前記メニューデータが生成されないように処理を実行する、制御装置。
【請求項４】
請求項１ないし３のいずれかに記載の制御装置であって、
前記第１種のメニュー構成情報は、さらに、前記メニューに表示されて、前記第１種の項目が属する第１種のカテゴリを含んでおり、
前記メニューデータ生成部は、前記メニューにおいて、前記第１種の項目が前記第１種のカテゴリ内に表示されるように、前記メニューデータを生成する、制御装置。
【請求項５】
請求項１ないし４のいずれかに記載の制御装置であって、
前記ページ画面データ提供部は、さらに、
前記コンピュータによって前記第１種のアドレスが指定された場合に、前記第２の通信部を介して、前記第１種のアドレスによって特定される前記第１種のコンテンツデータを前記ローカルデバイスから取得するコンテンツデータ準備部を備える、制御装置。
【請求項６】
ネットワーク装置であって、
請求項１ないし５のいずれかに記載の前記制御装置と、
前記ローカルデバイスと、
を備え、
前記ローカルデバイスは、
予め準備された前記第１種のメニュー構成情報を前記メニュー構成情報取得部に供給するためのメニュー構成情報供給部を備えており、
前記メニュー構成情報供給部は、
前記予め準備された前記第１種のメニュー構成情報の供給に先行して、前記通知部から、前記他のローカルデバイスの前記他の第１種のメニュー構成情報を受け取り、
前記予め準備された第１種のメニュー構成情報が前記他の第１種のメニュー構成情報と同じである場合には、前記予め準備された第１種のメニュー構成情報を変更して、前記変更済みの第１種のメニュー構成情報を前記メニュー構成情報取得部に提供する、ネットワーク装置。
【請求項７】
ネットワークを介して接続されるコンピュータと通信するための第１の通信部と、前記ネットワークを介さずに接続される複数のローカルデバイスと通信するための第２の通信部と、を備える制御装置によって実行される制御方法であって、
ページ画面を表すページ画面データを準備して、前記ページ画面データを前記第１の通信部を介して前記コンピュータに提供するためのページ画面データ提供工程を備え、
前記ページ画面データ提供工程は、
前記ページ画面のうちの少なくとも一部に表現されるメニューを表すメニューデータを準備するメニューデータ準備工程を含み、
前記メニューデータ準備工程は、
前記第２の通信部を介して前記ローカルデバイスから、第１種のメニュー構成情報を取得するメニュー構成情報取得工程であって、前記第１種のメニュー構成情報は、前記メニューに表示されて、前記ローカルデバイスに格納された第１種のコンテンツデータによって表される第１種のコンテンツを示す第１種の項目と、前記第１種の項目に関連付けられて、前記ローカルデバイスに格納された前記第１種のコンテンツデータの所在を示す第１種のアドレスと、を含む、前記メニュー構成情報取得工程と、
第２種のメニュー構成情報を準備するメニュー構成情報準備工程であって、前記第２種のメニュー構成情報は、前記メニューに表示されて、前記制御装置に格納された第２種のコンテンツデータによって表される第２種のコンテンツを示す第２種の項目と、前記第２種の項目に関連付けられて、前記制御装置に格納された前記第２種のコンテンツデータの所在を示す第２種のアドレスと、を含む、前記メニュー構成情報準備工程と、
前記メニュー構成情報取得工程で得られた前記第１種のメニュー構成情報と、前記前記メニュー構成情報準備工程で得られた前記第２種のメニュー構成情報とを用いて、前記メニューデータを生成するメニューデータ生成工程と、
前記メニュー構成情報取得工程による前記第１種のメニュー構成情報の取得に先行して、前記ローカルデバイスに、他のローカルデバイスから取得した他の第１種のメニュー構成情報を通知する通知工程と、
を備えることを特徴とする制御方法。
【請求項８】
ネットワークを介して接続されるコンピュータと通信するための第１の通信部と、前記ネットワークを介さずに接続される複数のローカルデバイスと通信するための第２の通信部と、を備える制御装置に制御を実行させるためのコンピュータプログラムあって、
ページ画面を表すページ画面データを準備して、前記ページ画面データを前記第１の通信部を介して前記コンピュータに提供するためのページ画面データ提供機能を、前記制御装置に実現させ、
前記ページ画面データ提供機能は、
前記ページ画面のうちの少なくとも一部に表現されるメニューを表すメニューデータを準備するメニューデータ準備機能を含み、
前記メニューデータ準備機能は、
前記第２の通信部を介して前記ローカルデバイスから、第１種のメニュー構成情報を取得するメニュー構成情報取得機能であって、前記第１種のメニュー構成情報は、前記メニューに表示されて、前記ローカルデバイスに格納された第１種のコンテンツデータによって表される第１種のコンテンツを示す第１種の項目と、前記第１種の項目に関連付けられて、前記ローカルデバイスに格納された前記第１種のコンテンツデータの所在を示す第１種のアドレスと、を含む、前記メニュー構成情報取得機能と、
第２種のメニュー構成情報を準備するメニュー構成情報準備機能であって、前記第２種のメニュー構成情報は、前記メニューに表示されて、前記制御装置に格納された第２種のコンテンツデータによって表される第２種のコンテンツを示す第２種の項目と、前記第２種の項目に関連付けられて、前記制御装置に格納された前記第２種のコンテンツデータの所在を示す第２種のアドレスと、を含む、前記メニュー構成情報準備機能と、
前記メニュー構成情報取得機能によって得られた前記第１種のメニュー構成情報と、前記前記メニュー構成情報準備機能によって得られた前記第２種のメニュー構成情報とを用いて、前記メニューデータを生成するメニューデータ生成機能と、
前記メニュー構成情報取得機能による前記第１種のメニュー構成情報の取得に先行して、前記ローカルデバイスに、他のローカルデバイスから取得した他の第１種のメニュー構成情報を通知する通知機能と、
を含むことを特徴とするコンピュータプログラム。
【請求項９】
請求項８記載のコンピュータプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ローカルデバイスが接続される制御装置におけるメニューデータの生成の技術に関する。
【背景技術】
【０００２】
ネットワークを利用した印刷システムでは、例えば、プリンタがＵＳＢケーブルを介してプリントサーバに接続され、プリントサーバとクライアントコンピュータとがＬＡＮなどのネットワークを介して接続される。
【０００３】
上記のような印刷システムでは、通常、プリントサーバは、Ｗｅｂサーバの機能を有しており、プリントサーバ内に格納されたプリントサーバやプリンタに関するコンテンツデータを用いて、Ｗｅｂページ画面をクライアントコンピュータに提供する。Ｗｅｂページ画面には、通常、複数のコンテンツに対応する複数の項目を含むメニューが含まれている。クライアントコンピュータのユーザは、メニュー内のいずれかの項目を選択することによって、プリントサーバやプリンタに関する所望のコンテンツを取得することができる。
【０００４】
【特許文献１】特開２００４−３１８８４２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来では、プリントサーバに接続されるプリンタが他のローカルデバイスに変更されても、Ｗｅｂページ画面内のメニューは変更されなかった。換言すれば、従来では、プリントサーバに接続されるローカルデバイスに応じて、メニューを生成することは困難であった。これは、従来では、メニューの変更には、プリントサーバの構成を変更する必要があるためである。
【０００６】
なお、上記の問題は、印刷システムだけでなく、ローカルデバイスを含む他のネットワークシステムにおいても同様に発生し得る。
【０００７】
本発明は、上述の課題を解決するためになされたものであり、接続されるローカルデバイスに応じたメニューデータを容易に生成することを目的とする。
【課題を解決するための手段】
【０００８】
上述の課題の少なくとも一部を解決するため、本発明の第１の装置は、ネットワークに接続される制御装置であって、
前記ネットワークを介して接続されるコンピュータと通信するための第１の通信部と、
前記ネットワークを介さずに接続されるローカルデバイスと通信するための第２の通信部と、
ページ画面を表すページ画面データを準備して、前記ページ画面データを前記第１の通信部を介して前記コンピュータに提供するためのページ画面データ提供部と、
を備え、
前記ページ画面データ提供部は、
前記ページ画面のうちの少なくとも一部に表現されるメニューを表すメニューデータを準備するメニューデータ準備部を含み、
前記メニューデータ準備部は、
前記第２の通信部を介して前記ローカルデバイスから、第１種のメニュー構成情報を取得するメニュー構成情報取得部であって、前記第１種のメニュー構成情報は、前記メニューに表示されて、前記ローカルデバイスに格納された第１種のコンテンツデータによって表される第１種のコンテンツを示す第１種の項目と、前記第１種の項目に関連付けられて、前記ローカルデバイスに格納された前記第１種のコンテンツデータの所在を示す第１種のアドレスと、を含む、前記メニュー構成情報取得部と、
前記メニュー構成情報取得部から受け取った前記第１種のメニュー構成情報を用いて、前記メニューデータを生成するメニューデータ生成部と、
を備えることを特徴とする。
【０００９】
ローカルデバイスには、第１種のコンテンツデータが格納されていると共に、第１種のメニュー構成情報が格納されている。このため、制御装置は、ローカルデバイスに含まれる第１種のコンテンツに関する第１種のメニュー構成情報を該ローカルデバイスから取得することができ、この結果、制御装置は、接続されるローカルデバイスに応じたメニューデータを容易に生成することができる。
【００１０】
上記の装置において、
前記メニュー構成情報取得部は、
前記第２の通信部に接続された前記ローカルデバイスを検出するための検出部を備え、
前記メニュー構成情報取得部は、前記検出部によって前記ローカルデバイスが検出された場合に、前記第１種のメニュー構成情報を取得することが好ましい。
【００１１】
上記の装置において、
前記メニュー構成情報取得部は、以前に検出された前記ローカルデバイスが前記検出部によって検出されない場合には、取得済みの前記第１種のメニュー構成情報を用いて前記メニューデータが生成されないように処理を実行することが好ましい。
【００１２】
こうすれば、以前に検出されたローカルデバイスが検出されない場合には、該ローカルデバイスの第１種のメニュー構成情報を用いてメニューデータが生成されないため、制御装置は、接続されるローカルデバイスに応じたメニューデータを容易に生成することが可能となる。
【００１３】
上記の装置において、
前記第１種のメニュー構成情報は、さらに、前記メニューに表示されて、前記第１種の項目が属する第１種のカテゴリを含んでおり、
前記メニューデータ生成部は、前記メニューにおいて、前記第１種の項目が前記第１種のカテゴリ内に表示されるように、前記メニューデータを生成することが好ましい。
【００１４】
こうすれば、メニューに、カテゴリ毎に区分して項目を表示することができる。
【００１５】
上記の装置において、
前記ページ画面データ提供部は、さらに、
前記コンピュータによって前記第１種のアドレスが指定された場合に、前記第２の通信部を介して、前記第１種のアドレスによって特定される前記第１種のコンテンツデータを前記ローカルデバイスから取得するコンテンツデータ準備部を備えることが好ましい。
【００１６】
こうすれば、コンピュータによって第１種のアドレスが指定されたときに、ローカルデバイスに格納された第１種のコンテンツデータをコンピュータに提供することができる。
【００１７】
上記の装置において、
前記メニューデータ準備部は、さらに、
第２種のメニュー構成情報を準備するメニュー構成情報準備部であって、前記第２種のメニュー構成情報は、前記メニューに表示されて、前記制御装置に格納された第２種のコンテンツデータによって表される第２種のコンテンツを示す第２種の項目と、前記第２種の項目に関連付けられて、前記制御装置に格納された前記第２種のコンテンツデータの所在を示す第２種のアドレスと、を含む、前記メニュー構成情報準備部を備え、
前記メニューデータ生成部は、さらに、前記メニュー構成情報準備部から受け取った前記第２種のメニュー構成情報を用いて、前記メニューデータを生成するようにしてもよい。
【００１８】
こうすれば、ローカルデバイスに含まれる第１種のコンテンツに関する第１種のメニュー構成情報と、制御装置に含まれる第２種のコンテンツに関する第２種のメニュー構成情報と、を用いて、メニューデータを生成することができる。
【００１９】
上記の装置において、
前記第２の通信部は、複数の前記ローカルデバイスと通信可能であり、
前記メニューデータ準備部は、さらに、
前記メニュー構成情報取得部による前記第１種のメニュー構成情報の取得に先行して、前記ローカルデバイスに、他のローカルデバイスから取得した他の第１種のメニュー構成情報を通知する通知部を備えることが好ましい。
【００２０】
こうすれば、複数のローカルデバイスが同一の第１種のメニュー構成情報を有する場合に、注目ローカルデバイスが他のローカルデバイスの第１種のメニュー構成情報に応じて、注目ローカルデバイスの第１種のメニュー構成情報を変更すれば、複数の同一の第１種のメニュー構成情報を用いてメニューデータを生成せずに済む。換言すれば、複数のローカルデバイスが同一の第１種のメニュー構成情報を有する場合にも、互いに異なる第１種のメニュー構成情報を用いてメニューデータを生成することができる。
【００２１】
本発明の第２の装置は、ネットワーク装置であって、
上記のいずれかに記載の前記制御装置と、
前記ローカルデバイスと、
を備えることを特徴とする。
【００２２】
上記の装置において、
前記ローカルデバイスは、
予め準備された前記第１種のメニュー構成情報を前記メニュー構成情報取得部に供給するためのメニュー構成情報供給部を備えており、
前記メニュー構成情報供給部は、
前記予め準備された前記第１種のメニュー構成情報の供給に先行して、前記通知部から、前記他のローカルデバイスの前記他の第１種のメニュー構成情報を受け取り、
前記予め準備された第１種のメニュー構成情報が前記他の第１種のメニュー構成情報と同じである場合には、前記予め準備された第１種のメニュー構成情報を変更して、前記変更済みの第１種のメニュー構成情報を前記メニュー構成情報取得部に提供することが好ましい。
【００２３】
この発明は、種々の形態で実現することが可能であり、制御装置および該制御装置における制御方法、ローカルデバイスおよび該ローカルデバイスにおける制御方法、制御装置とローカルデバイスとを含むネットワーク装置および該ネットワーク装置における制御方法、これらの方法または装置の機能を実現するためのコンピュータプログラム、そのコンピュータプログラムを記録した記録媒体、そのコンピュータプログラムを含み搬送波内に具現化されたデータ信号、等の形態で実現することができる。
【発明を実施するための最良の形態】
【００２４】
次に、本発明の実施の形態を実施例に基づき以下の順序で説明する。
Ａ．ネットワークシステムの構成：
Ａ−１．デバイスサーバの構成：
Ａ−２．ローカルデバイスの構成：
Ａ−３．クライアントコンピュータの構成：
Ｂ．通信処理：
Ｃ．前処理：
【００２５】
Ａ．ネットワークシステムの構成：
図１は、ネットワークシステムの構成を示す説明図である。ネットワークシステムは、デバイスサーバ１００と、プリンタ２００と、クライアントコンピュータ（以下、単に「クライアント」とも呼ぶ）３００と、を備えている。デバイスサーバ１００とクライアント３００とは、ＬＡＮなどのネットワークＮＷを介して互いに接続されている。また、デバイスサーバ１００とプリンタ２００とは、ＵＳＢケーブルを介して互いに接続されている。
【００２６】
なお、本実施例では、デバイスサーバ１００とプリンタ２００とは異なる筐体に収納されているが、共通の筐体に収納されていてもよい。
【００２７】
図１に示すように、デバイスサーバ１００には、ストレージ装置４００などの他のローカルデバイスも接続可能である。この場合には、他のローカルデバイスは、独立した筐体に収納されていてもよいし、上記の共通の筐体に収納されていてもよい。
【００２８】
なお、本実施例におけるデバイスサーバ１００が本発明における制御装置に相当し、プリンタ２００やストレージ装置４００などがローカルデバイスに相当する。また、デバイスサーバ１００とデバイスサーバに接続されるローカルデバイスとがネットワーク装置に相当する。
【００２９】
Ａ−１．デバイスサーバの構成：
デバイスサーバ１００（図１）は、ＣＰＵ１１０と、ＲＯＭやＲＡＭなどのメモリ１２０と、ネットワークインタフェース（ＩＦ）部１４２と、ＵＳＢホストインタフェース（ＩＦ）部１４８と、を備えている。
【００３０】
ネットワークＩＦ部１４２は、ネットワークＮＷを介してクライアント３００と通信するためのインタフェースである。
【００３１】
ＵＳＢホストＩＦ部１４８は、ＵＳＢケーブルを介してプリンタ２００などのローカルデバイスと通信するためのインタフェースである。ＵＳＢホストＩＦ部１４８は、複数のＵＳＢポートを有しており、該複数のＵＳＢポートには、複数のローカルデバイスを接続可能である。
【００３２】
メモリ１２０には、Ｗｅｂサーバ部１２２と、第１の通信制御部１３２と、第２の通信制御部１３４と、の機能を有するコンピュータプログラムが格納されている。各部の機能は、ＣＰＵ１１０が各コンピュータプログラムを実行することによって実現される。なお、各部の機能を有するコンピュータプログラムは、例えば、ＣＤ−ＲＯＭなどのコンピュータ読み取り可能な記録媒体に記録された形態で提供される。
【００３３】
第１の通信制御部１３２は、ネットワークＩＦ部１４２を介して、第１種のプロトコルに従った通信データを送受信する機能を有する。本実施例では、第１種のプロトコルとして、ＨＴＴＰ（Hyper Text Transfer Protocol）プロトコルが採用されている。第１の通信制御部１３２は、ＨＴＴＰサーバの処理を実行する機能を有しており、ＨＴＴＰライブラリ（後述する）を備えている。また、第１の通信制御部１３２は、ＴＣＰおよび／またはＵＤＰ層の処理と、ＩＰ層の処理と、を実行する機能を有する。
【００３４】
なお、本実施例では、第１種のプロトコルとして、ＨＴＴＰプロトコルが利用されているが、これに代えて、他のプロトコル（例えば、ＦＴＰ（File Transfer Protocol）プロトコル）が利用されてもよい。
【００３５】
第２の通信制御部１３４は、ＵＳＢホストＩＦ部１４８を介して、第２種のプロトコルに従った通信データを送受信する機能を有する。なお、本実施例では、第２種のプロトコルとして、第１種のプロトコルと異なる独自のプロトコルが採用されている。以下では、該独自のプロトコルを「内部プロトコル」とも呼ぶ。
【００３６】
Ｗｅｂサーバ部１２２は、第１の通信制御部１３２がクライアント３００から受信したＨＴＴＰリクエストに含まれるＵＲＬに基づいて、コンテンツデータ（ＨＴＭＬファイル）を準備する機能を有する。なお、コンテンツデータは、第１の通信制御部１３２が生成するＨＴＴＰレスポンス内に挿入されて、クライアント３００に送信される。
【００３７】
Ｗｅｂサーバ部１２２は、サーバＷｅｂサービス部１２４と、デバイス管理サービス部１２６と、メニューサービス部１２８と、を備えている。
【００３８】
サーバＷｅｂサービス部１２４は、複数のコンテンツを表す複数のコンテンツデータ（ＨＴＭＬファイル）を備えている。サーバＷｅｂサービス部１２４が有するコンテンツデータは、デバイスサーバ１００に関連するコンテンツ（例えばネットワークに関するコンテンツ）を表している。サーバＷｅｂサービス部１２４は、第１の通信制御部１３２からＨＴＴＰリクエストに含まれるＵＲＬが通知されると、該ＵＲＬによって特定されるコンテンツデータを準備して、第１の通信制御部１３２に渡す。
【００３９】
また、サーバＷｅｂサービス部１２４は、リンク情報（後述する）と、ＵＲＬ情報（後述する）と、を備えている。サーバＷｅｂサービス部１２４は、リンク情報をメニューサービス部１２８に登録し、ＵＲＬ情報を第１の通信制御部１３２のＨＴＴＰライブラリに登録する。
【００４０】
デバイス管理サービス部１２６は、第１の通信制御部１３２からＨＴＴＰリクエストに含まれるＵＲＬが通知されると、該ＵＲＬによって特定されるコンテンツデータ（ＨＴＭＬファイル）を準備して、第１の通信制御部１３２に渡す。具体的には、デバイス管理サービス部１２６は、第１の通信制御部１３２から与えられたＵＲＬを、デバイスサーバ１００に接続されたプリンタなどのローカルデバイスに通知し、ローカルデバイスからコンテンツデータ（ＨＴＭＬファイル）を取得することによって、コンテンツデータを準備する。なお、後述するように、デバイス管理サービス部１２６は、管理テーブルＴＢを備えており、管理テーブルＴＢを参照して、第１の通信制御部１３２から与えられたＵＲＬを、適切なローカルデバイスに通知する。
【００４１】
また、デバイス管理サービス部１２６は、プリンタ２００などのローカルデバイスから受け取ったリンク情報（後述する）をメニューサービス部１２８に登録し、ローカルデバイスから受け取ったＵＲＬ情報（後述する）を第１の通信制御部１３２のＨＴＴＰライブラリに登録する。
【００４２】
メニューサービス部１２８は、第１の通信制御部１３２からＨＴＴＰリクエストに含まれるＵＲＬが通知されると、該ＵＲＬによって特定されるコンテンツデータ（ＨＴＭＬファイル）を準備して、第１の通信制御部１３２に渡す。なお、メニューサービス部１２８が準備するコンテンツデータは、Ｗｅｂページのうちの少なくとも一部に表現されるメニューを表すメニューデータである。なお、メニューは、後述するように、サーバＷｅｂサービス部１２４が有する複数のコンテンツに対応する複数の項目と、各ローカルデバイスのデバイスＷｅｂサービス（例えば、プリンタ２００のデバイスＷｅｂサービス部２２４）が有する複数のコンテンツに対応する複数の項目と、を含んでいる。
【００４３】
本実施例では、デバイスサーバ１００には、３つのサービス部１２４，１２６，１２８が含まれている。このため、第１の通信制御部１３２は、ＨＴＴＰリクエストに含まれるＵＲＬ（注目ＵＲＬ）を、３つのサービス部のうちのいずれかに通知する必要がある。具体的には、注目ＵＲＬがサーバＷｅｂサービス部１２４に格納されたコンテンツデータを示している場合には、第１の通信制御部１３２は、注目ＵＲＬをサーバＷｅｂサービス部１２４に通知する。同様に、注目ＵＲＬがプリンタ２００のデバイスＷｅｂサービス部２２４に格納されたコンテンツデータを示している場合には、第１の通信制御部１３２は、注目ＵＲＬをデバイス管理サービス部１２６に通知する。また、注目ＵＲＬがメニューサービス部１２８によって準備されるメニューデータを示している場合には、第１の通信制御部１３２は、注目ＵＲＬをメニューサービス部１２８に通知する。
【００４４】
上記のように、注目ＵＲＬを適切なサービス部に通知するために、本実施例では、第１の通信制御部（ＨＴＴＰサーバ）１３２は、ＨＴＴＰライブラリを備えている。第１の通信制御部１３２は、各サービス部１２４，１２６，１２８から受け取ったＵＲＬ情報を、ＨＴＴＰライブラリ内に登録する。ＨＴＴＰライブラリ内では、ＵＲＬ情報と、該ＵＲＬ情報を登録したサービス部とが対応付けられている。第１の通信制御部１３２は、ＨＴＴＰライブラリを参照することによって、ＨＴＴＰリクエスト内に含まれる注目ＵＲＬを、適切なサービス部に通知することができる。
【００４５】
なお、本実施例におけるネットワークＩＦ部１４２が本発明における第１の通信部に相当し、ＵＳＢホストＩＦ部１４８が第２の通信部に相当する。そして、本実施例におけるＷｅｂサーバ１２２部が本発明におけるページ画面データ提供部とメニューデータ準備部とに相当する。
【００４６】
また、デバイス管理サービス部１２６が本発明におけるメニュー構成情報取得部と検出部とコンテンツデータ準備部と通知部とに相当し、メニューサービス部１２８が本発明におけるメニューデータ生成部に相当する。そして、サーバＷｅｂサービス部が本発明におけるメニュー構成情報準備部に相当する。
【００４７】
さらに、デバイス管理サービス部１２６からメニューサービス部１２８に与えられるリンク情報が、第１種のメニュー構成情報に相当する。サーバＷｅｂサービス部１２４からメニューサービス部１２８に与えられるリンク情報が本発明における第２種のメニュー構成情報に相当する。
【００４８】
Ａ−２．ローカルデバイスの構成：
プリンタ２００（図１）は、ＣＰＵ２１０と、ＲＯＭやＲＡＭなどのメモリ２２０と、ＵＳＢデバイスインタフェース（ＩＦ）部２４８と、プリンタエンジン２５０と、を備えている。
【００４９】
ＵＳＢデバイスＩＦ部２４８は、ＵＳＢケーブルを介してデバイスサーバ１００と通信するためのインタフェースである。
【００５０】
メモリ２２０には、処理実行部２２２と、通信制御部２３２と、の機能を有するコンピュータプログラムが格納されている。
【００５１】
通信制御部２３２は、ＵＳＢデバイスＩＦ部２４８を介して、第２種のプロトコル（内部プロトコル）に従った通信データを送受信する機能を有する。なお、通信制御部２３２の機能は、ＵＳＢクラスドライバによって実現される。
【００５２】
処理実行部２２２は、通信制御部２３２が取得した内部プロトコルに従った通信データに基づいて、種々の処理を実行する。例えば、処理実行部２２２は、プリンタエンジン２５０を制御して、印刷を実行させる。
【００５３】
特に、本実施例では、処理実行部２２２は、前述のデバイスＷｅｂサービス部２２４を備えている。デバイスＷｅｂサービス部２２４は、複数のコンテンツを表す複数のコンテンツデータ（ＨＴＭＬファイル）を備えている。なお、デバイスＷｅｂサービス部２２４が有するコンテンツデータは、プリンタ２００に関連するコンテンツを表している。デバイスＷｅｂサービス部２２４は、通信制御部２３２を介して、デバイスサーバ１００のデバイス管理サービス部１２６からＵＲＬが通知される、該ＵＲＬによって特定されるコンテンツデータを準備して、デバイス管理サービス部１２６に供給する。
【００５４】
また、デバイスＷｅｂサービス部２２４は、リンク情報（後述する）と、ＵＲＬ情報（後述する）と、を備えている。デバイスＷｅｂサービス部２２４は、リンク情報とＵＲＬ情報とを、デバイス管理サービス部１２６に供給する。
【００５５】
デバイスサーバ１００に接続される他のローカルデバイス（例えばストレージ装置４００）も、プリンタ２００と同様に、デバイスＷｅｂサービス部（例えば４２４）を備えている。
【００５６】
なお、本実施例におけるデバイスＷｅｂサービス部が本発明におけるメニュー構成情報供給部に相当する。
【００５７】
Ａ−３．クライアントコンピュータの構成：
クライアント３００は、図１に示すように、Ｗｅｂブラウザ３１０を備えており、デバイスサーバ１００から提供されたＷｅｂページをＷｅｂブラウザ３１０によって準備されるＷｅｂブラウザ画面に表示する。
【００５８】
Ｂ．通信処理：
図２は、図１のネットワークシステムで行われる通信処理の一例を示すフローチャートである。以下では、デバイスサーバ１００にプリンタ２００のみが接続されている場合を想定して説明する。
【００５９】
ステップＳ１０２では、クライアント３００は、トップページ（Ｗｅｂページ）の提供を要求する。具体的には、クライアント３００のユーザは、Ｗｅｂブラウザ画面を介して、デバイスサーバ１００が有するトップページを指定して、該トップページを表すコンテンツデータの提供を要求する。
【００６０】
ステップＳ１０４では、デバイスサーバ１００は、要求されたトップページを表すコンテンツデータを準備して、該コンテンツデータをクライアント３００に供給する。
【００６１】
ステップＳ１０６では、クライアント３００は、デバイスサーバ１００からトップページを表すコンテンツデータを取得し、Ｗｅｂブラウザ画面内にトップページを表示する。
【００６２】
図３は、ステップＳ１０６（図２）でＷｅｂブラウザ画面に表示されるトップページＷＰ１を示す説明図である。このトップページＷＰ１には、３つのフィールドＦ１〜Ｆ３が含まれている。第１のフィールドＦ１には、見出し画像が表示されている。第２のフィールドＦ２には、複数の項目を含むメニューＭＮが表示されている。メニューＭＮには、デバイスサーバ１００が提供可能な複数のコンテンツに対応する複数の項目と、デバイスサーバに接続されたプリンタ２００が提供可能な複数のコンテンツに対応する複数の項目と、が含まれている。各項目には、対応するコンテンツを表すコンテンツデータの所在を示すＵＲＬが関連付けられている。第３のフィールドＦ３には、第２のフィールドＦ２で選択された項目に対応するコンテンツが表示される。なお、図３では、未だいずれの項目も選択されていないため、第３のフィールドＦ３には、有意なコンテンツは表示されていない。
【００６３】
図３に示すように、メニューＭＮ内に含まれる複数の項目は、カテゴリ毎に配置されている。具体的には、図３のメニューＭＮには、２つの大カテゴリ「情報」，「設定」が含まれており、各大カテゴリには、２つの小カテゴリ「ネットワーク」，「プリンタ」が含まれている。
【００６４】
なお、図３に示すトップページＷＰ１を表示する際には、実際には、ステップＳ１０２〜Ｓ１０６において以下の処理が実行されている。
【００６５】
まず、クライアント３００は、トップページを表すコンテンツデータの所在を示すＵＲＬ（メインＵＲＬ）を含むＨＴＴＰリクエストをデバイスサーバ１００に送信する。デバイスサーバ１００の第１の通信制御部１３２は、ＨＴＴＰライブラリを参照して、メインＵＲＬをサーバＷｅｂサービス部１２４に通知する。サーバＷｅｂサービス部１２４は、メインＵＲＬによって特定されるコンテンツデータ（メインコンテンツデータ）を準備する。第１の通信制御部１３２は、メインコンテンツデータを含むＨＴＴＰレスポンスをクライアント３００に送信する。なお、メインコンテンツデータには、トップページＷＰ１内の第１ないし第３のフィールドＦ１〜Ｆ３に表示されるべき第１ないし第３のコンテンツの所在を示す第１ないし第３のサブＵＲＬが含まれている。
【００６６】
次に、クライアント３００は、第１ないし第３のサブＵＲＬをそれぞれ含む３つのＨＴＴＰリクエストをデバイスサーバ１００に送信する。デバイスサーバ１００の第１の通信制御部１３２は、ＨＴＴＰライブラリを参照して、第１および第３のサブＵＲＬをサーバＷｅｂサービス部１２４に通知する。サーバＷｅｂサービス部１２４は、第１および第３のサブＵＲＬによって特定される２つのコンテンツデータ（サブコンテンツデータ）を準備する。また、デバイスサーバ１００の第１の通信制御部１３２は、ＨＴＴＰライブラリを参照して、第２のサブＵＲＬをメニューサービス部１２８に通知する。メニューサービス部１２８は、第２のサブＵＲＬによって特定されるコンテンツデータ（メニューデータ）を準備する。第１の通信制御部１３２は、上記の３つのコンテンツデータをそれぞれ含む３つのＨＴＴＰレスポンスをクライアント３００に送信する。
【００６７】
この結果、ステップＳ１０６において、Ｗｅｂブラウザ画面内には、３つのフィールドＦ１〜Ｆ３に３つのコンテンツが含まれるトップページＷＰ１が表示される。
【００６８】
ステップＳ１１２（図２）では、クライアント３００は、第１のコンテンツの提供を要求する。具体的には、ステップＳ１１２では、クライアント３００のユーザは、トップページＷＰ１（図３）内のメニューＭＮの中から、１つの項目を選択することによって、選択された項目に対応するコンテンツの提供を要求する。ここでは、大カテゴリ「情報」および小カテゴリ「ネットワーク」に属する項目「基本情報」が選択された場合を想定する。このとき、クライアント３００は、項目「基本情報」に対応する第１のコンテンツデータの所在を示す第１のＵＲＬを含むＨＴＴＰリクエストをデバイスサーバ１００に送信する。
【００６９】
ステップＳ１１４では、デバイスサーバ１００は、項目「基本情報」に対応する第１のコンテンツデータを準備して、第１のコンテンツデータをクライアント３００に供給する。
【００７０】
具体的には、デバイスサーバ１００の第１の通信制御部１３２は、ＨＴＴＰライブラリを参照して、ＨＴＴＰリクエストに含まれる第１のコンテンツデータの所在を示す第１のＵＲＬをサーバＷｅｂサービス部１２４に通知する。サーバＷｅｂサービス部１２４は、第１のＵＲＬによって特定される第１のコンテンツデータを準備する。そして、第１の通信制御部１３２は、第１のコンテンツデータを含むＨＴＴＰレスポンスをクライアント３００に送信する。
【００７１】
ステップＳ１１６では、クライアント３００は、デバイスサーバ１００から第１のコンテンツデータを取得し、Ｗｅｂブラウザ画面内に第１のコンテンツデータによって表される「基本情報」の内容を表示する。
【００７２】
図４は、ステップＳ１１６（図２）でＷｅｂブラウザ画面に表示される「基本情報」ページＷＰ２を示す説明図である。図４は、図３とほぼ同じであるが、第３のフィールドＦ３が変更されている。第３のフィールドＦ３には、「基本情報」の内容が表示されている。これにより、クライアント３００のユーザは、デバイスサーバ１００のネットワークに関する基本情報を知ることができる。なお、図４では、基本情報には、「管理者」や「設置場所」、「インタフェースカード型番」、「ＭＡＣアドレス」などが含まれている。
【００７３】
なお、図４に示す「基本情報」ページＷＰ２は、図３に示すトップページＷＰ１の第３のフィールドＦ３に表示されるコンテンツを変更することによって、作成される。この説明から分かるように、本実施例では、ステップＳ１１６において、第３のフィールドＦ３に表示されるコンテンツを表すコンテンツデータのみが取得され、第１および第２のフィールドＦ１，Ｆ２に表示されるコンテンツを表すコンテンツデータは取得されない。ただし、これに代えて、ステップＳ１１６において、各フィールドＦ１〜Ｆ３に表示される３つのコンテンツを表す３つのコンテンツデータが取得されるようにしてもよい。
【００７４】
ステップＳ１２２（図２）では、クライアント３００は、第２のコンテンツの提供を要求する。具体的には、ステップＳ１２２では、クライアント３００のユーザは、「基本情報」ページＷＰ２（図４）内のメニューＭＮの中から、他の１つの項目を選択することによって、選択された項目に対応するコンテンツの提供を要求する。ここでは、大カテゴリ「情報」および小カテゴリ「プリンタ」に属する項目「デバイス情報」が選択された場合を想定する。このとき、クライアント３００は、項目「デバイス情報」に対応する第２のコンテンツデータの所在を示す第２のＵＲＬを含むＨＴＴＰリクエストをデバイスサーバ１００に送信する。
【００７５】
ステップＳ１２４では、デバイスサーバ１００は、項目「デバイス情報」に対応する第２のコンテンツデータを準備して、第２のコンテンツデータをクライアント３００に供給する。
【００７６】
具体的には、デバイスサーバ１００の第１の通信制御部１３２は、ＨＴＴＰライブラリを参照して、ＨＴＴＰリクエストに含まれる第２のコンテンツデータの所在を示す第２のＵＲＬをデバイス管理サービス部１２６に通知する。デバイス管理サービス部１２６は、第２のＵＲＬによって特定される第２のコンテンツデータを準備する。そして、第１の通信制御部１３２は、第２のコンテンツデータを含むＨＴＴＰレスポンスをクライアント３００に送信する。
【００７７】
ただし、項目「デバイス情報」に対応する第２のコンテンツデータは、デバイス管理サービス部１２６内に格納されておらず、プリンタ２００内に格納されている。このため、ステップＳ１２４ａでは、デバイス管理サービス部１２６は、プリンタ２００に第２のコンテンツの提供を要求する。具体的には、デバイス管理サービス部１２６は、第１の通信制御部１３２から受け取った第２のＵＲＬを、第２の通信制御部１３４を介して、プリンタ２００に通知する。そして、ステップＳ１２４ｂにおいて、デバイス管理サービス部１２６は、第２の通信制御部１３４を介して、プリンタ２００から第２のコンテンツデータを取得する。
【００７８】
ステップＳ１２６では、プリンタ２００のデバイスＷｅｂサービス部２２４は、ステップＳ１２４ａで通知された第２のＵＲＬによって特定される第２のコンテンツデータを準備する。そして、デバイスＷｅｂサービス部２２４は、第２のコンテンツデータをデバイスサーバ１００に送信する。
【００７９】
ステップＳ１２８では、クライアント３００は、デバイスサーバ１００から第２のコンテンツデータを取得し、Ｗｅｂブラウザ画面内に第２のコンテンツデータによって表される「デバイス情報」の内容を表示する。
【００８０】
図５は、ステップＳ１２８（図２）でＷｅｂブラウザ画面に表示される「デバイス情報」ページＷＰ３を示す説明図である。図５は、図３，図４とほぼ同じであるが、第３のフィールドＦ３が変更されている。第３のフィールドＦ３には、「デバイス情報」の内容が表示されている。これにより、クライアント３００のユーザは、プリンタ２００に関するデバイス情報を知ることができる。なお、図５では、デバイス情報には、「型番」や「シリアル番号」、「用紙サイズ」、「印刷解像度」などが含まれている。
【００８１】
Ｃ．前処理：
本実施例では、図２の通信処理を実現するために、前処理が実行される。
【００８２】
サーバＷｅｂサービス部１２４は、自己が有するリンク情報をメニューサービス部１２８に登録すると共に、自己が有するＵＲＬ情報を第１の通信制御部１３２のＨＴＴＰライブラリに登録する。また、メニューサービス部１２８は、自己が有するＵＲＬ情報を第１の通信制御部１３２のＨＴＴＰライブラリに登録する。
【００８３】
上記の前処理によって、メニューサービス部１２８には、サーバＷｅｂサービス部１２４に含まれるリンク情報が登録される。また、第１の通信制御部１３２のＨＴＴＰライブラリには、サーバＷｅｂサービス部１２４に含まれるＵＲＬ情報と、メニューサービス部１２８に含まれるＵＲＬ情報と、が登録される。
【００８４】
ここで、リンク情報は、図３〜図５に示すメニューＭＮ内に表示される項目（文字列：例えば「基本情報」）と、該項目に対応するコンテンツを表すコンテンツデータの所在を示すＵＲＬと、を含む。なお、ＵＲＬは、対応する項目に関連付けられている。また、本実施例では、リンク情報は、メニューＭＮ内に表示され、項目が属するカテゴリを含んでいる。なお、カテゴリは、図３〜図５のメニューＭＮ内に示す「情報」や「設定」などの大カテゴリや、「ネットワーク」や「プリンタ」などの小カテゴリを意味する。例えば、項目「基本情報」は、大カテゴリ「情報」および小カテゴリ「ネットワーク」に属している。これにより、メニューＭＮ内において、項目「基本情報」は、大カテゴリ「情報」および小カテゴリ「ネットワーク」に属する項目として表示される。換言すれば、カテゴリは、項目の配置を示している。
【００８５】
また、ＵＲＬ情報は、コンテンツを表すコンテンツデータの所在を示すＵＲＬを含む。
【００８６】
なお、本実施例では、上記の前処理は、例えば、デバイスサーバ１００に最初に電源が投入される際に実行される。しかしながら、上記の前処理は、省略可能である。この場合には、メニューサービス部１２８に、サーバＷｅｂサービス部１２４に含まれるリンク情報を予め登録しておくと共に、ＨＴＴＰライブラリに、サーバＷｅｂサービス部１２４に含まれるＵＲＬ情報とメニューサービス部１２８に含まれるＵＲＬ情報とを予め登録しておけばよい。
【００８７】
デバイス管理サービス部１２６は、前処理として、各ローカルデバイスに含まれるリンク情報をメニューサービス部１２８に登録すると共に、各ローカルデバイスに含まれるＵＲＬ情報を第１の通信制御部１３２のＨＴＴＰライブラリに登録する。
【００８８】
図６は、デバイス管理サービス部１２６によって実行される前処理の手順を示すフローチャートである。なお、デバイス管理サービス部１２６によって実行される前処理は、前述のサーバＷｅｂサービス部１２４およびメニューサービス部１２８による前処理の後に実行される。また、図６の処理は、ＵＳＢホストＩＦ部１４８に設けられた接続ポート毎に実行される。
【００８９】
ステップＳ２０２では、デバイス管理サービス部１２６は、ローカルデバイスを検出する。具体的には、デバイス管理サービス部１２６は、ＵＳＢホストＩＦ部１４８に設けられた特定の接続ポートに動作可能なローカルデバイス、換言すれば、電源がオン状態のローカルデバイスが接続されているか否かを、所定の時間毎に検出する（ポーリング）。ローカルデバイスが検出されるとステップＳ２０３に進み、検出されない場合には、ステップＳ２２２に進む。
【００９０】
ステップＳ２０３では、デバイス管理サービス部１２６は、検出されたローカルデバイス（以下「対象ローカルデバイス」とも呼ぶ）から、該ローカルデバイスの種類（例えばプリンタの型番）を取得する。
【００９１】
ステップＳ２０４では、デバイス管理サービス部１２６は、管理テーブルＴＢを参照して、特定のポートで検出された対象ローカルデバイスが、検出済みか否かを判断する。具体的には、管理テーブルＴＢには、接続ポート毎に、各接続ポートで検出されたローカルデバイスの種類が登録されている。デバイス管理サービス部１２６は、管理テーブルＴＢを参照して、特定の接続ポートで検出された対象ローカルデバイスの種類が、該特定の接続ポートに対して既に登録されているローカルデバイスの種類と一致するか否かを判断する。一致する場合には、対象ローカルデバイスは既に検出済みであると判断され、図６の処理が終了する。一方、一致しない場合には、対象ローカルデバイスは初めて検出されたと判断され、ステップＳ２０５に進む。
【００９２】
なお、特定の接続ポートで過去にローカルデバイスが検出されていない場合には、管理テーブルＴＢ内には、該特定のポートに対してローカルデバイスの種類は登録されていない。したがって、この場合には、ステップＳ２０４において、対象ローカルデバイスは初めて検出されたと判断される。
【００９３】
また、デバイスサーバ１００の電源がオフ状態の間に、特定の接続ポートに接続された第１のローカルデバイスが第２のローカルデバイス（対象ローカルデバイス）に変更された場合には、既に、特定の接続ポートで第１のローカルデバイスが検出されている。このため、管理テーブルＴＢ内には、該特定のポートに対して該第１のローカルデバイス（例えばスキャナ）の種類が登録されている。したがって、この場合にも、ステップＳ２０４において、第２のローカルデバイス（例えばプリンタ）は初めて検出されたと判断される。なお、この場合には、後述するステップＳ２２４〜Ｓ２２８と同様に、第１のローカルデバイスに関する情報は、削除される。
【００９４】
ステップＳ２０５では、デバイス管理サービス部１２６は、管理テーブルＴＢ内の特定の接続ポートに対して、ステップＳ２０３で取得した対象ローカルデバイスの種類を登録する。
【００９５】
ステップＳ２０６では、デバイス管理サービス部１２６は、対象ローカルデバイスに、登録済み情報を通知する。登録済み情報は、登録済みリンク情報と、登録済みＵＲＬ情報と、を含んでいる。登録済みリンク情報は、メニューサービス部１２８に既に登録されているすべてのリンク情報である。登録済みＵＲＬ情報は、第１の通信制御部１３２のＨＴＴＰライブラリに既に登録されているすべてのＵＲＬ情報である。
【００９６】
また、ステップＳ２０６では、デバイス管理サービス部１２６は、対象ローカルデバイスに、登録すべき情報の提供を要求する。登録ずべき情報は、対象ローカルデバイスが有するリンク情報とＵＲＬ情報とを意味している。以下では、対象ローカルデバイスがプリンタ２００である場合を想定して説明する。
【００９７】
ステップＳ２０８では、デバイス管理サービス部１２６は、対象ローカルデバイス（プリンタ）２００のデバイスＷｅｂサービス部２２４から登録すべきリンク情報を受け取り、該リンク情報をメニューサービス部１２８に登録する。また、デバイス管理サービス部１２６は、メニューサービス部１２８に、該リンク情報と共に、管理テーブルＴＢに登録された接続ポート情報を登録する。なお、接続ポート情報は、特定の接続ポートを示す識別情報と対象ローカルデバイスの種類とを含んでいる。
【００９８】
ステップＳ２０８の処理が実行される際には、対象ローカルデバイス２００のデバイスＷｅｂサービス部２２４は、ステップＳ２０６で与えられた登録済みリンク情報を参照して、自己が有する登録すべきリンク情報（原リンク情報）と登録済みリンク情報とが一致するか否かを判断する。一致しない場合には、デバイスＷｅｂサービス部２２４は、原リンク情報をそのままデバイス管理サービス部１２６に送信する。一方、一致する場合には、デバイスＷｅｂサービス部２２４は、原リンク情報を変更して、変更済みのリンク情報をデバイス管理サービス部１２６に送信する。なお、リンク情報の変更については、後述する。
【００９９】
ステップＳ２１０では、デバイス管理サービス部１２６は、対象ローカルデバイス２００のデバイスＷｅｂサービス部２２４から登録すべきＵＲＬ情報を受け取り、該ＵＲＬ情報を第１の通信制御部１３２のＨＴＴＰライブラリに登録する。また、デバイス管理サービス部１２６は、ＨＴＴＰライブラリに、該ＵＲＬ情報と共に、管理テーブルＴＢに登録された接続ポート情報を登録する。
【０１００】
ステップＳ２１０の処理が実行される際には、対象ローカルデバイス２００のデバイスＷｅｂサービス部２２４は、ステップＳ２０６で与えられた登録済みＵＲＬ情報を参照して、自己が有する登録すべきＵＲＬ情報（原ＵＲＬ情報）と登録済みＵＲＬ情報とが一致するか否かを判断する。一致しない場合には、デバイスＷｅｂサービス部２２４は、原ＵＲＬ情報をそのままデバイス管理サービス部１２６に送信する。一方、一致する場合には、デバイスＷｅｂサービス部２２４は、原ＵＲＬ情報を変更して、変更済みのＵＲＬ情報をデバイス管理サービス部１２６に送信する。なお、ＵＲＬ情報の変更については、後述する。
【０１０１】
また、ステップＳ２１０では、デバイス管理サービス部１２６は、管理テーブルＴＢに、対象ローカルデバイス２００から受け取ったＵＲＬ情報を登録する。この結果、管理テーブルＴＢ内の特定の接続ポートには、対象ローカルデバイスの種類と、対象ローカルデバイスから与えられたＵＲＬ情報と、が対応付けて登録されている。
【０１０２】
ステップＳ２１０の処理が終了したときには、メニューサービス部１２８には、サーバＷｅｂサービス部１２４に含まれるリンク情報と、対象ローカルデバイス２００のデバイスＷｅｂサービス部２２４に含まれるリンク情報と、が登録されている。
【０１０３】
また、ステップＳ２１０の処理が終了したときには、第１の通信制御部１３２のＨＴＴＰライブラリ内には、サーバＷｅｂサービス部１２４に含まれるＵＲＬ情報と、対象ローカルデバイス２００のデバイスＷｅｂサービス部２２４に含まれるＵＲＬ情報と、メニューサービス部１２８に含まれるＵＲＬ情報と、が登録されている。なお、前述したように、ＨＴＴＰライブラリには、ＵＲＬ情報に対応付けて、該ＵＲＬ情報を登録したサービス部を示す情報が登録される。例えば、ＨＴＴＰライブラリには、対象ローカルデバイス２００のデバイスＷｅｂサービス部２２４に含まれるＵＲＬ情報と、該ＵＲＬ情報を登録したデバイス管理サービス部１２６を示す情報と、が対応付けて登録されている。
【０１０４】
各サービス部１２４，１２６，１２８による上記の前処理が終了すると、図２に示す通信処理の実行が可能となる。
【０１０５】
具体的には、第１の通信制御部１３２は、登録済みのＵＲＬ情報を利用して、ＨＴＴＰリクエストに含まれるＵＲＬを、３つのサービス部１２４，１２６，１２８のうちの適切なサービス部に通知することができる。換言すれば、３つのサービス部１２４，１２６，１２８がＵＲＬ情報をＨＴＴＰライブラリに登録することによって、第１の通信制御部１３２は、ＨＴＴＰライブラリを参照して、クライアント３００から受け取ったＨＴＴＰリクエストに含まれるＵＲＬを、３つのサービス部１２４，１２６，１２８のうちの適切なサービス部に通知することができる。
【０１０６】
そして、デバイス管理サービス部１２６は、第１の通信制御部１３２からＨＴＴＰリクエストに含まれるＵＲＬを受け取ると、管理テーブルＴＢを参照して、複数の接続ポートのうちの１つの接続ポートを選択することができる。そして、デバイス管理サービス部１２６は、該ＵＲＬを、選択された接続ポートに接続されたローカルデバイスに通知することができる。
【０１０７】
また、メニューサービス部１２８は、登録済みのリンク情報を利用して、メニューＭＮを表すメニューデータを生成することができる。換言すれば、サーバＷｅｂサービス部１２４とデバイス管理サービス部１２６とがメニューサービス部１２８にリンク情報を登録することによって、メニューサービス部１２８は、複数の項目を含むメニューＭＮ（図３〜図５）を表すメニューデータを生成することができる。なお、メニューＭＮには、デバイスサーバ１００内のサーバＷｅｂサービス部１２４に含まれるコンテンツに対応する複数の項目と、プリンタ２００内のデバイスＷｅｂサービス部２２４に含まれるコンテンツに対応する複数の項目と、が含まれる。
【０１０８】
特に、本実施例では、メニューデータは、図６のステップＳ２０２で検出されたローカルデバイスに応じて動的に生成される。具体的には、デバイス管理サービス部１２６によってプリンタ２００が検出されると、プリンタ２００に含まれる複数のコンテンツに対応する複数の項目が追加されたメニューデータが生成される。
【０１０９】
なお、図６では、プリンタ２００が検出された場合について説明したが、他の接続ポートにおいて他のローカルデバイス（例えばストレージ装置４００）が検出された場合にも同様にメニューデータが生成される。
【０１１０】
図７は、ストレージ装置４００が検出された場合に、ステップＳ１０６（図２）でＷｅｂブラウザ画面に表示されるトップページＷＰ１ａを示す説明図である。図７は、図３とほぼ同じであるが、第２のフィールドＦ２に表示されたメニューＭＮａが変更されている。メニューＭＮａの大カテゴリ「情報」，「設定」には、それぞれ、小カテゴリ「ストレージ」が追加されている。そして、各小カテゴリ「ストレージ」内には、複数の項目が含まれている。
【０１１１】
このように、本実施例では、デバイスサーバ１００の構成を変更することなく、より具体的には、デバイスサーバ１００内のコンテンツデータやメニューデータをネットワークの管理者等が変更することなく、検出されたローカルデバイスに応じて、動的にメニューＭＮを作成することができる。
【０１１２】
ところで、ローカルデバイスが使用不能になった場合、例えば、ローカルデバイスの電源がオフ状態に設定された場合や、ローカルデバイスの接続が切断された場合にも、メニューＭＮを変更する必要がある。以下では、プリンタ２００が使用不能になった場合を想定する。
【０１１３】
ステップＳ２０２（図６）で説明したように、特定の接続ポートにおいてローカルデバイスが検出されない場合には、ステップＳ２２２に進む。
【０１１４】
ステップＳ２２２では、デバイス管理サービス部１２６は、過去に該特定の接続ポートにおいて何らかのローカルデバイスが検出されたか否かを判断する。具体的には、デバイス管理サービス部１２６は、管理テーブルＴＢを参照して、該特定の接続ポートに対してローカルデバイスの種類が登録されているか否かを調べる。登録されていない場合には、デバイス管理サービス部１２６は、特定の接続ポートには、以前からローカルデバイスが接続されていなかったと判断して、図６の処理を終了する。一方、登録されている場合には、デバイス管理サービス部１２６は、以前接続されていた対象ローカルデバイス２００が使用不能な状態になったと判断して、ステップＳ２２４に進む。
【０１１５】
ステップＳ２２４では、デバイス管理サービス部１２６は、メニューサービス部１２８に登録された対象ローカルデバイス２００のリンク情報（対象リンク情報）を削除する。具体的には、ステップＳ２０８で説明したように、メニューサービス部１２８には、対象リンク情報と共に、接続ポート情報が登録されている。このため、デバイス管理サービス部１２６は、管理テーブルＴＢに登録された接続ポート情報を利用して、対象リンク情報を特定することができ、この結果、メニューサービス部１２８から対象リンク情報を削除することができる。なお、この際、対象リンク情報に対応付けられた接続ポート情報もメニューサービス部１２８から削除される。
【０１１６】
ステップＳ２２６では、デバイス管理サービス部１２６は、第１の通信制御部１３２のＨＴＴＰライブラリに登録された対象ローカルデバイス２００のＵＲＬ情報（対象ＵＲＬ情報）を削除する。具体的には、ステップＳ２１０で説明したように、ＨＴＴＰライブラリには、対象ＵＲＬ情報と共に、接続ポート情報が登録されている。このため、デバイス管理サービス部１２６は、管理テーブルＴＢに登録された接続ポート情報を利用して、対象ＵＲＬ情報を特定することができ、この結果、ＨＴＴＰライブラリから対象ＵＲＬ情報を削除することができる。なお、この際、対象ＵＲＬ情報に対応付けられた接続ポート情報もＨＴＴＰライブラリから削除される。
【０１１７】
ステップＳ２２８では、デバイス管理サービス部１２６は、管理テーブルＴＢ内の特定の接続ポートに対応付けて登録されたローカルデバイスの種類（ステップＳ２０５参照）を削除する。また、この際、デバイス管理サービス部１２６は、管理テーブルＴＢ内の特定の接続ポートに対応付けて登録されたＵＲＬ情報（ステップＳ２１０参照）も削除する。
【０１１８】
ステップＳ２２２〜Ｓ２２８の処理（より具体的にはステップＳ２２４の処理）を実行することによって、メニューサービス部１２８は、使用不能なローカルデバイスに関する不要なリンク情報を利用せずに、不要な項目や、ＵＲＬ、カテゴリを含まないメニューデータを生成することができる。この結果、クライアント３００のユーザは、メニューＭＮにおいて、コンテンツを取得可能な項目のみを選択することができると共に、コンテンツを取得不能な項目を選択せずに済む。
【０１１９】
また、ステップＳ２２２〜Ｓ２２８の処理（より具体的にはステップＳ２２６，Ｓ２２８の処理）を実行することによって、デバイス管理サービス部１２６は、ＨＴＴＰライブラリおよび管理テーブルＴＢに残存する不要な情報に起因して、誤動作せずに済む。
【０１２０】
なお、本実施例では、デバイス管理サービス部１２６は、ローカルデバイスの検出処理（ステップＳ２０２）を行うことによって、ステップＳ２２４〜Ｓ２２８において、メニューサービス部１２８と、第１の通信制御部１３２のＨＴＴＰライブラリと、デバイス管理サービス部１２６の管理テーブルＴＢと、から不要な情報を削除している。しかしながら、これに代えて、ローカルデバイスの電源がオフ状態に設定されたときに、ローカルデバイスが、デバイス管理サービス部１２６に該ローカルデバイスに関する不要な情報を削除するように依頼してもよい。ただし、本実施例のようにすれば、ローカルデバイスの接続が突然切断される場合にも、該ローカルデバイスに関する不要な情報を確実に削除することができるという利点がある。
【０１２１】
ところで、デバイスサーバ１００のＵＳＢホストＩＦ部１４８に設けられた複数の接続ポートには、同一機種の複数のローカルデバイスが接続される場合がある。同一機種の複数のローカルデバイスのデバイスＷｅｂサービス部は、通常、同一のリンク情報と、同一のＵＲＬ情報と、を有している。この場合にも、同一機種の各ローカルデバイスのリンク情報は、区別された状態でメニューサービス部１２８に登録され、同一機種の各ローカルデバイスのＵＲＬ情報は、区別された状態で第１の通信制御部１３２のＨＴＴＰライブラリに登録される必要がある。
【０１２２】
そこで、本実施例では、ステップＳ２０６において、デバイス管理サービス部１２６は、対象ローカルデバイスに、登録済み情報（登録済みリンク情報および登録済みＵＲＬ情報）を供給している。
【０１２３】
図８は、同一機種の２台のプリンタ２００，５００がデバイスサーバ１００に接続された場合のネットワークシステムを示す説明図である。なお、図８は、図１とほぼ同じであるが、ストレージ装置４００に代えて、プリンタ５００が利用されている。図８では、デバイスサーバ１００に、第１のプリンタ２００が既に接続されており、第１のプリンタ２００と同一機種の第２のプリンタ５００がさらに接続される場合を想定している。なお、第２のプリンタ５００は、第１のプリンタ２００と同じ構成を有しており、デバイスＷｅｂサービス部５２４を含んでいる。
【０１２４】
デバイスサーバ１００には第１のプリンタ２００が既に接続されているため、第１のプリンタ２００が有する第１のリンク情報は、既に、メニューサービス部１２８に登録されている。このため、第２のプリンタ５００のデバイスＷｅｂサービス部５２４は、ステップＳ２０６で与えられた登録済みの第１のリンク情報と、自己が有する登録すべき第２のリンク情報（原リンク情報）と、が一致すると判断する。そして、第２のプリンタ５００のデバイスＷｅｂサービス部５２４は、第２のリンク情報（原リンク情報）を変更して、変更済みリンク情報をデバイスサーバ１００のデバイス管理サービス部１２６に送信する。具体的には、第２のプリンタ５００のデバイスＷｅｂサービス部５２４は、第２のリンク情報（原リンク情報）に含まれる原ＵＲＬ（例えば.../Printer/...）を変更して、変更済みＵＲＬ（例えば.../Printer2/...）を生成する。また、第２のプリンタ５００のデバイスＷｅｂサービス部５２４は、第２のリンク情報（原リンク情報）に含まれるカテゴリ名（例えば「プリンタ」）を変更して、変更済みカテゴリ名（例えば「プリンタ２」）を生成する。
【０１２５】
こうすれば、デバイスサーバ１００に同一のリンク情報を有する複数のプリンタが接続される場合にも、メニューサービス部１２８にはプリンタ毎に互いに異なるリンク情報が登録されるため、メニューサービス部１２８は、該互いに異なるリンク情報を用いてメニューデータを生成することができる。
【０１２６】
図９は、第２のプリンタ５００（図８）が検出された場合に、ステップＳ１０６（図２）でＷｅｂブラウザ画面に表示されるトップページＷＰ１ｂを示す説明図である。図９は、図３とほぼ同じであるが、第２のフィールドＦ２に表示されたメニューＭＮｂが変更されている。メニューＭＮｂの大カテゴリ「情報」，「設定」には、それぞれ、小カテゴリ「プリンタ２」が追加されている。そして、各小カテゴリ「プリンタ２」内には、「プリンタ」と同一の複数の項目が含まれている。このメニューＭＮｂを利用すれば、クライアント３００のユーザは、同一機種の２台のプリンタ２００，５００を区別して、一方のプリンタに関する項目を容易に選択して、目的のコンテンツを取得することができる。
【０１２７】
同様に、デバイスサーバ１００には第１のプリンタ２００が既に接続されているため、第１のプリンタ２００が有する第１のＵＲＬ情報は、既に、第１の通信制御部１３２のＨＴＴＰライブラリに登録されている。このため、第２のプリンタ５００のデバイスＷｅｂサービス部５２４は、ステップＳ２０６で与えられた登録済みの第１のＵＲＬ情報と、自己が有する登録すべき第２のＵＲＬ情報（原ＵＲＬ情報）と、が一致すると判断する。そして、第２のプリンタ５００のデバイスＷｅｂサービス部５２４は、第２のＵＲＬ情報（原ＵＲＬ情報）を変更して、変更済みＵＲＬ情報をデバイスサーバ１００のデバイス管理サービス部１２６に送信する。具体的には、第２のプリンタ５００のデバイスＷｅｂサービス部５２４は、第２のＵＲＬ情報（原ＵＲＬ情報）に含まれる原ＵＲＬ（例えば.../Printer/...）を変更して、変更済みＵＲＬ（例えば.../Printer2/...）を生成する。
【０１２８】
こうすれば、デバイスサーバ１００に同一のＵＲＬ情報を有する複数のプリンタが接続される場合にも、プリンタ毎に互いに異なるＵＲＬ情報がＨＴＴＰライブラリに登録されるため、この結果、デバイス管理サービス部１２６は、ＨＴＴＰリクエストに含まれるＵＲＬに基づいて、適切なプリンタからコンテンツデータを取得することができる。
【０１２９】
以上説明したように、本実施例では、ローカルデバイスに関するコンテンツデータは、ローカルデバイスに格納されている。また、ローカルデバイスは、メニューＭＮの生成に必要なリンク情報を有している。そして、デバイスサーバ１００は、ローカルデバイスに格納されたコンテンツに関するリンク情報を該ローカルデバイスから取得する。この結果、デバイスサーバ１００は、接続されるローカルデバイスに応じたメニューデータを容易に生成することができる。
【０１３０】
なお、この発明は上記の実施例や実施形態に限られるものではなく、その要旨を逸脱しない範囲において種々の態様において実施することが可能であり、例えば次のような変形も可能である。
【０１３１】
（１）上記実施例では、メニューサービス部１２８は、リンク情報の登録内容が変更されたときに、より具体的には、新たなリンク情報が登録されたり、登録済みのリンク情報が削除されたりしたときに、メニューデータを作成しているが、これに代えて、第１の通信制御部１３２からメニューデータの所在を示すＵＲＬの通知を受け取ったときに、メニューデータを作成するようにしてもよい。ただし、上記実施例のようにすれば、第１の通信制御部１３２からメニューデータの所在を示すＵＲＬの通知を受け取った際に、迅速にメニューデータを第１の通信制御部１３２に渡すことができ、この結果、クライアント３００に迅速にメニューＭＮを提供することができるという利点がある。
【０１３２】
（２）上記実施例では、デバイス管理サービス部１２６は、ステップＳ２２４において、メニューサービス部１２８に登録された不要なリンク情報を削除しているが、これに代えて、不要なリンク情報を削除せずに利用を禁止するようにしてもよい。
【０１３３】
一般には、デバイス管理サービス部１２６は、以前に検出されたローカルデバイスが検出されない場合に、該ローカルデバイスの取得済みのリンク情報を用いてメニューデータが生成されないように所定の処理を実行すればよい。
【０１３４】
（３）上記実施例では、図６のステップＳ２０６においてデバイス管理サービス部１２６は、対象ローカルデバイスに、メニューサービス部１２８に既に登録されているすべてのリンク情報と、ＨＴＴＰライブラリに既に登録されているすべてのＵＲＬ情報と、を通知している。しかしながら、対象ローカルデバイスが有するリンク情報およびＵＲＬ情報は、通常、デバイスサーバ１００が有するリンク情報およびＵＲＬ情報と異なっている。したがって、ステップＳ２０６では、デバイス管理サービス部１２６は、対象ローカルデバイスに、メニューサービス部１２８に既に登録されているローカルデバイスのリンク情報と、ＨＴＴＰライブラリに既に登録されているローカルデバイスのＵＲＬ情報と、を通知するようにしてもよい。
【０１３５】
一般には、デバイス管理サービス部１２６は、ローカルデバイスからのリンク情報の取得に先行して、該ローカルデバイスに、他のローカルデバイスから取得した他のリンク情報を通知すればよい。
【０１３６】
（４）上記実施例では、図６のステップＳ２０６〜Ｓ２０８で説明したように、デバイスサーバ１００に同一のリンク情報と同一のＵＲＬ情報とを有する複数のローカルデバイスが接続された場合には、ローカルデバイスがリンク情報およびＵＲＬ情報を変更している。しかしながら、これに代えて、まず、デバイスサーバ１００（より具体的にはデバイス管理サービス部１２６）がローカルデバイスからリンク情報とＵＲＬ情報とを取得して変更し、変更済みのリンク情報と変更済みのＵＲＬ情報とをそれぞれメニューサービス部１２８とＨＴＴＰライブラリとに登録するようにしてもよい。この場合には、デバイスサーバ１００は、変更済みのリンク情報と変更済みのＵＲＬ情報とをローカルデバイスに供給する。
【０１３７】
（５）上記実施例では、Ｗｅｂサーバ部１２２は、３つのサービス部１２４，１２６，１２８を備えているが、サーバＷｅｂサービス部１２４は省略可能である。
【０１３８】
また、上記実施例では、Ｗｅｂサーバ部１２２は、１つのデバイス管理サービス部１２６を備えているが、これに代えて、ＵＳＢホストＩＦ部１４８に設けられた複数の接続ポートに対応する複数のデバイス管理サービス部を備えていてもよい。
【０１３９】
さらに、上記実施例では、Ｗｅｂサーバ部１２２は、３つのサービス部１２４，１２６，１２８を備えているが、これに代えて、３つのサービス部１２４，１２６，１２８の機能を有する唯一の統合サービス部を備えていてもよい。こうすれば、３つのサービス部１２４，１２６，１２８にＵＲＬを通知する際に利用されるＨＴＴＰライブラリを省略可能である。
【０１４０】
（６）上記実施例では、ローカルデバイスとしてプリンタやストレージ装置が利用されているが、これに代えて、他のローカルデバイスが利用されてもよい。他のローカルデバイスとしては、スキャナや、ファクシミリを利用可能である。また、他のローカルデバイスとしては、複数の機能（印刷，スキャナ等）を有する複合機を利用可能である。
【０１４１】
なお、クライアント３００のユーザは、メニューＭＮを介して、デバイスサーバ１００に接続された種々のローカルデバイスに対して、種々の処理を実行させることができる。例えば、ストレージ装置に格納された画像データのリストを提供させたり、ストレージ装置に格納されたいずれかの画像データをプリンタに出力させたりすることができる。また、スキャナが取得した画像データをプリンタに出力させたり、該画像データをストレージ装置に格納させたりすることができる。さらに、ファクシミリが受信した画像データをプリンタに出力させたり、該画像データをストレージ装置に格納させたり、ストレージ装置に格納された画像データをファクシミリに送信させたりすることができる。
【０１４２】
（７）上記実施例において、ハードウェアによって実現されていた構成の一部をソフトウェアに置き換えるようにしてもよく、逆に、ソフトウェアによって実現されていた構成の一部をハードウェアに置き換えるようにしてもよい。
【図面の簡単な説明】
【０１４３】
【図１】ネットワークシステムの構成を示す説明図である。
【図２】図１のネットワークシステムで行われる通信処理の一例を示すフローチャートである。
【図３】ステップＳ１０６（図２）でＷｅｂブラウザ画面に表示されるトップページＷＰ１を示す説明図である。
【図４】ステップＳ１１６（図２）でＷｅｂブラウザ画面に表示される「基本情報」ページＷＰ２を示す説明図である。
【図５】ステップＳ１２８（図２）でＷｅｂブラウザ画面に表示される「デバイス情報」ページＷＰ３を示す説明図である。
【図６】デバイス管理サービス部１２６によって実行される前処理の手順を示すフローチャートである。
【図７】ストレージ装置４００が検出された場合に、ステップＳ１０６（図２）でＷｅｂブラウザ画面に表示されるトップページＷＰ１ａを示す説明図である。
【図８】同一機種の２台のプリンタ２００，５００がデバイスサーバ１００に接続された場合のネットワークシステムを示す説明図である。
【図９】第２のプリンタ５００（図８）が検出された場合に、ステップＳ１０６（図２）でＷｅｂブラウザ画面に表示されるトップページＷＰ１ｂを示す説明図である。
【符号の説明】
【０１４４】
１００…デバイスサーバ
１１０…ＣＰＵ
１２０…メモリ
１２２…Ｗｅｂサーバ部
１２４…サーバＷｅｂサービス部
１２６…デバイス管理サービス部
１２８…メニューサービス部
１３２…第１の通信制御部
１３４…第２の通信制御部
１４２…ネットワークＩＦ部
１４８…ＵＳＢホストＩＦ部
２００…プリンタ
２１０…ＣＰＵ
２２０…メモリ
２２２…処理実行部
２２４…デバイスＷｅｂサービス部
２３２…通信制御部
２４８…ＵＳＢデバイスＩＦ部
２５０…プリンタエンジン
３００…クライアント
３１０…Ｗｅｂブラウザ
４００…ストレージ装置
４２４…デバイスＷｅｂサービス部
５００…プリンタ
５２４…デバイスＷｅｂサービス部
ＮＷ…ネットワーク
【図１】
0004844105.tif 000002
【図２】
0004844105.tif 000003
【図３】
0004844105.tif 000004
【図４】
0004844105.tif 000005
【図５】
0004844105.tif 000006
【図６】
0004844105.tif 000007
【図７】
0004844105.tif 000008
【図８】
0004844105.tif 000009
【図９】
0004844105.tif 000010