説明

放送型通信システム

【課題】 送信者側の情報処理装置である配送サーバが、配送品質を低下させずに同時にサービス可能な受信者数を増大させる。より具体的には、配送サーバのプロセッサ負荷及びI/Oバス負荷を低減し、配送品質を受信者の要求に対応して調整できるようにする。
【解決手段】 配送サーバ101は、プロセッサ102、バッファメモリ103、I/Oバス104、 配送手段105とから構成される。さらに、配送手段105は、パケットの生成や送出制御を行う配送処理106と、プロセッサ102から供給される配送データを保持するバッファメモリ107と、ネットワークに接続するNIC108とから成る。プロセッサ102は受信者管理を行うと共に、バッファメモリ103上の配送すべきデータをI/Oバス104に接続された配送手段105に転送する。転送されたデータは配送手段105のバッファメモリ107に保持される。配送処理106は受信者情報に基づいて受信者毎にパケットを生成し、NIC108を介してネットワークに送出する。

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、パケット通信を用いて放送型通信を行うためのシステムに係わり、特に送信側の負荷を低減した情報処理装置に関する。
【0002】
【従来の技術】従来、一つのデータを単一の送信者から複数の受信者へ送信するような放送型通信は広く用いられてきた。TV放送は、電波を用いた放送型通信の一例である。
【0003】近年では、図22に示すような、基本的に1対1通信であるパケット通信を用いた放送型通信の需要が高まっている。インターネットで行われている、ストリーミングによる画像や音声の配信はその一例である。
【0004】インターネットのようなパケット通信網で放送型通信を行う技術としては、マルチキャスト及びユニキャストを用いた方式がある。図23にマルチキャストによる放送型通信を示す。マルチキャスト通信では、送信者2301が予め決められたマルチキャストアドレスを宛先とするパケットを送信し、ネットワーク2302がそのパケットを予め決定された経路情報に従って複写しつつ伝送することで複数の受信者(2303、2304)にデータが配信される。受信者は、ネットワーク2302のマルチキャストアドレスの受信者グループに登録することで、パケットを受信できる。
【0005】図24にユニキャストによる放送型通信を示す。ユニキャスト通信は1対1のパケット通信であるため、送信者2401が全ての受信者(2403、2404)に対して同じデータを送信することで放送型通信を実現する。
【0006】上述のマルチキャスト及びユニキャストによる方式にはそれぞれ得失がある。図25にそれをまとめて示す。送信者側の負荷に関しては、マルチキャストの場合、送信者がマルチキャストアドレスを宛先とするパケットを1回送信するだけに対して、ユニキャストの場合はそれぞれの受信者に対してパケットを送信するため、受信者数に比例して送信者側の負荷が増大する。しかしながら、アドレス管理、ネットワーク制御、受信者側の制御の3項目については、マルチキャストの場合複雑になるのに対して、ユニキャストの場合は1対1のパケット通信となんら変わらないため単純である。
【0007】このような得失により、両者の方式は必要に応じて利用されているのが実状である。どちらを選択するかは利用対象にもよるが、マルチキャストによる方式はアドレスやルーティング管理を必要とするのに対して、ユニキャストによる方式は特別な管理を必要としないため広く用いられている。インターネットでしばしばWebcastと呼ばれている画像/音声放送はユニキャストによる方式を用いている。
【0008】さて、一般にパケット通信を用いた放送型通信を実現するために、大きく分けて次の1)〜3)の処理機能が必要である。1)受信者からの配送要求を受け付ける(受信者管理)、2)配送データを準備する(データ準備)、3)通信手順に従い、受信者毎に異なる通信条件を満たすようにデータを配送する(配送処理)。
【0009】従来方式においては、これら1)〜3)の処理を全て送信者側の情報処理装置である配送サーバ2601がプロセッサ制御で行っている(図26)。特に、ユニキャストによる放送型通信では受信者数に相当するデータ配送を行わなければならないため、プロセッサ2602による各種処理の負荷が増大する。
【0010】また、2)データ準備、に関して、放送型通信の場合、パケットの大きな部分を占めるデータ部分は受信者に関わらず同一だが、パケットヘッダなど異なる部分があるため、受信者毎に全てのパケットデータを転送しなければならない。そこで受信者毎に異なるパケットを配送サーバ2601のメモリ2603上で作成し、I/Oバス2604に接続されたNIC(Network Interface Card、ネットワークアダプタに相当する)2605,2606に転送するため、I/Oバス2604の負荷が増大するという問題がある。
【0011】更に、3)配送処理、に関して、配送処理は実時間処理であるため、同時接続受信者数が増大すると実時間性が保証できなくなり、所期の配送品質が得られないという問題もある。すなわち、配送品質を調整するために、受信者に応じて変えるべきパラメータの代表例として少なくとも以下のア)〜ウ)があり、同時接続受信者数が増大するとこれらの個別制御を行うのが困難となる。
【0012】ア)受信者のネットワークアドレス及び通信手順に従って調整すべきパラメータ:受信者のネットワークアドレスや利用するプロトコルなどのパラメータであって、受信者に配送するために必須な情報である。
【0013】イ)一個のパケットで転送するデータ長:MTU(Maximum Transfer Unit)で、パケット一個の長さを規定する。受信者が接続しているネットワークによって効率良く転送可能なパケット長は様々であるため、最適なデータ長のパケットを配送することで配送品質を向上させることが可能となる。
【0014】ウ)パケットを送信する速度(率)の平滑化:できるだけ同じ転送速度でパケットを配送することが望ましいが、一般に配送サーバ側のネットワークは高速なのに対して受信者側のネットワークは低速である場合が多い。このため配送サーバ側で間欠的に配送を行うと、受信者側では間欠的に集中配送されたデータを受信しきれないことがある。このような輻輳によるデータ破棄は配送サーバから受信者に到達するネットワーク内部でも発生しうるため、配送サーバ側では可能な限り平滑化した配送を行うことが配送品質の向上につながる。
【0015】
【発明が解決しようとする課題】そこで本発明の課題は、送信者側の情報処理装置である配送サーバが同時にサービス可能な受信者数を増大させるだけでなく、配送品質を低下させないことを目的として従来の配送サーバの諸問題を解決することにある。より具体的には、配送サーバのプロセッサ負荷及びI/Oバス負荷を低減し、配送品質を受信者の要求に対応して調整できるようにする。
【0016】
【課題を解決するための手段】上述した課題を解決するために、本発明では、配送サーバのI/Oバスに接続されるネットワークアダプタに対応する配送手段を設け、配送手段が配送サーバのプロセッサからI/Oバスへの接続手段を介して供給される受信者の情報と配送データに基づいて、受信者毎に対応するパケットを生成し、送信するようにした。
【0017】本発明の一態様によれば、前記配送手段は、パケットの送信順序と送信タイミングとからなる配送スケジュールを制御する配送スケジュール手段と、前記受信者の情報を管理する受信者情報管理手段と、前記配送データを格納管理するバッファ手段と、前記配送スケジュールに従い、指定された受信者に対してパケットを生成し、送信するパケット手段とを備える。
【0018】このような構成をとることにより、配送サーバのプロセッサは受信者管理を行うと共に配送すべきデータをI/Oバスに接続された配送手段に一度転送すれば良く、配送サーバのプロセッサ負荷及びI/Oバス負荷を低減することができる。また、受信者毎に対応するパケットを生成し送信するため、配送品質を受信者の要求に対応して調整することができる。
【0019】
【発明の実施の形態】以下、本発明の実施の形態を図面を参照しながら説明する。尚、以下の実施形態の説明ではユニキャストによる放送型通信における送信側の情報処理装置の負荷を低減するための方式について言及するが、マルチキャストによる放送型通信に対しても適用可能であり、特に高速なデータの放送においては効果を持つ。
【0020】図1は本発明の原理構成を示す図である。本発明を実施する情報処理装置である配送サーバ101は、プロセッサ102、バッファメモリ103、I/Oバス104、配送手段105を備える。配送手段105は、パケットの生成や送出制御を行う配送処理部106と、プロセッサ102から供給される配送データを保持するバッファメモリ107と、ネットワークに接続するNIC108とから成る。プロセッサ102は受信者管理を行うと共に、バッファメモリ103上の配送すべきデータをI/Oバス104に例えばPCIのような接続手段を介して接続された配送手段105に転送する。転送されたデータは配送手段105のバッファメモリ107に保持される。配送処理部106は受信者情報に基づいて受信者毎にパケットを生成し、NIC108を介してネットワークに送出する。
【0021】図2に、図1に示した配送サーバ101の処理の流れを示す。以下、本発明における配送サーバ101の処理はプロセッサ102ではなく主として配送処理部106で行われる。まず、プロセッサ102が配送指示を出す(S201)。すると、受信者管理情報(S202)、及び配送データ(S203)が配送手段105に転送される。更に、配送手段105で、受信者全てに配送データを配送したかが判断され(S204)、Yesの場合は処理を終了する。Noの場合は、配送スケジュールを生成・管理し(S205)、パケットヘッダを生成し、該パケットヘッダとS203で取り込まれた配送データとからパケットを生成し、パケット送出の準備を行う(S206)。そして、パケットが配送され(S207)、S204に戻る。
【0022】図1に示した配送サーバ101では、同時にサービスできる受信者数は配送手段105の能力で制限されるが、I/Oバスに配送手段105を複数接続することで性能を向上させることができる。図3に、複数の配送手段105を備える配送サーバ101−1を示す。図3は、複数の配送手段105を備える以外は図1と同じ構成をとる。
【0023】図4に、図3に示した配送サーバ101−1の処理の流れを示す。まず、プロセッサ102が配送指示を出す(S401)。すると、受信者管理情報(S402)、及び配送データ(S403)が配送手段105−1〜105−nに転送される。各配送手段105−1〜105−nでは同一の処理が行われるため、配送手段105−1の処理408について説明する。まず、受信者全てに配送データを配送したかが判断され(S404)、Yesの場合は処理を終了する。Noの場合は、配送スケジュールを生成・管理し(S405)、パケットヘッダを生成し、該パケットヘッダとS403で取り込まれた配送データとからパケットを生成し、パケット送出の準備を行う(S406)。そして、パケットが配送され(S407)、S404に戻る。
【0024】図1の配送サーバ101をさらに応用して、配送手段105を、配送データを取得する配送データ入力装置502を備える入力配送手段501に置き換えることも可能である。図5に示す配送サーバ101−2では、プロセッサ102は受信者管理のみを行い、I/Oバス104上のデータ転送は受信者管理情報のみとなる。配送データはカメラ等の配送データ入力装置502で取得され、バッファメモリ107に保持される。そして、配送処理106が受信者情報に基づいて受信者毎にパケットを生成し、生成されたパケットをNIC108を介してネットワークに送出する。
【0025】図6に、図5に示した配送サーバ101−2の処理の流れを示す。まず、プロセッサ102が配送指示を出す(S601)。すると受信者管理情報(S602)、が入力配送手段301に転送される。更に、入力配送手段301で、受信者全てに配送データを配送したかが判断され(S603)、Yesの場合は処理を終了する。Noの場合は、配送スケジュールを生成・管理し(S604)、パケットヘッダを生成し、該パケットヘッダと外部入力機器S605で取り込まれた配送データ(S606)とからパケットを生成し、パケット送出の準備を行う(S607)。そして、パケットが配送され(S608)、S603に戻る。
【0026】図5に示した配送サーバ101−2の入力配送手段501は配送データの入力及び配送を一括して処理できるが、同時に処理できる受信者数は一個の入力配送手段501の能力で制限される。そこで、複数の入力配送手段702及び配送手段701を装備し、ある入力配送手段702から別の配送手段や入力配送手段I/Oバスを介して配送データを転送するようにすることで配送サーバの性能を向上させる(図7)。この場合、プロセッサ102が受信者管理の一環として配送データをどこからどこへ転送するかを制御する。
【0027】以下、本発明の実施例について詳細に説明する。ところで、配送データとしては、ディスクやファイルシステムに格納されたデータを用いたり、カメラなどの入力機器から配送データを撮り込むことなどが考えられる。本発明が対象とする情報処理装置はいずれかの方法で配送データを獲得することができるもので、これらは既存技術を利用すればよく、ここではその説明を割愛する。
【0028】また、以下の実施例では、通信プロトコルとしてインターネットで利用されているRTP(Real−time Transport Protocol)RFC1889を用いるが、本発明はRTPに限定して適用するものではない。
【0029】本発明の配送サーバはプロセッサ、バッファメモリ、PCIバスなどのI/Oバスを備える情報処理装置である。そして、図1などに示した配送手段105が例えばPCI等の接続手段を介してI/Oバス104に接続する。
【0030】配送手段105はI/Oバス104に装着するもので、コスト面、実装面積など物理的な制限のためサーバのプロセッサに比べると配送処理に特化した能力のプロセッサを用いる必要がある。しかし、配送手段105は処理内容が限られるので、処理内容に応じた専用の機構を設けることで高速な処理を実現することができる。
【0031】配送手段105は、配送サーバのプロセッサから指示された受信者情報を保持し、配送データをバッファリングして、指定された通信条件に従ってパケットを送信するものである。これを実現するにはいくつかの方法が考えられるが、本質的には以下のような機構に基づき実現することができる。
【0032】図8に配送手段105の詳細な構成を示す。配送手段105は、制御手段801、配送スケジュール手段802、受信者情報テーブル手段803、バッファ手段804、パケット手段805とから構成される。受信者管理情報807は配送サーバ101のプロセッサ102から制御手段801に供給される。配送データ808はバッファ手段804に供給される。配送スケジュール手段802は配送スケジュールを管理し、受信者情報テーブル手段803は各受信者の情報を管理する。パケット手段805はバッファ手段804の配送データと、受信者の情報をもとにパケット806を生成し、送出する。以下、各手段について説明する。
【0033】制御手段801は、配送サーバ101のプロセッサ102との情報のやりとり、配送手段105内部の制御、ネットワーク制御などの全体制御を行うものである。図8に示すように、制御手段801は、受信者管理情報と配送スケジュールを配送スケジュール手段802に供給する。また、配送サーバ101のプロセッサ102から供給される受信者管理情報807に基づいて、配送スケジュールを作成する場合もある。尚、制御手段801は、制御用の比較的安価なマイクロプロセッサ及びソフトウェアで構成することができる。
【0034】配送スケジュール手段802は、受信者に対して配送データを送信する順序やタイミングを規定した情報を管理する。パケット手段804がこの情報に従って個々のパケットを送信する(パケット手段804については以下に詳細に説明する)。配送スケジュールは配送サーバ101のプロセッサ102が受信者管理情報807の一部として与える場合や、制御手段801が独自に作成する場合がある。
【0035】図9に配送スケジュール手段802の詳細な構成を示す。配送スケジュール手段802は、配送先格納部901、受信者情報アドレス格納部902、配送データアドレス格納部903、配送データ長格納部904、配送時刻情報格納部905などの格納部(906、907はその他の情報を格納する部分)と、スケジュール部908、メモリモジュール部909とから成る。
【0036】図10にメモリモジュール部909の構成例を示す。それぞれの受信者に配送するための情報が、配送1(1001)、配送2(1002)、・・・として保持されている。受信者情報アドレス1003は受信者情報テーブル手段803が持つ受信者情報の格納アドレスないし識別子である。配送データアドレス1004はバッファ手段804に格納された配送データの中で今回転送すべきデータの格納されたアドレスである。配送データ長1005は、今回配送すべきデータ長である。配送時刻1006は今回配送すべき時刻情報である。例えば前回配送した時刻及び次に配送すべき時刻を格納しておくと、一定の時間間隔をおいて配送することができる。メモリモジュール部909に保持されるこれらの情報が、パケット手段805に対してあらかじめ決められた順序とタイミングで供給される。
【0037】図11に配送スケジュールの調整例を示す。図11は、メモリモジュール部909の主要な部分だけを抜粋して示すもので、宛先、時間パラメータ、データ長から成るテーブルである。時間パラメータは、前回配送した時刻及び次に配送すべき時刻に関わる情報として、パケットの配送間隔時間を示す。
【0038】配送スケジュール手段802は、プロセッサ102もしくは制御手段801から配送先の変更の指示を与えられると配送スケジュールを調整する。例えば、図11に示すように、宛先D’の挿入の指示が与えられると、宛先D’の受信者に関わる情報が配送先格納部901、受信者情報アドレス格納部902、配送データアドレス格納部903、配送データ長格納部904、配送時刻情報格納部905にそれぞれ格納され、スケジュール部908が受信者情報テーブル手段503または受信者情報管理テーブルを元に宛先D’の挿入場所を求め、メモリモジュール部909を更新する。図11では、宛先Aと宛先Bの間に宛先D’を挿入している。同様に宛先の削除も行うことができる。図11において宛先Bの削除の指示が与えられると、宛先Bの受信者に関わる情報が配送先格納部901、受信者情報アドレス格納部902、配送データアドレス格納部903、配送データ長格納部904、配送時刻情報格納部905にそれぞれ格納され、スケジュール部908がメモリモジュール部909上の宛先Bに関する部分を削除する。
【0039】次に、受信者情報テーブル手段803について説明する。受信者情報テーブル手段803は受信者毎の情報を受信者情報テーブルに格納、管理するものであって、パケット手段805がこの情報を用いてパケットを生成し、ネットワークへ送信する。
【0040】図12に受信者情報管理テーブルの構成例を示す。受信者(受信者1、受信者2など)毎の情報である受信者情報1(1204)、受信者情報2(1205)には、受信者のネットワークアドレス、使用しているプロトコル、ネットワーク制御情報などが格納される。また、パケットヘッダパターン1207には、最初に受信者情報を設定するときに、固定情報となるものがパケット形式に変換されて格納されている。これにより、パケット手段805が受信者情報を用いてパケットを生成するときに、パケット形式に変換されているものを用いてパケットを生成することができるため、処理を効率化することができる。変更情報リスト1206にはパケット長、エラー検出のためのチェックサム、プロトコルに依存して定義されるシーケンス番号やタイムスタンプ値など、パケット毎に変更すべきものがリストとして記される。RTP RFC1889を用いた場合、パケットヘッダとして必要な情報はIPヘッダ、UDPヘッダ、RTPヘッダである(RTP/IPv4)。これらの情報のうち、受信者についてのパケット毎に変わる情報は図13に示す網掛け部分で、それ以外の部分が固定情報である。固定情報部分については受信者情報管理テーブルに例えばヘッダとデータとからなるパケット形式で格納され、変更部分については、パケット手段805が変更情報リスト1206に基づいてこれらの情報を毎回算出し、更新する。
【0041】次に、バッファ手段804について説明する。バッファ手段804は配送サーバのプロセッサ102から転送される生のデータ、もしくは配送データ入力装置502で取得された生データ、である配送データを格納するものである。パケット手段805はバッファ手段804からデータを読み出しパケットを生成する。一般に受信者毎にデータ転送長は異なるが、本発明ではパケット手段805が配送データから異なるデータ転送長のパケットを容易に生成できるように配送データをブロックに分割し、更にIPチェックサム計算を容易にするための補助情報を持たせる。
【0042】図14にバッファ手段804の構成例を示す。配送データは、データ1(1402)、データ2(1403)、などのデータブロックに分割されて保持される。配送データブロック長1404は、該当ブロック内のデータ長である。参照カウンタ1405は配送スケジュール手段802において配送すべくスケジュールされている項目から該当ブロックを参照している数である。この参照数が0でない場合、該当データブロックに関する配送が全て終わっていないことになる。0の場合はこのブロックを上書きしてもよいことになる。ブロックチェックサム1406は該当ブロックのデータを16bit単位で1の補数和演算をした結果である。例えば2個のデータブロック全体のIPチェックサム値はそれぞれのブロックチェックサム値を1の補数和することで得られる。このためパケット手段805は全てのデータについて計算することなくチェックサム値を計算することができる。配送データブロック1407はデータが格納される。以下にバッファ手段804における配送データの管理について(図15)、ブロックチェックサム1406について(図16)それぞれ詳しく説明する。
【0043】図15にバッファ手段804における配送データの管理をフローチャートに示す。まずS1501でプロセッサ102から配送データが供給されると配送データを分割する。S1502で参照カウンタ1405を初期化する。S1503で配送スケジュール手段802からデータブロックを参照されると、該当する参照カウンタ1405が+1され、S1504で、該当するデータブロックの配送が完了すると対応する参照カウンタ1405が−1される。S1505で参照カウンタ1405が0かどうか判断され、0でなければS1503に戻り、0であればそのデータブロックのデータは破棄可能として破棄され、新たなデータの格納に使用される。
【0044】図16にブロックチェックサムからパケット手段805がパケットのチェックサム値を算出する方法を示す。まず、(1)で配送データを分割する。次に(2)で分割したデータブロック毎にチェックサムを計算する。これは16bit単位で1の補数和演算した結果である。そして(3)は、パケット手段805においてチェックサム値を求めるのをそれぞれ示したものである。(3)aは、ブロック■とブロック■を1つのパケットとして送出する場合を示したもので、チェックサムαは■と■のチェックサムを1の補数和演算して得られる。(3)bは、ブロック■を1つのパケットとして送出する場合を示したもので、チェックサムβは■のチェックサムをそのままチェックサムとする。(3)cは、ブロック■、ブロック■、ブロック■を1つのパケットとして送出する場合を示したもので、チェックサムγは■と■と■のチェックサムを1の補数和演算して得られる。(3)a’は、ブロック■とブロック■の一部(■’)を1つのパケットとして送出する場合を示したもので、チェックサムζは、まず■’のチェックサムを求め、その後■のチェックサムと合わせて算出される。このようにパケット手段805でチェックサムを求める場合、あらかじめ計算された各ブロック毎のチェックサムからパケット毎のチェックサムを算出するため、処理を効率化できる。尚、上記の説明では1の補数和演算によって得られるチェックサムについて説明したが、CRC(巡回符号)のような、他のエラー検出符号を用いることも可能である。
【0045】次に、パケット手段805について説明する。パケット手段805は、配送スケジュールに従って、バッファ手段804に格納される配送データと受信者情報テーブル手段803をもとにパケットを生成し、ネットワークに送信する。パケット手段805の処理は専用のマイクロプロセッサ、専用のハードウェアを用いて高速化させることが可能である。
【0046】図17にパケット手段805の詳細な構成を示す。パケット手段は受信者情報部1701、配送データ部1702、配送スケジュール部1703、パケット生成部1704、プロセッサ部1705、ネットワークインタフェース部1706から成る。受信者情報部1701は受信者情報テーブル手段803に、配送データ部1702はバッファ手段804に、配送スケジュール部1703は配送スケジュール手段802にそれぞれ接続している。受信者情報部1701と配送データ部1702はバッファメモリで構成され、データが格納される。配送スケジュール部1703に配送スケジュールが供給されると、パケット生成部1704は受信者情報部1701から受信者のパケットヘッダを取得し、同様に配送データ部1702から配送データを取得し、双方を結合してパケットを生成する。この際、パケットヘッダには固定部分と変更部分があるため、図18に示すように、変更情報があるか否かS1802で判断され、変更情報がある場合はS1803で変更情報をパケットヘッダの形式に加工し、S1804でパケットヘッダを元にパケットを生成する。そして、生成されたパケットはネットワークインタフェース部1706を介してネットワークに送出される。
【0047】以上のように図8に示す本発明の配送手段105の各部分について図9〜図18を用いて詳細に説明したが、図19に配送手段105内の各部が連動する様子を示す。今、図19に示す配送スケジュール手段802のメモリモジュール部909の配送1に対応する受信者にパケットを送信する(1901)、とする。配送1に対応する受信者情報を取得するための識別情報1902は受信者情報テーブル手段803のAを示しており、また、配送データを取得するための識別情報1903はバッファ手段804におけるアドレスを示している。これにより、パケット手段805の配送スケジュール部1701に、”配送1に配送する”という配送スケジュールが供給されると、パケット手段805は受信者情報部1701を介して受信者情報テーブル手段803から対応するパケットヘッダを取得し(1904)、同様に配送データ部1702を介して対応する配送データを取得(1905)する。そして、パケット生成部1704でパケットヘッダと配送データを結合してパケット806を生成してネットワークに送出する。尚、受信者情報テーブル手段803から取得されるパケットヘッダの変更部分に関しては、パケット生成部1704で計算される。
【0048】ここで、本方式と従来方式を比較する。今、受信者数がX、ネットワークアダプタ、すなわち本方式では配送手段、従来方式ではNIC、をK枚使用すると仮定すると、I/Oバス負荷はK/X、それぞれのネットワークアダプタで処理する受信者数はX/Kとなる。また配送サーバのプロセッサの処理は受信者管理、データ準備、各ネットワークアダプタへの一次配送だけになる。本方式では、受信者管理は受信者数Xに比例するが、データ準備は一種類の配送データにつき1であり、データの一次配送はKに比例するのに対して従来方式では全てXに比例する。受信者管理処理は配送の開始時間と終了時にのみ行われるため、一定の時間をみたときの負荷は配送処理に比べて非常に小さいと考えられる。従って、本方式のプロセッサ負荷は従来方式に比べてK/X以下になると考えられる。このように本方式によれば、配送サーバのプロセッサ負荷を低減させることができるばかりか、実時間性の強い配送処理を複数のネットワークアダプタに分散できるため、個々のネットワークアダプタの処理負荷も低減可能である。更にI/Oバスの負荷も低減可能となる。
【0049】さて、以上ではパケットの送出について述べたが、受信パケットを処理する機能を備える配送手段105を図20に示す。配送手段105の配送処理106、配送データ入力装置502、バッファメモリ107、NIC108は上述した通りである。受信したパケットはNIC108から受信処理手段2001へ送られ、識別処理手段2002において配送手段105内で処理できるか否かを識別される。処理できなければサーバプロセッサへ送り、処理できれば配送手段105で処理される。
【0050】以上、本発明の実施例をインターネットに言及して説明したが、本発明はインターネットに限定されるものではない。また、配送手段105は本発明で述べた配送手段105の処理に限定されることなく、さまざまなソフトウェアを配送手段105上で実行させ、インテリジェントNIC(Network Interface Card)とすることも可能である。図21にその例を示す。配送サーバ2101の配送手段2102は、上述の配送手段105と同様の処理をするストリーミング2103の他に、サーバプロセッサが行っていた処理の一部を配送手段2102内で行うソフトウェアであるサーバ機能A2104、サーバ機能B2105、サーバ機能C2106を含む。図21では、配送サーバ2101のプロセッサ、I/Oバスなどのハードウェアは、その他のハードウェア2107に含まれる。このように、配送手段2102でストリーミング処理以外のソフトウェアを実行することで、配送サーバ2101のプロセッサ負荷等をより低減することが可能となる。
【0051】(付記1)送信者が送信者側に設けられたプロセッサを用いて複数の受信者に対して受信者毎にデータを送信することによって放送型通信を行う情報処理装置であって、前記プロセッサから入出力バスを介して供給される受信者の情報と配送データに基づいて、前記受信者毎に対応するパケットを生成し、接続するネットワークに送信する配送手段、前記配送手段を前記入出力バスを介して前記情報処理装置の前記プロセッサに接続する手段と、を備えることを特徴とする情報処理装置。
(付記2)付記1記載の情報処理装置であって、複数の前記配送手段を備え、前記情報処理装置のプロセッサが前記入出力バスを介して前記複数の配送手段に同一の配送データを供給し、前記配送手段毎に異なる受信者情報を供給する、ことを特徴とする情報処理装置。
(付記3)付記1記載の情報処理装置であって、前記配送手段は、パケットの送信順序と送信タイミングとからなる配送スケジュールを制御する配送スケジュール手段と、前記受信者の情報を管理する受信者情報管理手段と、前記配送データを格納管理するバッファ手段と、前記配送スケジュールに従い、指定された受信者に対してパケットを生成し、送信するパケット手段と、を備えることを特徴とする情報処理装置。
(付記4)付記3記載の情報処理装置であって、前記配送手段は、更に、前記情報処理装置のプロセッサから配送データの供給を受けることなく配送データを取得する配送データ入力手段を備えることを特徴とする情報処理装置。
(付記5)付記3記載の情報処理装置であって、複数の前記配送手段と、前記情報処理装置のプロセッサから配送データの供給を受けることなく、配送データを取得する配送データ入力手段を備える配送入力手段を少なくとも一つ備え、前記入力配送手段から前記入出力バスを介して他の前記配送手段へ配送データを供給することを特徴とする情報処理装置。
(付記6)付記3記載の情報処理装置であって、前記配送スケジュール手段は、前記受信者情報管理手段が管理する情報から特定の受信者の情報を取得するための識別情報と、前記特定の受信者に対して配送するデータを前記バッファ手段から取得するための識別情報と、パケットの送信に係わる情報とを、前記パケット手段に対して予め決められた順序とタイミングで供給することを特徴とする情報処理装置。
(付記7)付記6記載の情報処理装置であって、前記パケットの送信に係わる情報は、前回パケットを送信した時刻と次にパケットを送信すべき時刻に係わる情報を含むことを特徴とする情報処理装置。
(付記8)付記3記載の情報処理装置であって、前記受信者の情報は、前記パケット手段が各受信者に対応するパケットを生成するために必要な情報を含み、前記受信者情報管理手段は、前記パケット手段から指定された受信者に対応する前記受信者の情報を前記パケット手段に転送することを特徴とする情報処理装置。
(付記9)付記8記載の情報処理装置であって、前記受信者の情報は、前記配送データをネットワークに送信するときに必要となるパケットヘッダ情報の形態からなり、前記受信者の情報は常に固定的な部分とパケット毎に変更される部分を識別する変更情報を含む、ことを特徴とする情報処理装置。
(付記10)付記9記載の情報処理装置であって、前記パケット手段は、前記変更情報に基づいて変更される部分のみ情報を加工し、固定部分は前記受信者の情報の対応する部分をそのまま用いてパケットヘッダ情報を作成し、前記配送データと前記パケットヘッダ情報を結合してパケットを生成し、ネットワークに送信することを特徴とする情報処理装置。
(付記11)付記3記載の情報処理装置であって、前記バッファ手段は、前記配送データを管理するための管理情報と、前記パケット手段がパケットを生成するための補助情報とを、前記配送データに付加して管理することを特徴とする情報処理装置。
(付記12)付記11記載の情報処理装置であって、前記バッファ手段は、前記配送データを一定の長さの配送データブロックに分割し、各前記配送データブロックに前記管理情報と前記補助情報を付加して管理することを特徴とする情報処理装置。
(付記13)付記12記載の情報処理装置であって、前記管理情報は、前記配送データブロックの長さに係わる情報と前記配送データブロックを配送すべき受信者数に係わる情報であり、前記補助情報は、前記配送データブロックのエラー検出符号である、ことを特徴とする情報処理装置。
(付記14)付記13記載の情報処理装置であって、前記配送データブロックを配送すべき受信者数に係わる情報は、前記配送データブロックを必要とする受信者数を示すカウンタでそれぞれ表現され、前記配送スケジュール手段が受信者に配送するデータとして該当する前記配送データブロックを参照する毎に対応する前記カウンタを1増加し、前記パケット手段が該当する前記配送データブロックの配送を完了する毎に対応する前記カウンタを1減少させ、前記バッファ手段が、前記カウンタを1減少させた結果が0になった時に、対応する前記配送データブロックを破棄する、ことを特徴とする情報処理装置。
(付記15)付記13記載の情報処理装置であって、前記エラー検出符号は、前記配送データブロックのチェックサムである、ことを特徴とする情報処理装置。
(付記16)付記15記載の情報処理装置であって、前記チェックサムは、前記配送データブロックを予め決められた16bit以上の長さ単位の1の補数和を行った結果である、ことを特徴とする情報処理装置。
(付記17)付記3記載の情報処理装置であって、前記配送手段は、更に、ネットワークからパケットを受信する受信手段と、前記受信手段で受信した前記パケットを、該配送手段で処理できるか否か識別する受信パケット識別手段と、前記受信パケット識別手段で処理できると判断された前記パケットを処理し、処理できないと判断された前記パケットを前記情報処理装置のプロセッサに転送する受信パケット処理手段と、を備えることを特徴とする情報処理装置。
(付記18)単数の送信者が、複数の受信者に対して受信者毎にデータを送信することによって放送型通信を行う情報処理装置に設置されるネットワークアダプタであって、パケットの送信順序と送信タイミングとからなる配送スケジュールを制御する配送スケジュール手段と、前記受信者の情報を管理する受信者情報管理手段と、配送データを格納管理するバッファ手段と、前記配送スケジュールに従い、指定された受信者に対してパケットを生成し、送信するパケット手段と、を備えることをネットワークアダプタ。
(付記19)付記18記載のネットワークアダプタであって、前記情報処理装置のプロセッサから配送データの供給を受けることなく配送データを取得する配送データ入力手段を備える、ことを特徴とするネットワークアダプタ。
(付記20)付記18記載のネットワークアダプタであって、ネットワークからパケットを受信する受信手段と、前記受信手段で受信した前記パケットを、該ネットワークアダプタで処理できるか否か識別する受信パケット識別手段と、前記受信パケット識別手段で処理できると判断された前記パケットを処理し、処理できないと判断された前記パケットを前記情報処理装置のプロセッサに転送する受信パケット処理手段と、を備えることを特徴とするネットワークアダプタ。
(付記21)放送型通信を行う送信者側情報処理装置がパケットを生成して、送信する方法であって、前記情報処理装置のネットワークアダプタが、前記情報処理装置のプロセッサから供給される受信者の情報と配送データに基づいて、受信者毎に対応するパケットを生成し、送信する過程を含むことを特徴とする方法。
(付記22)付記21記載の方法であって、前記受信者の情報を、予めパケットヘッダ情報の形態にして保持する過程と、前記配送データをブロックに分割し、各ブロックに対応する管理情報とパケットを生成するための補助情報とを付加して保持する過程と、パケットの送信順序と送信タイミングとからなる配送スケジュールに従って、指定された受信者に対してパケットを生成し、送信する過程と、を含むことを特徴とする方法。
【0052】
【発明の効果】以上詳細に説明したように、本発明によれば、放送型通信において送信者側である配送サーバは、配送品質を低下させずに、同時にサービス可能な受信者数を増大させることができる。より具体的には、配送サーバのプロセッサ負荷及びI/O負荷を低減し、配送品質を受信者毎に対応して調整することができる。
【図面の簡単な説明】
【図1】本発明の原理構成を示す図である。
【図2】図1に示した配送サーバの処理の流れを示す図である。
【図3】本発明の原理構成の応用(その1)を示す図である。
【図4】図3に示した配送サーバの処理の流れを示す図である。
【図5】本発明の原理構成の応用(その2)を示す図である。
【図6】図5に示した配送サーバの処理の流れを示す図である。
【図7】本発明の原理構成の応用(その3)を示す図である。
【図8】配送手段の実施例を示す図である。
【図9】配送スケジュール手段の詳細な説明をする図である。
【図10】配送スケジュール手段のメモリモジュール部の構成例を示す図である。
【図11】配送スケジュールの調整例を示す図である。
【図12】受信者情報管理テーブルの構成例を示す図である。
【図13】RTP/IPv4のパケットヘッダを示す図である。
【図14】バッファ手段の構成例を示す図である。
【図15】配送データの管理について説明する図である。
【図16】チェックサムの求め方を説明する図である。
【図17】パケット手段の詳細な説明をする図である。
【図18】パケットを生成する処理の流れを示す図である。
【図19】配送手段内の動作を説明する図である。
【図20】受信パケットの処理を説明する図である。
【図21】本発明の配送手段の応用を示す図である。
【図22】放送型通信を示す図である。
【図23】マルチキャストによる放送型通信を示す図である。
【図24】ユニキャストによる放送型通信を示す図である。
【図25】放送型通信におけるマルチキャストとユニキャストの比較を示す図である。
【図26】従来方式における配送サーバの構成を示す図である。
【符号の説明】
101 配送サーバ
102 プロセッサ
103 バッファメモリ
104 I/Oバス
105 配送手段
106 配送処理
107 バッファメモリ
108 NIC(Network Interface Card)
408 配送手段105−1の処理
409 配送手段105−2の処理
410 配送手段105−3の処理
501 入力配送手段
502 配送データ入力装置
701 配送手段または入力配送手段
702 入力配送手段
801 制御手段
802 配送スケジュール手段
803 受信者情報テーブル手段
804 バッファ手段
805 パケット手段
806 パケット
807 受信者管理情報
808 配送データ
901 配送先格納部
902 受信者情報アドレス格納部
903 配送データアドレス格納部
904 配送データ長格納部
905 配送時刻情報格納部
906 格納部(その他)
907 格納部(その他)
908 スケジュール部
909 メモリモジュール部
1001 配送1
1002 配送2
1003 受信者情報アドレス
1004 配送データアドレス
1005 配送データ長
1006 配送時刻情報
1201 受信者情報メモリ
1202 受信者1
1203 受信者2
1204 受信者情報1
1205 受信者情報2
1206 変更情報リスト
1207 パケットヘッダパターン
1401 バッファメモリ
1402 データ1
1403 データ2
1404 配送データブロック長
1405 参照カウンタ
1406 ブロックチェックサム
1407 配送データブロック
1701 受信者情報部
1702 配送データ部
1703 配送スケジュール部
1704 パケット生成部
1705 プロセッサ部
1706 ネットワークインタフェース部
1901 配送指示
1902 識別情報
1903 識別情報
1904 データ出力
1905 データ出力
2001 受信処理手段
2002 識別処理手段
2101 配送サーバ
2102 配送手段
2103 ストリーミング
2104 サーバ機能A
2105 サーバ機能B
2106 サーバ機能C
2107 その他のハードウェア
2201 送信者
2202 インターネット
2203 受信者
2204 受信者
2301 送信者
2302 インターネット
2303 受信者
2304 受信者
2401 送信者
2402 インターネット
2403 受信者
2404 受信者
2601 配送サーバ
2602 プロセッサ
2603 バッファメモリ
2604 I/Oバス
2605 NIC(Network Interface Card)
2606 NIC(Network Interface Card)

【特許請求の範囲】
【請求項1】 送信者が送信者側に設けられたプロセッサを用いて複数の受信者に対して受信者毎にデータを送信することによって放送型通信を行う情報処理装置であって、前記プロセッサから入出力バスを介して供給される受信者の情報と配送データに基づいて、前記受信者毎に対応するパケットを生成し、接続するネットワークに送信する配送手段、前記配送手段を前記入出力バスを介して前記情報処理装置の前記プロセッサに接続する手段と、を備えることを特徴とする情報処理装置。
【請求項2】 請求項1記載の情報処理装置であって、複数の前記配送手段を備え、前記情報処理装置のプロセッサが前記入出力バスを介して前記複数の配送手段に同一の配送データを供給し、前記配送手段毎に異なる受信者情報を供給する、ことを特徴とする情報処理装置。
【請求項3】 請求項1記載の情報処理装置であって、前記配送手段は、パケットの送信順序と送信タイミングとからなる配送スケジュールを制御する配送スケジュール手段と、前記受信者の情報を管理する受信者情報管理手段と、前記配送データを格納管理するバッファ手段と、前記配送スケジュールに従い、指定された受信者に対してパケットを生成し、送信するパケット手段と、を備えることを特徴とする情報処理装置。
【請求項4】 請求項3記載の情報処理装置であって、前記配送手段は、更に、前記情報処理装置のプロセッサから配送データの供給を受けることなく配送データを取得する配送データ入力手段を備えることを特徴とする情報処理装置。
【請求項5】 請求項3記載の情報処理装置であって、複数の前記配送手段と、前記情報処理装置のプロセッサから配送データの供給を受けることなく、配送データを取得する配送データ入力手段を備える配送入力手段を少なくとも一つ備え、前記入力配送手段から前記入出力バスを介して他の前記配送手段へ配送データを供給することを特徴とする情報処理装置。
【請求項6】 請求項3記載の情報処理装置であって、前記配送スケジュール手段は、前記受信者情報管理手段が管理する情報から特定の受信者の情報を取得するための識別情報と、前記特定の受信者に対して配送するデータを前記バッファ手段から取得するための識別情報と、パケットの送信に係わる情報とを、前記パケット手段に対して予め決められた順序とタイミングで供給することを特徴とする情報処理装置。
【請求項7】 請求項6記載の情報処理装置であって、前記パケットの送信に係わる情報は、前回パケットを送信した時刻と次にパケットを送信すべき時刻に係わる情報を含むことを特徴とする情報処理装置。
【請求項8】 請求項3記載の情報処理装置であって、前記受信者の情報は、前記パケット手段が各受信者に対応するパケットを生成するために必要な情報を含み、前記受信者情報管理手段は、前記パケット手段から指定された受信者に対応する前記受信者の情報を前記パケット手段に転送することを特徴とする情報処理装置。
【請求項9】 請求項8記載の情報処理装置であって、前記受信者の情報は、前記配送データをネットワークに送信するときに必要となるパケットヘッダ情報の形態にしたものであり、前記受信者の情報は常に固定的な部分とパケット毎に変更される部分を識別する変更情報を含む、ことを特徴とする情報処理装置。
【請求項10】 請求項9記載の情報処理装置であって、前記パケット手段は、前記変更情報に基づいて変更部分のみ情報を加工し、固定部分は前記受信者の情報の対応する部分をそのまま用いてパケットヘッダ情報を作成し、前記配送データと前記パケットヘッダ情報を結合してパケットを生成し、ネットワークに送信することを特徴とする情報処理装置。
【請求項11】 請求項3記載の情報処理装置であって、前記バッファ手段は、前記配送データを管理するための管理情報と、前記パケット手段がパケットを生成するための補助情報とを、前記配送データに付加して管理することを特徴とする情報処理装置。
【請求項12】 請求項11記載の情報処理装置であって、前記バッファ手段は、前記配送データを一定の長さの配送データブロックに分割し、各前記配送データブロックに前記管理情報と前記補助情報を付加して管理することを特徴とする情報処理装置。
【請求項13】 請求項12記載の情報処理装置であって、前記管理情報は、前記配送データブロックの長さに係わる情報と前記配送データブロックを配送すべき受信者数に係わる情報であり、前記補助情報は、前記配送データブロックのエラー検出符号である、ことを特徴とする情報処理装置。
【請求項14】 請求項13記載の情報処理装置であって、前記配送データブロックを配送すべき受信者数に係わる情報は、前記配送データブロックを必要とする受信者数を示すカウンタでそれぞれ表現され、前記配送スケジュール手段が受信者に配送するデータとして該当する前記配送データブロックを参照する毎に対応する前記カウンタを1増加し、前記パケット手段が該当する前記配送データブロックの配送を完了する毎に対応する前記カウンタを1減少させ、前記バッファ手段が、前記カウンタを1減少させた結果が0になった時に、対応する前記配送データブロックを破棄する、ことを特徴とする情報処理装置。
【請求項15】 請求項13記載の情報処理装置であって、前記エラー検出符号は、前記配送データブロックのチェックサムである、ことを特徴とする情報処理装置。
【請求項16】 請求項3記載の情報処理装置であって、前記配送手段は、更に、ネットワークからパケットを受信する受信手段と、前記受信手段で受信した前記パケットを、該配送手段で処理できるか否か識別する受信パケット識別手段と、前記受信パケット識別手段で処理できると判断された前記パケットを処理し、処理できないと判断された前記パケットを前記情報処理装置のプロセッサに転送する受信パケット処理手段と、を備えることを特徴とする情報処理装置。
【請求項17】 単数の送信者が、複数の受信者に対して受信者毎にデータを送信することによって放送型通信を行う情報処理装置に設置されるネットワークアダプタであって、パケットの送信順序と送信タイミングとからなる配送スケジュールを制御する配送スケジュール手段と、前記受信者の情報を管理する受信者情報管理手段と、配送データを格納管理するバッファ手段と、前記配送スケジュールに従い、指定された受信者に対してパケットを生成し、送信するパケット手段と、を備えることをネットワークアダプタ。
【請求項18】 請求項17記載のネットワークアダプタであって、ネットワークからパケットを受信する受信手段と、前記受信手段で受信した前記パケットを、該ネットワークアダプタで処理できるか否か識別する受信パケット識別手段と、前記受信パケット識別手段で処理できると判断された前記パケットを処理し、処理できないと判断された前記パケットを前記情報処理装置のプロセッサに転送する受信パケット処理手段と、を備えることを特徴とするネットワークアダプタ。
【請求項19】 放送型通信を行う送信者側情報処理装置がパケットを生成して、送信する方法であって、前記情報処理装置のネットワークアダプタが、前記情報処理装置のプロセッサから供給される受信者の情報と配送データに基づいて、受信者毎に対応するパケットを生成し、送信する過程を含むことを特徴とする方法。
【請求項20】 請求項19記載の方法であって、前記受信者の情報を、予めパケットヘッダ情報の形態にして保持する過程と、前記配送データをブロックに分割し、各ブロックに対応する管理情報とパケットを生成するための補助情報とを付加して保持する過程と、パケットの送信順序と送信タイミングとからなる配送スケジュールに従って、指定された受信者に対してパケットを生成し、送信する過程と、を含むことを特徴とする方法。

【図1】
image rotate


【図2】
image rotate


【図3】
image rotate


【図4】
image rotate


【図7】
image rotate


【図5】
image rotate


【図6】
image rotate


【図8】
image rotate


【図9】
image rotate


【図10】
image rotate


【図11】
image rotate


【図12】
image rotate


【図25】
image rotate


【図13】
image rotate


【図14】
image rotate


【図15】
image rotate


【図16】
image rotate


【図17】
image rotate


【図18】
image rotate


【図19】
image rotate


【図20】
image rotate


【図21】
image rotate


【図22】
image rotate


【図23】
image rotate


【図24】
image rotate


【図26】
image rotate


【公開番号】特開2003−46564(P2003−46564A)
【公開日】平成15年2月14日(2003.2.14)
【国際特許分類】
【出願番号】特願2001−231361(P2001−231361)
【出願日】平成13年7月31日(2001.7.31)
【産業再生法】(出願人による申告)国等の委託研究の成果に係る特許出願(平成13年度経済産業省委託事業「エネルギー使用合理化システム開発調査等(エネルギー使用合理化電子計算機技術開発)」委託研究、産業活力再生特別措置法第30条の適用を受けるもの)
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】