JPH07503568A - 協調作業ネットワークでの呼出し管理ワークステーション及び方法 - Google Patents

協調作業ネットワークでの呼出し管理ワークステーション及び方法

Info

Publication number
JPH07503568A
JPH07503568A JP6511849A JP51184994A JPH07503568A JP H07503568 A JPH07503568 A JP H07503568A JP 6511849 A JP6511849 A JP 6511849A JP 51184994 A JP51184994 A JP 51184994A JP H07503568 A JPH07503568 A JP H07503568A
Authority
JP
Japan
Prior art keywords
application
call
data
event
node
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP6511849A
Other languages
English (en)
Other versions
JP2544904B2 (ja
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 JPH07503568A publication Critical patent/JPH07503568A/ja
Application granted granted Critical
Publication of JP2544904B2 publication Critical patent/JP2544904B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/542Event management; Broadcasting; Multicasting; Notifications
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/544Buffers; Shared memory; Pipes
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/544Remote

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

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

Description

【発明の詳細な説明】 協調作業ネットワークでの呼出し管理ワークステーション及び方法 [技術分野] 本発明は、協調作業ネットワークでの呼出し管理に関し、さらに具体的には、プ ログラマブル・ワークステーションと、そのような協調作業環境で使用する方法 に関する。
[背景技術] パーソナル・コンピュータは現在、実業界全体に広く普及しており、その多くは 、固定接続、たとえばローカル・エリア・ネットワークを介して、あるいは動的 に確立されるリンク、たとえば公衆交換電話網のI SDNや非同期回線を介し て相互に通信することができる。これらの接続されたパーソナル・コンピュータ を使用して、遠(離れた個人の間の協調作業を拡大できることが増加してきてい る。典型的な例は、デスク・トップ会議ソフトウェアを使用することである。協 調作業を成功させるには一般に、参加者の間に簡単なデータ・リンク以上のもの が必要である。通常、音声機能が必須であり、しばしば、ビデオ・リンクが必要 になる。したがって、リモート協調作業は従来の電話呼出しの拡張とみなせるこ とが多い。従来の電話呼出しが、パーソナル・コンピュータを介して机上で利用 可能なデータおよびプログラムによって拡張され、時にはビデオ・サービスによ って拡張されているものとみなされる。
ワークステーションのデータおよびアプリケーションを利用するユーティリティ 、たとえば画面ウィンドウおよびファイルの共用から、特有のクラスのリモート ・ユーザのニーズを満たすように設計された新しい協調アプリケーション、たと えばジャストインタイム・エジュヶーション、リモート・プレゼンテーション、 エグゼグティブ・ブロードキャスト、ヘルプ・デスクまで、広い範囲の協調アプ リケーションを構想することができる。これらの例の共通の要件を以下に示す。
Oハードウェアとソフトウェアを共に含む広範囲のパーソナル・コンピュータ・ プラットフォームのサポート○既存の通信ネットワークを介した運用○グループ 通信およびマルチメディア・データ・サービスデスクトップ会議システムの動作 、特にシステムが着信呼出しに応答する方法は通常、システム・ソフトウェアの 供給業者によって決定される。リアルタイム・デスクトップ会議の従来の考え方 では、呼出しのセットアツプおよびテアダウンなどのシステム機能とデータの送 受信などのアプリケーション機能が区別されている。したがって、アプリケーシ ョン(共用電子チョークボードなどの)は呼出しの開始および終了などの事象を 知ることができるが、これらの事象が具体的に処理される方法に影響を及ぼすこ とはできない。たとえば、着信呼出しの禁止は通常、ユーザによって、そしてお そらくAPI呼出しを介してアプリケーション・プログラムによって、オンとオ フを切り替えることができるシステム機能とみなされている。
[発明の開示] したがって、本発明は、ノードの間でデータを送信するための物理リンクによっ て接続されたネットワークのノードを形成するワークステーションのネットワー クでの協調作業用のプログラマブル・ワークステーションを提供する。
このワークステーションは、オペレーティング・システムと、 ノードの間のマルチメディア・データの物理経路指定を制御するための、オペレ ーティング・システム上で動作するネットワーク制御プログラム層と、 ワークステーション上で作動し、協調呼出しマネージャ・プログラムからの所定 のアプリケーション・プログラム呼出しに応答して、ノードで協調呼出しマネー ジャ・プログラムを確立し、ノードにあるどのアプリケーション・プログラム・ インスタンスにも特有でない着信事象を処理する協調アプリケーション・プログ ラム・サブシステムとを備えている。
本発明はさらに、ノードの間のデータ送信用の物理リンクによって接続されたネ ットワークのノードを形成するプログラマブル・ワークステーションのネットワ ークにおいて、ワークステーション上で作動する協調呼出しマネージャ・プログ ラムからの所定のアプリケーション・プログラム呼出しに応答して、ノードで協 調呼出しマネージャ・プログラムを確立し、ノードにあるどのアプリケーション ・プログラム・インスタンスにも特有でない着信事象を処理することから成る協 調作業方法を提供する。
ここで、本発明の1例として、添付図面の第1図ないし第16図を参照して説明 する。
[発明の釘ましい実施例] 第1図には、LAN’PWANなどのネットワークでリンク11によって接続さ れた2台のプログラマブル・ワークステーション10および12が示されている 。ワークステーションの主要な構成要素は従来、ハードウェア13から始まる層 として説明されている。詳細に図示していないハードウェアは、メイン・メモリ をもつプロセッサ装置と、ディスク・ファイルなどの二次記憶域と、表示装置と 、キーボードやマウスなどの入出力装置から構成される装置サポート・ソフトウ ェア14は、ハードウェア装置がIBMのオペレーティング・システム/2 ( O8/2)などの周知のオペレーティング・システム15内で機能できるように する。
従来のワークステーションをネットワークで使用する際、前記ワークステーショ ンの一部になるのは、ネットワーク11との接続と、ネットワークを介したワー クステーションの間の通信をサポートするためのネットワーキング・ソフトウェ ア16である。典型的なネットワーキング・ソフトウェア16は、IBMのNe tbiosプログラム製品である。ここまでで説明したものは、アプリケーショ ン・プログラム18を実行することができる従来のネットワーキング・ワークス テーションだけである。
本発明を実施するために、各ワークステーションは、分散協調作業環境を作成す るためのアプリケーション・プログラムの開発を容易にする協調アプリケーショ ン・サポート・システム・ソフトウェア17も含む。この環境では、ワークステ ーションのエンドユーザは、マルチメディア・チャネルを介してネットワーク中 の他のワークステーションのユーザと通信し、かつ共用データおよびタスクに関 して協調作業を行うことができる。
サポート・システム17の全体的な構造を、前記システム17が直接インタフェ ースをとるワークステーションの他のソフトウェア構成要素と関連付けて第2図 に示す。サポート・システム17の内部構造の詳細は、第10図に示す。大まか に言って、システム17の主機能構成要素は、点線で示した2つのインタフェー ス2oと21の間にある。
アプリケーション・プログラミング・インタフェース2゜によって、アプリケー ション18はサポート・サービスを要求することができる。装置ドライバ・イン タフェース21によって、システムは、トークン・リング・ドライバ25、工S DNドライバ26、R3232Fライム2フ、ソノ他ノ装置ドライバ28などの 装置ドライバを介して広範囲なソフトウェアおよびハードウェア通信サブシステ ムをサポートすることができる。リンク・サポート・モジュール228.229 は装置ドライバとのインタフェースをとる。これらは、ワークステーションで利 用可能なハードウェア・オプションに応じて交換可能であり(第10図は、可能 な選択だけを示す)、どのハードウェアが存在するのかをサポート・システムが 正確に知らなくて済むように働く。暗示的な資源インタフェース(図示せず)を 介して、サポート・システムでも、アプリケーションでも、装置ドライバでも、 資源ファイル29に、ノード・アドレスやディレクトリ・データなどの通信ネッ トワークの詳細を要求することができる。
API20によって、アプリケーション18は、多様で複雑な通信ネットワーク を介して、ノード上に配置された様々なハードウェアおよびソフトウェア・プラ ットフォーム上で、対等アプリケーションを開始し、資源を共用することができ る。API20によって、アプリケーションは、基礎物理ネットワークの構造と は独立に、広範囲のマルチメディア・トラフィックに適した、共用アプリケーシ ョン間の複数の専用論理データ・チャネルを定義することができる。
API20によって、アプリケーションは共用アプリケーション間のデータ・ス トリーミングを直列化し、同期化し、組み合わせ、またはコピーすることができ る。API20によって、アプリケーションは一連の接続された装置をサポート することができ、装置データのインターセプトおよびリダイレクトを可能にする 。
サポート・システムは、外部アプリケーションおよび装置とのインタフェースを とる拡張可能な1組の論理装置30などのアプリケーション開発を助けるための 他の構成要素を含む。APIに書き込まれた、アプリケーションからコマンド・ インタフェースを介して呼び出すこともできる1組のエンドユーザ・インタフェ ース(図示せず)も、設けられている。
ネットワーク、ノード、およびアプリケーション最高レベルでは、APIによっ て提供されるプログラミング・モデルは通信ノード・セットから構成される。ノ ードとは、ユーザを表すアドレス可能なエンティティであり、サポート・システ ム・ソフトウェアのインスタンスと、アプリケーション・プログラム、データな どの1組の資源を備えている。通常、ノードは、その対等サブシステムと通信で きる専用プログラムマブル・ワークステーション10である。マルチユーザ・シ ステムでは、ノードは各ユーザに関連づけられる。
ノードは、サポート・ノードまたは非サポート・ノードである。サポート・ノー ドは、サポート・システム・ソフトウェア17が実行されるものである。相互通 信サポート・ノードの集合をサポート・ネットワークと呼ぶ。
ノードは名前で識別される。理想的には、ノード名はすべて特有のものであるべ きだが、関連するノードが相互通信する必要がないかぎり重複が許容される。ノ ード命名方式の選択は、本発明に直接関連していない。ただし、インタネット・ プロトコルによって定義されたような階層システムは多数の利点を有する。ノー ドがネットワークに動的に参加し、あるいはネットワークを動的に抜けられるこ とが、アーキテクチャの基本である。
ノードは、論理装置30を含むことができる。論理装置とは、アプリケーション がアーキテクチャ中の他のエンティティと矛盾せずにソフトウェアまたは装置を 操作または管理できるようにするサポート・システムのソフトウェア拡張機能で ある。プレゼンテーション・ウィンドウ、プリンタ、ディスク・ドライバ、モデ ム、およびアプリケーション・プログラムを含む広範囲の論理装置がある。
ノードでは、オペレーティング・システムおよびウィンドウ・システムによって ノードに課される制限に従って、複数のアプリケーションを実行することができ る。アプリケーションは、awareまたはunawareであり、aware アプリケーションはAPIのサービスを使用し、unawareアプリケーショ ンは使用しない。awareアプリケーションとunawareアプリケーショ ンは共に、一般に、ノードで同時に実行する。
あるノードでサポート・システムが完全に活動状態のとき、そのノードでは1つ の特定のawareアプリケーションが動作しなければならない。このアプリケ ーションは、そのノードで特有の役割を果たし、呼出しマネージャ32といわれ る・特定のノードでは、多数の呼出しマネージャを実行することができるが、1 度に1つしか実行できない。呼出しマネージャの特別な機能は、サポート・シス テムが生成するある種の事象に応答することである。たとえば、呼出しマネージ ャはアプリケーションのインスタンスに特定的に向けられていない要求を解決し 、かつ任意選択でノードの資源管理を処理することもできる。呼出しマネージャ の責任は、1つの呼出しマネージャから他の呼出しマネージャに移すことができ る。適宜、役割をユーザ・アプリケーション機能と組み合わせることもできる。
サポート・システム17は、あるノードの資源を他の2つのノードの間の通信に 利用するよう要求することができる。
これを受動命令と呼び、許可は受動ノードにある呼出しマネージャによって制御 される。−例として、LAN上の2っのノードAおよびBがあり、第3のノード Cが非同期通信リンクによってBに接続されているものとする。AとCにあるア プリケーションが通信を望む場合、トラフィックをBを介して経路指定する必要 がある。Bのノードをこのように使用するには、Bにある呼出しマネージャの同 意が必要である。
awareアプリケーションは、データおよび資源を、同じノードまたは異なる ノードにある他のawareアプリケーションと共用することができる。共用を 行うアプリケーションの集合を共用セットと呼ぶ。awareアプリケーション は、共用要求を開始し、アプリケーション共用セット、ターゲット・アプリケー ション、および宛先ノードを指定する。この要求はまず、サポート・ソフトウェ アによって、送信側ノードにある呼出しマネージャに渡される。該呼出しマネー ジャは通常、宛先ノードにある呼出しマネージャに要求を転送する。通常、この 第2の呼出しマネージャは、要求されたアプリケーションをローンチし、発信元 アプリケーションは通知を受ける。このプロセスに呼出しマネージャが参加する ことによって、共用プロセスのローカル制御と、必要に応じて開始すべきその他 のアクションが共に可能になる。呼出しマネージャは、アプリケーションが他の ノードおよびアプリケーションを識別するために使用する名前を処理する上で重 大な役割を果たす。
共用機構は連鎖することができる。たとえば、2つのアプリケーションがすでに 共用を行っている場合、それらの一方が、同じ共用セットを指定する第3のアプ リケーションとの共用を開始することができ、その結果、3つのアプリケーショ ンはすべて、相互に共用を行うことになる。
アプリケーションは、他のアプリケーションに代わってローカル共用要求を行う ことができ、それによって、代行すべき共用セットのメンバシップ制御を可能に する。共用要求の発行側またはターゲットがアプリケーション共用セットを指定 するための機能が存在する。このような名前は、特有のものである必要はない。
したがって、同じ名前の共用セットが複数存在できる。
それぞれのアプリケーションは、いつでも共用を終了し、共用セットを抜けるこ とができる。共用セット中の他のアプリケーションには、このことが通知される 。第3図は、多数のアプリケーションAないしEの共用を示す。この結果、第4 図に示すように、共用が要求された順序にかかわらず2つの共用セットが生成さ れる。
通信、チャネル、およびポート 第5図の概略例に示すように、4o、41.42などの共用セット中のアプリケ ーションは、チャネルといわれるデータ通信リンクを相互に確立することができ る。43.44などのチャネルは、論理的に専用の単一方向バイブであり、アプ リケーションで指定された送信特性を有する。チャネルは常に、送信側アプリケ ーションによって定義され、送信側アプリケーションから受信側アプリケーショ ンに向かう。チャネルの端部はポートといわれる。したがって、チャネルはすべ て、1つの送信側ボートと1つの受信側ポートを有する。
45などの送信側ポートは、チャネルを介してパケット・データを送信する。4 6などの受信側ボートはチャネルからのデータ・パケットを、それらが送信され た順序で受信する。
awareアプリケーションに見える論理チャネル構造と、ノードの間に存在す る物理通信ネットワークの間に直接マツピングがない場合がある。
アプリケーションは、他のアプリケーションへの複数のチャネルを、異なるタイ プのデータ・トラフィックを分離する好都合な方法として確立することができる 。第2図のシステム・ネットワーク・マネージャ31は、論理チャネルの一部ま たはすべてを、第1図のリンク11などの単一の物理リンク上にマツプすること ができるが、これはアプリケーションには見えない。
チャネルは、多数のサービス品質特性を有する。これらの特性に作成プロセス中 にサポート・システム17がまず交渉する。これによって、データ伝送特性を、 予期されるトラフィックの要件に合わせて調整することができる。これらの特性 は、暗号化、圧縮ヒントを含む。暗号化によって、チャネルに沿った伝送時にデ ータを暗号化することができる。圧縮ヒントによって、狭い帯域幅のリンクを介 してデータを圧縮するオプションがシステムに与えられる。
サービス品質パラメータは、アナログ・データとディジタル・データを区別する 信号タイプによって定義される。サービス・パラメータは、明示的に指定しなく てよいが、データ・クラスに関してはサポート・システムに通知することができ る。この機構によって、ビデオ・チャネル、音声チャネル、およびその他のデー タ・チャネルを都合よく確立することができる。チャネルの特性は、チャネルを 作成した後に再折衝することができる。データ送信特性は、APIを介するチャ ネル作成呼出しで指定された特性に応じて、第2図のデータ送信マネージャ32 によって実際のネットワークで実施される。
標準、組合せ、同期、および直列化の4つのチャネル・タイプがサポートされる 。標準チャネルはデフォルト・ケースである。他のタイプは、チャネル・セット といわれるチャネルの集合に関連して使用される。組合せチャネル・セットを介 して、複数のチャネルからのデータ・パケットが組み合わされ、単一のポートを 介して各受信側アプリケーションに送られる。各アプリケーションがすべてのデ ータ・パケットを同じシーケンスで受信することは保証されず、各アプリケーシ ョンがすべてのパケットを受信することだけが保証される。
直列化チャネル・セットを介して、異なるチャネルからのデータ・パケットが組 み合わされ、直列化され、各受信側ボートが同じシーケンスのデータを受信する ように各アプリケーションに送られる。同期チャネル・セットを介して、データ が同期され、それによって、別々のチャネル上のデータ・パケットが調子を合わ せて結合される(たとえば、音声とビデオ)が、そのチャネルに属するそれぞれ のポートを介して送られる。
データ直列化の一例を第6図に示した共用ドローイング・ボード・アプリケーシ ョンによって示す。2つの同じアプリケーションAおよびB(50および52) によって、ユーザは単一の共用表面上で描画することができる。AおよびBにい るユーザが同じ結果を見るには、AとBで処理されるシーケンスが同じになるよ うに、Aにあるすべての描画命令をポート53および54を介してBに送り、B にあるすべての描画命令をボート55および56を介してAに送らなければなら ない。これは、それぞれのアプリケーションが、共通の直列化チャネル・セット 59のメンバである2つのチャネル57および58を介して、相互にかつそれ自 体にそれ自体のデータを伝送することによって行われる。
第4図を参照すると、リップ同期されたビデオと音声をアプリケーションB(6 1)に送信する必要があるアプリケーションA(60)によってデータ同期が示 されている。2つのチャネル62および63は送信に使用され、それぞれが同じ 同期チャネル・セット64のメンバである。
必要なチャネル特性を指定するサポート・システムへのAPI呼出しによってチ ャネルを明示的に作成することができ、既存のボートに新しいチャネルを追加す ることもできる。後者の機構によって、異なるチャネル・セットに属するチャネ ルを介してボートを共用することができる。たとえば、単一のボートから、組合 せチャネル・セットに属する1組の宛先、および直列化チャネル・セットに属す る第2の組みの宛先にデータを送信することができる。ディジタル・チャネルと アナログ・チャネルが同じチャネル・セットのメンバになることはできない。チ ャネルは削除することができ、送信側ボートと受信側ボートを指定することによ って固有に識別される。
チャネルは、アプリケーション共用セットのメンバである、または該メンバにな るアプリケーションの結果として暗示的に作成することができる。たとえば、未 共用アプリケーションがすでに、組合せチャネルまたは直列化チャネルを有する 場合、使用されるチャネル・セット名はこれらのアプリケーションのどれでも同 じであり、アプリケーションが相互に共用を行うと、必要な追加チャネルが自動 的に作成される。アプリケーションには、このように暗示的に作成されたチャネ ルが通知される。
ボートは、事象、コマンド、または空の割り当てられた接続タイプを有する。事 象ボートは、データが利用可能か、または必要なときに事象を生成する。コマン ド・ボートによって、アプリケーションはデータの受信またはボートへの供給を 駆動することができる。空ボートは、データをアプリケーションに供給できない ボート、すなわち、ビデオ・カメラの送信側ボートなどの、アナログ・チャネル に関連するボートのために予約される。ボートは、ボート事象ハンドラに送信さ れる“signal port”コマンドを介して制御することができる。この コマンドは、ローカル・ボートに発行し、チャネル中の他のボートに渡すことが できる。通常、チャネル・ボート用のs i gna lコマンドは、データを 供給または受信するアプリケーションのボート事象ハンドラに送信され、たとえ ば、データ・フローを停止、開始、削減、または増加するために使用できる。発 信元とターゲットの間の信号の順序は維持される。直列化チャネル・セット中の 受信側ボートに送信される信号は、それ自体が直列化され、それによって、すべ ての発信元が同じシーケンスのコマンドを受信する。他の典型的な信号はテープ ・ドライブに対する“rewind”または”pause” 、あるいはプリン タ装置に対する”change papersize”である。
ユーザ出口は、任意選択でボートに関連付けることができる。これによって、デ ータが送信側ボートに供給された後、または受信側ポートによって供給される前 に、データを監視、または操作することができる。同期チャネルの場合、同期は 、データが送信側ボート・ユーザ出口を離れてから、受信側ポート・ユーザ出口 に供給されるまで実行される。
標準送信側コマンド・ボートの全体的な構造を第8図に示す。データは、アプリ ケーションからの”5end data’″コマンドに応答して、ボート70の バッファ71中で待機する。アプリケーションは、バッファを空にして、ユーザ 出ロア2とチャネル73を介して非同期的にデータを送信する。着信した’si gnal port”コマンドは、回線75上でチャネル73とは独立に、ボー ト事象ハンドラ74によって受信され、回線76上で外部に再伝送することがで きる。
受信側ボートは実際上、対応する送信側ボートのミラー・イメージである。標準 受信側事象ボートの場合、構造が類似しているが、この場合、事象ハンドラはデ ータとportコマンドを共に処理する。
同期を呼び出すときには状況はより複雑である。この場合、ユーザ出口およびバ ッファの前に、着信側チャネル上に同期プロセスを含めることによって、標準受 信側バッファ・ボートを修正しておかなければならない。
同期は論理的に、すべての事象を中央点に集合させることと、その後に、各事象 を、その事象のすべての宛先に同報通信することを伴う。図では、チャネル80 および81上の2つのボートAおよびBの場合に関する第9図でこれを表す。
この図では、直列化プロセス85で、82および83でのボートAおよびBの出 力が、ボートC(84)および他のボート(図示せず)に対して直列化される。
直列化は、すべてのデータを、直列化し、その後に分散するために単一の中央点 に送信することによって、該中央点で実施することができる。
直列化プロセス自体を分散することもできる。
受信側ボートは、送信側ボートに、チャネルに沿ったデータの送信を停止させ、 チャネル中の残りのデータを破棄するか、送るかのオプションを与える。後で、 中断されたデータ伝送を再開することができる。
チャネルとボートの使用を不要にするアプリケーション相互通信の代替方法は、 アプリケーションの間で制御情報を送信できるようにする”signal”コマ ンドを介して提供される。
ボートは、データ・タイプおよびデータ・サブタイプを指定するデータ・クラス に関連している。データ・タイプはデータの性質、たとえば音声、ビデオ、ファ イルなどを識別し、アナログ・データとディジタル・データも区別する。データ ・タイプはさらに、データの厳密なフォーマットによって細分される。したがっ て、音声サブタイプの例はG、711、G、721、G、722である。
データ・クラスは、他のアプリケーションに依存せずに、データ・ストリーム自 体とは独立に、データ・フォーマットを得るためにアプリケーションによって照 会することができる。APIより下位でLakesが変換を実行すれば、データ ・タイプは、送信側ボートと受信側ボートで異なってもよい。
ボートおよびチャネルのある種の特性、たとえばサービス品質、データ・クラス 、圧縮ヒントは、最初に確立した後に変更することができる。これによって、ア プリケーションが実行時に通信使用法を修正するための柔軟性が提供される。
−例は、ビデオ品質を一時的に低下させ、ファイル交換性能を高めることである 。
アプリケーションが、処理のために、入力を他のアプリケーションに経路指定で きるように、拡張通信リンクを確立するようにボートを接続することができる。
ボートをこのように接続し、ユーザ出口を確立していない場合、経路指定を確立 した後、それ以上アプリケーションを関与させる必要はない。これによって、ア プリケーションと装置の間のデータのストリーム化が可能になる。1つのボート が送信側であり、1つのボートが受信側でありさえすれば、異なるデータ・クラ スまたは異なる接続タイプの、異なるサービス品質特性を有する、異なるタイプ の異なるチャネル・セット中のチャネルの間で(1つのボートが空であるかぎり )接続が許可される。接続が永続的になり、ローカル・アプリケーションを終了 したときでも持続するように、接続したボートをウェルドすることもできる。チ ャネルは、すべての点で、最初から、発信元から直接宛先まで作成された場合と 同様に動作する。
存在するすべてのユーザ出口は削除することができる。
論理装置 論理装置30(第2図)は、(i)クリップボード、DDE、プリンタ、ビデオ 装置などのシステム資源および装置へのより容易なアクセス、(ii)たとえば 、unawareアプリケーションのウィンドウ内容およびファイル活動へのア クセスを与えることによって、unawareアプリケーションを協調作業に使 用すること、および(iii)アプリケーションの関与しない端末間データ・ス トリーム化、をイネーブルにするためにサポート・システムによってサポートさ れる。頻繁に使用される装置は、ビデオ・キャプチャ、ビデオ・プレイバック、 オーディオ・プレイバックなどを含み、追加装置を定義するために機能が提供さ れる。
論理装置はタイプによって識別される。タイプ名は、ノードに対してローカルで ある。論理装置はオープンされると、アプリケーションにボートを提供する。単 一の論理装置が複数のボートを有することができ、さらに、装置は同じノードに ある異なるアプリケーションに同時にボートを提供することができる。ボートを オープンするための関連API呼出しによって、その装置に特有の特性、たとえ ば使用すべきデータ・フォーマットを設定することができる。オープンされた論 理装置は、単一のボートに送信される、特定の論理装置に特有のコマンドを介し て制御することができる。装置ボートへの典型的なコマンドは、テープ・ドライ ブへのリワインドまたはポーズである。装置の状況、たとえばデータが利用可能 かどうかを照会することもできる。
装置は、ユーザ出口が存在しないことを除き、チャネル・ボートによく似ている 。アプリケーションは、論理装置上のボートをチャネル・ボートに接続すること ができる。これによって、データは、装置との間を流れ、かつチャネルを介して 流れることができる。このデータ・フローは、接続が確立された後、それ以上ア プリケーションを関与させることを必要としない。たとえば、データをチャネル を介してカメラからカメラ論理装置までストリーム化し、ウィンドウ論理装置に よって表示することができる。アプリケーションは2つの論理装置をそれらの信 号ボートを介して制御することができる。もはや伝送が必要ないとき、アプリケ ーションはボートを切断し、装置をクローズし、チャネルを削除することができ る。
装置ボートをチャネル・ボートにウェルドすることはできない。なぜなら、こう すると、装置がローカル・アプリケーションの制御外に存在できるようになるか らである。論理装置は、サポート・システムにAPI呼出しを発行することを許 可されており、この点では、所有アプリケーション(すなわち、装置をオープン したアプリケーション)の代わりに働く。装置はたとえば、その所有アプリケー ションに、他のアプリケーションと共用を行わせ、チャネルを作成させ、かつデ ータを送受信させることができる。
潜在的な装置には以下のようなものがある。
−システム・クリップボード −LPTx−DDE −ウィンドウ −共用クリップボード −プリンタ ー直列エミュレータ −ファイル ービデオ −符復号器 −オーディオ −電話 クリップボードの共用は、システム・クリップボード装置および共用クリップボ ード装置によって容易になる。システム・クリップボード装置をアプリケーショ ンによってオープンして、そのノードでのウィンドウ・システム・クリップボー ドへのアクセスを与える送信側ボートおよび受信側ポートを提供することができ る。いつでも送信側ボートは1つしか存在できないが、そのノードにあるどのア プリケーションでも受信側ポートをオープンすることができる。チャネルを使用 すると、あるノードからのシステム・クリップボード・データを単純に、アプリ ケーション共用セットの他のメンバに経路指定することができる。
他の装置、共用クリップボードは、データ共用を容易にするために提供されてい る。共用クリップボードは共用セットに特有のものである。送信側ボートは1つ しか許可されないが、複数の受信側ポートがサポートされる。これらの違いは別 として、共用クリップボードは、システム・クリップボードと同様に動作し、ア プリケーションが共通データを共用するための単純な機構を提供する。
ウィンドウ装置によって、画面上に定義されたウィンドウを送信側ポートまたは 受信側ボート(状況によってはその両方)と関連付けることができる。送信側ボ ートをチャネル・ボートに接続することができ、データをウィンドウにストリー ム化して表示することができる。様々なデータ・フォーマットがサポートされる 。
DDE装置をオーブンして、動的データ交換機構に結合された送信側ポートおよ び受信側ポートを提供することができる。awareアプリケーションは、この 装置を介して、DDEをサポートするアプリケーションを制御し、あるいはそれ 自体を制御することができる。さらに、適切なチャネルを確立することによって 、2つのリモートDDEアプリケーションをリンクすることができる。
プリンタ装置によって、データをシステム・プリンタに送信することができる。
送信側ポートは1つしか許可されない。
非同期直列装置は、1つの送信側ポートと複数の受信側ポートをサポートし、R 8232、R3422、およびその他の直列通信とのインタフェースをとる。
ビデオ・ディスプレイ・プレイバック装置(I BM/インテル・アクションメ ディアIIアダプタ/A (IBM/IntelActionMedia II  Adapter/A)をサポートする)、ビデオ・キャプチャ装置(IBM  Mビデオ・キャプチャ・アダプタ/A (IBM M−Video Captu re Adapter/A)をサポートする)、オーディオ・キャプチャ・プレ イバック装置(IBM Mオーディオ・キャプチャ・プレイバック・アダプタ/ A (IBM M−Audio Capture and Playback  Adapter/A) をサポートする)、およびその他の特殊オーディオ/ビ デオ装置(H320準拠符復号器などの)を含む、多数のビデオおよびオーディ オ装置が存在する。
awareアプリケーションの多くはシステム・ユーティリティとして出荷され ており、これらの装置を利用して、ネットワークを介した協調作業のための汎用 エンド・ユーザ機能を提サポート・システム17用のカストマイズ情報は、適切 なプラットフォーム指定リポジトリに記憶される。WindowsおよびO5/ 2の場合、この情報は、LAKES、 INIおよびLAKESQO3,INI と呼ばれるファイルである。これらのファイルは、キーワードとその値が維持さ れる、識別子で始まるセクションを含む標準ASCIIファイルとしてフォーマ ットされる。アプリケーションは、それ自体の追加初期設定フィールドを有する こともできる。LAKES、 INIは、構成および始動オプション、awar eアプリケーション、装置、および物理通信リンクに関する情報を含む標準セク ションを含む。そのようなアプリケーションに特有のデータを含むアプリケーシ ョン・セクションを存在させることもできる。LAKEQO3,INIは、物理 リンクおよびデータ・クラスに関するサービス品質情報を含む。これらのファイ ルにアクセスし、それらを更新するための呼出しはAPIに提供されている。
資源管理 協調作業では多(の場合、ノードが所有する資源、たとえばプリンタ装置を他の ノードと共用できることが必要になる。
そのような資源は、グローバル資源とみなされ、アクセスはグローバル・トーク ンを介して制御される。その他の資源、たとえば共用ポインタは、アプリケーシ ョン共用セットにローカルであり、これへのアクセスはアプリケーション・トー クンを介して管理される。
トークン所有者は、トークンの重要度を判定し、それを要求上に割り振る。所有 者の裁量で、待機中の要求を許可することができ、特定のトークンの複数の同時 保持者を許可することができる。トークン所有者は、任意選択で、保持者にトー クンを戻させることができる。
グローバル・トークンは、ネットワーク全域にわたって共通名前空間を共用する が、アプリケーションは、それが必要とするグローバルに利用可能な資源の位置 を知っているとみなされるので、重複グローバル・トークン名が許可される。
可用性情報を回報通信するための機能は提供されない。その代わり、グローバル 資源をもつノードにある呼出しマネージャは、資源管理の責任を負い、したがっ て、あらゆるグローバル・トークンを保持する。グローバル・トークンは、アプ リケーション・インスタンスによって排他的に保持し、あるいは共用することが できる。しかし、トークン所有権をアプリケーションに移すことはできない。グ ローバル・トークンをめる要求は、APIより上位で保持され、ノード呼出しマ ネージャによって管理される待ち行列によって待機させることができる。グロー バル・トークンへのアクセスは共用アプリケーション・セットだけに制限されな い。
アプリケーション・トークン名空間は、アプリケーション共用セットだけに制限 されない。トークンはどのメンバ・アプリケーションでも所有することができ、 所有権を移すことができる。アプリケーション・トークンは排他的に保持し、あ るいは共用することができ、トークンに対する要求は、APIより上位で保持さ れ、現アプリケーション・トークン保持者によって管理される待ち行列で待機す ることができる。
初期設定および終了 サポート・システムは、LANES、EXEファイルを動作させることによって 始動される。このファイルは、ファイルLAKES。
INIからプロファイル・データを読み取る。指定された呼出しマネージャが、 サポート・システムによって始動され、次いで、それ自体をawareアプリケ ーションとして登録する。次いで、”set caljmanager”コマン ドがこの特定のアプリケーションをそのノード用の呼出しマネージャとして確立 する。
このコマンドの後に、サポート・システムはそのノードで完全に活動状態になり 、着信事象および要求を処理できるようになる。
awareアプリケーションは、アイコンのダブル・クリックなどの通常のオペ レーティング・システム手順、または” 1aunch”コマンドによって開始 することができる。前者の場合、アプリケーションはサポート・システムに登録 され、リターン・データで、アプリケーション・ハンドルおよびノード・ハンド ルを受信する。呼出しマネージャにこの登録のことが通知され、アプリケーショ ンへのハンドルが供給される。後者の場合、ローンチする側のアプリケーション にアプリケーションへのハンドルが返される。ローンチされる側のアプリケーシ ョンがサポート・システムに登録されるまで、このハンドルは非常に限られた状 況でしか有効ではない。リターン・データは、ローンチされる側のアプリケーシ ョンにアプリケーション・ハンドルとノード・ハンドルを提供する。
呼出しマネージャと、ローンチを指定したアプリケーション(呼出しマネージャ と異なる場合)は共に、適宜、通知を受ける。
アプリケーションは、登録が取り消され、呼出しマネージャが通知を受けること によってunawareアプリケーション状況に戻ることができる。保持されて いるすべてのトークンが解除され、トークン所有者が通知を受け、所有されてい るすべてのトークンが無効になる。アプリケーションがアプリケーション共用セ ットのメンバである場合は削除され、該アプリケーションが前記セットを抜けた ことが他のメンバに通知される。アプリケーションによって作成されたすべての ボートが破壊され、影響を受けるチャネルへのボートを所有する他のアプリケー ションが通知を受ける。終了するアプリケーションによって接続されたすべての チャネルがウェルドされ、端末チャネル・ボートで適切な事象がレイズされる。
適切な事象をレイズすることは、ローカル呼出しマネージャと、登録を取り消す 側のアプリケーションに代わって、ウェルドされたチャネルをサポートするあら ゆるノードの呼出しマネージャに必要である。オープンしている論理装置はすべ てクローズされる。ボートに接続された論理装置がある場合は登録取消しプロセ スの一部として破壊され、次いで、接続されたチャネル全体が破壊され、適当な 事象がレイズされる。
ノードしあるサポート・システムを通常の方法でクローズするために、アプリケ ーションによって遮断要求を発行することができる。これによって、ローカル呼 出しマネージャで事象がレイズされ、呼出しマネージャが要求を受け入れる場合 は、他のアプリケーションで対応する遮断事象がレイズされる。次いで、これら のアプリケーションは閉止し登録を取り消す準備をして、各登録取消しが呼出し マネージャに通知される。すべてのアプリケーションが登録を取り消したことが 呼出しマネージャに通知された後、前記呼出しマネージャも登録を取り消して遮 断を完了する。
サポート・システムの通常の操作は、呼出しマネージャの存在によって変化する 。既存の呼出しマネージャを他の呼出しマネージャと交換することが可能である が、既存の呼出しマネージャは、その要求を拒否することができる。
アプリケーションは、”5hare app”要求を発行してアプリケーション 共用セットを指定することによって、共用セット中の他のアプリケーションに加 わることができる。通常の場合には、ターゲット・アプリケーションとノードを 共に名前で指定する。あるノードにあるアプリケーションが他のノードにすでに 存在するアプリケーション・インスタンスと名前によって共用を行いたい場合の 手順は次のとおりである。ノード1にあるapp 1が、それ自体のアプリケー ション・ハンドルおよびノード・ハンドルを発信元として、app 2およびノ ード2の名前をターゲットとして指定した”5hare app”要求を発行す る。ノード1にある呼出しマネージャによる検証の後、サポート・システムによ って、ノード2にある呼出しマネージャに適切な要求が送信される。この呼出し マネージャが要求を受け入れる場合、要求はapp Z上に渡され、app 2 は、それが共用の受入れを希望していることを示す確認を返すことができる。こ の方式は、アプリケーション共用においてかなりの柔軟性を提供する。各呼出し マネージャは、アプリケーションが”5hare app”要求の発信元であれ 、ターゲットであれ、そのノードでの共用活動を知る。
呼出しマネージャは、共用要求の受信時に、(i)共用自体を処理する、(ii )共用要求を転送する、(iii)共用を拒否する、(iv)共用を処理する新 しいアプリケーションをローンチする、(V)アプリケーションおよびノード名 を変更するというオプションを有する。
アプリケーションは、ローンチされるとき、アプリケーション共用セットのメン バではない。発信元アプリケーションは、” 5hare−app”要求を発行 するとき、その結果得られる共用セットを命名するオプションを有する。共用セ ットを命名しない場合、ターゲットが名前を供給しなければならない。
共用を行った後、ターゲットと発信元は共に、この名前の新しい共用セットに加 わる。発信元またはターゲット、あるいはその両方がすでに、これと同じ名前の 共用セットのメンバだった場合、それらの共用セットは新たに作成された共用セ ットと組合わされる。アプリケーションは、”unshare、、−app”要 求を使用して共用セットを抜けることができる。
データ送信および受信 アプリケーションがデータを交換するための機構が4つある。
(i)ユーザ情報文字列 これは実際上、API呼出し中のパラメータとしてサポート・システムに渡され 、次いでターゲット・アプリケーションに渡される文字列である。
(ii)信号関数呼出し このコマンドは、アプリケーションの間で制御情報を送信できるようにし、単一 の共用セット内のアプリケーションだけに制限されない。使用されるAPI呼出 しに応じて、応答が提供されることも、提供されないこともある。この方法が異 なるノード自体のデータ制御フローのために該ノード上のサポート・システムの 間に確立された通信経路を使用するため、この技術は、軽いデータ・トラフィッ クに制限されることに留意されたい。
(iii)チャネル送信 チャネルは、アプリケーションの間のボリューム・データの転送をサポートする ものである。チャネルは、転送特性を制御する手段だけを提供する。チャネルの 使用は、同じアプリケーション共用セット内のアプリケーションだけに制限され る。チャネルの作成を要求する際は、ターゲット・アプリケーション・ハンドル 、チャネル・セット・タイプおよび識別子、データ・クラス、最大バッファ・サ イズ、ユーザ出口、ノード・ハンドル、サービス品質、接続タイプ、ボート事象 ハンドラ、ユーザ情報の情報を指定する。チャネル作成の代替手法は、既存の組 合せチャネル・セットまたは直列化チャネル・セットをもつアプリケーションが アプリケーション共用に関与しているときに作成されたチャネルを利用すること である。
データは、アプリケーションによってチャネルを介してデータ単位で送信される 。物理レベルでは、データ送信の単位はフレームである。ある種のデータはスポ イル可能である。
すなわち、ある状況の下では、サービス品質要件を満たすようにデータを送れな い場合、そのデータを破棄することができる。パケットによっては、スポイル可 能とマーク付けできるものと、そうできないものがある。スポイラ・パケットは 、存在する場合、それに関連するスポイル可能パケットを削除する。この技術は たとえば、あるパケットがデルタ・フレーム・パケットで、他のパケットが完全 フレーム・パケットである、ビデオ用のバッファ管理方式の実施態様をサポート する。完全フレームが利用できる場合、選択されたデルタ・フレーム・パケット ・シーケンスを削除することができ、かつ削除しなければならない。
(i v)論理装置 ある特殊な状況では、論理装置を使用してデータを交換するのが妥当である。単 一の論理装置が、複数のアプリケーションにボートを提供することができる。論 理装置は次いで、ポートの間でデータを移動することができる。この転送機構は 、同じ共用セット内のアプリケーションだけに制限されず、したがってチャネル に課された限界を解消する。しかし、論理装置は複数のノードをカバーすること はできない。さらに、必要なサービス品質サポートは、特定の論理装置によって 明示的に提供しなければならない。
サービス品質の折衝 アプリケーションは、サービス品質および帯域幅の折衝および制御に関して異な るニーズを有する。たとえば、以下のものが必要になることがある。
O事前に決定された一定のサービス品質、たとえば0.711音声 Oチャネル作成時に柔軟であり、その後は一定である要件、たとえばファイル転 送 Oチャネル資源の単一アプリケーション管理、たとえば、制限された帯域幅条件 の下で、すなわち、データ・トラフィックを許可するためにビデオ品質を間欠的 に低下させなければならない場合に、アプリケーションがビデオ、音声、データ などの複数のデータ・タイプを伝達する。
Oチャネル資源のアプリケーション間管理、たとえば、一群のアプリケーション が、制限された帯域幅条件の下で複数のデータ・タイプを伝達し、該データ・タ イプの活動を、異なるタイプのデータ・トラフィックのための優先順位変更とし て調整する。
ある種のアプリケーションは、他のアプリケーションと通信するのに必要なチャ ネルの固定サービス品質要件を有する。
このような場合には、”create channel”要求を使用してチャネ ルを直接確立することができる。この要求上のパラメータは、受信側アプリケー ションと、チャネルと送信側ポートとの特性を識別する。資源が利用可能であり 、受信側アプリケーションが要求を受け入れる場合、チャネルが作成される。
一部のアプリケーションは、サービス品質要件がより柔軟であり、特定のノード に何が利用可能かを判定し、次いで”create channel”要求のパ ラメータを設定する際にこの情報を使用する必要がある。これは、ターゲット・ ノードを指定する”querJresource”コマンドを介して行う。この 後の”create channel”は、通信資源をめる競争がない場合、前 と等しいか前よりも低いサービス品質を要求して、要求を満たしてもらうことが できる。
他のアプリケーションは、柔軟なサービス品質要件を有するが、多数のチャネル に対して指定を行う必要がある。このためには、アプリケーションが資源を予約 し、次いでこの予約されたプールから割振りを行う必要がある。
これは、資源セット識別子、サービス品質、およびターゲット・ノードを指定す る”claim resource″′コマンドによって行う。このコマンドは 、その資源を予約して、指定された識別子と関連付ける効果を有する。この識別 子は次いで、その後の”create channel”コマンドで指定するこ とができ、この場合、そのようなリザーブから資源が割り振られる。
” query resource”コマンドを使用して、資源セット中の残り の資源を判定することができる。
ある種のアプリケーションは、実行時にチャネル特性を動的に変更する必要があ る。たとえば、利用可能な帯域幅をチャネルごとに再割振りしなければならない 。これは、資源セット識別子を指定する” change channel ” 要求を介して行うことができる。資源は、その識別子に関連する資源に与えられ 、あるいは後者の資源から取られる。この技術によって、たとえば、固定資源を アプリケーション間通信用に確保し、次いで、トラフィックに応じて動的に再割 振りすることができる。たとえば、ビデオ帯域幅を一時的に削減して、より高速 のファイル転送を可能にすることができる。
資源セット識別子は、アプリケーション・インスタンスにローカルであり、1つ の特定のサービス品質に適した資源をアプリケーションは、チャネルを作成する 際に、あるいは後でチャネルに割り振るために資源を予約する際に、サービス品 質特性を指定することができる。この場合、チャネルは物理リンク上にマツプさ れる。論理チャネルを介してアプリケーションによって送信されるデータ・パケ ットは、リンクを介して送信されるデータ・フレームとして実施される。
リンクは交換リンクであれ固定リンクであれ、順序と、タイムアウト・パラメー タと、サービス品質特性によって特徴付けられる。順序は、サポート・システム が、適切なデータ送信特性があればリンクの選択が可能であると仮定して、リン クをデータ送信に使用しようとする順序を決定する。交換リンクであれ、固定リ ンクであれ、順序とタイムアウト・パラメータは初期設定ファイルに指定する。
任意選択でサービス品質特性を含むリンク記述は、サポート・システムの外部の リンク・データベースに記憶される。
サービス品質情報用のデフォルトは初期設定ファイルに含まれている。データベ ースは、サポート・プログラムによって呼び出される、導入先が供給した実行可 能ファイルによってアクセスされる。ディジタル・リンクに関連するサービス品 質パラメータは、スループット、待ち時間、ジッタ、フレーム・サイズ、フレー ム・エラー・レート、フレーム再伝送時間、圧縮ヒント、暗号化である。
アプリケーションが論理チャネルを介して必要とするサービス品質を特徴付ける ために使用される主要パラメータは、スループット、待ち時間、ジッタ、パケッ ト・サイズ、パケット・エラー・レート、暗号化、圧縮ヒント、優先順位である 。サポート・システムが、チャネルの間に資源競合が存在すると仮定して、その ノードにあるすべてのチャネルを介したデータ送信を実行しようとする順序を指 定するチャネル優先順位と、送信の損失またはエラーのために送る必要のない受 入れ可能なランダム比率のパケットを指定するパケット・エラー・レート(サポ ート・システムがこのような限定に従うという保証はない。ここでゼロを指定す ると、アプリケーションにあらゆる失敗が通知される)を除き、これらのパラメ ータの大部分は、対となるリンクを反映する。
上記の情報は、アプリケーション間通信にどのリンクを使用すべきかを判定する ために使用される。リンクのタイプやサービス特性などの情報を含むデータベー スは資源インタフェースを介してアクセスできるが、チャネル情報はアプリケー ションから得られる。サポート・システムは次いで、(a)異なるノードにある サポート・システムの間で制御情報を交換する必要と、(b) リンクに関連す る順序値とを考慮に入れて、完全に満たされたチャネル要件と、完全に満たされ た利用可能リンク情報との一致に基づいて、使用するのにふされしいリンクを選 択する。
ソフトウェアおよびハードウェアの圧縮と暗号化が共にサポートされる。物理リ ンク上のハードウェア機構は、オプションの様々な組合せを、それぞれが特定の 転送特性に関連する異なる利用可能リンク・タイプとみなすことによって収容さ れる。ソフトウェア・ルーチンも使用できるが、特定の待ち時間要件およびジッ タ要件を設定していない場合は呼び出されない。
リンク情報を検索するために使用されるRLI呼出しも、必要に応じて、サポー ト・システムの外部で複雑な経路選択プロセスを実行できるようにするために、 すべての必要なチャネル・サービス品質特性を供給する。この機構を介して、外 部ルーチン自体が、適切な経路を決定し、その経路をサポート・システムに返す ことができる。この必要がある例は、送信コストが時刻によって変わることであ ろう。
チャネルをもつアプリケーションが相互に共用を行うとき、アプリケーションの 既存のチャネルが同じ名前の組合せチャネル・セットまたは直列化チャネル・セ ットに属する場合、サポート・システムは追加チャネルを作成する。そのポート にふされしいサービス品質によって、各送信側ポートからこのような新しいチャ ネルを確立することが試みられる。すなわち、暗示的に作成されたチャネルが、 そのポートから1つの既存のチャネルを介して送信する予定のデータ・パケット を首尾よく転送できるような特性をもとうとする。場合によっては、利用可能な 物理リンクの機能によって課される制限のために、そのような特性をもつチャネ ルを作成できないこともある。しかし、すべての場合に、チャネルが作成され、 チャネル機能が重要である可能性が大きい場合、それを照会することは、アプリ ケーション・プログラムの責任である。
ノードの間のチャネルは、単一の物理リンクまたは複数の直列接続リンクを介し て実現することができる。2つのノードの間に存在する物理接続を経路と呼ぶ。
a)永続ディジタル・ネットワーク サポート・システムは、専用リンクであれ、共用リンクであれ、交換リンクであ れ、永続リンクであれ、ノードの間のディジタル・リンクと共に動作する。共用 リンクは、帯域幅管理機能を使用しないかぎり、予測できない待ち時間特性およ び帯域幅特性を有する。そのような特徴によって、永続リンクには交換接続の特 性が多数与えられている。
b)永続アナログ・ネットワーク サポート・システムは、以下の状況で、ディジタル通信と非常に類似した方法で アナログ通信をサポートする。
○ノードの間にアナログ・リンクが存在する。
○各ノードでの接続性および経路指定を、そのノードにあるシステムによって制 御することができる。
○ノードの間にディジタル制御チャネルが存在する。
アナログ・チャネルは、送信側アプリケーションによって確立される論理的に専 用の単一方向通信リンクであり、複数の受信側アプリケーションで終了すること ができる。このチャネルは、そのサービス品質特性によってディジタル・チャネ ルと区別することができる。このアナログ・チャネルを終了するポートは、アプ リケーションにデータを供給することも、アプリケーションからデータを受信す ることもできないので、空接続タイプを有する。標準チャネルまたは組合せチャ ネルだけしか確立できず、直列化チャネルおよび同期チャネルは許可されない。
論理装置は、オープンされると、アナログ・ポートを提供することができる。し たがって、ビデオ・プレーヤ装置をアナログ・ビデオの発信元として使用するこ とができ、APIコマンドを介してアナログ・チャネルに接続することができる 。アナログ・チャネルとディジタル・チャネルの直接接続は許可されない。しか し、ある装置、たとえば符複合器は、オープンされるとアナログ・ポートとディ ジタル・ポートを共に提供し、そのような結合を有効化するために使用すること ができる。
C)交換ディジタル・ネットワーク 交換ディジタル・ネットワークは、接続の交換性の影響を受けずに、サポート・ システムによってノード間通信に使用することができる。資源インタフェースを 介してアクセスされた情報は、非活動状態の交換接続をいつ終了すべきかを決定 するためにシステムによって使用される。
交換ネットワークに接続された、ディジタル電話などの機器は、アプリケーショ ンによって2つの方法のうちの1つでアクセスされる。簡単な接続だけが必要な 場合、電話を仮想ノードで実行する仮想電話アプリケーションとみなすことがで きる。電話との接続は、仮想ノードをターゲットとして指定する共用要求によっ て開始され、ローカル・ノードに関連する電話とリモート電話の間に電話呼出し が確立される。着信電話呼出しは同じように、すなわち共用要求として処理する ことができる。
電話を論理装置としてアクセスすることもできる。したがって、I SDN電話 装置をオープンして、関連する事象接続タイプまたはコマンド接続タイプの受信 側ポートおよび送信側ポートを提供することができる。ダイアリングおよびその 他の制御機能は、”signal port”コマンドを介して実施される。デ ィジタル電話機器の間のサード・パーティ接続は同様に、該当する装置へのコマ ンドによって影響を受ける。これは、ローカル・スイッチへのコマンドを介して 物理的に実施される。
データまたは経路指定を動的に修正する潜在的に活動状況の分岐制御装置、たと えばオーディオ・ビジュアル通信用のCCITT勧告を実施するMCUをアプリ ケーションに対する装置として使用することもできる。
d)交換アナログ・ネットワーク 公衆交換網に接続されたアナログ電話およびその他の機器は、ディジタル電話と 同様に、仮想ノードで実行する仮想電話アプリケーションとして、または論理装 置を介してアクセスすることができる。PSTN電話論理装置をオープンして、 空接続タイプのポートを提供することができる。すなわち、該ポートはアプリケ ーションにデータを供給することも、アプリケーションからデータを受信するこ ともできない。
”signal port”コマンドは、装置を制御するために使用される。フ ァースト・パーティ接続は、ローカル回線にダイアリング・トーンを挿入するモ デム、サード・パーティ接続、およびローカル・スイッチへのコマンドを介する 多方向呼出しを介して実施することができる。
unawareアプリケーションとのインタフェース 。
サポート・システムは、unawareアプリケーションを協調作業に使用でき るようにする機能を提供する。awareアプリケーションは、ユーザ・インタ フェース・ダイアログを供給し、仮想装置を介して特定のunawareアプリ ケーションと対話する。
この同じawareアプリケーションは次いで、リモート・ノードにある関連a wareアプリケーションと通信し、リモート・ユーザに情報を渡す。そのよう なアプリケーションの幾っがは、汎用ユーティリティとして含められている。
共通要件は、第11図に示すように、unawareアプリケーションのアプリ ケーション・ウィンドウをリモート・ノードで表示することである。実施態様は 次のとおりである。ノードXにあるawareアプリケーションA8がユーザと 対話して、ここではunawareアプリケーションUxと仮定された必要なウ ィンドウを識別する。AXは次いで、適切なパラメータによってウィンドウ表示 論理装置をオープンする。この効果は、ウィンドウ・データのコピーを得るため のポートを生成することである。Axは、宛先ノードYにあるawareアプリ ケーションAYに至るチャネル上のポートにこれを接続する。AYは次いで、実 際のウィンドウ論理装置をオープンして、作成されたポートを受信側チャネル・ ポートに接続する。データが、ノードの間を流れ、それ以上アプリケーションA 8にもAYにも干渉されずにYで表示される。ウィンドウ論理装置オープン要求 で利用可能なオプションによって、アプリケーションはビット/ピクセル、更新 の頻度、データ・フォーマット(たとえば、テキスト、ビット・マツプ、および 組込みポインタ位置のオプション)などのパラメータを指定することができる。
unawareアプリケーションUつの共用ウィンドウ上のリモート・ポインタ をAXおよびAYで処理し、対話型データ・クラスに適したチャネルをセット・ アップすることができる。次いで、各ノード上の実際のポインタを使用して、共 用ウィンドウ中の機能を識別する。これは、指示したい各ユーザがポインタを共 用ウィンドウ内に移動する、などのアルゴリズムによって行うことができる。ポ インタが共用ウィンドウ中にあるとき、その座標が共用アプリケーションに送信 される。
次いで、組合わされた座標を使用して、ポインタが制御される。この結果、だれ であれ、最後にカーソルを移動した人が、すべてのリンクされたポイントを位置 決めすることになる。
リモート印刷とリモート・ファイル生成は同様に、論理装置を介して行う。印刷 の場合、発信元ノードにプリンタ・エミュレータ装置を設置する。この装置がユ ーザによってプリンタ装置として選択されると、その結果、プリンタ・データ・ ストリームがボートにリダイレクトされる。このストリームは次いで、awar eアプリケーションを介して、宛先ノードにある実際のプリンタ装置に接続され る。この汎用技術は、動的データ交換(DDE)やシステム・クリップボードな どの他の機能の範囲で拡張される。
アプリケーションまたはシステムのリモート制御は直接には供給されない。しか し、リモート制御を実行するアプリケーションをAPIより上位で実現すること ができ、Lakesはグループ通信およびマルチメディア・データ送信機能を提 供する。
プログラミングの留意事項 a)プログラム呼出しタイプおよび構造APIへのプログラム呼出しは一般に、 要求、指示、応答、確認シーケンスになる。サービスを必要とするアプリケーシ ョンAは、適切なパラメータを供給してそのサービスを要求する。要求は通常、 他のアプリケーション已にその要求を認識させることを必要とする。このための 機構は、アプリケーションBで指示として出現する非送信請求事象である。この 指示事象に対してBが取るアクションは、適切なデータをもつ応答としてサポー ト・システムに与えられる。システムは、この情報を確認事象として再びアプリ ケーションAに渡す。
これを、チャネルにボートを追加する上で関与するシーケンスの例を使用して第 12図に示す(図を単純にするために、パラメータはいっさい示さない)。
API呼出しは、特定の機能に応じて、同期呼出しでも非同期呼出しでもよい。
同期呼出しは、要求が完了すると制御を戻す。非同期呼出しはただちに制御を戻 す。アプリケーションが非同期呼出しの進行を監視できるようにするために、こ れらの呼出しは参照識別子を含む。この識別子は、要求が満たされ、状況を得る ために照会を発行できるようになるまで、有効である。この同じ識別子を使用し て、保留中の要求を取り消すこともできる。呼出しはすべて、呼出し状況を示す リターン・コードを返す。
b)アドレス可能性 アプリケーションは、ノード名を使用してノードへのアドレス可能性を要求する 。この名前はまず、それを修正するオプションを有するローカル呼出しマネージ ャに渡される。その結果得られる名前は次いで、接続性情報を判定するためにサ ポート・システムによって使用される。接続性情報の判定は、資源インタフェー スを使用する、外部に保持されたネットワークおよびユーザ・データベースへの アクセスを必要とする。したがって、サポート・システムは、第2図の資源イン タフェース29を介するネットワーク構成への照会を介してその名前に関する物 理アドレス可能性を判定する。このノード名の分解能を反映するノード・ハンド ルがアプリケーションに返される。1つのアプリケーションから他のアプリケー ションへのアドレス可能性にはアプリケーション名の分解能が必要である。両方 のアプリケーションが同じノードにある場合、ローカル呼出しマネージャがこの 分解能を実行することができ、そうでない場合は、両方の呼出しマネージャが関 与しなければならない。この分解能の結果、アプリケーション・ハンドルによっ て、ターゲット・アプリケーションが発信元アプリケーションに対して識別され る。アプリケーション名を使用する呼出しは常に、分解能のために呼出しマネー ジャに渡される。アプリケーション・ハンドルを使用する呼出しは、指定された アプリケーションに直接向かう。
アプリケーションがチャネルを作成するとき、チャネル・ボートへのアドレス可 能性が、ボート・ハンドルを返すシステムを介して提供される。同様に、論理装 置をオープンすると、装置ボート・ハンドルが得られる。
すべてのハンドルは、使用する側のアプリケーションに特有のものであるが、他 のアプリケーションまたはノードに渡される場合は有効でな(なる。
C)事象クラスおよび事象ハンドラ API要求は、事象および呼出し制御を援助するために提供される。”begi n monitor”要求によって、アプリケーションはノードでの要求および 事象を監視することができる。監視の範囲は、以下のものの1つから監視クラス を選択することによって制御される。
All:すべでの事象またはAPI呼出しApplication Signa lling :信号事象/APIAPI呼出1l manager :呼出しマ ネージャ事象/API呼出しData :データ送信事象/API呼出しDev ice :装置事象/APIAPI呼出n1tor :モニタ事象/API呼出 しPort :ポートおよびチャネル事象/API呼出しProfile ニブ 07フイル事象/API呼出し5hare :共用および非共用事象/API呼 出し5ynchronisation :同期事象/APIAPI呼出ken  ニド−クン事象/API呼出し監視の範囲は事象クラス・レベルまたはAPIク ラス・レベルで制御される。事象は、データがあってもなくても監視することが できる。監視は、”end monitor”コマンドによって終了する。アプ リケーションは、”enable−events”コマンドおよび”disab le events’″コマンドを使用して、どの事象を受信すべきかも決定す る。有効な事象クラスは以下のとおりである。
All:すべでの事象 Device :装置事象 Port :ポートおよびチャネル事象Profile:プロファイル事象また はAPI呼出しSharing :共用要求事象またはAPI呼出しデフォルト の事象ハンドラは、アプリケーションを介して明示的に処理されないすべての事 象に対する応答を生成する。
事象は、登録された事象ハンドルによって処理される。
awareアプリケーションには4つのタイプが存在できる。
Application :これは、一時事象ハンドラであり、awareアプ リケーションの一般動作に関連する主な事象を処理する。
この事象ハンドラは、呼出しマネージャを含むすべてのawareアプリケーシ ョンに存在しなければならない。
Ca1l manager :これは幾分特殊であり、アプリケーション登録、 名前分解能、遮断要求、受動ノード、呼出しマネージャ転送、およびグローバル ・トークン状況に関する事象を処理する。この事象ハンドラがすべての呼出しマ ネージャになければならない。
Port−event、 handler :複数のポート事象ハンドラが存在 でき、それぞれがデータ通信関連事象を処理する。
Mon1tor :これは任意選択で存在し、すべての事象監視を処理する。
d)その他のプログラミング機能 データ・トラフィックを監視し、あるいはデータを処理するように、すべてのチ ャネル・ポートをユーザ出口と関連付けることができる。送信側ポートの場合、 ユーザ出口は、データが受信側ポートに送信される直前に呼び出される。受信側 ボートの場合、ユーザ出口は、データが受信側ボートに到着した直後であるが、 受信側アプリケーションに提供される前に呼び出される。データはユーザ出口に 移動しなければならないので、接続されているポート上にユーザ出口ルーチンを 指定すると性能に影響が及ぶことがある。
アプリケーションが状況情報を追跡しなくて済むように、完全な1組の照会が提 供されている。
アプリケーション・プログラム・デバッグは、最初に単一のノードで協調アプリ ケーションを動作させることによって簡単にすることができる。これによって、 プログラム開発の初期段階で物理ネットワークが不要になる。
APIより下位にユーザ・インタフェースは存在しない。
すべてのユーザ対話は、アプリケーション・プログラム、または資源インタフェ ースを介して要求を実行するコードの責任である。
ユーティリティ コマンド・インタフェースを介してアクセス可能な共通機能を提供することによ って、エンド・ユーザに有用な機能をただちに提供し、新しい協調アプリケーシ ョンを開発するのに必要なプログラミング作業を削減するために、多数の事前に プログラムされたユーティリティが提供されている。
スヘてのユーティリティは交換可能なアプリケーション・プログラムである。提 供したユーティリティの構造を第13図に示す。供給したユーティリティは、プ ログラム・グループとしてインストールされ、協調する一連のアプリケーション として設計されている。主要なユーティリティ機能は、ユーザが直接呼び出すだ けでなく、”signal”コマンドによって他のアプリケーション・プログラ ムから呼び出すこともでアドレス・ブック・ユーティリティ100によって、エ ンド・ユーザはディレクトリおよび接続性情報を追加し、削除し、更新すること ができる。データは、標準プログラムで容易に編集される簡単なファイル構造に 記憶される。ただし、他の潜在的により広範囲で複雑なアドレス・データベース とのインタフェースをとるための機構が提供されている。ユーザ・データをフォ ーン・ブックという論理集合にグループ化することができる。ユーティリティ・ インタフェースは直接、呼出しマネージャとのインタフェースをとる。また、資 源インタフェースを介して照会に応答する。
ii)呼出しマネージャ 呼出しマネージャ・ユーティリティ101は、呼出しの概念を実施する。呼出し とは、一群のユーザが共用アプリケーションを使用することによって協調するこ とを言う。いつでも複数の呼出しが存在でき、ユーザは複数の同時呼出しに参加 することができ、同じアプリケーションを複数の呼出しで実行することができる 。たとえば、ユーザA1B、Cは文書を検討するために呼出しXに参加すること ができる。すべてのユーザが相互に音声通信を使用することができ、AとBはビ デオ・リンクも、AとCは共用チョークボードも有することもできる。一方、A 、B、Dは第2の文書を検討するために第2の呼出しyに参加することができる 。AとDはチョークボードを、BとDは音声リンクを使用する。
APIには呼出しの概念が存在しないが、アプリケーション共用セットを介して 呼出しマネージャによって実施される。
このサポートを提供することによって、呼出しセットアツプや切断にaware アプリケーションを関与させる必要がな(なり、呼出し管理とアプリケーション ・プログラミングが明確に分離される。呼出しマネージャは、エンド・ユーザが アドレス・ブックから名前を選択し、分岐呼出しを論理的に確立するためのダイ アログを提供する。パーティを動的に追加し、削除することができる。提供され るオプションは、自動応答および呼出し禁止を含む。ある呼出しが現行活動呼出 しとみなされ、共用アプリケーション・セットは通常、呼び出されるところの呼 出しに追加される。現行活動呼出しは、他の呼出しがセットアツプされている間 は背景に移される。
b)ユーザ・ユーティリティ i)アプリケーション・アシスタント このユーティリティは、呼出し中のユーザのために以下の機能を実施する。
○既存のアプリケーション・ウィンドウをスナップショットとして、または連続 的に直接ミラーリングし、システム・ボインティング・デバイスをリモート・ポ インタとしてイネーブルにする。
○システム・クリップボード・サポート。すなわち、あるノードにあるシステム ・クリップボードの内容を任意選択で他のノードで共用し、あるいは表示する能 力O異なるノードにあるアプリケーションの間に確立できるリモートDDEリン ク O他のノードにあるプリンタへの印刷のりダイレクトii)チョークボード チョークボード103は、2つのイメージ・プレーンをもつ共通描画領域を実施 する。この描画領域には、呼出し中のすべてのユーザがアクセスできる。背景プ レーンは、ビットマツプ・ファイル、システム・クリップボード、またはアプリ ケーション・ウィンドウの内容からロードすることができる。前景プレーンは、 一連の簡単なテキストおよびグラフィクス・ツールを使用する対話型注釈に使用 することができる。
チョークボード上のリモート・ポインタもサポートされる。
1ii)ファイル転送 ファイル転送104によって、呼出し中のユーザの間のファイルの送信が可能に なる。1つまたは複数のファイルを転送することができ、ファイルをコメントと 共に送信することができ、元のファイル名を宛先が利用できるようになる。受信 側ノードはファイル受信およびファイル命名を完全に制御メツセージ行105は 、呼出し中のユーザの間でテキスト・データを直接共用できるようにする。複数 の同期ユーザが許可され、各参加者はすべての交換されるメツセージを同じシー ケンスで見る。メツセージ・ユーティリティは、呼出しセット・アップおよび終 了、ファイル転送などの、呼出し時の活動も記録する。実際の実施例では、この ユーティリティを呼出しマネージャの一部として提供している。
■)ビデオ/音声リンク このユーティリティ106によって、呼出し中のユーザの間にビデオおよび音声 リンクを確立することができる。利用可能な厳密な機能は、物理ネットワークの 機能とワークステーションのハードウェア・サポートによって異なる。
規格 全体的なアーキテクチャは、広範囲の協調アプリケーションをサポートするもの である。インタフェースは、実施できるアプリケーション・モデルの範囲に対し て重大な制限を課さないように、できるだけ高いレベルにセットされている。
関与する透過ネットワークの性質は完全にAPIより下位に隠されている。これ は、アプリケーションがネットワーク経路指定(たとえば直接または間接)と関 与するネットワーク・タイプ(たとえば、単一リンクまたは複数リンク、交換接 続または固定接続)を完全に知っていることを意味する。この手法の結果、たと えば特定の通信サービス品質をめる要求が失敗する恐れがあることを予期してア プリケーションを書かなければならない。なぜなら、基礎ネットワークが必要な 機能を有していないことがあるからである。
サード・パーティ・アプリケーションが他のアプリケーションの代わりに動作す ることを要求できるようにエージェント原理が実施されている。これによって、 呼出しマネージャ°アプリケーション、電話アプリケーション、および交換アプ リケーションを開発することができる。現在の技術の状態では、アナログ・ネッ トワークおよび装置をサポートすべきである。アプリケーションの移行を容易に するために、アナログ・ネットワークをディジタル・ネットワークのように扱う ことが試みられている。
APIレベルで、使用される主要概念の1つは、アプリケーション共用セットの 概念である。アプリケーションは、他のアプリケーションと協調するとみなされ 、この協調のための機構は、アプリケーションが、指定された共用セットに相互 に参加することである。そのようなアプリケーション共用セットの肝要な点は、 すべてのセット・メンバが他のすべてのメンバの状況に関する情報を受信するこ とである。セットに参加することは、アプリケーションが関心をもつものを宣言 する方法である。これに対し、呼出しの概念は、APIより上位、特に呼出しマ ネージャに存在する。異なる呼出しマネージャが異なる呼出しモデルを有するこ とができる。
アプリケーション共用セットの他に、チャネルもアーキテクチャの基本概念であ る。同報通信と2方向通信を共に効率的にサポートするための基礎通信ビルディ ング・ブロックとして1方向チヤネルを使用している。チャネルは、送信側アプ リケーションによって確立され、受信側アプリケーションによって受け入れられ る。というのは、データをどのように送信すべきかを示すデータの特性を知って いるのは送信側アプリケーションだけだからである。2つのアプリケーションは 共に、それぞれのボートに供給し、あるいは前記ポートから受信すべきフォーマ ットを独立に制御することができる。
各種のデータ・フロー用の複数の論理チャネルによって、サポート・システムは 基礎転送ネットワークにトラフィックを正しく割り振ることができる。さらに、 サポート・システムは、データが、それぞれが別々に記述された別々の同種フロ ーで他のアプリケーションに提供されるようにする。このようにアプリケーショ ン間のトラフィックを別々のデータ・タイプに分割することによって、サポート ・システムはデータ変換機能を提供することができる。
チャネルの接続およびウェルドによって、アプリケーションがもはやデータの移 動に関与しな(なるように、データの転送をAPIより下位にすることができる 。サポート・システムは、場合によっては、そのノードにある非常に低いレベル での接続を有効化するか、フローの経路をそのノードに向かわないように変更す る接続を有効化するかのオプションを有する。
サポート・システム・アーキテクチャは、異なるコンピュータ・プラットフォー ムの間の相互作用を許可し、様々な通信ネットワークを介して動作し、関連する 通信およびデータ規格をサポートするように設計されている。
データ・トラフィックを同種データの論理1方向フローに分けることによって、 混合ネットワーク上へのマツピングが簡単になり、ノードの間で異なる機能の複 数の物理リンクを使用できるようになる。データ多重化は、アプリケーションよ り下位で処理され、基礎転送機構に応じて異なる方法で、たとえば、各論理フロ ーをそれぞれの物理リンクに割り振ることと、サポート層中のすべてのデータを 多重化することを組み合わせ、あるいは多重化の態様を装置ドライバに任せるこ とによって、実施することができる。この手段によって、複数のチャネル、1s o−LANまたは1so−Ethernet 、あるいはCCITT H320 勧告を使用するl5DNを介して、音声、ビデオ、およびデータ・トラフィック を送信することができる。サービス品質要件は、必要な転送機能に対して条件を 課す。したがって、音声およびビデオには通常、優先順位および帯域幅管理を伴 う方式を介して実施される、等時機能をもつ専用物理リンクまたは共用リンクが 必要である。
データ構成要素が別々に提供され、該構成要素の性質およびフォーマットが独立 に得られるので、チャネルによって提供される別々の論理データ経路は、該経路 に関連するデータ・タイプと共にアプリケーション間動作を容易にする。サポー ト・システムがネットワークでデータ変換を実行できるため、この機構を介して 、音声、ビデオ、イメージ、ファイル転送、およびコード化データに関する広範 囲の既存の規格をサポートすることができる。システムは、リモート・プリンタ 、カーソル、ジエスチャなどの、協調アプリケーションで一般に使用される対話 オブジェクト用の別々のデータ・クラスも提供する。
APIコマンドの概要 以下で、API呼出しで提供される主要な機能について詳細に説明する。この趣 旨は適用範囲の概要を述べることにすぎないので、実際の呼出しの構文およびパ ラメータについては説明しない。
API機能要求 セツションおよびアプリケーション共用cancel request :前の 非同期要求がまだ満たされていない場合にその要求を取り消す。
deregister app :アプリケーション・インスタンスによって、 APIの使用を終了するために発行される。
1aunch al)I) :あるアプリケーションによって、他のアプリケー ションを呼び出すために発行される。
register app : Q行側アプリケーション・インスタンスをワイ ヤとして識別し、アプリケーション事象ハンドラを確立する。
5et−call manager :そのノード用の呼出しマ、ネージャを識 別し、呼出しマネージャ事象ハンドラを確立する。
5hare app :アプリケーション・インスタンスが、あるアプリケーシ ョンと他のアプリケーションの共用を要求するために発行する。
shutdown node :アプリケーション・インスタンスによって、そ のローカル・ノードにあるサポート・システムの遮断を要求するために発行され る。
unshare app :アプリケーション・インスタンスによって、あるア プリケーションと他のアプリケーションの共用を終了するために発行される。
装置およびボート add channel :指定されたアプリケーション・インスタンス中で、 指定された送信側ポートに他のチャネルを追加する。
change channel :指定されたチャネル特性を変更する。
change device characteristics :指定された 装置特性を変更する。
change port :指定されたボート特性を変更する。
claim resource :特定のサービス品質に関連する資源の資源マ ネージャに対する呼出し close device port :定義された装置上の関連するボートを クローズする。
connect ports :指定された受信側ボートを指定された送信側ボ ートに接続する。
create channel :発行側アプリケーションにある送信側ボート と、指定されたターゲット・アプリケーションにある受信側ポートから成るデー タ送信チャネルを作成する。
disconnect ports :指定された送信側ポートから指定された 受信側ポートを切断する。
open device−port :定義された装置上のボートをオープンす る。
remove channel :指定された受信側ポートと指定された送信側 ボートに関連するチャネルを削除する。
request resource :特定のサービス品質に関連する資源の資 源マネージャに対する照会 resume port :指定されたボートを介してデータ送信を再開する。
signal port :指定されたボートを介して制御文字列を送信する。
5uspend−port :まだ受信されていないデータをドレーンまたはフ ラッシュした後に、指定されたボートを介するデータ送信を中断する。
weld connection :指定された受信側ポートと送信側ポートの 接続を永続的にする。
データ送信および受信 receive data :指定された受信側コマンド・ポートからデータを 受信する。
5encjdata :指定された送信側ボートを介してデータを非同期的に送 信する。様々な送信肯定応答を要求することができる。
signal :サポート・システムが確立した制御チャネルを介して、サポー ト・システムまたはアプリケーションが定義した制御データを、指定されたアプ リケーション・インスタンスに送信する。
signal app with reply:サポート・システムが確立した 制御チャネルを介して、サポート・システムまたはアプリケーションが定義した 制御データを、指定されたアプリケーション・インスタンスに送信し、応答デー タを返す。
5tart 5ync:指定されたチャネル・セットに関連する受信側ボートを 介して受信されたデータの同期を開始する。
5top 5ync :指定されたチャネル・セットに関連するすべての受信側 ボートのデータの同期を停止する。
トークン管理 get token +指定されたグローバル・トークンまたはアプリケーショ ン・トークンをただちに、排他的に保持し、あるいは共用することを要求する。
give−token :指定された要求元に、指定されたl・−クンを与える 。
qget、token :指定されたグローバル・トークンまたはアプリケーシ ョン・トークンをただちに、排他的に保持し、あるいは共用することを要求し、 トークンが得られない場合は、現所有者が維持している要求待ち行列への参加を 要求する。
reclaimjoken :指定されたアプリケーション・インスタンスが保 持している指定されたトークンをただちにトークンの現所有者に返すことを強制 する。
refuse token :指定された要求元に、指定されたトークンを与え ることを拒否する。
release token :指定された保持しているトークンを現所有者に 返す。
return token :指定されたトークンを保持している指定されたア プリケーションがトークンをできるだけ早く現所有者に返すことを要求する。
set token owner :指定されたアプリケーション・インスタン スに指定されたトークンの所有者をセットする。
事象制御 begin monitor : A P I呼出しの各オカレンスを識別する 特殊監視事象を発生させ、または指定された監視事象ハンドラに標準事象を提供 する。
default event hancller :アプリケーション・プログ ラムが明示的に処理することを所望しないすべての事象に対してデフォルト応答 を返す。
disable events :指定された事象クラスの事象が発行側アプリ ケーション・インスタンスの事象ハンドラに渡されるのを停止する。
enable events :指定された事象クラスの事象が発行側アプリケ ーション・インスタンスの事象ハンドラに渡されるようにする。
end monitor : A P I呼出しの各オカレンスを識別する特殊 監視事象、または提供中の標準事象を停止する。
プロファイル管理 read profile string :プロファイル・ファイルの指定さ れたセクション中の指定されたキーワードの文字列を返す。
wtrite−profile string :プロファイル・ファイルの指 定されたセクション中の指定されたキーワードに文字列をコピーする。
API照会 query address :指定された共用セットに属するアプリケーショ ン・インスタンスの完全なフル・アドレスを返す。
query application 5tatus :アプリケーションの状 況(unaware 1aware 、または呼出しマネージャ)を返す。
query channel characteristics :指定された 送信側ボートおよび受信側ボートに関連するチャネルのチャネル特性を返す。
query−channel set :指定されたチャネル・セット中のすべ てのポートのハンドルを返す。
query device characteristics :指定された装 置の装置特性を返す。
query−device 5tatus :指定された装置の状況を返す。
query monitor : E’A在モニタ事象ハンドラに渡されている 機能または事象のクラスを返す。
query port characteristics :指定されたポート の特性を返す。
query port 5tatus :指定されたボートの状況を返す。
query resource :指定された資源セット中で利用可能な資源を 返す。
query sharing set :アプリケーション・インスタンス用の 共用セット識別子を返す。
query token holder : トークンの所有者(アプリケーシ ョン・トークンのみ)および保持者を返す。
query token 5tate :指定されたトークンの状態を返す。
API事象 呼出しマネージャ事象 APP DEREGISTERED :アプリケーション・インスタンスがAP Iの使用を終了するときの、ローカル呼出しマネージャへの事象。
APP REGISTERED :アプリケーションがAPIの使用を初期設定 するときの、ローカル呼出しマネージャへの事象CALL MANAGER−E RROR:呼出しマネージャに影響を及ぼすエラーが発生した。
CALL MANAGERREQUEST :他のローカル・アプリケーション がset call manager機能要求を発行したことを示す、ローカル 呼出しマネージャへの事象 N0DE 5HUTDOWN REQUEST :サポート・システムの遮断を める要求 PASSIVE N0DE−RELEASED :ノードが受動要求をサポート できるようにするために割り振られた資源の解除をめる指示。
PASSIVE N0DE−REQUEST : /−ドが受動要求をサポート スルタめに資源を割り振ることをめる要求 5HARE REQLIEST :指定されたアプリケーションとの共用をめる 要求 TOKEN 5TATUS−REQUEST ニゲローバル・トークンの状況を める要求 アプリケーション事象 APP 5IGNAL :信号が受信された。
APP 5IGNAL REJECTED :信号が拒否された。
APjSIGNAL−WITHREPLY : signal with re plyが受信された。
APP 5IGNAL TRANSFERRED :信号が転送された。
APjUNSHARE−REQUEST :受信側がアプリケーション共用セッ トを抜けることをサード・パーティ・アプリケーションが要求した。
APP UNSHARED :発行側がアプリケーション共用セットを抜けると いう通知が受信された。
APP−ERROR:関連アプリケーション・エラーが検出された。
N0DE−SHUTDOWN :遮断が開始された。
PORT−REMOVED :ボートが削除されたことの確認PORT−REQ UEST :受信側ポートの追加をめる要求RESOURCE−CLAIM : アプリケーションがサービス品質資源を請求すると必ずレイズされる。
RESOURCE REQUEST :アプリケーションがサービス品質資源を 要求すると必ずレイズされる。
PROFILE CHANGED : LAKES、 INIファイルまたはL AKESQO5,INIファイルの変更をめる指示 SHARE−CONFIRMED :共用要求が処理されたことの確認が受信さ れた。
5HARII、REJEC:TED :共用要求が拒否された。
5HARII、REQUEST :共用要求が受信された。
5HARE TRANSFERRED :共用要求が転送された。
TOKEN CANCEL REQUEST :待機中のトークン要求の取消し をめる要求が受信された。
TOKEN−GIVEN :要求元にトークンが与えられた。
TOKEN−QREQUEST : )−クンを保持し、あるいはトークンが得 られない場合は待ち行列に参加することをめる要求TOKEN RECLAIM ED : トークンが所有者によって取り去られた。
TOKEN RECLAIMED ニド−クンが所有者によって取り去られた。
TOKEN REFUSED : トークンをめる要求が拒否された。
TOKEN REQtJEST ニド−クンの保持をめる要求TOKEN RE TURN−REQUEST : トークンの所有者が、トークンをできるだけ早 (返すことを要求している。
装置事象およびポート事象 CHANNEL CHANGED ニ一部のチャネル特性が変更された。
CHANNEL GONFIRMED :新しいチャネルが作成された。
CHANNEL DESTROYED :チャネルが破壊された。
CHANNEL REJECTED :チャネルが作成されなかった。
C0NNECTl0N WELDED :ウエル接続通知が受信された。
DATA AVAILABLE :受信側ボートでデータが利用可能である。
DATA−CONFIRMED :データ送信の確認またはデータ送信の進行の 推定が受信された。
DATA REQUESTED :送信側ポートからデータが要求されている。
DEVICE INFORMATION :装置情報を供給する予定のアプリケ ーション・インスタンスの送信側ポート事象ハンドラにレイズされる事象 PORT ERROR:ボート・エラーが検出された。
PORT RESUME REQUEST :ボート再開要求が受信された。
PORT 5IGNALLED :信号ポート事象が受信された。
PORT 5USPENI)−REQUEST :ボート中断要求が受信された 。
PORT 5YNCREQUEST :同期制御の調整をめる要求が受信された 。
モニタ制御事象 EVENT MONITORED 二機能要求および事象活動の通知が受信され た。
チャネル、ポート、およびリンクの特性チャネルの特性 以下のパラメータは、チャネルと関連しており、create−channel 要求およびadd channel要求で設定される。
quality of 5ervice :信号タイプ(アナログまたはディジ タル)スループット 待ち時間 ジッタ 遅延 優先順位 サービス品質特性は、LAKESQO3,INIファイル中のデータ・タイプお よびサブタイプを介して関連付けられるが、明示的に指定することができる。こ の特性は、未定義のままにすることができる。これによって、データがチャネル を介して送信されるときに、動作特性が、利用可能な資源に依存するチャネルを 作成することができる。
channel type : 標準 同期 以下のパラメータは、ポートと関連している。ポート・タイプを除くすべてのパ ラメータは明示的に定義される。送信側ボートは、create channe l要求でこれらのパラメータを指定し、受信側ボートはPORT REQUES T応答でこれらのパラメータを指定する。
connect type : コマンド 事象 空 event handler : port type : 送信 受信 リンクの特性 以下のサービス品質パラメータは、物理リンクに関連しており、リンク・ロケー タを介してアクセスされるデータベースに指定するか、あるいはデフォルトとし てLAKESQO3,INIファイルから得られる。
信号タイプ(アナログまたはディジタル)スループット 待ち時間 ジッタ フレーム再送信時間 圧縮ヒント 暗号化 サポート・システム構造 再び、第10図に示したサポート・システム構造を参照して、該構造の構成要素 の様々なタスクについて詳細に説明する。アプリケーション・マネージャ223 は、サポート・システムの残りとのインタフェースとして働き、ある程度のパラ メータ検証の後に適切な構成要素に分散されるすべてのAPI呼出し用の入口点 を提供する。監視が必要な場合(以下参照)、アプリケーション・マネージャ2 23は着信呼出し/発信事象の走査にも使用される。
アプリケーション・マネージャ223は、チャネルの作成時に指定された事象ハ ンドラでアプリケーションをコール・バックする責任を負う。事象は、ローカル ・アプリケーションがチャネルを作成した場合は送信側ボートで、あるいは次い でリモート・アプリケーションがチャネルを作成した場合は受信側ポートでレイ ズされるものである。アプリケーション・マネージャ223は、ボートを作成す る際に、特定のアプリケーションのためのすべての事象を処理し待ち行列に入れ る事象待機ハンドラのアドレスを渡す。次いで、事象を連続的に読み取るディス パッチ・スレッドなどのある種の機構がアプリケーションの事象ハンドラに事象 を送信する。
チャネル・マネージャ227は、他のすべての構成要素を始動し遮断する責任を 負うチャネル・スーパバイザと、異なるノードにあるサポート・システムの間の 制御チャネル通信を処理する制御チャネル副構成要素と、他のすべての非制御チ ャネル・データ通信を処理するデータ・チャネル副構成要素と、ノード・ハンド ルおよび数組のノード・ハンドルを作成し、破壊し、維持するノード・マネージ ャと、ボートを作成し、破壊し、操作し、ボート照会機能を実行するボート・マ ネージャの5つの副構成要素を有する。
資源マネージャ225は、サポート・システムで第1に制御を得る構成要素であ る。資源マネージャ225は、他のすべての構成要素を初期設定し、かつアドレ ス・ブックまたは経路選択機能とのインタフェースをとる責任を負う。トークン ・マネージャ224は、名前から分かるように、グローバル°トークンとアプリ ケーション・トークン(グローバル・トークンはそれぞれの呼出しマネージャ構 成要素によって所有され、これに対し、アプリケーション・トークンは共用セッ ト中のノードによって所有される)とのロギングおよび管理に責任を負う。
装置マネージャ224は、サポート・システムと装置の間の対話に責任を負い、 特に、装置名を完全修飾経路などに変形すること、適切な動的リンク・ライブラ リ(DLL)のロード、ボート番号、ボート・ハンドラ、および事象ワードを含 む記録の生成、初期設定入口点の呼出し、DLL中のすべての項目ハンドルをア プリケーション呼出しマネージャ用の物理アドレスに変形することなどの機能を 実行する。信号マネージャ226は、アプリケーション(応答の有無にかかわら ない)およびボートに発信する責任を負う。
共用呼出しマネージャの導入 協調サポート・システムの全体的な動作について説明したので、ここで、様々な 共用呼出しマネージャ・セットアツプ動作について詳細に説明する。呼出しマネ ージャを確立するAPIコマンドはset call managerである。
set call manager関数は、発行元を発行側ノードでの新しい呼 出しマネージャとして確立することを要求し、呼出しマネージャ事象のために呼 び出すべき事象ハンドラを識別する。
set call manager関数が必要とするパラメータは以下のとおり である。
event handler 呼出しマネージャ事象のために呼び出すべき事象 ハンドラ evenjword すべての呼出しマネージャ事象上で呼出しマネージャ事象 ハンドラに渡されるユーザ指定データ・ポインタ call manager 1nfo (返される)SETCΔLL MANA GER事象に応答して現呼出しマネージャが返す値 set call manager()関数は、非アプリケーション特有性の事 象、すなわち、特有のアプリケーション・インスタンスを識別しないネットワー クからの着信事象を受信する予定の事象ハンドラをサブシステムに対して識別す る(注:この事象は宛先アプリケーション名を指定することができ、この場合、 名前を特定のインスタンスに帰着させるのは呼出しマネージャの機能である)。
どの所与のノードでもある一時点で活動状況になることができる5et−cal l manager□は1つだけである。所与のノードで作動するアプリケーシ ョンによって複数のsejcall−managerOを発行することができる が、最後に発行されたものが有効になる(すなわち、そのアプリケーション・イ ンスタンスがそのノード用の呼出しマネージャである)。
アプリケーションは、set call manager□関数呼出しを発行す る前に、register appO関数呼出しを発行してアプリケーション自 体をローカル・システムに対して識別しておかなければならない。
新しいアプリケーションがset call manager□関数呼出しを発 行するとき、処理は、呼出しマネージャがすでに存在しているかどうかに依存す る。
呼出しマネージャが存在しない場合、事象はレイズされず、発行元が現呼出しマ ネージャになる。
呼出しマネージャがすでに存在する場合、その呼出しマネージャがSET CA LL MANAGER事象を受信する。この既存の呼出しマネージャは、呼出し マネージャ機能の新しいアプリケーションへの転送を許可するか、要求を拒否す るかのオプションを有する。この場合、既存の呼出しマネージャがそのまま制御 を取り、発行元はRC−CM−REQUEST−REJECTED戻リコードを 受信する。これによって、アプリケーションが呼出しマネージャになるために許 可されるある種の制御が可能になる。
set call managerを発行したアプリケーション・インスタンス は常に走行していなければならない。そうでない場合、他のどのノードとも通信 を行うことはできない。
LAKES、 INIファイルは、呼出しマネージャになることを許可されたア プリケーションの名前を指定するセクションを有することができる。このため、 現呼出しマネージャでSET CALLMANAGER事象がレイズされると、 呼出しマネージャは、アプリケーションが許可されているかどうかを調べるため に、get profile string関数呼出しを介してこのファイルを 検査する。
register app関数は、発行側アプリケーション・インスタンスの名 前と、着信事象を処理する事象ハンドラを登録する。
必要とされるパラメータは以下のとおりである。
application name システムが発行側アプリケーションを知る ための名前 event−handler 発行側アプリケーション・インスタンスのために 着信事象を処理する、システムが呼び出すべき事象ハンドラのアドレス event word すべての呼出しマネージャ事象上で呼出しマネージャ事 象ハンドラに渡されるユーザ指定データ・ポインタ node handle (返される)発行側ノードのノード・ハンドル application−handle (返される)発行側アプリケーション のアプリケーション・インスタンス・ハンドルアプリケーション・インスタンス がシステムとの通信の許可を得るには、register app呼出しを発行 することによってアプリケーション・インスタンス自体を識別しなければならな い。この呼出しは、このインスタンスからの他のどの呼出しよりも前に発行しな ければならない。そうでない場合、呼出しは失敗し、エラー・コードが返される 。
application name、 event handier、およびe vent wordを供給しなければならない。node handleおよび application−handleはシステムによって返される。これらは 、ノード内で特有のハンドルを定義し、ローカル・ノード外では有効範囲や意味 をもたない。
register app関数呼出しの結果、呼出しマネージャ事象ハンドラが 存在する場合は該ハンドラでAPPREGISTER事象がレイズされる。呼出 しマネージャが存在しない場合、事象はレイズされず、register−ap p関数呼出しの発行元は戻りコードRCNo CALL MANAGERを受信 する。発行元は次いで、set callmanager O関数呼出しを発行 することによって呼出しマネージャになり、あるいはderegister a pp□関数呼出しを発行することによって終了すべきである。
これは、5et−caHmanager□が発行される前、すなわち、有効な呼 出しマネージャが識別される前に有効な唯一の関数呼出しである。
1aunch関数によって、指定されたターゲット・アプリケーションが呼び出 される。
必要とされるパラメータは以下のとおりである。
target application ターゲット・アドレスの完全アドレス を含む構造を指すポインタ。完全アドレス構造タイプは以下のように定義される 。
target exe string ターゲット・アプリケーションの実行可 能ファイルの完全修飾基(完全経路を含む)を指定する文字列を指すポインタ w□rking−directory ディレクトリを指定する文字列を指すポ インタ。working−directoryが空の場合、カレント・ディレク トリが仮定される。
parameters ローンチされたアプリケーションに与えられるユーザ指 定文字列 application handle (返される)ローンチされたアプリケ ーションのアプリケーション・インスタンス・ハンドルこの関数は、他のアプリ ケーション・インスタンスの開始をシステムに要求するために使用される。新し いアプリケーションが正常に起動すると、target−applicatio nにアプリケーション・ハンドルが挿入され、呼出し側アプリケーションに返さ れる。
register appを使用して自己をシステムに対して完全に識別するこ とは、ローンチされたアプリケーションの責任である(該アプリケーションがa wareアプリケーションになる予定の場合)。1aunchはどのaware アプリケーションでも発行することができ、現行の活動呼出しマネージャだけに 制限されない。
5hare関数は、指定されたターゲット・アプリケーションが、指定された発 信元アプリケーションと共用を行うことを要求する。
必要とされるパラメータは以下のとおりである。
async id この呼出しと、それに関係するすべての事象を識別するため のユーザ指定参照id0このパラメータをゼロにすることはできない。
5ource application 発信元アプリケーションの完全アドレ スを含む構造を指すポインタ target application ターゲット・アプリケーションの完全 アドレスを含む構造を指すポインタ user 1nfo この共用によって生成されるすべての事象上で返されるユ ーザ指定文字列 可能性のある戻りコードは以下のとおりである。
RCOK 動作が首尾よく完了した。
RCFAIL LAKES環境が確立されなかった。
RC5HARE CONFIRMED 共用が受け入れられたことを確認するだ めに同期5hare□に返される。
RC5HARE REJECTED 共用が拒否されたことを確認するために非 同期5hareOに返される。
RCINVALID ADDRESS 無効ナアドレス構造5hare関数は、 発信元アプリケーションとターゲット・アプリケーションが「アプリケーション ・セット」になる(または「アプリケーション・セット」に追加される)ことを 要求する。
ターゲット・アプリケーションを名前で指定する場合、関連するノードにある呼 出しマネージャが呼び出され、次いで、共用要求をどのように処理するかを決定 するのは、ターゲット・ノードにある呼出しマネージャの責任になる。
ターゲット・アプリケーションをインスタンス・ハンドルで指定する場合、共用 要求は、所望のアプリケーションに直接波され、呼出しマネージャを介さない。
user 1nfoパラメータは通常、アプリケーションをなぜ、またはどのよ うに使用するかをノードに通知するために使用すべきである。
適切な戻りコード(R(、SHARE−CONFIRMEDまたはRC5HAR E−REJECTED)が返される。ローカル・システムがその後、ターゲット ・アプリケーションから5HAERE CONFIRMED事象を受信した場合 、この事象は5hare関数呼出しの発行元にレイズされず、適切なUNSHA RE事象を生成するシステムによって処理される。ローカル・システムがその後 、ターゲット・アプリケーションから5HARE REJECTED事象を受信 した場合、この事象は無視される。
ハンドルではなくアプリケーション名を指定する共用要求は、呼出しマネージャ に送られる。これによって、呼出しマネージャは5hareをどのように扱うか を決定することができる。
たとえば、呼出しマネージャは以下のことを行うことができる。
○指定されたアプリケーションをローンチし、それによって新しいインスタンス を作成する。
O完全に異なるアプリケーションをローンチする。
○5hareを既存のインスタンスに送る。
○5hareを異なるインスタンスにリダイレクトする。
○5hareを完全に呼出しマネージャ内で処理する。
呼出しマネージャは、5HARE REQUEST事象の結果としてアプリケー ションのローンチを発行した場合、最初の要求元に代わって、ローンチされたア プリケーションに共用要求を再発行しなければならない。
unshare関数は、共用セット中の発信元アプリケーションと当該アプリケ ーションの間の共用を終了する。
必要とされるパラメータは以下のとおりである。
async id この呼出しと、それに関係するすべての事象を識別するため のユーザ供給参照1d。このパラメータをゼロにすることはできない。
5ource application 発信元アプリケーションの完全アドレ スを含む構造を指すポインタ。類アドレス構造は以下のように定義される。
user 1nfo このunshareによって生成された事象上の共用セッ トに残っているすべてのアプリケーション・インスタンスに返されるユーザ指定 文字列 この関数は、共用アプリケーション・セットからアプリケーション・インスタン スを削除するために使用され、アプリケーションを終了しない。セット中の他の すべてのアプリケーションは、このインスタンスがもはや共用セットの一部でな いことを示す事象を受信する。
user 1nfoパラメータは、なぜunshareを実行するかをアプリケ ーション中の他のインスタンスに通知するために使用すべきである。
インスタンスが所有するボートは消去され、論理チャネルの他方の端で事象がレ イズされる。
register appによる事象ハンドラ・セットアツプは依然として活動 状況であり、システムまたは呼出しマネージャを介して逼られる事象を受信する 。
共用の制御の典型的なフローを第14図に示す。ターゲット・アプリケーション の名前だけが指定され、そのハンドルは指定されない共用要求の場合、最初に、 ターゲット・ノードにある呼出しマネージャで5HARE REQUEST事象 がレイズされる。ターゲット・アプリケーションのハンドルが指定された共用要 求の場合、ターゲット・アプリケーションで直接5HARE REQUEST事 象がレイズされる。
ステップ1で アプリケーションXが、アプリケーションYとの共用を開始する ための非同期要求を発行する。要求ではYの文字列アドレスだけしか指定されな かったので、Yのノード、ノード2にある呼出しマネージャに5HARE RE QUESTがレイズされる。
ステップ2で Yの呼出しマネージャは多数のオプションを有する。該呼出しマ ネージャは、共用要求を拒否するCRC5HARE REJECTED)ことも 、共用要求自体を満たす(RC,、−5HARE CONFIRMED)ことも 、共用要求をアプリケーションYの新しいインスタンスに渡す(RC5HARE −NOCONFIRM)こともできる。
ステップ3で 呼出しマネージャがRC5HARE REJE(1;TEDまた はRC5HARE CONFTRMEDを返した場合、サブシステムは要求元で 5HARE REJECTED事象または5HARE CONFIRMED事象 をレイズする。
ステップ4で ターゲット・アプリケーションとしてYを指定する1aunch 関数呼出しを呼出しマネージャが発行した場合、Yの新しいインスタンスが始動 される。サブシステムは、Y用のアプリケーション・ハンドルを割り振り、呼出 しマネージャに返す。Yは、始動された後、awareになることを所望し、し たがってそれ自体をサブシステムに対して識別するregister app関 数呼出しを発行する、と仮定される。サブシステムは、ローンチ時に割り振った ハンドルをYに返す。
ステップ5で register appの結果、サブシステムはノード2の呼 出しマネージャにAPP REGISTERED事象をレイズする。
ステップ6で ノード2の呼出しマネージャは次いで、Xに代わって、Yのハン ドルを指定する共用要求を発行し、RC−〇にでリターンする。
ステップ7で アプリケーションYは次いで、Xを要求元として識別する5HA RE REQUEST事象を受信する。Yは次いで、共用を拒否しくRC5HA RE REJECTED) 、あるいは受け入れる(RC−5HARE CON FIRMED)ことができる。
ステップ8で Xは適切な5HARE REJECTED事象または5HARE  CONFIRMED事象を受信する。
ステップ9で 共用が受け入れられ、Xが他のアプリケーションとも共用を行っ ている場合、ノード1にあるサブシステムは、Xを発信元、Yをターゲットとし て指定し、Yを新規共用者としても指定する5HARE CONFIRMED事 象をこれらすべてのアプリケーションに送信する。すると、これらのアプリケー ションが作動しているノードにあるサブシステムが、Xを発信元、Yをターゲッ ト、XおよびY自体を新規共用者として指定する5HARE CONFIRME D事象をYに送信する。
最後にステップ10で Xは後で、共用セットを抜けるためにunshare  Oを発行することができる。セット中の残りのアプリケーションもすべて、UN SHARE事象を受信する。
呼出しマネージャは、ワークステーションにあるサブシステムの動作またはパー ソナリティを判定する上で主要な役割を果たす。ここで、サブシステムに供給さ れた呼出しマネージャ・ユーティリティ101 (第13図)について詳細に説 明する。
供給された呼出しマネージャ・ユーティリティによって、呼出し管理とアプリケ ーション・プリミティブを明確に分離することができる。したがって、付属の呼 出しマネージャを使用すると、awareアプリケーションが呼出しのセットア ツプまたはテアダウンに関与する必要はなくなる。この呼出しマネージャは、ユ ーザがアドレス・ブックから名前を選択し、分岐呼出しを論理的に確立するため のダイアログを提供する。
セットにパーティを追加することができ、パーティはセットを動的に抜けること ができ、いくつかの呼出しが同時に進行することができる。提供されたオプショ ンは、自動応答と呼出し禁止を含む。
呼出しマネージャのルック・アンド・フィールを機能から分離するために、呼出 しマネージャは実際には、エンジンおよびユーザ・インタフェースの2つの別々 のプログラムとして実施される。エンジンは、呼出し管理機能を提供し、ユーザ ・インタフェースはルック・アンド・フィールを決定する。
呼出しマネージャ・エンジンは、それを他のアプリケーションが制御できるよう にするコマンド・インタフェースを有する(実際には、これは、ユーザ・インタ フェース部分がエンジンをどのように制御するかということである)。エンジン は、現在作動中の各ローカル・アプリケーション・インスタンスごとのアプリケ ーション・テーブルと、各呼出しごとの呼出しテーブルと、現在コマンド共用セ ットにある(したがって、エンジンにコマンドを送信する資格がある)各アプリ ケーションごとのコマンド・テーブルと、現在有効な各受動リンクをリストする リンク・テーブルとを維持する。
供給された呼出しマネージャ・ユーティリティ呼出しマネージャによって、ユー ザは以下のアクションを開始することができる。
O新しい呼出しを開始する(ノードは、それぞれがそれ自体の1組の共用アプリ ケーションおよびその他のパーティを含むいくつかの呼出しに携わることができ ることに留意されたい) O既存の非共用アプリケーションを呼出しに追加する。
○呼出し中の既存のアプリケーションの共用を終了する。
O新しい人を追加することによって呼出しを拡張する(呼出し先が受け入れる場 合、呼出し内の現アプリケーションは呼出し先に共用される)。
O呼出しを抜ける(この場合、共用アプリケーションは引き続き作動するが、も はや共用セットの一部ではな(なる)○システムを遮断する(すべての現行呼出 しが終了し、遮断プロセスの一部としてすべてのアプリケーションが基本的にu nawareになる) ○アプリケーションをローンチする。
○呼出し先が応答しない場合に発信要求を取り消す。
ユーザは、たとえば、着信呼出しを自動的に受け入れるか拒否するか、受動作業 の要求をどのように処理すべきか、を示す様々なオプションをセットすることも できる。
第15図に示すように、呼出しマネージャ・ユーザ・インタフェースは、アクシ ョン・バーおよびクライアント領域を備えたメイン・ウィンドウから構成される 。クライアント領域は、メツセージおよびその他の状況情報と、メニュー・プル ダウン用の文脈対応プロンプトを表示する情報領域を含む。
アクション・バーは、以下のオプションを提供する。
○Ca1l ○New 新しい呼出しを開始する。
○Add 呼出しに人を追加する。
QHang Up 現行呼出しを終了する。
0Cacel AddまたはNewを取り消す。
QShutdown 呼出しマネージャ(およびすべての呼出し)○5hare  現行呼出しに既存の非共用アプリケーションを追加する。
○Unshare 現行呼出し中の既存のアプリケーションの共用を終了する。
○Launch 新しいアプリケーションをローンチする。
○0ptions ○ΔUtO応答が自動的に受け入れられる。
○Pa5sive この機械を他のユーザによるゲートウェイとして使用できる かどうか QSound ティックされた場合、着信呼出しは「リング」を伴う。
○Window ○Log ログ・ビューを表示し、または隠す。
QWindowlist すべての子ビューおよびログ・ビューのリスト ○Ca5cade 子ビューを連鎖する。
QTile 子ビューをタイル表示する。
○Arrange 1cons 子ビューのアイコンを整理する。
表示できる他のウィンドウは、呼出し中の、共用されない現在作動中のaWar eアプリケーションのUnsharedビュー、呼出し中のノードのリストと、 各ノードごとの、ノードで走行中の共用アプリケーションのリストであるCa1 lウインドウ、制御ウィンドウの子ウィンドウでない別のウィンドウであり、タ イムスタンプ付き事象の記録を含むLogウィンドウである。
呼出しマネージャは、ローカル・アプリケーション初期設定などの呼出しマネー ジャ事象と、他のノードからの指定された共用要求を処理するための事象ハンド ラを含む。
呼出しおよび共用セット 呼出しマネージャによって実施される呼出しの概念は、サブシステムに実際の相 当物を有していない。基本的に、呼出しは、1つまたは複数の指定された共用セ ットと、互いを知っている数組のアプリケーション・インスタンスから構成され る。各セットは、呼出し内の各ノードで作動中の単一のアプリケーションから構 成される。呼出しマネージャ自体は、各呼出しごとのそのような1つの共用セッ ト中にある。呼出しマネージャだけ(および望ましくはユーザ)が、所与のノー ドにある様々な共用セットが呼出しごとにグループ化されることを知っている。
呼出しが1つまたは複数の共用セットから構成されるので、様々な呼出しマネー ジャ機能は実際には共用セットに対する動作である。したがって、リモート・ノ ードへの新しい呼出しを開始するには、呼出しマネージャが、通常はノード名に 数値接尾部を追加し、各呼出しの後に数を増分することによって、呼出し名を作 成する。呼出しマネージャは次いで、この名前を使用して、リモート・ノードに ある呼出しマネージャと共用を行おうとする。共用が受け入れられた場合は、呼 出しが確立されている。既存の呼出しに新しレッードを追加するには、呼出しマ ネージャが、呼出し名を共用セット名として使用して、新しいノードにある呼出 しマネージャとの共用を試みるだけである。外部から既存の呼出しに参加するに は、呼出しマネージャが、加わるべき呼出しの名前を渡して、呼出し中の1つの ノードにある呼出しマネージャとの共用を試みるだけである。呼出しから抜ける ためには、呼出しマネージャが適切な共用セットがら抜ける。呼出しに新しいア プリケーションを追加するには、呼出しマネージャが、呼出し名を共用セット名 として使用して、呼出し中の各ノードへのアプリケーションに代わって順繰りに 5hareを発行する。呼出し中にアプリケーションが存在すれば、新しいノー ドを追加するたびに、各アプリケーションごとに該ノードに5hareが発行さ れることに留意されたい。
第17図に示すように、呼出しマネージャには6つの主要な状態がある。これら は、開始、準備完了、接続、処理、終了、およびレザインである。開始は、エン ジンがローンチされた点から、エンジンが初期設定を完了するまで発生する。
エンジンは次いで、準備完了状態に入り、エンジンと共用を行っている他のアプ リケーションのユーザ・インタフェースからのコマンドを待つ。サポート・シス テムからエンジンの事象ハンドラに渡される一部の事象によって、ユーザ・イン タフェース構成要素に信号が送信され、それによって、ユーザが通知を受け、必 要に応じて、コマンドを介してエンジンにフィードバックできる応答を得ること ができる。エンジンは、呼出しが進行を開始するのと同時に接続状態に入る。エ ンジンは、進行中の呼出しがなくなるのと同時に準備完了状態に戻る。エンジン は、この状態の間、1つの例外であるshutdownコマンドを除き、準備完 了状態と同じ1組のコマンドを受け入れる。エンジンは、ユーザ・インタフェー スが応答し、あるいはサポート・システム事象が発生するのを待つときは必ず処 理状態に入る。この状態の間、呼出しなどのある種のコマンドは拒否され、”e ngine is busy”指示が表示される。5HARE REQUEST などのある種のサポート・システム事象も拒否される。
エンジンは、N0DE 5HUT DOWtjREQUEST事象が受信され受 け入れられるのと同時に終了状態に入る。遮断を進行させるにはエンジンが準備 完了状態でなければならず、呼出しが進行中の場合はまずそれを終了しなければ ならないことに留意されたい。エンジンは、CALL MANAGER,−RE QUESTを受け入れるのと同時にレザイン状態に入る。この状態は、エンジン が終了するという点で終了状態に類似しているが、サポート・システムの残りは 終了しない。エンジンは、準備完了状態の場合にだけレザインし、呼出しが進行 中の場合はまずそれを終了しなければならない。
第16図は4つのノード、A、B5C5Dを示す。ノードCは以下の2つの呼出 しに関与する。
1.2つのアプリケーション共用セットYおよびZと、ノードDを伴う呼出し 2、単一のアプリケーション共用セットXと、ノードAおよびBを伴う呼出し 呼出しマネージャの事象処理 呼出しマネージャが処理する主要な事象は以下のとおりである。
〇へPP−REG I 5TERED これは、(ローカル)アプリケーション がregister app呼出しを発行するときにレイズされる。
0M0NITOREVENTS 非共用のローカル効果とリモート効果とを見る には、呼出しマネージャがこれらの事象を監視しなければならない。
○PASSIVE−目N1jREQUEST これは、システムがこのノードに ある資源を使用して他のノードのニーズをサポートしたいときにレイズされる。
0PASSIVE LINK RELEASE これは、このノードにある資源 がもはや、他のノードのニーズをサポートするためにシステムによって必要とさ れないときにレイズされる。
O5ET−CALL−MANAGERこれは、他のアプリケーションがset  call manager呼出しを発行したときにレイズされる。
Q 5HARE−REQUEST これは、指定されたアプリケーションとの共 用をめる、他のノードからの要求が受信されたときにレイズされる。
QSHARE REJECTED これは、ローカル・アプリケーションが共用 要求を拒否したときにレイズされる(通常、ある種のエラーの結果として)。
○5HUT DOWN REQUEST コれは、このノードにあるシステムの 遮断をめる、ユーザまたはアプリケーションによる要求が出されたときにレイズ される。
QSIGNAL これは、ターゲットが空でも名前(ハンドルではない)でもな い信号をアプリケーションが発行したときにレイズされる。
○APP DEREGISTERED これは、awareアプリケーションが 終了したときにレイズされる。
これらの事象は、以下で定義するように処理される。
Register app 呼出しマネージャは、始動するアプリケーションの名前を、適切な呼出し用の共 用セット中のアプリケーションのリストと非共用リストのうちの活動状況の方に 追加して記録する。
呼出しが活動状況でありアプリケーションがユーザによって始動された場合、呼 出しマネージャは、アプリケーションが呼出し全体にわたって共用されるように 、呼出し中の各リモート・ノードに、指定された共用呼出しを発行する。アプリ ケーションが着信共用要求の結果として呼出しマネージャによってローンチされ た場合、呼出しマネージャはリモート・ノード/アプリケーションに代わってロ ーカル5hareを発行することによって5hareを完了する。
アプリケーションが終了すると、その名前が適切なリストから削除される(以下 のAPP DEREGISTEREDの項参照)。
呼出しマネージャは常に、APP REG4STERED事象に対してRCOK を返す。
PASSTVE LINK REQUESTこの事象は、簡単な方法で処理され る。呼出しマネージャは、Pa5sive Workingオプションの状態を 検査する。該状態がpermitの場合、要求は受け入れられるが、denyの 場合は拒否される。askの場合、呼出しマネージャは、要求が受け入れられる かどうかをユーザに尋ねるダイアログ・ボックスを表示して(パネルは、要求に 関するできる限り多くの情報を表示する)、次いでユーザの応答に応じて(RC −OKまたはRCFAILを返すことによって)要求を受け入れ、または拒否す る。
MONITOREVENTS 呼出しマネージャが関与する2つの事象は、非共用呼出しくローカルでレイズさ れる)と非共用事象(リモートでレイズされる)の結果である。呼出しマネージ ャは、適切なリストからアプリケーションを削除することによってこれらに応答 する。
リモート呼出しマネージャからunshareが届いた場合、これは、該リモー ト呼出しマネージャが呼出しを抜けたことを示し、したがって、呼出しマネージ ャは適切な呼出しリストから該リモート呼出しマネージャを消去することによっ て応答する。呼出しに2つのパーティしか入っていなかった(すなわち呼出しが 有効に終了した)場合、呼出しマネージャは、まだ呼出し内にリストされている アプリケーションを非共用にして非共用リストに移し、次いで呼出しを削除する 。
呼出しマネージャは、すべての事象に対してRC−OKを返す。
PASSIVE LINK−RELEASEこの事象は、受動リンクを使用する チャネルが破壊されたときに生成される。この事象が発生すると、呼出しマネー ジャは、受動リンクがもはや存在しないことを示すようにメイン・ウィンドウを 更新して、RCOKを返すだけとなる。
SE’jCALL−MANAGER 呼出しマネージャは、RCOKを返すことによってこの事象に応答する。これに よって、呼出しマネージャの役割を新しいアプリケーションに移すことができる 。
5HARE REQUEST 呼出しマネージャは、処理すべき名前を調べる。これが呼出しマネージャ名の場 合、実際には、新しい呼出しの開始をめるリモート呼出しマネージャからの要求 である。ユーザ情報は、呼出しのID(すなわち、リモート・ノードによって割 り当てられたID)を含む。これは、2つのノードが複数の相互の呼出しに関与 している場合にあいまいさを解消するために必要である。
この場合、呼出しマネージャは、Answerオプションの状態を検査して応答 する。該状態がmanualの場合、呼出しマネージャは、要求が受け入れられ るかどうかをユーザに尋ねるダイアログ・ボックスを表示する(パネルは、要求 に関するできるだけ多くの情報を表示する)。状態がauto−answerの 場合、要求は受け入れられる。
要求が呼出しマネージャからのものでない場合、間違いなく、すでに既存の呼出 しのパーティとなっているノードからのものである。このため、着信共用要求は 常に受け入れられる。着信共用要求が呼出しIDを含むことに留意されたい。
これは、所与の1対のノードが複数の呼出しを共有することができ、その結果得 られるあいまいさを解消することができるからである。呼出しマネージャは、共 用要求を受け入れるために、対応するアプリケーションをローンチしようとする 。
呼出しマネージャは、共用要求で使用されたターゲット・アプリケーションとK EYWORDが一致するAPPLIC:ATIONSセクション中の項目をLA KES、 INIファイルで探す。1つも見つからない場合、エラーが報告され る。項目が見つかった場合、プロファイル項目中の値を使用して、ローンチ呼出 しのフィールドが埋められ、次いで該呼出しが実行される。APPLICATI ONSセクションの例を以下に示す。
[appl 1cations] chat=c:\1akes\apps″Xchat、exe、 c:\1ak es\work、 、 、 。
chal kboard=c :\l akesXXapps\chalk、e xe、 c:\1akes\work。
filetransfer=c:\1akes\apps″3xfer、exe 、 c:\1akes\work、Φ。
呼出しマネージャは、対応するRegistetr app事象が発生したとき に、ローンチされたプログラムを再び共用しようとしない(前述のAPP RE GISTERED事象の項参照)ように、該プログラムのハンドルを記録する。
ローンチが失敗すると、RC−3HΔRE REJECTEDが返される。一方 、ローンチが成功した場合、呼出しマネージャはRC−3HARE−No CO NFIRMを返す。ローンチされたアプリケーションが後でregister  appを発行すると、呼出しマネージャは共用呼出しを発行する。次いで、アプ リケーションはRCSHΔRE C:ONFIRMEDを返すべきである。
本明細書で説明する呼出しマネージャが、すでに作動中のアプリケーションと共 用を行うことによって着信共用要求を解決するのではないことに留意されたい。
常に、新しいインスタンスがローンチされる。
5HARE REJECTED 上述のように、呼出しマネージャによってローンチされたアプリケーションは、 登録されると、呼出しマネージャによって発行された5hareのターゲットに なる。通常、該アプリケーションは、呼出しマネージャがすでに呼出しを受け入 れているのでRC5HARE CONFIRMEDで応答すべきである。アプリ ケーションが共用を受け入れることができない場合(たとえば、資源不足のため に)、呼出しマネージャと最初のリモート・アプリケーションとに拒否が送信さ れる。呼出しマネージャは、最初の共用を「忘れてJ RCOKを返すことによ って応答する。
5HUT DOWN−REQUEST 呼出しマネージャはRCOKを返すことによってこの事象に応答する。これによ って遮断を続行することができる。これによって、さらに、システムが実際に遮 断する際に、すべてのアプリケーション(呼出しマネージャを含む)が5HUT  DOWN事象を受信する。呼出しマネージャは、他の供給されたアプリケーシ ョンと同様に、登録を取り消すことによってこの事象に応答する。
IGNAL 以下の2つ信号タイプによって、呼出しマネージャで5IGNAL事象がレイズ される。
1 、 target appliacationパラメータが空の信号。その ような事象はCa1l Managerコマンドとみなされる。
2 、 target applicationパラメータがアプリケーション をハンドルでな(名前で表す信号。呼出しマネージャはこの名前を以下のように 処理する。
○その名前のアプリケーションが現在走行中かどうか(すなわち、その名前を使 用するregister appが発行されているかどうか)を検査する。
Oそうである場合、信号はそのアプリケーションに転送される(アプリケーショ ンが複数の場合、信号は第1のインスタンスに送られる)。
Oその名前のアプリケーションが作動していない場合、呼出しマネージャは新し いインスタンスをローンチしない。その代わり、信号が無視される。
APP DEREGISTERED この事象は、アプリケーションが終了する際に生成される。
呼出しマネージャは、適切な呼出しリストから登録取消しアプリケーションの名 前を削除し、メイン・ウィンドウを正しく更新し、RCCKを返すことによって 、この事象に応答する。
簡単な例 1つの可能な事象シーケンスは以下のとおりである。
1、ユーザAがユーザBを呼び出す(その結果、呼出しマネージャが共用される )。
2、ユーザAがチャツト・アプリケーション(Aの呼出しマネージャによって共 用され、したがってBにある呼出しマネージャによってローンチされ、第1のア プリケーション共用セットを形成する)を始動する。
3、ユーザAおよびBはしばらくチャツトし、次いでユーザBがチャツト・アプ リケーションを終了する(それによって共用セットが終了する)。チャツト・ア プリケーションは、Aで引き続き作動するが、もはや呼出しの一部でないので非 共用リスト上に表示される。
4、ユーザBがチョークボード・アプリケーションを始動する。2人のユーザは まだ呼出し中にいるので、已にある呼出しマネージャが5hareを発行し、し たがってAの呼出しマネージャがBでチョークボードをローンチし、新しい共用 セットが形成される。
5、ユーザAが呼出しを切る。
このシーケンスをAPIレベルで調べると、以下のようになる。
1、Aにある呼出しマネージャが、Bとの5hareを発行することによってプ ロセスを開始する。Bで、呼出しマネージャは、共用が呼出しマネージャを伴う ことを通知する(したがって、新しい呼出しのセットアツプをめる)。呼出しマ ネージャは、呼出しが受け入れられると仮定して、呼出しマネージャ間の共用を 受け入れる。
2、Aにいるユーザがチャツト・アプリケーションを始動すると、Aにある呼出 しマネージャ(register app事象を調べる)が5hareを発行す る。Bで、呼出しマネージャが、対応するアプリケーションに対する1aunc hを発行することによって共用要求を受け入れる。
3、ユーザBがチャツト・アプリケーションを終了すると、Bにあるサブシステ ムによって自動unshareが発行される。2つ呼出しマネージャは共に、非 共用呼出しおよび非共用事象を監視するので、共にunshareを通知され、 したがって呼出しリストを更新することができる。Bにある呼出しマネージャは 、非共用呼出しを調べ、Aにある呼出しマネージャは非共用事象を調べる。
4、チョークボード・アプリケーションが、チャツト・アプリケーションと同様 に処理される。
5、最後に、ユーザAが通話を切り、Aにある呼出しマネージャがunshar eを発行し、したがって呼出しが終了する。
作法に従ったアプリケーションの構造 呼出しマネージャ設計の主要な目的の1つは、awareアプリケーションの構 造を簡単にすることである。呼出しマネージャが呼出しの実行、共用呼出しおよ び非共用呼出しの発行などを監視するので、典型的なアプリケーションが必要と するのは以下のことだけである。
O始動時のregi 5ter−app。呼出しマネージャが存在しないことを 戻りコードが示す場合、アプリケーションはユーザに通知し、次いで終了すべき である。
0首尾よく登録した後、create portsを使用してアプリケーション 自体へのチャネルを確立する(大部分のアプリケーションの場合、組合せチャネ ル・セットが使用される)。
O大部分の事象がデフォルトで処理できるようにする。
O終了を要求されたときに、まずremOVeJOrts、次いで任意選択でu nshare、次いでderegister app通常、アプリケーションが 5hareまたはunshareを発行することは必要とされない。なぜなら、 呼出しマネージャがこれらを処理するからである。
事象に関する限り、大部分はデフォルトで処理される。以下で例を示す。
○5HARE REQUESTでは、5HARE CONFIRMEDが返され るべきである。というのは、この事象は、すでに呼出しを受け入れることを決定 した呼出しマネージャからのローカル5hareの結果だからである。他の処理 を行う必要はない。
03HARE CONFIRMEDの結果はRCOKになるべきであるが、そう でない場合、5HARE CONFIRMEDを無視することができる。
○5t−IARE−REJECTEDは発生してはならない(すべての5HAR E−REQUESTを受け入れるべきであるから)。
○5HUT−DOWNの結果はRCOKになるべきであり、アプリケーションは 次いで、終了すべきであり(たとえば、O3/2 PM環境では、それ自体にW M QUITメツセージを通知することによって)、あるいは少なくとももはや API呼出しを発行してはならない。
QUNSHAREの結果はRC: OKになるべきであるが、そうでない場合、 UNSHAREを無視することができる。
FIG−I FIG−4 FIG−2 FIG−3 FIG−6 FIG−7 FIG−8 FIG−9 システム ボート 装置ドライバ インタフェースIG−10 FIG−11 FIG−12 FIG−13 FIG−14 フロントページの続き (72)発明者 ミッチェル、バリー、デヴイッドイギリス国す−レイ、リッチ モンド・アポン・テイームズ、ザ・ハーミテイジ18(72)発明者 ランバー ト、ハワードイギリス国ハンプシャー、サザンプトン、ヘッジ・エンド、ノルデ ック・ガーデンズ

Claims (8)

    【特許請求の範囲】
  1. 1.ノードの間でデータを送信するための物理リンクによって接続されたネット ワークのノードを形成するワークステーションのネットワークでの協調作業用の プログラマブル・ワークステーションにおいて、 オペレーティング・システムと、 ノードの間のマルチメディア・データの物理経路指定を制御するための、オペレ ーティング・システム上で動作するネットワーク制御層と、 ワークステーション上で作動し、協調呼出しマネージャ・プログラムからの所定 のアプリケーション呼出しに応答して、ノードで協調呼出しマネージャを確立し 、ノードにあるどのアプリケーション・インスタンスにも特有でない着信事象を 処理する協調アプリケーション・サブシステムとからなることを特徴とするワー クステーション。
  2. 2.ノードに協調呼出しマネージャがすでに存在する場合、それ自体の判断で着 信事象の処理を新しい呼出しマネージャに移すことができる既存の呼出しマネー ジャに所定のアプリケーション呼出しが送られることを特徴とする請求項1に記 載のワークステーション。
  3. 3.アプリケーション・インスタンスに特有の着信事象がそのインスタンスに直 接渡されることを特徴とする請求項1または2に記載のワークステーション。
  4. 4.協調アプリケーション・サブシステムによってそれ自体に渡され、アプリケ ーションを指定する、非アプリケーション特有事象に応じて、指定されたアプリ ケーションの既存のインスタンスに該事象を送り、指定されたアプリケーション の新しいインスタンスをローンチし、あるいは事象自体を処理するそのような協 調呼出しマネージャを含むことを特徴とする請求項1、請求項2、または請求項 3に記載のワークステーション。
  5. 5.ノードの間のデータ送信用の物理リンクによって接続されたネットワークの ノードを形成するプログラマブル・ワークステーションのネットワークでの協調 作業方法において、ワークステーション上で作動する協調呼出しマネージャから の所定のアプリケーション呼出しに応答して、ノードで協調呼出しマネージャを 確立し、ノードにあるどのアプリケーション・インスタンスにも特有でない着信 事象を処理することから成る方法。
  6. 6.ノードに協調呼出しマネージャがすでに存在する場合、それ自体の判断で着 信事象の処理を新しい呼出しマネージャに移すことができる既存の呼出しマネー ジャに所定のアプリケーション呼出しが送られることを特徴とする請求項5に記 載の方法。
  7. 7.アプリケーション・インスタンスに特有の着信事象がそのインスタンスに直 接渡されることを特徴とする請求項5または6に記載の方法。
  8. 8.そのような協調呼出しマネージャが、指定されたアプリケーションの既存の インスタンスに、アプリケーションを指定する非アプリケーション特有事象を送 り、指定されたアプリケーションの新しいインスタンスをローンチし、あるいは 事象自体を処理することによって、該事象に応答することを特徴とする、請求項 5、請求項6、または請求項7に記載の方法。
JP6511849A 1992-11-10 1993-11-10 協調作業ネットワ―クでの呼出し管理ワ―クステ―ション及び方法 Expired - Fee Related JP2544904B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB9223520A GB2272311A (en) 1992-11-10 1992-11-10 Call management in a collaborative working network.
GB9223520.9 1992-11-10

Publications (2)

Publication Number Publication Date
JPH07503568A true JPH07503568A (ja) 1995-04-13
JP2544904B2 JP2544904B2 (ja) 1996-10-16

Family

ID=10724820

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6511849A Expired - Fee Related JP2544904B2 (ja) 1992-11-10 1993-11-10 協調作業ネットワ―クでの呼出し管理ワ―クステ―ション及び方法

Country Status (6)

Country Link
US (1) US5539886A (ja)
EP (1) EP0620935B1 (ja)
JP (1) JP2544904B2 (ja)
DE (1) DE69329418T2 (ja)
GB (1) GB2272311A (ja)
WO (1) WO1994011813A1 (ja)

Families Citing this family (88)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE4417588A1 (de) * 1993-08-30 1995-03-02 Hewlett Packard Co Verfahren und Vorrichtung zum Erfassen und Weiterleiten von Fensterereignissen zu einer Mehrzahl von bestehenden Anwendungen zur gleichzeitigen Ausführung
US5732200A (en) * 1994-04-19 1998-03-24 International Business Machines Corporation Integration of groupware with quality function deployment methodology via facilitated work sessions
US20100208634A1 (en) 1994-10-11 2010-08-19 Arbinet Corporation System and Method For Managing Multimedia Communications Across Convergent Networks
US5689645A (en) * 1994-12-01 1997-11-18 Hewlett-Packard Co. Persistence specification system and method for producing persistent and transient submaps in a management station for a data communication network
EP0744689B1 (en) * 1995-05-26 2002-10-09 Intel Corporation Extensible communication type manager for a computer system
EP0829166A4 (en) * 1995-06-02 1999-06-09 Intel Corp METHOD AND DEVICE FOR MONITORING THE ENTRY OF A PARTICIPANT DURING A CONFERENCE
US5680323A (en) * 1995-06-23 1997-10-21 Canon Information Systems, Inc. Multimedia player
US5710882A (en) * 1995-06-29 1998-01-20 Telefonaktiebolaget Lm Ericsson Method and call set up server for setting up a call using a call handling portion and a connection handling portion to handle the call and the connection, respectively
US6016520A (en) * 1995-07-14 2000-01-18 Microsoft Corporation Method of viewing at a client viewing station a multiple media title stored at a server and containing a plurality of topics utilizing anticipatory caching
JPH0934843A (ja) * 1995-07-18 1997-02-07 Canon Inc 処理システム及び処理装置
US5794006A (en) * 1995-08-18 1998-08-11 Microsoft Corporation System and method for editing content in an on-line network
US6286034B1 (en) * 1995-08-25 2001-09-04 Canon Kabushiki Kaisha Communication apparatus, a communication system and a communication method
US5737530A (en) * 1995-09-28 1998-04-07 Intel Corporation Method and apparatus for conditionally terminating a personal computer conference
JPH09134319A (ja) * 1995-10-03 1997-05-20 Sony Electron Inc パーソナル通信ルーティングシステムのユーザインターフェース及びルール処理
US5867156A (en) * 1995-11-08 1999-02-02 Intel Corporation Automatic viewport display synchronization during application sharing
JP3401587B2 (ja) * 1995-11-15 2003-04-28 富士通株式会社 仮想近接サービス制御システム
GB9603582D0 (en) 1996-02-20 1996-04-17 Hewlett Packard Co Method of accessing service resource items that are for use in a telecommunications system
US5956027A (en) * 1995-12-12 1999-09-21 At&T Corp Method and apparatus for sharing a web page
US6069890A (en) 1996-06-26 2000-05-30 Bell Atlantic Network Services, Inc. Internet telephone service
US6154445A (en) * 1996-04-18 2000-11-28 Bell Atlantic Network Services, Inc. Telephony communication via varied redundant networks
US5764916A (en) * 1996-09-27 1998-06-09 Ichat, Inc. Method and apparatus for real time communication over a computer network
US6658466B1 (en) * 1996-10-16 2003-12-02 Ncr Corporation Method and apparatus for integrating remote human interactive assistance function into software systems
US7263526B1 (en) 1996-10-30 2007-08-28 Avaya Technology Corp. Method and apparatus for embedding chat functions in a web page
US6785708B1 (en) 1996-10-30 2004-08-31 Avaya Inc. Method and apparatus for synchronizing browse and chat functions on a computer network
US6078582A (en) 1996-12-18 2000-06-20 Bell Atlantic Network Services, Inc. Internet long distance telephone service
US20050021477A1 (en) * 1997-01-29 2005-01-27 Ganapathy Krishnan Method and system for securely incorporating electronic information into an online purchasing application
US6137869A (en) 1997-09-16 2000-10-24 Bell Atlantic Network Services, Inc. Network session management
US6574216B1 (en) 1997-03-11 2003-06-03 Verizon Services Corp. Packet data network voice call quality monitoring
US6870827B1 (en) 1997-03-19 2005-03-22 Verizon Services Corp. Voice call alternative routing through PSTN and internet networks
US6292479B1 (en) 1997-03-19 2001-09-18 Bell Atlantic Network Services, Inc. Transport of caller identification information through diverse communication networks
US5877757A (en) * 1997-05-23 1999-03-02 International Business Machines Corporation Method and system for providing user help information in network applications
US6049800A (en) * 1997-06-23 2000-04-11 Oracle Corporation Mechanism and method for performing callbacks
US6041344A (en) * 1997-06-23 2000-03-21 Oracle Corporation Apparatus and method for passing statements to foreign databases by using a virtual package
US6236997B1 (en) 1997-06-23 2001-05-22 Oracle Corporation Apparatus and method for accessing foreign databases in a heterogeneous database system
US5987463A (en) * 1997-06-23 1999-11-16 Oracle Corporation Apparatus and method for calling external routines in a database system
US6226649B1 (en) 1997-06-23 2001-05-01 Oracle Corporation Apparatus and method for transparent access of foreign databases in a heterogeneous database system
US6437776B1 (en) * 1997-06-30 2002-08-20 Barton A. Walz Video assisted program environment
US5958016A (en) * 1997-07-13 1999-09-28 Bell Atlantic Network Services, Inc. Internet-web link for access to intelligent network service control
CA2246130C (en) 1997-09-04 2003-01-14 Mitel Corporation Web based help desk
US6105065A (en) * 1997-10-07 2000-08-15 Nortel Networks Limited Method of displaying changes in call status between nodes within a connection-oriented network
US6239800B1 (en) 1997-12-15 2001-05-29 International Business Machines Corporation Method and apparatus for leading a user through a software installation procedure via interaction with displayed graphs
US6971109B1 (en) * 1998-07-24 2005-11-29 Micron Technology, Inc. Integrated application management system
US6807667B1 (en) * 1998-09-21 2004-10-19 Microsoft Corporation Method and system of an application program interface for abstracting network traffic control components to application programs
US6901594B1 (en) * 1999-04-23 2005-05-31 Nortel Networks Ltd. Apparatus and method for establishing communication between applications
US6952800B1 (en) * 1999-09-03 2005-10-04 Cisco Technology, Inc. Arrangement for controlling and logging voice enabled web applications using extensible markup language documents
US6845410B1 (en) * 1999-09-29 2005-01-18 Silicon Graphics, Inc. System and method for a hierarchical system management architecture of a highly scalable computing system
US6741265B2 (en) * 1999-11-24 2004-05-25 General Electric Company Network-based design systems and methods
US7003559B1 (en) 2000-10-23 2006-02-21 Hewlett-Packard Development Company, L.P. System and method for determining probable network paths between nodes in a network topology
US6934766B1 (en) 2000-11-02 2005-08-23 Cisco Technology, Inc. Method and apparatus for exchanging event information between computer systems that reduce perceived lag times by subtracting actual lag times from event playback time
US8370525B2 (en) * 2001-03-30 2013-02-05 Intel Corporation Transmitting new data format under existing infrastructure
US20030182388A1 (en) * 2002-03-20 2003-09-25 Alexander Geoffrey D. Method and system for portable persistent clipboard function
US7178153B1 (en) 2002-05-10 2007-02-13 Oracle International Corporation Method and mechanism for implementing an access interface infrastructure
US20040098458A1 (en) * 2002-09-16 2004-05-20 Husain Syed Mohammad Amir Distributed computing infrastructure including multiple collaborative sessions
US7334018B2 (en) * 2003-03-11 2008-02-19 Sap Aktiengesellschaft Unified network resources
US7836401B2 (en) * 2003-03-20 2010-11-16 Siemens Medical Solutions Usa, Inc. User operable help information system
US7613767B2 (en) * 2003-07-11 2009-11-03 Microsoft Corporation Resolving a distributed topology to stream data
US8503658B2 (en) * 2003-07-14 2013-08-06 Cisco Technology, Inc. Call notification with rich caller identification
US20050065969A1 (en) * 2003-08-29 2005-03-24 Shiby Thomas Expressing sequence matching and alignment using SQL table functions
US8321506B2 (en) * 2003-10-23 2012-11-27 Microsoft Corporation Architecture for an extensible real-time collaboration system
US20050089023A1 (en) * 2003-10-23 2005-04-28 Microsoft Corporation Architecture for an extensible real-time collaboration system
RU2377640C2 (ru) * 2003-10-23 2009-12-27 Майкрософт Корпорейшн Архитектура для расширяемой системы совместной работы в реальном времени
US7900140B2 (en) * 2003-12-08 2011-03-01 Microsoft Corporation Media processing methods, systems and application program interfaces
US7733962B2 (en) * 2003-12-08 2010-06-08 Microsoft Corporation Reconstructed frame caching
US7712108B2 (en) * 2003-12-08 2010-05-04 Microsoft Corporation Media processing methods, systems and application program interfaces
US7735096B2 (en) 2003-12-11 2010-06-08 Microsoft Corporation Destination application program interfaces
US20050185718A1 (en) * 2004-02-09 2005-08-25 Microsoft Corporation Pipeline quality control
US7941739B1 (en) 2004-02-19 2011-05-10 Microsoft Corporation Timeline source
US7934159B1 (en) 2004-02-19 2011-04-26 Microsoft Corporation Media timeline
US7664882B2 (en) * 2004-02-21 2010-02-16 Microsoft Corporation System and method for accessing multimedia content
US7609653B2 (en) * 2004-03-08 2009-10-27 Microsoft Corporation Resolving partial media topologies
US7577940B2 (en) * 2004-03-08 2009-08-18 Microsoft Corporation Managing topology changes in media applications
US7669206B2 (en) 2004-04-20 2010-02-23 Microsoft Corporation Dynamic redirection of streaming media between computing devices
US7590750B2 (en) * 2004-09-10 2009-09-15 Microsoft Corporation Systems and methods for multimedia remoting over terminal server connections
US20060161620A1 (en) * 2004-12-30 2006-07-20 Microsoft Corporation Extensible activities within collaboration sessions
JP4626322B2 (ja) * 2005-02-03 2011-02-09 富士ゼロックス株式会社 プログラム
US7584209B2 (en) * 2005-02-04 2009-09-01 Microsoft Corporation Flexible file format for updating an address book
US7490079B2 (en) * 2005-04-14 2009-02-10 Microsoft Corporation Client side indexing of offline address book files
WO2007007397A1 (ja) * 2005-07-12 2007-01-18 Fujitsu Limited 共用管理プログラム、共用管理方法、端末装置、及び共用管理システム
US20080259918A1 (en) * 2007-04-19 2008-10-23 Craig Elliott Walker Method and apparatus for managing telephone calls
US8112480B2 (en) * 2009-01-16 2012-02-07 Microsoft Corporation Signaling support for sharer switching in application sharing
US8238538B2 (en) 2009-05-28 2012-08-07 Comcast Cable Communications, Llc Stateful home phone service
US8789065B2 (en) 2012-06-08 2014-07-22 Throughputer, Inc. System and method for input data load adaptive parallel processing
US20130117168A1 (en) 2011-11-04 2013-05-09 Mark Henrik Sandstrom Maximizing Throughput of Multi-user Parallel Data Processing Systems
US8793698B1 (en) 2013-02-21 2014-07-29 Throughputer, Inc. Load balancer for parallel processors
US9448847B2 (en) 2011-07-15 2016-09-20 Throughputer, Inc. Concurrent program execution optimization
CN104765621B (zh) 2014-01-02 2018-05-01 国际商业机器公司 一种在集群节点中部署程序的方法和系统
JP7031569B2 (ja) * 2018-11-29 2022-03-08 日本電信電話株式会社 情報作成装置、情報作成方法、および、情報作成プログラム
US20240168829A1 (en) * 2022-11-16 2024-05-23 Nvidia Corporation Application programming interface to generate a tensor mapping

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5008853A (en) * 1987-12-02 1991-04-16 Xerox Corporation Representation of collaborative multi-user activities relative to shared structured data objects in a networked workstation environment
US5280583A (en) * 1988-05-13 1994-01-18 Hitachi, Ltd. System and method for performing interlocution at a plurality of terminals connected to communication network
US4943996A (en) * 1989-01-06 1990-07-24 International Business Machines Corporation Shared access to voice and information
US5155842A (en) * 1989-08-14 1992-10-13 Microsoft Corporation Logical event notification method and apparatus
US5206934A (en) * 1989-08-15 1993-04-27 Group Technologies, Inc. Method and apparatus for interactive computer conferencing
JP2791146B2 (ja) * 1989-11-15 1998-08-27 株式会社日立製作所 データ処理装置
US5195086A (en) * 1990-04-12 1993-03-16 At&T Bell Laboratories Multiple call control method in a multimedia conferencing system
JP2865827B2 (ja) * 1990-08-13 1999-03-08 株式会社日立製作所 会議システムにおけるデータ蓄積方法
JP3161725B2 (ja) * 1990-11-21 2001-04-25 株式会社日立製作所 ワークステーションおよび共同情報処理システム
US5293619A (en) * 1991-05-30 1994-03-08 Sandia Corporation Method and apparatus for collaborative use of application program
US5375068A (en) * 1992-06-03 1994-12-20 Digital Equipment Corporation Video teleconferencing for networked workstations
US5392400A (en) * 1992-07-02 1995-02-21 International Business Machines Corporation Collaborative computing system using pseudo server process to allow input from different server processes individually and sequence number map for maintaining received data sequence

Also Published As

Publication number Publication date
WO1994011813A1 (en) 1994-05-26
GB2272311A (en) 1994-05-11
DE69329418T2 (de) 2001-03-22
US5539886A (en) 1996-07-23
EP0620935A1 (en) 1994-10-26
GB9223520D0 (en) 1992-12-23
DE69329418D1 (de) 2000-10-19
JP2544904B2 (ja) 1996-10-16
EP0620935B1 (en) 2000-09-13

Similar Documents

Publication Publication Date Title
JP2544904B2 (ja) 協調作業ネットワ―クでの呼出し管理ワ―クステ―ション及び方法
US5652866A (en) Collaborative working method and system for a telephone to interface with a collaborative working application
US5719942A (en) System and method for establishing a communication channel over a heterogeneous network between a source node and a destination node
JP2544905B2 (ja) ネットワ―クにおける協調作業用ワ―クステ―ション及び協調作業方法
US5887170A (en) System for classifying and sending selective requests to different participants of a collaborative application thereby allowing concurrent execution of collaborative and non-collaborative applications
EP0497022A1 (en) Conference system
US5557725A (en) Method and system for switching between users in a conference enabled application
AU714600B2 (en) Network-independent connection management
EP1579654B1 (en) Controller for multimedia sessions
US7167897B2 (en) Accessories providing a telephone conference application one or more capabilities independent of the teleconference application
US5195086A (en) Multiple call control method in a multimedia conferencing system
JP4444518B2 (ja) 様々なネットワークを介して匿名ユーザ間でのインテリジェントなセッションを確立する分散システム
JP2544581B2 (ja) 会議システム制御方法、会議装置及び会議システム
JPH10116193A (ja) 通話制御装置および通話を制御する方法
US20030103468A1 (en) Multi-site teleconferencing system
US5491798A (en) Method for network call management
Heijenk et al. Communication systems supporting multimedia multi-user applications
US20060161620A1 (en) Extensible activities within collaboration sessions
US20050198139A1 (en) Multispeaker presentation system and method
Dommel et al. Design issues for floor control protocols
JP3087469B2 (ja) 共同情報処理システムおよび制御方法
Aldred et al. Call Management in a Lakes environment
KR100307194B1 (ko) 상호 참여형 멀티미디어 응용 개발 시스템에서의 세션 관리 및 컴포넌트 관리장치와 그 방법
Aldred et al. Connection Management in a Lakes environment
CN115473872A (zh) 面向大型体育赛事指挥的协同会商系统

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees