JP2009009592A - Congestion control method - Google Patents

Congestion control method Download PDF

Info

Publication number
JP2009009592A
JP2009009592A JP2008205008A JP2008205008A JP2009009592A JP 2009009592 A JP2009009592 A JP 2009009592A JP 2008205008 A JP2008205008 A JP 2008205008A JP 2008205008 A JP2008205008 A JP 2008205008A JP 2009009592 A JP2009009592 A JP 2009009592A
Authority
JP
Japan
Prior art keywords
cache
uri
request
client terminal
congestion control
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
JP2008205008A
Other languages
Japanese (ja)
Other versions
JP4687758B2 (en
Inventor
Hideo Aoki
英郎 青木
Takashi Nishikado
隆 西門
Daisuke Yokota
大輔 横田
Yasuhiro Takahashi
泰弘 高橋
Fumio Noda
文雄 野田
Yoshiaki Takeshima
由晃 竹島
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 JP2008205008A priority Critical patent/JP4687758B2/en
Publication of JP2009009592A publication Critical patent/JP2009009592A/en
Application granted granted Critical
Publication of JP4687758B2 publication Critical patent/JP4687758B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To avoid and lessen faults (congestion) occurring in Web communication repeaters mainly comprising large scale web communication repeaters. <P>SOLUTION: An HTTP module 41 or a caching module 42 included in Web communication repeating software 31 performs method check about whether caching is possible or not and control is not possible (S101) and performs check (1) of a URI (S103) when caching is possible. When caching is possible in the step S103, URI hash retrieval (1) is performed (S107), and processing of one of normal caching (S111), priority caching (S113), and access suppression(S115) is determined. When caching is impossible in the step S101, URI check (2) (S105) and URI has retrieval (2) (S109) are performed, and processing of one of access suppression (S115), and access monitoring/control (S117) is determined. When control is impossible in the step S101, no-control (S119) is determined. <P>COPYRIGHT: (C)2009,JPO&INPIT

Description

本発明は、輻輳制御方法に係り、特に、クライアントとサーバ間のデータ通信における
輻輳制御方法に関する。
The present invention relates to a congestion control method, and more particularly to a congestion control method in data communication between a client and a server.

インターネットが急速に普及し、チケット予約や銀行・証券取引等、従来営業店窓口で
行われていたサービスもインターネットを介して提供されるようになってきた。また、通
信技術も進歩し、家庭やオフィスからだけでなく携帯電話などからでもサービスを享受で
きる環境が整ってきた。
With the rapid spread of the Internet, services such as ticket reservations and banking / securities transactions that were conventionally performed at sales outlets have come to be provided via the Internet. Communication technology has also advanced, and an environment has been established in which services can be enjoyed not only from homes and offices but also from mobile phones.

しかし、各クライアントが直接サーバにサービス要求をする従来の方式では、クライア
ントの要求がサーバに集中する。その結果、数多くの利用者からの要求に通信回線容量や
処理するサーバ装置の能力が対応できず、時間帯やアクセス先によっては、利用者がいく
ら要求をしてもなかなか応答が返ってこないという場合が発生するようになってきた。
However, in the conventional method in which each client directly requests a service from the server, client requests are concentrated on the server. As a result, the communication line capacity and the capacity of the server device to process cannot respond to requests from a large number of users, and depending on the time of day and the access destination, no matter how many requests the user makes, a response is not easily returned. The case has come to happen.

この点に関しては、一般に、Web通信中継装置を設置することで改善できる。クライ
アントからの要求は、Web通信中継装置と呼ばれる中継処理装置を経由して処理する。
Web通信中継装置では、過去の通信内容の一部を記憶(キャッシュという)する記憶部
(キャッシングモジュール)を設置することにより、記憶した通信に関しては、サーバへ
接続することなく要求を処理できる。プロキシ装置は、その有効性から多数の通信システ
ムで導入されている。
In general, this can be improved by installing a Web communication relay device. Requests from clients are processed via a relay processing device called a Web communication relay device.
In the Web communication relay device, by installing a storage unit (caching module) that stores a part of past communication contents (called a cache), a request for the stored communication can be processed without connecting to a server. Proxy devices have been introduced in many communication systems because of their effectiveness.

現在では、1000万人規模のユーザを対象とする通信システムに大規模Web通信中
継装置が設置されるようになってきた。このような通信システムでは、大規模Web通信
中継装置に対する要求が過剰に集中する。要求の集中が起こると、通信路の混雑や装置の
負荷が上昇するため、ユーザは通信システムが提供するサービスを利用しにくくなる。ま
た、過度な集中が継続すると大規模Web通信中継装置に障害(輻輳)が発生し動作を停
止する可能性がある。大規模Web通信中継装置の動作が停止すると通信システムとして
機能しなくなり、通信システムを利用する全ユーザがサービスを利用できなくなる。
At present, large-scale Web communication relay devices have been installed in communication systems targeting 10 million users. In such a communication system, requests for a large-scale Web communication relay device are excessively concentrated. When the concentration of requests occurs, the congestion of the communication path and the load on the device increase, so that it becomes difficult for the user to use the service provided by the communication system. In addition, if excessive concentration continues, a failure (congestion) may occur in the large-scale Web communication relay device, and operation may be stopped. When the operation of the large-scale Web communication relay device stops, it does not function as a communication system, and all users who use the communication system cannot use the service.

本発明では、以上の点を鑑み、大規模Web通信中継装置を主としたWeb通信中継装
置に発生する障害を回避、軽減することを目的とする。
An object of the present invention is to avoid or reduce a failure that occurs in a Web communication relay apparatus mainly including a large-scale Web communication relay apparatus in view of the above points.

上記の課題を解決するため、本発明では、例えば、Web通信中継装置がユーザの要求
する通信内容ごとに要求処理の制御を変更する機構を設ける。Web通信中継装置の負荷
が上昇するのを避けるために、実施する制御を判定する機構は、新たな処理部を設けるの
ではなく、Web通信中継装置に従来から存在する記憶部(キャッシングモジュール)を
利用する。
In order to solve the above-described problem, in the present invention, for example, a mechanism is provided for changing the control of request processing for each communication content requested by the Web communication relay device. In order to avoid an increase in the load on the Web communication relay device, the mechanism for determining the control to be executed does not provide a new processing unit, but instead uses a storage unit (caching module) that has existed in the Web communication relay device. Use.

Web通信中継装置は、現在装置が行っている通信内容と装置の状態を検証したうえで
、新たに到着した要求に対する処理方針を決定する。これにより、省略できる通信を検出
でき、通信量の削減することで、Web通信中継装置が輻輳状態に陥ることを回避する。
また、輻輳の原因となる通信処理を通常の処理とは異なる方法で処理する。例えば、輻輳
の原因となる通信を優先的に記憶する。これによりWeb通信中継装置が輻輳状態に陥る
のを回避する。
The Web communication relay device verifies the communication contents currently being performed by the device and the state of the device, and determines a processing policy for a newly arrived request. As a result, communication that can be omitted can be detected, and by reducing the amount of communication, the Web communication relay device is prevented from falling into a congestion state.
Further, the communication process causing the congestion is processed by a method different from the normal process. For example, communication that causes congestion is preferentially stored. As a result, the Web communication relay device is prevented from falling into a congestion state.

Web通信中継装置は、要求に対する制御を決定する過程で、輻輳状態に近づいている
通信を検出する。輻輳状態に近い通信に関しては、輻輳が改善されるまで処理をせず、ユ
ーザに対して通信を控えるようアナウンスする。これにより、輻輳状態の悪化を防止し、
Web通信中継装置が障害で利用不能となるのを回避する。
The Web communication relay device detects a communication approaching a congestion state in the process of determining control for the request. As for communication close to the congestion state, it is announced that the user will refrain from communication without processing until the congestion is improved. This prevents deterioration of the congestion state,
It is avoided that the Web communication relay device becomes unavailable due to a failure.

本発明の大規模Web通信中継装置では、ユーザが送信する要求を負荷分散装置で受信
する。負荷分散装置は、大規模Web通信中継装置内に設置した複数のWeb通信中継装
置に負荷を分散して送信する。Web通信中継装置では、キャッシングモジュールがユー
ザの要求を判断し、Web通信中継装置が行う制御を決定する。輻輳制御の種類としては
、要求集約、優先キャッシュ、アクセス抑止、アクセス監視および規制の4つがある。
In the large-scale Web communication relay device of the present invention, a request transmitted by a user is received by the load distribution device. The load distribution apparatus distributes the load to a plurality of Web communication relay apparatuses installed in the large-scale Web communication relay apparatus and transmits the distributed load. In the Web communication relay device, the caching module determines a user request and determines the control to be performed by the Web communication relay device. There are four types of congestion control: request aggregation, priority cache, access suppression, access monitoring, and regulation.

複数のユーザがキャッシュ可能なサービスの要求を行い、かつ、Web通信中継装置が
サーバに通信する必要がある場合、Web通信中継装置は、サーバに対しては複数の要求
が1つの要求に集約して通信する。これにより、Web通信中継装置とサーバ間の通信量
が削減する。また、サーバに対する要求が減少するため、サーバの負荷が上昇するのを防
止する。Web通信中継装置がサーバに対して行う輻輳を回避し、負荷も軽減するため、
Web通信中継装置は、ユーザに迅速に応答できる。
When multiple users make cacheable service requests and the Web communication relay device needs to communicate with the server, the Web communication relay device aggregates multiple requests into one request for the server. Communicate. This reduces the amount of communication between the Web communication relay device and the server. Moreover, since the request | requirement with respect to a server reduces, the load of a server is prevented from rising. In order to avoid congestion and reduce load on the server by the Web communication relay device,
The Web communication relay device can quickly respond to the user.

本発明のWeb通信中継装置は、特定のサービスを優先的にキャッシングする方法を提
供する。この方法を利用して、通信システム提供者は輻輳の原因となるサービスを優先的
にキャッシングするよう登録できる。従来の方法では、キャッシングするデータに優先、
非優先の区別がないため、重要なデータをWeb通信中継装置内で保持しつづけることが
できなかった。しかし、この方法により、Web通信中継装置は、ユーザが必要とするデ
ータを保持できる。ユーザは、より多くのサービスを高速に受けることできる。
The Web communication relay device of the present invention provides a method for preferentially caching a specific service. Using this method, the communication system provider can register to preferentially cache a service that causes congestion. Traditional methods take precedence over the data being cached,
Since there is no distinction between non-priority, important data cannot be kept in the Web communication relay device. However, with this method, the Web communication relay device can hold data required by the user. The user can receive more services at high speed.

本発明のWeb通信中継装置は、特定のサービスをユーザが利用するのを抑止する方法
を提供する。この方法を利用して、通信システム提供者は、輻輳の原因となり通信システ
ムが提供すべきではないサービスをユーザに提供しないことができる。提供しないサービ
スに関する要求には、Web通信中継装置がユーザに対して提供できない旨の返答を行い
要求処理が終了する。
The Web communication relay device of the present invention provides a method for preventing a user from using a specific service. By using this method, the communication system provider can prevent the user from providing services that should cause the congestion and should not be provided by the communication system. In response to a request related to a service that is not provided, a response that the Web communication relay device cannot be provided to the user is returned, and the request processing is terminated.

従来では、抑止機構を持たないため、Web通信中継装置は不要なサーバとの通信に資
源を浪費していた。また、ユーザは、要求したサービスが提供されないまま待ち続けたり
、何度も通信を試みる可能性があった。本発明の方法を利用することで、サービスが提供
されないことが迅速に把握できる。
Conventionally, since there is no suppression mechanism, the Web communication relay device wastes resources for communication with an unnecessary server. In addition, there is a possibility that the user keeps waiting without being provided with the requested service or tries to communicate many times. By using the method of the present invention, it can be quickly grasped that the service is not provided.

本発明のWeb通信中継装置は、サービス接続数が確認できる要求について、その接続
数を計測する。要求集約が不可能な要求にもかかわらず、同一の要求が非常に多い場合は
、一定数以上の要求を接続不可として処理できる。この際、Web通信中継装置は、ユー
ザに対して要求結果として接続不可の理由を通知する。これにより、サーバの負荷を軽減
するとともにWeb通信中継装置の輻輳を回避する。また、ユーザは、要求したサービス
が提供されないまま待つことなく、サービスの提供状況を把握できる。
The Web communication relay device of the present invention measures the number of connections for a request that can confirm the number of service connections. If there are many identical requests even though requests cannot be aggregated, a certain number or more of requests can be processed as being inaccessible. At this time, the Web communication relay device notifies the user of the reason for the connection failure as a request result. This reduces the load on the server and avoids congestion of the Web communication relay device. Also, the user can grasp the service provision status without waiting for the requested service not to be provided.

本発明の第1の解決手段によると、クライアント端末とサーバ装置の間に設けられた通
信中継装置における輻輳制御方法であって、クライアント端末からの要求に従い、キャッ
シュヒットした際は記憶されている要求内容をクライアント端末に送信し、キャッシュヒ
ットしなかった場合又はキャッシュを利用しない要求の場合、要求内容をサーバ装置から
受信してクライアント端末に送信するための前記輻輳制御方法において、入力されたクラ
イアント端末からの要求に基づき、キャッシュ可又はキャッシュ不可かを判断するメソッ
ドチェックステップと、前記メソッドチェックステップによりキャッシュ可であると判断
された場合、クライアント端末からの要求に含まれるURIのチェックを行いキャッシュ
可又は不可かを判断する第1URIチェックステップと、前記第1URIチェックステッ
プによる判断に従い、キャッシュ可であれば、URIハッシュの検索を行い、通常キャッ
シュ、優先キャッシュ又はアクセス抑止のいずれかの処理が行われるか決定する第1UR
Iハッシュ検索ステップと、前記第1URIハッシュ検索ステップによる決定に従い、通
常キャッシュ処理、優先キャッシュ処理又はアクセス抑止処理のいずれかの処理を行うス
テップとを含む輻輳制御方法を提供する。
According to a first solving means of the present invention, there is provided a congestion control method in a communication relay device provided between a client terminal and a server device, the request stored when a cache hit occurs according to a request from the client terminal. In the congestion control method for transmitting content to the client terminal and receiving the request content from the server device and transmitting the request content to the client terminal in the case of a cache hit or a request not using the cache, the input client terminal A method check step for determining whether cache is possible or not cacheable based on a request from the client, and if it is determined that cache is possible by the method check step, the URI included in the request from the client terminal is checked and cached Or 1U to judge whether or not And I checking step, according to the judgment by the first 1URI checking step, if cacheable, perform a search of the URI hash, usually a cache, the 1UR to determine any processing priority cache or access suppression is performed
There is provided a congestion control method including an I hash search step and a step of performing any one of a normal cache process, a priority cache process, and an access suppression process according to the determination by the first URI hash search step.

本発明の第2の解決手段によると、クライアント端末とサーバ装置の間に設けられた通
信中継装置における輻輳制御方法であって、クライアント端末からの要求に従い、キャッ
シュヒットした際は記憶されている要求内容をクライアント端末に送信し、キャッシュヒ
ットしなかった場合又はキャッシュを利用しない要求の場合、要求内容をサーバ装置から
受信してクライアント端末に送信するための前記輻輳制御方法において、入力されたクラ
イアント端末からの要求に基づき、キャッシュ可又はキャッシュ不可かを判断するメソッ
ドチェックステップと、前記メソッドチェックステップによりキャッシュ不可であると判
断された場合、クライアント端末からの要求に含まれるURIのチェックを行う第2UR
Iチェックステップと、URIハッシュの検索を行い、アクセス抑止又はアクセス監視・
規制のいずれかの処理が行われるか決定する第2URIハッシュ検索ステップと、前記第
2URIハッシュ検索ステップによる決定に従い、アクセス抑止処理又はアクセス監視・
規制処理のいずれかの処理を行うステップとを含む輻輳制御方法を提供する。
According to a second solving means of the present invention, there is provided a congestion control method in a communication relay device provided between a client terminal and a server device, the request stored when a cache hit is made in accordance with a request from the client terminal. In the congestion control method for transmitting content to the client terminal and receiving the request content from the server device and transmitting the request content to the client terminal in the case of a cache hit or a request not using the cache, the input client terminal A method check step for determining whether or not cache is possible based on a request from the client, and a second UR that checks the URI included in the request from the client terminal when the method check step determines that cache is not possible
I check step and URI hash search, access suppression or access monitoring
A second URI hash search step for determining whether any processing of restriction is performed, and an access suppression process or access monitoring /
A congestion control method including a step of performing any one of the restriction processes.

本発明の第3の解決手段によると、クライアント端末とサーバ装置の間に設けられた通
信中継装置における輻輳制御方法であって、クライアント端末からの要求に従い、キャッ
シュヒットした際は記憶されている要求内容をクライアント端末に送信し、キャッシュヒ
ットしなかった場合又はキャッシュを利用しない要求の場合、要求内容をサーバ装置から
受信してクライアント端末に送信するための前記輻輳制御方法において、入力されたクラ
イアント端末からの要求に基づき、キャッシュ可又はキャッシュ不可かを判断するメソッ
ドチェックステップと、前記メソッドチェックステップによりキャッシュ可であると判断
された場合、クライアント端末からの要求に含まれるURIのチェックを行いキャッシュ
可又は不可かを判断する第1URIチェックステップと、前記第1URIチェックステッ
プによる判断に従い、キャッシュ可であれば、URIハッシュの検索を行い、通常キャッ
シュ又は優先キャッシュのいずれかの処理が行われるか決定する第1URIハッシュ検索
ステップと、前記メソッドチェックステップによりキャッシュ不可であると判断された場
合、クライアント端末からの要求に含まれるURIのチェックを行う第2URIチェック
ステップと、前記第1URIチェックステップによる判断によりキャッシュ不可である場
合又は前記第2URIチェックステップを経て移行され、URIハッシュの検索を行い、
アクセス抑止又はアクセス監視・規制のいずれかの処理が行われるか決定する第2URI
ハッシュ検索ステップと、前記第1又は第2URIハッシュ検索ステップによる決定に従
い、通常キャッシュ処理、優先キャッシュ処理、アクセス抑止処理、アクセス監視・規制
処理のいずれかの処理を行うステップとを含む輻輳制御方法を提供する。
According to a third solving means of the present invention, there is provided a congestion control method in a communication relay device provided between a client terminal and a server device, the request stored when a cache hit occurs according to a request from the client terminal. In the congestion control method for transmitting content to the client terminal and receiving the request content from the server device and transmitting the request content to the client terminal in the case of a cache hit or a request not using the cache, the input client terminal A method check step for determining whether cache is possible or not cacheable based on a request from the client, and if it is determined that cache is possible by the method check step, the URI included in the request from the client terminal is checked and cached Or 1U to judge whether or not A first URI hash search step for determining whether a normal cache or a priority cache is processed by performing a URI hash search if the cache is possible according to the determination by the I check step and the first URI check step; When the method check step determines that the cache is not possible, the second URI check step for checking the URI included in the request from the client terminal, and the case where the cache is not cacheable by the determination by the first URI check step or the first 2 URI check step is transferred to search URI hash,
A second URI that determines whether access suppression or access monitoring / regulation is performed
A congestion control method comprising: a hash search step; and a step of performing any one of a normal cache process, a priority cache process, an access suppression process, and an access monitoring / restriction process according to the determination by the first or second URI hash search step provide.

本発明を利用することにより、通信システム提供者は、従来よりも信頼性のある通信シ
ステムをユーザに提供することができる。また、ユーザは、従来よりも少ない待ち時間で
応答の得られる通信システムを利用できる。
By utilizing the present invention, a communication system provider can provide a user with a more reliable communication system than before. In addition, the user can use a communication system that can obtain a response with less waiting time than in the past.

A.ハード構成と概略構成
図1に、通信システムの構成図を示す。通信システム100は、例えば、クライアント端
末1−1〜1−iと、大規模Web通信中継装置2と、Web通信装置3−1〜3−jと
を含む。クライアント端末1−1〜1−iは、例えば、Webコンテンツの取得(アクセ
ス)要求、データ送受信、画面表示等を行うユーザ用(端末)装置である。Web通信装
置3−1〜3−jは、例えば、クライアント端末1−1〜1−iからの要求に応じてWe
bコンテンツを送出する装置であって、ディスク容量を上限としてコンテンツデータを格
納している。なお、本実施の形態では、主に大規模なWeb通信装置について説明してい
るが、これに限らず、本発明は、適宜の規模の通信装置に適用することができる。
A. Hardware Configuration and Schematic Configuration FIG. 1 shows a configuration diagram of a communication system. The communication system 100 includes, for example, client terminals 1-1 to 1-i, a large-scale Web communication relay device 2, and Web communication devices 3-1 to 3-j. The client terminals 1-1 to 1-i are, for example, user (terminal) devices that perform Web content acquisition (access) requests, data transmission / reception, screen display, and the like. The Web communication apparatuses 3-1 to 3-j, for example, respond to requests from the client terminals 1-1 to 1-i.
b A device that sends out content, and stores content data up to the disc capacity. Although the present embodiment mainly describes a large-scale Web communication apparatus, the present invention is not limited to this, and the present invention can be applied to a communication apparatus of an appropriate scale.

大規模Web通信中継装置2は、例えば、データ中継装置21と、認証装置22と、シ
ステム管理装置23と、レイヤ7負荷分散装置24と、Web通信中継装置25−1〜2
5−nと、アクセス規制装置26とを備える。
The large-scale Web communication relay device 2 includes, for example, a data relay device 21, an authentication device 22, a system management device 23, a layer 7 load distribution device 24, and Web communication relay devices 25-1 and 25-2.
5-n and an access restriction device 26.

データ中継装置21は、例えば、大規模Web通信中継装置2内外の各装置、Web通
信装置3−1〜3−j及びクライアント端末1−1〜1−iとの間でデータ送受信を中継
する装置であって、送受信データパケットのヘッダーに記された宛先装置へパケットを転
送する。認証装置22は、大規模Web通信中継装置2が提供する中継サービスが、予め
登録された(正規の)クライアント端末1−1〜1−iと正規のWeb通信装置3−1〜
3−j間のものであることを認証するための装置であって、ユーザ情報やサービス情報を
登録したデータベースを備える。システム管理装置23は、例えば、大規模Web通信中
継装置2内の各装置を集中的に管理するための装置である。
The data relay device 21 is, for example, a device that relays data transmission / reception between devices inside and outside the large-scale Web communication relay device 2, Web communication devices 3-1 to 3-j, and client terminals 1-1 to 1-i. Then, the packet is transferred to the destination device indicated in the header of the transmission / reception data packet. The authentication device 22 includes (regular) client terminals 1-1 to 1-i in which relay services provided by the large-scale web communication relay device 2 are registered in advance and regular web communication devices 3-1 to 3-1.
3-j is an apparatus for authenticating that it is between j, and includes a database in which user information and service information are registered. The system management device 23 is a device for centrally managing each device in the large-scale Web communication relay device 2, for example.

レイヤ7負荷分散装置24は、例えば、複数のクライアント端末1−1〜1−iからの
Webコンテンツ取得要求を、複数のWeb通信中継装置25−1〜25−nに振分け、
中継処理の負荷を分散する装置であって、送受信パケットヘッダーや、Webコンテンツ
要求・送信ヘッダーに記された宛先等の記述を解釈して振分け経路を定め、受信したデー
タパケットをその経路へ送信する。Web通信中継装置25−1〜25−nは、例えば、
クライアント端末1−1〜1−iからのWebコンテンツ取得要求を受け付け、Web通
信装置3−1〜3−jに要求を中継したり、クライアント端末1−1〜1−iとWeb通
信装置3−1〜3−j間のデータ送受信を中継する装置である。アクセス規制装置26は
、例えば、多量のWebコンテンツ取得要求が短時間に集中した場合に、大規模Web通
信中継装置2の処理限界を超えないよう、アクセス量(取得要求量)を規制するための装
置である。
For example, the layer 7 load distribution device 24 distributes Web content acquisition requests from the plurality of client terminals 1-1 to 1-i to the plurality of Web communication relay devices 25-1 to 25-n,
A device that distributes the load of relay processing, interprets the description of the destination, etc. described in the transmission / reception packet header and the Web content request / transmission header, determines the distribution route, and transmits the received data packet to the route . Web communication relay devices 25-1 to 25-n are, for example,
Web content acquisition requests from the client terminals 1-1 to 1-i are accepted, and the requests are relayed to the Web communication apparatuses 3-1 to 3-j, or the client terminals 1-1 to 1-i and the Web communication apparatus 3- It is a device that relays data transmission / reception between 1 to 3-j. For example, when a large amount of Web content acquisition requests are concentrated in a short time, the access control device 26 controls the access amount (acquisition request amount) so as not to exceed the processing limit of the large-scale Web communication relay device 2. Device.

図2に、Web通信中継装置の構成図を示す。Web通信中継装置25−1は、例えば
、主記憶装置30と、この主記憶装置30に記憶されたWeb通信中継ソフトウェア31
と、入出力装置32と、プロセッサ33と、レイヤ7負荷分散装置24とデータパケット
の送受信を行う通信装置34と、二次記憶装置35と、これらの各部材を相互の接続する
バス36とを備える。
FIG. 2 shows a configuration diagram of the Web communication relay device. The Web communication relay device 25-1 includes, for example, a main storage device 30 and Web communication relay software 31 stored in the main storage device 30.
An input / output device 32, a processor 33, a communication device 34 that transmits / receives data packets to / from the layer 7 load distribution device 24, a secondary storage device 35, and a bus 36 that interconnects these members. Prepare.

二次記憶装置35は、例えば、磁気ディスクなどの装置(不揮発性記憶装置)であって
、プログラム及び各種の設定ファイルを記憶する。二次記憶装置35は、以下のような役
割を担う。
(1)Web通信中継装置25−1のOS(オペレーティングシステム)データを格納し
、装置起動時にそのデータが主記憶装置30にロードされる。
(2)OS上で動作する様々なアプリケーションプログラム(データ・設定ファイル)を
格納し、アプリケーションの起動時に主記憶装置30にロードされる。
(3)Web通信中継装置25−1が中継するWebコンテンツデータをキャッシュデー
タとして格納する。
The secondary storage device 35 is a device (nonvolatile storage device) such as a magnetic disk, for example, and stores a program and various setting files. The secondary storage device 35 plays the following role.
(1) OS (operating system) data of the Web communication relay device 25-1 is stored, and the data is loaded into the main storage device 30 when the device is activated.
(2) Various application programs (data / setting files) operating on the OS are stored and loaded into the main storage device 30 when the application is started.
(3) Web content data relayed by the Web communication relay device 25-1 is stored as cache data.

なお、実施例のWeb通信中継装置では、クライアントからの要求をセッションと呼ば
れる処理単位で処理している(1つの要求が1つのセッションに対応する)。セッション
がキャッシュを用いる際にキャッシュエントリを確保する。セッションがサーバと通信し
てキャッシングをするときは、キャッシュエントリを所有している必要がある。本輻輳制
御方式は、個々のセッション処理の中で行われる。
In the Web communication relay device of the embodiment, a request from a client is processed in a processing unit called a session (one request corresponds to one session). Reserve a cache entry when a session uses a cache. When a session communicates with a server for caching, it must own a cache entry. This congestion control method is performed in individual session processing.

図3は、大規模Web通信中継装置におけるデータの送受信についての説明図である。
なお、説明の便宜上、上述した部材と同一部材には同一符号を付し、構成、機能は同様で
ある。また、各Web通信中継装置25−1〜25−nは同様の構成であるので、ここで
は、Web通信中継装置25−1について説明する。
FIG. 3 is an explanatory diagram for data transmission / reception in the large-scale Web communication relay device.
For convenience of explanation, the same members as those described above are denoted by the same reference numerals, and the configuration and function are the same. Since each of the Web communication relay devices 25-1 to 25-n has the same configuration, only the Web communication relay device 25-1 will be described here.

Web通信中継ソフトウェア31は、Web通信中継装置25−1に記憶されており、
例えば、HTTPモジュール41と、キャッシングモジュール42と、プロキシエンジン
43とを含む。ここで、図中のデータa〜dは、a:クライアント端末1−1〜1−iの
要求、b:Web通信中継ソフトウェア31の応答、c:Web通信中継ソフトウェア3
1の要求、d:Web通信装置3−1〜3−jの応答をそれぞれ示す。
The Web communication relay software 31 is stored in the Web communication relay device 25-1,
For example, an HTTP module 41, a caching module 42, and a proxy engine 43 are included. Here, data a to d in the figure are: a: request of the client terminals 1-1 to 1-i, b: response of the Web communication relay software 31, and c: Web communication relay software 3.
1 request and d: responses of the Web communication apparatuses 3-1 to 3-j, respectively.

なお、キャッシュヒットのときは、データa、bのみが通信路を流れる(図4参照)。
また、キャッシュミスヒットのときは、データa、c、d,bの順でデータが通信路を流
れる(図5参照)。以下に各処理について概略説明する。
When a cache hit occurs, only data a and b flow through the communication path (see FIG. 4).
In the case of a cache miss hit, data flows through the communication path in the order of data a, c, d, and b (see FIG. 5). Hereinafter, each process will be outlined.

a:クライアントの要求
まず、クライアント端末1−1〜1−iからクライアント要求が送信されると、大規模W
eb通信中継装置2は、それを受信する。大規模Web通信中継装置2のデータ中継装置
21では、要求をレイヤ7負荷分散装置24に転送し、レイヤ7負荷分散装置24は、い
ずれかのWeb通信中継装置(ここでは、Web中継装置25−1)に送る。Web通信
中継装置25−1内のWeb通信中継ソフトウェア31では、プロキシエンジン43を経
て、HTTPモジュール41とキャッシングモジュール42が、そのクライアント要求を
受信する。
a: Client request First, when a client request is transmitted from the client terminals 1-1 to 1-i, a large-scale W
The eb communication relay device 2 receives it. In the data relay device 21 of the large-scale Web communication relay device 2, the request is transferred to the layer 7 load distribution device 24. The layer 7 load distribution device 24 transmits one of the Web communication relay devices (in this case, the Web relay device 25- Send to 1). In the Web communication relay software 31 in the Web communication relay device 25-1, the HTTP module 41 and the caching module 42 receive the client request via the proxy engine 43.

b:Web通信中継ソフトウェアの応答
つぎに、クライアント要求を受信したWeb通信中継装置25−1は、通信内容を解析す
る。ここで、Web中継装置25−1が、クライアント要求に対応しているWebページ
をキャッシュで記憶している場合、その内容をレイヤ7負荷分散装置24、データ中継装
置21を経て、クライアント端末1−1へ送信する。
b: Response of Web communication relay software Next, the Web communication relay device 25-1 that has received the client request analyzes the communication contents. Here, when the Web relay device 25-1 stores a Web page corresponding to the client request in the cache, the content is passed through the layer 7 load distribution device 24 and the data relay device 21, and then the client terminal 1-1. Send to 1.

c:Web通信中継ソフトウェアの応答
一方、Web中継装置25−1が、クライアント要求に対応しているWebページをキャ
ッシュで記憶していない場合、及び/又はクライアント要求にキャッシュ利用不可の指示
がある場合、Web中継装置25−1は、クライアント要求に関する情報を、レイヤ7負
荷分散装置24、データ中継装置21を経て、Web通信装置3−1〜3−jの該当する
装置へ送信する。
c: Response of the Web communication relay software On the other hand, when the Web relay device 25-1 does not store the Web page corresponding to the client request in the cache, and / or when the client request is instructed not to use the cache The Web relay device 25-1 transmits information about the client request to the corresponding devices of the Web communication devices 3-1 to 3-j via the layer 7 load distribution device 24 and the data relay device 21.

d:Web通信装置の応答
Web通信装置3−1〜3−jは、クライアント要求を受信すると、クライアント端末に
、データ中継装置21を介してクライアント要求に対応するWebページを応答する。さ
らに、データ中継装置21は、レイヤ7負荷分散装置24を経てWeb中継装置25−1
に、その通信内容やWebページを転送する。Web中継装置25−1では、そのWeb
ページをキャッシングモジュール42にキャッシュする。
d: Response of Web Communication Device When receiving the client request, the Web communication devices 3-1 to 3-j respond to the client terminal with a Web page corresponding to the client request via the data relay device 21. Further, the data relay apparatus 21 passes through the layer 7 load distribution apparatus 24 and the Web relay apparatus 25-1.
The communication contents and Web page are transferred. In the Web relay device 25-1, the Web
The page is cached in the caching module 42.

図4は、キャッシュヒット時の説明図及びシーケンス図である。なお、ここでのシーケ
ンスは、構成図中の点線の矢印に対応している。まず、クライアント端末1−1〜1−i
からの要求信号(データa)は、大規模Web通信中継装置2内のデータ中継装置21、
レイヤ7負荷分散装置24を経て、Web通信中継ソフトウェア31内のHTTPモジュ
ール41を経て、キャッシングモジュール42に入力され、ここで、キャッシュヒットと
判定される。つぎに、Webページは、Web通信中継ソフトウェア31の応答信号(デ
ータb)として、再び、キャッシングモジュール42、HTTPモジュール41、レイヤ
7負荷分散装置24、データ中継装置21を経て、クライアント端末1−1〜1−iに送
信される。
FIG. 4 is an explanatory diagram and a sequence diagram when a cache hit occurs. The sequence here corresponds to a dotted arrow in the configuration diagram. First, the client terminals 1-1 to 1-i
Request signal (data a) from the data relay device 21 in the large-scale Web communication relay device 2,
After passing through the layer 7 load balancer 24, the HTTP module 41 in the Web communication relay software 31 is input to the caching module 42, where it is determined as a cache hit. Next, the Web page again passes through the caching module 42, the HTTP module 41, the layer 7 load distribution device 24, and the data relay device 21 as a response signal (data b) of the Web communication relay software 31, and then the client terminal 1-1. To 1-i.

図5は、キャッシュミスヒット時の説明図及びシーケンス図である。なお、ここでのシ
ーケンスは、構成図中の点線の矢印に対応している。まず、クライアント端末1−1〜1
−iからの要求信号(データa)は、大規模Web通信中継装置2内のデータ中継装置2
1、レイヤ7負荷分散装置24を経て、Web通信中継ソフトウェア31内のHTTPモ
ジュール41を経て、キャッシングモジュール42に入力され、ここで、キャッシュミス
ヒットと判定される。つぎに、Web通信中継ソフトウェア31の要求信号(データc)
が、キャッシングモジュール42、HTTPモジュール41、レイヤ7負荷分散装置24
、データ中継装置21を経て、Web通信装置3−1〜3−jに送信される。さらに、こ
れに応答してWeb通信装置3−1〜3−jのWebページを含む応答信号(データd)
は、大規模Web通信中継装置2内のデータ中継装置21、レイヤ7負荷分散装置24を
経て、Web通信中継ソフトウェア31内のHTTPモジュール41を経て、キャッシン
グモジュール42に入力される。つぎに、Webページは、Web通信中継ソフトウェア
31の応答信号(データb)として、再び、キャッシングモジュール42、HTTPモジ
ュール41、レイヤ7負荷分散装置24、データ中継装置21を経て、クライアント端末
1−1〜1−iに送信される。
FIG. 5 is an explanatory diagram and a sequence diagram when a cache miss occurs. The sequence here corresponds to a dotted arrow in the configuration diagram. First, client terminals 1-1 to 1-1
The request signal (data a) from -i is the data relay device 2 in the large-scale Web communication relay device 2
1. Via the layer 7 load balancer 24, via the HTTP module 41 in the Web communication relay software 31, and then input to the caching module 42, where it is determined as a cache miss hit. Next, a request signal (data c) of the Web communication relay software 31
The caching module 42, the HTTP module 41, and the layer 7 load balancer 24
The data is transmitted to the Web communication devices 3-1 to 3-j via the data relay device 21. Further, in response to this, a response signal (data d) including the Web page of the Web communication devices 3-1 to 3-j.
Is input to the caching module 42 via the data relay device 21 and the layer 7 load distribution device 24 in the large-scale Web communication relay device 2, and the HTTP module 41 in the Web communication relay software 31. Next, the Web page again passes through the caching module 42, the HTTP module 41, the layer 7 load distribution device 24, and the data relay device 21 as a response signal (data b) of the Web communication relay software 31, and then the client terminal 1-1. To 1-i.

図6は、輻輳時の説明図及びシーケンス図である。なお、ここでのシーケンスは、構成
図中の点線の矢印に対応している。まず、クライアント端末1−1〜1−iからの要求信
号(データa)は、大規模Web通信中継装置2内のデータ中継装置21、レイヤ7負荷
分散装置24を経て、Web通信中継ソフトウェア31内のHTTPモジュール41を経
て、キャッシングモジュール42に入力される。
FIG. 6 is an explanatory diagram and a sequence diagram at the time of congestion. The sequence here corresponds to a dotted arrow in the configuration diagram. First, request signals (data a) from the client terminals 1-1 to 1-i are passed through the data relay device 21 and the layer 7 load balancer 24 in the large-scale Web communication relay device 2 and then in the Web communication relay software 31. Then, the data is input to the caching module 42 via the HTTP module 41.

ここで、Web通信中継ソフトウェア31は、例えば、Web通信装置3−1〜3−j
が輻輳中の場合、規制コンテンツを生成する。ここで、例えば、ある一定以上の要求がひ
とつのWebページに集中した場合、輻輳と判断される。この規制コンテンツは、データ
bに含まれ、クライアント端末1−1〜1−iに送信される。その際、規制コンテンツは
、Web通信中継ソフトウェア31の応答信号(データb)として、再び、キャッシング
モジュール42、HTTPモジュール41、レイヤ7負荷分散装置24、データ中継装置
21を経て、クライアント端末1−1〜1−iに送信される。
Here, the Web communication relay software 31 is, for example, the Web communication devices 3-1 to 3-j.
If is congested, regulated content is generated. Here, for example, when requests of a certain level or more are concentrated on one Web page, it is determined as congestion. This restricted content is included in the data b and transmitted to the client terminals 1-1 to 1-i. At that time, the restricted content is sent again as a response signal (data b) of the Web communication relay software 31 via the caching module 42, the HTTP module 41, the layer 7 load balancer 24, and the data relay device 21 to the client terminal 1-1. To 1-i.

図7は、アクセス抑止対象コンテンツが要求された場合の説明図及びシーケンス図であ
る。なお、ここでのシーケンスは、構成図中の点線の矢印に対応している。まず、クライ
アント端末1−1〜1−iからのアクセス抑止対象コンテンツを含む要求信号(データa
)は、大規模Web通信中継装置2内のデータ中継装置21、レイヤ7負荷分散装置24
を経て、Web通信中継ソフトウェア31内のHTTPモジュール41を経て、キャッシ
ングモジュール42に入力される。ここで、Web通信中継ソフトウェア31は、例えば
、クライアント端末1−1〜1−iからアクセス抑止対象コンテンツが要求されている、
抑止アナウンスを生成する。この抑止アナウンスは、データbに含まれ、クライアント端
末1−1〜1−iに送信される。その際、抑止アナウンスは、Web通信中継ソフトウェ
ア31の応答信号(データb)として、再び、キャッシングモジュール42、HTTPモ
ジュール41、レイヤ7負荷分散装置24、データ中継装置21を経て、クライアント端
末1−1〜1−iに送信される。
FIG. 7 is an explanatory diagram and a sequence diagram when an access suppression target content is requested. The sequence here corresponds to a dotted arrow in the configuration diagram. First, a request signal (data a) containing access-suppressed content from the client terminals 1-1 to 1-i.
) Is the data relay device 21 and the layer 7 load balancer 24 in the large-scale Web communication relay device 2.
Then, the data is input to the caching module 42 via the HTTP module 41 in the Web communication relay software 31. Here, for example, the Web communication relay software 31 requests the access suppression target content from the client terminals 1-1 to 1-i.
Generate deterrence announcements. This inhibition announcement is included in the data b and is transmitted to the client terminals 1-1 to 1-i. At that time, the suppression announcement is sent again as a response signal (data b) of the Web communication relay software 31 via the caching module 42, the HTTP module 41, the layer 7 load distribution device 24, and the data relay device 21, and then to the client terminal 1-1. To 1-i.

図8は、Web通信中継ソフトウェア31の内部構成についての説明図である。Web
通信中継ソフトウェア31は、主記憶装置30に記憶される。Web通信中継ソフトウェ
ア31は、例えば、データ領域50と、セッション処理プロセス45とを含む。セッショ
ン処理プロセス45は、例えば、HTTPモジュール41、キャッシングモジュール42
、プロキシエンジン43を含む。プロキシエンジン43は、Web通信中継ソフトウェア
31の基本機能を実現し、通信データ送受信やセッション管理などを行う。HTTPモジ
ュール41は、HTTPパケットの処理を行う。キャッシングモジュール42は、HTT
Pのキャッシングと輻輳制御を行う。また、データ領域は、例えば、プロキシエンジン使
用領域、HTTPモジュール使用領域、キャッシングモジュール使用領域を含む。さらに
、キャッシングモジュール使用領域は、例えば、URIハッシュ、URIエントリ及びU
RI文字列、アクセス規制/抑止、メッセージ及びフォーマット、キャッシュエントリ領
域、キャッシュデータ領域を含む。
FIG. 8 is an explanatory diagram of the internal configuration of the Web communication relay software 31. Web
The communication relay software 31 is stored in the main storage device 30. The Web communication relay software 31 includes, for example, a data area 50 and a session processing process 45. The session processing process 45 includes, for example, an HTTP module 41 and a caching module 42.
A proxy engine 43. The proxy engine 43 realizes the basic functions of the Web communication relay software 31, and performs communication data transmission / reception, session management, and the like. The HTTP module 41 processes an HTTP packet. The caching module 42 is HTT
P caching and congestion control. The data area includes, for example, a proxy engine use area, an HTTP module use area, and a caching module use area. Further, the caching module use area includes, for example, a URI hash, a URI entry, and a U
Includes RI string, access restriction / suppression, message and format, cache entry area, cache data area.

図9は、URIハッシュとURIエントリによるURI管理についての説明図である。
URIハッシュ70は、例えば、Key0〜nのURIエントリのリスト70−0〜70
−nを含む。Key0のURIエントリのリスト70−0は、例えば、URIエントリ7
1として、URI1(監視・規制)71−1と、URI2(抑止)71−2とを含む。ま
た、Key2のURIエントリのリスト70−2は、例えば、URIエントリ71として
、URI3(監視・規制)71−3と、URI4(通常キャッシュ)71−4と、URI
5(優先キャッシュ)71−5とを含む。Key nのURIエントリのリスト70−n
は、例えば、URIx(通常キャッシュ)71−xを含む。
FIG. 9 is an explanatory diagram of URI management using a URI hash and a URI entry.
The URI hash 70 is, for example, a list 70-0 to 70 of URI entries of Key0 to n.
-N is included. A list 70-0 of URI entries of Key0 is, for example, URI entry 7
1 includes a URI 1 (monitoring / regulation) 71-1 and a URI 2 (suppression) 71-2. In addition, the URI entry list 70-2 of the Key2 includes, for example, a URI entry 71 as a URI 3 (monitoring / regulation) 71-3, a URI 4 (normal cache) 71-4, and a URI.
5 (priority cache) 71-5. List of URI entries for Key n 70-n
Includes, for example, URIx (normal cache) 71-x.

ここで、URI4(通常キャッシュ)71−4とURIx(通常キャッシュ)71−x
は、通常キャッシュエントリに通常キャッシュデータを含む。また、URI5(優先キャ
ッシュ)71−5は、優先キャッシュエントリに優先キャッシュデータを含む。ここで、
URI管理について詳細に説明する。URIエントリは、URIをハッシュ関数にかけて
算出したハッシュキーを元にして、同一ハッシュキーでリスト化して管理している。この
例では、Key0にはURI1(監視・規制)71−1、URI2(抑止)71−2、K
ey2にはURI3(監視・規制)71−3、URI4(通常キャッシュ)71−4、…
のURIエントリがリストされている。また、リスト中の各々のURIは、要求集約で監
視規制対象になっていたり、オペレータ指示で抑止対象や優先キャッシュ対象になってい
たり、通常キャッシュであったり、渾然一体となってリスト化されている。このうち、例
えば、通常キャッシュであるURI4(通常キャッシュ)71−4のエントリは、通常キ
ャッシュエントリの特定のアドレスを示し、同様に、優先キャッシュであるURI5(優
先キャッシュ)71−5のエントリは、優先キャッシュエントリの特定のアドレスを示し
ている。
Here, URI4 (normal cache) 71-4 and URIx (normal cache) 71-x
Includes normal cache data in the normal cache entry. The URI 5 (priority cache) 71-5 includes the priority cache data in the priority cache entry. here,
The URI management will be described in detail. The URI entry is managed by listing the same hash key based on the hash key calculated by applying the URI to the hash function. In this example, Key0 includes URI1 (monitoring / regulation) 71-1, URI2 (suppression) 71-2, K
In ey2, URI3 (monitoring / regulation) 71-3, URI4 (normal cache) 71-4,...
URI entries are listed. In addition, each URI in the list is subject to monitoring restrictions by request aggregation, deterrence target or priority cache target by operator instruction, normal cache, etc. Yes. Among these, for example, an entry of URI 4 (normal cache) 71-4 that is a normal cache indicates a specific address of the normal cache entry, and similarly, an entry of URI 5 (priority cache) 71-5 that is a priority cache is A specific address of the priority cache entry is shown.

また、主記憶装置30上のWeb通信中継ソフトウェア内キャッシングモジュール使用
領域には、例えば、通常キャッシュエントリ領域、優先キャッシュエントリ領域、キャッ
シュデータ領域が設けてあり、それぞれ所定の大きさに区切って準備されている。実際の
URI4(通常キャッシュ)71−4のコンテンツデータは、URI4(通常キャッシュ
)71−4のキャッシュエントリで示されたアドレスの通常キャッシュエントリ領域に格
納され、コンテンツの大きさによって必要な量だけ通常キャッシュデータ領域が追加され
る。同様に、実際のURI5(優先キャッシュ)71−5のコンテンツデータは、URI
5(優先キャッシュ)71−5のキャッシュエントリで示されたアドレスの優先キャッシ
ュエントリ領域に格納され、コンテンツの大きさによって必要な量だけ優先キャッシュデ
ータ領域が追加される。
In addition, in the caching module use area in the Web communication relay software on the main storage device 30, for example, a normal cache entry area, a priority cache entry area, and a cache data area are provided, which are prepared by dividing each into predetermined sizes. ing. The content data of the actual URI 4 (normal cache) 71-4 is stored in the normal cache entry area at the address indicated by the cache entry of the URI 4 (normal cache) 71-4. A cache data area is added. Similarly, the content data of the actual URI 5 (priority cache) 71-5 is the URI.
5 (priority cache) 71-5 is stored in the priority cache entry area of the address indicated by the cache entry, and a priority cache data area is added by a necessary amount depending on the size of the content.

つぎに、主記憶装置30に記憶されるキャッシングモジュール使用領域について説明す
る。なお、キャッシングモジュール使用領域は、主記憶装置30以外の適宜の記憶装置内
に設けることができる。図10は、キャッシングモジュール使用領域内のデータ構造につ
いての説明図(1)である。キャッシングモジュール使用領域は、例えば、URIエント
リ71、キャッシュエントリ72とを含む。ここで、URIエントリ71としては、例え
ば、URI(例:http://www.abcde.co.jp/index.html)、制御タイプ(例:通常キャッ
シュ)、アクセスカウンタ(例:3)、キャッシュエントリ情報を含む。
Next, a caching module use area stored in the main storage device 30 will be described. The caching module usage area can be provided in an appropriate storage device other than the main storage device 30. FIG. 10 is an explanatory diagram (1) of the data structure in the caching module use area. The caching module use area includes a URI entry 71 and a cache entry 72, for example. Here, as the URI entry 71, for example, URI (example: http://www.abcde.co.jp/index.html), control type (example: normal cache), access counter (example: 3), cache, etc. Contains entry information.

キャッシュエントリ72は、例えば、URIエントリ情報(例:http://www.abcde.co.
jp/index.htmlに関するURIエントリ)、キャッシュエントリタイプ(例:通常キャッ
シュ)、キャッシュの状態(例:キャッシング中)、オーナーセッション(例:セッショ
ンNo.n)、応答待ちセッションリスト(例:セッションNo.x,No.y)、キャ
ッシュデータ情報を含む。なお、優先キャッシュエントリと通常キャッシュエントリは、
キャッシュエントリタイプの値が異なるが、内容は同様である。また、キャッシングモジ
ュール42内では、優先キャッシュエントリは、運用者の要求がない限り削除されない。
但し、通常キャッシュエントリは、資源が不足すると削除される。
The cache entry 72 is, for example, URI entry information (for example, http://www.abcde.co.
URI entry for jp / index.html), cache entry type (example: normal cache), cache status (example: caching in progress), owner session (example: session No. n), response waiting session list (example: session number) .X, No. y), including cache data information. The priority cache entry and normal cache entry are
Although the cache entry type values are different, the contents are the same. In the caching module 42, the priority cache entry is not deleted unless requested by the operator.
However, the normal cache entry is deleted when resources are insufficient.

図11は、キャッシングモジュール使用領域内のデータ構造についての説明図(2)で
ある。キャッシングモジュール使用領域は、また、例えば、キャッシュデータ73を含む
。キャッシュデータ73は、例えば、キャッシュエントリ情報(例:http://www.abcde.c
o.jp/index.htmlに関するキャッシュエントリ)、キャッシュデータタイプ(例:通常キ
ャッシュ)、キャッシュデータを参照しているセッション数(例:3)、次のキャッシュ
データ情報、キャッシュデータを含む。なお、優先キャッシュデータと通常キャッシュデ
ータは、キャッシュデータタイプの値が異なるが、内容は同様である。また、キャッシン
グモジュール42内では、優先キャッシュデータは、運用者の要求がない限り削除されな
い。但し、通常キャッシュデータは、資源が不足すると削除される。
FIG. 11 is an explanatory diagram (2) of the data structure in the caching module use area. The caching module use area also includes, for example, cache data 73. The cache data 73 is, for example, cache entry information (eg, http: //www.abcde.c
cache entry for o.jp/index.html), cache data type (example: normal cache), number of sessions referring to the cache data (example: 3), the following cache data information, and cache data. The priority cache data and the normal cache data have the same contents although the cache data type value is different. In the caching module 42, the priority cache data is not deleted unless requested by the operator. However, normal cache data is deleted when resources are insufficient.

B.詳細動作
つぎに、キャッシング及び輻輳制御処理を説明する。図12は、キャッシング及び輻輳制
御処理について基本的な処理を示すフローチャートである。まず、Web通信中継ソフト
ウェア31は、キャッシュチェックおよび制御種別判定を行う(S201)。Web通信
中継ソフトウェア31は、この判定結果に応じて、例えば、通常キャッシュの制御(S2
03)、優先キャッシュの制御(S205)、アクセス抑止の制御(S207)、アクセ
ス監視・規制の制御(S209)、制御なし(S211)のいずれか又は複数の制御を行
い、処理を終了する。
B. Detailed Operation Next, caching and congestion control processing will be described. FIG. 12 is a flowchart showing basic processing for caching and congestion control processing. First, the Web communication relay software 31 performs a cache check and a control type determination (S201). The Web communication relay software 31 performs, for example, normal cache control (S2) according to the determination result.
03), priority cache control (S205), access suppression control (S207), access monitoring / regulation control (S209), or no control (S211), or a plurality of controls are performed, and the process ends.

以下に、キャッシュチェックおよび輻輳制御処理判定について詳細に説明する。図13
は、キャッシュチェックおよび輻輳制御処理判定についてのフローチャートである。まず
、Web通信中継ソフトウェア31に含まれるキャッシングモジュール42は、キャッシ
ュ可又は不可か制御不可能かに関してメソッドチェックを行い(S101)、キャッシュ
可であれば、URIのチェック(1)を行う(S103)。キャッシングモジュール42
は、ステップS103でキャッシュ可であれば、URIハッシュ検索(1)(S107)
を行い、通常キャッシュ(S111)、優先キャッシュ(S113)、アクセス抑止(S
115)のいずれかの処理の決定を行う。
Hereinafter, the cache check and the congestion control process determination will be described in detail. FIG.
These are flowcharts about cache check and congestion control processing determination. First, the caching module 42 included in the Web communication relay software 31 performs a method check as to whether the cache is possible, impossible, or controllable (S101), and if it is cacheable, checks the URI (1) (S103). . Caching module 42
If cache is possible in step S103, URI hash search (1) (S107)
Normal cache (S111), priority cache (S113), access suppression (S
115).

また、キャッシングモジュール42は、ステップS101のメソッドチェックにおいて
キャッシュ不可であれば、URIのチェック(2)(S105)を行い、さらに、URI
ハッシュ検索(2)(S109)を行い、アクセス抑止(S115)、アクセス監視・規
制(S117)のいずれかの処理の決定を行う。なお、このURIハッシュ検索(2)は
、ステップS103でキャッシュ不可である場合でも行われる。また、HTTPモジュー
ル41又はキャッシングモジュール42は、ステップS101のメソッドチェックで制御
不可能である場合は、制御なし(S119)に決定する。ここで、上述の各処理について
詳細に説明する。
If the cache is not cacheable in the method check in step S101, the caching module 42 performs URI check (2) (S105), and further, the URI.
A hash search (2) (S109) is performed, and a determination is made as to one of access suppression (S115) and access monitoring / regulation (S117). Note that this URI hash search (2) is performed even in the case where caching is not possible in step S103. If the HTTP module 41 or the caching module 42 cannot be controlled by the method check in step S101, it determines that there is no control (S119). Here, each process described above will be described in detail.

(S101のメソッドチェック)
メソッドチェックでは、次のような処理が実行される。
(a)まず、クライアントのHTTP要求のリクエストメソッドを取得する。
(b)ここで、リクエストメソッドがGET、HEADなら「キャッシュ可」の場合の処
理を行う。
(c)一方、リクエストメソッドがOPTIONS、POST、DELETE、TRAC
E、CONNECTなら「キャッシュ不可」の場合の処理を行う。
(d)さらに、リクエストメソッドがRFC2616で定義されていない拡張メソッドで
ある場合は、「制御不可能」の場合の処理を行う。
(Method check in S101)
In the method check, the following processing is executed.
(A) First, a request method of a client HTTP request is acquired.
(B) Here, if the request method is GET or HEAD, the processing in the case of “cacheable” is performed.
(C) On the other hand, the request method is OPTIONS, POST, DELETE, TRAC
If it is E or CONNECT, the process in the case of “non-cacheable” is performed.
(D) Further, when the request method is an extension method not defined in RFC 2616, processing in the case of “uncontrollable” is performed.

図14は、クライアントのHTTP要求についての説明図である。クライアントのHT
TP要求80は、例えば、図示のように、リクエストメソッド(ここでは、GET)と、
URI(ここでは、http://www.abcde.co.jp/)とを含む。この例では、上述の処理(a
)でリクエストメソッドとしてGET'が取得され、「キャッシュ可」の処理に移行する
FIG. 14 is an explanatory diagram of a client HTTP request. Client HT
The TP request 80 is, for example, as shown in FIG.
URI (here http://www.abcde.co.jp/). In this example, the above processing (a
), GET ′ is acquired as the request method, and the process proceeds to “cacheable”.

(ステップS103、105のURIチェック(1)(2))
(a) ここでは、まず、スキームがHTTPであることを確認する。
(b) つぎに、パスをチェックし、文字「?」を含んでいるかどうか検査する。
(c) また、パスをチェックし、.cgi,.asp を含んでいるかどうか検査する。
(d) さらに、クエリ有無を判断して、クエリを外す加工処理を行う。なお、「クエリ
が有る」とは、”?”がついていることを指す。
(e) (b),(c)で該当するものがあった場合は「URIの加工」をおこなった文
字列を共用メモリに確保する。
(f) (b),(c)で該当した場合は、「キャッシュ不可」の場合の処理を行い、一
方、(b)、(c)で該当しなかった場合は、「キャッシュ可」の場合で処理を進める。
(URI check in steps S103 and S105 (1) (2))
(A) First, it is confirmed that the scheme is HTTP.
(B) Next, the path is checked to see if it contains the character “?”.
(C) Also check the path to see if it contains .cgi, .asp.
(D) Further, the presence / absence of the query is determined, and processing for removing the query is performed. Note that “there is a query” means that “?” Is attached.
(E) If there is a corresponding item in (b) or (c), the character string subjected to the “URI processing” is secured in the shared memory.
(F) If applicable in (b) and (c), perform processing in the case of “non-cacheable”, while if not applicable in (b) and (c), in the case of “cacheable” Proceed with the process.

図15は、URIの加工についての説明図である。URIは、例えば、図示のように、
URI(例えば、http: //www.abcde.co.jp/index.html)のうち、「http:」をスキーム
、「//www.abcde.co.jp/index.html」をパスとする。また、URIの加工とは、例えば、
図示のように、URI(例えば、http://www.abcde.co.jp/a.cgi?a1=arg1&a2=arg2)に付
加されているクエリを外すことである。この例では、クエリは、?a1=arg1&a2=arg2'であ
り、これを除いて、http://www.abcde.co.jp/a.cgi とする。
FIG. 15 is an explanatory diagram of URI processing. For example, the URI is
Among URIs (for example, http: //www.abcde.co.jp/index.html), “http:” is a scheme and “//www.abcde.co.jp/index.html” is a path. The URI processing is, for example,
As shown in the figure, the query attached to the URI (for example, http://www.abcde.co.jp/a.cgi?a1=arg1&a2=arg2) is removed. In this example, the query is? A1 = arg1 & a2 = arg2 ', and except for this, it is assumed that http://www.abcde.co.jp/a.cgi.

このように、URIチェックでは、URIハッシュ検索の前に、CGIなど動的に生成
されるページのチェックを行う。具体的には、URIで示されたファイルの識別子と、C
GI特有のパラメータ(引数)の有無によって判定を行い、CGIなど動的に生成される
ページであると判定した場合には、引数の省略処理を行って、簡略化した短いURIを生
成する。これにより、さまざまなクエリを持つCGIを、クエリを含めた別々のURIと
して処理するのではなく、1つのURIとして処理し、アクセスの監視・規制を実現する
。また、URIのチェック(1)では、上記判定と共に、キャッシュ可否の判定を行う。
一方、URIのチェック(2)では、予めキャッシュ不可のURIであることが分かって
いるため、キャッシュ可否判定処理を行わない。
Thus, in the URI check, a dynamically generated page such as CGI is checked before the URI hash search. Specifically, the identifier of the file indicated by the URI, and C
A determination is made based on the presence or absence of a parameter (argument) peculiar to the GI, and when it is determined that the page is a dynamically generated page such as CGI, an argument omission process is performed to generate a simplified short URI. As a result, the CGI having various queries is not processed as separate URIs including the queries, but is processed as one URI to realize access monitoring / regulation. In addition, in the URI check (1), whether or not cache is possible is determined together with the above determination.
On the other hand, in the URI check (2), since it is known in advance that the URI is not cacheable, the cache availability determination process is not performed.

(ステップS107、109のURIハッシュ検索(1)(2))
ステップS107のURIハッシュ検索(1)では、次のような処理を実行する。例えば
、メモリ上にキャッシュの領域があり、クライアント端末と通信しているURIはメモリ
上に記憶されており、そのメモリテーブルをURIハッシュとすることができる。
(a)URIハッシュを検索する。
(b)URIエントリにヒットした場合は、URIエントリの制御タイプを参照し、そこ
に記述されている制御に決定する。
(c)URIエントリにヒットしなかった場合は、「通常キャッシュ」処理に決定する。
(URI hash search in steps S107 and 109 (1) (2))
In the URI hash search (1) in step S107, the following processing is executed. For example, there is a cache area on the memory, the URI communicating with the client terminal is stored on the memory, and the memory table can be a URI hash.
(A) Search the URI hash.
(B) When a URI entry is hit, the control type of the URI entry is referred to, and the control described there is determined.
(C) If no URI entry is hit, the “normal cache” processing is determined.

ステップS109のURIハッシュ検索(2)では、
(a)「URIの加工」が行われなかった場合は、HTTP要求にあるURIを使ってU
RIハッシュを検索する。
(b)URIエントリにヒットした場合は、URIエントリの制御フラグを参照し、そこ
に記述されている制御に決定する。
(c)URIエントリにヒットしなかった場合は、「アクセス監視・規制」処理に決定す
る。
In the URI hash search (2) in step S109,
(A) If “URI processing” is not performed, the URI in the HTTP request is used to
Search for the RI hash.
(B) When a URI entry is hit, the control described in the URI entry is referred to and the control described there is determined.
(C) If the URI entry is not hit, the “access monitoring / regulation” process is determined.

(ステップS111の通常キャッシュに決定)
図16は、通常キャッシュ処理についてのフローチャートである。
(1)まず、キャッシュヒットを判定する(S111−1)。
(1−1)ヒットしなかった場合は、最初のアクセス要求としてWebサーバへ要求を中
継する処理に移り、キャッシングモジュール42は、例えば、(a)通常URIエントリ
の作成、(b)通常キャッシュエントリの作成、(c)URIハッシュへ登録、(d)キ
ャッシュエントリにオーナの設定、等を行う通常キャッシング前処理を行う(S111−
11)。つぎに、Webサーバへ要求を転送し(S111−12)、Webサーバから応
答を受信し(S111−13)、さらに、クライアントへ応答を転送する(S111−1
4)。つぎに、キャッシングモジュール42は、通常キャッシングを行う(ステップS1
11−15)。ここで、ステップS111−15の通常キャッシングでは、例えば、次の
処理が行われる。
(a)通常キャッシュデータの確保。
(b)Web通信装置の応答をコピー。
(c) (a)、(b)をデータがあるまで続ける。
(d)応答待ちセッションリストに登録があるか検査する。
(e) (d)で応答待ちセッションがある場合は、処理開始指示を送る。
(f)オーナの設定を解除する。
(Determined as a normal cache in step S111)
FIG. 16 is a flowchart for normal cache processing.
(1) First, a cache hit is determined (S111-1).
(1-1) If there is no hit, the process proceeds to the process of relaying the request to the Web server as the first access request. The caching module 42, for example, (a) creates a normal URI entry, (b) normal cache entry. (C) registration in the URI hash, (d) normal caching pre-processing for setting the owner in the cache entry, etc. (S111-
11). Next, the request is transferred to the Web server (S111-12), the response is received from the Web server (S111-13), and the response is transferred to the client (S111-1).
4). Next, the caching module 42 performs normal caching (step S1).
11-15). Here, in the normal caching in step S111-15, for example, the following processing is performed.
(A) Securing normal cache data.
(B) Copy the response of the Web communication device.
(C) Continue (a) and (b) until there is data.
(D) Check whether there is a registration in the response waiting session list.
(E) If there is a response waiting session in (d), a process start instruction is sent.
(F) Cancel the owner setting.

(1−2)ヒットした場合、要求集約判定に移る(S111−2)。ここでは、キャッ
シングモジュール42は、例えば、Webサーバへのアクセス負荷を軽減するため、キャ
ッシュできるコンテンツに対して、アクセス要求を一つに集約する機能を備える。この機
能は、Webサーバから応答が戻る前に、同一コンテンツに対して複数の要求が重複した
場合、最初の要求だけWebサーバへ中継し、残りの要求は一旦処理待ち状態とし、最初
の要求に対する応答が戻ってから処理を再開するものである。具体的には、集約処理を以
下のように行う。ここで、ステップS111−2の集約判定処理では、(a)キャッシュ
の状態は、準備完了となっているかを判定し、準備完了となっているのであれば、Noと
する。また、(b)キャッシュエントリのオーナは、現在判定処理を行っているセッショ
ンかを判定し、他のセッションがオーナである場合は、Yesとし、そうでなければ、N
oとする。
(1-2) If there is a hit, the process proceeds to request aggregation determination (S111-2). Here, for example, the caching module 42 has a function of consolidating access requests into one content that can be cached in order to reduce the access load to the Web server. When multiple requests for the same content are duplicated before the response is returned from the Web server, this function relays only the first request to the Web server, and temporarily sets the remaining requests to the processing wait state. The process is resumed after the response is returned. Specifically, the aggregation process is performed as follows. Here, in the aggregation determination process in step S111-2, (a) it is determined whether the state of the cache is ready. If it is ready, No is set. Also, (b) the owner of the cache entry determines whether it is a session that is currently performing the determination process. If the other session is the owner, the answer is Yes, otherwise N
Let o.

(2)要求集約判定でYesの場合、Webサーバへ中継した要求の処理が終わるまで
、処理を中止する(S111−3)。ここで、ステップS111−3の処理可能となるま
で待機する処理では、(a)キャッシュエントリの応答待ちセッションリストにセッショ
ンを登録し、(b)呼び出されるまで待機する。
(2) If the request aggregation determination is Yes, the processing is stopped until the processing of the request relayed to the Web server is completed (S111-3). Here, in the process of waiting until processing is possible in step S111-3, (a) a session is registered in the response waiting session list of the cache entry, and (b) waits until it is called.

(3)つぎに、ステップS111−3の後、処理が可能になると、又は、ステップS1
11−2で集約を行わない場合、キャッシュ有効期限判定に移る(S111−4)。ここ
で、ステップS111−4のキャッシュ有効期限の判定では、キャッシュ中のRFC26
16に記述されている通りに有効期限を計算し、期限内であれば、Yesとし、期限切れ
であれば、Noとする。
(3) Next, after step S111-3, when processing becomes possible, or step S1.
When the aggregation is not performed in 11-2, the process proceeds to the cache expiration date determination (S111-4). Here, in the determination of the cache expiration date in step S111-4, the RFC 26 in the cache is used.
The expiration date is calculated as described in 16, and if it is within the time limit, it is set as Yes, and if it is expired, it is set as No.

キャッシュ有効期限判定でYesの場合、キャッシュからデータを取り出す(S111
−5)。ここで、ステップS111−5のキャッシュ取出しでは、(a)必要な分だけキ
ャッシュデータをアクセスする。つぎに、ステップS111−5で取り出したデータを、
クライアントへデータを転送する(S111−6)。なお、通常、このケースでは、直前
に新鮮なデータがキャッシュされている確率が高い(何故なら、最初の要求がWebサー
バからデータを取ってくるのを待っていた)ので、キャッシュが有効期限内にある確率も
高い。結果として、Webサーバへのアクセス要求数が減り、アクセス負荷を軽減できる
If the cache expiration date determination is Yes, data is extracted from the cache (S111).
-5). Here, in the cache fetching in step S111-5, (a) cache data is accessed as much as necessary. Next, the data extracted in step S111-5 is
Data is transferred to the client (S111-6). Normally, in this case, there is a high probability that fresh data has been cached immediately before (because the first request was waiting for data to be fetched from the Web server), so the cache is within the expiration date. There is also a high probability. As a result, the number of access requests to the Web server is reduced, and the access load can be reduced.

(4)一方、キャッシュ有効期限判定でNoの場合、Webサーバへ要求を転送し(S
111−7)、Webサーバから応答を受信し(S111−8)、さらに、クライアント
へ応答を転送する(S111−9)。つぎに、キャッシングモジュール42は、通常キャ
ッシングを行う(S111−10)。なお、(1−1)で、最初のアクセスとして処理し
た要求は、通常キャッシング処理(S111−10)で、処理が中止になっている要求が
存在するか検査する。存在した場合は、処理の再開指示を出す。
(4) On the other hand, if the cache expiration date determination is No, the request is transferred to the Web server (S
111-7), receives a response from the Web server (S111-8), and further transfers the response to the client (S111-9). Next, the caching module 42 performs normal caching (S111-10). Note that the request processed as the first access in (1-1) is checked in the normal caching process (S111-10) to see if there is a request whose process has been canceled. If it exists, an instruction to restart the process is issued.

なお、ステップS111−1の前に、後述のような監視・規制の処理を追加することも
できる。その際、後述のように、まず、監視・規制前処理(S117−1)を追加して、
その後に、規制を行うか否か判定する(S117−2)。ここで、規制を行わない場合、
ステップS111−1に移行する。一方、規制を行う場合、規制メッセージを取得する処
理(S117−3)、規制メッセージよりコンテンツを作成する処理(S117−4)、
及び、クライアントへコンテンツを転送する処理(S117−5)を実行する。さらに、
ステップS111−6、S111−10、S111−15の後に、監視・規制後処理(1
17−9)が追加され、その実行後、処理終了となる。
Note that monitoring / regulation processing as described below may be added before step S111-1. At that time, as described later, first, a pre-monitoring / regulation process (S117-1) is added,
Thereafter, it is determined whether or not the regulation is to be performed (S117-2). If you do not regulate here,
The process proceeds to step S111-1. On the other hand, when the restriction is performed, a process of obtaining a restriction message (S117-3), a process of creating content from the restriction message (S117-4),
And the process (S117-5) which transfers a content to a client is performed. further,
After steps S111-6, S111-10, and S111-15, post-monitoring / regulatory processing (1
17-9) is added, and after the execution, the processing ends.

図17は、Web通信装置のHTTP応答の説明図である。このWeb通信装置のHT
TP応答85は、例えば、ステップS111−8、13に含まれるものである。
FIG. 17 is an explanatory diagram of an HTTP response of the Web communication apparatus. HT of this Web communication device
The TP response 85 is included in steps S111-8 and S13, for example.

図18は、Webコンテンツデータの管理についての説明図である。まず、Web通信
中継ソフトウェア31内のキャッシングモジュール42は、Web通信装置HTTP応答
85を受信する。キャッシングモジュール42は、Web通信装置HTTP応答85を、
例えば、Web通信装置HTTP応答Part 1を含むキャッシュエントリ55−1と
、Web通信装置応答データPart 2を含むキャッシュデータ55−2と、Web通
信装置応答データPart nを含むキャッシュデータ55−nとに区分し、キャッシン
グモジュール使用領域に格納する。
FIG. 18 is an explanatory diagram for managing Web content data. First, the caching module 42 in the web communication relay software 31 receives the web communication apparatus HTTP response 85. The caching module 42 sends the Web communication device HTTP response 85 to
For example, the cache entry 55-1 including the Web communication device HTTP response Part 1, the cache data 55-2 including the Web communication device response data Part 2, and the cache data 55-n including the Web communication device response data Part n. Partition and store in the caching module usage area.

(ステップS113の優先キャッシュに決定)図19は、優先キャッシュ処理について
のフローチャートである。なお、ここでのフローチャートは、上述したステップS111
の通常キャッシュ処理と比較して、通常キャッシュが優先キャッシュとなったことで変更
された処理以外は、同様である。まず、キャッシングモジュール42は、キャッシュはヒ
ットしたか否かを判定し(S113−1)、キャッシュヒットがあれば、集約を行うか否
かを判定する(S113−2)。ここで、ステップS113−2の集約判定処理では、(
a)キャッシュの状態は、準備完了となっているかを判定し、準備完了となっているので
あれば、Noする。また、(b)優先キャッシュエントリのオーナは、現在判定処理を行
っているセッションかを判定し、他のセッションが持ち主である場合は、Yesとし、そ
うでなければ、Noとする。
(Determined as the priority cache in step S113) FIG. 19 is a flowchart of the priority cache processing. In addition, the flowchart here shows step S111 mentioned above.
Compared with the normal cache processing, the processing is the same except for the processing that has been changed because the normal cache has become the priority cache. First, the caching module 42 determines whether or not the cache has hit (S113-1), and if there is a cache hit, determines whether or not to perform aggregation (S113-2). Here, in the aggregation determination process of step S113-2, (
a) The state of the cache is determined to be ready, and if it is ready, No. Also, (b) the owner of the priority cache entry determines whether the session is currently being determined, and if the other session is the owner, it is set to Yes, otherwise it is set to No.

つぎに、キャッシングモジュール42は、ステップS113−2で集約を行う場合、処
理可能になるまで待つ(S113−3)。ここで、ステップS113−3の処理可能にな
るまで待つ処理では、(a)キャッシュエントリの応答待ちセッションリストにセッショ
ンを登録し、(b)呼び出されるまで待機する。つぎに、キャッシングモジュール42は
、キャッシュは有効期限内か否かを判定する(S113−4)。ここで、ステップS11
3−4のキャッシュ有効期限の判定では、RFC2616に記述されている通りに有効期
限を計算し、期限内であれば、Yesとし、期限切れであれば、Noとする。ここで、キ
ャッシュが有効期限内であれば、キャッシュを取出す(S113−5)。ここで、ステッ
プS113−5のキャッシュ取出しでは、(a)必要な分だけキャッシュデータをアクセ
スする。つぎに、キャッシングモジュール42は、クライアントへキャッシュを転送する
(S113−6)。
Next, when the aggregation is performed in step S113-2, the caching module 42 waits until processing is possible (S113-3). Here, in the process of waiting until processing is possible in step S113-3, (a) a session is registered in the response waiting session list of the cache entry, and (b) waits until it is called. Next, the caching module 42 determines whether or not the cache is within the expiration date (S113-4). Here, step S11
In the determination of the cache expiration date of 3-4, the expiration date is calculated as described in RFC 2616. If it is within the expiration date, Yes is set, and if it is expired, No is set. If the cache is within the expiration date, the cache is taken out (S113-5). Here, in the cache fetching in step S113-5, (a) the cache data is accessed as much as necessary. Next, the caching module 42 transfers the cache to the client (S113-6).

また、キャッシングモジュール42は、ステップS113−4でキャッシュが有効期限
内でない場合、Webサーバへ要求を転送し(S113−7)、Webサーバから応答を
受信し(S113−8)、さらに、クライアントへ応答を転送する(S113−9)。つ
ぎに、キャッシングモジュール42は、優先キャッシングを行う(S113−10)。こ
こで、ステップS113−10の優先キャッシングでは、(a)優先キャッシュデータの
確保、(b)Web通信装置の応答をコピー、(c) (a)、(b)をデータがあるま
で続ける、(d)応答待ちセッションリストに登録があるか検査する、(e) (d)で
応答待ちセッションがある場合は、処理開始指示を送る、(f)オーナの設定を解除する
、等を行う。
If the cache is not within the expiration date in step S113-4, the caching module 42 forwards the request to the Web server (S113-7), receives a response from the Web server (S113-8), and further transmits to the client. The response is transferred (S113-9). Next, the caching module 42 performs priority caching (S113-10). Here, in the priority caching in step S113-10, (a) securing the priority cache data, (b) copying the response of the Web communication device, (c) continuing (a) and (b) until there is data ( d) Check whether there is a registration in the response waiting session list, (e) If there is a response waiting session in (d), send a processing start instruction, (f) cancel the owner setting, etc.

また、キャッシングモジュール42は、ステップS113−1でキャッシュがヒットし
なかった場合、通常キャッシング前処理を行う(S113−11)。ここで、ステップS
113−11の優先キャッシング前処理としては、例えば、(a)優先URIエントリの
作成、(b)優先キャッシュエントリの作成、(c)URIハッシュへ登録、(d)優先
キャッシュエントリにオーナを設定することが挙げられる。
Further, if the cache does not hit in step S113-1, the caching module 42 performs normal caching pre-processing (S113-11). Here, step S
As the pre-cache processing of 113-11, for example, (a) creation of a priority URI entry, (b) creation of a priority cache entry, (c) registration in a URI hash, and (d) setting an owner in the priority cache entry. Can be mentioned.

また、キャッシングモジュール42は、ステップS113−11の後、Webサーバへ
要求を転送し(S113−12)、Webサーバから応答を受信し(S113−13)、
さらに、クライアントへ応答を転送する(S113−14)。つぎに、キャッシングモジ
ュール42は、優先キャッシングを行う(S113−15)。なお、ステップS113−
15での優先キャッシングは、ステップS113−10での処理と同様である。
In addition, after step S113-11, the caching module 42 transfers the request to the Web server (S113-12), receives a response from the Web server (S113-13), and
Further, the response is transferred to the client (S113-14). Next, the caching module 42 performs priority caching (S113-15). Step S113-
The preferential caching at 15 is the same as the processing at step S113-10.

なお、ステップS113−1の前に、後述のような監視・規制の処理を追加することも
できる。その際、後述のように、まず、監視・規制前処理(S117−1)を実行し、そ
の後に、規制を行うか否か判定する(S117−2)。ここで、規制を行わない場合、ス
テップS111−1に移行する。一方、規制を行う場合、規制メッセージを取得する処理
(S117−3)、規制メッセージよりコンテンツを作成する処理(S117−4)、及
び、クライアントへコンテンツを転送する処理(S117−5)を実行する。さらに、ス
テップS113−6、S113−10、S113−15の後に、監視・規制後処理(11
7−9)が追加され、その実行後、処理終了となる。
In addition, before the step S113-1, monitoring / regulation processing as described below may be added. At that time, as will be described later, first, pre-monitoring / regulation processing (S117-1) is executed, and then it is determined whether or not regulation is to be performed (S117-2). Here, when not regulating, it transfers to step S111-1. On the other hand, when the restriction is performed, a process of obtaining a restriction message (S117-3), a process of creating content from the restriction message (S117-4), and a process of transferring the content to the client (S117-5) are executed. . Further, after the steps S113-6, S113-10, and S113-15, the post-monitoring / regulation processing (11
7-9) is added, and after the execution, the processing ends.

(ステップS115のアクセス抑止に決定)
アクセス抑止コンテンツの作成方法としては、例えば、アクセス抑止メッセージとアクセ
ス抑止コンテンツのフォーマットを用意して動的に生成する。例えば、上に、アクセス抑
止メッセージ群とアクセス抑止コンテンツのフォーマットを格納しておく。キャッシング
モジュール42は、状態に応じてふさわしいメッセージを取り出し、アクセス抑止コンテ
ンツフォーマットに挿入することでアクセス抑止コンテンツを生成する。例えば、以下の
図に示すように、抑止時の一般的なメッセージ93「要求されたコンテンツは利用できま
せん」を使って、アクセス抑止メッセージフォーマットに挿入し、アクセス抑止コンテン
ツを生成している。
(Determined to inhibit access in step S115)
As a method of creating the access suppression content, for example, an access suppression message and an access suppression content format are prepared and dynamically generated. For example, the access suppression message group and the format of the access suppression content are stored above. The caching module 42 generates an access-suppressed content by taking out a message appropriate for the state and inserting it into the access-suppressed content format. For example, as shown in the following figure, a general message 93 “requested content cannot be used” at the time of suppression is inserted into the access suppression message format and the access suppression content is generated.

図20は、アクセス抑止処理についてのフローチャートである。まず、キャッシングモ
ジュール42は、抑止メッセージを取得し(S115−1)、抑止メッセージよりコンテ
ンツを作成して(S115−2)、クライアントへコンテンツを転送する(S115−3
)。
FIG. 20 is a flowchart of the access suppression process. First, the caching module 42 acquires a suppression message (S115-1), creates content from the suppression message (S115-2), and transfers the content to the client (S115-3).
).

図21は、抑止メッセージ、抑止コンテンツの説明図である。抑止メッセージ91は、
例えば、「要求されたコンテンツはご利用できません」と対応させて表示されるものであ
る。また、抑止コンテンツ93は、例えば、図示のように、表示される。
FIG. 21 is an explanatory diagram of a suppression message and suppression content. The suppression message 91 is
For example, it is displayed in correspondence with “the requested content cannot be used”. Moreover, the suppression content 93 is displayed as shown in the figure, for example.

(ステップS117のアクセス監視・規制の決定)
図22は、アクセス監視・規制処理についてのフローチャートである。まず、キャッシン
グモジュール42は、監視・規制前処理を行う(S117−1)。ここで、ステップS1
17−1の監視・規制前処理では、次の処理を行う。
(a)URIエントリを作成していなければ作成する。
(b)(a)を実行した場合は、URIハッシュに登録する。
(c)URIエントリ中のアクセスカウントを1増やす。
(Decision of access monitoring / regulation in step S117)
FIG. 22 is a flowchart of access monitoring / restriction processing. First, the caching module 42 performs pre-monitoring / regulation processing (S117-1). Here, step S1
In the pre-monitoring / regulation processing of 17-1, the following processing is performed.
(A) Create a URI entry if not created.
(B) When (a) is executed, it is registered in the URI hash.
(C) Increase the access count in the URI entry by one.

つぎに、キャッシングモジュール42は、規制を行うか否かを判定する(S117−2
)。ここで、ステップS117−2の規制判定処理では、(a)URIエントリのアクセ
スカウンタ、(b)URIエントリの規制実行フラグ、(c)装置に設定された規制開始
接続数、(d)装置に設定された規制終了接続数を参照して、(b)の規制実行フラグが
設定されていない場合、(a)>(c)ならばYesとし、そうでなければNoとする。
一方、(b)の規制実行フラグが設定されている場合、(a)>(d)ならばYesとし
、そうでなければNoとする。
Next, the caching module 42 determines whether or not to perform regulation (S117-2).
). Here, in the restriction determination process in step S117-2, (a) a URI entry access counter, (b) a URI entry restriction execution flag, (c) the number of restriction start connections set in the apparatus, (d) in the apparatus Referring to the set number of restriction end connections, if the restriction execution flag of (b) is not set, Yes is set if (a)> (c), and No is set otherwise.
On the other hand, when the restriction execution flag (b) is set, Yes is set if (a)> (d), and No is set otherwise.

キャッシングモジュール42は、ステップS117−2で規制を行う場合、規制メッセ
ージを取得し(S117−3)、規制メッセージよりコンテンツを作成して(S117−
4)、クライアントへコンテンツを転送する(S117−5)。一方、ステップS117
−2で規制を行わない場合、キャッシングモジュール42は、Webサーバへ要求を転送
し(S117−6)、Webサーバから応答を受信して(S117−7)、クライアント
へ応答を転送する(S117−8)。
The caching module 42 acquires a restriction message (S117-3) and creates content from the restriction message (S117-) when the restriction is performed in step S117-2.
4) Transfer content to the client (S117-5). On the other hand, step S117.
-2 does not regulate, the caching module 42 transfers the request to the Web server (S117-6), receives the response from the Web server (S117-7), and transfers the response to the client (S117-). 8).

また、キャッシングモジュール42は、ステップS117−5、8の後、監視・規制後
処理を行う(S117−9)。ここで、ステップS117−9の監視・規制後処理では、
次の処理が行われる。
(a)URIエントリ中のアクセスカウントを1減らす。
(b)アクセスカウンタが0ならば、URIハッシュから削除する。
(c)(b)で削除を実行した場合は、URIエントリを削除する。
Further, the caching module 42 performs post-monitoring / regulation processing after steps S117-5 and 8 (S117-9). Here, in the monitoring and post-regulation processing in step S117-9,
The following processing is performed.
(A) Decrease the access count in the URI entry by one.
(B) If the access counter is 0, delete it from the URI hash.
(C) When deletion is executed in (b), the URI entry is deleted.

図23は、規制メッセージ、規制コンテンツの説明図である。アクセス規制メッセージ
の作成方法についても、上述したアクセス抑止コンテンツの作成方法と同様である。規制
メッセージ95は、例えば、「現在、混み合っているため後でご利用ください」と対応さ
せて表示されるものである。また、規制コンテンツ97は、例えば、図示のように表示さ
れる。
FIG. 23 is an explanatory diagram of restriction messages and restriction contents. The method for creating the access restriction message is the same as the method for creating the access deterrent content described above. The restriction message 95 is displayed in correspondence with, for example, “Currently crowded, please use later”. The restricted content 97 is displayed as shown in the figure, for example.

なお、キャッシングモジュール42では、例えば、ステップS117−2において、以
下のような処理を行い、規制を行うか否かの判断基準としてもよい。
A.URIエントリ新たなパラメータを追加する。
B.パラメータには、過去にWeb通信中継装置がサーバに当該URIの要求を送信した
ときの応答時間の平均を入れる。
C.アクセス数が1以上のときは、A.で追加したパラメータも考慮し、例えば、アクセ
ス数がある程度存在し、通信に設定時間以上かかりそうな場合は、上述の規制開始接続数
に満たなくても規制する。
In the caching module 42, for example, in step S <b> 117-2, the following process may be performed to determine whether or not to restrict.
A. URI entry New parameters are added.
B. The parameter includes an average of response times when the Web communication relay apparatus has transmitted a request for the URI to the server in the past.
C. When the number of accesses is 1 or more, A. In consideration of the parameters added in (1), for example, if there is a certain number of accesses and communication is likely to take more than a set time, the communication is restricted even if the number of connections for restriction start is not reached.

(ステップS119の制御なしに決定)図24は、制御なし処理についてのフローチャ
ートである。まず、キャッシングモジュール42は、Webサーバへ要求を転送し(S1
19−1)、Webサーバから応答を受信して(S119−2)、クライアントへ応答を
転送する(S119−3)。ここで、ガベージコレクション(装置内資源の再利用)につ
いて説明すると、キャッシュ領域に空きが無くなると、データ格納が古かったり、アクセ
ス回数が低い領域を消去して再利用するために、ガベージコレクション処理を行う。ガベ
ージコレクション処理の際には、優先キャッシュエントリは対象外とし、さらに優先キャ
ッシュフラグを参照して、優先キャッシュとして使用されているデータ領域も処理の対象
外とする追加判定を行っている。
(Determined without control in step S119) FIG. 24 is a flowchart of the process without control. First, the caching module 42 transfers the request to the Web server (S1
19-1) A response is received from the Web server (S119-2), and the response is transferred to the client (S119-3). Here, garbage collection (reuse of resources in the device) will be explained. When there is no space in the cache area, the garbage collection process is performed in order to erase and reuse the area where the data storage is old or the access frequency is low. Do. At the time of the garbage collection process, the priority cache entry is excluded from the target, and the additional determination that the data area used as the priority cache is also excluded from the process is performed with reference to the priority cache flag.

なお、通信システムがRFC2616に未定義のリクエストメソッドに対応しないとき
は、制御なし(S119、S211)を設置することなく発明の効果が得られる。また、
通信システムがHEADメソッドをキャッシュとして処理しない場合は、ステップS10
1におけるHEADメソッドの処理を(b)ではなく(c)で処理することで対応できる
。以下に、アクセス監視・規制に用いる規制開始接続数と規制終了接続数を動的に変更す
る場合について説明する。
When the communication system does not support a request method that is not defined in RFC 2616, the effect of the invention can be obtained without installing no control (S119, S211). Also,
If the communication system does not process the HEAD method as a cache, step S10
This can be dealt with by processing the HEAD method in 1 with (c) instead of (b). The case where the number of restriction start connections and the number of restriction end connections used for access monitoring / regulation are dynamically changed will be described below.

図25は、拡張したURIエントリを示す図である。URIエントリを図25に示すよ
うに拡張することで、アクセス監視・規制に用いる規制開始接続数と規制終了接続数は、
あらかじめ装置に設定した値だけでなく、動的に変更した値を利用できる。例えば、規制
開始時刻と規制終了時刻により、次回の規制開始接続数と規制終了接続数を定める。
FIG. 25 is a diagram showing an extended URI entry. By extending the URI entry as shown in FIG. 25, the number of restriction start connections and the number of restriction end connections used for access monitoring / regulation are as follows:
In addition to values set in advance in the apparatus, dynamically changed values can be used. For example, the next restriction start connection number and restriction end connection number are determined by the restriction start time and the restriction end time.

図26は、規制開始接続数と規制終了接続数の動的な変更を示す説明図である。ここで
は、規制開始接続数と規制終了接続数を動的に決定する場合の一例で、URI1とURI
2に対する接続数の変化を示している。ここでは、URI1およびURI2とも、図25
に示したURIエントリを利用しており、規制開始接続数と規制終了接続数にそれぞれ初
期の接続数が設定されている。図26では、URI1とURI2が時刻t1にアクセス規
制の制御が開始されている。この例では、規制開始を行うときにそれぞれのURIエント
リに規制開始時刻t1を記憶する。規制が終了すると、t1と規制終了時刻t2およびt
3を利用して、規制実施時間を求める。URI1の規制実施時間T1はt2−t1、UR
I2の規制実施時間T2はt3−t1となる。これを、通信システムが想定している標準
規制実施時間Tと比較し、次の規制開始接続数と規制終了接続数を定める。この例では、
T1の値がTより非常に小さいので、URI1の規制開始接続数と規制終了接続数を一定
数増加している。また、T2は、Tとそれほど変わらないため、値を変更していない。
FIG. 26 is an explanatory diagram showing dynamic changes in the number of restriction start connections and the number of restriction end connections. Here, it is an example in which the number of restriction start connections and the number of restriction end connections are dynamically determined.
The change in the number of connections with respect to 2 is shown. Here, both URI1 and URI2 are shown in FIG.
The initial number of connections is set for the number of restriction start connections and the number of restriction end connections, respectively. In FIG. 26, the access restriction control is started for URI1 and URI2 at time t1. In this example, the restriction start time t1 is stored in each URI entry when restriction starts. When regulation ends, t1 and regulation end time t2 and t
3 is used to calculate the regulation implementation time. The regulation time T1 for URI1 is t2-t1, UR
The regulation execution time T2 for I2 is t3-t1. This is compared with the standard regulation execution time T assumed by the communication system, and the next regulation start connection number and regulation termination connection number are determined. In this example,
Since the value of T1 is much smaller than T, the number of restriction start connections and the number of restriction end connections of URI1 are increased by a certain number. Also, T2 is not so different from T, so the value is not changed.

また、図25のように拡張したURIエントリでは、アクセス監視・規制を異なる方法
で実施できる。Web通信ソフトウェア31内部のプロキシエンジン利用領域には、We
b通信ソフトウェア31がWeb通信装置3−1〜3−nに対して要求した際の平均応答
時間が保存されている。さらにURIエントリには、URIごとの平均応答時間が記憶さ
れている。URIに対して一定数の要求がある場合、Web通信ソフトウェア31全体の
平均応答時間とURIごとの平均応答時間を比較し、URIごとの平均応答時間の応答時
間が著しく大きい場合は、アクセス規制処理を行うことで輻輳を回避できる。
Further, in the URI entry expanded as shown in FIG. 25, access monitoring / regulation can be performed by different methods. The proxy engine usage area inside the Web communication software 31 includes the We
The average response time when the b communication software 31 requests the Web communication devices 3-1 to 3-n is stored. Further, the URI entry stores an average response time for each URI. When there is a certain number of requests for the URI, the average response time of the entire Web communication software 31 is compared with the average response time for each URI, and if the response time of the average response time for each URI is significantly large, the access restriction process Can avoid congestion.

通信システムの構成図。The block diagram of a communication system. Web通信中継装置の構成図。The block diagram of a web communication relay apparatus. 大規模Web通信中継装置におけるデータの送受信についての説明図。Explanatory drawing about transmission / reception of the data in a large-scale Web communication relay apparatus. キャッシュヒット時の説明図及びシーケンス図。An explanatory view and a sequence diagram at the time of a cache hit. キャッシュミスヒット時の説明図及びシーケンス図。An explanatory view and a sequence diagram at the time of a cache miss hit. 輻輳時の説明図及びシーケンス図。An explanatory view and a sequence diagram at the time of congestion. アクセス抑止対象コンテンツが要求された場合の説明図及びシーケンス図。An explanatory diagram and a sequence diagram when an access suppression target content is requested. Web通信中継ソフトウェア31の内部構成についての説明図。An explanatory view about an internal configuration of Web communication relay software 31. FIG. URIハッシュとURIエントリによるURI管理についての説明図。Explanatory drawing about URI management by URI hash and URI entry. 共用メモリ55内のデータ構造についての説明図(1)。Explanatory drawing (1) about the data structure in the shared memory 55. FIG. 共用メモリ55内のデータ構造についての説明図(2)。Explanatory drawing (2) about the data structure in the shared memory 55. FIG. キャッシング及び輻輳制御処理について基本的な処理を示すフローチャート。The flowchart which shows a basic process about caching and congestion control processing. キャッシュチェックおよび輻輳制御処理判定についてのフローチャート。The flowchart about a cache check and congestion control process determination. クライアントのHTTP要求についての説明図。Explanatory drawing about the HTTP request | requirement of a client. URIの加工についての説明図。Explanatory drawing about processing of URI. 通常キャッシュ処理についてのフローチャート。The flowchart about normal cache processing. Web通信装置のHTTP応答の説明図。Explanatory drawing of the HTTP response of a web communication apparatus. Webコンテンツデータの管理についての説明図。Explanatory drawing about management of Web content data. 優先キャッシュ処理についてのフローチャート。The flowchart about a priority cache process. アクセス抑止処理についてのフローチャート。The flowchart about an access suppression process. 抑止メッセージ、抑止コンテンツの説明図。Explanatory drawing of a suppression message and suppression content. アクセス監視・規制処理についてのフローチャート。The flowchart about an access monitoring and control process. 規制メッセージ、規制コンテンツの説明図。Explanatory drawing of a regulation message and regulation content. 制御なし処理についてのフローチャート。The flowchart about a process without control. 拡張したURIエントリを示す図。The figure which shows the extended URI entry. 規制開始接続数と規制終了接続数の動的な変更を示す説明図。Explanatory drawing which shows the dynamic change of the regulation start connection number and the regulation end connection number.

符号の説明Explanation of symbols

1−1〜1−i クライアント端末
2 大規模Web通信中継装置
3−1〜3−j Web通信装置
21 データ中継装置
22 認証装置
23 システム管理装置
24 レイヤ7負荷分散装置
25−1〜25−n Web通信中継装置
26 アクセス規制装置
31 Web通信中継ソフトウェア
41 HTTPモジュール
42 キャッシングモジュール
43 プロキシエンジン
100 通信システム
1-1 to 1-i Client terminal 2 Large-scale Web communication relay device 3-1 to 3-j Web communication device 21 Data relay device 22 Authentication device 23 System management device 24 Layer 7 load distribution device 25-1 to 25-n Web communication relay device 26 Access restriction device 31 Web communication relay software 41 HTTP module 42 Caching module 43 Proxy engine 100 Communication system

Claims (21)

クライアント端末とサーバ装置の間に設けられた通信中継装置における輻輳制御方法で
あって、クライアント端末からの要求に従い、キャッシュヒットした際は記憶されている
要求内容をクライアント端末に送信し、キャッシュヒットしなかった場合又はキャッシュ
を利用しない要求の場合、要求内容をサーバ装置から受信してクライアント端末に送信す
るための前記輻輳制御方法において、
入力されたクライアント端末からの要求に基づき、キャッシュ可又はキャッシュ不可か
を判断するメソッドチェックステップと、
前記メソッドチェックステップによりキャッシュ可であると判断された場合、クライア
ント端末からの要求に含まれるURIのチェックを行いキャッシュ可又は不可かを判断す
る第1URIチェックステップと、
前記第1URIチェックステップによる判断に従い、キャッシュ可であれば、URIハ
ッシュの検索を行い、通常キャッシュ、優先キャッシュ又はアクセス抑止のいずれかの処
理が行われるか決定する第1URIハッシュ検索ステップと、
前記第1URIハッシュ検索ステップによる決定に従い、通常キャッシュ処理、優先キ
ャッシュ処理又はアクセス抑止処理のいずれかの処理を行うステップとを含む輻輳制御方
法。
A congestion control method in a communication relay device provided between a client terminal and a server device. When a cache hit occurs according to a request from the client terminal, the stored request content is transmitted to the client terminal, and the cache hit occurs. In the congestion control method for receiving the request content from the server device and transmitting the request content to the client terminal in the case where there is no cache or a request not using the cache,
A method check step for determining whether cacheable or non-cacheable based on the input request from the client terminal;
A first URI check step for determining whether the cache is possible or not by checking the URI included in the request from the client terminal when the method check step determines that the cache is possible;
In accordance with the determination by the first URI check step, if a cache is possible, a URI hash search is performed to determine whether a normal cache, a priority cache, or an access suppression process is performed;
A congestion control method including a step of performing a normal cache process, a priority cache process, or an access deterrence process in accordance with the determination by the first URI hash search step.
クライアント端末とサーバ装置の間に設けられた通信中継装置における輻輳制御方法で
あって、クライアント端末からの要求に従い、キャッシュヒットした際は記憶されている
要求内容をクライアント端末に送信し、キャッシュヒットしなかった場合又はキャッシュ
を利用しない要求の場合、要求内容をサーバ装置から受信してクライアント端末に送信す
るための前記輻輳制御方法において、
入力されたクライアント端末からの要求に基づき、キャッシュ可又はキャッシュ不可か
を判断するメソッドチェックステップと、
前記メソッドチェックステップによりキャッシュ不可であると判断された場合、クライ
アント端末からの要求に含まれるURIのチェックを行う第2URIチェックステップと

URIハッシュの検索を行い、アクセス抑止又はアクセス監視・規制のいずれかの処理
が行われるか決定する第2URIハッシュ検索ステップと、
前記第2URIハッシュ検索ステップによる決定に従い、アクセス抑止処理又はアクセ
ス監視・規制処理のいずれかの処理を行うステップとを含む輻輳制御方法。
A congestion control method in a communication relay device provided between a client terminal and a server device. When a cache hit occurs according to a request from the client terminal, the stored request content is transmitted to the client terminal, and the cache hit occurs. In the congestion control method for receiving the request content from the server device and transmitting the request content to the client terminal in the case where there is no cache or a request not using the cache,
A method check step for determining whether cacheable or non-cacheable based on the input request from the client terminal;
A second URI check step for checking a URI included in the request from the client terminal when the method check step determines that caching is impossible;
A second URI hash search step for performing a URI hash search to determine whether access suppression or access monitoring / regulation is performed;
A congestion control method including a step of performing either an access deterrence process or an access monitoring / restriction process in accordance with the determination made by the second URI hash search step.
クライアント端末とサーバ装置の間に設けられた通信中継装置における輻輳制御方法で
あって、クライアント端末からの要求に従い、キャッシュヒットした際は記憶されている
要求内容をクライアント端末に送信し、キャッシュヒットしなかった場合又はキャッシュ
を利用しない要求の場合、要求内容をサーバ装置から受信してクライアント端末に送信す
るための前記輻輳制御方法において、
入力されたクライアント端末からの要求に基づき、キャッシュ可又はキャッシュ不可か
を判断するメソッドチェックステップと、
前記メソッドチェックステップによりキャッシュ可であると判断された場合、クライア
ント端末からの要求に含まれるURIのチェックを行いキャッシュ可又は不可かを判断す
る第1URIチェックステップと、
前記第1URIチェックステップによる判断に従い、キャッシュ可であれば、URIハ
ッシュの検索を行い、通常キャッシュ又は優先キャッシュのいずれかの処理が行われるか
決定する第1URIハッシュ検索ステップと、
前記メソッドチェックステップによりキャッシュ不可であると判断された場合、クライ
アント端末からの要求に含まれるURIのチェックを行う第2URIチェックステップと

前記第1URIチェックステップによる判断によりキャッシュ不可である場合又は前記
第2URIチェックステップを経て移行され、URIハッシュの検索を行い、アクセス抑
止又はアクセス監視・規制のいずれかの処理が行われるか決定する第2URIハッシュ検
索ステップと、
前記第1又は第2URIハッシュ検索ステップによる決定に従い、通常キャッシュ処理
、優先キャッシュ処理、アクセス抑止処理、アクセス監視・規制処理のいずれかの処理を
行うステップとを含む輻輳制御方法。
A congestion control method in a communication relay device provided between a client terminal and a server device. When a cache hit occurs according to a request from the client terminal, the stored request content is transmitted to the client terminal, and the cache hit occurs. In the congestion control method for receiving the request content from the server device and transmitting the request content to the client terminal in the case where there is no cache or a request not using the cache,
A method check step for determining whether cacheable or non-cacheable based on the input request from the client terminal;
A first URI check step for determining whether the cache is possible or not by checking the URI included in the request from the client terminal when the method check step determines that the cache is possible;
In accordance with the determination by the first URI check step, if a cache is possible, a URI hash search is performed to determine whether a normal cache process or a priority cache process is performed;
A second URI check step for checking a URI included in the request from the client terminal when the method check step determines that caching is impossible;
When it is determined that the cache cannot be determined by the determination in the first URI check step or the second URI check step is performed, the URI hash is searched to determine whether to perform access suppression or access monitoring / restriction processing. A 2 URI hash search step;
A congestion control method including a step of performing any one of normal cache processing, priority cache processing, access deterrence processing, and access monitoring / regulation processing according to the determination by the first or second URI hash search step.
前記メソッドチェックステップにより制御不可能であると判断された場合、制御なしの
処理を行うステップをさらに含む請求項1乃至3のいずれかに記載の輻輳制御方法。
The congestion control method according to claim 1, further comprising a step of performing a process without control when it is determined that the control is impossible by the method check step.
前記メソッドチェックステップは、
クライアント端末からの要求に含まれるリクエストメソッドを取得するステップと、
取得されたリクエストメソッドに従い、キャッシュ可又はキャッシュ不可又は制御不可
能を決定するステップとを含む請求項1乃至3のいずれかに記載の輻輳制御方法。
The method check step includes
Obtaining a request method included in a request from a client terminal;
4. The congestion control method according to claim 1, further comprising a step of determining whether cacheable, noncacheable, or uncontrollable according to the acquired request method.
前記第1URIチェックステップは、
クライアント端末からの要求に含まれるスキームがHTTP等の第1のスキームである
ことを確認するステップと、
URIに付いているクエリを外すことによりURIを加工するステップと、
クライアント端末からの要求に含まれるパスをチェックし、所定の文字を含んでいるか
どうか検査するステップと、
所定の文字を含む場合、URIを加工した文字列をメモリに確保し、キャッシュ不可の
処理へ移行するステップと、
所定の文字を含まない場合は、キャッシュ可の処理へ移行するステップとを含む請求項
1又は2に記載の輻輳制御方法。
The first URI check step includes:
Confirming that the scheme included in the request from the client terminal is the first scheme such as HTTP;
Processing the URI by removing the query attached to the URI;
Checking the path included in the request from the client terminal and checking if it contains a predetermined character;
If the predetermined character is included, a step of securing a character string obtained by processing the URI in the memory and shifting to a non-cacheable process;
The congestion control method according to claim 1, further comprising a step of shifting to a cacheable process when the predetermined character is not included.
前記第2URIチェックステップは、
クライアント端末からの要求に含まれるスキームがHTTP等の第1のスキームである
ことを確認するステップと、
URIに付いているクエリを外すことによりURIを加工するステップとを含む請求項
2又は3に記載の輻輳制御方法。
The second URI check step includes:
Confirming that the scheme included in the request from the client terminal is the first scheme such as HTTP;
The congestion control method according to claim 2, further comprising: processing a URI by removing a query attached to the URI.
前記第1又は第2URIハッシュ検索ステップは、
URIハッシュを検索するステップと、
URIエントリにヒットした場合は、URIエントリに含まれる制御タイプを参照し、
そこに記述されている制御に決定するステップとURIエントリにヒットしなかった場合
は、予め定められた処理に決定するステップを含む請求項1乃至3のいずれかに記載の輻
輳制御方法。
The first or second URI hash search step includes:
Retrieving a URI hash;
If the URI entry is hit, refer to the control type included in the URI entry,
4. The congestion control method according to claim 1, further comprising a step of determining the control described therein and a step of determining a predetermined process when no URI entry is hit.
URIエントリは、URIと、制御タイプ、アクセスカウンタ、キャッシュエントリ情
報を含むことを特徴とする請求項8に記載の輻輳制御方法。
The congestion control method according to claim 8, wherein the URI entry includes a URI, a control type, an access counter, and cache entry information.
キャッシュエントリは、URIエントリ情報と、各種制御タイプを示すキャッシュエン
トリタイプと、主として利用しているセッションを示すオーナセッション情報と、キャッ
シュデータ情報を含むことを特徴とする請求項9に記載の輻輳制御方法。
10. The congestion control according to claim 9, wherein the cache entry includes URI entry information, a cache entry type indicating various control types, owner session information indicating a session that is mainly used, and cache data information. Method.
制御タイプ又はキャッシュエントリタイプは、通常キャッシュ、優先キャッシュ、アク
セス抑止、アクセス監視・規制のいずれかであることを特徴とする請求項10に記載の輻
輳制御方法。
11. The congestion control method according to claim 10, wherein the control type or the cache entry type is any one of a normal cache, a priority cache, access suppression, and access monitoring / regulation.
前記通常キャッシュ処理又は前記優先キャッシュ処理は、
キャッシュヒットしたか否かを判定するステップと、
キャッシュは有効期限内か否かを判定するステップと、
キャッシュが有効期限内である場合、キャッシュを取出し、クライアント端末へキャッ
シュを転送するステップと、
キャッシュが有効期限内でない場合、サーバ装置へクライアント端末からの要求を転送
し、サーバ装置から受信した応答をクライアント端末へ転送し、さらに、通常キャッシン
グ又は優先キャッシングを行うステップとを含む請求項1乃至11のいずれかに記載の輻
輳制御方法。
The normal cache process or the priority cache process is:
Determining whether a cache hit has occurred;
Determining whether the cache is within an expiration date;
If the cache is within the expiration date, fetching the cache and transferring the cache to the client terminal;
The method includes the steps of: transferring a request from the client terminal to the server device if the cache is not within the expiration date; transferring a response received from the server device to the client terminal; and performing normal caching or priority caching. The congestion control method according to any one of 11.
キャッシュがヒットしなかった場合、通常又は優先URIエントリの作成、通常又は優
先キャッシュエントリの作成、URIハッシュへ登録、キャッシュエントリにオーナを設
定のいずれか又は複数を含むキャッシング前処理を行うステップと、
サーバ装置へクライアント端末からの要求を転送し、サーバ装置から受信した応答をク
ライアント端末へ転送し、さらに、通常キャッシングを行うステップとを含むことを特徴
とする請求項12に記載の輻輳制御方法。
If the cache does not hit, performing a pre-caching process including one or more of normal or priority URI entry creation, normal or priority cache entry creation, URI hash registration, and cache entry owner setting;
13. The congestion control method according to claim 12, further comprising the steps of: transferring a request from the client terminal to the server apparatus; transferring a response received from the server apparatus to the client terminal; and further performing normal caching.
前記キャッシュがヒットした場合、
サーバ装置から応答が戻る前に、同一コンテンツに対して複数の要求が重複した場合、
最初の要求だけサーバ装置へ中継し、残りの要求は一旦処理待ち状態とし、最初の要求に
対する応答が戻ってから処理を再開する集約処理をさらに含むことを特徴とする請求項1
2に記載の輻輳制御方法。
If the cache hits,
If multiple requests for the same content are duplicated before the response is returned from the server device,
2. The method further includes an aggregation process in which only the first request is relayed to the server device, the remaining requests are temporarily put into a process waiting state, and the process is resumed after a response to the first request is returned.
3. The congestion control method according to 2.
キャッシュ領域に空きが無くなる又は少なくなったときにアクセス回数が低い領域を消
去して再利用するためのガベージコレクション処理の際に、優先キャッシュエントリは対
象外とし、さらに優先キャッシュフラグを参照して、優先キャッシュとして使用されてい
るデータ領域も処理の対象外とすることを特徴とする請求項1乃至14のいずれかに記載
の輻輳制御方法。
When garbage collection processing for erasing and reusing an area with a low access count when there is no more or less space in the cache area, priority cache entries are excluded, and referring to the priority cache flag, 15. The congestion control method according to claim 1, wherein a data area used as a priority cache is also excluded from processing.
前記アクセス抑止処理は、
要求されたコンテンツに関する抑止メッセージを取得するステップと、
抑止メッセージよりコンテンツを作成するステップと、
クライアント端末へコンテンツを転送するステップとを含むことを特徴とする請求項1
乃至15のいずれかに記載の輻輳制御方法。
The access suppression process is:
Obtaining a suppression message for the requested content;
Creating content from the suppression message;
And transferring the content to the client terminal.
The congestion control method according to any one of 1 to 15.
前記アクセス監視・規制処理は、
規制を行うか否かを判定する規制判定ステップと、
規制を行う場合、規制メッセージを取得し、規制メッセージよりコンテンツを作成して
、クライアント端末へコンテンツを転送するステップと、
規制を行わない場合、サーバ装置へ要求を転送し、サーバ装置から受信した応答をクラ
イアント端末へ転送するステップとを含むことを特徴とする請求項1乃至16のいずれか
に記載の輻輳制御方法。
The access monitoring / regulation process
A regulation determination step for determining whether to perform regulation;
When performing regulation, obtaining a regulation message, creating content from the regulation message, and transferring the content to the client terminal;
17. The congestion control method according to claim 1, further comprising a step of transferring a request to the server device and transferring a response received from the server device to the client terminal when the regulation is not performed.
URIエントリを作成していなければ作成し、それをURIハッシュに登録する処理、
及び/又は、URIエントリ中のアクセスカウントを1つ増やす処理を実行する監視・規
制前処理をさらに含むことを特徴とする請求項17に記載の輻輳制御方法。
Create a URI entry if it has not been created and register it in the URI hash;
18. The congestion control method according to claim 17, further comprising pre-monitoring / regulation preprocessing for executing processing for increasing an access count in a URI entry by one.
前記規制判定ステップは、
(a)URIエントリのアクセスカウンタ、(b)URIエントリの規制実行フラグ、
(c)装置に設定された規制開始接続数、(d)装置に設定された規制終了接続数を参照
して、
(b)の規制実行フラグが設定されていない場合、(a)>(c)ならば規制を行うと
し、そうでなければ規制を行わないとし、一方、(b)の規制実行フラグが設定されてい
る場合、(a)>(d)ならば規制を行うとし、そうでなければ規制を行わないとするこ
とを特徴とする請求項17に記載の輻輳制御方法。
The regulation determination step includes
(A) URI entry access counter, (b) URI entry restriction execution flag,
(C) With reference to the number of restriction start connections set in the device, (d) the number of restriction end connections set in the device,
When the restriction execution flag of (b) is not set, if (a)> (c), the restriction is performed, otherwise the restriction is not performed, while the restriction execution flag of (b) is set. 18. The congestion control method according to claim 17, wherein if (a)> (d), the restriction is performed, and if not, the restriction is not performed.
URIエントリ中のアクセスカウントを1つ減らし、アクセスカウンタが0ならば、U
RIハッシュから削除し、URIエントリを削除する監視・規制後処理をさらに含むこと
を特徴とする請求項17に記載の輻輳制御方法。
If the access count in the URI entry is decremented by 1 and the access counter is 0, U
18. The congestion control method according to claim 17, further comprising post-monitoring / restriction processing for deleting from the RI hash and deleting the URI entry.
前記制御なし処理は、
サーバ装置へ要求を転送するステップと、
サーバ装置から応答を受信するステップと、
クライアント端末へ応答を転送するステップとを含むことを特徴とする請求項1乃至2
0のいずれかに記載の輻輳制御方法。
The non-control process is
Forwarding the request to the server device;
Receiving a response from the server device;
And transferring the response to the client terminal.
The congestion control method according to any one of 0.
JP2008205008A 2008-08-08 2008-08-08 Congestion control method Expired - Fee Related JP4687758B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008205008A JP4687758B2 (en) 2008-08-08 2008-08-08 Congestion control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008205008A JP4687758B2 (en) 2008-08-08 2008-08-08 Congestion control method

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2001196738A Division JP4274710B2 (en) 2001-06-28 2001-06-28 Communication relay device

Publications (2)

Publication Number Publication Date
JP2009009592A true JP2009009592A (en) 2009-01-15
JP4687758B2 JP4687758B2 (en) 2011-05-25

Family

ID=40324536

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008205008A Expired - Fee Related JP4687758B2 (en) 2008-08-08 2008-08-08 Congestion control method

Country Status (1)

Country Link
JP (1) JP4687758B2 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150002221A (en) * 2013-06-28 2015-01-07 삼성전자주식회사 Method and appratus for prventing duplicated transmission under streaming service
JP2019506696A (en) * 2016-02-02 2019-03-07 華為技術有限公司Huawei Technologies Co.,Ltd. Resource acquisition method and related apparatus
JP7454662B2 (en) 2019-10-16 2024-03-22 北京字節跳動網絡技術有限公司 Information transmission method, device, readable storage medium and electronic device

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000058871A2 (en) * 1999-03-31 2000-10-05 America Online, Inc. Selecting a cache

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000058871A2 (en) * 1999-03-31 2000-10-05 America Online, Inc. Selecting a cache

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150002221A (en) * 2013-06-28 2015-01-07 삼성전자주식회사 Method and appratus for prventing duplicated transmission under streaming service
KR102079336B1 (en) * 2013-06-28 2020-02-19 삼성전자주식회사 Method and appratus for prventing duplicated transmission under streaming service
JP2019506696A (en) * 2016-02-02 2019-03-07 華為技術有限公司Huawei Technologies Co.,Ltd. Resource acquisition method and related apparatus
US10880785B2 (en) 2016-02-02 2020-12-29 Huawei Technologies Co., Ltd. Resource obtaining method and related device
JP7454662B2 (en) 2019-10-16 2024-03-22 北京字節跳動網絡技術有限公司 Information transmission method, device, readable storage medium and electronic device

Also Published As

Publication number Publication date
JP4687758B2 (en) 2011-05-25

Similar Documents

Publication Publication Date Title
JP4274710B2 (en) Communication relay device
JP2017118575A (en) Load distribution in data networks
JP2007066161A (en) Cache system
JP2002140309A (en) Service system
CN102084392B (en) System and method of content distrubution
US7127502B1 (en) Communication proxy device
JP2003186776A (en) Congestion control system
US20030187931A1 (en) Facilitating resource access using prioritized multicast responses to a discovery request
WO2008131653A1 (en) A system and method for realizing network subscribing store and a subscribe server
EP3371941A1 (en) System and method to support context-aware content requests in information centric networks
US6934761B1 (en) User level web server cache control of in-kernel http cache
JP2003122658A (en) Data distribution method
JP4687758B2 (en) Congestion control method
JP4736407B2 (en) Relay device
JP2006508465A (en) Index server support for file sharing applications
JP3704134B2 (en) Packet transfer device, network control server, and packet communication network
JP2007233700A (en) Cache system, load monitoring server, cache management server, and cache server
JP2000089996A (en) Information processor and data base system
JP2002073401A (en) Distribution system for www contents, proxy server, www server, and distribution method for www contents and computer readable medium recording program making computer execute
JP2002197002A (en) System and method for autonomously distributed contents delivery
JP4760852B2 (en) Service system
CN112565796A (en) Video content decentralized access method and system
JPH11331812A (en) Acting server for moving image data distribution and moving image data distribution method
US11960407B1 (en) Cache purging in a distributed networked system
JP2001331398A (en) Server-managing system

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110104

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: 20110118

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110131

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140225

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees