JP2000253054A - Data delivery system and data delivery method - Google Patents

Data delivery system and data delivery method

Info

Publication number
JP2000253054A
JP2000253054A JP4798299A JP4798299A JP2000253054A JP 2000253054 A JP2000253054 A JP 2000253054A JP 4798299 A JP4798299 A JP 4798299A JP 4798299 A JP4798299 A JP 4798299A JP 2000253054 A JP2000253054 A JP 2000253054A
Authority
JP
Japan
Prior art keywords
data
packet
check code
checksum
calculated
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.)
Pending
Application number
JP4798299A
Other languages
Japanese (ja)
Inventor
Akira Yamaya
陽 山家
Shinichi Sugano
伸一 菅野
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP4798299A priority Critical patent/JP2000253054A/en
Publication of JP2000253054A publication Critical patent/JP2000253054A/en
Pending legal-status Critical Current

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide a data delivery system where calculation of a check sum in the case of generating a packet is conducted at a high speed and a packet is generated at a high speed even when a packet transfer unit differs for each occasion of data delivery. SOLUTION: A data delivery method is employed for a data delivery system where a check code is written in each packet when data are assembled into the packet and delivered. In the case of receiving a data delivery request from a client, it is examined whether or not a check code calculated for each packet transfer unit depending on the client is stored in a temporary storage section 22 with respect to the data, and when not stored, the check code for the data for each unit of transferred packets is calculated and stored in the temporary storage section 22, the data are divided to generate packets and the check code to be written to each packet is calculated by utilizing the check code for each packet transfer unit with respect to the data that have already been calculated.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、電子情報を配送す
るデータ配送システム及びデータ配送方法に関する。
The present invention relates to a data delivery system and a data delivery method for delivering electronic information.

【0002】[0002]

【従来の技術】近年、インターネットの爆発的な拡大と
普及に伴い、オープンな環境とその上に構築されるツー
ル群は、企業内の情報システムなどを構築する上で注目
を集めている。近年では、企業内の情報システムなどに
インターネットで培われた手法を適用することをイント
ラネットと呼ぶようになった。イントラネットでは、W
ebを中心とした情報共有システムを構築し、さらにデ
ータベースシステムや既存の基幹系システムに統合しよ
うとする試みが行われている。
2. Description of the Related Art In recent years, with the explosive expansion and spread of the Internet, an open environment and a group of tools built thereon have attracted attention in building an information system in a company. In recent years, applying the technique cultivated on the Internet to information systems in a company has been called an intranet. In the intranet, W
Attempts have been made to build an information sharing system centered on eb, and to integrate it into a database system or existing backbone system.

【0003】さらに、現在注目されている動向として
は、PCを中心としたシステムにかかる管理の複雑さお
よび管理コストの高さの反省として、管理を集中してユ
ーザの端末との役割分担を見直すというネットワークコ
ンピューティングが提案されている。
[0003] Further, as a trend that is currently attracting attention, as a reflection of the complexity of management and the high management cost of systems centered on PCs, the management is concentrated and the role sharing with the user terminal is reviewed. Network computing has been proposed.

【0004】このような状況の中で、イントラネットの
サーバの役割はますます重要度を帯びてきた。現在のサ
ーバは、その高速なCPUパワーに比してサーバとして
の性能は非力で、将来的な要求に対処できないと思われ
る。そこで、大量のデータを高速に送受信し、様々な要
求に対して迅速に応答する能力を持つ高速なWWWサー
バが期待されている。
In such a situation, the role of a server in an intranet has become more and more important. At present, the performance of the server as a server is inferior to the high-speed CPU power, and it seems that it cannot meet future demands. Therefore, a high-speed WWW server capable of transmitting and receiving a large amount of data at high speed and quickly responding to various requests is expected.

【0005】以下、図面を参照しながらWWWサーバを
含む従来のデータ配送システムについて説明する。
A conventional data delivery system including a WWW server will be described below with reference to the drawings.

【0006】データ配送システムにおけるデータ配送で
は、クライアントからのデータ配送要求を受けると、該
クライアントとの間にコネクションを確立し、そして要
求されたデータをパケットとしてネットワークへ配送す
る。ネットワークへ配送されるパケットは、「パケット
ヘッダ」と「パケットデータ」で構成される。パケット
データは、要求されたデータ(コンテンツ)であり、そ
の内容はコネクションに依存しない。一方、パケットヘ
ッダの内容は、コネクション毎に異なる。なお、要求さ
れたデータのサイズが、そのネットワークに送り出すこ
とができる最大セグメントサイズ(以下、MSSと略記
する)よりも大きな場合には、データをMSSで分割し
て、複数のパケットとしてネットワークに配送する。
In the data delivery in the data delivery system, upon receiving a data delivery request from a client, a connection is established with the client, and the requested data is delivered as a packet to the network. A packet delivered to the network is composed of a “packet header” and “packet data”. The packet data is requested data (content), and the content does not depend on the connection. On the other hand, the content of the packet header differs for each connection. If the size of the requested data is larger than the maximum segment size that can be sent to the network (hereinafter abbreviated as MSS), the data is divided by the MSS and delivered to the network as a plurality of packets. I do.

【0007】図12に、パケットの一例としてイーサネ
ットに配送されるパケットを示す。(a)は配送するデ
ータであり、(b)は(a)のデータをMSSで分割し
て搭載したパケットである。各パケットは、イーサネッ
ト(Ethernet)ヘッダ、IPヘッダ、TCPヘ
ッダ、データをMSSで分割したブロックの1つ(もと
のデータの長さとMSSの値との関係で最後のブロック
がMSSに満たない場合もある)、CRCから構成され
る。なお、図12は、一例としてデータリンク層がイー
サネットである場合を例示しているが、データリンク層
がイーサネット以外である場合、該当する部分が変わる
だけである。
FIG. 12 shows a packet delivered to the Ethernet as an example of the packet. (A) is data to be delivered, and (b) is a packet obtained by dividing the data of (a) by the MSS. Each packet is an Ethernet (Ethernet) header, an IP header, a TCP header, and one of the blocks obtained by dividing the data by the MSS (when the last block is less than the MSS due to the relationship between the original data length and the MSS value). ), And a CRC. FIG. 12 illustrates a case where the data link layer is Ethernet as an example. However, when the data link layer is other than Ethernet, only the corresponding part is changed.

【0008】ここで、パケット通信のためのプロトコル
には、そのパケットヘッダ内に、そのパケットに対する
検査符号を書き込むことになっているものがある。例え
ば、TCPプロトコルを用いた場合、TCPヘッダに
は、TCPパケットに対する検査符号が含まれる。図1
2(b)の場合、図12(a)のデータのうち最初のデ
ータ(1)の部分を含むパケットでは、TCPヘッダ
(検査符号自体を記述する領域を除く部分)およびデー
タ(1)の部分を対象とする検査符号が計算され、その
値が当該TCPヘッダの検査符号の領域に記述される。
Here, some protocols for packet communication are designed to write a check code for the packet in the packet header. For example, when the TCP protocol is used, the TCP header includes a check code for the TCP packet. FIG.
In the case of 2 (b), in the packet including the portion of the first data (1) in the data of FIG. 12A, the TCP header (the portion excluding the area where the check code itself is described) and the portion of the data (1) are included. Is calculated, and its value is described in the check code area of the TCP header.

【0009】このような検査符号はチェックサムと呼ば
れる。チェックサムは例えばTCPヘッダとそのデータ
の部分について16ビット毎に“1の補数和”をとった
ものである(この場合、チェックサムは16ビットとな
る)。
[0009] Such a check code is called a checksum. The checksum is, for example, a "1's complement sum" of the TCP header and its data portion for every 16 bits (in this case, the checksum is 16 bits).

【0010】なお、上記についてより詳しく説明する
と、チェックサムの計算では、上記の検査符号自体を記
述する領域(チェックサム領域)に“0”を埋めて計算
を行う。厳密に言えば、チェックサムを計算するには、
疑似ヘッダというものを加える。TCPは疑似ヘッダを
TCPパケットの前に付け加え、もし、全体の長さが1
6ビットの倍数ではないならば、全体の長さが16ビッ
トの倍数になるようにパケットをパディングするために
0だけからなるバイトをその終わりに付けたし、それ全
体のチェックサムを計算する。ただし、パディングに使
われるバイトと、疑似ヘッダはTCPパケットとともに
は送信されない。これらは、チェックサムを計算するた
めだけに使用される。チェックサムを計算するために
は、まず、チェックサム・フィールド(上記の検査符号
自体を記述する領域)の中に“0”を埋め、疑似ヘッ
ダ、TCPヘッダ、データを含む全体の16ビットの1
の補数和を計算する。
To describe the above in more detail, in the calculation of the checksum, the calculation is performed by filling "0" in the area (checksum area) describing the check code itself. Strictly speaking, to calculate the checksum,
Add a pseudo-header. TCP adds a pseudo-header before the TCP packet and if the total length is 1
If it is not a multiple of 6 bits, a byte consisting of only zeros is appended to its end to pad the packet so that the overall length is a multiple of 16 bits, and the entire checksum is calculated. However, the bytes used for padding and the pseudo header are not transmitted together with the TCP packet. These are used only to calculate the checksum. In order to calculate the checksum, first, "0" is filled in the checksum field (the area describing the check code itself), and a 16-bit 1 bit including a pseudo header, a TCP header, and data is filled.
Compute the complement of.

【0011】図13に従来のデータ配送システムの構成
例を示す。
FIG. 13 shows a configuration example of a conventional data delivery system.

【0012】送信すべきデータは、データ記憶装置10
1に格納されている。データ送信装置102は、データ
記憶装置101から読み出したデータをパケットにして
パケット交換網103上に送信する。
The data to be transmitted is stored in the data storage device 10.
1 is stored. The data transmitting device 102 converts the data read from the data storage device 101 into a packet and transmits the packet over the packet switching network 103.

【0013】すなわち、データ記憶装置101に格納さ
れているデータは、送信バッファ125の容量分だけ、
いったん送信バッファ125にコピーされる。プロトコ
ル処理部123は、クライアントとコネクションを確立
し、送信バッファ125から一度に送信可能な長さだけ
のデータを切り出す。さらに、TCPヘッダを作成し、
このTCPヘッダを先ほど切り出したデータの先頭に付
加し、TCPパケットを構成する。また、TCPパケッ
ト全体に対するチェックサムを計算し、TCPヘッダの
チェックサムの領域に書き込む。さらに、IPヘッダを
作成し、IPパケットを構成する。パケット送信部12
4は、以上のようにして構成されたパケットをパケット
交換網103へ送出する。
That is, the data stored in the data storage device 101 is equal to the capacity of the transmission buffer 125.
Once copied to the transmission buffer 125. The protocol processing unit 123 establishes a connection with the client and cuts out data of a length that can be transmitted at a time from the transmission buffer 125. Furthermore, create a TCP header,
This TCP header is added to the head of the data cut out earlier to form a TCP packet. Also, a checksum for the entire TCP packet is calculated and written in the checksum area of the TCP header. Further, an IP header is created to configure an IP packet. Packet transmission unit 12
4 sends the packet constructed as described above to the packet switching network 103.

【0014】しかし、このような従来のデータ配送シス
テムでは、クライアントから要求を受けて該当するデー
タをデータ記憶装置から取り出した後に、チェックサム
を計算しパケットを構成することになるので、処理に時
間がかかる問題があった。
However, in such a conventional data delivery system, after receiving a request from the client and extracting the corresponding data from the data storage device, the checksum is calculated to form a packet. There was a problem.

【0015】この点、特開平6−69957号公報で
は、パケットの生成処理、特に、チェックサムの計算を
高速化するために以下の手法を用いている。まず、送信
するデータをMSSで複数のパケットに分割し、各分割
したデータに対するチェックサムを計算し、分割したデ
ータおよびそのデータに対するチェックサムを、ネット
ワークに送り出すパケットの形でデータ記憶装置に記憶
しておく。その際、データはデータ領域へ書き込まれ、
チェックサムは仮のチェックサムとしてヘッダのチェッ
クサム領域へ書き込まれる。図14に、データ記憶装置
(201)に格納されているパケットの様子を示す。図
14において、P1〜P3はパケット、H1〜H3はパ
ケットのヘッダ領域、D1〜D3はパケットのデータ領
域であり、上記のようにヘッダ(例えばH1)のチェッ
クサム領域にデータ(例えばD1)に対するチェックサ
ムが仮に書き込まれている。クライアントからデータ配
送要求を受信したときに、要求されたデータに対応する
パケットをデータ記憶装置から取り出し、パケットヘッ
ダを作成し、仮のチェックサムを用いてパケット全体に
対するチェックサムを求め、パケットのチェックサム領
域に上書きし、パケットをネットワークへ配送する。
In this regard, Japanese Patent Application Laid-Open No. Hei 6-69957 uses the following method to speed up packet generation processing, particularly, checksum calculation. First, data to be transmitted is divided into a plurality of packets by the MSS, a checksum for each divided data is calculated, and the divided data and a checksum for the data are stored in a data storage device in the form of a packet to be sent to the network. Keep it. At that time, the data is written to the data area,
The checksum is written to the checksum area of the header as a temporary checksum. FIG. 14 shows a state of a packet stored in the data storage device (201). In FIG. 14, P1 to P3 are packets, H1 to H3 are packet header areas, and D1 to D3 are packet data areas. As described above, the checksum area of the header (for example, H1) contains data for data (for example, D1). Checksum is written temporarily. When a data delivery request is received from a client, a packet corresponding to the requested data is retrieved from the data storage device, a packet header is created, a checksum for the entire packet is obtained using a temporary checksum, and the packet is checked. Overwrite the sum area and deliver the packet to the network.

【0016】[0016]

【発明が解決しようとする課題】しかし、特開平6−6
9957号公報のような従来のデータ配送システムで
は、データを予めMSSで分割しネットワークに配送す
るパケットを構成してデータ記憶装置に記憶しておくた
め、以下のような問題点があった。
However, Japanese Patent Laid-Open No. 6-6 / 1994
In a conventional data delivery system as disclosed in Japanese Patent Application Laid-Open No. 9957/1993, since data is divided in advance by the MSS to form a packet to be delivered to the network and stored in the data storage device, there are the following problems.

【0017】(1)予めMSSの値を固定しているた
め、異なるMSSでパケットを配送するような場合に対
応できない。例えば、データ配送システムが複数のネッ
トワークインタフェースを持ち、かつ、各ネットワーク
のMSSが異なるような場合に対応できない(もとより
単に全てのコンテンツについて全MSSに対応して全パ
ケットを生成し用意しておくことはメモリを徒に浪費す
るだけで実用性に乏しい)。また、例えば、データ配送
システムとクライアントとの間のパス上に、当該データ
配送システムがネットワークインタフェースで直接接続
されたネットワークのMSSより小さいMSS’のネッ
トワークが存在するような場合には、予め固定されたM
SSで分割したパケット単位で転送を行うと、経路の途
中でのデータ分割や最終的なホスト上でのデータの再構
築が行われデータ転送の効率が悪くなるが、このような
場合にも対応できない。
(1) Since the value of the MSS is fixed in advance, it is not possible to cope with a case where a packet is delivered by a different MSS. For example, it is not possible to cope with the case where the data delivery system has a plurality of network interfaces and the MSS of each network is different (in addition, it is necessary to generate and prepare all packets simply corresponding to all MSS for all contents) Is simply wasteful of memory and is not practical.) Also, for example, when a network having an MSS ′ smaller than the MSS of the network to which the data delivery system is directly connected via a network interface exists on a path between the data delivery system and the client, the data delivery system is fixed in advance. M
If the packet is transferred in units of packets divided by SS, the data will be divided in the middle of the route and the data will be finally reconstructed on the host, resulting in poor data transfer efficiency. Can not.

【0018】(2)予めパケットヘッダの領域を固定し
ているため、パケットヘッダサイズが異なるパケットを
配送すること、例えば、IPv4に準拠したパケットと
IPv6に準拠したパケットの両方を配送するような場
合にも対応できない。
(2) Delivery of packets with different packet header sizes because the packet header area is fixed in advance, for example, when delivering both IPv4 compliant packets and IPv6 compliant packets I can't handle it.

【0019】(3)内容が不変のデータを配送する場合
を想定しているため、例えばHTTPヘッダとHTTP
ボディからなるHTTPデータをTCPパケットに載せ
る場合のように、内容がその都度変化する部分(例えば
HTTPヘッダ)を含むデータを扱うような場合にも対
応できない。
(3) Since it is assumed that data whose contents are invariable is delivered, for example, an HTTP header and an HTTP
It is not possible to handle a case where data including a portion (for example, an HTTP header) whose content changes each time is handled, such as a case where HTTP data including a body is carried in a TCP packet.

【0020】本発明は、上記事情を考慮してなされたも
ので、データ配送の都度、MSSが相違し得るような場
合にもパケット生成時の検査符号の計算の高速化および
パケット生成の高速化を可能とするデータ配送システム
及びデータ配送方法を提供することを目的とする。
The present invention has been made in view of the above circumstances, and in each case of data delivery, even when the MSS may be different, the calculation of a check code at the time of packet generation and the speed of packet generation are accelerated. It is an object of the present invention to provide a data delivery system and a data delivery method that enable the above.

【0021】また、本発明は、データ配送の都度、パケ
ットヘッダ形式が相違し得るような場合にもパケット生
成時の検査符号の計算の高速化およびパケット生成の高
速化を可能とするデータ配送システム及びデータ配送方
法を提供することを目的とする。
Also, the present invention provides a data delivery system capable of speeding up the calculation of a check code and generating a packet at the time of packet generation even when the packet header format may be different each time data is delivered. And a data delivery method.

【0022】また、本発明は、データ配送毎に内容の変
化する部分を含むようなデータを配送する場合にもパケ
ット生成時の検査符号の計算の高速化およびパケット生
成の高速化を可能とするデータ配送システム及びデータ
配送方法を提供することを目的とする。
Further, the present invention enables a high-speed calculation of a check code and a high-speed packet generation at the time of packet generation even when data including a portion whose contents change every time data is transmitted. It is an object to provide a data delivery system and a data delivery method.

【0023】[0023]

【課題を解決するための手段】本発明(請求項1)は、
データをパケット化して配送する際に各パケットにその
パケットに対する検査符号を書き込むデータ配送システ
ムであって、複数個のデータと、あるデータに対してあ
るパケット転送単位ごとに計算された検査符号とを記憶
するための記憶手段と、前記記憶手段に記憶されている
配送対象となったデータを分割してパケットを生成する
とともに、前記記憶手段に該データに対して該当するパ
ケット転送単位による検査符号が記憶されている場合に
は、その記憶されている検査符号を利用して各パケット
に書き込むべき検査符号を計算する処理手段とを備えた
ことを特徴とする。
Means for Solving the Problems The present invention (claim 1) provides:
A data delivery system for writing a check code for each packet when packetizing and delivering data, comprising a plurality of data and a check code calculated for each packet transfer unit for certain data. A storage unit for storing, and a packet generated by dividing the data to be delivered stored in the storage unit, and a check code in a packet transfer unit corresponding to the data is stored in the storage unit. If it is stored, processing means for calculating a check code to be written in each packet using the stored check code is provided.

【0024】本発明では、ネットワークに配送するパケ
ットの形でデータを記憶せず、データを配送するときに
パケットを生成する。すなわち、予めデータを分割せ
ず、データを配送するときにデータの分割を行う。一
方、あるデータに対してあるパケット転送単位ごとに計
算された検査符号が得られている場合(必要に応じて計
算された場合と、クライアントからの要求に備えて計算
しておいた場合とが考えられる)には、これを少なくと
も一時的に記憶しておく。そして、パケット生成の際
に、該データに対する該当パケット転送単位による検査
符号が記憶されている場合には、その記憶されている計
算済みの検査符号を利用して各パケットに書き込むべき
検査符号を計算する。
In the present invention, data is not stored in the form of a packet to be delivered to the network, but a packet is generated when the data is delivered. That is, the data is not divided in advance, and the data is divided when the data is delivered. On the other hand, when the check code calculated for each packet transfer unit for a certain data is obtained (the case where the check code is calculated as needed and the case where the check code is calculated in preparation for a request from a client) This is at least temporarily memorized. When generating a packet, if a check code for the data in the corresponding packet transfer unit is stored, a check code to be written in each packet is calculated using the stored calculated check code. I do.

【0025】本発明によれば、データ配送の都度、パケ
ット転送単位が相違し得るような場合、例えば、MSS
が異なる複数のネットワークインタフェースを持ち、該
当するネットワークのMSSをパケット転送単位とする
ような場合でも、配送するデータのそれぞれのパケット
転送単位(MSS)ごとの検査符号を予め計算して記憶
することで、パケット生成時の検査符号の計算、そして
そのパケット生成を高速化することができる。また、接
続したネットワークのMSSよりも、コネクションが確
立されたクライアントとのパス上のMSSの方が小さい
ときは、最小のMSSをパケット転送単位とするような
場合でも、一度、バス上のMSSごとの検査符号を計算
して記憶しておくことで、パケット生成時の検査符号の
計算、そしてそのパケット生成を高速化することができ
る。また、データをヘッダとは独立して扱うため、ヘッ
ダサイズが異なるパケットを配送する場合でも、パケッ
ト生成時の検査符号の計算、そしてそのパケット生成を
高速化することができる。
According to the present invention, when the packet transfer unit can be different every time data is delivered, for example, the MSS
Has a plurality of network interfaces different from each other, and the MSS of the corresponding network is used as a packet transfer unit, it is possible to calculate and store a check code for each packet transfer unit (MSS) of data to be delivered in advance. , Calculation of a check code at the time of packet generation, and the speed of the packet generation can be increased. Further, when the MSS on the path with the client to which the connection is established is smaller than the MSS of the connected network, even if the minimum MSS is used as the packet transfer unit, once the MSS on the bus is used. By calculating and storing the check code, the calculation of the check code at the time of packet generation and the speed of the packet generation can be increased. In addition, since data is handled independently of the header, even when a packet having a different header size is delivered, calculation of a check code at the time of packet generation and generation of the packet can be speeded up.

【0026】好ましくは、前記記憶手段に前記配送対象
となったデータに対して該当するパケット転送単位によ
る検査符号が記憶されていない場合に、該データに対す
る該当するパケット転送単位ごとの検査符号を計算する
手段を更に備えるようにしてもよい。これによって得ら
れた検査符号は、これを記憶しておくことで、後のデー
タ配送の際に再利用することができる。
Preferably, when the storage unit does not store a check code for the data to be delivered in a corresponding packet transfer unit, a check code for the corresponding packet transfer unit for the data is calculated. Means may be further provided. By storing the check code obtained in this way, it can be reused at the time of subsequent data distribution.

【0027】好ましくは、前記処理手段は、前記データ
を前記パケット転送単位で分割した各ブロックにそれぞ
れパケットヘッダを付加してパケットを生成するととも
に、各パケットについて、それに含まれるブロックに対
して計算された検査符号とそのパケットヘッダとから該
パケットに対する検査符号を計算し、これを該パケット
ヘッダの所定の領域に書き込むようにしてもよい。例え
ば、前記パケットはTCPパケットであり、前記検査符
号はTCPパケットヘッダとTCPパケットデータであ
る該当ブロックについて計算され、TCPパケットヘッ
ダの所定の領域に記述される。その際、TCPパケット
データである該当ブロックの部分に対する検査符号が計
算済みであれば、その検査符号とTCPパケットヘッダ
の部分とから検査符号を計算すればよく、パケットに対
する検査符号の計算が高速化できる。
Preferably, the processing means generates a packet by adding a packet header to each block obtained by dividing the data in the packet transfer unit, and calculates a packet for each block included in the packet. A check code for the packet may be calculated from the check code and the packet header, and the calculated check code may be written in a predetermined area of the packet header. For example, the packet is a TCP packet, and the check code is calculated for a corresponding block that is a TCP packet header and TCP packet data, and is described in a predetermined area of the TCP packet header. At this time, if the check code for the corresponding block portion which is the TCP packet data has been calculated, the check code may be calculated from the check code and the TCP packet header portion, and the calculation of the check code for the packet is accelerated. it can.

【0028】好ましくは、前記記憶手段は、より高速に
アクセス可能な第1の記憶手段とより大容量の第2の記
憶手段とを含み、前記第1の記憶手段は、少なくとも、
配送を行ったデータと、該データに対するその配送の際
のパケット転送単位ごとの検査符号とを、一定の記憶容
量を上限として一時記憶するためのものであり、前記第
2の記憶手段は、少なくとも、配送対象となるデータを
蓄積するためのものであるようにしてもよい。好ましく
は、前記第1および第2の記憶手段に前記配送対象とな
ったデータに対して該当するパケット転送単位による検
査符号が記憶されておらず、かつ、該データに対する該
当するパケット転送単位ごとの検査符号を計算した際
に、該計算した検査符号を前記第1の記憶手段に記憶す
るようにしてもよい。好ましくは、前記第1の記憶手段
の所定の記憶領域に上書きをする際に、該上書きのため
に該第1の記憶手段から削除されることになるデータに
対する検査符号を、前記第2の記憶手段に書き戻すよう
にしてもよい。上記のように、データやデータに対する
検査符号をより高速なメモリにキャッシュしておくこと
により、より高速にパケットに対する検査符号を計算す
ることができる。また、データに対する検査符号をより
大容量のメモリに保存しておくことによっても、データ
に対する検査符号の計算を省くことができる。
Preferably, the storage means includes a first storage means which can be accessed at a higher speed and a second storage means having a larger capacity, and the first storage means has at least:
This is for temporarily storing the delivered data and a check code for each packet transfer unit at the time of the delivery of the data, with a fixed storage capacity as an upper limit, and the second storage means includes at least It may be configured to store data to be delivered. Preferably, the first and second storage means do not store a check code based on a corresponding packet transfer unit with respect to the data to be delivered, and When the check code is calculated, the calculated check code may be stored in the first storage unit. Preferably, when overwriting a predetermined storage area of the first storage means, a check code for data to be deleted from the first storage means due to the overwriting is written in the second storage means. You may make it write back to a means. As described above, by caching data and check codes for data in a faster memory, check codes for packets can be calculated more quickly. Also, by storing the check code for the data in a larger capacity memory, the calculation of the check code for the data can be omitted.

【0029】好ましくは、前記検査符号はそれが書き込
まれるパケットの内容の完全性を検査するためのもので
あるようにしてもよい。好ましくは、前記検査符号は逐
次的に計算可能なものであるようにしてもよい。例え
ば、検査符号はTCPプロトコルにおいてTCPパケッ
トに記述するチェックサムである。
[0029] Preferably, the check code is for checking the integrity of the contents of the packet to which it is written. Preferably, the check code may be one that can be calculated sequentially. For example, the check code is a checksum described in a TCP packet in the TCP protocol.

【0030】好ましくは、前記パケット転送単位を、自
システムが直接接続されたネットワークのうち、データ
の配送を要求したクライアントに通じるネットワークに
送り出すことができる最大セグメントサイズに等しい値
とするようにしてもよい。好ましくは、前記パケット転
送単位を、自システムとクライアントとの間に存在する
各ネットワークに送り出すことができる最大セグメント
サイズのうち最も小さいものに等しい値とするようにし
てもよい。
Preferably, the packet transfer unit is set to a value equal to a maximum segment size that can be sent to a network connected to a client that has requested data delivery among networks directly connected to the own system. Good. Preferably, the packet transfer unit may have a value equal to the smallest one of the maximum segment sizes that can be transmitted to each network existing between the own system and the client.

【0031】好ましくは、内容が変化し得る第1のデー
タ部分と内容が不変の第2のデータ部分とからなるデー
タを配送対象とする場合、該第1のデータ部分と該第2
のデータ部分とが異なるパケットに搭載されるようにパ
ケットを生成するとともに、データに対する検査符号に
関する処理は該第2のデータ部分についてのみ行うよう
にしてもよい。好ましくは、配送対象となるデータが、
検査符号が計算されていない第1のデータ部分と、検査
符号が前記記憶手段に記憶されている第2のデータ部分
とから構成される場合、該第1のデータ部分と該第2の
データ部分とが異なるパケットに搭載されるようにパケ
ットを生成するとともに、該第2のデータ部分を含むパ
ケットに対する検査符号は該記憶されている検査符号を
利用して計算するようにしもよい。好ましくは、前記第
1のデータ部分はHTTPヘッダであり、前記第2のデ
ータ部分はHTTPボディであるようにしてもよい。上
記によれば、予め検査符号の計算をしていないあるいは
内容が変化し得るデータ(例えばHTTPヘッダ)と予
め検査符号の計算を行っているあるいは内容が不変のデ
ータ(例えばHTTPボディ)とをそれらが異なるパケ
ットに含まれるように独立的に扱うことにより、予め検
査符号の計算をしていないデータと予めデータの検査符
号の計算を行っているデータを続けて配送する場合に、
予め計算したデータに対する検査符号を利用でき、検査
符号の計算、さらにパケットの生成を高速化することが
できる。これは、HTTPデータを送信するWebサー
バの高速化に大きな期待ができる。
Preferably, when data consisting of a first data portion whose contents can change and a second data portion whose contents do not change is to be delivered, the first data portion and the second data portion
The packet may be generated so that the data portion of the second data portion is mounted on a different packet, and the process related to the check code for the data may be performed only on the second data portion. Preferably, the data to be delivered is
In the case where a check code is composed of a first data portion where a check code is not calculated and a second data portion where a check code is stored in the storage means, the first data portion and the second data portion And a check code for the packet including the second data portion may be calculated by using the stored check code. Preferably, the first data portion may be an HTTP header and the second data portion may be an HTTP body. According to the above, the data (for example, the HTTP header) for which the check code has not been calculated or whose contents can be changed and the data (for example, the HTTP body) for which the check codes have been calculated or whose contents are invariable in advance (for example, HTTP body) are Are handled independently so that they are included in different packets, so that when data that has not been subjected to check code calculation in advance and data that has been previously subjected to check code calculation for data are continuously delivered,
A check code for data calculated in advance can be used, and calculation of a check code and generation of a packet can be speeded up. This has great promise for speeding up a Web server that transmits HTTP data.

【0032】本発明(請求項14)は、データをパケッ
ト化して配送する際に各パケットにそのパケットに対す
る検査符号を書き込むデータ配送システムのデータ配送
方法であって、クライアントからデータの配送を要求さ
れた際に、該データに対して該クライアントに応じて定
まるパケット転送単位ごとに計算された検査符号が自シ
ステム内に記憶されているか否かを調べ、記憶されてい
ない場合には、前記データに対する前記パケット転送単
位ごとの検査符号を計算するとともに、該計算した検査
符号を自システム内に少なくとも一時的に記憶し、前記
配送対象となったデータを分割してパケットを生成する
とともに、記憶されている該データに対する前記パケッ
ト転送単位ごとの検査符号を利用して各パケットに書き
込むべき検査符号を計算することを特徴とする。
The present invention (claim 14) is a data delivery method of a data delivery system in which a check code for a packet is written in each packet when the data is packetized and delivered, wherein a client is requested to deliver data. At that time, it is checked whether the check code calculated for each packet transfer unit determined according to the client for the data is stored in the own system. The check code for each packet transfer unit is calculated, and the calculated check code is at least temporarily stored in the own system, and the data to be delivered is divided to generate a packet, and stored. A check code to be written in each packet using a check code for each packet transfer unit for the data. And calculating.

【0033】なお、装置に係る本発明は方法に係る発明
としても成立し、方法に係る本発明は装置に係る発明と
しても成立する。
It should be noted that the present invention relating to the apparatus is also realized as an invention relating to a method, and the present invention relating to a method is also realized as an invention relating to an apparatus.

【0034】また、装置または方法に係る本発明は、コ
ンピュータに当該発明に相当する手順を実行させるため
の(あるいはコンピュータを当該発明に相当する手段と
して機能させるための、あるいはコンピュータに当該発
明に相当する機能を実現させるための)プログラムを記
録したコンピュータ読取り可能な記録媒体としても成立
する。
The present invention relating to an apparatus or a method is provided for causing a computer to execute a procedure corresponding to the present invention (or for causing a computer to function as means corresponding to the present invention, or for causing a computer to correspond to the present invention). The present invention is also realized as a computer-readable recording medium in which a program for realizing the function of performing the above is recorded.

【0035】[0035]

【発明の実施の形態】以下、図面を参照しながら発明の
実施の形態を説明する。
Embodiments of the present invention will be described below with reference to the drawings.

【0036】なお、前述のように、あるネットワークに
送り出すことができる最大セグメントサイズをMSSと
略記する。
As described above, the maximum segment size that can be transmitted to a certain network is abbreviated as MSS.

【0037】(第1の実施形態)図1に、本発明の第1
の実施形態に係るデータ配送システムの構成例を示す。
(First Embodiment) FIG. 1 shows a first embodiment of the present invention.
1 shows a configuration example of a data delivery system according to an embodiment.

【0038】本データ配送システムは、要求されたデー
タをクライアントに送信するデータ送信装置2と配送す
べきデータを記憶するデータ記憶装置1から構成され、
その基本的な機能は、クライアントから指定データ(コ
ンテンツ)の配送要求を受けたデータ送信装置2が、デ
ータ記憶装置1に格納されている該当データ(そのデー
タのコピーがデータ記憶装置1内に一時記憶されている
場合には当該一時記憶されているもの)をパケット化し
てパケット交換網3上に送信するものである。
This data delivery system comprises a data transmission device 2 for transmitting requested data to a client and a data storage device 1 for storing data to be delivered.
Its basic function is that the data transmission device 2 that has received a request for delivery of specified data (content) from the client stores the corresponding data (a copy of the data is temporarily stored in the data storage device 1) stored in the data storage device 1. If it is stored, the temporary storage is packetized and transmitted over the packet switching network 3.

【0039】データ記憶装置1は、例えばハードディス
ク装置等を利用して構成される。
The data storage device 1 is configured using, for example, a hard disk device or the like.

【0040】データ送信装置2は、例えば計算機と必要
なネットワークインタフェース等を利用して構成され
る。
The data transmission device 2 is configured using, for example, a computer and a necessary network interface.

【0041】なお、本データ配送システムでは、(1)
当該データ配送システムが複数のネットワークに直接接
続され(複数のネットワークインタフェースを持ち)、
各ネットワークのMSSをMSS1〜MSSNとしたと
きに、MSS1〜MSSNのうちに相異なるものが存在
するケース(ただし、データ配送要求が送られてきたネ
ットワークインタフェースのMSSを使用するもので、
当該直接接続されたネットワーク以外のネットワークの
MSSは考慮不要もしくは考慮しないとするケース)、
(2)当該データ配送システムは1つのネットワークも
しくはMSSが同一の複数のネットワークに直接接続さ
れているが(MSS1=…=MSSN=MSScとす
る)、当該データ配送システムとクライアントとの間に
1以上の他のネットワーク(当該データ配送システムが
間接的に接続されたネットワーク)が存在することがあ
り、当該他のネットワークのうちにMSScより小さい
MSS’を持つものが存在し得るケース(そのMSS’
がクライアントによって変わりうるケースを含む)であ
って、データ配送システムとクライアントとの間に複数
のネットワークが存在する場合には当該複数のネットワ
ークのMSSのうちの最小のMSSを考慮してパケット
生成を行うようにするケース、(3)上記の(1)と
(2)を組み合わせたようなケース、すなわち、上記の
(1)のように、当該データ配送システムが複数のネッ
トワークに直接接続され、各ネットワークのMSSをM
SS1〜MSSNとしたときに、MSS1〜MSSNの
うちに相異なるものが存在するとともに、さらに、上記
の(2)のように、データ配送システムとクライアント
との間に複数のネットワークが存在する場合には当該複
数のネットワークのMSSのうちの最小のMSSを考慮
してパケット生成を行うようにするケースなど、処理に
使用すべきMSSが唯一ではなく、クライアントに応じ
て処理に使用すべきMSSが相違し得るものとする。
In this data delivery system, (1)
The data delivery system is directly connected to multiple networks (has multiple network interfaces),
When the MSS of each network is MSS1 to MSSN, a different one of the MSS1 to MSSN exists (however, the MSS of the network interface from which the data delivery request is sent is used.
MSS of a network other than the directly connected network is not considered or is not considered),
(2) In the data delivery system, one network or MSS is directly connected to a plurality of same networks (MSS1 =... = MSSN = MSSc). There may be another network (a network to which the data delivery system is indirectly connected), and there may be a network having an MSS ′ smaller than the MSSc among the other networks (the MSS ′).
In the case where a plurality of networks exist between the data delivery system and the client, packet generation is performed in consideration of the minimum MSS among the MSSs of the plurality of networks. (3) A case where the above (1) and (2) are combined, that is, as in the above (1), the data delivery system is directly connected to a plurality of networks, and Network MSS to M
When SS1 to MSSN are present, different ones exist among MSS1 to MSSN, and as described in (2) above, when a plurality of networks exist between the data delivery system and the client. Is not the only MSS to be used for processing, such as a case where packet generation is performed in consideration of the smallest MSS among the MSSs of the plurality of networks, and the MSS to be used for processing differs depending on the client. Can do so.

【0042】また、以下では、「パス上のMSS」と
は、コネクションが確立されたクライアントと(当該デ
ータ配送システムと)の間に、1つのネットワークのみ
存在する場合には当該1つのネットワークのMSSであ
り、複数のネットワークが存在しそれらのMSSが全て
同一である場合には当該同一のMSSであり、複数のネ
ットワークが存在しそれらのMSSのうちに相異なるも
のがある場合にはそれら複数種類のMSSのうち最小の
値を持つMSSであるものとする。
In the following, the “MSS on the path” refers to the MSS of one network when only one network exists between the client with which the connection has been established and the relevant data delivery system. When there are a plurality of networks and their MSSs are all the same, they are the same MSS. When there are a plurality of networks and there are different MSSs among them, a plurality of these MSSs are used. It is assumed that the MSS having the minimum value among the MSSs of the above.

【0043】さて、図1に示されるように、本データ送
信装置2は、チェックサム計算部21、一時記憶部2
2、プロトコル処理部23、パケット送信部24を備え
ている。
As shown in FIG. 1, the data transmitting apparatus 2 includes a checksum calculating section 21 and a temporary storing section 2.
2, a protocol processing unit 23 and a packet transmission unit 24 are provided.

【0044】チェックサム計算部21は、要求されたデ
ータをパス上のMSSごとのブロックとみなし、ブロッ
ク毎のチェックサムの計算を行う。データのサイズが該
MSSで割り切れない場合、データに対して計算される
最後のチェックサムは、該MSS未満のサイズのブロッ
クに対するものになる。チェックサム計算部21により
計算されたチェックサムは該当データに対応付けられて
一時記憶部22に記憶される。
The checksum calculator 21 regards the requested data as a block for each MSS on the path and calculates a checksum for each block. If the size of the data is not divisible by the MSS, the final checksum calculated on the data will be for blocks of a size less than the MSS. The checksum calculated by the checksum calculation unit 21 is stored in the temporary storage unit 22 in association with the corresponding data.

【0045】一時記憶部22は、データ記憶装置1に格
納されているデータのうちクライアントから要求のあっ
たデータ(のコピー)およびそのデータに対して計算さ
れた1または複数種類のMSSについてのチェックサム
を一時的に記憶するためのものである。なお、一時記憶
部22は通常、記憶容量に限りがあるため、新たに書き
込む領域がない場合には、所定の規則に従って上書きが
なされる。所定の規則には、例えば、最も古く記憶され
たデータおよびそのチェックサムを上書き対象にする方
法、最後に利用されてから最も長時間経過しているデー
タおよびそのチェックサムを上書き対象にする方法、な
ど種々の方法がある。
The temporary storage unit 22 checks (a copy of) the data requested by the client among the data stored in the data storage device 1 and one or more types of MSS calculated for the data. This is for temporarily storing the sum. Since the temporary storage unit 22 usually has a limited storage capacity, if there is no new writing area, the temporary storage unit 22 is overwritten according to a predetermined rule. The predetermined rule includes, for example, a method of overwriting the oldest stored data and its checksum, a method of overwriting the data and its checksum that have been used for the longest time since the last use, There are various methods.

【0046】プロトコル処理部23は、クライアントと
の間のコネクションを確立し、パケットを生成する。パ
ケットは、TCPパケット、IPパケットの順で生成す
る。TCPパケットを生成する際には、データをパス上
のMSSで分割したブロックごとにパケット化するとと
もに、各TCPパケットについて、チェックサム計算部
21にて計算済みの該ブロックに対するチェックサムを
利用して該ブロックおよびそのTCPヘッダ(チェック
サム領域を除く部分)に対するチェックサムを計算す
る。
The protocol processing unit 23 establishes a connection with the client and generates a packet. The packet is generated in the order of a TCP packet and an IP packet. When generating a TCP packet, the data is packetized for each block divided by the MSS on the path, and the checksum for the TCP packet calculated by the checksum calculation unit 21 is used for each TCP packet. The checksum for the block and its TCP header (excluding the checksum area) is calculated.

【0047】なお、上記についてより詳しく説明する
と、チェックサムの計算では、上記の検査符号自体を記
述する領域(チェックサム領域)に“0”を埋めて計算
を行う。厳密に言えば、チェックサムを計算するには、
疑似ヘッダというものを加える。TCPは疑似ヘッダを
TCPパケットの前に付け加え、もし、全体の長さが1
6ビットの倍数ではないならば、全体の長さが16ビッ
トの倍数になるようにパケットをパディングするために
0だけからなるバイトをその終わりに付けたし、それ全
体のチェックサムを計算する。ただし、パディングに使
われるバイトと、疑似ヘッダはTCPパケットとともに
は送信されない。これらは、チェックサムを計算するた
めだけに使用される。チェックサムを計算するために
は、まず、チェックサム・フィールド(上記の検査符号
自体を記述する領域)の中に“0”を埋め、疑似ヘッ
ダ、TCPヘッダ、データを含む全体の16ビットの1
の補数和を計算する。
To explain the above in more detail, in the calculation of the checksum, the calculation is performed by filling "0" in the area (checksum area) describing the check code itself. Strictly speaking, to calculate the checksum,
Add a pseudo-header. TCP adds a pseudo-header before the TCP packet and if the total length is 1
If it is not a multiple of 6 bits, a byte consisting of only zeros is appended to its end to pad the packet so that the overall length is a multiple of 16 bits, and the entire checksum is calculated. However, the bytes used for padding and the pseudo header are not transmitted together with the TCP packet. These are used only to calculate the checksum. In order to calculate the checksum, first, "0" is filled in the checksum field (the area describing the check code itself), and a 16-bit 1 bit including a pseudo header, a TCP header, and data is filled.
Compute the complement of.

【0048】パケット送信部24は、以上のようにして
構成されたパケットをパケット交換網3へ送出する。
The packet transmitting section 24 sends the packet constructed as described above to the packet switching network 3.

【0049】なお、あるクライアントに対するパス上の
MSSは、例えばプロトコル処理部23において、クラ
イアントとの間のコネクションを確立する手続きの中で
知ることができる。
The MSS on the path to a certain client can be known in the procedure for establishing a connection with the client in the protocol processing unit 23, for example.

【0050】ここで、図2を参照しながらデータ部分に
対するチェックサムの計算、その一時保存、パケット全
体(ヘッダ部分およびデータ部分)に対するチェックサ
ムの計算について具体例を用いて説明する。
The calculation of the checksum for the data portion, its temporary storage, and the calculation of the checksum for the entire packet (header portion and data portion) will now be described with reference to FIG.

【0051】図2では、あるクライアントから要求され
たデータの長さが10,000バイトで、そのクライア
ントに対するパス上のMSSが1,460バイトであ
り、また、同一データを要求する別のクライアントに対
するパス上のMSSが4,960バイトであった場合の
例を示している。
In FIG. 2, the length of the data requested from one client is 10,000 bytes, the MSS on the path for that client is 1,460 bytes, and the length of the data for another client requesting the same data is another byte. An example is shown in which the MSS on the path is 4,960 bytes.

【0052】あるクライアントに対するパス上のMSS
が1,460バイトであった場合、チェックサム計算部
21において、チェックサムは順次、データの1,46
0バイト毎に計算され、最後のチェックサムは残りの
1,240バイトに対して計算される。該ブロックに対
するチェックサムは例えば該ブロックを16ビット毎に
分割し各16ビット部分について順次“1の補数和”を
とっていくことにより計算される。
MSS on the path to a client
Is 1,460 bytes, the checksum is sequentially calculated by the checksum calculator 21 in the data of 1,46 bytes.
It is calculated every 0 bytes and the last checksum is calculated for the remaining 1,240 bytes. The checksum for the block is calculated, for example, by dividing the block into 16 bits and sequentially taking "one's complement sum" for each 16 bit portion.

【0053】この場合、当該データ(のコピー)と使用
したMSSの値1,460と得られた7個のチェックサ
ムの値が対応付けられて一時記憶部22に一時記憶され
る。
In this case, (the copy of) the data, the used MSS value 1,460, and the obtained seven checksum values are associated with each other and temporarily stored in the temporary storage unit 22.

【0054】また、この場合、データはブロック(最後
のブロック以外は1,460バイト/最後のブロックの
み1,240バイト)ごとにパケットに載せられること
になるが、各ブロックに対応するチェックサムはすでに
計算済みであるので、プロトコル処理部23は、そのパ
ケットに載せるブロックに対応する計算済みのチェック
サムとそのTCPヘッダの内容とからパケット全体に対
するチェックサムを高速に計算することができる。パケ
ット全体に対するチェックサムは例えば上記の16ビッ
トの計算済みチェックサムとTCPヘッダの各16ビッ
トについて順次“1の補数和”をとっていくことにより
計算される。
In this case, the data is loaded on the packet for each block (1,460 bytes other than the last block / 1,240 bytes only for the last block), and the checksum corresponding to each block is Since the calculation has already been performed, the protocol processing unit 23 can calculate the checksum for the entire packet at high speed from the calculated checksum corresponding to the block to be loaded in the packet and the contents of the TCP header. The checksum for the entire packet is calculated by, for example, sequentially calculating the "1's complement sum" of the 16-bit calculated checksum and the 16 bits of the TCP header.

【0055】一方、別のクライアントに対するパス上の
MSSが4,960バイトであった場合、同様にして、
チェックサムは順次、データの4,960バイト毎に計
算され、最後のチェックサムは残りの80バイトに対し
て計算される。この場合、当該データ(のコピー)と使
用したMSSの値4,960と得られた3個のチェック
サムの値が対応付けられて一時記憶部22に一時記憶さ
れる。
On the other hand, if the MSS on the path to another client is 4,960 bytes,
The checksum is calculated sequentially for every 4,960 bytes of data, and the last checksum is calculated for the remaining 80 bytes. In this case, (the copy of) the data, the used MSS value of 4,960, and the obtained three checksum values are temporarily stored in the temporary storage unit 22 in association with each other.

【0056】また、このように長さが10,000バイ
トであるデータについて、MSS=1,460バイトに
対するチェックサムと、MSS=4,960バイトに対
するチェックサムが計算された場合、一時記憶部22に
は、当該データと、MSSの値1,460とそのときの
7個のチェックサムと、MSSの値4,960とそのと
きの3個のチェックサムとが記憶された状態になる。以
降(それらが一時記憶部22内に存在する間)は、MS
S=1,460またはMSS=4,960とするクライ
アントから当該データに対する要求があった場合には、
一時記憶部22が利用可能になり、当該データに対する
チェックサムの計算が不要になる。もちろん、当該デー
タをデータ記憶装置1から取り出すことも不要になる。
When the checksum for MSS = 1,460 bytes and the checksum for MSS = 4,960 bytes are calculated for data having a length of 10,000 bytes, the temporary storage unit 22 In this state, the data, the MSS value of 1,460 and the seven checksums at that time, and the MSS value of 4,960 and the three checksums at that time are stored. After that (while they exist in the temporary storage unit 22), the MS
If there is a request for the data from a client with S = 1,460 or MSS = 4,960,
The temporary storage unit 22 becomes available, and the calculation of the checksum for the data becomes unnecessary. Of course, it is not necessary to retrieve the data from the data storage device 1.

【0057】図3に、一時記憶部22に保管されるデー
タおよびチェックサムの形式の一例を示す。この例は、
各データとそのチェックサムをリンク形式で保持するも
のである。図3において、MS11〜MS13,MSn
1〜MSn2は、後続するチェックサム11〜13,n
1〜n2がどれだけのブロックサイズ(すなわちMS
S)ごとのチェックサムかを示す。なお、ここでは、デ
ータに対するチェックサム領域を動的に確保する例を示
したが、予め適当な数/量のMSS/チェックサムのフ
ィールドを割り当てるなどしてチェックサム領域を静的
に確保する例も考えられる。
FIG. 3 shows an example of the format of the data and the checksum stored in the temporary storage unit 22. This example
Each data and its checksum are held in a link format. In FIG. 3, MS11 to MS13, MSn
1 to MSn2 are subsequent checksums 11 to 13, n
1 to n2 is the block size (ie, MS
S) indicates whether the checksum is for each. Here, an example in which a checksum area for data is dynamically secured has been described. However, an example in which an appropriate number / amount of MSS / checksum fields are allocated in advance and the checksum area is statically secured. Is also conceivable.

【0058】次に、本実施形態のデータ配送システムの
動作について説明する。
Next, the operation of the data delivery system of this embodiment will be described.

【0059】図4に、本実施形態のデータ配送システム
の動作手順の一例を示す。
FIG. 4 shows an example of an operation procedure of the data delivery system of the present embodiment.

【0060】まず、パケット交換網3を通してデータ送
信装置2にクライアントからのデータ配送要求(クライ
アントの指定するデータを特定可能な情報が含まれる)
が送られてくる。データ送信装置2では、最初に、要求
されたデータが一時記憶部22に存在するかどうか検索
する(ステップS11)。
First, a data delivery request from the client to the data transmitting apparatus 2 through the packet switching network 3 (including information capable of specifying data specified by the client).
Is sent. First, the data transmission device 2 searches whether the requested data exists in the temporary storage unit 22 (step S11).

【0061】要求されたデータが一時記憶部22に存在
しない場合、データ記憶装置1にデータ要求を送る(ス
テップS12a)。チェックサム計算部21は、データ
記憶装置1から取りだされたデータを、データ配送要求
があったネットワークのパス上のMSS単位のブロック
列とみなし、各ブロック毎のチェックサムを計算する
(ステップS13)。要求されたデータおよびその計算
されたチェックサムは一時記憶部22に記憶しておく
(ステップS14)。
If the requested data does not exist in the temporary storage unit 22, a data request is sent to the data storage device 1 (step S12a). The checksum calculation unit 21 regards the data extracted from the data storage device 1 as a block sequence in MSS units on the path of the network to which the data delivery request has been made, and calculates a checksum for each block (step S13). ). The requested data and the calculated checksum are stored in the temporary storage unit 22 (step S14).

【0062】一方、要求されたデータが一時記憶部22
に存在し、かつ、要求されたデータの、対応するパス上
のMSSのチェックサムが一時記憶部22に存在する場
合(ステップS12b)、一時記憶部22から、要求さ
れたデータおよび該MSSに対応するチェックサムを取
り出す(ステップS15a)。
On the other hand, the requested data is stored in the temporary storage
And the checksum of the MSS on the corresponding path of the requested data exists in the temporary storage unit 22 (step S12b), the temporary storage unit 22 stores the checksum corresponding to the requested data and the MSS. The checksum to be taken out is taken out (step S15a).

【0063】また、要求されたデータは一時記憶部22
に存在するが、要求されたデータの、対応するパス上の
MSSのチェックサムが一時記憶部22に存在しない場
合(ステップS12b)、一時記憶部22から要求され
たデータを取り出し、チェックサム計算部21により対
応するパス上のMSSのチェックサムを計算するととも
に、計算されたチェックサムを一時記憶部22に保存し
ておく(ステップS15b)。
The requested data is stored in the temporary storage unit 22.
However, if the checksum of the MSS on the corresponding path of the requested data does not exist in the temporary storage unit 22 (step S12b), the requested data is extracted from the temporary storage unit 22, and the checksum calculation unit 21 and calculates the checksum of the MSS on the corresponding path, and stores the calculated checksum in the temporary storage unit 22 (step S15b).

【0064】プロトコル処理部23は、データを該MS
Sで分割する。さらに、TCPパケットを生成する。そ
して、TCPパケットヘッダを作成し、TCPパケット
ヘッダと上記の計算済みのチェックサムとを利用してパ
ケット全体に対するチェックサムを計算し、TCPパケ
ットを生成する(ステップS16)。さらに、IPヘッ
ダを作成し、IPパケットを生成する(ステップS1
7)。
The protocol processing unit 23 transmits the data to the MS
Divide by S. Further, a TCP packet is generated. Then, a TCP packet header is created, a checksum for the entire packet is calculated using the TCP packet header and the calculated checksum, and a TCP packet is generated (step S16). Further, an IP header is created, and an IP packet is created (step S1).
7).

【0065】パケット送信部24は、作成されたIPパ
ケットをパケット交換網3へ送信する(ステップS1
8)。
The packet transmitting unit 24 transmits the created IP packet to the packet switching network 3 (step S1).
8).

【0066】なお、上記では、データ配送要求があった
際に必要なMSSによるチェックサムを計算するととも
に、一時記憶部22にデータおよび計算されたチェック
サムを格納するものとしたが、これに加えて、予め本デ
ータ配送システムが直接接続されている全てまたは一部
のネットワークインタフェースのMSS(さらには予想
されるパス上のMSS)ごとのチェックサムを全てまた
は一部のデータに対して計算して、データおよび計算さ
れたチェックサムをデータ記憶装置1に格納しておき、
データ配送要求があった際に、データ記憶装置1に該当
するMSSによるチェックサムが格納されている場合に
は、このチェックサムを用いてパケット全体に対するチ
ェックサムを計算し、パケットを生成するとともに、一
時記憶部22に該データおよびそのチェックサムを格納
するようにしてもよい。この場合、データ記憶装置1に
保管されるデータおよびチェックサムの形式は例えば図
3と同様である。あるいは、チェックサム領域を静的に
確保するようにしてもよい。また、データ記憶装置1の
データ/チェックサム保管形式と一時記憶部22のデー
タ/チェックサム保管形式とは、同一の形式にしてもよ
いし、相違する形式にしてもよい。
In the above description, the checksum by the MSS required when a data delivery request is made is calculated, and the data and the calculated checksum are stored in the temporary storage unit 22. In advance, the checksum for each MSS (and even the MSS on the expected path) of all or some of the network interfaces directly connected to the data delivery system is calculated for all or some of the data. , Data and the calculated checksum are stored in the data storage device 1,
When a data delivery request is made, if a checksum by the corresponding MSS is stored in the data storage device 1, a checksum for the entire packet is calculated using this checksum, and a packet is generated. The data and its checksum may be stored in the temporary storage unit 22. In this case, the formats of the data and the checksum stored in the data storage device 1 are the same as those in FIG. 3, for example. Alternatively, the checksum area may be statically reserved. Further, the data / checksum storage format of the data storage device 1 and the data / checksum storage format of the temporary storage unit 22 may be the same format or different formats.

【0067】また、上記の他にも、本実施形態について
種々のバリエーションが考えられる。
In addition to the above, various variations of the present embodiment are conceivable.

【0068】(第2の実施形態)図5に、本発明の第2
の実施形態に係るデータ配送システムの構成例を示す。
(Second Embodiment) FIG. 5 shows a second embodiment of the present invention.
1 shows a configuration example of a data delivery system according to an embodiment.

【0069】本実施形態が第1の実施形態と相違する点
は、データ記憶装置1内に、配送すべきデータに併せ
て、そのデータに対して過去にクライアントからデータ
配送要求があった際に計算された(パス上の)MSSに
対するチェックサムも併せて保存する点である。
This embodiment is different from the first embodiment in that when data is requested to be delivered to the data storage device 1 from a client in the past in addition to the data to be delivered. The point is that the calculated checksum for the MSS (on the path) is also stored.

【0070】データ記憶装置1に保管されるデータおよ
びチェックサムの形式は例えば図3と同様である。ある
いは、チェックサム領域を静的に確保するようにしても
よい。
The format of the data and the checksum stored in the data storage device 1 are the same as those in FIG. 3, for example. Alternatively, the checksum area may be statically reserved.

【0071】データ記憶装置1のデータ/チェックサム
保管形式と一時記憶部22のデータ/チェックサム保管
形式とは、同一の形式にしてもよいし、相違する形式に
してもよい。
The data / checksum storage format of the data storage device 1 and the data / checksum storage format of the temporary storage unit 22 may be the same format or different formats.

【0072】チェックサム計算部21と一時記憶部22
の基本的な機能は第1の実施形態と同様である。
Checksum calculation section 21 and temporary storage section 22
Are basically the same as those of the first embodiment.

【0073】なお、チェックサム計算部21により計算
されたチェックサムは、第1の実施形態と同様、一時記
憶部22に記憶されるが、本実施形態では、さらに所定
のタイミングでデータ記憶装置1に保存される。この所
定のタイミングとしては、一時記憶部22から(上書き
されることなどにより)削除された時点、チェックサム
計算部21により計算された時点などが考えられる。本
実施形態では、一時記憶部22から上書きされることに
より削除された時点として説明する。
The checksum calculated by the checksum calculation unit 21 is stored in the temporary storage unit 22 as in the first embodiment, but in the present embodiment, the data storage unit 1 is further stored at a predetermined timing. Is stored in The predetermined timing may be a point in time when the file is deleted from the temporary storage unit 22 (by being overwritten, for example), a point in time calculated by the checksum calculation unit 21, or the like. In the present embodiment, a description will be given as a point in time when the temporary storage unit 22 has been deleted by being overwritten.

【0074】また、本実施形態では、データ記憶装置1
に該当するチェックサムが保存されている場合には、チ
ェックサム計算部21による計算は行われず、データ記
憶装置1に保存されているチェックサムがパケット生成
に使用されるとともに、これが一時記憶部22に記憶さ
れる。
In this embodiment, the data storage device 1
Is stored, the checksum calculation unit 21 does not perform the calculation, the checksum stored in the data storage device 1 is used for packet generation, and the checksum is stored in the temporary storage unit 22. Is stored.

【0075】プロトコル処理部23とパケット送信部2
4の基本的な機能は第1の実施形態と同様である。な
お、上記のように、プロトコル処理部23のTCPパケ
ット生成処理においてデータ記憶装置1に保存されてい
るチェックサムが用いられる場合がある。
The protocol processing unit 23 and the packet transmitting unit 2
The basic functions of the fourth embodiment are the same as those of the first embodiment. As described above, the checksum stored in the data storage device 1 may be used in the TCP packet generation processing of the protocol processing unit 23 in some cases.

【0076】次に、本実施形態のデータ配送システムの
動作について説明する。
Next, the operation of the data delivery system of the present embodiment will be described.

【0077】図6に、本実施形態のデータ配送システム
の動作手順の一例を示す。
FIG. 6 shows an example of an operation procedure of the data delivery system of the present embodiment.

【0078】本動作手順が、第1の実施形態で説明した
手順と相違する主な点は、一時記憶部22のデータを上
書きするときに、上書きされるデータに対するチェック
サムをデータ記憶装置に書き戻す点である(従って、必
要なチェックサムが一時記憶部22には存在しないが、
データ記憶部1には存在することがある点が相違するこ
とにもなる)。
The main difference between this operation procedure and the procedure described in the first embodiment is that when the data in the temporary storage unit 22 is overwritten, the checksum for the overwritten data is written to the data storage device. (Therefore, the necessary checksum does not exist in the temporary storage unit 22,
The difference is that the data storage unit 1 sometimes exists.)

【0079】まず、パケット交換網3を通してデータ送
信装置2にクライアントからのデータ配送要求(クライ
アントの指定するデータを特定可能な情報が含まれる)
が送られてくる。データ送信装置2では、最初に、要求
されたデータが一時記憶部22に存在するかどうか検索
する(ステップS21)。
First, a data delivery request from the client to the data transmitting apparatus 2 through the packet switching network 3 (including information capable of specifying data specified by the client).
Is sent. The data transmission device 2 first searches whether the requested data exists in the temporary storage unit 22 (step S21).

【0080】要求されたデータが一時記憶部22に存在
しない場合、データ記憶装置1に、要求されたデータお
よびそのチェックサムの要求(データ/チェックサム要
求)を送る。そして、一時記憶部22に要求されたデー
タおよびそのチェックサムを書き込む領域が存在するか
どうか調べる(ステップS22)。
If the requested data does not exist in the temporary storage unit 22, the requested data and its checksum request (data / checksum request) are sent to the data storage device 1. Then, it is checked whether there is an area for writing the requested data and its checksum in the temporary storage unit 22 (step S22).

【0081】一時記憶部22に要求されたデータおよび
そのチェックサムを書き込む領域がない場合、一時記憶
部22内の既存のデータおよびそのチェックサムが上書
きされることになるので、当該上書きされるデータに対
する全てのチェックサムをデータ記憶装置1に書き戻す
(ステップS23)。なお、この書き戻しの際に、デー
タ記憶装置1に未保存のMSSに対するチェックサムの
み書き戻すようにしてもよいし、データ記憶装置1に保
存されている該データの全チェックサムを破棄し(デー
タ記憶装置1に該データのチェックサムが1つも保存さ
れていない場合もある)、一時記憶部22に記憶されて
いる該データの全チェックサムを書き戻すようにしても
よい。
If there is no area in the temporary storage unit 22 for writing the requested data and its checksum, the existing data and its checksum in the temporary storage unit 22 will be overwritten. Are written back to the data storage device 1 (step S23). At the time of this write-back, only the checksum for the MSS not stored in the data storage device 1 may be written back, or the entire checksum of the data stored in the data storage device 1 is discarded ( In some cases, no checksum of the data is stored in the data storage device 1), or the entire checksum of the data stored in the temporary storage unit 22 may be written back.

【0082】続いて、要求されたデータおよび要求され
たデータに対する全てのチェックサムを一時記憶部22
に持ってきて上書きする(ステップS24)。
Subsequently, the requested data and all checksums for the requested data are stored in the temporary storage unit 22.
And overwrite (step S24).

【0083】一方、一時記憶部22に要求されたデータ
および要求されたデータに対するチェックサムを書き込
む領域がある場合には、上記の書き戻しは不要であり、
要求されたデータおよび要求されたデータに対する全て
のチェックサムを一時記憶部22に持ってくる(ステッ
プS24)。
On the other hand, if there is an area for writing the requested data and the checksum for the requested data in the temporary storage unit 22, the above write-back is unnecessary,
The requested data and all checksums for the requested data are brought to the temporary storage unit 22 (step S24).

【0084】なお、データ記憶装置1には未だ要求され
たデータに対するチェックサムが1つも保存されていな
い場合がある。この場合には、要求されたデータを一時
記憶部22に持ってくる。
In some cases, the data storage device 1 has not yet stored any checksum for the requested data. In this case, the requested data is brought to the temporary storage unit 22.

【0085】また、データ記憶装置1には要求されたデ
ータに対するチェックサムがいくつか保存されてはいる
が、今回の処理で必要なMSSに対応するチェックサム
は保存されていないこともある。本実施形態では、この
場合にも、要求されたデータおよび要求されたデータに
対する全てのチェックサムを一時記憶部22に持ってく
るものとしている。
Although some checksums for the requested data are stored in the data storage device 1, the checksums corresponding to the MSS required in the current processing may not be stored. In this embodiment, in this case as well, the requested data and all checksums for the requested data are brought to the temporary storage unit 22.

【0086】なお、ステップS21において、要求され
たデータが一時記憶部22に存在する場合には、以上の
処理は不要である。
If the requested data exists in the temporary storage unit 22 in step S21, the above processing is unnecessary.

【0087】さて、以上で、一時記憶部22に少なくと
も要求されたデータが存在する状態になる。
Now, a state where at least the requested data exists in the temporary storage unit 22 is established.

【0088】次に、要求されたデータの、対応するパス
上のMSSのチェックサムが一時記憶部22に存在する
かどうか検索する(ステップS25)。
Next, it is searched whether the checksum of the MSS on the corresponding path of the requested data exists in the temporary storage unit 22 (step S25).

【0089】要求されたデータの、対応するパス上のM
SSのチェックサムが一時記憶部22に存在する場合、
一時記憶部22から要求されたデータおよびそのチェッ
クサムを取り出す(ステップS26a)。
The M of the requested data on the corresponding path
If the SS checksum exists in the temporary storage unit 22,
The requested data and its checksum are extracted from the temporary storage unit 22 (step S26a).

【0090】一方、要求されたデータの、対応するパス
上のMSSのチェックサムが一時記憶部22に存在しな
いとき、一時記憶部22から要求されたデータを取り出
し、対応するパス上のMSSのチェックサムを計算し、
計算したチェックサムを一時記憶部22に保存する(ス
テップS26b)。
On the other hand, when the checksum of the MSS on the corresponding path of the requested data does not exist in the temporary storage unit 22, the requested data is extracted from the temporary storage unit 22, and the MSS on the corresponding path is checked. Calculate the sum,
The calculated checksum is stored in the temporary storage unit 22 (step S26b).

【0091】続いて、プロトコル処理部23は、データ
を該MSSで分割する。さらに、プロトコル処理部23
はTCPパケットヘッダを作成し、TCPパケットヘッ
ダと上記の計算済みのチェックサムを利用してパケット
全体に対するチェックサムを計算し、TCPパケットを
生成する(ステップS27)。さらに、IPヘッダを作
成し、IPパケットを生成する(ステップS28)。
Subsequently, the protocol processing unit 23 divides the data by the MSS. Further, the protocol processing unit 23
Creates a TCP packet header, calculates a checksum for the entire packet using the TCP packet header and the calculated checksum, and generates a TCP packet (step S27). Further, an IP header is created, and an IP packet is created (step S28).

【0092】パケット送信部24は、パケットをパケッ
ト交換網3へ送信する(ステップS29)。
The packet transmitting unit 24 transmits the packet to the packet switching network 3 (Step S29).

【0093】なお、上記では、チェックサムがデータ記
憶装置1に格納されるのは、例えば少なくとも一度クラ
イアントから要求されたデータに対して計算され一時記
憶部21に格納されたチェックサムをデータ記憶装置1
に書き戻す場合であったが、これに加えて、例えばある
データをデータ記憶装置1に格納する際に、本データ配
送システムが直接接続されている全てまたは一部のネッ
トワークインタフェースのMSS(さらには予想される
パス上のMSS)ごとのチェックサムを該データに対し
て計算して、該データおよび計算されたチェックサムを
データ記憶装置1に格納しておくようにしてもよい(一
部のデータについてのみチェックサムを計算して格納し
ておくようにしてもよい)。
In the above description, the checksum is stored in the data storage device 1 because, for example, the checksum calculated at least once for the data requested by the client and stored in the temporary storage unit 21 is stored in the data storage device 1. 1
In addition to this, when storing certain data in the data storage device 1, for example, when the data delivery system is directly connected, the MSS of all or some of the network interfaces directly connected to the data delivery system (further, A checksum for each expected MSS on the path may be calculated for the data, and the data and the calculated checksum may be stored in the data storage device 1 (partial data). It is also possible to calculate and store the checksum only for ().

【0094】また、一時記憶部21を備えない構成も可
能である。この場合、チェックサムが計算された時点で
データ記憶装置1に書き戻すようにすればよい。
Further, a configuration without the temporary storage unit 21 is also possible. In this case, the data may be written back to the data storage device 1 when the checksum is calculated.

【0095】また、上記の他にも、本実施形態について
種々のバリエーションが考えられる。
In addition to the above, various variations of the present embodiment are conceivable.

【0096】(第3の実施形態)本実施形態は、内容が
変化し得るデータ部分と内容が不変のデータ部分とから
なるデータを配送対象とする場合に、内容が変化し得る
データ部分と、内容が不変のデータ部分とを、異なるパ
ケットに搭載するようにしたものである。これによっ
て、内容が不変のデータ部分については、予めチェック
サムを計算しておくことができるようになる。
(Third Embodiment) In this embodiment, when data composed of a data portion whose contents can change and a data portion whose contents do not change is to be delivered, a data portion whose contents can change, The data portion whose contents are not changed is mounted in a different packet. As a result, a checksum can be calculated in advance for a data portion whose content is unchanged.

【0097】すなわち、チェックサムが計算済みでない
データ部分とチェックサムが計算済みのデータ部分とか
らなるデータからパケットを生成する際に、チェックサ
ムが計算済みでないデータ部分とチェックサムが計算済
みのデータ部分とを異なるパケットに搭載し、後者につ
いては計算済みのチェックサムを利用してパケット全体
に対するチェックサムを計算することによって、チェッ
クサム計算/パケット生成を高速化することができる。
That is, when a packet is generated from data including a data portion for which the checksum has not been calculated and a data portion for which the checksum has been calculated, the data portion for which the checksum has not been calculated and the data for which the checksum has been calculated are generated. The checksum calculation / packet generation can be accelerated by mounting the part in a different packet and calculating the checksum for the entire packet using the calculated checksum for the latter.

【0098】この構成は、独立して実施可能であり、従
って、これまでの実施形態や従来の構成と組み合わせて
実施することが可能である。
This configuration can be implemented independently, and therefore can be implemented in combination with the previous embodiments and the conventional configuration.

【0099】以下ではこの構成を第1の実施形態に組み
合わせた場合を例に取って説明する。
In the following, a case where this configuration is combined with the first embodiment will be described as an example.

【0100】図7に、本実施形態に係るデータ配送シス
テムの構成例を示す。
FIG. 7 shows a configuration example of a data delivery system according to the present embodiment.

【0101】図7のデータ配送システムが第1の実施形
態に係るデータ配送システムと相違する主な点は、HT
TPデータ(HTTPヘッダおよびHTTPボディ)を
作成しこれをプロトコル処理部23に渡すHTTP処理
部25をデータ送信装置2が更に備える点、そして、チ
ェックサム計算部21が、HTTPヘッダとHTTPボ
ディとを別扱いにしてチェックサムの計算を行う点、プ
ロトコル処理部23が、HTTPヘッダとHTTPボデ
ィとを別々のTCPパケットに搭載する点である。
The main difference between the data delivery system of FIG. 7 and the data delivery system according to the first embodiment is that
The data transmission device 2 further includes an HTTP processing unit 25 that creates TP data (an HTTP header and an HTTP body) and transfers the created TP data to the protocol processing unit 23, and the checksum calculation unit 21 determines that the HTTP header and the HTTP body The checksum calculation is performed separately, and the protocol processing unit 23 mounts the HTTP header and the HTTP body in separate TCP packets.

【0102】さて、このデータ配送システムは、Web
サーバとして機能するものである。Webサーバは、W
ebクライアントとHTTP(Hypertext T
ransfer Protocol)を使って互いに通
信を行う。Webサーバとクライアントとの間で通信さ
れるHTTPデータは、HTTPヘッダおよびHTTP
ボディからなる。HTTPヘッダは、データ(コンテン
ツ)の種類、要求があった日時、要求されたデータ(コ
ンテンツ)の変更状況などを含み、データ配送時に決定
される。
Now, this data delivery system uses the Web
It functions as a server. Web server is W
web client and HTTP (Hypertext T)
and communicate with each other using a transfer protocol. The HTTP data communicated between the Web server and the client includes an HTTP header and an HTTP header.
Consists of a body. The HTTP header includes the type of data (content), the date and time of the request, the status of change of the requested data (content), and the like, and is determined at the time of data delivery.

【0103】HTTPヘッダは、TCPパケットにはT
CPヘッダではなくTCPデータの一部として載せられ
るが、上記のようにHTTPヘッダの内容がデータ配送
時に決定されるので、HTTPヘッダについては予めチ
ェックサムの計算を行うことができない(あるいは、他
の転送の際に計算されたチェックサムを流用することが
できない)。一方、HTTPボディは、要求されたデー
タ(コンテンツ)で構成されるので、HTTPボディを
構成するデータに対するチェックサムは不変であり、予
め計算しておくことができる(MSSが同じであれば、
他の転送の際に計算されたチェックサムを流用すること
ができる)。そこで、本実施形態では、HTTPヘッダ
とHTTPボディとを別々のTCPパケットに載せるよ
うにし、これによってHTTPボディ側についてはその
計算済みのチェックサムを利用可能としている。
The HTTP header has a T
Although it is carried not as the CP header but as a part of the TCP data, the content of the HTTP header is determined at the time of data delivery as described above, so that the checksum cannot be calculated in advance for the HTTP header (or other The checksum calculated at the time of transfer cannot be used.) On the other hand, since the HTTP body is composed of the requested data (contents), the checksum for the data constituting the HTTP body is unchanged and can be calculated in advance (if the MSS is the same,
The calculated checksum can be used for other transfers.) Therefore, in the present embodiment, the HTTP header and the HTTP body are placed in separate TCP packets, so that the calculated checksum can be used on the HTTP body side.

【0104】以下、図7に例示したデータ配送システム
の動作について説明する。
Hereinafter, the operation of the data delivery system illustrated in FIG. 7 will be described.

【0105】図8に、このデータ配送システムの動作手
順の一例を示す。
FIG. 8 shows an example of an operation procedure of the data delivery system.

【0106】まず、パケット交換網3を通してデータ送
信装置2にクライアントからのデータ配送要求(クライ
アントの指定するデータを特定可能な情報が含まれる)
が送られてくる。データ送信装置2では、最初に、要求
されたデータが一時記憶部22に存在するかどうか検索
する(ステップS31)。
First, a data delivery request from the client to the data transmitting apparatus 2 through the packet switching network 3 (including information capable of specifying data specified by the client).
Is sent. First, the data transmission device 2 searches whether the requested data exists in the temporary storage unit 22 (step S31).

【0107】要求されたデータが一時記憶部22に存在
しない場合、データ記憶装置1にデータ要求を送る(ス
テップS32a)。チェックサム計算部21は、データ
記憶装置1から取りだしたデータを、データ配送要求が
あったネットワークのパス上のMSS単位のブロック列
とみなし、各ブロック毎のチェックサムを計算する(ス
テップS33)。要求されたデータおよびその計算され
たチェックサムは一時記憶部22に記憶する(ステップ
S34)。
If the requested data does not exist in the temporary storage unit 22, a data request is sent to the data storage device 1 (step S32a). The checksum calculation unit 21 regards the data retrieved from the data storage device 1 as a block sequence in MSS units on the path of the network to which the data delivery request has been made, and calculates a checksum for each block (step S33). The requested data and the calculated checksum are stored in the temporary storage unit 22 (step S34).

【0108】一方、要求されたデータが一時記憶部22
に存在し、かつ、要求されたデータの、対応するパス上
のMSSのチェックサムが一時記憶部22に存在する場
合(ステップS32b)、一時記憶部22から要求され
たデータおよびそのチェックサムを取り出す(ステップ
S35a)。
On the other hand, the requested data is stored in the temporary storage
And the checksum of the MSS on the corresponding path of the requested data exists in the temporary storage unit 22 (step S32b), the requested data and its checksum are extracted from the temporary storage unit 22. (Step S35a).

【0109】また、要求されたデータが一時記憶部22
に存在するが、要求されたデータの、対応するパス上の
MSSのチェックサムが一時記憶部22に存在しない場
合(ステップS32b)、一時記憶部22から要求され
たデータを取り出し、チェックサム計算部21により対
応するパス上のMSSのチェックサムを計算するととも
に、計算されチェックサムを一時記憶部22に保存して
おく(ステップS35b)。
Further, the requested data is stored in the temporary storage unit 22.
However, if the checksum of the MSS on the corresponding path of the requested data does not exist in the temporary storage unit 22 (step S32b), the requested data is extracted from the temporary storage unit 22, and the checksum calculation unit 21 and calculates the checksum of the MSS on the corresponding path, and stores the calculated checksum in the temporary storage unit 22 (step S35b).

【0110】続いて、HTTP処理部25は、HTTP
ヘッダを作成し、データをHTTPボディとし、HTT
PヘッダおよびHTTPボディをプロトコル処理部23
に渡す(ステップS36)。
Subsequently, the HTTP processing unit 25 executes the HTTP
Create a header, make the data an HTTP body,
The P header and the HTTP body to the protocol processing unit 23
(Step S36).

【0111】プロトコル処理部23は、まず、TCPパ
ケットを生成する(ステップS37)。ここで、重要な
ことは、HTTPヘッダとHTTPボディとが異なるT
CPパケットに含まれるように、TCPパケットを生成
することである。すなわち、HTTPヘッダとHTTP
ボディを連結しそれを先頭から該MSSで分割するので
はなく、HTTPヘッダは別扱いにして、HTTPボデ
ィを該MSSで分割するようにする。
First, the protocol processing unit 23 generates a TCP packet (step S37). What is important here is that the HTTP header and the HTTP body have different T
Generating a TCP packet so as to be included in the CP packet. That is, the HTTP header and the HTTP
Instead of concatenating the bodies and dividing them by the MSS from the beginning, the HTTP header is treated separately and the HTTP bodies are divided by the MSS.

【0112】そして、HTTPヘッダについては、HT
TPヘッダだけをTCPパケットデータとしたTCPヘ
ッダを作成し、TCPパケットを作成する。この場合、
TCPパケットデータとTCPパケットヘッダからチェ
ックサムの計算を行うことになる。
Then, regarding the HTTP header,
A TCP header is created using only the TP header as TCP packet data, and a TCP packet is created. in this case,
The checksum is calculated from the TCP packet data and the TCP packet header.

【0113】一方、HTTPボディについては、HTT
Pボディを該MSSで分割した各ブロックをTCPパケ
ットデータとしたTCPパケットをそれぞれ生成する。
この場合、HTTPボディとなるデータの各ブロックに
対するチェックサムは予め計算されているので、各々の
ブロックについて、TCPパケットヘッダを作成し、T
CPパケットヘッダと予め計算されたチェックサムを利
用してパケット全体に対するチェックサムを計算し、T
CPパケットを生成する。
On the other hand, regarding the HTTP body,
A TCP packet is generated by using each block obtained by dividing the P body by the MSS as TCP packet data.
In this case, since the checksum for each block of the data serving as the HTTP body is calculated in advance, a TCP packet header is created for each block, and T
The checksum for the entire packet is calculated using the CP packet header and the pre-calculated checksum, and T
Generate a CP packet.

【0114】図9に、HTTPヘッダを含むパケットに
対するチェックサム計算と、HTTPボディを含むパケ
ットに対するチェックサム計算の処理を示す。(a)に
示すように、HTTPボディの各ブロック(各HTTP
データ)に対するチェックサムは、予め計算されてい
る。そして、(b)に示すように、HTTPヘッダを含
むパケットに対するチェックサム計算は、TCPヘッダ
およびTCPデータ(すなわちHTTPヘッダ)から計
算されるが、HTTPボディを含むパケットに対するチ
ェックサム計算は、HTTPデータに対する計算済みの
チェックサムとそのTCPヘッダとから計算することが
できる。なお、図9(b)において、200は、チェッ
クサム計算のための演算器(例えば16ビットのビット
毎の1の補数和の演算器)を示し、201は、演算器2
00の演算結果(例えば16ビット)を示す。
FIG. 9 shows a process of calculating a checksum for a packet including an HTTP header and calculating a checksum for a packet including an HTTP body. As shown in (a), each block of the HTTP body (each HTTP
The checksum for data is calculated in advance. Then, as shown in (b), the checksum calculation for the packet including the HTTP header is calculated from the TCP header and the TCP data (that is, the HTTP header). However, the checksum calculation for the packet including the HTTP body is based on the HTTP data. Can be calculated from the calculated checksum for and the TCP header. In FIG. 9B, reference numeral 200 denotes a computing unit for calculating a checksum (for example, a computing unit of a 1's complement sum for every 16 bits), and 201 denotes a computing unit 2
00 indicates the operation result (for example, 16 bits).

【0115】また、図10に、一例として、HTTPヘ
ッダが200バイト、HTTPボディが10,000バ
イト、MSSが1,460バイトの場合の各TCPパケ
ットの構成を示す。図10において、TCPパケット1
のTCPパケットデータは、HTTPヘッダから構成さ
れる。TCPパケット2〜6のTCPパケットデータ
は、1,460バイトのHTTPデータから構成され
る。TCPパケット7のTCPパケットデータは、1,
240バイトのHTTPデータから構成される。
FIG. 10 shows, by way of example, the structure of each TCP packet when the HTTP header is 200 bytes, the HTTP body is 10,000 bytes, and the MSS is 1,460 bytes. In FIG. 10, TCP packet 1
Is composed of an HTTP header. The TCP packet data of the TCP packets 2 to 6 is composed of 1,460 bytes of HTTP data. The TCP packet data of the TCP packet 7 is 1,
It consists of 240 bytes of HTTP data.

【0116】さて、プロトコル処理部23は、続いて、
IPヘッダを作成し、IPパケットを生成する(ステッ
プS38)。
Now, the protocol processing unit 23
An IP header is created, and an IP packet is created (step S38).

【0117】パケット送信部24は、IPパケットをパ
ケット交換網3へ送信する(ステップS39)。
The packet transmitting section 24 transmits the IP packet to the packet switching network 3 (Step S39).

【0118】なお、前述したように、内容が変化し得る
データ部分と内容が不変のデータ部分とからなるデータ
を配送対象とする場合に前者のデータ部分と後者のデー
タ部分とを異なるパケットに搭載するような構成は、第
2の実施形態やその他の変形例や従来例などに組み合わ
せて実施することもできる。
As described above, when data consisting of a data part whose contents can change and a data part whose contents do not change is to be delivered, the former data part and the latter data part are mounted in different packets. Such a configuration can also be implemented in combination with the second embodiment, other modified examples, conventional examples, and the like.

【0119】図11に、このような構成を第2の実施形
態と組み合わせた場合のデータ配送システムの動作手順
の一例を示す。なお、この場合の各セクションの動作や
処理の流れについては、これまでの説明から自明である
ので、ここでの詳細な説明は省略する。
FIG. 11 shows an example of an operation procedure of the data delivery system when such a configuration is combined with the second embodiment. The operation and the flow of processing in each section in this case are self-evident from the description so far, and the detailed description is omitted here.

【0120】なお、上記では、データは分割されていな
い状態で一時記憶部22に保存されるが、その代わり
に、データをMSSで分割して、各分割されたブロック
のチェックサムを計算し、ネットワークに送り出すパケ
ットの形で一時記憶部22に保存しておくなどの例も考
えられる。また、第1や第2の実施形態と同様に、予め
データ記憶装置1に、チェックサムおよびデータを記憶
しておくなどの例も考えられる。いずれの場合も、プロ
トコル処理部23でTCPパケットを生成するときに
は、予めチェックサムの計算をしていないデータ(例え
ばHTTPヘッダ)と予めチェックサムの計算をしたデ
ータ(例えばHTTPボディ)が異なるTCPパケット
を構成するようにする。また、本実施形態では、HTT
Pデータを例としたが、HTTPデータに限らず、予め
チェックサムを計算していないデータに続いて、予めチ
ェックサムを計算したデータを送るあらゆる例が考えら
れる。
In the above description, the data is stored in the temporary storage unit 22 in an undivided state. Instead, the data is divided by the MSS, and the checksum of each divided block is calculated. An example in which the packet is sent to the network and stored in the temporary storage unit 22 is also conceivable. Further, as in the first and second embodiments, an example in which a checksum and data are stored in the data storage device 1 in advance is also conceivable. In any case, when a TCP packet is generated by the protocol processing unit 23, a TCP packet in which data (for example, an HTTP header) for which a checksum has not been calculated in advance is different from data (for example, an HTTP body) in which a checksum has been calculated in advance. To be configured. In the present embodiment, HTT
Although the P data has been described as an example, the present invention is not limited to the HTTP data, but may be any example in which data in which a checksum is calculated in advance is transmitted after data in which a checksum is not calculated in advance.

【0121】ところで、以上の各実施形態においては、
データ配送システムとクライアントとの間に複数のネッ
トワークが存在する場合には当該複数のネットワークの
MSSのうちの最小のMSS(すなわちパス上のMS
S)を用いてパケット生成を行うものとしたが、MSS
の大小にかかわらず当該複数のネットワークのうち当該
データ配送システムが直接接続されているネットワーク
のMSSを用いるようにすることも可能である。
Incidentally, in each of the above embodiments,
When a plurality of networks exist between the data distribution system and the client, the smallest MSS of the MSSs of the plurality of networks (ie, the MSS on the path)
S) was used to generate packets, but MSS
Regardless of the size of the network, it is also possible to use the MSS of the network to which the data delivery system is directly connected among the plurality of networks.

【0122】また、以上においては、要求されたデータ
をブロックに分割する「パケット転送単位」としてパス
上のMSSもしくは当該データ配送システムが直接接続
されているネットワークのMSSを使うものとしたが、
パケット転送単位として該MSSよりも小さい値を用い
ることも可能である。
In the above description, the MSS on the path or the MSS of the network to which the data delivery system is directly connected is used as the “packet transfer unit” for dividing the requested data into blocks.
It is also possible to use a value smaller than the MSS as a packet transfer unit.

【0123】なお、以上の各機能は、ソフトウェアとし
ても実現可能である。
The above functions can also be realized as software.

【0124】また、本実施形態は、コンピュータに所定
の手段を実行させるための(あるいはコンピュータを所
定の手段として機能させるための、あるいはコンピュー
タに所定の機能を実現させるための)プログラムを記録
したコンピュータ読取り可能な記録媒体としても実施す
ることもできる。
Further, the present embodiment is a computer in which a program for causing a computer to execute a predetermined means (or for causing the computer to function as the predetermined means or for causing the computer to realize the predetermined function) is recorded. It can also be implemented as a readable recording medium.

【0125】本発明は、上述した実施の形態に限定され
るものではなく、その技術的範囲において種々変形して
実施することができる。
The present invention is not limited to the above-described embodiments, but can be implemented with various modifications within the technical scope.

【0126】[0126]

【発明の効果】本発明によれば、データ配送の都度、パ
ケット転送単位が相違し得るような場合にもパケット生
成時の検査符号の計算の高速化およびパケット生成の高
速化を図ることができる。
According to the present invention, it is possible to speed up the calculation of the check code and the speed of packet generation at the time of packet generation even when the packet transfer unit may be different each time data is delivered. .

【0127】また、本発明によれば、データ配送の都
度、パケットヘッダ形式が相違し得るような場合にもパ
ケット生成時の検査符号の計算の高速化およびパケット
生成の高速化を図ることができる。
Further, according to the present invention, it is possible to speed up the calculation of the check code at the time of packet generation and the speed of packet generation even when the packet header format may be different each time data is delivered. .

【0128】また、本発明によれば、データ配送毎に内
容の変化する部分を含むようなデータを配送する場合に
もパケット生成時の検査符号の計算の高速化およびパケ
ット生成の高速化を図ることができる。
Further, according to the present invention, even when data including a portion whose contents change every time data is delivered, the calculation of the check code at the time of packet generation and the speed of packet generation are achieved. be able to.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明の第1の実施形態に係るデータ配送シス
テムの構成例を示す図
FIG. 1 is a diagram showing a configuration example of a data delivery system according to a first embodiment of the present invention;

【図2】データに対するチェックサムの計算/保存から
パケット全体に対するチェックサムの計算/パケット生
成までについて説明するための図
FIG. 2 is a diagram for explaining a process from calculation / storage of a checksum for data to calculation of a checksum / packet generation for an entire packet;

【図3】データおよびチェックサムの保存形式の一例を
示す図
FIG. 3 is a diagram showing an example of a storage format of data and a checksum;

【図4】同実施形態に係るデータ配送システムの動作手
順の一例を示すフローチャート
FIG. 4 is an exemplary flowchart illustrating an example of an operation procedure of the data delivery system according to the embodiment.

【図5】本発明の第2の実施形態に係るデータ配送シス
テムの構成例を示す図
FIG. 5 is a diagram showing a configuration example of a data delivery system according to a second embodiment of the present invention.

【図6】同実施形態に係るデータ配送システムの動作手
順の一例を示すフローチャート
FIG. 6 is an exemplary flowchart illustrating an example of an operation procedure of the data delivery system according to the embodiment.

【図7】本発明の第3の実施形態に係るデータ配送シス
テムの構成例を示す図
FIG. 7 is a diagram showing a configuration example of a data delivery system according to a third embodiment of the present invention;

【図8】同実施形態に係るデータ配送システムの動作手
順の一例を示すフローチャート
FIG. 8 is an exemplary flowchart illustrating an example of an operation procedure of the data delivery system according to the embodiment.

【図9】同実施形態におけるチェックサム計算処理を説
明するための図
FIG. 9 is an exemplary view for explaining a checksum calculation process in the embodiment.

【図10】同実施形態におけるTCPパケットの構成例
を示す図
FIG. 10 is a diagram showing a configuration example of a TCP packet according to the embodiment;

【図11】同実施形態に係るデータ配送システムの動作
手順の他の例を示すフローチャート
FIG. 11 is an exemplary flowchart showing another example of the operation procedure of the data delivery system according to the embodiment;

【図12】パケットの生成について説明するための図FIG. 12 is a diagram for explaining generation of a packet;

【図13】従来のデータ配送システムの構成を示す図FIG. 13 is a diagram showing a configuration of a conventional data delivery system.

【図14】従来のデータ配送システムのデータ記憶装置
に記憶されるデータ構造を示す図
FIG. 14 is a diagram showing a data structure stored in a data storage device of a conventional data delivery system.

【符号の説明】[Explanation of symbols]

1…データ記憶装置 2…データ送信装置 3…パケット交換網 21…チェックサム計算部 22…一時記憶部 23…プロトコル処理部 24…パケット送信部 25…HTTP処理部 REFERENCE SIGNS LIST 1 data storage device 2 data transmission device 3 packet switching network 21 checksum calculation unit 22 temporary storage unit 23 protocol processing unit 24 packet transmission unit 25 HTTP processing unit

Claims (14)

【特許請求の範囲】[Claims] 【請求項1】データをパケット化して配送する際に各パ
ケットにそのパケットに対する検査符号を書き込むデー
タ配送システムであって、 複数個のデータと、あるデータに対してあるパケット転
送単位ごとに計算された検査符号とを記憶するための記
憶手段と、 前記記憶手段に記憶されている配送対象となったデータ
を分割してパケットを生成するとともに、前記記憶手段
に該データに対して該当するパケット転送単位による検
査符号が記憶されている場合には、その記憶されている
検査符号を利用して各パケットに書き込むべき検査符号
を計算する処理手段とを備えたことを特徴とするデータ
配送システム。
A data delivery system for writing a check code for each packet into each packet when the data is packetized and delivered, wherein a plurality of data and a certain data are calculated for each packet transfer unit. Storage means for storing the check code, and generating a packet by dividing the data to be delivered stored in the storage means, and transferring a packet corresponding to the data to the storage means. A data delivery system, comprising: when check codes are stored in units, processing means for calculating check codes to be written in each packet using the stored check codes.
【請求項2】前記記憶手段に前記配送対象となったデー
タに対して該当するパケット転送単位による検査符号が
記憶されていない場合に、該データに対する該当するパ
ケット転送単位ごとの検査符号を計算する手段を更に備
えたことを特徴とする請求項1に記載のデータ配送シス
テム。
2. A check code for each of the corresponding packet transfer units is calculated for the data to be delivered, if the check code for the corresponding data transfer unit is not stored in the storage means. 2. The data delivery system according to claim 1, further comprising means.
【請求項3】前記処理手段は、前記データを前記パケッ
ト転送単位で分割した各ブロックにそれぞれパケットヘ
ッダを付加してパケットを生成するとともに、各パケッ
トについて、それに含まれるブロックに対して計算され
た検査符号とそのパケットヘッダとから該パケットに対
する検査符号を計算し、これを該パケットヘッダの所定
の領域に書き込むことを特徴とする請求項1または2に
記載のデータ配送システム。
3. The processing means generates a packet by adding a packet header to each block obtained by dividing the data in the unit of the packet transfer, and calculates each packet with respect to a block included in the packet. 3. The data delivery system according to claim 1, wherein a check code for the packet is calculated from the check code and the packet header, and the calculated check code is written in a predetermined area of the packet header.
【請求項4】前記記憶手段は、より高速にアクセス可能
な第1の記憶手段とより大容量の第2の記憶手段とを含
み、 前記第1の記憶手段は、少なくとも、配送を行ったデー
タと、該データに対するその配送の際のパケット転送単
位ごとの検査符号とを、一定の記憶容量を上限として一
時記憶するためのものであり、 前記第2の記憶手段は、少なくとも、配送対象となるデ
ータを蓄積するためのものであることを特徴とする請求
項1ないし3のいずれか1項に記載のデータ配送システ
ム。
4. The storage means includes a first storage means which can be accessed at a higher speed, and a second storage means having a larger capacity, wherein the first storage means has at least data which has been delivered. And a check code for each packet transfer unit at the time of the delivery of the data, for temporarily storing the storage code as an upper limit, and the second storage means is at least a delivery target. 4. The data delivery system according to claim 1, wherein the data delivery system is for storing data.
【請求項5】前記第1および第2の記憶手段に前記配送
対象となったデータに対して該当するパケット転送単位
による検査符号が記憶されておらず、かつ、該データに
対する該当するパケット転送単位ごとの検査符号を計算
した際に、該計算した検査符号を前記第1の記憶手段に
記憶することを特徴とする請求項4に記載のデータ配送
システム。
5. A check code in a packet transfer unit corresponding to the data to be delivered, is not stored in the first and second storage means, and a packet transfer unit corresponding to the data is not stored. 5. The data delivery system according to claim 4, wherein when the check code for each is calculated, the calculated check code is stored in the first storage unit. 6.
【請求項6】前記第1の記憶手段の所定の記憶領域に上
書きをする際に、該上書きのために該第1の記憶手段か
ら削除されることになるデータに対する検査符号を、前
記第2の記憶手段に書き戻すことを特徴とする請求項4
または5に記載のデータ配送システム。
6. When overwriting a predetermined storage area of the first storage means, a check code for data to be deleted from the first storage means due to the overwriting is replaced with a check code for the second storage means. 5. The data is written back to the storage means.
Or the data delivery system according to 5.
【請求項7】前記検査符号はそれが書き込まれるパケッ
トの内容の完全性を検査するためのものであることを特
徴とする請求項1ないし6のいずれか1項に記載のデー
タ配送システム。
7. The data delivery system according to claim 1, wherein said check code is for checking the integrity of the contents of a packet to be written.
【請求項8】前記検査符号は逐次的に計算可能なもので
あることを特徴とする請求項1ないし7のいずれか1項
に記載のデータ配送システム。
8. The data delivery system according to claim 1, wherein said check code can be calculated sequentially.
【請求項9】前記パケット転送単位を、自システムが直
接接続されたネットワークのうち、データの配送を要求
したクライアントに通じるネットワークに送り出すこと
ができる最大セグメントサイズに等しい値とすることを
特徴とする請求項1ないし8のいずれか1項に記載のデ
ータ配送システム。
9. The packet transfer unit is set to a value equal to the maximum segment size that can be transmitted to a network connected to a client that has requested data delivery among networks directly connected to the own system. The data delivery system according to claim 1.
【請求項10】前記パケット転送単位を、自システムと
クライアントとの間に存在する各ネットワークに送り出
すことができる最大セグメントサイズのうち最も小さい
ものに等しい値とすることを特徴とする請求項1ないし
9のいずれか1項に記載のデータ配送システム。
10. The apparatus according to claim 1, wherein said packet transfer unit has a value equal to the smallest one of the maximum segment sizes that can be transmitted to each network existing between the own system and the client. 10. The data delivery system according to any one of items 9.
【請求項11】内容が変化し得る第1のデータ部分と内
容が不変の第2のデータ部分とからなるデータを配送対
象とする場合、該第1のデータ部分と該第2のデータ部
分とが異なるパケットに搭載されるようにパケットを生
成するとともに、データに対する検査符号に関する処理
は該第2のデータ部分についてのみ行うことを特徴とす
る請求項1ないし10のいずれか1項に記載のデータ配
送システム。
11. When the data to be delivered includes a first data portion whose contents can change and a second data portion whose contents do not change, the first data portion and the second data portion are not transmitted. The data according to any one of claims 1 to 10, wherein a packet is generated such that the packet is mounted on a different packet, and a process related to a check code for the data is performed only on the second data portion. Delivery system.
【請求項12】配送対象となるデータが、検査符号が計
算されていない第1のデータ部分と、検査符号が前記記
憶手段に記憶されている第2のデータ部分とから構成さ
れる場合、該第1のデータ部分と該第2のデータ部分と
が異なるパケットに搭載されるようにパケットを生成す
るとともに、該第2のデータ部分を含むパケットに対す
る検査符号は該記憶されている検査符号を利用して計算
することを特徴とする請求項1ないし11のいずれか1
項に記載のデータ配送システム。
12. When the data to be delivered is composed of a first data portion for which a check code is not calculated and a second data portion for which a check code is stored in said storage means. A packet is generated such that the first data portion and the second data portion are mounted on different packets, and a check code for a packet including the second data portion uses the stored check code. 12. The method according to claim 1, wherein the calculation is performed by:
Data delivery system described in the section.
【請求項13】前記第1のデータ部分はHTTPヘッダ
であり、前記第2のデータ部分はHTTPボディである
ことを特徴とする請求項11または12に記載のデータ
配送システム。
13. The data delivery system according to claim 11, wherein said first data part is an HTTP header, and said second data part is an HTTP body.
【請求項14】データをパケット化して配送する際に各
パケットにそのパケットに対する検査符号を書き込むデ
ータ配送システムのデータ配送方法であって、 クライアントからデータの配送を要求された際に、該デ
ータに対して該クライアントに応じて定まるパケット転
送単位ごとに計算された検査符号が自システム内に記憶
されているか否かを調べ、 記憶されていない場合には、前記データに対する前記パ
ケット転送単位ごとの検査符号を計算するとともに、該
計算した検査符号を自システム内に少なくとも一時的に
記憶し、 前記配送対象となったデータを分割してパケットを生成
するとともに、記憶されている該データに対する前記パ
ケット転送単位ごとの検査符号を利用して各パケットに
書き込むべき検査符号を計算することを特徴とするデー
タ配送方法。
14. A data delivery method for a data delivery system in which a check code for each packet is written in each packet when the data is packetized and delivered. It checks whether the check code calculated for each packet transfer unit determined according to the client is stored in the own system, and if not, checks the data for each packet transfer unit. Calculating a code, storing the calculated check code at least temporarily in the own system, generating a packet by dividing the data to be delivered, and transferring the packet to the stored data. Calculates the check code to be written in each packet using the check code for each unit Data delivery method to be.
JP4798299A 1999-02-25 1999-02-25 Data delivery system and data delivery method Pending JP2000253054A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4798299A JP2000253054A (en) 1999-02-25 1999-02-25 Data delivery system and data delivery method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4798299A JP2000253054A (en) 1999-02-25 1999-02-25 Data delivery system and data delivery method

Publications (1)

Publication Number Publication Date
JP2000253054A true JP2000253054A (en) 2000-09-14

Family

ID=12790532

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4798299A Pending JP2000253054A (en) 1999-02-25 1999-02-25 Data delivery system and data delivery method

Country Status (1)

Country Link
JP (1) JP2000253054A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006081033A (en) * 2004-09-10 2006-03-23 Canon Inc Communication control apparatus and method
JP2006081032A (en) * 2004-09-10 2006-03-23 Canon Inc Communication controller and communication control method
JP2014045462A (en) * 2012-08-29 2014-03-13 Nec Access Technica Ltd Packet transfer system, packet transfer method, and program therefor
WO2017090078A1 (en) * 2015-11-24 2017-06-01 三菱電機株式会社 Embedded device, communication method, and communication program

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006081033A (en) * 2004-09-10 2006-03-23 Canon Inc Communication control apparatus and method
JP2006081032A (en) * 2004-09-10 2006-03-23 Canon Inc Communication controller and communication control method
JP4612821B2 (en) * 2004-09-10 2011-01-12 キヤノン株式会社 Communication control apparatus and method
JP4612820B2 (en) * 2004-09-10 2011-01-12 キヤノン株式会社 Communication control apparatus and method
JP2014045462A (en) * 2012-08-29 2014-03-13 Nec Access Technica Ltd Packet transfer system, packet transfer method, and program therefor
WO2017090078A1 (en) * 2015-11-24 2017-06-01 三菱電機株式会社 Embedded device, communication method, and communication program
JPWO2017090078A1 (en) * 2015-11-24 2018-03-15 三菱電機株式会社 Embedded device, communication method, and communication program

Similar Documents

Publication Publication Date Title
US6412092B1 (en) Method and apparatus to reduce the cost of preparing the checksum for out bound data in network communication protocols by caching
USRE45070E1 (en) Receive processing with network protocol bypass
JP3962369B2 (en) Method and apparatus for improving the performance of web browser applications
Housel et al. WebExpress: A client/intercept based system for optimizing Web browsing in a wireless environment
KR100295730B1 (en) Differencing communication system
CA2218153C (en) Reduced overhead tcp communication system
JP4608195B2 (en) Data caching method
US6279041B1 (en) Methods, systems and computer program products for differencing data communications using a message queue
EP1732285B1 (en) Apparatus and methods for a high performance hardware network protocol processing engine
US6954801B1 (en) Method and system for reducing data volume transferred over a wireless communications network
US20030208600A1 (en) System and method for managing persistent connections in HTTP
CN101409675A (en) Network packet payload compression
WO2001035233A1 (en) System and method for managing connections between clients and a server with independent connection and data buffers
JP2006146923A (en) Method and apparatus for pre-packetized caching for network server
US20070291782A1 (en) Acknowledgement filtering
US20020083193A1 (en) Parallel network data transmission
WO2003089944A1 (en) Flexible streaming hardware
US7539204B2 (en) Data and context memory sharing
JP2000253054A (en) Data delivery system and data delivery method
Mallet et al. Operating system support for protocol boosters
US6976149B1 (en) Mapping technique for computing addresses in a memory of an intermediate network node
US7010548B2 (en) Sparse and non-sparse data management method and system
JP2007529039A (en) Connection management method, system, and program product
US7532644B1 (en) Method and system for associating multiple payload buffers with multidata message
JP3990354B2 (en) Communications system