(57)【要約】【課題】コンテンツを中継中にそのコンテンツの送信要求を受け付けた場合、送信要求を受け付けてからコンテンツの送信を始めるまでの時間を短くできる中継装置を提供する。【解決手段】中継装置は第１から第４通信装置と接続する接続手段と制御手段を含む。制御手段は、接続手段が第１通信装置から第２通信装置宛に送信されたコンテンツを受信すると、当該コンテンツを第２通信装置宛に送信する中継処理を行い、中継処理中に接続手段が第３通信装置から第４通信装置宛に送信された前記コンテンツを要求する送信要求を受信すると、コンテンツのうち送信要求の受信時に中継処理で未送信の第１部分を、中継処理での当該第１部分についての送信に同期して第３通信装置宛に送信する送信処理を行い、前記コンテンツのうち送信処理の終了時に送信処理にて未送信の第２部分を第３通信装置が要求する部分送信要求を、第１または第４通信装置宛に送信する要求処理を行う。【選択図】図１０
2010034646.tif 000002
【特許請求の範囲】
【請求項１】
第１から第４の通信装置と接続する接続手段と、
前記接続手段を介して、前記第１から第４の通信装置との通信を制御する制御手段と、を含み、
前記制御手段は、
前記接続手段が前記第１の通信装置から前記第２の通信装置宛に送信されたコンテンツを受信すると、当該コンテンツを、前記接続手段から前記第２の通信装置宛に送信する中継処理を行い、
前記中継処理中に、前記接続手段が、前記第３の通信装置から前記第４の通信装置宛に送信された、前記コンテンツを要求する旨の送信要求を受信すると、前記コンテンツのうち前記送信要求の受信時に前記中継処理にて未送信の第１部分を、前記中継処理での当該第１部分についての送信に同期して、前記接続手段から前記第３の通信装置宛に送信する送信処理を行い、
前記コンテンツのうち前記送信処理の終了時に前記送信処理にて未送信の第２部分を前記第３の通信装置が要求する旨の部分送信要求を、前記接続手段から前記第１または前記第４の通信装置宛に送信する要求処理を行う、中継装置。
【請求項２】
請求項１に記載の中継装置において、
前記コンテンツは、ＭＰＥＧ形式の映像データであり、
前記制御手段は、前記接続手段にて受信されたＭＰＥＧ形式の映像データのうちシーケンス層のヘッダ部を保存する保存手段を含み、
前記制御手段は、前記中継処理中に、前記接続手段が前記送信要求を受信すると、前記保存手段内のシーケンス層のヘッダ部を、前記接続手段から前記第３の通信装置宛に送信し、その後、前記第１部分を、前記中継処理での前記第１部分についての送信に同期して、前記接続手段から前記第３の通信装置宛に送信する処理を、前記送信処理として行う、中継装置。
【請求項３】
請求項２に記載の中継装置において、
前記制御手段は、前記中継処理と前記送信処理の両方が終了すると、前記保存手段内のシーケンス層のヘッダ部を削除する、中継装置。
【請求項４】
請求項２または３に記載の中継装置において、
前記制御手段は、
前記送信処理では、前記ＭＰＥＧ形式の映像データのうち前記送信要求の受信時に前記中継処理にて未送信のＧＯＰを、前記中継処理での当該ＧＯＰについての送信に同期して、前記接続手段から前記第３の通信装置宛に送信し、
前記要求処理では、前記ＭＰＥＧ形式の映像データのうち前記送信処理の終了時に前記送信処理にて未送信のＧＯＰを前記第３の通信装置が要求する旨の部分データ送信要求を、前記部分送信要求として、前記接続手段から前記第１または前記第４の通信装置宛に送信する、中継装置。
【請求項５】
請求項１から４のいずれか１項に記載の中継装置において、
前記第１の通信装置が前記第４の通信装置を兼ねるものである、または、前記第２の通信装置が前記第３の通信装置を兼ねるものである、中継装置。
【請求項６】
第１から第４の通信装置と接続する中継装置が行う中継方法であって、
前記第１の通信装置から前記第２の通信装置宛に送信されたコンテンツを受信すると、当該コンテンツを、前記第２の通信装置宛に送信する中継処理を行い、
前記中継処理中に、前記第３の通信装置から前記第４の通信装置宛に送信された、前記コンテンツを要求する旨の送信要求を受信すると、前記コンテンツのうち前記送信要求の受信時に前記中継処理にて未送信の第１部分を、前記中継処理での当該第１部分についての送信に同期して、前記第３の通信装置宛に送信する送信処理を行い、
前記コンテンツのうち前記送信処理の終了時に前記送信処理にて未送信の第２部分を前記第３の通信装置が要求する旨の部分送信要求を、前記第１または前記第４の通信装置宛に送信する要求処理を行う、中継方法。
【請求項７】
請求項６に記載の中継方法において、
前記コンテンツは、ＭＰＥＧ形式の映像データであり、
受信されたＭＰＥＧ形式の映像データのうちシーケンス層のヘッダ部を保存手段に保存することをさらに含み、
前記中継処理中に、前記送信要求を受信すると、前記保存手段内のシーケンス層のヘッダ部を、前記第３の通信装置宛に送信し、その後、前記第１部分を、前記中継処理での前記第１部分についての送信に同期して、前記第３の通信装置宛に送信する処理を、前記送信処理として行う、中継方法。
【請求項８】
請求項７に記載の中継方法において、
前記中継処理と前記送信処理の両方が終了すると、前記保存手段内のシーケンス層のヘッダ部を削除することをさらに含む、中継方法。
【請求項９】
請求項７または８に記載の中継方法において、
前記送信処理では、前記ＭＰＥＧ形式の映像データのうち前記送信要求の受信時に前記中継処理にて未送信のＧＯＰを、前記中継処理での当該ＧＯＰについての送信に同期して、前記第３の通信装置宛に送信し、
前記要求処理では、前記ＭＰＥＧ形式の映像データのうち前記送信処理の終了時に前記送信処理にて未送信のＧＯＰを前記第３の通信装置が要求する旨の部分データ送信要求を、前記部分送信要求として、前記第１または前記第４の通信装置宛に送信する、中継方法。
【請求項１０】
請求項６から９のいずれか１項に記載の中継方法において、
前記第１の通信装置が前記第４の通信装置を兼ねるものである、または、前記第２の通信装置が前記第３の通信装置を兼ねるものである、中継方法。
【請求項１１】
第１から第４の通信装置と接続するコンピュータに、
前記第１の通信装置から前記第２の通信装置宛に送信されたコンテンツを受信すると、当該コンテンツを、前記第２の通信装置宛に送信する中継手順と、
前記中継手順中に、前記第３の通信装置から前記第４の通信装置宛に送信された、前記コンテンツを要求する旨の送信要求を受信すると、前記コンテンツのうち前記送信要求の受信時に前記中継手順にて未送信の第１部分を、前記中継手順での当該第１部分についての送信に同期して、前記第３の通信装置宛に送信する送信手順と、
前記コンテンツのうち前記送信手順の終了時に前記送信手順にて未送信の第２部分を前記第３の通信装置が要求する旨の部分送信要求を、前記第１または前記第４の通信装置宛に送信する要求手順と、を実行させるためのプログラム。
【請求項１２】
請求項１１に記載のプログラムにおいて、
前記コンテンツは、ＭＰＥＧ形式の映像データであり、
前記コンピュータに、受信されたＭＰＥＧ形式の映像データのうちシーケンス層のヘッダ部を保存手段に保存する保存手順をさらに実行させ、
前記中継手順中に、前記送信要求を受信すると、前記保存手段内のシーケンス層のヘッダ部を、前記第３の通信装置宛に送信し、その後、前記第１部分を、前記中継手順での前記第１部分についての送信に同期して、前記第３の通信装置宛に送信する処理を、前記送信手順として行う、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、中継装置、中継方法およびプログラムに関し、特には、同一のデータを複数の送信先宛に送信可能な中継装置、中継方法およびプログラムに関する。
【背景技術】
【０００２】
特許文献１には、キャッシュ機能を有する中継装置が記載されている。この中継装置は、過去に中継した中継データを一定期間保存する。この中継装置は、中継データの送信元宛に送信された、中継データの送信要求を受け付けると、自己に保存されている中継データを、中継データの送信元に代わって、送信要求の送信元に送信する。
【０００３】
また、特許文献２には、配信サーバから配信された動画コンテンツを保存するクライアントコンピュータが記載されている。このクライアントコンピュータは、自己に保存されている動画コンテンツの配信要求を受け付けた場合、その動画コンテンツを、配信サーバに代わって、配信要求の送信元に配信する。
【特許文献１】特開平１１−９８１６２号公報
【特許文献２】特開２００２−２６９４２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
特許文献１に記載の中継装置は、データ等のコンテンツを中継しながら自己に保存し、その後、そのコンテンツの送信要求を受け付けると、自己に保存されているコンテンツを、送信要求の送信元である通信装置に送信する。
【０００５】
このため、この中継装置は、コンテンツを中継している最中にそのコンテンツの送信要求を受け付けた場合、そのコンテンツの中継および保存が終了した後に、そのコンテンツを、送信要求の送信元に送信することになる。
【０００６】
よって、この中継装置は、コンテンツを中継している最中にそのコンテンツの送信要求を受け付けた場合、送信要求を受け付けてから実際にコンテンツの送信を始めるまでの時間が長くなるという問題があった。
【０００７】
特許文献２に記載のクライアントコンピュータは、中継装置ではないが、動画コンテンツやデータ等のコンテンツを自己に保存し、自己に保存されているコンテンツを、他の通信装置に送信する。
【０００８】
このため、例えば、特許文献２に記載の技術が、特許文献１に記載の中継装置に適用されても、特許文献２に記載の技術が適用された、特許文献１に記載の中継装置（以下「特定中継装置」と称する）は、コンテンツを中継している最中にそのコンテンツの送信要求を受け付けた場合、そのコンテンツの中継および保存が終了した後に、そのコンテンツを、送信要求の送信元に送信することになる。
【０００９】
したがって、特定中継装置は、コンテンツを中継している最中にそのコンテンツの送信要求を受け付けた場合、送信要求を受け付けてから実際にコンテンツの送信を始めるまでの時間が長くなるという問題があった。
【００１０】
本発明の目的は、上述した課題を解決することが可能な中継装置、中継方法およびプログラムを提供することにある。
【課題を解決するための手段】
【００１１】
本発明の中継装置は、第１から第４の通信装置と接続する接続手段と、前記接続手段を介して、前記第１から第４の通信装置との通信を制御する制御手段と、を含み、前記制御手段は、前記接続手段が前記第１の通信装置から前記第２の通信装置宛に送信されたコンテンツを受信すると、当該コンテンツを、前記接続手段から前記第２の通信装置宛に送信する中継処理を行い、前記中継処理中に、前記接続手段が、前記第３の通信装置から前記第４の通信装置宛に送信された、前記コンテンツを要求する旨の送信要求を受信すると、前記コンテンツのうち前記送信要求の受信時に前記中継処理にて未送信の第１部分を、前記中継処理での当該第１部分についての送信に同期して、前記接続手段から前記第３の通信装置宛に送信する送信処理を行い、前記コンテンツのうち前記送信処理の終了時に前記送信処理にて未送信の第２部分を前記第３の通信装置が要求する旨の部分送信要求を、前記接続手段から前記第１または前記第４の通信装置宛に送信する要求処理を行う。
【００１２】
本発明の中継方法は、第１から第４の通信装置と接続する中継装置が行う中継方法であって、前記第１の通信装置から前記第２の通信装置宛に送信されたコンテンツを受信すると、当該コンテンツを、前記第２の通信装置宛に送信する中継処理を行い、前記中継処理中に、前記第３の通信装置から前記第４の通信装置宛に送信された、前記コンテンツを要求する旨の送信要求を受信すると、前記コンテンツのうち前記送信要求の受信時に前記中継処理にて未送信の第１部分を、前記中継処理での当該第１部分についての送信に同期して、前記第３の通信装置宛に送信する送信処理を行い、前記コンテンツのうち前記送信処理の終了時に前記送信処理にて未送信の第２部分を前記第３の通信装置が要求する旨の部分送信要求を、前記第１または前記第４の通信装置宛に送信する要求処理を行う。
【００１３】
本発明のプログラムは、第１から第４の通信装置と接続するコンピュータに、前記第１の通信装置から前記第２の通信装置宛に送信されたコンテンツを受信すると、当該コンテンツを、前記第２の通信装置宛に送信する中継手順と、前記中継手順中に、前記第３の通信装置から前記第４の通信装置宛に送信された、前記コンテンツを要求する旨の送信要求を受信すると、前記コンテンツのうち前記送信要求の受信時に前記中継手順にて未送信の第１部分を、前記中継手順での当該第１部分についての送信に同期して、前記第３の通信装置宛に送信する送信手順と、前記コンテンツのうち前記送信手順の終了時に前記送信手順にて未送信の第２部分を前記第３の通信装置が要求する旨の部分送信要求を、前記第１または前記第４の通信装置宛に送信する要求手順と、を実行させる。
【発明の効果】
【００１４】
本発明によれば、コンテンツを中継している最中にそのコンテンツの送信要求を受け付けた場合、送信要求を受け付けてから実際にコンテンツの送信を始めるまでの時間を短くすることが可能になる。
【発明を実施するための最良の形態】
【００１５】
以下、本発明の一実施形態の中継装置を、図面を参照して説明する。
【００１６】
図１は、本発明の一実施形態の中継装置を含むファイル転送システムを示す構成図である。
【００１７】
図１において、ネットワーク１１には、送信装置１０、送信装置１５、および、中継装置１２が接続されている。ネットワーク１３には、中継装置１２、および、受信装置１４が接続されている。ネットワーク１６には、中継装置１２、および、受信装置１７が接続されている。
【００１８】
送信装置１０および送信装置１５は、コンテンツを格納している。本実施形態では、コンテンツとして、MPEG（Moving Picture Experts Group）形式の映像データ（以下「MPEGファイル」、または、単に「ファイル」と称する）が用いられる。なお、コンテンツは、MPEG形式の映像データに限らない。
【００１９】
中継装置１２は、送信装置１０と受信装置１４の間のファイルの通信と、送信装置１０と受信装置１７の間のファイルの通信と、送信装置１５と受信装置１４の間のファイルの通信と、送信装置１５と受信装置１７の間のファイルの通信と、を中継する。
【００２０】
送信装置１０から送信された送信装置１０内のファイルは、ネットワーク１１、中継装置１２、および、ネットワーク１３を経由し、受信装置１４にて受信される。
【００２１】
また、送信装置１０から送信された送信装置１０内のファイルは、ネットワーク１１、中継装置１２、および、ネットワーク１６を経由し、受信装置１７にて受信される。
【００２２】
送信装置１５から送信された送信装置１５内のファイルは、ネットワーク１１、中継装置１２、および、ネットワーク１６を経由し、受信装置１７にて受信される。
【００２３】
送信装置１５から送信された送信装置１５内のファイルは、ネットワーク１１、中継装置１２、および、ネットワーク１３を経由し、受信装置１４にて受信される。
【００２４】
図２は、MPEGファイルの構成図である。
【００２５】
MPEGファイルは、シーケンス層、GOP（Group of Pictures）層、ピクチャ層、スライス層、マクロブロック層、および、ブロック層で構成される階層構造を有している。
【００２６】
シーケンス層、GOP層、ピクチャ層、スライス層、マクロブロック層、および、ブロック層のそれぞれは、ヘッダ部を有する。
【００２７】
例えば、最上位のシーケンス層は、シーケンス層のヘッダ部と、複数のGOPとから構成される（図２参照）。シーケンス層のヘッダ部には、シーケンス層のヘッダ部に続く複数のGOPを再生するための情報が記載されている。なお、GOPは１つの場合もある。
【００２８】
本実施形態では、GOPは、GOPとGOP層以下の層を含むものとする。
【００２９】
送信装置１０および送信装置１５は、１つのMPEGファイル全体を送信する際、まず、MPEGファイルのシーケンス層のヘッダ部を１つまたは複数のパケットを用いて送信し、続いて、シーケンス層のヘッダ部に続く複数のGOPを１つずつ順番に複数のパケットを用いて送信する。
【００３０】
このため、中継装置１２は、まず、送信装置１０または送信装置１５から送信されたMPEGファイルのシーケンス層のヘッダ部を受信し、そのシーケンス層のヘッダ部を受信装置（例えば、受信装置１７）宛に送信する。中継装置１２は、その後、MPEGファイルの複数のGOPを１つずつ順番に受信し、そのGOPを受信装置（例えば、受信装置１７）宛に送信する。なお、中継装置１２は、MPEGファイルの中継が終了するまで、シーケンス層のヘッダ部を保存する。
【００３１】
送信装置１０は、一般的に第１の通信装置と呼ぶことができる。受信装置１４は、一般的に第２の通信装置と呼ぶことができる。受信装置１７は、一般的に第３の通信装置と呼ぶことができる。送信装置１５は、一般的に第４の通信装置と呼ぶことができる。
【００３２】
なお、送信装置１０が、送信装置１５を兼ねてもよい。この場合、中継装置１２は、少なくとも３台の通信装置と接続していればよい。また、受信装置１４が、受信装置１７を兼ねてもよい。この場合、中継装置１２は、少なくとも３台の通信装置と接続していればよい。
【００３３】
中継装置１２は、例えば、送信装置１０から受信装置１４宛に送信された、ファイルID（identifier）が「ｘ」であるファイル（以下「ファイルｘ」と称する）を受信して、ファイルｘを受信装置１４宛に送信する中継処理を行う。
【００３４】
中継装置１２は、中継処理を行っている間に、受信装置１７から送信装置１５宛に送信された、ファイルｘを要求する旨の送信要求（以下、単に「送信要求」と称する）を受信すると、中継処理にて送信中のファイルｘのうち送信要求の受信時に中継処理にて受信装置１４宛に送信されていない部分の全部または一部を、その全部または一部についての受信装置１４宛への送信に同期して、受信装置１７宛に送信する送信処理を行う。
【００３５】
なお、中継処理にて送信中のファイルｘのうち送信要求の受信時に中継処理にて受信装置１４宛に送信されていない部分の全部または一部は、一般的にファイルｘの第１部分と呼ぶことができ、以下では、単に、「第１部分」とも称する。
【００３６】
中継装置１２は、ファイルｘのうち送信処理の終了時に送信処理によって受信装置１７宛に送信されていなかった部分（第２部分）を受信装置１７が要求する旨の部分送信要求を、送信装置１０宛または送信装置１５宛に送信する。
【００３７】
なお、中継装置１２は、中継処理を行っているとき、MPEG形式の映像データであるファイルｘのうちシーケンス層のヘッダ部を保存する。
【００３８】
本実施形態では、中継装置１２は、中継処理中に、受信装置１７から送信された送信要求を受信すると、保存しているシーケンス層のヘッダ部を、受信装置１７宛に送信し、その後、中継処理にて送信中のファイルｘのうち送信要求の受信時に中継処理にて未送信のGOP（第１部分）を、中継処理におけるそのGOPについての送信に同期して、受信装置１７宛に送信する。
【００３９】
その後、つまり、中継処理と送信処理が終了した後、中継装置１２は、部分送信要求として、ファイルｘのうち送信処理にて受信装置１７宛に送信されなかったGOP（第２部分）を受信装置１７が要求する旨の部分データ送信要求を、送信装置１０宛または送信装置１５宛に送信する要求処理を行う。
【００４０】
中継装置１２は、中継処理と送信処理の両方が終了すると、保存していたシーケンス層のヘッダ部を削除する。
【００４１】
なお、中継装置１２は、MPEGファイルのGOP層以下のデータ、または、コンテンツとして用いられる他の形式のファイルに関しては、多くの場合、中継装置１２の一度の送信ペイロードオクテット量以上に中継装置１２内に保存する必要はない。
【００４２】
中継装置１２が、データリンクレイヤで動作し、イーサネット（Ethernet）で通信する場合は、中継装置１２が保存しなければならない、MPEGファイルのGOP層以下のデータの大きさ、または、他の形式のファイルの大きさは、イーサネットのペイロード量の規格上の最大値である1500オクテット以下である。
【００４３】
中継装置１２がFDDI（Fiber distributed date interface）で通信する場合は、中継装置１２が保存しなければならない、MPEGファイルのGOP層以下のデータの大きさ、または、他の形式のファイルの大きさは、4500オクテットである。
【００４４】
中継装置１２は、例えば、データリンク層やネットワーク層といったGOP層以下を含むパケットを受信すると、そのパケットを一時的にメモリ等に保存し、その保存されたデータを、受信装置（例えば、受信装置１４と受信装置１７）に、順に、または、時分割で送信する。
【００４５】
図３は、送信装置および受信装置の論理的な接続を示した概念図である。
【００４６】
図３において、送信装置５０は、送信装置５１、送信装置５２、および、送信装置５３に接続されている。送信装置５１は、さらに、送信装置５４、および、送信装置５５に接続されている。送信装置５２は、さらに、送信装置５６、および、送信装置５７に接続されている。送信装置５３は、さらに、送信装置５８、および、送信装置５９に接続されている。
【００４７】
送信装置５０から送信装置５９は、ツリー構造で接続されている。送信装置５０は、ツリー構造の頂点に位置し、ファイルIDを管理している。
【００４８】
送信装置５０は、配下の送信装置から送信装置５０宛に送信されたファイルID取得要求を受信すると、ファイルID取得要求の送信元に、ファイルIDを発行する。
【００４９】
ファイルID取得要求を発行した送信装置は、ファイルと、取得したファイルIDを対応付けて保存する。
【００５０】
ファイルIDは、連番でもよいし、ファイルID取得要求を発行した装置のMACアドレスと連番を組み合わせるなどしてもよい。
【００５１】
ファイルとそのファイルIDは、E-mail（電子メール）に添付されて、他の送信装置に送信されたり、DVD（Digital Versatile Disk）、CD（Compact Disc）等の媒体等を用いて、他の送信装置に複写されたりする。このため、複数の送信装置が、同一のファイルおよび同一のファイルIDを格納する。
【００５２】
本実施形態では、送信装置５４と送信装置５９が、同一のファイルとそのファイルIDを格納する。
【００５３】
図３において、図１に示した送信装置１０が、送信装置５４に該当する。図１に示した受信装置１４が、受信装置６０に該当する。図１に示した送信装置１５が、送信装置５９に該当する。図１に示した受信装置１７が、受信装置６１に該当する。
【００５４】
図３において不図示の中継装置１２が動作することによって、送信装置５４、受信装置６０、送信装置５９、および、受信装置６１は、例えば、以下のように動作する。
【００５５】
送信装置５４が送信したファイルは、受信装置６０にて受信される。なお、ファイルは、複数のパケットを使って通信される。
【００５６】
送信装置５４が送信したファイルが受信装置６０にて受信されている間に、受信装置６１が、受信装置６０にて受信されているファイルと同一のファイルを要求した場合、送信装置５４が送信したファイルの全部または一部が、受信装置６０と受信装置６１にて受信される。
【００５７】
また、受信装置６１が要求したファイルのうち、送信装置５４から受信装置６１へ送信されなかった部分が、例えば送信装置５９から送信され、受信装置６１にて受信される。
【００５８】
図４は、本実施形態で用いられるネットワークプロトコルのパケット構成を示した説明図である。なお、本実施形態では、イーサネットパケットが用いられる。
【００５９】
イーサネットパケットは、イーサヘッダと、データ（ユーザデータ）で構成される。
【００６０】
イーサネットパケットのイーサヘッダは、送信先MAC（Media Access Control）アドレス、送信元MACアドレス、および、タイプを含む。
【００６１】
イーサネットパケットのデータ部分は、IP（Internet Protocol）ヘッダと、IPパケットのデータで構成される。
【００６２】
IPパケットのデータは、TCP/UDP（Transmission Control Protocol/User Datagram Protocol）ヘッダと、TCP/UDPパケットのデータで構成される。
【００６３】
TCP/UDPパケットのデータは、FIP（ファイル割り込みプロトコル）ヘッダと、FIPのデータで構成される。なお、FIPは、独自のものである。
【００６４】
図５は、IPパケット、特にはIPヘッダの構成を示した説明図である。
【００６５】
IPヘッダは、バージョン、ヘッダ長、サービスタイプ、パケット長、識別子、フラグ、フラグメントオフセット、生存時間、プロトコル番号、ヘッダチェックサム、始点IPアドレス、および、終点IPアドレスを含む。
【００６６】
図６は、UDPパケットの構成を示した説明図である。
【００６７】
UDPパケットは、始点ポート番号、終点ポート番号、パケット長、チェックサム、および、データで構成される。
【００６８】
FIPの送信装置は、TCP、または、UDPのポート番号65535を使用し、FIPの受信装置は、未使用のポートを使用する。
【００６９】
図７は、FIPパケットの構成を示した説明図である。
【００７０】
FIPパケットは、バージョン、ヘッダ長、コマンド番号、パケット長、最終、ファイル最終、フラグメントオフセット、開始GOP番号、終了GOP番号、および、データで構成される。
【００７１】
図８は、FIPパケット内のコマンド番号にて特定されるコマンド（FIP_CMD）を説明するための説明図である。
【００７２】
FIPパケットでは、コマンドとして、GET_ALL（0x01）、GET_PART（0x02）、SEND_SEQ（0x11）、SEND_GOP（0x12）、および、SEND_ACK（0x13）が使用される。
【００７３】
FIP_CMD＝GET_ALL（0x01）は、ファイル全体の取得を要求する旨のコマンドである。GET_ALL（0x01）が記載されたFIPパケットのデータには、例えば、ファイルIDが記載される。
【００７４】
FIP_CMD＝GET_PART（0x02）は、ファイルの一部の取得を要求する旨のコマンドである。FIP_CMD＝GET_PART（0x02）は、FIPヘッダに示された開始GOP番号から終了GOP番号までのGOP（データ）を取得するために利用される。GET_PART（0x02）が記載されたFIPパケットのデータには、例えば、ファイルIDが記載される。
【００７５】
GET_ALL（0x01）と、GET_PART（0x02）は、受信装置１４、受信装置１７、または、中継装置１２から、送信装置１０、または、送信装置１５へ送信される。
【００７６】
GET_ALL（0x01）が記載されたFIPパケット、さらに言えば、GET_ALL（0x01）が記載されたFIPパケットを含むイーサネットパケットは、一般的に送信要求と呼ぶことができる。
【００７７】
また、GET_PART（0x02）が記載されたFIPパケット、さらに言えば、GET_PART（0x02）が記載されたFIPパケットを含むイーサネットパケットは、一般的に部分送信要求または部分データ送信要求と呼ぶことができる。
【００７８】
FIP_CMD＝SEND_SEQ（0x11）は、シーケンス層のヘッダ部を送信する旨のコマンドである。
【００７９】
SEND_SEQ（0x11）が記載されたFIPパケットでは、フラグメントオフセットに、シーケンス層のヘッダ部内のオフセットが、８オクテット単位で格納される。
【００８０】
SEND_SEQ（0x11）が記載されたFIPパケットのうち、シーケンス層のヘッダ部を構成する最後のFIPパケットでは、FIP_ENDが１にセットされる。一方、SEND_SEQ（0ｘ11）が記載されたFIPパケットのうち、シーケンス層のヘッダ部を構成する他のFIPパケットでは、FIP_ENDが０にセットされる。
【００８１】
FIP_CMD＝SEND_GOP（0x12）は、GOPを送信する旨のコマンドである。
【００８２】
SEND_GOP（0x12）が記載されたFIPパケットでは、フラグメントオフセットに、GOP内のオフセットが、８オクテット単位で格納される。
【００８３】
SEND_GOP（0x12）が記載されたFIPパケットのうち、GOPを構成する最後のFIPパケットでは、FIP_ENDが１にセットされる。一方、SEND_GOP（0x12）が記載されたFIPパケットのうち、GOPを構成する他のFIPパケットでは、FIP_ENDが０にセットされる。
【００８４】
図９は、送信装置のブロック図である。なお、図９に示した送信装置２０には、図１および図３に示した各送信装置に共通に有する部分が示されている。
【００８５】
送信装置２０は、MPEGエンコーダ２１、CPU（中央演算処理装置）２２、ROM（不揮発性メモリ）２３、RAM（揮発性メモリ）２４、ファイル送信制御部２５、および、ネットワークインタフェース２６を含む。
【００８６】
MPEGエンコーダ２１は、コンテンツであるMPEGファイルを作成する。
【００８７】
ファイル送信制御部２５は、ファイルを送信し、ファイル割り込みプロトコル（FIP）のコマンドを処理する。
【００８８】
ネットワークインタフェース２６は、ネットワークのプロトコルを処理し、また、ネットワークに接続する。
【００８９】
図１０は、中継装置１２のブロック図である。
【００９０】
中継装置１２は、CPU１２２、ROM１２３、RAM１２４、ファイル中継制御部１２５、および、ネットワークインタフェース１２６を含む。RAM１２４は、一般的に保存手段と呼ぶことができる。
【００９１】
ファイル中継制御部１２５は、ファイルを送受信し、ファイル割り込みプロトコル（FIP）のコマンドを処理する。
【００９２】
ネットワークインタフェース１２６は、一般的に接続手段と呼ぶことができる。ネットワークインタフェース１２６は、ネットワークのプロトコルを処理し、また、ネットワークに接続する。ネットワークインタフェース１２６は、図１に示した、送信装置１０、受信装置１４、送信装置１５、および、受信装置１７と接続する。
【００９３】
CPU１２２、ROM１２３、RAM１２４、および、ファイル中継制御部１２５は、制御部１２７に含まれる。
【００９４】
制御部１２７は、一般的に制御手段と呼ぶことができる。
【００９５】
制御部１２７は、例えば、ネットワークインタフェース１２６が、送信装置１０から受信装置１４宛に送信されたファイルｘを受信すると、ファイルｘをネットワークインタフェース１２６から受信装置１４宛に送信する中継処理を行う。
【００９６】
制御部１２７は、中継処理を行っている間に、ネットワークインタフェース１２６が、受信装置１７から送信装置１５宛に送信された、ファイルｘを要求する旨の送信要求を受信すると、中継処理にて送信中のファイルｘのうち、送信要求の受信時に中継処理にて未送信の部分の全部または一部、つまり第１部分を、中継処理におけるその第１部分についての送信に同期して、ネットワークインタフェース１２６から受信装置１７宛に送信する送信処理を行う。
【００９７】
制御部１２７は、例えば、ファイルｘのうち送信処理の終了時に送信処理にて未送信の部分（第２部分）を受信装置１７が要求する旨の部分送信要求を、ネットワークインタフェース１２６から送信装置１０宛または送信装置１５宛に送信する要求処理を行う。
【００９８】
なお、制御部１２７は、イーサネットパケット、例えば、イーサネットパケット内のFIPパケット内のコマンドを利用して、中継処理、送信処理および要求処理を行い、また、中継処理を行っているとき、ファイルｘのうちシーケンス層のヘッダ部をRAM１２４に保存する。
【００９９】
また、制御部１２７は、中継処理中にネットワークインタフェース１２６が送信要求を受信すると、RAM１２４に保存しているシーケンス層のデータを、ネットワークインタフェース１２６から受信装置１７宛に送信し、その後、送信中のファイルｘのうち送信要求の受信時に中継処理にて未送信のＧＯＰを、中継処理におけるそのＧＯＰについての送信に同期して、ネットワークインタフェース１２６から受信装置１７宛に送信する。
【０１００】
また、制御部１２７は、例えば、ファイルｘのうち送信処理の終了時に送信処理にて未送信のＧＯＰを受信装置１７が要求する旨の部分データ送信要求を、FIPのコマンドを用いて作成し、その部分データ送信要求を、部分送信要求として、ネットワークインタフェース１２６から送信装置１０宛または送信装置１５宛に送信する。
【０１０１】
また、制御部１２７は、中継処理と送信処理の両方が終了すると、RAM１２４に保存していたシーケンス層のヘッダ部を削除する。
【０１０２】
なお、中継装置１２は、例えば、コンピュータにより実現可能である。この場合、中継装置１２は、例えば、ディスクに記録されたプログラム（アプリケーション）に従って動作する。ディスクは、一般的に、コンピュータ（中継装置１２）にて読み取り可能な記録媒体と呼ぶことができる。
【０１０３】
中継装置１２は、プログラムをディスク（記録媒体）から読み取り実行することによって、ネットワークインタフェース１２６および制御部１２７として機能する。
【０１０４】
図１１は、受信装置のブロック図である。なお、図１１に示した受信装置４０には、図１および図３に示した各受信装置に共通する部分が示されている。
【０１０５】
受信装置４０は、CPU４２、ROM４３、RAM４４、ファイル受信制御部４５、ネットワークインタフェース４６、MPEGデコーダ４７、および、モニタ４８を含む。
【０１０６】
ファイル受信制御部４５は、ファイルを受信し、ファイル割り込みプロトコル（FIP）のコマンドを処理する。ネットワークインタフェース４６は、ネットワークのプロトコルを処理し、また、ネットワークに接続する。MPEGデコーダ４７は、MPEGデータをデコードする。モニタ４８は、MPEGデータのデコード結果に応じた映像を映し出す。
【０１０７】
次に、中継装置１２の動作を説明する。
【０１０８】
図１２は、中継装置１２の処理のフローを説明するためのフローチャートである。なお、中継装置１２内のRAM１２４には、中継処理、送信処理および要求処理を管理するためのリストが格納されている。
【０１０９】
図１３は、RAM１２４内のリストの一例を示した説明図である。
【０１１０】
図１３において、リストには、中継処理が行われているファイルのファイルID、そのファイルの送信元IPアドレス、そのファイルの送信先IPアドレス、および、そのファイルに関する途中GOP番号が記載される。なお、途中GOP番号は、送信処理により送信先に送信されたGOPが有する番号のうち、最も小さい番号が記載される。
【０１１１】
図１２に戻って、まず、中継装置１２内の制御部１２７は、リストに記載されていないファイルID（以下「ID_X」と称する）に対応するファイル（新ファイル）を要求する旨の送信要求を受信したかを判断する（ステップＳ１００）。
【０１１２】
具体的には、制御部１２７は、ネットワークインタフェース１２６が、GET_ALL（0x01）が記載されていると共に、リストに記載されていないID_Xが記載されている、イーサネットパケット（以下「新ファイル送信要求」と称する）を受信したかを判断する。
【０１１３】
制御部１２７は、ネットワークインタフェース１２６が新ファイル送信要求を受信していない場合は、処理をステップＳ１００に戻す。
【０１１４】
一方、制御部１２７は、ネットワークインタフェース１２６が新ファイル送信要求を受信した場合は、新ファイル送信要求に記載されているID_Xを、リストに記載する（ステップＳ１０１）。
【０１１５】
制御部１２７は、ID_Xをリストに記載すると、新ファイル送信要求を参照して、ID_Xのファイルの送信元（送信装置）のIPアドレスと、そのファイルの送信先（受信装置）のIPアドレスとを、ID_Xに関連づけて、リストに追加する（ステップＳ１０２）。
【０１１６】
なお、制御部１２７は、新ファイル送信要求の送信先のIPアドレスを、ID_Xのファイルの送信元（送信装置）のIPアドレスとして、リストに追加し、新ファイル送信要求の送信元のIPアドレスを、ID_Xのファイルの送信先（受信装置）のIPアドレスとして、リストに追加する。
【０１１７】
制御部１２７は、送信元IPアドレスと送信先IPアドレスとをリストに追加すると、新ファイル送信要求を、新ファイル送信要求の送信先宛に送信する（ステップＳ１０３）。
【０１１８】
新ファイル送信要求の送信先（以下「送信装置１」と称する）は、新ファイル送信要求を受信すると、新ファイル送信要求に記載されたID_Xに対応するファイルを、イーサネットパケットを用いて、新ファイル送信要求の送信元（受信装置）宛に送信する。
【０１１９】
送信装置１は、まず、ファイルのシーケンス層のヘッダ部を送信し、続いて、GOPを１つずつ順番に送信する。
【０１２０】
中継装置１２は、送信装置１から受信装置宛に送信されたファイルの受信および転送を開始する。具体的には、制御部１２７は、ファイルのシーケンス層のヘッダ部の受信、および、ファイルのシーケンス層のヘッダ部を受信装置宛へ転送すること（中継処理）を開始する（ステップＳ１０４）。
【０１２１】
制御部１２７は、送信装置１から送られてくるファイルのシーケンス層のヘッダ部の全てを受信し、そのヘッダ部の全てを、ID_Xのファイルについての一つまたは複数の通信が全て終了するまで、RAM１２４に保存する。
【０１２２】
さらに、制御部１２７は、RAM１２４に設けられたGOPカウンタの値を１に設定し、途中GOP番号=１を、ID_Xと、ID_Xのファイルの送信元IPアドレスとして記載されている送信装置１のIPアドレスと、ID_Xのファイルの送信先IPアドレスとして記載されている新ファイル送信要求の送信元（受信装置）のIPアドレスと、に関連づけて、リストに追加する（ステップＳ１０５）。
【０１２３】
続いて、制御部１２７は、ID_Xのファイルについての新たな送信要求（リストに記載されているID_Xのファイルの通信と比較して、受信装置が異なったり、または、送信装置が異なる他の送信要求）を、ネットワークインタフェース１２６が受信したかどうかを判断する（ステップＳ１０６）。
【０１２４】
制御部１２７は、ネットワークインタフェース１２６がID_Xのファイルについての新たな送信要求を受信した場合、まず、新たな送信要求を参照して、ID_Xのファイルの送信元（送信装置）のIPアドレスと、そのファイルの送信先（受信装置）のIPアドレスとを、ID_Xに関連づけて、リストに追加する。さらに、制御部１２７は、現在のGOPカウンタの値を、途中GOP番号の値として、ID_Xと、新たに追加された送信元（送信装置）のIPアドレスと、送信先（受信装置）のIPアドレスと、に関連づけて、リストに追加する（ステップＳ１０７）。
【０１２５】
制御部１２７は、現在のGOPカウンタの値を、途中GOP番号の値として、ID_Xに関連づけてリストに追加すると、RAM１２４に保存してあるID_Xのファイルのシーケンス層のヘッダ部を、新規転送先（新たな送信要求の送信元）に送信する（ステップＳ１０８）。
【０１２６】
なお、ステップＳ１０６で、ID_Xのファイルについての新たな送信要求が受信されていない場合、または、ステップＳ１０８で、ID_Xのファイルのシーケンス層のヘッダ部が、新規転送先に送信されると、制御部１２７は、ステップＳ１０９を実行する。
【０１２７】
ステップＳ１０９では、制御部１２７は、送信装置１から送信されたID_Xのファイルの１つのＧＯＰに関するイーサネットパケットを受信するたびに、リストを参照し、そのイーサネットパケットを、リストに示されたID_Xの全ての送信先（送信先IPアドレス）に送信する。制御部１２７は、１つのＧＯＰに関するイーサネットパケットを全て受信して送信すると、GOPカウンタの値に１を加算する。
【０１２８】
なお、１つのGOPは、多くの場合、複数のFIPパケットで構成されるが、１つのFIPパケットで構成されることもある。
【０１２９】
制御部１２７は、送信装置１から送信され、中継装置１２に次々に到着する複数のFIPパケットの到着タイミングの間隔（以下「FIPパケットの到着間隔」と称する）を監視する。
【０１３０】
FIPパケットの到着間隔が、別途定める規定時間以上の場合、制御部１２７は、送信装置１から受信装置へのFIPパケットの経路が安定せず、送信装置１から受信装置へのFIPパケットが、中継装置１２を通過しなくなったと判断する。
【０１３１】
よって、制御部１２７は、FIPパケットの到着間隔が、別途定める規定時間以上の場合、リストを参照して、以下の２つの部分データ送信要求（GET_PARTコマンド）を作成して、ID_Xのファイルの送信元（例えば、送信装置１、または、他の送信装置）に送信する。
【０１３２】
１つ目の部分データ送信要求は、現在のGOP番号からID_Xのファイルの最後のGOP番号までのGOPデータを、リストの途中GOP番号が１でない送信先が要求する旨の、部分送信要求である。
【０１３３】
２つ目の部分データ送信要求は、GOP番号＝１から、リストの途中GOP番号−１で計算されるGOP番号までのGOPデータを、その途中GOP番号に関連づけられた送信先が要求する旨の、部分送信要求である。
【０１３４】
以後、制御部１２７は、リストの途中GOP番号が１でない送信先に対するID_Xのファイルの通信には、現在のGOP番号以下のGOPの送信は行わない。
【０１３５】
一方、FIPパケットの到着間隔が、別途定める規定時間未満の場合、制御部１２７は、ネットワークインタフェース１２６が、FIP_FENDが１であるFIPパケット、すなわち、ファイルを構成する最後のFIPパケットを受信したかどうかを判断する（ステップＳ１１０）。
【０１３６】
制御部１２７は、ネットワークインタフェース１２６が、FIP_FENDが１であるFIPパケットを受信していない場合は、処理をステップＳ１０６に戻す。
【０１３７】
ステップＳ１１０で、ネットワークインタフェース１２６が、FIP_FENDが１であるFIPパケットを受信した場合は、制御部１２７は、リストを参照し、ID_Xに関連づけられた途中GOP番号が１でない全ての送信先が開始GOP番号＝１から終了GOP番号＝途中GOP番号−１までのGOPデータを要求する旨の部分送信要求（GET_PARTコマンド）を、ID_Xに関連づけられた送信元のいずれかに送信する（ステップＳ１１１）。
【０１３８】
なお、GOP番号は１から始まる。
【０１３９】
また、制御部１２７は、MPEGファイルが含むGOPスタートコードをカウントしている。
【０１４０】
図１３に示したリストは、以下の内容を示している。
【０１４１】
ファイルIDが19473867のファイルに関しては、３つの通信が行われており、一つは、最初のGOP（GOP番号＝１）からのファイル送信が行われたことを示し、一つは、GOP番号が240のGOPからのファイル送信が行われたことを示し、一つはGOP番号が360のGOPからのファイル送信が行われたことを示す。１GOPは多くの場合、0.5秒の長さを有する。
【０１４２】
ファイルIDが78543298のファイルに関しては、３つの通信が行われており、一つは、最初のGOP（GOP番号＝１）からのファイル送信が行われたことを示し、一つは、GOP番号が20のGOPからのファイル送信が行われたことを示し、一つはGOP番号が30のGOPからのファイル送信が行われたことを示す。
【０１４３】
本実施形態では、中継装置１２は、同一ファイルIDのファイルの転送要求を時系列に受信した場合、後から転送要求を送信した受信装置に、先に転送要求を送信した受信装置に今後送信されるファイルデータの全部または一部を送信する制御部１２７を備える。また、制御部１２７は、中継対象のMPEGファイルのシーケンス層のヘッダ部を保存しておき、その保存してあるシーケンス層のヘッダ部を、後から同一ファイルを要求した受信装置に送信する。
【０１４４】
このため、従来なら、後で発生した通信で使用するはずだった、後で発生した通信の送信装置と中継装置の間のネットワーク帯域を節約できる。
【０１４５】
本実施形態では、制御部１２７は、ファイルｘ（コンテンツ）の中継処理中に、受信装置１７から送信装置１５宛に送信された、ファイルｘの送信要求を受信すると、ファイルｘのうち送信要求の受信時に中継処理にて未送信の第１部分を、中継処理における第１部分についての送信に同期して、受信装置１７宛に送信する送信処理を行う。
【０１４６】
制御部１２７は、ファイルｘのうち送信処理の終了時に送信処理によって未送信の部分を受信装置１７が要求する旨の部分送信要求を、送信装置１０宛または送信装置１５宛に送信する要求処理を行う。
【０１４７】
このため、制御部１２７は、ファイルｘを中継中にファイルｘの送信要求を受け付けた場合、ファイルｘを中継しながら、送信要求の送信元宛にもファイルｘを送信することができる。また、制御部１２７は、ファイルｘのうち中継と同期して送信できなかった部分を送信要求の送信元が要求する旨の部分送信要求を、ファイルｘを有する通信装置に送信する。
【０１４８】
したがって、送信要求を受け付けてから実際にコンテンツの送信を始めるまでの時間を短くすることができる。
【０１４９】
本実施形態では、制御部１２７は、受信されたコンテンツであるＭＰＥＧ形式の映像データのうちシーケンス層のヘッダ部をRAM１２４に保存する。
【０１５０】
制御部１２７は、中継処理中に送信要求を受信すると、RAM１２４内のシーケンス層のヘッダ部を、送信要求の送信元宛に送信し、その後、中継処理にて送信中のコンテントのうち第１部分を、中継処理における第１部分についての送信に同期して、送信要求の送信元宛に送信する。
【０１５１】
この場合、送信要求の送信元は、シーケンス層のヘッダ部を用いることによって、MPEGファイルの途中からデコードを行うことが可能となる。
【０１５２】
本実施形態では、制御部１２７は、中継処理と送信処理の両方が終了すると、RAM１２４内のシーケンス層のヘッダ部を削除する。
【０１５３】
この場合、RAM１２４が、不要になったシーケンス層のヘッダ部を保存し続けることを防止できる。
【０１５４】
本実施形態では、制御部１２７は、送信処理では、MPEG形式の映像データのうち送信要求の受信時に中継処理にて送信されていないGOPを、中継処理でのそのGOPについての送信に同期して、送信要求の送信元宛に送信する。
【０１５５】
また、制御部１２７は、要求処理では、MPEG形式の映像データのうち送信処理にて送信されなかったGOPを送信要求の送信元が要求する旨の部分データ送信要求を、部分送信要求として、MPEG形式の映像データの送信元宛または送信要求の送信先宛に送信する。
【０１５６】
この場合、制御部１２７は、GOP単位で、送信処理および要求処理を行うことが可能になる。
【０１５７】
以上説明した実施形態において、図示した構成は単なる一例であって、本発明はその構成に限定されるものではない。
【図面の簡単な説明】
【０１５８】
【図１】本発明の一実施形態の中継装置を含むファイル転送システムを示す構成図である。
【図２】MPEGファイルの構成図である。
【図３】送信装置および受信装置の論理的な接続を示した概念図である。
【図４】ネットワークプロトコルのパケット構成を示した説明図である。
【図５】IPパケット、特にはIPヘッダの構成を示した説明図である。
【図６】UDPパケットの構成を示した説明図である。
【図７】FIPパケットの構成を示した説明図である。
【図８】FIPパケット内のコマンド番号にて特定されるコマンド（FIP_CMD）を説明するための説明図である。
【図９】送信装置のブロック図である。
【図１０】中継装置１２のブロック図である。
【図１１】受信装置のブロック図である。
【図１２】中継装置１２の処理のフローを説明するためのフローチャートである。
【図１３】RAM１２４内のリストの一例を示した説明図である。
【符号の説明】
【０１５９】
１０、１５、２０、５０〜５９  送信装置
１１、１３、１６  ネットワーク
１２        中継装置
１２２      CPU
１２３      ROM
１２４      RAM
１２５      ファイル送信制御部
１２６      ネットワークインタフェース
１２７      制御部
１４、１７、４０、６０、６１  受信装置
２１        MPEGエンコーダ
２２、４２  CPU
２３、４３  ROM
２４、４４  RAM
２５        ファイル送信制御部
２６、４６  ネットワークインタフェース
４５        ファイル受信制御部
４７        MPEGデコーダ
４８        モニタ
【図１】
2010034646.tif 000003
【図２】
2010034646.tif 000004
【図３】
2010034646.tif 000005
【図４】
2010034646.tif 000006
【図５】
2010034646.tif 000007
【図６】
2010034646.tif 000008
【図７】
2010034646.tif 000009
【図８】
2010034646.tif 000010
【図９】
2010034646.tif 000011
【図１０】
2010034646.tif 000012
【図１１】
2010034646.tif 000013
【図１２】
2010034646.tif 000014
【図１３】
2010034646.tif 000015