JP2010140124A - データ配信用通信装置、及びデータ配信システム - Google Patents

データ配信用通信装置、及びデータ配信システム Download PDF

Info

Publication number
JP2010140124A
JP2010140124A JP2008313876A JP2008313876A JP2010140124A JP 2010140124 A JP2010140124 A JP 2010140124A JP 2008313876 A JP2008313876 A JP 2008313876A JP 2008313876 A JP2008313876 A JP 2008313876A JP 2010140124 A JP2010140124 A JP 2010140124A
Authority
JP
Japan
Prior art keywords
server
file
data
connection request
file connection
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2008313876A
Other languages
English (en)
Other versions
JP5470828B2 (ja
Inventor
Takashi Isobe
隆史 磯部
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2008313876A priority Critical patent/JP5470828B2/ja
Priority to US12/634,939 priority patent/US8341244B2/en
Publication of JP2010140124A publication Critical patent/JP2010140124A/ja
Application granted granted Critical
Publication of JP5470828B2 publication Critical patent/JP5470828B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2854Wide area networks, e.g. public data networks
    • H04L12/2856Access arrangements, e.g. Internet access
    • H04L12/2858Access network architectures
    • H04L12/2861Point-to-multipoint connection from the data network to the subscribers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/564Enhancement of application control based on intercepted application data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers

Abstract

【課題】 データ配信の応答速度が高速で、省スペース・省電力である通信装置およびデータ配信システムを提供することを目的とする。
【解決手段】 クライアントが配信指示した直後に一定量のデータを初期データ送信サーバから広帯域送信させた後で、後続のデータを後続データ送信サーバから通常の帯域で送信させる再生時広帯域送信機能と、
ロードバランシング(クライアントからの配信要求を,同一のファイルを蓄積した複数のサーバ間で分散させる機能)とファイル分散アクセス(クライアントからの配信要求を,配信要求に対応したファイルを格納するサーバに振り分ける機能)とから構成され、ディスクアレイを使用せずに複数のサーバを直接アレイ化して、サーバのリソースを1つに統合するサーバアレイ化機能と、
を備えた通信装置を提供する。更に、上記の通信装置と、複数のサーバと、から構成されるVOD配信システムを提供する。
【選択図】 図6

Description

本発明は、ネットワークに接続され、ネットワークで転送されるパケットを受信し、パケットを送受信しているクライアントとサーバ間の通信状態に応じて異なる処理を行い、装置内部に蓄積したデータの変更や、新たなパケットの生成および外部送信を行う通信装置を用いて、
複数のサーバをアレイ化(1台のサーバとして統合)し、省スペース・省電力なシステムによる多数ユーザへの大容量同時データ送信を実現すると共に、再生時の広帯域送信により高速応答のデータ再生を実現するための技術に関する。
放送通信融合の進展に伴い、ビデオ配信サービスの大容量化・体感速度向上と、データセンタのサーバ設置コスト&消費電力削減へのニーズが増大している。これらのニーズを満たすVOD配信高速化装置およびVOD配信システムが必要である。
従来のビデオ配信システムは、図28に示すように、ディスクアレイ2801とサーバ2802とロードバランサ2803から構成されるシステム2800である。
ディスクアレイ2801は、複数のハードディスクを論理的に1つにまとめた装置である。ファイバチャネル、iSCSI等のディスクアクセス専用回線2805を使ってディスクへの読み書きを行う。
サーバ2802は、通常の通信回線2806と、ディスクアクセス専用回線2805と接続している。通信回線2806経由でクライアント2804からビデオデータ配信要求を受け取ると、ディスクアクセス専用回線2805経由でディスクアレイ2801からビデオデータを読出し、読み出したデータを、通信回線2806経由でクライアント2804に向けて送信する。
ロードバランサ2803は、通信回線2807経由で受け取ったクライアント2804からのビデオデータ配信要求を、複数のサーバ2802−i(i=1〜n)の間で分散させる。
図27に示すように、クライアント2702のビデオ再生ソフト2705は、ビデオの生成を行う再生部と、ビデオデータを一時的に蓄積しておく受信バッファから構成される。
ビデオ再生ソフト2705が再生指示をすると、ビデオデータ配信要求がクライアント2702からサーバ2701に向けて送信される。サーバ2701が、クライアント2702からビデオデータ配信要求を受け取ると、ビデオデータ2703の配信が開始される。ビデオデータ2703は、一旦、クライアント2702のビデオ再生ソフト2705の受信バッファに蓄積される。受信バッファのビデオデータ蓄積量が再生開始閾値を超過すると、ビデオ再生ソフト2705の再生部が受信バッファからビデオデータを読み出し、ビデオ再生を開始する。
ビデオ再生ソフト2705の再生指示後に、サーバが再生開始閾値相当のビデオデータを広帯域送信して、受信バッファのビデオデータ蓄積量が再生開始閾値を超過するまでの時間を短縮することで、ビデオ再生の応答速度(再生指示から再生開始までの時間)を短縮できる。体感速度の速いビデオ再生の実現が可能となる。
サーバが,上記の再生指示後の広帯域送信を行う場合,図26に示すように、通常の配信用スループット性能2604に加えて,再生高速化用スループット性能2603を備える必要がある
上述したビデオデータ配信システムをはじめとする、ディスクアレイとサーバとロードバランサを組み合わせたデータ配信システムの2つの課題を以下に説明する。
まず初めに、1つ目の課題を説明する。
ディスクアレイとサーバを用いたシステムは、ディスクアレイにおいて,ハードディスクのアレイ化を行うための演算回路基板や、ファイバチャネル・iSCSI等のインターフェースを搭載する。サーバにおいても、ディスクアレイとの接続を行うためのインターフェースを搭載する。これらのディスクアレイ向け搭載物が、消費電力とシステム占有スペースを増加させる,という課題がある。
次に、図25と図26を用いて2つ目の課題を説明する。
サーバ2601が、上記の再生指示後の広帯域送信を行う場合、通常の配信用スループット性能2604に加えて、再生高速化用スループット性能2603が必要となる。再生高速化用スループット性能2603は、再生開始閾値相当のデータを送信する際に使用される。
従来のビデオ配信等に用いられているデータ配信システムでは、ロードバランサ2500がクライアントから受け取ったデータ配信要求を時々刻々変化するサーバの負荷のみに基づいて各サーバに送信するため、どのサーバがデータ配信を行うかを事前に把握することができず、その結果図25に示すように、各々のサーバ2504,2505,2506において,再生指示後に再生開始閾値相当のデータを広帯域送信する。従って、全てのサーバにおいて,通常の配信用スループット性能に加えて再生高速化用スループット性能が必要となる。広帯域送信時の平均送信帯域をbh(Mbps),通常配信時の送信帯域をbl(Mbps),サーバ回線数をm(本),クライアント数をn(台),1クライアントあたりの再生指示・再生箇所変更の頻度をr(回/秒),データ再生ソフトの受信バッファの再生開始閾値(通常配信時の送信帯域×t秒分で表す)をbl/8・t(Mbyte)とすると,サーバの各回線が必要とする再生高速化用スループット性能の合計値Bhは,以下のように求められる。
サーバの各回線には、n/m・r(回/秒)の頻度で再生開始閾値分のデータbl/8・t(Mbyte)の送信が発生するため、平均値にてbl/8・t・8・n/m・r(Mbps)の再生高速化用スループット性能が必要である。更に、再生開始閾値分のデータを送信する際は、広帯域送信が必要なので、広帯域送信時の平均送信帯域bh(Mbps)分の再生高速化用スループット性能が余分に必要となる。
以上により、サーバの各回線が必要とする再生高速化用スループット性能Bh’と、全回線が必要とする再生高速化用スループット性能の合計値Bh(Mbps)は,図24の式2401および式2402で表される。
更に,サーバの全回線のスループット性能の合計値をB(Mbps)とすると,全回線が必要とする再生高速化用スループット性能の合計値Bhは、全回線のスループット性能の合計値Bと、通常配信時の送信帯域の合計値n・blの差に相当する(式2403)。
式2402と式2403を用いると、広帯域送信時の平均送信帯域bh(Mbps)は、式2404で表される。
従って、再生の応答時間(再生開始閾値分のデータを広帯域送信した際の送信時間)T(秒)は、式2405で表される。このように、各々のサーバ2504,2505,2506において,再生指示後に再生開始閾値相当のデータを広帯域送信する従来のデータ配信システムでは、サーバ回線数mが多くなるほど,再生の応答時間Tは増加するという課題がある。
以上のように、ディスクアレイとサーバとロードバランサを組み合わせたデータ配信システムには、消費電力とシステム占有スペースが大きく、サーバ回線数が多くなるほど再生の応答時間が長くなる、という2つの課題がある。
次に、上述したビデオ配信をはじめとするデータ配信に用いられているロードバランサの課題を以下に説明する。
従来のビデオ配信をはじめとするデータ配信システムに用いられるロードバランサ2500はクライアントから受け取ったデータ配信要求をサーバの負荷のみに基づいて各サーバに送信するため、ディスクアレイとサーバを用いたデータ配信システムでは、ディスクアレイにおいて要求されたファイルへのアクセスを制御する必要が生じ,ハードディスクのアレイ化を行うための演算回路基板や、ファイバチャネル・iSCSI等のインターフェースを搭載する必要がある。さらに、サーバにおいても、ディスクアレイとの接続を行うためのインターフェースを搭載する必要がある。つまり、ロードバランサ2500がデータ配信要求をサーバの負荷のみに基づいて各サーバに送信することが原因で、ディスクアレイにこれらの搭載物が必要となり、データ配信システムの消費電力とシステム占有スペースを増加させる,という課題がある。
さらに、上述のように、従来のビデオ配信システムをはじめとするデータ配信システムに用いられるロードバランサ2500はクライアントから受け取ったデータ配信要求を時々刻々変化するサーバの負荷のみに基づいて各サーバに送信するため、どのサーバがデータ配信を行うかを事前に把握することができず、その結果図25に示すように、各々のサーバ2504,2505,2506は,再生指示後に再生開始閾値相当のデータを広帯域送信する。従って、データ配信システムに従来のロードバランサ2500を用いると、接続する全てのサーバにおいて,通常の配信用スループット性能に加えて再生高速化用スループット性能が必要となる。
広帯域送信時の平均送信帯域をbh(Mbps),通常配信時の送信帯域をbl(Mbps),サーバ回線数をm(本),クライアント数をn(台),1クライアントあたりの再生指示・再生箇所変更の頻度をr(回/秒),データ再生ソフトの受信バッファの再生開始閾値(通常配信時の送信帯域×t秒分で表す)をbl/8・t(Mbyte)とすると,サーバの各回線が必要とする再生高速化用スループット性能の合計値Bhは,以下のように求められる。
サーバの各回線には、n/m・r(回/秒)の頻度で再生開始閾値分のデータbl/8・t(Mbyte)の送信が発生するため、平均値にてbl/8・t・8・n/m・r(Mbps)の再生高速化用スループット性能が必要である。更に、再生開始閾値分のデータを送信する際は、広帯域送信が必要なので、広帯域送信時の平均送信帯域bh(Mbps)分の再生高速化用スループット性能が余分に必要となる。
以上により、サーバの各回線が必要とする再生高速化用スループット性能Bh’と、全回線が必要とする再生高速化用スループット性能の合計値Bh(Mbps)は,図24の式2401および式2402で表される。
更に,サーバの全回線のスループット性能の合計値をB(Mbps)とすると,全回線が必要とする再生高速化用スループット性能の合計値Bhは、全回線のスループット性能の合計値Bと、通常配信時の送信帯域の合計値n・blの差に相当する(式2403)。
式2402と式2403を用いると、広帯域送信時の平均送信帯域bh(Mbps)は、式2404で表される。
従って、再生の応答時間(再生開始閾値分のデータを広帯域送信した際の送信時間)T(秒)は、式2405で表される。このように、従来のロードバランサをビデオ配信システムをはじめとするデータ配信システムに使用した場合、全てのサーバにおいて,通常の配信用スループット性能に加えて再生高速化用スループット性能が必要となり,接続するサーバ回線数mが多くなるほど,再生の応答時間Tは増加するという課題が生じる。
本発明のネットワークシステムでの1側面においては、
データ送信先装置宛にデータを送信する第一のサーバ及び第二のサーバと、通信回線を介して前記データ送信先装置、前記第一のサーバ及び前記第二のサーバに接続する通信装置と、を備えるネットワークシステムであって、前記通信装置は、前記第一のサーバ及び前記第二のサーバが有するファイル中のデータの送信を要求する第一のファイル接続要求を前記データ送信先装置から受信する第一の受信部と、前記ファイル中の一部のデータの送信を前記第一のサーバに要求する第二のファイル接続要求、及び前記ファイル中の前記一部のデータに後続するデータの送信を前記第二のサーバに要求する第三のファイル接続要求を、前記第一のファイル接続要求に基づいて生成するファイル接続要求処理部と、前記第二のファイル接続要求を前記第一のサーバに送信し、前記第一のサーバが前記第二のファイル接続要求に基づいて前記一部のデータの送信を終えた後に前記第三のファイル接続要求を前記第二のサーバに送信する第一の送信部と、を備え、前記第一のサーバは、前記通信装置によって送信される前記第二のファイル接続要求を受信する第二の受信部と、前記第二のファイル接続要求に基づいて前記ファイル中の一部のデータを送信する第二の送信部と、を備え、前記第二のサーバは、前記第三のファイル接続要求を受信する第三の受信部と、前記第三のファイル接続要求に基づいて前記ファイル中の前記一部のデータに後続するデータを送信する第三の送信部と、を備える、ことを特徴とするネットワークシステムである。
また、本発明のネットワークシステムでの他の側面においては、データ送信先装置にデータを送信する第一のサーバ及び第二のサーバと、通信回線を介して前記データ送信先装置、前記第一のサーバ及び前記第二のサーバに接続する通信装置と、を備えるネットワークシステムであって、前記通信装置は、前記第一のサーバ及び前記第二のサーバが有するファイル中のデータの送信を要求する第一のファイル接続要求を前記データ送信先装置から受信する第一の受信部と、前記ファイル中の一部のデータの送信を前記第一のサーバに要求する第二のファイル接続要求、及び前記ファイル中の前記一部のデータに後続するデータの送信を前記第二のサーバに要求する第三のファイル接続要求を、前記第一のファイル接続要求に基づいて生成するファイル接続要求処理部と、前記第二のファイル接続要求を前記第一のサーバに送信し、前記第二のファイル接続要求の送信から規定時間経過した時点で前記第三のファイル接続要求を前記第二のサーバに送信する第一の送信部と、を備え、前記第一のサーバは、前記通信装置によって送信される前記第二のファイル接続要求を受信する第二の受信部と、前記第二のファイル接続要求に基づいて前記ファイル中の一部のデータを送信する第二の送信部と、を備え、前記第二のサーバは、前記第三のファイル接続要求を受信する第三の受信部と、前記第三のファイル接続要求に基づいて前記ファイル中の前記一部のデータに後続するデータを送信する第三の送信部と、を備える、ことを特徴とするネットワークシステムである。
一方で、本発明の通信装置での1側面においては、データ送信先装置と、前記データ送信先装置宛にデータを送信する第一のサーバ及び第二のサーバと、に通信回線を介して接続する通信装置であって、前記第一のサーバ及び前記第二のサーバが有するファイル中のデータの送信を要求する第一のファイル接続要求を前記データ送信先装置から受信する第一の受信部と、前記ファイル中の一部のデータの送信を前記第一のサーバに要求する第二のファイル接続要求、及び前記ファイル中の前記一部のデータに後続するデータの送信を前記第二のサーバに要求する第三のファイル接続要求を、前記第一のファイル接続要求に基づいて生成するファイル接続要求処理部と、前記第二のファイル接続要求を前記第一のサーバに送信し、前記第一のサーバが前記第二のファイル接続要求に基づいて前記一部のデータの送信を終えた後に前記第三のファイル接続要求を前記第二のサーバに送信する第一の送信部と、を備えることを特徴とする通信装置である。
また、本発明の通信装置での他の側面においては、データ送信先装置と、前記データ送信先装置宛にデータを送信する第一のサーバ及び第二のサーバと、に通信回線を介して接続する通信装置であって、前記第一のサーバ及び前記第二のサーバが有するファイル中のデータの送信を要求する第一のファイル接続要求を前記データ送信先装置から受信する第一の受信部と、前記ファイル中の一部のデータの送信を前記第一のサーバに要求する第二のファイル接続要求、及び前記ファイル中の前記一部のデータに後続するデータの送信を前記第二のサーバに要求する第三のファイル接続要求を、前記第一のファイル接続要求に基づいて生成するファイル接続要求処理部と、前記第二のファイル接続要求を前記第一のサーバに送信し、前記第二のファイル接続要求の送信から規定時間経過した時点で前記第三のファイル接続要求を前記第二のサーバに送信する第一の送信部と、を備えることを特徴とする通信装置である。
本願において開示されるネットワークシステムの発明のうち、代表的なものによって得られる効果を簡単に説明する。ディスクアレイを使用せずにロードバランシング機能(クライアントからの配信要求を,同一のファイルを蓄積した複数のサーバ間で分散させる機能)と、ファイル分散アクセス機能(クライアントからの配信要求を,配信要求に対応したファイルを格納するサーバに振り分ける機能)によって複数のサーバを直接アレイ化することで、従来の方式で使用するディスクアレイ向けの搭載物(ハードディスクのアレイ化を行う演算回路基板,ファイバチャネル・iSCSI等のインターフェース)が不要となるため,不要搭載物に相当する消費電力や占有スペースが減少し,1W・1Uあたりの性能が向上したデータ配信装置、及びデータ配信システムを提供することができる。
更に、サーバ回線数mに関わらず,再生の応答速度が一定値となり、従来よりも,再生の応答時間がm倍高速化したデータ配信装置、及びデータ配信システムを提供することができる。
なお、広帯域送信時の平均送信帯域をbh(Mbps),通常配信時の送信帯域をbl(Mbps),サーバ回線数をm(本),クライアント数をn(台),1クライアントあたりの再生指示・再生箇所変更の頻度をr(回/秒),データ再生ソフトの受信バッファの再生開始閾値(通常配信時の送信帯域×t秒分で表す)をbl/8・t(Mbyte)とすると,専用サーバの回線が必要とする再生高速化用スループット性能の合計値Bhは,以下のように求められる。
サーバの各回線には、n・r(回/秒)の頻度で再生開始閾値分のデータbl/8・t(Mbyte)の送信が発生するため、平均値にてbl/8・t・8・n・r(Mbps)の再生高速化用スループット性能が必要である。更に、再生開始閾値分のデータを送信する際は、広帯域送信が必要なので、広帯域送信時の平均送信帯域bh(Mbps)分の再生高速化用スループット性能が余分に必要となる。
以上により、専用サーバの回線が必要とする再生高速化用スループット性能の合計値Bh(Mbps)は,図23の式2301で表される。
更に,サーバの全回線のスループット性能の合計値をB(Mbps)とすると,全回線が必要とする再生高速化用スループット性能の合計値Bhは、全回線のスループット性能の合計値Bと、通常配信時の送信帯域の合計値n・blの差に相当する(式2302)。
式2301と式2302を用いると、広帯域送信時の平均送信帯域をbh(Mbps)は、式2303で表される。
再生の応答時間(再生開始閾値分のデータを広帯域送信した際の送信時間)T(秒)は、式2304で表される。サーバ回線数mに関わらず,再生の応答時間Tは一定である。
さらに、本願において開示される通信装置の発明のうち、代表的なものによって得られる効果を簡単に説明する。
本願において開示される通信装置では、ロードバランシング機能(クライアントからの配信要求を,同一のファイルを蓄積した複数のサーバ間で分散させる機能)と、ファイル分散アクセス機能(クライアントからの配信要求を,配信要求に対応したファイルを格納するサーバに振り分ける機能)によって複数のサーバを直接アレイ化することが可能である。よって、従来の方式で使用するディスクアレイ向けの搭載物(ハードディスクのアレイ化を行う演算回路基板,ファイバチャネル・iSCSI等のインターフェース)がデータ配信装置、及びデータ配信システムにおいて不要となるため,本願において開示される通信装置をデータ配信装置、及びデータ配信システムに用いることでデータ配信装置、及びデータ配信システムの不要搭載物に相当する消費電力や占有スペースが減少し,1W・1Uあたりの性能が向上させることができる。
更に、本願において開示される通信装置を用いることにより、サーバ回線数mに関わらず,再生の応答速度が一定値となり、従来よりも,再生の応答時間がm倍高速化したデータ配信装置、及びデータ配信システムを提供することができる。
以下の実施の形態においては便宜上その必要があるときは、複数のセクションまたは実施の形態に分割して説明するが、特に明示した場合を除き、それらは互いに無関係なものではなく、一方は他方の一部または全部の変形例、詳細、補足説明等の関係にある。また、以下の実施の形態において、要素の数等(個数、数値、量、範囲等を含む)に言及する場合、特に明示した場合および原理的に明らかに特定の数に限定される場合等を除き、その特定の数に限定されるものではなく、特定の数以上でも以下でも良い。
さらに、以下の実施の形態において、その構成要素(要素ステップ等も含む)は、特に明示した場合および原理的に明らかに必須であると考えられる場合等を除き、必ずしも必須のものではないことは言うまでもない。同様に、以下の実施の形態において、構成要素等の形状、位置関係等に言及するときは、特に明示した場合および原理的に明らかにそうでないと考えられる場合等を除き、実質的にその形状等に近似または類似するもの等を含むものとする。このことは、上記数値および範囲についても同様である。
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一の部材には原則として同一の符号を付し、その繰り返しの説明は省略する。
以下、本発明の実施の形態を、図面を用いて説明する。
図1は、実施例の情報処理システム101の構成ブロック図である。本情報処理システム101は、VOD配信システム、または広告付きWeb配信システムとしての使用を想定している。
VOD配信システムとして使用する場合は、例えば図6のように、初期データ送信サーバ602−1と、後続データ送信サーバ602−2の2種類のサーバを用意する。クライアントA〜C(603−1〜3)へデータデータを配信する際は、クライアントA〜C(603−1〜3)のデータ再生ソフトが再生を指示した直後に、受信バッファの再生開始閾値分のデータを初期データ送信サーバ602−1から広帯域送信させた後で、後続のデータを後続データ送信サーバ602−2から通常の配信帯域で送信させる。
情報処理システム101は、通信装置100とサーバ102−i(i=1〜4)から構成される。通信装置100とサーバ102は、通信回線105−i(i=1〜4)を通じて接続している。更に、ネットワーク106の回線104を通じて、クライアント103−i(i=1〜4)と通信装置100が接続している。
サーバ102は、図1(b)に示すように、プロセッサ108、メモリ107、大容量記憶部109、送信部111と受信部112からなるネットワークインターフェース110、とを相互接続した装置である。
図2は、通信装置100の構成を示す。
通信装置100は、送受信部240と、スイッチング部201と、サーバアレイ化機能と再生時広帯域送信機能を実装した機能実装部200から構成される。
スイッチング部201は、通信回線202−i(i=1〜8)から送受信部240−iを介しての、もしくは、機能実装部200からのパケットデータを受信し、送受信部240−iを介しての別の通信回線202へとパケットデータの送信や、機能実装部200へのパケットデータの送信を行う。
図29は、通信装置100内部でやりとりされるパケットデータのフォーマットの一例を示す。
パケットデータは、InLine2900と、OutLine2901と、Type2902と、Vlan2903と、SMAC2904と、DMAC2905と、Proto2906と、SIP2907と、DIP2908と、Sport2909と、Dport2910と、TCP Flag2911と、PSEQ2912と、PACK2913と、OtherHeader2914と、各種コマンド2915と、Payload2916と、を含む。更に、本実施例では、SIP2907と、DIP2908と、Sport2909と、Dport2910とをまとめてパケットヘッダ(Packet Header:P.H.)2917と表現する。このP.H.2917はパケットデータの特徴を示す。
ここで、InLine2900は、パケットが入力した回線の識別番号である入力回線番号を格納する。OutLine2901は、パケットを出力する回線の識別番号である出力回線番号を格納する。Type2902は、ネットワーク層のプロトコルを識別するための識別番号を格納する。Vlan2903は、VLANを識別するための番号を格納する。SMAC2904は、データリンク層の送信元アドレスである送信元MACアドレスを格納する。DMAC2905は、宛先アドレスである宛先MACアドレスを格納する。Proto2906は、UDP(User Datagram Protocol)などのトランスポート層のプロトコルを識別するための識別番号を格納する。SIP2907は、送信元アドレス、すなわち、送信側の端末のアドレスである送信元IPアドレスを格納する。DIP2908は、宛先アドレス、すなわち、受信側の端末のアドレスである宛先IPアドレスを格納する。SPORT2909は、TCPの送信元ポートを格納する。DPORT2910は、TCPの宛先ポートを格納する。TCP Flag2911はTCPフラグ番号を格納する。PSEQ2912は、送信シーケンス番号(SEQ番号)を格納する。PACK2913は、受信シーケンス番号(ACK番号)を格納する。OtherHeader2914は、その他のIP/TCPヘッダデータを格納する。各種コマンド2915は、アプリケーション層のコマンドを格納する。Payload2916は、パケットヘッダと各種コマンド以外のデータを格納する。
機能実装部200(図2)は、入出力制御部205と、ARP/IP/TCP処理部204と、TCP/HTTP処理部203と、TCP/IPコネクションテーブル207と、ファイルアクセス要求一時記録テーブル206と、から構成される。
図3には、TCP/IPコネクションテーブルのフォーマットの一例を示す。
エントリ320−i(i=1〜n)は、C−IP301と、D−IP302と、C−PORT303と、D−PORT304と、C−SEQ305と、DC−SEQ306と、C−ID307と、TIME308と、STATE309と、S−IP310と、C−IP311と、S−PORT312と、D−PORT313と、S−SEQ314と、DS−SEQ315と、S−ID316と、NEXT317と、POINTER318と、パケットヘッダ一時保存領域319とを含む。
C−IP301は、クライアントのIPアドレスを記録する。D−IP302は、通信装置100がネットワーク106に向けて公開している固有のIPアドレスを記録する。C−PORT303は、クライアントのTCPポート番号を記録する。D−PORT304は、通信装置100がネットワーク106に向けて公開しているTCPポート番号を記録する。C−SEQ305は、クライアント側ホストのTCPシーケンス番号を記録する。DC−SEQ306は、通信装置100のクライアント側ホスト向けのTCPシーケンス番号を記録する。C−ID307は、通信装置100がクライアント側ホスト向けに送信するIPパケットのID番号を記録する。TIME308は、パケットを受信した最新の時刻を記録する。STATE309は、TCPコネクションの状態を記録する。S−IP310は、サーバのIPアドレスを記録する。C−IP311は、クライアントのIPアドレスを記録する。S−PORT312は、サーバのTCPポート番号を記録する。D−PORT313は、通信装置100がネットワーク106に向けて公開しているTCPポート番号を記録する。S−SEQ314は、サーバ側ホストのTCPシーケンス番号を記録する。DS−SEQ315は、通信装置100のサーバ側ホスト向けのTCPシーケンス番号を記録する。S−ID316は、通信装置100がサーバ側ホスト向けに送信するIPパケットのID番号を記録する。NEXT317は、アドレス生成時に計算するハッシュ値の衝突の有無を記録する。POINTER318は、ファイルアクセス要求一時記録テーブルへのポインタを記録する。
入出力制御部205(図2)は、スイッチング部201からパケット231を受信して、ARP/IP/TCP処理部204へとパケット230を送信する。更に、ARP/IP/TCP処理部204から送られてくるパケット227〜229を受信して、スイッチング部201へとパケット232を出力する。
ARP/IP/TCP処理部204(図2)は、フィルタ部215とARP処理部214とTCP/IPコネクション管理部213とから構成される。 フィルタ部215(図2)は、入出力制御部205からパケット230を受信すると、処理対象パケットか否かを判定する。通信装置100は、クライアント側のネットワーク106に対して、固有のIPアドレスとMACアドレスを公開している。パケット230が、固有のMACアドレスを問い合わせるARP REQUESTパケットの場合、ARP処理部214へとパケット226を送信する。また、パケット230が、固有のIPアドレス宛であり、宛先ポート番号DPort2910が予め定めた特定の番号(例えば80番等)である場合、TCP/IPコネクション管理部213へとパケット225を送信する。
ARP処理部214(図2)は、ARP REQUESTパケット226を受信すると、固有のMACアドレスを記載したARP REPLYパケット228を作成・出力する。
TCP/IPコネクション管理部(図2)は、固有のIPアドレスおよびTCPポート番号宛のTCP/IPパケット225を受信すると、TCP/IPコネクションテーブル207へのアクセスを行い、パケットヘッダP.H.2917に対応するエントリ320の読出し・初期化(224)を実施する。更に、TCP/HTTP処理部から新たなTCP状態218と新たなパケットデータ219を受け取り、新たなTCP状態224をTCP/IPコネクションテーブル207へと書込み(224)、新たなパケットデータ219を入出力制御部205へと出力する(227)。
図4には、TCP/IPコネクションテーブル207へのアクセス時のアドレス生成方法の一例を示す。
初めに、図29記載のパケットヘッダP.H.2917記載の4つのフィールド値(送信元IPアドレスSIP2907、宛先IPアドレスDIp2908、送信元TCPポート番号2909、宛先TCPポート番号2910)を用いたXOR演算を実施する(ステップ401)。 次に、サーバからのパケットか否かを判定する(ステップ402)。サーバからのパケットの場合、パケットヘッダP.H.2917記載の送信元IPアドレスSIP2907と、装置公開IPアドレスとを用いたXOR演算を実施する(ステップ405)。
最後に、ビットシフト演算(ステップ403)と、テーブル先頭アドレスを加算(ステップ404)することで、テーブルアドレス値の生成を行う。
図5には、TCP/IPコネクションテーブル207へのアクセスアルゴリズムの一例を示す。
初めに、図4に示した前記の方法でアドレスを生成して(ステップ502)、TCP/IPコネクションテーブルからエントリを読み出し(ステップ504)、パケットヘッダのTCPフラグ TCP Flag 2911がSYNか否かを判定する(ステップ505)。ステップ505においてTCPフラグ TCP Flag 2911がSYNの場合は(ステップ517)、エントリ記載のSTATE309が‘0’、またはパケットヘッダP.H.2917がエントリ記載のC−IP301およびD−IP302およびC−PORT303およびD−PORT304と一致、またはパケットヘッダP.H.2917がエントリ記載のS−IP310およびC−IP311およびS−PORT312およびD−PORT313と一致、のいずれかを満たすか否かを判定する(ステップ506)。ステップ506において、満たすと判定した場合(ステップ519)、ステップ504で読み出したエントリを初期化し(ステップ511)、エントリ記載の更新時刻TIME308を現在時刻に更新して(ステップ512)、パケットに各種処理を行う(ステップ515)。ステップ506において、満たさないと判定した場合(ステップ520)、ステップ504で読み出したエントリのNEXT317にハッシュ値の衝突を示す‘1’を記入し(ステップ508)、アドレス値をインクリメントした後(ステップ509)、ステップ504に戻り、インクリメントしたアドレス値を用いて、再びエントリを読み出す。ステップ505においてTCPフラグ TCP Flag 2911がSYNでない場合(ステップ518)、パケットヘッダP.H.2917がエントリ記載のC−IP301およびD−IP302およびC−PORT303およびD−PORT304と一致、またはパケットヘッダP.H.2917がエントリ記載のS−IP310およびC−IP311およびS−PORT312およびD−PORT313と一致、のいずれかを満たすか否かを判定する(ステップ507)。ステップ507において、満たすと判定した場合(ステップ522)、ステップ504にて読み出したエントリの更新時刻TIME308を現在時刻に更新して(ステップ512)、パケットに各種処理を行う(ステップ515)。ステップ507において、満たさないと判定した場合(ステップ521)、ステップ504にて読み出したエントリのNEXTが‘1’であるか否かを判定する(ステップ510)。ステップ510において、NEXTが‘1’であると判定した場合(ステップ523)、アドレス値をインクリメントした後(ステップ509)、ステップ504に戻り、インクリメントしたアドレス値を用いて、再びエントリを読み出す。ステップ510において、NEXTが‘1’でないと判定した場合(ステップ524)、パケットを廃棄して終了する(ステップ516)。
以上、図4と図5を用いて説明したTCP/IPコネクションテーブル207へのアクセス方法を用いることで、例えば、図7に示すアクセス方法が実現可能となる。
図7では、図4を用いて生成したアドレス値が、4エントリおきに生成される(701−1〜6)。NEXT=0のときは、そのエントリが初期化され、用いられる。NEXT=1のときは、NEXT=0のエントリが見つかるまで、1エントリずつ後ろにずらして読出し続ける。以上の方式により、テーブルの全エントリが使用可能となり、尚且つ、テーブルのエントリ使用率が高い状態(90%程度)でも、目的のエントリを迅速に検索することが可能となる。
TCP/HTTP処理部203は、図2に示すように、再構成部212と、状態遷移判定部211と、HTTP処理部210と、パケット生成部209と、TCP状態更新部208、とから構成される。
図8には、古くなったエントリを削除(エージング)する方法を示す。テーブル800−1が削除(エージング)前、テーブル800−2が削除(エージング)後を表す。
エントリ記載のNEXT317が‘0’でハッシュ値の衝突が無く、更新時刻TIME308が現在時刻よりも十分古いときに、そのエントリ記載の全ての値‘0’をクリアして、エントリ削除を行う。更に、1つ手前のエントリ記載のNEXT317が‘1’の場合、‘1’を‘0’に変更する。
再構成部212(図2)は、TCP/IPコネクション管理部の更新したTCP状態220を受け取り、TCP状態220に基づいてTCP/HTTP処理部の回路構成を再構成する。動的再構成プロセッサなどを用いる場合に使用される。
状態遷移判定部211(図2)は、TCP/IPコネクション管理部の更新したTCP状態221と、TCP/IPコネクション管理部から送信されるパケットデータ222とに基づいて、TCPの状態遷移を判定する。判定したTCP状態遷移は、TCP状態更新部208と、パケット生成部209と、HTTP処理部210へと送信される(216)。
TCP状態更新部208(図2)は、TCPの状態遷移の判定結果216に基づき、新たなTCP状態を生成し、TCP/IPコネクション管理部213へと出力する(218)。
図9は、状態遷移判定部211とTCP状態更新部208によって、TCP状態がどのように遷移するかを表した図である。図6のVOD配信システムとして使用する場合の遷移を示す。
TCP状態STATE309の初期状態はTCPコネクションが未確立であることを表すClose[値0x00000000]901である。状態Close901において、クライアントからTCP Flag2911がSYNのパケットを受け取ると(917)、TCPコネクションが確立しつつあることを表す状態Half Open[値0x00000001]902へと遷移する。状態Half Open902において、クライアントから、TCP Flag2911がACKであり、PACK2913がTCP/IPコネクションテーブル207のDC−SEQ306と一致するパケットを受け取ると(918)、TCPコネクションが確立したことを表す状態Open[値0x00000100]903へと遷移する。状態Open903において、クライアントからHTTPプロトコルのGETまたはPOSTコマンドを記載したパケットを受信すると(919)、初期データ送信サーバへTCPコネクション接続を開始したことを表す状態Burst Request[値0x00000200]904へと遷移する。状態Burst Request904において、サーバからTCP Flag2911がSYN−ACKであり、PACK2913がTCP/IPコネクションテーブル207のDS−SEQ315と一致するパケットを受け取ると(920)、初期データ送信サーバとのTCPコネクション接続が確立しつつあることを表す状態Burst Half Open[値0x00000800]905へと遷移する。状態Burst Half Open905において、サーバからTCP Flag2911がACKであり、PACK2913がTCP/IPコネクションテーブル207のDS−SEQ315と一致しないパケットを受け取ると(926)、再び、状態Burst Half Open[値0x00000800]905へと遷移する。状態Burst Half Open905において、サーバからTCP Flag2911がACKであり、PACK2913がTCP/IPコネクションテーブル207のDS−SEQ315と一致するパケットを受け取ると(921)、初期データ送信サーバとのTCPコネクション接続が確立したことを表す状態Burst Open[値0x00010000]906へと遷移する(921)。状態Burst Open906において、サーバまたはクライアントからTCP Flag2911がRST/PSH/URG/ACKのパケットを受け取ると(927)、再び、状態Burst Open[値0x00010000]906へと遷移する(927)。状態Burst Open906において、サーバからTCP Flag2911がFINのパケットを受け取ると(922)、FINを受け取ったことを表す状態Burst Open(FIN)[値0x80010000]907経由で、初期データ送信サーバとのTCPコネクション接続が終了しつつあることを表す状態Burst Close Wait[値0x00000002]908となる。状態Burst Close Wait908において、サーバからTCP Flag2911がACKであり、PACK2913がTCP/IPコネクションテーブル207のDS−SEQ315と一致するパケットを受け取ると(923)、後続データ送信サーバとのTCPコネクション接続を開始したことを表す状態Static Request[値0x00000400]909へと遷移する。状態Static Request909において、サーバからTCP Flag2911がSYN−ACKであり、PACK2913がTCP/IPコネクションテーブル207のDS−SEQ315と一致するパケットを受け取ると(924)、後続データ送信サーバとのTCPコネクション接続が確立しつつあることを表す状態Static Half Open[値0x00001000]910へと遷移する。状態Static Half Open910において、サーバからTCP Flag2911がACKであり、PACK2913がTCP/IPコネクションテーブル207のDS−SEQ315と一致しないパケットを受け取ると(928)、再び、状態Static Half Open910へと遷移する。状態Static Half Open910において、サーバからTCP Flag2911がACKであり、PACK2913がTCP/IPコネクションテーブル207のDS−SEQ315と一致するパケットを受け取ると(925)、後続データ送信サーバとのTCPコネクション接続が確立したことを表す状態Static Open[値0x00020000]911へと遷移する(925)。状態Static Open911において、サーバまたはクライアントからTCP Flag2911がRST/PSH/URG/ACKのパケットを受け取ると(929)、再び、状態Static Open911へと遷移する(929)。Half Open以降の状態において、クライアントからTCP Flag2911がFIN−ACKであり、PACK2913がTCP/IPコネクションテーブル207のDC−SEQ306と一致するパケットを受け取ると(931)、FINを受け取ったことを表す状態FIN Recv.[値0x8−−−−−−−(−は任意値)]913経由で、TCPコネクション接続の終了を開始したことを表す状態Close Wait[値0x0000000C]914となる。状態Burst Request以降の状態において、サーバからTCP Flag2911がFIN−ACKであり、PACK2913がTCP/IPコネクションテーブル207のDS−SEQ315と一致するパケットを受け取ると(930)、FINを受け取ったことを表す状態FIN Recv.[値0x8−−−−−−−(−は任意値)]912経由で、TCPコネクション接続の終了を開始したことを表す状態Close Wait[値0x0000000C]914となる。状態Close Wait914の状態において、サーバからTCP Flag2911がFIN−ACK/ACKであり、PACK2913がTCP/IPコネクションテーブル207のDS−SEQ315と一致するパケットを受け取ると(933)、TCPコネクション接続が終了しつつあることを表す状態Client Close Wait[値0x00000004]915へと遷移する。状態Close Wait914の状態において、クライアントからTCP Flag2911がFIN−ACK/ACKであり、PACK2913がTCP/IPコネクションテーブル207のDC−SEQ306と一致するパケットを受け取ると(932)、TCPコネクション接続が終了しつつあることを表す状態Server Close Wait[値0x00000008]916へと遷移する。状態Client Close Wait915において、クライアントからTCP Flag2911がFIN−ACK/ACKであり、PACK2913がTCP/IPコネクションテーブル207のDC−SEQ306と一致するパケットを受け取ると(935)、状態Close901へと遷移する。状態Server Close Wait916において、サーバからTCP Flag2911がFIN−ACK/ACKであり、PACK2913がTCP/IPコネクションテーブル207のDS−SEQ315と一致するパケットを受け取ると(934)、状態Close901へと遷移する。
以上記載したように、状態遷移判定部211とTCP状態更新部208において、TCP状態が遷移する。本状態遷移により、クライアントの再生指示後に、専用サーバと装置100との間にTCPコネクションが確立し、専用サーバから受信バッファの再生開始閾値分のデータが広帯域送信され、その後で、通常サーバと装置100との間にTCPコネクションが切り換えられ、通常サーバから後続データを通常の配信帯域で送信することが可能となる。これにより、全サーバが再生高速化用のスループット性能を設けなくても良いようになる。
HTTP処理部210(図2)は、TCP/IPコネクション管理部213から受け取ったパケットデータ222と、TCPの状態遷移の判定結果216とに基づき、パケット記載のHTTPコマンドの解析、またはHTTPコマンドのファイルアクセス要求一時記録テーブルへの記録(223)、またはHTTPコマンドのファイルアクセス要求一時記録テーブルからの読出し(223)、を行う。解析結果や、読み出したファイルアクセス要求は、パケット生成部209へと出力される(217)。
パケット生成部209(図2)は、HTTP処理部210の出力した解析結果やファイルアクセス要求と、状態遷移判定部211の出力した状態遷移の判定結果216と、に基づいて、新たなパケットを生成し、TCP/IPコネクション管理部213へと出力する(219)。更に、生成したパケットのヘッダ部分をTCP状態更新部208へと出力する(233)。
図10は、HTTP処理部210とパケット生成部209によって、どのようなパケットが通信装置100とサーバ602とクライアント603の間でやりとりされるかを表した図である。図6のVOD配信システムにおける場合を示す。
クライアント603は、TCP Flag2911がSYN、PSEQ2912がA、PACK2913が‘0’のパケット1004を、通信装置100へと送信する。通信装置100は、パケット1004を受け取ると、TCP/IPコネクションテーブル207のTCP状態STATEをHalf Openに、C−SEQ305をA+1に、DC−SEQ306をB(ランダム値)+1に変更して、TCP Flag2911がSYN−ACK、PSEQ2912がB、PACK2913がA+1のパケット1005を、クライアント603に返信する。クライアント603は、パケット1005を受け取ると、TCP Flag2911がACK、PSEQ2912がA+1、PACK2913がB+1のパケット1006を、通信装置100へと送信する。通信装置100は、パケット1006を受け取ると、TCP/IPコネクションテーブル207のTCP状態STATEをOpenに変更する。以上により、クライアント603と通信装置100の間でTCPコネクションが確立する。
クライアント603は、パケット1006の送信後に、TCP Flag2911がPSH−ACK、PSEQ2912がA+1、PACK2913がB+1であり、HTTPプロトコルのコマンドとしてGETが記載されたパケット1007を、通信装置100へと送信する。通信装置100は、パケット1007を受け取ると、TCP/IPコネクションテーブル207のTCP状態STATEをBurst Requestに、C−SEQ305をA+1+G(パケット1007のペイロード長)に、S−SEQ314を‘0’に、DS−SEQ315をC(ランダム値)+1に変更して、TCP Flag2911がSYN、PSEQ2912がC、PACK2913が‘0’のパケット1008を、初期データ送信サーバ602−1へと送信する。更に、パケット1007が含むペイロードデータをファイルアクセス要求一時記録テーブル206に記録し、記録した先頭アドレスをTCP/IPコネクションテーブル207のPOINTER318に記載する。初期データ送信サーバ602−1は、パケット1008を受け取ると、TCP Flag2911がSYN−ACK、PSEQ2912がD(ランダム値)、PACK2913がC+1のパケット1009を送信する。通信装置100は、パケット1009を受け取ると、TCP/IPコネクションテーブル207のTCP状態STATEをBurst Half Openに、S−SEQ314をD+1に、DS−SEQ315をC+1+G(パケット1007のペイロード長)に変更して、TCP Flag2911がACK、PSEQ2912がC+1、PACK2913がD+1のパケット1010を、初期データ送信サーバ602−1へと送信する。以上により、通信装置100と初期データ送信サーバ602の間でTCPコネクションが確立する。
通信装置100は、パケット1010の送信後に、TCP/IPコネクションテーブル207記載のPOINTER318を先頭アドレスとしてファイルアクセス要求一時記録テーブル206から読み出したデータ(パケット1007が含むペイロードデータ)をペイロードとして、TCP Flag2911がPSH−ACK、PSEQ2912がC+1、PACK2913がD+1のパケット1011を、初期データ送信サーバ602−1へと送信する。初期データ送信サーバ602−1は、パケット1011を正しく受け取れなかった場合、TCP Flag2911がACK、PSEQ2912がD+1、PACK2913がC+1のパケット1012を送信する。通信装置100は、パケット1012を受け取ると、パケット1011と同じパケット1013を、初期データ送信サーバ602−1へと送信する。初期データ送信サーバ602−1は、パケット1011またはパケット1013を正しく受け取ると、TCP Flag2911がACK、PSEQ2912がD+1、PACK2913がC+1+G(パケット1007,1011,1013のペイロード長)のパケット1014を送信する。通信装置100は、パケット1014を受け取ると、TCP/IPコネクションテーブル207のTCP状態STATEをBurst Openにして、PSEQ2912をB+1、PACK2913をA+1+Gに付け替えたパケット1015を、クライアント603に送信する。以上により、初期データ送信サーバ602が、クライアント603に向けてデータを広帯域送信する準備が整う。
初期データ送信サーバ602−1は、パケット1014の送信後、受信バッファの再生開始閾値に相当するデータの送信を開始する。データ(長さL)をペイロードとして含み、TCP Flag2911がACK、PSEQ2912がD+1、PACK2913がC+1+Gのパケット1016を送信する。通信装置100は、パケット1016を受け取ると、TCP/IPコネクションテーブル207のS−SEQ314をD+1+Lに、DC−SEQ306をB+1+Lに変更して、TCP Flag2911がACK、PSEQ2912がB+1、PACK2913がA+1+Gのパケット1017をクライアント603に向けて送信する。クライアント603は、パケット1017を受け取ると、TCP Flag2911がACK、PSEQ2912がA+1+G、PACK2913がB+1+Lのパケット1019を、通信装置100に向けて送信する。通信装置100は、パケット1019を受け取ると、PSEQ2912をC+1+G、PACK2913をD+1+Lに変更したパケット1018を初期データ送信サーバ602−1に向けて送信する。以降、初期データ送信サーバ602−1からクライアント603に受信バッファの再生開始閾値に相当するデータが送信され続ける。最後に、初期データ送信サーバ602−1は、TCP Flag2911がACK、PSEQ2912がD+1+(n−1)L、PACK2913がC+1+Gのパケット1020を通信装置100に向けて送信する。通信装置100は、パケット1020を受け取ると、TCP/IPコネクションテーブル207のS−SEQ314をD+1+nLに、DC−SEQ306をB+1+nLに変更して、PSEQ2912をB+1+(n−1)L、PACK2913をA+1+Gに変更したパケット1021を、クライアント603に向けて送信する。クライアント603は、パケット1021を受け取ると、TCP Flag2911がACK、PSEQ2912がA+1+G、PACK2913がB+1+nLのパケット1023を、通信装置100に向けて送信する。通信装置100は、パケット1023を受け取ると、PSEQ2912をC+1+G、PACK2913をD+1+nLに変更したパケット1022を初期データ送信サーバ602−1に向けて送信する。以上により、受信バッファの再生開始閾値に相当するデータの送信が完了する。
初期データ送信サーバ602−1は、パケット1022を受け取ると、TCPコネクションの切断を要求するために、TCP Flag2911がFIN−ACK、PSEQ2912がD+1+nL、PACK2913がC+1+Gのパケット1024を通信装置100に向けて送信する。通信装置100は、パケット1024を受け取ると、TCP/IPコネクションテーブル207のTCP状態STATEをBurst FIN Receive経由でBurst Close Waitにして、S−SEQ314をD+2+nLに、DS−SEQ315をC+2+Gに変更して、TCP Flag2911がFIN−ACK、PSEQ2912がC+1+G、PACK2913がD+2+nLのパケット1025を初期データ送信サーバ602−1に向けて送信する。初期データ送信サーバ602−1は、パケット1025を受け取ると、TCP Flag2911がACK、PSEQ2912がD+2+nL、PACK2913がC+2+Gのパケット1026を通信装置100に向けて送信する。以上により、通信装置100と初期データ送信サーバ602−1との間のTCPコネクションが切断する。
通信装置100は、パケット1026を受け取ると、TCP/IPコネクションテーブル207のTCP状態STATEをStatic Requestにして、S−SEQ314を‘0’に、DS−SEQ315をE(ランダム値)+1に変更して、後続データ送信サーバ602−2とのTCPコネクションを確立するために、TCP Flag2911がSYN、PSEQ2912がE、PACK2913が‘0’のパケット1027を後続データ送信サーバ602−2に向けて送信する。後続データ送信サーバ602−2は、パケット1027を受け取ると、TCP Flag2911がSYN−ACK、PSEQ2912がF(ランダム値)、PACK2913がE+1のパケット1028を送信する。通信装置100は、パケット1028を受け取ると、TCP/IPコネクションテーブル207のTCP状態STATEをStatic Half Openに、S−SEQ314をF+1に、DS−SEQ315をE+1+G(パケット1007のペイロード長)に変更して、TCP Flag2911がACK、PSEQ2912がE+1、PACK2913がF+1のパケット1029を、後続データ送信サーバ602−2へと送信する。以上により、通信装置100と後続データ送信サーバ602−2の間でTCPコネクションが確立する。
通信装置100は、パケット1029の送信後、TCP/IPコネクションテーブル207記載のPOINTER318を先頭アドレスとしてファイルアクセス要求一時記録テーブル206から読み出したデータ(パケット1007が含むペイロードデータ)をペイロードとして、TCP Flag2911がPSH−ACK、PSEQ2912がE+1、PACK2913がF+1のパケット1030を、後続データ送信サーバ602−2へと送信する。後続データ送信サーバ602−2は、パケット1030を正しく受け取れなかった場合、TCP Flag2911がACK、PSEQ2912がF+1、PACK2913がE+1のパケット1031を送信する。通信装置100は、パケット1031を受け取ると、パケット1030と同じパケット1032を、後続データ送信サーバ602−2へと送信する。後続データ送信サーバ602−2は、パケット1030またはパケット1032を正しく受け取ると、TCP Flag2911がACK、PSEQ2912がF+1、PACK2913がE+1+Gのパケット1033を送信する。通信装置100は、パケット1033を受け取ると、TCP/IPコネクションテーブル207のTCP状態STATEをStatic Openにして、PSEQ2912をB+1+nL、PACK2913をA+1+Gに付け替えたパケット1034を、クライアント603に送信する。以上により、後続データ送信サーバ602−2が、クライアント603に向けてデータを通常の配信帯域で送信する準備が整う。
後続データ送信サーバ602−2は、パケット1033の送信後、初期データ送信サーバ602−1の送信済みデータに後続するデータの送信を開始する。データ(長さL)をペイロードとして含み、TCP Flag2911がACK、PSEQ2912がF+1、PACK2913がE+1+Gのパケット1035を送信する。通信装置100は、パケット1035を受け取ると、TCP/IPコネクションテーブル207のS−SEQ314をF+1+Lに、DC−SEQ306をB+1+(n+1)Lに変更して、TCP Flag2911がACK、PSEQ2912がB+1+nL、PACK2913がA+1+Gのパケット1036をクライアント603に向けて送信する。クライアント603は、パケット1036を受け取ると、TCP Flag2911がACK、PSEQ2912がA+1+G、PACK2913がB+1+(n+1)Lのパケット1038を、通信装置100に向けて送信する。通信装置100は、パケット1038を受け取ると、PSEQ2912をE+1+G、PACK2913をF+1+Lに変更したパケット1037を後続データ送信サーバ602−2に向けて送信する。以降、後続データ送信サーバ602−2からクライアント603にデータが送信され続ける。最後に、後続データ送信サーバ602−2は、TCP Flag2911がACK、PSEQ2912がF+1+(m−1)L、PACK2913がE+1+Gのパケット1039を通信装置100に向けて送信する。通信装置100は、パケット1039を受け取ると、TCP/IPコネクションテーブル207のS−SEQ314をF+1+mLに、DC−SEQ306をB+1+(m+n)Lに変更して、PSEQ2912をB+1+(m+n−1)L、PACK2913をA+1+Gに変更したパケット1040を、クライアント603に向けて送信する。クライアント603は、パケット1040を受け取ると、TCP Flag2911がACK、PSEQ2912がA+1+G、PACK2913がB+1+(m+n)Lのパケット1041を、通信装置100に向けて送信する。通信装置100は、パケット1041を受け取ると、PSEQ2912をE+1+G、PACK2913をF+1+mLに変更したパケット1042を後続データ送信サーバ602−2に向けて送信する。以上により、データの送信が完了する。
最後に、クライアント603は、TCP Flag2911がFIN−ACK、PSEQ2912がA+1+G、PACK2913がB+1+(m+n)Lのパケット1043を、通信装置100に向けて送信する。通信装置100は、TCP/IPコネクションテーブル207のDS−SEQ315をE+2+Gに、DC−SEQ306をB+2+(m+n)Lに、C−SEQ305をA+2+Gに変更して、TCP Flag2911がFIN−ACK、PSEQ2912がB+1+(m+n)L、PACK2913がA+2+Gのパケット1044をクライアント603に向けて送信し、TCP Flag2911がFIN−ACK、PSEQ2912がE+1+G、PACK2913がF+1+mLのパケット1045を、後続データ送信サーバ602−2に向けて送信する。クライアント603は、パケット1044を受け取ると、TCP Flag2911がACK、PSEQ2912がA+2+G、PACK2913がB+2+(m+n)Lのパケット1046を通信装置100に向けて送信する。後続データ送信サーバ602−2は、パケット1045を受け取ると、TCP Flag2911がFIN−ACK、PSEQ2912がF+1+mL、PACK2913がE+2+Gのパケット1047を、通信装置100に向けて送信する。通信装置100は、パケット1047を受け取ると、TCP/IPコネクションテーブル207のS−SEQ314をF+2+mLに変更して、PSEQ2912をE+2+G、PACK2913をF+2+mLに変更したパケット1048を後続データ送信サーバ602−2に向けて送信する。以上により、クライアント603と通信装置100の間のTCPコネクション、および通信装置100と後続データ送信サーバ602−2の間のTCPコネクションが終了する。
以上記載したように、HTTP処理部210とパケット生成部209によって、通信装置100とサーバ602とクライアント603の間でパケットがやりとりされる。
上記のパケットのやりとりにより、データ再生ソフトが再生を指示した直後に、受信バッファの再生開始閾値分のデータを専用サーバから広帯域送信させた後で、後続のデータを通常サーバから通常の配信帯域で送信させる手段を備えた再生時広帯域送信機能が実現される。
図11には、通信装置100とサーバ602とクライアント603の間でやりとりされるパケットの送信元MACアドレス、送信元IPアドレス、宛先MACアドレス、宛先IPアドレスを示す。
クライアント603と通信装置100の間では、クライアント603のMACアドレスcとIPアドレスC、および通信装置100がクライアント側に公開しているMACアドレスpとIPアドレスPを使って通信が行われる。クライアント603と通信装置100の間でやりとりされるパケットのMACアドレスとIPアドレスは、パケット1101およびパケット1104のようになる。
サーバ602と通信装置100の間では、クライアント603のMACアドレスcとIPアドレスC、およびサーバ602のMACアドレスsとIPアドレスSを使って通信が行われる。サーバ602と通信装置100の間でやりとりされるパケットのMACアドレスとIPアドレスは、パケット1102およびパケット1103のようになる。
なお、通信装置100は、図1に示すように、サーバ602が複数台存在するシステムにおける利用を想定しているため、パケット生成部209において、複数存在するサーバ602のMACアドレスsとIPアドレスSの中から、1つを選択する手段を備える。
図12には、複数存在するサーバ602のIPアドレスの中から一つを選択する手段の一つ目の例を示す。MACアドレスも同様の手段によって選択する。
パケット生成部209は、初期データ送信サーバIPアドレスを記録したメモリ1203を備える。通信装置100が、ファイルを要求するコマンドを含むパケット(図10のパケット1007)を受け取り、初期データ送信サーバへSYNパケット(図10のパケット1008)を送信する時に、要求ファイル名の先頭文字(8ビット)1201を入力アドレスとして、メモリ1203に入力して、出力データを初期データ送信サーバのIPアドレス1204として選択する。
更に、パケット生成部209は、後続データ送信サーバIPアドレスを記録したメモリ1207を備える。通信装置100が、初期データ送信サーバとのTCPコネクションを終了するパケット(例えば図10のパケット1026)を受け取り、後続データ送信サーバへSYNパケット(図10のパケット1027)を送信する時に、ファイルアクセス要求一時記録テーブル206に記録された要求ファイル名の先頭文字(8ビット)1205を入力アドレスとして、メモリ1207に入力して、出力データを後続データ送信サーバのIPアドレス1208として選択する。
図13には、図12に示す手段を用いてサーバのIPアドレスとMACアドレスを選択する際の、サーバへのファイル蓄積方法を示す。
初期データ送信サーバ1300にはファイル名先頭文字A〜Mのファイルを蓄積し、初期データ送信サーバ1301にはファイル名先頭文字N〜Zのファイルを蓄積する。
後続データ送信サーバ1302にはファイル名先頭文字A〜Dのファイルを蓄積し、後続データ送信サーバ1303にはファイル名先頭文字E〜Iのファイルを蓄積し、後続データ送信サーバ1304にはファイル名先頭文字J〜Nのファイルを蓄積し、後続データ送信サーバ1305にはファイル名先頭文字O〜Rのファイルを蓄積し、後続データ送信サーバ1306にはファイル名先頭文字S〜Vのファイルを蓄積し、後続データ送信サーバ1307にはファイル名先頭文字W〜Zのファイルを蓄積する。
なお、図12および図13に関する上記説明では要求ファイル名の先頭文字(8ビット)1201を入力アドレスとして用いたが、メモリ1203への入力アドレスとして要求ファイル名の他の文字や要求ファイルのディレクトリパスを表す文字列を用いることも可能である。
図14には、複数存在するサーバ602のIPアドレスの中から一つを選択する手段の二つ目の例を示す。MACアドレスも同様の手段によって選択する。
パケット生成部209は、ハッシュ値生成回路1402と、初期データ送信サーバIPアドレスを記録したメモリ1403を備える。通信装置100が、ファイルを要求するコマンドを含むパケット(図10のパケット1007)を受け取り、初期データ送信サーバへSYNパケット(図10のパケット1008)を送信する時に、要求ファイルの名前、またはディレクトリパス、またはその一部を表す文字列1401を、ハッシュ値生成回路1402へ入力する。更に、ハッシュ値生成回路1402の出力ハッシュ値をメモリ1403に入力して、出力データを初期データ送信サーバのIPアドレス1404として選択する。
更に、パケット生成部209は、ハッシュ値生成回路1406と、後続データ送信サーバIPアドレスを記録したメモリ1407を備える。通信装置100が、初期データ送信サーバとのTCPコネクションを終了するパケット(例えば図10のパケット1026)を受け取り、後続データ送信サーバへSYNパケット(図10のパケット1027)を送信する時に、要求ファイルの名前、またはディレクトリパス、またはその一部を表す文字列1405を、ハッシュ値生成回路1406へ入力する。更に、ハッシュ値生成回路1406の出力ハッシュ値をメモリ1407に入力して、出力データを後続データ送信サーバのIPアドレス1408として選択する。
図15には、図14に示す手段を用いてサーバのIPアドレスとMACアドレスを選択する際の、サーバへのファイル蓄積方法を示す。
初期データ送信サーバ1500には、図14に示す手段を用いてハッシュ値0または1となるファイルを蓄積し、初期データ送信サーバ1501には、図14に示す手段を用いてハッシュ値2または3となるファイルを蓄積する。
後続データ送信サーバ1502には、図14に示す手段を用いてハッシュ値0となるファイルを蓄積し、後続データ送信サーバ1503には、図14に示す手段を用いてハッシュ値1となるファイルを蓄積し、後続データ送信サーバ1504には、図14に示す手段を用いてハッシュ値2となるファイルを蓄積し、後続データ送信サーバ1505には、図14に示す手段を用いてハッシュ値3となるファイルを蓄積する。
図16には、複数存在するサーバ602のIPアドレスの中から一つを選択する手段の三つ目の例を示す。MACアドレスも同様の手段によって選択する。
パケット生成部209は、初期データ送信サーバIPアドレスを記録したメモリ1603を備える。通信装置100が、ファイルを要求するコマンドを含むパケット(図10のパケット1007)を受け取り、初期データ送信サーバへSYNパケット(図10のパケット1008)を送信する時に、クライアントIPアドレスの下位8ビット1601を入力アドレスとして、メモリ1603に入力して、出力データを初期データ送信サーバのIPアドレス1604として選択する。
更に、パケット生成部209は、後続データ送信サーバIPアドレスを記録したメモリ1607を備える。通信装置100が、初期データ送信サーバとのTCPコネクションを終了するパケット(例えば図10のパケット1026)を受け取り、後続データ送信サーバへSYNパケット(図10のパケット1027)を送信する時に、クライアントIPアドレスの下位8ビット1605を入力アドレスとして、メモリ1607に入力して、出力データを後続データ送信サーバのIPアドレス1608として選択する。
なお、クライアントIPアドレスを用いても、図14及び図15に関して説明した手段と同様のIPアドレスの選択手段が可能である。クライアントIPアドレス、またはその一部を、ハッシュ値生成回路1402へ入力し、ハッシュ値生成回路の出力ハッシュ値を初期データ送信サーバIPアドレスが記録されたメモリ1403に入力して、出力データを初期データ送信サーバのIPアドレスとして選択する。更に、クライアントIPアドレス、またはその一部を、ハッシュ値生成回路1402へ入力し、ハッシュ値生成回路の出力ハッシュ値を後続データ送信サーバIPアドレスが記録されたメモリ1407に入力して、出力データを後続データ送信サーバのIPアドレスとして選択する。
図17には、複数存在するサーバ602のIPアドレスの中から一つを選択する手段の四つ目の例を示す。MACアドレスも同様の手段によって選択する。
パケット生成部209は、初期データ送信サーバIPアドレスとそのサーバへのTCPコネクション接続数を記録したエントリn個から成るサーバ負荷テーブル1701と、隣り合うエントリのTCPコネクション接続数を比較して、小さい方のエントリを抽出する作業を繰り返し行うことで、TCPコネクション接続数が最小のエントリを抽出するためのヒープ回路1702を備える。ファイルを要求するコマンドを含むパケット(図10のパケット1007)を受け取り、初期データ送信サーバへSYNパケット(図10のパケット1008)を送信する時に、ヒープ回路1702から、TCPコネクション接続数が最小のエントリを抽出し、エントリ記載のIPアドレスを、初期データ送信サーバのIPアドレスとして選択する。抽出後は、エントリ記載のTCPコネクション接続数をインクリメントし、ヒープ回路を更新する(1703)。
更に、パケット生成部209は、後続データ送信サーバIPアドレスとそのサーバへのTCPコネクション接続数を記録したエントリn個から成るサーバ負荷テーブル1704と、隣り合うエントリのTCPコネクション接続数を比較して、小さい方のエントリを抽出する作業を繰り返し行うことで、TCPコネクション接続数が最小のエントリを抽出するためのヒープ回路1705を備える。ファイルを要求するコマンドを含むパケット(図10のパケット1026)を受け取り、初期データ送信サーバへSYNパケット(図10のパケット1027)を送信する時に、ヒープ回路1705から、TCPコネクション接続数が最小のエントリを抽出し、エントリ記載のIPアドレスを、後続データ送信サーバのIPアドレスとして選択する。抽出後は、エントリ記載のTCPコネクション接続数をインクリメントし、ヒープ回路を更新する(1706)。
図18には、図16または図17に示す手段を用いてサーバのIPアドレスとMACアドレスを選択する際の、サーバへのファイル蓄積方法を示す。
初期データ送信サーバ1800−1,2と後続データ送信サーバ1800−3,4の全てのサーバが同一のファイルを蓄積している。
複数存在するサーバ602のIPアドレスの中から一つを選択する手段の五つ目の例として、コマンドの内容に応じて、アクセス先のサーバを選択する方法も考えられる。この方法は、例えば図19のように、初期データ送信サーバ1902と早送り時データ送信サーバ1903を備えたシステムと共に用いられる。
通信装置100が、ファイルを要求するコマンドを含むパケット(図10のパケット1007)を受け取り、初期データ送信サーバへSYNパケット(図10のパケット1008)を送信する時に、コマンドの内容が通常のファイルアクセス要求の場合に、初期データ送信サーバ1902のIPアドレスを選択し、コマンドの内容がダイジェストデータ要求の場合に、早送りデータ送信サーバ1903のIPアドレスを選択する。
以上、図12および図14に示すサーバ選択方式および図13および図15に示すファイル蓄積方式を用いることで、ファイル分散アクセス機能(クライアントからの配信要求を,配信要求に対応したファイルを格納するサーバに振り分ける機能)が実現される。また、図16および図17に示すサーバ選択方式および図18に示すファイル蓄積方式を用いることで、ロードバランシング機能(クライアントからの配信要求を,同一のファイルを蓄積した複数のサーバ間で分散させる機能)が実現される。
これにより、ロードバランシング機能(クライアントからの配信要求を,同一のファイルを蓄積した複数のサーバ間で分散させる機能)と、ファイル分散アクセス機能(クライアントからの配信要求を,配信要求に対応したファイルを格納するサーバに振り分ける機能)と、から構成されるサーバアレイ化機能を搭載し、サーバのリソース(CPU,I/O,ストレージ)を1つに統合する手段を備える通信装置、および前記通信装置と複数のサーバとから構成されるVOD配信システムを提供可能となる。
図20には、1コネクションあたりの送信帯域をサーバ毎に定める拡張を行ったシステムの一例を示す。サーバ2000,2001,2002,2003の1コネクションあたりの送信帯域をBn(n=1〜4)に定めている。本システムを用いることで、ファイルの種類に応じて、送信帯域を変更することが可能になる。
図21には、通信装置に接続しているサーバの種類に応じて、通信装置側がバッファ量の割当量を変化させたり、優先転送制御を行ったりする拡張を行ったシステムの一例を示す。通信装置2101は、初期データ送信サーバの送信するパケットを優先的にバッファに蓄積するバッファ量優先割り当て機能と、初期データ送信サーバの送信するパケットを優先的に転送する優先転送機能を備えている。本システムを用いることで、ファイルアクセス要求直後の通信品質が向上する。
図22には、TCPではなくUDPを用いる拡張を行ったシステムの一例を示す。通信装置2201は、クライアントからファイルアクセス要求を受け取ったときに、初期データ送信サーバ2202にファイルアクセス要求を送信して、規定時間(受信バッファの再生開始閾値分のデータサイズを、後続データ送信サーバの通常の配信帯域で除算した値を用いて規定した時間)待機してから、後続データ送信サーバ2203にファイルアクセス要求を送信する。初期データ送信サーバ2202は、要求2218を受け取ると直ちに受信バッファ分のデータ配信を行う。後続データ送信サーバ2203は、要求2219を受け取ると後続データの配信を行う。本システムを用いることで、UDPを用いたデータ配信が可能となる。
UDPを用いた場合のシーケンス図を図30に示す。
データの送信を開始するまでは、TCPを用いて、通信コネクションを確立する(パケット1004〜1015)。通信初期データ送信サーバとの通信コネクションが確立すると、初期データ送信サーバから、UDPを用いて初期データが送信される(パケット3016〜3023)。初期データの送信が終了すると、TCPを用いて、初期データ送信サーバとの通信コネクションが閉じられ、新たに、後続データ送信サーバとの通信コネクションが確立する(パケット1024〜1034)。後続データ送信サーバとの通信コネクションが確立すると、後続データ送信サーバから、UDPを用いて後続データが送信される(パケット3035〜3042)。後続データの送信が終了すると、TCPを用いて、後続データ送信サーバとの通信コネクションが閉じられる(パケット1043〜1048)。
本発明の実施例のデータ配信システムの説明図。 本発明の実施例の通信装置の構成ブロック図。 本発明の実施例の通信装置が搭載するTCP/IPコネクションテーブルのフォーマット図。 本発明の実施例の通信装置が搭載するTCP/IPコネクションテーブルへのアクセス用アドレス生成方法を示したフローチャート図。 本発明の実施例の通信装置が搭載するTCP/IPコネクションテーブルのアクセス方法を示したフローチャート図。 本発明の実施例の初期データ送信サーバと後続データ送信サーバを備えるデータ配信システムの説明図。 本発明の実施例におけるTCP/IPコネクションテーブルのハッシュ値衝突時の検索方法を示す説明図。 本発明の実施例におけるTCP/IPコネクションテーブルのエージング方法を示す説明図。 本発明の実施例におけるTCP状態遷移を示す説明図。 本発明の実施例における通信装置とクライアントとサーバの間でやりとりされるパケットの説明図。 本発明の実施例における通信装置とクライアントとサーバの間でやりとりされるパケットヘッダの説明図。 本発明の実施例におけるサーバのIPアドレスの選択方法の一例の説明図。 本発明の実施例におけるサーバのファイル蓄積方法の一例の説明図。 本発明の実施例におけるサーバのIPアドレスの選択方法の一例の説明図。 本発明の実施例におけるサーバのファイル蓄積方法の一例の説明図。 本発明の実施例におけるサーバのIPアドレスの選択方法の一例の説明図。 本発明の実施例におけるサーバのIPアドレスの選択方法の一例の説明図。 本発明の実施例におけるサーバのファイル蓄積方法の一例の説明図。 本発明の実施例におけるデータ配信システムの拡張例の説明図。 本発明の実施例におけるサーバの送信帯域の説明図。 本発明の実施例における通信装置の拡張例の説明図。 本発明の実施例におけるデータ配信システムの拡張例の説明図。 従来のビデオデータ配信システムにおける再生の応答時間の説明式。 本発明の実施例におけるデータ配信システムにおける再生の応答時間の説明式。 従来のデータ配信システムの一例の説明図。 データ配信サーバのデータ送信帯域の説明図。 データ配信サーバのデータ送信帯域と、クライアントの搭載するデータ再生ソフトの説明図。 従来のデータ配信システムの一例の説明図。 本発明の実施例におけるパケットデータのフォーマット図。 本発明の実施例におけるUDPを用いた場合のシーケンス図。
符号の説明
101…データ配信システム、104〜106…ネットワーク、202…通信回線、225〜232…パケットデータ、218…TCP状態、220…TCP状態、221…TCP状態、219…パケットデータ、222…パケットデータ、1906〜1913…通信回線、2106〜2113…通信回線、2204〜2205…通信回線、2210〜2213…通信回線、2218〜2219…ファイルアクセス要求、2703…サーバの送信するパケット、2805−1〜4…ディスクアレイ用回線、2806−1〜4…通信回線、2807−1〜4…通信回線。

Claims (16)

  1. データ送信先装置宛にデータを送信する第一のサーバ及び第二のサーバと、通信回線を介して前記データ送信先装置、前記第一のサーバ及び前記第二のサーバに接続する通信装置と、を備えるネットワークシステムであって、
    前記通信装置は、
    前記第一のサーバ及び前記第二のサーバが有するファイル中のデータの送信を要求する第一のファイル接続要求を前記データ送信先装置から受信する第一の受信部と、
    前記ファイル中の一部のデータの送信を前記第一のサーバに要求する第二のファイル接続要求、及び前記ファイル中の前記一部のデータに後続するデータの送信を前記第二のサーバに要求する第三のファイル接続要求を、前記第一のファイル接続要求に基づいて生成するファイル接続要求処理部と、
    前記第二のファイル接続要求を前記第一のサーバに送信し、前記第一のサーバが前記第二のファイル接続要求に基づいて前記一部のデータの送信を終えた後に前記第三のファイル接続要求を前記第二のサーバに送信する第一の送信部と、を備え、
    前記第一のサーバは、
    前記通信装置によって送信される前記第二のファイル接続要求を受信する第二の受信部と、前記第二のファイル接続要求に基づいて前記ファイル中の一部のデータを送信する第二の送信部と、を備え、
    前記第二のサーバは、
    前記第三のファイル接続要求を受信する第三の受信部と、前記第三のファイル接続要求に基づいて前記ファイル中の前記一部のデータに後続するデータを送信する第三の送信部と、を備える、
    ことを特徴とするネットワークシステム。
  2. 請求項1に記載のネットワークシステムであって、
    前記第一のサーバが前記第二のサーバよりも広帯域で前記一部のデータを送信することを特徴とするネットワークシステム。
  3. 請求項1に記載のネットワークシステムであって、
    前記通信装置は、前記第一のファイル接続要求のペイロードデータを記憶する情報記憶手段を有することを特徴とするネットワークシステム。
  4. 請求項1に記載のネットワークシステムであって、
    前記一部のデータの容量は既定値であることを特徴とするネットワークシステム。
  5. 請求項1に記載のネットワークシステムであって、
    複数の前記第一のサーバ及び複数の前記第二のサーバを有し、
    前記通信装置は、
    接続している前記データ送信先装置の数が最小の第一のサーバに前記第二のファイル接続要求を送信し、
    接続している前記データ送信先装置の数が最小の第二のサーバに前記第三のファイル接続要求を送信すること、
    を特徴とするネットワークシステム。
  6. 請求項1に記載のネットワークシステムであって、
    複数の前記第一のサーバ及び複数の前記第二のサーバを有し、
    前記通信装置は、
    前記ファイルに関する情報から生成される第一のサーバ識別子もしくは前記ファイルに関する情報に基づいて前記第二のファイル接続要求の送信先となる特定の第一のサーバを決定し、前記ファイルに関する情報から生成される第二のサーバ識別子もしくは前記ファイルに関する情報に基づいて前記第三のファイル接続要求の送信先となる特定の第二のサーバを決定すること、
    を特徴とするネットワークシステム。
  7. 請求項1に記載のネットワークシステムであって、
    複数の前記第一のサーバ及び複数の前記第二のサーバを有し、
    前記通信装置は、
    前記データ送信先装置に関する情報から生成される第一のサーバ識別子もしくは前記データ送信先装置に関する情報に基づいて前記第二のファイル接続要求の送信先となる特定の第一のサーバを決定し、前記データ送信先装置に関する情報から生成される第二のサーバ識別子もしくは前記データ送信先装置に関する情報に基づいて前記第三のファイル接続要求の送信先となる特定の第二のサーバを決定すること、
    を特徴とするネットワークシステム。
  8. データ送信先装置と、前記データ送信先装置宛にデータを送信する第一のサーバ及び第二のサーバと、に通信回線を介して接続する通信装置であって、
    前記第一のサーバ及び前記第二のサーバが有するファイル中のデータの送信を要求する第一のファイル接続要求を前記データ送信先装置から受信する第一の受信部と、
    前記ファイル中の一部のデータの送信を前記第一のサーバに要求する第二のファイル接続要求、及び前記ファイル中の前記一部のデータに後続するデータの送信を前記第二のサーバに要求する第三のファイル接続要求を、前記第一のファイル接続要求に基づいて生成するファイル接続要求処理部と、
    前記第二のファイル接続要求を前記第一のサーバに送信し、前記第一のサーバが前記第二のファイル接続要求に基づいて前記一部のデータの送信を終えた後に前記第三のファイル接続要求を前記第二のサーバに送信する第一の送信部と、
    を備えることを特徴とする通信装置。
  9. 請求項8に記載の通信装置であって、
    前記第二のサーバよりも広い帯域で前記第一のサーバから前記一部のデータを受信すること、
    を特徴とする通信装置。
  10. 請求項8に記載の通信装置であって、
    前記第一のファイル接続要求のペイロードデータを記憶する情報記憶手段を有することを特徴とする通信装置。
  11. 請求項8に記載の通信装置であって、
    前記一部のデータを受信し、前記一部のデータの容量は既定値であること、
    を特徴とする通信装置。
  12. 請求項8に記載の通信装置であって、
    接続している前記データ送信先装置の数が最小の第一のサーバに前記第二のファイル接続要求を送信し、
    接続している前記データ送信先装置の数が最小の第二のサーバに前記第三のファイル接続要求を送信すること、
    を特徴とする通信装置。
  13. 請求項8に記載の通信装置であって、
    前記ファイルに関する情報から生成される第一のサーバ識別子もしくは前記ファイルに関する情報に基づいて前記第二のファイル接続要求の送信先となる特定の第一のサーバを決定し、前記ファイルに関する情報から生成される第二のサーバ識別子もしくは前記ファイルに関する情報に基づいて前記第三のファイル接続要求の送信先となる特定の第二のサーバを決定すること、
    を特徴とする通信装置。
  14. 請求項8に記載の通信装置であって、
    前記データ送信先装置に関する情報から生成される第一のサーバ識別子もしくは前記データ送信先装置に関する情報に基づいて前記第二のファイル接続要求の送信先となる特定の第一のサーバを決定し、前記データ送信先装置に関する情報から生成される第二のサーバ識別子もしくは前記データ送信先装置に関する情報に基づいて前記第三のファイル接続要求の送信先となる特定の第二のサーバを決定すること、
    を特徴とする通信装置。
  15. データ送信先装置にデータを送信する第一のサーバ及び第二のサーバと、通信回線を介して前記データ送信先装置、前記第一のサーバ及び前記第二のサーバに接続する通信装置と、を備えるネットワークシステムであって、
    前記通信装置は、前記第一のサーバ及び前記第二のサーバが有するファイル中のデータの送信を要求する第一のファイル接続要求を前記データ送信先装置から受信する第一の受信部と、
    前記ファイル中の一部のデータの送信を前記第一のサーバに要求する第二のファイル接続要求、及び前記ファイル中の前記一部のデータに後続するデータの送信を前記第二のサーバに要求する第三のファイル接続要求を、前記第一のファイル接続要求に基づいて生成するファイル接続要求処理部と、
    前記第二のファイル接続要求を前記第一のサーバに送信し、前記第二のファイル接続要求の送信から規定時間経過した時点で前記第三のファイル接続要求を前記第二のサーバに送信する第一の送信部と、を備え、
    前記第一のサーバは、
    前記通信装置によって送信される前記第二のファイル接続要求を受信する第二の受信部と、前記第二のファイル接続要求に基づいて前記ファイル中の一部のデータを送信する第二の送信部と、を備え、
    前記第二のサーバは、
    前記第三のファイル接続要求を受信する第三の受信部と、前記第三のファイル接続要求に基づいて前記ファイル中の前記一部のデータに後続するデータを送信する第三の送信部と、を備える、
    ことを特徴とするネットワークシステム。
  16. データ送信先装置と、前記データ送信先装置宛にデータを送信する第一のサーバ及び第二のサーバと、に通信回線を介して接続する通信装置であって、
    前記第一のサーバ及び前記第二のサーバが有するファイル中のデータの送信を要求する第一のファイル接続要求を前記データ送信先装置から受信する第一の受信部と、
    前記ファイル中の一部のデータの送信を前記第一のサーバに要求する第二のファイル接続要求、及び前記ファイル中の前記一部のデータに後続するデータの送信を前記第二のサーバに要求する第三のファイル接続要求を、前記第一のファイル接続要求に基づいて生成するファイル接続要求処理部と、
    前記第二のファイル接続要求を前記第一のサーバに送信し、前記第二のファイル接続要求の送信から規定時間経過した時点で前記第三のファイル接続要求を前記第二のサーバに送信する第一の送信部と、
    を備えることを特徴とする通信装置。
JP2008313876A 2008-12-10 2008-12-10 データ配信用通信装置、及びデータ配信システム Expired - Fee Related JP5470828B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2008313876A JP5470828B2 (ja) 2008-12-10 2008-12-10 データ配信用通信装置、及びデータ配信システム
US12/634,939 US8341244B2 (en) 2008-12-10 2009-12-10 Data distribution communication apparatus and data distribution system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008313876A JP5470828B2 (ja) 2008-12-10 2008-12-10 データ配信用通信装置、及びデータ配信システム

Publications (2)

Publication Number Publication Date
JP2010140124A true JP2010140124A (ja) 2010-06-24
JP5470828B2 JP5470828B2 (ja) 2014-04-16

Family

ID=42232282

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008313876A Expired - Fee Related JP5470828B2 (ja) 2008-12-10 2008-12-10 データ配信用通信装置、及びデータ配信システム

Country Status (2)

Country Link
US (1) US8341244B2 (ja)
JP (1) JP5470828B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011140541A (ja) * 2010-01-06 2011-07-21 Toyobo Co Ltd 易接着性白色ポリエステルフィルム
JP2016208176A (ja) * 2015-04-20 2016-12-08 西日本電信電話株式会社 受信端末及び映像視聴システム

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7725593B2 (en) * 2005-07-15 2010-05-25 Sony Corporation Scalable video coding (SVC) file format
JP5470828B2 (ja) * 2008-12-10 2014-04-16 株式会社日立製作所 データ配信用通信装置、及びデータ配信システム
US9590820B1 (en) 2011-09-02 2017-03-07 Juniper Networks, Inc. Methods and apparatus for improving load balancing in overlay networks
US9621642B2 (en) * 2013-06-17 2017-04-11 Telefonaktiebolaget Lm Ericsson (Publ) Methods of forwarding data packets using transient tables and related load balancers
US10715837B2 (en) * 2015-03-13 2020-07-14 At&T Intellectual Property I, L.P. Determination of a service office of a media content distribution system to record a media content item with a network recorder
US9857865B2 (en) 2015-12-10 2018-01-02 Aspeed Technology Inc. Balancing of servers based on sampled utilization ratio and corresponding power consumption
US10768997B2 (en) 2016-12-05 2020-09-08 International Business Machines Corporation Tail latency-based job offloading in load-balanced groups
US10700978B2 (en) 2016-12-05 2020-06-30 International Business Machines Corporation Offloading at a virtual switch in a load-balanced group
US10334287B2 (en) * 2017-04-17 2019-06-25 Plex, Inc. Digital data streaming using server driven adaptive bitrate
CN109587163B (zh) * 2018-12-27 2022-08-16 网宿科技股份有限公司 一种dr模式下的防护方法和装置
CN109831679B (zh) * 2019-03-12 2021-10-22 北京数码视讯软件技术发展有限公司 一种流媒体回源控制方法、装置和计算机设备

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002057988A (ja) * 2000-08-07 2002-02-22 Toshiba Corp 階層ビデオストレージ装置
JP2002247112A (ja) * 2001-02-20 2002-08-30 Ntt Docomo Inc Tcp中継装置及びシーケンス番号変換方法
JP2002269061A (ja) * 2001-03-08 2002-09-20 Ntt Comware Corp クライアントサーバシステム、中継サーバ、接続先サーバの決定方法
JP2004005669A (ja) * 2003-05-19 2004-01-08 Fujitsu Ltd ネットワークサーバ割当装置
WO2006123747A1 (ja) * 2005-05-18 2006-11-23 Nippon Telegraph And Telephone Corporation 分散型マルチメディアサーバシステムおよびマルチメディア情報配信方法ならびにそのプログラムおよび記録媒体
JP2008131584A (ja) * 2006-11-24 2008-06-05 Hitachi Ltd 情報処理装置及び情報処理システム

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020077082A1 (en) * 2000-12-18 2002-06-20 Nortel Networks Limited Voice message presentation on personal wireless devices
US7475146B2 (en) * 2002-11-28 2009-01-06 International Business Machines Corporation Method and system for accessing internet resources through a proxy using the form-based authentication
JP2004280283A (ja) * 2003-03-13 2004-10-07 Hitachi Ltd 分散ファイルシステム、分散ファイルシステムサーバ及び分散ファイルシステムへのアクセス方法
JP2006195702A (ja) * 2005-01-13 2006-07-27 Hitachi Ltd データ処理システム及び方法
JP2007102452A (ja) * 2005-10-04 2007-04-19 Fujitsu Ltd システム管理プログラムおよびシステム管理方法
US20080019522A1 (en) * 2006-06-21 2008-01-24 Motorola, Inc. Method For Managing A Communication Session in a Communication Network
JP5470828B2 (ja) * 2008-12-10 2014-04-16 株式会社日立製作所 データ配信用通信装置、及びデータ配信システム

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002057988A (ja) * 2000-08-07 2002-02-22 Toshiba Corp 階層ビデオストレージ装置
JP2002247112A (ja) * 2001-02-20 2002-08-30 Ntt Docomo Inc Tcp中継装置及びシーケンス番号変換方法
JP2002269061A (ja) * 2001-03-08 2002-09-20 Ntt Comware Corp クライアントサーバシステム、中継サーバ、接続先サーバの決定方法
JP2004005669A (ja) * 2003-05-19 2004-01-08 Fujitsu Ltd ネットワークサーバ割当装置
WO2006123747A1 (ja) * 2005-05-18 2006-11-23 Nippon Telegraph And Telephone Corporation 分散型マルチメディアサーバシステムおよびマルチメディア情報配信方法ならびにそのプログラムおよび記録媒体
JP2008131584A (ja) * 2006-11-24 2008-06-05 Hitachi Ltd 情報処理装置及び情報処理システム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011140541A (ja) * 2010-01-06 2011-07-21 Toyobo Co Ltd 易接着性白色ポリエステルフィルム
JP2016208176A (ja) * 2015-04-20 2016-12-08 西日本電信電話株式会社 受信端末及び映像視聴システム

Also Published As

Publication number Publication date
JP5470828B2 (ja) 2014-04-16
US8341244B2 (en) 2012-12-25
US20100146082A1 (en) 2010-06-10

Similar Documents

Publication Publication Date Title
JP5470828B2 (ja) データ配信用通信装置、及びデータ配信システム
US8260949B2 (en) Method and system for providing multimedia information on demand over wide area networks
US7890656B2 (en) Transmission system, delivery path controller, load information collecting device, and delivery path controlling method
US7684396B2 (en) Transmission apparatus having a plurality of network interfaces and transmission method using the same
US8059560B2 (en) Tree-type network system, node device, broadcast system, broadcast method, and the like
US8756296B2 (en) Method, device and system for distributing file data
US8121148B2 (en) Protocol stack using shared memory
US9836540B2 (en) System and method for direct storage access in a content-centric network
EP1109373B1 (en) Method and apparatus for forwarding packet fragments
CN101626384B (zh) 一种基于tcp协议传输数据包的方法和系统
JP2009093348A (ja) 情報処理装置、及び情報処理システム
US7818446B2 (en) Controlling data transmission on a data storage network by selecting from multiple transmission modes
EP1806870B1 (en) Method for providing data and data transmission system
CN100414936C (zh) 平衡网络文件系统服务器多网卡间负载的方法
KR102376496B1 (ko) 서비스 스트림 분산 포워딩 시스템 및 그 방법
WO2012034414A1 (zh) 一种处理p2p业务的方法及系统
US7580410B2 (en) Extensible protocol processing system
JP4921142B2 (ja) 通信装置
US11025528B1 (en) Dynamic virtual network function placement for optimal border gateway protocol support
CN112398754B (zh) 数据传输方法、装置、介质、电子设备及网络接入设备
US6728778B1 (en) LAN switch with compressed packet storage
US20040218579A1 (en) Network device and data packet communication method for improving data packet transmission efficiency in a mobile ad hoc network
US7783784B1 (en) Method and apparatus for adaptive selection of algorithms to load and spread traffic on an aggregation of network interface cards
CN112838983A (zh) 数据传输方法、系统、设备、代理服务器及存储介质
JP4340562B2 (ja) 通信の優先制御方法並びに通信の優先制御システム及び通信の優先制御装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20111124

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121029

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121127

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130124

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20130903

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131202

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20131209

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140107

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140120

LAPS Cancellation because of no payment of annual fees