JPH08272712A - Osをベースとする遠隔通信システム - Google Patents

Osをベースとする遠隔通信システム

Info

Publication number
JPH08272712A
JPH08272712A JP8025592A JP2559296A JPH08272712A JP H08272712 A JPH08272712 A JP H08272712A JP 8025592 A JP8025592 A JP 8025592A JP 2559296 A JP2559296 A JP 2559296A JP H08272712 A JPH08272712 A JP H08272712A
Authority
JP
Japan
Prior art keywords
file
telecommunications system
host
telecommunications
host system
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
JP8025592A
Other languages
English (en)
Inventor
James S Coman
ジェイムズ・エス・コマン
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.)
Gage Brook LLC
Original Assignee
Gage Brook LLC
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 Gage Brook LLC filed Critical Gage Brook LLC
Publication of JPH08272712A publication Critical patent/JPH08272712A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/105Program control for peripheral devices where the program performs an input/output emulation function
    • G06F13/107Terminal emulation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Human Computer Interaction (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)

Abstract

(57)【要約】 【課題】 高速でユーザー・フレンドリなインターフェ
ースを提供すること。 【解決手段】 遠隔通信システム10は高速でユーザー
・フレンドリなインターフェースを提供する。OSをベ
ースとする遠隔通信システム10は、遠隔のコンピュー
タ12に小型で比較的簡単なターミナル・プログラム1
1を設けることにより達成される。ターミナル・プログ
ラム11はホスト・システム50からデータとコマンド
を受信する。採用されているコマンドは、遠隔通信シス
テム10のOSが理解でき実現できる基本タスク(例え
ば、ウィンドウ、ボタン、編集フィールド、リストボッ
クス等のOSオブジェクトの作成)に基づく。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、遠隔通信システ
ムの分野に関係し、特に、ホスト・システムからの進歩
したオペレーティング・システム(OS)をベースとす
るコマンド命令を受信して翻訳し、遠隔のシステムのオ
ペレーティング・システムの命令を使用して遠隔システ
ム上で当該命令を実行することにより、1つ以上のホス
ト・システムとの間のインターフェースを行う遠隔通信
システムに関するものである。
【0002】
【従来の技術】通常、ホスト・コンピュータ・システム
との通信のために遠隔の端末を使用する。こうした遠隔
の端末は遠隔位置のユーザーに対してホスト・システム
のプログラム、データベースその他のリソースへのアク
セスを提供する。遠隔端末とホスト・システムとの間の
通信は、典型的には、電話線その他の直列又は並列の通
信線を介して行われる。ホスト・システムとの間でデー
タその他の情報を送受信するには、厳格な通信プロトコ
ルを必要とする。
【0003】伝統的に、端末は、ホスト・システムへ情
報を送り、該ホスト・システムから情報を受信し、受信
された情報を表示することができる専用のハードウェア
を備えていた。専用のハードウェア端末の初期の一例は
テレタイプ機械である。テレタイプ機械はホスト・シス
テムからのデータ文字列を翻訳処理し、その翻訳処理の
結果を複写綴りの紙に印字してユーザーが見ることがで
きるようにする。また、テレタイプ機械のユーザーはキ
ーボード上でタイプすることにより、ホスト・システム
へメッセージ又はリクエストを送ることができる。
【0004】基本的なテレタイプ機械の改良は陰極線管
(CRT)型の端末である。初期の文字ベース型のCR
T端末は、旧式のテレタイプ機械と全く同じやり方でホ
スト・システムと通信する。しかしながら、ホスト・シ
ステムから受信した情報を複写綴りの紙上に印字する代
わりに、その情報はCRTスクリーン上に表示される。
スクリーン上への情報の表示は、ユーザーと端末との間
のインターフェースを強化する。文字ベース型の端末
は、ホスト・システムから送出された文字、数字及び制
御文字を翻訳処理することによって通信を行う。ホスト
・システムから送出された文字は遠隔の端末のスクリー
ン上に表示され、制御文字は端末カーソルの位置を制御
し、表示されるべき文字の位置を制御するのに使用され
る。
【0005】文字ベース型のCRT端末は、基本的なテ
レタイプ機械に対する改良ではあるけれども、欠点や欠
陥を持っている。例えば、文字ベース型の端末のユーザ
ー・インターフェースは、遠隔通信の主要な隘路、即ち
転送速度に起因して厳しく制限される。限られた量のデ
ータしか所与の時間に通信線を介して遠隔の端末へ送る
ことができないので、遠隔位置のユーザーは、精巧なフ
ルテキスト・プロンプト・スクリーンではなく、短い暗
号コマンド・ライン・プロンプトを設けてシステムのデ
ータ転送の隘路を除去することが必要になることが多
い。その結果、システム速度又はユーザー・フレンドリ
性が大巾に損なわれる。
【0006】CRT表示装置を使用する他の形式の端末
は、グラフィックスをベースとする端末である。グラフ
ィックス・ベース型の端末は、文字の表示に加えて、ホ
スト・コンピュータからのコマンドを翻訳処理し、グラ
フィックス表示装置上に線、箱、円、様式化されたテキ
スト及びグラフィックス文字を描くことができる。こう
して、インターフェースのユーザー・フレンドリ性は文
字ベース型の端末に対して改善される。しかし、グラフ
ィックス・ベース型の端末は、典型的には、文字ベース
型の端末に比べて高価であり、システム速度の犠牲にお
いてインターフェースのユーザー・フレンドリ性を改善
するにすぎない。
【0007】パーソナル・コンピュータの爆発的流行と
共に、ターミナル・エミュレータの開発のための大きな
市場が生じた。典型的には、ターミナル・エミュレータ
は、コンピュータが「ダム」ターミナルをエミュレート
できるようにするプログラムを備えており、これによっ
て、該コンピュータは専用端末の公知の通信プロトコル
を使ってホスト・システムと遠隔的に通信することがで
きる。ホスト・システムは、ターミナル・エミュレータ
が実際の端末とは通信しておらず、自分と通信している
のだということを知らない。ホスト・システムは公知の
通信プロトコルと一致するデータを送受信するだけであ
る。ターミナル・エミュレータ・プログラムはホスト・
システムからのコマンドを翻訳し、ホスト・システムと
の間で情報を送受信する。
【0008】言うまでもなく、スループットやユーザー
・フレンドリ性に限度があるというような、文字ベース
型の端末やグラフィックス・ベース型の専用端末に固有
の同じ問題や制限が、文字ベース型及びグラフィックス
・ベース型のターミナル・エミュレータにも存在する。
【0009】ユーザー・インターフェースに改良を加
え、データ・スループットの隘路に関連した多くの問題
を回避するために、「ターミナル・エミュレータ」シス
テムの中には、ホスト・スペシフィックな専用ターミナ
ル・プログラムを採用するものもある。このような専用
ターミナル・プログラムは遠隔のコンピュータに常駐
し、遠隔のコンピュータによって実行されてホスト・シ
ステムとの通信を初期化し維持する。上記の標準的な文
字ベース型及びグラフィックス・ベース型のターミナル
・エミュレータとは違って、ターミナル・プログラム
は、遠隔のコンピュータの固定記憶装置に蓄積された多
くのプロンプト・スクリーンのテキストはもちろん、グ
ラフィックスをも備えることが多い。例えば、ホスト・
システムへ接続する前に、ターミナル・プログラムはロ
グオン・スクリーン又はヘルプ・スクリーンを表示して
ユーザーを援助する。ログオン・スクリーン又はヘルプ
・スクリーンのテキストは、ホスト・システムと通信す
る必要なくターミナル・プログラムに遠隔的にアクセス
可能なものである。
【0010】そのうえ、計算その他の実行可能な機能
は、遠隔のコンピュータ上の専用ターミナル・プログラ
ムにより実行される。このようにして、専用ターミナル
・プログラムは遠隔のコンピュータを「スマート」ター
ミナルに変え、ホスト・システムが通常実施すべき多く
のタスクからホスト・システムを解放する。その結果、
オンライン・ヘルプその他のツールのような特徴が加わ
ったカスタマイズされたユーザー・フレンドリなプロン
プト・スクリーンを得ることができ、システム全体の速
度及び効率を向上させることができる。
【0011】しかしながら、専用ターミナル・プログラ
ムにも欠点や欠陥がある。こうした複雑なソフトウェア
・プログラムは、定義によれば、ターミナル・エミュレ
ータではない。これは、こうしたターミナル・プログラ
ムが特定の形式の端末を現実に「エミュレート」してい
ないからである。その代わりに、ターミナル・プログラ
ム及びホスト・システムは、互いに理解できる独自のプ
ロトコルを用いて相互に通信する。このターミナル・プ
ログラムはホスト・システムの特定の要求に対してカス
タマイズされ、ホスト・ソフトウェアの一体的な部品と
して相互作用を行う。その結果、専用ターミナル・プロ
グラムの主要な問題は、1つの特定のホスト・システム
とのみコンパティブルであるということである。本当の
ターミナル・エミュレータは多くのホスト・システムに
知られた標準的な文字・グラフィックス通信プロトコル
を使用しており、したがって、包括的であって、多くの
ホスト・システムとの通信が可能である。一方、ホスト
・スペシフィックな専用ターミナル・プログラムはフレ
キシブルではなく、1つのホスト・システムの極めて特
定のコマンドを認識して応答するのみである。
【0012】更に、専用ターミナル・プログラムのそれ
ぞれのコマンドは、該プログラムが設計されたホストに
対してスペシフィックであるので、それぞれの新たなホ
スト・システムに対して新たなターミナル・プログラム
を書く必要がある。ホスト・システムの形式が異なる毎
に、数百、数千の専用のターミナル・プログラムを開発
することは不可能である。その時間消費的な性質及びこ
うした作業の出費に加えて、多くの遠隔システムには、
所要の数千もの専用のターミナル・プログラムを記憶さ
せるに足るデータ記憶容量がない。
【0013】専用ターミナル・プログラムの別の問題
は、こうしたプログラムが大型で複雑なことが多いこと
である。専用ターミナル・プログラムの主要な目的は、
或る種のタスクとテキスト処理責任性とをホスト・シス
テムから遠隔のコンピュータへ移すことであるから、タ
ーミナル・プログラムは相当な量のディスク記憶スペー
スを必要とするのが普通であり、遠隔のコンピュータ上
でインストールし維持することは典型的には困難であ
る。
【0014】専用ターミナル・プログラムの更に別の問
題は、ホストに対して動的変更を行うことが難しいとい
うことである。標準的な文字又はグラフィックス端末又
はエミュレータの場合、ホスト・システムに対する変更
は端末又はエミュレータ自体に対する変更を必要としな
い。しかし、専用ターミナル・プログラムの場合、ホス
ト・システムの変更は、専用ターミナル・プログラムに
対しても実質的な対応の変更を要求することが多い。例
えば、ホスト・システムがプロンプト・スクリーンを変
更したり、ログイン・スクリーンやヘルプ・スクリーン
のような新たな特徴を追加したりすると、ホスト・シス
テム及び専用ターミナル・プログラムは当該変更を受け
入れるよう更新されなければならない。それぞれの遠隔
位置で専用ターミナル・プログラムを更新することは、
小さなタスクではない。更新された専用ターミナル・プ
ログラムを含むディスクをメールを介してそれぞれの遠
隔位置へ送り、又は、専用ターミナル・プログラムのそ
の他の精巧なオンライン・パッチ作業を行わなければな
らない。
【0015】
【発明が解決しようとする課題】前記の事項に鑑みて、
この発明の主要な目的は、従来のシステムや装置の持つ
欠点や欠陥が無く、ユーザー・フレンドリな動作を行
う、高速で効率的な遠隔通信システムを提供することで
ある。
【0016】この発明の一般的な目的は、ホスト・シス
テムとのユーザー・フレンドリなインターフェースを達
成するために遠隔のコンピュータのオペレーティング・
システムを利用することができる、グラフィック環境又
はウィンドウ動作環境に見出されるようなフレキシブル
な遠隔通信システムを提供することである。
【0017】この発明の他の一般的な目的は、多くの独
立のホスト・システムとコンパティブルであるよう設計
された遠隔通信システムを提供することである。
【0018】この発明の更に別の目的は、比較的小さな
ソフトウェア・インターフェース・プログラムを持ち、
ホストのシステムが更新され又は修正されたときにも修
正を必要としない遠隔通信システムを提供することであ
る。
【0019】
【課題を解決するための手段】この発明にあっては、上
記の及び他の目的は改良された遠隔通信システムにおい
て実施される。このシステムは、従来の装置及び方法、
即ち、複数のホスト・システムのソフトウェアとはコン
パティブルでないうえ、ホスト・システムが変更され又
は更新されたときに保持し更新することが困難な大型で
複雑な専用ターミナル・プログラムを持つ従来の装置及
び方法とは異なる。この発明の遠隔通信システムは、従
来の装置及び方法に固有のデータ転送の隘路という非能
率性のない高速で効率的でユーザー・フレンドリなイン
ターフェースを提供する。
【0020】この発明の一つの特徴によれば、オペレー
ティング・システムをベースとする遠隔通信システム
は、ホスト・システムからデータと命令コマンドとを受
信して翻訳する小型で比較的簡単なターミナル・プログ
ラムを遠隔のコンピュータに設けることによって達成さ
れる。ホスト・スペシフィックなコマンドを翻訳し実行
する複雑な専用ターミナル・プログラムを持つのではな
く、この発明のエミュレータは、遠隔通信システムが理
解し実行するオペレーティング・システムの基本タスク
(例えば、ウィンドウ、ボタン、編集フィールド、リス
トボックスその他のオペレーティング・システム・オブ
ジェクトの作成)に基づくコマンドを採用する。ホスト
・システムと遠隔通信システムとの間でデータを送受信
し表示するのに加えて、この発明の遠隔通信システムの
機能は、ホスト・システムからの命令を受信、翻訳し、
遠隔通信システムのオペレーティング・システムに命令
を実行するよう命令し、次いで、命令の成功した完了を
ホスト・システムへ報告することである。
【0021】こうして、この発明は、ユーザーが知って
いるウィンドウ又はグラフィック・インターフェースを
ユーザーに提供することにより、ユーザー・フレンドリ
性が達成される遠隔通信システムを開示する。ユーザー
・インターフェースを表示し維持する負担をホスト・シ
ステムから取り除くことにより、速度とスループットと
が向上する。遠隔通信システムのオペレーティング・シ
ステムの特徴に合わせたコマンドを採用することによ
り、可搬性と柔軟性とが達成される。
【0022】この発明の利点は、文字をベースとするエ
ミュレータ、グラフィックスをベースとするエミュレー
タ及び専用ターミナル・プログラム・“エミュレータ”
に固有の多くの問題を解消しながら、これらの装置の有
利な特性を維持することができることである。
【0023】この発明の他の特徴及び利点は、図面を参
照して以下の詳細な説明を理解するとき明白になろう。
【0024】
【発明の実施の形態】以下、この発明を最適な実施形態
について説明するが、この発明はこれらの実施形態に限
定されるものではない。この発明は、特許請求の範囲の
請求項によって定義された発明の精神と範囲内に含まれ
る代替物、修正物及び等価物をも含むものである。
【0025】図1は、この発明の一実施形態のブロック
図を遠隔通信システム10の形式で表している。一般的
に、遠隔通信システム10は、マイクロプロセッサ(C
PU)14と、モデム16、ハードディスク・ドライブ
(HDD)18、ビデオ・グラフィックス・カード2
0、シリアル・キーボード・ポート21、キーボード2
2、表示モニタ26を含むコンパティブルな周辺機器と
を備えたパーソナル・コンピュータ12から成る。マイ
クロプロセッサ14と周辺機器との間の通信は通信バス
30を介して行われる。
【0026】マイクロプロセッサ14は例えばインテル
80486であり、パーソナル・コンピュータ12はマ
イクロソフト・ウィンドウズ(登録商標)・オペレーテ
ィング・システムを動作させているのが好ましく、8メ
ガバイトのランダム・アクセス・メモリ(RAM)24
を備えている。この発明の図示の実施形態で用いられる
要素については、ここで特に詳述しないが、当業者に公
知のとおり、発明の範囲を逸脱することなく、多くの変
更及び置換が可能である。
【0027】典型的には、遠隔通信システム10は以下
のとおりに動作し、使用される。遠隔通信システムを端
末として使用するユーザーは、キーボード22によって
コマンドを入力することにより、ホスト・システム50
との通信を開始するよう遠隔通信システム10に指示す
る。RAM24に記憶されたターミナル・エミュレータ
・プログラム11は遠隔通信システム10の動作及びホ
スト・システム50との間でのデータの送受信を制御す
る。ログインその他の情報は遠隔通信システム10のモ
デム16で変調され、電話線48を介してホスト・シス
テム50へ送られる。ホスト・システム50に接続され
たモデム54は受信された情報を復調する。ホスト・シ
ステムと遠隔通信システム10との間の通信のために、
モデムの代わりに、例えば、総合ディジタル通信網(I
SDN)又はディジタル電話回線のような他の通信手段
を用いてもよい。
【0028】図の実施形態において、一般的に、ホスト
・システム50は、マイクロプロセッサ(CPU)64
とハードディスク・ドライブ(HHD)68を含むコン
パティブルな周辺機器とを備えた80486−66 M
z ゲートウェイ 2000コンピュータ62から成
る。マイクロプロセッサ64と周辺機器との間の通信は
通信バス70を介して行われる。
【0029】図2に示すように、ステップ100におい
て遠隔通信システム10はホスト・システム50を呼び
出す。遠隔通信システム10がターミナル・エミュレー
タ・プログラム11のコピーを持っていれば、遠隔通信
システム10はホスト・システム50の応答を5秒間待
ち(ステップ104)、ホスト・システム50にログイ
ン・ストリング「〜 〜 〜 〜」を送る(ステップ10
6)。ホスト・システム50はログイン・ストリングの
受信をログイン応答ストリング「= = = =」を送出する
ことによって応答する(ステップ108)。ステップ1
10において、遠隔通信システム10は、使用されてい
るオペレーティング・システムやプロセッサの形式及び
パーソナル・コンピュータ12がマウスを有するかどう
かの情報を含む初期化ストリングをホスト・システム5
0に送る。この時点で通信が確立され、ホスト・システ
ム50はコマンドその他の命令やデータの遠隔通信シス
テム10への送出を開始することができる(これについ
ては後述する)。
【0030】逆に、パーソナル・コンピュータ12がタ
ーミナル・エミュレータ・プログラム11を持っていな
いと、ホスト・システム50は、7秒間待ってもパーソ
ナル・コンピュータ12からログイン・ストリング「〜
〜 〜 〜」が来ないとき、ASCIIテキスト・プロ
ンプトを送り、ユーザーがターミナル・エミュレータ・
プログラム11のダウンロードを望むかどうかを質問す
る(ステップ112)。ユーザーの答えがノーであれ
ば、ホスト・システム50はハングアップする(ステッ
プ116)。しかし、ユーザーの答えがイエスであれ
ば、ホスト・システム50は、XMODEMのような工
業標準ファイル転送プロトコルを用いてターミナル・エ
ミュレータ・プログラム11をパーソナル・コンピュー
タ12へ送り(ステップ118)、ユーザーが端末セッ
ションの開始を望むかどうかを質問する(ステップ12
0)。ユーザーの答えがイエスであれば、パーソナル・
コンピュータ12はホスト・システム50との接続を維
持しながらターミナル・エミュレータ・プログラム11
を実行し、ホスト・システム50へログイン・ストリン
グ「〜 〜 〜 〜」を送出する(ステップ106)こと
によって上記の端末セッションを開始する。
【0031】ログインの処理が完了すると、ホスト・シ
ステム50の要件に依存して、ホスト・システム50は
コマンド又は他の命令を遠隔通信システム10へ送る。
当該分野においては周知のように、ホスト・システム5
0は、RAM66に記憶され且つ無制限の数のサービス
の中の1つ以上のサービスを実行するホスト・プログラ
ム51を有する。例えば、ホスト・システム50は電子
掲示板サービス、データベースその他の情報サービス、
又は一層進歩したプロジェクト・スペシフィックなサー
ビスを提供する。言うまでもなく、ホスト・プログラム
51はホスト・システム50のオペレーティング・シス
テムとコンパティブルな任意の言語で書くことができ
る。
【0032】ホスト・システム50からコマンドを受信
すると、ターミナル・エミュレータ・プログラム11は
そのコマンドを翻訳し、遠隔通信システム10のオペレ
ーティング・システムへ伝えて実行させる。
【0033】図3は、ホスト・システム50と遠隔通信
システム10との間で送られるコマンドの総合データ構
造フォーマットを示している。この実施形態において
は、1バイト長のエスケープ文字(27)がどのコマン
ドにおいても先頭に置かれる。エスケープ文字の後に、
1バイト又は2バイトのコマンド・セットが続く。この
コマンド・セットの最初の1バイトはコマンドそのもの
である。その次のバイトはコマンドに対するオプション
の拡張子である。コマンド・セットの後に、必要であれ
ば、コマンドのパラメータが続く。このパラメータの後
に、コマンドやパラメータが正しく送信され受信された
ことを確かめるために、8ビットの巡回冗長検査(CR
C)の数値が続く。コマンドが拡張子又はパラメータを
含まないならば、CRC検査の後には、間隙やヌル・ス
ペースなしでコマンドが続く。場合によっては、コマン
ドのパラメータは可変長のデータを含んでもよい。この
場合、可変長のデータの後にCRC検査が続く。図4〜
図6は、この発明の実施形態において使用される基本的
な核心のコマンド、そのパラメータ及び簡単な説明のリ
ストである。
【0034】グラフィックスの制御のためのコマンドの
中には、総合コマンド・フォーマットに従わないものも
ある。その代わりに、「刷毛を選択せよ」、「ペンを選
択せよ」、「円を描け」、「メタファイルを描け」とい
うようなグラフィックス・コマンドは、先頭のエスケー
プ文字(27)を含まない。このようなグラフィックス
・コマンドはコマンドの組において(例えば、遠隔通信
システム10の表示モニタ26を制御するために)一緒
に送られることが多いので、こうしたコマンドの一つの
組を特別のエスケープ・シーケンス(この場合には、<
ESC><B>)で識別することが能率的である。遠隔
通信システム10は、特別のエスケープ・シーケンスを
受信した後、エスケープ文字(27)によって一連のコ
マンドが終了するまで、特別のエスケープ・シーケンス
に続く一連のコマンドをグラフィックス・コマンドであ
ると翻訳する。
【0035】この発明の実施形態においては、遠隔通信
システム10は、ウィンドウ、ボタン、編集フィール
ド、リストボックスその他のオペレーティング・システ
ム・オブジェクトの作成を援助するためにダイアログ・
リソースを使用する。ダイアログ・リソースは、オペレ
ーティング・システム・オブジェクトを定義するパラメ
ータを含むファイルであり、オブジェクトがどのように
見え、どのように動作するかを定義するパラメータを含
む。例えば、マイクロソフト・ウィンドウズ(登録商
標)プログラムにおける各ウィンドウは種々のオブジェ
クトを含む。ウィンドウの最上部に位置するオブジェク
ト(例えば、ボタン、編集フィールド、リストボック
ス、スクロール・バー)はコントロールと呼ばれる。プ
ログラマ又はユーザーによって作られたダイアログ・リ
ソース・ファイルは、コントロールに対する情報パラメ
ータを記憶する。遠隔通信システム10はダイアログ・
リソースに含まれた情報を使用し、もって、オペレーテ
ィング・システムに対しオペレーティング・システム・
オブジェクトを作って維持するよう命令する。
【0036】ダイアログ・リソースは必要に応じてホス
ト・システム50によって遠隔通信システム10へ送出
される。図4に示すように、ホスト・システム50がダ
イアログ・リソースを作るために使用されるコマンド
は、「C」拡張子を有する「W」である。ホスト・シス
テム50は遠隔通信システム10へダイアログ番号、ダ
イアログ・ペアレント番号、ダイアログID及びダイア
ログ・バージョンをパラメータとして送出する。ダイア
ログ番号はどのダイアログ・リソースを表示すべきかを
識別する。ダイアログ・ペアレント番号はダイアログ・
ウィンドウのペアレントの番号である。ダイアログ・ウ
ィンドウにペアレントがなければ、ダイアログ・ペアレ
ント番号は255に等しい。ダイアログIDは、ダイア
ログ・ウィンドウ・テンプレートを含む符号化されたリ
ソース・ファイル名であり、ダイアログ・バージョンは
表示されるべきダイアログ・リソースのバージョン番号
を含む。
【0037】遠隔通信システム10のプロトコルは、遠
隔通信システム10がダイアログ・リソースを持たない
ときに、ダイアログ・リソースを含むファイルのホスト
・システム50からの自動転送を提供する。図7は、ダ
イアログ・リソース・ファイルを送出し、その結果のダ
イアログ・ボックスを表示モニタ26上に表示するため
に遠隔通信システム10とホスト・システム50とが従
う動作シーケンスを表すフロー図である。ホスト・シス
テム50が遠隔通信システム10にウィンドウを表示す
るよう指示すると、ステップ200において、ホスト・
システム50はモデム54を介して、当該ウィンドウの
番号識別子及び当該ウィンドウのバージョン番号を送信
する。そこで、遠隔通信システム10は、要求されたウ
ィンドウに関連したダイアログ・リソース・ファイルを
ハード・ディスク・ドライブ18に持っているかどうか
をチェックする(ステップ202)。持っていれば、遠
隔通信システム10は、ダイアログ・リソース・ファイ
ルから検索された情報を使ってウィンドウを表示モニタ
26のスクリーン上に生成して表示し(スクリーン20
4)、ホスト・システム50に対してウィンドウの生成
を応答する(ステップ206)。
【0038】遠隔通信システム10が識別されたダイア
ログ・リソース・ファイルを持っていないとき、遠隔通
信システム10はダイアログ・リソース・ファイルを要
求されたリソースに内部リストを加え、ホスト・システ
ム50からダイアログ・リソース・ファイルを要求する
(ステップ210)。ダイアログ・リソース・ファイル
の要求を受け取ると、ホスト・システム50はダイアロ
グ・リソース・ファイルを遠隔通信システム10へ転送
する(ステップ212)。ステップ214において、遠
隔通信システム10はダイアログ・リソース・ファイル
を受信して記憶し、要求されたリソースのリストからダ
イアログ・リソース・ファイルを取り除く。次いで、遠
隔通信システム10は表示モニタ26のスクリーン上に
ウィンドウを作成して表示し(ステップ204)、ホス
ト・システム50に対してウィンドウの作成を知らせる
(ステップ206)。図6は、ダイアログ・ボックスの
成功した作成を知らせるメッセージのフォーマットを示
している。
【0039】ダイアログ・リソースを用いてウィンドウ
を作成することにより、遠隔通信システム10がウィン
ドウを表示し保持するに要する時間を大幅に短縮するこ
とができる。遠隔通信システム10はウィンドウを表示
し保持する方法を知っているので、上述のとおり、ウィ
ンドウに関するほんの少量の情報を遠隔通信システム1
0へ送信するだけで足りる。
【0040】ホスト・システム50のソフトウェアを作
成するプロセスも大幅に簡単化される。遠隔通信システ
ム10の表示モニタ26にウィンドウを表示するため
に、ホスト・システム50は所望のウィンドウを表示さ
せるコマンドを送るだけである。遠隔通信システム10
がウィンドウに対するダイアログ・リソース・ファイル
を持っていれば、そのウィンドウが表示される。また、
遠隔通信システム10が該ダイアログ・リソース・ファ
イルを持っていなければ、ホスト・システム50は応答
の容易なダイアログ・リソース・ファイルについての要
求を受信することになる。こうして、ウィンドウその他
のオペレーティング・システム・オブジェクトをオペレ
ーティング・システムによって表示モニタ26上に表示
し保持することができる。その代わりに、遠隔のパーソ
ナル・コンピュータ12のオペレーティング・システム
がMS−DOS(登録商標)のようなオペレーティング
・システム・オブジェクトをサポートしない形式のもの
であれば、オペレーティング・システム・オブジェクト
に関係するコマンドはターミナル・エミュレータ・プロ
グラム11によって実行される。
【0041】いずれにしても、ユーザーが表示モニタ2
6のスクリーン上のオブジェクト(例えば、ウィンドウ
内のボタン)を作動させると、ホスト・システム50に
連絡が入り、必要ならば、ホスト・システム50は遠隔
通信システム10に別の命令と情報を送出する。例え
ば、ボタンが作動されたことをホスト・システム50に
通知するメッセージのフォーマットは、図6の2行目に
示すとおりである。
【0042】言うまでもなく、ダイアログ・ウィンドウ
を作成し表示するため以外にも、リソース・ファイルを
用いることができる。この発明においては、頻繁に反復
されるグラフィックス、ビデオ、オーディオ、リストそ
の他のテキストを送信し分配するのを援助するために
も、リソースを使用することができる。更に、遠隔通信
システム10で実行することができるソフトウェア・コ
ードを含むリソース、例えば、動的にリンクされたライ
ブラリ(DLL)が使用可能である。実行可能なコード
を含むリソースを遠隔通信システム10へ送ることによ
り、遠隔通信システム10が実行する多くの時間消費的
なタスクが軽減されるので、ホスト・システム50の隘
路が解消される。
【0043】例えば、遠隔通信システム10が保持する
データベースは局所的にサーチできるので、長い場合も
あるデータベースをホスト・システム50へ送るのに必
要な時間を節約できる。更に、実行可能なコード・リソ
ースは、遠隔通信システム10に対するデータ又は表示
集約的なタスク(例えば、リポートの生成やグラフィッ
クスの表示及び操作)を軽減するのに特に有用である。
【0044】DLLコード・リソース・ファイルの場
合、ホスト・システム50は、(1)DLLバージョン
番号及び(2)機能プロトタイプ(リターン・タイプと
各機能が必要とするパラメータのリストとを含む)を含
む初期化ファイル(.INI)を保持する。このパラメ
ータのリストは、DLLが遠隔通信システム10上で動
いているときにDLLによって送受されるメッセージの
サイズと構成に関する情報を含むものである。
【0045】ホスト・システム50が遠隔通信システム
10上のDLLの機能を実行したいとき、ホスト・シス
テム50はDLLバージョン番号、DLLによって実行
されるべき機能及びDLLにより使用されるべきパラメ
ータを送出する。所望の機能を実行した後、.INIフ
ァイルの機能プロトタイプがリターン値を要求していた
ならば、DLLはホスト・システム50にリターン値を
送る。
【0046】上記のDLLは実際にはパーソナル・コン
ピュータ12上で実行されているので、DLLに含まれ
るコードはコンピュータ・スペシフィックでなければな
らない。したがって、この発明の別の実施形態において
は、実行可能なコード・リソースは、遠隔のパーソナル
・コンピュータ12のオペレーティング・システムから
独立した標準化され且つスクリプト化された言語でパー
ソナル・コンピュータ12へ送出される。次いで、パー
ソナル・コンピュータ12によりインタープリタが使用
され、ホスト・システム50から送出された実行可能な
コード・リソースを翻訳する。スクリプト化された命令
を復号した後、実行可能なコード・リソースによって要
求されたコマンドをインタープリタは実行する。代わり
に、インコンパティブルなコードそのものをパーソナル
・コンピュータ12によって翻訳し、次いで実行するこ
ともできる。
【0047】実行可能なコード・リソースを上記のよう
に送信し使用することにより、カスタマイズされ極めて
強力で莫大な量のユーザー・インターフェースを達成す
ることができる。
【0048】図8は、遠隔通信システム10との間で送
受するのに使用されるデータ構造とファイル転送プロト
コルとを示している。遠隔通信システム10へのファイ
ル転送の場合、いずれのコマンドについても、エスケー
プ文字(27)はコマンドに先行する。エスケープ文字
の後のASCII文字(1)はブロックの開始を示す。
その次のバイトは、ファイル(4ビット)の送信番号と
送信されるべきデータのブロックのブロックサイズ(4
ビット)とを含む。その次のバイトはメッセージに含ま
れるブロック番号を表し、それに続くバイトは、先行す
る4バイトが正しく送受信されたことを確認するための
CRC検査の数値である。ブロックに対するデータはC
RC検査の数値の後に与えられる。ブロックサイズを復
号することにより、遠隔通信システム10はメッセージ
に含まれるデータの量を知る。この実施形態において
は、データ量はブロックサイズの2乗に等しく、1バイ
ト〜32キロバイトである。16ビットのCRC検査の
数値がデータの後に続き、データが正しく送受信された
ことを確認する。
【0049】リソースその他のデータ・ファイルの転送
を開始するため、ホスト・システム50は、エスケープ
文字、それに続く文字1、送信番号及びゼロ・ブロック
番号を遠隔通信システム10へ送信することにより、フ
ァイル転送会話を開始するコマンドを送る。実際のファ
イル・データの代わりに、ゼロ・ブロック番号に続くデ
ータのセクションは 1)「ファイル名」−−−13文字までのストリング 2)「ファイル長」−−−“0”から“9”までの文字
のストリング 3)「ファイル形式」−−−1文字−−リソース・ファ
イルに対する“R”他のファイルに対する“F” 4)「ファイル日付」−−−“0”から“9”までの文
字のストリング 5)「ファイル時間」−−−“0”から“9”までの文
字のストリング の情報を含む。
【0050】上記の項目のそれぞれはヌル(0)文字に
よって分離され、データの残余の部分にはヌル文字が挿
入されてブロックサイズを満たす。ゼロ・ブロック・コ
マンドを受信した後、遠隔通信システム10は与えられ
た「ファイル名」でハード・ディスク・ドライブ18に
ファイルを開き、アクティブなファイルの送信をアクテ
ィブなファイル・テーブルに登録する。「ファイル名」
に対する3バイトの拡張子はリソースの形式を定義す
る。即ち、“.DRC”はダイアログ・リソースを表
し、“.WMF”はメタ・グラフィックス・ファイルを
表し、“.BMP”はデバイスから独立のビットマップ
・グラフィックス・ファイルを表し、“.TXT”はA
SCIIテキスト・ファイルを表し、“.LST”はA
SCIIリスト・ファイルを表す。
【0051】送受信される新たなデータ・ブロック毎
に、遠隔通信システム10はデータについてCRC検査
を行い、その結果と送信されたCRC検査の数値とを比
較する。ブロックのCRC検査の数値が計算されたCR
C検査の数値と一致すると、新たなデータをファイルの
最後に追加することによりファイルを更新する。ファイ
ルのサイズが「ファイル・サイズ」と一致すると、転送
が完了し、ファイルが閉じられる。送信されるべきデー
タが更にあるならば、ファイルは開いた状態を取り続
け、ファイル転送レコードが保持され更新される。
【0052】データのブロックを成功裡に受信した後、
遠隔通信システム10はホスト・システム50へ肯定応
答(ACK)を送る。送信に誤りがあったならば、遠隔
通信システム10はホスト・システム50へ否定応答
(NAK)を送る。
【0053】図9は、肯定応答及び否定応答のデータ構
造を示している。再び、1バイト長のエスケープ文字
(27)が、ACKコマンド及びNAKコマンドを含む
全部のコマンドに先行する。エスケープ文字の後にAC
K(6)又はNAK(21)文字がある。ACK文字は
ブロックの成功した送信を示し、NAK文字はブロック
の不成功の送信を示す。その次のバイトは、ファイル
(4ビット)の送信番号と送信されたデータのブロック
のブロックサイズ値(4ビット)とを含む。その次のバ
イトは送信されたブロックの番号を表し、最後のバイト
は、先行する4バイトが正しく送受信されたことを保証
するのに使用される巡回冗長検査(CRC)の数値を表
す。
【0054】送信番号は応答において提供され、遠隔通
信システム10及びホスト・システム50において保持
される。これは、後述するとおり、ホスト・システム5
0は複数のファイル転送からのACKを期待しているか
らである。ブロック番号は、ホスト・システム50が次
のブロックの転送を開始する前に以前に送信されたブロ
ックの応答を待つ必要がないように提供される。
【0055】ファイル転送の適正な動作及び完了を保証
するために、ホスト・システム50は応答のないブロッ
クのリストを保持する。ACKが受信されると、ホスト
・システム50は当該ブロックを応答のないブロックの
リストから取り除く。しかし、ホスト・システム50が
NAKを受信すると、そのブロックは再送信され、応答
のないブロックのリストに残る。ブロックの送出を保証
するために、ブロックが送信されるとタイマーがセット
される。タイマーがACK又はNAKを受信することな
く満了すると、当該ブロックは再送信される。
【0056】この発明の重要な特徴によれば、コマンド
及び要求は、ファイル転送のブロックの間に遠隔通信シ
ステム10へ送信し、そこから受信することができる。
これにより、1つ以上のファイルの転送をバックグラウ
ンドで行いながら、ユーザーはホスト・システム50の
特徴へのアクセスを続行することができる。現在のファ
イル転送の全部のブロックを送信し終わらないうちに、
リソース又は他のファイルの送信が要求されると、送信
番号により、遠隔通信システム10及びホスト・システ
ム50は送信されるべきファイルを追跡することがで
き、それによって、複数のファイルの複数のブロックを
同時に送信することができる。
【0057】この発明の他の重要な特徴によれば、先行
のブロックに誤りが検出された後に送信されるデータの
ブロックは、遠隔通信システム10のRAM24にバッ
ファー記憶される。誤りを含むブロックの送信後、バッ
ファーされたブロックは再送信されたブロックと結合さ
れ、ファイル内の適切な位置に追加される。このように
して、正しく送信されたブロックの再送信は最小に保持
される。用心のため、誤りが検出された後に送出され得
るデータの量はウィンドウの特性によって制限される。
応答のないブロックの数が予め設定した値(例えば、4
ブロック)を越えると、ホスト・システム50は新たな
ブロックの送出を停止する。
【0058】時折、長いファイルの転送の場合に特に、
電話線における誤り又は他の誤りが発生し、遠隔通信シ
ステム10又はホスト・システム50にファイル転送を
アボートさせることがある。こうした場合、アボートさ
れたファイルの一部は正しく受信され、遠隔通信システ
ム10のハード・ディスク・ドライブ18に記憶された
可能性もある。
【0059】したがって、図10に示すとおり、ゼロ・
ブロック・コマンドを受信すると(ステップ300)、
遠隔通信システム10はハード・ディスク・ドライブ1
8をまずチェックし、「ファイル・サイズ」よりも小さ
いサイズで「ファイル名」と同じ名前のファイルが存在
するかどうかを決定する(ステップ302)。こうした
ファイルが存在しないと、遠隔通信システム10は「フ
ァイル名」というファイル名でファイルを開き、ホスト
・システム50に該ファイルを送るよう知らせる(ステ
ップ304)。ステップ306で、ホスト・システム5
0は、ファイルを遠隔通信システム10へ送信すること
により、ファイル転送を完了する。
【0060】「ファイル名」と同じ名前のファイルがハ
ード・ディスク・ドライブ18上に実在すれば、遠隔通
信システム10はその実在のファイルについてCRC検
査を実施し、送信番号、実在のファイルの長さ及びCR
C検査の数値を含む通知をホスト・システム50へ送る
(ステップ306)。そこで、ホスト・システム50
は、実在のファイルの長さによって識別された、転送さ
れるべきファイルの当該部分について同じCRC検査を
行い(ステップ308)、CRC検査が一致するかどう
かを決定する(ステップ310)。一致しなければ、ホ
スト・システム50は送信をアボートし、一致が発生し
なかった旨を遠隔通信システム10に対して通知する
(ステップ312)。CRC検査が一致すると、ホスト
・システム50は遠隔通信システム10に一致を通知
し、次いで、実在のファイルが持たない追加のデータ・
ブロックを遠隔通信システム10に対して送出する(ス
テップ314)。次いで、遠隔通信システム10は追加
のデータ・ブロックを以前の実在のブロックと結合し、
完全なファイルを形成する。
【0061】当業者には理解できるところであるが、遠
隔通信システム10からホスト・システム50へのファ
イル転送も同時に、これまで説明したと同じ方法で行う
ことができる。
【0062】この発明の遠隔通信システム10はリスト
ボックスを表示する能力を持つ。本質的には、リストボ
ックスは、ウィンドウ内に限られた数の項目を表示する
ことにより、また、ユーザーがリストをスクロールして
所望の他の項目を見ることができるようにすることによ
り、ユーザーが項目のリストを見ることができるように
するコントロールである。リストボックスは、大きな項
目リストボックスを表示するのを援助するのに特に有用
である。例えば、リストボックスは従業員のリストやデ
ィレクトリに蓄積されているドキュメントのリストを表
示する。リストボックスを表示するには、プログラム
は、リストボックスを含むストリングのリストボックス
を保持することが一般的には必要である。オペレーティ
ング・システムはデータ操作を取り扱うとともに、表示
モニタ26のウィンドウ内でリストボックスをスクリー
ン上に表示させる。
【0063】短いリスト(例えば、30項目よりも小さ
いもの)については、ホスト・システム50は、複数の
コマンドを発してラインを所要のリストボックスに挿入
することにより、リストボックスを保持するだけであ
る。コマンドの数を減らすために、ホスト・システム5
0は遠隔通信システム10に項目の全リストを送信する
だけでよい。次いで、項目のリストは遠隔のパーソナル
・コンピュータ12のオペレーティング・システムを用
いて保持され、表示される。しかし、数千以上の項目を
含むこともある大型のリストを保持し又は送信しなけれ
ばならないのを避けるために、この発明の遠隔通信シス
テム10はリストを更新する他の方法を提供する。
【0064】大型のリストボックスを更新する他の方法
は、リストボックスに含まれる項目の全部をユーザーは
見るのは稀であるという事実を利用する。図11におい
て、リストボックスを初期化するために、ホスト・シス
テム50は初期化ストリングを遠隔通信システム10へ
送る(ステップ400)。初期化ストリングはリストボ
ックスに含まれる項目の数を含んでいる。初期化ストリ
ングの送出直後に、ホスト・システム50はリストボッ
クスの可視部分を正しく表示するに足る項目を送出する
(ステップ402)。遠隔通信システム10は項目を受
信すると(ステップ404)、その項目をリストボック
スの可視部分に表示する(ステップ405)。
【0065】リストボックスの可視部分が移動すると必
ず、オペレーティング・システムはターミナル・エミュ
レータ・プログラム11に通知し、可視部分にブランク
・スペースが見えるかどうかを決定させる(ステップ4
06)。見えれば、ターミナル・エミュレータ・プログ
ラム11は、遠隔通信システム10がリストボックスを
正しく表示するのに必要な項目を持つかどうかチェック
する(ステップ408)。持っていれば、遠隔通信シス
テム10は所望の項目を表示する(ステップ410)。
遠隔通信システム10がリストボックスを正しく表示す
るのに必要な項目を持っていないならば、遠隔通信シス
テム10は所望の項目にマークを付し、項目を供給する
ようホスト・システム50に要求する(ステップ41
2)。
【0066】誤った電話線接続に関連した問題を最小化
するために、遠隔通信システム10は、リストボックス
の項目が要求されるとタイマーをセットする(ステップ
412)。ステップ414において、遠隔通信システム
10は所望の項目を受信したかどうか決定する。受信し
ていれば、遠隔通信システム10はその項目をリストボ
ックスの可視部分に表示する(ステップ405)。しか
し、受信していなければ、遠隔通信システム10はタイ
マーが満了したかどうかチェックする(ステップ40
6)。タイマーが満了していれば、遠隔通信システム1
0は所望の任意の項目をチェックし、リストボックスの
現在の可視部分におけるブランク・スペースについてリ
ストボックスをチェックする。この時点において、遠隔
通信システム10は、必要であれば、リストボックスの
項目の再送信を要求する(ステップ412)。
【0067】同じ項目に対する多重要求を除去するため
に、遠隔通信システム10はホスト・システム50から
受信した項目を保持する。また、遠隔通信システム10
は、ホスト・システム50からの情報に対する要求を、
任意の時点でリストボックスを正しく表示することがで
きる項目数に限定し、ユーザーが項目のリストを迅速に
スキャンしているだけのときにホスト・システム50に
よって送信されるべきデータ量を削減する。このように
して、不要なデータに対する多重要求がシステムのデー
タ転送能力を滞らせる(backlog)ことはない。
【0068】この発明の別の実施形態においては、ホス
ト・プログラム51はスクリプト言語で書かれている。
スクリプト言語は、ターミナル・エミュレータ・プログ
ラム11とコンパティブルであり且つ該プログラム11
によって認識可能なコマンドの組を提供する。例えば、
スクリプト言語は、ダイアログ・ボックス及びメッセー
ジ・ボックスを作成し破壊するためのコマンド、及び、
遠隔通信システム10からの種々雑多なメッセージ(例
えば、ボタンの作動や編集フィールドの更新に関係する
もの)に応答するためのコマンドを含む。そこで、スク
リプト言語は、実行可能なホスト・プログラム又はイン
タープリタによって翻訳することができるホスト・プロ
グラムを作成するため、スクリプト・コンパイラによっ
てコンパイルされる。
【0069】ホスト・プログラム51をスクリプト言語
で書くことにより、複数のホスト・システムを維持し保
守することが容易になる。スクリプト言語は、遠隔通信
システムとインターフェースすることができるホスト・
プログラムを作成するための簡単なプラットフォームを
提供すると共に、全部のホスト・システムに適用可能な
反復的で周知のコード(例えば、通信プロトコル等のた
めのコード)を開発し保持するためのホスト・システム
設計者の必要性を軽減する。
【0070】以上の詳細な説明から理解されるとおり、
この発明が開示するのは、システムの速度や可搬性を犠
牲にすることなく、ウィンドウ環境又はグラフィックス
環境において強力でユーザー・フレンドリなインターフ
ェースを提供する改良された遠隔通信システムである。
【図面の簡単な説明】
【図1】この発明に係る遠隔通信システムの一実施形態
の概略図で、主要な要素の配置を示している。
【図2】遠隔通信を初期化し、端末セッションを開始す
るための、図1の遠隔通信システムとホスト・システム
とが従う動作のシーケンスを表すフロー図である。
【図3】図1の遠隔通信システムとホスト・システムと
の間で送られるコマンドの一般的なデータ構造フォーマ
ットである。
【図4】図1の遠隔通信システム及びホスト・システム
によって使用される基本的なコマンドとそれらのパラメ
ータと簡単な説明とを示す表である。
【図5】図1の遠隔通信システム及びホスト・システム
によって使用される基本的なコマンドとそれらのパラメ
ータと簡単な説明とを示す表である。
【図6】図1の遠隔通信システム及びホスト・システム
によって使用される基本的なコマンドとそれらのパラメ
ータと簡単な説明とを示す表である。
【図7】遠隔のコンピュータ上でダイアログ・ボックス
を作成するための、図1の遠隔通信システムとホスト・
システムとが従う動作のシーケンスを表すフロー図であ
る。
【図8】リソースその他のファイルを図1の遠隔通信シ
ステムへ送信するのに使用されるデータ構造とファイル
転送プロトコルとを示す図である。
【図9】肯定応答(ACK)と否定応答(NAK)とに
対するデータ構造を示す図である。
【図10】遠隔のパーソナル・コンピュータへフィール
ドを送信するための、図1の遠隔通信システムとホスト
・システムとが従う動作のシーケンスを表すフロー図で
ある。
【図11】遠隔のパーソナル・コンピュータ上でリスト
ボックスを表示し保守するための、図1の遠隔通信シス
テムとホスト・システムとが従う動作のシーケンスを表
すフロー図である。
【符号の説明】
10:遠隔通信システム、11:ターミナル・エミュレ
ータ・プログラム、12:パーソナル・コンピュータ、
16:モデム、22:キーボード、 26:表示
モニタ、50:ホスト・システム、 51:ホスト・
プログラム、54:モデム。
───────────────────────────────────────────────────── フロントページの続き (71)出願人 596019215 1000 Hart Road,Suite 260,Barrington,Illin ois 60010,United Stat es of America

Claims (12)

    【特許請求の範囲】
  1. 【請求項1】 ホスト・プログラムを動かし一人以上の
    ユーザーにサービスを提供する形式のホスト・システム
    と遠隔的に通信するための遠隔通信システムにおいて、 前記ホスト・システムから送出されたコマンドとデータ
    を受信するための受信手段と、 前記受信手段に接続され且つオペレーティング・システ
    ムを動作させる中央処理ユニットであって、前記ホスト
    ・システムから送出されたコマンドを受け取るのに適し
    ており、受信された前記コマンドは前記オペレーティン
    グ・システムによって実行される基本タスクに基づくオ
    ペレーティング・システム・オブジェクトを含む中央処
    理ユニットと、 前記中央処理ユニット上で動作するターミナル・プログ
    ラムであって、受信されたコマンドを翻訳し該コマンド
    を前記オペレーティング・システムへ送って前記オペレ
    ーティング・システムに実行させるターミナル・プログ
    ラムと、 前記中央処理ユニットに接続され、前記オペレーティン
    グ・システムによって実行されたコマンドの結果を表示
    する表示装置と、を具備することを特徴とする遠隔通信
    システム。
  2. 【請求項2】 請求項1記載の遠隔通信システムであっ
    て、前記ホスト・システムによって保持されるリソース
    ・ファイルの形で、前記コマンドが前記ホスト・システ
    ムにより送出されることを特徴とする遠隔通信システ
    ム。
  3. 【請求項3】 請求項2記載の遠隔通信システムであっ
    て、前記リソース・ファイルを記憶するのに適したハー
    ド・ディスク・ドライブを更に備えることを特徴とする
    遠隔通信システム。
  4. 【請求項4】 請求項3記載の遠隔通信システムであっ
    て、前記オペレーティング・システム・オブジェクトが
    ダイアログ・ボックス、ウィンドウ、リストボックス及
    びフィールドを含むことを特徴とする遠隔通信システ
    ム。
  5. 【請求項5】 請求項3記載の遠隔通信システムであっ
    て、前記オペレーティング・システム・オブジェクトが
    ボタンを含み、前記ターミナル・プログラムが該ボタン
    がトリガされたことを前記ホスト・システムへ報告する
    ことを特徴とする遠隔通信システム。
  6. 【請求項6】 請求項3記載の遠隔通信システムであっ
    て、前記リソース・ファイルは、後の検索のために受信
    されてから前記遠隔通信システムの前記ハード・ディス
    ク・ドライブに記憶されており、前記ハード・ディスク
    ・ドライブ上で前記リソース・ファイルが利用可能でな
    いときのみ送信されることを特徴とする遠隔通信システ
    ム。
  7. 【請求項7】 請求項1記載の遠隔通信システムであっ
    て、前記ターミナル・プログラムがコマンドの成功した
    完了を前記ホスト・システムへ報告することを特徴とす
    る遠隔通信システム。
  8. 【請求項8】 請求項1記載の遠隔通信システムであっ
    て、前記ホスト・プログラムがスクリプト言語を用いて
    書かれていることを特徴とする遠隔通信システム。
  9. 【請求項9】 請求項1記載の遠隔通信システムであっ
    て、前記ホスト・システムが前記ターミナル・プログラ
    ムが利用不可能と決定したならば、前記ターミナル・プ
    ログラムが前記遠隔通信システムへ送信されることを特
    徴とする遠隔通信システム。
  10. 【請求項10】 送出システムからファイル記憶装置を
    備える受信システムへファイルを転送する方法であっ
    て、 転送されるべきファイルに関する情報であって送信番
    号、ファイル名及びファイル・サイズを含む情報を前記
    受信システムへ送信する段階と、 転送されるべきファイルとファイル名が同じでファイル
    ・サイズが小さい実在のファイルを前記ファイル記憶装
    置が含むかどうかを、前記受信システムにより決定する
    段階と、 ファイル名が同じでファイル・サイズをが小さいファイ
    ルが存在しないとき、(i)前記受信システムによって
    前記ファイル名で前記ファイル記憶装置にファイルを開
    き、(ii)転送されるべき該ファイルを前記送出システ
    ムによって前記受信システムへ送信する段階と、 ファイル名が同じでファイル・サイズが小さいファイル
    が存在しないとき、(i)前記受信システムによって前
    記実在のファイルに対して巡回冗長検査を実行し、(i
    i)同じファイル名のファイルが存在することを前記送
    出システムへ通知し、(iii)巡回冗長検査の結果及び
    前記実在のファイルのファイル・サイズを前記送出シス
    テムへ送信し、(iv)前記実在のファイルのファイル・
    サイズによって識別された転送されるべきファイルの該
    当部分について同じ巡回冗長検査を前記送出システムに
    よって実行し、(v)これらの巡回冗長検査の結果を比
    較する段階と、 前記巡回冗長検査の結果が一致したとき、(i)前記受
    信システムによって前記実在のファイルを開き、(ii)
    転送されるべきファイルの残りの部分を前記送出システ
    ムから前記受信システムへ送信する段階と、 前記巡回冗長検査の結果が不一致のとき、転送をアボー
    トする段階と、 ファイル転送に関連するファイル番号を前記受信システ
    ムにより保持しておき、コマンド及び追加のファイルを
    同時に送信できるようにする段階と、を具備することを
    特徴とする方法。
  11. 【請求項11】 遠隔通信システムの表示装置上で項目
    のリストを保持する方法であって、該リストがホスト・
    システムにあり、最大数の項目のみが前記表示装置のウ
    ィンドウ内に表示される方法において、 前記ウィンドウの可視部分に項目を正しく表示する必要
    があるかどうかを前記遠隔通信システムが決定する段階
    と、 項目が必要なときに、前記遠隔通信システムが前記ウィ
    ンドウの前記可視部分に項目を正しく表示するよう要求
    する段階と、 満足されるべき要求の数を表示されるべき項目の最大数
    に限定する段階と、 前記ホスト・システムで受信された項目を前記遠隔通信
    システムにより保持し、前記ウィンドウに表示すべき項
    目を前記遠隔通信システムによって表示する段階と、を
    具備することを特徴とする方法。
  12. 【請求項12】 ホスト・プログラムを動かし一人以上
    のユーザーにサービスを提供する形式のホスト・システ
    ムと遠隔的に通信するための遠隔通信システムにおい
    て、 前記ホスト・システムから送出され且つ実行可能なコー
    ドを含むデータを受信するための受信手段と、 前記受信手段に接続されており、前記実行可能なコード
    に適した中央処理ユニットと、 前記中央処理ユニット上で動作するターミナル・プログ
    ラムであって、前記実行可能なコード翻訳し前記実行可
    能なコードを前記中央処理ユニットへ送って実行させる
    ターミナル・プログラムと、 前記中央処理ユニットに接続され、前記中央処理ユニッ
    トによって実行されたコマンドの結果を表示する表示装
    置と、を具備することを特徴とする遠隔通信システム。
JP8025592A 1995-02-13 1996-02-13 Osをベースとする遠隔通信システム Pending JPH08272712A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US38821395A 1995-02-13 1995-02-13
US388213 1995-02-13

Publications (1)

Publication Number Publication Date
JPH08272712A true JPH08272712A (ja) 1996-10-18

Family

ID=23533164

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8025592A Pending JPH08272712A (ja) 1995-02-13 1996-02-13 Osをベースとする遠隔通信システム

Country Status (5)

Country Link
US (2) US6438619B1 (ja)
EP (1) EP0726519B1 (ja)
JP (1) JPH08272712A (ja)
CA (1) CA2168087A1 (ja)
DE (1) DE69622449T2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8187099B2 (en) 2000-03-30 2012-05-29 Nintendo Co., Ltd. Game method and apparatus for enabling a video game system console to execute video game programs originally written for execution on architecturally different video game platforms
US8986112B2 (en) 2006-11-17 2015-03-24 Nintendo Co., Ltd. System and method for downloading video game programs

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2168087A1 (en) * 1995-02-13 1996-08-14 James S. Coman Operating system based remote communication system
US6449662B1 (en) * 1997-01-13 2002-09-10 Micro Ear Technology, Inc. System for programming hearing aids
US7787647B2 (en) 1997-01-13 2010-08-31 Micro Ear Technology, Inc. Portable system for programming hearing aids
US6424722B1 (en) 1997-01-13 2002-07-23 Micro Ear Technology, Inc. Portable system for programming hearing aids
JP3414674B2 (ja) * 1999-06-21 2003-06-09 オリンパス光学工業株式会社 電子カメラシステム
TW454120B (en) 1999-11-11 2001-09-11 Miralink Corp Flexible remote data mirroring
DK1252799T3 (da) 2000-01-20 2012-01-23 Starkey Lab Inc Fremgangsmåde og apparat til tilpasning af høreapparater
DE10007680A1 (de) * 2000-02-19 2001-08-30 Hoerner Jens Verfahren zur Fernüberwachung von Geräten und Anlagen und Rechnereinheit hierzu
US6917373B2 (en) * 2000-12-28 2005-07-12 Microsoft Corporation Context sensitive labels for an electronic device
US7227511B2 (en) * 2000-04-24 2007-06-05 Microsoft Corporation Method for activating an application in context on a remote input/output device
US7030837B1 (en) * 2000-04-24 2006-04-18 Microsoft Corporation Auxiliary display unit for a computer system
CN1205541C (zh) * 2000-11-27 2005-06-08 诺基亚公司 提供媒介功能的方法与系统
US7359949B2 (en) * 2000-12-29 2008-04-15 Intel Corporation Remotely controlling a UNIX-based system
FR2823333B1 (fr) * 2001-04-05 2003-06-20 France Telecom Systeme terminal interactif a equipement central multi-applicatif et peripheriques
US7340163B2 (en) * 2002-12-16 2008-03-04 Alcatel Lucent Signaling protocol and architecture for protection rings
US20070185912A1 (en) * 2006-02-08 2007-08-09 International Business Machines Corporation Off-loading I/O and computationally intensive operations to secondary systems
CA2601662A1 (en) 2006-09-18 2008-03-18 Matthias Mullenborn Wireless interface for programming hearing assistance devices
US8032354B2 (en) * 2007-12-27 2011-10-04 Nvidia Corporation Method and system for communicating between two independent software components of a device
US9052934B2 (en) * 2008-06-30 2015-06-09 Fluke Corporation Remote command interpreter
US8028108B2 (en) * 2009-03-10 2011-09-27 International Business Machines Corporation Virtual KVM functionality for computer systems
US20140184613A1 (en) * 2013-01-01 2014-07-03 Doron Exterman Method for offloading graphic processing unit (gpu) processing tasks to remote computers

Family Cites Families (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4125873A (en) 1977-06-29 1978-11-14 International Business Machines Corporation Display compressed image refresh system
US4204206A (en) 1977-08-30 1980-05-20 Harris Corporation Video display system
US4315310A (en) 1979-09-28 1982-02-09 Intel Corporation Input/output data processing system
US4725977A (en) * 1983-06-03 1988-02-16 Cpt, Ltd. Cartridge programming system and method using a central and local program library
US4665501A (en) 1983-09-30 1987-05-12 Esprit Systems, Inc. Workstation for local and remote data processing
US4644472A (en) * 1984-11-19 1987-02-17 At&T Bell Laboratories Flow control between a data terminal and a host computer system
US4899136A (en) 1986-04-28 1990-02-06 Xerox Corporation Data processor having a user interface display with metaphoric objects
US4935870A (en) * 1986-12-15 1990-06-19 Keycom Electronic Publishing Apparatus for downloading macro programs and executing a downloaded macro program responding to activation of a single key
US4903218A (en) * 1987-08-13 1990-02-20 Digital Equipment Corporation Console emulation for a graphics workstation
US4972368A (en) * 1988-03-04 1990-11-20 Stallion Technologies, Pty. Ltd. Intelligent serial I/O subsystem
US5050104A (en) 1988-04-18 1991-09-17 International Business Machines Corporation Method for notifying a terminal user of an asynchronous event occurrence
US5043919A (en) 1988-12-19 1991-08-27 International Business Machines Corporation Method of and system for updating a display unit
US5214756A (en) 1989-03-10 1993-05-25 International Business Machines Corporation Direct manipulation of icons via conversational linking
JPH0778782B2 (ja) * 1989-07-19 1995-08-23 インターナショナル・ビジネス・マシーンズ・コーポレーシヨン 対話型コンピュータ・システムならびにその使用環境適合化装置および方法
WO1991002313A1 (en) * 1989-08-03 1991-02-21 International Business Machines Corporation Data processing network
US5175813A (en) 1989-08-14 1992-12-29 International Business Machines Corporation Window display system and method for creating multiple scrollable and non-scrollable display regions on a non-programmable computer terminal
US5206934A (en) * 1989-08-15 1993-04-27 Group Technologies, Inc. Method and apparatus for interactive computer conferencing
CA2025142A1 (en) * 1989-09-28 1991-03-29 John W. White Portable and dynamic distributed applications architecture
CA2039027C (en) * 1990-05-22 1998-07-07 Stephen Troy Eagen Method and apparatus for assisting in the presentation and removal of windows
US5247614A (en) * 1990-08-30 1993-09-21 International Business Machines Corporation Method and apparatus for distributed processing of display panel information
DE69133025T2 (de) * 1990-08-31 2002-11-21 Texas Instruments Inc., Dallas Multiprozessorsystem
US5162986A (en) * 1990-10-19 1992-11-10 Allen-Bradley Company, Inc. Remote downloading and uploading of motion control program information to and from a motion control I/O module in a programmable controller
US5410681A (en) * 1991-11-20 1995-04-25 Apple Computer, Inc. Interpreter for performing remote testing of computer systems
JPH05233570A (ja) * 1991-12-26 1993-09-10 Internatl Business Mach Corp <Ibm> 異オペレーティング・システム間分散データ処理システム
EP0568386A3 (en) * 1992-05-01 1995-08-16 R Brent Johnson Console simulator, multi-console management system, and console management distribution system
US5367667A (en) * 1992-09-25 1994-11-22 Compaq Computer Corporation System for performing remote computer system diagnostic tests
JP3503957B2 (ja) * 1992-11-25 2004-03-08 富士通株式会社 遠隔データベースの制御方法及び装置
US5581270A (en) * 1993-06-24 1996-12-03 Nintendo Of America, Inc. Hotel-based video game and communication system
US5583761A (en) * 1993-10-13 1996-12-10 Kt International, Inc. Method for automatic displaying program presentations in different languages
US5421009A (en) * 1993-12-22 1995-05-30 Hewlett-Packard Company Method of remotely installing software directly from a central computer
US5530961A (en) * 1994-04-21 1996-06-25 Janay; Gad Terminal emulator enhancer with local configurability
US5831609A (en) * 1994-06-17 1998-11-03 Exodus Technologies, Inc. Method and system for dynamic translation between different graphical user interface systems
US5978594A (en) * 1994-09-30 1999-11-02 Bmc Software, Inc. System for managing computer resources across a distributed computing environment by first reading discovery information about how to determine system resources presence
US5630066A (en) * 1994-12-20 1997-05-13 Sun Microsystems, Inc. System and method for locating object view and platform independent object
JP3946275B2 (ja) * 1995-01-10 2007-07-18 富士通株式会社 リモートインストールシステムおよび方法
CA2168087A1 (en) * 1995-02-13 1996-08-14 James S. Coman Operating system based remote communication system
US6078951A (en) * 1996-11-27 2000-06-20 Intel Corporation Method and apparatus for automating a software delivery system by locating, downloading, installing, and upgrading of viewer software

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8187099B2 (en) 2000-03-30 2012-05-29 Nintendo Co., Ltd. Game method and apparatus for enabling a video game system console to execute video game programs originally written for execution on architecturally different video game platforms
US8986112B2 (en) 2006-11-17 2015-03-24 Nintendo Co., Ltd. System and method for downloading video game programs
US9259654B2 (en) 2006-11-17 2016-02-16 Nintendo Co., Ltd. System and method for obtaining software programs

Also Published As

Publication number Publication date
DE69622449D1 (de) 2002-08-29
US20020184400A1 (en) 2002-12-05
US6438619B1 (en) 2002-08-20
EP0726519A1 (en) 1996-08-14
CA2168087A1 (en) 1996-08-14
DE69622449T2 (de) 2003-03-06
EP0726519B1 (en) 2002-07-24

Similar Documents

Publication Publication Date Title
JPH08272712A (ja) Osをベースとする遠隔通信システム
US6014702A (en) Host information access via distributed programmed objects
US4761642A (en) System for providing data communication between a computer terminal and a plurality of concurrent processes running on a multiple process computer
US6662209B2 (en) High performance client/server editor
US6219054B1 (en) Information processing method and apparatus for preparing a GUI on a client by utilizing an electronic mail message or an agent
US6144990A (en) Computer apparatus and method for communicating between software applications and computers on the world-wide web using universal variable handling
US6343311B1 (en) Methods, systems and computer program products for remote control of a processing system
US5124909A (en) Software program for providing cooperative processing between personal computers and a host computer
US8447807B2 (en) Method and apparatus for updating and synchronizing information between a client and a server
US8136127B1 (en) System and method for linearly managing client-server communication
US6237005B1 (en) Web server mechanism for processing multiple transactions in an interpreted language execution environment
EP1187022A2 (en) Method and apparatus allowing a limited client device to use the full resources of a networked server
US5564003A (en) Batch registration of object classes
JPH10340252A (ja) 書式作成方法
JP2006517046A (ja) ハンドヘルドコンピューターにおける自動データインストールのためのシステムおよび方法
JPH0644168A (ja) コンピュータ・ネットワーク
KR20030060884A (ko) 웹 운영체제 및 웹 데스크탑
US6473759B1 (en) Method and system for accessing java applications
US6334144B1 (en) System and method to expedite the transfer of data within a network by sending request for source information to server through a slow-speed data transfer facility and downloading data to user through a fast-speed data transfer facility
US20050097576A1 (en) Method and system for accessing operating system resources
JP2000276417A (ja) Webページ作成システム、Webページ作成方法、サーバ及び記録媒体
JPH09146859A (ja) 端末管理機能付ネットワークシステム
US20040268321A1 (en) System and method for cross-platform computer access
US6594689B1 (en) Multi-platform helper utilities
JPH05158699A (ja) クラス情報を管理するための方法及び装置