説明

配信システム、サーバ装置、端末装置、サービス方法、端末方法、並びにプログラム

【課題】ネットワーク経由で複数の端末が同一のデータを取得する際に、サーバの負担を軽減でき、データの伝送効率を向上させることができる配信システム、サーバ装置、端末装置、サービス方法、端末方法、並びにこれらをコンピュータにて実現するプログラムを提供する。
【解決手段】サーバ装置201は、複数の端末装置からの要求メッセージに応じて、当該メッセージの送信元の端末装置の端末識別名と、指定されたデータ識別名を記憶部503に追加する。取得部504で、記憶部503に記憶された当該データ識別名を重複なく取得し、取得されたデータ識別名毎にデータを分割して断片とし、断片送信部505から当該断片を巡回的に送信元の端末装置に送信する。断片を受信した端末装置では、全ての断片を取得すると完了メッセージをサーバ装置201に送信して、受信を完了する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ネットワーク経由で複数の端末が同一のデータを取得する際に、サーバの負担を軽減でき、データの伝送効率を向上させることができる配信システム、サーバ装置、端末装置、サービス方法、端末方法、並びにこれらをコンピュータにて実現するプログラムに関する。
【背景技術】
【0002】
従来から、ネットワーク経由でデータを取得する際に、一つの装置にアクセスが集中することをできるだけ防止するのに好適なデータ処理システムが提案されている(特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2006−209343号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
一方で、ネットワーク経由で複数の端末が同一のデータを取得する際に、サーバの負担を少なくし、データの伝送効率を高くするようなシステムが要望されている。
【0005】
本発明は、上記のような課題を解決するもので、ネットワーク経由で複数の端末が同一のデータを取得する際に、サーバの負担を軽減でき、データの伝送効率を向上させることができる配信システム、サーバ装置、端末装置、サービス方法、端末方法、並びにこれらをコンピュータにて実現するプログラムを提供することを目的とする。
【課題を解決するための手段】
【0006】
上記目的を達成するため、本発明の第1の観点に係る配信システムは、サーバ装置と、サーバ装置と通信可能に接続される複数の端末装置とを備える。
サーバ装置は、例えば、情報のアップデート・新たなコンテンツの提供等を行う装置であり、端末装置は、例えば、ゲーム装置が該当する。当該システムを使用することにより、例えば、新規コンテンツ提供直後におけるサーバ装置へのアクセス集中によるサーバ負荷を軽減できるものである。
【0007】
まず、サーバ装置は、記憶部、要求受信部、追加部、取得部、断片送信部、完了受信部、削除部を備える。
ここで、記憶部は、端末識別名と、データ識別名と、が指定される接続情報を記憶し、要求受信部は、複数の端末装置のいずれかから、データ識別名を指定する要求メッセージを受信し、追加部は、要求メッセージを受信すると、要求メッセージの送信元の端末装置の端末識別名と、要求メッセージに指定されたデータ識別名と、を指定する接続情報を、記憶部に追加する。
【0008】
すなわち、記憶部は、IPアドレス等で特定される端末識別名とゲームコンテンツ等の種類を特定するデータ識別名が指定される接続情報を記憶する。
複数の端末装置のうちのひとつから、その端末装置がダウンロードを希望するゲームコンテンツ等のデータ識別名が指定された要求メッセージが送信されると、追加部は、送信元の端末装置が指定するデータ識別名及び送信元の端末識別名からなる接続情報を、記憶部に追加して記憶する。
【0009】
取得部は、記憶部に接続情報が記憶されている間、記憶されている接続情報のそれぞれに指定されているデータ識別名を重複なく取得し、重複なく取得されたデータ識別名毎に、データ識別名に対応付けられるデータを分割することにより得られる断片を、所定の巡回順序で取得し、断片送信部は、断片が取得されると、断片と、断片の分割元データ内において、断片が配置されていた位置とを指定する断片メッセージを、断片が取得される起因となった接続情報に指定されている端末識別名を有する端末装置のそれぞれへ、送信する。
【0010】
すなわち、取得部では、記憶部に既に記憶されたデータ識別名は、取得せずに、記憶部にはないデータ識別名を取得する。例えば、端末装置Xでは、データ識別名Aを指定し、端末装置Yでは、データ識別名Aを指定し、端末装置Zでは、データ識別名Aを指定し、端末装置Wでは、データ識別名Bを指定する場合、取得部では、重複するデータ識別名は取得せずに、A、B各々2つのみ取得することになる。
【0011】
そして、データ識別名に対応付けられたデータ、例えばAは、複数の断片a1〜a6に分割される。これらの断片は、所定の順序で巡回する形式、例えば、a1→a2→a3→a4→a5→a6→a1→a2…という形式で、取得部において、取得される。
【0012】
さらに、各断片には、データ内で断片が配置されていた位置の情報が付与される。例えば、任意のデータ識別名のデータを6つの断片に分割した場合、3番目の位置に配置された断片には、3/6という位置情報が付与される。断片内容の情報と、位置情報とは、併せて断片メッセージとして、断片送信部より、データ要求元の端末に送信される。
【0013】
完了受信部は、複数の端末装置のいずれかから、データ識別名を指定する完了メッセージを受信し、削除部は、完了メッセージを受信すると、完了メッセージの送信元の端末装置の端末識別名と、要求メッセージに指定されたデータ識別名と、が指定されている接続情報を記憶部から削除する。
【0014】
すなわち、データ要求元の端末装置において、要求したデータ識別名に対応する全ての断片を取得した場合には、完了メッセージが送信され、サーバ装置は、送信メッセージを受信すると、削除部が、記憶部に記憶された端末識別名とデータ識別名からなる接続情報を削除する。
【0015】
一方、複数の端末装置は、それぞれ、要求送信部、断片受信部、蓄積部、復元部、完了送信部を備える。
ここで、要求送信部は、サーバ装置へ、所望のデータのデータ識別名を指定する要求メッセージを送信し、断片受信部は、所望のデータが復元されるまで、サーバ装置から断片メッセージを受信し、蓄積部は、受信された断片メッセージに指定される断片と、当該断片が所望のデータにおいて配置されていた位置とを対応付けて蓄積する。
【0016】
すなわち、各端末装置は、例えば、ゲームプレイヤが要求するコンテンツを特定するデータ識別名を指定した要求メッセージを送信する。
要求したデータ識別名のデータは、複数の断片に分割されたデータの形で、断片メッセージとして断片受信部において受信され、蓄積される。
【0017】
そして、復元部は、所望のデータを分割することにより得られるすべての断片が蓄積されると、蓄積された断片のそれぞれと、蓄積された断片のそれぞれに対応付けて蓄積された位置とから所望のデータを復元し、完了送信部は、所望のデータが復元されると、サーバ装置へ、所望のデータのデータ識別名を指定する完了メッセージを送信する。
【0018】
すなわち、要求元の端末装置において、要求したデータのすべての断片が蓄積されると、断片の位置情報に基づいて、データが復元される。
データが復元されると、完了メッセージが完了送信部よりサーバ装置へ送信される。
【0019】
本発明によれば、複数の端末装置から要求されたデータ識別名に対応するデータを、複数の断片に分け、所定の順序で巡回的に送信して、端末装置側で復元することで、通信によるサーバ装置の負荷を低減できる配信システムを提供することができる。
【0020】
本発明のその他の観点に係るサーバ装置は、上記配信システムにおけるサーバ装置である。
【0021】
すなわち、サーバ装置は、記憶部、要求受信部、追加部、取得部、断片送信部、完了受信部、削除部を備える。
ここで、記憶部は、端末識別名と、データ識別名と、が指定される接続情報を記憶し、要求受信部は、複数の端末装置のいずれかから、データ識別名を指定する要求メッセージを受信し、追加部は、要求メッセージを受信すると、要求メッセージの送信元の端末装置の端末識別名と、要求メッセージに指定されたデータ識別名と、を指定する接続情報を記憶部に追加する。
【0022】
取得部は、記憶部に接続情報が記憶されている間、記憶されている接続情報のそれぞれに指定されているデータ識別名を重複なく取得し、重複なく取得されたデータ識別名毎に、データ識別名に対応付けられるデータを分割することにより得られる断片を、所定の巡回順序で取得し、断片送信部は、断片が取得されると、断片と、断片の分割元データ内において、断片が配置されていた位置とを指定する断片メッセージを、断片が取得される起因となった接続情報に指定されている端末識別名を有する端末装置のそれぞれへ、送信する。
【0023】
完了受信部は、複数の端末装置のいずれかから、データ識別名を指定する完了メッセージを受信し、削除部は、完了メッセージを受信すると、完了メッセージの送信元の端末装置の端末識別名と、要求メッセージに指定されたデータ識別名とが指定されている接続情報を記憶部から削除する。
【0024】
また、サーバ装置において、要求受信部ならびに完了受信部は、それぞれ、要求メッセージと完了メッセージを、コネクション型プロトコルにより受信し、断片送信部は、断片メッセージをコネクションレス型プロトコルにより送信する。
【0025】
コネクション型プロトコルは、通信を開始するときにデータを送受信する端末間にデータ伝送に先立ってコネクションを確立し、通信が終わるまで接続関係を保持する通信形態で使用されるプロトコルである。コネクションレス型プロトコルは、送受信する端末間にデータの伝送に先立ってコネクションの確立を行わず、宛先アドレスを明示したパケットを送る通信形態で使用されるプロトコルである。
【0026】
本発明によれば、通信を確実に行いたい送受信形態である、要求メッセージと完了メッセージはコネクション型プロトコルを使用し、接続よりも送受信の負荷を減少させたい送信形態である断片メッセージは、コネクションレスプロトコルを使用することができる。
また、通信負荷が高いコネクションの使用を押さえて、通信の大半をコネクションレスで行うことで、オーバ負荷を減らすことができる。
【0027】
さらに、本発明のサーバ装置において、コネクション型プロトコルは、TCP(Transmission Control Protocol)であり、コネクションレス型プロトコルは、UDP(User Datagram Protocol)である。
本発明によれば、コネクション型またはコネクションレス型に対応して、適切なトランスポート層のプロトコルを使用することができる。
【0028】
また、本発明のサーバ装置において、サーバー装置は、接続受信部をさらに備える。
ここで、削除部は、記憶部に記憶される接続情報のそれぞれについて、接続情報に接続する端末識別名を有する端末装置から送信される接続メッセージが、所定の閾値時間以上受信されなかった場合、接続情報を、記憶部から削除する。
【0029】
すなわち、端末装置から送信される接続メッセージが、一定期間受信されない場合には、通信が切断されたと判断して、その接続メッセージに対応する接続情報を記憶部から削除する。
本発明によれば、接続メッセージの有無を確認することにより、無駄な送信を省くことができ、通信負荷を抑制することができる。
【0030】
本発明のその他の観点に係る端末装置は、上記配信システムにおける端末装置である。
【0031】
すなわち、端末装置は、要求送信部、断片受信部、蓄積部、復元部、完了送信部を備える。
ここで、要求送信部は、サーバ装置へ、所望のデータのデータ識別名を指定する要求メッセージを送信し、断片受信部は、所望のデータが復元されるまで、サーバ装置から、断片メッセージを受信する、蓄積部は、受信された断片メッセージに指定される断片と、当該断片が当該所望のデータにおいて配置されていた位置と、を、対応付けて蓄積する。
【0032】
復元部は、所望のデータを分割することにより得られるすべての断片が蓄積されると、当該蓄積された断片のそれぞれと、当該蓄積された断片のそれぞれに対応付けて蓄積された位置と、から、当該所望のデータを復元し、完了送信部は、所望のデータが復元されると、サーバ装置へ、当該所望のデータのデータ識別名を指定する完了メッセージを送信する。
【0033】
本発明の端末装置は、接続送信部をさらに備える。
ここで、接続送信部は、要求メッセージを送信した後、所望のデータが復元されるまで、所定の時間間隔で、サーバ装置へ接続メッセージを送信する。
【0034】
すなわち、接続送信部は、一定の時間間隔で、接続メッセージを送信することで、サーバ装置側が接続の確認を行うことができる。
【0035】
本発明のその他の観点に係るサービス方法は、サーバ装置にて、実行されるサービス方法であって、サーバ装置は、記憶部、要求受信部、追加部、取得部、断片送信部、完了受信部、削除部を有し、要求受信工程、追加工程、取得工程、断片送信工程、完了受信工程、削除工程を備え、以下のように構成する。
【0036】
すなわち、要求受信工程では、要求受信部が、複数の端末装置のいずれかから、データ識別名を指名する要求メッセージを受信する。
【0037】
追加工程では、追加部が、要求メッセージが受信されると、要求メッセージの送信元の端末装置の端末識別名と、要求メッセージに指定されたデータ識別名と、を指定する接続情報を、記憶部に追加する。
【0038】
取得工程では、取得部が、記憶部に接続情報が記憶されている間、記憶されている接続情報のそれぞれに指定されているデータ識別名を重複なく取得し、重複なく取得されたデータ識別名毎に、データ識別名に対応付けられるデータを分割することにより得られる断片を、所定の巡回順序で取得する。
【0039】
断片送信工程では、断片送信部が、断片が取得されると、当該断片と、当該断片の分割元のデータ内において、当該断片が配置されていた位置と、を指定する断片メッセージを、当該断片が取得される起因となった接続情報に指定されている端末識別名を有する端末装置のそれぞれへ、送信する。
【0040】
完了受信工程では、完了受信部が、複数の端末装置のいずれかから、データ識別名を指定する完了メッセージを受信する。
【0041】
削除工程では、削除部が、完了メッセージが受信されると、当該完了メッセージの送信元の端末装置の端末識別名と、当該要求メッセージに指定されたデータ識別名と、が指定されている接続情報を、記憶部から削除する。
【0042】
本発明のその他の観点に係る端末方法は、サーバ装置と通信可能に接続される端末装置において実行される端末方法であって、端末装置は、要求送信部、断片受信部、蓄積部、復元部、完了送信部を有し、要求送信工程、断片受信工程、蓄積工程、復元工程、完了送信工程を備え、以下のように構成する。
【0043】
すなわち、要求送信工程では、要求送信部が、サーバ装置へ、所望のデータのデータ識別名を指定する要求メッセージを送信する。
【0044】
断片受信工程では、断片受信部が、所望のデータが復元されるまで、サーバ装置から、断片メッセージを受信する。
【0045】
蓄積工程では、蓄積部が、受信された断片メッセージに指定される断片と、当該断片が当該所望のデータにおいて配置されていた位置と、を、対応付けて蓄積する。
【0046】
復元工程では、復元部が、所望のデータを分割することにより得られるすべての断片が蓄積されると、当該蓄積された断片のそれぞれと、当該蓄積された断片のそれぞれに対応付けて蓄積された位置と、から、当該所望のデータを復元する。
【0047】
完了送信工程では、完了送信部が、所望のデータが復元されると、サーバ装置へ、当該所望のデータのデータ識別名を指定する完了メッセージを送信する。
【0048】
本発明のその他の観点に係るプログラムは、コンピュータをサーバ装置として機能させ、コンピュータにサービス方法を実行させるように構成し、サーバ装置は、要求受信部、追加部、取得部、断片送信部、完了受信部、削除部を備える。
【0049】
ここで、記憶部は、端末識別名と、データ識別名とが指定される接続情報を記憶し、要求受信部は、複数の端末装置のいずれかから、データ識別名を指定する要求メッセージを受信し、追加部は、要求メッセージを受信すると、要求メッセージの送信元の端末装置の端末識別名と、要求メッセージに指定されたデータ識別名とを指定する接続情報を記憶部に追加する。
【0050】
取得部は、記憶部に接続情報が記憶されている間、記憶されている接続情報のそれぞれに指定されているデータ識別名を重複なく取得し、重複なく取得されたデータ識別名毎に、データ識別名に対応付けられるデータを分割することにより得られる断片を、所定の巡回順序で取得し、断片送信部は、断片が取得されると、断片と、断片の分割元データ内において、断片が配置されていた位置とを指定する断片メッセージを、断片が取得される起因となった接続情報に指定されている端末識別名を有する端末装置のそれぞれへ、送信する。
【0051】
完了受信部は、複数の端末装置のいずれかから、データ識別名を指定する完了メッセージを受信し、削除部は、完了メッセージを受信すると、完了メッセージの送信元の端末装置の端末識別名と、要求メッセージに指定されたデータ識別名とが指定されている接続情報を、記憶部から削除する。
【0052】
本発明のその他の観点に係るプログラムは、コンピュータを端末装置として機能させ、コンピュータに端末方法を実行させるように構成し、端末装置は、要求送信部、断片受信部、蓄積部、復元部、完了送信部を備える。
【0053】
ここで、要求送信部は、サーバ装置へ、所望のデータのデータ識別名を指定する要求メッセージを送信し、断片受信部は、所望のデータが復元されるまで、サーバ装置から断片メッセージを受信し、蓄積部は、受信された断片メッセージに指定される断片と、当該断片が所望のデータにおいて配置されていた位置と、を、対応付けて蓄積する。
【0054】
そして、復元部は、所望のデータを分割することにより得られるすべての断片が蓄積されると、蓄積された断片のそれぞれと、蓄積された断片のそれぞれに対応付けて蓄積された位置と、から、所望のデータを復元し、完了送信部は、所望のデータが復元されると、サーバ装置へ、所望のデータのデータ識別名を指定する完了メッセージを送信する。
【0055】
また、本発明のプログラムは、コンパクトディスク、フレキシブルディスク、ハードディスク、光磁気ディスク、ディジタルビデオディスク、磁気テープ、半導体メモリ等のコンピュータ読取可能な情報記憶媒体に記録することができる。
上記プログラムは、プログラムが実行されるコンピュータと独立して、コンピュータ通信網を介して配布、販売することができる。また、上記情報記憶媒体は、コンピュータとは独立して配布、販売することができる。
【発明の効果】
【0056】
本発明によれば、ネットワーク経由で複数の端末で同一のデータを取得する際に、サーバの負担を軽減でき、データの伝送効率を向上させることができる配信システム、サーバ装置、端末装置、サービス方法、端末方法、並びにこれらをコンピュータにて実現するプログラムを提供することができる。
【図面の簡単な説明】
【0057】
【図1】本発明の実施形態に係る配信システムが実現される典型的な情報処理装置の概要構成を示す模式図である。
【図2】本発明の実施形態の1つに係る配信システムの概要構成を示す説明図である。
【図3】本実施形態における各種の通信のやりとりの様子を示すシーケンス図である。
【図4】本実施形態における各種の通信のやりとりの様子を示すシーケンス図である。
【図5】本実施形態に係るサーバ装置の概要構成を示す模式図である。
【図6】本実施形態に係るサーバ装置にて実行されるサービス方法のサービス処理の制御の流れを示すフローチャートである。
【図7】本実施形態に係るサーバ装置にて実行されるサービス方法の受信処理の制御の流れを示すフローチャートである。
【図8】本実施形態に係るサーバ装置にて実行されるサービス方法の送信処理の制御の流れを示すフローチャートである。
【図9】本実施態様に係るサーバ装置の記憶部におけるデータ蓄積状況を示す図である。
【図10】本実施形態に係る端末装置の概要構成を示す模式図である。
【図11】本実施形態に係る端末装置にて実行される端末方法の端末処理の制御の流れを示すフローチャートである。
【発明を実施するための形態】
【0058】
以下に本発明の実施形態を説明する。以下では、理解を容易にするため、ゲーム用の情報処理装置を利用して本発明が実現される実施形態を説明するが、以下に説明する実施形態は説明のためのものであり、本願発明の範囲を制限するものではない。したがって、当業者であればこれらの各要素を均等なものに置換した実施形態を採用することが可能であるが、これらの実施形態も本発明の範囲に含まれる。
【0059】
(実施形態1)
図1は、本発明の実施形態に係る配信システムが実現される典型的な情報処理装置の概要構成を示す模式図である。以下、本図を参照して説明する。
【0060】
情報処理装置100は、CPU(Central Processing Unit)101と、ROM 102と、RAM(Random Access Memory)103と、インターフェース104と、コントローラ105と、外部メモリ106と、画像処理部107と、DVD−ROM(Digital Versatile Disc ROM)ドライブ108と、NIC(Network Interface Card)109と、音声処理部110と、を備える。
【0061】
ゲーム用のプログラムおよびデータを記憶したDVD−ROMをDVD−ROMドライブ108に装着して、情報処理装置100の電源を投入することにより、当該プログラムが実行され、本実施形態の配信システム等が実現される。
【0062】
CPU 101は、情報処理装置100全体の動作を制御し、各構成要素と接続され制御信号やデータをやりとりする。また、CPU 101は、レジスタ(図示せず)という高速アクセスが可能な記憶域に対してALU(Arithmetic Logic Unit)(図示せず)を用いて加減乗除等の算術演算や、論理和、論理積、論理否定等の論理演算、ビット和、ビット積、ビット反転、ビットシフト、ビット回転等のビット演算などを行うことができる。さらに、マルチメディア処理対応のための加減乗除等の飽和演算や、三角関数等、ベクトル演算などを高速に行えるように、CPU 101自身が構成されているものや、コプロセッサを備えて実現するものがある。
【0063】
ROM 102には、電源投入直後に実行されるIPL(Initial Program Loader)が記録され、これが実行されることにより、DVD−ROMに記録されたプログラムをRAM 103に読み出してCPU 101による実行が開始される。また、ROM 102には、情報処理装置100全体の動作制御に必要なオペレーティングシステムのプログラムや各種のデータが記録される。
【0064】
RAM 103は、データやプログラムを一時的に記憶するためのもので、DVD−ROMから読み出したプログラムやデータ、その他ゲームの進行やチャット通信に必要なデータが保持される。また、CPU 101は、RAM 103に変数領域を設け、当該変数に格納された値に対して直接ALUを作用させて演算を行う、また、RAM 103に格納された値を一旦レジスタに格納してからレジスタに対して演算を行い、演算結果をメモリに書き戻す、などの処理を行う。
【0065】
インターフェース104を介して接続されたコントローラ105は、ユーザがゲーム実行の際に行う操作入力を受け付ける。
【0066】
インターフェース104を介して着脱自在に接続された外部メモリ106には、ゲーム等のプレイ状況(過去の成績等)を示すデータ、ゲームの進行状態を示すデータ、ネットワーク対戦の場合のチャット通信のログ(記録)のデータなどが書き換え可能に記憶される。ユーザは、コントローラ105を介して指示入力を行うことにより、これらのデータを適宜外部メモリ106に記録することができる。
【0067】
DVD−ROMドライブ108に装着されるDVD−ROMには、ゲームを実現するためのプログラムとゲームに付随する画像データや音声データが記録される。CPU 101の制御によって、DVD−ROMドライブ108は、これに装着されたDVD−ROMに対する読み出し処理を行って、必要なプログラムやデータを読み出し、これらはRAM 103等に一時的に記憶される。
【0068】
画像処理部107は、DVD−ROMから読み出されたデータをCPU 101や画像処理部107が備える画像演算プロセッサ(図示せず)によって加工処理した後、これを画像処理部107が備えるフレームメモリ(図示せず)に記録する。フレームメモリに記録された画像情報は、所定の同期タイミングでビデオ信号に変換され画像処理部107に接続されるモニタ(図示せず)へ出力される。これにより、各種の画像表示が可能となる。
【0069】
画像演算プロセッサは、2次元の画像の重ね合わせ演算やαブレンディング等の透過演算、各種の飽和演算を高速に実行できる。
【0070】
また、仮想3次元空間に配置され、各種のテクスチャ情報が付加されたポリゴン情報を、Zバッファ法によりレンダリングして、所定の視点位置から仮想3次元空間に配置されたポリゴンを所定の視線の方向へ俯瞰したレンダリング画像を得る演算の高速実行も可能である。
【0071】
さらに、CPU 101と画像演算プロセッサが協調動作することにより、文字の形状を定義するフォント情報にしたがって、文字列を2次元画像としてフレームメモリへ描画したり、各ポリゴン表面へ描画したりすることが可能である。フォント情報は、ROM 102に記録されているが、DVD−ROMに記録された専用のフォント情報を利用することも可能である。
【0072】
NIC 109は、情報処理装置100をインターネット等のコンピュータ通信網(図示せず)に接続するためのものであり、LAN(Local Area Network)を構成する際に用いられる10BASE−T/100BASE−T規格にしたがうものや、電話回線を用いてインターネットに接続するためのアナログモデム、ISDN(Integrated Services Digital Network)モデム、ADSL(Asymmetric Digital Subscriber Line)モデム、ケーブルテレビジョン回線を用いてインターネットに接続するためのケーブルモデム等と、これらとCPU 101との仲立ちを行うインターフェース(図示せず)により構成される。
【0073】
音声処理部110は、DVD−ROMから読み出した音声データをアナログ音声信号に変換し、これに接続されたスピーカ(図示せず)から出力させる。また、CPU 101の制御の下、ゲームの進行の中で発生させるべき効果音や楽曲データを生成し、これに対応した音声をスピーカから出力させる。
【0074】
音声処理部110では、DVD−ROMに記録された音声データがMIDIデータである場合には、これが有する音源データを参照して、MIDIデータをPCMデータに変換する。また、ADPCM形式やOgg Vorbis形式等の圧縮済音声データである場合には、これを展開してPCMデータに変換する。PCMデータは、そのサンプリング周波数に応じたタイミングでD/A(Digital/Analog)変換を行って、スピーカに出力することにより、音声出力が可能となる。
【0075】
さらに、情報処理装置100には、インターフェース104を介してマイク(図示せず)を接続することができる。この場合、マイクからのアナログ信号に対しては、適当なサンプリング周波数でA/D変換を行い、PCM形式のディジタル信号として、音声処理部110でのミキシング等の処理ができるようにする。
【0076】
情報処理装置100をカラオケ装置として利用する場合には、DVD−ROMから読み出した音声データ、もしくは、NIC 109を介してコンピュータ通信網から取得した音声データを伴奏データとし、マイクから入力された音声データを歌唱データとして、伴奏データと歌唱データを音声処理部110がミキシングし、スピーカから出力する。また、スピーカにかえて、ヘッドホン(図示せず)やイヤフォン(図示せず)を用いて、音声を出力させることもできる。
【0077】
このほか、情報処理装置100は、ハードディスク等の大容量外部記憶装置を用いて、ROM 102、RAM 103、外部メモリ106、DVD−ROMドライブ108に装着されるDVD−ROM等と同じ機能を果たすように構成してもよい。
【0078】
また、ユーザからの文字列の編集入力を受け付けるためのキーボードや、各種の位置の指定および選択入力を受け付けるためのマウスなどを接続する形態も採用することができる。また、本実施形態の情報処理装置100にかえて、汎用のパーソナルコンピュータを利用することもできる。
【0079】
以上で説明した情報処理装置100は、いわゆる「コンシューマ向けテレビゲーム装置」に相当するものであるが、携帯電話、携帯ゲーム機器、カラオケ装置、一般的なビジネス用コンピュータなど、種々の計算機上で本発明を実現することが可能である。
【0080】
例えば、一般的なコンピュータは、上記情報処理装置100と同様に、CPU、RAM、ROM、DVD−ROMドライブ、及び、NICを備え、情報処理装置100よりも簡易な機能を備えた画像処理部を備え、外部記憶装置としてハードディスクを有する他、フレキシブルディスク、光磁気ディスク、磁気テープ等が利用できるようになっている。また、コントローラ105ではなく、キーボードやマウスなどを入力装置として利用する。
【0081】
図2は、本発明の実施形態の1つに係る配信システムの概要構成を示す説明図である。以下、本図を参照して説明する。
【0082】
配信システム200は、サーバ装置201と、複数の端末装置202(202a、202b、202c、202d、・・202n)とからなり、サーバ装置201と複数の端末装置202は、インターネット203を介して接続されている。サーバ装置201は、データの提供者が維持管理するデータサーバ機器である。サーバ装置201のメモリとして、キャッシュメモリ(cache memory)を使用することも可能であり、メインメモリの一部のデータをコピーしておくことで、高速アクセスを図ることができる。複数の端末装置202は、データの利用者が維持管理する端末機器である。
【0083】
端末装置202からの送信信号に応じて、サーバ装置201は、端末装置202が要求するコンテンツを端末装置毎に送信する。
【0084】
図3、図4は、本実施形態における各種の通信のやりとりの様子を示すシーケンス図である。
以下、図面を参照して説明する。
【0085】
サーバ装置201は、端末装置202に提供すべきデータを記憶している。各データには、データ毎に、例えばA、B、C・・というデータ識別名が付与される。各データは、データ識別名毎に、複数の断片に分割されている。そして、その断片には当該データ中で当該断片が配置されていた位置を示す位置情報が付与されている。例えば、Aというデータ識別名を有するデータを6つの断片に分割した場合には、a1〜a6という断片が形成され、その配置順に、(1/6)、(2/6)、(3/6)、(4/6)、(5/6)、(6/6)という位置情報が各断片に付与される。
【0086】
各断片は、それぞれ同程度の大きさであり、データ全体の大きさにより、例えばコンテンツAは、a1〜a6という6つの断片に分割され、コンテンツBは、b1〜b8という8つの断片に分割される。
【0087】
なお、データは、「ファイル」と呼ばれる形式で提供されることが最も多いが、いわゆるバイト列やビット列として構成されるものであれば、どのようなものであっても良い。
また、「識別名」としては、ファイル名を使用するものが最も一般的である。データがある大きなデータ内の一部を構成するものである場合(例えば、プログラム内のオーバーレイモジュールの場合等)、当該大きなデータベースによって検索された位置情報とサイズ情報の組合せが「識別名」となる。また、データベースによって検索された結果を「データ」とする場合には、検索に用いる検索式(SQL式など)を「識別名」としても良い。
【0088】
ここで、端末装置202aが、コンテンツAをサーバ装置201に要求した場合、サーバ装置201は、分割された断片a1〜a6をa1から巡回的に送信することになる。そして、端末装置202aが、コンテンツAに関して、全ての断片を受信した場合には、端末装置202aは、データを復元した後、完了メッセージをサーバ装置201に送信する。これによって、サーバ装置201からの断片送信は終了する。
【0089】
次に、複数の端末装置202が、同一のコンテンツデータを時間を異にして、要求した場合のコンテンツデータの送信方法について、図面を参照して説明する。
【0090】
サーバ装置201が、端末装置202bから、コンテンツBを要求する信号を受信した場合、8つの断片b1〜b8に分割されたコンテンツBのデータを、断片b1から順次、端末装置202bに送り始める。
【0091】
サーバ装置201が、端末装置202bへコンテンツBの断片b1,b2まで送信したときに、端末装置202cから、同一のコンテンツBを要求する信号を受信する。この場合、サーバ装置201は、端末装置202bに対して、既に断片b1,b2まで断片を送信しているので、端末装置202b、202cに対して、断片b3を送信する。
【0092】
端末装置202bは、コンテンツBのデータを断片b1から受信しているので、最後の断片b8を受信したところで、コンテンツBを復元し、サーバ装置201に対して完了メッセージを送信して、断片の受信を終了する。
【0093】
一方、端末装置202cは、断片b3から受信を開始しているので、断片b8まで受信した後、更に断片b1,b2 まで受信した時点で、コンテンツBを復元し、サーバ装置201に対して、完了メッセージを送信して、断片の受信を終了する。
【0094】
また、端末装置202dは、サーバ装置201に対して、サーバ装置201が端末装置202b,202cに対して、断片b4まで送信した時点で、Bコンテンツの要求をする。
その場合、サーバ装置201は、端末装置202dに対して、断片b5から送信することになる。
【0095】
通信障害等の原因から、断片b6を受信できなくとも、端末装置202dは、その後も続けて断片b7、b8を受信する。そして、図3及び図4に示すように、端末装置202dは、最初に受信したb5より前に配信された断片b1〜b4を続けて受信する。
【0096】
更に、端末装置202dは、b6を取得できなかったので、b5,b6まで受信する。端末装置202dは、断片b5については、重複して受信することになる。本システムは、重複受信することより、サーバ装置201の負荷を軽くすることを優先したシステムである。
尚、重複して受信された断片b5は、端末装置202dにおいて、廃棄される。
【0097】
端末装置202dは、断片b6まで取得した時点で、コンテンツBについて全ての断片を取得したことになるので、コンテンツBを復元した後、サーバ装置201に対して、完了メッセージを送信する。
【0098】
このような処理手順に従って、複数の端末装置202は、サーバ装置201からのデータの提供を受けることになる。この場合、データを複数の断片に分けて、巡回的に端末装置202に送信することにより、サーバ装置201は、コンテンツ全データを個別に端末装置に送信するときと比べて、負荷を受けずに処理を継続することができる。
【0099】
また、各断片は、UDPという通信プロトコルを使用して送信する。UDPを使用すると宛先に到達したか否かを判定しないため、高速な通信が可能となる。
【0100】
図5は、本実施形態に係るサーバ装置の概要構成を示す模式図である。図6は、本実施形態に係るサーバ装置にて実行されるサービス方法のサービス処理の制御の流れを示すフローチャートである。図7は、本実施形態に係るサーバ装置にて実行されるサービス方法の受信処理の制御の流れを示すフローチャートである。図8は、本実施形態に係るサーバ装置にて実行されるサービス方法の送信処理の制御の流れを示すフローチャートである。 以下、本図を参照して説明する。なお、以下の説明では、サーバ装置201が上記の情報処理装置100上に実現されている場合を例にあげて説明する。
【0101】
サーバ装置201は、要求受信部501、追加部502、記憶部503、取得部504、断片送信部505、完了受信部506、接続受信部507、削除部508を備える。
【0102】
ここで、記憶部503は、データをデータ識別名に対応付けて記憶する。当該データは、将来端末装置202にダウンロードされるであろうデータである。
【0103】
図6に示すように、本サービス処理は、サーバ装置201が初期化(ステップS601)され、受信処理と(ステップS602)、送信処理(ステップS603)とを並列に開始する。
【0104】
図7に示すように、受信処理が開始すると、サーバ装置201は、端末装置202からメッセージを受信し(ステップS701)、そのメッセージの種類を判断する(ステップS702)。
メッセージが、要求メッセージである場合は、そのメッセージは、要求受信部501において、受信される。要求メッセージは、要求を送信した送信元の端末装置の端末識別名と、要求したコンテンツ等のデータ識別名とを指定するメッセージである。
【0105】
要求受信部501で、要求メッセージが受信されると、当該データ識別名と当該端末識別名とが、接続情報として、追加部502により記憶部503に追加される(ステップS703)。
【0106】
一方、メッセージが、端末装置202が要求したデータを復元したときに送信される完了メッセージである場合、削除部508は、その端末装置202の端末識別名と要求メッセージで指定されたデータ識別名を記録部503から削除する(ステップS704)。
【0107】
また、メッセージが、端末装置202からの接続メッセージであり、当該メッセージが接続受信部507で受信された場合には、その時刻を記録する(ステップS705)。
【0108】
サーバ装置201が、その他のメッセージを受信した場合には、そのメッセージに従った処理を行うことになる(ステップS706)。
【0109】
それぞれのメッセージに応じた処理が完了した後、記憶部503において、記録された時刻がかなり前であるか否かが判断され、記録された時刻がかなり前である場合には(ステップS707;YES)、対応するメッセージに応じたデータは、記憶部503から削除される(ステップS708)。記録された時刻がかなり前でない場合には(ステップS707;NO)、データは削除されない。この一連の処理は、全端末装置202について、繰り返される(ステップS709)。
【0110】
追加部502によって記憶部503に記憶された端末識別名とデータ識別名は、接続情報として、記憶部503に記憶されている。取得部504では、複数の端末装置202から受信したデータ識別名を重複なく取得する。例えば、データ識別名A、B、Cという3種類のデータを、時系列的に、AABACCABという順序で取得した場合、取得部504では、A、B、C各々ひとつづつのデータ識別名を取得する。
【0111】
そして、取得されたデータ識別名毎に、データを分割して断片を取得する。例えば、データ識別名Aを6つに分割して、6個の断片を取得する。
【0112】
各断片の大きさは、UDP通信のパケットとして伝送するのに適したサイズとすることが望ましい。これは、ネットワークの状況によって変化するが、過去の通信履歴から統計的にサイズを求めることができる。
【0113】
更に、取得された各断片は、元のデータで配置されていた位置を指定される。例えば、分割総数○○個の断片のうち当該断片は先頭から数えて○○番目の断片である、という情報を、所定のフォーマットで指定するものとする。
より具体的には、データ識別名Aを6つに分割して出来た6個の断片は、元のデータで配置されていた順番で、(1/6)、(2/6)、(3/6)、(4/6)、(5/6)、(6/6)という位置情報が与えられる。
【0114】
元のデータ識別名は、上述の例のように適当な文字列の形式を定めてこれによって表現しても良いし、整数により識別番号形式で表現しても良い。
【0115】
断片そのものを指定する際には、通信路の途中での通信障害によりデータが壊れたり、第三者の妨害によってデータが改変されたりしたことを検出するため、チェックサムなどを合わせて指定しても良い。
【0116】
従って、記憶部503には、データ要求元の端末識別名、それに対応するデータ識別名、データ自身、断片自身、断片の位置情報が記憶されることになる。
【0117】
そして、断片は、断片の位置情報とともに、断片メッセージとして、断片送信部505から要求元の端末装置202へ送信されることになる。
断片の送信(ステップS804)は、図8に示すように、各端末装置202について(ステップS801)、断片ごと(ステップS802)に、各データ識別名について(ステップS803)繰り返し行われることになる。
【0118】
ここで、記憶部503におけるデータの記憶状況を、図3及び図4の流れに沿って、図9図により説明する。
【0119】
図9の表900には、記憶部503の接続情報の蓄積状況がどのように推移していくかを、システム起動時、各端末装置202a〜202dがコンテンツ要求信号送信時及び完了メッセージ送信時を基準に時系列として示したものである。
【0120】
システムに立ち上がった時点(t0)では、記憶部503は、接続情報のデータは空の状態である。まず、端末装置202aからコンテンツAのデータを要求するメッセージが送信された場合(t1)、追加部502によって、記憶部503には、端末装置202aの端末識別名Xとデータ識別名Aが追加される。すなわち、記憶部503には、接続情報である(端末装置名、データ識別名)が(X、A)という形式で記憶される。サーバ装置201は、データ識別名Aに対応する断片a1〜a6を端末装置202aに巡回的に送信する。
【0121】
次に、端末装置202bからコンテンツBのデータを要求するメッセージが送信された場合(t2)、追加部502によって、記憶部503には、端末装置202bの端末識別名Yとデータ識別名Bが追加される。この時点で、記憶部503には、接続情報として(X、A)、(Y、B)が記憶されている。サーバ装置201は、データ識別名Bに該当する断片b1〜b8を端末装置202bに巡回的に送信する。
【0122】
更に、 端末装置202cからコンテンツBのデータを要求するメッセージが送信された場合(t3)、追加部502によって、記憶部503には、端末装置202cの端末識別名Zとデータ識別名Bが追加される。この時点で、記憶部503には、接続情報として(X、A)、(Y、B)、(Z、B)が記憶されている。サーバ装置201は、データ識別名Bに該当する断片b1〜b8を端末装置202cに巡回的に送信する。
【0123】
そして、端末装置202dからコンテンツBのデータを要求するメッセージが送信された場合(t4)、追加部502によって、記憶部503には、端末装置202dの端末識別名Wとデータ識別名Bが追加される。サーバ装置201は、データ識別名Bに該当する断片b1〜b8を端末装置202dに巡回的に送信する。
【0124】
この時点で、記憶部503には、接続情報として、(X、A)、(Y、B)、(Z、B)、(W、B)が記憶されていることになる。
【0125】
その後、端末装置202aが全ての断片を受信して、完了メッセージをサーバ装置201に送信すると(t5)、記憶部503に記憶された端末装置202aの接続情報である(X、A)は、削除部508によって削除されることになる。従って、記憶部503には接続情報として(Y、B)、(Z、B)、(W、B)が残る。
【0126】
同様に、端末装置202bが完了メッセージをサーバ装置201に送信すると(t6)、記憶部503の接続情報(Y、B)が、削除されるので、記憶部503には、接続情報として(Z、B)、(W、B)が残る。
【0127】
更に、端末装置202cが完了メッセージを送信すると(t7)、接続情報(Z、B)が、記憶部503から、削除部508によって削除されるので、接続情報としては、(W、B)が記憶部503に残ることになる。
【0128】
最後に、端末装置202dが完了メッセージを送信すると(t8)、接続情報(W、B)が、記憶部503から削除され、この時点で記憶部503の接続情報は空の状態となる。
【0129】
これらの一連の処理において、サーバ装置201は、どの端末装置202がどの断片を入手したかは管理していないため、サーバ装置201での計算処理の負荷は少なく、効率のよいサーバ処理を行うことができる。
【0130】
なお、サーバ装置201で受信される要求メッセージ及び完了メッセージは、コネクション型プロトコルにより受信される。
【0131】
コネクション型プロトコルは、通信を開始するときに、送信側から接続要求を出し、相手方からは接続応答があり、コネクションを確立してからデータを送信することを特徴としている。送信側からデータが送信されると、受信側では確認応答(Acknowledgment::ACK)を送って、確実に受信したことを伝える。
【0132】
コネクション型プロトコルは、通信効率は優先せずに、信頼性の高いデータ伝送を望む場合に使用されることが多い。本実施態様においても、要求メッセージ及び完了メッセージは、確実に送受信することが望まれるので、コネクション型プロトコルを使用することが好ましい。
【0133】
インターネットのトランスポート層では、TCP(Transmission Control Protocol)が使用される。
【0134】
一方、サーバ装置から送信される断片メッセージには、コネクションレス型プロトコルを使用することが好ましい。
【0135】
コネクションレス型プロトコルは、データ伝送を始める前にコネクションを確立しない通信プロトコルである。コネクションレス型プロトコルは、宛先のみを指定してデータを送信するので、コネクションの確立やACKなどの通信データの送信等の処理がないため、通信効率がよい。
【0136】
本実施形態においても、断片送受信については、通信の信頼性はある程度犠牲にしても、通信効率を求められるので、コネクションレス型プロトコルを使用することが好適である。
【0137】
インターネットのトランスポート層では、UDP(User Datagram Protocol)が採用される。UDPは、ポート番号以外のTCPの機能を全て削除した通信プロトコルである。
【0138】
このように、本実施形態では、送信元から要求されたデータを、複数の断片に分割して、巡回的に送信することにより、サーバ装置の負荷を軽減することができる。
【0139】
また、サーバ装置におけるデータの送受信において、受信するメッセージである受信メッセージと完了メッセージは、信頼性の高いコネクション型プロトコルを使用するとともに、送信するメッセージであるデータの断片については、コネクションレス型プロトコルを使用することにより、サーバ装置の負荷を更に軽減することができる。
【0140】
図10は、本実施形態に係る端末装置の概要構成を示す模式図である。図11は、本実施形態に係る端末装置にて実行される端末方法の端末処理の制御の流れを示すフローチャートである。以下、本図を参照して説明する。なお、以下の説明では、端末装置202が上記の情報処理装置100上に実現されている場合を例にあげて説明する。
【0141】
複数の端末装置202は、それぞれ、要求送信部1001、接続送信部1002、断片受信部1003、蓄積部1004、復元部1005、完了送信部1006を備える。
【0142】
本処理が開始されると、各端末装置202の要求送信部1001は、サーバ装置201へ要求メッセージを送信する。(ステップS1101)要求メッセージには、要求するデータのデータ識別名と、送信元である端末識別名とが含まれる。
【0143】
各端末装置202では、サーバ装置201から断片メッセージが到着したか否かが判断され、断片メッセージが到着した場合(ステップS1102;YES)には、NIC109を介して、サーバ装置201で生成されたデータの断片を、断片受信部1003において巡回的に受信する(ステップS1103)。
【0144】
受信された断片が、初めて受信した断片であった場合(ステップS1104;YES)、蓄積部1004において、断片メッセージにより指定される断片のデータ内容と、当該断片が元のデータにおいてどの位置に配置されていたかを示す位置情報とが、対応付けられて蓄積される(ステップS1105)。
【0145】
受信された断片が、既に受信した断片であった場合(ステップS1104;NO)、その断片は削除され(ステップS1106)、新しい断片が到着したかを判断する(ステップS1102)。
【0146】
断片メッセージが到着していない場合(ステップS1102;NO)には、一定時間が経過したか否かを判断し、一定時間が経過していれば(ステップS1107;YES)、接続送信部1002から接続メッセージが送信され(ステップS1108)、断片メッセージの到着に備える(ステップS1102)。一定時間が経過していなければ(ステップS1107;NO)、接続メッセージは送信されず、断片メッセージの到着に備える(ステップS1102)。
【0147】
蓄積部1004において、断片とその位置情報を蓄積した場合には、更に、要求した全ての断片を蓄積したかを判断し(ステップS1109)、要求したデータの全ての断片を蓄積した場合には(ステップS1109;YES)、位置情報に基づいて、復元部1005にてデータを復元する(ステップS1010)。そして、完了送信部1006が、完了メッセージをサーバ装置201に送信して(ステップ1011)、処理を終了する。
【0148】
一方、全ての断片を蓄積していない場合(ステップ1109;NO)には、一定時間が経過したか否かを判断し(ステップS1107)、一定時間が経過している場合には(ステップS1107;YES)、接続送信部1002からサーバ装置201へ接続メッセージを送信し(ステップS1108)、断片メッセージの到着に備える(ステップS1102)。
一定時間が経過していない場合には(ステップS1107;NO)、接続メッセージは送信せず、断片メッセージの到着に備える(ステップS1102)。
そして、全ての断片を取得するまで、この処理は繰り返される。
【0149】
ここで、端末装置202において、断片が蓄積していく過程を、図3、図4における端末装置202dでの処理フローを例に、以下説明する。
【0150】
端末装置202dがBコンテンツを要求する要求メッセージを送信した場合、サーバ装置201は、既にコンテンツBの断片b4まで送信しているので、断片b5を端末202dに送信する。
【0151】
サーバ装置201は、断片を送信する際には、断片メッセージとして、その断片自身と断片の分割元の配置位置情報とを含めて送信する。従って、端末装置202dで断片b5を受信する際には、断片自体b5と断片の位置情報、すなわち(b5,5/8)というデータを受信し、蓄積部1004に蓄積する。
【0152】
断片b6は、受信ミスで、受信できないので、蓄積部1004にはデータは蓄積されない。断片b7は受信されるので、蓄積部904に、(b7、7/8)というデータとして蓄積される。この時点は、蓄積部1004には、(b5、5/8)、(b7、7/8)というデータが蓄積される。
【0153】
断片b8も受信され、蓄積部1004に、(b8、8/8)というデータが蓄積される。
従って、蓄積部1004には、(b5,5/8)、(b7,7/8)、(b8,8/8)というデータが蓄積されることになる。
【0154】
断片は巡回的に送信されているので、続いて、断片b1、断片b2、断片b3、断片b4の順で断片メッセージが端末装置202dで受信されるので、この時点で蓄積部904には、(b5,5/8)、(b7,7/8)、(b8,8/8)、(b1,1/8)、(b2、2/8)、(b3、3/8)、(b4、4/8)というデータが蓄積されることになる。
【0155】
端末装置202dは、受信ミスをしていなければ、この段階で全ての断片が揃うことになるが、断片b6を受信していないので、更に受信を継続する。
すなわち、端末装置202dは、断片b5,断片b6の順で断片メッセージを受信するが、断片b5は既に受信しているために蓄積部1004には蓄積されず、断片b6の断片メッセージ(b6,6/8)のみが蓄積部1004に蓄積される。
【0156】
この時点でコンテンツBの断片は、全て揃うことになり、蓄積部1004には、(b5,5/8)、(b7,7/8)、(b8,8/8)、(b1,1/8)、(b2、2/8)、(b3,3/8)、(b4,4/8)、(b6,6/8)というデータが蓄積されることになる。
【0157】
そして、蓄積部1004に蓄積された各データは、断片それぞれに付与された位置情報に基づいて正式な順番に並び替えられる。すなわち、(b1,1/8)、(b2,2/8)、(b3,3/8)、(b4、4/8)、(b5,5/8)、(b6,6/8)、(b7,7/8)、(b8,8/8)と並び替えられ、コンテンツBが復元される。
【0158】
尚、本実施形態では、端末装置202dを例に、蓄積部1004におけるデータ蓄積過程を説明したが、他の端末装置202a、202b、202cにおいても同様な処理が行われる。
【0159】
このように、端末装置202で、要求したデータを断片の状態で巡回的に受信することになるので、サーバ装置201の負担を軽減することができる。さらに、サーバ装置201が、端末装置202から送信される接続信号に基づいて、接続状況を常時確認できるので、両者間で無駄な通信を行うこと回避することができる。
【0160】
(変形例1)
通信状態が悪い等の原因で、断片を受信できなかった場合、上記の実施形態では、巡回的に送信される断片を繰り返し取得することで、未取得の断片を取得しているが、本変形例によれば、未取得の断片のみを個別に受信することもできる。以下に、その断片受信方法を説明する。
【0161】
端末装置202では、蓄積部1004で断片の位置情報を蓄積しているので、一定期間内における断片受信個数と位置情報を確認することができる。例えば、コンテンツBの断片をb1からb8まで取得した場合、全ての断片を取得していれば位置情報は1/8〜8/8まで揃い、端末装置202は、100%の確率で断片を受信していることになる。
【0162】
一方、断片b1からb8まで取得する間、断片b3,b5を受信できなかった場合には、位置情報3/8,5/8がないことがわかり、端末装置202は、3/4の確率で断片を受信していることがわかる。
【0163】
このように、一定期間内における断片個数と位置情報を確認することにより、その期間における通信状況が良好か否かを判断することができる。
従って、端末装置202は、一定値の受信確率以上であれば、通信状況が良好と判断して、サーバ装置201に対して、受信できなかった断片の再送を指示する。
指示を受信したサーバ装置201は、当該断片を個別に送信することになる。
【0164】
サーバ装置201が、当該断片を送信する際には、確実に送信する必要があるためコネクション型の通信プロトコルを使用することが望ましい。
【0165】
一方、受信確率が一定値以下である場合には、通信状況が良好ではないと判断され、端末装置202からの再送指示は行わない。この場合には、上記実施形態における送信方法であるUDP形式での断片送信を行うことになる。
【0166】
このように、本変形例によれば、サーバ装置と端末装置との間の通信状態が良好であれば、個別に未受信の断片を取得することができ、端末装置でのデータ復元を速やかに実行することができる。
【産業上の利用可能性】
【0167】
以上説明したように、ネットワーク経由で複数の端末で同一のデータを取得する際に、サーバの負担を軽減でき、データの伝送効率を向上させることができる配信システム、サーバ装置、端末装置、サービス方法、端末方法、並びにこれらをコンピュータにて実現するプログラムを提供することができる。
【符号の説明】
【0168】
100 情報処理装置
101 CPU
102 ROM
103 RAM
104 インターフェイス
105 コントローラ
106 外部メモリ
107 画像処理部
108 DVD−ROMドライブ
109 NIC
110 音声処理部
200 配信システム
201 サーバ装置
202 端末装置
203 ネットワーク
501 要求受信部
502 追加部
503 記憶部
504 取得部
505 断片送信部
506 完了受信部
507 接続受信部
508 削除部
1001 要求送信部
1002 接続送信部
1003 断片受信部
1004 蓄積部
1005 復元部
1006 完了送信部

【特許請求の範囲】
【請求項1】
サーバ装置と、当該サーバ装置と通信可能に接続される複数の端末装置と、を有する配信システムであって、
(a)前記サーバ装置は、
端末識別名と、データ識別名と、が指定される接続情報が記憶される記憶部、
前記複数の端末装置のいずれかから、データ識別名を指定する要求メッセージを受信する要求受信部、
前記要求メッセージが受信されると、当該要求メッセージの送信元の端末装置の端末識別名と、当該要求メッセージに指定されたデータ識別名と、を指定する接続情報を、前記記憶部に追加する追加部、
前記記憶部に接続情報が記憶されている間、当該記憶されている接続情報のそれぞれに指定されているデータ識別名を重複なく取得し、当該重複なく取得されたデータ識別名毎に、当該データ識別名に対応付けられるデータを分割することにより得られる断片を、所定の巡回順序で取得する取得部、
前記断片が取得されると、当該断片と、当該断片の分割元のデータ内において、当該断片が配置されていた位置と、を指定する断片メッセージを、当該断片が取得される起因となった接続情報に指定されている端末識別名を有する端末装置のそれぞれへ、送信する断片送信部、
前記複数の端末装置のいずれかから、データ識別名を指定する完了メッセージを受信する完了受信部、
前記完了メッセージが受信されると、当該完了メッセージの送信元の端末装置の端末識別名と、当該要求メッセージに指定されたデータ識別名と、が指定されている接続情報を、前記記憶部から削除する削除部
を備え、
(b)前記複数の端末装置のそれぞれは、
前記サーバ装置へ、所望のデータのデータ識別名を指定する要求メッセージを送信する要求送信部、
前記所望のデータが復元されるまで、前記サーバ装置から、断片メッセージを受信する断片受信部、
前記受信された断片メッセージに指定される断片と、当該断片が当該所望のデータにおいて配置されていた位置と、を、対応付けて蓄積する蓄積部、
前記所望のデータを分割することにより得られるすべての断片が蓄積されると、当該蓄積された断片のそれぞれと、当該蓄積された断片のそれぞれに対応付けて蓄積された位置と、から、当該所望のデータを復元する復元部、
前記所望のデータが復元されると、前記サーバ装置へ、当該所望のデータのデータ識別名を指定する完了メッセージを送信する完了送信部
を備えることを特徴とする配信システム。
【請求項2】
複数の端末装置と通信可能に接続されるサーバ装置であって、
端末識別名と、データ識別名と、が指定される接続情報が記憶される記憶部、
前記複数の端末装置のいずれかから、データ識別名を指定する要求メッセージを受信する要求受信部、
前記要求メッセージが受信されると、当該要求メッセージの送信元の端末装置の端末識別名と、当該要求メッセージに指定されたデータ識別名と、を指定する接続情報を、前記記憶部に追加する追加部、
前記記憶部に接続情報が記憶されている間、当該記憶されている接続情報のそれぞれに指定されているデータ識別名を重複なく取得し、当該重複なく取得されたデータ識別名毎に、当該データ識別名に対応付けられるデータを分割することにより得られる断片を、所定の巡回順序で取得する取得部、
前記断片が取得されると、当該断片と、当該断片の分割元のデータ内において、当該断片が配置されていた位置と、を指定する断片メッセージを、当該断片が取得される起因となった接続情報に指定されている端末識別名を有する端末装置のそれぞれへ、送信する断片送信部、
前記複数の端末装置のいずれかから、データ識別名を指定する完了メッセージを受信する完了受信部、
前記完了メッセージが受信されると、当該完了メッセージの送信元の端末装置の端末識別名と、当該要求メッセージに指定されたデータ識別名と、が指定されている接続情報を、前記記憶部から削除する削除部
を備えることを特徴とするサーバ装置。
【請求項3】
請求項2に記載のサーバ装置であって、
前記要求受信部ならびに前記完了受信部は、それぞれ、前記要求メッセージならびに前記完了メッセージを、コネクション型プロトコルにより受信し、
前記断片送信部は、前記断片メッセージを、コネクションレス型プロトコルにより送信する
ことを特徴とするサーバ装置。
【請求項4】
請求項3に記載のサーバ装置であって、
前記コネクション型プロトコルは、TCP(Transmission Control Protocol)であり、
前記コネクションレス型プロトコルは、UDP(User Datagram Protocol)である
ことを特徴とするサーバ装置。
【請求項5】
請求項2から4のいずれか1項に記載のサーバ装置であって、
前記複数の端末装置のいずれかから、接続メッセージを受信する接続受信部
をさらに備え、
前記削除部は、前記記憶部に記憶される接続情報のそれぞれについて、当該接続情報に接続する端末識別名を有する端末装置から送信される接続メッセージが、所定の閾値時間以上受信されなかった場合、当該接続情報を、前記記憶部から削除する
ことを特徴とするサーバ装置。
【請求項6】
サーバ装置と通信可能に接続される端末装置であって、
前記サーバ装置へ、所望のデータのデータ識別名を指定する要求メッセージを送信する要求送信部、
前記所望のデータが復元されるまで、前記サーバ装置から、断片メッセージを受信する断片受信部、
前記受信された断片メッセージに指定される断片と、当該断片が当該所望のデータにおいて配置されていた位置と、を、対応付けて蓄積する蓄積部、
前記所望のデータを分割することにより得られるすべての断片が蓄積されると、当該蓄積された断片のそれぞれと、当該蓄積された断片のそれぞれに対応付けて蓄積された位置と、から、当該所望のデータを復元する復元部、
前記所望のデータが復元されると、前記サーバ装置へ、当該所望のデータのデータ識別名を指定する完了メッセージを送信する完了送信部
を備えることを特徴とする端末装置。
【請求項7】
請求項6に記載の端末装置であって、
前記要求メッセージを送信した後、前記所望のデータが復元されるまで、所定の時間間隔で、前記サーバ装置へ、接続メッセージを送信する接続送信部
をさらに備えることを特徴とする端末装置。
【請求項8】
サーバ装置が、実行するサービス方法であって、前記サーバ装置は、記憶部、要求受信部、追加部、取得部、断片送信部、完了受信部、削除部を有し、
記憶部には、端末識別名と、データ識別名と、が指定される接続情報が記憶され、
要求受信部が、複数の端末装置のいずれかから、データ識別名を指定する要求メッセージを受信する要求受信工程、
追加部が、前記要求メッセージが受信されると、当該要求メッセージの送信元の端末装置の端末識別名と、当該要求メッセージに指定されたデータ識別名と、を指定する接続情報を、前記記憶部に追加する追加工程、
取得部が、前記記憶部に接続情報が記憶されている間、当該記憶されている接続情報のそれぞれに指定されているデータ識別名を重複なく取得し、当該重複なく取得されたデータ識別名毎に、当該データ識別名に対応付けられるデータを分割することにより得られる断片を、所定の巡回順序で取得する取得工程、
断片送信部が、前記断片が取得されると、当該断片と、当該断片の分割元のデータ内において、当該断片が配置されていた位置と、を指定する断片メッセージを、当該断片が取得される起因となった接続情報に指定されている端末識別名を有する端末装置のそれぞれへ、送信する断片送信工程、
完了受信部が、前記複数の端末装置のいずれかから、データ識別名を指定する完了メッセージを受信する完了受信工程、
削除部が、前記完了メッセージが受信されると、当該完了メッセージの送信元の端末装置の端末識別名と、当該要求メッセージに指定されたデータ識別名と、が指定されている接続情報を、前記記憶部から削除する削除工程を備えることを特徴とするサービス方法。
【請求項9】
サーバ装置と通信可能に接続される端末装置が実行する端末方法であって、前記端末装置は、要求送信部、断片受信部、蓄積部、復元部、完了送信部を有し、
要求送信部が、前記サーバ装置へ、所望のデータのデータ識別名を指定する要求メッセージを送信する要求送信工程と、
断片受信部が、前記所望のデータが復元されるまで、前記サーバ装置から、断片メッセージを受信する断片受信工程と、
蓄積部が、前記受信された断片メッセージに指定される断片と、当該断片が当該所望のデータにおいて配置されていた位置と、を、対応付けて蓄積する蓄積工程と、
復元部が、前記所望のデータを分割することにより得られるすべての断片が蓄積されると、当該蓄積された断片のそれぞれと、当該蓄積された断片のそれぞれに対応付けて蓄積された位置と、から、当該所望のデータを復元する復元工程と、
完了送信部が、前記所望のデータが復元されると、前記サーバ装置へ、当該所望のデータのデータ識別名を指定する完了メッセージを送信する完了送信工程と
を備えることを特徴とする端末方法。
【請求項10】
コンピュータを、複数の端末装置と通信可能に接続されるサーバ装置として機能させるプログラムであって、前記プログラムは、前記コンピュータを
端末識別名と、データ識別名と、が指定される接続情報が記憶される記憶部、
前記複数の端末装置のいずれかから、データ識別名を指定する要求メッセージを受信する要求受信部、
前記要求メッセージが受信されると、当該要求メッセージの送信元の端末装置の端末識別名と、当該要求メッセージに指定されたデータ識別名と、を指定する接続情報を、前記記憶部に追加する追加部、
前記記憶部に接続情報が記憶されている間、当該記憶されている接続情報のそれぞれに指定されているデータ識別名を重複なく取得し、当該重複なく取得されたデータ識別名毎に、当該データ識別名に対応付けられるデータを分割することにより得られる断片を、所定の巡回順序で取得する取得部、
前記断片が取得されると、当該断片と、当該断片の分割元のデータ内において、当該断片が配置されていた位置と、を指定する断片メッセージを、当該断片が取得される起因となった接続情報に指定されている端末識別名を有する端末装置のそれぞれへ、送信する断片送信部、
前記複数の端末装置のいずれかから、データ識別名を指定する完了メッセージを受信する完了受信部、
前記完了メッセージが受信されると、当該完了メッセージの送信元の端末装置の端末識別名と、当該要求メッセージに指定されたデータ識別名と、が指定されている接続情報を、前記記憶部から削除する削除部
として機能させることを特徴とするプログラム。
【請求項11】
コンピュータを、サーバ装置と通信可能に接続される端末装置として機能させるプログラムであって、前記プログラムは、前記コンピュータを
前記サーバ装置へ、所望のデータのデータ識別名を指定する要求メッセージを送信する要求送信部、
前記所望のデータが復元されるまで、前記サーバ装置から、断片メッセージを受信する断片受信部、
前記受信された断片メッセージに指定される断片と、当該断片が当該所望のデータにおいて配置されていた位置と、を、対応付けて蓄積する蓄積部、
前記所望のデータを分割することにより得られるすべての断片が蓄積されると、当該蓄積された断片のそれぞれと、当該蓄積された断片のそれぞれに対応付けて蓄積された位置と、から、当該所望のデータを復元する復元部、
前記所望のデータが復元されると、前記サーバ装置へ、当該所望のデータのデータ識別名を指定する完了メッセージを送信する完了送信部
として機能させることを特徴とするプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate