JPH086880A - 通信提供方法および装置 - Google Patents

通信提供方法および装置

Info

Publication number
JPH086880A
JPH086880A JP7137732A JP13773295A JPH086880A JP H086880 A JPH086880 A JP H086880A JP 7137732 A JP7137732 A JP 7137732A JP 13773295 A JP13773295 A JP 13773295A JP H086880 A JPH086880 A JP H086880A
Authority
JP
Japan
Prior art keywords
data processing
processing system
connection
communication
application
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.)
Pending
Application number
JP7137732A
Other languages
English (en)
Inventor
Robert A Davis
ロバート・エイ・デイビス
Steven A Keller
スティーブン・エイ・ケラー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH086880A publication Critical patent/JPH086880A/ja
Pending legal-status Critical Current

Links

Classifications

    • H—ELECTRICITY
    • H04—ELECTRIC COMMUNICATION TECHNIQUE
    • H04M—TELEPHONIC COMMUNICATION
    • H04M11/00—Telephonic communication systems specially adapted for combination with other electrical systems
    • H04M11/06—Simultaneous speech and data transmission, e.g. telegraphic transmission over the same conductors

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)
  • Multi Processors (AREA)

Abstract

(57)【要約】 【目的】 データ処理システム間でデータ交換を行う方
法とシステムを提供することである。 【構成】 本発明は、第1のデータ処理システム、第2
の処理システム、および第1と第2のデータ処理システ
ムを接続する通信回線を含む。また、第1のデータ処理
システム上にある第1のインターフェースと第2のデー
タ処理システム上にある第2のデータ処理システムを含
み、第1のインターフェースは第1と第2のインターフ
ェースの間に接続を確立する手段と、第2のデータ処理
システム上のアプリケーションとの通信を要求する第1
のデータ処理システム上の各アプリケーションのために
セッションを確立する手段を備えており、第1と第2の
インターフェースはセッションが確立されたアプリケー
ション間の通信を制御する手段を備えている。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、データ処理システム間
でのデータ交換を提供する方法およびシステムに関し、
具体的にはデータ処理システム間でのモデム通信を提供
する方法およびシステムに係わる。さらに具体的には、
本発明は異なるデータ処理システム内の複数のアプリケ
ーション間でモデム通信を提供する方法およびシステム
に関する。
【0002】
【従来の技術】モデムとは、アナログ伝送をサポートす
る従来型通信回線を使用して相互接続されたコンピュー
タ、ワークステーション、およびその他の周辺装置など
のデータ処理システム間でデータを伝送するために利用
される装置である。モデムは、コンピュータのようなデ
ジタル装置から送られるデジタル・データを、従来型通
信回線で伝送するのに適したアナログ形式に変換(変
調)する。また、モデムはアナログ信号を受信してその
アナログ信号を元の形式に復元(復調)する。モデムに
はいくつかの異なる形式およびタイプのものがある。モ
デムによって伝送速度が異なる。モデムはデータ処理シ
ステムに外部または内部で接続することができる。モデ
ムは、オート・ダイヤル、被呼側モデムの自動速度検
出、被呼側モデム速度への自動切換え、エラーの検出と
訂正、データ圧縮、複数の変調方式などいくつかの機能
を備えている。
【0003】OS/2の導入により、複数のプログラム
の並行実行がプログラム開発者の関心の的になってい
る。「OS/2」は、米国ニューヨーク州アーモンクに
本拠を置くインターナショナル・ビジネス・マシーンズ
・コーポレイションの商標である。データ処理システム
におけるこのような適用例では、ネットワーク内の他の
データ処理システムからデータを収集することができ
る。1つのサイトで複数のアプリケーションを並行実行
するデータ処理システムを利用するユーザが、第2のサ
イトで複数のアプリケーションを並行実行している別の
データ処理システムからモデムを使用してデータを入手
したい場合がある。
【0004】そのような状況では、異なるデータ処理シ
ステム上で並行実行されている複数のアプリケーション
間でのデータ通信を提供するための方法とシステムがあ
れば好都合であろう。
【0005】
【発明が解決しようとする課題】したがって、本発明の
1つの目的は、データ処理システム間でデータ交換を行
う方法とシステムを提供することである。
【0006】本発明の他の目的は、データ処理システム
間でモデム通信を行う方法とシステムを提供することで
ある。
【0007】本発明の他の目的は、異なるデータ処理シ
ステム内の複数のアプリケーション間でモデム通信を行
うための方法とシステムを提供することである。
【0008】
【課題を解決する手段】前記の目的は、以下に述べるよ
うにして達成される。本発明には、2つのデータ処理シ
ステム間で通信を行うための装置が含まれる。本発明に
は、第1のデータ処理システム、第2のデータ処理シス
テム、および第1と第2のデータ処理システムを接続す
る通信回線が含まれる。また、第1のデータ処理システ
ム上にある第1のインターフェースと第2のデータ処理
システム上にある第2のインターフェースも含まれ、第
1のインターフェースには第1と第2のインターフェー
スの間で接続を確立する手段と、第2のデータ処理シス
テム上のアプリケーションとの通信を必要とする第1の
データ処理システム上の各アプリケーションのためにセ
ッションを確立する手段が含まれ、第1と第2のインタ
ーフェースには確立されたセッションを持つアプリケー
ション間の通信を制御する手段が含まれる。
【0009】好ましい実施例では、接続が終了してもセ
ッションは終了しない。セッションは終了せずに、自動
的にかまたは何らかの事象に応答して接続が再確立され
る。確立されたセッションを維持したまま、前記接続時
に、または他のデータ処理システムに接続するために、
接続を意図的に終了させることができる。
【0010】本発明の上記およびその他の諸目的、機
能、および利点は、以下の詳細な説明から明らかになる
であろう。
【0011】
【実施例】次に各図を参照して説明する。特に図1を参
照すると、本発明を用いることができるデータ処理シス
テムであるパーソナル・コンピュータ・システム10が
図示されている。図のように、パーソナル・コンピュー
タ・システム10は相互接続されたいくつかの構成要素
を含む。さらに具体的には、システム・ユニット12は
任意選択の表示装置14(従来型のビデオ・ディスプレ
イなど)に接続されており、それを駆動することができ
る。システム・ユニット12は、任意選択でPCキーボ
ード16やマウス18のような入力装置と接続すること
もできる。マウス18は左右のボタン(図示せず)を備
えている。左ボタンは一般に主選択ボタンとして使用さ
れ、第1マウス・ボタンまたはマウス・ボタン1とも呼
ばれる。右ボタンは一般には、後述するように補助機能
を選択するために使用される。右マウス・ボタンは第2
マウス・ボタンまたはマウス・ボタン2とも呼ばれる。
プリンタ20などの任意選択の出力装置もシステム・ユ
ニット12に接続することができる。最後に、システム
・ユニット12にはディスケット・ドライブ22など1
つまたは複数の大容量記憶装置を備えることができる。
【0012】以下で説明するように、システム・ユニッ
ト12はPCキーボード16、マウス18、またはロー
カル・エリア・ネットワーク・インターフェースなどの
入力装置に応答することができる。さらに、システム・
ユニット12には、フロッピー・ディスケット・ドライ
ブ22、表示装置14、プリンタ20、およびローカル
・エリア・ネットワーク通信システムなどの入出力(I
/O)装置が、周知の方法で接続される。当然のことな
がら、システム・ユニット12には他の従来型の構成要
素もデータのやり取りのために接続することができるこ
とが当業者には周知である。本発明に従うと、パーソナ
ル・コンピュータ10は、ランダム・アクセス・メモリ
(RAM)、読取り専用メモリ(ROM)、および複数
の入出力装置に相互接続されているシステム・プロセッ
サを含む。
【0013】通常の使用では、パーソナル・コンピュー
タ・システム10はサーバとして少人数のユーザ・グル
ープに対して、または単一ユーザに対して独立した計算
機能を提供し、個人または小企業購入用として手頃な価
格である。システム・プロセッサは、稼動時にはIBM
のOS/2オペレーティング・システムやDOSなどの
オペレーティング・システムの下で機能する。OS/2
はインターナショナル・ビジネス・マシーンズ・コーポ
レイションの登録商標である。このタイプのオペレーテ
ィング・システムには、入出力装置とオペレーティング
・システムとの間の基本入出力システム(BIOS)イ
ンターフェースが含まれている。BIOSは、マザーボ
ードまたはプレーナ上のROMに記憶することができ、
POSTと呼ばれるパワー・オン・セルフ・テスト・セ
クションに入っている診断ルーチンが組み込まれてい
る。
【0014】前記の構造を本発明に関連づける前に、パ
ーソナル・コンピュータ・システム10の動作の概要を
検討する価値があるだろう。図2を参照すると、本発明
に従ったパーソナル・コンピュータ・システム10の様
々な構成要素を示すパーソナル・コンピュータ・システ
ム10のブロック図が図示されている。図2にはさら
に、プレーナ11の構成要素および、プレーナ11と入
出力スロット46aないし46dおよびパーソナル・コ
ンピュータ・システム10のその他のハードウェアとの
接続が図示されている。プレーナ11には、バス制御タ
イミング装置38を介して高速CPUローカル・バス2
4によってメモリ制御ユニット50に接続されたマイク
ロ・プロセッサから成る、システム中央演算処理装置
(CPU)26が接続されている。メモリ制御ユニット
50はさらに揮発性ランダム・アクセス・メモリ(RA
M)58に接続されている。CPU26としては任意の
適切なマイクロプロセッサを使用することができるが、
1つの適合するマイクロプロセッサはインテル・コーポ
レイションが販売するペンティアム・マイクロプロセッ
サである。「ペンティアム」はインテル・コーポレイシ
ョンの商標である。
【0015】以下では本発明について特に図2のシステ
ム・ブロック図を参照して説明するが、以下の説明の前
に、本発明による装置および方法は他のハードウェア構
成のプレーナ・ボードでも使用することができると企図
されていることを理解されたい。たとえば、システム・
プロセッサはインテル80286、80386、または
80486マイクロプロセッサでもよい。これらの特定
のマイクロプロセッサは、実アドレス指定モードまたは
保護アドレス指定モードで動作することができる。各モ
ードは、マイクロプロセッサのメモリの異なる領域にア
クセスするためのアドレス指定構造を提供する。
【0016】図2に戻ると、(データ線、アドレス線、
および制御線を含む)CPUローカル・バス24は、C
PU26、任意選択の数値計算補助プロセッサ27、キ
ャッシュ・コントローラ28、およびキャッシュ・メモ
リ30の接続を行う。CPUローカル・バス24にはバ
ッファ32も接続されている。バッファ32自体が、
(CPUローカル・バスと比較して)より低速のシステ
ム・バス34に接続されており、このバスもアドレス
線、データ線、および制御線を含んでいる。システム・
バス34はバッファ32ともう1つのバッファ36との
間に延びる。システム・バス34はさらにバス制御タイ
ミング装置38とダイレクト・メモリ・アクセス(DM
A)装置40とに接続されている。DMA装置40は、
中央アービトレーション装置48とDMAコントローラ
41から成る。バッファ36は、システム・バス34と
マイクロ・チャネル・バス44などの任意選択の機構バ
スとの間のインターフェースを提供する。「マイクロ・
チャネル」はインターナショナル・ビジネス・マシーン
ズ・コーポレイションの登録商標である。バス44に
は、入出力装置またはメモリに接続できるマイクロ・チ
ャネル・アダプタ・カードを受け入れるための複数の入
出力スロット46aないし46dが接続されている。図
示の例では、入出力スロット46aにはハードディスク
・ドライブが接続されている。入出力スロット46bに
はCD−ROMドライブが接続されている。入出力スロ
ット46cにはアダプタ・カード上のROMが接続され
ている。入出力スロットにはモデムを接続することがで
きる。アービトレーション制御バス42が、DMAコン
トローラ41および中央アービトレーション装置48を
入出力スロット46およびディスケット・アダプタ82
に接続している。システム・バス34には、メモリ・コ
ントローラ52、アドレス・マルチプレクサ54、およ
びデータ・バッファ56から成るメモリ制御ユニット5
0も接続されている。メモリ制御ユニット50はさら
に、RAMモジュール58によって代表されるランダム
・アクセス・メモリに接続されている。メモリ・コント
ローラ52には、CPU26との間でアドレスをRAM
58の特定領域にマッピングするための論路回路が含ま
れている。図ではこのパーソナル・コンピュータ・シス
テム10は基本1メガバイトRAMモジュールを備えて
いるが、図2の任意選択のメモリ・モジュール60ない
し64で代表される追加のメモリを接続できることを理
解されたい。
【0017】システム・バス34とプレーナ入出力バス
68の間にもう1つのバッファ66が接続されている。
プレーナ入出力バス68は、アドレス線、データ線、お
よび制御線を含む。プレーナ・バス68に沿って、(任
意選択の表示装置14を駆動するために使用される)表
示装置アダプタ70などの様々な入出力アダプタおよび
その他の周辺装置構成要素、クロック72、不揮発性R
AM74(以下「NVRAM」と呼ぶ)、RS232ア
ダプタ76、並列アダプタ78、複数のタイマ80、デ
ィスケット・アダプタ82、PCキーボード/マウス・
コントローラ84、および読取り専用メモリ(ROM)
86が接続されている。ROM86には、多くの入出力
装置間でのユーザ透過通信を提供するBIOSが入って
いる。
【0018】クロック72は時刻計算に使用される。N
VRAM74はシステム構成データを記憶するために使
用される。つまり、NVRAMにはシステムの現在の構
成を記述する値が入れられる。たとえば、NVRAM7
4には固定ディスクまたはディスケットの容量、表示の
タイプ、メモリ量などを記述する情報が入っている。特
に重要なことであるが、NVRAM74にはシステム・
コンソール構成、すなわち、キーボード/マウス・コン
トローラ84にPCキーボードが接続されているかどう
か、表示装置コントローラが使用可能かどうか、または
RS232アダプタ76にASCII端末が接続されて
いるかどうかを記述するために使用されるデータが入れ
られる。さらに、これらのデータは特別な構成プログラ
ムが実行されるときに常にNVRAM74に記憶され
る。構成プログラムの目的は、このシステムの構成の特
性を表す値をNVRAM76に記憶することである。こ
の値は、システムの電源を切ったときに保管される。
【0019】キーボード/マウス・コントローラ84に
は、ポートAおよびBが接続されている。これらのポー
トは、PCシステムに(ASCII端末とは異なり)P
Cキーボードおよびマウスを接続するために使用する。
RS232アダプタ装置76には、RS232コネクタ
が接続される。このコネクタを介してシステムに任意選
択のASCII端末を接続することができる。
【0020】具体的には、パーソナル・コンピュータ・
システム10はIBM PS/2コンピュータやIBM
RISC SYSTEM/6000コンピュータなど
任意の適切なコンピュータを利用して実施することがで
きる。これらはどちらも米国ニューヨーク州アーモンク
に本拠を置くインターナショナル・ビジネス・マシーン
ズ・コーポレイションの製品である。「RISC SY
STEM/6000」はインターナショナル・ビジネス
・マシーンズ・コーポレイションの商標であり、「PS
/2」はインターナショナル・ビジネス・マシーンズ・
コーポレイションの登録商標である。
【0021】本発明の好ましい実施例に従うと、OS/
2はモデム・インターフェースが実施されているオペレ
ーティング・システムである。当業者は、本発明が他の
マルチタスク・オペレーティング・システムでも実施で
きることがわかるだろう。OS/2は、保護環境でプロ
グラムを並行実行する機能を提供する。このオペレーテ
ィング・システムは、データ処理システム内のシステム
資源を共用するために用いられるモデルを定義する。こ
のモデルには、セッション、プロセス、およびスレッド
と呼ばれるマルチタスク・オブジェクトの階層が含まれ
ている。セッションは、ユーザ入出力装置共用の単位で
ある。プロセスは、メモリ、ファイル、セマフォ、キュ
ー、およびスレッドなどの資源の共用の単位である。プ
ロセスはプログラムに類似している。スレッドは実行の
基本単位である。1つのプロセスは、その中で並行して
実行される複数のスレッドを含むことができる。セマフ
ォとは、システム資源へのアクセスを制御するために用
いられる実体である。プロセスが指定されたプログラミ
ング規則に従う場合、セマフォを用いてプロセスによる
資源へのアクセスをロックすることができる。OS/2
に関する詳細な情報は、1992年にアディソン−ウェ
ズレー・パブリッシング・カンパニーから発刊されたデ
イテル(Deitel)およびコーガン(Kogan)著"The Desi
gn of OS/2"のテキストに記載されている。
【0022】次に図3を参照すると、本発明の好ましい
実施例に従って、電話回線などの通信回線を介して複数
のアプリケーション間でデータを伝送するために用いら
れるソフトウェア構成要素のブロック図が図示されてい
る。データ処理システム300は、アプリケーションA
およびEと、インターフェース302を備えている。デ
ータ処理システム304には、アプリケーションB、
C、D、およびインターフェース306が含まれてい
る。データ処理システム300および304は互いにモ
デム301ならびに303および通信回線308を介し
て接続されている。通信回線としてはたとえば、複数の
データ処理システムを接続するシリアル・ケーブル、ま
たは交換通信ネットワークなどの交換ネットワークを使
用することができる。交換通信ネットワークでは、デー
タはこのネットワークを介して様々な形態で伝送するこ
とができる。データはたとえば、アナログ信号として始
まり、ある時点でデジタル信号に変換されてさらに伝送
されることができる。交換通信ネットワークは、交換ネ
ットワークを介してデータを伝送する無線通信リンクま
たはマイクロ波リンクを含むことができる。一般に、ア
プリケーションAがアプリケーションBないしDとの間
でデータを送受信するためには、アプリケーションAは
それらのアプリケーションの1つとのセッションを開始
し、データ処理システム304内の別のアプリケーショ
ンとのデータ交換を開始する前にそのアプリケーション
とのすべてのデータ交換を完了しなければならない。本
発明によると、同時に複数のセッションが存在できる。
たとえば、アプリケーションAがアプリケーションDと
セッションを持っているほかに、同じ通信回線を介した
別のセッションでアプリケーションEがアプリケーショ
ンCと通信することができる。
【0023】本発明は、アプリケーションAがアプリケ
ーションB、C、およびDと同時に通信する機能を提供
する。アプリケーションAは、MNCallのような同
期呼出し機能を使用して複数のアプリケーションのそれ
ぞれを呼び出す。この特定の機能については以下で詳し
く述べる。すべてのアプリケーションが呼び出されセッ
ションが確立されると、「タイム・スライシング」に類
似した方法でアプリケーションAとアプリケーション
B、C、およびDとの間でデータを送信することができ
る。タイム・スライシングとは、マルチタスク環境で資
源を共用するために用いられる手法である。ある時点
で、アプリケーションAはデータ処理システム304内
の1つまたは複数のアプリケーションとの通信を終了す
ることができる。しかも、同時にEがDと通信すること
ができる。
【0024】次に図4を参照すると、本発明の好ましい
実施例による、図3のインターフェース302または3
06のようなインターフェースのブロック図が図示され
ている。インターフェース302には、インターナショ
ナル・ビジネス・マシーンズ・コーポレイションから市
販のアダプティブ・ツール・プラットフォーム(AT
P)312が含まれる。ATP312は、図3のアプリ
ケーションAのようなアプリケーションからコマンドと
データの要求を受信する。ATP312はネットワーク
・モジュール314またはMNモジュール316を用い
て、別のデータ処理システムにデータを伝送する。ネッ
トワーク・モジュール314は、データ処理システムが
ネットワークに接続されているときに用いられる。MN
モデム・ネットワーク・モジュールは、ネットワークに
接続されていない別のデータ処理システムと通信するた
めに用いられる。図のように、MNモジュールは通信回
線308を介してデータを送信する。
【0025】本発明では、複数セッションを使用するこ
とができる。「セッション」とは、通信回線308のよ
うな通信回線などの物理リンクを介したアプリケーショ
ン間の論理リンクである。このようなセッションでの通
信は、ヘッダを持つデータのブロックを通信回線を介し
て伝送することによって処理される。このセッションの
使用法は、コンピュータ・ネットワーク・システムにお
ける使用法と類似している。本発明の好ましい実施例に
従うと、通信回線によって提供される物理通信が失われ
たり切断されたりした場合、インターフェースによって
確立されたセッションは終了しない。たとえば、1つの
データ処理システム通信回線を切っても、データ処理シ
ステム内のアプリケーションの間のセッションは終了し
ない。アプリケーションがセッションで別のアプリケー
ションにデータを送信したいとき、本発明は通信回線を
介して接続またはリンクが再確立されるようにして、相
手側のアプリケーションにデータを送信する。
【0026】さらに、選択された時間のあいだ非活動状
態になっていた後でデータ処理が通信回線から自身を切
断するように、タイムアウトを設定することができる。
前記のように、アプリケーションがセッションを共用す
る別のアプリケーションにデータを送信したいときは、
本発明は通信回線を介して接続を再確立してデータを送
信する。これはすべて、進行中の論理セッションを終了
することなく行われる。この機能は、1つのデータ処理
システムのアプリケーションから別のデータ処理システ
ムの別のアプリケーションにデータを送信するたびにセ
ッションを確立し直す必要がなく、長距離通信回線の通
話料金を削減する方法をユーザに提供する。
【0027】接続の再確立を構成ファイルで事前設定し
て一方のデータ処理システムがつねに接続の再確立を試
みるようにすることもできるし、情報を交換してどちら
側のデータ処理システムでも接続を再確立することがで
きるように情報を交換することもできる。
【0028】次に図5を参照すると、本発明の好ましい
実施例による通信構成データ構造が図示されている。デ
ータ構造500はCOMMCFGとも呼ばれ、ボー・レ
ート、パリティなど、COMポートに関連するパラメー
タを含んでいる。図6において、データ構造600はモ
デム・ネットワーク制御ブロックである。本発明ではこ
のデータ構造を用いてセッションのための情報を格納す
る。図7において、データ構造700はモデム・ネット
ワークAPIがCOMポートを介してデータを送信する
ときに用いるヘッダである。図8のデータ構造800
は、モデム・ネットワークAPIがトランザクションを
待ち行列化するために使用するトランザクション構造M
N_TRANSACTである。図9のデータ構造900
は、活動セッションを追跡するために使用される。図5
ないし図9に示すこれらのデータ構造はC言語形式であ
り、以降の各図に示されている様々なプロシージャで通
信回線の複数セッションを使用できるようにするために
利用される。
【0029】以下で説明する各フローチャートは、電話
回線など単一の標準アナログ通信回線を介した複数のセ
ッション間での複数セッション・データ交換をサポート
するために用いられる関数を図示したものである。
【0030】AsyncOpenPortは、たとえば
ボー・レート、パリティなどCOMポートに関連するパ
ラメータを設定するために用いられる関数である。この
関数はCOMMCFG構造を指すポインタを必要とす
る。この関数はこの構造に入っている情報を取り出し、
後で使用するためにグローバル・コピーを保管する。ま
たこの関数は、COMMCFG構造に入っているパラメ
ータを設定するCOMポートもオープンする。さらに、
この関数は発呼側にエラーを戻す。図10を参照する
と、本発明の好ましい実施例に従ってAsyncOpe
nPortがたどるプロセスのフローチャートが図示さ
れている。この関数は、ブロック1001で、COMポ
ートに関連するパラメータを確立する。その後、ブロッ
ク1003で、この関数はCOMMCFG構造を指すポ
インタを入手する。ブロック1005で、この関数はこ
の情報のグローバル・コピーを保管する。次に、ブロッ
ク1009で、この関数はCOMMCFG構造に入って
いるパラメータを設定するCOMポートをオープンす
る。
【0031】AsyncClosePortは、COM
ポートをクローズしてそのポートに関連するデータをク
リーン・アップするために用いられる関数である。この
関数に関連するパラメータはない。図11を参照する
と、本発明の好ましい実施例に従ってAsyncClo
sePort関数がたどるプロセスのフローチャートが
図示されている。ブロック1101で、この関数はCO
Mポートをクローズする。その後、ブロック1103
で、COMポートに関連するデータがクリーン・アップ
される。データのクリーン・アップには、COMポート
に関連するデータを格納するためのメモリおよびバッフ
ァの解放が必要である。
【0032】AsyncCallは、モデムにコマンド
を送信するために用いられる関数である。モデムに送信
されるこれらのコマンドは、COMMCFG構造に定義
されている番号をダイヤルするのに必要なコマンドであ
る。AsyncCall関数は入力パラメータを含まな
い。その代わりに、グローバル通信データ構造からの情
報が使用される。
【0033】次に図12を参照すると、本発明の好まし
い実施例に従ってAsyncCall関数が用いるプロ
セスのフローチャートが図示されている。ブロック12
01で、この関数は接続が直接接続であるかどうかを判
別する。直接接続がない場合、この関数はブロック12
03でCOMポート・モデム入出力信号を入手する。
【0034】その後、ブロック1205で、この関数は
データ・キャリア検出(DCD)標識が設定されている
かどうかを判別する。DCD標識が設定されていれば、
モデムが接続されていることを示している。この判別の
答えがNOであれば、この関数はブロック1207で、
番号をダイヤルするのに必要なコマンドをモデムに送
る。次に、ブロック1209でこの関数はCOMポート
を読み取ってモデム接続状況がないか探す。ブロック1
211で、発呼側にモデム接続状況が戻されるとこの関
数は終了する。
【0035】再びブロック1201を参照すると、直接
接続がある場合はこの関数は図1213で呼出しが成功
したという標識を戻す。ブロック1205を再び参照す
ると、DCD標識が設定されている場合も、ブロック1
213でこの関数は呼出しが成功したという標識を戻
す。
【0036】モデムに呼出しを接続終了させるためにA
syncHangup関数が用いられる。この特定の関
数にはパラメータはない。情報はメモリに格納されてい
るグローバル通信構成構造から入手する。図13を参照
すると、本発明の好ましい実施例に従ってAsyncH
angup関数が用いるプロセスの高水準フローチャー
トが図示されている。ブロック1301でまず、この関
数は直接接続が存在するかどうかを判別する。直接接続
がなければ、この関数はブロック1303でCOMポー
ト・モデム入力信号を入手する。その後、ブロック13
05で、この関数はDCD標識が設定されているかどう
かを判別する。DCD標識が設定されていない場合は、
ブロック1307で、この関数はコマンドを送ってモデ
ムを接続終了させる。
【0037】再びブロック1301を参照すると、接続
が直接接続である場合、ブロック1309でプロセスは
接続終了が成功したという標識を戻す。再びブロック1
305を参照すると、DCD標識が設定されていない場
合は、ブロック1309でプロセスは接続終了が成功し
たという標識を戻す。
【0038】オープン関数MNOPEN(PMNCD
pMNCD)は、モデム・ネットワーク制御ブロック
(MNCB)を空にし、事象セマフォを作成する。「事
象セマフォ」は、アクションが完了したかどうかまたは
事象が発生したかどうかを示すことによって並行処理を
同期化するための共用変数として用いられるものであ
る。図14を参照すると、本発明の好ましい実施例に従
ってオープン関数が用いるプロセスのフローチャートが
図示されている。ブロック1401で、オープン関数は
制御ブロックをゼロに初期設定する。次にこの関数は、
ブロック1403で、セッションに関連づけるための事
象セマフォを作成する。ブロック1405で、この関数
は発呼側に状況が戻された後で終了する。
【0039】クローズ関数MNCLOSE(PMNCB
pMNCB)は、事象セマフォをクローズする。PM
NCBは構造タイプであり、PMNCBはタイプの名前
である。図15を参照すると、本発明の好ましい実施例
に従ってクローズ関数が用いるプロセスのフローチャー
トが図示されている。ブロック1501でまず、この関
数は事象セマフォをクローズする。その後、ブロック1
503で、このプロセスは発呼側に状況を戻すことによ
って終了する。
【0040】聴取APIであるMNListen(PM
NCB pMNCB)は、呼出しを受信するまで、また
は別のスレッドによってコマンドが取り消されるまで、
あるいは重大なエラーが検出された場合に発呼側を中断
させる。聴取APIを使用するときは、pMNCBパラ
メータが指すMNCBの名前フィールドに聴取側の名前
が指定されていなければならない。
【0041】次に図16を参照すると、本発明の好まし
い実施例に従って聴取APIが用いるプロセスのフロー
チャートが図示されている。ブロック1601でまず、
このプロセスは関連する事象セマフォをリセットする。
ブロック1603で、このプロセスはトランザクション
構造であるMN_TRANSACTにデータを入れる。
次に、ブロック1605で、このプロセスはトランザク
ション・コマンド・フィールドを、聴取を示すように設
定する。次に、ブロック1609で、このプロセスはト
ランザクション・アクション・フィールドを、受信を示
すように設定する。ブロック1609で、トランザクシ
ョン構造がトランザクション・リストに追加される。
【0042】その後、ブロック1611で、このプロセ
スは関連する事象セマフォでブロックする。関連する事
象セマフォでブロックすることは、事象セマフォに関連
するトランザクションが事象の発生を待つことを意味
し、この場合、事象は事象セマフォによって示される。
本質的には、トランザクションは事象セマフォが「クリ
ア」されるのを待つ。次にこのプロセスは、ブロック1
613で、トランザクション状況が取消し状況であるか
どうかを判別する。トランザクション状況が取消し状況
でない場合、このプロセスはブロック1615で、遠隔
セッション番号を送信側のセッション番号に設定する。
次にこのプロセスは、ブロック1617で、次のローカ
ル・セッション番号を入手し、接続リストを探索して、
そのローカル・セッション番号が使用中でないことを確
認する。ブロック1619で、このプロセスはローカル
・セッション番号を、次に見つかった使用可能なセッシ
ョン番号に設定する。
【0043】次に、ブロック1621で、セッション構
造にローカル・セッション番号と遠隔セッション番号が
入れられる。ブロック1623で、このプロセスはセッ
ション構造を接続リストに追加する。接続リストは、リ
スト内のセッション構造によって示されている接続のリ
ストである。次に、このプロセスはブロック1625で
コマンド応答を示す。ブロック1627で、このプロセ
スはトランザクション状況を、成功を示すように設定す
る。その後、ブロック1629で、このプロセスはトラ
ンザクション・アクション・フィールドを送信を示すよ
うに設定する。次に、ブロック1631で、書込みスレ
ッド事象セマフォをポストするプロセスによって書込み
が開始される。セマフォのポストは、事象セマフォに関
連するスレッドによる書込み操作などのアクションを開
始する事象が発生したことを示すために行われる。次に
このプロセスは、ブロック1633でモデム・ネットワ
ーク制御ブロック状況を成功を示すように設定する。こ
のプロセスは、ブロック1635で発呼側に状況を戻す
ことによって終了する。
【0044】再びブロック1613を参照すると、トラ
ンザクション状況が取消しの場合、このプロセスはブロ
ック1637でトランザクション・リストからそのトラ
ンザクションを除去する。次に、ブロック1639で、
このプロセスはエラーが発生してAPIコマンドが取り
消されたという標識を戻して終了する。
【0045】呼出しAPIであるMNCall(PMN
CB pMNCB、PUCHARCalledNam
e)は、CalledNameパラメータで指定された
名前とのセッションを確立するために用いられる。この
呼出しAPIコマンドは、AsyncCall API
を呼び出して接続を確立し、次にCOM回線を介して要
求を送出する。
【0046】図17および図18を参照すると、本発明
の好ましい実施例に従って呼出しAPIが用いるプロセ
スのフローチャートが図示されている。API呼出しは
プロシージャとも呼ばれる。ブロック1701でまず、
このプロセスは呼び出される名前であるCalledN
ameの長さが一定の事前設定限界よりも長いかどうか
を判別する。呼び出される名前が限界よりも長くない場
合、このプロセスはブロック1703で、必要であれば
呼出しを行うためにAsynCall関数を呼び出す。
直接接続を用いるときは呼出しは不要である。
【0047】次にこのプロセスは、ブロック1705
で、次のローカル・セッション番号を入手し、接続リス
トを探索して、そのローカル・セッション番号が使用中
でないことを確認する。ブロック1707で、このプロ
セスはローカル・セッション番号を、使用可能な次のロ
ーカル・セッション番号に設定する。ブロック1709
で、このプロセスはこのセッションに関連する事象セマ
フォをリセットする。
【0048】次に、ブロック1711で、このプロセス
はトランザクション構造MN_TRANSACTにデー
タを入れる。ブロック1713で、このプロセスはトラ
ンザクション・コマンド・フィールドを接続を示すよう
に設定する。その後、ブロック1715で、このプロセ
スはトランザクション・アクション・フィールドを送信
を示すように設定する。ブロック1717で、トランザ
クション・データ・フィールドはこのプロセスによって
CalledNameに設定される。次に、ブロック1
719でこのプロセスはトランザクション・データ・サ
イズ・フィールドであるDataSizeを、発呼側の
名前パラメータのストリング長に設定する。
【0049】ブロック1721で、トランザクション構
造がトランザクション・リストに追加される。プロセス
は、ブロック1723で書込みスレッド事象セマフォを
ポストすることによって書込みを開始する。ブロック1
725で、関連する事象セマフォでのブロックが実行さ
れる。次に、ブロック1727で、トランザクション状
況フィールド内のトランザクション状況が取消し済みを
示しているかどうかが判別される。この判別の答えがN
Oであれば、ブロック1729でプロセスはトランザク
ション状況が成功であるかどうかを判別する。トランザ
クション状況が成功でない場合、ブロック1731でプ
ロセスはトランザクション状況を示すように状況を設定
する。その後、プロセスはブロック1733でトランザ
クション・リストからこのトランザクションを除去す
る。次にプロセスは、ブロック1737で、発呼側に状
況を戻した後で終了する。
【0050】ブロック1729に戻って参照すると、ト
ランザクション状況が成功の場合、ブロック1739で
プロセスは遠隔セッション番号を送信側のセッション番
号に設定する。次にプロセスは、ブロック1741でセ
ッション構造にローカル・セッション番号と遠隔セッシ
ョン番号を入れる。次に、ブロック1743でプロセス
は接続リストにセッション構造を追加した後で終了す
る。
【0051】再びブロック1727を参照すると、トラ
ンザクション状況が取消しの場合、ブロック1745で
プロセスはトランザクション・リストからそのトランザ
クションを除去する。次に、ブロック1747でプロセ
スはトランザクションが取り消されたという標識を戻し
た後で終了する。
【0052】再度ブロック1701を参照すると、呼び
出された名前の長さが限界値よりも大きい場合、ブロッ
ク1749でプロセスは名前が長すぎることを示すエラ
ーを戻した後で終了する。
【0053】送信関数であるMNSend(PMNCB
pMNCB、PVOIDバッファ、ULONGバイ
ト)は、PMNCBパラメータで指定された接続にデー
タのブロックを送信する。図19を参照すると、本発明
の好ましい実施例に従って送信関数が用いるプロセスの
フローチャートが図示されている。このプロセスは、ブ
ロック1801でまず、PMNCBパラメータに入って
いるローカル・セッション番号と一致するローカル・セ
ッション番号がないか接続リストを探索する。次にプロ
セスは、ブロック1803で一致する番号があるかどう
かを判別する。一致する番号があれば、ブロック180
5でプロセスはこのトランザクションに関連する事象セ
マフォをリセットする。
【0054】次に、ブロック1807で、プロセスはト
ランザクション構造MN_TRANSACTにデータを
入れる。その後、ブロック1809でプロセスは送信を
示すようにトランザクション・コマンド・フィールドを
設定する。次に、ブロック1811で、プロセスは送信
を示すようにトランザクション・アクション・フィール
ドを設定する。次に、ブロック1813でプロセスは、
トランザクション・データ・フィールドをバッファ・パ
ラメータに設定する。ブロック1815で、トランザク
ション・データ・サイズ・フィールドであるDataS
izeがバイト数パラメータに設定される。ブロック1
817で、トランザクション構造がトランザクション・
リストに追加される。次に、ブロック1819で、プロ
セスは書込みスレッド・セマフォをポストすることによ
って書込みを開始する。次に、ブロック1821でプロ
セスは関連する事象セマフォでブロックする。ブロック
1823で、状況フィールドが設定されてトランザクシ
ョン状況を示す。次に、ブロック1825でこのトラン
ザクションがトランザクション・リストから除去され
る。次に、ブロック1827で、プロセスは発呼側に状
況を戻した後で終了する。
【0055】再びブロック1803を参照すると、一致
する番号が見つからない場合、ブロック1829でプロ
セスは無効セッションエラーを戻した後で終了する。
【0056】受信関数であるMNReceive(PM
NCB pMNCB、PVOIDバッファ、ULONG
バイト)は、pMNCBパラメータで指定された接続か
らデータのブロックを受信する。図20および21を参
照すると、本発明の好ましい実施例に従って受信関数が
用いるプロセスのフローチャートが図示されている。
【0057】このプロセスは、ブロック1901でま
ず、pMNCMパラメータに入っているローカル・セッ
ション番号と一致するローカル・セッション番号を接続
リストで探索する。ブロック1903で、一致が見つか
るかどうかの判別が行われる。一致する番号が見つかる
と、ブロック1905でプロセスはこのセッションに関
連する事象セマフォをリセットする。次に、ブロック1
907でプロセスはトランザクション構造MN_TRA
NSACTにデータを入れる。ブロック1909で、ト
ランザクション・コマンド・フィールドが受信を示すよ
うに設定される。
【0058】次に、ブロック1911でプロセスはトラ
ンザクション・アクション・フィールドを受信を示すよ
うに設定する。ブロック1913で、トランザクション
・データ・フィールドがバッファ・パラメータに設定さ
れる。次に、ブロック1915で、プロセスはトランザ
クションDataSizeフィールドをバイト数パラメ
ータに設定する。その後、ブロック1917で、トラン
ザクション構造がトランザクション・リストに追加され
る。次に、ブロック1919で、プロセスは関連する事
象セマフォでブロックする。次に、ブロック1921
で、プロセスはトランザクション状況フィールド内のト
ランザクション状況が取消し状況かどうかを判別する。
【0059】トランザクション状況が取消しでない場
合、プロセスはブロック1923で、コマンド応答を示
す。次に、ブロック1925でプロセスはトランザクシ
ョン状況フィールドを成功を示すように設定する。ブロ
ック1927で、プロセスはトランザクション状況フィ
ールドを成功を示すように設定する。次に、ブロック1
929でトランザクション・アクションフィールドが送
信を示すように設定される。ブロック1931で、プロ
セスは書込みスレッド事象セマフォをポストして書込み
を開始する。ブロック1933で、プロセスは発呼側に
成功の標識を戻した後で終了する。
【0060】再びブロック1921を参照すると、トラ
ンザクション状況が取消しの場合、プロセスはブロック
1935で、トランザクション・リストからそのトラン
ザクションを除去する。次に、ブロック1937でプロ
セスはトランザクションが取り消されたという標識を戻
した後で終了する。
【0061】ブロック1903に戻って参照すると、一
致する番号がない場合、ブロック1939でプロセスは
発呼側に無効セッション・エラーを戻した後で終了す
る。
【0062】接続終了関数であるMNHangup(P
MNCB pMNCB)は、確立されているセッション
を接続終了させる。図22および23を参照すると、本
発明の好ましい実施例に従って接続終了関数を用いるプ
ロセスのフローチャートが図示されている。ブロック2
001でまず、接続終了関数はpMNCBパラメータに
入っているローカル・セッション番号と一致するローカ
ル・セッション番号が接続リストにないか探索する。ブ
ロック2003で、一致する番号が存在するかどうか判
別が行われる。一致する番号があれば、ブロック200
5で接続リストからその接続要素が除去される。ブロッ
ク2007で、関連する事象セマフォがリセットされ
る。
【0063】その後、ブロック2009で、このプロセ
スはトランザクション構造にデータを入れる。ブロック
2011で、トランザクション・コマンド・フィールド
が接続終了を示すように設定される。次に、ブロック2
013でトランザクション・アクション・フィールドが
送信を示すように設定される。次に、ブロック2015
でプロセスはトランザクション構造をトランザクション
・リストに追加する。ブロック2017でプロセスが書
込みスレッド事象セマフォをポストすることによって書
込みを開始する。次に、プロセスはブロック2019
で、一致するローカル・セッション番号を持つpMNC
Bがないかトランザクション・リストを探索する。
【0064】ブロック2021で、一致するローカル・
セッション番号があるかどうかの判別が行われる。一致
するローカル・セッション番号がなければ、ブロック2
023でプロセスは関連するセマフォをブロックする。
次に、ブロック2025でプロセスはトランザクション
状況フィールドを設定してトランザクション状況を示
す。ブロック2027で、トランザクション・リストか
らそのトランザクションが除去される。プロセスは次
に、ブロック2029で発呼側に状況を戻した後で終了
する。
【0065】再びブロック2021を参照すると、一致
するローカル・セッション番号がある場合、プロセスは
ブロック2031で、状況を取消しを示すように設定す
る。次にプロセスは、ブロック2033で関連する事象
セマフォをポストした後で終了する。
【0066】ブロック2003を参照すると、pMNC
Bパラメータ内のローカル・セッション番号と一致する
ローカル・セッション番号を接続リストで探索している
ときに一致する番号が見つからない場合、プロセスはブ
ロック2035で発呼側に無効セッション・エラーを戻
した後で終了する。
【0067】取消しコマンドであるMNCancel
(PMNCB pMNCB)は、コマンドを探し出し
て、コマンド取消し状況のコマンドの所有者を覚醒させ
ようとする。図24を参照すると、本発明の好ましい実
施例に従って、取り消されたコマンドを用いるプロセス
のフローチャートが図示されている。このプロセスは、
ブロック2101でトランザクション・リストでpMN
CBを探索することから開始する。ブロック2103
で、pMNCBがあるかどうかの判別が行われる。pM
NCBがなければ、ブロック2105で発呼側にその状
況が戻される。
【0068】再びブロック2103を参照すると、この
判断ブロックの答えがYESの場合、ブロック2107
で、プロセスは取消しを示すように状況を設定する。次
に、ブロック2105で、アクションが送信保留を示し
ているかどうかの判別が行われる。答えがYESであれ
ば、プロセスは終了する。この判別の答えがNOであれ
ば、ブロック2111でプロセスは関連する事象セマフ
ォをポストした後で終了する。
【0069】本発明の好ましい実施例に従って、データ
は実際には読取りスレッドと書込みスレッドを使って読
み書きされる。読み書きスレッドの実施態様は、添付図
のコードに記載されている。このコードはC言語で書か
れている。
【0070】各図に図示されているプロセスは、当業者
が図1および図2に図示するデータ処理システム内で実
施することができる。また、本発明のプロセスはデータ
処理システムによって読取り可能なプログラム記憶装置
内で実施することができる。この場合、プログラム記憶
装置は、本発明のプロセス用の、データ処理システムで
実行可能な命令コーディングをコード化する。プログラ
ム記憶装置は、たとえばハードディスク・ドライブ、フ
ロッピー・ディスク、光ディスク、ROM、EPROM
など、当業者に周知の様々な形態をとることができる
が、それだけに限定されるものではない。プログラム記
憶装置に記憶されたプロセスは、そのプログラム記憶装
置をデータ処理システムとともに使用することによって
活動化されるまで休止している。たとえば、データ処理
システムで実行可能な本発明のための命令が入っている
ハードディスク・ドライブは、データ処理システムに接
続することができる。データ処理システムで実行可能な
本発明のための命令が入っているフロッピー・ディスク
は、データ処理システム内のフロッピーディスク・ドラ
イブに挿入することができる。または、データ処理シス
テムで実行可能な本発明のための命令が入っているRO
Mは、入出力スロットに接続されたカードまたはアダプ
タを介してデータ処理システムに接続することができ
る。
【0071】本発明について、好ましい実施例を参照し
ながら具体的に図示し説明したが、本発明の意図および
範囲を逸脱することなく本発明の態様および詳細に様々
な変更を加えることができることが当業者には理解され
よう。
【0072】まとめとして、本発明の構成に関して以下
の事項を開示する。
【0073】(1)第1のデータ処理システム上に発呼
側アプリケーションがあり、第2のデータ処理システム
上に複数のアプリケーションがある、アプリケーション
間での通信を提供するための方法であって、発呼側アプ
リケーションから要求を受け取って、第2のデータ処理
システム上で並行して実行されている複数のアプリケー
ションと通信するステップと、通信回線を介して第1と
第2のデータ処理システムの間の接続を確立するステッ
プと、発呼側アプリケーションと複数のアプリケーショ
ン内の各アプリケーションとの間でセッションを確立す
るステップと、通信回線を利用して発呼側アプリケーシ
ョンと複数のアプリケーションのそれぞれとの間で、セ
ッションを終了する必要なしに通信を提供するステップ
を含む方法。 (2)第1と第2のデータ処理システムの間の接続を確
立するステップが、第1と第2のデータ処理システムの
間の接続を確立するステップを含み、通信回線がシリア
ル・ケーブルであることを特徴とする、上記(1)に記
載の方法。 (3)第1と第2のデータ処理システムの間の接続を確
立するステップが、第1と第2のデータ処理システムの
間の接続を確立するステップを含み、通信回線が交換通
信ネットワークであることを特徴とする、上記(1)に
記載の方法。 (4)接続を終了するコマンドに応答して、セッション
を終了することなく接続を終了するステップをさらに含
む、上記(1)に記載の方法。 (5)第1と第2のデータ処理システムの間に通信回線
を介した通信がないことに応答して接続を終了するステ
ップをさらに含む、上記(1)に記載の方法。 (6)発呼側アプリケーションが第2のデータ処理シス
テム上の複数のアプリケーションの1つにデータの送信
を試みることに応答して、接続を再確立するステップを
さらに含む、上記(5)に記載の方法。 (7)2つのデータ処理システム間での接続を提供する
ための装置であって、第1のデータ処理システムと、第
2のデータ処理システムと、第1と第2のデータ処理シ
ステムを接続する通信回線と、第1のデータ処理システ
ム上にある第1のインターフェースと、第2のデータ処
理システム上にある第2のインターフェースとを含み、
第1のインターフェースが、第1と第2のインターフェ
ースの間の接続を確立する手段と、第2のデータ処理シ
ステム上のアプリケーションとの通信を必要とする第1
のデータ処理システム上の各アプリケーションのために
セッションを確立する手段とを備えることならびに第1
および第2のインターフェースが、確立されたセッショ
ンを持つアプリケーション間の通信を制御する手段を備
えることを特徴とする装置。 (8)前記の第1および第2のインターフェースが、所
定の時間のあいだ通信回線を介した通信がない場合に接
続を終了するタイム・アウト手段を備えており、確立さ
れたセッションが接続の終了に応答して終了しないこと
を特徴とする、上記(7)に記載の装置。 (9)前記の第1と第2のインターフェースが、第1の
データ処理システム上のアプリケーションが第2のデー
タ処理システム上のアプリケーションと通信しようと試
みることに応答して接続を再確立する手段を備えること
を特徴とする、上記(7)に記載の装置。 (10)通信回線がシリアル・ケーブルであることを特
徴とする、上記(7)または(8)に記載の装置。 (11)通信回線が交換ネットワークであることを特徴
とする、上記(7)、(9)または(10)に記載の装
置。 (12)第1のデータ処理システム上に発呼側アプリケ
ーションがあり、第2のデータ処理システムに複数のア
プリケーションがある、アプリケーション間の通信を提
供するための装置であって、第2のシステム上で並行し
て実行されている複数のアプリケーションの少なくとも
1つとの通信を求める要求を発呼側アプリケーションか
ら受け取るための受信手段と、第1と第2のデータ処理
システムの間の通信回線を介した接続を確立するための
第1の確立手段と、発呼側アプリケーションと複数のア
プリケーション内の各アプリケーションとの間でセッシ
ョンを確立するための第2の確立手段と、アプリケーシ
ョン間で通信が効率的に提供されるように、通信回線を
利用して発呼側アプリケーションと複数のアプリケーシ
ョンのそれぞれとの間で、セッションを終了する必要な
しに通信を提供する通信手段とを含む装置。 (13)通信回線がシリアル・ケーブルであることを特
徴とする、上記(12)に記載の装置。 (14)通信回線が交換通信ネットワークであることを
特徴とする、上記(12)に記載の装置。 (15)接続を終了するコマンドに応答して、セッショ
ンを終了することなく接続を終了するための終了手段を
さらに含むことを特徴とする、上記(12)に記載の装
置。 (16)第1と第2のデータ処理システムの間に通信回
線を介した通信がないことに応答して接続を終了するた
めの終了手段をさらに含むことを特徴とする、上記(1
2)に記載の装置。 (17)第1の確立手段が、発呼側アプリケーションが
第2のデータ処理システム上の複数のアプリケーション
の1つにデータを送信しようと試みることに応答して、
接続を再確立することを特徴とする、上記(16)に記
載の装置。 (18)交換通信ネットワークを使用して第1のデータ
処理システムと第2のデータ処理システムの間の通信を
提供する方法であって、第2のデータ処理システム上の
第2のアプリケーションとの通信を求める要求を、第1
のデータ処理システム上の第1のアプリケーションから
受信するステップと、第1のデータ処理システムに接続
された第1のモデムおよび第2のデータ処理システムに
接続された第2のモデムを使用し、交換通信ネットワー
クを介して第1と第2のデータ処理システムの間で接続
を確立するステップと、通信回線を介して第1と第2の
アプリケーションの間で第1のセッションを確立するス
テップと、交換通信ネットワークを介した複数同時セッ
ションがサポートされるように、第1のデータ処理シス
テム上の第3のアプリケーションと第2のデータ処理シ
ステム上の第4のアプリケーションの間、または第1の
アプリケーションと第4のアプリケーションの間で、第
2のセッションを確立するステップを含む方法。 (19)第1と第2のデータ処理システムの間の接続の
終了に応答して、第1と第2のセッションを維持するス
テップをさらに含む、上記(18)の方法。 (20)第1のデータ処理システム上の第1のアプリケ
ーションが第2のデータ処理システム上のアプリケーシ
ョンとの通信を試みることに応答して、接続を再確立す
ることをさらに含む、上記(19)に記載の方法。 (21)セッションを終了するコマンドに応答して接続
を終了するステップをさらに含む、上記(19)に記載
の方法。 (22)第1のデータ処理システム内および第2のデー
タ処理システム内のアプリケーション間に事前選択され
た時間のあいだ通信がないことに応答して、接続を終了
するステップをさらに含む、上記(19)に記載の方
法。
【図面の簡単な説明】
【図1】本発明を用いることができるパーソナル・コン
ピュータの形態のデータ処理システムの図である。
【図2】本発明に従ってパーソナル・コンピュータの様
々な構成要素を図示した、パーソナル・コンピュータ・
システムのブロック図である。
【図3】本発明の好ましい実施例に従って複数のアプリ
ケーション間で電話回線を介してデータを伝送するため
に用いられる、ソフトウェア構成要素のブロック図であ
る。
【図4】図3に図示したインターフェースのブロック図
である。
【図5】本発明の好ましい実施例による通信構造の図で
ある。
【図6】モデム・ネットワーク制御ブロックデータ構造
の図である。
【図7】ヘッダであるデータ構造の図である。
【図8】トランザクションを待ち行列に入れるために使
用するトランザクション構造の図である。
【図9】活動セッションをトラックするために用いるデ
ータ構造である。
【図10】本発明の好ましい実施例に従って電話回線を
介して複数のセッションを提供するために用いるプロセ
スのフローチャートである。
【図11】本発明の好ましい実施例に従って電話回線を
介して複数のセッションを提供するために用いるプロセ
スのフローチャートである。
【図12】本発明の好ましい実施例に従って電話回線を
介して複数のセッションを提供するために用いるプロセ
スのフローチャートである。
【図13】本発明の好ましい実施例に従って電話回線を
介して複数のセッションを提供するために用いるプロセ
スのフローチャートである。
【図14】本発明の好ましい実施例に従って電話回線を
介して複数のセッションを提供するために用いるプロセ
スのフローチャートである。
【図15】本発明の好ましい実施例に従って電話回線を
介して複数のセッションを提供するために用いるプロセ
スのフローチャートである。
【図16】本発明の好ましい実施例に従って電話回線を
介して複数のセッションを提供するために用いるプロセ
スのフローチャートである。
【図17】本発明の好ましい実施例に従って電話回線を
介して複数のセッションを提供するために用いるプロセ
スのフローチャートである。
【図18】本発明の好ましい実施例に従って電話回線を
介して複数のセッションを提供するために用いるプロセ
スのフローチャートである。
【図19】本発明の好ましい実施例に従って電話回線を
介して複数のセッションを提供するために用いるプロセ
スのフローチャートである。
【図20】本発明の好ましい実施例に従って電話回線を
介して複数のセッションを提供するために用いるプロセ
スのフローチャートである。
【図21】本発明の好ましい実施例に従って電話回線を
介して複数のセッションを提供するために用いるプロセ
スのフローチャートである。
【図22】本発明の好ましい実施例に従って電話回線を
介して複数のセッションを提供するために用いるプロセ
スのフローチャートである。
【図23】本発明の好ましい実施例に従って電話回線を
介して複数のセッションを提供するために用いるプロセ
スのフローチャートである。
【図24】本発明の好ましい実施例に従って電話回線を
介して複数のセッションを提供するために用いるプロセ
スのフローチャートである。
【符号の説明】
10 パーソナル・コンピュータ・システム 11 プレーナ 12 システム・ユニット 14 表示装置 16 キーボード 18 マウス 20 プリンタ 22 ディスケット・ドライブ 24 ローカル・バス 34 システム・バス 44 マイクロチャネル・バス
───────────────────────────────────────────────────── フロントページの続き (72)発明者 スティーブン・エイ・ケラー アメリカ合衆国33076 フロリダ州コーラ ル・スプリングス フォーティーナイン ス・プレース ノース・ウェスト 9815

Claims (22)

    【特許請求の範囲】
  1. 【請求項1】第1のデータ処理システム上に発呼側アプ
    リケーションがあり、第2のデータ処理システム上に複
    数のアプリケーションがある、アプリケーション間での
    通信を提供するための方法であって、 発呼側アプリケーションから要求を受け取って、第2の
    データ処理システム上で並行して実行されている複数の
    アプリケーションと通信するステップと、 通信回線を介して第1と第2のデータ処理システムの間
    の接続を確立するステップと、 発呼側アプリケーションと複数のアプリケーション内の
    各アプリケーションとの間でセッションを確立するステ
    ップと、 通信回線を利用して発呼側アプリケーションと複数のア
    プリケーションのそれぞれとの間で、セッションを終了
    する必要なしに通信を提供するステップを含む方法。
  2. 【請求項2】第1と第2のデータ処理システムの間の接
    続を確立するステップが、第1と第2のデータ処理シス
    テムの間の接続を確立するステップを含み、通信回線が
    シリアル・ケーブルであることを特徴とする、請求項1
    に記載の方法。
  3. 【請求項3】第1と第2のデータ処理システムの間の接
    続を確立するステップが、第1と第2のデータ処理シス
    テムの間の接続を確立するステップを含み、通信回線が
    交換通信ネットワークであることを特徴とする、請求項
    1に記載の方法。
  4. 【請求項4】接続を終了するコマンドに応答して、セッ
    ションを終了することなく接続を終了するステップをさ
    らに含む、請求項1に記載の方法。
  5. 【請求項5】第1と第2のデータ処理システムの間に通
    信回線を介した通信がないことに応答して接続を終了す
    るステップをさらに含む、請求項1に記載の方法。
  6. 【請求項6】発呼側アプリケーションが第2のデータ処
    理システム上の複数のアプリケーションの1つにデータ
    の送信を試みることに応答して、接続を再確立するステ
    ップをさらに含む、請求項5に記載の方法。
  7. 【請求項7】2つのデータ処理システム間での接続を提
    供するための装置であって、 第1のデータ処理システムと、 第2のデータ処理システムと、 第1と第2のデータ処理システムを接続する通信回線
    と、 第1のデータ処理システム上にある第1のインターフェ
    ースと、 第2のデータ処理システム上にある第2のインターフェ
    ースとを含み、 第1のインターフェースが、第1と第2のインターフェ
    ースの間の接続を確立する手段と、第2のデータ処理シ
    ステム上のアプリケーションとの通信を必要とする第1
    のデータ処理システム上の各アプリケーションのために
    セッションを確立する手段とを備えることならびに第1
    および第2のインターフェースが、確立されたセッショ
    ンを持つアプリケーション間の通信を制御する手段を備
    えることを特徴とする装置。
  8. 【請求項8】前記の第1および第2のインターフェース
    が、所定の時間のあいだ通信回線を介した通信がない場
    合に接続を終了するタイム・アウト手段を備えており、
    確立されたセッションが接続の終了に応答して終了しな
    いことを特徴とする、請求項7に記載の装置。
  9. 【請求項9】前記の第1と第2のインターフェースが、
    第1のデータ処理システム上のアプリケーションが第2
    のデータ処理システム上のアプリケーションと通信しよ
    うと試みることに応答して接続を再確立する手段を備え
    ることを特徴とする、請求項7に記載の装置。
  10. 【請求項10】通信回線がシリアル・ケーブルであるこ
    とを特徴とする、請求項7または8に記載の装置。
  11. 【請求項11】通信回線が交換ネットワークであること
    を特徴とする、請求項7、9または10に記載の装置。
  12. 【請求項12】第1のデータ処理システム上に発呼側ア
    プリケーションがあり、第2のデータ処理システムに複
    数のアプリケーションがある、アプリケーション間の通
    信を提供するための装置であって、 第2のシステム上で並行して実行されている複数のアプ
    リケーションの少なくとも1つとの通信を求める要求を
    発呼側アプリケーションから受け取るための受信手段
    と、 第1と第2のデータ処理システムの間の通信回線を介し
    た接続を確立するための第1の確立手段と、 発呼側アプリケーションと複数のアプリケーション内の
    各アプリケーションとの間でセッションを確立するため
    の第2の確立手段と、 アプリケーション間で通信が効率的に提供されるよう
    に、通信回線を利用して発呼側アプリケーションと複数
    のアプリケーションのそれぞれとの間で、セッションを
    終了する必要なしに通信を提供する通信手段とを含む装
    置。
  13. 【請求項13】通信回線がシリアル・ケーブルであるこ
    とを特徴とする、請求項12に記載の装置。
  14. 【請求項14】通信回線が交換通信ネットワークである
    ことを特徴とする、請求項12に記載の装置。
  15. 【請求項15】接続を終了するコマンドに応答して、セ
    ッションを終了することなく接続を終了するための終了
    手段をさらに含むことを特徴とする、請求項12に記載
    の装置。
  16. 【請求項16】第1と第2のデータ処理システムの間に
    通信回線を介した通信がないことに応答して接続を終了
    するための終了手段をさらに含むことを特徴とする、請
    求項12に記載の装置。
  17. 【請求項17】第1の確立手段が、発呼側アプリケーシ
    ョンが第2のデータ処理システム上の複数のアプリケー
    ションの1つにデータを送信しようと試みることに応答
    して、接続を再確立することを特徴とする、請求項16
    に記載の装置。
  18. 【請求項18】交換通信ネットワークを使用して第1の
    データ処理システムと第2のデータ処理システムの間の
    通信を提供する方法であって、 第2のデータ処理システム上の第2のアプリケーション
    との通信を求める要求を、第1のデータ処理システム上
    の第1のアプリケーションから受信するステップと、 第1のデータ処理システムに接続された第1のモデムお
    よび第2のデータ処理システムに接続された第2のモデ
    ムを使用し、交換通信ネットワークを介して第1と第2
    のデータ処理システムの間で接続を確立するステップ
    と、 通信回線を介して第1と第2のアプリケーションの間で
    第1のセッションを確立するステップと、 交換通信ネットワークを介した複数同時セッションがサ
    ポートされるように、第1のデータ処理システム上の第
    3のアプリケーションと第2のデータ処理システム上の
    第4のアプリケーションの間、または第1のアプリケー
    ションと第4のアプリケーションの間で、第2のセッシ
    ョンを確立するステップを含む方法。
  19. 【請求項19】第1と第2のデータ処理システムの間の
    接続の終了に応答して、第1と第2のセッションを維持
    するステップをさらに含む、請求項18の方法。
  20. 【請求項20】第1のデータ処理システム上の第1のア
    プリケーションが第2のデータ処理システム上のアプリ
    ケーションとの通信を試みることに応答して、接続を再
    確立することをさらに含む、請求項19に記載の方法。
  21. 【請求項21】セッションを終了するコマンドに応答し
    て接続を終了するステップをさらに含む、請求項19に
    記載の方法。
  22. 【請求項22】第1のデータ処理システム内および第2
    のデータ処理システム内のアプリケーション間に事前選
    択された時間のあいだ通信がないことに応答して、接続
    を終了するステップをさらに含む、請求項19に記載の
    方法。
JP7137732A 1994-06-13 1995-06-05 通信提供方法および装置 Pending JPH086880A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US259208 1994-06-13
US08/259,208 US5625775A (en) 1994-06-13 1994-06-13 Modem communication interface in a data processing system

Publications (1)

Publication Number Publication Date
JPH086880A true JPH086880A (ja) 1996-01-12

Family

ID=22983992

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7137732A Pending JPH086880A (ja) 1994-06-13 1995-06-05 通信提供方法および装置

Country Status (3)

Country Link
US (1) US5625775A (ja)
JP (1) JPH086880A (ja)
FR (1) FR2721159A1 (ja)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5915089A (en) * 1995-01-13 1999-06-22 Wallace Computer Services, Inc. Supplemental data processing system for processing ply-matching data generated during multiple-part product printing
US5745695A (en) * 1996-01-16 1998-04-28 Motorola Inc. Radio system with suspension of packet data service during non-data service connection
US6233318B1 (en) * 1996-11-05 2001-05-15 Comverse Network Systems, Inc. System for accessing multimedia mailboxes and messages over the internet and via telephone
US6377691B1 (en) 1996-12-09 2002-04-23 Microsoft Corporation Challenge-response authentication and key exchange for a connectionless security protocol
US6134594A (en) 1997-10-28 2000-10-17 Microsoft Corporation Multi-user, multiple tier distributed application architecture with single-user access control of middle tier objects
US6813769B1 (en) * 1997-10-28 2004-11-02 Microsoft Corporation Server application components with control over state duration
US7076784B1 (en) 1997-10-28 2006-07-11 Microsoft Corporation Software component execution management using context objects for tracking externally-defined intrinsic properties of executing software components within an execution environment
US6631425B1 (en) 1997-10-28 2003-10-07 Microsoft Corporation Just-in-time activation and as-soon-as-possible deactivation or server application components
US5958004A (en) 1997-10-28 1999-09-28 Microsoft Corporation Disabling and enabling transaction committal in transactional application components
US5890161A (en) 1997-10-28 1999-03-30 Microsoft Corporation Automatic transaction processing of component-based server applications
US6425017B1 (en) 1998-08-17 2002-07-23 Microsoft Corporation Queued method invocations on distributed component applications
US6829770B1 (en) 1999-02-23 2004-12-07 Microsoft Corporation Object connectivity through loosely coupled publish and subscribe events
US6748455B1 (en) 1999-02-23 2004-06-08 Microsoft Corporation Object connectivity through loosely coupled publish and subscribe events with filtering
US6920636B1 (en) * 1999-12-15 2005-07-19 Microsoft Corporation Queued component interface passing for results outflow from queued method invocations
US6665752B1 (en) * 2000-02-17 2003-12-16 Conexant Systems, Inc. Interrupt driven interface coupling a programmable media access controller and a process controller
US6636928B1 (en) * 2000-02-18 2003-10-21 Hewlett-Packard Development Company, L.P. Write posting with global ordering in multi-path systems
US6829763B1 (en) * 2000-05-16 2004-12-07 Litton Systems, Inc. Partitioned executive structure for real-time programs
US7023970B1 (en) * 2001-01-30 2006-04-04 Cisco Technology, Inc. Arrangement in a local computer for sending voice messages to a unified communications system
US7493391B2 (en) * 2001-02-12 2009-02-17 International Business Machines Corporation System for automated session resource clean-up by determining whether server resources have been held by client longer than preset thresholds
US7146556B2 (en) * 2001-12-27 2006-12-05 Network Equipment Technologies, Inc. Structured data communication with backwards compatibility
US7587598B2 (en) * 2002-11-19 2009-09-08 Toshiba America Research, Inc. Interlayer fast authentication or re-authentication for network communication
US8756402B2 (en) * 2007-09-14 2014-06-17 Intel Mobile Communications GmbH Processing module, processor circuit, instruction set for processing data, and method for synchronizing the processing of codes
US20090251488A1 (en) * 2008-04-07 2009-10-08 Hands-On Mobile, Inc. Method and system for executing applications on a wireless device
US8271579B2 (en) * 2008-04-07 2012-09-18 Phunware, Inc. Server method and system for executing applications on a wireless device
US8407728B2 (en) * 2008-06-02 2013-03-26 Microsoft Corporation Data flow network

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA1059440A (en) * 1977-01-24 1979-07-31 Oliver W. Johnson Controller for fluid pressure operated devices
US4363093A (en) * 1980-03-10 1982-12-07 International Business Machines Corporation Processor intercommunication system
US4646320A (en) * 1982-03-29 1987-02-24 Racal Data Communications Inc. Automatic digital strapping apparatus for data modems
US4625081A (en) * 1982-11-30 1986-11-25 Lotito Lawrence A Automated telephone voice service system
US4718082A (en) * 1985-09-18 1988-01-05 Ark Electronics Modem for effecting full duplex asynchronous/synchronous digital data communications over voice grade telephone link
US4755932A (en) * 1985-10-15 1988-07-05 International Business Machines Corporation Interpreter program for providing commands to a computer application program
US4803720A (en) * 1986-09-22 1989-02-07 International Business Machines Corporation Dual plane cross point switch architecture for a micro-PBX
JPS63224543A (ja) * 1987-03-13 1988-09-19 Fujitsu Ltd 個別デ−タ付同報通信方式
US5165020A (en) * 1987-03-27 1992-11-17 Digital Equipment Corporation Terminal device session management protocol
US4982325A (en) * 1988-03-18 1991-01-01 At&T Bell Laboratories Applications processor module for interfacing to a database system
DE353383T1 (de) * 1988-08-05 1990-07-26 Compag Telecommunications Corp., Houston, Tex. Verfahren zur vermittlung von ankommenden daten zwischen prozessen in einem multi-prozess-system als antwort auf die uebertragungsart.
US5091933A (en) * 1989-06-26 1992-02-25 First Data Resources, Inc. Multiple party telephone control system
US4987590A (en) * 1989-06-26 1991-01-22 First Data Resources Inc. Multiple party telephone control system
US5185787A (en) * 1989-06-26 1993-02-09 First Data Resources, Inc. Multiple party telephone control system with random dialing for polling
US5187787B1 (en) * 1989-07-27 1996-05-07 Teknekron Software Systems Inc Apparatus and method for providing decoupling of data exchange details for providing high performance communication between software processes
US5301280A (en) * 1989-10-02 1994-04-05 Data General Corporation Capability based communication protocol
US5161169A (en) * 1990-05-15 1992-11-03 Codex Corporation Dcd with reprogramming instructions contained in removable cartridge
EP0464352A3 (en) * 1990-06-25 1994-11-17 Ibm Sub-entry point interface architecture for change management in a computer network
US5193110A (en) * 1990-10-09 1993-03-09 Boston Technology, Incorporated Integrated services platform for telephone communication system
US5243643A (en) * 1990-11-01 1993-09-07 Voiceples Corporation Voice processing system with configurable caller interfaces
US5185742A (en) * 1990-12-31 1993-02-09 At&T Bell Laboratories Transparent signaling for remote terminals
DE69228621T2 (de) * 1991-02-25 1999-07-22 Hewlett-Packard Co., Palo Alto, Calif. Objektorientiertes verteiltes Rechnersystem
US5235638A (en) * 1991-09-12 1993-08-10 Bell Atlantic Network Services, Inc. Telephone network interface
US5307347A (en) * 1992-04-10 1994-04-26 International Business Machines Corporation Method and apparatus for sharing a telecommunications channel among multiple users
US5325361A (en) * 1992-12-01 1994-06-28 Legent Corporation System and method for multiplexing data transmissions
CA2107047C (en) * 1992-12-29 1998-04-28 Alan M. Bentley Switched circuit connection management over public data networks for wide area networks

Also Published As

Publication number Publication date
FR2721159A1 (fr) 1995-12-15
US5625775A (en) 1997-04-29

Similar Documents

Publication Publication Date Title
US5625775A (en) Modem communication interface in a data processing system
US5784643A (en) System incorporating program for intercepting and interpreting or altering commands for generating I/O activity for enabling real-time user feedback by sending substitute characters to modem
US5790895A (en) Modem sharing
US7647416B2 (en) Full hardware based TCP/IP traffic offload engine(TOE) device and the method thereof
AU594596B2 (en) Data conferencing arrangement
US5867648A (en) High speed heterogeneous coupling of computer systems using channel-to-channel protocol
US5483647A (en) System for switching between two different operating systems by invoking the server to determine physical conditions to initiate a physical connection transparent to the user
AU559620B2 (en) Communication bus interface unit
JPH03195238A (ja) 高速データ伝送方法
JPH0618371B2 (ja) 通信端末装置
CN112416521A (zh) 一种基于linux tty子系统的串口虚拟化的实现方法
US5276896A (en) Apparatus for implementing data communications between terminal devices and user programs
JP4498389B2 (ja) マルチ・ノードコンピュータシステム
JP2002503847A (ja) 2次バスからのメッセージング・ユニットへのアクセス
JP2001519060A (ja) コントローラレスモデム
CN111427806A (zh) 一种双核amp系统共用串口的方法、存储介质及智能终端
US4644472A (en) Flow control between a data terminal and a host computer system
US6067317A (en) Computer bus resource port
EP0353383A2 (en) Method for switching incoming data communications between processes in a multi-process system in response to the type of communication
JP3365288B2 (ja) バッファ装置
JP2948380B2 (ja) データ通信装置
JPH0467223B2 (ja)
WO1999048013A1 (en) Communication stack, and related system, method and apparatus
JPS6318431A (ja) Crt監視制御計算機システム
Berry et al. Porting text between machines

Legal Events

Date Code Title Description
A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20041029

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20041104