JP3578221B2 - データ通信サーバ・システム - Google Patents

データ通信サーバ・システム Download PDF

Info

Publication number
JP3578221B2
JP3578221B2 JP54180997A JP54180997A JP3578221B2 JP 3578221 B2 JP3578221 B2 JP 3578221B2 JP 54180997 A JP54180997 A JP 54180997A JP 54180997 A JP54180997 A JP 54180997A JP 3578221 B2 JP3578221 B2 JP 3578221B2
Authority
JP
Japan
Prior art keywords
response
program
session
request
client
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
JP54180997A
Other languages
English (en)
Other versions
JPH11510632A (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 JPH11510632A publication Critical patent/JPH11510632A/ja
Application granted granted Critical
Publication of JP3578221B2 publication Critical patent/JP3578221B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/541Interprogram communication via adapters, e.g. between incompatible applications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • 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
    • 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
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/08Protocols for interworking; Protocol conversion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)

Description

技術分野
本発明は、ネットワークにおいてデータ通信及びデータ処理資源、又はそのどちらかをリンクすることに関するものであり、特に、相異なる通信環境の間にリンクを設けることに関するものである。
背景技術
コンピュータの「ネットワーク」は、相互に情報を交換し得る任意の数のコンピュータでよい。それらのコンピュータは、それらが情報を交換することができるようにそれらを相互に接続するための何らかの方法(例えば、電話線又は他の通信システムによる方法)が存在する限り、任意の構成で配列可能であって、しかも、同じ部屋に、或いは異なる国に設置可能である。複数のコンピュータが、ネットワークを形成するように相互に接続可能であると同様に、複数のネットワークが、ブリッジ及びゲートウェイとして知られたツールを通して、相互に接続可能である。これらのツールは、1つのネットワークにおけるコンピュータが他のネットワークにおけるコンピュータと情報を交換することを可能にする。インターネットは、単独の所有者又はコントローラを持たず、しかも、大型及び小型の公衆及び専用ネットワークを含む複数のネットワークより成るネットワークである。これらのネットワークでは、インターネット・プロトコル・ソフトウエアを実行するいずれの接続されたコンピュータも、セキュリティ・コントロールを受けて、そのインターネットに接続された他の任意のコンピュータと情報を交換することができる。このような相互に接続するように取り決められたネットワークの複合集合体は単一の伝送媒体に依存するものではない(例えば、双方向通信は、衛星リンク、光ファイバ中継回線、電話回線、ケーブルTV線、及びローカル無線リンクを介して生じ得るものである)。
ワールド・ワイド・ウェブ(WWW)インターネット・サービスは、大量のネットワーク・アクセス可能な情報へのアクセスを提供し、しかもインターネット接続されたコンピュータ相互間の低コスト通信を提供し得る広域情報検索機構である。ワールド・ワイド・ウェブに関する情報は、Andrew Ford著の「ウェブをスピンする(Spinning the Web)」と題した刊行物(International Thomson Pulbishing,London 1995)、及びJohn December及びNeil Randall著の「解放されたワールド・ワイド・ウェブ(The World Wide Web Unleashed)」と題した刊行物(SAMS Publishing,Indianapolis 1994)において見ることができる。WWWの使用は、それが、対話的なマルチメディア・プレゼンテーション機能と結合された融通性、可搬性、及び使い易さを結集したものであるために、爆発的な速度で成長しつつある。WWWは、インターネットに接続されしかも適切なソフトウエア及びハードウエア構成を有する任意のコンピュータが、インターネット上のどこかで使用可能にされた任意のドキュメントを検索することを可能にするものである。WWWにおける検索可能なドキュメントは、「ハイパーメディア」ドキュメント、即ち、テキスト・ドキュメント、或いはサウンド及びイメージのような他の形式のメディアであってもよいドキュメント、及び他のドキュメントに対するリンク(ハイパーリンク)を有するドキュメントを含む。WWWにおけるテキスト・ドキュメントのフォーマットは、1つのアペレーティング・システム及びハード・ウエア・プラットフォーム上で作成されたドキュメントが、ウェブ・ブラウザ(下記参照)を有する他の任意のプラットフォーム上でユーザにより読み取り可能であるようなHTML(ハイパーテキスト・マークアップ言語)における標準フォーマットである。イメージは、例えば、標準GIF又はJPEGフォーマットで別々のグラフィックス・ファイルに記憶可能であり、ユーザが指定のイメージ・ファイル及びHTMLテキストを検索するようにプロンプト指示されるようにHTMLテキストにおいて参照可能である。
ユーザは、「ウェブ・ブラウザ」又は「ウェブ・クライアント」を使用してこの情報をアクセスする。その「ウェブ・ブラウザ」及び「ウェブ・クライアント」は、ユーザのコンピュータ上にインストールされたソフトウエアであり、インターネットを介してウェブ・サーバからドキュメントをサービス提供又は検索するための機能を有する。現在利用可能なウェブ・ブラウザは、IBM社からの「WebExplorer」及びNCSAからの「Mosaic」を含む。そのようなブラウザはディレクトリ及びサーチ・ツールを含み、HTML及び他のWWW標準フォーマットを理解し、ファイルをこれらのフォーマットで正しく表示又は出力することができる。これらのウェブ・ブラウザのユーザ・インターフェースはグラフィカル「ポイント・アンド・クリック」インターフェースである(即ち、グラフィカル・ディスプレイを横切ってカーソルを移動させ、しかる後にマウス・ボタンを押すことによってアイテムを選択することができる)。WWWは、各々が特定のユニフォーム・リソース・ロケータ(又は,URL)を有するページ又はファイルとして構成される。URLは、サーバ・マシン及びそのマシンにおける特定のファイル又はページを表す。ユーザは特定のURLを指定するか、又は「ハイパーリンク」によって1つのURLから関連のURLにジャンプすることができる。即ち、ページ上のワード又は記号は、例えば、マウスを関連ロケーションにおいてクリックすることによって選択可能なもう1つのURLと関連付けられ、関連のページをブラウザに検索及び表示させることができる。単一のサーバ上に多くのページが存在してもよく、関連のハイパーリンクされたページが種々のサーバ上に設けられてもよい。URLが「http:」で始まる場合、これは、ファイルがハイパーリンクを含むことを表す。
ユーザが自分のウェブ・ブラウザを使用してウェブ・サーバ・システム上のページに対するURLを選択する時、そのページに特有のアクションを遂行する単発の要求が関連のサーバに送られる。多くの場合、サーバはその要求に応答して、記憶されたページのデータベースからその要求されたページを検索し、HTMLページをユーザへの表示のためにインターネットを介してWWWクライアントに伝送する。これは、単一の終端間同期通信セッションの範囲内で遂行される。即ち、ブラウザはそれの要求を送り、応答を待ってからそれ以上の何らかの処理を進行させ、又は他の要求を開始させる。ブラウザは、それがその要求された応答を待っている間、「阻止」又は「中断」されていると云える。或る場合には、ブラウザの要求は、HTMLを発生するためのアプリケーションを立ち上げるようにサーバを導くであろうが、ブラウザは同時通信セッションに備えるものではなく、しかもアプリケーション状態情報は要求相互間に維持されないので、ブラウザからの単発の要求はこの同期通信セッションの範囲内で応答を要求する。ブラウザによって要求されたページへのアクセスの失敗は、エラー・メッセージがユーザの端末上に表示されることによってユーザに信号で知らされるが、サーバが単に応答を遅らせる場合、ブラウザは無限期間にわたって中断されたままになる。実際には、ユーザは、その遅れが通信にとって受容し得ないものである場合、通信の試みを放棄することがある。ウェブ・ブラウザには、要求の自動再試行のための機能はない。
現代の企業は、その企業における他の部門との通信、及び異なる国にあることもある顧客又は納入業者のような関連企業とコミュニケートするための機能を必要とする。WWWインターネット・サービスは、会社間の通信のための費用効果のよい通信媒体を提供してそのような要求に対する部分的な答えを与えることができるが、WWWインターネット・サービスの単発の要求/応答通信モデル及びブラウザからの並列的な要求に対する備えの欠如は、要求された情報が受容可能な期間内に得られない場合、厳しい制限を表すことがある。センダ・システムが無期限に中断されるということは受容し得ないことであり、又、サーバ・アプリケーションが時間内に要求に応答するかどうかに従ってビジネス・クリティカルなアプリケーションの成功が決まるということも受容し得ないことである。WWWインターネット・サービスは、多くのビジネス・クリティカルなアプリケーションの要件であるメッセージの確実な配送のための機能を提供するものではない(即ち、アプリケーションは、それが送ったメッセージが目的の宛先へ送られる途中で失われないこと、及びそれが一度しか送られないことを知る必要がある)。又、ビジネス・アプリケーションは多くの要求/応答の対を伴う会話に関わり得るものであり、ウェブ・ブラウザ要求相互間で交換される如何なるコンテキスト情報が欠如しても、同じビジネス・アプリケーションの一部である要求を相互に関連付けるための機能が存在しないことを意味する。
同期的な時間依存の「要求及び応答待ち」モデルに対する代替の通信モデルは非同期メッセージングである。メッセージをレシーバ・プログラムに送るプログラムはレシーバからの返事を待つためにブロックされる必要がなく、従って、実行し続けることができ、センダ及びレシーバは相互に同期化(直列化)されない。プログラム間の非同期メッセージングは、一般に、メッセージ・キューを中間記憶機構として使用する。従って、メッセージは、それが第1プログラムから送られた時、そのメッセージ・キューに入れられるし、レシーバ・プログラムが作動可能である時、レシーバ・プログラムによってそのメッセージ・キューから検索可能である。プログラム相互間には専用の論理的接続は存在しない。メッセージをキューに入れた後、センタ・プログラムは、ネットワークにおける他のプログラムにメッセージを送ることを含む他のタスクを実行するように進むことができる。この分野では、非同期メッセージング・システムを設けることが知られている。その非同期メッセージング・システムは、異種のネットワークに跨るプログラム間通信をサポートし、アプリケーション・プログラム(それぞれが特定のアペレーティング・システム環境に対して書かれている)が複数のネットワークに影響されないようにし、メッセージ・キューを維持及び位置指定する作業がないようにするものである。種々のビジネス・アプリケーション・プログラム相互間の効果的な相互協調処理を達成することを必要とするが、或る範囲の本質的に相違するアペレーティング・システム及びハードウエア環境を含むデータ処理資源を有するというような多くの企業にとっては、そのようなメッセージング・システムは重要である。
メッセージ待ち行列製品及び商業的に入手可能なメッセージ待ち行列製品は、McGraw−Hill社発行(1994年)のB.Blakeley、H.Harris及びR.Lewis著の「MQIを使用したメッセージング及びキューイング(Messaging and Queuing Using the MQI)」において、及びIBM社から入手可能な次の刊行物、即ち、「メッセージング及びキューイング入門(An Introduction to Messaging and Queuing)」(IBMドキュメント番号GC33−0805−00)及び「MQSeries−メッセージ・キュー・インターフェース・テクニカル・リファレンス(MQSeries−Message Queue Interface Technical Reference)」(IBMドキュメント番号SC33−0850−01)に記載されている。なお、IBM及びMQSeriesはIBM社の商標である。IBM社のMQSeriesメッセージング・ソフトウエア製品は、システム又は通信障害の場合でも1回の、しかも、1回だけの確実なメッセージ配送を行うメッセージング・プロトコルに従って作業の論理的ユニット内でメッセージを同期化するというトランザクション・メッセージング・サポートを提供する。MQSeries製品は、メッセージがレシーバ・システムによって安全に記憶されたとして確認されるまでセンダ・システムにおける記憶装置からそのメッセージを最終的に削除しないことによって、及び複雑な回復機構を使用することによって確実な配送を提供する。記憶が成功したことを確認した時にメッセージの転送をコミットする前に、センダ・システムにおける記憶装置からのメッセージの削除及びレシーバ・システムにおける記憶装置への挿入の両方が「未確定」状態に保たれるし、失敗の場合には、それは原子的にバックアウト可能である。このメッセージ伝送プロトコル並びに関連のトランザクション概念及び回復機構は、国際特許出願WO 95/10805号及び米国特許第5,465,328号に開示されている。
WWWインターネット・サービスのクライアント・システムのような同期通信に適応した計算資源に非同期(オフ・ライン)処理の恩恵をもたらすことは望ましいことであり、しかも、一般的には、既存の同期資源に対して大きな変更を必要とすることなく、非同期モデルの通信に基づく資源及び同期モデルに基づく資源の間の相互協調処理を可能にすることが望ましい。又、同期的に接続されたクライアント・システムからの非同期メッセージの信号状況追跡を容易にすることも望ましい。
計算資源をインターネットにリンクすることに加えて、インターネット標準(インターネット・プロトコル、HTMLの使用等)が「イントラネット」において、例えば、特定の企業におけるコンピュータのネットワーク(インターネットの標準に従ったネットワーク)において有利に実現されることも企業はわかっている。今や、ブラウザ・ソフトウエアは、イントラネット内で使用するために利用可能である。
上記の要件は、それらが種々の環境に適応するかどうか又は種々の通信モデル又はアーキテクチャに基づくものであるかどうかに関係なく、データ処理資源の多くのユーザがそれらの種々の資源の間で相互協調処理するための要件を例示するものである。種々のアペレーティング・システムに対して書かれ、種々の通信モデル又はパラダイムに基づいたアプリケーション・プログラム、並びに、種々の通信プロトコル、データ・フォーマット、言語、又は通信のモードを使用するコンピュータ及び他の通信システムは、継ぎ目なく、しかも対話の複雑性をエンド・ユーザが知ることもなく相互協調処理するためには益々要求される。本発明は、種々の資源相互間にリンクを提供して相互協調処理が望ましい資源相互間の明らかに固有の非互換性を処理するように働く。
発明の開示
本発明の第1の局面によれば、通信ネットワークのデータ通信サーバ・システムが提供される。その通信ネットワークでは、サーバ・システムは、そのサーバ・システムとネットワークのクライアント・システムとの間の同期通信をサポートするための機構を有する。又、サーバ・システムは、そのサーバ・システム上の又はそのネットワークにおける他のシステム上のプログラム(アプリケーション・プログラムのようなプログラム)との非同期通信をサポートするための機構も有する。上記サーバ・システムは:
クライアント・システムとサーバ・システムとの間の同期通信セッションにおける前記クライアント・システムからの要求に応答して、サーバ・システムにおけるプログラム又はネットワークの他のシステムにおけるプログラムに要求(クライアント・システムに関連する要求)を非同期通信として送るための手段と、
前記非同期通信に対する応答の受信に応答して、前記応答をクライアント・システムからの前記要求と関連付け、クライアント・システムに応答が送られることを可能にするための手段と、
前記非同期通信に対する応答の受信前に仮応答を発生するための手段と、
前記同期通信セッションにおいて前記クライアント・システムに少なくとも仮応答を送るための手段と、
を含む。
従って、本発明によるシステムは、たとえ非同期要求に対する応答が未だ受信されてなくても、同期通信セッションにおいてクライアントに少なくとも仮応答を送るための手段を有する。
本発明の第2の局面は、前述のサーバ・システムの機構を使用してクライアント・プログラムと、サーバ・システム又はネットワークの他のシステムにおけるプログラムとの間のプログラム間通信を提供する。
本発明は、たとえクライアント・システムにおけるプロセスがプログラム間通信のための専用の同期通信セッションを必要としても、そのクライアント・システムにおけるプロセスが非同期通信プログラムとコミュニケートすることを可能にする。サーバ・システム上のプログラム又はネットワークにおける他のシステム上のプログラムは、専用の通信セッションがなくても非同期メッセージを受信及び送信するように適応されたアプリケーション・プログラムであってもよい。又、初期の同期セッションにおいてクライアント・システムに送られる仮応答は、サーバ・システムが要求を受信したことを確認するための手段を提供する。サーバ・システムはサーバ相互間でメッセージの確実な配送を行うサーバのネットワークの一部であるが、同期的に接続されたクライアント・システムが、クライアント及び接続されたサーバの間の通信ホップのための確実な配送をサポートしない場合、要求がサーバに成功裏に到達したかどうかの追跡、即ち、通信経路の非保証リンクに跨る通信の追跡を行うことが非常に望ましいことがある。
「仮応答」は、プリセット期間内に(例えば、システム管理者によって定義された期間内に)クライアント・システムに送るための「完全応答」が得られない時に送られるだけであることが望ましい。即ち、サーバがその要求された完全応答を未だ与えることができないようなプリセット期間が満了した時、非同期通信のアプリケーション・プログラムから応答が未だ受信されていない場合、サーバ・システムにおけるプロセスはクライアント・システムに仮応答を送るためにトリガされる。その仮応答は、サーバ・システムによって割り当てられ、しかもサーバ・システムにおいて独特のセッション識別子を含むことが望ましい。
クライアント・システムに対する仮応答にセッション識別子を含むことは、アプリケーション・プログラム又は他の非同期的にコミュニケートするプログラムからの期待された完全応答をタイムアウト前に受信しなかったクライアント・システム(又は、クライアント・システムにおいて作業するエンド・ユーザ)が、そのセッション識別子に関連した応答が未だ使用可能であるかどうかを決定すること可能にする。従って、仮応答を受信したクライアントは他の処理タスクを進めることができ、また、セッション識別子を使用して、その後サーバとの対話に戻ることができる。これはそうでない場合に生じる問題点、即ち、同期的に接続されたクライアント・プロセスが応答を待つためにブロックされたままでなければならないか、或いは応答が十分に早く得られない場合にアプリケーションを放棄しなければならないという問題点を回避する。
本発明の望ましい実施例によれば、タイマの期間満了に応答してクライアント・システムに送られた通信は、クライアント・システムにおける同期的に接続されたプロセスを中断されたままにしておく(即ち、現在のセッションが維持される)べきか又はセッションが放棄されるべきかに関するクライアント・システムにおけるプロセス又はユーザによる判断を促す。セッションが放棄される場合、クライアント・プロセスはセッション識別子によって前の対話に戻ってもよい。サーバが、同じセッション識別子を持つ前の要求に対する如何なる使用可能な応答でも識別できるように、クライアント・システムに送られた識別子が、サーバ・システムに送られるその後の要求に含まれてもよい。従って、タイムアウトの後、専用の通信セッションを必要とするクライアントが、サーバに対するそれの同期接続を維持すべきか、或いは関連の同期セッションを使用するサーバとの非同期通信である通信に事実上変更すべきかを決定すること、或いは単にその通信を永久的に放棄することを可能にされる。従って、クライアントは、無期限に中断したままにするというオプション又はアプリケーションを放棄するというオプション以外のオプションを与えられる。
クライアントが前の対話に戻ることを可能にする他に、特定の対話に対するセッション識別子をクライアントに与えるということは、たとえクライアント・システムにおける通信プロセスが単発の要求/応答モデルに基づくものであっても、クライアントが会話という多くの要求/応答の対と関連することを容易にする。それは、クライアントが応答を待っている時にクライアントとサーバとの間のリンクに障害が起こることがあるという問題の処理を助ける。更に、それは、クライアント・プロセス又はユーザが幾つかの異なるアプリケーションとの対話を、それらの間を区別するための手段を設けることによって、介在させることを可能にし、しかも複数のユーザが同じアプリケーションを同時にアクセスすることを可能にする。セッション識別子は、その後の使用のために、仮応答の受信時にクライアント・システムによって自動的に記憶されてもよい。
「クライアント」及び「サーバ」という用語は、特定の対話において果たされる役割を単に区別するために使用される。即ち、クライアントは要求を発生し、サーバはその要求に応答してアクションを取る。他のコンピュータからの要求があった時にタスクを遂行するコンピュータはいずれもサーバである。「クライアント/サーバ」という用語は、クライアント(例えば、ワークステーション)がエンド・ユーザの対話のための機能を提供するだけであり、一方、サーバ(例えば、メインフレーム・コンピュータ)がデータの記憶及びアクセスを行って複雑な処理を遂行するという環境を呼ぶために、データ処理の分野において使用されることが多い。本発明はそのような「クライアント/サーバ」環境に適用可能であり、しかも、通信システムによって提供される機能の間にそのような区別がない「対等」環境にも適用可能である。本発明は、第1システムにおけるコンピュータ・プログラムが同期通信に特に適応するという状況であって、しかも、ウェブ・ブラウザがメッセージ・キューイング・システムを介して非同期アプリケーション・プログラムと相互協調処理することが望ましいというような、そのコンピュータ・プログラムが、異なるシステムにおいて実行中の非同期プログラム間通信に適応するアプリケーション・プログラムとコミュニケートすることが望ましいという状況において特に価値がある。
本発明の望ましい実施例によれば、サーバがプリセット時間の経過前にそれの非同期要求に対する応答を受信する場合、それは、サーバが同期セッションにおいて送るクライアント・システムへのそれの応答の中にその受信した応答からの情報を含むであろう。従って、アプリケーション・プログラムとの通信の非同期的な性質は、そのアプリケーション・プログラムからの応答が十分に速く得られてクライアントが同期セッションにおいて完全応答を送られる場合、クライアントにとって見えないものにされることがある。
本発明の別の実施例は、タイマの期間満了を待つことなくクライアント要求の受信の仮確認をクライアント・システムに戻すことによって、クライアント・プロセスの阻止を回避する。その受信の確認は、サーバ・システムにおけるプロセスによって割り当てられたセッション識別子(例えば、独特の参照番号)を含む。この場合、クライアントは、それがその確認を受信すると、完全応答又はタイマの期間満了を待つために中断されることなく直ちに他のタスクを進行させてもよい。その後、アプリケーション・プログラムからの応答が受信される時、それはサーバにおける記憶装置に入れられ、クライアントが、その割り当てられたセッション識別子を参照する更なる通信をサーバに送るような時間まで保持される。サーバは記憶された応答のセッション識別子及び新しい要求を突き合わせ、しかる後、その記憶された応答をクライアントに送る。
クライアント要求に対する応答のタイプをその要求の性質に依存させることも本発明の技術的範囲にある。商品注文のような或る要求は、クライアント・プロセスが中断される時間を最小にするために、割り当てられた注文番号でもって受信を即時確認することを必要とすることがある。銀行の残高照会のような他の要求は、そのような情報が速く得られる場合、それが単に必要とされるだけであることが多いので、その要求された情報を供給する前にその要求の受信を確認することを必要としないことがある。そのような例では、クライアントが完全応答のための所定の期間を待つことは明らかである。即時確認を送るべきか否かのこの決定は、要求フォーム内に任意選択フィールド又はパラメータを設けることによりそのような確認を希望することを表すための手段、及びこのフィールドにおけるエントリに応答するための手段をエンド・ユーザに与えることによって実施されることが望ましい。
セッション識別子は、サーバ・システムにおけるプロセスによってクライアント・システムからの要求と関連付けられることが望ましく、そのプロセスは、アプリケーション・プログラムに送られる関連の非同期要求にそのセッション識別子を組み込む。従って、非同期サーバ要求は、初期クライアント要求からの情報及び割り当てられた識別子を含む。その後、サーバ・システムが、このセッション識別子を含む応答をアプリケーション・プログラムから受ける時、サーバはこの応答をクライアント・システムからの要求と関連づけ、そのセッション識別子を含む応答をクライアント・システムに送る。サーバが、複数の同期セッションを自動的にはサポートしないクライアント・プロセスとの対話にセッション識別子を割り当てようとすることがあることに注意してほしい。セッション識別子の交換及びクライアント・システムの記憶装置の使用は、それの戻されるセッション識別子を記憶することを容易にし、これらの識別子が同時に生じたセッションを区別するために使用されることを可能にする。クライアントは、それが複数の異なるアプリケーションを区別するための手段を有するので、それらの異なるアプリケーションとの対話をインタリーブすることを可能にされ、サーバは、非同期メッセージに対する応答をそれぞれの要求と容易に関連付けることを可能にされる。アプリケーションの同時処理或いは並列処理のためのそのような対策はビジネス効率を非常に高めることがある。
本発明は、単発の同期通信のために設計された通信資源が非同期通信を利用する資源を相互協調処理することを可能にする。
本発明によるシステム及び方法がクライアント・システムとアプリケーション・プログラムとの間の対話の直列化をサポートすることは望ましいことである。これは、クライアントに送り戻されるアプリケーション・プログラムからのメッセージに含まれるセッション状態情報(現在の会話における対話の位置を識別するシーケンス番号のようなもの)によって実現可能である。クライアント・システムからの更なる入力を必要とするアプリケーションは、それの応答におけるセッション状態情報によってこれを表すであろう。この情報はサーバ・システム及びクライアント・システムの一方又は両方にとって識別可能である。セッション識別子及びセッション状態情報によって、幾つかの連続したユーザ対話を伴うことのある特定のアプリケーションの関連の要求/応答の対を識別すること、及びセッションにおける通信の正しい直列的順序づけを保証することが可能である。
セッション識別子は、タイマの期間満了後にクライアントに送られる通信に、及びクライアントとの更なる対話を期待しているアプリケーションからクライアントに送られる応答に含まれることが望ましい。一実施例によれば、応答内にセッション識別情報を含むべきかどうかに関する決定がサーバ・システムにおいて存在する。その決定プロセスは、通信アプリケーション・プログラムから送られたセッション状態情報に応答し、しかもタイマの期間満了にも応答することが望ましい。クライアントからの更なる入力(例えば、クライアント・システムにおけるエンド・ユーザ又はプロセスからの入力)が期待されない場合、サーバ・システムは、クライアントに応答を送る時にすべてのセッション特有の資源を保留解除し、セッション識別子は全く必要とされない。
この決定プロセスは、セッションが必要以上に長い期間の間維持されることに関連する潜在的問題から見て望ましいかも知れない。第1に、セッションを維持することは幾つものシステム資源を使用する。第2に、一連の要求/応答の対話のうちの最後の対話において識別子情報を戻すことは、その識別情報がクライアント・システムにおける記憶装置に無期限に残ることを必要とすることがある。これは、セキュリティ・エクスポージャ並びにクライアント資源の使用であるかも知れない。識別子情報がいつもクライアント・システムに戻される場合(即ち、前述の決定プロセスが実施されない場合)、上記の問題は、適当な時間後にクライアント・システムから状態情報を削除することによって処理される。
本発明の望ましい実施例は、サーバ・システムがインターネット・ワールド・ワイド・ウェブ(WWW)サーバ・ソフトウエアをその上にインストールされ、クライアント・システムが、インターネット接続されたサーバ・システムに要求を供給するためのWWWブラウザ・ソフトウエアをその上にインストールされるデータ通信システムを提供する。又、サーバ・システムは、アプリケーション・プログラム相互間の非同期メッセージ通信をサポートするための機能も有する。サーバ・システムが、非同期通信用に設計されたアプリケーション・プログラムとの対話を必要とするHTML要求を前記WWWクライアント端末(同期通信セッションにおける端末)から受ける時、サーバ・システムにおけるプロセスは、アプリケーション・プログラムの入力キューに送られるメッセージとして、その要求をアプリケーション・プログラムに送る。アプリケーション・プログラムがHTMLを解釈し得ない場合、サーバにおけるプロセスは、その受信したHTML要求を、アプリケーション・プログラムにとって認識可能なメッセージ・フォーマットに変換し、しかる後、その変換されたメッセージを送る。プリセット期間の満了前にアプリケーション・プログラムから応答メッセージを受信したことに応答して、サーバ・システムにおけるプロセスは(必要な場合には)その応答メッセージとHTMLに逆変換し、その作成されたHTMLページをクライアント端末に応答として送る。WWWクライアントの視点から、その応答がタイムアウト期間の経過前に得られる場合、その応答はオリジナル同期通信セッション内である。
サーバ・システムは、前記クライアント・システムに送られた応答に含まれるHTMLページ内にセッション識別情報を組み込むための手段を含む。サーバ・システムは、非同期要求に対するアプリケーション・プログラムの応答に含まれたセッション状態情報に応答してエンド・ユーザによる終了のための1つ又は複数のHTMLフォームをHTMLページに含むための手段を有することが望ましい。セッション状態情報もHTMLページに組み込み可能である。
サーバは、アプリケーション・プログラムから応答メッセージを受け取る前にプリセット期間が満了したことに応答して、WWWクライアント端末に通信(即ち、HTMLのページ)を送る。この通信はセッション識別子及び、望ましくは、セッション状態の識別子を含む。クライアントに返送された通信はそれの同期HTTPセッションを終了させ、WWWクライアントは最早中断されないが、ゲートウェイを有するクライアントの長い実行中の通信「セッション」は、WWWクライアント及びゲートウェイ・プログラムの間の対話の再開を可能にする情報が保持されるという点で論理的には依然として存在している。エンド・ユーザは、更なる期間のためにその中断状態に再入して新たな同期セッションを始動させるべきか否かを決定することができる。セッション識別子及び状態情報は、WWWページをキャッシュするためのWWWクライアントの機能を使用してWWWクライアント・システムのキャッシュ・メモリに記憶される。WWWクライアントは、このキャッシュされた情報を使用して初期の対話を再開し、アプリケーション・プログラムからの応答メッセージがサーバにおいて得られるかどうかをその後の或る時点でチェックすることができる。オリジナル・セッションと関連するサーバへのその後の要求にセッション識別子及びセッション状態情報を含むことによって、クライアントは、サーバが種々のセッション相互間を、及び同じアプリケーションの一部である種々の要求相互間を区別することを可能にする。
上述の本発明の実施例は、既知の手法に従ってHTMLメッセージ・フォーマットから非HTMLメッセージ・フォーマットへの変換を行う。呼び出されるアプリケーションがHTMLを解釈することができる場合、そのような変換は明らかに必要ない。
従って、望ましい実施例における本発明は、WWWの同期環境及びメッセージ・システムの非同期環境の間のリンクを提供する。本発明は、インターネットのサーバ・システムを介してアプリケーション・プログラムをコミュニケートするためのブラウザ・ソフトウエアの使用に同様に適用可能である。
【図面の簡単な説明】
第1図は、インターネットを介したクライアント・システムとサーバ・システムとの間の通信の概略的表示である。
第2図は、非同期メッセージング及びキューイングを使用したプログラム間通信の概略的表示である。
第3図は、本発明の実施例に従って、非同期的に接続されたウェブ・ブラウザと非同期通信に適応したアプリケーション・プログラムとの間の対話のためにサーバ・システム上にインストールされたゲートウェイ・プログラムを示す。
第4図は、本発明の第2実施例に従ってゲートウェイ、ブラウザ、及びアプリケーション・プログラムの間の相互協調処理を示す。
第5図は、本発明の実施例に従って、要求がウェブ・ブラウザ・プログラムから送られる時、主としてサーバ・システムにおけるゲートウェイ・プログラムによって遂行されるオペレーションを示す流れ図である。
発明を実施するための最良の形態
本発明は、種々の環境の間のリンクを必要とする多くの異なるデータ処理システム及び通信システムにおいて実現可能である。本発明は、特定のコンピュータ・ハードウエア又はアペレーティング・システム、或いは特定のタイプの通信リンクに限定されるものではなく、ハードウエア又はソフトウエアにおいて、又はハードウエア及びソフトウエア・コンポーネントの結合として実現可能である。
本発明の望ましい実施例は、非同期メッセージング及びキューイング環境と、ワールド・ワイド・ウェブの同期環境との間のリンクを提供するサーバ・システムのソフトウエア実装コンポーネントを含む。
第1図に示されるように、及び上で説明したように、インターネットのエンド・ユーザは、インターネット・アクセスを有するコンピュータ10及びそのコンピュータ上にインストールされたウェブ・ブラウザ・ソフトウエア20を具備している。ウェブ・サーバ・システム30は、インターネットに接続され、ウェブ・サーバ・ソフトウエア40(IBMインターネット接続サーバのようなソフトウエア)を走らせるコンピュータ・システムより成る(そのシステムは、例えば、Windows NTアペレーティング・システム・ソフトウエア又はUNIXアペレーティング・システム・ソフトウエアを走らせるものでよく、或いは、OS/2アペレーティング・システム・ソフトウエアを走らせるIBM PS/2 Model 80 コンピュータ、又はIBMのMVSアペレーティング・システムをサポートするメインフレーム・システムであってもよい)。なお、OS/2、MVS、及びPS/2はIBM社の商標である。ウェブ・サーバ・ソフトウエアはウェブ・ブラウザからのHTTP(ハイパーテキスト転送プロトコル)要求をサービスし、それらを静的HTMLページに対する要求として、又は実行可能なプログラムに対する要求として分析し、使用可能なHTMLページ(例えば、ディスク記憶装置に保持されたHTMLページ)をウェブ・ブラウザに送ることによって、或いはウェブ・サーバ・システム上で又は異なるシステム上で走らせてHTMLを発生させるためにプログラム50を呼び出すことによって応答する。プログラムは、共通ゲートウェイ・インターフェース(CGI)60又はウェブ・サーバによって実現される他のインターフェースを介してウェブ・サーバにより呼び出される(ほとんどのウェブ・サーバは2つのインターフェースをサポートし、そのうちの1つがCGIである)。
第2図は、IBMのMQSeriesプログラムのようなキュー・マネージャ・プログラムのネットワークの制御の下に非同期メッセージング及びキューイングを使用するプログラム間通信の簡略化した概略図である。キュー・マネージャは、アプリケーションによって使用されるメッセージ・キューイング機能を提供するシステム・サービスである。第2図に示されるように、システム110における第1アプリケーション・プログラム100は、ローカル・キュー・マネージャ・プログラム120及びリモート・システム160上で走る通信キュー・マネージャ130の制御の下でキュー140上にメッセージを入れるためのコマンドを発生する。その後、サービング・アプリケーション・プログラム150は、それがメッセージを処理する準備のできた時にキュー140からメッセージを取り出す。ビジネス・アプリケーションは、例えば、銀行の口座振替、又は航空機座席予約アプリケーションでよい。メッセージ・キューは、メッセージが蓄積される及びメッセージが後で取り出される名前付きオブジェクトである。
特定のキューの保全は、或る特定のキュー・マネージャの責任である。メッセージ・キューは単なるスタックではない。メッセージがキューに加えられる時、それらは最後尾に加えられる。メッセージがキューから取り出される時、それらは、通常、前から取り出される。メッセージ・キューの物理的表示は環境に依存するが、主記憶装置における1つ又は複数のバッファ、ディスク又は他の永続記憶装置における1つ又は複数のファイル、又はこれらの両方であってもよい。メッセージ・キューの物理的管理は全くキュー・マネージャ・プログラムの責任であり、そのような詳細はアプリケーション・プログラムにとって明らかにされない。アプリケーションは、単に、メッセージが蓄積される「ブラック・ボックス」として、メッセージ・キューを見なすことができる。アプリケーションは、メッセージ・キューイングAPIコールを使用することによってメッセージ・キューへのアクセスを行い、そのアプリケーションと同じシステム上にインストールされるキュー・マネージャ(即ち、ローカル・キュー・マネージャ)とコミュニケートする。
アプリケーション・プログラムは、特定の名前付きメッセージ・キューを使用することに同意することによってコミュニケートし、アプリケーション・プログラムが読み取ることを同意した特定のターゲット・キューにメッセージを送る。これらのキューのロケーションは、それらのメッセージを送るアプリケーションにとって可視的である必要はない。各ロケーションはそれのローカル・キュー・マネージャとのみ対話し、意図されたキューにそれらのメッセージを移動させる責任のあるのは相互接続されたキュー・マネージャのネットワークである。各キュー・マネージャは、ネットワークにおける他のキュー・マネージャを位置指定するためのローカル・ルーティング・テーブルを保全する。この方法では、アプリケーション・サポートのメッセージ・キューイング・ソフトウエアは、アプリケーション・プログラムに関する必要な複雑さのレベルを単純化し、それらがそれら自身の複雑な通信制御機能を実現する必要はないものにする。
本発明は、ローカル・システム上にインストールされたキュー・マネージャ・プログラムを持たないユーザに、相互接続されたキュー・マネージャのそのようなネットワークへのアクセスを提供する。本発明は、IBMのMQSeries製品のような既存のアプリケーション・イネーブリング・ミドルウエア・プログラムのサービスから利益を受け得る複雑な信頼性のあるWWWアプリケーションの開発のための環境を提供する。
ソフトウエアで実現されるリンク・コンポーネントは、同期的に接続されたエンド・ユーザの代わりにメッセージを発生及び受信するためにWWWサーバにおけるインストレーションを与えられる。以後、ゲートウェイ・プログラムと呼ばれるこのリンク・コンポーネントは前述のようにウェブ・ブラウザからの要求によって呼び出される。ゲートウェイ・プログラムは、例えば、標準CGI(共通ゲートウェイ・インターフェースを)介してWWWサーバとインターフェースする。ゲートウェイ・プログラムは、後述するように、複数のコンカレント・ユーザ及びそれらのステータスの管理を可能にし、同期HTTP及び非同期メッセージの間の相違を管理して、同期的に接続されたウェブ・ブラウザに、それがそのブラウザに代わって発生する非同期メッセージの進行に関する情報を提供する。又、ゲートウェイ・プログラムは、保証付き配送メッセージング・システムと非保証付きHTTP通信との間のリンクも管理する。アーキテクチャ及びハードウエア・プラットフォームが異なるとデータ表示及びパラメータも異なるので、データ変換(ASCII対EBCDICのような)が必要であるけれども、そのような変換はその分野では知られており、既知のメッセージング・ソフトウエア製品は変換を処理するので、ゲートウェイ・プログラムによって実現される必要はない。広範囲のセキュリティ機能は既知のメッセージ・ソフトウエア及びWWWサーバ(IBM社のセキュア・インターネット・サーバのような)において実現されているので、ゲートウェイ・プログラムがそのような機能を提供する必要もない。
第3図は、コンピュータ・システム230上にインストールされたメッセージ・キュー・マネージャ・プログラム210及びウェブ・サーバ・プログラム220の間をインターフェースするゲートウェイ・プログラム200を示す。そのゲートウェイ・プログラムは、この例において示されるように、サーバ・システム230以外の機械上でも動作し得るメッセージ・キューイング・アプリケーション・プログラム240とウェブ・サーバとの間をインターフェースするためにも使用可能である。この場合、サーバ・システムにおけるアプリケーション・プログラムは必要ない。メッセージ・キューイング・アプリケーションが走っているシステムは、インターネットを介して又は他の通信ネットワークを介してサーバ・システムに接続可能である。この例のアプリケーション・プログラムは、ウェブ・ブラウザ250からのHTMLフォーム・データを解釈することができ、それに応答してHTMLページを発生することができる。
第4図には、ウェブ・サーバ・システム上にインストールされたフォーマット変換アプリケーション・コンポーネント260と関連したゲートウェイ・・プログラムの同様の使用が示される。その変換コンポーネントはウェブ・ブラウザのHTML要求及び応答と、HTMLを解釈することができないアプリケーション・プログラム270の内部メッセージ構造との間で変換するように働く。従って、この変換コンポーネント260は、本発明によるゲートウェイ・プログラム200'が既存のメッセージキューイング・アプリケーションと共に使用されることを可能にする。サーバ・コンポーネントは、幾つものターゲット・アプリケーションに対する要求及びウェブ・ブラウザに対する応答を単一の作業単位において調整することもできる。HTML変換はその分野においてよく知られており、従って、ここでは更にこれを説明しないことにする。
第5図を参照して、ゲートウェイ・プログラム、及びウェブ・ブラウザと非同期アプリケーション・プログラムとの間の通信フローを説明することにする。ゲートウェイ・プログラムと関連する各メッセージ・キューイング・アプリケーション・プログラムに対して、1つ又は複数のアプリケーション入力キーが定義される。このアプリケーション及びそれの入力キーは、ウェブ・サーバ・マシン上に設けられるか又はメッセージ・キューイング・ミドルウエアのサポートを使用してサーバとの通信のために接続される任意のマシン上に設けられてもよい。ゲートウェイはサーバ上に応答キューを設けられる。この応答キューは、アプリケーション・プログラムから送られたメッセージをローカル・キュー・マネージャ・プログラムによって管理される。
ユーザは、それらが使用したいメッセージ・キューイング・アプリケーション又はサービスの名前を表すHTMLフィル・イン・フォームGET又はPOST要求を介してゲートウェイ・プログラムと対話する(ステップ300)。本発明の望ましい実施例では、その名前はアプリケーション・キュー・ネームを含むが、別の実施例では、これはアプリケーション・ネームに基づいてゲートウェイ・プログラムから取り出される。
ユーザがアプリケーションを呼び出すコマンドの例は次のようになる:
〈form method="post"action="/mig−bin/migcgi/
MQApp"〉
メッセージ・キューイング・システムを指定すると:
〈input type="input";name="QMName";size="48";
max length="48"〉
及びアプリケーション:
〈input type="input";name="QName";size="48";
max length="48"〉
〈input type="submit";value="Click here to start
the applecation"〉
〈/form〉
QNameは発生された非同期メッセージに対する宛先を指定するために必要であり、通常、アプリケーション自身によって識別される。QMNameは任意選択的なものである。それは、指定された場合、メッセージに対する宛先を指定するためにQNameと共に使用される。それが指定されない場合、ブランク・ネームが使用される。標準のメッセージング・システム・ネーム・リゾリューション規則が適用可能である。アプリケーション特有の文字フォーマット・データを含む更なるフィールドをフォーム要求に含めることが可能である。これらのフィールドは、ゲートウェイによって提供されたメッセージの形式でアプリケーションに送られる。
ユーザが行うアプリケーション・プログラムとの第1の対話(アプリケーション″エントリ・ポイント″)は、一般に、静的HTMLウェブ・ページから到来する。ユーザは特定のURLを参照解除するか、又はゲートウェイ・プログラムと対話するHTMLフォームを提供する(ステップ300)。ブラウザの初期HTML要求は組込のセッション識別子を含まない。ユーザがそのようなエントリ・ポイントを最初に通過し(即ち、既に存在するセッションに属しないHTML要求が送られ)、アプリケーションを開始する時、ゲートウェイ・プログラムは、そのゲートウェイ内の独特のセッション識別子によって識別されたセッションを構成して(ステップ340)ユーザ要求のアプリケーションとその要求のインスタンスとの結合を表す。セッション識別子は、各識別子がネットワーク全体に対して独特であることを保証するに十分なランダムネスをもって及び独特のサーバ識別を使用して発生可能であるが、これは本質的なことではない。既存のメッセージ・キュー・マネージャ・プログラム(IBM社のMQSeriesプログラムのようなプログラム)は独特の識別子を発生するための機能を有し、望ましい実施例のゲートウェイ・プログラムはこの機能を利用する。
ゲートウェイは、クライアント・システム又はユーザ識別情報と共にセッション識別情報をセッション・テーブル(例えば、OS/2又はAIXアペレーティング・システム・プログラムを走らせるサーバ・システムのクロス処理された共用メモリに保持されるメッセージ・キューにおけるエントリとして実現される)に加える(ステップ350)。なお、OS/2及びAIXはIBM社の商標である。このテーブルは、その後、後述のように、セッション識別子をユーザ要求及びアプリケーション・プログラム応答と関連付けるために使用される。この方法でアプリケーション・エントリ・ポイントを通過することによる以外にアプリケーションを開始させる手段はない。ユーザ対話は、わずか1つのセッションに属し得るだけである。
セッション識別子をユーザの対話に割り当ててしまうと、ゲートウェイ・プログラムはアプリケーション・プログラムの定義した入力キュー上にメッセージを入れ(ステップ360)、タイマを始動し(ステップ370)、アプリケーション・プログラムから応答メッセージを受けるためのプロセスを開始させる(ステップ370)。応答の受信に関しては後で説明することにする。メッセージは、要求したクライアント・プロセスとアプリケーション・プログラムとの間の通信全体におけるこの対話の位置を識別するシーケンス番号の形でステータス情報を含み、ユーザ又はクライアント・システムの識別子、並びにウェブ・ブラウザから供給された入力データを含む。このデータは、適切な文字セット及びコード・ページとしてアプリケーションに与えられる(その場合、前述のように、ゲートウェイ・プログラムとは別のサーバ・システム上のプロセスによって変換が遂行される)。メッセージのターゲットは、長時間動作のメッセージ・キューイング・アプリケーションであってもよく、又はそれの到着は、メッセージ・キューイング・アプリケーションをトリガして開始させるために使用可能である。上で説明したように、本発明は、「ウェブ認識」の(即ち、HTMLページを理解し、発生することができる)アプリケーション及びHTML変換を必要とするアプリケーションと共に使用するように実施可能である。本発明の実施例に関する以下の説明は、ウェブ認識アプリケーションとの対話の例に関するものである。
メッセージ・キューイング・アプリケーションは、受信したメッセージに応答してHTMLページをゲートウェイ・プログラムの応答キューに送らなければならない。前述のように、ゲートウェイ・プログラムは、これらの応答をそれのキューから取り出すためのプロセスを、それを受信した時に既に呼び出している。これは、相互協調処理メッセージ・キューイング・プログラムの既知の機能を使用して実施され、それによって、メッセージをキューから得るためのコマンドは、Getオペレーションが最初に試みられる時に応答が直ちには得られない場合、指定された期間を待つためのコマンドを任意選択的に含むことができる。IBM社のMQSeriesキュー・マネージャ製品では、この機能は、前に引用した文献[MQSeries−メッセージ・キュー・インターフェース・テクニカル・リファレンス」(IBMドキュメント番号SC−33−0850−01)に開示されているように、メッセージAPI取得(Get Message API)コマンドである「MQGET_Wait」に関するオプションとして呼び出される。従って、ゲートウェイ・プログラムはメッセージを送り、応答メッセージを検索するためにコマンドを発生し(ステップ370)、応答キューからHTMLページを検索してそれをゲートウェイに送る実際のメッセージ取得(Get Message)オペレーションを制御する状態にキュー・マネージャ・プログラムをしておく(ステップ420)。そこで、ゲートウェイ・プログラムは、現在のセッション識別子をHTMLにおける隠蔽フィールドとして含むHTMLページをブラウザに伝送する(ステップ420)。
応答メッセージがゲートウェイ・プログラムによって得られる前に「メッセージ取得」オペレーションの待機インターバルが期間満了する場合、「メッセージ取得」が戻り、ゲートウェイ・プログラムが反応して仮応答メッセージをブラウザに送る(ステップ390、400)。この仮応答は同期セッションを終了させるが、それはセッション識別子を含むので、セッションは後で「再始動」可能である(厳密には、新たなセッションが始動されるが、これは同じブラウザ及びゲートウェイ・プログラムの間の対話を必要とし、同じセッション識別子を参照するので、それをオリジナル・セッションの再始動と見ることができる)。応答が受信される前に、WWWブラウザとゲートウェイ接続されたWWWサーバ・プログラムとの間の同期セッションが別の方法で放棄される場合、ゲートウェイはすべての疑わしい「メッセージ取得」オペレーションを取り消す。タイムアウト後又はセッションの別の放棄後にゲートウェイ・プログラムの応答キュー上に入れられた如何なる応答メッセージも、WWWブラウザが関連の応答メッセージのサーチにおいてゲートウェイと再び対話するような時間まで、そこに残るであろう。そのようなその後のWWWブラウザ要求が受信される時、ゲートウェイ・プログラムは「メッセージ取得」オペレーションを(待機インターバルの時)再び呼び出すであろう。
そのセッション内にクライアントに送られたすべての通信はセッション識別子を含む必要があるということではないが、更なるクライアント対話が期待される時には、その識別子が含まれる。これは、一般的には、タイムアウト後に、又はアプリケーションの応答が得られる前に、通信が送られる時(ステップ400)、或いは、アプリケーション応答が受信され、その含まれたセッション状態情報が更なるクライアント対話の可能性を確認する時のような場合である。ゲートウェイ・プログラムは、一般に、ゲートウェイ・プログラムからの応答が受信された時、関連のセッションに対するセッション状態情報でもってそれのセッション・テーブルを更新する(ステップ420)。しかし、アプリケーションがクライアント・システムにおけるユーザ又はプロセスからのそれ以上の対話を必要としない場合(セッション状態情報によって、又はアプリケーション・プログラムからの応答におけるそれの欠如によって表されるように)、ゲートウェイ・プログラムは、それがページをブラウザに送る時、すべてのセッション特有の資源を保留解除する(ステップ420)。
現在のアプリケーション・プログラムが更なるクライアント情報を「期待し」又は必要とす時(即ち、アプリケーション全体が終了する前に現在のアプリケーション・プログラム又は他のアプリケーション・プログラムと対話することをクライアントが期待している時)、それは、サーバに対するそれの応答におけるフラッグによってこれを表す。それは、動的に作成されたHTMLフォームの各々に組み込まれたセッション識別子と共にクライアントに送られるHTMLページ内に更なるHTMLフォームも含む。
ウェブ・ブラウザはページをキャッシュするための機能を有し(ステップ410)、従って、組み込まれたセッション識別子を記憶することができる。これは、単一のユーザが複数のオープン・セッションを持つことを可能にする。これらのセッションはネスト可能であり、或いは相互にオーバラップ可能である。セッション識別子を含むフォームがブラウザにおいて実質的に満たされる時(ステップ300)、サーバにおけるゲートウェイ・プログラムがその後受信したフォームを正しいセッションと関連付けることができるように(ステップ320、330)、セッション識別子はサーバにおけるゲートウェイ・プログラムに戻るであろう。セッション識別子はその要求を他のユーザからの他の要求から区別するために、及び異なるアプリケーションに対する同じユーザからの他の要求から区別するために使用される。ゲートウェイ・プログラムの一部であるプロセスが、テーブル・エントリと、受信した要求のセッション識別子及びセッション状態情報との間の対応を求めてセッション・テーブルをスキャンする(ステップ320)。セッション及びステータス情報がアプリケーションとの既存の対話に対応しない場合、ゲートウェイは、前述のように、ステータス情報及び入力データをアプリケーション入力キューにおけるメッセージとして扱う(ステップ360)。しかし、受信した要求のセッション及び状態情報とセッション・テーブルにおけるエントリとの比較で一致が見つかった場合、これは初期の要求の再試行でなければならず、従って、応答は既に得られているかもしれない。前に送られたメッセージの確実な1回だけの配送を行うためには関連のキュー・マネージャに依存することになるので、新しいメッセージがアプリケーションに送られる必要はない。ゲートウェイ・プログラムは、期待された応答メッセージに関してそれの応答キューをチェックするために、「待機を伴う取得(Get with Wait)」オペレーションを呼び出す(ステップ370)。
ブラウザに戻されそしてそこに記憶されるセッション識別子をユーザ対話に割り当てることは、多くの技術的問題を解決するものである。第1の、それは、ゲートウェイが受信する複数の応答をそのゲートウェイが区別することができる場合、複数のユーザが同時に同じアプリケーション又はサービスをアクセスすることを可能にする。第2に、それは、アプリケーションの長期実行の会話に関する複数の要求応答の対を一緒に関連付けるために、十分なコンテキスト情報が、各ユーザによって各サーバ・アプリケーションに対して発生される連続した要求の間で持ち越されることを保証する。第3に、それは、幾つもの異なるアプリケーションとの対話を区別するための機構を設けることによって、ユーザがそれらの対話をインターリーブすることを可能にする。第4に、それは、恐らく、サーバ又はゲートウェイ・プログラムに如何なる通知も与えることなく、ユーザが任意の段階でアプリケーションを放棄する可能性を与え、ユーザ及びサーバの間のリンクの可能性を処理する。
動的に作成されたHTMLは、セッション識別子を含む他に、現在のセッションにおける対話の位置を識別するシーケンス番号を含む。これは次のブラウザ要求によってゲートウェイ・プログラムに戻され、ゲートウェイ・プログラムは期待された値に対比してそれをチェックするであろう(ステップ320)。表にされたセッション識別子及びシーケンス番号を使用してデータ及び実行ステータス・コンテキストを維持するこの機構は、相互に依存したクライアント要求のシーケンスの遂行を可能にする。同じセッション内の複数のメッセージ相互間を区別するために、サービス・アプリケーションが可能にされる。
次のような方法の1つでセッションを終了させることが可能である:
◯ 要求される更なるユーザ入力がないことをサーバ・アプリケーションがそれの応答メッセージにおいて表示し、ゲートウェイが、セッション特有の資源を保留解除することによって応答する(ステップ420)。
◯ フォームを含むHTMLページがユーザに送られるが、フィル・インされず、アドミニストレータ定義の期間内に戻される。ユーザからの応答を期待していたサービング・アプリケーションにゲートウェイが終了メッセージを送る(終了していないサービング・アプリケーションの不必要な保全を回避する)。
◯ サービング・アプリケーションが受容可能な時間内にメッセージに応答しようとしない時、ユーザがゲートウェイ・プログラムとの会話を通してアプリケーションを放棄することを選ぶ。ゲートウェイ・プログラムは、それが送ったメッセージを検索しようとする。それができない場合、それは取消メッセージをサービング・アプリケーション・プログラムに送る。
セッション終了は、ゲートウェイ・プログラム及びサービング・アプリケーションが割り振ったすべてのセッション特有の資源をそれらが保留解除することを可能にする。セッション識別子は、セッションが終了した後、それがユーザ又はサービング・アプリケーションからゲートウェイ・プログラムに送られる場合、拒絶されるであろう(即ち、拒絶通知以外の更なる通信をトリガしないであろう)。サーバ制御されたタイムアウト期間は、クライアント・プロセスが中断されたままになっている期間を決定するが、セッションを自動的には終了させないことに注意してほしい。従って、そのようなタイムアウトの後、ゲートウェイ・プログラムは、依然として、セッション識別子及びステータス情報を維持する。
ゲートウェイ・プログラムからのメッセージがアプリケーション入力キューに配送されこと、及び応答ゲートウェイ・プログラムに戻されることを保証するための機能を有するメッセージ・キュー・マネージャ・プログラムが知られている。しかし、メッセージ・キュー・マネージャ・プログラムは、通信リンクが特定の時間に機能していること及びアプリケーションそのものがブラウザからの要求を処理するために走ることを保証することはできない。キュー・マネージャ・プログラムは、キュー・マネージャのネットワークに接続するウェブ・ブラウザに確実な配送を提供することができない。前述のように、ゲートウェイ・プログラムは、到来するウェブ・ブラウザ要求に応答してサーバ・アプリケーションの入力キュー上にメッセージを送る。メッセージが最初にそのキュー上に入れられる時、ゲートウェイ・プログラムはカウント・ダウン・タイマを始動させ(ステップ370)、サーバ・アプリケーションからの応答を待つ。アプリケーション・プログラムからのいずれの応答が受信される前にもタイマが期間満了した場合、ゲートウェイ・プログラムはHTMLページを作成して(ステップ390)、その期間満了をユーザに通知する(ステップ400)。
従って、ゲートウェイ・プログラムは、システム・アドミニストレータ定義の期間満了時にそれがアプリケーションからの応答を受けなかった場合、それ自身の応答をブラウザに送るように構成される。設定されるべき最大のクライアント中断期間は関連のアプリケーションに依存するであろう(10秒又は1秒が適当であろう)。この応答の主たる目的は、現在の通信セッションを維持して応答を待つべきか、又はセッションを停止して(しかし、そのセッションと関連して情報を保全して)他の作業を進めるべきかの決定を可能にするための情報をクライアント・システムにおけるユーザ又は通信プロセスに提供することである。クライアントに対するこの応答は単にエンド・ユーザへのプロンプト指示であってもよいが、本発明の望ましい実施例によれば、ブラウザに対するタイマ・トリガされた応答は、要求がターゲット・マシンによって受信されたかどうか及びアプリケーションが要求を読み取ったかどうかも表示する。到着時の確認(Confirm On Arrival)及び配送時の確認(Confirm On Delivery)のレポートを行うメッセージ・キュー・マネージャ・プログラムが知られている。望ましい実施例によるゲートウェイ・プログラムは、それのタイマ期間満了通知がそのセッションに対する通信の進行に関して得られた情報すべてを含むように、利用可能なレポート機能を使用してその通知を構成すべく適応する。
ゲートウェイがクライアント・システムから要求を受信したということの即時確認として仮応答を行うことは本発明の技術的範囲内である。この確認は、現在の同期セッションを終了させるであろうが、セッション識別子を含むであろうし、従って、クライアントが後でその対話を再開することを可能にする。この場合、クライアント・プロセスは非同期的に要求されたプログラムからの応答を待つために中断されないであろうけれども、通信リンク又はコミュニケートするシステム自体による問題のために、要求と受信の確認との間の遅れの可能性が残っている。確認が受信されるものではない場合、クライアント要求が放棄されなければならない時を自動化するためにクライアントのタイムアウト期間が使用されてもよいが、或るアプリケーションにとっては、クライアント要求を放棄すべき時の決定は、既存のウェブ・ブラウザ・ソフトウエアのユーザにとっては馴染み深いものであるとしてエンド・ユーザに決定させることが可能である。
クライアント・システムからの受信した要求の「タイプ」に応答して即時仮応答が必要であるかどうかを、或いは、完全応答が得られる場合、セットされた中断又はタイムアウト期間がその期間内に完全応答を供給する目的で使用されるべきかどうかを決定するプロセスをゲートウェイ・プログラム内に設けることも、本発明の技術的範囲である。本発明の特定の実施例によれば、ゲートウェイ・プログラムは、それがデフォルトによって使用する構成可能なタイムアウト値を有する。この値は、ゲートウェイ・プログラムがインストールされるサーバ・システム上の構成ファイルに保持され、ゲートウェイ・プログラムがインストールされる時にセット可能であり、その後、システム・アドミニストレータによって修正可能である。このデフォルト値をオーバライドする任意選択のパラメータがHTMLフォーム要求(QName及びQMNameパラメータと同様のもの)に含まれてもよい。前に参照した例を使用すると、要求の受信を確認する即時応答を必要とする商品注文に適するようにHTMLフォームを設計する場合、小さいタイムアウト値がその要求フォームにおいてコード化されるであろう。一方、そのような即時確認を必要としない銀行残高に関する情報を要求する場合、大きい値(恐らく、ユーザが許容することを期待される最長の待ち期間に対応した値)がコード化されるであろう。
メッセージの確実な配送を行うためのメッセージ伝送プロトコルは、国際特許出願WO 95/10805及び英国特許出願番号9606183.3の未決出願に開示されている。一般に、基本ネットワーク・サポートは、信頼性の低い通信媒体を介した機械相互間における信頼し得るパケット配送を保証するけれども、それは、通常、確実な配送を行うことはできない。データは1回、しかも1回だけしか送られないこと、及び主要な機械又はネットワークの障害の後に通信が適正に再始動及び回復するであろうということを保証するために、パケット配送のための基本ネットワーク・サポート以上のものが要求される。特に、確実な配送システムにおける両パートナは、どのデータがうまく伝送され、「ハード化」されたかを覚えておかなければならない。ハード化するということは、ディスクのような記憶媒体にデータを書き込み、たとえハードウエア障害があってもそれが回復可能であることを保証するステップである。メッセージ・キューイング・システムにおける資源回復の対策が、McGraw−Hill社発行(1994年)のB.Blakeley,H.Harris及びR.Lewis著の「MQIを使用したメッセージング及びキューイング(Messaging and Queuing Using the MQI)」と題した文献の209乃至217ページに詳しく開示されている。
ビジネス・アプリケーションは、トランザクション的な方法で調整される必要のあるアクティビティを持った幾つものサービス・アプリケーションを伴い得るものである。この問題は、サーバ・システムにおけるメッセージ・キュー・マネージャ・プログラムによって解決される。
ゲートウェイ・プログラムは、単一の制御メッセージ・キューイング・アプリケーション・プログラムにメッセージを送り、そのメッセージ・キューイング・アプリケーション・プログラムは、必要な場合には、それを個々のサービング・アプリケーションに対する個別の要求に分解する。これらのメッセージは送られ、メッセージ・キュー・マネージャ・プログラムによるトランザクション制御の下に再結合される。そのようなトランザクション制御を行う機能を持ったメッセージング・プログラムはその分野では知られている(例えば、IBM社のMQSeriesのメッセージング・プログラムである)。
ゲートウェイ・プログラムの設計は、増大した要求に対処するために、エクストラ・サービング・アプリケーションが付加されることを可能にする。即ち、本発明の望ましい実施例による解決方法は変動可能である。これは、ゲートウェイ・プログラムが各非同期メッセージのメッセージ・デスクリプタ部分においてセッション識別子を含むことによって達成される(メッセージ・デスクリプタは、そのメッセージの特性を定義する情報、及びメッセージを処理すべき方法を決定するためにどれがメッセージ・キューイング・サービスによって使用されるかを定義する情報を含む。メッセージそのものは2つの異なるコンポーネント、即ち、アプリケーション・データ部分及びそのアプリケーション・データに付随したメッセージ・デスクリプタ情報を含むメッセージ・ヘッダ部分を含む)。これは、複数のサービング・アプリケーション・プログラムを単一の作業キューに対して並行して走らせることを可能にする。アプリケーションが連続した対話の間にそれ自身のコンテキスト・メッセージを保持する必要がある場合、それは、それのセッション識別子に符号したメッセージを検索することができる。それがコンテキスト情報を維持しない場合、サービング・アプリケーションのインスタンスは検索を行い、それらが見つけた第1メッセージを処理することができる。
従って、望ましい実施例による本発明は、既存のウェブ・ブラウザの修正を必要とすることなく、汎用のメッセージング・システムとインターネットWWWサービスとのリンクを容易にするが、本発明はこの実施方法に限定されるものではない。本発明は、任意の2つのデータ処理システムにおける一方のシステム上にインストールされたコンピュータ・プログラムが同期通信を必要とし、他方のシステムにおけるプログラムが非同期形式の通信を必要とする場合のそれら2つのデータ処理システムの間のリンクを提供するように実施可能である。IBM社のMQSeries製品のようなメッセージング・ソフトウエアに関連した望ましい実施方法による場合の本発明は、MQSeriesがTCP/IP、APPC、及びNetBIOS通信プロトコルをサポートするので、インターネット・プロトコル(IP)をサポートしないネットワークに対するブリッジを提供する。従って、本発明は、IPネットワーク及び非IPネットワークにおけるアプリケーション相互間の通信を容易にする。
上記の望ましい実施例は、メッセージング・システムと関連した別々にインストール可能なゲートウェイ・プログラムを含む。別の実施例は、ゲートウェイをキュー・マネージャ・プログラムの内部コンポーネントとして実施する。セッション識別子及びセッション状態テーブルは、キュー・マネージャの制御の下にメッセージ・キューとして実施されることが望ましい。MQSeriesキュー・マネージャにおいて既に実施されているMessageID識別子及びCore1ID識別子は、キューをスキャンする時に適当なサーチ情報として使用可能である。しかし、エントリがキュー・マネージャ制御されたキュー上に残っている間にエントリを修正するための対策はないので、キュー・マネージャ制御されたキューに保持されたエントリの更新は、キューからのそれらエントリの除去、修正、及びその後のそのキューにおける置換というステップを必要とする。共用メモリに保持されたテーブルにおけるエントリの更新は、以前のエントリを単に上書きすることを必要とするだけである。「事象待ち(即ち、応答)又はタイム・アウト(wait for event or timeout)」オペレーションに対するメッセージ・キュー・マネージャ・プログラムの機能を利用することには利点があるけれども、この機能は、一般に、マルチ・スレッド・アペレーティング・システムによって与えられ、メッセージ・キュー・マネージャ・プログラムは、実際には、基礎的なアペレーティング・システムの機能を利用するものでもよい。別の実施例は、新たな応答メッセージが最初に応答キュー上に入れられる時、ゲートウェイ・プログラムのトリガを使用することができるが、クライアント・システムによる現在生きているセッションがない時のトリガは望ましくないので、これは望ましい実施方法ではない。本発明の更に別の実施例は、「待機を伴う取得(Get with Wait)」オペレーションを呼び出す代わりに新たな応答メッセージに対する応答キューの周期的スキャンを実施してもよい。
上記の望ましい実施例では、セッション識別子はウェブ・ブラウザのキャッシュ記憶装置に(HTMLページにおける組込フィールドとして)自動的に記憶される。しかし、別の方法として、セッション識別子はディスプレイ・スクリーンを通してエンド・ユーザに表示可能であり、その後の関連要求を行う時、セッション識別子内にタイプすることを要求されることがある。タイムアウト後のクライアント・システムに対する仮応答が自動的記憶又は将来の要求における自動的包含なしに単にユーザに表示されるという実施例では、現在のセッションが維持されるべきか、或いは識別子がその後の要求の再試行のために記憶される場合にそのセッションが終了させられるべきかを決定するのはユーザである。上記の実施例も、ブラウザに返送された或る通信内にセッション識別子及びセッション状態情報だけが含まれるという特徴を有するが、明らかに本発明の技術的範囲内にある代替方法は、すべての応答内に少なくともセッション識別子情報を含むことを伴う。
上記の望ましい実施例の特徴はゲートウェイ・プログラムによる状態データの保全である。本発明の別の実施例は、ゲートウェイ・プログラムがセッション状態情報の保全を伴わないようにアプリケーション・プログラムが処理するというシーケンス問題をすべてそのまま残している。

Claims (11)

  1. 通信ネットワークのためのデータ通信サーバ・システムにして、前記サーバ・システムは、前記サーバ・システムと前記ネットワークのクライアント・システムとの間の同期通信をサポートするための機能と、前記サーバ・システム上のプログラム又は前記ネットワークの他のシステム上のプログラムとの非同期通信をサポートするための機能とを有し、更に、前記サーバ・システムは、
    前記クライアント・システム及び前記サーバ・システムの間の同期通信セッションにおける前記クライアント・システムからの要求に応じて、前記サーバ・システム上のプログラム又は前記ネットワークの他のシステム上のプログラムに要求を非同期通信要求として送るための手段と、
    前記クライアント・システムからの前記要求に応じて、タイマを始動するための手段と、
    前記非同期通信要求に対する応答を前記プログラムから受信したことに応じて、前記クライアント・システムからの前記要求に当該受信された応答を関連付けることにより、前記クライアント・システムに応答が送られることを可能にするための手段と、
    前記非同期通信要求に対する応答を受信する前に、前記サーバ・システムによって割り当てられたセッション識別子を含む仮応答を発生するための手段と、
    前記非同期通信要求に対する応答が受信される前にプリセット期間が満了する場合、前記同期通信セッションにおいて前記仮応答を前記クライアント・システムに送るための手段と、
    前記同期通信セッションにおいて前記クライアント・システムに応答を送るための手段とを有し、
    当該応答を送るための手段は、プリセット期間の満了前の前期非同期通信要求に対する応答の受信に応じて、前記同期通信セッションにおいて前記クライアント・システムに対する応答内に前記受信された応答からの情報を含める、データ通信サーバ・システム。
  2. 前記クライアント・システムからの前記要求にセッション識別子を割り当てるとともに、当該セッション識別子を前記非同期通信要求内に含めるためのプロセスと、
    前記非同期通信要求に対する応答にして、前記セッション識別子を含む応答を前記プログラムから受信したことに応じて、当該受信された応答を前記クライアント・システムからの前記要求と関連付けるために前記セッション識別子を使用するとともに、前記クライアント・システムに送られる応答内に前記セッション識別子を含めるための手段とを有する、請求の範囲第1項に記載のデータ通信サーバ・システム。
  3. 前記非同期通信要求に対する前記プログラムの応答内に含まれたセッション状態情報に応じて、前記クライアント・システムに送られる前記応答内にセッション状態情報を含めるための手段を有する、請求の範囲第2項に記載のデータ通信サーバ・システム。
  4. 前記サーバ・システムは、前記クライアント・システム上にインストールされたインターネット・ワールド・ワイド・ウェブ(WWW)ブラウザ・ソフトウェアからの要求に応答するためのWWWサーバ・ソフトウェアをインストールされ、前記クライアント・システムに送られる応答に含まれるHTMLページ内にセッション識別子情報を組み込むための手段を有する、請求の範囲第2項に記載のデータ通信サーバ・システム。
  5. 前記サーバ・システムは、前記非同期通信要求に対する前記プログラムの応答内に含まれたセッション状態情報に応じて、エンド・ユーザによる完了のための前記セッション識別子を組み込まれた1つ又は複数のHTMLフォームを前記HTMLページ内に含めるための手段を有する、請求の範囲第4項に記載のデータ通信サーバ・システム。
  6. 前記サーバ・システムは、前記非同期通信要求に対する前記プログラムの応答内に含まれたセッション状態情報に応じて、前記クライアント・システムに送られる前記HTMLページ内にセッション状態情報を組み込むための手段を有する、請求の範囲第4項又は第5項に記載のデータ通信サーバ・システム。
  7. クライアント要求のHTMLデータを前記プログラムによって解釈可能なフォーマットに変換するための手段及び前記クライアント・システムに対する応答内に含めるために前記プログラムからの応答内に含まれた情報をHTMLに変換するための手段を有する、請求の範囲第4項又は第5項に記載のデータ通信サーバ・システム。
  8. 前記サーバ・システムは、到着時の確認(COA)又は配送時の確認(COD)のレポートを行い、前記プリセット期間が満了する前のCOA又はCODのレポートの受信に応じて、前記プリセット期間の満了時に前記クライアント・システムに送られる前記仮応答内に前記COA又はCODのレポートを含める、請求の範囲第1項に記載のデータ通信サーバ・システム。
  9. 前記サーバ・システムは、前記セッション状態の識別が前記非同期通信要求に対する前記プログラムの応答内に含まれることに応じて、前記クライアント・システムに対する前記応答内にセッション識別情報を含めるべきかどうかを決定するための手段を有する、請求の範囲第1項に記載のデータ通信サーバ・システム。
  10. 前記クライアント・システムに対する応答内にセッション状態情報を含めるための手段は前記セッション状態に従って前記セッション状態情報を含めるべきかどうかを決定するための手段を有する、請求の範囲第3項に記載のデータ通信サーバ・システム。
  11. 前記クライアント・システムからの前記要求に応じて、受信の確認が前記仮応答として前記クライアント・システムに送られるべきか又は前記タイマが始動されるべきかを決定するための手段を有する、請求の範囲第1項に記載のデータ通信サーバ・システム。
JP54180997A 1996-05-24 1997-05-19 データ通信サーバ・システム Expired - Fee Related JP3578221B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GB9610898A GB2313524A (en) 1996-05-24 1996-05-24 Providing communications links in a computer network
GB9610898.0 1996-05-24
PCT/GB1997/001384 WO1997045798A1 (en) 1996-05-24 1997-05-19 Providing communications links in a computer network

Publications (2)

Publication Number Publication Date
JPH11510632A JPH11510632A (ja) 1999-09-14
JP3578221B2 true JP3578221B2 (ja) 2004-10-20

Family

ID=10794249

Family Applications (1)

Application Number Title Priority Date Filing Date
JP54180997A Expired - Fee Related JP3578221B2 (ja) 1996-05-24 1997-05-19 データ通信サーバ・システム

Country Status (13)

Country Link
US (1) US6336135B1 (ja)
EP (1) EP0978056B1 (ja)
JP (1) JP3578221B2 (ja)
KR (1) KR100275403B1 (ja)
CN (1) CN1117333C (ja)
CZ (1) CZ381198A3 (ja)
DE (1) DE69731318T2 (ja)
ES (1) ES2227692T3 (ja)
GB (1) GB2313524A (ja)
HU (1) HUP9902190A3 (ja)
MY (1) MY123071A (ja)
PL (1) PL329935A1 (ja)
WO (1) WO1997045798A1 (ja)

Families Citing this family (201)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8073695B1 (en) 1992-12-09 2011-12-06 Adrea, LLC Electronic book with voice emulation features
US9053640B1 (en) 1993-12-02 2015-06-09 Adrea, LLC Interactive electronic book
US20040264402A9 (en) * 1995-06-01 2004-12-30 Padcom. Inc. Port routing functionality
US6418324B1 (en) * 1995-06-01 2002-07-09 Padcom, Incorporated Apparatus and method for transparent wireless communication between a remote device and host system
GB2313524A (en) 1996-05-24 1997-11-26 Ibm Providing communications links in a computer network
US6636733B1 (en) 1997-09-19 2003-10-21 Thompson Trust Wireless messaging method
US6253061B1 (en) * 1997-09-19 2001-06-26 Richard J. Helferich Systems and methods for delivering information to a transmitting and receiving device
US7346689B1 (en) * 1998-04-20 2008-03-18 Sun Microsystems, Inc. Computer architecture having a stateless human interface device and methods of use
JP2000036822A (ja) * 1998-07-16 2000-02-02 Nec Corp コンピュータネットワーク及びサーバ
US8060656B2 (en) * 1998-10-09 2011-11-15 Netmotion Wireless, Inc. Method and apparatus for providing mobile and other intermittent connectivity in a computing environment
US7778260B2 (en) * 1998-10-09 2010-08-17 Netmotion Wireless, Inc. Method and apparatus for providing mobile and other intermittent connectivity in a computing environment
US7293107B1 (en) * 1998-10-09 2007-11-06 Netmotion Wireless, Inc. Method and apparatus for providing mobile and other intermittent connectivity in a computing environment
US8078727B2 (en) 1998-10-09 2011-12-13 Netmotion Wireless, Inc. Method and apparatus for providing mobile and other intermittent connectivity in a computing environment
US7136645B2 (en) * 1998-10-09 2006-11-14 Netmotion Wireless, Inc. Method and apparatus for providing mobile and other intermittent connectivity in a computing environment
US6546425B1 (en) * 1998-10-09 2003-04-08 Netmotion Wireless, Inc. Method and apparatus for providing mobile and other intermittent connectivity in a computing environment
US8074055B1 (en) 1999-01-28 2011-12-06 Ati Technologies Ulc Altering data storage conventions of a processor when execution flows from first architecture code to second architecture code
US8121828B2 (en) * 1999-01-28 2012-02-21 Ati Technologies Ulc Detecting conditions for transfer of execution from one computer instruction stream to another and executing transfer on satisfaction of the conditions
US6763452B1 (en) 1999-01-28 2004-07-13 Ati International Srl Modifying program execution based on profiling
US7111290B1 (en) 1999-01-28 2006-09-19 Ati International Srl Profiling program execution to identify frequently-executed portions and to assist binary translation
US8127121B2 (en) * 1999-01-28 2012-02-28 Ati Technologies Ulc Apparatus for executing programs for a first computer architechture on a computer of a second architechture
US6954923B1 (en) 1999-01-28 2005-10-11 Ati International Srl Recording classification of instructions executed by a computer
US7941647B2 (en) 1999-01-28 2011-05-10 Ati Technologies Ulc Computer for executing two instruction sets and adds a macroinstruction end marker for performing iterations after loop termination
US6434605B1 (en) * 1999-04-05 2002-08-13 Worldcom, Inc. Automatic detection and recovery for problems arising with interconnected queue managers
US6779107B1 (en) * 1999-05-28 2004-08-17 Ati International Srl Computer execution by opportunistic adaptation
US7882247B2 (en) 1999-06-11 2011-02-01 Netmotion Wireless, Inc. Method and apparatus for providing secure connectivity in mobile and other intermittent computing environments
US6976077B1 (en) * 1999-07-06 2005-12-13 Microsoft Corporation Automatic and transparent synchronization of server-side state information with a client application
US6895584B1 (en) 1999-09-24 2005-05-17 Sun Microsystems, Inc. Mechanism for evaluating requests prior to disposition in a multi-threaded environment
EP1224568A4 (en) * 1999-09-24 2006-11-08 Sun Microsystems Inc MECHANISM FOR VALIDATING SESSION INFORMATION TO BE SHARED AMONG MULTIPLE PROCESSES
US6701367B1 (en) * 1999-09-24 2004-03-02 Sun Microsystems, Inc. Mechanism for enabling customized session managers to interact with a network server
US6766349B1 (en) 1999-09-24 2004-07-20 Sun Microsystems, Inc. Mechanism for obtaining a thread from, and returning a thread to, a thread pool without attaching and detaching
US6587827B1 (en) * 1999-10-22 2003-07-01 Hewlett-Packard Development Company, L.P. Order fulfillment processing system
US6871203B1 (en) * 1999-10-29 2005-03-22 International Business Machines Corporation Data processing system
US7107325B1 (en) 1999-11-15 2006-09-12 Insweb Corporation System and method for optimizing and processing electronic pages in multiple languages
US20010034782A1 (en) * 2000-01-14 2001-10-25 Ian Kinkade Efficient web based proxy message method and apparatus for message queuing middleware resident on a server computer
US20060235945A1 (en) * 2000-01-14 2006-10-19 Frietas Nathaniel X Software architecture for wireless data and method of operation thereof
US8756342B1 (en) 2000-02-07 2014-06-17 Parallel Networks, Llc Method and apparatus for content synchronization
US7454457B1 (en) 2000-02-07 2008-11-18 Parallel Networks, Llc Method and apparatus for dynamic data flow control using prioritization of data requests
JP2001216262A (ja) * 2000-02-07 2001-08-10 Fujitsu Ltd サーバ
IL135150A0 (en) * 2000-03-17 2001-05-20 Avner Geller A method and a system for secured identification of user's identity
US20030070074A1 (en) * 2000-03-17 2003-04-10 Avner Geller Method and system for authentication
US20040105122A1 (en) * 2000-03-20 2004-06-03 Schaeffer Richard J. Printer control and document management system
KR100397495B1 (ko) * 2000-06-24 2003-09-13 엘지전자 주식회사 실시간처리 운영체제의 주제어부와 부제어부간의접속해제를 안정화하기 위한 제어방법
US7117239B1 (en) 2000-07-28 2006-10-03 Axeda Corporation Reporting the state of an apparatus to a remote computer
EP1334587A1 (en) * 2000-08-31 2003-08-13 Padcom Inc. Method and apparatus for routing data over multiple wireless networks
US8108543B2 (en) 2000-09-22 2012-01-31 Axeda Corporation Retrieving data from a server
US6810430B1 (en) * 2000-09-29 2004-10-26 Abb Automation Inc. Network communications coupler
US7830399B2 (en) * 2000-10-04 2010-11-09 Shutterfly, Inc. System and method for manipulating digital images
WO2002054263A1 (fr) * 2000-12-28 2002-07-11 Future System Consulting Corp. Systeme de structure
US6862628B2 (en) * 2001-01-05 2005-03-01 Microsoft Corporation Enhancing application performance in dynamic networks
US7788399B2 (en) * 2001-03-26 2010-08-31 Salesforce.Com, Inc. System and method for mapping of services
US9948644B2 (en) 2001-03-26 2018-04-17 Salesforce.Com, Inc. Routing messages between applications
US7516191B2 (en) * 2001-03-26 2009-04-07 Salesforce.Com, Inc. System and method for invocation of services
US7689711B2 (en) * 2001-03-26 2010-03-30 Salesforce.Com, Inc. System and method for routing messages between applications
US7447802B2 (en) * 2001-03-30 2008-11-04 Oracle International Corporation Method and system for maintaining a configuration state
US7249195B2 (en) 2001-03-30 2007-07-24 Minor Ventures, Llc Apparatus and methods for correlating messages sent between services
US20020188666A1 (en) * 2001-05-23 2002-12-12 Lemon Michael J. Lightweight dynamic service conversation controller
US20050198379A1 (en) * 2001-06-13 2005-09-08 Citrix Systems, Inc. Automatically reconnecting a client across reliable and persistent communication sessions
US7562146B2 (en) * 2003-10-10 2009-07-14 Citrix Systems, Inc. Encapsulating protocol for session persistence and reliability
US7801941B2 (en) * 2001-07-09 2010-09-21 Palm, Inc. Apparatus and method for exchanging data between two devices
US7668535B2 (en) * 2001-07-09 2010-02-23 Palm, Inc. Notification infrastructure for sending device-specific wireless notifications
US20030037102A1 (en) * 2001-08-14 2003-02-20 Philippe Eckert Message broker
US7644171B2 (en) * 2001-09-12 2010-01-05 Netmotion Wireless, Inc. Mobile networking system and method using IPv4 and IPv6
US6907451B1 (en) * 2001-09-29 2005-06-14 Siebel Systems, Inc. Method, apparatus, and system for immediate posting of changes in a client server environment
US7461119B2 (en) * 2001-09-29 2008-12-02 Siebel Systems, Inc. Method, apparatus, and system for managing status of requests in a client server environment
US7885996B2 (en) * 2001-09-29 2011-02-08 Siebel Systems, Inc. Method, apparatus, and system for implementing notifications in a framework to support web-based applications
US8359335B2 (en) 2001-09-29 2013-01-22 Siebel Systems, Inc. Computing system and method to implicitly commit unsaved data for a world wide web application
US7146617B2 (en) 2001-09-29 2006-12-05 Siebel Systems, Inc. Method, apparatus, and system for implementing view caching in a framework to support web-based applications
US7203948B2 (en) * 2001-09-29 2007-04-10 Siebel Systems, Inc. Method, apparatus, and system for implementing caching of view custom options in a framework to support web-based applications
US7870492B2 (en) 2001-10-02 2011-01-11 Siebel Systems, Inc. Method, apparatus, and system for managing commands in a client server environment
US7003570B2 (en) * 2001-10-05 2006-02-21 Bea Systems, Inc. System for integrating java servlets with asynchronous messages
US20030101291A1 (en) * 2001-11-23 2003-05-29 Mussack Christopher Joseph Application programming interface for provision of DICOM services
DE10162986B4 (de) * 2001-12-20 2004-01-15 Siemens Ag Anbindung von Netzwerken mit unterschiedlichen Protokollen
US20030126109A1 (en) * 2002-01-02 2003-07-03 Tanya Couch Method and system for converting message data into relational table format
US6950959B2 (en) * 2002-02-12 2005-09-27 Fulcrum Microystems Inc. Techniques for facilitating conversion between asynchronous and synchronous domains
US7444410B1 (en) * 2002-02-15 2008-10-28 Oracle International Corporation Application platform execution environment
US7984157B2 (en) * 2002-02-26 2011-07-19 Citrix Systems, Inc. Persistent and reliable session securely traversing network components using an encapsulating protocol
US7661129B2 (en) * 2002-02-26 2010-02-09 Citrix Systems, Inc. Secure traversal of network components
US7558196B2 (en) * 2002-04-08 2009-07-07 Alcatel-Lucent Usa Inc. Method and apparatus for system resource management in a communications system
WO2003102778A2 (en) * 2002-05-31 2003-12-11 International Business Machines Corporation System and method for accessing different types of back end data stores
JP4225743B2 (ja) * 2002-07-04 2009-02-18 株式会社東芝 無線端末及び通信制御方法
CN100426812C (zh) * 2002-08-15 2008-10-15 中兴通讯股份有限公司 一种基于分组数据业务流程的仿真系统
US7243124B1 (en) 2002-09-06 2007-07-10 Oracle International Corporation Architecture for general purpose near real-time business intelligence system with client devices and methods therefor
US8255454B2 (en) * 2002-09-06 2012-08-28 Oracle International Corporation Method and apparatus for a multiplexed active data window in a near real-time business intelligence system
US7412481B2 (en) * 2002-09-16 2008-08-12 Oracle International Corporation Method and apparatus for distributed rule evaluation in a near real-time business intelligence system
US7899879B2 (en) 2002-09-06 2011-03-01 Oracle International Corporation Method and apparatus for a report cache in a near real-time business intelligence system
US8165993B2 (en) * 2002-09-06 2012-04-24 Oracle International Corporation Business intelligence system with interface that provides for immediate user action
US7945846B2 (en) 2002-09-06 2011-05-17 Oracle International Corporation Application-specific personalization for data display
US7272660B1 (en) 2002-09-06 2007-09-18 Oracle International Corporation Architecture for general purpose near real-time business intelligence system and methods therefor
US7912899B2 (en) * 2002-09-06 2011-03-22 Oracle International Corporation Method for selectively sending a notification to an instant messaging device
US7941542B2 (en) * 2002-09-06 2011-05-10 Oracle International Corporation Methods and apparatus for maintaining application execution over an intermittent network connection
US7454423B2 (en) 2002-09-06 2008-11-18 Oracle International Corporation Enterprise link for a software database
US7426059B2 (en) 2002-09-16 2008-09-16 Oracle International Corporation Data presentation methods and apparatus to facilitate printing and reviewing
US7401158B2 (en) * 2002-09-16 2008-07-15 Oracle International Corporation Apparatus and method for instant messaging collaboration
US7668917B2 (en) * 2002-09-16 2010-02-23 Oracle International Corporation Method and apparatus for ensuring accountability in the examination of a set of data elements by a user
US7305554B2 (en) * 2002-12-16 2007-12-04 Alcatel Canada Inc. Dynamic acquisition of state during security system reconfiguration
JP3880513B2 (ja) 2002-12-16 2007-02-14 インターナショナル・ビジネス・マシーンズ・コーポレーション 中継処理装置、制御方法、プログラム、記録媒体、及び端末制御サーバ
US7480657B1 (en) * 2003-01-06 2009-01-20 Cisco Technology, Inc. Caching information for multiple service applications
US7769881B2 (en) * 2003-01-24 2010-08-03 Hitachi, Ltd. Method and apparatus for peer-to peer access
US8359393B2 (en) 2003-02-13 2013-01-22 Transunion Interactive, Inc. Methods, apparatuses and systems facilitating seamless, virtual integration of online membership models and services
US7337468B2 (en) * 2003-02-13 2008-02-26 Truelink, Inc. Methods, apparatuses and systems facilitating seamless, virtual integration of online membership models and services
US7966418B2 (en) * 2003-02-21 2011-06-21 Axeda Corporation Establishing a virtual tunnel between two computer programs
US20040170181A1 (en) * 2003-02-27 2004-09-02 Padcom, Inc. Prioritized alternate port routing
JP4305004B2 (ja) * 2003-02-28 2009-07-29 ソニー株式会社 情報処理装置、およびコンテンツ情報処理方法、並びにコンピュータ・プログラム
US7904823B2 (en) * 2003-03-17 2011-03-08 Oracle International Corporation Transparent windows methods and apparatus therefor
KR100925198B1 (ko) * 2003-03-17 2009-11-06 엘지전자 주식회사 대화형 디스크 플레이어간의 사용자 메시지 교환방법
JP2004295262A (ja) * 2003-03-25 2004-10-21 Toudai Tlo Ltd スクリプトの実行方法およびサーバ・クライアントシステム
US7676580B2 (en) * 2003-03-27 2010-03-09 Microsoft Corporation Message delivery with configurable assurances and features between two endpoints
US7113964B1 (en) 2003-06-05 2006-09-26 Iteration Software, Inc. Method and apparatus for archiving data in a relational database system
US7548989B2 (en) * 2003-07-01 2009-06-16 International Business Machines Corporation Method and system for maintaining consistency during multi-threaded processing of LDIF data
US8429249B2 (en) * 2003-07-11 2013-04-23 Ca, Inc. System and method for configuring servlet-based components as dynamic content components
US7349968B2 (en) * 2003-07-31 2008-03-25 International Business Machines Corporation Method, system and program product for asynchronously processing requests
US7380009B2 (en) * 2003-08-07 2008-05-27 Interantional Business Machines, Incorporated Method, system and program product for delayed disconnection of a client from a server
CA2477902C (en) * 2003-08-18 2010-07-06 Bill F. Campbell Web server system and method
GB2405228B8 (en) * 2003-08-19 2007-09-13 Ibm A method, apparatus and computer program for verifying the order of a queue of work items
US6925928B2 (en) * 2003-09-18 2005-08-09 Anthony Fox Trash compactor for fast food restaurant waste
US20050080903A1 (en) * 2003-09-30 2005-04-14 Moshe Valenci Method, system, and program for maintaining a link between two network entities
US20050080759A1 (en) * 2003-10-08 2005-04-14 International Business Machines Corporation Transparent interface to a messaging system from a database engine
US8453196B2 (en) * 2003-10-14 2013-05-28 Salesforce.Com, Inc. Policy management in an interoperability network
US7904882B2 (en) 2003-10-16 2011-03-08 Salesforce.Com, Inc. Managing virtual business instances within a computer network
US8229996B2 (en) * 2003-11-26 2012-07-24 Microsoft Corporation Asynchronous processing of task components in connection with rights management system and the like
US8775654B2 (en) * 2003-12-19 2014-07-08 Salesforce.Com, Inc. Apparatus and methods for mediating messages
US7650380B2 (en) * 2004-02-12 2010-01-19 International Business Machines Corporation System and method for messaging and collaborating in an intranet environment
EP1735947B1 (en) * 2004-02-27 2008-06-18 Research In Motion Limited System and method for communicating asynchronously with synchronous web services using a mediator service
US7496500B2 (en) * 2004-03-01 2009-02-24 Microsoft Corporation Systems and methods that determine intent of data and respond to the data based on the intent
US7739351B2 (en) * 2004-03-23 2010-06-15 Salesforce.Com, Inc. Synchronous interface to asynchronous processes
US7590685B2 (en) * 2004-04-07 2009-09-15 Salesforce.Com Inc. Techniques for providing interoperability as a service
US7437169B2 (en) * 2004-06-07 2008-10-14 Microsoft Corporation System and method for optimizing network communication in response to network conditions
US8280948B1 (en) * 2004-06-08 2012-10-02 Persony Inc. System and method for enabling online collaboration amongst a plurality of terminals using a web server
US20060015622A1 (en) * 2004-07-14 2006-01-19 International Business Machines Corporation Enabling asynchronous transaction interactions on Web browsers
US20060026214A1 (en) * 2004-07-29 2006-02-02 International Business Machines Corporation Switching from synchronous to asynchronous processing
US7725605B2 (en) 2004-08-06 2010-05-25 Salesforce.Com, Inc. Providing on-demand access to services in a wide area network
US9645712B2 (en) 2004-10-01 2017-05-09 Grand Central Communications, Inc. Multiple stakeholders for a single business process
US7752671B2 (en) * 2004-10-04 2010-07-06 Promisec Ltd. Method and device for questioning a plurality of computerized devices
US7657618B1 (en) * 2004-10-15 2010-02-02 F5 Networks, Inc. Management of multiple client requests
US20060093125A1 (en) * 2004-11-02 2006-05-04 Dezonno Anthony J Messaging presence for non-messaging devices
US20060106840A1 (en) * 2004-11-04 2006-05-18 International Business Machines Corporation System and method for tracking notifications in a publish subscribe system
US7681074B2 (en) * 2005-04-29 2010-03-16 Microsoft Corporation Transport high availability
US7693071B2 (en) * 2005-05-27 2010-04-06 Microsoft Corporation System and method for routing messages within a messaging system
US7882176B2 (en) * 2005-05-27 2011-02-01 Microsoft Corporation Establishing a multiparty session by sending invitations in parallel
US7660850B2 (en) * 2005-05-27 2010-02-09 Microsoft Corporation Supporting a serial and a parallel invitation protocol
JP4725955B2 (ja) * 2005-06-30 2011-07-13 株式会社リコー 情報処理装置、メッセージ管理方法、プログラムおよび記憶媒体
EP1775911B1 (en) * 2005-10-13 2018-02-28 BlackBerry Limited System and method for providing asynchronous notifications using synchronous data
US8095599B2 (en) * 2005-10-20 2012-01-10 International Business Machines Corporation Mail-based web application and document delivery
US20070094336A1 (en) * 2005-10-24 2007-04-26 Microsoft Corporation Asynchronous server synchronously storing persistent data batches
US8077699B2 (en) * 2005-11-07 2011-12-13 Microsoft Corporation Independent message stores and message transport agents
US8223777B2 (en) * 2005-11-15 2012-07-17 Oracle International Corporation Gateway for achieving low latency and high availability in a real time event processing system
US7921165B2 (en) * 2005-11-30 2011-04-05 Microsoft Corporation Retaining mail for availability after relay
US7933964B2 (en) * 2006-02-16 2011-04-26 Microsoft Corporation Shell sessions
US7933986B2 (en) 2006-02-16 2011-04-26 Microsoft Corporation Transferring command-lines as a message
US8751579B1 (en) * 2006-03-02 2014-06-10 Salesforce.Com, Inc. Method and system of maintaining a browser in a design application workflow
US20090133129A1 (en) * 2006-03-06 2009-05-21 Lg Electronics Inc. Data transferring method
EP1992138A4 (en) * 2006-03-06 2014-12-31 Lg Electronics Inc DATA TRANSFER CONTROL METHOD, METHOD FOR CONTINUOUS TRANSMISSION CONTROL, METHOD FOR DETECTING CONTENT PROCESSING INFORMATION AND CONTENT TRANSMISSION SYSTEM
US8078153B2 (en) * 2006-04-29 2011-12-13 724 Solutions Software, Inc. System and method for dynamic provisioning of contextual-based identities
US8327024B2 (en) * 2006-04-29 2012-12-04 724 Solutions Software, Inc. System and method for SMS/IP interoperability
WO2007127422A2 (en) * 2006-04-29 2007-11-08 724 Solutions Software Inc. Platform for interoperability
US9112808B2 (en) * 2007-02-06 2015-08-18 At&T Intellectual Property Ii, L.P. Devices, systems, and methods for providing data
KR100862354B1 (ko) * 2007-04-10 2008-10-13 전자부품연구원 비동기 검색 환경을 지원하는 멀티미디어 검색 방법
US8626951B2 (en) * 2007-04-23 2014-01-07 4Dk Technologies, Inc. Interoperability of network applications in a communications environment
US8635069B2 (en) 2007-08-16 2014-01-21 Crimson Corporation Scripting support for data identifiers, voice recognition and speech in a telnet session
US8478880B2 (en) * 2007-08-31 2013-07-02 Palm, Inc. Device profile-based media management
US8560669B2 (en) * 2007-09-26 2013-10-15 Quantcast Corporation Tracking identifier synchronization
US8515903B2 (en) 2007-10-03 2013-08-20 Database Logic Inc. Collaboration of plural databases by interaction through universal index
US20090094229A1 (en) * 2007-10-03 2009-04-09 Mark Warne Ferrel Method and apparatus for exploiting 'trace' function to support database integration
US8214847B2 (en) * 2007-11-16 2012-07-03 Microsoft Corporation Distributed messaging system with configurable assurances
US8200836B2 (en) * 2007-11-16 2012-06-12 Microsoft Corporation Durable exactly once message delivery at scale
US7792997B2 (en) 2007-12-31 2010-09-07 Accenture Global Services Gmbh Freight backbone messaging architecture
US20090210822A1 (en) * 2008-02-18 2009-08-20 Microsoft Corporation Locating meeting users
US9143540B2 (en) * 2008-04-24 2015-09-22 Oracle International Corporation System and method for providing service correlation in a service access gateway environment
US8655954B2 (en) 2008-05-20 2014-02-18 Raytheon Company System and method for collaborative messaging and data distribution
WO2009143104A1 (en) 2008-05-20 2009-11-26 Raytheon Company System and method for maintaining stateful information
EP2301209B1 (en) 2008-05-20 2016-03-30 Raytheon Company System and method for message filtering
WO2009143105A2 (en) * 2008-05-20 2009-11-26 Raytheon Company Method and apparatus for providing a synchronous interface for an asynchronous service
US7752261B1 (en) 2008-06-27 2010-07-06 Quant cast Corporation System and method for multibeaconing
US8949344B2 (en) * 2008-09-15 2015-02-03 Microsoft Corporation Asynchronous queued messaging for web applications
US8156203B2 (en) 2008-09-15 2012-04-10 Microsoft Corporation Dye injected request generation
CN101686245B (zh) * 2008-09-28 2014-06-11 国际商业机器公司 用于隔离超文本传输协议会话的方法和系统
US8005923B2 (en) * 2009-02-23 2011-08-23 International Business Machines Corporation System and method of obfuscating queue management
US8739166B2 (en) * 2009-12-28 2014-05-27 Sap Ag Progress-driven progress information in a service-oriented architecture
US9536222B2 (en) * 2009-12-28 2017-01-03 Sap Se Progress information in a service-oriented architecture
US9015136B2 (en) * 2010-01-22 2015-04-21 Microsoft Technology Licensing, Llc Storing temporary state data in separate containers
JP5408353B2 (ja) * 2010-07-13 2014-02-05 富士通株式会社 マルチスレッド処理装置,マルチスレッド処理システム,マルチスレッド処理プログラム,及びマルチスレッド処理方法
US8453127B2 (en) * 2010-09-20 2013-05-28 Sap Ag Systems and methods providing a token synchronization gateway for a graph-based business process model
CN102158518B (zh) * 2010-12-03 2014-04-30 华为技术有限公司 一种cdn网络中的数据传输方法、网络节点及系统
US9602287B2 (en) * 2011-06-02 2017-03-21 Sap Se Method and system for signed stateless data transfer
US8694998B2 (en) 2011-08-29 2014-04-08 Microsoft Corporation Cancellable command application programming interface (API) framework
US20130191500A1 (en) * 2012-01-19 2013-07-25 Ebay Inc. Methods and systems for providing a synchronous interface over an asynchronous message bus
US9253011B2 (en) 2012-09-27 2016-02-02 Intuit Inc. Session-server affinity for clients that lack session identifiers
CN104184635B (zh) * 2014-08-19 2018-02-13 烽火通信科技股份有限公司 家庭网关基于Android RIL实现一对多数据通讯的方法及装置
US10033797B1 (en) * 2014-08-20 2018-07-24 Ivanti, Inc. Terminal emulation over HTML
JP6447224B2 (ja) * 2015-02-20 2019-01-09 日本電気株式会社 通信装置、中継装置、通信方法及び通信プログラム
US9961112B2 (en) * 2015-04-20 2018-05-01 Bomgar Corporation Method and apparatus for enforcing realtime access controls for endpoints
US10320906B2 (en) 2016-04-29 2019-06-11 Netapp, Inc. Self-organizing storage system for asynchronous storage service
US11100278B2 (en) 2016-07-28 2021-08-24 Ivanti, Inc. Systems and methods for presentation of a terminal application screen
US10397185B1 (en) * 2016-12-23 2019-08-27 EMC IP Holding Company LLC Scalable cloud hosted metadata service
US10574521B2 (en) * 2017-06-19 2020-02-25 Cisco Technology, Inc. Method and apparatus to predict configuration viability and dynamically manage multi-dimensional system scale in MSDC switches
US11516154B2 (en) * 2017-07-13 2022-11-29 Apple Inc. Systems for managing messaging conversations
CN111143745A (zh) * 2019-12-27 2020-05-12 中冶建筑研究总院有限公司 基于html的数据同步和交互的方法和系统
US11271968B2 (en) 2020-03-04 2022-03-08 International Business Machines Corporation Zero round trip time transmission for anticipatory request messages
CN112487218B (zh) * 2020-11-27 2023-07-14 北京百度网讯科技有限公司 内容处理方法、系统、装置、计算设备和存储介质
CN112395359B (zh) * 2020-11-30 2023-03-31 武汉烽火众智数字技术有限责任公司 一种基于数据库数据同步来实现http代理的方法和系统
US20240064207A1 (en) * 2022-08-16 2024-02-22 Capital One Services, Llc Systems and methods for asynchronous and synchronous network communication

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5530848A (en) * 1992-10-15 1996-06-25 The Dow Chemical Company System and method for implementing an interface between an external process and transaction processing system
US5329619A (en) * 1992-10-30 1994-07-12 Software Ag Cooperative processing interface and communication broker for heterogeneous computing environments
GB2276737A (en) * 1993-03-30 1994-10-05 Ibm Fault-tolerant transaction-oriented data processing
EP0706685B1 (en) * 1993-06-28 1997-12-03 Dow Benelux N.V. An integrated plant environment system having a PROGRAM-TO-PROGRAM COMMUNICATION SERVER and method
EP0673523B1 (en) * 1993-10-08 1999-02-10 International Business Machines Corporation Message transmission across a network
GB9406477D0 (en) * 1994-03-31 1994-05-25 D2B Systems Co Ltd Interconnection of local communication bus systems
GB2288477A (en) * 1994-04-05 1995-10-18 Ibm Communications system for exchanging data between computers in a network.
JP2507235B2 (ja) * 1994-06-24 1996-06-12 インターナショナル・ビジネス・マシーンズ・コーポレイション クライアント・サ―バ・コンピュ―タ・システム、及びそのクライアント・コンピュ―タ、サ―バ・コンピュ―タ、並びにオブジェクト更新方法
JPH08286962A (ja) * 1994-12-16 1996-11-01 Internatl Business Mach Corp <Ibm> 処理システム及びオブジェクト活動化をスケジュールする方法
US5889957A (en) * 1995-06-07 1999-03-30 Tandem Computers Incorporated Method and apparatus for context sensitive pathsend
US5774670A (en) * 1995-10-06 1998-06-30 Netscape Communications Corporation Persistent client state in a hypertext transfer protocol based client-server system
US6216151B1 (en) * 1995-12-13 2001-04-10 Bea Systems, Inc. Saving connection time by obtaining result of request at later reconnection with server supplied associated key
US5754772A (en) * 1996-03-26 1998-05-19 Unisys Corporation Transaction service independent HTTP server-to-transaction gateway
GB2313524A (en) 1996-05-24 1997-11-26 Ibm Providing communications links in a computer network
US5961601A (en) * 1996-06-07 1999-10-05 International Business Machines Corporation Preserving state information in a continuing conversation between a client and server networked via a stateless protocol
JP3672208B2 (ja) * 1996-07-02 2005-07-20 インターナショナル・ビジネス・マシーンズ・コーポレーション 階層化トランザクション処理方法
US5835724A (en) * 1996-07-03 1998-11-10 Electronic Data Systems Corporation System and method for communication information using the internet that receives and maintains information concerning the client and generates and conveys the session data to the client
US6108689A (en) * 1996-10-11 2000-08-22 International Business Machines Corporation Method and system for processing messages in a distributed computing environment
GB2320112B (en) * 1996-12-07 2001-07-25 Ibm High-availability computer server system
US6088728A (en) * 1997-06-11 2000-07-11 Oracle Corporation System using session data stored in session data storage for associating and disassociating user identifiers for switching client sessions in a server
US6068661A (en) * 1997-10-01 2000-05-30 Micron Electronics, Inc. Method of emulating synchronous communication
US6085247A (en) * 1998-06-08 2000-07-04 Microsoft Corporation Server operating system for supporting multiple client-server sessions and dynamic reconnection of users to previous sessions using different computers
US6055564A (en) * 1998-03-11 2000-04-25 Hewlett Packard Company Admission control where priority indicator is used to discriminate between messages

Also Published As

Publication number Publication date
MY123071A (en) 2006-05-31
EP0978056A1 (en) 2000-02-09
JPH11510632A (ja) 1999-09-14
HUP9902190A2 (hu) 1999-11-29
HUP9902190A3 (en) 2000-03-28
US6336135B1 (en) 2002-01-01
ES2227692T3 (es) 2005-04-01
PL329935A1 (en) 1999-04-26
KR100275403B1 (ko) 2000-12-15
KR20000010691A (ko) 2000-02-25
CZ381198A3 (cs) 1999-10-13
GB9610898D0 (en) 1996-07-31
DE69731318D1 (de) 2004-11-25
EP0978056B1 (en) 2004-10-20
CN1219257A (zh) 1999-06-09
DE69731318T2 (de) 2006-03-09
CN1117333C (zh) 2003-08-06
WO1997045798A1 (en) 1997-12-04
GB2313524A (en) 1997-11-26

Similar Documents

Publication Publication Date Title
JP3578221B2 (ja) データ通信サーバ・システム
US6023722A (en) High-availability WWW computer server system with pull-based load balancing using a messaging and queuing unit in front of back-end servers
JP3290377B2 (ja) 無状態ネットワーク・プロトコルにおける状態の保存方法および装置
US5857201A (en) Enterprise connectivity to handheld devices
KR100722355B1 (ko) 동적 관리자가 장치된 컴퓨터 시스템에 의한액티브티-베이스 협력 방법 및 장치
US6338089B1 (en) Method and system for providing session pools for high performance web browser and server communications
KR100318781B1 (ko) 서버측의비동기적양식관리방법및그시스템
US6567848B1 (en) System for coordinating communication between a terminal requesting connection with another terminal while both terminals accessing one of a plurality of servers under the management of a dispatcher
EP1025507B1 (en) Combined internet and data access system
US20050108299A1 (en) Real-time Web sharing system
JP3274131B2 (ja) オブジェクト指向地点間通信方法およびその方法を行う通信装置
EP0833260A2 (en) Computer system with network interface
CA2494480C (en) Methods and apparatus for utilizing user software to communicate with network-resident services
US6748448B1 (en) High performance internet storage access scheme
JPH11134277A (ja) クライアント側非同期フォーム管理方法および装置
JP2001525574A (ja) クライアント・サーバ・システムにおける長期トランザクションの処理
KR100354369B1 (ko) 정보 처리 방법, 정보 처리 장치, 정보 처리 프로그램을 격납하는 기억 매체
US20080140777A1 (en) Selective mirrored site accesses from a communication
US6973480B2 (en) Mechanism for implementing server-side pluglets
US20010042108A1 (en) Cool ice service handler
US6915341B2 (en) System for sending messages to all users in a web hosting environment
KR19990031814A (ko) 웹을 통해 제품정보를 관리하는 제품정보관리시스템
JP2002116919A (ja) ネットワークベースのアプリケーション、それを処理するためのアーキテクチャ及びシステム、ならびにそれを実行するための方法
CA2314056A1 (en) Data management system and method

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040210

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040316

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040707

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20070723

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20080723

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20080723

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20090723

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20100723

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20110723

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20110723

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20120723

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20130723

Year of fee payment: 9

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

LAPS Cancellation because of no payment of annual fees