JPH10247183A - コンピュータシステム及び方法 - Google Patents

コンピュータシステム及び方法

Info

Publication number
JPH10247183A
JPH10247183A JP9346401A JP34640197A JPH10247183A JP H10247183 A JPH10247183 A JP H10247183A JP 9346401 A JP9346401 A JP 9346401A JP 34640197 A JP34640197 A JP 34640197A JP H10247183 A JPH10247183 A JP H10247183A
Authority
JP
Japan
Prior art keywords
application
web
software application
data
gateway
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.)
Pending
Application number
JP9346401A
Other languages
English (en)
Inventor
Lynn Brant Marsha
マーシャ・リン・ブラント
Edgar Brown Kenneth
ケニス・エドガー・ブラウン
James Dykes Parnell
パーネル・ジェームズ・ダイクス
Dwain Lindbergh Eric
エリック・ドゥエーン・リンドバーグ
Irein Olson Diane
ダイアン・イレイン・オルソン
Edward Selden Jeffery
ジェフリー・エドワード・セルデン
Daniel Snyder Devon
デヴォン・ダニエル・スナイダー
Orin Waltz James
ジェームズ・オリン・ワルツ
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 JPH10247183A publication Critical patent/JPH10247183A/ja
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • 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
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0435Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/142Managing session states for stateless protocols; Signalling session states; State transitions; Keeping-state mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/567Integrating service provisioning from a plurality of service providers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/63Routing a service request depending on the request content or context
    • 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/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)
  • Multi Processors (AREA)
  • Stored Programmes (AREA)

Abstract

(57)【要約】 【課題】 本発明の目的は、WWW上で共通ユーザ・イ
ンターフェースを介して多数の異なるアプリケーション
・プログラムに簡単にアクセスする能力を提供すること
である。 【解決手段】 WWW上でソフトウェア・アプリケーシ
ョンにアクセスするための標準的な手順、ルーチン、ツ
ール及びソフトウェア「フック」を提供することによっ
て、ソフトウェア開発者が、アプリケーション・プログ
ラムの機能性に努力を集中し、HTMLを使用してアプ
リケーション・プログラム用のGUIインターフェース
を簡単に提供できるようになる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、全般的にはワール
ド・ワイド・ウェブ上での対話に関し、具体的には、ワ
ールド・ワイド・ウェブを介してソフトウェア・アプリ
ケーションへのアクセスを提供するための方法及び装置
に関する。
【0002】
【従来の技術】しばしば、1948年のEDVACコン
ピュータ・システムの開発が、コンピュータ時代の始ま
りとして引用される。それ以降、コンピュータ・システ
ムは、極度に洗練された装置に発展し、コンピュータ・
システムは、多くの異なる設定で見出される可能性があ
る。コンピュータ・システムには、通常、ハードウェア
(たとえば半導体、回路基板など)とソフトウェア(た
とえばコンピュータ・プログラム)の組み合わせが含ま
れる。半導体加工とコンピュータ・アーキテクチャの進
歩によってコンピュータ・ハードウェアの性能が高まる
につれて、ハードウェアの高性能を利用するためにより
洗練されたコンピュータ・ソフトウェアが発展し、1〜
2年前に存在したシステムよりはるかに強力な現在のコ
ンピュータ・システムがもたらされた。
【0003】コンピュータ・システムには、通常、コン
ピュータの基本機能を制御するオペレーティング・シス
テム・ソフトウェアと、オペレーティング・システムの
制御下で走行して所望のタスクを実行する1つまたは複
数のソフトウェア・アプリケーションが含まれる。たと
えば、通常のIBM Personal ComputerではOS/2オペ
レーティング・システムが走行し、OS/2オペレーテ
ィング・システムの制御下で、ユーザは、ワード・プロ
セッサなどのアプリケーション・プログラムを実行する
ことができる。コンピュータ・システムの能力が高まる
につれて、高性能コンピュータ・システム用に設計され
たソフトウェア・アプリケーションは、極度に強力にな
ってきた。
【0004】技術面の他の変化も、コンピュータの使い
方に大きく影響してきた。たとえば、コンピュータの広
範囲の普及によって、コンピュータが互いに通信できる
ようになるコンピュータ・ネットワークの開発が促進さ
れた。パーソナル・コンピュータ(PC)の導入に伴っ
て、多数の人々がコンピューティングを利用できるよう
になった。パーソナル・コンピュータ用のネットワーク
が開発されて、個々のユーザが互いに通信できるように
なった。この形で、1企業内の多数の人間が、単一のコ
ンピュータ・システム上で走行するソフトウェア・アプ
リケーションを用いて、ネットワークを介して同時に通
信できるようになった。
【0005】最近非常に人気のある重要なコンピュータ
・ネットワークがインターネットである。インターネッ
トは、現代のコンピュータ及びネットワークの普及から
発生し、全体として「ワールド・ワイド・ウェブ」また
はWWWを構成するウェブ・ページによって互いにリン
クされたコンピュータ・システムの洗練された国際ネッ
トワークに発展した。WWWへのアクセスを望む個々の
PC(すなわちワークステーション)のユーザは、通常
は、ウェブ・ブラウザと称するソフトウェア・アプリケ
ーションを介してこれを行う。ウェブ・ブラウザは、ウ
ェブ・サーバと称する他のコンピュータへのWWWを介
する接続を行い、ユーザのワークステーションに表示さ
れる情報をウェブ・サーバから受信する。ユーザに表示
される情報は、通常は、ハイパーテキスト・マークアッ
プ言語(HTML)と称する特殊な言語を使用して構成
される。HTMLを使用するウェブ・ブラウザは、現
在、市販されているコンピュータ・システムのほとんど
すべてで使用可能であり、コンピュータとモデムにアク
セスできる人であれば事実上誰でもWWWにアクセスで
きるようになっている。WWWは、ますます一般的にな
りつつあるが、WWWにアクセスするコンピュータ・ユ
ーザの急激な増加が、それに付随する問題をもたらし
た。これらの問題のいくつかを、以下で示す。
【0006】インターネットとWWWの人気が高まるの
に伴って、インターネットが売上と効率の両方を高める
ための新しい方法をもたらすことが認識された。ウェブ
・ブラウザを有するユーザが、会社のソフトウェア・ア
プリケーションと直接対話できるならば、所与のトラン
ザクションが単純化される。たとえば、誰かが普通にレ
ンタ・カーを予約する方法を検討する。その人は、レン
タ・カー代理店に電話し、電話を介して自分の情報(す
なわち、氏名、住所、クレジット・カード番号など)を
レンタ・カー代理人に知らせる。代理人は、この情報を
自動車レンタル・ソフトウェア・アプリケーションに入
力して、自動車を予約するプロセスを初期設定しなけれ
ばならない。ウェブ・ユーザ用のより効率的な自動車予
約システムでは、ユーザが自動車レンタル・ソフトウェ
ア・アプリケーションと直接対話できるようになるはず
である。これによって、現在レンタ・カー代理人が実行
している作業の大半が除去されるはずである。しかし、
ウェブ・ユーザと直接対話できる自動車レンタル・ソフ
トウェア・アプリケーションを案出するには、カスタム
・インターフェース・ソフトウェアを作成する必要があ
る。同様に、WWWを介してアクセスされる異なるソフ
トウェア・アプリケーションごとに、カスタム・ユーザ
・インターフェースを作成しなければならない。好まし
いインターフェースは、グラフィカル・ユーザ・インタ
ーフェース(GUI)になるはずである。あるソフトウ
ェア・アプリケーション用のカスタムGUIを生成する
処理は、時間がかかり、高価であり、通常は、他のソフ
トウェア・アプリケーションとの通信には使用できない
独自ユーザ・インターフェースがもたらされる。これ
は、会社がWWWを介するソフトウェア・アプリケーシ
ョンへのアクセスを提供しなくなる大きな阻害要因とな
ることを意味する。
【0007】さらに、多数のコンピュータ・ユーザは、
ハードウェアまたはソフトウェア的に非常に異なる形態
のコンピュータ・プラットフォームを採用している。た
とえば、IBM互換パーソナル・コンピュータは、現在
市販されているもっとも一般的なタイプのコンピュータ
であるが、他社は、現在導入され使用されている非常に
多数のコンピュータ・システムを有する非常に異なる製
品系列を開発してきた。これらの全く異なるハードウェ
ア・システムでは、通常は完全に異なるオペレーティン
グ・システムが使用される。これらのさまざまなハード
ウェア・システム及びソフトウェア・システムの存在
は、通常は、異なるハードウェア・プラットフォームの
それぞれに所与のソフトウェア・アプリケーション用の
カスタムGUIを「移植」または変換するために、完全
に新規のプログラミングと開発の労力を必要とする。多
くの会社は、最も一般的なハードウェアとソフトウェア
の組み合わせだけをサポートし、これによって、市場の
シェアが制限され、そのソフトウェア・アプリケーショ
ンにアクセスできるユーザの数が少なくなる。
【0008】複数の関連しないユーザ・インターフェー
スの問題によって、やはりWWWを介するソフトウェア
・アプリケーションのすばやい採用を阻止する可能性が
あるもう1つの問題が明らかになる。ある会社が、所与
のソフトウェア・アプリケーション用のカスタムGUI
を開発するコストを吸収したと仮定しても、1つの会社
によって開発されたそのGUIは、別の会社によってそ
の会社のソフトウェア・アプリケーション用に開発され
たGUIとは非常に異なる可能性が高い。通常、各ソフ
トウェア・ベンダは、特定のソフトウェア・アプリケー
ションごとにカスタムGUIを作成し、その結果、ユー
ザは、WWWを介してソフトウェア・アプリケーション
にアクセスする時には必ず、そのソフトウェア・アプリ
ケーションに固有の特徴にアクセスできるようになる。
しかし、各製品は異なる特徴を有し、各ベンダはアプリ
ケーション/ユーザ対話に関して異なる標準を有するの
で、その結果、ユーザが出会うソフトウェア・アプリケ
ーションのそれぞれに非常に異なるユーザ・インターフ
ェースが存在することがしばしばである。ユーザは、ア
クセスしたいソフトウェア・アプリケーションのそれぞ
れと対話するための基本的なスキルを「再学習」しなけ
ればならないことがしばしばである。
【0009】WWW上でのソフトウェア・アクセスに関
する現在の状況は、パーソナル・コンピュータの初期の
時代に多少似ている。1980年代初期に、IBMパー
ソナル・コンピュータ(PC)が導入され、業界標準の
ハードウェア・プラットフォームとしてすばやく採用さ
れた。しかし、ハードウェア・プラットフォームは相対
的に標準的であったが、独立ソフトウェア・ベンダのそ
れぞれが、それぞれのアプリケーション・プログラムの
ために大きく異なるユーザ・インターフェースを作成し
た。これが、パーソナル・コンピュータのユーザによる
新しいアプリケーション・プログラムのすばやい採用の
妨げになった。ユーザは、長い訓練なしに新しいソフト
ウェア・アプリケーションを効率的に使用することがで
きなかったので、多数の新しいソフトウェア・アプリケ
ーションが採用されなかった。
【0010】
【発明が解決しようとする課題】しかし、現在、新しい
標準がパーソナル・コンピュータ・ソフトウェア・アプ
リケーション用に開発され、採用されており、これによ
って、新しいソフトウェア・アプリケーションのために
行わなければならない再学習の量が劇的に減少した。I
BM社のOS/2などの最新技術のGUIオペレーティ
ング・システムでは、共通のユーザ動作の多くが標準化
され、独立ソフトウェア開発者及びベンダに、最も標準
的なユーザ・インターフェースの構成要素及び特徴にア
クセスするのに必要な「フック」またはプログラミング
・ツールが提供され、これによって、エンド・ユーザの
学習曲線が劇的に低くなった。残念ながら、この標準化
の努力は、まだWWWには浸透していない。実際、ソフ
トウェア・アプリケーションの配布システムとしてWW
Wを簡単に利用できることが、現在WWW上で入手でき
る全く異なるソフトウェアの急激な増加をつのらせてい
る。さらに、入手可能な最も強力なソフトウェア・アプ
リケーションのうちの一部は、直観的でもグラフィカル
でもないユーザ・インターフェースを有する。新しいア
プリケーションごとに新しいインターフェースを再学習
する過程は、冗長で時間がかかり、非生産的になる傾向
を有する。したがって、現在多数のソフトウェア・アプ
リケーションがWWW上でアクセス可能ではあるが、こ
れらのさまざまなプログラムにアクセスする方法の学習
は、エンド・ユーザにとって、時間がかかり、いらいら
させられ、威嚇的になる可能性がある。
【0011】
【課題を解決するための手段】WWW上でソフトウェア
・アプリケーションへのアクセスを提供することの重要
性と、既存の解決策の現在の制約の両方を認識して、本
発明は、WWW上で標準化されたGUIを介して多数の
異なるアプリケーション・プログラムに簡単にアクセス
する能力を提供する。WWW上でソフトウェア・アプリ
ケーションにアクセスするための標準的な手順、ルーチ
ン、ツール及びソフトウェア「フック」を提供すること
によって、ソフトウェア開発者が、アプリケーション・
プログラムの機能性に努力を集中し、HTMLを使用し
てアプリケーション・プログラム用のGUIインターフ
ェースを簡単に提供できるようになる。
【0012】上で述べたように、HTMLは、現在市販
されているコンピュータ・システムのほとんどすべてで
使用できる周知の言語である。さらに、HTMLは、か
なり明確に制御され、標準化された言語なので、新しい
ソフトウェア・アプリケーション機能は、それが開発さ
れ、HTMLによってサポートされた時に追加できる。
さらに、HTMLは、広範囲に採用された非独自技術な
ので、本発明によって、非常に小規模のソフトウェア開
発者にも、巨大な市場へのオープン・アクセスを提供で
きる。さらに、本発明を用いると、ソフトウェア開発者
は、標準アクセス・プロトコルを採用でき、これによっ
て、HTMLを認識するブラウザを利用できるコンピュ
ータ・システムのすべてに対するサポートを提供できる
ようになる。最後に、ユーザ・インターフェース、認証
/セキュリティ及びウェブ・トランザクション・サポー
トの問題に対する、実施しやすく標準化された解決を提
供することによって、本発明の共通ユーザ・インターフ
ェースは、以前の解決に存在する限界を克服する。
【0013】本発明の前述及び他の特徴及び長所は、添
付図面に図示された、本発明の好ましい実施例の以下の
詳細な説明から明白になる。
【0014】
【発明の実施の形態】
概要 ウェブ・トランザクション ここで図2を参照すると、クライアント・ワークステー
ション210で走行する標準的なウェブ・ブラウザ21
2と、ウェブ・サーバ・コンピュータ・システム220
で走行するウェブ・サーバ・アプリケーション222の
間の通常のトランザクションは、接続216を介して発
生する。クライアント・ワークステーション210は、
ローカル・エリア・ネットワーク(LAN)を介するか
他のタイプのコンピュータ・ネットワークまたは他の相
互接続を介して、他のコンピュータ・システムに結合す
ることができる。同様に、ウェブ・サーバ・コンピュー
タ・システム220も、他のコンピュータに結合するこ
とができる。クライアント・ワークステーション210
は、ウェブ・ブラウザ212を使用することによってW
WWへのアクセスを提供できるコンピュータであれば何
でもよい。これには、ハンドヘルド・コンピュータ、ポ
ータブル・コンピュータまたはラップトップ・コンピュ
ータ、標準的なデスクトップ・コンピュータ・システ
ム、パーソナル・ディジタル・アシスタント(PD
A)、メインフレームに接続された非プログラム式端末
などが含まれる。
【0015】ウェブ・ブラウザ212は、クライアント
・ワークステーション210のユーザが接続216を介
して他のコンピュータと通信できるようにする、クライ
アント・ワークステーション210で走行するソフトウ
ェア・プログラムである。ウェブ・ブラウザ212に
は、WWW上でデータを送受信する能力を有するウェブ
・ブラウザのすべてが含まれる。これには、IBM社のWeb
Explorer、Netscape社のNavigator、Microsoft社のInte
rnet Explorer、Apple Computer社のCyberDogなどの市
販ソフトウェア・アプリケーションと、WWW上の情報
のアクセスまたは処理のための、現在存在するか将来に
開発される他のソフトウェア・アプリケーションが含ま
れる。接続216の好ましい実施態様は、インターネッ
トへの適当な接続であり、これには、ハードワイヤ接
続、モデムまたは高速T1回線を介する電話アクセス、
赤外線その他の無線通信、コンピュータ・ネットワーク
通信(有線または無線)、現在既知であるか将来に開発
される他の適当なコンピュータ間接続が含まれる。
【0016】クライアント・ワークステーション210
とウェブ・サーバ・コンピュータ・システム220は、
物理的または論理的に同一のコンピュータ・システムと
することができることに留意されたい。ウェブ・ブラウ
ザ212は、通常は、クライアント・ワークステーショ
ン210のユーザにHTMLデータのページを表示す
る。他のタイプ(HTML以外)のデータも、ウェブ・
ブラウザ212に送信される可能性があり、これには、
テキスト・データ、グラフィカル・データ(たとえばG
IF(Graphic Image Format)ファイル)、オーディオ
・データまたはサウンド・ファイル(たとえばWAVフ
ァイル)、ジャバ・アプレット(実行可能コード)、M
IME(Multipurpose Internet Mail Extensions)デ
ータ(前述及び他のデータ型の組み合わせが含まれる可
能性がある)と称する特殊なデータが含まれる。
【0017】ウェブ・サーバ・アプリケーション222
は、クライアント・ワークステーション210のユーザ
がウェブ・サーバ・コンピュータ・システム220によ
って制御される情報にアクセスできるようにする、ウェ
ブ・サーバ・コンピュータ・システム220で走行する
ソフトウェア・プログラムである。本発明によるウェブ
・サーバ・アプリケーション222の好ましい実施態様
の1つは、IBM社のInternet Connection Serverなどの
市販ウェブ・サーバ・アプリケーションである。他のア
プリケーションも、本発明との互換性を有する。ウェブ
・サーバ・コンピュータ・システム220は、通常は、
クライアント・ワークステーション210でユーザが行
った動作を反映する、ウェブ・ブラウザ212による要
求に応答して、ウェブ・ブラウザ212にHTMLデー
タのページを出力する。さらに、上で説明したように、
ウェブ・サーバ・コンピュータ・システム220は、ウ
ェブ・ブラウザ212に他のタイプのデータを出力する
こともできる。出力データには、静的HTMLページ
(ページの内容が変化しないことを意味する)または、
動的に決定され、出力データに挿入されなければならな
いデータを含めることができる。ウェブ・サーバ・アプ
リケーション222は、ウェブ・サーバ・コンピュータ
・システム220内のメモリからまたは他のコンピュー
タ・システムから受け取る部分から出力データ(たとえ
ばHTMLページ)を動的に作成することができ、ま
た、以前にまたは別のコンピュータによって開発された
HTMLページまたは他の情報を単純に渡すことができ
る。
【0018】ウェブ・ブラウザ212は、通常は、接続
216を介してウェブ・サーバ・コンピュータ・システ
ム220に入力(たとえばURL(Uniform Resource L
ocator)やHTMLページ)を送信することによって、
ウェブ・サーバ・アプリケーション222と対話する。
この入力は、通常はハイパーテキスト転送プロトコル
(HTTP)1.0を使用して送信される。ウェブ・サ
ーバ・アプリケーション222が走行するウェブ・サー
バ・コンピュータ・システム220は、ウェブ・ブラウ
ザ212から入力を受信し、これに応答して、ウェブ・
ブラウザ212にデータ(たとえばHTMLページ)を
出力する。上で述べた処理は、インターネットを介する
基本的なトランザクションを示すものであり、本発明の
範囲に含まれる多数の詳細及び変形は、本発明の概念を
理解するための簡単な文脈を提供するために本明細書で
は開示されないことを理解されたい。
【0019】ウェブ・サーバ・コンピュータ・システム
220は、コモン・ゲートウェイ・インターフェース
(CGI)モジュールを含む、他の多数のソフトウェア
構成要素も有する可能性がある。CGIモジュールは、
ウェブ・サーバ・アプリケーション222と他のソフト
ウェア・アプリケーションの間のインターフェースとし
て使用することができる。たとえば、CGIモジュール
は、ウェブ・サーバ・アプリケーション222とカレン
ダ・ソフトウェア・アプリケーションの間のリンクを提
供でき、これによって、ウェブ・サーバ・アプリケーシ
ョン222が、たとえば、ウェブ・ブラウザ212に出
力するウェブ・ページに動的なカレンダ情報を挿入でき
るようになる。したがって、CGIを用いると、ウェブ
・サーバが、他のソフトウェア・アプリケーションから
の動的データを配布できるようになる。残念ながら、C
GIのプログラム作成は、CGIが満足しなければなら
ない仕様が多数あるので、時間のかかる作業である。さ
らに、一般に、ウェブ・サーバ・アプリケーション22
2とインターフェースする異なるソフトウェア・アプリ
ケーションごとに、別々のCGIが必要になる。さら
に、異なるユーザに同一のソフトウェア・アプリケーシ
ョンまたはデータへの異なるレベルのアクセス権を与え
るなど、異なる機能を実行するためには、異なるCGI
が必要になる可能性がある。一般に、CGIの数が増え
るにつれて、ウェブ・サーバ・コンピュータ・システム
220の性能が低下する。
【0020】ウェブ・ページ ここで図3を参照すると、ウェブ・ページは、主に、ク
ライアント・ワークステーション210のモニタでの表
示を目的とするビジュアル・データである。ウェブ・ペ
ージは、一般に、ハイパーテキスト・マークアップ言語
(HTML)で記述される。ウェブ・サーバ・コンピュ
ータ・システム220で走行するウェブ・サーバ・アプ
リケーション222は、ウェブ・ブラウザ212からの
ウェブ・ページ要求を受信した時に、HTMLでウェブ
・ページを作成するか、事前に作成されたウェブ・ペー
ジを含むファイルを取り出し、接続216を介して要求
元のウェブ・ブラウザ212に送信する。ウェブ・ブラ
ウザ212は、HTMLを理解し、解釈し、そのウェブ
・ページをクライアント・ワークステーション210の
モニタに出力する。この結果の、ユーザの画面に表示さ
れるウェブ・ページには、テキスト、グラフィックス及
びリンク(他のウェブ・ページのURLアドレス)が含
まれる可能性がある。これらの他のウェブ・ページ(す
なわち、リンクによって表されるウェブ・ページ)は、
同一のウェブ・サーバ上にあっても、異なるウェブ・サ
ーバ上にあってもよい。ユーザは、マウスまたは他のポ
インティング装置を使用してこれらのリンクをクリック
することによって、これらの他のウェブ・ページを取り
出すことができる。全世界の他のサーバ上の他のウェブ
・ページへのリンクを有するウェブ・ページのシステム
全体が、集合的に「ワールド・ワイド・ウェブ」(WW
W)を構成する。
【0021】一部のウェブ・ページは、ウェブ・ブラウ
ザ212からの入力を誘うように設計されている。たと
えば、ウェブ・ページのHTMLフォームでユーザの氏
名を要求でき、HTMLラジオ・ボタンを使用して特定
の機能を選択するようにユーザに要求できる。これらの
要求は、ウェブ・サーバ・アプリケーション222から
ウェブ・ブラウザ212に送信される。ウェブ・ユーザ
は、要求された情報を入力し、ウェブ・サーバ・アプリ
ケーション222にそのページの実行要求をもう一度送
ることによって応答し、ウェブ・サーバ・アプリケーシ
ョン222は、ユーザから受信した入力データを解析す
る。残念ながら、ユーザは、入力の要求に即座に応答し
ない場合がある。実際、ユーザが、要求された入力を発
行する前に数分、数時間または数日待つ可能性があり、
その代わりに、トランザクションを完了せずに切断する
可能性もあることが予想される。この時間の間、ウェブ
・サーバ・アプリケーション222は、通常は、さまざ
まなプロセスが走行したままの状態で、予期される応答
を待ちながらその入力を待つ。これは、入力を待つ間に
走行中のプロセスが活動状態のままにされ、ウェブ・サ
ーバ・アプリケーション222の資源が非効率的に独占
されるという問題を引き起こす可能性がある。
【0022】API アプリケーション・プログラミング・インターフェース
(API)は、所与のソフトウェア・アプリケーション
の特定の機能へのアクセスを提供するために、プログラ
ム開発者によって使用される。各アプリケーション・プ
ログラムは、第三者が特定の特徴にアクセスでき、その
アプリケーション・プログラムを他のプログラムとイン
ターフェースでき、エンド・ユーザにアクセスを提供で
きるようにするAPIを有する。各アプリケーション・
プログラムは、通常は独自のAPIを有するが、異なる
ベンダによって提供される異なるAPIの機能性と使用
は、かなり似通っていることがしばしばである。多数の
異なるソフトウェア・アプリケーションに共通して見ら
れるAPIの例を、図3に示されるコンピュータ・シス
テム300で走行するソフトウェア・アプリケーション
342に関して下で提示する。
【0023】SEND APIは、ウェブ・ブラウザ2
12にデータ(HTMLページか他のタイプの形で)を
送信するために発行される。ソフトウェア・アプリケー
ション342は、SEND APIを呼び出し、SEN
D APIは、送信要求を送信し、インターネット/ア
プリケーション・ゲートウェイ(以下ではゲートウェイ
と呼称する)332とウェブ・サーバ・アプリケーショ
ン222を介して適当なウェブ・ブラウザ212にデー
タを送信する。
【0024】RECEIVE APIは、ウェブ・ブラ
ウザ212からデータを受信するために発行される。こ
れには、必要に応じてCGIデータと環境データを含め
ることができる。ソフトウェア・アプリケーション34
2は、RECEIVE APIを呼び出して、ゲートウ
ェイ332に入力を待つように指示する。入力が到着し
たならば、ゲートウェイ332は、そのデータを処理の
ためソフトウェア・アプリケーション342に渡す。
【0025】ウェブ・セキュリティ この1〜2年にWWWが爆発的に増大したので、ウェブ
・セキュリティに関する関心がますます高まっている。
具体的に言うと、ウェブ・ブラウザとウェブ・サーバ
が、他のコンピュータ資源(すなわち、ソフトウェア・
アプリケーション、データ・ファイル、HTMLウェブ
・ページなど)へのウェブ・ベースのアクセスを提供す
るのに使用されている場合に、これらの資源を安全に保
たなければならない。これには、これらの資源へのアク
セスが、認可されたウェブ・ユーザだけに許可されるこ
とを保証することが含まれる。
【0026】場合によっては、異なるユーザが、ウェブ
・サーバを介してアクセス可能な異なる資源へのアクセ
スを許可されるシステムを提供しなければならない。た
とえば、あるウェブ・サーバが、2つのソフトウェア・
アプリケーションへのウェブ・アクセスを提供し、各ソ
フトウェア・アプリケーションが、複数のデータベース
へのアクセスを提供する場合がある。ユーザの中には、
一方のソフトウェア・アプリケーションへのアクセスは
必要だが、他方へのアクセスが不要なユーザも、両方の
ソフトウェア・アプリケーションへのアクセスが必要だ
が、これらのソフトウェア・アプリケーションによって
制御される指定されたデータベースへのアクセスだけが
必要なユーザもいる。あるユーザが、2つのソフトウェ
ア・アプリケーションのうちの一方へのアクセスを許可
され、セキュリティ検査が、ウェブ・サーバ・レベルだ
けで行われる場合、そのユーザは、第2のソフトウェア
・アプリケーションへのアクセスを許可されていないに
もかかわらず、ユーザへのアクセス許可によって、両方
のソフトウェア・アプリケーションへのアクセスが許可
される。各ソフトウェア・アプリケーションへのアクセ
スを許可する前にセキュリティ検査が実行される場合で
あっても、アクセス許可によって、ユーザは、ソフトウ
ェア・アプリケーションによってアクセス可能なデータ
ベースのすべてにアクセスできるようになる。したがっ
て、承認されたユーザのアクセス権を維持しながら、承
認されないユーザが重要な資源へのアクセス権を得るこ
とができないことを保証するための、より洗練されたセ
キュリティ検査技法が必要である。
【0027】通常のウェブ・セキュリティでは、特定の
ウェブ・サーバへまたはそのウェブ・サーバを介する特
定の資源へのアクセスのために特定のウェブ・ユーザを
認証するのに、パスワードとユーザIDの組み合わせが
使用される。ウェブ・ユーザは、このような保護された
資源へのアクセスを試みる時には、ユーザIDとパスワ
ードを供給しなければならない。これは、通常、ウェブ
・ユーザがユーザIDとパスワードを入力することをウ
ェブ・サーバに要求させ、このユーザIDとパスワード
をウェブ・ブラウザが記憶し、検証または認証のためウ
ェブ・サーバ・アプリケーションに送り返すことによっ
て達成される。
【0028】この認証処理は、通常は、ウェブ・サーバ
・アプリケーションを介してアクセス可能な特定の資源
のそれぞれについて繰り返される。したがって、複数の
保護資源にアクセスするウェブ・ユーザは、資源ごとに
パスワードとユーザIDを入力するよう促され、そうす
ることが必要になる。たとえば、ユーザは、ウェブ・サ
ーバへのアクセス権を得るために自分のパスワードとユ
ーザIDを入力しなければならず、そのウェブ・サーバ
を介するソフトウェア・アプリケーションへのアクセス
権を得るために第2のパスワードとユーザIDを入力し
なければならず、特定のソフトウェア・アプリケーショ
ン・データベースへのアクセス権を得るために第3のパ
スワードとユーザIDを入力しなければならない場合が
ある。この場合、ユーザは、パスワードとユーザIDを
何度も発行する手間に加えて、多数のパスワードとユー
ザIDを記憶する必要がある。パスワードとユーザID
がどのレベルでも同一の場合であっても、同一の情報を
何度も繰り返して入力するのは単調で退屈になる。
【0029】従来のウェブ・サーバ認証システムでは、
ウェブ・サーバに実行依頼を送信するたびに、ウェブ・
ブラウザがパスワードとユーザIDを再送信する。した
がって、パスワードとユーザIDは、「スヌープ」(す
なわち、ウェブ・サーバとウェブ・ブラウザの間の伝送
の、許可されず望ましくない傍受)の危険に繰り返しさ
らされる。一部のシステムは、ユーザがパスワードとユ
ーザIDを変更することを定期的に要求することによっ
てこの問題を制限しようとするが、複数のソフトウェア
・アプリケーションにアクセスするのに複数のパスワー
ドと複数のユーザIDが必要になる場合には、これが大
きな問題になる可能性がある。
【0030】従来技術の解決に関連する問題のために、
一部のシステム操作員は、追加のセキュリティ保護手段
を除去し、ユーザIDとパスワードを用いるウェブ・サ
ーバ認証だけに頼るようになっている。やはり、この解
決を採用できるのは、ウェブからアクセス可能な資源へ
の無許可アクセスの危険性が高くても許容される場合に
限られる。
【0031】詳細な説明 本発明による、WWW上でウェブ・ブラウザから複数の
ソフトウェア・ベンダによって提供される複数のソフト
ウェア・アプリケーションにグラフィカルな共通ユーザ
・インターフェースを提供するための装置及び方法を開
示する。このシステムには、ウェブ・ブラウザ、ウェブ
・サーバ・アプリケーション、アプリケーション・ゲー
トウェイ及び少なくとも1つのソフトウェア・アプリケ
ーションを実行する1つまたは複数のコンピュータが含
まれる。本発明のシステム及び方法を用いると、ウェブ
・ブラウザのユーザが、共通ユーザ・インターフェース
を使用して複数のソフトウェア・アプリケーションにア
クセスできるようになる。ユーザは、ウェブ・ブラウザ
を介してデータを入力し、このデータが、ウェブ・サー
バ・アプリケーションに通信される。ウェブ・サーバ・
アプリケーションは、ウェブ・ブラウザを認証し、ユー
ザの要求を一意に識別し、追跡するためのデータを含む
適当な入力データを、アプリケーション・ゲートウェイ
に渡す。アプリケーション・ゲートウェイは、ソフトウ
ェア・アプリケーションに対する適当なコマンドを書式
化することによって、要求に対する応答を簡単にする。
ソフトウェア・アプリケーションは、適当なデータをア
プリケーション・ゲートウェイに出力することによって
応答する。この出力データには、出力データとその出力
データを要求した特定のウェブ・ブラウザの突合せに使
用することができる識別子が含まれる。このシステム
は、多数のウェブ・ブラウザに、多数のソフトウェア・
アプリケーションへの同時アクセスも提供する。さら
に、本発明を用いると、標準的なWWW HTMLブラ
ウザのいずれもが、サーバに対する真にプラットフォー
ム独立のクライアントとして動作できるようになり、す
べてのサーバ・サブシステムが対話に用いる一貫した効
率的なエンド・ユーザ・インターフェースが提供され
る。
【0032】理解しやすいGUIインターフェースに統
合された時に、本発明の好ましい実施例を構成する主要
な構成要素は、MIME(Multipurpose Internet Mail
Extension)データ形式を受信し、単一のクライアント
・アプリケーションに送信できるWWWトランザクショ
ン・サポート技術を提供するカスタム・アプリケーショ
ン・プログラミング・インターフェース(API)と、
サーバ側セキュリティのためのサポートを提供すると同
時に、エンド・ユーザをセキュリティ・システムの複雑
さから保護することができるセキュリティ機構と、通常
のアプリケーション処理の入出力要件の大半に対処でき
るHTMLテンプレート/フォームなどの共通WWWユ
ーザ・インターフェース構成要素を定義する機構と、切
断、処理タイムアウト、クライアントまたはサーバの異
常終了、他の通常の処理の問題などの複雑な問題の処理
を自動化する切断処理機構の4つである。この4つのサ
ブシステムのそれぞれを、以下の節で詳細に説明する。
【0033】ここで図1を参照すると、本発明の好まし
い実施例によるコンピュータ・システムには、複数の中
央処理装置(CPU)110、端末インターフェース1
50、補助記憶装置インターフェース160、ワークス
テーション170、直接アクセス記憶装置(DASD)
180、フロッピ・ディスク190、バス140及び、
さまざまなソフトウェア・プログラムを格納するための
複数の記憶位置を含むメモリ130が含まれる。この例
では、メモリ130に、記憶位置132で走行するウェ
ブ・ブラウザ212、記憶位置134で走行するウェブ
・サーバ・アプリケーション222、記憶位置136で
走行するゲートウェイ332及び記憶位置138で走行
するソフトウェア・アプリケーション342が含まれ
る。
【0034】CPU110は、システム100の計算機
能と制御機能を実行する。システム100に関連するC
PUのすべてに、マイクロプロセッサなどの単一の集積
回路をそれぞれ個別に含めるか、中央処理装置の機能を
達成するため共同して働く適当な個数の集積回路デバイ
スまたは回路基板を含めることができる。すべてのCP
Uが、メモリ130内に格納されたプログラムを適当に
実行する能力を有し、これらのプログラムまたはシステ
ム100内で発生し得る他の活動に応答して動作する能
力を有する。
【0035】メモリ130は、当業者に既知のいずれか
のタイプのメモリである。これには、ダイナミック・ラ
ンダム・アクセス・メモリ(DRAM)、スタティック
RAM(SRAM)、フラッシュ・メモリ、キャッシュ
・メモリなどが含まれる。図1には明示されていない
が、メモリ130は、単一のタイプのメモリ構成要素と
するか、多数の異なるタイプのメモリ構成要素から構成
することができる。たとえば、記憶位置132で走行す
るウェブ・ブラウザ212は、システム100のキャッ
シュ・メモリの一部とすることができる。さらに、メモ
リ130とCPU110は、集団としてシステム100
を構成する複数の異なるコンピュータの間で分散するこ
とができる。たとえば、ウェブ・ブラウザ212が、C
PU1を有するコンピュータに常駐し、ウェブ・サーバ
・アプリケーション222が、別のCPU2を有するも
う1つのコンピュータ・システムに常駐し、ゲートウェ
イ332が、異なるCPUn-1を有する第3のコンピュ
ータ・システムに常駐し、ソフトウェア・アプリケーシ
ョン342が、異なるCPUnを有する第4のコンピュ
ータに常駐することができる。図1のシステム100
は、CPU110の物理的な位置またはメモリ130内
の記憶位置に関する制限なしに、本発明の顕著な特徴の
多くを図示するに過ぎない。
【0036】バス140は、システム100のさまざま
な構成要素の間でプログラム、データ、状況及び他の形
の情報または信号を伝送するために働く。バス140の
好ましい実施例は、当業者に既知の、コンピュータ・シ
ステム及び構成要素を接続する適当な物理的手段または
論理的手段のいずれかである。これには、直接ハードワ
イヤ接続、インターネット接続、イントラネット接続、
光ファイバ、赤外線(IR)及び他の形の無線接続が含
まれるが、これらに制限されるものではない。コンピュ
ータ・システム及び構成要素を接続するための多数の代
替の方法及び材料を、本発明と共に使用するために簡単
に適合できることが予期される。これには、現在既知で
はなく、将来に開発される方法及び材料が含まれる。
【0037】端末インターフェース150を用いると、
人間のユーザが、通常は、プログラム式であるワークス
テーション170を介してシステム100と通信できる
ようになる。図1に示されたシステム100には、単一
のワークステーション170だけが含まれるが、実際に
システム100に接続されるワークステーションの数
は、システムの設計及びユーザの選択の関数であること
を理解されたい。ワークステーション170は、人間が
システム100と対話できるようにする、ダム端末また
は他の非プログラム式コンピュータ入出力装置とするこ
ともできる。
【0038】補助記憶装置インターフェース160は、
当業者に既知の、記憶装置をコンピュータ・システムに
インターフェースする方法のいずれかを表す。補助記憶
装置インターフェース160を用いると、DASD18
0などの補助記憶装置を、システム100の他の構成要
素に接続できるようになり、これと通信できるようにな
る。1つの補助記憶装置インターフェース160だけが
図示されているが、本発明では、複数のインターフェー
スとDASD180などの複数の補助記憶装置が予想さ
れている。図1に示されているように、DASD180
は、フロッピ・ディスク190上のプログラムまたはデ
ータを読み書きできるフロッピ・ディスク駆動装置とす
ることができる。DASD180も、当業者に既知の他
のいずれかのタイプのDASDとすることができる。こ
れには、CD−ROM駆動装置、ハード・ディスク装
置、光ディスク装置などが含まれる。フロッピ・ディス
ク190は、当業者に既知の通常の3.5インチ磁気媒
体ディスクを表す。
【0039】ここで図5を参照すると、本発明の好まし
い実施例によるGUIを介してWWW上のソフトウェア
・アプリケーションにアクセスするための方法500が
示されている。WWWを介するソフトウェア・アプリケ
ーションへのアクセスを開始するために、ユーザは、ウ
ェブ・ブラウザからウェブ・サーバへの入力を生成する
何らかの動作を行う(ステップ510)。ウェブ・サー
バは、ユーザ要求に関連する必要な動作を実行するため
にセキュリティ検査が必要であるかどうかを判定する
(ステップ520)。ユーザが、保護資源へのアクセス
を要求した場合、適当なセキュリティ検査機構を呼出
し、必要な認証を達成する(ステップ522)。ユーザ
の要求には、さまざまな段階でユーザから入力データを
集め、転送することが伴う場合がある。そうである場合
には、HTML置換変数を含むHTMLテンプレート
を、全体処理またはトランザクションの一部として評価
することができる(ステップ530)。必要なHTML
テンプレート及びHTML変数の処理のすべてが、必要
に応じて実行される(ステップ532)。ある時点で、
ユーザがウェブ・ブラウザの要求に応答せず、DISC
ONNECT APIが発行されて、ユーザの要求の処
理が一時的に中止される場合がある。その代わりに、前
にユーザ対話がすでに発生しており、DISCONNE
CT APIが以前に呼び出されている可能性もある。
どちらの場合でも、現行プロセスを中止するか、前に中
止されたプロセスを再開する必要がある(ステップ54
0)。必要であれば、必要に応じて適当なプロセスを再
始動または中止する(ステップ542)。最後に、実際
にユーザ要求を評価でき、ソフトウェア・アプリケーシ
ョンによって適当な応答を生成することができる(ステ
ップ550)。要求された機能を実行した後に、ユーザ
の要求によって生成された結果が、ウェブ・ブラウザに
よって表示される(ステップ560)。必要であれば、
追加のウェブ・ブラウザ要求を、上に掲げたステップを
繰り返すことによって同様の形で処理することができ
る。
【0040】図5に示された諸ステップを、独立であ
り、順次であるものとして説明し、図示したが、これら
のさまざまなステップは、順次である必要はなく、下の
レンタ・カーの例に示されるように、同一のウェブ・ト
ランザクション内で統合化されることが好ましい。これ
らのステップは、必要に応じて、任意の組み合わせまた
は所望の順序で実行できる。一部のソフトウェア・アプ
リケーションでは、図示のステップのすべてを完了する
ことが必要になる場合があり、他のプロセスや要求で
は、完了のために図示のステップのうちの1つまたは2
つだけが必要になる場合がある。ステップの実際のシー
ケンスと各ステップの詳細な要件は、主として特定のソ
フトウェア・アプリケーションの設計選択のままにな
る。
【0041】セキュリティ機構−FlowMarkの例 ここで図2及び図6を参照すると、図5のステップ52
2は、セキュリティ機構によって実行される。このステ
ップをソフトウェア・アプリケーションのアクセスに関
連して説明するが、このステップは、データベースやネ
ットワークなどの他のコンピュータ資源へのアクセスに
使用される時にも同等に適用可能である。上で述べたよ
うに、クライアント・ワークステーション210のユー
ザは、ウェブ・サーバ・アプリケーション222にデー
タを入力することによってWWWを介するソフトウェア
・アプリケーションへのアクセス権をウェブ・ブラウザ
212に要求させる動作を実行する。入力データには、
適当な認証データを入力するのに使用される入力空白を
含むHTLMフォームを含めることができる。認証デー
タを入力した後に、ユーザは、このデータをウェブ・サ
ーバ・アプリケーション222に発行する(ステップ6
21)。好ましい実施例によれば、認証データには、ユ
ーザID、パスワード及びキーが含まれる。ユーザID
及びパスワードには、通常のウェブ・ベースのユーザI
Dとパスワードを含めることができる。キーには、識別
機構として働くデータの組を含めることができる。たと
えば、可能なキーの1つが、「flowmarkuser01975」で
ある。
【0042】ウェブ・サーバは、ユーザIDとパスワー
ドを使用して、標準的なウェブ認証手順に従ってユーザ
を認証する(ステップ623)。ユーザがウェブ・サー
バ・アプリケーション222によって正しく認証された
時には、ユーザIDとキーが、特定のソフトウェア・ア
プリケーションへのアクセスの要求と共にゲートウェイ
332に渡される(ステップ625)。ゲートウェイ3
32は、ユーザID及びキーを、ユーザ・ライブラリ6
20に格納されたユーザID及びキーと比較する(ステ
ップ627)。ユーザ・ライブラリ620には、ゲート
ウェイ332を介してアクセスされる複数のソフトウェ
ア・アプリケーションのためのユーザ情報が格納される
ことが好ましい。ユーザ・ライブラリ620は、さまざ
まな形で構成できる。たとえば、各ソフトウェア・アプ
リケーションが、認可されたユーザの全員に対して同一
のキーを有するようにすることができる。したがって、
ゲートウェイ332は、キーを受け取った時に、そのキ
ーによって指定されるアプリケーションに関する、ユー
ザ・ライブラリ620内の発行されたユーザIDとユー
ザを比較する。その代わりに、各キーを独自とすること
ができ、ゲートウェイは、一致するキー及びユーザID
を求めてライブラリ全体を探索することになる。
【0043】具体的な実施態様とは無関係に、ユーザ・
ライブラリ620には、許可ユーザごとに、対応するソ
フトウェア・アプリケーションにアクセスするのに必要
な認証データが含まれる。したがって、ゲートウェイ3
32は、必要なソフトウェア・アプリケーション認証デ
ータを取り出すことができる(ステップ629)。この
ソフトウェア認証データを用いて、ゲートウェイ332
は、ソフトウェア・アプリケーション342への通信接
続を作成することができる(ステップ631)。具体的
に言うと、好ましい実施例では、ユーザ・ライブラリ6
20から、各ソフトウェア・アプリケーションへの非ウ
ェブ・ベース・アクセス権の認可に通常必要となる認証
データと同一の認証データを提供できる。ユーザ・ライ
ブラリ620には、各ソフトウェア・アプリケーション
の通常の認証データが格納されるので、ゲートウェイ3
32は、ソフトウェア・アプリケーション342へのネ
イティブ・インターフェースによって提供される通常の
セキュリティ手順を使用することができる。したがっ
て、ネイティブ・ソフトウェア・アプリケーション・セ
キュリティ・システムを変更せず、システム管理担当者
がソフトウェア・アプリケーション342へのウェブ・
アクセスを提供するための特殊なセキュリティ・システ
ムを実施し、維持する必要もなしに、ソフトウェア・ア
プリケーション342への安全なウェブ接続を提供する
ことができる。さらに、ユーザは、ネイティブ・ソフト
ウェア・アプリケーション・セキュリティ・システムを
知る必要も、理解する必要もない。というのは、ユーザ
はGUIと対話し、このGUIがネイティブ・セキュリ
ティ・システムと対話するからである。
【0044】この例では、キーとユーザIDが、ソフト
ウェア・アプリケーション342のためにユーザ・ライ
ブラリ620に格納されたユーザID及びキーに対応す
る。ユーザIDとキーは、ユーザがアクセスを許可され
ているソフトウェア・アプリケーションの認証情報を突
き止めるのに使用される。ユーザIDとキーが、ユーザ
・ライブラリ620内で見つからない場合、そのユーザ
は、要求した資源にゲートウェイ332を介してアクセ
スすることを許可されない。ユーザ・ライブラリ620
に格納されるソフトウェア・アプリケーション認証デー
タには、ワークグループ・ユーザ名、ワークグループ・
パスワード、アプリケーション・データベース識別子、
または、ソフトウェア・アプリケーション342によっ
て使用されるネイティブ・セキュリティ・システムに従
うソフトウェア・アプリケーション342との通信を容
易にするのに必要な他の情報を含めることができる。こ
の認証データは、絶対にWWWには送信されないので、
許可されないユーザによるスヌープの危険にはさらされ
ない。
【0045】本発明のセキュリティ機構は、ウェブ・ブ
ラウザからWWWを介するソフトウェア・アプリケーシ
ョンへの安全なアクセス処理及び安全な認証処理を提供
する。この機構は、複数のソフトウェア・アプリケーシ
ョンの認証データを含むユーザのライブラリを使用する
ことによって、ユーザが複数のパスワード及びユーザI
Dを記憶することを必要とせずに、複数のソフトウェア
・アプリケーションまたは他のコンピュータ資源への安
全なアクセスを提供する。この機構には、ウェブ・ブラ
ウザ、ウェブ・サーバ・アプリケーション及びアプリケ
ーション・ゲートウェイを実行し、適当なセキュリティ
検査を実行した後にソフトウェア・アプリケーションを
実行する、1つまたは複数のコンピュータが含まれる。
この機構を用いると、ウェブ・ブラウザのユーザが、ソ
フトウェア・アプリケーションにアクセスできるように
なる。ユーザは、ウェブ・ブラウザを介してデータを入
力し、この入力データが、ウェブ・サーバ・アプリケー
ションに通信される。ウェブ・サーバ・アプリケーショ
ンは、ウェブ・ブラウザを認証し、ウェブ・ブラウザを
一意に識別するデータを含む適当な入力データをアプリ
ケーション・ゲートウェイに渡す。アプリケーション・
ゲートウェイは、ブラウザから受け取った認証データを
使用して、ブラウザのユーザがソフトウェア・アプリケ
ーションのアクセスを許可されるかどうかを判定する。
【0046】好ましい実施例では、ブラウザ認証情報を
使用して、ユーザとソフトウェア・アプリケーションの
適当な認証情報とを相関させる。アプリケーション・ゲ
ートウェイは、この新しい認証情報を使用して、ソフト
ウェア・アプリケーションへのアクセスを得る(すなわ
ちログ・オンする)。
【0047】図4、図6及び図9を参照すると、WWW
上でFlowMarkアプリケーション342'にアク
セスするのに使用される、本発明のセキュリティ機構が
図示されている。上で説明したように、WWW上でFl
owMarkアプリケーション342'にアクセスする
必要があるユーザは、ウェブ・サーバ・アプリケーショ
ン222へのデータ・ストリームを生成する何らかの動
作を行う。ウェブ・サーバ・アプリケーション222
は、ユーザのデータ・ストリームを調べて、ユーザの要
求を満たすために行わなければならない動作を決定す
る。ユーザが要求した情報が、FlowMarkアプリ
ケーション342'へのアクセスを必要とする場合、ウ
ェブ・ブラウザ212から生成されたデータ・ストリー
ムに、ウェブ・サーバ・アプリケーション222がCG
I420に制御を渡すように指令するコマンドが埋め込
まれている。この例では、許可されないユーザがWWW
を介してFlowMarkアプリケーション342'に
アクセスしないようにするために、CGI420へのア
クセスが保護されている。CGI420へのアクセス権
を得るためには、ユーザは、ウェブ・サーバ・アプリケ
ーション222によって認証されなければならない。ウ
ェブ・サーバ・アプリケーション222は、ウェブ・ブ
ラウザ212によって生成されたデータ・ストリーム内
にCGIコマンドを見つけた時に、ウェブ・ブラウザ2
12を介してユーザからパスワードとユーザの識別(ユ
ーザID)を要求する。
【0048】さらに、好ましい実施例によれば、ウェブ
・サーバ・アプリケーション222は、ウェブ・ブラウ
ザ212にキーを要求する。ウェブ・ブラウザからウェ
ブ・サーバへキーを提供し、配布する方法には、主に2
つの方法がある。まず、キーを、ウェブ・サーバに発行
される元々のHTMLページに埋め込むことができる。
これは、アクセスの制御が主な問題でない場合に好まし
い方法である。たとえば、HTMLフォームにキーを埋
め込むことは、発行されるHTMLフォームが、ソフト
ウェア・アプリケーションの機能のうちの制限された機
能にアクセスするために訪問者または「ゲスト」によっ
て使用されるものである場合に有用である。CGIに渡
されるフォームにキーを埋め込むことによって、ゲート
ウェイは、この「ゲスト」キーに対応するソフトウェア
・アプリケーションへのアクセスをユーザに許可するよ
うに自動的に指令される。さらに、この状況では、ユー
ザIDとパスワードも埋め込むことができる。ユーザI
D、パスワード及びキーのすべてがHTMLフォームに
埋め込まれていると、ユーザがアクセスを認証されたこ
とを意識することすらなしに、必要な認証が実現され
る。
【0049】キーは、ゲートウェイがHTMLフォーム
内のキーとして認識する値を変数に割り当てることによ
って埋め込まれることが好ましい。ウェブ・サーバ・ア
プリケーション222は、フォームを受信し、制御をC
GI420に渡し、CGI420は、変数とそれに割り
当てられた値を解析し、この情報をFlowMark/
インターネット・ゲートウェイ(FMIG)430に渡
す。FMIG430は、キーの値及びユーザIDを、ユ
ーザ・ライブラリ620に格納された値と比較する。そ
の後、FMIG430は、キーに基づいて、選択された
ソフトウェア・アプリケーションの認証データを取り出
す。
【0050】キーを供給するための第2の方法では、ウ
ェブ・サーバ・アプリケーション222が、ユーザがキ
ーを入力することの要求をウェブ・ブラウザ212に送
信する。この方法では、ユーザが値を入力する必要があ
り、したがって、キーに対応するソフトウェア・アプリ
ケーションへのアクセスに追加のセキュリティがもたら
される。通常、ウェブ・サーバ・アプリケーション22
2からウェブ・ブラウザ212にREALM要求が発行
される。REALM要求は、CGI420へのアクセス
権を得るためにユーザがユーザIDとパスワードを入力
することを要求する、周知のソフトウェア・セキュリテ
ィ機能である。
【0051】ウェブ・ブラウザ212がこの要求を受信
した時、ユーザは、先に進むために、ユーザID、パス
ワード及びキーを入力し、これらをウェブ・サーバ・ア
プリケーション222に発行しなければならない。した
がって、ウェブ・ブラウザ212は、ユーザID、パス
ワード及びキーを記憶し、ウェブ・サーバ・アプリケー
ション222に送信する。その後、ウェブ・サーバ・ア
プリケーション222は、ユーザIDとパスワードを使
用して、ウェブ・サーバ・アプリケーション222への
アクセス権を有するユーザとしてそのユーザを認証す
る。ウェブ・サーバ・アプリケーション222は、ユー
ザから受信したユーザID及びパスワードを記憶し、こ
のユーザIDとキーを、CGI420を介してFMIG
430に送る。FMIG430は、ユーザID及びキー
を、ユーザ・ライブラリ620の値と比較する。一致が
見つかる場合、FMIG430は、そのユーザID及び
キーに対応する必要な認証データを、ユーザ・ライブラ
リから取り出す。
【0052】好ましい実施例では、認証データに、Fl
owMarkの非ウェブ・ベースのネイティブ・インタ
ーフェースを介してFlowMarkにアクセスするの
に通常必要となる情報のすべてが含まれる。したがっ
て、ユーザ・ライブラリに格納される認証データには、
FlowMarkワークグループ・ユーザ名、Flow
Markワークグループ・パスワード、FlowMar
kアプリケーション・データベース識別子、または、発
行されたキーに対応するFlowMarkアプリケーシ
ョンとの通信を簡単にするのに必要な他の情報を含める
ことができる。この認証データは、絶対にWWWには送
信されないので、スヌープの危険にはさらされない。
【0053】FlowMarkと共に使用するのに適し
た書式を有する、ユーザ・ライブラリ620の一部90
0を図9に示す。ユーザ(たとえばUser a、Us
erb)ごとに、リストされたユーザのそれぞれがFl
owMarkアプリケーション342'にアクセスする
のに必要な認証情報を提供する、対応するユーザ名、パ
スワード、データベース・サーバ識別子及びデータベー
ス識別子がある。ユーザ・ライブラリ620には、Fl
owMark用の通常の認証データが格納されるので、
FMIG430は、FlowMarkに接続する時に通
常のセキュリティ手順を使用することができる。したが
って、FlowMarkへの安全なウェブ接続を、通常
のFlowMarkセキュリティ・システムを変更する
必要なしに実現できる。システム管理担当者は、Flo
wMarkへのウェブ・アクセスのために特殊なセキュ
リティ・システムを実施し、維持する必要がない。本発
明のセキュリティ機構を用いると、FMIG430が、
ユーザを認識できるようになり、FlowMarkへの
接続を確立できるようになる。
【0054】インターフェース構成要素機構 図2及び図7を参照すると、図5のステップ532は、
HTML変数とHTMLテンプレートを使用するインタ
ーフェース構成要素機構によって実行される。上で述べ
たように、ユーザは、ウェブ・サーバ・アプリケーショ
ン222にデータを入力することによってWWWを介す
るソフトウェアへのアクセス権をウェブ・ブラウザに要
求させる動作を実行する(ステップ718)。この例で
は、入力データに、HTMLテンプレートの位置を指定
するURLまたは他のアドレス・データが含まれる。ウ
ェブ・サーバ・アプリケーション222は、指定された
テンプレートのURLアドレスをゲートウェイ332に
渡す(ステップ720)。ゲートウェイ332は、テン
プレート・ライブラリ719内で突き止められた、指定
されたHTMLテンプレートを取り出し、オープンする
(ステップ721)。テンプレート・ライブラリ719
は、ゲートウェイ332と同一の位置に配置されること
が好ましいが、ゲートウェイ332によってアクセス可
能である限り、どこにでも配置できる。テンプレート・
ライブラリ719には、システム開発者がソフトウェア
・アプリケーション342のインターフェースを開発す
る際に例として使用できる、広範囲のHTMLテンプレ
ートが含まれることが好ましい。
【0055】図示の例では、URLアドレスによって、
テンプレート・ライブラリ719のテンプレート2が指
定される。その後、ゲートウェイ332が、テンプレー
ト2に格納された変数を識別する(ステップ723)。
ゲートウェイ332は、ソフトウェア・アプリケーショ
ン342が理解できる適当なコマンドを生成し、そのコ
マンドをソフトウェア・アプリケーション342に通信
する。その後、ゲートウェイ332は、置換変数のそれ
ぞれに必要なデータを、ソフトウェア・アプリケーショ
ン342に要求する(ステップ725)。その後、ソフ
トウェア・アプリケーション342は、入力データの要
求を処理する(ステップ727)。入力データの要求を
処理する際に、ソフトウェア・アプリケーション342
は、データの生成、データを有する他のプログラムの呼
出し、または、ローカルまたはネットワーク上の記憶装
置からのデータ検索のために、追加のソフトウェア・プ
ロセスを開始することができる。その後、ソフトウェア
・アプリケーション342は、要求されたデータをゲー
トウェイ332に返す(ステップ727)。ゲートウェ
イ332は、HTMLテンプレート内の変数を、ソフト
ウェア・アプリケーション342から取り出したデータ
に置換する(ステップ729)。ゲートウェイ332
は、置換変数を実際のデータに置換されたHTMLテン
プレートをウェブ・サーバ・アプリケーション222に
出力する(ステップ731)。ウェブ・サーバ・アプリ
ケーション222は、ウェブ・サーバ出力データをウェ
ブ・ブラウザ212に供給する(ステップ733)。
【0056】ソフトウェア・アプリケーション342と
ウェブ・サーバ・アプリケーション222の間のゲート
ウェイとしてゲートウェイ332を使いやすくするため
に、HTMLテンプレートのライブラリを設ける。HT
MLテンプレートのライブラリによって、複数のCGI
モジュールを必要とせずに、ソフトウェア・アプリケー
ション342を含む複数のアプリケーションへのウェブ
・ブラウザ212を介するアクセスを提供する、柔軟で
簡単にカストマイズできる方法がもたらされる。したが
って、システム操作員は、CGIプログラミング要件を
満足する必要なしに、適当なテンプレートを使用するこ
とによって、広範囲のアプリケーションに対するカスタ
ム・ウェブ・インターフェースを作成することができ
る。
【0057】好ましい実施例では、供給されるHTML
テンプレートのそれぞれに、1つまたは複数の変数が含
まれる。テンプレートを指定する実行依頼をウェブ・ク
ライアントから受信した時に、ゲートウェイ332がテ
ンプレートをオープンする。ゲートウェイ332は、テ
ンプレートを解析し、テンプレート内の変数を突き止め
る。その後、これらの変数の値を、それに関連するソフ
トウェア・アプリケーションに要求する。ソフトウェア
・アプリケーション342は、単純に変数に対応するデ
ータを検索することができ、また、適当なデータを生成
するためにソフトウェア・プロセスを開始することもで
きる。複数のソフトウェア・アプリケーションに関連す
る変数を挿入することによって、単一のウェブ・ページ
によって、これらの複数のソフトウェア・アプリケーシ
ョンからのデータにアクセスすることができる。データ
は、ゲートウェイ332によってHTMLテンプレート
に解析され、ウェブ・サーバ・アプリケーション222
に配布され、ウェブ・サーバ・アプリケーション222
は、この出力をウェブ・ブラウザ212に配布する。し
たがって、正しく定義された変数を有するテンプレート
を使用することによって、システム操作員は、すべての
ソフトウェア・アプリケーションのために完全に新規の
カスタム・インターフェースを作成するという苦労なし
に、ソフトウェア・アプリケーション・データへのウェ
ブ・ベースのアクセスを提供することができる。
【0058】好ましい実施例では、HTMLテンプレー
トのライブラリに、ソフトウェア・アプリケーションと
の対話をウェブ・ブラウザに提供するためにシステム開
発者が使用できる広範囲のHTMLページが含まれる。
この目的を達成するために、HTMLテンプレートに、
使用されるHTMLの複雑さのレベルが異なるさまざま
なテンプレートが含まれることが好ましい。たとえば、
一部のテンプレートでは、HTMLバージョン3.2で
のみ指定されているタグなどの高度なHTMLタグを使
用することができる。これらの高度なタグを使用するこ
とによって、洗練された書式設定が可能になるが、それ
に対応した高度なウェブ・ブラウザが必要になる。した
がって、これらの高度なタグを含むHTMLテンプレー
トは、ユーザがソフトウェア・アプリケーションのアク
セスに高度なウェブ・ブラウザを使用すると期待するソ
フトウェア開発者によって使用される可能性がある。逆
に、HTML 2.0などのHTMLの以前のバージョ
ンに忠実であり、したがって、広範囲の高度でないウェ
ブ・ブラウザによってアクセスできるHTMLテンプレ
ートも提供できる。広範囲のテンプレートを提供するこ
とによって、好ましい実施例では、システム操作員がソ
フトウェア・アプリケーションへのウェブ・インターフ
ェースを提供する際の高い柔軟性がもたらされる。
【0059】好ましい実施例のHTMLテンプレートに
は、ウェブ・ブラウザ212とソフトウェア・アプリケ
ーション342の間でデータを渡すのに使用される入力
変数が含まれる。さらに、ソフトウェア・アプリケーシ
ョン342からのカストマイズされた出力を提供するた
めに、置換変数が使用される。これらの変数は、ゲート
ウェイ332によって識別できる形でHTMLテンプレ
ートに書き込まれる。このような方法の1つでは、変数
をHTMLコメントに書き込み、コメントに配置された
変数を解析できるウェブ・サーバを使用する。
【0060】入力変数は、ウェブ・ブラウザ212から
ゲートウェイ332及びソフトウェア・アプリケーショ
ン342へ入力を提供するためにHTMLページに挿入
される。たとえば、次にウェブ・ブラウザ212に送信
するHTMLページを指定する入力変数を、HTMLペ
ージに含めることができる。この場合、そのHTMLペ
ージがウェブ・サーバ・アプリケーション222に送り
返された時に、ゲートウェイ332が、変数を解析し、
指定されたHTMLページをウェブ・ブラウザ212に
配布するようにウェブ・サーバ・アプリケーション22
2に指示する。
【0061】さらに、ゲートウェイ332は、あるHT
ML画面から次のHTML画面へ特定の変数を渡すよう
に構成することができる。たとえば、特定の通信インス
タンスを表す変数を後続のHTML画面に挿入して、ゲ
ートウェイ332が、特定のユーザのソフトウェア・ア
プリケーション342との対話を追跡できるようにする
ことができる。
【0062】置換変数とは、動的データをウェブ・ブラ
ウザに送り返すのに使用される、HTMLテンプレート
に含まれる変数である。これらの変数は、ゲートウェイ
332によってHTMLテンプレートから解析される。
その後、置換変数は、ソフトウェア・アプリケーション
342に渡される。ソフトウェア・アプリケーション3
42は、置換変数によって表される適当なデータを突き
止める。このデータは、定義済みのプロセスに従ってソ
フトウェア・アプリケーション342によって生成する
ことができ、また、単純に適当なデータ記憶装置から取
り出すことができる。
【0063】システム操作員は、ユーザ定義変数をHT
MLテンプレートに追加して、異なるタイプのソフトウ
ェア・アプリケーションのために必要な特化された入力
及び出力を提供することができる。これらの変数は、変
数情報が渡されるソフトウェア・アプリケーションまた
は変数情報が取り出されるソフトウェア・アプリケーシ
ョンをゲートウェイ332が決定できる形で命名されな
ければならない。さらに、HTMLテンプレートに複数
の変数を追加することによって、複数の異なるソフトウ
ェア・アプリケーションへの入力を、ウェブ・ブラウザ
212からの1つのテンプレートの発行によって行うこ
とができる。同様に、データを複数のソフトウェア・ア
プリケーション342から取り出し、単一のウェブ・ペ
ージに挿入してウェブ・ブラウザ212に出力すること
ができる。
【0064】切断機構 図3及び図8を参照すると、図5のステップ542は、
切断機構によって実行される。処理のこの位置では、ク
ライアント・ワークステーション210とソフトウェア
・アプリケーション342の間のゲートウェイ332を
介する通信がすでに確立されている。これには、一般
に、必要であれば、上で説明したウェブ・サーバの認証
手段及びセキュリティ手段を使用するユーザの認証が含
まれる。さらに、ユーザとソフトウェア・アプリケーシ
ョン342の間でこの「会話」または特定の通信を識別
するために、識別子が作成されている。この識別子は、
会話識別子と称し、ユーザとソフトウェア・アプリケー
ション342の間で伝送されるすべての情報に付加さ
れ、この特定の通信に属するものとしてその情報にタグ
を付けるのに使用される。この会話識別子によって、特
定のウェブ・ブラウザとソフトウェア・アプリケーショ
ン342の間のすべての会話に一意のマークまたはタグ
が付けられる。会話は、一般に、OPENアプリケーシ
ョン・プログラム・インターフェース(API)の呼出
しによって開始され、一般に、CLOSEAPIの呼出
しによって終了する。ゲートウェイ332は、会話識別
子を使用して個々の要求を記憶する。というのは、ゲー
トウェイ332が、複数のユーザと、これらのユーザの
それぞれからの複数の要求をサービスする可能性がある
からである。したがって、ゲートウェイ332は、さま
ざまなユーザとソフトウェア・アプリケーション342
の間のデータの流れを制御するのに必要な情報を維持す
る。
【0065】一般に、あるユーザがソフトウェア・アプ
リケーション342にアクセスした後に、ソフトウェア
・アプリケーション342は、そのユーザの要求が完了
するか、ウェブ・クライアントからの次の入力が必要に
なるまで、そのユーザの要求の処理を続ける(ステップ
819)。たとえば、次の処理に必要な追加データを突
き止めるために適当なデータベースを選択するため、ソ
フトウェア・アプリケーション342がユーザからの入
力を必要とする場合に、処理が停止される可能性があ
る。この時点で、ソフトウェア・アプリケーション34
2は、ゲートウェイ332を介してユーザに入力の要求
を送信する(ステップ821)。その後、ソフトウェア
・アプリケーション342は、ゲートウェイ332に対
するDISCONNECT APIを呼び出す(ステッ
プ821)。DISCONNECTAPIは、ソフトウ
ェア・アプリケーション342が入力を待っている間に
プロセスを中止できるようにするのに使用される切断機
構である。DISCONNECT APIは、ゲートウ
ェイ332に、会話識別子を含む、中止される会話に対
応する必要なデータ及び状態情報を保管させる。その
後、ソフトウェア・アプリケーション342は、現在の
ソフトウェア・プロセスを中止し、後程ソフトウェア・
プロセスを再始動できる状態に戻る。
【0066】その後、ゲートウェイ332は、ウェブ・
サーバ・アプリケーションを介して入力の要求をユーザ
に通信する(ステップ823)。ユーザは、通常、適当
なデータをHTMLフィールドに入力することによっ
て、この要求を満たす。ウェブ・クライアントのユーザ
が、発行ボタンを押した時に、入力されたデータが、ウ
ェブ・サーバとゲートウェイ332を介してソフトウェ
ア・アプリケーション342に送り返される。この応答
は、すぐに返される場合も、比較的長い時間が経過した
後に返される場合もある。どの場合でも、ゲートウェイ
332は、入力データを送信したウェブ・クライアント
を識別し、そのデータが中止されているソフトウェア・
アプリケーション342のプロセスのためのものである
ことを認識する。これは、入力に含まれる会話識別子
を、その会話識別子によってインデクシングされる会話
のデータベースと突き合わせることによって行われるこ
とが好ましい。その後、ゲートウェイ332は、会話識
別子に対応する中止されたプロセスを再始動するように
ソフトウェア・アプリケーションに指示する(ステップ
831)。その後、ソフトウェア・アプリケーション3
42は、中止されたプロセスを中止された位置から再始
動し、入力データを受け取る(ステップ833)。この
時点で、プロセスは、必要に応じて、前のように追加処
理のためにステップ819に戻るか、終了する。
【0067】好ましい実施例では、DISCONNEC
T APIを呼び出し、ソフトウェア・アプリケーショ
ン342のプロセスを中止するステップが、ウェブ・ブ
ラウザ212からの入力が必要になるたびに行われる。
これによって、入力が返されるのを待つプロセスのため
に必要なコンピュータ資源の量が制限される。DISC
ONNECT APIは、保守のためにウェブ・サーバ
・コンピュータ・システム220、コンピュータ・シス
テム330またはコンピュータ・システム340を一時
的に遮断する必要がある時に必ず使用されることが好ま
しい。これは、走行中のソフトウェア・プロセスを不当
に破壊せずに信頼性を確保するために使用することがで
きる。
【0068】ゲートウェイ332には、ウェブ・ブラウ
ザ212とソフトウェア・アプリケーション342の間
の対話を簡単にするために設計された複数のAPIが含
まれる。このAPIには、OPEN APIとDISC
ONNECT APIが含まれることが好ましい。さら
に、このAPIに、SEND API、RECEIVE
API及びCLOSE APIを含めることができ
る。
【0069】OPEN APIを呼び出すと、ソフトウ
ェア・アプリケーション342とウェブ・ブラウザ21
2の間の1組の対話が開始される。具体的に言うと、O
PEN APIは、呼び出された時に、ソフトウェア・
アプリケーション342とウェブ・ブラウザ212の間
の会話にタグを付けるのに使用される会話識別子を生成
する。会話には、所望のタスクを達成するために複数の
異なるプロセスを含めることができる。会話識別子は、
個々の通信のそれぞれがどの会話に属するかを識別する
ために、すべての通信(すなわち、ソフトウェア・アプ
リケーション342とゲートウェイ332の間の通信
と、ウェブ・ブラウザ212とウェブ・サーバ・アプリ
ケーション222の間の通信)に含まれることが好まし
い。
【0070】DISCONNECT APIを用いる
と、ソフトウェア・アプリケーション342が、必要に
なるか再始動が可能になるまで、走行中のプロセスを中
止できるようになる。これは、ソフトウェア・アプリケ
ーション342のすでに走行しているプロセスを完了す
るためにウェブ・クライアント・ユーザからの入力が必
要な場合に特に有用である。ソフトウェア・アプリケー
ション342がこのような入力を必要とする時には、ウ
ェブ・サーバ・アプリケーション222を介してウェブ
・ブラウザ212に要求を送り返さなければならない。
さまざまな理由から、入力が送信されるとしても、その
入力がウェブ・サーバ・アプリケーション222を介し
てソフトウェア・アプリケーション342に送り返され
るまでに、数時間もしくは数日を要する可能性がある。
DISCONNECT APIを用いると、ソフトウェ
ア・アプリケーション342が、入力を受信するまでそ
のプロセスを中止できるようになる。具体的に言うと、
ソフトウェア・アプリケーションは、そのプロセス(会
話識別子によって識別される)を中止することの通知を
ゲートウェイ332に送り、DISCONNECT A
PIを呼び出す。DISCONNECT APIは、中
止されるプロセスの再始動に必要な情報を保存するよう
にゲートウェイ332に指示する。したがって、最終的
に入力が受信された時に、ゲートウェイ332は、この
入力が中止されたプロセス用であることを認識し(関連
する会話識別子を使用することによって)、中止された
プロセスを再始動するようにソフトウェア・アプリケー
ション342に指示し、その入力と必要な状態情報をソ
フトウェア・アプリケーション342に送り返す。
【0071】したがって、DISCONNECT AP
Iを用いると、ソフトウェア・アプリケーション342
とウェブ・ブラウザ212の間の通信の長い遅延が可能
になる。DISCONNECT APIを用いなけれ
ば、この長い遅延によって、動作を待っている状態のま
ま未完了のソフトウェア・プロセスがもたらされる可能
性がある。DISCONNECT APIは、会話識別
子を受け取り、必要な時にゲートウェイ332がプロセ
スを再起動できるように、必要な情報を保管する。
【0072】CLOSE APIは、特定の会話につい
て、ソフトウェア・アプリケーション342とウェブ・
ブラウザ212の間の対話のすべてが完了した時に発行
される。ソフトウェア・アプリケーション342が、C
LOSE APIを呼び出し、これによって、その会話
に完了のタグが付けられ、クローズされた会話に関係す
る不要なファイル及びデータが除去される。
【0073】SEND APIは、ウェブ・ブラウザ2
12にデータを(HTMLページまたは他のタイプの形
式で)送信するために発行される。ソフトウェア・アプ
リケーション342が、SEND APIを呼び出し、
これによって、ゲートウェイ332とウェブ・サーバ・
アプリケーション222を介してウェブ・ブラウザ21
2に送信要求が送信され、データが送信される。SEN
D APIでは、会話識別子を使用して、要求されたデ
ータを必要とするウェブ・ブラウザ212を判定する。
【0074】RECEIVE APIは、ウェブ・ブラ
ウザ212からデータを受信するために発行される。こ
れには、必要に応じてSTDINデータと環境データを
含めることができる。ソフトウェア・アプリケーション
342は、RECEIVEAPIを呼び出して、入力を
待つようにゲートウェイ332に指示する。入力が到着
した後に、ゲートウェイ332は、会話識別子を使用し
て入力データを適当な会話と突合せ、必要な処理のため
にソフトウェア・アプリケーション342にそのデータ
を渡す。したがって、ゲートウェイ332は、ソフトウ
ェア・アプリケーション342とウェブ・ブラウザ21
2の間の通信を容易にするために、OPEN API、
DISCONNECT API、CLOSE API、
SEND API及びRECEIVE APIを使用す
る。
【0075】WWWトランザクション・サポート機構 図4を参照すると、WWWトランザクション・サポート
を説明するために、ウェブ・ブラウザ212からWWW
を介して特定のソフトウェア・アプリケーションにアク
セスできるようにするシステム400が示されている。
この例では、ソフトウェア・アプリケーション342
が、特定の機能を実行するようにプログラムされた、F
lowMarkと称するワークフロー・アプリケーショ
ンである。この特定の例では、FlowMarkを使用
して本発明を説明するが、本発明は、FlowMark
に制限されるものではない。他のソフトウェア・アプリ
ケーションを本発明と共に使用することができ、追加の
アプリケーション・ソフトウェア・パッケージがそのよ
うに使用されることが予期されている。
【0076】FlowMarkは、比較的複雑なプロジ
ェクトまたはタスクを、一連のより小さいプロセスまた
はタスクに分解できるようにする、人気のあるプロセス
・エンジニアリング・ツールである。FlowMark
によって実行されるアクティビティは、プロセスのフロ
ーとアクティビティを記述する1つまたは複数のプロセ
ス・モデル440を使用することによって記述される。
これによって、FlowMarkは、通信ネットワーク
を介してコンピュータ・システムによって達成できる動
作及びトランザクションに非常に有用になる。Flow
Markは、一連のコンピュータ化されたシーケンスと
して現実のタスクを記述するプロセス・モデル440の
作成に使用される。情報は、FlowMarkワークフ
ロー・ソフトウェアによって処理され、通常は、複数の
関連アクティビティが伴う。FlowMarkワークフ
ロー・プロセス言語によって、アクティビティがモデル
化され、適当な場合にはトランザクションが自動化され
る。個々のタスクは、「ワーク・リスト」(すなわち、
電子「作業予定」リスト)内に生成される。FlowM
arkを使用して特定のタスクを達成する例を、下で詳
細に示す。
【0077】図4のシステム400は、図3に示された
コンピュータ・システム300の1つの適当な詳細な実
施態様を表す。同一のコンピュータ・システムが存在し
(すなわち、クライアント・ワークステーション21
0、ウェブ・サーバ・コンピュータ・システム220、
コンピュータ・システム330及びコンピュータ・シス
テム340)、ウェブ・ブラウザ212がクライアント
・ワークステーション210に常駐し、ウェブ・サーバ
・アプリケーション222がウェブ・サーバ・コンピュ
ータ・システム220に常駐する。さらに、図3の接続
326には、図4の接続426及び428が含まれる。
図4のシステム400は、FlowMarkアプリケー
ション342'との通信に使用される時のゲートウェイ
332の具体的な実施例を示すために本明細書に提示さ
れたものである。
【0078】この特定の実施例について、ゲートウェイ
332には、CGI420、FMIG430及びWWW
アプリケーション・プログラム・インターフェース(A
PI)434が含まれる。4つの標準的なWWW AP
Iが、Open、Close、Send及びRecei
veである。WWW API434によって、FMIG
430とアクティビティ・プログラム432の間の通信
リンクがもたらされる。FlowMarkアプリケーシ
ョン342'には、FlowMark450と、1つま
たは複数のアクティビティ・プログラム432が含まれ
る。FlowMark450には、FlowMarkデ
ータベース438、1つまたは複数のプロセス・モデル
440及びFlowMark API436が含まれ
る。特定のソフトウェア・アプリケーション342は、
FlowMark内でプロセス・モデル440を定義
し、プロセス・モデル440内の特定のタスクを実行す
るアクティビティ・プログラム432を定義することに
よって、システム400内で実施される。FlowMa
rk API436は、FlowMark450と共に
供給される標準APIであり、これによって、アクティ
ビティ・プログラム432とFMIG430がFlow
Mark450と通信する手段がもたらされる。Flo
wMarkデータベース438は、プロセス・モデルに
関する情報を格納するのに使用することができる、汎用
データベースである。たとえば、プロセス・モデル44
0とアクティビティ・プログラム432によって、レン
タ・カー・ワーク・フロー・プロセスが実施される場
合、FlowMarkデータベース438は、どの自動
車が使用可能であるかなど、レンタ・カー・プロセスに
関する情報の格納に使用されるはずである。
【0079】WWWを介してFlowMarkアプリケ
ーション342'にアクセスする必要があるユーザは、
クライアント・ワークステーション210を使用してウ
ェブ・ブラウザ212に要求を入力する。ユーザは、特
定のホーム・ページ・サイトのURLを入力するか、ウ
ェブ・ブラウザ212を使用する、HTMLによって生
成されたユーザ・インターフェースに提示されるボタン
をクリックすることができる。ユーザが、通常はHTM
Lフォームに表示されたボタンのクリックによって、必
要な情報を「発行」する時に、ウェブ・サーバ・アプリ
ケーション222が、ウェブ・ブラウザ212から入力
データを受信する。このデータ・ストリームは、RFC
1866形式やRFC1867形式を含む多数の異なる
形式でウェブ・サーバ・アプリケーション222に提示
できる。この2つの具体的な形式は、一般的なウェブ・
ブラウザが理解する共通データ・ストリーム形式の例に
すぎない。本発明は、これらの形式に制限されるもので
はなく、現在既知であるか将来に開発されるデータ伝送
形式のすべてを含む。
【0080】ユーザの要求した情報のために、Flow
Markアプリケーション342'へのアクセスが必要
な場合、CGI420へのアクセスの必要を識別するコ
マンドがデータ・ストリームに埋め込まれており、この
CGI420が、FlowMarkアプリケーション3
42'へのアクセスを提供する。この特定の例では、こ
のコマンドがCGI420の呼び出しである。CGI4
20の呼出しは、URLの一部とすることができ、その
代わりに、ウェブ・ブラウザ212によって発行される
データに埋め込むことができる。CGI420へのアク
セスは、許可されないユーザがWWWを介してFlow
Markアプリケーション342'にアクセスしないよ
うにするために、保護されている。CGI420へのア
クセス権を得るには、ユーザは、ウェブ・サーバ・アプ
リケーション222によって認承されなければならな
い。図6に関して上で述べた認証機構が、好ましい認証
機構である。ウェブ・サーバ・アプリケーション222
は、ウェブ・ブラウザ212によって生成されたデータ
・ストリーム内でCGIコマンドを見つけた時に、ウェ
ブ・ブラウザ212を介してユーザにパスワードとユー
ザ識別(ユーザID)を要求する。ユーザが認証された
後に、ウェブ・サーバ・アプリケーション222は、C
GI420に制御を渡して、必要な動作を実行する。
【0081】CGIは、当業者に周知の実行可能プログ
ラムである。CGIは、WWWを介して情報を送信する
ための機構を提供するように機能する。CGI420
は、ウェブ・サーバ・アプリケーション222からFM
IG430へ、コマンドの形で情報を渡す。このコマン
ドは、一方向すなわちCGI420からFMIG430
に向かうが、データと状況は、両方向で受け渡しされ
る。ウェブ・サーバ・アプリケーション222は、CG
I420を呼び出し、要求に関する適当なコマンドとデ
ータを送る。本発明のこの好ましい実施例では、ウェブ
・ブラウザ212からCGI420へのデータ伝送に
「CGI Post」(stdin)形式を使用する
が、ウェブ・ブラウザ212によって生成できる他のす
べてのデータ伝送形式が予期され、本発明の範囲に含ま
れる。さらに、CGI420の解析機能及び他の動作機
能は、他の形で実施できることに留意されたい。たとえ
ば、多数のウェブ・サーバ・アプリケーションが、現在
「モジュール」をサポートしている。モジュールとは、
動的リンク・ライブラリ(DLL)を使用することによ
って実施されるソフトウェア・ルーチンである。モジュ
ールは、図4のシステム400内でCGI420と同一
の機能を実行することができ、本発明の好ましい実施例
のいくつかでは、CGI420と置換できる。モジュー
ル及びDLLの使用は、当業者に周知である。したがっ
て、CGI420の使用は、例示のみを目的とし、本発
明の制限ではない。
【0082】ウェブ・ブラウザ212からデータを受信
した後に、CGI420は、データを解析して、Flo
wMarkアプリケーション342'へのアクセスの要
求を含む、要求された処理に関する関連情報を突き止め
る。CGI420は、ユーザのデータ及び要求を、いく
つかの制御情報と共にFMIG430に送る。FMIG
430は、FlowMarkアプリケーション342'
がWWWを介してウェブ・ユーザと対話する方法を提供
する。FMIG430は、CGI420とFlowMa
rkアプリケーション342'の間の情報の流れを指示
し、FlowMark API436を使用することに
よってFlowMark機能を開始する。たとえば、F
MIG430は、FlowMark API436を呼
び出して、ユーザによって発行された要求を処理するの
に必要なプロセス・インスタンスを作成することができ
る。その後、FMIG430は、異なるFlowMar
kAPI436を使用して、このプロセス・インスタン
スの呼出しまたは起動を行うことができる。このプロセ
スは、プロセス・モデル440によって支配され、プロ
セス・モデル440は、所望のタスクを実行するために
呼び出さなければならないアクティビティ・プログラム
432をFlowMark450に知らせる。FMIG
430は、FlowMarkプロセスを起動した後に、
要求が処理されたことを示す情報を、FlowMark
API436を介してFlowMark450から受
け取るか、WWW API434を介してアクティビテ
ィ・プログラム432から受け取るまで待機する。FM
IG430とFlowMark API436の間のコ
マンド・インターフェースは、一方向すなわち、必ずF
MIG430がFlowMark API436を呼び
出すが、データと状況情報は、両方向に流れる。これに
よって、ウェブ・インターフェースが変更された場合で
あっても、FlowMarkアプリケーション342'
へのインターフェースを無変更のままにすることができ
るので、これは重要である。
【0083】また、FMIG430は、FlowMar
kとの対話を必要とする各ウェブ・クライアントからの
要求に、会話識別子を割り当てる。上で説明したよう
に、会話識別子によって、特定のウェブ・ブラウザとF
lowMarkの間のすべての会話に一意のマークまた
はタグが付けられる。会話は、一般にOPENアプリケ
ーション・プログラム・インターフェース(API)を
呼び出すことによって開始され、一般にCLOSE A
PIを呼び出すことによって終了する。FMIG430
は、複数のユーザとそれらのユーザのそれぞれからの複
数の要求をサービスする可能性があるので、会話識別子
を使用して個々の要求を記憶する。したがって、FMI
G430は、さまざまなユーザとFlowMarkによ
って処理されているプロセス・インスタンスとの間の情
報の流れを制御するのに必要な情報を維持する。
【0084】アクティビティ・プログラム432は、ユ
ーザが要求したタスクを達成するためにFlowMar
kが使用できるソフトウェア・モジュールである。個々
のアクティビティ・プログラム432は、FlowMa
rkによって開始され、その後、そのアクティビティ・
プログラム432は、WWW API434を介してウ
ェブ・クライアントと通信する。各ワークフローのプロ
セス・モデル440によって、所望のタスクを達成する
のに必要なアクティビティ・プログラム432が開始さ
れる。各アクティビティ・プログラム432は、所望の
タスクを達成するために走行し、要求された情報を返
し、その後終了するプログラムのインスタンスである。
たとえば、アクティビティ・プログラム432は、ユー
ザの要求を処理するためにユーザに情報を要求する場合
がある。アクティビティ・プログラム432は、適当な
WWW API434を呼び出して、必要なデータを得
る。この場合、FMIG430は、アクティビティ・プ
ログラム432への発行を待っているデータを有し、こ
のデータは、この処理でCGI420が前に送ったデー
タと同一である。アクティビティ・プログラム432
は、WWW API434を呼び出して、データの要求
をFMIG430に送り、FMIG430は、WWW
API434からの要求に応答して、このデータをアク
ティビティ・プログラム432に返す。アクティビティ
・プログラム432は、このデータを処理するために適
当なステップを実行し、要求を満たす。アクティビティ
・プログラム432は、WWW API434、FMI
G430、CGI420、ウェブ・サーバ・アプリケー
ション222及びウェブ・ブラウザ212を介してユー
ザと通信する。また、アクティビティ・プログラム43
2は、WWW API434から戻りコードを受け取っ
て、ユーザが要求したデータを受信したことを検証す
る。確認を受信した後に、アクティビティ・プログラム
432のこの特定のインスタンスは、その要求を完了
し、終了する。1つまたは複数のアクティビティ・プロ
グラム432の他のインスタンスが、まだ活動状態であ
り、他の要求を処理している可能性がある。
【0085】WWW API434は、FMIG430
とアクティビティ・プログラム432の間の対話を提供
するために働く。WWW API434を用いると、ア
クティビティ・プログラム432が、ウェブ・クライア
ントとの間でデータ及び状況を送受信できるようにな
る。FlowMark API436が、無変更のまま
であることに留意することが重要である。これが重要で
あるのは、ウェブ・ユーザがFlowMarkにアクセ
スできるようにするためにFlowMark APIが
変更されることがないからである。この意味では、Fl
owMarkは、ウェブ・クライアントからアクセスさ
れていることを知らず、専用アプリケーションが要求さ
れた機能を実行している場合と同一の形で動作する。F
lowMark APIは影響を受けないので、Flo
wMarkの動作は、FlowMarkアプリケーショ
ン342'が達成することをウェブ・クライアントが要
求しているプロセスまたはタスクに無関係に、変更され
ない。複数の位置からの複数のユーザが、WWWを介し
てFlowMarkにアクセスでき、FlowMark
インターフェースが変更されないことが保証される。場
合によっては、システムが透過的なウェブ・クライアン
トを提示するが、これは、ユーザの要求がFlowMa
rkアプリケーション342'によって処理されている
ことがユーザに示されないことを意味する。
【0086】ウェブ・サーバ・アプリケーション222
は、ウェブ・ブラウザ212と同一の位置に配置できる
ことに留意されたい。さらに、必要ではないが、コンピ
ュータ・システム330とコンピュータ・システム34
0は、好ましい実施例では同一のコンピュータ・システ
ムである。最後に、図面に示された接続は、当技術分野
で既知の、コンピュータ・システムを接続するためのあ
らゆるタイプの物理的手段または論理的手段とすること
ができる。これには、直接接続、インターネット接続、
イントラネット接続、赤外線(IR)及び他の形態の無
線接続が含まれるが、これらに制限されるものではな
い。コンピュータ・システムを接続するための多数の代
替の方法及び材料を、本発明と共に使用するために簡単
に適合できることが予期される。要するに、本明細書で
は複数の別々のコンピュータ・システム(たとえば図3
及び図4)が開示されるが、本発明によるコンピュータ
・システムには、あらゆる台数のコンピュータ・システ
ムまたはコンピュータ・システムの組み合わせを含める
ことができる。本明細書の図面は、本発明の顕著な態様
を例示するために示されたものであって、本発明を本明
細書に示された特定の構成に制限するものと解釈しては
ならない。
【0087】共通ユーザ・インターフェースを介する複
数のソフトウェア・アプリケーションへの複数ユーザの
アクセス 図2と図10を参照すると、本発明のもう1つの長所
は、複数のユーザがWWW上でウェブ・ブラウザ212
を介して同時に複数のソフトウェア・アプリケーション
にアクセスする時に最も明らかになる。各ウェブ・ユー
ザは、一般に、WWWへのアクセスに使用されるクライ
アント・ワークステーション210を有する。図10の
特定の構成では、クライアント・ワークステーション1
(CW1)及びクライアント・ワークステーション2
(CW2)が、ウェブ・サーバ1(WS1)に結合さ
れ、クライアント・ワークステーション3(CW3)
が、ウェブ・サーバ2(WS2)に結合される。クライ
アント・ワークステーションCW4及びCW5は、ウェ
ブ・サーバ3(WS3)に結合される。ウェブ・サーバ
WS1及びWS2の両方が、ゲートウェイ・コンピュー
タ・システム(GCS)、この場合にはGCS1に結合
される。図からわかるように、WS3は、GCS2に結
合される。GCS1とGCS2は、どちらもがソフトウ
ェア・アプリケーション・コンピュータ1(SAC1)
に結合される。さらに、GCS2は、ソフトウェア・ア
プリケーション・コンピュータ2(SAC2)にも結合
される。SAC1とSAC2の両方で、ウェブ・ユーザ
がWWWを介するアクセスを必要とする可能性があるさ
まざまなソフトウェア・アプリケーションが走行してい
る。
【0088】本発明は、ウェブ・クライアントのそれぞ
れに共通グラフィカル・ユーザ・インターフェースを提
供し、SAC1及びSAC2で走行するアプリケーショ
ン・ソフトウェア・プログラムへのすべてのクライアン
ト・ワークステーション(CW1ないしCW5)による
アクセスのすべてを、要求された機能が要求通りに実行
されることが保証される形で管理する。GCSは、ウェ
ブ・クライアントとソフトウェア・アプリケーションの
間でトラフィックの方向を指定する、アプリケーション
・ゲートウェイを提供する。本発明のセキュリティ機構
は、アプリケーション・ソフトウェアと共に動作し、さ
まざまなコンピュータ資源のそれぞれの認証データへの
アクセスに使用されるユーザIDとキーを必要とする。
会話のそれぞれに一意の識別子を割り当てることによっ
て、GCSは、SAC上で走行するソフトウェア・アプ
リケーションのそれぞれと、そのネイティブ・インター
フェースを使用して対話することができ、その後、ソフ
トウェア・アプリケーションからの出力を識別し、その
出力を、出力を要求したウェブ・クライアントと突き合
わせることができる。本発明によるHTMLテンプレー
トとHTML変数を使用することによって、一部のウェ
ブ・クライアントは、異なるコンピュータ・システム上
の複数のソフトウェア・アプリケーションからの情報に
実際にアクセスすることができ、要求したデータを単一
のウェブ・ページ内で受信することができる。どの時点
でも、ウェブ・クライアントのうちの1つが、処理を中
止され、ソフトウェア・アプリケーションへの入力の供
給を停止する可能性がある。本発明のDISCONNE
CT API機能を使用することによって、コンピュー
タの時間が無用に浪費されなくなる。
【0089】自動車レンタルの例 本発明の好ましい実施例の具体的な例を、ある人が、W
WWを介してレンタ・カー代理人のFlowMarkア
プリケーション・ソフトウェアにアクセスすることによ
って自動車を借りたいと思っている状況を使用すること
によって、詳細に説明できる。図26を参照すると、自
動車レンタルの例全体のプロセス・モデル2000に
は、プロセス・ステップ2010、2020、203
0、2040及び2050が含まれる。プロセス・モデ
ル2000のプロセス・ステップ2010では、アクテ
ィビティ・プログラムが自動車レンタル情報を受け取
り、次の予約番号を突き止め、その予約番号をファイル
に保管し、要求者に予約番号を返し、FlowMark
出力データ・コンテナに予約番号をセットする。プロセ
ス・ステップ2010では、FlowMarkのInt
ernet Connection WWW API及
びデータ・コンテナAPIを使用する。プロセス・ステ
ップ2020は、予約を満たすために使用可能な自動車
があるかどうかを判定するアクティビティ・プログラム
である。プロセス・モデル2000の後続経路のどちら
に進むかは、この判定の結果に依存する。予約を満たす
ために使用可能な自動車がある場合、プロセス・モデル
2000の次のステップは、プロセス・ステップ203
0になる。しかし、予約要求を満たすために使用可能な
自動車がない場合には、プロセス・モデルの次のステッ
プは、プロセス・ステップ2040になる。プロセス・
ステップ2030では、自動車レンタル要求に一致す
る、使用可能な自動車が識別され、予約要求を満たすた
めにスケジューリングされる。さらに、予約確認番号が
生成され、要求者に転送される。プロセス・ステップ2
040では、レンタ・カー代理人は、予約要求を満たす
ために別の位置からレンタ・カーを捜す試みを行うか否
かを選択できる。別の位置にある使用可能なレンタ・カ
ーを捜す場合、プロセス・モデル2000の次のステッ
プは、プロセス・ステップ2050になる。プロセス・
ステップ2050では、予約要求を満たすために自動車
をスケジューリングし、ある位置から別の位置へ移動す
るためのアクティビティ・プログラムを使用できる。プ
ロセス・ステップ2050では、別の位置で使用可能な
自動車のリストが提示され、その結果、レンタ・カー代
理人が、移動するのに適した自動車を選択できるように
なる。これらのステップのそれぞれを、以下で詳細に説
明する。
【0090】図4と図26を参照すると、自動車を借り
たい人またはユーザは、ウェブ・ブラウザ212が走行
しているクライアント・ワークステーション210を使
用することによってWWWにアクセスする。ユーザは、
ウェブ・ブラウザ212を使用して、レンタ・カー代理
店のURLを入力し、レンタ・カー代理店のホーム・ペ
ージ・サイトを突き止める。その後、ユーザは、レンタ
・カー代理店のウェブ・サイトで、自動車レンタルの要
求を受け入れるように以前に設定された適当な区域また
はページを突き止める。この例では、レンタ・カー代理
店のウェブ・サイトにレンタル予約フォームがあると仮
定する。自動車レンタル予約フォームを突き止めた後
に、ユーザは、レンタ・カー代理店が要求する情報を入
力する。この情報には、通常、顧客識別番号、パスワー
ド、自動車を借りる都市、レンタ・カー借用希望日、借
りる自動車の具体的な車種(すなわち、メーカー、モデ
ル、サイズ)などの項目が含まれる。
【0091】適当なレンタル予約フォームまたはテンプ
レートを生成するHTMLの例を、図11に示す。ウェ
ブ・サーバ・アプリケーション222は、ウェブ・ブラ
ウザ212に送り返す必要がある次の出力として図11
のHTMLテンプレートを指定する入力をウェブ・ブラ
ウザ212から受信すると仮定する。この指定は、ウェ
ブ・ブラウザ212からのフォーム入力の使用を含む、
さまざまな方法で行うことができる。このフォームで
は、ユーザが、会員番号、姓、名、出発点の都市、州、
開始日、日数及び自動車の好みを入力することを要求さ
れる。ユーザは、この情報を入力した後に、レンタル予
約フォーム上の「発行」ボタンをクリックすることによ
って、この情報を発行する。この時点で、ウェブ・サー
バ・アプリケーション222が、ユーザ要求によって生
成されたデータ・ストリームをウェブ・ブラウザ212
から受信する。適当な書式によって、すべての変数及び
他の関連情報データを拾い上げ、図12のデータ・スト
リームのような外見のpostデータ・ストリーム形式
でウェブ・サーバ・アプリケーション222に送る。上
で説明したように、このデータ・ストリームは、多数の
異なるデータ形式でウェブ・サーバ・アプリケーション
222に提示することができ、本発明は特定のデータ形
式には制限されない。この動作は、図26のプロセス・
ステップ2010に含まれる。
【0092】ウェブ・サーバ・アプリケーション222
は、ウェブ・ブラウザ212からのデータ・ストリーム
を検査して、ユーザの要求を満たすために行わなければ
ならない動作を決定する。この特定の例では、HTML
フォームの「<FORM ACTION="/cgi-prot/exmp5cgi.exe"
METHOD="POST">」という行のCGI420への呼出しか
ら、ウェブ・サーバ・アプリケーション222は、exmp
5cgi.exeと称する保護CGI(CGI420と仮定す
る)を呼び出す必要があることを知る。ウェブ・サーバ
・アプリケーション222は、この保護CGIへの呼出
しを見た時に、ウェブ・サーバ・アプリケーション22
2がCGI420へのアクセスを許可する前に認証が必
要であることを知る。
【0093】CGI420は保護されているので、許可
されないユーザがWWWを介してFlowMarkアプ
リケーション342'にアクセスできなくするために、
CGI420へのアクセスを制御しなければならない。
CGI420を指定したHTMLフォーム内のパラメー
タに応答して、ウェブ・サーバ・アプリケーション22
2は、ウェブ・ユーザを認証しなければならない。この
認証では、ユーザがユーザIDとパスワードを入力する
必要があり、ウェブ・サーバ・アプリケーション222
は、ウェブ・ブラウザ212にREALM要求を発行す
る。REALM要求は、CGI420へのアクセス権を
得るためにユーザがユーザIDとパスワードを入力する
ことを要求する、周知のソフトウェア・セキュリティ機
能である。ウェブ・ブラウザ212は、ユーザから受け
取ったユーザIDとパスワードを記憶し、この情報をウ
ェブ・サーバ・アプリケーション222に送信する。ウ
ェブ・サーバ・アプリケーション222は、このユーザ
IDとパスワードを使用してユーザを認証してから、そ
のユーザにCGI420へのアクセスを許可する。ウェ
ブ・ブラウザ212の将来の実施態様のいくつかでは、
ウェブ・サーバ・アプリケーション222に送信される
データ・ストリームにウェブ・ブラウザ212が何らか
の形の認証データを挿入する機構が設けられる可能性が
高いことに留意されたい。認証データを収集し、ウェブ
・ブラウザ212からウェブ・サーバ・アプリケーショ
ン222に送信するための方法及び技法のすべてが、本
発明の範囲に含まれる。
【0094】認証の後に、ウェブ・サーバ・アプリケー
ション222は、CGI420に制御を渡し、CGI4
20は、ウェブ・ブラウザ212からデータを受信す
る。この特定の例では、CGI420は、標準入力プロ
トコル「stdin」を介して「post」形式のデー
タ・ストリームを受信する。post形式は、当技術分
野で周知のデータ形式記述である。stdinは、po
stデータを読み取るファイル記述子である。本発明の
この好ましい実施例では、postデータ形式記述が使
用されるが、ウェブ・ブラウザ212及びウェブ・サー
バ・アプリケーション222によって使用できる他のす
べてのデータ形式が予期され、本発明の範囲に含まれ
る。この例でウェブ・ブラウザ212からCGI420
に送信されるレンタル予約フォームのpostデータ
を、図12に示す。
【0095】CGI420は、ウェブ・ブラウザ212
からpostデータを受信した後に、データを解析し、
ワークフロー変数を捜す。この例では、ワークフロー変
数は接頭辞wf−を有する。2つの隠されたワークフロ
ー変数が、「wf-cgi-submit=2」及び「wf-cgi-html=\e
xm\smp\exmp5srk.html」である。最初の変数「wf-cgi
-submit=2」は、CGI420に、FlowMarkプ
ロセス・インスタンスを作成し、始動する必要があるこ
とを知らせる。2つの隠されていないワークフロー変数
が、「wf-fmig-key」と「wf-api-proc-template="WWW.R
eservation.Request」である。これらの変数は、作成
し、始動しなければならないプロセス・テンプレートを
示す。単一のHTMLテンプレートで複数の変数を使用
して、複数のアプリケーションからデータを取り出すこ
とができる。たとえば、3つの変数を含むHTMLテン
プレートを指定できる。ある変数で、始動しなければな
らない特定のFlowMarkプロセスを指定でき、他
の2つの変数を使用して、FlowMarkアクティビ
ティ・プログラムによってアクセス可能な異なるソフト
ウェア・アプリケーションから情報を取り出す。HTM
Lテンプレートがウェブ・サーバ・アプリケーション2
22に発行される際に、CGIは、変数を解析し、FM
IGに配布する。FMIGは、wf変数によって指定さ
れたプロセスを始動するようソフトウェア・アプリケー
ションに指示し、2つのアプリケーション変数を適当な
ソフトウェア・アプリケーションに渡す。ソフトウェア
・アプリケーションは、変数に対応するアプリケーショ
ンから適当なデータを取り出す。したがって、適当なH
TML変数を使用することによって、ウェブ・クライア
ントは、単一のウェブ・ページを介して多数の異なるア
プリケーションを用いて作業することができる。この対
話は、ウェブ・クライアントにとって完全に透過的とす
ることができ、また、インターフェース・ウェブ・ペー
ジから明白になるようにすることができる。
【0096】したがって、置換変数を有するHTMLテ
ンプレートを使用することによって、単一の比較的単純
なCGIモジュールが、FMIGとあいまって、ウェブ
・サーバと複数のソフトウェア・アプリケーションの間
の効果的なインターフェースを提供することができる。
これによって、システム操作員は、複数のCGIモジュ
ールを使用する必要も、極度に複雑なCGIモジュール
を使用する必要もなしに、WWWを介する複数のソフト
ウェア・アプリケーションへの簡単にカストマイズでき
るウェブ・アクセスを提供できるようになる。CGI4
20は、他の制御情報と共に、postデータと環境デ
ータをFMIG430に送る。環境データは、当業者に
周知の標準プログラミング技法を介して入手可能であ
り、標準「C」プログラミング言語パラメータとしてC
GI420に渡すことができる。
【0097】FMIG430は、FlowMark A
PI436を使用してCGI420からの要求を通信す
ることによって、CGI420とFlowMarkアプ
リケーション342'の間の情報の流れを指示する。こ
れらのFlowMark APIは、FlowMark
製品と共に出荷される標準APIであり、本発明に適合
するために変更する必要はない。これによって、新しい
ウェブ・インターフェースを設ける場合であっても、F
lowMarkアプリケーション342'のネイティブ
・コマンド・インターフェースを無変更のままにするこ
とができるので、これは重要である。FMIG430と
FlowMarkアプリケーション342'の間のコマ
ンド・インターフェースは一方向すなわち、必ずFMI
G430がFlowMark API436を呼び出す
が、データと状況情報は両方向に流れることに留意され
たい。
【0098】CGI420からデータを受け取った後
に、FMIG430は、データを解析し、wf-fmig-key
変数からユーザID及びキーを突き止めて、対応するF
lowMarkユーザIDと、そのユーザにFlowM
arkアプリケーション342'へのアクセスを提供す
る他のFlowMarkアクセス情報があるかどうかを
判定する。ユーザIDとキーに対応するFlowMar
kアクセス情報があると仮定すると、FMIG430
は、このアクセス情報を使用してFlowMarkアプ
リケーション342'にログ・インする。FMIG43
0は、FlowMark API436のうちの1つを
呼び出して、ユーザによって発行された要求を処理する
のに必要なプロセス・インスタンスを作成する。この例
では、要求によって、「www_Reservation_Request」と
称するプロセス・インスタンスが作成される。このプロ
セス・インスタンスは、WWW自動車レンタル・トラン
ザクションを処理するように特別に設計されている。そ
の後、別のFlowMarkAPI436を使用して、
FMIG430が、このプロセス・インスタンスを呼び
出すか始動する。また、FMIG430は、「wf-cgi-h
tml」変数用の適当なHTML変数情報を保管する。「w
f-cgi-html」は、ワークフロー・シーケンスが終了した
後に変更すべきHTMLをFMIG430に知らせる変
数である。FlowMarkプロセスwww_Reservation_
Requestの接頭辞によって、このプロセスがウェブ使用
可能すなわち、アクティビティ・プログラム432がW
WWAPI434を使用してFMIG430と通信する
ことが、FMIG430に知らされる。FMIG430
が、プロセス・インスタンスとそれを要求したウェブ・
ブラウザを対応させることができることを確実にするた
めに、FMIG430は、このウェブ・クライアントの
「ハンドル」を生成し、記憶する。プロセスに応じて、
このハンドルは、プロセス・インスタンス名、アクティ
ビティ・インスタンス名及びウェブ・クライアントのセ
キュリティ・データのなんらかの組み合わせになる。こ
のハンドルは、ウェブ・クライアントの一意の識別子で
ある。その後、FMIG430は、ハンドル、プロセス
・インスタンス、ユーザIDなどを、その内部データ・
キャッシュに入力する。その後、FMIG430は、W
WW API434の接続を待つ。この時点で、CGI
420は、まだ接続316を介してFMIG430に接
続されており、ユーザの自動車レンタル要求を満たすた
めに、要求された状況またはデータをFMIG430か
ら受け取るのを待っている。
【0099】自動車レンタル予約プロセス・モデルが初
めて作成された時に、第1のアクティビティ・プログラ
ム432が、識別され、FlowMark自動車レンタ
ル予約プロセス・モデルが呼び出された時に必ず自動的
に実行されるように指定された。これは、FMIG43
0が自動車レンタル予約プロセス・モデルのFlowM
arkインスタンスを作成し、起動する時に、必ず、第
1の自動車レンタル予約FlowMarkアクティビテ
ィ・プログラムであるアクティビティ・プログラム43
2が、FlowMarkアプリケーション342'によ
って自動的に始動されることを意味する。この特定の例
では、自動車レンタル要求を処理するために一緒に働く
複数の関連するアクティビティ・プログラム432があ
る。FlowMarkワークフロー・プロセス言語によ
って、自動車レンタル要求及び予約プロセスがモデル化
され、適当な場合にトランザクションが自動化される。
自動車レンタル要求を処理するために、FlowMar
kアプリケーション342'によって、FlowMar
kデータベース438内に自動車レンタル予約プロセス
・モデルのインスタンスが作成され、プログラム実行ク
ライアント(PEC)が活動状態であるかどうかが検査
される。PECは、FlowMarkアプリケーション
342'内のアクティビティの動作と流れを調整する、
監視プログラム・モジュールである。PECが活動状態
になった後に、FlowMarkアプリケーション34
2'は、PECにアクティビティをディスパッチし、F
lowMarkデータベース438を更新して、アクテ
ィビティが走行中であることを示す。その後、PEC
は、このプロセスの第1のアクティビティに登録された
アクティビティ・プログラム432を始動する。その
後、選択されたアクティビティ・プログラム432が走
行を開始する。ウェブ・クライアントの自動車レンタル
要求を処理するのに必要なアクティビティ・プログラム
432の数と性質は、プロセス・モデル440をどのよ
うに設計したかに依存する。たとえば、あるプロセス・
モデル440では、アクティビティが、完了まで人間の
介入なしに走行する完全に自動的なプロセスとしてモデ
ル化される可能性がある。その代わりに、プロセス・モ
デル440で、モデル・プロセスを完了する前に広範囲
の人間の入力及び介入が必要になる場合もある。設計の
如何にかかわらず、各ワークフローのプロセス・モデル
440によって、モデル化されたプロセスまたは手順を
完了するために指定されたタスクを達成するのに必要な
特定のアクティビティ・プログラム432が開始され
る。
【0100】個々のアクティビティ・プログラム432
のそれぞれは、特定のタスクを達成するか、要求された
情報を返し、その後終了するように設計された、別々の
ソフトウェア・モジュールである。WWW API43
4を用いると、アクティビティ・プログラム432が、
WWWを介してウェブ・クライアントとの間でデータ及
び状況を送受信できるようになる。WWW API43
4は、必ずアクティビティ・プログラム432によって
呼び出されるが、データ及び状況情報は、FMIG43
0とアクティビティ・プログラム432の間で両方向に
流れる。
【0101】この例のレンタ・カー要求を処理するため
に、複数の関連するアクティビティ・プログラム432
を呼び出して、プロセス・モデル440で指定されたワ
ークフロー・プロセスを完了することができる。たとえ
ば、1つのアクティビティ・プログラムを開始して、F
lowMarkデータベース438に問い合わせ、レン
タ・カーを要求している人物がそのレンタ・カー代理店
の既存の顧客であるかどうかを判定することができる。
そうである場合には、顧客識別番号が、FlowMar
kデータベース438内の既存のアカウント番号と一致
し、アクティビティ・プログラム432は、次に進んで
自動車レンタル要求を処理できる。しかし、レンタ・カ
ーを要求している人物が既存の顧客でない場合、異なる
アクティビティ・プログラム432を開始して、ウェブ
・クライアントと通信し、必要な情報を集め、ウェブ・
クライアントの顧客情報をFlowMarkデータベー
ス438に入力することができる。
【0102】次に、有効な顧客識別が確立された後に、
もう1つのアクティビティ・プログラム432を開始
し、顧客の要求に従って要求を満足できるかどうかを判
定することができる。これは、図26のプロセス・ステ
ップ2020に含まれる。たとえば、要求された日に、
要求された都市に、要求されたサイズの使用可能な自動
車があるかどうかを判定する。その代わりに、Flow
Markプロセス・モデルで、次の処理のために自動車
レンタル要求を人間の代理人に経路指定することを指定
することもできる。この場合、自動車レンタル要求は、
代理人のFlowMarkタスク・リストに表示され
る。その代わりに、このプロセス全体を完全に自動化す
ることもできる。どの場合でも、レンタ・カー代理人ま
たはアクティビティ・プログラム432は、ウェブ・ク
ライアントの自動車レンタル要求を処理し、所望の自動
車が使用可能な場合には、FlowMarkデータベー
ス438を更新して、その自動車が「予約」済みである
ことを示す。これらのアクティビティは、図26のプロ
セス・ステップ2030で達成される。しかし、所望の
自動車が使用可能でない場合には、別のアクティビティ
・プログラム432を開始して、別の位置で自動車を探
し(図26のプロセス・ステップ2040)、人間のレ
ンタ・カー代理人から、所望の自動車を別の位置から所
望の位置へ移動する要求を作成することができる(図2
6のプロセス・ステップ2050)。これらのアクティ
ビティ・プログラム432の一部を、下で詳細に説明す
る。
【0103】この例では、レンタ・カー代理人が、要求
を是認し、車両を所望の位置に移動した後に、レンタ・
カー代理人は、FlowMarkアプリケーション34
2'に入力を与え、アクティビティ・プログラム432
を更新する。レンタ・カーがこのシステムで予約された
後に、異なるアクティビティ・プログラム432を開始
して、その顧客の確認番号を生成し、その顧客との確認
のトランザクションを処理することができる。各アクテ
ィビティ・プログラム432は、最後まで実行した後に
終了する、独立のプロセスとして設計される。
【0104】この時点で、アクティビティ・プログラム
432は、FlowMark API436を使用し
て、FlowMark入力データ・コンテナから入力デ
ータを取り出す。FlowMarkデータ・コンテナ
は、プロセス・モデル440の作成時に定義されるFl
owMark機能である。FlowMarkデータ・コ
ンテナは、FlowMark API436を介してア
クセスでき、プロセス・モデル440内で状況及び情報
を記憶し、あるアクティビティ・プログラム432から
次のアクティビティ・プログラム432へ渡すための記
憶位置として使用される。アクティビティ・プログラム
432は、接続428を介してWWW API434に
Openを発行することによって、ウェブ・クライアン
トとの会話をオープンする。アクティビティ・プログラ
ム432には、実行中のプロセス・インスタンス、アク
ティビティ名、FlowMarkユーザIDなどの情報
も含まれる。この情報は、WWW API434によっ
てFMIG430に送られる。FMIG430は、内部
データ・キャッシュにある要求されたプロセス・インス
タンス名を突き止めることによって、このOpen A
PIを適当なウェブ・クライアントと突き合わせる。そ
の後、FMIG430は、このトランザクションの「会
話識別子」を生成する。FMIG430は、その内部キ
ャッシュに会話識別子を保管し、応答メッセージの一部
としてWWW API434に会話識別子を送る。WW
W API434は、FMIG430からの切離しを行
い、会話識別子をアクティビティ・プログラム432に
返す。この時点から、この会話識別子は、ウェブ・クラ
イアントの要求を処理するのに必要な、このウェブ・ク
ライアントとすべてのアクティビティ・プログラム43
2の間のWWW API434発行のすべてに含まれ
る。この会話識別子は、アクティビティ・プログラム4
32が発行するClose APIによって会話が終了
するまで有効である。
【0105】FMIG430から会話識別子を受け取っ
た後に、アクティビティ・プログラム432は、WWW
API434にReceiveを発行する。Rece
ive APIは、FMIG430に対する、ウェブ・
クライアントからデータを取得する要求である。この場
合、FMIG430は、アクティビティ・プログラム4
32への発行を待っている、ウェブ・クライアントから
のデータを有する。これは、このプロセスで前にCGI
420がFMIG430に送ったものと同一のウェブ・
クライアント・データである。FMIG430は、この
postデータ及び環境データをWWW API434
(Receive)に送り、Receive APIに
よって、そのデータがアクティビティ・プログラム43
2に中継される。アクティビティ・プログラム432
は、そのデータを処理し、要求を満たすために適当なス
テップを実行する。
【0106】このプロセスのこの時点で、アクティビテ
ィ・プログラム432は、クライアント・ワークステー
ション210のウェブ・クライアントに予約確認HTM
L画面を送信するSendをWWW API434に発
行する。このSend APIによって、FMIG43
0に対する送信要求が生成され、予約確認画面を描画す
るのに必要なHTMLデータが送られる。FMIG43
0は、要求に含まれる会話識別子とウェブ・クライアン
ト・ハンドル(一緒に内部データ・キャッシュに記憶さ
れている)を突合せ、まだFMIG430に接続されて
入力を待っているCGI420に、データ型及びハンド
ルと共にアクティビティ・プログラム432からのHT
MLデータを送る。アクティビティ・プログラム432
は、データ型「HTMLテンプレート」を生成し、その
結果、CGI420が、元のHTMLテンプレートを解
析でき、アクティビティ・プログラム432によって送
られたHTMLデータを用いて適当なHTML置換変数
を置換できるようにする。その代わりに、アクティビテ
ィ・プログラム432は、MIME、URLまたはHT
MLテンプレート・データをCGI420に送ることが
できる。この時点で、CGI420は、FMIG430
からの切離しを行い、受け取ったデータの処理を開始す
る。その後、FMIG430は、応答メッセージ内のO
Kの戻りコードによってWWW API434に応答す
る。WWW API434も、FMIG430からの切
離しを行い、アクティビティ・プログラム432への戻
りコードを生成する。一般に、WWW API434
は、各WWW API434が呼び出された後にFMI
G430からの切離しを行う。
【0107】予約確認テンプレートのHTMLコードの
例を、図13に示す。変数wf-act-outmsgは、ウェブ・
ブラウザ212によって表示されるHTML画面内の確
認番号によって置換される置換変数であることに留意さ
れたい。FMIG430から受け取ったデータをCGI
420が処理した後のHTMLコードを、図14に示
す。図14のHTMLコードは、ウェブ・サーバ・アプ
リケーション222が変更するコードであり、ウェブ・
ブラウザ212がクライアント・ワークステーション2
10に表示するコードである。図14のHTMLコード
には、顧客の予約番号が含まれることに留意されたい。
この場合、CGI420とウェブ・クライアントは、す
でに会話を確立しており、CGI420は、初めて呼び
出された時からまだ活動状態であるから、ウェブ・クラ
イアントを認証する必要はない。CGI420は、隠さ
れた変数「wf-fmig-handle」を確認番号と共に挿入し、
また、最初のHTML画面からのwf-fmig-keyをこのH
TMLコードに挿入する。これによって、後続のHTM
Lページに、そのページからFlowMark450へ
のアクセスを許可する埋込みデータを含めることができ
るようになる。この例に示されたHTML変数の置換
は、JAVAScript変数の置換及び複製と、JA
VAScriptテンプレートの解析及び挿入を含むよ
うに拡張することができる。本発明は、HTML変数の
置換に制限されない。
【0108】予約確認テンプレートの処理中に、アクテ
ィビティ・プログラム432は、WWW API434
にReceive APIを発行しており、これが、顧
客が確認番号を受信し、見たことを保証する、アクティ
ビティ・プログラム432のための確認メッセージとし
て働く。ウェブ・クライアントは、自分の確認番号を受
信し、記録した時に、「発行」ボタンをクリックする。
このデータは、前と同様に、ウェブ・ブラウザ212に
よって保持されているウェブ・ユーザのユーザID及び
パスワードと共に、ウェブ・サーバ・アプリケーション
222に送信される。ウェブ・サーバ・アプリケーショ
ン222は、この情報を使用して、もう一度CGI42
0に対してウェブ・クライアントを認証する。ウェブ・
サーバ・アプリケーション222は、前と同一のHTM
Lコード、<FORM ACTION="/cgi-prot/exmp5cgi.exe" ME
THOD="POST">を用いてCGI420を呼び出す。CGI
420は、ウェブ・ブラウザ212からのpostデー
タを受け取る。この例では、ウェブ・ブラウザ212
は、データを「form-urlencoded media type」として書
式化する。このデータは、図15に示されたものに類似
した外見になる。13というwf-cgi-submitの値は、デ
ータをアクティビティ・プログラムに渡すコマンドであ
る。FMIG430は、wf-fmig-keyを検索し、pos
tデータからのキーと環境データからのウェブ・ユーザ
IDを検査して、ウェブ・クライアントが許可されるこ
とを確認する。FMIG430は、wf-fmig-handleを内
部データ・キャッシュの会話識別子と突合せ、WWW
API434が接続されているかどうかを検査する。W
WW API434がまだ接続されていない場合、FM
IG430は単に待機する。CGI420は、FMIG
430に接続されたままになり、応答を待ち続ける。R
eceiveのWWW API434がFMIG430
に接続された後に、FMIG430は、会話識別子を使
用して、Receive APIを適当なウェブ・クラ
イアントと突合せ、postデータと環境データをWW
W API434に送り、WWW API434は、こ
のデータをアクティビティ・プログラム432に渡す。
アクティビティ・プログラム432は、データを処理
し、Close WWW APIを使用して会話をクロ
ーズする。Close APIは、会話識別子、プロセ
ス・インスタンス名及び他の関連データと共にFMIG
430に送られる。FMIG430は、クローズ要求を
処理し、応答メッセージをWWW API434に送
り、WWW API434は、会話が終了したことを検
査するため、アクティビティ・プログラム432への戻
りコードを生成する。
【0109】その後、FMIG430は、内部データ・
キャッシュから記憶された変数値を取り出し、そのデー
タをCGI420に送る。CGI420は、データと変
数を受け取り、FMIG430からの切離しを行う。そ
の後、CGI420は、ウェブ・サーバ・アプリケーシ
ョン222に連絡し、変数とデータを送り、ウェブ・ブ
ラウザ212への指定されたHTMLを描画するように
ウェブ・サーバ・アプリケーションに指示する。
【0110】この時点で、自動車レンタル要求に関する
ユーザとの対話は完了している。しかし、その間に完了
している可能性がある、上で述べた他のアクティビティ
・プログラム432がある。さらに、他のプロセスが、
完了を必要とする可能性があり、これらのプロセスを達
成するために他のアクティビティ・プログラム432が
活動化される可能性がある。この例では、1つのアクテ
ィビティ・プログラム432が、ユーザと対話し、ユー
ザから集めたデータをFlowMarkデータ・コンテ
ナに送っていた。FlowMarkデータ・コンテナの
データは、現在は、プロセス・モデル440内の別のア
クティビティ・プログラム432のための入力になって
いる。他のアクティビティ・プログラム432の一部
を、下で説明する。
【0111】アクティビティ・プログラム432のいず
れかが動作を完了した後に、制御がPECに戻される。
PECは、FlowMarkにリターンし、FlowM
arkデータベース438が、1つのアクティビティ・
プログラム432が完了したことと、このプロセスを完
了するための次のアクティビティ・プログラム432を
開始できることを示すように更新される。次のアクティ
ビティ・プログラム432が、自動的に実行されるアク
ティビティ・プログラム432である場合、FlowM
arkアプリケーション342'は、FlowMark
データベース438内にアクティビティのインスタンス
を作成し、PECが活動状態であるかどうかを検査し、
アクティビティをPECにディスパッチし、アクティビ
ティが走行中であることを示すようにFlowMark
データベース438を更新する。PECは、次に走行す
るアクティビティとして登録されているアクティビティ
を始動し、適当なアクティビティ・プログラム432
が、完了するまで走行する。
【0112】上で注記したように、自動車レンタル要求
を処理するのに必要なアクティビティの一部を、人間の
対話または介入を必要とするようにモデル化することが
できる。たとえば、必要な場合には、自動車の予約要求
を検査するために、人間のレンタ・カー代理人を必要と
することができる。その代わりに、要求された自動車が
要求された位置で使用可能でない場合に、別の位置から
適当な自動車を移動するために人間の代理人に連絡する
ことができる。ウェブ・クライアントの自動車の要求の
結果は、レンタ・カー代理店が要求された日に宛先の都
市で使用可能な要求された自動車を有するか否かの2つ
がありえる。FlowMarkデータベースへの照会に
よって使用可能性を検査した後に、正しいアクティビテ
ィ・プログラムが開始される。
【0113】この例では、アクティビティ・プログラム
432が、FlowMarkユーザのワーク・リストの
項目を生成し、FlowMarkユーザ、この場合では
レンタ・カー代理人が、アクティビティを手動で始動し
なければならない。レンタ・カー代理人は、ウェブ・ブ
ラウザ212を使用して、FlowMark実行時クラ
イアント・ウェブ・ページにアクセスする。レンタ・カ
ー代理人用の適当なウェブ・ページを生成するのに必要
なHTMLコードは、図16に示されたコードに類似し
たものになるはずである。レンタ・カー代理人は、自分
のキーを入力し、「Work with Work Items(ワーク項目
に関する作業)」を選択し、発行ボタンをクリックす
る。このラジオボタンは、図16のHTMLに<INPUT T
YPE="radio" NAME="wf-cgi-html" VALUE="/exm/html/ex
mp5ewi.htm" CHECKED>という行があるので、特定のHT
MLテンプレートすなわちexmp5ewi.htmに関連する。
【0114】やはり、前に述べたように、ウェブ・サー
バ・アプリケーション222は、ウェブ・ブラウザ21
2から生成されたpostデータ・ストリームを受信す
る。CGI420は保護されているので、もう1つのR
EALM要求を発行し、応答を得なければならない。前
と同様に、このREALM要求では、レンタ・カー代理
人がパスワードとユーザIDを入力することが必要であ
る。ウェブ・ブラウザ212の将来の実施態様のいくつ
かでは、ウェブ・サーバ・アプリケーション222に送
信されるデータ・ストリームにウェブ・ブラウザ212
が何らかの形の認証データを挿入する機構が設けられる
可能性が高いことに留意されたい。認証データを収集
し、ウェブ・ブラウザ212からウェブ・サーバ・アプ
リケーション222に送信するための方法及び技法のす
べてが、本発明の範囲に含まれる。一般に、各ウェブ実
行時クライアントは、ウェブ上でのユーザIDとパスワ
ードを知っていなければならない。どの場合でも、ウェ
ブ・ブラウザ212は、ウェブのユーザIDとパスワー
ドを記憶し、この情報をウェブ・サーバ・アプリケーシ
ョン222に送信する。前と同様に、ウェブ・サーバ・
アプリケーション222は、ウェブ・ユーザID及びパ
スワードを使用して、ウェブ・クライアントを認証し、
CGI420へのアクセス権を得る。レンタ・カー代理
人が認証された後に、CGI420が、上の例のHTM
L言語、<FORM ACTION="/cgi-prot/exmp5cgi.exe" METH
OD="POST">を介して呼び出される。CGI420は、s
tdinを介してウェブ・サーバ・アプリケーション2
22からpostデータ・ストリームを受け取る。この
データ・ストリームは、通常は図17の例に似た外見に
なる。
【0115】データ・ストリームの発行(wf-cgisubmi
t)の値が0なので、CGI420は、指定されたテン
プレート(exmp5ewi.htm)を取り出し、HTML変数に
ついてテンプレートを解析し、解析された変数を、環境
データ及び制御情報と共にFMIG430に渡す。CG
I420が処理を開始する前にテンプレートを生成する
のに使用されるHTMLコードの例は、図18及び図1
9に類似するはずである。
【0116】FMIG430は、データ・ストリームか
らレンタ・カー代理人のキー値(webfmagent)とウェブ
・ユーザIDを取り出し、この情報を使用して、レンタ
・カー代理人が使用を許可されているFlowMark
ユーザIDを、FlowMarkデータベース438か
ら見つける。レンタ・カー代理人は、まだFlowMa
rk450にログ・インしていないので、FMIG43
0は、FlowMarkデータベース438内の相関す
るFlowMark情報を使用してFlowMark4
50にログ・インする。FMIG430は、FlowM
ark API436を使用して、ユーザによって前に
入力された、自動車レンタル要求に関連する情報(すな
わち、wf-api-item-id、wf-api-item-descrip、wf-api-
item-stateなど)を取り出し、まだFMIG430に接
続され、FMIG430からのデータを待っているCG
I420のためのメッセージにこのデータを書式化す
る。このデータは、FMIG430を介してCGI42
0に渡される。データがCGI420に送られた後に、
CGI420は、FMIG430からの切離しを行い、
受け取ったデータの処理を開始する。CGI420は、
FMIG430からの情報を取り、変数を処理し、その
情報を、クライアント・ワークステーション210に表
示される適当なテンプレートに置く。CGI420が処
理を完了した後のHTMLコードの例を、図20、図2
1及び図22に示す。図20、図21及び図22に示さ
れたHTMLコードは、クライアント・ワークステーシ
ョン210上でレンタ・カー代理人用のワーク・リスト
のワーク項目の出力画面を描画するのに使用される。レ
ンタ・カー代理人は、FlowMark450によって
生成され、ウェブ・ブラウザ212によって表示された
ワーク項目のリストを見る。レンタ・カー代理人は、表
示されたワーク項目のうちの1つを選択し、「start wo
rk item(ワーク項目開始)」ボタンをクリックし、「p
erform action(アクション実行)」ボタンをクリック
する。レンタ・カー代理人によるこれらの動作によっ
て、ウェブ・ユーザID及びパスワードの情報を含む、
ウェブ・サーバ・アプリケーション222へのデータ・
ストリームが生成される。ウェブ・ユーザID及びパス
ワードは、ウェブ・サーバ・アプリケーション222に
よって保持され、レンタ・カー代理人がこの情報を再入
力する必要はない。ウェブ・サーバ・アプリケーション
222は、記憶したユーザID及びパスワードを使用し
て、レンタ・カー代理人を認証し、CGI420へのア
クセス権を得る。ウェブ・サーバ・アプリケーション2
22は、前に使用したものに類似したHTMLコード、
<FORM ACTION="/cgi-prot/exmp5cgi.exe" METHOD="POS
T">を用いてCGI420を呼び出し、CGI420
は、ウェブ・ブラウザ212からpostデータを受信
する。postデータは、stdinを介してCGI4
20によって受信されるが、図23に示されたデータに
類似する。
【0117】この場合、レンタ・カー代理人がワーク項
目開始の要求を発行しているので、submit変数の値は3
に等しい。CGI420は、指定されたテンプレート
(この場合はexmp5ewi.htm)を検索し、HTML変数に
ついてテンプレートを解析し、これらの変数を、データ
・ストリーム、環境データ及び制御情報と共にFMIG
430に渡す。この時点で制御はFMIG430に渡さ
れるが、CGI420は、FMIG430に接続された
ままで、FMIG430からデータが返されるのを待
つ。FMIG430は、CGI420が送った変数を使
用して、レンタ・カー代理人を認証する。レンタ・カー
代理人は、すでにFlowMark450にログ・オン
しているので、FMIG430は、レンタ・カー代理人
をもう一度ログ・オンする必要はない。FMIG430
は、データ・ストリームを解析し、ワーク項目(wf-api
-item)開始の要求を見つけ、ワーク項目の処理を開始
するためにFlowMark API436を発行す
る。ワーク項目は、HTML変数を用いてWWWコンテ
キストで送信されているので、FMIG430は、アク
ティビティ・プログラムがWWW API434を使用
してウェブ・クライアントとの会話を有することを知っ
ている。FMIG430は、このウェブ・クライアント
のハンドルを生成し、ハンドル、プロセス・インスタン
ス名、アクティビティ名、ユーザIDなどを内部キャッ
シュに入力する。また、FMIG430は、HTML変
数情報を保管し、その結果、会話が行われる時にHTM
L変数を復元できるようにする。その後、FMIG43
0は、WWW API434の接続を待つ。
【0118】要求されたワーク項目(wf-api-item)を
開始するFlowMark API436に応答して、
FlowMarkは、FlowMarkデータベース4
38内にアクティビティのインスタンスを作成し、PE
Cが活動状態であるかどうかを検査し、アクティビティ
をPECにディスパッチし、FlowMarkデータベ
ース438を更新してアクティビティが走行中であるこ
とを示す。PECは、このプロセスで次のアクティビテ
ィに登録されているアクティビティ・プログラム432
を始動する。アクティビティ・プログラムは、完了まで
走行する。
【0119】アクティビティ・プログラム432は、F
lowMark APIを使用して、FlowMark
入力データ・コンテナから入力データを取り出す。アク
ティビティ・プログラムは、WWW API434にO
pen APIを発行することによってウェブ・クライ
アントとの会話をオープンする。Open APIによ
って、プロセス・インスタンス、アクティビティ名、F
lowMarkユーザIDなどの情報を含む、FMIG
430用のOpen要求メッセージが生成される。FM
IG430は、この情報を受け取り、内部データ・キャ
ッシュ内の適当なプロセス・インスタンス、アクティビ
ティ名及びユーザIDを見つけることによって、ウェブ
・クライアントを照合する。前と同様に、FMIG43
0は、会話識別子も生成し、この識別子を内部キャッシ
ュに記憶する。FMIG430は、応答メッセージでW
WW API434に会話識別子を送り、WWW AP
I434は、FMIG430からの切離しを行い、会話
識別子をアクティビティ・プログラム432に返す。こ
の時点から、会話識別子が、このウェブ・クライアント
及びこのプロセス・インスタンスを扱うすべてのWWW
API434の発行に含まれるようになる。会話識別
子は、この会話がクローズされるまで有効になる。アク
ティビティ・プログラム432は、WWW API43
4にSendAPIを発行して、ウェブ・クライアント
へのHTML画面を生成する。アクティビティ・プログ
ラム432は、データ型としてHTMLテンプレートを
指定し、その結果、CGI420に、テンプレートを解
析し、アクティビティ・プログラム432によって送ら
れたデータを用いて変数を置換することを知らせる。ア
クティビティ・プログラム432は、テンプレートの位
置と、各変数の置換のためのテキストを指定する。
【0120】Send APIによって、FMIG43
0に対する送信要求が生成され、データが送信される。
FMIG430は、送信要求に含まれる会話識別子と適
当なウェブ・クライアントを突合せ、アクティビティ・
プログラム432からのデータ、データ型及びハンドル
を、まだ接続されているCGI420に送る。この時点
で、CGI420は、FMIG430からの切離しを行
い、受け取ったデータの処理を開始する。FMIG43
0は、WWW API434に応答し、WWWAPI4
34も、FMIG430からの切離しを実行する。WW
W API434は、アクティビティ・プログラム43
2に戻りコードを送る。CGI420は、FMIG43
0から送られたデータを使用して、顧客の要求を満たす
ために使用可能な自動車に関する情報を含む画面を作成
する。さらに、CGI420は、ウェブ・サーバ・アプ
リケーション222と通信しているので、CGI420
は、隠された変数「wf-fmig-handle」と、最初のHTM
L画面からのwf-fmigキーを、新しい画面のHTMLコ
ードに挿入する。その後、CGI420は、テンプレー
トを解析し、「wf-」変数を処理して、適当な位置に情
報を書き込む。テンプレート・ファイルのHTMLコー
ドは、図24に示されたHTMLコードに類似した外見
になる。CGI420が処理を終了した後には、ファイ
ル内のHTMLコードは、図25のHTMLコードに類
似した外見になる。これは、ウェブ・サーバ・アプリケ
ーション222が、クライアント・ワークステーション
210上のレンタ・カー代理人の画面を描画するのに使
用されるHTMLコードである。その間に、アクティビ
ティ・プログラム432は、ReceiveのWWWA
PI434を発行して、ウェブ・クライアントからデー
タを受信している。レンタ・カー代理人は、この自動車
レンタル要求を満たすために予約する自動車を選択し、
「submit process(プロセス発行)」ボタンをクリック
する。ウェブ・ブラウザ212、ウェブ・サーバ・アプ
リケーション222、CGI420、FMIG430及
びFlowMark450の間の通信処理は、上の説明
と同様に行われる。最終的に、選択された自動車が、F
lowMarkデータベース438内で更新され、会話
が終了する。自動車レンタル予約プロセス・インスタン
スは、この時点で完了するので、FlowMark45
0は、FlowMarkデータベース438からこのプ
ロセス・インスタンスを除去する。
【0121】同様のイベントのシーケンスが、要求され
た位置に使用可能なレンタ・カーがない状況でも発生す
る。唯一の相違は、この場合、要求された都市に条件を
満たす自動車がないので、レンタ・カー代理人の画面
に、使用可能な自動車に関する情報が含まれないことで
ある。この画面には、代替位置にある、顧客の要求に一
致する自動車を移動するオプションが含まれるはずであ
る。
【0122】その間に、アクティビティ・プログラム4
32は、Disconnect APIを発行してい
る。Disconnect APIによって、会話識別
子、プロセス・インスタンス、アクティビティ名、Fl
owMarkユーザIDなどの情報を含む、FMIG4
30に関する切断要求メッセージが生成される。FMI
G430は、この情報を受け取り、内部キャッシュ内の
対応する項目を突き止め、この情報のすべてを、アクテ
ィビティ・プログラム432の「切断」状況と共に記録
する。FMIG430は、WWW API434にOK
の応答メッセージを送り、WWW API434は、F
MIG430からの切離しを行い、アクティビティ・プ
ログラム432に戻りコードを送る。アクティビティ・
プログラム432は、戻りコードを検査し、切断API
が成功裡に記録されたことを検査する。アクティビティ
・プログラム432は、切断されたプロセスを後程復元
するために、会話識別子と状況情報を局所データベース
に保管する。このアクティビティは、実際に完了するこ
となくできる限り進行しているので、制御はPECに戻
される。アクティビティは完了していないので、PEC
は、FlowMarkデータベース438を更新して、
アクティビティが再始動の準備ができていることを示
す。FlowMarkに関しては、これは「手動始動」
アクティビティである。このアクティビティが、作動可
能であり、手動始動であるので、FMIG430は、後
程、レンタ・カー代理人からのデータが使用可能になっ
た時に、FlowMark API436を発行して、
アクティビティを再始動することができる。レンタ・カ
ー代理人は、自動車レンタル要求を満たすために代替位
置から自動車を移動することを選択し、「発行」をクリ
ックする。データ転送とウェブ・クライアント認証の処
理は、前に説明した形で進行する。この場合、FMIG
430は、会話識別子を検査した時に、アクティビティ
の状況が「切断」であることを知る。FMIG430
は、FlowMark API436を発行して、アク
ティビティ・プログラム432を再始動する。したがっ
て、アクティビティ・プログラム432が再始動され、
前と同様に、FlowMark450がプロセス・イン
スタンスを作成し、FlowMarkデータベース43
8を更新する。PECが、アクティビティ・プログラム
432を始動し、必要なデータが、FMIG430から
転送される。この時点で、アクティビティ・プログラム
432は、完了まで走行することができる。どのレンタ
・カーをどの位置から移動するかを判定し、類似したシ
ーケンス及び並びの通信によって、このデータをレンタ
・カー代理人からFlowMark450へ送ることが
可能である。
【0123】上に示した例からわかるように、WWW上
でさまざまなソフトウェア・アプリケーションにアクセ
スするための共通ユーザ・インターフェースを提供する
ことによって、高い効率と共に高い生産性が可能にな
る。ユーザがさまざまなソフトウェア・アプリケーショ
ンへのアクセス権を得るのに必要な訓練の長さと量の両
方を減らしつつ、より多くのソフトウェア・アプリケー
ションを使用するための柔軟性も得られる。これらの長
所のすべてが、競争力があり、市場で成功するビジネス
を可能にする。
【0124】本発明の好ましい実施例に関して本発明を
具体的に図示し、説明してきたが、当業者であれば、本
発明の趣旨及び範囲から逸脱することなく、形態及び詳
細におけるさまざまな変更を行うことができることを理
解するであろう。
【0125】まとめとして、本発明の構成に関して以下
の事項を開示する。
【0126】(1)少なくとも1つの中央処理装置(C
PU)と、CPUに結合されたメモリと、メモリ内に常
駐し、少なくとも1つのCPUによって実行され、共通
ユーザ・インターフェースを介して複数のウェブ・ブラ
ウザへまたはこれらからデータを送受する能力を有し、
データの識別及び追跡のために識別子機構を使用する、
トランザクション・サポート機構とを含む、ワールド・
ワイド・ウェブ上で複数のウェブ・ブラウザとソフトウ
ェア・アプリケーションとの間で通信するための共通ユ
ーザ・インターフェースを提供するコンピュータ・シス
テム。 (2)さらに、セキュリティ機構を含み、セキュリティ
機構が、メモリ内に常駐し、少なくとも1つのCPUに
よって実行され、セキュリティ機構が、ソフトウェア・
アプリケーションと複数のウェブ・ブラウザとの間に結
合され、ソフトウェア・アプリケーションと複数のウェ
ブ・ブラウザとの間のインターフェースを提供し、セキ
ュリティ機構が、複数のウェブ・ブラウザからユーザ入
力を受け取り、セキュリティ機構が、受け取った入力に
対応するソフトウェア・アプリケーションの認証パラメ
ータを取り出す、上記(1)のコンピュータ・システ
ム。 (3)さらに、インターフェース機構を含み、インター
フェース機構が、少なくとも1つの変数を処理するため
のゲートウェイ機構を含み、ゲートウェイ機構が、メモ
リ内に常駐し、少なくとも1つのCPUによって実行さ
れ、ゲートウェイ機構が、ソフトウェア・アプリケーシ
ョンの再プログラミングを必要としない、複数のウェブ
・ブラウザとソフトウェア・アプリケーションとの間の
通信のための汎用共通ゲートウェイ・インターフェース
を含む、上記(1)のコンピュータ・システム。 (4)さらに、切断機構を含み、切断機構が、メモリ内
に常駐し、少なくとも1つのCPUによって実行され、
切断機構が、ソフトウェア・アプリケーション・プロセ
スが再開される時にデータを取り出すことができるよう
に、ソフトウェア・アプリケーション・プロセスが中止
される時に、複数のウェブ・ブラウザのうちの1つとソ
フトウェア・アプリケーション・プロセスとの間の会話
のそれぞれに関連する状態データ及び会話識別子を記憶
する、上記(1)のコンピュータ・システム。 (5)メモリ内に常駐し、少なくとも1つのCPUによ
って実行され、ソフトウェア・アプリケーションと複数
のウェブ・ブラウザとの間に結合され、ソフトウェア・
アプリケーションと複数のウェブ・ブラウザとの間のイ
ンターフェースを提供し、複数のウェブ・ブラウザから
ユーザ入力を受け取り、受け取った入力に対応するソフ
トウェア・アプリケーションの認証パラメータを取り出
す、セキュリティ機構と、少なくとも1つの変数を処理
するためのゲートウェイ機構を含み、ゲートウェイ機構
が、メモリ内に常駐し、少なくとも1つのCPUによっ
て実行され、ゲートウェイ機構が、ソフトウェア・アプ
リケーションの再プログラミングを必要としない、複数
のウェブ・ブラウザとソフトウェア・アプリケーション
との間の通信のための汎用共通ゲートウェイ・インター
フェースを含む、インターフェース機構と、メモリ内に
常駐し、少なくとも1つのCPUによって実行され、ソ
フトウェア・アプリケーション・プロセスが再開される
時にデータを取り出すことができるように、ソフトウェ
ア・アプリケーション・プロセスが中止される時に、複
数のウェブ・ブラウザのうちの1つとソフトウェア・ア
プリケーション・プロセスとの間の会話のそれぞれに関
連する状態データ及び会話識別子を記憶する、切断機構
とをさらに含む、上記(1)のコンピュータ・システ
ム。 (6)トランザクション・サポート機構が、さらに、ソ
フトウェア・アプリケーションへのネイティブ・インタ
ーフェースと通信するための機構を含む、上記(1)の
コンピュータ・システム。 (7)トランザクション・サポート機構が、ウェブ・サ
ーバ・アプリケーション及びソフトウェア・アプリケー
ションと通信するアプリケーション・ゲートウェイを含
み、アプリケーション・ゲートウェイが、メモリ内に常
駐し、複数のCPUのうちの少なくとも1つによって実
行され、アプリケーション・ゲートウェイが、識別子機
構を含み、識別子機構が、複数のウェブ・ブラウザのそ
れぞれのために識別子を生成し、ソフトウェア・アプリ
ケーションからのデータを、複数のウェブ・ブラウザの
うちの識別子に対応する選択された1つに経路指定す
る、上記(1)のコンピュータ・システム。 (8)アプリケーション・ゲートウェイが、複数のウェ
ブ・サーバから受け取るデータを処理し、アプリケーシ
ョン・プログラムから受け取るデータを処理する、上記
(7)のコンピュータ・システム。 (9)ソフトウェア・アプリケーションが、プロセス・
エンジニアリング・ソフトウェア・アプリケーションで
ある、上記(1)のコンピュータ・システム。 (10)さらに、ソフトウェア・アプリケーションの指
示の下で実行される少なくとも1つのアクティビティ・
プログラムと通信する少なくとも1つのアクティビティ
・プログラム・インターフェース(API)を含み、少
なくとも1つのアクティビティ・プログラム・インター
フェースが、少なくとも1つのアクティビティ・プログ
ラムとアプリケーション・ゲートウェイとの間で通信す
る、上記(1)のコンピュータ・システム。 (11)複数の中央処理装置(CPU)と、複数のCP
Uに結合されたメモリと、それぞれがメモリ内に常駐
し、複数のCPUのうちの少なくとも1つによって実行
される、複数のウェブ・ブラウザと、複数のウェブ・ブ
ラウザのうちの少なくとも1つと通信する、メモリ内に
常駐し、複数のCPUのうちの少なくとも1つによって
実行される、ウェブ・サーバ・アプリケーションと、メ
モリ内に常駐し、複数のCPUのうちの少なくとも1つ
によって実行される、ソフトウェア・アプリケーション
と、ウェブ・サーバ・アプリケーション及びソフトウェ
ア・アプリケーションへのネイティブ・インターフェー
スと通信する、メモリ内に常駐し、複数のCPUのうち
の少なくとも1つによって実行される、アプリケーショ
ン・ゲートウェイとを含み、アプリケーション・ゲート
ウェイが、複数のウェブ・ブラウザのそれぞれのために
識別子を生成し、ソフトウェア・アプリケーションから
のデータを、複数のウェブ・ブラウザのうちの識別子に
対応する選択された1つに経路指定する、識別子機構を
含むワールド・ワイド・ウェブ上でウェブ・ブラウザと
ソフトウェア・アプリケーションとの間で通信するため
の共通ユーザ・インターフェースを提供するコンピュー
タ・システム。 (12)アプリケーション・ゲートウェイが、ウェブ・
サーバ・アプリケーション及びアプリケーション・プロ
グラムから受け取るデータを処理する、上記(11)の
コンピュータ・システム。 (13)ソフトウェア・アプリケーションが、プロセス
・エンジニアリング・ソフトウェア・アプリケーション
である、上記(11)のコンピュータ・システム。 (14)さらに、ソフトウェア・アプリケーションの指
示の下で実行される少なくとも1つのアクティビティ・
プログラムと通信する少なくとも1つのアクティビティ
・プログラム・インターフェース(API)を含み、少
なくとも1つのアクティビティ・プログラム・インター
フェースが、少なくとも1つのアクティビティ・プログ
ラムとアプリケーション・ゲートウェイとの間で通信す
る、上記(11)のコンピュータ・システム。 (15)ウェブ・サーバ・アプリケーションが、複数の
ウェブ・ブラウザのうちの1つから渡された認証データ
から、選択されたウェブ・ブラウザがウェブ・サーバ・
アプリケーションへのアクセスを許可されるかどうかを
判定する認証機構を含み、ウェブ・サーバが、複数のウ
ェブ・ブラウザから受け取るデータ及びアプリケーショ
ン・ゲートウェイから受け取るデータを処理する上記
(11)のコンピュータ・システム。 (16)ウェブ・ブラウザが、複数のCPUのうちの少
なくとも1つによってクライアント・ワークステーショ
ン上で実行される、上記(11)のコンピュータ・シス
テム。 (17)ウェブ・サーバ・アプリケーションが、複数の
CPUのうちの少なくとも1つによって、ウェブ・サー
バ・コンピュータ上で実行される、上記(11)のコン
ピュータ・システム。 (18)アプリケーション・ゲートウェイが、複数のC
PUのうちの少なくとも1つによって、ウェブ・サーバ
・コンピュータ上で実行される、上記(11)のコンピ
ュータ・システム。 (19)アプリケーション・ゲートウェイが、複数のC
PUのうちの少なくとも1つによって、第1のコンピュ
ータ上で実行される、上記(11)のコンピュータ・シ
ステム。 (20)ソフトウェア・アプリケーションが、複数のC
PUのうちの少なくとも1つによって、第2のコンピュ
ータ上で実行される、上記(11)のコンピュータ・シ
ステム。 (21)アプリケーション・ゲートウェイが、複数のC
PUのうちの少なくとも1つによって、第2のコンピュ
ータ上で実行される、上記(11)のコンピュータ・シ
ステム。 (22)複数の中央処理装置(CPU)を提供するステ
ップと、複数のCPUに結合されたメモリを提供するス
テップと、複数のCPUのうちの少なくとも1つによっ
て、メモリ内に常駐する複数のウェブ・ブラウザのうち
の少なくとも1つを実行するステップと、メモリ内に常
駐し、複数のCPUのうちの少なくとも1つによって実
行される、ウェブ・サーバ・アプリケーションを提供す
るステップと、メモリ内に常駐し、複数のCPUのうち
の少なくとも1つによって実行される、ソフトウェア・
アプリケーションを提供するステップと、メモリ内に常
駐し、複数のCPUのうちの少なくとも1つによって実
行される、アプリケーション・ゲートウェイを提供する
ステップと、認証データ及び環境データをウェブ・サー
バ・アプリケーションに送ることによって、複数のウェ
ブ・ブラウザのうちの選択された1つが、ソフトウェア
・アプリケーションへのアクセスを開始するステップ
と、認証データが選択されたウェブ・ブラウザにウェブ
・サーバ・アプリケーションへのアクセスを許可する場
合に、環境データを処理するステップと、処理された環
境データをアプリケーション・ゲートウェイに出力する
ステップと、選択されたウェブ・ブラウザと、ソフトウ
ェア・アプリケーションによって実行される所望のプロ
セスとに対応する識別子を生成するステップと、メモリ
内に常駐し、少なくとも1つのCPUによって実行さ
れ、ウェブ・ブラウザからユーザ入力を受け取り、受け
取った入力に対応するソフトウェア・アプリケーション
の認証パラメータを取り出す、セキュリティ機構を提供
するステップと、メモリ内に常駐し、少なくとも1つの
CPUによって実行され、ウェブ・ブラウザとソフトウ
ェア・アプリケーションとの間で変数及びテンプレート
を送受する、インターフェース機構を提供するステップ
と、メモリ内に常駐し、少なくとも1つのCPUによっ
て実行され、会話が再開されてソフトウェア・アプリケ
ーションによって所望のプロセスが実行される時に状態
データを取り出すことができるように、会話が中止され
る時にウェブ・ブラウザとソフトウェア・アプリケーシ
ョンとの間の会話に関連する状態及び会話識別子を記憶
する、切断機構を提供するステップと、所望のプロセス
を実行した結果を、識別子を有するアプリケーション・
ゲートウェイに返すステップと、識別子に基づいて、複
数のブラウザのうちのどれに結果を送らなければならな
いかを決定するステップと、アプリケーション・ゲート
ウェイからウェブ・サーバ・アプリケーションに結果を
送るステップと、識別子に対応する選択された1つのウ
ェブ・ブラウザに、サーバから結果を送るステップとを
含む、ワールド・ワイド・ウェブ上でウェブ・ブラウザ
とソフトウェア・アプリケーションとの間で通信するた
めの共通ユーザ・インターフェースを提供するための、
コンピュータ実施される方法。 (23)ソフトウェア・アプリケーションが、プロセス
・エンジニアリング・ソフトウェア・アプリケーション
である、上記(22)の方法。 (24)ウェブ・ブラウザを走行させるクライアント・
ワークステーションと、ウェブ・サーバ・アプリケーシ
ョンを走行させるウェブ・サーバ・コンピュータと、ア
プリケーション・ゲートウェイを走行させる第1コンピ
ュータと、ソフトウェア・アプリケーションを走行させ
る第2コンピュータと、ウェブ・ブラウザとウェブ・サ
ーバ・アプリケーションとの間でデータを伝送できるよ
うにする、ウェブ・ブラウザとウェブ・サーバ・アプリ
ケーションとの間の通信機構と、ウェブ・サーバ・アプ
リケーションとアプリケーション・ゲートウェイとの間
でデータを伝送できるようにする、ウェブ・サーバ・ア
プリケーションとアプリケーション・ゲートウェイとの
間の通信機構と、アプリケーション・ゲートウェイとソ
フトウェア・アプリケーションとの間でデータを伝送で
きるようにする、アプリケーション・ゲートウェイとソ
フトウェア・アプリケーションとの間の通信機構と、ウ
ェブ・ブラウザとソフトウェア・アプリケーションとの
間で変数及びテンプレートを送受する、インターフェー
ス機構と、ウェブ・ブラウザとソフトウェア・アプリケ
ーションとの間に結合され、ウェブ・ブラウザとソフト
ウェア・アプリケーションとの間のインターフェースを
提供する、セキュリティ機構と、会話が再開されてソフ
トウェア・アプリケーションによって所望のプロセスが
実行される時に状態データを取り出すことができるよう
に、会話が中止される時にウェブ・ブラウザとソフトウ
ェア・アプリケーションとの間の会話に関連する状態及
び会話識別子を記憶する、切断機構と、ウェブ・ブラウ
ザがワールド・ワイド・ウェブ上でソフトウェア・アプ
リケーションと通信できるようにする、複数のアプリケ
ーション・プログラミング・インターフェースとを含
む、ワールド・ワイド・ウェブ上でウェブ・ブラウザと
ソフトウェア・アプリケーションの間で通信するための
共通ユーザ・インターフェースを提供するためのシステ
ム。 (25)ソフトウェア・アプリケーションが、プロセス
・エンジニアリング・ソフトウェア・アプリケーション
である、上記(24)のシステム。 (26)ウェブ・サーバ・コンピュータが、第1コンピ
ュータを含む、上記(24)のシステム。 (27)第1コンピュータが、第2コンピュータを含
む、上記(24)のシステム。
【図面の簡単な説明】
【図1】本発明の好ましい実施例のブロック図である。
【図2】クライアント・ワークステーションとウェブ・
サーバの間のトランザクションを示すブロック図であ
る。
【図3】標準ウェブ・ブラウザからワールド・ワイド・
ウェブを介してソフトウェア・アプリケーションにアク
セスできるようにする、本発明の好ましい実施例による
システムのブロック図である。
【図4】ワールド・ワイド・ウェブを介するFlowM
arkワークフロー・アプリケーション・ソフトウェア
へのアクセスにさらに適合された、図3のシステムの詳
細なブロック図である。
【図5】共通ユーザ・インターフェースの特徴の一部を
示す、本発明の好ましい実施例による方法の流れ図であ
る。
【図6】図5のセキュリティ検査機能の処理流れ図であ
る。
【図7】図5のテンプレート/HTML変数機能の処理
流れ図である。
【図8】図5のRESUME API機能及びDISC
ONNECT API機能の処理流れ図である。
【図9】ユーザ・ライブラリの一部を表す表である。
【図10】複数ユーザー環境に拡張された時の本発明の
好ましい実施例のブロック図である。
【図11】本発明の好ましい実施例による、自動車レン
タル予約フォームの生成に使用されるHTMLコードの
例を示す図である。
【図12】本発明の好ましい実施例に従って、ウェブ・
ブラウザからのユーザ要求によって生成されるデータ・
ストリームの例を示す図である。
【図13】本発明の好ましい実施例による、予約確認テ
ンプレートの生成に使用されるHTMLコードの例を示
す図である。
【図14】本発明の好ましい実施例に従って、CGIに
よって処理された後の図10のHTMLコードの例を示
す図である。
【図15】本発明の好ましい実施例に従ってウェブ・ブ
ラウザが書式化したデータの例を示す図である。
【図16】本発明の好ましい実施例による、自動車レン
タル予約代理人用のウェブ・ページの生成に使用される
HTMLコードの例を示す図である。
【図17】本発明の好ましい実施例に従ってウェブ・サ
ーバが生成したデータの例を示す図である。
【図18】本発明の好ましい実施例による、レンタ・カ
ー代理人作業リストの生成に使用されるHTMLコード
の例を示す図である。
【図19】本発明の好ましい実施例による、レンタ・カ
ー代理人作業リストの生成に使用されるHTMLコード
の例を示す図である。
【図20】本発明の好ましい実施例に従ってCGIによ
って処理された後の図15のHTMLコードの例を示す
図である。
【図21】本発明の好ましい実施例に従ってCGIによ
って処理された後の図15のHTMLコードの例を示す
図である。
【図22】本発明の好ましい実施例に従ってCGIによ
って処理された後の図15のHTMLコードの例を示す
図である。
【図23】本発明の好ましい実施例による、ウェブ・ブ
ラウザからCIGによって受信されたデータ・ストリー
ムの例を示す図である。
【図24】本発明の好ましい実施例に従って自動車使用
可能性ページを生成するのに使用されるHTMLコード
の例を示す図である。
【図25】本発明の好ましい実施例に従ってCGIによ
って処理された後の図18のHTMLコードの例を示す
図である。
【図26】本発明の好ましい実施例を使用するソフトウ
ェア・アプリケーションとのWWWトランザクションを
記述した、処理モデル図である。
【符号の説明】
100 システム 110 中央処理装置(CPU) 130 メモリ 132 記憶位置 134 記憶位置 136 記憶位置 138 記憶位置 140 バス 150 端末インターフェース 160 補助記憶装置インターフェース 170 ワークステーション 180 直接アクセス記憶装置(DASD) 190 フロッピ・ディスク 212 ウェブ・ブラウザ 222 ウェブ・サーバ・アプリケーション 332 インターネット/アプリケーション・ゲートウ
ェイ(ゲートウェイ) 342 ソフトウェア・アプリケーション
フロントページの続き (72)発明者 ケニス・エドガー・ブラウン アメリカ合衆国55901 ミネソタ州ロチェ スターサーティーサード・ストリート ノ ースウェスト 937 (72)発明者 パーネル・ジェームズ・ダイクス アメリカ合衆国55920 ミネソタ州バイロ ン サード・アベニュー ノースウェスト 720 (72)発明者 エリック・ドゥエーン・リンドバーグ アメリカ合衆国55906 ミネソタ州ロチェ スターリバーサイド・レーン ノースイー スト 2685 (72)発明者 ダイアン・イレイン・オルソン アメリカ合衆国55901 ミネソタ州ロチェ スターナインティーンス・アベニュー ノ ースウェスト 3910 ナンバー17 (72)発明者 ジェフリー・エドワード・セルデン アメリカ合衆国32250 フロリダ州ジャク ソンヴィル・ビーチ ペンマン・ロード 920 (72)発明者 デヴォン・ダニエル・スナイダー アメリカ合衆国55906 ミネソタ州ロチェ スターグレンデール・ヒルズ・ドライブ ノースイースト 1201 (72)発明者 ジェームズ・オリン・ワルツ アメリカ合衆国55901 ミネソタ州ロチェ スターナインティーンス・ストリート ノ ースウェスト 408

Claims (27)

    【特許請求の範囲】
  1. 【請求項1】少なくとも1つの中央処理装置(CPU)
    と、 CPUに結合されたメモリと、 メモリ内に常駐し、少なくとも1つのCPUによって実
    行され、共通ユーザ・インターフェースを介して複数の
    ウェブ・ブラウザへまたはこれらからデータを送受する
    能力を有し、データの識別及び追跡のために識別子機構
    を使用する、トランザクション・サポート機構とを含
    む、ワールド・ワイド・ウェブ上で複数のウェブ・ブラ
    ウザとソフトウェア・アプリケーションとの間で通信す
    るための共通ユーザ・インターフェースを提供するコン
    ピュータ・システム。
  2. 【請求項2】さらに、セキュリティ機構を含み、セキュ
    リティ機構が、メモリ内に常駐し、少なくとも1つのC
    PUによって実行され、セキュリティ機構が、ソフトウ
    ェア・アプリケーションと複数のウェブ・ブラウザとの
    間に結合され、ソフトウェア・アプリケーションと複数
    のウェブ・ブラウザとの間のインターフェースを提供
    し、セキュリティ機構が、複数のウェブ・ブラウザから
    ユーザ入力を受け取り、セキュリティ機構が、受け取っ
    た入力に対応するソフトウェア・アプリケーションの認
    証パラメータを取り出す、請求項1のコンピュータ・シ
    ステム。
  3. 【請求項3】さらに、インターフェース機構を含み、イ
    ンターフェース機構が、少なくとも1つの変数を処理す
    るためのゲートウェイ機構を含み、ゲートウェイ機構
    が、メモリ内に常駐し、少なくとも1つのCPUによっ
    て実行され、ゲートウェイ機構が、ソフトウェア・アプ
    リケーションの再プログラミングを必要としない、複数
    のウェブ・ブラウザとソフトウェア・アプリケーション
    との間の通信のための汎用共通ゲートウェイ・インター
    フェースを含む、請求項1のコンピュータ・システム。
  4. 【請求項4】さらに、切断機構を含み、切断機構が、メ
    モリ内に常駐し、少なくとも1つのCPUによって実行
    され、切断機構が、ソフトウェア・アプリケーション・
    プロセスが再開される時にデータを取り出すことができ
    るように、ソフトウェア・アプリケーション・プロセス
    が中止される時に、複数のウェブ・ブラウザのうちの1
    つとソフトウェア・アプリケーション・プロセスとの間
    の会話のそれぞれに関連する状態データ及び会話識別子
    を記憶する、請求項1のコンピュータ・システム。
  5. 【請求項5】メモリ内に常駐し、少なくとも1つのCP
    Uによって実行され、ソフトウェア・アプリケーション
    と複数のウェブ・ブラウザとの間に結合され、ソフトウ
    ェア・アプリケーションと複数のウェブ・ブラウザとの
    間のインターフェースを提供し、複数のウェブ・ブラウ
    ザからユーザ入力を受け取り、受け取った入力に対応す
    るソフトウェア・アプリケーションの認証パラメータを
    取り出す、セキュリティ機構と、 少なくとも1つの変数を処理するためのゲートウェイ機
    構を含み、ゲートウェイ機構が、メモリ内に常駐し、少
    なくとも1つのCPUによって実行され、ゲートウェイ
    機構が、ソフトウェア・アプリケーションの再プログラ
    ミングを必要としない、複数のウェブ・ブラウザとソフ
    トウェア・アプリケーションとの間の通信のための汎用
    共通ゲートウェイ・インターフェースを含む、インター
    フェース機構と、 メモリ内に常駐し、少なくとも1つのCPUによって実
    行され、ソフトウェア・アプリケーション・プロセスが
    再開される時にデータを取り出すことができるように、
    ソフトウェア・アプリケーション・プロセスが中止され
    る時に、複数のウェブ・ブラウザのうちの1つとソフト
    ウェア・アプリケーション・プロセスとの間の会話のそ
    れぞれに関連する状態データ及び会話識別子を記憶す
    る、切断機構とをさらに含む、請求項1のコンピュータ
    ・システム。
  6. 【請求項6】トランザクション・サポート機構が、さら
    に、ソフトウェア・アプリケーションへのネイティブ・
    インターフェースと通信するための機構を含む、請求項
    1のコンピュータ・システム。
  7. 【請求項7】トランザクション・サポート機構が、ウェ
    ブ・サーバ・アプリケーション及びソフトウェア・アプ
    リケーションと通信するアプリケーション・ゲートウェ
    イを含み、アプリケーション・ゲートウェイが、メモリ
    内に常駐し、複数のCPUのうちの少なくとも1つによ
    って実行され、アプリケーション・ゲートウェイが、識
    別子機構を含み、識別子機構が、複数のウェブ・ブラウ
    ザのそれぞれのために識別子を生成し、ソフトウェア・
    アプリケーションからのデータを、複数のウェブ・ブラ
    ウザのうちの識別子に対応する選択された1つに経路指
    定する、請求項1のコンピュータ・システム。
  8. 【請求項8】アプリケーション・ゲートウェイが、複数
    のウェブ・サーバから受け取るデータを処理し、アプリ
    ケーション・プログラムから受け取るデータを処理す
    る、請求項7のコンピュータ・システム。
  9. 【請求項9】ソフトウェア・アプリケーションが、プロ
    セス・エンジニアリング・ソフトウェア・アプリケーシ
    ョンである、請求項1のコンピュータ・システム。
  10. 【請求項10】さらに、ソフトウェア・アプリケーショ
    ンの指示の下で実行される少なくとも1つのアクティビ
    ティ・プログラムと通信する少なくとも1つのアクティ
    ビティ・プログラム・インターフェース(API)を含
    み、少なくとも1つのアクティビティ・プログラム・イ
    ンターフェースが、少なくとも1つのアクティビティ・
    プログラムとアプリケーション・ゲートウェイとの間で
    通信する、請求項1のコンピュータ・システム。
  11. 【請求項11】複数の中央処理装置(CPU)と、 複数のCPUに結合されたメモリと、 それぞれがメモリ内に常駐し、複数のCPUのうちの少
    なくとも1つによって実行される、複数のウェブ・ブラ
    ウザと、 複数のウェブ・ブラウザのうちの少なくとも1つと通信
    する、メモリ内に常駐し、複数のCPUのうちの少なく
    とも1つによって実行される、ウェブ・サーバ・アプリ
    ケーションと、 メモリ内に常駐し、複数のCPUのうちの少なくとも1
    つによって実行される、ソフトウェア・アプリケーショ
    ンと、 ウェブ・サーバ・アプリケーション及びソフトウェア・
    アプリケーションへのネイティブ・インターフェースと
    通信する、メモリ内に常駐し、複数のCPUのうちの少
    なくとも1つによって実行される、アプリケーション・
    ゲートウェイとを含み、アプリケーション・ゲートウェ
    イが、複数のウェブ・ブラウザのそれぞれのために識別
    子を生成し、ソフトウェア・アプリケーションからのデ
    ータを、複数のウェブ・ブラウザのうちの識別子に対応
    する選択された1つに経路指定する、識別子機構を含む
    ワールド・ワイド・ウェブ上でウェブ・ブラウザとソフ
    トウェア・アプリケーションとの間で通信するための共
    通ユーザ・インターフェースを提供するコンピュータ・
    システム。
  12. 【請求項12】アプリケーション・ゲートウェイが、ウ
    ェブ・サーバ・アプリケーション及びアプリケーション
    ・プログラムから受け取るデータを処理する、請求項1
    1のコンピュータ・システム。
  13. 【請求項13】ソフトウェア・アプリケーションが、プ
    ロセス・エンジニアリング・ソフトウェア・アプリケー
    ションである、請求項11のコンピュータ・システム。
  14. 【請求項14】さらに、ソフトウェア・アプリケーショ
    ンの指示の下で実行される少なくとも1つのアクティビ
    ティ・プログラムと通信する少なくとも1つのアクティ
    ビティ・プログラム・インターフェース(API)を含
    み、少なくとも1つのアクティビティ・プログラム・イ
    ンターフェースが、少なくとも1つのアクティビティ・
    プログラムとアプリケーション・ゲートウェイとの間で
    通信する、請求項11のコンピュータ・システム。
  15. 【請求項15】ウェブ・サーバ・アプリケーションが、
    複数のウェブ・ブラウザのうちの1つから渡された認証
    データから、選択されたウェブ・ブラウザがウェブ・サ
    ーバ・アプリケーションへのアクセスを許可されるかど
    うかを判定する認証機構を含み、 ウェブ・サーバが、複数のウェブ・ブラウザから受け取
    るデータ及びアプリケーション・ゲートウェイから受け
    取るデータを処理する請求項11のコンピュータ・シス
    テム。
  16. 【請求項16】ウェブ・ブラウザが、複数のCPUのう
    ちの少なくとも1つによってクライアント・ワークステ
    ーション上で実行される、請求項11のコンピュータ・
    システム。
  17. 【請求項17】ウェブ・サーバ・アプリケーションが、
    複数のCPUのうちの少なくとも1つによって、ウェブ
    ・サーバ・コンピュータ上で実行される、請求項11の
    コンピュータ・システム。
  18. 【請求項18】アプリケーション・ゲートウェイが、複
    数のCPUのうちの少なくとも1つによって、ウェブ・
    サーバ・コンピュータ上で実行される、請求項11のコ
    ンピュータ・システム。
  19. 【請求項19】アプリケーション・ゲートウェイが、複
    数のCPUのうちの少なくとも1つによって、第1のコ
    ンピュータ上で実行される、請求項11のコンピュータ
    ・システム。
  20. 【請求項20】ソフトウェア・アプリケーションが、複
    数のCPUのうちの少なくとも1つによって、第2のコ
    ンピュータ上で実行される、請求項11のコンピュータ
    ・システム。
  21. 【請求項21】アプリケーション・ゲートウェイが、複
    数のCPUのうちの少なくとも1つによって、第2のコ
    ンピュータ上で実行される、請求項11のコンピュータ
    ・システム。
  22. 【請求項22】複数の中央処理装置(CPU)を提供す
    るステップと、 複数のCPUに結合されたメモリを提供するステップ
    と、 複数のCPUのうちの少なくとも1つによって、メモリ
    内に常駐する複数のウェブ・ブラウザのうちの少なくと
    も1つを実行するステップと、 メモリ内に常駐し、複数のCPUのうちの少なくとも1
    つによって実行される、ウェブ・サーバ・アプリケーシ
    ョンを提供するステップと、 メモリ内に常駐し、複数のCPUのうちの少なくとも1
    つによって実行される、ソフトウェア・アプリケーショ
    ンを提供するステップと、 メモリ内に常駐し、複数のCPUのうちの少なくとも1
    つによって実行される、アプリケーション・ゲートウェ
    イを提供するステップと、 認証データ及び環境データをウェブ・サーバ・アプリケ
    ーションに送ることによって、複数のウェブ・ブラウザ
    のうちの選択された1つが、ソフトウェア・アプリケー
    ションへのアクセスを開始するステップと、 認証データが選択されたウェブ・ブラウザにウェブ・サ
    ーバ・アプリケーションへのアクセスを許可する場合
    に、環境データを処理するステップと、 処理された環境データをアプリケーション・ゲートウェ
    イに出力するステップと、 選択されたウェブ・ブラウザと、ソフトウェア・アプリ
    ケーションによって実行される所望のプロセスとに対応
    する識別子を生成するステップと、 メモリ内に常駐し、少なくとも1つのCPUによって実
    行され、ウェブ・ブラウザからユーザ入力を受け取り、
    受け取った入力に対応するソフトウェア・アプリケーシ
    ョンの認証パラメータを取り出す、セキュリティ機構を
    提供するステップと、 メモリ内に常駐し、少なくとも1つのCPUによって実
    行され、ウェブ・ブラウザとソフトウェア・アプリケー
    ションとの間で変数及びテンプレートを送受する、イン
    ターフェース機構を提供するステップと、 メモリ内に常駐し、少なくとも1つのCPUによって実
    行され、会話が再開されてソフトウェア・アプリケーシ
    ョンによって所望のプロセスが実行される時に状態デー
    タを取り出すことができるように、会話が中止される時
    にウェブ・ブラウザとソフトウェア・アプリケーション
    との間の会話に関連する状態及び会話識別子を記憶す
    る、切断機構を提供するステップと、 所望のプロセスを実行した結果を、識別子を有するアプ
    リケーション・ゲートウェイに返すステップと、 識別子に基づいて、複数のブラウザのうちのどれに結果
    を送らなければならないかを決定するステップと、 アプリケーション・ゲートウェイからウェブ・サーバ・
    アプリケーションに結果を送るステップと、 識別子に対応する選択された1つのウェブ・ブラウザ
    に、サーバから結果を送るステップとを含む、ワールド
    ・ワイド・ウェブ上でウェブ・ブラウザとソフトウェア
    ・アプリケーションとの間で通信するための共通ユーザ
    ・インターフェースを提供するための、コンピュータ実
    施される方法。
  23. 【請求項23】ソフトウェア・アプリケーションが、プ
    ロセス・エンジニアリング・ソフトウェア・アプリケー
    ションである、請求項22の方法。
  24. 【請求項24】ウェブ・ブラウザを走行させるクライア
    ント・ワークステーションと、 ウェブ・サーバ・アプリケーションを走行させるウェブ
    ・サーバ・コンピュータと、 アプリケーション・ゲートウェイを走行させる第1コン
    ピュータと、 ソフトウェア・アプリケーションを走行させる第2コン
    ピュータと、 ウェブ・ブラウザとウェブ・サーバ・アプリケーション
    との間でデータを伝送できるようにする、ウェブ・ブラ
    ウザとウェブ・サーバ・アプリケーションとの間の通信
    機構と、 ウェブ・サーバ・アプリケーションとアプリケーション
    ・ゲートウェイとの間でデータを伝送できるようにす
    る、ウェブ・サーバ・アプリケーションとアプリケーシ
    ョン・ゲートウェイとの間の通信機構と、 アプリケーション・ゲートウェイとソフトウェア・アプ
    リケーションとの間でデータを伝送できるようにする、
    アプリケーション・ゲートウェイとソフトウェア・アプ
    リケーションとの間の通信機構と、 ウェブ・ブラウザとソフトウェア・アプリケーションと
    の間で変数及びテンプレートを送受する、インターフェ
    ース機構と、 ウェブ・ブラウザとソフトウェア・アプリケーションと
    の間に結合され、ウェブ・ブラウザとソフトウェア・ア
    プリケーションとの間のインターフェースを提供する、
    セキュリティ機構と、 会話が再開されてソフトウェア・アプリケーションによ
    って所望のプロセスが実行される時に状態データを取り
    出すことができるように、会話が中止される時にウェブ
    ・ブラウザとソフトウェア・アプリケーションとの間の
    会話に関連する状態及び会話識別子を記憶する、切断機
    構と、 ウェブ・ブラウザがワールド・ワイド・ウェブ上でソフ
    トウェア・アプリケーションと通信できるようにする、
    複数のアプリケーション・プログラミング・インターフ
    ェースとを含む、ワールド・ワイド・ウェブ上でウェブ
    ・ブラウザとソフトウェア・アプリケーションの間で通
    信するための共通ユーザ・インターフェースを提供する
    ためのシステム。
  25. 【請求項25】ソフトウェア・アプリケーションが、プ
    ロセス・エンジニアリング・ソフトウェア・アプリケー
    ションである、請求項24のシステム。
  26. 【請求項26】ウェブ・サーバ・コンピュータが、第1
    コンピュータを含む、請求項24のシステム。
  27. 【請求項27】第1コンピュータが、第2コンピュータ
    を含む、請求項24のシステム。
JP9346401A 1996-12-23 1997-12-16 コンピュータシステム及び方法 Pending JPH10247183A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/780,015 US5892905A (en) 1996-12-23 1996-12-23 Computer apparatus and method for providing a common user interface for software applications accessed via the world-wide web
US08/780015 1996-12-23

Publications (1)

Publication Number Publication Date
JPH10247183A true JPH10247183A (ja) 1998-09-14

Family

ID=25118299

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9346401A Pending JPH10247183A (ja) 1996-12-23 1997-12-16 コンピュータシステム及び方法

Country Status (3)

Country Link
US (1) US5892905A (ja)
JP (1) JPH10247183A (ja)
KR (1) KR100294969B1 (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002268950A (ja) * 2001-03-07 2002-09-20 Sony Corp 情報管理システム、情報管理方法、および情報処理装置、情報処理方法、並びにプログラム
JP2006512806A (ja) * 2002-12-19 2006-04-13 ソニック モビリティー インコーポレイテッド 複数の管理対象エンティティーの安全な無線管理のためのプロキシ方法及びシステム
US7191393B1 (en) 1998-09-25 2007-03-13 International Business Machines Corporation Interface for providing different-language versions of markup-language resources
WO2007021884A3 (en) * 2005-08-12 2007-04-12 Microsoft Corp User-interface servicing
US7228499B1 (en) 2000-02-29 2007-06-05 Fuji Xerox Co., Ltd. Processor with separately configured display control file, CGI scripts, and processing program
JP2007519073A (ja) * 2003-10-24 2007-07-12 マイクロソフト コーポレーション 管理用ツール環境
JP4480316B2 (ja) * 1999-12-22 2010-06-16 富士通株式会社 分散処理システム

Families Citing this family (271)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5701451A (en) * 1995-06-07 1997-12-23 International Business Machines Corporation Method for fulfilling requests of a web browser
JPH09128190A (ja) * 1995-10-27 1997-05-16 Fujitsu Ltd 通信端末およびその表示制御システム
US5758324A (en) * 1995-12-15 1998-05-26 Hartman; Richard L. Resume storage and retrieval system
FR2750518B1 (fr) * 1996-07-01 1998-07-31 Bull Sa Lanceur d'applications securise a interface graphique
JP3557056B2 (ja) * 1996-10-25 2004-08-25 株式会社東芝 パケット検査装置、移動計算機装置及びパケット転送方法
US6272523B1 (en) * 1996-12-20 2001-08-07 International Business Machines Corporation Distributed networking using logical processes
US6125384A (en) * 1996-12-23 2000-09-26 International Business Machines Corporation Computer apparatus and method for communicating between software applications and computers on the world-wide web
US6144990A (en) * 1996-12-23 2000-11-07 International Business Machines Corporation Computer apparatus and method for communicating between software applications and computers on the world-wide web using universal variable handling
US6058423A (en) 1996-12-23 2000-05-02 International Business Machines Corporation System and method for locating resources in a distributed network
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
US6340978B1 (en) * 1997-01-31 2002-01-22 Making Everlasting Memories, Ltd. Method and apparatus for recording and presenting life stories
US7657835B2 (en) * 1997-01-31 2010-02-02 Making Everlasting Memories, L.L.C. Method and system for creating a commemorative presentation
US6018522A (en) * 1997-02-03 2000-01-25 Motorola, Inc. Method for providing data from an information network to subscribers of a communication system
US6134597A (en) * 1997-05-28 2000-10-17 International Business Machines Corporation CRC hash compressed server object identifier
JP3564262B2 (ja) * 1997-06-24 2004-09-08 富士通株式会社 情報管理システム及び装置
JP4046804B2 (ja) * 1997-06-26 2008-02-13 富士通株式会社 サーバの情報提供装置、サーバの情報提供プログラムを記録したコンピュータ読み取り可能な記録媒体およびサーバの情報提供方法
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
US7546346B2 (en) * 1997-07-28 2009-06-09 Juniper Networks, Inc. Workflow systems and methods for project management and information management
US5978836A (en) 1997-07-28 1999-11-02 Solectron Corporation Workflow systems and methods
US6021426A (en) * 1997-07-31 2000-02-01 At&T Corp Method and apparatus for dynamic data transfer on a web page
US6377886B1 (en) * 1997-07-31 2002-04-23 Honda Giken Kogyo Kabushiki Kaisha Navigation apparatus and medium recording program therefor
US6094659A (en) * 1997-09-26 2000-07-25 3Com Corporation Web server for use in a LAN modem
US6073166A (en) * 1997-10-14 2000-06-06 Maila Nordic Ab System for transfer of data
US6223177B1 (en) * 1997-10-22 2001-04-24 Involv International Corporation Network based groupware system
US6917962B1 (en) 1997-10-22 2005-07-12 Brokercom Inc. Web-based groupware system
US6141760A (en) * 1997-10-31 2000-10-31 Compaq Computer Corporation System and method for generating unique passwords
US6324552B1 (en) * 1997-11-25 2001-11-27 International Business Machines Corporation Browsers for focused access of data
US6338138B1 (en) * 1998-01-27 2002-01-08 Sun Microsystems, Inc. Network-based authentication of computer user
US6357010B1 (en) * 1998-02-17 2002-03-12 Secure Computing Corporation System and method for controlling access to documents stored on an internal network
US6292185B1 (en) * 1998-04-27 2001-09-18 C.C.R., Inc. Method and apparatus for tailoring the appearance of a graphical user interface
US6965999B2 (en) * 1998-05-01 2005-11-15 Microsoft Corporation Intelligent trust management method and system
US6363486B1 (en) 1998-06-05 2002-03-26 Intel Corporation Method of controlling usage of software components
US6308275B1 (en) * 1998-07-10 2001-10-23 At Home Corporation Web host providing for secure execution of CGI programs and method of doing the same
US6356964B1 (en) * 1998-08-31 2002-03-12 International Business Machines Corporation Method and apparatus for enabling location-independent and location-transparent interaction between a program and a user
US6415316B1 (en) 1998-09-01 2002-07-02 Aidministrator Nederland B.V. Method and apparatus for implementing a web page diary
US6289362B1 (en) 1998-09-01 2001-09-11 Aidministrator Nederland B.V. System and method for generating, transferring and using an annotated universal address
US6405224B1 (en) 1998-09-01 2002-06-11 Aidministrator Nederland B.V. Method and apparatus for HTML control
US6295639B1 (en) * 1998-09-01 2001-09-25 Aidministrator Nederland B.V. Securely accessing a file system of a remote server computer
US6606663B1 (en) * 1998-09-29 2003-08-12 Openwave Systems Inc. Method and apparatus for caching credentials in proxy servers for wireless user agents
US6195682B1 (en) * 1998-10-27 2001-02-27 International Business Machines Corporation Concurrent server and method of operation having client-server affinity using exchanged client and server keys
US7137101B1 (en) * 1998-12-03 2006-11-14 International Business Machines Corporation Apparatus and method for performing general integrity checks using integrity rule checking points in an enterprise application
US6266774B1 (en) 1998-12-08 2001-07-24 Mcafee.Com Corporation Method and system for securing, managing or optimizing a personal computer
WO2000065763A2 (en) 1999-04-26 2000-11-02 Dodots, Inc. Apparatus and method for delivering internet content
AU5588000A (en) * 1999-05-19 2000-12-05 Id Systems, Inc. Fully automated vehicle rental system
US6952741B1 (en) 1999-06-30 2005-10-04 Computer Sciences Corporation System and method for synchronizing copies of data in a computer system
US6934707B1 (en) 1999-07-22 2005-08-23 International Business Machines Corporation Network transmission of pages in linkable markup language to receiving display stations with currently displayed pages controlled by tags in succeeding pages to produce aesthetically pleasing transitions between pages
US6922729B1 (en) * 1999-07-30 2005-07-26 International Business Machines Corporation Multi-connection control system
US6662355B1 (en) * 1999-08-11 2003-12-09 International Business Machines Corporation Method and system for specifying and implementing automation of business processes
KR20010017849A (ko) * 1999-08-16 2001-03-05 정선종 월드와이드웹에서의 보안 기능 지원을 위한 데이터 송수신 방법
US6912691B1 (en) * 1999-09-03 2005-06-28 Cisco Technology, Inc. Delivering voice portal services using an XML voice-enabled web server
US6405216B1 (en) 1999-09-17 2002-06-11 International Business Machines Corporation Internet-based application program interface (API) documentation interface
EP1203325A1 (en) * 1999-09-23 2002-05-08 Planetportal.Com, Inc. Methods and systems for facilitating user access to web pages using portal device
AU7620400A (en) * 1999-09-29 2001-04-30 Anna Petrovskaya System for development and maintenance of software solutions for execution on distributed computer systems
US7934149B1 (en) * 1999-09-30 2011-04-26 Instantis, Inc. Automated creation and maintenance of programs to process internet form related submissions
US7068680B1 (en) 1999-10-01 2006-06-27 Accenture Llp Communication service architectures for netcentric computing systems
AU7740300A (en) 1999-10-01 2001-05-10 Andersen Consulting Llp Data management for netcentric computing systems
US6988249B1 (en) 1999-10-01 2006-01-17 Accenture Llp Presentation service architectures for netcentric computing systems
US7020697B1 (en) * 1999-10-01 2006-03-28 Accenture Llp Architectures for netcentric computing systems
US6874010B1 (en) 1999-10-01 2005-03-29 Accenture Llp Base service architectures for netcentric computing systems
US7356541B1 (en) * 1999-10-29 2008-04-08 Computer Sciences Corporation Processing business data using user-configured keys
US7526487B1 (en) 1999-10-29 2009-04-28 Computer Sciences Corporation Business transaction processing systems and methods
US7546304B1 (en) * 1999-10-29 2009-06-09 Computer Sciences Corporation Configuring keys for use in processing business data
US7363264B1 (en) 1999-10-29 2008-04-22 Computer Sciences Corporation Processing business transactions using dynamic database packageset switching
US7353196B1 (en) * 1999-10-29 2008-04-01 Computer Sciences Corporation Configuring dynamic database packageset switching for use in processing business transactions
US7693844B1 (en) 1999-10-29 2010-04-06 Computer Sciences Corporation Configuring processing relationships among entities of an organization
US7571171B1 (en) * 1999-10-29 2009-08-04 Computer Sciences Corporation Smart trigger for use in processing business transactions
US7003560B1 (en) * 1999-11-03 2006-02-21 Accenture Llp Data warehouse computing system
WO2001033392A2 (en) * 1999-11-04 2001-05-10 Abilizer Solutions, Inc. Employee portal and method of use therefor
US6842863B1 (en) 1999-11-23 2005-01-11 Microsoft Corporation Certificate reissuance for checking the status of a certificate in financial transactions
EP1266283A4 (en) * 1999-12-07 2006-06-21 Experience Technologies Llc DYNAMIC APPLICATION BROWSER AND DATABASE FOR USE THEREOF
US20010003192A1 (en) * 1999-12-07 2001-06-07 Ramsay Nigel James Servicing of linked applications in a client-server environment
US6654748B1 (en) * 1999-12-07 2003-11-25 Rwd Technologies, Inc. Dynamic application browser and database for use therewith
EP1111354A1 (de) * 1999-12-13 2001-06-27 Deutsches Zentrum für Luft- und Raumfahrt e.V Verfahren zur Durchführung einer Strahlungstransportrechnung
US7275078B2 (en) * 1999-12-30 2007-09-25 Texas Instruments Incorporated Distributed web CGI architecture
US6983315B1 (en) 2000-01-18 2006-01-03 Wrq, Inc. Applet embedded cross-platform caching
US6519648B1 (en) * 2000-01-24 2003-02-11 Friskit, Inc. Streaming media search and continuous playback of multiple media resources located on a network
US7281034B1 (en) 2000-01-24 2007-10-09 Friskit, Inc. System and method for media playback over a network using links that contain control signals and commands
US6721741B1 (en) 2000-01-24 2004-04-13 Friskit, Inc. Streaming media search system
US6389467B1 (en) 2000-01-24 2002-05-14 Friskit, Inc. Streaming media search and continuous playback system of media resources located by multiple network addresses
US7228305B1 (en) 2000-01-24 2007-06-05 Friskit, Inc. Rating system for streaming media playback system
EP1299817A2 (de) * 2000-01-27 2003-04-09 Accenture GmbH Informationsdienstsystem
US6606659B1 (en) 2000-01-28 2003-08-12 Websense, Inc. System and method for controlling access to internet sites
US20070129955A1 (en) * 2000-04-14 2007-06-07 American Express Travel Related Services Company, Inc. System and method for issuing and using a loyalty point advance
CA2406001A1 (en) 2000-04-14 2001-10-25 American Express Travel Related Services Company, Inc. A system and method for using loyalty points
US20030149600A1 (en) * 2000-04-21 2003-08-07 Eckert Seamans Cherin And Mellott Llc Reservation entry method and system
US7010537B2 (en) * 2000-04-27 2006-03-07 Friskit, Inc. Method and system for visual network searching
US7747486B1 (en) 2000-05-08 2010-06-29 James Kemp Smith Financial analysis system interface
US7143142B1 (en) * 2000-05-15 2006-11-28 Ricoh Co., Ltd. Method and apparatus for appliance host supported network-based application delivery
US6327628B1 (en) * 2000-05-19 2001-12-04 Epicentric, Inc. Portal server that provides a customizable user Interface for access to computer networks
US6868499B1 (en) * 2000-06-08 2005-03-15 Sun Microsystems, Inc. Method and apparatus for password re-entry
DE60137564D1 (de) * 2000-06-14 2009-03-19 Sap Ag N über http, verfahren, computerprogrammprodukt und system
DE10028842A1 (de) * 2000-06-15 2002-01-03 Ralf Mimoun Verfahren zur Erzeugung einer Bedienoberfläche für eine Standard-Applikation in einem Browser eines Computernetzwerkes
JP2002007915A (ja) * 2000-06-21 2002-01-11 Nec Corp レンタカー貸出システム
US20020010721A1 (en) * 2000-06-29 2002-01-24 Crimmins John D. Automated print procurement method, apparatus and system
US7899690B1 (en) * 2000-08-18 2011-03-01 The Crawford Group, Inc. Extended web enabled business to business computer system for rental vehicle services
US20030125992A1 (en) * 2001-12-26 2003-07-03 The Crawford Group, Inc. Web browser based computer network for processing vehicle rental transactions on a large scale
US6571201B1 (en) 2000-08-18 2003-05-27 Gilbarco Inc. Remote-access fuel dispenser using a data type aware mark-up language
US7275038B1 (en) 2000-08-18 2007-09-25 The Crawford Group, Inc. Web enabled business to business operating system for rental car services
US8600783B2 (en) 2000-08-18 2013-12-03 The Crawford Group, Inc. Business to business computer system for communicating and processing rental car reservations using web services
US7668740B1 (en) * 2000-09-22 2010-02-23 Ita Software, Inc. Method, system, and computer program product for interfacing with information sources
AU2002255463A1 (en) * 2000-10-27 2002-09-04 Anc Rental Corporation Method for completing and storing an electronic rental agreement
US7027997B1 (en) 2000-11-02 2006-04-11 Verizon Laboratories Inc. Flexible web-based interface for workflow management systems
US7398226B2 (en) 2000-11-06 2008-07-08 American Express Travel Related Services Company, Inc. System and method for networked loyalty program
US7398225B2 (en) 2001-03-29 2008-07-08 American Express Travel Related Services Company, Inc. System and method for networked loyalty program
US7143437B2 (en) 2001-01-12 2006-11-28 Siemens Medical Solutions Health Services Corporation System and user interface for managing user access to network compatible applications
US7334031B2 (en) 2001-01-12 2008-02-19 Siemens Medical Solutions Health Services Corporation System and user interface supporting processing and activity management for concurrently operating applications
US20020133567A1 (en) * 2001-01-12 2002-09-19 Te George A. Method and system for generalized common gateway interface processing
US7043752B2 (en) * 2001-01-12 2006-05-09 Siemens Medical Solutions Health Services Corporation System and user interface supporting concurrent application initiation and interoperability
US20050182682A1 (en) * 2001-02-05 2005-08-18 Wiram Gordon M. Point of sale system
WO2002063495A1 (en) * 2001-02-06 2002-08-15 Airclic, Inc. Device-independent content acquisition and presentation
US8719215B2 (en) * 2001-02-22 2014-05-06 International Business Machines Corporation Controlling the creation of process instances in workflow management systems
US7222101B2 (en) 2001-02-26 2007-05-22 American Express Travel Related Services Company, Inc. System and method for securing data through a PDA portal
US7584149B1 (en) 2001-02-26 2009-09-01 American Express Travel Related Services Company, Inc. System and method for securing data through a PDA portal
US7904358B2 (en) * 2001-02-28 2011-03-08 Goldman Sachs & Co. Computerized interface for monitoring financial information and executing financial transactions
US7533336B2 (en) * 2001-03-01 2009-05-12 International Business Machines Corporation Method and apparatus for facilitating construction of e-commerce web pages having featured products and the like
US7072937B2 (en) * 2001-03-21 2006-07-04 Northrop Grumman Corporation Web-based common use terminal with multiple application servers
US20050187833A1 (en) * 2001-04-04 2005-08-25 U-Haul International, Inc. Automated equipment management and reservation system
CA2348706A1 (en) * 2001-05-25 2002-11-25 Ibm Canada Limited-Ibm Canada Limitee Converting user interface source code of a legacy application to web pages
US7043714B2 (en) * 2001-06-28 2006-05-09 International Business Machines Corporation Method, system, and program for using objects in data stores during execution of a workflow
US7100147B2 (en) * 2001-06-28 2006-08-29 International Business Machines Corporation Method, system, and program for generating a workflow
US7069536B2 (en) * 2001-06-28 2006-06-27 International Business Machines Corporation Method, system, and program for executing a workflow
US6981263B1 (en) * 2001-06-29 2005-12-27 Bellsouth Intellectual Property Corp. Methods and systems for converged service creation and execution environment applications
US7296056B2 (en) * 2001-07-30 2007-11-13 International Business Machines Corporation Method, system, and program for selecting one user to assign a work item in a workflow
US7698427B2 (en) 2001-07-30 2010-04-13 International Business Machines Corporation Method, system, and program for transferring data from an application engine
US7047535B2 (en) 2001-07-30 2006-05-16 International Business Machines Corporation Method, system, and program for performing workflow related operations using an application programming interface
US7228547B2 (en) 2001-07-30 2007-06-05 International Business Machines Corporation Method, system, and program for enabling access to a plurality of services
US20030074421A1 (en) * 2001-08-14 2003-04-17 Mieko Kusano Internet access via specific server and via proprietary application for selecting and controlling content: remote and local
US8413205B2 (en) * 2001-09-19 2013-04-02 Tvworks, Llc System and method for construction, delivery and display of iTV content
US11388451B2 (en) * 2001-11-27 2022-07-12 Comcast Cable Communications Management, Llc Method and system for enabling data-rich interactive television using broadcast database
US8042132B2 (en) * 2002-03-15 2011-10-18 Tvworks, Llc System and method for construction, delivery and display of iTV content
AU2002327677A1 (en) * 2001-09-19 2003-04-01 Meta Tv, Inc. Interactive user interface for television applications
CA2404602C (en) * 2001-09-21 2009-07-14 Corel Corporation Web services gateway
KR100777580B1 (ko) * 2001-09-27 2007-11-16 주식회사 케이티 인터넷 서비스를 위한 워크 플로우 관리 시스템
US20090106251A1 (en) * 2001-10-24 2009-04-23 Harris Scott C Web based communication of information with reconfigurable format
US8332275B2 (en) * 2001-10-31 2012-12-11 Ebay Inc. Method and apparatus to facilitate a transaction within a network-based facility
US6947985B2 (en) * 2001-12-05 2005-09-20 Websense, Inc. Filtering techniques for managing access to internet sites or other software applications
US7194464B2 (en) 2001-12-07 2007-03-20 Websense, Inc. System and method for adapting an internet filter
US20030126301A1 (en) * 2001-12-31 2003-07-03 Jeff Mason Machine, process and manufacture for synchronizing data across integrated applications
JP4520087B2 (ja) * 2002-01-16 2010-08-04 コマツレンタル株式会社 顧客とのコミュニケーションの結果を管理又は通知するためのシステム
US8571901B2 (en) * 2002-02-28 2013-10-29 U-Haul International, Inc. Automated self-storage reservation and management system
US20030177200A1 (en) * 2002-03-12 2003-09-18 Laughlin Brian D. Drag and drop web self-publishing system
US7703116B1 (en) 2003-07-11 2010-04-20 Tvworks, Llc System and method for construction, delivery and display of iTV applications that blend programming information of on-demand and broadcast service offerings
US8707354B1 (en) 2002-06-12 2014-04-22 Tvworks, Llc Graphically rich, modular, promotional tile interface for interactive television
US6986108B2 (en) * 2002-03-21 2006-01-10 Toshiba Tec Kabushiki Kaisha System for accessing digital imaging devices
US20030184584A1 (en) * 2002-03-29 2003-10-02 Thomas Vachuska User interface framework for integrating user interface elements of independent software components
US7464400B2 (en) * 2002-04-24 2008-12-09 International Business Machines Corporation Distributed environment controlled access facility
US8108231B2 (en) 2002-06-14 2012-01-31 The Crawford Group, Inc. Method and apparatus for improved customer direct on-line reservation of rental vehicles
US20040039612A1 (en) * 2002-06-14 2004-02-26 Neil Fitzgerald Method and apparatus for customer direct on-line reservation of rental vehicles
US8352983B1 (en) 2002-07-11 2013-01-08 Tvworks, Llc Programming contextual interactive user interface for television
US6904493B2 (en) * 2002-07-11 2005-06-07 Animeta Systems, Inc. Secure flash memory device and method of operation
US7367029B2 (en) * 2002-08-01 2008-04-29 Xerox Corporation Method and system for handling data
US11070890B2 (en) 2002-08-06 2021-07-20 Comcast Cable Communications Management, Llc User customization of user interfaces for interactive television
US7200864B1 (en) * 2002-09-04 2007-04-03 Bellsouth Intellectual Property Corp. Systems and methods for universal password control
US8225371B2 (en) 2002-09-18 2012-07-17 Symantec Corporation Method and apparatus for creating an information security policy based on a pre-configured template
US8041719B2 (en) 2003-05-06 2011-10-18 Symantec Corporation Personal computing device-based mechanism to detect preselected data
US7472114B1 (en) * 2002-09-18 2008-12-30 Symantec Corporation Method and apparatus to define the scope of a search for information from a tabular data source
US8661498B2 (en) * 2002-09-18 2014-02-25 Symantec Corporation Secure and scalable detection of preselected data embedded in electronically transmitted messages
US7673344B1 (en) 2002-09-18 2010-03-02 Symantec Corporation Mechanism to search information content for preselected data
US7886359B2 (en) * 2002-09-18 2011-02-08 Symantec Corporation Method and apparatus to report policy violations in messages
US8220018B2 (en) 2002-09-19 2012-07-10 Tvworks, Llc System and method for preferred placement programming of iTV content
US20040064829A1 (en) * 2002-09-30 2004-04-01 Kim Pallister Method for identifying processor affinity and improving software execution
CA2406025A1 (en) * 2002-09-30 2004-03-30 Ibm Canada Limited-Ibm Canada Limitee Validating content of localization data files
US7568218B2 (en) * 2002-10-31 2009-07-28 Microsoft Corporation Selective cross-realm authentication
US7363588B2 (en) * 2002-11-01 2008-04-22 Rockwell Electronic Commerce Technologies, Llc GUI for organizational environment
US7188359B2 (en) 2002-12-18 2007-03-06 America Online, Inc. Optimizing authentication service availability and responsiveness via client-side routing
US8578411B1 (en) 2003-03-14 2013-11-05 Tvworks, Llc System and method for controlling iTV application behaviors through the use of application profile filters
US11381875B2 (en) 2003-03-14 2022-07-05 Comcast Cable Communications Management, Llc Causing display of user-selectable content types
US7185015B2 (en) * 2003-03-14 2007-02-27 Websense, Inc. System and method of monitoring and controlling application files
US7529754B2 (en) 2003-03-14 2009-05-05 Websense, Inc. System and method of monitoring and controlling application files
US10664138B2 (en) 2003-03-14 2020-05-26 Comcast Cable Communications, Llc Providing supplemental content for a second screen experience
US9615061B2 (en) * 2003-07-11 2017-04-04 Tvworks, Llc System and method for creating and presenting composite video-on-demand content
US8416952B1 (en) 2003-07-11 2013-04-09 Tvworks, Llc Channel family surf control
US7523401B1 (en) * 2003-09-03 2009-04-21 Theoris Software, Llc System and method for providing a browser-based user interface
US8819734B2 (en) * 2003-09-16 2014-08-26 Tvworks, Llc Contextual navigational control for digital television
US7290278B2 (en) 2003-10-02 2007-10-30 Aol Llc, A Delaware Limited Liability Company Identity based service system
US20050108063A1 (en) * 2003-11-05 2005-05-19 Madill Robert P.Jr. Systems and methods for assessing the potential for fraud in business transactions
US20050199140A1 (en) * 2004-02-27 2005-09-15 Ho Wai Y. Automatic transmission system for a printer carriage drive
US7593579B2 (en) * 2004-04-20 2009-09-22 Symantec Corporation Method for secure encoding of data
US20050262148A1 (en) * 2004-05-03 2005-11-24 Davitt Harold H Simplified, secure electronic project data exchange
GB2416879B (en) 2004-08-07 2007-04-04 Surfcontrol Plc Device resource access filtering system and method
US7702730B2 (en) 2004-09-03 2010-04-20 Open Text Corporation Systems and methods for collaboration
GB2418037B (en) 2004-09-09 2007-02-28 Surfcontrol Plc System, method and apparatus for use in monitoring or controlling internet access
GB2418108B (en) * 2004-09-09 2007-06-27 Surfcontrol Plc System, method and apparatus for use in monitoring or controlling internet access
US20060059021A1 (en) * 2004-09-15 2006-03-16 Jim Yulman Independent adjuster advisor
US7882170B1 (en) * 2004-10-06 2011-02-01 Microsoft Corporation Interfacing a first type of software application to information configured for use by a second type of software application
US20060112397A1 (en) * 2004-11-18 2006-05-25 Makaram Raghunandan Cross-architecture software development
US8011003B2 (en) * 2005-02-14 2011-08-30 Symantec Corporation Method and apparatus for handling messages containing pre-selected data
US20060184549A1 (en) * 2005-02-14 2006-08-17 Rowney Kevin T Method and apparatus for modifying messages based on the presence of pre-selected data
US7818667B2 (en) 2005-05-03 2010-10-19 Tv Works Llc Verification of semantic constraints in multimedia data and in its announcement, signaling and interchange
US8346950B1 (en) * 2005-05-19 2013-01-01 Glam Media, Inc. Hosted application server
US7756945B1 (en) 2005-08-02 2010-07-13 Ning, Inc. Interacting with a shared data model
US7899903B2 (en) * 2005-09-30 2011-03-01 Microsoft Corporation Template based management system
US20070168349A1 (en) * 2005-09-30 2007-07-19 Microsoft Corporation Schema for template based management system
US7903673B2 (en) * 2006-02-02 2011-03-08 International Business Machines Corporation Intelligent application management strategy
US8271309B2 (en) 2006-03-16 2012-09-18 The Crawford Group, Inc. Method and system for providing and administering online rental vehicle reservation booking services
US10078538B2 (en) * 2006-04-27 2018-09-18 International Business Machines Corporation Web application integration with dialogue based scripts
US8140618B2 (en) * 2006-05-04 2012-03-20 Citrix Online Llc Methods and systems for bandwidth adaptive N-to-N communication in a distributed system
US8684265B1 (en) 2006-05-25 2014-04-01 Sean I. Mcghie Rewards program website permitting conversion/transfer of non-negotiable credits to entity independent funds
US8376224B2 (en) 2006-05-25 2013-02-19 Sean I. Mcghie Self-service stations for utilizing non-negotiable credits earned from a game of chance
US8162209B2 (en) 2006-05-25 2012-04-24 Buchheit Brian K Storefront purchases utilizing non-negotiable credits earned from a game of chance
US8668146B1 (en) 2006-05-25 2014-03-11 Sean I. Mcghie Rewards program with payment artifact permitting conversion/transfer of non-negotiable credits to entity independent funds
US10062062B1 (en) 2006-05-25 2018-08-28 Jbshbm, Llc Automated teller machine (ATM) providing money for loyalty points
US7703673B2 (en) 2006-05-25 2010-04-27 Buchheit Brian K Web based conversion of non-negotiable credits associated with an entity to entity independent negotiable funds
US9704174B1 (en) 2006-05-25 2017-07-11 Sean I. Mcghie Conversion of loyalty program points to commerce partner points per terms of a mutual agreement
US8342399B1 (en) 2006-05-25 2013-01-01 Mcghie Sean I Conversion of credits to funds
US8020206B2 (en) * 2006-07-10 2011-09-13 Websense, Inc. System and method of analyzing web content
US8615800B2 (en) * 2006-07-10 2013-12-24 Websense, Inc. System and method for analyzing web content
WO2008031647A1 (en) 2006-09-12 2008-03-20 International Business Machines Corporation System and method for dynamic context-sensitive integration of content into a web portal application
US8015506B2 (en) * 2006-09-22 2011-09-06 Microsoft Corporation Customizing a menu in a discovery interface
US8112714B2 (en) * 2006-09-22 2012-02-07 Microsoft Corporation Customizing application page loading in a discovery interface
US8635521B2 (en) * 2006-09-22 2014-01-21 Microsoft Corporation Customizing applications in a discovery interface
CA2664941C (en) * 2006-10-06 2017-09-12 The Crawford Group, Inc. Method and system for communicating vehicle repair information to a business-to-business rental vehicle reservation management computer system
US20080097798A1 (en) * 2006-10-18 2008-04-24 The Crawford Group, Inc. Method and System for Creating and Processing Rental Vehicle Reservations Using Vouchers
US9654495B2 (en) 2006-12-01 2017-05-16 Websense, Llc System and method of analyzing web addresses
US20080155502A1 (en) * 2006-12-22 2008-06-26 International Business Machines Corporation Method and process for handling partially translated scripts
GB2445764A (en) * 2007-01-22 2008-07-23 Surfcontrol Plc Resource access filtering system and database structure for use therewith
US20080178125A1 (en) * 2007-01-23 2008-07-24 Microsoft Corporation Providing dynamic content in a user interface in an application
US8015174B2 (en) 2007-02-28 2011-09-06 Websense, Inc. System and method of controlling access to the internet
US20100106580A1 (en) * 2007-04-17 2010-04-29 American Express Travel Related Services Company, Inc. System and method for determining positive behavior and/or making awards based upon geographic location
US7958188B2 (en) * 2007-05-04 2011-06-07 International Business Machines Corporation Transaction-initiated batch processing
US7823761B2 (en) * 2007-05-16 2010-11-02 The Invention Science Fund I, Llc Maneuverable surgical stapler
GB0709527D0 (en) 2007-05-18 2007-06-27 Surfcontrol Plc Electronic messaging system, message processing apparatus and message processing method
US20090234720A1 (en) * 2008-03-15 2009-09-17 Gridbyte Method and System for Tracking and Coaching Service Professionals
US7996374B1 (en) 2008-03-28 2011-08-09 Symantec Corporation Method and apparatus for automatically correlating related incidents of policy violations
US7996373B1 (en) 2008-03-28 2011-08-09 Symantec Corporation Method and apparatus for detecting policy violations in a data repository having an arbitrary data schema
US8065739B1 (en) 2008-03-28 2011-11-22 Symantec Corporation Detecting policy violations in information content containing data in a character-based language
CN101616136B (zh) * 2008-06-26 2013-05-01 阿里巴巴集团控股有限公司 一种提供互联网服务的方法及服务集成平台系统
AU2009267107A1 (en) * 2008-06-30 2010-01-07 Websense, Inc. System and method for dynamic and real-time categorization of webpages
US7882173B2 (en) * 2008-06-30 2011-02-01 International Business Machines Corporation Interactive remote command execution over a stateless client/server network protocol
US20100023352A1 (en) * 2008-07-23 2010-01-28 The Crawford Group, Inc. System and Method for Improved Information Sharing by Repair Facilities for Managing Rental Vehicle Reservations
US8826443B1 (en) 2008-09-18 2014-09-02 Symantec Corporation Selective removal of protected content from web requests sent to an interactive website
US11832024B2 (en) * 2008-11-20 2023-11-28 Comcast Cable Communications, Llc Method and apparatus for delivering video and video-related content at sub-asset level
US8613040B2 (en) * 2008-12-22 2013-12-17 Symantec Corporation Adaptive data loss prevention policies
US8935752B1 (en) 2009-03-23 2015-01-13 Symantec Corporation System and method for identity consolidation
AU2010254269A1 (en) 2009-05-26 2011-12-22 Websense, Inc. Systems and methods for efficient detection of fingerprinted data and information
US20110205364A1 (en) 2009-11-09 2011-08-25 Charles Lampe Method and apparatus to transmit video data
US20110161166A1 (en) * 2009-12-30 2011-06-30 Mindrum G Scott System and method for capturing, processing, and presenting information
EP2367342A1 (en) * 2010-03-17 2011-09-21 Samsung Electronics Co., Ltd. Method and apparatus for accessing services of a device
GB2478767B (en) 2010-03-17 2019-10-23 Samsung Electronics Co Ltd Method and apparatus for accessing services of a device
US20110137691A1 (en) * 2010-04-01 2011-06-09 The Crawford Group, Inc. Method and System for Reducing Carbon Emissions Arising from Vehicle Travel
US8612273B2 (en) 2010-04-01 2013-12-17 The Crawford Group, Inc. Method and system for managing vehicle travel
US9112623B2 (en) 2011-06-06 2015-08-18 Comcast Cable Communications, Llc Asynchronous interaction at specific points in content
US20130031490A1 (en) * 2011-07-26 2013-01-31 Microsoft Corporation On-demand tab rehydration
US9836314B2 (en) * 2012-09-14 2017-12-05 Sap Se Native user interface interaction via a web-based user interface
US11115722B2 (en) 2012-11-08 2021-09-07 Comcast Cable Communications, Llc Crowdsourcing supplemental content
US9117054B2 (en) 2012-12-21 2015-08-25 Websense, Inc. Method and aparatus for presence based resource management
US10754877B2 (en) 2013-01-15 2020-08-25 Datorama Technologies, Ltd. System and method for providing big data analytics on dynamically-changing data models
US10515386B2 (en) 2013-01-15 2019-12-24 Datorama Technologies, Ltd. System and method for performing cross-platform big data analytics
US10395271B2 (en) 2013-01-15 2019-08-27 Datorama Technologies, Ltd. System and method for normalizing campaign data gathered from a plurality of advertising platforms
US9965772B2 (en) * 2013-01-15 2018-05-08 Datorama Technologies, Ltd. System and method for unifying user-level data across different media platforms
US9553927B2 (en) 2013-03-13 2017-01-24 Comcast Cable Communications, Llc Synchronizing multiple transmissions of content
US10880609B2 (en) 2013-03-14 2020-12-29 Comcast Cable Communications, Llc Content event messaging
US9595023B1 (en) 2014-05-21 2017-03-14 Plaid Technologies, Inc. System and method for facilitating programmatic verification of transactions
US9449346B1 (en) 2014-05-21 2016-09-20 Plaid Technologies, Inc. System and method for programmatically accessing financial data
US9405933B2 (en) * 2014-06-25 2016-08-02 International Business Machines Corporation Secure access to running client application features from a browser application
US11783382B2 (en) 2014-10-22 2023-10-10 Comcast Cable Communications, Llc Systems and methods for curating content metadata
US9876849B2 (en) * 2014-11-05 2018-01-23 Google Llc Opening local applications from browsers
US10672000B1 (en) 2015-03-18 2020-06-02 Access Control Advantage, Inc. Bypass system
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
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
US10817593B1 (en) * 2015-12-29 2020-10-27 Wells Fargo Bank, N.A. User information gathering and distribution system
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
US10209985B2 (en) * 2017-05-25 2019-02-19 Sap Se Descriptor-transformer framework in an integration platform
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
US11316862B1 (en) 2018-09-14 2022-04-26 Plaid Inc. Secure authorization of access to user accounts by one or more authorization mechanisms
US11432149B1 (en) 2019-10-10 2022-08-30 Wells Fargo Bank, N.A. Self-sovereign identification via digital credentials for selected identity attributes
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
US12012110B1 (en) 2023-10-20 2024-06-18 Crawford Group, Inc. Systems and methods for intelligently transforming data to generate improved output data using a probabilistic multi-application network

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08320846A (ja) * 1995-05-24 1996-12-03 Nippon Telegr & Teleph Corp <Ntt> 対話管理型情報提供方法及び装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5305456A (en) * 1991-10-11 1994-04-19 Security Integration, Inc. Apparatus and method for computer system integrated security
US5361359A (en) * 1992-08-31 1994-11-01 Trusted Information Systems, Inc. System and method for controlling the use of a computer
US5553239A (en) * 1994-11-10 1996-09-03 At&T Corporation Management facility for server entry and application utilization in a multi-node server configuration
US5701451A (en) * 1995-06-07 1997-12-23 International Business Machines Corporation Method for fulfilling requests of a web browser
JPH0981519A (ja) * 1995-09-08 1997-03-28 Kiyadeitsukusu:Kk ネットワーク上の認証方法
US5572643A (en) * 1995-10-19 1996-11-05 Judson; David H. Web browser with dynamic display of information objects during linking

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08320846A (ja) * 1995-05-24 1996-12-03 Nippon Telegr & Teleph Corp <Ntt> 対話管理型情報提供方法及び装置

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7191393B1 (en) 1998-09-25 2007-03-13 International Business Machines Corporation Interface for providing different-language versions of markup-language resources
JP4480316B2 (ja) * 1999-12-22 2010-06-16 富士通株式会社 分散処理システム
US7228499B1 (en) 2000-02-29 2007-06-05 Fuji Xerox Co., Ltd. Processor with separately configured display control file, CGI scripts, and processing program
JP2002268950A (ja) * 2001-03-07 2002-09-20 Sony Corp 情報管理システム、情報管理方法、および情報処理装置、情報処理方法、並びにプログラム
JP2006512806A (ja) * 2002-12-19 2006-04-13 ソニック モビリティー インコーポレイテッド 複数の管理対象エンティティーの安全な無線管理のためのプロキシ方法及びシステム
JP2007519073A (ja) * 2003-10-24 2007-07-12 マイクロソフト コーポレーション 管理用ツール環境
WO2007021884A3 (en) * 2005-08-12 2007-04-12 Microsoft Corp User-interface servicing
US7810100B2 (en) 2005-08-12 2010-10-05 Microsoft Corporation Employing a servicing user-interface shell to service a presented user-interface shell

Also Published As

Publication number Publication date
US5892905A (en) 1999-04-06
KR100294969B1 (ko) 2001-09-17
KR19980063418A (ko) 1998-10-07

Similar Documents

Publication Publication Date Title
JPH10247183A (ja) コンピュータシステム及び方法
US6125384A (en) Computer apparatus and method for communicating between software applications and computers on the world-wide web
US6144990A (en) Computer apparatus and method for communicating between software applications and computers on the world-wide web using universal variable handling
US5872915A (en) Computer apparatus and method for providing security checking for software applications accessed via the World-Wide Web
US12598227B2 (en) Systems and methods for controlling sign-on to web applications
US6687733B2 (en) Method and system for automatically configuring a client-server network
US8732284B2 (en) Data serialization in a user switching environment
US7490242B2 (en) Secure management of authentication information
US5706349A (en) Authenticating remote users in a distributed environment
US6901425B1 (en) Computer apparatus and method including a disconnect mechanism for communicating between software applications and computers on the world-wide web
US7509672B1 (en) Cross-platform single sign-on data sharing
US6826700B1 (en) Method and apparatus for a web application server to automatically solicit a new password when an existing password has expired
US8701173B2 (en) System and method for providing silent sign on across distributed applications
US20130124695A1 (en) Mobility Device Method
US20020109717A1 (en) Customizing a graphical user interface of a host application
US8789151B2 (en) Remote device communication platform
US8370829B2 (en) Post-install configuration for applications
US20210294864A1 (en) Methods and systems for generating custom content using universal deep linking across web and mobile applications
JP4233635B2 (ja) アプリケーション・インタフェースに持続性を提供するための装置および方法
US8332456B2 (en) Displaying server errors on the client machine that caused the failed request
US7814020B2 (en) System, method and computer program product for the recording and playback of transaction macros
EP4121871B1 (en) Methods and systems for universal deep linking across web and mobile applications
US6594689B1 (en) Multi-platform helper utilities
US8065415B2 (en) System and method for utilizing a common framework for portal administration tools
US7188109B1 (en) Cool ICE utilization of digital certificates

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20040330

RD12 Notification of acceptance of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7432

Effective date: 20040407

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20040407

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040618

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20040623

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20050408

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20060822