(57)【特許請求の範囲】
【請求項１】
ネットワークを介して接続されるローカル・コンピュータとリモート・コンピュータとにおいて、ローカル・コンピュータ（10、400）上で走行するローカル・タスク（415）によって呼び出されるリモート・コンピュータ（20、405）上のリモート・タスク（430）を実行する方法であって、
リモート・コンピュータ（20、405）とローカル・コンピュータ（10、400）との間の会話をオープンするため、ローカル・コンピュータ（10、400）において、制御装置（505）によりクライアント（520）を作成し、ローカル・タスク（415）によりリモート・コンピュータ（20、405）内のサーバ（530）と前記クライアント（520）との会話を確立する機能（SRV_OPEN;BusOpenUICXmit）を呼び出し、前記サーバ（530）と前記クライアント（520）とを含み、前記制御装置（505）に接続されたターゲット処理環境（510）を形成させ、前記会話を表すハンドル（XmitHandle）を前記制御装置（505）に送るステップと、
ローカル・コンピュータ（10、400）において、前記ハンドルを使用して、ローカル・タスク（415）によりクライアント（520）およびサーバ（530）相互間のデータ転送機能（SRV_RPC;BusUICXmit）を呼び出し、前記ターゲット処理環境（510）で実行されるリモート・タスク（430）を呼び出すための機能名（XmitServ、XmitLib）と第１のデータ・ブロックとを、ローカル・コンピュータ（10、400）からリモート・コンピュータ（20、405）に送信し、ローカル・コンピュータ（10、400）において、リモート・コンピュータ（20、405）で実行されるリモート・タスク（430）から、前記リモート・タスク（430）の応答として返される第２のデータ・ブロックを受信するステップと、
ローカル・コンピュータ（10、400）において、前記ハンドルを使用して、ローカル・タスク（415）によりローカル・コンピュータ（10、400）とリモート・コンピュータ（20、405）との間の会話を遮断し、ハンドルを取り消す機能（SRV_CLOSE;BusCloseUIDXmit）を呼び出し、リモート・コンピュータ（20、405）とローカル・コンピュータ（10、400）との間の会話をクローズするステップと
を含み、ターゲット処理環境（510）とローカル・タスク（415）との間で確立されたあらゆる会話について、ローカル・コンピュータ（10、400）内に、前記ターゲット処理環境（510）にアドレスするための１以上のサービス・ユニット（500）を確立することを特徴とする方法。
【請求項２】
ローカル・コンピュータ（10、400）が、ターゲット処理環境（510）で実行されるリモート・タスク（430）を呼び出すための機能名（XmitServ、XmitLib）を前記ターゲット処理環境（510）に送ると共に、リモート・コンピュータ（20、405）に第１のデータ・ブロックを送信するステップと、ローカル・コンピュータ（10、400）が、リモート・コンピュータ（20、405）で実行されるリモート・タスク（430）の応答として返される第２のデータ・ブロックを受信するステップとにおいて、前記ハンドルと、第１のデータ・ブロックのメモリ・アドレス（InputBuf）と、第２のデータ・ブロックのメモリ・アドレス（OutputBuf）と、リモート・タスク（430）の名前（XmitServ、XmitLib）とを含むデータ・バッファ（第８図）を示すパラメータを呼び出すステップを含むことを特徴とする、請求項１に記載の方法。
【請求項３】
第１のローカル・タスク（415）により前記会話を確立する機能（SRV_OPEN;BusOpenUICXmit）を呼び出し、ローカル・コンピュータ（10、400）とリモート・コンピュータ（20、405）との間の会話をオープンし、
第２のローカル・タスク（415）により前記データを転送する機能（SRV_RPC;BusUICXmit）を呼び出し、第１のローカル・タスク（415）によって返されるハンドルを使用して、リモート・タスク名（XmitServ、XmitLib）と第１のデータ・ブロックとを、ローカル・コンピュータ（10、400）からリモート・コンピュータ（20、405）に送ることを特徴とする、請求項１または２のいずれかに記載の方法。
【請求項４】
第１のローカル・タスク（415）により前記会話を確立する機能（SRV_OPEN;BusOpenUICXmit）を呼び出し、ローカル・コンピュータ（10、400）とリモート・コンピュータ（20、405）との間の会話をオープンし、
第３のローカル・タスク（415）により前記会話を遮断し、ハンドルを取り消す機能（SRV_CLOSE;BusCloseUIDXmit）を呼び出し、ローカル・コンピュータ（10、400）とリモート・コンピュータ（20、405）との間の会話が、第１のローカル・タスク（415）によって返されたハンドルを使用してクローズされることを特徴とする、請求項１ないし３のいずれかに記載の方法。
【発明の詳細な説明】
［技術分野］
本発明は、ローカル・コンピュータ上で実行されるローカル・タスクによって要求されたリモート・コンピュータ上のリモート・タスクを実行するシステムに関する。このシステムでは、リモート・コンピュータが、ネットワーク中でローカル・コンピュータと接続されており、該ローカル・コンピュータがローカル・データ伝送エージェントを含み、前記ローカル・データ伝送エージェントが、リモート・コンピュータにリモート・タスクの動作の開始を求める要求を送り、リモート・タスクの動作中にデータの送受信を行い、かつリモート・コンピュータがリモート・データ伝送エージェントを含み、前記リモート・データ伝送エージェントが、ローカル・コンピュータからリモート・タスクの動作の開始を求める要求を受け取り、リモート・タスクの動作中にデータの送受信を行う。
［背景技術］
従来の技術では、様々なコンピュータ・ネットワークが開示されている。IBM System Journal、Vol.22、No.4（1983年）には、IBMシステム・ネットワーク体系（SNA）の概観を中心とする一連の論文が含まれている。この刊行物の345ページで、ネットワークは、「端末、制御装置、プロセッサと、それらを接続するリンクから構成されたもの」と定義されている。そのような構成がデータ処理および情報交換に関するユーザ適用業務をサポートし、IBMシステム・ネットワーク体系の仕様を満たしているとき、SNAネットワークと呼ばれる。SNAは本質的に、ネットワーク中の物理エンティティに関係する論理エンティティを定義し、これらの論理エンティティ間の対話の規則を指定している。
SNAネットワークの論理エンティティは、ネットワーク・アドレス可能ユニットと、それらを接続する経路制御ネットワークを含む。ネットワーク・アドレス可能ユニットは、「セッション」と呼ばれる論理接続を使用して相互に通信する。ネットワーク・アドレス可能ユニット（NAU）には、論理装置（LU）、物理装置（PU）、およびシステム・サービス制御点（SSCP）の３種があり、次のように定義される。
論理装置（LU）。LUは、エンド・ユーザがSNAネットワークにアクセスするためのポートである。エンド・ユーザは、LUを使用して他のエンド・ユーザと通信し、システム・サービス制御点（SSCP）のサービスを要求する。
物理装置（PU）。PUは、SSCPと協力してノードの資源を管理する構成要素である。
システム・サービス制御点（SSCP）。これは、エンド・ユーザのための構成管理、問題判別、およびディレクトリ・サービスのフォーカル・ポイントである。SSCPは、LUおよびPUとのセッションをもつことができる。そのようなセッションが発生するとき、LUまたはPUはSSCPの定義域に入っている。SSCPは、LUおよびPUとのセッションだけでなく、相互に通信して、論理装置相互間のセッションおよび複数の定義域内のセッションの開始および終了を調整する。
ハードウェアの観点から見ると、単純なネットワークは、処理装置をもつホスト・システムと、個々のユーザに割り当てられた複数のローカル端末を備えている。ローカル端末は、１つまたは複数の通信リンクを介してホスト・システムと選択的に接続することができる。これらのリンクは、同軸ケーブル、専用電話回線を備えることができ、場合によっては衛星通信リンクを備えることもできる。
ホスト処理装置は主として、それぞれ要求に応じてエンド・ユーザに割り当てられる、多数の仮想マシンの作成をサポートするオペレーティング・システムである。仮想マシンは、ホスト・システムのホスト・プロセッサ・ハードウェアを時分割することによって、割り当てられたエンド・ユーザのタスクを処理する。一部のホスト・システムは、複数のハードウェア・プロセッサを含むことができ、複数のプロセッサが並列に走行するので、ホストにおいて真の同時処理が行われる。しかし、このようなシステムよりも、時分割技術によって仮想マシン用のデータ処理タスクを「並行して」実行する１個のハードウェア・プロセッサを備えているシステムの方が多い。このシステムは、端末のエンド・ユーザに対して透過的である。
データ処理ネットワークでは、２つの一般的な種類の端末が使用される。第１の種類は、キーボードと表示装置だけを備え、ホスト・システムと接続を行うのに必要な能力以外の処理能力をほとんどまたはまったく備えていないので、「ダム端末」と呼ばれる。第２の種類の端末は、インテリジェント・ワークステーション（IWS）と呼ばれ、それ自体の処理装置および補助周辺装置を備えている。IWSおよびパーソナル・コンピュータ（PC）という用語は、しばしば同じ意味に使用される。非常に魅力的な価格性能特性をもつPCが容易に入手できるようになったので、大部分の新しいネットワークはIWSタイプの端末で実施されており、多数の旧式ネットワークは、ダム端末をIWSタイプの端末で置き換えることによって修正されつつある。
ネットワーク上の各エンド・ユーザにユーザ自身の処理機能を提供すると、ホストCPUは、以前ホストで行われていた多数のデータ処理タスクを実行しなくて済むようになる。したがって、ホストCPUによって処理されるタスクの性質が変わり、現在では、ネットワーク上でホスト・システムの制御下で電子メールや電子カレンダなどのより高度な適用業務が実施されている。これらの適用業務は共に、いわゆる分散適用業務プログラムに関係している。分散適用業務プログラムでは、適用業務プログラムの一部分がホスト・システム上に常駐しており、別の部分がIWS端末上に常駐している。
分散適用業務プログラムの実行に利用可能な製品の調査が、Datamation、Vol.30、No.11（1984年７月15日）、pp.82−90に発表された、V.ラウジーノ（Rawzino）の論文“Typing micro−mainframe knot"に記載されている。
多数の現在のデータ処理ネットワークは、1974年に初めて記載されたIBM  SNA体系に従って設計されている。それ以降、様々な新しい機能およびサービスが追加された。先に示唆したように、SNAネットワークは、データ・リンクによって相互接続された複数のノードとみなすことができる。これらのそれぞれのノードでは、経路制御要素が、論理装置（LU）と呼ばれる資源管理プログラム間で、経路情報単位（PIU）と呼ばれる情報パケットを送信する。これらの経路の論理接続をセッションと呼ぶ。したがって、データの移送ネットワークは、経路制御要素およびデータ・リンク制御要素によって定義される。
ノードは、複数のリンクによって接続し、複数のLUを備えることができる。SNA体系の枠組み内で様々な種類のLUセッションおよびプロトコルが確立されている。３つの一般的なクラスのセッションがある。第１のクラスは、SNAで指定されない。第２のクラスは端末に関係し、第３のクラスはプログラム間通信に関係する。たとえば、LU6は、LU2やLU7などの端末LUタイプの制限を回避する、SNAで定義されたプログラム間通信プロトコルを提供する。LU6.2は、拡張プログラム間通信（APPC）プロトコルと呼ばれる。
論理装置は、メッセージ・ポートよりも数が多い。LUは、１つまたは複数のローカル・プログラムに関係するプログラム間通信などのオペレーティング・システム・サービスを提供する。各適用業務プログラムは、LUを論理オペレーティング・システムとみなし、セッションによって接続された疎結合LUのネットワークを分散オペレーティング・システムとみなす。
LUはそのプログラムに、特定のハードウェアとその構成に応じて複数の資源を割り振る。利用可能となる資源にはリモートのものと、ローカル、すなわち提供業務プログラムと同じLUに関連するものがある。セッションは、各LUにおける論理資源とみなされるが、特定のLU間で共用される。
LUの制御機能は資源割振りである。プログラムは、資源へのアクセスを要求する。LU間、またはLU上で走行するプログラム間でメッセージを運ぶセッションは共用資源とみなされる。セッションは、複数の逐次的に実行される会話に分割される。
セッションによって接続された２つのLUは、セッションを、「会話」として使用するために適用業務プログラムに割り振る上で責任を共有する。したがって、適用業務プログラムは「トランザクション・プログラム」と呼ばれることがある。
LU間の接続が成功するのは、共通な１組のプロトコルがまず２つのLU間のセッションを活動化し、次にメッセージ・データの交換を推進するように機能する結果である。
IBM発行の、「SNAフォーマットおよびプロトコル解説書」整理番号SC30−3112）では、たとえばプログラミング言語の宣言を使用して、ネットワーク・エンティティと、メッセージを生成、処理、変換、送信、および返送するプログラムとの間を流れるメッセージのフォーマットを定義することによってSNAを記述している。
IBM発行の、「LU62用SNAトランザクション・プログラム解説書」（整理番号GC30−3084）では、実施製品によって提供される機能を記述する動詞を定義している。
SNA自体および、SNAとインテリジェント・ワークステーション間の通信との関係について概括した２つの論文が知られている。それは、S.サイモン（Simon）の“Peer−to−peer network management in an IBM SNA network"（IEEE Network、Vol.5、No.5、1991年３月、pp.30−34）と、L.D.パスモア（Passmore）の“Comming:a new SNA"（Datamation、Vol.31、No.22、1985年11月15日、pp.102−112）である。
コンピュータ間での適用業務プログラムの共用の様々な態様について記載した２つの欧州特許出願が知られている。それは、欧州特許出願第0371229号（Hewlett−Packard）と欧州特許出願第0424715号（IBM）である。
コンピュータ間での適用業務プログラムの共用について記載した１つの米国特許が知られている。それは、米国特許出願第4274139号である。
特願昭63209248号（富士通）は（英語版の要約が、Patent Abstracts of Japan、Vol.12、NO.498、pp.110に発表されている）、ワークステーションにデータを転送するホスト内の通信制御セクションを記載している。
［発明の開示］
本発明の目的は、あるコンピュータ上で、別のコンピュータ上のタスクから要求されたタスクを実行するための改良されたシステムを提供することである。
本発明によれば、この目的は、リモート・タスクが実行されるトランザクション処理環境と、ローカル・コンピュータに記憶され、ローカル・タスクがリモート・タスクにアクセスするために使用するハンドルとを関連付け、ローカル・タスクとローカル・データ伝送エージェントからアクセス可能なローカル共用バッファをローカル・コンピュータ内に設け、リモート・タスクとリモート・データ伝送エージェントからアクセス可能なリモート共用バッファをリモート・コンピュータ内に設けることによって解決される。
本発明の一実施例では、ローカル共用バッファはローカル・タスクによって提供され、リモート共用バッファはリモート・データ伝送エージェントによって提供される。ローカル・タスクは、機能プログラム、適用業務ナビゲータ、環境ルーチンのどれでもよい。
本発明の方法は、リモート・コンピュータとローカル・コンピュータの間で会話をオープンし、リモート・タスクが実行されるトランザクション処理環境を表すハンドルを割り当てるステップと、トランザクション処理環境で実行されるリモート・タスクを識別する機能名と、リモート・タスクが入力として必要とするデータを含む第１のデータ・ブロックとをローカル・コンピュータからリモート・コンピュータに送信するステップと、リモート・コンピュータで実行されるリモート・タスクからの出力を含む第２のデータ・ブロックをローカル・コンピュータで受信するステップと、リモート・コンピュータとローカル・コンピュータの間の会話をクローズするステップとを含む。
本発明の方法の一実施例では、ローカル・コンピュータとリモート・コンピュータの間の会話が第１のローカル・タスクによってオープンされ、第２のローカル・タスクが、第１のタスクが返すハンドルを使用して、トランザクション処理環境にリモート・タスク名を送信し、ローカル・コンピュータからリモート・コンピュータに第１のデータ・ブロックを送信する。
本発明の方法の他の実施例では、ローカル・コンピュータとリモート・コンピュータの間の会話は、第１のローカル・タスクがオープンし、第３のローカル・タスクが、第１のタスクから返されるハンドルを使用してクローズする。
【図面の簡単な説明】
第１図は、情報ハンドリング・システムの概要を示す図である。
第２図は、インテリジェント・ワークステーションを示す図である。
第３図は、SNAネットワークの概要を示す図である。
第４図は、本発明の概要を示す図である。
第５図は、伝送データ・エージェントの構造を示す図である。
第６図は、BusOpenUICXmitルーチン用のデータ・バッファの構造を示す図である。
第７図は、BusCloseUICXmitルーチン用のデータ・バッファの構造を示す図である。
第８図は、BusUICXmitルーチン用のデータ・バッファの構造を示す図である。
第９図は、本発明の１使用例を示す図である。
第10図は、本発明の他の使用例を示す図である。
［発明の詳細な説明］
第１図には、ホスト・コンピュータ20と、第２図に詳細に示す種類の対話型端末またはインテリジェント・ワークステーション（IWS）10aないしｆとから成る、SNAネットワークなどのネットワーク30を備える情報処理システムの１例を示す。このシステムは、機能的には、各ワークステーションがネットワーク30を介してホスト・コンピュータ20および他のワークステーション10と通信できるように動作する。通信リンクは、様々なプロトコルのどれでも使用できるが、本発明の好ましい実施例ではSNA通信プロトコルを使用する。
ホスト・コンピュータ20は、たとえば、IBM/370、IBM/390システム、IBM  PS/2、IBM  AS/400、IBM  RS/6000などのホスト処理装置を含む。ホスト処理装置は、IBM  VM、IBM  MVS、IBM  OS/2、IBM  VSEなどのオペレーティング・システムを実行する。
第２図に、第１図に示したワークステーション10のうち１つの機能構成要素を示す。ワークステーション10は、たとえばインテル（Intel）80386マイクロプロセッサなどのマイクロプロセッサ130と、半導体メモリ120と、マイクロプロセッサ130と半導体メモリ120の間の対話の他に入出力動作も制御するように機能する制御ブロック140とを含む、処理装置110を備えている。
ワークステーションはさらに、表示装置150、マウス165、キーボード160、プリンタ170、記憶装置190、およびモデム180を含む１群の通常の周辺装置を含む。前述の機能ブロックの詳細は従来の技術で述べられているので、各ブロックについての簡単な機能的説明と、ブロック間の対話の説明だけを行うが、これで、当業者に本発明を理解するための基礎を提供するのに十分である。
たとえば、処理装置110は、IBM  PS/2モデル80システムなどのIBMパーソナル・コンピュータのシステム装置に対応する。処理装置110は、オペレーティング・システム・プログラムを備えており、このプログラムは、通常はPS/2モデル80を実行するのに使用されるIBMマルチタスキングOS/2オペレーティング・システムでよい。オペレーティング・システム・プログラムは、ユーザが実行することを選択した適用業務プログラムと共に半導体メモリ120に記憶されている。システムが分散適用業務プログラムをサポートするときは、分散適用業務プログラムの一部だけ、たとえば部分Ａをワークステーション10に記憶し、他方の部分、部分Ｂはホスト・コンピュータ20または他のワークステーション10に記憶する。これらのプログラムの各部分は、半導体メモリ120の容量と適用業務プログラムのサイズに応じて、必要なときに、たとえば40メガバイト・ハード・ディスク・ドライブおよびディスケット・ドライブを含む記憶装置190から半導体メモリ120に転送される。記憶装置190の基本機能は、ワークステーション10によって使用され、必要に応じて半導体メモリ120に容易に転送できるように、プログラムおよびデータを記憶することである。ディスケット・ドライブの機能は、プログラムおよびデータをワークステーション10に入力する削除可能記憶機能と、データを、他のワークステーション10またはホスト・コンピュータ20上で使用するために容易に転送できる形式で記憶する手段とを提供することである。
表示装置150、マウス165、およびキーボード160があいまって、端末の対話性を提供する。というのは、通常の動作では、オペレータによる特定のマウス・コマンド・キーストロークに対するシステムの解釈が、ほぼあらゆる状況において、その時点でオペレータに対して表示されているものに依存するからである。
ある状況では、オペレータがマウス165をクリックするか、あるいはシステムにコマンドを入力することによって、システムに一定の機能を実行させる。他の状況では、システムが、一般にプロンプト型のメニュー／メッセージ画面を表示することによって、あるデータの入力を要求する。オペレータとシステムの間の対話の深さは、オペレーティング・システムと適用業務プログラムの種類によって変わる。
第２図に示すワークステーション10は、プリンタ170を含むこともできる。プリンタ170は、データのハード・コピー出力を提供するように機能する。最後に、モデム180は、第２図のワークステーション10からのデータをホスト・コンピュータ20または他のワークステーション10に転送するように機能する。
第３図に、SNA型ネットワークで使用される様々な層のプログラミングを示す。本発明によるSNAプログラミング環境は、図のように７つの層から構成されているとみなすことができる。上部層210はエンド・ユーザ層であり、エンド・ユーザ・プログラムから構成され、本発明のリモート・データ伝送サービス220を含む。
第２の層230は、NAUサービス層と呼ばれる。このサービスには、たとえばプレゼンテーション・サービス、端末サービス、および特定の適用業務用のデータのフォーマッティングが含まれる。層240は、データ・フロー制御層と呼ばれる。この層の機能は、送信／受信モードを維持し、高レベルのエラー訂正を実行することである。層250は、データ伝送制御層である。この層の機能には、暗号化および非暗号化や、セッション・レベルの歩調合せなどがある。層260は経路制御層であり、経路指定、データ単位のセグメント化、および仮想経路歩調合せを行う。データ・リング層は層270である。この層の機能は、リンク・レベル・アドレス指定、順序付け、およびエラー制御を提供することである。最後の層280は物理層であり、たとえば様々な信号用のコネクタ上でのピンの割り当てを定義する。
APPCは、NAUサービス、データ・フロー制御、および伝送制御を定義する。前述のIBM System Journalのp.306ページに記載されているように、LU6.2会話機能を定義する方法では、動詞と呼ばれるプログラミング言語様ステートメントが使用される。セッション・フローを生成する手順論理によって完全に定義された動詞によるドキュメンテーションは、英語の散文よりも精度が大幅に高い。１組の動詞が、適用業務プログラム・インターフェースではなくプロトコル境界として参照される。
プレゼンテーション・サービス構成要素は、動詞を解釈し、各動詞用のサブルーチンを含むものとみなすことができる。LU資源管理プログラムは、会話資源を割り振り、セッションに会話を割り当て、空きセッションの待ち行列と保留中の割振り要求を維持する。製品中のそれに等価な構成要素も、製品固有の方法でローカル資源を割り振る。下記のLU6.2動詞の機能は、前述のIBM System Journalのp.307に記載されている。論じられているLU6.2動詞は、SEND_DATA（データ送信）、RECEIVE_AND_WAIT（受信後待機）、PREPARE_TO_RECEIVE（受信準備）、FLUSH（フラッシュ）、REQUEST_TO_SEND（送信要求）、SEND_ERROR（送信エラー）、CONFIRM（確認）、ALLOCATE（割振り）、DEALLOCATE（割振り削除）である。
ALLOCATE動詞は、指定されたパートナー・プログラムへの会話を構築することによって他のLUで新しい活動を開始する。指定されたパートナーは、実行状態になり、該パートナーを開始した会話へのアドレス可能性を与えられる。
ALLOCATE動詞は、以下のものを含む複数のパラメータを含む。
1.LU_NAME.これは、パートナー・プログラムが位置するLUの名前である。
2.TPN.TPUは、会話を希望するパートナー・プログラムのトランザクション・プログラム名である。
3.MODE_NAME.MODE_NAMEは、会話が提供する移送サービスの種類を指定する。たとえば、SECURE会話、BULK会話、またはLOW_DELAY会話を要求することができる。LUは、適切なMODE_NAMEとのセッションを使用して会話を搬送する。
会話のターゲットは新たに作成されたプロセスまたはタスクである。すなわち、任意の瞬間におけるネットワーク中の分散処理は、多数の独立分散トランザクションから構成され、各トランザクションは、会話によって接続された２つ以上のトランザクション・プログラムから構成される。DEALLOCATE動詞は、会話を終了させる。各パートナーがDEALLOCATEを発行できるかぎり、会話は、１つの短いメッセージのものから、長いまたは短いメッセージの多数の交換まで様々である。会話は無限に継続することができ、論理装置の故障か、または会話を搬送するセッションによってのみ終了する。トランザクション・プログラムは、DEALLOCATEでは終了せず、プログラム自体の実行を終了するまで継続し、異常終了するかあるいは制御オペレータの処置によって終了する。
ネットワーク適用業務プログラムとサービス・トランザクション・プログラムは共に、論理装置によって提供される実行サービスを使用する。サービス・トランザクション・プログラムは、他のトランザクション・プログラムと同様に論理装置上で走行する。サービス・トランザクションは、人間のオペレータと会話し、あるいは純粋なプログラム式オペレータとして走行する。多数のサービス・トランザクション・プログラムは、ローカル論理装置だけに影響を及ぼす。その１例は、１組の現活動トランザクション・プログラムを表示するコマンドである。
他の制御トランザクション、特にセッションに関する制御トランザクションは、他の論理装置と、他の論理装置にある適用業務に影響を及ぼすことができる。たとえば、会話を使用しているトランザクションを途中で終了するローカル・コマンドは、会話を異常終了させる。これは、会話を共用しているトランザクション・プログラムに提示するためにパートナー論理装置に送らなければならない状態変更である。また、２つのLUによって共用される１つまたは複数のセッションを活動化するとの決定は、一方のLUオペレータが行うことができるが、他方の論理装置に通信しなければならない。SNA用の拡張プログラム間通信は、特にセッションの活動化および非活動化のための、LU間制御および調整を行う、いくつかの制御オペレータ動作を含む。分散サービス・トランザクション・プログラムがあるLUで開始すると、パートナーLUのパートナー・トランザクション・プログラムへの会話を生成する。その後、２つのトランザクション・プログラムが協力して、所望の制御活動を実行する。
第４図に、本発明のリモート・データ伝送サービスがどのように動作するかを示す。各ワークステーション10aないしｆとホスト・コンピュータ20は、データ伝送エージェントと呼ばれる特殊構成要素を備えている。第４図に示した例では、２種類のデータ伝送エージェントが示されている。ローカル・データ伝送エージェント410は、ローカル・コンピュータ（または論理装置）400、通常はタスクを実行するワークステーション10内に提供される。リモート・データ伝送エージェント420は、リモート・コンピュータ405（または他の論理装置）、すなわち他のワークステーション10またはホスト・コンピュータ20内に提供される。リモート・コンピュータ405は、ローカル・コンピュータ400上で走行するタスクによって開始されるタスクを実行する。ローカル・データ伝送エージェント410とリモート・データ伝送エージェント420は、ネットワーク30を介して接続される。
図４の例では、データ伝送サービス要求元415と総称される３種のタスクが、ローカル・コンピュータ400上に提供される。ローカル・コンピュータ400は、リモート・コンピュータ405上のタスクを呼び出すことができる。３種のタスクとは、機能プログラム440、適用業務ナビゲータ450、および環境ルーチン460である。機能プログラム440とは、走行中の適用業務に関するデータを修正できるプログラムである。適用業務ナビゲータ450は、ユーザがワークステーション10およびホスト・コンピュータ20上で利用可能な適用業務中をナビゲートできるようにする。環境ルーチン460は、ユーザが作業中の環境を修正できるようにする。これらのタスクはそれぞれ、リモート・コンピュータ405上で走行するタスクの呼出しを発行し、リモート・コンピュータ405上のこれらのタスクにデータ・ブロックを渡し、該タスクからデータブロックを受け取ることができる。
リモート・コンピュータ405は、本発明の上記の実施例では１種のタスクだけを有する。リモート機能430は、呼出し可能モジュールであり、ローカル・コンピュータ400上で走行するタスクによって呼び出すことができ、ローカル・コンピュータ400上のタスクからデータ・ブロックを受け取り、該タスクにデータ・ブロックを返すことができる。
ローカル・データ伝送エージェント410は、データ伝送サービス要求元415に接続されている。ローカル・データ伝送エージェント410の機能は、リモート・コンピュータ405に会話を割り振り、リモート・コンピュータ405のリモート・データ伝送エージェント420にデータ・ブロックおよび機能名を送り、リモート・データ伝送エージェント420またはリモート・システム405からデータ・ブロックを受け取り、最後にリモート・コンピュータ405への会話の割当てを解除することである。
リモート・データ伝送エージェント420は、ローカル・データ伝送エージェント410からデータ・ブロックおよびリモート機能の名前を受け取り、指定されたリモート機能430を開始し、受け取ったデータ・ブロックをリモート機能430に転送し、指定されたリモート機能430から返されたデータ・ブロックを、リモート機能430の名前を送信したローカル・データ伝送エージェント410に送り返す機能を有する。
データ伝送エージェント410および420の機能は、第５図を検討すればさらによく理解することができる。第５図は、一連のサービス・ユニット500に接続された伝送データ・サービス要求元415を示す。一連のサービス・ユニット500は、制御装置505に接続されている。制御装置505は、一連のターゲット処理環境510aないしｄに接続されている。ターゲット処理環境510aないしｄはそれぞれ、クライアント520aないしｄと、サーバ530aないしｄを含んでいる。制御装置505、一連のサービス・ユニット500、およびクライアント520aないしｄは、第４図のローカル・データ伝送エージェント410に含まれている。サーバ530aないしｄは、第４図に示す１台または複数のリモート・コンピュータ405内にある。クライアント520aないしｄとサーバ530aないしｄは、ネットワーク30およびモデム180を介して相互に接続される。
ローカル・コンピュータ400上で走行する適用業務は、リモート・コンピュータ405に１つまたは複数のサービスを要求することができる。サービスは、伝送データ。サービス要求元415を呼び出すことによって要求され、伝送データ・サービス要求元415は要求された各サービス用のサービス・ユニット500を作成する。制御装置505は、適用業務から発行されたそれぞれのサービス要求を、要求されたターゲット処理環境510に経路指定する。制御装置505は、ローカル・コンピュータ中で走行する適用業務から供給されたトークンを使用して、必要なターゲット処理環境510を指定する。ターゲット処理環境510内で要求されたサービスが終了した後、制御装置505およびサービス・ユニット500を介して適用業務に結果が返される。
ターゲット処理環境510は、複数のサービス・ユニット500によってアドレスすることができる。たとえば、ローカル・コンピュータ400上で実行され、共にリモート・コンピュータ405内の同じサービスを使用したいと希望する、２つの適用業務、またはローカル・コンピュータ400内で走行し、同じサービスを使用したいと希望する、同じ適用業務の２つの異なる部分がその例である。この場合、ローカル・コンピュータ400内で２つの異なるサービス・ユニット500が作成できる。サービス要求は、ターゲット処理環境510で待ち行列に入れられ、連続的に実行される。２つの異なるサービス・ユニット500を作成すると、１つの適用業務プログラムが、２つの異なるターゲット処理環境510と非同期的に対話することができる。
クライアント520およびサーバ530は互いにユーザの３つの機能プリミティブ、すなわちSRV_OPEN、SRV_CLOSE、およびSRV_RPCを通信しあう。ターゲット処理環境510を呼び出す前には、SRV_OPEN機能プリミティブを使用する必要がある。こうすると、制御装置505は、クライアント520を作成し、周知のSNA動詞（ALLOCATE、上記参照）と前述のトークンを使用して、リモート機能430を実行するサーバ530を含む、所望のリモート・コンピュータ405との会話を確立する。その会話を特徴付けるハンドルが制御装置505に返される。SRV_CLOSE機能プリミティブを呼び出すと、クライアント520とサーバ530との間の会話が遮断され、ハンドルは削除される。SRV_CLOSE機能プリミティブはDEALLOCATE SNA動詞を使用する。SRV_CLOSEプリミティブおよびSRV_OPENプリミティブは、どのデータ伝送サービス要求元415からも呼び出せる。これらのプリミティブは、異なるデータ伝送サーバ要求元415から発行することができる。すなわち、あるデータ伝送サービス要求元415が接続を確立し、別のデータ伝送サービス要求元415が切断することができる。クライアント520とサーバ530との間の接続は、クローズされるまで常にオープンのままであり、後述のように、会話を確立したデータ伝送サービス要求元415がその会話を使用しなくなった場合でもそうである。
SRV_RPC機能プリミティブは、データ伝送サービス要求元415がハンドルを使用して呼び出す。このプリミティブにより、任意の長さのデータをクライアント520からサーバ530に、またサーバ530からクライアント520に転送することができる。適用業務プログラムがSVC_RPC機能プリミティブを使用すると、サービス・ユニット500がデータ伝送サービス要求元415によって作成される。異なる適用業務によって異なるサービス・ユニット500が作成できる。２つの異なるサービス・ユニット500がターゲット処理環境510にデータを同時に転送したいと希望する場合、要求はサービスユニット500の待ち行列に入れられる。
ローカル・コンピュータ400上で走行する適用業務プログラムがリモート・コンピュータ405上で走行するタスク（たとえばリモート機能430）を呼び出したいものと仮定する。この場合、ローカル・コンピュータ400とリモート・コンピュータ405の間に会話を確立しなければならない。これを行うために、タスクを実行するデータ伝送サービス要求元415は、ローカル・データ伝送エージェント410によって提供されるBusOpenUICXmit（OpenDataStruct,rc）を呼び出す。このルーチンは、前述のSRV_OPEN機能プリミティブと等価であり、２つのパラメータ、OpenDataStructとrcをもつ。第１のパラメータOpenDataStructは、リモート・コンピュータ410内のリモート・データ伝送エージェント420との会話をオープンするのに必要なすべての入出力データを含むデータ・バッファを指す。第２のパラメータrcは、このルーチンの呼出しからの戻りコードである。このパラメータは、会話が確立されたか、あるいは問題が発生したことを示し、可能なら、問題の種類を示す指示を与える。
データ・バッファの構造を第６図に示す。SymDestは、リモート機能430がそこで走行するサーバ530を含むリモート・コンピュータ405を識別する記号宛先名を表す。記号宛先名は、IBM  SNAネットワーキング・サービスが設置およびカストマイズ時に利用することができる。記号宛先名は、ALLOCATE動詞のLU_NAME、TPN、およびMODE_NAMEパラメータに対応する。UserIdはリモート・コンピュータ用のログオン・ユーザIDであり、PassWdはログオン・パスワードである。この２つの値は、カストマイズ・プロセス中に定義された指定パスワードを使用する場合に空白になることがある。TimeoutValueは、不良戻りコードrcが返される前にローカル・システム400とリモート・システム405の間に会話が確立されるのにどれだけ待つ必要があるかを指定する値である。XmitHandleは、この会話を表すために返されるハンドルである。XmitHandleは、リモート機能430への後続のあらゆるデータ転送に使用され、会話をクローズするのにも使用される。最後に、RemoteSysはオペレーティング・システムの種類に関する指示を含む。この情報によって、呼出し側はリモート・システムが、ASCII、EBCDIC、その他の文字セットのうちどれを使うのかを判定することができる。
ローカル・コンピュータ400とリモート・コンピュータ405の間の会話をクローズするには、伝送データ・サービス要求元415がルーチンBusCloseUICXmit（CcloseDataStruct,rc）を呼び出す。このルーチンは、前述のSRV_CLOSEルーチンと等価である。第１のパラメータCloseDataStructは、リモート・コンピュータ410内のリモート・データ伝送エージェント420との間の会話をクローズするのに必要なすべての入出力データを含むデータ・バッファを示す。第２のパラメータrcは、このルーチンの呼出しの戻りコードである。このパラメータは、会話が確立された、あるいは問題が発生したことを示し、可能なら、問題の種類を示す指示を与える。
データ・バッファの構造を第７図に示す。XmitHandleは、会話を表すのに使用されるハンドルである。Close Parmは、２つの値のうち１つを含むことができる割振り解除フラグである。１つの値は、他の伝送データ・サービス要求元415からの要求が保留中であり、サービス・ユニット500の待ち行列に入っている場合でも、会話をただちにクローズすべきことを示す。この値を使用すると、不良戻りコードrcが返される。第２の値は、サービス・ユニット500内の保留中のサービス要求がなくなったときだけ会話がクローズされることを示す。必要なら、closeコマンド自体を待ち行列に入れ、サービス・ユニット500内のすべてのサービス要求が処理された後に処理する。後でリモート機能430に要求が発行されても拒否され、不良戻りコードが返される。
伝送データ・サービス要求元415は、ローカル・コンピュータ400とリモート・コンピュータ405の間で会話をオープンした後、リモート機能430を利用することができる。これは、ルーチンBusUICXmit（XmitDataStruct,rc）を呼び出すことによって行われる。このルーチンは、前述のSRV_RPCルーチンと等価である。第１のパラメータXmitDataStructは、データをデータ・サービス要求元415からリモート機能430に転送するのに必要なすべての入出力データを含むデータ・バッファを指す。第２のパラメータrcは、このルーチンの呼出しの戻りコードである。このパラメータは、会話が確立された、あるいは問題が発生したことを示し、可能なら、問題の種類を示す指示を与える。
データ・バッファの構造を第８図に示す。XmitHandleは、使用する会話を表すハンドルである。XmitLibは、サーバ510内のリモート機能430があるライブラリの名前である。一部のオペレーティング・システム、たとえばCMSやMVSでは、この値は必要でない。OS/2では、この値は動的リンク・ライブラリを表す。XmitServは、リモート・コンピュータ405上で呼び出されるリモート機能430の名前である。InputBufは、伝送データ・サービス要求元415によって提供されるリモート機能430に伝送すべきデータを含む共用メモリ・ブロックのアドレスである。InputBufは、伝送データ・サービス要求元415とクライアント520の両方からアクセス可能でなければならない。InputBufLenは、InputBufによって指定されたデータ・ブロックの長さである。OutputBufは、リモート機能430から返される、データ伝送サービス要求元415が使用するデータを含む共用メモリ・ブロックのアドレスである。OutputBufも、伝送データ・サービス要求元415とクライアント520の両方からアクセス可能でなければならない。OutputBufLenは、OutputBufによって指定されるデータ・ブロックの長さである。XmitServLinkageは、XmitServの連係情報を含む。TimeoutValueは、データ伝送サービス要求元415に戻りコードrcが返されるまでに非待機要求がリモート・コンピュータ405からの応答を待つ時間の長さを指定する。不良戻りコードrcが返された後、この特定の会話のためにサービス・ユニット500の待ち行列に入っている以後のすべてのBusUICXmitサービス呼出しが終了して不良戻りコードrcを返し、会話がクローズされる。最後に、XmitServRCは、リモート・システム405上で走行するリモート機能430が完了することによってリモート伝送エージェント420に返される、リモート機能430の戻りコードである。
伝送データ・サービス要求元415がルーチンBusUICXmit（XmitDataStuct,rc）を呼び出すと、その呼出しはローカル・データ伝送エージェント410に渡される。データ伝送エージェント410は共用入力バッファにアクセスし、そのバッファに含まれるデータをリモート・データ伝送エージェント420に渡す。この転送は、周知のSNAまたはその他のデータ伝送方法を使用して行われる。リモート・データ伝送エージェント420では、着信データが他の共用メモリに渡され、別のルーチンXmitServ（InputBufAdr,InputBufLen,OutputBufAdr,OutputBufLen,rc）が呼び出される。InputBufAdrは、リモート・データ伝送エージェント420によって提供される共用データ・ブロックのアドレスである。このデータ・ブロックには、リモート機能430が必要とする入力データが供給される。このデータブロックは、BusUICXmit呼出しによってローカル・データ伝送エージェント410から渡された情報だけを含む。本発明の一実施態様では、このデータ・ブロックは、バイトの２進ストリームと解釈され、ASCII/EBCDIC変換は実行されない。別の実施態様では、この変換が実行される。InputBufLenは、InputBufAdrによって指定されるデータ・ブロックの長さである。OutputBufAdrは、リモート・データ伝送エージェント420によって提供されるデータ・ブロックを含む共用出力バッファのアドレスである。そこでリモート機能430は、そのデータを返さなければならない。このデータ・ブロックは、BusUICXmit呼出しが完了した後にローカル・データ伝送エージェント410に渡される情報だけを含む。入力時には、OutputBufLenは、呼出し側によってローカル・コンピュータ400上に供給され、OutputBufAdrによって指定される、出力データ・ブロックの長さを記憶する。出力時には、共用出力バッファがデータを保持するのに十分な大きさである場合、リモート・データ伝送エージェント420によって呼び出されたリモート機能430は、OutputBufAdrを介して実際に返されるデータ・ブロックの長さをパラメータOutputBufLenに記憶しなければならない。共用出力バッファが、リモート機能430によって実際に生成されたデータ・ブロックを格納するのに十分な大きさでない場合、このオーバーフローをデータ伝送サービス要求元415にしなければならない。これはたとえば、適切な戻りコードrcを生成し、完全なデータを保持するのに必要な長さをOutputBufLenに記憶することによって行うことができる。この値は、BusUICXmit呼出しのOutputBufLenとしてデータ伝送サービス要求元415に返される。データ伝送サービス要求元415はまた、できるだけ多くの出力データ・ブロック、すなわちOutputBufLenの入力値によって指定された数のバイトを受信する。データ伝送サービス要求元415は次に、矯正処置を実施する。XmitServルーチンの戻りコードrcは、BusUICXmitルーチンのXmitServRCパラメータとしてデータ伝送サービス要求元415に渡される。
リモート・データ伝送エージェント420が、BusUICXmit呼出しのパラメータXmitServによって指定されたリモート機能430を動的にロード、連係、および実行できるようにするために、リモート機能を、リモート・コンピュータ405上で実行内容に応じて編成しなければならない。オペレーティング・システム独立条件では、リモート機能430は、「動的リンク可能」ライブラリの要素でなければならない。BusUICXmit呼出しのパラメータXmitLibは、リモート機能430が動的に連係されるライブラリを指定する。
MVSでは、パラメータXmitLibは意味をもたない。なぜなら、リモート機能430は、周知のMVS方式（LinkLib、LPA、STEPLIBなど）で連結されたLOADライブラリのメンバであると想定されるからである。リモート・データ伝送エージェント420は、パラメータXmitServを使用して、XmitServによって、その入口点を取り出すために指定されるリモート機能430をロードし、あるいはXmitServで指定されたリモート機能430を呼び出す。
VMでは、パラメータXmitLibは意味をもたない。なぜなら、リモート機能430は、周知のVM方式で連結されたLOADライブラリのメンバであると想定されるからである。すなわち、XmitServは、GLOBAL LOADLIB loadlib_1 loadlib_2でアクセス可能になるLOADLIBの１つに含まれなければならない。ライブラリは、指定されたシーケンスで検索される。このステートメントは、カストマイズ中に適宜設定しなければならなかったユーザIDのPROFILE EXECから発行される。リモート・データ伝送エージェント420は、パラメータXmitServを使用して、XmitServによってその入口点を取り出すために指定されたリモート機能430をロードし、あるいはXmitServで指定されたリモート機能430を呼び出す。
OS/2では、パラメータXmitLibは動的リンク・ライブラリDLLを表す。リモート・データ伝送エージェント420は、パラメータXmitLibおよびXmitServを次のように使用する。まず、リモート・データ伝送エージェント420は、周知のDosLoadModuleCallを使用して、パラメータXmitLibで指定されるDLLをロードする。リモート・データ伝送エージェント420は次に、リモート機能430の入口点を得るためにパラメータXmitServに対するDosFetProcAddr呼出しを発行する。最後に、リモート・データ伝送エージェント420はリモート機能430を呼び出す。
リモート・データ伝送サービスがどう動作するのかを示すのに役立つ２つの例を挙げる。まず、ローカル・コンピュータ400のユーザが適用業務ナビゲータ450を使用したいと希望しているものと仮定する。この適用業務ナビゲータ450は、汎用オブジェクトおよびビュー・ハンドラでも、適用業務固有の適用業務ナビゲータでもよい。前述のように、適用業務ナビゲータ450は、伝送データ・サービス要求元415の１例である。第９図は、この例を例示するのに役立つ。
ローカル・コンピュータ400のユーザに、表示装置150上に表示される、一連のプレゼンテーション・フロント・エンド910aないしｃの１つが提示される。プレゼンテーション・フロント・エンド910上に、一連のアイコンが表示される。ユーザはマウス165を使用して、１つのアイコンをクリックし、それによって適用業務ナビゲータ450を呼び出す。適用業務ナビゲータ450はユーザ・インタフェース・コンダクタ920を使用して、ローカル機能プログラム930aを呼び出す（ステップ＜１＞）。ユーザ・インタフェース・コンダクタ920は、選択された処置を表すローカル機能プログラム930aを呼び出す。
ローカル機能プログラム930aが１つのリモート機能430を使用する必要があるものと仮定する。そのためには、ローカル・データ伝送エージェント410のルーチンBusOpenUICXmitを呼び出して、必要なリモート・コンピュータ405との会話を確立させる（ステップ＜２＞）。必要なリモート・コンピュータ405は、BusOpenUICXmit呼出しのパラメータSymDestによって指定される。ローカル・データ伝送エージェント410は、リモート・コンピュータ405内のリモート・データ伝送エージェント420を呼び出すことによって、LU6.2とリモート・コンピュータ405の会話を確立する。BusOpenUICXmit呼出しから戻るとき、会話が確立されており（ステップ＜３＞）、他のローカル機能プログラム930aおよび930cが共用できるハンドルXmitHandleも適用業務ナビゲータ450によって活動化される。この共用プロセスは、第９図には反映されていない。
次に、ローカル機能930aは、ローカル・データ伝送エージェント410ルーチンBusUICXmitを呼び出して、リモート機能430aにデータを渡し、このリモート機能430aを呼び出す（ステップ＜４＞）。リモート機能430aの名前およびデータは、前述のようにBusUICXmit呼出しのパラメータとして指定される。ローカル・データ伝送エージェント410は、このデータをリモート・コンピュータ405上のリモート・データ伝送エージェント420に渡す。
リモート・データ伝送エージェント420は、リモート機能430aを呼び出し（ステップ＜５＞）、リモート機能430aから戻るとき（ステップ＜６＞）、リモート・コンピュータ405からのデータをローカル・コンピュータ400に渡す。次にデータは、ローカル・データ伝送エージェント410によって呼出し側ローカル機能930aに返される（ステップ＜７＞）。ローカル機能プログラム930aは、リモート・コンピュータ430からの２進データをどのように処理するか、および他のローカル機能プログラム930b、930cのどちらがデータにアクセスするかを決定する。この例では、データが、共用メモリ領域940を介して適用業務ナビゲータ450に利用可能になっている（ステップ＜８＞）。
適用業務ナビゲータ450は、ユーザの対話によってトリガされると、他のローカル機能プログラム930aないしｃを呼び出すことができる。これらのローカル機能プログラム930aないしｃは、他のリモート機能430bを呼び出すことができる。ローカル機能プログラム930aないしｃは、リモート・コンピュータ405との会話がすでに存在していることを知っているので、ステップ＜４＞ないし＜７＞を繰り返すことができる。そのようなシナリオをステップ＜９＞ないし＜13＞に示す。これは、ローカル機能プログラム930bによる他のリモート機能430bの実行を示している。
最後に、ユーザはタスクの終了を決定する。適用業務ナビゲータ450はローカル機能プログラム930cを呼び出し、ローカル機能プログラム930cはすべてのクリーンアップ活動を呼び出すと共に、ローカル・データ伝送エージェント410内のBusCloseUICXmitルーチンを呼び出す。これによって、会話がクローズされ（ステップ＜14＞ないし＜16＞に示す）、すべてのローカル適用業務データがクリアされる。
リモート・データ伝送サービスの使用についての第２の例を第10図に示す。この例では、ユーザ・インタフェース・コンダクタ920は使用しない。なぜなら、適用業務ナビゲータ450がリモート・コンピュータ405に記憶されたデータの修正を実行しないからである。そのような使用の１例は、リモート・コンピュータ405に記憶されたリモート・データ・バンクの問合せである。
あるユーザ対話のために、適用業務ナビゲータ450が、リモート・コンピュータ405に記憶されたあるデータを必要とするものと仮定する。したがって、ステップ＜21＞で、適用業務ナビゲータ450は、ローカル・データ伝送エージェント410のルーチンBusOpenUICXmitを呼び出し、リモート・データ伝送エージェント420を呼び出すことによって、必要なLU6.2とリモート・コンピュータ405の会話を確立する。必要なリモート・コンピュータは、BusOpenUICXmit呼出しのSymDestパラメータによって指定される。ローカル・データ伝送エージェント410から戻るときに、会話が確立される（ステップ＜22＞）。
適用業務ナビゲータ450は次に、ステップ＜23＞に示すように、ローカル・データ伝送エージェント410のルーチンBusUICXmitを呼び出して、リモート機能430にデータを渡す。リモート機能430の名前とデータは、BusUICXmit呼出しのパラメータとして指定され、ローカル・データ伝送エージェント410によって、リモート・コンピュータ405上のリモート・データ伝送エージェント420に渡される。
リモート・データ伝送エージェント420は次に、ステップ＜24＞に示すようにリモート機能を呼び出す。リモート・データ伝送エージェント420は、リモート機能430から戻るとき（ステップ＜25＞）、リモート・コンピュータ405からのデータをローカル・コンピュータ400に渡す。このデータは、ローカル・データ伝送エージェント410によって呼出し側適用業務ナビゲータ450に渡される（ステップ＜26＞を参照）。呼出し側適用業務ナビゲータは、このデータをメモリ域1000に記憶し、ナビゲーションにそれを使用することができる。
最後に、ユーザはタスクの終了を決定する。適用業務ナビゲータ450は、他のクリーンアップ活動と並んで、ローカル・データ伝送エージェント410のルーチンBusCloseUICXmitを呼び出して、会話の割振りを解除し（ステップ＜27＞および＜28＞）すべてのデータをクリアする。
【図１】
0003612652.tif 000002
【図６】
0003612652.tif 000003
【図７】
0003612652.tif 000004
【図２】
0003612652.tif 000005
【図３】
0003612652.tif 000006
【図４】
0003612652.tif 000007
【図５】
0003612652.tif 000008
【図８】
0003612652.tif 000009
【図９】
0003612652.tif 000010
【図１０】
0003612652.tif 000011