JPH1097483A - 無状態ネットワーク・プロトコルにおける状態の保存方法および装置 - Google Patents
無状態ネットワーク・プロトコルにおける状態の保存方法および装置Info
- Publication number
- JPH1097483A JPH1097483A JP9141762A JP14176297A JPH1097483A JP H1097483 A JPH1097483 A JP H1097483A JP 9141762 A JP9141762 A JP 9141762A JP 14176297 A JP14176297 A JP 14176297A JP H1097483 A JPH1097483 A JP H1097483A
- Authority
- JP
- Japan
- Prior art keywords
- client
- state information
- program
- server
- service
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/957—Browsing optimisation, e.g. caching or content distillation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1087—Peer-to-peer [P2P] networks using cross-functional networking aspects
- H04L67/1091—Interfacing with client-server systems or between P2P systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Databases & Information Systems (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Computer And Data Communications (AREA)
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
ワールド・ワイド・ウェブ(WWW)などのネットワー
ク上で通信するコンピュータにおいて状態を保存するた
めの方法およびシステムを提供する。 【解決手段】 サービスを実行し、サービスからの出力
に含まれるすべての連結(ハイパーリンク)を識別し、
クライアントに送られる出力ですべての識別済み連結に
再帰的に状態情報を組み込むことにより、サーバからサ
ービスを要求するクライアントとの間の会話で状態が保
存される。状態情報の組込みは、サーバによって実行
し、サーバからクライアントに通信することができる。
あるいは、動的にダウンロード可能なプログラム・コー
ドを使用して、クライアント側で状態情報を組み込むこ
ともできる。追加の機能により、所定の基準に応じてサ
ービスからのデータ出力とハイパーリンクのフィルタ処
理または追加が可能になる。
Description
びコンピュータ・ネットワークに関する。詳細には、本
発明は、無状態プロトコル(stateless protocol)を介
してネットワーク上で通信しながら、状態を保存するコ
ンピュータに関する。さらに具体的には、本発明は、ハ
イパーテキスト転送プロトコル(HTTP)を使用し
て、インターネット、特にワールド・ワイド・ウェブ上
で通信するコンピュータで状態を保存するための方法お
よびシステムに関する。
存」という名称の本出願は、チュウ(Chiu)他により1
995年8月7日に出願され、「A Method for Creatin
g a Hypertext Language for a Distributed Computer
Network」という名称の第512205号(IBM整理
番号ST995025)と、ラガード(Lagarde)他に
より1995年6月7日に出願され、「Computer Netwo
rk for WWWServer Data Access over Internet」という
名称の第474571号(IBM整理番号PO9950
20)という関連米国特許出願に関連する。これらの出
願は、本出願人であるIBMに譲渡されたものであり、
全体を参照することにより本出願に組み込まれる。
が、用語によっては以下の用語解説が有用である場合も
ある。
クおよびゲートウェイからなるネットワーク。
子メールからビデオまで、インターネットが扱うデータ
を分割し、経路指定し、再構築するためにインターネッ
トが使用するパケット交換方式。
るサーバに対してコマンドを出すコンピュータである。
タがサーバである。ウェブ・サーバは、通常、1つまた
は複数のクライアントをサポートする。
ウェブ) 強調表示された該当単語または句(ハイパーリンク)上
でクリックすることにより、インターネット上で情報を
探している人が、サーバ間およびデータベース間を切り
替えることができるようにするインターネットのアプリ
ケーション。インターネットWWWサーバは、複数のク
ライアントをサポートし、情報を提供する。ウェブは、
URLでアドレス指定されたすべての資源を備えたイン
ターネットと見なすことができ、HTMLを使用してU
RLに対応する情報を表示し、他のURLに対するポイ
ント・クリック・インタフェースを提供する。
定するための方法。電子メール・アドレスのウェブ文書
バージョンであると見なすことができる。URLは、他
のものに深く埋め込まれた文書に属す場合、厄介なもの
になる可能性がある。URLへのアクセスは、ハイパー
リンクによって行うことができる。URLの一例は「ht
tp://www.arun.com:80/table.html」である。URLは
4つの構成要素を有する。左から始めて第1の構成要素
は、使用するプロトコルを指定するものであり、「:」
によってロケータの残りの部分から分離されている。次
の構成要素は、ターゲット・ホストのホスト名またはI
Pアドレスであり、これは左側の「//」と右側の
「/」または任意で「:」によって区切られている。ポ
ート番号は任意であり、左側は「:」によってホスト名
から区切られ、右側は「/」によって区切られている。
4番目の構成要素は、実際のファイル名またはプログラ
ム名である。この例の「.html」という拡張子は、これ
がHTMLファイルであることを意味する。
・リンク) 単語、句、アイコン、またはピクチャに埋め込まれたネ
ットワーク・アドレスであって、それを選択したときに
活動化されるもの。その項目に関する情報は、クライア
ントに返され、ウェブ・ブラウザを使用して表示され
る。
TML) HTMLは、ウェブ・クライアントが表示する文書を作
成し接続するためにウェブ・サーバが使用する言語であ
る。HTMLはハイパーテキスト文書を使用する。ハイ
パーテキスト文書のその他の使い方については、バーン
スタイン(Bernstein)他に対して1993年4月20
日に付与された米国特許第5204947号、バーンス
タイン他に対して1994年3月22日に付与された米
国特許第5297249号、ルイス(Lewis)他に対し
て1994年10月11日に付与された米国特許第53
55472号に記載されているが、これらの特許はいず
れもIBMに譲渡され、参照により本出願に組み込まれ
る。
P) HTTPは無状態プロトコルの一例であり、クライアン
トからサーバへのあらゆる要求が独立して扱われること
を意味する。サーバは以前の接続を一切記録していな
い。URLの先頭に「http:」がある場合は、そのファ
イルがハイパーリンクを含むことを示している。
ブ・ユーザを案内するためのマルチメディアの目次。
ーネット・ツアー・ガイドとして機能するもので、ユー
ザがインターネットで「ネット・サーフィン」する際に
使用する絵画デスクトップ、ディレクトリ、検索ツール
によって完成する。本出願のウェブ・ブラウザは、ワー
ルド・ワイド・ウェブと通信するクライアント・サービ
スである。
ウェイ・インタフェース機能を有するIBM OS/2
のウェブ・サーバまたはその他のサーバ。HTTPD
は、通常、TCP/IP結合など、イントラネット上の
マシンへのハードウェア接続およびインターネットへの
アクセスを可能にするアクセス・エージェントによって
サポートされる。
は、クライアント/サーバ通信における連結の例であ
る。連結とは、クライアントがサーバに送信できる新し
い要求である。クライアントがサーバから何かを要求す
る場合、サーバはその応答に1つまたは複数の連結を含
めることができる。サーバは、要求に応答する場合、有
効な要求になりうる1つまたは複数の連結を含むことが
できる。しかし、一般に、有用な連結は、元の要求に対
して論理的に関連するものである。
ーバは1組の連結によって各要求に応答し、クライアン
トは必ずその1組の連結から次の要求を選択する。ウェ
ブ上では、ハイパーテキスト・リンクが連結を表し、ク
ライアントはハイパーテキスト・リンクをたどるときに
会話に従事する。
た。パーソナル・コンピュータまたはワークステーショ
ンにアクセス可能な人は、インターネットに接続し、世
界中のシステムや人々と通信することができる。ワール
ド・ワイド・ウェブ(WWWまたはウェブ)は、リンク
した文書を介して地球全体に分散している豊富な情報へ
のアクセス権をユーザに提供するような、インターネッ
トの使い方の1つである。また、WWWにより、ユーザ
は、遠隔サーバ上で動作するプログラムを実行すること
もできる。この機能により、ユーザは、ハードウェアま
たはソフトウェアあるいはその両方の制約のためにユー
ザがローカルで実行することができないプログラムから
結果を得ることができる。また、ワールド・ワイド・ウ
ェブ上に遠隔格納されたプログラムをダウンロードして
実行することも可能である。これは、ワールド・ワイド
・ウェブに接続されたコンピュータにとって使用可能な
ソフトウェアの量を大幅に増大させる潜在能力を備えて
いる。
するための標準的な方法を提供するものである。プロト
コルは、ネットワークにより送受信するためにデータを
どのようにフォーマットすべきかを示す。異種マシン同
士は、標準プロトコルによりネットワーク上でシームレ
スに通信することができる。標準的なインターネット・
プロトコルの例としては、HTTP(たとえば、T. バ
ーナーズ=リー(Berners-Lee)、R. フィールディング
(Fielding)、およびH. フリスティック(Frystyk)に
よる「Hypertext Transfer Protocol -- HTTP/1.0」
(1995年9月4日)、http://www.ics.uci.edu/pub
/ietf/http/draft-ietf-http-v10-spec-03.htmlを参
照)、SMTP(たとえば、「Simple Mail Transfer P
rotocol」(RFC 821、J. B. ポステル(Postel)、Info
rmation Sciences Institute、USC、1982年8
月)、http://ds.internic.net/std/std10.txt.を参
照)、NNTP(たとえば、「Network News Transfer
Protocol: A Proposed Standard for the Stream-Based
Transmission of News」(RFC 977、B. カンター(Kan
tor)およびP. ラップスリー(Lapsley)、UC San Dieg
o and UC Berkeley、1986年2月)、http://ds.int
ernic.net/rfc/rfc977.txt.を参照)、FTP(たとえ
ば、J. ポステルおよびJ. K. レイノルズ(Reynolds)
による「FileTransfer Protocol (FTP)」(RFC 959、In
formation Sciences Institute、USC、1985年10
月)、http://ds.internic.net/std/std9.txt.を参
照)、Gopher(たとえば、F. アンクレサリア(A
nklesaria)、M. マッカヒル(McCahill)、P. リンド
ナー(Lindner)、D. ジョンソン(Johnson)、D. トリ
ー(Torrey)、およびB. アルベルティ(Alberti)によ
る「The Internet Gopher Protocol: A distributed do
cument search and retrieval protocol」(RFC 1436、
University of Minnesota、1993年3月)、http://
ds.internic.net/rfc/rfc1436.txt.を参照)、WAIS
(たとえば、F. デーヴィス(Davis)、B. カーレ(Kah
le)、H. モリス(Morris)、J. サレム(Salem)、T.
シェン(Shen)、R. ワン(Wang)、J. スイ(Sui)、
およびM. グリンバウム(Grinbaum)による「WAIS Inte
rface Protocol Prototype Functional Specificatio
n」 (v 1.5)(Thinking Machines Corporation、199
0年4月)を参照)などがある。
ワーク・プログラミングで有力なパラダイムの1つを構
成する。たとえば、W. R. スティーヴンス(Stevens)
による「Unix Network Programming」(Prentice Hall
PTR、Englewood Cliffs、NJ、1990年)や、D. E.
コマー(Comer)による「Internetworking with TCP/I
P」(vol 1.、Prentice Hall、Englewood Cliffs、NJ、
1991年)などを参照されたい。これらは、その全体
が参照により本出願に組み込まれる。サーバ・プログラ
ムは、ネットワーク上で複数のユーザによってアクセス
可能なサービスを提供する。プログラムは、サーバにメ
ッセージを送り、サーバからの応答を待つ場合、クライ
アントになる。クライアント・プロセスは、通常、ユー
ザ対話用に最適化されているが、要求されたサービスま
たはサーバの詳細な作業を把握する必要なしに、要求さ
れたサービスを使用する。ワールド・ワイド・ウェブ上
の「ブラウザ」はクライアント・プログラムを構成し、
ブラウザに情報を送り返すプログラムはサーバ・プログ
ラムを構成する。
期のいずれかで通信することができる。同期通信では、
クライアントはサーバからの応答を待ってから次の要求
を出す。非同期通信では、クライアントは、前の要求か
らサーバへの1つまたは複数の応答を受け取る前にサー
バに要求を出すことができる。
トワーク・プロトコルは無状態である。これは、クライ
アントからサーバへのあらゆる要求が独立して扱われる
ことを意味する。サーバは以前の接続を一切記録してい
ない。HTTPは無状態プロトコルの一例である。無状
態プロトコルを使用する場合の2つの利点は効率と単純
さである。しかし、クライアントとサーバとの間の通信
中に状態情報を管理する方が望ましい状況もある。この
ようなタイプの対話では、プロトコルが無状態であるた
めに問題が発生する可能性もある。
ウェブ 本発明の最も当たり前の応用例は、HTTPプロトコル
によりワールド・ワイド・ウェブをブラウズする場合で
ある。たとえば、T. バーナーズ=リー、R. フィールデ
ィング、およびH. フリスティクによる「Hypertext Tra
nsfer Protocol-- HTTP/1.0」(http://www.ics.uci.ed
u/pub/ietf/http/draft-ietf-http-v10-spec-03.html、
1995年9月4日)を参照されたい。これは、その全
体が参照により本出願に組み込まれる。しかし、当業者
であれば、本発明がHTTPに限定されないことが分か
るだろう。ウェブの関連態様や、HTTPなどのプロト
コルが無状態であることによる制約については、以下に
説明する。
ットワーク化された複数のサーバから構成されている。
クライアントは、通常、Netscape社による「NETSCAPE N
AVIGATOR」、NCSAによる「MOSAIC」、IBMによる
「WEB EXPLORER」という商標で販売されているような標
準的なブラウザを使用してサーバと通信する。クライア
ントとサーバとの間の最も一般的な通信方法は、HTT
Pプロトコルによるものである。HTTPでは、クライ
アントは、ファイルを要求するか、またはサーバ上で実
行される共通ゲートウェイ・インタフェース(CGI)
プログラムと呼ばれるプログラムを呼び出すことによ
り、サーバからデータを入手することができる。CGI
プログラミングは当技術分野では周知のものである。た
とえば、ジョン・ディセンバー(John December)およ
びマーク・ギンスバーグ(Mark Ginsburg)による「HTM
L and CGI Unleashed」(Sams.net Publishing、米国イ
ンディアナ州インディアナポリス、1995年)などを
参照されたい。サーバは、ファイルまたはCGIプログ
ラムからの出力をクライアントに送信する。サーバは、
通常、クライアントがアクセスできるファイルおよびプ
ログラムを制限する。
プ言語(HTML)を使用してクライアントに情報を送
るが、たとえば、イアン・S. グレアム(Ian S. Graha
m)による「The HTML Sourcebook」(John Wiley & Son
s, Inc.、ニューヨーク、1995年)などを参照され
たい。これは、その全体が参照により本出願に組み込ま
れる。HTML文書は、表示すべき情報の間にHTML
マークアップ・タグが散在する従来のASCIIテキス
トで構成される。このようなタグは、より大とより小の
不等号(<・・・>)で囲まれ、文書の各種部分をどの
ように解釈するかをブラウザに指示するものである。ブ
ラウザは、インターネット上の情報を明確に識別するか
またはアドレス指定するためにURLを使用する。ブラ
ウザは、マークアップ・タグに格納された命令に従うこ
とにより、URLに対応するHTML文書を読み取り、
それを表示する。
(表1)は、1996年6月3日のIBM T.J.ワ
トソン研究所のウェブ・ホーム・ページに対応するHT
MLテキストを示している。このウェブ・ページは、
「http://www.watson.ibm.com/」というURLに対応す
る。このページにアクセスしている標準のブラウザに表
示されると思われる対応出力については、図1に示す。
TITLE> <meta name="owner" content="calyson@watson.ibm.co
m"> <meta name="review" content="19960202"> </HEAD> <BODY> <IMG SRC="/watson/mast.gif" alt="Research"> <p> <h1>IBM T.J. Watson Research Center</h1> <p> <IMG SRC="/watson/night.gif" ><IMG SRC="/watson/ha
w2.gif" > <br> <i>T.J. Watson Research Center: Yorktown (left) an
d Hawthorne.</i> <p> <ul> <IMG align=middle SRC="/watson/bullet.gif" ><A HRE
F="/watwel.html" >Welcom!</a> <br> <IMG align=middle SRC="/watson/bullet.gif" ><A HRE
F="/leo" >Local Education Outreach</a> <br> <IMG align=middle SRC="/watson/bullet.gif" ><A HRE
F="/menu.html" >Visitor info and local site direct
ions</a> <br> <IMG align=middle SRC="/watson/bullet.gif" ><A HRE
F="/lodging.html" >Local hotels</a> <br> <IMG align=middle SRC="/watson/bullet.gif" ><A hre
f="http://www.ibm.com">IBM home page</a> -- <A hre
f="http://www.research.ibm.com">IBM Researchhome p
age</a> <br> </ul> <p> <hr> <A HREF="/watson/mail.html" ><IMG align=middle SRC="/research/images/mail.gif" ></a><b>Click on i
con to send your comments.</b> <p> Or, contact<i>webmaster@watson.ibm.com</i> <p> <hr> <Address><homepage@watson.ibm.com></address> <b> [ <A href="http://www.ibm.com/">IBM home page</a>| <A href="http://www.ibm.com/Orders/">Order</a>| <A href="http://www.austin.ibm.com/search/">Search
</a>| <A href="http://www.ibm.com/Assist/">Contact IBM</
a>| <A href="http://www.ibm.com/Finding/">Help</a>| <A href="http://www.ibm.com/copyright.html">(C)</a
>| <A href="http://www.ibm.com/trademarks.html">(TM)<
/a> ] </b> </BODY> </HTML> 表1: IBM T.J.ワトソン研究所のホーム・ペ
ージに対応するHTMLソース・コード
は、表示中の文書のHTMLソース・コードを表示させ
ることができる。表1のHTMLテキストは、IBM
T.J.ワトソン研究所にあるウェブ・サーバにアクセ
ス可能なファイルに格納されている。このウェブ・サー
バは、「http://www.watson.ibm.com/」というURLの
要求を受け取ると、適切なファイルをクライアントのブ
ラウザに送る。次にクライアントのブラウザは、そのH
TMLファイルを読み取り、表示する。(表1はいくつ
かの関連リンクを含んでいる。ハイパーテキスト・リン
クおよびイメージ・ファイルは、そのファイルが特定の
ディレクトリに格納されている場合のみ有効である。た
とえば、表1の「night.gif」ファイルが任意の位置に
格納されている場合、ハイパーテキスト・リンクは無効
になり、関連イメージは表示されなくなる。)
rections」という行は、ハイパーテキスト・リンク(ハ
イパーリンクともいう)の一例である。標準のブラウザ
によって表示されると思われる対応出力については図1
に示す。ブラウザによって表示されたときに図1に示す
ようにこのリンクでユーザがクリックすると、新しいH
TMLファイル「menu.html」がサーバから取り出さ
れ、ブラウザによって表示される。ローカル・サーバ上
と遠隔サーバ上の文書へのハイパーテキスト・リンク
は、どちらも1つのHTMLファイルに入れることがで
きる。世界中のサーバ上の文書をリンクするためにハイ
パーリンクをHTMLファイル内に組み込む能力は、ワ
ールド・ワイド・ウェブの主な特徴の1つである。すな
わち、ウェブ・ブラウザを使用すると、ハイパーテキス
ト・リンクをポイントし、クリックするだけで、世界中
のサーバからの情報にアクセスすることができる。
/サーバ通信の「連結」の例であることを思い出してい
ただきたい。連結とは、クライアントがサーバに送るこ
とができる新しい要求である。クライアントがサーバか
ら何かを要求する場合、サーバは、その応答に1つまた
は複数の連結を含めることができる。連結は有効な要求
を表すことができるはずである。しかし、一般に、有用
な連結は元の要求に論理的に関連している。良好な1組
の連結により、クライアントがサーバと同期通信するこ
とが容易になる。各要求後、サーバは1組の連結で応答
する。クライアントは次の要求のためにその連結のうち
の1つを選ぶ。「会話」とは、クライアントとサーバと
の間の一連の通信であり、そこでサーバは1組の連結で
各要求に応答し、クライアントは必ず1組の連結から次
の要求を選択する。
が連結を表し、クライアントはハイパーテキスト・リン
クをたどるときに会話に従事する。クライアントがハイ
パーテキスト・リンクをたどらずに、新しいURLを明
示的に要求することによって新しいページを獲得する
と、会話は中断される。中断した会話に対応するページ
が依然としてクライアントにとって使用可能である場
合、たとえば、ブラウザ・キャッシュ内またはディスク
・メモリ内にある場合、中断した会話を続行することは
可能である。そうである場合、そのページを再ロード
し、引き続きハイパーリンクをたどることにより、会話
を続行することができる。クライアントは、同一会話中
に複数のサーバと通信することができる。
のHTMLページであるp1、p2、・・・、pnによ
って会話が構成される。 1.p1、p2、・・・、pnがすべてクライアントに
よって表示された場合。 2.I<i≦nになるようなすべてのiについて、ペー
ジpi−1上のハイパーテキスト・リンクをたどること
によって、ページpiが獲得された場合。
り」せずにページp1からpnまで獲得するためにn−
1のハイパーテキスト・リンクをたどるだけである。中
断会話では、クライアントは少なくとも1回は後戻りす
る。後戻りとは、クライアントが次のように行うことで
ある。 1.まず、ページpiを訪れる。ただし、I≦i<nで
ある。 2.ハイパーリンクをたどるかまたは明示的にURLを
アドレス指定することにより、他のページを表示する。 3.メモリからpiを再ロードすることにより、ページ
piに戻る(piがまだ使用可能であると仮定する)。
イアントが1つのページを複数回要求しても、サーバは
前の接続の履歴または知識を管理していない。クライア
ントがHTMLファイルを要求する場合、クライアント
がその要求によって追加の情報を通信するための手段は
まったくない。したがって、ウェブ環境では、クライア
ントがHTMLファイルをブラウズしている間に会話全
体にわたって状態情報を保存する必要性が存在する。本
発明はこのような必要性に対処するものである。
処理するサーバについて検討する。正常に機能するため
に、サーバは、クライアントのユーザIDや、現行トラ
ンザクション番号に対応するトランザクション番号など
の状態情報を必要とする。したがって、会話においてハ
イパーリンクをたどることにより、クライアントがHT
MLファイルをブラウズする間、この情報を保存する必
要性がある。本発明はこのような必要性に対処するもの
である。
GIプログラムの使用を必要とする。クライアントは、
それに引数を渡すことによってCGIプログラムを呼び
出すことができる。たとえば、http://tranman.watson.
ibm.com/cgi-bin/get-args?var1=7&var2=10というコマ
ンドは、変数var1=7およびvar2=10を渡し
てCGIプログラムを呼び出すものである。クライアン
トが変数をCGIプログラムに渡すために正確な構文に
従うと予想することは厄介なことである。もっと使い易
い方法は、HTMLの「用紙」によりユーザが引数を入
力できるようにする方法である。ウェブ・ブラウザによ
って表示されるHTML用紙の例は図2に示す。ユーザ
は、適切なフィールドに記入し、送信ボタンをクリック
することによってサーバに情報を送信する。ユーザがタ
イプした値は、引数としてCGIスクリプトに渡され
る。「用紙」は、CGIプログラムに引数を渡すための
便利なインタフェースになる。クライアントは、呼び出
しているCGIプログラムの詳細や、プログラムが予想
する引数のフォーマットを知っている必要がない。
変数を渡すことができる。また、サーバも用紙を使用し
てクライアントに変数を渡すことができる。用紙は、ク
ライアントに対して表示されず、クライアントが用紙を
受渡ししたときにサーバに戻される隠し変数を含むこと
ができる。通常、ウェブ・サーバは、用紙内の隠し変数
として状態変数を渡すことにより、状態を保存する。ク
ライアントが用紙を受渡しすると、用紙を受け取るサー
バは、隠しフィールドから状態変数を得ることができ
る。
サーバがクライアントと通信していると想定する。トラ
ンザクション・サーバは、クライアントとの会話の残り
の部分のためにクライアント・ユーザIDとセッション
IDを入手する必要がある。サーバは、クライアントか
ら受渡しされた用紙からクライアントのユーザIDを得
ることができる。この用紙はCGIプログラムを呼び出
し、次にそのプログラムがセッションIDを生成する。
サーバからの後続応答はそれぞれ1つの用紙になる。こ
の用紙は、動的に生成されるものであり、隠し変数とし
て組み込まれたユーザIDとセッションIDを含む。ク
ライアントは、サーバが生成した用紙を完成し、受渡し
することによって応答する。
存するための現行方法の例を示している。図示の通り、
サーバ410は、動的に生成されたHTML用紙420
への隠し引数に状態変数を組み込む。状態変数425
は、クライアント450とサーバ410との間でやりと
りされる。クライアント450とサーバ410は、用紙
を使用して状態情報425をやりとりする。サーバ41
0は、大急ぎでHTML用紙420を作成し、隠しフィ
ールドに状態変数425を組み込むことにより、クライ
アントに状態情報を渡す。クライアント450は、サー
バ410が生成した用紙420’を完成し、受渡しする
ことにより、サーバに状態情報425を返す。
の間の対話のタイプが厳重に制限されることである。サ
ーバ410は、必ず、隠し変数425を含む動的に生成
したHTML用紙420によってクライアント450に
応答しなければならない。クライアントがHTMLファ
イルをブラウズしている間、状態を保存するための手段
はまったくない。たとえば、クライアントがセッション
の途中でカタログをブラウズしたいと望んでいると想定
する。このカタログはHTMLファイルから構成されて
いる。現行技術を使用すると、クライアントが状態情報
を失わずにカタログ(内の各種HTMLファイル)をブ
ラウズできるようにするための手段はまったくない。サ
ーバにより、クライアントがカタログを表示させること
によって会話を続行できるようになっている場合、クラ
イアントがカタログからHTMLファイルにアクセスす
ると、ただちに状態情報が失われる。
ライアントがカタログをブラウズできる、すなわち、各
種HTMLファイルにアクセスできるようにするための
システムおよび方法の必要性が存在する。本発明は、カ
タログを構成するHTMLファイルが各種サーバ上に存
在しているかどうかにかかわらず、このような必要性に
対処するものである。
いては、これ以外にも注目されている。たとえば、「Pe
rsistent Client State HTTP Cookies」(Netscape Com
munications Corporation、1996年、http://home.n
etscape.com/newsref/std/cookie_spec.html)を参照さ
れたい。また、「Proposed HTTP State-Info Mechanis
m」(D. M. クリストル(Kristol)、AT&T Bell Labora
tories、1995年9月22日、http://www.research.
att.com/〜dmk/session01.txt.)、M. カトラー(Cutle
r)およびD. ホール(Hall)による「August 1995 Web
Watch」(http://www.netgen.com/corpinfo/press/webw
tchv6n8.html)も参照されたい。状態を保存するために
HTTPプロトコルを変更しそうなKristol提案の解決
策とは異なり、本発明では、基礎となるプロトコルに変
更を加える必要なしに、状態を保存する。
つの解決策は、同社のブラウザにクッキー(Cookies)
と呼ばれる機能を追加することであった。「Persistent
Client State HTTP Cookies」(Netscape Communicati
ons Corporation、1996年、http://home.netscape.
com/newsref/std/cookie_spec.html)を参照されたい。
この場合、サーバは、クッキーと呼ばれる状態オブジェ
クトをその応答に付加することにより、HTTP要求を
満足することができる。クッキーは、その状態が有効に
なるURLの範囲の記述を含む。また、クッキーは、ク
ライアント上で動作しているNetscapeブラウザによって
格納される。今後、クッキーに指定されているURLの
1つにクライアントがHTTP要求を行うと、その要求
には、クッキーに格納された状態オブジェクトをクライ
アントからサーバに返送することが含まれることにな
る。
態の保存を望んでいるサーバ・アプリケーションは、そ
の状態を使用する可能性のあるすべてのURLのリスト
を提供しなければならない。これは厄介なことであり、
ときには不可能な場合もある。また、クッキーには、状
態情報と特定の会話とを相関させる方法が欠落してい
る。たとえば、ブラウザが2つの別々の会話で同一UR
Lにアクセスしていると想定する。第1の会話では、状
態情報は、URLにアクセスしたときに存在し、クッキ
ーを介してサーバに渡される。第2の会話では、URL
にアクセスしたときに状態情報は一切存在しない。しか
し、前のクッキーが依然として存在し、前の状態が依然
としてサーバに渡される。これは、サーバを混乱させ、
前の状態情報が依然として新しい会話に適用されると思
わせる恐れがある。もう1つの問題は、クッキーが標準
の機能ではなく、Netscapeのプロトコルをサポートする
サーバおよびブラウザでしか機能しないことである。
の使用を必要とするURLのリストに限定されず、古い
状態情報をサーバに渡すという問題を回避するために状
態情報が特定の会話と相関されるような、無状態プロト
コルで状態を保存するための方法およびシステムの必要
性が存在する。しかも、HTTPプロトコルをサポート
するブラウザで機能し、クライアントまたはサーバ上で
標準外の特殊機能を必要としないような、HTTPなど
のプロトコルで状態を保存するシステムの必要性が存在
する。
に応じて、無状態プロトコルを使用してネットワーク上
で通信するコンピュータの状態を保存するための方法お
よびシステムに関する。好ましい実施例はハイパーテキ
スト転送プロトコル(HTTP)を使用してワールド・
ワイド・ウェブ(WWWまたはウェブ)により通信する
コンピュータ用であるが、本発明は、他の形式のネット
ワーク化通信にも適用される。
ービスは、クライアントが呼び出すプログラムであると
想定する。1つのサービスは可変数の引数を受け入れる
ことができる。会話は、サービスに関するクライアント
と1つまたは複数のサーバとの間の一連の通信であり、
サーバからの各応答は別のサービス要求を可能にする1
つまたは複数の連結を含み、クライアントは会話を続行
するためにその連結のうちの1つを呼び出さなければな
らない。
イアントに対してネットワーク化された1つまたは複数
のサーバからサービスを要求できるようになっているク
ライアントとの間の会話で状態情報を保存するような本
発明の機能を有するコンピュータ化した方法、システ
ム、コンピュータ・プログラム製品は、クライアントが
無状態プロトコルを使用してサーバとの会話を開始する
ことと、サービス要求が状態情報の保存を必要とする時
期を検出することと、状態を保存すべきときに、サービ
スを実行し、サービスからの出力に含まれるすべての連
結を識別することと、すべての識別済み連結に再帰的に
状態情報を組み込むことと、出力をクライアントに通信
することとを含み、会話の持続期間中に状態情報が保存
され、すべてのサービスに提供される。
込みは、サーバによって実行され、サーバからクライア
ントに通信される。本発明の他の態様は、サーバに結合
されたメモリに状態情報の少なくとも一部を格納するこ
とと、すべての識別済み連結に状態情報の一部を表すイ
ンデックスを組み込むこととを含む。
アントに通信されるサービスからの出力に状態情報を組
み込むために、コンピュータ・プログラム・コードをク
ライアントに動的にダウンロードすることを含む。本発
明のさらに他の態様は、クライアントに結合されたメモ
リに状態情報の少なくとも一部を格納することと、格納
済みの状態情報を表すインデックスを組み込むこととを
含む。
ワイド・ウェブ上でウェブ・ブラウザを使用してハイパ
ーテキスト・リンクを移動する間に状態を保存すること
ができる。ハイパーテキスト・リンクは連結を構成す
る。クライアント・ブラウザは、新しいページを取り出
すためにハイパーテキスト・リンクをたどることによ
り、会話を追跡する。本発明は、会話により状態変数を
保存するような機能を有する。本発明の一態様によれ
ば、会話全体にわたって保存すべき状態変数は、会話全
体にわたって呼出し可能なあらゆるCGIプログラムに
渡される。
アントとサーバをネットワーク化し、無状態プロトコル
がハイパーテキスト転送プロトコル(HTTP)であ
り、連結が、ハイパーテキスト・マークアップ言語(H
TML)ファイルおよび共通ゲートウェイ・インタフェ
ース(CGI)プログラムの1つへのハイパーリンクで
ある場合、本発明は、所定の基準に応じてサービスから
のデータ出力とハイパーリンクのフィルタ処理または追
加あるいはその両方を可能にするような機能を有する。
状態情報を組み込むための本発明のさらに他の態様は、
識別済み連結と引数として渡された状態情報によりCG
I変換プログラムを呼び出すためにHTMLファイルを
求める要求である識別済み連結を変更することを含む。
状態情報を組み込むための本発明のさらに他の態様は、
識別済み連結と引数として渡された状態情報によるCG
Iプログラムへの呼出しである識別済み連結を変更する
ことを含み、組込みステップはCGIプログラムによっ
て実行される。状態情報を組み込むための本発明の他の
態様は、識別済み連結によりCGI変換プログラムを呼
び出すためのCGIプログラムへの呼出しである識別済
み連結と、CGIプログラムに関連する引数の数を示す
引数カウンタと、引数として渡された状態情報とを変更
することを含み、組込みステップは変換プログラムによ
って実行される。
点は、添付図面に関連して以下に示す詳細な説明から明
らかになるだろう。
りネットワーク上で通信するコンピュータ用の機能付与
技術である。好ましい実施例はハイパーテキスト転送プ
ロトコル(HTTP)を使用してワールド・ワイド・ウ
ェブ(WWWまたはウェブ)により通信するコンピュー
タ用であるが、本発明は、他の形式のネットワーク化通
信にも適用される。
を保存するための本発明による一般的な方法を示すが、
これはワールド・ワイド・ウェブ上で通信するクライア
ントとサーバに制限されるものではない。後述する好ま
しい実施例は、特にワールド・ワイド・ウェブに適用さ
れる。この場合、簡略化のため、クライアントのために
サーバが実行するサービスは、クライアントが呼び出す
プログラムであり、1つのサービスは可変数の引数を受
け入れることができるものと想定する。
アントがサーバからサービスを要求する。ステップ50
5、510、515によって表される経路は、提供され
るサービスが状態保存を必要としない場合に取られるは
ずである。ステップ510では、任意の時点で、サーバ
は要求を処理し、その要求に関して、現行会話で呼出し
可能なすべてのサービスにとって状態変数が使用可能で
ある必要があるかどうかをサーバが判定する。次にサー
バは、その出力と、<state-variable-list>で示される
状態変数のすべてを、convert1で示されるプログラムに
渡し、処理はステップ520に移行する。ステップ52
0でconvert1プログラムは、サービスが生成した連結を
変更するが、その他のデータはすべて未変更のままクラ
イアントに返す。
下では、プログラムservice1への呼出しを表す連結は以
下のような形式になるはずである。 service1 <service-arg-list> (1) ただし、service1 605はサービスであり、<service-
arg-list>はクライアントが連結を選んだ場合にサービ
スに渡されるサービス引数610のリストである。図6
に示すように、本発明のconvert1プログラムは、各連結
(1)を以下の形式になるように変更することにより、
状態を保存する。 convert2 service-string <state-variable-list>, (2) ただし、convert2 650は特殊サービス(後述する)
への呼出しであり、service-string680はservice1
605および<service-arg-list> 610と、図6に示
すconvert2への呼出しにおいてサービス引数610を<s
tate-variable-list>670から区別するための何らか
の区切り情報685とを含むストリングである。<state
-variable-list>670は、会話の持続期間中に保存
し、すべてのサービスに使用可能なものにするべき状態
情報を表す。
5でクライアントは、サーバから送信された出力と変更
済み連結とを受け取る。この場合、会話に関する各変更
済み連結は、(2)に示すようなconvert2プログラムへ
の呼出しになる。ステップ540でクライアントは出力
を検査する。連結を選択した場合、プロセスはステップ
500に戻り、そこで(変更済み)サービス要求がサー
バに送られる。ステップ505でサーバは、変更済みサ
ービス要求を処理し、convert2プログラムを呼び出し、
処理はステップ530で続行する(前のステップ520
の明示的な組込み呼出しによる)。ステップ530で
(図5および図6を参照)convert2プログラムは、サー
ビス605と、service-string680からサーバに渡さ
れた引数(<service-arg-list>)610とを解析する。
convert2プログラム650は、<service-arg-list>61
0ならびに<state-variable-list>に関するすべての変
数をそれに渡すことにより、要求したサービス605
(ここではservice1)を呼び出す。このようにして、se
rvice1は、必要に応じてすべての状態変数にアクセスす
ることができる。ステップ535でconvert2プログラム
は、サービス(service1)出力を受け取り、その出力と
<state-variable-list>をconvert1に渡す。ステップ5
20でconvert1は、前述のようにそれぞれの連結を変更
する。この場合も出力はステップ525でクライアント
に通信され、プロセスは、会話の持続期間中に保存され
た状態情報670を使って反復する。
ンザクションを行うための本発明の機能を有するシステ
ムの一実施例を示している。ウェブ・サーバ410’
は、インターネットにより商品を販売するビジネスを可
能にするものである。顧客は、標準のブラウザ460を
実行しているクライアント450を介してサーバ41
0’にアクセスする。安全に通信するため、「ブラウ
ザ」460は、SSLを使用して通信できなければなら
ない。たとえば、A. O. フライヤー(Freier)、P. カ
ールトン(Karlton)、P. C. コヒー(Kocher)による
「The SSLProtocol Version 3.0」(Internet Draft、
1996年3月、http://home.netscape.com/eng/ssl3/
ssl-toc.html)を参照されたい。これは、その全体が参
照により本出願に組み込まれる。ただし、一部のサービ
スは、SSLをサポートしないブラウザによって使用す
ることができる。ユーザは、直接アクセス記憶装置(D
ASD)470などの安定した記憶媒体上に格納可能な
カタログをブラウズすることができる。従来のカタログ
と同様、ユーザは製品説明をブラウズし、自分の購入リ
ストに追加すべき品目を探し、選択することができる。
購入リストが完成したと判定すると、ユーザは購入をコ
ミットし、後で請求を受ける。
庫、データベース475に格納された製品に関する情報
を管理するために、従来のデータベース管理システム
(DBMS)412を含むことができる。DBMSの例
としては、「DB2」という商標でIBMから販売され
ているものがある。さらに、サーバ410’は、ユーザ
が会話の最中に製品カタログをブラウズできるようにす
る。サーバ410’は、製品カタログのフォーマットに
ついてはほとんど想定していない。カタログは、HTM
Lファイル425ならびに従来のCGIプログラムから
構成することができる。このようなファイルやプログラ
ムは、ローカルまたは遠隔サーバに関連付けることがで
きる。ユーザIDおよびセッションIDなどの状態情報
は、会話中にサーバ410’とクライアント450との
間で管理しなければならない。本発明は、会話中にこの
状態情報を透過的に管理するための改良された方法およ
びシステムを提供する。
関連する「ホーム・ページ」にアクセスすると同時に製
品カタログを表示させることができる。製品を購入する
か、顧客情報を更新するか、または所与のタイプの情報
にアクセスするためには、ユーザIDとパスワードを入
力することにより、ユーザが認証を行えるようにするこ
とが必要である。本発明によれば、認証は1回の会話当
たり1回だけ必要になる。ユーザが認証されると、ただ
ちに本発明の変換プログラム416により、ユーザID
が会話に組み込まれる(保存される)。
しながらHTTPを使用してサーバ410’と対話する
ための本発明による方法の一例を示している。図示の通
り、ステップ700でクライアントは、サーバ410’
上に存在するホーム・ページにアクセスする。ステップ
710でクライアントは、製品カタログのブラウズを開
始し、ステップ720で、オンライン製品カタログから
ハイパーリンクを選択することなどにより、カタログ商
品のブラウズを続行する。カタログをブラウズするため
だけであれば、認証は一切不要なので、通信は無状態に
なり、カタログをブラウズできる人数は最大になる。ス
テップ730では、購入リストに追加すべき品目を見つ
ける。次にステップ740でクライアントは、続行する
ためにユーザIDとパスワードを入力しなければならな
い。クライアントがそのシステムに初めてアクセスした
場合、クライアントはユーザIDとパスワードを選び、
何らかの追加の任意情報(住所、電話番号など)をサー
バに提供する。ステップ745で変換プログラム416
は、本発明によりユーザIDとセッションIDを会話に
組み込む。ステップ750でユーザは、追加の製品を表
示させ、追加品目を購入リストに追加し、購入をコミッ
トし、データベース情報を表示し更新することができ
る。有利なことに、状態変数は保存され、再認証は不要
である。状態情報、すなわち、ユーザIDとセッション
IDは保存され、会話の残りの部分で呼び出されるあら
ゆるCGIプログラムにとって使用可能なものになる。
は、購入リストへの新しい品目の追加など、認証を必要
とするアクションを試みるたびに、ユーザIDとパスワ
ードを再入力しなければならないことを思い出していた
だきたい。セッションIDの場合は、認証が必要なとき
にセッションIDを思い出してそれを入力するようサー
バがクライアントに指示しなければならないので、困難
がさらに増大するはずである。
存されるURLの範囲が制限されることも思い出してい
ただきたい。さらに、クッキーの使用では、古い状態情
報がサーバに提供される恐れがある特定の会話と状態情
報とを相関させる能力が欠落している。最後に、クッキ
ーは、特定のブラウザの使用を必要とし、クライアント
またはサーバ上で特殊機能または標準外の機能を必要と
する可能性がある。
方法ステップ745で状態を保存するための本発明によ
る方法のより詳細な例を示している。サーバ410’
は、TCP/IP結合などの典型的なインターネット接
続部およびアクセスを含む、従来のウェブ・サーバであ
り、HTMLおよび共通ゲートウェイ・インタフェース
(CGI)機能413をさらに有するものと想定する。
ブ・ブラウザ460を実行しているクライアント450
が(無状態プロトコル)HTTPを介してサービスを要
求するためにウェブ・サーバ410’へのハイパーリン
クを選択したと想定する。ステップ810でサーバ41
0’は、たとえば、CGIプログラム「p1」415へ
の呼出しとしてそのURLを解釈し、そのプログラム
は、会話から呼出し可能なすべてのCGIプログラムに
アクセス権が与えられるように「x1、x2、・・・、
xn」などの状態変数を会話に組み込む必要があるかど
うかを判定する。p1は、クライアント450が会話を
続行するためにハイパーテキスト・リンクを備えたHT
MLページ「h」を生成する。出力であるページ「h」
を未変更のままクライアントに返す代わりに、「p1」
は、変換プログラムのconvert1モジュールに引数「h、
x1、x2、・・・、xn」を渡すことにより、本発明
の変換プログラム416を呼び出せるようになってい
る。convert1への呼出しは、以下のような形式になって
いるはずである。 convert1 'h, x1,x2,...,xn'
ラムのconvert1モジュールは、状態変数を保存するため
にh内のHTMLへのハイパーテキスト・リンクをすべ
て変更する。すべての相対ハイパーテキスト・リンク
は、絶対ハイパーテキスト・リンク(ハイパーリンクと
もいう)に変換される。相対/絶対アドレス変換方式の
例については、1995年8月7日に出願され、チュウ
他による「A Method forCreating a Hypertext Languag
e for a Distributed Computer Network」という名称
で、参照により組み込まれる上記の関連米国特許出願第
512205号(IBM整理番号ST995025)を
参照されたい。上記のように、これらの出願は本出願人
に譲渡されたものである。当業者であれば、HTMLフ
ァイルへのリンクの変更(ステップ811)とCGIプ
ログラムへのリンクの変更(ステップ812)が本発明
の範囲および精神の範囲内の1パスまたは2パス・プロ
セスで実行可能であることが分かるだろう。
ラム416のconvert1モジュールは、HTMLページh
を取り、状態変数を保存するためにHTMLファイルへ
のすべてのハイパーテキスト・リンクを変更する。HT
MLファイルへのハイパーテキスト・リンクは、h、x
1、・・・、xnからなる引数を指定したCGIプログ
ラムconvert2への呼出しになるように変更することがで
きる。図10に関連し、たとえば、hがHTMLファイ
ル915「mail.html」への以下の参照を含むことを考
慮し、状態変数930がx=32とy=45であると想
定する。 <A HREF=「http://www.watson.ibm.com/mail.html"> これは、convert1論理によって図11に示す形式に変更
されるはずである。 <A HREF="http://www.watson.ibm.com/cgi-bin/convert
2?url=//www.watson.ibm.com/mail.html&x=32&y=45">
ert1モジュールは、CGIプログラムへのすべてのハイ
パーテキスト・リンクを変更する。ただし、CGIプロ
グラムへの呼出しであるハイパーテキスト・リンクは、
以下の2通りの方法で状態変数を保存することができる
ことに留意されたい。 (a)図13に示すように、CGIプログラム940に
状態変数930’を渡すが、CGIプログラムによって
生成されたハイパーテキスト・リンク内に状態変数を組
み込まない。すなわち、convert2への呼出しを組み込ま
ない。CGIプログラムは、この手法を使用して、それ
が生成したハイパーテキスト・リンク内での状態の伝播
を担当する。 (b)好ましくは、図15に示すように、状態変数93
0’をCGIプログラム950に渡し、CGIプログラ
ムによって生成されたハイパーテキスト・リンク内に
(変換プログラム920’への組込み呼出しにより)状
態変数を組み込む。
に、変換プログラムは、本発明の範囲内の様々な技法の
1つに基づいて、CGIプログラムを区別する方法を決
定することができる。たとえば、図12に示すように、
その名前が「type」というサブストリングで始まるCG
IプログラムはタイプIのCGIプログラムと見なすこ
とができ、第1の方法(a)を使用して処理されるとい
う、命名規則を使用することもできる。その名前が「ty
pe」というサブストリングで始まらないサブストリング
は、タイプIIのCGIプログラムと見なすことができ、
第2の方法(b)を使用して処理される。
のCGI呼出しの以下の例について検討する。 <A HREF="http://www.watson.ibm.com/cgi-bin/type1?a
rg1=55"> ここで、状態変数がx=32とy=45であると想定す
る。変換プログラム416は、(図13に示すように)
以下の形式になるようにハイパーテキスト・リンクに状
態変数930’を付加するはずである。 <A HREF="http://www.watson.ibm.com/cgi-bin/type1?&
arg1=55&x=32&y=45">
Iプログラムへのハイパーテキスト・リンクの例につい
て検討する。 <A HREF="http://www.watson.ibm.com/cgi-bin/prog?ar
g1=55"> この場合も、状態変数930”がx=32とy=45で
あると想定する。変換プログラムは、(図15に示すよ
うに)以下の形式になるようにこのハイパーテキスト・
リンクを変更するはずである。 <A HREF="http://www.watson.ibm.com/cgi-bin/convert
2?url=//www.watson.ibm.com/cgi-bin/prog&numargs=1&
arg1=55&x=32&y=45"> ただし、「numargs=1」という引数970は、CGIプ
ログラム950には最初に1つの引数だけが渡され、残
りの引数は変換プログラムによって渡される状態変数9
30”であることをconvert2に示すものである。次に、
変更された出力は要求側クライアントに返される。ステ
ップ813でクライアント450は、サーバ410’か
らHTMLファイルhを受け取る。次に、クライアント
に戻るあらゆるハイパーテキスト・リンク(タイプ1の
CGIプログラムの結果であるハイパーテキスト・リン
クは除く)は、変換プログラムのconvert2ルーチンへの
呼出しになる。ステップ814では、ブラウザ460を
実行しているクライアント450がハイパーテキスト・
リンクのうちの1つを選択する。ステップ815でサー
バは、選択したハイパーテキスト・リンクがconvert2へ
の呼出しであるかどうかを判定する。YESである場
合、プロセスはステップ817で続行する。ステップ8
17には、2通りの可能性がある。 (1)convert2に渡されるURLはHTMLファイルを
参照するものである。この場合、プロセスはステップ8
19で続行する。たとえば、クライアントが以下のリン
クを選択したと想定する。 <A HREF="http://www.watson.ibm.com/cgi-bin/convert
2?url=//www.watson.ibm.com/mail.html&x=32&y=45"> ステップ819でconvert2は、ファイル「mail.html」
に含まれるHTMLページを取り出す。次にこれは、変
換プログラムのconvert1モジュールにそのHTMLペー
ジと状態引数x=32、y=45を渡し、プロセスは前
述のようにステップ811に戻る。 (2)ハイパーテキスト・リンクはCGIプログラムへ
の呼出しになる。この場合、プロセスはステップ818
に移行する。たとえば、クライアントが以下のリンクを
選択したと想定する。 <A HREF="http://www.watson.ibm.com/cgi-bin/convert
2?url=//www.watson.ibm.com/cgi-bin prog&numargs=1&
arg1=55&x=32&y=45">
numargs=1は、初期ハイパーテキスト・リンクが「pro
g」に1つの引数、すなわち、「arg1=55」しか渡してい
ないことを示している。残りの2つの引数である「x=3
2」と「y=45」は、変換プログラム416によって組み
込まれた状態変数である。convert2は、状態変数を含
む、3つの引数をすべてprogに渡す。次にプロセスは、
前述のようにステップ811に戻る。
とサーバ410との間でやりとりされるすべてのハイパ
ーリンクに状態を組み込むことにより、状態情報を有利
に保存する。当業者であれば、サーバ410’に結合さ
れたファイル・システムまたはデータベース425に状
態情報のほとんどを格納することにより、クライアント
とサーバとの間で通信される詳細のレベルを低減できる
ことが分かるだろう。この場合、必要なことは、クライ
アントとサーバとの間で状態変数へのインデックス(ま
たはポインタ)をやりとりすることだけである。
なプログラムをサーバからダウンロードすることを必ず
しもサポートしていない標準のブラウザ460用に機能
するように設計されている。Java(「アプレッ
ト」)またはその他のこのような言語を使用して作成さ
れたような、ダウンロード可能なサーバ・プログラムを
サポートするブラウザの場合は、追加の機能が可能であ
る。Javaプログラミング環境は当技術分野では周知
のものである。たとえば、P. ティマ(Tyma)、G.トロ
ク(Torok)、T. ダウニング(Downing)による「Java
Primer Plus」(Waite Group Press、1996年)を参
照されたい。これは、その全体が参照により本出願に組
み込まれる。また、パトリック・ノートン(Patrick Na
ughton)による「The Java Handbook」(Osborne Mcgra
w-Hill、1996年)も参照されたい。これも、その全
体が参照により本出願に組み込まれる。たとえば、サー
バ410’は、クライアントに状態を格納させるよう
な、ダウンロード可能なプログラムを含むことができる
はずである。この手法を使用すると、状態の一部または
前部がクライアント上に格納できるはずである。上記の
ように、クライアントから状態を取り出せるようにする
ために、メモリ内の状態情報の位置を参照するインデッ
クスをサーバとクライアントとの間でやりとりすること
ができる。
明に適用するもう1つの例は、「変換プログラム」41
6がクライアント上で動作できるようにすることであ
る。この場合、クライアントは、実行のためにサーバ4
10’からそのクライアントに「変換プログラム」論理
416の一部または前部をダウンロードするはずであ
る。これにより、本発明の機能が完全に可能になり、処
理のすべて(または一部)がクライアント450上でロ
ーカルに行われるはずである。もはやクライアントは、
会話中にHTMLページをフィルタ処理するために遠隔
サーバを調べる必要がなくなり、フィルタ処理はすべて
ローカルに行われる。この場合、サーバにかかる負荷が
低減されるという利点がある。さらに、そこからクライ
アントがアプレットを入手するサーバがネットワーク障
害のために停止するかまたは使用不能になった場合で
も、クライアントは会話を続行することができる。
の状態伝播のために複数の変換プログラムを使用できる
ことが分かるだろう。たとえば、ウェブによる航空座席
予約システムは、状態を管理するために変換プログラム
(変換プログラムA)を備えている可能性がある。ハイ
パーテキスト・リンクの1つは、専用の変換プログラム
(変換プログラムH)を備えた遠隔サーバ上のホテル予
約システムにつながっている可能性がある。クライアン
トは航空座席予約システムを使い始めるはずである。任
意の時点で、状態情報が会話に付加される。次にクライ
アントは、ホテル予約システムへのハイパーテキスト・
リンクをたどる。変換プログラムAは、クライアントが
ホテル予約システムを使用している間、状態情報を管理
し続ける。すべての状態変数は、ホテル予約システムの
CGIプログラムに伝播される。このような遠隔サーバ
のCGIプログラムは、これらの状態変数を無視するだ
けである可能性もある。これに対して、ホテル予約シス
テムが航空座席予約システムからの状態変数を理解でき
る場合、これらの変数はホテル予約システム(変換プロ
グラムH)によって使用できるはずである。
変換プログラム(変換プログラムH)を呼び出して、追
加の状態変数を組み込むことができる。これが行われる
と、変換プログラムHへの呼出しは、変換プログラムA
への呼出し内にネストすることができる。これによって
問題が発生することはない。CGIプログラムには、変
換プログラムAと変換プログラムHの両方からの引数が
渡される。変換プログラムAが変換プログラムHへの呼
出しを表すCGI機能を認識する能力を備えている場
合、以下のように追加の事柄が可能である。 (1)前述のように、変換プログラムAは変換プログラ
ムHをタイプIのCGIプログラムとして扱うことがで
きる。この場合、変換プログラムAは会話に含まれる今
後のハイパーテキスト・リンクの監視を停止することが
できる。 (2)変換プログラムAは変換プログラムHをタイプII
のCGIプログラムとして扱い、ハイパーテキスト・リ
ンクを変更するために続行することができる。さらに、
変換プログラムAは、ユーザがいずれかの変換プログラ
ムの制御からエスケープできるようにするような、今後
のHTMLページへの特殊リンクを追加することができ
る。
ブラウズしている間に、クライアントによって表示され
たすべてのHTMLテキストをフィルタ処理するための
システムおよび方法を提供するような特徴も備えてい
る。たとえば、クライアントがサーバに接触し、会話を
開始したと想定する。サーバは、すべてのHTMLテキ
ストをフィルタ処理し、反対すべきと判定された句およ
びハイパーテキスト・リンクを除外することを望んでい
る。本発明は、フィルタ処理を実行するサーバにとって
遠隔である可能性があるファイルおよびプログラムに対
してクライアントがアクセスしている間にHTMLテキ
ストをフィルタ処理または変更するための方法を提供す
る。
が必要になる様々な応用例に適用することができる。た
とえば、サーバ・アプリケーションが、会話中にクライ
アントに渡されるすべてのHTMLページのフィルタ処
理を望んでいると想定する。変換プログラムは、それを
クライアントに送る前にHTMLページの不要な部分を
変更または除去できるはずである。変換プログラムは、
各種サブストリングを求めてテキストを探索するように
変更するだけでよいはずである。ただし、変換プログラ
ムは、遠隔サーバ上に存在するCGIプログラムからの
出力とページを検閲することができることに留意された
い。クライアントがJavaなどの言語で作成されたプ
ログラムをサーバからダウンロードできる場合、検閲を
実行する変換プログラムはクライアント上で実行するこ
とができる。
0が会話中であり、主要企業の名前がテキスト内に頻繁
に現れるものと想定する。変換プログラム416を実行
しているサーバ410’は、主要企業に関するホーム・
ページURLのデータベース475にアクセスすること
ができる。サーバは、データベース内の1企業の名前が
HTMLページに現れるたびにハイパーテキスト・リン
クを増加することを望んでいる。たとえば、HTMLペ
ージにIBMの名前が現れるたびに、サーバはIBMの
ホーム・ページへのハイパーテキスト・リンクの参照を
変換することを望んでいるはずである。これを実行すれ
ば、クライアントは、ポイントしクリックすることによ
り、会話中に現れる企業に関する有用な情報を得ること
ができるはずである。これは、データベースに現れるす
べての企業名についてHTMLページを探索するように
変換プログラム416を変更することによって達成する
ことができる。このような名前が見つかると、その企業
のホーム・ページへのハイパーテキスト・リンクがHT
MLテキストに挿入され、クライアントに返される。変
換プログラム416は、遠隔サーバへのハイパーテキス
ト・リンクをたどる場合、会話の監視を続行することが
できる。上記のように、クライアントがJavaなどの
言語で作成されたプログラムをサーバからダウンロード
できる場合、変換プログラムはクライアント上で実行す
ることができる。
本発明を説明してきたが、当業者には様々な改良例が思
い浮かぶだろう。したがって、好ましい実施例は例とし
て示したものであって、限定として示したものではない
ことに留意されたい。本発明の範囲は請求の範囲によっ
て適切に定義されている。
の事項を開示する。
トに対してネットワーク化された1つまたは複数のサー
バからサービスを要求できるようになっているクライア
ントとの間の会話で状態情報を保存するためのコンピュ
ータ化した方法において、前記サービスがクライアント
が要求可能なデータおよびプログラムのうちの1つまた
は複数を含み、会話は前記サービスに関するクライアン
トと1つまたは複数のサーバとの間の一連の通信であ
り、サーバからの各応答は前記サービスに関する別の要
求を可能にする1つまたは複数の連結を含み、クライア
ントは会話を続行するためにその連結のうちの1つを呼
び出さなければならず、前記方法が、クライアントが無
状態プロトコルを使用してサーバとの会話を開始するス
テップと、サービス要求が状態情報の保存を必要とする
時期を検出するステップと、前記検出ステップに応答し
て、前記サービスを実行し、前記サービスからの出力に
含まれるすべての連結を識別するステップと、すべての
識別済み連結に再帰的に状態情報を組み込むステップ
と、前記組込みステップに応答して、出力をクライアン
トに通信するステップとを含み、会話の持続期間中に状
態情報が保存され、すべてのサービスに提供されること
を特徴とする方法。 (2)前記組込みステップがサーバによって実行され、
前記通信ステップが前記組込みステップに応答して行わ
れることを特徴とする、前記(1)に記載の方法。 (3)サーバに結合されたメモリに状態情報の少なくと
も一部を格納するステップをさらに含み、前記組込みス
テップが前記すべての識別済み連結に状態情報の前記一
部を表すインデックスを組み込むステップを含むことを
特徴とする、前記(2)に記載の方法。 (4)出力をクライアントに通信する前記ステップに応
答して前記組込みステップを実行するために、コンピュ
ータ・プログラム・コードをクライアントに動的にダウ
ンロードするステップをさらに含むことを特徴とする、
前記(1)に記載の方法。 (5)クライアントに結合されたメモリに状態情報の少
なくとも一部を格納するステップをさらに含み、前記組
込みステップが状態情報の前記一部を表すインデックス
を組み込むステップを含むことを特徴とする、前記
(4)に記載の方法。 (6)クライアントが、前記すべての識別済み連結から
状態情報が組み込まれた第2の連結を選択するステップ
と、前記第2の連結から状態情報を復元し、復元した状
態情報により関連の第2のサービスを呼び出すステップ
と、前記第2のサービスからの出力に関連するすべての
連結において再帰的に状態情報を識別し、組み込むステ
ップとをさらに含むことを特徴とする、前記(1)に記
載の方法。 (7)状態情報と特定の会話とを相関させるステップを
さらに含むことを特徴とする、前記(1)に記載の方
法。 (8)クライアントとサーバがワールド・ワイド・ウェ
ブを介してネットワーク化され、無状態プロトコルがハ
イパーテキスト転送プロトコルであり、連結が、ハイパ
ーテキスト・マークアップ言語ファイルおよび共通ゲー
トウェイ・インタフェース・プログラムの1つへのハイ
パーリンクであることを特徴とする、前記(1)に記載
の方法。 (9)所定の基準に応じて前記サービスからのデータ出
力と前記ハイパーリンクの1つをフィルタ処理するステ
ップをさらに含むことを特徴とする、前記(8)に記載
の方法。 (10)所定の基準に応じて前記サービスからの前記出
力にデータと前記ハイパーリンクの1つを追加するステ
ップをさらに含むことを特徴とする、前記(8)に記載
の方法。 (11)前記組込みステップが、識別済み連結と引数と
して渡された状態情報によりCGI変換プログラムを呼
び出すためにHTMLファイルを求める要求である識別
済み連結を変更するステップをさらに含むことを特徴と
する、前記(8)に記載の方法。 (12)前記組込みステップが、識別済み連結と引数と
して渡された状態情報によるCGIプログラムへの呼出
しである識別済み連結を変更するステップをさらに含
み、前記組込みステップがCGIプログラムによって実
行されることを特徴とする、前記(8)に記載の方法。 (13)前記組込みステップが、識別済み連結によりC
GI変換プログラムを呼び出すためのCGIプログラム
への呼出しである識別済み連結と、CGIプログラムに
関連する引数の数を示す引数カウンタと、引数として渡
された状態情報とを変更するステップをさらに含み、前
記組込みステップが変換プログラムによって実行される
ことを特徴とする、前記(8)に記載の方法。 (14)無状態プロトコルによりクライアントに対して
ネットワーク化された1つまたは複数のサーバからサー
ビスを要求できるようになっているクライアントとの間
の会話で状態情報を保存するための方法を提供するため
にコンピュータによって実行可能な複数の命令からなる
プログラムを具体的に実施するコンピュータによって読
取り可能なプログラム記憶装置において、前記サービス
がクライアントが要求可能なデータおよびプログラムの
うちの1つまたは複数を含み、会話は前記サービスに関
するクライアントと1つまたは複数のサーバとの間の一
連の通信であり、サーバからの各応答は前記サービスに
関する別の要求を可能にする1つまたは複数の連結を含
み、クライアントは会話を続行するためにその連結のう
ちの1つを呼び出さなければならず、前記方法が、クラ
イアントが無状態プロトコルを使用してサーバとの会話
を開始するステップと、サービス要求が状態情報の保存
を必要とする時期を検出するステップと、前記検出ステ
ップに応答して、前記サービスを実行し、前記サービス
からの出力に含まれるすべてのハイパーリンクを識別す
るステップと、すべての識別済みハイパーリンクに再帰
的に状態情報を組み込むステップと、前記組込みステッ
プに応答して、出力をクライアントに通信するステップ
とを含み、会話の持続期間中に状態情報が保存され、す
べてのサービスに提供されることを特徴とするプログラ
ム記憶装置。 (15)前記組込みステップがサーバによって実行さ
れ、前記通信ステップが前記組込みステップに応答して
行われることを特徴とする、前記(14)に記載の方法
ステップを実行するためにコンピュータによって実行可
能な複数の命令からなるプログラムを具体的に実施する
コンピュータによって読取り可能なプログラム記憶装
置。 (16)サーバに結合されたメモリに状態情報の少なく
とも一部を格納するステップをさらに含み、前記組込み
ステップが前記すべての識別済み連結に状態情報の前記
一部を表すインデックスを組み込むステップを含むこと
を特徴とする、前記(15)に記載の方法ステップを実
行するためにコンピュータによって実行可能な複数の命
令からなるプログラムを具体的に実施するコンピュータ
によって読取り可能なプログラム記憶装置。 (17)出力をクライアントに通信する前記ステップに
応答して前記組込みステップを実行するために、コンピ
ュータ・プログラム・コードをクライアントに動的にダ
ウンロードするステップをさらに含むことを特徴とす
る、前記(14)に記載の方法ステップを実行するため
にコンピュータによって実行可能な複数の命令からなる
プログラムを具体的に実施するコンピュータによって読
取り可能なプログラム記憶装置。 (18)クライアントに結合されたメモリに状態情報の
少なくとも一部を格納するステップをさらに含み、前記
組込みステップが状態情報の前記一部を表すインデック
スを組み込むステップを含むことを特徴とする、前記
(14)に記載の方法ステップを実行するためにコンピ
ュータによって実行可能な複数の命令からなるプログラ
ムを具体的に実施するコンピュータによって読取り可能
なプログラム記憶装置。 (19)クライアントが、前記すべての識別済み連結か
ら状態情報が組み込まれた第2の連結を選択するステッ
プと、前記第2の連結から状態情報を復元し、復元した
状態情報により関連の第2のサービスを呼び出すステッ
プと、前記第2のサービスからの出力に関連するすべて
の連結において再帰的に状態情報を識別し、組み込むス
テップとをさらに含むことを特徴とする、前記(14)
に記載の方法ステップを実行するためにコンピュータに
よって実行可能な複数の命令からなるプログラムを具体
的に実施するコンピュータによって読取り可能なプログ
ラム記憶装置。 (20)状態情報と特定の会話とを相関させるステップ
をさらに含むことを特徴とする、前記(14)に記載の
方法ステップを実行するためにコンピュータによって実
行可能な複数の命令からなるプログラムを具体的に実施
するコンピュータによって読取り可能なプログラム記憶
装置。 (21)クライアントとサーバがワールド・ワイド・ウ
ェブを介してネットワーク化され、無状態プロトコルが
ハイパーテキスト転送プロトコルであり、連結が、ハイ
パーテキスト・マークアップ言語ファイルおよび共通ゲ
ートウェイ・インタフェース・プログラムの1つへのハ
イパーリンクであることを特徴とする、前記(14)に
記載の方法ステップを実行するためにコンピュータによ
って実行可能な複数の命令からなるプログラムを具体的
に実施するコンピュータによって読取り可能なプログラ
ム記憶装置。 (22)所定の基準に応じて前記サービスからのデータ
出力と前記ハイパーリンクの1つをフィルタ処理するス
テップをさらに含むことを特徴とする、前記(21)に
記載の方法ステップを実行するためにコンピュータによ
って実行可能な複数の命令からなるプログラムを具体的
に実施するコンピュータによって読取り可能なプログラ
ム記憶装置。 (23)所定の基準に応じて前記サービスからの前記出
力にデータと前記ハイパーリンクの1つを追加するステ
ップをさらに含むことを特徴とする、前記(21)に記
載の方法ステップを実行するためにコンピュータによっ
て実行可能な複数の命令からなるプログラムを具体的に
実施するコンピュータによって読取り可能なプログラム
記憶装置。 (24)前記組込みステップが、識別済み連結と引数と
して渡された状態情報によりCGI変換プログラムを呼
び出すためにHTMLファイルを求める要求である識別
済み連結を変更するステップをさらに含むことを特徴と
する、前記(21)に記載の方法ステップを実行するた
めにコンピュータによって実行可能な複数の命令からな
るプログラムを具体的に実施するコンピュータによって
読取り可能なプログラム記憶装置。 (25)前記組込みステップが、識別済み連結と引数と
して渡された状態情報によるCGIプログラムへの呼出
しである識別済み連結を変更するステップをさらに含
み、前記組込みステップがCGIプログラムによって実
行されることを特徴とする、前記(21)に記載の方法
ステップを実行するためにコンピュータによって実行可
能な複数の命令からなるプログラムを具体的に実施する
コンピュータによって読取り可能なプログラム記憶装
置。 (26)前記組込みステップが、識別済み連結によりC
GI変換プログラムを呼び出すためのCGIプログラム
への呼出しである識別済み連結と、CGIプログラムに
関連する引数の数を示す引数カウンタと、引数として渡
された状態情報とを変更するステップをさらに含み、前
記組込みステップが変換プログラムによって実行される
ことを特徴とする、前記(21)に記載の方法ステップ
を実行するためにコンピュータによって実行可能な複数
の命令からなるプログラムを具体的に実施するコンピュ
ータによって読取り可能なプログラム記憶装置。 (27)無状態プロトコルによりクライアントに対して
ネットワーク化された1つまたは複数のサーバからサー
ビスを要求できるようになっているクライアントとの間
の会話で状態情報を保存するためのコンピュータ・シス
テムにおいて、前記サービスがクライアントが要求可能
なデータおよびプログラムのうちの1つまたは複数を含
み、会話は前記サービスに関するクライアントと1つま
たは複数のサーバとの間の一連の通信であり、サーバか
らの各応答は前記サービスに関する別の要求を可能にす
る1つまたは複数の連結を含み、クライアントは会話を
続行するためにその連結のうちの1つを呼び出さなけれ
ばならず、前記システムが、無状態プロトコルを使用し
てサーバとの会話を開始できるようになっているクライ
アントと、サービス要求が状態情報の保存を必要とする
時期を検出する状態検出論理と、前記検出ステップに応
答して、前記サービスからの出力に含まれるすべての連
結を識別する探索論理と、すべての識別済み連結に再帰
的に状態情報を組み込む変換プログラム論理と、出力を
クライアントに通信する通信論理とを含み、会話の持続
期間中に状態情報が保存され、すべてのサービスに提供
されることを特徴とするコンピュータ・システム。 (28)前記変換プログラム論理がサーバによって実行
され、前記通信論理により状態情報が組み込まれた出力
がサーバからクライアントに通信されることを特徴とす
る、前記(27)に記載のコンピュータ・システム。 (29)状態情報の少なくとも一部を格納するためにサ
ーバに結合されたメモリをさらに含み、前記変換プログ
ラム論理が前記すべての識別済み連結に状態情報の前記
一部を表すインデックスを組み込めるようになっている
ことを特徴とする、前記(28)に記載のコンピュータ
・システム。 (30)前記通信論理により状態情報が組み込まれてい
ない出力がサーバからクライアントに通信され、サーバ
が実行のために前記変換プログラム論理をクライアント
に動的にダウンロードできるようになっていることを特
徴とする、前記(27)に記載のコンピュータ・システ
ム。 (31)状態情報の少なくとも一部を格納するためにク
ライアントに結合されたメモリをさらに含み、前記変換
プログラム論理がさらに状態情報の前記一部を表すイン
デックスを組み込めるようになっていることを特徴とす
る、前記(30)に記載のコンピュータ・システム。 (32)クライアントが、前記すべての識別済み連結か
ら状態情報が組み込まれた第2の連結を選択し、変換プ
ログラム論理が、さらに前記第2の連結から状態情報を
復元し、復元した状態情報により関連の第2のサービス
を呼び出し、前記第2のサービスからの出力に関連する
すべての連結において再帰的に状態情報を識別し、組み
込めるようになっていることをさらに含むことを特徴と
する、前記(27)に記載のコンピュータ・システム。 (33)状態情報と特定の会話とが相関することを特徴
とする、前記(27)に記載のコンピュータ・システ
ム。 (34)クライアントとサーバがワールド・ワイド・ウ
ェブを介してネットワーク化され、無状態プロトコルが
ハイパーテキスト転送プロトコルであり、連結が、ハイ
パーテキスト・マークアップ言語ファイルおよび共通ゲ
ートウェイ・インタフェース・プログラムの1つへのハ
イパーリンクであることを特徴とする、前記(27)に
記載のコンピュータ・システム。 (35)所定の基準に応じて前記サービスからのデータ
出力と前記ハイパーリンクの1つをフィルタ処理するフ
ィルタ論理をさらに含むことを特徴とする、前記(3
4)に記載のコンピュータ・システム。 (36)所定の基準に応じて前記サービスからの前記出
力にデータと前記ハイパーリンクの1つを追加する統合
論理をさらに含むことを特徴とする、前記(34)に記
載のコンピュータ・システム。 (37)前記組込みステップが、識別済み連結と引数と
して渡された状態情報によりCGI変換プログラムを呼
び出すためにHTMLファイルを求める要求である識別
済み連結を変更するステップをさらに含むことを特徴と
する、前記(34)に記載のコンピュータ・システム。 (38)前記組込みステップが、識別済み連結と引数と
して渡された状態情報によるCGIプログラムへの呼出
しである識別済み連結を変更するステップをさらに含
み、前記組込みステップがCGIプログラムによって実
行されることを特徴とする、前記(34)に記載のコン
ピュータ・システム。 (39)前記組込みステップが、識別済み連結によりC
GI変換プログラムを呼び出すためのCGIプログラム
への呼出しである識別済み連結と、CGIプログラムに
関連する引数の数を示す引数カウンタと、引数として渡
された状態情報とを変更するステップをさらに含み、前
記組込みステップが変換プログラムによって実行される
ことを特徴とする、前記(34)に記載のコンピュータ
・システム。 (40)無状態プロトコルによりクライアントに対して
ネットワーク化された1つまたは複数のサーバからサー
ビスを要求できるようになっているクライアントとの間
の会話で状態情報を保存するためのコンピュータ・シス
テムにおいて、前記サービスがクライアントが要求可能
なデータおよびプログラムのうちの1つまたは複数を含
み、会話は前記サービスに関するクライアントと1つま
たは複数のサーバとの間の一連の通信であり、サーバか
らの各応答は前記サービスに関する別の要求を可能にす
る1つまたは複数の連結を含み、クライアントは会話を
続行するためにその連結のうちの1つを呼び出さなけれ
ばならず、前記システムが、無状態プロトコルを使用し
てサーバとの会話を開始できるようになっているクライ
アントと、サービス要求が状態情報の保存を必要とする
時期を検出する状態検出手段と、前記検出ステップに応
答して、前記サービスからの出力に含まれるすべての連
結を識別する探索手段と、すべての識別済み連結に再帰
的に状態情報を組み込む変換プログラム手段と、出力を
クライアントに通信する通信手段とを含み、会話の持続
期間中に状態情報が保存され、すべてのサービスに提供
されることを特徴とするコンピュータ・システム。 (41)前記変換プログラム手段がサーバによって実行
され、前記通信手段により状態情報が組み込まれた出力
がサーバからクライアントに通信されることを特徴とす
る、前記(40)に記載のコンピュータ・システム。 (42)状態情報の少なくとも一部を格納するためにサ
ーバに結合されたメモリをさらに含み、前記変換プログ
ラム手段が前記すべての識別済み連結に状態情報の前記
一部を表すインデックスを組み込めるようになっている
ことを特徴とする、前記(41)に記載のコンピュータ
・システム。 (43)前記通信手段により状態情報が組み込まれてい
ない出力がサーバからクライアントに通信され、サーバ
が実行のために前記変換プログラム手段をクライアント
に動的にダウンロードできるようになっていることを特
徴とする、前記(40)に記載のコンピュータ・システ
ム。 (44)状態情報の少なくとも一部を格納するためにク
ライアントに結合されたメモリをさらに含み、前記変換
プログラム手段がさらに状態情報の前記一部を表すイン
デックスを組み込めるようになっていることを特徴とす
る、前記(43)に記載のコンピュータ・システム。 (45)クライアントが、前記すべての識別済み連結か
ら状態情報が組み込まれた第2の連結を選択し、変換プ
ログラム手段が、さらに前記第2の連結から状態情報を
復元し、復元した状態情報により関連の第2のサービス
を呼び出し、前記第2のサービスからの出力に関連する
すべての連結において再帰的に状態情報を識別し、組み
込めるようになっていることをさらに含むことを特徴と
する、前記(41)に記載のコンピュータ・システム。 (46)所定の基準に応じて前記サービスからの前記出
力にデータと前記ハイパーリンクの1つを追加する統合
手段をさらに含むことを特徴とする、前記(45)に記
載のコンピュータ・システム。 (47)クライアントとサーバがワールド・ワイド・ウ
ェブを介してネットワーク化され、無状態プロトコルが
ハイパーテキスト転送プロトコルであり、連結が、ハイ
パーテキスト・マークアップ言語ファイルおよび共通ゲ
ートウェイ・インタフェース・プログラムの1つへのハ
イパーリンクであることを特徴とする、前記(40)に
記載のコンピュータ・システム。 (48)前記組込みステップが、識別済み連結と引数と
して渡された状態情報によりCGI変換プログラムを呼
び出すためにHTMLファイルを求める要求である識別
済み連結を変更するステップをさらに含むことを特徴と
する、前記(47)に記載のコンピュータ・システム。 (49)前記組込みステップが、識別済み連結と引数と
して渡された状態情報によるCGIプログラムへの呼出
しである識別済み連結を変更するステップをさらに含
み、前記組込みステップがCGIプログラムによって実
行されることを特徴とする、前記(47)に記載のコン
ピュータ・システム。 (50)前記組込みステップが、識別済み連結によりC
GI変換プログラムを呼び出すためのCGIプログラム
への呼出しである識別済み連結と、CGIプログラムに
関連する引数の数を示す引数カウンタと、引数として渡
された状態情報とを変更するステップをさらに含み、前
記組込みステップが変換プログラムによって実行される
ことを特徴とする、前記(47)に記載のコンピュータ
・システム。
ージの一例を示す図である。
の「用紙」の一例を示す図である。
アントとサーバのブロック図である。
本発明により状態を保存するための一般的な方法のブロ
ック図である。
ットの汎用図である。
れた図5のデータ・パケットの一例を示す図である。
ブ上でビジネス・トランザクションを行うための本発明
の機能を有するシステムの一実施例を示す図である。
の一実施例を示す図である。
745で状態を保存するための本発明による方法のより
詳細な例を示す図である。
ンクの構造を示す図である。
た図10の構造を示す図である。
キスト・リンクの構造を示す図である。
の構造を示す図である。
キスト・リンクの構造を示す図である。
た図14の構造を示す図である。
Claims (50)
- 【請求項1】無状態プロトコルによりクライアントに対
してネットワーク化された1つまたは複数のサーバから
サービスを要求できるようになっているクライアントと
の間の会話で状態情報を保存するためのコンピュータ化
した方法において、前記サービスがクライアントが要求
可能なデータおよびプログラムのうちの1つまたは複数
を含み、会話は前記サービスに関するクライアントと1
つまたは複数のサーバとの間の一連の通信であり、サー
バからの各応答は前記サービスに関する別の要求を可能
にする1つまたは複数の連結を含み、クライアントは会
話を続行するためにその連結のうちの1つを呼び出さな
ければならず、前記方法が、 クライアントが無状態プロトコルを使用してサーバとの
会話を開始するステップと、 サービス要求が状態情報の保存を必要とする時期を検出
するステップと、 前記検出ステップに応答して、前記サービスを実行し、
前記サービスからの出力に含まれるすべての連結を識別
するステップと、 すべての識別済み連結に再帰的に状態情報を組み込むス
テップと、 前記組込みステップに応答して、出力をクライアントに
通信するステップとを含み、会話の持続期間中に状態情
報が保存され、すべてのサービスに提供されることを特
徴とする方法。 - 【請求項2】前記組込みステップがサーバによって実行
され、前記通信ステップが前記組込みステップに応答し
て行われることを特徴とする、請求項1に記載の方法。 - 【請求項3】サーバに結合されたメモリに状態情報の少
なくとも一部を格納するステップをさらに含み、前記組
込みステップが前記すべての識別済み連結に状態情報の
前記一部を表すインデックスを組み込むステップを含む
ことを特徴とする、請求項2に記載の方法。 - 【請求項4】出力をクライアントに通信する前記ステッ
プに応答して前記組込みステップを実行するために、コ
ンピュータ・プログラム・コードをクライアントに動的
にダウンロードするステップをさらに含むことを特徴と
する、請求項1に記載の方法。 - 【請求項5】クライアントに結合されたメモリに状態情
報の少なくとも一部を格納するステップをさらに含み、
前記組込みステップが状態情報の前記一部を表すインデ
ックスを組み込むステップを含むことを特徴とする、請
求項4に記載の方法。 - 【請求項6】クライアントが、前記すべての識別済み連
結から状態情報が組み込まれた第2の連結を選択するス
テップと、 前記第2の連結から状態情報を復元し、復元した状態情
報により関連の第2のサービスを呼び出すステップと、 前記第2のサービスからの出力に関連するすべての連結
において再帰的に状態情報を識別し、組み込むステップ
とをさらに含むことを特徴とする、請求項1に記載の方
法。 - 【請求項7】状態情報と特定の会話とを相関させるステ
ップをさらに含むことを特徴とする、請求項1に記載の
方法。 - 【請求項8】クライアントとサーバがワールド・ワイド
・ウェブを介してネットワーク化され、無状態プロトコ
ルがハイパーテキスト転送プロトコルであり、連結が、
ハイパーテキスト・マークアップ言語ファイルおよび共
通ゲートウェイ・インタフェース・プログラムの1つへ
のハイパーリンクであることを特徴とする、請求項1に
記載の方法。 - 【請求項9】所定の基準に応じて前記サービスからのデ
ータ出力と前記ハイパーリンクの1つをフィルタ処理す
るステップをさらに含むことを特徴とする、請求項8に
記載の方法。 - 【請求項10】所定の基準に応じて前記サービスからの
前記出力にデータと前記ハイパーリンクの1つを追加す
るステップをさらに含むことを特徴とする、請求項8に
記載の方法。 - 【請求項11】前記組込みステップが、 識別済み連結と引数として渡された状態情報によりCG
I変換プログラムを呼び出すためにHTMLファイルを
求める要求である識別済み連結を変更するステップをさ
らに含むことを特徴とする、請求項8に記載の方法。 - 【請求項12】前記組込みステップが、 識別済み連結と引数として渡された状態情報によるCG
Iプログラムへの呼出しである識別済み連結を変更する
ステップをさらに含み、前記組込みステップがCGIプ
ログラムによって実行されることを特徴とする、請求項
8に記載の方法。 - 【請求項13】前記組込みステップが、 識別済み連結によりCGI変換プログラムを呼び出すた
めのCGIプログラムへの呼出しである識別済み連結
と、CGIプログラムに関連する引数の数を示す引数カ
ウンタと、引数として渡された状態情報とを変更するス
テップをさらに含み、前記組込みステップが変換プログ
ラムによって実行されることを特徴とする、請求項8に
記載の方法。 - 【請求項14】無状態プロトコルによりクライアントに
対してネットワーク化された1つまたは複数のサーバか
らサービスを要求できるようになっているクライアント
との間の会話で状態情報を保存するための方法を提供す
るためにコンピュータによって実行可能な複数の命令か
らなるプログラムを具体的に実施するコンピュータによ
って読取り可能なプログラム記憶装置において、前記サ
ービスがクライアントが要求可能なデータおよびプログ
ラムのうちの1つまたは複数を含み、会話は前記サービ
スに関するクライアントと1つまたは複数のサーバとの
間の一連の通信であり、サーバからの各応答は前記サー
ビスに関する別の要求を可能にする1つまたは複数の連
結を含み、クライアントは会話を続行するためにその連
結のうちの1つを呼び出さなければならず、前記方法
が、 クライアントが無状態プロトコルを使用してサーバとの
会話を開始するステップと、 サービス要求が状態情報の保存を必要とする時期を検出
するステップと、 前記検出ステップに応答して、前記サービスを実行し、
前記サービスからの出力に含まれるすべてのハイパーリ
ンクを識別するステップと、 すべての識別済みハイパーリンクに再帰的に状態情報を
組み込むステップと、 前記組込みステップに応答して、出力をクライアントに
通信するステップとを含み、会話の持続期間中に状態情
報が保存され、すべてのサービスに提供されることを特
徴とするプログラム記憶装置。 - 【請求項15】前記組込みステップがサーバによって実
行され、前記通信ステップが前記組込みステップに応答
して行われることを特徴とする、請求項14に記載の方
法ステップを実行するためにコンピュータによって実行
可能な複数の命令からなるプログラムを具体的に実施す
るコンピュータによって読取り可能なプログラム記憶装
置。 - 【請求項16】サーバに結合されたメモリに状態情報の
少なくとも一部を格納するステップをさらに含み、前記
組込みステップが前記すべての識別済み連結に状態情報
の前記一部を表すインデックスを組み込むステップを含
むことを特徴とする、請求項15に記載の方法ステップ
を実行するためにコンピュータによって実行可能な複数
の命令からなるプログラムを具体的に実施するコンピュ
ータによって読取り可能なプログラム記憶装置。 - 【請求項17】出力をクライアントに通信する前記ステ
ップに応答して前記組込みステップを実行するために、
コンピュータ・プログラム・コードをクライアントに動
的にダウンロードするステップをさらに含むことを特徴
とする、請求項14に記載の方法ステップを実行するた
めにコンピュータによって実行可能な複数の命令からな
るプログラムを具体的に実施するコンピュータによって
読取り可能なプログラム記憶装置。 - 【請求項18】クライアントに結合されたメモリに状態
情報の少なくとも一部を格納するステップをさらに含
み、前記組込みステップが状態情報の前記一部を表すイ
ンデックスを組み込むステップを含むことを特徴とす
る、請求項14に記載の方法ステップを実行するために
コンピュータによって実行可能な複数の命令からなるプ
ログラムを具体的に実施するコンピュータによって読取
り可能なプログラム記憶装置。 - 【請求項19】クライアントが、前記すべての識別済み
連結から状態情報が組み込まれた第2の連結を選択する
ステップと、 前記第2の連結から状態情報を復元し、復元した状態情
報により関連の第2のサービスを呼び出すステップと、 前記第2のサービスからの出力に関連するすべての連結
において再帰的に状態情報を識別し、組み込むステップ
とをさらに含むことを特徴とする、請求項14に記載の
方法ステップを実行するためにコンピュータによって実
行可能な複数の命令からなるプログラムを具体的に実施
するコンピュータによって読取り可能なプログラム記憶
装置。 - 【請求項20】状態情報と特定の会話とを相関させるス
テップをさらに含むことを特徴とする、請求項14に記
載の方法ステップを実行するためにコンピュータによっ
て実行可能な複数の命令からなるプログラムを具体的に
実施するコンピュータによって読取り可能なプログラム
記憶装置。 - 【請求項21】クライアントとサーバがワールド・ワイ
ド・ウェブを介してネットワーク化され、無状態プロト
コルがハイパーテキスト転送プロトコルであり、連結
が、ハイパーテキスト・マークアップ言語ファイルおよ
び共通ゲートウェイ・インタフェース・プログラムの1
つへのハイパーリンクであることを特徴とする、請求項
14に記載の方法ステップを実行するためにコンピュー
タによって実行可能な複数の命令からなるプログラムを
具体的に実施するコンピュータによって読取り可能なプ
ログラム記憶装置。 - 【請求項22】所定の基準に応じて前記サービスからの
データ出力と前記ハイパーリンクの1つをフィルタ処理
するステップをさらに含むことを特徴とする、請求項2
1に記載の方法ステップを実行するためにコンピュータ
によって実行可能な複数の命令からなるプログラムを具
体的に実施するコンピュータによって読取り可能なプロ
グラム記憶装置。 - 【請求項23】所定の基準に応じて前記サービスからの
前記出力にデータと前記ハイパーリンクの1つを追加す
るステップをさらに含むことを特徴とする、請求項21
に記載の方法ステップを実行するためにコンピュータに
よって実行可能な複数の命令からなるプログラムを具体
的に実施するコンピュータによって読取り可能なプログ
ラム記憶装置。 - 【請求項24】前記組込みステップが、識別済み連結と
引数として渡された状態情報によりCGI変換プログラ
ムを呼び出すためにHTMLファイルを求める要求であ
る識別済み連結を変更するステップをさらに含むことを
特徴とする、請求項21に記載の方法ステップを実行す
るためにコンピュータによって実行可能な複数の命令か
らなるプログラムを具体的に実施するコンピュータによ
って読取り可能なプログラム記憶装置。 - 【請求項25】前記組込みステップが、 識別済み連結と引数として渡された状態情報によるCG
Iプログラムへの呼出しである識別済み連結を変更する
ステップをさらに含み、前記組込みステップがCGIプ
ログラムによって実行されることを特徴とする、請求項
21に記載の方法ステップを実行するためにコンピュー
タによって実行可能な複数の命令からなるプログラムを
具体的に実施するコンピュータによって読取り可能なプ
ログラム記憶装置。 - 【請求項26】前記組込みステップが、 識別済み連結によりCGI変換プログラムを呼び出すた
めのCGIプログラムへの呼出しである識別済み連結
と、CGIプログラムに関連する引数の数を示す引数カ
ウンタと、引数として渡された状態情報とを変更するス
テップをさらに含み、前記組込みステップが変換プログ
ラムによって実行されることを特徴とする、請求項21
に記載の方法ステップを実行するためにコンピュータに
よって実行可能な複数の命令からなるプログラムを具体
的に実施するコンピュータによって読取り可能なプログ
ラム記憶装置。 - 【請求項27】無状態プロトコルによりクライアントに
対してネットワーク化された1つまたは複数のサーバか
らサービスを要求できるようになっているクライアント
との間の会話で状態情報を保存するためのコンピュータ
・システムにおいて、前記サービスがクライアントが要
求可能なデータおよびプログラムのうちの1つまたは複
数を含み、会話は前記サービスに関するクライアントと
1つまたは複数のサーバとの間の一連の通信であり、サ
ーバからの各応答は前記サービスに関する別の要求を可
能にする1つまたは複数の連結を含み、クライアントは
会話を続行するためにその連結のうちの1つを呼び出さ
なければならず、前記システムが、 無状態プロトコルを使用してサーバとの会話を開始でき
るようになっているクライアントと、 サービス要求が状態情報の保存を必要とする時期を検出
する状態検出論理と、 前記検出ステップに応答して、前記サービスからの出力
に含まれるすべての連結を識別する探索論理と、 すべての識別済み連結に再帰的に状態情報を組み込む変
換プログラム論理と、 出力をクライアントに通信する通信論理とを含み、会話
の持続期間中に状態情報が保存され、すべてのサービス
に提供されることを特徴とするコンピュータ・システ
ム。 - 【請求項28】前記変換プログラム論理がサーバによっ
て実行され、前記通信論理により状態情報が組み込まれ
た出力がサーバからクライアントに通信されることを特
徴とする、請求項27に記載のコンピュータ・システ
ム。 - 【請求項29】状態情報の少なくとも一部を格納するた
めにサーバに結合されたメモリをさらに含み、前記変換
プログラム論理が前記すべての識別済み連結に状態情報
の前記一部を表すインデックスを組み込めるようになっ
ていることを特徴とする、請求項28に記載のコンピュ
ータ・システム。 - 【請求項30】前記通信論理により状態情報が組み込ま
れていない出力がサーバからクライアントに通信され、
サーバが実行のために前記変換プログラム論理をクライ
アントに動的にダウンロードできるようになっているこ
とを特徴とする、請求項27に記載のコンピュータ・シ
ステム。 - 【請求項31】状態情報の少なくとも一部を格納するた
めにクライアントに結合されたメモリをさらに含み、前
記変換プログラム論理がさらに状態情報の前記一部を表
すインデックスを組み込めるようになっていることを特
徴とする、請求項30に記載のコンピュータ・システ
ム。 - 【請求項32】クライアントが、前記すべての識別済み
連結から状態情報が組み込まれた第2の連結を選択し、 変換プログラム論理が、さらに前記第2の連結から状態
情報を復元し、復元した状態情報により関連の第2のサ
ービスを呼び出し、前記第2のサービスからの出力に関
連するすべての連結において再帰的に状態情報を識別
し、組み込めるようになっていることをさらに含むこと
を特徴とする、請求項27に記載のコンピュータ・シス
テム。 - 【請求項33】状態情報と特定の会話とが相関すること
を特徴とする、請求項27に記載のコンピュータ・シス
テム。 - 【請求項34】クライアントとサーバがワールド・ワイ
ド・ウェブを介してネットワーク化され、無状態プロト
コルがハイパーテキスト転送プロトコルであり、連結
が、ハイパーテキスト・マークアップ言語ファイルおよ
び共通ゲートウェイ・インタフェース・プログラムの1
つへのハイパーリンクであることを特徴とする、請求項
27に記載のコンピュータ・システム。 - 【請求項35】所定の基準に応じて前記サービスからの
データ出力と前記ハイパーリンクの1つをフィルタ処理
するフィルタ論理をさらに含むことを特徴とする、請求
項34に記載のコンピュータ・システム。 - 【請求項36】所定の基準に応じて前記サービスからの
前記出力にデータと前記ハイパーリンクの1つを追加す
る統合論理をさらに含むことを特徴とする、請求項34
に記載のコンピュータ・システム。 - 【請求項37】前記組込みステップが、識別済み連結と
引数として渡された状態情報によりCGI変換プログラ
ムを呼び出すためにHTMLファイルを求める要求であ
る識別済み連結を変更するステップをさらに含むことを
特徴とする、請求項34に記載のコンピュータ・システ
ム。 - 【請求項38】前記組込みステップが、 識別済み連結と引数として渡された状態情報によるCG
Iプログラムへの呼出しである識別済み連結を変更する
ステップをさらに含み、前記組込みステップがCGIプ
ログラムによって実行されることを特徴とする、請求項
34に記載のコンピュータ・システム。 - 【請求項39】前記組込みステップが、 識別済み連結によりCGI変換プログラムを呼び出すた
めのCGIプログラムへの呼出しである識別済み連結
と、CGIプログラムに関連する引数の数を示す引数カ
ウンタと、引数として渡された状態情報とを変更するス
テップをさらに含み、前記組込みステップが変換プログ
ラムによって実行されることを特徴とする、請求項34
に記載のコンピュータ・システム。 - 【請求項40】無状態プロトコルによりクライアントに
対してネットワーク化された1つまたは複数のサーバか
らサービスを要求できるようになっているクライアント
との間の会話で状態情報を保存するためのコンピュータ
・システムにおいて、前記サービスがクライアントが要
求可能なデータおよびプログラムのうちの1つまたは複
数を含み、会話は前記サービスに関するクライアントと
1つまたは複数のサーバとの間の一連の通信であり、サ
ーバからの各応答は前記サービスに関する別の要求を可
能にする1つまたは複数の連結を含み、クライアントは
会話を続行するためにその連結のうちの1つを呼び出さ
なければならず、前記システムが、 無状態プロトコルを使用してサーバとの会話を開始でき
るようになっているクライアントと、 サービス要求が状態情報の保存を必要とする時期を検出
する状態検出手段と、 前記検出ステップに応答して、前記サービスからの出力
に含まれるすべての連結を識別する探索手段と、 すべての識別済み連結に再帰的に状態情報を組み込む変
換プログラム手段と、 出力をクライアントに通信する通信手段とを含み、会話
の持続期間中に状態情報が保存され、すべてのサービス
に提供されることを特徴とするコンピュータ・システ
ム。 - 【請求項41】前記変換プログラム手段がサーバによっ
て実行され、前記通信手段により状態情報が組み込まれ
た出力がサーバからクライアントに通信されることを特
徴とする、請求項40に記載のコンピュータ・システ
ム。 - 【請求項42】状態情報の少なくとも一部を格納するた
めにサーバに結合されたメモリをさらに含み、前記変換
プログラム手段が前記すべての識別済み連結に状態情報
の前記一部を表すインデックスを組み込めるようになっ
ていることを特徴とする、請求項41に記載のコンピュ
ータ・システム。 - 【請求項43】前記通信手段により状態情報が組み込ま
れていない出力がサーバからクライアントに通信され、
サーバが実行のために前記変換プログラム手段をクライ
アントに動的にダウンロードできるようになっているこ
とを特徴とする、請求項40に記載のコンピュータ・シ
ステム。 - 【請求項44】状態情報の少なくとも一部を格納するた
めにクライアントに結合されたメモリをさらに含み、前
記変換プログラム手段がさらに状態情報の前記一部を表
すインデックスを組み込めるようになっていることを特
徴とする、請求項43に記載のコンピュータ・システ
ム。 - 【請求項45】クライアントが、前記すべての識別済み
連結から状態情報が組み込まれた第2の連結を選択し、 変換プログラム手段が、さらに前記第2の連結から状態
情報を復元し、復元した状態情報により関連の第2のサ
ービスを呼び出し、前記第2のサービスからの出力に関
連するすべての連結において再帰的に状態情報を識別
し、組み込めるようになっていることをさらに含むこと
を特徴とする、請求項41に記載のコンピュータ・シス
テム。 - 【請求項46】所定の基準に応じて前記サービスからの
前記出力にデータと前記ハイパーリンクの1つを追加す
る統合手段をさらに含むことを特徴とする、請求項45
に記載のコンピュータ・システム。 - 【請求項47】クライアントとサーバがワールド・ワイ
ド・ウェブを介してネットワーク化され、無状態プロト
コルがハイパーテキスト転送プロトコルであり、連結
が、ハイパーテキスト・マークアップ言語ファイルおよ
び共通ゲートウェイ・インタフェース・プログラムの1
つへのハイパーリンクであることを特徴とする、請求項
40に記載のコンピュータ・システム。 - 【請求項48】前記組込みステップが、 識別済み連結と引数として渡された状態情報によりCG
I変換プログラムを呼び出すためにHTMLファイルを
求める要求である識別済み連結を変更するステップをさ
らに含むことを特徴とする、請求項47に記載のコンピ
ュータ・システム。 - 【請求項49】前記組込みステップが、 識別済み連結と引数として渡された状態情報によるCG
Iプログラムへの呼出しである識別済み連結を変更する
ステップをさらに含み、前記組込みステップがCGIプ
ログラムによって実行されることを特徴とする、請求項
47に記載のコンピュータ・システム。 - 【請求項50】前記組込みステップが、 識別済み連結によりCGI変換プログラムを呼び出すた
めのCGIプログラムへの呼出しである識別済み連結
と、CGIプログラムに関連する引数の数を示す引数カ
ウンタと、引数として渡された状態情報とを変更するス
テップをさらに含み、前記組込みステップが変換プログ
ラムによって実行されることを特徴とする、請求項47
に記載のコンピュータ・システム。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US08/660633 | 1996-06-07 | ||
| US08/660,633 US5961601A (en) | 1996-06-07 | 1996-06-07 | Preserving state information in a continuing conversation between a client and server networked via a stateless protocol |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH1097483A true JPH1097483A (ja) | 1998-04-14 |
| JP3290377B2 JP3290377B2 (ja) | 2002-06-10 |
Family
ID=24650328
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP14176297A Expired - Lifetime JP3290377B2 (ja) | 1996-06-07 | 1997-05-30 | 無状態ネットワーク・プロトコルにおける状態の保存方法および装置 |
Country Status (7)
| Country | Link |
|---|---|
| US (1) | US5961601A (ja) |
| EP (1) | EP0812088A3 (ja) |
| JP (1) | JP3290377B2 (ja) |
| KR (1) | KR100288490B1 (ja) |
| CN (1) | CN1108682C (ja) |
| CA (1) | CA2206685C (ja) |
| TW (1) | TW349305B (ja) |
Cited By (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH10124459A (ja) * | 1996-10-23 | 1998-05-15 | Nri & Ncc Co Ltd | Www環境下で作動するクライアントサーバーシステムにおけるユーザー認証方法 |
| JPH11327863A (ja) * | 1998-05-14 | 1999-11-30 | Canon Inc | ページデータ生成制御装置及び方法及びコンピュータ読み取り可能なプログラムが格納された記憶媒体 |
| JP2000207365A (ja) * | 1999-01-13 | 2000-07-28 | Internatl Business Mach Corp <Ibm> | トランザクション処理方法及び記憶媒体 |
| JP2000293426A (ja) * | 1999-04-01 | 2000-10-20 | Nec Soft Ltd | レコードロック方式 |
| WO2001050276A1 (fr) * | 2000-01-05 | 2001-07-12 | E-Pop Corp. | Procede et dispositif servant d'intermediaire d'informations multimedia, procede et systeme de mise a jour de referencement de sites web |
| WO2001071638A1 (en) * | 2000-03-20 | 2001-09-27 | Zoi Net Co.,Ltd | An internet storage service system and method |
| JP2002024072A (ja) * | 2000-07-04 | 2002-01-25 | Honda Motor Co Ltd | 共有データベースを備えた電子ファイル管理システム |
| JP2006508622A (ja) * | 2002-12-02 | 2006-03-09 | エスアーペー アーゲー | セッション復帰可能な、処理状態を把握するウェブアプリケーション |
| US7069292B2 (en) | 2000-08-29 | 2006-06-27 | Fujitsu Limited | Automatic display method and apparatus for update information, and medium storing program for the method |
| JPWO2008032717A1 (ja) * | 2006-09-12 | 2010-01-28 | ソニー株式会社 | Httpクライアントの上で動作するアプリケーションのデータ保存方法及びデータ読み出し方法並びにデータ保存プログラム及びデータ読み出しプログラム |
Families Citing this family (198)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| GB9603582D0 (en) | 1996-02-20 | 1996-04-17 | Hewlett Packard Co | Method of accessing service resource items that are for use in a telecommunications system |
| GB2313524A (en) * | 1996-05-24 | 1997-11-26 | Ibm | Providing communications links in a computer network |
| US6006266A (en) * | 1996-06-03 | 1999-12-21 | International Business Machines Corporation | Multiplexing of clients and applications among multiple servers |
| US6145004A (en) * | 1996-12-02 | 2000-11-07 | Walsh; Stephen Kelly | Intranet network system |
| US6901425B1 (en) * | 1996-12-23 | 2005-05-31 | International Business Machines Corporation | Computer apparatus and method including a disconnect mechanism for communicating between software applications and computers on the world-wide web |
| US6710786B1 (en) | 1997-02-03 | 2004-03-23 | Oracle International Corporation | Method and apparatus for incorporating state information into a URL |
| US6845505B1 (en) | 1997-02-03 | 2005-01-18 | Oracle International Corporation | Web request broker controlling multiple processes |
| US6225995B1 (en) * | 1997-10-31 | 2001-05-01 | Oracle Corporaton | Method and apparatus for incorporating state information into a URL |
| US6285683B1 (en) * | 1997-02-14 | 2001-09-04 | Global Adsi Solutions, Inc. | Method and apparatus for providing extended capability telephone services via an automated server |
| US7020700B1 (en) * | 1997-02-28 | 2006-03-28 | International Business Machines Corporation | Client side socks server for an internet client |
| US6345303B1 (en) * | 1997-03-25 | 2002-02-05 | Intel Corporation | Network proxy capable of dynamically selecting a destination device for servicing a client request |
| US6170017B1 (en) * | 1997-05-08 | 2001-01-02 | International Business Machines Corporation | Method and system coordinating actions among a group of servers |
| JP3883647B2 (ja) * | 1997-06-10 | 2007-02-21 | インターナショナル・ビジネス・マシーンズ・コーポレーション | メッセージ処理方法、メッセージ処理装置及びメッセージ処理を制御するプログラムを格納する記憶媒体 |
| US6182092B1 (en) * | 1997-07-14 | 2001-01-30 | Microsoft Corporation | Method and system for converting between structured language elements and objects embeddable in a document |
| US6049877A (en) * | 1997-07-16 | 2000-04-11 | International Business Machines Corporation | Systems, methods and computer program products for authorizing common gateway interface application requests |
| US6334114B1 (en) | 1997-10-31 | 2001-12-25 | Oracle Corporation | Method and apparatus for performing transactions in a stateless web environment which supports a declarative paradigm |
| GB9726484D0 (en) * | 1997-12-15 | 1998-02-11 | British Telecomm | Data communications |
| WO1999034286A1 (en) * | 1997-12-29 | 1999-07-08 | Postx Corporation | Method and apparatus capable of embedding, extracting and processing data within a file having an html format |
| US6357010B1 (en) * | 1998-02-17 | 2002-03-12 | Secure Computing Corporation | System and method for controlling access to documents stored on an internal network |
| DE19814859B4 (de) * | 1998-04-02 | 2006-04-13 | Fujitsu Siemens Computers Gmbh | Verfahren zum Steuern des Informationsaustausches unter Verwendung des Internet |
| US7346689B1 (en) * | 1998-04-20 | 2008-03-18 | Sun Microsystems, Inc. | Computer architecture having a stateless human interface device and methods of use |
| US6353839B1 (en) * | 1998-04-30 | 2002-03-05 | Openwave Systems Inc. | Method for inline variables management in a hypermedia display language |
| US6308212B1 (en) * | 1998-05-29 | 2001-10-23 | Hewlett-Packard Company | Web user interface session and sharing of session environment information |
| US6810409B1 (en) * | 1998-06-02 | 2004-10-26 | British Telecommunications Public Limited Company | Communications network |
| US6345278B1 (en) * | 1998-06-04 | 2002-02-05 | Collegenet, Inc. | Universal forms engine |
| US6311269B2 (en) * | 1998-06-15 | 2001-10-30 | Lockheed Martin Corporation | Trusted services broker for web page fine-grained security labeling |
| US6330566B1 (en) * | 1998-06-22 | 2001-12-11 | Microsoft Corporation | Apparatus and method for optimizing client-state data storage |
| US6131118A (en) * | 1998-07-07 | 2000-10-10 | Compaq Computer Corporation | Flexible display of management data in a programmable event driven processing system |
| US6108701A (en) * | 1998-07-20 | 2000-08-22 | Lucent Technologies, Inc. | Soft switch extension for internet protocol applications |
| US6496824B1 (en) * | 1999-02-19 | 2002-12-17 | Saar Wilf | Session management over a stateless protocol |
| US6519646B1 (en) * | 1998-09-01 | 2003-02-11 | Sun Microsystems, Inc. | Method and apparatus for encoding content characteristics |
| US6397253B1 (en) * | 1998-10-06 | 2002-05-28 | Bull Hn Information Systems Inc. | Method and system for providing high performance Web browser and server communications |
| US7765279B1 (en) | 1998-10-28 | 2010-07-27 | Verticalone Corporation | System and method for scheduling harvesting of personal information |
| EP0999677A1 (de) * | 1998-11-05 | 2000-05-10 | Olaf Walkowiak | Verfahren und Vorrichtung zum Bereitstellen von Zustandsinformationen bei der Übertragung von Hypertextdokumenten über ein zustandloses Protokoll |
| US6295531B1 (en) * | 1998-11-09 | 2001-09-25 | Unisys Corporation | Cool ICE data wizard |
| US6324539B1 (en) * | 1998-11-09 | 2001-11-27 | Unisys Corporation | Cool ice state management |
| US6662343B1 (en) * | 1998-11-09 | 2003-12-09 | Unisys Corporation | Cool ice automatic footer text on HTML pages |
| AU2151500A (en) * | 1998-11-16 | 2000-06-05 | Trade Access, Inc. | Integrated remote web authoring system |
| US7162458B1 (en) | 1998-11-16 | 2007-01-09 | Sky Technologies, Llc | System and method for process mining |
| US8418131B2 (en) | 1998-11-25 | 2013-04-09 | Helmut Emmelmann | Interactive server side components |
| US7672879B1 (en) | 1998-12-08 | 2010-03-02 | Yodlee.Com, Inc. | Interactive activity interface for managing personal data and performing transactions over a data packet network |
| US8069407B1 (en) | 1998-12-08 | 2011-11-29 | Yodlee.Com, Inc. | Method and apparatus for detecting changes in websites and reporting results to web developers for navigation template repair purposes |
| US7085997B1 (en) * | 1998-12-08 | 2006-08-01 | Yodlee.Com | Network-based bookmark management and web-summary system |
| US6631512B1 (en) * | 1999-01-15 | 2003-10-07 | Gillis E Onyeabor | Method and system for database-driven, scalable web page development, deployment-download, and execution |
| WO2000068856A2 (en) | 1999-05-11 | 2000-11-16 | Webvan Group, Inc. | Electronic commerce enabled delivery system and method |
| US6975937B1 (en) | 1999-05-11 | 2005-12-13 | Christopher Kantarjiev | Technique for processing customer service transactions at customer site using mobile computing device |
| US7177825B1 (en) | 1999-05-11 | 2007-02-13 | Borders Louis H | Integrated system for ordering, fulfillment, and delivery of consumer products using a data network |
| US7370005B1 (en) | 1999-05-11 | 2008-05-06 | Peter Ham | Inventory replication based upon order fulfillment rates |
| US7305473B2 (en) * | 1999-05-28 | 2007-12-04 | The Coca-Cola Company | Provision of transparent proxy services to a user of a client device |
| US7752535B2 (en) | 1999-06-01 | 2010-07-06 | Yodlec.com, Inc. | Categorization of summarized information |
| US6330719B1 (en) * | 1999-06-30 | 2001-12-11 | Webtv Networks, Inc. | Interactive television receiver unit browser that waits to send requests |
| US6557038B1 (en) * | 1999-06-30 | 2003-04-29 | International Business Machines Corporation | Method and apparatus for maintaining session states |
| FR2796511A1 (fr) * | 1999-07-16 | 2001-01-19 | Telediffusion Fse | Telecommande d'execution d'une fonction dans un serveur |
| EP1085715A3 (en) * | 1999-08-28 | 2001-06-06 | Sevenval AG | Providing state information in a data communication protocol |
| WO2001017197A2 (en) * | 1999-08-28 | 2001-03-08 | Sevenval Ag | Providing state information in a stateless data communication protocol |
| WO2001016781A1 (en) * | 1999-08-30 | 2001-03-08 | Kerbango, Inc. | Search engine to monitor and verify streaming audio sources |
| US6421717B1 (en) | 1999-09-10 | 2002-07-16 | Avantgo, Inc. | System, method, and computer program product for customizing channels, content, and data for mobile devices |
| US20010047394A1 (en) | 1999-09-10 | 2001-11-29 | Kloba David D. | System, method, and computer program product for executing scripts on mobile devices |
| US8595308B1 (en) | 1999-09-10 | 2013-11-26 | Ianywhere Solutions, Inc. | System, method, and computer program product for server side processing in a mobile device environment |
| US7392308B2 (en) * | 1999-09-10 | 2008-06-24 | Ianywhere Solutions, Inc. | System, method, and computer program product for placement of channels on a mobile device |
| US20020052781A1 (en) * | 1999-09-10 | 2002-05-02 | Avantgo, Inc. | Interactive advertisement mechanism on a mobile device |
| US7987420B1 (en) | 1999-09-10 | 2011-07-26 | Ianywhere Solutions, Inc. | System, method, and computer program product for a scalable, configurable, client/server, cross-platform browser for mobile devices |
| AU1079901A (en) * | 1999-10-11 | 2001-04-23 | I2 Technologies, Inc. | Distributed session services |
| US6629092B1 (en) * | 1999-10-13 | 2003-09-30 | Andrew Berke | Search engine |
| EP1232482B1 (en) * | 1999-10-18 | 2016-07-06 | Stamps.Com | Secure and recoverable database for on-line value-bearing item system |
| EP1224628B1 (en) | 1999-10-18 | 2017-02-22 | Stamps.Com | Cryptographic module for secure processing of value-bearing items |
| US6751651B2 (en) | 1999-11-30 | 2004-06-15 | David A. Crockett | Web-site consistency administration among inconsistent software-object libraries of remote distributed health-care providers |
| US6888942B2 (en) * | 1999-11-30 | 2005-05-03 | David A. Crockett | Process for administrating over changes to server-administrated client records in a stateless protocol |
| US8135682B1 (en) | 1999-11-30 | 2012-03-13 | Crockett David A | Process for administrating over changes to server-administrated client records in a stateless protocol |
| US7107308B2 (en) * | 1999-12-01 | 2006-09-12 | Sun Microsystems, Inc. | Low cost, stateless, full-featured information appliance |
| US6970904B1 (en) * | 1999-12-29 | 2005-11-29 | Rode Consulting, Inc. | Methods and apparatus for sharing computational resources |
| AU2001228215A1 (en) * | 2000-01-24 | 2001-07-31 | Newheights Software Corporation | Improved method and system of state management for data communications |
| US7299210B2 (en) | 2000-02-16 | 2007-11-20 | Stamps.Com | On-line value-bearing indicium printing using DSA |
| US20010037407A1 (en) * | 2000-03-23 | 2001-11-01 | Zvetan Dragulev | System and method for managing user-specific data |
| GB2348659B (en) * | 2000-03-23 | 2001-03-28 | Fmc Corp | Tubing hanger saddle valve |
| US6886037B1 (en) * | 2000-03-31 | 2005-04-26 | Ncr Corporation | Channel director for cross-channel customer interactions |
| CA2406084A1 (en) * | 2000-04-17 | 2001-10-25 | Lonnie S. Clabaugh | Stateless mechanism for data retrieval |
| US7240283B1 (en) | 2000-11-10 | 2007-07-03 | Narasimha Rao Paila | Data transmission and rendering techniques implemented over a client-server system |
| US6985946B1 (en) | 2000-05-12 | 2006-01-10 | Microsoft Corporation | Authentication and authorization pipeline architecture for use in a web server |
| EP1302881B1 (en) * | 2000-05-15 | 2008-07-16 | Nifty Corporation | Order processing system and method |
| EP1302880B1 (en) * | 2000-05-15 | 2008-07-30 | Nifty Corporation | Electronic commerce information processing system and method |
| US7908200B2 (en) | 2000-05-16 | 2011-03-15 | Versata Development Group, Inc. | Method and apparatus for efficiently generating electronic requests for quote |
| WO2001089170A2 (en) * | 2000-05-17 | 2001-11-22 | Interactive Video Technologies, Inc. | Method for state preservation in http-based communications |
| US6990653B1 (en) | 2000-05-18 | 2006-01-24 | Microsoft Corporation | Server-side code generation from a dynamic web page content file |
| US6961750B1 (en) | 2000-05-18 | 2005-11-01 | Microsoft Corp. | Server-side control objects for processing client-side user interface elements |
| US6757900B1 (en) * | 2000-05-18 | 2004-06-29 | Microsoft Corporation | State management of server-side control objects |
| US6792607B1 (en) * | 2000-05-18 | 2004-09-14 | Microsoft Corporation | Databinding using server-side control objects |
| US7013340B1 (en) | 2000-05-18 | 2006-03-14 | Microsoft Corporation | Postback input handling by server-side control objects |
| US7739354B2 (en) * | 2000-10-12 | 2010-06-15 | Sap Portals Israel Ltd. | Adding data to text pages by means of an intermediary proxy |
| CN1878180A (zh) * | 2000-05-29 | 2006-12-13 | 诺基亚有限公司 | 同步方法 |
| AU2001268334A1 (en) * | 2000-06-14 | 2001-12-24 | Johnson & Johnson Health Care Systems, Inc. | On-line medical shopping system |
| US6996599B1 (en) | 2000-06-21 | 2006-02-07 | Microsoft Corporation | System and method providing multi-tier applications architecture |
| US7171455B1 (en) * | 2000-08-22 | 2007-01-30 | International Business Machines Corporation | Object oriented based, business class methodology for generating quasi-static web pages at periodic intervals |
| US6799251B1 (en) | 2000-08-29 | 2004-09-28 | Oracle International Corporation | Performance-based caching |
| US6853994B1 (en) * | 2000-08-30 | 2005-02-08 | International Business Machines Corporation | Object oriented based, business class methodology for performing data metric analysis |
| JP4200645B2 (ja) * | 2000-09-08 | 2008-12-24 | 日本電気株式会社 | 情報処理装置、情報処理方法および記録媒体 |
| US7426513B2 (en) * | 2000-10-12 | 2008-09-16 | Sap Portals Israel Ltd. | Client-based objectifying of text pages |
| US6848000B1 (en) * | 2000-11-12 | 2005-01-25 | International Business Machines Corporation | System and method for improved handling of client state objects |
| US7233914B1 (en) | 2000-12-27 | 2007-06-19 | Joyo Wijaya | Technique for implementing item substitution for unavailable items relating to a customer order |
| US7246351B2 (en) * | 2001-02-20 | 2007-07-17 | Jargon Software | System and method for deploying and implementing software applications over a distributed network |
| US7720958B2 (en) | 2001-03-09 | 2010-05-18 | International Business Machines Corporation | Method and system for embedding correlated performance measurements for distributed application performance decomposition |
| US7380250B2 (en) | 2001-03-16 | 2008-05-27 | Microsoft Corporation | Method and system for interacting with devices having different capabilities |
| US7308423B1 (en) | 2001-03-19 | 2007-12-11 | Franklin Goodhue Woodward | Technique for handling sales of regulated items implemented over a data network |
| US7447802B2 (en) * | 2001-03-30 | 2008-11-04 | Oracle International Corporation | Method and system for maintaining a configuration state |
| EP1253517A1 (en) * | 2001-04-26 | 2002-10-30 | Telefonaktiebolaget Lm Ericsson | Stateless server |
| WO2002088951A1 (en) * | 2001-04-26 | 2002-11-07 | Telefonaktiebolaget Lm Ericsson (Publ) | Stateless server |
| CN101833952B (zh) * | 2001-05-04 | 2013-02-13 | 微软公司 | 客户服务器系统中处理输入数据的方法 |
| US20020188666A1 (en) * | 2001-05-23 | 2002-12-12 | Lemon Michael J. | Lightweight dynamic service conversation controller |
| GB0112780D0 (en) * | 2001-05-25 | 2001-07-18 | Nokia Corp | Requests in a communication system |
| US7493397B1 (en) | 2001-06-06 | 2009-02-17 | Microsoft Corporation | Providing remote processing services over a distributed communications network |
| US6944797B1 (en) | 2001-06-07 | 2005-09-13 | Microsoft Corporation | Method and system for tracing |
| US6915454B1 (en) | 2001-06-12 | 2005-07-05 | Microsoft Corporation | Web controls validation |
| US7162723B2 (en) | 2001-06-29 | 2007-01-09 | Microsoft Corporation | ASP.NET HTTP runtime |
| US6898604B1 (en) | 2001-06-29 | 2005-05-24 | Microsoft Corporation | XML serialization and deserialization |
| KR100760789B1 (ko) * | 2001-06-30 | 2007-09-20 | 주식회사 케이티 | 인터넷 서비스 시스템에서 과금대행을 위한 컨텐츠 중계방법 |
| US7594001B1 (en) | 2001-07-06 | 2009-09-22 | Microsoft Corporation | Partial page output caching |
| US7120897B2 (en) * | 2001-07-10 | 2006-10-10 | Microsoft Corporation | User control objects for providing server-side code generation from a user-defined dynamic web page content file |
| EP1280054A1 (en) | 2001-07-27 | 2003-01-29 | Sap Ag | Method and computer system for separating and processing layout information and data of a document |
| ATE459043T1 (de) | 2001-07-27 | 2010-03-15 | Sap Ag | Verfahren und rechnersystem zum bereitstellen und verarbeiten einer beschreibung einer menschschnittstelle |
| EP1280055B1 (en) | 2001-07-27 | 2010-04-14 | Sap Ag | Method and computer system for creating and processing a browser compliant human interface description |
| US7216294B2 (en) | 2001-09-04 | 2007-05-08 | Microsoft Corporation | Method and system for predicting optimal HTML structure without look-ahead |
| US7428725B2 (en) | 2001-11-20 | 2008-09-23 | Microsoft Corporation | Inserting devices specific content |
| GB2382962A (en) * | 2001-12-07 | 2003-06-11 | Altio Ltd | Data routing without using an address |
| US20030110266A1 (en) * | 2001-12-10 | 2003-06-12 | Cysive, Inc. | Apparatus and method of using session state data across sessions |
| US20040205569A1 (en) * | 2002-02-06 | 2004-10-14 | Mccarty Jon S. | Method and system to manage outdated web page links in a computing system |
| WO2003083689A1 (en) * | 2002-03-25 | 2003-10-09 | Myriagon Corporation | Information management system |
| US20030225885A1 (en) * | 2002-05-31 | 2003-12-04 | Comverse, Ltd. | Caching for limited bandwidth networks |
| US20030232245A1 (en) * | 2002-06-13 | 2003-12-18 | Jeffrey A. Turak | Interactive training software |
| KR20040028257A (ko) * | 2002-09-30 | 2004-04-03 | 삼성전자주식회사 | 네트워크에 접근가능한 장치, 그 보안 방법 및 정보저장매체 |
| US7574653B2 (en) | 2002-10-11 | 2009-08-11 | Microsoft Corporation | Adaptive image formatting control |
| US20040153973A1 (en) * | 2002-11-21 | 2004-08-05 | Lawrence Horwitz | System and method for automatically storing and recalling application states based on application contexts |
| US7472170B2 (en) | 2003-02-13 | 2008-12-30 | Bruce Zak | System and method for managing content on a network interface |
| US7634570B2 (en) * | 2003-03-12 | 2009-12-15 | Microsoft Corporation | Managing state information across communication sessions between a client and a server via a stateless protocol |
| US7240192B1 (en) | 2003-03-12 | 2007-07-03 | Microsoft Corporation | Combining a browser cache and cookies to improve the security of token-based authentication protocols |
| US7451305B1 (en) | 2003-04-10 | 2008-11-11 | Cisco Technology, Inc. | Method and apparatus for securely exchanging cryptographic identities through a mutually trusted intermediary |
| JP4209712B2 (ja) * | 2003-04-15 | 2009-01-14 | 株式会社リコー | 情報処理装置及びセッション管理方法 |
| US7107293B2 (en) * | 2003-04-30 | 2006-09-12 | International Business Machines Corporation | Nested recovery scope management for stateless recovery agents |
| JP4097584B2 (ja) * | 2003-09-19 | 2008-06-11 | 株式会社リコー | Wwwサーバ機能を有する組み込み機器、ウェブページ提供方法、および、ウェブページ提供制御プログラム |
| US7873353B2 (en) * | 2003-09-30 | 2011-01-18 | Ianywhere Solutions, Inc. | Method and system for accessing applications and data, and for tracking of key indicators on mobile handheld devices |
| US7596782B2 (en) * | 2003-10-24 | 2009-09-29 | Microsoft Corporation | Software build extensibility |
| US20070143456A1 (en) * | 2003-12-10 | 2007-06-21 | Alex Mashinsky | Exchange of centralized control data |
| US7346773B2 (en) * | 2004-01-12 | 2008-03-18 | Cisco Technology, Inc. | Enabling stateless server-based pre-shared secrets |
| US7373502B2 (en) * | 2004-01-12 | 2008-05-13 | Cisco Technology, Inc. | Avoiding server storage of client state |
| US7996631B1 (en) | 2004-02-17 | 2011-08-09 | Oracle America, Inc. | System and method for accessing storage devices attached to a stateless client |
| US7536672B1 (en) * | 2004-03-05 | 2009-05-19 | Adobe Systems Incorporated | Management of user interaction history with software applications |
| US7565538B2 (en) * | 2004-04-05 | 2009-07-21 | Microsoft Corporation | Flow token |
| US7890604B2 (en) | 2004-05-07 | 2011-02-15 | Microsoft Corproation | Client-side callbacks to server events |
| US9026578B2 (en) | 2004-05-14 | 2015-05-05 | Microsoft Corporation | Systems and methods for persisting data between web pages |
| US8065600B2 (en) | 2004-05-14 | 2011-11-22 | Microsoft Corporation | Systems and methods for defining web content navigation |
| US7464386B2 (en) | 2004-05-17 | 2008-12-09 | Microsoft Corporation | Data controls architecture |
| US8156448B2 (en) | 2004-05-28 | 2012-04-10 | Microsoft Corporation | Site navigation and site navigation data source |
| US7530058B2 (en) | 2004-05-28 | 2009-05-05 | Microsoft Corporation | Non-compile pages |
| KR100636147B1 (ko) * | 2004-06-24 | 2006-10-18 | 삼성전자주식회사 | 네트워크를 통한 컨텐츠의 제어 방법 및 장치, 컨텐츠제공 방법 및 장치 |
| US8135803B2 (en) * | 2004-08-23 | 2012-03-13 | Ianywhere Solutions, Inc. | Method, system, and computer program product for offline advertisement servicing and cycling |
| US9552599B1 (en) * | 2004-09-10 | 2017-01-24 | Deem, Inc. | Platform for multi-service procurement |
| US20060064470A1 (en) * | 2004-09-23 | 2006-03-23 | Sargent Antony J | Method, system, and computer program product for improved synchronization efficiency for mobile devices, including database hashing and caching of web access errors |
| US20060287966A1 (en) * | 2004-12-21 | 2006-12-21 | Oracle International Corporation | Methods and systems for authoring customized contracts using contract templates that include user-configured rules and questions |
| US20060230046A1 (en) * | 2005-03-30 | 2006-10-12 | Brassil J M | Component design by tables within tables |
| US7350227B2 (en) * | 2005-04-26 | 2008-03-25 | Cisco Technology, Inc. | Cryptographic peer discovery, authentication, and authorization for on-path signaling |
| US7577661B2 (en) * | 2005-06-30 | 2009-08-18 | Microsoft Corporation | Extensible and automatically replicating server farm configuration management infrastructure |
| JP4285655B2 (ja) * | 2005-07-19 | 2009-06-24 | インターナショナル・ビジネス・マシーンズ・コーポレーション | Webサービスを提供する方法、装置、プログラム |
| US7757239B2 (en) * | 2005-08-29 | 2010-07-13 | Sap Ag | Systems and methods for suspending and resuming of a stateful web application |
| US8176408B2 (en) | 2005-09-12 | 2012-05-08 | Microsoft Corporation | Modularized web provisioning |
| US8756326B1 (en) | 2005-11-08 | 2014-06-17 | Rockstar Consortium Us Lp | Using interactive communication session cookies in web sessions |
| US20070106670A1 (en) * | 2005-11-08 | 2007-05-10 | Nortel Networks Limited | Interactive communication session cookies |
| US8127304B2 (en) * | 2006-05-31 | 2012-02-28 | Rocket Software, Inc. | Mapping and communicating data from a user interface to an application program |
| US8849719B2 (en) * | 2006-08-02 | 2014-09-30 | Christopher W. Baker | Providing content to a portable playback device |
| US7606752B2 (en) | 2006-09-07 | 2009-10-20 | Yodlee Inc. | Host exchange in bill paying services |
| US20080306784A1 (en) * | 2007-06-05 | 2008-12-11 | Vijay Rajkumar | Computer-implemented methods and systems for analyzing clauses of contracts and other business documents |
| US8037004B2 (en) | 2007-06-11 | 2011-10-11 | Oracle International Corporation | Computer-implemented methods and systems for identifying and reporting deviations from standards and policies for contracts, agreements and other business documents |
| EP2235881A2 (en) * | 2007-12-07 | 2010-10-06 | Gallup, Inc. | Preserving state information client-server system networked via a stateless protocol |
| US8122482B2 (en) * | 2008-01-24 | 2012-02-21 | Cisco Technology, Inc. | Cryptographic peer discovery, authentication, and authorization for on-path signaling |
| CN101527708B (zh) * | 2008-03-04 | 2012-10-03 | 华为技术有限公司 | 恢复连接的方法和装置 |
| US8261334B2 (en) | 2008-04-25 | 2012-09-04 | Yodlee Inc. | System for performing web authentication of a user by proxy |
| JP4429363B2 (ja) * | 2008-08-18 | 2010-03-10 | 株式会社エヌ・ティ・ティ・ドコモ | 移動通信方法、交換局及び無線基地局 |
| US8984165B2 (en) * | 2008-10-08 | 2015-03-17 | Red Hat, Inc. | Data transformation |
| CN103179075B (zh) * | 2008-11-20 | 2017-06-27 | 华为技术有限公司 | 协作多点传输中确定资源映射的方法、网络设备及系统 |
| US8555359B2 (en) | 2009-02-26 | 2013-10-08 | Yodlee, Inc. | System and methods for automatically accessing a web site on behalf of a client |
| US8238538B2 (en) | 2009-05-28 | 2012-08-07 | Comcast Cable Communications, Llc | Stateful home phone service |
| US9015136B2 (en) * | 2010-01-22 | 2015-04-21 | Microsoft Technology Licensing, Llc | Storing temporary state data in separate containers |
| US8788580B2 (en) | 2010-12-29 | 2014-07-22 | Oracle International Corporation | Event broker for an improved application server platform for telecom-based applications |
| US9106599B2 (en) | 2011-10-17 | 2015-08-11 | Disintermediation Services, Inc. | Two-way real time communication allowing asymmetric participation across multiple electronic platforms |
| US20130290830A1 (en) * | 2012-04-30 | 2013-10-31 | Salesforce.Com, Inc. | System and method for managing a viewstate of a web application |
| US9449346B1 (en) | 2014-05-21 | 2016-09-20 | Plaid Technologies, Inc. | System and method for programmatically accessing financial data |
| US9595023B1 (en) | 2014-05-21 | 2017-03-14 | Plaid Technologies, Inc. | System and method for facilitating programmatic verification of transactions |
| US11574621B1 (en) * | 2014-12-23 | 2023-02-07 | Amazon Technologies, Inc. | Stateless third party interactions |
| US10003591B2 (en) | 2015-09-08 | 2018-06-19 | Plaid Technologies, Inc. | Secure permissioning of access to user accounts, including secure deauthorization of access to user accounts |
| US10223233B2 (en) | 2015-10-21 | 2019-03-05 | International Business Machines Corporation | Application specific interaction based replays |
| US9867021B1 (en) | 2015-12-02 | 2018-01-09 | Hopgrade, Inc. | Specially programmed computing devices being continuously configured to allow unfamiliar individuals to have instantaneous real-time meetings to create a new marketplace for goods and/or services |
| US10726491B1 (en) | 2015-12-28 | 2020-07-28 | Plaid Inc. | Parameter-based computer evaluation of user accounts based on user account data stored in one or more databases |
| US10984468B1 (en) | 2016-01-06 | 2021-04-20 | Plaid Inc. | Systems and methods for estimating past and prospective attribute values associated with a user account |
| US10878421B2 (en) | 2017-07-22 | 2020-12-29 | Plaid Inc. | Data verified deposits |
| US11468085B2 (en) | 2017-07-22 | 2022-10-11 | Plaid Inc. | Browser-based aggregation |
| US10937011B1 (en) | 2018-09-11 | 2021-03-02 | Rodan & Fields, Llc | System and method for monitoring and updating content for an e-commerce platform |
| US11316862B1 (en) | 2018-09-14 | 2022-04-26 | Plaid Inc. | Secure authorization of access to user accounts by one or more authorization mechanisms |
| US11887069B2 (en) | 2020-05-05 | 2024-01-30 | Plaid Inc. | Secure updating of allocations to user accounts |
| US11327960B1 (en) | 2020-10-16 | 2022-05-10 | Plaid Inc. | Systems and methods for data parsing |
| US12361213B2 (en) | 2020-10-16 | 2025-07-15 | Plaid Inc. | Systems and methods for data parsing |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO1997032258A1 (en) * | 1996-02-28 | 1997-09-04 | Aim Corporation | Communication system for distributing such message as advertisement to user of terminal equipment |
| WO1997032257A1 (en) * | 1996-02-28 | 1997-09-04 | Aim Corporation | Communication system capable of providing user with picture meeting characteristics of user and terminal equipment and information providing device used for the same |
| JPH09265456A (ja) * | 1996-03-29 | 1997-10-07 | Fujitsu Ltd | コネクションレスな通信における従量制課金システムおよび方法 |
| JPH09296819A (ja) * | 1996-01-11 | 1997-11-18 | Sun Microsyst Inc | ウェブ用ステートレス・ショッピングカート |
| JPH09325906A (ja) * | 1996-06-04 | 1997-12-16 | Inter Sci Kk | コンピュータシステム |
Family Cites Families (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5218695A (en) * | 1990-02-05 | 1993-06-08 | Epoch Systems, Inc. | File server system having high-speed write execution |
| DE69327448T2 (de) * | 1992-12-21 | 2004-03-04 | Sun Microsystems, Inc., Mountain View | Verfahren und Vorrichtung für Teilaufgaben in verteiltem Verarbeitungssystem |
| CA2121612A1 (en) * | 1993-05-21 | 1994-11-22 | Chung-Hwa Herman Rao | Methods and apparatus for making and using distributed applications |
| DE69521101T2 (de) * | 1994-10-31 | 2001-10-18 | International Business Machines Corp., Armonk | Gemeinsam genutzte virtuelle Platten mit anwendungstransparenter Wiedergewinnung |
| US5623656A (en) * | 1994-12-15 | 1997-04-22 | Lucent Technologies Inc. | Script-based data communication system and method utilizing state memory |
| US5701451A (en) * | 1995-06-07 | 1997-12-23 | International Business Machines Corporation | Method for fulfilling requests of a web browser |
| US5708780A (en) * | 1995-06-07 | 1998-01-13 | Open Market, Inc. | Internet server access control and monitoring systems |
| US5710918A (en) * | 1995-06-07 | 1998-01-20 | International Business Machines Corporation | Method for distributed task fulfillment of web browser requests |
| US5774670A (en) * | 1995-10-06 | 1998-06-30 | Netscape Communications Corporation | Persistent client state in a hypertext transfer protocol based client-server system |
-
1996
- 1996-06-07 US US08/660,633 patent/US5961601A/en not_active Expired - Lifetime
-
1997
- 1997-04-24 KR KR1019970015267A patent/KR100288490B1/ko not_active Expired - Lifetime
- 1997-05-16 CN CN97111570A patent/CN1108682C/zh not_active Expired - Lifetime
- 1997-05-22 EP EP97303519A patent/EP0812088A3/en not_active Withdrawn
- 1997-05-30 JP JP14176297A patent/JP3290377B2/ja not_active Expired - Lifetime
- 1997-06-02 CA CA002206685A patent/CA2206685C/en not_active Expired - Lifetime
- 1997-06-06 TW TW086107800A patent/TW349305B/zh not_active IP Right Cessation
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH09296819A (ja) * | 1996-01-11 | 1997-11-18 | Sun Microsyst Inc | ウェブ用ステートレス・ショッピングカート |
| WO1997032258A1 (en) * | 1996-02-28 | 1997-09-04 | Aim Corporation | Communication system for distributing such message as advertisement to user of terminal equipment |
| WO1997032257A1 (en) * | 1996-02-28 | 1997-09-04 | Aim Corporation | Communication system capable of providing user with picture meeting characteristics of user and terminal equipment and information providing device used for the same |
| JPH09265456A (ja) * | 1996-03-29 | 1997-10-07 | Fujitsu Ltd | コネクションレスな通信における従量制課金システムおよび方法 |
| JPH09325906A (ja) * | 1996-06-04 | 1997-12-16 | Inter Sci Kk | コンピュータシステム |
Cited By (11)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH10124459A (ja) * | 1996-10-23 | 1998-05-15 | Nri & Ncc Co Ltd | Www環境下で作動するクライアントサーバーシステムにおけるユーザー認証方法 |
| JPH11327863A (ja) * | 1998-05-14 | 1999-11-30 | Canon Inc | ページデータ生成制御装置及び方法及びコンピュータ読み取り可能なプログラムが格納された記憶媒体 |
| JP2000207365A (ja) * | 1999-01-13 | 2000-07-28 | Internatl Business Mach Corp <Ibm> | トランザクション処理方法及び記憶媒体 |
| JP2000293426A (ja) * | 1999-04-01 | 2000-10-20 | Nec Soft Ltd | レコードロック方式 |
| WO2001050276A1 (fr) * | 2000-01-05 | 2001-07-12 | E-Pop Corp. | Procede et dispositif servant d'intermediaire d'informations multimedia, procede et systeme de mise a jour de referencement de sites web |
| WO2001071638A1 (en) * | 2000-03-20 | 2001-09-27 | Zoi Net Co.,Ltd | An internet storage service system and method |
| JP2002024072A (ja) * | 2000-07-04 | 2002-01-25 | Honda Motor Co Ltd | 共有データベースを備えた電子ファイル管理システム |
| US7069292B2 (en) | 2000-08-29 | 2006-06-27 | Fujitsu Limited | Automatic display method and apparatus for update information, and medium storing program for the method |
| JP2006508622A (ja) * | 2002-12-02 | 2006-03-09 | エスアーペー アーゲー | セッション復帰可能な、処理状態を把握するウェブアプリケーション |
| JPWO2008032717A1 (ja) * | 2006-09-12 | 2010-01-28 | ソニー株式会社 | Httpクライアントの上で動作するアプリケーションのデータ保存方法及びデータ読み出し方法並びにデータ保存プログラム及びデータ読み出しプログラム |
| US8639732B2 (en) | 2006-09-12 | 2014-01-28 | Sony Corporation | Method for storing and reading-out data handled by application operating on HTTP client, data storage program, and data read-out program |
Also Published As
| Publication number | Publication date |
|---|---|
| CA2206685A1 (en) | 1997-12-07 |
| CN1173671A (zh) | 1998-02-18 |
| KR980004051A (ko) | 1998-03-30 |
| TW349305B (en) | 1999-01-01 |
| KR100288490B1 (ko) | 2001-05-02 |
| CA2206685C (en) | 2001-04-17 |
| CN1108682C (zh) | 2003-05-14 |
| JP3290377B2 (ja) | 2002-06-10 |
| EP0812088A2 (en) | 1997-12-10 |
| US5961601A (en) | 1999-10-05 |
| EP0812088A3 (en) | 1998-06-10 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP3290377B2 (ja) | 無状態ネットワーク・プロトコルにおける状態の保存方法および装置 | |
| US6604135B1 (en) | WWW client server dynamic interactive system method | |
| US5745754A (en) | Sub-agent for fulfilling requests of a web browser using an intelligent agent and providing a report | |
| US5752246A (en) | Service agent for fulfilling requests of a web browser | |
| US5793964A (en) | Web browser system | |
| US5710918A (en) | Method for distributed task fulfillment of web browser requests | |
| CA2177917C (en) | Computer network for www server data access over internet | |
| US6199104B1 (en) | Server-based host monitor | |
| KR100275403B1 (ko) | 컴퓨터 네트워크에서의 통신 접속 장치 및 방법 | |
| US5896533A (en) | Accessing internets world-wide web through object linking and embedding technology | |
| US6397253B1 (en) | Method and system for providing high performance Web browser and server communications | |
| US6105028A (en) | Method and apparatus for accessing copies of documents using a web browser request interceptor | |
| JP3935650B2 (ja) | トランザクション処理方法及び記憶媒体 | |
| US6754710B1 (en) | Remote control of computer network activity | |
| US20040205557A1 (en) | Method and apparatus for portable universal resource locator and coding across runtime environments | |
| KR19990067537A (ko) | 대화식 하이퍼미디윰을 작성하기 위한 방법 및 그 장치 | |
| JPH10162030A (ja) | ハイパ−リンク情報をレンダするための方法及び装置 | |
| US20020143750A1 (en) | Simplifying browser search requests | |
| US20030225858A1 (en) | Method and apparatus for traversing Web pages in a network data processing system | |
| US20030172126A1 (en) | Method and system for displaying condensed web page information in response to a user query | |
| KR100209837B1 (ko) | 인터넷을 통해 월드 와이드 웹 서버 데이타를 액세스하기 위한 웹 브라우저 시스템 웹 서버 시스템 웹 브라우저 요구 충족 방법 및 웹 브라우저의 분산 태스크 요구 실행 방법 | |
| WO2000079435A1 (en) | Site identification system | |
| JP2002032412A (ja) | ホームページの検索方法およびホームページ検索サーバ |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090322 Year of fee payment: 7 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100322 Year of fee payment: 8 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110322 Year of fee payment: 9 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110322 Year of fee payment: 9 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120322 Year of fee payment: 10 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130322 Year of fee payment: 11 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140322 Year of fee payment: 12 |
|
| S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
| EXPY | Cancellation because of completion of term |