JPH03148739A - ソフトウェア間の通信装置 - Google Patents

ソフトウェア間の通信装置

Info

Publication number
JPH03148739A
JPH03148739A JP2194691A JP19469190A JPH03148739A JP H03148739 A JPH03148739 A JP H03148739A JP 2194691 A JP2194691 A JP 2194691A JP 19469190 A JP19469190 A JP 19469190A JP H03148739 A JPH03148739 A JP H03148739A
Authority
JP
Japan
Prior art keywords
data
class
format
application
software
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
JP2194691A
Other languages
English (en)
Inventor
Marion D Skeen
マリオン、デー、スキーン
Mark Bowles
マーク、ボウルス
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.)
Teknekron Software Systems Inc
Original Assignee
Teknekron Software Systems Inc
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 Teknekron Software Systems Inc filed Critical Teknekron Software Systems Inc
Publication of JPH03148739A publication Critical patent/JPH03148739A/ja
Pending legal-status Critical Current

Links

Classifications

    • 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
    • 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/465Distributed object oriented systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1804Arrangements for providing special services to substations for broadcast or conference, e.g. multicast for stock exchange and similar applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/08Protocols for interworking; Protocol conversion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M15/00Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP
    • H04M15/68Payment of value-added 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/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • 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]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2215/00Metering arrangements; Time controlling arrangements; Time indicating arrangements
    • H04M2215/01Details of billing arrangements
    • H04M2215/0196Payment of value-added services, mainly when their charges are added on the telephone bill, e.g. payment of non-telecom services, e-commerce, on-line banking

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer And Data Communications (AREA)
  • Exchange Systems With Centralized Control (AREA)
  • Stored Programmes (AREA)
  • Devices For Executing Special Programs (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 [産業上の利用分野] 本発明は、ソフトウェアプロセスがデータの表現と編成
のために罵なるフォーマットを使用することがあり、ま
たは、同じフォーマットと編成を用いるが、後で再プロ
グラミングを要することなしに変更することがあるよう
な場合に、異なるコンピュータまたは同じコンピュータ
で行われているソフトウェアプロセスの間の情報交換を
切離す分野に関するものである。また、各ソフトウェア
プロセスが、外部のソフトウェアプロセスから受けたデ
ータを、意味の違いや、フィールド名の違−いとは無関
係に理解でき、かつ使用できるようにして「意味」情報
またはフィールド名情報を使用する。この意味情報はデ
ータ表現と編成情報から切離される。すなわち、本発明
はソフトウェア間の通信装置に関する。
[従来の技術と発明が解決しようとする課題J各種のコ
ンピュータおよびソフトウェアプログラムの増大と、種
々のソフトウェアプログラムで動作している種々のコン
ピュータに対してデータを交換するという常に存在する
必要性のために、そのようなデータ交換を可能にする装
置の需要が生じてきた。典型的には、互いに外部のもの
であるソフトウェアモジュールの間で交換せねばならな
いデータにはテキスト、データおよび図形が含まれる。
しかし、デジタル化した音声またはデジタル化したデー
タ、あるいはその他のより異なる態様の情報を交換する
必要もたまには生ずる。それら各種のデータは「原始」
と呼ばれる。ソフトウェアプログラムは、理解および取
扱いのためにそれがプログラムされる原始だ−けを取扱
うことができる。他の種類の原始は、データとしてソフ
トウェアに入れられた時に、誤りを生ずる。
ここで用いる「外部」という用語は、交換に含まれるソ
フトウェアモジュールまたはホストコンピュータが「異
なる言語を話す」ことを意味する。
たとえば、パーソナル・コンピュータおよびワークステ
ーションにおいて広く用いられているモトローラ(Mo
Lorola)およびインテル(Intel)のマイク
ロプロセッサは種々のデータ表現を用いており、マイク
ロプロセッサの1つの71ミリイにおいては、複数バイ
ト語の最上位のバイトが最初に置かれ、プロセッサの他
のファミリイにおいては最上位のバイトが最後に置かれ
る。更に、アイビ−エム(IBM)コンピュータにおい
てはテキスト文字がEBCDICコードでコード化され
、他のほとんど全てのコンピュータにおいてはテキスト
文字はASCIIコードコード化される。また、整数、
浮動小数点等を含む数を表す何種類かのやり方がある。
更に、外部ソフトウェアモジュールが何種類かのデータ
編成法を用い、種々の意味情報、すなわち、データレコ
ード仲の各フィールドの名称と、それが意味するもの、
を用いる。
データ表現と編成のためにそれら各種のフォーマットを
用いることは、共通言語への翻訳、または1つのコンピ
ュータまたはプロセスの言語から別のコンピュータのま
たはプロセスの言語への翻訳を、有意な通信が行うこと
ができる前に、行わねばならない。更に、相互間に通信
を行う多くのソフトウェアモジュールが、互いに物理的
に離れていて、ローカルエリアネットワーク、広域ネッ
トワーク、ゲートウェイ、衛星等だけに接続される種々
のコンピュータにある。それら種々のネットワークは通
信のためにそれら自身の広く異なるプロトコルを有する
。また、少なくとも金融サービス業界において、ダウ・
ジョーンズ・ニュース(Dow Jones News
)またはTelerate?のような生データの種々の
ソースが種々のデータフォーマットと通信プロトコルを
用いる。それらのソースがらデータを受けるためにはそ
れらのフォーマットとプロトコルを理解しミそれらに従
わなければならない、普通株、証券、マネーマーケット
等についての金融データのような複雑なデータ状況にお
いては、データを入れ子式にすることがしばしば有川で
ある。すなわち、特定の主題についてのデータは、多数
の「フィールド」を有するデータレコードとしてしばし
ば編成される。各フィールドは主題の異なる面に属する
。特定のフィールドに副フィールドを持たせ、特定の副
フィールドにそれ自身の副フィールドを持たせる等と、
必要に応じた多くのレベルに対して副フィールドを持つ
ことができるようにするとしばしば有川である。ここで
の説明のために、この種のデータ編成を「入れ子」と呼
ぶことにする。フィールド名と、主題に対してフィール
ド名が意味するものを、ここでの説明のために「意味情
報」と呼ぶ特定のフィールドに対する実際のデータ表現
、すなわち、浮動小数点、整数、英数字等およびどれだ
けのフィールドを有するかという点でのデータレコード
の編成を、ここでの説明のために「フォーマット」情報
またはr種類」情報と呼ぶことにする。データだけを含
む(入れ子式の副フィールドを持たない)フィールドを
「原始フィールド」と呼び、他のフィールドを含むフィ
ールドをここでは「構成されたフィールド」と呼ぶこと
にする。
ソフトウェアモジュールの間のデータ交換において起る
ことが島る基本的な2種類の動作が島る。
第1の種類の動作は「フォーマット動作」と呼ばれ、1
つのデータレコード(以後、レコードのことを時に「フ
ォーム」と呼ぶことが島る)のフォーマットの別のフォ
ーマットへの変換を含む。そのようなフォーマット動作
の例は、浮動小数点フィールドおよびEBCDICフィ
ールドを有するデータレコードのETIIERNET?
ローカルエリアネットワークを介する伝送のために必要
なバックされた表現を有するデータレコードへの変換で
ある。受信プロセス端においては、ETIIERNET
?パケットフォームから、受信プロセスモジュールまた
はソフトウェアモジュールにおける整フィールドおよび
ASCIIフィールドへの変換のための別のフォーマッ
ト動作が起ることがある。別の種類の動作をここでは「
意味依存動作」と呼ぶことにする。その理由は、それが
意味情報ピ対するアクセスを求めるとともに、フォーム
の特定のフィールド、たとえば、アイビ−エムの株の今
Hの値段またはアイビ−エムの株の昨日の安値、をそれ
を求めているあるソフトウェアモジュールへ供給すると
いうような、フォームに対しである作業を行うフォーム
についての種類情報またはフォーマット情報をアクセス
することを要求するからである。
またさらに、今日の環境においては、各種のデータの多
数のソースと、同じ種類のデータの多数のソースの少な
くとも一方がしばしば存在する。
この場合には、それらのソースは適用範囲が重なり合う
が、種々のフォーマットと種々の通信プロトコルを使用
する(または、同じフォーマットおよび同じ通信プロト
コルとも重なり合う)。その種の情報を供給するサービ
スのネットワークアドレスを知ることなしに、およびそ
の情報ソースと通信するために必要な特定の通信プロト
コルの詳細を知ることなしに、特定の主題についての情
報を得ることができることがソフトウェアモジュールに
とっては有川である(ソフトウェアモジュールのことを
以後「アプリケーション」と呼ぶことが時にある)。
したがって、種々のソフトウェアモジュールと種々のコ
ンピュータを「切離し」ながら、データの意義のある交
換を確実に行うために、種々のソフトウェアモジュール
と、種々のプロセスと、種々のコンピュータとの間にイ
ンターフェイスを設けることができる通信装置に対する
需要が生じてきた。「切離す」というのは、ソフトウェ
アモジュールプログラムが、他のソフトウェアと他のコ
ンピュータがネットワーク内のどこにあるのか、フォー
ムとデータが外部ソフトウェアにおいてとるフォーマッ
トと、外部のソフトウェアモジュールまたは外部のコン
ビーユータと通信するためにどの通信プロトコルを必要
とするか、または発信元プロセスと宛先プロセスの間の
任意のネットワークを通すためにどの通信プロトコルが
用いられるかを知ることなしに、および多数の生データ
ソ−スのうちのどれが要求されているデータを供給でき
るかを知ることなしに、ソフトウェアモジュールプログ
ラマが他のコンピュータまたは他のソフトウェアプロセ
スから情報をアクセスできることを意味する。更に、「
切離しJは、ここで用いる用語としては、ある時にデー
タを供給でき、および1つのプロセスが、外部フォーマ
ットで作成されたフォームの例からの希望のデータと、
外部の意味データを、適切な意味オペレーションの通信
インターフェイスによる練習を通じて得て、外部フォー
ムから求められているデータを取出すことができること
を意味する。その取出し過程は要求しているプロセスに
とっては明らかである。
種々の切離し度を持つ外部ソフトウェアモジュールの間
で情報の交換を行えるようにする各種の装置が従来技術
に存在する。そのような種類の装置の1つが任意の電子
郵便ソフトウェアである。
このソフトウェアはCCITTのX、409規格を含 
めた電子文書交換規格を実現するものである。電子郵便
ソフトウェアは、フォーマットまたは種類のデータがデ
ータレコードすなわちフォームの各例に含まれていると
いう意味で、アプリケーションを切離す。しかし、意味
情報を記録または処理するための用意はされていない。
したがって、外部データ構造中の希望のフィールドの名
称または意味を基にしてデータの取出しまたは翻訳のよ
うな意味オペレーションは不可能である。意味に依存す
るオペレーションは、通信が成功したとするならば、非
常に重要である。更に、主題をベースとするアドレフシ
ングを実現できるようにする用意が電子郵便ソフトウェ
アには設けられていない。
この場合には、要求しているアプリケーションは、その
踵の情報のソースのアドレスを知ることなしに手段によ
る情報を単にたづねる。更に、そのソフトウェアは、通
信プロトコルがすでに設定されていないようなサービス
またはネットワークをアクセスできない。
関連するデータソフトウェアおよびデータ辞吉は、外部
プロセスがデータを共用できるようにするために、従来
技術におけるソーフトウェア装置の別の例である。この
種のソフトウェアの欠点は、それらのプログラムが「平
らな」表、レコードおよびレコード内のフィールドだけ
を取扱うことができ、レコード内の入れ子にされている
レコードを取扱うことができないことである。更に、電
子郵便ソフトウェアにおける上記欠点は関連するデータ
ベースソフトウェアにも存在する。
[課題を解決するための手段J 本発明の教示に従って、従来知られていなかったある程
度の切離しを行って、外部プロセスとコンピュータをイ
ンターフェイスするための構造を提供する方法と装置が
得られる。
本発明のデータ通信インターフェイスソフトウェア装置
は、通信構成要素とデータ交換構成要素との2つの主な
構成要素に編成されたいくつかのプログラムライブラリ
ィでほぼ構成される。本発明のこの明細書で用いるイン
ターフェイスという用語は、外部プロセスと外部コンピ
ュータの少なくとも一方と通信を行うのに有用な作業を
行うために、アプリケーションにより呼出すことができ
る機能の集りを意味する。インターフェイスの呼出し機
能は、本発明に従って、アプリケーションから、または
通信インターフェイス内の別の構成要素からのサブルー
チン呼出しによるものとすることができる。
好適な実施例においては、インターフェイスの機能はサ
ブルーチンのライブラリィ中の種々のサブルーチンによ
り実行される。それらのサブルーチンが一緒になってイ
ンターフェイスを構成する。
もちろん、サブルーチンの代りに別々のプログラムまた
はモジュールを使用でき、ある場合には実際に好ましい
ことが当業者なら分かるであろう。
第1のフォーマットを有するデータレコードまたはフォ
ームを用いて第1のプロセスが、第2の異なるフォーマ
ットを有するデータレコードを有する第2のプロセスと
、第1のプロセスが第2のプロセスにより用いられるフ
ォーマットを知ったり、取扱うことができる必要なしに
、通信できるようにデータフォーマットの切離しが行わ
れる。
この切離しのフォームは通信インターフェイスソフトウ
ェアシステムのデータの交換構成要素を介して実現され
る。
本発明の通信インターフェイスのデータ交換構成要素は
フォームマネージャーモジュールとフォームクラスマネ
ージャーモジュールを含む。フォームマネージャーモジ
ュールはフォームの例の作成、格納、リコールおよび破
壊を取扱い、フォームクラスマネージャーの各種の機能
を呼出す。フォームクラスマネージャーは、特定のクラ
スのフォームに属するフォーマットと、意味情報を記録
するデータレコードであるフォームクラス記述子の作成
、格納、リコール、解釈、破壊を取扱う。
フォームクラスマネージャーはアプリケーション、また
は通信インターフェイスの別の構成要素からの要求も受
けて、フィールドの名称または意味により識別された時
に特定のフィールドを得、適切なフォームの例を検索し
、求められているデータを取出して、そのデータを適切
なフィールドに送る。フォームクラスマネージャーは、
そのようなりラス定義の既知の倉庫の中で調べることに
より、または、フォームの新しいクラスを作成した外部
プロセスに連結されているフォームクラスマネージャー
からのクラス定義を要求することにより、フォームの未
知クラスのクラス定義を探すこともできる。フィールド
名のような意味データが、データの表現または編成につ
いての情報を意味情報が含んでいないという意味におい
て、データの表現または編成から切離される。本発明の
通信インターフェイスは、意味的な意味およびデータフ
ォーマットの意味で、データの切離しを行う。意味的な
意味においては、意味に依存するオペレーションを実行
できる能力により実現される。それらのオペレーション
により、通信インターフェイスへ結合されている任意の
プロセスが、好適な実施例においては同じことを意味す
るデータのための同じフィールド名を用いることにより
、同じやり方で、または異なるやり方で編成されたデー
タを有する他の任意のプロセスとデータを交換できるよ
うにされる。別め実施例においては、意味に依存するオ
ペレーションは別名または同義変換機能を実現すること
により、異なる名を持つが、あることを意味する入来デ
ータが、要求しているプロセスにより理解されるフィー
ルド名を再びラベルづけされ、またはそれらがそのよう
に再びラベルづけされたかのように用いられる。
データ分配の切離しは、要求するプロセスが、データを
見つけることができるプロセスまたはサーバーのネット
ワークアドレスを知ることなしに、特定の主題について
のデータを要求できるように行われる。この種の切離し
は、通信インターフェイス内の主題をベースとするアド
レッシングシステムにより行われる。
主題をベースとするアドレッシングは、本発明の通信イ
ンターフェイスの通信構成要素により実現される。通信
構成要素は、データが要求されている主題を指定するア
プリケーションから「サブスクライブ」要求を受ける。
通信構成要素内の主題マツパモジュールがアプリケーシ
ョンから要求を受け、それからデータベース、表等内の
主題を探索する。データベースは、種々の主題について
のデータを供給する各種のサーバープロセスを指示する
「サービスレコード」を格納する。識別されたサーバプ
ロセスとの通信に使用するために、求められている種類
のデータと通信プロトコル(以後、時にはサービス訓練
と呼ぶ)を供給できる特定のサーバープロセスを識別す
る適切なサービスレコードが主題マツバモジュールへ戻
される。
主題マツパは「サービス訓練」と呼ばれる複数の通信プ
ログラムをアクセスする。各サービス訓練は、サーバー
プロセス、ネットワーク等に特有である所定の通信プロ
トコルを実現する。それから、サービスレコードにおい
て識別されている適切なサービス訓練を手段マブパが呼
込む。
サービス訓練には主題マツパによって主題が与えられ、
適切なサーバープロセスに対する通信の設定を続ける。
その後で、主題についてのデータを含んでいるフォーム
の例がサーバープロセスにより、通信を設定したサービ
ス訓練壱介して、要求するプロセスへ送られる。
サービスプロトコルの切離しは前節で述べたプロセスに
より行われる。
添字が代表的なものであるページに対してページの更新
を格納する実時間データベースをアクセスすることによ
り、Tolerate?のようなページ向きのサーバー
プロセスへ向けられたあるサービス訓練において一時的
な切離しが実現される。
【実施例] まず、本発明の通信インターフェイスを組込むことがで
きる典型的なシステムのブロック図が示されている第1
図を参照する。もつとも、広範囲のシステムアーキテク
チャが本発明の教示から利益を受けることができる。本
発明の通信インターフェイスのことを以下に説明する別
の実施例の説明においてTLBすなわちテクネフロン(
Teknek−ron)情報バスと時に呼ぶことにする
。この時点で、本発明を説明するためにここで用いるよ
り重要な用−のいくつかについて基本的な理解を得るた
めに、この明細書に含まれている用語について説明する
ことにする。本発明の教示はいくつかのコンピュータプ
ログラムのライブラリィに組込まれる。
それらのプログラムは、一緒になって、依頼人のアプリ
ケーションの開発のモジュールを容易にする多くの機能
を有し、各種の依頼人アプリケーションを「切離される
」やり方で一緒に結合することにより、ネットワーク通
信プロトコルまたはサービス通信プロトコルを変化する
過信インターフェイスを提供するものである。今后、本
発明の教示を通信インターフェイスと呼ぶことにする。
ここで用いる「切離す」という用語は、依頼人アプリケ
ーションのプログラマが、通信プロトコルの詳細と、デ
ータ表現フォーマットの細部と、データ交換を希望され
る他の全てのアプリケーションまたはサービスのデータ
レコード編成の細部とを知る必要から自由にされること
を意味する。更に、依頼人アプリケーションのプログラ
マは、特定の主題についてのデータを得ることができる
ために、それらの主題についてのデータを供給するサー
ビスまたはサーバーの場所を知る必要はない。通信イン
ターフェイスは、依頼人アプリケーションの間と、デー
タ消費者アプリケーションとデータ供給者サービスの間
のデータ交換における全ての細部に自動的に注意する。
第1図に示す装置は、多数のコンピュータをネットワー
クを介して、または共用するメモリにより結合する典型
的なネットワークである。
第1図には2つの依頼人アプリケーション16.18で
動作しているホストコンピュータ10と12が示されて
いる。もっとも、他の実施例ではそれら2つの依頼人ア
プリケーションは同じコンピュータで実行することがで
きる。それらのホストコンピュータはネットワーク14
で結合できる。
そのネットワークはETIICRNET?通信プロトコ
ル、トタンリングプロトコル等とすることができる。
データ交換のためのネットワークは本発明の実施例のた
めには不要である。というのは、従来技術で知られてい
る任意のデータ交換法が本発明を実施するために十分だ
からである。したがって、ホストコンピュータ10と1
2が等しくアクセスする共用メモリファイルまたは共用
分布記憶装置も、本発明の教示を応用できる環境として
十分である。
各ホストコンピュータ10,12はランダムアクセスメ
モリと、ディスクまたはデータドライブのような大容量
記憶装置とを有する。それらのメモリには各種のオペレ
ーティングシステムプログラム、依頼人アプリケーショ
ンプログラム、およびホストコンピュータに有用な作業
を行わせるライブラリィ中のプロ、ダラムのような他の
プログラムが記憶される。通信インターフェイス中のプ
ログラムのライブラリィは、特定の主題についてのデー
タを供給するサービスの場所を見つけたり、適切な通信
プロトコルを用いてそのサービスと通信を行わせるとい
うような動作を行わせるために、依頼人アプリケーショ
ンにより呼出すことができる基本的なツールを提供する
各ホストコンピュータは端末装置、プリンタ(図示せず
)等のようなユーザーインターフェイスへ結合すること
もできる。
第1図に示す例示的な装置においては、ホストコンピュ
ータ10はそれのメモリに依頼人アプリケーションプロ
グラム16を格納している。この依頼人アプリケーショ
ンプログラム16は、有用な作業を行わせるためにホス
トコンピュータ12を制御する別の依頼人アプリケーシ
ョンプログラムまたはサービス18とのデータの交換を
求める。
また、ホストコンピュータ16と18はデータ表現のた
めに種々のフォーマットを使用し、アプリケーションプ
ログラム16と18は、それにより作成されるデータレ
コードのためのデータの表現と編成のために種々のフォ
ーマットを使用すると仮定する。それらのデータレコー
ドをここでは通常はフォームと呼ぶ。また、ホストコン
ピュータ10と12の間のデータ路14がlシTIIE
RNET?変形のローカルエリアネットワークで構成さ
れると仮定する。
各ホストコンピュータ10と12はプログラムのライブ
ラリィでもプログラムされる。それらのプログラムは通
信インターフェイス20と22をそれぞれ構成する。通
信インターフェイスプログラムは、結合器により依頼人
アプリケーションの編集されたレコードへ結合されて実
行時間コードを発生し、または通信プログラムのソース
コードが編集前に依頼人アプリケーションのソースコー
ドに含まれる。いずれにしても、通信ライブラリィはプ
ログラムは依頼人アプリケーションへ何とか結びつけら
れる。したがって、ホストコンピュータ10が2つの依
頼人アプリケーションで動作しているとすると、各依頼
人アプリケーションはモジュール20のような通信イン
ターフェイスモジュールへ結びつけられる。
通信インターフェイスモジュール20の目的は、アプリ
ケーション18と、アプリケーション18のネットワー
クアドレスにより用いられるフォームでのデータのデー
タフォーマットと編成の細部と、アプリケーション18
に用いられる通信プロトコルの細部と、ネットワーク1
4を通じてデータを送るために必要なデータフォーマッ
トの細部および通信プロトコルの細部とからアプリケー
ション16を切離すことである。通信インターフェイス
モジュール22はアプリケーション18に対するのと同
じ機能を果し、それにより、アプリケーション16とネ
ットワーク14についての多くの細部を知る必要から自
由にする。通信インターフェイスモジュールはモジュー
ル化を容易にして、依頼人アプリケーションと、データ
フォーマットまたは編成と、ホストコンピュータとに変
更を生じることができるようにし、またはそれらの変更
の必要なしに上記の全てを一緒に結合させて、システム
全体にわたってリフプルさせ、継続して互換性を持たせ
る。
それらの機能のいくつかを実現するために、通信インタ
ーフェイス20と22はネットワーク14を介して、主
題表16とサービス表28を含むネットワークファイル
システム24をアクセスする。それらの表については、
後で主題を基にしたアドレッシングの説明に関連して詳
しく説明する。
それらの表には、各種の主題についての情報を提供する
サービスのネットワークアドレスが記されている。
通信インターフェイスを用いる典型的なシステムモデル
はユーザーと、ユーザー群と、ネットワークと、サービ
スと、サービスM(またはサーバー)と、主題とで構成
される。人間の端末ユーザーを表すユーザーはユーザー
IDにより識別される。通信イ、ンターフエイスにおい
て用いられるユーザー!Dは通常はユーザーID1また
は基礎を成しているオペレーティングシステム(図示せ
ず)により用いられるログオンIDと通常は同じである
。しかし、これはそのような場合である必要はない。各
ユーザーは正確に1つの群の構成員である。
群は、類似のサービスアクセスパターンおよびアクセス
権を有するユーザーで構成される。サービスまたはシス
テム主題に対するアクセス権はユーザーのレベルと群の
レベルにおいて許可できる。
システム管理者はユーザーを群へ割当てる責任がある。
ここで用いる「ネットワーク」という用語は下側の「送
り層」 (この用語はISOネットワーク層モデルに用
いられるから)と、ISDネットワークモデル中の送り
層の下側の全ての層を意味する。アプリケーションは、
ホストコンピュータが取付けられている任意のネットワ
ークを介してデータを送信または受信できる。
本発明の通信インターフェイス、第1図におけるそれの
ブロック20と22は例である、は各依頼人アプリケー
ションに対して含む。そのアプリケーションには通信構
成要素30とデータ交換構成要素32が関係づけられる
。通信構成要素30は共′通の通信機能セットであって
、たとえば、主題をベースとするアドレッシングとサー
ビス訓練切離しの少なくとも一方を実現−する。通信構
成要素は各依頼人アプリケーションへ結合される。また
、各通信構成要素は、それが結合されるネットワークの
標準的な送り層プロトコル、たとえばTCP、/IP、
へ結合される。各通信構成要素は多数の送り層プロトコ
ルへ結合されて、それらのプロトコルを支持できる。ネ
ットワークの送り層は次の事を行う。それは送り層アド
レスをネットワークアドレスにマシンし、送り層接続を
ネットワーク接続へ多重化してスループットを増大させ
、誤り検出とサービスの品質の監視を行い、誤りを訂正
し、セグメント化とブロッキング化を行い、ネットワー
クとセツション層への送り層の個々の接続の流れ制御と
、データ転送の促進とを行う。
通信構成要素は依頼人アプリケーションのために確実な
通信を行い、かつ場所の透過伝送機構とネットワークの
独立性を依頼人アプリケーションへ供給する。
通信インターフェイスのデータ交換構成要素、そのうち
の構成要素32が典型的なものである、がデータをフォ
ームと呼ばれる自己記述データオブジェクト内にデータ
を包含させることにより、データを表現および送る協力
な方法を実現する。
それらのフォームは、対象とするデータばかりでなく、
データのために用いられる表現を記述する種類情報すな
わちフォーマット情報と、フォームの編成とを含む点で
自己記述的である。フォームはこの種類情報すなわちフ
ォーマット情報を含むから、1つのフォーマットを有す
る特定のフォームを別のフォーマットへ変換す−るため
のフォーマットオペレーションを、意味情報を与える、
データが読んだ他のクラス記述子すなわちクラス定義を
厳密に用いて行うことができる。クラス記述子における
意味情報の意味は、フォームのフィールドの名を基本的
に意味する。
フォームそれ自体のデータだけでフォーマットオペレー
ションを行う能力は、クラス記述子のような、他の場所
に設けられている他のデータオブジェクトに対してアク
セスせねばならない時に遭遇する遅延をそれが阻止する
から、非常に重要である。フォーマットオペレーション
単独で依頼人アプリケーションに対する処理時間の20
〜50%を典型的に占めるから、0己記述オブジェクト
を使用することにより、それを速くすることによフて処
理を能率的にする。
データ交換構成要素により管理される自己記述フォーム
は、データ取扱いおよび表示のための全般的なツールの
実現も許す。それらのツールはフォームをマシンとは独
立のフォーマットでプロセスの間を送るための通信ツー
ルを含む。更に、自己記述フォームを用いる依頼人アプ
リケーションに悪影響を及ぼすことなしに、自己記述フ
ォームを拡張できる、すなわち、それらのフォームの編
成を変化したり、拡張できるから、それらのフォームは
モジュール化アプリケーションの開発を非常に容易にす
る。
通信インターフェイスの最も下の層はISDモデルの送
り層に結合され、かつ、多数のネットワークを支持する
ための多数のサービス訓練プロトコルと多数の送り層プ
ロトコルを通信構成要素30は含むから、ネットワーク
障害の場合に1つのネットワークから別のネットワーク
へ明らかに切換えるアプリケーション向きのプロトコル
を書くことが可能である。
「サービス」というは、アプリケーションの依頼人アプ
リケーションにより使用するために、そのアプリケーシ
ョンにより送り出されるる機能の有意セットを表すもの
である。サービスの例はダウ−ジョーンズ” 二+L−
ス(Dov Jones News)、クオートロン(
Quotron)データ送り、トレード・チケプト・ル
ータ−(Trade Ticket ruoter)の
ような歴史的ニュース検索サービスである。アプリケー
ションはただ1つのサービスを典型的に送り出すが、多
くの異なるサービスの送り出しも可能である。
「サービス例」は与えられたサービスを供給できるアプ
リケーションまたはプロセスである。ある与えられたサ
ービスに対して、いくつかの「例」は、サービスのスル
ープットを改善または耐障害性を持たせるように、サー
ビスを同時に行うことができる。
ネットワークと、サービスおよびサーバーは従来技術で
知られている伝統的な構成要素であるが、従来技術の分
布された装置は、入れ子にされたデータオブジェクトを
自己記述することにより、主題のスペースまたはデータ
の独立性の概念を認識していない。主題スペースは、主
題をベースとするアドレフシングと呼ばれる切盾しの1
つのフォームを支持できる。多数のレベルにおいて入れ
子にできる自己記述データは新しい。ネットワークの他
の部分において優勢な種々の通信プロトコルおよびデー
タフォーマットからの依頼人アプリケーションの切離し
も非常に有用である。
主題をベースとするアドレッシングを実現するために用
いられる主題スペースは主題の部類の階層的なセットで
構成される。好適な実施例においては、4レベル主題ス
ペース階層が用いられる。
典型的な主題の例は「普通株、ibm、混成、トレード
」である。通信インターフェイスへ結合されている依頼
人アプリケーションは、種々の主題部類の使用と解釈に
関する規約を制定するための自由と責任を有する。
各主題は、システムファイルに格納されているデータレ
コード中のその主題についてのデータを供給する1つま
たは複数のサービスに典型的に関連させられる。各サー
ビスには通信インターフェイスの通信構成要素において
サービス訓練、すなわち、そのサービスと通信するため
に必要な通信プロトコルすなわち手段が組合わされるか
ら、依頼人アプリケーションは、その主題についてのデ
ータを供給するサービス例が、その主題についての情報
を供給するサービスのネットワークアドレスなしに主題
だけを与えるように添字要求をすることにより、ネット
ワーク上に配置される。その主題についての情報をIi
共する1つまたは複数のサービス例との実際の通信接続
に、それらの添字要求が通信インターフェイスにより翻
訳される。
主題部類のセットが主題領域と呼ばれる。多数の主題領
域が許される。各領域は領域に特有の主題と、メツセー
ジヘッダにおいて主題を表す効率的に表すコーディング
機能とを定めることができる。
データ独立:データ交換構成要素 通信インターフェイス−の第1図における構成要素32
のようなデータ交換構成要素の全体的な目的は、アプリ
ケーション16のような依頼人アプリケーションをデー
タ表現と、データ構成と、データの意味との細部から切
離すことである。
次に、クラスのフォームの全ての例に共通であるフォー
マット情報と意味情報を定める構成された前記クラスに
対するクラス定義の例が示されている第2図を参照する
。選択した特定の例においては、フォームクラスはプレ
イヤ一名と名づけらtL、クラXID1000を有する
。このクラス1000のフォームの例は名と、年齢と、
テニス競技者に対するNTRP評点とについてのデータ
を含む。あらゆるクラス定義には、クラスを独自に識別
するクラスIDと呼ばれるクラス番号が組合わされる。
クラス定義はフィールドのリストを、フィールドの内容
の名とデータ表現により与える。各フィールドはフォー
ムを含み、各フォームは原始または構成されたとするこ
とができる。原始クラスフォームは実際のデータを格納
し、構成されたクラスは、原始または構成されたとする
ことができる他のフォームを含むフィールドを有する。
第2のクラス定義においては、評点、年齢、姓、名と名
づけられる4つのフィールドがある。各フィールドは原
始クラスフォームを含むから、このクラスのフォームに
おける各フィールドは実際のデータを含む。たとえば、
フィールド評点はクラス11め原始フォームを常に含む
。クラス11は浮動小数点と名づけられる原始クラスで
あって、このフィールドの内容に対して浮動小数点デー
タ表現を指定する。クラス浮動小数点、クラス11、が
第5図に見られる。原始クラス11のクラス定義はクラ
ス名、浮動小数点、を含む。それはクラス(クラス番号
、この例ではクラス11、もクラスを独自に識別する)
と、1つのデータ値のデータ表現の仕様を独自に識別す
る。1つのデータ値の仕様は周知の予め定められたシス
テムデータ種類を用いる。それらのデータ種類はホスト
コンピュータと、このクラスのフォームを取扱うアプリ
ケーションにより理解される。
実際のデータ値のデータ表現に対する典型的な仕様は整
数、浮動小数点、ASCII文字列、またはEBCDI
C文字列等を含む。原始クラス11の場合には、データ
値の仕様は浮動小数点1/1である。
これは、この原始クラスのフォームの例に格納されてい
るデータが2つのデジタル合計を有する浮動小数点であ
ることを示す表記法である。それの1つは小数点の右で
ある。
次に、第2図のプレイヤ一名クラス定義についての考察
に戻ることにする。第2のフィールドは年齢と名づけら
れる。このフィールドは整数と名づけられた原始クラス
のフォームを含む。それにはクラス番号が組合わされ、
第5図において定義されている。フォームの整数クラス
、クラス12は、第5図のクラス定義ごとに整数3のデ
ータ表現仕様を有する。これは、3個の数字を有する整
数データをフィールドが含むことを意味する。第2図に
おけるクラス1000の最後の2つのフィールドは姓と
名である。それら両方のフィールド −はストリング2
OASCIIクラス10と名づけられているクラスの原
始フォームを含む。クラス10のクラス定義が第5図に
与えられており、このクラスのフォームの例が20文字
の長さであるASCII文字列を含むことを指定してい
る。
第3図はプレイヤーアドレス、クラス1001、と名づ
けられた別の構成された−クラス定義を示す。
このクラスのフォームの各例はストリート、市および州
と名づけられている3つのフィールドを含む。それら3
つの各フィールドは、ストリング20ASCII、クラ
ス10、と名づけられているクラスの原始フォームを含
む。また、クラス10に対するクラス定義が第5図に与
えられ、20文字AsCllストリングのデータ表現を
指定する。
構成されたクラスフォームの入れ子の例が第4図に示さ
れている。第4図はトーナメントエントリイ、クラス1
002、と名づけられているクラスにおけるフォームの
例についてのクラス定義である。このクラスにおけるフ
ォームの各例はトーナメント名、プレイヤー、アドレス
と名づけられた3つのフィールドを含む。トーナメント
名と名づけられたフィールドは、第5図に定義されてい
る、ストリング20 ASCII 、クラス10、と名
づけられている原始クラスのフォームを含む。プレイヤ
ーと名づけられているフィールドは、第2図に示されて
いるフォーマットと意味特徴を有する、プレイヤ一名、
クラス1000、と名づけられているクラスの構成され
たフォームの例を含む。アドレスと名づけられているフ
ィールドは、プレイヤーアドレス、クラス1001、と
名づけられて いる構成されたクラスの構成されたフー
第一五の例を含む。それは、第3図のクラス定義におい
て与えられているフォーマットと意味特徴を有する。
第4図のクラス定義はフォームの入れ子をどのようにし
て行うことができるかを示すものであって、フォームの
各フィールドはフォーム自体であり、あらゆるフォーム
は原始にでき、ただ1つのフィールドを有し、または構
成され、かついくつかのフィールドを有する。いいかえ
ると、フォームの例は必要な数のフィールドを有するこ
とができ、各フィールドは必要な数の副フィールドを有
することができる。更に、容態フィールドは必要な数の
副−副フイールドを有することができる。
この入れ子構造は任意の数のレベルにわたって進む。こ
のデータの構造により任意の複雑さのデータを容易に表
現し、かつ取扱うことができるようにされる。
次に、メモリにオブジェクトとして格納されている、ト
ーナメントエントリイ、クラス1002、として名づけ
られている第6図を参照する。
データのブロック38は、これがトーナメントエントリ
イと名づけられている構成されたクラスのフォームの例
であることを示す、構成されたクラス番号1002を含
む。データブロック40は、このクラスのフォームが3
つのフィールドを有することを示す。それら3つのフィ
ールドは、それらのフィールド内のフォームのクラス番
号を含んでいる、42.44.46で示されているデー
タブロックを有する。第1のフィールドが第5図に示さ
れているようなりラスlOのフォームを含むことをデー
タブロック42は示す。クラス10フォームは、第5図
においてクラス10に対するクラス定義で定義されてい
るASCII文字の20文字列を含んでいる原始フォー
ムである。このフォームのこの特定の例に対するASC
II文字の実際の列が48で示され、これはU、S、オ
ーブンテニストーナメントに対するトーナメントエント
リイであることを示す。データブロック44は、第2の
フィールドが、クラス1000の構成されたフォームの
例であるフォームを含んでいることを示す。
このクラス定義を参照すると、このクラスはプレイヤ一
名と名づけられていることを示す。データブロック50
は、そのクラスの構成されたフォームが4つの副フィー
ルドを含むことを示す。それらのフィールドはデータブ
ロック52.54.56.58に記録されているクラス
のフォームを含む。それらのフィールドはフィールド4
4の副フィールドである。第1の副フィールドはデータ
ブロック52を有して、この副フィールドが原始クラス
11のフォームを含むことを示す。このクラスのフォー
ムは、第5図において、1つの少数場所を有する浮動小
数点の2桁の数を含んでいるものとして示されている。
フォームのこの例に対する実際のデータが60で示され
て、このプレイヤーのエントリイ評点が3.5であるこ
とを示す。
第2の副フィールドはデータブロック54を有し、この
副フィールドは原始クラス1−2のフォームを含むこと
を示す。第2図に示されているクラス1600に対する
クラス定義は、クラスが整数と名づけられて、整数デー
タを含むことを示す。第2図に示されているクラス10
00に対するクラス定義は、ブロック62に示されてい
る、整数データがプレイヤーの年令であることを示す。
フィールド名についてのクラス定義意味データはフォー
ム例には格納されないことに注目されたい。フォーマッ
ト情報または種類情報だけが、各フィールドに対してク
ラスIDのフォーム中のフォーム例に格納される。第3
の副フィールドはデータブロック56を含み、この副フ
ィールドがストリング20ASCIIと名づけられた原
始クラス10のフォームを含むことを示す。この副フィ
ールドは、第2図に示されている、クラスプレイヤ一名
、クラス1000、のフォームのフィールド姓に対応す
る。原始クラス10クラス定義は、この原始クラスの列
が20文字ASCIIストリングを含むことを指定する
。このストリングはプレイヤーの姓をたまたま定める。
第6図に示す例においては、プレイヤーの姓は64に示
すようにブララケット(旧acklet)である。
最後の副フィールドはデータブロック58を有する。こ
れは、20文字A5CI Iストリングである。
原始クラス10の原始フォームをフィールドが含んでい
ることを示す。この副フィールドは、プレイヤの名を含
んでいるものとして、クラス1000のクラス定義にお
いて定義される。このASCIIストリングが66で示
されている。
クラス1002のフォームの例における第3のフィール
ドはデータブロック46を有する。このデータブロック
は、このフィールドが構成されたクラス1001の構成
されたフォームを含むことを示す。このクラスのクラス
定義は第3図に与えられており、クラスがプレイヤのア
ドレスであることを示す。データブロック68は、この
フィールドが3つの副フィールドを有し、それらの副フ
ィールドは70.72.74で示されているクラス番号
のフォームを含んでいる。それらの各側フィールドは、
第5図において定義されている原始クラス10のフォー
ムを含む。したがって、それらの各側フィールドは20
文字ASCIIストリングを含む。それら3つのフィー
ルドの内容はクラス1001についてのクラス定義にお
いて定義され、それぞれ、フィールド44に名づけられ
ているプレイヤのアドレスに対するストリート、市およ
び州である。それらの3文字ストリングがそれぞれ76
.78.80で示されている。
次に、意味情輯と、フォーマット情報と、クラス定義と
このクラスのフォームの例との−間の実際のデータとの
区分が示されている第7図を参照する。フィールド名と
、フォーマットすなわち種類の情報とは、ボックス82
に示されているようにクラス定義中に格納される。フォ
ーマットの情報すなわち種類情報(クラス10のフォー
ムにおいて)と、実際のデータまたはフィールド値は、
ボックス72に示すように、フォームの例に格納される
。たとえば、クラストーナメントエントリイ、第6図に
示されているクラス1002、のフォームの例において
は、第1のフィールドに対するフォーマツ°トデータが
ブロック42に格納されているデータであり、第1のフ
ィールドに対する実際のデータはブロック48に示され
ているデータである。本質的には、クラス番号すなわち
クラス■Dは通信インターフェイスにより、その原始ク
ラスのフォームの例におけるデータの種類に対する仕様
に等しくされる。したがって、通信インターフェイスは
、クラス定義をアクセスする必要なしに、フォーム自体
の例に格納されているフォーマットデータだけを用いて
特定のフォームの例に対してフォーマットオペレーショ
ンを実行できる。
これは、ネットワークアクセスとディスクアクセスのス
トリングなくとも1つを含むことがあって、オペレーシ
ョンを十分に遅くする、クラス定義をアクセスすること
を要求するためのステップを行う必要をなくすことによ
り、フォーマットオペレーションの動作速度を向上させ
る。フォーマットの種類オペレーションは外部プロセス
内のデータ交換における全ての動作の集まりを有するか
ら、データ構造と、ここで定義されているデータ構造を
取扱うためのプログラムのライブラリィとは、外部プロ
セスと外部コンピュータの間のデータ交換の効率を大幅
に向上させる。
たとえば、第6図に示されているフォームの例が、デジ
タル・イクイップメント・コーポレーション(旧glL
al Eguip@elt COrpOrratlOr
t)(DEG)により製造されたコンピュータで行われ
るプロセスにより発生され、したがってテキストでAS
CII文字で表されるものと仮定する。またフォームが
アイビ−エム(IBM)コンピュータで行われているプ
ロセスへ送るべきものであると仮定する。アイビ−エム
コンピュータでは文字ストリングはEBCDICコード
で表されている。更に、それら2台のコンピュータがE
TIIERIIIET?通信プロトコルを用いてローカ
ルエリアネットワークにより結合されるものと仮定する
この転送ヲ行うために、いくつかのフォーマットオペレ
ーションを行わねばならない。それらフォーマットオペ
レーションは、DECコンピュータが10で示されてい
るホスト1で、アイビ−エムコンピュータが12で示さ
れているホスト2であると仮定して、第1図を参照する
ことにより最も良く理解できる。
第6図に示すフォームの例をアプリケーション16から
アプリケーション18へ転送するための第1のフォーマ
ットオペレーションは、第6図に示されているフォーマ
ットから、ネットワーク14を介する転送に適当なパッ
クされたフォーマットへの交換である。ネットワークは
、端と端を一緒にしてパックされた複数のバイトと、そ
れらのバイトに先行するヘッダ情報の多数のバイトとを
含むデータブロックで構成されたメツセージに対して典
型的に作動する。ヘッダ情報はメツセージの長さ、宛先
アドレス、発信元アドレス等のようなものと、メツセー
ジの終りに附された誤り訂正コードとを含む。実際のデ
ータブロックの始まりと終りをマークすめために区切り
が時に用いられる。
この仮定した転送において実行せねばならないであろう
第2のフォーマット動作は、ネットワーり14を介して
転送するために必要なパブクされた−フォーマットから
、アプリケーション18とホストコンピュータ12によ
り用いられるフォーマットへの変換である。
フォーマットオペレーションは通信インターフェイスの
フォームマネジャーモジュールによって行われる。たと
えば、仮定的な転送における最初のフォーマットオペレ
ーションは第1図のフォームマネジャーモジュール86
により行われ、一方、仮定的な転送における第2のフォ
ーマットオペレーションはデータ交換構成要素88にお
けるフォームマネジャーモジュールにより実行される。
次に、フォーマットオペレーションの実行においてフォ
ームマネジャーモジュールにより行われるオペレーショ
ンの流れ図が示されている第8図を参照する。通信イン
ターフェイスのフォームマネジャーモジュールにおける
ルーチンの各種の機能についての詳細が、ここに含まれ
ている通信インターフェイスの各種のライブラリィルー
チンについての機能の使用中に見出だされる。第8図の
プロセスは、本発明の通信インターフェイスの中のデー
タ交換構成要素のフォームマネジャーモジュール中のソ
フトウェアプログラムにより実現される。第1のステッ
プはアプリケーションから、または通信インターフェイ
ス中の別のモジュールからフォーマット変換呼出しを受
けることである。
このプロセスはブロック90と第1図の経路92.94
とにより記号化される。同じ種類の呼出しを第1図にお
けるホストコンピュータ12に対してアプリケーション
18または通信構成要素96により、データ交換構成要
素88中のフォームマネジャーモジュールに対して行う
ことができる。その理由は、これは、本発明の通信イン
ターフェイスにより全ての依頼人アプリケーションへ提
供される標準的な機能すなわち「ツール」だからである
。あらゆる依頼人アプリケーションは第1図のインター
フェイス20のように通信インターフェイスへ結合され
る。
典型的には、第1図のモジュール30と96のような通
信構成要素からフォー4マネジャーモジュールへのフォ
ーマット変換呼出しは、フォーマット1のフォームをフ
ォーム2を用いる外部アプリケーションへ送るタスクを
命じられたサービス訓練モジュールからである。通信イ
ンターフェイス中の別のモジュールからのフォーマット
変換呼出しについての別の同様なシナリオは、サービス
訓練が、外部フォーマットであって、依頼人アプリケー
ションのフォーマットへ変換する必要がある別のアプリ
ケーションまたはサービスからフォームを受けた時であ
る。
フォーマット変換呼出しにはパラメータが組合わされ、
それらのパラメータはフォームマネジャーへ与えられる
。それらのパラメータは「取出し」フォーマットと「受
入れ」すなわち「ターゲット」フォーマットを指定する
。ブロック98は指定された変換のための適切なターゲ
ットフォーマット特有の表をアドレッシングするプロセ
スを表す、すなわち、指定された「取出し」フォーマッ
トが、各原始「取出し」フォーマットクラスに対する適
切なターゲットフォーマットについての詳細を与えて、
変換を終らせる専用の表を有する。好適な実施例におい
ては、あらゆる変換オペレーション中に順次アドレスさ
れる2つの表がある。別の実施例においては、それら2
つの表を組み合わせることができる。好適な実施例にお
いて用いられる2つの表の例が第9〜11図に示されて
いる。第9図はDECマシンからX、409フォーマッ
トへ変換するための特定のフォーマット変換表を示す。
第10図はX、409フォーマットからアイビ−エム・
マシンフォーマットへの変換のためのフォーマット特有
変換表を示す。第11図は、各「取出し」−「受入れ」
フォーマット対に対して特定の変換を行う通信インター
フェイスライブラリィ中の変換プログラムの名称を1則
する全体的な変換手順表を示す。
第9図と第10図の表は、第1図のアプリケーション1
6からアプリケーション18ヘッオームを送るために必
要なだけの表ではおそらくない。
アプリケーション16のフォーマットかにDECマシン
フォーマットへ変換するため、およびアイビーエム・マ
シンフォーマットからアプリケーション18のフォーマ
ットの変換のために必要な別のフォーマット特有の表も
ある。しかし、通信インターフェイスのフォームマネジ
ャーモジュールにより実現されるフォーマット変換プロ
セスの全体的な概念を、第9〜1・0図を参照にして説
明できる。
アプリケーション16からアプリケーション18ヘッオ
ームを送るプロセスにおいて必要な第1の変換は、DE
Cマシンフォーマットから、ETIIERNET?ネッ
トワークを介して送るために適当なバックされたフォー
マットへの変換であると仮定する。この場合には、ステ
ップ90で受けられたフォーマット変換呼出しは、ブロ
ック98により表されているプロセスを行うフォームマ
ネジャーモジュール内のソフトウェアによる呼出し処理
である。
この仮定した例においては、このルーチンによりアクセ
スするための適切なフォーマットに特有の表が、ブロッ
ク90により受けられた元のフォーマット変換呼出しに
おける「取出し」フォーマットと「受入れ」フォーマッ
トの各パラメータにより決定される。これは第9図に示
されている表をアクセスさせる。フォーマット変換呼出
しは変換スべきフォームのアドレスの識別も行う。
次のステップがブロック100により示されている。こ
のステップは、元のフォーマット変換呼出しにおいて識
別されるフォームをアクセスすることと、フォームの原
始クラスを含んでいる第1のフィールドを見付けるため
にフォームを探索することを含む。いいかえると、副フ
ィールドを有する別の構成されたフォームとは異なって
、フィールドが実際のデータを格納していることを見出
だされるまで、レコードは探索される。
第6図に示されているフォームの場合には、フォームの
原始クラスを格納する第1のフィールドはフィールド4
2である。第9図の表の「取出し」列は、適切なエント
リイが見出だされるまで、クラス番号IOを用も(て探
索される。この場合には、10の「取出し」クラスに対
するエントリイが、原始クラス25に対するクラス定義
中で指定されているフォーマットは「受入れ」フォーマ
ットであることを示す。「取出し」フォーマットを用い
て「受入れ」フォーマットを探索するこのプロセスが第
8図のブロックで示されている。第9図に示す表を、ブ
ロック102で示されているステップを行うルーチンの
コードに「ハードワイヤ」できる。
あるいは、第9図の表を、第1図のネットワークファイ
ルシステム24のどこかに格納されるデータベースまた
はその他のファイルとすることが−できる。その場合に
は、第8図のステップ102を実行するルーチンは、第
9図の表をアクセスするために、ファイルをアクセスす
るためにネットワークのアドレスとファイル名を知る。
次に、第8図のブロック104に示されているプロセス
は、第11図に示されている全体的な変換手順をアクセ
スすることによって行われる。これは、フォームの1つ
の原始クラスをフォームの別の原始プログラムへ変換す
る実際の作業を実行するフォームマネジャー中の変換プ
ログラムを識別する表である。この表はあらゆる「取出
し」−「受入れ」フォーマット対のための1つのエント
リイで編成される。「取出し」−「受入れ」対に対する
表中のエントリイは、変換の実際の作業を行う変換ルー
チンの名称を含む。ブロック104 に示されているプ
ロセスは、ステップ102におけるフォーマット特有の
変換表をアクセスすることから決定される「取出し」−
「受入れ」対を取り、「取出し」−「受入れ」一致を有
するエントリイが見出だされるまで、全体的な変換手順
表のエントリイを探索する。この場合には、第11図の
表の一番上からの第3のエントリイが、第9図へのアク
セスにおいて見出だされた「取出し」−[受入れ」フォ
ーマット対に一致する。このエントリイは読出され、こ
の変換を行うためのルーチンの名称がASCII  E
TIIERであると決定される。
(多くの実施例においては、名称ではなくて、ルーチン
のメモリアドレスが表に格納される。)第8図のブロッ
ク106は、ブロック104で識別された変換プログラ
ムを呼出し、この変換ルーチンを行って、ステップ10
0で選択したフィールドの内容を、ステップ102で識
別された「受入れ」フォーマットすなわちターゲットフ
ォーマットへ変換することを行うプロセスを示す。
仮定した例においては、ルーチンASCII  ETI
IERが呼出され、ステップ106により実行される。
このルーチンを呼出すと、ステップ100のプロセスに
おいて選択されたフィールド、すなわち、第6図に示す
フォームの例のフィールド42、に格納されている実際
のデータを供給して、テキストストリングrU、i オ
ープン」がバブツされたETIIERNET?フォーマ
ットへ変換されるようにする。
次に、ブロック108のテキストが行われ、フォームの
原始クラスが処理されたかどうかを判定する。もし処理
されたとするとフォームのフォーマット変換は終らされ
、ブロック110により示されているようにフォーマッ
ト変換ルーチンを出る。
フォームの原始クラスを含んでいるフィールドが処理さ
れたままであるとすると、ブロック112で示されてい
るプロセスが実行される。このプロセスはフォームの原
始クラスを含んでいる次のフィールドを見つける。
その後で、フォームの原始クラスを含んでいる全てのフ
ィールドが適切な「受入れ」フォーマットへ変換される
まで、ブロック102.104.106.108により
示されている処理ステップが実行される。上記のように
、フォームの原始クラスを含んでいるフィールドを探索
するステップは、変換すべきフォームを通って直列に進
む。次に出会うフィールドが構成されたクラスのフォー
ムを含んでいるとすると、フォームの原始クラスを内部
に有する最初のフィールドが探索されるまで、フォーム
のそのクラス自体が探索される。全てのフィールドが処
理され、フォームに格納されている全てのデータが適切
なフォーマットに変換されるまで、その全てのフィール
ドに対するあらゆる入れ子レベルにわたってそのプロセ
スは続く。
これかどのようにして行われるかの例として、第6図の
フォームにおいては、第1のフィールド42の処理の後
で、第8図のブロック112により示されているプロセ
スがフィールド44に次に遭遇する(フィールドは、そ
のフィールドに格納されているフォームに対するクラス
IDを含んでいるデータのブロックにより参照されるが
、フィールドの内容はクラスIDと実際のデータであり
、またはそのフィールドに格納されているオームのフィ
ールドと副フィールドである)。第6図により表されて
いるフォームの特定のクラスにおいては、いくつかの副
フィールドで構成されている構成されたフォームを第2
のフィールド44が含むことに注目されたい。それから
処理はクラス1000の構成されたフォームをアクセス
する。そのフォームは第2のフィールドにより格納され
、原始クラスのフォームを含んでいるそれの第1のフィ
ールドをそれが探すまで、その構成されたフォームの中
を直列に進む。第6図の仮定例においては、第1のフィ
ールドは52におけるクラス番号11により示される副
フィールドである。それから、ブロック102により示
されているプロセスは第9図の表中の「取出し」列内の
クラス11を探索し、ターゲットフォーマットが原始ク
ラス15のクラス定義により指定されるターゲットフォ
ーマットが指定されると決定される。それから、この「
取出し」−「受入れJ対11〜15が第11図の表のエ
ントリイと比較されて一致するエントリイを見出だす。
その後で、第8図のブロック106のプロセスが、FI
Oatl  ETIIERと呼ばれる変換プログラムを
実行し、第6図の60におけるデータのブロックを適切
なcrnERNcT?パックされたフォーマットへ変換
する。それから、このプロセスは全ての入れ子レベルを
続行する。
次に、典型的な意味依存オペレーションにっ−いての流
れ図が示されている第12図を参照する。
フィールド名が既知で、フォーム例のアドレスが既知で
あるならば、外部アプリケーションにより発生されたフ
ォームの例の特定のフィールド中のデータを1つのアプ
リケーションが得ることができるようにすることにより
、アプリケーションの切離しを許す。本発明の通信イン
ターフェイスは、好適な実施例においては、フィールド
を得る呼出しの態様で依頼人アプリケーションから意味
依存オペレーション要求をうける。その好適な実施例に
おいては、全てのプロセスは、同じことを意味するデー
タフィールドに対する同じフィールド名を用いる(フォ
ームの編成、または外部プロセスにより発生されたフォ
ームでのフィールドのデータ表現とは無関係に)。別の
実施例においては、エイリアシング表または同義表ある
いはデータベースが用いられる。そのような実施例にお
いては、フィールドを得る呼出しを用いてクラスマネジ
ャー内の同義表をアクセスし、要求されたフィールド名
の全ての同義語を探す。求められているフィールド名と
同義である全てのフィールド名は戻される。それから、
クラスマネジャーは、求められているフィールド名また
は同義名のいずれかとの一致のためのクラス定義を探し
、一致フィールドを有するフィールドを検索する。
次に好適な実施例の説明へ戻って、それらのフィールド
を得る呼出しは、依頼人アプリケーションにより、第1
図のモジュール122のようなフォームクラスマネジャ
ーモジュールに対して直接行うことができ、またはそれ
らのモジュールを通信構成要素またはフォームマネジャ
ーモジュールにし、それらのモジュールによりフォーム
クラスマネジャーへ転送させることができる。フォーム
クラスマネジャーはフォームクラス定義を作成し、破壊
し、取扱い、格納し、読出す。
フィールドを得る呼出しは、含まれているフォームのア
ドレスと、対とするフォーム中のフィールドの名とをフ
ォームクラスマネジャーへ供給する。その要求をうける
プロセスが第12図のブロック120により示されてい
る。ブロック120は、プログラムにより、すなわち、
要求しているアプリケーションにより、または対象とす
るフォームに対するクラス定義を含めたクラス定義を見
出だすことができるデータベースの場所を告げられるこ
とによって、クラスマネジャーにクラス定義が与えられ
条ようにするプロセスも示すものである。第1図のネッ
トワークファイルシステム24にはいくつかのデータベ
ースすなわちファイルを設けることができ、それにクラ
ス定義が格納される。対象とするフォームに対するクラ
ス定義が格納される特定のファイルの場所をフォームク
ラスマネジャーへ与えることが必要なだけである。
次に、ブロック122に示すように、クラスマネジャー
モジュールは、元の呼出しにおいて識別されたフォーム
クラスに対するクラス定義をアクセスする。
それから、クラスマネジャーはクラス定義フィールド名
を探索して、元の呼出しにおいて与えられたフィールド
名の一致を見出だす。このプロセスがブロック124に
示されている。−対象とするフィールドをクラス定義中
で探した後で、クラスマネジャーは相対的なアドレスポ
インタを、このクラスのフォームの例中め対象とするフ
ィールドへ戻す。このプロセスが第12図のブロック1
26に示されている。クラスマネジャーにより戻される
この相対的なアドレスポインタは第2図、第4図、第6
図を参照とすることによって最も良く理解される。フィ
ールドを得る呼出しを行ったアプリケーションが、特定
のプレイヤーの年令の決定に興味を持ったと仮定する。
フィールドを得る要求は、第6図に示すように、プレイ
ヤーのブラケット(Blacktt)に対するクラス1
002のフォームの例のためのアドレスを識別する。ま
た、フィールドを得る要求には対象とするフィールドの
名称、すなわち、「年令Jも含まれる。それからクラス
マネジャーは対象とするフォームの例をアクセスし、フ
ォームのこのクラスへ加えられる特定のクラス識別子ま
たはクラス定義を自己記述別するクラス番号を読出す。
それから、クラスマネジャーは第4図に示すように、ク
ラス1002のだめのクラス記述子をアクセスし、クラ
ス定義を見つける。次に、クラスマネジャーはクラス定
義1002の各フィールドに対するクラス定義をアクセ
スし、元のフィールドを得る要求中のフィールド名を、
クラス1002に対するりラス定義を構成する種々のク
ラス定義中のフィールド名と比較する。いいかえると、
クラスマネジャーは、クラス10.100および100
1に対するクラス定義中のフィールドの名、「年令」、
も含まれる。それからクラスマネジャーは対象とするフ
ォームの例をアクセスし、フォームのこのクラスへ加え
られる特定のクラス識別子またはクラス定義を識別する
クラス番号を読出す。それから、クラスマネジャーは第
4図に示すように、クラス1002のだめのクラス記述
子をアクセスし、クラス定義を見つける。次に、クラス
マネジャーはクラス定義1002の各フィールドに対す
るクラス定義をアクセスし、元のフィールドを得る要求
中のフィールド名を、クラス1002に対するクラス定
義を構成する種々のクラス定義中のフィールド名と比較
する。いいかえると、クラスマネジャーは、クラス10
.1000および1001に対するクラス定義中のフィ
ールドの名、「年令」、を対象とするフィールド名と比
較する。第2図かられかるように、クラス1000につ
いてのクラス定義において一致が見出だされる。第6図
に示されている特定のレコードフォーマットに対して、
「年令」フィールドはデータブロック62である。その
データブロックはレコードのスタートから10番目のデ
ータブロックである。それからクラスマネジャーは第1
2図のブロック126内の10の相対的なアドレスポイ
ンタを戻す。この総体的なア、ドレスポインタは、元の
フィールドを得る呼出しを行った依頼人アプリケーショ
ンへ戻される。それから依頼人アプリケーションはデー
タを得る呼出しをフォームマネジャーモジュールへ発し
、対象とするフォームの特定の鍔内の希望のフィールド
の相対的なアドレスをフォームマネジャーモジュールへ
供給する。フォームマネジャーモジュールは、元のフィ
ールドを得る呼出しがフォームマネジャーモジュールを
通ってきて、フォームクラスマネジャーへ戻されるなら
ば、それが既に有するであろう対象とするフォームの例
のアドレスも知らなければならない。フォームマネジャ
ーモジュールが対象とするフォームの特定の例のアドレ
スを有しないとすると、フォームマネジャーは依頼人ア
プリケーションからそれを要求する。データを得る呼出
しを受け、相対的なアドレスと、対象とするフォームの
例のアドレスとを得た後で、フォームマネジャーはフォ
ームのこの例をアクセスし、かつ求められているデータ
をアクセスし、それを依頼人へ戻す。データを得る呼出
しを受ける呼出しを受け、適切なデータを第12図のブ
ロック128により、適切なデータを戻すこのプロセス
が示されている。
次に、切離しの2つの重要なフォームを実現するために
協同する各種のソフトウェアモジュールと、ファイルと
、ネットワークと、コンピュータとのブロック図が示さ
れている第14図を参照する。切離しのそれらのフォー
ムはデータ分配切離しおよびサービスプロトコル切離し
である。データ分配切離し手段は希望のサービスを行う
サーバーに対するネットワークアドレスを知る必要から
依頼人アプリケーションを自由にする。したがって、た
とえば、ダウ・ジョーンズ・ニュース・サービス(Do
v Joies News Servlse)により供
給される情報を特定のアプリケーションが知る必要があ
るものとすると、依頼人アプリケーションは、どのサー
バーおよびどの場所がダウ・ジョーンズ・ニュース・サ
ービスから生のデータを供給しているかを知る必要がな
い。
データの交換が望まれるサーバー、サービス、その他の
アプリケーションにより用いられるネットワークプロト
コルおよび通信プロトコルの全ての層を横切るために特
定の通信プロトコルを、依頼人アプリケーションが知る
必要がないことをサービスプロトコル切離しは意味する
データ分配の切離しは第14図における通信モジュール
30により実現される。通信構成要素は、主題マツパ1
80を実現するソフトウェアルーチンのライブラリィと
、主題をベースとするアドレッシングを実現するための
複数のサービス訓練とで構成される。サービス訓練18
2.184.186は主題をベースとするアドレッシン
グに含まれているサービス訓練の例である。
主題を例とするアドレッシングはサービスを修正するこ
と、または別のサービスで置き換えて、情報の受手に衝
撃を与えることなしに等しい情報を提供する。情報供給
元から情報の受手を切離すことにより、従来のサービス
向はモデルよりも高度のモジュール化と、融通性を持た
せることができる。
主題をベースとするアドレッシングは、ホストコンピュ
ータ10で実行している依頼人アプリケーション16に
より、主題マツパ180に対する申込み呼出し188で
開始される。申込み呼出しは特定の主題に関する情報に
対する要求である。
特定の主題が普通株主権、IBM、ニュースであると仮
定する。この申込み呼出しは2つのパラメータを主題マ
ツパ180へ送る。それらのパラメータの1つは主題普
通株主権、IBM、ニュースである。他のパラメータは
、主題についてのデータを送らねばならない依頼人アプ
リケーション16における呼出しルーチンの名称である
。主題マツパ18に対する申込み呼出しは標準的な手順
呼出しである。
この主題マツパの目的はサービスのためのネットワーク
アドレスを決定すること、およびそれらのサービスに対
して通信を決定するために適切なサービス訓練ルーチン
を呼出すことである。申込み呼出しにおける主題につい
ての情報を提供するサービスの場所を見つけるために、
主題マツパ180は、線190により表されている要求
を住所録サービス構成要素192へ送る。住所録サービ
ス構成要素は、ネットワークの結合されている別のコン
ピュータで実行されている別のプロセスであって、実際
に別のコンピュータまたはホストコンピュータ10で実
行させることができる。住所録サービスルーチンは、ど
の主題についての情報をどのサービスが供給するのか、
それらのサービスがどこにあるのか、および通信のため
にそれらのサービスにより用いられるサービス訓練を示
すデータベース、またはサービスレコードと呼ばれるレ
コードの表を維持する。住所録サービス構成要素192
は、主題マツパ180から送られた要求を受け、その表
を通じて一致を探すためにその要求の主題パラメータを
用いる。すなわち、住所録サービス構成要素192は、
希望の主題についての情報を提供する特定のサービスを
示すサービスレコードが見つけられるまで、それのサー
ビスレコードを探す。次にそのサービスレコードは線、
194により示されているように主題マツパへ送り返さ
れる。住所録サービス構成要素は、多数のサービスが希
望の主題についての情報を供給するものとすれば、い(
つかの一致を見出だすことができる。
線194により示されている。主題マツパへ送り返され
るサービスレコードは多くのフィールドを含む。サービ
スレコード内での求められる2つのレコードは、希望の
主題についての情報を提供するサービスの名称と、その
サービスにより用いられるサービス訓練の名称である。
供給できる他の選択できるフィールドは、そのサービス
を実施するサーバーの名称と、そのサーバーのネットワ
ークにおける場所である。
一般に、住所録サービス構成要素は主題サービスが存在
する全てのサービスレコードを供給する。
その理由は、全てのサービスにより主題へ提供される情
報中には完全な重なり合いが存在しないことがあるから
である。更に、各サービスは別のサーバーにより実行さ
れる。そのサーバーは同じネットワークにより依頼人ア
プリケーションへ結合でき、または結合できない。その
ような多数のネットワーク経路とサービスが存在するも
のとすると、主題が一致している全てのサービスレコー
ドを主題マツパへ送り返すことにより、ネットワーク、
サーバーまたはサービスのいずれかが故障した時に、そ
れらを切換える能力を通信インターフェイスに持たせら
れる。
上記のように、主題マツパ・180は全てのサービスと
通信を行うように機能して、希望の主題についての情報
を提供する。多数のサービスレコードが住所録サービス
モジュール192から送返されたとすると、主題マツパ
180はそれらのサービスの全てと通信を設定する。
サービスレコードを受けると、主題マツパは識別された
各サービス訓練を呼出して、主題と、そのサービス訓練
へ加えることができるサービスレコードをそれへ送る。
第14図にはただ3つのサービス訓練182.184.
186が示されているが、実際のシステムでは3つより
も多くのものを設けることができる。住所録サービス構
成要素192が存在しないか、一致を見出ださないとす
ると、主題マツパ180へはサービスレコードは戻され
ない。この場合には、主題マツパは省略時サービス訓練
を呼出して、それと主題および零レコードを送る。
谷サービス訓練はソフトウェアモジュールであって、そ
のサービス訓練に関連する特定のサービスと通信するた
めに最適にされた特注のサービスを含む。
主題マツパ180により呼出された各サービス訓練はそ
れへ送られたサービスレコードを調べ、通信を行うべき
サービスの場所を決定する。考察している特定の仮定し
た例においては、住所録サービモジュール192により
ただ1つのサービスレコードが戻されていること、その
サービスレコードがサーバー196で行われているダウ
ジョーンズニュースサービスを識別すること、および1
82においてサービス訓練Aを、サーバー196におけ
るダウジョーンズニュースサービスと通信するために適
切なサービス訓練として識別する。
それから、サービス訓練Aは要求メツセージを線198
で示されているようにサーバー196へ送る。この要求
メツセージは主題をサービスへ送り、サービスレコード
の全部または一部を送ることができる。
サーバー196は要求メツセージを処理し、実際に、希
望の主題についての情報を供給できるかどうかを判定す
る。それからそれは線200により示されている応答メ
ツセージを送返す。
通信がそのようにしてひとたび設定されたとすると、要
求されている主題に関連する情報の全ての項目を、経路
202で示されているように、適切なサービス訓練へ連
続して送る。ここで選択した例においては、サーバー1
96で行われるサービスは、サービス訓練182へ送る
ためにアイビ−エムに関連する新しい事項だけを抽出す
る。
各サービス訓練は異なる挙動をとることができる。たと
えば、184におけるサービス訓練Bは次の挙動をとる
ことができる。サーバー196で行われるサービスはダ
ウジ3−ンズニュースサービスの全てのニュース事項を
ネットワーク14で放送できる。サービス訓練Bの全て
の例はネットワークを監視でき、希望の主題に関連する
メツセージだけを抽出する。多くの異なる通信プロトコ
ルは可能である。
182におけるサービス訓練Aはサービスにより送られ
たデータを受け、それを依頼人アプリケーション16中
の名づけられている戻しルーチン204へ送る。(サー
ビス訓練182は、線182で示されているように主題
マツパ180からの最初のメツセージ中の呼戻しルーチ
ンの名称を送った。)名称をつけられた呼戻しルーチン
は、希望の主題についての情報で、行うようにプログラ
ムされているものは何でも行う。
依頼人アプリケーション16が取消し指令を主題マツパ
180へ明確に送るまでは、データは名称をつけられて
いる呼戻しルーチン204へこのようにして流れ続ける
。主題マツパ180は存在している全ての申込みのレコ
ードを保存して、有効である種々の申込みと取消し指令
を比較する。
一致が見出だされたとすると、適切なサービス訓練に取
消−し要求が知らされ、それからこのサービス訓練が取
消しメツセージを適切なサーバーへ送る。それからサー
ビスは、その主題についてのそれ以上のデータを、取消
し要求を送ったサービス訓練へ送ることを止める。
サービス訓練が自立して、主題マツパへ結合されないこ
とも可能である。この場合には、サービス訓練はアプリ
ケーションへ直結され、申込み呼出しはサービス訓練に
対して直接行われる。違いは、希望のデータを供給する
サービスの名称と、サービスをアクセスするために用い
られるサービス訓練の名称をアプリケーションが知らな
ければならないことである。次に、識別されたサービス
のネットワークアドレスを見つけるためにデータベース
または住所録サービス表がアクセスされ、上記のように
して通信が設定される。このソフトウェアアーチキクチ
ャはデータ分配の切離しは行われないが、サービスプロ
トコルの切離しを行い、それによって、データを交換す
べきサービスとの通信インターフェイスの詳細を知る必
要からアプリケーションを自由にする。
本発明の通信インターフェイスにより行われる、主題を
ベースとするアドレッシング申込みサービスについての
より多くの詳細は、下記の通信インターフェイス仕様の
4節に示されている。本発明の通信インターフェイスの
好適な実施例がその仕様に従って構成される。
好適な実施例における実際の申込み機能は、仕様の4節
に述べられているTIB消費作成ライブラリィルーチン
を実行することにより行われる。
TIB消費作成に対する呼出しは、それへ送られたパラ
メータの特性リストを含む。それの1つが、仕様の4節
における私のメツセージ/Xンドラーとに指定されてい
る呼戻しルーチンである。
仕様においては、主題をベースとするアドレッシング申
込みサービス機能がTIBINFOとして示されている
。このTIBINFOインターフェイスは2つ    
  のライブラリィより成る。初のライブラリィはデー
タの需要者に対するTUB冨NPOCONSUNEと呼
ばれる。第2のライブラリィはデータ供給者に対するT
IBINPOP[lBLISflと呼ばれる。あるアプ
リケーションは、それが消費需要者か、供給者か、ある
いは両方であるかに応じて、一方のライブラリィ1、ま
たは他方のライブラリィ、あるいは両方のライブラリィ
を含む。アプリケーションは需要者と供給者を同時に兼
ねることができる。
次に、本発明のインターフェイスとアプリケーション、
およびそれらのアプリケーションを結合するネットワー
クの関係のブロック図が示されている第15図を参照す
る。第1図におけるブロックの参照番号と同じものがつ
けられているブロックは、第1図における対応するブロ
ックに類似の機能を有する。第15図のブロック図は好
適な実施例のプロセスアーチキクチャを示す。第15図
に与えられているプロセスアーチキクチャに対応するソ
フトウェアアーチキクチャが第16図にブロックで示さ
れている。− 第15図を参照して、第1図の通信構成要素30は、第
15図では2つの別々の機能ブロック30A、30Bと
して示されている。すなわち、第1図における通信構成
要素の機能が第15図のプロセスアーチキクチャでは2
つの機能ブロックの間に分割される。通信ライブラリィ
30Aは各依頼人アプリケーション16へ結合され、バ
ックエンド通信デーモン30Bがネットワーク14と通
信ライブラリィ30Aへ結合される。ホストプロセッサ
当り1の通信デーモンが存在することが典型的である。
このホストプロセッサは第15図には230で示されて
いるが、第16図には全て示されていない。第15図に
おいては、第1図の状況とは異なって、依頼人アプリケ
ーション16と18は同じホストコンピュータ230で
実行されることに注目されたい。各依頼人アプリケーシ
ョンは、通信ライブラリィ30Aと96中の各種のライ
ブラリィプログラムのそれ自身のコピーと、データ交換
要素32と88のフォームライブラリィのそれ自身のコ
ピーとへ結合される。プログラムのそれらの結合された
ライブラリィは共通の通信デーモン30Bを共用する。
  一 種々のホストプロセッサにおける通信デーモンはそれら
自身の間で協同して、マシンの間で確実かつ効率的な通
信を行えるようにする。主題をアドレスされたデータに
対しては、デーモンは、主題によりメツセージを抽出す
るために低レベルのシステムサポートを行うことにより
、それの効率的な送信を助ける。
通信ライブラリィ30Aは°、各1組のアプリケーショ
ン向きの通信に関連する数多くの機能を行う。たとえば
、通信ライブラリィは、ASCII主題値よりも簡潔で
、検査が容易である効率的なメツセージヘッダへ主題を
翻訳する。通信ライブラリィは、特定のサービス例のた
めの目標にされた要求にサービス要求をマツプし、それ
らの状態を監視する。
本発明の通信インターフェイスのデータ交換構成要素は
[フォームライブラリィ」と呼ばれるライブラリィとし
て実現される。このライブラリィは依頼人アプリケーシ
ョンへ結合され、データ交換構成要素の全ての中核機能
を提供する。フォームライブラリィは通信ライブラリィ
とは独立に結合でき、それの動作のために通信デーモン
30Bを要求することはない。
通信デーモンは2つの役割を果す。サービス例が主題と
、この主題に関するデータを送るネットワークアドレス
を知らされる、上記した主題をベースとするアドレッシ
ングモードにおいては、通信デーモン30Bはデータを
送るべきネットワークアドレスを所有する。このデータ
はデーモンにより、依頼人アプリケーションに結びつけ
られている通信ライブラリィへ送られる。その依頼人ア
プリケーションはデータを依頼人アプリケーション中の
適切な呼戻しルーチンへ送る。他のモードにおいては、
データを供給するサービス例が放送モードにあって、多
くの異なる主題についてのデータをネットワークにおけ
る全てのデーモンへ呼出す時に、通信デーモンはネット
ワーク14から来るデータを主題により濾波する。
第15図におけるブロック231.233.235は、
通信ライブラリィ30Aとフォームライブラリィ32中
のプログラムにより実現されるインターフェイス機能を
表す。TIBINFOインターフェイス233は、申込
み呼出しとして知られている通信パラダイムにより、主
題をベースとするアドレッシングサービスを行う。この
パラダイムに おいては、データ需要者はサービスまた
は主題を申込み、需要者が申込みを明確に終らせる(ま
たは障害が起る)まてせ、サービスまたは主題について
のデータの連続した流れを受ける。申込みパラダイムは
、株価のような動的に変化する値を監視する実時間応用
に良く適する。これとは対称的に、従来の要求/応答通
信は、データの需要者が変化を学ぶデータ提供者を「選
ぶ」ことを要するから、そのような実時間応用にはあま
り適さない。
インターフェイス235は1組のプロトコルと、第16
図のマーケットデータ申込みサービス(MDSS)副構
成要素234を含むサービスとに対するプログラムイン
ターフェイスを構成する。このサービス訓練については
後で詳しく説明する。RMDPインターフェイス235
はサービスアドレスプロトコルであって、データを交換
するサービスの名称についてデータを知ることを依頼人
アプリケーションに求める。
第16図にはシステムのソフトウェアアーチキクチャが
示されている。分布通信構成要素232が各種のプロト
コルエンジン237.239.241を含む。プロトコ
ルオンジンは、サービス訓練プロトコルを特定のネット
ワークプロトコルとインターフェイスする通信プロトコ
ルを包含する。
分布構成要素232は各種のサービス訓練234.23
6.238へ結合される。サービス訓練234は、ここ
ではマーケットデータ申込みサービスと呼ぶ動作を行う
。このプロトコルによりデータの需要者はデータの連続
した流れと、個々のデータソースの許容限度を受けるこ
とができるようにされる。この1組のプロトコルは負荷
の釣合と権利付与政策を管理する機構を提供する。
サービス訓練Is^、236、は更に異なる動作を行う
。サービス訓fiSAssII、238、は上記のよう
に主題をベースとするアドレス申込みサービスをサポー
トする。
第15図と第16図に詳しく説明されているソフトウェ
アアーチキクチャは、第1〜14図を参照して先に述べ
た実施例とは異なる実施例を表す。
通常は、クラスマネジャーモジュールは、ホストプロセ
ッサのRAMに意味依存オペレーションを行うために必
要なりラス定義をクラス記述子として格納する。クラス
定義はり°ラスを定める意味および形成情報の仕様であ
る。クラス記述子はクラス定義を具体化するメモリオブ
ジェクトである。
クラス記述子は少なくとも二通りのやり方で格納される
。ランダムアクセスメモり(RAM)においては、クラ
ス記述子は、クラス定義を作成した依頼人アプリケーシ
ョンとマシンに固有のフォーマットでフォームとして格
納される。ディスクまたはテープに格納されているクラ
ス記述子はテキストASCIIストリングとして格納さ
れる。
クラスマネジャーモジュールが意味依存オペレーション
を行うことを頼まれると、そのモジュールはRAM内の
クラス記述子の格納内容を探索し、適切なりラス記述子
が存在するかどうかを確認する。もし存在するならば、
このクラス記述子を用いて、第12図を参照して先に述
べたオペレーションを行う。もし適切なりラス記述子が
存在しなければ、クラスマネジャーはそれを得なければ
ならない。これは、第1図のシステムファイル24に格
納されているクラス記述子の既知のファイルをサーチす
ることにより、または、クラス定義を要求しているモジ
ュールへ送るためにそのクラス定義を作成した外部アプ
リケーションに対する要求を行うことにより行われる。
クラス記述子を格納するファイルの場所は依頼人アプリ
ケーションには知られており、クラスマネジャーモジュ
ールもそれらのアドレスを格納する。意味に依存するオ
ペレーションが、適切なりラス記述子を見つけることが
できるファイルのアドレスを含むことがしばしばある。
要求がそのようなアドレスを含んでいないとすると、ク
ラスマネジャーはクラス記述子のそれ自身の記憶装置を
調べ、かつ、システムクラス記述子ファイルの場所を識
別するクラスマネジャーにより格納されているレコード
において識別されるファイルを調べる。
クラスマネジャーを発生した外部アプリケーションから
のクラス記述子に質関するとすると、外部アプリケーシ
ョンは、適切なりラス記述子をネットワークを介して要
求しているクラスマネジャーまたは要求しているモジュ
ールへ送る要求をそれのクラスマネジャーへ送る。それ
からクラス記述子は他の任意のフォームで送られ、求め
られている意味依存オペレーションを行うために、要求
するクラスマネジャーにより用いられる。
クラス記述子を得るためにクラスマネジャーがファイル
をアクセスせねばな′らないとすると、ディスクまたは
テープにクラス記述子が格納されているパックされたA
SClf表現をRAMに格納するための固有のフォーム
のフォーマットへ変換せねばならない。これは、各種の
フィールド名と、フィールドの内容の仕様と、クラス番
号を分離するために、ASCIIテキストを文法的に説
明することにより行われる。
第13A図と第138図は、第13A図のクラス定義の
ために、フォームとしてメモリに格納されているクラス
記述子の構造と編成をそれぞれ示す。第13A図に示さ
れているクラス定義は人クラスと名づけられ、最後およ
び最初の2つだけのフィールドを有する。それらの各フ
ィールドは20文字ASCIIストリングを格納するた
めに指定される。
第138図は、フィールドがクラス番号1020を有す
る構成されたフォームであることを示す1021を含む
データブロック140を有する。
142におけるデータブロックは、フォームが3つのフ
ィールドを有することを示す。第1のフィールドは、A
SCIIストリングを含むことを指定された原始クラス
を含む。それはクラス名、人クラス、をデータブロック
にたまたま格納する。第2のフィールドは番号2を割り
当られた、データブロック148、原始クラスのもので
ある。その番号はプール値を含むことを指定される、デ
ータブロック150゜意味的には、第2のフィールドは
、クラス1021のためのクラス定義において定められ
て、フォームクラスが原始(真)であるか、構成された
(偽)のものであるかを定める。この場合には、データ
ブロック150は偽であって、クラス1021は構成さ
れたクラスであることを示す。!113のフィールドは
、データブロック152により示すように、クラス番号
112を与えられる構成されたクラスである。クラス1
021のためのクラス定義は、クラス定義におけるフィ
ールドの名称と仕様を与える構成されたクラスフォ−ム
として第3のフィールドを定める。データブロック15
4はクラス112のフォームで2つのフィールドが存在
することを示す。クラス112の第1のフィールドはそ
れ自体は、クラス番号150が与えられた、構成された
クラスであり、データブロック156.2つの副フィー
ルドを有する、データブロック158゜第1の副フィー
ルドは原始クラスであり、データブロック、クラス15
0に対するクラス定義において、クラス1021におけ
る第1のフィールドの名称を含むために指定される。デ
ータブロック162はクラス1021内の第1のフィー
ルドの名称を与える。第2の副フィールドは原始クラス
15のものであり、データブロック164、クラス10
21の第1のフィールドに格納されている実際のデータ
の表現を指定する、データブロック166、ASCI 
Iストリングを含むためにクラス150(図示せず)の
クラス定義で指定される。クラス112の第2のフィー
ルドは、クラス150の構成されたフォーム、データブ
ロック168、を含むためにクラス112のクラス定義
で指定される。それは2つのフィールドを含み、データ
ブロック、クラス1021内の次のフィールドの名称を
与え、この第2のフィールドに格納されている実際のデ
ータの表現の種類を指定する。
用語集 以下に、本発明の説明に用いられた語句のいくつかの定
義をまとめて記す。
フォーマットまたは種類:構造データレコードのデータ
表現およびデータ編成、すなわち、フォーム。
外部:別のコンピュータまたはソフトウェアのプロセス
のフォーマットデータレコードとは異なるデータレコー
ドのフォーマットを用いるコンピュータまたはソフトウ
ェアのプロセス。
フォームニクラス記述子、またはクラス定義に対応する
クラス記述子番号を含むフィールドを含むことにより、
構造が自己記述的であるデータレコードまたはデータオ
ブジェクト。それらのクラス記述子はフォームのクラス
であって、それの例の全てが、同じ内部表現と、同じ編
成と、同じ意味情報を有するようなりラスを記述する。
このことは、このクラスのフォームの全ての例、すなわ
ち、発生、が同じ名称のフィールドを同数有し、対応す
るフィールド内のデータが同じ表現を有し、対応するフ
ィールド内のデータが同じ表現を有し、かつ各フィール
ドは同じことを意味する。フォームは原始フォームまた
は構成されたフォームとすることができる。1つのユニ
ットのデータだけを格納するフォームが原始フォームで
ある。フィールドと呼ばれる多数の内部構成要素を有す
るフォームが構成されたフォームである。各フィールド
は別のフォームのデータまたはクラスid1すなわち、
クラス番号、を格納できる。
クラス/クラス記述子/クラス定義二同じ内部表現、同
じ編成および同じ意味情報を有する特定のデータレコー
ド群すなわち「フォーム」の構造と編成の定義。クラス
記述子というのは、クラス定義のそれら全てのパラメー
タを定めるデータを格納するメモり内のデータレコード
すなわち「オブジェクト」のことである。クラスという
のはフォームの名称であり、クラス定義は群の共通な特
徴についての情報である。クラスは原始クラスと構成さ
れたクラスのいずれかとすることができる。
原始クラスは、クラスを独特に識別するクラス名(この
名にはクラス番号すなわちクラスLdが組合わされる)
と、1つのデータ値の表現の仕様とを含む。表現の仕様
は、ストリング20ASCII。
浮動少数点、整数、ストリング20 EBCDID等の
ような、ホストタコンピュータと依頼人アプリケーショ
ンが理解する周知の原始である。構成されたクラスの定
義は独特の名称を有し、この種のフォームにおいて見出
だされる多数のフィールドを名称と内容により定義する
。クラス定義はフィールド名を指定することにより、編
成と、意味またはフォームを指定する。フィールド名は
フィールドへ意味を与える。フィールド名と、それのデ
ータのフォームクラスを与えることにより、各フィール
ドは指定される。というのは、各フィールド自体がフォ
ームだからである。フィールドというのは1つのフォー
ムの代りに同じクラスのフォームのリストとすることが
できる。構成されたクラスの定義は実際のデータを含ま
ないが、クラス記述子は、この種のフォームの編成と意
味を定めるデータのフォーム中に実際のデータを含む。
フ第一ムの例を定める全ての実際のデータは原始クラス
のフォームで格納され、原始クラスで格納されているデ
ータの種類は原始クラスのクラス定義で指定される。た
とえば、「年令」という名称の原始クラスは、整数 3
の種類の1つのフィールドを有する。それはフォームの
年令クラスに対するクラス定義において定義される。こ
のクラスのフォームの例は3桁の整数値を含む。
フィールド:1つまたは複数の構成要素(?)を有する
ことができるフォームの鍔内の1つの構成要素(?)。
各フィールドには異なる名称がつけられ、異なることを
おのおの意味する。フィールドが実際のデータを含んで
おれば、そのフィールドは「原始」であり、他のフォー
ム、すなわち、他のフィールドの群、を含んでおれば、
そのフィールドは「構成された」である。別のフォーム
を含む少なくとも1つのフィールドを有するデータレコ
ードまたはフォームは「入れ子にされている」といわれ
る。第1のフォームの構成されたフィールドに記録され
た第2のフォームはそれ自身のフィールドを有する。そ
れらのフィールドは原始フィールドと構成されたフィー
ルドのいずれかとすることができる。したがって、無限
に複雑な入れ予成の層が生じることがある。
プロセス:コンピュータで実行中のソフトウェアプログ
ラムまたはモジ、:L−ルの段階。
意味情報:フォーム中の種々のフィールドフォーム、名
称および意味に関するもの。
入れ子にされた:それ自身′力(多数のフィールドを含
んでいる他のデータレコードをおのおのが含むことがで
きる多数のフィールドを有するデータレコードより成る
データ構造。
原始フィールド:実際のデータを格納するフォームすな
わちデータレコードのフィールド。
ータレコードを含むフィールド。
フォーマットオペレーション:1つのフォーマットから
別のフォーマットへフォームを変換するオペレーション
意味に依存するオペレーション;特定のフォームがその
フォームからのデータをある要求しているプロセスへ供
給するために、クラス定義の少なくとも意味情報に対す
るアクセスを求めるオペレーション。
アプリケーション:オペレーティングシステムプログラ
ム以外の、コンピュータで実行するソフトウェアプログ
ラム。
切離し:それによりデータを交換する、通信プロトコル
、データフォーマット、他の全てのプロセス、コンピュ
ータおよびネットワークを知る必要からプロセス、ソフ
トウェアモジュールまたはアプリケーションを自由にす
ること。
  クラス二クラス中の全てのフォームが同じフォーマ
ットと同じ意味を有するようなフォームの群の定義。 
− インターフェイス:あるタスクを実行するためにサポー
ト機能を提供するアプリケーションにより、またはイン
ターフェイスの別のモジュールにより呼出すことができ
るソフトウェアプログラムまたはモジュールのライブラ
リィ。手近の本発明の場合には、通信インターフェイス
は、外部プロセスおよびコンピュータとデータを交換す
るためにアプリケーションとの簡単なプログラミングを
行えるようにするために、外部のプロセスおよびコンピ
ュータの間で希望の切離しを行うプログラムのライブラ
リィを通信インターフェイスが提供する。
申込み要求:ソースサーバー、プロセス、または特定の
主題についてのデータをそれから得ることができるその
場所を指定しないその主題についてのデータに対する要
求。
サービスレコード:指定されたサービスを行うアプリケ
ーションの重要な特徴を記述するフィールドを含むレコ
ード。
サーバープロセス:テレレー) (Telerate)
、ダウ・ジョーンズ・ニュース・サービス等のような特
定のサービスにより指定されるデータの機能を供給する
アプリケーションプロセス。
サービス訓練またはサービスプロトコル:特定のサーバ
ープロセス。アプリケーション。ローカルエリアネット
ワークで通信するためのプロトコル。
依頼人アプリケーション二本発明の通信インターフェイ
スへ結合され、またはサービスへ結合されたアプリケー
ション 送り層二本発明の通信インターフェイスが結合されるコ
ンピュータの間のネットワーク用の標準的なKSOモデ
ルの層。
送り層プロトコル:特定のネットワークにおいて実現さ
れる特定の通信プロトコルまたは訓練。
サービス:依頼人アプリケーションにより使用するため
にアプリケーションを送り出すことができる機能または
データの有意なセット。いいかえると、サービスという
のは、特定のこと、たとえばダウジョーンズニュース情
報を供給するアプリケーション、を行うアプリケーショ
ンの全体的なりラスである。
サービス例二特定のコンピュータで実行され、指定され
たサービスを提供できるプロセス(サーバープロセスと
呼ばれることもある)。
サーバー:大容量記憶装置に格納されているファイル、
またはテレレー) (Telerate)のような情報
ソースからの生データを、ネットワークまたは他のコン
ピュータ/ワークステーシコンへ供給して、サーバーへ
結合されている他のプロセスへ分配する、というような
あることを行うために特定のプロセスを実行しているコ
ンピュータ。
モリオブジェクト。クラスマネジャーにおいては、それ
はフォームとして格納される。ディスクでは、それはA
SCIIストリングとして格納される。基本的には、そ
れはクラス定義のための特定の表現すなわちフォーマッ
トである。それはASCIIファイル型またはフォーム
型の表現とすることができる。
クラスマネジャーが必要とするクラス記述子を持ってい
ないとすると、クラス記述子のためにクラス定義を作成
した外部アプリケーションにクラスマネジャーはたづね
る。それから、クラス、クラスマネジャーは、外部アプ
リケーションにより発生された時のフォームでクラス記
述子を受ける。
あるいは、クラスマネジャーは、意味に依存するオペレ
ージゴンを要求しているアプリケーションによりそれに
対して識別された、またはクラスマネジャーにより維持
されているレコード中で識別されたファイルをクラスマ
ネジャーは探索する。
それらのファイルに格納されているクラス定義はASC
IIテキストフォーマットである。それからクラスマネ
ジャーは、そのようにして見つけたASCIIテキスト
を、各種のフィールド名と、各フィールドにの内容につ
いての仕様に構文解析することにより、固有のフォーム
のフォーマットのクラス記述子へ変換する。
固有のフォーマット/フォーム:アプリケーションまた
はそのホストコンピュータに固有のフォームへのフォー
マットまたはフォーム構造。
ID;フォーム、レコード、クラス、メモリオブジェク
ト等のための独特の識別子。この明細書においてクラス
に割り当てられたクラス番号がIDの例である。
取扱いニオブシェクド、レコード、ファイル、クラス、
メモリオブジェクト等に対するポインタ。
このポインタはオブジェクトに対するアクセス経路を本
質的に定める。絶対アドレス、相対アドレスおよびオフ
セットアドレスが取扱いの例である。
クラスデータ構造:特定のクラスについての、クラスマ
ネジャーに格納されている全てのデータ。
クラス記述子はこのデータ構造の最も重要な部分である
が、より多くの情報があることもある。
構成ファイル二使用中の種々のソフトウェア構成要素、
レコード、フォームの特性、属性またはパラメータを記
述するデータを格納するファイル。
フォームクラスの属性二クラスが原始であるか、構成さ
れたものであるかというような、フォームクラスの性質
。サイズは別の属性である。
【図面の簡単な説明】
第1図は本発明の一実施例の通信インターフェイスの各
種のソフトウェアモジュールと依頼人アプリケージ、ヨ
ンおよびネットワークの関係を示すブロック図、第2図
は構成されたもののフォームクラス定義の例を示し、第
3図は別の構成されたフォームクラスの定義の例を示し
、第4図はそれ自身が構成されたフォームであフィール
ドを含み、したがって入れ子の例であって、構成された
フォームクラスの定義の例を示し、vN5図は−2つの
原始フォームクラスの例を示し、第6図はメモリに格納
されている典型的なフォームの例を示し、第7図は意味
データ、フォーマットデータ、および実際のデータすな
わち値データをフォームクラス定義とフォーム例の間に
区分した様子を示し、第8図はフォーマットオペレーシ
ョン中の処理の流れ図、第9図はフォーマットオペレー
ションに使用するターゲットフォーマット特有表、第1
0図はフォーマットオペレーションに使用する別のター
ゲットフォーマット特有表、第11図はフォーマットオ
ペレーションに使用する一般的な変換表の例、第12図
は典型的な意味依存オペレーショ  −ンに対する流れ
図、第13A図および138図は、それぞれクラス定義
と、このクラス定義を格納するクラス記述子フォームを
示し−第14図は通信プロトコルの主題マツパモジュー
ルおよびサービス訓練モジュールと要求アプリケーショ
ンおよび主題をベースとするアドレッシングのためのサ
ービスとの間の関係を示すブロック図、第15図は本発
明の別の実施例のインターフェイスの種々のモジュール
およびライブラリィと依頼人アプリケーションの間の関
係を示し、第16図は別の実施例の通信インターフェイ
スの種々のモジュールの内部の関係を示す。 10.12−・・ホストコンピュータ、14−・・ネッ
トワーク、16.18−・・依頼人アプリケーション、
20・−・フォームマネジャー、22−・・通信構成要
素、24・・・ネットワークファイルシステムまたは登
録簿サービス、26・・・主題表、28・・・サービス
表、30.90・・一通信構成要素、86・・・フォー
ムクラスマネジャー、88・・・データ交換構成要素。 ファームクラスニス○今・I フ0レノマ−ろ : クラス1000 評急う+J『小区点クフス11 二詐:!叡クラス12 立: スしし〕り20  ASCII  クラス10名
ニスLりング20  ASCIIフラス1070しイヤ
ーヱドレス: クラス1001ストリーに  ストリレ
ク20  ASCII   クラス10う: ストリ〕
クー20  ASCII   クラス10J(1:  
ストリレクー20  ASCII   クラス10第3
図 1−ナラ)ト工〕1リー  クラス10027−ナメ)
ト名 : λ−リシ720  As(Jl   フラス
10)・レイマー : 7しイヤ一名 クラス1000
アトしス : プレイY−7ばしスクラス!001スト
リニク20  ASCIIクラス10ス}−IJニア”
20 ASCII V数、クラス12 !収3 ;フ初ホ収免: クラス11 57vJ/I〜舅ご〔,6,1/1 第5図 第6図     ろ 2    ■ファーマ1ン!−21寅烹の
データ21m 第8図 l累出しI受入れl         li出しI受入
れ11111 151        Its   !
  31 1112+221      122133
1110    251        125   
l  42 1!597r、rダシQ−}1919  取出し受入#L 変1≧アククう>ll 11  1
51 FLQAT1〜ETHERll  12  l 
 22  l  INTEGERI−ETHERll 
10 j 25  ASCrl−ETHER11+s 
 +  31 1  ETHER−FLOAT2   
    1+  33 1 22 1  ETHER−
INTEGER11/、2 1 25 1  ETHE
R−EBC()Ic        l第11図 意味依存ダリ里           1/″”− 第12図 八〇−■ンクラス: クラス1021 〜    最を麦 : ストリ〕グ20  ASCII
最初ニストリシグ20 ASCII つう人定工教 第13図A 160ゴロ■1162 第13図B −一一−−−一−−一−−一−−一一一−−一一−−一
一−−一−−一土−−]il  RMDP  I  T
IBINFOITIBFORMs  11ファリグー)
ヨン l :1θ    1    ネットワーク 第15図 ソフトウエアヱーキテク予▼ l   才lトワークィ)ターフエイス     I第
16図 手続打n正書(方式) %式% 3、補正をする者 4、代 理 人  (〒104)東京都中央区銀座2丁
111番2号5、補正命令の日付 平成2年10月15口

Claims (15)

    【特許請求の範囲】
  1. (1)第1のコンピュータプログラムまたはアプリケー
    ションへ結合され、自己記述データレコードまたはフォ
    ームおよびフォーマットであって、前記レコードと前記
    フォームはフォーム内のフィールドの名称と編成を定め
    る1つまたは複数のクラス定義に対応するデータおよび
    クラス識別データを含み、前記フォームフォーマットは
    前記フィールド内のデータ表現のためのものであり、前
    記レコードまたはフォームおよび前記フォーマットを作
    成し、取扱う第1の手段と、 この第1の手段へ結合され、前記第2のアプリケーショ
    ンへ送られる前記第1のアプリケーションに固有のフォ
    ーマットのフォームのフォーマットを、前記第2のアプ
    リケーションのフォーマットへ変換する第2の手段と、 を備え、第1のコンピュータプログラムまたはアプリケ
    ーションの固有のデータレコードまたはフォームフォー
    マットを、データレコードを交換すべき第2のコンピュ
    ータプログラムまたはアプリケーションの外部のデータ
    レコードまたはフォームフォーマットから切離すための
    ソフトウェア間の通信装置。
  2. (2)送信アプリケーションからネットワークを介して
    の受信アプリケーションへのフォームの転送を容易にす
    るために、前記送信アプリケーションの固有のデータレ
    コードまたはフォームフォーマットを前記受信アプリケ
    ーションの外部データレコードまたはフォームフォーマ
    ットから切離すための通信インターフェイスにおいて、 前記送信アプリケーションへ結合され、フォームと呼ば
    れるデータオブジェクトであって、そのフォーム内のフ
    ィールドの名称および編成を定める1つまたは複数のク
    ラス定義に対応するデータとクラス識別データを含む前
    記データオブジェクトと、前記フィールド内のデータ表
    現のためのフォーマットとを作成し、格納し、リコール
    し、取扱い、かつ破壊する第1の手段と、 前記受信アプリケーションへ結合され、フォームと呼ば
    れる自己記述データであって、データ、および前記フォ
    ーム内のフィールドの名称と編成を定める1つまたは複
    数のクラス定義に対応するクラス識別データを含む前記
    データオブジェクトと、前記フィールド内のデータ表現
    のためのフォーマットとを作成し、格納し、リコールし
    、取扱い、かつ破壊する第2の手段と、 前記ネットワークと前記第1の手段へ結合され、フォー
    ムと呼ばれる自己記述データオブジョクトであって、デ
    ータ、および前記フォーム内のフィールドの名称と編成
    を定める1つまたは複数のクラス定義に対するクラス識
    別データを含む前記データオブジェクトと、前記フィー
    ルド内のデータ表現のためのフォーマットとを作成し、
    格納し、リコールし、取扱い、および破壊する第2の手
    段と、 前記ネットワークと前記第1の手段へ結合され、外部ア
    プリケーションへ送られる送信アプリケーションに固有
    のフォーマットのフォームのフォーマットを前記ネット
    ワークのフォーマットへ変換し、かつ前記フォームを前
    記ネットワークを介して送る第3の手段と、 前記ネットワークと前記第2の手段へ結合され、前記受
    信アプリケーションに固有のフォーマットで送られた前
    記フォームを受け、かつ前記フォームを前記受信アプリ
    ケーションへ供給する第4の手段と、 を備え、前記第1の手段に関連する前記フォームは前記
    送信アプリケーションの固有のフォームフォーマットで
    作成され、 前記第2の手段に関連する前記フォームは、前記送信ア
    プリケーションにより用いられる固有のフォーマットに
    対する外部フォームフォーマットであり、前記アプリケ
    ーションの固有のフォームフォーマットで作成され、送
    信アプリケーションの固有のデータレコードまたはフォ
    ームフォーマットを受信アプリケーションの外部データ
    レコードまたはフォームフォーマットから切離すための
    ソフトウェア間の通信装置。
  3. (3)請求項2記載の装置において、 前記第3の手段は、1つまたは複数のターゲットフォー
    マット特有表を含み、各表は特定の取出しフォーマット
    を選択された受入れフォームフォーマットへマッピング
    するレコードを含み、かつ、特定の取出しフォーマット
    、受入れフォーマット対を、取出しフォーマットの原始
    クラスフォームを受入れフォーマットの対応する原始ク
    ラスフォームへ変換する特定の変換プログラムへマップ
    するレコードを含む手順マッピング表を更に備え、前記
    第3の手段はフォーマット変換オペレーションに対する
    要求を受ける手段を更に備え、前記要求は取出しフォー
    マットと、受入れフォーマットと、原始的にでき、ある
    いは構成できるフォームのアドレスとを含み、かつ1つ
    または複数のフィールドを包含し、各フィールドはフォ
    ームであって、前記フォームのクラスを独特に識別する
    クラス識別子が組合わされ、各前記フィールドが原始ク
    ラスのフォームであるならばある値を格納し、前記フィ
    ールドが構成されたクラスのフォームであるならば、値
    または他のフォームを格納するフィールドをそれ自身有
    する他のフォームを格納し、前記フォームは取出しフォ
    ーマットから受入れフォーマットへ変換し、原始フォー
    ムが見出だされるまで前記フォームのフィールドを通っ
    て探し、かつ前記フィールドに関連するクラス識別子を
    用い、割当てられたターゲットフォーマット−特有の表
    をアクセスし、エントリイであって、このエントリィの
    取出しフォーマット部分に一致エントリィを有するエン
    トリィを見出だし、更に前記取出しフォーマットクラス
    識別子に対する関連する受入れフォーマットクラス識別
    子を決定する手段を前記第3の手段内に更に備え、前記
    手順マッピング表をアクセスし、取出しフォーマット−
    受入れフォーマット対を一致させるエントリィを探し、
    その一致エントリィ内にリストされている適切なフォー
    マット変換プログラムの名称を決定する手段を面に備え
    、前記原始フィールドの取出しフォーマットを適切な受
    入れフォーマットへ変換するために前記フォーマット変
    換プログラムを呼出して実行し、その変換の結果を格納
    する手段を更に備え、原始フォームを格納する次のフォ
    ームを見出だすために変換すべき前記フォームを探索し
    、前記手順マッピング表中の前記フィールドの取出しフ
    ォーマット−受入れフォーマット対のためにリストされ
    ている変換プログラムを用いて、前記フィールドを適切
    なターゲット特有の表にリストされている受入れフオー
    マットへ変換し、結果を格納し、全てのフィールドが変
    換されるまで、前記フォーム中の各フィールドに対する
    探索と表アクセスおよび変換の機能を繰返す手段を更に
    備えるソフトウェア間の通信装置。
  4. (4)1つのアプリケーションと別のアプリケーション
    へ結合され、各前記アプリケーションに固有のフォーマ
    ットで対応するアプリケーションに適切なデータを含む
    フォームを作成し、管理する手段と、 別のアプリケーションへ送るフォームのフォーマットを
    、送信を行うために必要な全てのフオーマットへ変換す
    る手段と、 を備え、各前記フォームは、そのフォームが属するクラ
    スの各フォーム例のフィールドの名称とデータの種類お
    よび編成を与える1つまたは複数のクラス定義に対応す
    る1つまたは複数の識別子を含み、各前記フィールドは
    別のクラスのデータまたは別のサブフォームを含むこと
    ができ、その各サブフォームは1つまたは複数のクラス
    識別子とフィールドと、データの種類と、、前記サブフ
    ォームのフィールドの編成とを格納し、前記サブフォー
    ムの各前記フィールドは、選択可能な入れ子レベル数に
    対してデータまたは別のサブ−サブフォーム等を含むこ
    とができ、 前記変換は、フォームを受信アプリケーションにより使
    用するために適当なフォーマットへの最後の変換を含む
    、1つのアプリケーションのデータフォーマットを、デ
    ータを交換すべき別のアプリケーションのデータフォー
    マットから切離すソフトウェア間の通信装置
  5. (5)送信アプリケーションからネットワークを介して
    の受信アプリケーションへのフォームの転送を容易にす
    るために、前記送信アプリケーションの固有のデータレ
    コードまたはフォームフォーマットを前記受信アプリケ
    ーションの外部データレコードまたはフォームフォーマ
    ットから切離すための通信インターフェイスにおいて、 前記送信アプリケーションへ結合され、フォームと呼ば
    れるデータオブジェクトであって、そのフォーム内のフ
    ィールドの名称および編成を定める1つまたは複数のク
    ラス定義に対応するデータとクラス識別データを含む前
    記データオブジェクトと、前記フィールド内のデータ表
    現のためのフォーマットとを作成し、格納し、リコール
    し、取扱い、かつ破壊する第1の手段と、 前記受信アプリケーションへ結合され、フォームと呼ば
    れる自己記述データであって、データ、および前記フォ
    ーム内のフィールドの名称と編成を定める1つまたは複
    数のクラス定義に対応するクラス識別データを含む前記
    データオブジェクトと、前記フィールド内のデータ表現
    のためのフォーマットとを作成し、格納し、リコールし
    、取扱い、かつ破壊する第2の手段と、 前記第1の手段へ結合され、前記第1の手段により作成
    され、かつ用いられたフォームのフォームクラスのため
    の前記定義と、前記第2の手段により作成され、かつ用
    いられたフォームのフォームクラスのためのクラス定義
    を見出だすことができるファイルの場所とを格納する第
    3の手段と、前記第2の手段へ結合され、前記第2の手
    段により作成され、かつ用いられたフォームのフォーム
    クラスのための前記定義と、前記第1の手段により作成
    され、かつ用いられたフォームのフォームクラスのため
    のクラス定義を見出だすことができるファイルの場所と
    を格納する第4の手段と、あるフォームでの特定のフィ
    ールド名を探索するために要求を受け、前記フォームで
    格納されているクラス識別子により識別された1つまた
    は複数のクラス定義をアクセスし、元の要求におけるフ
    ィールド名に一致するフィールド名についての前記クラ
    ス定義を探索し、名づけられているフィールドに格納さ
    れている値を見出だすために使用できるポインタアドレ
    スを戻し、元の要求において名づけられているフィール
    ドに格納されているデータを得るため要求を受け、前記
    ポインタアドレスを用いて前記フィールド内のデータを
    得るための、前記第3の手段内の第5の手段と、あるフ
    ォームでの特定のフィールド名を探索するために要求を
    受け、前記フォームで格納されているクラス識別子によ
    り識別された1つまたは複数のクラス定義をアクセスし
    、元の要求におけるフィールド名に一致するフィールド
    名についての前記クラス定義を探索し、名づけられてい
    るフィールドに格納されている値を見出だすために使用
    できるポインタアドレスを戻し、元の要求において名づ
    けられているフィールドに格納されているデータを得る
    ため要求を受け、前記ポインタアドレスを用いて前記フ
    ィールド内のデータを得るための、前記第4の手段内の
    第6の手段と、を備える送信アプリケーションの固有の
    フォームフォーマットを受信アプリケーションの外部フ
    ォームフォーマットから切離すためのソフトウェア間の
    通信装置。
  6. (6)第1のアプリケーションへ結合され、自己記述デ
    ータレコードまたはフォームおよびフォーマットであっ
    て、前記レコードと前記フォームはフォーム内のフィー
    ルドの名称と編成を定める1つまたは複数のクラス定義
    に対応するデータおよびクラス識別データを含み、前記
    フォーマットは前記フィールド内のデータ表現のための
    ものである、前記レコードまたはフォームおよび前記フ
    ォーマットを作成し、取扱う第1の手段と、 この第1の手段へ結合され、前記第1のアプリケーショ
    ンによる要求を受けて、前記第2のアプリケーションに
    より用いられる外部フォームの任意の選択されたフィー
    ルド中のデータをアクセスし、フィールド名を定めるク
    ラス定義と、前記第2のアプリケーションにより用いら
    れる前記フォームの編成をアクセスし、ポインタアドレ
    スを前記フィールドへ戻し、前記フォームをアクセスし
    、前記ポインタアドレスを用いて、元の要求において名
    づけられているフィールドに格納されているデータを得
    、かつそのデータを前記第1のアプリケーションへ戻す
    第2の手段と、 を備える第1のアプリケーションの固有のフォームフォ
    ーマットを第2のアプリケーションの外部のフォームフ
    ォーマットから切離すためのソフトウェア間の通信装置
  7. (7)請求項6記載の装置において、 前記第1の手段へ結合され、前記フォームに格納されて
    いる前記クラス識別データを用い、意味データを定める
    クラス定義と前記フォームのフィールドの編成をアクセ
    スすることなしに、前記第2のアプリケーションへ送る
    べき前記第1のアプリケーションに固有のフォーマット
    のフォームのフォーマットを、前記外部アプリケーショ
    ンのフォーマットへ変換する手段を更に備えるソフトウ
    ェア間の通信装置。
  8. (8)フォームと呼ばれるデータレコードに対するデー
    タ表現とデータの編成とに関して同じフォーマットを持
    つことができ、または持つことができないソフトウェア
    モジュールであって、フォームの例は、フォームにより
    定められるデータ表現とデータ編成における実際のデー
    タであり、ソフトウェアモジュールは同じコンピュータ
    に存在でき、または存在できず、かつ同じソフトウェア
    プロセス内に存在でき、または存在できず、更に、デー
    タの種々のフィールドに対して、それらのフィールドの
    名称を定める同じ意味情報を持つデータレコード中に存
    在でき、または存在できない前記ソフトウェアモジュー
    ルの間で情報の交換を実現するための装置において、 前記1つまたは複数の前記ソフトウェアモジュールへ結
    合され、コンピュータと、このコンピュータにより実行
    されるソフトウェアプログラムのライブラリィとを備え
    、クラス記述子を作成し、格納し、検索し、読みだすた
    めの第1の手段と、1つまたは複数の前記モジュールへ
    結合され、コンピュータと、このコンピュータにより実
    行されるソフトウェアプログラムのライブラリィとを備
    え、1つまたは複数のクラスのフォームの例を作成し、
    格納し、検索し、読出すための第2の手段と、 1つまたは複数の前記モジュールへ結合され、コンピュ
    ータと、このコンピュータにより実行されるソフトウェ
    アプログラムのライブラリィとを備え、前記ソフトウェ
    アモジュールと、前記第1の手段および前記第2の手段
    との間にインターフェイスを設けて、前記ソフトウェア
    モジュールが、前記第1の手段および前記第2の手段内
    の適切なソフトウェアプログラムを呼出すことによりフ
    ォームの例を有用に交換できるようにして組合わせ、交
    換された前記情報が、前記ソフトウェアモジュールの間
    のフォーマットの違いと意味の違いにもかかわらず、使
    用し、および他のモジュールとにより使用できる意味を
    有するようにして、前記モジュールの一方からの情報を
    翻訳し、取扱い、解釈し、かつ前記別のソフトウェアモ
    ジュールへ前記情報をフォームの例として送る第3の手
    段と、を備え、前記クラス記述子はデータレコードであ
    って、クラス記述子が適用するフォームクラスの例にお
    けるデータの名フィールドの名称についての意味情報と
    、前記クラス記述子が対応するクラスのフォームの例に
    おけるデータのフィールドのデータ表現と編成について
    のフォーマット情報とを定めるデータを含み、 前記第2の手段に関連する前記1つまたは複数のクラス
    のフォームの各前記例は、前記フォーム中のデータのデ
    ータ表現とデータの編成とについてのフォーマットデー
    タと、前記フォームの例を含む実際のデータとを含み、
    ソフトウェアモジュールの間の情報の交換を実現するソ
    フトウェア間の通信装置。
  9. (9)請求項8記載の装置において、 前記第3の手段は、モジュールから要求を受けて前記ク
    ラス記述子のいずれかを得、かつ前記第1の手段に希望
    のクラス記述子の探索を開始させ、前記第1の手段は、
    クラス定義を格納するためのファイル場所の格納されて
    いるリストを検査し、前記ファイルのいずれかに前記ク
    ラス定義が見出されたとすると、前記希望のクラス定義
    に対する格納されているデータを検索し、もし見出ださ
    れなかったとすると、希望のクラス定義が格納されてい
    る場所についての情報を有する第1の手段からクラス定
    義を要求する手段を含むソフトウェア間の通信装置。
  10. (10)種々の構造とデータ表現フォーマットをおのお
    の有する第1のコンピュータプログラムと第2のコンピ
    ュータプログラムの間に通信機能を設ける装置において
    、 前記第1のコンピュータプログラムと前記第2のコンピ
    ュータプログラムのおのおのに固有の構造およびデータ
    表現フォーマットを有する、前記第1のプログラムと前
    記第2のプログラムのおのおのに対して入れ子式のデー
    タレコードを作成する手段と、 送りコンピュータプログラムのフォーマットから受けコ
    ンピュータプログラムのフォーマットへ、前記第1のコ
    ンピュータプログラムと前記第2のコンピュータプログ
    ラムのいずれによる処理も必要とせずに、自動的に翻訳
    することにより、前記第1のコンピュータプログラムと
    前記第2のコンピュータプログラムの間のデータレコー
    ドの転送を容易にする手段と、 を備え、任意の数の入れ子レベルに対して、任意の1つ
    のデータレコードが、他のデータレコード等を含む、1
    つまたは複数のフィールドを有することができる、とい
    う意味で、前記データレコードは入れ子式にされ、各デ
    ータレコードは、クラス識別子が組合わされているクラ
    スに割当てられ、データレコードの各例は、一緒にされ
    た時にデータレコードを構成する全てのデータレコード
    に対する全てのクラスのクラス識別子を含み、第1のコ
    ンピュータプログラムと第2のコンピュータプログラム
    の間に通信機能を設けるソフトウェア間の通信装置。
  11. (11)請求項10記載の装置において、 対象とするフォーム例についての経路名と、希望のデー
    タを含んでいる前記データレコードの前記例中のフィー
    ルドに対するフィールド名とを受けることにより前記第
    2のコンピュータプログラムにより用いられるフォーマ
    ットのデータレコードからのデータの前記第1のコンピ
    ュータプログラムによる取出しを容易にし、前記第1の
    コンピュータプログラムによる処理なしに、前記例が属
    するデータレコードのクラスについてのクラス定義を自
    動的に探し、かつ要求中に名づけられているフィールド
    を前記クラス定義中で探し、データレコードの前記クラ
    スの例中で、前記名づけられているフィールド中に格納
    されているデータ値を示すポインタアドレスを発生し、
    そのポインタアドレスを用いて、対象とする例から希望
    のデータ値をアクセスする手段を更に備えるソフトウェ
    ア間の通信装置。
  12. (12)請求項11記載の装置において、 前記第1のコンピュータプログラムへ結合されて、前記
    第1のコンピュータプログラムへ通信インターフェイス
    機構を提供することにより、前記第1のコンピュータプ
    ログラムは、1つまたは複数の選択された主題に属する
    データレコードを要求できる、主題をベースとするアド
    レッシング手段を更に備え、前記第2のコンピュータプ
    ログラムが前記サブジェクトについての、または前記第
    2のコンピュータプログラムがある場所についての、デ
    ータレコードを発生することを前記第1のコンピュータ
    プログラムが知ることなしに、前記第2のコンピュータ
    プログラムは前記選択された主題に対してデータレコー
    ドを発生し、前記主題をベースとするアドレッシング手
    段は添字要求の態様で前記第2のコンピュータプログラ
    ムとの通信を設定し、それにより、前記主題に属する全
    てのデータレコードを前記第2のコンピュータプログラ
    ムは前記第1のコンピュータプログラムへ自動的に送る
    ソフトウェア間の通信装置。
  13. (13)請求項12記載の装置において、 前記主題をベースとするアドレッシング手段は、前記第
    2のコンピュータプログラムにより用いられる適切な通
    信プロトコルを用いて、前記第2のコンピュータプログ
    ラムとの前記通信を設定するためのサービス訓練手段を
    含むソフトウェア間の通信装置。
  14. (14)請求項13記載の装置において、 特定の主題に属するデータレコードに対する元の添字要
    求はコールバックソフトウェアプログラムを含み、前記
    サービス訓練手段は、添字要求を前記第2のコンピュー
    タプログラムへ送る手段を含み、前記添字要求は対象と
    する主題を含むとともに、前記主題についてのデータレ
    コードを供給できるものであるならば、前記第2のコン
    ピュータプログラムにより確認応答メッセージを送られ
    るアドレスと、主題に属するデータレコードを送られる
    第2のアドレスとを含み、前記サービス訓練手段は、前
    記第2のコンピュータプログラムから受けた前記データ
    を前記コールバックソフトウェアプログラムへ送る手段
    を含むソフトウェア間の通信装置。
  15. (15)特定の主題についてのデータを供給するサービ
    スのアドレスと、前記サービスとデータを交換するため
    の通信プロトコルを定める各前記サービスのための関連
    するサービス訓練の名称とに前記特定のサブジェクトを
    マッピングするデータを電子的に格納する登録簿サービ
    ス手段と、 前記のサブジェクトについてのデータだけを前記関連す
    るサービス訓練手段へ前記サービスが送るために利用す
    る添字通信リンクを設定し、前記サービスから受けた前
    記主題についてのデータを前記第1のソフトウェアアプ
    リケーションへ送る1つまたは複数のサービス訓練手段
    と、 前記第1のソフトウェアアプリケーションと前記登録簿
    サービス手段へ結合され、特定の主題についてのデータ
    を求める添字要求を前記第1のソフトウェアから受け、
    前記サービスとのデータ交換をどのようにして行うかを
    定める前記関連するサービス訓練の名称と前記主題につ
    いてのデータとを供給する奉仕コンピュータで行われて
    いるサービスのアドレスを電子的に探索し、前記添字要
    求中の主題データを、前記サービス登録簿手段をアクセ
    スすることにより識別されたサービス訓練手段へ送って
    、そのサービス訓練手段に関連するサービスの前記添字
    通信リンクを設定させる主題マッパ手段と、 を備え、データを交換すべき相手であるサービスソフト
    ウェアのアドレス、サービスの名称、またはプロトコル
    を知る必要から第1のソフトウェアアプリケーションを
    切離すソフトウェア間の通信装置。
JP2194691A 1989-07-27 1990-07-23 ソフトウェア間の通信装置 Pending JPH03148739A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07386584 US5187787B1 (en) 1989-07-27 1989-07-27 Apparatus and method for providing decoupling of data exchange details for providing high performance communication between software processes
US386584 1989-07-27

Publications (1)

Publication Number Publication Date
JPH03148739A true JPH03148739A (ja) 1991-06-25

Family

ID=23526213

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2194691A Pending JPH03148739A (ja) 1989-07-27 1990-07-23 ソフトウェア間の通信装置

Country Status (7)

Country Link
US (1) US5187787B1 (ja)
EP (1) EP0412232B1 (ja)
JP (1) JPH03148739A (ja)
AT (1) ATE164695T1 (ja)
AU (3) AU636152B2 (ja)
CA (1) CA2001621C (ja)
DE (1) DE69032191T2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004334183A (ja) * 2003-04-01 2004-11-25 Microsoft Corp プログレッシブスケールグラフ
JP2009110245A (ja) * 2007-10-30 2009-05-21 Yamatake Corp 情報連携ウィンドウシステムおよびプログラム

Families Citing this family (328)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5557798A (en) * 1989-07-27 1996-09-17 Tibco, Inc. Apparatus and method for providing decoupling of data exchange details for providing high performance communication between software processes
US6044205A (en) * 1996-02-29 2000-03-28 Intermind Corporation Communications system for transferring information between memories according to processes transferred with the information
US5442783A (en) * 1990-01-22 1995-08-15 Motorola, Inc. Method and apparatus for transferring data base information
US5278978A (en) * 1990-03-26 1994-01-11 International Business Machines Corporation Method and system for describing and exchanging data between heterogeneous database systems with data converted by the receiving database system
US5210870A (en) * 1990-03-27 1993-05-11 International Business Machines Database sort and merge apparatus with multiple memory arrays having alternating access
WO1992000654A1 (en) * 1990-06-25 1992-01-09 Barstow David R A method for encoding and broadcasting information about live events using computer simulation and pattern matching techniques
US7373587B1 (en) * 1990-06-25 2008-05-13 Barstow David R Representing sub-events with physical exertion actions
US5542085A (en) * 1990-07-24 1996-07-30 Hitachi, Ltd. Method for producing program modules
AU628264B2 (en) * 1990-08-14 1992-09-10 Oracle International Corporation Methods and apparatus for providing a client interface to an object-oriented invocation of an application
DE69126857T2 (de) * 1991-01-18 1998-01-08 Ibm Objektorientierte Programmierungsplattform
JPH05303531A (ja) * 1991-01-31 1993-11-16 Fields Software Group Inc 電子書式処理システム及び方法
US5438509A (en) * 1991-02-07 1995-08-01 Heffron; Donald J. Transaction processing in a distributed data processing system
US6493739B1 (en) 1993-08-24 2002-12-10 Echelon Corporation Task scheduling in an event driven environment
WO1992016895A1 (en) * 1991-03-18 1992-10-01 Echelon Corporation Networked variables
AU1647392A (en) * 1991-03-18 1992-10-21 Echelon Corporation Programming language structures for use in a network for communicating, sensing and controlling information
US5261094A (en) * 1991-04-08 1993-11-09 International Business Machines Corporation Asynchronous replication of data changes by distributed update requests
US5303375A (en) * 1991-04-26 1994-04-12 Hewlett-Packard Company System and method for facilitating selection of running functional process in object-oriented environments
US5377323A (en) * 1991-09-13 1994-12-27 Sun Microsytems, Inc. Apparatus and method for a federated naming system which can resolve a composite name composed of names from any number of disparate naming systems
US8352400B2 (en) 1991-12-23 2013-01-08 Hoffberg Steven M Adaptive pattern recognition based controller apparatus and method and human-factored interface therefore
US5519606A (en) * 1992-01-21 1996-05-21 Starfish Software, Inc. System and methods for appointment reconciliation
US5392390A (en) * 1992-04-10 1995-02-21 Intellilink Corp. Method for mapping, translating, and dynamically reconciling data between disparate computer platforms
US7299240B1 (en) * 1992-04-10 2007-11-20 Intellisync Corporation Method for translating computer data from one record structure to another
JP3489123B2 (ja) * 1992-04-15 2004-01-19 株式会社日立製作所 アプリケーション結合方法
US5557776A (en) * 1992-05-18 1996-09-17 International Business Machines Corporation Apparatus which allows data sharing amongst computer program from different program environments
US5577202A (en) * 1992-08-24 1996-11-19 Trw Inc. Message handling system for automated gateway between first and second handling systems wherein first envelope is added to a second envelope respectively without changing text
US5864818A (en) * 1993-01-04 1999-01-26 Feldman; Ron Automated hotel reservation processing method and system
US5581461A (en) * 1993-02-08 1996-12-03 Itt Sheraton Corporation Computerized system and method for storage, processing and transfer of inventory and other data among a central processor/database and a number of remote locations
US5596744A (en) * 1993-05-20 1997-01-21 Hughes Aircraft Company Apparatus and method for providing users with transparent integrated access to heterogeneous database management systems
US6718399B1 (en) 1993-05-21 2004-04-06 Candle Distributed Solutions, Inc. Communications on a network
US5848234A (en) * 1993-05-21 1998-12-08 Candle Distributed Solutions, Inc. Object procedure messaging facility
CA2123924A1 (en) * 1993-06-02 1994-12-03 Charles Douglas Blewett Specifying contexts in callback style programming
US5581703A (en) * 1993-06-29 1996-12-03 International Business Machines Corporation Method and apparatus for reserving system resources to assure quality of service
US5568364A (en) * 1993-08-31 1996-10-22 Wireless Access Inc. Sonically-bonded outer support structure for an integrated circuit card
IL111154A0 (en) * 1993-10-21 1994-12-29 Martino Ii John A Systems and methods for electronic messaging
WO1995013580A1 (en) * 1993-11-09 1995-05-18 Arcada Software Data backup and restore system for a computer network
US5404523A (en) * 1993-11-10 1995-04-04 Digital Equipment Corporation Method of managing requests in a transaction processing system
US5450425A (en) * 1993-11-19 1995-09-12 Multi-Tech Systems, Inc. Protocol for communication of a data packet
US5491800A (en) * 1993-12-20 1996-02-13 Taligent, Inc. Object-oriented remote procedure call networking system
US5964844A (en) * 1994-01-18 1999-10-12 Cognex Corporation Method and apparatus for extensible command structure for machine vision system
US5414762A (en) * 1994-01-18 1995-05-09 Q.Sys International, Inc. Telephony controller with functionality command converter
US5911066A (en) * 1994-02-22 1999-06-08 Microsoft Corporation Data transfer utilizing a single functionally independent data transfer mechanism
US6510465B1 (en) 1994-04-19 2003-01-21 Ibm Dual communication services interface for distributed transaction processing
DE69511080T2 (de) * 1994-04-21 2000-02-03 British Telecomm Schnittstellenanordnung und verfahren
US5794053A (en) * 1994-05-18 1998-08-11 Bell Communications Research, Inc. Method and system for dynamic interface contract creation
US5694546A (en) 1994-05-31 1997-12-02 Reisman; Richard R. System for automatic unattended electronic information transport between a server and a client by a vendor provided transport software with a manifest list
US6769009B1 (en) 1994-05-31 2004-07-27 Richard R. Reisman Method and system for selecting a personalized set of information channels
US5625775A (en) * 1994-06-13 1997-04-29 International Business Machines Corporation Modem communication interface in a data processing system
NL9401142A (nl) * 1994-07-11 1996-02-01 Nederland Ptt Overdracht van berichten via verschillende subnetwerken.
KR960008583A (ko) * 1994-08-26 1996-03-22 윌리암 티. 엘리스 데이타 프로세싱 시스템 및 데이타 프로세싱 시스템 관리 방법
US5500852A (en) * 1994-08-31 1996-03-19 Echelon Corporation Method and apparatus for network variable aliasing
US5732270A (en) * 1994-09-15 1998-03-24 Visual Edge Software Limited System and method for providing interoperability among heterogeneous object systems
US5542078A (en) * 1994-09-29 1996-07-30 Ontos, Inc. Object oriented data store integration environment for integration of object oriented databases and non-object oriented data facilities
US5684990A (en) * 1995-01-11 1997-11-04 Puma Technology, Inc. Synchronization of disparate databases
US5943422A (en) 1996-08-12 1999-08-24 Intertrust Technologies Corp. Steganographic techniques for securely delivering electronic digital rights management control information over insecure communication channels
US5689705A (en) * 1995-02-13 1997-11-18 Pulte Home Corporation System for facilitating home construction and sales
US6658568B1 (en) 1995-02-13 2003-12-02 Intertrust Technologies Corporation Trusted infrastructure support system, methods and techniques for secure electronic commerce transaction and rights management
US7133846B1 (en) 1995-02-13 2006-11-07 Intertrust Technologies Corp. Digital certificate support system, methods and techniques for secure electronic commerce transaction and rights management
US6948070B1 (en) 1995-02-13 2005-09-20 Intertrust Technologies Corporation Systems and methods for secure transaction management and electronic rights protection
US7133845B1 (en) * 1995-02-13 2006-11-07 Intertrust Technologies Corp. System and methods for secure transaction management and electronic rights protection
US7095854B1 (en) * 1995-02-13 2006-08-22 Intertrust Technologies Corp. Systems and methods for secure transaction management and electronic rights protection
US6157721A (en) * 1996-08-12 2000-12-05 Intertrust Technologies Corp. Systems and methods using cryptography to protect secure computing environments
US7124302B2 (en) * 1995-02-13 2006-10-17 Intertrust Technologies Corp. Systems and methods for secure transaction management and electronic rights protection
US7143290B1 (en) * 1995-02-13 2006-11-28 Intertrust Technologies Corporation Trusted and secure techniques, systems and methods for item delivery and execution
EP2110732A3 (en) * 1995-02-13 2009-12-09 Intertrust Technologies Corporation Systems and methods for secure transaction management and electronic rights protection
US20060206397A1 (en) * 1995-02-13 2006-09-14 Intertrust Technologies Corp. Cryptographic methods, apparatus and systems for storage media electronic right management in closed and connected appliances
US5892900A (en) * 1996-08-30 1999-04-06 Intertrust Technologies Corp. Systems and methods for secure transaction management and electronic rights protection
US5724556A (en) * 1995-04-14 1998-03-03 Oracle Corporation Method and apparatus for defining and configuring modules of data objects and programs in a distributed computer system
US6240451B1 (en) * 1995-05-25 2001-05-29 Punch Networks Corporation Method and apparatus for automatically disseminating information over a network
US5694596A (en) * 1995-05-25 1997-12-02 Kangaroo, Inc. On-line database updating network system and method
US5701451A (en) * 1995-06-07 1997-12-23 International Business Machines Corporation Method for fulfilling requests of a web browser
US6807558B1 (en) 1995-06-12 2004-10-19 Pointcast, Inc. Utilization of information “push” technology
US5740549A (en) * 1995-06-12 1998-04-14 Pointcast, Inc. Information and advertising distribution system and method
US5896533A (en) * 1995-07-06 1999-04-20 Intel Corporation Accessing internets world-wide web through object linking and embedding technology
US20020178051A1 (en) 1995-07-25 2002-11-28 Thomas G. Scavone Interactive marketing network and process using electronic certificates
US5682534A (en) * 1995-09-12 1997-10-28 International Business Machines Corporation Transparent local RPC optimization
US5659742A (en) * 1995-09-15 1997-08-19 Infonautics Corporation Method for storing multi-media information in an information retrieval system
US5640553A (en) * 1995-09-15 1997-06-17 Infonautics Corporation Relevance normalization for documents retrieved from an information retrieval system in response to a query
US5742816A (en) * 1995-09-15 1998-04-21 Infonautics Corporation Method and apparatus for identifying textual documents and multi-mediafiles corresponding to a search topic
US5675788A (en) * 1995-09-15 1997-10-07 Infonautics Corp. Method and apparatus for generating a composite document on a selected topic from a plurality of information sources
US5873076A (en) * 1995-09-15 1999-02-16 Infonautics Corporation Architecture for processing search queries, retrieving documents identified thereby, and method for using same
US5721902A (en) * 1995-09-15 1998-02-24 Infonautics Corporation Restricted expansion of query terms using part of speech tagging
US5717914A (en) * 1995-09-15 1998-02-10 Infonautics Corporation Method for categorizing documents into subjects using relevance normalization for documents retrieved from an information retrieval system in response to a query
US5822731A (en) * 1995-09-15 1998-10-13 Infonautics Corporation Adjusting a hidden Markov model tagger for sentence fragments
US5712979A (en) * 1995-09-20 1998-01-27 Infonautics Corporation Method and apparatus for attaching navigational history information to universal resource locator links on a world wide web page
US5819285A (en) * 1995-09-20 1998-10-06 Infonautics Corporation Apparatus for capturing, storing and processing co-marketing information associated with a user of an on-line computer service using the world-wide-web.
US5717860A (en) * 1995-09-20 1998-02-10 Infonautics Corporation Method and apparatus for tracking the navigation path of a user on the world wide web
US5812769A (en) * 1995-09-20 1998-09-22 Infonautics Corporation Method and apparatus for redirecting a user to a new location on the world wide web using relative universal resource locators
WO1997014108A1 (en) * 1995-10-11 1997-04-17 Block Financial Corporation Financial information access system
US5884323A (en) * 1995-10-13 1999-03-16 3Com Corporation Extendible method and apparatus for synchronizing files on two different computer systems
US5727202A (en) * 1995-10-18 1998-03-10 Palm Computing, Inc. Method and apparatus for synchronizing information on two different computer systems
US6714945B1 (en) 1995-11-17 2004-03-30 Sabre Inc. System, method, and article of manufacture for propagating transaction processing facility based data and for providing the propagated data to a variety of clients
US6122642A (en) * 1996-01-18 2000-09-19 Sabre Inc. System for propagating, retrieving and using transaction processing facility airline computerized reservation system data on a relational database processing platform
US5706442A (en) * 1995-12-20 1998-01-06 Block Financial Corporation System for on-line financial services using distributed objects
US6148323A (en) * 1995-12-29 2000-11-14 Hewlett-Packard Company System and method for managing the execution of system management
US6625617B2 (en) 1996-01-02 2003-09-23 Timeline, Inc. Modularized data retrieval method and apparatus with multiple source capability
US5870605A (en) * 1996-01-18 1999-02-09 Sun Microsystems, Inc. Middleware for enterprise information distribution
US5873084A (en) * 1996-01-18 1999-02-16 Sun Microsystems, Inc. Database network connectivity product
US20090012864A1 (en) * 2007-07-02 2009-01-08 Goldberg Sheldon F Compensation model for network services
US6264560B1 (en) 1996-01-19 2001-07-24 Sheldon F. Goldberg Method and system for playing games on a network
US5823879A (en) 1996-01-19 1998-10-20 Sheldon F. Goldberg Network gaming system
US9530150B2 (en) * 1996-01-19 2016-12-27 Adcension, Llc Compensation model for network services
US20040019610A1 (en) * 1996-02-27 2004-01-29 Burns Kevin S. Portal information delivery system for personal computers and SOHO computer systems
US5862325A (en) * 1996-02-29 1999-01-19 Intermind Corporation Computer-based communication system and method using metadata defining a control structure
US6049673A (en) * 1996-03-08 2000-04-11 Organicnet, Inc. Organicware applications for computer systems
US6721951B1 (en) 1996-04-15 2004-04-13 Microsoft Corporation Data transfer utilizing single functionally independent data transfer mechanism
US5893911A (en) * 1996-04-17 1999-04-13 Neon Software, Inc. Method for defining and applying rules for message distribution for transaction processing in a distributed application
US6560656B1 (en) 1998-02-26 2003-05-06 Sun Microsystems, Inc. Apparatus and method for providing downloadable code for use in communicating with a device in a distributed system
US6708171B1 (en) 1996-04-23 2004-03-16 Sun Microsystems, Inc. Network proxy
US6598094B1 (en) 1998-03-20 2003-07-22 Sun Microsystems, Inc. Method and apparatus for determining status of remote objects in a distributed system
US6182083B1 (en) 1997-11-17 2001-01-30 Sun Microsystems, Inc. Method and system for multi-entry and multi-template matching in a database
US6463446B1 (en) 1998-02-26 2002-10-08 Sun Microsystems, Inc. Method and apparatus for transporting behavior in an event-based distributed system
US6832223B1 (en) 1996-04-23 2004-12-14 Sun Microsystems, Inc. Method and system for facilitating access to a lookup service
US6466947B2 (en) 1998-03-20 2002-10-15 Sun Microsystems, Inc. Apparatus and method for dynamically verifying information in a distributed system
US6393497B1 (en) 1998-03-20 2002-05-21 Sun Microsystems, Inc. Downloadable smart proxies for performing processing associated with a remote procedure call in a distributed system
US6446070B1 (en) 1998-02-26 2002-09-03 Sun Microsystems, Inc. Method and apparatus for dynamic distributed computing over a network
US6938263B2 (en) 1996-04-23 2005-08-30 Sun Microsystems, Inc. System and method for facilitating dynamic loading of “stub” information to enable a program operating in one address space to invoke processing of a remote method or procedure in another address space
US6272559B1 (en) 1997-10-15 2001-08-07 Sun Microsystems, Inc. Deferred reconstruction of objects and remote loading for event notification in a distributed system
US6578044B1 (en) 1997-11-17 2003-06-10 Sun Microsystems, Inc. Method and system for typesafe attribute matching
US6226746B1 (en) 1998-03-20 2001-05-01 Sun Microsystems, Inc. Stack-based system and method to combine security requirements of methods
US6282652B1 (en) 1998-02-26 2001-08-28 Sun Microsystems, Inc. System for separately designating security requirements for methods invoked on a computer
US6138238A (en) 1997-12-11 2000-10-24 Sun Microsystems, Inc. Stack-based access control using code and executor identifiers
US6185611B1 (en) 1998-03-20 2001-02-06 Sun Microsystem, Inc. Dynamic lookup service in a distributed system
US6237024B1 (en) 1998-03-20 2001-05-22 Sun Microsystem, Inc. Method and apparatus for the suspension and continuation of remote processes
US6438614B2 (en) 1998-02-26 2002-08-20 Sun Microsystems, Inc. Polymorphic token based control
US6487607B1 (en) 1998-02-26 2002-11-26 Sun Microsystems, Inc. Methods and apparatus for remote method invocation
US6247026B1 (en) 1996-10-11 2001-06-12 Sun Microsystems, Inc. Method, apparatus, and product for leasing of delegation certificates in a distributed system
US6134603A (en) * 1998-03-20 2000-10-17 Sun Microsystems, Inc. Method and system for deterministic hashes to identify remote methods
US6421704B1 (en) 1998-03-20 2002-07-16 Sun Microsystems, Inc. Method, apparatus, and product for leasing of group membership in a distributed system
US5819231A (en) * 1996-05-01 1998-10-06 Electronic Data Systems Corporation Compensation planning tool and method
US6178464B1 (en) * 1996-05-10 2001-01-23 Apple Computer, Inc. System and method for canceling a computer request
US5768528A (en) * 1996-05-24 1998-06-16 V-Cast, Inc. Client-server system for delivery of online information
US5878225A (en) * 1996-06-03 1999-03-02 International Business Machines Corporation Dual communication services interface for distributed transaction processing
US5916307A (en) * 1996-06-05 1999-06-29 New Era Of Networks, Inc. Method and structure for balanced queue communication between nodes in a distributed computing application
US6282580B1 (en) * 1996-07-02 2001-08-28 Sun Microsystems, Inc. Bridge providing communication between different implementations of object request brokers
US5864669A (en) * 1996-07-11 1999-01-26 Microsoft Corporation Method and system for accessing a particular instantiation of a server process
US5864340A (en) * 1996-08-22 1999-01-26 International Business Machines Corporation Mobile client computer programmed to predict input
US5781703A (en) * 1996-09-06 1998-07-14 Candle Distributed Solutions, Inc. Intelligent remote agent for computer performance monitoring
DE19638071A1 (de) * 1996-09-18 1998-03-19 Deutsche Telekom Mobil Verfahren und Einrichtung zur Integration verteilter Telematikanwendungen über verschiedene Telekommunikationswege
US6757729B1 (en) * 1996-10-07 2004-06-29 International Business Machines Corporation Virtual environment manager for network computers
US6237009B1 (en) 1996-10-11 2001-05-22 Sun Microsystems, Inc. Lease renewal service
US5832529A (en) 1996-10-11 1998-11-03 Sun Microsystems, Inc. Methods, apparatus, and product for distributed garbage collection
US6728737B2 (en) 1996-10-11 2004-04-27 Sun Microsystems, Inc. Method and system for leasing storage
US5943676A (en) 1996-11-13 1999-08-24 Puma Technology, Inc. Synchronization of recurring records in incompatible databases
US6330568B1 (en) 1996-11-13 2001-12-11 Pumatech, Inc. Synchronization of databases
US6044381A (en) 1997-09-11 2000-03-28 Puma Technology, Inc. Using distributed history files in synchronizing databases
US6212529B1 (en) 1996-11-13 2001-04-03 Puma Technology, Inc. Synchronization of databases using filters
US7302446B1 (en) 1996-11-13 2007-11-27 Intellisync Corporation Synchronizing databases
US6141664A (en) * 1996-11-13 2000-10-31 Puma Technology, Inc. Synchronization of databases with date range
US6405218B1 (en) 1996-11-13 2002-06-11 Pumatech, Inc. Synchronizing databases
US7013315B1 (en) 1996-11-13 2006-03-14 Intellisync Corporation Synchronization of databases with record sanitizing and intelligent comparison
US5860088A (en) * 1996-12-06 1999-01-12 International Business Machines Corporation Method for extraction of a variable length record from fixed length sectors on a disk drive
US6167457A (en) * 1996-12-11 2000-12-26 Agilent Technologies Message filters, automatic binding, and encoding for distributed systems
US5903562A (en) * 1996-12-13 1999-05-11 Hewlett-Packard Company Multicasting employing publication title to create numeric destination address for computer network system frame
US20010049659A1 (en) * 1996-12-23 2001-12-06 Pitney Bowes Incorporated Inserter billing system with electronic distribution
US5913061A (en) 1997-01-08 1999-06-15 Crossroads Software, Inc. Modular application collaboration
US6094688A (en) 1997-01-08 2000-07-25 Crossworlds Software, Inc. Modular application collaboration including filtering at the source and proxy execution of compensating transactions to conserve server resources
US6429402B1 (en) 1997-01-24 2002-08-06 The Regents Of The University Of California Controlled laser production of elongated articles from particulates
US7206815B1 (en) 1997-01-29 2007-04-17 Palmsource Inc. Method and apparatus for synchronizing an email client on a portable computer system with an email client on a desktop computer
US6401112B1 (en) 1997-01-29 2002-06-04 Palm, Inc. Method and apparatus for synchronizing an Email client on a portable computer system with an Email client on a desktop computer
US6006274A (en) * 1997-01-30 1999-12-21 3Com Corporation Method and apparatus using a pass through personal computer connected to both a local communication link and a computer network for indentifying and synchronizing a preferred computer with a portable computer
US6138162A (en) * 1997-02-11 2000-10-24 Pointcast, Inc. Method and apparatus for configuring a client to redirect requests to a caching proxy server based on a category ID with the request
US6173311B1 (en) 1997-02-13 2001-01-09 Pointcast, Inc. Apparatus, method and article of manufacture for servicing client requests on a network
AUPO527497A0 (en) * 1997-02-25 1997-03-20 Mclaren Software Technology Pty Ltd Application messaging system
US6704785B1 (en) 1997-03-17 2004-03-09 Vitria Technology, Inc. Event driven communication system
US6038677A (en) * 1997-03-31 2000-03-14 International Business Machines Corporation Automatic resource group formation and maintenance in a high availability cluster configuration
US6826759B2 (en) * 1997-04-01 2004-11-30 Sun Microsystems, Inc. Method and apparatus for discovering and activating software components
US7490112B1 (en) 1997-04-15 2009-02-10 Intellisync Corporation System and methods for synchronizing information among disparate datasets
AU7692898A (en) * 1997-06-04 1998-12-21 Neuromedia, Inc. Virtual robot conversing with users in natural language
US6192419B1 (en) * 1997-06-18 2001-02-20 International Business Machines Corporation Collaborative framework for disparate application programs
US6378001B1 (en) * 1997-06-18 2002-04-23 International Business Machines Corp. Collaborative framework with shared objects
US5937402A (en) * 1997-06-19 1999-08-10 Ontos, Inc. System for enabling access to a relational database from an object oriented program
US7080385B1 (en) * 1997-08-18 2006-07-18 Tibco Software Inc. Certified message delivery and queuing in multipoint publish/subscribe communications
US6006206A (en) * 1997-09-08 1999-12-21 Reuters Limited Data health monitor for financial information communications networks
US6199068B1 (en) 1997-09-11 2001-03-06 Abb Power T&D Company Inc. Mapping interface for a distributed server to translate between dissimilar file formats
US6957427B1 (en) 1997-10-15 2005-10-18 Sun Microsystems, Inc. Remote object activation in a distributed system
US6253256B1 (en) 1997-10-15 2001-06-26 Sun Microsystems, Inc. Deferred reconstruction of objects and remote loading in a distributed system
US6961954B1 (en) 1997-10-27 2005-11-01 The Mitre Corporation Automated segmentation, information extraction, summarization, and presentation of broadcast news
GB2330923A (en) * 1997-10-28 1999-05-05 Ibm Transaction manager
US7092914B1 (en) * 1997-11-06 2006-08-15 Intertrust Technologies Corporation Methods for matching, selecting, narrowcasting, and/or classifying based on rights management and/or other information
US6112181A (en) 1997-11-06 2000-08-29 Intertrust Technologies Corporation Systems and methods for matching, selecting, narrowcasting, and/or classifying based on rights management and/or other information
US6157924A (en) 1997-11-07 2000-12-05 Bell & Howell Mail Processing Systems Company Systems, methods, and computer program products for delivering information in a preferred medium
US6343327B2 (en) 1997-11-12 2002-01-29 Pitney Bowes Inc. System and method for electronic and physical mass mailing
US6330610B1 (en) 1997-12-04 2001-12-11 Eric E. Docter Multi-stage data filtering system employing multiple filtering criteria
US6718387B1 (en) * 1997-12-10 2004-04-06 Sun Microsystems, Inc. Reallocating address spaces of a plurality of servers using a load balancing policy and a multicast channel
US6310888B1 (en) * 1997-12-30 2001-10-30 Iwork Software, Llc System and method for communicating data
US6205448B1 (en) * 1998-01-30 2001-03-20 3Com Corporation Method and apparatus of synchronizing two computer systems supporting multiple synchronization techniques
US6205482B1 (en) 1998-02-19 2001-03-20 Ameritech Corporation System and method for executing a request from a client application
US6604127B2 (en) 1998-03-20 2003-08-05 Brian T. Murphy Dynamic lookup service in distributed system
US6034686A (en) * 1998-03-09 2000-03-07 3Com Corporation Collapsing event display for small screen computer
US7162510B2 (en) * 1998-03-16 2007-01-09 Schneider Automation Inc. Communication system for a control system over Ethernet and IP networks
US6925477B1 (en) 1998-03-31 2005-08-02 Intellisync Corporation Transferring records between two databases
US6769032B1 (en) 1998-05-15 2004-07-27 E.Piphany, Inc. Augmented processing of information objects in a distributed messaging framework in a computer network
US6772350B1 (en) 1998-05-15 2004-08-03 E.Piphany, Inc. System and method for controlling access to resources in a distributed environment
US6567846B1 (en) 1998-05-15 2003-05-20 E.Piphany, Inc. Extensible user interface for a distributed messaging framework in a computer network
US6636886B1 (en) 1998-05-15 2003-10-21 E.Piphany, Inc. Publish-subscribe architecture using information objects in a computer network
US6912561B1 (en) 1998-05-22 2005-06-28 International Business Machines Corporation Method and apparatus for using classes, encapsulating data with its behaviors, for transferring between databases and client applications and for enabling applications to adapt to specific constraints of the data
US6826571B1 (en) 1998-05-22 2004-11-30 International Business Machines Corporation Method and apparatus for dynamically customizing and extending functions of a server program to enable and restrict functions of the server
US6917939B1 (en) 1998-05-22 2005-07-12 International Business Machines Corporation Method and apparatus for configurable mapping between data stores and data structures and a generalized client data model using heterogeneous, specialized storage
US6366916B1 (en) 1998-05-22 2002-04-02 International Business Machines Corporation Configurable and extensible system for deploying asset management functions to client applications
US6397259B1 (en) 1998-05-29 2002-05-28 Palm, Inc. Method, system and apparatus for packet minimized communications
US6253326B1 (en) 1998-05-29 2001-06-26 Palm, Inc. Method and system for secure communications
US6343318B1 (en) 1998-05-29 2002-01-29 Palm, Inc. Method and apparatus for communicating information over low bandwidth communications networks
US7025209B2 (en) 1998-05-29 2006-04-11 Palmsource, Inc. Method and apparatus for wireless internet access
US20040199863A1 (en) * 1998-06-04 2004-10-07 Hitchcock Michael D. Universal forms engine
US6345278B1 (en) * 1998-06-04 2002-02-05 Collegenet, Inc. Universal forms engine
US6370531B1 (en) * 1998-08-21 2002-04-09 International Business Machines Corporation Method and computer program product for automatic conversion of data based on location extension
CA2248522C (en) * 1998-09-25 2002-01-29 Ibm Canada Limited-Ibm Canada Limitee Framework for representation and manipulation of record oriented data
US6377973B2 (en) * 1998-09-30 2002-04-23 Emrys Technologies, Ltd. Event management in a system with application and graphical user interface processing adapted to display predefined graphical elements resides separately on server and client machine
EP1123614B1 (de) 1998-10-19 2011-03-09 Nokia Siemens Networks GmbH & Co. KG Netzarchitektur für kommunikations- und/oder datennetze
US6249571B1 (en) 1998-10-30 2001-06-19 North Coast Logic, Inc. Telemanagement system with modular features and database synchronization
US6411700B1 (en) 1998-10-30 2002-06-25 Nec America, Inc. Telemanagement system with single point of entry
US7007003B1 (en) 1998-12-04 2006-02-28 Intellisync Corporation Notification protocol for establishing synchronization mode for use in synchronizing databases
US6367037B1 (en) * 1998-12-10 2002-04-02 Intel Corporation Data collection agent for computer networks
US6483599B1 (en) 1998-12-29 2002-11-19 Pitney Bowes Inc. System and method for separating a print stream into an electronic document print stream and a physical document print stream
US6772180B1 (en) * 1999-01-22 2004-08-03 International Business Machines Corporation Data representation schema translation through shared examples
US6138143A (en) * 1999-01-28 2000-10-24 Genrad, Inc. Method and apparatus for asynchronous transaction processing
US7904187B2 (en) 1999-02-01 2011-03-08 Hoffberg Steven M Internet appliance system and method
GB2350758A (en) * 1999-06-04 2000-12-06 Ibm Message broker providing a publish/subscribe sevice and method of processing messages in a publish/subscribe environment
US8479251B2 (en) * 1999-03-31 2013-07-02 Microsoft Corporation System and method for synchronizing streaming content with enhancing content using pre-announced triggers
US6901518B1 (en) 1999-04-08 2005-05-31 Sun Microsystems, Inc. Method and system for establishing trust in downloaded proxy code
US6829591B1 (en) 1999-04-12 2004-12-07 Pitney Bowes Inc. Router instruction processor for a digital document delivery system
US6560329B1 (en) 1999-04-29 2003-05-06 Teloquent Communications Corporation Automated call routing system
US20050038911A1 (en) * 1999-04-30 2005-02-17 Yoshikuni Watanabe Cooperative system and method therefor
US6389572B1 (en) 1999-05-28 2002-05-14 Palm, Inc. Method of extracting bits from modulated waveforms
US6360272B1 (en) * 1999-05-28 2002-03-19 Palm, Inc. Method and apparatus for maintaining a unified view of multiple mailboxes
US6877163B1 (en) 1999-06-14 2005-04-05 Sun Microsystems, Inc. Method and system for dynamic proxy classes
US6845393B1 (en) 1999-06-14 2005-01-18 Sun Microsystems, Inc. Lookup discovery service in a distributed system having a plurality of lookup services each with associated characteristics and services
US6401104B1 (en) * 1999-07-03 2002-06-04 Starfish Software, Inc. System and methods for synchronizing datasets using cooperation among multiple synchronization engines
US6404441B1 (en) * 1999-07-16 2002-06-11 Jet Software, Inc. System for creating media presentations of computer software application programs
US7243236B1 (en) * 1999-07-29 2007-07-10 Intertrust Technologies Corp. Systems and methods for using cryptography to protect secure and insecure computing environments
US6954220B1 (en) 1999-08-31 2005-10-11 Accenture Llp User context component in environment services patterns
US6571282B1 (en) 1999-08-31 2003-05-27 Accenture Llp Block-based communication in a communication services patterns environment
US6578068B1 (en) 1999-08-31 2003-06-10 Accenture Llp Load balancer in environment services patterns
US6601192B1 (en) 1999-08-31 2003-07-29 Accenture Llp Assertion component in environment services patterns
US6715145B1 (en) 1999-08-31 2004-03-30 Accenture Llp Processing pipeline in a base services pattern environment
US6640249B1 (en) 1999-08-31 2003-10-28 Accenture Llp Presentation services patterns in a netcentric environment
US6842906B1 (en) 1999-08-31 2005-01-11 Accenture Llp System and method for a refreshable proxy pool in a communication services patterns environment
US6640238B1 (en) 1999-08-31 2003-10-28 Accenture Llp Activity component in a presentation services patterns environment
US6636242B2 (en) 1999-08-31 2003-10-21 Accenture Llp View configurer in a presentation services patterns environment
US6549949B1 (en) * 1999-08-31 2003-04-15 Accenture Llp Fixed format stream in a communication services patterns environment
US6640244B1 (en) 1999-08-31 2003-10-28 Accenture Llp Request batcher in a transaction services patterns environment
US7289964B1 (en) 1999-08-31 2007-10-30 Accenture Llp System and method for transaction services patterns in a netcentric environment
US6601234B1 (en) 1999-08-31 2003-07-29 Accenture Llp Attribute dictionary in a business logic services environment
US6742015B1 (en) 1999-08-31 2004-05-25 Accenture Llp Base services patterns in a netcentric environment
US6615253B1 (en) 1999-08-31 2003-09-02 Accenture Llp Efficient server side data retrieval for execution of client side applications
US6976268B2 (en) * 1999-12-10 2005-12-13 Sun Microsystems, Inc. Methods and apparatus for efficiently accessing periodically broadcast data
US6704883B1 (en) 1999-12-22 2004-03-09 Cisco Systems, Inc. Event-enabled distributed testing system
US20010034838A1 (en) * 2000-01-14 2001-10-25 Motoshi Ito Control program, device including the control program, method for creating the control program, and method for operating the control program
US7328233B2 (en) * 2000-01-19 2008-02-05 Corybant, Inc. Method and apparatus for implementing an active information model
WO2001056356A2 (en) * 2000-02-03 2001-08-09 Community Integration Technologies, Inc. Method for inter-component communication
US20020198996A1 (en) * 2000-03-16 2002-12-26 Padmanabhan Sreenivasan Flexible failover policies in high availability computing systems
US7188251B1 (en) 2000-05-09 2007-03-06 Sun Microsystems, Inc. System and method for secure message-based leasing of resources in a distributed computing environment
US6850979B1 (en) 2000-05-09 2005-02-01 Sun Microsystems, Inc. Message gates in a distributed computing environment
US6643650B1 (en) 2000-05-09 2003-11-04 Sun Microsystems, Inc. Mechanism and apparatus for using messages to look up documents stored in spaces in a distributed computing environment
US8082491B1 (en) 2000-05-09 2011-12-20 Oracle America, Inc. Dynamic displays in a distributed computing environment
US6789126B1 (en) 2000-05-09 2004-09-07 Sun Microsystems, Inc. Addressing message gates in a distributed computing environment
US7065574B1 (en) 2000-05-09 2006-06-20 Sun Microsystems, Inc. Messaging system using pairs of message gates in a distributed computing environment
US6792466B1 (en) 2000-05-09 2004-09-14 Sun Microsystems, Inc. Trusted construction of message endpoints in a distributed computing environment
US7577834B1 (en) * 2000-05-09 2009-08-18 Sun Microsystems, Inc. Message authentication using message gates in a distributed computing environment
US7370091B1 (en) 2000-05-09 2008-05-06 Sun Microsystems, Inc. Method and apparatus for obtaining space advertisements
US7200848B1 (en) 2000-05-09 2007-04-03 Sun Microsystems, Inc. Migrating processes using data representation language representations of the processes in a distributed computing environment
US7716492B1 (en) 2000-05-09 2010-05-11 Oracle America, Inc. Method and apparatus to obtain service capability credentials
US7243356B1 (en) 2000-05-09 2007-07-10 Sun Microsystems, Inc. Remote method invocation with secure messaging in a distributed computing environment
US7260543B1 (en) 2000-05-09 2007-08-21 Sun Microsystems, Inc. Automatic lease renewal with message gates in a distributed computing environment
US6973493B1 (en) 2000-05-09 2005-12-06 Sun Microsystems, Inc. Mechanism and apparatus for security of newly spawned repository spaces in a distributed computing environment
US6950875B1 (en) 2000-05-09 2005-09-27 Sun Microsystems, Inc. Message conductors in a distributed computing environment
US6862594B1 (en) 2000-05-09 2005-03-01 Sun Microsystems, Inc. Method and apparatus to discover services using flexible search criteria
US7080078B1 (en) 2000-05-09 2006-07-18 Sun Microsystems, Inc. Mechanism and apparatus for URI-addressable repositories of service advertisements and other content in a distributed computing environment
US8135796B1 (en) 2000-05-09 2012-03-13 Oracle America, Inc. Mechanism and apparatus for accessing and addressing services in a distributed computing environment
US6868447B1 (en) 2000-05-09 2005-03-15 Sun Microsystems, Inc. Mechanism and apparatus for returning results of services in a distributed computing environment
US6970869B1 (en) 2000-05-09 2005-11-29 Sun Microsystems, Inc. Method and apparatus to discover services and negotiate capabilities
US6789077B1 (en) 2000-05-09 2004-09-07 Sun Microsystems, Inc. Mechanism and apparatus for web-based searching of URI-addressable repositories in a distributed computing environment
US8001232B1 (en) 2000-05-09 2011-08-16 Oracle America, Inc. Event message endpoints in a distributed computing environment
US7010573B1 (en) 2000-05-09 2006-03-07 Sun Microsystems, Inc. Message gates using a shared transport in a distributed computing environment
US7072967B1 (en) 2000-05-09 2006-07-04 Sun Microsystems, Inc. Efficient construction of message endpoints
US6918084B1 (en) 2000-05-09 2005-07-12 Sun Microsystems, Inc. Spawning new repository spaces using information provided in advertisement schema messages
US6917976B1 (en) 2000-05-09 2005-07-12 Sun Microsystems, Inc. Message-based leasing of resources in a distributed computing environment
US7016966B1 (en) 2000-05-09 2006-03-21 Sun Microsystems, Inc. Generating results gates in a distributed computing environment
US7395333B1 (en) 2000-05-09 2008-07-01 Sun Microsystems, Inc. Method and apparatus to obtain negotiated service advertisement
US6898618B1 (en) 2000-05-09 2005-05-24 Sun Microsystems, Inc. Client-specified display services in a distributed computing environment
US6854115B1 (en) 2000-06-02 2005-02-08 Sun Microsystems, Inc. Process persistence in a virtual machine
US6763440B1 (en) 2000-06-02 2004-07-13 Sun Microsystems, Inc. Garbage collection using nursery regions for new objects in a virtual heap
US6941410B1 (en) 2000-06-02 2005-09-06 Sun Microsystems, Inc. Virtual heap for a virtual machine
US6760815B1 (en) * 2000-06-02 2004-07-06 Sun Microsystems, Inc. Caching mechanism for a virtual heap
US6957237B1 (en) 2000-06-02 2005-10-18 Sun Microsystems, Inc. Database store for a virtual heap
US6865657B1 (en) 2000-06-02 2005-03-08 Sun Microsystems, Inc. Garbage collector for a virtual heap
US20020167967A1 (en) * 2000-09-06 2002-11-14 Schneider Electric Method for managing bandwidth on an ethernet network
US7028204B2 (en) * 2000-09-06 2006-04-11 Schneider Automation Inc. Method and apparatus for ethernet prioritized device clock synchronization
US6985934B1 (en) * 2000-10-23 2006-01-10 Binham Communications Corporation Method and system for providing rich media content over a computer network
US7296275B2 (en) 2001-01-04 2007-11-13 Sun Microsystems, Inc. Method and system for passing objects in a distributed system using serialization contexts
US8458754B2 (en) * 2001-01-22 2013-06-04 Sony Computer Entertainment Inc. Method and system for providing instant start multimedia content
US20020156664A1 (en) * 2001-02-20 2002-10-24 Willcox William J. Method and apparatus for service request handling
US6889234B1 (en) * 2001-02-26 2005-05-03 Nec Corporation System and methods for invalidation to enable caching of dynamically generated content
US7756969B1 (en) 2001-09-07 2010-07-13 Oracle America, Inc. Dynamic provisioning of identification services in a distributed system
US7660887B2 (en) * 2001-09-07 2010-02-09 Sun Microsystems, Inc. Systems and methods for providing dynamic quality of service for a distributed system
US20030051029A1 (en) * 2001-09-07 2003-03-13 Reedy Dennis G. Dynamic provisioning of sevice components in a distributed system
DE10148311A1 (de) * 2001-09-29 2003-04-17 Daimler Chrysler Ag Verfahren zur Kommunikation zwischen Softwaremodulen
DE10243783A1 (de) * 2002-09-20 2004-03-25 Sick Ag Elektronische Vorrichtung für ein Bussystem
US8117264B1 (en) * 2002-10-07 2012-02-14 Yahoo! Inc. Email system
US7353521B1 (en) 2002-10-19 2008-04-01 Borland Software Corporation Object oriented distributed software system with methodology for piggybacked reflective callbacks
US7620735B2 (en) * 2002-11-20 2009-11-17 Corybant, Inc. Interactive voice enabled email notification and alert system and method
US7433878B2 (en) * 2003-06-23 2008-10-07 American Express Travel Related Services Company, Inc. Method and system for interfacing with accounting systems
FR2864871A1 (fr) * 2004-01-06 2005-07-08 Thomson Licensing Sa Methode de decouverte d'un reseau domestique et appareil implementant la methode
US7792874B1 (en) 2004-01-30 2010-09-07 Oracle America, Inc. Dynamic provisioning for filtering and consolidating events
US7386542B2 (en) * 2004-08-30 2008-06-10 The Mitre Corporation Personalized broadcast news navigator
US8321465B2 (en) * 2004-11-14 2012-11-27 Bloomberg Finance L.P. Systems and methods for data coding, transmission, storage and decoding
US8396886B1 (en) * 2005-02-03 2013-03-12 Sybase Inc. Continuous processing language for real-time data streams
US20060259603A1 (en) * 2005-05-16 2006-11-16 Shrader Anthony G User based - workflow and business process management
US7870558B2 (en) * 2005-07-15 2011-01-11 Microsoft Corporation Handle passing using an inter-process communication
US7716238B2 (en) * 2006-02-15 2010-05-11 Sony Computer Entertainment America Inc. Systems and methods for server management
US7979460B2 (en) 2006-02-15 2011-07-12 Sony Computer Entainment America Inc. Systems and methods for server management
US7571109B2 (en) 2006-07-14 2009-08-04 Fawls Robert A System and method for assessing operational process risk and quality by calculating operational value at risk
US8234391B2 (en) * 2006-09-20 2012-07-31 Reuters America, Llc. Messaging model and architecture
US9483405B2 (en) * 2007-09-20 2016-11-01 Sony Interactive Entertainment Inc. Simplified run-time program translation for emulating complex processor pipelines
US8205216B2 (en) * 2008-05-01 2012-06-19 International Business Machines Corporation Data sharing between applications where only one application knows the business purpose of the data
US10594870B2 (en) 2009-01-21 2020-03-17 Truaxis, Llc System and method for matching a savings opportunity using census data
US10504126B2 (en) 2009-01-21 2019-12-10 Truaxis, Llc System and method of obtaining merchant sales information for marketing or sales teams
US20100293072A1 (en) * 2009-05-13 2010-11-18 David Murrant Preserving the Integrity of Segments of Audio Streams
AT10961U3 (de) * 2009-06-23 2010-12-15 Fh Joanneum Gmbh Semantische, elektronische formulare
US9141449B2 (en) * 2009-10-30 2015-09-22 Symantec Corporation Managing remote procedure calls when a server is unavailable
US8775245B2 (en) 2010-02-11 2014-07-08 News America Marketing Properties, Llc Secure coupon distribution
US8433759B2 (en) 2010-05-24 2013-04-30 Sony Computer Entertainment America Llc Direction-conscious information sharing
US10530894B2 (en) 2012-09-17 2020-01-07 Exaptive, Inc. Combinatorial application framework for interoperability and repurposing of code components
US8935734B2 (en) 2013-02-01 2015-01-13 Ebay Inc. Methods, systems and apparatus for configuring a system of content access devices
US20150287040A1 (en) * 2014-04-02 2015-10-08 Microsoft Corporation System enforced two-party verification process in customer support workflow
CN112134915B (zh) * 2020-06-29 2022-10-14 上海金融期货信息技术有限公司 一种应用层协议解耦合的通用网络处理系统
CN113194010A (zh) * 2021-04-28 2021-07-30 浙江大学 一种非公开工业通信协议的字段语义分析方法
CN115529302B (zh) * 2022-09-23 2023-10-03 中国铁道科学研究院集团有限公司通信信号研究所 一种应用程序网络通信数据交互流程的建模与仿真方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5792954A (en) * 1980-12-01 1982-06-09 Nippon Telegr & Teleph Corp <Ntt> Format converting device
JPS6350140A (ja) * 1986-08-19 1988-03-03 Matsushita Electric Ind Co Ltd デ−タ交換装置
JPS63214045A (ja) * 1987-03-02 1988-09-06 Matsushita Electric Ind Co Ltd 電子交換機

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4363093A (en) * 1980-03-10 1982-12-07 International Business Machines Corporation Processor intercommunication system
US4559614A (en) * 1983-07-05 1985-12-17 International Business Machines Corporation Interactive code format transform for communicating data between incompatible information processing systems
US4688170A (en) * 1983-09-22 1987-08-18 Tau Systems Corporation Communications network for communicating with computers provided with disparate protocols
JPS60218142A (ja) * 1984-04-13 1985-10-31 Hitachi Ltd デ−タの動的型変換方式
US4718005A (en) * 1984-05-03 1988-01-05 International Business Machines Corporation Distributed control of alias name usage in networks
US4714995A (en) * 1985-09-13 1987-12-22 Trw Inc. Computer integration system
US4851988A (en) * 1986-03-31 1989-07-25 Wang Laboratories, Inc. Loosely-coupled computer system using global identifiers to identify mailboxes and volumes
JP2585535B2 (ja) * 1986-06-02 1997-02-26 株式会社日立製作所 複合計算機システムにおけるプロセス結合方法
US4815030A (en) * 1986-09-03 1989-03-21 Wang Laboratories, Inc. Multitask subscription data retrieval system
US4999771A (en) * 1987-08-31 1991-03-12 Control Data Corporation Communications network
US4992972A (en) * 1987-11-18 1991-02-12 International Business Machines Corporation Flexible context searchable on-line information system with help files and modules for on-line computer system documentation
US4914583A (en) * 1988-04-13 1990-04-03 Motorola, Inc. Method of indicating processes resident within a cell of a data processing system
US5062037A (en) * 1988-10-24 1991-10-29 Ibm Corp. Method to provide concurrent execution of distributed application programs by a host computer and an intelligent work station on an sna network
US4975830A (en) * 1988-12-05 1990-12-04 Dayna Communications, Inc. Computer communication system having supplemental formats
US5073852A (en) * 1988-12-16 1991-12-17 Cayman Systems, Inc. Network protocol translator including method and apparatus for reducing interprocess communication and data exchange overhead
CA1312656C (en) * 1989-08-24 1993-01-12 Steven Messenger Wireless communications systems

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5792954A (en) * 1980-12-01 1982-06-09 Nippon Telegr & Teleph Corp <Ntt> Format converting device
JPS6350140A (ja) * 1986-08-19 1988-03-03 Matsushita Electric Ind Co Ltd デ−タ交換装置
JPS63214045A (ja) * 1987-03-02 1988-09-06 Matsushita Electric Ind Co Ltd 電子交換機

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004334183A (ja) * 2003-04-01 2004-11-25 Microsoft Corp プログレッシブスケールグラフ
JP2009110245A (ja) * 2007-10-30 2009-05-21 Yamatake Corp 情報連携ウィンドウシステムおよびプログラム

Also Published As

Publication number Publication date
EP0412232A2 (en) 1991-02-13
CA2001621A1 (en) 1991-01-27
DE69032191D1 (de) 1998-05-07
US5187787B1 (en) 1996-05-07
ATE164695T1 (de) 1998-04-15
AU636152B2 (en) 1993-04-22
AU5249396A (en) 1996-07-25
DE69032191T2 (de) 1998-11-05
US5187787A (en) 1993-02-16
EP0412232B1 (en) 1998-04-01
CA2001621C (en) 1996-10-22
AU5867190A (en) 1991-01-31
AU677555B2 (en) 1997-04-24
EP0412232A3 (en) 1993-07-07
AU4213393A (en) 1993-10-14

Similar Documents

Publication Publication Date Title
JPH03148739A (ja) ソフトウェア間の通信装置
US5594910A (en) Interactive computer network and method of operation
US6397232B1 (en) Method and system for translating the format of the content of document file
US5966531A (en) Apparatus and method for providing decoupled data communications between software processes
US6480860B1 (en) Tagged markup language interface with document type definition to access data in object oriented database
CN1146818C (zh) Web服务器和处理Web页面请求以及显示HTML页面的方法
US7290061B2 (en) System and method for internet content collaboration
US6591260B1 (en) Method of retrieving schemas for interpreting documents in an electronic commerce system
JP3548098B2 (ja) ネイティブ言語照会サービスを提供する方法およびシステム
US20030135543A1 (en) Web-based system and method
US20040111254A1 (en) User defined text NLS enablement
US6862593B2 (en) Separation of database transactions
US20030088639A1 (en) Method and an apparatus for transforming content from one markup to another markup language non-intrusively using a server load balancer and a reverse proxy transcoding engine
US4800485A (en) On-line documentation facility
EP0762299A1 (en) Multi-language compatible information system
WO1997034244A1 (en) System for integrating access to proprietary and internet resources
US20020194168A1 (en) System and method for managing metadata and data search method using metadata
US20050034137A1 (en) Extensible architecture for versioning APIs
US9037966B2 (en) System and method for schema evolution in an E-commerce network
JPH1115722A (ja) アクセス機構、記憶媒体、データ処理システム、アクセス方法、ウェブ・ページ処理方法およびアクセス機構を設ける方法
GB2363866A (en) Removing structure from objects
US20040049495A1 (en) System and method for automatically generating general queries
US20010049679A1 (en) System and method for providing computer network search services
US6418402B1 (en) Method and system for utilizing machine translation as input correction
US7035845B2 (en) Generic proxy for representing search engine partner