JP2005018398A - Caching system - Google Patents

Caching system Download PDF

Info

Publication number
JP2005018398A
JP2005018398A JP2003182200A JP2003182200A JP2005018398A JP 2005018398 A JP2005018398 A JP 2005018398A JP 2003182200 A JP2003182200 A JP 2003182200A JP 2003182200 A JP2003182200 A JP 2003182200A JP 2005018398 A JP2005018398 A JP 2005018398A
Authority
JP
Japan
Prior art keywords
content
request
cache memory
web server
response
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
JP2003182200A
Other languages
Japanese (ja)
Other versions
JP4744792B2 (en
Inventor
Akira Tanaka
暁 田中
Jun Takatori
純 鷹取
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.)
SoftBank Corp
Original Assignee
Vodafone KK
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 Vodafone KK filed Critical Vodafone KK
Priority to JP2003182200A priority Critical patent/JP4744792B2/en
Publication of JP2005018398A publication Critical patent/JP2005018398A/en
Application granted granted Critical
Publication of JP4744792B2 publication Critical patent/JP4744792B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime 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 efficiently cache irrespective of the types of contents for which a web access request is issued. <P>SOLUTION: Even when a content acquired from a web server 13 is regarded as a dynamic content in a caching system 12, in the case where it is designated by a header of HTTP Response that the content can be cached, the content is saved in a cache memory 12a. Thus, in the case where the content, even if being dynamic, is cacheable, the dynamic content can be cached. <P>COPYRIGHT: (C)2005,JPO&NCIPI

Description

【0001】
【発明の属する技術分野】
本発明は、ウェブサーバからウェブクライアントがコンテンツを取得するためのキャッシングシステムに関し、移動通信網に適用して好適なものである。
【0002】
【従来の技術】
移動通信システムは、第1世代が、1980年代のアナログ方式の移動通信システム(NTT方式,AMPS(Advanced Mobile Phone Service),TACS(Total Access Communications System)など)とされ、第2世代が、1990年代のディジタル方式の移動通信システム(PDC(Personal Digital Cellular telecommunication system),GSM(global system for mobile communication),IS−54,IS−95など)とされている。さらに、第3世代は、サービス開始当初で64〜384kbps、将来は2Mbps という高速通信が実現される。これにより、第3世代では現行の第2世代移動通信システムにおいても可能であったモバイルインターネット接続サービス等についても、より快適かつ大容量で利用することが可能となり、高速パケット通信の進展や、PCカードタイプの携帯電話端末の発展、マルチコール(音声とパケットの同時通信)、添付ファイル付のメール、動画アプリケーション(ストリーミング等)、テレビ電話などの多様なサービスが実現可能となる。このような移動通信システムの普及はめざましく、我が国においては移動電話の普及台数は6000万台を超えるまでに至っている。この移動電話は携帯電話機として普及しており、第2世代においても携帯電話機を端末としてインターネットメールを送受信することや、ウェブコンテンツをインターネット上のサーバから取得することが可能とされている。
【0003】
【発明が解決しようとする課題】
移動通信網における移動機とコンテンツを提供するウェブサーバとの間には、応答の向上やネットワークリソースを有効に利用できるように、キャッシングシステムが設けられている。一般的なキャッシングシステムは、ウェブクライアントからウェブサーバへのウェブアクセス要求を中継し、中継することによりウェブサーバから得られたウェブデータをキャッシュとして保持している。そして、既にキャッシュとして保持しているデータに対するアクセス要求がウェブクライアントからあった際には、ウェブサーバにウェブアクセス要求を中継せず、キャッシュされているウェブデータをウェブクライアントに送信することにより、ウェブアクセス要求に応答している。
【0004】
ところで、一般的に、ウェブにおいて提供されるコンテンツは以下の3種類に分類することができる。
1.静的コンテンツ:ウェブコンテンツ作成者のレイアウトが終わると変更されないコンテンツであり、例えば、文書や図などが記載されているコンテンツとされる。
2.動的コンテンツ:ウェブアクセス要求に応じて、部分的または全体的に生成されるコンテンツである。この動的コンテンツは、ウェブアクセス要求のたびに生成されることからコンテンツの内容が異なる場合が多くされている。例えば、ウェブページの入力画面に探し出したい文字を入力し、検索を実行すると検索結果画面を表示する検索サイトにおいては動的コンテンツが生成されている。
3.ストリーミング:ストリーミングは静的コンテンツや動的コンテンツと異なり、ウェブアクセス要求したコンテンツをダウンロードした後に処理するのではなく、データを受信しながらリアルタイムで処理するコンテンツである。例えば、リアルタイムな音声や動画配信がストリーミングに該当する。
【0005】
このように、ウェブアクセス要求されたコンテンツが動的コンテンツとされた場合は、要求毎に異なる内容のコンテンツが生成されて応答される場合が多くなる。そこで、従来は、動的コンテンツのウェブアクセス要求であった場合は、コンテンツが動的に生成される可能性があるとしてキャッシュしないようにしている。すると、常時あるいは一定時間は同じコンテンツが生成される動的コンテンツの場合であっても、キャッシュを利用することができないという問題があった。また、ウェブアクセス要求されたコンテンツが全コンテンツの内の一部のコンテンツであった場合は、キャッシングシステムを利用するとデータ矛盾が生じるおそれがあることから、キャッシングシステムを利用しないようにしていた。これらの場合には、キャッシングシステムはウェブサーバにウェブアクセス要求を中継することから、応答が遅くなると共にウェブサーバの処理負担が大きくなってしまうという問題点が生じることになる。
【0006】
そこで、本発明はウェブアクセス要求されたコンテンツによらず、効率的に使用できるキャッシングシステムを提供することを目的としている。
【0007】
【課題を解決するための手段】
上記目的を達成するために、本発明のキャッシングシステムは、ウェブクライアントからのコンテンツ要求に応じて、コンテンツを提供可能なウェブサーバから応答されたコンテンツを保存可能とされているキャッシュメモリと、前記ウェブクライアントから要求されたコンテンツが前記キャッシュメモリに保存されている場合には、前記キャッシュメモリから該当するコンテンツを読み出して前記ウェブクライアントへ送信し、前記キャッシュメモリに要求されたコンテンツが保存されていない場合には、前記ウェブサーバにコンテンツ要求を送信して前記ウェブサーバから応答されたコンテンツを前記ウェブクライアントへ送信する制御手段とを備え、前記制御手段は、前記ウェブサーバから応答されたコンテンツが動的コンテンツとされて、前記応答中にキャッシュ可能指示情報が含まれている場合は、当該コンテンツを前記キャッシュメモリに保存するようにしている。
【0008】
また、上記本発明のキャッシングシステムにおいて、前記制御手段は、さらに、コンテンツ要求に対する前記ウェブサーバからの応答が正常応答であったことを条件の一つとして、該コンテンツ要求に応じて前記ウェブサーバから応答されたコンテンツを前記キャッシュメモリに保存するようにしてもよい。
さらに、上記本発明のキャッシングシステムにおいて、前記制御手段は、コンテンツ要求にパラメータが付加されていることを示す文字がコンテンツ要求に含まれている場合には、該コンテンツ要求に応じて前記ウェブサーバから応答されたコンテンツを前記キャッシュメモリに保存するようにしてもよい。
さらにまた、上記本発明のキャッシングシステムにおいて、前記制御手段は、コンテンツ要求に含まれているパス拡張子が動的コンテンツを示すパス拡張子であった場合には、該コンテンツ要求に応じて前記ウェブサーバから応答されたコンテンツを前記キャッシュメモリに保存するようにしてもよい。
【0009】
さらにまた、上記本発明のキャッシングシステムにおいて、前記制御手段は、コンテンツ要求に含まれているパス要素が動的コンテンツを示すパス要素であった場合には、該コンテンツ要求に応じて前記ウェブサーバから応答されたコンテンツを前記キャッシュメモリに保存するようにしてもよい。
さらにまた、上記本発明のキャッシングシステムにおいて、前記制御手段は、前記ウェブサーバから応答されたコンテンツが、全コンテンツの内の一部のコンテンツであった場合は、当該コンテンツを前記キャッシュメモリに保存しないようにしてもよい。
さらにまた、上記本発明のキャッシングシステムにおいて、前記制御手段は、前記ウェブサーバからの応答にコンテンツのキャッシュ保存期限情報が含まれている場合は、当該キャッシュ保存期限情報で示される期限だけ当該コンテンツを前記キャッシュメモリに保存するようにしてもよい。
【0010】
次に、上記目的を達成することのできる本発明の他のキャッシングシステムは、ウェブクライアントからのコンテンツ要求に応じて、コンテンツを提供可能なウェブサーバから応答されたコンテンツを保存可能とされているキャッシュメモリと、前記ウェブクライアントから要求されたコンテンツが前記キャッシュメモリに保存されている場合には、前記キャッシュメモリから該当するコンテンツを読み出して前記ウェブクライアントへ送信し、前記キャッシュメモリに要求されたコンテンツが保存されていない場合には、前記ウェブサーバにコンテンツ要求を送信して前記ウェブサーバから応答されたコンテンツを前記ウェブクライアントへ送信する制御手段とを備え、前記制御手段は、前記ウェブクライアントからのコンテンツ要求が、全コンテンツの内の一部のコンテンツを取得する要求であった際に、前記全コンテンツが前記キャッシュメモリに保存されている場合には、前記キャッシュメモリから該当する範囲のコンテンツを読み出して前記ウェブクライアントへ送信するようにしている。
【0011】
このような本発明によれば、ウェブサーバから取得したコンテンツが動的コンテンツとされて、応答中にキャッシュ可能指示情報が含まれている場合は、そのコンテンツをキャッシュメモリに保存している。これにより、動的コンテンツであっても支障の生じないコンテンツの場合はキャッシュすることができるようになる。また、ウェブクライアントからのコンテンツ要求が、全コンテンツの内の一部のコンテンツを取得する要求であった場合にもキャッシングシステムを利用できるようにしている。従って、キャッシングシステムを有効に利用することができると共に、ネットワークリソースを有効に利用することができるようになる。これにより、ウェブアクセス要求に対する応答を速くしてユーザビリティを向上することができると共に、ウェブサーバの処理負担を軽減することができるようになる。
【0012】
さらに、キャッシュメモリに保存する条件として応答の正常応答を加えると、キャッシュの信頼性を向上することができる。さらに加えて、コンテンツ要求にパラメータが付加されていること、動的コンテンツを示すパス拡張子あるいはパス要素が含まれていることを条件としても良い。さらにまた、ウェブサーバから取得したコンテンツが全コンテンツの内の一部のコンテンツであった場合は、そのコンテンツをキャッシュメモリに保存しないことにより、データ矛盾を生じないようにしている。さらにまた、キャッシュ保存期限情報が通知されている場合は、そのキャッシュ保存期限情報で示される期限だけキャッシュすることにより、所定期間毎に更新される動的コンテンツであっても、支障なくキャッシングシステムを利用することができるようになる。
【0013】
【発明の実施の形態】
本発明の実施の形態のキャッシングシステムを備えるネットワークの概略構成を図1に示す。
図1に示すネットワークは、移動通信網とインターネット等の他のネットワークから構成されており、移動通信網は、例えば携帯電話機とされる移動機(MS)10と無線通信路11として示されている。また、他のネットワークはそのネットワーク上に位置しているウェブサーバ13として示されている。本発明にかかるキャッシングシステム12は、移動通信網とウェブサーバ13との間に配置されており、移動機10からウェブサーバ13へのウェブアクセス要求を中継し、中継することによりウェブサーバ13から得られたウェブデータ(コンテンツ)を、移動機10へ送信すると共にキャッシングシステム12に備えられているキャッシュメモリ12aに保存している。そして、既にキャッシュとしてキャッシュメモリ12aに保持しているコンテンツに対するコンテンツ取得要求が移動機10からあった際には、ウェブサーバ13にコンテンツ取得要求を中継せず、キャッシュされているコンテンツをキャッシュメモリ12aから読み出して移動機10に送信することにより、コンテンツ取得要求に応答している。このような、キャッシングシステム12で実行される処理をキャッシングシステム処理ということにする。なお、ウェブサーバ13は提供するコンテンツ等が記憶されるハードディスク等の記憶手段14を備えている。
【0014】
なお、移動機10がウェブサーバ13からコンテンツを取得する際のプロトコルとしてはHTTP(Hypertext Transfer Protocol)が用いられる。HTTPは、TCP/IP(Transmission Control Protocol/Internet Protocol)の上位レイヤに属しており、インターネットにおいて、ウェブサーバとウェブクライアントの間でHTML文書や画像・音声、そのほかのマルチメディア・データを送受信するための通信プロトコルである。HTTPはリクエスト(要求::HTTP Request)とレスポンス(応答:HTTP Resoponse)からなる非常に単純なプロトコルであり、リクエストとレスポンスとで通信の単位とされている。例えば、ウェブクライアントが、リクエストとして表示したいHTML文書のURL(Uniform Resource Locators)をリクエストとして送信する。これを受けたウェブサーバは、URLで指定された自分が保存しているHTML文書をレスポンスとしてウェブクライアントに送信する。HTTPでは、この1回のデータ取得のたびにウェブサーバへの接続を行い、データの受信を終えると接続を切断している。なお、ウェブクライアントは、図1に示すネットワークにおいては移動機10となる。
【0015】
ところで、ウェブサーバ13から提供される移動機10向けを含む現状のウェブコンテンツの多くは、CGI(Common Gateway Interface)を利用したコンテンツが非常に多くされている。CGIは、ウェブブラウザからの要求を受け付けて、所望の外部プログラムを呼び出し、プログラムの実行結果をウェブブラウザに返すための仕組みであり、ウェブブラウザのフォームにデータを入力してもらい、結果を返すといったアプリケーションを作成するための基本的なインターフェースとされている。例えば、ウェブページの入力画面に探し出したい文字を入力し、検索を実行すると検索結果画面を表示する検索サイトや、ユーザが投稿した文字をすぐにウェブに反映し表示する掲示板がCGIを利用している。このように、CGIを利用したコンテンツではコンテンツが部分的あるいは全体的に生成されるため、動的コンテンツが生成されることになる。
【0016】
また、ウェブサーバ側で、Java(TM)ScriptやVisualBasic (TM)Scriptなどのスクリプト言語や、各種ActiveX(TM)コンポーネントを動作させるためのフレームワークとしてASP(Active Server Pages)がある。ASPとして記述されたウェブページは、まずサーバ側で解釈・実行されるため、参照時の状態によってダイナミックなコンテンツをクライアントに提供することが可能である。このように、ASPを利用したコンテンツでもコンテンツが部分的あるいは全体的に生成されるため、動的コンテンツが生成可能となる。
さらに、HTTP RequestのURI(Uniform Resource Identifier)にパラメータを付加する場合があるが、この場合にはHTTP Responseとして付加されたパラメータに応じて作成された動的コンテンツが返るようになる。なお、URIとはネットワーク上のリソースを特定するためのコンパクトな文字列の仕様であり、URLのスキーム(使用するプロトコルの識別子)を含んでいる。
【0017】
本発明のキャッシングシステム12では、このようなCGIやASPを利用した動的コンテンツあるいはHTTP Requestにパラメータが付加された場合であっても、ある条件の基でキャッシュメモリ12aにキャッシュするようにして、キャッシングシステム処理を行うようにしている。それは、CGIやASPを利用したコンテンツの中、あるいはHTTP Requestにパラメータが付加された場合にも静的コンテンツが存在することと、天気予報やニュースの動的コンテンツのように一定時間毎に更新されて、その時間内においては同じ内容の動的コンテンツが生成される場合があるからである。このようなCGIやASPを利用する動的コンテンツあるいはHTTP Requestにパラメータが付加された場合は、キャッシュ対象として、ウェブサーバ13からキャッシングシステム12がHTTP Responseを受け取った際に、そのコンテンツをキャッシュメモリ12aに保存するようにしている。
【0018】
ここで、移動機10からウェブサーバ13へのウェブアクセス要求(HTTP Request)をキャッシングシステム12が中継し、中継することによりウェブサーバ13から得られたコンテンツを、移動機10へウェブアクセス応答(HTTP Response)として送信すると共にキャッシングシステム12に備えられているキャッシュメモリ12aに保存する場合の様子が図2に示されている。キャッシングシステム12がウェブアクセス要求を中継するのは、ウェブアクセス要求に対応するコンテンツがキャッシュメモリ12aに格納されていなかったり、有効期限が過ぎておりキャッシュヒットしない場合である。この場合には、図2に示すようにウェブサーバ13にHTTP Requestを中継し、ウェブサーバ13はHTTP Requestに応じたコンテンツを記憶手段14から読み出しあるいは作成してHTTP Responseとしてキャッシングシステム12に返す。キャッシングシステム12は、取得したHTTP Responseを移動機10へ送信する。この場合、HTTP Responseのヘッダにおいて当該コンテンツがキャッシュ可能に指定されている場合には、そのコンテンツをキャッシュメモリ12aに格納する。
【0019】
この場合、当該コンテンツが動的コンテンツとされている場合であってもHTTP Requestの内容がキャッシュ可の定義に一致する場合には、対応するコンテンツをキャッシュメモリ12aに格納している。なお、キャッシュ可の定義に一致する動的コンテンツか否かはHTTP RequestにおけるURIから判断しており、URIを比較対象としてキャッシュ可の動的コンテンツを定義している。すなわち、URIにパラメータが付加されている場合はURIとパラメータとの間を区切る文字”?”が挿入されていることから、HTTP Requestに文字”?”が含まれている場合にはキャッシュ可と定義する。また、URIにおけるパス拡張子が”asp”あるいは”cgi”とされている場合にもキャッシュ可と定義する。さらに、URIにおけるパス要素に”cgi”が含まれている場合にもキャッシュ可と定義する。
【0020】
このような定義を示す図表を図5に「表1 キャッシュ制御パラメータ」として示す。また、URIのデータ構造を一例としてあげたURIを用いて図4に示す。
図5に示すように、#1では制御パラメータcond_cache_charとしてキャッシュ可とするCGIパラメータの文字列を”?”と設定し、CGI部の全文字を比較対象としている。図4に示すURIでは、比較対象に文字”?”が含まれていることから定義内容にマッチしており、ウェブサーバ13からの応答におけるヘッダにおいてキャッシュ可能と指定されているものは当該コンテンツをキャッシュメモリ12aに格納する。
【0021】
また、#2では制御パラメータcond_cache_suffixとしてキャッシュ可とするパス拡張子を”asp:cgi”と設定し、URIのパス拡張子を比較対象としている。図4に示すURIにおいて、パス拡張子は「.」の後に位置しており図4に示すURIでは”cgi”とされて、比較対象のパス拡張子が”cgi”とされていることから定義内容にマッチしており、ウェブサーバ13からの応答におけるヘッダにおいてキャッシュ可能と指定されているものは当該コンテンツをキャッシュメモリ12aに格納する。さらに、#3では制御パラメータcond_cache_compとしてキャッシュ可とするパス要素を”cgi”と設定し、URIのパス要素を比較対象としている。図4に示すURIにおいて、パス要素は「/」が前置する”abc”および”cgi”とされて、そのパス要素プレフィックスはa,ab,abc,e,ef,efgとされている。ここで、比較対象のパス要素に”cgi”が含まれている場合は定義内容にマッチしており、ウェブサーバ13の応答におけるヘッダにおいてキャッシュ可能と指定されているものは当該コンテンツをキャッシュメモリ12aに格納する。また、比較対象のパス要素に”cgi”が含まれていない場合は定義内容にマッチしていないことから、当該コンテンツはキャッシュしないことになるが、その場合でも#1〜#3の定義内容のいずれかにマッチしていればキャッシュ可とされる。
【0022】
上記したように、移動機10からのウェブアクセス要求(HTTP Request)にパラメータが付加されていたり、パス拡張子がCGIやASPあるいはパス要素がCGIと認められるものであっても、コンテンツを提供するウェブサーバ13からのHTTP ResponseにおけるCashe−Controlヘッダパラメータにおいて指定されるキャッシュ可能の指定が優先約に評価されて、キャッシュ可能の指定がある時に限りキャッシュメモリ12aにキャッシュしている。そして、同一コンテンツに対するコンテンツ取得要求があった際には、キャッシングシステム12におけるキャッシュヒット処理においてキャッシュヒットしたコンテンツをキャッシュメモリ12aから読み出して要求元へ送信する。この場合には、キャッシングシステム12はウェブアクセス要求をウェブサーバ13には中継しない。
【0023】
この場合の様子を図3に示す。図3において、移動機10からのHTTP Requestを受けたキャッシングシステムは、キャッシュシステム処理を実行してその中のキャッシュヒット処理において、要求されたコンテンツがキャッシュヒットしたか否かを判断する。そして、キャッシュヒットした場合にはキャッシュメモリ12aから当該コンテンツを読み出してHTTP Responseとして移動機10へ送信する。
ところで、ウェブサーバ13からのHTTP ResponseのCashe−Controlヘッダパラメータにおいて有効期間が指定されている場合は、その有効期間をキャッシュ保存期限としてその期限だけキャッシュメモリ12aにキャッシュするようにしている。これにより、ASPやCGIを利用していても静的コンテンツや所定期間毎に更新される動的コンテンツに対応することができる。
【0024】
上記したようにキャッシングシステム12では、HTTP ResponseにおけるCashe−Controlヘッダパラメータにおいてキャッシュ可能と指定されていることを条件の一つとして、当該コンテンツをキャッシュメモリ12aにキャッシュしている。これにより、動的に生成されるコンテンツであっても、キャッシュさせたいコンテンツや従来はキャッシングされていなかったコンテンツをキャッシュできるようになる。上記した応答をキャッシングする条件はHTTP1.1 準拠とされている。そこで、HTTP1.1 準拠の応答をキャッシングする条件を示す図表を図6に示す。図6に示すように、HTTP Responseにおけるヘッダパラメータには、コンテンツ作成の日時を表すDateヘッダパラメータ、有効期間を指定するCashe−ControlヘッダパラメータおよびExpireヘッダパラメータ、キャッシュ可能を指定するCashe−Controlヘッダパラメータ、最終更新日を示すLast_Modifiedヘッダパラメータがある。有効期間を指定するCashe−Controlヘッダパラメータには、max−ageパラメータおよびs−maxageパラメータがあり、キャッシュ可能を指定するCashe−Controlヘッダパラメータには、publicパラメータ、no_transformパラメータ、must#revalidateパラメータ、proxy_revalidateパラメータがある。
【0025】
図6にはこれらの4つのヘッダパラメータを組み合わせたパターン1〜パターン9の9パターンが示されており、その内のパターン2,4,6,8のCashe−Controlヘッダパラメータがキャッシュ可能指定のパラメータとなっている。キャッシュしたコンテンツは、コンテンツ毎に定められた有効期間だけ有効として使用されるが、パターン2,6においてはCashe−Controlヘッダパラメータによりその有効期間が指定されている。しかし、パターン4,8においてはコンテンツの有効期間が指定されていない。そこで、パターン4においては指定されている最終更新日(Last Modified)を利用して、(Last Modified−Date値)*10%の演算を行い、この演算結果を応答キャッシュの有効期間としている。また、パターン8においては最終更新日も指定されていないため、標準Max−ageを応答キャッシュの有効期間としている。これにより、パターン2,4,6,8に該当するヘッダを有するHTTP Responseのコンテンツをキャッシュメモリ12aにキャッシュした際のキャッシュ有効期間を決定することができる。
なお、キャッシュメモリ12aには、ウェブサーバ13からの応答中におけるステータスコードが正常応答を示している場合にキャッシュするのが好適である。これは、動的コンテンツに限らず静的コンテンツをキャッシュする場合も同様である。
【0026】
また、無線を通信手段としている移動機10でのウェブコンテンツ取得時においては、有線における途中切断の発生率より高い途中切断の発生率となってしまう。途中切断が発生した場合には、ウェブコンテンツを取得中であった移動機10は、取得できなかったコンテンツの残りを取得するために部分要求(Byte−Range要求)のコンテンツ要求を行うことになる。従来は、部分要求に対してはデータ矛盾を生じる可能性があるためキャッシュ機能を使用しないようにしているが、本発明のキャッシングシステム12では、キャッシングシステム12で保持しているキャッシュメモリ12aに該当する部分コンテンツを含む全コンテンツが存在する場合に限って、キャッシングシステム処理を行うようにしている。すなわち、該当するコンテンツがキャッシュされている場合は、部分要求のバイトレンジ指定に従って、キャッシュメモリ12aから全コンテンツの内の指定された範囲のコンテンツを読み出して、移動機10へ応答として送信するようにしている。この場合、全コンテンツがキャッシュされている場合に限っているのは、全コンテンツがキャッシュされていないとバイトレンジ指定された範囲のコンテンツと、読み出された部分コンテンツとが一致せず、要求と応答のコンテンツ間に矛盾が生じるおそれがあるからである。
【0027】
また、部分要求におけるRangeヘッダによる読出し先のバイトレンジ指定は、単一の範囲だけが指定されている場合のみキャッシングシステム処理を行っている。そして、複数の範囲が指定されている場合はキャッシングシステム処理を行わず、常にその部分要求をウェブサーバ13に中継している。ウェブサーバ13は、この部分要求に対応する一部のコンテンツを応答としてキャッシングシステム12に送信し、キャッシングシステム12はこの一部のコンテンツを移動機10へ中継する。これにより、移動機10から部分要求(Byte−Range要求)された範囲の部分コンテンツが移動機10で取得されるようになる。なお、キャッシングシステム12は、ウェブサーバ13から部分要求に対応する部分コンテンツを受け取っても、この部分コンテンツはキャッシュ対象とはせず、キャッシュメモリ12aに保存しないようにしている。
【0028】
次に、本発明にかかるキャッシングシステム12が実行するキャッシュシステム処理のフローチャートを図7に示す。
図7に示すキャッシュシステム処理は、キャッシングシステム12の電源が投入されたりリセットされたりして初期処理が行われた際にスタートされる。キャッシュシステム処理がスタートされると、ステップS1にて移動機10からコンテンツ要求があるか否かが判断される。ここで、コンテンツ要求がない場合はコンテンツ要求が検出されるまでここで待機される。そして、キャッシングシステム12が例えば移動機10からのHTTP Requestを受け取りコンテンツ要求があったと判断されると、ステップS2に進む。ステップS2では、HTTP RequestのURIに対するキャッシュがキャッシュメモリ12aに存在し、かつキャッシュされたコンテンツの有効期間が切れておらず有効とされているか否かが判断される。
【0029】
ここで、HTTP RequestのURIに対するキャッシュがキャッシュメモリ12aに存在し、かつキャッシュされたコンテンツが有効と判断された場合は、ステップS3に進み、HTTP Requestのヘッダにキャッシュ利用不可指示があるか否かが判断される。ここで、HTTP Requestのヘッダにキャッシュ利用不可指示がないと判断された場合は、ステップS4に進みHTTP RequestのURIに基づいてHTTP Requestがキャッシュ可能な動的コンテンツの要求か否かが判断される。この判断は、図5に示す表1に示す比較対象を比較することによりキャッシュの可否を判断している。ここで、HTTP Requestがキャッシュ可能な動的コンテンツの要求と判断された場合は、HTTP Requestのヘッダに部分要求のバイトレンジ指定(Range指定)があるか否かが判断される。そして、HTTP Requestのヘッダに部分要求のバイトレンジ指定があると判断された場合は、ステップS6に進み部分要求キャッシュヒット処理が実行される。部分要求キャッシュヒット処理では、キャッシュメモリ12aに該当する部分コンテンツを含む全コンテンツが存在し、かつキャッシュが有効と判断された場合にキャッシュヒットしたと判断する。
【0030】
また、ステップS5においてHTTP Requestのヘッダに部分要求のバイトレンジ指定がないと判断された場合は、ステップS9に進み通常キャッシュヒット処理が実行される。通常キャッシュヒット処理では、キャッシュメモリ12aに該当するコンテンツが存在し、かつキャッシュが有効と判断された場合にキャッシュヒットしたと判断する。ステップS6あるいはステップS9の処理が終了するとステップS7に進み、キャッシュヒットしたか否かが判断される。ここで、ステップS5あるいはステップS9においてキャッシュヒットしたと判断されている場合は、ステップS8においてキャッシュメモリ12aより該当するコンテンツが読み出されてコンテンツ要求した移動機へ送信される。
【0031】
上記ステップS2にてHTTP RequestのURIに対するキャッシュがキャッシュメモリ12aに存在しないか、存在してもキャッシュされたコンテンツが有効でないと判断された場合は、ステップS10へ進みウェブサーバ13へコンテンツ要求が中継される。また、上記ステップS3にてHTTP Requestのヘッダにキャッシュ利用不可指示があると判断された場合も、ステップS10へ進みウェブサーバ13へコンテンツ要求が中継される。さらに、上記ステップS4にてHTTP Requestがキャッシュ可能な動的コンテンツの要求ではないと判断された場合も、ステップS10へ進みウェブサーバ13へコンテンツ要求が中継される。さらにまた、上記ステップS7にてキャッシュヒットしなかったと判断された場合も、ステップS10へ進みウェブサーバ13へコンテンツ要求が中継される。そして、ステップS10の処理が終了すると、ステップS11にてウェブサーバ13から取得したコンテンツをコンテンツ要求した移動機へ送信する。次いで、ステップS12にて取得したコンテンツをキャッシュする後述するキャッシング処理が行われる。そして、ステップS8あるいはステップS12の処理が終了すると、ステップS1に戻りコンテンツ要求が検出される毎にステップS1ないしステップS12の処理が繰り返し実行されるようになる。
【0032】
次に、キャッシュシステム処理のステップS12にて実行されるキャッシング処理のフローチャートを図8に示す。
図8に示すキャッシング処理がスタートすると、ステップS20にてGET要求に対する応答が正常応答か否かが判断される。ここで、正常応答と判断された場合はステップS21へ進み、応答のステータスコードがパーシャルコンテンツを示しているか否かが判断される。通常コンテンツの正常応答のステータスコードは「200」とされ、パーシャルコンテンツの正常応答のステータスコードは「206」とされる。そこで、ステータスコードが「200」と判断された場合はステップS22に進み、HTTP Requestのヘッダにキャッシュ利用不可指示がないか否かが判断される。この場合、HTTP Requestのヘッダにキャッシュ利用不可指示がないと判断された場合はステップS23へ進み、ウェブサーバ13からのHTTP Responseのヘッダにキャッシュ可能指示があるか否かが判断される。この判断は、図6に示す表2に示すキャッシュ可能を指定するCashe−Controlヘッダパラメータを見て判断する。
【0033】
ここで、HTTP Responseのヘッダにキャッシュ可能指示があると判断された場合はステップS24に進み、HTTP Requestがキャッシュ可能な動的コンテンツの要求か否かが判断される。この判断は、HTTP RequestのURIにおける図5に示す表1に示す比較対象を比較することによりキャッシュ可能な動的コンテンツか否かを判断している。そして、HTTP Requestがキャッシュ可能な動的コンテンツの要求と判断された場合はステップS25へ進み動的コンテンツのキャッシュ判定処理が行われる。この動的コンテンツのキャッシュ判定処理では、図6に示す表2に示すHTTP Responseにおける4つのヘッダパラメータからキャッシュ可能か否かが判定される。ここでは、表2に示すパターン2,4,6,8に一致するヘッダパラメータを有するHTTP Responseについては、当該コンテンツをキャッシュ可能と判定する。また、ステップS24にてHTTP Requestがキャッシュ可能な動的コンテンツの要求ではないと判断された場合は、ステップS26へ進み通常コンテンツのキャッシュ判定処理が行われる。この通常コンテンツのキャッシュ判定処理においても図6に示す表2に示すHTTP Responseにおける4つのヘッダパラメータからキャッシュ可能か否かが判定される。ここでは、表2に示す応答キャッシュの欄に「○」が付されているパターン2,3,4,6,7,8に一致するヘッダパラメータを有するHTTP Responseについては、当該コンテンツをキャッシュ可能と判定する。
【0034】
ステップS25あるいはステップS26の処理が終了するとステップS27へ進み、ウェブサーバ13から取得したコンテンツがキャッシュ可能か否かが判断される。ここで、ステップS25あるいはステップS26の処理においてキャッシュ可能と判定されている場合は、ステップS28へ進み取得したコンテンツがキャッシュメモリ12aに蓄積される。次いで、キャッシュシステム処理へリターンされる。また、上記ステップS20にて正常応答と判断されない場合、上記ステップS21にてステータスコードが「200」と判断されない場合、上記ステップS22にてHTTP Requestのヘッダにキャッシュ利用不可指示があると判断された場合、上記ステップS23にてHTTP Responseのヘッダにキャッシュ可能指示がないと判断された場合、および、上記ステップS27にてキャッシュ可能でないと判定された場合は、そのままキャッシュシステム処理へリターンされ、取得されたコンテンツはキャッシュされない。
【0035】
なお、以上の説明では移動通信網における移動機10がウェブサーバ13からコンテンツを取得する場合のキャッシングシステム12を説明したが、本発明のキャッシングシステム12は、これに限らずHTTP通信一般に適用することができる。
【0036】
【発明の効果】
本発明は以上説明したように、ウェブサーバから取得したコンテンツが動的コンテンツとされて、応答中にキャッシュ可能指示情報が含まれている場合は、そのコンテンツをキャッシュメモリに保存している。これにより、動的コンテンツであっても支障の生じないコンテンツの場合はキャッシュすることができるようになる。また、ウェブクライアントからのコンテンツ要求が、全コンテンツの内の一部のコンテンツを取得する要求であった場合にもキャッシングシステムを利用できるようにしている。従って、キャッシングシステムを有効に利用することができると共に、ネットワークリソースを有効に利用することができるようになる。これにより、ウェブアクセス要求に対する応答を速くしてユーザビリティを向上することができると共に、ウェブサーバの処理負担を軽減することができるようになる。
【0037】
さらに、キャッシュメモリに保存する条件として応答の正常応答を加えると、キャッシュの信頼性を向上することができる。さらに加えて、コンテンツ要求にパラメータが付加されていること、動的コンテンツを示すパス拡張子あるいはパス要素が含まれていることを条件としても良い。さらにまた、ウェブサーバから取得したコンテンツが全コンテンツの内の一部のコンテンツであった場合は、そのコンテンツをキャッシュメモリに保存しないことにより、データ矛盾を生じないようにしている。さらにまた、キャッシュ保存期限情報が通知されている場合は、そのキャッシュ保存期限情報で示される期限だけキャッシュすることにより、所定期間毎に更新される動的コンテンツであっても、支障なくキャッシングシステムを利用することができるようになる。
【図面の簡単な説明】
【図1】本発明の実施の形態のキャッシングシステムを備えるネットワークの概略構成を示す図である。
【図2】図1に示すネットワークにおいて、コンテンツ要求を中継すると共に取得したコンテンツをキャッシュする様子を示す図である。
【図3】図1に示すネットワークにおいて、キャッシュヒットした際の様子を示す図である。
【図4】URIのデータ構造を説明するための図である。
【図5】本発明の実施の形態のキャッシングシステムにおけるキャッシュ制御パラメータの定義等を示す図表である。
【図6】HTTP 1.1準拠の応答をキャッシングする条件を示す図表である。
【図7】本発明の実施の形態のキャッシングシステムで実行するキャッシュシステム処理のフローチャートである。
【図8】本発明の実施の形態のキャッシングシステムで実行するキャッシュシステム処理におけるキャッシング処理のフローチャートである。
【符号の説明】
10 移動機、11 無線通信路、12 キャッシングシステム、12a キャッシュメモリ、13 ウェブサーバ、14 記憶手段
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a caching system for a web client to acquire content from a web server, and is suitable for application to a mobile communication network.
[0002]
[Prior art]
As for the mobile communication system, the first generation is an analog mobile communication system of the 1980s (NTT system, AMPS (Advanced Mobile Phone Service), TACS (Total Access Communications System), etc.), and the second generation is the 1990s. Digital mobile communication systems (PDC (Personal Digital Cellular Communication System), GSM (Global System for Mobile Communication), IS-54, IS-95, etc.). Furthermore, in the third generation, high speed communication of 64 to 384 kbps at the beginning of the service and 2 Mbps in the future is realized. As a result, the third generation mobile Internet connection service, etc., which was possible in the current second generation mobile communication system, can be used more comfortably and with a large capacity. Various services such as the development of card-type mobile phone terminals, multicall (simultaneous communication of voice and packet), mail with attached files, video applications (streaming, etc.), and videophones can be realized. The spread of such mobile communication systems is remarkable, and in Japan, the number of mobile telephones has reached 60 million. This mobile phone is widely used as a mobile phone, and in the second generation, it is possible to send and receive Internet mail using a mobile phone as a terminal and to acquire web contents from a server on the Internet.
[0003]
[Problems to be solved by the invention]
A caching system is provided between a mobile device in a mobile communication network and a web server that provides content so as to improve response and to effectively use network resources. A general caching system relays a web access request from a web client to a web server, and holds web data obtained from the web server as a cache. When an access request for data already held in the cache is received from the web client, the web access request is not relayed to the web server, and the cached web data is transmitted to the web client. Responding to access requests.
[0004]
By the way, in general, content provided on the web can be classified into the following three types.
1. Static content: content that is not changed after the layout of the web content creator is completed, for example, content that describes a document, a figure, or the like.
2. Dynamic content: content that is partially or wholly generated in response to web access requests. Since the dynamic content is generated every time a web access request is made, the content content is often different. For example, dynamic content is generated in a search site that displays a search result screen when a character to be found is input on an input screen of a web page and a search is executed.
3. Streaming: Unlike static content and dynamic content, streaming is content that is processed in real time while receiving data, rather than being processed after downloading the content requested for web access. For example, real-time audio and video distribution corresponds to streaming.
[0005]
As described above, when the content requested for web access is dynamic content, content with different contents is generated for each request and responded in many cases. Therefore, conventionally, in the case of a web access request for dynamic content, the content is not cached because it may be dynamically generated. Then, there is a problem that the cache cannot be used even in the case of dynamic content in which the same content is generated at all times or for a fixed time. In addition, when the content requested for web access is a part of all the content, there is a risk of data inconsistency when the caching system is used, so the caching system is not used. In these cases, since the caching system relays the web access request to the web server, there arises a problem that the response becomes slow and the processing load of the web server increases.
[0006]
Therefore, an object of the present invention is to provide a caching system that can be used efficiently regardless of the content requested for web access.
[0007]
[Means for Solving the Problems]
In order to achieve the above object, a caching system according to the present invention includes a cache memory capable of storing content returned from a web server that can provide content in response to a content request from a web client, and the web When content requested by a client is stored in the cache memory, the corresponding content is read from the cache memory and transmitted to the web client, and the requested content is not stored in the cache memory Includes a control unit that transmits a content request to the web server and transmits the content responded from the web server to the web client. The control unit dynamically transmits the content responded from the web server. Content and Te, if it contains a cacheable instruction information in the response, so that to store the content in the cache memory.
[0008]
In the caching system according to the present invention, the control means further includes, from one of the conditions that the response from the web server to the content request is a normal response, from the web server in response to the content request. The returned content may be stored in the cache memory.
Furthermore, in the caching system according to the present invention, when the content request includes a character indicating that a parameter is added to the content request, the control means receives the content request from the web server. The returned content may be stored in the cache memory.
Furthermore, in the caching system of the present invention, when the path extension included in the content request is a path extension indicating dynamic content, the control unit responds to the content request with the web request. The content returned from the server may be stored in the cache memory.
[0009]
Furthermore, in the caching system according to the present invention, when the path element included in the content request is a path element indicating dynamic content, the control means receives the content request from the web server. The returned content may be stored in the cache memory.
Furthermore, in the caching system of the present invention, when the content returned from the web server is a part of all the content, the control unit does not store the content in the cache memory. You may do it.
Furthermore, in the caching system of the present invention, when the response from the web server includes content cache storage time limit information, the control unit only adds the content to the time limit indicated by the cache storage time limit information. You may make it preserve | save in the said cache memory.
[0010]
Next, another caching system of the present invention that can achieve the above object is a cache that can store content responded from a web server that can provide content in response to a content request from a web client. When the memory and the content requested from the web client are stored in the cache memory, the corresponding content is read from the cache memory and transmitted to the web client, and the requested content is stored in the cache memory. Control means for sending a content request to the web server and sending the content responded from the web server to the web client if not stored, the control means comprising content from the web client Request When the request is for acquiring a part of the content, if the entire content is stored in the cache memory, the content in the corresponding range is read from the cache memory and sent to the web client. I am trying to send it.
[0011]
According to the present invention as described above, when the content acquired from the web server is the dynamic content and the cacheable instruction information is included in the response, the content is stored in the cache memory. As a result, even if the content is dynamic content, the content can be cached. In addition, the caching system can be used even when the content request from the web client is a request for acquiring a part of all content. Accordingly, the caching system can be used effectively, and network resources can be used effectively. As a result, the response to the web access request can be made faster to improve usability, and the processing load on the web server can be reduced.
[0012]
Furthermore, if a normal response is added as a condition to be stored in the cache memory, the reliability of the cache can be improved. In addition, the content request may include a parameter and may include a path extension or a path element indicating dynamic content. Furthermore, when the content acquired from the web server is a part of all the content, the content is not stored in the cache memory so that no data contradiction occurs. Furthermore, when the cache storage expiration information is notified, the caching system can be operated without any trouble even if the dynamic content is updated every predetermined period by caching only the expiration date indicated by the cache storage expiration information. Can be used.
[0013]
DETAILED DESCRIPTION OF THE INVENTION
FIG. 1 shows a schematic configuration of a network including a caching system according to an embodiment of the present invention.
The network shown in FIG. 1 is composed of a mobile communication network and other networks such as the Internet. The mobile communication network is shown as a mobile device (MS) 10 that is a mobile phone, for example, and a wireless communication path 11. . Another network is shown as a web server 13 located on the network. The caching system 12 according to the present invention is arranged between the mobile communication network and the web server 13 and relays a web access request from the mobile device 10 to the web server 13 and obtains it from the web server 13 by relaying. The transmitted web data (content) is transmitted to the mobile device 10 and stored in the cache memory 12a provided in the caching system 12. When the mobile device 10 receives a content acquisition request for content already held in the cache memory 12a as a cache, the content acquisition request is not relayed to the web server 13, and the cached content is transferred to the cache memory 12a. Is read out and transmitted to the mobile device 10 to respond to the content acquisition request. Such processing executed by the caching system 12 is referred to as caching system processing. The web server 13 includes a storage unit 14 such as a hard disk in which contents to be provided are stored.
[0014]
Note that HTTP (Hypertext Transfer Protocol) is used as a protocol when the mobile device 10 acquires content from the web server 13. HTTP belongs to the upper layer of TCP / IP (Transmission Control Protocol / Internet Protocol), and is used to transmit / receive HTML documents, images / voices, and other multimedia data between a web server and a web client on the Internet. Communication protocol. HTTP is a very simple protocol including a request (request :: HTTP request) and a response (response: HTTP response), and a request and a response are used as a unit of communication. For example, a web client transmits a URL (Uniform Resource Locators) of an HTML document to be displayed as a request as a request. Receiving this, the web server transmits the HTML document stored by itself specified by the URL to the web client as a response. In HTTP, the connection to the web server is performed every time data is acquired once, and the connection is disconnected when the data reception is completed. The web client is the mobile device 10 in the network shown in FIG.
[0015]
By the way, most of the current web contents including those for the mobile device 10 provided from the web server 13 are very much contents using CGI (Common Gateway Interface). CGI is a mechanism for receiving a request from a web browser, calling a desired external program, and returning the execution result of the program to the web browser. For example, the CGI receives data from the web browser form and returns the result. It is the basic interface for creating applications. For example, a search site that displays a search result screen when a character to be found is input on a web page input screen and a search is executed, or a bulletin board that immediately reflects and displays a character posted by a user on the web uses CGI. Yes. As described above, in the content using the CGI, the content is generated partially or entirely, so that dynamic content is generated.
[0016]
Further, there is ASP (Active Server Pages) as a framework for operating script languages such as Java (TM) Script and VisualBasic (TM) Script on the web server side, and various ActiveX (TM) components. Since the web page described as ASP is first interpreted and executed on the server side, it is possible to provide dynamic content to the client depending on the state at the time of reference. As described above, even content using ASP is generated partially or entirely, so that dynamic content can be generated.
Further, a parameter may be added to the URI (Uniform Resource Identifier) of the HTTP Request. In this case, dynamic content created according to the parameter added as the HTTP Response is returned. The URI is a compact character string specification for specifying a resource on the network, and includes a URL scheme (an identifier of a protocol to be used).
[0017]
In the caching system 12 of the present invention, even if a parameter is added to such dynamic content or HTTP Request using CGI or ASP, it is cached in the cache memory 12a under certain conditions, Caching system processing is performed. It is updated at regular intervals, such as the presence of static content in content that uses CGI or ASP, or when parameters are added to HTTP Requests, and weather forecasts and news dynamic content. This is because dynamic content with the same content may be generated within that time. When parameters are added to such dynamic contents or HTTP requests using CGI or ASP, when the caching system 12 receives an HTTP response from the web server 13 as a cache target, the contents are stored in the cache memory 12a. To save.
[0018]
Here, the caching system 12 relays a web access request (HTTP Request) from the mobile device 10 to the web server 13, and the content obtained from the web server 13 by the relay is transmitted to the mobile device 10 as a web access response (HTTP). FIG. 2 shows a state in which the data is transmitted as (Response) and stored in the cache memory 12 a provided in the caching system 12. The caching system 12 relays the web access request when content corresponding to the web access request is not stored in the cache memory 12a or when the expiration date has passed and the cache hit does not occur. In this case, as shown in FIG. 2, the HTTP request is relayed to the web server 13, and the web server 13 reads or creates content corresponding to the HTTP request from the storage unit 14 and returns it to the caching system 12 as an HTTP response. The caching system 12 transmits the acquired HTTP response to the mobile device 10. In this case, if the content is specified to be cacheable in the HTTP Response header, the content is stored in the cache memory 12a.
[0019]
In this case, even if the content is dynamic content, if the content of the HTTP Request matches the cacheable definition, the corresponding content is stored in the cache memory 12a. Whether or not the dynamic content matches the cacheable definition is determined from the URI in the HTTP request, and the cacheable dynamic content is defined with the URI as a comparison target. That is, when a parameter is added to the URI, a character “?” Is inserted between the URI and the parameter. Therefore, if the HTTP request includes the character “?”, The cache is acceptable. Define. It is also defined as cacheable when the path extension in the URI is “asp” or “cgi”. Further, it is defined as cacheable even when “cgi” is included in the path element in the URI.
[0020]
A chart showing such a definition is shown in FIG. 5 as “Table 1 Cache Control Parameters”. FIG. 4 shows a URI using a URI data structure as an example.
As shown in FIG. 5, in # 1, the character string of the CGI parameter that can be cached is set as “?” As the control parameter cond_cache_char, and all characters in the CGI part are set as comparison targets. In the URI shown in FIG. 4, since the character “?” Is included in the comparison target, it matches the definition content, and the content specified as cacheable in the header in the response from the web server 13 Store in the cache memory 12a.
[0021]
In # 2, the path extension that can be cached is set to “asp: cgi” as the control parameter cond_cache_suffix, and the URI path extension is set as a comparison target. In the URI shown in FIG. 4, the path extension is positioned after “.”. In the URI shown in FIG. 4, the path extension is “cgi” and the path extension to be compared is “cgi”. Those that match the contents and are specified as cacheable in the header in the response from the web server 13 store the contents in the cache memory 12a. Further, in # 3, the path element that can be cached is set as “cgi” as the control parameter cond_cache_comp, and the URI path element is set as a comparison target. In the URI shown in FIG. 4, the path elements are “abc” and “cgi” preceded by “/”, and the path element prefixes are a, ab, abc, e, ef, and efg. Here, if “cgi” is included in the path element to be compared, the contents of the definition match, and those specified as cacheable in the header of the response of the web server 13 store the contents in the cache memory 12a. To store. In addition, if “cgi” is not included in the path element to be compared, it does not match the definition content, so the content is not cached. Even in this case, the definition content of # 1 to # 3 is not cached. If it matches either one, it is cacheable.
[0022]
As described above, content is provided even if a parameter is added to the web access request (HTTP Request) from the mobile device 10 or the path extension is recognized as CGI or ASP or the path element is recognized as CGI. The cacheable designation specified in the Cash-Control header parameter in the HTTP response from the web server 13 is evaluated with priority, and is cached in the cache memory 12a only when there is a cacheable designation. When there is a content acquisition request for the same content, the cache hit content in the cache hit process in the caching system 12 is read from the cache memory 12a and transmitted to the request source. In this case, the caching system 12 does not relay the web access request to the web server 13.
[0023]
The situation in this case is shown in FIG. In FIG. 3, the caching system that has received the HTTP request from the mobile device 10 executes a cache system process and determines whether or not the requested content has a cache hit in the cache hit process. If a cache hit occurs, the content is read from the cache memory 12a and transmitted to the mobile device 10 as an HTTP response.
By the way, when the valid period is specified in the Cash-Control header parameter of the HTTP response from the web server 13, the valid period is cached in the cache memory 12a as the cache storage period. Thereby, even if it uses ASP or CGI, it can respond to a static content and a dynamic content updated for every predetermined period.
[0024]
As described above, in the caching system 12, the content is cached in the cache memory 12a on the condition that it is designated as cacheable in the Cash-Control header parameter in the HTTP response. As a result, even contents that are dynamically generated can be cached for contents that are desired to be cached or contents that have not been cached in the past. The condition for caching the above-mentioned response is compliant with HTTP 1.1. Accordingly, FIG. 6 is a chart showing conditions for caching HTTP1.1 compliant responses. As shown in FIG. 6, the header parameters in the HTTP response include a Date header parameter indicating the date and time of content creation, a Cache-Control header parameter and Expire header parameter that specify a valid period, and a Cache-Control header parameter that specifies cacheable. There is a Last_Modified header parameter indicating the last update date. The Cash-Control header parameter that specifies the valid period includes the max-age parameter and the s-maxage parameter, and the Cache-Control header parameter that specifies cacheable includes the public parameter, no_transform parameter, must # revalidate parameter, and proxy_revalidate. There are parameters.
[0025]
FIG. 6 shows nine patterns 1 to 9 in which these four header parameters are combined, and the Cache-Control header parameters of patterns 2, 4, 6, and 8 are parameters that can be cached. It has become. The cached content is used as valid only for the valid period determined for each content. In patterns 2 and 6, the valid period is specified by the Cashe-Control header parameter. However, in patterns 4 and 8, the effective period of the content is not specified. Therefore, in pattern 4, the last update date specified (Last Modified) is used to calculate (Last Modified-Date value) * 10%, and this calculation result is used as the valid period of the response cache. Further, since the last update date is not specified in the pattern 8, the standard Max-age is set as the valid period of the response cache. As a result, it is possible to determine the cache valid period when the HTTP Response content having the header corresponding to the patterns 2, 4, 6, and 8 is cached in the cache memory 12a.
The cache memory 12a is preferably cached when the status code during the response from the web server 13 indicates a normal response. This is the same when caching static content as well as dynamic content.
[0026]
In addition, when web content is acquired by the mobile device 10 using wireless communication means, the rate of midway disconnection is higher than the rate of midway disconnection in wired communication. When the disconnection occurs in the middle, the mobile device 10 that is acquiring the web content makes a content request of a partial request (Byte-Range request) in order to acquire the rest of the content that could not be acquired. . Conventionally, since a data contradiction may occur for a partial request, the cache function is not used. However, in the caching system 12 of the present invention, it corresponds to the cache memory 12a held in the caching system 12. The caching system processing is performed only when there is all content including the partial content. That is, when the corresponding content is cached, the content in the specified range of all the content is read from the cache memory 12a according to the byte range specification of the partial request, and transmitted to the mobile device 10 as a response. ing. In this case, only when all contents are cached, if all contents are not cached, the contents in the range specified by the byte range do not match the read partial contents, and the request This is because there is a risk of inconsistency between response contents.
[0027]
In addition, for the byte range designation of the read destination by the Range header in the partial request, the caching system process is performed only when only a single range is designated. When a plurality of ranges are specified, the caching system process is not performed, and the partial request is always relayed to the web server 13. The web server 13 transmits a part of the content corresponding to the partial request to the caching system 12 as a response, and the caching system 12 relays the part of the content to the mobile device 10. Thereby, the partial content in the range requested by the mobile device 10 in a partial request (Byte-Range request) is acquired by the mobile device 10. Even if the caching system 12 receives partial content corresponding to the partial request from the web server 13, the partial content is not cached and is not stored in the cache memory 12a.
[0028]
Next, FIG. 7 shows a flowchart of the cache system process executed by the caching system 12 according to the present invention.
The cache system process shown in FIG. 7 is started when an initial process is performed after the caching system 12 is turned on or reset. When the cache system process is started, it is determined whether or not there is a content request from the mobile device 10 in step S1. Here, when there is no content request, it waits here until a content request is detected. If the caching system 12 receives, for example, an HTTP request from the mobile device 10 and determines that there is a content request, the process proceeds to step S2. In step S2, it is determined whether a cache for the URI of the HTTP request exists in the cache memory 12a, and whether or not the valid period of the cached content has expired and is valid.
[0029]
If the cache for the HTTP Request URI exists in the cache memory 12a and the cached content is determined to be valid, the process proceeds to step S3, and whether or not there is a cache unusable instruction in the HTTP Request header. Is judged. If it is determined that there is no cache unavailable instruction in the HTTP request header, the process proceeds to step S4, and it is determined whether the HTTP request is a request for dynamic content that can be cached based on the URI of the HTTP request. . In this determination, whether or not cache is possible is determined by comparing the comparison objects shown in Table 1 shown in FIG. When it is determined that the HTTP request is a request for dynamic content that can be cached, it is determined whether or not the byte range specification (range specification) of the partial request is included in the header of the HTTP request. If it is determined that the HTTP request header includes the byte range designation of the partial request, the process proceeds to step S6 and the partial request cache hit process is executed. In the partial request cache hit process, it is determined that a cache hit has occurred when all contents including the corresponding partial contents exist in the cache memory 12a and the cache is determined to be valid.
[0030]
If it is determined in step S5 that the HTTP request header does not specify the byte range of the partial request, the process proceeds to step S9 and normal cache hit processing is executed. In the normal cache hit process, it is determined that a cache hit has occurred when the corresponding content exists in the cache memory 12a and the cache is determined to be valid. When the process of step S6 or step S9 ends, the process proceeds to step S7 to determine whether or not a cache hit has occurred. If it is determined in step S5 or step S9 that a cache hit has occurred, the corresponding content is read from the cache memory 12a in step S8 and transmitted to the mobile device that requested the content.
[0031]
If it is determined in step S2 that the cache for the HTTP Request URI does not exist in the cache memory 12a or the cached content is not valid even if it exists, the process proceeds to step S10 and the content request is relayed to the web server 13. Is done. If it is determined in step S3 that there is a cache unavailable instruction in the HTTP request header, the process proceeds to step S10 and the content request is relayed to the web server 13. Furthermore, when it is determined in step S4 that the HTTP request is not a request for dynamic content that can be cached, the process proceeds to step S10 and the content request is relayed to the web server 13. Furthermore, when it is determined in step S7 that a cache hit has not occurred, the process proceeds to step S10 and the content request is relayed to the web server 13. When the processing in step S10 is completed, the content acquired from the web server 13 in step S11 is transmitted to the mobile device that requested the content. Next, a caching process to be described later for caching the content acquired in step S12 is performed. When the process of step S8 or step S12 ends, the process returns to step S1 and the process of step S1 to step S12 is repeatedly executed every time a content request is detected.
[0032]
Next, FIG. 8 shows a flowchart of the caching process executed in step S12 of the cache system process.
When the caching process shown in FIG. 8 is started, it is determined in step S20 whether or not the response to the GET request is a normal response. If it is determined that the response is normal, the process proceeds to step S21, and it is determined whether or not the response status code indicates partial content. The normal content normal response status code is “200”, and the partial content normal response status code is “206”. Therefore, if it is determined that the status code is “200”, the process proceeds to step S22, and it is determined whether or not there is an instruction to disable the cache in the HTTP Request header. In this case, if it is determined that there is no cache unavailable instruction in the HTTP Request header, the process proceeds to step S23, and it is determined whether or not there is a cacheable instruction in the HTTP Response header from the web server 13. This determination is made by looking at the Cache-Control header parameter for designating cacheability shown in Table 2 shown in FIG.
[0033]
If it is determined that there is a cacheable instruction in the header of the HTTP response, the process proceeds to step S24, where it is determined whether the HTTP request is a request for dynamic content that can be cached. This determination is made by comparing the comparison target shown in Table 1 shown in FIG. 5 in the HTTP Request URI to determine whether or not the dynamic content can be cached. If it is determined that the HTTP request is a request for dynamic content that can be cached, the process proceeds to step S25, and a dynamic content cache determination process is performed. In this dynamic content cache determination process, it is determined whether or not cache is possible from the four header parameters in the HTTP Response shown in Table 2 shown in FIG. Here, for an HTTP response having a header parameter that matches the patterns 2, 4, 6, and 8 shown in Table 2, the content is determined to be cacheable. If it is determined in step S24 that the HTTP request is not a cacheable dynamic content request, the process proceeds to step S26 to perform a normal content cache determination process. Also in this normal content cache determination process, it is determined whether or not the cache is possible from the four header parameters in the HTTP Response shown in Table 2 shown in FIG. Here, for an HTTP response having a header parameter that matches the patterns 2, 3, 4, 6, 7, and 8 in which “O” is added to the response cache column shown in Table 2, the content can be cached. judge.
[0034]
When the process of step S25 or step S26 ends, the process proceeds to step S27, and it is determined whether or not the content acquired from the web server 13 can be cached. If it is determined in step S25 or step S26 that cache is possible, the process proceeds to step S28 and the acquired content is stored in the cache memory 12a. Next, the process returns to the cache system process. If it is not determined that the response is normal in step S20, or if the status code is not determined to be "200" in step S21, it is determined in step S22 that there is a cache unavailable instruction in the HTTP request header. If it is determined in step S23 that there is no cacheable instruction in the header of the HTTP response, and if it is determined in step S27 that caching is not possible, the process returns to the cache system processing and is acquired. Content is not cached.
[0035]
In the above description, the caching system 12 in the case where the mobile device 10 in the mobile communication network acquires content from the web server 13 has been described. However, the caching system 12 of the present invention is not limited to this and is generally applied to HTTP communication. Can do.
[0036]
【The invention's effect】
As described above, according to the present invention, when content acquired from a web server is dynamic content and cacheable instruction information is included in the response, the content is stored in the cache memory. As a result, even if the content is dynamic content, the content can be cached. In addition, the caching system can be used even when the content request from the web client is a request for acquiring a part of all content. Accordingly, the caching system can be used effectively, and network resources can be used effectively. As a result, the response to the web access request can be made faster to improve usability, and the processing load on the web server can be reduced.
[0037]
Furthermore, if a normal response is added as a condition to be stored in the cache memory, the reliability of the cache can be improved. In addition, it is also possible to use a condition that a parameter is added to the content request and a path extension or path element indicating dynamic content is included. Furthermore, when the content acquired from the web server is a part of all the content, the content is not stored in the cache memory so that no data contradiction occurs. Furthermore, when the cache storage deadline information is notified, even if the dynamic content is updated every predetermined period by caching only the deadline indicated by the cache storage deadline information, the caching system can be operated without any trouble. Can be used.
[Brief description of the drawings]
FIG. 1 is a diagram illustrating a schematic configuration of a network including a caching system according to an embodiment of this invention.
FIG. 2 is a diagram illustrating a state in which a content request is relayed and acquired content is cached in the network illustrated in FIG. 1;
FIG. 3 is a diagram showing a state when a cache hit occurs in the network shown in FIG. 1;
FIG. 4 is a diagram for explaining a data structure of a URI.
FIG. 5 is a chart showing definitions of cache control parameters in the caching system according to the embodiment of the present invention.
FIG. 6 is a chart showing conditions for caching a response complying with HTTP 1.1.
FIG. 7 is a flowchart of cache system processing executed by the caching system according to the embodiment of this invention.
FIG. 8 is a flowchart of the caching process in the cache system process executed by the caching system according to the embodiment of this invention.
[Explanation of symbols]
DESCRIPTION OF SYMBOLS 10 Mobile device, 11 Wireless communication channel, 12 Caching system, 12a Cache memory, 13 Web server, 14 Storage means

Claims (8)

ウェブクライアントからのコンテンツ要求に応じて、コンテンツを提供可能なウェブサーバから応答されたコンテンツを保存可能とされているキャッシュメモリと、
前記ウェブクライアントから要求されたコンテンツが前記キャッシュメモリに保存されている場合には、前記キャッシュメモリから該当するコンテンツを読み出して前記ウェブクライアントへ送信し、前記キャッシュメモリに要求されたコンテンツが保存されていない場合には、前記ウェブサーバにコンテンツ要求を送信して前記ウェブサーバから応答されたコンテンツを前記ウェブクライアントへ送信する制御手段とを備え、
前記制御手段は、前記ウェブサーバから応答されたコンテンツが動的コンテンツとされて、前記応答中にキャッシュ可能指示情報が含まれている場合は、当該コンテンツを前記キャッシュメモリに保存するようにしたことを特徴とするキャッシングシステム。
In response to a content request from a web client, a cache memory capable of storing content responded from a web server that can provide the content;
When the content requested from the web client is stored in the cache memory, the corresponding content is read from the cache memory and transmitted to the web client, and the requested content is stored in the cache memory. If not, a control means for transmitting a content request to the web server and transmitting the content responded from the web server to the web client,
When the content responded from the web server is dynamic content, and the cacheable instruction information is included in the response, the control means stores the content in the cache memory. Caching system characterized by
前記制御手段は、さらに、コンテンツ要求に対する前記ウェブサーバからの応答が正常応答であったことを条件の一つとして、該コンテンツ要求に応じて前記ウェブサーバから応答されたコンテンツを前記キャッシュメモリに保存するようにしたことを特徴とする請求項1記載のキャッシングシステム。The control means further saves the content returned from the web server in response to the content request in the cache memory on the condition that the response from the web server to the content request is a normal response. The caching system according to claim 1, wherein: 前記制御手段は、コンテンツ要求にパラメータが付加されていることを示す文字がコンテンツ要求に含まれている場合には、該コンテンツ要求に応じて前記ウェブサーバから応答されたコンテンツを前記キャッシュメモリに保存するようにしたことを特徴とする請求項2記載のキャッシングシステム。When the content request includes a character indicating that a parameter is added to the content request, the control means stores the content returned from the web server in response to the content request in the cache memory. The caching system according to claim 2, wherein: 前記制御手段は、コンテンツ要求に含まれているパス拡張子が動的コンテンツを示すパス拡張子であった場合には、該コンテンツ要求に応じて前記ウェブサーバから応答されたコンテンツを前記キャッシュメモリに保存するようにしたことを特徴とする請求項2記載のキャッシングシステム。When the path extension included in the content request is a path extension indicating dynamic content, the control means stores the content returned from the web server in response to the content request in the cache memory. 3. The caching system according to claim 2, wherein the caching system is stored. 前記制御手段は、コンテンツ要求に含まれているパス要素が動的コンテンツを示すパス要素であった場合には、該コンテンツ要求に応じて前記ウェブサーバから応答されたコンテンツを前記キャッシュメモリに保存するようにしたことを特徴とする請求項2記載のキャッシングシステム。When the path element included in the content request is a path element indicating dynamic content, the control unit stores the content returned from the web server in response to the content request in the cache memory. The caching system according to claim 2, which is configured as described above. 前記制御手段は、前記ウェブサーバから応答されたコンテンツが、全コンテンツの内の一部のコンテンツであった場合は、当該コンテンツを前記キャッシュメモリに保存しないようにしたことを特徴とする請求項2記載のキャッシングシステム。3. The control unit according to claim 2, wherein when the content returned from the web server is a part of all the content, the content is not stored in the cache memory. The described caching system. 前記制御手段は、前記ウェブサーバからの応答にコンテンツのキャッシュ保存期限情報が含まれている場合は、当該キャッシュ保存期限情報で示される期限だけ当該コンテンツを前記キャッシュメモリに保存するようにしたことを特徴とする請求項2記載のキャッシングシステム。When the response from the web server includes content cache storage time limit information, the control means stores the content in the cache memory only for the time limit indicated by the cache storage time limit information. 3. A caching system according to claim 2, wherein: ウェブクライアントからのコンテンツ要求に応じて、コンテンツを提供可能なウェブサーバから応答されたコンテンツを保存可能とされているキャッシュメモリと、
前記ウェブクライアントから要求されたコンテンツが前記キャッシュメモリに保存されている場合には、前記キャッシュメモリから該当するコンテンツを読み出して前記ウェブクライアントへ送信し、前記キャッシュメモリに要求されたコンテンツが保存されていない場合には、前記ウェブサーバにコンテンツ要求を送信して前記ウェブサーバから応答されたコンテンツを前記ウェブクライアントへ送信する制御手段とを備え、
前記制御手段は、前記ウェブクライアントからのコンテンツ要求が、全コンテンツの内の一部のコンテンツを取得する要求であった際に、前記全コンテンツが前記キャッシュメモリに保存されている場合には、前記キャッシュメモリから該当する範囲のコンテンツを読み出して前記ウェブクライアントへ送信するようにしたことを特徴とするキャッシングシステム。
In response to a content request from a web client, a cache memory capable of storing content responded from a web server that can provide the content;
When the content requested from the web client is stored in the cache memory, the corresponding content is read from the cache memory and transmitted to the web client, and the requested content is stored in the cache memory. If not, a control means for transmitting a content request to the web server and transmitting the content responded from the web server to the web client,
When the content request from the web client is a request to acquire a part of all the content, the control means, when the entire content is stored in the cache memory, A caching system, wherein content in a corresponding range is read from a cache memory and transmitted to the web client.
JP2003182200A 2003-06-26 2003-06-26 Caching system Expired - Lifetime JP4744792B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003182200A JP4744792B2 (en) 2003-06-26 2003-06-26 Caching system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003182200A JP4744792B2 (en) 2003-06-26 2003-06-26 Caching system

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2008290491A Division JP2009076093A (en) 2008-11-13 2008-11-13 Caching system

Publications (2)

Publication Number Publication Date
JP2005018398A true JP2005018398A (en) 2005-01-20
JP4744792B2 JP4744792B2 (en) 2011-08-10

Family

ID=34182647

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003182200A Expired - Lifetime JP4744792B2 (en) 2003-06-26 2003-06-26 Caching system

Country Status (1)

Country Link
JP (1) JP4744792B2 (en)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007094780A (en) * 2005-09-29 2007-04-12 Nomura Research Institute Ltd Screen information providing server, screen information providing method and program
JP2007172538A (en) * 2005-12-26 2007-07-05 Nec Corp Script execution method, terminal device and program
JP2007287008A (en) * 2006-04-19 2007-11-01 Victor Co Of Japan Ltd Browser-equipped device
JP2008529127A (en) * 2005-01-24 2008-07-31 サイトリックス システムズ, インコーポレイテッド System and method for performing caching of dynamically generated objects in a network
JP2008191740A (en) * 2007-02-01 2008-08-21 Hitachi Ltd Relay apparatus, relay method, and program
JP2013503568A (en) * 2009-08-25 2013-01-31 アマゾン テクノロジーズ インコーポレーテッド System and method for customer contact
WO2013118365A1 (en) * 2012-02-09 2013-08-15 日本電気株式会社 Communication control device, method for controlling communications, and recording medium
JP2014225109A (en) * 2013-05-16 2014-12-04 株式会社 日立産業制御ソリューションズ Load distributing device, and program
JP2015165632A (en) * 2014-03-03 2015-09-17 日本電気株式会社 Information transfer device, information transfer method, and program
KR101565353B1 (en) 2013-10-04 2015-11-03 주식회사 솔박스 Method for caching contents based on content request record and request priority and HTTP cache server using the method
US9769315B2 (en) 2007-11-13 2017-09-19 Amazon Technologies, Inc. System and method for automated call distribution
US10110744B2 (en) 2010-12-28 2018-10-23 Amazon Technologies, Inc. Followup of customer service agents
US10445744B2 (en) 2009-08-25 2019-10-15 Amazon Technologies, Inc. Systems and methods for customer contact

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6330926B1 (en) 1999-09-15 2001-12-18 Hill-Rom Services, Inc. Stretcher having a motorized wheel
US7886377B2 (en) 2006-10-13 2011-02-15 Hill-Rom Services, Inc. Push handle with rotatable user interface
US7865983B2 (en) 2007-04-26 2011-01-11 Hill-Rom Services, Inc. Patient care equipment support transfer system
US8757308B2 (en) 2009-09-10 2014-06-24 Hill-Rom Services Inc. Powered transport system and control methods
US9707143B2 (en) 2012-08-11 2017-07-18 Hill-Rom Services, Inc. Person support apparatus power drive system

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001014209A (en) * 1999-06-25 2001-01-19 Sharp Corp Device and method for relaying information and computer readable recording medium recording information relaying program
WO2002007364A2 (en) * 2000-07-17 2002-01-24 Eplication Networks Ltd. BANDWIDTH SAVINGS AND QoS IMPROVEMENT FOR WWW SITES BY CATCHING STATIC AND DYNAMIC CONTENT ON A DISTRIBUTED NETWORK OF CACHES
JP2002259333A (en) * 2001-03-01 2002-09-13 Hitachi Software Eng Co Ltd Method for transferring contents

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001014209A (en) * 1999-06-25 2001-01-19 Sharp Corp Device and method for relaying information and computer readable recording medium recording information relaying program
WO2002007364A2 (en) * 2000-07-17 2002-01-24 Eplication Networks Ltd. BANDWIDTH SAVINGS AND QoS IMPROVEMENT FOR WWW SITES BY CATCHING STATIC AND DYNAMIC CONTENT ON A DISTRIBUTED NETWORK OF CACHES
JP2002259333A (en) * 2001-03-01 2002-09-13 Hitachi Software Eng Co Ltd Method for transferring contents

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008529127A (en) * 2005-01-24 2008-07-31 サイトリックス システムズ, インコーポレイテッド System and method for performing caching of dynamically generated objects in a network
JP2007094780A (en) * 2005-09-29 2007-04-12 Nomura Research Institute Ltd Screen information providing server, screen information providing method and program
JP2007172538A (en) * 2005-12-26 2007-07-05 Nec Corp Script execution method, terminal device and program
JP2007287008A (en) * 2006-04-19 2007-11-01 Victor Co Of Japan Ltd Browser-equipped device
JP4692368B2 (en) * 2006-04-19 2011-06-01 日本ビクター株式会社 Browser-equipped device
JP2008191740A (en) * 2007-02-01 2008-08-21 Hitachi Ltd Relay apparatus, relay method, and program
US9769315B2 (en) 2007-11-13 2017-09-19 Amazon Technologies, Inc. System and method for automated call distribution
US10348903B2 (en) 2007-11-13 2019-07-09 Amazon Technologies, Inc. System and method for automated call distribution
JP2016201854A (en) * 2009-08-25 2016-12-01 アマゾン テクノロジーズ インコーポレイテッド System and method for adjusting contact between user and service agent
JP2013503568A (en) * 2009-08-25 2013-01-31 アマゾン テクノロジーズ インコーポレーテッド System and method for customer contact
US10445744B2 (en) 2009-08-25 2019-10-15 Amazon Technologies, Inc. Systems and methods for customer contact
US10110744B2 (en) 2010-12-28 2018-10-23 Amazon Technologies, Inc. Followup of customer service agents
WO2013118365A1 (en) * 2012-02-09 2013-08-15 日本電気株式会社 Communication control device, method for controlling communications, and recording medium
JP2014225109A (en) * 2013-05-16 2014-12-04 株式会社 日立産業制御ソリューションズ Load distributing device, and program
KR101565353B1 (en) 2013-10-04 2015-11-03 주식회사 솔박스 Method for caching contents based on content request record and request priority and HTTP cache server using the method
JP2015165632A (en) * 2014-03-03 2015-09-17 日本電気株式会社 Information transfer device, information transfer method, and program

Also Published As

Publication number Publication date
JP4744792B2 (en) 2011-08-10

Similar Documents

Publication Publication Date Title
JP4744792B2 (en) Caching system
US6907429B2 (en) Satellite-based internet access system with remote prefetching of inline objects of web pages
US6862607B1 (en) Method to provide information in an internet telecommunication network
CA2591782C (en) System and method for enhancing network browsing speed by setting a proxy server on a handheld device
EP1222827B1 (en) Method and apparatus for selectively providing user-specific information to origin servers in wireless application protocol applications
US20060009215A1 (en) Storing data content in a remote computer
US10897450B2 (en) Communication method and communication apparatus
US20080046596A1 (en) Method for caching and delivery of compressed content in a content delivery network
JP2004523180A (en) Beacon network
CN106686033A (en) Method, device and system for cache and service content
US20080279206A1 (en) Tree-type broadcast system, method of participating and withdrawing tree-type broadcast system, node device, and node process program
JP2009076093A (en) Caching system
JP2001051928A (en) Information distribution system and its distributing method
US7756927B2 (en) Object filtering method and client device using the same
JP3658610B2 (en) Message communication method and communication system using wireless telephone
EP2850809B1 (en) Providing data to a network terminal
JP2004110094A (en) Mobile radio terminal unit
JP2005327150A (en) Information delivery system and information delivery method
JP3844924B2 (en) File transfer method and file transfer system
KR100430110B1 (en) Method for store a data of wireless internet in mobile phone
CN115118593B (en) Method and system for optimizing flow rate during network sharing of multiple devices
KR100925644B1 (en) Object Transmission System and Control Method thereof
JP2005108057A (en) Contents acquisition system, browser device and contents downloading method and program to be used for browser device
JP2001333062A (en) Web PAGE SHARING SYSTEM
JP4776671B2 (en) Mobile phone with web connection function

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20051111

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080404

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080507

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080623

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080729

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080916

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20081014

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110412

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

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

Free format text: PAYMENT UNTIL: 20140520

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4744792

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term