JP4884243B2 - 構成可能な期間に関するプライベート・データをキャッシュする方法及び装置 - Google Patents

構成可能な期間に関するプライベート・データをキャッシュする方法及び装置 Download PDF

Info

Publication number
JP4884243B2
JP4884243B2 JP2007014636A JP2007014636A JP4884243B2 JP 4884243 B2 JP4884243 B2 JP 4884243B2 JP 2007014636 A JP2007014636 A JP 2007014636A JP 2007014636 A JP2007014636 A JP 2007014636A JP 4884243 B2 JP4884243 B2 JP 4884243B2
Authority
JP
Japan
Prior art keywords
cookie
request
response
computer
web application
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
Application number
JP2007014636A
Other languages
English (en)
Other versions
JP2007200331A (ja
Inventor
アンドン・サルバリノフ
ダーシャナンド・クシアル
ダール・アンドリュー・クリック
ジョセフ・ビン・ファン
バーバラ・チョウ・ウォング
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2007200331A publication Critical patent/JP2007200331A/ja
Application granted granted Critical
Publication of JP4884243B2 publication Critical patent/JP4884243B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/33User authentication using certificates
    • G06F21/335User authentication using certificates for accessing specific resources, e.g. using Kerberos tickets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • H04L67/5682Policies or rules for updating, deleting or replacing the stored data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2137Time limited access, e.g. to a computer or data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0807Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)

Description

本発明は、一般的には、データ処理システムに関し、詳しく云えば、データをキャッシュするためのコンピュータ実施方法及び装置に関するものである。更に詳しく云えば、本発明は、制約付きクッキー(constrained cookie)及びデータのセットを作成及びリンクするためのコンピュータ実施方法、装置、及びコンピュータ・プログラムに関するものである。
データ処理システムに関する信頼性は、ビジネス及び社会のあらゆる面でコンピューティング装置の用途が増大したために、ここ数年、急速に成長してきた。多くの場合、ユーザは、ネットワークを使って又はインターネットを介して情報及びデータをアクセスする。生産性を最大にするために、ユーザは、ウェブ・アプリケーションを介して情報を素早く且つ容易にアクセスすることができる必要がある。
多くの場合、ユーザの要求及び応答が種々のサーバを介して送られる。例えば、ウェブ・アプリケーションを実行するためにウェブ・アプリケーション・サーバを使用することがある。静的データを処理するために、およびビジネス論理要求をアプリケーション・サーバに転送するために、ウェブ・サーバを使用することもある。エッジ・サーバは、要求に関連した要求パラメータ及びクッキーに基づいたキャッシング機能を提供し得る中間的処理サーバである。産業界の傾向は、エッジ・サーバをエンド・ユーザに地理的に近接して設置すること、応答待ち時間を少なくすること、及びウェブ・アプリケーション・サーバ・サイトへの過剰なデータ転送を防ぐことである。エッジ・サーバは、クライアントのすぐ近くでデータをキャッシュして、ウェブ・アプリケーション・サイトの全体的なパフォーマンスを改善することを可能にする。
定義によれば、エッジ・サーバは計算機能を持たず、非常に初歩的なキャッシング・ルールを実装する。エッジ・サーバの位置は、クライアント要求と共に到来するクッキーのセットのみに関して定義されるようにそのエッジ・サーバのキャッシング能力を制限する。これらの制限の結果、エッジ・サーバは、キャッシング判断において計算力及ロジックを提供する機能、要求に対するクッキー管理を開始する機能、または要求クッキーに対するセキュア・データ管理を提供する機能を持たない。
これらの制限のために、エッジ・サーバは、センシティブな情報を求める要求を安全な方法で解決することができない。例えば、エッジ・サーバは、敵対的なユーザが有効な要求を妨害し且つ同じ出力をオリジナルの有効なコールとして得るためにその後その要求を再生するというリプレイ・アタックを防ぐことができない。到来する要求を管理及び処理することができないということは、如何なる形式のアイデンティティ検証がエッジ・ユーザによって遂行されることも妨げる。その結果、エッジ・サーバに記憶されているキャッシュされた情報はプライバシ・インセンシティブ情報に制限される。その結果、エッジ・サーバ上に情報をキャッシュすることによって得られるパフォーマンスの改善はセキュリティ考慮事項によって制限される。
本発明の目的は、クッキーを生成するためのコンピュータ実施方法、装置、及びコンピュータ・プログラムを提供することにある。
クッキーを生成するためのコンピュータ実施方法であって、
要求を受け取ったことに応答して、前記要求を満たすためにクッキー値を検索するステップと、
前記要求を受け取る期間に基づいて前記クッキー値に対する有効期限を設定するステップと、
クッキーを形成するために、前記有効期限を含む一意的な識別子のセットを前記クッキー値及びクッキー名に加えるステップと、
前記要求に対する応答を、中間サーバを介して送るステップであって、前記応答が前記要求及び前記クッキーに対応したデータを含み、前記応答に関する前記データの有効性が前記有効期限に関連する、ステップと、
を含む、コンピュータ実施方法。
当業者には明らかなように、本発明は、方法、装置、またはコンピュータ・プログラムとして実施することが可能である。従って、本発明は、全体的にハードウェアの実施例、全体的にソフトウェアの実施例(ファームウェア、常駐ソフトウェア、マイクロコード等を含む)、或いは、本明細書では「回路」または「モジュール」と一般的に呼ばれるソフトウェア及びハードウェアの側面を結合した実施例の形態を取ることが可能である。更に、本発明は、コンピュータ使用可能プログラム・コードを組み込んだコンピュータ使用可能記憶媒体においてコンピュータ・プログラムの形態を取ることも可能である。
任意の適当なコンピュータ使用可能又はコンピュータ可読媒体が利用されてもよい。コンピュータ使用可能又はコンピュータ可読媒体は、例えば、電子的、磁気的、光学的、電磁的、赤外線、または半導体システム、装置、デバイス、または伝播媒体であってもよいが、それに限定されない。コンピュータ可読媒体の更に特定の例(非網羅的リスト)は次のようなもの、即ち、1つ又は複数のワイヤを有する電気的接続体、携帯用コンピュータ・ディスケット(フロッピ・ディスク)、固定ディスク、ランダム・アクセス・メモリ(RAM)、リード・オンリ・メモリ(ROM)、消去可能プログラマブル・リード・オンリ・メモリ(EPROMまたはフラッシュ・メモリ)、光ファイバ、携帯用コンパクト・ディスク・リード・オンリ・メモリ(CD−ROM)、光学的記憶装置、インターネットまたはイントラネットをサポートするような伝送メディア、或いは、磁気記憶装置を含むであろう。コンピュータ使用可能又はコンピュータ可読媒体は、プログラムが、例えば、用紙または他の媒体の光学的スキャンを介して電子的に捕捉され、そしてコンパイルされ、インタープリットされ、或いは必要な場合に適当な方法で処理され、そしてコンピュータ・メモリに記憶されるとき、そのプログラムが印刷される用紙または他の適当な媒体であってもよい。本明細書に関しては、コンピュータ使用可能又はコンピュータ可読媒体は、命令実行システム、装置、またはデバイスによって、またはそれと関連して使用するためのプログラムを内蔵し、記憶し、通信し、伝播し、または搬送することができる任意の媒体であってもよい。
本発明のオペレーションを実行するためのコンピュータ・プログラム・コードは、Java(登録商標)、Smalltalk、またはC++ のようなオブジェクト指向プログラミング言語で書くことが可能である。しかし、本発明のオペレーションを実行するためのコンピュータ・プログラム・コードは、「C」プログラミング言語のような一般的なプロシージャ型プログラミング言語で書くことも可能である。プログラミング言語は、ユーザのコンピュータにおいて全体的に、ユーザのコンピュータにおいて部分的に、独立型ソフトウェア・パッケージのようにユーザのコンピュータにおいて部分的に、及び、リモート・コンピュータにおいて部分的に又はリモート・コンピュータにおいて全体的に実行することが可能である。後者の場合には、リモート・コンピュータはローカル・エリア・ネットワーク(LAN)または広域ネットワーク(WAN)を介してユーザのコンピュータに接続することが可能であり、或いは(インターネット・サービス・プロバイダを使ってインターネットを介して)外部コンピュータへの接続が行われることも可能である。
本発明は、本発明の実施例による方法、装置(システム)、及びコンピュータ・プログラムに関するフローチャート表示、及び/又は、ブロック図を参照して後述される。フローチャート表示、及び/又は、ブロック図の各ブロック、及びフローチャート表示、及び/又は、ブロック図におけるブロックの結合がコンピュータ・プログラム命令によって具現化することが可能であることは明らかであろう。これらのコンピュータ・プログラム命令は汎用コンピュータ、特殊目的のコンピュータ、または他のプログラマブル・データ処理装置のプロセッサに提供され、コンピュータまたは他のプログラマブル・データ処理装置のプロセッサを通して実行される命令が、フローチャート、及び/又は、ブロック図のブロックにおいて指定された機能/動作を具現化するための手段を作成するようなマシンを作る。
これらのコンピュータ・プログラム命令は、特定の態様で機能するようにコンピュータまたは他のプログラム可能なデータ処理装置に指示し得るコンピュータ可読メモリに記憶することも可能であり、従って、コンピュータ可読メモリに記憶された命令が、フローチャート、及び/又は、ブロック図のブロックにおいて指定された機能/動作を具現化する命令手段を含むコンピュータ・プログラムを作る。
コンピュータ・プログラム命令は、コンピュータまたは他のプログラム可能なデータ処理装置において一連の動作ステップを遂行させるためにそのコンピュータまたは他のプログラム可能なデータ処理装置にロードされ、そのコンピュータまたは他のプログラム可能なデータ処理装置において実行される命令が、フローチャート及び/又はブロック図のブロックにおいて指定された機能/動作を具現化するためのステップを提供するようなコンピュータ実施プロセスを作ることが可能である。
図面、特に図1及び図2を参照すると、本発明の実施例を具現化し得るデータ処理環境の概略図が示される。図1及び図2は単なる例示であって、本発明の種々の形態または実施例を具現化し得る環境に関して如何なる限定を主張または暗示することを意図するものではないことは当然である。本発明の真意及び範囲から逸脱することなく、図示の環境に対する多くの修正を施すことが可能である。
次に図面を参照すると、図1は、本発明の種々の形態を具現化し得るデータ処理システムのネットワークの概略図を示す。ネットワーク・データ処理システム100は本発明の実施例を具現化し得るコンピュータのネットワークである。ネットワーク・データ処理システム100はネットワーク102を含み、ネットワーク102は、ネットワーク・データ処理システム100内で相互に接続された種々のデバイス及びコンピュータの間の通信リンクを提供するために使用される媒体である。ネットワーク102は、ワイヤ、ワイヤレス通信リンク、または光ファイバ・ケーブルのような接続体を含み得る。
図示の例では、サーバ104及びサーバ106がストレージ・ユニット108と共にネットワーク102に接続している。更に、クライアント110,112、及び114がネットワーク102に接続している。これらのクライアント110,112、及び114は、例えば、パーソナル・コンピュータまたはネットワーク・コンピュータであってもよい。図示の例では、サーバ104は、ブート・ファイル、オペレーティング・システム・イメージのようなデータ及びアプリケーションをクライアント110,112、及び114に供給する。クライアント110,112、及び114は、この例では、サーバ104に対するクライアントである。ネットワーク・データ処理システム100は、更なるサーバ、クライアント、及び図示されてない他のデバイスを含み得る。
図示の例では、ネットワーク・データ処理システム100は、相互に通信を行うためにプロトコルの伝送制御プロトコル/インターネット・プロトコル(TCP/IP)スーツを使用するネットワーク及びゲートウェアの世界的な集合体をネットワーク102が表す場合にはインターネットである。インターネットの中心には、データ及びメッセージを経路指定する数千個の商業用、行政機関用、教育用、及びその他のコンピュータ・システムから成り、主要ノードまたはホスト・コンピュータの間における高速データ通信回線のバックボーンがある。もちろん、ネットワーク・データ処理システム100は、例えば、イントラネット、ローカル・エリア・ネットワーク(LAN)、または広域ネットワーク(WAN)のような数多くの種々なタイプのネットワークとして具現化することも可能である。図1は1つの例として意図され、本発明の種々の実施例に関するアーキテクチャ上の限定として意図されたものではない。
次に図2を参照すると、本発明の種々の形態を具現化し得るデータ処理システムのブロック図が示される。データ処理システム200は、図1におけるサーバ104またはクライアント110のようなコンピュータの一例である。このコンピュータには、本発明の実施例に関するプロセスを具現化するコンピュータ使用可能コードまたは命令を設けることが可能である。
図示の例では、データ処理システム200はハブ・アーキテクチャを使用する。このハブ・アーキテクチャは、ノース・ブリッジ兼メモリ・コントローラ・ハブ(NB/MCH)202及びサウス・ブリッジ兼入出力(I/O)コントローラ・ハブ(SB/ICH)204を含む。処理ユニット206、メイン・メモリ208、及びグラフィックス・プロセッサ210がNB/MCH202に接続される。グラフィックス・プロセッサ210はアクセラレーテッド・グラフィックス・ポート(AGP)を介してNB/MCH202に接続されてもよい。
図示の例では、ローカル・エリア・ネットワーク(LAN)アダプタ212がSB/ICH204に接続している。オーディオ・アダプタ216、キーボード及びマウス・アダプタ220、モデム222、リード・オンリ・メモリ(ROM)224、ハードディスク・ドライブ(HDD)226、CD−ROMドライブ230、ユニバーサル・シリアル・バス(USB)ポート及び他の通信ポート232、並びにPCI/PCIeデバイス234がバス238及び240を介してSB/ICH204に接続している。PCI及びPCIeデバイスは、例えば、イーサネット(登録商標)・アダプタ、アドイン・カード、及びノートブック・コンピュータのためのPCカードを含み得る。PCIはカード・バス・コントローラを使用するが、PCIeはそれを使用しない。ROM224は、例えば、フラッシュ・バイナリ入出力システム(BIOS)であってもよい。
HDD226及びCD−ROMドライブ230はバス240を介してSB/ICH204に接続している。HDD226及びCD−ROMドライブ230は、例えば、統合ドライブ・エレクトロニクス(IDE)又はシリアル拡張テクノロジ接続機構(SATA)インターフェースを使用し得る。スーパI/O(SIO)デバイス236がSB/ICH204に接続することも可能である。
オペレーティング・システムが処理ユニット206を稼動し、図2におけるデータ処理システム200内の種々のコンポーネントの制御を調整および提供する。クライアントとしては、そのオペレーティング・システムは、Microsoft Windows(登録商標) XP のような商業的に入手可能なオペレーティング・システムであってもよい(Microsoft 及びWindows(登録商標) は、米国のマイクロソフト社の商標である)。Java(登録商標) プログラミング・システムのようなオブジェクト指向プログラミング・システムが、オペレーティング・システムと関連して稼動し、データ処理システム200において実行されるJava(登録商標) プログラム又はアプリケーションからオペレーティング・システムにコールを行うことも可能である(Java(登録商標) は、米国のサン・マイクロシステムズ社の商標である)。
サーバとしてのデータ処理システム200は、例えば、Advanced Interactive Executive(AIX)オペレーティング・システムまたは LINUX オペレーティング・システムを稼動させるIBM eServer pSeries コンピュータ・システムであってもよい(eServer、pSeries、及び AIX は、米国のインターナショナル・ビジネス・マシーンズ社の商標であり、一方、LINUXは、米国の Linus Torvalds の商標である)。データ処理システム200は、処理ユニット206において複数のプロセッサを含む対称マルチプロセッサ(SMP)システムであってもよい。それとは別に、シングル・プロセッサ・システムが使用されてもよい。
オペレーティング・システム、オブジェクト指向オペレーティング・システム、又はアプリケーションのための命令、或いはプログラムがHDD226のような記憶装置上に設けられ、処理ユニット206による実行のためにメイン・メモリ208にロードされてもよい。本発明の実施例に関するプロセスは、コンピュータ使用可能プログラム・コードを使用して処理ユニット206により遂行される。そのプログラム・コードは、例えば、メイン・メモリ208、ROM224のようなメモリ、或いは1つ又は複数の周辺装置226及び230に設けられてもよい。
図1及び図2におけるハードウェアが具現化方法次第で変わり得ることは当業者には明らかであろう。図1及び図2に示されたハードウェアに加えて、又はそれの代わりに、フラッシュ・メモリ、同等の不揮発性メモリ、または光ディスク・ドライブ等のような他の内部ハードウェア又は周辺装置を使用することも可能である。更に、本発明のプロセスがマルチプロセッサ・データ処理システムに適用することも可能である。
或る例では、データ処理システム200は、オペレーティング・システム・ファイル、及び/又は、ユーザ生成のデータを保存するための不揮発性メモリを提供するために、フラッシュ・メモリを用いて構成されるパーソナル・デジタル・アシスタント(PDA)であってもよい。
バス・システムは、図2に示されたバス238又はバス240のような1つ又は複数のバスから構成されてもよい。もちろん、そのバス・システムは、任意のタイプのファブリック又はアーキテクチャを使って具現化し得る。そのファブリック又はアーキテクチャはそれに接続された種々のコンポーネント又は装置のデータの転送を行うものである。通信ユニットは、図2のモデム222又はネットワーク・アダプタ212のような、データを送信及び受信するために使用される1つ又は複数の装置を含み得る。メモリは、例えば、メイン・メモリ208、ROM224、または図2におけるNB/MCH202において見られるようなキャッシュであってもよい。図1及び図2における図示の例および上記の例はアーキテキチャ上の限定を暗示することを意味するものではない。例えば、データ処理システム200は、PDAの形を取ることのほかに、タブレット・コンピュータ、ラップトップ・コンピュータ、又は電話装置であってもよい。
本発明の種々の形態が、データをキャッシュするためのコンピュータ実施方法、装置、及びコンピュータ・プログラムを提供する。これらの例では、本発明のそれらの形態は中間サーバにおいて実施される。中間サーバは、クライアント・コンピュータとそのクライアント・コンピュータに関する要求を処理するサーバ・コンピュータとの間に設けられた物理的コンピュータである。中間サーバは、ウェブ・アプリケーション・サーバよりもエンド・ユーザに物理的に近接して設けられることが望ましい。中間サーバは、要求パラメータ及びその要求に関連したクッキー(cookie)に基づいてキャッシング機能を提供することも可能である。中間サーバは、キャッシング、負荷平準化、及び経路指定を含む多くのタスクのために使用することが可能である。これらの例では、中間サーバはエッジ・サーバとも呼ばれ、制約付きクッキー生成のための機構を使用することによってデータをキャッシュするために使用され、ウェブ・アプリケーション・サーバによって維持されるサーバである。
本発明の種々の形態は、現在のエッジ・サーバにおける計算ロジック及びアイデンティティ検証機構の不足を補う。本発明のそれらの形態は、システム生成された情報でもってクッキーを拡張する。クッキーに対する種々の参照は、1つまたは複数のクッキーを含むクッキーのセットを指す。
システム生成された情報は、応答が無効となるときを定義するための有効期限切れ期間、及びウェブ・アプリケーション識別、ウェブ・アプリケーション・セグメント、言語識別、商店識別、及び店主識別のような情報に基づいてクッキーを区別するために使用される他の固有の識別子を含み得る。修正されたクッキーは、エッジ・サーバ及びウェブ・アプリケーション・サーバにおけるデータ相互間の強い結合を与え、それは、セキュリティ全体を更に強化し、センシティブな情報を有害な攻撃から守り、キャッシュされた情報の範囲の拡大を生じる。
図3は、本発明の種々の形態を具現化し得るネットワーク・システムの概略図である。ネットワーク・システム300は、ウェブ・サーバ302及びウェブ・アプリケーション・サーバ304における情報をアクセスするために任意の数のユーザによって使用される。この情報は、例えば、コンテンツ、アプリケーション、及びデータであってもよい。これらの例では、ユーザ306がクライアント308を使用して要求310をウェブ・サーバ302にサブミットする。その要求は、先ず、エッジ・サーバ312のような任意の数の中間処理サーバを通され、しかる後、ウェブ・アプリケーション・サーバ304に達する。クライアント308、エッジ・サーバ312、ウェブ・サーバ302、及びウェブ・アプリケーション・サーバ304は、図2のデータ処理システム200のようなデータ処理システムであってもよい。
エッジ・サーバ312は、一般には、クライアント308に物理的に近接して位置付けられる。このタイプの位置付けは、ウェブ・アプリケーション・サーバ304からの情報をアクセスするときの伝送速度を改善するために使用される。ウェブ・サーバ302は、要求310に対する静的コンテンツを生成し、しかる後、動的データを含む要求310の部分をウェブ・アプリケーション・サーバ304に送る。ウェブ・アプリケーション・サーバ304は、応答314を発生することによって要求310に応答する。応答314は、要求310に対する必要なデータ及び特殊化されたクッキーを含む。これらの例では、クッキーは、アプリケーションの一般的なスコープにおける固有にキャッシュされたデータに関連していることを保証するためにそれらのクッキーが有効である思われる時間を制限するように強制される。更に、ウェブ・アプリケーション・サーバ304は応答314をキャッシュし、応答314をエッジ・サーバ312にとって使用可能にする。エッジ・サーバ312は応答314をキャッシュし、クッキーを含むその後の要求がエッジ・サーバ312によって答えられるよう、応答314内のデータ及びオブジェクトのアクセスをクッキーする。
図4は、本発明の種々の形態を具現化し得るネットワーク・システムの流れ図である。ネットワーク・システム400は、図3のネットワーク・システム300のようなネットワーク・システムであってもよい。ネットワーク・システム400は、クライアント402、エッジ・サーバ404、エッジ・サーバ・キャッシュ406、ウェブ・サーバ408、ウェブ・アプリケーション・サーバ410、およびウェブ・アプリケーション・サーバ・キャッシュ412を含む。
ネットワーク・システム400は、任意の数のトランザクション、方法、または他の形式の情報検索を実施するために使用することが可能である。或る実施例では、ネットワーク・システム400がインターネット・ショッピングのために使用される。例えば、クライアント402は、ウェブ・アプリケーション・サーバ410からアクセスし得るショッピング・ウェブ・アプリケーションを使用するインターネット買物客であってもよい。別の例では、ネットワーク・システム400は、教育関連の書籍に関する等級および価格表をウェブ・アプリケーション・サーバ410から検索するためにクライアント402による使用も可能である。
クライアント402が要求を発生する(ステップA)。ステップAにおける要求は、クライアント402がブラウザを使用することによって発生することが可能である。例えば、クライアント402は、将来購入するための多くの項目を選択するためにウェブ・ブラウザを使用してもよい。クライアント402は、エッジ・サーバ404を認識しなくてもウェブ・アプリケーション・サーバ410に要求を送る。エッジ・サーバ404は、要求のパス内にあり、クライアント402とウェブ・アプリケーション・サーバ410との間の通信では完全に透明である。エッジ・サーバ404が要求におけるクッキーを見つけないとき、要求はエッジ・サーバ404を通過してウェブ・アプリケーション・サーバ410に進む(ステップB)。
ステップCでは、ウェブ・アプリケーション・サーバ410が要求を受取り、その要求を処理し、出力を作成し、クッキーを生成し、応答及びクッキーをウェブ・アプリケーション・サーバ・キャッシュ412にキャッシュし、その応答をエッジ・サーバ・キャッシュ406にとって使用可能にする。
ウェブ・アプリケーション・サーバ410は、システム生成された情報に基づいてクッキーを制約する。例えば、ウェブ・アプリケーション・サーバ410が全システムにおける時間を個別の期間に分割する。それらの期間は、アクセスされたデータ、アプリケーション、及び他の要素に依存した任意の長さの期間であってもよい。例えば、個別の期間は秒、分、時間、または日を含んでもよい。ウェブ・アプリケーション・サーバ410は新たに生成された各クッキーを、個別の期間に対応するクッキーの有効期限時間とリンクする。キャッシュされたクッキー・コンテンツは、クッキーの有効期限時間と対応する個別の期間の終了時に無効にされる。その結果、クッキーに関連するそのキャッシュされたコンテンツは、そのクッキーが有効期限切れするまでそのコンテンツが有効であるので、時間制約される。適用可能な有効期限時間内のクッキーは、有効期限切れする時にクライアント402及びエッジ・サーバ404においてウェブ・アプリケーション・サーバ410によって無効にされ、従って、クッキーは、最早、応答におけるデータをアクセスするために使用されることはない。
ウェブ・アプリケーション・サーバ410は、固有の情報および識別子をクッキー名および値にリンクさせることによってクッキーを更に制約する。例えば、クッキーは、ウェブ・アプリケーション識別子をクッキー値に連結することによってウェブ・アプリケーションにリンクすることが可能である。ウェブ・アプリケーション・サーバ410は、ウェブ・アプリケーション・セグメント識別子をクッキー名に連結することによってウェブ・アプリケーション・セグメント単位でクッキーを分離することが可能である。ウェブ・アプリケーション識別子、ウェブ・アプリケーション・セグメント識別子、および他の識別子をクッキーに連結することによって、プライベート・データを検索しようとする未承認の又は有害な試みを防ぐために、クッキーは制約され、エンコードされる。
クッキー414はステップC中に生成することが可能なクッキーの例である。或る例では、エッジ・サーバのクッキー・フォーマットが、次のような情報、即ち、エッジ・サーバのクッキーに対する標準プレフィックス416、言語識別のような情報基準の名前、ウェブ・アプリケーション識別またはコマース・インスタンスにおける商店識別を定義する番号のような固有番号、クッキーに含まれた実際の値、ウェブ・アプリケーション・セグメントを定義する固有番号、及び期間の長さに等しいミリ秒の数によって分割されたユニバーサル時間調整(UTC)番号として定義された整数、を使用して更に制約されることがある。更に、最終的なクッキーの値全体が暗号化されてもよい。
例えば、クッキー414の標準プレフィックス416はCOOKIEであってもよい。ウェブ・アプリケーション・サーバ410は、ウェブ・アプリケーション・セグメント418又はそのクッキー名を更に生成するためにクッキー414が利用される場合のサブセクションを使用することも可能である。ウェブ・アプリケーション・セグメント418は、そのウェブ・アプリケーションの残りとは関係なく動作し得るそのウェブ・アプリケーションの一部分である。各ウェブ・アプリケーション・セグメントは、そのウェブ・アプリケーション内の固有番号と関連付けられる。セグメント名をクッキー名に連結することによって、クッキー及びキャッシュされたデータは、特定のウェブ・アプリケーション・セグメント418と関連したデータだけがクッキー414を使ってエッジ・サーバ404においてキャッシュされるように、ウェブ・アプリケーション・セグメント418によって分離される。例えば、ウェブ・アプリケーションの3つのセクションが、eコマース・ウェブ・アプリケーションにおいて書籍、音楽、及びビデオを販売するために使用されてもよい。ウェブ・アプリケーション・セグメント418が書籍と関連する場合、書籍がエッジ・サーバ404においてキャッシュされることしか望まれず、従って、書籍に対するウェブ・アプリケーション・セグメント418、即ち、001だけがクッキー名に連結される。
例えば、ウェブ・アプリケーション・セグメント418が001である場合、ウェブ・アプリケーション・サーバ410は、COOKIE_001 となるようにクッキー名全体を修正する。クッキー414は言語識別値420を含むこともある。例えば、適用可能な言語は、23という言語識別値420をもった英語であってもよい。クッキー名は、COOKIE_001=“23”となるようにウェブ・アプリケーション・サーバ410によって修正される。
次に、ウェブ・アプリケーション・サーバ410は、クッキー414がアクティブ且つ有効であるアクティブ期間422を決定し得る。アクティブ期間422は、エッジ・サーバのキャッシング・ルールをウェブ・アプリケーション・サーバ・クッキー・コンテンツでもってバインドするために使用される独立した期間である。例えば、各期間の終了時に、エッジ・サーバ404とウェブ・アプリケーション・サーバ410において実行中のウェブ・アプリケーションとの間で、そのキャッシュされたデータに関して同期化が強制される。実際のバインディングは、現在の期間をクッキー・データに連結することによってクッキー作成時に生じる。アクティブ期間422をクッキー・データに連結した結果、エッジ・サーバの応答は、クッキー・コンテンツにおけるのみならず、特定の期間においても従属性を示す。
例えば、クッキー作成時の時間が 2007-12-25 21:15h であり、その期間が1時間としてセットされる場合、クッキー期間は 2007-12-25 21:00hから 2007-12-25 22:00 までである。クッキー414のアクティブ期間422は 2007-12-25 21h となるであろうし、ウェブ・アプリケーション・サーバ410は、COOKIE_001=“23:2007-12-25 21h”となるようにクッキー名を修正する。
ウェブ・アプリケーション・サーバ410は、その期間を使用して期間の終わりから現在の時間を減算することによってクッキーの有効期限時間を計算することが可能である。クッキーの有効期限時間は、クッキー414が作成された期間によって左右される。クッキーの有効期限時間は、現在の期間の終了時に有効期限時間をセットすることによってクッキー・コンテンツの有効性にリンクされることが可能である。その結果、クッキー414はその期間の終了時に有効期限切れし、クッキー生成に関する同じ方法を使用して新規のクッキーと置換することが可能である。その期間の終了時に、クライアント402によって使用されたブラウザは、キャッシュ・ヒットを生じさせるためには、クライアント402によってエッジ・サーバ404に送られたいずれの追加の要求もクッキー414を含まないように、そのクッキー414を破壊又は消去してもよい。その結果、エッジ・サーバ404は、キャッシュされたデータを操作せず、コールをウェブ・アプリケーション・サーバ410に伝播する。例えば、期間の終了は 2007-12-25 22:00h であり、現在の時間は 2007-12-25 21:15h である。有効期限時間は、期間が終了する時点である45分である。
期間及びクッキーの有効期限時間を使用することによって、有効期限切れしたクッキーは、プライベート情報を得るために応答アタックにおいて使用することができない。応答アタックは、システムからプライベート・データへのアクセスを得るために既存のセキュリティを回避しようとする有害な要求である。そのアタックは、応答情報をスチールするために、外部ソースが有効な要求をインターセプトし、その後その要求に存在するクッキーを再使用してその要求に応えようとするオペレーションである。再生アタックの場合、クッキーは、期間が有効期限切れした後にプライベート・データを検索しようとするエッジ・サーバに押し付けられる。しかし、エッジ・サーバはそのキャッシュされたデータを期間の終了時に消去しており、新たにキャッシュされたデータが古いクッキーとのキャッシュ・ヒットを生じることはないであろう。
クッキーの期間は、悪意で生成されたクッキーの使用を防ぐようにも機能する。例えば、生成アタックは、外部ソースが、偽クッキーを含む要求を発生する攻撃的なオペレーションである。偽クッキーはウェブ・アプリケーション・サーバ410の外で生成される。
ウェブ・アプリケーション識別424はクッキー値に連結することも可能である。ウェブ・アプリケーション識別424は、ウェブ・アプリケーションの特定のインスタンスに関連した固有の番号である。クッキー414は、ウェブ・アプリケーション識別424をクッキー・コンテンツに連結することによってウェブ・アプリケーションの特定の設置にリンクされる。例えば、ウェブ・アプリケーションがeコマース・アプリケーションである場合、他のeコマース・アプリケーションがウェブ・アプリケーション識別424によって一意的に識別されることはない。ウェブ・アプリケーション識別424は、クッキー414が他のクッキーと同じ名前を持っていても、クッキー・コンテンツはウェブ・アプリケーション識別424のために異なる。その結果、同じ名前を有するクッキーは、それぞれ、クッキーの固有の情報コンテンツと関連したままである。
例えば、ウェブ・アプリケーション識別424が 0x1234abcd である場合、ウェブ・アプリケーション・サーバ410は、クッキー名を COOKIE_001=“23:2007-12-25 21h: 0x1234abcd”に修正する。ウェブ・アプリケーション・サーバ410は、クッキー414をエッジ・サーバ404上にエンコードし、有効期限時間をセットし、初期要求に対する応答が送られる(ステップC)。
次に、ウェブ・アプリケーション・サーバ410がウェブ・サーバ408及びエッジ・サーバ404を介してクライアント402に応答を戻す(ステップD)。その応答は、エッジ・サーバ404を通過するときにインターセプトされ、エッジ・サーバ・キャッシュ406にキャッシュされる。その応答に含まれたクッキーは、キャッシュ・キーとして使用されるか又は特定のキャッシュされたオブジェクト又はデータのセットを参照する。ステップEにおいて、クライアント402は同じ要求を再び発生するが、クッキー404は今や要求に存在し、応答におけるクッキー及びキャッシュされたクッキーが同じである場合、応答に含まれたデータのセットがクライアント402に対してアクセス可能になる。
エッジ・サーバ404は、要求におけるエッジ・サーバのクッキーを見つけ、これらのクッキーに関連するキャッシュされた出力をエッジ・サーバ・キャッシュ406からフェッチし、そのコールを中断し、キャッシュされた出力を応答としてクライアント402に送る(ステップF)。その結果、クライアント402は、要求をいつもウェブ・アプリケーション・サーバ410に送ることなく、クッキー414を使用して要求にとって必要なデータを素早く且つ効率的にアクセスすることができる。
図5は、本発明の種々の形態を具現化し得るネットワーク・システムにおける制約付きのキャッシングを示す流れ図である。クライアント502、エッジ・サーバ504、及びウェブ・アプリケーション・サーバ506は、図4のネットワーク・システム400のようなネットワーク・システムの素子であってもよい。図4に示されたステップA〜Fが図5において更に示される。ステップGでは、ステップCで作成されたクッキーが、そのクッキーのアクティブ期間の終わりであるクッキーの有効期限時間に達する。ウェブ・アプリケーション・サーバは、クッキーの有効期限時間を含み得る従属性に基づいてエッジ・キャッシュ・コンテンツを無効にするコマンドをエッジ・サーバに送る(ステップH)。エッジ・サーバは、そのコンテンツを無効にし、コンテンツの無効を確認するメッセージをウェブ・アプリケーション・サーバに送る(ステップI)。その結果、エッジ・サーバへのその後の要求はキャッシュ・ミスを生じ、ウェブ・アプリケーション・サーバに送られる。その無効化がウェブ・アプリケーション・サーバによって確認される。
図6は、本発明の実施例によるクッキー管理ロジックの実施態様を示すフローチャートである。図6及び図7のプロセスは、図4のウェブ・アプリケーション・サーバ410のようなウェブ・アプリケーション・サーバによる実施が可能である。図6及び図7は、ウェブ・アプリケーション・サーバの要求フィルタのようなプログラミング・コンポーネントによる実施が可能である。例えば、要求フィルタは、アプリケーションまたはアプリケーション・ロジックを含むサーブレットが実行される前に実行される Java(登録商標))J2EE(商標)プログラム製品であってもよい。フィルタは、リソースへの要求及びリソースからの応答の両方における有効搭載量及びヘッダ情報の変換を処理中に許容するJava(登録商標) コンポーネントである。図6は、アプリケーションの正規の処理が開始される前に実行される特定のロジックを示す。図6のプロセスは本発明の一実施例であり、それは、現在の例に基づいて他の可能な実施例を限定することを意図するものではない。
図6のプロセスまたは命令は、ウェブ・アプリケーション・サーバが要求を受けることによって始まる(ステップ602)。その要求は、図4のクライアント402及びエッジ・サーバ404のような、クライアントからエッジ・サーバを介して受け取られる。ウェブ・アプリケーション・サーバは、エッジ・クッキーが見つかったかどうかを決定する(ステップ604)。ステップ604の決定は、処理するためのエッジ・クッキーが存在するかどうか、またはエッジ・クッキーが生成される必要があるかどうかを決定するために使用される。それが生成されるということは、要求に基づいたクッキーの初期生成、或いは、失効したクッキーの再生成を指す。なお、クッキーの失効は、有効期限時間が経過したこと又はクッキーに含まれた情報が変化したことを意味する
エッジ・クッキーが見つからなかった場合、ウェブ・アプリケーション・サーバはエッジ・クッキーを生成する(ステップ606)。次に、ウェブ・アプリケーション・サーバは正規のアプリケーション処理を開始し(ステップ608)、しかる後そのプロセスは終了する。ステップ608の正規のアプリケーション処理はアプリケーション・コードを実行すること又はサーブレットを実行することを含み得る。サーブレットは、Java(登録商標) プログラミング言語で書かれたアプリケーション・プログラムであり、それはサーバにおいて実行され、その結果がクライアントのウェブ・ブラウザに送られるものである。
ステップ604に戻ると、エッジ・クッキーが見つかった場合、ウェブ・アプリケーション・サーバは、商店識別が有効であるかどうかを決定する(ステップ610)。商店識別は識別子の一例であり、クッキーを区別するために任意のタイプの一意的な識別子を使用することが可能である。例えば、ウェブ・アプリケーション・サーバは、書籍店に関するその識別されたクッキーの商店識別が、音楽店ではなく書籍店をその商店識別において識別するかどうかを決定することが可能である。
商店識別が有効ではない場合、ウェブ・アプリケーション・サーバは見つかったエッジ・クッキーを消去する。例えば、ユーザが種々の商店の間を移動したためにクッキー名が変化するとき、クッキーは直ちに有効期限切れするようにセットされ、従って、クッキーがクライアント・ブラウザにより除去されることによって効率的に消去される。次に、ウェブ・アプリケーション・サーバはエッジ・クッキーを生成する(ステップ606)。クッキー値だけが変化したという例では、同じクッキー名がその訂正されたクッキー値と共に使用可能である。
クッキーが一致し、商店識別が同じである場合、プロセスは、コンテキストが変化したかどうかを決定する(ステップ614)。コンテキストが変化していない場合、要求に対する応答がエッジ・サーバにおいて得られ、プロセスは正規のアプリケーション処理を開始し(ステップ608)、しかる後、プロセスは終了する。ステップ614において、コンテキストが変化している場合、要求がエッジ・サーバを通過し、ウェブ・アプリケーション・サーバに送られる(ステップ606)。ステップ606では、エッジ・サーバに記憶された情報が適用可能でないために、その要求は新しいクッキーを生成させる。ステップ610に戻ると、商店識別が有効である場合、ウェブ・アプリケーション・サーバは、クッキー・コンテキストが変化したかどうかを決定する(ステップ614)。そのコンテキストが変化しなかった場合、ウェブ・アプリケーション・サーバは正規のアプリケーション処理を開始し(ステップ608)、しかる後、プロセスは終了する。ステップ614において、コンテキストが変化した場合、ウェブ・アプリケーション・サーバは、エッジ・クッキーを生成する(ステップ606)。当初クッキーに置かれた値が変化してしまったので、クッキー生成が必要である。例えば、当初の生成時に、当初の言語識別はスペイン語であったかもしれないが、その後、英語に変更されたかもしれない。その結果、ユーザ関連のデータ又はコンテキストは変化し、新たなクッキーが生成される必要がある。別の例では、ユーザが自分のユーザ・プロファイルを変更し、新たなコンテキストを有する新たなクッキーが生成されることが必要であるかもしれない。
図7は、本発明の実施例によるクッキーの生成を示すフローチャートである。図7のプロセスは、図4のウェブ・アプリケーション・サーバ410のようなウェブ・アプリケーション・サーバによって実施することが可能である。図7に示されたプロセスは、初期クッキー生成及び再生成に関する図6のステップ606を更に詳述したものである。プロセスが開始すると、ウェブ・アプリケーション・サーバがクッキー値を検索する(ステップ702)。次に、ウェブ・アプリケーション・サーバが商店識別をクッキー名に連結し(ステップ704)、現在の期間を検索する(ステップ706)。
ウェブ・アプリケーション・サーバが現在の期間及び店主識別をクッキー値に加える(ステップ708)。ウェブ・アプリケーション・サーバが、未承認のアクセスを防ぐためにクッキーの最終値を暗号化する(ステップ710)。次に、ウェブ・アプリケーション・サーバが現在の期間の終了となるようにクッキー・タイムアウトをセットする(ステップ712)。ウェブ・アプリケーション・サーバが応答をキャッシュし、エッジ・サーバを介してその応答を送り(ステップ714)、しかる後、プロセスが終了する。その応答は要求に対する応答及びエッジ・サーバにおいてキャッシュされるべき特殊なクッキーを含む。
図8は、本発明の実施例による図6及び図7のプロセスに関する擬似コードである。命令800はセクション802及び804を含む。これらの実施例において、セクション802は図6のプロセスを実施するために使用することが可能である。セクション804は図7のプロセスを実施するために使用することが可能である。
従って、本発明の種々の形態は、データをキャッシュする中間サーバにおいてコンテンツを制御するためにクッキー生成に関する改良された方法を提供する。これらの例では、サーバはエッジ・サーバである。本発明の方法は、システム生成した情報を有するクッキーを拡張することによってエッジ・サーバ上の計算ロジック及びアイデンティティ検証機構の不足を補う。その結果、エッジ・サーバにおけるデータとウェブ・アプリケーション・サーバにおけるデータとの間に、より強力なデータの結合が存在し、センシティブな情報の良好な保護及びキャッシング機能の増大が生じる。
本発明に関する記述は、図解及び説明を目的として行われたものであり、網羅的であること又は開示された形式に発明を限定することを意図するものではない。多くの修正及び変更が当業者には明らかであろう。実施例は、発明の原理及び実用的な応用を最もよく説明するために、及び当業者が特定の意図された用途に適する種々の修正を伴う種々の実施例に関して発明を理解することを可能にするために、選択及び記述された。
本発明の種々の形態を具現化し得るデータ処理システムの概略図である。 本発明の種々の形態を具現化し得るデータ処理システムのブロック図である。 本発明の種々の形態を具現化し得るネットワーク・システムの概略図である。 本発明の種々の形態を具現化し得るネットワーク・システムの流れ図である。 本発明の種々の形態を具現化し得るネットワーク・システムにおける制約付きキャッシングを示す流れ図である。 本発明の実施例に従ってクッキー管理ロジックの具現化を示すフローチャートである。 本発明の実施例に従ってクッキー生成の具現化を示すフローチャートである。 本発明の実施例に従って実行される図6及び図7におけるプロセスのための擬似コードである。

Claims (15)

  1. クッキーを生成するためのコンピュータ実施方法であって、
    要求を受け取ったことに応答して、前記要求を満たすためにクッキー値を検索するステップと、
    前記要求を受け取る期間に基づいて前記クッキー値に対する有効期限を設定するステップと、
    クッキーを形成するために、前記有効期限を含む一意的な識別子のセットを前記クッキー値及びクッキー名に加えるステップと、
    前記要求に対する応答を、中間サーバを介して送るステップであって、前記応答が前記要求及び前記クッキーに対応したデータを含み、前記応答に関する前記データの有効性が前記有効期限に関連する、ステップと、
    前記有効期限が切れたとき、前記中間サーバに記憶された前記データを消去または無効にするステップと、
    を含む、コンピュータ実施方法。
  2. 前記応答を受け取ったことに応答して、キャッシュ・データのセットを形成するために前記応答における前記データを1つのロケーションにキャッシュするステップであって、前記ロケーションが、前記キャッシュ・データのセットに対するその後の要求に応答してパフォーマンスの改善を行う、ステップと、
    前記有効期限と共に前記キャッシュ・データのセットの有効性を設定するステップであって、前記有効期限以後は前記有効性が期限切れとなる、ステップと、
    前記クッキーを前記応答と共に要求元グループに返送するステップと、
    を更に含む、請求項1に記載のコンピュータ実施方法。
  3. 前記キャッシュするステップ、前記有効性を設定するステップ、及び前記返送するステップが中間サーバによって遂行される、請求項2に記載のコンピュータ実施方法。
  4. 前記検索するステップ、前記設定するステップ、前記加えるステップ、及び前記送るステップがウェブ・アプリケーション・サーバによって遂行され、
    前記要求をクライアントから受け取るステップと、
    前記クッキーが前記要求に存在するかどうかを決定するステップと、
    前記クッキーが前記要求に存在することに応答して、前記クッキーの前記一意的な識別子のセットが前記要求に存在するかどうかを決定するステップと、
    前記クッキーの前記一意的な識別子のセットが前記要求に存在するという決定に応答して、アプリケーションの正規の処理を開始するステップと、
    を更に含む、請求項1に記載のコンピュータ実施方法。
  5. 前記クッキーが前記要求に存在しないという決定に応答して、前記検索するステップ、前記設定するステップ、前記加えるステップ、及び前記送るステップを開始するステップを更に含む、請求項4に記載のコンピュータ実施方法。
  6. 前記一意的な識別子のセットが前記要求に存在しないという決定に応答して、前記要求における前記クッキーを消去するステップと、
    前記検索するステップ、前記設定するステップ、前記加えるステップ、及び前記送るステップを開始するステップと、
    を更に含む、請求項4に記載のコンピュータ実施方法。
  7. 前記一意的な識別子がウェブ・アプリケーション識別、ウェブ・アプリケーション・セグメント、商店識別、店主識別、及び言語識別の少なくとも1つを含む、請求項1に記載のコンピュータ実施方法。
  8. 前記返送するステップは、前記応答を前記中間サーバにおいてキャッシュすることによって、要求元グループからの前記クッキーを含むその後の要求が前記中間サーバによって処理されるようにするステップを含む、請求項1に記載のコンピュータ実施方法。
  9. 未承認のアクセスを防ぐために前記クッキー値を暗号化するステップを更に含む、請求項1に記載のコンピュータ実施方法。
  10. クッキーを生成するためのコンピュータ・システムであって、
    クライアントからの要求を受け取るように動作可能に構成され、クッキーのセットに対する前記要求を調べる中間サーバと、
    前記中間サーバに動作可能に接続され、受け取られた前記要求を満たすためにクッキーを検索し、前記要求が受け取られる期間に基づいてクッキー値に対する有効期限を設定し、1つのクッキーを形成するためにクッキー名及び前記有効期限を含む前記クッキー値に一意的な識別子のセットを加え、前記中間サーバを介して前記クライアントに前記要求に対する応答を送る、ように構成されたウェブ・アプリケーション・サーバであって、前記応答が前記要求及び前記クッキーに対応したデータを含み、前記応答が前記中間サーバにキャッシュされ、前記応答に含まれる前記データの有効性が前記有効期限に関連付けられる、ウェブ・アプリケーション・サーバとを含み
    前記ウェブ・アプリケーション・サーバが、前記有効期限が切れたとき、前記中間サーバにキャッシュされた前記データを消去または無効にする、コンピュータ・システム。
  11. 前記クッキーの前記一意的な識別子のセットが前記要求に含まれていないという決定に応答して、前記中間サーバが前記要求を前記ウェブ・アプリケーション・サーバに送る、請求項10に記載のコンピュータ・システム。
  12. 前記中間サーバが前記データのセットに対するクライアント・アクセスを可能にし、前記クッキーの前記一意的な識別子のセットが前記要求に含まれているという決定に応答して前記要求を取り消す、請求項10に記載のコンピュータ・システム。
  13. コンピュータが使用可能な媒体に含まれ、クッキーを生成するためのコンピュータ使用可能プログラム・コードを含むコンピュータ・プログラムであって、前記コンピュータに、
    要求を受け取ったことに応答して、前記要求を満たすためにクッキー値を検索するステップと、
    前記要求を受け取る期間に基づいて前記クッキー値に対する有効期限を設定するステップ、
    クッキーを形成するために、一意的な識別子のセットをクッキー名及び前記クッキー値に前記有効期限と共に加えるステップと、
    前記要求に対する応答を、中間サーバを介して送るステップであって、前記応答が前記要求及び前記クッキーに対応したデータを含み、前記応答に関する前記データの有効性が前記有効期限に関連する、ステップと、
    前記有効期限が切れたとき、前記中間サーバに記憶された前記データを消去または無効にするステップと、
    を実行させる、コンピュータ・プログラム。
  14. 前記応答を受け取ったことに応答して、キャッシュ・データのセットを形成するために前記応答におけるデータを1つのロケーションにキャッシュステップであって、前記ロケーションが前記キャッシュ・データのセットに対するその後の要求に応答してパフォーマンスの改善を行うことを特徴とする、ステップと、
    前記有効期限と共に前記キャッシュ・データのセットの有効性を設定するステップであって、前記有効期限以後は前記有効性が期限切れとなる、ステップと、
    前記クッキーを前記応答と共にクライアントに返送するステップと、
    を更に前記コンピュータに実行させる、請求項13に記載のコンピュータ・プログラム。
  15. 前記要求をクライアントから受け取るステップと、
    前記クッキーが前記要求に存在するかどうかを決定するステップと、
    前記クッキーを前記要求において見つけたことに応答して、前記クッキーの前記一意的な識別子のセットが前記要求に含まれているかどうかを決定するステップと、
    前記クッキーの前記一意的な識別子のセットが前記要求に含まれているという決定に応答して、前記データのセットへの前記クライアントによるアクセスを可能にするステップと、
    を更に前記コンピュータに実行させる、請求項14に記載のコンピュータ・プログラム。
JP2007014636A 2006-01-27 2007-01-25 構成可能な期間に関するプライベート・データをキャッシュする方法及び装置 Expired - Fee Related JP4884243B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/341,651 US7765275B2 (en) 2006-01-27 2006-01-27 Caching of private data for a configurable time period
US11/341,651 2006-01-27

Publications (2)

Publication Number Publication Date
JP2007200331A JP2007200331A (ja) 2007-08-09
JP4884243B2 true JP4884243B2 (ja) 2012-02-29

Family

ID=38323387

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007014636A Expired - Fee Related JP4884243B2 (ja) 2006-01-27 2007-01-25 構成可能な期間に関するプライベート・データをキャッシュする方法及び装置

Country Status (3)

Country Link
US (2) US7765275B2 (ja)
JP (1) JP4884243B2 (ja)
CN (1) CN101035123A (ja)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7720977B1 (en) * 2003-02-11 2010-05-18 Foundry Networks, Inc. Cookie invalidation or expiration by a switch
US7847174B2 (en) * 2005-10-19 2010-12-07 Yamaha Corporation Tone generation system controlling the music system
US8516201B2 (en) * 2006-12-05 2013-08-20 Intel Corporation Protecting private data from cache attacks
US9912766B2 (en) * 2007-03-23 2018-03-06 Yahoo Holdings, Inc. System and method for identifying a link and generating a link identifier for the link on a webpage
US8612993B2 (en) * 2008-02-21 2013-12-17 Microsoft Corporation Identity persistence via executable scripts
JP5135135B2 (ja) * 2008-09-11 2013-01-30 株式会社日立製作所 アプリケーションの実行管理方法、アプリケーションを実行するサーバ計算機及び中継装置
US9088414B2 (en) * 2009-06-01 2015-07-21 Microsoft Technology Licensing, Llc Asynchronous identity establishment through a web-based application
WO2011013617A1 (ja) * 2009-07-31 2011-02-03 楽天株式会社 クッキー処理装置、クッキー処理方法、クッキー処理プログラム、クッキー処理システム及び情報通信システム
JP4913227B2 (ja) * 2010-03-29 2012-04-11 シャープ株式会社 複合機、複合機制御システム、プログラムおよび記録媒体
CN102043840A (zh) * 2010-12-13 2011-05-04 北京安天电子设备有限公司 检测追踪cookie缓存文件的方法和系统
CN103297405B (zh) * 2012-03-02 2017-01-18 阿里巴巴集团控股有限公司 一种用户识别和信息投放的方法和装置
JP2014132443A (ja) * 2012-12-04 2014-07-17 Video Research:Kk 収集サーバ及び収集方法
US9049076B1 (en) * 2013-01-07 2015-06-02 Google Inc. Content selection with privacy features
US9578125B2 (en) 2013-05-07 2017-02-21 Verisign, Inc. Systems, devices, and methods for protecting access privacy of cached content
CN104468642B (zh) * 2013-09-12 2019-07-05 腾讯科技(深圳)有限公司 浏览器缓存资源预测方法和系统、反向代理装置及浏览器
CN104717192B (zh) * 2013-12-16 2018-05-18 腾讯科技(深圳)有限公司 合法性验证方法及中间服务器
US10068014B2 (en) * 2014-02-06 2018-09-04 Fastly, Inc. Security information management for content delivery
JPWO2015129040A1 (ja) * 2014-02-28 2017-03-30 株式会社エスプランニング 多言語対応受注サーバ、多言語対応受注プログラムおよび多言語対応受注方法
US20160044123A1 (en) * 2014-08-07 2016-02-11 Greenman Gaming Limited Website application caching mechanism
WO2017167391A1 (en) * 2016-03-31 2017-10-05 Nec Europe Ltd. Method and system for preserving privacy in an http communication between a client and a server
CN108255892B (zh) * 2016-12-29 2021-11-30 北京国双科技有限公司 Cookie生命周期的计算方法及装置
CN109471639A (zh) * 2017-09-06 2019-03-15 北京国双科技有限公司 一种应用下载来源的监测方法及装置
US10997320B1 (en) * 2018-01-31 2021-05-04 EMC IP Holding Company LLC Segment-based personalized cache architecture
CN109933367A (zh) * 2019-02-03 2019-06-25 广州视源电子科技股份有限公司 小程序的Cookie实现方法、装置和计算机设备

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1019743B (zh) 1990-06-14 1992-12-30 西北大学 红外辐射治疗仪
US5875296A (en) * 1997-01-28 1999-02-23 International Business Machines Corporation Distributed file system web server user authentication with cookies
US6078956A (en) * 1997-09-08 2000-06-20 International Business Machines Corporation World wide web end user response time monitor
US7730089B2 (en) * 1998-11-16 2010-06-01 Punch Networks Corporation Method and system for providing remote access to the facilities of a server computer
KR100316288B1 (ko) 1999-08-28 2001-12-20 서평원 게이트웨이 시스템에서의 무선 인터넷 서비스 방법
KR20010070026A (ko) * 2000-01-12 2001-07-25 백종우 정보 기록 매체를 이용한 통신 접속 방법
US7243136B2 (en) * 2000-01-18 2007-07-10 Inktomi Corporation Approach for managing and providing content to users
CA2327078C (en) 2000-11-30 2005-01-11 Ibm Canada Limited-Ibm Canada Limitee Secure session management and authentication for web sites
US6748386B1 (en) 2001-04-24 2004-06-08 Nec Corporation System and method for automated construction of URL, cookie, and database query mapping
US6986047B2 (en) * 2001-05-10 2006-01-10 International Business Machines Corporation Method and apparatus for serving content from a semi-trusted server
US20030115421A1 (en) 2001-12-13 2003-06-19 Mchenry Stephen T. Centralized bounded domain caching control system for network edge servers
US7461262B1 (en) * 2002-03-19 2008-12-02 Cisco Technology, Inc. Methods and apparatus for providing security in a caching device
US7133905B2 (en) 2002-04-09 2006-11-07 Akamai Technologies, Inc. Method and system for tiered distribution in a content delivery network
US7363340B2 (en) 2002-07-18 2008-04-22 International Business Machines Corporation Method and system for generating auxiliary-server cache identifiers
US7389343B2 (en) 2002-09-16 2008-06-17 International Business Machines Corporation Method, system and program product for tracking web user sessions
US7237118B2 (en) * 2002-12-05 2007-06-26 Microsoft Corporation Methods and systems for authentication of a user for sub-locations of a network location
US6950823B2 (en) 2002-12-23 2005-09-27 International Business Machines Corporation Transparent edge-of-network data cache
US7496607B2 (en) * 2003-08-29 2009-02-24 Yahoo! Inc. Method and system for maintaining synchronization between a local data cache and a data store
US7571322B2 (en) * 2004-08-10 2009-08-04 Microsoft Corporation Enhanced cookie management
JP4728634B2 (ja) * 2004-12-06 2011-07-20 株式会社ドリーム・アーツ クライアントアクセス管理方法および装置
US20070005779A1 (en) * 2005-06-30 2007-01-04 Ebay Inc. Origin aware cookie verification systems and methods
EP1783634B1 (en) * 2005-11-02 2010-05-05 Sap Ag Method and apparatus for managing and/or retrieving information relating to a user
US20070157304A1 (en) 2006-01-05 2007-07-05 International Business Machines Corporation Method, apparatus and computer program product for automatic cookie synchronization between distinct web browsers

Also Published As

Publication number Publication date
US20070180048A1 (en) 2007-08-02
US7987242B2 (en) 2011-07-26
CN101035123A (zh) 2007-09-12
JP2007200331A (ja) 2007-08-09
US7765275B2 (en) 2010-07-27
US20100192198A1 (en) 2010-07-29

Similar Documents

Publication Publication Date Title
JP4884243B2 (ja) 構成可能な期間に関するプライベート・データをキャッシュする方法及び装置
RU2681699C1 (ru) Способ и сервер для поиска связанных сетевых ресурсов
US8612993B2 (en) Identity persistence via executable scripts
TWI505681B (zh) 用於保障非同步客戶伺服器異動之電腦實施之方法、電腦可用程式產品及資料處理系統
US8959336B1 (en) Securing locally stored web-based database data
US8429734B2 (en) Method for detecting DNS redirects or fraudulent local certificates for SSL sites in pharming/phishing schemes by remote validation and using a credential manager and recorded certificate attributes
US20110131408A1 (en) Document link security
US8181236B2 (en) Method for and apparatus for retrieving username and password in an authentication protocol
WO2014165391A1 (en) Managing redirected website login using a short address
US11503072B2 (en) Identifying, reporting and mitigating unauthorized use of web code
CN107864677B (zh) 内容访问验证系统和方法
US20080155388A1 (en) Publication service using web pages and web search engines
JP2011100489A (ja) ユーザ確認装置、方法及びプログラム
JP2010154419A (ja) 電子ファイル送信方法
JP5347429B2 (ja) ユニフォームリソースロケータ書換方法及び装置
US8127033B1 (en) Method and apparatus for accessing local computer system resources from a browser
EP3033866B1 (en) Secure transfers of files within network-based storage
CN116827648B (zh) 网站有效性检测方法、装置、设备及存储介质
JP7405251B2 (ja) 情報処理システム、情報処理方法及びプログラム
US11647036B1 (en) Advanced interstitial techniques for web security
JP5279601B2 (ja) サーバ装置、データ処理システム、フォーム処理方法、及びプログラム
JP7138279B1 (ja) 通信システム、ゲートウェイ装置、端末装置及びプログラム
JP5840180B2 (ja) 電子ファイル送信方法
Singh et al. Loop Holes in Cookies and Their Technical Solutions for Web Developers

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20091030

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110727

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110802

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111024

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

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

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

Free format text: PAYMENT UNTIL: 20141216

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees