(57)【特許請求の範囲】
【請求項１】
ホストコンピュータで実行され且つ画面毎にデータ入力が必要となる既存オンライン・プログラムに対し、データの入出力を指示するユーザにより操作されるクライアント端末と、
前記既存オンライン・プログラムとの入出力に関する処理を実施する画面入出力手段と前記クライアント端末との入出力に関する処理を実施するクライアント側入出力手段とを有し、前記ホストコンピュータと前記クライアント端末とに接続されるサーバ・コンピュータと、
を有し、
前記サーバ・コンピュータの前記画面入出力手段は、
前記既存オンライン・プログラムからの出力が複数画面に渡る場合に、当該複数画面の各々の構成に関する情報を含む画面管理データを参照して、前記既存オンライン・プログラムからの出力データを前記複数画面に従って順次受け取り、前記複数画面分の前記出力データを一括して前記クライアント側入出力手段に出力し、
前記既存オンライン・プログラムに対する入力が前記複数画面に渡る場合に、前記画面管理データを参照して、前記クライアント側入出力手段から一括して受け取った前記複数画面分の前記既存オンライン・プログラムに対する入力データを前記複数画面に従って前記既存オンライン・プログラムに対して順次入力し、
前記サーバ・コンピュータの前記クライアント側入出力手段は、
前記画面入出力手段から一括して受信した前記複数画面分の前記出力データを前記クライアント端末に出力し、前記クライアント端末から一括して受信した前記複数画面分の前記入力データを前記画面入出力手段に出力し、
前記クライアント端末は、
前記クライアント側入出力手段に出力する前記複数画面分の前記入力データを一画面にて前記ユーザに入力させ、前記クライアント側入出力手段から受信する前記複数画面分の前記出力データを一画面にて前記ユーザに提示する、
クライアント・サーバ・システム。
【請求項２】
ホストコンピュータとクライアント端末との間の通信を仲介するサーバ・コンピュータであって、
前記クライアント端末との入出力に関する処理を実施するクライアント側入出力手段と、
前記ホストコンピュータで実行され且つ画面毎にデータ入力が必要となる既存オンライン・プログラムとの入出力に関する処理を実施する画面入出力手段と、
を有し、
前記クライアント側入出力手段が、
前記既存オンライン・プログラムに対する入力が複数画面に渡る場合に、前記クライアント端末から前記複数画面分の前記既存オンライン・プログラムに対する入力データを一括して受信し、前記入力データを一括して前記画面入出力手段に出力し、
前記画面入出力手段が、
前記複数画面の各々の構成に関する情報を含む画面管理データを参照して、前記クライアント側入出力手段から一括して受信した前記複数画面分の前記入力データを前記複数画面に従って前記既存オンライン・プログラムに対して順次入力する
サーバ・コンピュータ。
【請求項３】
前記画面入出力手段が、
前記既存オンライン・プログラムからの出力が複数画面に渡る場合に、前記画面管理データを参照して、前記既存オンライン・プログラムからの出力データを前記複数画面に従って順次受け取り、前記複数画面分の前記出力データを一括して前記クライアント側入出力手段に出力し、
前記クライアント側入出力手段が、
前記画面入出力手段から一括して受信した前記複数画面分の前記出力データを一括して前記クライアント端末に出力する
ことを特徴とする請求項２記載のサーバ・コンピュータ。
【請求項４】
前記クライアント側入出力手段が、
前記クライアント端末から入力の一時保管依頼を受け取った場合には、入力データを識別情報と共に一時保管する手段
を含む請求項２記載のサーバ・コンピュータ。
【請求項５】
前記画面入出力手段は、前記クライアント側入出力手段が前記既存オンライン・プログラムとの入出力を要求した時に当該クライアント側入出力手段に関連付けられ、前記既存オンライン・プログラムとの入出力が終了した時に当該クライアント側入出力手段との関連付けが解除されることを特徴とする請求項２記載のサーバ・コンピュータ。
【請求項６】
前記クライアント側入出力手段が、
前記画面入出力手段から一括して受信した前記複数画面分の出力データを一括して前記クライアント端末に出力し、前記クライアント端末において一画面で入力された前記複数画面分の入力データを前記クライアント端末から一括して受信して前記画面入出力手段に一括して出力する、
ことを特徴とする請求項２記載のサーバ・コンピュータ。
【請求項７】
ホストコンピュータとクライアント端末との間の通信を仲介するサーバ・コンピュータのためのプログラムを格納した記憶媒体であって、
前記プログラムは、
前記クライアント端末との入出力に関する処理を実施するクライアント側入出力機能と、
前記ホストコンピュータで実行され且つ画面毎にデータ入力が必要となる既存オンライン・プログラムとの入出力に関する処理を実施する画面入出力機能と、
を有し、
前記クライアント側入出力機能が、
前記既存オンライン・プログラムに対する入力が複数画面に渡る場合に、前記クライアント端末から前記複数画面分の入力データを一括して受信し、前記入力データを一括して前記画面入出力機能に出力し、
前記画面入出力機能が、
前記複数画面の各々の構成に関する情報を含む画面管理データを参照して、前記クライアント側入出力機能から一括して受信した前記複数画面分の前記入力データを前記複数画面に従って前記既存オンライン・プログラムに対して順次入力する
記憶媒体。
【発明の詳細な説明】
【０００１】
【発明が属する技術分野】
本発明は、ホストコンピュータとクライアント端末の間にサーバ・コンピュータを設ける３階層クライアント・サーバ・システムに関し、より詳しくは、ホストコンピュータ側に修正を加えることなくクライアント端末のユーザ・インターフェースを変更するための技術に関する。
【０００２】
【従来の技術】
近年、ホストコンピュータ（汎用コンピュータとも呼ばれる）において集中処理していたオンライン・システムについても、２４行×８０桁の文字型専用端末でなく、ＰＣ（Personal Computer）側でＧＵＩ（Graphical User Interface）アプリケーション・プログラムを実行し、さらにホストコンピュータと通信ができるようにするクライアント・サーバ型の運用形態が望まれるようになった。このような要求に対し、ホストコンピュータを廃棄し、ホストコンピュータのアプリケーション・プログラム（オンライン・システムにおけるアプリケーション・プログラムをオンライン・プログラムとも呼ぶ）をダウンサイジングしてクライアント・サーバ・システムに作り変えることが考えられる。しかし、長年に渡り機能の追加などがなされたオンライン・プログラムは巨大化しさらに複雑なものになっており、これらを他のサーバ・コンピュータに移行するにせよ、全てを新規開発するにせよ、非常に困難な作業及び多大なコストがかかる。そこで、ホストコンピュータの既存のアプリケーション・プログラムを活用しつつクライアント・サーバ環境をユーザに提供する必要が生ずる。
【０００３】
ホストコンピュータの既存アプリケーション・プログラムをそのまま活用してクライアント・サーバ・システム化する方法としては以下の方法が考えられてきた。
【０００４】
すなわち、ホストコンピュータとクライアント端末の間にサーバ・コンピュータを設ける３階層クライアント・サーバ方式を採用し、当該サーバ・コンピュータに端末エミュレータを導入する方法である。この端末エミュレータの画面とクライアント端末におけるクライアント・アプリケーションが通信を行い、クライアント・アプリケーションが端末エミュレータの画面毎に対応するＧＵＩを構築する。
【０００５】
ホストコンピュータの専用端末は通常２４行×８０桁のキャラクタ・ディスプレイであるため、一画面の表示データ項目数が多いと複数画面に分割してユーザにデータ入力をさせる。上で述べた方法を採用すると、専用端末と同じように画面送り操作が必要になる。すなわち、データ入力が複数画面に渡る場合、画面操作−思考−入力を各画面毎に繰り返すことになり、全体の操作時間及び操作性の面で従来のホストコンピュータの専用端末と何ら変わらなくなってしまう。
【０００６】
【発明が解決しようとする課題】
以上のように、従来のクライアント・サーバ・システム化の方法はユーザの操作性を向上させるものではない。
【０００７】
よって、本発明の目的は、上で述べたような３階層クライアント・サーバ・システムにおいて、ユーザの操作性を向上させるための技術を提供することである。
【０００８】
また、従来のクライアント・サーバ・システム化の方法は、ホストコンピュータの専用端末と同じで、データ入力を途中で中断したり再開したりすることが自由にできなかった。よって、本発明の別の目的は、３階層クライアント・サーバ・システムにおいて、ユーザの操作性を向上すべく、データ入力の中断及び再開を自由にできるようにする技術を提供するである。
【０００９】
さらに他の目的は、３階層クライアント・サーバ・システムにおける資源の有効利用及びシステム負荷の軽減を図る技術を提供することである。
【００１０】
さらに他の目的は、３階層クライアント・サーバ・システムにおけるメンテナンス性の向上を図る技術を提供することである。
【００１１】
【課題を解決するための手段】
本発明の第１の態様に係るクライアント・サーバ・システムは、画面入出力手段とクライアント側入出力手段とを有するサーバ・コンピュータと、サーバ・コンピュータに接続されるクライアント端末とを有する。そして、画面入出力手段は、ホストコンピュータで実行される既存オンライン・プログラムとの入出力が複数画面に渡る場合に、当該複数画面の各々の構成に関する情報を含む画面管理データを参照して、既存オンライン・プログラムからの出力データを複数画面に従って順次受け取り、クライアント側入出力手段から一括して受け取った複数画面分の既存オンライン・プログラムに対する入力データを複数画面に従って順次出力する。また、クライアント側入出力手段は、画面入出力サーバが受信した複数画面分の出力データを一括してクライアント端末に出力し、クライアント端末から複数画面分の入力データを一括して受信して画面入出力手段に出力する。クライアント端末は、クライアント側入出力手段に出力する入力データを一画面にてユーザに入力させ、クライアント側入出力手段から受信する複数画面分の出力データを一画面にてユーザに提示する。
【００１２】
これによりユーザはホストコンピュータで実行される既存オンライン・プログラムの複数画面を意識すること無くデータの入出力を行うことができるようになる。よって、操作性が向上する。
【００１３】
本発明の第２の態様に係る、ホストコンピュータとクライアント端末とに接続されるサーバ・コンピュータは、ホストコンピュータで実行される既存オンライン・プログラムに対する入力が複数画面に渡る場合に、当該複数画面の各々の構成に関する情報を含む画面管理データを参照して、一括して受け取った複数画面分の既存オンライン・プログラムに対する入力データを複数画面に従って順次出力する画面入出力手段と、クライアント端末から複数画面分の入力データを一括して受信して画面入出力手段に一括して出力するクライアント側入出力手段とを有する。これにより、複数画面分のデータを一括して入力しても、ユーザに代わり画面入出力手段が入力データを既存オンライン・プログラムに対し複数画面に従って順次出力するため、操作性が向上する。
【００１４】
なお、上で述べた画面入出力手段を、既存オンライン・プログラムからの出力が複数画面に渡る場合に、画面管理データを参照して、既存オンライン・プログラムからの出力データを複数画面に従って順次受け取り、クライアント側入出力手段に出力するような構成とすることも可能である。また、上で述べたクライアント側入出力手段を、画面入出力手段から受信した複数画面分の出力データを一括してクライアント端末に出力するような構成とすることも可能である。これにより、単なる参照や更新における元データの取り出しでも、画面入出力手段がユーザに代わり複数画面に渡りデータを取得するので、ユーザは複数画面に渡るデータを一括して受け取ることができるようになる。従って、ユーザの操作性が向上する。クライアント端末の画面では、複数画面に渡るデータを一画面でユーザに提供することも可能である。
【００１５】
また、上で述べたクライアント側入出力手段を、クライアント端末から入力の一時保管依頼を受け取った場合には、入力データを識別情報と共に一時保管する手段を含むような構成とすることも可能である。これにより、データ入力を途中で何らかの理由により中断したい場合でも対処できるようになる。よって、ユーザの操作の利便性を向上できる。
【００１６】
さらに、上で述べたクライアント側入出力手段を、入力再開依頼及び一時保管時に指定された識別情報をクライアント端末から受け取った場合には、識別情報により特定され且つ一時保管されているデータを当該クライアント端末に出力する手段をさらに含むような構成とすることも可能である。
【００１７】
さらに上で述べたクライアント側入出力手段を、クライアント端末におけるログインに対応して起動され、ログアウトに対応して終了されるような構成とすることも可能である。サーバ・コンピュータの資源の有効利用につながる。
【００１８】
また上で述べた画面入出力手段を、クライアント側入出力手段が既存オンライン・プログラムとの入出力を要求した時に当該クライアント側入出力手段に関連付けられ、既存オンライン・プログラムとの入出力が終了した時に当該クライアント側入出力手段との関連付けが解除されるような構成とすることも可能である。これによりサーバ・コンピュータの資源の有効利用が可能となる。またシステム負荷を下げることができる。
【００１９】
さらに、上で述べた画面入出力手段を、既存オンライン・プログラムからの出力データを受け取るための複数の第１画面入出力手段と、既存オンライン・プログラムに対する入力データを出力するための複数の第２画面入出力手段とを含むような構成とし、第１画面入出力手段の数が第２画面入出力手段の数より多くすることも可能である。本システムにおいて生ずる入出力間の負荷を考慮し、サーバ・コンピュータ及びホストコンピュータの資源を有効利用するためである。
【００２０】
上で述べたクライアント側入出力手段を、画面入出力手段が受信した複数画面分の出力データを一画面用のデータとしてクライアント端末に出力し、クライアント端末において一画面で入力された複数画面分の入力データをクライアント端末から一括して受信して画面入出力手段に一括して出力するような構成とすることも可能である。一般的に普及しているユーザ・インターフェースを３階層クライアント・サーバ・システムにおいても提供することができる。よって、ユーザの操作性が向上する。
【００２１】
本発明の第３の態様に係るサーバ・コンピュータは、ホストコンピュータで実行される既存オンライン・プログラムに入力すべきデータの一時保管依頼をクライアント端末から受け取った場合に、入力すべきデータを識別情報と共に一時保管する手段と、入力再開依頼及び一時保管時に指定された識別情報をクライアント端末から受け取った場合には、識別情報により特定され且つ一時保管されているデータを当該クライアント端末に出力する手段とを有する。従来は入力を中断できなかったので、これによりユーザの利便性が増す。
【００２２】
本発明の第４の態様に係る、ホストコンピュータとクライアント端末とに接続されるサーバ・コンピュータのためのプログラムは、ホストコンピュータで実行される１の既存オンライン・プログラムに対する出力が複数画面に渡る場合に、当該複数画面の各々の構成に関する情報を含む画面管理データを参照して、一括して受け取った複数画面分の既存オンライン・プログラムに対する入力データを複数画面に従って順次出力する画面入出力機能と、クライアント端末から複数画面分の入力データを一括して受信して画面入出力機能に出力するクライアント側入出力機能とを有する。
【００２３】
なお、本発明に係るプログラムは、例えばフロッピー・ディスク、ＣＤ−ＲＯＭ、光磁気ディスク、半導体メモリ、ハードディスク等の記憶媒体又は記憶装置に格納される。
【００２４】
【発明の実施の形態】
本発明の具体的な構成を示す前に、本発明に係るユーザ・インタフェースが端末エミュレータの画面構成及び画面操作からどのように変わるかを例を用いて説明しておく。
【００２５】
まず、端末エミュレータの画面構成について説明する。
【００２６】
図４４に示された画面１０００は、従業員情報に関するオンライン・プログラムの最初の画面である。画面１０００には、新規入力であれば１を、更新であれば２を、参照であれば０を、区分入力欄１００１に入力することが示されている。また、従業員番号入力欄１００３も設けられている。また画面１０００下部には、ＰＦ６キーを押すと次画面に移行し、ＰＦ１０キーを押すとオンライン・アプリケーションを終了させることができることも示されている。ここでは新規入力を行うため、図４４に示したように、例えば、区分の欄１００１に１を、従業員番号入力欄１００３に６５４３２１を入力し、ＰＦ６を押す。
【００２７】
なお、区分入力欄１００１は、画面１０００の８行１３桁に位置し、１バイト分の入力ができる。また、従業員番号入力欄１００３は、画面１０００の９行１９桁に位置し、６バイトの入力ができる。
【００２８】
図４４においてＰＦ６キーが押されると、図４５のような画面１０１０が表示される。画面１０１０は２画面ある個人情報入力画面の１画面目である。画面１０１０には、氏名の姓入力欄１０１１、名入力欄１０１３、男であれば１を女であれば２を入力する性別入力欄１０１５、生年入力欄１０１６、生月入力欄１０１７、生日入力欄１０１８、第１のエラーコメントが表示されるエラー１表示欄１０１９が含まれる。
【００２９】
なお、姓入力欄１０１１は、画面１０１０の８行２１桁に位置し、１０バイト分の入力ができる。名入力欄１０１３は、８行３９桁に位置し、１０バイト分の入力ができる。性別入力欄１０１５は、１０行３５桁に位置し、１バイト分の入力ができる。生年入力欄１０１６は、１２行２１桁に位置し、４バイト分の入力ができる。生月入力欄１０１７は、１２行２７桁に位置し、２バイト分の入力ができる。生日入力欄１０１８は、１２行３１桁に位置し、２バイト分の入力ができる。エラー１表示欄１０１９は、２２行５桁に位置し、６０バイト分の表示を行うことができる。
【００３０】
画面１０１０下部には、ＰＦ５キーを押すと前画面に戻り、ＰＦ６キーを押すと次画面に移行し、ＰＦ８キーを押すと初画面に戻ることが示されている。
【００３１】
図４５においてＰＦ６キーが押されると、図４６のような画面１０２０が表示される。画面１０２０は２画面ある個人情報入力画面の２画面目である。画面１０２０には、所属を示す課コード入力欄１０２１、内線のエリア番号を入力するための内線１入力欄１０２３、内線番号を入力するための内線２入力欄１０２５、自宅住所を入力する自宅入力欄１０２６、電話番号の市外局番を入力するための電話１入力欄１０２７、電話番号の市内局番を入力するための電話２入力欄１０２８、電話番号を入力するための電話３入力欄１０２９、第２のエラーコメントが表示されるエラー２表示欄１０２４が含まれる。
【００３２】
なお、課コード入力欄１０２１は、画面１０２０の７行２１桁に位置し、４バイト分の入力ができる。内線１入力欄１０２３は、１０行１５桁に位置し、４バイト分の入力ができる。内線２入力欄１０２５は、１０行２０桁に位置し、４バイト分の入力ができる。住所入力欄１０２６は、１２行１５桁に位置し、６４バイト分の入力ができる。電話１入力欄１０２７は、１４行１５桁に位置し、５バイト分の入力ができる。電話２入力欄１０２８は、１４行２１桁に位置し、４バイト分の入力ができる。電話３入力欄１０２９は、１４行２６桁に位置し、４バイト分の入力ができる。エラー２表示欄１０２４は、２２行５桁に位置し、６０バイト分の表示ができる。
【００３３】
画面１０２０下部には、ＰＦ５キーを押すと前画面に戻り、ＰＦ７キーを押すと入力データが登録され、ＰＦ８キーを押すと初画面に戻ることが示されている。
【００３４】
図４４乃至図４６は新規入力についての画面構成例と操作方法を示している。
【００３５】
次に、更新時の画面について図４７乃至図４９を用いて説明する。
【００３６】
図４４とほぼ同じ画面１０３０（図４７）では、更新処理を行うため、区分入力欄に更新を意味する２が入力され、更新対象である従業員の従業員番号１２３４５６が従業員番号入力欄に入力されている。ここでＰＦ６キーが押されると、図４８の画面１０４０に移行する。
【００３７】
画面１０４０では、従業員番号１２３４５６の従業員の情報が表示される。ここでは氏名が富士通夫で、性別が男、生年月日が１９７５年１０月１０日であることが示されている。ユーザはここで生年月日などを修正／更新することができる。画面１０４０は２画面ある個人情報更新のための画面の第１画面であり、ＰＦ６キーを押せば図４９の画面１０５０に移行する。
【００３８】
画面１０５０では、従業員番号１２３４５６の従業員の情報の続きが表示される。ここでは、課コードが４８８６で、内線が７０５１−３９７８であり、自宅住所が東京都大田区新蒲田１−１７−２５であり、電話番号が０３−５４２３−６３７４であることが示されている。ユーザはここで課コード等の情報を更新することができる。
【００３９】
更新が終了すれば画面１０５０においてＰＦ７キーを押せば、更新内容がホストコンピュータに反映される。
【００４０】
次に、参照時の画面について  図５０乃至図５２を用いて説明する。
【００４１】
図４４及び図４７とほぼ同じ画面１０６０（図５０）では、参照処理を行うため、区分入力欄に参照を意味する０が入力され、参照対象である従業員の従業員番号１２３４５６が従業員番号入力欄に入力されている。ここでＰＦ６キーが押されると、図５１の画面１０７０に移行する。
【００４２】
画面１０７０では、従業員番号１２３４５６の従業員の情報が表示される。なお、従業員番号が更新処理時と同じであるから、表示内容は同じであるが、今回は参照処理であるから表示内容を変更することはできない。画面１０７０において、ＰＦ６キーを押せば図５２の画面１０８０に移行する。
【００４３】
画面１０８０では、従業員番号１２３４５６の従業員の情報の続きが表示される。なお、従業員番号が更新時と同じであるから、表示内容も同じである。但し、今回は参照処理であるから表示内容を変更することはできない。画面１０８０下部にも、更新を実行させるためのキーは示されておらず、前画面に戻るキーと最初の画面に戻るためのキーとが示されているだけである。
【００４４】
一方本発明で上と同じような機能をユーザに提供する際の画面例を図１乃至図１６を用いて説明する。
【００４５】
まずユーザはシステムにログインしなければならない。ユーザに最初に提示される画面は、図１に示した画面２０００である。画面２０００には、ユーザ名を入力するユーザ名入力欄２００１と、開始ボタン２００３と終了ボタン２００５が含まれる。ログインするには、ユーザ名入力欄２００１にユーザ名を入力し、開始ボタン２００３を押す。処理を中止する場合には、中止ボタン２００５を押す。
【００４６】
ログインが受け付けられると、図２の画面２０１０に移行する。画面２０１０には処理モード選択欄２０１１と、実行ボタン２０１３と、従業員情報欄２０１５と、識別コメント入力欄２０１７とが含まれている。処理モード選択欄２０１１では、登録（新規登録）処理、更新処理、保存処理、再開処理、終了処理を選択できるようになっている。参照は含まれていないが、更新処理では記録されている情報を参照できる。
【００４７】
なお、画面２０１０には、従来技術では存在しなかった項目が含まれている。これは、識別コメント入力欄２０１７である。これは後に述べる入力データの一時保管に用いるデータを入力するための欄である。
【００４８】
最初に新規登録を行う場合を説明する。新規登録処理を実施する場合には、処理モード選択欄２０１１で「登録」を選択する。これにより新規登録モードになる。そうすると、従業員情報欄２０１５の各項目について従業員情報を入力することができる。ここで注意されたいのは、ホストコンピュータの専用端末では図４４乃至図４６の３画面構成であったのに対し、図２では１画面で全ての入力が行えるようになっている点である。すなわち、従来ではユーザは画面送りボタン（図４４乃至図４６ではＰＦ５，ＰＦ６，ＰＦ７，ＰＦ８）を押さなければならず、各画面において、画面操作−思考−入力を繰り返していた。しかし、本実施例では、一画面で全ての情報をユーザに提供することができ且つ処理も行えるため、ユーザの操作性が向上する。さらに、操作時間の短縮も期待できる。
【００４９】
図３は従業員情報欄２０１５に新規登録すべき情報を全て入力した状態の画面２０２０を示している。画面２０２０では実行ボタン２０１３を押すことにより、新規登録依頼をホストコンピュータに出力することができる。
【００５０】
次に更新処理を行う場合を説明する。更新処理を実施する場合には、処理モード選択欄２０１１で「更新」を選択する。これにより更新モードになる。図４に示した画面２０３０が処理モード選択欄２０１１で「更新」が選択された状態を示している。次に更新する対象を指定しなければならない。ここでは従業員情報欄２０１５内に従業員番号１２３４５６を入力する。従業員番号１２３４５６が入力された状態が図５の画面２０４０である。この状態で実行ボタン２０１３を押す。
【００５１】
そうすると、図６の画面２０５０に示すように、従業員番号１２３４５６に対して既に入力されている従業員情報が表示される。従業員情報欄２０１５には、取り出された氏名、性別、生年月日、所属課コード、内線番号、自宅住所、及び電話番号の具体的な情報が含まれる。
【００５２】
ここで変更が必要な情報を更新する。例えば自宅住所を変更する場合には、図７の画面２０６０の自宅住所欄２０６１に示すように、住所を入れ直す。変更が終了すれば、実行ボタン２０１３を押す。これにより、ホストコンピュータに対して更新要求が出力される。
【００５３】
図４乃至図７に示すように、更新の場合であっても既に登録されている従業員情報は全て一画面でユーザに提示される。これにてユーザは自分が更新した情報がどこにあるのかを一画面内で例えば画面をスクロールさせて探せばよく、操作性の向上及び処理の効率化を図ることができる。
【００５４】
次に入力データの一時保管について説明する。ホストコンピュータの専用端末でも、従来の３階層クライアント・サーバ・システムでも入力データを一時保管することはできなかった。例えば、一定の入力を行った後に、他の処理をしなければならなくなっても、既に入力しているデータを登録をせずに保管することはできなかった。よって途中まで入力していてもそこまでの入力を破棄してから他の処理に移行しなければならなかった。これでは処理効率が落ちてしまう。
【００５５】
よって本発明では登録前に一時保管することができるようにする。まず、新規登録時に一時保管を行う場合を説明する。図８の画面２０７０に示すように、従業員情報欄２０１５には既に新規登録する従業員情報が入力されている。しかし、このまま登録できない場合には、画面２０７０のように処理モード選択欄２０１１の「保存」を「登録」に加えて選択する。
【００５６】
次に保存する内容を後に識別するため識別コメント入力欄２０１７に識別コメントを入力する。図９の画面２０８０では、識別コメント入力欄２０１７に識別コメントである登録保存１が入力される。この後、実行ボタン２０１３を押せば、ユーザ名と識別コメントにて保存用ファイル名が決定され、入力データが保存される。
【００５７】
次に、更新時に一時保管を行う場合を説明する。図１０の画面２０９０に示すように、従業員情報欄２０１５には既に更新される又は更新された従業員情報が入力されている。しかし、このまま更新処理を行えない場合には、画面２０９０のように処理モード選択欄２０１１の「保存」を「更新」に加えて選択する。
【００５８】
次に保存する内容を後に識別するため識別コメント入力欄２０１７に識別コメントを入力する。図１１の画面２１００では、識別コメント入力欄２０１７に識別コメントである更新保存２が入力される。この後、実行ボタン２０１３を押せば、ユーザ名と識別コメントにて保存用ファイル名が決定され、入力データが保存される。
【００５９】
新規登録時に一時保管を行った場合に、新規登録のための入力を再開する時、又は更新時に一時保管を行った場合に、更新のための入力を再開する時の手順は以下のとおりになる。すなわち、最初に図１２の画面２１１０の処理モード選択欄２０１１において「再開」を選択する。次いで、図１３の画面２１２０に示すように、取り出したい保存内容を識別する識別コメントを識別コメント入力欄２０１７に入力する。画面２１２０では、登録保存１という識別コメントが入力されている。そして実行ボタン２０１３を押す。
【００６０】
そうすると図１４の画面２１３０に示されるように、従業員情報欄２０１５に一時保管されていた入力内容が表示されるようになる。なお、識別コメント入力欄２０１７には登録保存１が入力されたので、新規登録時に一時保管されたデータが取り出される。そして画面２１３０の処理モード選択欄２０１１は「登録」が選択された状態になる。
【００６１】
画面２１３０の従業員情報欄２０１５に必要な情報を入力又は必要な変更などを行った後の状態が図１５の画面２１４０である。ここで実行ボタン２０１３を押せば、ホストコンピュータに入力内容が登録される。
【００６２】
ログアウトする場合には、図１６の画面２１５０に示すように、処理モード選択欄２０１１において「終」を選択し、実行ボタン２０１３を押す。図１６では従業員情報欄２０１５には従業員情報が入力されているが、ログアウトが選択されて実行ボタン２０１３が押されてしまうと、従業員情報欄２０１５に入力されている情報は破棄される。
【００６３】
次に、以上説明した図１乃至図１６の画面を出力し、当該画面に関連する処理を行うコンピュータ・システムについて説明する。
【００６４】
図１７に本発明のコンピュータ・システム１の概要を示す。クライアント端末３はサーバ・コンピュータ５に接続されている。サーバ・コンピュータ５はホストコンピュータ７に接続されている。
【００６５】
クライアント端末３ではクライアント・アプリケーション・プログラム３１が実行されている。クライアント・アプリケーション・プログラム３１は、クライアント端末３においてユーザに対するＧＵＩ構築、入力データのチェック（例えば、桁数、文字種類（英数字、日本語のチェック）等）、後に述べるサーバ・コンピュータ５で起動されるクライアント入出力サーバ５１との通信を行う。クライアント・アプリケーション・プログラム３１は、例えばウェブ（Ｗｅｂ）・ブラウザとジャバ（Ｊａｖａ：Sun Microsystems 社の商標）アプレットの組合せや、ビジュアル・ベーシック（Visual Basic/Microsoft社の商標）によるプログラムで実現される。
【００６６】
ホストコンピュータ７では既存オンライン・プログラム７１が実行されている。本発明では、既存オンライン・プログラム７１に修正を加えることなく、後に述べる効果を得ることができるようになる。既存オンライン・プログラム７１は例えば図４４乃至図５２のような画面を後に述べるサーバ・コンピュータ５で実行される端末エミュレータ５５に構成させるためのデータを生成・出力する。但し、既存オンライン・プログラム７１自体は従来と変わらないので、これ以上は述べない。
【００６７】
サーバ・コンピュータ５では、クライアント入出力サーバ５１と、エミュレータ画面入出力サーバ５３と、端末エミュレータ５５が実行されている。
【００６８】
端末エミュレータ５５は、ホストコンピュータ７で実行されている既存オンライン・プログラム７１との通信、及び後に述べるエミュレータ画面入出力サーバ５３との通信を行う。端末エミュレータ５５は、ホストコンピュータ７の専用端末の代わりに、既存オンライン・プログラム７１からのデータを出力し、既存オンライン・プログラム７１へデータを入力するための画面、例えば図４４乃至図５２のような画面を構成する機能を有する。端末エミュレータ５５の例としては、３２７０エミュレータや、６６８０エミュレータ等がある。端末エミュレータ５５自身も従来と変わらないので、これ以上述べない。
【００６９】
クライアント入出力サーバ５１は、クライアント・アプリケーション・プログラム３１との通信、エミュレータ画面入出力サーバ５３との通信、ログインユーザ管理、及びクライアント端末３で入力されたデータを一時保管又は入力再開時の取り出し処理を行う。ログインユーザ管理のために、クライアント入出力サーバ５３は、サーバ・コンピュータ５に設けられたユーザ管理ファイル格納部５７に格納されたユーザ管理ファイルを用いる。また、クライアント端末３で入力されたデータを一時保管又は入力再開時の取り出し処理のために、クライアント入出力サーバ５１は、サーバ・コンピュータ５に設けられたクライアント入力保管ファイル格納部５８を使用する。本実施例では、クライアント入出力サーバ５３は１プロセスからなり、ログイン・ユーザ毎にスレッドが起動されるような構成を使用する。
【００７０】
エミュレータ画面入出力サーバ５３は、クライアント入出力サーバ５１との通信、端末エミュレータ５５との通信を行う。特に、クライアント入出力サーバ５１から既存オンライン・プログラム７１に対する入力データや検索条件を受け取り、エミュレータ画面管理ファイル格納部５９に格納されたエミュレータ画面管理ファイルの内容に従って複数のエミュレータ画面と入出力を行い、その結果をクライアント入出力サーバ５１に返す。エミュレータ画面入出力サーバ５３は、本実施例では端末エミュレータ５５の数だけ起動されるプロセスである。
【００７１】
ここでコンピュータ・システム１の動作について簡単に説明しておく。
【００７２】
（ａ）データ一括入力の場合
ユーザがクライアント端末３においてクライアント・アプリケーション・プログラム３１に入力を完了し、新規登録又は更新依頼を行うと、クライアント・アプリケーション・プログラム３１は項目毎に入力データ・チェックを行い、正常であれば、クライアント入出力サーバ５１に入力データを送信する。入力データを受け取ったクライアント入出力サーバ５１は、エミュレータ画面入出力サーバ５３と接続し、入力データを送信する。
【００７３】
入力データを受け取ったエミュレータ画面入出力サーバ５３は、入力データとエミュレータ画面管理ファイルの内容に従って、端末エミュレータ５５のエミュレータ画面を介してホストコンピュータ７の既存オンライン・プログラム７１に入力を行い、入力結果をクライアント入出力サーバ５１に返信する。
【００７４】
エミュレータ画面入出力サーバ５３から入力結果を受け取ったクライアント入出力サーバ５１は、クライアント・アプリケーション・プログラム３１に入力結果を送信する。クライアント・アプリケーション・プログラム３１は受け取った入力結果をユーザに提示する。
【００７５】
（ｂ）登録データの一括取り出しの場合
ユーザが、クライアント端末３においてクライアント・アプリケーション・プログラム３１に、例えば従業員番号や受注番号等の検索キーを入力し、登録データ取り出し依頼を行うと、クライアント・アプリケーション・プログラム３１は、検索キーの入力データ・チェックを行い、正常であれば、クライアント入出力サーバ５１に検索キーを送信する。
【００７６】
検索キーを受け取ったクライアント入出力サーバ５１は、エミュレータ画面入出力サーバ５３に接続し、検索キーを出力する。
【００７７】
検索キーを受け取ったエミュレータ画面入出力サーバ５３は、検索キーと端末エミュレータ画面管理ファイルの内容に従って、端末エミュレータ５５のエミュレータ画面を介してホストコンピュータ７の既存オンライン・プログラム７１に入出力を行い、検索結果データをクライアント入出力サーバ５１に送信する。
【００７８】
エミュレータ画面入出力サーバ５３から検索結果データを受け取ったクライアント入出力サーバ５１は、クライアント・アプリケーション・プログラム３１に検索結果データを返信する。クライアント・アプリケーション・プログラム３１は受け取った検索結果データをユーザに提示する。
【００７９】
（ｃ）データ入力中断（一時保管）と再開の場合
（１）データ入力中断（一時保管）の場合
ユーザがクライアント端末３においてクライアント・アプリケーション・プログラム３１にデータ入力中、入力再開時に一時保管した入力データを特定するための識別コメントを入力して入力中断（一時保管）依頼を行うと、クライアント・アプリケーション・プログラム３１は、それまでに入力したデータ全てと識別コメントを、クライアント入出力サーバ５１に送信する。
【００８０】
入力データと識別コメントを受け取ったクライアント入出力サーバ５１は、ユーザ名と識別コメントから入力データ保管用ファイル名を決定し、入力データをクライアント入力保管ファイル格納部５８に格納する。
【００８１】
（２）データ入力再開の場合
ユーザがクライアント端末３のクライアント・アプリケーション・プログラム３１に識別コメントを入力して入力再開依頼を行うと、クライアント・アプリケーション・プログラム３１は、識別コメントを、クライアント入出力サーバ５１に送信する。
【００８２】
識別コメントを受け取ったクライアント入出力サーバ５１は、ユーザ名と識別コメントから入力データ保管用ファイル名を決定し、保管データをクライアント入力保管ファイル格納部５８から取り出し、取り出した保管データをクライアント・アプリケーション・プログラム３１に送信する。クライアント・アプリケーション・プログラム３１は受け取った保管データをユーザに提示する。
【００８３】
次に、クライアント・アプリケーション・プログラム３１の処理の詳細を図１８乃至図２０を用いて説明する。
【００８４】
最初にユーザがログイン要求を入力する。そして、このログイン要求に応答して、クライアント入出力サーバ５１との接続を行い、クライアント入出力サーバ５１にユーザ名と共にログイン要求を送信する（ステップＳ１）。クライアント入出力サーバ５１における処理の後に、クライアント入出力サーバ５１からログイン要求の結果を受信し、クライアント端末３の画面にログイン要求の結果を反映する（ステップＳ３）。もし、ログインが成功していればステップＳ７に移行し、ログインが不成功であればステップＳ１に戻り再度ログイン要求の入力をユーザに促す（ステップＳ５）。
【００８５】
ログインに成功すれば、ユーザは次に処理モードを指定する。クライアント・アプリケーション・プログラム３１では初めに、ユーザから指定された処理方法が新規登録であるか否か判断する（ステップＳ７）。もし、新規登録であれば、ユーザは新規登録すべきデータをクライアント・アプリケーション・プログラム３１に入力していく。ユーザは必要に応じて入力データの一時保管を指定する場合があるので、ユーザが一時保管を指示したか判断する（ステップＳ９）。一時保管を指示していない場合には、ユーザがデータの登録又は更新実行を指示したか否かを判断する（ステップＳ１１）。もし、ユーザがデータの登録／更新実行を指示していない場合には、データの入力中であるからステップＳ９に戻る。
【００８６】
一方、ユーザがデータの登録／更新実行を指示した場合には、入力データに誤りがないか確認する（ステップＳ１３）。もし、入力データに誤りがある場合には、エラー内容を表示し、エラー修正を促す（ステップＳ２３）。そして、ステップＳ９に戻る。もし、入力データに誤りが無い場合には、全ての入力データをクライアント入出力サーバ５１に登録／更新要求と共に送信する（ステップＳ１５）。
【００８７】
クライアント入出力サーバ５１、エミュレータ画面入出力サーバ５３、端末エミュレータ５５、及び既存オンライン・プログラム７１の処理の後に、クライアント入出力サーバ５１から登録／更新結果を受信する（ステップＳ１７）。
【００８８】
登録／更新結果には入力エラーの発生を示すデータが含まれる場合がある。よって、登録／更新結果に入力エラーがあったか否かを判断する（ステップＳ１９）。もし、入力エラーが存在していた場合には、ステップＳ２３に移行する。一方、入力エラーが発生していなかった場合には、正常に登録／更新されたことを画面に表示する（ステップＳ２１）。そして、端子Ａを介してステップＳ７に戻る。
【００８９】
ステップＳ９においてユーザが一時保管を指示する場合には、ユーザが入力した識別コメントを受け取る（ステップＳ２５）。そして、クライアント入出力サーバ５１に識別コメント及び全ての入力データを一時保管要求と共に送信する（ステップＳ２７）。クライアント入出力サーバ５１における処理の後に、クライアント入出力サーバ５１から保管結果を受信し、画面に表示する（ステップＳ２９）。そして、端子Ａを介してステップＳ７に戻る。
【００９０】
ステップＳ７において、ユーザが指定した処理方法が新規登録でなかった場合には、端子Ｂを介して図１９のステップＳ３１に移行する。
【００９１】
ステップＳ３１では、ユーザが指定した処理方法が入力再開であるか判断する。もし、ユーザが入力再開を指示している場合には、入力再開と共にユーザにより指定された識別用コメントを入力再開要求と共にクライアント入出力サーバ５１に出力する（ステップＳ３３）。
【００９２】
クライアント入出力サーバ５１の処理の後に、クライアント入出力サーバ５１から保管データ内容及びデータ読み込み（取り込み）結果を受信する（ステップＳ３５）。識別コメントが間違っているなどの理由で、クライアント入出力サーバ５１は保管データを取り込めない場合もある。よって、読み込み結果を参照して、保管データ読み込みに成功したか否か判断する（ステップＳ３７）。もし、保管データの読み込みに失敗した場合には、保管データ読み込み失敗を画面に表示する（ステップＳ４１）。そして、端子Ａを介してステップＳ７に戻る。一方、保管データ読み込みに成功した場合には、保管データを表示画面に表示する（ステップＳ３９）。そして、端子Ｃを介してステップＳ９に戻る。すなわち、登録／更新処理、又は再度一時保管処理を行うための処理に移行する。
【００９３】
ステップＳ３１において、ユーザから指定された処理方法が入力再開でない場合には、ユーザから指定された処理方法は更新処理であるか否かを判断する（ステップＳ４３）。もし、更新処理を指示する場合には、ユーザは検索キーを入力する。よって次に、更新と共に入力された検索キーに入力エラーがあったか否かを判断する（ステップＳ４７）。もし、検索キーに入力エラーが存在した場合には、検索キーのエラーを表示し、ユーザに修正を促す（ステップＳ４５）。
【００９４】
一方、検索キーにエラーが存在しない場合には、検索キーと参照要求とをクライアント入出力サーバ５１に送信する（ステップＳ４９）。更新の場合には、まず更新対象となるデータを読み出さねばならないからである。なお、図１８乃至図２０にはユーザが指定した処理が参照である場合の処理フローが含まれていない。但し、以下に説明するステップＳ４９乃至Ｓ５７と同じである。
【００９５】
クライアント入出力サーバ５１、エミュレータ画面入出力サーバ５３、端末エミュレータ５５、及び既存オンライン・プログラム７１の処理の後に、クライアント入出力サーバ５１から検索内容及び参照結果を受信する（ステップＳ５１）。検索キーが間違っている場合もあり、クライアント入出力サーバ５１から受信した参照結果がエラーを示しているか判断する（ステップＳ５３）。もし、参照結果がエラーを示している場合には、参照失敗を画面に表示する（ステップＳ５７）。そして、端子Ａを介してステップＳ７に戻る。一方、参照結果がエラーを示していない場合には、検索内容を画面に表示する（ステップＳ５５）。そして、端子Ｃを介してステップＳ９に戻る。
【００９６】
ステップＳ４３においてユーザが指定した処理方法が更新でないと判断されると、端子Ｄを介して図２０のステップＳ５９に移行する。ステップＳ５９では、ユーザから指定された処理方法がログアウトであるか否かを判断する。もし、ログアウトでない場合には、端子Ａを介して図１８のステップＳ７に戻る。
【００９７】
一方、ログアウトが指示された場合には、クライアント入出力サーバ５１にログアウト要求を出力する（ステップＳ６１）。そして、クライアント入出力サーバ５１との接続を切断し（ステップＳ６３）、処理を終了する。
【００９８】
次に、クライアント入出力サーバ５１の処理の詳細を図２１乃至図２９を用いて説明する。
【００９９】
最初に、クライアント・アプリケーション・プログラム３１からのログイン要求に応答してスレッドを起動し、スレッド内ローカル変数にユーザ名を記憶する（ステップＳ７１）。そして、受け取ったユーザ名がユーザ管理ファイル格納部５７に格納されたユーザ管理ファイルに登録されているか判断する（ステップＳ７３）。ユーザ管理ファイルの例を図２４に示す。図２４（ａ）はユーザ管理ファイルのフォーマットを示している。すなわち、第１行にはユーザ名数（ｎ）が格納され、以下、ユーザ名１からユーザ名ｎまでユーザ名が格納される。なお、パスワードを必要とするシステムの場合には、ユーザ名とパスワードを対にして格納する。図２４（ｂ）はユーザ管理ファイルの例を示している。ここでは５名のユーザが登録されており、ＦＵＪＩ，ＳＡＴＯ，ＮＡＫＡＭＵＲＡ，ＩＴＯ，ＴＡＮＡＫＡというユーザ名が登録されている。
【０１００】
ステップＳ７３（図２１）においてクライアント・アプリケーション・プログラム３１から受け取ったユーザ名がユーザ管理ファイルに登録されていると判断された場合には、ログイン成功をクライアント・アプリケーション・プログラム３１に送信する（ステップＳ７５）。次に、クライアント・アプリケーション・プログラム３１から登録／更新データと共に登録／更新要求を受信したか否か判断する（ステップＳ７７）。
【０１０１】
もし、登録／更新要求を受信した場合には、登録／更新用エミュレータ画面入出力サーバ管理テーブルを調べ、未使用エミュレータ画面入出力サーバを獲得し、獲得した未使用エミュレータ画面入出力サーバを管理テーブルにおいて使用中に変更する（ステップＳ７９）。ステップＳ７９については後に詳細に説明する。
【０１０２】
登録／更新用エミュレータ画面入出力サーバ管理テーブルの例を図２５に示す。エミュレータ画面入出力サーバ５３は、登録／更新用と参照用とに分けられており、登録／更新用と参照用それぞれに管理テーブルが存在する。このように登録／更新用と参照用に分けるのは、システム全体の処理数としては参照の方が多いため、参照用により多くの資源を割り当てて、システム全体の処理時間を短縮するためのである。なお、登録／更新用と参照用とでは管理テーブルの構造自体は変わらない。図２５の登録／更新用エミュレータ画面入出力サーバ管理テーブルには、インデックス（Index）の列と、使用／未使用を示すフラグの列と、登録／更新エミュレータ入出力サーバ識別情報の列とがある。インデックスの列には、使用可能なエミュレータ画面入出力サーバ５３の数がｎの場合には、１からｎの数字が入れられる。フラグの列には、当該エミュレータ画面入出力サーバが使用中であれば１を未使用であれば０が入れられる。但し逆の関係でもよい。登録／更新用エミュレータ入出力サーバ識別情報の列には、ここでは登録／更新用エミュレータ画面入出力プロセス接続ネットワークアドレスが入れられる。
【０１０３】
図２１に戻って、次に獲得したエミュレータ画面入出力サーバ５３と接続する（ステップＳ８１）。接続したエミュレータ画面入出力サーバ５３に登録／更新データと共に登録／更新要求を送信する（ステップＳ８３）。エミュレータ画面入出力サーバ５３、端末エミュレータ５５、及び既存オンライン・プログラム７１の処理の後、登録／更新結果をエミュレータ画面入出力サーバ５３から受信し、エミュレータ画面入出力サーバ５３との接続を切断する（ステップＳ８５）。
【０１０４】
そして使用したエミュレータ画面入出力サーバ５３を登録／更新用エミュレータ画面入出力サーバ管理テーブルにおいて未使用に変更する（ステップＳ８６）。この処理については後に説明する。エミュレータ画面入出力サーバ５３から受信した登録／更新結果をクライアント・アプリケーション・プログラム３１に送信する。そして処理を端子Ａを介してステップＳ７７に戻す。
【０１０５】
一方、ステップＳ７３において受け取ったユーザ名がユーザ管理ファイルに登録されていないと判断された場合には、ログイン不成功をクライアント・アプリケーション・プログラム３１に送信する（ステップＳ８９）。そして起動したスレッドを終了する（ステップＳ９１）。
【０１０６】
ステップＳ７７において登録／更新要求を受信していない場合には、端子Ｂを介して図２２のステップＳ９３に移行する。ステップＳ９３では、クライアント・アプリケーション・プログラム３１から識別コメント及び入力データを一時保管要求と共に受信したか判断される。もし、一時保管要求を受信した場合には、ユーザ名及び識別コメントから保管ファイル名を決定する（ステップＳ９５）。次に全ての入力データをクライアント入力保管ファイル格納部５８の保管ファイルに書き出す（ステップＳ９７）。そしてクライアント・アプリケーション・プログラム３１に保管結果を送信する（ステップＳ９９）。この後端子Ａを介して図２１のステップＳ７７に戻る。
【０１０７】
一方、ステップＳ９３において一時保管要求を受信しなかったと判断された場合には、クライアント・アプリケーション・プログラム３１から識別コメントと共に入力再開要求を受信したか判断する（ステップＳ１０１）。もし、入力再開要求を受信したと判断された場合には、識別コメントとユーザ名から保管ファイル名を導き出す（ステップＳ１０３）。次に、当該保管ファイル名の保管ファイルをクライアント入力保管ファイル格納部５８から読み込む（ステップＳ１０５）。そして、クライアント・アプリケーション・プログラム３１に保管ファイルの内容とデータ読み込み結果を送信する（ステップＳ１０７）。その後端子Ａを介して図２１のステップＳ７７に戻る。
【０１０８】
図２６に保管ファイルのデータ構造例を示す。図２６（ａ）はフォーマット例を示す。ここでは「ユーザ名．識別コメント」をファイル名とし、第１行に項目数ｎ、第２行に項目名１、第３行に項目値１、以下同様に項目名と項目値が項目名ｎと項目値ｎになるまで格納される。例えば図９の画面２０８０の内容を一時保管する場合には、保管ファイルは図２６（ｂ）のようになる。すなわち、保管ファイル名は「ＵＳＥＲ２．登録保存１」であり、項目数が１４である。以下、従業員番号１２３４５６から電話３の６３７４までが保管ファイルに一時保管される。
【０１０９】
ステップＳ１０１において入力再開要求を受信していない場合には、端子Ｃを介して図２３のステップＳ１０９に移行する。ステップＳ１０９では、クライアント・アプリケーション・プログラム３１から検索キーと共に参照要求を受信したか判断される。もし、参照要求を受信した場合には、参照用エミュレータ画面入出力サーバ管理テーブルを調べ、未使用エミュレータ画面入出力サーバを獲得し、獲得した未使用エミュレータ画面入出力サーバを管理テーブルにおいて使用中に変更する（ステップＳ１１１）。このステップの処理については後に詳しく述べる。
【０１１０】
参照用エミュレータ画面入出力サーバ管理テーブルの例を図２７に示す。構造は図２５の登録／更新用エミュレータ画面入出力サーバ管理テーブルと同じである。但し、先程述べたように、参照用エミュレータ画面入出力サーバの数は登録／更新用エミュレータ画面入出力サーバの数よりも多い。すなわち、ｍ≧ｎ（いずれも正の整数）である。
【０１１１】
次に獲得したエミュレータ画面入出力サーバ５３と接続する（ステップＳ１１３）。そして、接続したエミュレータ画面入出力サーバ５３に検索キーと共に参照要求を送信する（ステップＳ１１５）。エミュレータ画面入出力サーバ５３と、端末エミュレータ５５と、既存オンライン・プログラム７１との処理の後に、参照結果をエミュレータ画面入出力サーバ５３から受信し、エミュレータ画面入出力サーバ５３との接続を切断する（ステップＳ１１７）。
【０１１２】
次に、使用したエミュレータ画面入出力サーバ５３を参照用エミュレータ画面入出力サーバ管理テーブルにおいて未使用に変更する（ステップＳ１１９）。この処理については後に詳しく述べる。そして、参照結果をクライアント・アプリケーション・プログラム３１に送信する（ステップＳ１２１）。処理は端子Ａを介して図２１のステップＳ７７に戻る。
【０１１３】
ステップＳ１０９において参照要求を受信していないと判断された場合には、クライアント・アプリケーション・プログラム３１からログアウト要求を受信したか判断する（ステップＳ１２３）。もし、ログアウト要求を受信した場合には、クライアント・アプリケーション・プログラム３１との接続を切断する（ステップＳ１２５）。そして端子Ｄを介して図２１のステップＳ９１に戻る。
【０１１４】
なお、ステップＳ１２３においてログアウト要求を受信していないと判断された場合には、端子Ａを介して図２１のステップＳ７７に戻る。
【０１１５】
次にステップＳ７９（図２１）及びステップＳ１１１（図２３）において実施されるエミュレータ画面入出力サーバ管理テーブルにおける未使用エミュレータ画面入出力サーバ獲得処理について図２８を用いて説明する。登録／更新と参照とで処理内容は同じであるからここでは登録／更新（ステップＳ７９）と参照（ステップＳ１１１）とを区別しないこととする。なお、使用する管理テーブルは図２５と図２７に示した各テーブルである。
【０１１６】
まずテーブルアクセスをロックし、エミュレータ画面入出力サーバ管理テーブルにおいて未使用のエミュレータ画面入出力サーバを探す（ステップＳ１３１）。そして、未使用のエミュレータ画面入出力サーバが存在するか判断する（ステップＳ１３３）。もし、未使用のエミュレータ画面入出力サーバが存在する場合には、エミュレータ画面入出力サーバ管理テーブルの１つの未使用エミュレータ画面入出力サーバのフラグを使用中（例えば１）にセットし、当該エミュレータ画面入出力サーバのインデックスをスレッド内変数に保存する（ステップＳ１３５）。保存されたインデックスは後に述べる解放処理にて使用される。
【０１１７】
一方、ステップＳ１３３で未使用のエミュレータ画面入出力サーバが存在しないと判断された場合には、エミュレータ画面入出力サーバ管理テーブルをアンロックし（ステップＳ１３７）、一定時間スリープする（ステップＳ１３９）。そしてステップＳ１３１に戻る。
【０１１８】
ステップＳ８６（図２１）及びステップＳ１１９（図２３）において実施されるエミュレータ画面入出力サーバ管理テーブルにおけるエミュレータ画面入出力サーバ解放処理について図２９を用いて説明する。この処理においても、登録／更新と参照とで処理内容は同じであるから、登録／更新（ステップＳ８６）と参照（ステップＳ１１９）とを区別しないこととする。なお、使用する管理テーブルは図２５と図２７に示した各テーブルである。
【０１１９】
まずエミュレータ画面入出力サーバ管理テーブルをロックし、切断した（すなわち使用を終了した）エミュレータ画面入出力サーバを管理テーブル中で未使用に変更する（ステップＳ１４１）。フラグを使用中（１）から未使用（０）に変更するものである。そして、管理テーブルをアンロックする（ステップＳ１４３）。
【０１２０】
以上のようにエミュレータ画面入出力サーバ管理テーブルを使用してエミュレータ画面入出力サーバ５３を管理する。これはエミュレータ画面入出力サーバ５３が端末エミュレータ５５に一対一対応して設けられるため、数に制限があるためである。一方、クライアント入出力サーバ５１は、ユーザ毎にスレッドとして起動されるため、ログイン中のユーザの数によって増減する。図２１乃至図２３において示されるようにクライアント入出力サーバ５１は必要な時だけエミュレータ画面入出力サーバ５３に接続し、クライアント入出力サーバ５１間でエミュレータ画面入出力サーバ５３を共用している。これにより端末エミュレータ５５という限られた資源を有効利用し、システム全体のスループットを上げるようにしている。
【０１２１】
次に、エミュレータ画面入出力サーバ５３の処理の詳細について図３０乃至図３６を用いて説明する。
【０１２２】
最初に、クライアント入出力サーバ５１からの接続要求に応じて接続する（ステップＳ１５１）。次に、クライアント入出力サーバ５１から登録／更新データと共に登録／更新要求を受信したか判断する（ステップＳ１５３）。もし、登録／更新要求を受信した場合には、受信した登録／更新データを項目名と項目値の対に分解する（ステップＳ１５５）。そして、エミュレータ画面管理ファイル格納部５９内のエミュレータ画面管理ファイルを参照して、受信した登録／更新データ内の項目値を端末エミュレータ画面の対応する項目の位置に入力し、画面操作を実施する（ステップＳ１５７）。ステップＳ１５７については後に詳細に述べる。
【０１２３】
エミュレータ画面管理ファイルの例を図３１に示しておく。図３１は登録／更新処理のためのエミュレータ画面管理ファイルのフォーマットを示している。第１行には端末エミュレータ５５が出力する画面数（ｓｎ）が格納される。２行目から２８行目までは登録／更新画面１の画面構成が格納される。特に２行目から１１行目までは画面内出力フィールドの構成、１２行目から２１行目までは画面内入力フィールドの構成が格納される。２行目から１１行目までは、画面内出力フィールド数（ｏｔ）と、画面内出力フィールド数分の、出力項目名、位置を示す行、列及び長さのセットが含まれる。また、１２行目から２１行目までは、画面内入力フィールド数（ｉｎ）と、画面内入力フィールド数分の入力項目名、行、列及び長さのセットが含まれる。２１行目から２５行目までは正常メッセージ名と、位置を示す行、列及び長さのセットが含まれる。そして、画面操作の情報として、最終画面時の更新ＰＦキー番号、初画面へ戻るＰＦキー番号、次画面遷移のためのＰＦキー番号が格納される。これを画面数ｓｎだけ繰り返す。
【０１２４】
なお出力というのは端末エミュレータ５５に対する入力であり、入力というのは端末エミュレータ５５からの出力である。
【０１２５】
図３１のエミュレータ画面管理ファイルの具体例を図３２に示す。図３２は図４４乃至図４６の場合のエミュレータ画面管理ファイルである。画面１で出力される項目は２つあり、区分と従業員番号である。画面１で入力される項目は０である。−１は該当項目無しを示している。またＰＦ６キーで次画面に移行するという画面操作に関する情報が格納されている。画面２では出力される項目は６つあり、姓、名、性別、生年、生月、生日である。画面２で入力される項目は１であり、エラーが表示されるエラー１である。画面操作に関する情報としては、ＰＦ８キーで初画面に戻り、ＰＦ６キーで次画面に移行することが格納されている。画面３では出力される項目は７つあり、課コード、内線１、内線２、住所、電話１、電話２、電話３である。画面３で入力される項目は１であり、エラーが表示されるエラー２である。画面操作に関する情報としては、更新を命ずるキーがＰＦ７であり、初画面に戻ることを命ずるキーがＰＦ８であることが格納される。
【０１２６】
図３０のステップＳ１５９に戻り、入力及び画面操作の結果を登録／更新結果としてクライアント入出力サーバ５１に送信する。そして、クライアント入出力サーバ５１との接続を切断する（ステップＳ１６１）。この後、処理を終了するか判断し（ステップＳ１６３）、処理を終了しなければステップＳ１５１に戻る。
【０１２７】
ステップＳ１５３において登録／更新要求を受信していないと判断された場合には、クライアント入出力サーバ５１から検索キーと共に参照要求を受信したか判断する（ステップＳ１６５）。もし、参照要求を受信している場合には、エミュレータ画面管理ファイルを参照して、受信した検索キーを端末エミュレータ５５の画面の検索キー入力位置に入力し、画面操作を実施して、参照結果を取り出す（ステップＳ１６７）。この処理については後に詳しく述べる。
【０１２８】
参照用のエミュレータ画面管理ファイルの例を図３３に示しておく。図３３は参照処理のためのエミュレータ画面管理ファイルのフォーマットを示している。第１行には端末エミュレータ５５が出力する画面数（ｓｎ）が格納される。２行目から２８行目までは参照画面１の画面構成が格納される。特に２行目から１１行目までは画面内出力フィールドの構成、１２行目から２１行目までは画面内入力フィールドの構成が格納される。２行目から１１行目までは、画面内出力フィールド数（ｏｔ）と、画面内出力フィールド数分の、出力項目名、位置を示す行、列及び長さのセットが含まれる。また、１２行目から２１行目までは、画面内入力フィールド数（ｉｎ）と、画面内入力フィールド数分の入力項目名、行、列及び長さのセットが含まれる。２１行目から２５行目までは正常メッセージ名と、位置を示す行、列及び長さのセットが含まれる。そして、画面操作の情報として、初画面へ戻るＰＦキー番号、次画面遷移のためのＰＦキー番号が格納される。これを画面数ｓｎだけ繰り返す。登録／更新用のエミュレータ画面管理ファイルとは更新用のＰＦキー番号を格納しないという点で異なる。
【０１２９】
図３３のエミュレータ画面管理ファイルの具体例を図３４に示す。図３４は図５０乃至図５２の場合のエミュレータ画面管理ファイルである。画面１で出力される項目は２つあり、区分と従業員番号である。画面１で入力される項目は０である。−１は該当項目無しを示している。またＰＦ６キーで次画面に移行するという画面操作に関する情報が格納されている。画面２では出力される項目は０である。一方画面２で入力される項目は７つあり、姓、名、性別、生年、生月、生日、エラーが表示されるエラー１である。画面操作に関する情報としては、ＰＦ８キーで初画面に戻り、ＰＦ６キーで次画面に移行することが格納されている。画面３では出力される項目は０である。画面３で入力される項目は８つあり、課コード、内線１、内線２、住所、電話１、電話２、電話３、エラーが表示されるエラー２である。画面操作に関する情報としては、初画面に戻ることを命ずるキーがＰＦ８であることが格納される。次画面に遷移するＰＦキーは割り当てられていないので−１が格納されている。
【０１３０】
図３０のステップＳ１６９に戻って、参照結果をクライアント入出力サーバ５１に送信する。そして、クライアント入出力サーバ５１との接続を切断する（ステップＳ１６１）。以下登録／更新要求を受信した場合と同じである。
【０１３１】
なお、ステップＳ１６５において参照要求を受信していない場合には、ステップＳ１６１に移行するものとする。
【０１３２】
次に図３０のステップＳ１５７の画面入力及び画面操作（登録／更新）処理の詳細を図３５を用いて説明する。まず、現在画面番号ｎを１とし、エミュレータ画面管理ファイルから画面総数ｓｎを取得する（ステップＳ１７１）。次に、エミュレータ画面管理ファイルを参照して、現在画面番号ｎの現在画面において入力すべき項目名の項目値を登録／更新データから取得する（ステップＳ１７３）。そしてエミュレータ画面管理ファイルで指定された位置に、取得した項目値を入力する（ステップＳ１７５）。
【０１３３】
入力後、ｎ＝ｓｎすなわち最終画面の処理が終了したか否か判断する（ステップＳ１７７）。もし、ｎ＝ｓｎでなければ、エミュレータ画面管理ファイルを参照して、次画面へ移動するための画面操作入力を行う（ステップＳ１７９）。そして、ｎを１インクリメントする（ステップＳ１８１）。
【０１３４】
一方、ステップＳ１７７においてｎ＝ｓｎであると判断された場合には、エミュレータ画面管理ファイルを参照して、登録／更新実行のための画面操作入力を行う（ステップＳ１８３）。そして、登録／更新結果を画面から取り出す（ステップＳ１８５）。
【０１３５】
次に図３０のステップＳ１６７の画面入出力及び画面操作（参照）処理の詳細を図３６を用いて説明する。まず、現在画面番号ｎを１とし、エミュレータ画面管理ファイルから画面総数ｓｎを取得する（ステップＳ１９１）。次に、エミュレータ画面管理ファイルで指定された画面位置に検索キーを入力し、エミュレータ画面管理ファイルで指定された検索実行操作を行う（ステップＳ１９３）。
【０１３６】
次に、現在画面番号ｎを１インクリメントする（ステップＳ１９５）。そしてエミュレータ画面管理ファイルで指定された位置から、現在画面番号ｎの現在画面に現れた項目値を取り出す（ステップＳ１９７）。その後、項目名と項目値を対にして参照結果として保管する（ステップＳ１９９）。
【０１３７】
そして現在画面番号ｎが画面総数ｓｎと等しいか判断する（ステップＳ２０１）。もし、現在画面番号ｎがｓｎに等しくない場合には、エミュレータ画面管理ファイルを参照して、次画面へ移動するための画面操作入力を行う（ステップＳ２０３）。そして、ステップＳ１９５に移行する。
【０１３８】
一方、ステップＳ２０１においてｎ＝ｓｎであれば、エミュレータ画面管理ファイルを参照して、最初の画面に戻るための画面操作入力を行う（ステップＳ２０５）。そして処理を終了する。
【０１３９】
次にクライアント・アプリケーション・プログラム３１とクライアント入出力サーバ５１の間、及びクライアント入出力サーバ５１とエミュレータ画面入出力サーバ５３の間でやり取りされるデータの内容について説明する。
【０１４０】
図３７はログイン時のクライアント・アプリケーション・プログラム３１とクライアント入出力サーバ５１とのデータのやり取りを示す。図３７（ａ）においてクライアント・アプリケーション・プログラム３１からクライアント入出力サーバ５１へ送信されるデータは図３７（ｂ）のようなデータである。すなわち、ＬＯＧＩＮという要求とユーザ名で構成される。例えば、ＬＯＧＩＮとユーザ名であるＦＵＪＩである。一方、クライアント入出力サーバ５１からクライアント・アプリケーション・プログラム３１へ送信されるデータは図３７（ｃ）のようなデータである。すなわち、ＬＯＧＩＮという処理内容とリターンコードである。例えば、ＬＯＧＩＮと０（成功の場合）である。なお、ログインが成功しなかった場合には例えば１が含まれる。
【０１４１】
次に登録／更新時におけるデータのやり取りを図３８を用いて説明する。図３８（ａ）においてクライアント・アプリケーション・プログラム３１からクライアント入出力サーバ５１へ、同じくクライアント入出力サーバ５１からエミュレータ画面入出力サーバ５３へ送信されるデータは図３８（ｂ）のようなデータである。すなわち、新規登録の場合にはＡＤＤ、更新の場合にはＵＰＤＡＴＥという要求と、エミュレータ出力項目数ｎと、出力項目数ｎ分の、エミュレータ出力項目名と項目値である。例えば、ＡＤＤという新規登録要求と、１５というエミュレータ出力項目数と、１５個のエミュレータ出力項目名と出力値のセットである。この例は例えば図３において実行ボタン２０１３が押された場合に出力されるデータである。
【０１４２】
一方、エミュレータ画面入出力サーバ５３からクライアント入出力サーバ５１へ、同じくクライアント入出力サーバ５１からクライアント・アプリケーション・プログラム３１へ戻されるデータは図３８（ｃ）のようなデータである。すなわち、新規登録の場合にはＡＤＤ、更新の場合にはＵＰＤＡＴＥという処理内容、リターンコード、及びメッセージである。例えば、ＡＤＤという新規登録という処理内容と、リターンコード０（成功）である。なお成功しているのでメッセージは含まれない。失敗している場合には例えばリターンコード１と、失敗に関するメッセージが含まれる。
【０１４３】
次に参照時におけるデータのやり取りを図３９を用いて説明する。図３９（ａ）においてクライアント・アプリケーション・プログラム３１からクライアント入出力サーバ５１へ、同じくクライアント入出力サーバ５１からエミュレータ画面入出力サーバ５３へ送信されるデータは図３９（ｂ）のようなデータである。すなわち、ＩＮＱＵＩＲＥという検索要求と、エミュレータ出力項目数ｎと、出力項目数ｎ分の、エミュレータ出力項目名と項目値である。例えば、ＩＮＱＵＩＲＥという検索要求と、１１というエミュレータ出力項目数と、エミュレータ出力項目名の従業員番号と出力値１２３４５６である。この例は例えば図５において実行ボタン２０１３が押された場合に出力されるデータである。
【０１４４】
一方、エミュレータ画面入出力サーバ５３からクライアント入出力サーバ５１へ、同じくクライアント入出力サーバ５１からクライアント・アプリケーション・プログラム３１へ戻されるデータは図３９（ｃ）のようなデータである。すなわち、ＩＮＱＵＩＲＥという処理内容と、リターンコードと、メッセージと、エミュレータ取り出し項目数ｎと、エミュレータ取り出し項目数ｎ分の、エミュレータ取り出し項目名及び項目値のセットである。例えば、ＩＮＱＵＩＲＥという処理内容と、リターンコード０（成功）と、空のメッセージと、エミュレータ取り出し項目数１６と、１６個のエミュレータ出力項目名と出力値のセットである。なお成功しているのでメッセージは含まれない。失敗している場合には例えばリターンコード１と、失敗に関するメッセージが含まれる。また、エミュレータ取り出し項目数は０となり、エミュレータ取り出し項目名及び項目値は含まれない。
【０１４５】
次に一時保管時におけるクライアント・アプリケーション・プログラム３１とクライアント入出力サーバ５１のデータのやり取りを図４０を用いて説明する。図４０（ａ）においてクライアント・アプリケーション・プログラム３１からクライアント入出力サーバ５１へ送信されるデータは図４０（ｂ）のようなデータである。すなわち、ＳＡＶＥという一時保管要求と、識別コメントと、クライアント入力中項目数ｎと、クライアント入力中項目数ｎ分の、クライアント入力中項目名と項目値である。例えば、ＳＡＶＥという一時保管要求と、登録保存１という識別コメントと、１４というクライアント入力中項目数と、１４個のクライアント入力中項目名と項目値のセットである。この例は例えば図９において実行ボタン２０１３が押された場合に出力されるデータである。
【０１４６】
一方、クライアント入出力サーバ５１からクライアント・アプリケーション・プログラム３１へ戻されるデータは図４０（ｃ）のようなデータである。すなわち、ＳＡＶＥという処理内容と、リターンコードと、メッセージである。例えば、ＳＡＶＥという処理内容と、リターンコード０（成功）と、空のメッセージとである。なお成功しているのでメッセージは含まれない。失敗している場合には例えばリターンコード１と、失敗に関するメッセージが含まれる。
【０１４７】
次に入力再開時におけるクライアント・アプリケーション・プログラム３１とクライアント入出力サーバ５１のデータのやり取りを図４１を用いて説明する。図４１（ａ）においてクライアント・アプリケーション・プログラム３１からクライアント入出力サーバ５１へ送信されるデータは図４１（ｂ）のようなデータである。すなわち、ＬＯＡＤという入力再開要求と、識別コメントである。例えば、ＬＯＡＤという入力再開要求と、登録保存１という識別コメントとである。この例は例えば図１３において実行ボタン２０１３が押された場合に出力されるデータである。
【０１４８】
一方、クライアント入出力サーバ５１からクライアント・アプリケーション・プログラム３１へ戻されるデータは図４１（ｃ）のようなデータである。すなわち、ＬＯＡＤという処理内容と、リターンコードと、クライアント入力中項目数ｎと、クライアント入力中項目数ｎ分の、クライアント入力中項目名と項目値のセットである。例えば、ＬＯＡＤという処理内容と、リターンコード０（成功）と、１４というクライアント入力中項目数と、１４個のクライアント入力中項目名と項目値のセットである。失敗している場合には例えばリターンコード１となる。
【０１４９】
図４２はログアウト時のクライアント・アプリケーション・プログラム３１とクライアント入出力サーバ５１とのデータのやり取りを示す。図４２（ａ）においてクライアント・アプリケーション・プログラム３１からクライアント入出力サーバ５１へ送信されるデータは図４２（ｂ）のようなデータである。すなわち、ＬＯＧＯＵＴという要求で構成される。一方、クライアント入出力サーバ５１からクライアント・アプリケーション・プログラム３１へ送信されるデータは図４２（ｃ）のようなデータである。すなわち、ＬＯＧＯＵＴという処理内容とリターンコードである。
【０１５０】
本発明の１つの特徴にエミュレータ画面の変更が生じた場合であってもエミュレータ画面管理ファイルの内容を変更するのみでクライアント・アプリケーション・プログラム３１に変更を加える必要が無いという点がある。
【０１５１】
例えば図４５乃至図４６が図５３乃至図５４のように変更された場合を説明する。すなわち、住所を入力する住所入力欄及び電話番号を入力する電話１乃至電話３入力欄が図４６の画面１０２０から図５３の画面２２００に移動している。従って、図４６の画面１０２０は図５４に示すような画面２２１０となる。
【０１５２】
エミュレータ画面管理ファイルでは、画面２２００の情報として、１２行１５桁の位置に７９バイトの住所入力欄、１４行１５桁の位置に５バイトの電話１入力欄、１４行２１桁に４バイトの電話２入力欄、１４行２６桁に４バイトの電話３入力欄が新たに設けられる。画面２２１０の情報として、住所入力欄及び電話番号を入力する電話１乃至電話３入力欄が削除される。
【０１５３】
図５３及び図５４における変更をエミュレータ画面管理ファイルで示すと図４３のようになる。表の左脇に○を付した部分が図３２と異なる部分である。このようにエミュレータ画面管理ファイルの変更のみでエミュレータ画面の変更に対処できるため、メンテナンスを容易に行うことができる。
【０１５４】
以上本発明の一実施例を説明したが、本発明上で述べたような実施例に限定されるものではない。例えば、図１乃至図１６の本発明の実施例に係る画面例は一例であって、それら以外の構成も可能である。また、クライアント入出力サーバ５１をスレッドで実装する例を示しているがプロセスにて実装することも可能である。さらに、各データ構造も一例であって、データの内容が同じであれば他のデータ構造を採用することも可能である。  なお、本発明では３階層クライアント・サーバ・システムを構築する際でもホストコンピュータ７で実行される既存アプリケーション・プログラム７１を修正する必要が無いので、システム構築が廉価且つ短期間で構築することができるようになる。
【０１５５】
【発明の効果】
以上述べたように本発明によれば、オンライン・プログラムに対して複数画面に渡って入出力しなければならないような場合であっても、クライアント端末では一画面で多くの情報を一括して入出力できるので、ユーザの操作性が向上された。
【０１５６】
また、３階層クライアント・サーバ・システムにおいて、データ入力の中断及び再開を自由にできるようにする技術を提供することもできた。
【０１５７】
さらに、３階層クライアント・サーバ・システムにおける資源の有効利用及びシステム負荷の軽減を図る技術を提供することもできた。
【０１５８】
さらに、３階層クライアント・サーバ・システムにおけるメンテナンス性の向上を図る技術を提供することもできた。
【図面の簡単な説明】
【図１】  本発明の画面例（ログイン時）である。
【図２】  本発明の画面例（新規登録の場合の最初の画面）である。
【図３】  本発明の画面例（新規登録実行時の画面）である。
【図４】  本発明の画面例（更新の場合の最初の画面）である。
【図５】  本発明の画面例（更新の場合の検索キー入力時の画面）である。
【図６】  本発明の画面例（更新の場合の検索結果表示画面）である。
【図７】  本発明の画面例（更新の場合の変更入力後の画面）である。
【図８】  本発明の画面例（新規登録時に一時保管を選択した状態の画面）である。
【図９】  本発明の画面例（新規登録時に一時保管を実行する場合の画面）である。
【図１０】  本発明の画面例（更新時に一時保管を選択した状態の画面）である。
【図１１】  本発明の画面例（更新時に一時保管を実行する場合の画面）である。
【図１２】  本発明の画面例（入力再開の場合の最初の画面）である。
【図１３】  本発明の画面例（入力再開の場合に識別コメントを入力した状態の画面）である。
【図１４】  本発明の画面例（入力再開実行時の画面）である。
【図１５】  本発明の画面例（入力再開後の登録実行時の画面）である。
【図１６】  本発明の画面例（ログアウト時の画面）である。
【図１７】  本発明のシステム概要図である。
【図１８】  クライアント・アプリケーション・プログラムの処理フロー（１）である。
【図１９】  クライアント・アプリケーション・プログラムの処理フロー（２）である。
【図２０】  クライアント・アプリケーション・プログラムの処理フロー（３）である。
【図２１】  クライアント入出力サーバの処理フロー（１）である。
【図２２】  クライアント入出力サーバの処理フロー（２）である。
【図２３】  クライアント入出力サーバの処理フロー（３）である。
【図２４】  ユーザ管理ファイルの一例を示す図であり、（ａ）はフォーマット例、（ｂ）は具体例を示す。
【図２５】  登録／更新用エミュレータ画面入出力サーバ管理テーブルの一例を示す図である。
【図２６】  一時保管ファイルの構造例を示す図であり、（ａ）はフォーマット例、（ｂ）は具体例を示す。
【図２７】  参照用エミュレータ画面入出力サーバ管理テーブルの一例を示す図である。
【図２８】  未使用エミュレータ画面入出力サーバ獲得処理の処理フローである。
【図２９】  エミュレータ画面入出力サーバ解放処理の処理フローである。
【図３０】  エミュレータ画面入出力サーバの処理フローである。
【図３１】  登録／更新用エミュレータ画面管理ファイルのフォーマット例を示す。
【図３２】  登録／更新用エミュレータ画面管理ファイルの具体例を示す。
【図３３】  参照用エミュレータ画面管理ファイルのフォーマット例を示す。
【図３４】  参照用エミュレータ画面管理ファイルの具体例を示す。
【図３５】  画面入力及び画面操作（登録／更新）処理のフローを示す。
【図３６】  画面入出力及び画面操作（参照）処理のフローを示す。
【図３７】  ログイン時のデータのやり取り内容を示す。
【図３８】  登録／更新時のデータのやり取り内容を示す。
【図３９】  参照時のデータのやり取り内容を示す。
【図４０】  一時保管におけるデータのやり取り内容を示す。
【図４１】  入力再開時のデータのやり取り内容を示す。
【図４２】  ログアウト時のデータのやり取り内容を示す。
【図４３】  エミュレータ画面に変更があった場合（図４５から図５３、図４６から図５４）の登録／更新用エミュレータ画面管理ファイルの具体例を示す。
【図４４】  新規入力時におけるエミュレータ画面（１）の一例である。
【図４５】  新規入力時におけるエミュレータ画面（２）の一例である。
【図４６】  新規入力時におけるエミュレータ画面（３）の一例である。
【図４７】  更新時におけるエミュレータ画面（１）の一例である。
【図４８】  更新時におけるエミュレータ画面（２）の一例である。
【図４９】  更新時におけるエミュレータ画面（３）の一例である。
【図５０】  参照時におけるエミュレータ画面（１）の一例である。
【図５１】  参照時におけるエミュレータ画面（２）の一例である。
【図５２】  参照時におけるエミュレータ画面（３）の一例である。
【図５３】  図４５の変形例を示す。
【図５４】  図４６の変形例を示す。
【符号の説明】
１  コンピュータ・システム    ３  クライアント端末
５  サーバ・コンピュータ    ７  ホストコンピュータ
３１  クライアント・アプリケーション・プログラム
５１  クライアント入出力サーバ    ５３  エミュレータ画面入出力サーバ
５５  端末エミュレータ    ５７  ユーザ管理ファイル格納部
５８  クライアント入力保管ファイル格納部
５９  エミュレータ画面管理ファイル格納部
【図１】
0004266478.tif 000002
【図２】
0004266478.tif 000003
【図３】
0004266478.tif 000004
【図４】
0004266478.tif 000005
【図５】
0004266478.tif 000006
【図６】
0004266478.tif 000007
【図７】
0004266478.tif 000008
【図８】
0004266478.tif 000009
【図９】
0004266478.tif 000010
【図１０】
0004266478.tif 000011
【図１１】
0004266478.tif 000012
【図１２】
0004266478.tif 000013
【図１３】
0004266478.tif 000014
【図１４】
0004266478.tif 000015
【図１５】
0004266478.tif 000016
【図１６】
0004266478.tif 000017
【図１７】
0004266478.tif 000018
【図１８】
0004266478.tif 000019
【図１９】
0004266478.tif 000020
【図２０】
0004266478.tif 000021
【図２１】
0004266478.tif 000022
【図２２】
0004266478.tif 000023
【図２３】
0004266478.tif 000024
【図２４】
0004266478.tif 000025
【図２５】
0004266478.tif 000026
【図２６】
0004266478.tif 000027
【図２７】
0004266478.tif 000028
【図２８】
0004266478.tif 000029
【図２９】
0004266478.tif 000030
【図３０】
0004266478.tif 000031
【図３１】
0004266478.tif 000032
【図３２】
0004266478.tif 000033
【図３３】
0004266478.tif 000034
【図３４】
0004266478.tif 000035
【図３５】
0004266478.tif 000036
【図３６】
0004266478.tif 000037
【図３７】
0004266478.tif 000038
【図３８】
0004266478.tif 000039
【図３９】
0004266478.tif 000040
【図４０】
0004266478.tif 000041
【図４１】
0004266478.tif 000042
【図４２】
0004266478.tif 000043
【図４３】
0004266478.tif 000044
【図４４】
0004266478.tif 000045
【図４５】
0004266478.tif 000046
【図４６】
0004266478.tif 000047
【図４７】
0004266478.tif 000048
【図４８】
0004266478.tif 000049
【図４９】
0004266478.tif 000050
【図５０】
0004266478.tif 000051
【図５１】
0004266478.tif 000052
【図５２】
0004266478.tif 000053
【図５３】
0004266478.tif 000054
【図５４】
0004266478.tif 000055