JPH04299758A - ソフトウエア間通信のためのデータ交換装置 - Google Patents

ソフトウエア間通信のためのデータ交換装置

Info

Publication number
JPH04299758A
JPH04299758A JP3274338A JP27433891A JPH04299758A JP H04299758 A JPH04299758 A JP H04299758A JP 3274338 A JP3274338 A JP 3274338A JP 27433891 A JP27433891 A JP 27433891A JP H04299758 A JPH04299758 A JP H04299758A
Authority
JP
Japan
Prior art keywords
data
protocol
communication
service
network
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP3274338A
Other languages
English (en)
Other versions
JP3023225B2 (ja
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
Priority claimed from US07/601,117 external-priority patent/US5257369A/en
Application filed by Teknekron Software Systems Inc filed Critical Teknekron Software Systems Inc
Publication of JPH04299758A publication Critical patent/JPH04299758A/ja
Application granted granted Critical
Publication of JP3023225B2 publication Critical patent/JP3023225B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related 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/465Distributed object oriented systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • G06F9/45508Runtime interpretation or emulation, e g. emulator loops, bytecode interpretation
    • G06F9/45512Command shells
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/542Event management; Broadcasting; Multicasting; Notifications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
    • 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
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • 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
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/08Protocols for interworking; Protocol conversion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/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
    • 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
    • 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

Abstract

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

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明は、同一または異なるコ
ンピュータにおいて動作している複数のソフトウエア間
における自由度の高い(decoupled)情報交換
に関するものである。ここでは、各ソフトウエアにおい
て、異なるデータ表現のフォーマットや異なる編成(o
rganization)を使用できるようにし、また
、データ表現や編成が同じであるが、再プログラムをす
ることなく変更されるようなフォーマットや編成を使用
できるようにしている。この発明において、ソフトウエ
アは、次のような方法で、「意味」(semantic
)情報やフィールド名情報を使用する。すなわち、各ソ
フトウエアは、意味やフィールド名の違いがあっても、
外部の(foreign)ソフトウエアから受け取った
データを、理解し使用することができる。意味情報は、
データ表現やデータ編成情報から切り離されている。
【0002】
【従来の技術および発明が解決しようとする課題】形式
の異なるコンピュータやソフトウエア・プログラムが氾
濫しているという事および、異なる形式のソフトウエア
が動作する異なる形式のコンピュータにおいては常にデ
ータ交換が必要であるという事から、上記のようなデー
タ交換を可能にするシステムが望まれてきた。一般的に
は、互いに外部にあるソフトウエアモジュール間におい
て交換されるデータは、テキスト、データ、グラフィッ
クスを含んでいる。また、デジタル化した音声やイメー
ジデータ、さらには、もっと特殊な形態の情報を交換し
なければならない場合もある。このようなデータの種々
の形式は、「プリミティブ(primitives)」
と呼ばれている。ソフトウエアプログラムは、理解し取
扱うようにプログラムされたプリミティブしか扱うこと
ができないのである。異なる形式のプリミティブがデー
タとしてプログラムに与えられた場合には、エラーを生
じてしまう。
【0003】ここで、「外部(foreign)」とい
う用語は、データ交換に関係するソフトウエアモジュー
ルもしくはホストコンピュータが「異なる言語を話す」
ということを意味するものである。例えば、パーソナル
コンピュータやワークステーションに広く用いられてい
るモトローラやインテルのマイクロプロセッサでは、次
のように異なるデータ表現を用いている。すなわち、あ
るマイクロプロセッサ・ファミリにおいては、複数ワー
ドの最上位バイトが最初に位置しているのに対し、他の
ファミリにおいては、最上位バイトが最後に位置してい
る。さらに、IBM製のコンピュータにおいてはテキス
ト文字がEBCDICコードに変換されるのに対し、こ
れ以外のほとんどのコンピュータにおいては、テキスト
文字はアスキー(ASCII)コードに変換される。ま
た、整数、不動小数点等を有する数を表現するために、
多くの方法が存在している。加えて、外部のソフトウエ
アモジュールは、異なる方法を用いてデータを編成する
とともに、異なる意味情報、すなわちデータレコード中
の各フィールドの名称とそれが意味するもの、を用いて
いる。
【0004】データの表現、編成のため、上記のような
種々のフォーマットが用いられている。このため、有効
な通信を行うには、その前に、共通言語への翻訳をする
か、あるいは、あるコンピュータや処理で使用されてい
る言語を、他のコンピュータや処理に用いられている言
語に翻訳をする必要がある。さらに、ローカルエリア・
ネットワーク(LAN)、広域ネットワーク(WAN)
、ゲートウエイ、衛生通信等によって接続され、物理的
には離れているコンピュータ間において、相互に通信を
行うソフトウエアも多く存在する。これら種々のネット
ワークは、それぞれ独自の通信プロトコルを有している
。また、少なくとも経済サービスの世界においては、ダ
ウ・ジョーンズ・ニュース(Dow Jones Ne
ws)やテレレート(商標)(TelerateTM)
等の生データソースが、異なるデータフォーマット、通
信プロトコルを使用している。これらのソースのデータ
を受信するためには、それぞれのデータフォーマット、
通信プロトコルを理解して、それに従わなければならな
い。
【0005】株式、債券、金融市況等に関する経済デー
タ等の複雑なデータ構造においては、データをネスティ
ング(nesting)構造にすることが有効な場合が
多い。すなわち、特定の主題に関するデータを、当該主
題を種々の角度から表わした多数の「フィールド」に分
けたデータレコードに編成する場合が多い。フィールド
にサブ・フィールドを持たせ、このサブ・フィールドに
さらにサブ・フィールドを持たせるというように、必要
に応じてレベル化することも有効である。ここでは、こ
のようなデータ編成の形を、「ネスティング(nest
ing)」と呼ぶ。フィールド名および主題との関連に
おいてフィールド名が意味しているものを、「意味情報
」と呼ぶ。フィールドにおける浮動小数点、整数、英数
字(alphanumeric)等の実際のデータ編成
、およびどれだけのフィールドによってデータレコード
が構成されているかという意味での編成を、「フォーマ
ット」情報もしくは「型(Type)」情報と呼ぶ。デ
ータのみを持つ(ネスティングされたサブ・フィールド
を持たない)フィールドを「プリミティブ・フィールド
」と呼び、他のフィールドを持つフィールドを「構造化
フィールド」と呼ぶ。
【0006】ソフトウエア間でのデータ交換においては
、基本的な2つのタイプがある。1つは、「フォーマッ
ト・オペレーション」と呼ばれるものであり、データレ
コード(以後、データレコードのことを「フォーム」と
呼ぶ場合もある)のフォーマットを他のフォーマットに
変換するものである。このようなフォーマットオペレー
ションとしては、例えば、浮動小数点やEBCDICフ
ィールドを有するデータレコードを、イーサネット(商
標)(ETHERNETTM)のLANを介して伝送す
るために、パック形式に変換する場合である。受信側に
おける処理、ソフトウエアにおいては、イーサネット(
商標)のパケットフォーマットから、整数、ASCII
フィールドへの変換を行うフォーマット・オペレーショ
ンを行わねばならない場合も生じる。
【0007】2つめのタイプのオペレーションを、「意
味依存オペレーション」と呼ぶ。なぜなら、あるフォー
ムを持つフィールド、例えば、今日のIBMの株価や昨
日のIBM株価の安値を、ソフトウエアに与えるような
場合には、作業を行うフォームに関する型情報もしくは
フォーマット情報だけでなく、意味情報にアクセスする
ことが必要だからである。
【0008】さらに今日では、データの型が異なる種々
のソース、あるいはデータの型が同じである種々のソー
スが存在しており、そのカバー範囲はオーバーラップし
ているにもかかわらず、異なるフォーマット、異なる通
信プロトコルを使用している(同じフォーマット、同じ
通信プロトコルにてオーバラップする場合もある)。情
報を供給するサービスのネットワーク・アドレスやその
情報ソースとの通信に必要な通信プロトコルの詳細をソ
フトウエアが知らなくとも、主題に関する情報を得るこ
とができれば、有用である(ソフトウエアのことを、以
後、「アプリケーション」と呼ぶことがある)。
【0009】そこで、種々のソフトウエア、コンピュー
タを「切り離し(decoupling)」してデータ
交換を有効にかつ確実に行うため、種々のソフトウエア
、プロセス、コンピュータ間のインターフェイスを提供
することのできる通信システムの登場が望まれている。 「切離す」というのは、ソフトウェアモジュールプログ
ラムが、他のソフトウエアと他のコンピュータがネット
ワーク内のどこにあるのか、フォームとデータが外部ソ
フトウェアにおいてとるフォーマットと、外部のソフト
ウェアモジュール又は外部のコンピュータと通信するた
めにどの通信プロトコルを必要とするか、又は発信元プ
ロセスと宛先プロセスの間の任意のネットワークを通す
ためにどの通信プロトコルが用いられるかを知ることな
しに、および多数の生データソースのうちのどれが要求
されているデータを供給できるかを知ることなしに、ソ
フトウェアモジュールのプログラマが他のコンピュータ
又は他のソフトウェアプロセスから情報をアクセスでき
ることを意味する。更に、「切離し」は、ここで用いる
用語としては、データが一度に要求され、他に供給され
うることを意味する。また、プロセスが、外部フォーマ
ットで作成されたフォームの例から、希望のデータを得
ることができることを意味し、また、適切な意味オペレ
ーションの通信インターフェイスによる学習(exer
cise)を通じて、取り出し処理が明らかな状態で外
部フォームから要求されたデータを取り出し、外部の意
味データを得ることができることを意味する。
【0010】種々の切離し度を持つ外部ソフトウェアモ
ジュールの間で情報の交換を行えるようにする各種のシ
ステムが従来技術に存在する。そのような種類のシステ
ムの1つが任意の電子メールソフトウェアである。この
ソフトウェアはCCITTのX.409規格を含めた電
子文書交換規格を実現するものである。電子メールソフ
トウェアは、フォーマットデータまたは型データがデー
タレコードまたはフォームの各例に含まれていると言う
意味で、アプリケーションを切離すものである。しかし
、意味情報を記録または処理するための用意はされてい
ない。したがって、外部データ構造中の希望のフィール
ドの名称または意味を基にしてデータの取出しまたは翻
訳を行うというような意味オペレーションは不可能であ
る。意味に依存するオペレーションは、通信が成功した
とするならば、非常に重要である。更に、情報ソースの
アドレスを知ることなく、単に情報を要求するだけでよ
い、主題に基づくアドレッシングを実現できるようにす
る用意が電子メールソフトウェアには設けられていない
。更に、電子メールソフトウェアは、通信プロトコルが
確立していないサービスまたはネットワークにアクセス
することができない。
【0011】リレーショナルデータベースおよびデータ
辞書は、従来技術において、外部プロセスのデータ共有
を可能としている、ソフトウェアシステムの別の例であ
る。この種のソフトウェアの欠点は、これらのプログラ
ムが「平板的な」表、レコードおよびレコード内のフィ
ールドだけしか取り扱うことができず、レコード内にネ
スティングされたレコードを取り扱うことができないこ
とである。更に、電子メールソフトウェアにおいて述べ
た欠点は、リレーショナルデータベースソフトウェアに
も存在する。
【0012】
【課題を解決するための手段】本発明の教示に従うこと
により、従来知られていなかった程度の切離しを行いつ
つ、外部プロセスとコンピュータをインターフェイスす
るための構造を提供する方法と装置を得ることができる
【0013】本発明の教示に基づくデータ通信インター
フェイス・ソフトウエア・システムは、2つの主コンポ
ーネント、通信コンポーネント、データ交換コンポーネ
ントに編成されたいくつかのプログラムライブラリを備
えている。本発明のこの明細書で用いるインターフェイ
スという用語は、外部プロセスと外部コンピュータの少
なくとも一方と通信を行うのに有用な作業を行うために
、アプリケーションにより呼出すことができる機能の集
りを意味する。インターフェイスの呼出し機能は、本発
明による通信インターフェイス内の、アプリケーション
からまたは他のコンポーネントからのサブルーチンコー
ルによるものとしてもよい。
【0014】好ましい実施例においては、インターフェ
イスを有するサブルーチンライブラリ中の種々のサブル
ーチンによって、インターフェイスの機能が実行される
。もちろん、サブルーチンの代りに別々のプログラムま
たはモジュールを使用でき、この方が実際に好ましい場
合もあることは、当業者なら分かるであろう。
【0015】データフォーマットの切り離しは、次のよ
うにして行われる。すなわち、第1のフォーマットのデ
ータレコード、データフォームを使用する第1のプロセ
スが第2のプロセスのフォーマットを知る必要なく、ま
たは使用する必要なく、異なる第2のフォーマットのデ
ータレコードを持つ第2のプロセスと通信することがで
きる。このような切離しは、通信インターフェイスソフ
トウェアシステムのデータの交換コンポーネントにより
実現される。
【0016】本発明の通信インターフェイスのデータ交
換コンポーネントは、フォームマネージャーモジュール
とフォームクラスマネージャーモジュールを含む。フォ
ームマネージャーモジュールは、フォーム例の作成、記
憶、取消、破棄を取扱い、フォームクラスマネージャー
の各種機能を呼出すものである。フォームクラスマネー
ジャーは、フォームクラス記述子の作成、記憶、取消、
破棄および翻訳を取扱うものである。ここで、フォーム
クラス記述子とは、特定のフォームクラスに関係したフ
ォーマット情報、意味情報が記録されたデータレコード
をいう。フォームクラスマネージャーはアプリケーショ
ンからの要求、または通信インターフェイスの他ののコ
ンポーネントからの要求を受けて、フィールド名やフィ
ールドの意味によって認識された時にフォーム例の特定
フィールドを得ることもでき、適切なフォーム例を検索
することもでき、さらに特定フィールド中の要求された
データを取り出して、送ることもできる。また、フォー
ムクラスマネージャーは、フォームの未知のクラス定義
を探すことができる。これは、フォームマネージャーが
、すでに既知のクラス定義の情報を調べることにより、
あるいは新たなフォームクラスを作成した外部プロセス
とリンクしているフォームクラスマネージャーにクラス
定義を要求することにより実現される。意味情報にデー
タ表現またはデータ編成に関する情報が含まれていない
という点で、フィールド名等の意味データは、データ表
現、データ編成から切り離される。本発明の通信インタ
ーフェイスは、意味的、データフォーマット的な観点に
おいて、データの切り離しを行うものである。意味的な
観点における切り離しは、意味依存オペレーションを実
行する能力により実現される。この意味依存オペレーシ
ョンにより、この通信インターフェイスに接続されたど
のプロセスも、同じデータ編成を持つ他のプロセスだけ
でなく異なったデータ編成を持つ他のプロセスとのデー
タ交換を行うことが可能となる。なお、上記の異なった
データ編成とは、同じ内容を示すデータに対し同じフィ
ールド名を使用しているが、データの編成が異なるよう
なものをいう。他の実施例においては、意味依存オペレ
ーションにより、別名変換、同義語変換機能が実行され
る。この機能により、受入れたデータフィールドが異な
った名称を持っているが一定の内容を示す場合に、要求
を出したプロセスが理解できるフィールド名に変えられ
たり、あるいはフィールド名が変えられたものとして取
扱われる。
【0017】この発明によるインターフェイスは、3つ
のレイヤーに構造化プロセス構造を有する。
【0018】構造的な切り離しは、情報レイヤーによっ
て達成される。要求を行うプロセスは、プロセスやサー
バのネットワークアドレスを知ることなしに、特定の主
題に関するデータの要求を行うことができる。この種の
切り離しは、インターフェイスの通信コンポーネントに
おける情報レイヤー内の主題に基づくアドレッシング(
subject−based−addressing)
システムによって達成される。
【0019】主題に基づくアドレッシングは、本発明の
通信インターフェイスの通信コンポーネントにより、主
題のマッピング(subject mapping)を
行うことによって実現される。通信コンポーネントは、
データ要求の対象となっている主題を記述したアプリケ
ーションから「申し込み(subscribe)」要求
を受ける。情報レイヤー内の主題マッパモジュール(s
ubject−mapper module)がアプリ
ケーションから「申し込み」要求を受け、その後、デー
タベース、テーブル等の主題を検索する。データベース
は、種々の主題についてのデータを供給する各種のサー
バープロセスを示す「サービスレコード」を記憶してい
る。適切なサーバプロセスを示すサービスレコードが特
定されて、主題マッパモジュールに返送される。ここで
、適切なサービスレコードとは、要求された型のデータ
および特定されたサーバプロセスと通信を行う際に使用
する通信プロトコルを供給することのできるサービスレ
コードをいう。
【0020】主題マッパは、プロセス構造の第2レイヤ
ー(サービスレイヤーという)上の複数の通信ライブラ
リプログラムまたはサブルーチンにアクセスする。サー
ビスレイヤー上のルーチンは、「サービス統制(ser
vice disciplines)」と呼ばれる。各
サービス統制は、サーバプロセスに特有の所定の通信プ
ロトコルを有している。主題マッパは、その後、サービ
スレコードにおいて識別されている適切なサービス統制
を呼出す。
【0021】サービス統制には主題マッパによって主題
が与えられ、サービス統制は適切なサーバープロセスに
対する通信の設定を続ける。その後、主題に関するデー
タを含むフォーム例が、通信を設定したサービス統制を
介して、サーバプロセスにより、要求するプロセスへ送
られる。
【0022】サービスプロトコルの切離しはサービスレ
イヤーにより行われる。
【0023】テレレート(商標)等のページ指向サーバ
プロセスのサービス統制により、一時的な切り離しが実
現される。これは、どのページに申し込み(subsc
riptions)がなされたかの最新情報を記憶して
いるリアルタイムデータベースにアクセスすることによ
って実現される。
【0024】通信コンポーネントの第3レイヤーは、通
信レイヤーと呼ばれ、組み立て(configurat
ion)に関する切り離しを行う。このレイヤーは、プ
ログラムのDCCライブラリを有している。このライブ
ラリは、特定サーバとのデータリンクを確立する要求を
受け、リンクのためのプロトコルがまだ確立していなけ
れば、最適の通信プロトコルを決定する。通信レイヤー
は、一対一の(pointーtoーpoint)通信プ
ロトコル、同時通信(broadcast)プロトコル
、信頼性の高い同時通信(reliablebroad
cast)のプロトコル、インテリジェント・マルチキ
ャスト(商標)のプロトコル等の種々の通信プロトコル
を有する通信プロトコルエンジンを備えている。通信レ
イヤーの機能のうちのいくつかのものは、オペレーティ
ング・システムの標準的な転送プロトコルの機能を増や
すものであり、付加価値サービスを提供するものである
【0025】これら付加価値サービスのうちの一つは、
信頼性の高い同時通信プロトコルである。このプロトコ
ルエンジンは、送信側のメッセージのパケットにシーケ
ンス番号を付加し、全てのパケットが受信側に受信され
たことを確認する。パケットは、再送信のために、送信
側において記憶される。受信側においては、全てのパケ
ットが受信されなかった場合や伝送エラーがあった場合
には、再送信の要求が出される。その後、エラーのあっ
たパケットや送られなかったパケットが再送信される。 全てのパケットが正しく受信された場合には、確認メッ
セージが送られる。これにより、送信側のプロトコルエ
ンジンは、再送信バッファから送信済のパケットを消去
し(flush)、次のメッセージのパケットを送るた
めのバッファ容量を確保する。
【0026】もう一つの付加価値サービスは、インテリ
ジェント・マルチキャスト・プロトコルである。このプ
ロトコルは、送られるべきメッセージの主題を調べ、こ
の主題に対する申し込みが幾つあったかを決定するサー
ビス統制を有している。申し込みの数が、一対一の送信
と同時送信とのコストによってセットされたしきい値よ
り小さい場合には、メッセージは一対一の送信によって
送られる。そうでない場合には、メッセージは、信頼性
の高い同時通信によって送られる。
【0027】
【実施例】以下の記述は技術的にかなり高度であるから
、後に掲げる用語解説に定義したデジタルネットワーク
通信技術において用いられている用語を理解することに
よって、より良い理解を得ることができる。この明細書
を読む者は、まず、用語解説を読むことをすすめる。
【0028】まず、本発明の通信インターフェイスを組
み込むことができる典型的なシステムのブロック図が示
されている第1図を参照する。もっとも、本発明により
効果を得ることができるシステムアーキテクチャは、広
範囲にわたるものである。本発明に係る通信インターフ
ェイスを、以下に示す他の実施例において、TIB(商
標)もしくはテクネクロン情報バスと呼ぶ場合がある。 ここで、本発明を説明するために用いた重要ないくつか
の用語についての基本的な理解を得るために、この明細
書に含まれている用語について説明することにする。本
発明の教示は、コンピュータプログラムのライブラリに
組込まれる。これらのプログラムは、一緒になって、通
信インターフェイスを提供する。この通信インターフェ
イスは、ネットワーク通信のプロトコルやサービス通信
のプロトコルにおけるクライエントアプリケーションの
開発や変更のモジュール化を容易にする多くの機能を有
する。これらの機能は、種々のクライエントアプリケー
ションを「切り離した」状態(この状態においては、発
明が、通信プロセス間の、仲介者、仲人であるかのよう
にふるまう)で結合することによって達成される。以下
、本発明の教示を通信インターフェイスと呼ぶことにす
る。ここで用いる「切離す」という用語は、クライエン
トアプリケーションのプログラマが、通信プロトコルの
詳細と、データ表現フォーマットの細部と、データ交換
を希望される他の全てのアプリケーションまたはサービ
スのデータレコード編成の細部とを知る必要から解放さ
れることを意味する。更に、クライエントアプリケーシ
ョンのプログラマは、特定の主題についてのデータを得
るために、それらの主題についてのデータを供給するサ
ービスまたはサーバの場所を知る必要はない。この通信
インターフェイスは、クライエントアプリケーション、
データ消費者アプリケーション、データ供給者サービス
の間のデータ交換における全ての詳細事項について自動
的に注意を払う。第1図に示す装置は、ネットワークを
介してまたは共有メモリによって、複数のホストコンピ
ュータが結合された典型的なネットワークである。 第1図には2つのクライエントアプリケーション16、
18が動作しているホストコンピュータ10、12が示
されている。他の実施例においては、これら2つのクラ
イエントアプリケーションは、同じコンピュータの上で
実行してもよい。これらのホストコンピュータは、ネッ
トワーク14によって結合されている。ネットワークと
しては、イーサネット(商標)通信プロトコル、トーク
ンリング(token ring)プロトコル等を使用
することができる。データ交換のためのネットワークの
説明は、本発明の実施のためには必要でない。本発明の
実施のためには、従来技術で知られているデータ交換方
法で十分だからである。したがって、ホストコンピュー
タ10、12が等しくアクセスする共用メモリファイル
または共用分散型記憶装置も、本発明の教示が適用でき
る環境として十分である。
【0029】各ホストコンピュータ10、12は、ラン
ダムアクセスメモリおよび、ディスクドライブまたはテ
ープドライブ等の大容量記憶装置を有する。これらのメ
モリには、各種のオペレーティングシステムプログラム
、クライエントアプリケーションプログラム、一体とな
って通信インターフェイスを構成するライブラリのプロ
グラム等のプログラムが記憶される。これらのプログラ
ムは、ホストコンピュータに有用な仕事をさせるための
ものである。通信インターフェイス中のプログラムのラ
イブラリは、特定の主題についてのデータを供給するサ
ービスの場所を見つけたり、適切な通信プロトコルを用
いてそのサービスと通信を行わせるというような動作を
行わせるために、クライエントアプリケーションにより
呼出すことができる基本的なツールを提供する。
【0030】各ホストコンピュータは端末装置、プリン
タ(図示せず)等のユーザーインターフェイスに結合す
ることもできる。
【0031】第1図に示す例示的な装置において、ホス
トコンピュータ10は、そのメモリにクライエントアプ
リケーションプログラム16を格納している。このクラ
イエントアプリケーションプログラム16が、有用な作
業を行うために、ホストコンピュータ12を制御する他
のクライエントアプリケーションプログラムまたはサー
ビス18とのデータの交換を求めていると仮定する。ま
た、ホストコンピュータ10、12はデータ表現のため
に異なるフォーマットを使用し、アプリケーションプロ
グラム16、18は、作成したデータレコードのデータ
表現、データ編成のフォーマットに異なったものを使用
すると仮定する。これらのデータレコードは、フォーム
と呼ばれる。また、ホストコンピュータ10と12の間
のデータ通信路14は、イーサネット(商標)系列のL
ANで構成されているものと仮定する。
【0032】各ホストコンピュータ10、12は、それ
ぞれ、通信インターフェイス20、22を構成するプロ
グラムのライブラリによってもプログラムされている。 通信インターフェイスプログラムは、ランタイムコード
(run time code)を生成するために、リ
ンカ(linker)によってクライエントアプリケー
ションのコンパイル後のコードと結合されており、通信
プログラムのソースコードは、コンパイル前のクライエ
ントアプリケーションプログラムのソースコードに含ま
れている。いずれにしても、通信ライブラリプログラム
は、なんらかの形でクライエントアプリケーションと結
合される。したがって、ホストコンピュータ10が2つ
のクライエントアプリケーションによって動作している
とすると、各クライエントアプリケーションは、モジュ
ール20等の通信インターフェイスモジュールに結合さ
れる。
【0033】通信インターフェイスモジュール20の目
的は、アプリケーション18において用いられているフ
ォームのデータ編成、データフォーマットの詳細から、
アプリケーション16を切り離すことである。また、ア
プリケーション18のネットワークアドレスからアプリ
ケーション16を切り離すことである。さらに、アプリ
ケーション18によって用いられている通信プロトコル
の詳細からアプリケーション16を切り離すことである
。同様に、ネットワーク14を介して、データを送るた
めに必要な通信プロトコル、データ編成、データフォー
マットの詳細からアプリケーション16を切り離すこと
である。通信インターフェイスモジュール22は、アプ
リケーション18に対して上記と同じ機能を発揮するも
のである。これにより、アプリケーション16とネット
ワーク14についての詳細を知る必要から解放するもの
である。通信インターフェイスモジュールは、変更のモ
ジュール化を容易にするものである。これにより、クラ
イエントアプリケーション、データフォーマットまたは
データ編成、ホストコンピュータあるいはネットワーク
の変更を行った場合に、この変更の影響をシステム全体
に波及させずに互換性を維持できるようにしている。
【0034】これらの機能のいくつかを実現するために
、通信インターフェイス20と22は、ネットワーク1
4を介して、主題テーブル16とサービステーブル28
を含むネットワークファイルシステム24にアクセスす
る。これらの表については、後で主題に基づくアドレッ
シングの説明に関連して詳しく説明する。これらのテー
ブルには、各種の主題についての情報を提供するサービ
スのネットワークアドレスがリストアップされている。
【0035】この通信インターフェイスを用いる典型的
なシステムモデルは、ユーザと、ユーザー群と、ネット
ワークと、サービスと、サービス例(service 
instances)(またはサーバ)と、主題とで構
成される。人間である末端ユーザは、ユーザーIDによ
り識別される。この通信インターフェイスにおいて用い
られるユーザーIDは、通常、基礎を成しているオペレ
ーティングシステム(図示せず)により用いられるログ
オンID、ユーザIDと同じである。しかし、そのよう
でなくともよい。各ユーザーは、1つのグループの一構
成員である。
【0036】グループは、類似したサービスアクセスパ
ターンおよびアクセス権を有するユーザーで構成される
。サービスまたはシステムに対するアクセス権は、ユー
ザーのレベルおよびグループのレベルにより許可するこ
とができる。システム管理者は、ユーザーをグループに
割り振りする責任がある。
【0037】ここで用いる「ネットワーク」という用語
は下側の「トランスポート層」(この用語はISOネッ
トワーク層モデルに用いられるから)と、ISOネット
ワークモデルにおけるトランスポート層より下層にある
全ての層を意味する。アプリケーションは、ホストコン
ピュータが接続されている任意のネットワークを介して
、データを送信または受信できる。
【0038】第1図においてブロック20と22として
一例を示した本発明の通信インターフェイスは、各クラ
イエントアプリケーションのために、通信コンポーネン
ト30とデータ交換コンポーネント32を含んでいる。 通信コンポーネント30は、共通の通信機能セットであ
って、たとえば、主題に基づくアドレッシングとサービ
ス統制の切離しの少なくとも一方を実現する。通信コン
ポーネントは、各クライエントアプリケーションに結合
される。また、各通信コンポーネントは、結合されるネ
ットワークの標準的なトランスポート層プロトコル、例
えばTCP/IPに結合される。各通信コンポーネント
は、多数のトランスポート層プロトコルに結合され、各
プロトコルを支持できる。ネットワークのトランスポー
ト層は次のことを実行する。それは、トランスポート層
アドレスをネットワークアドレスにマップし、トランス
ポート層接続をネットワーク接続へ多重化してスループ
ットを増大させ、誤り検出とサービス品質の監視を行い
、誤りを訂正し、セグメント化とブロック化を行い、ネ
ットワークへのトランスポート層とセッション層との個
々の接続の流れ制御と、迅速なデータ転送を行う。通信
コンポーネントは、クライエントアプリケーションのた
めに確実な通信を行うとともに、クライエントアプリケ
ーションに対して場所の明瞭性とネットワークの独立性
を提供する。コンポーネント32を典型とする通信イン
ターフェイスのデータ交換コンポーネントは、データ表
現、データ転送の強力な方法を実現する。これは、フォ
ームと呼ばれる自己記述データオブジェクト内にデータ
を包含させることにより実現される。これらのフォーム
は、対象とするデータばかりでなく、フォームの編成や
データのために用いられる表現を記述する型情報やフォ
ーマット情報を含むという点において自己記述的である
。フォームはこのような型情報やフォーマット情報を含
んでいるので、あるフォーマットを有する特定のフォー
ムを別のフォーマットへ変換するためのフォーマットオ
ペレーションは、フォーム自身のデータを用いて行うこ
とが可能である。この時、意味情報を与えるクラス記述
やクラス定義と呼ばれる他のデータにアクセスする必要
はない。クラス記述子における意味情報は、基本的に、
フォームのフィールド名を意味する。
【0039】フォームそれ自体のデータだけでフォーマ
ットオペレーションを行う能力は、きわめて重要な能力
である。なぜなら、例えばクラス記述子のような他の場
所に設けられている他のデータオブジェクトにアクセス
しなければフォーマットオペレーションが行えないよう
な場合に生じる動作の遅延を防ぐことができるからであ
る。一般にクライエントアプリケーションのための処理
時間の25〜50%がフォーマットオペレーションに費
やされているので、自己記述オブジェクトを使用してこ
の処理時間を速くすることにより、処理が能率化される
【0040】データ交換コンポーネントにより管理され
る自己記述フォームは、データ取扱いおよびデータ表示
のための全般的なツールの実現も許す。それらのツール
は、フォームをマシンとは独立のフォーマットで、プロ
セスの間を送るための通信ツールを含んでいる。更に、
自己記述フォームを用いるクライエントアプリケーショ
ンに悪影響を及ぼすことなしに、自己記述フォームを拡
張できる、すなわち、それらのフォームの編成を変化し
たり、拡張したりできるので、それらのフォームはモジ
ュール化アプリケーションの開発を非常に容易にする。
【0041】通信インターフェイスの最も下の層はIS
Oモデルのトランスポート層に結合され、かつ、通信コ
ンポーネント30は、多くのサービス統制を含み、多く
のネットワークを支持するために多くのトランスポート
層プロトコルを含んでいるので、ネットワーク不良の場
合には、あるネットワークから他のネットワークへ明示
的に切り換えるようなアプリケーション指向のプロトコ
ルを書くことができる。
【0042】「サービス」とは、クライエントアプリケ
ーションによって使用するために、アプリケーションに
より送り出される機能の有意セットを表わすものである
。サービスの例えはダウ・ジョーンズ・ニュース(Do
w JonesNews)、クォートロン(Quotr
on)データ源、トレード・チケット・ルーター(Tr
ade Ticket ruoter)のような歴史的
ニュース検索サービスである。一般的には、アプリケー
ションはただ1つのサービスを送り出すが、多くの異な
るサービスの送り出しも可能である。
【0043】「サービス例」は与えたれたサービスの供
給を可能とするアプリケーションまたはプロセスである
。ある与えられたサービスに対して、いくつかの「例」
は、サービスのスループットを改善するようにまたは耐
障害性を持たせるために、サービスを同時に行うことが
できる。
【0044】ネットワーク、サービスおよびサーバーは
従来技術で知られている伝統的な構成要素であるが、従
来技術によるシステムは、ネスティングされたデータオ
ブジェクトによるデータの独立性や主題スペースの概念
に対する認識をもつに至っていなかった。主題スペース
は、主題に基づくアドレッシングと呼ばれる切離しの1
つの型を支持している。多数のレベルにおいてネスティ
ングできる自己記述データは新しいものである。ネット
ワークの他の部分において行われているように、クライ
エントアプリケーションを種々の通信プロトコルおよび
データフォーマットから切離すことも非常に有用である
【0045】主題に基づくアドレッシングを実現するた
めに用いられる主題スペースは、主題カテゴリーの階層
的なセットで構成される。好適な実施例においては、4
レベル主題スペース階層を用いた。典型的な主題の例は
、「株、ibm、コンポジット、トレード」である。 通信インターフェイスに結合されたクライエントアプリ
ケーションは、種々の主題カテゴリーの使用と解釈に関
する規約を確立する自由と責任を有する。
【0046】各主題は、一般に、システムファイルに記
憶されたデータレコード中の主題についてのデータを供
給する1以上のサービスと関連付けられている。各サー
ビスには、通信インターフェイスの通信コンポーネント
において、サービス統制、すなわち、そのサービスと通
信するために必要な通信プロトコルや通信手順が組合わ
されているので、クライエントアプリケーションは、そ
の主題についてのデータを供給するサービス例がどこに
あるのかを知ることなく、特定の主題に関するデータを
要求することができる。また、その主題の情報を提供す
るサービスのネットワークアドレスを与えずに、主題の
みを与える申し込み要求を行うことによって、ネットワ
ーク上の主題の位置が分る。これらの申し込み要求は、
通信インターフェイスにより、その主題の情報を供給す
る1以上のサービス例との実際の通信接続に翻訳される
【0047】主題カテゴリーのセットは、主題領域(s
ubject domain)と呼ばれる。多数の主題
領域が許される。 各領域は、領域特有の主題と、メッセージヘッダにおい
て主題を効率的に表わすコーディング機能とを定めるこ
とができる。
【0048】
【データの独立性:データ交換コンポーネント】第1図
の通信インターフェイスのコンポーネント32のような
データ交換コンポーネントの全体的な目的は、アプリケ
ーション16のようなクライエントアプリケーションを
データ表現と、データ構成と、データの意味の細部から
切離すことである。
【0049】図2において、フォーマット情報と意味情
報の双方を定義する構造化クラスのクラス定義の一例が
示されている。これは、このクラスの全てのフォーム例
に共通のものである。選択した特定の例においては、フ
ォーラムクラスはプレイヤー名と名づけられ、クラスI
D1000を有する。このクラス1000のフォームの
例は、名前と、年齢と、テニス競技者に対するNTRP
評点とについてのデータを含んでいる。あらゆるクラス
定義には、クラスを独自に識別するクラスIDと呼ばれ
るクラス番号が組合される。
【0050】クラス定義は、フィールドのリストを、フ
ィールド内容のデータ表現と名前により与える。各フィ
ールドはフォームを含み、各フォームは原始(prim
itive)または構造化されたものとすることができ
る。原始クラスフォームは実際のデータを記憶している
が、構造化クラスフォームは、原始または構造化された
他のフォームを含むフィールドを有する。図2のクラス
定義においては、評点、年齢、姓、名と名ずけられる4
つのフィールドがある。各フィールドは原始クラスフォ
ームを含むから、このクラスのフォームにおける各フィ
ールドは実際のデータを含む。例えば、フィールド評点
はクラス11の原始フォームを常に含む。クラス11は
浮動小数点と名づけられる原始クラスである。不動小数
点は、このフィールドの内容が浮動小数点のデータ表現
であることを定めている。クラス浮動小数点、クラス1
1のための原始クラス定義が図5に見られる。原始クラ
ス11のクラス定義は、浮動小数点というクラス名を有
している。 このクラス名は、クラス(この例では、クラス番号のク
ラス11もクラスを独自に識別する)と、1つのデータ
値のデータ表現の詳細を独自に識別する。1つのデータ
値の詳細は、周知の予め定められたシステムのデータ型
を用いる。このデータ型は、ホストコンピュータと、こ
のクラスのフォームを取扱うアプリケーションの双方に
理解される。
【0051】実際のデータ値のデータ表現に対する典型
的な詳細は整数、浮動小数点、ASCII文字列、また
はEBCDIC文字列等である。原始クラス11の場合
には、データ値の詳細は、浮動小数点1/1である。こ
れは、この原始クラスのフォーム例に記憶されているデ
ータが、合計2桁の浮動小数点であって、そのうちの1
桁が小数点の右側になることを示す表記法である。
【0052】次に、図2のプレイヤー名クラス定義につ
いての考察に戻ることにする。第2のフィールドは年齢
と名づけられる。このフィールドは、クラスナンバー1
2を持ち、図5において定義された整数と名づけられた
原始クラスのフォームを含む。それにはクラス番号が組
合され、第5図において定義されている。フォームの整
数クラス、クラス12は、図5のクラス定義ごとに、整
数3の詳細を示すデータを有する。整数3は、3個の数
字を有する整数データをフィールドが含むことを意味す
る。第2図におけるクラス1000の最後の2つのフィ
ールドは、姓と名である。これら両方のフィールドは、
ストリング  20  ASCII  クラス10と名
づけられているクラスの原始フォームを含む。クラス1
0のクラス定義が第5図に与えられており、このクラス
のフォームの例が20文字の長さであるASCII文字
列を含むことを指定している。
【0053】第3図に、プレイヤー住所、クラス100
1と名づけられた他の構造化クラス定義を示す。このク
ラスのフォームの各例は、ストリート、市および州と名
づけられた3つのフィールドを含む。これら3つの各フ
ィールドは、ストリング  20  ASCII、クラ
ス10、と名づけられているクラスの原始フォームを含
む。 また、クラス10に対するクラス定義が第5図に与えら
れ、20文字のASCIIストリングのデータ表現を指
定する。
【0054】構造化クラスフォームのネスティングの例
が、図4に示されている。図4は、トーナメントエント
リィ、クラス1002、と名づけられているクラスにお
けるフォーム例についてのクラス定義である。このクラ
スにおけるフォームの各例は、トーナメント名、プレイ
ヤー、アドレスと名づけられた3つのフィールドを含む
。トーナメント名フィールドは、第5図に定義されてい
るストリング  20ASCII、クラス10、と名づ
けられている原始クラスのフォームを含む。プレイヤー
と名づけられているフィールドは、第2図に示されてい
るフォーマットと意味特徴を有するプレイヤー名、クラ
ス1000、と名づけられているクラスの構造化フォー
ムの例を含む。アドレスと名づけられているフィールド
は、プレイヤーアドレス、クラス1001、と名づけら
れている構造化クラスの構造化フォームの例を含む。プ
レイヤーアドレスは、第3図のクラス定義において与え
られているフォーマットと意味特徴を有する。
【0055】図4のクラス定義は、フォームのネスティ
ングをどのようにして行うことができるかを示すもので
あって、フォームの各フィールドはフォーム自体であり
、あらゆるフォームは、原始としてただ1つのフィール
ドを有することも可能であり、構造化して複数のフィー
ルドを有することも可能である。言いかえると、フォー
ム例は、必要な数のフィールドを有することができ、各
フィールドは必要な数のサブフィールドを有することが
できる。更に、各サブフィールドは、必要な数のサブ−
サブフィールドを有することができる。このネスティン
グ構造は、任意の数のレベルにわたって進められる。 このようなデータの構造により、種々の複雑さを持つデ
ータを、容易に表現し、かつ取扱うことができるように
なる。
【0056】次に、トーナメントエントリィ、クラス1
002、として名づけられたフォームクラスのフォーム
例を、図6に示す。このフォーム例は、オブジェクトと
してメモリに記憶されている。データブロック38は、
これがトーナメントエントリィと名づけられている構造
化クラスのフォームの例であることを示す構造化クラス
番号1002を含む。データブロック40は、このクラ
スのフォームが3つのフィールドを有することを示す。 これら3つのフィールドは、それらのフィールド内のフ
ォームのクラス番号を含んでいる、42、44、46で
示されているデータブロックを有する。第1のフィール
ドが図5に示されているようなクラス10のフォームを
含むことを、データブロック42は示す。クラス10フ
ォームは、図5においてクラス10に対するクラス定義
で定義されているASCII文字の20文字列を含んだ
原始フォームである。このフォームの例におけるASC
II文字の実際の列が48で示され、これはU.S.オ
ープンテニストーナメントに対するトーナメントエント
リィであることを示している。データブロック44は、
第2のフィールドが、クラス1000の構造化フォーム
の例であるフォームを含んでいることを示している。こ
のクラス定義を参照することにより、このクラスがプレ
イヤー名と名づけられていることが示される。データブ
ロック50は、このクラスの構造化フォームが4つのサ
ブフィールドを含むことを示す。これらのフィールドは
、データブロック52、54、56、58に記録されて
いるクラスのフォームを含む。これらのフィールドは、
フィールド44のサブフィールドである。第1のサブフ
ィールドは、データブロック52を有しており、このサ
ブフィールドが原始クラス11のフォームを含むことを
示す。このクラスのフォームは、図5において、1つの
小数点を有する浮動小数点の2桁の数を含んでいるもの
として示されている。このフォーム例に対する実際のデ
ータが60で示され、このプレイヤーのエントリィ評点
が3.5であることが示されている。第2のサブフィー
ルドはデータブロック54を有し、このサブフィールド
は原始クラス12のフォームであることを示す。このク
ラスのクラス定義は、このクラスが整数と名付けられ、
整数データを含むことを示している。図2に示されるク
ラス1000のクラス定義は、ブロック62で示される
この整数データがプレイヤーの年齢であることを示して
いる。フィールド名についてのクラス定義意味データは
、フォーム例には格納されていないことに注目されたい
。フォーマット情報または型情報だけが、各フィールド
のクラスIDのフォーム中のフォーム例に格納される。
【0057】第3のサブフィールドは、データブロック
56を有し、このサブフィールドがストリング  20
  ASCIIと名付けられた原始クラス10のフォー
ムを含むことを示している。このサブフィールドは、図
2に示されている、クラスプレイヤー名、クラス100
0、のフォームの姓フィールドに対応している。原始ク
ラス10クラス定義は、この原始クラスの例が20文字
のASCIIストリングを含むことを指定する。このス
トリングは、この例の場合には、プレイヤーの姓を定め
ている。 図6に示す例においては、プレイヤーの姓は64に示す
ようにブラケット(Blacklet)である。
【0058】最後のサブフィールドは、データブロック
58を有し、20文字のASCIIストリングである原
始クラス10の原始フォームをこのフィールドが含んで
いることを示している。このサブフィールドは、プレイ
ヤーの名を含んでいるものとして、クラス1000にク
ラス定義される。このASCIIストリングが66とし
て示されている。
【0059】クラス1002のフォーム例における第3
のフィールドは、データブロック46を有する。このデ
ータブロックは、このフィールドが構造化クラス100
1の構造化フォームを含むことを示す。このクラスのク
ラス定義は第3図に与えられており、このクラスがプレ
イヤー  アドレスと名付けられていることを示してい
る。データブロック68は、このフィールドが、70、
72、74で示されるクラス番号のフォームを含む3つ
のサブフィールドを有しすることを示している。これら
の各サブフィールドは、図5において定義されている原
始クラス10のフォームを含む。したがって、これらの
各サブフィールドは、20文字のASCIIストリング
を含む。これら3つのフィールドの内容は、クラス10
01についてのクラス定義において定義され、それぞれ
、フィールド44において名づけられたプレイヤーのア
ドレスに対するストリート、市および州である。これら
の3文字ストリングが、それぞれ76、76、80で示
されている。
【0060】図7には、このクラスのフォーム例とクラ
ス定義との間における、意味情報、フォーマット情報、
実データの区分が示されている。フィールド名と、フォ
ーマット情報、型情報とは、ボックス82に示されてい
るようにクラス定義中に格納される。フォーマット情報
や型情報(クラスIDのフォームにおいて)と、実際の
データまたはフィールド値は、ボックス84に示すよう
に、フォーム例に格納される。たとえば、図6に示され
ているトーナメントエントリー、クラス1002のフォ
ーム例において、第1フィールドの実データは、ブロッ
ク48で示されるものであるにもかかわらず、第1フィ
ールドのフォーマットデータはブロック42に記憶され
たデータとなっている。本質的には、クラス番号やクラ
スIDは、通信インターフェイスにより、その原始クラ
スのフォーム例におけるデータの種類に対する仕様に等
しくされる。したがって、通信インターフェイスは、ク
ラス定義をアクセスする必要なしに、フォーム自体の例
に格納されているフォーマットデータだけを用いて特定
のフォーム例に対してフォーマットオペレーションを実
行できる。これにより、処理速度の低下をもたらすディ
スクアクセス、ネットワークアクセスを含むクラス定義
へのアクセスの必要性が無くなり、フォーマットオペレ
ーションの速度が向上する。フォーマット型オペレーシ
ョンは、外部プロセス内のデータ交換における全ての動
作の集りを有するから、データ構造と、ここで定義され
ているデータ構造を取扱うためのプログラムのライブラ
リィとは、外部プロセスと外部コンピュータの間のデー
タ交換の効率を大幅に向上させる。
【0061】たとえば、第6図に示されているフォーム
例がデジタル・イクイップメント・コーポレーション(
Digital Eguipment Corporr
ation)(DEC)製のたコンピュータで実行され
るプロセスによって発生され、したがってテキストがA
SCII文字で表わされるものと仮定する。 またこのフォームは、アイビーエム(IBM)コンピュ
ータで実行されているプロセスへ送るべきものであると
仮定する。アイビーエムコンピュータでは、文字ストリ
ングはEBCDICコードで表わされる。更に、それら
2台のコンピュータがイーサネット通信プロトコルを用
いてローカルエリアネットワークにより結合されている
ものと仮定する。
【0062】この転送を行うために、いくつかのフォー
マットオペレーションを行わねばならない。これらフォ
ーマットオペレーションは、DECコンピュータが10
で示されているホスト1で、アイビーエムコンピュータ
が12で示されているホスト2であると仮定して、第1
図を参照することにより最もよく理解できる。
【0063】第6図に示すフォーム例をアプリケーショ
ン16からアプリケーション18へ転送するための第1
のフォーマットオペレーションは、第6図に示されてい
るフォーマットから、ネットワーク14を介する転送に
適当なパックされたフォーマットへの交換である。ネッ
トワークは、一般に、端と端を一緒にしてパックされた
複数のバイトと、それらのバイトに先行するヘッダ情報
の多数のバイトとを含むデータブロックで構成されたメ
ッセージに対して作動する。このヘッダ情報は、メッセ
ージの長さ、宛先アドレス、発信元アドレス等のような
ものと、メッセージの終りに附された誤り訂正コードと
を含む。実際のデータブロックの始りと終りをマークす
るためにデリミタが用いられる場合もある。
【0064】この仮定した転送において実行せねばなら
ないであろう第2のフォーマット動作は、ネットワーク
14を介して転送するために必要なパックされたフォー
マットから、アプリケーション18とホストコンピュー
タ12により用いられるフォーマットへの変換である。
【0065】フォーマットオペレーションは通信インタ
ーフェイスのフォームマネージャーモジュールによって
行われる。例えば、仮定的な転送における最初のフォー
マットオペレーションは、第1図のフォームマネジャー
モジュール86により行われ、一方、仮定的な転送にお
ける第2のフォーマットオペレーションはデータ交換コ
ンポーネント88におけるフォームマネジャーモジュー
ルにより実行される。次に、フォーマットオペレーショ
ンの実行においてフォームマネージャーモジュールによ
り行われるオペレーションの流れ図が示されている図8
を参照する。通信インターフェイスのフォームマネジャ
ーモジュールにおけるルーチンの各種の機能についての
詳細が、ここに含まれている通信インターフェイスの各
種のライブラリィルーチンについての機能の仕様中に見
出される。図8のプロセスは、本発明の通信インターフ
ェイスの中のデータ交換コンポーネントのフォームマネ
ジャーモジュール中のソフトウェアプログラムにより実
現される。第1のステップはアプリケーションから、ま
たは通信インターフェイス中の別のモジュールからフォ
ーマット変換呼出しを受けることである。このプロセス
は、ブロック90と図1の経路92、94とにより表現
されている。同じ種類の呼出しを、図1におけるホスト
コンピュータ12に対してアプリケーション18または
通信コンポーネント96により、データ交換コンポーネ
ント88中のフォームマネージャーモジュールに対して
行うことができる。その理由は、これは、本発明の通信
インターフェイスにより全てのクライエントアプリケー
ションへ提供される標準的な機能すなわち「ツール」だ
からである。あらゆるクライエントアプリケーションは
、図1のインターフェイス20のような通信インターフ
ェイスに結合される。典型的には、図1のモジュール3
0、96のような通信コンポーネントからフォームマネ
ージャモジュールへ与えられるフォーマット変換コール
は、フォーマット1のフォームを送るタスクを与えられ
たサービス統制モジュールからフォーマット2を使用す
る外部アプリケーションへのコールである。通信インタ
ーフェイスの中の別のモジュールからのフォーマット変
換コールについての別の同様なシナリオは、サービス統
制が、外部フォーマットであって、クライエントアプリ
ケーションのフォーマットへ変換する必要がある別のア
プリケーションまたはサービスからフォームを受けた時
である。
【0066】フォーマット変換コールには、パラメータ
が組合され、それらのパラメータはフォームマネジャー
へ与えられる。これらのパラメータは、「取出し」フォ
ーマットと「受入れ」すなわち「ターゲット」フォーマ
ットを指定する。
【0067】ブロック98は、指定された変換のための
適切なターゲトフォーマット特有のテーブルをアドレッ
シングするプロセスを表わす、すなわち、指定された「
取出し」フォーマットが、各原始「取出し」フォーマッ
トクラスに対する適切なターゲットフォーマットについ
ての詳細を与えて、変換を完了させる専用のテーブルを
有する。好適な実施例においては、あらゆる変換オペレ
ーション中に順次アドレスされる2つのテーブルがある
。別の実施例においては、それら2つのテーブルを組合
わせることができる。好適な実施例において用いられる
2つのテーブルの例が、図9〜図11に示されている。 図9は、DECマシンからX.409フォーマットへ変
換するための特定のフォーマット変換テーブルを示す。 図10は、X.409フォーマットからアイビーエム・
マシンのフォーマットへの変換のためのフォーマット特
有変換テーブルを示す。図11は、各「取出し」−「受
入れ」フォーマット対に対して特定の変換を行う通信イ
ンターフェイスライブラリィ中の変換プログラムの名称
を識別する全体的な変換手順表を示す。
【0068】図9と図10のテーブルは、図1のアプリ
ケーション16からアプリケーション18へフォームを
送るために必要なテーブルの全てではないであろう。ア
プリケーション16のフォーマットから、DECマシン
フォーマットへ変換するため、あるいは、アイビーエム
・マシンフォーマットからアプリケーション18のフォ
ーマットへの変換のために必要な別のフォーマット特有
のテーブルもある。しかし、通信インターフェイスのフ
ォームマネジャーモジュールにより実現されるフォーマ
ット変換プロセスの全体的な概念を、図9〜図10を参
照にして説明できる。
【0069】アプリケーション16からアプリケーショ
ン18へフォームを送るプロセスにおいて必要な第1の
変換は、DECマシンフォーマットから、イーサネット
(商標)ネットワークを介して送るために適当なパック
されたフォーマットへの変換であると仮定するこの場合
には、ステップ90で受けられたフォーマット変換コー
ルは、ブロック98により表わされているプロセスを行
うフォームマネージャーモジュール内のソフトウェアに
よる呼び出し処理である。
【0070】この仮定した例においては、このルーチン
によりアクセスするための適切なフォーマットに特有の
テーブルが、ブロック90により受けられた元のフォー
マット変換コールしにおける「取出し」フォーマットと
「受入れ」フォーマットの各パラメータにより決定され
る。これにより、図9に示されている表がアクセスされ
る。フォーマット変換コールは、変換すべきフォームの
アドレスの識別も行う。
【0071】次のステップがブロック100により示さ
れている。このステップは、元のフォーマット変換コー
ルにおいては識別されるフォームをアクセスすることと
、フォームの原始クラスを含んでいる第1のフィールド
を見付けるためにフォームを探索することを含む。いい
かえると、サブフィールドを有する別の構造化フォーム
とは異なって、フィールドが実際のデータを格納してい
ることを見出されるまで、レコードが探索される。
【0072】図6に示されているフォームの場合には、
フォームの原始クラスを格納する第1のフィールドはフ
ィールド42である。図9の表の「取出し」列は、適切
なエントリィが見出されるまで、クラス番号10を用い
て探索される。この場合には、10の「取出し」クラス
に対するエントリィが、原始クラス25に対するクラス
定義中で指定されているフォーマットは「受入れ」フォ
ーマットであること示す。「取出し」フォーマットを用
いて「受入れ」フォーマットを探索するこのプロセスが
図8のブロックで示されている。図9に示すテーブルを
、ブロック102で示されているステップを行うルーチ
ンのコードに「接続(hardwired)」できる。
【0073】あるいは、図9のテーブルを、図1のネッ
トワークファイルシステム24のどこかに格納されるデ
ータベースまたはその他のファイルとすることができる
。その場合には、図8のステップ102を実行するルー
チンは、図9のテーブルをアクセスするためにネットワ
ークのアドレスとファイル名を知る。
【0074】次に、図8のブロック104に示されてい
るプロセスは、図11に示されている全体的な変換手順
をアクセスすることによって行われる。これは、フォー
ムの1つの原始クラスをフォームの別の原始プログラム
へ変換する実際の作業を実行するフォームマネジャー中
の変換プログラムを識別するテーブルである。この表は
あらゆる「取出し」−「受入れ」フォーマット対のため
の1つのエントリィで編成される。「取出し」−「受入
れ」対に対するテーブル中のエントリィは、変換の実際
の作業を行う変換ルーチンの名称を含む。ブロック10
4に示されているプロセスは、ステップ102における
フォーマット特有の変換テーブルをアクセスすることか
ら決定される「取出し」−「受入れ」対をとり、「取出
し」−「受入れ」一致を有するエントリィが見出される
まで、全体的な変換手順テーブルのエントリィを検索す
る。この場合には、図11のテーブルの一番上から3番
目のエントリィが、図9へのアクセスにおいて見出され
た「取出し」−「受入れ」フォーマット対に一致する。 このエントリィは読み出され、この変換を行うためのル
ーチンの名称が「ASCII ETHER」であると決
定される。 (多くの実施例においては、名称ではなくて、ルーチン
のメモリアドレスがテーブルに格納される。)  図8
のブロック106は、ブロック104で識別された変換
プログラムを呼出し、この変換ルーチンを行って、ステ
ップ100で選択したフィールドの内容を、ステップ1
02で識別された「受入れ」フォーマットすなわちター
ゲットフォーマットへ変換することを行うプロセスを示
す。仮定した例においては、ルーチン「ASCII E
THER」が呼出され、ステップ106により実行され
る。このルーチンを呼出すと、ステップ100のプロセ
スにおいて選択されたフィールド、すなわち、図6に示
すフォーム例のフィールド42に格納されている実際の
データを供給して、テキストストリング「U.S.オー
プン」がパックされたイーサネットフォーマットへ変換
される。
【0075】次に、ブロック108のテストが行われ、
フォーム原始クラスが処理されたかどうかを判定する。 もし処理されたとするとフォームのフォーマット変換は
終了され、ブロック110により示されているようにフ
ォーマット変換ルーチンを出る。
【0076】フォームの原始クラスを含んでいるフィー
ルドが処理されたままであるとすると、ブロック112
で示されているプロセスが実行される。このプロセスは
フォームの原始クラスを含んでいる次のフィールドを見
つける。
【0077】その後、フォームの原始クラスを含んでい
る全てのフィールドが適切な「受入れ」フォーマットへ
変換されるまで、ブロック102、104、106、1
08により示されている処理ステップが実行される。
【0078】上記のように、フォームの原始クラスを含
んでいるフィールドを探索するステップは、変換すべき
フォームを通って直列に進む。次に出合うフィールドが
構造化クラスのフォームを含んでいるとすると、フォー
ムの原始クラスを内部に有する最初のフィールドが検索
されるまで、フォームのそのクラス自体が探索される。 全てのフィールドが処理され、フォームに格納されてい
る全てのデータが適切なフォーマットに変換されるまで
、その全てのフィールドに対するあらゆるネスティング
レベルにわたってそのプロセスは続く。これがどのよう
にして行われるのかの例として、図6のフォームにおい
ては、第1のフィールド42の処理の後で、図8のブロ
ック112により示されているプロセスがフィールド4
4に次に遭遇する(フィールドは、そのフィールドに格
納されているフォームに対するクラスIDと実際のデー
タであり、またはそのフィールドに格納されているオー
ムのフィールドとサブフィールドである)。図6により
表わされているフォームの特定のクラスにおいては、い
くつかのサブフィールドで構成されている構造化フォー
ムを第2のフィールド44が含むことに注目されたい。 それから処理はクラス1000の構造化フォームをアク
セスする。そのフォームは、第2のフィールドにより格
納され、原始クラスのフォームを含んでいるそれの第1
フィールドを探すまで、その構造化フォームの中を直列
に進む。図6の仮定例においては、第1のフィールドは
52におけるクラス番号11により示されるサブフィー
ルドである。それから、ブロック102により示されて
いるプロセスは、図9のテーブル中の「取出し」列内の
クラス11を探索し、ターゲットフォーマットが原始ク
ラス15のクラス定義により指定されることを決定する
。それから、この「取出し」−「受入れ」対11〜15
が、図11のテーブルのエントリィと比較され、一致す
るエントリィが見い出される。その後、図8のブロック
106のプロセスが、「Floatl ether」と
よばれる変換プログラムを実行し、図6の60における
データのブロックを適切なイーサネット・パックされた
フォーマットへ変換する。それから、このプロセスは全
てのネスティングレベルにわたって続行される。次に、
典型的な意味依存オペレーションについての流れ図が示
されている図12を参照する。フィールド名が既知で、
フォーム例のアドレスが既知であるならば、外部アプリ
ケーションにより発生されたフォームの例の特定のフィ
ールド中のデータを1つのアプリケーションが得ること
ができるようにすることにより、アプリケーションの切
離しを許す。本発明の通信インターフェイスは、好適な
実施例においては、フィールドを得る呼出し(getf
ield call)のフォームでクライエントアプリ
ケーションから意味依存オペレーション要求を受ける。 その好適な実施例においては、全てのプロセスは、同じ
ことを意味するデータフィールドに対する同じフィール
ド名を用いる(フォームの編成、または外部プロセスに
より発生されたフォームでのフィールドのデータ表現と
は無関係に)。別の実施例においては、俗称テーブル(
aliasing table)または同義語テーブル
(synonym table)あるいはデータベース
が用いられる。そのような実施例においては、フィール
ドを得る呼出しを用いてクラスマネジャー内の同義語テ
ーブルをアクセスし、要求されたフィールド名の全ての
同義語を探す。求められているフィールド名と同義であ
る全てのフィールド名が戻される。それから、クラスマ
ネジャーは、求められているフィールド名または同義名
のいずれかとの一致のためのクラス定義を探し、一致フ
ィールドを有するフィールドを検索する。
【0079】次に好適な実施例の説明へ戻って、このよ
うなフィールドを得る呼出しは、クライエントアプリケ
ーションにより、図1のモジュール122のようなフォ
ームクラスマネジャーモジュールに対して直接行うこと
ができ、またはそれらのモジュールを通信コンポーネン
トまたはフォームマネジャーモジュールにし、それらの
モジュールによりフォームクラスマネジャーへ転送させ
ることができる。フォームクラスマネジャーはフォーム
クラス定義を作成し、破棄し、取扱い、格納し、読み出
す。
【0080】フィールドを得る呼出しは、含まれている
フォームのアドレスと、対とするフォーム中のフィール
ド名とをフォームクラスマネジャーへ供給する。その要
求を受けるプロセスが図12のブロック120により示
されている。ブロック120は、プログラムにより、す
なわち、要求しているアプリケーションにより、または
対象とするフォームに対するクラス定義を含めたクラス
定義を見出すことができるデータベースの場所を告げら
れることによって、クラスマネージャーにクラス定義が
与えられるようにするプロセスも示すものである。図1
のネットワークファイルシステム24にはいくつかのデ
ータベースすなわちファイルを設けることができ、それ
にクラス定義が格納される。対象とするフォームに対す
るクラス定義が格納される特定のファイルの場所をフォ
ームクラスマネジャーへ与えることが必要なだけである
【0081】次に、ブロック122に示すように、クラ
スマネジャーモジュールは、元の呼出しにおいて識別さ
れたフォームクラスに対するクラス定義をアクセスする
【0082】それから、クラスマネジャーはクラス定義
フィールド名を検索して、元の呼出において与えられた
フィールドの名の一致を見出す。このプロセスがブロッ
ク124に示されている。
【0083】対象とするフィールドをクラス定義中で探
した後で、クラスマネジャーは相対的なアドレスポイン
タを、このクラスのフォーム例中の対象とするフィール
ドへ戻す。このプロセスが図12のブロック126に示
されている。クラスマネジャーにより戻されるこの相対
的なアドレスポインタは、図2、図4、図6を参照とす
ることによって最も良く理解される。フィールドを得る
呼び出しを行ったアプリケーションが、特定のプレイヤ
ーの年齢の決定に興味をもったと仮定する。フィールド
を得る要求は、図6に示すように、プレイヤーのブラケ
ット(Blacktt)に対するクラス1002のフォ
ーム例のためのアドレスを識別する。又、フィールドを
得る要求には対象とするフィールドの名称、すなわち、
「年令」も含まれる。それからクラスマネジャーは対象
とするフォームの例をアクセスし、フォームのこのクラ
スへ加えられる特定のクラス識別子又はクラス定義を示
すクラス番号を読み出す。それから、クラスマネジャー
は、図4に示すように、クラス1002のためのクラス
記述子をアクセスし、クラス定義を見つける。次に、ク
ラスマネジャーは、クラス定義1002の各フィールド
に対するクラス定義をアクセスし、元のフィールドを得
る要求中のフィールド名を、クラス1002に対するク
ラス定義を構成する種々のクラス定義中のフィールド名
と比較する。言換えると、クラスマネジャーは、クラス
10、100及び1001に対するクラス定義中のフィ
ールド名、「年令」、を対象とするフィールド名と比較
する。 図2からわかるように、クラス1000についてのクラ
ス定義において一致が見出される。図6に示されている
特定のレコードフォーマットに対して、「年令」フィー
ルドは、データブロック62である。このデータブロッ
クは、レコードのスタートから10番目のデータブロッ
クである。それからクラスマネジャーは図12のブロッ
ク126内の10の相対的なアドレスポインタを戻す。 この相対的なアドレスポインタは、元のフィールドを得
る呼出を行ったクライエントアプリケーションへ戻され
る。それからクライエントアプリケーションは、データ
を得る呼び出しをフォームマネジャーモジュールへ発し
、対象とするフォームの特定の例内の希望のフィールド
の相対的なアドレスをフォームマネジャーモジュールへ
供給する。フォームマネジャーモジュールは、元のフィ
ールドを得る呼出がフォームマネジャーモジュールを通
ってきて、フォームクラスマネジャーへ戻されるならば
、それが既に有するであろう対象とするフォーム例のア
ドレスも知らなければならない。フォームマネジャーモ
ジュールが対象とするフォームの特定の例のアドレスを
有しないとすると、フォームマネジャーはクライエント
アプリケーションからそれを要求する。データを得る呼
出を受け、相対的なアドレスと、対象とするフォームの
例のアドレスとを得た後で、フォームマネジャーはフォ
ームのこの例をアクセスし、それをクライエントへ戻す
。このデータを得る呼び出しを受けるプロセスと適切な
データの返送を行うプロセスは、図12において、ブロ
ック128によって示されている。
【0084】通常、クラスマネージャーモジュールは、
ホストマシンのRAM中で行う意味依存オペレーション
に必要なクラス定義を、クラス記述子として記憶する。 クラス定義は、意味の詳細とクラスを定義するフォーメ
ーション情報である。クラス記述子は、クラス定義の具
体的なメモリオブジェクトである。クラス記述子は、少
なくとも2つの方法で記憶される。ランダム・アクセス
・メモリ(RAM)において、クラス記述子は、機械に
特有のフォーマットおよびクラス定義を作成したクライ
エントアプリケーションに特有のフォーマットでフォー
ムとして記憶される。ディスクもしくはテープに記憶さ
れたクラス記述子は、テキストのASCIIストリング
として記憶される。
【0085】クラスマネージャモジュールが意味依存オ
ペレーションを行うことを要求すると、RAMに記憶さ
れたクラス記述子を検索し、適当なクラス記述子が存在
するかどうかを決定する。もしあれば、そのクラス記述
子が、図12の上記オペレーションの実行に使用される
。適当なクラス記述子がなければ、クラスマネージャが
入手する。これは、図1のシステムファイル24に記憶
されたクラス記述子の既知のファイルを検索することに
より、あるいはクラス定義を作成した外部アプリケーシ
ョンに対し、要求されたモジュールのクラス定義を送る
ように要求することにより、行われる。クラス記述子を
記憶したファイルの位置は、クライエントアプリケーシ
ョンに知られており、クラスマネージャモジュールもこ
のアドレスを記憶している。意味依存のオペレーション
の要求には、適当なクラス記述子が見出されるであろう
ファイルのアドレスが含まれることがある。要求に上記
のようなアドレスが含まれていない場合には、クラスマ
ネージャクラス記述子の記憶内容を介して、さらにシス
テム記述子ファイルの位置を確認するクラスマネージャ
によって記憶されたレコードの中に確認されたファイル
を介して見つけ出す。
【0086】クラスマネージャがクラス記述を作成した
外部のアプリケーションからクラス記述子を要求すれば
、外部アプリケーションは、クラスマネージャに対して
、ネットワークから要求しているクラスマネージャもし
くは要求モジュールに対する適当なクラス記述子を送る
ような要求を送る。クラス記述子は、他の形式で送られ
、要求された意味依存オペレーションを行うためのクラ
スメネージャを要求する。
【0087】クラスマネージャはクラス記述子を得るた
めにファイルにアクセスしなければならない場合、クラ
ス記述が含まれておりパックされたASCII表現をR
AMに記憶する本来の型に変換しなければならない。こ
れは、ASCIIテキストを種々のフィールド名、フィ
ールド内容の詳細、クラスマネージャに分けて細かに調
べることによって行われる。
【0088】図13A、図13Bは、フォームとしてメ
モリ13Aに定義されたクラス記述子のクラス定義、構
造、編成を示している。図13Aに与えられたクラス定
義は、パーソンクラスと名付けられ、姓と名の2つのフ
ィールドのみを有する。これら各フィールドには、20
文字のASCIIストリングが記憶される。
【0089】図13Bは、クラス番号1021を有する
構造化フォームデータブロック140を有している。第
1のフィールドは、この例では、パーソンクラスという
クラス名を示すASCIIストリングを含むと指定され
た原始クラスを含んでいる(データブロック146)。 第2のフィールドは、番号2、データブロック148が
付され、データブロック150と指定された原始クラス
である。第2フィールドは、クラス1021のクラス定
義により定義され、このフォームクラスが、原始(真)
であるか構造化されているか(偽)が決定されている。 この例においては、データブロック150は偽であり、
クラス1021が構造化クラスであることを示している
。第3フィールドは、データブロック152で示され、
クラス番号112が付与された構造化クラスである。ク
ラス1021のクラス定義は、第3フィールドが、フィ
ールド名と詳細をクラス定義に与えることにより構造化
クラスであることを定義している。データブロック15
4は、クラス112に表われる2つのフィールドを示し
ている。クラス112の第1のフィールドは、それ自身
クラス番号150、データブロック156を与えられた
構造化クラスであり、2つのサブフィールド、データブ
ロック158を有している。
【0090】第1サブフィールドは、原始クラス15、
データブロック160であり、クラス150として指定
され、クラス1021の第1フィールド名を含むように
されている。データブロック162は、クラス1021
のファーストフィールド名を与える。
【0091】第2サブフィールドは、原始クラス15、
データブロック164であり、クラス150とクラス定
義されており(図示せず)、クラス1021の第1フィ
ールド中に記憶された実データ(データブロック164
)を指定するASCIIストリングが含まれている。ク
ラス112の第2フィールドは、クラス112で定義さ
れ、クラス150のフォーム、データブロック168と
データブロック170を有している。データブロック1
68は、2つのフィールドを持ち、データブロック17
0は、クラス1021の次のフィールドの名前を与える
とともに、第2フィールドに記憶された実データの表現
の型を指定する。
【0092】
【主題に基づくアドレッシングによるデー
タ分配およびサービスプロトコルの切り離しおよびサー
ビス統制プロトコル層の使用】次に、切り離しの2つの
重要なフォームを実現するために協同する各種のソフト
ウェアモジュールと、ファイルと、ネットワークト、コ
ンピュータとのブロック図が示されている図14を参照
する。切り離しのそれらのフォームはデータ分配切り離
しおよびサービスプロトコル切り離しである。データ分
配切り離し手段は、希望のサービスを行うサーバーに対
するネットワークアドレスを知る必要からクライエント
アプリケーションを自由にする。したがって、たとえば
、ダウ・ジョーンズ・ニュース・サービス(Dow J
ones News Servise)により供給され
る情報を特定のアプリケーションが知る必要があるもの
とすると、クライエントアプリケーションは、そのサー
バーおよびどの場所がダウ・ジョーンス・ニュース・サ
ービスから生のデータを供給しているかを知る必要がな
い。
【0093】データ交換が望まれるサーバー、サービス
、その他のアプリケーションにより用いられる通信プロ
トコルを、クライエントアプリケーションが知る必要が
ないことをサービスプロトコル切り離しは意味する。
【0094】データ分配の切り離しは、図14における
通信モジュール30により実現される。通信コンポーネ
ントは、主題マッパ180を実現するソフトウェアルー
チンのライブラリィと、主題に基づくアドレッシングを
実現するための複数のサービス統制とで構成される。サ
ービス統制182、184、186は、主題に基づくア
ドレッシングに含まれているサービス統制の例である。
【0095】主題に基づくアドレッシングは、サービス
を修正すること、又は別のサービスで置き換えて、情報
の受手に衝撃を与えることなしに等しい情報を提供する
。情報供給元から情報の受手を切り離すことにより、従
来のサービス向けモデルよりも高度のモジュール化と、
融通性を持たせることができる。
【0096】主題に基づくアドレッシングは、ホストコ
ンピュータ10で実行しているクライエントアプリケー
ション16により、主題マッパ180に対する申込みコ
ール188で開始される。申込みコールは特定の主題に
関する情報に対する要求である。特定の主題が株、IB
M、ニュースであると仮定する。この申込みコールは、
2つのパラメータを主題マッパ180へ送る。それらの
パラメータの1つは主題、株、IBM、ニュースである
。他のパラメータは、主題についてのデータを送らねば
ならないクライエントアプリケーション16における呼
出しルーチンの名称である。主題マッパ18に対する申
込み呼出しは、標準的な手順呼出しである。
【0097】この主題マッパの目的は、サービスのため
のネットワークアドレスを決定すること、およびそれら
のサービスに対して通信を決定するために適切なサービ
ス統制ルーチンを呼出すことである。申込みコールにお
ける主題についての情報を提供するサービスの場所を見
つけるために、主題マッパ180は、線190により表
わされている要求をディレクトリサービスコンポーネン
ト192へ送る。ディレクトリサービスコンポーネント
は、ネットワークの結合されている別のコンピュータで
実行されている別のプロセスであって、実際に別のコン
ピュータ又はホストコンピュータ10で実行させること
ができる。ディレクトリサービスルーチンは、その主題
についての情報をどのサービスが供給するのか、それら
のサービスがどこにあるのか、および通信のためにそれ
らのサービスにより用いられるサービス統制を示すデー
タベース、又はサービスレコードとよばれるレコードの
テーブルを維持する。ディレクトリサービスコンポーネ
ント192は、主題マッパ180から送られた要求を受
け、そのテーブルを通じて一致を探すためにその要求の
主題パラメータを用いる。即ち、ディレクトリサービス
コンポーネント192は、希望の主題についての情報を
提供する特定のサービスを示すサービスレコードを探す
。次にそのサービスレコードは、線194により示され
ているように主題マッパへ送り帰される。ディレクトリ
サービスコンポーネントは、多数のサービスが希望の主
題についての情報を供給するものとすれば、いくつかの
一致を見出すことができる。
【0098】線194により示されている主題マッパへ
送り返されるサービスレコードは、多くのフィールドを
含む。サービスレコード内での求められる2つのレコー
ドは、希望の主題についての情報を提供するサービスの
名称と、そのサービスにより用いられるサービス統制の
名称である。供給できる他の選択できるフィールドは、
そのサービスを実施するサーバーの名称とそのサーバー
のネットワークにおける場所である。
【0099】一般に、ディレクトリサービスコンポーネ
ントは、主題サービスが存在する全てのサービスレコー
ドを供給する。その理由は、全てのサービスにより主題
へ提供される情報中には完全な重なり合いが存在しない
ことがあるからである。更に、各サービスは別のサーバ
ーにより実行される。そのサーバーは、同じネットワー
クによりクライエントアプリケーションへ結合してもよ
く、又は結合しなくともよい。そのような多数のネット
ワーク経路とサービスが存在するものとすると、主題が
一致している全てのサービスレコードを主題マッパへ送
り返すことにより、ネットワーク、サーバー又はサービ
スのいずれかが故障した時に、それらを切り換える能力
を通信インターフェイスに持たせられる。
【0100】上記のように、主題マッパ180は全ての
サービスと通信を行うように機能して、希望の主題につ
いての情報を提供する。多数のサービスレコードがディ
レクトリサービスモジュール192から返送されたとす
ると、主題マッパ180はそれらのサービスの全てと通
信を設定する。
【0101】サービスレコードを受けると、主題マッパ
は識別された各サービス統制を呼出して、主題と、その
サービス統制へ加えることができるサービスレコードを
それへ送る。図14には、ただ3つのサービス統制18
2、184、186が示されているが、実際のシステム
では3つよりも多くのものを設けることができる。ディ
レクトリサービスコンポーネント192が存在しないか
、一致を見出さないとすると、主題マッパ180へはサ
ービスレコードは戻されない。この場合には、主題マッ
パは省略時サービス統制を呼出して、それと主題および
無効(null)レコードを送る。
【0102】各サービス統制は、ソフトウェアモジュー
ルであって、そのサービス統制に関連する特定のサービ
スと通信するために最適にされた特注のサービスを含む
【0103】主題マッパ180により呼出された各サー
ビス統制は、それへ送られたサービスレコードを調べ、
通信を行うべきサービスの場所を決定する。考察してい
る特定の仮定した例においては、ディレクトリサービス
モジュール192によりただ1つのサービスレコードが
戻されていること、そのサービスレコードがサーバー1
96で行われているダウジョーンズニュースサービスを
識別すること、および182においてサービス統制Aを
、サーバー196におけるダウジョーンズニュースサー
ビスと通信するために適切なサービス統制として識別す
る。それから、サービス統制Aは、要求メッセージを線
198で示されているようにサーバー196へ送る。 この要求メッセージは、主題をサービスへ送り、サービ
スレコード全部又は一部を送ることができる。
【0104】サーバー196は要求メッセージを処理し
、実際に、希望の主題についての情報を供給できるかど
うかを判定する。それからそれは、線200により示さ
れている応答メッセージを送り返す。
【0105】通信がそのようにして、ひとたび設定され
たとすると、要求されている主題に関連する情報の全て
の項目を、経路202で示されているように適切なサー
ビス統制へ連続して送る。ここで選択した例においては
、サーバー196で行われるサービスは、サービス統制
182へ送るためにアイビーエムに関連する新しい事項
だけを抽出する。他の実施例においては、サーバーは、
主題による選別を行うことなく全ての情報を通過させる
ものであってもよい。通信コンポーネント30は、要求
された主題だけを選び出し、要求したアプリケーション
16に送る。これは、以下に説明するデーモン(dea
mon)によって行われる。また、以下に説明する情報
層、サービス層等のいずれかにて行ってもよい。
【0106】各サービス統制は、異なる挙動をとること
ができる。例えば、184におけるサービス統制Bは、
次の挙動をとることができる。サーバー196で行われ
るサービスは、ダウジョーンズニューサービスの全ての
ニュース事項をネットワーク14で同時通信(放送)で
きる。サービス統制Bの全ての例は、ネットワークを監
視でき、希望の主題に関連するメッセージだけを抽出す
る。多くの異なる通信プロトコルを用いることが可能で
ある。
【0107】182におけるサービス統制Aは、サービ
スにより送られたデータを受け、それをクライエントア
プリケーション16中の名付けられている戻しルーチン
204へ送る。(サービス統制182は、線182で示
されているように主題マッパ180からの最初のメッセ
ージ中の呼戻しルーチンの名称を送った。)名称をつけ
られた呼戻しルーチンは、希望の主題についての情報で
、行うようにプログラムされているものは何でも行う。
【0108】クライエントアプリケーション16が取消
し指令を主題マッパ180へ明確に送るまでは、データ
は名称をつけられている呼戻しルーチン204へこのよ
うにして流れ続ける。主題マッパ180は、存在してい
る全ての申込みのレコードを保存して、有効である種々
の申込みと取消し指令を比較する。一致が見出されたと
すると、適切なサービス統制に取消し要求が知らされ、
それからこのサービス統制が取消しメッセージを適切な
サーバーへ送る。それからサービスは、その主題につい
てのそれ以上のデータを、取消し要求を送ったサービス
統制に送ることを止める。
【0109】サービス統制が自立しており、主題マッパ
へ結合されないことも可能である。この場合には、サー
ビス統制はアプリケーションへ直結され、申込みコール
はサービス統制に対して直接行われる。違いは、希望の
データを供給するサービスの名称と、サービスをアクセ
スするために用いられるサービス統制の名称をアプリケ
ーションが知らなければならないことである。次に、識
別されたサービスのネットワークアドレスを見つけるた
めにデータベースまたはディレクトリサービステーブル
がアクセスされ、上記のようにして通信が設定される。 このソフトウェアアーテキクチャは、データ分配の切り
離しを行われないが、サービスプロトコルの切り離しを
行い、それによって、データを交換すべきサービスとの
通信インターフェイスの詳細を知る必要からアプリケー
ションを自由にする。
【0110】本発明の通信インターフェイスにより行わ
れる、主題に基づくアドレッシング申込みサービスにつ
いてのより多くの詳細は、下記の通信インターフェイス
仕様の4節に示されている。本発明の通信インターフェ
イスの好適な実施例がその仕様に従って構成される。
【0111】好適な実施例における実際の申込み機能は
、仕様の4節に述べられているTIB消費作成ライブラ
リィルーチンを実行することにより行われる。TIB消
費作成に対する呼出しは、それへ送られたパラメータの
特性リストを含む。それの1つが、仕様の4節における
私のメッセージハンドラー(my message h
andler)と指定されている呼戻しルーチンである
【0112】仕様においては、主題に基づくアドレッシ
ング申込みサービス機能がTIBINFOとして示され
ている。このTIBINFO インターフェイスは、2
つのライブラリィより成る。最初のライブラリィは、デ
ータの需要者に対するTIBINFO CONSUME
と呼ばれる。第2のライブラリィはデータ供給者に対す
るTIBINFO PUBLISHと呼ばれる。あるア
プリケーションは、それが消費需要者か、供給者か、あ
るいは両方であるかに応じて、一方のライブラリィを含
む。アプリケーションは需要者と供給者を同時に兼ねる
ことができる。
【0113】次に、本発明のインターフェイスとアプリ
ケーション、およびそれらのアプリケーションを結合す
るネットワークの関係のブロック図が示されている図1
5を参照する。第1図におけるブロックの参照番号と同
じものがつけられているブロックは、第1図における対
応するブロックに類似の機能を有する。図15のブロッ
ク図は、好適な実施例のプロセスアーテキクチャを示す
。図15に与えられているプロセスアーテキクチャに対
応するソフトウェアアーテキクチャが、図16にブロッ
クで示されている。
【0114】図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を共用する。
【0115】種々のホストプロセッサにおける通信デー
モンは、共同して、マシンの間で確実かつ効率的な通信
を行えるようにする。主題をアドレスされたデータに対
しては、デーモンは、主題によりメッセージを抽出する
ために低レベルのシステムサポートを行うことにより、
それの効率的な送信を助ける。通信デーモンは、エラー
対策、負荷の平均化、ネットワーク効率の改善のため、
種々の通信プロトコルを実行する。
【0116】通信ライブラリィ30Aは、各1組のアプ
リケーション向きの通信に関連する数多くの機能を行う
。例えば、通信ライブラリィは、ASCII主題値より
も簡潔で、検査が容易である効率的なメッセージヘッダ
へ主題を翻訳する。通信ライブラリィは、特定のサービ
ス例のための目標にされた要求にサービス要求をマップ
し、それらの状態を監視する。
【0117】本発明の通信インターフェイスのデータ交
換コンポーネントは、「フォームライブラリィ」とよば
れるライブラリィとして実現される。このライブラリィ
はクライエントアプリケーションへ結合され、データコ
ンポーネントの全ての中核機能を提供する。フォームラ
イブラリィは、通信ライブラリィとは独立に結合でき、
それの動作のために通信デーモン30Bを要求すること
はない。
【0118】通信デーモンは、2つの役割を果す。サー
ビス例が主題と、この主題に関するデータを送るネット
ワークアドレスを知らされる、上記した主題に基づくア
ドレッシングモードにおいては、通信デーモン30Bは
データを送るべきネットワークアドレスを所有する。こ
のデータは、デーモンによりクライエントアプリケーシ
ョンに結びつけられている通信ライブラリィへ送られる
。そのクライエントアプリケーションは、データをクラ
イエントアプリケーション中の適切な呼戻しルーチンへ
送る。他のモードにおいては、データを供給するサービ
ス例が同時通信モードにあって、多くの異なる主題につ
いてのデータをネットワークにおける全てのデーモンへ
呼出す時に、通信デーモンはネットワーク14から来る
データを主題により選別する。
【0119】図15におけるブロック231、233、
235は、通信ライブラリィ30Aとフォームライブラ
リィ32中のプログラムにより実現されるインターフェ
イス機能を表わす。TIBINFOインターフェイス2
33は、申込みコールとして知られている通信パラダイ
ム(paradigm)により、主題に基づくアドレッ
シングサービスを行う。このパラダイムにおいては、デ
ータ需要者はサービスまたは主題を申込み、需要者が申
込みを明確に終らせる(または障害が起こる)まで、サ
ービスまたは主題についてのデータの連続した流れを受
ける。申込みパラダイムは、株価のような動的に変化す
る値を監視するリアルタイムアプリケーションに適する
。これとは対称的に、従来の要求/応答通信(requ
est/reply communication)は
、データの需要者が変化を学ぶデータ提供者を「選ぶ」
ことを要するから、そのようなリアルタイムアプリケー
ションにはあまり適さない。
【0120】インターフェイス235は、1組のプロト
コルと、図16のマーケットデータ申込みサービス(M
DSS)サブコンポーネント234を含むサービスとに
対するプログラムインターフェイスを構成する。このサ
ービス統制については後で詳しく説明する。RMDPイ
ンターフェイス235は、サービスアドレスプロトコル
であって、データを交換するサービスの名称についてデ
ータを知ることをクライエントアプリケーションに求め
る。
【0121】図16に、システムのソフトウェアアーキ
テクチャを示す。分散型通信コンポーネント232は種
々のプロトコルエンジン237、239と241を含ん
でいる。プロトコルエンジンは、サービス統制プロトコ
ルをある特定のネットワークプロトコルにインタフェー
スする通信プロトコルをカプセル化する。各プロトコル
エンジンは、信頼性も効率も高い通信網を確立するのに
要するあらゆるロジックをカプセル化する。各プロトコ
ルエンジンは、特定のネットワーク特性と特定の利用分
野の特性に合うように調整される。プロトコルエンジン
237、239、241は、アプリケーション16や1
8のようなユーザーアプリケーションのために汎用通信
インタフェースを提供する。このことにより、これらア
プリケーション(プログラマにより書かれる)が特定の
ネットワーク上で通信するために必要なそのネットワー
クの知識とトランスポート層プロトコルの知識が必要と
されなくなる。ネットワークプロトコルの内のいずれか
、またはネットワーク構成が、例えば新規にローカルエ
リアネットワークやゲートウェイが追加されたりして変
更されたり、またはトランスポート層プロトコルDEC
NETからTCP/IPへ変更されても、アプリケーシ
ョンプログラムの変更は不要である。上記のような変更
はプロトコルエンジンを追加、削除、また修正すること
により、プロトコルが上記変更を許容できるようにする
ことが可能である。これらプロトコルエンジンは共用で
きるので、全アプリケーションソフトを替えるより全プ
ロトコルエンジンを替える方が容易である。
【0122】プロトコルエンジンによりアプリケーショ
ンにはプロトコル透明性と通信路透明性が与えられ、し
たがってアプリケーションにてこれら詳細を扱うコード
を不要とする。また、これらのプロトコルエンジンによ
りネットワークインタフェースの透明性が与えらる。
【0123】プロトコルエンジンにより信頼性のある通
信プロトコルが実現でき、実施例のいくつかでは付加価
値のあるサービスを提供できる。付加価値のあるサービ
スとは、例えば、高信頼性放送や高信頼性二点間通信や
、また効率を維持するために状況により必要となれば通
信を高信頼性放送より高信頼性二点間通信に切り替えら
れるような多重放送通信がある。更に、二つ以上のアプ
リケーションがある主題に関するデータを要求する場合
で、要求状態にある第一のアプリケーション向けられて
いるデータを受信し、それをその他の要求状態にあるア
プリケーションに向けるようなとき、プロトコルエンジ
ンは放送の操作性を高める。従来の放送用ソフトウェア
はこの能力に欠ける。
【0124】プロトコルエンジンによりネットワーク上
で受信されたメッセージを主題ごとにフィルタにかける
ことにより効率の良い主題に基づいたアドレス指定を実
現できる。この方法により要求された主題に関するデー
タのみが要求状態にあるアプリケーションのコールバッ
クルーチンに乗せられる。好ましい実施例としては、プ
ロデューサのアプリケーションかまたはサービス事例に
接続されたプロトコルエンジンにより、データを主題に
よりフィルタにかけた後にネットワークに転送されると
、通信リンクの受信側ではネットワークのバンド幅や入
出力プロセッサのバンド幅やオーバヘッド処理が節約で
きる。
【0125】分散型通信コンポーネント232(以後D
CCと呼称)は図16にていくつかの重要な目的にかな
うように構成されている。第一に、DCCは単純で安定
性があり、均質な通信モデルを提供する。これにより、
いくつかのメリットが得られる。プログラマは分散型環
境を始めとして、目的処理の探索、この目的処理との通
信の達成、予想しなかった何かが発生した場合の原因の
追求といった煩雑さから逃れられる。これらの全てはプ
ログラマによってではなく有能な通信インフラストラク
チャにより最適に達成できる。第二に、DCCによりプ
ログラマの生産性を増すことはもとより、新規特性の統
合を単純化により開発に要する時間を短縮できる。最後
に、DCCによれば他のコンポーネントのネットワーク
上での物流を知るために果たされるアプリケーションに
対する負担を取り除くことにより、構成の自由度が大き
く高められる。このことは特定の物理構成にコードでの
プログラマによる依存性を無くし、したがって後に予想
される再構成を複雑化することも無くなる。
【0126】もう一つの重要な目的は、重要なシステム
構造のカプセル化により移植性を得ることである。顧客
アプリケーションが、変更されているかも知れないトラ
ンスポートとアクセスプロトコルから隔てられているた
め、新規ハードウェアやソフトウェア環境に移行する場
合はこの移植性が重要となる。システム(DCC)の小
部分に必要とされる変更を分離することにより、アプリ
ケーションは実質的に変更せずに移植でき、したがって
、このアプリケーションソフトウェアに対する投資は守
られる。
【0127】TCP/IPやOSIといった標準プロト
コルスーツでよりコストのかからない“非結合”トラン
スポートプロトコルによりコード化されているので、D
CCは効率化を促進する。DCCはプロトコルでの最も
コストを必要とする問題、即ち、データ“コピー”操作
の拡散を防ぐような構成となっている。
【0128】DCCは販売側により供給される基本サー
ビスの上にサービスの層を実現してこれらの目的を達成
する。DCCによれば、信頼性のあるデータ転送やフロ
ー制御メカニズムのような基本機能を作り直さなくても
、どのオペレーティングシステムの特異性からもアプリ
ケーションは逃れられる。その例として、MS−DOS
環境でのハードウェア指向のインタフェースやUNIX
のファイル記述子のプロセス当たりの限度がある。多数
のハードウェアやソフトウェア環境に簡単に移植できる
一つの統一した通話料を提供することにより、DCCは
上記目的を可能としている。
【0129】DCCは、サービス統制プロトコルが必要
とする種々の相互作用パラダイムや耐故障性についての
要求事項や性能上の要求事項をサポートするためいくつ
かの異なった送信プロトコルを実行している。より興味
があるプロトコルの二つは、高信頼性放送とインテリジ
ェント多重放送プロトコルである。
【0130】標準の放送プロトコルは信頼性が低く、メ
ッセージ喪失を検出することができない。DCC高信頼
性放送プロトコルによれば、全操作ホストが各放送メッ
セージを受信するか、またはメッセージの喪失を検出で
きることが保証される。多数のいわゆる高信頼性放送プ
ロトコルと異なり、喪失したメッセージは限られた一定
周期で再送信される。
【0131】インテリジェント多重放送プロトコルは多
数の目的地に対して信頼性のあるデータストリームを提
供する。このプロトコルの新規性はネットワークとプロ
セッサ負荷を最適化するために二点間通信より放送通信
にダイナミックに切替え可能ということにある。二点間
通信より放送(またはその反対)への切替えは高次レベ
ルのプロトコルまで透過的である。このトランスポート
プロトコルにより、二点間通信のみ、または放送のみを
使用する場合より、より多数のユーザーをサポートでき
る。このプロトコルはDCCにより他のプロトコルの上
に構築できる。現在のところ、全DCCプロトコルは、
例えばメッセージ(これは他の多くのプロトコルと対照
的であるが)のようなデータのみを、離散的な単位で交
換している。DCCは単一のプロセスに基づくメッセー
ジをその転送順で受信する。
【0132】DCCはまたメッセージ喪失が発生した場
合再転送をサポートするような耐故障性メッセージ転送
プロトコルを含む。DCCソフトウェアはメッセージ伝
達につき“多くて一度”のセマンティックスを保証し、
また“ちょうど一度”のセマンティックスを追求してい
る。
【0133】DCCはアプリケーションのプログラマに
より使用される目的でインタフェースを表示はしない。
【0134】離散型コンポーネント232はサービス統
制234、236、238に接続される。サービス統制
234はマーケットデータ加入サービスと呼ばれる機能
を有する。このプロトコルによりデータの消費者は、個
々のデータのソースの故障に関して耐故障性のあるデー
タの一連の流れを受信することができる。このプロトコ
ルスーツは負荷バランスと権利付与方針を管理する。M
DSSサービス統制は、このサービス統制をRMDPイ
ンタフェースで要求するアプリケーションが要求された
データを提供するのはそのサービスであるということを
知らなければならないという意味ではサービス指向であ
るといえる。MDSSサービス統制はしかしながら、あ
る主題に関してのデータストリームがMDSSサービス
統制により接続されたアプリケーションに伝達されると
いう意味では、主題アドレス加入サービス(SASS)
サービス統制によって実行される加入通信パラダイムを
サポートしている。
【0135】MDSSサービス統制によりデータ消費者
アプリケーションは各データのソースの故障に対して耐
故障性のある一連のデータストリームを受信できる。こ
のプロトコルスーツ234はまた、負荷バランスと権利
付与方針の管理の為のメカニズムを提供する。すなわち
、ユーザーあるいはアプリケーションのアクセス特権が
データ消費者が特定のサービスからデータを得る権利を
有することを保証するようにチェックされる。
【0136】二つの特性により、MDSSサービス統制
は代表的な顧客サーバプロトコルと異なっている。第一
に、加入ははっきりとサポートされていて、したがって
要求の値に対する変更は自動的に要求状態にあるアプリ
ケーションに伝達される。第二に、顧客アプリケーショ
ンはある特定のサービスを要求するか加入する(これは
ある特定のサーバと反対であり、またある特定の主題と
も反対である)。そしてMDSSサービス統制は顧客ア
プリケーションの要求を利用可能なサーバに転送する。 MDSSサービス統制はまたサーバの連結状態を監視し
、もし連結が故障すれば必要なら他のサーバを利用して
再連結を行う。
【0137】MDSSサービス統制は次に述べる重要な
目的を実行する。
【0138】耐故障性は、二重または三重のネットワー
クをサポートしかつ、プロトコルエンジンで実行された
高信頼性放送のような耐故障送信プロトコルを使用する
ことにより冗長サービスの間を自動切替するようなプロ
グラムコードにより実現できる。サーバの故障後の復帰
は自動で行われる。
【0139】負荷バランスはある特定のサービスのため
に稼働している全てのサーバを通じてデータ要求の負荷
がバランス良く配分されるようにして実行される。
【0140】負荷はあるサーバが故障したりまた故障よ
り復帰したりした場合は自動的に再度バランス調整され
る。更に、 MDSSは、外部通信ライン上でのバンド
幅やページキャシュにある“スロット”のような少ない
資源を有効に利用するサーバ配分方針をサポートしてい
る。
【0141】ネットワーク効率化は図15に示されてい
るように、分散型通信デーモン30Bによるインテリジ
ェント多重放送プロトコルにより実行される。インテリ
ジェント多重放送は、必要なときには二点間通信プロト
コルから放送通信プロトコルへ自動的かつダイナミック
な切替えをすることにより、ネットワークと入出力プロ
セッサのバンド幅の資源を有効に利用している。例えば
、テレレートページ8データは初めの五つの加入者に二
点間分配による供給がなされ、そして第六の加入者が出
てきたとき全加入者を放送分配に切り替えられる。MD
SSサービス統制によれば、サーバの探索、通信の接続
、故障にたいする対応、故障よりの回復、負荷バランス
を含む、分散システムをプログラムする上での煩雑さの
大半を封じるような簡単で使用し易いアプリケーション
開発インタフェースを提供する。MDSSサービス統制
のコアとなる機能は取得、停止、駆動である。顧客アプ
リケーションより“取得”呼出は指定されたサーバへの
耐故障性のある連結を行い、指定ページか指定データ要
素の現在値を取得する。連結は、指定ページに対する更
新が自動的に顧客アプリケーションに転送されるように
加入に基づいたものである。“停止”は加入を停止する
。“駆動”は加入を変更することができるかも知れない
サービスに変更子を送信する。
【0142】MDSSサービス統制はページ指向のサー
ビスをサポートするように最適化されてはいるが、どの
ようなタイプのデータの分配をもサポート可能である。
【0143】MSA、236で示されているサービス統
制は異なった機能を有する。SASS,238で示され
ているサービス統制は主題に基づいたアドレス加入サー
ビスをサポートする。
【0144】主題に基づいたアドレス指定とSASSサ
ービス統制(以後SASS)によりそれを実行する背後
にある基本思想は明快である。アプリケーションがデー
タを要求しているときはいつでも、特にダイナミックに
変動している値に関するデータの場合は、アプリケーシ
ョンは適切な主題を指定することによりそれに加入する
。SASSはこの主題に関する情報を提供するような一
つ以上のサービス事例に対する要求をマップ化する。 SASSは、選択されたサービスを提供するサービサー
かまたはサーバとの通信に必要とされる適切な一つ以上
のプロトコルエンジンによって、全ての選択されたサー
ビスへの適切なる連結を可能とする。
【0145】主題に基づいたアドレス指定をすることに
より、情報の消費者は、情報を作成しているアプリケー
ションとは無関係にな方法で情報を要求できる。したが
って、情報を作成しているアプリケーションが改訂され
たりまたは新しいアプリケーションと取り替えられたり
しても、情報消費者に不都合を起こさないようにして同
じ情報を提供し得る。
【0146】主題に基づいたアドレス指定は分散型アプ
リケーションをプログラムする場合の煩雑さを次の三点
において大幅に軽減する。第一に、アプリケーションは
主題により情報を要求するが、これはサーバあるいはサ
ービスにより要求する方法と対照的である。この高次の
レベルで情報を指定すると、希望情報を提供するサービ
ス事例の現ネットワークアドレスを知る必要があるとい
うアプリケーションに果たされた負荷が取り除かれる。 更に、適切なサービスよりデータを抽出する為の通信プ
ロトコルの詳細を知る必要があるということと、ネット
ワークを横断して連絡するトランスポートプロトコルの
詳細を知る必要があるということによるアプリケーショ
ンにかかった負荷が軽減される。例えば、公平価格のた
め、IDNからTicker  3 へ変更するといっ
た、サービス提供者側における変更が生じたとき、顧客
アプリケーションがプログラム上の変更をする必要性が
なくなる。全データは顧客アプリケーションへ単一かつ
一様なインタフェースにより提供される。三つの異なっ
たサービスからの情報を必要とする顧客アプリケーショ
ンを作成するプログラマは従来の通信モデルにおけるよ
うに三様のサービス通信プロトコルを知る必要はない。 最後に、SASSは適切なサービス事例検索や正しい通
信連結といった困難かつ間違い易い手順の多くを自動化
する。
【0147】SASSサービス統制は、ユーザーインタ
フェースにより呼び出される三つの基本機能を提供する
【0148】“加入”は一つ以上の主題につきリアルタ
イムで消費者が情報を要求したとき、呼び出される機能
である。SASSサービス統制は提示された主題に合致
する全データが消費者アプリケーションに確かに転送さ
れるように必要とあれば如何なる通信連結をも組み立て
る。データが非同期式(割込み作動)か同期式かを消費
者は指定できる。
【0149】プロデューサ側のサービスへは、そのサー
ビスの登録手順が設定完了時点で、加入が連絡される。 登録手順はSASSによりなされ、ユーザーには見えな
い。“取消”は“加入”の反対である。この機能が呼び
出されると、SASSは専用通信チャンネルを閉鎖し、
もし登録状態が存在すればプロデューサ側のサービスへ
取消を連絡する。
【0150】“受信”機能と“コールバック”機能は、
それにより加入者要望の情報に合致するメッセージをア
プリケーションが受信できるような機能に関連する。コ
ールバックは非同期式であり、イベント作動のプログラ
ム方式をサポートしている。この方式はリアルタイムで
のデータ交換を必要とするアプリケーションに適してい
る。受信機能はメッセージ受信用の従来の同期式インタ
フェースをサポートしている。
【0151】データ作成者用に補足機能が備わっている
。また、アプリケーションはデータの作成者であり同時
にデータの消費者でも有り得る。
【0152】図17では本発明の基づく考えが有益に取
り入れられている、代表的なコンピュータネットワーク
が示されている。このコンピュータネットワークはロー
カルエリアネットワーク(以後LAN)302によりフ
ァイルサーバ304に接続されているヒューストンの第
一ホストCPU300とゲートウェイネットワーク相互
接続回路306を含む。ゲートウェイ回路306はLA
N302を広域ネットワーク(以後WAN)308に接
続している。WAN308はホスト300を、ロンドン
からのQuotronサービスとパリからのMarke
tfeed  2000サービスをそれぞれ提供する二
つのサーバ310と312に接続している。WANはま
たホスト300をジュネーブにある第二のホストCPU
314に接続し、ジュネーブのサーバ316は第二のL
AN318によりテレレートサービスを提供している。 ダムターミナル320もまたLAN318へ接続されて
いる。
【0153】一般にはホスト300と314はマルチタ
スクのマシンであるが、またDOSやPC−DOSのオ
ペレーティングシステムを走らせることのできるコンピ
ュータのような単一処理CPUでもある。TIB通信イ
ンタフェースソフトウェアはUNIXに準拠したマルチ
タスクマシン用にポートが構成されている。
【0154】本発明に基づく考えをDOSかまたは他の
シングルタスク環境に適応させるためには、処理アーキ
テクチャのTIB通信デーモン30Bは、オペレーティ
ングシステムからアプリケーションの一つが加入してい
る主題に関連するネットワーク上でメッセージが受信さ
れたという連絡を受信すると直ちに呼び出される、すな
わち、開始されるような割込み作動処理が可能なように
構成されていることを必要とする。
【0155】システムの残りの構成要素との間でデータ
を交換できるに十分な互換性を有する場合に限り、LA
N302、308、WAN308、ゲートウェイ306
のおのおのはどの従来の構造とプロトコルを有していて
も良いし、将来開発される新たな構造とプロトコルを有
していても良い。ネットワークに使用される構造とプロ
トコルの代表的な例としてはTCP/IP、DECNE
T、ETHERNET、トークンリング、ARPANE
Tと他のディジタルパックまたはいずれか一方、または
ハードワイヤかマイク波か衛星送信メディアを使用した
高速プライベートラインのディジタルシステムかアナロ
グシステムがある。X.1、X.2、X.3、X.20
、X.21、X.24、X.28、X.29、X.25
、X.75などの種々のCCITTの勧告はスピード、
ユーザーのオプション、種々のインタフェーススタンダ
ード、スタート/ストップモードターミナルハンドリン
グ、同期ターミナル用のマルチプレックスインタフェー
ス、インタフェース回路の定義、パッケットネットワー
クの相互接続を提案していて、これら全ては参考のため
ここに添付されている。コンピュータネットワークアー
キテクチャとプロトコルの詳細な説明は特別号IEEE
通信に関するトランザクション、1980年4月Vol
.COM−28にあり、参考のためにここに添付されて
いる。大半のディジタルデータ通信は一文字当たりビッ
トの数とそのビットのシーケンスと表現される文字によ
りなされ、0のシーケンスと1のシーケンスはコードを
定義している各文字に対応する。最も、一般的なコード
はU.S.ASCIIとして知られる国際アルファベッ
トNo.5である。他のコードもまた使用可能である。 コードのタイプは本発明にとっては重要ではない。
【0156】コードの転送にて、受信点と送信点間の同
期を維持するために一般に使用されている二つの方法が
ある。スタート/ストップ転送にては文字と文字との間
隔は常に1の信号であり、信号0のビットの送信は受信
ターミナルへ文字がスタートしたことを合図することに
なる。データビットはスタートビットに続き、さらにそ
の後にストップビットが続く。ストップパルスは文字と
文字の間の信号と同じであり、ターミナルの仕様に基づ
く最短のパルス長となる。同期式ではタイミングを保持
するために、文字が転送されない間隔でも同期アイドル
パターンで一様のレートでビットは送り出される。同期
式は高速度送信に利用される。
【0157】ディジタルコンピュータネットワーク通信
でプロトコルという用語は通信を作動するための標準的
な手順を意味する。目的は装置と通信チャンネルの端末
でのインタフェースの処理を統合することにある。プロ
トコルはいくつかのレベルで適用できると思われる。国
際標準化機構(ISO)は標準プロトコルの開発の指針
となる七つのレベルを有するオープンシステム相互接続
の参考モデルを開発した。この7レベルの標準は以後I
SOモデルと呼称され、その機能を次に示す。 (1)アプリケーション:        アプリケー
ション間の通信ができなければならない。プロトコルは
エンドユーザーのニーズを満たすこと。
【0158】(2)プレゼンテーション:      
アプリケーションプログラムにより使用できるように適
切な形に構成されたデータを提示できること。アプリケ
ーション層が交換のデータの意味が解釈可能なように、
アプリケーション層により選択できる複数のサービスが
提供されること。
【0159】(3)セション:           
     プレゼンテーション項目と制御データ交換、
すなわちダイアログ制御の間の関係を確立し設定する。
【0160】(4)トランスポート:        
  ネットワークより独立した透過性のあるデータ転送
を提供する。信頼性があり費用有効性のあるデータ転送
が達成されるような細分化された方法へセション層が係
わる必要をなくする。
【0161】(5)ネットワーク:         
   ネットワークより独立したルーチンとスイッチン
グサービスを提供する。
【0162】(6)データリンク:         
   ネットワーク間でデータリンクを構成したり、維
持したり、解除したりするための機能的かつ手順的な手
段を提供することによりリンク上にて故障なしのデータ
転送を可能とすること。
【0163】(7)物理的項目:          
    データリンク間のデータ回路のような物理的な
接続を構成したり、維持したり、解除したりするための
機械的、電気的、機能的、手順的特性を示す。
【0164】従来より最も一般的なあるデータリンクプ
ロトコルはデータに交換をするために文字か文字の組合
せを使用する。また、ANSIのAdvanced  
Data  Communication  Cont
rol  Procedureとその部分集合などの他
のプロトコルはリンク制御をするためにメッセージの予
め決められた位置にビットのシーケンスを用いている。
【0165】パケットネットワークは60年代半ばの回
路スイッチやメッセージスイッチデータネットワークで
一般的であったよりももっと効率的なネットワーク装置
の使用を促すために開発された。回路スイッチネットワ
ークでは一つのチャンネルはコールの間はずっと割り当
てられた。メッセージスイッチネットワークではメッセ
ージかあるいはシリアルメッセージの一部分は、もし通
信路(ループかトランク)が利用可能なら、次のスイッ
チに送信された。もしそうでなければ、メッセージは通
信路が空くまで記憶された。メッセージスイッチ間のト
ランクの使用は時として非常に効率を向上させた。多数
の回路スイッチのアプリケーションではしかし、回路が
使用されている時間のほんの一部のみの期間しかデータ
は送信されなかった。装置の有効利用を目的とし、また
そのほかの理由にもより、パケットネットワークが出現
した。
【0166】パケットネットワークではホストやターミ
ナルから他のホストやターミナルへのメッセージはある
特定の長さ、普通128バイト、のパケットに分割され
る。これらパケットは発信点より目的地点に個別に送信
される。各パケットは、そのパケットを処理するのに必
要な情報をネットワークへ提供するヘッダを含む。一般
的には、パケットは少なくともソースと目的地のネット
ワークのアドレスを含み、パケット長といったその他の
データフィールドを含むこともある。一つのソースのア
イドル時間が他のソースに利用できるように、一ターミ
ナルから他のターミナルへ発信されたパケットは、他の
ユーザーにより彼らの目的地へ発信されたパケット間に
装置上にて交互配置される。種々のネットワークコンテ
ンション解決プロトコルが、同じ時、同じチャンネル上
でパケットを送信しようとする二つ以上の目的地を持つ
ネットワークの制御を仲裁するためにある。あるプロト
コルは物理的に多重チャンネルを時分割か周波数マルチ
プレックスにより使用している。
【0167】論理チャンネルの使用により同じ物理的な
インタフェース回路が二つ以上のターミナルまたはコン
ピュータとともに動作させられる。あるどの瞬間をでみ
ても、各論理チャンネルはある受信アドレスとの通信に
使用されている;各パケットはそのヘッダ内に論理チャ
ンネルの識別項を含み、物理的なインターフェース回路
上で種々の論理チャンネルの種々のパケットが交互配置
されている。
【0168】目的地ではメッセージは受信アドレス処理
にかけられる前に再構成されフォーマット化される。一
般に、ネットワークはその内部にデータの動きを制御す
るための内部プロトコルを有する。
【0169】ネットワークの内部スピードは一般に、ネ
ットワークに接続されているどのターミナルやノードの
スピードよりも早い。
【0170】メッセージを扱う一般によく使用されてい
る方法が三つある。“データグラム”は発信元から目的
地へ発信される片方向メッセージである。データグラム
は独立して転送され、必ずしも発信順には着信しない。 転送か非転送かの通知もされ得る。“バーチャルコール
”ではパケットはネットワークの二人のユーザーで交換
される;目的地ではパケットは発信された順番に受信ア
ドレスプロセスにかけられる。“相手固定接続”は一つ
のネットワーク上で二人のユーザー間のパケットの交換
をする。各ユーザーは、ネットワークの提供者の準備に
より、論理チャンネルを割当て、相手ユーザーとパケッ
トの交換を行う。チャンネルの構成や清掃などは不要で
ある。
【0171】ある種のパケットネットワークは、ネット
ワークに含まれるパケットアセンブラとパケット逆アセ
ンブラによりパケット内のメッセージをフォーマット化
する内部機能を有さないターミナルをサポートする。
【0172】米国における初期のパケットネットワーク
はARPNETで、多数の大学や政府研究機関でターミ
ナルとホストコンピュータを接続するために組み上げら
れた。その目的は一つの場所でのコンピュータユーザー
がその他の場所にあり、またたいてい異なったメーカー
のコンピュータにあるデータやプログラムを使用するこ
とにあった。ネットワークへのアクセスは、各場所にあ
り、ホストコンピュータに接続されているインタフェー
スメッセージプロセッサ(IMP)と他の場所にあるI
MPを使用することによりできる。IMPは相手のIM
Pへは直接は接続されていない。発信IMPに直接接続
されていない目的IMPに配信されるパケットは目的処
理に到達するまで中間IMPで扱われる。ホストが存在
しない場所ではダムターミナルにアクセスをするためタ
ーミナルインタフェースプロセッサが使用される。
【0173】他のあるパケットネットワークは世界的に
構築されていて、たいていバーチャルコールモードで作
動している。
【0174】初期のパケットネットワークでは、メッセ
ージの各パケットのルーティングは独立である。各パケ
ットは目的地のネットワークアドレスと目的地にて適切
な順序でパケットを配置できるように順序番号をヘッダ
に含む。もっと新しく開発されたネットワークは“仮想
回線”構造と“仮想回線”プロトコルを使用している。 仮想回線はデータの発信初めに設定され、そのデータ発
信の全てのパケットにつきルーティング情報を含む。次
に続くパケットは仮想回線の表示をそのヘッダに含む。 あるネットワークでは、ルートの選択はネットワーク上
での全てのノードよりまた全てのノードへの遅延を測定
した結果に基づいている。
【0175】また、ほかのネットワークの構造において
、ネットワーク上のノードは他のあるノードまたは他の
全てのノードにたいして、二重または三重の冗長なルー
トで接続されている。Dialog、Tymshare
、Telenetといったネットワークでは相互接続に
は公衆電話システムが使用され、アナログの通信チャン
ネルとディジタルデータをアナログデータに変換するた
めのモデムが使用されている。
【0176】WANのような他のネットワーク構造では
、マイクロ波と長距離通信のための地上局に接続された
衛星の両者またはいずれか一方、ローカルエリアネット
ワークかローカル着信のための公衆電話システムが利用
されている。
【0177】種々のネットワークの構造とプロトコルが
使用されている。更に、ネットワークとトランスポート
プロトコル、ネットワークインタフェースカード、ネッ
トワーク構造、ホストコンピュータとターミナル、サー
バプロトコルとトランスポート/ネットワーク層ソフト
ウェアの新たなデザインが次々に出現している。これは
ネットワークの設計と操作において不変であるべきこと
が絶えず変わっているということを意味する。指定した
タイプのデータが得られるネットワークのアドレスやこ
のデータを得るためのアクセスプロトコルは絶えず変わ
っている。本発明の通信インタフェースソフトウェアの
目的はアプリケーションプログラムを作成するプログラ
マが全ネットワーク、トランスポートプロトコル、ネッ
トワークアドレス、アクセスプロトコルおよび特定の主
題に関するデータを提供しているサービスの知識を修得
する必要性をなくしている。本発明のインタフェースソ
フトウェアにより変わり行く煩雑さを全てカプセル化し
モジュール化することによって、アプリケーションプロ
グラムへの投資が、ネットワークトポロジーやプロトコ
ル依存性がアプリケーションにプログラムされないよう
にすることで、保護している。このようにして、ネット
ワークに何か変更があっても、再プログラムしたり、ま
た全プログラムを廃棄したりする必要がなくなる。
【0178】これら目的は本発明の教えるところに従っ
て、三層構造のアーキテクチャ(以後TIBソフトウェ
アと呼称)を有するネットワーク通信ソフトウェアによ
り実現できる。図17に示されるように、これら三層は
情報層、サービス層、分散型通信層である。各アプリケ
ーションプログラムはコンパイルリンク処理の間に情報
層とサービス層の自身のコピーにリンクされる。コンパ
イルリンク処理はアプリケーションプログラムのソース
コードを機械可読オブジェクトコードに変換する動作で
ある。例えば、アプリケーションプログラム1、340
は本発明のソフトウェアの層の自身のコピーへ直接リン
クされ、すなわち、情報層342とサービス層344へ
である。同様に、アプリケーション2、346はそれ自
身のコピーである情報層348とサービス層350へリ
ンクされる。この二つのアプリケーションは分散型通信
層352と呼ばれる本発明のソフトウェアの第三層を共
有する。一般的には、マルチタスクマシンで同時に複数
のアプリケーションを走らせるが、非マルチタスク環境
では割込みドライバとして作動するノードにつきただ一
つの分散型通信層しかない(ここでノードはネットワー
クに接続されているどんなコンピュータ、ターミナル、
サーバであっても良い)。
【0179】図17の仮想ネットワークにおけるジュネ
ーブの第二のホスト314はアプリケーションプログラ
ム3、354を走らせている。このアプリケーションは
そのコピーである情報層356とサービス層358へリ
ンクされる。ホスト2で同時に走っている分散型通信層
360はアプリケーション354により使用されている
。サーバ310、312、316の各々は三層TIBソ
フトウェアのデータ作成バージョンを有している。 “加入”機能を実行するTIBソフトウェアのデータ消
費者バージョンと“発行”機能を実行するデータ作成バ
ージョンがある。一つの処理(実行中のプログラムがU
NIX定義によるとき)がデータ消費とデータ発行の場
合は、それはプログラムのライブラリと、加入と発行機
能の両方を実行するTIBソフトウェアのためのインタ
フェース仕様を有している。ホストの300と314は
それぞれオペレーティングシステム370と372によ
り制御され、これらは異なっている。ホスト1とホスト
2は、サーバ310、312、316がそうであるよう
に、異なったメーカーのコンピュータでも良い。ホスト
1は共有メモリ374を有し、それによりアプリケーシ
ョン340と346は例えばUNIXパイプや他のプロ
セス間転送機構により通信できる。
【0180】本発明による考えを広義に解釈すれば、3
42のような情報層はTIBNFOインタフェース機能
や図15や図16にあるTIBソフトウェア通信ライブ
ラリ30Aの主題に基づくアドレス機能をカプセル化し
ている。TIBINFOインタフェースは下記ソフトウ
ェア仕様のセクション4にて定義される。TIBINF
Oはプログラムインタフェースを定義していて、そのイ
ンタフェースによりこの情報層にリンクされたアプリケ
ーションが主題アドレス加入サービス(SASS)コン
ポーネントのプロトコルとサービスを呼び出す。
【0181】図18は図15の処理アーキテクチャ、図
16のソフトウェアアーキテクチャ、図17におけるT
IBソフトウェアの三層構造の相互関係を示す。図15
で通信ライブラリ30Aはアプリケーションライブラリ
16にリンクされていて、アプリケーションライブラリ
16はRMDPとTIBINFOインタフェースにより
呼び出される多重機能を提供している。主題アドレス加
入サービスはコンポーネント内で30Aと30Bとして
示されている主題マッププログラムとサービス統制プロ
グラムにより提供される。このコンポーネント30A/
30Bはまたライブラリプログラムを含み、そのライブ
ラリプログラムはTIB通信デーモン30Bのプロトコ
ルエンジンプログラムをサポートすなわち、それと通信
し、それにデータを供給するような共通のインフラスト
ラクチャプログラムコードを提供する。
【0182】TIBINFOインタフェースはプログラ
ムインタフェースを提供するようになっていて、そのプ
ログラムインタフェースによりリンクされた顧客アプリ
ケーションはネットワーク上でデータ作成者により提供
されたデータを求めて、そのデータがあればどこでも、
主題アドレス加入を起動し、使用する。
【0183】RMDPインタフェースはプログラムイン
タフェースを提供し、そのプログラムインタフェースに
より加入が入力され、データがネットワーク上のサービ
スからリンクされた顧客アプリケーションにより受信さ
れる。このとき、顧客アプリケーションにとりこのデー
タを提供するサービスの名称は既知である。図15の通
信ライブラリ30Aはライブラリプログラムを支給する
が、そのライブラリプログラムはマーケットデータ加入
サービス(MDSS)を実行するためにリンクされた顧
客アプリケーションにより呼び出される。この機能は、
デーモンの適当なプロトコルエンジンの支援により、要
求データを供給する一つ以上のサーバへの高信頼性通信
チャンネルを設定し、サービス名称で要求された加入デ
ータを作成する。各サーバの故障は顧客には分からない
。MDSSは、適当なプロトコルエンジンを用いて同様
なサービスを提供する新たなサーバに自動的に切り替え
られるからである。MDSSはまた自動的にサーバ間の
バランスを調整し、誰がサービスにたいするアクセスを
得るかを制御する許可機能を実行する。インテリジェン
ト多重放送や高信頼性放送やデーモン30Bのプロトコ
ルエンジンといったDCCライブラリ30A/30Bの
高信頼性通信プロトコルはMDSSライブラリプログラ
ムにより呼び出される。更に詳しいことはTIB仕様の
セクション3に述べられている。
【0184】ある特定の主題に関する加入を実行し、そ
の主題にたいするデータを受信するために、加入処理側
での三層の各々で実行される処理のフローチャートは図
19と図20により示される。ステップ400はある特
定の主題に関するデータを求めるユーザーよりの要求を
受信する処理を示している。この要求は他の処理から、
または他のマシンより来ても良いし、あるいはいくつか
の実施例のオペレーティングシステムより来ても良い。 この例で目的に従い、要求はユーザーより図17におけ
るアプリケーション1に来ているとしている。
【0185】アプリケーション1(アプリケーション層
上でまたはISOモデルの層1上で)は図17で情報層
342へ“加入要求”を発信する。この処理は図19で
ステップ402で示される。この加入要求は、TIB−
INFOインタフェースを含むリンクされているライブ
ラリプログラム内の適当なライブラリプログラムを呼び
出すことによって、入力される。このサブルーチンの呼
出は、データが要求されている主題とポインタを、主題
に関するメッセージが受信されたとき情報層のTIB−
INFOライブラリプログラムが呼び出される要求処理
におけるコールバックルーチンに転送する。
【0186】情報層342は主題対サービス統制マップ
機能をカプセル化し、このマップ機能は要求処理とアー
キテクチャ上で切り離し機能を実行する。なお、この用
語は用語集で定義されている。図19のステップ404
と406と図17を参照すると、情報層にたいする入力
は主題であり、出力は図17でサービス層344上のサ
ービス統制に対する呼出である。情報層はTIB−IN
FOインタフェースと、主題対サービスマップに関連す
る図15におけるリンクされている通信ライブラリ30
Aの全ライブラリを含む。情報層はステップ404で示
されているように主題に関するデータを提供するサービ
スへの主題をマップ化し、これらサービスと通信する通
信プロトコルをカプセル化している一つ以上のサービス
統制に対するサービスをマップ化する。この情報層はサ
ービス統制と共同して、ステップ410で示されるよう
に“TIBチャンネル”を割り当てる。
【0187】“TIBチャンネル”は手紙の宛名での“
attention:Frank  Jones”とい
ったようなものである。このTIBチャンネルデータは
、そのTIBチャンネルにいかなる主題が割り当てられ
ていようと、その主題に関するデータを要求した処理へ
メッセージを転送する。各主題には加入が入力されたと
きTIBチャンネルが割り当てられる。加入処理、その
ネットワークアドレス、加入割当される主題、これら主
題に割り当てられるTIBチャンネルナンバーとの相互
関連を示す加入リストがある。このリストのデータはデ
ーモンにより使用されて、そのデーモンのポートアドレ
スにて受信されたメッセージを適当な要求処理に転送す
る。このリストはまたデータ発行者側でも使用されてい
て、要求処理が走っているマシンのポートアドレスに、
特定の主題が転送されるようになっている。サービスに
関連するTIBソフトウェアの通信層は特定の主題に関
するメッセージのパケットのヘッダにチャンネルナンバ
ーデータを、これらパケットがネットワーク上に発信さ
れない内に、書き込む。受信側ではヘッダのTIBチャ
ンネルデータはそのパケットの要求処理に適切に転送さ
れるように利用される。TIBチャンネル抽出とそれが
示すルート機能は図18のDCCライブラリ部30A/
30Bにより実行され、このDCCライブラリ部は各要
求処理にリンクされている。
【0188】そのようなサービスが二つあるとすると、
これらサービスはサービス層のサービス統制によりサー
バへマップ化され、それらサーバがステップ412で示
されるようにこれらサービスを提供する。
【0189】一実施例では情報層はステップ406で示
されるようにサービス層のサービス統制サブルーチンの
一つのみを選択し呼出す。サービス統制はステップ40
8で示されるように加入主題に対してTIBチャンネル
を走らせ割り当てる。主題に関するメッセージが到着し
たとき呼び出されるように、情報層からの呼出はまた情
報層のコールバックルーチンへポインタを転送する。
【0190】これに替わる実施例では、情報層は全サー
ビスとの通信リンクを設定するため、主題対サービス統
制マップ処理で明示された全てのサービス統制を呼び出
すこともできる。
【0191】いくつかの実施例では、代替サービスと代
替サーバの名称が選別されたサービス統制かまたは情報
層により直接分散型通信層に転送されて、代替通信リン
ク設定用に利用される。これにより、選択したサーバが
故障した場合やネットワークの処理能力を増すために同
時通信リンク設定をしたい場合、分散型通信層は他のサ
ーバへの代替通信リンクを設定できる。またこれらの実
施例では、要求処理はサービス層を直接呼び出せるし、
アプリケーションそれ自体にある主題対サービス統制マ
ップを実行することにより適当なサービス統制を呼び出
すことができる。代替サービスと代替サーバについての
データは図18のブロック30A/30BのDCCライ
ブラリのライブラリサブルーチンを呼び出して転送でき
る。DCCライブラリは代替についてのデータを走らせ
たり、記憶したりする。
【0192】上記に替わる実施例では、情報層はTIB
チャンネルを各主題に割り当てるか、またはサービス層
が、情報層との連携なしに単独で動作して、TIBチャ
ンネルを割り当ている。ステップ410は、サービス統
制が情報層と共同してTIBチャンネルナンバーを割り
当てているような実施例を示す。データ提供者処理によ
り発信されたメッセージは、メッセージヘッダ情報の部
分として含まれる割当られた主題チャンネルデータを有
する。
【0193】TIBチャンネルは目的をフィルタで選別
し、転送するため通信層(DCC)により使用される。 即ち、図15のデーモン30Bと図18のプロトコルエ
ンジン30Bは、主題のデータの加入があるようなヘッ
ダにて特定のTIBチャンネルデータを有するデーモン
のポートアドレスにメッセージがいつ到着するかを知っ
ている。デーモン処理は加入があるチャンネルを知って
いる。理由はこの情報がサービス層により通信層に発信
されるからである。デーモン30Bはオープンとなって
いる加入を有している全TIBチャンネルに関して、サ
ービス統制より受信したデータを記憶する。デーモンは
オープン加入を有する主題に関してのどんなメッセージ
をも、その主題に関してメッセージを加入させているポ
ートアドレスの処理に送る。デーモンは主題が何かは知
らないが、オープン加入を有するTIBチャンネルと入
力メッセージの主題間に整合があるということは知って
いる。
【0194】ホスト300のような図17のコンピュー
タネットワークに連結された各ノードは一つのネットワ
ークインタフェースカードと一つのポートアドレスを有
する。このポートアドレスには、同じホスト上で同時に
走る多重処理によりネットワークカードを多重化するた
め、あるネットワークでは“論理チャンネル”が割り当
てられている。これらポートアドレスも以後時にはネッ
トワークアドレスとして引用される。データがネットワ
ークアドレス間をどのように行き来するかは図17にお
ける層352のような通信層の責任となり、このような
通信層はオペレーティングシステム370と372に関
するトランスポート層、ネットワーク層、データリンク
層、物理層の機能を呼出し、またネットワークインタフ
ェースカード(図不指示)やゲートウェイ306やWA
N308にみられるようなネットワーク自身上にある他
の回路を呼出す。
【0195】サービス層、情報層、通信層はISOモデ
ル層の上部におかれていて、すなわち、これらはISO
モデルの層ではなしえないサービスを提供するか、また
はISOモデル層で実行されるサービスを補完するよう
な“付加価値”のあるサービスを提供する。
【0196】サービス層の目的は、この他にもあるが、
添付用語集で定義されているようにサービス切り離し機
能にある。サービス切り離し機能はサービスと通信を如
何にするかに関する詳細を提供してサーバのネットワー
クに関する所在をアプリケーションが知る必要性を無く
している。この機能を実行するには、サービス層は全サ
ーバに対する選択されたサービスをマップ化するプログ
ラムか機能を含み、これら全サーバはこのサービスを提
供し、それ選択する(図19でステップ412)もので
ある。サービス層はそしてネットワークを横断するため
に必要な通信手順とプロトコルをカプセル化するプロト
コルエンジンに対して選択されたサーバをマップ化する
。ネットワークを横断するとはすなわち、ネットワーク
上でこのサーバに達するためには通過する必要がある経
路ということを考慮せず一つのデータリンクを設定し、
どのタイプのマシンかを考慮せず、どのタイプのネット
ワークか、どのタイプのネットワークカードに接続され
ているか、そしてどのタイプのオペレーティングシステ
ムが走っているかに関係なく選択されたサーバと通信す
る。この処理はステップ414で示される。
【0197】代替実施例では、アプリケーションか加入
処理はそれ自身の主題に基づくアドレス指定を行い、そ
れ自身の通信プロトコルをカプセル化することによって
プロトコルエンジンを直接呼び出せる。他の代替実施例
では、ネットワークの処理能力を増すためか、あるいは
選択したサーバの故障の折りには他にすぐ切替えできる
ようにする為に、サービスを提供している全サーバを選
択し、通信層に同時にこれら全てとデータリンクを設定
するように要求する。
【0198】通常は選択されたサービスを提供する全サ
ービスは同一の通信プロトコルを使用していると思われ
るので、単一のサービス統制はそれら全てと通信可能で
ある。しかし同じサービスに関する異なった事例や同じ
主題に関するデータを提供している異なったサービスが
異なった通信プロトコルを使用していれば、本発明の教
えるところにより、サービス統制のサブクラスを指向す
る。この意味するところは、汎用の機能を実行するこの
サービス統制の全サブクラスにより共有され得るコード
を含む汎用サービス統制を情報層は呼出す;汎用機能と
は例えばこのサービスを提供する全サーバで同様になさ
れる加入や取消である。汎用サービス統制はサービスを
提供する異なったサーバの一つ以上に対する加入要求を
マップ化する。選択されたサーバに特有な通信手順をカ
プセル化しているサービス統制は、選択されたサーバに
加入データストリームの設定処理を完了させるため、呼
出を受け、実行される。
【0199】サービス層の出力は“次の主題のチャンネ
ル上で次のサーバかサービスにとり最も適当であると考
えられるどんな手段によっても通信リンクを形成する”
という意味で、通信層に対する要求である。サービス層
はまた要求主題に関するメッセージやパケットを取り扱
うサービス層コールバックルーチンへポインタを発信す
る。この処理はステップ416で示される。いくつかの
実施例では、要求主題に関するデータを供給しているサ
ービス処理を実行する全サーバのネットワークのアドレ
スはDCCライブラリプログラムに転送され、そこで、
選択されたサーバが暴走した場合に故障からの復帰を可
能とする高信頼性通信リンクで使用できるように記憶さ
れる。
【0200】ステップ418はオペレーティングシステ
ムにカプセル化されたトランスポート層プロトコルの選
択された機能を呼び出すことにより選択されたプロトコ
ルエンジンが要求データを設定するような処理を示す。 これらプロトコルは、ステップ420で示されるように
要求データリンクを設定し、サービスに記録するために
、ネットワーク上で、データリンク上で、また物理層上
で他の通信プロトコルを呼び出す。サービス層サービス
統制は通常、サービスにメッセージを送って、ステップ
422にあるようにサービスに対して、加入とこの主題
に割り当てられた主題チャンネルを連絡する。主題チャ
ンネルは情報サービスとサービスにリンクされているT
IBソフトウェアの通信層の両者かまたはいずれか一方
により認識される。このことにより、主題チャンネルデ
ータは対象とする主題に関する発信パケットのパケット
ヘッダに付加される。いくつかの実施例では、この加入
メッセージがデータフローを起動されるが、他の実施例
ではサーバに対するデータリンクが最初にできた時にデ
ータフローは起動される。
【0201】いくつかの実施例においては、単一の加入
によって多重サービスを呼出すことが必要となる場合も
あり、それにより情報層がその主題を多重サービス統制
に対してマッピングできるようにする。続いて、多重サ
ービスはその要求を多重プロトコルエンジンにマッピン
グし、多重プロトコルエンジンは同時に多重化サービス
へのデータリンクをセットアップする。
【0202】それに代わる他のいくつかの実施例にでは
、サービス統制がトランスポート層に直接対話し、現在
のネットワーク構成上での通信に必要なプロトコルをカ
プセル化する。これらの実施例では、サービス層は、情
報層にあるコールバックルーチンを呼び出す前に主題に
よって到来メッセージをフィルタリングすることができ
る。
【0203】小規模のネットワークにおいて、ある代替
実施例は、特定の主題へのネットワーク加入の要求に関
する放送を行うものである。ネットワークに連結したサ
ービスは、この放送を聞き、当該主題に関するメッセー
ジを放送網に同定されているポートアドレスに送る。こ
れらのメッセージは次いでポートアドレス上のDCC層
により、本明細書中に別途記載されている方法で要求プ
ロセスへ差し向けられる。
【0204】また別の実施例では、サービス層が次のよ
うな他の機能をも果たす。すなわち、一定のサービスに
対するアクセスの規制、ISOモデルのセション層(論
理的通信路設定層)の従来の意味におけるセション管理
、反復サービスおよびサーバの反復管理、サービスの故
障の際の故障/回復管理、分散管理、他方のサービス/
サーバのニーズを満たすことができるときに一方のサー
ビス/サーバのデータ要求に十分応えられないような不
公平を防ぐためのロード調整、安全なコード化通信をサ
ーバに提供する機密保護機能等である。上記の代替実施
例のうち特に重要なものは、サービス層においてサービ
ス回復機能をカプセル化する実施例である。これらの実
施例では、あるサーバが停止した場合、適切なサービス
統制の別の箇所にカプセル化されている同じデータを得
るための回復機能が働いてステップ424で記号化され
ているような代替サーバへの新たなデータリンクを確立
し直すようになっている。
【0205】より好ましい実施例では、サービス統制が
TIBチャンネルを主題に割り当て、アクセスするサー
バおよびサービス、使用するネットワークおよびネット
ワークプロトコルの特性といった観点から、また必要と
される信頼性の度合いの観点から使用すべきプロトコル
エンジンを選択する。
【0206】図15および図18のデーモン30Bには
、それぞれ異なる特性をもった多数の異なるプロトコル
エンジンを含ませることができる。例えば、ノーベル(
Nevell)ネットワークのインタフェースカードを
有して、ノーベルプロトコルを用いるノード間の二点間
方式通信用のプロトコルエンジンや、TCPプロトコル
およびUDPプロトコル、関連のネットワークインタフ
ェースカードを用いるノード間の二点間方式通信用のプ
ロトコルエンジンがある。また、信頼性の高い放送を用
いた高速データ発行者との通信用プロトコルエンジンや
、インテリジェントマルチキャスト(商標;Intel
ligent Multicast)プロトコルを用い
る二点間方式の通信用もしくは信頼性の高い放送用プロ
トコルエンジンがある。通信用プロトコルのオプション
に応じ、またサーバおよびサービスの種類に応じ、ある
いはまた望まれる信頼性のオプションに応じ、多数のプ
ロトコルエンジンが作成可能であり、さらに必要に応じ
ていつでもさらに多くのエンジンの追加が可能である。
【0207】さらに、サービス統制のあるものは、オペ
レーティングシステムや他のアプリケーションのような
同一のマシン上での他のプロセスとの通信用のプロシー
ジャであってもよいし、また端末を通じてのユーザーと
の直接通信用のプロシージャであってもよい。サービス
統制は新しい情報源との通信用にいつでも追加されうる
【0208】サービス統制は、加入要求を受けると、そ
の主題のための特別のTIBチャンネルを開放するか、
任意のTIBチャンネルを使用可能とする。
【0209】選択されたサービス統制あるいはサービス
統制群はDCCのライブラリプログラムを呼び出すこと
によって選択されたサービスとの通信が有効に行われる
ようにするための正しい特性をもつプロトコルエンジン
を選択する。DCCのライブラリプログラムは、新しい
加入やチャンネルデータで加入リストを更新し、メッセ
ージを共有メモリあるいはその他のプロセス間の転送機
構を経由して、選択されたプロトコルエンジンに送る。 ホストコンピュータに多重操作機能がない場合にはデー
モンが(その機能を肩代わりして)DCCのライブラリ
プログラムによって発生する干渉により作動するように
なる。選択されたプロトコルエンジンへのメッセージは
前述の通りに送られ、選択されたサーバの同定性も保持
される。プロトコルエンジンは、このサーバの同定性を
確認して、サーバのネットワークアドレスにマッピング
し、選択されたプロトコルエンジンにカプセル化されて
いる通信用プロトコルを実行し、データリンクを構成す
る。このプロトコルのあるものは、例えば、総括的なト
ランスポート層の放送プロトコルの信頼性を増したり、
あるいはインテリジェント多重放送機能を追加した付加
価値プロトコルである。この種の付加価値プロトコルに
ついて以下に説明する。このステップはステップ426
の番号で表されている。
【0210】分散型通信層352および360は、構成
切り離し機能を備えている。この機能により、要求プロ
セスはTCP、UDP、放送等の種々の通信プロトコル
を用いたり、またこれらのプロトコルを実行可能とする
コードを備えたりするためのノウハウを知っておく必要
がなくなる。プロトコルエンジンは種々の通信用プロト
コルを実行し、またDCCのライブラリはTIBチャン
ネルの概念を実行し、到来するパケットのパケットヘッ
ダにあり、TIBチャンネルに基づいた主題内容によっ
てルーチン化あるいはフィルタリングする機能を有する
。UDPプロトコルを用いる通信用のプロトコルエンジ
ンはまた、メッセージをサービス向け、または送信側向
けにパケット分割して送ったり、加入プロセスまたは受
信側向けにそのパケットを再組立して完全なメッセージ
として復元することもできる。UDPのトランスポート
プロトコルにはこのような分割および再組立の機能が含
まれないので、この機能は付加価値サービスの1つであ
る。TCPのトランスポートプロトコルにはこのメッセ
ージ分割および再組立の機能が含まれているので、この
トランスポート層機能を起こすプロトコルエンジンには
この種の付加価値サービスが必要とされない。
【0211】この発明のいくつかの実施例では、UDP
のプロトコルエンジンに通し番号が加えられ、パケット
ヘッダへの各々の完全なメッセージには何個のパケット
が含まれるかを指示するデータが加えられる。これによ
り受信プロセスTIB通信層のデーモンあるいはDCC
ライブラリが受信されたメッセージの完全性をチェック
し、パケットが全部受信されたか否かを確認することが
可能となる。
【0212】データパケットがネットワークから入って
くると、DCCライブラリ、サービス層および情報層を
経て要求プロセスに通される。ある実施例では、他の実
施例と同様にデーモンあるいはDCCライブラリによる
フィルタリングの代わりにサービス層に主題内容により
到来メッセージをフィルタリングする機能をもたせるこ
ともできる。さらに他の実施例では、主題内容によるフ
ィルタリングを情報層にもたせることもできる。
【0213】ある実施例ではサービス層は、図15のT
IBフォームズインタフェース231または図15のT
IBフォームライブラリ32中の呼出しプログラムによ
りデータボルマタイゼーション(vormatizat
ion)をも実行する。
【0214】ある実施例では、要求プロセスが膨大なデ
ータベース中に必要とするであろうすべての情報を集め
ることにより主題に基づいたアドレス指定が実行される
。サービス層はその際、データベースの適正な領域から
データを抽出するため、データベースアクセスプロトコ
ルに主題要求をマッピングするルーチンを含む。このよ
うな実施例での通信層は、データベース中において適当
な日付に更新するための更新プロトコルに入ってくる最
新のデータをマッピングする。
【0215】好ましい実施例では、データソースが分散
されるようにするもっと強力な概念を実行する。これに
より、新規のサーバやサービスが現在のすべてのアプリ
ケーションソフトウェアを大きく損なうことなく、シス
テムに連結することが可能となる。この発明の教示に従
って、TIBソフトウェアの情報層、サービス層、およ
び通信層を使用すると、アプリケーションソフトウェア
をそれ以下の絶えず変化しているネットワークからきわ
めて自由に切り離すことが可能となる。
【0216】好ましい実施例では、二点間方式プロトコ
ルへの主題内容によるフィルタリングは送信側のTIB
ソフトウェアで実行される。図17において、サーバ3
10、312、および316が、“TIB  IF”と
表示されたブロックで示されるTIBインタフェースソ
フトウェアによってネットワークから切り離されている
ことに注目されたい。ターミナル320もまた、同様な
方法で切り離され、ユーザーによるデータの手作業での
エントリーのためのされるが可能となっている。とくに
このフィルタリングはデータを発行するサービス向けの
情報層によってなされる。放送用トランスポートプロト
コルを用いるサービスに対しては放送を受けるネットワ
ークアドレスにあるTIB通信層がTIBチャンネルデ
ータを情報層によって発生する要求データに基づく要求
テーブル中に記録されている開放要求用のチャンネルデ
ータと、またサービス層によって発生するTIBチャン
ネルデータと比較することにより、主題に対応する開放
要求をもつメッセージ以外の他のすべてのメッセージを
フィルタ除去する。サービスが単に、データを放送する
だけの場合にはそのサービスにアクセスするためのサー
ビス統制は、“次のネットワークアドレスで到来するデ
ータを注意して聞け、そして要求主題以外の他のメッセ
ージをフィルタ除去せよ”という簡単なものであること
に注目されたい。サービス統制は、そのとき、TIBフ
ォームライブラリに適正な機能を呼び起こすことによっ
て適正にデータをフォーマットし、それからそのデータ
を情報層経由で要求プロセスに転送する。
【0217】通信層を使用すると、すべてのネットワー
ク構成パラメータをアプリケーションの枠外に外すこと
が可能となり、そしてシステム管理者によって、あるい
はまたネットワーク構成が変更されるときにそのパラメ
ータは改定に付される。こうしてアプリケーションソフ
トウェアは、ネットワークインタフェースから切り離さ
れ、ISOネットワーク層のすべての機能性に類似した
、かつ少なくともそれを包含した機能性が提供される。
【0218】また、いくつかの実施例では、情報層、サ
ービス層、および通信層の機能性が好ましい実施例によ
るソフトウェアよりもハードウェアにおいて容易に実行
されることに注目されたい。サービス層および情報層は
、ISOモデルネットワーク、データリンク、および物
理層プラスアルファの機能性の大部分を実行する。
【0219】いくつかの実施例では、分散型通信層はデ
ータリンクを構成するために、サービス層からの一般要
求を受けるだけで使用するのにもっとも有効なプロトコ
ルか、どれかの決定を独自で行う。例えば、DCCは同
一の情報に対し、5個の別々の加入を受ける。DCCは
5個の別々のデータリンクを構成し、要求を束ねて1個
のデータリンクを構成し、到来するメッセージをプロセ
ス間転送により5個の要求プロセスの各々に分散するよ
う、選択を独自で行う。他の実施例では、DCCはどの
プロトコルを使うべきかの決定を独自で行う。しかしな
がら、“私はこれを速やかに必要とする”あるいは“私
はこれの信頼性を必要とする”といったサービス層から
の事項を受け付けることもできる。後者の場合、通信層
は同じ情報層に対する2つの要求を2つの異なったサー
ビスに選択して送ることができ、また別のネットワーク
通路によって同じサービスに2つの別々のリンクを構成
することもできる。
【0220】好ましい実施例において、通信ライブラリ
のDCCライブラリ部分は、1つのネットワークアドレ
スから他のネットワークアドレスへ如何にして最も効率
よくデータを取得するかを決定するソールド機能を提供
する。すべての反復管理や故障回復プロトコルがサービ
ス統制中にカプセル化されている。
【0221】図21および図22において、送信側での
TIBソフトウェアの3層に含まれる処理のためのフロ
ーチャートが示され、発行プロセスあるいはサービスに
加入データストリームを発生させたり、またそれをTI
Bソフトウェアを経由してネットワークを横断して加入
プロセスに送り下す状況が示されている。
【0222】ステップ430は、選択されたサービスが
加入プロセスからのメッセージを受け、データストリー
ムを開始するプロセスを示す。図17のサーバ310に
作動しているクオトロン(Quatron)サービス、
サーバ312および316にそれぞれ作動しているマー
ケットフィード(Marketfeed)2000サー
ビスやテレレート(Telerate)サービスのよう
な各サービスはこの発明の教示に従った3層アーキテク
チャTIBソフトウェアのバージョンによってネットワ
ークから切り離される。これはTIBインタフェースソ
フトウェアを表示するサーバボックス中のTIB IF
と表示されたブロックによって示されている。
【0223】各サービスへのTIBインタフェースは、
フィルタリングやあるいは主題に基づいたアドレシング
をサポートしうる機能性をもつ如何なる要求からもその
サービスを切り離す。かくして、アドレスがすべての株
式価格をアメリカの株取引市場や店頭市場に放送するた
めに考案されたものであって、しかし加入が単にIBM
の株式価格に対してのみなされている場合には、サービ
スは通常通りに対応し、IBMの株式価格のみをフィル
タ除去する機能をもつ必要はない。この型サービスのた
めのサービス統制は、このような加入要求に対応してI
BMの株式価格以外のすべてのメッセージをフィルタ除
去するのに適合する。
【0224】主題内容によって編成される多くの異なっ
たページ、例えば政府財務省証券レートに関するページ
、長期企業債のレートに関するページ等を発行するテレ
レートのような他のサービスは、特定のページのみを受
け付けたり、特定のページの特定欄にのみ発行するサー
ビスをさせる特別のコマンドを受け付けたりすることが
できる。このような場合、このようなサービスに向けら
れたサービス層は主題により、加入要求を受け、オープ
ン加入をもつ主題に関係しない放送からメッセージをフ
ィルタ除去するサービス統制を含む。
【0225】ステップ430はまた、TIB−INFO
ライブラリの情報層のTIB発行機能を呼び出し、加入
プロセスに向けてのデータストリームをスタートさせる
サービスのプロセスを示す。このサービスは、主題によ
ってそれ自身でフィルタリングできる能力を備える必要
はない。サービスが受ける加入要求は、このサービスが
フォーマット化され、加入プロセスのサービス統制によ
って自国語に順序づけられているので、そのサービスが
理解する“自国語”の形でなされる。
【0226】主題内容によるフィルタリングの大部分は
、サービス統制によってなされる。しかしながら、どこ
でこのフィルタリングが行われるかはサービスの型によ
って変わる。あるサービスは、そのような発行者が発行
するすべての事項が加入プロセスにとって重要となるよ
うにただ1つの型のデータを発行する。例えば、図17
では現在の時間のみを表示するリアルタイムクロック3
71がアクセスサービスであり、加入の主題は“私にい
まの時間を知らせてほしい”という主題であるというこ
とによってもそれは分かるであろう。このような場合、
サービス統制はきわめて簡単で、フィルタリングの必要
性はなんら起こらない。このようなサービス統制は如何
にしてデータを要求プロセスに連絡し、それにどのTI
Bチャンネルを割り当てるかを単に決めるためのプロト
コルであればよい。
【0227】サービスは、そのサービスが正規にデータ
を如何なる方法で送っても、データ送りをスタートさせ
るということが、ステップ432に示されている。この
ようにして、サービスがテレレートである場合には、そ
れはページイメージを送ることができ、多数の異なった
ページの中のどの1つのページでも更新することができ
、その多数のページのただ1つのページに対する加入を
理解するが、一方、クオトロンサービスはIBM株式価
格だけの加入を理解することはできない。サービス層の
種々のサービス統制は、中でも特にそのサービスがもっ
ていない必要な機能性を提供する。
【0228】ステップ432は、多くの異なった主題に
ついてのメッセージおよびそれらの主題の中の1つまた
は少数の主題に対する加入要求を放送するサービスを引
き受ける。他の仮定的な例では、サービスが特定のテレ
レートページのような要求された情報だけを発行する。 テレレートの場合には、加入要求は特定のページだけか
、そのページの特定の欄だけが送られ、専用のTIBチ
ャンネルを用いて二点間方式通信プロトコルにより、ペ
ージイメージを要求するように指定することもできる。
【0229】ステップ434は、サービス層の加入要求
への応答プロセスの実施や、その結果発生するデータの
流れを示す。ステップ434では、サービス統制は主題
内容によるどんな必要なフィルタリングでも行い、TI
Bチャンネル数を割り当てる。主題内容によるフィルタ
リングは、高速の放送プロデューサの場合におけるよう
な、加入によって要求される場合よりも広範囲で多数の
データをプロデューサが発生させるときにだけ一般に交
換データプロデューサ側でのサービス統制により実施さ
れる。このような場合には外部からのデータがネットワ
ークを圧倒的に占有することになる。TIBチャンネル
数は、ステップ434のサービス統制によって割り当て
られるが、このチャンネル数はメッセージが通信層に到
達するまでパケットへのヘッダには実際には付け加えら
れない。ある他の実施例ではTIBチャンネル数がサー
ビス統制によりパケットヘッダに書き込まれることので
きるものもある。
【0230】TIBチャンネル数の割当ては、使用され
るサービス、加入、および通信プロトコルの型に基礎を
置いているサービス統制によってなされる。放送プロト
コルが使用されつつあるところでは、ある実施例でのサ
ービス統制は、ステップ434で異なった主題に異なっ
たTIBチャンネル数を単純に割り当て、情報層上のサ
ービス層によって保持されている加入テーブル中にリス
トされている加入者にメッセージを送る。メッセージは
単に、例えばIBM株式価格の更新に対してTIBチャ
ンネル100をモニタせよ、というようなものである。 TIBチャンネルデータはもっぱら、メッセージを適正
な加入プロセスに送るために受信ホストのTIBソフト
ウェアによって使用されるということに注意すべきであ
る。TIBチャンネルは、論理チャンネルネットワーク
、ルーチン化、あるいは他のネットワーク、データリン
ク、または物理層発行とは何等の関係ももたない。
【0231】他の実施例では、放送プロトコルの場面で
、サービス統制は加入リスト診断し、オープン加入の付
いた主題以外の主題に関するすべてのメッセージをフィ
ルタ除去する。この主題に対し、TIBチャンネルが割
り当てられ、メッセージは顧客プロセスに送られるメッ
セージに対し、どのTIBチャンネルを聞けばよいかと
いう加入プロセスに連結したTIBソフトウェアに送ら
れる。
【0232】二点間方式プロトコルの場合には、加入要
求は通常、加入プロセスに連結した情報層によって選択
されたサービス統制によって主題に割り当てられたTI
Bチャンネル数を含む。このような場合には、ステップ
434は、加入要求において受信されたTIBチャンネ
ル数をサービスから発生するメッセージに割り当てるプ
ロセスを表す。二点間方式プロトコルが選択された場合
には特定のTIBチャンネルが使用されるべきであるこ
とを指定するテレレートページへの加入の典型的な場合
には、サービス統制は二点間方式プロトコルエンジンを
選定することによりページイメージを送る。サービス統
制はまた、加入を確認し、かつ加入プロセスのTIBソ
フトウェアにそのページへの更新の放送のための特定の
TIBチャンネルを聞くように勧告するメッセージを送
る。受信側のTIBソフトウェアは、その後で更新のた
めのTIB放送チャンネルを開放する。
【0233】ステップ436は、サービス統制がそれを
呼び出す後にDCCライブラリによって実行されるプロ
セスを表す。好ましい実施例でのDCCライブラリの独
占的機能は、サービス統制あるいは加入要求が使用され
るべき通信プロトコルを指示しない場合に、如何なる特
定のネットワークアドレスに対してもメッセージを送る
最良の方法を決定することである。ある実施例では、情
報層のDCCライブラリはサービス層または加入要求か
らメッセージを送る方法についての暗示を受け取るが、
しかしそれがさらに有効であると考えられる場合には別
のプロトコルを選択することもできる。
【0234】さらに、DCCライブラリは、加入者の数
のような絶えず変化している条件に基づいて、使用され
つつある通信プロトコルを変更することができる。例え
ば、インテリジェントマルチタスクプロトコルを選択す
ることができる(詳細は後述)。このプロトコルでは、
加入者の数が一定の切り離し数(システム管理者により
プログラム化されうる)以下である場合には、二点間方
式プロトコルが使用され、また加入者数が切り離し数を
超える場合には、放送プロトコルへの切替えが自動的に
行われる。好ましい実施例では、“ハイ・ウォータ”お
よび“ロー・ウォータ”のマークが後述のように使われ
る。他の実施例では、単一の放送メッセージに対立する
ものとしての多重二点間方式メッセージを送るためのコ
ストおよび効率に基づく切替えポイントを設定するのに
コスト機能(どんなコスト機能でもよい)が使用できる
【0235】ステップ436はまた、サービスのローカ
ルメモリからメッセージを検索し、それを図15のプロ
トコルエンジン/デーモン30Bに送るためのプロセス
間移動プロセスに入れるプロセスを示す。ステップ43
8は、メッセージを加入プロセスに転送するためのサー
ビスのプロトコルエンジンによって実行されるプロセス
を示す。もし使用中のトランスポートプロトコルがUD
Pである場合には、プロトコルエンジンはある実施例で
はパケット化機能を果たす。これはメッセージをパケッ
トに分割して送信側のヘッダデータに付加し、受信側で
正規の順序にパケットを再組立するプロセスである。T
CPトランスポートプロトコルは、それ自身でパケット
化を行うので、このトランスポート層を呼び起こすプロ
トコルエンジンはパケット化する機能をもつ必要はない
。非パケット型プロトコルエンジンはまた、その他のタ
イプのトランスポートプロトコルに対しても存在する。
【0236】プロトコルエンジンはさらに、加入プロセ
スをメッセージヘッダに走らせるマシンのポートアドレ
スを記入したり、あるいは他の付加価値サービスを実行
することもできる。付加価値サービスには、高信頼性放
送やインテリジェントマルチキャスティングなどがある
。高信頼性放送サービスは後で説明されるが、基本的に
はこのサービスは現在の放送通信プロトコルには存在し
ない機能を提供して信頼性を増大させるものである。
【0237】プロトコルエンジンは、それによってオペ
レーティングシステム中のトランスポート層ルーチンと
通信する標準的なプログラマインタフェースを備える。 プロトコルエンジンによって実行されるステップは、メ
ッセージを加入プロセスに伝達するようにトランスポー
ト層の機能性を呼び起こして、ネットワーク、データリ
ンク、および物理層プロトコルを動かすようにさせるこ
とである。正確には、これらのステップがどんなもので
あるかを詳細に説明することはできない。というのは、
これらのステップがネットワークの構造、構成、および
プロトコル並びにトランスポート層へのインタフェース
等の要因に高度に依存してその詳細を異にするからであ
る。上記の要因のどれかが変化すれば、プロトコルエン
ジンはネットワークの変化に対応して変更されねばなら
ない。しかし、このプロセスではこの際、構成切り離し
を備えることにより、アプリケーションソフトウェアを
変更する必要はなくなる。
【0238】メッセージはネットワークを通過した後、
加入プロセスにより共有されるポートアドレスをもつネ
ットワークインタフェースカードによりピックアップさ
れる。このプロセスはステップ444で示されている。 ネットワークカードはメッセージをバッファリングし、
到来メッセージを取り扱うトランスポート層ルーチンに
割込みを発生させる。
【0239】ステップ446は、トランスポート層ソフ
トウェアが図17の層352または360などの通信層
においてデーモン30Bの該当するプロトコルエンジン
を呼び出すプロセスを示している。到来メッセージやパ
ケットは、共用メモリなどの何らかのプロセス間転送機
構により該当するプロトコルエンジンへ引き渡される。 好ましい実施例においては、デーモンは多重タスク処理
マシーン上においてバックグラウンドを走行する継続プ
ロセスとなっている。他の実施例では、デーモンは割込
み駆動され、メッセージを受け取ったとき、または転送
しようとするときに実行されるにすぎない場合もある。 ステップ446はまた、TCPその他のトランスポート
層プロトコルに対するパケット再組立プロセスを示し、
ここでパケット再組立はトランスポート層によって行わ
れる。
【0240】ステップ448は、到来メッセージを処理
し、ルーチン化するためにデーモンにおいてプロトコル
エンジンによって行われるプロセスを示す。
【0241】UDPトランスポート層プロトコルエンジ
ンにおいては、パケット再組立が行われる。このことは
もちろん、データ発生プロセスにおけるプロトコルエン
ジンがパケットヘッダに対し、データを正しい順序で再
組立できるように一連番号を付加したことを意味する。 これにより、すべての一連番号を、本来到着していなけ
ればならない一連番号を示すデータと照合し、すべての
パケットが受け取られたかどうかを判定するといった他
の付加価値サービスを実行することもできる。実施例に
よっては、予期される一連番号に関するデータが、パケ
ットヘッダにおいてこの目的に使用されるフィールドに
書き込まれる。他の実施例では、このデータは別のメッ
セージとして送られる。
【0242】もしパケットが脱落している場合、これら
の実施例においては、受信通信層からデータ発生プロセ
スの通信層にメッセージが自動的に送り返され、脱落も
しくは誤伝送されたパケットの再転送を要求する。この
ことは当然、データプロセスのための通信層が全パケッ
トをメモリに記憶し、全パケットが順調に受け取られた
ことを示す肯定応答メッセージを受け取るまで再転送の
可能性に備えてそれらを保持することを意味する。
【0243】ステップ448はまた、受信メッセージに
おいて通信層デーモン/プロトコルエンジンが行う主要
機能を示している。その機能はヘッダにおけるTIBチ
ャンネル情報に従って、該当する加入プロセスに対する
メッセージをルーチン化する。プロトコルエンジンは、
ヘッダにおけるTIBチャンネル番号をサービス統制に
よってエンジンに送られた現在の加入リストと照合する
。加入リストには、いずれか特定のTIBチャンネルに
割り当てられたメッセージにおける関連サービス統制コ
ールバックルーチンおよび加入プロセスに対するポイン
タが含まれている。プロトコルエンジンはまた、メッセ
ージが主題への加入者に関与しない加入プロセスTIB
ソフトウェアに到達する実施例においては、TIBチャ
ンネル番号によってメッセージをフィルタリングする。 これはサービス層や情報層で行ってもよいが、通信層で
行うのがもっとも効率的である。
【0244】プロトコルエンジンは続いて、メッセージ
を該当するプロセス間転送機構、通常は共用メモリある
いは UnixTM パイプに送り、ステップ450に
示すDCCライブラリに割込みをかける。この割込みに
よってその後の処理は、該TIBチャンネルにおける加
入および主題が開放されたときにDCCによってプロト
コルエンジンに対して識別された該当DCCライブラリ
コールバックルーチンへと向けられる。このようにして
呼び出されたDCCライブラリルーチンは、加入を開始
した加入プロセスへ、またその一部へリンクされる。D
CCライブラリコールバックルーチンは次いでサービス
層に割込みをかけ、メッセージに係わるポインタに送る
【0245】ステップ452は、到来メッセージについ
てサービス層が行うプロセスを表す。DCCライブラリ
からの割込みにより、DCCライブラリを通じてサービ
ス層によって送られた原加入メッセージにおいて識別さ
れたサービス統制コールバックルーチンが実行される。 コールバックルーチンは、ある実施例においては、必要
なデータフォーマット変換を行い、また他の実施例では
主題フィルタリングを行う。次いで、サービス統制が情
報層へ割込みをかけて情報層のコールバックルーチンを
実行させる。この割込みにはメッセージに対するポイン
タが含まれている。
【0246】ステップ454は、情報層による到来メッ
セージの処理を示す。実施例によっては、情報層に到達
したすべてのメッセージが、データが要求された主題と
正確に一致することをサービス層が保証しないものもあ
る。ステップ454に、これらの実施例においてTIB
チャンネルコードを加入の主題と比較し、それらが一致
することを確認するプロセスが示されている。
【0247】ステップ456は、主題における一致があ
った場合に、加入プロセスのコールバックルーチンに対
して割込みをかけるプロセスを示す。一致がない場合は
、割込みはかけられず、デーモンによって新たなメッセ
ージの監視を続けながら、すべての割込み駆動プロセス
が終了し、次の割込みがあるまでコンピュータ資源を解
除する。
【0248】ステップ458は、加入プロセスが元来そ
のデータを求めた目的に関わりなく行われるメッセージ
データの使用プロセスを示す。
【0249】高信頼性放送は、トランスポート層の通信
プロトコルを補完し、かつ向上させるために通信層が用
いることのできる付加価値サービスの1つである。従来
のトランスポート層によって提供されてきたこれまでの
放送プロトコルは信頼性が低い。例えば、パケットやメ
ッセージを損なったり破壊したりする回線ノイズが存在
する場合、あるいはネットワークインタフェースカード
がバッファにオーバーフローする場合、パケットあるい
はメッセージ全体が失われる可能性があり、この場合メ
ッセージを聞き取るプロセスはそのメッセージを全く得
られないか、不完全もしくは誤ったメッセージを得るこ
とになる。従来の放送には肯定応答機能はなく、したが
って上記プロセスの一部でメッセージが失われたり、不
完全もしくは誤メッセージが得られたりすると、転送プ
ロセスは発見することがない。これは100パケットご
とに1回、または10パケットごとに1回起こる可能性
がある。これまでの従来技術によるトランスポート層放
送プロトコルは、ホストのネットワークアドレスで受け
た放送メッセージを上記ホスト上を走る複数プロセスに
分散させる機能性、すなわちプログラムコードを備えて
いない。
【0250】この発明の教示に従う通信層は、その上に
構築された高信頼性放送プロトコルを実行し、かつ従来
のトランスポート層放送プロトコルを補完するために少
なくとも1つのプロトコルエンジンを備える。図23、
図24に、通信層によって実行される高信頼性放送プロ
トコルの1実施例におけるフローチャートが示されてい
る。ステップ500は、DCCライブラリがサービス統
制から、特定のTIBチャンネルが割り当てられたメッ
セージを送れという要求を受け取るプロセスを示してい
る。実施例によっては、この要求に、高信頼性放送プロ
トコルによってメッセージを送れという要求または命令
を含めてもよい。高信頼性放送プロトコルがサービス統
制により委任された実施例においては、サービス統制が
特定チャンネルに対する加入者数を判定し、かつ同一メ
ッセージを全加入者のポートアドレスへ何度も送るコス
トと、加入者の関心の対象となっている主題におけるデ
ータはTIBチャンネルXX(この主題に割り当てられ
ているTIBチャンネル番号)を聞くようにとの全加入
者へのメッセージと共に放送によって一度だけ該メッセ
ージを送るコストとを比較判定する。図23、図24に
示した実施例では、このコスト判定機能が通信層DCC
ライブラリ機能に含まれている。
【0251】ステップ502は、DCCライブラリによ
って行われる上記コスト判定プロセスを示している。こ
の機能を実行するDCCライブラリの特定プログラムは
、加入リストをチェックし、当該メッセージに割り当て
られたTIBチャンネルに対する加入者数をカウントす
る。次いで、メッセージを二点間通信でこれらの全加入
者に送るコストが所望のコスト評価機能を用いて評価さ
れる。実施例によっては、コスト機能を加入者数と所定
の打切り数との比較としてもよい。使用する特定のコス
ト機能は、この発明の本義にとって本質的に重要なもの
ではない。
【0252】複数の加入者にメッセージを二点間通信で
送ることのコストは、データ生成ソフトウェアにより同
一メッセージをネットワーク上に何度も乗せなければな
らないことである。1つのメッセージを放送することの
コストは、すべてのネットワークカードがメッセージを
ピックアップし、プロセス間転送によってメッセージを
TIBデーモンに転送するホストのオペレーティングシ
ステムにおける転送プロトコルプログラムが中断されて
、該メッセージがホスト上を走るクライアントプロセス
にとって関係のないものであるという結果が発生しうる
ことである。コンピュータ資源は、この結果その種ホス
トのいかなるものにおいても浪費されることとなる。
【0253】ステップ504は、上記コストを評価し、
二点間通信プロトコルか高信頼性放送かのいずれでメッ
セージを送るかを決定するためにDCCライブラリが行
うプロセスを示している。このTIBチャンネルに対す
る加入者数が十分少ないと判定された場合、二点間通信
プロトコルでメッセージを送る決定がなされる。ステッ
プ506に、二点間通信プロトコルエンジンで呼び出し
、そのプロトコルを使ってメッセージを送るプロセスを
示す。
【0254】加入者数が効率的な二点間通信による転送
を行うには大き過ぎる場合、DCCライブラリはステッ
プ508に示す高信頼性放送プロトコルエンジンを呼び
出す。
【0255】ステップ510は、高信頼性放送プロトコ
ル処理の第1ステップを示す。この発明の教示による高
信頼性放送プロトコルは、同一ホストの多重加入プロセ
スの実行をサポートしており、各々の加入プロセスがエ
ラーなくメッセージの全パケットを受け取り、かつメッ
セージの受取りに対して肯定応答することを要求する。 これらが順調に行われることを保証するために、各パケ
ットのヘッダに一連番号を付加する必要があり、一連番
号(メッセージ全体の受取りを完了するためにはその一
連番号のすべての受取りを完了していなければならない
)を示すある種のデータを加入プロセスに送信しなけれ
ばならない。実施例によっては、一連番号のみがパケッ
トヘッダに付加され、メッセージ全体から成る一連番号
に関するデータが別のメッセージによって該メッセージ
に割り当てられたTIBチャンネルへの開放加入を有す
る各プロセスに送られる。他の実施例では、メッセージ
全体から成る一連番号が第1パケットのヘッダまたは全
パケットのヘッダに付加される。TIB一連番号は1つ
のメッセージの全パケットを受取り完了したかどうかを
判定するためにのみ使用されるため、パケットに付加さ
れた一連番号は、TCPプロトコルにおけるオペレーテ
ィングシステムのトランスポートプロトコルのパケット
化機能によって付加された一連番号とは異なる。実施例
によっては、全パケットが受取り完了したかどうか判定
するために、トランスポートプロトコルによって付加さ
れたパケット一連番号を加入プロセスのTIB通信層が
使用することもできる。UDPトランスポート層プロト
コルを補完するための高信頼性放送プロトコルエンジン
の他の実施例においては、プロトコルエンジンのパケッ
ト化機能は、あるメッセージの全パケットの受取りを完
了したことを確認する際、トランスポート/ネットワー
ク/データリンク/物理層機能ばかりでなくTIB通信
層機能に対しても使用することのできる一連番号を付加
する。
【0256】一連番号が付加された後、パケットは、ス
テップ512に示すようにパケットの一部または全部を
後に再転送する必要が生じた場合に備える保存のための
一連番号と共に再転送バッファに書き込まれる。
【0257】メッセージを種々の加入プロセスに送るこ
とが可能となる前に、高信頼性放送プロトコルエンジン
はTIBチャンネルデータを各パケットのヘッダに付加
し、このチャンネルに対する開放加入を有するものとし
て加入テーブルにリストアップされている各加入プロセ
スに対して、加入要求主題に関するデータについてはT
IBチャンネルXX(ここに、XXはこの主題に割り当
てられたTIBチャンネル番号)を聞くようにとのメッ
セージを送る。
【0258】ステップ516は、該当するオペレーティ
ングシステムプログラムを呼び出してポインタを各パケ
ットに送ることによりトランスポート層の標準放送プロ
トコルを介してパケットを転送するプロセスを示してい
る。
【0259】図25、図26に、高信頼性放送プロトコ
ルにおける加入プロセスの通信層による処理のフローチ
ャートが示されている。ネットワーク上でのパケット放
送は、ネットワーク上のすべてのホストのすべてのネッ
トワークインタフェースカードによってピックアップさ
れ、これは続いて種々のホストのオペレーティングシス
テムのトランスポートプロトコルソフトウェアを呼び起
こす。トランスポートプロトコルは次いで、放送メッセ
ージが到着した通信層をデーモンに知らせ、パケットを
プロセス間転送機構、通常は共用メモリに送り込む。続
いてデーモンが、ステップ518に示す通り、パケット
をプロセス間転送機構から取り込む。
【0260】ステップ520は、到来パケットのTIB
チャンネル番号をチェックしていずれかの開放加入のT
IBチャンネルに対応するかどうかを判定するプロセス
を示す。対応すれば、信頼性一連番号が、高信頼性放送
プロトコルエンジンにより、完全なメッセージの受取り
を完了するためにはどのパケットおよび対応一連番号の
受取りを完了していなければならないかを示すデータと
照合される。実施例、とくにこの発明のTIBインタフ
ェースソフトウェア以下の層でエラーチェック(ECC
)が行われないトランスポート、ネットワーク、データ
リンク、および物理層を使用した実施例においては、エ
ラー検出およびエラー補正がパケットに添えられたEC
Cビットを用いてパケット上で行われる。ECCビット
数が存在する場合に補正範囲を超えたエラーが発生する
と、そのパケットが誤伝送されたとしてマークされる。
【0261】もし存在する場合、どのパケットが脱落も
しく誤伝送されたかを判定した後、受信プロトコルエン
ジンは引き続いてメッセージをサービスプロセスまたは
発行プロセスの通信層に送り返す。このメッセージは、
全パケットを順調に受け取ったことを肯定応答するか、
または特定のパケットを再転送するように要求する。こ
れはステップ522で示されている。
【0262】ステップ524は、データ生成プロセスま
たはサービスの通信層による脱落もしくは誤伝送パケッ
トの再転送プロセスを示す。実施例によっては、脱落も
しくは誤伝送パケットはそれが発生した加入者にのみ二
点間通信で送られる。他の実施例では、脱落もしくは誤
伝送パケットは、TIBチャンネルXX(XXはパケッ
トが放送されるTIBチャンネル)を聞く必要のある加
入プロセスに送られる通知メッセージと共にノードに放
送される。ここで実際に用いられる“チャンネルXXを
お聞き下さい”というフレーズはその転送の実際の転送
周波数、タイムスロット、その他の物理特性とは関係し
ない。それは単に、脱落もしくは誤伝送パケットがこれ
から少しの間ネットワーク上に現れること、およびそれ
らのパケットがヘッダデータにおいてTIBチャンネル
XXルーチン化情報を有していることを意味するに過ぎ
ない。
【0263】ステップ526は、ステップ520の処理
と同様、交換パケットが正しく受け取られたことを受信
通信層がチェックするプロセスを示す。正しく受け取ら
れた場合、受信通信層はこの事実をサービスの通信層に
肯定応答する。そうでない場合、脱落もしくは誤伝送パ
ケットの再転送要求が転送プロセスの通信層にもう一度
送られ、この後再転送が行われ、すべてのパケットが順
調に受取り完了されるまでプロセス全体が繰り返される
。全パケットが順調に受け取られたという受信通信層か
ら転送通信層への最終の肯定応答メッセージにより、転
送通信層の高信頼性放送プロトコルエンジンがステップ
528に示す再転送メモリからすべてのパケットを放出
する。
【0264】ステップ530は、高信頼性放送プロトコ
ルエンジンがTIBチャンネルデータを加入リストと照
合してどのクライアントプロセスがこのTIBチャンネ
ルに割り当てられてたデータを要求しているかを判定す
るルーチン化プロセスを示している。いったんこの情報
が知れると、プロトコルエンジンは、このTIBチャン
ネルのデータへの加入が入力されたすべてのサービス統
制に該メッセージに対するポインタを送る。実施例によ
っては、プロトコルエンジンは、加入プロセスのための
分離プロセス間転送機構にメッセージのコピーを乗せる
。他の実施例では、共用メモリがそのプロセス間転送機
構となり、該メッセージの同じコピーに対するポインタ
がすべての加入プロセスに送られる。加入プロセスは次
いで、情報層またはサービス層におけるメッセージへの
アクセスのために調整を行う。
【0265】ステップ532は、加入が入力された際に
指定されたコールバックルーチンを実行させる連続割込
みによって、サービス層および情報層を介して加入プロ
セスへメッセージを送る前述のプロセスを示すものであ
る。加入する主題との一致を保証するため、実施例によ
っては、主題によるフィルタリングをサービス層および
/または情報層で行うこともできる。
【0266】図27は、インテリジェント・マルチカー
スト(Intelligent Multicast)
通信プロトコルによってデータを転送するための処理の
フローチャートである。このプロトコルは、主題および
この主題に開放されている加入者数に応じて、各メッセ
ージに対して二点間通信プロトコルまたは高信頼性放送
プロトコルのいずれかを使用する。プロトコルの選択は
、メッセージが発行されるときの当該メッセージに対す
る加入プロセス/ネットワークアドレスの数に応じて各
メッセージごとに自動的に行われる。ある主題に対する
加入者数が十分変化した場合、転送プロトコルは自動的
に変化する。
【0267】ステップ600は、データ発行プロセスの
サービス層において加入要求を受け取り、この加入を加
入プロセスに沿って通過させ、加入テーブルに新規の加
入をエントリーするプロセスを示す。
【0268】ステップ602で、サービスにより情報層
を介してサービス層へ1つのメッセージが発行される。 そのメッセージの主題は、直前に行われた新規の加入に
おける主題に関するものであってもよいし、なくてもよ
い。サービス層は、そのメッセージについて情報層が送
った主題データを調べ、TIBチャンネルがステップ6
04に示される通り加入プロセスのサービス層および情
報層によって割り当てられていたなら、その1つのTI
Bチャンネルを情報層と協同して該主題に割り当てる。
【0269】ステップ606において、サービス統制は
該メッセージの主題に対する加入者数を、二点間通信転
送コストと高信頼性放送による転送コストとの対比に基
づいたプログラマブルな打切り数と比較する。そのプロ
グラマブルな打切り数はシステムアドミニストレータに
より設定、変更ができ、所望のコスト機能に基づくもの
であるが、本質的にこれはこの発明が依拠する重要性を
もつものではない。好ましい実施例においては、そのコ
スト機能はハイ・ウォータマークとロー・ウォータマー
クから構成される。加入者数がハイ・ウォータマークを
超えると、メッセージは高信頼性放送によって送られる
。この主題に対する加入者数がその後ロー・ウォータマ
ーク以下になると、その後のメッセージは二点間通信で
送られる。実施例によっては、該コスト機能を自動学習
プログラムとすることができ、これはネットワークおよ
び加入要求を聞き取って待ち時間または他のネットワー
ク効率基準に基づいてその決定を行うものである。
【0270】ステップ608は、加入者数が打切り数よ
り大きい場合に、高信頼性放送プロトコルエンジンを呼
び出すプロセスを示す。メッセージは続いて、このプロ
トコルエンジンに向けられたプロセス間転送機構に送り
込まれる。
【0271】加入者数が打切り数を下回る場合、二点間
通信の方が効率的であるので、サービス統制は二点間通
信プロトコルエンジンを呼び出し、ステップ610に示
すこのプロトコルエンジンに向けられたプロセス間転送
機構にメッセージを送り込む。
【0272】ステップ612は、次のメッセージまたは
加入を待ち、加入を受け取った場合はステップ600へ
、また他のメッセージを受け取った場合はステップ60
2へ戻るプロセスを示している。
【0273】以上のように、この発明の思想は、ソフト
ウェア層を使用することにより、アプリケーションが従
来切り離されることがなかったような方法でアプリケー
ションをコンピュータネットワーク通信技術の複雑さか
ら切り離すことにある。例えば、情報層によって提供さ
れる主題に応じたアドレス指定の切り離しは、とくにサ
ービス層によって提供されるサービス切り離しと組み合
わせたとき、新規なものと思われる。新たなネットワー
クトポロジーなどの条件を変更しながら、さらに新たな
、または変更したサービスおよび/またはサーバをネッ
トワークに追加しながらサービスおよび構成の切り離し
を提供するために、新たにサービス統制およびプロトコ
ルエンジンを追加することによって容易に変更できるよ
うな拡張サービスや通信層を備えることは、新規なもの
であると思われる。多くの多様な通信プロトコルをカプ
セル化するように設計された多くの異なるサービス統制
を含むサービス層を備えることは新規である。例えば、
これらのサービス統制は、端末に座るユーザーに対して
テレレートのようなサービスからオペレーティングシス
テムプログラムまで、他のマシーンにおける他のプロセ
ス(あるいは、同一マシーンや同一プロセスの別の部分
さえも)など、あらゆるものとの通信を取り扱うことが
できる。さらに、このサービス層の故障監視・回復、分
配・反復管理、そして機密保護/アクセス制御サービス
を実行する能力は新規なものである。さらに、通信層の
構成切り離しおよび付加価値サービスを備えることは新
規である。
【0274】この発明の教示は、これらの層の任意の1
層を使用することも、あるいはその種類が特定の機能や
本明細書で規定されているそれら機能の組合せを実行す
るものであるようなクラスもしくは類のソフトウェアプ
ログラムを規定している種々の実施例における3層の任
意の組み合わせを使用することも意図している。
【0275】以下に示すのは、種々のライブラリプログ
ラムと、この発明の教示に従う通信インタフェースの1
実施例における全体構成および機能化のより詳細な説明
である。
【0276】インフォメーション・ドリブン・アーキテ
クチャ(Information Driven Ar
chitecture)、テクネクロン・インフォメー
ション・バス(Teknekron Informat
ionBus)、TIB、TIBINFO、TIBFO
RMS、サブジェクト・ベースト・アドレッシング(S
ubject−Based Addressing)、
およびRMDPはテクネクロン・ソフトウェア・システ
ムズ社(Teknekron Software Sy
stems, Inc.)の商標である。
【0277】
【用語集】以下に示すのは、本発明を説明するために用
いた言葉やフレーズの定義をリストアップしたものであ
る。
【0278】アクセス手順:特定のサーバ、サービス、
アプリケーションからのデータにアクセスする通信プロ
トコルよりも多くの概念を含むものであり、サービス申
し込み、サービスプロトコルよりも広い概念である。ア
クセスの対象となる特定の主題に関する情報を要求する
手続を含んでいる。例えば、要求が「データの時間を私
に下さい」というものであれば、この要求がサーバーレ
イヤー上ににマッピングされたアクセス手順は、要求を
起こしたユーザのコンピュータ上のオペレーティングシ
ステムと呼ぶことが可能である。また、アクセス手順は
、ユーティリティプログラムの呼出しを含んでいる。
【0279】アプリケーション:オペレーティングシス
テムプログラム以外の、コンピュータで実行するソフト
ウェアプログラム。
【0280】構築的(Architectural)切
り離し:本発明の教示を用いたシステムの特徴。この特
徴は、主題の主動型(subject−based)ア
ドレスサービスを実行するならびにサービス及びサービ
ス統制に主題をマッピングするのに必要な情報層の機能
によって与えられる。サービス及びサービス統制からこ
れらの主題の情報を得ることができる。主題主動型アド
レスはネットワーク構築及び特定の主題に係るネットワ
ークデータ上のどこを見つけることが出来るかを知る為
データ消費プロセス(data consuming 
process)の必要性を取り除く。
【0281】フォームクラスの属性:クラスが原始であ
るか、構成されたものであるかというような、フォーム
クラスの性質。サイズは別の属性である。
【0282】クラス:クラス中の全てのフォームが同じ
フォーマットと同じ意味を有するようなフォームの群の
定義。
【0283】クラス/クラス記述子/クラス定義:同じ
内部表現、同じ構成及び同じ情報を有する特定のデータ
レコード群すなわち「フォーム」の構造と編成の定義。 クラス記述子というのは、クラス定義のそれらの全ての
パラメータを定めるデータを格納するメモリ内のデータ
レコードすなわち「オブジェクト」のことである。クラ
スというのはフォームの名称であり、クラス定義は群の
共通な特徴についての情報である。クラスは原始クラス
と構成されたクラスの何れかとすることが出来る。原始
クラスは、クラスを独特に識別するクラス名(この名に
はクラス番号をすなわちクラスidが組合わされる)と
、1つのデータ値の表現の仕様とを含む。表現の仕様は
、ストリング20EBCDID等のような、ホストコン
ピュータと依頼人アプリケーションが理解する周知の原
始である。構成されたクラスの定義は独特の名称を有し
、この種のフォームにおいて見出されるの多数のフィー
ルドを名称と内容により定義する。フィールド名と、そ
れのデータのフォームクラスを与えることにより、各フ
ィールドは指定される。というのは、各フィールド自体
がフォームだからである。フィールドというのは1つの
フォームの代りに同じクラスのフォームのリストとする
ことが出来る。構成されたクラスの定義は実際のデータ
を含まないが、クラス記述子は、この種のフォームの編
成と意味を定めるデータのフォーム中に実際のデータを
含む。フォームの例を定める全ての実際のデータは原始
クラスのフォームで格納され、原始クラスで格納されて
いるデータの種類は原始クラスのクラス定義で指定され
る。たとえば、「年令」という名称の原始クラスは、整
数  3の種類の1つのフィールドを有する。それはフ
ォームの年令クラスに対するクラス定義において定義さ
れる。このクラスのフォームの例は3桁の整数値を含む
【0284】クラスデータ構造:特定のクラスについて
の、クラスマネジャーに格納されている全てのデータ。 クラス記述子はこのデータ構造の最も重要な部分である
が、より多くの情報があることもある。
【0285】クラス定義:フォームクラスの仕様。
【0286】クラス記述子:フォームクラス定義を格納
するメモリオブジェクト。クラスマネジャーにおいては
、それはフォームとして格納される。ディスクでは、そ
れはASCII ストリングとして格納される。基本的
には、それはクラス定義の為の特定の表現すなわちフォ
ーマットである。それはASCIIファイル型またはフ
ォーム型の表現とすることが出来る。クラスマネジャー
が必要とするクラス記述子を持っていないとすると、ク
ラス記述子の為にクラス定義を作成した外部アプリケー
ションにクラスマネジャーは尋ねる。それから、クラス
、クラスマネジャーは、外部アプリケーションにより発
生された時のフォームでクラス記述子を受ける。あるい
は、クラスマネジャーは、意味に依存するオペレーショ
ンを要求しているアプリケーションによりそれに対して
識別された、またはクラスマネジャーにより維持されて
いるレコード中で識別されたファイルをクラスマネジャ
ーは探索する。それらのファイルに格納されているクラ
ス定義はASCII テキストフォーマットである。そ
れからクラスマネジャーは、そのようにして見つけたA
SCII テキストを、各種のフィールド名と、各フィ
ールドにの内容についての仕様に構文解析することによ
り、固有のフォーマットのフォーマットのクラス記述子
へ変換する。
【0287】クライエントアプリケーション:本発明の
通信インターフェイスへ結合され、またはサービスへ結
合されたアプリケーション。
【0288】コンピュータネットワーク:ローカル及び
ワイドエリアネットワークのような接続ハードウェアに
接続する複数のコンピュータ間のまたは操作システムや
他のソフトウェアプログラムやプロセッサ間のユニック
スパイプを含む分担メモリによって与えられた機能を用
いて同じコンピュータ上で作動する複数のプロセッサ間
のデータパスウエイ。
【0289】切り離し配列:本発明の教示を満たす分配
通信層によって必然的に与えられたコンピュータシステ
ム/ネットワークの特徴である。セットアップの仕方ま
たコンピュータネットワークの為の特定の配列の通信網
の破壊の仕方についての詳細のプロトコルを要約するこ
とによって、この層は依頼プロセッサを、データの提供
または消費であれこれらの詳細を知ることから開放する
【0290】ファイル配列:使用中の種々のソフトウェ
アコンポネント、レコード、フォームの特性及び属性及
びパラメータを記述するデータを保存するファイル。
【0291】構成ファイル:使用中の種々のソフトウェ
ア構成要素、レコード、フォーム、の特性、属性または
パラメータを記述するデータを格納するファイル。
【0292】消費(Consumer):依頼人及び消
費者アプリケーションまたはデータを要求する最終ユー
ザ。
【0293】切り離しデータ分配(Data dist
ribution decoupling):本発明の
教示に係る希望のサービスを提供するサーバーの為のネ
ットワークアドレスを理解し提供する必要性を有する依
頼人アプリケーションを開放する通信インターフェイス
ソフトウェアの機能。
【0294】切り離し:それによりデータを交換する。 通信プロトコル、データフォーマット、他の全てのプロ
セス、コンピュータ及びネットワークを知る必要からプ
ロセス、ソフトウェアモジュールまたはアプリケーショ
ンを自由にすること。
【0295】分配通信層(Distributed c
ommnuication layer):本発明の教
示に係る装置及び方法の一部分。 これは、特定のネットワークまたは透明層プロトコル機
関へのサービス層によって特定されたアドレス手続をマ
ッピングするまた選択されたネットワークプロトコル機
関を使用する特定されたサービスに必要な通信チャンネ
ルをセットアップする。
【0296】これらのサービスと通信する為に使用され
る要求主題及びサービス統制の情報を供給するサービス
ネイムの特定の主題に情報要求をマッピングすることに
よって、主題の主動型(subject−based)
アドレスを行う。
【0297】フィールド:1つまたは複数の構成要素(
?)を有することができるフォームの例内の1つの構成
要素。各フィールドには異なる名称が付けられ、異なる
ことを各々意味する。フィールドが実際のデータを含ん
でおれば、そのフィールドは「原始」であり、他のフォ
ーム、すなわち、他のフィールドの群、を含んであれば
、そのフィールドは「構成された」である。別のフォー
ムを含む少なくとも1つのフィールドを有するデータレ
コーダまたはフォームは「入れ子にされている」といわ
れる。第1のフォームの構成されたフィールドに記録さ
れた第2のフォームはそれ自身のフィールドを有する。 それらのフィールドは原始フィールドと構成されたフィ
ールドの何れかとすることが出来る。したがって、無限
に複雑な入れ子式の層を生じることがある。
【0298】外部の(Foreign):別のコンピュ
ータまたはソフトプロセスのフォーマットデータレコー
ドと異なったフォーマットデータレコードを使用するコ
ンピュータまたはソフトウェアプロセス。
【0299】フォーム:クラス記述子、またはクラス定
義に対応するクラス記述子番号を含むフィールドを含む
ことにより、構造が自己記述的であるデータレコードま
たはデータオブジェクト。それらのクラス記述子はフォ
ームのクラスであって、それの例の全てが、同じ内容表
現と、同じ編成と、同じ意味情報を有するようなクラス
を記述する。このことは、このクラスのフォームの全て
の例、すなわち、発生、が同じ名称のフィールドを同数
有し、対応するフィールド内のデータが同じ表現を有し
、対応するフィールド内のデータが同じ表現を有し、か
つ各フィールドは同じことを意味する。フォームは原始
フォームまたは構成されたフォームとすることが出来る
。1つのユニットのデータだけを格納するフォームが原
始フォームである。フィールドと呼ばれる多数の内部構
成要素を有するフォームが構成されたフォームである。 各フィールドは別のフォームのデータまたはクラスid
、すなわち、クラス番号、を格納する。
【0300】フォーマットオペレーション:1つのフォ
ーマットから別のフォーマットフォームを変換するオペ
レーション。
【0301】フォーマットまたは種類:構造データレコ
ードのデータ表現及びデータ編成、すなわち、フォーム
【0302】取扱い(ハンドル):オブジェクト、レコ
ード、ファイル、クラス、メモリオブジェクト等に対す
るポインタ。このポインタはオブジェクトに対するアク
セス経路を本質的に定める。絶対アドレス、相対アドレ
ス及びオフセットアドレスが取扱いの例である。
【0303】ID:フォーム、レコード、クラス、メモ
リオブジェクト等の為の独特の識別子。この明細書にお
いてクラスに割当てられたクラス番号がIDの例である
【0304】情報層:本発明の教示に係る装置及び方法
の一部分。これは、これらのサービスと通信する為に使
用される要求主題及びサービス統制の情報を供給するサ
ービスネイムの特定の主題に情報要求をマッピングする
ことによって、主題の主動型(subject−bas
ed)アドレスを行う。
【0305】インターフェイス:あるタスクを実行する
ためにサポート機能を提供するアプリケイションにより
、またはインターフェイスの別のモジュールにより呼出
すことが出来るソフトウェアプログラムまたはモジュー
ルのライブラリ。手近の本発明の場合には、通信インタ
ーフェイスは、外部プロセスおよびコンピュータとデー
タを交換する為にアプリケーションとの簡単なプログラ
ミングを行えるようにする為に、外部のプロセス及びコ
ンピュータの間で希望の切り離しを行うプログラムのラ
イブラリを通信インターフェイスが提供する。
【0306】インターフェイスカード:ある接点でネッ
トワークと物理的接続を形成する電気的回路であって、
ネットワーク上でデータのやり取りをする為にインター
フェイスカードの操作システム・ネットワーク・データ
リンクプロトコルプログラム内の透明な層のプロトコル
プログラムによって作動する。
【0307】固有のフォーマット/フォーム:アプリケ
ーションまたはそのホストコンピュータに固有のフォー
ムへのフォーマットまたはフォーム構造。
【0308】ネスティング(Nested):それ自身
が多数のフィールドを含んでいる他のデータレコードを
各々が含むことできる多数のフィールドを有するデータ
レコードより成るデータ構造。
【0309】ネットワークプロトコル機関:ソフトウェ
ア及びハードウェアの結合体。これは、特定のプロトコ
ルを使用するネットワーク上で通信を行うことが出来る
機能を提供する。
【0310】接点(Node):各種コンピュータ、サ
ーバー、コンピュータネットワークと接続する端子。
【0311】原始フィールド:実際のデータを格納する
フォームすなわちデータレコードのフィールド。
【0312】プロセス:コンピュータで実行中のソフト
ウェアプログラムまたはモジュールの段階。
【0313】意味に依存するオペレーション:特定のフ
ォームがそのフォームからデータをある要求しているプ
ロセスへ供給する為に、クラス定義の少なくとも意味情
報に対するアクセスを求めるオペレーション。
【0314】意味情報:フォーム中の種々のフィールド
フォーム、名称及び意味に関するもの。
【0315】サーバー:大容量記憶装置に格納されてい
るファイル、またはテレレート(Telerate)の
ような情報ソースからの生データを、ネットワークまた
は他のコンピュータ/ワークステーションへ供給して、
サーバーへ結合されている他のプロセスへ分配する、と
いうようなあることを行う為に特定のプロセスを実行し
ているコンピュータ。
【0316】サーバープロセス:テレレート(Tele
rate)、ダウ・ジョーンズ・ニュース・サービス等
のような特定のサービスにより指定されるデータの機能
を供給するアプリケーションプロセス。
【0317】サービス:依頼人アプリケーションを送り
出すことが出来る機能またはデータの有意なセット。言
換えると、サービスというのは、特定のこと、たとえば
ダウ・ジョーンズ・ニュース情報を供給するアプリケー
ション、を行うアプリケーションの全体的なクラスであ
る。Quotronデータ供給源もしくはトレード・チ
ケット・ルータ等をいう。一般には、1つのアプリケー
ションは、1つのサービスを供給するが、これは多くの
異なるサービスを提供するものである。
【0318】サービス統制またはサービスプロトコル:
特定のサーバープロセス、アプリケーション、ローカル
エリアネットワークで通信する為のプロトコルである。 サービスを提供するいくつかのサーバの1つを選ぶルー
チンが含まれている。サービスと通信するためのプロト
コル、どのサーバが選択されているかの通信層のアドバ
イスおよび通信リンクのセットアップの要求が含まれて
いる。
【0319】サービスアクセスプロトコル:サービス統
制のサブセットである。サービスとの通信のための通信
プロトコルを包含している。
【0320】サービス例:特定のコンピュータで実行さ
れ、指定されたサービスを提供できるプロセス(サーバ
ープロセスと呼ばれることもある)。与えられたサービ
スのために、各種のサービス例が共同してサービスを提
供する。これにより、故障に対する耐性もしくは実行能
力が向上される。TIB(商標)通信ソフトウエアの分
散型通信コンポーネントは、故障したサービス例から同
じサービスを提供しているたのものに自動的に切換える
ことにより「故障に強い」通信を実現する。
【0321】サービス層:本発明の教示による装置、方
法の一部である。要求された情報のためのサービスや他
のソースへのアクセスのために使用するアクセス手順の
ために、情報レイヤーからのデータをマッピングし、サ
ービス切り離しを実現するものである。
【0322】サービス切り離し:この発明の通信インタ
ーフェイスソフトウエアにおけるサービスレイヤーの機
能である。これにより、クライエントアプリケーション
は、特定の主題データを供給するサービスのデータへの
アクセスにおいて、特定の通信プロトコルを知る必要や
実行する必要から解放される。
【0323】サービスレコード:指定されたサービスを
行うアプリケーションの重要な特徴を記述するフィール
ドを含むレコード。
【0324】主題ドメイン:主題カテゴリーのセット(
主題スペースも参照の事)。
【0325】主題スペース:主題カテゴリーの階層的な
セット。
【0326】申込み要求(Subscribe Req
uest):ソースサーバー、プロセス、または特定の
主題についてのデータをそれから得ることが出来るその
場所を指定しないその主題についてのデータに対する要
求。トランスポート層:本発明の通信インターフェイス
が結合されるコンピュータの間のネットワークような標
準的なISOモデルの層。
【0327】トランスポート層プロトコル:ゲートウエ
イまたは他のインターネットワーク・ルーチンによって
結合された特定のネットワークまたはグループにおいて
実現される特定の通信プロトコルまたは統制。
【図面の簡単な説明】
【図1】本発明の一実施例の通信インターフェイスの各
種のソフトウェアモジュールとクライエントアプリケー
ションおよびネットワークの関係を示すブロック図であ
る。
【図2】構造化フォームクラス定義の例である。
【図3】別の構造化フォームクラスの定義の例である。
【図4】それ自身が構造化フォームであるフィールドを
含み、したがってネスティングの例であって、構造化フ
ォームクラスの定義の例である。
【図5】2つの原始フォームクラスの例である。
【図6】メモリに格納されている典型的なフォーム例で
ある。
【図7】意味データ、フォーマットデータ、および実際
のデータすなわち値データをフォームクラス定義とフォ
ーム例の間に区分した様子を示す。
【図8】フォーマットオペレーション中の処理の流れ図
である。
【図9】フォーマットオペレーションに使用するターゲ
ットフォーマット特有テーブルである。
【図10】フォーマットオペレーションに使用する別の
ターゲットフォーマット特有テーブルである。
【図11】フォーマットオペレーションに使用する一般
的な変換テーブルの例である。
【図12】典型的な意味依存オペレーションに対する流
れ図である。
【図13】それぞれクラス定義と、このクラス定義を格
納するクラス記述子フォームである。
【図14】通信プロトコルの主題マッパモジュールおよ
びサービス統制モジュールと要求アプリケーションおよ
び主題をベースとするアドレッシングのためのサービス
との間の関係を示すブロック図である。
【図15】本発明の別の実施例のインターフェイスの種
々のモジュールおよびライブラリィとクライエントアプ
リケーションの間の関係を示す。
【図16】別の実施例の通信インターフェイスの種々の
モジュールの内部の関係を示す。
【図17】典型的な分散形コンピュータネットワークの
ブロック図である。
【図18】デーモンにおけるDCCライブラリーのDC
Cプロトコールエンジンに対する関係を示すプロセス構
成である。
【図19】本発明に係るソフトウェアのとりわけ3つの
層において発生し、申し込み要求がサービスに送り出さ
れるプロセスのフローダイヤグラムである。
【図20】本発明に係るソフトウェアのとりわけ3つの
層において発生し、申し込み要求がサービスに送り出さ
れるプロセスのフローダイヤグラムである。
【図21】申し込み要求がデータ発生プロセスで受け取
られ、メッセージが申し込みプロセスに送り返された際
に、本発明の教示に従ってソフトウェアインターフェイ
スのとりわけ3つの層において発生するプロセスの流れ
図である。
【図22】申し込み要求がデータ発生プロセスで受け取
られ、メッセージが申し込みプロセスに送り返された際
に、本発明の教示に従ってソフトウェアインターフェイ
スのとりわけ3つの層において発生するプロセスの流れ
図である。
【図23】メッセージが信頼性のある同報通信プロトコ
ルによって送り返された際に、DCCライブラリーおよ
び信頼性のある同報通信プロトコルエンジンにおいて発
生するプロセスの流れ図である。
【図24】メッセージが信頼性のある同報通信プロトコ
ルによって送り返された際に、DCCライブラリーおよ
び信頼性のある同報通信プロトコルエンジンにおいて発
生するプロセスの流れ図である。
【図25】信頼性のある同報通信トランザクションのデ
ータ消費サイドにおける信頼性のある同報通信プロトコ
ルエンジンによる処理の流れ図である。
【図26】信頼性のある同報通信トランザクションのデ
ータ消費サイドにおける信頼性のある同報通信プロトコ
ルエンジンによる処理の流れ図である。
【図27】インテリジェントマルチキャスト(商標)プ
ロトコルを実現するためのサービス統制において発生す
る処理の流れ図である。
【符号の説明】
10・・・ホストコンピュータ 12・・・ホストコンピュータ 14・・・ネットワーク 16・・・アプリケーション 18・・・アプリケーション 20・・・通信インターフェイス 22・・・通信インターフェイス 30・・・通信コンポーネント 32・・・データ交換コンポーネント 86・・・フォームマネージャ 88・・・データ交換コンポーネント 96・・・通信コンポーネント

Claims (30)

    【特許請求の範囲】
  1. 【請求項1】ネットワークもしくはデータ転送路によっ
    て結合されたコンピュータ上もしくは同一のコンピュー
    タ上で実行される2以上のソフトウエアプロセス間にお
    けるデータ通信を実現する装置であるとともに、他のプ
    ロセスのネットワークアドレスを知る処理が必要でない
    装置であって、以下の要素を備えたもの:1以上のコン
    ピュータ;1以上のデータ転送路によって、前記1以上
    のコンピュータを結合するネットワーク;少なくとも1
    つのサービス例を実現するため、少なくとも1つの前記
    コンピュータにおいて実行されるものであって、前記ネ
    ットワークに向けて伝送データを出力することができる
    、少なくとも1つのデータ出版プロセス;少なくとも1
    つの前記コンピュータにおいて実行されるものであって
    、1以上の前記サービス例からデータの要求を行うこと
    ができる、少なくとも1つのアプリケーションプロセス
    ;少なくとも1つのアプリケーションプロセスからデー
    タを得るための申し込み要求を受け取るとともに、通信
    プロトコルを包含して前記ネットワークとの通信を可能
    として当該データを得るとともに、当該データを得るた
    めの通信セッションを確立し、その後、当該要求データ
    を変更を含めてリアルタイムに受け取り、当該データを
    前記アプリケーションプロセスに提供するサービス統制
  2. 【請求項2】請求項1の装置において、前記少なくとも
    1つのデータ出版プロセスは複数のデータ出版プロセス
    を含んでおり、サービス統制プロトコルは少なくとも各
    異なるデータ出版プロセスとの通信を行うための少なく
    とも1つの通信プロトコルを包含しており、前記通信プ
    ロトコルの少なくとも一つは特定のサービス例と通信セ
    ッションを確立するための申し込み要求を受信する手段
    を含むとともに、さらに、データの申し込み要求を発し
    たアプリケーションプロセスが、データを得るために適
    切なサービス統制プロトコルに要求する前に、当該デー
    タを受信する権利を与えられたことを確認する手段を備
    えたことを特徴とするもの。
  3. 【請求項3】請求項1の装置において、前記少なくとも
    1つのデータ出版プロセスはデータを得るための異なっ
    た通信プロトコルを必要とする複数のデータ出版プロセ
    スを備えており、前記サービス統制プロトコルは少なく
    とも各異なるデータ出版プロセスとの通信を行うための
    通信プロトコルを包含しており、前記サービス統制プロ
    トコルは種々のエラーに対する自動リカバリー手段を含
    んでいることを特徴とするもの。
  4. 【請求項4】請求項3の装置において、前記サービス統
    制プロトコルは、同じ型のデータを供給する他のサービ
    ス例に自動的に切り換えることにより、サービス例のエ
    ラーに対する自動リカバリーを行う手段を含んでいるこ
    とを特徴とするもの。
  5. 【請求項5】請求項3の装置において、前記少なくとも
    1つのデータ出版プロセスは複数のデータ出版プロセス
    を含んでおり、サービス統制プロトコルは少なくとも各
    異なるデータ出版プロセスとの通信を行うための少なく
    とも1つの通信プロトコルを包含しており、サービス統
    制プロトコルは、同じ型のデータを供給する他のサービ
    ス例が実行されている他のコンピュータに自動的に切り
    換えることにより、少なくともサービス例が実行されて
    いるコンピュータのエラーを含む種々のエラーから自動
    的にリカバリーする手段を含んでいることを特徴とする
    もの。
  6. 【請求項6】請求項1の装置において、前記少なくとも
    1つのデータ出版プロセスは複数のサービス例を備えて
    おり、前記サービス統制プロトコルは少なくとも各異な
    るサービス例と通信を行うための少なくとも1つの通信
    プロトコルを含む複数の通信プロトコルを包含しており
    、サービス統制プロトコルは、同じ型のデータを供給す
    る他のサービス例が実行されている他のコンピュータに
    自動的に切り換えることにより、少なくともサービス例
    が実行されているコンピュータのエラーを含む種々のエ
    ラーから自動的にリカバリーする手段を含んでいること
    を特徴とするもの。
  7. 【請求項7】請求項1、2、3、4、5又は6の装置に
    おいて、前記ネットワークの通信プロトコルと前記サー
    ビス統制プロトコルの前記通信プロトコルとのインター
    フェイスをとるため、前記サービス統制プロトコルに結
    合された少なくとも1つのプロトコルエンジンを包含す
    る通信手段をさらに備えたことを特徴とするもの。
  8. 【請求項8】請求項1の装置において、前記通信手段は
    複数のプロトコルエンジンを包含しており、各プロトコ
    ルエンジンは異なるネットワーク通信プロトコルを包含
    していることを特徴とするもの。
  9. 【請求項9】請求項8の装置において、サービス統制プ
    ロトコルの適切な通信プロトコルが要求される前に、デ
    ータを得るための通信セッションのセットアップのため
    に適切なプロトコルエンジンが要求される前に、データ
    の申し込み要求を発したアプリケーションプロセスが、
    当該データを受信する権利を与えられたことを確認する
    手段を備えたことを特徴とするもの。
  10. 【請求項10】請求項1の装置において、前記ネットワ
    ークの通信プロトコルと前記サービス統制プロトコルの
    前記通信プロトコルとのインターフェイスをとるため、
    前記サービス統制プロトコルに結合された少なくとも1
    つのプロトコルエンジンを包含するとともに、前記アプ
    リケーションプロセスがネットワークの複雑な通信から
    切り離され、種々の信頼性の高いネットワーク上の通信
    プロトコルを実行し、ネットワークから受けたデータの
    完全性、正確性の確認の必要に関係する必要を無くする
    通信手段をさらに備えたことを特徴とするもの。
  11. 【請求項11】請求項7の装置において、前記データ出
    版プロセスをネットワーク通信プロトコルにインターフ
    ェイスするための少なくとも1つのプロトコルエンジン
    を包含するため、および前記アプリケーションプロセス
    に接続されたプロトコルエンジンを包含するための各デ
    ータ出版プロセスに接続された通信手段をさらに備えて
    おり、前記プロトコルエンジンは、信頼性の高い同時通
    信プロトコルの実行と共同させられており、そこにおい
    てプロトコルエンジンは、同じデータ出版プロセスから
    同時通信プロトコルを介して同じデータを受信する複数
    の前記アプリケーションプロセスと結合され、すべての
    メッセージがすべての申し込みアプリケーションプロセ
    スによってうまく受信されたことを確認し、エラーのあ
    ったメッセージや送られなかったメッセージの再送信を
    行うことを特徴とするもの。
  12. 【請求項12】請求項7の装置において、前記通信手段
    は、前記データ出版プロセスをネットワーク通信プロト
    コルにインターフェイスするための複数のプロトコルエ
    ンジンを包含しており、少なくとも前記プロトコルエン
    ジンのいくつかは前記アプリケーションおよびデータ出
    版プロセスに結合されており、信頼性の高い同時通信プ
    ロトコルの実行と共同させる手段を含んでおり、そこに
    おいてプロトコルエンジンは、同じデータ出版プロセス
    から同時通信プロトコルを介して同じデータを受信する
    複数の前記アプリケーションプロセスと結合され、すべ
    てのメッセージがすべての申し込みアプリケーションプ
    ロセスによってうまく受信されたことを確認し、エラー
    のあったパケットや送られなかったパケットの再送信を
    行う、そして少なくとも前記プロトコルエンジンのいく
    つかはインテリジェント・マルチキャスト・プロトコル
    の実行と共同されており、ここにおいて前記データ出版
    プロセスに結合されたプロトコルエンジンは、申し込み
    プロセスの数がある数に達するまで、一対一の通信プロ
    トコルを介して、申し込んだアプリケーションプロセス
    にデータを送る、ここである数とは、同時通信プロトコ
    ルを介して送った方がより効率的な程の数である、そし
    て、その数に達したとき、前記信頼性の高い同時通信プ
    ロトコルに自動的にスイッチされる、そして必要に応じ
    て、一対一と同時通信のプロトコルとが、アプリケーシ
    ョンプロセスの申し込み数により、随時切り換えられる
    ことを特徴とするもの。
  13. 【請求項13】請求項6の装置において、各データ出版
    プロセスに接続され、前記データ出版プロセスをネット
    ワーク通信プロトコルにインターフェイスするための少
    なくとも1つのプロトコルエンジンを包含する通信手段
    をさらに備え、前記アプリケーションおよびデータ出版
    プロセスに接続された少なくともいくつかのプロトコル
    エンジンは、信頼性の高い同時通信プロトコルを実行す
    るように組合わされている、ここにおいて、プロトコル
    エンジンは、同じデータ出版プロセスから同時通信プロ
    トコルを介して同じデータを受信する複数の前記アプリ
    ケーションプロセスと結合され、すべてのメッセージが
    すべての申し込みアプリケーションプロセスによってう
    まく受信されたことを確認し、エラーのあったパケット
    や送られなかったパケットの再送信を行う、そして少な
    くとも前記プロトコルエンジンのいくつかはインテリジ
    ェント・マルチキャスト・プロトコルの実行と共同され
    ており、ここにおいて前記データ出版プロセスに結合さ
    れたプロトコルエンジンは、申し込みプロセスの数があ
    る数に達するまで、一対一の通信プロトコルを介して、
    申し込んだアプリケーションプロセスにデータを送る、
    ここである数とは、同時通信プロトコルを介して送った
    方がより効率的な程の数である、そして、その数に達し
    たとき、前記信頼性の高い同時通信プロトコルに自動的
    にスイッチされる、そして必要に応じて、一対一と同時
    通信のプロトコルとが、アプリケーションプロセスの申
    し込み数により、随時切り換えられることを特徴とする
    もの。
  14. 【請求項14】請求項11の装置において、前記少なく
    とも1つのデータ出版プロセスは、サーバ上で動作して
    いる複数のデータ出版プロセスを備えており、前記サー
    ビス統制プロトコルは、少なくとも各異なるデータ出版
    プロセスとの通信を行うための少なくとも1つの通信プ
    ロトコルを含む複数の通信プロトコルを包含しており、
    さらに前記サービス統制プロトコルは、同じ型のデータ
    を供給する他のデータ出版プロセスが動作している他の
    サーバに自動的に切り換えることにより、データ出版プ
    ロセスが動作しているサーバの故障から自動的にリカバ
    リーする手段を含んでいることを特徴とするもの。
  15. 【請求項15】請求項14の装置において、前記アプリ
    ケーションおよびデータ出版プロセスに接続された少な
    くともいくつかの前記プロトコルエンジンは、インテリ
    ジェント・マルチキャスト・プロトコルを実行するよう
    結合されており、前記データ出版プロセスに接続された
    プロトコルエンジンは、申し込みプロセスの数がある数
    に達するまで、一対一の通信プロトコルを介して、申し
    込んだアプリケーションプロセスにデータを送る、ここ
    である数とは、同時通信プロトコルを介して送った方が
    より効率的な程の数である、そして、その数に達したと
    き、前記信頼性の高い同時通信プロトコルに自動的にス
    イッチされる、そして必要に応じて、一対一と同時通信
    のプロトコルとが、アプリケーションプロセスの申し込
    み数により、随時切り換えられることを特徴とするもの
  16. 【請求項16】請求項15の装置において、前記ネット
    ワークは少なくとも2つのネットワークを備えており、
    前記サービス統制プロトコルは、故障したデータ出版プ
    ロセスが供給していたと同じ型のデータを供給する他の
    データ出版プロセスが動作している他のサーバに自動的
    に切り換えることにより、もしくは要求されているデー
    タの入手の継続を可能とするために、他のネットワーク
    に自動的に切り換えることにより、データ出版プロセス
    もしくはネットワークの故障から自動的にリカバリーす
    る手段を含んでいることを特徴とするもの。
  17. 【請求項17】請求項1、2、4、5、8、9、10又
    は11の装置において、前記サービス統制プロトコルは
    、アプリケーションプロセスが特定の主題についての要
    求されたデータを持つことを前記ネットワークに通信す
    る手段を含んでおり、データ出版プロセスに接続され、
    アクティブな申し込みのリストをメンテナンスし、ネッ
    トワークのバンド幅を維持するために出ていくデータを
    選別するサービス統制プロトコルをさらに含んでいるこ
    とを特徴とするもの。
  18. 【請求項18】請求項17の装置において、前記データ
    出版プロセスに接続された前記サービス統制手段は、前
    記データを前記ネットワークに通信するために用いる適
    切な通信プロトコルを決定するために、前記申し込みリ
    ストを使う手段をさらに備えていることを特徴とするも
    の。
  19. 【請求項19】請求項1の装置において、異なる主題の
    データを得る手段を含む主題に基づくアドレッシングプ
    ログラムをさらに備えており、前記主題に基づくアドレ
    ッシングプログラムは、少なくとも1つのアプリケーシ
    ョンとデータ出版プロセスにリンクされ、少なくとも1
    つの主題に関する前記少なくとも1つのアプリケーショ
    ンプロセスからの申し込み要求を受けて処理するための
    ネットワークにリンクされ、要求された主題のデータを
    得る適切な手段に前記主題をマッピングし、前記主題の
    データを得る適当な手段とともに要求されたデータの申
    し込みを受入れ、要求された主題のデータを受信し、デ
    ータを要求した1以上のアプリケーションプロセスにデ
    ータを通過させるためのコンピュータプログラムを含ん
    でいることを特徴とするもの。
  20. 【請求項20】請求項1の装置において、1以上のアプ
    リケーションプロセスおよび1以上のデータ出版プロセ
    スにリンクされた1以上のコンピュータプログラムを備
    えたデータフォーマット切り離しライブラリをさらに備
    え、第1のフォーマットのデータを使用する少なくとも
    1つのアプリケーションと第1のフォーマットとは異な
    る第2のフォーマットの出版データを用いる少なくとも
    1つのデータ出版プロセスとの間において呼出されたフ
    ォームの自己記述的データオブジェクトの交換を行う意
    味依存オペレーションを実行する少なくとも1つのクラ
    スマネージャー手段を含んでおり、前記フォームは、他
    のフォームを含んだ1以上のフィールドを含んでおり、
    各フィールドは、フィールドが含むデータの原始クラス
    フォームもしくは構造化クラスフォームのいずれであっ
    てもよく、フォームクラスは任意のネスティングレベル
    をとることができ、前記クラスマネージャー手段は、特
    定のフォーム例の特定のフィールドからデータを得る要
    求を受け取ってデータ交換を行うためのものであり、前
    記要求のフィールド名と一致した名前を有するフィール
    ドのためのクラス定義を検索するためのものであり、前
    記検索は、前記クラス定義のいずれかのフィールドのた
    めに構造化クラスフォームを含む全てのクラス定義を検
    索することを含み、前記クラス定義の全てのレベルのネ
    スティグにわたって検索を行うことを含んでおり、要求
    しているプロセスに要求したフィールドを含むフォーム
    のクラスのフォーム例の中の要求したフィールドの位置
    を明らかにする相対アドレスポインタを帰し、元の要求
    のフィールド名に含まれる特定のデータ要求を受け、要
    求されたデータを読むために、前記相対アドレスポイン
    タおよび特定のフォーム例のアドレスを使用し、前記要
    求プロセスへデータを返送することを特徴とするもの。
  21. 【請求項21】請求項1の装置において、少なくとも2
    つの前記ネットワークをさらに備え、前記少なくとも1
    つのアプリケーションプロセスおよび前記少なくとも1
    つのデータ出版プロセスに接続され、使用しているデー
    タ転送路の故障時に、代りのネットワークに自動的に切
    り換えることによりネットワーク故障に対する信頼性を
    与える手段をさらに備えていることを特徴とするもの。
  22. 【請求項22】請求項1、19、20または21の装置
    において、前記1以上のアプリケーションプロセスによ
    って請求されたデータに関する主題のデータ供給を可能
    とする少なくとも1つの前記データ出版プロセスが実行
    されており、前記ネットワークに接続された少なくとも
    2つのサーバコンピュータをさらに備えており、少なく
    とも前記サーバコンピュータと少なくとも1つのアプリ
    ケーションプロセスに接続されており、要求された主題
    データを供給するデータ出版プロセスが動いている他の
    サーバコンピュータに自動的に切り換えることにより、
    サーバ故障に対する信頼性を高める手段をさらに備え、
    これにより要求された主題のデータを、主題を要求した
    少なくとも一つのアプリケーションプロセスに送る流れ
    を実質的にとぎれることがないように維持することを特
    徴とするもの。
  23. 【請求項23】請求項19の装置において、前記1以上
    のコンピュータは、データ出版プロセスまたはサービス
    例が動作している少なくとも2つのサーバコンピュータ
    を含んでおり、少なくとも2つの前記サーバコンピュー
    タおよびこのコンピュータで動作しているサービス例は
    、通信するために異なる通信プロトコルを必要とし、前
    記サービス統制プログラムは少なくとも2つの異なるサ
    ービス統制プロトコルを包含する手段を含み、それぞれ
    は、サーバコンピュータで動作している少なくとも1つ
    のサービス例もしくは異なるデータ出版プロセスと通信
    を行う、前記主題に基づくアドレッシングプログラムは
    、主題を適当な前記サービス統制プロトコルにマッピン
    グし、要求された主題の通信セッションを確立するため
    にサービス統制プロトコルを要求し、受領した主題のデ
    ータを適当な1以上の主題データを要求したアプリケー
    ションプロセスに通過させることを特徴とする。
  24. 【請求項24】請求項1の装置において、前記サービス
    統制プログラムは、1以上の前記サーバコンピュータが
    要求した主題データのソースとしての継続能力をモニタ
    ーし、モニタ対象となっている要求された主題データを
    供給するサーバに故障があれば、自動的にサービス例が
    動作し当該主題を供給可能な他のサーバコンピュータを
    選択し、適当なサービス統制プロトコルを要求すること
    により主題との通信セッションを確立し、データを要求
    した1以上のアプリケーションプロセスに要求された主
    題データを通過させるような手段を含むことを特徴とし
    ている。
  25. 【請求項25】請求項19の装置において、少なくとも
    1つのプロトコルエンジンを含み、少なくとも1つの前
    記主題に基づくアドレッシングプログラムと接続され、
    ネットワークに固有のプロトコルを使用して前記主題に
    関する通信を確立するためのネットワーク通信プロトコ
    ルを包含する通信手段をさらに備えていることを特徴と
    するもの。
  26. 【請求項26】クレーム1の装置において、前記サービ
    ス統制プログラムは、主題データを供給するデータ出版
    プロセスに結合されており、主題によるデータの選別に
    よって主題に基づくアドレッシングをサポートし、ネッ
    トワークのバンド幅を確保することを特徴とするもの。
  27. 【請求項27】請求項25の装置において、前記通信手
    段は、前記アプリケーションおよびデータ出版プロセス
    のおのおのに接続されており、前記アプリケーションお
    よびデータ出版プロセスは、同じネットワーク通信プロ
    トコルを使う各プロトコルエンジンを介してネットワー
    クと通信を行い、前記プロトコルエンジンは、信頼性の
    高い同時通信プロトコルを実現するために結合され、主
    題データは分離したメッセージで送信され、申し込みが
    なされた主題の同時データ通信の全ての分離されたメッ
    セージの完全な受領が、アプリケーションおよびデータ
    出版プロセスに接続されたプロトコルエンジンによって
    確認され、エラーや送れなかったメッセージは再送信さ
    れることを特徴とするもの。
  28. 【請求項28】請求項25の装置において、前記通信手
    段は、前記アプリケーションおよびデータ出版プロセス
    のおのおのに接続されており、前記アプリケーションお
    よびデータ出版プロセスは、同じネットワーク通信プロ
    トコルを使う各プロトコルエンジンを介してネットワー
    クと通信を行い、前記プロトコルエンジンは、インテリ
    ジェント・マルチキャスト・プロトコルを実現するため
    に結合され、特定の主題に関するデータは、申し込んだ
    アプリケーションの数がある数を超えるまでは、データ
    出版プロセスと各アプリケーションプロセスとの間の一
    対一通信プロトコルを使ってネットワークに送られる、
    ここで、ある数とは、一対一通信がデータを送るのに最
    も適している申し込みの数である、同時通信プロトコル
    への切り換えが自動的に行われることを特徴とするもの
  29. 【請求項29】請求項25、27または28の装置にお
    いて、前記プロトコルエンジンは、ネットワークに送ら
    れるデータを、主題によって選別するものであることを
    特徴とするもの。
  30. 【請求項30】請求項1、2、3、4、5、6、8、9
    、10または13の装置において、1以上のアプリケー
    ションプロセスと1以上のデータ出版プロセスのそれぞ
    れに接続された1以上のコンピュータを備え、各コンピ
    ュータで使用されているデータ表現、データ編成にフォ
    ーマットを行うフォーマット変換オペレーションを実行
    することにより、自己記述的データオブジェクトを使用
    してデータ出版プロセスとアプリケーションプロセスと
    の間で、ネットワークを介して、データ転送を実行する
    データフォーマット切り離し手段を備えており、(ここ
    で、データ出版プロセスとアプリケーションプロセスと
    は異なっていてよい)、前記自己記述的データオブジェ
    クトは、1以上のフィールドを含み、独自のクラス識別
    子を有する1以上のクラスに編成されている、各フィー
    ルドの名前の自己記述的データオブジェクトの各クラス
    の一般的な編成および自己記述的データオブジェクトの
    クラス識別子および自己記述的データオブジェクトの各
    フィールドに含まれる説明データとして使用されるコン
    ピュータコードによって定義されるフォーマット情報は
    、クラス定義として定義され、前記データフォーマット
    切り離し手段は、アプリケーションプログラムから要求
    された主題データのデータフォーマットを、データ出版
    プロセスによって出されたデータのデータフォーマット
    からネットワークを介して伝送するに好ましいフォーマ
    ットに変換し、ネットワークに送るフォーマットからデ
    ータを要求したアプリケーションプロセスによって使用
    されているフォーマットに変換し、フォーム例自身に記
    憶されたフォーマット情報を使用して1以上のフォーマ
    ット変換オペレーションを実行する少なくとも1つのフ
    ォームマネージャプログラム手段を含んでいることを特
    徴とする。
JP3274338A 1990-10-22 1991-10-22 ソフトウエア間通信のためのデータ交換装置 Expired - Fee Related JP3023225B2 (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US07/601,117 US5257369A (en) 1990-10-22 1990-10-22 Apparatus and method for providing decoupling of data exchange details for providing high performance communication between software processes
US07/632551 1990-12-21
US07/601117 1990-12-21
US07/632,551 US5557798A (en) 1989-07-27 1990-12-21 Apparatus and method for providing decoupling of data exchange details for providing high performance communication between software processes

Publications (2)

Publication Number Publication Date
JPH04299758A true JPH04299758A (ja) 1992-10-22
JP3023225B2 JP3023225B2 (ja) 2000-03-21

Family

ID=27083793

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3274338A Expired - Fee Related JP3023225B2 (ja) 1990-10-22 1991-10-22 ソフトウエア間通信のためのデータ交換装置

Country Status (10)

Country Link
US (2) US5557798A (ja)
EP (1) EP0485252B1 (ja)
JP (1) JP3023225B2 (ja)
KR (1) KR970004519B1 (ja)
AT (1) ATE163483T1 (ja)
AU (2) AU8953091A (ja)
CA (1) CA2052803C (ja)
DE (1) DE69128952T2 (ja)
MX (1) MX9101699A (ja)
WO (1) WO1992007324A1 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004512622A (ja) * 2000-10-27 2004-04-22 テラプレイ システムズ エービー 分散型マルチユーザアプリケーションにおいてアプリケーション名をタグ値にマッピングするためのサーバ
JP2005301938A (ja) * 2004-04-16 2005-10-27 Dainippon Printing Co Ltd 携帯型情報記憶媒体及びそのプログラム
JP2009188976A (ja) * 2008-02-04 2009-08-20 Omnivex Corp デジタル標識ネットワーク
JP2014123363A (ja) * 2012-12-20 2014-07-03 Sap Ag 多様なデータ接続のためのサービスおよびマネージメント層
JP2015529872A (ja) * 2012-06-20 2015-10-08 オラクル・インターナショナル・コーポレイション オフライン機能のためのモバイル治験モニターフレームワーク

Families Citing this family (461)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1991004540A1 (en) * 1989-09-08 1991-04-04 Auspex Systems, Inc. Multiple facility operating system architecture
US5826017A (en) * 1992-02-10 1998-10-20 Lucent Technologies Apparatus and method for communicating data between elements of a distributed system using a general protocol
FR2692058B1 (fr) * 1992-06-09 1994-07-29 Bull Sa Systeme de traitement transactionnel entre un serveur informatique et une pluralite de stations de travail.
US5329619A (en) * 1992-10-30 1994-07-12 Software Ag Cooperative processing interface and communication broker for heterogeneous computing environments
WO1994019751A1 (en) * 1993-02-26 1994-09-01 Taligent, Inc. Collaborative work system
US6717938B1 (en) * 1999-04-15 2004-04-06 J2 Global Communications, Inc. System controlling use of a communication channel
US5651059A (en) * 1993-06-29 1997-07-22 Lucent Technologies Inc. Service package field update for a-i-net SCN and SCP
IT1264644B1 (it) * 1993-07-02 1996-10-04 Alcatel Italia Metodo per permettere lo scambio di informazioni fra processi attraverso un dispositivo di comunicazione
JPH0795202A (ja) * 1993-09-20 1995-04-07 Fujitsu Ltd システム間での定義情報の共用方式
EP0734556B1 (en) 1993-12-16 2002-09-04 Open Market, Inc. Network based payment system and method for using such system
US5491800A (en) * 1993-12-20 1996-02-13 Taligent, Inc. Object-oriented remote procedure call networking system
DE4401465A1 (de) * 1994-01-19 1995-08-10 Siemens Ag Kommunikationsmodul
JP3777196B2 (ja) * 1994-05-10 2006-05-24 富士通株式会社 クライアント/サーバシステム用の通信制御装置
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
US5625818A (en) * 1994-09-30 1997-04-29 Apple Computer, Inc. System for managing local database updates published to different online information services in different formats from a central platform
US5715314A (en) * 1994-10-24 1998-02-03 Open Market, Inc. Network sales system
US5852825A (en) * 1994-12-05 1998-12-22 Trimble Navigation Limited Form data message formatting method, program and system
JPH08286916A (ja) * 1994-12-16 1996-11-01 Internatl Business Mach Corp <Ibm> オブジェクトにより手続きソフトウェアを機能的に改良するシステム及び方法
US6157721A (en) 1996-08-12 2000-12-05 Intertrust Technologies Corp. Systems and methods using cryptography to protect secure computing environments
DE69638018D1 (de) 1995-02-13 2009-10-15 Intertrust Tech Corp Systeme und Verfahren zur Verwaltung von gesicherten Transaktionen und zum Schutz von elektronischen Rechten
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
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
US6948070B1 (en) 1995-02-13 2005-09-20 Intertrust Technologies Corporation Systems and methods for secure transaction management and electronic rights protection
US5892900A (en) 1996-08-30 1999-04-06 Intertrust Technologies Corp. Systems and methods for secure transaction management and electronic rights protection
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
US5680586A (en) * 1995-04-18 1997-10-21 International Business Machines Corporation Method and system for storing and accessing user-defined attributes within a data processing system
US5694596A (en) 1995-05-25 1997-12-02 Kangaroo, Inc. On-line database updating network system and method
US6240451B1 (en) * 1995-05-25 2001-05-29 Punch Networks Corporation Method and apparatus for automatically disseminating information over a network
US5729682A (en) * 1995-06-07 1998-03-17 International Business Machines Corporation System for prompting parameters required by a network application and using data structure to establish connections between local computer, application and resources required by application
US7272639B1 (en) 1995-06-07 2007-09-18 Soverain Software Llc Internet server access control and monitoring systems
US6223168B1 (en) * 1995-07-25 2001-04-24 Bottomline Technologies, Inc. Automatic remittance delivery system
US5655080A (en) * 1995-08-14 1997-08-05 International Business Machines Corporation Distributed hash group-by cooperative processing
US20020046143A1 (en) * 1995-10-03 2002-04-18 Eder Jeffrey Scott Method of and system for evaluating cash flow and elements of a business enterprise
US5774670A (en) 1995-10-06 1998-06-30 Netscape Communications Corporation Persistent client state in a hypertext transfer protocol based client-server system
JP2988394B2 (ja) * 1995-10-19 1999-12-13 日本電気株式会社 可変長オブジェクトのデータベース処理装置、データベース処理方法、およびデータベース処理プログラムを記憶する記憶媒体
US5764955A (en) * 1995-10-19 1998-06-09 Oasys Group, Inc. Gateway for using legacy telecommunications network element equipment with a common management information protocol
US5864843A (en) * 1995-10-20 1999-01-26 Ncr Corporation Method and apparatus for extending a database management system to operate with diverse object servers
US5689698A (en) * 1995-10-20 1997-11-18 Ncr Corporation Method and apparatus for managing shared data using a data surrogate and obtaining cost parameters from a data dictionary by evaluating a parse tree object
US6085223A (en) * 1995-10-20 2000-07-04 Ncr Corporation Method and apparatus for providing database information to non-requesting clients
US5754841A (en) * 1995-10-20 1998-05-19 Ncr Corporation Method and apparatus for parallel execution of user-defined functions in an object-relational database management system
US5930786A (en) * 1995-10-20 1999-07-27 Ncr Corporation Method and apparatus for providing shared data to a requesting client
US5794250A (en) * 1995-10-20 1998-08-11 Ncr Corporation Method and apparatus for extending existing database management system for new data types
US6393496B1 (en) * 1995-11-09 2002-05-21 Curtis A. Schwaderer Operating system and network independent application program interface for use in an intelligent communication device
US5852719A (en) * 1995-12-20 1998-12-22 Tandem Computers Incorporated System for transferring data over a network in which a data source sends only a descriptor which a data sink uses to retrieve data
US5954794A (en) * 1995-12-20 1999-09-21 Tandem Computers Incorporated Computer system data I/O by reference among I/O devices and multiple memory units
US5790807A (en) * 1995-12-20 1998-08-04 Tandem Computers Incorporated Computer sysem data I/O by reference among CPUS and I/O devices
US5931903A (en) * 1995-12-20 1999-08-03 Tandem Computers Incorporated Computer system data I/O by reference among multiple CPUS
US5941959A (en) * 1995-12-20 1999-08-24 Tandem Computers Incorporated System for transferring a data stream to a requestor without copying data segments to each one of multiple data source/sinks during data stream building
US5802510A (en) * 1995-12-29 1998-09-01 At&T Corp Universal directory service
US6405254B1 (en) * 1996-01-03 2002-06-11 Sterling Commerce, Inc. System and method for protocol conversion using facilities and utilities
US5873084A (en) * 1996-01-18 1999-02-16 Sun Microsystems, Inc. Database network connectivity product
US5870605A (en) * 1996-01-18 1999-02-09 Sun Microsystems, Inc. Middleware for enterprise information distribution
US6014137A (en) 1996-02-27 2000-01-11 Multimedia Adventures Electronic kiosk authoring system
US20040019610A1 (en) * 1996-02-27 2004-01-29 Burns Kevin S. Portal information delivery system for personal computers and SOHO computer systems
WO1997035254A1 (en) * 1996-03-19 1997-09-25 Massachusetts Institute Of Technology Computer system and computer implemented process for representing software system descriptions and for generating executable computer programs and computer system configurations from software system descriptions
US7908333B2 (en) * 1996-04-05 2011-03-15 Haury Harry R Self configuring peer to peer inter process messaging system
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
US6446070B1 (en) 1998-02-26 2002-09-03 Sun Microsystems, Inc. Method and apparatus for dynamic distributed computing over a network
US6421704B1 (en) 1998-03-20 2002-07-16 Sun Microsystems, Inc. Method, apparatus, and product for leasing of group membership in a distributed system
US6487607B1 (en) 1998-02-26 2002-11-26 Sun Microsystems, Inc. Methods and apparatus for remote method invocation
US6237024B1 (en) 1998-03-20 2001-05-22 Sun Microsystem, Inc. Method and apparatus for the suspension and continuation of remote processes
US6134603A (en) * 1998-03-20 2000-10-17 Sun Microsystems, Inc. Method and system for deterministic hashes to identify remote methods
US6466947B2 (en) 1998-03-20 2002-10-15 Sun Microsystems, Inc. Apparatus and method for dynamically verifying information in a distributed system
US6463446B1 (en) 1998-02-26 2002-10-08 Sun Microsystems, Inc. Method and apparatus for transporting behavior in an event-based distributed system
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
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
US6185611B1 (en) 1998-03-20 2001-02-06 Sun Microsystem, Inc. Dynamic lookup service 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
US6598094B1 (en) 1998-03-20 2003-07-22 Sun Microsystems, Inc. Method and apparatus for determining status of remote objects in a distributed system
US6578044B1 (en) 1997-11-17 2003-06-10 Sun Microsystems, Inc. Method and system for typesafe attribute matching
US6138238A (en) 1997-12-11 2000-10-24 Sun Microsystems, Inc. Stack-based access control using code and executor identifiers
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
US6708171B1 (en) 1996-04-23 2004-03-16 Sun Microsystems, Inc. Network proxy
US6282652B1 (en) 1998-02-26 2001-08-28 Sun Microsystems, Inc. System for separately designating security requirements for methods invoked on a computer
US6226746B1 (en) 1998-03-20 2001-05-01 Sun Microsystems, Inc. Stack-based system and method to combine security requirements of methods
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
US6438614B2 (en) 1998-02-26 2002-08-20 Sun Microsystems, Inc. Polymorphic token based control
US6832223B1 (en) 1996-04-23 2004-12-14 Sun Microsystems, Inc. Method and system for facilitating access to a lookup service
US6247026B1 (en) 1996-10-11 2001-06-12 Sun Microsystems, Inc. Method, apparatus, and product for leasing of delegation certificates in a distributed system
US6151300A (en) * 1996-05-10 2000-11-21 Fujitsu Network Communications, Inc. Method and apparatus for enabling flow control over multiple networks having disparate flow control capability
US6049782A (en) * 1996-05-31 2000-04-11 Citibank, N.A. Relationship management system and process for pricing financial instruments based on a customer's relationship with a financial institution
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
US5974414A (en) * 1996-07-03 1999-10-26 Open Port Technology, Inc. System and method for automated received message handling and distribution
US5796633A (en) * 1996-07-12 1998-08-18 Electronic Data Systems Corporation Method and system for performance monitoring in computer networks
US6026425A (en) * 1996-07-30 2000-02-15 Nippon Telegraph And Telephone Corporation Non-uniform system load balance method and apparatus for updating threshold of tasks according to estimated load fluctuation
US6298386B1 (en) * 1996-08-14 2001-10-02 Emc Corporation Network file server having a message collector queue for connection and connectionless oriented protocols
US6073139A (en) * 1996-08-15 2000-06-06 Gioquest, A Division Of Schlumberger Technology Corp. Integrated data communication and data access system including the application data interface
JPH1097571A (ja) * 1996-09-20 1998-04-14 Hitachi Ltd 相談先端末接続方法
US5748962A (en) * 1996-09-30 1998-05-05 Mci Communications Corporation Common channels for inter-application communications
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
US5909550A (en) * 1996-10-16 1999-06-01 Cisco Technology, Inc. Correlation technique for use in managing application-specific and protocol-specific resources of heterogeneous integrated computer network
US6032175A (en) * 1996-10-17 2000-02-29 International Business Machines Corporation Enhanced directory services in compound wide/local area networks
US6219703B1 (en) * 1996-10-31 2001-04-17 Motorola, Inc. Method and apparatus for constructing a device management information base in a network management station
US5889990A (en) * 1996-11-05 1999-03-30 Sun Microsystems, Inc. Information appliance software architecture with replaceable service module providing abstraction function between system library and platform specific OS
US6601111B1 (en) * 1997-01-29 2003-07-29 Palmsource, Inc. Method and apparatus for unified external and interprocess communication
US6845505B1 (en) * 1997-02-03 2005-01-18 Oracle International Corporation Web request broker controlling multiple processes
US6710786B1 (en) 1997-02-03 2004-03-23 Oracle International Corporation Method and apparatus for incorporating state information into a URL
US6115549A (en) * 1997-02-12 2000-09-05 Novell, Inc. Directory-services-based software distribution apparatus and method
US6990069B1 (en) * 1997-02-24 2006-01-24 At&T Corp. System and method for improving transport protocol performance in communication networks having lossy links
US6061713A (en) * 1997-03-12 2000-05-09 Fujitsu Limited Communications system for client-server data processing systems
US5949975A (en) 1997-03-12 1999-09-07 Microsoft Corp. Method and system for negotiating capabilities when sharing an application program with multiple computer systems
US6075796A (en) 1997-03-17 2000-06-13 At&T Methods and apparatus for providing improved quality of packet transmission in applications such as internet telephony
US6704785B1 (en) 1997-03-17 2004-03-09 Vitria Technology, Inc. Event driven communication system
US6128653A (en) * 1997-03-17 2000-10-03 Microsoft Corporation Method and apparatus for communication media commands and media data using the HTTP protocol
US6026430A (en) * 1997-03-24 2000-02-15 Butman; Ronald A. Dynamic client registry apparatus and method
US5884035A (en) * 1997-03-24 1999-03-16 Pfn, Inc. Dynamic distributed group registry apparatus and method for collaboration and selective sharing of information
US5867665A (en) * 1997-03-24 1999-02-02 Pfn, Inc Domain communications server
US5870562A (en) * 1997-03-24 1999-02-09 Pfn, Inc. Universal domain routing and publication control system
US6240186B1 (en) 1997-03-31 2001-05-29 Sun Microsystems, Inc. Simultaneous bi-directional translation and sending of EDI service order data
US6724896B1 (en) * 1997-03-31 2004-04-20 Sun Microsystems, Inc. Event-driven servers for data extraction and merge for EDI transaction processing using the internet
EP1016066A4 (en) 1997-03-31 2001-06-13 G & R Associates Inc COMPUTER / TELEPHONE INTEGRATION WITH INTELLIGENT KEYBOARD, AND ASSOCIATED METHOD
US6240441B1 (en) 1997-03-31 2001-05-29 Sun Microsystems, Inc. Secure event-driven EDI transaction processing using the internet
US5893091A (en) * 1997-04-11 1999-04-06 Immediata Corporation Multicasting with key words
US5974234A (en) * 1997-04-15 1999-10-26 Xerox Corporation Centralized print server for interfacing one or more network clients with a plurality of printing devices
CA2228574A1 (en) * 1997-06-05 1999-08-02 Attention Control Systems, Inc. An automatic planning and cueing system and method
US6122276A (en) * 1997-06-30 2000-09-19 Cisco Technology, Inc. Communications gateway mapping internet address to logical-unit name
US6098108A (en) * 1997-07-02 2000-08-01 Sitara Networks, Inc. Distributed directory for enhanced network communication
US7080385B1 (en) * 1997-08-18 2006-07-18 Tibco Software Inc. Certified message delivery and queuing in multipoint publish/subscribe communications
DE69836966T2 (de) * 1997-08-18 2007-11-08 Tibco Software Inc., , Palo Alto Zustellung und setzen in eine warteschlange von zertifizierten nachrichten in einem mehrpunkt-publikations/abonnement-kommunikationssystem
US6049833A (en) * 1997-08-29 2000-04-11 Cisco Technology, Inc. Mapping SNA session flow control to TCP flow control
US6128662A (en) * 1997-08-29 2000-10-03 Cisco Technology, Inc. Display-model mapping for TN3270 client
US6466780B1 (en) 1997-09-03 2002-10-15 Interlok Technologies, Llc Method and apparatus for securing digital 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
US7222087B1 (en) 1997-09-12 2007-05-22 Amazon.Com, Inc. Method and system for placing a purchase order via a communications network
US5960411A (en) * 1997-09-12 1999-09-28 Amazon.Com, Inc. Method and system for placing a purchase order via a communications network
US6708189B1 (en) 1997-09-30 2004-03-16 Desknet, Inc. Computer file transfer system
US8621101B1 (en) 2000-09-29 2013-12-31 Alacritech, Inc. Intelligent network storage interface device
US8539112B2 (en) 1997-10-14 2013-09-17 Alacritech, Inc. TCP/IP offload device
US6253256B1 (en) * 1997-10-15 2001-06-26 Sun Microsystems, Inc. Deferred reconstruction of objects and remote loading in a distributed system
US6957427B1 (en) 1997-10-15 2005-10-18 Sun Microsystems, Inc. Remote object activation in a distributed system
GB2330923A (en) 1997-10-28 1999-05-05 Ibm Transaction manager
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
US6091724A (en) * 1997-11-20 2000-07-18 International Business Machines Corporation Routing messages within a network using the data content of the message
US6216132B1 (en) 1997-11-20 2001-04-10 International Business Machines Corporation Method and system for matching consumers to events
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
US6041332A (en) * 1997-12-31 2000-03-21 Alcatel Usa Sourcing, L.P. Product-independent performance monitoring tool kit
US9900305B2 (en) 1998-01-12 2018-02-20 Soverain Ip, Llc Internet server access control and monitoring systems
US7051003B1 (en) 1998-02-26 2006-05-23 Atabok Japan, Inc. Method and apparatus for delivering electronic data through a proxy server
WO1999044134A1 (en) * 1998-02-26 1999-09-02 Sun Microsystems, Inc. Method and system for facilitating access to a lookup service
US6604127B2 (en) 1998-03-20 2003-08-05 Brian T. Murphy Dynamic lookup service in distributed system
AU2787799A (en) 1998-02-26 1999-09-15 Sun Microsystems, Inc. Method and system for deterministic hashes to identify remote methods
US6141686A (en) * 1998-03-13 2000-10-31 Deterministic Networks, Inc. Client-side application-classifier gathering network-traffic statistics and application and user names using extensible-service provider plugin for policy-based network control
US6728771B2 (en) * 1998-03-20 2004-04-27 Siemens Information And Communication Networks, Inc. Generic transport option for transporting messages in relay or broadcast mode via combinations of ISDN B-channels or D-channels
US6154776A (en) * 1998-03-20 2000-11-28 Sun Microsystems, Inc. Quality of service allocation on a network
US6446253B1 (en) * 1998-03-20 2002-09-03 Novell, Inc. Mechanism for achieving transparent network computing
US6157722A (en) * 1998-03-23 2000-12-05 Interlok Technologies, Llc Encryption key management system and method
US6154748A (en) * 1998-04-07 2000-11-28 International Business Machines Corporation Method for visually mapping data between different record formats
JPH11312151A (ja) 1998-04-28 1999-11-09 Hitachi Ltd 高速な分散オブジェクトリクエストブローカ
US6212568B1 (en) 1998-05-06 2001-04-03 Creare Inc. Ring buffered network bus data management system
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
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
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
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
US6366916B1 (en) 1998-05-22 2002-04-02 International Business Machines Corporation Configurable and extensible system for deploying asset management functions to client applications
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
US6922831B1 (en) * 1998-06-04 2005-07-26 Gateway Inc. Method and system for providing software utilizing a restore medium and a network
US6349331B1 (en) * 1998-06-05 2002-02-19 Lsi Logic Corporation Multiple channel communication system with shared autonegotiation controller
US6442663B1 (en) * 1998-06-19 2002-08-27 Board Of Supervisors Of Louisiana University And Agricultural And Mechanical College Data collection and restoration for homogeneous or heterogeneous process migration
US6182228B1 (en) 1998-08-17 2001-01-30 International Business Machines Corporation System and method for very fast IP packet filtering
US6415332B1 (en) 1998-08-19 2002-07-02 International Business Machines Corporation Method for handling of asynchronous message packet in a multi-node threaded computing environment
US6385659B1 (en) 1998-08-19 2002-05-07 International Business Machines Corporation Handling of asynchronous message packet in a multi-node threaded computing environment
US6412018B1 (en) 1998-08-19 2002-06-25 International Business Machines Corporation System for handling asynchronous message packet in a multi-node threaded computing environment
US6292842B1 (en) * 1998-08-28 2001-09-18 Hewlett-Packard Company Method for transferring data to an application
US6405224B1 (en) 1998-09-01 2002-06-11 Aidministrator Nederland B.V. Method and apparatus for HTML control
US6295639B1 (en) * 1998-09-01 2001-09-25 Aidministrator Nederland B.V. Securely accessing a file system of a remote server computer
US6289362B1 (en) 1998-09-01 2001-09-11 Aidministrator Nederland B.V. System and method for generating, transferring and using an annotated universal address
US6311278B1 (en) * 1998-09-09 2001-10-30 Sanctum Ltd. Method and system for extracting application protocol characteristics
WO2000016206A1 (en) * 1998-09-10 2000-03-23 Sanctum Ltd. Method and system for protecting operations of trusted internal networks
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
US6725227B1 (en) * 1998-10-02 2004-04-20 Nec Corporation Advanced web bookmark database system
US6125391A (en) * 1998-10-16 2000-09-26 Commerce One, Inc. Market makers using documents for commerce in trading partner networks
US8006177B1 (en) 1998-10-16 2011-08-23 Open Invention Network, Llc Documents for commerce in trading partner networks and interface definitions based on the documents
US7047532B1 (en) * 1998-11-13 2006-05-16 The Chase Manhattan Bank Application independent messaging system
EP1003114A1 (en) * 1998-11-17 2000-05-24 International Business Machines Corporation Method of interconnecting computers and computer network
US6763353B2 (en) 1998-12-07 2004-07-13 Vitria Technology, Inc. Real time business process analysis method and apparatus
US6931392B1 (en) * 1998-12-07 2005-08-16 Vitria Technology, Inc. Real-time decision support system
US6351761B1 (en) 1998-12-18 2002-02-26 At&T Corporation Information stream management push-pull based server for gathering and distributing articles and messages specified by the user
US6779184B1 (en) * 1999-01-21 2004-08-17 Oracle International Corporation Method for loosely coupling object oriented and non-object oriented applications in a messaging-based communication infrastructure
US6477180B1 (en) * 1999-01-28 2002-11-05 International Business Machines Corporation Optimizing method for digital content delivery in a multicast network
US6138143A (en) * 1999-01-28 2000-10-24 Genrad, Inc. Method and apparatus for asynchronous transaction processing
US7283463B2 (en) 1999-03-30 2007-10-16 International Business Machines Corporation Non-disruptive reconfiguration of a publish/subscribe system
US7050432B1 (en) 1999-03-30 2006-05-23 International Busines Machines Corporation Message logging for reliable multicasting across a routing network
US6760340B1 (en) 1999-03-30 2004-07-06 International Business Machines Corporation Message sequencing for ordered multicasting of a message across a routing network
US6907011B1 (en) 1999-03-30 2005-06-14 International Business Machines Corporation Quiescent reconfiguration of a routing network
US6901518B1 (en) 1999-04-08 2005-05-31 Sun Microsystems, Inc. Method and system for establishing trust in downloaded proxy code
US20050038911A1 (en) * 1999-04-30 2005-02-17 Yoshikuni Watanabe Cooperative system and method therefor
US7966234B1 (en) 1999-05-17 2011-06-21 Jpmorgan Chase Bank. N.A. Structured finance performance analytics system
US6996627B1 (en) * 1999-05-25 2006-02-07 Realnetworks, Inc. System and method for providing update information
US7062765B1 (en) 1999-05-25 2006-06-13 Realnetworks, Inc. System and method for updating information via a network
US6889260B1 (en) * 1999-06-10 2005-05-03 Ec Enabler, Ltd Method and system for transferring information
US7216157B1 (en) * 1999-06-10 2007-05-08 Verizonbusinessgloballlc Method and system for discovering managed devices in a data network
US6877163B1 (en) 1999-06-14 2005-04-05 Sun Microsystems, Inc. Method and system for dynamic proxy classes
US6577644B1 (en) * 1999-06-22 2003-06-10 Lucent Technologies Inc. Quality of service (QoS) enhancement to multilink point-to-point protocol (PPP)
US6442565B1 (en) 1999-08-13 2002-08-27 Hiddenmind Technology, Inc. System and method for transmitting data content in a computer network
US7711646B2 (en) 1999-09-10 2010-05-04 Transurety, Llc Methods and apparatus for providing coverage for receiver of transmission data
CA2384436C (en) 1999-09-10 2010-06-29 Portogo, Inc. Systems and method for insuring correct data transmission over the internet
JP5220974B2 (ja) 1999-10-14 2013-06-26 ブルアーク ユーケー リミテッド ハードウェア実行又はオペレーティングシステム機能の加速のための装置及び方法
US7251629B1 (en) * 1999-10-14 2007-07-31 Edge Capture, Llc Automated trading system in an electronic trading exchange
EP1240597A2 (en) * 1999-12-13 2002-09-18 Protrader Technologies, L.P. Computerized method and system for trading of securities
US6564233B1 (en) 1999-12-17 2003-05-13 Openwave Systems Inc. Server chaining system for usenet
US7051118B2 (en) * 1999-12-22 2006-05-23 Tibo Software, Inc. Method and apparatus for anonymous subject-based addressing
EP1119135A3 (en) * 2000-01-13 2001-09-12 Agilent Technologies Inc. a Delaware Corporation Apparatus and method for a push service
US7039050B1 (en) 2000-02-16 2006-05-02 Tibco Software Inc. Intra-process message switch
EP1130845A3 (en) * 2000-02-18 2001-09-12 Agilent Technologies Inc. a Delaware Corporation Publish/subscribe system
US6377975B1 (en) 2000-03-01 2002-04-23 Interactive Intelligence, Inc. Methods and systems to distribute client software tasks among a number of servers
AU2001237696A1 (en) 2000-03-03 2001-09-12 Sanctum Ltd. System for determining web application vulnerabilities
US6728715B1 (en) 2000-03-30 2004-04-27 International Business Machines Corporation Method and system for matching consumers to events employing content-based multicast routing using approximate groups
US6687735B1 (en) 2000-05-30 2004-02-03 Tranceive Technologies, Inc. Method and apparatus for balancing distributed applications
US6742054B1 (en) 2000-04-07 2004-05-25 Vitria Technology, Inc. Method of executing a data transformation specification
US7392210B1 (en) 2000-04-07 2008-06-24 Jpmorgan Chase Bank, N.A. Workflow management system and method
WO2001084302A2 (en) * 2000-05-02 2001-11-08 Sun Microsystems, Inc. Event service method and system
US8082491B1 (en) 2000-05-09 2011-12-20 Oracle America, Inc. Dynamic displays in a distributed computing environment
US7072967B1 (en) 2000-05-09 2006-07-04 Sun Microsystems, Inc. Efficient construction of message endpoints
US6950875B1 (en) 2000-05-09 2005-09-27 Sun Microsystems, Inc. Message conductors in a distributed computing environment
US6789126B1 (en) 2000-05-09 2004-09-07 Sun Microsystems, Inc. Addressing message gates in a distributed computing environment
US8001232B1 (en) 2000-05-09 2011-08-16 Oracle America, Inc. Event message endpoints in a distributed computing environment
US6917976B1 (en) 2000-05-09 2005-07-12 Sun Microsystems, Inc. Message-based leasing of resources 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
US7577834B1 (en) 2000-05-09 2009-08-18 Sun Microsystems, Inc. Message authentication using message gates in a distributed computing environment
US6918084B1 (en) 2000-05-09 2005-07-12 Sun Microsystems, Inc. Spawning new repository spaces using information provided in advertisement schema messages
US6868447B1 (en) 2000-05-09 2005-03-15 Sun Microsystems, Inc. Mechanism and apparatus for returning results of services in a distributed computing environment
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
US7370091B1 (en) 2000-05-09 2008-05-06 Sun Microsystems, Inc. Method and apparatus for obtaining space advertisements
US7395333B1 (en) 2000-05-09 2008-07-01 Sun Microsystems, Inc. Method and apparatus to obtain negotiated service advertisement
US6862594B1 (en) 2000-05-09 2005-03-01 Sun Microsystems, Inc. Method and apparatus to discover services using flexible search criteria
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
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
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
US6898618B1 (en) 2000-05-09 2005-05-24 Sun Microsystems, Inc. Client-specified display 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
US8135796B1 (en) 2000-05-09 2012-03-13 Oracle America, Inc. Mechanism and apparatus for accessing and addressing services 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
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
US7016966B1 (en) 2000-05-09 2006-03-21 Sun Microsystems, Inc. Generating results gates in a distributed computing environment
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
US7243356B1 (en) 2000-05-09 2007-07-10 Sun Microsystems, Inc. Remote method invocation with secure messaging in a distributed computing environment
US7716492B1 (en) 2000-05-09 2010-05-11 Oracle America, Inc. Method and apparatus to obtain service capability credentials
US7260543B1 (en) 2000-05-09 2007-08-21 Sun Microsystems, Inc. Automatic lease renewal with message gates in a distributed computing environment
US6850979B1 (en) 2000-05-09 2005-02-01 Sun Microsystems, Inc. Message gates in a distributed computing environment
US7007088B1 (en) * 2000-05-31 2006-02-28 Sun Microsystems, Inc. Method and apparatus for providing an E-business audit trail in a distributed computing system
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
US6854115B1 (en) 2000-06-02 2005-02-08 Sun Microsystems, Inc. Process persistence in a virtual machine
US6865657B1 (en) 2000-06-02 2005-03-08 Sun Microsystems, Inc. Garbage collector for a virtual heap
US6957237B1 (en) 2000-06-02 2005-10-18 Sun Microsystems, Inc. Database store for a virtual heap
US6760815B1 (en) * 2000-06-02 2004-07-06 Sun Microsystems, Inc. Caching mechanism for a virtual heap
US7249095B2 (en) 2000-06-07 2007-07-24 The Chase Manhattan Bank, N.A. System and method for executing deposit transactions over the internet
US7587497B1 (en) * 2000-06-20 2009-09-08 Palmsource Inc. Information exchange between a handheld device and another computer system using an exchange manager and uniform resource locator (URL) strings
GB2364586B (en) * 2000-06-23 2004-06-16 Ebs Nominees Ltd Deal matching in an anonymous trading system
US7024386B1 (en) 2000-06-23 2006-04-04 Ebs Group Limited Credit handling in an anonymous trading system
US7827085B1 (en) 2000-06-23 2010-11-02 Ebs Group Limited Conversational dealing in an anonymous trading system
US7184982B1 (en) 2000-06-23 2007-02-27 Ebs Group Limited Architecture for anonymous trading system
US7366690B1 (en) * 2000-06-23 2008-04-29 Ebs Group Limited Architecture for anonymous trading system
US6983259B1 (en) 2000-06-23 2006-01-03 Ebs Group Limited Anonymous trading system
US7333952B1 (en) 2000-06-23 2008-02-19 Ebs Group Limited Compound order handling in an anonymous trading system
US20020065947A1 (en) * 2000-07-13 2002-05-30 Clayton Wishoff Software application agent interface
US6728722B1 (en) * 2000-08-28 2004-04-27 Sun Microsystems, Inc. General data structure for describing logical data spaces
US6865579B1 (en) 2000-08-28 2005-03-08 Sun Microsystems, Inc. Simplified thread control block design
US7392212B2 (en) 2000-09-28 2008-06-24 Jpmorgan Chase Bank, N.A. User-interactive financial vehicle performance prediction, trading and training system and methods
US8019901B2 (en) * 2000-09-29 2011-09-13 Alacritech, Inc. Intelligent network storage interface system
EP1195677A1 (en) * 2000-10-06 2002-04-10 Abb Research Ltd. Dynamic class loading
US6754717B1 (en) 2000-10-23 2004-06-22 International Business Machines Corporation Establishing compatibility of messages for communicating between processing entities with continuous availability
WO2002039351A2 (en) * 2000-11-01 2002-05-16 Seebeyond Technology Corporation Sytems and methods for providing centralized management of heterogeneous distributed enterprise application integration objects
WO2002037230A2 (en) * 2000-11-01 2002-05-10 Metis Technologies, Inc. A method and system for application development and a data processing architecture utilizing destinationless messaging
US7383355B1 (en) 2000-11-01 2008-06-03 Sun Microsystems, Inc. Systems and methods for providing centralized management of heterogeneous distributed enterprise application integration objects
US7313541B2 (en) 2000-11-03 2007-12-25 Jpmorgan Chase Bank, N.A. System and method for estimating conduit liquidity requirements in asset backed commercial paper
US6993506B2 (en) 2000-12-05 2006-01-31 Jgr Acquisition, Inc. Method and device utilizing polymorphic data in e-commerce
US20020108115A1 (en) * 2000-12-11 2002-08-08 The Associated Press News and other information delivery system and method
US6965916B1 (en) 2000-12-14 2005-11-15 Bellsouth Intellectual Property Corp. System and method for data distribution and recovery
US7917576B1 (en) 2000-12-14 2011-03-29 At&T Intellectual Property I, L.P. System and method for sending electronic mail in a client-server architecture
US6925645B2 (en) * 2000-12-29 2005-08-02 Webex Communications, Inc. Fault tolerant server architecture for collaborative computing
US20030167302A1 (en) * 2000-12-29 2003-09-04 Min Zhu Scalable distributed network system for collaborative computing
WO2002054264A1 (en) 2000-12-29 2002-07-11 Webex Communications, Inc. Distributed network system architecture for collaborative computing
US20030164853A1 (en) 2000-12-29 2003-09-04 Min Zhu Distributed document sharing
US20030167418A1 (en) * 2000-12-29 2003-09-04 Min Zhu Fault-tolerant server for collaborative computing
US7069298B2 (en) * 2000-12-29 2006-06-27 Webex Communications, Inc. Fault-tolerant distributed system for collaborative computing
US6901448B2 (en) * 2000-12-29 2005-05-31 Webex Communications, Inc. Secure communications system for collaborative computing
US7203755B2 (en) * 2000-12-29 2007-04-10 Webex—Communications, Inc. System and method for application sharing in collaborative setting
US7363269B2 (en) * 2001-01-03 2008-04-22 Ebs Group Limited Conversational dealing system
US7296275B2 (en) 2001-01-04 2007-11-13 Sun Microsystems, Inc. Method and system for passing objects in a distributed system using serialization contexts
US20020161859A1 (en) * 2001-02-20 2002-10-31 Willcox William J. Workflow engine and system
WO2002069142A1 (en) * 2001-02-23 2002-09-06 Skyva International Business modeling framework system and methods
US7415669B1 (en) 2001-02-27 2008-08-19 Open Invention Network Method and apparatus for viewing electronic commerce-related documents
US7036072B1 (en) 2001-12-18 2006-04-25 Jgr Acquisition, Inc. Method and apparatus for declarative updating of self-describing, structured documents
WO2002071201A1 (en) * 2001-02-28 2002-09-12 Xbridge Software, Inc. Method and apparatus for electronic document exchange
US20020144256A1 (en) * 2001-03-30 2002-10-03 Navin Budhiraja Method of deployment for concurrent execution of multiple versions of an integration model on an integration server
US7120896B2 (en) * 2001-10-31 2006-10-10 Vitria Technology, Inc. Integrated business process modeling environment and models created thereby
US20030140126A1 (en) * 2001-03-30 2003-07-24 Vitria Technology, Inc. Method of deployment for concurrent execution of multiple versions of an integration model
US7596526B2 (en) 2001-04-16 2009-09-29 Jpmorgan Chase Bank, N.A. System and method for managing a series of overnight financing trades
US7801944B2 (en) * 2001-05-18 2010-09-21 Gary Stephen Shuster Distributed computing using agent embedded in content unrelated to agents processing function
US6694002B2 (en) 2001-06-18 2004-02-17 International Business Machines Corporation Generic service component for wireless services
US20070004641A1 (en) * 2001-05-24 2007-01-04 Neuren Pharmaceuticals Limited Cognitive enhancement and cognitive therapy using glycyl-L-2-methylprolyl-L-glutamate
US6690781B2 (en) 2001-06-18 2004-02-10 International Business Machines Corporation Generic service component for telephony container server
US20020188548A1 (en) * 2001-06-06 2002-12-12 John Bunda Methods and systems for monitoring securities quotes
US20020194111A1 (en) * 2001-06-19 2002-12-19 Shayne Young Methods and systems for reconciling a forward conversion securities strategy
US7110525B1 (en) 2001-06-25 2006-09-19 Toby Heller Agent training sensitive call routing system
US7191452B2 (en) * 2001-06-29 2007-03-13 Convergys Cmg Utah Method for creating application programming interfaces for internal applications
US20030037066A1 (en) * 2001-08-14 2003-02-20 Newframe Corporation Ltd. Delegating sort tasks between heterogeneous computer systems
US7020784B2 (en) * 2001-08-20 2006-03-28 Yitran Communications Ltd. Mechanism for detecting intrusion and jamming attempts in a shared media based communications network
US20030041006A1 (en) * 2001-08-21 2003-02-27 John Bunda Methods and systems for suppression of stale or invalid data in a securities quotation display
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
US20030083974A1 (en) * 2001-10-26 2003-05-01 John Bunda Method and system for managing display of quotes for securities from multiple sources
US6665626B2 (en) * 2001-11-14 2003-12-16 Inventec Corporation Network-based computer testing system
US7171022B2 (en) * 2001-12-05 2007-01-30 Lockheed Martin Corporation Common method for communicating area information
DE10161111A1 (de) * 2001-12-12 2003-07-03 Siemens Ag System und Verfahren zur Projektierung von Transformationen von Objektbäumen
DE10161064A1 (de) 2001-12-12 2003-07-03 Siemens Ag System und Verfahren zur Kommunikation zwischen Softwareapplikationen, insbesondere MES-Applikationen
US20030140058A1 (en) * 2002-01-18 2003-07-24 Vitria Technology, Inc. Method and apparatus for sharing information between applications using common objects
US7290267B2 (en) * 2002-01-23 2007-10-30 International Business Machines Corporation Multi-protocol object distribution
US20030145017A1 (en) * 2002-01-31 2003-07-31 Patton Thadd Clark Method and application for removing material from documents for external sources
US20030182239A1 (en) * 2002-03-21 2003-09-25 Auzoux Yann O. System and method for providing internet services to sports enthusiasts such as tennis players
AU2003226128A1 (en) * 2002-03-27 2003-10-13 First Virtual Communications System and method for traversing firewalls with protocol communications
US8224723B2 (en) 2002-05-31 2012-07-17 Jpmorgan Chase Bank, N.A. Account opening system, method and computer program product
JP2004038575A (ja) * 2002-07-03 2004-02-05 Sony Corp データ送受信システム及びデータ送受信方法、情報提供装置及び情報提供方法、並びにデータ受信装置及びデータ受信方法
US7047488B2 (en) * 2002-07-19 2006-05-16 Open Invention Network Registry driven interoperability and exchange of documents
US7200674B2 (en) * 2002-07-19 2007-04-03 Open Invention Network, Llc Electronic commerce community networks and intra/inter community secure routing implementation
US7729922B2 (en) 2002-08-15 2010-06-01 Open Invention Network, Llc Dynamic interface between BPSS conversation management and local business management
US7721202B2 (en) * 2002-08-16 2010-05-18 Open Invention Network, Llc XML streaming transformer
US7424702B1 (en) * 2002-08-19 2008-09-09 Sprint Communications Company L.P. Data integration techniques for use in enterprise architecture modeling
US20050005116A1 (en) * 2002-09-18 2005-01-06 Commerce One Operations, Inc. Dynamic interoperability contract for web services
US7340508B1 (en) 2002-09-18 2008-03-04 Open Invention Network, Llc Exposing process flows and choreography controllers as web services
US7444522B1 (en) * 2002-09-18 2008-10-28 Open Invention Network, Llc Dynamic negotiation of security arrangements between web services
US20040260947A1 (en) * 2002-10-21 2004-12-23 Brady Gerard Anthony Methods and systems for analyzing security events
US7457822B1 (en) 2002-11-01 2008-11-25 Bluearc Uk Limited Apparatus and method for hardware-based file system
US8041735B1 (en) 2002-11-01 2011-10-18 Bluearc Uk Limited Distributed file system and method
US20040093390A1 (en) * 2002-11-12 2004-05-13 Matthias Oberdorfer Connected memory management
US7565419B1 (en) 2002-11-22 2009-07-21 Symantec Operating Corporation Conflict resolution in a peer to peer network
US8516470B1 (en) 2002-12-16 2013-08-20 Symantec Corporation Version upgrade via viral infection
US20040117793A1 (en) * 2002-12-17 2004-06-17 Sun Microsystems, Inc. Operating system architecture employing synchronous tasks
US7318163B2 (en) * 2003-01-07 2008-01-08 International Business Machines Corporation System and method for real-time detection of computer system files intrusion
US9818136B1 (en) 2003-02-05 2017-11-14 Steven M. Hoffberg System and method for determining contingent relevance
US7644123B2 (en) * 2003-03-24 2010-01-05 British Telecommunications Public Limited Company Message announcements
US7337438B1 (en) 2003-03-31 2008-02-26 Applied Micro Circuits Corporation Macros to support structures for an assembler that does not support structures
US7634435B2 (en) 2003-05-13 2009-12-15 Jp Morgan Chase Bank Diversified fixed income product and method for creating and marketing same
US7770184B2 (en) 2003-06-06 2010-08-03 Jp Morgan Chase Bank Integrated trading platform architecture
US7970688B2 (en) 2003-07-29 2011-06-28 Jp Morgan Chase Bank Method for pricing a trade
CA2436633A1 (en) * 2003-08-05 2005-02-05 Ibm Canada Limited - Ibm Canada Limitee Encapsulating and executing computer algorithms
US20050055424A1 (en) * 2003-09-10 2005-03-10 Government Of The United States Of America As Represented By The Secretary Of The Navy. Read-only baseline web site to which changes are made via mirror copy thereof in cut-and-paste manner
US8453196B2 (en) 2003-10-14 2013-05-28 Salesforce.Com, Inc. Policy management in an interoperability network
US7593876B2 (en) 2003-10-15 2009-09-22 Jp Morgan Chase Bank System and method for processing partially unstructured data
US8655755B2 (en) 2003-10-22 2014-02-18 Scottrade, Inc. System and method for the automated brokerage of financial instruments
US7933226B2 (en) * 2003-10-22 2011-04-26 Palo Alto Research Center Incorporated System and method for providing communication channels that each comprise at least one property dynamically changeable during social interactions
US7472195B2 (en) * 2003-11-19 2008-12-30 International Business Machines Corporation Unobtrusive port and protocol sharing among server processes
US8775654B2 (en) * 2003-12-19 2014-07-08 Salesforce.Com, Inc. Apparatus and methods for mediating messages
US8544096B2 (en) * 2003-12-30 2013-09-24 Emc Corporation On-access and on-demand distributed virus scanning
US7370317B2 (en) * 2004-01-23 2008-05-06 Microsoft Corporation Automated generation of message exchange pattern simulation code
US7624141B2 (en) * 2004-01-23 2009-11-24 Microsoft Corporation Deterministic rule-based dispatch of objects to code
US7296183B2 (en) * 2004-01-23 2007-11-13 Microsoft Corporation Selectable data field consistency checking
US7451211B2 (en) * 2004-01-23 2008-11-11 Microsoft Corporation Message exchange pattern tracking to avoid invalid message exchange
US7631071B2 (en) * 2004-01-23 2009-12-08 Microsoft Corporation Mechanism for ensuring processing of messages received while in recovery mode
US7216255B2 (en) * 2004-01-23 2007-05-08 Microsoft Corporation Adaptive recovery from system failure for application instances that govern message transactions
US7685188B2 (en) * 2004-01-23 2010-03-23 Microsoft Corporation Automated generation of computer-executable compensation procedures for previously executed methods
US7565451B2 (en) * 2004-01-23 2009-07-21 Microsoft Corporation Adaptive dispatch of received messages to code using inter-positioned message modification
US7792874B1 (en) 2004-01-30 2010-09-07 Oracle America, Inc. Dynamic provisioning for filtering and consolidating events
WO2005088450A1 (en) * 2004-03-10 2005-09-22 Handmark, Inc. Data access architecture
US7742606B2 (en) * 2004-03-26 2010-06-22 Harman International Industries, Incorporated System for audio related equipment management
US8423447B2 (en) 2004-03-31 2013-04-16 Jp Morgan Chase Bank System and method for allocating nominal and cash amounts to trades in a netted trade
US20050222810A1 (en) * 2004-04-03 2005-10-06 Altusys Corp Method and Apparatus for Coordination of a Situation Manager and Event Correlation in Situation-Based Management
US8694475B2 (en) * 2004-04-03 2014-04-08 Altusys Corp. Method and apparatus for situation-based management
US20050256797A1 (en) * 2004-05-13 2005-11-17 Scottrade, Inc. Method and apparatus for user-interactive financial instrument trading
US20050289311A1 (en) * 2004-06-29 2005-12-29 David Durham System and method for secure inter-platform and intra-platform communications
US20060005015A1 (en) * 2004-06-30 2006-01-05 David Durham System and method for secure inter-platform and intra-platform communications
US7379934B1 (en) * 2004-07-09 2008-05-27 Ernest Forman Data mapping
US7725605B2 (en) 2004-08-06 2010-05-25 Salesforce.Com, Inc. Providing on-demand access to services in a wide area network
US7693770B2 (en) * 2004-08-06 2010-04-06 Jp Morgan Chase & Co. Method and system for creating and marketing employee stock option mirror image warrants
US9645712B2 (en) 2004-10-01 2017-05-09 Grand Central Communications, Inc. Multiple stakeholders for a single business process
EP1831837A4 (en) 2004-11-14 2009-07-29 Bloomberg Finance Lp DATA ENCODING, TRANSMISSION, STORAGE AND DECODING
US8321465B2 (en) * 2004-11-14 2012-11-27 Bloomberg Finance L.P. Systems and methods for data coding, transmission, storage and decoding
US20060168331A1 (en) * 2005-01-06 2006-07-27 Terevela, Inc. Intelligent messaging application programming interface
EP1851646A2 (en) 2005-01-06 2007-11-07 Tervela Inc. Intelligent messaging application programming interface
US8688569B1 (en) 2005-03-23 2014-04-01 Jpmorgan Chase Bank, N.A. System and method for post closing and custody services
US7676028B2 (en) * 2005-05-31 2010-03-09 Cisco Technology, Inc. System and method for storing a voicemail message in a communication environment
US7822682B2 (en) 2005-06-08 2010-10-26 Jpmorgan Chase Bank, N.A. System and method for enhancing supply chain transactions
US7953980B2 (en) 2005-06-30 2011-05-31 Intel Corporation Signed manifest for run-time verification of software program identity and integrity
US8839450B2 (en) * 2007-08-02 2014-09-16 Intel Corporation Secure vault service for software components within an execution environment
US7567928B1 (en) 2005-09-12 2009-07-28 Jpmorgan Chase Bank, N.A. Total fair value swap
US20070067590A1 (en) * 2005-09-22 2007-03-22 Uday Savagaonkar Providing protected access to critical memory regions
US7748037B2 (en) * 2005-09-22 2010-06-29 Intel Corporation Validating a memory type modification attempt
US7818238B1 (en) 2005-10-11 2010-10-19 Jpmorgan Chase Bank, N.A. Upside forward with early funding provision
US7689632B2 (en) * 2005-12-01 2010-03-30 Honeywell International Inc. Adaptive data dictionary language, extendable for a security system
US8134928B1 (en) 2005-12-15 2012-03-13 Nvidia Corporation Technique for identifying a failed network interface card within a team of network interface cards
US20070156807A1 (en) * 2005-12-29 2007-07-05 Jian Ma Data transmission method and arrangement for data transmission
US8280794B1 (en) 2006-02-03 2012-10-02 Jpmorgan Chase Bank, National Association Price earnings derivative financial product
US8566840B2 (en) * 2006-02-27 2013-10-22 Red Hat, Inc. Method and system for kernel level filtering
US7752596B2 (en) * 2006-03-17 2010-07-06 Microsoft Corporation Connecting alternative development environment to interpretive runtime engine
US8146100B2 (en) 2006-03-21 2012-03-27 Sap Ag System and method for event-based information flow in software development processes
US7620578B1 (en) 2006-05-01 2009-11-17 Jpmorgan Chase Bank, N.A. Volatility derivative financial product
US7647268B1 (en) 2006-05-04 2010-01-12 Jpmorgan Chase Bank, N.A. System and method for implementing a recurrent bidding process
US7944864B2 (en) * 2006-06-01 2011-05-17 International Business Machines Corporation Method and system for supporting dynamic stream attributes
US8667382B2 (en) * 2006-06-28 2014-03-04 International Business Machines Corporation Configurable field definition document
US9811868B1 (en) 2006-08-29 2017-11-07 Jpmorgan Chase Bank, N.A. Systems and methods for integrating a deal process
DE102006051188A1 (de) * 2006-10-30 2008-05-08 Siemens Ag Flexibles Verschaltungssystem
US7827096B1 (en) 2006-11-03 2010-11-02 Jp Morgan Chase Bank, N.A. Special maturity ASR recalculated timing
US9058203B2 (en) * 2006-11-20 2015-06-16 Freescale Semiconductor, Inc. System, apparatus and method for translating data
US7934207B2 (en) * 2006-12-19 2011-04-26 Microsoft Corporation Data schemata in programming language contracts
US8300647B2 (en) * 2007-05-18 2012-10-30 Nvidia Corporation Intelligent load balancing and failover of network traffic
US7995465B2 (en) * 2007-05-18 2011-08-09 Nvidia Corporation Intelligent load balancing and failover of network traffic
US8432788B2 (en) * 2007-05-18 2013-04-30 Nvidia Corporation Intelligent failback in a load-balanced networking environment
US8099718B2 (en) * 2007-11-13 2012-01-17 Intel Corporation Method and system for whitelisting software components
CA2622367C (en) 2008-02-04 2015-11-17 Omnivex Corporation Subscription based content delivery for a digital signage network
JP4577907B2 (ja) * 2008-03-18 2010-11-10 株式会社沖データ 画像処理装置、画像形成装置、及び印刷システム
US8174962B2 (en) * 2008-04-15 2012-05-08 Honeywell International Inc. Global broadcast communication system
US8261286B1 (en) 2008-06-18 2012-09-04 Amazon Technologies, Inc. Fast sequential message store
US10362131B1 (en) 2008-06-18 2019-07-23 Amazon Technologies, Inc. Fault tolerant message delivery
US7895280B2 (en) 2008-09-03 2011-02-22 Microsoft Corporation Composing message processing pipelines
US8364601B2 (en) * 2008-12-31 2013-01-29 Intel Corporation Methods and systems to directly render an image and correlate corresponding user input in a secure memory domain
US8301687B2 (en) * 2009-03-31 2012-10-30 Software Ag Systems and/or methods for standards-based messaging
US8050196B2 (en) 2009-07-09 2011-11-01 Itt Manufacturing Enterprises, Inc. Method and apparatus for controlling packet transmissions within wireless networks to enhance network formation
US20110029988A1 (en) * 2009-08-03 2011-02-03 Qualcomm Incorporated Methods and apparatus for facilitating application inter-communications
US20110055113A1 (en) * 2009-08-28 2011-03-03 Conor Cunningham Method and system for managing spread orders
US8738514B2 (en) * 2010-02-18 2014-05-27 Jpmorgan Chase Bank, N.A. System and method for providing borrow coverage services to short sell securities
US8352354B2 (en) 2010-02-23 2013-01-08 Jpmorgan Chase Bank, N.A. System and method for optimizing order execution
US20110282980A1 (en) * 2010-05-11 2011-11-17 Udaya Kumar Dynamic protection of a resource during sudden surges in traffic
FR2962619B1 (fr) * 2010-07-09 2013-01-18 Thales Sa Dispositif d'acces a des donnees a bord d'un aeronef
US8738704B2 (en) * 2010-09-07 2014-05-27 Xerox Corporation Publish/subscribe broker messaging system and method
US9076152B2 (en) * 2010-10-20 2015-07-07 Microsoft Technology Licensing, Llc Semantic analysis of information
US8818963B2 (en) 2010-10-29 2014-08-26 Microsoft Corporation Halloween protection in a multi-version database system
US10285094B2 (en) 2010-11-05 2019-05-07 Mark Cummings Mobile base station network
US10531516B2 (en) 2010-11-05 2020-01-07 Mark Cummings Self organizing system to implement emerging topologies
US10687250B2 (en) 2010-11-05 2020-06-16 Mark Cummings Mobile base station network
US9268578B2 (en) 2010-11-05 2016-02-23 Mark Cummings Integrated circuit design and operation for determining a mutually compatible set of configuration for cores using agents associated with each core to achieve an application-related objective
US10694402B2 (en) 2010-11-05 2020-06-23 Mark Cummings Security orchestration and network immune system deployment framework
US20120203944A1 (en) * 2011-02-07 2012-08-09 Itg Software Solutions, Inc. Systems and Methods for Providing Access to Financial Trading Services
CN102651690B (zh) * 2011-02-28 2015-11-25 国际商业机器公司 对共享内存进行控制的方法和装置
JP5857568B2 (ja) * 2011-09-15 2016-02-10 富士通株式会社 情報処理システム、受信装置、及び情報処理方法
US8249230B1 (en) 2012-01-09 2012-08-21 EC Data Systems, Inc. Scalable and flexible internet fax architecture
US8254538B1 (en) 2012-02-27 2012-08-28 EC Data Systems, Inc. Scalable and flexible internet fax architecture for processing outbound fax messages
US9094304B2 (en) 2012-05-10 2015-07-28 Cognex Corporation Systems and methods for dynamically configuring communication data items
US10530894B2 (en) 2012-09-17 2020-01-07 Exaptive, Inc. Combinatorial application framework for interoperability and repurposing of code components
US9092581B2 (en) * 2012-10-09 2015-07-28 Intel Corporation Virtualized communication sockets for multi-flow access to message channel infrastructure within CPU
US9195712B2 (en) 2013-03-12 2015-11-24 Microsoft Technology Licensing, Llc Method of converting query plans to native code
US8898784B1 (en) * 2013-05-29 2014-11-25 The United States of America, as represented by the Director, National Security Agency Device for and method of computer intrusion anticipation, detection, and remediation
US10474645B2 (en) 2014-02-24 2019-11-12 Microsoft Technology Licensing, Llc Automatically retrying transactions with split procedure execution
US10277778B2 (en) 2014-06-24 2019-04-30 Ec Data Systems Inc. Audit logging for a secure, scalable and flexible internet fax architecture
US10231254B2 (en) * 2016-08-05 2019-03-12 Nokia Technologies Oy 5G cloud RAN method for symbol by symbol bit streaming
US10080215B2 (en) * 2016-08-05 2018-09-18 Nokia Technologies Oy Transportation of user plane data across a split fronthaul interface
CN106603636B (zh) * 2016-11-29 2020-05-26 中国银联股份有限公司 一种差错交易的标准化方法及装置
US10491698B2 (en) 2016-12-08 2019-11-26 International Business Machines Corporation Dynamic distribution of persistent data
US11003616B1 (en) * 2017-06-27 2021-05-11 Amazon Technologies, Inc Data transfer using point-to-point interconnect
US11477667B2 (en) 2018-06-14 2022-10-18 Mark Cummings Using orchestrators for false positive detection and root cause analysis
US10805236B2 (en) * 2018-08-31 2020-10-13 Twitter, Inc. Event content delivery
US11647095B1 (en) * 2018-10-02 2023-05-09 Intuit Inc. Method and system for orchestrating communications between application services through a unified connector platform
US10771570B2 (en) * 2018-10-15 2020-09-08 Citrix Systems, Inc. Scalable message passing architecture a cloud environment
US11714694B2 (en) 2019-11-08 2023-08-01 Salesforce, Inc. Error notification mechanism for streaming events
US11533538B2 (en) * 2019-11-08 2022-12-20 Salesforce.Com, Inc. Streaming event content based filtering
US11532040B2 (en) 2019-11-12 2022-12-20 Bottomline Technologies Sarl International cash management software using machine learning
US11526859B1 (en) 2019-11-12 2022-12-13 Bottomline Technologies, Sarl Cash flow forecasting using a bottoms-up machine learning approach
CN111147573A (zh) 2019-12-24 2020-05-12 网宿科技股份有限公司 一种数据传输的方法和装置
US11704671B2 (en) 2020-04-02 2023-07-18 Bottomline Technologies Limited Financial messaging transformation-as-a-service
CN111970363B (zh) * 2020-08-17 2022-08-16 北京金山云网络技术有限公司 基于物联网的数据处理方法及装置
CN112596922B (zh) * 2020-12-17 2024-04-05 百度在线网络技术(北京)有限公司 通信管理方法、装置、设备和介质
EP4064053A1 (en) 2021-03-26 2022-09-28 Aptiv Technologies Limited Managing inter-service communication
US20230177604A1 (en) * 2021-12-06 2023-06-08 Jonathon FLETCHER Dynamic allocation of locations of matching engines in a cloud-based exchange

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63174159A (ja) * 1987-01-13 1988-07-18 Nec Corp 制御指令処理装置
JPH01259440A (ja) * 1988-04-08 1989-10-17 Fujitsu Ltd 端末装置の制御方式
JPH02170251A (ja) * 1988-12-23 1990-07-02 Nippon Telegr & Teleph Corp <Ntt> 情報送信方法
JPH02231664A (ja) * 1989-01-24 1990-09-13 Internatl Business Mach Corp <Ibm> 通信セツシヨン回復方法

Family Cites Families (39)

* 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
JPS6050097B2 (ja) * 1980-12-01 1985-11-06 日本電信電話株式会社 フオ−マツト変換装置
US4463093A (en) * 1982-06-30 1984-07-31 Nabisco Brands, Inc. Process for isomerizing L-glucose to L-fructose
JPS5992654A (ja) * 1982-11-09 1984-05-28 インタ−ナショナル ビジネス マシ−ンズ コ−ポレ−ション 電子文書配送システム
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
US4823122A (en) * 1984-06-01 1989-04-18 Digital Equipment Corporation Local area network for digital data processing system
AU591057B2 (en) * 1984-06-01 1989-11-30 Digital Equipment Corporation Local area network for digital data processing system
US4975904A (en) * 1984-06-01 1990-12-04 Digital Equipment Corporation Local area network for digital data processing system including timer-regulated message transfer arrangement
US4975905A (en) * 1984-06-01 1990-12-04 Digital Equipment Corporation Message transmission control arrangement for node in local area network
US5058108A (en) * 1984-06-01 1991-10-15 Digital Equipment Corporation Local area network for digital data processing system
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
US4751635A (en) * 1986-04-16 1988-06-14 Bell Communications Research, Inc. Distributed management support system for software managers
US4750135A (en) * 1986-05-01 1988-06-07 Reuters Limited Method for dynamically creating a receiver definable local trading instrument displayable record from a remotely transmitted trading instrument common data stream
JP2585535B2 (ja) * 1986-06-02 1997-02-26 株式会社日立製作所 複合計算機システムにおけるプロセス結合方法
JPS6350140A (ja) * 1986-08-19 1988-03-03 Matsushita Electric Ind Co Ltd デ−タ交換装置
US4815030A (en) * 1986-09-03 1989-03-21 Wang Laboratories, Inc. Multitask subscription data retrieval system
US4885717A (en) * 1986-09-25 1989-12-05 Tektronix, Inc. System for graphically representing operation of object-oriented programs
JPS63214045A (ja) * 1987-03-02 1988-09-06 Matsushita Electric Ind Co Ltd 電子交換機
GB2205018B (en) * 1987-05-21 1992-01-02 Reuters Ltd Method and system for dynamically controlling the content of a local receiver data base from a transmitted data base in an information retrieval communication
US5206951A (en) * 1987-08-21 1993-04-27 Wang Laboratories, Inc. Integration of data between typed objects by mutual, direct invocation between object managers corresponding to object types
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
US4815988A (en) * 1987-12-14 1989-03-28 Minnesota Mining And Manufacturing Company Two-step wire connection and cut-off terminal
US4914583A (en) * 1988-04-13 1990-04-03 Motorola, Inc. Method of indicating processes resident within a cell of a data processing system
US5062039A (en) * 1988-09-07 1991-10-29 International Business Machines Corp. Sharing of workspaces in interactive processing using workspace name tables for linking of workspaces
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
DE68926446T2 (de) * 1989-03-14 1996-12-05 Ibm Elektronisches System zum Genehmigen von Dokumenten
US5057996A (en) * 1989-06-29 1991-10-15 Digital Equipment Corporation Waitable object creation system and method in an object based computer operating system
US5187787B1 (en) * 1989-07-27 1996-05-07 Teknekron Software Systems Inc Apparatus and method for providing decoupling of data exchange details for providing high performance communication between software processes
US5257369A (en) * 1990-10-22 1993-10-26 Skeen Marion D Apparatus and method for providing decoupling of data exchange details for providing high performance communication between software processes
CA1312656C (en) * 1989-08-24 1993-01-12 Steven Messenger Wireless communications systems
AU628753B2 (en) * 1990-08-14 1992-09-17 Digital Equipment Corporation Method and apparatus for implementing server functions in a distributed heterogeneous environment
JPH06350140A (ja) * 1993-06-04 1994-12-22 Iwasaki Electric Co Ltd 発光ダイオード

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63174159A (ja) * 1987-01-13 1988-07-18 Nec Corp 制御指令処理装置
JPH01259440A (ja) * 1988-04-08 1989-10-17 Fujitsu Ltd 端末装置の制御方式
JPH02170251A (ja) * 1988-12-23 1990-07-02 Nippon Telegr & Teleph Corp <Ntt> 情報送信方法
JPH02231664A (ja) * 1989-01-24 1990-09-13 Internatl Business Mach Corp <Ibm> 通信セツシヨン回復方法

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004512622A (ja) * 2000-10-27 2004-04-22 テラプレイ システムズ エービー 分散型マルチユーザアプリケーションにおいてアプリケーション名をタグ値にマッピングするためのサーバ
JP2005301938A (ja) * 2004-04-16 2005-10-27 Dainippon Printing Co Ltd 携帯型情報記憶媒体及びそのプログラム
JP4527434B2 (ja) * 2004-04-16 2010-08-18 大日本印刷株式会社 携帯型情報記憶媒体及びそのプログラム
JP2009188976A (ja) * 2008-02-04 2009-08-20 Omnivex Corp デジタル標識ネットワーク
JP2015529872A (ja) * 2012-06-20 2015-10-08 オラクル・インターナショナル・コーポレイション オフライン機能のためのモバイル治験モニターフレームワーク
US11693882B2 (en) 2012-06-20 2023-07-04 Oracle International Corporation System and method for offline capability for mobile devices including asynchronous threads
JP2014123363A (ja) * 2012-12-20 2014-07-03 Sap Ag 多様なデータ接続のためのサービスおよびマネージメント層

Also Published As

Publication number Publication date
CA2052803C (en) 1999-02-16
CA2052803A1 (en) 1992-04-23
AU8602491A (en) 1992-06-11
AU8953091A (en) 1992-05-20
WO1992007324A1 (en) 1992-04-30
EP0485252A3 (en) 1993-06-09
DE69128952T2 (de) 1998-10-01
EP0485252A2 (en) 1992-05-13
US5557798A (en) 1996-09-17
EP0485252B1 (en) 1998-02-25
AU648113B2 (en) 1994-04-14
KR930701792A (ko) 1993-06-12
ATE163483T1 (de) 1998-03-15
US5966531A (en) 1999-10-12
DE69128952D1 (de) 1998-04-02
MX9101699A (es) 1992-06-05
KR970004519B1 (ko) 1997-03-28
JP3023225B2 (ja) 2000-03-21

Similar Documents

Publication Publication Date Title
JP3023225B2 (ja) ソフトウエア間通信のためのデータ交換装置
US5257369A (en) Apparatus and method for providing decoupling of data exchange details for providing high performance communication between software processes
AU636152B2 (en) Apparatus and method for providing decoupling of data exchange details for providing high performance communication between software processes
US7899047B2 (en) Virtual network with adaptive dispatcher
US7058727B2 (en) Method and apparatus load balancing server daemons within a server
US7257817B2 (en) Virtual network with adaptive dispatcher
US6735625B1 (en) System and method for automatically determining whether a product is compatible with a physical device in a network
US7444405B2 (en) Method and apparatus for implementing a MAC address pool for assignment to a virtual interface aggregate
CN1607781B (zh) 利用连接操作进行网络负载平衡
CN1578320B (zh) 利用主机状态信息进行网络负载平衡
US20030061402A1 (en) Method and apparatus enabling both legacy and new applications to access an InfiniBand fabric via a socket API
EP0422782B1 (en) Communications architecture interface
JPH10301873A (ja) 通信システムで比較的大きなデータ・オブジェクトの伝送を制御するシステムと方法
JPH09218860A (ja) クライアント/サーバシステムにおける多様なプロトコルに従った遠隔手続き呼出しをハンドリングする方法
WO2004031975A1 (en) A translating switch and method
US5535334A (en) Fault-tolerant system-to-system communications system and method utilizing multiple communications methods to transfer a single message
US7627650B2 (en) Short-cut response for distributed services
JP4811884B2 (ja) 異なるインターネット通信スタック・インスタンスの間でデータ・パケットを経路指定するための方法及び装置
US20060031251A1 (en) Apparatus, system, and method for directly addressing a legacy database system
Ebbers et al. Introduction to the new mainframe: networking
Terry et al. The COSIE communications subsystem: support for distributed office applications
Saha et al. Design and implementation of a Network Service Access Point (NSAP) for OSI-compatibility
Panzieri Chapter 6 Communications protocols

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20080114

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20090114

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20090114

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20100114

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20110114

Year of fee payment: 11

LAPS Cancellation because of no payment of annual fees