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

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

Info

Publication number
JPH03224037A
JPH03224037A JP2333488A JP33348890A JPH03224037A JP H03224037 A JPH03224037 A JP H03224037A JP 2333488 A JP2333488 A JP 2333488A JP 33348890 A JP33348890 A JP 33348890A JP H03224037 A JPH03224037 A JP H03224037A
Authority
JP
Japan
Prior art keywords
input
server
trap
output
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
JP2333488A
Other languages
English (en)
Inventor
Richard Francis Annicchiarico
リチャード フランシス アンニッチアリコ
Robert Todd Chesler
ロバート トッド チェスラー
Alan Quentin Jamison
アレン クウェンチン ジャミソン
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.)
Digital Equipment Corp
Original Assignee
Digital Equipment 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 Digital Equipment Corp filed Critical Digital Equipment Corp
Publication of JPH03224037A publication Critical patent/JPH03224037A/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)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、コンピュータシステムに用いられるサーバー
拡張用アーキテクチャにかかり、特に応用プログラムに
よって発生した入力イベント及びプロトコル要求を傍受
するためのサーバー拡張用アーキテクチャに関するもの
である。傍受された入力イベントおよびプロトコル要求
は引き続いて種々の目的に、例えば、入力イベントとプ
ロトコルリクエストとの間の時間経過を測定してサーバ
ーもしくは応用プログラムの性能を評価するのに用いら
れる。
〔従来の技術〕
サーバーはコンピュータシステムのアーキテクチャの一
部てあり、コンピュータまたはセントラルプロセシング
ユニットとユーザーとの間のインタフェースとして機能
する。サーバーの性能を試験あるいは評価することは種
々の目的から必要である。例えば、ユーザーの入力とシ
ステムの応答間の長い遅れを検出し続いてこれを除去す
ることができる。同様に、コンピュータのセントラルプ
ロセシングユニット上で動作する応用プログラムを試験
し評価することは多くの目的で必要である。
サーバーの性能をテストする通常の方法は、ビデオカメ
ラまたはストップウォッチを用いることである。このよ
うな方法の1つでは、端末および端末スクリーンで作業
するユーザーまたはオペレータがビデオカメラで撮影さ
れる。その後でビデオを機械にかけて再現させ、時間を
フィルムスピードの関数として表示する。次で、性能メ
トリックスが、フィルムイベントの開始とフィルムイベ
ントの終了の表示時間の差に基づいて計算される。
次で各時間ごとのイベントに対する性能メトリックスが
記録される。もう1つの方法では、性能メトリックスを
計算するステップが、応答時間をストップウォッチを用
いて手動で測定することを含んでいる。いずれの方法で
も、すべての時間的イベントに対する性能メトリックス
か引続いて解析され、応用プログラムまたはサーバーの
性能か求められる。これと同じアプローチはまた、サー
バーの単一または特定の入力イベントに対する性能を求
めるのにも使用される。しかしながら、この方法は時間
かかかるばかりでなく、退屈なものであり、またエラー
を生じ易い。さらにこの方法では、ユーザーがワークス
テーションで実際に操作する必要かある。従ってユーザ
ーからのシミュレーション入力は不可能である。さらに
、実際のユーザーからの入力は1つの操作ごとに整合性
をもっていないので、ランごとに整合性を保つことが不
可能である。
応用プログラムまたはサーバーの、入力イベントまたは
プロトコル要求に対する性能を試験するもう1つの方法
は、遠隔端末エミュレーション(RTE)を用いること
である。RTEは、サーバーや応用プログラムに入力を
送るのにユーザー自身やオペレータを不用とし、オペレ
ータの代りに、ソフトウェアで作成される入力が用いら
れ、これかサーバーの入力イベント列にロードされる。
しかしながら、Xウィンドウ形システムのサーバーに対
するRTEの以前の試みでは、出力で発生したプロトコ
ール要求をサーバーまたは応用プログラムで傍受する方
法を提供するのに失敗した。
さらに、これらの試みはいずれも、遠隔ソース、すなわ
ち入力を非Xの伝送リンク、例えば、ネートワークまた
は非同期端末ラインを介して入力を送るソースからシミ
ュレーション入力を受信するのに支援になっていない。
従ってRTEによるこれら従来の試みは、ネットワーク
、モデル、および他の周辺機器を含むシステム構造を試
験することができない。
〔発明の概要〕
本発明は、コンピュータシステムで用いられるサーバー
拡張用のアーキテクチャの中に存在する。
拡張はサーバー機能を行うソフトウェアモジュールであ
り、サーバー変数に対するアクセスは有するがサーバー
の定常的な一部とはなっていない。
サーバー延長は、ユーザー人カイベントを、これらが応
用プログラム(以下、クライアントと呼ぶ)で受信され
る前に傍受し、入力に関する情報を、入力の形式および
傍受された時間を含み、タライアンドで指定された場所
に書込み、あるいはストアする。クライアント指定の場
所は、どんな形式の格納装置でもよく、例えばシーケン
シャルファイルでよい。格納装置はローカルなものでも
よく、あるいは遠隔位置にあってモデムライン、端末ラ
イン、またはネットワークラインで結合されるものでも
よい。さらに、サーバー拡張は、応用プログラムで発生
された出力プロトコル要求を、端末のスクリーン表示へ
の可視変換が行われる前に傍受する。出力プロトコル要
求は、応用プログラムで発生される信号であり、サーバ
ーへ送られてサーバーが端末のスクリーン上にテキスト
またはグラフィックを描けるようにするものである。サ
ーバー拡張はまた、出力プロトコル要求に関する情報を
、要求の形式およびこれか傍受された時間を含んで、ク
ライアントの指定した場合に書込み、またはストアする
。クライアント指定の場所は、どんな形式の格納装置で
もよく、例えばシーケンシャルファイルでもよい。格納
装置はローカルなものでもよく、あるいは遠隔位置にあ
ってモデムライン、端末ライン、またはネットワークラ
インで結合されるものでもよい。最終的にサーバー拡張
は、ワークステーションのマウスやキーボードなどのよ
うなユーザ操作の入力機器からの入力、または制御用ク
ライアントからのシミュレーション入力を受信すること
ができる。
本発明はその広い態様としては、セントラルプロセシン
グユニット、オペレーチングシステム、ユーザー指定入
力をその端末位置でコンピュータに入力する1つ以上の
入力ドライブ、テキストまたはグラフィック画像を表示
する1つ以上の出力ドライブ、対話モードで動くコンピ
ュータプログラム、上記ユーザー指定入力をユーザーに
よる入力と上記コンピュータプログラムによる受信との
間で傍受する手段(X Trap)、および出力命令を
上記コンピュータプログラムと上記1つ以上の出力ドラ
イブとの間て傍受する手段を備えたコンピュータシステ
ムである。
ここで説明するサーバー拡張アーキテクチャは、入力イ
ベントおよびプロトコル要求を傍受し、これを用いて制
御クライアントがサーバーまたは応用プログラムをモニ
タしたり、ワークステーションを制御したりして、例え
ば、応用プログラム、システム構成、およびユーザーイ
ンターフェースの性能をテストできるようにするもので
ある。サーバー拡張アーキテクチャのデータ構成は、メ
モリの部分あるいはブロックとして構成され、メモリの
種々の部分またはブロックで構成されるサーバーのデー
タ構造と似ているが、あるいは基本的に同じである。さ
らに、本発明のサーバー拡張アーキテクチャは、クライ
アントまたは応用プログラムの制御によって動作する。
従って、このサーバー拡張アーキテクチャは周知のXサ
ーバーオペレーチングシステムプログラムに関連して述
べられているが、他のオペレーチングシステでも同様に
実行できるものである。
二のサーバー拡張アーキテクチャはまた、RTEすなわ
ち遠隔末端エミュレーションを備え、遠隔ソースからシ
ミュレーション入力を受信することかできる。例えば、
このサーバー拡張アーキテクチャは、R,W、 5ch
eiffler、 J、 Gettys、およびR,N
ewman、  X Window System、 
 Digital Pr1ss(1988)に報告され
ている有名なオペレーチングシステムであるXウィンド
ウシステムに対するRTE能力をもっている。このサー
バー拡張アーキテクチャはまた、ソフトウェアの回帰テ
スト、および異なるハードウェアおよびソフトウェアプ
ラットフォーム間の応用プログラムの競合性あるいは干
渉性テストに対する迅速で安価な手段を提供する。この
サーバー拡張アーキテクチャはさらに、端末におけるユ
ーザーの対話をモニタし、正しい対話を立証できること
が重要である場合に、コンピュータベースの命令を可能
にする。このアーキテクチャは、さらに、立証者が立証
すべき応用プログラムを理解する必要がない場合、ある
いは立証よりも顧客に集中する必要がある場合に、トレ
ードショーによる立証を可能にする。上記の例から分る
ように、本発明によるサーバー拡張アーキテクチャは、
当業者にとって周知の幅広い種々の目的に利用すること
か可能である。
〔実施例〕
以下、本発明を図面を参照して説明する。第1図は、本
発明によるサーバー拡張アーキテクチャの好ましい一実
施例を、コンピュータシステムの基本的なコンポーネン
トに対して用いた場合の一般的な動作を示している。ソ
フトウェア構成は、Xサーバー12と対話するセントラ
ルプロセシングユニッt−10上て動作する。Xサーバ
ーは周知のオペレーチングシステムプログラムであり、
端末あるいはワークステーション14のユーザーインタ
フェースを制御すると共に、キーボード20またはテキ
ストのような標準のユーザインタフェース要素に加えて
、ウィンドウ16およびマウス18を利用している。X
サーバー12は、“拡張”すなわちXサーバーの各変数
に対するアクセスを存すると共に、但しXサーバーの恒
久的な一部ではないソフトウェアモジュールをサポート
できる。
本発明における拡張22は“X Trap拡張”と呼は
れるものである。なお、当業者にとって、本発明の記述
か他のオペレーチングシステムおよびサーバーにどのよ
うに適用されるかは容易に理解できることである。
複数の応用プログラム24A〜24Nは、セントラルプ
ロセシングユニット(CPU)10上で動作できる。C
PUl0上で動作する応用プログラムまたはクライアン
ト24Nは、Xサーバー12のソフトウェア拡張である
。X Trap拡張22の制御クライアントとして動作
する。オペレーチングシステム機能を実行する既知のソ
フトウェアモジュール、あるいは拡張はサーバーで制御
され、X Trap拡張22は単一の応用プログラムあ
るいはクライアント24Nで制御される。制御クライア
ント24NはX Trap拡張22のパラメータをセッ
トすると共に、X Trap拡張22のオンオフを行う
。マウス18またはキーボード2oからのユーザー入力
は先ずXサーバー12で受信される。
本発明はまた、他の入力機器を用いたオペレーチングシ
ステムのほかに1つのタイプの入力機器を用いたオペレ
ーチングシステムにも適用できる。
X Trap拡張22は、入力を傍受し、入力のコピー
を、“書込”ルーチン用にフォーマットを変更しくこれ
について下記に詳述する)、元の入力は通常のプロセシ
ング用としてサーバー12に送る。
最終的に、モニタまたは制御されているクライアント2
4A〜24Nは元の入力を受信し、その特定の実施手順
に従って処理する。
クライアント24A〜24Nは何れも、プロトコル要求
の形で出力を発生し、これによって通常、ワークステー
ション14における成る種類のスクリーン出力を制御す
る。制御クライアント24Nは同じ出力をもう1つのワ
ークステーション(図示せず)のスクリーン上に同時に
表示する。これらの出力プロトコル要求によって、サー
バーは、ワークステーション14の表示スクリーン上に
テキスト、ライン、あるいは他のグラフィック要素を描
く。上記の実施例では、X Trapが傍受する応用プ
ログラムとXサーバー間の通信は、出力プロトコル要求
であるが、本発明は、サーバーとどのクライアントとの
間の通信を傍受するのにも用いることかできる。Xサー
バー12は出力プロトコル要求を応用プログラム24A
〜24Nの1つから受信し、X Trap拡張22かX
サーバーがこれを処理する前にこれを傍受する。入力の
場合と同じように、出力の場合もX Trap拡張はコ
ピーのフォーマット変更を行い、元の出力はXサーバー
へ返送する。最終的に、出力はワークステーション14
のスクリーンに到達し、テキスト、ライン、または消去
の形式を制御する。
X Trap拡張22は、拡張のコードの一部である“
書込”サブルーチンを呼出す。X Trapは各通信チ
ャネルごとに別々の“書込”ルーチンを持っており、こ
れを介してX Trapが制御クライアントと通信する
。制御クライアントはX Trapから遠隔の位置にあ
ってもよく、例えばネットワークラインの終端でもよい
。“書込”ルーチンは、入力および出力に関する集めら
れた情報を、制御クライアント24Nまたはシーケンシ
ャルファイル26へ送る。
第2図は、X Trap拡張とサーバーとのアーキテク
チャを示したものである。本発明は、このりイブのアー
キテクチャの使用に限定されるものではなく、入力およ
びプロトコル要求を処理するサブルーチンを呼出すもの
であれば、どのようなオペレーチングシステムのアーキ
テクチャ上でも作動できる。Xサーバーは、キーボード
データを、そのアドレスが“Key Board Pr
ocess Input Procのストア位置28に
ストアされているルーチンに送ることによって処理する
。また、サーバーはマウス入力を同じような方法で、す
なわち“Po1nterProcess Input 
Proc”ストア位置30を参照することによって処理
する。また、Xサーバーは、出力プロトコル要求を、適
当な情報を、そのアドレスが“Proc Vector
”アレイ32の特定のエレメントにストアされているル
ーチンに送ることによって処理する。
X Trap拡張は、Xサーバーのデータ構成の半分以
下のサイズのデータ構成をもっている。
X Trapデータ構成はまた、メモリ内に、Xサーバ
ーのデータ構成と同じ、またははり同じ構成で配置され
ている。本発明の記述を用いて、他のオペレーチングシ
ステムを模倣し、これによって、入力(あるいは出力)
を自分に代って処理する拡張サブルーチンを呼出す手段
を得ると共に、同時に、拡張の使用か終った後にオペレ
ーチングシステムを通常の状態に戻す手段を得ることは
、当業者にとって容易に理解できることである。
X Trapがキーボード入力を傍受するように構成さ
れているときは、Xサーバーのストア位置、Keybo
ard Process Input Proc″28
はキーボード入力を処理するX Trapルーチンのア
ドレスを含んでおり、またこのストアスペースの“Ke
yboard  1nputproc″と呼ばれるX 
Trapバージョン34は、Xサーバーの入力処理ルー
チンのアドレスをストアしている。またX Trapか
マウス入力を傍受するように構成されているときは、X
サーバーのストア位置、“Po1nter Proce
ssInput Proc″30は、マウス入力を処理
するX Trapルーチンのアドレスを含んでおり、ま
たこのストアスペースの、“Po1nter  Inp
ut procと呼ばれるX Trapバージョン36
は、Xサーバーの入力処理ルーチンのアドレスをストア
している。
上記の構成から分るように、X Trapはキーボード
およびマウスからの入力を傍受する。上述のように、X
サーバーはキーボード入力を受信するときは、そのアド
レスが“Key Board ProcessInpu
t Proc″28にストアされているルーチンを呼出
し、またマウス入力を受信するときは、そのアドレスが
“Po1nter Process  Input P
roc30にストアされているルーチンを呼出す。
X Trapの実行中は、これらのストア位置28およ
び30はX Trapルーチンのアドレスを含んでいる
ので、キーボードおよびマウスからの入力はX Tra
p拡張に送られる。
X Trap拡張は、クライアントで発生された出力プ
ロトコル要求を、X Trap拡張出力処理ルーチンの
アドレスを、“Proc Vector ”という名称
のデータ構成32にストアされているXサーバー出力処
理ルーチンのアドレスとスワップすることによって傍受
する。出力プロトコル要求を処理するルーチンの各アド
レスは4バイトの値になっている。好ましい実施例では
、256個の4バイトアドレスがあるが、アレイ数がこ
れより小さいもの、または大きいものも本発明のスコー
プに入るものである。アレイエレメント42は、1ma
geText 8”要求を処理するルーチン用のアドレ
スを含んでいる。このルーチンは、スクリーン上に、テ
キストの単一ストリング表示を行う。X Trapが“
Image Text 8”出力プロトコル要求を傍受
するように構成されているときは、この位置にストアさ
れている値が、スクリーン上にテキストの単一ストリン
グ表示を行うX Trapルーチンのアドレスとなる。
このルーチンは“ext  imgetext8”とよ
ばれる。“Image Text 8”ルーチンのアド
レスは、Xサーバーの“Proc Vector”デー
9m成32のX Trapのバージョンである“ext
provector”アレイ38の対応するエレメント
44にストアされている。従って、Xサーバーが、何れ
かのクライアントからテキストのストリング表示の要求
を受信したものは、そのアドレスが“Proc Vec
tor”32のエレメント42にストアされているルー
チンを呼出す。X Trapかアクチブのときは、その
アドレスは、通常はエレメント44にストアされている
X Trapルーチン“ext−imagetext 
8”のアドレスとなる。
他の出力プロトコル要求は、例えば、スクリーン上にテ
キストを2ストリング以上で表示するルーチン“Po1
y Text 8“、スクリーン上にウィンドウを描く
ようにサーバーを準備させるルーチン“Map Win
dow  、およびスクリーンからウィンドウを消去す
るルーチン“Unmap Window”を含んでいる
。X Trapデータ構成38内の対応するルーチンは
、  ext  Po1ytex 8 ’    ex
tUnmapwindow  、および“ext  m
apwindow”である。他の出力プロトコル要求も
、同じような方法てX Trap拡張によって傍受でき
る。
X Trap拡張は入力または出力を傍受したとき、入
力または出力情報のコピーを作成し、クライアントで形
成されたX Trapの“書込”ルーチンて処理されう
るようにフォーマットか与えられる。
X Trapが“no”されると、 write”ルー
チンのアドレスは“x trap  write”ベク
トル40にストアされる。x Trapが“off“さ
れると、xtrap  write ”が、ヌルルーチ
ン、すなわち制御をX Trapに戻すだけのルーチン
のアドレスを保持する。何れの場合にも、X Trap
が入力また出力のどれをも傍受するように構成されてい
ると、これがフォーマットされた入力または出力のコピ
ーを、そのアドレスがxtrap  write ″に
ストアされているルーチンへ送る。
データ構成″ext  environ ment” 
48はX Trapの内部変数を含んでいる。変数“S
wa pGstate”は、どの出力プロトコル要求お
よび入力イベントが傍受されているかを指示するビット
フィールドである。変数“genflgs”は、タイム
スタンプ計算、 window  id”処理、および
出力フォーマット(すなわちバイナリ、またはASCI
 I)のような種々のモードを可能および不能にする一
般的な拡張フラグのビットフィールドである。
“window  id”処理は、可能にされると、ど
のウィンドウか“Map Window”または“Un
map Window出力プロトコル要求の対象である
かをX Trapが報告するようにする。変数“osf
lg”は実行特定フラグのビットフィールドである。変
数“imagcnt″は、X Trapか“Image
 Text” または“Po1y Text”要求を傍
受したとき、X Trapかテキストストリングからセ
ーブしたキャラクタの最大数を保持する。セーブされた
キャラクタはX Trapが’wr i t e”ルー
チンに送る出力プロトコル要求上の情報の一部となる。
“imagcnt”がネガチブであると、キャライタは
ストリングの始まりからセーブされ、“imagCnt
”がポジチブのときは、キャラクタはストリングの最終
からセーブされる。
変数“poly cnt”は、X Trapが”pol
y Text”要求を傍受したときX Trapが処理
すべきストリングの最大数を保持する。ストリングが処
理されると、“Imag cut“キャラクタが“wr
ite”ルーチンへ送られる。 poty cut”が
ボジチイブであると、ストリングかストリングリストの
最初から処理され、“poly cut”かネガチブで
あると、ストリングはストリングリストの終りから処理
される。
変数“i  comm“は、X Trapへのシミュレ
ーション入力に用いられる通信チャネル用の識別子を含
んでいる。変数“o  comm”は、X Trap拡
張からの出力に用いられる通信チャネル用の識別子を含
んでいる。最終的に、変数“Write  io”は、
X Trapが5TART  10要求を受信したとき
x trap  write’内に置かれる“Writ
e”ルーチンに対するポインタを含んでいる。
第3図および第4図は、応用プログラムまたは制御クラ
イアントの構成、および2つの異なった動作モードによ
るX Trapサーバー拡張の使用方法を示す、それぞ
れのプロセスフロー図である。
すなわち第3図は、記録入力イベントまたは出力プロト
コル要求がライブユーザーセツション中に発生したとき
の、記録モード動作と呼ばれる、X Trapサーバー
拡張の動作を示すプロセスフロー図である。また第4図
は、RTE、すなわち遠隔端末エミュレーション能力を
用いて、シミュレートされた入力イベントを用いると共
に傍受された出力イベントを待機してライブユーザーセ
ツションのシミュレーションを行う、プレイバックモー
ド動作と呼ばれる。X Trapサーバー拡張の動作を
示すプロセスフロー図である。制御クライアントは、X
 L I B xflushマクロを介してデータ構成
をサーバーに送ることによって、X Trap拡張と交
信する。なお、これについては、R,W、 5ch−e
iffler、 J、 Cettys、およびR,Ne
wman。
“XWindow System 、 Digital
 Press刊行(1988)に報告されている。サー
バーは次で、データ構成を拡張例へ送る。下記のテーブ
ルlはデータ構成x X tap Reg“のフォーマ
ットを示したものである。
第1のフィールド、req Type”は、データ構成
X X tap Req”をどのX Trap拡張へ通
すべきかを識別する。クライアントはこのアイデンチフ
ァイヤを、 x Query Extension”を
呼出すことによって集める。なお、これについては、R
oW、 5cheiffler、 J、 Getty、
およびR,Newman、  ”XwindowSys
tem  、 Digital Press (198
8)に報告されている。第2のフィールド、  m1n
or  opcode”は、クライアントが送信中の特
定のX Trap拡張要求に対して識別子を含んでいる
。再び第2図を参照すると、 ext  reques
t  vector”アレイ46はX Trapが“m
1nor  op code”をルックアップして適当
な要求処理ルーチンを呼出すのに利用するディスバッチ
テーブルを含んでいる。第3のフィールド“lengt
h”は、X Trap要求に対して常に9である。第4
のフィールド、“data”は、各要求に対して異った
構成をもったユニオンである。
各ユニオンは送られる要求に対する特定のデータを含ん
でいる。なお、本発明は、拡張との交信にxflush
を使用するものに限定されるものではない。
再び第3図を参照すると、クライアントがX Trap
を構成する第1ステツプは、 X QueryExte
nsion“を呼出すことによって拡大用アイデンチフ
ァイアを得ることであり、これについてはR,W、 5
cheiffler、 J、 Gettys、およびR
,Newmann。
”XWindow System″Digital P
ress (1988)に報告されている。次に、クラ
イアントは、XTRAP  RESET要求を、 x 
X trap Req”構成の種々のフィールドをセッ
トし、これをxflushmacroを介してサーバー
に送ることによって要求する。
XTRAP  RESET要求は、拡張を新しいクライ
アントによる使用に対して準備させる。あるクライアン
トがすでにこの拡張を使用中であり、かつすでに制御ク
ライアントとして構成されているときは、X Trap
が要求内の“force”フラグをチエツクする。“f
orce”フラグは、  xXTrapReq”のユニ
オンフィールド“RESET”内のX Trapに送ら
れる要求特定信号の一部である。
(テーブル2参照) “force”フラグかセットされると、X Trap
はリセットされ、他のクライアントの制御から離脱する
。“force”フラグかセットされていないと、X 
Trapはエラーコードをクライアントに戻す。
各クライアントは、XTRAP  RESET要求の間
、 control′フラグをセットすることによって
、他のクライアントが成る拡張を偶発的に制御しないう
に防ぐことかできる。 control”フラグかセッ
トされると、X Trap拡張は、他のクライアントが
“force”フラグをセットしない限り、他のクライ
アントからの後続するXTRAP  RESETをすべ
て無視する。′”control”フラグは、“for
ce”フラグと同じく“RESET”ユニオンの一部で
ある。
X Trap拡張はXTRAP  RESET要求を受
信すると、X Trapの内部変数およびフラグをその
無効値にリセットし、入力および出力の傍受用の構成を
すべて取消す。全部のクライアントプログラムが、それ
ぞれストップする前にXTRAP  RESETを送信
する。
X Trap拡張がリセットされると、その度にクライ
アントは、その拡張が傍受しよとする入力および出力の
種類をセットアツプするXTRAPCONFIG要求を
送信する。XTRAP  C0NFIC要求用として、
 x X Trap Req’の“data”ユニオン
は第3図に示すような構成をもっている。
“flag”フィールドは入力および出力の傍受を可能
および不能にするために用いられ、テーブル4に示す通
りである。
v  kbd”フラグがセットされると、X Trap
は、キーボード入力の傍受の状態を、s  kbd”フ
ラグの状態に対応してセットする。s  kbd“かオ
ンであると、キーボード入力傍受が可能となる。またオ
フであると、キーボード入力傍受が不能となる。
マウス入力も同じように、v  ptr″フラグおよび
s  ptr”フラグを用いて制御される。1対のフラ
グ’v  opcodes”とs  opcodes’
は、同じような動作によって、テーブル3に示す“C0
NFIG”構成の“lcsじフィールド内にリストされ
た出力プロトコル要求の傍受を可能または不能にする。
XTRAP  C0NFIG要求はまた、拡張を、傍受
された入力または出力プロトコル要求のすべてについて
ミリ秒のタイムスタンプを行うように形成することかで
きる。XTRAP  C0NFIGはまた、X Tra
pによって発生される出力の形式に関する制御、すなわ
ちASCIIフォーマットと二進フォーマットの間の選
択に関する制御を行う。
X Trap拡大はXTRAP  C0NFIG要求を
受信すると、スワップ動作を行って、クライアントによ
って選択された入力および出力プロトコル要求の各タイ
プごとに、X Trapの入力または出力処理ルーチン
のアドレスを、Xサーバーの入力または出力処理ルーチ
ンのアドレスと交換する。
例えば、クライアントが、そのXTRAP  C0NF
IC要求の中に2つのフラグv  kbd“およびs 
 kbd”をセットすると、第2図に示すように、X 
Trapは、ベクトル“Key Board Proc
essInput Proc”28内の“kbd Pr
oc”ポインタをheyboard  1nput p
roc  34内のポインタ“X Trap  key
board“と交換する。またクライアントがフラグv
  kbd”をセットすると共に、但しフラグs  k
bd“をセットしないでおくと、2つのポインタはスト
ップされない。XTRAP  RESET要求があると
、X Trapは“Key BoardProcess
 Input Proc”とx trap keybo
ard”とのスワップは行わない。
次に、クライアントはC0NFICIO要求をX Tr
apに送り、集められた入力および出力の情報をどの種
類の通信チャネルを介して制御クライアントに送信すべ
きかを指定する。X Trapは、この要求を受信する
と、その内部変数“Writeio” (第2図の48
)を“write“ルーチンへのポインタの値にセット
する。このルーチンは、傍受された入力イベントおよび
出力プロトコル要求上の情報を、構成された通信チャネ
ルを介して制御クライアントに送信するのに用いられる
。記録モードでは、クライアントは情報をシーケンシャ
ルファイルに記録する。またプレイバックモードでは制
御クライアントは、構成された“write“ルーチン
を介して受信した情報を用いて、シミュレートされた入
力がサーバーへ送信されたことを確認する。これによっ
て、制御クライアントは、安全やその他の理由で必要な
とき、キーボードまたはマウスからの入力をサーバーが
無視するようにする。クライアントは、また、この情報
を用いて出力プロトコル要求をモニタし、最後の出力プ
ロトコル要求の処理が終るまで、次の入力イベントを送
信するのを待機する。プレイバックモードでも制御クラ
イアントは情報をシーケンシャルファイルへ記録する。
例えば、最後の出力プロトコル要求が“S”プロンプト
に対する要求であると、クライアントは“S”かスクリ
ーン上に現われるまで待ってから、次の入力イベントを
送らなければならない。
プレイバックモードでは、遠隔末端エミュレーション(
RTE)を実行するのにC0NFIG■0要求を行う。
テーブル5は、C0NFIG10要求に対する“xX 
Trap Req”の“data” ユニオンの構成を
示すものである。
“transporじフィールドは、構成される通信チ
ャネルのタイプを表わす10値を含んでいる。通信チャ
ネルの例としては、非同期端末ライン、シーケンシャル
ファイル、TCP/IPネットワーク、VMSメイルボ
ックス接続、XLIBトランスポート、およびD E 
Cnet Ta5k −to−Task通信などがある
。、XLIBトランスポートを介して送られる信号は、
SIMULATE  XEVENT要求、またはMOV
E  POINTER要求(下記に詳述する)を用いた
xflushマクロを介して送信される。シーケンシャ
ルファイルをキーボード入力およびマウス入力のソース
として用いることによって、応用プログラムはライブユ
ーザーなしに性能テストができる。さらに、ソフトウェ
アの回帰テストおよび比較テストも簡単になる。
また“direction”フィールドはC0NFIG
IO要求が、入力に印加されているが、出力に印加され
ているが、あるいはその両方であるかを指定する。
X Trap拡張か構成されるとその度に、クライアン
トは、5TART  I OrequestGtoに、
C0NFIG  I○要求て構成された通信メディアを
介してIloをスタートさせると共に、“write”
ルーチンを開始させ、入力および出力情報を制御クライ
アントに送信する。この要求で指定されるデータは、(
1)拡張が、出力プロトコル要求の一部である傍受され
たテキストストリングからセーブすべきキャラクタの数
、および(2)拡張が、サーバーにウテキストの1つ以
上のストリングをスクリーン上に描くように要求する出
力プロトコル要求、 poly Text 8“を傍受
するとき処理すべきテキストスプリングの数、たけであ
る。(テーブル6参照)。
制御クライアントは、X Trap実行を要するワーク
ステーションの遠隔制御またはモニタを終了すると、5
TOP  IO要求をxflushマクロを介してX 
Trapサーバー拡張に送信する。これによって、IO
チャネルに出入りするキャラクタの流れをストップさせ
る。クライアントは、実行をストップする準備かできな
い前は、XTRAPRESET要求をX Trap拡張
へ送信し、入力または出力の処理ルーチンのスワップが
すへて行われないようにする。
制御クライアントは、どの内部変数の値を知りたいとき
でも、XTRAP  INFO要求を送信することがで
きる。
また制御クライアントは、プレイバックモードで、SI
MULATE  XEVENT要求、およびMOVE 
 POINTER要求を使用し、入力をXLLBを介し
てXサーバーに送ることかできる。テーブル7は、 x
X Trap Req”構成における“data“ユニ
オンのフォーマットを、SIMULATE  XEVE
NTおよびMOVE  POINTERと一緒に使用す
る場合について示したもノテある。S IMULATE
  XEVENTi−!キーボードイベントおよびマウ
スクリックイベントを送信するのに用いられる。
MOVE  POINTERはマウスモーションイベン
トを送信するのに用いられる。変数“typeは、送信
されるイベントのタイプに対する識別子の値にセットさ
れ、MOVE  POINTER要求の場合、このタイ
プはマウスモーションイベントである。また、変数“d
etaiドはS IMULATE  XEVENT要求
のときに押されたり、放されたりするキーまたはマウス
ボタンに対する識別子の値にセットされる。また、変数
“X”および“y”は、マウスカーソルの指定するスク
リーン座標値にウセットされる。
上記しか本発明の記述は、図解と説明のために行われた
ものである。従って、本発明は開示した精細な形式に限
定されるものではなく、上記の開示から多くの解像や変
形か可能であることは明白である。
テーブル 1 x XtrapReqデータ構成(ショートバージョン
)typedef 5truct  xXtrapRe
q( CARD 8  reqrype; BYIE   m1nor  opcode;ARD1
6  length B16;In l On ( /”  91ongwords in 5ize/” 
 Zxtension l1lajor opcode
   ”//”  Minor opcode of 
request  ”//”  Initialize
dwith9     ”/union of var
ious request data 5tructu
r) ) テーブル 2 x X TrapReqデータ構成 (ロングバージョン−“data”ユニオンの内容を示
す)typedef 5truct  xXtrapR
eq    /’  91ongwords in 5
ize0/ CARD8  reqrype;      /”  
ZxtensionMajoropcode   ”/
BYTE   m1nor opcode;  /” 
Minoropcodeofrequest  ”/C
ARD16 1engthB16;    /”  I
nitializedwith9     ”/( YTE RESET INFOREQ 0NFIG O TART INPUT TCP  lo DNOT  10 1  date; xXtrapReq ; buffer[321;/” resec;    /” 1nforeq;   /” config;   /” io;     /” 5tart;    /” xinput;   /” /9 jC9io;  /” dnot  io;  /” General Buffer       ”/Da
ta for XTRAP  RESET   ”/D
ata for XTRAP  INFO°/Data
 for XTW  C0NFIG  ”/Data 
for C0NFIG  10    ”/Data 
for 5TART  10    ’/Data f
or SIMULAIE  XEVENT ”/and
 MOVE POIts’rER”/Data for
 C0NFIG  10    ”/Data for
 C0NFIG  10     ”/テーブル 3 CONFIG  ユニオン #define!1lAX  LIST加 ( LAGS ITS ARD8 ARD8 NT16 ARD8 ) CONFIG flags+ bi ts ; opcode count; pad  1byte pad  1word; 1ist[MAX LIST] ”/ 1ypedef 5truct fiags( un+on ( l FLAGS テーブル 5 IOユニオン #define 10  BVFFER5IZE28t
ypedef 5truct    i。
( /” used by C0NFIG ARD8 ARD8 NT16 B″ITE )IO; /9 transport ; direction; pad  s; buffer[Io  BLFFER5TIE]Val
ues for use in the direct
ion field。
The conninication mode 5p
ecified in thetransport f
ield will be used to conf
igurethe 1nput andlor out
put channels 5pacifiedin 
the direction field。
°/ #define  10  DIRIM#define
  IODIR0UT (1〈〈の /”  Configure for 1
nput(1<<1)  /”  Configure
 for outputテーブル 6 START  ユニオン typedef 5truct  5tartused
 by 5TART  10 ( lNT16   i+1ag  count;lNT1
6   poly  count;)  5TART; テーブル 7 XINPUT  ユニオン /”  used also by MOVE  PO
INTERtypedef 5truct  xinp
ut( type ; etail X; y; pad  a; ARD8 ARD8 ARD16 ARD16 ARD16 )  XI!ffr;
【図面の簡単な説明】
第1図は本発明の一実施例によるサーバー拡張のコンピ
ュータシステムに用いた場合の一般的な機能を示す系統
図。 第2図は本発明によるサーバー拡張のデータ構成、なら
びに、この拡張がアクセスすべきXサーバーデータ構成
を示す図。 第3図はサーバー拡張の1つの動作モードにおける応用
プログラム実行を示すプロセスフロー図。 第4図はサーバー拡張のもう1つの動作モードにおける
応用プログラム実行を示すプロセスフロー図。 〔符号の説明〕 10・・・CPU (セントラルプロセシングユニット
) 12・・・サーバー(オペレーチングシステム)14・
・・ワークステーション 16・・・ウィンドウ 18・・・マウス 20・・・キーボード 22・・・サーバー拡張 24A〜24N・・・クライアント(応用プログラム) 26・・・シーケンシャルファイル 28.30・・・入力ドライブ 40・・・出力ドライブ サーバー側 データ構成 第 図 拡張側 データ構成 手 続 補 正 書 (方式) %式% 1、事件の表示 平成2年特許願第333488号 2、発明の名称 サーバー拡張用アーキテクチャ 3、補正をする者 事件との関係 出 願人 4、代 理 人

Claims (3)

    【特許請求の範囲】
  1. (1)セントラルプロセシングユニット(10)、オペ
    レーチングシステム(12)、ユーザーの指定した入力
    をその端末位置でコンピュータに入力する1つ以上の入
    力ドライブ(18、30)、テキストまたはグラフィッ
    ク画像を表示する1つ以上の出力ドライブ(40)、対
    話モードで動くコンピュータプログラム、上記ユーザー
    指定の入力をユーザーによるに入力と上記コンピュータ
    プログラムによる受信との間で傍受する手段、および上
    記コンピュータプログラムと上記1つ以上の出力ドライ
    ブとの間で出力命令を傍受する手段を備えたことを特徴
    とするコンピュータシステム。
  2. (2)上記入力を傍受する手段が、サーバー入力処理ル
    ーチン用にアドレスされたサーバー内のメモリブロック
    と同じ構成のメモリブロック、拡張入力処理ルーチン、
    拡張入力処理のアドレスをサーバー内の上記メモリブロ
    ックにストアする手段、および上記サーバー入力処理ル
    ーチンのアドレスを下記拡張メモリ構成にストアする手
    段を備えた、拡張メモリ構成を有すること、を特徴とす
    る請求項1記載のコンピュータシステム。
  3. (3)1つ以上のセントラルプロセシングユニット、電
    子信号を上記CPUに送信すると共に電子信号を上記C
    PUから受信する1つ以上の周辺機器、その命令をCP
    Uのチップが実行して上記周辺機器から送信される上記
    電子信号を受信すると共に上記周辺機器で受信される電
    子信号を送信するようにするコンピュータプログラム、
    及び上記電子信号を傍受する手段、を備えたことを特徴
    とするコンピュータシステム。
JP2333488A 1989-11-30 1990-11-29 サーバー拡張用アーキテクチャ Pending JPH03224037A (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
JPH03224037A true JPH03224037A (ja) 1991-10-03

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 After (1)

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

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 (2)

* 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 デ−タ処理システムの入出力動作監視方式
JPS62290955A (ja) * 1986-06-11 1987-12-17 Hitachi Ltd オンライン・デ−タ処理システム

Family Cites Families (18)

* 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
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 (2)

* 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 デ−タ処理システムの入出力動作監視方式
JPS62290955A (ja) * 1986-06-11 1987-12-17 Hitachi Ltd オンライン・デ−タ処理システム

Also Published As

Publication number Publication date
DE69031706T2 (de) 1998-04-30
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
JPH0659934U (ja) 1994-08-19

Similar Documents

Publication Publication Date Title
US6928464B2 (en) Systems and methods for unified remote control access
US20030233637A1 (en) Universal system component emulator with human readable output
US7315807B1 (en) System and methods for storage area network simulation
JPH03224037A (ja) サーバー拡張用アーキテクチャ
US20010011215A1 (en) Network device simulation system and method
US6185521B1 (en) System and method for emulating mainframe channel programs by open systems computer systems
CN111444095A (zh) 移动设备的测试平台系统和测试方法
CN114448823A (zh) Nfs服务测试方法、系统及电子设备
CN111708704B (zh) 一种云真机测试方法、装置、终端及存储介质
US6404430B1 (en) Virtual space information processor
US7356683B2 (en) System and method for monitoring BIOS messages of remote computers by a local server
EP0770958A1 (en) WinSock network socket driver subsystem and method for windows emulator running under unix operating system
Gamboa et al. Widam-Web Interaction Display and Monitoring.
CN112671814B (zh) 一种跨平台的设备开发方法、装置及系统
CN114244895A (zh) 手持移动终端的控制方法、装置、电子设备和存储介质
CN112559255B (zh) 文件挂载恢复的测试方法、系统、装置及存储介质
JP2002232516A (ja) エミュレータ、エミュレート方法、エミュレーションプログラムおよび記録媒体、ならびに通信機器評価方法
JP2563082Y2 (ja) 疑似通信制御装置
JP2602983B2 (ja) 診断システム
KR100406031B1 (ko) Oms를 이용한 교환기 시뮬레이션 방법 및 그 시스템
CN118101531A (zh) 传输层协议测试方法、设备及存储介质
CN118838827A (zh) 一种压力测试方法、装置、设备以及存储介质
CN120378419A (zh) 远程操作设备的方法和装置、电子设备、计算机可读介质
CN120872743A (zh) 一种混合应用程序的数据采集方法及相关装置
JPH09330249A (ja) プロセス制御用計算機システムの開発装置