(57)【要約】【課題】  クライアント機器からダウンロードサーバへのアクセス集中を分散させトラヒックピークを平滑化すること。【解決手段】  クライント機器は、ネットワークを介してダウンロードファイルを配信可能なダウンロードサーバのアドレス及びダウンロードサーバへのアクセスを時間的に規制するための第１のパラメータを含むファイルの配信をサーバに対して要求する。サーバは、クライント機器からの要求に応じて、ファイルをクライント機器に配信する。クライント機器は、要求に応じてサーバから配信されたファイルに含まれた第１のパラメータに基づいた時刻に、ダウンロードサーバへアクセスする。【選択図】  図１
2008310750.tif 000002
【特許請求の範囲】
【請求項１】
クライント機器との間でネットワークを介して接続可能にされたサーバであって、
前記ネットワークを介して前記クライアント機器に対してダウンロードファイルを配信可能なダウンロードサーバのアドレス及び前記クライント機器から前記ダウンロードサーバへのアクセスを時間的に規制するための第１のパラメータを含むファイルを生成する手段と、
前記クライント機器からの要求に応じて、前記ファイルを前記クライント機器に配信する手段と
を具備することを特徴とするサーバ。
【請求項２】
請求項１に記載のサーバであって、
前記第１のパラメータは、前記クライント機器から前記ダウンロードサーバへのアクセスするための待ち時間を規定するものであることを特徴とするサーバ。
【請求項３】
請求項１に記載のサーバであって、
前記第１のパラメータは、前記クライント機器から前記ダウンロードサーバへのアクセスする期間を規定するものであることを特徴とするサーバ。
【請求項４】
請求項１に記載のサーバ機器であって、
前記第１のパラメータは、前記クライント機器から前記ダウンロードサーバへのアクセスする期間及び当該期間内での待ち時間を規定するものであることを特徴とするサーバ機器。
【請求項５】
請求項１に記載のサーバであって、
前記ダウンロードサーバの負荷状況に応じて前記第１のパラメータを最適化する手段を更に具備することを特徴とするサーバ。
【請求項６】
請求項１に記載のサーバであって、
前記生成されるファイルは、前記クライント機器からの前記ファイルの配信要求を時間的に規制するための第２のパラメータを含むことを特徴とするサーバ。
【請求項７】
請求項６に記載のサーバであって、
前記サーバの負荷状況に応じて前記第２のパラメータを最適化する手段を更に具備することを特徴とするサーバ。
【請求項８】
ネットワークを介してダウンロードファイルを配信可能なダウンロードサーバのアドレス及び前記ダウンロードサーバへのアクセスを時間的に規制するための第１のパラメータを含むファイルの配信をサーバに対して要求する手段と、
前記要求に応じてサーバから配信されたファイルに含まれた前記第１のパラメータに基づいた時刻に、前記ダウンロードサーバへアクセスする手段と
を具備することを特徴とするクライアント機器。
【請求項９】
請求項８に記載のクライント機器であって、
前記配信要求手段は、前記ファイルに含まれた前記サーバに対して前記ファイルの配信要求を時間的に規制するための第２のパラメータに基づいた時刻に前記ファイルの配信をサーバに対して要求することを特徴とするクライアント機器。
【請求項１０】
ネットワークを介してダウンロードファイルを配信可能なダウンロードサーバのアドレス及び前記ダウンロードサーバへのアクセスを時間的に規制するための第１のパラメータを含むファイルの配信をサーバに対して要求し、
前記要求に応じてサーバから配信されたファイルに含まれた前記第１のパラメータに基づいた時刻に、前記ダウンロードサーバへアクセスする
ことをクライント機器に実行させることを特徴とするプログラム。
【請求項１１】
クライント機器が、ネットワークを介してダウンロードファイルを配信可能なダウンロードサーバのアドレス及び前記ダウンロードサーバへのアクセスを時間的に規制するための第１のパラメータを含むファイルの配信をサーバに対して要求し、
前記サーバが、前記クライント機器からの要求に応じて、前記ファイルを前記クライント機器に配信し、
前記クライント機器が、前記要求に応じてサーバから配信されたファイルに含まれた前記第１のパラメータに基づいた時刻に、前記ダウンロードサーバへアクセスする
ことを特徴とするダウンロード方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば動画などファイルをネットワークを介して配信、あるいはダウンロードするためのサーバ、クライント機器、プログラム及びダウンロード方法に関する。
【背景技術】
【０００２】
従来から、クライアント機器がサーバからファイルを取得する場合、何かしらのイベント（例、ユーザ操作、タイマー機能を用いたアプリケーション）をトリガーに、そのファイルが保存されたサーバへアクセスを行う。しかし、それらのトリガーとなるクライアント側のイベントは、サービス事業者側で制御できないため、クライアント機器からサーバへのアクセスが集中し、サーバやネットワークのキャパシティを超過した時点でファイル取得ができなくなるという欠点があった。特に、この問題はファイルサイズ、クライアント機器数の増加に比例して発生しやすくなる。
【０００３】
このような問題を回避するために、多くのサービス事業者（サーバ管理者）は、トラヒックピークを鑑みた各種リソース（サーバ、ネットワークリソース等）を確保している。しかし、トラヒックピークにあわせてリソースを常時確保しておくことは、ピーク時以外に余剰リソースを抱えることとなりシステム構築初期費用／運用費用のコスト高となる。また、ユーザ操作をトリガーとしたアクセスは、サービス事業者（サーバ管理者）からみた場合、いつ発生するとも予測不能、制御不能な為、サービス事業者（サーバ管理者）は、常にサービスが提供できるようなシステム運用を余儀なくされている。
【０００４】
特許文献１には、動画を提供するサーバ以外に管理サーバなどを別に設けた分散型のシステムが開示されている。  
【特許文献１】特開２００６−１３５８１１号公報（請求項１参照）
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１に開示された技術であっても結局はトラヒックピークにあわせてリソースを常時確保しておく必要があり、本質的な問題を解決することができない。
【０００６】
以上のような事情に鑑み、本発明の目的は、クライアント機器からダウンロードサーバへのアクセス集中を分散させトラヒックピークを平滑化することが可能なサーバ、クライント機器、プログラム及びダウンロード方法を提供することにある。
【課題を解決するための手段】
【０００７】
かかる課題を解決するため、本発明に係るサーバは、クライント機器との間でネットワークを介して接続可能にされたサーバであって、前記ネットワークを介して前記クライアント機器に対してダウンロードファイルを配信可能なダウンロードサーバのアドレス及び前記クライント機器から前記ダウンロードサーバへのアクセスを時間的に規制するための第１のパラメータを含むファイルを生成する手段と、前記クライント機器からの要求に応じて、前記ファイルを前記クライント機器に配信する手段とを具備する。
【０００８】
本発明では、サーバからのコントロールでクライント機器からダウンロードサーバへのアクセスのタイミングをクライント機器ごとに設定できるので、クライアント機器からダウンロードサーバへのアクセス集中を分散させトラヒックピークを平滑化することが可能となる。
【０００９】
第１のパラメータは、前記クライント機器から前記ダウンロードサーバへのアクセスするための待ち時間を規定するものであることが好ましく、また第１のパラメータは、前記クライント機器から前記ダウンロードサーバへのアクセスする期間を規定するものであることが好ましい。或いは、第１のパラメータは、前記クライント機器から前記ダウンロードサーバへのアクセスする期間及び当該期間内での待ち時間を規定するものであることが好ましい。
【００１０】
生成されるファイルは、前記クライント機器からの前記ファイルの配信要求を時間的に規制するための第２のパラメータを含むようにしても構わない。これにより、サーバへのアクセスの集中も回避できる。
【００１１】
ここで、ダウンロードサーバの負荷状況に応じて前記第１のパラメータを最適化する手段を更に具備するようにしてもよく、サーバの負荷状況に応じて前記第２のパラメータを最適化する手段を更に具備するようにしてもよい。ここで、ダウンロードサーバの負荷状況に応じて第１のパラメータを最適化する手段としては、例えばダウンロードサーバの負荷状況に第１のパラメータを可変する手段であってもよい。サーバの負荷状況に応じて第２のパラメータを最適化する手段としては、例えばサーバの負荷状況に応じて第２のパラメータを可変する手段であってもよい。
【００１２】
ユーザ操作あるいは、見積もりミスにより、想定外のアクセスが集中した場合、システム管理者は、そのアクセス状況を元に、サーバにおかれたファイルのパラメータを最適化しなければならず、運用負荷(運用工数)の増大が懸念される。そこで、ファイルにて指定するパラメータを例えばサーバ側のリソース使用状態から自動で判別、算出し、パラメータ値を自動で最適化する仕組みを例えばサーバへ持たせる。これにより、一層精度の高い負荷分散を低工数で実現可能とする。
【００１３】
本発明に係るクライアント機器は、ネットワークを介してダウンロードファイルを配信可能なダウンロードサーバのアドレス及び前記ダウンロードサーバへのアクセスを時間的に規制するための第１のパラメータを含むファイルの配信をサーバに対して要求する手段と、前記要求に応じてサーバから配信されたファイルに含まれた前記第１のパラメータに基づいた時刻に、前記ダウンロードサーバへアクセスする手段とを具備する。これにより、クライアント機器からダウンロードサーバへのアクセス集中を分散させトラヒックピークを平滑化することが可能となる。
【００１４】
配信要求手段は、前記ファイルに含まれた前記サーバに対して前記ファイルの配信要求を時間的に規制するための第２のパラメータに基づいた時刻に前記ファイルの配信をサーバに対して要求するようにしてもよい。これにより、サーバへのアクセスの集中も回避できる。
【００１５】
本発明に係るクライント機器に実行させるプログラムは、ネットワークを介してダウンロードファイルを配信可能なダウンロードサーバのアドレス及び前記ダウンロードサーバへのアクセスを時間的に規制するための第１のパラメータを含むファイルの配信をサーバに対して要求し、前記要求に応じてサーバから配信されたファイルに含まれた前記第１のパラメータに基づいた時刻に、前記ダウンロードサーバへアクセスするものである。これにより、クライアント機器からダウンロードサーバへのアクセス集中を分散させトラヒックピークを平滑化することが可能となる。
【００１６】
本発明に係るダウンロード方法は、クライント機器が、ネットワークを介してダウンロードファイルを配信可能なダウンロードサーバのアドレス及び前記ダウンロードサーバへのアクセスを時間的に規制するための第１のパラメータを含むファイルの配信をサーバに対して要求し、前記サーバが、前記クライント機器からの要求に応じて、前記ファイルを前記クライント機器に配信し、前記クライント機器が、前記要求に応じてサーバから配信されたファイルに含まれた前記第１のパラメータに基づいた時刻に、前記ダウンロードサーバへアクセスすることを特徴とする。これにより、クライアント機器からダウンロードサーバへのアクセス集中を分散させトラヒックピークを平滑化することが可能となる。
【発明の効果】
【００１７】
以上のように、本発明によれば、クライアント機器からダウンロードサーバへのアクセス集中を分散させトラヒックピークを平滑化することができる。
【発明を実施するための最良の形態】
【００１８】
以下、本発明の実施の形態について図面を参照しながら説明する。  
図１は、本発明の一実施形態に係るクライアント／サーバシステムを示す概念図である。  
図１に示すように、クライアント／サーバシステム１００では、ＤＶＲやＴＶなどの複数のクライアント機器１がインターネットなどのネットワーク１０１を介してサーバ２や複数のダウンロードサーバ３などとの間で接続できるように構成されている。クライアント機器１とサーバ２との間は、例えばポーリング通信やＰ２Ｐ（Ｐｅｅｒ  Ｔｏ  Ｐｅｅｒ）などにより通信が行われ、サーバ２からクライアント機器２へ、ダウンロードサーバ３へのアクセスに係る制御情報が記述されたファイル（以下、このファイルを「ファイルＢ」とする。）が配信される。なお、ダウンロードサーバ３からクライアント機器２へダウンロードされるファイル（映画などの動画フィアルや当該クライアント機器１に対するアップデートファイルなど）をファイルＡとする。
【００１９】
図２はクライアント機器１、サーバ２及びダウンロードサーバ３の構成を示すブロック図である
図２に示すように、クライアント機器１は、ＵＩ（Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）アプリケーション部４、アップデートスクリプト部５、アップデートエージェント部６、インターフェース部７及びクライアント機器共通ライブラリ部８を有している。
【００２０】
ＵＩアプリケーション部４は、図示を省略した入力部からのユーザの情報入力の操作をトリガーとしてアップデートエージェント部６に、ファイルＢ取得要求、ファイルＡ取得要求処理開始指示及びファイルＡ取得要求処理終了指示を行う。
【００２１】
アップデートスクリプト部５は、例えばクライアント機器１がダウンロードサーバ３からダウンロードしたファイルＡがアップデートファイルである場合には、アップデートファイルに基づきクライアント機器１のソフトウェアを更新する。
【００２２】
アップデートエージェント６部は、ＵＩアプリケーション部４、インターフェース部７、アップデートスクリプト部５から、ダウンロード、アップデートに関わる要求／処理結果応答を受け、クライアント機器１のアップデート処理を制御する。
【００２３】
より具体的なアップデート制御は、例えば以下の通りである。  
（１）クライアント機器１の電源ＯＮ操作時に、アップデートエージェント部６とインターフェース部７を起動する。  
（２）ＵＩアプリケーション部４からの手動アップデート指示を受付け、インターフェース部７へ通知する。  
（３）インターフェース部７は、サーバ２、ダウンロードサーバ３と通信を行い、アップデートファイルをダウンロードする。
（４）インターフェース部７からのアップデートファイルダウンロード処理結果を受け取り、クライアント機器１へのバージョンアップモード起動指示を行う。  
（５）アップデートスクリプト部５からのアップデート処理結果を受け取り、ＵＩアプリケーション部４、クライアント機器共通ライブラリ部８へその結果を通知する。  
（６）クライアント機器１の制約条件などにより、ダウンロードを中止する必要がある場合、インターフェース部７に対してその旨を通知する。
【００２４】
インターフェース部７は、サーバ２やダウンロードサーバ３との間で通信を行い、必要なアップデートファイル（ファイルＡ）をダウンロードサーバ３からダウンロードする。  
より具体的には、インターフェース部７は、サーバ２に定期的にバックグラウンド処理で通信を行い、アップデートファイルの存在確認を行う。最新のアップデートファイルが存在することが判明した場合、アップデートエージェント部６にその旨を通知する。最新のアップデートファイルが存在し、一定条件を満たした場合、アップデートファイル（ファイルＡ）を取得するためにダウンロードサーバ３にアクセスし、ダウンロードする。
【００２５】
クライアント機器共通ライブラリ部８は、クライアント機器１における共通関数を提供する。  
より具体的には、クライアント機器共通ライブラリ部８は、クライアント機器１内で管理している現在時刻を応答し、クライアント機器１の現在のソフトウェアバージョンを応答し、更にネットワーク診断機能などを有している。
【００２６】
なお、アップデートスクリプト部５及びアップデートエージェント６部は、ファイルＡがアップデートファイルである場合には上記の処理を行うが、例えばクライアント機器１がダウンロードサーバ３からダウンロードしようとするファイルＡがサイズの大きな動画などのファイルである場合には、アップデートエージェント部６やアップデートスクリプト部５は、コンテンツマネージャや動画タイトル管理機能となる。
【００２７】
サーバ２は、クライアント機器１との間でネットワーク１０１を介して通信を行うためのＷｅｂサーバ９を備えている。なお、このサーバ２の外部インターフェースのＵＲＩは、例えばクライアント機器１が出荷される際に予め埋め込まれている。
【００２８】
ダウンロードサーバ３も、クライアント機器１との間でネットワーク１０１を介して通信を行うためのＷｅｂサーバ１０を備えている。なお、ダウンロードサーバ３のＵＲＩは、例えばサーバ２から「ダウンロード先ＵＲＬ」としてクライアント機器１に与えられる。
【００２９】
図３及び図４は、サーバ２がクライアント機器１に送信するファイルＢの一例を示す図である。なお、図３に示されるファイルはクライアント機器１がデジタルビデオレコーダ（ＤＶＲ）のときであり、図４に示されるファイルはクライアント機器１がテレビ（ＴＶ）のときである。
【００３０】
図３及び図４に示すように、ファイルＢは、「機種別ＩＤと更新番号」、「ファイル分散パラメータ」、「ダウンロードコンテンツ（ＤＬコンテンツ）」、「ダウンロード有効期間開始日時（ＤＬ有効期間Ｆｒｏｍ）」、「ダウンロード有効期間終了日時（ＤＬ有効期間Ｔｏ）」、ダ「ウンロード分散パラメータ（ＤＬ分散パラメータ）」及び「ダウンロード先ＵＲＬ（ＤＬ先ＵＲＬ）」の項目を有している。
【００３１】
「機種別ＩＤ」は、クライアント機器１に固有のＩＤであり、「ＰＯＮＹ＿ＤＶＲ１００１」などの情報である。「更新番号」は、ファイルＢの更新回数を表す情報であり、例えば更新されていないときには「０００１」である。更新番号は、図３のダウンロード有効期間開始日時、ダウンロード有効期間終了日時及びダウンロード分散パラメータが変更されたときに‘１’づつインクリメントされる。
【００３２】
「ファイル分散パラメータ」は、クライアント機器１がダウンロードサーバ３に自動的にアクセスする日時をクライアント機器１毎に分散させるためのパラメータである。例えば、「０．５ｄａｙ」とは、例えば０〜１２時間（１２ｈ×６０ｍｉｎ×６０ｓｅｃ）の間で発生させた乱数を元に、所定時間間隔でクライアント機器１がダウンロードサーバ３に自動的にアクセスすることを意味する。
【００３３】
「ダウンロードコンテンツ」は、ダウンロードされるコンテンツの名称の情報である。
【００３４】
「ダウンロード有効期間開始日時」は、クライアント機器１がダウンロードサーバ３からファイルＡなどをダウンロードすることができる期間の始りの日時の情報である。
【００３５】
「ダウンロード有効期間終了日時」は、クライアント機器１がダウンロードサーバ３からファイルＡなどをダウンロードすることができる期間の終わりの日時の情報である。
【００３６】
クライアント機器１は、ダウンロード有効期間開始日時とダウンロード有効期間終了日時との間の時間にファイルＡをダウンロードすることが許可される。
【００３７】
「ダウンロード分散パラメータ」は、クライアント機器１がダウンロードサーバ３からファイルＡなどをダウンロードすることができる期間の始りの日時の情報を変更して強制待ち時間を変更するためのパラメータである。例えば「７ｄａｙ」、「５ｄａｙ」及び「１ｄａｙ」である。クライアント機器１は、例えば「７ｄａｙ」の場合、これらの強制待ち時間である７日間を経過するまでは、ダウンロードサーバ３からファイルＡをダウンロードすることができない。
【００３８】
「ダウンロード先ＵＲＬ」は、ファイルＡを提供するダウンロードサーバ３のＵＲＬの情報である。
【００３９】
次に、クライアント機器１がダウンロードサーバ３からファイルＡをダウンロードするときの自動処理の動作について説明する。  
図５は、この自動処理の動作を示すフローチャートである。  
クライアント機器１は、購入後、初回のセットアップ時に、サーバ２に対して機器を特定するための機器特定ＩＤ（クライアントＩＤ）を取得するための要求をする（Ｓ１）。
【００４０】
具体的には、クライアント機器１は、出荷時にクライアント機器１に記録されている機種毎に固有の機種別ＩＤをサーバ２に通知する。
【００４１】
サーバ２は、この機種別ＩＤに基づき、機種別ＩＤに対応する機種がサービス対象機種か否かを判断し、サービス対象機種であるときには、クライアントＩＤを発行し、発行したクライアントＩＤをクライアント機器１に通知する（Ｓ２）。
【００４２】
クライアント機器１は、サーバ２から通知されたクライアントＩＤをクライアント機器共通ライブラリ部８に保存する。２回目以降の起動時には、Ｓ３以降の処理が実行される。
【００４３】
例えば、クライアント機器１がサーバ２からファイルＢをダウンロードする場合ついて説明する。
【００４４】
まず、クライアント機器１は、ファイルＢを取得するための要求をサーバ２に対して行う（Ｓ３）。
【００４５】
具体的には、クライアント機器１は、ファイルＢを取得するために、クライアントＩＤをサーバ２に通知する。
【００４６】
次に、サーバ２は、クライアントＩＤに基づき、サーバ２内に蓄積されているデータのうちクライアントＩＤに対応する情報、例えば図３に示したファイルＢに関する情報を抽出してファイルＢを生成し、クライアント機器１にファイルＢを配信する（Ｓ４）。
【００４７】
クライアント機器１は、ファイルＢをクライアント機器共通ライブラリ部８に保存する。
【００４８】
次に、クライアント機器１は、ファイルＢを解析する（Ｓ５）。クライアント機器１は、例えば図３に示したファイルＢに記述された「ファイル分散パラメータ」に基づいて、次回の「自動ファイルＢ取得要求実行予定時刻」を算出する。例えば、クライアント機器１は、図３に例示したファイル分散パラメータの値である「０．５ｄａｙ」を取得し、０〜０．５（１２ｈ×６０ｍｉｎ×６０ｓｅｃ）の間で乱数を生成し、この生成した乱数を現在時刻に加算し、次回の「自動ファイルＢ取得要求実行予定時刻」とする。これにより、クライアント機器１は、他のクライアント機器１とのアクセスタイミングが重複しないようになる。
【００４９】
また、クライアント機器１は、図３に示した「ダウンロード分散パラメータ」に基づいて、次回の「自動ダウンロード処理実行予定時刻」を算出する。例えば、図３に示した「ダウンロードコンテンツ」のうち「アップデートファイルＶｅｒ１」をダウンロードするときには、クライアント機器１は、これに対応する「ダウンロード分散パラメータ」の値である「７ｄａｙ」に基づき０から７×２４×６０×６０ｓｅｃまでの間の乱数を生成し、生成した乱数を「秒」の単位として、この値を「ダウンロード有効期間開始日時」である「２００６／４／１  １２：００」に加算し、次回の「自動ダウンロード処理実行予定時刻」とする。なお、次回の「自動ダウンロード処理実行予定時刻」を算出するときに、例えば「ダウンロード有効期間開始日時」と「ダウンロード有効期間終了日時」との間で、乱数を生成させ、生成した乱数に基づいて、次回の「自動ダウンロード処理実行予定時刻」を算出してもよい。
【００５０】
次に、クライアント機器１は、現在時刻が「自動ファイルＢ取得要求実行予定時刻」であるか否かを判断し（Ｓ７）、「自動ファイルＢ取得要求実行予定時刻」であるときには、ステップ３に戻り、既に説明したファイルＢの取得要求を実行する。
【００５１】
「自動ファイルＢ取得要求実行予定時刻」でないときには、「自動ダウンロード処理実行予定時刻」であるか否かを判断し（Ｓ８）、「自動ファイルＢ取得要求実行予定時刻」及び「自動ダウンロード処理実行予定時刻」でないときには、待機する（Ｓ６）。
【００５２】
Ｓ８で「自動ダウンロード処理実行予定時刻」であるときには、クライアント機器１は、ダウンロードサーバ３からファイルＡをダウンロードする（Ｓ９）。つまり、クライアント機器１は、ダウンロードサーバ３にダウンロードの実行要求を通知し、ダウンロードサーバ３はファイルＡをクライアント機器１に配信する（Ｓ１０）。
【００５３】
ここで、例えば上述した待機（Ｓ６）中にファイルＢが更新された場合、ファイルＢの新たな情報に基づいて、「自動ファイルＢ取得要求実行予定時刻」や「自動ダウンロード処理実行予定時刻」が再計算（更新）される。
【００５４】
図６は「自動ファイルＢ取得要求実行予定時刻」及び「自動ダウンロード処理実行予定時刻」の再計算（更新）のタイムチャートである。
【００５５】
図６に示すように、クライアント機器１は、「自動ファイルＢ取得要求処理」を実行する（Ｓ３１）。
【００５６】
サーバ２は、図３に示した「更新番号」が‘１’であるファイルＢをクライアント機器１に通知する（Ｓ４１）。
【００５７】
クライアント機器１は、ファイルＢに基づき、次回の「自動ファイルＢ取得要求実行予定時刻」を「２００７／６／１  １０：００」、「自動ダウンロード処理実行予定時刻」を「２００７／６／５  ０：００」と算出する（Ｓ５１）。
【００５８】
この結果、クライアント機器１は、現在時刻が「２００７／６／１  １０：００」になるまで待機し（Ｓ６１）、この時刻になったと判断したときに、「自動ファイルＢ取得要求処理」を実行する（Ｓ３２）。「自動ダウンロード処理実行予定時刻」が「２００７／６／５  ０：００」であるのに対して「自動ファイルＢ取得要求実行予定時刻」が「２００７／６／１  １０：００」であるので、ダウンロード処理は実行されない。
【００５９】
サーバ２は、「更新番号」が変更されていない場合は、再び「更新番号」が‘１’であるファイルＢをクライアント機器１に通知する（Ｓ４２）。
【００６０】
クライアント機器１は、ファイルＢに基づき、次回の「自動ファイルＢ取得要求実行予定時刻」を「２００７／６／２  １１：００」、「自動ダウンロード処理実行予定時刻」を「２００７／６／５  ０：００」と算出する（Ｓ５２）。「更新番号」が変更されていない場合は、「自動ファイルＢ取得要求実行予定時刻」のみを再計算し、「自動ダウンロード処理実行予定時刻」は再計算しない。
【００６１】
この結果、クライアント機器１は、現在時刻が「２００７／６／２  １１：００」になるまで待機し（Ｓ６２）、この時刻になったと判断したときに、「自動ファイルＢ取得要求処理」を実行する（Ｓ３３）。「自動ダウンロード処理実行予定時刻」が「２００７／６／５  ０：００」であるのに対して「自動ファイルＢ取得要求実行予定時刻」が「２００７／６／２  １１：００」であるので、ダウンロード処理は実行されない。
【００６２】
サーバ２は、更新番号が変更されている場合は、更新番号が‘２’であるファイルＢをクライアント機器１に通知する（Ｓ４３）。
【００６３】
クライアント機器１は、更新番号が‘２’であるファイルＢに基づき、次回の「自動ファイルＢ取得要求実行予定時刻」を「２００７／６／３  ９：００」、「自動ダウンロード処理実行予定時刻」を「２００７／６／３  １０：００」と算出する（Ｓ５３）。更新番号が変更されている場合は、「自動ファイルＢ取得要求実行予定時刻」及び「自動ダウンロード処理実行予定時刻」を再計算する。
【００６４】
この結果、クライアント機器１は、現在時刻が「２００７／６／３  ９：００」になるまで待機し（Ｓ６３）、この時刻になったと判断したときに、自動でファイルＢ取得要求を実行する（Ｓ３４）。「自動ダウンロード処理実行予定時刻」が「２００７／６／３  １０：００」であるのに対して「自動ファイルＢ取得要求実行予定時刻」が「２００７／６／３  ９：００」であるので、ダウンロード処理は実行されない。
【００６５】
サーバ２は、更新番号が変更されていない場合は、更新番号が‘２’であるファイルＢをクライアント機器１に通知する（Ｓ４４）。
【００６６】
クライアント機器１は、更新番号が‘２’であるファイルＢに基づき、次回の「自動ファイルＢ取得要求実行予定時刻」を「２００７／６／４  １３：００」、「自動ダウンロード処理実行予定時刻」を「２００７／６／３  １０：００」と算出する（Ｓ５４）。更新番号が変更されていない場合は、「自動ファイルＢ取得要求実行予定時刻」のみを再計算し、「自動ダウンロード処理実行予定時刻」は再計算しない。
【００６７】
この結果、クライアント機器１は、現在時刻が「２００７／６／３  １０：００」になるまで待機し（Ｓ６４）、この時刻になったと判断したときに、自動でファイルＢのダウンロード処理を実行する（Ｓ９１）。
【００６８】
図７はファイルをダウンロードするときの手動処理の動作を示すフローチャートである。なお、Ｓ１及びＳ２は上記と同様であるので省略する。  
ここで、図８〜図１１は、手動でファイルＡをダウンロードするときにクライアント機器１に表示される画面の一例である。
【００６９】
まず、図８に示すように、ファイルＢを取得するか否かを決定する画面を表示させる。クライアント機器１は、ユーザにより図８に示す画面の実行ボタンがクリックされたかキャンセルボタンがクリックされたかを判断し、実行ボタンがクリックされたときには、サーバ２にファイルＢを取得する要求をする（Ｓ３）。例えばクライアント機器１は、サーバ２にクライアントＩＤを通知し、ファイルＢを取得する。キャンセルボタンがクリックされたときには、図８に示す画面を閉じる。
【００７０】
サーバ２は、クライアントＩＤに基づき、サーバ２内に蓄積されているデータのうちクライアントＩＤに対応する情報を抽出し、例えば図３に示したファイルＢを生成し、クライアント機器１にファイルＢを配信する（Ｓ４）。  
クライアント機器１は、ファイルＢを保存する。
【００７１】
次に、クライアント機器１は、ファイルＢを解析する（Ｓ５）。すなわち、クライアント機器１がダウンロードサーバ３にアクセスするときの制御情報を解析する。つまり、上述したように、クライアント機器１は、図３のファイル分散パラメータに基づいて、次回の自動ファイルＢ取得要求実行予定時刻を算出する。
【００７２】
次に、クライアント機器１は、ダウンロードを実行することができるか否かを判断する（Ｓ６）。つまり、クライアント機器１は、手動の場合には、図３のダウンロード分散パラメータを無視し、例えば、図３に示した「ダウンロードコンテンツ」のうち「アップデートファイルＶｅｒ１」をダウンロードするときには、現在時刻（自動ファイルＢ取得要求実行予定時刻）がダウンロード有効期間開始日時である「２００６／４／１  １２：００」からダウンロード有効期間終了日時である「２００７／３／３１  ２３：５９」の間であるか否かを判断する。例えばこの解析中には、クライアント機器１は、図９に示す画面を表示する。
【００７３】
現在時刻がこれらの間にあるときには、図１０に示す画面を表示し、これらの間にないときには、例えばダウンロードするファイルが見つからない（ダウンロードが許可されない）ことを示す図示しない画面を表示する。
【００７４】
クライアント機器１は、図１０に示す画面で、ソフトウェアのアップデートを実行するための「はい」ボタンがクリックされたか「いいえ」ボタンがクリックされたかを判断し、「はい」がクリックされたときには、ダウンロード中であることを示す図１１を表示しダウンロードを実行し、「いいえ」がクリックされたときには図１０に示す画面を消去する。
【００７５】
Ｓ６で、ダウンロードを実行することができないと判断したときには、クライアント機器１は、例えば再び上述したように「ファイルＢ取得要求」を行い、次回の「自動ダウンロード処理実行予定時刻」を算出（更新）する。
【００７６】
このように本実施形態によれば、クライアント機器１がサーバ２にファイルＡを取得する要求をしたときに、ファイルＡの置かれたダウンロードサーバ３へのアクセス制御に関する情報を含むファイルＢをクライアント機器１に通知し、ファイルＢに含まれる「ダウンロード有効期間開始日時」、「ダウンロード有効期間終了日時」及び「ダウンロード分散パラメータ」の情報に基づき、クライアント機器１がダウンロードサーバ３からファイルＡをダウンロードすることができる時刻を制御（分散）することができる。従って、ダウンロードサーバ３毎にトラヒックピークを抑制することができる。
【００７７】
従って、極端なトラヒックピークに備えサーバなどのリソースを確保する必要がないので、システム構築初期費用及び運用費用を削減することができる。
【００７８】
また、ファイルＢに含まれる「ダウンロード分散パラメータ」の情報を、ダウンロード先ＵＲＬ毎に設定することで、各サーバのパフォーマンスを最大限に活用したアクセス分散及び集約が可能となる。
【００７９】
更に、ファイルＢに含まれる「ダウンロード有効期間開始日時」及び「ダウンロード有効期間終了日時」を、クライアント機器１に通知しておき、この期間外でクライアント機器１がダウンロードサーバ３にアクセスすることを抑止することで、ダウンロードサーバ３の保守などをサービス事業者側の都合で行うことができる。
【００８０】
なお、ファイルＢの取得に失敗したとき、あるいは取得したファイルＢに「ファイル分散パラメータ」や「ダウンロード分散パラメータ」が存在しないときには、予め出荷時にクライアント機器１に埋め込まれたデフォルト値、あるいはクライアント機器１の一部の情報（Ｍａｃアドレス、基板ＩＤ、ＩＰアドレスなど）を元にデフォルト値を算出し、次回の「自動ファイルＢ取得実行予定時刻」などを算出すればよい。
【００８１】
また、ファイルＢに含まれる「ダウンロード有効期間開始日時」及び「ダウンロード有効期間終了日時」を、クライアント機器１に通知しておき、この期間内で任意の時刻になり次第、クライアント機器１が自動でサーバにアクセスしてファイルをダウンロードできるようにすることで、日夜、平日休日の境なくダウンロードを行うことができ、大局的に見れば、クライアント機器１のユーザの操作をトリガーとしたダウンロードより、より早く、より多くのクライアント機器１にダウンロードを実行することができる。
【００８２】
次に、本発明の他の実施形態について説明する。  
図１２は本発明の他の実施形態に係るクライアント／サーバシステムの動作を説明するためのタイミングチャートである。  
図１２に示すように、この実施形態に係るサーバ２は、クライアント機器１などによるサーバ２やダウンロードサーバ３へのアクセス状況に応じてファイルＢの内容を最適化する最適化機能を備えている。なお、この最適化機能はサーバ２以外の他の機器に備えるようにしても勿論かまわない。
【００８３】
このサーバ２の最適化機能は、サーバ２自体に対して、サーバリソース情報を取得するための要求を通知し、サーバリソース情報を取得する。サーバリソース情報とは、例えばサーバ２のアクセスログ、サーバリソース（ＣＰＵ使用率、メモリ使用率）、ネットワーク帯域使用率などの情報を含んでいる。これにより、サーバ２の最適化機能は、サーバ２のアクセスログ、サーバリソース（ＣＰＵ使用率、メモリ使用率）、ネットワーク帯域使用率などの情報を取得する（Ｓ１１）。
【００８４】
サーバ２の最適化機能は、これらの情報に基づき、「ファイル分散パラメータ値」を更新する（Ｓ１２）。以下にその一例を示す。
【００８５】
ＣＰＵ使用率８０％超過時：ファイル分散パラメータ値を１．２５倍に設定
ＣＰＵ使用率９０％超過時：ファイル分散パラメータ値を１．５倍に設定
ネットワーク帯域使用率７５％超過時：ファイル分散パラメータ値を２．０倍に設定
次いで、サーバ２の最適化機能は、ダウンロードサーバ３に対して、サーバリソース情報の取得を要求し、サーバリソース情報を取得する。サーバリソース情報とは、例えばダウンロードサーバ３のアクセスログ、サーバリソース（ＣＰＵ使用率、メモリ使用率）、ネットワーク帯域使用率などの情報を含んでいる。これにより、サーバ２の最適化機能は、ダウンロードサーバ３のアクセスログ、サーバリソース（ＣＰＵ使用率、メモリ使用率）、ネットワーク帯域使用率などの情報を取得する（Ｓ１３）。
【００８６】
サーバ２の最適化機能は、これらの情報に基づき、「ダウンロード分散パラメータ値」を更新する（Ｓ１４）。以下にその一例を示す。
【００８７】
ＣＰＵ使用率８０％超過時：ファイル分散パラメータ値を１．２５倍に設定
ＣＰＵ使用率９０％超過時：ファイル分散パラメータ値を１．５倍に設定
ネットワーク帯域使用率７５％超過時：ファイル分散パラメータ値を２．０倍に設定
このように本実施形態によれば、ファイルＢのファイル分散パラメータ値を、サーバ２やダウンロードサーバ３のリソース情報に基づいて自動で最適化する機能を備えているので、ダウンロードサーバ３などへの負荷の分散を効果的に実現することができる。
【００８８】
なお、本発明は以上説明した実施の形態には限定されるものではなく、本発明の技術思想の範囲内で種々の変形が可能である。
【図面の簡単な説明】
【００８９】
【図１】本発明の一実施形態に係るクライアント／サーバシステムにおける概念図である。
【図２】クライアント機器、サーバ及びダウンロードサーバの構成を示すブロック図である。
【図３】サーバがクライアント機器（ＤＶＲ）に送信するファイルのフォーマットの一例を示す図である。
【図４】サーバがクライアント機器（ＴＶ）に送信するファイルのフォーマットの一例を示す図である。
【図５】自動ダウンロード処理の動作を示すフローチャートである。
【図６】自動ファイル取得要求実行予定時刻及び自動ダウンロード処理実行予定時刻の再計算（更新）のタイムチャートである。
【図７】ファイルをダウンロードするときの手動処理の動作を示すフローチャートである。
【図８】手動でのファイルのダウンロード時にクライアント機器に表示される画面の一例である（その１）。
【図９】手動でのファイルのダウンロード時にクライアント機器に表示される画面の一例である（その２）。
【図１０】手動でのファイルのダウンロード時にクライアント機器に表示される画面の一例である（その３）。
【図１１】手動でのファイルのダウンロード時にクライアント機器に表示される画面の一例である（その４）。
【図１２】本発明の他の実施形態に係るクライアント／サーバシステムの動作を説明するためのタイミングチャートである。
【符号の説明】
【００９０】
１  クライアント機器
２  サーバ
３  ダウンロードサーバ
４  ＵＩアプリケーション部
５  アップデートスクリプト部
６  アップデートエージェント部
７  インターフェース部
８  クライアント機器共通ライブラリ部
１００  クライアント／サーバシステム
１０１  ネットワーク
【図１】
2008310750.tif 000003
【図２】
2008310750.tif 000004
【図３】
2008310750.tif 000005
【図４】
2008310750.tif 000006
【図５】
2008310750.tif 000007
【図６】
2008310750.tif 000008
【図７】
2008310750.tif 000009
【図８】
2008310750.tif 000010
【図９】
2008310750.tif 000011
【図１０】
2008310750.tif 000012
【図１１】
2008310750.tif 000013
【図１２】
2008310750.tif 000014