JP4274710B2 - 通信中継装置 - Google Patents
通信中継装置 Download PDFInfo
- Publication number
- JP4274710B2 JP4274710B2 JP2001196738A JP2001196738A JP4274710B2 JP 4274710 B2 JP4274710 B2 JP 4274710B2 JP 2001196738 A JP2001196738 A JP 2001196738A JP 2001196738 A JP2001196738 A JP 2001196738A JP 4274710 B2 JP4274710 B2 JP 4274710B2
- Authority
- JP
- Japan
- Prior art keywords
- cache
- content
- uri
- communication relay
- request
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1014—Server selection for load balancing based on the content of a request
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
- H04L67/2885—Hierarchically arranged intermediate devices, e.g. for hierarchical caching
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/564—Enhancement of application control based on intercepted application data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/565—Conversion or adaptation of application format or content
- H04L67/5651—Reducing the amount or size of exchanged application data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
- Computer And Data Communications (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
【発明の属する技術分野】
本発明は、輻輳制御方法に係り、特に、クライアントとサーバ間のデータ通信における輻輳制御方法に関する。
【0002】
【従来の技術】
インターネットが急速に普及し、チケット予約や銀行・証券取引等、従来営業店窓口で行われていたサービスもインターネットを介して提供されるようになってきた。また、通信技術も進歩し、家庭やオフィスからだけでなく携帯電話などからでもサービスを享受できる環境が整ってきた。
【0003】
しかし、各クライアントが直接サーバにサービス要求をする従来の方式では、クライアントの要求がサーバに集中する。その結果、数多くの利用者からの要求に通信回線容量や処理するサーバ装置の能力が対応できず、時間帯やアクセス先によっては、利用者がいくら要求をしてもなかなか応答が返ってこないという場合が発生するようになってきた。
【0004】
この点に関しては、一般に、Web通信中継装置を設置することで改善できる。クライアントからの要求は、Web通信中継装置と呼ばれる中継処理装置を経由して処理する。Web通信中継装置では、過去の通信内容の一部を記憶(キャッシュという)する記憶部(キャッシングモジュール)を設置することにより、記憶した通信に関しては、サーバへ接続することなく要求を処理できる。プロキシ装置は、その有効性から多数の通信システムで導入されている。
【0005】
【発明が解決しようとする課題】
現在では、1000万人規模のユーザを対象とする通信システムに大規模Web通信中継装置が設置されるようになってきた。このような通信システムでは、大規模Web通信中継装置に対する要求が過剰に集中する。要求の集中が起こると、通信路の混雑や装置の負荷が上昇するため、ユーザは通信システムが提供するサービスを利用しにくくなる。また、過度な集中が継続すると大規模Web通信中継装置に障害(輻輳)が発生し動作を停止する可能性がある。大規模Web通信中継装置の動作が停止すると通信システムとして機能しなくなり、通信システムを利用する全ユーザがサービスを利用できなくなる。
【0006】
本発明では、以上の点を鑑み、大規模Web通信中継装置を主としたWeb通信中継装置に発生する障害を回避、軽減することを目的とする。
【0007】
【課題を解決するための手段】
上記の課題を解決するため、本発明では、例えば、Web通信中継装置がユーザの要求する通信内容ごとに要求処理の制御を変更する機構を設ける。Web通信中継装置の負荷が上昇するのを避けるために、実施する制御を判定する機構は、新たな処理部を設けるのではなく、Web通信中継装置に従来から存在する記憶部(キャッシングモジュール)を利用する。
【0008】
Web通信中継装置は、現在装置が行っている通信内容と装置の状態を検証したうえで、新たに到着した要求に対する処理方針を決定する。これにより、省略できる通信を検出でき、通信量の削減することで、Web通信中継装置が輻輳状態に陥ることを回避する。また、輻輳の原因となる通信処理を通常の処理とは異なる方法で処理する。例えば、輻輳の原因となる通信を優先的に記憶する。これによりWeb通信中継装置が輻輳状態に陥るのを回避する。
【0009】
Web通信中継装置は、要求に対する制御を決定する過程で、輻輳状態に近づいている通信を検出する。輻輳状態に近い通信に関しては、輻輳が改善されるまで処理をせず、ユーザに対して通信を控えるようアナウンスする。これにより、輻輳状態の悪化を防止し、Web通信中継装置が障害で利用不能となるのを回避する。
【0010】
本発明の大規模Web通信中継装置では、ユーザが送信する要求を負荷分散装置で受信する。負荷分散装置は、大規模Web通信中継装置内に設置した複数のWeb通信中継装置に負荷を分散して送信する。Web通信中継装置では、キャッシングモジュールがユーザの要求を判断し、Web通信中継装置が行う制御を決定する。輻輳制御の種類としては、要求集約、優先キャッシュ、アクセス抑止、アクセス監視および規制の4つがある。
【0011】
複数のユーザがキャッシュ可能なサービスの要求を行い、かつ、Web通信中継装置がサーバに通信する必要がある場合、Web通信中継装置は、サーバに対しては複数の要求が1つの要求に集約して通信する。これにより、Web通信中継装置とサーバ間の通信量が削減する。また、サーバに対する要求が減少するため、サーバの負荷が上昇するのを防止する。Web通信中継装置がサーバに対して行う輻輳を回避し、負荷も軽減するため、Web通信中継装置は、ユーザに迅速に応答できる。
【0012】
本発明のWeb通信中継装置は、特定のサービスを優先的にキャッシングする方法を提供する。この方法を利用して、通信システム提供者は輻輳の原因となるサービスを優先的にキャッシングするよう登録できる。従来の方法では、キャッシングするデータに優先、非優先の区別がないため、重要なデータをWeb通信中継装置内で保持しつづけることができなかった。しかし、この方法により、Web通信中継装置は、ユーザが必要とするデータを保持できる。ユーザは、より多くのサービスを高速に受けることできる。
【0013】
本発明のWeb通信中継装置は、特定のサービスをユーザが利用するのを抑止する方法を提供する。この方法を利用して、通信システム提供者は、輻輳の原因となり通信システムが提供すべきではないサービスをユーザに提供しないことができる。提供しないサービスに関する要求には、Web通信中継装置がユーザに対して提供できない旨の返答を行い要求処理が終了する。
【0014】
従来では、抑止機構を持たないため、Web通信中継装置は不要なサーバとの通信に資源を浪費していた。また、ユーザは、要求したサービスが提供されないまま待ち続けたり、何度も通信を試みる可能性があった。本発明の方法を利用することで、サービスが提供されないことが迅速に把握できる。
【0015】
本発明のWeb通信中継装置は、サービス接続数が確認できる要求について、その接続数を計測する。要求集約が不可能な要求にもかかわらず、同一の要求が非常に多い場合は、一定数以上の要求を接続不可として処理できる。この際、Web通信中継装置は、ユーザに対して要求結果として接続不可の理由を通知する。これにより、サーバの負荷を軽減するとともにWeb通信中継装置の輻輳を回避する。また、ユーザは、要求したサービスが提供されないまま待つことなく、サービスの提供状況を把握できる。
【0016】
本発明の解決手段によると、
クライアント端末から受信したコンテンツの取得要求をサーバ装置へ送信し、前記取得要求への応答としてサーバ装置から受信した前記コンテンツを、前記取得要求の送信元である前記クライアント端末へ送信する通信中継装置であって、
前記クライアント端末から受信したコンテンツの取得要求を前記サーバ装置に送信し、
前記サーバ装置へ送信した前記取得要求への応答である前記コンテンツを前記サーバ装置から受信する前に、一つ以上の他のクライアント端末から、同一の前記コンテンツの取得要求を受信した場合に、前記同一のコンテンツの取得要求を前記サーバ装置へ送信せずに、処理待ち状態とし、
前記取得要求への応答として前記コンテンツを前記サーバ装置から受信したら、前記一つ以上の他のクライアント端末へ、受信した前記コンテンツの取得要求への応答として、前記コンテンツを送信する
ことを特徴とする通信中継装置が提供される。
【0019】
【発明の実施の形態】
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からの要求に応じてWebコンテンツを送出する装置であって、ディスク容量を上限としてコンテンツデータを格納している。なお、本実施の形態では、主に大規模なWeb通信装置について説明しているが、これに限らず、本発明は、適宜の規模の通信装置に適用することができる。
【0020】
大規模Web通信中継装置2は、例えば、データ中継装置21と、認証装置22と、システム管理装置23と、レイヤ7負荷分散装置24と、Web通信中継装置25−1〜25−nと、アクセス規制装置26とを備える。
【0021】
データ中継装置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内の各装置を集中的に管理するための装置である。
【0022】
レイヤ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の処理限界を超えないよう、アクセス量(取得要求量)を規制するための装置である。
【0023】
図2に、Web通信中継装置の構成図を示す。
Web通信中継装置25−1は、例えば、主記憶装置30と、この主記憶装置30に記憶されたWeb通信中継ソフトウェア31と、入出力装置32と、プロセッサ33と、レイヤ7負荷分散装置24とデータパケットの送受信を行う通信装置34と、二次記憶装置35と、これらの各部材を相互の接続するバス36とを備える。
【0024】
二次記憶装置35は、例えば、磁気ディスクなどの装置(不揮発性記憶装置)であって、プログラム及び各種の設定ファイルを記憶する。二次記憶装置35は、以下のような役割を担う。
(1)Web通信中継装置25−1のOS(オペレーティングシステム)データを格納し、装置起動時にそのデータが主記憶装置30にロードされる。
(2)OS上で動作する様々なアプリケーションプログラム(データ・設定ファイル)を格納し、アプリケーションの起動時に主記憶装置30にロードされる。
(3)Web通信中継装置25−1が中継するWebコンテンツデータをキャッシュデータとして格納する。
【0025】
なお、実施例のWeb通信中継装置では、クライアントからの要求をセッションと呼ばれる処理単位で処理している(1つの要求が1つのセッションに対応する)。セッションがキャッシュを用いる際にキャッシュエントリを確保する。セッションがサーバと通信してキャッシングをするときは、キャッシュエントリを所有している必要がある。本輻輳制御方式は、個々のセッション処理の中で行われる。
【0026】
図3は、大規模Web通信中継装置におけるデータの送受信についての説明図である。なお、説明の便宜上、上述した部材と同一部材には同一符号を付し、構成、機能は同様である。また、各Web通信中継装置25−1〜25−nは同様の構成であるので、ここでは、Web通信中継装置25−1について説明する。
【0027】
Web通信中継ソフトウェア31は、Web通信中継装置25−1に記憶されており、例えば、HTTPモジュール41と、キャッシングモジュール42と、プロキシエンジン43とを含む。
ここで、図中のデータ▲1▼〜▲4▼は、▲1▼クライアント端末1−1〜1−iの要求、▲2▼Web通信中継ソフトウェア31の応答、▲3▼Web通信中継ソフトウェア31の要求、▲4▼Web通信装置3−1〜3−jの応答をそれぞれ示す。
【0028】
なお、キャッシュヒットのときは、データ▲1▼、▲2▼のみが通信路を流れる(図4参照)。また、キャッシュミスヒットのときは、データ▲1▼、▲3▼、▲4▼,▲2▼の順でデータが通信路を流れる(図5参照)。
以下に各処理について概略説明する。
【0029】
▲1▼クライアントの要求
まず、クライアント端末1−1〜1−iからクライアント要求が送信されると、大規模Web通信中継装置2は、それを受信する。大規模Web通信中継装置2のデータ中継装置21では、要求をレイヤ7負荷分散装置24に転送し、レイヤ7負荷分散装置24は、いずれかのWeb通信中継装置(ここでは、Web中継装置25−1)に送る。Web通信中継装置25−1内のWeb通信中継ソフトウェア31では、プロキシエンジン43を経て、HTTPモジュール41とキャッシングモジュール42が、そのクライアント要求を受信する。
【0030】
▲2▼Web通信中継ソフトウェアの応答
つぎに、クライアント要求を受信したWeb通信中継装置25−1は、通信内容を解析する。ここで、Web中継装置25−1が、クライアント要求に対応しているWebページをキャッシュで記憶している場合、その内容をレイヤ7負荷分散装置24、データ中継装置21を経て、クライアント端末1−1へ送信する。
【0031】
▲3▼Web通信中継ソフトウェアの応答
一方、Web中継装置25−1が、クライアント要求に対応しているWebページをキャッシュで記憶していない場合、及び/又はクライアント要求にキャッシュ利用不可の指示がある場合、Web中継装置25−1は、クライアント要求に関する情報を、レイヤ7負荷分散装置24、データ中継装置21を経て、Web通信装置3−1〜3−jの該当する装置へ送信する。
【0032】
▲4▼Web通信装置の応答
Web通信装置3−1〜3−jは、クライアント要求を受信すると、クライアント端末に、データ中継装置21を介してクライアント要求に対応するWebページを応答する。さらに、データ中継装置21は、レイヤ7負荷分散装置24を経てWeb中継装置25−1に、その通信内容やWebページを転送する。Web中継装置25−1では、そのWebページをキャッシングモジュール42にキャッシュする。
【0033】
図4は、キャッシュヒット時の説明図及びシーケンス図である。なお、ここでのシーケンスは、構成図中の点線の矢印に対応している。
まず、クライアント端末1−1〜1−iからの要求信号(データ▲1▼)は、大規模Web通信中継装置2内のデータ中継装置21、レイヤ7負荷分散装置24を経て、Web通信中継ソフトウェア31内のHTTPモジュール41を経て、キャッシングモジュール42に入力され、ここで、キャッシュヒットと判定される。つぎに、Webページは、Web通信中継ソフトウェア31の応答信号(データ▲2▼)として、再び、キャッシングモジュール42、HTTPモジュール41、レイヤ7負荷分散装置24、データ中継装置21を経て、クライアント端末1−1〜1−iに送信される。
【0034】
図5は、キャッシュミスヒット時の説明図及びシーケンス図である。なお、ここでのシーケンスは、構成図中の点線の矢印に対応している。
まず、クライアント端末1−1〜1−iからの要求信号(データ▲1▼)は、大規模Web通信中継装置2内のデータ中継装置21、レイヤ7負荷分散装置24を経て、Web通信中継ソフトウェア31内のHTTPモジュール41を経て、キャッシングモジュール42に入力され、ここで、キャッシュミスヒットと判定される。つぎに、Web通信中継ソフトウェア31の要求信号(データ▲3▼)が、キャッシングモジュール42、HTTPモジュール41、レイヤ7負荷分散装置24、データ中継装置21を経て、Web通信装置3−1〜3−jに送信される。さらに、これに応答してWeb通信装置3−1〜3−jのWebページを含む応答信号(データ▲4▼)は、大規模Web通信中継装置2内のデータ中継装置21、レイヤ7負荷分散装置24を経て、Web通信中継ソフトウェア31内のHTTPモジュール41を経て、キャッシングモジュール42に入力される。つぎに、Webページは、Web通信中継ソフトウェア31の応答信号(データ▲2▼)として、再び、キャッシングモジュール42、HTTPモジュール41、レイヤ7負荷分散装置24、データ中継装置21を経て、クライアント端末1−1〜1−iに送信される。
【0035】
図6は、輻輳時の説明図及びシーケンス図である。なお、ここでのシーケンスは、構成図中の点線の矢印に対応している。
まず、クライアント端末1−1〜1−iからの要求信号(データ▲1▼)は、大規模Web通信中継装置2内のデータ中継装置21、レイヤ7負荷分散装置24を経て、Web通信中継ソフトウェア31内のHTTPモジュール41を経て、キャッシングモジュール42に入力される。
【0036】
ここで、Web通信中継ソフトウェア31は、例えば、Web通信装置3−1〜3−jが輻輳中の場合、規制コンテンツを生成する。ここで、例えば、ある一定以上の要求がひとつのWebページに集中した場合、輻輳と判断される。この規制コンテンツは、データ▲2▼に含まれ、クライアント端末1−1〜1−iに送信される。その際、規制コンテンツは、Web通信中継ソフトウェア31の応答信号(データ▲2▼)として、再び、キャッシングモジュール42、HTTPモジュール41、レイヤ7負荷分散装置24、データ中継装置21を経て、クライアント端末1−1〜1−iに送信される。
【0037】
図7は、アクセス抑止対象コンテンツが要求された場合の説明図及びシーケンス図である。なお、ここでのシーケンスは、構成図中の点線の矢印に対応している。
まず、クライアント端末1−1〜1−iからのアクセス抑止対象コンテンツを含む要求信号(データ▲1▼)は、大規模Web通信中継装置2内のデータ中継装置21、レイヤ7負荷分散装置24を経て、Web通信中継ソフトウェア31内のHTTPモジュール41を経て、キャッシングモジュール42に入力される。ここで、Web通信中継ソフトウェア31は、例えば、クライアント端末1−1〜1−iからアクセス抑止対象コンテンツが要求されている、抑止アナウンスを生成する。この抑止アナウンスは、データ▲2▼に含まれ、クライアント端末1−1〜1−iに送信される。その際、抑止アナウンスは、Web通信中継ソフトウェア31の応答信号(データ▲2▼)として、再び、キャッシングモジュール42、HTTPモジュール41、レイヤ7負荷分散装置24、データ中継装置21を経て、クライアント端末1−1〜1−iに送信される。
【0038】
図8は、Web通信中継ソフトウェア31の内部構成についての説明図である。
Web通信中継ソフトウェア31は、主記憶装置30に記憶される。Web通信中継ソフトウェア31は、例えば、データ領域50と、セッション処理プロセス45とを含む。セッション処理プロセス45は、例えば、HTTPモジュール41、キャッシングモジュール42、プロキシエンジン43を含む。プロキシエンジン43は、Web通信中継ソフトウェア31の基本機能を実現し、通信データ送受信やセッション管理などを行う。HTTPモジュール41は、HTTPパケットの処理を行う。キャッシングモジュール42は、HTTPのキャッシングと輻輳制御を行う。また、データ領域は、例えば、プロキシエンジン使用領域、HTTPモジュール使用領域、キャッシングモジュール使用領域を含む。さらに、キャッシングモジュール使用領域は、例えば、URIハッシュ、URIエントリ及びURI文字列、アクセス規制/抑止、メッセージ及びフォーマット、キャッシュエントリ領域、キャッシュデータ領域を含む。
【0039】
図9は、URIハッシュとURIエントリによるURI管理についての説明図である。
URIハッシュ70は、例えば、Key0〜nのURIエントリのリスト70−0〜70−nを含む。
Key0のURIエントリのリスト70−0は、例えば、URIエントリ71として、URI1(監視・規制)71−1と、URI2(抑止)71−2とを含む。また、Key2のURIエントリのリスト70−2は、例えば、URIエントリ71として、URI3(監視・規制)71−3と、URI4(通常キャッシュ)71−4と、URI5(優先キャッシュ)71−5とを含む。Key nのURIエントリのリスト70−nは、例えば、URIx(通常キャッシュ)71−xを含む。
【0040】
ここで、URI4(通常キャッシュ)71−4とURIx(通常キャッシュ)71−xは、通常キャッシュエントリに通常キャッシュデータを含む。また、URI5(優先キャッシュ)71−5は、優先キャッシュエントリに優先キャッシュデータを含む。
ここで、URI管理について詳細に説明する。URIエントリは、URIをハッシュ関数にかけて算出したハッシュキーを元にして、同一ハッシュキーでリスト化して管理している。この例では、Key0にはURI1(監視・規制)71−1、URI2(抑止)71−2、Key2にはURI3(監視・規制)71−3、URI4(通常キャッシュ)71−4、…のURIエントリがリストされている。また、リスト中の各々のURIは、要求集約で監視規制対象になっていたり、オペレータ指示で抑止対象や優先キャッシュ対象になっていたり、通常キャッシュであったり、渾然一体となってリスト化されている。このうち、例えば、通常キャッシュであるURI4(通常キャッシュ)71−4のエントリは、通常キャッシュエントリの特定のアドレスを示し、同様に、優先キャッシュであるURI5(優先キャッシュ)71−5のエントリは、優先キャッシュエントリの特定のアドレスを示している。
【0041】
また、主記憶装置30上のWeb通信中継ソフトウェア内キャッシングモジュール使用領域には、例えば、通常キャッシュエントリ領域、優先キャッシュエントリ領域、キャッシュデータ領域が設けてあり、それぞれ所定の大きさに区切って準備されている。実際のURI4(通常キャッシュ)71−4のコンテンツデータは、URI4(通常キャッシュ)71−4のキャッシュエントリで示されたアドレスの通常キャッシュエントリ領域に格納され、コンテンツの大きさによって必要な量だけ通常キャッシュデータ領域が追加される。同様に、実際のURI5(優先キャッシュ)71−5のコンテンツデータは、URI5(優先キャッシュ)71−5のキャッシュエントリで示されたアドレスの優先キャッシュエントリ領域に格納され、コンテンツの大きさによって必要な量だけ優先キャッシュデータ領域が追加される。
【0042】
つぎに、主記憶装置30に記憶されるキャッシングモジュール使用領域について説明する。なお、キャッシングモジュール使用領域は、主記憶装置30以外の適宜の記憶装置内に設けることができる。
図10は、キャッシングモジュール使用領域内のデータ構造についての説明図(1)である。
キャッシングモジュール使用領域は、例えば、URIエントリ71、キャッシュエントリ72とを含む。ここで、URIエントリ71としては、例えば、URI(例:http://www.abcde.co.jp/index.html)、制御タイプ(例:通常キャッシュ)、アクセスカウンタ(例:3)、キャッシュエントリ情報を含む。
【0043】
キャッシュエントリ72は、例えば、URIエントリ情報(例:http://www.abcde.co.jp/index.htmlに関するURIエントリ)、キャッシュエントリタイプ(例:通常キャッシュ)、キャッシュの状態(例:キャッシング中)、オーナーセッション(例:セッションNo.n)、応答待ちセッションリスト(例:セッションNo.x,No.y)、キャッシュデータ情報を含む。
なお、優先キャッシュエントリと通常キャッシュエントリは、キャッシュエントリタイプの値が異なるが、内容は同様である。また、キャッシングモジュール42内では、優先キャッシュエントリは、運用者の要求がない限り削除されない。但し、通常キャッシュエントリは、資源が不足すると削除される。
【0044】
図11は、キャッシングモジュール使用領域内のデータ構造についての説明図(2)である。
キャッシングモジュール使用領域は、また、例えば、キャッシュデータ73を含む。キャッシュデータ73は、例えば、キャッシュエントリ情報(例:http://www.abcde.co.jp/index.htmlに関するキャッシュエントリ)、キャッシュデータタイプ(例:通常キャッシュ)、キャッシュデータを参照しているセッション数(例:3)、次のキャッシュデータ情報、キャッシュデータを含む。
なお、優先キャッシュデータと通常キャッシュデータは、キャッシュデータタイプの値が異なるが、内容は同様である。また、キャッシングモジュール42内では、優先キャッシュデータは、運用者の要求がない限り削除されない。但し、通常キャッシュデータは、資源が不足すると削除される。
【0045】
B.詳細動作
つぎに、キャッシング及び輻輳制御処理を説明する。
図12は、キャッシング及び輻輳制御処理について基本的な処理を示すフローチャートである。
まず、Web通信中継ソフトウェア31は、キャッシュチェックおよび制御種別判定を行う(S201)。Web通信中継ソフトウェア31は、この判定結果に応じて、例えば、通常キャッシュの制御(S203)、優先キャッシュの制御(S205)、アクセス抑止の制御(S207)、アクセス監視・規制の制御(S209)、制御なし(S211)のいずれか又は複数の制御を行い、処理を終了する。
【0046】
以下に、キャッシュチェックおよび輻輳制御処理判定について詳細に説明する。
図13は、キャッシュチェックおよび輻輳制御処理判定についてのフローチャートである。
まず、Web通信中継ソフトウェア31に含まれるキャッシングモジュール42は、キャッシュ可又は不可か制御不可能かに関してメソッドチェックを行い(S101)、キャッシュ可であれば、URIのチェック(1)を行う(S103)。キャッシングモジュール42は、ステップS103でキャッシュ可であれば、URIハッシュ検索(1)(S107)を行い、通常キャッシュ(S111)、優先キャッシュ(S113)、アクセス抑止(S115)のいずれかの処理の決定を行う。
【0047】
また、キャッシングモジュール42は、ステップS101のメソッドチェックにおいてキャッシュ不可であれば、URIのチェック(2)(S105)を行い、さらに、URIハッシュ検索(2)(S109)を行い、アクセス抑止(S115)、アクセス監視・規制(S117)のいずれかの処理の決定を行う。なお、このURIハッシュ検索(2)は、ステップS103でキャッシュ不可である場合でも行われる。また、HTTPモジュール41又はキャッシングモジュール42は、ステップS101のメソッドチェックで制御不可能である場合は、制御なし(S119)に決定する。
ここで、上述の各処理について詳細に説明する。
【0048】
(S101のメソッドチェック)
メソッドチェックでは、次のような処理が実行される。
▲1▼まず、クライアントのHTTP要求のリクエストメソッドを取得する。
▲2▼ここで、リクエストメソッドがGET、HEADなら「キャッシュ可」の場合の処理を行う。
▲3▼一方、リクエストメソッドがOPTIONS、POST、DELETE、TRACE、CONNECTなら「キャッシュ不可」の場合の処理を行う。
▲4▼さらに、リクエストメソッドがRFC2616で定義されていない拡張メソッドである場合は、「制御不可能」の場合の処理を行う。
【0049】
図14は、クライアントのHTTP要求についての説明図である。
クライアントのHTTP要求80は、例えば、図示のように、リクエストメソッド(ここでは、GET)と、URI(ここでは、http://www.abcde.co.jp/)とを含む。この例では、上述の処理▲1▼でリクエストメソッドとして‘GET’が取得され、「キャッシュ可」の処理に移行する。
【0050】
(ステップS103、105のURIチェック(1)(2))
▲1▼ ここでは、まず、スキームがHTTPであることを確認する。
▲2▼ つぎに、パスをチェックし、文字「?」を含んでいるかどうか検査する。
▲3▼ また、パスをチェックし、.cgi,.asp を含んでいるかどうか検査する。
▲4▼ さらに、クエリ有無を判断して、クエリを外す加工処理を行う。なお、「クエリが有る」とは、”?”がついていることを指す。
▲5▼ ▲2▼,▲3▼で該当するものがあった場合は「URIの加工」をおこなった文字列を共用メモリに確保する。
▲6▼ ▲2▼,▲3▼で該当した場合は、「キャッシュ不可」の場合の処理を行い、一方、▲2▼、▲3▼で該当しなかった場合は、「キャッシュ可」の場合で処理を進める。
【0051】
図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 とする。
【0052】
このように、URIチェックでは、URIハッシュ検索の前に、CGIなど動的に生成されるページのチェックを行う。具体的には、URIで示されたファイルの識別子と、CGI特有のパラメータ(引数)の有無によって判定を行い、CGIなど動的に生成されるページであると判定した場合には、引数の省略処理を行って、簡略化した短いURIを生成する。これにより、さまざまなクエリを持つCGIを、クエリを含めた別々のURIとして処理するのではなく、1つのURIとして処理し、アクセスの監視・規制を実現する。また、URIのチェック(1)では、上記判定と共に、キャッシュ可否の判定を行う。一方、URIのチェック(2)では、予めキャッシュ不可のURIであることが分かっているため、キャッシュ可否判定処理を行わない。
【0053】
(ステップS107、109のURIハッシュ検索(1)(2))
ステップS107のURIハッシュ検索(1)では、次のような処理を実行する。例えば、メモリ上にキャッシュの領域があり、クライアント端末と通信しているURIはメモリ上に記憶されており、そのメモリテーブルをURIハッシュとすることができる。
▲1▼URIハッシュを検索する。
▲2▼URIエントリにヒットした場合は、URIエントリの制御タイプを参照し、そこに記述されている制御に決定する。
▲3▼URIエントリにヒットしなかった場合は、「通常キャッシュ」処理に決定する。
【0054】
ステップS109のURIハッシュ検索(2)では、
▲1▼「URIの加工」が行われなかった場合は、HTTP要求にあるURIを使ってURIハッシュを検索する。
▲2▼URIエントリにヒットした場合は、URIエントリの制御フラグを参照し、そこに記述されている制御に決定する。
▲3▼URIエントリにヒットしなかった場合は、「アクセス監視・規制」処理に決定する。
【0055】
(ステップS111の通常キャッシュに決定)
図16は、通常キャッシュ処理についてのフローチャートである。
(1)まず、キャッシュヒットを判定する(S111−1)。
(1−1)ヒットしなかった場合は、最初のアクセス要求としてWebサーバへ要求を中継する処理に移り、キャッシングモジュール42は、例えば、▲1▼通常URIエントリの作成、▲2▼通常キャッシュエントリの作成、▲3▼URIハッシュへ登録、▲4▼キャッシュエントリにオーナの設定、等を行う通常キャッシング前処理を行う(S111−11)。つぎに、Webサーバへ要求を転送し(S111−12)、Webサーバから応答を受信し(S111−13)、さらに、クライアントへ応答を転送する(S111−14)。つぎに、キャッシングモジュール42は、通常キャッシングを行う(ステップS111−15)。ここで、ステップS111−15の通常キャッシングでは、例えば、次の処理が行われる。
▲1▼通常キャッシュデータの確保。
▲2▼Web通信装置の応答をコピー。
▲3▼ ▲1▼、▲2▼をデータがあるまで続ける。
▲4▼応答待ちセッションリストに登録があるか検査する。
▲5▼ ▲4▼で応答待ちセッションがある場合は、処理開始指示を送る。
▲6▼オーナの設定を解除する。
【0056】
(1−2)ヒットした場合、要求集約判定に移る(S111−2)。ここでは、キャッシングモジュール42は、例えば、Webサーバへのアクセス負荷を軽減するため、キャッシュできるコンテンツに対して、アクセス要求を一つに集約する機能を備える。この機能は、Webサーバから応答が戻る前に、同一コンテンツに対して複数の要求が重複した場合、最初の要求だけWebサーバへ中継し、残りの要求は一旦処理待ち状態とし、最初の要求に対する応答が戻ってから処理を再開するものである。具体的には、集約処理を以下のように行う。ここで、ステップS111−2の集約判定処理では、▲1▼キャッシュの状態は、準備完了となっているかを判定し、準備完了となっているのであれば、Noとする。また、▲2▼キャッシュエントリのオーナは、現在判定処理を行っているセッションかを判定し、他のセッションがオーナである場合は、Yesとし、そうでなければ、Noとする。
【0057】
(2)要求集約判定でYesの場合、Webサーバへ中継した要求の処理が終わるまで、処理を中止する(S111−3)。ここで、ステップS111−3の処理可能となるまで待機する処理では、▲1▼キャッシュエントリの応答待ちセッションリストにセッションを登録し、▲2▼呼び出されるまで待機する。
【0058】
(3)つぎに、ステップS111−3の後、処理が可能になると、又は、ステップS111−2で集約を行わない場合、キャッシュ有効期限判定に移る(S111−4)。ここで、ステップS111−4のキャッシュ有効期限の判定では、キャッシュ中のRFC2616に記述されている通りに有効期限を計算し、期限内であれば、Yesとし、期限切れであれば、Noとする。
【0059】
キャッシュ有効期限判定でYesの場合、キャッシュからデータを取り出す(S111−5)。ここで、ステップS111−5のキャッシュ取出しでは、▲1▼必要な分だけキャッシュデータをアクセスする。つぎに、ステップS111−5で取り出したデータを、クライアントへデータを転送する(S111−6)。なお、通常、このケースでは、直前に新鮮なデータがキャッシュされている確率が高い(何故なら、最初の要求がWebサーバからデータを取ってくるのを待っていた)ので、キャッシュが有効期限内にある確率も高い。結果として、Webサーバへのアクセス要求数が減り、アクセス負荷を軽減できる。
【0060】
(4)一方、キャッシュ有効期限判定でNoの場合、Webサーバへ要求を転送し(S111−7)、Webサーバから応答を受信し(S111−8)、さらに、クライアントへ応答を転送する(S111−9)。つぎに、キャッシングモジュール42は、通常キャッシングを行う(S111−10)。
なお、(1−1)で、最初のアクセスとして処理した要求は、通常キャッシング処理(S111−10)で、処理が中止になっている要求が存在するか検査する。存在した場合は、処理の再開指示を出す。
【0061】
なお、ステップS111−1の前に、後述のような監視・規制の処理を追加することもできる。その際、後述のように、まず、監視・規制前処理(S117−1)を追加して、その後に、規制を行うか否か判定する(S117−2)。ここで、規制を行わない場合、ステップS111−1に移行する。一方、規制を行う場合、規制メッセージを取得する処理(S117−3)、規制メッセージよりコンテンツを作成する処理(S117−4)、及び、クライアントへコンテンツを転送する処理(S117−5)を実行する。さらに、ステップS111−6、S111−10、S111−15の後に、監視・規制後処理(117−9)が追加され、その実行後、処理終了となる。
【0062】
図17は、Web通信装置のHTTP応答の説明図である。
このWeb通信装置のHTTP応答85は、例えば、ステップS111−8、13に含まれるものである。
【0063】
図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とに区分し、キャッシングモジュール使用領域に格納する。
【0064】
(ステップS113の優先キャッシュに決定)
図19は、優先キャッシュ処理についてのフローチャートである。なお、ここでのフローチャートは、上述したステップS111の通常キャッシュ処理と比較して、通常キャッシュが優先キャッシュとなったことで変更された処理以外は、同様である。
まず、キャッシングモジュール42は、キャッシュはヒットしたか否かを判定し(S113−1)、キャッシュヒットがあれば、集約を行うか否かを判定する(S113−2)。ここで、ステップS113−2の集約判定処理では、▲1▼キャッシュの状態は、準備完了となっているかを判定し、準備完了となっているのであれば、Noする。また、▲2▼優先キャッシュエントリのオーナは、現在判定処理を行っているセッションかを判定し、他のセッションが持ち主である場合は、Yesとし、そうでなければ、Noとする。
【0065】
つぎに、キャッシングモジュール42は、ステップS113−2で集約を行う場合、処理可能になるまで待つ(S113−3)。ここで、ステップS113−3の処理可能になるまで待つ処理では、▲1▼キャッシュエントリの応答待ちセッションリストにセッションを登録し、▲2▼呼び出されるまで待機する。
つぎに、キャッシングモジュール42は、キャッシュは有効期限内か否かを判定する(S113−4)。ここで、ステップS113−4のキャッシュ有効期限の判定では、RFC2616に記述されている通りに有効期限を計算し、期限内であれば、Yesとし、期限切れであれば、Noとする。ここで、キャッシュが有効期限内であれば、キャッシュを取出す(S113−5)。ここで、ステップS113−5のキャッシュ取出しでは、▲1▼必要な分だけキャッシュデータをアクセスする。つぎに、キャッシングモジュール42は、クライアントへキャッシュを転送する(S113−6)。
【0066】
また、キャッシングモジュール42は、ステップS113−4でキャッシュが有効期限内でない場合、Webサーバへ要求を転送し(S113−7)、Webサーバから応答を受信し(S113−8)、さらに、クライアントへ応答を転送する(S113−9)。つぎに、キャッシングモジュール42は、優先キャッシングを行う(S113−10)。ここで、ステップS113−10の優先キャッシングでは、▲1▼優先キャッシュデータの確保、▲2▼Web通信装置の応答をコピー、▲3▼ ▲1▼、▲2▼をデータがあるまで続ける、▲4▼応答待ちセッションリストに登録があるか検査する、▲5▼ ▲4▼で応答待ちセッションがある場合は、処理開始指示を送る、▲6▼オーナの設定を解除する、等を行う。
【0067】
また、キャッシングモジュール42は、ステップS113−1でキャッシュがヒットしなかった場合、通常キャッシング前処理を行う(S113−11)。ここで、ステップS113−11の優先キャッシング前処理としては、例えば、▲1▼優先URIエントリの作成、▲2▼優先キャッシュエントリの作成、▲3▼URIハッシュへ登録、▲4▼優先キャッシュエントリにオーナを設定することが挙げられる。
【0068】
また、キャッシングモジュール42は、ステップS113−11の後、Webサーバへ要求を転送し(S113−12)、Webサーバから応答を受信し(S113−13)、さらに、クライアントへ応答を転送する(S113−14)。つぎに、キャッシングモジュール42は、優先キャッシングを行う(S113−15)。なお、ステップS113−15での優先キャッシングは、ステップS113−10での処理と同様である。
【0069】
なお、ステップS113−1の前に、後述のような監視・規制の処理を追加することもできる。その際、後述のように、まず、監視・規制前処理(S117−1)を実行し、その後に、規制を行うか否か判定する(S117−2)。ここで、規制を行わない場合、ステップS111−1に移行する。一方、規制を行う場合、規制メッセージを取得する処理(S117−3)、規制メッセージよりコンテンツを作成する処理(S117−4)、及び、クライアントへコンテンツを転送する処理(S117−5)を実行する。さらに、ステップS113−6、S113−10、S113−15の後に、監視・規制後処理(117−9)が追加され、その実行後、処理終了となる。
【0070】
(ステップS115のアクセス抑止に決定)
アクセス抑止コンテンツの作成方法としては、例えば、アクセス抑止メッセージとアクセス抑止コンテンツのフォーマットを用意して動的に生成する。例えば、上に、アクセス抑止メッセージ群とアクセス抑止コンテンツのフォーマットを格納しておく。キャッシングモジュール42は、状態に応じてふさわしいメッセージを取り出し、アクセス抑止コンテンツフォーマットに挿入することでアクセス抑止コンテンツを生成する。例えば、以下の図に示すように、抑止時の一般的なメッセージ93「要求されたコンテンツは利用できません」を使って、アクセス抑止メッセージフォーマットに挿入し、アクセス抑止コンテンツを生成している。
【0071】
図20は、アクセス抑止処理についてのフローチャートである。
まず、キャッシングモジュール42は、抑止メッセージを取得し(S115−1)、抑止メッセージよりコンテンツを作成して(S115−2)、クライアントへコンテンツを転送する(S115−3)。
【0072】
図21は、抑止メッセージ、抑止コンテンツの説明図である。
抑止メッセージ91は、例えば、「要求されたコンテンツはご利用できません」と対応させて表示されるものである。また、抑止コンテンツ93は、例えば、図示のように、表示される。
【0073】
(ステップS117のアクセス監視・規制の決定)
図22は、アクセス監視・規制処理についてのフローチャートである。
まず、キャッシングモジュール42は、監視・規制前処理を行う(S117−1)。ここで、ステップS117−1の監視・規制前処理では、次の処理を行う。
▲1▼URIエントリを作成していなければ作成する。
▲2▼▲1▼を実行した場合は、URIハッシュに登録する。
▲3▼URIエントリ中のアクセスカウントを1増やす。
【0074】
つぎに、キャッシングモジュール42は、規制を行うか否かを判定する(S117−2)。ここで、ステップS117−2の規制判定処理では、▲1▼URIエントリのアクセスカウンタ、▲2▼URIエントリの規制実行フラグ、▲3▼装置に設定された規制開始接続数、▲4▼装置に設定された規制終了接続数を参照して、▲2▼の規制実行フラグが設定されていない場合、▲1▼>▲3▼ならばYesとし、そうでなければNoとする。一方、▲2▼の規制実行フラグが設定されている場合、▲1▼>▲4▼ならばYesとし、そうでなければNoとする。
【0075】
キャッシングモジュール42は、ステップS117−2で規制を行う場合、規制メッセージを取得し(S117−3)、規制メッセージよりコンテンツを作成して(S117−4)、クライアントへコンテンツを転送する(S117−5)。一方、ステップS117−2で規制を行わない場合、キャッシングモジュール42は、Webサーバへ要求を転送し(S117−6)、Webサーバから応答を受信して(S117−7)、クライアントへ応答を転送する(S117−8)。
【0076】
また、キャッシングモジュール42は、ステップS117−5、8の後、監視・規制後処理を行う(S117−9)。ここで、ステップS117−9の監視・規制後処理では、次の処理が行われる。
▲1▼URIエントリ中のアクセスカウントを1減らす。
▲2▼アクセスカウンタが0ならば、URIハッシュから削除する。
▲3▼▲2▼で削除を実行した場合は、URIエントリを削除する。
【0077】
図23は、規制メッセージ、規制コンテンツの説明図である。
アクセス規制メッセージの作成方法についても、上述したアクセス抑止コンテンツの作成方法と同様である。規制メッセージ95は、例えば、「現在、混み合っているため後でご利用ください」と対応させて表示されるものである。また、規制コンテンツ97は、例えば、図示のように表示される。
【0078】
なお、キャッシングモジュール42では、例えば、ステップS117−2において、以下のような処理を行い、規制を行うか否かの判断基準としてもよい。
A.URIエントリ新たなパラメータを追加する。
B.パラメータには、過去にWeb通信中継装置がサーバに当該URIの要求を送信したときの応答時間の平均を入れる。
C.アクセス数が1以上のときは、A.で追加したパラメータも考慮し、例えば、アクセス数がある程度存在し、通信に設定時間以上かかりそうな場合は、上述の規制開始接続数に満たなくても規制する。
【0079】
(ステップS119の制御なしに決定)
図24は、制御なし処理についてのフローチャートである。
まず、キャッシングモジュール42は、Webサーバへ要求を転送し(S119−1)、Webサーバから応答を受信して(S119−2)、クライアントへ応答を転送する(S119−3)。
ここで、ガベージコレクション(装置内資源の再利用)について説明すると、キャッシュ領域に空きが無くなると、データ格納が古かったり、アクセス回数が低い領域を消去して再利用するために、ガベージコレクション処理を行う。ガベージコレクション処理の際には、優先キャッシュエントリは対象外とし、さらに優先キャッシュフラグを参照して、優先キャッシュとして使用されているデータ領域も処理の対象外とする追加判定を行っている。
【0080】
なお、通信システムがRFC2616に未定義のリクエストメソッドに対応しないときは、制御なし(S119、S211)を設置することなく発明の効果が得られる。また、通信システムがHEADメソッドをキャッシュとして処理しない場合は、ステップS101におけるHEADメソッドの処理を▲2▼ではなく▲3▼で処理することで対応できる。
以下に、アクセス監視・規制に用いる規制開始接続数と規制終了接続数を動的に変更する場合について説明する。
【0081】
図25は、拡張したURIエントリを示す図である。
URIエントリを図25に示すように拡張することで、アクセス監視・規制に用いる規制開始接続数と規制終了接続数は、あらかじめ装置に設定した値だけでなく、動的に変更した値を利用できる。例えば、規制開始時刻と規制終了時刻により、次回の規制開始接続数と規制終了接続数を定める。
【0082】
図26は、規制開始接続数と規制終了接続数の動的な変更を示す説明図である。
ここでは、規制開始接続数と規制終了接続数を動的に決定する場合の一例で、URI1とURI2に対する接続数の変化を示している。ここでは、URI1およびURI2とも、図25に示したURIエントリを利用しており、規制開始接続数と規制終了接続数にそれぞれ初期の接続数が設定されている。図26では、URI1とURI2が時刻t1にアクセス規制の制御が開始されている。この例では、規制開始を行うときにそれぞれのURIエントリに規制開始時刻t1を記憶する。規制が終了すると、t1と規制終了時刻t2およびt3を利用して、規制実施時間を求める。URI1の規制実施時間T1はt2−t1、URI2の規制実施時間T2はt3−t1となる。これを、通信システムが想定している標準規制実施時間Tと比較し、次の規制開始接続数と規制終了接続数を定める。この例では、T1の値がTより非常に小さいので、URI1の規制開始接続数と規制終了接続数を一定数増加している。また、T2は、Tとそれほど変わらないため、値を変更していない。
【0083】
また、図25のように拡張したURIエントリでは、アクセス監視・規制を異なる方法で実施できる。Web通信ソフトウェア31内部のプロキシエンジン利用領域には、Web通信ソフトウェア31がWeb通信装置3−1〜3−nに対して要求した際の平均応答時間が保存されている。さらにURIエントリには、URIごとの平均応答時間が記憶されている。URIに対して一定数の要求がある場合、Web通信ソフトウェア31全体の平均応答時間とURIごとの平均応答時間を比較し、URIごとの平均応答時間の応答時間が著しく大きい場合は、アクセス規制処理を行うことで輻輳を回避できる。
【0084】
【発明の効果】
本発明を利用することにより、通信システム提供者は、従来よりも信頼性のある通信システムをユーザに提供することができる。また、ユーザは、従来よりも少ない待ち時間で応答の得られる通信システムを利用できる。
【図面の簡単な説明】
【図1】通信システムの構成図。
【図2】Web通信中継装置の構成図。
【図3】大規模Web通信中継装置におけるデータの送受信についての説明図。
【図4】キャッシュヒット時の説明図及びシーケンス図。
【図5】キャッシュミスヒット時の説明図及びシーケンス図。
【図6】輻輳時の説明図及びシーケンス図。
【図7】アクセス抑止対象コンテンツが要求された場合の説明図及びシーケンス図。
【図8】Web通信中継ソフトウェア31の内部構成についての説明図。
【図9】URIハッシュとURIエントリによるURI管理についての説明図。
【図10】共用メモリ55内のデータ構造についての説明図(1)。
【図11】共用メモリ55内のデータ構造についての説明図(2)。
【図12】キャッシング及び輻輳制御処理について基本的な処理を示すフローチャート。
【図13】キャッシュチェックおよび輻輳制御処理判定についてのフローチャート。
【図14】クライアントのHTTP要求についての説明図。
【図15】URIの加工についての説明図。
【図16】通常キャッシュ処理についてのフローチャート。
【図17】Web通信装置のHTTP応答の説明図。
【図18】Webコンテンツデータの管理についての説明図。
【図19】優先キャッシュ処理についてのフローチャート。
【図20】アクセス抑止処理についてのフローチャート。
【図21】抑止メッセージ、抑止コンテンツの説明図。
【図22】アクセス監視・規制処理についてのフローチャート。
【図23】規制メッセージ、規制コンテンツの説明図。
【図24】制御なし処理についてのフローチャート。
【図25】拡張したURIエントリを示す図。
【図26】規制開始接続数と規制終了接続数の動的な変更を示す説明図。
【符号の説明】
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 通信システム
Claims (4)
- クライアント端末から受信したコンテンツの取得要求をサーバ装置へ送信し、前記取得要求への応答として前記サーバ装置から受信した前記コンテンツを、前記取得要求の送信元である前記クライアント端末へ送信する通信中継装置であって、
取得要求に対する応答である前記コンテンツを格納するためのキャッシュメモリを備え、
前記クライアント端末から受信した、コンテンツの第一の取得要求について、当該第一の取得要求に対する応答である前記コンテンツが前記キャッシュメモリに格納されておらず、かつ、前記コンテンツを格納するためのキャッシュエントリが、前記キャッシュメモリに作成されていない場合に、前記キャッシュエントリを作成し、前記第一の取得要求を前記サーバ装置に送信し、
他のクライアント端末から、前記第一の取得要求と同一の前記コンテンツの取得を要求する他の取得要求を受信した場合に、前記キャッシュメモリを調べ、前記コンテンツに係わる前記キャッシュエントリが、前記キャッシュメモリに作成されており、かつ、前記コンテンツが前記キャッシュエントリに格納されていなければ、前記他の取得要求を前記サーバ装置へ送信せずに処理待ち状態とする、ことを、受信した前記他の取得要求の各々について行い、
前記サーバ装置へ送信した前記第一の取得要求への応答である前記コンテンツを前記キャッシュエントリに格納したら、前記処理待ち状態としていた前記他の取得要求について、前記コンテンツ応答の処理を再開し、前記他の取得要求に対して、前記キャッシュエントリに格納された前記コンテンツにて応答可能であれば、当該コンテンツを、前記他のクライアント端末へ送信する
ことを特徴とする通信中継装置。 - 請求項1に記載の通信中継装置において、
前記応答である前記コンテンツを受信したら、前記サーバ装置へ送信した前記第一の取得要求の送信元である前記クライアント端末へ送信した後に、作成した前記キャッシュエントリへ格納する
ことを特徴とする通信中継装置。 - 請求項1または2に記載の通信中継装置において、
前記取得要求に含まれる、キャッシュの利用に係わる情報を調べ、
前記サーバ装置へ送信した前記第一の取得要求がキャッシュを利用しない要求である場合は、前記他の取得要求各々を、前記処理待ち状態とせずに、前記サーバ装置へ送信する
ことを特徴とする通信中継装置。 - 請求項1ないし3いずれか一に記載の通信中継装置において、
前記コンテンツに対するコンテンツ取得要求は、Universal Resource Identifierを指定する
ことを特徴とする通信中継装置。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001196738A JP4274710B2 (ja) | 2001-06-28 | 2001-06-28 | 通信中継装置 |
US10/183,519 US6931435B2 (en) | 2001-06-28 | 2002-06-28 | Congestion control and avoidance method in a data processing system |
US11/189,758 US7373459B2 (en) | 2001-06-28 | 2005-07-27 | Congestion control and avoidance method in a data processing system |
US12/078,968 US7860988B2 (en) | 2001-06-28 | 2008-04-09 | Congestion control and avoidance method in a data processing system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001196738A JP4274710B2 (ja) | 2001-06-28 | 2001-06-28 | 通信中継装置 |
Related Child Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004336864A Division JP4736407B2 (ja) | 2004-11-22 | 2004-11-22 | 中継装置 |
JP2008205008A Division JP4687758B2 (ja) | 2008-08-08 | 2008-08-08 | 輻輳制御方法 |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2003015938A JP2003015938A (ja) | 2003-01-17 |
JP2003015938A5 JP2003015938A5 (ja) | 2005-07-14 |
JP4274710B2 true JP4274710B2 (ja) | 2009-06-10 |
Family
ID=19034486
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001196738A Expired - Fee Related JP4274710B2 (ja) | 2001-06-28 | 2001-06-28 | 通信中継装置 |
Country Status (2)
Country | Link |
---|---|
US (3) | US6931435B2 (ja) |
JP (1) | JP4274710B2 (ja) |
Families Citing this family (70)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7058822B2 (en) | 2000-03-30 | 2006-06-06 | Finjan Software, Ltd. | Malicious mobile code runtime monitoring system and methods |
US9219755B2 (en) | 1996-11-08 | 2015-12-22 | Finjan, Inc. | Malicious mobile code runtime monitoring system and methods |
US8079086B1 (en) | 1997-11-06 | 2011-12-13 | Finjan, Inc. | Malicious mobile code runtime monitoring system and methods |
JP4274710B2 (ja) * | 2001-06-28 | 2009-06-10 | 株式会社日立製作所 | 通信中継装置 |
AU2002952274A0 (en) * | 2002-10-24 | 2002-11-07 | Ideadata Pty Ltd | A computing device and method for recording data exchanged between electronic devices |
EP1453243B1 (en) * | 2003-02-03 | 2014-01-15 | NTT DoCoMo, Inc. | An apparatus and a method for optimizing network resources in data communication |
US8108939B2 (en) * | 2003-05-29 | 2012-01-31 | Oracle International Corporation | Method and apparatus to facilitate security-enabled content caching |
US7774499B1 (en) * | 2003-10-30 | 2010-08-10 | United Online, Inc. | Accelerating network communications |
JP2005184165A (ja) * | 2003-12-17 | 2005-07-07 | Hitachi Ltd | トラフィック制御装置およびそれを用いたサービスシステム |
US8010670B2 (en) * | 2003-12-23 | 2011-08-30 | Slipstream Data Inc. | Meta-data based method for local cache utilization |
US20050210121A1 (en) * | 2004-03-22 | 2005-09-22 | Qualcomm Incorporated | Satellite anticipatory bandwith acceleration |
US7325734B2 (en) * | 2004-05-13 | 2008-02-05 | Cisco Technology, Inc. | Methods and devices for assigning RFID device personality |
US7789308B2 (en) * | 2004-05-13 | 2010-09-07 | Cisco Technology, Inc. | Locating and provisioning devices in a network |
US7422152B2 (en) * | 2004-05-13 | 2008-09-09 | Cisco Technology, Inc. | Methods and devices for providing scalable RFID networks |
US8458467B2 (en) * | 2005-06-21 | 2013-06-04 | Cisco Technology, Inc. | Method and apparatus for adaptive application message payload content transformation in a network infrastructure element |
US20060167841A1 (en) * | 2004-11-18 | 2006-07-27 | International Business Machines Corporation | Method and system for a unique naming scheme for content management systems |
JP4736407B2 (ja) * | 2004-11-22 | 2011-07-27 | 株式会社日立製作所 | 中継装置 |
US7664879B2 (en) * | 2004-11-23 | 2010-02-16 | Cisco Technology, Inc. | Caching content and state data at a network element |
US7987272B2 (en) * | 2004-12-06 | 2011-07-26 | Cisco Technology, Inc. | Performing message payload processing functions in a network element on behalf of an application |
US7725934B2 (en) * | 2004-12-07 | 2010-05-25 | Cisco Technology, Inc. | Network and application attack protection based on application layer message inspection |
US8082304B2 (en) | 2004-12-10 | 2011-12-20 | Cisco Technology, Inc. | Guaranteed delivery of application layer messages by a network element |
US7606267B2 (en) * | 2004-12-10 | 2009-10-20 | Cisco Technology, Inc. | Reducing the sizes of application layer messages in a network element |
US7551567B2 (en) * | 2005-01-05 | 2009-06-23 | Cisco Technology, Inc. | Interpreting an application message at a network element using sampling and heuristics |
US20060155862A1 (en) * | 2005-01-06 | 2006-07-13 | Hari Kathi | Data traffic load balancing based on application layer messages |
US7698416B2 (en) | 2005-01-25 | 2010-04-13 | Cisco Technology, Inc. | Application layer message-based server failover management by a network element |
US8266327B2 (en) * | 2005-06-21 | 2012-09-11 | Cisco Technology, Inc. | Identity brokering in a network element |
US7345585B2 (en) * | 2005-08-01 | 2008-03-18 | Cisco Technology, Inc. | Network based device for providing RFID middleware functionality |
JP2007281880A (ja) * | 2006-04-06 | 2007-10-25 | Ntt Docomo Inc | 移動機および発信規制方法 |
US7895646B2 (en) * | 2006-05-25 | 2011-02-22 | International Business Machines Corporation | IKE daemon self-adjusting negotiation throttle |
US7797406B2 (en) * | 2006-07-27 | 2010-09-14 | Cisco Technology, Inc. | Applying quality of service to application messages in network elements based on roles and status |
EP2062135A1 (en) * | 2006-09-14 | 2009-05-27 | 1060 Research Limited | Method for locating, resolving and invoking software functions |
JP5870442B2 (ja) * | 2006-11-23 | 2016-03-01 | ジャグウッド プロプライエタリー リミテッド | 金融文書及び同様のものを通知するためのプロセス及び装置 |
US8301787B2 (en) * | 2007-03-22 | 2012-10-30 | Red Hat, Inc. | Selective use of anonymous proxies |
JP2009043119A (ja) * | 2007-08-10 | 2009-02-26 | Fujifilm Corp | ウェブ・サーバ・システム |
US7817636B2 (en) * | 2008-01-30 | 2010-10-19 | Cisco Technology, Inc. | Obtaining information on forwarding decisions for a packet flow |
US8510750B2 (en) * | 2008-09-23 | 2013-08-13 | 1060 Research Limited | Method for caching resource representations in a contextual address space |
US20100306442A1 (en) * | 2009-06-02 | 2010-12-02 | International Business Machines Corporation | Detecting lost and out of order posted write packets in a peripheral component interconnect (pci) express network |
US8560604B2 (en) | 2009-10-08 | 2013-10-15 | Hola Networks Ltd. | System and method for providing faster and more efficient data communication |
US8776091B2 (en) * | 2010-04-30 | 2014-07-08 | Microsoft Corporation | Reducing feedback latency |
JP5569368B2 (ja) * | 2010-12-01 | 2014-08-13 | 富士ゼロックス株式会社 | 情報処理装置及びプログラム |
US9251367B2 (en) * | 2011-03-25 | 2016-02-02 | Nec Corporation | Device, method and program for preventing information leakage |
US20140215071A1 (en) * | 2011-08-18 | 2014-07-31 | Lg Electronics Inc. | Method and device for receiving content |
JPWO2013168465A1 (ja) * | 2012-05-08 | 2016-01-07 | ソニー株式会社 | 情報処理装置、情報処理方法およびプログラム |
US9454487B2 (en) * | 2012-08-27 | 2016-09-27 | Vmware, Inc. | Transparent host-side caching of virtual disks located on shared storage |
GB2510192A (en) * | 2013-01-29 | 2014-07-30 | Openwave Mobility Inc | Intermediate proxy server caching buffer searched with key (URI hash) |
US10235459B1 (en) * | 2013-07-25 | 2019-03-19 | Google Llc | Creating entries in at least one of a personal cache and a personal index |
US9241044B2 (en) | 2013-08-28 | 2016-01-19 | Hola Networks, Ltd. | System and method for improving internet communication by using intermediate nodes |
US20150161282A1 (en) * | 2013-12-11 | 2015-06-11 | Yahoo! Inc. | Method and System for Smart URL Shortening Service |
US10606859B2 (en) | 2014-11-24 | 2020-03-31 | Asana, Inc. | Client side system and method for search backed calendar user interface |
US10284470B2 (en) * | 2014-12-23 | 2019-05-07 | Intel Corporation | Technologies for network device flow lookup management |
US11057446B2 (en) | 2015-05-14 | 2021-07-06 | Bright Data Ltd. | System and method for streaming content from multiple servers |
US10656935B2 (en) | 2015-10-13 | 2020-05-19 | Home Box Office, Inc. | Maintaining and updating software versions via hierarchy |
US10623514B2 (en) | 2015-10-13 | 2020-04-14 | Home Box Office, Inc. | Resource response expansion |
GB2547189A (en) * | 2016-02-03 | 2017-08-16 | Swarm64 As | Cache and method |
US10048874B1 (en) * | 2016-06-29 | 2018-08-14 | EMC IP Holding Company LLC | Flow control with a dynamic window in a storage system with latency guarantees |
US10044832B2 (en) | 2016-08-30 | 2018-08-07 | Home Box Office, Inc. | Data request multiplexing |
JP6674355B2 (ja) * | 2016-08-31 | 2020-04-01 | 株式会社東芝 | 通信装置、通信方法及びプログラム |
US10698740B2 (en) | 2017-05-02 | 2020-06-30 | Home Box Office, Inc. | Virtual graph nodes |
US10977434B2 (en) | 2017-07-11 | 2021-04-13 | Asana, Inc. | Database model which provides management of custom fields and methods and apparatus therfor |
LT3767494T (lt) | 2017-08-28 | 2023-03-10 | Bright Data Ltd. | Būdas pagerinti turinio parsisiuntimą, pasirenkant tunelinius įrenginius |
US11190374B2 (en) | 2017-08-28 | 2021-11-30 | Bright Data Ltd. | System and method for improving content fetching by selecting tunnel devices |
JP7022030B2 (ja) * | 2018-08-08 | 2022-02-17 | Kddi株式会社 | コンテンツ配信ネットワークの転送装置 |
US11640429B2 (en) | 2018-10-11 | 2023-05-02 | Home Box Office, Inc. | Graph views to improve user interface responsiveness |
US10771435B2 (en) * | 2018-11-20 | 2020-09-08 | Netskope, Inc. | Zero trust and zero knowledge application access system |
EP4075304B1 (en) | 2019-02-25 | 2023-06-28 | Bright Data Ltd. | System and method for url fetching retry mechanism |
EP4027618B1 (en) | 2019-04-02 | 2024-07-31 | Bright Data Ltd. | Managing a non-direct url fetching service |
CN112003945A (zh) * | 2020-08-26 | 2020-11-27 | 杭州迪普科技股份有限公司 | 服务请求响应方法及装置 |
CN112084774B (zh) * | 2020-09-08 | 2021-07-20 | 百度在线网络技术(北京)有限公司 | 数据搜索方法、装置、系统、设备和计算机可读存储介质 |
US20230078632A1 (en) * | 2021-09-10 | 2023-03-16 | Rockwell Automation Technologies, Inc. | Security and safety of an industrial operation using opportunistic sensing |
US20230222200A1 (en) * | 2022-01-12 | 2023-07-13 | Dell Products, L.P. | Systems and methods for transfer of workspace orchestration |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6335927B1 (en) * | 1996-11-18 | 2002-01-01 | Mci Communications Corporation | System and method for providing requested quality of service in a hybrid network |
JPH11249976A (ja) | 1998-03-02 | 1999-09-17 | Mitsubishi Electric Corp | クライアントサーバシステムにおけるデータ転送制御システム |
JPH11249977A (ja) | 1998-03-03 | 1999-09-17 | Mitsubishi Electric Corp | データ転送ネットワークシステム |
JP3609256B2 (ja) | 1998-05-19 | 2005-01-12 | 株式会社日立製作所 | ネットワーク管理装置,ノード装置及びネットワーク管理システム |
US6233606B1 (en) * | 1998-12-01 | 2001-05-15 | Microsoft Corporation | Automatic cache synchronization |
US6442608B1 (en) * | 1999-01-14 | 2002-08-27 | Cisco Technology, Inc. | Distributed database system with authoritative node |
WO2000058870A2 (en) | 1999-03-31 | 2000-10-05 | America Online, Inc. | Handling a request for information provided by a network site |
JP2000298634A (ja) | 1999-04-15 | 2000-10-24 | Hitachi Ltd | 情報配信システム |
US6529955B1 (en) * | 1999-05-06 | 2003-03-04 | Cisco Technology, Inc. | Proxy session count limitation |
US6584548B1 (en) * | 1999-07-22 | 2003-06-24 | International Business Machines Corporation | Method and apparatus for invalidating data in a cache |
US6751668B1 (en) * | 2000-03-14 | 2004-06-15 | Watchguard Technologies, Inc. | Denial-of-service attack blocking with selective passing and flexible monitoring |
JP2002152258A (ja) | 2000-11-10 | 2002-05-24 | Nec Corp | データ取得システム及びデータ取得方法 |
US7320032B2 (en) * | 2001-05-21 | 2008-01-15 | Hewlett-Packard Development Company, L.P. | Methods and structure for reducing resource hogging |
JP4274710B2 (ja) * | 2001-06-28 | 2009-06-10 | 株式会社日立製作所 | 通信中継装置 |
US7212551B1 (en) * | 2001-11-13 | 2007-05-01 | Nortel Networks Limited | Time-coordination in a burst-switching network |
US7509393B2 (en) * | 2001-12-19 | 2009-03-24 | International Business Machines Corporation | Method and system for caching role-specific fragments |
-
2001
- 2001-06-28 JP JP2001196738A patent/JP4274710B2/ja not_active Expired - Fee Related
-
2002
- 2002-06-28 US US10/183,519 patent/US6931435B2/en not_active Expired - Fee Related
-
2005
- 2005-07-27 US US11/189,758 patent/US7373459B2/en not_active Expired - Fee Related
-
2008
- 2008-04-09 US US12/078,968 patent/US7860988B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US20030028616A1 (en) | 2003-02-06 |
US20060031567A1 (en) | 2006-02-09 |
US6931435B2 (en) | 2005-08-16 |
US20080209069A1 (en) | 2008-08-28 |
US7373459B2 (en) | 2008-05-13 |
US7860988B2 (en) | 2010-12-28 |
JP2003015938A (ja) | 2003-01-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4274710B2 (ja) | 通信中継装置 | |
US8966121B2 (en) | Client-side management of domain name information | |
EP1320237B1 (en) | System and method for controlling congestion in networks | |
US6801927B1 (en) | Network adaptor card with reverse proxy and cache and method implemented therewith | |
JP3382953B2 (ja) | 有限メモリコンピュータシステム上におけるクライアント管理フロー制御方法及び装置 | |
JP2002140309A (ja) | サービスシステム | |
US20040044731A1 (en) | System and method for optimizing internet applications | |
US7343395B2 (en) | Facilitating resource access using prioritized multicast responses to a discovery request | |
JP2000137641A (ja) | 分散クライアントベ―スのデ―タキャッシングシステム | |
JP2007066161A (ja) | キャッシュシステム | |
US7127502B1 (en) | Communication proxy device | |
JP2001511551A (ja) | インターネット・キャッシング・システム | |
JPH1021134A (ja) | ゲートウェイ装置、クライアント計算機およびそれらを接続した分散ファイルシステム | |
US6934761B1 (en) | User level web server cache control of in-kernel http cache | |
US20030084140A1 (en) | Data relay method | |
JP4687758B2 (ja) | 輻輳制御方法 | |
JP4736407B2 (ja) | 中継装置 | |
US7752325B1 (en) | Method and apparatus to efficiently transmit streaming media | |
CN105610945A (zh) | 一种搜索流量入口本地化处理方法及装置 | |
KR20090071542A (ko) | 호스트 가장 네트워크 디바이스 및 그의 방법 | |
JP2002197002A (ja) | 自律分散型コンテンツ配信システム及び方法 | |
JP4202534B2 (ja) | Webデータのキャッシュ更新方法およびキャッシュ更新システム | |
US11960407B1 (en) | Cache purging in a distributed networked system | |
JP2002251312A (ja) | 通信プロキシ装置 | |
JP2008204480A (ja) | サービスシステム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20041122 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20041122 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080318 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080516 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080617 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080813 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20080930 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20081126 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20090108 |
|
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: 20090224 |
|
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: 20090303 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120313 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120313 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130313 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130313 Year of fee payment: 4 |
|
LAPS | Cancellation because of no payment of annual fees |