JP3247891B2 - Data distribution method - Google Patents

Data distribution method

Info

Publication number
JP3247891B2
JP3247891B2 JP2000324622A JP2000324622A JP3247891B2 JP 3247891 B2 JP3247891 B2 JP 3247891B2 JP 2000324622 A JP2000324622 A JP 2000324622A JP 2000324622 A JP2000324622 A JP 2000324622A JP 3247891 B2 JP3247891 B2 JP 3247891B2
Authority
JP
Japan
Prior art keywords
data
task
provider
user
list
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
Application number
JP2000324622A
Other languages
Japanese (ja)
Other versions
JP2001188742A (en
Inventor
チャーリー・ビー・クロス
ダイアナ・ワイ・モーイ
Original Assignee
リコス・インターナショナル・インコーポレーテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by リコス・インターナショナル・インコーポレーテッド filed Critical リコス・インターナショナル・インコーポレーテッド
Publication of JP2001188742A publication Critical patent/JP2001188742A/en
Application granted granted Critical
Publication of JP3247891B2 publication Critical patent/JP3247891B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime 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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • 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
    • 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

Description

【発明の詳細な説明】 【0001】 【発明の属する技術分野】本発明は、種々のタイプのデ
ータを受け取る手段を有するマルチタスク・データ処理
システムにおいて、プロバイダ・タスクからのデータを
当該データを申し込んでいる複数のユーザ・タスクに分
配する方法に関する。 【0002】 【従来の技術】ローカルコンピュータは遠隔のデータベ
ースと電話線で通信することにより大量の情報に対して
アクセスが可能である。遠隔のデータベースは、ほとん
どのローカルコンピュータにおいて可能なものをはるか
に上廻る記憶能力を有し、情報の中央記憶ハウスとして
機能しうる。 【0003】ウォルシュ・グリーンウッド・インフォメ
ーション・システムズ社(Walsh Greenwood Informatio
n Systems, Inc.)により開発され、ウォング・フィナ
ンシャル・インフォメーション・サービシズ社(Wang F
inancial Information Services Corporation)に引継
がれたデータベースは、株式市場やその他の金融機関に
関する情報専用とされている。このデータベースは、リ
アルタイムの取引、店頭での相場、オプション、商品、
先物相場を含む相場情報、固定収入データならびにニュ
ースや団体の持ち株を包含している。このデータベース
は、予約したコンピュータが一般的に3種のサービス、
即ち放送、照会およびモニタリングにアクセスできるよ
うにする。 【0004】放送の場合は、情報が継続的にユーザに単
に放送されることである。一例としては、ニューヨーク
株式取引所の相場表示サービスであって、ニューヨーク
株式取引所で行われた全ての取引が、それら取引が行わ
れる際全ての予約者に伝達される。その他の放送サービ
スとしては、ダウ・ジョーンズ・ニューズ・サービス
(Dow Jones News Service)やロイターズ・ニューズ・
サービス(Reuters NewsService)から受信した見出し
をスクロールするニュースの見出しサービスがある。ま
た、ダウジョーンズ・ニューズ・サービスやロイターズ
・ニューズ・サービスからの全てのニュース項目が加入
者に伝達され、ニュースがリリースされるにつれてニュ
ース項目を通してスクロールできるようにする。 【0005】また、データベースの加入者は特定の照会
を行うことができる。例えば、加入者はいずれかの株式
の相場を要求し、当該株式についてデータベースに記憶
されている現在の情報を迅速に受け取ることができる。
また、関心あるニュース項目は、関心ある情報を識別す
る特定の識別子記号を含むリクエストを出すことにより
検索できる。 【0006】最後に、加入者は遠隔のデータベースがデ
ータベースヘ入る情報の全てをモニタし、かつ加入者に
特に関心のあるデータのみを送信するよう要求できる。
再度、加入者は識別記号を含むデータベースヘリクエス
トを伝達する。 【0007】ウォルシュ・グリーンウッド・インフォメ
ーション・システムズのシステムはパソコンとの通信用
に構成された。したがって、各通信ラインのアドレスに
対して正確に一人のユーザが居た。各パソコンは特定セ
ットのサービスを予約し、これらサービスに対して適当
な手数料を支払えばよい。いずれのサービスを当該コン
ピュータが使用できるようネットワークが許容するかを
示すメッセージを各ラインの各コンピュータに送るネッ
トワークのホストプロセッサにより構成と機密性とが取
扱われた。このため正確な勘定および計算をできるよう
にするに十分な制御を提供した。 【0008】 【発明の概要】マルチユーザ・システムは、中央コンピ
ュータを介して接続された多数の端末と、データベース
のホストコンピュータとヘの単一の通信ラインを有する
ことができる。このローカルシステムにおける種々のユ
ーザは、種々のサービスを予約できる。その状態におい
て、遠隔データベースは、各端末に対して正確なファイ
ルを保持する必要がある。さらに、遠隔データベース
は、単一の通信ラインに沿って全ての加入端末にデータ
を伝送し、予約し、かつ特定の照会をなした端末に対し
てデータを適正に分配するにはローカル・マルチユーザ
・システムに依存する必要がある。本発明が指向するの
はそのようなマルチユーザシステムである。 【0009】多数のユーザに向けて入来データを適正に
分配するためには、ローカル・マルチユーザ・システム
は予約記録と、特定のリクエストの記録とを保持し、入
来データを個々のユーザに多重化する必要がある。この
重要なタスクは、遠隔データベースから個々のユーザヘ
の情報を容認できない程遅らせることなく、達成する必
要がある。前記遅れを排除することは、株式市場情報の
場合特に重要である。本発明の1つの特徴は、このよう
に情報を迅速に分配できるように各種の情報を処埋する
ことにある。多数のユーザからのリクエストの特定のモ
ニタリングを追跡することは、厄介となりうる。本発明
の1つの特徴によれば、最初のプロバイダ(provider)
のタスクは、遠隔データベースからの入来データの流れ
を各サービスに対応したデータタイプによる複数のデー
タの流れに分割する。リクエストをモニタリングしない
ことに応答して選択されたデータの流れは、データの流
れを予約するユーザのタスクに直接伝送される。しか
し、特定のモニタリング・リクエストは第2のプロバイ
ダ・タスクに転送される。次いで、前記のプロバイダ・
タスクは、特定のモニタリングリクエストに応答してデ
ータの流れを別のデータの流れに分割し、かつ前記の別
のデータの流れをユーザタスクに転送する。このよう
に、単にユーザに放送されたり、あるいは特定の、照会
の結果であるデータは、モニタリング・リクエストに応
答して、さらに時間のかかるデータの分配を取り扱う必
要のあるタスクにより遅延される必要はない。また、第
2のプロバイダ・タスクは特定クラスのデータに必要な
復号を行うことができる。 【0010】ニュースの検索のような特定の照会は、さ
らに別のプロバイダ・タスクにより処理することができ
る。前記クラスのデータは、モニタリング・リクエスト
に基いて広範なデータ処埋を必要とはしないが、データ
は個別のタスクを保証するために十分な追加の処埋を必
要としうる。しかし、相場の照会は第1のプロバイダ・
タスクにより扱うことが好ましい。ユーザは、典型的に
は、相場の照会に応答して極めて急速に応答を得ること
に関心があり、第1のプロバイダ・タスクによる前記照
会の取扱いはそれほど厄介ではない。 【0011】データベースから受け取られた情報は、遠
隔のデータベースによりあるいは全ての加入者に提供さ
れたローカル・ソフトウェアによりつくられる特定フォ
ーマットにおいて典型的に表示される必要がある。ユー
ザにより開発されたプログラムにより受信したデータヘ
のアクセスは典型的に限定されており、かつ使用可能な
場合アクセスは特定のプログラム技術および努力を要し
てきた。そのようなアクセスは、リアルタイム・ベース
では得られなかった。本発明の別の特徴は、プロバイダ
・タスクとユーザ・タスクとの間のデータ経路が、各ユ
ーザ・タスクに接続されている共通のコード・モジュー
ルにより設定されることである。各データ経路は、単一
のユーザに転送されるタイプのデータに特定している。
共通のコードモジュールは、ユーザが予約した種々のデ
ータタイプヘのアクセスを簡素化し、ユーザ・プログラ
ムをマルチタスク・システムのオペレーティング・シス
テムの変動から遮断する。オペレーティング・システム
における変動が要する何らかのプログラミングの変動
は、共通のコードモジュールを修正することにより全て
のプログラムに対して処理できる。各ユーザに転送され
た各タイプのデータに対して明確なデータ経路を設定す
ることにより、ローカルの予約を簡単に入力でき、かつ
特定のサービスに対して停止でき、かつユーザ・プログ
ラムはいずれかの点において特定のサービスヘのアクセ
スを制限することができる。このように、内部メッセー
ジ通信量を最小にできる。 【0012】データベースからのデータを待機する間に
ユーザ・プログラムが使用される必要のある時間は、オ
ペレーティング・システムによりモニタされる待機リス
トを設定することにより最小にできる。待機リストは、
各ユーザのタスクに対して各タイプのデータについての
メールボックスアドレスを含む。前記メールボックスを
介してオペレーティング・システムは、ユーザタスクに
対して、該タスクに転送されつつあるデータを通知す
る。オペレーティング・システムは、各プログラムが独
立して待機ルーチンを通してサイクルする必要がないの
で、データの分配を迅速にする。むしろ、オペレーティ
ング・システムは多数のイベントを同時に待機させ、次
に、何でも最初に発生するものを処埋する。前記の機能
は、一般的に、より高レベルの言語で作成しているプロ
グラマーには使用できず、本発明のシステムにおいて
は、共通のコードモジュールにより使用可能とされる。 【0013】プロバイダと加入者との間でデータ経路を
設定する際、構成ファイルから各ユーザタスクに対して
構成リストを設定できる。各構成リストは、各タイプの
データに対するリクエストが転送されるプロバイダ・タ
スク・メールボックスの名前と、当該タスクが特定タイ
プのデータに対するアクセスをするか否かの指示を含
む。また、各構成リストは、タスクが他のタスクヘのデ
ータのプロバイダであるか否かも指示する。共通コード
モジュールのプロバイダの特定のルーチンは、プロバイ
ダ・タスクに制限されている。 【0014】また、共通のコードモジュールを用いて、
プロバイダ・タスクに対する待機リストを設定できる。
プロバイダ・タスクは、リクエストがユーザタスクから
つくられつつあるか否か繰り返し検査する必要はない
が、オペレーティング・システムは、単に各サービスに
対してプロバイダのタスク・メールボックスをモニタす
ればよい。また、プロバイダ・タスクが各サービスに関
する各メールボックスを識別できるよう各プロバイダ・
タスクに対して構成リストを作る。加入者へのデータの
分配を促進するために、各プロバイダは、各サービスに
関する加入者リストを設定し、各サービスに関してデー
タ経路を発生させたユーザを識別することができる。 【0015】システムの始動の間に、第1のプロバイダ
のタスクが、構成リストに含む情報を当該システムのそ
の他全てのタスクにも提供することが好ましい。第1の
プロバイダのタスクのみが、遠隔のデータベースから受
信された顧客のアクセス情報を含む構成ファイルにアク
セスする。 【0016】例えば、モニタリング・サービスを提供す
る前述の第2のプロバイダ・タスクのようなプロバイダ
・タスクは、異なるユーザからの独立したリクエストの
ために遠隔データベースからのデータに対して同一のリ
クエストをしないようにすべきである。この目的のため
に、プロバイダ・タスクは、ユーザ・タスクから特定の
データ・リクエストを受け取り、ユーザ・タスクを特定
のデータリクエストに相関させる情報をコンパイルする
各データリクエストに対して、プロバイダが別のタスク
に対して同様のリクエストが保留されているか否か検出
する。同様のリクエストが保留されていない場合のみ、
特定のデータリクエストが遠隔データベースに転送され
る。次いで、データが遠隔のデータベースから受け取ら
れると、プロパイダは、コンパイルされた情報から、受
信したデータを要求した全てのユーザタスクを検出し、
データはこれらのユーザタスクに転送される。情報はユ
ーザ・ツリーと記号ツリーとを発生させてコンパイルす
ることが好ましい。ユーザ・ツリーの各ユーザ・ノード
は、該ユーザが要求したデータを識別する記号のリスト
に向けられる。記号ツリーの各ノードは、該記号により
表示されるデータを要求したユーザを指示する。 【0017】本発明の前述およびその他の目的、特徴お
よび利点は、添付図面に示す本発明の好適実施例につい
ての以下の詳細な説明から明らかとなる。 【0018】 【発明の実施の形態】本発明は、マルチタスク、マルチ
ユーザ・データ処埋システムに関し、例えばウォング・
ラボラトリーズ社(Wang Laboratories, Inc.)製のV
Sシステムに対して実施しうる。図1では、ブロック2
0は、マルチタスク・システムの全体のオペレーティン
グ・システムを示す。オペレーティング・システムに
は、多数の明確なプログラムが設けられ、該プログラム
はオペレーティング・システムを共用してそれぞれのタ
スクを独立に完成する。例えば、3個のユーザ・プログ
ラム22、24、26が示されている。各ユーザ・プロ
グラムは、それぞれのコンピュータ端末28、50また
は52と関連している。各ユーザ・プログラムの内部で
は、このシステムのマルチタスク・マルチユーザという
特性は、ユーザには見えない。しかし、タスク間の通信
に対しては、オペレーティング・システムを通じてデー
タ経路を設定するために特定の手順を追従する必要があ
る。 【0019】本発明は、遠隔データベースのホストコン
ピュータ54へのリクエストの転送と、該コンピュータ
からのデータの復帰とに関する。ホストコンピュータ
は、ホストを例えばダウ・ジョーンズやスペクトル・イ
ンスチチューショナル・ホールデイングス(Spectrum I
nstitutional Holdings)のような全ての株式取引や数
個の補助的サービスに連結する多数のデータライン上
で、リアルタイムの取引や相場情報を集める。この情報
は、リアルタイムの株式取引、店頭、オプション、商品
取引および固定収入データ並びにニュースおよび団体の
持ち株を含む。 【0020】遠隔データベース34とユーザ・プログラ
ム22、24および26との間の全ての通信は、1次プ
ロバイダ・タスク36を介して処埋される。このタスク
は、データを予約したユーザヘ提供する。一次プロバイ
ダ56は、電話線に沿ってデータを送信および受信する
従来の通信ソフトウエアを含む。一次プロパイダ56は
また、どのタイプのデータが受信されているかに関して
最初の検出を行う必要がある。詳しくは、一次プロバイ
ダは、当該データが一部である特定データ・サービスを
検出する。 【0021】一次プロバイダは、データの最初の分配を
行う。当該サービスの全ての加入者にそのすべてが伝達
される放送クラスのほとんどのデータが、一次プロバイ
ダから直接に個々の加入ユーザヘ伝送される。このクラ
スのサービスは、ダウジョーンズ・ニュー・サービス
(dj)、ニューヨーク株式取引所相場(tk)、ニュ
ーズ・ヘッドライン(nh)およびロイターズ・ニュー
・サービス(rt)を含む。図1には、これら放送サー
ピスからユーザ・プログラム24及び26までのデータ
の転送経路の一例が示されている。これらの転送経路
は、一旦テータ経路が設定されると、遠隔データベース
ヘのユーザ・プログラムからそれ以上のリクエストは何
ら必要とされないので、一方向のみとして示している。
他のデータサービスは、プロバイダの側でさらに複雑な
ロジックを必要とする。一次プロバイダが、前記サービ
スからのデータの分配によって過負荷とならないように
するために、追加のタスク38及び40とが設けられて
いる。 【0022】この例では、照会クラスのサービスからの
データの写しは、一次プロバイダにより照会プロバイダ
38に転送される。例えば、ダウ・ジョーンズの新たな
検索サービス(m)では、遠隔データベースは、ユーザ
によりデータベースに伝送される特定の識別子に関する
ニュース項目に対する特定の照会に応答する。照会プロ
バイダ58は、最初にユーザ・プログラムからこれらの
リクエストを受け取り、類似のリクエストがすでに保留
されているかを検出し、もし類似のリクエストが保留さ
れていないとすれば、リクエストを一次プロバイダを介
して遠隔データベースヘ転送する。前記サービスからの
全ての転送されたデータは、一次プロバイダ56により
照会プロバイダ58に向けられる。次に、照会プロバイ
ダは、これ自体の記録を調べてリクエストを行ったユー
ザ・プログラムを識別し、応答データを、正に前記のユ
ーザ・プログラムに転送する。図1に示す例において、
ユーザ・プログラム22のみがダウジョーンズの新検索
サービスを予約しているが、照会プロパイダの効用は、
他のユーザ・プログラムからの予約の増加および照会ク
ラスのサービスの数の増加に伴い増加する。 【0023】最後のクラスのサービスは、ホスト・コン
ピュータが識別記号により識別する情報に対する特定の
リクエストに基づしてデータをモニタする。遠隔データ
ベースは、その供給源から受け取られる際に全てのデー
タをモニタし、リクエストが保留されているデータを選
択する。次いで、前記データは、要求元のユーザに転送
される。このように、サービスのモニタ・クラスは照会
を開放しておく。モニタ・プロバイダは、ユーザ・プロ
グラムからリクエストを受け取り、照会プロバイダが行
ったのと同様に、リクエストを単に、すでに保留となさ
れていない遠隔データベースに進める。ほとんどの遠隔
データベースは、マルチユーザ・システムを単一のユー
ザと見倣し、データの特定アイテムをマルチユーザ・シ
ステムに伝送する。前記データが受信されると、モニタ
・プロバイダヘ導かれる。モニタ・プロバイダはその記
録を探索し、いずれのユーザ・プログラムがデータを要
求したかを検出し、データをそれらのユーザ・プログラ
ムに転送する。 【0024】市場モニタ・データは、圧縮されたフォー
マットに符号化される。一次プロバイダは、受信されつ
つあるデータが市場モニタリング・フォーマットである
ことのみを決定し、符号化されたフォーマットで前記デ
ータ(mm)の全てをモニタ・プロバイダ40に転送す
る。次いで、モニタ・プロバイダは、前記データを復号
化し、3種類のサービスの1つ又は複数として、要求し
ているユーザ・プログラムに導く。基本的な市場モニタ
リング・サービス(mm)は、特定の株式の各々の株価
変動に応答する。選定した相場サービス(sl)は、株
式の各取引に応答し、その取引の量と金額とを識別す
る。ブロック取引相場(bt)は、1万株を上廻る全て
の取引を識別する。ブロック取引は、実際には放送クラ
スのサービスであるが、市場モニタ・サービスを備えた
ホスト・コンピュータにより符号化されるので、モニタ
・プロパイダにより最も効率よく復号化される。さら
に、将来のブロック取引はさらに大きい選択的サービス
となることが期待される。図1に示すように、3種類の
サービスは全て遠隔のデータベースから受け取られた同
じデータの流れに依存するがユーザ・プログラムは3種
類のサービスの中の選択した分に個々に予約することが
できる。 【0025】照会クラスであるが、一次プロバイダが完
全に処理するサービスには株価相場(qt)サービスが
ある。ユーザは、株価相場を求めて迅速に受け取れるも
のと期待し、現在のシステムでは相場についての要求の
転送数と演算システムを介する戻りデータの数を最小に
することにより相場データの戻りを迅速にしやすくす
る。照会プロバイダを用いることに起因する、各方向で
の2種類の転送が排除される。一次プロバイダは、株式
相場リクエストを、該リクエストを一次プロパイダにお
いて識別するシーケンス・コードと共に伝送する。シー
ケンス・コードは、先入/先出し記憶装置における要求
ユーザ・プログラムの識別子と共に記憶される。遠隔デ
ータベースは、データを、それが要求されたと同じ順番
で戻し、同じシーケンス・コードをデータと共に戻す。
次いで、一次プロバイダは、シーケンス番号が適合する
限り、データをそれが先入れ/先出し記憶装置から識別
されるにつれて要求しているユーザタスクヘ戻す。シー
ケンス番号が戻りデータにおいてスキップされると、一
次プロバイダは、リクエストを再び行うか、又は、再び
リクエストを行うべきである旨をユーザ・プログラムに
通知することができる。 【0026】べーシック・ユーザ・プログラムにより、
ユーザは、予約しているサービスの範囲内で特定のリク
エストを行ったり、戻されたデータを適切に表示できる
ようになる。しかし、特定の必要性に特に適した独自の
プログラムをユーザが開発することを望むことが考えら
れる。事実、ユーザは、その極めて小さい部分として、
株式市場情報を得たいという必要性を有するプログラム
を開発することを望む可能性がある。年金マネジメント
・プログラムは、そのようなプログラムの一例であろ
う。過去においては、株式市場サービスやそれ以外のデ
ータベースからの情報の検索は、プログラマに対して柔
軟性をほとんど許容せず、カスタム・プログラムの遠隔
データベースヘの結合を困難又は不可能にしている。本
発明は、アプリケーション・プログラム・インターフェ
ース(API)を用いて、このような通信を容易にす
る。このAPIは、オペレーティング・システムの機能
を最大限に利用し、同時にユーザ・プログラムに要求さ
れるプログラミング作業を最小にすることにより、タス
ク間のデータ転送経路を設定しやすくするものである。 【0027】APIは、ユーザおよびプロバイダ・タス
クのどれにでも連結することができるサブルーチンのコ
ード・モジュールである。APIコード・モジュールが
ユーザ・プログラムに連結されると、プログラムは、サ
ブルーチンを単に呼び出してデータ転送経路を設定する
のみでよい。ユーザは、基礎となるオペレーティング・
システムの能力や要求については知っていることは必要
ない。それらについては、コード・モジュールの開発時
に既に考慮されているからである。さらに、ユーザ・プ
ログラムは、オペレーティング・システムの変動から遮
断される。システム設計者は、オペレーティング・シス
テムの変動を用いて、APIコード・モジュールを適当
に変更する。APIコード・モジュールは、ユーザ・プ
ログラムをオペレーティング・システムにインターフェ
ースする際に最大の利点を提供するが、プロバイダの背
景タスクをインターフェースするのにも用いられる。こ
の方法を用いると、システム設計者は、オペレーティン
グ・システムに変更を加える場合にはAPIコード・モ
ジュールを修正するだけでよく、背後のプロパイダ・タ
スクは修正する必要はない。 【0028】以下で述べる特定のAPIコード・モジュ
ールの別の利点として、メールボックスを作成してメッ
セージをそれらのメールボックスに転送する場合に、ウ
ォング(Wang)VSシステムのタスク間メッセージ(I
TM)機能を完全に利用することがある。ウォングVS
システムでは、タスクは、オペレーティング・システム
のPリストにおいてポートあるいはメールボックスをリ
スト化し、「それ自体を休眠」させることができる。本
発明によるシステムでは、これらのPリストは、API
コード・モジュールによりつくられる待機リストであ
る。オペレーティング・システムは、Pリストをモニタ
し、Pリストのポートにおいてメッセージが受信される
と、前記Pリストに関連したタスクを通知する。その結
果,タスク・プログラムは、プログラムがイベント(事
象)の発生を待機する際に動作し続ける必要はない。オ
ペレーティング・システムのこの特徴は、ユーザ・プロ
グラムからのデータ・リクエストをモニタする上でプロ
バイダ・タスクに対して、ホスト・コンピュータからの
データの受取りをモニタする上でユーザ・プログラムに
対して、特に有用である。このようなイベントはいつで
も発生しうる。 【0029】タスク間通信は、3種類のタイプのリスト
を設定することによって、APIコード・モジュールに
より効率的に処理される。図2及び図3は、一次プロバ
イダとユーザ2のための例示的なリストを示している。
APIコード・モジュールを介して通信する各タスク
は、APIルーチンを介して構成リストと待機リストと
を設定する。さらに、各プロバイダ・タスクは、それが
提供する各サービスに対する加入者リストを設定しう
る。 【0030】いずれかのデータ転送経路を設定する前
に、プロバイダあるいはユーザタスクは、まず一次プロ
バイダを介して構成リストを獲得する必要がある。構成
リストは、入手可能な各サービスに対するサービス・コ
ードを含む。更に、構成リストは、各サービスに対し
て、特定のタスクが(リストのPにより指示される)前
記サービスのプロバイダであるか否かを指示する。タス
クがプロバイダではない場合には、リストは、タスクが
サービスへのアクセスを有するか否かを指示する(イエ
スはYで、ノーはNで示す)。また、各クラスには、I
TMポート又はメールボックス・アドレスが提供され、
そこに、当該サービスを要求しているメッセージが転送
される。 【0031】ユーザがプロバイダヘのリクエストを完了
しうる前に、プロバイダは、その構成リストを検索して
しまわねばならない。リストに提供されるそのアクセス
及びプロバイダ・メールボックス情報に基いて、プロバ
イダは、オペレーティング・システムの待機リストにお
いてリクエストを受け取るべきメールボックスをリスト
化することにより特定のサービスに対してリクエストを
受け取るようプロバイダは設定されてくべきである。第
2図において、待機リストにおげる各サービスに対して
指示した使用可能状態は、一次プロバイダが待機リスト
の各サービスに対するリクエストを受け取る状態である
ことを示す。前述のように、待機リストはウォングのV
Sシステムアーキテクチャでのオペレーテイングシステ
ムのpリストである。一旦待機リストがAPIコードモ
ジュールを介して設定されると、プロバイダ・プログラ
ムは各サービスに対してメールボックスをモニタし続け
る必要はない。むしろ、この面到な仕事は待機リストに
よりオペレーティング・システムが取り扱う。 【0032】プロバイダは各サービスに対して加入者リ
ストを設定し、構成リストにおいて(第2図において*
で示す)各加入者リストの開始アドレスに対するポイン
タを含むことができる。 【0033】また、ユーザは、APIルーチンを介して
オペレーティング・システムの待機リストを設定する。
ユーザは、アクセスを有する各サービスに対してそれ自
体のユーザポートを含むことができる。次いで、前記ユ
ーザばプロバイダから戻されたデータに対するメールボ
ックスとして作用する。待機リストは、データを受け取
ることが予想されている各メールボックスを含む。待機
リストの各メールボックスは使用可’能状態あるいは取
消状態のいずれかにセットでき、オペレーティング・シ
ステムは使用可能のメールボックスに転送されたデータ
のタスクを通知するのみである。 【0034】サービスの予約をするには、ユーザはAP
Iルーチンにおける構成リストを探索し、プロバイダメ
ールボックスアドレスを獲得する。ルーチンを通して、
第5B図に示すように、次いで予約メッセージを構成
し、該メッセージを指定されたプロパイダメールボック
スに伝達する。次いで、ユーザはメッセージが受け取ら
れたユーザポートを介してオペレーティング・システム
により通知を受けるよう待機する。予約メッセージはオ
ペレーティング・システムによりプロバイダ・タスクメ
ールボックスに転送され、プロバイダ・タスクはメッセ
ージが受け取られずみであることが通知される。次い
で、プロバイダは予約リストを処理し、ユーザの復帰メ
ールボックスと、当該サービスに対する他のデータ該サ
ービスに対するプロバイダの加入者リストに位置させれ
ぱよい。前記の他のデータは加入者のワークステーショ
ンの番号、ユーザのI.D.とキーとを含む。 【0035】構成リストにおいて各サービスに対して独
特のプロバイダメールボックスを規定することにより、
当該システムは各ユーザ・プログラムが、ユーザが予約
している数種のサービスに対して独立してデータ経路を
設定できるようにする。ホストプロセッサはカストマ
(cutomer)として特定のユーザブロクラムを含
み、そのため特定のサービスに対してデータヘのアクセ
スを許容しうるが、ローカルシステム内においては、い
ずれかのユーザは予約に失敗したり、あるいは地のサー
ビスに影響を与えることなくいずれかのときにいずれか
のサービスに対する予約を取消しする可能性がある。そ
の結果、オペレーティング・システムを通る内部メッセ
ージトラフィックを最小にすることができる。ホストプ
ロセッサはローカルシステム内の加入者としてユーザの
状態を知らせておらず、そのため当該システム内の予約
と取消しとがユーザのカストマ状態に影響しない。 【0036】構成情報へのアクセスを迅速にするため
に、当該システムの各タスクに対して、明確な構成リス
トを発生する。各クラスは、オペレーティング・システ
ムを通して構成ファイルからそれ以上のデータの転送を
必要とすることなくそのリストヘのアクセスを効率的に
獲得することができる。しかし、全てのタスクに対して
グローバルなメモリが容易に得られるマルチタスクシス
テムにおいては、個々の構成リストは必要とされない。
むしろ、情報は中央ファイルから得ることができる。し
かし、各タスクは当該システムにより指定されたプロパ
イダメールボックスアドレスおよび各々の入手可能なサ
ービスに関する独自のアクセス情報に対して直ちにアク
セスを有することが重要である。 【0037】構成・待機および加入者リストならびにデ
ータを効率的に転送できるようにするAPIサプルーチ
ンの作成についてのさらに詳しい説明は以下の通りであ
る。遠隔データベースからの全ての情報を最初に受け取
るものとして、一次プロバイダ56は遠隔テータベース
からの転送に関するプログラムの開始のための中心的プ
ログラムとして選択されずみである。一次プロバイダの
開始処埋の一部として、CNFINITと称する構成開
始APTルーチンを呼出す。CNFINITはディスク
記億装置から構成ファイルを読取る。一次プロバイダは
また通信ラインを開始させる。ホストコンピュータ34
が、ラインが使用中であることを検出すると、下記する
ようにカストマ用にサービスリストを送出することによ
り応答する。一次プロバイダは遠隔データベースから
と、ディスク記憶装置とから受け取られた情報を統合し
て第4図に示す構成ファイルをつくる。 【0038】構成ファイルの第1のアイテムは、データ
転送に含まれるべき各タスクに対するキーである。実
際、キーとは、各タスクの構成記録のための論理的な名
称である。キーPRIPRO、INQPRO及びMON
PROは、一次プロパイダ、照会プロバイタ及びモニタ
・プロバイダに対してそれぞれ与えられた名称である。
別のキーであるADMINは、システムの特定の必要性
に対して要求される場合には、事務管理プログラムの実
行を可能とする。そのようなプログラムは、キーの指定
と、特定のタスクとワークステーションとによるサービ
スヘのアクセスとを制御することができる。 【0039】ファイルの最初の4個のキーに関連したプ
ログラムは、典型的には背景で動作するプロバイダ・プ
ログラムである。更に、追加的な3つのキーであるUS
ER1、USER2及びUSER3が、図1に示す3個
のユーザ・プログラムの各々に対して指示されている。
もちろん、このシステムは、これら3つのユーザ・プロ
グラムに限定されるものではない。これらのプログラム
は、典型的には加入者であって、前面(foreground)に
おいて演算したり、しなかったりする。 【0040】端末IDフイールドは、遠隔データベース
がシステムにおいて各ユーザを知るための識別子であ
る。データベースは、特定のサービスに対する権利を与
え、端末ごとに識別を行ってそれらのサービスに対して
課金する。ユーザタスクだけは端末のIDを必要とする
のであるが、その理由は、データの唯一の真正な消費者
であるからである。供給者は、遠隔データベースの単な
る延長と考えることができ、端末IDを必要としない。
また、端末IDは、代替的なキーとしても作用する。遠
隔テータベースは、第1のキーを知ることはなく、端末
IDによってタグが付されたその構成記録を送る。端末
IDは、カスタマ(顧客)が新たな又は拡大したサービ
スを要求するときには、遠隔データベースから割り当て
られる。 【0041】各タスクが初期化されると、タスク番号
が、キーと共に、一次プロバイダに送られる。状態フィ
ールドはキーが使用されているか否か指示し、使用され
ている場合には、関連のタスクが使用されているワーク
ステーション番号も指示する。状態フィールドは、背景
でタスクが作動していることを指示しうる。ワークステ
ーション・フィールドは事務管理プログラムによって使
用され、所定のキーと対応する特権とを使用することが
できるワークステーションを限定する。キーは、図4に
星印(アステリスク)によって示されているワークステ
ーションのリストからのものに、又は、そのリストに制
限しうる。 【0042】図4の下側には、サービス・フィールドが
展開されている。このフィールドのリストは、各キーに
対して、定義されているサービスのそれぞれに関して、
関連するプログラムの役割を定義する。プログラムは、
与えられたサービスに関して3種類の役目のいずれかを
有しうる。それは完全な予約特権(Y)を有することが
できる。サービス(P)のプロバイダであったり、サー
ビスに対して何ら権利がない(N)こともありうる。遠
隔データベースによって与えられる加入者の権利は、許
容された予約にはyで示し、否定された予約にはnで指
示され、ローカルな事務管理プログラムによりオーバル
ールできる。プロバイダの役目は、システム設計者によ
り定義される。 【0043】CFNINITの間は、一次プロバイダ3
6もまた、ディスク記憶装置からプロバイダ・メールボ
ックス・ファイルを獲得する。各サービスに対するプロ
バイダ・メールボックスは、図2及び図3に示されてい
るように、後で、各タスクの各構成リストに含まれる。
プロバイダ・メールボックス・ファイルと構成リストと
からの情報を用いて、一次プロバイダは、APIコード
・モジュールを用いている各タスクが用いるべき構成リ
ストのプロトタイプを構築する。プロトタイプの構成リ
ストは、定義されたサービスそれぞれに対して1個の記
録を含み、各記録は、サービスのプロバイダのメールボ
ックスを含む。このメールボックスは、ITMポート名
である。 【0044】構成ファイルとプロトタイプ構成リストと
を手元において、一次プロバイダは、SCLINITを
呼び出すことによって、独自のパーソナル構成リストを
発生させる。そのキーPRIPROを提供することによ
り、一次プロバイダは、プロトタイプリストに基づき、
各サービスに対して構成ファイルからアクセスコード
P、Y又はNを取り出し、その構成リストを獲得する。
構成リストのサービスに対してPが指示される場合に
は、プロバイダは、メールボックスとして、構成リスト
において指示されるプロバイダ・メールボックスを設定
する。また、プロバイダは、各サービスに対して加入者
リストを設定し、現在のリストサイズを零にセットす
る。更に、プロバイダ・プログラムにより設定される各
メールボックスは、待機リストとして作用するタスクに
対して、APIサブルーチンによりオペレーティング・
システムのpリストに配置される。待機リストにおける
各プロバイダのメールボックスに対する待機状態は、使
用可能状態にセットされる。最後に、一次プロバイダ・
プログラムは、APIルーテンSCLWAITを呼び出
し、それによりオペレーティング・システムに対して、
待機リストの使用可能なメールボックスのいずれかにお
いてメッセージが受け取られたとの指示を待機するよう
に告知する。 【0045】一次プロバイダが初期化されると、その他
のタスクも初期化される。このために、各タスクは、A
PIルーチンSCLINITを呼び出すことによって、
オペレーティング・システムの待機リストを設定する。
図3に示されるように、待機リストは、最初、3個の偽
似サービスである、エマージェンシー(em)、ワーク
ステーション(WS)およびタイマ(tm)を含むこと
ができる。エマジェンシー・ポートは、待機リストの高
優先順位において、タスクが緊急メッセージを受け取る
ことができるようにする。ワークステーション・サービ
スは、ユーザ・プログラムが、APIコード・モジュー
ルにより設定された待機リストを利用してワークステー
ションのターミナルにおいて発生予定のイベントを待機
することを可能にする。この偽似サービスにより、ユー
ザ・プログラムは、例えばキー・ストロークのようなイ
ベントがターミナルで発生するのを待機する間、データ
の受取りを遅らせる必要はない。最後に、タイマの偽似
サービスによって、プログラムが、待機リストを介して
タイマをセットすることが可能になる。そのため、ユー
ザ・プログラムが他のイベントの発生を待機する時間を
制限できることが可能になる。 【0046】SCLINITルーチンの間、タスクはま
た、システムのサービスを予約するのに必要な情報を提
供する構成リストを獲得する。タスクは、その構成リス
トを一次プロバイダ・タスクから獲得し、そのために、
APIサブルーチンは、すべてのタスクがこれに従って
構成データのユーザとして構成される、デフォルトのミ
ニ構成リストを有する。ユーザは、メールボックス「c
fcf」を介して一次プロバイダに構成データを予約す
る。 【0047】構成予約メッセージが一次プロバイダのメ
ールボックス「cfcf」に達すると、オペレーティン
グ・システムは、SCLWAITルーチンにおいて、一
次プロバイダを喚起する。メールボックス「cfcf」
における構成テータ用予約メッセージに応答して、一次
プロバイダは、予約メッセージに提供されたユーザ・キ
ーを用いて構成ファイルの適当な記録を獲得し、プロト
タイプの構成リストのコピーに、そのキーに対する各サ
ービスへの適当なアクセスコードを付す。一次プロバイ
ダは、カスタム化した構成リストを予約メールボック
ス、例えぱ20cfまで戻し、マスター構成ファイルを
更新して特定のキーが使朋されていることを指示する。 【0048】SCLINITルーチンを個別に使用する
ことにより、各タスクは完成な構成リストと、空である
が、エマジェンシイ、ワークステーションおよびタイマ
についての偽似サービス用の待機リストとを有すること
ができる。第1図に示すデータ経路はまだ設定されてい
ない。経路を設定するために、各プロバイダはルーチン
PRVOPENを呼出し、該ルーチンにより、初期は空
である加入者リストを設定する。自動的にPRVOPE
Nの間双方のプロバイダ・タスクと予約者タスクとはル
ーチンSCLOPENを呼出す。ルーチンSCLOPE
Nを呼出す。ルーチンSCLOPENにより、プロバイ
ダ・タスクはサービスが構成リストに指示されたものに
対して開放されるようそのメールボックスをセットし、
かつ予約者タスクはメールボックスを、例えば第3図の
20gtのようにタスク数とサービス・コードを加えた
ものにセットする。前記サービスに対する特定のタスク
により受け取られる将来のいずれのメッセージも、指定
されたメールボックスにおいて受け取られる。 【0049】あるタスクは、あるサービスに対する加入
者及び他のサービスのプロバイダとして作用しうる。例
えば、モニタ・プロバイダは、市場モニタリングサービ
スMMに対する加入者および、市場モニタリングサービ
スmm、選択柑場サービスおよびブロック取引サービス
btのプロバイダとして作用する。同様に、照会プロバ
イダはニュース検索サービスNRへの加入者および、分
配されたニュース検索サービスntのプロバイダであ
る。個々のSCLOPENルーチンを各サービスに対し
て呼び出す必要がある。 【0050】SCLOPENルーチンにおいては、メー
ルボックスは前記タスクに対して待機リストに位置され
るが、「否定」にセットされる。次いで、プロバイダ・
タスクはSCLLISTENを取り出すことにより、待
機リストの特定のメールボックスは使用可能状態にセッ
トされる。加入者タスクは、典型的にはまずルーチンS
CLSUBSCRIBEを呼び出す。前記ルーチンによ
り予約者は第5B図に示すように予約メッセージを構築
し、該予約メッセージを、その構成リストから得たプロ
バイダメールボックスに伝送する。加入者メッセージは
加入者における当該サービスのための戻りメールボック
スと、該メッセージが加入者か、あるいは取消し用かを
示すフラグとを含む。前記メッセージはまた、タスク番
号、ユーザID及びユーザのキーとを含む、プロバイダ
は加入者を、前記サービスに対する加入者リストに追加
することにより前記メッセージに応答する。次いで、加
入者は典型的にSCLLISTENを入力することによ
り待機リストの関連のメールボックスが使用可能状態に
セットされる。 【0051】プロバイダにより加入者メールボックスに
戻されたデータは、そのときメールボックスに介在のい
ずれの情報をもユーザが獲得するAPIルーチンSCL
READを入力することにより読み取ることができる。
しかし、通常、ユーザはルーチンSCLWAITを入力
し、そのために使用中のメールボックスのいずれかにお
いてイベントが発生するとオペレーティング・システム
に信号を送りその旨通知する。 【0052】一旦ユーザがサービスを予約すると、AP
IコードモジュールにおけるSCLSEINDルーチン
によりプロバイダを介して遠隔データベースの特定のリ
クエストを行うことができる。このルーチンを用いるこ
とにより、ユーザ・プログラムは第5A図に示すように
メッセージを発生する。第5A図はサービスと、特定の
サービスとリクエストとに対して適したフラッグとメッ
セージとを含む。SCLSHNDの下で、プロバイダの
メールボックスは加入者の構成リストから獲得され、か
つメッセージが送られる。メッセージはプロバイダによ
り処埋され、照会プロバイダあるいはモニタプロバイダ
の場合、プロバイダは一次プロバイダに伝送されもかつ
遠隔データベースに伝送されるべき独自のメッセージを
発生させる。一次ブロバィドヘのメッセージはSCLO
PENとSCLSUBSCRIBEルーチンを介して、
先に設定された経路を送られる。 【0053】最後に、データがホストブロセッサ34か
らプロバイダにより受け取られると、プロバイダはその
データを予約しているユーザに送る必要がある。プロバ
イダはPRVSENDルーチンを呼出すことにより、プ
ロバイダが特定のサービスに対する予約リストを参曜、
し、送入されたデータを加入者に送る。代替的に、モニ
タのようなプロバイダは独自の内部リストを介してデー
タを伝送する必要のあるメールボック久を検出すること
ができる。 【0054】これまで説明したルーチンの他に、例えぱ
Sclinitの逆であるSCLTRM、SCLSUB
SCRIBEの逆であるSCLCACEL、SCLLI
STENの逆であるSCLIGNORE、およびSCL
CPENの逆で歩るSCLCLOSEのような逆ルーチ
ンかある。 【0055】付加的な機能SCLLISTによってユー
ザが多数のユーザが規定するイベントをSCLWAIT
が使亀する待機リストに追加できるようにする。ワーク
ステーション偽似サービスのようなこの偽似サービス
(US)によつて、入来データの受取りが遅れる可能性
のある励の待機処理をユーザ・プログラムが排除できる
ようにする。 【0056】モニタプロバイダ・タスクの詳細説明を第
6図から第8図までに関して以下提供する。モニタプロ
バイダは市場モニタ、選択相場およびブロック取引サー
ビスの各々に対する加入者リストを保存する必要がある
のみならず、ホストにより特定市場コードをモニタすべ
き旨の特定のリクエストを転送し、ホストから受け取っ
たデータが適正に分配できるように予約者リストを要求
されたコードに相関させる必要がある。その目的に対し
て、モニタプロバイダは第6A図に示す記号ツリーと、
第7A図に示すユーザツリーに依存する。各ツリーは2
進スレデイッド(threaded)ツリーであって、
結合されたリストに対するポインタを付加的に含む。 【0057】記号ツリーの場合、スリーの各ノードは、
モニタされつつある特定のセキュリティ(機密、証券)
への識別子として作用する記号を識別する。ツリーの各
ノードは、前記記号に対して情報を要求ずみのユーザの
結合されたリストを指向する。ユーザ・ツリーにおいて
は、ツリーの各ノードは、モニタ・プロバイダからのサ
ービスのいずれかに対する加入者を識別し、各ノード
は、当該ユーザに対してモニタされつつある記号の結合
されたリストを指向する。各ユーザ・ノードに結合され
たリストにおける各記号に対しては、記号ツリーには、
対応する記号のノードがある。 【0058】ユーザ・ツリーは、付加的なユーザ・タス
クがモニタ・プロバイダ・サービスを予約するにつれて
生長する。信号ツリーは、各サービス内の特定リクエス
トの数が増加するにつれて、生長する。各々の場合に、
予約すべき最初のユーザ又は要求されるべき最初の信号
は、ツリーの根元(ルーツ)として作用する。その後
で、新しいノードのアルファベット値が低位か高位かに
よって、先行ノードの左側又は右側に追加のノードが追
加される。このように、アルファベット的に記号ツリー
の根元で記号MMM.Nに先行するすべての記号が、ツ
リーの左側で見い出される。2進ツリーを使用すること
により、特定のアイテムを求めてリストをサーチするの
に要する時間が、著しく短縮される。20人のユーザ
や、1ユーザ当たり50の記号がツリーにリスト化され
る場合に、このサーチ時間は特に重要である。 【0059】記号ツリーの各ノードは、図6Bに列挙さ
れている情報を含む。各ノードは、セキュリティ記号
と、そのセキュリティが取引される条件と、ホストから
受け取った前記セキュリティに対する直近の価格とを含
む。更に、前記ノードに結合したユーザ・リスト上のエ
ンド・ユーザヘのポインタも含まれている。結合された
リストのそれぞれへの及びそのようなリスト内ポインタ
は、図6Aでは、点線の矢印で示されている。結合され
たリストは、リストヘのノードの追加と、リストからの
削除とを容易にするように、二重に結合されている。各
ノードの左右の子に対するポインタが、そのノードの親
に対するポインタと共に設けられている。これらのポイ
ンタは、図6Aでは、実線の矢印で示す。ポインタによ
る親へのツリーのスレディング(threading)により、
記号を追加する又は削除する場合のツリーの再構成が簡
略化される。結合されたリストの各ユーザノードは、特
定のユーザがそれにより記号を要求したサービスを含
む。各記号ノードに含まれるサービス・マインディング
(service minding)表は、その結合されたユーザリス
トに含まれるサービスの全てを識別する。 【0060】ユーザ・リストの各ユーザ・ノードは、図
7bに示されている情報を有する。各ノードは、ルーチ
ンSCLSUBSCRIBEでの加入者の予約メッセー
ジにおいて識別されたリターン・メールボックスと、ユ
ーザのターミナルIDと、ユーザのキーとを含む。更
に、各ノードは、そのノードに関連した記号リストヘの
ポインタと、ノードの子及び親へのポインタとを含む。
更に、ユーザ・ノードは、それ自体のサービス・マイン
ディング表を含む。このマインディング表には、特定の
ユーザが予約したサービスがすべてリスト化されてい
る。図7Aのユーザ7によって図解されているように、
特定のユーザは、ユーザ・ノードを有することが保留中
の特定の記号リクエストを有することは必要ない。 【0061】ユーザがSCLSUBSCRIBEを介し
てサービスを予約すると、モニタ・プロバイダは、ユー
ザ・ツリーを走査して、ユーザ・ノードがそのタスクに
対して既に設定されているかどうかを判断する。設定さ
れている場合には、タスクが予約している新しいサービ
スがサービス・マインディング表に追加される。設定さ
れていない場合には、新しいノードがツリーに対する葉
として追加される。 【0062】その後で、SCLSENDルーチンによ
り、タスクは、そのサービスに対して特定の記号がモニ
タされることを要求することができる。ツリーに記号を
追加する前に、ホスト・プロセッサにリクエストが送信
され、価格という形式で肯定応答をホストから受け取ら
れなければならない。同じサービス内の同じ記号が先に
要求されていなかった場合には、リクエストは、ホスト
・プロセッサに送信されるだけである。この判断を行う
には、モニタ・プロバイダは、まず、要求されるべき記
号に対する記号ツリーを走査する。プロバイダが記号の
位置を特定した場合には、サービスマインディング表を
検査して、希望するサービスに対して記号が要求された
か否かを判断する。記号及びサービスが記号ツリーにお
いて見つかる場合には、ユーザは、記号ノードに対する
結合したユーザ・リストに追加され、記号は、ユーザ・
ノードの結合した記号リストに追加される。しかし、記
号及びサービスが記号ツリーに位置していない場合に
は、ホストへのリクエストがなされる。 【0063】ホストへのリクエストがなされるときに
は、そのリクエストにはシーケンス番号が与えられ、こ
のシーケンス番号は、リクエストと共に伝送される。ホ
ストは、先入れ/先出し方式でリクエストを肯定応答
(アクノレッジ)し、シーケンス番号を戻す。肯定応答
が受け取られたかどうかを判断するために、要求された
記号は、図8に示されている追加保留中の待ち行列の中
に配置される。この待ち行列の各ノードは、要求される
べき次に続く記号を指す。シーケンス番号は、要求され
た記号と共に含まれる。更に、待ち行列の各ノードは、
リストに含まれる可能性のあるユーザ・ノードを指す。 【0064】肯定応答が受け取られると、記号ノードは
待ち行列から除去され、ユーザ・ノードに対するポイン
タは記号ツリーにおけるその記号のノードに転送され
る。記号がツリーにおいてすでにノードを有していない
場合には、ノードか設定される。さらに、ユーザ・ツリ
ーにおける結合された記号リストの中のノードが、特定
のユーザに追加される。 【0065】肯定応答シーケンス番号が乱れて受け取ら
れると、システムは、飛ばされたリクエストは不首尾で
あったものと想定し、新しいリクエストを同じ記号に対
して伝送する。記号は、新しいシーケンス番号と共に、
追加保留中の待ち行列の端に配置される。また、カウン
タが刻時される。このカウンタによって、肯定応答され
ていない記号に対してエンドレス・ループのリクエスト
がなされることを回避するために、リクエストが3回だ
け再伝送されることが可能となる。 【0066】サービスから記号を削除するようにユーザ
が要求すると、ユーザ・ツリーが走査されてユーザの位
置が特定され、その記号が、結合されたリストから削除
される。次いで、記号ツリーがその記号に関して走査さ
れ、その結合されたリストからユーザが除外される。さ
らに、結合されたリストが走査されてユーザの位置が特
定され、そのユーザが、特定のサービスに対する前記信
号を含む最後のものであるかどうかが判断される。そう
である場合には、当該サービスは、記号ノードマインデ
ィング表から取り除かれる。その後、記号ツリーを走査
して特定のサービスが信号に関して保留されているかど
うかを判断する際には、マインディング表は更新ずみで
あるから、結合されたユーザ・リストを走査することは
必要ない。削除されたユーザが結合されたユーザ・リス
トにおける最後のノードである場合には、記号ツリーか
らノードが完全に削除される。また、削除リクエスト
が、ホストプロセッサに送られる。 【0067】削除リクエストがホストによって適正に受
け取られて処理されることがない場合には、システム
は、将来において、分配されることをホストが期待する
更新情報を将来受け取ることがありうる。記号ツリーを
走査して前記データのユーザの位置を特定する際に、対
応する信号ノードの位置が特定されることはない。その
ような場合には、削除リクエストは、再びホストブロセ
ッサに送られる。 【0068】ホストから情報が受け取られるときに記号
が記号ツリーの中に見つかる場合には、結合されたユー
ザ・リストが走査されて、特定のデータを受け取るべき
ユーザが識別される。データは、ユーザ・ツリーを走査
することによって決定される適当なメールボックスにお
けるこれらのユーザに送られる。 【0069】ユーザ・プログラムがSCLCANCEL
ルーチンを呼び出し、取消メッセージをモニタ・プロバ
イダに送るときには、そのユーザに関連する記号の記号
ツリーをクリアするために、ユーザ・ツリーが要求され
る。ルーチンからメッセージを受け取ると、ユーザ・ツ
リーがそのユーザを求めて走査され、結合した記号リス
トを走査することにより、記号が識別される。次いで、
記号ツリーがこれらの記号を求めて走査され、ユーザ
は、結合されたユーザリストから除去される。再び、ユ
ーザがその記号に結合されるべき最後のユーザである場
合には、記号は記号ツリーから除去され、削除リクエス
トがホストまで送られる。 【0070】ブロック取引記号btはサンプル・ツリー
のいずれにも含まれていないことが注目できる。その埋
由は、ブロック取引サービスが放送(ブロードキャス
ト)サービスであるためである。ブロック取引サービス
は、市場モニタ・データを用いて符号化されるために、
モニタ・プロバイダだけによって処理される。しかし、
放送サービスとして、ブロック取引は、ユーザを加入者
リストに追加するAPIルーチンPRVSUBSCRI
BEと、データをリスト化されたユーザに分配するPR
VSENDとによって、簡単に処埋される。 【0071】以上では、本発明を好適実施例を用いて示
し説明したが、この技術分野の専門家であれば、特許請
求の範囲に規定した本発明の精神と範囲とから逸脱する
ことなく、形態や細部において各種の変更が可能なこと
を理解することができるであろう。例えば、本発明は、
基本的には、1つの処埋ユニットにおいて複数のタスク
が実行されるマルチタスク・システムに関するものであ
るが、これらのタスクを、本発明のある種の特徴を依然
として含めながら、他の処理ユニットに分配することが
できる。更に、本発明は、非市場データへの応用も有し
ている。
Description: BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to various types of data.
Data processing with means for receiving data
In the system, data from the provider task is
The data is distributed to multiple subscribing user tasks.
How to distribute. [0002] A local computer is a remote database.
To a large amount of information by communicating with
Access is possible. Most remote databases are
Much more possible on any local computer
As a central storage house for information
Can work. [0003] Walsh Greenwood Information
Waltion Greenwood Informatio
n Systems, Inc.)
Social Information Services (Wang F
inancial Information Services Corporation)
Detached databases are available to stock markets and other financial institutions.
The information is for information only. This database is
Real-time deals, in-store quotes, options, products,
Market information, including futures prices, fixed income data and news
Includes holdings of organizations and organizations. This database
Means that the booked computer generally has three services,
I.e. access to broadcast, inquiry and monitoring
To do. In the case of broadcasting, information is continuously transmitted to the user.
It will be broadcast to For example, New York
A stock exchange quote display service in New York
All trades performed on the stock exchange are executed
Will be communicated to all subscribers. Other broadcasting services
The Dow Jones News Service
(Dow Jones News Service) and Reuters News
Headlines received from the service (Reuters NewsService)
There is a news headline service that scrolls through. Ma
Dow Jones News Service and Reuters
・ All news items from News Service are subscribed
To the public and the news as the news is released.
Scroll through source items. [0005] Also, database subscribers may be able to access certain queries.
It can be performed. For example, a subscriber may have
And store the relevant stock in the database
You can receive the current information quickly.
Also, news items of interest identify information of interest.
By issuing a request containing a particular identifier symbol
Searchable. [0006] Finally, the subscriber has access to a remote database.
Monitor all information entering the database and provide subscribers with
You can request that only data of particular interest be transmitted.
Once again, the subscriber can access the database
To communicate [0007] Walsh Greenwood Infome
Communication Systems is for communication with personal computers
Was configured to. Therefore, the address of each communication line
In contrast, there was exactly one user. Each PC has a specific security
Appointment services and appropriate for these services
You just have to pay a special fee. Which service is
Whether the network allows the computer to use it
Send messages to each computer on each line
Configuration and confidentiality are controlled by the network's host processor.
Was treated. This allows for accurate accounting and calculations
Provided enough control to. SUMMARY OF THE INVENTION A multi-user system has a central
Many terminals connected via computer and database
Has a single communication line to the host computer
be able to. Various users in this local system
The user can reserve various services. In that state
The remote database has an accurate file for each terminal.
Needs to be maintained. In addition, a remote database
Transmits data to all subscriber terminals along a single communication line.
To the terminal that transmits, reserves, and makes a specific inquiry
Multi-user for proper distribution of data
・ It is necessary to depend on the system. The present invention is directed
Is such a multi-user system. Properly incoming data for a large number of users
Local multi-user system to distribute
Keeps a record of the booking and a record of a particular request,
Incoming data needs to be multiplexed to individual users. this
Important tasks are performed from remote databases to individual users.
Information must be achieved without unacceptably late
It is necessary. Eliminating the lag is an important part of stock market information.
Especially important in the case. One feature of the present invention is that
Various types of information so that information can be distributed quickly to
It is in. A particular mode of request from many users
Tracking nitration can be cumbersome. The present invention
According to one feature of the first provider
Task is the flow of incoming data from a remote database
Multiple data by the data type corresponding to each service.
Divide the flow. Do not monitor requests
The data flow selected in response to the
It is transmitted directly to the user's task to reserve it. Only
However, certain monitoring requests may be
Transferred to the task. Then, the provider
Tasks respond to specific monitoring requests
Split the data stream into separate data streams, and
Transfer the data flow of this to the user task. like this
In addition, simply broadcast to the user or specific, referrals
The data resulting from the
To deal with more time-consuming data distribution.
You don't have to be delayed by the tasks you need. Also,
2 provider tasks are needed for specific classes of data
Decryption can be performed. Certain queries, such as searching for news, are
Can be handled by another provider task
You. The data of the class is the monitoring request
Does not require extensive data processing based on
Require sufficient additional processing to guarantee individual tasks.
May be needed. However, quotes are sent to the first provider
It is preferable to handle by task. Users typically
Get a response very quickly in response to quotes
The first provider task
The handling of the association is not so troublesome. [0011] The information received from the database is distant.
Provided by remote databases or to all subscribers
Specific files created by local software
Format typically needs to be displayed. You
Data received by a program developed by
Access is typically limited and available
Case access requires specific programming skills and effort
Have been. Such access is on a real-time basis
Did not get. Another feature of the invention is that the provider
The data path between the task and the user task
Code modules connected to the user task
Is to be set by the Each data path is a single
Specific types of data to be transferred to the user.
The common code module contains various data reserved by the user.
Simplifies access to data types and
Operating system for a multitasking system.
Isolate from system fluctuations. operating system
Some programming variation that requires variation in
All by modifying common code modules
Can be processed for this program. Forwarded to each user
A clear data path for each type of data
This makes it easy to enter local reservations, and
Can be stopped for specific services and user programs
The ram may have access to a particular service at any point.
Resources can be restricted. Thus, the internal message
Communication traffic can be minimized. While waiting for data from the database
The amount of time the user program needs to be used is
Waiting squirrel monitored by the operating system
Can be minimized by setting The waiting list is
For each type of data for each user's task
Contains the mailbox address. The mailbox
Through the operating system to user tasks
Inform the task about the data being transferred.
You. The operating system makes each program independent.
No need to stand up and cycle through wait routines
Speeds up data distribution. Rather, the operability
System waits for many events at the same time,
Then, anything that occurs first is buried. The above functions
Are generally written in higher level languages.
Cannot be used for glamor,
Are enabled by a common code module. A data path between a provider and a subscriber
When setting, for each user task from the configuration file
Configuration list can be set. Each configuration list contains each type of
Provider tab to which requests for data are forwarded
Screen mailbox name and the task
Include instructions on whether or not to access
No. In addition, each configuration list shows that a task is
Data provider. Common code
The specific routines of the module provider are
Is restricted to a single task. Further, using a common code module,
You can set a waiting list for provider tasks.
The provider task is a request from the user task
No need to repeatedly test whether it is being made
But the operating system is simply
Monitor the provider's task mailbox against
Just do it. Also, the provider task is responsible for each service.
Provider so that you can identify each mailbox
Create a configuration list for a task. Data to subscribers
To facilitate distribution, each provider must provide
Set up a subscriber list for
The user who generated the data path can be identified. During startup of the system, the first provider
Of tasks include the information contained in the configuration list
Preferably for all other tasks. First
Only provider tasks are received from remote databases.
Access configuration files containing trusted customer access information
Access. For example, providing a monitoring service
Provider such as the second provider task described above
Tasks are independent requests from different users
Data from a remote database
You should not do quests. For this purpose
In addition, the provider task is a specific
Receive data requests and identify user tasks
Compile information that correlates to a data request
For each data request, the provider has a separate task
Whether similar requests are pending for
I do. Only if no similar requests are pending,
Certain data requests are forwarded to a remote database
You. The data is then received from a remote database.
When the provider receives the information from the compiled information,
Detects all user tasks that have requested the received data,
Data is transferred to these user tasks. Information is
Generate and compile user and symbol trees
Preferably. Each user node in the user tree
Is a list of symbols identifying the data requested by the user
Turned to Each node in the symbol tree is represented by the symbol
Indicate the user who requested the data to be displayed. The above and other objects, features and features of the present invention.
Advantages and advantages of the preferred embodiment of the invention as illustrated in the accompanying drawings.
It will be clear from the following detailed description. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS The present invention provides a multitasking, multitasking,
Regarding the user data processing system, for example, Wong
V from Laboratories, Inc.
It can be implemented for the S system. In FIG. 1, block 2
0 is the entire operating system of the multitasking system
Figure 2 shows the system. Operating system
Is provided with a number of clear programs,
Share the operating system and
Complete the disc independently. For example, three user programs
The rams 22, 24, 26 are shown. Each user / pro
Grams are stored at respective computer terminals 28, 50 or
Is associated with 52. Inside each user program
Is called the multitasking multiuser of this system
The properties are not visible to the user. But communication between tasks
Data through the operating system.
Specific steps must be followed to set up
You. The present invention provides a remote database host
Transfer of the request to the computer 54 and the computer
And the return of data from Host computer
Hosts, such as Dow Jones or Spectrum I
Institutional Holdings (Spectrum I
All stock trades and numbers (like nstitutional Holdings)
On a number of data lines connecting to ancillary services
Collect real-time trading and market information. This information
Is a real-time stock trading, storefront, option, product
Transaction and fixed income data as well as news and
Including holdings. The remote database 34 and the user program
All communications to and from the primary 22, 22, and 26
Processed via the provider task 36. This task
Provides the data to the reserved user. Primary provider
DA 56 sends and receives data along the telephone line
Includes conventional communication software. The primary provider 56
Also, regarding what type of data is being received
First detection must be performed. For details, see Primary Provider
Will provide specific data services of which the data is a part.
To detect. The primary provider makes the initial distribution of the data
Do. All to all subscribers of the service
Most of the broadcast class data
And transmitted directly to the individual subscribing users. This class
Service is Dow Jones New Service
(Dj), New York Stock Exchange (tk), New York
Headline (nh) and Reuters New
-Includes service (rt). Figure 1 shows these broadcasting services.
Data from PIS to user programs 24 and 26
An example of the transfer path is shown. These transfer paths
Once the data route is established, the remote database
What further requests from the user program
Since they are not required, only one direction is shown.
Other data services are more complex on the provider side.
Requires logic. The primary provider is
To avoid overloading the distribution of data from
Additional tasks 38 and 40 are provided to
I have. In this example, the query class service
A copy of the data is provided by the primary provider
38. For example, the new Dow Jones
In search service (m), the remote database is the user
Specific identifiers transmitted to the database by
Respond to specific queries for news items. Inquiry pro
The binder 58 first communicates these from the user program.
Request received, similar request already pending
And if a similar request is pending
If not, route the request through the primary provider.
And transfer it to the remote database. From the service
All transferred data is provided by the primary provider 56
It is directed to the inquiry provider 58. Next, the inquiry provider
Damas examines its own records and makes the request.
The program and identify the response data exactly as
Transfer to the user program. In the example shown in FIG.
User program 22 only finds Dow Jones new search
I have subscribed to the service, but the utility of the referral provider is
Increase bookings and inquiry queries from other user programs
It increases with the number of Russ services. The last class of service is the host
Specific information for the information that the computer
Monitor data based on requests. Remote data
The base receives all data as received from that source.
Monitor the data and select the data for which the request is pending.
Select. The data is then forwarded to the requesting user
Is done. Thus, the service's monitor class is queried
Open. The monitor provider is a user
Request from the query provider and the referral provider
Just as if the request was already pending.
To a remote database that is not Most remote
Databases allow multi-user systems to be
A specific item of data in a multi-user
Transmit to the stem. When the data is received, the monitor
・ It is led to the provider. Monitor Providers
Record, and which user program needs the data
Request and determine if the user program
To the system. Market monitor data is stored in a compressed format.
Encoded in a mat. The primary provider receives
Certain data is in a market monitoring format
Only in the encoded format.
Data (mm) to monitor provider 40
You. The monitor provider then decrypts the data
And request it as one or more of the three services
Leads to a user program that has Basic market monitor
Ring Services (mm) is the price of each stock of a particular stock
Respond to fluctuations. The selected market service (sl) is stock
Respond to each transaction in the formula and identify the volume and amount of that transaction.
You. Block trading price (bt) is all above 10,000 shares
Identify transactions. Block transactions are actually broadcast classes.
Service, but with market monitoring services
The monitor is encoded by the host computer.
-It is most efficiently decoded by the provider. Further
In the future, block trading will be even more selective service
Is expected. As shown in FIG.
All services received from remote databases
3 user programs depending on the same data flow
You can make individual reservations for selected services
it can. Query class, but primary provider completes
A stock quote (qt) service is a service for all processing.
is there. Users can quickly get stock quotes
And the current system demands
Minimize the number of transfers and the number of data returned via the computing system
To facilitate quick return of market data
You. In each direction due to using a referral provider
Are eliminated. Primary provider shares
A quote request to the primary provider
Transmitted together with a sequence code identifying the same. C
Kens Code is a request for first-in / first-out storage.
Stored together with the identifier of the user program. Remote de
The database stores the data in the same order as it was requested.
And return the same sequence code with the data.
The primary provider then matches the sequence number
As long as the data identifies it from first-in / first-out storage
To the requesting user task. C
If the can number is skipped in the return data,
The next provider will either make the request again, or
Tell user program that request should be made
Can be notified. With the basic user program,
Users can request specific requests within the scope of the
Perform quests and properly display returned data
Become like However, unique proprietary, especially suited to specific needs
It is thought that the user wants to develop the program
It is. In fact, the user, as a very small part,
Programs that need to get stock market information
You might want to develop. Pension management
・ The program is an example of such a program.
U. In the past, stock market services and other data
Retrieving information from the database is flexible for programmers.
Allows little flexibility and remotes custom programs
Making it difficult or impossible to connect to a database. Book
The invention is based on the application program interface.
Source (API) to facilitate such communication.
You. This API is a function of the operating system
To make the most of the
Tasks by minimizing programming
This makes it easier to set a data transfer path between nodes. [0027] The API includes user and provider tasks.
Of subroutines that can be linked to any of
Module. API code module
When linked to a user program, the program
Simply call a routine to set up a data transfer path
Only need. Users should be able to access the underlying operating system
Need to know about system capabilities and requirements
Absent. For those, when developing the code module
Is already taken into account. In addition, user
Programs are shielded from operating system fluctuations.
Refused. The system designer must
Appropriate API code module using system variation
Change to The API code module is
Interface to the operating system
Provide the greatest benefit when using
It is also used to interface scene tasks. This
Using the method, the system designer can
API code mode when making changes to the
All you have to do is modify the Joule
The screen does not need to be modified. The specific API code module described below
Another advantage of rules is that mailboxes can be created and
Messages to those mailboxes.
Wang VS system message between tasks (I
TM) function may be fully utilized. Wong VS
On systems, the task is the operating system
Port or mailbox in the P list
Can be "struck itself". Book
In the system according to the invention, these P-lists are
The waiting list created by the code module
You. Operating system monitors P-list
And a message is received at a port in the P list
Then, the task related to the P list is notified. The result
As a result, a task program is an event (event)
It is not necessary to keep operating when waiting for the occurrence of an elephant. Oh
This feature of the operating system is
Program to monitor data requests from
From the host computer for the binder task.
User program to monitor data reception
On the other hand, it is particularly useful. When is such an event
Can also occur. The intertask communication has three types of lists.
By setting to the API code module
Processed more efficiently. 2 and 3 show the primary probe.
4 shows an exemplary list for Ida and User2.
Each task that communicates via API code module
Can be configured via the API routine with the configuration list and the waiting list.
Set. In addition, each provider task
Set up a subscriber list for each service offered
You. Before setting any data transfer path
First, the provider or user task is the primary
The configuration list needs to be obtained via the binder. Constitution
The list contains a service code for each available service.
Including code. In addition, a configuration list is provided for each service.
Before the specific task (indicated by P in the list)
Indicates whether or not the service provider. Tas
If the task is not a provider, the list will
Indicate whether you have access to the service (yes
Is Y and no is N). Each class has I
TM port or mailbox address provided,
There, the message requesting the service is forwarded
Is done. User completes request to provider
Before doing so, the provider searches its configuration list
I have to do it. Its access provided to the list
The provider based on the
Ida is on the operating system wait list.
List mailboxes that should receive requests
Request for a specific service
Providers should be set up to receive. No.
In Figure 2, for each service on the waiting list
The available state indicated by the primary provider is on the waiting list
Is ready to receive requests for each service
Indicates that As mentioned above, the waiting list is
Operating system in S system architecture
This is the p-list of the program. Once the waiting list is API code
Module, the provider program
System continues to monitor the mailbox for each service
Need not be. Rather, this clever work is on the waiting list
More handled by the operating system. [0032] The provider provides a subscriber resource for each service.
And set the list in the configuration list (* in FIG. 2).
Point) for each subscriber list start address
Data. Also, the user can use the API routine
Set the operating system wait list.
Users will have their own access to each service they have access to.
A body user port may be included. Then,
The user will receive a mailbox for the data returned from the provider.
Acts as a box. The waiting list receives the data
Includes each expected mailbox. Waiting
Each mailbox in the list is enabled or ready.
Can be set to any of the
The system is the data transferred to the available mailbox
It only notifies the task. To make a reservation for a service, the user must enter the AP
Search the configuration list in the I routine
To get the email box address. Through the routine,
Next, as shown in FIG. 5B, a reservation message is formed.
And sends the message to the specified provider mailbox.
To the office. Then the user receives the message
Operating system through a configured user port
Wait to be notified by. The reservation message is
The provider task menu is provided by the operating system.
The provider task is forwarded to the
The page is notified that it has not been received. Next
The provider processes the reservation list and returns the user
Service box and other data for the service.
Service provider's subscriber list
Good. The other data mentioned above is the subscriber's workstation
Number, user I. D. And a key. In the configuration list, for each service,
By defining a special provider mailbox,
In this system, each user program is reserved by the user
Independent data paths for several services
Make it configurable. Host processor is customer
(Customer) contains a specific user program
Access to data for specific services.
Is acceptable, but in the local system,
Some users have failed to make a reservation or
Either at any time without affecting the screw
May cancel your reservation for this service. So
Results in internal messages passing through the operating system.
Storage traffic can be minimized. Host
The processor is the user in the local system as a subscriber.
Does not inform the status, and therefore the reservation in the system
And revocation do not affect the user's customer status. To speed up access to configuration information
A clear configuration list for each task in the system
Generate Each class has an operating system
Transfer further data from the configuration file through the
Efficient access to the list without need
Can be acquired. But for every task
Multitasking system with easy access to global memory
In the system, no individual configuration list is required.
Rather, the information can be obtained from a central file. I
However, each task has the properties specified by the system.
Ida mailbox addresses and each available service
Immediate access to unique access information
It is important to have access to Configuration / Standby and subscriber list and data
API Sourch to transfer data efficiently
A more detailed explanation of how to create
You. First receive all information from remote database
Primary provider 56 is a remote database
A central program for initiating programs for transfer from
It has not been selected as a program. Primary provider's
As part of the initial processing, a configuration called CNFINIT was opened.
Call the start APT routine. CNFINIT is a disk
Read the configuration file from the storage device. Primary provider is
In addition, the communication line is started. Host computer 34
Detects that the line is in use,
By sending a service list for the customer
Respond. Primary provider from remote database
And information received from the disk storage device
To create the configuration file shown in FIG. The first item in the configuration file contains the data
A key for each task to be included in the transfer. Real
The key is a logical name for recording the configuration of each task
It is a name. Keys PRIPRO, INQPRO and MON
PRO is a primary provider, query provider and monitor
-The name given to each provider.
Another key, ADMIN, is specific to the particular needs of the system.
Implementation of the back-office management program, if required
Allow lines. Such a program has a key specification
And services by specific tasks and workstations
Access to the area. The files associated with the first four keys of the file
The program is typically a provider program that runs in the background.
It is a program. In addition, three additional keys, US
ER1, USER2 and USER3 are the three shown in Fig. 1.
Of each user program.
Of course, this system is not
It is not limited to grams. These programs
Is typically a subscriber, foreground
Calculation or not. The terminal ID field is stored in a remote database.
Is an identifier for knowing each user in the system.
You. Databases grant rights to specific services
For each service, identify
Charge. Only user tasks need terminal IDs
But the reason is that only genuine consumers of data
Because it is. The supplier can simply store the remote database.
The terminal ID is not required.
The terminal ID also acts as an alternative key. Far
The remote database does not know the first key and the terminal
Send the configuration record tagged by ID. Terminal
The ID is the ID of the new or expanded service
When requesting a resource, assign it from a remote database.
Can be When each task is initialized, a task number
Is sent to the primary provider along with the key. State file
Field indicates whether a key has been used and
The work in which the related task is used
The station number is also indicated. The status field is the background
Can indicate that the task is running. Work station
Option fields are used by administrative programs.
May use certain keys and corresponding privileges
Limit available workstations. The key is
Workstations indicated by an asterisk
Or from a list of options
Can be limited. In the lower part of FIG. 4, the service field is
Has been deployed. This list of fields is for each key
In contrast, for each of the defined services,
Define related program roles. The program is
One of three roles for a given service
Can have. It may have full reservation privileges (Y)
it can. Service (P) provider or service
It is possible that there is no right to the service (N). Far
Subscriber rights granted by the remote database are
Indicated by y for accepted reservations and n for denied reservations.
Shown and oval by local administrative program
Can be controlled. The role of the provider depends on the system designer.
Defined. During CFNINIT, the primary provider 3
6 is also available from the disk storage device to the provider mailbox.
Get a file. Professional for each service
The binder mailbox is shown in FIGS. 2 and 3.
So that it is later included in each configuration list for each task.
Provider mailbox file and configuration list
Using the information from the primary provider, the API code
・ The configuration resources to be used by each task using the module
Build a prototype of the strike. Prototype configuration
The list contains one record for each defined service.
Records, and each record is a mailbox of the service provider.
Including box. This mailbox is the ITM port name
It is. Configuration file and prototype configuration list
With the primary provider, SCLINIT
Call up your own personal configuration list
generate. By providing that key PRIPRO
Primary provider, based on the prototype list,
Access code from configuration file for each service
Take P, Y or N and get its configuration list.
When P is indicated for a service in the configuration list
The provider, as a mailbox, a configuration list
Set the provider mailbox indicated in the
I do. Providers also provide subscribers with each service.
Set list and set current list size to zero
You. In addition, each set by the provider program
Mailboxes are used for tasks that act as waiting lists.
On the other hand, the operating
It is placed in the system's p-list. In the waiting list
The waiting state for each provider's mailbox is used.
It is set to a usable state. Finally, the primary provider
The program calls API routine SCLWAIT
To the operating system,
One of the available mailboxes on the waiting list
Wait for instructions that the message has been received
To inform. When the primary provider is initialized,
Is also initialized. To this end, each task is
By calling the PI routine SCLINIT,
Set the operating system wait list.
As shown in FIG. 3, the waiting list initially has three false
Similar services, emergency (em), work
Including station (WS) and timer (tm)
Can be. Emergency port is high on the waiting list
Task receives urgent message in priority order
Be able to do it. Workstation service
The user program uses the API code module
Workstation using the waiting list set by the
Wait for an upcoming event at the terminal
To be able to This fake service allows you to
The program, for example,
While waiting for a vent to occur at the terminal, the data
You do not need to delay receipt Finally, a pseudo-timer
The service allows the program to go through a waiting list
It is possible to set a timer. Therefore, you
How long the program waits for other events to occur
It becomes possible to be able to limit. During the SCLINIT routine, the task
Also provide the information needed to reserve system services.
Get the configuration list to serve. Tasks have their configuration list
From the primary provider task,
The API subroutine is that all tasks follow this
The default mix configured as a user of the configuration data
It has a configuration list. The user enters the mailbox "c
fcf "to reserve configuration data with the primary provider
You. The configuration reservation message is sent to the primary provider
Operating box when the toolbox "cfcf" is reached
System in the SCLWAIT routine
Call the next provider. Mailbox "cfcf"
In response to the reservation message for configuration data in
The provider will provide the user key provided in the booking message
To obtain an appropriate record of the configuration file using
A copy of the type's configuration list contains each service for that key.
Attach an appropriate access code to the service. Primary provider
Da Reserves Customized Configuration List Mailbox
, Return to $ 20cf and change the master configuration file
Update to indicate that a particular key is being used. Using the SCLINIT routine individually
By the way, each task is a complete configuration list and empty
But Emergency, Workstation and Timer
Having a waiting list for fake services
Can be. The data path shown in FIG. 1 is not yet set
Absent. To set up a route, each provider has a routine
PRVOPEN is called, and the routine is initially empty.
Set a subscriber list that is Automatically PRVOPE
During N, both provider tasks and subscriber tasks are
Call the routine SCLOPEN. Routine SCLOPE
Call N. Provision by routine SCLOPEN
The task is the service specified in the configuration list.
Set that mailbox to be open to
In addition, the subscriber task saves the mailbox, for example,
Added task count and service code like 20gt
Set to something. Specific tasks for the service
Any future messages received by
Received in the designated mailbox. A task is a subscription to a service.
Act as a provider of services and other services. An example
For example, a monitor provider may provide a market monitoring service.
Subscribers for SM and market monitoring services
Smm, select kanba service and block trading service
Act as a bt provider. Similarly, the query
Ida is a subscriber to the news search service NR and
The provider of the news search service nt
You. Individual SCLOPEN routines for each service
Need to call. In the SCLOPEN routine, the
Is placed on the waiting list for the task
But set to "negative". Next, the provider
The task waits by retrieving SCLLISTEN.
A specific mailbox in the list is enabled.
Is The subscriber task typically starts with the routine S
Call CLSUBSCRIBE. According to the routine
The reservation person constructs a reservation message as shown in FIG. 5B.
And sends the reservation message to the professional
Transmit to binder mailbox. Subscriber messages are
Return mailbox for the service at the subscriber
And whether the message is a subscriber or a cancellation
And a flag to indicate. The message also contains the task number
Provider, including issue, user ID and user key
Adds the subscriber to the subscriber list for the service
To respond to the message. Next,
Entrants typically enter SCLLISTEN by entering
The associated mailbox on the waiting list is available
Set. In the subscriber mailbox by the provider
The returned data is then intercepted in the mailbox.
API routine SCL for the user to obtain the information of the deviation
It can be read by inputting READ.
However, usually the user enters the routine SCLWAIT
To one of the mailboxes in use for that
Operating system when an event occurs
A signal is sent to notify that effect. Once the user has reserved the service, the AP
SCLSEIND routine in I code module
A particular resource in a remote database via a provider.
Can perform quests. Use this routine
And the user program becomes as shown in FIG. 5A.
Generate a message. FIG. 5A shows the service and the specific
Flags and messages appropriate for service and request
Including sage. Under SCLSND, the provider's
The mailbox is obtained from the subscriber's configuration list,
One message is sent. Message depends on provider
Inquiry provider or monitor provider
, The provider is transmitted to the primary provider and
Custom messages to be transmitted to the remote database
generate. SCLO is the primary message
Through the PEN and SCLSUBSCRIBE routines,
You can send the previously set route. Finally, if the data is the host processor 34
Once received by the provider, the provider
The data must be sent to the user who has booked it. Prova
By calling the PRVSEND routine,
The provider will provide a reservation list for a particular service on Saturday,
And sends the received data to the subscriber. Alternatively, moni
Providers such as data collectors can access data via their own internal lists.
To detect mailboxes that need to transmit data
Can be. In addition to the routine described above, for example,
SCLTRM, SCLSUB, which is the opposite of Sclinit
SCLCACEL which is the opposite of SCRIBE, SCLLI
SCLIGNORE, which is the opposite of STEN, and SCL
Reverse approach like SCLCLOSE walking in reverse of CPEN
There is. The additional function SCLLIST allows the user
SCLWAIT for events defined by many users
Can be added to the waiting list to use. work
This fake service like station fake service
(US) may delay receipt of incoming data
User program can eliminate tedious waiting processing
To do. The detailed description of the monitor provider task
The following is provided with respect to FIGS. Monitor pro
Bida is a market monitor, selection quote and block trading service.
Need to save subscriber list for each of the services
In addition, the host should monitor specific market codes.
Forward specific request and receive from host
A list of subscribers to ensure that data is properly distributed
Needs to be correlated to the generated code. For that purpose
Thus, the monitor provider has the symbol tree shown in FIG.
It depends on the user tree shown in FIG. 7A. Each tree is 2
Hexadecimal threaded tree,
It additionally contains a pointer to the linked list. In the case of a symbol tree, each node of the three is:
Specific security being monitored (confidential, securities)
Identifies a symbol that acts as an identifier to Each of the tree
The node is responsible for the user who has requested information for the symbol.
Orient the combined list. In the user tree
Each node of the tree is
Service for each of the nodes
Is the combination of symbols being monitored for the user
Oriented lists. Coupled to each user node
For each symbol in the list, the symbol tree contains
There is a corresponding symbol node. The user tree contains additional user tasks.
As they subscribe to monitor provider services
Grow. The signal tree is used to identify specific requests within each service.
As the number of birds increases, they grow. In each case,
First user to reserve or first signal to be requested
Acts as the root of the tree. afterwards
Whether the alphabet value of the new node is low or high
Therefore, additional nodes are added to the left or right of the predecessor node.
Be added. Thus, alphabetically the symbol tree
At the root of the symbol MMM. All symbols preceding N
Found on the left side of Lee. Using a binary tree
Allows you to search the list for specific items
Is significantly reduced. 20 users
Or 50 symbols per user are listed in a tree
This search time is especially important when searching for Each node of the symbol tree is listed in FIG.
Includes information that has been Each node has a security symbol
And the conditions under which that security is traded, and from the host
Including the most recent price received for the security.
No. In addition, an entry on the user list associated with the node
It also contains a pointer to the end user. Combined
Pointers to each of the lists and in such a list
Is indicated by a dotted arrow in FIG. 6A. Combined
List is added to the list,
Double-bonded to facilitate removal and. each
Pointers to the left and right children of the node are the parent of the node.
Is provided with a pointer to These poi
6A are indicated by solid arrows. By pointer
Tree threading to the parent
Easy tree reorganization when adding or removing symbols
Abbreviated. Each user node in the combined list has a special
Include services for which certain users have requested symbols.
No. Service minding included in each symbol node
The (service minding) table shows the combined user list
Identify all of the services included in the list. Each user node in the user list is
7b. Each node is a root
Subscriber reservation message in SCLSUBSCRIBE
Return mailbox identified in the
It contains the user's terminal ID and the user's key. Change
In addition, each node has a list of symbols associated with that node.
It contains pointers and pointers to the children and parents of the node.
In addition, the user node has its own service
Includes a trading table. This binding table contains a specific
All services reserved by the user are listed
You. As illustrated by user 7 in FIG. 7A,
Certain users are pending to have user nodes
It is not necessary to have a specific symbol request for. [0061] The user can use SCLSUBSCRIBE.
When you book a service, the monitor provider
Traversing the tree, user nodes are assigned to the task
It is determined whether or not it has already been set. Set
If so, a new service reserved by the task
Is added to the service binding table. Set
If not, a new node leaves the tree
Will be added as Thereafter, according to the SCLSEND routine,
Tasks are monitored by a specific symbol for that service.
Can be requested. Sign on tree
Request sent to host processor before adding
Received an acknowledgment from the host in the form of a price
Must be done. The same symbol in the same service comes first
If not requested, the request is
It is only sent to the processor. Make this decision
In the first place, the monitor provider must first write
Scan the symbol tree for issues. Provider is the symbol
If the location is specified, check the service
Inspection, required symbol for desired service
It is determined whether or not. Symbols and services appear in the symbol tree
If the user finds
The symbol is added to the combined user list and the user
Added to the combined symbol list of the node. However,
If the issue and service are not located in the symbol tree
Is a request to the host. When a request is made to the host
Will give the request a sequence number,
Is transmitted together with the request. E
The strike acknowledges the request on a first-in / first-out basis
(Acknowledge) and return the sequence number. Affirmative response
Requested to determine if
The symbol is in the add pending queue shown in FIG.
Placed in Each node in this queue is required
Indicates the sign following the power. Sequence number is required
Included with the symbol. In addition, each node in the queue
Points to a user node that may be included in the list. When an acknowledgment is received, the symbol node
Removed from the queue and pointed to the user node
Is forwarded to that symbol's node in the symbol tree.
You. The symbol does not already have a node in the tree
In that case, the node is set. In addition, user tree
Node in the combined symbol list in the
Of users. Acknowledgment sequence number received out of order
The system will fail the skipped request
New request to the same symbol
And transmit. The symbol, along with the new sequence number,
It is placed at the end of the pending queue. In addition,
Is clocked. Acknowledged by this counter
Endless loop request for unsigned symbols
3 requests to avoid being done
Re-transmission. The user is asked to delete the symbol from the service
Request, the user tree is traversed and the user's
Location is identified and its symbol removed from the combined list
Is done. The symbol tree is then scanned for that symbol.
And the user is removed from the combined list. Sa
In addition, the combined list is scanned to locate the user.
User and the user is
It is determined whether or not this is the last one that contains a number. so
If the service is a symbol node
Removed from the routing table. Then traverse the symbol tree
Whether a particular service is pending for a signal
When deciding whether to update your minding table,
So, scanning the combined user list is
unnecessary. User list to which deleted users are combined
If it is the last node in the list,
Node is completely deleted. Also, delete request
Is sent to the host processor. The deletion request is properly received by the host.
If it is not torn and processed
Expect hosts to be distributed in the future
Updates may be received in the future. Sign tree
When scanning to locate the user of the data,
The position of the corresponding signal node is not specified. That
In such cases, the removal request will be
Sent to Sassa. Symbol when information is received from the host
Is found in the symbol tree, the combined user
The list should be scanned to receive specific data
A user is identified. Data traverses the user tree
To the appropriate mailbox as determined by
Sent to these users. If the user program is SCLCANCEL
Call the routine and monitor the cancellation message
When sending to Ida, sign the symbol associated with the user
A user tree is required to clear the tree
You. When a message is received from the routine, the user tool
Lee is scanned for that user and the combined symbol s
By scanning the symbols, the symbols are identified. Then
The symbol tree is traversed for these symbols and the user
Is removed from the combined user list. Again, Yu
If the user is the last user to be associated with the symbol
The symbol is removed from the symbol tree and the delete request
Is sent to the host. The block transaction symbol bt is a sample tree.
Note that it is not included in any of the above. That buried
The reason is that the block trading service broadcasts (broadcast
G) Because it is a service. Block trading service
Is encoded using market monitor data,
Handled by monitor provider only. But,
As a broadcast service, block transactions allow users to subscribe
API routine PRVSUBSCRI to add to the list
BE and PR to distribute data to listed users
With VSEND, it is easily processed. In the above, the present invention has been described using a preferred embodiment.
However, if you are an expert in this technical field,
Depart from the spirit and scope of the present invention as defined in the claims.
Various changes can be made in form and details without any
Will be able to understand. For example, the present invention
Basically, multiple tasks in one processing unit
Is a multitasking system where
However, these tasks are still subject to certain features of the present invention.
Can be distributed to other processing units while including
it can. Furthermore, the invention has application to non-market data.
ing.

【図面の簡単な説明】 【図1】本発明を実施したシステムのソフトウエア・ア
ーキテクチャのブロック図である。 【図2】図1に示すシステムの適用プログラム・インタ
フェース(API)の共通コード・モジュールによりプ
ロバイダ・タスクメモリに記憶した構成リスト、待機リ
ストおよび加入者リストを示す図である。 【図3】APIによりユーザ・タスクメモリに記憶され
た構成リストと待機リストとを示す図である。 【図4】一次プロバイダのタスクによりAPIを介して
検索される構成ファイルを示す図である。 【図5】図5A及び図5Bで構成され、APIにより転
送されるメッセージのメッセージ・フォーマットを示す
図である。 【図6】図6A及び図6Bで構成され、図1に示すモニ
タ・プロバイダにおける記号ツリーのデータ構造を示す
図である。 【図7】図7A及び図7Bで構成され、モニタ・プロバ
イダにおけるユーザ・ツリーのデータ構造を示す図であ
る。 【図8】モニタ・プロバイダにおける追加保留中の待ち
行列を示す図である。
BRIEF DESCRIPTION OF THE DRAWINGS FIG. 1 is a block diagram of the software architecture of a system embodying the present invention. FIG. 2 is a diagram showing a configuration list, a waiting list, and a subscriber list stored in a provider task memory by a common code module of an application program interface (API) of the system shown in FIG. 1; FIG. 3 is a diagram showing a configuration list and a standby list stored in a user task memory by an API. FIG. 4 is a diagram showing a configuration file searched through an API by a task of a primary provider. FIG. 5 is a diagram showing a message format of a message composed of FIGS. 5A and 5B and transferred by an API; 6 is a diagram showing the data structure of the symbol tree in the monitor provider shown in FIG. 1 and composed of FIGS. 6A and 6B. FIG. 7 is a diagram showing the data structure of a user tree in the monitor provider, which is composed of FIGS. FIG. 8 shows an additional pending queue at the monitor provider.

───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 昭49−95501(JP,A) 英国特許出願公開1489573(GB,A) 英国特許出願公開2161003(GB,A) (58)調査した分野(Int.Cl.7,DB名) G06F 13/00 ──────────────────────────────────────────────────続 き Continuation of the front page (56) References JP-A-49-95501 (JP, A) UK Patent Application Publication 148973 (GB, A) UK Patent Application Publication 2161003 (GB, A) (58) Int.Cl. 7 , DB name) G06F 13/00

Claims (1)

(57)【特許請求の範囲】 1.種々のタイプのデータを受け取る手段を有するマル
チタスク・データ処理システムにおいて、プロバイダ・
タスクからのデータを当該データを申し込んでいる複数
のユーザ・タスクに分配する方法であって、 各ユーザ・タスクに結合された共通コード・モジュール
により、前記プロバイダ・タスクと前記ユーザ・タスク
との間で、単一のユーザに対して転送されるタイプのデ
ータに特定のデータ経路を設定するステップと、 前記プロバイダ・タスクにより、遠隔データベースから
のデータの流れを前記データのタイプに従って複数のデ
ータの流れに分割し、前記複数のデータの流れを前記設
定されたデータ経路を介して前記ユーザ・タスクへ転送
するステップと、 を含むことを特徴とするデータ分配方法。 2.請求項1記載の方法において、オペレーティング・
システムにおいて前記共通コード・モジュールを介して
設定された待機リストにより、データの各タイプに関し
てユーザ・タスクへのメールボックスをモニタし、前記
ユーザ・タスクに対して当該ユーザ・タスクに転送され
つつあるデータを通知するステップを更に含むことを特
徴とする方法。 3.請求項2記載の方法において、データ経路を設定す
る際に、各ユーザ・タスクに対して構成ファイルから構
成リストを発生するステップを更に含んでおり、各構成
リストは、各タイプのデータに対するリクエストを転送
すべきプロバイダ・タスク・メールボックスの名前と、
前記タスクが特定タイプのデータへのアクセスを有する
か否かの指示と、を含むことを特徴とする方法。 4.請求項3記載の方法において、各構成リストは前記
タスクが他のタスクへのデータのプロバイダであるか否
かを指示し、前記共通コード・モジュールのプロバイダ
の特定ルーチンをプロバイダ・タスクに制限するステッ
プを更に含むことを特徴とする方法。 5.請求項3記載の方法において、オペレーティング・
システムにおいて前記共通コード・モジュールを介して
設定された待機リストにより、データの各タイプに関し
てプロバイダ・タスクへのメールボックスをモニタし、
前記プロバイダ・タスクに対して当該プロバイダ・タス
クに転送されつつあるデータを通知するステップを更に
含むことを特徴とする方法。 6.請求項5記載の方法において、各プロバイダ・タス
クに対して構成ファイルから構成リストを発生するステ
ップを更に含んでおり、各構成リストは、各タイプのデ
ータに対するリクエストを転送すべきプロバイダ・タス
ク・メールボックスの名前を含むことを特徴とする方
法。 7.請求項5記載の方法において、少なくとも前記プロ
バイダ・タスクにおいて、各タイプのデータに対して当
該タイプのデータを受け取るべきタスクを識別する予約
リストを発生するステップを更に含むことを特徴とする
方法。 8.請求項2記載の方法において、オペレーティング・
システムにおいて前記共通コード・モジュールを介して
設定された待機リストにより、データの各タイプに関し
てプロバイダ・タスクへのメールボックスをモニタし、
前記プロバイダ・タスクに対して当該プロバイダ・タス
クに転送されつつあるデータを通知するステップを更に
含むことを特徴とする方法。 9.請求項1記載の方法において、前記プロバイダ・タ
スクにおいて、各タイプのデータに対して当該タイプの
データを受け取るべきタスクを識別する予約リストを発
生するステップを更に含むことを特徴とする方法。 10.請求項1記載の方法において、データ経路を設定
する際に、各ユーザ・タスクに対して構成ファイルから
構成リストを発生するステップを更に含んでおり、各構
成リストは、各タイプのデータに対するリクエストを転
送すべきプロバイダ・タスク・メールボックスの名前
と、前記タスクが特定タイプのデータへのアクセスを有
するか否かの指示と、を含むことを特徴とする方法。 11.請求項1記載の方法において、前記データ経路
は、共通コード・モジュールのルーチンによって、前記
共通コード・モジュールのルーチンに対して利用可能な
システム構成情報に基いて設定され、前記ルーチンは、
前記プロバイダ・タスク・アーキテクチャに関係なくユ
ーザ・タスクにより呼び出されることを特徴とする方
法。 12.請求項1記載の方法において、前記構成情報は、
各タイプのデータに対するリクエストを転送すべきプロ
バイダ・タスク・メールボックスの名前と前記タスクが
特定タイプのデータへのアクセスを有するか否かの指示
とを含む構成リストを介して入手可能であることを特徴
とする方法。 13.請求項2記載の方法において、プロバイダ・タス
クからのデータ転送以外に前記ユーザによって特定され
るイベントを、前記待機リストに含ませるステップを更
に含むことを特徴とする方法。 14.請求項1記載の方法において、第1のタイプのデ
ータの流れは、前記データの流れの中味によって特定の
ユーザ・タスクへ転送され、第2のタイプのデータの流
れは、ユーザ・タスクのリストから全てのユーザ・タス
クまで転送されることを特徴とする方法。 15.種々のタイプのデータを受け取る手段を有するマ
ルチタスク・データ処理システムにおいて、プロバイダ
・タスクからのデータを当該データを申し込んでいる複
数のユーザ・タスクに分配する方法であって、 前記ユーザ・タスクからのコールに応答して、前記プロ
バイダ・タスクと前記ユーザ・タスクとの間で、単一の
ユーザに対して転送されるタイプのデータに特定のデー
タ経路を設定するステップと、 前記プロバイダ・タスクにより、遠隔データベースから
のデータの流れを前記データのタイプに従って複数のデ
ータの流れに分割し、前記複数のデータの流れを前記設
定されたデータ経路を介して前記ユーザ・タスクへ転送
するステップと、 を含むことを特徴とするデータ分配方法。 16.請求項15記載の方法において、データ経路を設
定する際に、前記プロバイダ・タスクと前記ユーザ・タ
スクとのそれぞれに対して構成ファイルから構成リスト
を発生するステップを更に含んでおり、各構成リスト
は、各タイプのデータに対するリクエストを転送すべき
プロバイダ・タスク・メールボックスの名前と、前記タ
スクが特定タイプのデータへのアクセスを有するか否か
の指示と、を含むことを特徴とする方法。 17.請求項16記載の方法において、オペレーティン
グ・システムに設定された待機リストにより、データの
各タイプに関して前記プロバイダ・タスクへのメールボ
ックスをモニタし、ユーザ・タスクからの及びユーザ・
タスクへのリクエストを識別して、前記ユーザ・タスク
に転送されつつあるデータを識別するステップを更に含
むことを特徴とする方法。 18.請求項15記載の方法において、オペレーティン
グ・システムに設定された待機リストにより、データの
各タイプに関して前記プロバイダ・タスクへのメールボ
ックスをモニタし、ユーザ・タスクからの及びユーザ・
タスクへのリクエストを識別して、前記ユーザ・タスク
に転送されつつあるデータを識別するステップを更に含
むことを特徴とする方法。
(57) [Claims] In a multitasking data processing system having means for receiving various types of data, a provider
A method for distributing data from a task to a plurality of user tasks subscribing to the data, wherein a common code module coupled to each user task allows the provider task and the user task to be distributed. Setting a specific data path for the type of data to be transferred to a single user; and the provider task directs the flow of data from a remote database to a plurality of data flows according to the type of data. And transferring the plurality of data streams to the user task via the set data path. 2. The method of claim 1, wherein the operating system
Monitoring a mailbox to a user task for each type of data with a waiting list set via the common code module in the system, and for the user task the data being transferred to the user task The method further comprising the step of: 3. 3. The method of claim 2, further comprising generating a configuration list from a configuration file for each user task when setting the data path, wherein each configuration list includes a request for each type of data. The name of the provider / task / mailbox to be forwarded,
Indicating whether the task has access to a particular type of data. 4. 4. The method of claim 3, wherein each configuration list indicates whether the task is a provider of data to another task, and restricts a specific routine of the common code module provider to a provider task. The method further comprising: 5. 4. The method of claim 3, wherein
Monitoring the mailbox to the provider task for each type of data with the waiting list set up in the system via the common code module;
Notifying the provider task of data being transferred to the provider task. 6. 6. The method of claim 5, further comprising the step of generating a configuration list from a configuration file for each provider task, wherein each configuration list is to forward a request for each type of data to a provider task mail. A method comprising including a name of a box. 7. 6. The method of claim 5, further comprising, for at least the provider task, generating, for each type of data, a reservation list identifying a task to receive that type of data. 8. 3. The method of claim 2, wherein
Monitoring the mailbox to the provider task for each type of data with the waiting list set up in the system via the common code module;
Notifying the provider task of data being transferred to the provider task. 9. The method of claim 1, further comprising the step of, for each type of data, generating, in the provider task, a reservation list identifying a task to receive the type of data. 10. 2. The method of claim 1, further comprising generating a configuration list from a configuration file for each user task when establishing a data path, wherein each configuration list includes a request for each type of data. A method comprising: a name of a provider task mailbox to be transferred; and an indication whether the task has access to a particular type of data. 11. 2. The method of claim 1, wherein the data path is set by a common code module routine based on system configuration information available to the common code module routine, the routine comprising:
A method characterized by being invoked by a user task regardless of the provider task architecture. 12. The method of claim 1, wherein the configuration information comprises:
That it is available via a configuration list that includes the name of the provider task mailbox to which requests for each type of data should be forwarded and an indication of whether the task has access to the particular type of data. Features method. 13. 3. The method of claim 2, further comprising the step of including in the waiting list events identified by the user other than data transfer from a provider task. 14. 2. The method of claim 1, wherein a first type of data stream is forwarded to a particular user task by a content of the data stream, and a second type of data stream is generated from a list of user tasks. A method characterized by being transferred to all user tasks. 15. A method for distributing data from a provider task to a plurality of user tasks subscribing to the data in a multitask data processing system having means for receiving various types of data, the method comprising: Setting a specific data path between the provider task and the user task for the type of data to be transferred to a single user in response to a call; Splitting a data stream from a remote database into a plurality of data streams according to the type of data, and transferring the plurality of data streams to the user task via the configured data path. A data distribution method, characterized in that: 16. 16. The method of claim 15, further comprising: generating a configuration list from a configuration file for each of the provider task and the user task when establishing a data path, wherein each configuration list comprises: , A name of a provider task mailbox to which requests for each type of data are to be forwarded, and an indication of whether the task has access to a particular type of data. 17. 17. The method of claim 16, wherein a waiting list set in the operating system monitors mailboxes to the provider task for each type of data, from the user task and from the user task.
The method further comprising identifying a request for a task to identify data being transferred to the user task. 18. 16. The method of claim 15, wherein a waiting list set in the operating system monitors mailboxes to the provider task for each type of data, from the user task and from the user task.
The method further comprising identifying a request for a task to identify data being transferred to the user task.
JP2000324622A 1986-09-03 2000-10-24 Data distribution method Expired - Lifetime JP3247891B2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US06/903,495 US4815030A (en) 1986-09-03 1986-09-03 Multitask subscription data retrieval system
US903495 1986-09-03

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP62221167A Division JP3141943B2 (en) 1986-09-03 1987-09-03 Data distribution methods and data structures

Publications (2)

Publication Number Publication Date
JP2001188742A JP2001188742A (en) 2001-07-10
JP3247891B2 true JP3247891B2 (en) 2002-01-21

Family

ID=25417593

Family Applications (2)

Application Number Title Priority Date Filing Date
JP62221167A Expired - Lifetime JP3141943B2 (en) 1986-09-03 1987-09-03 Data distribution methods and data structures
JP2000324622A Expired - Lifetime JP3247891B2 (en) 1986-09-03 2000-10-24 Data distribution method

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP62221167A Expired - Lifetime JP3141943B2 (en) 1986-09-03 1987-09-03 Data distribution methods and data structures

Country Status (6)

Country Link
US (1) US4815030A (en)
EP (1) EP0258867B1 (en)
JP (2) JP3141943B2 (en)
AU (1) AU595354B2 (en)
CA (2) CA1292324C (en)
DE (1) DE3750941T2 (en)

Families Citing this family (113)

* Cited by examiner, † Cited by third party
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 (en) * 1989-01-25 1990-08-02 Toshiba Corp File access control system
US5297283A (en) * 1989-06-29 1994-03-22 Digital Equipment Corporation Object transferring system and method in an object based computer operating system
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
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
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 (en) * 1990-05-16 2001-05-28 エヌイーシーソフト株式会社 Multitask execution time accounting method and its mechanism
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 (en) * 1992-08-14 1994-03-11 Fujitsu Ltd Electronic news translation delivery device
JPH06110925A (en) * 1992-09-28 1994-04-22 Hitachi Ltd Computer connected with network and using method for the same
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
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
US20090012864A1 (en) * 2007-07-02 2009-01-08 Goldberg Sheldon F Compensation model for network services
US6264560B1 (en) 1996-01-19 2001-07-24 Sheldon F. Goldberg Method and system for playing games on a network
US5823879A (en) * 1996-01-19 1998-10-20 Sheldon F. Goldberg Network gaming system
US9530150B2 (en) * 1996-01-19 2016-12-27 Adcension, Llc Compensation model for network services
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 (en) * 1996-08-23 2005-10-05 ブラザー工業株式会社 Multifunctional peripheral device and storage medium
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 (en) * 1997-05-02 2000-08-04 Alsthom Cge Alcatel METHOD FOR TRANSMITTING A NOTIFICATION IN A NETWORK WITH DISTRIBUTED APPLICATIONS INCLUDING MULTIPLE NOTIFICATION SERVICES AND NETWORK FOR IMPLEMENTING IT
US6038601A (en) * 1997-07-21 2000-03-14 Tibco, Inc. Method and apparatus for storing and delivering documents on the internet
AU9022998A (en) * 1997-08-18 1999-03-08 Reuters Ltd Certified message delivery and queuing in multipoint publish/subscribe communications
US7080385B1 (en) 1997-08-18 2006-07-18 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
US7058597B1 (en) 1998-12-04 2006-06-06 Digital River, Inc. Apparatus and method for adaptive fraud screening for electronic commerce transactions
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
US7617124B1 (en) 1998-12-04 2009-11-10 Digital River, Inc. Apparatus and method for secure downloading of files
US6513046B1 (en) 1999-12-15 2003-01-28 Tangis Corporation Storing and recalling information to augment human memories
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
US7231439B1 (en) 2000-04-02 2007-06-12 Tangis Corporation Dynamically swapping modules for determining a computer user's context
US7779015B2 (en) 1998-12-18 2010-08-17 Microsoft Corporation Logging and analyzing context attributes
US6920616B1 (en) * 1998-12-18 2005-07-19 Tangis Corporation Interface for exchanging context data
US7225229B1 (en) * 1998-12-18 2007-05-29 Tangis Corporation Automated pushing of computer user's context data to clients
US9183306B2 (en) 1998-12-18 2015-11-10 Microsoft Technology Licensing, Llc Automated selection of appropriate information based on a computer user's context
US8181113B2 (en) * 1998-12-18 2012-05-15 Microsoft Corporation Mediating conflicts in computer users context data
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
US8225214B2 (en) 1998-12-18 2012-07-17 Microsoft Corporation Supplying enhanced computer user's context data
US6791580B1 (en) * 1998-12-18 2004-09-14 Tangis Corporation Supplying notifications related to supply and consumption of user context data
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
US7904187B2 (en) 1999-02-01 2011-03-08 Hoffberg Steven M Internet 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
US7464153B1 (en) * 2000-04-02 2008-12-09 Microsoft Corporation Generating and supplying user context data
WO2001075570A2 (en) * 2000-04-02 2001-10-11 Tangis Corporation Interface for exchanging context data
AU2001249768A1 (en) 2000-04-02 2001-10-15 Tangis Corporation Soliciting information based on a computer user's context
AU5677901A (en) * 2000-05-18 2001-11-26 Kabushiki Kaisha Daiwa Shoken Group Honsha Method and system for transmitting stock price information, information databasetherefor, server for detecting conditions and client terminal
GB2364586B (en) * 2000-06-23 2004-06-16 Ebs Nominees Ltd Deal matching in an 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
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
US7827085B1 (en) 2000-06-23 2010-11-02 Ebs Group Limited Conversational dealing in an anonymous trading system
US7024386B1 (en) 2000-06-23 2006-04-04 Ebs Group Limited Credit handling 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 (en) * 2001-07-25 2003-02-07 Sony Corp Contents distribution system, apparatus, method and program for managing contents reservation, and storage medium for contents reservation management program
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

Family Cites Families (7)

* Cited by examiner, † Cited by third party
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
GB1489573A (en) * 1974-10-18 1977-10-19 Automated Real Time Investment Communication 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 (en) * 1984-06-29 1995-05-11 Merrill Lynch & Co Inc Financial information transmission, processing and display system

Also Published As

Publication number Publication date
US4815030A (en) 1989-03-21
DE3750941T2 (en) 1995-08-10
EP0258867B1 (en) 1995-01-04
JP3141943B2 (en) 2001-03-07
DE3750941D1 (en) 1995-02-16
CA1315891C (en) 1993-04-06
AU7658487A (en) 1988-04-14
AU595354B2 (en) 1990-03-29
EP0258867A3 (en) 1990-05-09
EP0258867A2 (en) 1988-03-09
JP2001188742A (en) 2001-07-10
CA1292324C (en) 1991-11-19
JPS6365536A (en) 1988-03-24

Similar Documents

Publication Publication Date Title
JP3247891B2 (en) Data distribution method
US5230048A (en) Data processing system with tree and list data structure
US20180152804A1 (en) Apparatus and a method for supplying information
US6593943B1 (en) Information grouping configuration for use with diverse display devices
US4845658A (en) Information method and apparatus using simplex and duplex communications
US5566337A (en) Method and apparatus for distributing events in an operating system
JP3930432B2 (en) Computer system for business applications with alarm notification and conditional execution
US7562116B2 (en) Apparatus for determining availability of a user of an instant messaging application
US20020027567A1 (en) Listing network for classified information
US20060195472A1 (en) Method and system for aggregating contact information from multiple contact sources
US20020016854A1 (en) Method of sending and receiving information and system using such method
JPH11502347A (en) Method and apparatus for transaction processing in a distributed database system
JPH07160518A (en) Event architecture for system management of operating system
US20070061452A1 (en) Market data notification system
US8037153B2 (en) Dynamic partitioning of messaging system topics
EP0731947B1 (en) A method and device for extracting data from a group of data
JPH0721979B2 (en) Financial information collection / processing / display system
JP3588507B2 (en) Information filtering device
EP1107124A2 (en) Establishment of information display policy for diverse display devices
JP3490294B2 (en) Message multicast method and computer
CA1321841C (en) Method for managing an electronic mail basket service
JPH03157742A (en) File server device
CN113726896A (en) Task distribution system based on commercial intelligent real estate industry
EP0555881A2 (en) Office automation system wherein files in a database are available to electronic mail services
Blake Information agents

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