(57)【要約】サーバ装置１１は、クライアント装置（１）からの送信要求ＲＥＱ１を受信すると、クライアント装置（１）にグループアドレスＩＮＦ１を送信する。サーバ装置１１は、要求された情報を分割したブロックＸ１〜Ｘ４のうち先頭のブロックＸ１を、グループアドレスＩＮＦ１を指定してネットワーク１０に送信する。サーバ装置１１は、ブロックＸ１をクライアント装置（１）に送信した後にクライアント装置（２）からの送信要求ＲＥＱ２を受信すると、クライアント装置（２）にグループアドレスＩＮＦ２を送信する。サーバ装置１１は、２番目〜４番目のブロックＸ２〜Ｘ４を、グループアドレスＩＮＦ１及びＩＮＦ２を指定してネットワーク１０に送信する。また、サーバ装置１１は、４番目のブロックＸ４を送信した後、続けて１番目のブロックＸ１をグループアドレスＩＮＦ２を指定してネットワーク１０に送信して、送信処理を終了する。
2002056549.tif 000002
【特許請求の範囲】
【請求項１】
通信回線と、通信回線に接続された少なくとも１つの情報送信装置と、通信回線に接続された少なくとも第１及び第２の情報受信装置とを備え、情報送信装置は、第１あるいは第２の情報受信装置からの送信要求の受信に応答して、送信を要求された情報を分割したブロックを、送信要求を送信した第１あるいは第２の情報受信装置に送信する通信装置であって、
情報送信装置は、第１の情報受信装置からの所定の情報の送信要求の受信に応答して、所定の情報を分割したブロックを、第１の情報受信装置に設定されているグループアドレスを指定して通信回線に送信している時に、第２の情報受信装置からの所定の情報の送信要求を受信した場合には、第１の情報受信装置に未送信のブロックは、第１の情報受信装置に設定されているグループアドレス及び第２の情報受信装置に設定されているグループアドレスを指定し、第１の情報受信装置に送信済のブロックは、第２の情報受信装置に設定されているグループアドレスを指定して通信回線に送信し、
第１及び第２の情報受信装置は、送信要求を情報送信装置に送信し、自己に設定されているグループアドレスと一致するグループアドレスが指定されているブロックを通信回線から受信して記憶する、
通信装置。
【請求項２】
請求項１に記載の通信装置であって、
情報送信装置は、所定の情報を分割したブロックと、各ブロックの順序を示す分割順序情報を通信回線に送信し、
情報受信装置は、通信回線から受信したブロックと、各ブロックの分割順序情報に基づいて情報を復元する、
通信装置。
【請求項３】
請求項１に記載の通信装置であって、
情報送信装置は、所定の情報を分割したブロックの全てを、所定の情報の送信を要求した情報受信装置に送信する前に、他の情報受装置からの所定の情報の送信要求を受信する限り、所定の情報を分割したブロックを、予め定められた順序で循環的に送信する、
通信装置。
【請求項４】
請求項１に記載の通信装置であって、
所定の情報を分割したブロックを記憶する記憶装置を備え、
情報送信装置は、予め定められた順序で記憶装置からブロックを読み出して通信回線に送信する、
通信装置。
【請求項５】
請求項１に記載の通信装置であって、
所定の情報を供給する情報供給装置を備え、
情報送信装置は、情報供給装置から供給された所定の情報を分割したブロックと、各ブロックの順序を示す分割順序情報を通信回線に送信する、
通信装置。
【請求項６】
請求項５に記載の通信装置であって、
情報送信装置は、情報供給装置から供給された所定の情報を分割したブロックと、各ブロックの順序を示す分割順序情報を、所定の順序で記憶装置に記憶させ、情報供給装置から供給された所定の情報の送信要求を受信した場合には、記憶装置から各ブロックと分割順序情報を所定の順序で読み出して通信回線に送信する、
通信装置。
【請求項７】
請求項５に記載の通信装置であって、
情報送信装置は、情報供給装置から供給された所定の情報を分割したブロックと、各ブロックの順序を示す分割順序情報を記憶装置に記憶させ、情報供給装置から供給された所定の情報の送信要求を受信した場合には、分割順序情報で示されている順序で記憶装置から各ブロックと分割順序情報を読み出して通信回線に送信する、
通信装置。
【請求項８】
請求項１に記載の通信装置であって、
情報送信装置は、ブロックに誤り検出／訂正情報を付加して送信し、
情報受信装置は、ブロックとともに受信した誤り検出／訂正情報に基づいて、誤りの検出及び誤りの訂正を行う、
通信装置。
【請求項９】
請求項２に記載の通信装置であって、
情報受信装置は、各ブロックの分割順序情報に基づいてブロックの受信が正常に行われたか否かを判別する、
通信装置。
【請求項１０】
請求項１に記載の通信装置であって、
情報送信装置は、情報受信装置からの再送要求を受信すると、再送を要求されたブロックを、再送要求を送信した情報受信装置に送信し、
情報受信装置は、再送要求を情報送信装置に送信し、情報送信装置から再送信されたブロックを受信して記憶する、
通信装置。
【請求項１１】
請求項１０に記載の通信装置であって、
送信用のブロックを記憶する送信用記憶装置と、再送信用のブロックを記憶する再送用記憶装置を備え、
情報送信装置は、送信要求の受信時には、送信用記憶装置からブロックを読み出し、再送信要求の受信時には、再送信用記憶装置からブロックを読み出す、
通信装置。
【請求項１２】
請求項１０に記載の通信装置であって、
情報送信装置は、情報受信装置からの再送信要求を受信すると、再送を要求された情報を構成するブロックの全てを通信回線に送信する、
通信装置。
【請求項１３】
請求項１０に記載の通信装置であって、
情報送信装置は、情報受信装置からの再送信要求を受信すると、通信回線の帯域使用状況の判別結果に基づいて、再送信を要求されたブロックを再送信要求を送信した情報受信装置に設定されているアドレスを指定して送信するか、再送信を要求されたブロックを再送信要求を送信した情報受信装置に設定されているグループアドレスを指定して通信回線に送信するかを決定する、
通信装置。
【請求項１４】
請求項１３に記載の通信装置であって、
情報送信装置は、再送信を要求されたブロックの数と制限値との比較結果により通信回線の帯域使用状況を判別する、
通信装置。
【請求項１５】
請求項１３に記載の通信装置であって、
情報送信装置は、決定結果を再送信要求を送信した情報受信装置に通知し、
情報受信装置は、情報送信装置から通知された決定結果に基づいて、再送信を要求したブロックの受信方法を選択する、
通信装置。
【請求項１６】
請求項１に記載の通信装置であって、
情報送信装置は、所定時間内における通信回線のデータ量が所定量以下となるように、通信回線に送信するブロックの数を調整する、
通信装置。
【請求項１７】
請求項１に記載の通信装置であって、
情報送信装置は、第１あるいは第２の情報受信装置からの送信要求を受信した場合、第１あるいは第２の情報受信装置に、第１あるいは第２の情報受信装置に設定されているグループアドレスを送信し、
第１あるいは第２の情報受信装置は、情報送信装置から送信されたグループアドレスを自己に設定されているグループアドレスとして記憶する、
通信装置。
【請求項１８】
請求項１に記載の通信装置であって、
情報送信装置は、第１あるいは第２の情報受信装置からの送信要求を受信した場合、情報送信装置から送信するブロックが送信要求を送信した第１あるいは第２の情報受信装置に到達するように通信回線を設定する、
通信装置。
【請求項１９】
情報受信装置から送信された送信要求の受信に応答して、送信を要求された所定の情報を分割したブロックを順に送信する少なくとも１つの情報送信装置と、送信要求を送信するとともに、情報送信装置から送信された各ブロックを受信する少なくとも第１及び第２の情報受信装置とを備え、
情報送信装置は、第１の情報受信装置から送信された送信要求を受信した時には、送信を要求された所定の情報を分割したブロックを第１及び第２の情報受信装置に設定されている所定のグループアドレスを指定して順に送信し、所定の情報を分割したブロックを全て送信する前に、第２の情報受信装置から送信された送信要求を受信した時には、第２の情報受信装置から送信された送信要求を受信した時点から所定の情報を分割したブロックを全て送信するまで各ブロックの送信を継続し、
第１及び第２の情報受信装置は、自己に設定されているグループアドレスと一致するグループアドレスが指定されているブロックを、送信を要求した所定の情報を分割したブロックの総数だけ受信して記憶する、
通信装置。
【請求項２０】
請求項１９に記載の通信装置であって、
情報送信装置は、第１あるいは第２の情報受信装置から送信された送信要求を受信すると、送信を要求された所定の情報を分割したブロックの総数を、送信要求を送信した第１あるいは第２の情報受信装置に送信し、
第１及び第２の情報受信装置は、情報送信装置から送信された、所定の情報を分割したブロックの総数に基づいてブロックを受信する、
通信装置。
【請求項２１】
請求項１９に記載の通信装置であって、
情報送信装置は、各ブロックの順序を示す分割順序情報を送信し、
情報受信装置は、各ブロックの分割順序情報に基づいてブロックを受信する、通信装置。
【請求項２２】
通信回線に接続された情報受信装置から送信された送信要求の受信に応答して、情報送信装置から、送信を要求された情報を分割したブロックを、送信要求を送信した情報受信装置に設定されているグループアドレスを指定して通信回線に送信する通信方法であって、
第１の情報受信装置から送信された所定の情報の送信要求の受信に応答して、情報送信装置から、所定の情報を分割したブロックを、第１の情報受信装置に設定されているグループアドレスを指定して通信回線に送信するステップと、
所定の情報を分割したブロックを第１の情報受信装置に送信している時に、第２の情報受信装置から送信された所定の情報の送信要求を情報送信装置が受信した場合には、第１の情報受信装置に未送信のブロックを、第１の情報受信装置に設定されているグループアドレス及び第２の情報受信装置に設定されているグループアドレスを指定して、第１の情報送信装置に送信済のブロックを、第２の情報受信装置に設定されているグループアドレスを指定して情報送信装置から通信回線に送信するステップと、
を有する通信方法。
【請求項２３】
情報送信装置から情報受信装置に、情報受信装置に設定されているグループアドレスを指定して情報を送信する情報送信方法であって、
第１の情報受信装置から送信された所定の情報の送信要求の受信に応答して、所定の情報を分割したブロックを、第１の情報受信装置に設定されているグループアドレスを指定して情報送信装置から送信するステップと、
所定の情報を分割したブロックの全てを第１の情報受信装置に送信する前に、第２の情報受信装置から送信された所定の情報の送信要求を受信した場合には、第１の情報受信装置に未送信のブロックを第１の情報受信装置に設定されているグループアドレス及び第２の情報受信装置に設定されているグループアドレスを指定して、第１の情報送信装置に送信済のブロックを第２の情報受信装置に設定されているグループアドレスを指定して情報送信装置から送信するステップと、を備える情報送信方法。
【請求項２４】
請求項２３に記載の情報送信方法であって、ブロックとともに、そのブロックの順序を示す分割順序情報を情報送信装置から送信する情報送信方法。
【請求項２５】
情報を分割し、グループ分けされたブロックを含む少なくとも第１及び第２のセグメントを情報送信装置から少なくとも第１及び第２の情報受信装置に送信する通信方法であって、
第１の情報受信装置から送信された送信要求の受信に応答して、第１のセグメントに含まれているブロックを第１の情報受信装置に設定されているグループアドレスを指定して情報送信装置から順に送信している時に、第２の情報受信装置から送信された、第１のセグメントからの送信を要求する送信要求を受信した場合には、第１のセグメントに含まれているブロックのうち、第１の情報受信装置に未送信のブロックを第１の情報受信装置に設定されているグループアドレスを指定して情報送信装置から送信する際に、第２の情報受信装置に設定されているグループアドレスも指定して送信するステップと、
第１のセグメントに含まれているブロックの全てを第１の情報受信装置に送信したことに応答して、第１のセグメントに含まれているブロックのうち、第２の情報受信装置に未送信のブロックを第２の情報受信装置に設定されているグループアドレスを指定して情報送信装置から順に送信するとともに、第２のセグメントに含まれているブロックを第１の情報受信装置に設定されているグループアドレスを指定して情報送信装置から順に送信するステップと、
第１のセグメントに含まれているブロックの全てを第２の情報受信装置に送信したことに応答して、第２のセグメントに含まれているブロックを第１の情報受信装置に設定されているグループアドレスを指定して情報送信装置から送信する際に、第２の情報受信装置に設定されているグループアドレスも指定して送信するステップと、
第１のセグメントに含まれているブロックの全てを第１の情報受信装置に送信してから、第１のセグメントに含まれているブロックの全てを第２の情報受信装置に送信するまでの間、第１の情報受信装置に設定されているグループアドレスが指定されたブロックを第２の情報受信装置に受信させるステップと、
を備える情報送信方法。
【請求項２６】
請求項２５に記載の情報送信方法であって、
情報送信装置から第１の情報受信装置に設定されているグループアドレスを第２の情報受信装置に送信することによって、第１のセグメントに含まれているブロックの全てを第１の情報受信装置に送信してから、第１のセグメントに含まれているブロックの全てを第２の情報受信装置に送信するまでの間、第１の情報受信装置に設定されているグループアドレスが指定されたブロックを第２の情報受信装置に受信させる、
情報送信装置。
【請求項２７】
請求項２５に記載の情報送信方法であって、
第２のセグメントに含まれているブロックを第１の情報受信装置に設定されているグループアドレス及び第２の情報受信装置に設定されているグループアドレスを指定して情報送信装置から送信することによって、第１のセグメントに含まれているブロックの全てを第１の情報受信装置に送信してから、第１のセグメントに含まれているブロックの全てを第２の情報受信装置に送信するまでの間、第１の情報受信装置に設定されているグループアドレスが指定されたブロックを第２の情報受信装置に受信させる、
情報送信装置。
【請求項２８】
送信要求の受信に応答して、送信を要求されたセグメントに含まれているブロックを順に送信する少なくとも１つの情報送信装置と、情報送信装置から送信された各ブロックを受信する少なくとも第１及び第２の情報受信装置とを備え、
情報送信装置は、第１の情報受信装置から送信された送信要求の受信に応答して、第１のセグメントに含まれているブロックを第１及び第２の情報受信装置に設定されている所定のグループアドレスを指定して順に送信している時に、第２の情報受信装置から送信された、第１のセグメントからの送信を要求する送信要求を受信した場合には、第２の情報受信装置から送信された送信要求を受信してから第１のセグメントに含まれているブロックを全て送信するまで第１のセグメントに含まれているブロックの送信を継続するとともに、第１のセグメントに含まれているブロックの第１の情報受信装置への送信を開始してから第１のセグメントに含まれているブロックを全て送信すると、第２のセグメントに含まれているブロックを所定のグループアドレスを指定して順に送信し、
第１及び第２の情報受信装置は、自己に設定されている所定のグループアドレスと一致するグループアドレスが指定されている各セグメントのブロックを、各セグメントに含まれているブロックの総数だけ受信して記憶する、
通信装置。
【請求項２９】
請求項２８に記載の通信装置であって、
情報送信装置は、各セグメントに含まれているブロックの総数を第１及び第２の情報受信装置に送信し、
第１及び第２の情報受信装置は、情報送信装置から送信された各セグメントに含まれているブロックの総数に基づいて各セグメントのブロックを受信する、
通信装置。
【請求項３０】
送信要求の受信に応答して、送信を要求されたセグメントに含まれているブロックを順に送信する少なくとも１つの情報送信装置と、情報送信装置から送信された各ブロックを受信する少なくとも第１及び第２の情報受信装置とを備え、
情報送信装置は、第１の情報受信装置から送信された送信要求の受信に応答して、第１のセグメントに含まれているブロックを第１の情報受信装置に設定されているグループアドレスを指定して順に送信している時に、第２の情報受信装置から送信された、順序が第１のセグメントより前の第２のセグメントからの送信を要求する送信要求を受信した場合には、第１のセグメントに含まれているブロックを第１の情報受信装置に設定されているグループアドレスを指定して順に送信する処理を継続するとともに、第２のセグメント〜第１のセグメントに含まれているブロックを第２の情報受信装置に設定されているグループアドレスを指定して順に送信し、第１のセグメントに含まれているブロックを全て第１の情報受信装置に設定されているグループアドレスを指定して送信したら、第１のセグメントに続くセグメントに含まれているブロックを第１の情報受信装置に設定されているグループアドレス及び第２の情報受信装置に設定されているグループアドレスを指定してセグメント毎に順に送信し、
第１及び第２の情報受信装置は、自己に設定されているグループアドレスと一致するグループアドレスが指定されているブロックを受信して記憶する、
通信装置。
【請求項３１】
送信要求の受信に応答して、送信を要求されたセグメントに含まれているブロックを順に送信する少なくとも１つの情報送信装置と、情報送信装置から送信された各ブロックを受信する少なくとも第１及び第２の情報受信装置とを備え、
情報送信装置は、第１の情報受信装置から送信された送信要求の受信に応答して、第１のセグメントに含まれているブロックを第１及び第２の情報受信装置に設定されている所定のグループアドレスを指定して順に送信している時に、第２の情報受信装置から送信された、順序が第１のセグメントより前の第２のセグメントからの送信を要求する送信要求を受信した場合には、第１のセグメントに含まれているブロックを第１および第２の情報受信装置に設定されている所定のグループアドレスを指定して順に送信する処理を継続するとともに、第２のセグメント〜第１のセグメントに含まれているブロックを全て第１及び第２の情報受信装置に設定されている所定グループアドレスを指定して送信したら、第１のセグメントに続くセグメントに含まれているブロックを第１及び第２の情報受信装置に設定されている所定のグループアドレスを指定してセグメント毎に順に送信し、
第１及び第２の情報受信装置は、自己に設定されている所定のグループアドレスと一致するグループアドレスが指定されている各セグメントのブロックを、各セグメントに含まれているブロックの総数だけ受信して記憶する、
通信装置。
【発明の詳細な説明】
［技術分野］
本発明は、コンテンツ等の情報を送受信する通信装置及び通信方法に関する。特に、サーバ装置から複数のクライアント装置に情報を送信するクライアント−サーバ型通信システムに好適に用いることができる通信装置及び通信方法に関する。
［背景技術］
ＬＡＮやインターネット等の通信回線を介してサーバ装置と複数のクライアント装置を接続したクライアント−サーバ型通信システムが知られている。このようなクライアント−サーバ型通信システムでは、サーバ装置から複数のクライアント装置に所定の情報が送信される。
一般に、画像データや画像ファイルは、テキストファイル等に比べてデータ量が非常に多い。一方、サーバ装置の処理能力（例えば、一度に送信可能なデータ量）や通信回線の処理能力（例えば、一度に伝送可能なデータ量）には限界がある。また、サーバ装置や通信回線の処理能力が十分であっても、通信回線に一度に多量のデータを送信すると、そのデータの送信が完了するまで他のデータを送信することができない。このため、クライアント−サーバ型通信システムでは、送信する情報を複数のブロックに分割し、ブロック毎に送信する方法が用いられることが多い。例えば、サーバ装置は、送信する情報を所定データ量のブロックに分割する。そして、サーバ装置は、分割したブロック毎に、通信回線を介してクライアント装置に送信する。
従来、情報を送信する方式として、ブロードキャスト（ｂｒｏａｄ−ｃａｓｔ）方式とユニキャスト（ｕｎｉ−ｃａｓｔ）方式等が知られている。
ブロードキャスト方式は、ネットワークに接続されている不特定多数の相手に情報（例えば、コンテンツ、ファイル）を送信する方式である。ブロードキャスト方式を用いて情報を送信する場合には、情報の送信先のアドレスとして、ネットワーク全体を意味する特殊なアドレスを用いる。ブロードキャスト方式では、ネットワークに接続されている全ての端末は、ネットワークに送信された全ての情報を受信する。そして、各端末は、受信した情報が自己に関係があれば取り込み、自己に関係がなければ破棄する。ブロードキャスト方式は、ネットワークに大きな負担がかかるため、限られた用途にしか使用されていない。例えば、ネットワークに接続されているサーバ装置から設定情報を自動取得するために、設定情報を保持しているサーバ装置を探し出す場合に使用される。
設定情報は、サーバ装置に接続するために用いられるパラメータである。設定情報は、例えば、ケーブルテレビ（ＣＡＴＶ）システムで用いられている。ケーブルテレビシステムは、多くのチャンネルを提供している。そこで、多くのケーブルテレビシステムでは、プログラムチャンネルが提供されている。このプログラムチャンネルには、その時点に、各チャンネルで放送されているプログラムが送信されている。したがって、ユーザは、プログラムチャンネルを検索することにより、その時点で放送されているプログラムを知ることができる。設定情報は、このプログラムチャンネルに類似している。
この設定情報を得るために、ケーブルセットトップボックス（クライアント装置）は、型式や位置等のサーバ装置に関する情報を知る。このケーブルテレビシステムの例では、少なくとも２つのサーバ装置が存在する。１つのサーバ装置は、他のサーバ装置の情報のみを提供するものであり、ブロードキャスト方式を用いる。他のサーバ装置は、データ（イメージ、音声ファイル、あるいは他の役に立つデータ等）を提供するものであり、ユニキャスト方式を用いる。
一方、ユニキャスト方式は、ネットワークに接続されている特定の相手に情報を送信する方式である。ユニキャスト方式を用いて情報を送信する場合には、情報の送信先のアドレスとして、特定の相手のアドレスを用いる。ユニキャスト方式では、ネットワークに接続されている端末装置は、送信先のアドレスが自己のアドレスと一致する情報のみを受信する。
なお、ネットワークに接続されている特定のグループの端末装置に同時に情報を送信する方式をマルチキャスト（ｍｕｌｔｉ−ｃａｓｔ）方式という。この特定のグループを、ネットワークの一部という意味でサブネットワーク（ｓｕｂ−ｎｅｔｗｏｒｋ）と呼ぶこともある。マルチキャスト方式で情報を送信する場合には、情報の送信先アドレスとして、特定のグループ（サブネットワーク）を示すアドレスを用いる。
また、マルチキャスト方式を利用したニアオンデマンド（ｎｅａｒ−ｏｎ−ｄｅｍａｎｄ）方式も知られている。
クライアント−サーバ型のネットワークシステムでは、情報（具体的には、情報を分割したブロック）をサーバ装置からクライアント装置に送信する方式として、ブロードキャスト方式を除く、ユニキャスト方式、マルチキャスト方式、ニアオンデマンド方式が用いられている。
ユニキャスト方式、マルチキャスト方式、ニアオンデマンド方式を用いてサーバ装置からクライアント装置に情報を送信する場合の動作を以下に説明する。
なお、以下では、代表的なネットワークであるＴＣＰ／ＩＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ　Ｃｏｎｔｒｏｌ　Ｐｒｏｔｏｃｏｌ／Ｉｎｔｅｒｎｅｔ　Ｐｒｏｔｏｃｏｌ）ネットワークを例にして説明する。また、送信する情報の構造や形式は、どのような構造や形式であってもよい。
［ユニキャスト方式］
ユニキャスト方式は、サーバ装置から各クライアント装置に個別に情報（コンテンツ）を送信（配信）する方式である。例えば、複数のクライアント装置が１台のサーバ装置に対して同一の情報の送信を要求した場合、サーバ装置は、要求された情報を、情報の送信を要求した各クライアント装置に個別に送信する。
ユニキャスト方式では、サーバ装置からクライアント装置に情報を送信する場合、情報を確実に送信するために、サーバ装置とクライアント装置との間に一対一のＴＣＰコネクション（論理通信路）を確保する。また、サーバ装置は、送信する情報を所定の大きさのブロックに分割する。そして、サーバ装置は、各クライアント装置毎に確保したＴＣＰコネクションを介して、先頭のブロックから順に各ブロックを各クライアント装置に送信する。例えば、送信する情報がＸ１、Ｘ２、Ｘ３及びＸ４の４つのブロックにより構成される場合には、サーバ装置は、各ブロックをＸ１、Ｘ２、Ｘ３、Ｘ４の順に各クライアント装置に送信する。
なお、ユニキャスト方式では、情報を確実に送信するために、再送信処理を実行する。例えば、クライアント装置は、受信したブロックにエラーが発生していることを検出した場合には、エラーが発生したブロックの再送信をサーバ装置に要求する。サーバ装置は、クライアント装置から再送信の要求を受信すると、再送信を要求されたブロックをそのクライアント装置に再送信する。
ユニキャスト方式では、サーバ装置は、各クライアント装置毎に確保したコネクションを介して情報を送信する。このため、サーバ装置は、ある時間帯内に異なるブロックを送信する場合がある。例えば、ブロックＸ１〜Ｘ４により構成される情報を送信する場合には、サーバ装置は、各ブロックをＸ１、Ｘ２、Ｘ３そしてＸ４の順に、情報の送信を要求しているクライアント装置に個々に送信する。この場合、サーバ装置は、ある時間帯内に、クライアント装置（１）にはブロックＸ４を、クライアント装置（２）にはブロックＸ３を、クライアント装置（３）にはブロックＸ１を、クライアント装置（４）にはブロックＸ２を送信することもある。
ユニキャスト方式を用いてサーバ装置からクライアント装置に情報を送信する場合の動作を、図４に示すシーケンス図により具体的に説明する。
クライアント装置（１）は、サーバ装置に対して所定の情報の送信（配信）を要求する送信要求（配信要求）ＲＥＱ１を送信する。サーバ装置は、クライアント装置（１）との間に通信路（コネクション）を確立し、要求された情報を分割したブロックＸ１〜Ｘ４を順にクライアント装置（１）に送信する。なお、ブロックＸ１−１〜Ｘ４−１は、クライアント装置（１）に送信する（送信先としてクライアント装置（１）が指定された）ブロックＸ１〜Ｘ４を表している。
ここで、サーバ装置は、クライアント装置（１）に情報を送信している間にクライアント装置（２）から送信要求ＲＥＱ２を受信すると、クライアント装置（２）への情報の送信も開始する。例えば、サーバ装置は、ブロックＸ３（Ｘ３−１）をクライアント装置（１）に送信している時に、クライアント装置（２）から送信要求ＲＥＱ２を受信すると、次の時間帯では、クライアント装置（１）にブロックＸ４（Ｘ４−１）を、クライアント装置（２）にブロックＸ１（Ｘ１−２）を送信する。
このように、ユニキャスト方式では、サーバ装置は、各クライアント装置毎に各ブロックを送信する。このため、送信要求（配信要求）の数（特に、全ブロックの送信が完了するまでの時間内における数）が増えるほど、サーバ装置が所定の時間帯内で送信しなければならないブロックの数が増加する。例えば、サーバ装置は、ある時間帯に、クライアント装置（１）にブロックＸ１を、クライアント装置（２）にブロックＸ２を、クライアント装置（３）にブロックＸ３を、クライアント装置（４）にブロックＸ４を送信しなければならないという状態が発生する。
例えば、サーバ装置から１つのクライアント装置に単位時間内に最大Ｎ個のブロックを送信可能であり、サーバ装置が送信要求を受信したクライアント装置の数がＭである場合、サーバ装置は、単位時間内に［Ｍ×Ｎ］個のブロックをネットワークに送信する。ここで、ネットワークが単位時間内に伝送可能なブロックの数（「ネットワーク帯域」と呼ぶ）をＢとすると、［Ｂ≧Ｍ×Ｎ］が満足されない場合には、単位時間内に全てのクライアント装置に全てのブロックを送信することができない。すなわち、ネットワーク帯域Ｂが、サーバ装置が単位時間内に送信すべきブロック数［Ｍ×Ｎ］より小さい場合には、サーバ装置は、ネットワーク帯域Ｂを超えるブロックを送信することができない。このような場合には、サーバ装置は、例えば、新たなクライアント装置へのブロックの送信を待機させるか、各クライアント装置に単位時間内に送信するブロックの数を減少させる。
また、サーバ装置は、各クライアント装置毎に記憶装置からブロックを読み出して送信する。ここで、サーバ装置が単位時間内に記憶装置からブロックを読み出すことができる回数には制限がある。すなわち、サーバ装置からブロックをネットワークに送信可能な数は、この読み出し可能回数によっても制限される。このため、ネットワーク帯域に余裕があったとしても、サーバ装置の処理能力によって、ある時間帯内で同一の情報のブロックを送信可能なクライアント装置の数が制限されることになる。
このように、ユニキャスト方式では、ネットワーク帯域あるいはサーバの処理能力によって、一つの情報を同時に送信することができるクライアント装置の数は制限される。
［マルチキャスト方式］
マルチキャスト方式では、一つの情報を特定のグループのクライアント装置に送信するため、一つの情報を同時に送信することができるクライアント装置の数は多い。
マルチキャスト方式の一種として、ＩＰマルチキャスト方式がある。ＩＰマルチキャスト方式では、ＴＣＰ／ＩＰのネットワーク内で、同じ内容の情報を、特定のグループ（同報グループ）の複数の端末装置に同時に送信する。この時、情報を送信するアドレスとして、ＩＰアドレスのうち、クラスＤと呼ばれる、所定のグループを識別する特別なアドレスが用いられる。
ＴＣＰ／ＩＰネットワークでは、送信端末装置（例えば、サーバ装置）から全ての受信端末装置（例えば、クライアント装置）に、ＵＤＰ（Ｕｓｅｒ　Ｄａｔａｇｒａｍ　Ｐａｃｋｅｔ）によって同時に情報を送信するブロードキャスト方式を用いることができる。このブロードキャスト方式の特別な例が、ＩＰマルチキャスト方式である。
ブロードキャスト方式では、ネットワーク全体に情報（コンテンツ）を送信する。そして、その情報を取得すべきクライアント装置以外のクライアント装置は、その情報を破棄する。
一方、ＩＰマルチキャスト方式では、所定のグループに属するクライアント装置のみに情報（コンテンツ）を送信する。すなわち、ＩＰマルチキャスト方式では、サーバ装置は、一度に一つのブロックを、グループアドレスを指定してネットワークに送信する。クライアント装置は、ネットワークに送信されたブロックのうち、指定されているグループアドレスが自分の属するグループのグループアドレスと一致するブロックのみを受信する。
ＩＰマルチキャスト方式では、ユニキャスト方式のようにコネクションを確保する必要がない。すなわち、ＩＰマルチキャスト方式は、非コネクション型の通信方式である。
ＩＰマルチキャスト方式を用いてサーバ装置からクライアント装置に情報を送信する場合の動作を、図５に示すシーケンス図により具体的に説明する。
クライアント装置（１）は、送信開始時刻ｔ１の前に、ブロックＸ１〜Ｘ４により構成される情報（コンテンツ）の送信要求（配信要求）ＲＥＱ１をネットワークに送信する。サーバ装置は、クライアント装置（１）から送信要求ＲＥＱ１を受信すると、グループアドレス（例えば、グループアドレスＩＮＦ１）をネットワークを介してクライアント装置（１）に送信する。クライアント装置（１）は、サーバ装置から送信されたグループアドレスＩＮＦ１を受信すると、自己が属するグループのグループアドレスＩＮＦ１として記憶する。
サーバ装置は、送信開始時刻ｔ１に達すると、ＩＰマルチキャスト方式を用いてブロックＸ１〜Ｘ４を順にネットワークに送信する。すなわち、ブロックＸ１〜Ｘ４を、グループアドレスＩＮＦ１を指定して順にネットワークに送信する。クライアント装置（１）は、指定されているグループアドレスが自己のグループアドレスＩＮＦ１と一致するブロックを受信する。
サーバ装置は、次の送信開始時刻ｔ２までの間に、クライアント装置（２）から送信要求ＲＥＱ２を受信すると、グループアドレス（例えば、グループアドレスＩＮＦ２）をネットワークを介してクライアント装置（２）に送信する。クライアント装置（２）は、サーバ装置から送信されたグループアドレスＩＮＦ２を受信すると、自己が属するグループのグループアドレスＩＮＦ２として記憶する。また、サーバ装置は、クライアント装置（３）からの送信要求ＲＥＱ３に対して、グループアドレス（例えば、グループアドレスＩＮＦ３）をネットワークを介してクライアント装置（３）に送信する。クライアント装置（３）は、サーバ装置から送信されたグループアドレスＩＮＦ３を受信すると、自己が属するグループのグループアドレスＩＮＦ３として記憶する。
サーバ装置は、送信開始時刻ｔ２に達すると、ブロックＸ１〜Ｘ４をＩＰマルチキャスト方式を用いて順にネットワークに送信する。すなわち、ブロックＸ１〜Ｘ４を、グループアドレスＩＮＦ２及びＩＮＦ３を指定して順にネットワークに送信する。クライアント装置（２）、クライアント装置（３）は、指定されているグループアドレスが自己のグループアドレスＩＮＦ２、ＩＮＦ３と一致するブロックを受信する。
このように、ＩＰマルチキャスト方式では、サーバ装置は、各ブロックを順に一つずつ記憶装置から読み出し、グループアドレスを指定してネットワークに送信する。
ＩＰマルチキャスト方式では、サーバ装置から単位時間内に最大Ｎ個のブロックを送信可能であるとすると、単位時間内にネットワークに送信可能な最大ブロック数は、クライアント数Ｍに関係なくＮ個である。このため、ＩＰマルチキャスト方式では、ユニキャスト方式とは異なり、クライアント装置の数が増加しても、各クライアント装置が単位時間内に受信可能なブロックの数は変化しない。
ユニキャスト方式では、サーバ装置は、クライアント装置がブロックを受信したことを確認してから、次のブロックを送信する。これに対して、ＩＰマルチキャスト方式では、サーバ装置は、ネットワーク上でブロックが欠落したことを検出する機能を持っていない。このため、クライアント装置に、欠落したブロックの検出及び再送要求の送信等のエラー処理機能を持たせる必要がある。
なお、クライアント装置のエラー処理が増加すると、サーバ装置からネットワークに送信しなければならないブロックの数が増える。この場合には、ネットワーク帯域を有効に利用することができるというＩＰマルチキャスト方式の利点を有効に活用することができない。
また、ＩＰマルチキャスト方式では、サーバ装置は、所定の送信開始時刻から情報（ブロック）の送信を開始する。このため、クライアント装置は、送信要求を送信してから送信開始時刻まで待機しなければならない。
［ニアオンデマンド］
ニアオンデマンド方式は、ＩＰマルチキャスト方式で情報を送信するチャンネルをｎチャンネル用意するものである。そして、各チャンネルでは、それぞれ異なる開始時刻に情報の送信を開始する。サーバ装置は、クライアント装置に対して、一番早く情報を受信することができるチャンネルを割り当てる。このため、ニアオンデマンド方式では、クライアント装置が送信要求を送信してから、クライアント装置が情報を受信するまでの時間が短縮される。
ユニオンデマンド方式を用いて、サーバ装置からクライアント装置に情報を送信する場合の動作を、図６に示すシーケンス図により具体的に説明する。図６では、ＩＰマルチキャスト方式で情報を送信可能なチャンネルを２チャンネル（１ｃｈ、２ｃｈ）有している場合を示している。
クライアント装置（１）から、１ｃｈの送信開始時刻ｔ１の前に、ブロックＸ１〜Ｘ４により構成される情報の送信要求ＲＥＱ１がネットワークに送信されている。サーバ装置は、クライアント装置（１）から送信要求ＲＥＱ１を受信すると、ｃｈ１のグループアドレス（例えば、グループアドレスＩＮＦ１）をネットワークを介してクライアント装置（１）に送信する。クライアント装置（１）は、サーバ装置から送信されたｃｈ１のグループアドレスＩＮＦ１を受信し、ｃｈ１の自己が属するグループのグループアドレスとして記憶する。
サーバ装置は、１ｃｈの送信開始時刻ｔ１に達すると、ブロックＸ１〜Ｘ４をグループアドレスＩＮＦ１で指定し、ｃｈ１で順に送信する。なお、Ｘ１（ｃｈ１）は、ｃｈ１で送信するブロックＸ１を示している。クライアント装置（１）は、ｃｈ１で送信されたブロックの中から、指定されているグループアドレスが自己のグループアドレスＩＮＦ１と一致するブロックを受信する。
サーバ装置は、２ｃｈの送信開始時刻ｔ２までにクライアント装置（２）から送信要求ＲＥＱ２を受信すると、ｃｈ２のグループアドレス（例えば、グループアドレスＩＮＦ２）をネットワークを介してクライアント装置（２）に送信する。クライアント装置（２）は、サーバ装置から送信されたｃｈ２のグループアドレスＩＮＦ２を受信し、ｃｈ２の自己が属するグループのグループアドレスＩＮＦ２として記憶する。
サーバ装置は、２ｃｈの送信開始時刻ｔ２に達すると、ブロックＸ１〜Ｘ４をグループアドレスＩＮＦ２で指定し、ｃｈ２に順に送信する。クライアント装置（２）は、ｃｈ２で送信されたブロックの中から、指定されているグループアドレスが自己のグループアドレスＩＮＦ２と一致するブロックを受信する。
サーバ装置は、１ｃｈの次の送信開始時刻ｔ３までにクライアント装置（３）から送信要求ＲＥＱ３を受信すると、ｃｈ１のグループアドレス（例えば、グループアドレスＩＮＦ３）をクライアント装置（３）に送信する。以下、同様にして、クライアント装置（３）は、ｃｈ１で送信されたブロックの中から、指定されているグループアドレスが自己のグループアドレスＩＮＦ３と一致するブロックを受信する。
ニアオンデマンド方式では、チャンネル数がｎで、サーバ装置からネットワークの各チャンネルに単位時間内で最大Ｎ個のブロックを送信可能である場合には、ネットワークに単位時間内に最大［ｎ×Ｎ］個のブロックを送信可能である。このため、ニアオンデマンド方式における伝送速度と送信開始時刻までの待ち時間は、チャネル数次第である。例えば、チャンネル数ｎを増やせば、送信開始時刻までの待ち時間は短くなる。しかしながら、サーバ装置の処理能力が同じ場合には、チャンネル数が増えると、サーバ装置から各チャンネルに単位時間内に送信可能なブロック数は減少する。
また、ＩＰマルチキャスト方式と同様に、クライアント装置に、欠落したブロックの検出、再送要求の送信等のエラー処理機能を持たせる必要がある。
ユニキャスト方式、ＩＰマルチキャスト方式、ニアオンデマンド方式は、それぞれ以下のような長所と短所がある。
ＩＰマルチキャスト方式及びニアオンデマンド方式は、複数のクライアント装置に対して一つのブロックを送信するため、サーバ装置の送信負荷は少ない。しかしながら、あらかじめ大容量のネットワークを構築しておく必要がある。特に、ニアオンデマンド方式ではその必要がある。またエラー処理について別途考慮する必要がある。
一方、ユニキャスト方式は、情報送信の信頼性が高い。しかしながら、クライアント装置の数が増えると、処理能力の高いサーバ装置及び帯域の大きなネットワーク（通信回線）が必要となる。
また、ユニキャスト方式では、サーバ装置は、クライアント装置からの送信要求を受信した後、サーバ装置が対応可能な限りの短時間で、クライアント装置への情報の送信が開始される。
一方、ＩＰマルチキャスト方式では、サーバ装置から送信されるブロックは、サーバ装置によりその送信開始時刻が決められている。すなわち、クライアント装置は、送信要求を送信した後、先頭のブロックが送信開始される送信開始時刻まで待機しなければならない。
ＩＰマルチキャスト方式を利用したニアオンデマンド方式では、待機時間を少なくする工夫がなされている。しかしながら、ある時間帯に渡って再送要求が集中すると、単位時間にネットワークに送信されるブロックの数が増える。
ここで、ネットワークの帯域消費について、数値を挙げて説明する。
例えば、１時間、３，６００ブロックからなる情報（コンテンツ）を１０のクライアント装置に対して１秒間に１ブロックの速度でネットワークに送信するとした場合、１時間に送信するブロックの総数は次のようになる。
ユニキャスト方式では、３６００×１０＝３６，０００ブロック。
ＩＰマルチキャスト方式では、３，６００ブロック。
待ち時間１５分（＝チャネル数４）のニアオンデマンド方式では、１４，４００ブロック。
待ち時間３０分（＝チャネル数２）のニアオンデマンド方式では、７，２００ブロック。
待ち時間１分（＝チャネル数６０）のニアオンデマンド方式では２１６，０００ブロック。
帯域消費という観点からは、ニアオンデマンド方式が最も不利である。従って、ニアオンデマンド方式は、現状の通信ネットワークインフラを前提とするなら、情報の送信に利用することはあまり現実的ではなく、実施には莫大なコストが掛かることが難点である。つまり、採算が取れない可能性が高い。
帯域消費の点から比較的に不利なのがユニキャスト方式である。帯域消費とサーバ装置の処理能力の両面から、送信要求に応えられるクライアント装置の数に制限が出てくる。
ＩＰマルチキャスト方式は、帯域消費の点からは、最も有利である。しかし、クライアント装置は、送信要求を送信してから先頭のブロックの送信開始時刻まで待機する必要がある。
なお、ユニキャスト方式では、エラーが発生しても自動的に訂正／再送の処理が行われるため、情報送信の信頼性は高い。一方、ＩＰマルチキャスト方式及びニアオンデマンド方式では、通常のブロック送信とは別に、エラー処理を行う必要がある。
［発明の開示］
本発明は、高い処理能力を有する情報送信装置や大きな帯域を有する通信回線を用いることなく、情報受信装置が短時間で所定の情報を受信することができる通信装置及び通信方法を提供することを目的とする。
本発明は、マルチキャスト方式を用いているため、情報送信装置は、複数の情報受信装置に対して所定の情報を一回送信すればよい。これにより、情報送信装置やネットワーク（通信回線）の負荷が減少する。そして、情報送信装置は、第１の情報受信装置に所定の情報のブロックを送信している時に、第２の情報受信装置から所定の情報の送信要求信号を受信した場合には、第２の情報受信装置に対しては、途中のブロックから送信を開始する。これにより、第２の情報受信装置は、所定の情報の先頭のブロックの送信が開始されるまで待機する必要がないため、短時間で所定の情報を受信することができる。
本発明の１つのアスペクトでは、情報送信装置は、第１の情報受信装置に対して所定の情報を構成するブロックをマルチキャスト方式で送信している時に、第２の情報受信装置からの所定の情報の送信要求を受信した場合には、直ちに、所定の情報を構成するブロックをマルチキャスト方式で第１及び第２の情報受信装置に送信する。この時、第１の情報受信装置に送信していないブロックについては、第１の情報受信装置が属するグループのグループアドレス及び第２の情報受信装置が属するグループのグループアドレスを指定する。そして、第１の情報送信装置に送信したブロックについては、第２の情報受信装置が属するグループのグループアドレスを指定する。これにより、第２の情報受信装置に対するブロックの送信が短時間に開始されるため、第２の情報受信装置の待ち時間が短縮される。
この場合、情報送信装置から送信するブロックに分割順序情報を付加するのが好ましい。これにより、情報受信装置は、分割順序情報に基づいてブロックを組み合わせるだけでよいため、所定の情報の復号処理が容易となる。また、ブロックの欠落等も容易に判別することができる。
また、情報受信装置に対して所定の情報を構成するブロックを全て送信する前に、他の情報受信装置から所定の情報の送信要求を受信する限り、ブロックを予め定められた順序で循環的に送信するのが好ましい。これにより、情報送信装置のブロックの送信処理が簡単となる。ここで、所定の情報を構成するブロックを記憶装置に記憶させておき、予め定められた順序で記憶装置からブロックを読み出すのが好ましい。
情報送信装置は、撮像装置等の情報供給装置から供給される情報を分割したブロックと、そのブロックの分割順序情報を送信可能に構成するのが好ましい。これにより、情報受信装置は、記憶装置に記憶されている情報以外の情報も受信することができる。
情報送信装置は、ブロックに誤り検出／訂正情報を付加して送信するように構成するのが好ましい。これにより、情報受信装置は、受信したブロックのデータの誤りを訂正することができ、正しい情報を復元することができる。
ブロックのデータの訂正が不可能な場合や、ブロックが欠落している場合等のために、ブロックの再送信機能を設けるのが好ましい。この場合、送信用のブロックを記憶する送信用記憶装置と、再送信用のブロックを記憶する再送信用記憶装置を設けることにより、情報送信装置のブロックの送信処理効率が向上する。
また、再送信処理を行う時には、通信回線の帯域使用状況に応じて適切な再送信方法を選択するのが好ましい。例えば、情報送信装置は、通信回線の帯域使用状況に応じて再送信用のブロックをマルチキャスト方式あるいはユニキャスト方式で送信するように構成される。通信回線の帯域使用状況は、例えば、単位時間内に通信回線に送受信されたブロックの数と制限値との比較結果により判別する。
情報送信装置は、所定時間内における通信回線のデータ量が所定量以下となるように、通信回線に送信するブロックの数を調整するように構成するのが好ましい。これにより、通信回線の負荷を適切に調整することができ、伝送効率が低下するのを防止することができる。
情報送信装置は、情報受信装置から送信要求を受信した時に、情報受信装置のグループアドレスを設定するように構成するのが好ましい。これにより、情報受信装置を適切にグループ分けすることができる。勿論、予め情報受信装置にグループアドレスを割り当てておいてもよい。この場合には、各情報受信装置にグループアドレスを送信する必要がない。
情報送信装置は、情報受信装置から送信要求信号を受信した場合、情報受信装置への通信回線を設定するように構成するのが好ましい。これにより、各ブロックを効率よく情報受信装置に送信することができ、通信回線の負荷が減少する。
各クライアント装置に割り当てるグループアドレスは、異なるグループアドレスを用いてもよいし、同じグループアドレスを用いてもよい。同じグループアドレスを用いる場合には、情報送信装置は、情報受信装置に所定の情報を構成するブロックを全て送信する前に他の情報受信装置からの送信要求を受信する限り、所定の情報を構成するブロックを循環的に送信し続ける。この場合には、情報受信装置側で、ブロックの受信を行うか否かを判断する必要がある。例えば、情報送信装置から送信される、所定の情報を構成するブロックの総数と受信したブロックの数、あるいは各ブロックの分割順序情報によって更にブロックを受信するか否かを判断する。情報受信装置に同じグループアドレスを割り当てる場合には、グループアドレスの割り当て処理や、グループアドレスの送信処理等が不要となるため、処理装置の負荷が軽減される。
また、所定の情報を複数のブロックに分割するとともに、分割した各ブロックを複数のセグメントにグループ分けするのが好ましい。各セグメントに含まれているブロックは、循環的に送信可能とする。情報送信装置は、情報受信装置から送信された、所定のセグメントからの送信要求を受信した時、所定のセグメントがその時に送信しているセグメントが同じであれば、その時に送信しているセグメントの送信を延長する。また、情報送信装置は、所定のセグメントが、その時に送信しているセグメントより順序が早い場合には、送信を所定のセグメントの送信とその時のセグメントの送信とを同時に行う。これにより、情報受信装置は、所定の部分を短時間で受信することができる。
本発明の目的、特徴及び利点は、以下に記載されている実施例の記載あるいはクレームを図面を参照しながら読むことによってよって、より良く理解することができる。
［発明を実施するための最良の形態］
情報送信装置から複数の情報受信装置に所定の情報を送信する方法として、ユニキャスト方式あるいはマルチキャスト方式が知られている。
ユニキャスト方式を用いる場合は、情報受信装置の数に比例して所定の情報を送信する回数が多くなる。このため、情報受信装置の数が多くなると、情報受信装置が所定の情報の送信要求を送信してから受信するまでの待ち時間が長くなる。
マルチキャスト方式を用いる場合は、複数の情報受信装置に対して所定の情報を一回送信すればよい。このため、ユニキャスト方式を用いる場合に比べて所定の情報を送信する回数が減少し、情報受信装置が所定の情報を受信するまでの待ち時間が短い。
しかしながら、従来のマルチキャスト方式では、所定の情報の送信開始時刻が定められているため、情報受信装置は所定の情報の送信開始時刻まで待機しなければならない。
本発明は、処理能力の高い情報送信装置や大きな帯域を有する通信回線を用いることなく、情報受信装置が、所定の情報の送信要求を送信してから所定の情報を受信するまでの待ち時間を短縮することを目的としている。
本発明では、マルチキャスト方式を利用することにより、情報送信装置から送信する所定の情報の量を減少させることができる。これにより、情報送信装置や通信回線の負荷を減少させることができるため、情報受信装置の待ち時間を減少させることができる。更に、情報送信装置は、第１の情報受信装置に所定の情報を送信している時に、第２の情報受信装置から所定の情報の送信要求を受信した場合には、第２の情報受信装置に対しては途中のブロックから送信を開始する。この時、情報送信装置は、第１の情報受信装置に送信していないブロックは、第１の情報受信装置が属するグループのグループアドレス及び第２の情報受信装置が属するグループのグループアドレスを指定して送信する。また、第１の情報送信装置に送信済みのブロックは、第２の情報受信装置が属するグループのグループアドレスを指定して送信する。これにより、第２の情報受信装置は、情報送信装置が第１の情報受信装置にブロックを送信している場合でも、途中のブロックから受信を開始することができるため、待ち時間が短縮される。
情報受信装置は、例えば、所定の情報を構成するブロックの総数が予め知らされているため、途中のブロックから受信を開始しても受信したブロックを復元することができる。本発明の好ましい実施例では、ブロックとともに、そのブロックの分割順序情報を送信している。この場合、情報受信装置は、受信したブロックを、分割順序情報の順序で組み合わせるだけで所定の情報を復元することができるため処理が簡単となる。また、情報受信装置は、分割順序情報に基づいてブロックの欠落等を容易に判別することができる。
情報送信装置は、途中のブロックから第２の情報受信装置に送信を開始した場合、第１の情報受信装置に全てのブロックを送信した後、残りのブロックを第２の情報受信装置に送信する必要がある。本発明の他の好ましい実施例では、情報送信装置は、ブロックを予め定められた順序で循環的に送信する。これにより、情報送信装置でのブロックの送信処理が容易となる。この場合、ブロックを記憶装置に記憶させておき、記憶装置に記憶されているブロックを予め定められた順序で読み出すように構成すると、処理がより容易となる。
本発明の他の好ましい実施例では、情報送信装置は、撮像装置等の情報供給装置から供給される情報を分割したブロックも送信することができる。これにより、情報受信装置に提供することができる情報の種類が増加する。
通信回線を介してブロックを送信する場合、通信回線を伝送中にブロックのデータが欠落したり変化することがある。この場合には、情報受信装置は、正しい情報を復元することができない。本発明の他の好ましい実施例では、情報送信装置は、ブロックに誤り検出／訂正情報を付加して送信している。これにより、情報受信装置は、受信したブロックに含まれている誤り検出／訂正情報に基づいて、ブロックのデータの誤りを検出し、訂正することができる。ブロックに分割順序情報を付加して送信している場合には、情報受信装置は、例えば、分割順序情報が欠落していることによりブロックが正常に受信されていないことを判別することができる。
情報受信装置は、受信したブロックのデータが欠落している場合やブロックが欠落している場合には、情報送信装置からそのブロックを再度受信する必要がある。本発明の他の好ましい実施例では、このような場合のために、再送信機能が設けられている。例えば、情報受信装置は、データが欠落しているブロックや欠落しているブロックの再送信要求を情報送信装置に送信する。情報送信装置は、再送信の要求があったブロックあるいはそのブロックを含む情報の全てのブロックを、再送信を要求した情報受信装置に送信する。
ここで、送信用のブロックを記憶する送信用記憶装置と、再送信用のブロックを記憶する再送信用記憶装置を設けるのが好ましい。記憶装置としては同じ記憶装置を用いてもよいし、別々の記憶装置を用いてもよい。この場合には、情報送信装置は、ブロックを送信する場合には送信用記憶装置に記憶されているブロックを送信し、ブロックを再送信する場合には再送信用記憶装置に記憶されているブロックを送信すればよい。このため、情報送信装置の送信処理が容易となる。
ブロックを再送信する時には、通信回線の使用状態（例えば、データ量）に応じて適切な再送信方法を選択するのが好ましい。本発明の他の好ましい実施例では、情報送信装置は、通信回線のデータ量が多い場合にはマルチキャスト方式で送信し、通信回線のデータ量が少ない場合にはユニキャスト方式で送信する。通信回線の使用状態は、例えば、送信されたブロックの数と制限値との比較結果により判別する。
通信回線のデータ量（負荷）が多いと、データの伝送効率が悪くなることがある。本発明の他の好ましい実施例では、情報送信装置は、所定時間内における通信回線のデータ量が所定量以下となるように、通信回線に送信するブロックの数を調整している。これにより、通信回線の負荷を適切に調整することができる。
情報受信装置のグループアドレスは予め設定しておいてもよいが、情報を送信する毎に設定してもよい。情報受信装置から送信要求を受信する毎にグループアドレスを設定する方法を用いる場合には、所定の情報の送信要求を送信している情報受信装置を適切にグループ分けすることができる。一方、各情報受信装置に予めグループアドレスを設定する方法を用いる場合には、グループアドレスの設定処理や、グループアドレスの送信処理が不要である。特に、各情報受信装置に同じグループアドレスを設定する場合には、処理装置の負荷が軽減される。この場合には、情報受信装置側でブロックの受信処理を行う必要がある。
情報送信装置からブロックを送信する場合、全ての通信回線にブロックを送信してもよいが、ブロックを送信する通信回線を設定して所定のエリアにブロックを送信するのが好ましい。本発明の他の好ましい実施例では、情報送信装置は、情報受信装置から送信要求を受信した時、その情報受信装置のエリアを判別し、そのエリアにブロックが到達するように通信回線を設定する。これにより、必要でない通信回線にはブロックを送信しないため、通信回線の負荷が減少し、ブロックを効率よく情報受信装置に送信することができる。
ところで、全ての情報を受信した後に再生を行うダウンロード方式を用いる場合には、所定の情報を構成するブロックのどの部分から送信を開始しても、情報を受信する時間はほとんど変わらない。
しかしながら、必要な部分を受信しながら再生を行うストリーミング方式を用いる場合には、所定の部分の受信開始時間あるいは次の部分の受信間隔を短縮する必要がある。本発明の好ましい他の実施例では、所定の情報を複数のブロックに分割するとともに、分割した各ブロックを複数のセグメントにグループ分けしている。各セグメントに含まれているブロックは、循環的に送信可能である。
このため、情報送信装置は、情報受信装置から送信された、所定のセグメントからの送信要求を受信した場合、所定のセグメントとその時に送信しているセグメントが同じである場合には、その時に送信しているセグメントの送信を延長させる。一方、所定のセグメントが、その時に送信しているセグメントより順序が早い場合には、その時のセグメントの送信を行いながら、所定のセグメントの送信を行う。これらのセグメントの送信はマルチキャスト方式で行われるため、情報送信装置の処理能力や通信回線の負荷を高めることなく、情報受信装置は必要な部分を短時間で受信することができる。
発明の特徴は、以下に、添付図面を参照して詳細に説明されている。この詳細な説明は、当業者が本発明を実施化するためのものであり、本発明の範囲を制限するものではない。
以下に、本発明の通信方法及び通信装置を図面を参照して説明する。
ここで、情報送信装置から情報受信装置に送信した情報（コンテンツ）を再生する方式として種々の方式を用いることができる。例えば、ダウンロード方式、ストリーミング方式を用いることができる。
ダウンロード方式では、情報の全部分（情報を構成する全ブロック）を情報送信装置から情報受信装置に送信し、情報受信装置の記憶装置に記憶する。そして、情報受信装置は、記憶装置に記憶されている情報を読み出して再生する。
ストリーミング方式では、情報の全部分ではなく、必要な部分を情報送信装置から情報受信装置に順次送信し、情報受信装置の記憶装置に記憶する。情報受信装置は、記憶装置に記憶されている部分を再生しながら、次の部分を受信（先読み受信）して記憶装置に記憶する。例えば、動画情報を先頭から再生する場合には、情報送信装置は動画情報の先頭の部分から順次情報受信装置に送信し、情報受信装置は受信した部分を順次再生する。また、ストリーミング方式では、情報の途中の部分から送信することにより途中からの再生を行うことができる。さらに、任意の部分のみを送信することにより、任意の部分のみの再生を行うことができる。なお、情報受信装置は、受信した部分の再生が終了したら、その部分を破棄する。
従来、情報送信装置から情報受信装置に情報を送信する場合、信頼性の点から、ユニキャスト方式が用いられことが多い。ユニキャスト方式を用いて情報を送信する場合には、前記したように、情報受信装置が情報の送信を要求してから情報を受信するまでの時間（待ち時間）は、情報送信装置やネットワーク（通信回線）の能力に依存する。例えば、同一の情報の送信を要求する情報受信装置の数が増加するほど、情報受信装置が情報を受信するまでの時間（待ち時間）が長くなる。
ストリーミング方式を用いて情報を再生している時には、待ち時間が長くなると、情報受信装置で再生している部分の次の部分の受信が間に合わない場合がある。この場合には、情報受信装置での情報の再生が中断してしまう。これを回避するために、情報送信装置から情報受信装置に送信する部分の量を多くする方法が考えられる。しかしながら、この方法を用いると、同時に情報を受信することができる情報受信装置の数が減少する。
本発明の通信方法及び通信装置を用いることにより、どのような情報の再生方式を用いた場合でも、情報送信装置や通信回線の能力を高めることなく、情報受信装置の待ち時間を短くすることができる。
以下で説明する第２実施例の通信方法は、ストリーミング方式を用いて情報を再生する場合に好適である。
図１に、本発明の通信装置の一実施例の概略構成図を示す。本実施例は、本発明を、ネットワークを介してサーバ装置から複数のクライアント装置に所定の情報を送信する、クライアント−サーバ型通信システムに適用したものである。
クライアント装置（１）〜（ｎ）、サーバ装置１１及びネットワーク（通信回線）１０によりクライアント−サーバ型通信システムが構成されている。本実施例では、ネットワーク１０として、インターネット、ＬＡＮ（ｌｏｃａｌ　ａｒｅａ　ｎｅｔｗｏｒｋ）、ＷＡＮ（ｗｉｄｅ　ａｒｅａ　ｎｅｔｗｏｒｋ）、ＣＡＴＶ（ｃａｂｌｅ　ｔｅｌｅｖｉｓｉｏｎ）等の、プロトコルとしてＴＣＰ／ＩＰを用いるネットワークを使用している。
クライアント装置（１）〜（ｎ）は、例えば、図１２に示すように、通信装置６、記憶装置８、処理装置（ＣＰＵ）７、表示装置（図示省略）等により構成されている。処理装置７は、通信装置６を用いてネットワーク１０を介してサーバ装置１１と通信を行う。また、種々の処理を行う。例えば、送信要求を送信する処理を行う。また、ブロックを受信して記憶装置８に記憶する処理を行う。また、受信したブロック内のデータの欠落やブロックの欠落等を検出し、再送信要求を送信する処理を行う。また、再送信されたブロックを受信して記憶装置８に記憶する処理を行う。
クライアント装置（１）〜（ｎ）としては、例えば、パーソナルコンピュータまたはセットトップボックス（ＳＴＢ）等を使用することができる。受信管理テーブル５は、受信したブロックの管理を行うためのものである。図１２では、受信管理テーブルを処理装置７内に設けているが、記憶装置８内に設けてもよい。
サーバ装置１１は、記憶装置（送信用記憶装置）１２ａ、再送信用記憶装置１２ｂ、処理装置１３、通信装置１４等により構成されている。処理装置１３は、通信装置１４を用いてネットワーク１０を介して各クライアント装置（１）〜（ｎ）と通信を行う。また、種々の処理を行う。例えば、外部機器（例えば、撮像装置等の情報供給装置）から供給される情報を記憶装置１２ａに記憶させる処理を行う。また、送信要求のあった情報のブロックを、外部機器あるいは記憶装置１２ａから、送信要求を送信したクライアント装置（１）〜（ｎ）に送信する処理を行う。また、再送信の要求があったブロックを、再送信用記憶装置１２ｂから読み出して、再送信要求を送信したクライアント装置（１）〜（ｎ）に送信する処理を行う。
サーバ装置１１としては、用途、クライアント数等に応じて、大型の汎用コンピュータ、ミニコンピュータ、ワークステーションまたはパソコン等を使用することができる。あるいは、ＵＮＩＸサーバ等のサーバ専用装置をサーバ装置１として使用することもできる。
なお、記憶装置１２ａと再送信用記憶装置１２ｂを、１つの記憶装置で兼用してもよい。また、図２では、サーバ装置１１を１つ設けているが、サーバ装置を複数設けてもよい。
本実施例では、サーバ装置１１が本発明の「情報送信装置」に対応し、クライアント装置（１）〜（ｎ）が本発明の「情報受信装置」に対応する。
次に、サーバ装置１１からクライアント装置（１）〜（ｎ）に所定の情報（コンテンツ）を送信する動作を図２により説明する。
なお、情報は、複数のブロックに分割されている、あるいは、複数のブロックに分割されているものと見做せるものとする。以下では、所定の情報が、ブロックＸ１、Ｘ２、Ｘ３、Ｘ４の４つのブロックに分割されているものとする。また、所定の情報は、ブロックＸ１〜Ｘ４を、Ｘ１、Ｘ２、Ｘ３、Ｘ４の順番で組み合わせることにより復元することができるものとする。
分割されたブロックは、例えば、パケットで送信される。このパケットの構成の１例を図１４に示す。図１４に示すパケット２０は、ＩＰヘッダ部２１とＩＰデータ部２２を有している。
ＩＰヘッダ部２１には、パケット２０を送信する送信先を示すＩＰアドレスが挿入される。ＩＰアドレスとしては、例えば、所定のグループ（サブネットワーク）を示すグループアドレスが設定される。
ＩＰデータ部２２には、例えば、分割順序情報、所定の情報を分割したブロック、誤り検出／訂正情報が挿入される。分割順序情報としては、ＩＰデータ部２２に挿入されるブロックの順番、すなわち、ＩＰデータ部２２に挿入されるブロックが所定の情報のどの部分にあたるかを示す情報が設定される。分割順序情報に基づいて、ブロックの送信順序やブロックの組み合せ順序が決定される。また、分割順序情報に基づいて、欠落しているブロックを検出することができる。誤り検出／訂正情報に基づいて、ＩＰデータ部２２に挿入されているデータの誤りの検出、誤りが少ない場合における誤りの訂正を行うことができる。
サーバ装置１１の処理装置１３は、外部機器（例えば、撮像装置）や入力装置（例えば、記憶媒体に記憶されている情報を読み取る読取装置）から入力された情報を所定の大きさのブロック（本実施例では、Ｘ１〜Ｘ４）に分割し、記憶装置（送信用記憶装置）１２ａに記憶させる。例えば、図２に示すように、処理装置１３は、情報供給装置（外部機器）９から供給される情報をブロックＸ１〜Ｘ４に分割し、分割したブロックＸ１〜Ｘ４を記憶装置１２ａに記憶させる。この時、ブロックＸ１〜Ｘ４の順序を判別可能に記憶する。例えば、記憶装置１２ａに分割順序情報も記憶させる。あるいは、定められた順序で記憶装置１２ａに記憶させる。
処理装置１３は、これ以外にも、外部機器から供給される情報のブロックＸ１〜Ｘ４や記憶装置１２ａに記憶されているブロックＸ１〜Ｘ４をネットワーク１０に送信する処理、ブロックＸ１〜Ｘ４を再送信用記憶装置１ｂに記憶させる処理等も行う。
以下に、クライアント装置（１）〜（３）からの送信要求に応答して、記憶装置１２ａに記憶されている情報（ブロック）をサーバ装置１１から送信する動作を、図３に示すシーケンス図により説明する。
サーバ装置１１が初期状態にあるときに、クライアント装置（１）から、所定の情報の送信を要求する送信要求（配信要求）ＲＥＱ１がネットワーク１０を介してサーバ装置１１に送信されたものとする。本実施例では、送信要求ＲＥＱ１をユニキャスト方式で送信している。なお、図１において、破線の矢印は、ユニキャスト方式を用いて送信することを示している。
サーバ装置１１（詳しくは、処理装置１３）は、クライアント装置（１）から送信要求ＲＥＱ１を受信すると、所定の情報を分割したブロックＸ１〜Ｘ４をＩＰマルチキャスト方式で送信するための準備を行う。すなわち、クライアント装置（１）がＩＰマルチキャスト方式で送信されたブロックＸ１〜Ｘ４を受信するために必要なグループアドレスをクライアント装置（１）に送信する。本実施例では、送信要求ＲＥＱ１を送信したクライアント装置（１）に対して、ユニキャスト方式でグループアドレスＩＮＦ１を送信する。本実施例では、グループアドレスＩＮＦ１として、ＴＣＰ／ＩＰ通信システムで使用されるＩＰアドレスのうち、クラスＤと呼ばれる、所定のグループを識別する特別なアドレスを用いている。
クライアント装置（１）は、サーバ装置１１から送信されたグループアドレスＩＮＦ１を受信し、自己が属するグループのグループアドレスとして記憶装置８に記憶する。
サーバ装置１１は、所定の情報を構成するブロックＸ１〜Ｘ４の総数をクライアント装置（１）に送信する。ブロックの総数は、グループアドレスＩＮＦ１とともに送信してもよいし、各ブロックとともに送信してもよい。クライアント装置（１）は、受信管理テーブル５に管理情報を記憶する。例えば、所定の情報を構成するブロックの総数を記憶する。
次に、サーバ装置１１は、所定の情報の最初のブロックＸ１を記憶装置１２ａから読み出す。そして、読み出したブロックＸ１を、グループアドレスＩＮＦ１を指定して、通信装置１４を介してネットワーク１０へマルチキャスト方式で送信する。なお、図１において、実線の矢印は、マルチキャスト方式を用いて送信することを示している。
クライアント装置（１）は、自己のグループアドレスＩＮＦ１と一致するグループアドレスＩＮＦ１が指定されているブロックＸ１をネットワーク１０から受信し、記憶装置８に記憶する。この時、受信管理テーブル５に管理情報を記憶する。例えば、所定の情報を構成するブロックの総数、所定の情報を示す識別情報、ブロックＸ１の分割順序情報、正常に受信されていないブロックの分割順序情報等を管理情報として記憶する。受信管理テーブル５（図１２参照）の管理情報に、正常に受信できなかったブロックの分割順序情報が記憶されている場合には、後述する再送信要求がサーバ装置１１に送信される。
ここで、サーバ装置１１からクライアント装置（１）にブロックＸ１〜Ｘ４の全ての送信が完了しないうちに、例えば、ブロックＸ１を送信中に、サーバ装置１１がクライアント装置（２）から送信要求ＲＥＱ２を受信したものとする。
この場合、サーバ装置１１は、送信要求ＲＥＱ２を送信したクライアント装置（２）に対して、ユニキャスト方式でグループアドレスＩＮＦ２を送信する。この時、クライアント装置（２）に対して、クライアント装置（１）と同じグループアドレスＩＮＦ１を送信する場合もある。
クライアント装置（２）は、サーバ装置１１から送信されたグループアドレスＩＮＦ２を受信し、自己が属するグループのグループアドレスとして記憶装置８に記憶する。
次に、サーバ装置１１は、ブロックＸ１の次の順序のブロックＸ２を記憶装置１２ａから読み出し、ＩＰマルチキャスト方式でネットワーク１０に送信する。この時、サーバ装置１１は、ブロックＸ２を、グループアドレスＩＮＦ１及びＩＮＦ２を指定してネットワーク１０に送信する。すなわち、サーバ装置１１は、ブロックＸ２を送信すべきクライアント装置が複数であるにも関わらず、ブロックＸ２をＩＰマルチキャスト方式により一つだけ、ネットワーク１０に送信する。
クライアント装置（１）は、自己のグループアドレスＩＮＦ１と一致するグループアドレスＩＮＦ１が指定されているブロックＸ２をネットワーク１０から受信し、記憶装置８に記憶する。また、クライアント装置（２）は、自己のグループアドレスＩＮＦ２と一致するグループアドレスＩＮＦ２が指定されているブロックＸ２をネットワーク１０から受信し、記憶装置８に記憶する。
同様にして、サーバ装置１１は、ブロックＸ２の次の順序のブロックＸ３を記憶装置１２ａから読み出し、グループアドレスＩＮＦ１及びＩＮＦ２を指定し、通信装置１４を介してネットワーク１０に送信する。
クライアント装置（１）、クライアント装置（２）は、自己のグループアドレスＩＮＦ１、ＩＮＦ２と一致するグループアドレスＩＮＦ１、ＩＮＦ２が指定されているブロックＸ３をネットワーク１０から受信し、記憶装置８に記憶する。
次に、サーバ装置１１からブロックＸ３を送信している時に、サーバ装置１１がクライアント装置（３）から送信要求ＲＥＱ３を受信したものとする。
この場合、サーバ装置１１は、送信要求ＲＥＱ３を送信したクライアント装置（３）にグループアドレスＩＮＦ３をユニキャスト方式で送信する。
クライアント装置（３）は、サーバ装置１１から送信されたグループアドレスＩＮＦ３を受信し、自己が属するグループのグループアドレスとして記憶装置８に記憶する。
そして、サーバ装置１１は、ブロックＸ３の次の順序のブロックＸ４を記憶装置１２ａから読み出し、グループアドレスＩＮＦ１、ＩＮＦ２、ＩＮＦ３を指定し、ＩＰマルチキャスト方式でネットワーク１０に送信する。
クライアント（１）〜（３）は、自己が属するグループのグループアドレスＩＮＦ１、ＩＮＦ２、ＩＮＦ３が指定されたブロックＸ４をネットワーク１０から受信し、記憶装置８に記憶する。
この時、サーバ装置１１は、クライアント（１）に対しては所定の情報（ブロックＸ１〜Ｘ４）の送信を完了したが、クライアント装置（２）及び（３）に対しては所定の情報（ブロックＸ１〜Ｘ４）の送信を完了していないことを判別する。なお、各クライアント装置に対して所定の情報の送信を完了したか否かは、例えば，後述する送信カウンタのカウント値によって判別する。そこで、サーバ装置１１は、ブロックＸ４をグループアドレスＩＮＦ１、ＩＮＦ２、ＩＮＦ３を指定してマルチキャスト方式で送信した後、引き続きブロックＸ１、Ｘ２、Ｘ３を送信する。すなわち、ブロックＸ１をグループアドレスＩＮＦ２、ＩＮＦ３を指定してネットワーク１０に送信する。また、ブロックＸ２、Ｘ３をグループアドレスＩＮＦ３を指定してネットワーク１０に送信する。
このように、図１に示すシーケンス図では、クライアント装置（１）はブロックＸ１、Ｘ２、Ｘ３、Ｘ４の順に受信し、クライアント装置（２）はブロックＸ２、Ｘ３、Ｘ４、Ｘ１の順に受信し、クライアント装置（３）はブロックＸ４、Ｘ１、Ｘ２、Ｘ３の順に受信する。
ここで、サーバ装置１１は、図１４に示すように、ブロックＸ１〜Ｘ４及び各ブロックの分割順序情報を挿入したパケット２０を送信している。このため、各クライアント装置（１）〜（３）は、受信した各ブロックＸ１〜Ｘ４を任意の方法で記憶手段８に記憶させることができる。例えば、図１３に示すように、各ブロック録Ｘ１〜Ｘ４を受信順に記憶部８に記憶させることができる。図１３では、ブロックＸ１〜Ｘ４をＸ３、Ｘ４、Ｘ１、Ｘ２の順に受信し、受信した順に記憶装置８に記憶させていることを示している。この場合、クライアント装置の処理装置７は、記憶装置８に記憶されているブロックＸ１〜Ｘ４を、各ブロックＸ１〜Ｘ４の分割順序情報に従って読み出す。また、処理装置７は、各ブロックＸ１〜Ｘ４の分割順序情報に基づいて結合することにより、所定の情報を復元する。勿論、受信したブロックＸ１〜Ｘ４を、各ブロックの分割順序情報に従って記憶装置８に記憶させることもできる。
以上のように、サーバ装置１１は、クライアント装置に情報（ブロック）を送信している間に、その情報の送信要求を他のクライアント装置から送信され続ける限り、マルチキャスト方式でブロックＸ１〜Ｘ４を定められている順番（再生順序）で繰り返しネットワーク１０に送信する。
すなわち、本実施例では、サーバ装置１１は、初期状態でクライアント装置から送信要求を受信すると、所定の情報（コンテンツ）を構成する複数のブロックを、先頭のブロックから順にマルチキャスト方式で送信を開始する。また、サーバ装置１１は、送信要求を送信したクライアント装置に所定の情報（所定の情報を構成するブロック）を送信し終わる前に、別のクライアント装置（単数でも複数でも可）からその情報の送信要求を受信すると、別のクライアント装置に対しては、その時に送信している所定順序のブロックから順にマルチキャスト方式で送信を開始する。
なお、各クライアント装置に送信するグループアドレスは、異なるグループアドレスを用いてもよいし、同じグループアドレスを用いてもよい。複数のクライアント装置に対して同じグループアドレスを送信する場合のサーバ装置及び各クライアント装置の動作例を説明する。
例えば、サーバ装置は、待機状態にある時に、第１のクライアント装置から所定の情報の送信要求を受信すると、第１のクライアント装置に所定のグループアドレスを送信する。そして、所定の情報を構成するブロックを、所定のグループアドレスを指定して所定順序で送信する。
また、サーバ装置は、第１のクライアント装置に所定の情報を構成するブロックを全て送信し終わる前に、第２のクライアント装置から所定の情報の送信要求を受信すると、第２のクライアント装置に所定のグループアドレスを送信する。そして、サーバ装置は、第２のクライアント装置に所定の情報を構成するブロックを全て送信し終わるまで、所定の情報を構成するブロックを所定のグループアドレスを指定して所定順序で循環的に送信する。
一方、第１及び第２のクライアント装置は、ネットワークに送信されているブロックの中から必要なブロックを受信する受信処理を実行する。例えば、ブロックのパケットに含まれている、所定の情報を構成するブロックの総数や受信したブロックの数（あるいは受信したブロックの分割順序情報）に基づいて、所定の情報を構成するブロックを全て受信したか否かを判別する。そして、所定の情報を構成するブロックの全てを受信したことを判別した場合には、ブロックの受信を中止する。
各クライアント装置に同じグループアドレス情報を送信する場合でも、本実施例のサーバ装置は、所定の情報の送信要求を受信する限り、所定の情報を構成するブロックを循環的に送信し続ける。このため、各クライアント装置は、送信要求を送信した後、直ちに所定の情報を構成するブロックの受信を開始することができる。この時、各ブロックがマルチキャスト方式で送信されるため、サーバ装置の処理負担やネットワーク（通信回線）の負荷は増加しない。
また、以上の実施例では、各クライアント装置から送信要求が送信された時に、各クライアント装置にグループアドレスを送信したが、各クライアント装置に予めグループアドレスを割り当てておいてもよい。各クライアント装置に予め割り当てるグループアドレスは、異なるグループアドレスでもよいし、同じグループアドレスでもよい。この場合には、サーバ装置から各クライアント装置にグループアドレスを送信する必要がない。
以上の実施例では、サーバ装置１１からマルチキャスト方式でブロックＸ１〜Ｘ４をネットワーク１０に送信する際に、ネットワーク１０の設定を行っていない。このため、サーバ装置１１からマルチキャスト方式で送信されたブロックＸ１〜Ｘ４は、ネットワーク１０の全域に伝送される。この方法は、ネットワーク１０の領域が広くなると、伝送効率が悪くなり、ネットワークのデータ量も多くなる。
そこで、サーバ装置１１からマルチキャスト方式で送信されたブロックＸ１〜Ｘ４が、送信要求を送信したクライアント装置に効率よく到達するようにネットワーク１０を設定するのが好ましい。例えば、サーバ装置１１は、クライアント装置（１）から送信要求ＲＥＱ１を受信すると、送信要求ＲＥＱ１を送信したクライアント装置（１）が属するグループにブロックＸ１〜Ｘ４が到達するようにネットワーク１０を設定する。すなわち、サーバ装置１１は、ネットワーク１０のルータ（ｒｏｕｔｅｒ）に対して、ＩＰマルチキャスト方式でブロックＸ１〜Ｘ４をクライアント装置（１）に送信するために必要な情報を送信する。その情報は、サーバ装置１１からネットワーク１０に、ＩＰマルチキャスト方式でブロックＸ１〜Ｘ４が送信されたとき、クライアント装置（１）がネットワークのルータからブロックを受信することを可能とする、ネットワーク設定用の情報である。
なお、本明細書では、ＩＰマルチキャスト方式で送信される情報を受信するために必要な情報（例えば、ネットワーク設定情報、グループアドレスＩＮＦ１〜ＩＮＦ３）を、「送信必要情報」あるいは「受信必要情報」と呼ぶものとする。
ＩＰマルチキャスト方式を用いて情報（ブロック）を送信する場合には、クラスＤと呼ばれるＩＰアドレス（グループアドレス）を使用するため、サーバ装置１１は、情報を送信する際に個々のクライアント装置のＩＰアドレスを指定する必要がない。言い換えれば、サーバ装置１１からグループアドレスを指定して、一つのブロックを一回だけネットワーク１０に送信すればよい。この場合、グループアドレスで示されるグループに属する複数のクライアント装置は、ネットワーク１０に送信されたブロックを受信することができる。もちろん、ネットワーク１０の各ノード（ｎｏｄｅ）（図示せず）や各ルータ（図示せず）は、ＩＰマルチキャスト方式に対応したものでなければならない。
なお、情報（ブロックＸ１〜Ｘ４）を記憶させる記憶装置１２ａは、サーバ装置１１内に設けられた記憶装置でもよいし、サーバ装置１１外に設けられた記憶装置でもよい。情報（ブロックＸ１〜Ｘ４）をサーバ装置１１内に設けられた記憶装置１２ａに記憶する場合には、情報を分割したブロックＸ１〜Ｘ４と分割順序情報を記憶させるのが好ましい。
本実施例のサーバ装置１１が所定の情報（ブロック）を送信する動作を図７に示す。
サーバ装置１１の記憶装置（送信用記憶装置）１２ａには、所定の情報（コンテンツ）を構成するブロックＸ１〜Ｘ４が、Ｘ１、Ｘ２、Ｘ３、Ｘ４の順序で記憶されている。処理装置１３（図２参照）は、記憶装置１２ａからブロックＸ１〜Ｘ４を所定の順序で読み出す。例えば、１番目に先頭のブロックＸ１、２番目にブロックＸ２、３番目にブロックＸ３、４番目にブロックＸ４を読み出す。そして、再びブロック順列の先頭に戻り、５番目にブロックＸ１、６番目にブロックＸ２…というようにブロックＸ１〜Ｘ４を循環的に読み出していく。読み出されたブロックＸ１〜Ｘ４は、通信装置１４に送られる。通信装置１４は、送られてきたブロックＸ１〜Ｘ４をネットワーク１０に送信する。ブロックＸ１〜Ｘ４の送信順序は、Ｘ１、Ｘ２、Ｘ３、Ｘ４、Ｘ１、Ｘ２…の順である。
サーバ装置１１は、情報の送信動作中にクライアント装置から当該情報（コンテンツ）の送信要求を受信し続けている限り、図７で示される所定順序の循環送信動作を継続する。
図８は、所定の情報の送信要求が集中した場合の動作を説明するシーケンス図である。
サーバ装置１１は、クライアント装置からの送信要求を受信してなく、情報（ブロック）の送信も行っていない場合には初期状態にある。
サーバ装置１１は、初期状態において、クライアント装置（１）から送信要求を受信すると、記憶装置１２ａから、要求された情報（コンテンツ）を構成するブロックＸ１〜Ｘ４を、ブロック順列の先頭ブロックから読み出す。そして、サーバ装置１１は、読み出したブロックＸ１〜Ｘ４を順次ネットワーク１０にマルチキャスト方式で送信する。言い換えれば、サーバ装置１１は、クライアント装置（１）からの送信要求を引き金（トリガ）として、所定の情報を構成するブロックＸ１〜Ｘ４の送信を開始する。
ブロックＸ１〜Ｘ４をクライアント装置（１）に送信中に、他のクライアント装置からその所定の情報の送信要求をサーバ装置１１が受信すると、サーバ装置１１は、その時の順番のブロックを、ブロック送信中のクライアント装置（１）及び他のクライアント装置に送信する。
例えば、ブロックＸ１をクライアント装置（１）が属するグループに送信中に、クライアント装置（２）から送信要求を受信すると、次のブロックＸ２をクライアント装置（１）及び（２）が属するグループに送信する。また、次のブロックＸ３をクライアント装置（１）及び（２）が属するグループに送信中に、クライアント装置（３）から送信要求を受信すると、次のブロックＸ４をクライアント装置（１）、（２）及び（３）が属するグループに送信する。
以上まとめると、所定の情報を構成するブロックＸ１〜Ｘ４が、Ｘ１、Ｘ２、Ｘ３、Ｘ４の順列を形成している場合、サーバ装置１１からネットワーク１０へＩＰマルチキャスト方式で送信するブロックの順番は、所定の情報（ブロック）の送信動作中にその所定の情報の送信要求が途絶えない限り、Ｘ１、Ｘ２、Ｘ３、Ｘ４、Ｘ１、Ｘ２、Ｘ３、Ｘ４…のように、Ｘ１、Ｘ２、Ｘ３、Ｘ４の循環となる。
図８に示す例では、クライアント装置（１）とクライアント装置（４）は、Ｘ１、Ｘ２、Ｘ３、Ｘ４の順でブロックを受信し、クライアント装置（２）は、Ｘ２、Ｘ３、Ｘ４、Ｘ１の順でブロックを受信し、クライアント装置（３）は、Ｘ４、Ｘ１、Ｘ２、Ｘ３の順でブロックを受信し、クライアント装置（５）は、Ｘ３、Ｘ４、Ｘ１、Ｘ２の順でブロックを受信する。
以上は、記憶装置１ａに記憶されている情報（ブロック）を送信する場合について説明したが、外部機器（撮像装置等の情報供給装置）９から情報を供給する方法を図２により説明する。
ここで、情報供給装置９が情報の供給を開始する時刻より前に、少なくとも一のクライアント装置からサーバ装置１１に、情報供給装置９が供給する情報の送信要求が送信されたものとする。
情報供給装置９の情報供給開始時刻、例えば、ライブ放送の開始時刻になると、情報供給装置９は、情報を構成するブロックＸ１〜Ｘ４を、Ｘ１、Ｘ２、Ｘ３、Ｘ４の順でサーバ装置１１に送信する。サーバ装置１１の処理装置１３は、情報供給装置９から送信されたブロックＸ１〜Ｘ４を、記憶装置（送信用記憶装置）１２ａに記憶させる。なお、この時、情報供給装置９から送信されたブロックＸ１〜Ｘ４を、再送信用記憶装置１２ｂに記憶させるようにしてもよい。再送信用記憶装置１２ｂに記憶されたブロックＸ１〜Ｘ４は、後述する再送信処理を行う際に読み出される。
また、処理装置１３は、情報供給装置９から受信したブロックＸ１〜Ｘ４を記憶装置１２ａに記憶させながら、同時あるいはほぼ同時に通信装置１４を介してネットワーク１０にマルチキャスト方式で送信する。すなわち、サーバ装置１１は、情報供給装置９から供給される情報（ブロックＸ１〜Ｘ４）の開始時刻が定められており、かつ、クライアント装置からその情報の送信要求を送信時刻の前に受信しているときは、情報供給装置９から供給される情報（ブロックＸ１〜Ｘ４）をネットワーク１０に送信しながら、記憶装置１２ａに記憶させる。
情報供給装置９から供給される情報をネットワーク１０に送信する処理は、ブロックＸ１〜Ｘ４の到着時に一回だけである。情報供給装置９から供給される新着情報をネットワーク１０に送信している時もしくは情報供給装置９から供給される新着情報をネットワーク１０に送信した後に、別のクライアント装置からその情報の送信要求を受信すると、サーバ装置１１は、情報供給装置９から新着情報の供給が終了した後に、引き続き、記憶装置１２ａからその新着情報を読み出してネットワーク１０に送信する。
なお、サーバ装置１１は、情報供給装置９から新着情報が供給されている時に別のクライアント装置からの送信要求を受信した場合には、別のクライアント装置に、新着情報の供給が完了した後に新着情報を送信してもよいし、送信要求を受信した時点から新着情報を送信してもよい。そして、サーバ装置１１は、送信要求を受信した時点から新着情報を送信する際には、新着情報の再生方式としてダウンロード方式を用いている場合には第１実施例の通信方法を用いて送信し、新着情報の再生方式としてストリーミング方式を用いている場合には後述する第２実施例の通信方法を用いて送信する。
サーバ装置１１から送信されたブロックにブロックエラーが発生することがある。例えば、サーバ装置１１から送信されたブロックＸ１〜Ｘ４がネットワークを伝送している間に、ブロックＸ１〜Ｘ４内のデータが欠落したり変化したりすることがある。あるいは、サーバ装置１１から送信されたブロックＸ１〜Ｘ４がクライアント装置（１）〜（ｎ）で受信できないことがある。
分割順序情報にエラー検出の機能を持たせることはできるが、エラー訂正は困難である。このため、分割順序情報とは別に、誤り検出／訂正情報をブロックに付加することが望ましい。
そこで、図１４に示すように、サーバ装置１１は、ブロックＸ１〜Ｘ４を送信する際に、各ブロックＸ１〜Ｘ４にブロック誤り検出／訂正情報を付加する。
ブロック誤り検出／訂正情報としては、例えば、周知のリードソロモン符号等のＥＣＣ符号を用いる。ブロックにブロック誤り検出／訂正符号を付加することにより、クライアント装置は、受信したブロックのデータが欠落しているあるいは変化していることを検出することができる。また、少々のデータの欠落あるいは変化であれば、訂正を行って正常なデータを復元することができる。さらに、訂正ができない程度の欠落あるいは変化であれば、クライアント装置は、サーバ装置にそのブロックの再送信を要求する。
誤り検出／訂正情報としては、既知のものを適宜選択して使用することができる。例えば、パリティビット情報、ＢＣＨ符号あるいはＲＳ符号等を用いることができる。ＢＣＨ符号とＲＳ符号は、周知のように、複数のビットからなるデータに複数ビットの誤りが有ったとき、その誤りビットを検出するとともに訂正するための符号である。
このように、ブロック誤り検出／訂正情報を用いることにより、少々のデータの欠落あるいは変化が発生しても、訂正を行って正常に処理を行うことができる。このため、再送処理回数を減少させることができ、ネットワーク１０上のデータ量を減少させることが可能になる。
次に、図１を参照して、本実施例のクライアント装置（１）〜（ｎ）が情報（ブロック）を受信する動作を説明する。
クライアント装置（１）〜（ｎ）は、ネットワーク１０から、指定されているグループアドレスが自己のグループアドレスと一致するブロックを受信する。そして、クライアント装置（１）〜（ｎ）は、ブロックとともに受信した分割順序情報あるいはブロック誤り検出／訂正情報に基づいてエラー検出を行う。なお、エラーに関する処理は、通信装置６が行ってもよいし、処理装置７（図１２参照）が行ってもよい。
エラー検出は、例えば以下のようにして行う。
分割順序情報を参照することにより、未受信のブロックを検出することができる。例えば、分割順序情報が連続していない場合に、欠落している分割順序情報に対応するブロックが未受信であることを検出する。この場合、受信管理テーブル５に、未受信のブロックを特定する情報、例えば、所定の情報を識別する識別情報、分割順序情報を記憶させる。
また、分割順序情報にブロックのデータ量に関する情報も含まれている場合には、分割順序情報を参照することにより、そのブロックの全データを正常に受信したか否かを検出することができる。ブロックの全データを正常に受信していない場合には、受信管理テーブル５に、そのブロックを特定する情報、例えば、所定の情報を識別する識別情報、分割順序情報を記憶させる。
また、ブロックとともに受信したブロック誤り検出／訂正情報に基づいて、受信したブロックの誤り検出及び誤り訂正を行うこともできる。例えば、受信したブロックに誤りがあることを検出した場合には、誤り訂正が可能であれば誤り訂正を行い、誤り訂正が不可能であれば、受信管理テーブルに、誤り訂正が不可能であるブロックを特定する情報、例えば、所定の情報を識別する識別情報、分割順序情報を記憶させる。
クライアント装置（１）〜（ｎ）は、受信管理テーブル５に記憶されている情報に基づいて、サーバ装置１１に対して再送信要求を送信する。サーバ装置１１が、再送信要求に応答してブロックを再送信する動作は後述する。
次に、サーバ装置１１の動作を説明する。
サーバ装置１１は、送信要求受信待機動作、ブロック送信動作及び再送信動作を同時に並行して行うことが可能である。
サーバ装置１１が送信要求の受信を待機する動作の例を、図９に示すフローチャート図により説明する。
まず、ステップＳ１１では、クライアント装置（１）〜（ｎ）からの送信要求を受信したか否かを判断する。複数の情報を送信可能である場合には、クライアント装置（１）〜（ｎ）からは、送信を要求する情報を示す識別情報を含む送信要求あるいは送信を要求する情報に対応する送信要求を送信する。
送信要求を受信していない場合には待機する。一方、送信要求を受信した場合には、ステップＳ１２に進む。
ステップＳ１２では、送信要求を送信したクライアント装置に対して、情報（ブロック）を受信するために必要な情報（グループアドレス、送信する情報の総ブロック数等）をユニキャスト方式で送信する。同時に、総ブロック数を記憶する。
次に、ステップＳ１３では、ブロックをネットワーク１０に送信する動作を開始させるために、送信カウンタを０にリセット（リスタート）する。
以後、クライアント装置（１）〜（ｎ）のいずれかから送信要求を受信する毎に、送信カウンタを０にリセットする。
サーバ装置１１が、情報（ブロック）をネットワーク１０に送信する動作の例を、図１０に示すフローチャート図により説明する。
まず、ステップＳ２１では、送信カウンタが総ブロック数に等しいか否かを判断する。
送信カウンタが総ブロック数に等しい場合には、待機する。一方、送信カウンタが総ブロック数に等しくない場合には、ステップＳ２２に進む。
ステップＳ２２では、読み出しブロックポインタで示される順序のブロックを記憶装置１２ａから読み出す。
そして、ステップ２３では、読み出したブロックにグループアドレス、分割順序情報、誤り検出／訂正情報、情報を識別するための情報識別情報等を付加してネットワーク１０にマルチキャスト方式で送信する。同時に、送信カウンタを１加算する。また、ブロックポインタを、次に送信するブロックのポインタに設定する。ブロックポインタは、例えば、分割順序情報に対応させる。通常の送信時には、ブロックポインタを１加算すればよいが、再送信動作の場合には、次に再送信するブロックの順序に対応する値に設定する。
なお、総ブロック数に等しい数のブロックを送信し終わると、ステップ２１の判断が「ＹＥＳ」となる。すなわち、送信カウンタが総ブロック数と等しくない場合には、ブロックの送信動作を継続する。そして、送信カウンタが総ブロック数と等しくなると、ブロックの送信動作を停止する。
サーバ装置１１の再送信動作の例を、図１１に示すフローチャート図により説明する。
ステップＳ３１では、サーバ装置１１は、情報（ブロック）の送信を終了したクライアント装置（１）〜（ｎ）から再送信要求を受信したか否かを判断する。
再送信要求を受信していない場合には、待機する。一方、再送信要求を受信した場合には、ステップＳ３２に進む。なお、クライアント装置（１）〜（ｎ）は、受信できなかったブロックを特定する情報（例えば、識別情報、分割順序情報）を含む再送信要求をサーバ装置１１に送信する。受信できなかったブロックの数は、１つでも複数でもよい。
ステップＳ３２では、再送信を要求されているブロックを個別に再送信した場合において、サーバ装置１１がネットワーク１０に対して単位時間内に送信するブロックの総数（総ブロック数）を計算する。そして、総ブロック数が制限値を超えているか否かを判別する。総ブロック数が制限値を越える場合にはステップＳ３３に進み、総ブロック数が制限値を超えない場合にはステップＳ３５に進む。
ステップＳ３３では、マルチキャスト方式で再送信することを決定する。すなわち、再送信要求されたブロックの総数が多い（ネットワークの負担が大きい）ため、再送信要求されたブロックをマルチキャスト方式で再送信することを決定する。そして、サーバ装置１１は、再送信要求を送信したクライアント装置に対して、マルチキャスト方式で送信することを通知する。例えば、グループアドレスを通知する。
次に、ステップＳ３４では、送信カウンタを０にリセットする。また、ブロックポインタを、再送信要求されたブロックのポインタに設定する。これにより、図１０に示すステップＳ２１の判断がＮＯとなり、再送信要求されたブロックをマルチキャスト方式で送信する動作が開始される。再送信要求されたブロックを送信した後、送信カウンタを総ブロック数に設定する。これにより、再送信動作が終了する。
一方、ステップＳ３５では、ユニキャスト方式で再送信することを決定する。すなわち、再送信要求されたブロックの総数が少ない（ネットワークの負担が軽い）ため、再送信要求されたブロックをユニキャスト方式で再送信することを決定する。そして、サーバ装置１１は、再送信要求を送信したクライアント装置に対して、ユニキャスト方式で送信することを通知する。
次に、ステップＳ３６では、再送信要求を送信したクライアント装置が受信できなかったブロックを読み出す。
そして、ステップＳ３７では、読み出したブロックにコンテンツ識別情報、分割順序情報、誤り検出／訂正情報を付加し、再送信要求を送信したクライアント装置にユニキャスト方式で再送信する。
なお、マルチキャスト方式でブロックを再送信する時には、ブロックを送信した時のグループアドレスを用いてもよいし、新たなグループアドレスを割り当ててもよい。
本実施例では、記憶装置（送信用記憶装置）１２ａの他に再送信用記憶装置１２ｂを設けている。そして、外部機器等から送信される情報（ブロック）を記憶装置１２ａ及び再送信用記憶装置１２ｂに記憶させる。あるいは、再送信を行う時等に、記憶装置１２ａに記憶されているブロックを再送信用記憶装置１２ｂに記憶させる。そして、再送信するブロックを再送信用記憶装置１２ｂから読み出して、再送信要求を送信したクライアント装置に送信する。勿論、記憶装置１２ａに、送信用ブロック及び再送信用ブロックを記憶させてもよい。あるいは、記憶装置１２ａに記憶されているブロックを読み出して送信及び再送信してもよい。
このように、本実施例では、サーバ装置１１は、クライアント装置から再送信を要求されたブロック（未受信のブロック）の総数に応じて、ブロックをユニキャスト方式あるいはマルチキャスト方式で再送信するか否かを決定している。
勿論、サーバ装置１１は、クライアント装置からの再送信要求に対して、ユニキャスト方式のみを用いてもよいし、あるいはマルチキャスト方式のみを用いてもよい。
なお、サーバ装置１１は、単位時間内におけるネットワーク１０のデータ量を判別し、ネットワークのデータ量に基づいて、ネットワーク１０に送信するブロック数を制御（帯域制限制御）することもできる。これにより、ネットワークのデータ量を適切に調整し、伝送効率が低下するのを防止することができる。
また、サーバ装置１１の動作は、図９〜図１１に示す動作に限定されない。例えば、サーバ装置１１は、クライアント装置から所定の情報の送信要求が送信された場合、所定の情報に対応させて、そのクライアント装置の送信カウンタをリスタートする。そして、サーバ装置１１は、各クライアント装置に所定の情報を構成するブロックを送信する毎に、そのクライアント装置の送信カウンタを１加算する。サーバ装置１１は、所定の情報に対応する各クライアント装置の送信カウンタのカウント値の全てが所定の情報の総ブロック数に等しくなると、所定の情報を構成するブロックの送信動作を停止する。
次に、本発明の通信方法の第２実施例について説明する。本実施例は、情報（コンテンツ）の再生方式としてストリーミング方式を用いる場合に好適である。本実施例を実施する通信装置は、第１実施例と同様のサーバ装置（情報送信装置）、クライアント装置（情報受信装置）により構成することができる。
本実施例では、情報（コンテンツ）を複数（２以上）のグループ（以下、「セグメント」という）に分割する。各セグメントは、１以上のブロックを含んでいる。
図１５に、情報をセグメント及びブロックに分割した例を示す。図１５では、情報を、先頭から順に１５個のブロックＸ１〜Ｘ１５に分割している。そして、ブロックＸ１〜Ｘ３を１番目のセグメント１（Ｓｅｇ１）に、ブロックＸ４〜Ｘ６を２番目のセグメント２（Ｓｅｇ２）に、ブロックＸ７〜Ｘ９を３番目のセグメント３（Ｓｅｇ３）に、ブロックＸ１０〜Ｘ１２を４番目のセグメント４（Ｓｅｇ４）に、ブロックＸ１３〜Ｘ１５を５番目のセグメント５（Ｓｅｇ５）にグループ分けしている。
セグメント（セグメントに含まれているブロック）は、例えば、以下の方法で送信する。セグメンドは、そのセグメントの送信が要求された時に送信する。セグメントを送信している時にそのセグメントの送信が要求された場合には、そのセグメントの送信が終了した後にそのセグメントを送信してもよいし、そのセグメントの送信を延長してもよい。セグメントの送信を延長する場合には、第１実施例で用いた方法を用いる。例えば、セグメント１がブロックＸ１、Ｘ２、Ｘ３により構成されている場合には、ブロックＸ１、Ｘ２、Ｘ３、Ｘ１、Ｘ２…のように、そのセグメントに含まれているブロックを定められた順序で循環的に送信する。複数のセグメントを同時に送信してもよいし、順に送信してもよい（１つのセグメントの送信が終了した後に次のセグメントを送信する）。
図１６は、クライアント装置が１つの場合における、各セグメント１〜５の送信順序の例を示している。五角形の矢印は該当するセグメント（セグメントに含まれているブロック）の送信期間を表している。図１６に示す例では、各セグメント１〜５を順に送信している。例えば、セグメント１を送信した後に、次の順序のセグメント２を送信する。図１６に示す例では、クライアント１が所定の情報の送信要求ＲＥＱ１を送信してから所定の情報を受信するのに必要な時間（転送時間１）は各セグメント１〜５に含まれているブロックＸ１〜Ｘ１５を送信するのに必要な時間の合計となる。
セグメント１〜５を同時に送信する場合には（図２４参照）、サーバ装置の送信速度（転送速度）は、各セグメント１〜５の送信速度（転送速度）の合計となる。セグメントを同時に送信する方法を用いる場合には、例えば、通信回線の最大伝送速度が同じであれば、セグメントを順に送信する場合に比べて転送時間は短くなる。しかしながら、通信回線の負荷が大きくなるため、他の情報の送信を待機させなければならない場合もある。
各セグメントの送信は、例えば、各セグメントに対応するクライアント装置の送信カウンタをリスタートする（カウント値を「０」にリセットする）ことによって開始される。例えば、クライアント装置（１）から、セグメント１〜５により構成される所定の情報をセグメント１から送信することを要求する送信要求（ＲＥＱ１）が送信されると、送信カウンタ「セグメント１−クライアント１」がリスタートされる。これにより、セグメント１に含まれているブロックＸ１〜Ｘ３がクライアント装置（１）に順に送信される。また、送信カウンタ「セグメント２−クライアント１」がリスタートされると、セグメント２に含まれているブロックＸ４〜Ｘ６がクライアント装置（１）に順に送信される。
クライアント装置（１）は、各セグメントのブロックを受信すると、受信した各セグメント毎に、あるいは受信した複数のセグメントを用いて再生処理を行う。この再生処理は、セグメントを順次受信しながら実行される。
各ブロックのパケットには、例えば、所定の情報を構成するセグメントの総数を示すセグメント総数情報、そのブロックを含むセグメントの順序を示すセグメント分割順序情報、セグメントを構成するブロックの総数を示すブロック総数情報、ブロックの順序を示すブロック分割順序情報等が含まれている。各クライアント装置は、受信したブロックのパケットに含まれている各情報に基づいてブロックの受信処理や、ブロックを結合する処理等を実行する。
なお、図１６では、クライアント装置（１）からサーバ装置１１へ送信要求（ＲＥＱ１）を送信する送信処理と、サーバ装置１１からクライアント装置（１）にグループアドレス（ＩＮＦ１）を送信する送信処理の記述を省略している。
送信要求（ＲＥＱ）の送信方法としては、種々の方法を用いることができる。例えば、所定の情報を構成する各セグメント毎に送信要求（ＲＥＱ）を送信する方法を用いてもよい。あるいは、最初に１回だけ所定の情報の送信要求（ＲＥＱ）を送信する方法を用いてもよい。前者の方法は、任意のセグメントを情報受信装置で受信する場合に好適である。また、後者の方法は、所定の情報を１番目のセグメントから、あるいは任意のセグメントから情報受信装置で受信する場合に好適である。後者の方法を用いる場合には、情報送信装置は、セグメントの送信が終了すると、自動的に次のセグメントの送信を開始する。送信を要求するセグメントの識別番号、送信を開始するセグメントの識別番号の指示は、送信要求（ＲＥＱ）に含ませる等種々の方法を用いることができる。
次に、所定の情報を構成するセグメントをクライアント装置に送信している時に、他のクライアント装置から同一の情報の送信要求が送信された場合の動作を説明する。
まず、所定の情報を構成するセグメント毎に送信要求ＲＥＱを送信する方法を用いた場合の動作を、図１７及び図１８を用いて説明する。
図１７は、クライアント装置（１）から各セグメントの送信を要求する送信要求ＲＥＱ１が送信され、サーバ装置１１から各セグメント１（各セグメントに含まれているブロック）をクライアント装置（１）に送信している時に、クライアント装置（２）から同一の情報の同一のセグメント１を送信することを要求する送信要求（ＲＥＱ２）が送信された場合の動作を示したものである。すなわち、送信しているセグメントと同一のセグメントの送信を要求された場合の動作を示している。
クライアント装置（１）は、所定の情報をセグメント１から送信することを要求する送信要求（ＲＥＱ１−Ｓ１）をサーバ装置１１に送信する。
サーバ装置１１は、クライアント装置（１）から送信された送信要求（ＲＥＱ１−Ｓ１）を受信すると、クライアント装置（１）にグループアドレス（例えば、グループアドレスＩＮＦ１−Ｓ１）を送信する。
同時に、サーバ装置１１は、セグメント１に対して割り当てられたクライアント装置（１）の送信カウンタ「セグメント１−クライアント１」をリスタートする。これにより、セグメント１を構成するブロックＸ１〜Ｘ３が、グループアドレスＩＮＦ１−Ｓ１で指定されて順に送信される。この時、送信要求ＲＥＱ１−Ｓ１を送信したクライアント装置（１）に各ブロックが到達するようにネットワークを設定するのが好ましい。送信カウンタ「セグメント１−クライアント１」のカウント値は、ブロックＸ１〜Ｘ３がグループアドレスＩＮＦ１−Ｓ１で指定されて送信される毎に１加算される。そして、送信カウンタ「セグメント１−クライアント１」がタイムアウトする（カウント値がセグメント１の総ブロック数に一致する）と、セグメント１に含まれているブロックＸ１〜Ｘ３をグループアドレスＩＮＦ１−Ｓ１で指定して送信する動作が中止される。
クライアント装置（１）は、サーバ装置１１から送信されたグループアドレスＩＮＦ１−Ｓ１を受信すると、自己が属するグループのグループアドレスとして記憶する。そして、クライアント装置（１）は、グループアドレスＩＮＦ１−Ｓ１が指定されたブロックＸ１〜Ｘ３を受信して記憶する。
ブロックＸ１の送信後に、クライアント装置（２）から、同一の情報をセグメント１から送信することを要求する送信要求（ＲＥＱ２−Ｓ１）がサーバ装置１１に送信されたものとする。
サーバ装置１１は、クライアント装置（２）から送信された送信要求（ＲＥＱ２−Ｓ１）を受信すると、クライアント装置（２）にグループアドレス（例えば、グループアドレスＩＮＦ２−Ｓ２）を送信する。また、サーバ装置１１は、セグメント１に割り当てられたクライアント装置（２）の送信カウンタ「セグメント１−クライアント２」をリスタートする。この時、送信要求ＲＥＱ２−Ｓ１を送信したクライアント装置（２）に各ブロックが到達するようにネットワークを設定するのが好ましい。
クライアント（１）、クライアント装置（２）は、サーバ装置１１から送信されたグループアドレスＩＮＦ２−Ｓ２を受信すると、自己が属するグループのグループアドレスとして記憶する。
ここで、送信カウンタ「セグメント１−クライアント２」をリスタートされた時、送信カウンタ「セグメント１−クライアント１」のカウント値はセグメント１の総ブロック数に一致していないため、ブロックＸ２は、グループアドレスＩＮＦ１及びＩＮＦ２で指定されて送信される。
これにより、クライアント装置（１）、クライアント装置（２）は、サーバ装置１１から送信されたグループアドレスＩＮＦ１−Ｓ１及びＩＮＦ２−Ｓ２で指定されたブロックＸ２を受信して記憶する。
ブロックＸ３も、グループアドレスＩＮＦ１−Ｓ１及びＩＮＦ２−Ｓ２が指定されて送信される。
クライアント装置（１）は、セグメント１に含まれているブロックＸ１〜Ｘ３の受信を完了したら、続くセグメント２の送信を要求する送信要求ＲＥＱ１−Ｓ２をサーバ装置１１に送信する。セグメントに含まれているブロックの全てを受信したか否かは、例えば、セグメントを構成する総ブロック数や受信したブロックの数（ブロックに分割識別情報）、あるいはエラー検出／訂正情報に基づいて判別する。
サーバ装置１１は、クライアント装置（１）から送信された送信要求ＲＥＱ１−Ｓ２を受信すると、グループアドレス（例えば、グループアドレスＩＮＦ１−Ｓ２）をクライアント装置（１）に送信する。また、サーバ装置１１は、セグメント２に割り当てられたクライアント装置（１）の送信カウンタ「セグメント２−クライアント１」をリスタートする。これにより、セグメント２を構成するブロックＸ４〜Ｘ６がグループアドレスＩＮＦ１−Ｓ２で指定されて送信される。
この時、サーバ装置１１は、セグメント１のブロックＸ１とセグメント２のブロックＸ４を同時に送信する。複数のブロックを同時に送信するという表現は、例えば、同一時刻にブロックを送信可能な複数のチャンネルが設けられている場合には、複数のブロックを複数のチャンネルで同一時刻に送信することを意味する。あるいは、異なる時刻にブロックを送信する複数のチャンネルが設けられている場合には、複数のチャンネルそれぞれの送信時刻にそれぞれのブロックを送信することを意味する。
ブロックＸ３を送信すると、送信カウンタ「セグメント１−クライアント１」のカウント値がセグメント１の総ブロック数に一致するため、セグメント１を構成するブロックをグループアドレスＩＮＦ１−Ｓ１で指定して送信する処理が中止される。一方、送信カウンタ「セグメント１−クライアント２」のカウント値はセグメント１の総ブロック数と一致しないため、引き続きブロックＸ１がグループアドレスＩＮＦ２−Ｓ１で指定されて送信される。
そして、ブロックＸ１を送信すると、送信カウンタ「セグメント１−クライアント２」のカウント値がセグメント１の総ブロック数に一致するため、セグメント１を構成するブロックをグループアドレスＩＮＦ２−Ｓ１で指定して送信する処理が中止される。
クライアント装置（２）は、セグメント１に含まれているブロックＸ２〜Ｘ１の受信を完了したら、続くセグメント２の送信を要求する送信要求ＲＥＱ２−Ｓ２をサーバ装置１１に送信する。
以下同様にして、各クライアント装置に各セグメントに含まれているブロックが各クライアント装置に割り当てられたグループアドレスが指定されて送信される。
なお、各クライアント装置は、送信要求ＲＥＱによって任意のセグメントの送信を要求することができる。
本実施例では、セグメント毎に送信要求を行うことができるため、必要なセグメントのみの受信することができる。また、同一のセグメントの送信方法に関しては、第１実施例の通信方法と同様の方法を用いているため、第１実施例と同様の効果を有している。
次に、所定の情報の送信要求ＲＥＱを最初に１回だけ送信する方法を用いた場合の動作を、図１９及び図２０を用いて説明する。
図１９は、サーバ装置１１が待機状態にある時に、クライアント装置（１）から所定の情報を１番目のセグメント１から送信することを要求する送信要求ＲＥＱ１が送信され、サーバ装置１１から１番目のセグメント１（セグメント１に含まれているブロック）をクライアント装置（１）に送信している時に、クライアント装置（２）から同一の情報を１番目のセグメント１から送信することを要求する送信要求（ＲＥＱ２）が送信された場合の動作を示したものである。すなわち、送信しているセグメントと同一のセグメントの送信を要求された場合の動作を示している。
ここで、クライアント装置（２）は、異なる複数のセグメントに含まれているブロックを同時に受信可能であるものとする。同時に受信可能という表現は、例えば、同一時刻に複数のブロックを送信可能な複数のチャンネルが設けられている場合には、複数のチャンネルで同一時刻に送信された複数のブロックを受信することができることを意味する。あるいは、異なる時刻にブロックを送信する複数のチャンネルが設けられている場合には、複数のチャンネルそれぞれの送信時刻に送信されたそれぞれのブロックを受信することができることを意味する。
クライアント装置（１）は、所定の情報をセグメント１から送信することを要求する送信要求ＲＥＱ１をサーバ装置１１に送信する。例えば、所定の情報の識別情報とセグメント１からの送信を要求する要求情報を含む送信要求ＲＥＱ１をサーバ装置１１に送信する。
サーバ装置１１は、クライアント装置（１）から送信された送信要求ＲＥＱ１を受信すると、クライアント装置（１）にグループアドレス（例えば、グループアドレスＩＮＦ１）を送信する。また、サーバ装置１１は、セグメント１に割り当てられたクライアント装置（１）の送信カウンタ「セグメント１−クライアント１」をリスタートする（カウント値を「０」にリセットする）。これにより、セグメント１に含まれているブロックＸ１、Ｘ２、Ｘ３は、グループアドレスＩＮＦ１が指定されて順に送信される。送信カウンタ「セグメント１−クライアント１」のカウント値は、ブロックＸ１〜Ｘ３がグループアドレスＩＮＦ１が指定されて送信される毎に１加算される。この時、送信要求ＲＥＱ１を送信したクライアント装置（１）にブロックＸ１〜Ｘ３が到達するようにネットワークを設定するのが好ましい。
クライアント装置（１）は、サーバ装置１１から送信されたグループアドレスＩＮＦ１を受信すると、自己が属するグループのグループアドレスとして記憶する。そして、クライアント装置（１）は、グループアドレスＩＮＦ１が指定されたブロックＸ１〜Ｘ３を受信して記憶する。
ブロックＸ１の送信後に、クライアント装置（２）が、同一の情報をセグメント１から送信することを要求する送信要求ＲＥＱ２をサーバ装置１１に送信したものとする。
サーバ装置１１は、クライアント装置（２）から送信された送信要求ＲＥＱ２を受信すると、クライアント装置（２）にグループアドレス（例えば、グループアドレスＩＮＦ２）を送信する。また、サーバ装置１１は、セグメント１に割り当てられたクライアント装置（２）の送信カウンタ「セグメント１−クライアント２」をリスタートする。これにより、セグメント１に含まれているブロックＸ２、Ｘ３、Ｘ１は、グループアドレスＩＮＦ２が指定されて順に送信される。この時、送信要求を送信したクライアント装置（２）にブロックＸ２〜Ｘ１が到達するようにネットワークを設定するのが好ましい。
クライアント装置（２）は、サーバ装置１１から送信されたグループアドレスＩＮＦ２を受信すると、自己が属するグループのグループアドレスとして記憶する。そして、クライアント装置（２）は、グループアドレスＩＮＦ２が指定されたブロックＸ２〜Ｘ１を受信する。
ここで、送信カウンタ「セグメント１−クライアント２」がリスタートされた時、送信カウンタ「セグメント１−クライアント１」のカウント値はセグメント１の総ブロック数に一致していないため、ブロックＸ２、Ｘ３はグループアドレスＩＮＦ１及びＩＮＦ２が指定されて送信される。
そして、ブロックＸ３がグループアドレスＩＮＦ１及びＩＮＦ２を指定されて送信されると、送信カウンタ「セグメント１−クライアント１」のカウント値がセグメント１の総ブロック数と一致する（タイムアウトする）。これにより、サーバ装置１１は、クライアント装置１にセグメント１を構成するブロックを全て送信したことを判別し、セグメント１を構成するブロックをグループアドレスＩＮＦ１で指定して送信する処理を中止する。
また、サーバ装置１１は、送信カウンタ「セグメント１−クライアント１」がタイムアウトした場合には、セグメント１の次に送信するセグメント２の送信状態を判別する。そして、次に送信するセグメント２の送信状態に基づいて、次に送信するセグメント２に割り当てられたクライアント１の送信カウンタ「セグメント２−クライアント１」をリスタートするか、現在セグメント２を送信している他のクライアント装置の送信カウンタと同期させる（送信ブロック数を同じ値に設定する）。ここで、クライアント装置が、現在受信しているセグメントに続くセグメントに含まれているブロックを受信することができない場合（先読み受信できない場合）には、送信カウンタの同期を行わず、リスタートを行う。
図１９及び図２０では、セグメント２のブロックが未送信状態であるため、サーバ装置１１は、送信カウンタ「セグメント１−クライアント１」がタイムアウトした時、次に受信するセグメント２に割り当てられているクライアント装置（１）の送信カウンタ「セグメント２−クライアント１」を自動的にリスタートする。これにより、セグメント２に含まれているブロックＸ４〜Ｘ６は、グループアドレスＩＮＦ１が指定されて送信される。この時、セグメント１のブロックＸ１とセグメント２のブロックＸ４は同時に送信される。
また、クライアント装置（２）は先読み受信が可能であるため、サーバ装置１１は、クライアント装置（２）にグループアドレスＩＮＦ１を送信する。
クライアント装置（２）は、サーバ装置１１から送信されたグループアドレスＩＮＦ１を受信して記憶する。これにより、クライアント装置（２）は、グループアドレスＩＮＦ１あるいはＩＮＦ２が指定されたブロックを受信して記憶する。図１９及び図２０では、グループアドレスＩＮＦ１が指定されたブロックＸ１と、グループアドレスＩＮＦ２が指定されたブロックＸ４を受信して記憶する。すなわち、クライアント装置（２）は、グループアドレスＩＮＦ１が指定された、セグメント１のブロックＸ１を受信しながら、グループアドレスＩＮＦ２が指定された、セグメント２のブロックＸ４を先読み受信する。
サーバ装置１１は、ブロックＸ３を送信しても送信カウンタ「セグメント１−クライアント２」のカウント値がセグメントの総ブロック数と一致しないため、引き続きブロックＸ１を送信する。すなわち、クライアント装置（２）から送信された送信要求ＲＥＱ２を受信した時に送信しているセグメント（この場合、セグメント１）のブロックの送信を延長する。これにより、クライアント装置（２）は、所定の情報を構成する１番目のセグメント１のブロックを早期に受信することができる。
ブロックＸ１をグループアドレスＩＮＦ１で指定して送信すると、送信カウンタ「セグメント１−クライアント２」がタイムアウトする。サーバ装置１１は、送信カウンタ「セグメント１−クライアント２」がタイムアウトすると、セグメント１を構成するブロックをグループアドレスＩＮＦ２で指定して送信する処理を中止する。
また、クライアント装置（２）がセグメント２に含まれているブロック（この場合、ブロックＸ４）を先読み受信しているため、サーバ装置１１は、セグメント２に割り当てられているクライアント装置（２）の送信カウンタ「セグメント２−クライアント２」を同期させる処理を実行する。すなわち、セグメント２に割り当てられているクライアント装置（２）の送信カウンタ「セグメント２−クライアント２」のカウント値を、すでにセグメント２のブロックのカウントを開始しているクライアント装置（１）の送信カウンタ「セグメント２−クライアント１」のカウント値に設定する。
そして、送信カウンタ「セグメント２−クライアント１」及び送信カウンタ「セグメント２−クライアント２」がタイムアウトすると、クライアント装置（１）及びクライアント装置（２）に次に送信するセグメント３に割り当てられているクライアント装置（１）及びクライアント装置（２）の送信カウンタ「セグメント３−クライアント１」及び「セグメント３−クライアント２」をリスタートする。
以上のようにして、サーバ装置１１は、セグメント２のブロックＸ４以降のブロックＸ５〜Ｘ９をグループアドレスＩＮＦ１及びＩＮＦ２で指定して送信する。このように、同期後は、クライアント装置（１）及びクライアント装置（２）にブロックＸ４〜Ｘ９を１回だけ送信すればよいため、情報送信装置の処理負担や通信回線の負荷が軽減される。
クライアント装置（１）及びクライアント装置（２）は、グループアドレスＩＮＦ１及びＩＮＦ２が指定されたブロックＸ５〜Ｘ９を受信して記憶する。
サーバ装置１１は、そのセグメントに割り当てられているクライアント装置の送信カウンタが全てタイムアウトした時に、そのセグメントに含まれているブロックの送信を停止する。
なお、クライアント装置（２）に、クライアント装置（１）に送信されるセグメント２を先読み受信させる方法は前記実施例の方法に限定されない。例えば、クライアント装置（２）がセグメント１のブロックを受信している時にクライアント装置（１）にセグメント２のブロックを送信する場合には、クライアント装置（１）に送信するブロックを、クライアント装置（１）のグループアドレスＩＮＦ１及びクライアント装置（２）のグループアドレスＩＮＦ２で指定して送信する方法を用いることもできる。この場合には、サーバ装置１１は、クライアント装置（２）が先読み受信可能状態にあるか否かを判別し、判別結果に応じて送信するブロックのグループアドレスを指定する。また、この場合には、クライアント装置（２）にクライアント装置（１）のグループアドレスＩＮＦ１を送信する必要がない。
異なるセグメントに含まれているブロックを同時に送信する方法としては、種々の方法を用いることができる。例えば、予備のチャンネルを設けておく方法が可能である。この方法を用いる場合、予備のチャンネル数分だけ帯域が小さくなるが、マルチキャスト方式を用いてブロックを送信するため、予備のチャンネルを多く設ける必要がない。
本実施例では、クライアント装置は、予めマルチキャスト方式により、現在受信しているセグメントに続くセグメントに含まれているブロックを先読み受信することができる。このため、図１９に示すように、すでに送信が開始されている所定の情報と同一の情報の送信を要求する情報受信装置に対する送信時間（転送時間）を短縮することができる。
上記実施例では、クライアント装置（１）及びクライアント装置（２）が、所定の情報を１番目のセグメントから送信することを要求する場合について説明したが、本実施例の通信方法は、これ以外の場合でも適用可能である。例えば、図２１に示す場合でも適用可能である。図２１は、クライアント装置（１）は、所定の情報を１番目のセグメント１から送信することを要求する送信要求ＲＥＱ１を送信し、クライアント装置（１）にセグメント３のブロックを送信している時に、クライアント装置（２）が所定の情報と同一の情報を３番目のセグメント３から送信することを要求する送信要求ＲＥＱ２を送信した場合の動作を示す。
図２１に示す実施例においても、クライアント装置（２）から送信された送信要求ＲＥＱ２をサーバ装置１１が受信した時に送信しているセグメント３のブロックの送信が延長される。これにより、クライアント装置（２）はセグメント３のブロックを早期に受信することができる。
また、クライアント装置（２）は、セグメント３のブロックを受信しながら、クライアント装置（１）に送信されるセグメント４のブロックを先読み受信する。そして、クライアント装置（２）へのセグメント３のブロックの送信が完了すると、セグメント４に割りあてられている送信カウンタ「セグメント４−クライアント２」のカウント値が、送信カウンタ「セグメント４−クライアント１」のカウント値に同期される。以後、クライアント装置（１）及びクライアント装置（２）の送信カウンタのカウント値は、同期して変化する。これにより、情報送信装置の処理負担や通信回線の負荷が軽減される。
次に、クライアント装置に送信しているセグメントと異なるセグメントからの送信要求が他のクライアント装置から送信された場合の動作を説明する。
図２２は、クライアント装置（１）から所定の情報を１番目のセグメント１から送信することを要求する送信要求ＲＥＱ１が送信され、クライアント装置（１）にセグメント４のブロックを送信している時に、クライアント装置（２）から所定の情報と同一の情報を２番目のセグメント２から送信することを要求する送信要求ＲＥＱ２が送信された場合の動作を示したものである。
クライアント装置（１）は、所定の情報を１番目のセグメント１から送信することを要求する送信要求ＲＥＱ１をサーバ装置１１に送信する。
サーバ装置１１は、クライアント装置（１）から送信された送信要求ＲＥＱ１を受信すると、グループアドレス（例えば、グループアドレスＩＮＦ１）をクライアント装置（１）に送信する。また、セグメント１に割り当てられたクライアント装置（１）の送信カウンタ「セグメント１−クライアント１」をリスタートする。これにより、セグメント１に含まれているブロックがグループアドレスＩＮＦ１で指定されて送信される。以下、サーバ装置１１は、２番目のセグメント２、３番目のセグメント３に含まれているブロックをグループアドレスＩＮＦ１で指定して送信する。
クライアント装置（１）は、サーバ装置１１から送信されたグループアドレスＩＮＦ１を受信し、自己のグループアドレスとして記憶する。そして、クライアント装置（１）は、グループアドレスＩＮＦ１が指定されたブロックを受信して記憶する。
ここで、３番目のセグメント３に含まれているブロックをグループアドレスＩＮＦ１で指定して送信している時に、クライアント装置（２）から所定の情報と同一の情報を２番目のセグメント２から送信することを要求する送信要求ＲＥＱ２が送信されたものとする。
サーバ装置１１は、クライアント装置（２）から送信された送信要求ＲＥＱ２を受信すると、グループアドレス（例えば、グループアドレスＩＮＦ２）をクライアント装置（２）に送信する。同時に、クライアント装置（１）に送信済のセグメント２に割り当てられているクライアント装置２の送信カウンタ「セグメント２−クライアント２」をリスタートする。そして、サーバ装置１１は、グループアドレスＩＮＦ１で指定した、セグメント４のブロックと、グループアドレスＩＮＦ２で指定した、セグメント２のブロックを同時に送信する。
クライアント装置（２）は、グループアドレスＩＮＦ２を受信して記憶する。そして、クライアント装置（２）は、グループアドレスＩＮＦ２が指定されているブロックを受信して記憶する。
サーバ装置１１は、セグメント４に割り当てられているクライアント装置（１）の送信カウンタ「セグメント４−クライアント１」がタイムアウトすると、セグメント４に含まれているブロックをグループアドレスＩＮＦ１で指定して送信する処理を中止する。同時に、セグメント４に続くセグメント５に割り当てられているクライアント装置（１）の送信カウンタ「セグメント５−クライアント１」をリスタートする。また、サーバ装置１１は、クライアント装置（１）に次に送信するセグメント５のブロックをクライアント装置（２）に先読み受信させるために、クライアント装置（２）にクライアント装置（１）のグループアドレスＩＮＦ１を送信する。これにより、サーバ装置１１は、グループアドレスＩＮＦ１で指定した、セグメント５のブロックと、グループアドレスＩＮＦ２で指定した、セグメント２のブロックを同時に送信する。
クライアント装置（２）は、グループアドレスＩＮＦ１を受信して記憶する。そして、クライアント装置（２）は、グループアドレスＩＮＦ１あるいはＩＮＦ２が指定されているブロックを受信して記憶する。
サーバ装置１１は、セグメント２に割り当てられているクライアント装置（２）の送信カウンタ「セグメント２−クライアント２」がタイムアウトすると、セグメント２に含まれているブロックをグループアドレスＩＮＦ２で指定して送信する処理を中止する。同時に、クライアント装置（１）に送信済のセグメント３に割り当てられているクライアント装置（２）の送信カウンタ「セグメント３−クライアント２」をリスタートする。また、クライアント装置（２）がセグメント５のブロックを先読み受信しているため、セグメント５に割り当てられているクライアント装置（２）の送信カウンタ「セグメント５−クライアント２」のカウント値を、すでにセグメント５のブロックのカウントを開始しているクライアント装置（１）の送信カウンタ「セグメント５−クライアント１」のカウント値に同期させる。これにより、サーバ装置１１は、グループアドレスＩＮＦ１で指定した、セグメント５のブロックと、グループアドレスＩＮＦ２で指定された、セグメント３のブロックを同時に送信する。
クライアント装置（１）は、グループアドレスＩＮＦ１が指定されているブロックを受信して記憶する。また、クライアント装置（２）は、グループアドレスＩＮＦ１あるいはＩＮＦ２が指定されているブロックを受信して記憶する。
サーバ装置１１は、送信カウンタ「セグメント５−クライアント１」がタイムアウトすると、セグメント５のブロックをグループアドレスＩＮＦ１で指定して送信する処理を中止する。そして、クライアント装置（１）には送信済であるが、クライアント装置（２）には送信していないセグメント３のブロック及びセグメント４のブロックをグループアドレスＩＮＦ２で指定して送信する。
なお、セグメント５のブロックは、すでにクライアント装置（２）に送信済である。このため、サーバ装置１１は、セグメント５のブロックをグループアドレスＩＮＦ２で指定して送信する処理は実行しない。すなわち、サーバ装置１１は、クライアント装置（２）から送信された送信要求ＲＥＱ２を受信した時に送信していたセグメント４のブロックをクライアント装置（２）に送信し、送信カウンタ「セグメント４−クライアント２」がタイムアウトすると、セグメント４のブロックをグループアドレスＩＮＦ２で指定して送信する処理を中止する。
本実施例では、クライアント装置（２）から送信された送信要求を受信した時にクライアント装置（１）に送信しているセグメント（セグメント４）を除く、クライアント装置（１）に未送信のセグメント（セグメント５）は、クライアント装置（１）及びクライアント装置（２）に送信し、クライアント装置（１）に送信しているセグメント（セグメント４）と、クライアント装置（１）に送信済のセグメント（セグメント２〜４）は、クライアント装置（２）に再度送信する。すなわち、クライアント装置（１）に送信済のセグメントとクライアント装置（１）に送信中のセグメント（セグメント２〜４）に含まれているブロックは、グループアドレスＩＮＦ２を指定して順に送信される。これにより、後から所定の情報と同一の情報の送信を要求するクライアント装置（２）に送信するブロックの数が少なくて済む。したがって、後から所定の情報と同一の情報の送信を要求するクライアント装置に対して、短時間に指定されたセグメントを送信することができる。また、情報送信装置の処理負担や通信回線の負荷を軽減することができる。この時、クライアント装置（２）に最初に送信するセグメント（セグメント２）に含まれているブロックと、クライアント装置（１）に送信中のセグメント（セグメント４）に含まれているブロックは同時に送信される。
図２２に示す実施例では、クライアント装置（２）から送信された送信要求ＲＥＱ２を受信した時に送信しているセグメントのブロックはクライアント装置（２）に送信していない。すなわち、クライアント装置は、各セグメントに含まれているブロックを途中から受信するのではなく、１番目のブロックから順に受信するように構成されている。
しかしながら、図２３に示すように、クライアント装置（２）からの送信要求を受信した時にクライアント装置（１）に送信しているセグメント（セグメント３）をクライアント装置（２）で受信可能に構成することもできる。
図２３は、クライアント装置（１）から所定の情報を１番目のセグメント１から送信することを要求する送信要求ＲＥＱ１が送信され、クライアント装置（１）にセグメント３のブロックを送信している時に、クライアント装置（２）から所定の情報と同一の情報をセグメント１から送信することを要求する送信要求ＲＥＱ２が送信された場合の動作を示している。
図２３に示す実施例では、サーバ装置１１は、クライアント装置（１）にセグメント３を送信している時に、クライアント装置（２）から送信された送信要求ＲＥＱ２を受信すると、クライアント装置（１）に送信済のセグメント１に割り当てられているクライアント装置（２）の送信カウンタ「セグメント１−クライアント２」をリスタートする。また、クライアント装置（１）に送信しているセグメント３に割り当てられているクライアント装置（２）の送信カウンタ「セグメント３−クライアント２」をリスタートする。これにより、サーバ装置１１は、クライアント装置（１）に送信したグループアドレスＩＮＦ１及びクライアント装置（２）に送信したグループアドレスＩＮＦ２で指定した、セグメント３のブロックと、グループアドレスＩＮＦ２で指定した、セグメント１のブロックを同時に送信する。
クライアント装置（１）は、グループアドレスＩＮＦ１が指定されたブロックを受信して記憶する。また、クライアント装置（２）は、グループアドレスＩＮＦ１あるいはＩＮＦ２が指定されたブロックを受信して記憶する。
サーバ装置１１は、送信カウンタ「セグメント３−クライアント１」がタイムアウトすると、クライアント装置（１）に次に送信するセグメント４に割り当てられたクライアント装置（１）の送信カウンタ「セグメント４−クライアント１」をリスタートする。この時、送信カウンタ「セグメント３−クライアント２」のカウント値がセグメント３の総ブロック数に一致していない（タイムアウトしていない）ため、セグメント３のブロックをグループアドレスＩＮＦ２で指定して送信する処理は継続する。一方、クライアント装置（１）に送信する次のセグメント４のブロックをクライアント装置（２）で先読み受信させるために、クライアント装置（２）にクライアント装置（１）のグループアドレスＩＮＦ１を送信する。したがって、サーバ装置１１は、グループアドレスＩＮＦ１で指定された、セグメント４のブロックと、グループアドレスＩＮＦ２で指定された、セグメント３のブロックと、グループアドレスＩＮＦ２で指定された、セグメント１のブロックを同時に送信する。
クライアント装置（１）は、グループアドレスＩＮＦ１が指定されたブロックを受信して記憶する。また、クライアント装置（２）は、サーバ装置１１から送信されたグループアドレスＩＮＦ１を受信して記憶する。これにより、クライアント装置（２）は、グループアドレスＩＮＦ１あるいはＩＮＦ２が指定されたブロックを受信して記憶する。
サーバ装置１１は、送信カウンタ「セグメント３−クライアント２」がタイムアウトすると、セグメント３のブロックをグループアドレスＩＮＦ２で指定して送信する処理を中止する。この時、クライアント装置（２）は、続くセグメント４のブロックを先読み受信している。このため、サーバ装置１１は、セグメント４に割り当てられたクライアント装置（２）の送信カウンタ「セグメント４−クライアント２」のカウント値を、すでにセグメント４のブロックのカウントを開始しているクライアント装置（１）の送信カウンタ「セグメント４−クライアント１」のカウント値に同期させる。以後、サーバ装置１１は、送信カウンタ「セグメント２−クライアント２」をリスタートし、送信カウンタ「セグメント５−クライアント１」をリスタートする。
本実施例では、クライアント装置（２）から送信された送信要求を受信した時にクライアント装置（１）に送信しているセグメント（セグメント３）のブロックをグループアドレスＩＮＦ２で指定して送信する処理を延長し、クライアント装置（１）に送信しているセグメント（セグメント３）を除く、クライアント装置（１）に未送信のセグメント（セグメント４、５）のブロックは、グループアドレスＩＮＦ１及びＩＮＦ２で指定して送信し、クライアント装置（１）に送信済のセグメント（セグメント２〜４）のブロックは、グループアドレスＩＮＦ２で指定して再度送信する。これにより、後から所定の情報と同一の情報の送信を要求するクライアント装置（２）に送信するブロックの数が図２２に示した実施例より少なくて済む。したがって、後から所定の情報と同一の情報の送信を要求するクライアント装置に対して、指定されたセグメントを短時間に送信することができる。また、情報送信装置の処理負担や通信回線の負荷を軽減することができる。
以上は、所定の情報を２つのクライアント装置に送信する場合について説明したが、所定の情報を３つ以上のクライアント装置に送信することもできる。
図２４は、クライアント装置（１）から所定の情報を１番目のセグメント１から送信することを要求する送信要求ＲＥＱ１が送信され、クライアント装置（１）にセグメント３のブロックを送信している時に、クライアント装置（２）から所定の情報と同一の情報をセグメント１から送信することを要求する送信要求ＲＥＱ２が送信され、クライアント装置（２）にセグメント１を送信している時に、クライアント装置（３）から所定の情報と同一の情報を１番目のセグメント１から送信することを要求する送信要求ＲＥＱ３が送信された場合の動作を示している。
図２４に示す実施例では、サーバ装置１１は、クライアント装置（１）から送信された送信要求ＲＥＱ１を受信すると、グループアドレス（例えば、グループアドレスＩＮＦ１）をクライアント装置（１）に送信する。そして、送信カウンタ「セグメント１−クライアント１」、「セグメント２−クライアント１」、「セグメント３−クライアント１」を順次リスタートして、セグメント１〜セグメント３のブロックをグループアドレスＩＮＦ１で指定して順次送信する。
クライアント装置（１）は、サーバ装置１１から送信されたグループアドレスＩＮＦ１を受信して記憶する。そして、グループアドレスＩＮＦ１が指定されたブロックを受信して記憶する。
セグメント３のブロックをグループアドレスＩＮＦ１で指定して送信している時に、クライアント装置（２）から送信要求ＲＥＱ２が送信されたものとする。
サーバ装置１１は、クライアント装置（２）から送信された送信要求ＲＥＱ２を受信すると、クライアント装置（１）に送信済のセグメント１に割り当てられているクライアント装置（２）の送信カウンタ「セグメント１−クライアント２」をリスタートする。同時に、グループアドレス（例えばグループアドレスＩＮＦ２）をクライアント装置（２）に送信する。
クライアント装置（２）は、サーバ装置１１から送信されたグループアドレスＩＮＦ２を受信して記憶する。また、クライアント装置（２）は、グループアドレスＩＮＦ２が指定されたブロックを受信して記憶する。
サーバ装置１１は、セグメント３のブロックのクライアント装置（１）への送信が完了すると、クライアント装置（１）に次に送信するセグメント４に割り当てられているクライアント装置（１）の送信カウンタ「セグメント４−クライアント１」をリスタートする。この時、クライアント装置（１）に送信されるセグメント４のブロックをクライアント装置（２）に先読み受信させるために、クライアント装置（２）にクライアント装置（１）のグループアドレスＩＮＦ１を送信する。
クライアント装置（２）は、サーバ装置１１から送信されたグループアドレスＩＮＦ１を受信して記憶する。また、クライアント装置（２）は、グループアドレスＩＮＦ１あるいはＩＮＦ２が指定されたブロックを受信して記憶する。
クライアント装置（２）にセグメント１のブロックを送信している時に、クライアント装置（３）から、所定の情報と同一の情報を１番目のセグメント１から送信することを要求する送信要求ＲＥＱ３が送信されたものとする。
サーバ装置１１は、クライアント装置（２）にセグメント１のブロックをグループアドレスＩＮＦ２で指定して送信している時に、クライアント装置（３）から送信された送信要求ＲＥＱ３を受信すると、セグメント１に割り当てられたクライアント装置（３）の送信カウンタ「セグメント１−クライアント３」をリスタートする。同時に、グループアドレス（例えば、グループアドレスＩＮＦ３）をクライアント装置（３）に送信する。この時、サーバ装置１１は、グループアドレスＩＮＦ１が指定された、セグメント４のブロックと、グループアドレスＩＮＦ２及びＩＮＦ３が指定された、セグメント１のブロックを同時に送信する。
クライアント装置（３）は、サーバ装置１１から送信されたグループアドレスＩＮＦ３を受信して記憶する。また、クライアント装置（３）は、グループアドレスＩＮＦ３が指定されたブロックを受信して記憶する。
送信カウンタ「セグメント１−クライアント２」がタイムアウトすると、サーバ装置１１は、クライアント装置（２）に次に送信するセグメント２に割りあてられているクライアント装置（２）の送信カウンタ「セグメント２−クライアント２」をリスタートする。ここで、クライアント装置（２）はセグメント４のブロックを先読み受信しているため、セグメント４に割り当てられているクライアント装置（２）の送信カウンタ「セグメント４−クライアント２」のカウント値を、すでにセグメント４のブロックのカウントを開始している送信カウンタ「セグメント４−クライアント１」のカウント値に同期させる。また、送信カウンタ「セグメント１−クライアント３」がタイムアウトしていないため、セグメント１のブロックの送信は継続される。したがって、サーバ装置１１は、グループアドレスＩＮＦ１及びＩＮＦ２が指定された、セグメント４のブロック、グループアドレスＩＮＦ２が指定された、セグメント２のブロック、グループアドレスＩＮＦ３が指定された、セグメント１のブロックを同時に送信する。
さらに、クライアント装置（２）に送信されるセグメント２のブロックをクライアント装置（３）に先読み受信させるために、サーバ装置１１は、クライアント装置（２）のグループアドレスＩＮＦ２をクライアント装置（３）に送信する。
クライアント装置（３）は、サーバ装置１１から送信されたグループアドレスＩＮＦ２を受信して記憶する。そして、クライアント装置（３）は、グループアドレスＩＮＦ２あるいはＩＮＦ３が指定されたブロックを受信して記憶する。
送信カウンタ「セグメント４−クライアント１」及び「セグメント４−クライアント２」がタイムアウトすると、クライアント装置（１）及びクライアント装置（２）に次に送信するセグメント５に割りあてられているクライアント装置（１）及びクライアント装置（２）の送信カウンタ「セグメント５−クライアント１」及び「送信カウンタ「セグメント５−クライアント２」がリスタートする。したがって、サーバ装置１１は、グループアドレスＩＮＦ１及びＩＮＦ２が指定された、セグメント５のブロック、グループアドレスＩＮＦ２が指定された、セグメント２のブロック、グループアドレスＩＮＦ３が指定された、セグメント１のブロックを同時に送信する。
さらに、クライアント装置（１）及びクライアント装置（２）に送信されるセグメント５のブロックをクライアント装置（３）で先読み受信させるために、サーバ装置１１は、クライアント装置（１）あるいはクライアント装置（２）のグループアドレスＩＮＦ１あるいはＩＮＦ２の少なくとも一方（例えば、グループアドレスＩＮＦ１）をクライアント装置（３）に送信する。
クライアント装置（３）は、サーバ装置１１から送信されたグループアドレスＩＮＦ１を受信して記憶する。この場合、クライアント装置（３）は、グループアドレスＩＮＦ１あるいはＩＮＦ２あるいはＩＮＦ３が指定されたブロックを受信して記憶する。
このように、クライアント装置（３）は、セグメント２及びセグメント５のブロックを先読み受信している。したがって、送信カウンタ「セグメント１−クライアント３」がタイムアウトした時、セグメント２に割り当てられているクライアント装置（３）の送信カウンタ「セグメント２−クライアント３」のカウント値を、すでにセグメント２のブロックのカウントを開始している送信カウンタ「セグメント２−クライアント２」のカウント値に同期させる。また、セグメント５に割り当てられているクライアント装置（３）の送信カウンタ「セグメント５−クライアント３」のカウント値を、すでにセグメント５のブロックのカウント開始している送信カウンタ「セグメント５−クライアント１」あるいは送信カウンタ「セグメント５−クライアント案と２」のカウント値に同期させる。
これにより、サーバ装置１１は、グループアドレスＩＮＦ１、ＩＮＦ２及びＩＮＦ３が指定された、セグメント５のブロック、グループアドレスＩＮＦ２及びＩＮＦ３が指定された、セグメント２のブロックを同時に送信する。
以下、サーバ装置１１は、グループアドレスＩＮＦ２及びＩＮＦ３が指定された、セグメント３のブロック、グループアドレスＩＮＦ３が指定された、セグメント４のブロックを送信する。
本実施例においても、後から所定の情報と同一の情報の送信を要求するクライアント装置（２）及びクライアント装置（３）に送信するブロックの数が少ない。したがって、後から所定の情報と同一の情報の送信を要求するクラインと装置に対して、指定されたセグメントを短時間に送信することができる。また、情報送信装置の処理負担や通信回線の負荷を軽減することができる。
以上は、各セグメントのブロックを、順に送信する場合について説明したが、クライアント装置が同時に複数のセグメントのブロックを受信可能な場合には、複数のセグメントのブロックを同時に送信することもできる。複数のセグメントのブロックを同時に送受信することができれば、転送時間を一層短縮することができる。
図２５は、クライアント装置が、所定の情報を構成するセグメント１〜５を同時に受信可能な場合の動作を示したものである。
図２５で示す実施例では、クライアント装置（１）は、所定の情報を１番目のセグメント１から送信することを要求する送信要求ＲＥＱ１をサーバ装置１１に送信する。
サーバ装置１１は、クライアント装置（１）から送信された送信要求ＲＥＱ１を受信すると、グループアドレス（例えば、グループアドレスＩＮＦ１）をクライアント装置（１）に送信する。また、クライアント装置１の送信カウンタをリスタートする。これにより、サーバ装置１１は、セグメント１〜５のブロックをグループアドレスＩＮＦ１で指定して同時に送信する。なお、各セグメントの総ブロック数が同じ場合には、送信カウンタは１つでよい。一方、各セグメントの総ブロック数が異なる場合には、各セグメント毎に各クライアント装置の送信カウンタを設けるのが好ましい。
クライアント装置（１）は、グループアドレスＩＮＦ１が指定されたブロックを受信して記憶する。
ここで、セグメント１〜５のブロックをグループアドレスＩＮＦ１で指定して送信している時に、クライアント装置（２）から所定の情報と同一の情報を送信することを要求する送信要求ＲＥＱ２が送信されたものとする。
サーバ装置１１は、クライアント装置（２）から送信された送信要求ＲＥＱ２を受信すると、グループアドレス（例えば、グループアドレスＩＮＦ２）をクライアント装置（２）に送信する。また、クライアント装置（２）の送信カウンタをリスタートする。これにより、サーバ装置１１は、クライアント装置（１）に未送信のセグメント１〜５のブロックをグループアドレスＩＮＦ１及びＩＮＦ２で指定して送信する。
クライアント装置（２）は、サーバ装置１１から送信されたグループアドレスＩＮＦ２を受信して記憶する。また、クライアント装置（２）は、グループアドレスＩＮＦ２が指定されたブロックを受信して記憶する。
サーバ装置１１は、クライアント装置（１）の各セグメントに対応する送信カウンタ（各セグメントの総ブロック数が同じ場合には、共通の送信カウンタ）のカウント値が、各セグメントの総ブロック数に一致すると（タイムアウトすると）、そのセグメントのブロックをグループアドレスＩＮＦ１で指定して送信する処理を中止する。この時、そのセグメントに対応するクライアント装置（２）の送信カウンタのカウント値がそのセグメントの総ブロック数に一致していない（タイムアウトしていない）ため、サーバ装置１１は、クライアント装置（２）へのそのセグメントのブロックの送信を継続する。すなわち、そのセグメントのブロックのうち、クライアント装置（２）に未送信のブロックをグループアドレスＩＮＦ２で指定して送信する。そして、そのセグメントに対応するクライアント装置（２）の送信カウンタがタイムアウトすると、そのセグメントの送信を中止する。
本実施例では、所定の情報の送信を要求するクライアント装置に対する転送時間を短縮することができる。
また、図２６に示すような送信方法も可能である。図２６に示す送信方法は、例えば、クライアント装置から、セグメント１〜５により構成される所定の情報を１番目のセグメント１から送信することを要求する送信要求ＲＥＱ１が送信されると、まず１番目のセグメント１のブロックを送信し、セグメント１のブロックの送信が終了すると、２番目〜５番目のセグメント２〜５のブロックを同時に送信する方法である。
図２６では、クライアント装置（１）から所定の情報を１番目のセグメント１から送信することを要求する送信要求ＲＥＱ１が送信され、セグメント１のブロックをクライアント装置（１）に送信指定時に、クライアント装置（２）から所定の情報と同一の情報を１番目のセグメントから送信することを要求する送信要求ＲＥＱ２が送信された場合の動作を示している。
サーバ装置１１は、クライアント装置（１）から送信された送信要求ＲＥＱ１を受信すると、グループアドレス（例えば、グループアドレスＩＮＦ１）をクライアント装置（１）に送信する。また、１番目のセグメント１に対応するクライアント装置（１）の送信カウンタをリスタートする。これにより、サーバ装置１１は、セグメント１のブロックをグループアドレスＩＮＦ１で指定して送信する。
クライアント装置（１）は、サーバ装置１１から送信されたグループアドレスＩＮＦ１を受信して記憶する。また、クライアント装置（１）は、グループアドレスＩＮＦ１が指定されたブロックを受信して記憶する。
ここで、セグメント１のブロックをグループアドレスＩＮＦ１で指定して送信している時に、クライアント装置（２）から所定の情報と同一の情報を１番目のセグメント１から送信することを要求する送信要求が送信されたものとする。
サーバ装置１１は、クライアント装置（２）から送信された送信要求ＲＥＱ２を受信すると、グループアドレス（例えば、グループアドレスＩＮＦ２）をクライアント装置（２）に送信する。これにより、サーバ装置１１は、セグメント１のブロックのうち、クライアント装置（１）に未送信のブロックをグループアドレスＩＮＦ１及びＩＮＦ２で指定して送信する。
クライアント装置（２）は、サーバ装置１１から送信されたグループアドレスＩＮＦ２を受信して記憶する。また、クライアント装置（２）は、グループアドレスＩＮＦ２が指定されたブロックを受信して記憶する。
セグメント１に対応するクライアント装置（１）の送信カウンタがタイムアウトすると、サーバ装置１１は、セグメント１のブロックをグループアドレスＩＮＦ１で指定して送信する処理を中止する。また、セグメント２〜５に対応するクライアント装置の送信カウンタをリスタートする。この時、サーバ装置１１が送信要求ＲＥＱ２を受信するまでにクライアント装置（１）に送信済のブロックは、クライアント装置（２）には未送信である。このため、セグメント１に対応するクライアント装置（２）の送信カウンタはタイムアウトしていない。したがって、サーバ装置１１は、グループアドレスＩＮＦ１で指定された、セグメント１〜５のブロックと、グループアドレスＩＮＦ２で指定されたセグメント１のブロックを同時に送信する。
さらに、クライアント装置（１）に送信されるブロックをクライアント装置（２）で先読取り受信できるようにするために、クライアント装置（１）のグループアドレスＩＮＦ１をクライアント装置（２）に送信する。
クライアント装置（２）は、サーバ装置１１から送信されたグループアドレスＩＮＦ１を受信して記憶する。これにより、クライアント装置（２）は、グループアドレスＩＮＦ１あるいはＩＮＦ２で指定されているブロックを受信して記憶する。
このように、クライアント装置（２）は、クライアント装置（１）のグループアドレスＩＮＦ１が指定されているセグメント２〜５のブロックを先読取り受信している。したがって、セグメント１に対応するクライアント装置（２）の送信カウンタがタイムアウトした時には、サーバ装置１１は、セグメント２〜５に対応するクライアント装置（２）の送信カウンタのカウント値を、すでにセグメント２〜５のブロックのカウントを開始しているクライアント装置（１）の送信カウンタトのカウント値に同期させる。これにより、サーバ装置１１は、セグメント２〜５のブロックのうち、クライアント装置（１）及びクライアント装置（２）に未送信のブロックをグループアドレスＩＮＦ１及びＩＮＦ２で指定して送信する。
本実施例でも、所定の情報と同一の情報の送信を要求するクライアント装置に対する転送時間を短縮することができる。
図２５、図２６に示した実施例では、複数のセグメントのブロックを同時に送信する回数は１回のみとしているが、同時に送信するセグメントの数、同時に送信する時点、回数等は適宜変更可能である。
次に、各セグメントのブロックを送信する方法としては、種々の方法を用いることができる。例えば、各セグメントブロックを、まとめて送信する方法を用いることができる。例えば、セグメント１のブロック１〜３、セグメント２のブロック４〜６、セグメント３のブロック７〜９の順に送信する。あるいは、各セグメントブロックを、１ブロック毎送信する方法を用いることができる。例えば、セグメント１のフロック１、セグメント２のブロック４、セグメント３のブロック７の順に送信する。
以上は、各セグメントのブロックを送信する送信速度を固定としているが、各セグメント毎に送信速度を調整可能に構成してもよい。所定の情報の送信を要求するクライアント装置の数が少ない場合には、全てのセグメントのブロックが同時に送信される可能性は少ない。しかしながら、複数のクライアント装置が独立したタイミングで所定の情報の送信を要求すると、全てのセグメントのブロックが同時に送信される可能性が高くなる。このような状態になった場合には、全てのセグメントのブロックの送信速度の和が所定値となるように調整することにより、クライアント装置の待ち時間を短縮することができる。そこで、情報の先頭の部分、視聴率が高い部分のセグメントや、スキップにより情報の途中から再生を行う場合等のように情報の特定のセグメントにアクセスが集中した場合には、そのセグメントの送信速度を高く設定することにより再生開始までの待ち時間を短くすることができる。
なお、各クライアント装置に送信するグループアドレスは、異なるグループアドレスを用いてもよいし、同じグループアドレスを用いてもよい。複数のクライアント装置に対して同じグループアドレスを送信する場合のサーバ装置の動作は、各セグメントのブロックを複数のクライアント装置に共通に設定されたグループアドレスを指定して送信することを除いては、前述した動作と同じである。
また、各クライアント装置は、ネットワークに送信されているブロックの中から必要なブロックを受信する受信処理を実行する。例えば、各クライアント装置は、各ブロックのパケットに含まれている情報に基づいて、送信を要求したセグメントのいずれかに含まれているブロックを全て受信したか否かを判別する。送信を要求したセグメントのいずれかに含まれているブロックを全て受信したことを判別した場合には、他のセグメントに含まれているブロックの受信処理を実行する。この時、ネットワークに複数のセグメントに含まれている複数のブロックが同時に送信されている場合には、前述したように複数のブロックを同時に受信する。そして、送信を要求したセグメントの全てを受信したことを判別した場合には、セグメントを構成するブロックの受信を中止する。
各クライアント装置に同じグループアドレス情報を送信する場合でも、本実施例のサーバ装置は、前述した動作と同様の動作を実行する。このため、各クライアント装置は、セグメントの送信を要求した後、直ちに送信を要求したセグメントの受信を開始することができる。また、現在受信しているセグメントの次のセグメントも短時間に受信することができる。この時、各セグメントに含まれているブロックがマルチキャスト方式で送信されるため、サーバ装置の処理負担やネットワーク（通信回線）の負荷は増加しない。
また、以上の実施例では、各クライアント装置から送信要求が送信された時に、各クライアント装置にグループアドレスを送信したが、各クライアント装置に予めグループアドレスを割り当てておいてもよい。各クライアント装置に予め割り当てるグループアドレスは、異なるグループアドレスでもよいし、同じグループアドレスでもよい。この場合には、サーバ装置から各クライアント装置にグループアドレスを送信する必要がない。
本発明は、以下のような効果を有している。
サーバ装置は、一時に一つのブロックをマルチキャスト方式でネットワークへ送信している。また、クライアント装置は、受信できるブロックから順列に従ってブロックを受信していく。このため、サーバ装置の処理負担及びネットワークの負荷を小さくすることができる。
また、サーバ装置が所定の情報をあるクライアント装置に対して送信している途中に、別のクライアント装置からその情報の送信要求があっても、別のクライアント装置は、短い待ち時間でその情報を受信することができる。すなわち、従来例のように、次の送信開始時刻まで待つ必要がない。
また、サーバ装置からあるブロックを再送信する場合、再送信処理と通常の送信処理を同時に行うことにより、ネットワークの負荷が大きくなるのを防止することができる。すなわち、サーバ装置は、任意のクライアント装置から任意のブロックの再送信要求を受信した場合、そのブロックを、通常の送信要求を送信したクライアント装置と再送信要求を送信したクライアント装置に同時に送信する。この方法を用いると、再送信処理は、通常の送信処理の一部として行われるため、再送信処理回数が増えても、ネットワークの負荷は増えない。
本発明は、実施例で説明した構成に限定されず、本発明の要旨を変更しない範囲内で種々の変更、追加、削除が可能である。
例えば、実施例では、各ブロックの分割順序情報を送信したが、必ずしも、各ブロックの分割順序情報を送信する必要はない。例えば、情報を構成するブロックの総数と、先頭あるいは最後のブロックが分かれば、情報を復元することができる。実施例では、サーバ装置を１つ設けたが、サーバ装置は複数設けることもできる。実施例では、クライアント−サーバ型通信システムについて説明したが、本発明は、これ以外の種々の通信システムに用いることができる。各クライアント装置が属するグループの設定方法は、適宜変更可能である。また、例えば、サーバ装置は、各クライアント装置からの送信要求を受信する毎に、当該クライアント装置が属するグループを決定する方法を用いたが、各クライアント装置に対して予めグループアドレスを設定しておく方法を用いてもよい。この場合には、サーバ装置から各クライアント装置にグループアドレスを送信する必要がなくなる。
また、本明細書中に記載されている種々の方法は、全ての実施例に単独で、あるいは複数の方法を組み合わせて用いることができる。
以下に、サーバ装置１１及びクライアント装置１の機能の１例を記載する。
［クライアント装置（情報受信装置）１］の機能。
（１）所定の情報（コンテンツ）の送信要求を送信する。
（２）通信装置により、ＩＰマルチキャスト方式を用いて、所定の情報を分割したブロックを受信する。
（３）各ブロックを、分割順序情報とともに記憶装置に記憶する。
（４）分割順序情報に基づいて、記憶装置から各ブロックを読み出す。
（５）分割順序情報あるいはエラー検出／訂正情報を用いて、エラー（ブロック欠落）を検出する。
（６）受信管理テーブルに管理情報を記憶する。
（７）再送信要求を送信／再送信ブロックを受信する。
［サーバ装置（情報送信装置）１１］の機能。
（１）クライアント装置（情報受信装置）からの所定の情報の送信要求の受信に応答して、所定の情報（コンテンツ）を送信する。
（２）通信装置により、ＩＰマルチキャスト方式を用いて、情報を送信する。
（３）所定の情報（コンテンツ）を分割したブロックを送信する。
（４）所定の情報を構成する全てのブロックを送信する前に情報受信装置から所定の情報の送信要求を受信する限り、ブロックを循環的に送信する。
（５）所定の情報（コンテンツ）を分割したブロックを記憶装置に記憶する。
（６）記憶装置からブロックを読出して送信する。
（７）分割順序情報とともにブロックを送信する。
（８）エラー検出／訂正情報を各ブロックに付加する。
（９）ネットワークを設定する。
（１０）帯域（単位時間にクライアント装置から送信されるデータ量）を制御する。
（１１）外部機器から供給される情報（コンテンツ）を送信する。
（１２）再送信要求の受信に応答して情報を再送信する。
（１３）ＩＰマルチキャスト方式を用いて情報を再送信する。
（１４）ユニキャスト方式を用いて情報を再送信する。
（１５）ネットワークの状態に基づいて、再送信方法を選択する。
以下に、好ましい実施例で用いる各構成要素を示す。
2002056549.tif 000003
2002056549.tif 000004
【図面の簡単な説明】
図１は、本発明の通信装置の一実施例の概略構成図である。
図２は、本発明の通信装置の一実施例で用いる情報送信装置の動作を説明する図である。
図３は、本発明の通信方法の第１実施例を説明するシーケンス図である。
図４は、ユニキャスト方式を用いて情報を送信する従来の方法を説明するシーケンス図である。
図５は、ＩＰマルチキャスト方式を用いて情報を送信する従来の方法を説明するシーケンス図である。
図６は、ニアオンデマンド方式を用いて情報を送信する従来の方法を説明するシーケンス図である。
図７は、本発明の通信装置の一実施例で用いる情報送信装置の動作を説明する図である。
図８は、本発明の通信方法の第１実施例を説明する図である。
図９は、本発明の通信装置の一実施例で用いる情報送信装置の送信要求受信待機動作を示すフローチャート図である。
図１０は、本発明の通信装置の一実施例で用いる情報送信装置の送信動作を示すフローチャート図である。
図１１は、本発明の通信装置の一実施例で用いる情報送信装置の再送信動作を示すフローチャート図である。
図１２は、本発明の通信装置の一実施例で用いる情報受信装置のブロック図である。
図１３は、本発明の通信装置の一実施例で用いる情報受信装置の動作を説明する図である。
図１４は、ブロックの構成例を示す図である。
図１５は、本発明の通信方法の第２実施例の動作を説明する図である。
図１６は、本発明の通信方法の第２実施例の動作を説明する図である。
図１７は、本発明の通信方法の第２実施例の動作を説明する図である。
図１８は、本発明の通信方法の第２実施例の動作を説明するシーケンス図である。
図１９は、本発明の通信方法の第２実施例の他の動作を説明する図である。
図２０は、本発明の通信方法の第２実施例の他の動作を説明するシーケンス図である。
図２１は、本発明の通信方法の第２実施例の動作を説明する図である。
図２２は、本発明の通信方法の第２実施例の動作を説明する図である。
図２３は、本発明の通信方法の第２実施例の他の動作を説明する図である。
図２４は、本発明の通信方法の第２実施例の動作を説明する図である。
図２５は、本発明の通信方法の第３実施例の動作を説明する図である。
図２６は、本発明の通信方法の第４実施例の動作を説明する図である。
【図１】
2002056549.tif 000005
【図２】
2002056549.tif 000006
【図３】
2002056549.tif 000007
【図４】
2002056549.tif 000008
【図５】
2002056549.tif 000009
【図６】
2002056549.tif 000010
【図７】
2002056549.tif 000011
【図８】
2002056549.tif 000012
【図９】
2002056549.tif 000013
【図１０】
2002056549.tif 000014
【図１１】
2002056549.tif 000015
【図１２】
2002056549.tif 000016
【図１３】
2002056549.tif 000017
【図１４】
2002056549.tif 000018
【図１５】
2002056549.tif 000019
【図１６】
2002056549.tif 000020
【図１７】
2002056549.tif 000021
【図１８】
2002056549.tif 000022
【図１９】
2002056549.tif 000023
【図２０】
2002056549.tif 000024
【図２１】
2002056549.tif 000025
【図２２】
2002056549.tif 000026
【図２３】
2002056549.tif 000027
【図２４】
2002056549.tif 000028
【図２５】
2002056549.tif 000029
【図２６】
2002056549.tif 000030
【国際調査報告】
2002056549.tif 000031
2002056549.tif 000032
2002056549.tif 000033
2002056549.tif 000034