(57)【要約】【課題】従来のレガシーラッピング技術では、接続要求時に目的の画面まで遷移する時のメインフレームとの通信時間やメインフレームでの処理時間について考慮されておらず、遷移する画面数とメインフレームの通信および処理時間に比例して、画面表示に要する時間がかかることになる。【解決手段】メインフレーム等レガシーシステムの端末をエミュレートし、他のプラットフォームや言語から呼び出すことを可能とするレガシーラッピング技術を適用したシステムであって、複数の端末エミュレータプログラムを有し、各端末エミュレータプログラムの状態を管理する機能と、予め各状態から別の状態に遷移させるのに必要な時間を準備しておくことによって、クライアントからの要求を実行するのにもっとも短い時間で実行可能な端末エミュレータプログラムに処理を行わせる機能とを備えたことを特徴とする。【選択図】  図１
2004302725.tif 000002
【特許請求の範囲】
【請求項１】
ホスト計算機とクライアントとの通信を仲介するサーバにおけるラッピング処理方法であって、前記ホスト計算機に対応する複数のエミュレーションプログラムと当該エミュレーションプログラムの状態情報とを各々対応付けて記憶手段に格納し、前記クライアントから前記ホスト計算機への処理要求を受け、前記記憶手段に格納された複数のエミュレーションプログラムのうち前記処理要求に対応可能なエミュレーションプログラムを複数特定し、当該複数特定されたエミュレーションプログラムに各々対応付けられたエミュレーションプログラムの状態情報を前記記憶手段から抽出し、当該抽出されたエミュレーションプログラムの状態情報を用いて前記複数特定されたエミュレーションプログラムのうち前記処理要求をもっとも短時間で実行するエミュレーションプログラムを特定し、当該エミュレーションプログラムを用いて前記ホスト計算機に前記処理要求を依頼することを特徴とするラッピング処理方法。
【請求項２】
前記エミュレーションプログラムの状態情報には、エミュレーションプログラムを用いた処理が終了した時点における画面情報を含むことを特徴とする請求項１記載のラッピング処理方法。
【請求項３】
メインフレーム等レガシーシステムの端末をエミュレートし、他のプラットフォームや言語から呼び出すことを可能とするレガシーラッピング技術を適用したシステムであって、複数の端末エミュレータプログラムを有し、各端末エミュレータプログラムの状態を管理する機能と、予め各状態から別の状態に遷移させるのに必要な時間を準備しておくことによって、クライアントからの要求を実行するのにもっとも短い時間で実行可能な端末エミュレータプログラムに処理を行わせる機能とを備えたことを特徴とするレガシーラッピングシステム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、メインフレームなどの端末をエミュレートし、クライアントに機能を提供するレガシーラッピングシステム及びレガシーラッピングシステムにおける処理方法並びに処理プログラムに関する。
【０００２】
【従来の技術】
メインフレーム等のレガシーシステムの端末をエミュレートするラッピングシステムでは、一般的に、クライアントとメインフレームとの間にサーバを配置し、クライアントからの要求に応じてサーバ上のエミュレートプログラムが動作する構成をとる。サーバ上のエミュレートプログラムは、メインフレームの端末エミュレートを行い、メインフレームから見て端末装置であるふるまいをする。たとえば、メインフレームの画面操作は、ログイン画面から始まり、メニュー画面を介して目的の画面に到達し、処理が終わった後ログイン画面にもどるようなケースがある。クライアントからの要求は、ログインやメニュー操作といった細かな単位ではなく、もっと大きな単位、たとえば顧客データベースから条件にマッチする顧客名を取得するようなものである。このような場合、クライアントからの要求に応じてサーバ側の端末エミュレータが、ログインから目的の画面までの操作、顧客データベース検索の操作、および最後のログアウトまでの一連の操作をエミュレートし、結果だけをクライアントに返す。このようにすることで、クライアントからの利用がしやすいシステムとなる（例えば、特許文献１参照）。
【０００３】
【特許文献１】
特開２０００−１４８６７９号公報
【０００４】
【発明が解決しようとする課題】
上記従来技術によれば、必ず起動時の開始画面から業務を開始し、目的の画面まで遷移することはできるが、メインフレームとの通信時間やメインフレームでの処理時間について配慮されておらず、目的の画面までの遷移数が多い場合に画面表示に時間がかかってしまう。例えば、開始画面から５画面遷移する業務で、１画面分遷移するのに仮に３秒かかるとすると、目的の画面に遷移するまで１５秒かかってしまう。このように、遷移する画面数とメインフレームの通信および処理時間に比例して、画面表示に要する時間がかかることになってしまう。
【０００５】
本発明の目的は、上述の従来型における問題点に鑑み、できる限り画面遷移の数を減らし、従来よりも高速なレガシーラッピングシステム及びレガシーラッピングシステムにおける処理方法並びに処理プログラムを提供することにある。
【０００６】
【課題を解決するための手段】
上記目的を達成するため、本発明は、ホスト計算機とクライアントとの通信を仲介するサーバにおけるラッピング処理方法であって、ホスト計算機に対応する複数のエミュレーションプログラムとエミュレーションプログラムの状態情報とを各々対応付けて記憶手段に格納し、クライアントからホスト計算機への処理要求を受け、記憶手段に格納された複数のエミュレーションプログラムのうち処理要求に対応可能なエミュレーションプログラムを複数特定し、複数特定されたエミュレーションプログラムに各々対応付けられたエミュレーションプログラムの状態情報を記憶手段から抽出し、抽出されたエミュレーションプログラムの状態情報を用いて複数特定されたエミュレーションプログラムのうち処理要求をもっとも短時間で実行するエミュレーションプログラムを特定し、エミュレーションプログラムを用いてホスト計算機に処理要求を依頼することを特徴とする。ここで、エミュレーションプログラムの状態情報には、エミュレーションプログラムを用いた処理が終了した時点における画面情報等がある。
【０００７】
また、複数の端末エミュレータプログラムと、各端末エミュレータプログラムの状態を管理する機能と、予め各状態から別の状態に遷移させるのに必要な時間を準備しておくことによって、クライアントからの要求を実行するのにもっとも短い時間で実行可能な端末エミュレータプログラムに処理を行わせる機能とを備えたことを特徴とする。
【０００８】
尚、上記目的を達成するためには、上述した機能を実現するプログラム若しくはプログラムを格納した記録媒体であっても良い。
【０００９】
【発明の実施の形態】
以下、図面を用いて、本発明の実施の形態を説明する。
図１に、本発明を適用したラッピングシステムの全体構成図を示す。ネットワーク１３０および１４０にクライアント等の端末装置１００、装置（例えば、サーバ）１１０、メインフレーム（ホスト計算機）１２０が接続されている。端末装置１００、装置１１０、メインフレーム１２０は、各々、装置全体の制御及びプログラム処理を行うマイクロチップなどの制御部、プログラムやデータを保持する記憶部を含んで構成され、記憶部に格納されたプログラム等と制御部とが連動して、下述する機能を実現する。より具体的には、端末装置１００は、ユーザインタフェースプログラム１０１を有する。装置１１０は、セション管理機能１１１、プログラムの状態管理データ１１２、画面遷移情報データ１１３、画面遷移処理時間データ１１４、端末エミュレーションプログラム１１５、１１６、１１７を有する。
【００１０】
端末装置１００のユーザインタフェースプログラム１０１がユーザの操作を受け取り、ネットーワーク１３０を介して、装置１１０のセション管理機能１１１に要求を伝える。要求を受け取ったセション管理機能１１１は、要求に従って端末エミュレーションプログラム１１５、１１６、１１７のいずれかを割り当て、要求内容を通知する。端末エミュレーションプログラム１１５、１１６および１１７は、ネットワーク１４０を介して、メインフレーム１２０と通信を行う。各端末エミュレーションプログラム１１５、１１６、１１７の状態は、プログラムの状態管理データ１１２に格納されている。
【００１１】
図３は、図１に示した画面遷移情報データ１１３の詳細図である。画面遷移元ＩＤ３０１と画面遷移先ＩＤ３０２および処理時間３０３で構成される。この画面遷移情報データは、例えば、画面００１から画面００２へ遷移するには２秒かかることを示している。この処理時間は予め端末エミュレータプログラムを動作させて測定しておいても、実際に処理を行う際に測定しても良い。
【００１２】
図４は、図３に示した画面遷移情報データ１１３を、各画面の関連がわかりやすいように表記しなおした概念図である。矢印はそれぞれの画面から遷移可能であることを示している。この図からわかるように、例えば画面００３から００４に遷移するためには、いったん画面００１を介する必要がある。図３に示した画面遷移情報データ１１３を参照すると、画面００３から００１への遷移にかかる時間は１秒、００１から００４への遷移にかかる時間は２秒であり、結果として画面００３から００４へ遷移させるためには、合計３秒かかることになる。
【００１３】
このように各画面間の遷移にかかる時間を合計することで、特定の画面から別の画面にたどり着くのにかかる時間を算出することができる。図３の画面遷移処理時間データ１１４は、これを即座に算出できるようにしたものである。
【００１４】
図５は、図１に示したプログラムの状態管理データ１１２の詳細図である。端末エミュレーションプログラムＩＤ５０１と現在の画面を特定する画面ＩＤ５０２で構成される。たとえば、端末エミュレーションプログラム０００１は、現在の画面ＩＤは００５であることを示している。
【００１５】
図２は、図１に示した装置１１０のセション管理機能１１１の処理フローである。処理フローは、ステップ２０１、２０２、２０３、２０４、２０５から成る。
【００１６】
クライアントからの要求を受け付けたセション管理機能１１１は、まずステップ２０２で処理中でない端末エミュレータプログラムがないか調べる。処理中でないものがなければ、処理中でないものがみつかるまで繰り返す。ステップ２０３では、各プログラムの現在の画面ＩＤをプログラムの状態管理データ１１２によって確認し、画面遷移処理時間データ１１４を参照して目的の画面にもっとも短時間でたどり着くことができるプログラムを特定する。
【００１７】
例えば、端末エミュレータ１１５が画面００２、端末エミュレータ１１６が画面ＩＤ００６の状態にある場合で、クライアントからの要求が画面ＩＤ００５の発注業務画面での操作が必要なものであったとする。この場合、画面遷移処理時間データ１１４を参照すれば、端末エミュレータ１１５が画面ＩＤ００２から目的の画面ＩＤ００５に遷移するのにかかる時間は５秒、端末エミュレータ１１６が画面ＩＤ００６から目的の画面ＩＤ００５に遷移するのにかかる時間は３秒であることがわかる。この場合、セション管理機能１１１は、端末エミュレータ１１６に処理を依頼する。
【００１８】
上記の実施例では、各プログラムの現在の画面ＩＤをプログラムの状態管理データによって確認し、画面遷移処理時間データ１１４を参照して目的の画面にもっとも短時間でたどり着くことができるプログラムを特定できる。
【００１９】
次に、目的の画面にもっとも短時間でたどり着くことができるプログラムが複数あった場合に、それらのプログラムを特定する場合の実施例を図６、図７、図８を用いて説明する。
【００２０】
図６に、他の実施例におけるラッピングシステムの全体構成図を示す。図１のシステムの全体構成と同じ項目の説明はここでは省略する。図１のシステムの全体構成項目に加えて、画面遷移平均時間データ１１８を有する。
【００２１】
図７は、図６に示した画面遷移平均時間データ１１８の詳細図である。画面遷移元ＩＤ７０１と平均遷移時間７０２で構成される。平均遷移時間は、遷移元画面ＩＤから他の全画面へ遷移する時間の平均を表している。たとえば、画面ＩＤ００２から他の画面へ遷移するには平均して２．８秒、画面ＩＤ００４から他の画面へ遷移するには平均して１．８秒かかることを示している。ここでは、平均遷移時間は他の全画面へ遷移する時間の平均値としたが、各画面に対する要求率などの条件を付与した平均遷移時間の期待値としてもよい。
【００２２】
図８は、図６に示した装置１１０のセション管理機能１１１の処理フローである。処理フローは、ステップ２０１、２０２、２０３、２０４、２０５、２０６、２０７から成る。
【００２３】
クライアントからの要求を受け付けたセション管理機能１１１は、まずステップ２０２で処理中でない端末エミュレータプログラムがないか調べる。処理中でないものがなければ、処理中でないものがみつかるまで繰り返す。ステップ２０３では、各プログラムの現在の状態をプログラムの状態管理データ１１２によって確認し、目的の画面にもっとも短時間でたどり着くことができるプログラムを特定する。次に、ステップ２０６で特定したプログラムが２つ以上あるかどうか調べる。２つ以上ある場合、ステップ２０７で画面遷移平均時間データ１１８を参照し、ステップ２０３で特定したプログラムの中で遷移平均時間がもっとも遅いプログラムを特定する。ステップ２０４では、特定したプログラムに処理を依頼する。
【００２４】
例えば、端末エミュレータ１１５が画面ＩＤ００５、端末エミュレータ１１６が画面ＩＤ００２の状態にある場合で、クライアントからの要求が画面ＩＤ００３の発注業務画面での操作が必要なものであったとする。この場合、画面遷移処理時間データ１１４を参照すれば、端末エミュレータ１１５が画面ＩＤ００５から目的の画面ＩＤ００３に遷移するのにかかる時間は３秒、端末エミュレータ１１６が画面ＩＤ００２から目的の画面ＩＤ００３に遷移するのにかかる時間も３秒である。次に画面遷移平均時間データ１１７を参照する。端末エミュレータ１１５の画面ＩＤ００５の平均遷移時間は１．８秒、端末エミュレータ１１６の画面ＩＤ００２の平均遷移時間は２．８秒である。この場合、セション管理機能１１１は、端末エミュレータ１１６に処理を依頼する。
【００２５】
なお、本実施例では、各端末エミュレータは処理が終わった後、画一的にトップメニューなどの初期画面にもどる処理を行わないものとする。こうすることで処理のスループットが高くなる。しかし、各処理の後、適宜、画面ＩＤ００１のトップメニューや画面ＩＤ００４の資材業務メニューなどにもどることとしてもよい。
【００２６】
上記の例では、端末エミュレータプログラムが３つである場合について述べたが、４つ以上であっても構わない。
【００２７】
【発明の効果】
本発明によれば、従来よりも高速なレガシーラッピングシステムを提供することができる。
【図面の簡単な説明】
【図１】本発明を適用したラッピングシステムの全体構成図である。
【図２】セション管理機能における処理のフローチャートである。
【図３】画面遷移情報データのデータ構成図である。
【図４】画面遷移の流れを示す概念図である。
【図５】プログラムの状態管理データのデータ構成図である。
【図６】他の実施例におけるラッピングシステムの全体構成図である。
【図７】画面遷移平均時間データのデータ構成図である。
【図８】他の実施例におけるセション管理機能の処理フローチャートである。
【符号の説明】
１００  端末装置
１０１  ユーザインタフェースプログラム
１１０  装置
１１１  セション管理機能
１１２  プログラムの状態管理データ
１１３  画面遷移情報データ
１１４  画面遷移処理時間データ
１１５  端末エミュレーションプログラム
１１６  端末エミュレーションプログラム
１１７  端末エミュレーションプログラム
１２０  メインフレーム
１３０  ネットワーク
１４０  ネットワーク
【図１】
2004302725.tif 000003
【図２】
2004302725.tif 000004
【図３】
2004302725.tif 000005
【図４】
2004302725.tif 000006
【図５】
2004302725.tif 000007
【図６】
2004302725.tif 000008
【図７】
2004302725.tif 000009
【図８】
2004302725.tif 000010