(57)【要約】【課題】  ネットワークサービスと該ネットワークサービスよりも優先度の高い処理の双方を実行する場合、ネットワークサービスの処理が該ネットワークサービスよりも優先度の高い処理に影響を与えてしまう。【解決手段】  所定のネットワークサービスよりも優先度の高い処理に関する情報に基づいて該ネットワークサービスを停止するかを判定する。さらに、該判定に応じてネットワークサービスの停止をネットワーク上の他の装置に通知する。【選択図】  図６
2010117778.tif 000002
【特許請求の範囲】
【請求項１】
通信装置であって、
所定のネットワークサービスを実行する第１の実行手段と、
前記第１の実行手段により実行されるネットワークサービスよりも優先度の高い処理を実行する第２の実行手段と、
前記第２の実行手段により実行される処理に関する情報に基づいて、前記第１の実行手段によるネットワークサービスを停止するかを判定する判定手段と、
前記判定手段による判定に応じて、前記第１の実行手段により実行しているネットワークサービスの停止をネットワーク上の他の装置に通知する通知手段と、
を備えることを特徴とする通信装置。
【請求項２】
前記判定手段が停止すると判定した場合に、前記ネットワークサービスを停止する停止手段をさらに有し、
前記停止手段は、前記通知手段による通知の後に前記ネットワークサービスを停止することを特徴とする請求項１に記載の通信装置。
【請求項３】
前記判定手段は、さらに前記第２の実行手段により実行される処理に関する情報に基づいて、前記ネットワークサービスを起動するかを判定し、
前記通知手段は、前記判定手段により前記ネットワークサービスを起動すると判定された場合、前記ネットワークサービスの起動をネットワーク上の他の装置に通知することを特徴とする請求項１または２に記載の通信装置。
【請求項４】
前記判定手段が起動すると判定した場合に、前記ネットワークサービスを起動する起動手段をさらに有し、
前記起動手段は、前記通知手段により前記ネットワークサービスの起動を通知する前に前記ネットワークサービスを起動することを特徴とする請求項３に記載の通信装置。
【請求項５】
データを記憶する記憶手段をさらに有し、
前記判定手段は、前記記憶手段に記憶されているデータのサイズに基づいて判定することを特徴とする請求項１乃至４のいずれか１項に記載の通信装置。
【請求項６】
前記通信装置を操作するための操作手段をさらに有し、
前記判定手段は、前記操作手段による操作に関する情報に基づいて判定することを特徴とする請求項１乃至４のいずれか１項に記載の通信装置。
【請求項７】
前記ネットワーク上の外部装置からの操作を受け付ける受付手段をさらに有し、
前記判定手段は、前記受付手段により受け付けた操作に関する情報に基づいて判定することを特徴とする請求項１乃至４のいずれか１項に記載の通信装置。
【請求項８】
通信装置の制御方法であって、
所定のネットワークサービスを実行する第１の実行工程と、
前記第１の実行工程において実行されるネットワークサービスよりも優先度の高い処理を実行する第２の実行工程と、
前記第２の実行工程において実行される処理に関する情報に基づいて、前記第１の実行工程におけるネットワークサービスを停止するかを判定する判定工程と、
前記判定工程における判定に応じて、前記第１の実行工程において実行しているネットワークサービスの停止をネットワーク上の他の装置に通知する通知工程と、
を備えることを特徴とする通信装置の制御方法。
【請求項９】
コンピュータにより実行され、通信装置の制御を行うためのプログラムであって、
請求項８に記載の通信装置における制御方法を実現するためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークサービスを行う通信装置、通信装置の制御方法、および、プログラムに関する。
【背景技術】
【０００２】
従来、家電ネットワークシステムにおいて、機器間でコンテンツ（画像や映像など）の相互利用を可能とするためのＤＬＮＡガイドラインが提案されている。ＤＬＮＡとはＤｉｇｉｔａｌ  Ｌｉｖｉｎｇ  Ｎｅｔｗｏｒｋ  Ａｌｌｉａｎｃｅの略である（ｈｔｔｐ：／／ｗｗｗ．ｄｌｎａ．ｏｒｇ／）。
【０００３】
ＤＬＮＡガイドラインにおいては、ネットワークサービスを提供するデジタルメディアサーバー（ＤＭＳ）と、ネットワークサービスを受けるデジタルメディアプレイヤー（ＤＭＰ）とが定義されている。
【０００４】
ＤＭＳとはＤｉｇｉｔａｌ  Ｍｅｄｉａ  Ｓｅｒｖｅｒの略である。また、ＤＭＰとはＤｉｇｉｔａｌ  Ｍｅｄｉａ  Ｐｌａｙｅｒの略である。
【０００５】
ここで、ネットワークサービスとは、例えばＤＭＳがコンテンツ（画像データや映像データ）をＤＭＰに提供するサービスや、ＤＭＰがＤＭＳからコンテンツを取得するサービスである。
【０００６】
また、ネットワークサービスと該ネットワークサービスよりも優先度の高い処理の双方を実行する装置がある。ここで、該ネットワークサービスよりも優先度の高い処理とは、例えばデジタルカメラにおける撮影や画像閲覧等である。
【０００７】
特許文献１には、装置の機器構成の変化により装置が提供可能なネットワークサービスが変化した場合、装置がデバイスディスクリプションを編集し、ネットワークに広告する構成が開示されている。
【特許文献１】特開２００５−１８２４８１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかし、従来においては、ネットワークサービスと該ネットワークサービスよりも優先度の高い処理の双方を実行する場合、ネットワークサービスの処理が該ネットワークサービスよりも優先度の高い処理に影響を与えてしまうという課題があった。
本発明では上記問題点を鑑み、ネットワークサービスよりも優先度の高い処理を実行する装置において、優先度の高い処理に関する情報に応じてネットワークサービスの停止をネットワーク上の他の装置に通知することを目的とする。
【課題を解決するための手段】
【０００９】
前述の課題を解決するために、通信装置であって、所定のネットワークサービスを実行する第１の実行手段と、前記第１の実行手段により実行されるネットワークサービスよりも優先度の高い処理を実行する第２の実行手段と、前記第２の実行手段により実行される処理に関する情報に基づいて、前記第１の実行手段によるネットワークサービスを停止するかを判定する判定手段と、前記判定手段による判定に応じて、前記第１の実行手段により実行しているネットワークサービスの停止をネットワーク上の他の装置に通知する通知手段とを備えることを特徴とする。
【発明の効果】
【００１０】
本発明によれば、ネットワークサービスよりも優先度の高い処理を実行する装置において、優先度の高い処理に関する情報に応じてネットワークサービスの停止をネットワーク上の他の装置に通知することができる。
【発明を実施するための最良の形態】
【００１１】
＜実施形態１＞
本実施形態において、サービス提供装置は優先度の高い処理に関する情報としてバッファメモリに書き込まれたデータのサイズ情報を用いる。
【００１２】
まず、本実施形態における、サービス提供装置およびサービスを利用するクライアント装置の接続関係（システム構成）を、図１を用いて説明する。
【００１３】
図１において、１０１は本実施形態における通信装置としてのサービス提供装置である。サービス提供装置とは、例えばデジタルカメラやビデオカメラ、コンテンツサーバである。１０２は、サービス提供装置１０１が提供するネットワークサービスを利用するクライアント装置である。クライアント装置とは、例えばテレビやプリンタである。なお、クライアント装置は複数あっても構わない。１０３は、ローカルエリアネットワーク（ＬＡＮ）である。
【００１４】
サービス提供装置１０１は、ＤＬＮＡにより規定されるＤＭＳの機能を用いてネットワークサービスを行う。ＤＭＳの機能は、ソフトウェアモジュールとしてサービス提供装置１０１の内部に含まれている。ＤＬＮＡでは、主にＵＰｎＰＴＭで定められたプロトコルを用いてネットワークサービスを行う。ＵＰｎＰとはＵｎｉｖｅｒｓａｌ  Ｐｌｕｇ  ａｎｄ  Ｐｌａｙの略である。
【００１５】
本実施形態においては、サービス提供装置１０１としてデジタルカメラを例に説明するが、本発明はこれに限らず適用可能である。
【００１６】
なお、ＤＭＳの機能をハードウェアとして装置内部に含んでいてもよいし、外部モジュールとして機能を提供されていてもよい。
【００１７】
サービス提供装置１０１のハードウェア構成図を図２に示す。
【００１８】
図２において、２０１はＤＭＳによるサービス制御（ネットワークサービスの機能の起動や停止など）等を実現するＣＰＵである。２０２は、撮影や画像処理等の機器機能を実現するデジタルカメラ部である。デジタルカメラ部２０２は、後述するバッファメモリ等を内部に含んでいる。２０３は、表示器および操作キーを含む操作部である。
【００１９】
２０４は、ＣＰＵ２０１が読み出してＤＭＳによるサービス制御等を実現するためのプログラムなどが記憶されたメモリである。２０５は、サービス提供装置１０１をＬＡＮ１０３と接続するための通信インターフェイスである。２０６はバスである。
【００２０】
デジタルカメラ部２０２のハードウェア構成図を図３に示す。
【００２１】
３０１は、被写体を撮影する撮影部である。３０２は、撮影部３０１による撮影が行われると、画像データを生成する画像データ生成部である。
【００２２】
３０３は、画像データ生成部３０２のワーキングメモリとして使用される高速に読み書きが可能なバッファメモリである。画像データ生成部３０２は、生成した画像データをバッファメモリ３０３に書き出す。
【００２３】
画像データ生成部３０２が撮影した画像データを高速に読み書きが可能なバッファメモリに書き出すことで、デジタルカメラは高速に連続撮影を行うことが可能となる。
【００２４】
３０４は、画像データを格納するストレージである。ＣＰＵ２０１は、バッファメモリ３０３に書き出された画像データをストレージ３０４に書き込む。ＣＰＵ２０１は、ストレージ３０４への書き込みが終了すると、バッファメモリ３０３から該画像データを削除する。
【００２５】
図４は、サービス提供装置１０１のソフトウェアモジュールを示したブロック図である。これらのモジュールは、ＣＰＵ２０１がメモリ２０４のプログラムを読み出して実行することにより実現される。
【００２６】
４０１は、デジタルカメラ部２０２の利用状態を取得するカメラ状態検知モジュールである。カメラ状態検知モジュール４０１は、バッファメモリ３０３に書き込まれている画像データの総サイズを取得する機能を含む。
【００２７】
バッファメモリ３０３に書き込まれている画像データの総サイズは、例えば図５に示すように変化する。
【００２８】
図５において、ｔ５０１は連続撮影を開始する時である。ｔ５０２は、連続撮影を開始した後、画像データの総サイズが閾値である１２８メガバイト以上となった時である。該閾値は、ネットワークサービスを行うかどうかを判定する判定基準として用いる値である。
ｔ５０３は、ＣＰＵ２０１がストレージ３０４に画像データを書き出し、画像データの総サイズが閾値である１２８メガバイト未満となった時である。ｔ５０４は、ストレージ３０４への書き込みが完了する時である。
【００２９】
図４の説明に戻る。
【００３０】
４０２は、画像データの総サイズに基づいて、ネットワークサービスを行うかどうかを判定するカメラ状態判定モジュールである。
【００３１】
４０３は、ネットワークサービスの機能を含むＤＭＳである。４０４は、ＤＭＳ４０３の動作制御を行うＤＭＳコントローラである。
【００３２】
次に、本実施形態におけるクライアント装置１０２について説明する。本実施形態において、クライアント装置１０２はＤＬＮＡにより規定されるＤＭＰ（Ｄｉｇｉｔａｌ  Ｍｅｄｉａ  Ｐｌａｙｅｒ）を実装したパーソナルコンピュータである。
【００３３】
なお、図２乃至図５に示した全ての機能ブロックは、ソフトウェアもしくはハードウェア的に相互関係を有するものである。また、上記機能ブロックは一例であり、複数の機能ブロックが１つの機能ブロックを構成するようにしてもよいし、何れかの機能ブロックが更に複数の機能を行うブロックに分かれてもよい。
【００３４】
図６は、ＣＰＵ２０１がメモリ２０４に記憶されたプログラムを読み出して実行するフローチャートである。
【００３５】
ステップＳ７０１において、ＣＰＵ２０１の指示によりカメラ状態検知モジュール４０１はバッファメモリ３０３にデータの書き込みもしくは削除のイベントが発生したかどうかを判定する。イベントが発生した場合には、ステップＳ７０２に進む。なお、本実施形態において、該イベントの優先度はＤＭＳ４０３の行うネットワークサービスの優先度よりも高い。
【００３６】
ステップＳ７０２において、ＣＰＵ２０１の指示によりカメラ状態検知モジュール４０１はバッファメモリ３０３に書き込まれたデータの総サイズ情報を取得する。ここでは、総サイズ情報として１５２０００００２バイトであることを示す情報を取得したとする。ここで、総サイズとは画像データ生成部３０２が生成した画像データのうち、ストレージ３０４にまだ書き込まれていないデータの総量である。
【００３７】
ステップＳ７０３において、ＣＰＵ２０１の指示によりカメラ状態判定モジュール４０２は該状態情報から、バッファメモリ３０３に書き込まれている画像データの総サイズが、閾値以上であるかどうかの判定を行う。該判定により、閾値以上であると判定された場合にはステップＳ７０４に進む。また、閾値未満であると判定された場合にはステップＳ７０７に進む。
【００３８】
ここで、ＤＬＮＡの規定によりＤＭＳが受けたＳＯＡＰリクエストに対する応答は３０秒以内にしなければならない。ＳＯＡＰとはＳｉｍｐｌｅ  Ｏｂｊｅｃｔ  Ａｃｃｅｓｓ  Ｐｒｏｔｏｃｏｌの略である。ＳＯＡＰは、ＵＰｎＰＴＭで定められたプロトコロルの１つであり、ＳＯＡＰ内に外部装置へのメッセージを記述することで、外部装置に所定の動作を行わせることができる。
【００３９】
また、総サイズが１２８メガバイト以上の画像データをストレージ３０４に書き込むためには、３０秒以上の処理時間を要することとする。
【００４０】
そのため、ここでは閾値として１２８メガバイトを用いる。なお、総サイズが１２８メガバイト以上の画像データは、デジタルカメラで高速の連続撮影を行った場合に生じる可能性がある。
【００４１】
このような閾値を設けることによって、ＣＰＵ２０１はＳＯＡＰリクエストに対する応答処理によって中断されることなく、ストレージ３０４への書き込み処理を行うことができる。
【００４２】
ここでは、バッファメモリ３０３に書き込まれている画像データの総サイズが１５２０００００２バイトであり、閾値は１２８メガバイトであるので、閾値以上であると判定され、ステップＳ７０４に進む。
【００４３】
ステップＳ７０４において、ＣＰＵ２０１の指示によりＤＭＳコントローラ４０４は、ＤＭＳ４０３がネットワークサービスを提供中であるかどうか判定する。ここで、提供中とはサービス提供装置１０１がＵＰｎＰＴＭで定められたプロトコロルの１つであるＳＳＤＰで規定されたａｌｉｖｅメッセージをネットワーク上のクライアント装置１０２に通知した後の状態である。該状態には、クライアント装置１０２からのＤＬＮＡを用いた要求を待機している状態を含む。なお、コンテンツをクライアント装置１０２に実際に提供（送信）している状態も含まれる。なお、ＳＳＤＰとは、Ｓｉｍｐｌｅ  Ｓｅｒｖｉｃｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｐｒｏｔｃｏｌの略である。
【００４４】
ＤＭＳ４０３がネットワークサービスを提供中である場合は、ステップＳ７０５に進む。
【００４５】
ステップＳ７０５において、ＣＰＵ２０１の指示によりＤＭＳ４０３は利用不可能メッセージをネットワーク上のクライアント装置１０２に通知する。該利用不可能メッセージには、ＵＰｎＰＴＭで定められたプロトコロルの１つであるＳＳＤＰで規定されたｂｙｅｂｙｅメッセージを用いる。
【００４６】
ｂｙｅｂｙｅメッセージを受信したクライアント装置１０２は、自身のサーバーリストからサービス提供装置１０１のＤＭＳを削除する。これにより、クライアント装置１０２はＤＬＮＡを用いた要求をサービス提供装置１０１に送らなくなる。従って、サービス提供装置１０１はコンテンツ提供等のサービスを行わなくて良いようになる。
【００４７】
以上のようにして、サービス提供装置１０１は優先度の低い処理に影響されることなく、優先度の高い処理を実行することが可能となる。
【００４８】
ステップＳ７０６において、ＣＰＵ２０１の指示によりＤＭＳコントローラ４０４はＤＭＳ４０３を停止する。
【００４９】
このように、利用不可能メッセージをネットワーク上のクライアント装置１０２に通知した後にＤＭＳを停止することで、クライアント装置がＤＭＳを停止したサービス装置にアクセスすることを防ぐことができる。
【００５０】
一方、ステップＳ７０４において、ＤＭＳ４０３がネットワークサービスを提供中でない（即ち、停止中）と判定された場合は、サービス提供装置１０１はメッセージを送らない。このように、ＤＭＳの状態が変化しない場合には、サービス提供装置はメッセージを送らないので、ネットワークの負荷を軽減することができる。
【００５１】
次に、ステップＳ７０３において、バッファメモリ３０３に書き込まれている画像データの総サイズが、閾値（ここでは、１２８メガバイト）未満であった場合について説明する。このような場合には、ステップＳ７０７に進む。
【００５２】
ステップＳ７０７において、ＣＰＵ２０１の指示によりＤＭＳコントローラ４０４は、ＤＭＳ４０３がネットワークサービスを提供中であるかどうか判定する。ＤＭＳ４０３がネットワークサービスを提供中である場合は、ステップＳ７０８に進む。
【００５３】
ステップＳ７０８において、ＤＭＳコントローラ４０４はＤＭＳ４０３を起動することにより、ＤＭＳ４０３は提供中の状態に移行する。
【００５４】
さらにステップＳ７０９において、ＣＰＵ２０１の指示によりＤＭＳ４０３は利用可能メッセージをネットワーク上のクライアント装置１０２に通知する。該利用可能メッセージには、ＵＰｎＰＴＭで定められたプロトコロルの１つであるＳＳＤＰで規定されたａｌｉｖｅメッセージを用いる。
【００５５】
このように、ＤＭＳを起動した後に利用可能メッセージをネットワーク上のクライアント装置１０２に通知することで、クライアント装置がＤＭＳを停止したサービス装置にアクセスすることを防ぐことができる。
【００５６】
一方、ステップＳ７０７において、ＤＭＳ４０３がネットワークサービスを提供中であると判定された場合は、サービス提供装置１０１はメッセージを送らない。このように、ＤＭＳの状態が変化しない場合にはサービス提供装置はメッセージを送らないので、ネットワークの負荷を軽減することができる。
【００５７】
図７は、サービス提供装置１０１とクライアント装置１０２の動作を示すシーケンスチャートである。
【００５８】
時刻ｔ５０１において、サービス提供装置１０１が連続撮影を始めた。画像データ生成部３０２は、連続撮影した画像データをバッファメモリ３０３に書き込み、その総サイズは１５２０００００２バイトとなる。その際、時刻ｔ５０２において画像データの総サイズが閾値である１２８メガバイト以上となる。
従って、ＣＰＵ２０１はステップステップＳ７０４〜Ｓ７０６を実行する。即ち、サービス提供装置１０１はＤＭＳ利用不可能メッセージをクライアント装置１０２に通知し、さらにＤＭＳ４０３を停止する。
【００５９】
クライアント装置１０２は、サービス提供装置１０１のＤＭＳ利用不可能メッセージを受信し、自身のサーバーリストからサービス提供装置１０１のＤＭＳを削除する。
【００６０】
その後、時刻ｔ５０３において、ＣＰＵ２０１がストレージ３０４に画像データを書き出したことで、画像データの総サイズが閾値である１２８メガバイト未満となる。
【００６１】
従って、ＣＰＵ２０１はステップＳ７０７〜Ｓ７０９を実行する。即ち、ＤＭＳコントローラ４０４はＤＭＳ４０３を起動し、さらにサービス提供装置１０１はＤＭＳ利用可能メッセージをクライアント装置１０２に通知する。
【００６２】
クライアント装置１０２は、サービス提供装置１０１のＤＭＳ利用可能メッセージを受信し、自身のサーバーリストにサービス提供装置１０１のＤＭＳを追加する。
時刻ｔ５０４において、ＣＰＵ２０１は、バッファメモリ３０３からストレージ３０４への時刻ｔ５０１で撮影した画像データの書き込みを完了する。
【００６３】
次に、時刻ｔ８０１において、サービス提供装置１０１が１枚の単撮影を実施する。画像データ生成部３０２は、連続撮影した画像データをバッファメモリ３０３に書き込み、その総サイズは４００００００バイトである。
【００６４】
この場合、カメラ状態判定モジュール４０２はバッファメモリ３０３に書き込まれている画像データの総サイズを閾値未満と判定する。従って、ＣＰＵ２０１はステップＳ７０７を実行する。即ち、サービス提供装置１０１はＤＭＳ利用不可能メッセージの通知を行わず、ＤＭＳ４０３はネットワークサービスを提供したままである。
【００６５】
一方、クライアント装置１０２は、サービス提供装置１０１からのメッセージを受信しないので処理は発生しない。
【００６６】
次に、時刻ｔ８０２において、ＣＰＵ２０１は、バッファメモリ３０３からストレージ３０４への時刻ｔ８０１で撮影した画像データの書き込みを完了する。該書き込みが完了すると、バッファメモリ３０３に書き込まれている画像データの総サイズは閾値未満となる。従って、ＣＰＵ２０１はステップＳ７０７を実行する。即ち、サービス提供装置１０１はＤＭＳ利用不可能メッセージの通知を行わず、ＤＭＳ４０３はネットワークサービスを提供したままである。
【００６７】
一方、クライアント装置１０２は、サービス提供装置１０１からのメッセージを受信しないので処理は発生しない。
【００６８】
図７において、サービス提供装置１０１は２度の撮影処理を行っている。しかし、ＣＰＵ２０１がカメラ状態判定モジュール４０２及び、ＤＭＳコントローラ４０４に上述のフローチャートに示す方法を実施させることにより、ＤＭＳ４０３が停止するのは１回のみとなる。
【００６９】
以上のようにして、サービス提供装置の処理リソースの情報に基づいてネットワークサービスを提供するか否かを変更することができる。
【００７０】
また、ＤＭＳが頻繁に停止することがないので、該ＤＭＳを利用するクライアント装置のユーザの利便性が向上する。
【００７１】
以上、本実施形態によれば、優先度の高いディスクアクセスによる処理負荷が重い場合に、優先度の低いネットワークサービスであるＤＭＳを停止させる。
【００７２】
これにより、クライアント装置に通知するメッセージによるネットワークトラフィックの増加を軽減することができる。また、クライアント装置の処理負荷を軽減することができる。さらに、サービス提供装置の処理負荷が重い場合にはＤＭＳを停止させることでサービス提供装置の主たる機器機能を優先させることができる。
【００７３】
さらには、サービス提供装置を本実施形態の構成とすることで、サービスの提供と停止を切替えることができる。これにより、ユーザは手動でサービスの提供と停止を切替える必要がなくなるため、ユーザの利便性が向上する。
【００７４】
＜実施形態２＞
第２の実施形態において、サービス提供装置は優先度の高い処理に関する情報として、機器機能の処理（画像の拡大、縮小等）に関する情報を用いる。
【００７５】
本実施形態のサービス提供装置１０１およびサービスを利用するクライアント装置１０２の接続形態は、実施形態１と同じである。さらに、サービス提供装置１０１の一例としてのデジタルカメラの構成（図２乃至図４）および、クライアント装置の構成（図６）も実施形態１と同じである。
【００７６】
本実施形態のサービス提供装置１０１のデジタルカメラ部２０２は、操作部２０３を用いてストレージ３０４に格納されている画像データを表示する機能を有する。さらに、デジタルカメラ部２０２は、操作部２０３のキー操作により、画像を拡大または縮小して表示する機能を有する。
【００７７】
本実施形態のカメラ状態検知モジュール４０１は、画像の拡大または縮小を行うキー操作のイベントが発生したことを検知する機能を含む。
【００７８】
また、本実施形態のカメラ状態判定モジュール４０２のソフトウェアモジュール構成を図８に示す。
【００７９】
９０１は、イベントが発生したタイムポイントを取得するタイムモジュールである。該タイムポイントは、サービス提供装置１０１内の不図示の時計から得られる時刻であっても良いし、サービス提供装置１０１内の不図示のカウンタから得られる数値であっても良い。
【００８０】
９０２は、タイムモジュール９０１で取得したタイムポイントをメモリ２０４に記録する記録モジュールである。
【００８１】
９０３は、ＣＰＵ２０１の負荷を判定するＣＰＵ状態判定モジュールである。
本実施形態では、所定の時間のうちに拡大もしくは縮小の操作が所定の回数以上含まれるかどうかに基づいて、ＣＰＵ２０１の負荷を判定する。
【００８２】
図９は、ＣＰＵ２０１がメモリ２０４に記憶されたプログラムを読み出して実行するフローチャートである。
【００８３】
ステップＳ１００１において、ＣＰＵ２０１の指示によりカメラ状態検知モジュール４０１は画像の拡大または縮小を行うキー操作のイベントが発生したかどうかを判定する。該イベントが発生した場合には、ステップＳ１００２に進む。なお、本実施形態において、該イベントの優先度はＤＭＳ４０３の行うネットワークサービスの優先度よりも高い。
【００８４】
ステップＳ１００２において、ＣＰＵ２０１の指示によりタイムモジュール９０１はイベントが発生したタイムポイントを取得する。
【００８５】
ステップＳ１００３において、ＣＰＵ２０１の指示により記録モジュール９０２は、ステップＳ１００２で取得したタイムポイントをメモリ２０４に記録する。
【００８６】
ステップＳ１００４において、ＣＰＵ２０１の指示によりＣＰＵ状態判定モジュール９０３はＣＰＵ２０１の負荷を判定する。ここでは、画像の拡大もしくは縮小のイベントが５秒間に１回以上ある状態が、一定時間以上（ここでは、１０秒以上）続いているかどうかを基準量として判定する。このとき、ＣＰＵ状態判定モジュール９０３は、ステップＳ１００３においてメモリ２０４に記録した情報に基づいて該判定を行う。
【００８７】
イベントが５秒間に１回以上ある状態が、１０秒以上続いている（基準量以上の操作）と判定された場合にはステップＳ１００５に進む。一方、続いていない（基準量未満の操作）と判定された場合にはステップＳ１００８に進む。
【００８８】
ステップＳ１００５において、ＣＰＵ２０１の指示によりＤＭＳコントローラ４０４は、ＤＭＳ４０３が動作中であるかどうか判定する。ＤＭＳ４０３が動作中である場合は、ステップＳ１００６に進む。
【００８９】
ステップＳ１００６において、ＣＰＵ２０１の指示によりＤＭＳ４０３は利用不可能メッセージをネットワーク上のクライアント装置１０２に通知する。該利用不可能メッセージにはｂｙｅｂｙｅメッセージを用いる。
【００９０】
ステップＳ１００７において、ＣＰＵ２０１の指示によりＤＭＳコントローラ４０４はＤＭＳ４０３を停止する。
【００９１】
このように、利用不可能メッセージをネットワーク上のクライアント装置に通知した後に、ＤＭＳを停止することで、クライアント装置がＤＭＳを停止したサービス装置にアクセスすることを防ぐことができる。
【００９２】
一方、ステップＳ１００５において、ＤＭＳ４０３が動作中でないと判定された場合は、サービス提供装置１０１はメッセージを送らない。このように、ＤＭＳの動作状態が変化しない場合には、サービス提供装置はメッセージを送らないので、ネットワークの負荷を軽減することができる。
【００９３】
次に、ステップＳ１００４において、イベントが５秒間に１回以上ある状態が、１０秒以上続いていないと判定された場合について説明する。このような場合には、ステップＳ１００８に進む。
【００９４】
ステップＳ１００８において、ＣＰＵ２０１の指示によりＤＭＳコントローラ４０４は、ＤＭＳ４０３が動作中であるかどうか判定する。ＤＭＳ４０３が動作中である場合は、ステップＳ１００９に進む。
【００９５】
ステップＳ１００９において、ＣＰＵ２０１の指示によりＤＭＳコントローラ４０４はＤＭＳ４０３を起動する。
【００９６】
さらにステップＳ１０１０において、ＣＰＵ２０１の指示によりＤＭＳ４０３は利用可能メッセージをネットワーク上のクライアント装置１０２に通知する。該利用可能メッセージにはａｌｉｖｅメッセージを用いる。
【００９７】
一方、ステップＳ１００８において、ＤＭＳ４０３が動作中であると判定された場合は、サービス提供装置１０１はメッセージを送らない。このように、ＤＭＳの動作状態が変化しない場合には、サービス提供装置はメッセージを送らないので、ネットワークの負荷を軽減することができる。
【００９８】
前述したように、本実施形態では、所定の時間のうちに拡大もしくは縮小の操作が所定の回数以上含まれるかどうかで、ＣＰＵ２０１の負荷を判定する。むろん、ＣＰＵ２０１の負荷を判定できるものであれば別の基準を用いてもかまわない。
【００９９】
例えば、デジタルカメラ部２０２がオートフォーカスを行う回数を基準としてもよい。また、ＣＰＵ２０１の使用率が閾値以上である場合は負荷があるとしてステップＳ１００５に進むようにしてもよい。また、撮影画像にノイズリダクション処理を行う必要がある場合は負荷があるとしてステップＳ１００５に進むようにするなど、処理の内容を基準としてもよい。また、実施形態１のカメラ状態判定モジュール４０２の処理と併用して使用することもできる。
【０１００】
これにより、クライアント装置に通知するメッセージによるネットワークトラフィックの増加を軽減することができる。また、クライアント装置の処理負荷を軽減することができる。
【０１０１】
さらに、サービス提供装置の優先度の高い処理の負荷が重い場合には優先度の低いＤＭＳを停止させる。これにより、サービス提供装置の主たる機器機能を優先させることができる。
【０１０２】
さらには、サービス提供装置を本実施形態の構成とすることで、サービスの動作と停止を切替えることができる。これにより、ユーザは手動でサービスの動作と停止を切替える必要がなくなるため、ユーザの利便性が向上する。
【０１０３】
＜実施形態３＞
第３の実施形態では、優先度の異なる複数種類のネットワークサービスを実行するサービス提供装置について説明する。
【０１０４】
サービス提供装置は優先度の高い処理に関する情報として、サービス提供装置にアクセスした装置の台数を用いる。ここで用いるサービス提供装置にアクセスした装置の台数とは、優先度の高いネットワークサービスをサービス提供装置に行わせるために、サービス提供装置にアクセスした装置の台数である。
【０１０５】
本実施形態のサービス提供装置１０１およびサービスを利用するクライアント装置１０２の接続形態を図１０に示す。１１０１および１１０２は、サービス提供装置１０１を遠隔操作するためのリモコン装置である。なお、リモコン装置は２台に限らず、１台であってもよいし、３台以上であっても良い。
【０１０６】
該遠隔操作はネットワークサービスの一種であり、シャッターを切る操作や、オートフォーカス等の操作のことである。また、本実施形態の該遠隔操作はプロトコルとしてＨＴＴＰを用いて行われ、ＤＭＳ４０３は処理に関与しない。
【０１０７】
また、本実施形態において、該遠隔操作の優先度はＵＰｎＰＴＭに準拠したＤＭＳ４０３が行うネットワークサービスの優先度よりも高いものとする。なお、ＵＰｎＰＴＭに準拠しＤＭＳ４０３が行うネットワークサービスとは、サービス提供装置１０１がコンテンツをクライアント装置１０２に提供するサービスである。
【０１０８】
本実施形態では、サービス提供装置１０１の構成（図２〜図４）は実施形態１および２と同様である。以下、優先度の高い遠隔操作を行う装置としてリモコン装置１１０１を用いるものとして説明する。
サービス提供装置１０１のデジタルカメラ部２０２は、通信インターフェイス２０５を通して、リモコン装置１１０１からの遠隔操作を受け付け、該操作を実行する。
【０１０９】
例えばリモコン装置１１０１が「ｈｔｔｐ：／／ｃａｍｅｒａ／ａｐｉ／Ｒｅｌｅａｓｅ」といったＵＲＬをリクエストする。該リクエストを、通信インターフェイス２０５を介してカメラ状態検知モジュール４０１が検知する。該検知されたリクエストに基づいて、撮影部３０１がレリーズを実施する。このようにして、遠隔操作が実行される。
【０１１０】
また、カメラ状態検知モジュール４０１は、デジタルカメラ部２０２への遠隔操作のためのリクエストのヘッダ情報から、アクセスしてきたリモコン装置のＩＰアドレスを示す「ＲＥＭＯＴＥ＿ＨＯＳＴ」ヘッダの値の文字列を抽出するモジュールを含む。本実施形態のカメラ状態判定モジュール４０２のソフトウェアモジュール構成を図１１に示す。
【０１１１】
１２０１は、リモコン装置１１０１から、遠隔操作のためのリクエストを受け付けたタイムポイントを取得するタイムモジュールである。該タイムポイントは、サービス提供装置１０１内の不図示の時計から得られる時刻であっても良いし、サービス提供装置１０１内の不図示のカウンタから得られる数値であっても良い。
【０１１２】
１２０２は、カメラ状態検知モジュール４０１が抽出したリモコン装置１１０１のＩＰアドレスに基づいて図１２に示すデータベース１３００を作成するデータベース操作モジュールである。また、データベース操作モジュール１２０２は、作成したデータベース１３００をメモリ２０４に記憶する。また、データベース操作モジュール１２０２は、メモリ２０４から該記憶されたデータベース１３００を読み出す。さらに、データベース操作モジュール１２０２は、データベース１３００を監視し、書き込みから１０秒以上たったデータを削除する。このように削除を行うことで、メモリの節約をすることができる。
【０１１３】
１２０３は、優先度の高いネットワークサービスである遠隔操作を行うために、所定時間内にサービス提供装置にアクセスした装置の台数をカウントするネットワーク状態判定モジュールである。
【０１１４】
図１２において、１３００は、優先度の高い処理を行うためにネットワークを介して該サービス装置にアクセスしたリモコン装置を示すデータベースである。列１３０１は、カメラ状態検知モジュール４０１が抽出したネットワーク上の他の装置のＩＰアドレスを表す。また、列１３０２はカメラ状態検知モジュール４０１がデジタルカメラ部２０２への遠隔操作のためのリクエストを受け付けたタイムポイントを表す。
【０１１５】
図１３は、ＣＰＵ２０１がメモリ２０４に記憶されたプログラムを読み出して実行するフローチャートである。
【０１１６】
ステップＳ１４０１において、ＣＰＵ２０１の指示によりカメラ状態検知モジュール４０１は、優先度の高い操作のためのリクエストを受け付けたかどうかを判定する。該リクエストを受け付けた場合には、ステップＳ１４０２に進む。
【０１１７】
ステップＳ１４０２において、ＣＰＵ２０１の指示によりデータベース操作モジュール１２０２は、タイムモジュール１２０１からタイムポイントを取得する。さらに、ＣＰＵ２０１の指示によりデータベース操作モジュール１２０２は、該取得したタイムポイントと共に前記リクエストを送信した他の装置のＩＰアドレスをメモリ２０４に記憶されているデータベース１３００に書き込む。
【０１１８】
ステップＳ１４０３において、ＣＰＵ２０１の指示によりデータベース操作モジュール１２０２はメモリ２０４に記憶されているデータベース１３００のタイムポイントを参照し、一定時間以上経過しているＩＰアドレスとタイムポイントの組があるかを判定する。
【０１１９】
該判定により、一定時間以上経過している組がある場合には、ステップＳ１４０４に進む。一方、そのような組がない場合には、ステップＳ１４０５に進む。
【０１２０】
ステップＳ１４０４において、ＣＰＵ２０１の指示によりデータベース操作モジュール１２０２は一定時間以上経過しているＩＰアドレスとタイムポイントの組をデータベース１３００から削除する。ここでは、１０秒以上経過している組をデータベース１３００から削除するものとする。
【０１２１】
これにより、一定時間内に優先度の高い遠隔操作のためのリクエストを送信した他の装置のＩＰアドレスのみをデータベース１３００に記憶しておくことができる。
【０１２２】
ステップＳ１４０５において、ＣＰＵ２０１の指示によりネットワーク状態判定モジュール１２０３は、データベース１３００にＩＰアドレスが２つ以上記憶されているかどうかを判定する。
該判定により、ＩＰアドレスが２つ以上記憶されていたと判定された場合にはステップＳ１４０６に進む。一方、記憶されていないと判定された場合にはステップＳ１４０９に進む。
【０１２３】
ステップＳ１４０６において、ＣＰＵ２０１の指示によりＤＭＳコントローラ４０４は、ＤＭＳ４０３が動作中であるかどうか判定する。ＤＭＳ４０３が動作中である場合は、ステップＳ１４０７に進む。
【０１２４】
ステップＳ１４０７において、ＣＰＵ２０１の指示によりＤＭＳ４０３は利用不可能メッセージをネットワークに通知する。該利用不可能メッセージには、ｂｙｅｂｙｅメッセージを用いる。
【０１２５】
ステップＳ１４０８において、ＣＰＵ２０１の指示によりＤＭＳコントローラ４０４はＤＭＳ４０３を停止する。
【０１２６】
このように、利用不可能メッセージをネットワーク上のクライアント装置１０２に通知した後に、優先度の低いネットワークサービスであるＤＭＳを停止する。これにより、クライアント装置がＤＭＳを停止したサービス装置にＤＭＳ４０３が行うネットワークサービスを要求しないようにすることが可能となる。
【０１２７】
一方、ステップＳ１４０６において、ＤＭＳ４０３が動作中でないと判定された場合は、サービス提供装置１０１はメッセージを送らない。このように、ＤＭＳの動作状態が変化しない場合には、サービス提供装置はメッセージを送らないので、ネットワークの負荷を軽減することができる。
次に、ステップＳ１４０５において、ＩＰアドレスが２つ以上記憶されていないと判定された場合について説明する。このような場合には、ステップＳ１４０９に進む。
【０１２８】
ステップＳ１４０９において、ＣＰＵ２０１の指示によりＤＭＳコントローラ４０４は、ＤＭＳ４０３が動作中であるかどうか判定する。ＤＭＳ４０３が動作中である場合は、ステップＳ１４１０に進む。
【０１２９】
ステップＳ１４１０において、ＣＰＵ２０１の指示によりＤＭＳコントローラ４０４はＤＭＳ４０３を起動する。
【０１３０】
さらにステップＳ１４１１において、ＣＰＵ２０１の指示によりＤＭＳ４０３は利用可能メッセージをネットワーク上のクライアント装置１０２に通知する。該利用可能メッセージには、ａｌｉｖｅメッセージを用いる。
【０１３１】
一方、ステップＳ１４０９において、ＤＭＳ４０３が動作中であると判定された場合は、サービス提供装置１０１はメッセージを送らない。このように、ＤＭＳの状態が変化しない場合には、サービス提供装置はメッセージを送らないので、ネットワークの負荷を軽減することができる。
【０１３２】
以上のようにして、１０秒以内に２つ以上地点（ＩＰアドレス）のリモコン装置から優先度の高い遠隔操作が行われた場合には、優先度の低いネットワークサービスを停止する。むろん、優先度の高いネットワークサービスに関する情報あれば別の情報を用いてもかまわない。
【０１３３】
例えば、１０秒以内に２回以上、優先度の高い遠隔操作が行われた場合には、優先度の低いネットワークサービスを停止するようにしてもよい。
【０１３４】
本実施形態によれば、優先度高い遠隔操作の負荷が重くなったときには、優先度の低いネットワークサービス（ここでは、ＤＭＳによる処理）より優先してその処理を行うことができる。
【０１３５】
なお、優先度は本実施形態と異なるように設定されていてもよいし、ユーザにより設定されるものであってもよい。
【０１３６】
また、以上に示した、実施形態１〜３の実施形態を組み合わせて用いても良い。
【０１３７】
また、実施形態１〜３ではＤＭＳの場合について説明したが、ＤＭＰであっても良い。
【０１３８】
また、ＵＰｎＰＴＭに準拠したＤＭＳ４０３が行うネットワークサービスが複数ある場合、優先度の高い処理に関する情報に応じて、ＤＭＳ４０３は複数のネットワークサービスのうち、一部のネットワークサービスを停止させるようにしても良い。
【０１３９】
例えば、ＤＭＳ４０３が行うネットワークサービスとして、コンテンツの提供と、リモコン装置からのレリーズ等のカメラ操作があるとする。また、該ネットワークサービスの優先度よりも、サービス提供装置１０１の操作部２０３で行われる操作（例えば、画像閲覧時の拡大や縮小等）の優先度が高いものとする。
【０１４０】
この場合において、操作部２０３で行われる操作に関する情報に基づいて、ＤＭＳ４０３が行うネットワークサービスのうち、コンテンツの提供だけを停止させる。
【０１４１】
ここで、操作部２０３で行われる操作に関する情報とは、例えば画像閲覧時の拡大や縮小の操作が５秒間に１回以上ある状態が、１０秒以上続いている等である。
【０１４２】
具体的に、一部のネットワークサービスを停止させるには、ＤＭＳ４０３が提供するネットワークサービスについて記述されたデバイスディスクリプションを更新し、クライアント装置に通知することによって行われる。
【０１４３】
以上のようにして、クライアント装置に通知するメッセージによるネットワークトラフィックの増加を軽減することができる。また、クライアント装置の処理負荷を軽減することができる。さらに、サービス提供装置の優先度の高い処理の負荷が重い場合にはＤＭＳを停止させることでサービス提供装置の主たる機器機能を優先させることができる。これにより、ネットワークサービスに影響されることなく、連続撮影等を行うことができ、ユーザの利便性が向上する。
【０１４４】
さらには、サービス提供装置を本実施形態の構成とすることで、サービスの稼働と停止を切替えることができる。これにより、ユーザは手動でサービスの稼働と停止を切替える必要がなくなるため、ユーザの利便性が向上する。
【０１４５】
以上説明した通信装置は、図１４のように表すこともできる。
【０１４６】
１５００は、通信装置である。１５０１は、所定のネットワークサービスを実行する第１の実行部である。
【０１４７】
１５０２は、第１の実行部１５０１により実行されるネットワークサービスよりも優先度の高い処理を実行する第２の実行部である。
【０１４８】
１５０３は、第２の実行部１５０２により実行される処理に関する情報に基づいて、第１の実行部１５０１によるネットワークサービスを停止するか、起動するかを判定する判定部である。
【０１４９】
１５０４は、判定部１５０３による判定に応じて、第１の実行部１５０１により実行しているネットワークサービスの停止をネットワーク上の他の装置に通知する通知部である。
【０１５０】
１５０５は、判定部１５０３が停止すると判定した場合に、ネットワークサービスを停止する停止部である。１５０６は、判定部１５０３が起動すると判定した場合に、ネットワークサービスを起動する起動部である。
【０１５１】
１５０７は、データを記憶する記憶部である。１５０８は、通信装置１５００を操作するための操作部である。１５０９は、ネットワーク上の他の装置からの操作を受け付ける受付部である。
【０１５２】
本発明の範囲には、以下の形態も含まれる。即ち、ＣＰＵ２０１が実行する処理を含む機能を実現するソフトウェアのプログラムコードを記録した記録媒体を、システムあるいは装置に供給する。そして、そのシステムあるいは装置のコンピュータ（またはＣＰＵまたはＭＰＵ）が記録媒体に格納されたプログラムコードを読み出し実行する。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現し、そのプログラムコードを記憶した記憶媒体は本発明を構成する。
【０１５３】
プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤなどを用いることができる。
【０１５４】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施例の機能が実現される形態には限られず、以下の形態も本発明に含まれる。すなわち、その形態では、そのプログラムコードの指示に基づき、コンピュータ上で動作しているＯｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ（ＯＳ）などが実際の処理の一部または全部を行う。そして、その処理によって前述した実施例の機能が実現される。
【０１５５】
さらに、以下の形態も含まれる。すなわち、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書きこまれる。その後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される。
【図面の簡単な説明】
【０１５６】
【図１】実施形態１および２のシステム構成図。
【図２】サービス提供装置１０１のハードウェア構成図。
【図３】デジタルカメラ部２０２のハードウェア構成図。
【図４】サービス提供装置１０１のソフトウェアモジュールを示す図。
【図５】バッファメモリ３０３に書き込まれている画像データの総サイズを示す図。
【図６】実施形態１のＣＰＵ２０１が実行するフローチャート。
【図７】サービス提供装置１０１とクライアント装置１０２の動作を示すシーケンスチャート。
【図８】実施形態２のカメラ状態判定モジュール４０２のソフトウェアモジュールを示す図。
【図９】実施形態２のＣＰＵ２０１が実行するフローチャート。
【図１０】実施形態３のシステム構成図。
【図１１】実施形態３のカメラ状態判定モジュール４０２のソフトウェアモジュールを示す図。
【図１２】データベースを示す図。
【図１３】実施形態３のＣＰＵ２０１が実行するフローチャート。
【図１４】サービス提供装置１０１の機能ブロック図。
【符号の説明】
【０１５７】
１０１  サービス提供装置
１０２  クライアント装置
１０３  ＬＡＮ
１１０１  リモコン装置
１１０２  リモコン装置
【図１】
2010117778.tif 000003
【図２】
2010117778.tif 000004
【図３】
2010117778.tif 000005
【図４】
2010117778.tif 000006
【図５】
2010117778.tif 000007
【図６】
2010117778.tif 000008
【図７】
2010117778.tif 000009
【図８】
2010117778.tif 000010
【図９】
2010117778.tif 000011
【図１０】
2010117778.tif 000012
【図１１】
2010117778.tif 000013
【図１２】
2010117778.tif 000014
【図１３】
2010117778.tif 000015
【図１４】
2010117778.tif 000016