专利汇可以提供Remote communications system based on os专利检索,专利查询,专利分析的服务。并且PROBLEM TO BE SOLVED: To provide an interface which is fast and user-friendly. SOLUTION: A remote communications system 10 offers an interface which is fast and user-friendly. The system 10 based on an OS is accomplished by providing a remote computer 12 with a small-sized, relatively simple terminal program 11. The program 11 receives data and a command from a host system 50. A used command is based on a basic task (e.g. creation of OS objects such as a window, a button, an editing field, a list box, etc.) which can be understood and realized by the OS of the system 10.,下面是Remote communications system based on os专利的具体信息内容。
【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
标题 | 发布/更新时间 | 阅读量 |
---|---|---|
一种面向中文的预训练方法及系统 | 2020-05-08 | 967 |
一种基于虚拟机器人的VR操作引导及陪练方法和系统 | 2020-05-08 | 670 |
一种高精度测量仪器的数值个性化显示方法 | 2020-05-11 | 917 |
一种调控云平台的电网图形标准化系统 | 2020-05-13 | 468 |
一种智能卡登录Windows系统的方法及私有凭据提供装置 | 2020-05-11 | 841 |
一种连接选项显示方法、装置及计算机可读存储介质 | 2020-05-11 | 422 |
一种后台应用程序的管理方法、装置及智能设备 | 2020-05-12 | 336 |
一种集成有Android系统的DECT通讯装置 | 2020-05-14 | 105 |
一种基于线上线下双重社交关系的活动推荐系统及方法 | 2020-05-13 | 652 |
测量信息处理方法、装置、超声设备及存储介质 | 2020-05-13 | 451 |
高效检索全球专利专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。
我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。
专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。