JP3141943B2 - データを分配する方法とデータ構造 - Google Patents
データを分配する方法とデータ構造Info
- Publication number
- JP3141943B2 JP3141943B2 JP62221167A JP22116787A JP3141943B2 JP 3141943 B2 JP3141943 B2 JP 3141943B2 JP 62221167 A JP62221167 A JP 62221167A JP 22116787 A JP22116787 A JP 22116787A JP 3141943 B2 JP3141943 B2 JP 3141943B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- task
- user
- provider
- request
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/542—Event management; Broadcasting; Multicasting; Notifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
- H04L12/1804—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast for stock exchange and similar applications
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Business, Economics & Management (AREA)
- Computing Systems (AREA)
- Multimedia (AREA)
- Data Mining & Analysis (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
Description
【発明の詳細な説明】
従来技術の説明
ローカルコンピュータは遠隔のデータベースと電話線
で通信することにより大量の情報に対してアクセスが可
能である。遠隔のデータベースは、ほとんどのローカル
コンピュータにおいて可能なものをはるかに上廻る記憶
能力を有し、情報の中央記憶ハウスとして機能しうる。 ウオルシュ グリーンウッドインフォメーションシス
テムズ社(Walsh Greenwood Information Systems,In
c.)により開発され、現在もウォングフィナンシャルイ
ンフォメーションサービス社(Wang Financial Informa
tion Services Corporation)に引継がれているデータ
ベースは株式市場やその他の金融機関に関する情報専用
とされている。該データベースはリアルタイムの取引、
店頭での相場、オプション、商品、先物相場を含む相場
情報、固定収入データならびにニュースや団体の持ち株
を包含している。データベースは予約したコンピュータ
が一般的に3種のサービス、即ち放送、照会およびモニ
タリングにアクセスできるようにする。 放送の場合は情報が継続的にユーザに単に放送される
ことである。一例としてはニューヨーク株式取引所の相
場表示サービスであって、ニューヨーク株式取引所で行
われた全ての取引が、それら取引が行われる際全ての予
約者に伝達される。その他の放送サービスとして、ダウ
ジョーンズニュースサービス(Dow Jones News Servic
e)やロイターニュースサービス(Reuters News Servic
e)から受信した見出しをスクロールするニュースの見
出しサービスがある。また、ダウジョーンズニュースサ
ービスやロイターニュースサービスからの全てのニュー
ス項目が加入者に伝達され、ニュースがリリースされる
につれてニュース項目を通してスクロールできるように
する。 また、データベースの加入者は特定の照会を行うこと
ができる。例えば、加入者はいずれかの株式の相場を要
求し、当該株式についてデータベースに記憶されている
現在の情報を迅速に受取ることができる。また、関心あ
るニュース項目は、関心ある情報を識別する特定の識別
子記号を含むリクエストを出すことにより検索できる。 最後に、加入者は遠隔のデータベースがデータベース
へ入る情報の全てをモニタし、かつ加入者に特に関心の
あるデータのみを送信するよう要求できる。再度、加入
者は識別記号を含むデータベースへリクエストを伝達す
る。 ウオルシュ・グリーンウッド・インフォメーション・
システムズのシステムはパソコンとの通信用に構成され
た。したがって、各通信ラインのアドレスに対して正確
に一人のユーザが居た。各パソコンは特定セットのサー
ビスを予約し、これらサービスに対して適当な手数料を
支払えばよい。いずれのサービスを当該コンピュータが
使用できるようネットワークが許容するかを示すメッセ
ージを各ラインの各コンピュータに送るネットワークの
ホストプロセッサにより構成と機密性とが取扱われた。
このため正確な勘定および計算をできるようにするに十
分な制御を提供した。 発明の概要 マルチユーザシステムは中央コンピュータを介して接
続された多数の端末と、データベースのホストコンピュ
ータへの単一の通信ラインを有することができる。この
ローカルシステムにおける種々のユーザは種々のサービ
スを予約できる。その状態において、遠隔データベース
は各端末に対して正確なファイルを保持する必要があ
る。さらに、遠隔データベースは単一の通信ラインに沿
って全ての加入端末にデータを伝送し、予約し、かつ特
定の照会をなした端末に対してデータを適正に分配する
にはローカルマルチユーザシステムに依存する必要があ
る。本発明が指向するのはそのようなマルチユーザシス
テムである。 多数のユーザに入来データを適正に分配するために
は、ローカルマルチユーザシステムは予約記録と、特定
のリクエストの記録とを保持し、入来データを個々のユ
ーザに多重化する必要がある。この重要なタスクは遠隔
データベースから個々のユーザへの情報を容認できぬ程
遅らせることなく達成する必要がある。前記遅れを排除
することは株式市場情報の場合特に重要である。このよ
うに情報を迅速に分配するために、本発明の1つの特徴
は各種の情報を処理することにある。多数のユーザから
のリクエストの特定のモニタリングを追跡することは厄
介となりうる。本発明の1つの特徴によれば、最初のプ
ロバイダ(provider)のタスクは遠隔データベースから
の入来データの流れを各サービスに対応したデータタイ
プによる複数のデータの流れに分割する。リクエストを
モニタリングしないことに応答して選択されたデータの
流れは、データの流れを予約するユーザのタスクに直接
伝送される。しかしながら特定のモニタリングリクエス
トは第2のプロバイダタスクに転送される。次いで、前
記のプロバイダタスクは特定のモニタリングリクエスト
に応答してデータの流れは別のデータの流れに分割し、
かつ前記の別のデータの流れをユーザタスクに転送す
る。このように単にユーザに放送されたり、あるいは特
定の照会の結果であるデータは、モニタリングリクエス
トに応答して、さらに時間のかかるデータの分配を取り
扱う必要のあるタスクにより遅延される必要はない。ま
た、第2のプロバイダタスクは特定クラスのデータに必
要な復号を行うことができる。 ニュースの検索のような特定の照会はさらに別のプロ
バイダタスクにより処理することができる。前記クラス
のデータはモニタリングリクエストに基いて広範なデー
タ処理を必要とはしないがデータは個別のタスクを保証
するために十分な追加の処理を必要としうる。しかしな
がら、相場の照会は第1のプロバイダタスクにより扱う
ことが好ましい。ユーザは典型的には相場の照会に応答
して極めて急速に応答を得ることに典型的に関心があ
り、第1のプロバイダタスクによる前記照会の取扱いは
それほど厄介ではない。 データベースから受取られた情報は遠隔のデータベー
スによりあるいは全ての加入者に提供されたローカルソ
フトウエアによりつくられる特定フォーマットにおいて
典型的に表示される必要がある。ユーザにより開発され
たプログラムにより受信したデータへのアクセスは典型
的に限定されており、かつ使用可能な場合アクセスは特
定のプログラム技術および努力を要してきた。そのよう
なアクセスはリアルタイムベースでは得られなかった。
本発明の別の特徴は、プロバイダタスクとユーザタスク
との間のデータ経路が各ユーザタスクに接続されている
共通のコードモジュールにより設定されることである。
各データ経路は単一のユーザに転送されるタイプのデー
タに特定している。共通のコードモジュールはユーザが
予約した種々のデータタイプへのアクセスを簡素化し、
かつまたユーザプログラムをマルチタスクシステムのオ
ペレーティングシステムの変動から遮断する。オペレー
ティングシステムにおける変動が要する何らかのプログ
ラミングの変動は、共通のコードモジュールを修正する
ことにより全てのプログラムに対して処理できる。各ユ
ーザに転送された各タイプのデータに対して明確なデー
タ経路を設定することにより、ローカルの予約を簡単に
入力でき、かつ特定のサービスに対して停止でき、かつ
ユーザプログラムはいずれかの点において特定のサービ
スへのアクセスを制限することができる。このように、
内部メッセージ通信量を最小にできる。 データベースからのデータを待機する間にユーザプロ
グラムが使用される必要のある時間は、オペレーティン
グシステムによりモニタされる待機リストを設定するこ
とにより最小にできる。待機リストは各ユーザのタスク
に対して各タイプのデータについてのメイルボックスア
ドレスを含む。前記メイルボックスを介してオペレーテ
ィングシステムはユーザタスクに対して、該タスクに転
送されつつあるデータを通知する。オペレーティングシ
ステムは、各プログラムが独立して待機ルーチンを通し
てサイクルする必要がないのでデータの分配を迅速にす
る。むしろ、オペレーティングシステムは多数のイベン
トを同時に待機させ、次に、何でも最初に発生するもの
を処理する。前記の機能は一般的により高レベルの言語
で作成しているプログラマーには使用できず、本発明の
システムにおいては共通のコードモジュールにより使用
可能とされる。 プロバイダと加入者との間でデータ経路を設定する
際、構成ファイルから各ユーザタスクに対して構成リス
トを設定できる。各構成リストは、各タイプのデータに
対するリクエストが転送されるプロバイダタスクメイル
ボックスの名前と、当該タスクが特定タイプのデータに
対するアクセスをするか否かの指示を含む。また、各構
成リストは、タスクが他のタスクへのデータのプロバイ
ダであるか否かも指示する。共通コードモジュールのプ
ロバイダの特定のルーチンはプロバイダタスクに制限さ
れている。 また共通のコードモジュールを用いてプロバイダタス
クに対する待機リストを設定できる。プロバイダタスク
はリクエストがユーザタスクからつくられつつあるか否
か繰返し検査する必要はないが、オペレーティングシス
テムは単に各サービスに対してプロバイダのタスクメイ
ルボックスをモニタすればよい。また、プロバイダタス
クが各サービスに関する各メイルボックスを識別できる
よう各プロバイダタスクに対して構成リストを作る。加
入者へのデータの分配を促進するために、各プロバイダ
は各サービスに関する加入者リストを設定し、各サービ
スに関してデータ経路を発生させたユーザを識別するこ
とができる。 システムの始動の間に、第1のプロバイダのタスクが
構成リストに含む情報を当該システムのその他全てのタ
スクにも提供することが好ましい。第1のプロバイダの
タスクのみが遠隔のデータベースから受信された顧客の
アクセス情報を含む構成ファイルにアクセスする。 例えばモニタリングサービスを提供する前述の第2の
プロバイダタスクのようなプロバイダタスクは、異るユ
ーザからの独立したリクエストのために遠隔データベー
スからのデータに対して同一のリクエストをしないよう
にすべきである。この目的に対して、プロバイダタスク
はユーザタスクから特定のデータリクエストを受取り、
ユーザタスクを特定のデータリクエストに相関させる情
報をコンパイルする。各データリクエストに対して、プ
ロバイダは別のタスクに対して同様のリクエストが保留
されているか否か検出する。同様のリクエストが保留さ
れていない場合のみ特定のデータリクエストが遠隔デー
タベースに転送される。次いでデータが遠隔のデータベ
ースから受取られると、プロバイダはコンパイルされた
情報から、受信したデータを要求した全てのユーザタス
クを検出し、データはこれらのユーザタスクに転送され
る。情報はユーザツリーと記号ツリーとを発生させてコ
ンパイルすることが好ましい。ユーザツリーの各ユーザ
ノードは該ユーザが要求したデータを識別する記号のリ
ストに向けられる。記号ツリーの各ノードは該記号によ
り表示されるデータを要求したユーザを指示する。 本発明の前述およびその他の目的、特徴および利点
は、添付図面に示す本発明の好適実施例についての以下
の詳細説明から明らかとなる。 好適な実施例の説明 本発明はマルチタスク、マルチユーザデータ処理シス
テムに関し、例えばウォングラボラトリーズ社(Wang L
aboratories,Inc)製VSシステムに対して実施しうる。
第1図において、ブロック20はマルチタスクシステムの
全体のオペレーティングシステムを示す。オペレーティ
ングシステムには、多数の明確なプログラムが設けら
れ、該プログラムはオペレーティングシステムを共用し
てそれぞれのタスクを独立に完成する。例えば3個のユ
ーザプログラム22、24、26が示されている。各ユーザプ
ログラムはそれぞれのコンピュータ端末28、30または32
と関連している。各ユーザプログラム内において、多重
タスク即ち当該システムのマルチユーザのキャラクタは
ユーザには見えない。しかしながら、タスク間の通信に
対しては、オペレーティングシステムを通じてデータ経
路を設定するために特定の手順を追従する必要がある。 本発明は遠隔データベースのホストコンピュータ34へ
のリクエストの転送と、該コンピュータからのデータの
復帰とに関する。ホストコンピュータは、ホストを例え
ばダウジョーンズやスペクトルインスチチューショナル
ホールデイングス(Spectrum Institutional Holding
s)のような全ての株式取引や数個の補助的サービスに
連結する多数のデータライン上でリアルタイムの取引や
相場情報を集める。この情報はリアルタイムの株式取
引、店頭、オプション、商品取引および固定収入データ
並びにニュースおよび団体の持ち株を含む。 遠隔データベース34とユーザプログラム22、24および
26の間の全ての通信は一次プロバイダタスク36を介して
処理される。このタスクはデータを予約したユーザへ提
供する。一次プロバイダ36は電話線に沿ってデータを送
信および受信する従来の通信ソフトウエアを含む。一次
プロバイダ36はまた、どのタイプのデータが受信されて
いるかに関して最初の検出を行う必要がある。詳しく
は、一次プロバイダは当該データが一部である特定デー
タサービスを検出する。 一次プロバイダはデータの最初の分配を行う。全て当
該サービスの全ての加入者に伝達される放送クラスのほ
とんどのデータが一次プロバイダから直接個々の加入ユ
ーザへ伝送される。このクラスのサービスはダウジョー
ンズニュースサービス(dj)、ニューヨーク株式取引所
相場(tk)、ニュース見出し(nh)およびロイタニュー
スサービス(rt)を含む。これら放送サービスからユー
ザプログラム24と26までのデータの転送経路の一例を第
1図に示す。これらの転送経路は、一旦データ経路が設
定されると、遠隔データベースへのユーザプログラムか
らのそれ以上のリクエストは何ら必要とされないので一
方向のみとして示している。他のデータサービスはプロ
バイダの側でさらに複雑なロジックを必要とする。一次
プロバイダが前記サービスからのデータの分配で、過負
荷とならないようにするために、追加のタスク38と40と
が設けられている。 この例では、照会クラスのサービスからのデータの写
しは一次プロバイダにより照会プロバイダ38に転送され
る。例えば、ダウジョーンズニュースの検索サービス
(nr)に対して、遠隔データベースはユーザによりデー
タベースに伝送される特定の識別子に関するニュース項
目に対する特定の照会に応答する。照会プロバイダ38は
最初にユーザプログラムからこれらリクエストを受取
り、類似のリクエストがすでに保留されているか検出
し、もし類似のリクエストが保留されていないとすれば
リクエストを一次プロバイダを介して遠隔データベース
へ転送する。前記サービスからの全ての転送されたデー
タは一次プロバイダ36により照会プロバイダ38に向けら
れる。照会プロバイダは次いでこれ自体の記録を調べて
リクエストを行ったユーザプログラムを識別し、応答デ
ータを正に前記のユーザプログラムに転送する。第1図
に示す例において、ユーザプログラム22のみがダウジョ
ーンズニュース検索サービスを予約しているが、照会プ
ロバイダの効用は他のユーザプログラムからの予約の増
加および照会クラスのサービスの数の増加に伴い増加す
る。 最後のクラスのサービスは、ホストコンピュータが識
別記号により識別する情報に対する特定のリクエストに
基きデータをモニタする。遠隔データベースはその供給
源から受取られる際全てのデータをモニタし、リクエス
トが保留されているデータを選択する。次いで前記デー
タは要求元のユーザに転送される。このように、サービ
スのモニタクラスは照会を開放しておく。モニタプロバ
イダはユーザプログラムからリクエストを受取り、照会
プロバイダがしたと同様にリクエストを単に、すでに保
留となされていない遠隔データベースに進める。ほとん
どの遠隔データベースはマルチユーザシステムを単一の
ユーザと見做し、データの特定アイテムをマルチユーザ
システムに伝送する。前記データが受信されると、モニ
タプロバイダへ導かれる。モニタプロバイダはその記録
を探索し、いずれのユーザプログラムがデータを要求し
たか検出してデータをそれらのユーザプログラムに転送
する。 市場モニタデータは圧縮されたフォーマットで記号化
されている。一次プロバイダは、受信されつつあるデー
タが市場のモニタリングフォマットであることのみを検
出し、記号化されたフォーマットで前記データ(mm)の
全てをモニタプロバイダ40に転送する。次いで、モニタ
プロバイダは前記データを復号化し、3種類のサービス
の1つ以上として要求しているユーザプログラムに導
く。基本的な市場モニタリングサービス(mm)は特定の
株式の各々の株価変動に応答する。選定した相場サービ
ス(sl)は株式の各取引に応答し、その取引の量と金額
とを識別する。ブロック取引相場(bt)は1万株を上廻
る全ての取引を識別する。ブロック取引は実際には放送
クラスのサービスであるが、市場モニタサービスにより
ホストコンピュータにより記号化されるので、モニタプ
ロバイダにより最も効率よく復号化される。さらに、将
来のブロック取引はさらに大きい選択的サービスとなる
ことが期待される。第1図に示すように、3種類のサー
ビスは全て遠隔のデータベースから受取られた同じデー
タの流れに依存するがユーザプログラムは3種類のサー
ビスの中の選択した分に個々に予約することができる。 照会クラスであるが、一次プロバイダが完全に処理す
るサービスには株価相場(qt)サービスがある。ユーザ
は株価相場を求めて迅速に受取れるものと期待し、現在
のシステムでは相場についての要求の転送数と演算シス
テムを介する戻りデータの数を最小にすることにより相
場データの戻りを迅速にしやすくする。照会プロバイダ
を用いることから起因する、各方向での2種類の転送が
排除される。一次プロバイダは株式相場リクエストを、
該リクエストを一次プロバイダにおいて識別するシーケ
ンスコードと共に伝送する。シーケンスコードは先入/
先出し記憶装置における要求ユーザプログラムの識別子
と共に記憶される。遠隔データベースがデータを、それ
が要求されたと同じ順番で戻し、同じシーケンスコード
をデータと共に戻す。次いで、一次プロバイダは、シー
ケンス番号が適合する限り、データをそれが先入れ/先
出し記憶装置から識別されるにつれて要求しているユー
ザタスクへ戻す。シーケンス番号が戻りデータにおいて
飛ばされると、一次プロバイダはリクエストを再び行う
かあるいは再びリクエストを行うべきである旨をユーザ
プログラムに通知することができる。 ベーシックユーザプログラムはユーザが予約している
サービスの範囲内で特定のリクエストを行ったり、戻さ
れたデータを適当に表示できるようにする。しかしなが
ら、ユーザが特定の必要性に特に適した独自のプログラ
ムをユーザが開発したくなることが考えられる。事実、
ユーザはその極めて小さい部分として、株式市場情報を
得たいという必要性を有するプログラムを開発したいと
思うかもしれない。年金マネジメントプログラムがその
ようなプログラムの一例であろう。過去において、株式
市場サービスからの情報やその他のデータを検索すると
なればプログラマに対して柔軟性はほとんどもたらさ
ず、特別のプログラムの遠隔データベースへの結合を困
難かむしろ不可能にした。本発明は、オペレーティング
システムの機能を最大限利用し、一方ユーザプログラム
に要求されるプログラミング作業を最小にすることによ
りタスク間のデータ転送経路を設定しやすくするアプリ
ケーションプログラムインターフェース(ApI)により
前述の通信を容易にする。 ApIは、いずれかのユーザおよびプロバイダタスクに
連結しうるサブルーチンのコードモジュールである。一
旦ApIコードモジュールがユーザプログラムに連結され
ると、プログラムはサブルーチンを単に呼出してデータ
転送経路を設定するのみでよい。ユーザは、下位のオペ
レーティングシステムの能力や要件はコードモジュール
の開発時すでに配慮されているので、それらを気にする
必要はない。さらに、ユーザプログラムはオペレーティ
ングシステムの変動から遮断される。システム設計者は
オペレーティングシステムの変動を用いてAPIコードモ
ジュールを適当に変更する。APIコードモジュールはユ
ーザプログラムをオペレーティングシステムにインター
フェースする上で最大の利点を提供する。この方法によ
り、システム設計者はオペレーティングシステムに変更
を加える場合APIコードモジュールのみを修正する必要
があるが、背後のプロバイダのタスクは修正する必要は
ない。 以下述べる特定のAPIコードモジュールの別の利点
は、メイルボックスをつくり、かつメッセージをそれら
メイルボックスに転送する場合ウォング(Wang)VSシス
テムのタスク間メッセージ(ITM)機能を完全に利用す
る。ウォングVSシステムにおいて、タスクはオペレーテ
ィングシステムのPリストにおいてポートあるいはメイ
ルボックスをリストし、「それ自体を休眠」させること
ができる。現在のシステムにおいて、前記pリストはAP
Iコードモジュールによりつくられる待機リストであ
る。オペレーティングシステムはpリストをモニタし、
pリストのポートにおいてメッセージが受信されると、
オペレーティングシステムは前記pリストに関連したタ
スクを通知する。その結果、タスクプログラムは、プロ
グラムがイベント(事象)の発生を待機する場合演算し
続ける必要はない。このオペレーティングシステムの特
徴はユーザプログラムからデータリクエストをモニタす
る上でプロバイダタスクに対して、かつホストコンピュ
ータからのデータの受取りをモニタする上でユーザプロ
グラムに対して特に有用である。前記イベントはいつで
も発生しうる。 タスク間通信は3種類のタイプのリストを設定するこ
とによりAPIコードモジュールにより効率的に処理され
る。第2図と第3図とは一次プロバイダとユーザ2用の
例のリストを示す。APIコードモジュールを介して通信
する各タスクはAPIルーチンを介して構成リストと待機
リストとを設定する。さらに、各プロバイダタスクはそ
れが提供する各サービスに対する加入者リストを設定し
うる。 いずれかのデータ転送経路を設定する前に、プロバイ
ダあるいはユーザタスクはまず一次プロバイダを介して
構成リストを獲得する必要がある。また、構成リストは
各サービスに対して、特定のタスクが(リストのpによ
り指示される)前記サービスのプロバイダであるか否か
を指示する。タスクがプロバイダでないとすれば、リス
トは、タスクが(yesに対してはYで、noに対してはN
で示す)サービスに対してアクセスを有するか否かを指
示する。また、各クラスにはITMポート即ち前記サービ
スを要求しているメッセージが転送されるべきメイルボ
ックスアドレスが設けられている。 ユーザがプロバイダへのリクエストを完了しうる前
に、プロバイダはその構成リストを検索してしまわねば
ならない。アクセスおよび前記リストに設けられたプロ
バイダメイルボックス情報に基いて、プロバイダはオペ
レーティングシステムの待機リストにおいてリクエスト
を受取るべきメイルボックスを列挙することにより特定
のサービスに対してリクエストを受取るようプロバイダ
は設定されておくべきである。第2図において、待機リ
ストにおける各サービスに対して指示した使用可能状態
は、一次プロバイダが待機リストの各サービスに対する
リクエストを受取る状態であることを示す。前述のよう
に、待機リストはウォングのVSシステムアーキテクチャ
でのオペレーティングシステムのpリストである。一旦
待機リストがAPIコードモジュールを介して設定される
と、プロバイダプログラムは各サービスに対してメイル
ボックスをモータし続ける必要はない。むしろ、この面
到な仕事は待機リストによりオペレーティングシステム
が取扱う。 プロバイダは各サービスに対して加入者リストを設定
し、構成リストにおいて(第2図において*で示す)各
加入者リストの開始アドレスに対するポインタを含むこ
とができる。 また、ユーザはAPIルーチンを介してオペレーティン
グシステムの待機リストを設定する。ユーザは、アクセ
スを有する各サービスに対してそれ自体のユーザポート
を含むことができる。次いで、前記ユーザはプロバイダ
から戻されたデータに対するメイルボックスとして作用
する。待機リストは、データを受取ることが予想されて
いる各メイルボックスを含む。待機リストの各メイルボ
ックスは使用可能状態あるいは取消状態のいずれかにセ
ットでき、オペレーティングシステムは使用可能のメイ
ルボックスに転送されたデータのタスクを通知するのみ
である。 サービスの予約をするには、ユーザはAPIルーチンに
おける構成リストを探索し、プロバイダメイルボックス
アドレスを獲得する。ルーチンを通して、第5B図に示す
ように、次いで予約メッセージを構成し、該メッセージ
を指定されたプロバイダメイルボックスに伝達する。次
いで、ユーザはメッセージが受取られたユーザポートを
介してオペレーティングシステムにより通知を受けるよ
う待機する。予約メッセージはオペレーティングシステ
ムによりプロバイダタスクメイルボックスに転送され、
プロバイダタスクはメッセージが受取られずみであるこ
とが通知される。次いで、プロバイダは予約リストを処
理し、ユーザの復帰メイルボックスと、当該サービスに
対する他のデータ該サービスに対するプロバイダの加入
者リストに位置させればよい。前記の他のデータは加入
者のワークステーションの番号、ユーザのI.D.とキーと
を含む。 構成リストにおいて各サービスに対して独特のプロバ
イダメイルボックスを規定することにより、当該システ
ムは各ユーザプログラムが、ユーザが予約している数種
のサービスに対して独立してデータ経路を設定できるよ
うにする。ホストプロセッサはカストマ(cutomer)と
して特定のユーザプログラムを含み、そのため特定のサ
ービスに対してデータへのアクセスを許容しうるが、ロ
ーカルシステム内においては、いずれかのユーザは予約
に失敗したり、あるいは他のサービスに影響を与えるこ
となくいずれかのときにいずれかのサービスに対する予
約を取消しする可能性がある。その結果、オペレーティ
ングシステムを通る内部メッセージトラフィックを最小
にすることができる。ホストプロセッサはローカルシス
テム内の加入者としてユーザの状態を知らせておらず、
そのため当該システム内の予約と取消しとがユーザのカ
ストマ状態に影響しない。 構成情報へのアクセスを迅速にするために、当該シス
テムの各タスクに対して、明確な構成リストを発生す
る。各クラスは、オペレーティングシステムを通して構
成ファイルからそれ以上のデータの転送を必要とするこ
となくそのリストへのアクセスを効率的に獲得すること
ができる。しかしながら、全てのタスクに対してグロー
バルなメモリが容易に得られるマルチタスクシステムに
おいては、個々の構成リストは必要とされない。むし
ろ、情報は中央ファイルから得ることができる。しかし
ながら、各タスクは当該システムにより指定されたプロ
バイダメイルボックスアドレスおよび各々の入手可能な
サービスに関する独自のアクセス情報に対して直ちにア
クセスを有することが重要である。 構成・待機および加入者リストならびにデータを効率
的に転送できるようにするAPIサブルーチンの作成につ
いてのさらに詳しい説明は以下の通りである。 遠隔データベースからの全ての情報を最初に受取るも
のとして、一次プロバイダ36は遠隔データベースからの
転送に関するプログラムの開始のための中心的プログラ
ムとして選択されずみである。一次プロバイダの開始処
理の一部として、CNFINITと称する構成開始APTルーチン
を呼出す。CNFINITはディスク記憶装置から構成ファイ
ルを読取る。一次プロバイダはまた通信ラインを開始さ
せる。ホストコンピュータ34が、ラインが使用中である
ことを検出すると、下記するようにカストマ用にサービ
スリストを送出することにより応答する。一次プロバイ
ダは遠隔データベースからと、ディスク記憶装置とから
受取られた情報を統合して第4図に示す構成ファイルを
つくる。 構成ファイルの第1のアイテムはデータ転送に含まれ
るべき各タスクに対するキーである。実際、キーは各タ
スクの構成記録のための論理名称である。PRIPRO、INQP
ROおよびMNOPROというキーは一次プロバイダ、照会プロ
バイダ、およびモニタプロバイダに対してそれぞれ与え
られた名称である。別のキーADMINは、当該システムの
特定の必要性に対して要求されるのであれば、事務管理
プログラムの実行を可能とする。そのようなプログラム
はキーの指定と、特定のタスクとワークステーションと
によるサービスへのアクセスとを制御することができ
る。 ファイルの最初の4個のキーに関連したプログラムは
典型的に背景で演算するプロバイダプログラムである。
さらに追加の3個のキーUSER1、USER2およびUSER3が第
1図に示す3個のユーザプログラムの各々に対して指示
されている。勿論、当該システムは3個のユーザプログ
ラムに限定されるものではない。これらのプログラムは
典型的には加入者であって、前面において演算したり、
しなかったりする。 端末I.D.フィールドは、遠隔データベースが当該シス
テムにおいて各ユーザを知るための識別子である。デー
タベースは単位端末当りの識別したサービスに対して特
定のサービスと該サービスに対する勘定とに対する権利
を許諾する。ユーザタスクのみはデータの唯一の真正な
消費者であるため端末のI.D.Sを必要とする。プロバイ
ダは遠隔データベースの単なる延長と考えられ、端末I.
D.を何ら必要としない。また、端末I.Dは代替キーとし
て作用する。遠隔データベースは第1のキーには気付か
ず、端末I.Dをタッグを付した構成記録を送る。端末I.D
はカストマが新しいあるいは拡大したサービスを要求す
る場合、遠隔データベースから割当てられる。 各タスクは、開始されるにつれてキーを備えた一次プ
ロバイダに送られる。状態フィールドはキーが使用され
ているか否か指示し、もしそうなら関連のタスクが使用
されているワークステーション番号を指示する状態フィ
ールドは背景でタスクが作動していることを指示しう
る。ワークステーションフィールドは事務管理プログラ
ムによって使用され、所定のキーと対応する特権とを使
用しうるワークステーションを限定する。キーは第4図
に星印で単に示すワークステーションのリストからのも
の、あるいは該リストに制限しうる。 第4図の下部分に、サービスフィールドを広げてあ
る。このフィールドのリストは各キーに対して、各々の
規定されたサービスに関して関連のプログラムの役目を
規定する。プログラムは所定のサービスに関して3種類
の役目のいずれかを有しうる。それは完全な予約特権
(Y)を有することができる。サービス(P)のプロバ
イダでよく、あるいはサービスに対して何ら権利がない
(N)こともありうる。遠隔データベースにより提供さ
れる加入者の権利は、許容された予約にはyで示し、否
定された予約にはnで指示されて、ローカル事務管理プ
ログラムによりオーバルールできる。プロバイダの役目
はシステム設計者により規定される。 CFNINITの間、一次プロバイダ36もディスク記憶装置
からプロバイダメイルボックスファイルを獲得する。各
サービスに対するプロバイダメイルボックスは、第2図
と第3図とに示すように後で各タスクの各構成リストに
含まれる。プロバイダメイルボックスファイルと構成リ
ストからの情報を用いて、一次プロバイダはAPIコード
モジュールを用いて各タスクが用いるべき構成リストの
プロトタイプを構築する。プロトタイプの構成リストは
各々の規定したサービスに対して1個の記録を含み、各
記録は、サービスのプロバイダに関する、ITMポート名
であるメイルボックスを含む。 構成ファイルとプロトタイプ構成リストとを手元にお
いて、一次プロバイダはSCLINITを呼出して独自のパー
ソナル構成リストを発生させる。そのキーPRIPROを提供
することにより一次プロバイダはプロトタイプリストに
基き、各サービスに対して構成ファイルからアクセスコ
ードP,Y、またはNを取出してその構成リストを獲得す
る。構成リストのサービスに対してPが指示される場
合、プロバイダはメイルボックスとして、構成リストに
指示するプロバイダメイルボックスを設定する。またプ
ロバイダは各サービスに対して加入者リストを設定し、
現在のリストサイズを零にセットする。さらに、プロバ
イダプログラムにより設定される各メイルボックスは待
機リストとして作用するタスクに対して、APIサブルー
チンによりオペレーティングシステムに配置される。待
機リストにおける各プロバイダのメイルボックスに対す
る待機状態が使用可能状態にセットされる。最後に、一
次プロバイダはAPIルーチンSCLWAITを呼出し、それによ
りオペレーティングシステムに対して、待機リストの使
用可能のメイルボックスのいずれかにおいてメッセージ
が受取られたとの指示を待機するよう信号を出す。 一次プロバイダを開始すると、その他のタスクも開始
できる。この目的に対して、各タスクはAPIルーチンSCL
INITを呼出すことによってオペレーティングシステムの
待機リストを設定する。第3図に示すように、待機リス
トは最初に3個の偽似サービス、エマージョンシィ(e
m)、ワークステーション(ws)およびタイマ(tm)を
含むことができる。エマジェンシィポートは待機リスト
の高優先順位においてタスクが緊急メッセージを受取る
ことができるようにする。ワークステーション・サービ
スはユーザプログラムが、APIコードモジュールにより
設定された待機リストを利用してワークステーションの
ターミナルにおいて発生予定のイベントを待機できるよ
うにする。この偽似サービスにより、ユーザプログラム
は例えばキーストロークのようなイベントがターミナル
で発生するのを待機する間データの受取りを遅らせる必
要はない。最後に、タイマの偽似サービスは待機リスト
を介して、プログラムがタイマをセットできるようにす
る。そのため、ユーザプログラムが他のイベントの発生
を待機する時間を制限できるようにする。 SCLINITルーチンの間、タスクはまた、当該システム
のサービスを予約するに必要な情報を提供する構成リス
トを獲得する。タスクは前記構成リストを一次プロバイ
ダタスクから獲得し、かつその目的に対して、APIサブ
ルーチンは各タスクが構成データのユーザとして構成さ
れるようにした省略時のミニ構成リストを有する、ユー
ザはメイルボックス「cfcf」を介して一次プロバイダに
構成データを予約する。 構成予約メッセージが一次プロバイダのメイルボック
ス「cfcf」に達すると、オペレーティングシステムはSe
LWAITルーチンにおいて一次プロバイダを喚起する。メ
イルボックス「cfcf」における構成データ用予約メッセ
ージに応答して、一次プロバイダは予約メッセージに提
供されたユーザキーを用いて構成ファイルの適当な記録
を獲得し、プロトタイプの構成リストのコピーに、前記
キー用の各サービスに対する適当なアクセスコードを付
す。一次プロバイダはカスタム化した構成リストを予約
メイルボックス、例えば20cfまで戻し、マスター構成フ
ァイルを更新して特定のキーが使用されていることを指
示する。 SCLINITルーチンを個別に使用することにより、各タ
スクは完成な構成リストと、空であるが、エマルジェン
シィ,ワークステーションおよびタイマについての偽似
サービス用の待機リストとを有することができる。第1
図に示すデータ経路はまだ設定されていない。経路を設
定するために、各プロバイダはルーチンPRVOPENを呼出
し、該ルーチンにより、初期は空である加入者リストを
設定する。自動的にPRVOPENの間双方のプロバイダタス
クと予約者タスクとはルーチンSCLOPENを呼出す。ルー
チンSCLOPENを呼出す。ルーチンSCLOPENにより、プロバ
イダタスクはサービスが構成リストに指示されたものに
対して開放されるようそのメイルボックスをセットし、
かつ予約者タスクはメイルボックスを、例えば第3図の
20gtのようにタスク数とサービスコードを加えたものに
セットする。前記サービスに対する特定のタスクにより
受取られる将来のいずれのメッセージも指定されたメイ
ルボックスにおいて受取られる。 あるタスクは、あるサービスに対する加入者および他
のサービスのプロバイダとして作用しうる。例えば、モ
ニタプロバイダは市場モニタリングサービスMMに対する
加入者および、市場モニタリングサービスmm、選択相場
サービスおよびブロック取引サービスbtのプロバイダと
して作用する。同様に、照会プロバイダはニュース検索
サービスNRへの加入者および、分配されたニュース検索
サービスnrのプロバイダである。個々のSCLOPENルーチ
ンを各サービスに対して呼出す必要がある。 SCLOPENルーチンにおいては、メイルボックスは前記
タスクに対して待機リストに位置されるが、「否定」に
セットされる。次いで、プロバイダタスクはSCLLISTEN
を攻出すことにより、待機リストの特定のメイルボック
スは使用可能状態にセットされる。加入者タスクは典型
的にはまずルーチンSCLSUBSCRIBEを呼出す。前記ルーチ
ンにより予約者は第5B図に示すように予約メッセージを
構築し、該予約メッセージを、その構成リストから得た
プロバイダメイルボックスに伝送する。加入者メッセー
ジは加入者における当該サービスのための戻りメイルボ
ックスと、該メッセージが加入者か、あるいは取消し用
かを示すフラッグとを含む。前記メッセージはまた、タ
スク番号、ユーザI.D.およびユーザのキーとを含む、プ
ロバイダは加入者を、前記サービスに対する加入者リス
トに追加することにより前記メッセージに応答する。次
いで、加入者は典型的にSCLLISTENを入力することによ
り待機リストの関連のメイルボックスが使用可能状態に
セットされる。 プロバイダにより加入者メイルボックスに戻されたデ
ータは、そのときメイルボックスに介在のいずれの情報
をもユーザが獲得するAPIルーチンSCLREADを入力するこ
とにより読取ることができる。しかしながら、通常、ユ
ーザはルーチンSCLWAITを入力し、そのために使用中の
メイルボックスのいずれかにおいてイベントが発生する
とオペレーティングシステムに信号を送りその旨通知す
る。 一旦ユーザがサービスを予約すると、APIコードモジ
ュールにおけるSCLSENDルーチンによりプロバイダを介
して遠隔データベースの特定のリクェストを行うことが
できる。このルーチンを用いることにより、ユーザプロ
グラムは第5A図に示すようにメッセージを発生する。第
5A図はサービスと、特定のサービスとリクェストとに対
して適したフラッグとメッセージとを含む。SCLSENDの
下で、プロバイダのメイルボックスは加入者の構成リス
トから獲得され、かつメッセージが送られる。メッセー
ジはプロバイダにより処理され、照会プロバイダあるい
はモニタプロバイダの場合、プロバイダは一次プロバイ
ダに伝送され、かつ遠隔データベースに伝送されるべき
独自のメッセージを発生させる。一次プロバイドへのメ
ッセージはSCLOPENとSCLSUBSCRIBEルーチンを介して、
先に設定された経路を送られる。 最後に、データがホストプロセッサ34からプロバイダ
により受取られると、プロバイダはそのデータを予約し
ているユーザに送る必要がある。プロバイダはPRVSEND
ルーチンを呼出すことにより、プロバイダが特定のサー
ビスに対する予約リストを参照し、送入されたデータを
加入者に送る。 代替的に、モニタのようなプロバイダは独自の内部リ
ストを介してデータを伝送する必要のあるメイルボック
スを検出することができる。 これまで説明したルーチンの他に、例えばSCLINITの
逆であるSCLTERM,SCLSUBSCRIBEの逆であるSCLCACEL、SC
LLISTENの逆であるSCLIGNORE、およびSCLOPENの逆であ
るSCLCLOSEのような逆ルーチンがある。 付加的な機能SCLLISTによってユーザが多数のユーザ
が規定するイベントをSCLWAITが使用する待機リストに
追加できるようにする。ワークステーション偽似サービ
スのようなこの偽似サービス(US)によって、入来デー
タの受取りが遅れる可能性のある別の待機処理をユーザ
プログラムが排除できるようにする。 モニタプロバイダタスクの詳細説明を第6図から第8
図までに関して以下提供する。モニタプロバイダは市場
モニタ、選択相場およびブロック取引サービスの各々に
対する加入者リストを保存する必要があるのみならず、
ホストにより特定市場記号をモニタすべき旨の特定のリ
クェストを転送し、ホストから受取ったデータが適正に
分配できるように予約者リストを要求された記号に相関
させる必要がある。その目的に対して、モニタプロバイ
ダは第6A図に示す記号ツリーと、第7A図に示すユーザツ
リーに依存する。各ツリーは2進スレディッド(thread
ed)ツリーであって、結合されたリストに対するポイン
タを付加的に含む。 記号ツリーの場合、スリーの各ノードは、モニタされ
つつさる特定の機密に対する識別子として作用する記号
を識別する。前記ツリーの各ノードは前記記号に関して
情報を要求ずみのユーザの結合されたリストを指向す
る。ユーザツリーにおいては、ツリーの各ノードはモニ
タプロバイダからのサービスのいずれかに対する加入者
を識別し、かつ各ノードは該ユーザに対してモニタされ
つつある記号の結合されたリストを指向しうる。各ユー
ザノードに結合されたリストにおける各記号に対して、
記号ツリーには対応する記号のノードがある。 ユーザツリーは、付加的なユーザタスクがモニタプロ
バイダサービスに予約するにつれて生長する。信号ツリ
ーは各サービス内の特定リクェストの数が増加するにつ
れて生長する。各々の場合、予約すべき最初のユーザあ
るいは要求すべき最初の信号とはツリーの根元として作
用する。その後、新しいノードのアルファベット値が低
位か高位かによって先行ノードの左または右に追加のノ
ードが追加される。このように、アルファベット的に記
号ツリーの根元で記号MMM.Nを先行するいずれの記号も
ツリーの左側で見出される。二進ツリーを使用すること
により、特定アイテムに対してリストを探索するに要す
る時間が著しく低減される。この探索時間は特に重要
で、例えば20のユーザとか、ユーザ当り50記号とかツリ
ーに列挙できる。 記号ツリーの各ノードは第6B図に列挙した情報を含
む。各ノードは証券記号と、該証券が取引される条件、
およびホストから受取った前記機密に対する最近の価格
とを含む。さらに前記ノードに結合したユーザリストに
おけるエンドユーザへのポインタを含む各々の結合した
リストに対する、かつ該リスト内のポインタは第6A図に
おいて点線矢印で示す。結合されたリストはリストへの
ノードの追加と、該リストからの削除とを促進するよう
二重結合されている。各ノードの左右の子に対するポイ
ンタがノードの親に対するポインタと共に設けられてい
る。これらのポインタは第6A図において実線の矢印で示
す。ポインタからポインタまでのツリーのスレッディン
グが、記号を追加したり削除する場合のツリーの再構成
を簡素化する。結合されたリストの各ユーザノードは、
特定のユーザがそれにより記号を要求したサービスを含
む。各記号ノードに含むサービスマインディング表はそ
の結合されたユーザリスト内に含まれるサービスの全て
を識別する。 ユーザリストの各ユーザノードは第7b図に示す情報を
有する。各ノードはルーチンSCLSUBSCRIBEでの加入者の
予約メッセージで識別された復帰メイルボックスと、ユ
ーザのターミナルI.D.とユーザのキーとを含む。さら
に、各ノードはそのノードに関連した記号リストへのポ
インタと、ノードの子を親へのポインタとを含む。さら
に、ユーザノードはそれ自体のサービスマインディング
(service minding)表を含む。このマインディング表
は、特定のユーザが予約したサービスの全てを列挙す
る。第7A図においてユーザ7が示すように、特定のユー
ザはユーザノードを有すべく保留の特定の記号リクェス
トを有する必要はない。 ユーザがサービスをSCLSUBSCRIBEを介して予約する
と、モニタプロバイダがユーザツリーを走査してユーザ
ノードがすでに前記タスクに対して設定されたかを検出
する。もし設定されたとすれば、前記タスクが予約して
いる新しいサービスがサービスマインディング表に追加
される。もし設定されていないとすれば、新しいノード
がツリーに対する葉として追加される。 その後SCLSENDルーチンにより、タスクは該サービス
に対して特定の記号をモニタすべき旨要求しうる。ツリ
ーに記号を追加する前に、ホストプロセッサにリクェス
トを伝達し、価格の形での肯定応答をホストから受取る
必要がある。リクェストはもし同じサービス内の同じ記
号が先に要求されていなかったとすればホストプロセッ
サに伝達されるだけである。検出を行うには、モニタプ
ロバイダはまず要求すべき記号に対する記号ツリーを走
査する。前記プロバイダが前記記号の位置を特定すると
すれば、サービスマインディング表を検査して、希望す
るサービスに対して記号が要求されたか否かを検出す
る。もし記号とサービスとが記号ツリーで位置づけられ
ると、ユーザが記号ノードに対する結合したユーザリス
トに追加され、記号がユーザノードの結合した記号リス
トに追加される。しかしながらもし記号とサービスとが
記号ツリーに位置していないとすれば、ホストに対して
リクェストがなされる。 ホストに対してリクェストがなされると、シーケンス
番号が与えられ、該シーケンス番号はリクエストと共に
伝送される。ホストは先入れ/先出し式にリクェストを
受取り、シーケンス番号を戻す。肯定応答が受取られた
か否か検出するために、要求された記号が第8図に示す
追加保留待ち行列に位置される。待ち行列の各ノードが
要求されるべき次の一連の記号を指す。シーケンス番号
は要求された記号と共に含まれる。さらに、待ち行列の
各ノードはリストに含まれる可能性のあるユーザノード
を指す。 肯定応答が受取られると、記号ノードは待ち行列から
除去され、ユーザノードに対するポインタは記号ツリー
の前記記号ノードに転送される。記号がツリーにおいて
すでにノードを有していないとすれば、ノードが設定さ
れる。さらに、ユーザツリーにおける結合された記号リ
ストにおけるノードが特定のユーザに追加される。 肯定応答シーケンス番号が乱れて受取られると、当該
システムは、飛ばされたリクェストが不首尾であったも
のと想定し、新しいリクェストを同じ記号に対して伝送
する。記号は新しいシーケンス番号と共に追加の保留待
ち行列の端に位置される。また、カウンタが刻時され
る。カウンタは、受取られていない記号に対してエンド
レスループのリクェストを行うのを排除するためリクェ
ストが3回だけ再伝送できるようにする。 ユーザがサービスから記号を削除するよう要求する
と、ユーザツリーが走査されてユーザの位置を特定し、
前記記号が結合されたリストから削除される。次いで、
記号ツリーが記号に関して走査され、かつユーザが結合
されたリストから除外される。さらに、結合されたリス
トが走査され、ユーザの位置を特定するにつれて、特定
のサービスに対する前記信号を含めたのは前記ユーザで
あるか否か検出する。その通りであれば、前記サービス
が記号ノードマインディング表から除外される。その
後、特定のサービスが信号に関して保留されているか否
か検出する記号ツリーの走査において、マインディング
表は更新ずみであるため結合されたユーザリストを走査
する必要はない。削除されたユーザが結合されたユーザ
リストでの最後のノードである場合、記号ツリーからノ
ードが完全に削除される。また、削除リクェストがホス
トプロセッサに送られる。 削除リクェストが適正にホストにより受取られ、かつ
処理されない場合、当該システムは、ホストに分配が期
待される更新情報を将来受取ることができる。前記デー
タのユーザの位置を特定するために記号ツリーを走査す
るとき、対応する信号ノードの位置は特定されない。そ
の場合、削除リクェストは再びホストプロセッサに伝送
される。ホ ホストから情報が受取られた際記号の記号ツリーにお
ける位置が特定されるとすれば、結合されたユーザリス
トが走査され、特定のデータを受取るべきユーザを識別
する。データはユーザツリーを走査することにより検出
される適当なメイルボックスにおいて前記ユーザに送ら
れる。 ユーザプログラムがSCL CANCELルーチンを呼出し、取
消メッセージをモニタプロバイダに送る際そのユーザに
係る記号の記号ツリーをクリヤするためにユーザツリー
が必要とされる。前記ルーチンからメッセージを受取る
と、ユーザツリーがユーザに関して走査され、結合した
記号リストを走査することにより記号が識別される。次
いで、記号ツリーが前記記号に対して走査され、ユーザ
は結合されたユーザリストから除去される。再び、もし
ユーザが前記記号に結合されるべき最後のユーザである
場合、記号は記号ツリーから除去され、削除リクェスト
がホストまで送られる。 ブロック取引記号btはサンプルツリーのいずれにも含
まれていないことが注目できる。その理由はブロック取
引サービスが放送サービスであるためである。それは市
場モニタデータを記号化しているので、モニタプロバイ
ダによってのみ処理される。しかしながら、放送サービ
スとして、ブロック取引はユーザを加入者リストに追加
するAPIルーチンPRVSUBSCRIBEと、データをリストアッ
プしたユーザに分配するPRVSENDとにより簡単に処理さ
れる。 本発明を好適な実施例に関して特に示し、かつ説明し
てきたが、当該技術分野の専門家には、特許請求の範囲
に規定した本発明の精神と範囲とから逸脱することなく
形態や細部において各種の変更が可能なことが理解され
る。例えば、本発明は主として単一の処理ユニットにお
いてタスクが実行されるマルチタスクシステムを指向す
るが、タスクは本発明のある種の特徴を依然として含め
ながら他の処理ユニットにも分配できる。さらに、本発
明は非市場データについても適用される。
で通信することにより大量の情報に対してアクセスが可
能である。遠隔のデータベースは、ほとんどのローカル
コンピュータにおいて可能なものをはるかに上廻る記憶
能力を有し、情報の中央記憶ハウスとして機能しうる。 ウオルシュ グリーンウッドインフォメーションシス
テムズ社(Walsh Greenwood Information Systems,In
c.)により開発され、現在もウォングフィナンシャルイ
ンフォメーションサービス社(Wang Financial Informa
tion Services Corporation)に引継がれているデータ
ベースは株式市場やその他の金融機関に関する情報専用
とされている。該データベースはリアルタイムの取引、
店頭での相場、オプション、商品、先物相場を含む相場
情報、固定収入データならびにニュースや団体の持ち株
を包含している。データベースは予約したコンピュータ
が一般的に3種のサービス、即ち放送、照会およびモニ
タリングにアクセスできるようにする。 放送の場合は情報が継続的にユーザに単に放送される
ことである。一例としてはニューヨーク株式取引所の相
場表示サービスであって、ニューヨーク株式取引所で行
われた全ての取引が、それら取引が行われる際全ての予
約者に伝達される。その他の放送サービスとして、ダウ
ジョーンズニュースサービス(Dow Jones News Servic
e)やロイターニュースサービス(Reuters News Servic
e)から受信した見出しをスクロールするニュースの見
出しサービスがある。また、ダウジョーンズニュースサ
ービスやロイターニュースサービスからの全てのニュー
ス項目が加入者に伝達され、ニュースがリリースされる
につれてニュース項目を通してスクロールできるように
する。 また、データベースの加入者は特定の照会を行うこと
ができる。例えば、加入者はいずれかの株式の相場を要
求し、当該株式についてデータベースに記憶されている
現在の情報を迅速に受取ることができる。また、関心あ
るニュース項目は、関心ある情報を識別する特定の識別
子記号を含むリクエストを出すことにより検索できる。 最後に、加入者は遠隔のデータベースがデータベース
へ入る情報の全てをモニタし、かつ加入者に特に関心の
あるデータのみを送信するよう要求できる。再度、加入
者は識別記号を含むデータベースへリクエストを伝達す
る。 ウオルシュ・グリーンウッド・インフォメーション・
システムズのシステムはパソコンとの通信用に構成され
た。したがって、各通信ラインのアドレスに対して正確
に一人のユーザが居た。各パソコンは特定セットのサー
ビスを予約し、これらサービスに対して適当な手数料を
支払えばよい。いずれのサービスを当該コンピュータが
使用できるようネットワークが許容するかを示すメッセ
ージを各ラインの各コンピュータに送るネットワークの
ホストプロセッサにより構成と機密性とが取扱われた。
このため正確な勘定および計算をできるようにするに十
分な制御を提供した。 発明の概要 マルチユーザシステムは中央コンピュータを介して接
続された多数の端末と、データベースのホストコンピュ
ータへの単一の通信ラインを有することができる。この
ローカルシステムにおける種々のユーザは種々のサービ
スを予約できる。その状態において、遠隔データベース
は各端末に対して正確なファイルを保持する必要があ
る。さらに、遠隔データベースは単一の通信ラインに沿
って全ての加入端末にデータを伝送し、予約し、かつ特
定の照会をなした端末に対してデータを適正に分配する
にはローカルマルチユーザシステムに依存する必要があ
る。本発明が指向するのはそのようなマルチユーザシス
テムである。 多数のユーザに入来データを適正に分配するために
は、ローカルマルチユーザシステムは予約記録と、特定
のリクエストの記録とを保持し、入来データを個々のユ
ーザに多重化する必要がある。この重要なタスクは遠隔
データベースから個々のユーザへの情報を容認できぬ程
遅らせることなく達成する必要がある。前記遅れを排除
することは株式市場情報の場合特に重要である。このよ
うに情報を迅速に分配するために、本発明の1つの特徴
は各種の情報を処理することにある。多数のユーザから
のリクエストの特定のモニタリングを追跡することは厄
介となりうる。本発明の1つの特徴によれば、最初のプ
ロバイダ(provider)のタスクは遠隔データベースから
の入来データの流れを各サービスに対応したデータタイ
プによる複数のデータの流れに分割する。リクエストを
モニタリングしないことに応答して選択されたデータの
流れは、データの流れを予約するユーザのタスクに直接
伝送される。しかしながら特定のモニタリングリクエス
トは第2のプロバイダタスクに転送される。次いで、前
記のプロバイダタスクは特定のモニタリングリクエスト
に応答してデータの流れは別のデータの流れに分割し、
かつ前記の別のデータの流れをユーザタスクに転送す
る。このように単にユーザに放送されたり、あるいは特
定の照会の結果であるデータは、モニタリングリクエス
トに応答して、さらに時間のかかるデータの分配を取り
扱う必要のあるタスクにより遅延される必要はない。ま
た、第2のプロバイダタスクは特定クラスのデータに必
要な復号を行うことができる。 ニュースの検索のような特定の照会はさらに別のプロ
バイダタスクにより処理することができる。前記クラス
のデータはモニタリングリクエストに基いて広範なデー
タ処理を必要とはしないがデータは個別のタスクを保証
するために十分な追加の処理を必要としうる。しかしな
がら、相場の照会は第1のプロバイダタスクにより扱う
ことが好ましい。ユーザは典型的には相場の照会に応答
して極めて急速に応答を得ることに典型的に関心があ
り、第1のプロバイダタスクによる前記照会の取扱いは
それほど厄介ではない。 データベースから受取られた情報は遠隔のデータベー
スによりあるいは全ての加入者に提供されたローカルソ
フトウエアによりつくられる特定フォーマットにおいて
典型的に表示される必要がある。ユーザにより開発され
たプログラムにより受信したデータへのアクセスは典型
的に限定されており、かつ使用可能な場合アクセスは特
定のプログラム技術および努力を要してきた。そのよう
なアクセスはリアルタイムベースでは得られなかった。
本発明の別の特徴は、プロバイダタスクとユーザタスク
との間のデータ経路が各ユーザタスクに接続されている
共通のコードモジュールにより設定されることである。
各データ経路は単一のユーザに転送されるタイプのデー
タに特定している。共通のコードモジュールはユーザが
予約した種々のデータタイプへのアクセスを簡素化し、
かつまたユーザプログラムをマルチタスクシステムのオ
ペレーティングシステムの変動から遮断する。オペレー
ティングシステムにおける変動が要する何らかのプログ
ラミングの変動は、共通のコードモジュールを修正する
ことにより全てのプログラムに対して処理できる。各ユ
ーザに転送された各タイプのデータに対して明確なデー
タ経路を設定することにより、ローカルの予約を簡単に
入力でき、かつ特定のサービスに対して停止でき、かつ
ユーザプログラムはいずれかの点において特定のサービ
スへのアクセスを制限することができる。このように、
内部メッセージ通信量を最小にできる。 データベースからのデータを待機する間にユーザプロ
グラムが使用される必要のある時間は、オペレーティン
グシステムによりモニタされる待機リストを設定するこ
とにより最小にできる。待機リストは各ユーザのタスク
に対して各タイプのデータについてのメイルボックスア
ドレスを含む。前記メイルボックスを介してオペレーテ
ィングシステムはユーザタスクに対して、該タスクに転
送されつつあるデータを通知する。オペレーティングシ
ステムは、各プログラムが独立して待機ルーチンを通し
てサイクルする必要がないのでデータの分配を迅速にす
る。むしろ、オペレーティングシステムは多数のイベン
トを同時に待機させ、次に、何でも最初に発生するもの
を処理する。前記の機能は一般的により高レベルの言語
で作成しているプログラマーには使用できず、本発明の
システムにおいては共通のコードモジュールにより使用
可能とされる。 プロバイダと加入者との間でデータ経路を設定する
際、構成ファイルから各ユーザタスクに対して構成リス
トを設定できる。各構成リストは、各タイプのデータに
対するリクエストが転送されるプロバイダタスクメイル
ボックスの名前と、当該タスクが特定タイプのデータに
対するアクセスをするか否かの指示を含む。また、各構
成リストは、タスクが他のタスクへのデータのプロバイ
ダであるか否かも指示する。共通コードモジュールのプ
ロバイダの特定のルーチンはプロバイダタスクに制限さ
れている。 また共通のコードモジュールを用いてプロバイダタス
クに対する待機リストを設定できる。プロバイダタスク
はリクエストがユーザタスクからつくられつつあるか否
か繰返し検査する必要はないが、オペレーティングシス
テムは単に各サービスに対してプロバイダのタスクメイ
ルボックスをモニタすればよい。また、プロバイダタス
クが各サービスに関する各メイルボックスを識別できる
よう各プロバイダタスクに対して構成リストを作る。加
入者へのデータの分配を促進するために、各プロバイダ
は各サービスに関する加入者リストを設定し、各サービ
スに関してデータ経路を発生させたユーザを識別するこ
とができる。 システムの始動の間に、第1のプロバイダのタスクが
構成リストに含む情報を当該システムのその他全てのタ
スクにも提供することが好ましい。第1のプロバイダの
タスクのみが遠隔のデータベースから受信された顧客の
アクセス情報を含む構成ファイルにアクセスする。 例えばモニタリングサービスを提供する前述の第2の
プロバイダタスクのようなプロバイダタスクは、異るユ
ーザからの独立したリクエストのために遠隔データベー
スからのデータに対して同一のリクエストをしないよう
にすべきである。この目的に対して、プロバイダタスク
はユーザタスクから特定のデータリクエストを受取り、
ユーザタスクを特定のデータリクエストに相関させる情
報をコンパイルする。各データリクエストに対して、プ
ロバイダは別のタスクに対して同様のリクエストが保留
されているか否か検出する。同様のリクエストが保留さ
れていない場合のみ特定のデータリクエストが遠隔デー
タベースに転送される。次いでデータが遠隔のデータベ
ースから受取られると、プロバイダはコンパイルされた
情報から、受信したデータを要求した全てのユーザタス
クを検出し、データはこれらのユーザタスクに転送され
る。情報はユーザツリーと記号ツリーとを発生させてコ
ンパイルすることが好ましい。ユーザツリーの各ユーザ
ノードは該ユーザが要求したデータを識別する記号のリ
ストに向けられる。記号ツリーの各ノードは該記号によ
り表示されるデータを要求したユーザを指示する。 本発明の前述およびその他の目的、特徴および利点
は、添付図面に示す本発明の好適実施例についての以下
の詳細説明から明らかとなる。 好適な実施例の説明 本発明はマルチタスク、マルチユーザデータ処理シス
テムに関し、例えばウォングラボラトリーズ社(Wang L
aboratories,Inc)製VSシステムに対して実施しうる。
第1図において、ブロック20はマルチタスクシステムの
全体のオペレーティングシステムを示す。オペレーティ
ングシステムには、多数の明確なプログラムが設けら
れ、該プログラムはオペレーティングシステムを共用し
てそれぞれのタスクを独立に完成する。例えば3個のユ
ーザプログラム22、24、26が示されている。各ユーザプ
ログラムはそれぞれのコンピュータ端末28、30または32
と関連している。各ユーザプログラム内において、多重
タスク即ち当該システムのマルチユーザのキャラクタは
ユーザには見えない。しかしながら、タスク間の通信に
対しては、オペレーティングシステムを通じてデータ経
路を設定するために特定の手順を追従する必要がある。 本発明は遠隔データベースのホストコンピュータ34へ
のリクエストの転送と、該コンピュータからのデータの
復帰とに関する。ホストコンピュータは、ホストを例え
ばダウジョーンズやスペクトルインスチチューショナル
ホールデイングス(Spectrum Institutional Holding
s)のような全ての株式取引や数個の補助的サービスに
連結する多数のデータライン上でリアルタイムの取引や
相場情報を集める。この情報はリアルタイムの株式取
引、店頭、オプション、商品取引および固定収入データ
並びにニュースおよび団体の持ち株を含む。 遠隔データベース34とユーザプログラム22、24および
26の間の全ての通信は一次プロバイダタスク36を介して
処理される。このタスクはデータを予約したユーザへ提
供する。一次プロバイダ36は電話線に沿ってデータを送
信および受信する従来の通信ソフトウエアを含む。一次
プロバイダ36はまた、どのタイプのデータが受信されて
いるかに関して最初の検出を行う必要がある。詳しく
は、一次プロバイダは当該データが一部である特定デー
タサービスを検出する。 一次プロバイダはデータの最初の分配を行う。全て当
該サービスの全ての加入者に伝達される放送クラスのほ
とんどのデータが一次プロバイダから直接個々の加入ユ
ーザへ伝送される。このクラスのサービスはダウジョー
ンズニュースサービス(dj)、ニューヨーク株式取引所
相場(tk)、ニュース見出し(nh)およびロイタニュー
スサービス(rt)を含む。これら放送サービスからユー
ザプログラム24と26までのデータの転送経路の一例を第
1図に示す。これらの転送経路は、一旦データ経路が設
定されると、遠隔データベースへのユーザプログラムか
らのそれ以上のリクエストは何ら必要とされないので一
方向のみとして示している。他のデータサービスはプロ
バイダの側でさらに複雑なロジックを必要とする。一次
プロバイダが前記サービスからのデータの分配で、過負
荷とならないようにするために、追加のタスク38と40と
が設けられている。 この例では、照会クラスのサービスからのデータの写
しは一次プロバイダにより照会プロバイダ38に転送され
る。例えば、ダウジョーンズニュースの検索サービス
(nr)に対して、遠隔データベースはユーザによりデー
タベースに伝送される特定の識別子に関するニュース項
目に対する特定の照会に応答する。照会プロバイダ38は
最初にユーザプログラムからこれらリクエストを受取
り、類似のリクエストがすでに保留されているか検出
し、もし類似のリクエストが保留されていないとすれば
リクエストを一次プロバイダを介して遠隔データベース
へ転送する。前記サービスからの全ての転送されたデー
タは一次プロバイダ36により照会プロバイダ38に向けら
れる。照会プロバイダは次いでこれ自体の記録を調べて
リクエストを行ったユーザプログラムを識別し、応答デ
ータを正に前記のユーザプログラムに転送する。第1図
に示す例において、ユーザプログラム22のみがダウジョ
ーンズニュース検索サービスを予約しているが、照会プ
ロバイダの効用は他のユーザプログラムからの予約の増
加および照会クラスのサービスの数の増加に伴い増加す
る。 最後のクラスのサービスは、ホストコンピュータが識
別記号により識別する情報に対する特定のリクエストに
基きデータをモニタする。遠隔データベースはその供給
源から受取られる際全てのデータをモニタし、リクエス
トが保留されているデータを選択する。次いで前記デー
タは要求元のユーザに転送される。このように、サービ
スのモニタクラスは照会を開放しておく。モニタプロバ
イダはユーザプログラムからリクエストを受取り、照会
プロバイダがしたと同様にリクエストを単に、すでに保
留となされていない遠隔データベースに進める。ほとん
どの遠隔データベースはマルチユーザシステムを単一の
ユーザと見做し、データの特定アイテムをマルチユーザ
システムに伝送する。前記データが受信されると、モニ
タプロバイダへ導かれる。モニタプロバイダはその記録
を探索し、いずれのユーザプログラムがデータを要求し
たか検出してデータをそれらのユーザプログラムに転送
する。 市場モニタデータは圧縮されたフォーマットで記号化
されている。一次プロバイダは、受信されつつあるデー
タが市場のモニタリングフォマットであることのみを検
出し、記号化されたフォーマットで前記データ(mm)の
全てをモニタプロバイダ40に転送する。次いで、モニタ
プロバイダは前記データを復号化し、3種類のサービス
の1つ以上として要求しているユーザプログラムに導
く。基本的な市場モニタリングサービス(mm)は特定の
株式の各々の株価変動に応答する。選定した相場サービ
ス(sl)は株式の各取引に応答し、その取引の量と金額
とを識別する。ブロック取引相場(bt)は1万株を上廻
る全ての取引を識別する。ブロック取引は実際には放送
クラスのサービスであるが、市場モニタサービスにより
ホストコンピュータにより記号化されるので、モニタプ
ロバイダにより最も効率よく復号化される。さらに、将
来のブロック取引はさらに大きい選択的サービスとなる
ことが期待される。第1図に示すように、3種類のサー
ビスは全て遠隔のデータベースから受取られた同じデー
タの流れに依存するがユーザプログラムは3種類のサー
ビスの中の選択した分に個々に予約することができる。 照会クラスであるが、一次プロバイダが完全に処理す
るサービスには株価相場(qt)サービスがある。ユーザ
は株価相場を求めて迅速に受取れるものと期待し、現在
のシステムでは相場についての要求の転送数と演算シス
テムを介する戻りデータの数を最小にすることにより相
場データの戻りを迅速にしやすくする。照会プロバイダ
を用いることから起因する、各方向での2種類の転送が
排除される。一次プロバイダは株式相場リクエストを、
該リクエストを一次プロバイダにおいて識別するシーケ
ンスコードと共に伝送する。シーケンスコードは先入/
先出し記憶装置における要求ユーザプログラムの識別子
と共に記憶される。遠隔データベースがデータを、それ
が要求されたと同じ順番で戻し、同じシーケンスコード
をデータと共に戻す。次いで、一次プロバイダは、シー
ケンス番号が適合する限り、データをそれが先入れ/先
出し記憶装置から識別されるにつれて要求しているユー
ザタスクへ戻す。シーケンス番号が戻りデータにおいて
飛ばされると、一次プロバイダはリクエストを再び行う
かあるいは再びリクエストを行うべきである旨をユーザ
プログラムに通知することができる。 ベーシックユーザプログラムはユーザが予約している
サービスの範囲内で特定のリクエストを行ったり、戻さ
れたデータを適当に表示できるようにする。しかしなが
ら、ユーザが特定の必要性に特に適した独自のプログラ
ムをユーザが開発したくなることが考えられる。事実、
ユーザはその極めて小さい部分として、株式市場情報を
得たいという必要性を有するプログラムを開発したいと
思うかもしれない。年金マネジメントプログラムがその
ようなプログラムの一例であろう。過去において、株式
市場サービスからの情報やその他のデータを検索すると
なればプログラマに対して柔軟性はほとんどもたらさ
ず、特別のプログラムの遠隔データベースへの結合を困
難かむしろ不可能にした。本発明は、オペレーティング
システムの機能を最大限利用し、一方ユーザプログラム
に要求されるプログラミング作業を最小にすることによ
りタスク間のデータ転送経路を設定しやすくするアプリ
ケーションプログラムインターフェース(ApI)により
前述の通信を容易にする。 ApIは、いずれかのユーザおよびプロバイダタスクに
連結しうるサブルーチンのコードモジュールである。一
旦ApIコードモジュールがユーザプログラムに連結され
ると、プログラムはサブルーチンを単に呼出してデータ
転送経路を設定するのみでよい。ユーザは、下位のオペ
レーティングシステムの能力や要件はコードモジュール
の開発時すでに配慮されているので、それらを気にする
必要はない。さらに、ユーザプログラムはオペレーティ
ングシステムの変動から遮断される。システム設計者は
オペレーティングシステムの変動を用いてAPIコードモ
ジュールを適当に変更する。APIコードモジュールはユ
ーザプログラムをオペレーティングシステムにインター
フェースする上で最大の利点を提供する。この方法によ
り、システム設計者はオペレーティングシステムに変更
を加える場合APIコードモジュールのみを修正する必要
があるが、背後のプロバイダのタスクは修正する必要は
ない。 以下述べる特定のAPIコードモジュールの別の利点
は、メイルボックスをつくり、かつメッセージをそれら
メイルボックスに転送する場合ウォング(Wang)VSシス
テムのタスク間メッセージ(ITM)機能を完全に利用す
る。ウォングVSシステムにおいて、タスクはオペレーテ
ィングシステムのPリストにおいてポートあるいはメイ
ルボックスをリストし、「それ自体を休眠」させること
ができる。現在のシステムにおいて、前記pリストはAP
Iコードモジュールによりつくられる待機リストであ
る。オペレーティングシステムはpリストをモニタし、
pリストのポートにおいてメッセージが受信されると、
オペレーティングシステムは前記pリストに関連したタ
スクを通知する。その結果、タスクプログラムは、プロ
グラムがイベント(事象)の発生を待機する場合演算し
続ける必要はない。このオペレーティングシステムの特
徴はユーザプログラムからデータリクエストをモニタす
る上でプロバイダタスクに対して、かつホストコンピュ
ータからのデータの受取りをモニタする上でユーザプロ
グラムに対して特に有用である。前記イベントはいつで
も発生しうる。 タスク間通信は3種類のタイプのリストを設定するこ
とによりAPIコードモジュールにより効率的に処理され
る。第2図と第3図とは一次プロバイダとユーザ2用の
例のリストを示す。APIコードモジュールを介して通信
する各タスクはAPIルーチンを介して構成リストと待機
リストとを設定する。さらに、各プロバイダタスクはそ
れが提供する各サービスに対する加入者リストを設定し
うる。 いずれかのデータ転送経路を設定する前に、プロバイ
ダあるいはユーザタスクはまず一次プロバイダを介して
構成リストを獲得する必要がある。また、構成リストは
各サービスに対して、特定のタスクが(リストのpによ
り指示される)前記サービスのプロバイダであるか否か
を指示する。タスクがプロバイダでないとすれば、リス
トは、タスクが(yesに対してはYで、noに対してはN
で示す)サービスに対してアクセスを有するか否かを指
示する。また、各クラスにはITMポート即ち前記サービ
スを要求しているメッセージが転送されるべきメイルボ
ックスアドレスが設けられている。 ユーザがプロバイダへのリクエストを完了しうる前
に、プロバイダはその構成リストを検索してしまわねば
ならない。アクセスおよび前記リストに設けられたプロ
バイダメイルボックス情報に基いて、プロバイダはオペ
レーティングシステムの待機リストにおいてリクエスト
を受取るべきメイルボックスを列挙することにより特定
のサービスに対してリクエストを受取るようプロバイダ
は設定されておくべきである。第2図において、待機リ
ストにおける各サービスに対して指示した使用可能状態
は、一次プロバイダが待機リストの各サービスに対する
リクエストを受取る状態であることを示す。前述のよう
に、待機リストはウォングのVSシステムアーキテクチャ
でのオペレーティングシステムのpリストである。一旦
待機リストがAPIコードモジュールを介して設定される
と、プロバイダプログラムは各サービスに対してメイル
ボックスをモータし続ける必要はない。むしろ、この面
到な仕事は待機リストによりオペレーティングシステム
が取扱う。 プロバイダは各サービスに対して加入者リストを設定
し、構成リストにおいて(第2図において*で示す)各
加入者リストの開始アドレスに対するポインタを含むこ
とができる。 また、ユーザはAPIルーチンを介してオペレーティン
グシステムの待機リストを設定する。ユーザは、アクセ
スを有する各サービスに対してそれ自体のユーザポート
を含むことができる。次いで、前記ユーザはプロバイダ
から戻されたデータに対するメイルボックスとして作用
する。待機リストは、データを受取ることが予想されて
いる各メイルボックスを含む。待機リストの各メイルボ
ックスは使用可能状態あるいは取消状態のいずれかにセ
ットでき、オペレーティングシステムは使用可能のメイ
ルボックスに転送されたデータのタスクを通知するのみ
である。 サービスの予約をするには、ユーザはAPIルーチンに
おける構成リストを探索し、プロバイダメイルボックス
アドレスを獲得する。ルーチンを通して、第5B図に示す
ように、次いで予約メッセージを構成し、該メッセージ
を指定されたプロバイダメイルボックスに伝達する。次
いで、ユーザはメッセージが受取られたユーザポートを
介してオペレーティングシステムにより通知を受けるよ
う待機する。予約メッセージはオペレーティングシステ
ムによりプロバイダタスクメイルボックスに転送され、
プロバイダタスクはメッセージが受取られずみであるこ
とが通知される。次いで、プロバイダは予約リストを処
理し、ユーザの復帰メイルボックスと、当該サービスに
対する他のデータ該サービスに対するプロバイダの加入
者リストに位置させればよい。前記の他のデータは加入
者のワークステーションの番号、ユーザのI.D.とキーと
を含む。 構成リストにおいて各サービスに対して独特のプロバ
イダメイルボックスを規定することにより、当該システ
ムは各ユーザプログラムが、ユーザが予約している数種
のサービスに対して独立してデータ経路を設定できるよ
うにする。ホストプロセッサはカストマ(cutomer)と
して特定のユーザプログラムを含み、そのため特定のサ
ービスに対してデータへのアクセスを許容しうるが、ロ
ーカルシステム内においては、いずれかのユーザは予約
に失敗したり、あるいは他のサービスに影響を与えるこ
となくいずれかのときにいずれかのサービスに対する予
約を取消しする可能性がある。その結果、オペレーティ
ングシステムを通る内部メッセージトラフィックを最小
にすることができる。ホストプロセッサはローカルシス
テム内の加入者としてユーザの状態を知らせておらず、
そのため当該システム内の予約と取消しとがユーザのカ
ストマ状態に影響しない。 構成情報へのアクセスを迅速にするために、当該シス
テムの各タスクに対して、明確な構成リストを発生す
る。各クラスは、オペレーティングシステムを通して構
成ファイルからそれ以上のデータの転送を必要とするこ
となくそのリストへのアクセスを効率的に獲得すること
ができる。しかしながら、全てのタスクに対してグロー
バルなメモリが容易に得られるマルチタスクシステムに
おいては、個々の構成リストは必要とされない。むし
ろ、情報は中央ファイルから得ることができる。しかし
ながら、各タスクは当該システムにより指定されたプロ
バイダメイルボックスアドレスおよび各々の入手可能な
サービスに関する独自のアクセス情報に対して直ちにア
クセスを有することが重要である。 構成・待機および加入者リストならびにデータを効率
的に転送できるようにするAPIサブルーチンの作成につ
いてのさらに詳しい説明は以下の通りである。 遠隔データベースからの全ての情報を最初に受取るも
のとして、一次プロバイダ36は遠隔データベースからの
転送に関するプログラムの開始のための中心的プログラ
ムとして選択されずみである。一次プロバイダの開始処
理の一部として、CNFINITと称する構成開始APTルーチン
を呼出す。CNFINITはディスク記憶装置から構成ファイ
ルを読取る。一次プロバイダはまた通信ラインを開始さ
せる。ホストコンピュータ34が、ラインが使用中である
ことを検出すると、下記するようにカストマ用にサービ
スリストを送出することにより応答する。一次プロバイ
ダは遠隔データベースからと、ディスク記憶装置とから
受取られた情報を統合して第4図に示す構成ファイルを
つくる。 構成ファイルの第1のアイテムはデータ転送に含まれ
るべき各タスクに対するキーである。実際、キーは各タ
スクの構成記録のための論理名称である。PRIPRO、INQP
ROおよびMNOPROというキーは一次プロバイダ、照会プロ
バイダ、およびモニタプロバイダに対してそれぞれ与え
られた名称である。別のキーADMINは、当該システムの
特定の必要性に対して要求されるのであれば、事務管理
プログラムの実行を可能とする。そのようなプログラム
はキーの指定と、特定のタスクとワークステーションと
によるサービスへのアクセスとを制御することができ
る。 ファイルの最初の4個のキーに関連したプログラムは
典型的に背景で演算するプロバイダプログラムである。
さらに追加の3個のキーUSER1、USER2およびUSER3が第
1図に示す3個のユーザプログラムの各々に対して指示
されている。勿論、当該システムは3個のユーザプログ
ラムに限定されるものではない。これらのプログラムは
典型的には加入者であって、前面において演算したり、
しなかったりする。 端末I.D.フィールドは、遠隔データベースが当該シス
テムにおいて各ユーザを知るための識別子である。デー
タベースは単位端末当りの識別したサービスに対して特
定のサービスと該サービスに対する勘定とに対する権利
を許諾する。ユーザタスクのみはデータの唯一の真正な
消費者であるため端末のI.D.Sを必要とする。プロバイ
ダは遠隔データベースの単なる延長と考えられ、端末I.
D.を何ら必要としない。また、端末I.Dは代替キーとし
て作用する。遠隔データベースは第1のキーには気付か
ず、端末I.Dをタッグを付した構成記録を送る。端末I.D
はカストマが新しいあるいは拡大したサービスを要求す
る場合、遠隔データベースから割当てられる。 各タスクは、開始されるにつれてキーを備えた一次プ
ロバイダに送られる。状態フィールドはキーが使用され
ているか否か指示し、もしそうなら関連のタスクが使用
されているワークステーション番号を指示する状態フィ
ールドは背景でタスクが作動していることを指示しう
る。ワークステーションフィールドは事務管理プログラ
ムによって使用され、所定のキーと対応する特権とを使
用しうるワークステーションを限定する。キーは第4図
に星印で単に示すワークステーションのリストからのも
の、あるいは該リストに制限しうる。 第4図の下部分に、サービスフィールドを広げてあ
る。このフィールドのリストは各キーに対して、各々の
規定されたサービスに関して関連のプログラムの役目を
規定する。プログラムは所定のサービスに関して3種類
の役目のいずれかを有しうる。それは完全な予約特権
(Y)を有することができる。サービス(P)のプロバ
イダでよく、あるいはサービスに対して何ら権利がない
(N)こともありうる。遠隔データベースにより提供さ
れる加入者の権利は、許容された予約にはyで示し、否
定された予約にはnで指示されて、ローカル事務管理プ
ログラムによりオーバルールできる。プロバイダの役目
はシステム設計者により規定される。 CFNINITの間、一次プロバイダ36もディスク記憶装置
からプロバイダメイルボックスファイルを獲得する。各
サービスに対するプロバイダメイルボックスは、第2図
と第3図とに示すように後で各タスクの各構成リストに
含まれる。プロバイダメイルボックスファイルと構成リ
ストからの情報を用いて、一次プロバイダはAPIコード
モジュールを用いて各タスクが用いるべき構成リストの
プロトタイプを構築する。プロトタイプの構成リストは
各々の規定したサービスに対して1個の記録を含み、各
記録は、サービスのプロバイダに関する、ITMポート名
であるメイルボックスを含む。 構成ファイルとプロトタイプ構成リストとを手元にお
いて、一次プロバイダはSCLINITを呼出して独自のパー
ソナル構成リストを発生させる。そのキーPRIPROを提供
することにより一次プロバイダはプロトタイプリストに
基き、各サービスに対して構成ファイルからアクセスコ
ードP,Y、またはNを取出してその構成リストを獲得す
る。構成リストのサービスに対してPが指示される場
合、プロバイダはメイルボックスとして、構成リストに
指示するプロバイダメイルボックスを設定する。またプ
ロバイダは各サービスに対して加入者リストを設定し、
現在のリストサイズを零にセットする。さらに、プロバ
イダプログラムにより設定される各メイルボックスは待
機リストとして作用するタスクに対して、APIサブルー
チンによりオペレーティングシステムに配置される。待
機リストにおける各プロバイダのメイルボックスに対す
る待機状態が使用可能状態にセットされる。最後に、一
次プロバイダはAPIルーチンSCLWAITを呼出し、それによ
りオペレーティングシステムに対して、待機リストの使
用可能のメイルボックスのいずれかにおいてメッセージ
が受取られたとの指示を待機するよう信号を出す。 一次プロバイダを開始すると、その他のタスクも開始
できる。この目的に対して、各タスクはAPIルーチンSCL
INITを呼出すことによってオペレーティングシステムの
待機リストを設定する。第3図に示すように、待機リス
トは最初に3個の偽似サービス、エマージョンシィ(e
m)、ワークステーション(ws)およびタイマ(tm)を
含むことができる。エマジェンシィポートは待機リスト
の高優先順位においてタスクが緊急メッセージを受取る
ことができるようにする。ワークステーション・サービ
スはユーザプログラムが、APIコードモジュールにより
設定された待機リストを利用してワークステーションの
ターミナルにおいて発生予定のイベントを待機できるよ
うにする。この偽似サービスにより、ユーザプログラム
は例えばキーストロークのようなイベントがターミナル
で発生するのを待機する間データの受取りを遅らせる必
要はない。最後に、タイマの偽似サービスは待機リスト
を介して、プログラムがタイマをセットできるようにす
る。そのため、ユーザプログラムが他のイベントの発生
を待機する時間を制限できるようにする。 SCLINITルーチンの間、タスクはまた、当該システム
のサービスを予約するに必要な情報を提供する構成リス
トを獲得する。タスクは前記構成リストを一次プロバイ
ダタスクから獲得し、かつその目的に対して、APIサブ
ルーチンは各タスクが構成データのユーザとして構成さ
れるようにした省略時のミニ構成リストを有する、ユー
ザはメイルボックス「cfcf」を介して一次プロバイダに
構成データを予約する。 構成予約メッセージが一次プロバイダのメイルボック
ス「cfcf」に達すると、オペレーティングシステムはSe
LWAITルーチンにおいて一次プロバイダを喚起する。メ
イルボックス「cfcf」における構成データ用予約メッセ
ージに応答して、一次プロバイダは予約メッセージに提
供されたユーザキーを用いて構成ファイルの適当な記録
を獲得し、プロトタイプの構成リストのコピーに、前記
キー用の各サービスに対する適当なアクセスコードを付
す。一次プロバイダはカスタム化した構成リストを予約
メイルボックス、例えば20cfまで戻し、マスター構成フ
ァイルを更新して特定のキーが使用されていることを指
示する。 SCLINITルーチンを個別に使用することにより、各タ
スクは完成な構成リストと、空であるが、エマルジェン
シィ,ワークステーションおよびタイマについての偽似
サービス用の待機リストとを有することができる。第1
図に示すデータ経路はまだ設定されていない。経路を設
定するために、各プロバイダはルーチンPRVOPENを呼出
し、該ルーチンにより、初期は空である加入者リストを
設定する。自動的にPRVOPENの間双方のプロバイダタス
クと予約者タスクとはルーチンSCLOPENを呼出す。ルー
チンSCLOPENを呼出す。ルーチンSCLOPENにより、プロバ
イダタスクはサービスが構成リストに指示されたものに
対して開放されるようそのメイルボックスをセットし、
かつ予約者タスクはメイルボックスを、例えば第3図の
20gtのようにタスク数とサービスコードを加えたものに
セットする。前記サービスに対する特定のタスクにより
受取られる将来のいずれのメッセージも指定されたメイ
ルボックスにおいて受取られる。 あるタスクは、あるサービスに対する加入者および他
のサービスのプロバイダとして作用しうる。例えば、モ
ニタプロバイダは市場モニタリングサービスMMに対する
加入者および、市場モニタリングサービスmm、選択相場
サービスおよびブロック取引サービスbtのプロバイダと
して作用する。同様に、照会プロバイダはニュース検索
サービスNRへの加入者および、分配されたニュース検索
サービスnrのプロバイダである。個々のSCLOPENルーチ
ンを各サービスに対して呼出す必要がある。 SCLOPENルーチンにおいては、メイルボックスは前記
タスクに対して待機リストに位置されるが、「否定」に
セットされる。次いで、プロバイダタスクはSCLLISTEN
を攻出すことにより、待機リストの特定のメイルボック
スは使用可能状態にセットされる。加入者タスクは典型
的にはまずルーチンSCLSUBSCRIBEを呼出す。前記ルーチ
ンにより予約者は第5B図に示すように予約メッセージを
構築し、該予約メッセージを、その構成リストから得た
プロバイダメイルボックスに伝送する。加入者メッセー
ジは加入者における当該サービスのための戻りメイルボ
ックスと、該メッセージが加入者か、あるいは取消し用
かを示すフラッグとを含む。前記メッセージはまた、タ
スク番号、ユーザI.D.およびユーザのキーとを含む、プ
ロバイダは加入者を、前記サービスに対する加入者リス
トに追加することにより前記メッセージに応答する。次
いで、加入者は典型的にSCLLISTENを入力することによ
り待機リストの関連のメイルボックスが使用可能状態に
セットされる。 プロバイダにより加入者メイルボックスに戻されたデ
ータは、そのときメイルボックスに介在のいずれの情報
をもユーザが獲得するAPIルーチンSCLREADを入力するこ
とにより読取ることができる。しかしながら、通常、ユ
ーザはルーチンSCLWAITを入力し、そのために使用中の
メイルボックスのいずれかにおいてイベントが発生する
とオペレーティングシステムに信号を送りその旨通知す
る。 一旦ユーザがサービスを予約すると、APIコードモジ
ュールにおけるSCLSENDルーチンによりプロバイダを介
して遠隔データベースの特定のリクェストを行うことが
できる。このルーチンを用いることにより、ユーザプロ
グラムは第5A図に示すようにメッセージを発生する。第
5A図はサービスと、特定のサービスとリクェストとに対
して適したフラッグとメッセージとを含む。SCLSENDの
下で、プロバイダのメイルボックスは加入者の構成リス
トから獲得され、かつメッセージが送られる。メッセー
ジはプロバイダにより処理され、照会プロバイダあるい
はモニタプロバイダの場合、プロバイダは一次プロバイ
ダに伝送され、かつ遠隔データベースに伝送されるべき
独自のメッセージを発生させる。一次プロバイドへのメ
ッセージはSCLOPENとSCLSUBSCRIBEルーチンを介して、
先に設定された経路を送られる。 最後に、データがホストプロセッサ34からプロバイダ
により受取られると、プロバイダはそのデータを予約し
ているユーザに送る必要がある。プロバイダはPRVSEND
ルーチンを呼出すことにより、プロバイダが特定のサー
ビスに対する予約リストを参照し、送入されたデータを
加入者に送る。 代替的に、モニタのようなプロバイダは独自の内部リ
ストを介してデータを伝送する必要のあるメイルボック
スを検出することができる。 これまで説明したルーチンの他に、例えばSCLINITの
逆であるSCLTERM,SCLSUBSCRIBEの逆であるSCLCACEL、SC
LLISTENの逆であるSCLIGNORE、およびSCLOPENの逆であ
るSCLCLOSEのような逆ルーチンがある。 付加的な機能SCLLISTによってユーザが多数のユーザ
が規定するイベントをSCLWAITが使用する待機リストに
追加できるようにする。ワークステーション偽似サービ
スのようなこの偽似サービス(US)によって、入来デー
タの受取りが遅れる可能性のある別の待機処理をユーザ
プログラムが排除できるようにする。 モニタプロバイダタスクの詳細説明を第6図から第8
図までに関して以下提供する。モニタプロバイダは市場
モニタ、選択相場およびブロック取引サービスの各々に
対する加入者リストを保存する必要があるのみならず、
ホストにより特定市場記号をモニタすべき旨の特定のリ
クェストを転送し、ホストから受取ったデータが適正に
分配できるように予約者リストを要求された記号に相関
させる必要がある。その目的に対して、モニタプロバイ
ダは第6A図に示す記号ツリーと、第7A図に示すユーザツ
リーに依存する。各ツリーは2進スレディッド(thread
ed)ツリーであって、結合されたリストに対するポイン
タを付加的に含む。 記号ツリーの場合、スリーの各ノードは、モニタされ
つつさる特定の機密に対する識別子として作用する記号
を識別する。前記ツリーの各ノードは前記記号に関して
情報を要求ずみのユーザの結合されたリストを指向す
る。ユーザツリーにおいては、ツリーの各ノードはモニ
タプロバイダからのサービスのいずれかに対する加入者
を識別し、かつ各ノードは該ユーザに対してモニタされ
つつある記号の結合されたリストを指向しうる。各ユー
ザノードに結合されたリストにおける各記号に対して、
記号ツリーには対応する記号のノードがある。 ユーザツリーは、付加的なユーザタスクがモニタプロ
バイダサービスに予約するにつれて生長する。信号ツリ
ーは各サービス内の特定リクェストの数が増加するにつ
れて生長する。各々の場合、予約すべき最初のユーザあ
るいは要求すべき最初の信号とはツリーの根元として作
用する。その後、新しいノードのアルファベット値が低
位か高位かによって先行ノードの左または右に追加のノ
ードが追加される。このように、アルファベット的に記
号ツリーの根元で記号MMM.Nを先行するいずれの記号も
ツリーの左側で見出される。二進ツリーを使用すること
により、特定アイテムに対してリストを探索するに要す
る時間が著しく低減される。この探索時間は特に重要
で、例えば20のユーザとか、ユーザ当り50記号とかツリ
ーに列挙できる。 記号ツリーの各ノードは第6B図に列挙した情報を含
む。各ノードは証券記号と、該証券が取引される条件、
およびホストから受取った前記機密に対する最近の価格
とを含む。さらに前記ノードに結合したユーザリストに
おけるエンドユーザへのポインタを含む各々の結合した
リストに対する、かつ該リスト内のポインタは第6A図に
おいて点線矢印で示す。結合されたリストはリストへの
ノードの追加と、該リストからの削除とを促進するよう
二重結合されている。各ノードの左右の子に対するポイ
ンタがノードの親に対するポインタと共に設けられてい
る。これらのポインタは第6A図において実線の矢印で示
す。ポインタからポインタまでのツリーのスレッディン
グが、記号を追加したり削除する場合のツリーの再構成
を簡素化する。結合されたリストの各ユーザノードは、
特定のユーザがそれにより記号を要求したサービスを含
む。各記号ノードに含むサービスマインディング表はそ
の結合されたユーザリスト内に含まれるサービスの全て
を識別する。 ユーザリストの各ユーザノードは第7b図に示す情報を
有する。各ノードはルーチンSCLSUBSCRIBEでの加入者の
予約メッセージで識別された復帰メイルボックスと、ユ
ーザのターミナルI.D.とユーザのキーとを含む。さら
に、各ノードはそのノードに関連した記号リストへのポ
インタと、ノードの子を親へのポインタとを含む。さら
に、ユーザノードはそれ自体のサービスマインディング
(service minding)表を含む。このマインディング表
は、特定のユーザが予約したサービスの全てを列挙す
る。第7A図においてユーザ7が示すように、特定のユー
ザはユーザノードを有すべく保留の特定の記号リクェス
トを有する必要はない。 ユーザがサービスをSCLSUBSCRIBEを介して予約する
と、モニタプロバイダがユーザツリーを走査してユーザ
ノードがすでに前記タスクに対して設定されたかを検出
する。もし設定されたとすれば、前記タスクが予約して
いる新しいサービスがサービスマインディング表に追加
される。もし設定されていないとすれば、新しいノード
がツリーに対する葉として追加される。 その後SCLSENDルーチンにより、タスクは該サービス
に対して特定の記号をモニタすべき旨要求しうる。ツリ
ーに記号を追加する前に、ホストプロセッサにリクェス
トを伝達し、価格の形での肯定応答をホストから受取る
必要がある。リクェストはもし同じサービス内の同じ記
号が先に要求されていなかったとすればホストプロセッ
サに伝達されるだけである。検出を行うには、モニタプ
ロバイダはまず要求すべき記号に対する記号ツリーを走
査する。前記プロバイダが前記記号の位置を特定すると
すれば、サービスマインディング表を検査して、希望す
るサービスに対して記号が要求されたか否かを検出す
る。もし記号とサービスとが記号ツリーで位置づけられ
ると、ユーザが記号ノードに対する結合したユーザリス
トに追加され、記号がユーザノードの結合した記号リス
トに追加される。しかしながらもし記号とサービスとが
記号ツリーに位置していないとすれば、ホストに対して
リクェストがなされる。 ホストに対してリクェストがなされると、シーケンス
番号が与えられ、該シーケンス番号はリクエストと共に
伝送される。ホストは先入れ/先出し式にリクェストを
受取り、シーケンス番号を戻す。肯定応答が受取られた
か否か検出するために、要求された記号が第8図に示す
追加保留待ち行列に位置される。待ち行列の各ノードが
要求されるべき次の一連の記号を指す。シーケンス番号
は要求された記号と共に含まれる。さらに、待ち行列の
各ノードはリストに含まれる可能性のあるユーザノード
を指す。 肯定応答が受取られると、記号ノードは待ち行列から
除去され、ユーザノードに対するポインタは記号ツリー
の前記記号ノードに転送される。記号がツリーにおいて
すでにノードを有していないとすれば、ノードが設定さ
れる。さらに、ユーザツリーにおける結合された記号リ
ストにおけるノードが特定のユーザに追加される。 肯定応答シーケンス番号が乱れて受取られると、当該
システムは、飛ばされたリクェストが不首尾であったも
のと想定し、新しいリクェストを同じ記号に対して伝送
する。記号は新しいシーケンス番号と共に追加の保留待
ち行列の端に位置される。また、カウンタが刻時され
る。カウンタは、受取られていない記号に対してエンド
レスループのリクェストを行うのを排除するためリクェ
ストが3回だけ再伝送できるようにする。 ユーザがサービスから記号を削除するよう要求する
と、ユーザツリーが走査されてユーザの位置を特定し、
前記記号が結合されたリストから削除される。次いで、
記号ツリーが記号に関して走査され、かつユーザが結合
されたリストから除外される。さらに、結合されたリス
トが走査され、ユーザの位置を特定するにつれて、特定
のサービスに対する前記信号を含めたのは前記ユーザで
あるか否か検出する。その通りであれば、前記サービス
が記号ノードマインディング表から除外される。その
後、特定のサービスが信号に関して保留されているか否
か検出する記号ツリーの走査において、マインディング
表は更新ずみであるため結合されたユーザリストを走査
する必要はない。削除されたユーザが結合されたユーザ
リストでの最後のノードである場合、記号ツリーからノ
ードが完全に削除される。また、削除リクェストがホス
トプロセッサに送られる。 削除リクェストが適正にホストにより受取られ、かつ
処理されない場合、当該システムは、ホストに分配が期
待される更新情報を将来受取ることができる。前記デー
タのユーザの位置を特定するために記号ツリーを走査す
るとき、対応する信号ノードの位置は特定されない。そ
の場合、削除リクェストは再びホストプロセッサに伝送
される。ホ ホストから情報が受取られた際記号の記号ツリーにお
ける位置が特定されるとすれば、結合されたユーザリス
トが走査され、特定のデータを受取るべきユーザを識別
する。データはユーザツリーを走査することにより検出
される適当なメイルボックスにおいて前記ユーザに送ら
れる。 ユーザプログラムがSCL CANCELルーチンを呼出し、取
消メッセージをモニタプロバイダに送る際そのユーザに
係る記号の記号ツリーをクリヤするためにユーザツリー
が必要とされる。前記ルーチンからメッセージを受取る
と、ユーザツリーがユーザに関して走査され、結合した
記号リストを走査することにより記号が識別される。次
いで、記号ツリーが前記記号に対して走査され、ユーザ
は結合されたユーザリストから除去される。再び、もし
ユーザが前記記号に結合されるべき最後のユーザである
場合、記号は記号ツリーから除去され、削除リクェスト
がホストまで送られる。 ブロック取引記号btはサンプルツリーのいずれにも含
まれていないことが注目できる。その理由はブロック取
引サービスが放送サービスであるためである。それは市
場モニタデータを記号化しているので、モニタプロバイ
ダによってのみ処理される。しかしながら、放送サービ
スとして、ブロック取引はユーザを加入者リストに追加
するAPIルーチンPRVSUBSCRIBEと、データをリストアッ
プしたユーザに分配するPRVSENDとにより簡単に処理さ
れる。 本発明を好適な実施例に関して特に示し、かつ説明し
てきたが、当該技術分野の専門家には、特許請求の範囲
に規定した本発明の精神と範囲とから逸脱することなく
形態や細部において各種の変更が可能なことが理解され
る。例えば、本発明は主として単一の処理ユニットにお
いてタスクが実行されるマルチタスクシステムを指向す
るが、タスクは本発明のある種の特徴を依然として含め
ながら他の処理ユニットにも分配できる。さらに、本発
明は非市場データについても適用される。
【図面の簡単な説明】
第1図は本発明を実施したシステムのソフトウエアアー
キテクチャのブロック線図、 第2図は、第1図に示すシステムの適用プログラムイン
タフェース(API)の共通コードモジュールによりプロ
バイダタスクメモリに記憶した構成リスト、待機リスト
および加入者リストを示す図、 第3図はAPIによりユーザタスクメモリに記憶された構
成リストと待機リストとを示す図、 第4図は一次プロバイダのタスクによりAPIを介して検
索される構成ファイルを示す図、 第5A図と第5B図とはAPIにより転送されるメッセージの
メッセージフォーマットを示す図、 第6A図と第6B図とは第1図に示すモニタプロバイダにお
ける記号ツリーのデータ構造を示す図、 第7A図と第7B図とはモニタプロバイダにおけるユーザツ
リーのデータ構造を示す図、および 第8図はモニタプロバイダにおける追加保留待ち行列を
示す図である。 20:オペレーティングシステム、22;24;26:ユーザプログ
ラム、28;30;32:端末、34:遠隔データベース、36:一次
プロバイダ、38:照会プロバイダ、40:モニタプロバイ
ダ。
キテクチャのブロック線図、 第2図は、第1図に示すシステムの適用プログラムイン
タフェース(API)の共通コードモジュールによりプロ
バイダタスクメモリに記憶した構成リスト、待機リスト
および加入者リストを示す図、 第3図はAPIによりユーザタスクメモリに記憶された構
成リストと待機リストとを示す図、 第4図は一次プロバイダのタスクによりAPIを介して検
索される構成ファイルを示す図、 第5A図と第5B図とはAPIにより転送されるメッセージの
メッセージフォーマットを示す図、 第6A図と第6B図とは第1図に示すモニタプロバイダにお
ける記号ツリーのデータ構造を示す図、 第7A図と第7B図とはモニタプロバイダにおけるユーザツ
リーのデータ構造を示す図、および 第8図はモニタプロバイダにおける追加保留待ち行列を
示す図である。 20:オペレーティングシステム、22;24;26:ユーザプログ
ラム、28;30;32:端末、34:遠隔データベース、36:一次
プロバイダ、38:照会プロバイダ、40:モニタプロバイ
ダ。
─────────────────────────────────────────────────────
フロントページの続き
(72)発明者 ダイアナ・ワイ・モーイ
アメリカ合衆国マサチューセッツ州
01778,ウェイランド,オールド・ファ
ーム・ロード 6
(56)参考文献 特開 昭61−20174(JP,A)
特開 昭59−119461(JP,A)
英国公開1489573(GB,A)
Claims (1)
- (57)【特許請求の範囲】 1.データに対する非モニタリングリクエストと、デー
タに対する特定のモニタリングリクエストであって、特
定の識別子に対してデータベース源をモニタするために
遠隔データベースを要するモニタリングリクエストに応
答して、種々のタイプのデータを受取る手段を有する多
重タスクデータ処理システムにおいて、データを予約し
ている複数のユーザタスクにデータを分配する方法が、 第1のプロバイダタスクにおいて遠隔のデータベースか
らの複数のデータタイプのデータ流れを、データのタイ
プによって複数のデータの流れに分割し、 前記第1のプロバイダタスクから非モニタリングリクエ
ストに応答して、前記データの流れを予約したユーザタ
スクに直接少なくとも1個の選定したデータの流れを転
送し、かつ特定のモニタリングリクエストに応答して少
なくとも1個の選定したデータの流れを少なくとも第2
のプロバイダタスクに転送し、および、 第2のプロバイダタスクにおいて、特定のモニタリング
リクエストに応答してデータの流れを別のデータの流れ
に分割し、かつ別のデータの流れを、データの流れを要
求しているユーザタスクに転送することを含む、 データを分配する方法。 2.特許請求の範囲第1項に記載の方法において、第2
のプロバイダタスクにおいてデータの流れを復号化する
過程をさらに含む、データを分配する方法。 3.特許請求の範囲第1項に記載の方法において、各ユ
ーザタスクに結合された共通のコードモジュールによっ
てブロバイダタスクとユーザタスクとの間で、それぞ
れ、単一のユーザタスクに転送されるデータのタイプに
特定的であるデータ経路を設定する、データを分配する
方法。 4.特許請求の範囲第3項に記載の方法において、オペ
レーティングシステムにおいて設定される待機リストに
よって各プロバイダタスクに対してメイルボックスを各
タイプをデータに関してモニタしユーザからのリクエス
トを識別し、かつユーザタスクに対してモニタしユーザ
クスクに転送されるデータを識別する過程をさらに含
む、データを分配する方法。 5.特許請求の範囲第4項に記載の方法において、デー
タ経路を設定する上で、プロバイダタスクとユーザクス
クとの各々に対して、構成ファイルから構成リストを含
み、各構成リストは各タイプのデータに対するリクエス
トが転送されるべきプロバイダのタスクメイルボックス
の名前と、タスクが特定タイプのデータに対するアクセ
スを有するか否かの指示を含む、データを分配する方
法。 6.特許請求の範囲第3項に記載の方法において、少な
くとも第1のプロバイダタスクにおいて、各タイプのデ
ータに関係して、前記タイプのデータを受取るべきタス
クを識別する予約リストを発生させる過程を含む、デー
タを分配する方法。 7.特許請求の範囲第1項に記載の方法において、オペ
レーティングシステムにおいて設定された待機リストに
より、プロバイダタスクへの各タイプのデータに関する
メイルボックスをモニタし、ユーザタスクからのリクエ
ストを識別し、かつユーザタスクへのメイルボックスを
モニタしユーザタスクに転送されつつあるデータを識別
する、データを分配する方法。 8.特許請求の範囲第1項に記載の方法において、プロ
バイダタスクとユーザタスクとの間でデータ転送経路を
設定することをさらに含み、各データ転送経路は単一の
ユーザタスクに転送されるタイプのデータに対して特定
的である、データを分配する方法。 9.特許請求の範囲第8項に記載の方法において、デー
タ経路を設定する上で、構成ファイルからプロバイダタ
スクとユーザタスクの各々に対する構成リストを発生さ
せる過程をさらに含み、各構成リストが、各タイプのデ
ータに対するリクエストを転送すべきプロバイダタスク
メイルボックスの名前とタスクが特定タイプのデータに
対するアクセスを有するか否かの指示を含む、データを
分配する方法。 10.特許請求の範囲第1項に記載の方法において、第
2のプロバイダタスクがユーザタスクから特定のデータ
リクエストを受取り、かつ特定のデータリクエストを用
いてユーザタスクに相関する情報をコンパイルし、前記
データはユーザツリーとデータタイプツリーとをつくる
ことによりコンパイルされ、ユーザツリーの各ユーザノ
ードは該ユーザにより要求されるデータタイプのリスト
を指向し、データタイプのツリーの各ノードはそのタイ
プのデータを要求したユーザを指向する、データを分配
する方法。 11.特許請求の範囲第1項に記載の方法において、ユ
ーザタスクから第1のプロバイダタスクにデータのリク
エストを転送し、前記の各リクエストに、第1のプロバ
イダタスクにおいてシーケンス番号を付与し、リクエス
トを遠隔のデータベースまで転送し、第1のプロバイダ
タスクがシーケンス番号に関してデータを要求している
ユーザの記録を保持し、かつデータと共に戻されたシー
ケンス番号により、リクエストに対するデータ応答の受
取りを確認し、受取ったデータを、データについてのリ
クエストを行ったデータへ送ることを含む、データを分
配する方法。 12.データを受取る手段を有するマルチタスクデータ
処理システムにおいて、複数のユーザタスクにデータを
分配する方法が、 ユーザタスクから特定のデータリクエストを受取り、ユ
ーザタスクを特定のデータリクエストに相関させる情報
をコンパイルし、 各データリクエストに対して、同様のリクエストが別の
タスクに対して保留されているか否かを検出し、 同様のリクエストが保留されていないとすれば、そのと
きのみ遠隔データベースへ特定のデータリクエストを転
送し、 遠隔データベースから特定のデータを受取り、コンパイ
ルされた情報から、受取った特定データを要求した全て
のユーザタスクを検出し、および、 特定データを該データを要求したユーザタスクに転送す
ることを含む、データを分配する方法。 13.特許請求の範囲第12項に記載の方法において、情
報がユーザツリーと記号ツリーとを発生させることによ
りコンパイルされ、ユーザツリーの各ユーザノードが該
ユーザにより要求されたデータを識別する記号のリスト
を指し、かつ記号ツリーの各ノードが該記号により示さ
れるデータを要求したユーザを指す、データを分配する
方法。 14.特許請求の範囲第13項に記載の方法において、ユ
ーザツリーの各ノードが、該ユーザが予約したサービス
のリストを含む、データを分配する方法。 15.特許請求の範囲第13項に記載の方法において、記
号ツリーの各ノードが、それを通してユーザが前記信号
により識別されるデータに対する要求を行ったサービス
のリストを含む、データを分配する方法。 16.種々タイプのデータを受取る手段を有するマルチ
タスクデータ処理システムにおいて、プロバイダタスク
からのデータを、該データを予約した複数のユーザタス
クへ分配する方法が、 各ユーザタスクに結合された共通のコードモジュールに
より、プロバイダタスクとユーザタスクとの間でデータ
経路を設定し、各データ経路が単一のユーザに転送され
つつあるデータのタイプに対して特定的であり、データ
経路は構成ファイルからの各ユーザタスクに対する構成
リストを用いて各ユーザタスクにより設定され、各構成
リストが、各タイプのデータに対する要求が転送される
べきプロバイダタスクメイルボックスの名前と、タスク
が特定タイプのデータに対してアクセスを有するか否か
の指示を含み、 オペレーティングシステムにおいて設定された待機リス
トにより各タイプのデータに関してプロバイダタスクへ
のメイルボックスをモニタしてユーザタスクからのリク
エストを識別し、かつユーザタスクへのメイルボックス
をモニタしてユーザタスクへ転送されつつあるデータを
識別し、 モニタプロバイダタスクにおいて、ユーザタスクからの
特定のデータリクエストを受取って、ユーザタスクを特
定のデータリクエストに相関させる情報をコンパイル
し、同様のリクエストが別のタスクに対して保留されて
いるか否か検出し、同様のリクエストが保留されていな
い場合のみ、一次プロバイダタスクを介して特定のデー
タリクエストを遠隔データベースへ転送し、 一次プロバイダタスクにおいて、遠隔データベースから
の複数のデータタイプのデータの流れを、データタイプ
にしたがって複数のデータの流れに分割し、 非モニタリングリクエストに応答して選定したデータの
流れを、該データの流れを予約するユーザタスクまで直
接転送し、かつ特定のモニタリングリクエストに応答し
て少なくとも1個の選定したデータの流れをモニタプロ
バイダタスクまで転送し、および、 モニタプロバイダタスクにおいて、特定のモニタリング
リクエストに応答してデータの流れを別のデータの流れ
に分割し、かつ別のデータの流れを、該データの流れを
要求しているユーザタスクに転送することを含む、 データを分配する方法。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US903495 | 1986-09-03 | ||
| US06/903,495 US4815030A (en) | 1986-09-03 | 1986-09-03 | Multitask subscription data retrieval system |
Related Child Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2000324622A Division JP3247891B2 (ja) | 1986-09-03 | 2000-10-24 | データ分配方法 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS6365536A JPS6365536A (ja) | 1988-03-24 |
| JP3141943B2 true JP3141943B2 (ja) | 2001-03-07 |
Family
ID=25417593
Family Applications (2)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP62221167A Expired - Lifetime JP3141943B2 (ja) | 1986-09-03 | 1987-09-03 | データを分配する方法とデータ構造 |
| JP2000324622A Expired - Lifetime JP3247891B2 (ja) | 1986-09-03 | 2000-10-24 | データ分配方法 |
Family Applications After (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2000324622A Expired - Lifetime JP3247891B2 (ja) | 1986-09-03 | 2000-10-24 | データ分配方法 |
Country Status (6)
| Country | Link |
|---|---|
| US (1) | US4815030A (ja) |
| EP (1) | EP0258867B1 (ja) |
| JP (2) | JP3141943B2 (ja) |
| AU (1) | AU595354B2 (ja) |
| CA (2) | CA1292324C (ja) |
| DE (1) | DE3750941T2 (ja) |
Families Citing this family (114)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5230048A (en) * | 1986-09-03 | 1993-07-20 | Wang Laboratories, Inc. | Data processing system with tree and list data structure |
| US5001666A (en) * | 1987-10-19 | 1991-03-19 | Motorola, Inc. | Multiple interrupt tri-level microprocessor operating system |
| US5079695A (en) * | 1988-04-25 | 1992-01-07 | Hewlett-Packard Company | Object management facility which includes a snapshot facility for providing data transfer between two objects |
| US5838917A (en) * | 1988-07-19 | 1998-11-17 | Eagleview Properties, Inc. | Dual connection interactive video based communication system |
| US5276866A (en) * | 1988-07-19 | 1994-01-04 | Michael Paolini | System with two different communication mediums, transmitting retrieved video and compressed audio information to plural receivers responsively to users' requests |
| US5361390A (en) * | 1988-11-29 | 1994-11-01 | International Business Machines Corporation | Method for displaying and confirming the status of deferred system requests |
| JPH02195453A (ja) * | 1989-01-25 | 1990-08-02 | Toshiba Corp | ファイルアクセス制御方式 |
| US5297283A (en) * | 1989-06-29 | 1994-03-22 | Digital Equipment Corporation | Object transferring 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 |
| US5557798A (en) * | 1989-07-27 | 1996-09-17 | Tibco, Inc. | Apparatus and method for providing decoupling of data exchange details for providing high performance communication between software processes |
| US6044205A (en) * | 1996-02-29 | 2000-03-28 | Intermind Corporation | Communications system for transferring information between memories according to processes transferred with the information |
| US5434981A (en) * | 1989-09-28 | 1995-07-18 | Rockwell International Corporation | Functionally programmable PCM data analyzer and transmitter for use in telecommunication equipment |
| JP3169597B2 (ja) * | 1990-05-16 | 2001-05-28 | エヌイーシーソフト株式会社 | マルチタスク実行時間アカウント方法とその機構 |
| US5144557A (en) * | 1990-08-13 | 1992-09-01 | International Business Machines Corporation | Method and system for document distribution by reference to a first group and particular document to a second group of user in a data processing system |
| WO1992004679A1 (en) * | 1990-08-31 | 1992-03-19 | Seer Technologies, Inc. | Transaction processor |
| US5404488A (en) * | 1990-09-26 | 1995-04-04 | Lotus Development Corporation | Realtime data feed engine for updating an application with the most currently received data from multiple data feeds |
| US5333318A (en) * | 1990-09-27 | 1994-07-26 | Motorola, Inc. | Creating and searching a quad linked list in a trunked communication system |
| US5132900A (en) * | 1990-12-26 | 1992-07-21 | International Business Machines Corporation | Method and apparatus for limiting manipulation of documents within a multi-document relationship in a data processing system |
| US5263167A (en) * | 1991-11-22 | 1993-11-16 | International Business Machines Corporation | User interface for a relational database using a task object for defining search queries in response to a profile object which describes user proficiency |
| US8352400B2 (en) | 1991-12-23 | 2013-01-08 | Hoffberg Steven M | Adaptive pattern recognition based controller apparatus and method and human-factored interface therefore |
| US5317695A (en) * | 1992-04-03 | 1994-05-31 | International Business Machines Corporation | Method and system for permitting communication between a data processing system and input pointing devices of multiple types |
| JPH0668144A (ja) * | 1992-08-14 | 1994-03-11 | Fujitsu Ltd | 電子ニュース翻訳配送装置 |
| JPH06110925A (ja) * | 1992-09-28 | 1994-04-22 | Hitachi Ltd | ネットワークで接続された計算機とその利用方法 |
| US5504874A (en) * | 1993-09-29 | 1996-04-02 | Silicon Graphics, Inc. | System and method of implementing read resources to maintain cache coherency in a multiprocessor environment permitting split transactions |
| GB2345157B (en) * | 1998-12-23 | 2003-06-18 | Ibm | Publish and subscribe data processing apparatus, method and computer program product with declaration of a unique publisher broker |
| US5838918A (en) * | 1993-12-13 | 1998-11-17 | International Business Machines Corporation | Distributing system configuration information from a manager machine to subscribed endpoint machines in a distrubuted computing environment |
| US5634081A (en) * | 1994-03-01 | 1997-05-27 | Adaptec, Inc. | System for starting and completing a data transfer for a subsequently received autotransfer command after receiving a first SCSI data transfer command that is not autotransfer |
| US5619656A (en) | 1994-05-05 | 1997-04-08 | Openservice, Inc. | System for uninterruptively displaying only relevant and non-redundant alert message of the highest severity for specific condition associated with group of computers being managed |
| US5694546A (en) | 1994-05-31 | 1997-12-02 | Reisman; Richard R. | System for automatic unattended electronic information transport between a server and a client by a vendor provided transport software with a manifest list |
| US6769009B1 (en) | 1994-05-31 | 2004-07-27 | Richard R. Reisman | Method and system for selecting a personalized set of information channels |
| US5502637A (en) * | 1994-06-15 | 1996-03-26 | Thomson Shared Services, Inc. | Investment research delivery system |
| US5581687A (en) * | 1994-11-10 | 1996-12-03 | Baxter International Inc. | Interactive control systems for medical processing devices |
| US5745748A (en) * | 1994-12-09 | 1998-04-28 | Sprint Communication Co. L.P. | System and method for direct accessing of remote data |
| US5623696A (en) * | 1995-05-30 | 1997-04-22 | International Business Machines Corporation | System for formatting a request into a packet which can be read by plurality of operating systems for providing a driver for a storage device |
| US5897635A (en) * | 1995-06-07 | 1999-04-27 | International Business Machines Corp. | Single access to common user/application information |
| US5740549A (en) * | 1995-06-12 | 1998-04-14 | Pointcast, Inc. | Information and advertising distribution system and method |
| US6807558B1 (en) | 1995-06-12 | 2004-10-19 | Pointcast, Inc. | Utilization of information “push” technology |
| US20020178051A1 (en) | 1995-07-25 | 2002-11-28 | Thomas G. Scavone | Interactive marketing network and process using electronic certificates |
| US6389593B1 (en) | 1995-12-12 | 2002-05-14 | Sony Corporation | Method of and apparatus for controlling transmission of information on programs |
| US6625617B2 (en) | 1996-01-02 | 2003-09-23 | Timeline, Inc. | Modularized data retrieval method and apparatus with multiple source capability |
| US5870605A (en) * | 1996-01-18 | 1999-02-09 | Sun Microsystems, Inc. | Middleware for enterprise information distribution |
| US5873084A (en) * | 1996-01-18 | 1999-02-16 | Sun Microsystems, Inc. | Database network connectivity product |
| US20090012864A1 (en) * | 2007-07-02 | 2009-01-08 | Goldberg Sheldon F | Compensation model for network services |
| US9530150B2 (en) * | 1996-01-19 | 2016-12-27 | Adcension, Llc | Compensation model for network services |
| US6264560B1 (en) | 1996-01-19 | 2001-07-24 | Sheldon F. Goldberg | Method and system for playing games on a network |
| US5823879A (en) | 1996-01-19 | 1998-10-20 | Sheldon F. Goldberg | Network gaming system |
| US5862325A (en) * | 1996-02-29 | 1999-01-19 | Intermind Corporation | Computer-based communication system and method using metadata defining a control structure |
| 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 |
| US5768528A (en) * | 1996-05-24 | 1998-06-16 | V-Cast, Inc. | Client-server system for delivery of online information |
| 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 |
| JP3702546B2 (ja) * | 1996-08-23 | 2005-10-05 | ブラザー工業株式会社 | 多機能周辺装置および記憶媒体 |
| US6138162A (en) * | 1997-02-11 | 2000-10-24 | Pointcast, Inc. | Method and apparatus for configuring a client to redirect requests to a caching proxy server based on a category ID with the request |
| US6173311B1 (en) | 1997-02-13 | 2001-01-09 | Pointcast, Inc. | Apparatus, method and article of manufacture for servicing client requests on a network |
| GB9705469D0 (en) * | 1997-03-17 | 1997-05-07 | British Telecomm | Re-usable database system |
| FR2762950B1 (fr) * | 1997-05-02 | 2000-08-04 | Alsthom Cge Alcatel | Procede de transmission d'une notification dans un reseau a applications distribuees comportant plusieurs services de notifications et reseau pour sa mise en oeuvre |
| US6038601A (en) | 1997-07-21 | 2000-03-14 | Tibco, Inc. | Method and apparatus for storing and delivering documents on the internet |
| US7080385B1 (en) | 1997-08-18 | 2006-07-18 | Tibco Software Inc. | Certified message delivery and queuing in multipoint publish/subscribe communications |
| WO1999009490A1 (en) * | 1997-08-18 | 1999-02-25 | Tibco Software, Inc. | Certified message delivery and queuing in multipoint publish/subscribe communications |
| US6421570B1 (en) | 1997-08-22 | 2002-07-16 | Honeywell Inc. | Systems and methods for accessing data using a cyclic publish/subscribe scheme with report by exception |
| US6038597A (en) * | 1998-01-20 | 2000-03-14 | Dell U.S.A., L.P. | Method and apparatus for providing and accessing data at an internet site |
| US6144947A (en) * | 1998-06-05 | 2000-11-07 | Schwartz; Peter A. | System for automatically determining net capital deductions for securities held, and process for implementing same |
| US20030195974A1 (en) | 1998-12-04 | 2003-10-16 | Ronning Joel A. | Apparatus and method for scheduling of search for updates or downloads of a file |
| US7058597B1 (en) * | 1998-12-04 | 2006-06-06 | Digital River, Inc. | Apparatus and method for adaptive fraud screening for electronic commerce transactions |
| US7617124B1 (en) | 1998-12-04 | 2009-11-10 | Digital River, Inc. | Apparatus and method for secure downloading of files |
| US6920616B1 (en) * | 1998-12-18 | 2005-07-19 | Tangis Corporation | Interface for exchanging context data |
| US7231439B1 (en) | 2000-04-02 | 2007-06-12 | Tangis Corporation | Dynamically swapping modules for determining a computer user's context |
| US6791580B1 (en) | 1998-12-18 | 2004-09-14 | Tangis Corporation | Supplying notifications related to supply and consumption of user context data |
| US8225214B2 (en) | 1998-12-18 | 2012-07-17 | Microsoft Corporation | Supplying enhanced computer user's context data |
| US8181113B2 (en) * | 1998-12-18 | 2012-05-15 | Microsoft Corporation | Mediating conflicts in computer users context data |
| US6513046B1 (en) | 1999-12-15 | 2003-01-28 | Tangis Corporation | Storing and recalling information to augment human memories |
| US7225229B1 (en) * | 1998-12-18 | 2007-05-29 | Tangis Corporation | Automated pushing of computer user's context data to clients |
| US6842877B2 (en) | 1998-12-18 | 2005-01-11 | Tangis Corporation | Contextual responses based on automated learning techniques |
| US6801223B1 (en) | 1998-12-18 | 2004-10-05 | Tangis Corporation | Managing interactions between computer users' context models |
| US7779015B2 (en) | 1998-12-18 | 2010-08-17 | Microsoft Corporation | Logging and analyzing context attributes |
| US9183306B2 (en) | 1998-12-18 | 2015-11-10 | Microsoft Technology Licensing, Llc | Automated selection of appropriate information based on a computer user's context |
| US7107539B2 (en) | 1998-12-18 | 2006-09-12 | Tangis Corporation | Thematic response to a computer user's context, such as by a wearable personal computer |
| US7046263B1 (en) | 1998-12-18 | 2006-05-16 | Tangis Corporation | Requesting computer user's context data |
| US6549957B1 (en) * | 1998-12-22 | 2003-04-15 | International Business Machines Corporation | Apparatus for preventing automatic generation of a chain reaction of messages if a prior extracted message is similar to current processed message |
| US6243757B1 (en) | 1999-01-11 | 2001-06-05 | Enuntio, Inc. | Automated information filtering and distribution system |
| US7966078B2 (en) | 1999-02-01 | 2011-06-21 | Steven Hoffberg | Network media appliance system and method |
| US7596606B2 (en) * | 1999-03-11 | 2009-09-29 | Codignotto John D | Message publishing system for publishing messages from identified, authorized senders |
| US6404441B1 (en) | 1999-07-16 | 2002-06-11 | Jet Software, Inc. | System for creating media presentations of computer software application programs |
| GB2354847A (en) | 1999-09-28 | 2001-04-04 | Ibm | Publish/subscribe data processing with subscription points for customised message processing |
| GB2354848A (en) * | 1999-09-28 | 2001-04-04 | Ibm | Publish/subscribe data processing with subscriber requested messageflow for customised message processing |
| US20030018569A1 (en) * | 1999-10-06 | 2003-01-23 | Joshua Eisenthal | Enhanced interface for communicating with a handheld trading system |
| US7107240B1 (en) | 1999-10-06 | 2006-09-12 | Goldman Sachs & Co. | Order centric tracking system and protocol for communications with handheld trading units |
| WO2001075676A2 (en) | 2000-04-02 | 2001-10-11 | Tangis Corporation | Soliciting information based on a computer user's context |
| EP1272917A2 (en) * | 2000-04-02 | 2003-01-08 | Tangis Corporation | Interface for exchanging context data |
| US7464153B1 (en) * | 2000-04-02 | 2008-12-09 | Microsoft Corporation | Generating and supplying user context data |
| WO2001088795A1 (en) * | 2000-05-18 | 2001-11-22 | Kabushiki Kaisha Daiwa Shoken Group Honsha | Method and system for transmitting stock price information, information database therefor, server for detecting conditions and client terminal |
| US7024386B1 (en) | 2000-06-23 | 2006-04-04 | Ebs Group Limited | Credit handling in an anonymous trading system |
| US6983259B1 (en) | 2000-06-23 | 2006-01-03 | Ebs Group Limited | Anonymous trading system |
| US7366690B1 (en) * | 2000-06-23 | 2008-04-29 | Ebs Group Limited | Architecture for anonymous trading system |
| US7184982B1 (en) | 2000-06-23 | 2007-02-27 | Ebs Group Limited | Architecture for anonymous trading system |
| GB2364586B (en) * | 2000-06-23 | 2004-06-16 | Ebs Nominees Ltd | Deal matching in an anonymous trading system |
| US7333952B1 (en) | 2000-06-23 | 2008-02-19 | Ebs Group Limited | Compound order handling in an anonymous trading system |
| US7827085B1 (en) | 2000-06-23 | 2010-11-02 | Ebs Group Limited | Conversational dealing in an anonymous trading system |
| WO2002033541A2 (en) * | 2000-10-16 | 2002-04-25 | Tangis Corporation | Dynamically determining appropriate computer interfaces |
| US20020054130A1 (en) * | 2000-10-16 | 2002-05-09 | Abbott Kenneth H. | Dynamically displaying current status of tasks |
| US7363269B2 (en) * | 2001-01-03 | 2008-04-22 | Ebs Group Limited | Conversational dealing system |
| US6961773B2 (en) * | 2001-01-19 | 2005-11-01 | Esoft, Inc. | System and method for managing application service providers |
| US7331050B2 (en) * | 2001-06-06 | 2008-02-12 | Intel Corporation | System and method for communicating information between application programs |
| JP2003036219A (ja) * | 2001-07-25 | 2003-02-07 | Sony Corp | コンテンツ配信システム、コンテンツ予約管理装置、コンテンツ予約管理方法、コンテンツ予約管理プログラム及びコンテンツ予約管理プログラム格納媒体 |
| US7383315B2 (en) * | 2001-08-02 | 2008-06-03 | National Instruments Corporation | System and method for a delta page protocol for caching, replication, and client/server networking |
| US7127467B2 (en) * | 2002-05-10 | 2006-10-24 | Oracle International Corporation | Managing expressions in a database system |
| US7523086B1 (en) | 2003-01-28 | 2009-04-21 | Unisys Corporation | System for retrieving and processing stability data from within a secure environment |
| US20050216416A1 (en) * | 2004-03-29 | 2005-09-29 | Carl Abrams | Business method for the determination of the best known value and best known value available for security and customer information as applied to reference data |
| US20080077651A1 (en) * | 2006-09-05 | 2008-03-27 | Ongrand Limited | Information processing system with collaborating devices |
| US8775245B2 (en) | 2010-02-11 | 2014-07-08 | News America Marketing Properties, Llc | Secure coupon distribution |
| US10204135B2 (en) | 2015-07-29 | 2019-02-12 | Oracle International Corporation | Materializing expressions within in-memory virtual column units to accelerate analytic queries |
| US10372706B2 (en) | 2015-07-29 | 2019-08-06 | Oracle International Corporation | Tracking and maintaining expression statistics across database queries |
| US11226955B2 (en) | 2018-06-28 | 2022-01-18 | Oracle International Corporation | Techniques for enabling and integrating in-memory semi-structured data and text document searches with in-memory columnar query processing |
| US20250147821A1 (en) * | 2023-11-08 | 2025-05-08 | The Toronto-Dominion Bank | System and method for responding to an application programming interface request |
Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| GB1489573A (en) | 1974-10-18 | 1977-10-19 | Automated Real Time Investment | Communication system |
Family Cites Families (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US3597741A (en) * | 1969-04-30 | 1971-08-03 | Ultronic Systems Corp | Information control in a processing system |
| US4447673A (en) * | 1977-12-27 | 1984-05-08 | Stromberg-Carlson Corporation | Ring trip apparatus for a line circuit connected to DCO switch |
| US4349703A (en) * | 1980-03-31 | 1982-09-14 | International Telephone And Telegraph Corporation | Programmable ring signal generator |
| JPS57211633A (en) * | 1981-06-23 | 1982-12-25 | Fujitsu Ltd | Inter-program communication system |
| US4484270A (en) * | 1982-07-07 | 1984-11-20 | Sperry Corporation | Centralized hardware control of multisystem access to shared and non-shared subsystems |
| DE3521248C2 (de) * | 1984-06-29 | 1995-05-11 | Merrill Lynch & Co Inc | Finanzinformationsübermittlungs-, -verarbeitungs- und -anzeigesystem |
-
1986
- 1986-09-03 US US06/903,495 patent/US4815030A/en not_active Expired - Lifetime
-
1987
- 1987-08-05 AU AU76584/87A patent/AU595354B2/en not_active Expired
- 1987-08-20 CA CA000544996A patent/CA1292324C/en not_active Expired - Lifetime
- 1987-09-01 EP EP87112735A patent/EP0258867B1/en not_active Expired - Lifetime
- 1987-09-01 DE DE3750941T patent/DE3750941T2/de not_active Expired - Lifetime
- 1987-09-03 JP JP62221167A patent/JP3141943B2/ja not_active Expired - Lifetime
-
1991
- 1991-06-25 CA CA000616098A patent/CA1315891C/en not_active Expired - Fee Related
-
2000
- 2000-10-24 JP JP2000324622A patent/JP3247891B2/ja not_active Expired - Lifetime
Patent Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| GB1489573A (en) | 1974-10-18 | 1977-10-19 | Automated Real Time Investment | Communication system |
Also Published As
| Publication number | Publication date |
|---|---|
| CA1315891C (en) | 1993-04-06 |
| JPS6365536A (ja) | 1988-03-24 |
| CA1292324C (en) | 1991-11-19 |
| AU7658487A (en) | 1988-04-14 |
| EP0258867B1 (en) | 1995-01-04 |
| JP3247891B2 (ja) | 2002-01-21 |
| US4815030A (en) | 1989-03-21 |
| EP0258867A2 (en) | 1988-03-09 |
| JP2001188742A (ja) | 2001-07-10 |
| DE3750941T2 (de) | 1995-08-10 |
| EP0258867A3 (en) | 1990-05-09 |
| AU595354B2 (en) | 1990-03-29 |
| DE3750941D1 (de) | 1995-02-16 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP3141943B2 (ja) | データを分配する方法とデータ構造 | |
| US5230048A (en) | Data processing system with tree and list data structure | |
| US9913068B2 (en) | Apparatus and a method for supplying information | |
| US6839745B1 (en) | System and method for generating reports in a telecommunication system | |
| US7562116B2 (en) | Apparatus for determining availability of a user of an instant messaging application | |
| JP3892987B2 (ja) | メッセージ・ブローカ・データ処理装置、方法、及び記録媒体 | |
| US8010412B2 (en) | Electronic commerce infrastructure system | |
| US5664063A (en) | Automatic user notification of certain meeting attributes of a posted calendar event | |
| US7409429B2 (en) | Cooperative location based tasks | |
| US20020027567A1 (en) | Listing network for classified information | |
| US20020107905A1 (en) | Scalable agent service system | |
| JP2003532171A (ja) | 電子ネットワークを通じて連続的且つインタラクティブな通信を行う方法とシステム | |
| JPH10187639A (ja) | 高可用性コンピュータ・サーバ・システム | |
| US8037153B2 (en) | Dynamic partitioning of messaging system topics | |
| US20030115311A1 (en) | Enterprise network infrastructure for mobile users | |
| JPH0695999A (ja) | プロセス間通信のための通信方法及び通信システム | |
| CN100489858C (zh) | 用于收集数据处理系统中的清单信息的方法和系统 | |
| JP2001022714A (ja) | サーバ計算機、負荷分散システム、電話交換システムおよび負荷分散方法 | |
| GB2341703A (en) | Message multicasting | |
| GB2358768A (en) | Supplying information over a limited-waveband mobile radio link | |
| CN117014396A (zh) | 一种基于消息的互动方法、装置、计算机设备和存储介质 | |
| CN117909033A (zh) | 资源处理方法、装置、设备及介质 | |
| JPH0756827A (ja) | グループ回覧システム | |
| JPH04287151A (ja) | 計算機システムのプロセス制御方法 | |
| JPH10124481A (ja) | ハイパーメディアシステム |
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 |
|
| EXPY | Cancellation because of completion of term | ||
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20071222 Year of fee payment: 7 |