JP2002528787A - 企業レベルでの統合及び通信技術 - Google Patents

企業レベルでの統合及び通信技術

Info

Publication number
JP2002528787A
JP2002528787A JP2000577553A JP2000577553A JP2002528787A JP 2002528787 A JP2002528787 A JP 2002528787A JP 2000577553 A JP2000577553 A JP 2000577553A JP 2000577553 A JP2000577553 A JP 2000577553A JP 2002528787 A JP2002528787 A JP 2002528787A
Authority
JP
Japan
Prior art keywords
command
target system
data
interface layer
computer
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
JP2000577553A
Other languages
English (en)
Inventor
バーソルド,リチャード・ティー
ディビアソ,ディーノ・エム
リー,ケビン・スゥン−ホー
Original Assignee
オースピス・インコーポレーテッド
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 オースピス・インコーポレーテッド filed Critical オースピス・インコーポレーテッド
Publication of JP2002528787A publication Critical patent/JP2002528787A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • General Engineering & Computer Science (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Computer Hardware Design (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Development Economics (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Stored Programmes (AREA)
  • Communication Control (AREA)
  • Multi Processors (AREA)

Abstract

(57)【要約】 企業のシステムにおいて、オペレータが、企業レベルでのシステム統合及び処理実行コンピュータ・プログラム(EADIPECP)と対話し、様々なスクリプトを入力して、典型的には複数のターゲット・システムを用いて企業レベルでの処理を実現し、その処理のためのデータを収集してステップを実行する。オペレータは、ユーザ・インターフェース・スクリプト言語でスクリプトを書き込む。すると、EADIPECPは、スクリプトをコンパイルしてスクリプトを実行する。スクリプトを実行するときには、EADIPECPは、コマンド・データ・パケットを、ネットワークを介してターゲット・システムに送る。

Description

【発明の詳細な説明】
【0001】
【関連出願の参照】
この出願は、1999年1月22日に出願された米国特許仮出願第60/11
6,754号と1998年10月16日に出願された米国特許仮出願第60/1
04,654号とに基づき、米国特許法(米国法令第35号)第119条(e)
による優先権を主張している。
【0002】
【従来の技術】
この出願は、異なるデータ通信プロトコルを有する複数のコンピュータ・プロ
グラムの間での通信技術に関し、更に詳しくは、企業レベルでの統合及び処理実
行コンピュータ・プログラムとそのプログラムの制御下にある複数のシステムと
の間での通信に関する。
【0003】 コンピュータ産業に現在存在している挑戦すべき課題の1つとして、共通点の
ない複数のシステムを統合することがあり、これには、古いレガシー・システム
を新しいシステムと統合することが含まれる。この課題は、特に、様々なシステ
ムを用いている企業(エンタープライズ)での作業の管理を自動化しようとする
ときに、特に問題となる。企業におけるシステムには、古いものも新しいものも
含まれているし、異なるメーカーによる場合も多く、異なるプロトコルを用いて
通信するように設計されているからである。
【0004】 複数の古いレガシー・システムを統合する1つの技術しては、それらのレガシ
ー・システムのための新たなアプリケーション・プログラム・インターフェース
(API)を結果的に与えるラッパー(wrapper)を構築することがある。しか
し、そのようなラッパー構築することは大きな費用を要することがありうる。
【0005】
【発明の概要】
ある一般的な側面では、本発明は、企業制御エンジンが、ターゲット・システ
ムと関連するデータ及び命令を処理しコマンド・データ・パケットを発生するス
テップであって、前記コマンド・データ・パケットは、前記ターゲット・システ
ムに対する少なくとも1つのコマンドと、前記コマンドを前記ターゲット・シス
テムに通信するインターフェース層に対するネットワーク・アドレスとを含んで
いる、ステップと、前記コマンド・データ・パケットを、前記コマンド・データ
・パケットの中の前記ネットワーク・アドレスに基づきネットワークを介して前
記インターフェース層まで転送させるステップであって、前記インターフェース
層は前記コマンドを前記ターゲット・システムに通信する、ステップと、を特徴
とする。
【0006】 本発明のこの側面の実施例には、次の特徴の1つ又は複数を含みうる。 前記エンタープライス制御エンジンはサーバ・コンピュータの上で動作し、前
記インターフェース層は前記サーバ・コンピュータから離れているクライアント
・コントローラの上で動作し、前記サーバ・コンピュータと前記クライアント・
コンピュータとは前記ネットワークに接続されている。前記ターゲット・システ
ムは前記リモート・クライアント・コンピュータの上で動作する。前記インター
フェース層はプロトコルに従って前記ターゲット・システムと通信することがで
きる。前記エンタープライス制御エンジンは第2のプロトコルに従ってデータを
前記インターフェース層に送り、前記第2のプロトコルは前記第1のプロトコル
とは異なっている。
【0007】 前記企業制御エンジンは、第2のターゲット・システムと関連するデータ及び
命令を処理して第2のコマンド・データ・パケットを発生し、前記第2のコマン
ド・データ・パケットは、前記第2のターゲット・システムに対する少なくとも
1つの第2のコマンドと、前記コマンドを前記第2のターゲット・システムに通
信するインターフェース層に対するネットワーク・アドレスとを含む。前記イン
ターフェース層は第2のプロトコルに従って前記第2のターゲット・システムと
通信することができる。前記第2のプロトコルは前記第1のプロトコルとは異な
っている。前記エンタープライス制御エンジンは第3のプロトコルに従ってデー
タを前記インターフェース層に送り、前記第3のプロトコルは前記第1及び第2
のプロトコルとは異なっている。
【0008】 前記インターフェース層は前記第1のプロトコルに従って前記第1のターゲッ
ト・システムと通信するターゲット・システム・ハンドラを含み、前記第1のデ
ータ・パケットは前記ターゲット・システム・ハンドラを識別するターゲット・
システム・ハンドラ識別子を含む。前記ターゲット・システム・ハンドラは前記
第1のプロトコルと関連し、前記ターゲット・システム・ハンドラ識別子は前記
第1のプロトコルを識別する。前記ターゲット・システム・ハンドラは第3のプ
ロトコルに従って少なくとも1つの他のターゲット・システムと通信することが
できる。前記インターフェース層は前記第2のプロトコルに従って前記第2のタ
ーゲット・システムと通信する第2のターゲット・システム・ハンドラを含み、
前記第2のデータ・パケットは前記第2のターゲット・システム・ハンドラを識
別する第2のターゲット・システム・ハンドラ識別子を含む。前記ターゲット・
システム・ハンドラはジャバ(Java(登録商標))ベースのコンピュータ・
プログラム・モジュールである。
【0009】 前記コマンドに対応する入力が、ユーザから受け取られ、この入力は前記第1
のコマンドとは異なっている第2の入力である。次に、前記第2のコマンド・オ
ペレータと前記第1のコマンド・オペレータとの間の関係を記憶しているデータ
ベースへのアクセスがなされる。前記第2のコマンドはスクリプト・プログラム
の一部であり、前記データベースは前記スクリプト・プログラムをコンパイルす
るときにアクセスされる。前記ターゲット・システムがデータを前記インターフ
ェース層に送り、前記インターフェース層が前記データを処理し、前記処理され
たデータを前記エンタープライス制御エンジンに送る。
【0010】 別の一般的な側面では、本発明は、インターフェース層がエンタープライス制
御エンジンによって発生されたコマンド・データ・パケットをネットワークから
受け取るステップであって、前記エンタープライス制御エンジンは、ターゲット
・システムと関連するデータ及び命令を処理してコマンド・データ・パケットを
発生し、前記コマンド・データ・パケットは、前記ターゲット・システムに対す
る少なくとも1つのコマンドと、前記コマンドを前記ターゲット・システムに通
信する前記インターフェース層に対するネットワーク・アドレスとを含む、ステ
ップと、前記インターフェース層が前記コマンドを前記システムに通信するステ
ップとを特徴とする。
【0011】 更に別の側面では、本発明は、エンタープライス制御エンジンによって発生さ
れたコマンド・データ・パケットをネットワークから受け取る入力ポートであっ
て、前記エンタープライス制御エンジンは、ターゲット・システムと関連するデ
ータ及び命令を処理してコマンド・データ・パケットを発生し、前記コマンド・
データ・パケットは、前記ターゲット・システムに対する少なくとも1つのコマ
ンドと、前記コマンドを前記ターゲット・システムに通信する前記インターフェ
ース層に対するネットワーク・アドレスとを含む、入力ポートと、前記コマンド
を前記システムに通信する出力ポートとを特徴とする。
【0012】 別の一般的な側面では、本発明は、ターゲット・システムと関連するデータ及
び命令を処理し、コマンド・データ・パケットを発生するステップであって、前
記コマンド・データ・パケットは、前記ターゲット・システムに対する少なくと
も1つのコマンドと、前記コマンドを前記ターゲット・システムに通信するイン
ターフェース層に対するネットワーク・アドレスとを含む、ステップと、前記コ
マンド・データ・パケットを、前記コマンド・データ・パケットの中の前記ネッ
トワーク・アドレスに基づきネットワークを介して前記インターフェース層まで
転送させるステップであって、前記インターフェース層は前記コマンドを前記タ
ーゲット・システムに通信する、ステップとを特徴とする。
【0013】 更に別の側面では、本発明は、メッセージをオペレータに送らせる命令を含む
複数の命令をエンタープライス制御エンジンにおいて処理するステップと、 前記エンタープライス制御エンジンからのメッセージ・コマンドをスピーチ・
インターフェース・モジュールに送るステップであって、前記コマンドは、少な
くとも1つのコマンド・オペレータと、テキスト・スピーチ・コンバータとの通
信に用いられるアプリケーション・プログラム・インターフェース(API)を
識別するAPIフラグとを含んでいる、ステップと、前記APIフラグによって
識別されたAPIを用いて、前記スピーチ・インターフェース・モジュールにお
いて、前記コマンド・オペレータを前記テキスト・スピーチ・コンバータに送る
ステップとを特徴とする。
【0014】 本発明のこの側面の実施例は、次の命令の中の1つ又は複数を含みうる。 スピーチ・レコグナイザが、データを前記スピーチ・インターフェースに送る
。前記スピーチ・インターフェースは、前記データを処理し、前記処理されたデ
ータを前記エンタープライス制御エンジンに送る。
【0015】 更に別の側面では、本発明は、第1のスクリプト・プログラムを実行するステ
ップと、前記第1のスクリプト・プログラムと実質的に並行して第2のスクリプ
ト・プログラムを実行するステップと、前記第1のスクリプト・プログラムから
のコマンドに応答して、前記第2のスクリプト・プログラムの実行状態を指示す
るデータを前記第1のスクリプト・プログラムに提供するステップとを特徴とす
る。
【0016】 別の側面では、一連の命令を含むコンピュータ・プログラムをリアルタイムに
実行するステップと、前記第1のプログラムのリアルタイムでの実行と実質的に
並行しかつリアルタイムで、前記コンピュータ・プログラムの実行状態とどの命
令が現に実行されているのかとを指示するデータをユーザに提供するステップと
を特徴とする。前記コンピュータ・プログラムはスクリプト・ベースのコンピュ
ータ・プログラムでありうる。
【0017】 更に別の側面では、本発明は、インターフェース層が、第1のプロトコルに従
ってターゲット・システムからデータを受け取るステップと、前記インターフェ
ース層が、第2のプロトコルに従って前記データをエンタープライス制御エンジ
ンに送るステップであって、前記第2のプロトコルは前記第1のプロトコルと異
なり、前記エンタープライス制御エンジンは前記データを処理する、ステップと
を特徴とする。
【0018】 本発明のこれ以外の特徴及び効果は、以下の詳細な説明と冒頭の特許請求の範
囲とから明らかになるはずである。 特に別の定義が与えられない限りは、この出願において用いられる科学技術用
語は、本発明が属する技術分野の当業者が一般的に理解しているのと同じ意味を
有するものとする。本発明を実行する又は試験する際に用いられる適切な方法、
素材及び構成要素が以下で説明されるが、説明されているのと類似する又はそれ
らと均等であるような方法及び素材を用いることも可能である。この出願におい
て言及されているすべての出版物、特許出願(仮特許出願を含む)、登録済の特
許及びそれ以外の参考文献は、その全体をこの出願において援用する。相互に矛
盾が存在する場合には、定義を含めて、この特許明細書に依拠するものとする。
更に、素材、方法及び例は、単に例示のためであって、限定は意図していない。
【0019】
【発明の実施の態様】
図1及び図1Aを参照すると、企業システム10において、オペレータ12は
、企業レベルでの統合及び処理実行コンピュータ・プログラム(EADIPEC
P)14と相互作用し、様々なスクリプト17を入力して、複数のターゲット・
システム24を用いて企業レベルでの処理を実現し、データを収集して、処理の
各ステップを実行する。EADIPECP14は、コンピュータ16上で動作し
ているクライアント部分14Aと、企業レベルでの統合及び処理サーバ20上で
動作しているサーバ部分14Bとを含む。コンピュータ16は、ネットワーク1
8を介してサーバ20に接続されている。オペレータ12は、ユーザ・インター
フェースのスクリプト言語(以下では、UIスクリプト言語と称する)でスクリ
プト17を書く。サーバ部分14Bは、スクリプト17をコンパイルして実行す
る。スクリプト17を実行しているときには、EADIPECP14のサーバ部
分14Bは、ネットワーク22を介して、コマンドをターゲット・システム24
に送る。ターゲット・システム24のそれぞれは、そのターゲット・システムと
通信する際に用いる適切なデータ通信プロトコルを必要とする場合がある。ター
ゲット・システムの少なくとも1つによって要求されるデータ通信プロトコルは
、別のターゲット・システムの少なくとも1つによって要求されるデータ通信プ
ロトコルと異なる場合がある。従って、各ターゲット・システムに向けられたE
ADIPECP14のサーバ部分14Bからのコマンドは、特定のターゲット・
システムに適切な(かつ、特定のターゲット・システムによって認識される)プ
ロトコルに従って伝送される必要がある。
【0020】 しかし、部分14Bは、コマンドを直接にターゲット・システム24と通信す
ることはない。そうではなく、部分14Bは、ネットワーク22を介してターゲ
ット・インターフェース層26に伝送するために、複数のコマンドを1つのネッ
トワーク・パケットにパッケージングする。ただし、このパケットは、例えば、
ユニバーサル・データグラム・プロトコル/インターネット・プロトコル(UD
P/IP)ソケットを通過して伝送されるパケットである。コマンド・データ・
パケットを受け取ると、パケットの中の情報に基づいて、ターゲット・インター
フェース層26は、特定のターゲット・システム24への通信をどのように処理
するかを判断し、次に、特定のターゲット・システム24の要求に従ってパケッ
トの中のコマンドを通信する。従って、部分14Bは標準的なプロトコルに従っ
てネットワーク22を介しての通信を行うだけでよいが、他方で、ターゲット・
インターフェース層26は、様々なプロトコルに従ってターゲット・システム2
4と通信する。
【0021】 ターゲット・システム24とスクリプト17との性質に依存しながら、企業シ
ステム10は、様々な機能を実行することができる。企業システム10のいくつ
かの実施例の例を、次に説明する。図1Bを参照すると、企業システム10は、
ローカル・エリア・ネットワーク、ワイド・エリア・ネットワーク、イントラネ
ット、インターネット又はそれ以外の任意のネットワーク・タイプなど、様々な
ネットワークにわたって分散させることができ、ネットワークを介してのシステ
ムの動作を統合し制御することができる。図1Cを参照すると、企業システム1
0は、インテリジェントなオーディオ/ビジュアル・システム、換言すると、イ
ンテリジェントなテレビジョンであり、ユーザがテレビ受像器と対話をして、シ
ョッピング、バンキング、ビデオ会議、家庭内装置の制御、オンデマンドで様々
な番組を視聴するなど、様々なタスクを実行することを可能にしている。EAD
IPECP14は、様々なターゲット・システム24を単一の企業レベルでのシ
ステム10に統合し、スクリプト17に従って処理を実行して様々な機能を実現
することを可能にする。このようなスクリプトの例が、図4A及び図4Bに示さ
れている。
【0022】 図1Dを参照すると、企業システム10の実施例の別の例は、通信ネットワー
ク・モニタ・システムである。EADIPECP14により、通信ルータ、リモ
ート・ワークステーション、電子メール・サーバ及び外部モデムを含む様々なシ
ステム24を統合して、通信クライアントの通信ネットワークのパフォーマンス
をモニタすることができる。図示されているように、EADIPECP14にモ
ニタされるシステムには複数のタイプがあり、それぞれのタイプが一意的な通信
プロトコルを要求するのが通常である。
【0023】 図1Eを参照すると、企業システム10の実施例の更に別の例は、ワールド・
ワイド・ウェブ上の顧客(カスタマ)にサービスを提供している電子コマース・
システムである。このシステムでは、EADIPECP14によって、レガシー
・システム、コール・センタ・システム、金融システム(例えば、クレジット報
告システム、クレジットカード取引承認システム、リース・システム、バンキン
グ・システム)、レガシー・データベース、在庫管理及びロジスティック・シス
テム及び購入者のウェブ・ブラウザなどを含むような様々なターゲット・システ
ム24を統合し、スクリプト言語を用いた完全に電子コマース・システムを実現
することができる。
【0024】 企業システム10の上述の例から明らかなように、システム24は、以下のよ
うな様々なシステムでありうる。ただし、これは、限定列挙ではない。 ・コンピュータ・システム(例えば、クレジット報告機関のコンピュータ・シ
ステム、ユーザごとにコンフィギュレーションが決定されるコンピュータに対す
る購入注文を受け取るコンピュータ製造業者のコンピュータ・システム、銀行の
コンピュータ・システムなど); ・アプリケーション・プログラム(例えば、ウェブ・ブラウザ、スピーチ・テ
キスト発生器、データベース、ビデオライブラリなど)、電子的に制御される物
理的装置(例えば、マイクロプロセッサ制御のポンプ、ルータ、電気リレー、機
関車など); ・コンピュータと対話している人間(ハンドヘルド型装置と対話している現場
の技術者、カスタマ・サービス担当者、プラント管理者など); ・図1Fにおいて8つのレベルの抽象度で表現されているものの中の任意の1
つで動作する任意のコンピュータ・プログラム、すなわち、サーバ層、システム
管理層、オペレーティング・システム層、ネットワーク層、ミドルウェア層、ア
プリケーション開発ツール層、アプリケーション層及びユーザ・インターフェー
ス層である。
【0025】 もちろん、このリストは網羅的ではなく、システム24の単なる例示である。 システム10の上述の例から明らかなように、EADIPECPは、様々なア
ーキテクチャを有しうる。例えば、EADIPECP14は、サーバ部分14B
とクライアント部分14Aとを有する分散型アーキテクチャであって、サーバ2
0とクライアント・コンピュータ12との間に分散されている場合もあるし、E
ADIPECP14の全体が1つのコンピュータ上で動作したり、又は、3以上
のコンピュータの間で分散型の態様で動作する場合もありうる。EADIPEC
P14のこれら様々な分散された部分の機能は、異なる実施例では変化しうる。
例えば、ある実施例では、EADIPECP14のクライアント部分14Aは、
ユーザ入力スクリプト17を処理し、スクリプト17をEADIPECP14の
サーバ部分14Bに送る前にそれらをコンパイルするなどの著しい機能を有しう
る。別の実施例では、EADIPECP14のクライアント部分14Aは、オペ
レータ12からスクリプト17を取得してこれらのスクリプトをサーバ部分14
Bにおくって処理を行うというだけを意図する限定的な機能を有する、単なる入
力端子として作用する場合もありうる。以下の説明では、コンピュータ16とサ
ーバ20との上で動作している部分の間での区別は、特に言及する場合以外には
行わないこととする。EADIPECPは、1つ又は複数の記憶媒体上に記憶す
ることができる1つ又は複数のプログラム及びプログラム・モジュールを備えて
いる。ここで、記憶媒体は、揮発性でも不揮発性でもかまわない。従って、「記
憶媒体上に記憶されたコンピュータ・プログラム」と称する場合には、それが1
つのプログラム及びプログラム・モジュールでも複数のプログラム及びプログラ
ム・モジュールであっても、また、1つ又は複数の揮発性又は不揮発性記憶媒体
に記憶されているのかどうかなどとは関係なく、コンピュータ・プログラムを含
むものとする。
【0026】 更に上述の例からわかるように、企業システム10の実施例の中に組み入れら
れたターゲット・システム24は、ターゲット・システム24との通信に用いら
れるデータ通信プロトコルを複数用いるのに、EADIPECP14を必要とす
る場合がある。データ通信プロトコルについて言及する場合には、そのターゲッ
ト・システムとの通信のためのターゲット・システム24のそれぞれによる要件
を意味している。このシステムは、図1Fに示された抽象度のレベルを介しても
、又は、これらの層の内部でも相互に通信することができる。データ通信プロト
コルは、ターゲット・システム24のAPIの要件、ジャバ方法呼び出し(Java
(登録商標)method invocation)プロトコル、ジニ(Jini)プロトコル、CO
RBAプロトコル、COMオブジェクト・インターフェース、ODBC/SQL
データベース・インターフェースの要件、オープン・ディレクトリ・プロトコル
、UNIX(登録商標)ソケット、SNMP、XMLやHTMLなどのインター
ネット・データ標準、RS−232などのシリアル・データ通信プロトコル、そ
れ以外のネットワーク・インターフェース標準、高レベルであっても低レベルで
あってもインターフェースのこれ以外の将来のインターフェースの抽象度である
。プロトコルはメッセージの内容とは関係せず、ある装置から別の装置へのメッ
セージを通信するタスクに関係する。ストーリングズ(Stallings)はその著書
である"Data and Computer Communications"(第2版、1988年)の10ペー
ジでデータ通信プロトコルを次のように定義している。
【0027】 「プロトコルは、異なるシステムにおけるエンティティの間での通信に用いら
れる。ここで、「エンティティ」及び「システム」という用語は、非常に一般的
な意味で用いられている。エンティティの例は、ユーザ・アプリケーション・プ
ログラム、ファイル転送パッケージ、データベース管理システム、電子メール設
備、端末などである。システムの例は、コンピュータ、端末、リモート・センサ
などである。場合によっては、エンティティとシステムとは同時に存在すること
もある(例えば、端末など)ことに注意してほしい。一般的には、エンティティ
とは情報を送信又は受信することができる任意のものであり、システムとは1つ
又は複数のエンティティを含む物理的に判別できる目的物(オブジェクト)であ
る。2つのエンティティが通信に成功するには、これら2つのエンティティが「
同じ言語を話す」ことが必要である。何が通信されるのか、どのように通信され
るのか、そしていつ通信されるのかは、関係する複数のエンティティの間で相互
に受け入れることができる規約に従わなければならない。この規約のことをプロ
トコルと称するが、2つのエンティティの間でのデータ交換を規制する規則の組
として定義することができる。プロトコルのキーとなる要素発議の通りである。
すなわち、シンタクス(データ・フォーマットや信号レベルなどを含む)、セマ
ンティクス(協調(coordination)やエラー処理のための制御情報を含む)及び
タイミング(整合やシーケンシングの速度を含む)である。」 次に、図2を参照して、EADIPECP14のアーキテクチャ及び動作をよ
り詳細に説明する。EADIPECP14は、メタスクリプト開発環境30と、
企業レベルでの統合及び処理実行エンジンとを含む。メタスクリプト開発環境3
0は、スクリプト開発プラットフォーム32と、コンパイラ34と、データベー
ス36とを含む。スクリプト開発プラットフォーム32は、オペレータと会話し
て企業レベルでの統合及び処理実行スクリプト17を取得し、スクリプト17を
コンパイラ34に供給するコンピュータ・プログラム・モジュールである。スク
リプト17は、UIインターフェース・スクリプト言語で入力され記憶される。
UIスクリプト言語は、ステートメントなどの自然言語を用いる高級な手順的な
言語である。従って、スクリプト17は、実行するためにより低級な言語やアセ
ンブリ言語にコンパイルされることはない。その代わりに、スクリプト17は解
釈され、それが書かれている高いレベルで実行される。スクリプト言語でのプロ
グラムにおいて一般的であるように、スクリプト17は、EADIPECP14
によって制御される様々な構成要素の間で高級な接着剤として作用する。スクリ
プト言語に関するこれ以上の詳細は、John K. Ousterhout, "Scripting: Higher
Level Program for the 21st Century", IEEE Computer (March 1998)を参照し
てほしい。この内容は、本出願において援用する。
【0028】 UIスクリプト言語は非常に柔軟でありコンフィギュレーション変更可能な言
語であり、これによると、オペレータは、高級なコマンドを用いて複数の共通点
を有しておらず互換でないターゲット・システム24を動作させることができる
。例えば、ターゲット・システム24は、複数のアプリケーション・プログラム
を含み、それぞれが、同じ機能を実行する一意的なコマンドを必要とする場合が
ありうる。例えば、ターゲット・システム24は複数のデータベースであって、
それぞれのデータベースが異なるAPIと書き込み動作のための異なるコマンド
・シンタクスとを有することがありうる。UIスクリプト言語によって、オペレ
ータは、単一のコマンド及びコマンド・シンタクスとを用いてそれぞれのデータ
ベースすべての中に書き込みをすることが可能になる。例えば、オペレータは、
新たなレコードをデータベースに挿入するコマンドWRITEを定義することが
できる。オペレータは、以下のシンタクスを有するコマンドを定義することがで
きる。すなわち、WRITE<DATA>IN<DATABASE NAME>である。次にオペレータは、こ
の1つのコマンドを用いて、どのデータベースがどのような特定のコマンドを要
求するかとは関係なく、任意のデータベースへの書き込みをすることができる。
【0029】 この構成を実現するには、ターゲット・システム24のそれぞれを、コマンド
、パラメータ並びに入力及び出力通信プロトコルの要件の組に抽象化することが
できる。これらのコマンド、パラメータ及び要件は、一般的なコマンドとの関係
でデータベース36に記憶される。図3Aを参照すると、データベース36は、
オペレータ12によって入力された高級スクリプト・コマンドがターゲット・シ
ステム24に送られる適切なコマンドの上にマップ(写像)されることを可能に
する要素の間の関係を記憶している多数のコマンド・テーブルを含む。コマンド
・テーブルは、高級UIスクリプト言語コマンドとこの高級UIスクリプト言語
コマンドが関係するターゲット・システムのコマンドとの間の関係を記憶してい
る。一方、ターゲット・システムのコマンドのそれぞれは、そのコマンドを定義
するパラメータの組の中に抽象化される。次に、このパラメータの組は、定義テ
ーブル80に記憶される。定義テーブル80は、「コマンド」定義テーブル82
、「シェル・パラメータ(shell#params)」定義テーブル84及び「パラメータ
」定義テーブル86を含む。コマンド定義テーブル82は、UIスクリプト言語
において用いられるコマンド名と、ターゲット・システムとの通信に用いられる
ターゲット・システム・ハンドラと、ターゲット・システムとの通信に責任を有
するターゲット・インターフェース層のアドレス(例えば、従来型のインターネ
ット・プロトコルと、ターゲット・システムとの通信のためのポート番号とで表
現される)と、ターゲット・システムを制御しているコンピュータのコンピュー
タ・データ・フォーマットのタイプとを特定する。シェル・パラメータ定義テー
ブルは、コマンド・シンタクスを定義するパラメータと、特定のターゲット・シ
ステムに適切なコマンドに対するパラメータ定義とを含み、後者には、コマンド
名及びタイプと、パラメータ名及びタイプとが含まれる。パラメータ定義テーブ
ル86は、スクリプト17において用いることができるパラメータの定義を含む
。以下で説明されるように、スクリプトにおける任意のコマンドに対して、コン
パイラ34は、データベース36にアクセスし、適切な定義テーブル80を検索
し、コマンド・ラインを有する定義テーブルを実行エンジンに提供される実行可
能なファイルに記憶する。
【0030】 図3Bを参照すると、データベース36は、また、ターゲット・システム24
から検索されるデータに対するデータ・オブジェクト・テーブル87を記憶して
いる。データ・オブジェクト・テーブル87は、例えばターゲット・システムか
らデータを要求するときにオペレータがスクリプト17において用いることがで
きる特定のデータ・オブジェクトを定義するクラス定義テーブル88を含む。デ
ータ・オブジェクト・テーブル87は、また、ターゲット・システム24の特定
の1つから受け取るデータの特性を記憶するインスタンス定義テーブル89を含
む。一般に、ターゲット・システムからのデータは2つの方法の一方の態様で受
け取られうる。すなわち、装置からのコマンド読みとりに応答してか、又は、タ
ーゲット・システムによって始動された伝送においてか、のいずれかである。タ
ーゲット・システムから読み取られるコマンドは、かつて読まれたことがあるコ
マンドか、又は、インスタンス定義テーブル89において定義されている循環レ
ートによって特徴付けられる反復的な読み取られたコマンドか、である。インス
タンス定義テーブル89は、また、ターゲット・システムとの通信に用いられる
特定のターゲット・システム・ハンドラに関する情報を含む。ターゲット・シス
テムが独立にかつコマンドに応答してでなくデータを提供する場合には、データ
は、ターゲット・システムによって、適切なターゲット・システム・ハンドラに
送られる。
【0031】 図4を参照すると、スクリプト・プログラムは、1つ又は複数のプログラム・
バンドルによって構成されている。プログラム・バンドル90などのそれぞれの
プログラム・バンドルは、典型的には、相互にパラレルに実行される複数のシー
ケンス92を含む。シーケンス92のそれぞれは、別のシーケンスを始動(ロー
ンチ)させ、始動しつつあるシーケンスと並行して実行させることができる。シ
ーケンス92は、また、タスクのシーケンシャルな実行を要求するサブシーケン
ス94へのコールを実行することができる。図4Aは、スクリプトを入力するの
に用いられるグラフィクス・ユーザ・インターフェースの例を示している。図4
Bは、スクリプトの例を示している。図に見えるように、表示されたスクリプト
は高級言語で書かれており、理解が容易なコマンドを多く含んでいる。
【0032】 プログラム・バンドル90は、3つのコマンドの中の1つによって制御される
。すなわち、バンドルをインストールし実行させるINSTALLコマンド、バ
ンドルを実行から取り除くREMOVEコマンド及び特定のバンドルの実行を停
止させるHALTコマンドである。シーケンス92は、6つの異なるコマンドに
よって制御される。すなわち、シーケンスの実行を開始するSTARTコマンド
、シーケンスの実行を停止させるSTOPコマンド、シーケンスの実行を再開さ
せるRESUMEコマンド、シーケンスの実行の際にシングル・ステップを行わ
せるSINGLESTEPコマンド、シーケンスの特定のラインにおいて実行を
保持させるHOLDATコマンド及びシーケンスの実行を現に実行されているも
のとは別のステートメントにジャンプさせるJUMPTOコマンドである。
【0033】 UIスクリプト言語は、また、2つの重要な特徴を有している。第1に、UI
スクリプト言語は、同じレベルにいる人間とのインターフェースを、ターゲット
・システム24の1つとのインターフェースの場合と類似した態様で提供する。
図1をまた参照すると、ターゲット・システム24が、コンピュータと対話する
人間であるオペレータを含むように示されている。UIスクリプト言語によれば
、ターゲット・システムとの場合と同じようにそのオペレータと対話することが
可能になる。すなわち、コマンドをそのオペレータに送られ、オペレータは、デ
ータ読み出しに関して質問され、オペレータは、観察を行い、又は、任意の他の
様々なタスクをするように求められる。UIスクリプト言語は、そのような通信
をイネーブルする単純な高級コマンドの組を提供する。コマンドの中の2つは、
オペレータに応答を要求する。すなわち、承認コマンドはイエス又はノーという
回答を要求し、質問コマンドはそれよりも詳細な回答を要求する。コマンドの中
の3つは、オペレータからの回答を要求する。すなわち、メッセージ・コマンド
は、非緊急メッセージを配送し、警告コマンドは緊急メッセージを配送し、無視
(ディスリガード)コマンドはオペレータに先の質問又は承認コマンドを無視す
るように伝える。休止(ポーズ)サブコマンドは、これらのコマンドの任意の1
つにオプションで追加することができる。休止サブコマンドは、オペレータが適
切であるように再開(レジューム)コマンド、又は、応答(レスポンド)コマン
ドを送るまで、シーケンスの実行を停止させる。
【0034】 第2に、EADIPECP14は、1つのシーケンスが別のシーケンスの実行
状態をモニタする能力を与える。そうするためには、オペレータは、単に、1つ
のシーケンスにおいて単純な状態質問(STATUS query)を含ませるだけでよい。
そのような状態質問からの結果に基づき、オペレータ12は、質問シーケンスを
要求して一連のタスクを実行する。オペレータ12は、上述の6つのシーケンス
・コマンドの任意の1つを実行するように選択することができ、その状態に応じ
て、質問されたシーケンスは、例えば、エラー条件のためにシーケンスを中断さ
せる。UIスクリプト言語の更なる特徴及び能力は、ここでこれ以上説明はしな
い。説明は、1999年1月22日に出願された米国特許仮出願第60/116
,754号と、1998年10月16日に出願された米国特許仮出願第60/1
04,654号とにおいて見つけることができる。
【0035】 再び図2を参照すると、スクリプト17を入力した後で、オペレータ12は、
スクリプトをコンパイルするプロセスを開始することができる。コンパイラ34
は、スクリプト17をASCIIスクリプト・リスティング・ファイル40とバ
イナリ実行可能なスクリプト・ファイルとにコンパイルする。スクリプト17を
コンパイルするときには、コンパイラ34は、必要に応じて、データベース36
にアクセスする。コンパイラ34は、スクリプト17のパージングを行い、スク
リプト17が適切なUIスクリプト言語シンタクスを有していることを確認する
。コンパイラ34は、UIスクリプト言語ステートメント(例えば、WHEN/WHENE
VERステートメント)とカスタマイズされたコマンド(例えば、WRITE <NAME> TO
CUSTOMER DATABASE)とを識別する。
【0036】 カスタマイズされたコマンドに関しては、コンパイラ34は、コマンド・テー
ブル(図4)を記憶するデータベース36にアクセスする。コンパイラ34は、
コマンド定義テーブル80の対応する1つを備えたそれぞれのコマンドを用いて
記憶する。コンパイラ34は、また、対応する1つのデータ・オブジェクト定義
テーブル87を用いて、それぞれのデータ検索リクエストを記憶する。
【0037】 スクリプト17をコンパイルした後で、コンパイラ34は、ASCIIスクリ
プト・リスティング・ファイル40とスクリプト実行可能なバイナリ・ファイル
42とを、例えばサーバ20上で動作する実行エンジン52に送る。実行エンジ
ン52は、スクリプト実行可能なバイナリ・ファイル42を実行して、コマンド
・データ・パケットを、ターゲット・インターフェース層26を介してターゲッ
ト・システム24に送る。実行エンジン52は、また、コマンドを、モニタ及び
制御表示モジュール56とに提供し、このモジュールは、これらの入力を、様々
なディスプレイと、テキスト・スピーチ発生器58を好ましくは含む出力ターゲ
ット・システムとに提供する。
【0038】 実行エンジン52は、循環的な通過を実行することによって、シーケンスを並
列的に実行する。それぞれの通過の間に、実行エンジン52は、多数の「非ブロ
ック型」のステートメントを選択された限度まで、シーケンスのそれぞれに現れ
る順序で実行する。非ブロック(non-blocking)型ステートメントとは、実行エ
ンジン52を別のシーケンスに移動させないステートメントである。すべてのシ
ーケンスを循環した後で、実行エンジン52は、もし存在するのであれば、次の
インストールされたバンドルを介して循環する。最後のバンドルを実行した後で
は、実行エンジン52は、サーバ20のオペレーティング・システムによってコ
ールされるまでは、眠ることになる。通過の頻度は、オペレータによって、スク
リプトの一部として又はオペレータの質問を介して決定されるように、選択する
ことができる。それに対し、サーバ20のオペレーティング・システムは、実行
エンジン52にその通過の中の1つを開始させる。すなわち、オペレータによっ
て選択された頻度に従ってエンジン52の「目を覚まさせる」。複数の実行エン
ジンを異なる頻度で動作させることも可能であることに注意すべきである。
【0039】 図5を参照すると、実行エンジン52がコマンドに遭遇すると、実行エンジン
52は、コマンド(例えば、WRITE<NAME>TO CUSTOMER COMPLAINT DATABASE)を
、適切なターゲット・システム24と通信する責任を有しているターゲット・イ
ンターフェース層26に送られるべきコマンド・データ・パケットと交換する。
コマンド・データ・パケットは、少なくとも2つのタイプの情報を有している。
第1に、パケットは、特定のターゲット・システムに送られるべきコマンドを含
み、これには、コマンド名と任意のパラメータ値とが含まれる。コンパイラ34
は、ユーザ入力変数(例えば、NAME)をターゲット・システムによって要求され
ターゲット・システムによって要求されるデータ・フォーマットを有する値に変
換する。第2に、パケットは、適切なターゲット・インターフェース層26のア
ドレスと、ターゲット・インターフェース層26(図4)の中のターゲット・シ
ステム・ハンドラ・モジュールと関連する特定のハンドラを伴う識別子とを含む
。この識別子は、この特定のハンドラと関連する一意的な識別子でありうる。こ
の識別子は、ターゲット・システムと通信するときにターゲット・インターフェ
ース層26によって用いられるデータ通信プロトコルを指示し従って間接的にハ
ンドラを識別するプロトコル・フラグでもありうる。コマンド・データ・パケッ
トは、ターゲット・システムを識別する識別子を含むこともある。また、ターゲ
ット・システムからデータを取得する読み出し動作を実行する頻度など、ターゲ
ット・システム・ハンドラに対するデータ及びコマンドを有しうる。
【0040】 1つのターゲット・システム24に向けられたコマンド・データを形成した後
で、実行エンジン52は、コマンド・データ・パケットを、検索すべきターゲッ
ト・インターフェース層26に対するUDP/IPソケット100の上に配置す
る。このUDP/IPソケットは、コマンド・データ・パケットを、ワールド・
ワイド・ウェブなどのネットワークを介して、コマンド・データ・パケットにお
けるIPアドレスによって識別されるターゲット・インターフェース層26の位
置まで転送させる。コマンド・データ・パケットをソケット100を検索すると
、ターゲット・インターフェース層26のターゲット・インターフェース・サー
バ102は、コマンド・データ・パケットをパージングする。ターゲット・シス
テム・ハンドラ情報(図3Aにおけるコマンド定義テーブル82においては「プ
ロトコル・タイプ」として識別されている)に基づき、ターゲット・インターフ
ェース・サーバ102は、ターゲット・インターフェース・ライブラリ104に
アクセスして、アドレシングされたターゲット・システムと通信する責任を有す
る特定のターゲット・システム・ハンドラ105を決定する。ターゲット・イン
ターフェース・ライブラリ104は、例えば、サン・マイクロシステムズによる
ジャバ・プログラミング言語で書かれたターゲット・システム・ハンドラ105
を記憶し、ターゲット・システム24と通信する。それぞれのターゲット・シス
テム・ハンドラ105は、これらのシステムによって要求されるプロトコルに従
って、ターゲット・システム24の所定の組と通信することができる。ターゲッ
ト・システム・ハンドラ105には、1つのプロトコルだけを用いて通信するこ
とができ、プロトコル・タイプを、ターゲット・インターフェース・サーバ10
2へのハンドラを識別する代理(surrogate)として用いることができる。ター
ゲット・インターフェース・サーバ102は、仮想的なジャバ・マシンで動作す
る適切なモジュールに頼り、ターゲット・システムに接続し、そのコマンドをタ
ーゲット・システム24に送ってコマンドを通信する。
【0041】 図6を参照すると、図示されているように、コマンドMESSAGE(メッセ
ージ)、WARNING(警告)、CONFIRM(承認)、QUERY(質問
)、DISREGARD(無視)が用いられて人間であるオペレータとの通信が
なされている。これらのコマンドは、テキスト・スピーチ(テキストからスピー
チを作成する)発生器58を用いた通信に用いられるAPIハンドラを指示する
APIハンドラ識別子を用いて、コンパイルされる。APIハンドラ・フラグは
、例えば、ジャバ・スピーチAPI(JSAPI)やマイクロソフト・スピーチ
API(MSAPI)などの産業標準となっているAPI、又は、標準的ではな
いパッケージに固有のジャバ又はC言語APIを識別するインジケータであり、
それによって、適切なハンドラを間接的に識別することができる。
【0042】 実行の間には、実行エンジン52は、スクリプト・モニタのためのソケット1
06上にスピーチに関係するコマンド・データ・パケットを配置し、検索のため
のモジュール60が表示されるように制御される。モジュール60は、次に、(
好ましくは、TCP/IP)ソケット110を介して、パケットをスピーチ・イ
ンターフェース・クライアント・モジュール108を送る。スピーチ・インター
フェース・クライアント110は、APIフラグを用いて適切なジャバ・モジュ
ールを検索し、APIと通信し、ジャバ・モジュールのインスタンスがジャバ仮
想マシンにロードされる。ジャバ・モジュールは、次に、テキスト・スピーチ発
生器58のAPIによって要求される様態で、メッセージをテキスト・スピーチ
発生器58に送る。
【0043】 上述のように、ターゲット・システム24からのデータは、実行エンジン52
からのコマンドに応答して受け取られるか、又は、ターゲット・システム24か
ら独立に送られるかのいずれかである。データがターゲット・システム24の1
つから受け取られるので、インターフェース層26で動作してターゲット・シス
テムと通信するターゲット・システム・ハンドラは、そのターゲット・システム
によって要求されるプロトコルに基づいてデータを受け取る。データがコマンド
に応答して受け取られる場合には、データは、コマンド・データ・パケットの中
のデータ・オブジェクト情報に従って再フォーマット化され、次に、ソケット1
00を介して実行エンジン52に送られる。しかし、データがどのようなコマン
ドにも応答して送られたのではない場合には、データは、単に、パケットの中に
配置され、ソケット100を介して実行エンジン52に送られる。実行エンジン
52は、次に、そのようなデータを扱うように設計されている特定のシーケンス
を開始させる。
【0044】 スピーチ・インターフェース・クライアント108は、ターゲット・インター
フェース層26の限定された特別な場合であることに注意すべきである。従って
、ターゲット・インターフェース層26は、スピーチ・インターフェース・クラ
イアント108と同じ機能を実現するのに用いることができる。
【0045】 明らかなように、上述のアーキテクチャは、本質的に、実行エンジン52を、
複数の共通部分のないターゲット・システムとの通信を扱うタスクから分離する
。その代わりに、上述のアーキテクチャは、様々な通信プロトコルの要件を実行
可能なファイルに含まれているデータ構造の中にカプセル化(encapsulate)し
ている。これらのデータ構造のコンテンツは、次に、実行エンジン52によって
コマンド・データ・パケットの中に含まれる。ただし、このときに、実行エンジ
ン52がこれらの作用して通信を開始させることはない。端的にいえば、システ
ム24とのデータ通信は、実行エンジン52にコマンド・データ・パケットを単
にパッケージングしてそれらを一様な通信プロトコル(ここでは、UDP/IP
)に従って送ることによって、実行エンジン52に対して、透過的で比較的単純
なる。このアーキテクチャによると、高レベルでルール・ベースの決定をすると
いうタスクを、これらのルール・ベースの決定の結果を実現するターゲット・シ
ステムとインターフェースをとるというタスクから分離することを可能になり、
それによって、企業システム10の拡張性、柔軟性及び堅牢(ロバスト)性を高
めることができる。更に、このアーキテクチャによると、ターゲット・インター
フェース層26とターゲット・システム・ハンドラ105とを、複数のターゲッ
ト・システム24と通信するための下部構造(インフラストラクチャ)が既に配
置されているのが典型的であるクライアント・コンピュータに配置することが可
能になり、他方で、実行エンジン52とターゲット・システム・ハンドラとの間
の通信は、ロバストなネットワーク(例えば、インジケータやWWW)を介する
、ロバストなネットワーク・プロトコル(UDP/IPやTCP/IP)に従う
通信に限定される。
【0046】 図7A及び図7Bを参照すると、実行エンジン52は、1つ又は複数のターゲ
ット・インターフェース層26と通信することができる。更に、1つのターゲッ
ト・インターフェース層26Aから、特定のターゲット・システム24と実際に
通信する別のターゲット・インターフェース層26Bまで、コマンド・データ・
パケットが送られる。従って、図7Aでは、ターゲット・インターフェース層2
6Aは、ターゲット・インターフェース・クライアント・ハンドラ105Aを介
して別のターゲット・インターフェース層26Bのターゲット・システムに向け
られたコマンドを送ることができる。ターゲット・インターフェース層26Aを
介して送られるコマンドのデータベース・エントリは、単に、コマンド・データ
・パケットがターゲット・インターフェース層26Aのターゲット・システム・
ハンドラ105Bに送られるべきであるということを示唆するエントリを含む。
クライアント・システム・ハンドラ105Bは、パケットを他のターゲット・イ
ンターフェース層に送るように一意的に設計されている。コマンド・データ・パ
ケットを受け取ると、ターゲット・システム・ハンドラは、コマンド・データ・
パケットを処理し、ハンドラ自身の情報に基づいて、コマンド・データ・パケッ
トをどのターゲット・インターフェース層に送るべきかを決定する。これは、コ
マンドの目的地が実行エンジン52には未知であるファクタに依存するようなタ
イプのアプリケーションにとっては特に有用である。例えば、コマンドが3つの
クレジット報告機関の1つからのカスタマに対するクレジット・レポートを取得
することになりうる。クライアント・システム・ハンドラ105Bは、高レベル
のインテリジェンスを有しており、これにより、例えば、最近のデータに基づい
て、3つの中のどの機関が最も高速なターンアラウンド時間を有しているかを判
断して、コマンド・データ・パケットをその特定のクレジット報告機関に送る。
当業者にとっては明らかなように、他のタイプのインテリジェントなルーティン
グ能力を、ターゲット・システム・ハンドラ105Bとターゲット・インターフ
ェース層26Aとに容易に組み入れることもできる。
【0047】 ターゲット・インターフェース層26は、また、他の実行エンジン52と相互
作用して、そのほかのエンジンの動作を制御、モニタ及び実行する。従って、実
行エンジン52は、他のエンジンの動作の開始、停止又はそれ以外の方法で影響
を与えることに向けられたコマンドを生じることができる。そのようなコマンド
は、次に、当該他の実行エンジンに接続されたソケット112へのターゲット・
インターフェース層26を介して、当該他の実行エンジンに送ることができる。
更に、当該他のエンジンは、実行エンジン52のターゲット・インターフェース
層26へのそのソケット106を介して、実行エンジン52に状態データを送る
ことができる。
【0048】 図8を参照すると、実行エンジン52は、モジュール60に、現に実行されて
いるスクリプトの正確な状態をユーザが見ることを可能にするグラフィクス・ユ
ーザ・インターフェースを表示させる。従って、ユーザは、特定のスクリプトの
どのラインが現に実行されているのかを任意の時点で見ることができる。これは
、高級プログラムのアセンブリ言語へのコンパイルを実行するのとは対照的に、
高級プログラムを解釈して実行するという実行エンジンの特徴を利用することに
よって実現される。各ステートメントが完了すると、現在のシーケンス・ステー
トメント番号とパラメータ値とが多数のシーケンス状態値バッファに記憶される
。実行エンジン52によって実行されているラインとステートメント言語プログ
ラムとの間には1対1の関係が存在するので、記憶されているデータとスクリプ
ト言語プログラムとの間には単純な相関がなされる。よって、オペレータは、現
に実行されている特定のステートメントを見るだけでなく、様々なパラメータを
有し条件付の分岐が実行された又は詳細実行されうる値も見ることができる。
【0049】 既に述べたように、UIスクリプト言語によって、シーケンスは、別のシーケ
ンスの状態を判断することができる。この特徴を実現するには、実行エンジン5
2は、各ステートメントの実行の最後に記憶されたデータをチェックして、シー
ケンスの実行状態を判断する。実行状態を反映しているデータが、次に、質問を
している側のシーケンスに送られる。状態チェックの結果をチェックすることに
基づいて、質問側のシーケンスは、質問されている側のシーケンスがどのように
実行されるべきかに関する判断をすることができる。例えば、質問されたシーケ
ンスが、シーケンスの動作を制御する上述したコマンドを用いて、停止、終了、
シングルステップ、再開することもありうる。
【0050】 グラフィクス・ユーザ・インターフェース150は、様々な実行しているバン
ドル及びスクリプトの状態を示す。グラフィクス・ユーザ・インターフェース1
50は、5つのエリアを有している。すなわち、タイトル・バー、メニュ・バー
、ツール・バー、ノートブック・エリア及びメッセージ・データ・エリアである
。タイトル・バー405は、実行エンジン52の現状を支持する。すなわち、ア
クティブ(ACTIVE)かフローズン(FROZEN)かである。トップにあるメニュ・バ
ーは、8つのトップ・レベル・メニュを含む。すなわち、ファイル、コマンド、
アノテーション、リソース、メッセージ、ウィンドウ、フォント及びヘルプであ
る。ファイル・メニュは、次のオプションを含む。すなわち、インストールされ
ているバンドルに関連しないバンドル・リスティング・ファイルを手順ページに
ロードするオープン・リスティング・ファイル、手順ページに表示されたリステ
ィング・ファイルを印刷するプリント・ファイル、アノテーションを見ることや
実行をトラッキングする(これらについては後で説明される)などのユーザの選
好をリセットするデフォルト設定、コントローラを編集してIdをモニタするI
d編集及びプログラムを終了する停止である。コマンド・メニュによって、ユー
ザは、以下のコマンドを実行エンジン52に送ることが可能になる。すなわち、
インストール、フリーズ・オール、リセット・フリーズ、ハルト・バンドル、リ
ムーブ・バンドル、スタート・シーケンス、ストップ・シーケンス、レジューム
・シーケンス、ステップ、ホールド・アット及びジャンプ・ツーである。コマン
ドを受け取るアイテムの状態がそのコマンドに対して有効である場合には、コマ
ンドはイネーブルされる。例えば、シーケンスがアクティブである場合には、ス
タート・シーケンス及びレジューム・シーケンスはディセーブルされる。ターン
・オーバライド・オン・オプションは、必要な場合に、ユーザがこの安全のため
の特徴をバイパスすることを可能にする。このオプションのデフォルトはオフで
ある。
【0051】 アノテーション・メニュは、以下のオプションを含む。すなわち、オン担った
場合には(デフォルトはオン)手順ページにアノテーションを表示するアノテー
ションと、アノテーション・エディタ(後で説明される)を開くアノテート・ラ
インとである。リソース・メニュは、利用可能なリソースの量、すなわち、メモ
リ、バンドル・スロット及びシーケンス・スロットである。メモリ・メニュ41
1は、ユーザが、メッセージ・データ・エリアに表示されるメッセージをフィル
タリングすることを可能にする。このメニュはまた、様々なメッセージが受け取
られたときに発せられる監視警報ビープ音の数を決定するコントロールを含む。
ウィンドウ・メニュによって、ユーザは、ビューイング・モードを選択すること
が可能になる。利用可能なオプションは、サマリ・ページ、手順ページ及びライ
ト(Lite)である(後で説明される)。このメニュはまた、手順ページがスクリ
プトの実行をリアルタイムでトラッキングすべきかどうかを制御するのに用いら
れる。このオプションのデフォルトはオンである。フォント・メニュ413は、
ユーザが表示される情報のためのフォント・サイズを選択することを可能にする
。利用可能なオプションは、小(デフォルト)、中、大である。ヘルプ・メニュ
414は、ユーザが、バブル・ヘルプをイネーブル(デフォルト)又はディセー
ブルすることを可能にする。ツール・バー415は、EADIPECP14の実
行を制御するコマンド・ボタンと、EADIPECP14のディスプレイ・ビュ
ーを制御するナビゲーション・ボタンとを含む。コマンド・ボタンには、4つの
グループがある。すなわち、実行コマンド(フリーズ・オール及びリセット・フ
リーズ)、バンドル・コマンド(ハルト・バンドル、インストール・バンドル及
びリムーブ・バンドル)、シーケンス・コマンド(スタート・シーケンス、スト
ップ・シーケンス及びレジューム・シーケンス)及びステートメント・コマンド
(ホールド・アット及びジャンプ・ツー)である。3つのナビゲーション・ボタ
ン(サマリ・ページ、手順ページ及びライト)は、右側にグループになってまと
められている。ノートブック・エリアは、その瞬間におけるユーザの必要に応じ
てデータの2つの異なる組を表示するのに用いられる。1つのオプションは、サ
マリ・ページにおいてバンドル及びシーケンス状態データ402、403を見る
ことであり、他方のオプションは、手順ページにおいて特定のバンドルのリステ
ィングを表示するということである。ユーザは、ウィンドウ・メニュ又はツール
・バーにおけるナビゲーション・ボタンを用いて、2つのページの間で切り換え
ることができる。各ページについては、後でより詳細に説明される。
【0052】 メッセージ・データ・エリア404は、エクセキュータ(Executor)によって
最も近い時点で発行されたメッセージを表示するメッセージ・リスティング・ボ
ックスと、あるメッセージをフィルタリングによって除去する(この機能はメッ
セージ・メニュにおいても提供される)のに用いられるメッセージ・フィルタと
で構成されている。ユーザは、現在のバンドル、現在のシーケンス、現在のモニ
タID、又は現在のバンドル及び現在のモニタIDによってメッセージのフィル
タリングができる。それぞれのラインは、メッセージを発行したバンドルの名称
である(エクセキュータ・レベルでの誤ったメッセージの場合にはブランク)バ
ンドル名、メッセージを発行したシーケンスの名称である(エクセキュータ・レ
ベル又はバンドル・レベルでの誤ったメッセージ、あるいは、バンドル・インス
トール・アクノレッジメント・メッセージの場合にはブランク)シーケンス名、
スロット番号であるBun#、シーケンス番号であるSeq#、メッセージ・タ
イプであるタイプ、メッセージがディスプレイによっていつ受け取られたかを指
示する日時、及びメッセージのテキストであるメッセージである。各メッセージ
は、メッセージのタイプに基づいてカラー符号化されておる。ここで、Aは青と
して現れているバンドル・インストール・アクノレッジメントのためのタイプ・
インジケータであり、Cはオレンジ色の確認(confirm)であり、Eは赤のエラ
ー・メッセージであり、Mは青のスクリプト・メッセージであり、Qはオレンジ
色の質問であり、Wは金色の警告メッセージである。表示の開始及び中止も金色
で指示される。
【0053】 サマリ・ページ401は、ユーザがエクセキュータ(5)に現在インストール
されているバンドル全体の状態を観察することを可能にする。このバンドル状態
データは、ページのトップのリスティング表示要素において見ることができる。
この表示要素におけるデータは、スロット番号(バンドルがインストールされて
いるスロット)、バンドル名、バンドル状態、バンドルにおいて定義されている
シーケンスの数、バンドル情報及びバンドル・トラッキング・タグである。ハル
ト及びリムーブ・コマンドは、リスティング表示要素における選択されたバンド
ルに対して用いることができる。シーケンス・リスティング表示要素は、ハンド
ル・リスティング表示要素の下側に位置している。この表示要素は、現在選択さ
れているバンドルにおいて定義されているシーケンスすべてに対するシーケンス
・データを含む。この表示要素におけるデータは、シーケンス番号、シーケンス
名、シーケンス状態、現在のステートメント番号、ホールド・アット・ステート
メント番号、シーケンスの開始時間、シーケンスの停止時間及びシーケンス情報
を含む。スタート、ストップ及びレジューム・コマンドは、リスティング表示要
素における選択されたシーケンスに対して用いることができる。
【0054】 図9に示されている手順GUI451は、ユーザがバンドル・リスティング・
ファイルを見ることを可能にする。リスティング・ファイルがインストールされ
たバンドルに対するものである場合には、現在のシーケンスの状態と最後の実行
済ステートメントとがページのトップに表示される。バンドル・プルダウン・メ
ニュが提供され、これによって、ユーザは、別のEADIPECP14リスティ
ング・ファイルをリスティング表示要素の中にロードすることが可能になる。シ
ーケンス・プルダウン・メニュにおけるアイテムを1つ選択することによって、
リスティング表示要素は、選択されたシーケンスまでスクロールされる。ユーザ
がトラッキングをオンにしてある場合には、選択されたシーケンスの中で最も近
い時点で実行されたステートメントが強調され、リスティング表示要素がスクロ
ールされ、それによって、このステートメントはビューの中間に位置するように
なる。トラッキングがオフである場合には、自動スクロール機能がディセーブル
され、それによって、ユーザは、バンドル・リスティング・ファイルの中を自由
にスクロールできるようになる。ユーザがマウスを用いて特定のリスティング・
ラインをクリックすると、このラインは選択されたStmt#として表示される
。これは、ユーザがホールド・アット又はジャンプ・ツー・コマンドを発行する
又はアノテーションを追加、編集及び削除する場合に用いられるライン番号であ
る。
【0055】 アノテーション(EADIPECP14ステートメントと関連するユーザ・コ
メント)がオンになると、このバンドル・リスティング・ファイルと関連するす
べてのアノテーションが、リスティング・ファイルからのデータと共に、リステ
ィング表示要素において表示される。各アノテーションは、異なる色を有する文
字として区別しうるテキスト502において、アノテートされているステートメ
ントのすぐ上に表示される。ユーザは、スクリプトが実行する際にスクリプトを
アノテートすることができる。スクリプトは上述したように高級レベルで実行す
るので、アノテーションはオペレータによって入力されたスクリプト・ステート
メントに対応する。
【0056】 アノテーションを編集するためには、ユーザは、第1に、アノテーション・メ
ニュ・アイテムを選択して選択されたバンドルに対するアノテーションを見る。
これによって、アノテーションが、バンドル・リスティング・ファイルと共に、
リスティング表示要素の中にロードされる。アノテーション・データ・ファイル
・データがスクリーンに表示された後で、ユーザは、バンドル・リスティング・
ファイルの中の特定のステートメントに対するアノテーションを修正することが
できる。これは、第1に、マウスを用いて所望のステートメントを選択すること
によって達成される。選択されたステートメントは強調され、ステートメント番
号は右上のコーナーに選択されたStmt#として現れる。アノテーション・メ
ニュからアノテート・ライン・メニュ・アイテムを選択するか、又は、ラインの
上をダブルクリックすることによって、アノテーション・エディタが図2Iに示
されているように開く。このエディタにおいて、セーブ、デリート及びエキシッ
トがユーザにとって利用可能である。セーブ・ボタンを押下すると、アノテーシ
ョン(.TLN)ファイルがローカルにセーブされる。デリート・ボタンを押下する
と、現在のアノテーションが削除される。エキシット・ボタンを押下すると、エ
ディタが閉じられる。アノテーションが修正されている場合には、警告ウィンド
ウが表示される。この警告ウィンドウは、ユーザに、アノテーションの変更をセ
ーブするか、又は、セーブしないでアノテーション・エディタを終了させるかと
いうオプションを与える。
【0057】 図11に示されているライト・ウィンドウ650は、ユーザが、エクセキュー
タ状態の概要を見ることを可能にする。ユーザは、インストールされているそれ
ぞれのバンドルとそのシーケンスとに対する色の付いた状態ボックスを見ること
ができる。ユーザは、メイン・ウィンドウにおける場合と同じようにメッセージ
を見ることができ、更に、メッセージの上をダブルクリックすることによって、
オペレータ応答リクエストを処理することができる。ライト・ウィンドウ(65
4)は、コマンド・ボタンの3つの組で構成されている。第1の組によって、ユ
ーザは、フリーズ・オール及びリセット・フリーズのコマンドを発行することが
できる。第2の組は、ライト・ウィンドウのビュー・モードを制御するが、ここ
で、第1のモードはメッセージだけを見るモードであり、第2のモードは状態ラ
イトだけを見るモードであり、第3のモードはメッセージとライト652の両方
を見るモードである。コマンド・ボタンの右側の組によって、ユーザは、サマリ
・ページ又は手順ページを有するメイン・ウィンドウに戻ることが可能になる。
任意のライトをダブルクリックすると、手順ページを有するメイン・ウィンドウ
に切り換わり、選択されたセンテンスについては、テキストが現在のステートメ
ントにおいて中心に配置される。図19は、オペレータに提供されたシーケンス
制御表示を示している。
【0058】 本発明の他の実施例も冒頭の特許請求の範囲に含まれる。 例えば、いくつかの実施例では、ターゲット・インターフェース・サーバ10
2は、例えばサイバースペース102の中のどこかにあるリモート・ターゲット
・インターフェース・データベースにアクセスして、適切なジャバ・モジュール
をダウンロードすることができる。
【0059】 ターゲット・システム24は、それぞれが、仮想アドレスによって識別され、
次に、これが、ターゲット・インターフェース層26によってターゲット・シス
テムの物理アドレスにマップされる。この物理アドレスは、ターゲット・インタ
ーフェース層26に対してローカルに又は離れて配置された中央又は分散型デー
タベースに中に存在する。
【0060】 企業システム10は、企業(エンタープライズ)の中にあるシステムのメンテ
ナンス及びモニタリングをアウトソースするための非常に柔軟であり有用なツー
ルである。サービス・プロバイダが、企業のシステムを維持及び監視するという
関係に入ることも可能である。サービス・プロバイダは、企業レベルでの統合及
び処理実行システムをインストールすることができる。サービス・プロバイダは
、企業においてターゲット・インターフェース層をインストールし、その企業の
システムをインターフェース層に接続する。インターフェース層によって、EA
DIPECP14の企業レベルでの統合及び処理実行部分が、サービス・プロバ
イダのサイトにおいて動作し、企業における様々なシステムと相互作用すること
が可能になる。サービス・プロバイダによって書かれたスクリプトは、次に、企
業のシステムを監視及び維持するのに用いることができる。サービス・プロバイ
ダとクライアントのサイトにおけるインターフェース層との間のデータは、例え
ば、セキュリティ目的の仮想的なプライベート・ネットワーク(VPN)を用い
ることによって、インターネットなどの任意のチャネルを介して送ることができ
る。
【0061】 コマンドは、クライアント・コンピュータにおいて1つ又は複数のアプリケー
ション・プログラムを立ち上げ(ローンチさせる)、データをこれらのアプリケ
ーション・プログラムに送るというコマンドを含みうる。例えば、コマンドは、
例えば、ウェブ・ブラウザ、仮想的プレゼンテーション・アプリケーション、ワ
ード・プロセッサなどを立ち上げることができる。これ以外のコマンドによって
、これらのパッケージに送られるべきデータをユーザのために表示させることが
可能になる。
【0062】 図1、図1Aないし図1E及び図2のシステムを実現するコンピュータ・シス
テムは、情報をユーザに表示する出力装置とユーザからの入力を受け取る入力装
置との両方に接続されたメイン・ユニットを含むのが典型的である。メイン・ユ
ニットは、一般に、相互接続機構を介してメモリ・システムに接続されたプロセ
ッサを含む。入力装置及び出力装置もまた、相互接続機能を介してプロセッサと
メモリ・システムとに接続されている。
【0063】 1つ又は複数の出力装置をコンピュータ・システムに接続することができる。
例である出力装置には、ブラウン管(CRT)ディスプレイ、液晶ディスプレイ
(LCD)、プリンタ、モデムなどの通信装置、及びオーディオ出力などを含む
。1つ又は複数の入力装置をコンピュータ・システムに接続することができる。
例である入力装置には、キーボード、キーパッド、トラック・ボール、マウス、
ペン及びタブレット、通信装置、及びセンサなどのデータ入力装置などを含む。
本発明は、コンピュータ・システムと組み合わせて用いられる特定の入力及び出
力装置や、ここで開示されている装置に限定されることはない。
【0064】 コンピュータ・システムは、C++、ジャバ、又はスクリプト言語やアセンブ
リ言語などそれ以外のコンピュータ・プログラミング言語を用いてプログラムが
可能な汎用コンピュータ・システムでありうる。コンピュータ・システムは、ま
た、特別なプログラムがなされている特定用途向けのハードウェアを含むことも
ある。汎用のコンピュータ・システムでは、プロセッサは、典型的には市販され
ているプロセッサであり、例えば、インテル社から入手できるx86シリーズ、
セレロン、ペンティアム(登録商標)・プロセッサ、AMD社及びサイリックス
社から入手できる類似のプロセッサ、モトローラ社から入手できる680X0シ
リーズのマイクロプロセッサ、IBM社から入手できるパワーPC、デジタル・
イクイップメント社から入手できるアルファ・シリーズのプロセッサなどが例で
ある。これ以外の多くのプロセッサも用いることができる。これらのマイクロプ
ロセッサは、オペレーティング・システムと称されるプログラムを実行する。オ
ペレーティング・システムは、その例として、ウィンドウズ(登録商標)NT、
リナックス、UNIX(登録商標)、DOS、VMS、OS2などがあり、他の
コンピュータ・プログラムの実行を制御して、スケジューリング、デバッギング
、入力/出力制御、計算、コンパイル、ストレージの割り当て、データ管理及び
メモリ管理、通信制御、これらに関係するサービスなどを行う。プロセッサとオ
ペレーティング・システムとが、高級プログラミング言語で書かれているアプリ
ケーション・プログラムのためのコンピュータ・プラットフォームを定義する。
【0065】 メモリ・システムは、典型的には、コンピュータ読みとり可能で書き込み可能
な不揮発性の記録媒体を含む。これには、例えば、磁気ディスク、フラッシュ・
メモリ、テープなどが含まれる。ディスクは、フロッピ・ディスクとして知られ
ている取り外し可能なものと、ハード・ドライブとして知られている恒久的なも
のとがある。ディスクは、その中に信号が記憶されている多数のトラックを有し
、この信号は、典型的には2進形式で、すなわち、1及び0のシーケンスとして
解釈される形式で記憶される。これらの信号は、マイクロプロセッサによって実
行されるアプリケーション・プログラムや、ディスク上に記憶されアプリケーシ
ョン・プログラム又はオペレーティング・システムによって処理される情報を定
義することができる。典型的には、動作の際には、プロセッサが、不揮発性の記
録媒体から集積回路メモリ素子の中にデータを読み出させる。集積回路メモリ素
子は、典型的には、DRAMやSRAMなどの揮発性のランダム・アクセス・メ
モリである。集積回路メモリ素子により、ディスクの場合よりも、プロセッサが
情報により高速にアクセスすることができる。プロセッサは、一般に、集積回路
メモリの中のデータを操作し、処理が終了するとデータをディスクにコピーする
。ディスクと集積回路メモリ素子との間のデータの移動を管理するためには、様
々な機構が知られているが、本発明は、それらに限定されることはない。本発明
は、特定のメモリ・システムに限定されルア・コネクタとはないことを理解すべ
きである。
【0066】 データベース36は、任意の種類のデータベースであり、リレーショナル・デ
ータベース、オブジェクト指向データベース、非構造化(unstructured)データ
ベース、それ以外のデータベースを含む。リレーショナル・データベースの例と
しては、米国カリフォルニア州レッドウッド所在のオラクル社によるオラクル8
i、同じくカリフォルニア州メンロパーク所在のインフォミクス・ソフトウェア
社によるインフォミクス・ダイナミック・サーバ、同じくニューヨーク州ヨーク
タウン・ハイツ所在のIBM社によるDB2、同じくワシントン州レッドモンド
所在のマイクロソフト社によるアクセスなどがある。オブジェクト指向型のデー
タベースの例としては、マサチューセッツ州バーリントン所在のオブジェクト・
デザイン社によるオブジェクトストアがある。非構造化データベースの例として
は、マサチューセッツ州ケンブリッジ所在のロータス社によるノーツがある。デ
ータベースは、フラット・ファイル・システムを用いて、例えば、カリフォルニ
ア州スコッツ・バレー所在のインプライズ社(以前は、ボーランド・インターナ
ショナル社)によるdBASEの初期バージョン(現在では、ビジュアルdBA
SEとして知られている)などのように、キャラクタ区切り型(character-deli
mited)フィールドを伴うファイルを用いて、構成することもできる。
【0067】 様々なコンピュータ・プラットフォーム、プロセッサ又は高級プログラミング
言語を本発明の実現のために用いることができる。更に、このコンピュータ・シ
ステムは、マルチプロセッサ型のコンピュータ・システムでもよく、あるいは、
コンピュータ・ネットワークを介して接続された複数のコンピュータを含むこと
もできる。図1のそれぞれのモジュール(例えば、34、52及び26)は、コ
ンピュータ・プログラムの別々のモジュールでもよいし、別々のコンピュータ・
プログラムでもよい。これらのモジュールは、別個のコンピュータに上で動作す
ることも可能である。データは、メモリ・システムに記憶されたり、コンピュー
タ・システムの間で送信されることがありうる。本発明は、ソフトウェア、ハー
ドウェア又はファームウェアを用いたどのような特定の実現例や、どのような組
合せにも限定されない。システムの様々な構成要素は、個別的であっても組合せ
であっても、コンピュータ・プロセッサによって実行される機械可読な記憶装置
において実現された有形的な形態を有するコンピュータ・プログラム・プロダク
トとして実現することができる。プロセスの様々なステップが、コンピュータ可
読な媒体上に有形的に実現されたプログラムをコンピュータ・プロセッサが実行
し入力に対して作用して出力を生じさせ機能を実行することによって、実行され
うる。このシステムを実現させるのに適したコンピュータ・プログラミング言語
は、手順的(procedural)プログラミング言語、オブジェクト指向プログラミン
グ言語及びこれら2つの組合せを含む。
【0068】 この出願に含まれている実施例の説明では、本発明がその意図した目的を達成
する多くの方法の中のいくつかを詳細に述べている。いくつかの実施例について
説明したが、本発明の範囲から逸脱することなく複数の修正を加えることができ
る点は、明らかであろう。
【図面の簡単な説明】
【図1】 図1及び図1Aないし図1Eは、企業レベルでの統合及び処理実行システムの
全体的な概要であり、企業レベルでの統合及び処理実行コンピュータ・プログラ
ムとそのプログラムによって制御される複数のターゲット・システムとを含んで
いる。 図1Fは、企業レベルでの統合及び処理実行コンピュータ・プログラムが通信
するコンピュータ・プログラムの抽象的なレベルでの概略図である。
【図2】 図1の企業レベルでの統合及び処理実行コンピュータ・プログラムの概略であ
る。
【図3】 図3A及び図3Bは、図1の企業レベルでの統合及び処理実行コンピュータ・
プログラムのデータベースに記憶されているコマンド及びデータ・オブジェクト
・テーブルの図解である。
【図4】 企業レベルでの統合及び処理実行エンジンによって実行されるスクリプト・プ
ログラムのアーキテクチャの概略図である。 図4Aは、スクリプト・プログラムを入力するためのグラフィカル・ユーザ・
インターフェースの表現である。 図4Bは、スクリプト・プログラムの例である。
【図5】 企業レベルでの統合及び処理実行エンジンとターゲット・インターフェース層
との間の相互関係に関する概略図である。
【図6】 企業レベルでの統合及び処理実行エンジンと人間との相互作用パッケージとの
間の相互関係に関する概略図である。
【図7】 図7A及び図7Bは、企業レベルでの統合及び処理実行アプリケーション・プ
ログラムを2以上のターゲット・インターフェース層に接続するアーキテクチャ
の概略図である。
【図8】 企業レベルでの統合及び処理実行システムと企業レベルでの統合及び処理実行
コンピュータ・プログラムとの動作を制御するグラフィカル・ユーザ・インター
フェースの表現である。
【図9】 企業レベルでの統合及び処理実行システムと企業レベルでの統合及び処理実行
コンピュータ・プログラムとの動作を制御するグラフィカル・ユーザ・インター
フェースの表現である。
【図10】 企業レベルでの統合及び処理実行システムと企業レベルでの統合及び処理実行
コンピュータ・プログラムとの動作を制御するグラフィカル・ユーザ・インター
フェースの表現である。
【図11】 企業レベルでの統合及び処理実行システムと企業レベルでの統合及び処理実行
コンピュータ・プログラムとの動作を制御するグラフィカル・ユーザ・インター
フェースの表現である。
───────────────────────────────────────────────────── フロントページの続き (81)指定国 EP(AT,BE,CH,CY, DE,DK,ES,FI,FR,GB,GR,IE,I T,LU,MC,NL,PT,SE),OA(BF,BJ ,CF,CG,CI,CM,GA,GN,GW,ML, MR,NE,SN,TD,TG),AP(GH,GM,K E,LS,MW,SD,SL,SZ,TZ,UG,ZW ),EA(AM,AZ,BY,KG,KZ,MD,RU, TJ,TM),AE,AL,AM,AT,AU,AZ, BA,BB,BG,BR,BY,CA,CH,CN,C R,CU,CZ,DE,DK,DM,EE,ES,FI ,GB,GD,GE,GH,GM,HR,HU,ID, IL,IN,IS,JP,KE,KG,KP,KR,K Z,LC,LK,LR,LS,LT,LU,LV,MA ,MD,MG,MK,MN,MW,MX,NO,NZ, PL,PT,RO,RU,SD,SE,SG,SI,S K,SL,TJ,TM,TR,TT,TZ,UA,UG ,UZ,VN,YU,ZA,ZW (72)発明者 リー,ケビン・スゥン−ホー アメリカ合衆国マサチューセッツ州02451, ウォルサム,トラペロ・ロード 1337 Fターム(参考) 5B045 BB02 BB28 BB42 BB48 GG01 5B089 JB10 KA10 KB06 KB09 KF06

Claims (35)

    【特許請求の範囲】
  1. 【請求項1】 コンピュータに実装された方法であって、 エンタープライス制御エンジンが、ターゲット・システムと関連するデータ及
    び命令を処理し、コマンド・データ・パケットを発生するステップであって、前
    記コマンド・データ・パケットは、前記ターゲット・システムに対する少なくと
    も1つのコマンドと、前記コマンドを前記ターゲット・システムに通信するイン
    ターフェース層に対するネットワーク・アドレスとを含む、ステップと、 前記コマンド・データ・パケットを、前記コマンド・データ・パケットの中の
    前記ネットワーク・アドレスに基づきネットワークを介して前記インターフェー
    ス層まで転送させるステップであって、前記インターフェース層は前記コマンド
    を前記ターゲット・システムに通信する、ステップと、 を含むことを特徴とする方法。
  2. 【請求項2】 請求項1記載の方法において、エンタープライス制御エンジ
    ンはサーバ・コンピュータの上で動作し、前記インターフェース層は前記サーバ
    ・コンピュータから離れているクライアント・コントローラの上で動作し、前記
    サーバ・コンピュータと前記クライアント・コンピュータとは前記ネットワーク
    に接続されていることを特徴とする方法。
  3. 【請求項3】 請求項2記載の方法において、前記ターゲット・システムは
    前記リモート・クライアント・コンピュータの上で動作することを特徴とする方
    法。
  4. 【請求項4】 請求項1記載の方法において、前記インターフェース層はプ
    ロトコルに従って前記ターゲット・システムと通信することができることを特徴
    とする方法。
  5. 【請求項5】 請求項4記載の方法において、前記エンタープライス制御エ
    ンジンは第2のプロトコルに従ってデータを前記インターフェース層に送り、前
    記第2のプロトコルは前記第1のプロトコルとは異なっていることを特徴とする
    方法。
  6. 【請求項6】 請求項4記載の方法において、前記エンタープライス制御エ
    ンジンは、第2のターゲット・システムと関連するデータ及び命令を処理して第
    2のコマンド・データ・パケットを発生し、前記第2のコマンド・データ・パケ
    ットは、前記第2のターゲット・システムに対する少なくとも1つの第2のコマ
    ンドと、前記コマンドを前記第2のターゲット・システムに通信するインターフ
    ェース層に対するネットワーク・アドレスとを含むことを特徴とする方法。
  7. 【請求項7】 請求項6記載の方法において、前記インターフェース層は第
    2のプロトコルに従って前記第2のターゲット・システムと通信することを特徴
    とする方法。
  8. 【請求項8】 請求項7記載の方法において、前記第2のプロトコルは前記
    第1のプロトコルとは異なっていることを特徴とする方法。
  9. 【請求項9】 請求項7記載の方法において、前記エンタープライス制御エ
    ンジンは第3のプロトコルに従ってデータを前記インターフェース層に送り、前
    記第3のプロトコルは前記第1及び第2のプロトコルとは異なっていることを特
    徴とする方法。
  10. 【請求項10】 請求項6記載の方法において、前記インターフェース層は
    前記第1のプロトコルに従って前記第1のターゲット・システムと通信するター
    ゲット・システム・ハンドラを含み、前記第1のデータ・パケットは前記ターゲ
    ット・システム・ハンドラを識別するターゲット・システム・ハンドラ識別子を
    含むことを特徴とする方法。
  11. 【請求項11】 請求項10記載の方法において、前記ターゲット・システ
    ム・ハンドラは前記第1のプロトコルと関連し、前記ターゲット・システム・ハ
    ンドラ識別子は前記第1のプロトコルを識別することを特徴とする方法。
  12. 【請求項12】 請求項11記載の方法において、前記ターゲット・システ
    ム・ハンドラは第3のプロトコルに従って少なくとも1つの他のターゲット・シ
    ステムと通信することができることを特徴とする方法。
  13. 【請求項13】 請求項10記載の方法において、前記インターフェース層
    は前記第2のプロトコルに従って前記第2のターゲット・システムと通信する第
    2のターゲット・システム・ハンドラを含み、前記第2のデータ・パケットは前
    記第2のターゲット・システム・ハンドラを識別する第2のターゲット・システ
    ム・ハンドラ識別子を含むことを特徴とする方法。
  14. 【請求項14】 請求項10記載の方法において、前記ターゲット・システ
    ム・ハンドラはジャバ(Java(登録商標))ベースのコンピュータ・プログ
    ラム・モジュールであることを特徴とする方法。
  15. 【請求項15】 請求項1記載の方法において、 前記コマンドに対応する入力をユーザから受け取るステップを更に含むことを
    特徴とする方法。
  16. 【請求項16】 請求項15記載の方法であって、前記入力は前記第1のコ
    マンドとは異なっている、方法において、 前記第2のコマンド・オペレータと前記第1のコマンド・オペレータとの間の
    関係を記憶しているデータベースにアクセスするステップを更に含むことを特徴
    とする方法。
  17. 【請求項17】 請求項16記載の方法において、前記第2のコマンドはス
    クリプト・プログラムの一部であり、前記データベースは前記スクリプト・プロ
    グラムをコンパイルするときにアクセスされることを特徴とする方法。
  18. 【請求項18】 請求項1記載の方法において、 前記ターゲット・システムがデータを前記インターフェース層に送るステップ
    と、 前記インターフェース層が前記データを処理し、前記処理されたデータを前記
    エンタープライス制御エンジンに送るステップと、 を更に含むことを特徴とする方法。
  19. 【請求項19】 コンピュータ読み取り可能な媒体に記憶されたコンピュー
    タ・プログラムであって、 エンタープライス制御エンジンに、ターゲット・システムと関連するデータ及
    び命令を処理させ、コマンド・データ・パケットを発生させる命令であって、前
    記コマンド・データ・パケットは、前記ターゲット・システムに対する少なくと
    も1つのコマンドと、前記コマンドを前記ターゲット・システムに通信するイン
    ターフェース層に対するネットワーク・アドレスとを含む、命令と、 前記コマンド・データ・パケットを、前記コマンド・データ・パケットの中の
    前記ネットワーク・アドレスに基づきネットワークを介して前記インターフェー
    ス層まで転送させる命令であって、前記インターフェース層は前記コマンドを前
    記ターゲット・システムに通信する、命令と、 を含むことを特徴とする方法。
  20. 【請求項20】 コンピュータ・システムであって、 ターゲット・システムと関連するデータ及び命令を処理し、コマンド・データ
    ・パケットを発生するプロセッサであって、前記コマンド・データ・パケットは
    、前記ターゲット・システムに対する少なくとも1つのコマンドと、前記コマン
    ドを前記ターゲット・システムに通信するインターフェース層に対するネットワ
    ーク・アドレスとを含む、プロセッサと、 前記コマンド・データ・パケットを、前記コマンド・データ・パケットの中の
    前記ネットワーク・アドレスに基づきネットワークを介して前記インターフェー
    ス層まで転送させる出力ポートであって、前記インターフェース層は前記コマン
    ドを前記ターゲット・システムに通信する、出力ポートと、 を備えていることを特徴とするコンピュータ・システム。
  21. 【請求項21】 コンピュータに実装された方法であって、 インターフェース層がエンタープライス制御エンジンによって発生されたコマ
    ンド・データ・パケットをネットワークから受け取るステップであって、前記エ
    ンタープライス制御エンジンは、ターゲット・システムと関連するデータ及び命
    令を処理してコマンド・データ・パケットを発生し、前記コマンド・データ・パ
    ケットは、前記ターゲット・システムに対する少なくとも1つのコマンドと、前
    記コマンドを前記ターゲット・システムに通信する前記インターフェース層に対
    するネットワーク・アドレスとを含む、ステップと、 前記インターフェース層が前記コマンドを前記システムに通信するステップと
    、 を含むことを特徴とする方法。
  22. 【請求項22】 コンピュータ・システムであって、 エンタープライス制御エンジンによって発生されたコマンド・データ・パケッ
    トをネットワークから受け取る入力ポートであって、前記エンタープライス制御
    エンジンは、ターゲット・システムと関連するデータ及び命令を処理してコマン
    ド・データ・パケットを発生し、前記コマンド・データ・パケットは、前記ター
    ゲット・システムに対する少なくとも1つのコマンドと、前記コマンドを前記タ
    ーゲット・システムに通信する前記インターフェース層に対するネットワーク・
    アドレスとを含む、入力ポートと、 前記コマンドを前記システムに通信する出力ポートと、 を備えていることを特徴とするコンピュータ・システム。
  23. 【請求項23】 コンピュータに実装された方法であって、 ターゲット・システムと関連するデータ及び命令を処理し、コマンド・データ
    ・パケットを発生するステップであって、前記コマンド・データ・パケットは、
    前記ターゲット・システムに対する少なくとも1つのコマンドと、前記コマンド
    を前記ターゲット・システムに通信するインターフェース層に対するネットワー
    ク・アドレスとを含む、ステップと、 前記コマンド・データ・パケットを、前記コマンド・データ・パケットの中の
    前記ネットワーク・アドレスに基づきネットワークを介して前記インターフェー
    ス層まで転送させるステップであって、前記インターフェース層は前記コマンド
    を前記ターゲット・システムに通信する、ステップと、 を含むことを特徴とする方法。
  24. 【請求項24】 コンピュータ読み取り可能な媒体に記憶されたコンピュー
    タ・プログラムであって、 ターゲット・システムと関連するデータ及び命令を処理させ、コマンド・デー
    タ・パケットを発生させる命令であって、前記コマンド・データ・パケットは、
    前記ターゲット・システムに対する少なくとも1つのコマンドと、前記コマンド
    を前記ターゲット・システムに通信するインターフェース層に対するネットワー
    ク・アドレスとを含む、命令と、 前記コマンド・データ・パケットを、前記コマンド・データ・パケットの中の
    前記ネットワーク・アドレスに基づきネットワークを介して前記インターフェー
    ス層まで転送させる命令であって、前記インターフェース層は前記コマンドを前
    記ターゲット・システムに通信する、命令と、 を含むことを特徴とするコンピュータ・プログラム。
  25. 【請求項25】 コンピュータに実装された方法であって、 メッセージをオペレータに送らせる命令を含む複数の命令をエンタープライス
    制御エンジンにおいて処理するステップと、 前記エンタープライス制御エンジンからのメッセージ・コマンドをスピーチ・
    インターフェース・モジュールに送るステップであって、前記コマンドは、少な
    くとも1つのコマンド・オペレータと、テキスト・スピーチ・コンバータとの通
    信に用いられるアプリケーション・プログラム・インターフェース(API)を
    識別するAPIフラグとを含んでいる、ステップと、 前記APIフラグによって識別されたAPIを用いて、前記スピーチ・インタ
    ーフェース・モジュールにおいて、前記コマンド・オペレータを前記テキスト・
    スピーチ・コンバータに送るステップと、 を含むことを特徴とする方法。
  26. 【請求項26】 請求項25記載の方法において、 スピーチ・レコグナイザにおいて、データを前記スピーチ・インターフェース
    に送るステップと、 前記スピーチ・インターフェースにおいて、前記データを処理するステップと
    、 前記スピーチ・インターフェースにおいて、前記処理されたデータを前記エン
    タープライス制御エンジンに送るステップと、 を更に含むことを特徴とする方法。
  27. 【請求項27】 請求項25記載の方法において、エンタープライス制御エ
    ンジンはサーバ・コンピュータの上で動作し、前記スピーチ・インターフェース
    層は前記サーバ・コンピュータから離れているクライアント・コントローラの上
    で動作し、前記サーバ・コンピュータと前記クライアント・コンピュータとはネ
    ットワークに接続されていることを特徴とする方法。
  28. 【請求項28】 コンピュータ読み取り可能な媒体に記憶されたコンピュー
    タ・プログラムであって、 メッセージをオペレータに送らせる命令を含む複数の命令をエンタープライス
    制御エンジンにおいて処理させる命令と、 前記エンタープライス制御エンジンからのメッセージ・コマンドをスピーチ・
    インターフェース・モジュールに送らせる命令であって、前記コマンドは、少な
    くとも1つのコマンド・オペレータと、テキスト・スピーチ・コンバータとの通
    信に用いられるAPIを識別するAPIフラグとを含んでいる、命令と、 前記APIフラグによって識別されたAPIを用いて、前記スピーチ・インタ
    ーフェース・モジュールにおいて、前記コマンド・オペレータを前記テキスト・
    スピーチ・コンバータに送らせる命令と、 を含むことを特徴とするコンピュータ・プログラム。
  29. 【請求項29】 コンピュータに実装された方法であって、 第1のスクリプト・プログラムを実行するステップと、 前記第1のスクリプト・プログラムと実質的に並行して第2のスクリプト・プ
    ログラムを実行するステップと、 前記第1のスクリプト・プログラムからのコマンドに応答して、前記第2のス
    クリプト・プログラムの実行状態を指示するデータを前記第1のスクリプト・プ
    ログラムに提供するステップと、 を含むことを特徴とする方法。
  30. 【請求項30】 コンピュータ読み取り可能な媒体に記憶されたコンピュー
    タ・プログラムであって、 第1のスクリプト・プログラムを実行させる命令と、 前記第1のスクリプト・プログラムと実質的に並行して第2のスクリプト・プ
    ログラムを実行させる命令と、 前記第1のスクリプト・プログラムからのコマンドに応答して、前記第2のス
    クリプト・プログラムの実行状態を指示するデータを前記第1のスクリプト・プ
    ログラムに提供させる命令と、 を含むことを特徴とするコンピュータ・プログラム。
  31. 【請求項31】 コンピュータに実装された方法であって、 一連の命令を含むコンピュータ・プログラムをリアルタイムに実行するステッ
    プと、 前記第1のプログラムのリアルタイムでの実行と実質的に並行しかつリアルタ
    イムで、前記コンピュータ・プログラムの実行状態とどの命令が現に実行されて
    いるのかとを指示するデータをユーザに提供するステップと、 を含むことを特徴とする方法。
  32. 【請求項32】 請求項31記載の方法において、前記コンピュータ・プロ
    グラムはスクリプト・ベースのコンピュータ・プログラムであることを特徴とす
    る方法。
  33. 【請求項33】 コンピュータ読み取り可能な媒体に記憶されたコンピュー
    タ・プログラムであって、 一連の命令を含むコンピュータ・プログラムをリアルタイムに実行させる命令
    と、 前記第1のプログラムのリアルタイムでの実行と実質的に並行しかつリアルタ
    イムで、前記コンピュータ・プログラムの実行状態とどの命令が現に実行されて
    いるのかとを指示するデータをユーザに提供させる命令と、 を含むことを特徴とするコンピュータ・プログラム。
  34. 【請求項34】 コンピュータに実装された方法であって、 インターフェース層が、第1のプロトコルに従ってターゲット・システムから
    データを受け取るステップと、 前記インターフェース層が、第2のプロトコルに従って前記データをエンター
    プライス制御エンジンに送るステップであって、前記第2のプロトコルは前記第
    1のプロトコルと異なり、前記エンタープライス制御エンジンは前記データを処
    理する、ステップと、 を含むことを特徴とする方法。
  35. 【請求項35】 コンピュータ読み取り可能な媒体に記憶されたコンピュー
    タ・プログラムであって、 インターフェース層に、第1のプロトコルに従ってターゲット・システムから
    データを受け取らせる命令と、 前記インターフェース層に、第2のプロトコルに従って前記データをエンター
    プライス制御エンジンに送らせる命令であって、前記第2のプロトコルは前記第
    1のプロトコルと異なり、前記エンタープライス制御エンジンは前記データを処
    理する、命令と、 を含むことを特徴とするコンピュータ・プログラム。
JP2000577553A 1998-10-16 1999-10-15 企業レベルでの統合及び通信技術 Pending JP2002528787A (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US10465498P 1998-10-16 1998-10-16
US60/104,654 1998-10-16
US11675499P 1999-01-22 1999-01-22
US60/116,754 1999-01-22
PCT/US1999/024122 WO2000023876A2 (en) 1998-10-16 1999-10-15 Enterprise communication protocol

Publications (1)

Publication Number Publication Date
JP2002528787A true JP2002528787A (ja) 2002-09-03

Family

ID=26801796

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000577553A Pending JP2002528787A (ja) 1998-10-16 1999-10-15 企業レベルでの統合及び通信技術

Country Status (10)

Country Link
EP (1) EP1127441B1 (ja)
JP (1) JP2002528787A (ja)
KR (1) KR20010085931A (ja)
CN (1) CN1326634A (ja)
AT (1) ATE323997T1 (ja)
AU (1) AU769359B2 (ja)
CA (1) CA2347148A1 (ja)
DE (1) DE69930953T2 (ja)
HK (1) HK1040554A1 (ja)
WO (1) WO2000023876A2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009099015A (ja) * 2007-10-18 2009-05-07 Nippon Telegr & Teleph Corp <Ntt> ユーザインタフェース統合システム及びその方法

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7139709B2 (en) 2000-07-20 2006-11-21 Microsoft Corporation Middleware layer between speech related applications and engines
WO2002048935A1 (en) * 2000-12-11 2002-06-20 Skill Development Associates Ltd Integrated business management system
CN103023765B (zh) * 2012-12-04 2015-09-09 杭州迪普科技有限公司 一种基于脚本语言的报文处理方法和装置
US11985216B2 (en) 2018-02-02 2024-05-14 Kuo-Chen Chung Electronic device and method for sending electronic data
CN110138717B (zh) 2018-02-02 2020-10-30 钟国诚 用于传送电子数据的电子装置和方法
CN109324828B (zh) * 2018-09-21 2023-06-02 山东华芯半导体有限公司 一种在验证平台中实现闪存多命令并行执行的方法
CN110708351A (zh) * 2019-08-30 2020-01-17 深圳鸿智云创科技有限公司 数据传输方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2044022A1 (en) * 1990-06-28 1991-12-29 Miriam A. Nihart Common agent computer management system and method
US5682534A (en) * 1995-09-12 1997-10-28 International Business Machines Corporation Transparent local RPC optimization
US6052711A (en) * 1996-07-01 2000-04-18 Sun Microsystems, Inc. Object-oriented system, method and article of manufacture for a client-server session web access in an interprise computing framework system.

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009099015A (ja) * 2007-10-18 2009-05-07 Nippon Telegr & Teleph Corp <Ntt> ユーザインタフェース統合システム及びその方法

Also Published As

Publication number Publication date
AU6432099A (en) 2000-05-08
ATE323997T1 (de) 2006-05-15
EP1127441B1 (en) 2006-04-19
EP1127441A2 (en) 2001-08-29
CA2347148A1 (en) 2000-04-27
WO2000023876A2 (en) 2000-04-27
DE69930953D1 (de) 2006-05-24
DE69930953T2 (de) 2007-01-11
CN1326634A (zh) 2001-12-12
AU769359B2 (en) 2004-01-22
WO2000023876A3 (en) 2001-05-31
HK1040554A1 (zh) 2002-06-14
KR20010085931A (ko) 2001-09-07

Similar Documents

Publication Publication Date Title
US6470375B1 (en) System and method for managing the execution of system management tasks
US7181474B2 (en) Database communication system and method for communicating with a database
US8521708B2 (en) System and method for developing and processing building system control solutions
US20030056198A1 (en) SQL debugging using XML dataflows
US8984535B2 (en) System and method for facilitating the exchange of information among applications
US6430556B1 (en) System and method for providing a query object development environment
US6167316A (en) Distributed object-oriented building automation system with reliable asynchronous communication
US5572724A (en) System for controlling communications between an application and a remote system using a protocol identifier and an application context identifier
US6976262B1 (en) Web-based enterprise management with multiple repository capability
JP2810923B2 (ja) デジタル処理システムにおけるアプリケーション統合装置
CN100592256C (zh) 无缝地比较对象的系统和方法
US20030081003A1 (en) System and method to facilitate analysis and removal of errors from an application
US8056091B2 (en) Systems and methods for using application services
US6145119A (en) Programming development environment for intranet and internet applications employing unique project data structure
JP2000511674A (ja) 企業間プロセスを作成し、実行し、保守するためのシステム及び方法
US20040143583A1 (en) Trusted access by an extendible framework method, system, article of manufacture, and computer program product
JP3630457B2 (ja) コンピュータ・システムにおけるソフトウエア・ツールの実行自動化および制御方法
JP2004529412A (ja) レガシ・アプリケーションを分散データ処理環境に組み込む方法およびシステム
WO2003034183A2 (en) System and method using a connector architecture for application integration
US20090063395A1 (en) Mapping log sets between different log analysis tools in a problem determination environment
US7047527B1 (en) Method for identification of version levels of components across heterogeneous systems while eliminating mis-matched versions
US20080172479A1 (en) Method, system architecture and computer software for communication between devices
JP2002528787A (ja) 企業レベルでの統合及び通信技術
US7103872B2 (en) System and method for collecting and transferring sets of related data from a mainframe to a workstation
US20080082689A1 (en) Method and apparatus for building centralized middleware

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20061016

A072 Dismissal of procedure [no reply to invitation to correct request for examination]

Free format text: JAPANESE INTERMEDIATE CODE: A073

Effective date: 20071108