JPH07503569A - ネットワークにおける協調作業用ワークステーション及び協調作業方法 - Google Patents

ネットワークにおける協調作業用ワークステーション及び協調作業方法

Info

Publication number
JPH07503569A
JPH07503569A JP6511850A JP51185094A JPH07503569A JP H07503569 A JPH07503569 A JP H07503569A JP 6511850 A JP6511850 A JP 6511850A JP 51185094 A JP51185094 A JP 51185094A JP H07503569 A JPH07503569 A JP H07503569A
Authority
JP
Japan
Prior art keywords
application
channel
data
port
applications
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
JP6511850A
Other languages
English (en)
Other versions
JP2544905B2 (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 JPH07503569A publication Critical patent/JPH07503569A/ja
Application granted granted Critical
Publication of JP2544905B2 publication Critical patent/JP2544905B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)
  • Communication Control (AREA)

Abstract

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

Description

【発明の詳細な説明】 ネットワークにおける協調作業用ワークステーション及び協調作業方法 し技術分野] 本発明は、ネットワークでの協調作業に関し、さらに具体的には、そのような協 調作業環境で使用するプログラマブル・ワークステーションと方法に関する。
[背景技術] パーソナル・コンピュータは現在、実業界全体に広く普及しており、その多くは 、固定接続、たとえばローカル・エリア・ネットワークを介して、あるいは動的 に確立されるリンク、たとえば公衆交換電話網のl5DNや非同期回線を介して 相互に通信することができる。これらの接続されたパーソナル・コンピュータを 使用して、遠く離れた個人の間の協調作業を拡大できることが増加してきている 。典型的な例は、デスク・トップ会議ソフトウェアを使用することである。協調 作業を成功させるには一般に、参加者の間に簡単なデータ・リンク以上のものが 必要である。通常、音声機能が必須であり、しばしば、ビデオ・リンクが必要に なる。したがって、リモート協調作業は従来の電話呼出しの拡張とみなせること が多い。従来の電話呼出しが、パーソナル・コンピュータを介して机上で利用可 能なデータおよびプログラムによって拡張され、時にはビデオ・サービスによっ て拡張されているものとみなされる。
ワークステーションのデータおよびアプリケーションを利用するユーティリティ 、たとえば画面ウィンドウおよびファイルの共用から、特有のクラスのリモート ・ユーザのニーズを満たすように設計された新しい協調アプリケーション、たと えばジャストインタイム・エジュケーション、リモート・プレゼンテーション、 エグゼグティブ・ブロードキャスト、ヘルプ・デスクまで、広い範囲の協調アプ リケーションを構想することができる。これらの例の共通の要件を以下に示す。
○ハードウェアとソフトウェアを共に含む広範囲のパーソナル・コンピュータ・ プラットフォームのサポート○既存の通信ネットワークを介した運用○グループ 通信およびマルチメディア・データ・サービスマルチメディア装置および通信チ ャネルを使用するデスク・トップ会議システムが存在するが、これらは一般に、 固定された1組のシステム・ソフトウェアおよびユーティリティ・アプリケーシ ョンを備えており、すべての潜在的なアプリケーションのニーズを満たすほど柔 軟ではない。
[発明の開示コ したがって、本発明は、ノードの間でデータを送信するための物理リンクによっ て接続されたネットワークのノードを形成するワークステーションのネットワー クでの協調作業用のプログラマブル・ワークステーションを提供する。
このワークステーションは、オペレーティング・システムと、 ノードの間のマルチメディア・データの物理経路指定を制御するための、オペレ ーティング・システム上で動作するネットワーク制御プログラム層と、 ワークステーション上で動作し、所定のアプリケーション・プログラム呼出しに 応答するアプリケーション・プログラムとのインタフェースをとり、ノード内で およびノードを介してデータおよび資源を共用する共用アプリケーション・プロ グラム・セットと、それぞれがアプリケーション・プログラムに関連する送信側 ボートおよび受信側ボートによってそれぞれが定義される、共用アプリケーショ ン・プログラム・セットのメンバを接続する論理専用データ・チャネルとを備え た協調環境の論理ネットワーク・モデルを作成し、かつネットワーク制御プログ ラム層と協働して、アプリケーション・プログラムに透過的に、物理ネットワー クで論理ネットワーク・モデルを実施するのに必要な物理リンクを確立するよう になされた協調アプリケーション・プログラム・サポート・プログラム層とを備 えている。
他の態様によれば、本発明は、第1のアプリケーションの受信側ボートおよび送 信側ボートを介して、他の2つのアプリケーションの間でデータを転送するため に使用されている第1のアプリケーション・プログラムによる事前に決定された プログラム呼出しに応答して、データ転送が第1のアプリケーション・プログラ ムをバイパスするように、第1のアプリケーションの受信側ボートが反転可能に 直接送信側ボートに接続される方法も提供する。
ここで、本発明を、例を介して、添付の図面の第1図ないし25を参照して説明 する。
[発明の好ましい実施例コ 第1図には、LANやWANなどのネットワークでリンク11によって接続され た2台のプログラマブル・ワークステーション10および12が示されている。
ワークステーションの主要な構成要素は従来、ハードウェア13から始まる層と して説明されている。詳細に図示していないハードウェアは、メイン・メモリを もつプロセッサ装置と、ディスク°ファイルなどの二次記憶域と、表示装置と、 キーボードやマウスなどの入出力装置から構成される装置サポート・ソフトウェ ア14は、ハードウェア装置がIBMのオペレーティング・システム/2 (○ S/2)などの周知のオペレーティング・システム15内で機能できるようにす る。
従来のワークステーションをネットワークで使用する際、前記ワークステーショ ンの一部になるのは、ネットワーク11との接続と、ネットワークを介したワー クステーションの間の通信をサポートするためのネットワーキング・ソフトウェ ア16である。典型的なネットワーキング・ソフトウェア16は、IBMのNe tbiosプログラム製品である。ここまでで説明したものは、アプリケーショ ン・プログラム18を実行することができる従来のネットワーキング・ワークス テーションだけである。
本発明を実施するために、各ワークステーションは、分散協調作業環境を作成す るためのアプリケーション・プログラムの開発を容易にする協調アプリケーショ ン・サポート・システム・ソフトウェア17も含む。この環境では、ワークステ ーションのエンドユーザは、マルチメディア・チャネルを介してネットワーク中 の他のワークステーションのユーザと通信し、かつ共用データおよびタスクに関 して協調作業を行うことができる。
サポート・システム17の全体的な構造を、前記システム17が直接インタフェ ースをとるワークステーションの他のソフトウェア構成要素と関連付けて第2図 に示す。サポート・システム17の内部構造の詳細は、第10図に示す。大まか に言って、システム17の主機能構成要素は、点線で示した2つのインタフェー ス20と21の間にある。
アプリケーション・プログラミング・インタフェース20によって、アプリケー ション18はサポート・サービスを要求することができる。装置ドライバ・イン タフェース21によって、システムは、トークン・リング・ドライバ25、工S DNドライバ26、R3232ドライバ27、その他の装置ドライバ28などの 装置ドライバを介して広範囲なソフトウェアおよ゛びハードウェア通信サブシス テムをサポートすることができる。リンク・サポート・モジュール228.22 9は装置ドライバとのインタフェースをとる。これらは、ワークステーションで 利用可能なハードウェア・オプションに応じて交換可能であり (第10図は、 可能な選択だけを示す)、どのハードウェアが存在するのかをサポート・システ ムが正確に知らなくて済むように働く。暗示的な資源インタフェース(図示せず )を介して、サポート・システムでも、アプリケーションでも、装置ドライバで も、資源ファイル29に、ノード・アドレスやディレクトリ・データなどの通信 ネットワークの詳細を要求することができる。
API20によって、アプリケーション18は、多様で複雑な通信ネットワーク を介して、ノード上に配置された様々なハードウェアおよびソフトウェア・プラ ットフォーム上で、対等アプリケーションを開始し、資源を共用することができ る。API20によって、アプリケーションは、基礎物理ネットワークの構造と は独立に、広範囲のマルチメディア・トラフィックに適した、共用アプリケーシ ョン間の複数の専用論理データ・チャネルを定義することができる。
API20によって、アプリケーションは共用アプリケーション間のデータ・ス トリーミングを直列化し、同期化し、組み合わせ、またはコピーすることができ る。API20によって、アプリケーションは一連の接続された装置をサポート することができ、装置データのインターセプトおよびリダイレクトを可能にする 。
サポート・システムは、外部アプリケーションおよび装置とのインタフェースを とる拡張可能な1組の論理装置30などのアプリケーション開発を助けるための 他の構成要素を含む。APIに書き込まれた、アプリケーションからコマンド・ インタフェースを介して呼び出すこともできる1組のエンドユーザ・インタフェ ース(図示せず)も、設けられている。
ネットワーク、ノード、およびアプリケーション最高レベルでは、APIによっ て提供されるプログラミング・モデルは通信ノード・セットから構成される。ノ ードとは、ユーザを表すアドレス可能なエンティティであり、サポート・システ ム・ソフトウェアのインスタンスと、アプリケーション・プログラム、データな どの1組の資源を備えている。通常、ノードは、その対等サブシステムと通信で きる専用プログラムマブル・ワークステーション1oである。マルチユーザ・シ ステムでは、ノードは各ユーザに関連づけられる。
ノードは、サポート・ノードまたは非サポート・ノードである。サポート・ノー ドは、サポート・システム・ソフトウェア17が実行されるものである。相互通 信サポート・ノードの集合をサポート・ネットワークと呼ぶ。
ノードは名前で識別される。理想的には、ノード名はすべて特有のものであるべ きだが、関連するノードが相互通信する必要がないかぎり重複が許容される。ノ ード命名方式の選択は、本発明に直接関連していない。ただし、インタネット・ プロトコルによって定義されたような階層システムは多数の利点を有する。ノー ドがネットワークに動的に参加し、あるいはネットワークを動的に抜けられるこ とが、アーキテクチャの基本である。
ノードは、論理装置3oを含むことができる。論理装置とは、アプリケーション がアーキテクチャ中の他のエンティティと矛盾せずにソフトウェアまたは装置を 操作または管理できるようにするサポート・システムのソフトウェア拡張機能で ある。プレゼンテーション・ウィンドウ、プリンタ、ディスク・ドライバ、モデ ム、およびアプリケーション・プログラムを含む広範囲の論理装置がある。
ノードでは、オペレーティング・システムおよびウィンドウ・システムによって ノードに課される制限に従って、複数のアプリケーションを実行することができ る。アプリケーションは、awareまたはunawareであり、aware アプリケーションはAPTのサービスを使用し、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図の概略例に示すように、40.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”コマンドを介して制御することができる。こ のコマンドは、ローカル・ボートに発行し、チャネル中の他のボートに渡すこと ができる。通常、チャネル・ボート用のsignalコマンドは、データを供給 または受信するアプリケーションのボート事象ハンドラに送信され、たとえば、 データ・フローを停止、開始、削減、または増加するために使用できる。発信元 とターゲットの間の信号の順序は維持される。直列化チャネル・セット中の受信 側ポートに送信される信号は、それ自体が直列化され、それによって、すべての 発信元が同じシーケンスのコマンドを受信する。他の典型的な信号はテープ・ド ライブに対する”rewind’″または”pause” 、あるいはプリンタ 装置に対する”change papersize”である。
ユーザ出口は、任意選択でボートに関連付けることができる。これによって、デ ータが送信側ポートに供給された後、または受信側ポートによって供給される前 に、データを監視、または操作することができる。同期チャネルの場合、同期は 、データが送信側ポート・ユーザ出口を離れてから、受信側ポート・ユーザ出口 に供給されるまで実行される。
標準送信側コマンド・ボートの全体的な構造を第8図に示す。データは、アプリ ケーションからの”5end data”コマンドに応答して、ボート70のバ ッファ71中で待機する。アプリケーションは、バッファを空にして、ユーザ出 ロア2とチャネル73を介して非同期的にデータを送信する。着信した”sig nal 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)クリップボード、DDE1プリンタ、ビデオ 装置などのシステム資源および装置へのより容易なアクセス、(ii)たとえば 、unawareアプリケーションのウィンドウ内容およびファイル活動へのア クセスを与えることによって、unawareアプリケーションを協調作業に使 用すること、および(iii)アプリケーションの関与しない端末間データ・ス トリーム化、をイネーブルにするためにサポート・システムによってサポートさ れる。頻繁に使用される装置は、ビデオ・キャプチャ、ビデオ・プレイバック、 オーディオ・プレイバックなどを含み、追加装置を定義するために機能が提供さ れる。
論理装置はタイプによって識別される。タイプ名は、ノードに対してローカルで ある。論理装置はオープンされると、アプリケーションにボートを提供する。単 一の論理装置が複数のボートを有することができ、さらに、装置は同じノードに ある異なるアプリケーションに同時にボートを提供することができる。ボートを オープンするための関連API呼出しによって、その装置に特有の特性、たとえ ば使用すべきデータ・フォーマットを設定することができる。オープンされた論 理装置は、単一のボートに送信される、特定の論理装置に特有のコマンドを介し て制御することができる。装置ポートへの典型的なコマンドは、テープ・ドライ ブへのリワインドまたはポーズである。装置の状況、たとえばデータが利用可能 かどうかを照会することもできる。
装置は、ユーザ出口が存在しないことを除き、チャネル・ボートによく似ている 。アプリケーションは、論理装置上のボートをチャネル・ボートに接続すること ができる。これによって、データは、装置との間を流れ、かつチャネルを介して 流れることができる。このデータ・フローは、接続が確立された後、それ以上ア プリケーションを関与させることを必要としない。たとえば、データをチャネル を介してカメラからカメラ論理装置までストリーム化し、ウィンドウ論理装置に よって表示することができる。アプリケーションは2つの論理装置をそれらの信 号ボートを介して制御することができる。もはや伝送が必要ないとき、アプリケ ーションはボートを切断し、装置をクローズし、チャネルを削除することができ る。
装置ボートをチャネル・ボートにウェルドすることはできない。なぜなら、こう すると、装置がローカル・アプリケーションの制御外に存在できるようになるが らである。論理装置は、サポート・システムにAPI呼出しを発行することを許 可されており、この点では、所有アプリケーション(すなわち、装置をオープン したアプリケーション)の代わりに働く。装置はたとえば、その所有アプリケー ションに、他のアプリケーションと共用を行わせ、チャネルを作成させ、かつデ ータを送受信させることができる。
潜在的な装置には以下のようなものがある。
−システム・クリップボード −LPTx−DDE −ウィンドウ −共用クリップボード −プリンタ ー直列エミュレータ −ファイル ービデオ −符復号器 −オーディオ −電話 クリップボードの共用は、システム・クリップボード装置および共用クリップボ ード装置によって容易になる。システム・クリップボード装置をアプリケーショ ンによってオープンして、そのノードでのウィンドウ・システム・クリップボー ドへのアクセスを与える送信側ポートおよび受信側ポートを提供することができ る。いつでも送信側ポートは1つしか存在できないが、そのノードにあるどのア プリケーションでも受信側ボートをオープンすることができる。チャネルを使用 すると、あるノードからのシステム・クリップボード・データを単純に、アプリ ケーション共用セットの他のメンバに経路指定することができる。
他の装置、共用クリップボードは、データ共用を容易にするために提供されてい る。共用クリップボードは共用セットに特有のものである。送信側ポートは1つ しか許可されないが、複数の受信側ボートがサポートされる。これらの違いは別 として、共用クリップボードは、システム・クリップボードと同様に動作し、ア プリケーションが共通データを共用するための単純な機構を提供する。
ウィンドウ装置によって、画面上に定義されたウィンドウを送信側ボートまたは 受信側ボート(状況によってはその両方)と関連付けることができる。送信側ボ ートをチャネル・ボートに接続することができ、データをウィンドウにストリー ム化して表示することができる。様々なデータ・フォーマットがサポートされる 。
DDE装置をオープンして、動的データ交換機構に結合された送信側ボートおよ び受信側ボートを提供することができる。awareアプリケーションは、この 装置を介して、DDEをサポートするアプリケーションを制御し、あるいはそれ 自体を制御することができる。さらに、適切なチャネルを確立することによって 、2つのリモートDDEアプリケーションをリンクすることができる。
プリンタ装置によって、データをシステム・プリンタに送信することができる。
送信側ボートは1つしか許可されない。
非同期直列装置は、1つの送信側ボートと複数の受信側ボートをサポートし、R 3232、R3422、オヨヒソノ他の直列通信とのインタフェースをとる。
ビデオ・ディスプレイ・プレイバック装置(IBM/インテル・アクションメデ ィアエ■アダプタ/ A (IBM/IntelActionMedia II  Adapter/A)をサポートする)、ビデオ・キャプチャ装置(IBMM ビデオ・キャプチャ・アダプタ/A (IBM M−Video Captur e Adapter/A)をサポートする)、オーディオ・キャプチャ・プレイ バック装置(IBM Mオーディオ・キャプチャ・プレイバック・アダプタ/A (IBMM−Audio Capture and Playback Ada pter/A) をサポートする)、およびその他の特殊オーディオ/ビデオ装 置(H320準拠符復号誰々どの)を含む、多数のビデオおよびオーディオ装置 が存在する。
awareアプリケーションの多(はシステム・ユーティリティとして出荷され ており、これらの装置を利用して、ネットワークを介した協調作業のための汎用 エンド・ユーザ機能を提サポート・システム17用のカストマイズ情報は、適切 なプラットフォーム指定リポジトリに記憶される。WindowsおよびO5/ 2)場合、コノ情報線、LAKES、 INI オcl:びLAKESQO3, INI ト呼ばれるファイルである。これらのファイルは、キーワードとその値 が維持される、識別子で始まるセクションを含む標準ASCIIファイルとして フォーマットされる。アプリケーションは、それ自体の追加初期設定フィールド を有することもできる。LAKES、 INIは、構成および始動オプション、 awareアプリケーション、装置、および物理通信リンクに関する情報を含む 標準セクションを含む。そのようなアプリケーションに特有のデータを含むアプ リケーション・セクションを存在させることもできる。LAKEQO3,INI は、物理リンクおよびデータ・クラスに関するサービス品質情報を含む。これら のファイルにアクセスし、それらを更新するための呼出しはAPIに提供されて いる。
資源管理 協調作業では多くの場合、ノードが所有する資源、たとえばプリンタ装置を他の ノードと共用できることが必要になる。
そのような資源は、グローバル資源とみなされ、アクセスはグローバル・トーク ンを介して制御される。その他の資源、たとえば共用ポインタは、アプリケーシ ョン共用セットにローカルであり、これへのアクセスはアプリケーション・トー クンを介して管理される。
トークン所有者は、トークンの重要度を判定し、それを要求上に割り振る。所有 者の裁量で、待機中の要求を許可することができ、特定のトークンの複数の同時 保持者を許可することができる。トークン所有者は、任意選択で、保持者にトー クンを戻させることができる。
グローバル・トークンは、ネットワーク全域にわたって共通名前空間を共用する が、アプリケーションは′、それが必要とするグローバルに利用可能な資源の位 置を知っているとみなされるので、重複グローバル・トークン名が許可される。
可用性情報を同報通信するための機能は提供されない。その代わり、グローバル 資源をもつノードにある呼出しマネージャは、資源管理の責任を負い、したがっ て、あらゆるグローバル・トークンを保持する。グローバル・トークンは、アプ リケーション・インスタンスによって排他的に保持し、あるいは共用することが できる。しかし、トークン所有権をアプリケーションに移すことはできない。グ ローバル・トークンをめる要求は、APIより上位で保持され、ノード呼出しマ ネージャによって管理される待ち行列によって待機させることができる。グロー バル・トークンへのアクセスは共用アプリケーション・セットだけに制限されな い。
アプリケーション・トークン名空間は、アプリケーション共用セットだけに制限 されない。トークンはどのメンバ・アプリケーションでも所有することができ、 所有権を移すことができる。アプリケーション・トークンは排他的に保持し、あ るいは共用することができ、トークンに対する要求は、APIより上位で保持さ れ、現アプリケーション・トークン保持者によって管理される待ち行列で待機す ることができる。
初期設定および終了 サポート・システムは、LAKES、EXEファイルを動作させることによって 始動される。このファイルは、ファイルLAKES。
INIからプロファイル・データを読み取る。指定された呼出しマネージャが、 サポート・システムによって始動され、次いで、それ自体をawareアプリケ ーションとして登録する。次いで、”set call manager”コマ ンドがこの特定のアプリケーションをそのノード用の呼出しマネージャとして確 立する。
このコマンドの後に、サポート・システムはそのノードで完全に活動状態になり 、着信事象および要求を処理できるようになる。
awareアプリケーションは、アイコンのダブル・クリックなどの通常のオペ レーティング・システム手順、または” 1aunch”コマンドによって開始 することができる。前者の場合、アプリケーションはサポート・システムに登録 され、リターン・データで、アプリケーション・ハンドルおよびノード・ハンド ルを受信する。呼出しマネー、ジャにこの登録のことが通知され、アプリケーシ ョンへのハンドルが供給される。後者の場合、ローンチする側のアプリケーショ ンにアプリケーションへのハンドルが返される。ローンチされる側のアプリケー ションがサポート・システムに登録されるまで、このハンドルは非常に限られた 状況でしか有効ではない。リターン・データは、ローンチされる側のアプリケー ションにアプリケーション・ハンドルとノード・ハンドルを提供する。
呼出しマネージャと、ローンチを指定したアプリケーション(呼出しマネージャ と異なる場合)は共に、適宜、通知を受ける。
アプリケーションは、登録が取り消され、呼出しマネージャが通知を受けること によってunawareアプリケーション状況に戻ることができる。保持されて いるすべてのトークンが解除され、トークン所有者が通知を受け、所有されてい るすべてのトークンが無効になる。アプリケーションがアプリケーション共用セ ットのメンバである場合は削除され、該アプリケーションが前記セットを抜けた ことが他のメンバに通知される。アプリケーションによって作成されたすべての ボートが破壊され、影響を受けるチャネルへのボートを所有する他のアプリケー ションが通知を受ける。終了するアプリケーションによって接続されたすべての チャネルがウェルドされ、端末チャネル・ボートで適切な事象がレイズされる。
適切な事象をレイズすることは、ローカル呼出しマネージャと、登録を取り消す 側のアプリケーションに代わって、ウェルドされたチャネルをサポートするあら ゆるノードの呼出しマネージャに必要である。オープンしている論理装置はすべ てクローズされる。ボートに接続された論理装置がある場合は登録取消しプロセ スの一部として破壊され、次いで、接続されたチャネル全体が破壊され、適当な 事象がレイズされる。
ノードにあるサポート・システムを通常の方法でクローズするために、アプリケ ーションによって遮断要求を発行することができる。これによって、ローカル呼 出しマネージャで事象がレイズされ、呼出しマネージャが要求を受け入れる場合 は、他のアプリケーションで対応する遮断事象がレイズされる。次いで、これら のアプリケーションは閉止し登録を取り消す準備をして、各登録取消しが呼出し マネージャに通知される。すべてのアプリケーションが登録を取り消したことが 呼出しマネージャに通知された後、前記呼出しマネージャも登録を取り消して遮 断を完了する。
サポート・システムの通常の操作は、呼出しマネージャの存在によって変化する 。既存の呼出しマネージャを他の呼出しマネージャと交換することが可能である が、既存の呼出しマネージャは、その要求を拒否することができる。
アプリケーションは、”5hare app’″要求を発行してアプリケーショ ン共用セットを指定することによって、共用セット中の他のアプリケーションに 加わることができる。通常の場合には、ターゲット・アプリケーションとノード を共に名前で指定する。あるノードにあるアプリケーションが他のノードにすで に存在するアプリケーション・インスタンスと名前によって共用を行いたい場合 の手順は次のとおりである。ノード1にあるapp 1が、それ自体のアプリケ ーション・ハンドルおよびノード・ハンドルを発信元として、app 2および ノード2の名前をターゲットとして指定した” 5hare−app”要求を発 行する。ノード1にある呼出しマネージャによる検証の後、サポート・システム によって、ノード2にある呼出しマネージャに適切な要求が送信される。この呼 出しマネージャが要求を受け入れる場合、要求はapp 2上に渡され、app  2は、それが共用の受入れを希望していることを示す確認を返すことができる 。この方式は、アプリケーション共用においてかなりの柔軟性を提供する。各呼 出しマネージャは、アプリケーションが”5hare−app”要求の発信元で あれ、ターゲットであれ、そのノードでの共用活動を知る。
呼出しマネージャは、共用要求の受信時に、(i)共用自体を処理する、(ii )共用要求を転送する、(iii)共用を拒否する、(iv)共用を処理する新 しいアプリケーションをローンチする、(V)アプリケーションおよびノード名 を変更するというオプションを有する。
アプリケーションは、ローンチされるとき、アプリケーション共用セットのメン バではない。発信元アプリケーションは、”5hare app”要求を発行す るとき、その結果得られる共用セットを命名するオプションを有する。共用セッ トを命名しない場合、ターゲットが名前を供給しなければならない。
共用を行った後、ターゲットと発信元は共に、この名前の新しい共用セットに加 わる。発信元またはターゲット、あるいはその両方がすでに、これと同じ名前の 共用セットのメンバだった場合、それらの共用セットは新たに作成された共用セ ットと組合わされる。アプリケーションは、”unshare app”要求を 使用して共用セットを抜けることができる。
データ送信および受信 アプリケーションがデータを交換するための機構が4つある。
(i)ユーザ情報文字列 これは実際上、API呼出し中のパラメータとしてサポート・システムに渡され 、次いでターゲット・アプリケーションに渡される文字列である。
(11)信号関数呼出し このコマンドは、アプリケーションの間で制御情報を送信できるようにし、単一 の共用セット内のアプリケーションだけに制限されない。使用されるAPI呼出 しに応じて、応答が提供されることも、提供されないこともある。この方法が異 なるノード自体のデータ制御フローのために該ノード上のサポート・システムの 間に確立された通信径路を使用するため、この技術は、軽いデータ・トラフィッ クに制限されることに留意されたい。
(iii)チャネル送信 チャネルは、アプリケーションの間のボリューム・データの転送をサポートする ものである。チャネルは、転送特性を制御する手段だけを提供する。チャネルの 使用は、同じアプリケーション共用セット内のアプリケーションだけに制限され る。チャネルの作成を要求する際は、ターゲット・アプリケーション・ハンドル 、チャネル・セット・タイプおよび識別子、データ・クラス、最大バッファ・サ イズ、ユーザ出口、ノード・ハンドル、サービス品質、接続タイプ、ボート事象 ハンドラ、ユーザ情報の情報を指定する。チャネル作成の代替手法は、既存の組 合せチャネル・セットまたは直列化チャネル・セットをもつアプリケーションが アプリケーション共用に関与しているときに作成されたチャネルを利用すること である。
データは、アプリケーションによってチャネルを介してデータ単位で送信される 。物理レベルでは、データ送信の単位はフレームである。ある種のデータはスポ イル可能である。
すなわち、ある状況の下では、サービス品質要件を満たすようにデータを送れな い場合、そのデータを破棄することができる。パケットによっては、スポイル可 能とマーク付けできるものと、そうできないものがある。スポイラ・パケットは 、存在する場合、それに関連するスポイル可能パケットを削除する。この技術は たとえば、あるパケットがデルタ・フレーム・パケットで、他のパケットが完全 フレーム・パケットである、ビデオ用のバッファ管理方式の実施態様をサポート する。完全フレームが利用できる場合、選択されたデルタ・フレーム・パケット ・シーケンスを削除することができ、かつ削除しなければならない。
(i v)論理装置 ある特殊な状況では、論理装置を使用してデータを交換するのが妥当である。単 一の論理装置が、複数のアプリケーションにポートを提供することができる。論 理装置は次いで、ポートの間でデータを移動することができる。この転送機構は 、同じ共用セット内のアプリケーションだけに制限されず、したがってチャネル に課された限界を解消する。しかし、論理装置は複数のノードをカバーすること はできない。さらに、必要なサービス品質サポートは、特定の論理装置によって 明示的に提供しなければならない。
サービス品質の折衝 アプリケーションは、サービス品質および帯域幅の折衝および制御に関して異な るニーズを有する。たとえば、以下のものが必要になることがある。
○事前に決定された一定のサービス品質、たとえばG、711音声 ○チャネル作成時に柔軟であり、その後は一定である要件、たとえばファイル転 送 Oチャネル資源の単一アプリケーション管理、たとえば、制限された帯域幅条件 の下で、すなわち、データ・トラツイツタを許可するためにビデオ品質を間欠的 に低下させなければならない場合に、アプリケーションがビデオ、音声、データ などの複数のデータ・タイプを伝達する。
Oチャネル資源のアプリケーション間管理、たとえば、一群のアプリケーション が、制限された帯域幅条件の下で複数のデータ・タイプを伝達し、該データ・タ イプの活動を、異なるタイプのデータ・トラフィックのための優先順位変更とし て調整する。
ある種のアプリケーションは、他のアプリケーションと通信するのに必要なチャ ネルの固定サービス品質要件を有する。
このような場合には、”create channel”要求を使用してチャネ ルを直接確立することができる。この要求上のパラメータは、受信側アプリケー ションと、チャネルと送信側ボートとの特性を識別する。資源が利用可能であり 、受信側アプリケーションが要求を受け入れる場合、チャネルが作成される。
一部のアプリケーションは、サービス品質要件がより柔軟であり、特定のノード に何が利用可能かを判定し、次いで”create channel”要求のパ ラメータを設定する際にこの情報を使用する必要がある。これは、ターゲット・ ノードを指定する”query resource’″コマンドを介して行う。
この後の“create−channel”は、通信資源をめる競争がない場合 、前と等しいか前よりも低いサービス品質を要求して、要求を満たしてもらうこ とができる。
他のアプリケーションは、柔軟なサービス品質要件を有するが、多数のチャネル に対して指定を行う必要がある。このためには、アプリケーションが資源を予約 し、次いでこの予約されたプールから割振りを行う必要がある。
これは、資源セット識別子、サービス品質、およびターゲット・ノードを指定す る’claim resource”コマンドによって行う。このコマンドは、 その資源を予約して、指定された識別子と関連付ける効果を有する。この識別子 は次いで、その後の“create channel”コマンドで指定すること ができ、この場合、そのようなリザーブから資源が割り振られる。
query resource”コマンドを使用して、資源セット中の残りの資 源を判定することができる。
ある種のアプリケーションは、実行時にチャネル特性を動的に変更する必要があ る。たとえば、利用可能な帯域幅をチャネルごとに再割振りしなければならない 。これは、資源セット識別子を指定する” change channel ” 要求を介して行うことができる。資源は、その識別子に関連する資源に与えられ 、あるいは後者の資源から取られる。この技術によって、たとえば、固定資源を アプリケーション間通信用に確保し、次いで、トラツイツタに応じて動的に再割 振りすることができる。たとえば、ビデオ帯域幅を一時的に削減して、より高速 のファイル転送を可能にすることができる。
資源セット識別子は、アプリケーション・インスタンスにローカルであり、1つ の特定のサービス品質に適した資源を含む。
ネットワーク アプリケーションは、チャネルを作成する際に、あるいは後でチャネルに割り振 るために資源を予約する際に、サービス品質特性を指定することができる。この 場合、チャネルは物理リンク上にマツプされる。論理チャネルを介してアプリケ ーションによって送信されるデータ・パケットは、リンクを介して送信されるデ ータ・フレームとして実施される。
リンクは交換リンクであれ固定リンクであれ、順序と、タイムアウト・パラメー タと、サービス品質特性によって特徴付けられる。順序は、サポート・システム が、適切なデータ送信特性があればリンクの選択が可能であると仮定して、リン クをデータ送信に使用しようとする順序を決定する。交換リンクであれ、固定リ ンクであれ、順序とタイムアウト・パラメータは初期設定ファイルに指定する。
任意選択でサービス品質特性を含むリンク記述は、サポート・システムの外部の リンク・データベースに記憶される。
サービス品質情報用のデフォルトは初期設定ファイルに含まれている。データベ ースは、サポート・プログラムによって呼び出される、導入先が供給した実行可 能ファイルによってアクセスされる。ディジタル・リンクに関連するサービス品 質パラメータは、スループット、待ち時間、ジッタ、フレーム・サイズ、フレー ム・エラー・レート、フレーム再伝送時間、圧縮ヒント、暗号化である。
アプリケーションが論理チャネルを介して必要とするサービス品質を特徴付ける ために使用される主要パラメータは、スループット、待ち時間、ジッタ、パケッ ト・サイズ、パケット・エラー・レート、暗号化、圧縮ヒント、優先順位である 。サポート・システムが、チャネルの間に資源競合が存在すると仮定して、その ノードにあるすべてのチャネルを介したデータ送信を実行しようとする順序を指 定するチャネル優先順位と、送信の損失またはエラーのために送る必要のない受 入れ可能なランダム比率のパケットを指定するパケット・エラー・レート(サポ ート・システムがこのような限定に従うという保証はない。ここでゼロを指定す ると、アプリケーションにあらゆる失敗が通知される)を除き、これらのパラメ ータの大部分は、対となるリンクを反映する。
上記の情報は、アプリケーション間通信にどのリンクを使用すべきかを判定する ために使用される。リンクのタイプやサービス特性などの情報を含むデータベー スは資源インタフェースを介してアクセスできるが、チャネル情報はアプリケー ションから得られる。サポート・システムは次いで、(a)異なるノードにある サポート・システムの間で制御情報を交換する必要と、(b)リンクに関連する 順序値とを考慮に入れて、完全に満たされたチャネル要件と、完全に満たされた 利用可能リンク情報との一致に基づいて、使用するのにふされしいリンクを選択 する。
ソフトウェアおよびハードウェアの圧縮と暗号化が共にサポートされる。物理リ ンク上のハードウェア機構は、オプションの様々な組合せを、それぞれが特定の 転送特性に関連する異なる利用可能リンク・タイプとみなすことによって収容さ れる。ソフトウェア・ルーチンも使用できるが、特定の待ち時間要件およびジッ タ要件を設定していない場合は呼び出されない。
リンク情報を検索するために使用されるRLI呼出しも、必要に応じて、サポー ト・システムの外部で複雑な経路選択プロセスを実行できるようにするために、 すべての必要なチャネル・サービス品質特性を供給する。この機構を介して、外 部ルーチン自体が、適切な経路を決定し、その経路をサポート・システムに返す ことができる。この必要がある例は、送信コストが時刻によって変わることであ ろう。
チャネルをもつアプリケーションが相互に共用を行うとき、アプリケーションの 既存のチャネルが同じ名前の組合せチャネル・セットまたは直列化チャネル・セ ットに属する場合、サポート・システムは追加チャネルを作成する。そのボート にふされしいサービス品質によって、各送信側ボートからこのような新しいチャ ネルを確立することが試みられる。すなわち、暗示的に作成されたチャネルが、 そのポートから1つの既存のチャネルを介して送信する予定のデータ・パケット を首尾よく転送できるような特性をもとうとする。場合によっては、利用可能な 物理リンクの機能によって課される制限のために、そのような特性をもつチャネ ルを作成できないこともある。しかし、すべての場合に、チャネルが作成され、 チャネル機能が重要である可能性が大きい場合、それを照会することは、アプリ ケーション・プログラムの責任である。
ノードの間のチャネルは、単一の物理リンクまたは複数の直列接続リンクを介し て実現することができる。2つのノードの間に存在する物理接続を経路と呼ぶ。
a)永続ディジタル・ネットワーク サポート・システムは、専用リンクであれ、共用リンクであれ、交換リンクであ れ、永続リンクであれ、ノードの間のディジタル・リンクと共に動作する。共用 リンクは、帯域幅管理機能を使用しないかぎり、予測できない待ち時間特性およ び帯域幅特性を有する。そのような特徴によって、永続リンクには交換接続の特 性が多数与えられている。
b)永続アナログ・ネットワーク サポート・システムは、以下の状況で、ディジタル通信と非常に類似した方法で アナログ通信をサポートする。
Oノードの間にアナログ・リンクが存在する。
O各ノードでの接続性および経路指定を、そのノードにあるシステムによって制 御することができる。
Oノードの間にディジタル制御チャネルが存在する。
アナログ・チャネルは、送信側アプリケーションによって確立される論理的に専 用の単一方向通信リンクであり、複数の受信側アプリケーションで終了すること ができる。このチャネルは、そのサービス品質特性によってディジタル・チャネ ルと区別することができる。このアナログ・チャネルを終了するボートは、アプ リケーションにデータを供給することも、アプリケーションからデータを受信す ることもできないので、空接続タイプを有する。標準チャネルまたは組合せチャ ネルだけしか確立できず、直列化チャネルおよび同期チャネルは許可されない。
論理装置は、オープンされると、アナログ・ボートを提供することができる。し たがって、ビデオ・プレーヤ装置をアナログ・ビデオの発信元として使用するこ とができ、APIコマンドを介してアナログ・チャネルに接続することができる 。アナログ・チャネルとディジタル・チャネルの直接接続は許可されない。しか し、ある装置、たとえば符複合器は、オープンされるとアナログ・ボートとディ ジタル・ボートを共に提供し、そのような結合を有効化するために使用するこ交 換ディジタル・ネットワークは、接続の交換性の影響を受けずに、サポート・シ ステムによってノード間通信に使用することができる。資源インタフェースを介 してアクセスされた情報は、非活動状態の交換接続をいつ終了すべきかを決定す るためにシステムによって使用される。
交換ネットワークに接続された、ディジタル電話などの機器は、アプリケーショ ンによって2つの方法のうちの1つでアクセスされる。簡単な接続だけが必要な 場合、電話を仮想ノードで実行する仮想電話アプリケーションとみなすことがで きる。電話との接続は、仮忍ノードをターゲットとして指定する共用要求によっ て開始され、ローカル・ノードに関連する電話とリモート電話の間に電話呼出し が確立される。着信電話呼出しは同じように、すなわち共用要求として処理する ことができる。
電話を論理装置としてアクセスすることもできる。したがって、I SDN電話 装置をオープンして、関連する事象接続タイプまたはコマンド接続タイプの受信 側ボートおよび送信側ボートを提供することができる。ダイアリングおよびその 他の制御機能は、”signal port″′コマンドを介して実施される。
ディジタル電話機器の間のサード・パーティ接続は同様に、該当する装置へのコ マンドによって影響を受ける。これは、ローカル・スイッチへのコマンドを介し て物理的に実施される。
データまたは経路指定を動的に修正する潜在的に活動状況の分岐制御装置、たと えばオーディオ・ビジュアル通信用のCCITT勧告を実施するMCUをアプリ ケーションに対する装置として使用することもできる。
d)交換アナログ・ネットワーク 公衆交換網に接続されたアナログ電話およびその他の機器は、ディジタル電話と 同様に、仮想ノードで実行する仮想電話アプリケーションとして、または論理装 置を介してアクセスすることができる。PSTN電話論理装置をオープンして、 空接続タイプのボートを提供することができる。すなわち、該ボートはアプリケ ーションにデータを供給することも、アプリケーションからデータを受信するこ ともできない。
”signal port’″コマンドは、装置を制御するために使用される。
ファースト・パーティ接続は、ローカル回線にダイアリング・トーンを挿入する モデム、サード・パーティ接続、およびローカル・スイッチへのコマンドを介す る多方向呼出しを介して実施することができる。
unawareアプリケーションとのインタフェースサポート・システムは、u nawareアプリケーションを協調作業に使用できるようにする機能を提供す る。awareアプリケーションは、ユーザ・インタフェース・ダイアログを供 給し、仮想装置を介して特定のunawareアプリケーションと対話する。
この同じaWareアプリケーションは次いで、リモート・ノードにある関連a wareアプリケーションと通信し、リモート・ユーザに情報を渡す。そのよう なアプリケーションの幾つかは、汎用ユーティリティとして含められている。
共通要件は、第11図に示すように、unawareアプリケーションのアプリ ケーション・ウィンドウをリモート・ノードで表示することである。実施態様は 次のとおりである。ノードXにあるawareアプリケーションAxがユーザと 対話して、ここではunawareアプリケーションU、Iと仮定された必要な ウィンドウを識別する。A8は次いで、適切なパラメータによってウィンドウ表 示論理装置をオープンする。この効果は、ウィンドウ・データのコピーを得るた めのボートを生成することである。Axは、宛先ノードYにあるawareアプ リケーションAYに至るチャネル上のボートにこれを接続する。AYは次いで、 実際のウィンドウ論理装置をオープンして、作成されたボートを受信側チャネル ・ボートに接続する。データが、ノードの間を流れ、それ以上アプリケーション A8にもAYにも干渉されずにYで表示される。ウィンドウ論理装置オープン要 求で利用可能なオプションによって、アプリケーションはビット/ピクセル、更 新の頻度、データ・フォーマット(たとえば、テキスト、ビット・マツプ、およ び組込みポインタ位置のオプション)などのパラメータを指定することができる 。
unaWareアプリケーションUxの共用ウィンドウ上のリモート・ポインタ を八〇およびAYで処理し、対話型データ・クラスに適したチャネルをセット・ アップすることができる。次いで、各ノード上の実際のポインタを使用して、共 用ウィンドウ中の機能を識別する。これは、指示したい各ユーザがポインタを共 用ウィンドウ内に移動する、などのアルゴリズムによって行うことができる。ポ インタが共用ウィンドウ中にあるとき、その座標が共用アプリケーションに送信 される。
次いで、組合わされた座標を使用して、ポインタが制御される。この結果、だれ であれ、最後にカーソルを移動した人が、すべてのリンクされたポイントを位置 決めすることになる。
リモート印刷とリモート・ファイル生成は同様に、論理装置を介して行う。印刷 の場合、発信元ノードにプリンタ・エミュレータ装置を設置する。この装置がユ ーザによってプリンタ装置として選択されると、その結果、プリンタ・データ・ ストリームがボートにリダイレクトされる。このストリームは次いで、awar eアプリケーションを介して、宛先ノードにある実際のプリンタ装置に接続され る。この汎用技術は、動的データ交換(DDE)やシステム・クリップボードな どの他の機能の範囲で拡張される。
アプリケーションまたはシステムのリモート制御は直接には供給されない。しか し、リモート制御を実行するアプリケーションをAPIより上位で実現すること ができ、Lakesはグループ通信およびマルチメディア・データ送信機能を提 供する。
プログラミングの留意事項 a)プログラム呼出しタイプおよび構造APIへのプログラム呼出しは一般に、 要求、指示、応答、確認シーケンスになる。サービスを必要とするアプリケーシ ョンAは、適切なパラメータを供給してそのサービスを要求する。要求は通常、 他のアプリケーションBにその要求を認識させることを必要とする。このための 機構は、アプリケーションBで指示として出現する非送信請求事象である。この 指示事象に対してBが取るアクションは、適切なデータをもつ応答としてサポー ト・システムに与えられる。システムは、この情報を確認事象として再びアプリ ケーションAに渡す。
これを、チャネルにボートを追加する上で関与するシーケンスの例を使用して第 12図に示す(図を単純にするために、パラメータはいっさい示さない)。
API呼出しは、特定の機能に応じて、同期呼出しでも非同期呼出しでもよい。
同期呼出しは、要求が完了すると制御を戻す。非同期呼出しはただちに制御を戻 す。アプリケーションが非同期呼出しの進行を監視できるようにするために、こ れらの呼出しは参照識別子を含む。この識別子は、要求が満たされ、状況を得る ために照会を発行できるようになるまで、有効である。この同じ識別子を使用し て、保留中の要求を取り消すこともできる。呼出しはすべて、呼出し状況を示す リターン・コードを返す。
b)アドレス可能性 アプリケーションは、ノード名を使用してノードへのアドレス可能性を要求する 。この名前はまず、それを修正するオプションを有するローカル呼出しマネージ ャに渡される。その結果得られる名前は次いで、接続性情報を判定するためにサ ポート・システムによって使用される。接続性情報の判定は、資源インタフェー スを使用する、外部に保持されたネットワークおよびユーザ・データベースへの アクセスを必要とする。したがって、サポート・システムは、第2図の資源イン タフェース29を介するネットワーク構成への照会を介してその名前に関する物 理アドレス可能性を判定する。このノード名の分解能を反映するノード・ハンド ルがアプリケーションに返される。1つのアプリケーションから他のアプリケー ションへのアドレス可能性にはアプリケーション名の分解能が必要である。両方 のアプリケーションが同じノードにある場合、ローカル呼出しマネージャがこの 分解能を実行することができ、そうでない場合は、両方の呼出しマネージャが関 与しなければならない。この分解能の結果、アプリケーション・ハンドルによっ て、ターゲット・アプリケーションが発信元アプリケーションに対して識別され る。アプリケーション名を使用する呼出しは常に、分解能のために呼出しマネー ジャに渡される。アプリケーション・ハンドルを使用する呼出しは、指定された アプリケーションに直接向かう。
アプリケーションがチャネルを作成するとき、チャネル・ボートへのアドレス可 能性が、ボート・ハンドルを返すシステムを介して提供される。同様に、論理装 置をオープンすると、装置ボート・ハンドルが得られる。
すべてのハンドルは、使用する側のアプリケーションに特有のものであるが、他 のアプリケーションまたはノードに渡される場合は有効でな(なる。
C)事象クラスおよび事象ハンドラ API要求は、事象および呼出し制御を援助するために提供される。”begi n monitor″′要求によって、アプリケーションはノードでの要求およ び事象を監視することができる。監視の範囲は、以下のものの1つから監視クラ スを選択することによって制御される。
All:すべでの事象またはAPI呼出しApplication Signa lling :信号事象/APIAPI呼出ljmanager :呼出しマネ ージャ事象/API呼出しDat、a:データ送信事象/API呼出しDevi ce :装置事象/APIAPI呼出n1tor :モニタ事象/API呼出し Port :ボートおよびチャネル事象/API呼出しProfileニブ07 フイル事象/API呼出し5hare :共用および非共用事象/API呼出し 5ynchronisation :同期事象/APIAPI呼出kenニド− クン事象/API呼出し監視の範囲は事象クラス・レベルまたはAPIクラス・ レベルで制御される。事象は、データがあってもなくても監視することができる 。監視は、”end−moni tor”コマンドによって終了する。アプリケ ーションは、”enable events”コマンドおよび”disable  events”コマンドを使用して、どの事象を受信すべきかも決定する。有 効な事象クラスは以下のとおりである。
A11:すべての事象 Device :装置事象 Port :ポートおよびチャネル事象Profile:プロファイル事象また はAPI呼出しSharing :共用要求事象またはAPI呼出しデフォルト の事象ハンドラは、アプリケーションを介して明示的に処理されないすべての事 象に対する応答を生成する。
事象は、登録された事象ハンドルによって処理される。
aWareアプリケーションには4つのタイプが存在できる。
Application :これは、一時事象ハンドラであり、awareアプ リケーションの一般動作に関連する主な事象を処理する。
この事象ハンドラは、呼出しマネージャを含むすべてのawareアプリケーシ ョンに存在しなければならない。
Ca1l manager :これは幾分特殊であり、アプリケーション登録、 名前分解能、遮断要求、受動ノード、呼出しマネージャ転送、およびグローバル ・トークン状況に関する事象を処理する。この事象ハンドラがすべての呼出しマ ネージャになければならない。
Port、event bandler :複数のボート事象ハンドラが存在で き、それぞれがデータ通信関連事象を処理する。
Mon1tor :これは任意選択で存在し、すべての事象監視を処理する。
d)その他のプログラミング機能 データ・トラフィックを監視し、あるいはデータを処理するように、すべてのチ ャネル・ボートをユーザ出口と関連付けることができる。送信側ボートの場合、 ユーザ出口は、データが受信側ボートに送信される直前に呼び出される。受信側 ポートの場合、ユーザ出口は、データが受信側ポートに到着した直後であるが、 受信側アプリケーションに提供される前に呼び出される。データはユーザ出口に 移動しなければならないので、接続されているボート上にユーザ出口ルーチンを 指定すると性能に影響が及ぶことがある。
アプリケーションが状況情報を追跡しな(て済むように、完全な1組の照会が提 供されている。
アプリケーション・プログラム・デバッグは、最初に単一のノードで協調アプリ ケーションを動作させることによって簡単にすることができる。これによって、 プログラム開発の初期段階で物理ネットワークが不要になる。
APIより下位にユーザ・インタフェースは存在しない。
すべてのユーザ対話は、アプリケーション・プログラム、または資源インタフェ ースを介して要求を実行するコードの責任である。
ユーティリティ コマンド・インタフェースを介してアクセス可能な共通機能を提供することによ って、エンド・ユーザに有用な機能をただちに提供し、新しい協調アプリケーシ ョンを開発するのに必要なプログラミング作業を削減するために、多数の事前に プログラムされたユーティリティが提供されている。
すべてのユーティリティは交換可能なアプリケーション・プログラムである。提 供したユーティリティの構造を第13図に示す。供給したユーティリティは、プ ログラム・グループとしてインストールされ、協調する一連のアプリケーション として設計されている。主要なユーティリティ機能は、ユーザが直接呼び出すだ けでなく、”signal”コマンドによって他のアプリケーション・プログラ ムから呼び出すこともできる。
アドレス・ブック・ユーティリティ100によって、エンド・ユーザはディレク トリおよび接続性情報を追加し、削除し、更新することができる。データは、標 準プログラムで容易に編集される簡単なファイル構造に記憶される。ただし、他 の潜在的により広範囲で複雑なアドレス・データベースとのインタフェースをと るための機構が提供されている。ユーザ・データをフォーン・ブックという論理 集合にグループ化することができる。ユーティリティ・インタフェースは直接、 呼出しマネージャとのインタフェースをとる。また、資源インタフェースを介し て照会に応答する。
il)呼出しマネージャ 呼出しマネージャ・ユーティリティ101は、呼出しの概念を実施する。呼出し とは、一群のユーザが共用アプリケーションを使用することによって協調するこ とを言う。いつでも複数の呼出しが存在でき、ユーザは複数の同時呼出しに参加 することができ、同じアプリケーションを複数の呼出しで実行することができる 。たとえば、ユーザA、B、Cは文書を検討するために呼出しXに参加すること ができる。すべてのユーザが相互に音声通信を使用することができ、AとBはビ デオ・リンクも、AとCは共用チョークボードも有することもできる。一方、A 、B、Dは第2の文書を検討するために第2の呼出しyに参加することができる 。AとDはチョークボードを、BとDは音声リンクを使用する。
APIには呼出しの概念が存在しないが、アプリケーション共用セットを介して 呼出しマネージャによって実施される。
このサポートを提供することによって、呼出しセットアツプや切断にaWar8 アプリケーションを関与させる必要がなくなり、呼出し管理とアプリケーション ・プログラミングが明確に分離される。呼出しマネージャは、エンド・ユーザが アドレス・ブックから名前を選択し、分岐呼出しを論理的に確立するためのダイ アログを提供する。パーティを動的に追加し、削除することができる。提供され るオプションは、自動応答および呼出し禁止を含む。ある呼出しが現行活動呼出 しとみなされ、共用アプリケーション・セットは通常、呼び出されるところの呼 出しに追加される。現行活動呼出しは、他の呼出しがセットアツプされている間 は背景に移される。
このユーティリティは、呼出し中のユーザのために以下の機能を実施する。
○既存のアプリケーション・ウィンドウをスナップショットとして、または連続 的に直接ミラーリングし、システム・ボインティング・デバイスをリモート・ポ インタとしてイネーブルにする。
○システム・クリップボード・サポート。すなわち、あるノードにあるシステム ・クリップボードの内容を任意選択で他のノードで共用し、あるいは表示する能 力○異なるノードしあるアプリケーションの間に確立できるリモートDDEリン ク O他のノードにあるプリンタへの印刷のりダイレクトii)チョークボード チョークボード103は、2つのイメージ・プレーンをもつ共通描画領域を実施 する。この描画領域には、呼出し中のすべてのユーザがアクセスできる。背景プ レーンは、ビットマツプ・ファイル、システム・クリップボード、またはアプリ ケーション・ウィンドウの内容からロードすることができる。前景プレーンは、 一連の簡単なテキストおよびグラフィクス・ツールを使用する対話型注釈に使用 することができる。
チョークボード」二のリモート・ポインタもサポートされる。
1ii)ファイル転送 ファイル転送104によって、呼出し中のユーザの間のファイルの送信が可能に なる。1つまたは複数のファイルを転送することができ、ファイルをコメントと 共に送信することができ、元のファイル名を宛先が利用できるようになる。受信 側ノードはファイル受信およびファイル命名を完全に制御メツセージ行105は 、呼出し中のユーザの間でテキスト・データを直接共用できるようにする。複数 の同期ユーザが許可され、各参加者はすべての交換されるメツセージを同じシー ケンスで見る。メツセージ・ユーティリティは、呼出しセット・アップおよび終 了、ファイル転送などの、呼出し時の活動も記録する。実際の実施例では、この ユーティリティを呼出しマネージャの一部として提供している。
■)ビデオ/音声リンク このユーティリティ106によって、呼出し中のユーザの間にビデオおよび音声 リンクを確立することができる。利用可能な厳密な機能は、物理ネットワークの 機能とワークステーションのハードウェア・サポートによって異なる。
規格 全体的なアーキテクチャは、広範囲の協調アプリケーションをサポートするもの である。インタフェースは、実施できるアプリケーション・モデルの範囲に対し て重大な制限を課さないように、できるだけ高いレベルにセットされている。
関与する透過ネットワークの性質は完全にAPIより下位に隠されている。これ は、アプリケーションがネットワーク経路指定(たとえば直接または間接)と関 与するネットワーク・タイプ(たとえば、単一リンクまたは複数リンク、交換接 続または固定接続)を完全に知っていることを意味する。この手法の結果、たと えば特定の通信サービス品質をめる要求が失敗する恐れがあることを予期してア プリケーションを書かなければならない。なぜなら、基礎ネットワークが必要な 機能を有していないことがあるからである。
サード・パーティ・アプリケーションが他のアプリケーションの代わりに動作す ることを要求できるようにエージェント原理が実施されている。これによって、 呼出しマネージャ・アプリケーション、電話アプリケーション、および交換アプ リケーションを開発することができる。現在の技術の状態では、アナログ・ネッ トワークおよび装置をサポートすべきである。アプリケーションの移行を容易に するために、アナログ・ネットワークをディジタル・ネットワークのように扱う ことが試みられている。
APTレベルで、使用される主要概念の1つは、アプリケーション共用セットの 概念である。アプリケーションは、他のアプリケーションと協調するとみなされ 、この協調のための機構は、アプリケーションが、指定された共用セットに相互 に参加することである。そのようなアプリケーション共用セットの肝要な点は、 すべてのセット・メンバが他のすべてのメンバの状況に関する情報を受信するこ とである。セットに参加することは、アプリケーションが関心をもつものを宣言 する方法である。これに対し、呼出しの概念は、APIよす上位、特に呼出しマ ネージャに存在する。異なる呼出しマネージャが異なる呼出しモデルを有するこ とができる。
アプリケーション共用セットの他に、チャネルもアーキテクチャの基本概念であ る。回報通信と2方向通信を共に効率的にサポートするための基礎通信ビルディ ング・ブロックとして1方向チヤネルを使用している。チャネルは、送信側アプ リケーションによって確立され、受信側アプリケーションによって受け入れられ る。というのは、データをどのように送信すべきかを示すデータの特性を知って いるのは送信側アプリケーションだけだからである。2つのアプリケーションは 共に、それぞれのポートに供給し、あるいは前記ボートから受信すべきフォーマ ットを独立に制御することができる。
各種のデータ・フロー用の複数の論理チャネルによって、サポート・システムは 基礎転送ネットワークにトラフィックを正しく割り振ることができる。さらに、 サポート・システムは、データが、それぞれが別々に記述された別々の同種フロ ーで他のアプリケーションに提供されるようにする。このようにアプリケーショ ン間のトラフィックを別々のデータ・タイプに分割することによって、サポート ・システムはデータ変換機能を提供することができる。
チャネルの接続およびウェルドによって、アプリケーションがもはやデータの移 動に関与しなくなるように、データの転送をAPIより下位にすることができる 。サポート・システムは、場合によっては、そのノードにある非常に低いレベル での接続を有効化するか、フローの経路をそのノードに向かわないように変更す る接続を有効化するかのオプションを有する。
サポート・システム・アーキテクチャは、異なるコンピュータ・プラットフォー ムの間の相互作用を許可し、様々な通信ネットワークを介して動作し、関連する 通信およびデータ規格をサポートするように設計されている。
データ・トラフィックを同種データの論理1方向フローに分けることによって、 混合ネットワーク上へのマツピングが簡単になり、ノードの間で異なる機能の複 数の物理リンクを使用できるようになる。データ多重化は、アプリケーションよ り下位で処理され、基礎転送機構に応じて異なる方法で、たとえば、各論理フロ ーをそれぞれの物理リンクに割り振ることと、サポート層中のすべてのデータを 多重化することを組み合わせ、あるいは多重化の態様を装置ドライバに任せるこ とによって、実施することができる。この手段によって、複数のチャネル、1s o−LANまたは1so−Ethernet 1あるいはCCTTT H320 勧告を使用するI SDNを介して、音声、ビデオ、およびデータ・トラフィッ クを送信することができる。サービス品質要件は、必要な転送機能に対して条件 を課す。したがって、音声およびビデオには通常、優先順位および帯域幅管理を 伴う方式を介して実施される、等時機能をもつ専用物理リンクまたは共用リンク が必要である。
データ構成要素が別々に提供され、該構成要素の性質およびフォーマットが独立 に得られるので、チャネルによって提供される別々の論理データ経路は、該経路 に関連するデータ・タイプと共にアプリケーション間動作を容易にする。サポー ト・システムがネットワークでデータ変換を実行できるため、この機構を介して 、音声、ビデオ、イメージ、ファイル転送、およびコード化データに関する広範 囲の既存の規格をサポートすることができる。システムは、リモート・プリンタ 、カーソル、ジエスチャなどの、協調アプリケーションで一般に使用される対話 オブジェクト用の別々のデータ・クラスも提供する。
AP丁コマンドの概要 以下で、API呼出しで提供される主要な機能について詳細に説明する。この趣 旨は適用範囲の概要を述べることにすぎないので、実際の呼出しの構文およびパ ラメータについては説明しない。
API機能要求 セツションおよびアプリケーション共用cancel request :前の 非同期要求がまだ満たされていなN場合にその要求を取り消す。
deregister app :アプリケーション・インスタンスによって、 APIの使用を終了するために発行される。
1aunch app :あるアプリケーションによって、他のアプリケーショ ンを呼び出すために発行される。
register app : ’Q行側アプリケーション・インスタンスをワ イヤとして識別し、アプリケーション事象ハンドラを確立する。
set call−manager :そのノード用の呼出しマネージャを識別 し、呼出しマネージャ事象ハンドラを確立する。
5hare−app +アプリケーション・インスタンスが、あるアプリケーシ ョンと他のアプリケーションの共用を要求するために発行する。
shutdown node :アプリケーション・インスタンスによって、そ のローカル・ノードにあるサポート・システムの遮断を要求するために発行され る。
unshare app :アプリケーション・インスタンスによって、あるア プリケーションと他のアプリケーションの共用を終了するために発行される。
装置およびボート add channel :指定されたアプリケーション・インスタンス中で、 指定された送信側ボートに他のチャネルを追加する。
change channel :指定されたチャネル特性を変更する。
change device−characteristics :指定された 装置特性を変更する。
change port :指定されたボート特性を変更する。
claim resource :特定のサービス品質に関連する資源の資源マ ネージャに対する呼出し close device port :定義された装置上の関連するボートを クローズする。
connect ports :指定された受信側ボートを指定された送信側ボ ートに接続する。
creaLe channel :発行側アプリケーションにある送信側ボート と、指定されたターゲット・アプリケーションにある受信側ボートから成るデー タ送信チャネルを作成する。
disconnect ports :指定された送信側ボートから指定された 受信側ボートを切断する。
open device−port :定義された装置上のボートをオーブンす る。
remove Channel :指定された受信側ボートと指定された送信側 ボートに関連するチャネルを削除する。
requeSt resource :特定のサービス品質に関連する資源の資 源マネージャに対する照会 resume port :指定されたボートを介してデータ送信を再開する。
signal port :指定されたボートを介して制御文字列を送信する。
5uspend port :まだ受信されていないデータをドレーンまたはフ ラッシュした後に、指定されたボートを介するデータ送信を中断する。
weld connection :指定された受信側ボートと送信側ボートの 接続を永続的にする。
データ送信および受信 receive clata :指定された受信側コマンド・ボートからデ−タ を受信する。
5end data :指定された送信側ボートを介してデータを非同期的に送 信する。様々な送信肯定応答を要求することができる。
signal :サポート・システムが確立した制御チャネルを介して、サポー ト・システムまたはアプリケーションが定義した制御データを、指定されたアプ リケーション・インスタンスに送信する。
signal app with reply:サポート・システムが確立した 制御チャネルを介して、サポート・システムまたはアプリケーションが定義した 制御データを、指定されたアプリケーション・インスタンスに送信し、応答デー タを返す。
5tart−sync :指定されたチャネル・セットに関連する受信側ボート を介して受信されたデータの同期を開始する。
5top 5ync :指定されたチャネル・セットに関連するすべての受信側 ボートのデータの同期を停止する。
トークン管理 get−token :指定されたグローバル・トークンまたはアプリケーショ ン・トークンをただちに、排他的に保持し、あるいは共用することを要求する。
give token:指定された要求元に、指定されたトークンを与える。
qget token :指定されたグローバル・トークンまたはアプリケーシ ョン・トークンをただちに、排他的に保持し、あるいは共用することを要求し、 トークンが得られない場合は、現所有者が維持している要求待ち行列への参加を 要求する。
reclaim token :指定されたアプリケーション・インスタンスが 保持している指定されたトークンをただちにトークンの現所有者に返すことを強 制する。
refuse token :指定された要求元に、指定されたトークンを与え ることを拒否する。
release token :指定された保持しているトークンを現所有者に 返す。
return−token :指定されたトークンを保持している指定されたア プリケーションがトークンをできるだけ早く現所有者に返すことを要求する。
set token owner :指定されたアプリケーション・インスタン スに指定されたトークンの所有者をセットする。
事象制御 begin monitor : A P I呼出しの各オカレンスを識別する 特殊監視事象を発生させ、または指定された監視事象ハンドラに標準事象を提供 する。
default event handier :アプリケーション・プログラ ムが明示的に処理することを所望しないすべての事象に対してデフォルト応答を 返す。
disable−events :指定された事象クラスの事象が発行側アプリ ケーション・インスタンスの事象ハンドラに渡されるのを停止する。
enable events :指定された事象クラスの事象が発行側アプリケ ーション・インスタンスの事象ハンドラに渡されるようにする。
encjmoniLor : A P I呼出しの各オカレンスを識別する特殊 監視事象、または提供中の標準事象を停止する。
プロファイル管理 read profile string :プロファイル・ファイルの指定さ れたセクション中の指定されたキーワードの文字列を返す。
wtrite profile string:プロファイル・ファイルの指定 されたセクション中の指定されたキーワードに文字列をコピーする。
API照会 query−address :指定された共用セットに属するアプリケーショ ン・インスタンスの完全なフル・アドレスを返す。
query application 5tatus :アプリケーションの状 況(unaware、 aware、または呼出しマネージャ)を返す。
query channel characteristics :指定された 送信側ボートおよび受信側ボートに関連するチャネルのチャネル特性を返す。
query channel set :指定されたチャネル・セット中のすべ てのボートのハンドルを返す。
query−device characteristics :指定された装 置の装置特性を返す。
query device 5tatus :指定された装置の状況を返す。
query monitor :現在モニタ事象ハンドラに渡されている機能ま たは事象のクラスを返す。
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 MΔNAGERER ROR:呼出しマネージャに影響を及ぼすエラーが発生した。
CΔLL MΔNΔGERREQUEST :他のローカル・アプリケーション がset caljmanag、er機能要求を発行したことを示す、ローカル 呼出しマネージャへの事象 N0DE 5HUTDOWN REQUEST :サポート・システムの遮断を める要求 PASSIVE−NODE RELEASED : / −1’カ受動要求ヲサ ポートテキルようにするために割り振られた資源の解除をめる指示。
PASSIVE−NODE REQUEST : / −トカ受動要求ヲサポー トスルタめに資源を割り振ることをめる要求 5HARE REQUEST :指定されたアプリケーションとの共用をめる要 求 TOKEN 5TATUS REQUEST ニゲローバル・トークンの状況を める要求 アプリケーション事象 APP 5IGNAL :信号が受信された。
APP 5IGNAL REJECTED :信号が拒否された。
APP 5IGNΔL WITHREPLY : signal with r eplyが受信された。
八PP 5IGNAL TRANSFERRED :信号が転送された。
APP−UNSHARE REQUEST :受信側がアプリケーション共用セ ットを抜けることをサード・パーティ・アプリケーションが要求した。
AI’P−UNSHARED :発行側がアプリケーション共用セットを抜ける という通知が受信された。
八PP−ERROR:関連アプリケーション・エラーが検出された。
N0DE 5HUTDOWN :遮断が開始された。
PORT REMOVED :ボートが削除されたことの確認PORT REQ UEST :受信側ボートの追加をめる要求RESOURCE−CLAIM : アプリケーションがサービス品質資源を請求すると必ずレイズされる。
RESOURCE REQUEST :アプリケーションがサービス品質資源を 要求すると必ずレイズされる。
PROFILE CHANGED : LAKES、 IN■ファイルまたはL AKESQO3,INIファイルの変更をめる指示 5HARE CONFIRMED :共用要求が処理されたことの確認が受信さ れた。
5HARE REJECTED :共用要求が拒否された。
5HARE REQUEST :共用要求が受信された。
5HARE−TRANSFERRED :共用要求が転送された。
TOKEN CANCEL REQUEST :待機中のトークン要求の取消し をめる要求が受信された。
TOKEN GIVEN :要求元にトークンが与えられた。
TOKEN QREQUEST : l−−クンを保持し、あるいはトークンが 得られない場合は待ち行列に参加することをめる要求TOKE)jRECLAI MED : トークンが所有者によって取り去られた。
TOKEN RECLΔIMED ニド−クンが所有者によって取り去られた。
TOKEN REFUSED : トークンをめる要求が拒否された。
TOKEN REQUEST : トークンの保持をめる要求TOKEN RE TURN REQUEST : )−−クンの所有者が、トークンをできるだけ 早く返すことを要求している。
装置事象およびボート事象 CHANNEL CHANGED ニ一部のチャネル特性が変更された。
CHANNEL CONFIRMED :新しいチャネルが作成された。
CHANNEL DESTROYED :チャネルが破壊された。
CHANNEL−REJECTED :チャネルが作成されなかった。
C0NNECTl0N WELDEI) :ウエル接続通知が受信された。
DATA−AVΔILABLE :受信側ボートでデータが利用可能である。
DATA CONFIRMED :データ送信の確認またはデータ送信の進行の 推定が受信された。
DAT/jREQUESTED +送信側ボートからデータが要求されている。
DEVICE−INFORMATION :装置情報を供給する予定のアプリケ ーション・インスタンスの送信側ボート事象ハンドラにレイズされる事象 PORT ERROR:ボート・エラーが検出された。
PORT RESLIME REQUEST :ポート再開要求が受信′された 。
PORT 5IGNALLED :信号ボート事象が受信された。
PORT 5USPEND−REQUEST :ボート中断要求が受信された。
PORT 5YNCREQUEST :同期制御の調整をめる要求が受信された 。
モニタ制御事象 EVENT MONITORED :機能要求および事象活動の通知が受信され た。
チャネル、ボート、およびリンクの特性チャネルの特性 以下のパラメータは、チャネルと関連しており、create−channel 要求およびacid channel要求で設定される。
quality of 5ervice :信号タイプ(アナログまたはディジ タル)スループット 待ち時間 ジッタ 遅延 優先順位 サービス品質特性は、LAKESQO3,INIファイル中のデータ・タイプお よびサブタイプを介して関連付けられるが、明示的に指定することができる。こ の特性は、未定義のままにすることができる。これによって、データがチャネル を介して送信されるときに、動作特性が、利用可能な資源に依存するチャネルを 作成することができる。
channel type : 標準 同期 以下のパラメータは、ボートと関連している。ボート・タイプを除くすべてのパ ラメータは明示的に定義される。送信側ボートは、create channe l要求でこれらのパラメ・−夕を指定し、受信側ポートはPORT REQUE ST応答でこれらのパラメータを指定する。
C0nn8CL type : コマンド 事象 空 event handler : port type ’ 送信 受信 user−information :リンクの特性 以下のサービス品質パラメータは、物理リンクに関連しており、リンク・ロケー タを介してアクセスされるデータベースに指定するか、あるいはデフォルトとし てLAKESQO3,INIファイルから得られる。
信号タイプ(アナログまたはディジタル)スループット 待ち時間 ジッダ フレーム・サイズ フレーム再送信時間 圧縮ヒント 暗号化 サポート・システム構造 再び、第10図に示したサポート・システム構造を参照して、該構造の構成要素 の様々なタスクについて詳細に説明する。アプリケーション・マネージャ223 は、サポート・システムの残りとのインタフェースとして働き、ある程度のパラ メータ検証の後に適切な構成要素に分散されるすべてのAPI呼出し用の入口点 を提供する。監視が必要な場合(以下参照)、アプリケーション・マネージャ2 23は着信呼出し/発信事象の走査にも使用される。
アプリケーション・マネージャ223は、チャネルの作成時に指定された事象ハ ンドラでアプリケーションをコール・バックする責任を負う。事象は、ローカル ・アプリケーションがチャネルを作成した場合は送信側ポートで、あるいは次い でリモート・アプリケーションがチャネルを作成した場合は受信側ボートでレイ ズされるものである。アプリケーション・マネージャ223は、ボートを作成す る際に、特定のアプリケーションのためのすべての事象を処理し待ち行列に入れ る事象待機ハンドラのアドレスを渡す。次いで、事象を連続的に読み取るディス パッチ・スレッドなどのある種の機構がアプリケーションの事象ハンドラに事象 を送信する。
チャネル・マネージャ227は、他のすべての構成要素を始動し遮断する責任を 負うチャネル・スーパバイザと、異なるノードにあるサポート・システムの間の 制御チャネル通信を処理する制御チャネル副構成要素と、他のすべての非制御チ ャネル・データ通信を処理するデータ・チャネル副構成要素と、ノード・ハンド ルおよび数組のノード・ハンドルを作成し、破壊し、維持するノード・マネージ ャと、ポートを作成し、破壊し、操作し、ボート照会機能を実行するポート・マ ネージャの5つの副構成要素を有する。
資源マネージャ225は、サポート・システムで第1に制御を得る構成要素であ る。資源マネージャ225は、他のすべての構成要素を初期設定し、かつアドレ ス・ブックまたは経路選択機能とのインタフェースをとる責任を負う。トークン ・マネージャ224は、名前から分かるように、グローバル・トークンとアプリ ケーション・トークン(グローバル・トークンはそれぞれの呼出しマネージャ構 成要素によって所有され、これに対し、アプリケーション・トークンは共用セッ ト中のノードによって所有される)とのロギングおよび管理に責任を負う。
装置マネージャ224は、サポート・システムと装置の間の対話に責任を負い、 特に、装置名を完全修飾経路などに変形すること、適切な動的リンク・ライブラ リ (DLL)のロード、ボート番号、ポート・ハンドラ、および事象ワードを 含む記録の生成、初期設定入口点の呼出し、DLL中のすべての項目ハンドルを アプリケーション呼出しマネージャ用の物理アドレスに変形することなどの機能 を実行する。信号マネージャ226は、アプリケーション(応答の有無にかかわ らない)およびボートに発信する責任を負う。
チャネルおよびポートの記述 a)チャネルの記述 以下のパラメータは、チャネルに関連し、”create−channel”要 求で指定される。
quality of 5ervice ニースループット(たとえば、ビット /秒)−チャネル優先順位 channel type + compression−hints :b)ボートの記述 以下のパラメータは、ポートに関連する。送信側ボートは、これらのパラメータ を’create channel”要求で指定し、受借倒ポートは応答で指定 する。
C0nnCICt type ニ 一部 event handier : port type + 一複合オーディオ/ビデオ 協調アプリケーション・サポート・システムの全体的な動作について説明したの で、今度は、様々なチャネルとボートの動作について詳細に説明する。チャネル およびボートを作成するAPIコマンドは”create−channel”で ある。
create channe1機能は、発行側アプリケーションからターゲット ・アプリケーションへの、指定された特性をもつチャネルを作成する。
creal、e channelコマンドに指定するパラメータは以下のとおり である。
async id この呼出しと、この呼出しに関連するすべての事象との識別 に使用される、ユーザが供給する参照id。このパラメータをゼロにすることは できない。
target application ターゲット・アプリケーションの類ア ドレスを含む構造を指すポインタ sharing set id 作成すべきチャネル中のユーザ定義共用セット 名 channel type チャネル・セット関連のタイプ:03TANDAR D ERGED SERIALISED SYNCHRONISED channel set id 作成されたボートが関連付けられるべきチャネ ル・セットのユーザ定義識別子 quality o「5ervice サービス品質パラメータを含む構造を指 すポインタ data class 作成された送信側ポートを介して送信できるデータのタ イプおよびサブタイプを記述する2つのフィールドを含む構造を指すポインタ max buffer 5ize 5end data上で使用される最大バッ ファ・サイズ Connect type 送信側ボートの接続タイプ:ULL VENT BUFFERED event handler 作成されたボートに対する着信事象を処理するた めに呼び出すべき事象ハンドラのアドレスuser event、word こ のボートに関連するすべての事象上でボート事象ハンドラに渡されるユーザ指定 データ・ポインタuser ex]t 送信側ボートを介してデータが送信され るときに必ず呼び出すべき発行側アプリケーション中のユーザ出口のアドレス user 1nfo PORT REQUEST事象上でリモート・アプリケー ションに渡されるユーザ指定情報 5tartup mode チャネルが中断状態または始動状態で作成されるこ とを指定する。
チャネル作成関数からのリターン・コードは、動作が首尾よく完了したことを示 すRC: OKと、多数の失敗コードを含む。
この関数呼出しは、1方向論理チヤネルを作成するために使用される。このチャ ネルは、発行側アプリケーションとターゲット・アプリケーションの間に作成さ れる。送信側ボートは発行側アプリケーションで作成され、受信側ボートはター ゲット・アプリケーションで作成される(第8図参照)。
create cbannel関数呼出しの結果、リモート・アプリケーション は、初期設定事象ハンドラを介してレイズされたPORTREQUESTを得る 。この時点で、リモート・アプリケーションはこの要求を受け入れることも、拒 否することもできる。
CHANNEL〜CONFIRMED事象は、PORT REQUEST応答を 与えるアプリケーション初期設定事象ハンドラを介してレイズされる。
channel typeは、前述の4つのチャネル・タイプ、すなわち、標準 、組合せ、直列化、および同期を定義する。
async ic!パラメータ値は、アプリケーション定義であり(この値は、 取消し関数呼出しで使用することができる)、ローカル端末でCHANNEL  CONFIRMED事象またはCHANNEL−REJECTED事象で返され る。しかし、リモート端末でのFORT−REQUEST事象、CHANNEL  CONFIRMED事象、またはCHANNEL−REJECTED事象はa sync−id値ゼロを有する。
channel 5et−idは、ユーザ定義識別子であり、論理チャネルが1 組のチャネルに属することをシステムに通知する。
channel 5e5idはアプリケーション共用セット内で特有のものでな ければならず、前記セットの一部となるべきチャネルはどれも同じ識別子を指定 しなければならない。これは、channel typeを5TANDARDと して指定した場合だけ空になる。
サービス品質パラメータは、資源セットの識別子と所望の ′サービス品質資源 とを含む構造である。資源セット識別子が空でない場合、指定された資源はこの セットから獲得される。
資源識別子が空の場合、資源は使用可能資源から獲得される。
資源セットのセットアツプについての詳細は、reserve−resourc e関数呼出しの定義を参照されたい。
connect typeパラメータは、データをどのようにシステムに与え、 あるいはシステムから受け取るか、すなわち、前述の空、事象、またはバッファ を指定する。
データ・チャネルとそれに関連するボートを作成するための典型的なフローを第 14図に示し、以下の注によって説明する。
ステップ】 最初に、ノード1中のアプリケーション又は、アプリケーションX の送信側ポートとノード2中のアプリケーションYの受信側ボートから成るデー タ・チャネルを作成するためにサポート・システムにasynchronous  create−channel要求を発行する。
ステップ2 サポート・システムは、Yの初期設定事象ハンドラに対してPOR T REQUESTをレイズする。create channelが、すでに作 成されたボートを使用して組合せチャネルまたは直列化チャネルを作成すること を要求している場合、PORTREQUESTはレイズされないことに留意され たい。PORT−REQUESTは、送信側ポート・ハンドル(完全アドレス) 、受信側ボート・ハンドル、および発信元アプリケーションXの完全アドレスを 指すポインタを含む。
ステップ3 Yの初期設定事象ハンドラが、要求を拒否しくRCPORT RE JECT) 、または受け入れる(RCニーPORT−ACCEPT)。
要求を受け入れる場合、Yの事象ハンドラは事象データ中のフィールドを、受信 側ボートを構築するのに必要なパラメータで埋めなければならない。
ステップ4 YがRCPORT REJECTを返す場合、システムはC)(A NNEL REJECTED事象をレイズする。YがRC−PORT ACCE PTを返す場合、システムは送信側ボート事象ハンドラでCHANNEL−CO NF I RMED事象をレイズする。
ステップ5 また、Yは、システムが受信側ボートを確立したことを示すCHA NNEL CONFIRMED事象を、受信側ボート事象ハンドラで受信する。
ステップ6 すべでの新たに作成されたチャネルの送信側および受信側ボート事 象ハンドラに対してCHANNEL−CONF IRMED事象がレイズされる 。これは、明示的に作成されたチャネルと同じチャネル・セットに属し、含まれ るアプリケーション・インスタンスが、ノード3にあるアプリケーションZなど の、新しいチャネルの作成光と同じアプリケーション・セットに属する、すべて のチャネルの送信側および受信側ボート事象ハンドラに対してCHANNEL  CONFIRMED事象がレイズされることを意味することに留意されたい。
協調グループ作業では多(の場合、参加者が定常的に参加したり抜けたりするグ ループのメンバ間にn方向通信を確立することが必要である。すべての参加者が 常に現メンバのリストを更新し、すべての必要なデータ・リンクを修正すること は困難であり、あるいは時間がかかる。組合せチャネルを作成すると、それぞれ の参加者が最小限に関与することによって、すべての必要なデータ経路を基礎シ ステムで維持することができる。
論理チャネルは、一方の端末にある送信側ポートと他方の端末にある受信側ボー トとを備えた1方向データ・パイプから構成されるように定義されている。デー タは常に、送信側ポートから受信側ボートに流れる。表記上、これを[送信側ボ ート:受信側ボートコで示す。
チャネルは、1つの送信側ポートを多数の受信側ボートと関連付けることができ る、すなわち、単一の送信側ポートを介して送信されたデータがすべての受信側 ボートに送られるように確立することができる。これを第15図に示し、表記上 、[SP: RPI、 RP211、RPn]で示す。
論理チャネルも、表記上、C5name[SP:RPI、RP2.、、、RPn コtypeとして示した、異なるタイプのチャネル・セットごとに関連付けるこ とができる。組合せチャネル・セット・タイプは、複数の送信側ポートがすべて 、単一の受信側ボートにデータを送信するものである。概念的には、すべての「 通常の」受信側ボートが組合わされて、この単一の受信側ボートになっている。
これを添付の第16図に示し、表記上、以下のように表す。
C3name[SPl、SP2.、、、SPn : RPI]r、ergea2 つ以上のアプリケーションが、異なる送信側ポートと受信側ボートから成る同じ チャネル・セット名を使用して組合せチャネル・セットを定義することができる 。たとえば、アプリケーションAは組合せチャネル・セットC31[SPa :  RPb。
RPcl。eアgcdを定義することができ、アプリケーションBは組合せチャ ネル・セットC31[SPd : RPG、RPf]、ergcdを定義するこ とができる。
アプリケーションが、それによって確立されたデータ・チャネルを参照する、す なわち5hareコマンドを使用するのでなくアプリケーション名を参照するこ とによって協調セツションを開設することに留意されたい。
上記の場合、アプリケーションAはアプリケーションBと共用を行い、協調作業 グループを形成する。これによって、送信側ポートめ結合セットがすべての受信 側ボートの結合セットにデータを送信するように、組合せチャネル・セットC8 1の2つの定義が組み合わせられる。表記上、この結果得られるチャネル・セッ トC3Iを次のように定義する。
C31[SPa、SPd 二 RPb、RPc、RPe、RPf コemerg edこの場合、アプリケーションAによって明示的に作成されるチャネル(すな わち、[SPa : RPb]、[SPa : RPcl)およびアプリケーシ ョンBによって明示的に作成されるチャネル(すなわち、[SPd : RPG コ、[SPd : RPfコ)だけでな(、新しいチャネル[SPa : RP cl、[SPa : RPf]、[SPd : RPb]、および[SPd :  RPclもシステムによって作成される。したがって、送信側ポートと受信側 ボートのすべての交差接続の間に現在、データ・チャネルが存在している。
これによって、各メンバが、グループの他のメンバによって確立されたデータ・ チャネルに関して何も知る必要なしに、協調グループのすべてのメンバの間に2 方向データ・チャネルを確立する極めて簡単な方法が得られる。
このプロセスは、協調作業グループの各潜在的メンバ・アプリケーションが、同 じアプリケーションに定義された送信側ボートとそれに関連する受信側ボートか ら成り、合意されたチャネル・セット名を使用する、組合せチャネル・セットを 確立するためのものである。すなわち、各潜在的アプリケーションは、C31[ SPa : RPa]margetなどのチャネル・セットを確立する。2つ以 上のアプリケーション(たとえば、アプリケーションA、B、C)が協調グルー プを形成するとき、C81の異なる定義が、以下の組合せセットを形成するよう に結合される。
C51[SPa、SPb、SPc : RPa、RPb、PRC]o+erge aこれを第17図に示す。
グループには新しいメンバを容易に追加することができ、必要なデータ・チャネ ルは基礎システムによって自動的に確立される。唯一の要件は、新しいメンバが 既存のメンバのアプリケーション名を知り、同じチャネル・セット名を使用する ことである。新しいメンバは、他のメンバに関して何も知る必要がなく、さらに 、グループに参加するために使用されたアプリケーション名を提供したアプリケ ーション・メンバによって確立されたデータ・チャネルに関して知る必要もない 。同様に、アプリケーションがグループを抜けるとき、無効なデータ・チャネル は自動的に削除される。
グループの複数のメンバによって送信されたデータがグループのすべてのメンバ に同じシーケンスで到着するように、グループのメンバの間にn方向通信を確立 することが必要な特殊なケースが発生する。直列化チャネルを作成すると、それ ぞれの参加者が最小限に関与することによって、データ・パケットの順序付けを 基礎システムで行うことができる。
第18図に示した直列化チャネル・セットは、複数の送信側ボートがすべて、複 数の受信側ボートにデータを送信し、かつデータがすべての受信側ボートに同じ 順序で到着することを要求するものである。概念的には、すべての送信側ボート (A、C)からのデータ・パケットを直列化し、すべての受信側ボート(B、D )に同じシーケンスのパケットを送るという特性を有する指定されたチャネル・ セットを介してデータが送信される。表記上、これを以下のように表す。
C5name[SPl、SF3.、、、、SPn : RPI、RP2.、、、 RPn]I!er、allae、a組合せチャネルと同様に、2つ以上のアプリ ケーションが、異なる送信側ボートと潜在的に共通の受信側ボートから成る同じ チャネル・セットを使用して直列化チャネル・セットを定義することができる。
たとえば、アプリケーションAは直列化チャネル・セットCS1[SPa :  RPb]1Iersa+、aeaを定義することができ、アプリケーションCは 直列化チャネル・セットC51[SPc : RPdコ5eria11e+ed を定義することができる。
組合せの場合と同様に、アプリケーションは、それによって確立されたデータ・ チャネルを参照せずにアプリケーション名を参照することによって協調セツショ ンを開設する。第18図を参照すると、アプリケーションAはアプリケーション Cと協働して、協調作業グループを形成する。これによって、送信側ボートの結 合セットがすべての受信側ボートの結合セットに同じシーケンスでデータを送信 するように、直列化チャネル・セットC3Iの2つの定義が組み合わせられる。
表記上、この結果得られるチャネル・セットC3Iを次のように定義する。
C31[SPa、SPc : RPb、RPd]5eア、a)1.edこの場合 、アプリケーションAによって明示的に作成されるチャネル(すなわち、[SP a : RPb])およびアプリケーションCによって明示的に作成されるチャ ネル(すなわち、[SPc: RPaコ)だけでな(、新しいチャネル[SPa  : RPd]、[SPc :RPb]もシステムによって作成される。したが って、送信側ボートと受信側ボートのすべての交差接続の間に現在、データ・チ ャネルが存在している。これは、組合せチャネル・セット概念と類似している。
しかし、データ・パケットがすべての受信側ボートに同じシーケンスで到着する という重要な追加制約がある。
組合せの場合と同様に、これによって、各メンバが、グループの他のメンバによ って確立されたデータ・チャネルに関して何も知る必要なしに、協調グループの すべてのメンバの間に両方向直列化データ・チャネルを確立する極めて簡単な方 法が得られる。
このプロセスは、協調作業グループの各潜在的メンバ・アプリケーションが、同 じアプリケーションに定義された、送信側ボートとそれに関連する受信側ボート から成り、合意されたチャネル・セット名を使用する、組合せチャネル・セット を確立するためのものである。すなわち、各潜在的アプリケーションは、C51 [SPa : RPa]、eriallaedなどのチャネル・セットを確立す る。2つ以上のアプリケーション(たとえば、アプリケーションA、B、C)が 協調グループを形成するとき、C81の異なる定義が、以下の直列化セットを形 成するように結合される。
C31[SPa、SPb、SPc : RPa、RPb、PRc]、、、1a1 15e、、1これを第19図に示す。
グループには新しいメンバを容易に追加することができ、必要なデータ・チャネ ルは基礎システムによって自動的に確立され直列化される。唯一の要件は、新し いメンバがアプリケーション名または既存のメンバを知り、同じチャネル・セッ ト名を使用することである。新しいメンバは、他のメンバに関して何も知る必要 がなく、さらに、グループに参加するために使用されたアプリケーション名を提 供したアプリケーション・メンバによって確立されたデータ・チャネルに関して 知る必要もない。同様に、アプリケーションがグループを抜けるとき、自動的に 、有効なデータ・チャネルが再確立される。
サポート・システムによる組合せチャネルおよび直列化チャネルの作成を第20 図の流れ図によって示す。
サブシステム17は、もちろんプログラミングのためのモデルにすぎない組合せ チャネルを実施するために、少なくとも受信側ボートのアドレスを含む、各組合 せチャネル用のチャネル・セット・テーブルを維持する。第21図の流れ図(二 示すように、サブシステム17は、組合せチャネル・セットの一部である指定さ れたバッファ受信側ポートへのデータの送信をめる5encjdataコマンド に応答して、テーブルを使し1尽(すまで、チャネル・セット中の各受信側ポー トにデータを送信し続ける。
サブシステム17は、第22図の流れ図に示した直列化チャネルを実施するため に、すべての受信側ボートのアドレスを含むチャネル・セット・テーブルを確立 する同様な技術を使用する。しかし、サブシステム17は、直列化すべきデータ 項目が、送信側ボートからロードされ、かつ該データ項目をすべての受信側ボー トに送信する上で所望される順序(二保持される、チャネル用の直列化待ち行列 を維持する必要カミある。
チャネル・タイプが「同期」のときは、チャネル・セットのチャネルの同期も提 供される。たとえば、グループの1人(または複数の可能性もある)のメンバに よって送信された複数のデータ・タイプ(たとえば、オーディオ、ビデオ、キー ストローク、マウス・ボインティング)がグループのすべての受信側メンバで同 期式に送られるようにグループのメンバの間にn方向通信を確立する必要がある ことが多い。データ・パケットの同期は、それぞれの参加者が最小限に関与する ことによって基礎システムで行われる。
このチャネル・セット・タイプは、ターゲット・アプリケーションへの別々のデ ータ・チャネルを介してオーディオやビデオなどの異なるデータ・タイプを発信 元アプリケーションが送信するものである。通常、単一の発信元アプリケーショ ンと単一のターゲット・アプリケーションがある。しかし、この場合には、同期 受信側チャネルが同じアプリケーションにあれば、単一の発信元アプリケーショ ンが複数のターゲット・アプリケーションに送信することができ、複数の発信元 アプリケーションが複数のターゲット・アプリケーションに送信することができ る。以下で、典型的な例を示す。
概念的には、送信側ポートからのデータ・パケットを同期し、データの送信時に データ・ストリームに同期パルスを押入する、特性を有する指定されたチャネル ・セットを介してデータが送信される。関連するチャネルのうちの1つの受信側 端末に同期パルスが到着するときに必ず、そのチャネルのデータは、一致する同 期パルスが他のすべてのチャネルに到着するまで保持される。すべての同期パル スが到着すると、データは次の同期パルスが1つのチャネルに到着するまですべ てのチャネルを介して流れることを許可される。同期パルスは、データが提供さ れる前に、基礎システムによって削除される。これを第23図に示し、表記上、 以下のように表す。
C3name([SPl : RPl]l[SF3 : RP2]+−−1)a yncbron+aeaアプリケーションAが、まず第2のアプリケーションB との以下の同期チャネル・セットを確立する場合、C3name([5Pal  : RPbl]、[5Pa2 : RPb2])、ynchron4.ea次い で、他のアプリケーションCとの協調セツションを形成し、同じ送信側ボートと のそれ以上の同期チャネルを追加することができる。すなわち、 C5name([5Pal : RPcl]、[5Pa2 : RPC2]1l ynchronslleaこの場合、アプリケーションBの受信側ボートとアプ リケーションCの受信側ボートとに到着するデータの間で同期が取られる。表記 上、この結果径られるチャネル・セットは以下のとおりである。
CSname([5Pa1 :RPbl、RPclコ、[5Pa2:RPb2. RPc2])aynchroniaed同様に、アプリケーションAが1つのデ ータ・タイプ用のチャネル・セットを確立し、 C3name([5Pal : RPbl、RPCI])synchron+、 e、iアプリケーションDが第2のデータ・タイプ用の同じチャネル・セットを 確立し、 C:Sname ([5Pd2 : RPb2 + RPc2] ) e yn  c p r o n 16 edアプリケーションAおよびDが現在、協調グ ループを形成している場合、データ・タイプ1とデータ・タイプ2の通信はアプ リケーションBおよびアプリケーションCで同期される。すなわち、同期チャネ ル・セットは現在、以下のとおりである。
C3name([5Pal :RPbl、RPclコ、[5Pd2:RPb2. RFe5コ)aynchronlsedすべての同期パルスが一致する前にかな りの遅延がある場合、基礎システムは関連ポートの速度を上げ、あるいは下げる ことを要求する適切な制御信号を送信側ボートに送信する。
協調グループ作業では、アプリケーションは2つのリモート・アプリケーション の間にリンクをセットアツプする媒介として働くことが多い。
ポートを接続しウェルドしてデータのストリーム化をサポートすることによって 、アプリケーションは2つのリモート・ワークステーションの間でデータを送信 する上でのリンクとしての働きに関与する作業の大部分(あるいはすべての場合 もある)を基礎システム17に移すことができる。リンクが確立されると、アプ リケーションはデータのストリーム化を完全に基礎システムによって実行するた めの手段を提供することによってデータ送信への関与を削減することができる。
論理チャネルは、一方の端にある送信側ボートと他方の端にある受信側ボートを 含む1方向データ・パイプから成ると定義されている。送信側ボートの構造は第 8図に示した。アプリケーションに関するかぎり、ポートはチャネルとのインタ フェースとして働く。
アプリケーションは、さまざまな事象を通知される事象ハンドラを備えているこ とも必要である。システム定義事象は、データ送受信エラーの肯定応答を含む。
どちらの端にあるアプリケーションでも他方の端にアプリケーション定義文字列 を送信できるようにする機能が提供されている。この信号機能は、他力の端で信 号事象をレイズする。
アプリケーションはこれで、データを送信しようとする際に呼び出されるユーザ 出口を任意選択で提供することができる。このユーザ出口は、フィルタとして働 き、所望どおりにデータを挿入し、削除し、修正することができる。ユーザ出口 に割り当てることができるタスクには、圧縮と暗号化がある(対応する圧縮解除 と非暗号化は受信側ボートにあるユーザ出口で行われる)。
同じアプリケーション内で、あるタイプのボートを数個使用することができる。
各タイプのボートを1つ有するアプリケーションは、受信側ボートで受信され、 送信側ボートを介して送られるあらゆるデータ・パケットを単に送信することに よって、単純な媒介として働くことができる。この機能を実行するためのプログ ラムは、概念的には非常に簡単だが、それにもかかわらずかなりのオーバヘッド を伴う。というのは、各データ・パケットを読み取り、データを受信側バッファ から送信側バッファに移動し、次いで書き込む必要があるからである。このオー バヘッドを削減できるように、基礎システムによって2つの機能、接続とウェル ドが提供される。
第24図に示したように、第1の機能、接続は実際上、受信側ボートを送信側ボ ート上に接着し、2つのボートは依然としてアプリケーションによって参照でき るが、データ・フローは自動的に接続を介して流れるようにする。このデータの ストリーム化は、関与するオーバヘッドを削減する。なぜなら、アプリケーショ ンはもはや、各データ・パケットを受信し、移動し、次いで送信する必要がなく なるからである。
図から明らかなように、現在、基礎システムによって維持する必要がある待ち行 列は1つだけである。
接続後、2つのボートはそのままアプリケーション内に存在し、したがって様々 なボート関連機能は引き続き使用することができる。たとえば、ボートを再び切 断して削除することができ、引き続き信号を送信することができる。もはやデー タ経路へのアクセスはないので、もはや送信(送信側ボートを介する)も受信( 受信側ポートを介する)も不可能である。
リモート信号が自動的に渡されないので、もはや事象ハンドラは必要とされない ことに留意されたい。しかし、2つのユーザ出口は共に保持される。これは、こ れらの出口がデータの保全性を維持するのに必要なデータ変換などのタスクを実 行できるからである。ユーザ出口はアプリケーション・プログラムの一部なので 、アプリケーションが終了すると、接続は(両方のボートと共に)失われる。
どちらのボートもユーザ出口を必要としない場合は、接続をウェルドすることが できる。ウェルドは、ボートの削除、したがってアプリケーションとチャネルの 間のすべてのリンクの切断を伴う。ボートはもはや存在しないので、ウェルドを 取り消すことはできない。最終的な結果は、2つのりモート端末の間にチャネル を直接接続した場合と同様である。アプリケーションは、もはや関与していなし \ので、ウェルド<kに、所望なら終了することができる。第25図(よ、ウェ ルドの結果を示す。
これによって、ウェルド後に、基礎システム(二よって力)なりの最適化を実行 できることに留意されたし1゜たとえ!、f、データ・トラフィックを、このノ ードを介して流れなl/飄よう(二経路変更することができる。
IG−I IG−4 FIG−6 FIG−7 FIG−9 FIG−TO FIG−11 FIG−12 FIG−13 FIG−f4 FIG−17 FIG、1B FIG、19 FIG−20 FIG−21 同期挿入 同期削除 IG−23 FIG−24 FIG−25 フロントページの続き (72)発明者 ランバード、ハワードイギリス国ハンプシャー、サザンプトン 、ヘッダ・エンド、ノルデック・ガーデンズ(72)発明者 ミッチェル、バリ ー、デヴイッドイギリス国す−レイ、リッチモンド・アポン・テイームズ、ザ・ ハーミテイジ18

Claims (22)

    【特許請求の範囲】
  1. 1.ノードの間でデータを送信するための物理リンクによって接続されたネット ワークのノードを形成するワークステーションのネットワークでの協調作業用の プログラマブル・ワークステーションにおいて、 オペレーティング・システムと、 ノードの間のマルチメディア・データの物理経路指定を制御するための、オペレ ーティング・システム上で動作するネットワーク制御層と、 ワークステーション上で作動し、所定のアプリケーション呼出しに応答する、ア プリケーションとのインタフェースをとり、ノード内でおよびノードを介してデ ータおよび資源を共用する共用アプリケーション・セットと、それぞれがアプリ ケーションに関連する送信側ポートおよび受信側ポートによってそれぞれが定義 される、共用アプリケーション・セットのメンバを接続する論理専用データ・チ ャネルとを備えた協調環境の論理ネットワーク・モデルを作成し、かつネットワ ーク制御層と協働して、アプリケーションに透過的に、物理ネットワークで論理 ネットワーク・モデルを実施するのに必要な物理リンクを確立するようになされ た協調アプリケーション・サポート手段とからなることを特徴とするワークステ ーション。
  2. 2.論理データ・チャネルがチャネル・タイプとチャネル・セット名の両方を有 し、同じ共用アプリケーション・セット中の同じタイプおよびセット名のチャネ ルが、チャネル・タイプに関連する所定の特性に応じて、チャネル・セットのチ ャネルで受信されるデータがチャネル・セットの他のチャネル上のデータに依存 するチャネル・セットを形成することを特徴とする請求項1に記載のワークステ ーション。
  3. 3.所定の特性が、組合せチャネル・セットのチャネルの送信側ポートからのデ ータが組合わされてターゲット・アプリケーションにある少なくとも1つの受信 側ポートに単一のデータ・ストリームとして送られることである、組合せチャネ ル・タイプが定義されていることを特徴とする請求項2に記載のワークステーシ ョン。
  4. 4.複数の送信側ポートおよび受信側ポートを含む組合せチャネル・セットにお いて、送信側ポートと受信側ポートのすべての交差接続の間にサポート・システ ムによってデータ・チャネルが作成されることを特徴とする請求項3に記載のワ ークステーション。
  5. 5.所定の特性が、直列化チャネル.セットのチャネルの送信側ポートからのデ ータが組合わされてチャネル・セット中の複数の受信側ポートのそれぞれに同じ 直列順序で送られることである、直列化チャネル・タイプが定義されていること を特徴とする請求項2に記載のワークステーション。
  6. 6.それぞれが同じ名前の組合せチャネル・セットまたは直列化チャネル・セッ トを含む、複数の共用アプリケーションセット自体が組合わされてより大きな共 用セットを形成している場合に、共用アプリケーションによって明示的に作成さ れないデータ・チャネルが、すべての送信側ポートと受信側ポートのすべての交 差接続の間にサポート・システムによって作成されることを特徴とする請求項4 または5に記載のワークステーション。
  7. 7.アプリケーションが、既存の共用セットに加わり、それ自体の送信側ポート と受信側ポートの間に同じチャネル.セット名の単一の組合せチャネルを作成す ることによって、組合せチャネル・セットまたは直列化チャネル・セットによっ てメンバが接続された共用セットのすべてのメンパとの2方向通信を確立するこ とができることを特徴とする請求項6に記載のワークステーション。
  8. 8.所定の特性が、同期チャネル・セットの異なるチャネル上のデータが該チャ ネル・セットの各受信側ポートで時間同期されることである、同期チャネル・タ イプが定義されていることを特徴とする請求項2に記載のワークステーション。
  9. 9.各送信側ポートで同期信号を挿入し、同期チャネル・セットの各受信側ポー トで同期信号を削除することによって同期を取ることを特徴とする請求項8に記 載のワークステーション。
  10. 10.第1のアプリケーションの受信側ポートと送信側ポートを介して、他の2 つのアプリケーションの間でデータを送信する第1のアプリケーションによる所 定の呼出しに応答して、データ転送が第1のアプリケーションをバイパスするよ うに、第1のアプリケーションの受信側ポートがその送信側ポートに反転可能に 直接接続されることを特徴とする請求項1に記載のワークステーション。
  11. 11.第1のアプリケーションの受信側ポートと送信側ポートを介して、他の2 つのアプリケーションの間でデータを送信する第1のアプリケーションによる所 定の呼出しに応答して、第1のアプリケーションがそれ以上役割を果たさない直 接データ・チャネルが他の2つのアプリケーションの間に作成されるように、第 1のアプリケーションの受信側ポートがその送信側ポートに永続的に直接接続さ れることを特徴とする請求項1に記載のワークステーション。
  12. 12.ノードの間のデータ送信用の物理リンクによって接続されたネットワーク のノードを形成するプログラマブル・ワークステーションでの協調作業方法にお いて、ワークステーション上で作動するアプリケーションからの所定のアプリケ ーション呼出しに応答して、ノード内でおよびノードを介してデータおよび資源 を共用する共用アプリケーション・セットと、それぞれかアプリケーションに関 連する送信側ポートおよび受信側ポートによってそれぞれが定義される、共用ア プリケーション・セットのメンパを接続する論理専用データ・チャネルとを備え た、アプリケーションが使用する協調環境の論理ネットワーク・モデルを作成す るステップと、アプリケーションに透過的に、物理ネットワークで論理ネットワ ーク・モデルを実施するのに必要な物理リンクを確立するステップとを備えるこ とを特徴とする方法。
  13. 13.論理データ・チャネルがチャネル・タイプとチャネルセット名の両方を有 し、同じ共用アプリケーション・セット中の同じタイプおよびセット名のチャネ ルが、チャネル・タイプに関連する所定の特性に応じて、チャネル・セットのチ ャネルで受信されるデータがチャネル・セットの他のチャネル上のデータに依存 するチャネル・セットを形成することを特徴とする請求項12に記載の方法。
  14. 14.所定の特性が、組合せチャネル・セットのチャネルの送信側ポートからの データが組合わされてターゲット・アプリケーションにある少なくとも1つの受 信側ポートに単一のデータ・ストリームとして送られることである、組合せチャ ネル・タイプが定義されていることを特徴とする請求項12に記載の方法。
  15. 15.複数の送信側ポートおよび受信側ポートを含む組合せチャネル・セットに おいて、送信側ポートと受信側ポートのすべての交差接続の間にサポート・シス テムによってデータチャネルが作成されることを特徴とする請求項14に記載の 方法。
  16. 16.所定の特性が、直列化チャネル・セットのチャネルの送信側ポートからの データが組合わされてチャネル・セット中の複数の受信側ポートのそれぞれに同 じ直列順序で送られることである、直列化チャネル・タイプが定義されているこ とを特徴とする請求項13に記載の方法。
  17. 17.それぞれが同じ名前の組合せチャネル・セットまたは直列化チャネル・セ ットを含む、複数の共用アプリケーション・セット自体が組合わされてより大き な共用セットを形成している場合に、共用アプリケーションによって明示的に作 成されないデータ・チャネルが、すべての送信側ポートと受信側ポートのすべて の交差接続の間にサポート・システムによって作成されることを特徴とする請求 項15または16に記載の方法。
  18. 18.アプリケーションが、既存の共用セットに加わり、それ自体の送信側ポー トと受信側ポートの間に同じチャネル・セット名の単一の組合せチャネルを作成 することによって、組合せチャネル・セットまたは直列化チャネル・セットによ ってメンパが接続された該共用セットのすべてのメンパとの2方向通信を確立す ることができることを特徴とする請求項17に記載の方法。
  19. 19.所定の特性が、同期チャネル.セットの異なるチャネル上のデータが該チ ャネル・セットの各受信側ポートで時間同期されることである、同期チャネル・ タイプが定義されていることを特徴とする請求項13に記載の方法。
  20. 20.各送信側ポートで同期信号を挿入し、同期チャネル・セットの各受信側ポ ートで同期信号を削除することによって同期を取ることを特徴とする請求項19 に記載の方法。
  21. 21.第1のアプリケーションの受信側ポートと送信側ポートを介して、他の2 つのアプリケーションの間でデータを送信するための、第1のアプリケーション による所定の呼出しに応答して、データ転送が第1のアプリケーションをバイパ スするように、第1のアプリケーションの受信側ポートがその送信側ポートに反 転可能に直接接続されることを特徴とする請求項13に記載の方法。
  22. 22.第1のアプリケーションの受信側ポートと送信側ポートを介して、他の2 つのアプリケーションの間でデータを送信するための、第1のアプリケーション による所定の呼出しに応答して、第1のアプリケーションがそれ以上役割を果た さない直接データ・チャネルが他の2つのアプリケーションの間に作成されるよ うに、第1のアプリケーションの受信側ポートがその送信側ポートに永続的に直 接接続されることを特徴とする請求項13に記載の方法。
JP6511850A 1992-11-10 1993-11-10 ネットワ―クにおける協調作業用ワ―クステ―ション及び協調作業方法 Expired - Fee Related JP2544905B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB9223521A GB2272312A (en) 1992-11-10 1992-11-10 Collaborative working in a network.
GB9223521.7 1992-11-10

Publications (2)

Publication Number Publication Date
JPH07503569A true JPH07503569A (ja) 1995-04-13
JP2544905B2 JP2544905B2 (ja) 1996-10-16

Family

ID=10724821

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6511850A Expired - Fee Related JP2544905B2 (ja) 1992-11-10 1993-11-10 ネットワ―クにおける協調作業用ワ―クステ―ション及び協調作業方法

Country Status (6)

Country Link
US (1) US5649105A (ja)
EP (1) EP0620936B1 (ja)
JP (1) JP2544905B2 (ja)
DE (1) DE69331660T2 (ja)
GB (1) GB2272312A (ja)
WO (1) WO1994011814A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014123182A (ja) * 2012-12-20 2014-07-03 Fujitsu Ltd プログラム、情報処理装置およびオブジェクト送信方法

Families Citing this family (117)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08153076A (ja) * 1994-11-30 1996-06-11 Canon Inc 協調作業支援方法及びその装置
US5799318A (en) * 1993-04-13 1998-08-25 Firstfloor Software Method and apparatus for collecting and displaying information from diverse computer resources
JP3326292B2 (ja) * 1994-05-24 2002-09-17 株式会社東芝 通信機器及びその通信方法
EP0715268B1 (en) * 1994-11-30 2007-04-25 Canon Kabushiki Kaisha Information processing system
US5854898A (en) 1995-02-24 1998-12-29 Apple Computer, Inc. System for automatically adding additional data stream to existing media connection between two end points upon exchange of notifying and confirmation messages therebetween
US7079177B2 (en) * 1995-02-27 2006-07-18 Canon Kabushiki Kaisha Remote control system and access control method for information input apparatus with limitation by user for image access and camemremote control
JPH0934843A (ja) * 1995-07-18 1997-02-07 Canon Inc 処理システム及び処理装置
US6301339B1 (en) 1995-11-15 2001-10-09 Data Race, Inc. System and method for providing a remote user with a virtual presence to an office
US5960173A (en) * 1995-12-22 1999-09-28 Sun Microsystems, Inc. System and method enabling awareness of others working on similar tasks in a computer work environment
US9094384B2 (en) * 1996-02-16 2015-07-28 Reference Ltd., Limited Liability Company TCP/IP protocol network with satellite nodes
US7130888B1 (en) * 1996-02-16 2006-10-31 G&H Nevada-Tek Method and apparatus for controlling a computer over a TCP/IP protocol network
US7100069B1 (en) * 1996-02-16 2006-08-29 G&H Nevada-Tek Method and apparatus for controlling a computer over a wide area network
US6173332B1 (en) 1996-03-06 2001-01-09 Paul L. Hickman Method and apparatus for computing over a wide area network
US5933597A (en) * 1996-04-04 1999-08-03 Vtel Corporation Method and system for sharing objects between local and remote terminals
JPH09274607A (ja) * 1996-04-08 1997-10-21 Hitachi Ltd コンピュータ・システムおよびその運用方法
US7167897B2 (en) * 1996-05-08 2007-01-23 Apple Computer, Inc. Accessories providing a telephone conference application one or more capabilities independent of the teleconference application
US5857189A (en) * 1996-05-08 1999-01-05 Apple Computer, Inc. File sharing in a teleconference application
US5799149A (en) * 1996-06-17 1998-08-25 International Business Machines Corporation System partitioning for massively parallel processors
US8145701B2 (en) 1996-06-28 2012-03-27 Jordaan Consulting Ltd. Iii, Llc Methods and systems for providing storage of a data file over a computer network
US6920507B1 (en) * 1996-06-28 2005-07-19 Metadigm Llc System and corresponding method for providing redundant storage of a data file over a computer network
US5862346A (en) 1996-06-28 1999-01-19 Metadigm Distributed group activity data network system and corresponding method
US5862330A (en) * 1996-07-16 1999-01-19 Lucent Technologies Inc. Technique for obtaining and exchanging information on wolrd wide web
US7031442B1 (en) 1997-02-10 2006-04-18 Genesys Telecommunications Laboratories, Inc. Methods and apparatus for personal routing in computer-simulated telephony
US6480600B1 (en) 1997-02-10 2002-11-12 Genesys Telecommunications Laboratories, Inc. Call and data correspondence in a call-in center employing virtual restructuring for computer telephony integrated functionality
US6104802A (en) 1997-02-10 2000-08-15 Genesys Telecommunications Laboratories, Inc. In-band signaling for routing
US6704785B1 (en) 1997-03-17 2004-03-09 Vitria Technology, Inc. Event driven communication system
US6122631A (en) * 1997-03-28 2000-09-19 International Business Machines Corporation Dynamic server-managed access control for a distributed file system
JPH10283293A (ja) * 1997-03-31 1998-10-23 Nec Corp アプリケーション共有システム及びプログラムを記録した機械読み取り可能な記録媒体
US6061741A (en) * 1997-05-28 2000-05-09 International Business Machines Corporation Method and apparatus for synchronization of connectionless applications across a network by using simple encryption tokens
US6182146B1 (en) * 1997-06-27 2001-01-30 Compuware Corporation Automatic identification of application protocols through dynamic mapping of application-port associations
US6711611B2 (en) 1998-09-11 2004-03-23 Genesis Telecommunications Laboratories, Inc. Method and apparatus for data-linking a mobile knowledge worker to home communication-center infrastructure
US6985943B2 (en) 1998-09-11 2006-01-10 Genesys Telecommunications Laboratories, Inc. Method and apparatus for extended management of state and interaction of a remote knowledge worker from a contact center
USRE46528E1 (en) 1997-11-14 2017-08-29 Genesys Telecommunications Laboratories, Inc. Implementation of call-center outbound dialing capability at a telephony network level
US7907598B2 (en) 1998-02-17 2011-03-15 Genesys Telecommunication Laboratories, Inc. Method for implementing and executing communication center routing strategies represented in extensible markup language
US6332154B2 (en) 1998-09-11 2001-12-18 Genesys Telecommunications Laboratories, Inc. Method and apparatus for providing media-independent self-help modules within a multimedia communication-center customer interface
US6138139A (en) * 1998-10-29 2000-10-24 Genesys Telecommunications Laboraties, Inc. Method and apparatus for supporting diverse interaction paths within a multimedia communication center
US6173287B1 (en) * 1998-03-11 2001-01-09 Digital Equipment Corporation Technique for ranking multimedia annotations of interest
USRE46153E1 (en) 1998-09-11 2016-09-20 Genesys Telecommunications Laboratories, Inc. Method and apparatus enabling voice-based management of state and interaction of a remote knowledge worker in a contact center environment
US6295535B1 (en) 1998-11-13 2001-09-25 Board Of Trustees Operating Michigan State University Method and system for creating designs using internet-based agents
US7043529B1 (en) * 1999-04-23 2006-05-09 The United States Of America As Represented By The Secretary Of The Navy Collaborative development network for widely dispersed users and methods therefor
US6853651B1 (en) 1999-06-17 2005-02-08 Cingular Wireless Ii, Inc. System and method for outbox-capable wireless transmission
US7929978B2 (en) 1999-12-01 2011-04-19 Genesys Telecommunications Laboratories, Inc. Method and apparatus for providing enhanced communication capability for mobile devices on a virtual private network
US6658498B1 (en) * 1999-12-08 2003-12-02 International Business Machines Corporation Method, system, program, and data structures for reconfiguring output devices in a network system
US20020026478A1 (en) * 2000-03-14 2002-02-28 Rodgers Edward B. Method and apparatus for forming linked multi-user groups of shared software applications
AU2001247462A1 (en) * 2000-03-15 2001-09-24 Quaadros Technologies, Inc. Method and system for linked communication between client stations
AU2001267581A1 (en) 2000-07-15 2002-01-30 Filippo Costanzo Audio-video data switching and viewing system
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
US7000011B1 (en) * 2000-11-06 2006-02-14 Hewlett-Packard Development Company, Lp. Designing interconnect fabrics
US20020065874A1 (en) * 2000-11-29 2002-05-30 Andrew Chien Method and process for virtualizing network interfaces
US8472931B2 (en) 2002-11-25 2013-06-25 Telesector Resources Group, Inc. Methods and systems for automatic communication line management based on device location
US8472428B2 (en) 2001-02-27 2013-06-25 Verizon Data Services Llc Methods and systems for line management
US8761363B2 (en) 2001-02-27 2014-06-24 Verizon Data Services Llc Methods and systems for automatic forwarding of communications to a preferred device
US8750482B2 (en) 2001-02-27 2014-06-10 Verizon Data Services Llc Methods and systems for preemptive rejection of calls
US8488766B2 (en) * 2001-02-27 2013-07-16 Verizon Data Services Llc Methods and systems for multiuser selective notification
US8798251B2 (en) 2001-02-27 2014-08-05 Verizon Data Services Llc Methods and systems for computer enhanced conference calling
US8472606B2 (en) 2001-02-27 2013-06-25 Verizon Data Services Llc Methods and systems for directory information lookup
US8494135B2 (en) 2001-02-27 2013-07-23 Verizon Data Services Llc Methods and systems for contact management
US8488761B2 (en) 2001-02-27 2013-07-16 Verizon Data Services Llc Methods and systems for a call log
US8467502B2 (en) 2001-02-27 2013-06-18 Verizon Data Services Llc Interactive assistant for managing telephone communications
US8503639B2 (en) 2001-02-27 2013-08-06 Verizon Data Services Llc Method and apparatus for adaptive message and call notification
US8873730B2 (en) 2001-02-27 2014-10-28 Verizon Patent And Licensing Inc. Method and apparatus for calendared communications flow control
US8503650B2 (en) 2001-02-27 2013-08-06 Verizon Data Services Llc Methods and systems for configuring and providing conference calls
US8774380B2 (en) 2001-02-27 2014-07-08 Verizon Patent And Licensing Inc. Methods and systems for call management with user intervention
US8751571B2 (en) * 2001-02-27 2014-06-10 Verizon Data Services Llc Methods and systems for CPN triggered collaboration
DE10114208A1 (de) * 2001-03-23 2002-05-08 Trw Automotive Safety Sys Gmbh Gassack-Modul
WO2003009126A1 (en) * 2001-07-19 2003-01-30 Digeo, Inc. System and method for managing television programs within an entertainment system
US20030018970A1 (en) * 2001-07-19 2003-01-23 Digeo, Inc. Object representation of television programs within an interactive television system
US20030061349A1 (en) * 2001-09-24 2003-03-27 George Lo Method and system for collaboratively developing programming code for programmable controllers
US20030088875A1 (en) * 2001-11-08 2003-05-08 Gay Lance J Simultaneous viewing of video files on networked computer systems
US7644144B1 (en) 2001-12-21 2010-01-05 Microsoft Corporation Methods, tools, and interfaces for the dynamic assignment of people to groups to enable enhanced communication and collaboration
US20030145294A1 (en) * 2002-01-25 2003-07-31 Ward Julie Ann Verifying interconnect fabric designs
US9009004B2 (en) * 2002-01-31 2015-04-14 Hewlett-Packasrd Development Comany, L.P. Generating interconnect fabric requirements
US9392120B2 (en) 2002-02-27 2016-07-12 Verizon Patent And Licensing Inc. Methods and systems for call management with user intervention
US7509577B2 (en) * 2002-03-08 2009-03-24 Toshiba Corp Oration Method and system for implementing a clipboard
US20030195994A1 (en) * 2002-04-16 2003-10-16 International Business Machines Corporation Online collaboration method and system
US8489742B2 (en) * 2002-10-10 2013-07-16 Convergys Information Management Group, Inc. System and method for work management
US7302674B1 (en) * 2002-11-26 2007-11-27 Unisys Corporation Automating document reviews in a project management system
US7743022B2 (en) 2003-02-28 2010-06-22 Microsoft Corporation Method and system for synchronizing data shared among peer computing devices
US7640324B2 (en) * 2003-04-15 2009-12-29 Microsoft Corporation Small-scale secured computer network group without centralized management
US20040210846A1 (en) * 2003-04-21 2004-10-21 Olsen Gregory P. Transparent network clipboard sharing
US7640506B2 (en) * 2003-06-27 2009-12-29 Microsoft Corporation Method and apparatus for viewing and managing collaboration data from within the context of a shared document
US20050010386A1 (en) * 2003-06-30 2005-01-13 Mvalent, Inc. Method and system for dynamically modeling resources
US7685598B1 (en) 2003-12-23 2010-03-23 The Weather Channel, Inc. Desktop application framework
EP1560137A1 (en) * 2004-01-30 2005-08-03 Sap Ag Technique for reliable message confirmation
US7895020B2 (en) * 2004-04-01 2011-02-22 General Dynamics Advanced Information Systems, Inc. System and method for multi-perspective collaborative modeling
US7818679B2 (en) * 2004-04-20 2010-10-19 Microsoft Corporation Method, system, and apparatus for enabling near real time collaboration on an electronic document through a plurality of computer systems
US20050265359A1 (en) * 2004-05-13 2005-12-01 Drew Julie W Optimizing switch port assignments
JP4626322B2 (ja) * 2005-02-03 2011-02-09 富士ゼロックス株式会社 プログラム
US8155014B2 (en) * 2005-03-25 2012-04-10 Cisco Technology, Inc. Method and system using quality of service information for influencing a user's presence state
US8015403B2 (en) 2005-03-28 2011-09-06 Cisco Technology, Inc. Method and system indicating a level of security for VoIP calls through presence
US7920847B2 (en) * 2005-05-16 2011-04-05 Cisco Technology, Inc. Method and system to protect the privacy of presence information for network users
US7764699B2 (en) * 2005-05-16 2010-07-27 Cisco Technology, Inc. Method and system using shared configuration information to manage network access for network users
US8079062B2 (en) * 2005-05-16 2011-12-13 Cisco Technology, Inc. Method and system using presence information to manage network access
US7424670B2 (en) * 2005-09-09 2008-09-09 Microsoft Corporation Annotating documents in a collaborative application with data in disparate information systems
US7870493B2 (en) 2005-10-03 2011-01-11 Microsoft Corporation Distributed clipboard
US8332470B2 (en) * 2005-11-30 2012-12-11 Oracle International Corporation Methods and apparatus providing collaborative access to applications
US9008075B2 (en) 2005-12-22 2015-04-14 Genesys Telecommunications Laboratories, Inc. System and methods for improving interaction routing performance
US7614060B2 (en) * 2006-04-28 2009-11-03 Microsoft Corporation Unified concept of presence
US20070297332A1 (en) * 2006-06-22 2007-12-27 James Andrew Broberg Distributed resource allocation in stream processing systems
US20080052355A1 (en) * 2006-08-25 2008-02-28 Lance John M Method, system, and program product for organizing the contributions of each of a plurality of participants to an electronic communication
US7852783B2 (en) * 2006-12-07 2010-12-14 Cisco Technology, Inc. Identify a secure end-to-end voice call
US7979550B2 (en) * 2007-05-24 2011-07-12 Sihai Xiao Methods and apparatuses for adjusting bandwidth allocation during a collaboration session
US8108777B2 (en) 2008-08-11 2012-01-31 Microsoft Corporation Sections of a presentation having user-definable properties
US20100077057A1 (en) * 2008-09-23 2010-03-25 Telefonaktiebolaget Lm Ericsson (Publ) File Transfer in Conference Services
FR2936628B1 (fr) * 2008-09-26 2011-04-01 Vincent Garnier Plate-forme de reseau informatique
US8046417B2 (en) * 2009-05-12 2011-10-25 At&T Intellectual Property I, L.P. System and method for quality of presence
US8838694B2 (en) * 2009-06-19 2014-09-16 Futurewei Technologies, Inc. System and method for shared multimedia experiences across multiple subscriptions
US9092115B2 (en) * 2009-09-23 2015-07-28 Microsoft Technology Licensing, Llc Computing system with visual clipboard
US9659265B2 (en) * 2009-10-12 2017-05-23 Oracle International Corporation Methods and systems for collecting and analyzing enterprise activities
US20130151970A1 (en) * 2011-06-03 2013-06-13 Maha Achour System and Methods for Distributed Multimedia Production
USD669487S1 (en) * 2011-09-12 2012-10-23 Microsoft Corporation Display screen with user interface
US9888568B2 (en) 2012-02-08 2018-02-06 Crane Electronics, Inc. Multilayer electronics assembly and method for embedding electrical circuit components within a three dimensional module
US10933209B2 (en) * 2013-11-01 2021-03-02 Georama, Inc. System to process data related to user interactions with and user feedback of a product while user finds, perceives, or uses the product
US9230726B1 (en) 2015-02-20 2016-01-05 Crane Electronics, Inc. Transformer-based power converters with 3D printed microchannel heat sink
US10015230B1 (en) 2016-02-09 2018-07-03 Robert Buergi Copying and pasting among networked devices
US10939872B2 (en) 2017-06-01 2021-03-09 Stryker Corporation Patient care devices with network variables
US10916073B2 (en) 2018-05-01 2021-02-09 Ford Global Technologies, Llc Vehicle network data streaming system

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0201065A3 (en) * 1985-05-06 1989-08-16 Computer X, Inc. Virtual single machine with logical ring and with message-like hardware interrupts and processor exceptions
GB8814633D0 (en) * 1987-11-18 1988-07-27 Ibm Bus flow control mechanism
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
JP2791146B2 (ja) * 1989-11-15 1998-08-27 株式会社日立製作所 データ処理装置
JP2793308B2 (ja) * 1989-12-21 1998-09-03 株式会社日立製作所 対話システム
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 株式会社日立製作所 ワークステーションおよび共同情報処理システム
FR2683938B1 (fr) * 1991-11-20 1993-12-31 Gec Alsthom Sa Disjoncteur-auto sectionneur a hexafluorure de soufre et applications aux cellules et aux postes et sous-stations prefabriques.

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014123182A (ja) * 2012-12-20 2014-07-03 Fujitsu Ltd プログラム、情報処理装置およびオブジェクト送信方法

Also Published As

Publication number Publication date
JP2544905B2 (ja) 1996-10-16
WO1994011814A1 (en) 1994-05-26
DE69331660D1 (de) 2002-04-11
US5649105A (en) 1997-07-15
DE69331660T2 (de) 2003-02-06
EP0620936A1 (en) 1994-10-26
GB9223521D0 (en) 1992-12-23
GB2272312A (en) 1994-05-11
EP0620936B1 (en) 2002-03-06

Similar Documents

Publication Publication Date Title
JPH07503569A (ja) ネットワークにおける協調作業用ワークステーション及び協調作業方法
JP2544904B2 (ja) 協調作業ネットワ―クでの呼出し管理ワ―クステ―ション及び方法
US5719942A (en) System and method for establishing a communication channel over a heterogeneous network between a source node and a destination node
US5652866A (en) Collaborative working method and system for a telephone to interface with a collaborative working application
US10326807B2 (en) Method and software for enabling n-way collaborative work over a network of computers
US7167897B2 (en) Accessories providing a telephone conference application one or more capabilities independent of the teleconference application
EP1934820B1 (en) Distributed clipboard
KR970007047B1 (ko) 멀티미디어 세션을 스케줄링하는 장치 및 방법
US5764902A (en) Conditional insert or merge in a data conference
US5999986A (en) Method and system for providing an event system infrastructure
EP0497022B1 (en) Conference system
JPH10116193A (ja) 通話制御装置および通話を制御する方法
US7257090B2 (en) Multi-site teleconferencing system
US5748618A (en) Multilevel arbitration in a data conference
JPH09269931A (ja) 協調作業環境構築システム、その方法及び媒体
KR20200055511A (ko) 웹 기반 실시간 공유 오브젝트 전송 시스템 및 방법
US5491798A (en) Method for network call management
EP1317123B1 (en) A multi-site teleconferencing system
JP5034187B2 (ja) 電子会議プログラム、電子会議端末装置、電子会議実行制御方法
JPH11136368A (ja) 電子会議システム
Aldred et al. Call Management in a Lakes environment
JP2949672B2 (ja) グループ通信システムのグループ接続制御方法
Aldred et al. Connection Management in a Lakes environment
Asthana et al. Kaleido: an environment for composing networked multimedia applications
WO2000033214A1 (en) Method and arrangement relating to resource handling in communications networks

Legal Events

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