JPH0659934U - サーバー拡張用アーキテクチャ - Google Patents

サーバー拡張用アーキテクチャ

Info

Publication number
JPH0659934U
JPH0659934U JP006370U JP637093U JPH0659934U JP H0659934 U JPH0659934 U JP H0659934U JP 006370 U JP006370 U JP 006370U JP 637093 U JP637093 U JP 637093U JP H0659934 U JPH0659934 U JP H0659934U
Authority
JP
Japan
Prior art keywords
server
input
output
trap
extension
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
JP006370U
Other languages
English (en)
Inventor
フランシス アンニッチアリコ リチャード
トッド チェスラー ロバート
クウェンチン ジャミソン アレン
Original Assignee
ディジタル イクイプメント コーポレイション
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ディジタル イクイプメント コーポレイション filed Critical ディジタル イクイプメント コーポレイション
Publication of JPH0659934U publication Critical patent/JPH0659934U/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3485Performance evaluation by tracing or monitoring for I/O devices

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Computer And Data Communications (AREA)

Abstract

(57)【要約】 (修正有) 【目的】 サーバ拡張用アーキテクチャーが、入力イベ
ント及び出力プロトコールリクエストを傍受する手段を
提供する。Xウィンドウ形システム上で遠隔端末エミュ
レーションが可能である。 【構成】 本発明のアーキテクチャは、サーバー12内
のメモリー部分と同等なメモリー部分をサーバー拡張内
に有し、このサーバー内のメモリー部分には、入出力処
理ルーチンのアドレスを記憶する。これらのアドレスを
メモリーのサーバー拡張用部分内のメモリー部分のアド
レスとスワッピングすることにより、サーバー拡張は入
力及び出力を傍受して、サーバー又は応用プログラムを
監視し、ワークステーション14を制御する。サーバー
拡張アーキテクチャーは応用プログラムの制御の下で作
動する。

Description

【考案の詳細な説明】
【001】
【産業上の利用分野】
本考案は、コンピュータシステムに用いられるサーバー拡張用アーキテクチャ にかかり、特に応用プログラムによって発生した入力イベント及びプロトコル要 求を傍受するためのサーバー拡張用アーキテクチャに関するものである。傍受さ れた入力イベントおよびプロトコル要求は引き続いて種々の目的に、例えば、入 力イベントとプロトコルリクエストとの間の時間経過を測定してサーバーもしく は応用プログラムの性能を評価するのに用いられる。
【0002】
【従来の技術】
サーバーはコンピュータシステムのアーキテクチャの一部であり、コンピュー タまたはセントラルプロセシングユニットとユーザーとの間のインタフェースと して機能する。サーバーの性能を試験あるいは評価することは種々の目的から必 要である。例えば、ユーザーの入力とシステムの応答間の長い遅れを検出し続い てこれを除去することができる。同様に、コンピュータのセントラルプロセシン グユニット上で動作する応用プログラムを試験し評価することは多くの目的で必 要である。
【0003】 サーバーの性能をテストする通常の方法は、ビデオカメラまたはストップウォ ッチを用いることである。このような方法の1つでは、末端および端末スクリー ンで作業するユーザーまたはオペレータがビデオカメラで撮影される。その後で ビデオを機械にかけて再現させ、時間をフィルムスピードの関数として表示する 。次で、性能メトリックスが、フィルムイベントの開始とフィルムイベントの終 了の表示時間の差に基づいて計算される。次で各時間ごとのイベントに対する性 能メトリックスが記録される。もう1つの方法では、性能メトリックスを計算す るステップが、応答時間をストップウォッチを用いて手動で測定することを含ん でいる。いずれの方法でも、すべての時間的イベントに対する性能メトリックス が引続いて解析され、応用プログラムまたはサーバーの性能が求められる。これ と同じアプローチはまた、サーバーの単一または特定の入力イベントに対する性 能を求めるのにも使用される。しかしながら、この方法は時間がかかるばかりで なく、退屈なものであり、またエラーを生じ易い。さらにこの方法では、ユーザ ーがワークステーションで実際に操作する必要がある。従ってユーザーからのシ ミュレーション入力は不可能である。さらに、実際のユーザーからの入力は1つ の操作ごとに整合性をもっていないので、ランごとに整合性を保つことが不可能 である。
【0004】 応用プログラムまたはサーバーの、入力イベントまたはプロトコル要求に対す る性能を試験するもう1つの方法は、遠隔端末エミュレーション(RTE)を用 いることである。RTEは、サーバーや応用プログラムに入力を送るのにユーザ ー自身やオペレータを不用とし、オペレータの代りに、ソフトウェアで作成され る入力が用いられ、これがサーバーの入力イベント列にロードされる。しかしな がら、Xウィンドウ形システムのサーバーに対するRTEの以前の試みでは、出 力で発生したプロトコール要求をサーバーまたは応用プログラムで傍受する方法 を提供するのに失敗した。さらに、これらの試みはいすれも遠隔ソース、すなわ ち入力を非Xの伝送リンク、例えば、ネートワークまたは非同期端末ラインを介 して入力を送るソースからシミュレーション入力を受信するのに支援になってい ない。従ってRTEによるこれら従来の試みは、ネットワーク、モデル、および 他の周辺機器を含むシステム構造を試験することができない。
【0005】
【考案の概要】
本考案は、コンピュータシステムで用いられるサーバー拡張用のアーキテクチ ャの中に存在する。拡張はサーバー機能を行うソフトウェアモジュールであり、 サーバー変数に対するアクセスは有するがサーバーの定常的な一部とはなってい ない。サーバー延長は、ユーザー入力イベントを、これらが応用プログラム(以 下、クライアントと呼ぶ)で受信される前に傍受し、入力に関する情報を、入力 の形式および傍受された時間を含み、クライアントで指定された場所に書込み、 あるいはストアする。クライアント指定の場所は、どんな形式の格納装置でもよ く、例えばシーケンシャルファィルでよい。格納装置はローカルなものでもよく 、あるいは遠隔位置にあってモデムライン、端末ライン、またはネットワークラ インで結合されるものでもよい。さらに、サーバー拡張は、応用プログラムで発 生された出力プロトコル要求を、端末のスクリーン表示への可視変換が行われる 前に傍受する。出力プロトコル要求は、応用プログラムで発生される信号であり 、サーバーへ送られてサーバーが端末のスクリーン上にテキストまたはグラフィ ックを描けるようにするものである。サーバー拡張はまた、出力プロトコル要求 に関する情報を、要求の形式およびこれが傍受された時間を含んで、クライアン トの指定した場合に書込み、またはストアする。クライアント指定の場所は、ど んな形式の格納装置でもよく、例えばシーケンシャルファイルでもよい。格納装 置はローカルなものでもよく、あるいは遠隔位置にあってモデムライン、端末ラ イン、またはネットワークラインで結合されるものでもよい。最終的にサーバー 拡張は、ワークステーションのマウスやキーボードなどのようなユーザ操作の入 力機器からの入力、または制御用クライアントからのシミュレーション入力を受 信することができる。
【0006】 本考案は、その広い態様としては、セントラルプロセシングユニット、オペレ ーチングシステム、ユーザー指定入力をその端末位置でコンピュータに入力する 1つ以上の入力ドライブ、テキストまたはグラフィック画像を表示する1つ以上 の出力ドライブ、対話モードで動くコンピュータプログラム、上記ユーザー指定 入力をユーザーによる入力と上記コンピュータプログラムによる受信との間で傍 受する手段(X Trap)、および出力命令を上記コンピュータプログラムと 上記1つ以上の出力ドライブとの間で傍受する手段を備えたコンピュータシステ ムである。
【0007】 ここで説明するサーバー拡張アーキテクチャは、入力イベントおよびプロトコ ル要求を傍受し、これを用いて制御クライアントがサーバーまたは応用プログラ ムをモニタしたり、ワークステーションを制御したりして、例えば、応用プログ ラム、システム構成、およびユーザーインターフェースの性能をテストできるよ うにするものである。サーバー拡張アーキテクチャのデータ構成は、メモリの部 分あるいはブロックとして構成され、メモリの種々の部分またはブロックで構成 されるサーバーのデータ構造と似ているか、あるいは基本的に同じである。さら に、本発明のサーバー拡張アーキテクチャは、クライアントまたは応用プログラ ムの制御によって動作する。従って、このサーバー拡張アーキテクチャは周知の Xサーバーオペレーチングシステムプログラムに関連して述べられているが、他 のオペレーチングシステムでも同様に実行できるものである。
【0008】 このサーバー拡張アーキテクチャはまた、RTEすなわち遠隔末端エミュレー ションを備え、遠隔ソースからシミュレーション入力を受信することができる。 例えば、このサーバー拡張アーキテクチャは、R.W.Scheiffler, J.Gettys,およびR.Newman,X Window System ,Digital Prlss(1988)に報告されている有名なオペレーチ ングシステムであるXウィンドウシステムに対するRTE能力をもっている。こ のサーバー拡張アーキテクチャはまた、ソフトウェアの回帰テスト、および異な るハードウェアおよびソフトウェアプラットフォーム間の応用プログラムの競合 性あるいは干渉性テストに対する迅速で安価な手段を提供する。このサーバー拡 張アーキテクチャはさらに、端末におけるユーザーの対話をモニタし、正しい対 話を立証できることが重要である場合に、コンピュータベースの命令を可能にす る。このアーキテクチャは、さらに、立証者が立証すべき応用プログラムを理解 する必要がない場合、あるいは立証よりも顧客に集中する必要がある場合に、ト レードショーによる立証を可能にする。上記の例から分るように、本考案による サーバー拡張アーキテクチャは、当業者にとって周知の幅広い種々の目的に利用 することが可能である。
【0009】
【実施例】
以下、本考案を図面を参照して説明する。図1は、本考案によるサーバー拡張 アーキテクチャの好ましい一実施例を、コンピュータシステムの基本的なコンポ ーネントに対して用いた場合の一般的な動作を示している。ソフトウェア構成は 、Xサーバー12と対話するセントラルプロセシングユニット10上で動作する 。Xサーバーは周知のオペレーチングシステムプログラムであり、端末あるいは ワークステーション14のユーザーインタフェースを制御すると共に、キーボー ド20またはテキストのような標準のユーザインタフェース要素に加えて、ウィ ンドウ16およびマウス18を利用している。Xサーバー12は、“拡張”、す なわちXサーバーの各変数に対するアクセスを有すると共に、但しXサーバーの 垣久的な一部ではないソフトウェアモジュールをサポートできる。本考案におけ る拡張22は“X Trap 拡張”と呼ばれるものである。なお、当業者にと って、本考案の記述が他のオペレーチングシステムおよびサーバーにどのように 適用されるかは容易に理解できることである。
【0010】 複数の応用プログラム24A〜24Nは、セントラルプロセシングユニット( CPU)10上で動作できる。CPU10上で動作する応用プログラムまたはク ライアント24Nは、Xサーバー12のソフトウェア拡張である。X Trap 拡張22の制御クライアントとして動作する。オペレーチングシステム機能を実 行する既知のソフトウェアモジュール、あるいは拡張はサーバーで制御され、X Trap 拡張22は単一の応用プログラムあるいはクライアント24Nで制 御される。制御クライアント24NはX Trap 拡張22のパラメータをセ ットすると共に、X Trap 拡張22のオンオフを行う。マウス18または キーボード20からのユーザー入力は先ずXサーバー12で受信される。本発明 はまた、他の入力機器を用いたオペレーチングシステムのほかに1つのタイプの 入力機器を用いたオペレーチングシステムにも適用できる。X Trap 拡張 22は、入力を傍受し、入力のコピーを、“書込”ルーチン用にフォーマットを 変更し(これについて下記に詳述する)、元の入力は通常のプロセシング用とし てサーバー12に送る。最終的に、モニタまたは制御されているクライアント2 4A〜24Nは元の入力を受信し、その特定の実施手順に従って処理する。
【0011】 クライアント24A〜24Nは何れも、プロトコル要求の形で出力を発生し、 これによって通常、ワークステーション14における或る種類のスクリーン出力 を制御する。制御クライアント24Nは同じ出力をもう1つのワークステーショ ン(図示せず)のスクリーン上に同時に表示する。これらの出力プロトコル要求 によって、サーバーは、ワークステーション14の表示スクリーン上にテキスト 、ライン、あるいは他のグラフィック要素を描く。上記の実施例では、X Tr apが傍受する応用プログラムとXサーバー間の通信は、出力プロトコル要求で あるが、本考案は、サーバーとどのクライアントとの間の通信を傍受するのにも 用いることができる。Xサーバー12は出力プロトコル要求を応用プログラム2 4A〜24Nの1つから受信し、X Trap 拡張22がXサーバー12がこ れを処理する前にこれを傍受する。入力の場合と同じように、出力の場合もX Trap 拡張22はコピーのフォーマット変更を行い、元の出力はXサーバー へ返送する。最終的に、出力はワークステーション14のスクリーンに到達し、 テキスト、ライン、または消去の形式を制御する。
【0012】 X Trap 拡張22は、拡張のコードの一部である“書込”サブルーチン を呼出す。X Trap は各通信チャンネルごとに別々の“書込”ルーチンを 持っており、これを介してX Trap が制御クライアントと通信する。制御 クライアントはX Trap から遠隔のにあってもよく、例えばネットワーク ラインの終端でもよい。“書込”ルーチンは、入力および出力に関する集められ た情報を、制御クライアント24Nまたはシーケンシャルファイル26へ送る。
【0013】 図2は、X Trap 拡張とサーバーとのアーキテクチャを示したものであ る。本考案は、このタイプのアーキテクチャの使用に限定されるものではなく、 入力およびプロトコル要求を処理するサブルーチンを呼出すものであれば、どの ようなオペレーチングシステムのアーキテクチャ上でも作動できる。Xサーバー は、キーボードデータを、そのアドレスが“Key Board Proces s Input proc”のストア位置28にストアされているルーチンに送 ることによって処理する。また、サーバーはマウス入力を同じような方法で、す なわち“Pointer Process Input Proc”ストア位置 30を参照することによって処理する。また、Xサーバーは、出力プロトコル要 求を、適当な情報を、そのアドレスが“Proc Vector”アレイ32の 特定のエレメントにストアされているルーチンに送ることによって処理する。
【0014】 X Trap 拡張22は、Xサーバーのデータ構成の半分以下のサイズのデ ータ構成をもっている。 X Trap データ構成はまた、メモリ内に、Xサーバーのデータ構成と同 じ、またはほゞ同じ構成で配置されている。本考案の記述を用いて、他のオペレ ーチングシステムを模倣し、これによって、入力(あるいは出力)を自分に代っ て処理する拡張サブルーチンを呼出す手段を得ると共に、同時に、拡張の使用が 終った後にオペレーチングシステムを通常の状態に戻す手段を得ることは、当業 者にとって容易に理解できることである。
【0015】 X Trap がキーボード入力を傍受するように構成されているときは、X サーバーのストア位置、“Keyboard Process Input P roc”28はキーボード入力を処理するX Trap ルーチンのアドレスを 含んでおり、またこのストアスペースの“Keyboard_inputpro c”と呼ばれるX Trap バージョン34は、Xサーバーの入力処理ルーチ ンのアドレスをストアしている。またX Trap がマウス入力を傍受するよ うに構成されているときは、Xサーバーのストア位置、“Pointer Pr ocess Input Proc”30は、マウス入力を処理するX Tra p ルーチンのアドレスを含んでおり、またこのストアスペースの、“Poin ter_Input Proc”と呼ばれるX Trap バージョン36は、 Xサーバーの入力処理ルーチンのアドレスをストアしている。
【0016】 上記の構成から分るように、X Trapはキーボードおよびマウスからの入 力を傍受する。上述のように、Xサーバーはキーボード入力を受信するときは、 そのアドレスが“Key Board Process Input Proc ”28にストアされているルーチンを呼出し、またマウス入力を受信するときは 、そのアドレスが“Pointer Process Input Proc” 30にストアされているルーチンを呼出す。X Trap の実行中は、これら のストア位置28および30はX Trap ルーチンのアドレスを含んでいる ので、キーボードおよびマウスからの入力はX Trap 拡張に送られる。
【0017】 X Trap 拡張は、クライアントで発生された出力プロトコル要求を、X Trap 拡張出力処理ルーチンのアドレスを、“Proc Vector” という名称のデータ構成32にストアされているXサーバー出力処理ルーチンの アドレスとスワップすることによって傍受する。出力プロトコル要求を処理する ルーチンの各アドレスは4バイトの値になっている。好ましい実施例では、25 6個の4バイトアドレスがあるが、アレイ数がこれより小さいもの、または大き いものも本発明のスコープに入るものである。アレイエレメント42は、“Im age Text 8”要求を処理するルーチン用のアドレスを含んでいる。こ のルーチンは、スクリーン上に、テキストの単一ストリング表示を行う。X T rap が“Image Tex 8”出力プロトコル要求を傍受するように構 成されているときは、この位置にストアされている値が、スクリーン上にテキス トの単一ストリング表示を行うX Trap ルーチンのアドレスとなる。この ルーチンは“ext_imgetext 8”とよばれる。“Image Te xt 8”ルーチンのアドレスは、Xサーバーの、“Proc Vector” データ構成32のX Trap のバージョンである“ext_Provect or”アレイ38の対応するエレメント44にストアされている。従って、Xサ ーバーが、何れかのクライアントからテキストのストリング表示の要求を受信し たものは、そのアドレスが“Proc Vector”32のエレメント42に ストアされているルーチンを呼出す。X Trap がアクチブのときは、その アドレスは、通常はエレメント44にストアされているX Trap ルーチン “ext_imagetext 8”のアドレスとなる。
【0018】 他の出力プロトコル要求は、例えば、スクリーン上にテキストを2ストリング 以上で表示するルーチン“Poly Text 8”、スクリーン上にウィンド ウを描くようにサーバーを準備させるルーチン“Map Window”、およ びスクリーンからウィンドウを消去するルーチン“Unmap Window” を含んでいる。X Trap データ構成38内の対応するルーチンは、“ex t_Polytex 8”、“ext_Unmapwindow”、および“e xt_mapwindow”、である。他の出力プロトコル要求も、同じような 方法でX Trap 拡張によって傍受できる。
【0019】 X Trap 拡張は入力または出力を傍受したとき、入力または出力情報の コピーを作成し、クライアントで形成されたX Trap の“書込”ルーチン で処理されうるようにフォーマットが与えられる。X Trap が“no”さ れると、“write”ルーチンのアドレスは“x trap_write”ベ クトル40にストアされる。x Trap が“off”されると、“x tr ap_write”が、ヌルルーチン、すなわち制御をX Trap に戻すだ けのルーチンのアドレスを保持する。何れの場合にも、X Trap が入力ま た出力のどれをも傍受するように構成されていると、これがフォーマットされた 入力または出力のコピーを、そのアドレスが“x trap_write”にス トアされているルーチンへ送る。
【0020】 データ構成“ext_environ ment”48はX Trap の内 部変数を含んでいる。変数“Swap Gstate”は、どの出力プロトコル 要求および入力イベントが傍受されているかを指示するビットフィールドである 。変数“genflgs”は、タイムスタンプ計算、“window_id”処 理、および出力フォーマット(すなわちバイナリ、またはASCII)のような 種々のモードを可能および不能にする一般的な拡張フラグのビットフィールドで ある。“window_id”処理は、可能されると、どのウィンドウが“Ma p Window”または“Unmap Window”出力プロトコル要求の 対象であるかをX Trapが報告するようにする。変数“osflg”は実行 特定フラクのビットフィールドである。変数“imagcnt”は、X Tra p が“Image Text”または“Poly Text”要求を傍受した とき、X Trap がテキストストリングからセーブしたキャラクタの最大数 を保持する。セーブされたキャラクタはX Trap が“write”ルーチ ンに送る出力プロトコル要求上の情報の一部となる。“imagcnt”がネガ チブであると、キャラクタはストリングの始まりからセーブされ、“imagc nt”がポジチブのときは、キャラクタはストリングの最終からセーブされる。
【0021】 変数“poly cut”は、X Trap が“poly Text”要求 を傍受したときX Trap が処理すべきストリングの最大数を保持する。ス トリングが処理されると、“Imag cut”キャラクタが“write”ル ーチンへ送られる。“poly cut”がポジチイブであると、ストリングが ストリングリストの最初から処理され、“poly cut”がネガチブである と、ストリングはストリングリストの終りから処理される。変数“i_comm ” は、X Trapへのシミュレーション入力に用いられる通信チャネル用の 識別子を含んでいる。変数“o_comm”は、X Trap 拡張からの出力 に用いられる通信チャネル用の識別子を含んでいる。最終的に、変数“Writ e_io”は、X Trap がSTART_IO要求を受信したとき“x t rap_write”内に置かれる“write”ルーチンに対するポインタを 含んでいる。
【0022】 図3および図4は、応用プログラムまたは制御クライアントの構成、および2 つの異なった動作モードによるX Trap サーバー拡張の使用方法を示す、 それぞれのプロセスフロー図である。すなわち図3は、記録入力イベントまたは 出力プロトコル要求がライブユーザーセッション中に発生したときの、記録モー ド動作と呼ばれる、X Trap サーバー拡張の動作を示すプロセスフロー図 である。また図4は、RTE、すなわち遠隔端末エミュレーション能力を用いて 、シミュレートされた入力イベントを用いると共に傍受された出力イベントを待 機してライブユーザーセッションのシミュレーションを行う、プレイバックモー ド動作と呼ばれる。X Trap サーバー拡張の動作を示すプロセスフロー図 である。制御クライアントは、XL1B xflush マクロを介してデータ 構成をサーバーに送ることによって、X Trap 拡張と交信する。なお、こ れについては、R.W.Sch−eiffler,J.Cettys,およびR .Newman,“XWindow System”,Digital Pre ss 刊行(1988)に報告されている。サーバーは次で、データ構成を拡張 例へ送る。下記のテーブル1はデータ構成“x Xtap Reg”のフォート マットを示したものである。
【0023】 第1のフィールド、“req Type”は、データ構成“x Xtap R eq”をどのX Trap 拡張へ通すべきかを識別する。クライアントはこの アイデンチファイヤを、“x Query Extension”を呼出すこと によって集める。なお、これについては、R.W.Schei−ffler,J .Getty,およびR.Newman,“Xwindow System”、 Digital Press(1988)に報告されている。第2のフィールド 、“minor_opcode”は、クライアントが送信中の特定のX Tra p 拡張要求に対して識別子を含んでいる。再び図2を参照すると、“ext_ request_vector”アレイ46はX Trap が“minor_ op code”をルックアップして適当な要求処理ルーチンを呼出すのに利用 するディスパッチテーブルを含んでいる。第3のフィールド“Iength”は 、X Trap要求に対して常に9である。第4のフィールド、“data”は 、各要求に対して異った構成をもったユニオンである。各ユニオンは送られる要 求に対する特定のデータを含んでいる。なお、本考案は、拡張との交信にx f lushを使用するものに限定されるものではない。
【0024】 再び図3を参照すると、クライアントがX Trap を構成する第1ステッ プは、“x Query Extension”を呼出することによって拡大用 アイデンチファイアを得ることであり、これについては、R.W.Scheif fler,J.Gettys,およびR.Newmann,“X Window System”Digital Press(1988)に報告されている。 次に、クライアントは、XTRAP_RESET要求を、“x Xtrap R eq”構成の種々のフィールドをセットし、これをxflush macroを 介してサーバーに送ることによって要求する。
【0025】 XTRAP_RESET要求は、拡張を新しいクライアントによる使用に対し て準備させる。あるクライアントがすでにこの拡張を使用中であり、かつすでに 制御クライアントとして構成されているときは、X Trapが要求内の“fo rce”フラグをチェックする。“force”フラグは、“xX Trap Req”のユニオンフィールド“RESET”内のX Trapに送られる要求 特定信号の一部である。 (テーブル2参照)
【0026】 “force”フラグがセットされると、X Trap はリセットされ、他 のクライアントの制御から離脱する。“force”フラグがセットされていな いと、X Trap はエラーコードをクライアントに戻す。 各クライアントは、XTRSP_RESET要求の間、“control”フ ラグをセットすることによって、他のクライアントが或る拡張を偶発的に制御し ないように防ぐことができる。“control”フラグがセットされると、X Trap 拡張は、他のクライアントが“force”フラグをセットしない 限り、他のクライアントからの後続するXTRAP_RESETをすべて無視す る。“control”フラグは、“force”フラグと同じく“RESET ”ユニオンの一部である。
【0027】 X Trap 拡張はXTRAP_RESET要求を受信すると、X Tra p の内部変数およびフラグをその無効値にリセットし、入力および出力の傍受 用の構成をすべて取消す。全部のクライアントプログラムが、それぞれストップ する前にXTRAP_RESETを送信する。
【0028】 X Trap 拡張がリセットされると、その度にクライアントは、その拡張 が傍受しようとする入力および出力の種類をセットアップするXTRAP_CO NFIG要求を送信する。XTRAP_CONFIG要求用として、“xX T rap Req”の“data”ユニオンは図3に示すような構成をもっている 。
【0029】 “flag”フィールドは入力および出力の傍受を可能および不能にするため に用いられ、テーブル4に示す通りである。
【0030】 “v_kbd”フラグがセットされると、X Trapは、キーボード入力の 傍受の状態を、“s_kbd”フラグの状態に対応してセットする。“s_kb d”がオンであると、キーボード入力傍受が可能となる。またオフであると、キ ーボード入力傍受が不能となる。マウス入力も同じように、“v_ptr”フラ グおよび“s_ptr”フラグを用いて制御される。1対のフラグ“v_opc odes“と”s_opcodes”は、同じような動作によって、テーブル3 に示す“CONFIG”構成の“Icst”フィールド内にリストされた出力プ ロトコル要求の傍受を可能または不能にする。
【0031】 XTRAP_CONFIG要求はまた、拡張を、傍受された入力または出力プ ロトコル要求のすべてについてミリ秒のタイムスタンプを行うように形成するこ とができる。XTRAP_CONFIGはまた、X Trap によって発生さ れる出力の形式に関する制御、すなわちASCIIフォーマットと二進フォーマ ットの間の選択に関する制御を行う。
【0032】 X Trap 拡大はXTRAP_CONFIG要求を受信すると、スワップ 動作を行って、クライアントによって選択された入力および出力プロトコル要求 の各タイプごとに、X Trap の入力または出力処理ルーチンのアドレスを 、Xサーバーの入力または出力処理ルーチンのアドレスと交換する。例えば、ク ライアントが、そのXTRAP_CONFIG要求の中に2つのフラグ“v_k bd ”および“s_kbd”をセットすると、図2に示すように、X Tra p は、ベクトル“Key Board Process Input Pro c”28内の“kbd Proc”ポインタを“heyboard_input proc”34内のポインタ“X Trap_keyboard”と交換する 。またクライアントがフラグ“v_kbd”をセットすると共に、但しフラグ“ s_kbd”をセットしないでおくと、2つのポインタはストップされない。X TRAP_RESET要求があると、X Trap は“Key Board Process Input Proc”と“X trap_Keyboard ”とのスワップは行わない。
【0033】 次に、クライアントはCONFIG_IO要求をX Trap に送り、集め られた入力および出力の情報をどの種類の通信チャネルを介して制御クライアン トに送信すべきかを指定する。X Trap は、この要求を受信すると、その 内部変数“write_io”(図2の48)を“write”ルーチンへのポ インタの値にセットする。このルーチンは、傍受された入力イベントおよび出力 プロトコル要求上の情報を、構成された通信チャネルを介して制御クライアント に送信するのに用いられる。記録モードでは、クライアントは情報をシーケンシ ャルファイルに記録する。またプレイバックモードでは制御クライアントは、構 成された“write”ルーチンを介して受信した情報を用いて、シミュレート された入力がサーバーへ送信されたことを確認する。これによって、制御クライ アントは、安全やその他の理由で必要なとき、キーボードまたはマウスからの入 力をサーバーが無視するようにする。クライアントは、また、この情報を用いて 出力プロトコル要求をモニタし、最後の出力プロトコル要求の処理が終るまで、 次の入力イベントを送信するのを待機する。プレイバックモードでも制御クライ アントは情報をシーケンシャルファイルへ記録する。例えば、最後の出力プロト コル要求が“S”プロンプトに対する要求であると、クライアントは“S”がス クリーン上に現われるまで待ってから、次の入力イベントを送らなければならな い。
【0034】 プレイバックモードでは、遠隔末端エミュレーション(RTE)を実行するの にCONFIG_IO要求を行う。テーブル5は、CONFIG_IO要求に対 する“xX Trap Req”の“data”ユニオンの構成を示すものであ る。
【0035】 “transport”フィールドは、構成される通信チャネルのタイプを表 わす10値を含んでいる。通信チャネルの例としては、非同期端末ライン、シー ケンシャルファイル、TCP/IPネットワーク、VMSメイルボックス接続、 XLIBトランスポート、およびDECnet Task−to−Task 通 信などがある。XLIBトランスポートを介して送られる信号は、SIMULA TE_XEVENT要求、またはMOVE_POINTER要求(下記に詳述す る)を用いたxflush マクロを介して送信される。シーケンシャルファイ ルをキーボード入力およびマウス入力のソースとして用いることによって、応用 プログラムはライブユーザーなしに性能テストができる。さらに、ソフトウェア の回帰テストおよび比較テストも簡単になる。また“direction”フィ ールドはCONFIG_IO要求が、入力に印加されているか、出力に印加され ているか、あるいはその両方であるかを指定する。
【0036】 X Trap 拡張が構成されるとその度に、クライアントは、START_ IO requestGto に、CONFIG_IO要求で構成された通信メ ディアを介してI/Oをスタートさせると共に、“write”ルーチンを開始 させ、入力および出力情報を制御クライアントに送信する。この要求で指定され るデータは、(1)拡張が、出力プロトコル要求の一部である傍受されたテキス トストリングからセーブすべきキャラクタの数、および(2)拡張が、サーバー にテキストの1つ以上のストリングをスクリーン上に描くように要求する出力プ ロトコル要求、“poly Text 8”を傍受するとき処理すべきテキスト スプリングの数、だけである。(テーブル6参照)
【0037】 制御クライアントは、X Trap 実行を要するワークステーションの遠隔 制御またはモニタを終了すると、STOP_IO要求をxflush マクロを 介してX Trap サーバー拡張に送信する。これによって、IOチャネルに 出入りするキャラクタの流れをストップさせる。クライアントは、実行をストッ プする準備ができない前は、XTRAP_RESET要求をX Trap 拡張 へ送信し、入力または出力の処理ルーチンのスワップがすべて行われないように する。
【0038】 制御クライアントは、どの内部変数の値を知りたいときでも、XTRAP_I NFO要求を送信することができる。
【0039】 また制御クライアントは、プレイバックモードで、SIMULATE_XEV ENT要求、およびMOVE_POINTER要求を使用し、入力をXLLBを 介してXサーバーに送ることができる。テーブル7は、“xX Trap Re q”構成における“data”ユニオンのフォーマットを、SIMULATE_ XEVENTおよびMOVE_POINTERと一緒に使用する場合について示 したものである。SIMULATE_XEVENTはキーボードイベントおよび マウスクリックイベントを送信するのに用いられる。
【0040】 MOVE_POINTERはマウスモーションイベントを送信するのに用いら れる。変数“type”は、送信されるイベントのタイプに対する識別子の値に セットされ、MOVE_POINTER要求の場合、このタイプはマウスモーシ ョンイベントである。また、変数“detail”はSIMULATE_XEV ENT要求のときに押されたり、放されたりするキーまたはマウスボタンに対す る識別子の値にセットされる。また、変数“X”および“y”は、マウスカーソ ルの指定するスクリーン座標値にセットされる。
【0041】 上記しか本考案の記述は、図解と説明のために行われたものである。従って、 本考案は開示した精細な形式に限定されるものではなく、上記の開示から多くの 改造や変形が可能であることは明白である。
【0042】
【0043】
【0044】
【0045】
【0046】
【0047】
【0048】
【図面の簡単な説明】
【図1】本考案の一実施例によるサーバー拡張のコンピ
ュータシステムに用いた場合の一般的な機能を示す系統
図。
【図2】本考案によるサーバー拡張のデータ構成、なら
びに、この拡張がアクセスすべきXサーバーデータ構成
を示す図。
【図3】 サーバー拡張の1つの動作モードにおける応
用プログラム実行を示すプロセスフロー図。
【図4】 サーバー拡張のもう1つの動作モードにおけ
る応用プログラム実行を示すプロセスフロー図。
【符号の説明】
10 CPU(セントラルプロセシングユニット) 12 サーバー(オペレーチングシステム) 14 ワークステーション 16 ウィンドウ 18 マウス 20 キーボード 22 サーバー拡張 24A〜24N クライアント(応用プログラム) 26 シーケンシャルファイル 28,30 入力ドライブ 40 出力ドライブ
フロントページの続き (72)考案者 ロバート トッド チェスラー アメリカ合衆国 ニューハンプシャー州 03063 ナシュア ケスラー ファーム ドライヴ 637−18 (72)考案者 アレン クウェンチン ジャミソン アメリカ合衆国 ニューハンプシャー州 03055 ミルフォード アッシュ ストリ ート 2エイ

Claims (3)

    【実用新案登録請求の範囲】
  1. 【請求項1】 セントラルプロセシングユニット(1
    0)、ユーザーの指定した入力をその端末位置でコンピ
    ュータに入力する1つ以上の入力ドライブ(18、2
    0)、 テキストまたはグラフィック画像を表示する1つ以上の
    出力ドライブ(40)上記セントラルプロセッシングユ
    ニットにより処理され、対話モードで動く応用プログラ
    ム(24a、・・・、24n)を格納する記憶装置、 上記セントラルプロセシングユニット、上記1つ以上の
    入力ドライブ、上記1つ以上の出力ドライブ、及び上記
    記憶装置間での制御を行い、拡張入出力ルーチンのアド
    レスを記憶するサーバー用メモリブロックを有するオペ
    レーチングシステム(12)、 上記サーバー用メモリブロックと対応し、サーバー入出
    力処理ルーチンのアドレスを記憶するサーバー拡張用メ
    モリブロックを有し、これによって上記入力ドライブに
    より入力された上記ユーザー指定の入力信号を、上記応
    用プログラムにより使用される以前に傍受し、上記入力
    信号に応答して上記応用プログラムから出力される出力
    命令を、上記1つ以上の出力ドライブに到達する以前に
    傍受するサーバー拡張(22)、 上記サーバー用メモリブロック内のアドレスと上記サー
    バー拡張用メモリブロック内のアドレスとをスワップす
    る手段、及び 上記サーバー拡張により傍受された入力
    信号及び出力命令に関する情報を、これら入力信号及び
    出力命令が傍受された時間と共に格納する格納装置(2
    6) を備えたことを特徴とするコンピュータシステ
    ム。
  2. 【請求項2】 上記入力ドライブが、マウス又はキーボ
    ードであることを特徴とする請求項1記載のコンピュー
    タシステム。
  3. 【請求項3】 上記入力ドライブが、遠隔端末エミュレ
    ター(RTE)であることを特徴とする請求項1記載の
    コンピュータシステム。
JP006370U 1989-11-30 1993-01-11 サーバー拡張用アーキテクチャ Pending JPH0659934U (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US44472889A 1989-11-30 1989-11-30
US444728 1989-11-30

Publications (1)

Publication Number Publication Date
JPH0659934U true JPH0659934U (ja) 1994-08-19

Family

ID=23766100

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2333488A Pending JPH03224037A (ja) 1989-11-30 1990-11-29 サーバー拡張用アーキテクチャ
JP006370U Pending JPH0659934U (ja) 1989-11-30 1993-01-11 サーバー拡張用アーキテクチャ

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2333488A Pending JPH03224037A (ja) 1989-11-30 1990-11-29 サーバー拡張用アーキテクチャ

Country Status (4)

Country Link
US (1) US6247148B1 (ja)
EP (1) EP0430708B1 (ja)
JP (2) JPH03224037A (ja)
DE (1) DE69031706T2 (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6832380B1 (en) * 1996-06-28 2004-12-14 Tarantella, Inc. Client-server application partitioning with metering technique for distributed computing
US7127506B1 (en) 1999-05-28 2006-10-24 Teradyne, Inc. PC configuration fault analysis
US6654914B1 (en) 1999-05-28 2003-11-25 Teradyne, Inc. Network fault isolation
US7231665B1 (en) * 2001-07-05 2007-06-12 Mcafee, Inc. Prevention of operating system identification through fingerprinting techniques
US7536605B2 (en) * 2005-05-25 2009-05-19 Alcatel-Lucent Usa Inc. Injection of software faults into an operational system
US20070050488A1 (en) * 2005-09-01 2007-03-01 Joyner Wilbert R Jr Broadcast with private reply control in a real-time messaging system
FR2896364B1 (fr) * 2006-01-19 2008-06-27 Activnetworks Soc Par Actions Procede de deploiement d'applications par interception sur un reseau existant.
US7917750B2 (en) * 2006-07-25 2011-03-29 Hewlett-Packard Development Company, L.P. Virtual user authentication system and method
US8819311B2 (en) * 2007-05-23 2014-08-26 Rpx Corporation Universal user input/output application layers
US8683264B2 (en) * 2010-04-13 2014-03-25 International Business Machines Corporation Processing execution requests within different computing environments
US8806481B2 (en) 2010-08-31 2014-08-12 Hewlett-Packard Development Company, L.P. Providing temporary exclusive hardware access to virtual machine while performing user authentication

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62175848A (ja) * 1986-01-30 1987-08-01 Mitsubishi Electric Corp デ−タ処理システムの入出力動作監視方式

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3585599A (en) 1968-07-09 1971-06-15 Ibm Universal system service adapter
US3958111A (en) 1975-03-20 1976-05-18 Bell Telephone Laboratories, Incorporated Remote diagnostic apparatus
US4084235A (en) 1975-04-14 1978-04-11 Honeywell Information Systems Inc. Emulation apparatus
US4205370A (en) 1975-04-16 1980-05-27 Honeywell Information Systems Inc. Trace method and apparatus for use in a data processing system
US4166290A (en) 1978-05-10 1979-08-28 Tesdata Systems Corporation Computer monitoring system
JPS57157362A (en) * 1981-03-25 1982-09-28 Hitachi Ltd Method and apparatus of execution path career data pickup for architecture program
US4437184A (en) 1981-07-09 1984-03-13 International Business Machines Corp. Method of testing a data communication system
US4703416A (en) * 1982-12-10 1987-10-27 American Telephone And Telegraph Company Apparatus for locating programs resident on a cartridge of a cartridge programmable communication system
US4617663A (en) * 1983-04-13 1986-10-14 At&T Information Systems Inc. Interface testing of software systems
US4589068A (en) * 1983-10-03 1986-05-13 Digital Equipment Corporation Segmented debugger
US4564903A (en) * 1983-10-05 1986-01-14 International Business Machines Corporation Partitioned multiprocessor programming system
JPS61133454A (ja) 1984-12-03 1986-06-20 Hitachi Ltd 端末制御方式
US4763242A (en) 1985-10-23 1988-08-09 Hewlett-Packard Company Computer providing flexible processor extension, flexible instruction set extension, and implicit emulation for upward software compatibility
US5086393A (en) * 1986-03-10 1992-02-04 International Business Machines Corp. System for testing human factors and performance of a system program
JPS62290955A (ja) * 1986-06-11 1987-12-17 Hitachi Ltd オンライン・デ−タ処理システム
US4768150A (en) * 1986-09-17 1988-08-30 International Business Machines Corporation Application program interface to networking functions
US5058000A (en) * 1987-06-30 1991-10-15 Prime Computer, Inc. System for accessing remote heterogeneous database including formatting retrieved data into applications program format
IE60444B1 (en) * 1988-03-30 1994-07-13 Elverex Ltd A software verification apparatus
US5067107A (en) * 1988-08-05 1991-11-19 Hewlett-Packard Company Continuous computer performance measurement tool that reduces operating system produced performance data for logging into global, process, and workload files

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62175848A (ja) * 1986-01-30 1987-08-01 Mitsubishi Electric Corp デ−タ処理システムの入出力動作監視方式

Also Published As

Publication number Publication date
DE69031706T2 (de) 1998-04-30
JPH03224037A (ja) 1991-10-03
US6247148B1 (en) 2001-06-12
EP0430708B1 (en) 1997-11-12
EP0430708A2 (en) 1991-06-05
DE69031706D1 (de) 1997-12-18
EP0430708A3 (en) 1992-10-21

Similar Documents

Publication Publication Date Title
CN109271325B (zh) 应用的测试方法、系统、电子设备和存储介质
US6295518B1 (en) System and method for emulating telecommunications network devices
US6256659B1 (en) System and method for performing hybrid preemptive and cooperative multi-tasking in a computer system
US6275855B1 (en) System, method and article of manufacture to enhance computerized alert system information awareness and facilitate real-time intervention services
US5689637A (en) Console simulator, multi-console management system and console management distribution system
US6928464B2 (en) Systems and methods for unified remote control access
US7908313B2 (en) Instrument-based distributed computing systems
CN110781067A (zh) 一种启动耗时的计算方法、装置、设备和存储介质
JPH0659934U (ja) サーバー拡張用アーキテクチャ
US20010011215A1 (en) Network device simulation system and method
CN111444095A (zh) 移动设备的测试平台系统和测试方法
US6185521B1 (en) System and method for emulating mainframe channel programs by open systems computer systems
US5974532A (en) System and method for generating responses for inputs using a hybrid state engine table
JPH11505645A (ja) プロセッサに基づくデジタルシステムをシミュレートするための装置および方法
CN109032947A (zh) 用于操作系统的测试方法、装置、设备和存储介质
US6404430B1 (en) Virtual space information processor
CN116089002A (zh) 数据模拟方法、装置、系统、设备和存储介质
US8738346B2 (en) Method and apparatus for controlling multiple simulations
Geist et al. Visualization, debugging, and performance in PVM
KR102567773B1 (ko) 전투체계 시스템에서의 로그 정보 추출장치 및 그 방법
US7013467B1 (en) System and method for managing computer system resources using command control vectors
CN117112405A (zh) 一种移动应用程序测试方法、装置、电子设备及存储介质
Gamboa et al. Widam-Web Interaction Display and Monitoring.
JP2953946B2 (ja) 試験処理システム
JP2001318805A (ja) 組み込みシステムのテスト方法及びテストシステム