(57)【要約】【課題】ネットワークに接続される制御装置の通信速度を向上させることのできる技術を提供する。【解決手段】制御装置は、ネットワークを介して接続されるコンピュータと通信する通信部と、通信部を介してコンピュータから受け取った要求に応じたサービスを提供するための複数のサービス部であって、各サービス部は互いに異なるプロトコルに従った要求を受け取る、複数のサービス部と、複数のサービス部の動作状態を変更するための変更部と、を備える。変更部は、第１の場合に、複数のサービス部のうちの第１のサービス部の処理が、第２のサービス部の処理よりも優先して実行されるように、第１の処理を実行する。【選択図】図５
2007199990.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークに接続される制御装置であって、
前記ネットワークを介して接続されるコンピュータと通信する通信部と、
前記通信部を介して前記コンピュータから受け取った要求に応じたサービスを提供するための複数のサービス部であって、前記各サービス部は互いに異なるプロトコルに従った前記要求を受け取る、前記複数のサービス部と、
前記複数のサービス部の動作状態を変更するための変更部と、
を備え、
前記変更部は、第１の場合に、前記複数のサービス部のうちの第１のサービス部の処理が、第２のサービス部の処理よりも優先して実行されるように、第１の処理を実行することを特徴とする制御装置。
【請求項２】
請求項１記載の制御装置であって、
前記第１の場合は、前記複数のサービス部のうちの特定のサービス部が前記コンピュータから第１の要求を受け取った場合を含む、制御装置。
【請求項３】
請求項１または２記載の制御装置であって、
前記第１の処理は、前記第１のサービス部の優先度を前記第２のサービス部の優先度よりも高く設定する処理を含む、制御装置。
【請求項４】
請求項１ないし３のいずれかに記載の制御装置であって、
前記第１の処理は、前記第２のサービス部の動作を停止させる処理を含む、制御装置。
【請求項５】
請求項１ないし４のいずれかに記載の制御装置であって、
前記変更部は、さらに、
複数の場合に対応する複数の動作状態パターンであって、前記各動作状態パターンは前記複数のサービス部が採るべき動作状態を示す、前記複数の動作状態パターンが登録されたメモリを備え、
前記変更部は、前記第１の場合に対応する１つの前記動作状態パターンに基づいて、前記第１の処理を実行する、制御装置。
【請求項６】
請求項２記載の制御装置であって、
前記第１の要求は、前記複数のサービス部が採るべき動作状態を示す動作状態情報を含み、
前記変更部は、前記第１の要求に含まれる前記動作状態情報に基づいて、前記第１の処理を実行する、制御装置。
【請求項７】
請求項１ないし６のいずれかに記載の制御装置であって、
前記変更部は、第２の場合に、前記複数のサービス部の動作状態を、前記第１の処理が実行される前の動作状態に戻すための第２の処理を実行する、制御装置。
【請求項８】
請求項７記載の制御装置であって、
前記第２の場合は、前記特定のサービス部が前記コンピュータから第２の要求を受け取った場合を含む、制御装置。
【請求項９】
請求項７記載の制御装置であって、
前記第２の場合は、前記特定のサービス部が前記第１の要求を受け取ってから所定期間経過した場合を含む、制御装置。
【請求項１０】
ネットワーク装置であって、
請求項１ないし９のいずれかに記載の制御装置と、
前記ネットワークを介さずに前記制御装置と接続されるローカルデバイスと、
を備えることを特徴とするネットワーク装置。
【請求項１１】
請求項１０記載のネットワーク装置であって、
前記ローカルデバイスは、プリンタを含み、
前記第１のサービス部は、前記第１の処理が実行された後に、前記コンピュータから印刷データを含む印刷要求を受け取る、ネットワーク装置。
【請求項１２】
ネットワークを介して接続されるコンピュータと通信する通信部と、前記通信部を介して前記コンピュータから受け取った要求に応じたサービスを提供するための複数のサービス部であって、前記各サービス部は互いに異なるプロトコルに従った前記要求を受け取る、前記複数のサービス部と、を備える制御装置によって実行される制御方法であって、
前記複数のサービス部の動作状態を変更する工程を備え、
前記変更工程は、第１の場合に、前記複数のサービス部のうちの第１のサービス部の処理が、第２のサービス部の処理よりも優先して実行されるように、第１の処理を実行する工程を含むことを特徴とする制御方法。
【請求項１３】
ネットワークを介して接続されるコンピュータと通信する通信部と、前記通信部を介して前記コンピュータから受け取った要求に応じたサービスを提供するための複数のサービス部であって、前記各サービス部は互いに異なるプロトコルに従った前記要求を受け取る、前記複数のサービス部と、を備える制御装置に制御を実行させるためのコンピュータプログラムであって、
前記複数のサービス部の動作状態を変更する機能を前記制御装置に実現させ、
前記変更機能は、第１の場合に、前記複数のサービス部のうちの第１のサービス部の処理が、第２のサービス部の処理よりも優先して実行されるように、第１の処理を実行する機能を含むことを特徴とするコンピュータプログラム。
【請求項１４】
請求項１３記載のコンピュータプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークを介して接続されたコンピュータと制御装置との間の通信速度を向上させるための技術に関する。
【背景技術】
【０００２】
ネットワークを利用した印刷システムでは、例えば、プリンタがＵＳＢケーブルを介してプリントサーバに接続され、プリントサーバとクライアントコンピュータとがＬＡＮなどのネットワークを介して接続される。
【０００３】
プリントサーバは、通常、互いに異なるプロトコル（例えば、ＨＴＴＰやＳＮＭＰなど）に従ってサービスを提供する複数のサービス部を備えている。プリントサーバは、複数のサービス部がクライアントコンピュータからの要求に応じて直ちに処理を実行可能なように、複数のサービス部に対応する複数のポートを常に開けて、換言すれば、複数のサービス部を常に起動させて、待機している。
【０００４】
【特許文献１】特開平７−１０４９５７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、複数のサービス部を常に起動させる場合には、サービス部の数が多くなるに連れて、通信速度が遅くなってしまうという問題があった。例えば、プリントサーバがクライアントコンピュータから印刷データを受信する際に、多数のサービス部が起動していると、プリントサーバのリソース（ＣＰＵ等）が多く利用され、プリントサーバは、印刷データを高速に受信することが困難であった。
【０００６】
なお、上記の問題は、印刷システムだけでなく、プリントサーバなどのネットワークに接続される制御装置を含む他のネットワークシステムに共通する問題である。
【０００７】
本発明は、上述の課題を解決するためになされたものであり、ネットワークに接続される制御装置の通信速度を向上させることを目的とする。
【課題を解決するための手段】
【０００８】
上述の課題の少なくとも一部を解決するため、本発明の装置は、ネットワークに接続される制御装置であって、
前記ネットワークを介して接続されるコンピュータと通信する通信部と、
前記通信部を介して前記コンピュータから受け取った要求に応じたサービスを提供するための複数のサービス部であって、前記各サービス部は互いに異なるプロトコルに従った前記要求を受け取る、前記複数のサービス部と、
前記複数のサービス部の動作状態を変更するための変更部と、
を備え、
前記変更部は、第１の場合に、前記複数のサービス部のうちの第１のサービス部の処理が、第２のサービス部の処理よりも優先して実行されるように、第１の処理を実行することを特徴とする。
【０００９】
この装置では、第１の場合には、第１のサービス部の処理が、第２のサービス部の処理よりも優先して実行されるため、第１のサービス部によるデータの通信速度を向上させることができる。
【００１０】
上記の装置において、
前記第１の場合は、前記複数のサービス部のうちの特定のサービス部が前記コンピュータから第１の要求を受け取った場合を含むようにしてもよい。
【００１１】
上記の装置において、
前記第１の処理は、前記第１のサービス部の優先度を前記第２のサービス部の優先度よりも高く設定する処理を含むようにしてもよい。また、前記第１の処理は、前記第２のサービス部の動作を停止させる処理を含むようにしてもよい。
【００１２】
上記のようにすれば、第１のサービス部によるデータの通信速度を向上させることができる。
【００１３】
上記の装置において、
前記変更部は、さらに、
複数の場合に対応する複数の動作状態パターンであって、前記各動作状態パターンは前記複数のサービス部が採るべき動作状態を示す、前記複数の動作状態パターンが登録されたメモリを備え、
前記変更部は、前記第１の場合に対応する１つの前記動作状態パターンに基づいて、前記第１の処理を実行するようにしてもよい。
【００１４】
あるいは、上記の装置において、
前記第１の要求は、前記複数のサービス部が採るべき動作状態を示す動作状態情報を含み、
前記変更部は、前記第１の要求に含まれる前記動作状態情報に基づいて、前記第１の処理を実行するようにしてもよい。
【００１５】
制御装置が複数の動作状態パターンを備える場合には、制御装置は、動作状態情報をクライアントコンピュータから取得せずに済むため、第１の要求を含む通信データのサイズを小さくすることができるという利点がある。一方、制御装置が動作状態情報をクライアントコンピュータから取得する場合には、制御装置は、複数の動作状態パターンを備えずに済むという利点がある。
【００１６】
上記の装置において、
前記変更部は、第２の場合に、前記複数のサービス部の動作状態を、前記第１の処理が実行される前の動作状態に戻すための第２の処理を実行することが好ましい。
【００１７】
上記の装置において、
前記第２の場合は、前記特定のサービス部が前記コンピュータから第２の要求を受け取った場合を含むようにしてもよい。
【００１８】
こすうれば、複数のサービス部の動作状態を、第１の処理が実行される前の動作状態に比較的早期に戻すことができる。
【００１９】
また、上記の装置において、
前記第２の場合は、前記特定のサービス部が前記第１の要求を受け取ってから所定期間経過した場合を含むようにしてもよい。
【００２０】
こうすれば、複数のサービス部の動作状態を、第１の処理が実行される前の動作状態に確実に戻すことがでいる。
【００２１】
本発明の第２の装置は、ネットワーク装置であって、
上記の制御装置と、
前記ネットワークを介さずに前記制御装置と接続されるローカルデバイスと、
を備えることを特徴とする。
【００２２】
上記の装置において、
前記ローカルデバイスは、プリンタを含み、
前記第１のサービス部は、前記第１の処理が実行された後に、前記コンピュータから印刷データを含む印刷要求を受け取るようにしてもよい。
【００２３】
こうすれば、第１のサービス部は、比較的サイズの大きな印刷データを含む印刷要求の受信処理を高速に実行することができる。
【００２４】
この発明は、種々の形態で実現することが可能であり、制御装置および該制御装置における制御方法、ローカルデバイスおよび該ローカルデバイスにおける制御方法、制御装置とローカルデバイスとを含むネットワーク装置および該ネットワーク装置における制御方法、これらの方法または装置の機能を実現するためのコンピュータプログラム、そのコンピュータプログラムを記録した記録媒体、そのコンピュータプログラムを含み搬送波内に具現化されたデータ信号、等の形態で実現することができる。
【発明を実施するための最良の形態】
【００２５】
次に、本発明の実施の形態を実施例に基づき以下の順序で説明する。
Ａ．ネットワークシステムの構成：
Ａ−１．デバイスサーバの構成：
Ａ−２．プリンタの構成：
Ｂ．ネットワークシステムの要部：
Ｂ−１．デバイスサーバの要部：
Ｂ−２．クライアントコンピュータの要部：
Ｃ．印刷データの転送処理：
Ｄ．変形例：
【００２６】
Ａ．ネットワークシステムの構成：
図１は、ネットワークシステムの構成を示す説明図である。ネットワークシステムは、デバイスサーバ１００と、プリンタ２００と、クライアントコンピュータ（以下、単に「クライアント」とも呼ぶ）３００と、を備えている。デバイスサーバ１００とクライアント３００とは、ＬＡＮなどのネットワークＮＷを介して互いに接続されている。また、デバイスサーバ１００とプリンタ２００とは、ＵＳＢケーブルを介して互いに接続されている。
【００２７】
本実施例では、デバイスサーバ１００とプリンタ２００とは異なる筐体に収納されているが、共通の筐体に収納されていてもよい。
【００２８】
なお、本実施例におけるデバイスサーバ１００が本発明における制御装置に相当し、プリンタ２００がローカルデバイスに相当する。また、デバイスサーバ１００とプリンタ２００とがネットワーク装置に相当する。
【００２９】
Ａ−１．デバイスサーバの構成：
デバイスサーバ１００（図１）は、制御回路１１０と、ネットワークインタフェース（ＩＦ）部１９２と、ＵＳＢホストインタフェース（ＩＦ）部１９８と、を備えている。
【００３０】
ネットワークＩＦ部１９２は、ネットワークＮＷを介してクライアント３００と通信するためのインタフェースである。
【００３１】
ＵＳＢホストＩＦ部１９８は、ＵＳＢケーブルを介してプリンタ２００などのローカルデバイスと通信するためのインタフェースである。
【００３２】
制御回路１１０は、図示しないＣＰＵとメモリとで構成されている。制御回路１１０は、処理実行部１１２と、第１の通信制御部１１４と、第２の通信制御部１１６と、を備えている。処理実行部１１２と第１の通信制御部１１４と第２の通信制御部１１６との機能は、ＣＰＵがコンピュータプログラムを実行することによって実現される。なお、コンピュータプログラムは、例えば、ＣＤ−ＲＯＭなどのコンピュータ読み取り可能な記録媒体に記録された形態で提供される。
【００３３】
第１の通信制御部１１４は、ネットワークＩＦ部１９２を介して、ネットワークに接続されたクライアント３００と通信データを送受信する。なお、第１の通信制御部１１４は、ＴＣＰおよび／またはＵＤＰ層の処理と、ＩＰ層の処理と、を実行する。
【００３４】
第２の通信制御部１１６は、ＵＳＢホストＩＦ部１９８を介して、ＵＳＢケーブルで接続されたプリンタ２００と通信データを送受信する。
【００３５】
処理実行部１１２は、第１の通信制御部１１４から受け取った通信データに基づいて、種々の処理を実行する。なお、処理実行部１１２についてはさらに後述する。
【００３６】
なお、本実施例におけるネットワークＩＦ部１９２と第１の通信制御部１１４とが本発明における通信部に相当する。
【００３７】
Ａ−２．プリンタの構成：
プリンタ２００（図１）は、制御回路２１０と、プリンタエンジン２８０と、ＵＳＢデバイスインタフェース（ＩＦ）部２９８と、を備えている。
【００３８】
ＵＳＢデバイスＩＦ部２９８は、ＵＳＢケーブルを介してデバイスサーバ１００と通信するためのインタフェースである。
【００３９】
制御回路２１０は、図示しないＣＰＵとメモリとで構成されている。制御回路２１０は、処理実行部２１２と、通信制御部２１６と、を備えている。処理実行部２１２と通信制御部２１６との機能は、ＣＰＵがコンピュータプログラムを実行することによって実現される。
【００４０】
通信制御部２１６は、ＵＳＢデバイスＩＦ部２９８を介して、ＵＳＢケーブルで接続されたデバイスサーバ１００と通信データを送受信する。なお、通信制御部２１６の機能は、ＵＳＢクラスドライバによって実現される。
【００４１】
処理実行部２１２は、通信制御部２１６が受け取った通信データに基づいて、種々の処理を実行する。例えば、処理実行部２１２は、プリンタエンジン２８０を制御して、印刷を実行させる。
【００４２】
Ｂ．ネットワークシステムの要部：
図２は、図１のネットワークシステムを構成するデバイスサーバ１００とクライアントコンピュータ３００との要部を模式的に示す説明図である。
【００４３】
Ｂ−１．デバイスサーバの要部：
図２に示すように、デバイスサーバ１００は、６つのサーバモジュール１２１〜１２６と、データベース１３０と、を含んでいる。６つのサーバモジュール１２１〜１２６とデータベース１３０とは、図１のデバイスサーバ１００内の処理実行部１１２に含まれている。
【００４４】
６つのサーバモジュール１２１〜１２６は、クライアントコンピュータ３００から与えられた互いに異なるプロトコルに従った要求を受け取り、該要求に応じたサービスを提供する。本実施例では、第１のサーバモジュール１２１は、ＳＬＰ（Service Location Protocol）プロトコルに従ってサービスを提供するサーバプログラムである。同様に、第２ないし第６のサーバモジュール１２２〜１２６は、それぞれ、ＨＴＴＰ（Hyper Text Transfer Protocol）プロトコル，ＳＯＡＰ（Simple Object Access Protocol）プロトコル，ＳＮＭＰ（Simple Network Management Protocol）プロトコル，ＦＴＰ（File Transfer Protocol）プロトコル，プリンタポートプロトコル（すなわち印刷用プロトコル）に従ってサービスを提供するサーバプログラムである。
【００４５】
なお、本実施例では、第３のサーバモジュール（ＳＯＡＰ）１２３は、ＯＳＩ参照モデルにおいて、第２のサーバモジュール（ＨＴＴＰ）１２２の上位に位置している。換言すれば、第３のサーバモジュール１２３は、ＨＴＴＰプロトコルを転送プロトコルとして利用する。しかしながら、これに代えて、第３のサーバモジュール１２３は、第４または第５のサーバモジュール１２４，１２５の上位に位置するようにしてもよい。換言すれば、第３のサーバモジュール１２３は、ＳＮＭＰプロトコルやＦＴＰプロトコルを転送プロトコルとして利用してもよい。
【００４６】
また、本実施例では、第３のサーバモジュール（ＳＯＡＰ）１２３は、ＲＰＣ（Remote Procedure Call）機能を有している。周知のように、ＲＰＣは、クライアントコンピュータがサーバコンピュータに接続してリモート処理を行う手続きを意味する。より具体的には、ＲＰＣは、クライアントがサーバにリクエストメッセージを送り、サーバが該リクエストメッセージに応じてメソッドを実行し、サーバがクライアントにレスポンスメッセージを返すという手続きを意味する。
【００４７】
なお、本実施例におけるサーバモジュール１２１〜１２６が本発明におけるサービス部に相当する。
【００４８】
データベース１３０には、種々のファイルが格納されている。例えば、ソースファイルや、デバイス名などのデバイスサーバに関する情報を含むファイル、ＩＰアドレスなどのネットワークに関する情報を含むファイルなどが格納されている。また、データベース１３０には、印刷データなどの一時的に利用されるファイルも格納される。
【００４９】
特に、本実施例では、データベース１３０には、動作状態テーブル１４２と、基本パターン１４４と、複数の変更パターン１４６と、複数の回復パターン１４８と、が格納されている。
【００５０】
動作状態テーブル１４２には、各サーバモジュールの現在の動作状態が登録される。基本パターン１４４には、各サーバモジュールを標準の動作状態で動作させるための情報（設定値）が登録されている。複数の変更パターン１４６は、予想される複数の状況に対応して設けられている。各変更パターン１４６には、各サーバモジュールの動作状態を特定の状況に適した動作状態に変更するための情報（設定値）が登録されている。複数の回復パターン１４８は、複数の変更パターン１４６に対応して設けられている。各回復パターン１４８には、対応する変更パターン１４６に基づいて変更された各サーバモジュールの動作状態を、標準の動作状態に戻すための情報（設定値）が登録されている。
【００５１】
後述するように、動作状態テーブル１４２の内容は、いずれかのパターン１４４，１４６，１４８が選択された場合に、変更される。また、動作状態テーブル１４２の内容は、各サーバモジュールの動作状態の変更が完了した場合に、変更される。これにより、動作状態テーブル１４２には、常に各サーバモジュールの現在の動作状態が登録されるため、クライアント３００は、動作状態テーブル１４２を参照することによって、各サーバモジュールの現在の動作状態を知ることができる。
【００５２】
データベース１３０は、さらに、通知部１３２の機能を有している。通知部１３２は、いずれかのパターン１４４，１４６，１４８が選択された場合に、選択されたパターンに登録された情報（設定値）を、動作状態が変更されるべき変更対象のサーバモジュール（以下「対象サーバモジュール」とも呼ぶ）に通知する。
【００５３】
なお、本実施例における通知部１３２と変更パターン１４６と回復パターン１４８とが、本発明における変更部に相当する。
【００５４】
図３は、通常動作時における動作状態テーブル１４２ａの内容を示す説明図である。図示するように、動作状態テーブルには、サーバモジュール毎に、フラグと優先度とが登録されている。
【００５５】
フラグは、各サーバモジュールの現在の状態を示している。フラグ値「０（スタート）」は、対応するサーバモジュールが起動中であることを示す。フラグ値「１（ストップ）」は、対応するサーバモジュールが停止中であることを示す。フラグ値「２（リブート）」は、対応するサーバモジュールが再起動中であることを示す。
【００５６】
優先度は、各サーバモジュールの処理に割り当てられるべきＣＰＵの処理能力を示しており、ＣＰＵは優先度に基づいて各サーバモジュールの処理を実行する。具体的には、ＣＰＵは、比較的高い優先度が設定された第１のサーバモジュールの処理を、比較的低い優先度が設定された第２のサーバモジュールの処理よりも優先して実行する。例えば、第１のサーバモジュールに優先度「１００」が設定されており、第２のサーバモジュールに優先度「５０」が設定されている場合を想定する。この想定例において、ＣＰＵが第１のサーバモジュールの処理と第２のサーバモジュールの処理とを同時期に実行する場合には、単位時間あたりに実行される第１のサーバモジュールの処理の回数は、単位時間あたりに実行される第２のサーバモジュールの処理の回数の２倍となる。
【００５７】
図３では、すべてのサーバモジュールに対して、フラグ値「０（スタート）」および優先度「１００」が設定されている。データベース１３０に図３に示す動作状態テーブル１４２ａが格納されているとき、すべてのサーバモジュールは、優先度「１００」で起動中である。換言すれば、６つのサーバモジュール１２１〜１２６に対応する６つのポートが開いた状態である。そして、各サーバモジュールの処理が同時期に実行される場合には、単位時間あたりに実行される各サーバモジュールの処理の回数は等しい。
【００５８】
なお、本実施例では、各サーバモジュールに設定される優先度は、後述するように、変更可能である。そして、優先度が変更される場合には、各サーバモジュールは、変更後の優先度で処理を実行するために、自ら再起動する。
【００５９】
図４は、基本パターン１４４の内容を示す説明図である。図示するように、基本パターン１４４には、図３に示す動作状態テーブル１４２ａと同様に、サーバモジュール毎に、フラグおよび優先度が登録されている。ただし、基本パターン１４４に登録されたフラグおよび優先度（設定値）は、各サーバモジュールが採るべき動作状態を示している。
【００６０】
図４の基本パターン１４４では、すべてのサーバモジュールに対して、フラグ値「２（リブート）」および優先度「１００」が設定されており、すべてのサーバモジュールが優先度「１００」で再起動すべきことが分かる。
【００６１】
基本パターン１４４に登録されたフラグ値および優先度は、例えば、デバイスサーバ１００の電源投入時やリセット時に、動作状態テーブル１４２に書き込まれる。そして、各サーバモジュール１２１〜１２６の動作状態が基本パターン１４４に登録されたフラグおよび優先度に基づいて変更されると、各サーバモジュール１２１〜１２６は、図３に示すように動作状態テーブル１４２ａのフラグ値を「０（スタート）」に変更する。
【００６２】
なお、変更パターン１４６および回復パターン１４８については、後述する。
【００６３】
Ｂ−２．クライアントコンピュータの要部：
図２に示すように、クライアント３００は、６つのクライアントモジュール３２１〜３２６を含んでいる。６つのクライアントモジュール３２１〜３２６は、それぞれ、デバイスサーバ１００の６つのサーバモジュール１２１〜１２６に対応して設けられている。
【００６４】
Ｃ．印刷データの転送処理：
図５は、クライアントコンピュータ３００からデバイスサーバ１００への印刷データの転送処理の手順を示すフローチャートである。
【００６５】
ステップＳ１０２では、クライアント３００は、印刷データの高速通信の開始を要求する。具体的には、クライアント３００のユーザが、アプリケーションプログラムの実行画面を介して、印刷データの高速送信を指示すると、第３のクライアントモジュール（ＳＯＡＰ）３２３が、印刷データの高速通信の開始を要求する。
【００６６】
ステップＳ１０４では、デバイスサーバ１００の第３のサーバモジュール（ＳＯＡＰ）１２３が、該開始要求を受け取り、該開始要求に応じて、複数の変更パターン１４６の中から印刷データの高速通信に適した１つの変更パターン１４６ｘを選択する。なお、選択された変更パターン１４６ｘには、各サーバモジュールの動作状態を、印刷データの高速通信に適した動作状態に変更するための情報（設定値）が登録されている。
【００６７】
図６は、ステップＳ１０４（図５）で選択された変更パターン１４６ｘの内容を示す説明図である。図示するように、変更パターン１４６ｘには、基本パターン１４４（図４）と同様に、サーバモジュール毎に、フラグおよび優先度（設定値）が登録されている。ただし、本実施例の変更パターン１４６ｘでは、対象サーバモジュールの動作状態を変更するために必要なフラグおよび優先度のみが登録されている。なお、図中、「−」印は、フラグまたは優先度を変更する必要がないことを示している。
【００６８】
図６の変更パターン１４６ｘでは、第１のサーバモジュール（ＳＬＰ）１２１および第４のサーバモジュール（ＳＮＭＰ）１２４に対して、フラグ値「２」および優先度「５０」が設定されており、２つのサーバモジュール１２１，１２４が優先度「５０」で再起動すべきであることが分かる。また、図６の変更パターン１４６ｘでは、第５のサーバモジュール（ＦＴＰ）１２５に対して、フラグ値「１」が設定されており、第５のサーバモジュール１２５が停止すべきであることが分かる。
【００６９】
ステップＳ１０４（図５）において変更パターン１４６ｘが選択されると、第３のサーバモジュール１２３は、変更パターン１４６ｘに登録されたフラグおよび優先度を、動作状態テーブル１４２に書き込む。この結果、動作状態テーブル１４２の内容が変更される。
【００７０】
ステップＳ１０６では、まず、通知部１３２が、対象サーバモジュールに採るべき動作状態を通知する。具体的には、通知部１３２は、ステップＳ１０４で選択された変更パターン１４６ｘ（図６）を参照して、対象サーバモジュールに採るべき動作状態（フラグ・優先度）を通知する。そして、各対象サーバモジュールは、該動作状態（フラグ・優先度）に基づいて動作状態を変更する。本実施例では、第１のサーバモジュール（ＳＬＰ）１２１および第４のサーバモジュール（ＳＮＭＰ）１２４は、それぞれ、変更パターン１４６ｘ（図６）に登録されたフラグ値「２（リブート）」および優先度「５０」に基づいて、優先度「５０」で再起動する。第５のサーバモジュール（ＦＴＰ）１２５は、変更パターン１４６ｘ（図６）に登録されたフラグ値「１（ストップ）」に基づいて、停止する。
【００７１】
ステップＳ１０６において対象サーバモジュール１２１，１２４，１２５の動作状態が変更パターン１４６ｘに従って変更されると、各対象サーバモジュールによって、動作状態テーブル１４２の内容が変更される。
【００７２】
図７は、ステップＳ１０６（図５）の処理前および処理後における動作状態テーブル１４２ｂ，１４２ｃの内容を示す説明図である。
【００７３】
ステップＳ１０６の処理前では、図７（Ａ）に示すように動作状態テーブル１４２ｂには、変更パターン１４６ｘ（図６）に登録されたフラグおよび優先度が書き込まれている。具体的には、図７（Ａ）と図３とを比較して分かるように、第１のサーバモジュール（ＳＬＰ）１２１および第４のサーバモジュール（ＳＮＭＰ）１２４に対して設定されたフラグ値は、「０（スタート）」から「２（リブート）」に変更されており、優先度は、「１００」から「５０」に変更されている。また、第５のサーバモジュール（ＦＴＰ）１２５に対して設定されたフラグ値は、「０（スタート）」から「１（ストップ）」に変更されている。
【００７４】
ステップＳ１０６の処理後では、図７（Ｂ）に示すように、動作状態テーブル１４２ｂが変更されている。具体的には、図７（Ａ）と図７（Ｂ）とを比較して分かるように、第１のサーバモジュール（ＳＬＰ）１２１および第４のサーバモジュール（ＳＮＭＰ）１２４のフラグ値が「２（リブート）」から「０（スタート）」に変更されている。
【００７５】
ステップＳ１０８（図５）では、デバイスサーバ１００の第３のサーバモジュール（ＳＯＡＰ）１２３は、クライアント３００に、ステップＳ１０２の開始要求に対する応答を返す。具体的には、通知部１３２は、各対象サーバモジュールから、動作状態の変更が完了した旨の通知を受け取る。そして、第３のサーバモジュール（ＳＯＡＰ）１２３は、通知部１３２から該通知を受け取り、クライアント３００に応答を返す。
【００７６】
ステップＳ１１２では、クライアント３００の第３のクライアントモジュール（ＳＯＡＰ）３２３は、デバイスサーバ１００から応答を受け取る。そして、クライアント３００の第６のクライアントモジュール（プリンタポート）３２６は、デバイスサーバ１００に向けて印刷データを含む印刷要求を送信する。
【００７７】
ステップＳ１１４では、デバイスサーバ１００の第６のサーバモジュール（プリンタポート）１２６は、クライアント３００から印刷データを含む印刷要求を受信する。このとき、デバイスサーバ１００は、印刷データをプリンタ２００に供給し、プリンタ２００は、該印刷データに従った印刷を開始する。
【００７８】
本実施例では、クライアント３００からデバイスサーバ１００に印刷データが送信される際には、第１および第４のサーバモジュール１２１，１２４の処理の優先度が低下していると共に、第５のサーバモジュール１２５が停止している。このため、第６のサーバモジュール（プリンタポート）１２６の処理は、上記の３つのサーバモジュール１２１，１２４，１２５の処理よりも優先して実行される。この結果、すべてのサーバモジュールが優先度「１００」で起動中である場合と比較して、第６のサーバモジュール（プリンタポート）１２６は、印刷データの受信処理を高速に実行することができる。
【００７９】
ステップＳ１２２では、クライアント３００の第３のクライアントモジュール（ＳＯＡＰ）３２３は、印刷データの高速通信の終了を要求する。
【００８０】
ステップＳ１２４では、デバイスサーバ１００の第３のサーバモジュール（ＳＯＡＰ）１２３が、該終了要求を受け取り、該終了要求に応じて、複数の回復パターン１４８の中から、ステップＳ１０４で選択された変更パターン１４６ｘに対応する１つの回復パターン１４８ｘを選択する。なお、選択された回復パターン１４８ｘには、各サーバモジュールの動作状態を図３に示す標準の動作状態に戻すための情報（設定値）が登録されている。
【００８１】
図８は、ステップＳ１２４（図５）で選択された回復パターン１４８ｘの内容を示す説明図である。なお、回復パターン１４８ｘには、変更パターン１４６ｘ（図６）と同様に、対象サーバモジュールの動作状態を変更するために必要なフラグおよび優先度のみが登録されている。
【００８２】
図８の回復パターン１４８ｘでは、第１のサーバモジュール（ＳＬＰ）１２１および第４のサーバモジュール（ＳＮＭＰ）１２４に対して、フラグ値「２（リブート）」および優先度「１００」が設定されており、２つのサーバモジュール１２１，１２４が優先度「１００」で再起動すべきであることが分かる。また、図８の回復パターン１４８ｘでは、第５のサーバモジュール（ＦＴＰ）１２５に対して、フラグ値「０（スタート）」が設定されており、第５のサーバモジュール１２５が動作を再開すべきであることが分かる。
【００８３】
ステップＳ１２４（図５）において回復パターン１４８ｘが選択されると、第３のサーバモジュール１２３は、回復パターン１４８ｘに登録されたフラグおよび優先度を、動作状態テーブル１４２に書き込む。この結果、動作状態テーブル１４２の内容が変更される。
【００８４】
ステップＳ１２６では、まず、通知部１３２が、対象サーバモジュールに採るべき動作状態（フラグ・優先度）を通知する。具体的には、通知部１３２は、ステップＳ１２４で選択された回復パターン１４８ｘ（図８）を参照して、対象サーバモジュールに採るべき動作状態（フラグ・優先度）を通知する。そして、各対象サーバモジュールは、該動作状態（フラグ・優先度）に基づいて動作状態を変更する。本実施例では、第１のサーバモジュール（ＳＬＰ）１２１および第４のサーバモジュール（ＳＮＭＰ）１２４は、それぞれ、回復パターン１４８ｘ（図８）に登録されたフラグ値「２（リブート）」および優先度「１００」に基づいて、優先度「１００」で再起動する。第５のサーバモジュール（ＦＴＰ）１２５は、回復パターン１４８ｘ（図８）に登録されたフラグ値「０（スタート）」に基づいて、動作を再開する。この結果、各サーバモジュール１２１〜１２６の動作状態は、図５の処理の開始前と同じ標準の動作状態に戻る。
【００８５】
ステップＳ１２６において、各対象サーバモジュール１２１，１２４，１２５の動作状態が回復パターン１４８ｘに従って変更されると、各対象サーバモジュールによって、動作状態テーブル１４２の登録内容が変更される。
【００８６】
図９は、ステップＳ１２６（図５）の処理前および処理後における動作状態テーブル１４２ｄ，１４２ｅの内容を示す説明図である。
【００８７】
ステップＳ１２６の処理前では、図９（Ａ）に示すように動作状態テーブル１４２ｄには、回復パターン１４８ｘ（図８）に登録されたフラグおよび優先度が書き込まれている。具体的には、図７（Ｂ）と図９（Ａ）とを比較して分かるように、第１のサーバモジュール（ＳＬＰ）１２１および第４のサーバモジュール（ＳＮＭＰ）１２４に対して設定されたフラグ値は、「０（スタート）」から「２（リブート）」に変更されており、優先度は、「５０」から「１００」に変更されている。また、第５のサーバモジュール（ＦＴＰ）１２５に対して設定されたフラグ値は、「１（ストップ）」から「０（スタート）」に変更されている。
【００８８】
ステップＳ１２６の処理後では、図９（Ｂ）に示すように、動作状態テーブル１４２ｅが変更されている。具体的には、図９（Ａ）と図９（Ｂ）とを比較して分かるように、第１のサーバモジュール（ＳＬＰ）１２１および第４のサーバモジュール（ＳＮＭＰ）１２４のフラグ値が「２（リブート）」から「０（スタート）」に変更されている。
【００８９】
ステップＳ１２８（図５）では、デバイスサーバ１００の第３のサーバモジュール（ＳＯＡＰ）１２３は、クライアント３００に、ステップＳ１２２の終了要求に対する応答を返す。具体的には、通知部１３２は、各対象サーバモジュールから、動作状態の変更が完了した旨の通知を受け取る。そして、第３のサーバモジュール（ＳＯＡＰ）１２３は、通知部１３２から該通知を受け取り、クライアント３００に応答を返す。
【００９０】
以上説明したように、本実施例では、第３のサーバモジュール（ＳＯＡＰ）１２３が印刷データの高速通信の開始の要求を受け取った第１の場合に、通知部１３２は、第１，第４，第５のサーバモジュール１２１，１２４，１２５に採るべき動作状態（フラグ・優先度）を通知する。これにより、３つのサーバモジュール１２１，１２４，１２５の動作状態が変更され、第６のサーバモジュール１２６の処理を、該３つのサーバモジュール１２１，１２４，１２５の処理よりも優先して実行可能となる。この結果、第６のサーバモジュール（プリンタポート）１２６は、印刷データの受信処理を高速に実行することが可能となる。
【００９１】
なお、上記の説明から分かるように、本実施例における第３のサーバモジュール１２３が特定のサービス部に相当する。また、第６のサーバモジュール１２６が第１のサービス部に相当し、第１，第４，第５のサーバモジュール１２１，１２４，１２５が第２のサービス部に相当する。
【００９２】
また、本実施例では、第３のサーバモジュール（ＳＯＡＰ）２１３が印刷データの高速通信の終了の要求を受け取った第２の場合に、３つのサーバモジュール１２１，１２４，１２５の動作状態が標準の動作状態に戻される。この結果、印刷データの受信が終了すると、各サーバモジュール１２１〜１２６は、クライアント３００からの要求を同じ優先度で処理することができる。
【００９３】
なお、本実施例では、第５のサーバモジュール１２５は、ステップＳ１０６において停止し、ステップＳ１２６において動作を再開する。第５のサーバモジュール１２５の停止期間中には、第５のサーバモジュール１２５に対するサービスの提供の要求が発生しても、第５のサーバモジュール１２５は、該要求に対応するサービスを提供することができない。この場合には、第５のサーバモジュール１２５に対するサービスの提供の要求が禁止されてもよいし、第５のサーバモジュール１２５によるサービスの提供が延期されてもよい。
【００９４】
Ｄ．変形例：
上記実施例では、デバイスサーバ１００は、複数の変更パターン１４６と複数の回復パターン１４８とを備えており、これらのパターン１４６，１４８を用いてサーバモジュールの動作状態が変更されているが、本例では、これらのパターン１４６，１４８が省略されている。
【００９５】
本例では、クライアント３００の第３のクライアントモジュール（ＳＯＡＰ）３２３によって発行される印刷データの高速通信の開始または終了の要求に、各サーバモジュールが採るべき動作状態（フラグ・優先度）が含まれている。
【００９６】
図１０は、変形例における印刷データの高速通信の開始の要求の内容を示す説明図である。なお、図１０に示す内容は、ＳＯＡＰメッセージに含まれるＳＯＡＰボディ内に記述されている。
【００９７】
「Target」タグには、高速通信すべきサーバモジュールが記述されている。図１０では、「Target」として、「Printer Port」すなわち第６のサーバモジュール（プリンタポート）１２６が設定されている。
【００９８】
「Info」タグには、対象サーバモジュールと、該対象サーバモジュールが採るべき動作状態（フラグ・優先度）が記述されている。図１０では、<SLP F="2" P="50"/>，<SNMP F="2" P="50"/>が記述されており、第１のサーバモジュール（ＳＬＰ）１２１および第４のサーバモジュール（ＳＮＭＰ）１２４が優先度「５０」で再起動するように設定されている。また、図１０では、<FTP F="1"/>が記述されており、第５のサーバモジュール（ＦＴＰ）１２５が停止するように設定されている。
【００９９】
上記の説明から分かるように、図１０に示す記述には、図６に示す変更パターン１４６ｘの内容が含まれている。
【０１００】
なお、図１０では、印刷データの高速通信の開始の要求について説明したが、印刷データの高速通信の終了の要求には、図８に示す回復パターン１４８ｘの内容が含まれていればよい。
【０１０１】
上記のように、印刷データの高速通信の開始または終了の要求に、各サーバモジュールが採るべき動作状態が記述されている場合にも、対象サーバモジュールの動作状態を変更することができる。
【０１０２】
特に、本例の構成を採用すれば、デバイスサーバ１００は、複数の変更パターン１４６および複数の回復パターン１４８を備えずに済むという利点がある。ただし、上記実施例の構成を採用すれば、デバイスサーバ１００は、動作状態（フラグ・優先度）をクライアント３００から取得せずに済むため、開始要求や終了要求を含む通信データのサイズを比較的小さくすることができるという利点がある。
【０１０３】
なお、この発明は上記の実施例や実施形態に限られるものではなく、その要旨を逸脱しない範囲において種々の態様において実施することが可能であり、例えば次のような変形も可能である。
【０１０４】
（１）上記実施例では、ステップＳ１０４，Ｓ１０６において、第１および第４のサーバモジュール１２１，１２４の処理の優先度を低下させているが、これに代えて、第２，第３，第６のサーバモジュール１２２，１２３，１２６の処理の優先度を増大させるようにしてもよい。
【０１０５】
一般には、複数のサービス部のうちの第１のサービス部の処理が、第２のサービス部の処理よりも優先して実行されるように、第１のサービス部の優先度が第２のサービス部の優先度よりも高く設定されればよい。
【０１０６】
また、上記実施例では、ステップＳ１０４，Ｓ１０６において、２つのサーバモジュール１２１，１２４の処理の優先度を低下させると共に、１つのサーバモジュール（ＦＴＰ）１２５を停止させているが、これに代えて、３つのサーバモジュール１２１，１２４，１２５の処理の優先度を低下させてもよいし、３つのサーバモジュール１２１，１２４，１２５を停止させてもよい。
【０１０７】
一般には、複数のサービス部のうちの第１のサービス部の処理が、第２のサービス部の処理よりも優先して実行されるように、所定の処理が実行されればよい。
【０１０８】
（２）上記実施例では、印刷データの高速通信の終了の要求に基づいて、すべてのサーバモジュールの動作状態が標準の動作状態に戻されているが、ネットワークの障害等により、該終了要求を受信できない場合も生じ得る。このため、終了要求と共に、あるいは、終了要求に代えて、タイムアウトを利用するようにしてもよい。すなわち、印刷データの高速通信の開始の要求を受け取った後の所定期間が経過したときに、すべてのサーバモジュールの動作状態が標準の動作状態に戻されるようにしてもよい。この場合には、開始要求に、タイムアウトの記述が含まれていればよい。そして、タイムアウトの記述を含む開始要求を受け取った第３のサーバモジュール（ＳＯＡＰ）１２３は、所定期間経過後に回復パターンを選択し、通知部１３２が該回復パターンに登録されたフラグおよび優先度を対象サーバモジュールに通知すればよい。こうすれば、終了要求を受け取らない場合にも、すべてのサーバモジュールの動作状態を確実に変更前の標準の動作状態に戻すことができるという利点がある。ただし、上記実施例のように、終了要求を受け取る場合には、すべてのサービス部の動作状態を比較的早期に変更前の標準の動作状態に戻すことができるという利点がある。
【０１０９】
（３）上記実施例では、印刷データの高速通信の開始の要求に応じて、第６のサーバモジュール（プリンタポート）１２６の処理の優先度が相対的に高く設定されているが、他の要求に応じて、他のサーバモジュールの処理の優先度が相対的に高く設定されてもよい。例えば、ローカルデバイスとしてストレージ装置が利用される場合には、データの高速通信の開始の要求に応じて、第５のサーバモジュール（ＦＴＰ）１２５の処理の優先度が相対的に高く設定されればよい。
【０１１０】
（４）上記実施例では、印刷データの高速通信の開始の要求に応じて、サーバモジュールの動作状態が変更されているが、該開始要求は、省略されてもよい。例えば、データの内容に応じて、サーバモジュールの動作状態が変更されてもよい。具体的には、デバイスサーバ１００が印刷データの受信を開始した際に、サーバモジュールの動作状態が変更されればよい。なお、この場合には、印刷データの受信処理を一旦中断し、サーバモジュールの動作状態が変更された後に、受信処理が再開されればよい。このようにしても、印刷データの高速通信を実現可能である。
【０１１１】
また、上記実施例では、ローカルデバイスとしてプリンタが利用されているが、これに代えて、スキャナが利用されてもよい。この場合には、クライアント３００は、スキャナによって取得された画像データの高速通信の開始を要求し、該要求に応じて、各サーバモジュールの動作状態が変更されればよい。あるいは、この場合には、スキャナに設けられたスキャニング開始ボタンが選択された際に、各サーバモジュールの動作状態が変更されればよい。
【０１１２】
（５）上記実施例では、ローカルデバイスとしてプリンタが利用されているが、これに代えて、他のローカルデバイスが利用されてもよい。他のローカルデバイスとしては、スキャナの他、ストレージ装置やファクシミリを利用可能である。また、他のローカルデバイスとしては、複数の機能（印刷，スキャナ等）を有する複合機を利用可能である。
【０１１３】
（６）上記実施例において、ハードウェアによって実現されていた構成の一部をソフトウェアに置き換えるようにしてもよく、逆に、ソフトウェアによって実現されていた構成の一部をハードウェアに置き換えるようにしてもよい。
【図面の簡単な説明】
【０１１４】
【図１】ネットワークシステムの構成を示す説明図である。
【図２】図１のネットワークシステムを構成するデバイスサーバ１００とクライアントコンピュータ３００との要部を模式的に示す説明図である。
【図３】通常動作時における動作状態テーブル１４２ａの内容を示す説明図である。
【図４】基本パターン１４４の内容を示す説明図である。
【図５】クライアントコンピュータ３００からデバイスサーバ１００への印刷データの転送処理の手順を示すフローチャートである。
【図６】ステップＳ１０４（図５）で選択された変更パターン１４６ｘの内容を示す説明図である。
【図７】ステップＳ１０６（図５）の処理前および処理後における動作状態テーブル１４２ｂ，１４２ｃの内容を示す説明図である。
【図８】ステップＳ１２４（図５）で選択された回復パターン１４８ｘの内容を示す説明図である。
【図９】ステップＳ１２６（図５）の処理前および処理後における動作状態テーブル１４２ｄ，１４２ｅの内容を示す説明図である。
【図１０】変形例における印刷データの高速通信の開始の要求の内容を示す説明図である。
【符号の説明】
【０１１５】
１００…デバイスサーバ
１１０…制御回路
１１２…処理実行部
１１４…第１の通信制御部
１１６…第２の通信制御部
１２１〜１２６…サーバモジュール
１３０…データベース
１３２…通知部
１４２…動作状態テーブル
１４４…基本パターン
１４６…変更パターン
１４８…回復パターン
１９２…ネットワークＩＦ部
１９８…ＵＳＢホストＩＦ部
２００…プリンタ
２１０…制御回路
２１２…処理実行部
２１６…通信制御部
２８０…プリンタエンジン
２９８…ＵＳＢデバイスＩＦ部
３００…クライアントコンピュータ
３２１〜３２６…クライアントモジュール
ＮＷ…ネットワーク
【図１】
2007199990.tif 000003
【図２】
2007199990.tif 000004
【図３】
2007199990.tif 000005
【図４】
2007199990.tif 000006
【図５】
2007199990.tif 000007
【図６】
2007199990.tif 000008
【図７】
2007199990.tif 000009
【図８】
2007199990.tif 000010
【図９】
2007199990.tif 000011
【図１０】
2007199990.tif 000012