(57)【要約】【課題】通信経路を介してコンピュータ同士が通信するシステムにおいて、取引の重要度や要求められる応答時間に応じて他のコンピュータと通信処理を行わせることができるシステムと方法の提供。【解決手段】コンピュータ１０とコンピュータ２０が通信経路３０を介して通信し、通信経路を複数備え、コンピュータ１０は業務処理プログラム１３で実行される取引の識別情報とその優先度情報を格納した取引優先度テーブル１５と、通信経路毎に、優先度と待ち情報とを格納した経路テーブル１４と、経路選択手段１１と、経路通信手段１２とを備え、業務処理プログラム１３がコンピュータ２０と通信する場合、経路選択手段１１は業務処理プログラムから受け取った取引識別情報をキーとして取引優先度テーブル１５より取引の優先度を取得し、取引の優先度の条件に適合する優先度を有し、且つ、待ち情報が予め定められた条件に適合する通信経路を経路テーブル１４から選択し、経路通信手段１２は選択された通信経路について経路テーブルの待ち情報を更新し、該通信経路を用いてコンピュータ２０と通信を行う。【選択図】図１
2004048410.tif 000002
【特許請求の範囲】
【請求項１】
一つのコンピュータが通信経路を介して他のコンピュータと通信する情報処理システムにおいて、
前記通信経路を複数備え、
前記一つのコンピュータは、
前記一つのコンピュータで実行される業務処理プログラムで行われる処理を一意的に識別する識別情報と該処理の優先度情報とを記憶している優先度テーブルと、
通信経路毎に、前記通信経路の優先度情報と前記通信経路の待ち情報とを記憶している経路テーブルと、
を備え、
前記業務処理プログラムが前記他のコンピュータと通信するにあたり、
前記業務処理プログラムから処理の識別情報を受けとり、前記識別情報をキーとして、前記優先度テーブルを参照して前記処理の優先度情報を取得し、前記処理の優先度情報の条件に適合する優先度が付与されており、且つ、待ち情報が予め定められた条件に適合する通信経路を、前記経路テーブルから検索して通信経路の選択を行う経路選択手段と、
前記経路選択手段で選択された通信経路に関する前記経路テーブルの待ち情報を更新し、前記経路選択手段で選択された通信経路を用いて前記他のコンピュータと通信を行う経路通信手段と、
を備えている、ことを特徴とする情報処理システム。
【請求項２】
前記経路テーブルが、通信経路の経路識別情報と、前記通信経路の優先度情報と、前記通信経路に関する待ち行列カウンタと、を１エントリとして含み、
前記待ち行列カウンタの値が零のときに、前記経路識別情報の通信経路は排他ロックされていず利用可能であることを表し、
前記待ち行列カウンタの値が非零のとき、前記通信経路は現在使用中であることを表している、ことを特徴とする請求項１記載の情報処理システム。
【請求項３】
前記経路通信手段は、前記通信経路が排他的に使用する場合、前記経路テーブルの前記通信経路に関する前記待ち行列カウンタの値を１つ加算し、前記通信経路の排他的使用を終了する場合、前記経路テーブルの前記通信経路に関する前記待ち行列カウンタの値を１つ減算する手段を備えている、ことを特徴とする請求項２記載の情報処理システム。
【請求項４】
前記経路選択手段は、前記経路テーブルから通信経路を検索するにあたり、前記経路テーブルにおいて前回選択された通信経路のエントリを示すカレントインデックスの次のエントリから探索を開始し、
前記経路テーブル内のエントリの通信経路に関する優先度が、前記優先度テーブルから得られた優先度以上であり、且つ、前記エントリの通信経路に関する待ち行列カウンタの値が零である場合に、前記エントリを選択し、選択された前記エントリの経路識別情報に対応する通信経路を選択された通信経路とし、前記カレントインデックスを、前記選択されたエントリのインデックスで更新する手段を備えている、ことを特徴とする請求項２又は３記載の情報処理システム。
【請求項５】
前記経路選択手段は、前記経路テーブル内のエントリの通信経路に関する優先度が、前記優先度テーブルから得られた優先度以上であり、前記エントリの通信経路に関する待ち行列カウンタが零でない場合、前記待ち行列カウンタの値の最も小さいエントリの通信経路を選択し、前記カレントインデックスを前記選択されたエントリのインデックスで更新する手段を備えている、ことを特徴とする請求項４記載の情報処理システム。
【請求項６】
前記経路通信手段は、前記経路テーブル内の前記経路選択手段で決定された通信経路に関するエントリの待ち行列カウンタに１を加算し、前記通信経路を排他的に使用するための排他ロックをかけ、一方、前記通信経路に排他ロックがかけられている場合には、前記通信経路が使用可能となるまで待機する制御を行う手段と、
前記通信経路を介して前記他のコンピュータとの間での送受信を制御する手段と、
前記経路テーブルの前記通信経路に対応するエントリの待ち行列カウンタから１を減算し、前記通信経路の排他ロックを解除する手段と、
を備えている、ことを特徴とする請求項２乃至５のいずれか一に記載の情報処理システム。
【請求項７】
前記優先度テーブルが、前記業務処理プログラムで行われる取引を一意的に識別する取引識別情報と該取引の優先度情報とを記憶している取引優先度テーブルよりなり、前記処理の識別情報が前記取引識別情報である、ことを特徴とする請求項１乃至６のいずれか一に記載の情報処理システム。
【請求項８】
前記優先度テーブルが、前記１つのコンピュータに接続される端末を一意的に識別する端末識別情報と該端末の優先度情報とを記憶しており、前記処理の識別情報が前記端末識別情報である、ことを特徴とする請求項１乃至６のいずれか一に記載の情報処理システム。
【請求項９】
前記優先度テーブルが、前記１つのコンピュータに登録されているユーザを一意的に識別するユーザ識別情報と該ユーザの優先度情報とを記憶しており、前記処理の識別情報が前記ユーザ識別情報である、ことを特徴とする請求項１乃至６のいずれか一に記載の情報処理システム。
【請求項１０】
選択された通信経路に障害があり、正常な通信が行えない場合、前記経路選択手段により、別の通信経路が選択され、前記経路通信手段により別の通信経路を用いて通信が継続される、ことを特徴とする請求項１乃至６のいずれか一に記載の情報処理システム。
【請求項１１】
一つのコンピュータと他のコンピュータとの間に通信経路を複数備え、前記一つのコンピュータが通信経路を介して前記他のコンピュータと通信する情報処理システムの通信制御方法であって、
少なくとも、前記一つのコンピュータに、
前記一つのコンピュータで実行される業務処理プログラムで行われる処理を一意的に識別する識別情報と該処理の優先度情報とを記憶している優先度テーブルと、
通信経路毎に、前記通信経路の優先度情報と前記通信経路の待ち情報とを記憶している経路テーブルと、を用意しておき、
前記業務処理プログラムから処理の識別情報を受けとり、前記識別情報をキーとして、前記優先度テーブルを参照して前記処理の優先度情報を取得し、前記処理の優先度情報の条件に適合する優先度が付与されており、且つ、待ち情報が予め定められた条件に適合する通信経路を、前記経路テーブルから検索して通信経路の選択を行うステップを含む、ことを特徴とする通信経路選択方法。
【請求項１２】
一つのコンピュータと他のコンピュータとの間に通信経路を複数備え、前記一つのコンピュータが通信経路を介して前記他のコンピュータと通信する情報処理システムの通信制御方法であって、
少なくとも、前記一つのコンピュータに、
前記一つのコンピュータで実行される業務処理プログラムで行われる処理を一意的に識別する識別情報と該処理の優先度情報とを記憶している優先度テーブルと、
通信経路毎に、前記通信経路の優先度情報と前記通信経路の待ち情報とを記憶している経路テーブルと、を用意しておき、
前記業務処理プログラムが他のコンピュータと通信するにあたり、
（ａ）前記業務処理プログラムから処理の識別情報を受けとり、前記識別情報をキーとして、前記優先度テーブルを参照して前記処理の優先度情報を取得し、前記処理の優先度情報の条件に適合する優先度が付与されており、且つ、待ち情報が予め定められた条件に適合する通信経路を、前記経路テーブルから検索して通信経路の選択を行うステップと、
（ｂ）前記（ａ）のステップで選択された通信経路に関する前記経路テーブルの待ち情報を更新し、前記選択された通信経路を用いて前記他のコンピュータと通信を行うように制御するステップと、
を含む、ことを特徴とする通信制御方法。
【請求項１３】
前記経路テーブルが、通信経路の経路識別情報と、前記通信経路の優先度情報と、前記通信経路に関する待ち行列カウンタと、を１エントリとして含み、
前記待ち行列カウンタの値が零のときに、前記経路識別情報の通信経路は排他ロックされていず利用可能であることを表し、
前記待ち行列カウンタの値が非零のとき、前記通信経路は現在使用中であることを表している、ことを特徴とする請求項１２記載の通信制御方法。
【請求項１４】
前記ステップ（ｂ）では、前記通信経路が排他的に使用する場合、前記待ち行列カウンタの値を１つ加算し、前記通信経路の排他的使用を終了する場合、前記待ち行列カウンタの値を１つ減算する、ことを特徴とする請求項１３記載の通信制御方法。
【請求項１５】
前記ステップ（ａ）が、
（ａ１）前記経路テーブルから通信経路を検索するにあたり、前記経路テーブルにおいて前回選択された通信経路のエントリを示すカレントインデックスの次のエントリから探索を開始するステップと、
（ａ２）前記経路テーブル内のエントリの通信経路に関する優先度が、前記優先度テーブルから得られた優先度以上であり、且つ、前記エントリの通信経路に関する待ち行列カウンタの値が零である場合に、前記エントリを選択し、選択された前記エントリの経路識別情報に対応する通信経路を選択された通信経路とし、前記カレントインデックスを、前記選択されたエントリのインデックスで更新するステップと、
を含むことを特徴とする請求項１３又は１４記載の通信制御方法。
【請求項１６】
前記ステップ（ａ）が、
（ａ３）前記経路テーブル内のエントリの通信経路に関する優先度が、前記優先度テーブルから得られた優先度以上であり、前記エントリの通信経路に関する待ち行列カウンタが零でない場合、前記待ち行列カウンタの値の最も小さいエントリの通信経路を選択し、前記カレントインデックスを前記選択されたエントリのインデックスで更新するステップを含む、ことを特徴とする請求項１５記載の通信制御方法。
【請求項１７】
前記ステップ（ｂ）は、
（ｂ１）前記経路テーブル内の前記経路選択手段で決定された経路識別情報のエントリの待ち行列カウンタに１を加算するステップと、
（ｂ２）前記通信経路を排他的に使用するための排他ロックをかけ、一方、前記通信経路に排他ロックがかけられている場合には、前記通信経路が使用可能となるまで待機するステップと、
（ｂ３）前記通信経路を介して前記他のコンピュータとの間で送受信を行うステップと、
（ｂ４）前記経路テーブルの前記通信経路に対応するエントリ待ち行列カウンタから１を減算するステップと、
（ｂ５）前記通信経路の排他ロックを解除するステップと、
を含む、ことを特徴とする請求項１３乃至１６のいずれか一に記載の通信制御方法。
【請求項１８】
前記優先度テーブルが、前記業務処理プログラムで行われる取引を一意的に識別する識別情報と該取引の優先度情報とを記憶している取引優先度テーブルよりなり、前記処理の識別情報が前記取引識別情報である、ことを特徴とする１２乃至１７のいずれか一に記載の通信制御方法。
【請求項１９】
前記優先度テーブルが、前記１つのコンピュータに接続される端末を一意的に識別する端末識別情報と該端末の優先度情報とを記憶しており、前記処理の識別情報が前記端末識別情報である、ことを特徴とする１２乃至１７のいずれか一に記載の通信制御方法。
【請求項２０】
前記優先度テーブルが、前記１つのコンピュータに登録されているユーザを一意的に識別するユーザ識別情報と該ユーザの優先度情報とを記憶しており、前記処理の識別情報が前記ユーザ識別情報である、ことを特徴とする１２乃至１７のいずれか一に記載の通信制御方法。
【請求項２１】
選択された通信経路に障害があり、正常な通信が行えない場合、前記経路選択手段により、別の通信経路が選択され、前記経路通信手段により別の通信経路を用いて通信が継続される、ことを特徴とする請求項１２乃至１７のいずれか一に記載の通信制御方法。
【請求項２２】
他のコンピュータとの間に通信経路を複数備え、該通信経路を介して前記他のコンピュータと通信するコンピュータにおいて、
前記コンピュータで実行される業務処理プログラムで行われる処理を一意的に識別する識別情報と該処理の優先度情報とを記憶している優先度テーブルと、
通信経路毎に、前記通信経路の優先度情報と前記通信経路の待ち情報とを記憶している経路テーブルと、を用意しておき、
前記業務処理プログラムが前記他のコンピュータと通信するにあたり、
（ａ）前記業務処理プログラムから処理の識別情報を受けとり、前記識別情報をキーとして、前記優先度テーブルを参照して前記処理の優先度情報を取得し、前記処理の優先度情報の条件に適合する優先度が付与されており、且つ、待ち情報が予め定められた条件に適合する通信経路を、前記経路テーブルから検索して通信経路の選択を行う処理と、
（ｂ）前記（ａ）の処理で選択された通信経路に関する前記経路テーブルの待ち情報を更新し、前記選択された通信経路を用いて、前記他のコンピュータと通信を行うように制御する処理と、
の前記（ａ）と（ｂ）の処理を、前記コンピュータに実行させるプログラム。
【請求項２３】
請求項２２記載のプログラムにおいて、
前記経路テーブルが、通信経路の経路識別情報と、前記通信経路の優先度情報と、前記通信経路に関する待ち行列カウンタと、を１エントリとして含み、
前記待ち行列カウンタの値が零のときに、前記経路識別情報の通信経路は、排他ロックされていず、利用可能であることを表し、
前記待ち行列カウンタの値が非零のとき、前記通信経路は現在使用中であることを表している、ことを特徴とするプログラム。
【請求項２４】
請求項２３記載のプログラムにおいて、
前記処理（ｂ）では、前記通信経路が排他的に使用する場合、前記待ち行列カウンタの値を１つ加算し、前記通信経路の排他的使用を終了する場合、前記待ち行列カウンタの値を１つ減算する処理を、前記コンピュータに実行させるプログラム。
【請求項２５】
請求項２３記載のプログラムにおいて、
前記処理（ａ）は、
（ａ１）前記経路テーブルから通信経路を検索するにあたり、前記経路テーブルにおいて前回選択された通信経路のエントリを示すカレントインデックスの次のエントリから探索を開始する処理と、
（ａ２）前記経路テーブル内のエントリの通信経路に関する優先度が、前記優先度テーブルから取得された優先度以上であり、且つ、前記エントリの通信経路に関する待ち行列カウンタの値が零である場合に、前記エントリを選択し、選択された前記エントリの経路識別情報に対応する通信経路を選択された通信経路とし、前記カレントインデックスを、前記選択されたエントリのインデックスで更新する処理と、
を含み、
前記（ａ１）と（ａ２）の処理を前記コンピュータに実行させるプログラム。
【請求項２６】
請求項２５記載のプログラムにおいて、
前記処理（ａ）は、
（ａ３）前記経路テーブル内のエントリの通信経路に関する優先度が、前記優先度テーブルから取得された優先度以上であり、前記エントリの通信経路に関する待ち行列カウンタが零でない場合、前記待ち行列カウンタの値の最も小さいエントリの通信経路を選択し、前記カレントインデックスを前記選択されたエントリのインデックスで更新する処理を含み、
前記（ａ３）の処理を前記コンピュータに実行させるプログラム。
【請求項２７】
請求項２３記載のプログラムにおいて、
前記処理（ｂ）は、
（ｂ１）前記経路テーブル内の前記経路選択手段で決定された経路識別情報のエントリの待ち行列カウンタに１を加算する処理と、
（ｂ２）前記通信経路を排他的に使用するための排他ロックをかけ、一方、前記通信経路に排他ロックがかけられている場合、前記通信経路が使用可能となるまで待機する処理と、
（ｂ３）前記通信経路を介して前記他のコンピュータとの間で通信を行う処理と、
（ｂ４）前記経路テーブルの前記通信経路に対応するエントリ待ち行列カウンタから１を減算する処理と、
（ｂ５）前記通信経路の排他ロックを解除する処理と、
前記（ｂ１）乃至（ｂ５）の処理を前記コンピュータに実行させるプログラム。
【請求項２８】
請求項２２乃至２７のいずれか一に記載のプログラムにおいて、
前記優先度テーブルには、前記業務処理プログラムで行われる取引を一意的に識別する識別情報と該取引の優先度情報とが記憶されており、前記処理の識別情報が前記取引識別情報である、ことを特徴とするプログラム。
【請求項２９】
請求項２２乃至２７のいずれか一に記載のプログラムにおいて、
前記優先度テーブルには、前記１つのコンピュータに接続される端末を一意的に識別する端末識別情報と該端末の優先度情報とが記憶されており、前記処理の識別情報が前記端末識別情報である、ことを特徴とするプログラム。
【請求項３０】
請求項２２乃至２７のいずれか一に記載のプログラムにおいて、
前記優先度テーブルには、前記１つのコンピュータに登録されているユーザを一意的に識別するユーザ識別情報と該ユーザの優先度情報とが記憶されており、前記処理の識別情報が前記ユーザ識別情報である、ことを特徴とするプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、情報処理システムに関し、特に、コンピュータ間に設けられた通信経路を介してデータ等の送受を行うシステムの通信経路の選択と通信制御方法、並びにシステム及びプログラムに関する。
【０００２】
【従来の技術】
複数の端末に接続され、端末からの処理要求に対して処理結果を返すシステムにおいて、その処理過程で、通信経路を介して接続される別のコンピュータに処理要求を送信し、別のコンピュータからの処理結果を受信して、該処理結果に基づき、コンピュータ内で処理を行うというオンラインシステムが利用されている。
【０００３】
コンピュータ間に設けられた通信経路を介してデータ等の送受を行うコンピュータシステムにおいて、複数の通信経路の中から使用する通信経路を決定する方法として、従来より、典型的には、次のような方法が用いられている。なお、複数の通信経路は、順番に、その空き、使用中等の情報がテーブルに記憶管理されているものとする。
【０００４】
第１の方法は、テーブルの先頭から順に空きをサーチする方法である。
【０００５】
第２の方法は、例えばタイムスライスの間に処理が終わらない場合、処理を中断し、待ち行列の最後尾に配置する等のスケジューリングを行うラウンドロビン方式で決定する方法である。
【０００６】
【発明が解決しようとする課題】
しかしながら、上記の２つの方法にはそれぞれに固有の課題がある。
【０００７】
第１の方法では、選択される通信経路が、サーチの先頭部分にある通信経路に偏るため通信経路の負荷分散を行う場合や、障害時に自動的に代替通信経路を探すという用途には不向きである。
【０００８】
第２の方法では、決められた順番に従って通信経路を割り振っていくため、負荷分散には向いていても、他の通信経路が空いていても使われず、通信経路の有効利用ができない場合がある。
【０００９】
また、一つのコンピュータから通信経路を介して接続されるコンピュータへ送信した処理要求に対して、処理結果が返ってくるまでの応答時間は、上記処理の要求を行ったプログラムに種別（取引の種別）に応じて、千差万別である。
【００１０】
例えば、ほとんどの応答時間が１秒以下の取引から、平均で数十秒の応答時間を要する取引までが混在するシステムにおいて、全ての取引に対して均等に通信経路割り当てを行うと、通信経路の待ち行列で長時間かかる取引の後ろに割り振られた取引は、自身の要求する処理が非常に短い場合であっても、長時間待たされる。
【００１１】
平均３０秒かかる取引の応答時間が、通信経路の排他ロック等による通信経路使用の待機により、６０秒になっても、端末利用者はそれほど気にしない。平均応答時間１秒の取引が通信経路の排他待ちで３１秒かかると、端末利用者は、何か障害が起こったかと思うであろう。
【００１２】
なお、通信経路の排他ロックとは、あるプログラムが既に通信経路を使用しているときに、当該通信経路のさらなる割り当てが行われないように排他ロックする公知の資源管理機構であり、他のプログラムは当該通信経路の使用を、当該通信経路の排他ロックの解除が行われるまで通信経路の使用を待機する。
【００１３】
通信経路の排他的な待機による応答時間のばらつきを抑止低減し、応答時間が早いものほど優先的に処理を行わせることが出来ると、ユーザ操作性等の点でも都合が良い。
【００１４】
したがって、本発明の主たる目的は、コンピュータが通信経路を介して他のコンピュータと通信するシステムにおいて、取引の重要度や求められる応答時間に応じて他のコンピュータと通信処理を行わせることができるシステムと方法及びプログラムを提供することにある。
【００１５】
また、本発明の他の目的は、複数の通信経路の内の一部の通信経路に障害が発生した場合でも、残りの正常な通信経路を使用して通信を継続することができるシステムと方法及びプログラムを提供することにある。
【００１６】
【課題を解決するための手段】
上記目的の少なくとも一つを達成する本発明の１つのアスペクトに係るシステムは、一つのコンピュータが通信経路を介して他のコンピュータと通信する情報処理システムにおいて、前記通信経路を複数備え、前記一つのコンピュータは、前記一つのコンピュータで実行される業務処理プログラムで行われる処理を一意的に識別する識別情報と該処理の優先度情報とを記憶している優先度テーブルと、通信経路毎に、前記通信経路の優先度情報と前記通信経路の待ち情報とを記憶している経路テーブルと、を備え、前記業務処理プログラムが前記他のコンピュータと通信するにあたり、前記業務処理プログラムから処理の識別情報を受けとり、前記識別情報をキーとして、前記優先度テーブルを参照して前記処理の優先度情報を取得し、前記処理の優先度情報の条件に適合する優先度が付与されており、且つ、待ち情報が予め定められた条件に適合する通信経路を、前記経路テーブルから検索して通信経路の選択を行う経路選択手段と、前記経路テーブルの前記経路選択手段で選択された通信経路に関する待ち情報を更新し、前記経路選択手段で選択された通信経路を用いて、前記他のコンピュータと通信を行う経路通信手段と、を備えている。
【００１７】
本発明において、前記経路テーブルが、通信経路の経路識別情報と、前記通信経路の優先度情報と、前記通信経路に関する待ち行列カウンタと、を１エントリとして含み、前記待ち行列カウンタの値が零のときに、前記経路識別情報の通信経路は排他ロックされていず利用可能であることを表し、前記待ち行列カウンタの値が非零のとき、前記通信経路は現在使用中であることを表している。
【００１８】
本発明において、前記経路通信手段は、前記通信経路が排他的に使用する場合、前記待ち行列カウンタの値を１つ加算し、前記通信経路の排他的使用を終了する場合、前記待ち行列カウンタの値を１つ減算する。
【００１９】
本発明において、前記経路選択手段は、好ましくは、前記経路テーブルから通信経路を検索するにあたり、前記経路テーブルにおいて前回選択された通信経路（すなわち前回の経路選択で選択され、今回の経路選択実行の直前まで選択されている通信経路）のエントリを示すカレントインデックスの次のエントリから探索を開始し、前記経路テーブル内のエントリの通信経路に関する優先度が、前記優先度テーブルから得られた優先度以上であり、且つ、前記エントリの通信経路に関する待ち行列カウンタの値が零である場合に、前記エントリを選択し、選択された前記エントリの経路識別情報に対応する通信経路を選択された通信経路とし、前記カレントインデックスを、前記選択されたエントリのインデックスで更新する手段を備えている。
【００２０】
本発明において、前記経路選択手段は、好ましくは、前記経路テーブル内のエントリの通信経路に関する優先度が、前記優先度テーブルから得られた優先度以上であり、前記エントリの通信経路に関する待ち行列カウンタが零でない場合、前記待ち行列カウンタの値の最も小さいエントリの通信経路を選択し、前記カレントインデックスを前記選択されたエントリのインデックスで更新する手段を備えている。
【００２１】
本発明において、前記経路通信手段は、好ましくは、前記経路テーブル内の前記経路選択手段で決定された経路識別情報のエントリの待ち行列カウンタに１を加算し、前記通信経路を排他的に使用するための排他ロックをかけ、前記通信経路に排他ロックがかけられている場合、前記通信経路が使用可能となるまで待機し、前記通信経路を介して前記他のコンピュータとの間で送受信を行い、前記経路テーブルの前記通信経路に対応するエントリの待ち行列カウンタから１を減算し、前記通信経路の排他ロックを解除する。
【００２２】
本発明において、前記優先度テーブルは、前記業務処理プログラムで行われる取引を一意的に識別する取引識別情報と該取引の優先度情報とを記憶している取引優先度テーブルよりなり、前記処理の識別情報が前記取引識別情報である。あるいは、本発明において、前記優先度テーブルは、前記１つのコンピュータに接続される端末を一意的に識別する端末識別情報と該端末の優先度情報とを記憶しており、前記処理の識別情報が前記端末識別情報としてもよい。あるいは、本発明において、前記優先度テーブルが、前記１つのコンピュータに登録されているユーザを一意的に識別するユーザ識別情報と該ユーザの優先度情報とを記憶しており、前記処理の識別情報を前記ユーザ識別情報としてもよい。
【００２３】
上記他の目的を達成する本発明においては、選択された通信経路に障害があり、正常な通信が行えない場合、前記経路選択手段により、別の通信経路が選択され、前記経路通信手段により別の通信経路を用いて通信が継続される。
【００２４】
本発明の他のアスペクトに係る方法は、一つのコンピュータと他のコンピュータとの間に通信経路を複数備え、前記一つのコンピュータが通信経路を介して前記他のコンピュータと通信する情報処理システムの通信制御方法であって、少なくとも、前記一つのコンピュータに、前記一つのコンピュータで実行される業務処理プログラムで行われる処理を一意的に識別する識別情報と該処理の優先度情報とを記憶している優先度テーブルと、通信経路毎に、前記通信経路の優先度情報と前記通信経路の待ち情報とを記憶している経路テーブルと、を用意しておき、前記業務処理プログラムが他のコンピュータと通信するにあたり、（ａ）前記業務処理プログラムから処理の識別情報を受けとり、前記識別情報をキーとして、前記優先度テーブルを参照して前記処理の優先度情報を取得し、前記処理の優先度情報の条件に適合する優先度が付与されており、且つ、待ち情報が予め定められた条件に適合する通信経路を、前記経路テーブルから検索して通信経路の選択を行うステップと、（ｂ）前記ステップで選択された通信経路に関する前記経路テーブルの待ち情報を更新し、前記選択された通信経路を用いて、前記他のコンピュータと通信を行うように制御するステップと、を含む。
【００２５】
本発明の他のアスペクトに係るコンピュータプログラムは、他のコンピュータとの間に通信経路を複数備え、該通信経路を介して前記他のコンピュータと通信するコンピュータにおいて、前記コンピュータで実行される業務処理プログラムで行われる処理を一意的に識別する識別情報と該処理の優先度情報とを記憶している優先度テーブルと、通信経路毎に、前記通信経路の優先度情報と前記通信経路の待ち情報とを記憶している経路テーブルと、を用意しておき、前記業務処理プログラムが前記他のコンピュータと通信するにあたり、（ａ）前記業務処理プログラムから処理の識別情報を受けとり、前記識別情報をキーとして、前記優先度テーブルを参照して前記処理の優先度情報を取得し、前記処理の優先度情報の条件に適合する優先度が付与されており、且つ、待ち情報が予め定められた条件に適合する通信経路を、前記経路テーブルから検索して通信経路の選択を行う処理と、（ｂ）前記処理で選択された通信経路に関する前記経路テーブルの待ち情報を更新し、前記選択された通信経路を用いて、前記他のコンピュータと通信を行うように制御する処理とを前記コンピュータに実行させるプログラムよりなる。
【００２６】
【発明の実施の形態】
発明の実施の形態について説明する。この発明は、その一実施の形態において、一つのコンピュータ（１０）が通信経路（３０）を介して他のコンピュータ（２０）と通信する情報処理システムにおいて、通信経路（３０１〜３０ｎ）を複数備え、一つのコンピュータ（１０）は、該コンピュータで実行される業務処理プログラム（１３）で処理される取引（オンライン・トランザクション等）を一意的に識別する識別情報と、該取引の優先度情報とを記憶している取引優先度テーブル（１５）と、通信経路毎に、前記通信経路の優先度情報と前記通信経路に関する待ち情報とを記憶している経路テーブル（１４）と、通信経路を選択する経路選択手段（１１）と、選択された通信経路を用いて通信を行う経路通信手段（１２）とを備えている。そして、業務処理プログラム（１３）が他のコンピュータ（２０）と通信するにあたり、経路選択手段（１１）は、業務処理プログラム（１３）から取引の識別情報を受けとり、識別情報をキーとして、取引優先度テーブル（１５）を参照して、取引の優先度情報を取得し、優先度情報の条件に適合する優先度が付与されており、且つ、待ち情報が予め定められた条件に適合する通信経路を、経路テーブル（１４）から検索して、通信経路を選択する。
【００２７】
経路通信手段（１２）は、経路選択手段（１１）で選択された通信経路に関する、経路テーブル（１４）の待ち情報を更新する手段を備え、経路選択手段（１１）で選択された通信経路を用いて、他のコンピュータ（２０）と通信を行う。
【００２８】
経路テーブル（１４）は、通信経路の経路識別情報（２２）と、通信経路の優先度情報（２３）と、通信経路の待ち行列カウンタ（２４）を１エントリとして含み、待ち行列カウンタの値が「０」のときに、経路識別情報の通信経路は排他ロックされていず利用可能であることを表し、待ち行列カウンタの値が正整数のとき、前記通信経路は現在使用中であることを表している。
【００２９】
経路通信手段（１２）は、通信経路を排他的に使用する場合、経路テーブル（１４）の当該通信経路に該当するエントリの待ち行列カウンタの値を１つ加算し、当該通信経路の排他的使用を終了するときに、経路テーブル（１４）の当該通信経路のエントリの待ち行列カウンタの値を１つ減算する。
【００３０】
経路選択手段（１１）は、経路テーブル（１４）から通信経路を検索するにあたり、経路テーブル（１４）において現在選択されている通信経路のエントリ（前回の経路選択処理で選択され、今回の経路選択処理直前まで選択されていた通信経路のエントリ）を示すカレントインデックスの次のエントリから、探索を開始し、経路テーブル（１４）内のエントリの通信経路に関する優先度が、取引優先度テーブル（１５）より取得された取引優先度以上であり、且つ、当該エントリのの待ち行列カウンタの値が０である場合に、当該エントリを選択し、当該エントリの経路識別情報に対応する通信経路を選択された通信経路とし、カレントインデックスを、今回選択されたエントリのインデックスに更新する。一方、経路テーブル（１４）内のエントリの通信経路に関する優先度が取引優先度以上であり、当該エントリの待ち行列カウンタが０でない場合には、経路テーブル（１４）のカレントエントリまでの探索において、待ち行列カウンタの値の最も小さいエントリの通信経路を、選択候補として選択し、カレントインデックスを、選択されたエントリのインデックスで更新する。
【００３１】
経路通信手段（１２）は、経路テーブル（１４）において、経路選択手段（１１）で決定された経路識別情報のエントリの待ち行列カウンタに１を加算し、前記通信経路を排他的に使用するための排他ロックをかける。その際、当該通信経路に既に排他ロックがかけられている場合には、経路通信手段（１２）は、当該通信経路が使用可能となるまで待機する。経路通信手段（１２）は、つづいて、使用可能な当該通信経路を介して他のコンピュータとの間で送受信を行い、経路テーブルの当該通信経路に対応するエントリの待ち行列カウンタから１を減算し、当該通信経路の排他ロックを解除する。
【００３２】
かかる構成により、通信の適切な負荷分散と他コンピュータの負荷調整、及び業務処理の適切な応答時間確保を可能としている。
【００３３】
また本発明の一実施の形態においては、選択された通信経路に障害があり、正常な通信が行えない場合、前記経路選択手段により、別の通信経路が選択され、前記経路通信手段により別の通信経路を用いて通信が継続される構成としてもよい。本発明において、現在選択されている通信経路（カレントインデックスで示されるエントリの通信経路）の次のエントリから経路テーブルの検索が行われるため、障害経路が再度選択されることはなく、複数の通信経路の内の一部の経路に障害が発生した場合でも、残りの正常な通信経路を使用して通信を継続することができる。
【００３４】
上記した経路選択手段（１１）と経路通信手段（１２）は、コンピュータ（１０）上で実行されるプログラムによってその処理、制御が実現される。
【００３５】
【実施例】
上記した実施の形態についてさらに詳細に説明すべく、本発明の実施例について図面を参照して以下に説明する。図１は、本発明の一実施例の要部構成を模式的に示す図である。
【００３６】
図１を参照すると、本発明の一実施例において、コンピュータ１０は、複数の通信経路３０１〜３０ｎの中から通信を行うための通信経路を選択する経路選択手段１１と、複数の通信経路３０１〜３０ｎの中から経路選択手段１１によって決定された通信経路を使用して他のコンピュータ２０との通信を行うように制御する経路通信手段１２と、を備えている。
【００３７】
経路選択手段１１は、コンピュータ１０の記憶装置に記憶される経路テーブル１４と、取引優先度テーブル１５とを参照して、通信経路の選択を行う。なお、経路テーブル１４は、経路選択手段１１と経路通信手段１２によって読み出し及び書き込みが行うことができさえすれば、コンピュータ１０内部の記憶装置（磁気ディスク装置、書き込み可能な半導体メモリ等）のほか、例えばリモートノードの記憶装置に格納してもよい。経路選択手段１１によって参照される取引優先度テーブル１５についても同様である。
【００３８】
図２は、図１の経路テーブル１４の一例を示す図である。図２を参照すると、この経路テーブルは、通信経路毎に、１からの連番を割り振った経路番号２２と、各経路毎にその優先度を示す経路優先度２３と、当該通信経路を使用して送受信を行おうとしている業務処理プログラム１３の待ち個数を示す待ち行列カウンタ２４の各項目（フィールド）を１エントリ（配列要素）とした配列を備えている。配列要素が１〜ｎの場合の要素数（ｎ）は経路数となる。
【００３９】
経路テーブル１４は、配列の制御情報として、経路数２１（配列要素数に対応）と、最後に選択した通信経路の経路番号に対応する配列要素番号を示すカレントインデックス２５と、経路選択の過程で一時的に作業用（ワーク）として使用するワークインデックス２６と、経路選択の過程で一時的にワークとして使用する選択候補インデックス２７と、経路選択の過程で一時的にワークとして使用するワーク待ち行列カウンタ２８と、を有する。
【００４０】
経路優先度２３は、予め通信経路毎に優先度を設定しておく。通信経路の経路優先度が高く設定されている場合、取引優先度が高い取引に対してのみ、当該通信経路が使用される。一方、経路優先度を低く設定しておくと、取引優先度が低い取引でも当該通信経路は使用される。
【００４１】
図３は、図１の取引優先度テーブル１５の一例を示す図である。図３を参照すると、この取引優先度テーブルは、取引の種別を一意に表す取引番号３２と、当該取引の優先度を示す取引優先度３３の２つの項目を１エントリ（１要素）とした配列を有し、配列の制御情報として、配列の要素数（取引番号）である配列数３１を有する。取引優先度テーブル１５における配列の大きさは取引番号の動的な変化に対応して可変される。取引優先度３３は、予め取引番号毎に優先度を設定しておく。
【００４２】
なお、コンピュータ２０において、業務処理プログラム１３Ｂは、図示されない通信手段を介して、通信経路３０を介してコンピュータ１０の経路通信手段１２と通信を行う。コンピュータ２０においても、コンピュータ１０と同様、経路選択手段１１、経路通信手段１２を備えてもよいことは勿論である。
【００４３】
コンピュータ１０においては、通信経路３０をなす物理的な伝送媒体（例えば同軸ケーブル、ツイストペア等のメタリックケーブル又は光ケーブル、あるいは、無線等）との物理インタフェースを行う物理層（Ｐｈｙｓｉｃａｌ　Ｌａｙｅｒ）と、そのドライバ、及び上位レイヤ・プロトコル層が実装され、例えばアプリケーションインタフェース（ＡＰＩ）を介して、各種アプリケーションプログラムとの要求、応答、データの送受を行う構成としてもよい。この場合、業務処理プログラム１３は、アプリケーションプログラムの１つを構成している。経路通信手段１２は、データの送受信のため、これらのレイヤを含む通信手段に対する、各種制御指示を行うほか、後述するように、通信経路の排他制御も行う。あるいは、コンピュータ１０とは別に設置される通制御信装置（ＣＣＵ）等と通信経路３０を介して、コンピュータ２０側の通制御信装置（ＣＣＵ）と通信接続される構成としてもよい。
【００４４】
経路選択手段１１と、経路通信手段１２は、概略つぎのように動作する。
【００４５】
経路選択手段１１は、コンピュータ１０上で実行される業務処理プログラム１３が、他コンピュータ２０との間でデータの送受信を行うときに、業務処理プログラム１３から呼び出される。図１では、業務処理プログラム１３が、経路選択手段１１を、直接、サブルーチンコール等で呼び出す構成が模式的に示されているが、プログラム構成は、かかる構成に限定されるものでなく、上記したように、業務処理プログラム１３がＡＰＩを介して間接的に、経路選択手段１１を起動してもよいことは勿論である。また、経路選択手段１１と経路通信手段１２を常駐プロセスとして起動しておき、１又は複数の業務処理プログラムからの要求を受け付けるサーバプロセス（Ｕｎｉｘ（登録商標）のデーモンに対応）として構成としてもよい。
【００４６】
業務処理プログラム１３からの経路選択手段１１の呼び出しに際して、業務処理（取引）の種類を示す取引番号が引数により、経路選択手段１１に受け渡され、経路選択手段１１では、取引番号から、取引優先度テーブル１５を検索し、取引優先度を求める。
【００４７】
次に、経路選択手段１１は、経路テーブル１４内の配列を検索し、待ち行列カウンタの値が０であり、且つ、経路優先度が取引優先度以下の通信経路を探す。経路テーブル１４の配列において、ある配列要素の待ち行列カウンタの値が０であることは、当該配列要素の経路番号の通信経路で送受信が行われていないことを表している。
【００４８】
経路選択手段１１が経路テーブル１４を検索した結果、上記条件に合う通信経路が見つからない場合には、経路テーブル１４の配列要素において、経路優先度が、取引優先度以下の通信経路の中で、待ち行列カウンタの値が最も小さい配列要素の経路番号の通信経路を、送受信に使用する通信経路と決定する。
【００４９】
経路通信手段１２は、同一の通信経路を使用する複数の業務処理プログラム１３が排他的に通信経路を使用してコンピュータ２０上で動作する業務処理プログラム１３との通信を行う機構と、当該通信経路を使用する業務処理プログラム１３の待ち行列カウンタの増減の制御機構とを提供する。
【００５０】
業務処理プログラム１３から呼び出しにより起動された経路通信手段１２は、経路テーブル１４の配列において、当該通信経路の経路番号に対応する配列要素の待ち行列カウンタに「１」を加算し、排他ロックをかける。
【００５１】
その際、先に、排他ロックをかけているプログラム（あるいは、プロセス、タスク）がある場合には、排他ロックの解除までウエイトする。すなわち、経路テーブル１４において、当該通信経路の経路番号に対応する配列要素の待ち行列カウンタの値が０でない場合には、他のプログラムが経路通信手段１２を呼び出して、当該通信経路を排他的に使用していることを表しているため、順番が来るまで待機する。この場合、経路通信手段１２は、業務処理プログラム１３に待機中の旨を通知してもよい。そして、他のプログラムにより当該通信経路の排他ロックが解除され、当該通信経路の経路番号に対応する配列要素の待ち行列カウンタの値が０となったとき、経路通信手段１２は、当該通信経路の経路番号に対応する配列要素の待ち行列カウンタに「１」を加算し、使用する通信経路に排他ロックをかける。
【００５２】
次に、経路通信手段１２は、通信経路３０を通して、コンピュータ２０とのデータの送受信を行い（例えば業務処理プログラム１３からコンピュータ２０へのデータの送信、コンピュータ２０から業務処理プログラム１３へのデータの受信処理）、通信終了後、当該通信経路の経路番号に対応する配列要素の待ち行列カウンタから「１」を差し引き、当該通信経路の排他ロックを解除する。
【００５３】
上記した経路選択手段１１と経路通信手段１２の処理は、コンピュータ１０上で実行されるプログラムによって実現される。
【００５４】
図４及び図５は、本発明の一実施例の動作を説明するためのフローチャートである。まず、図４を参照して、本発明の一実施例の経路選択手段１１の動作を説明する。コンピュータ１０の経路選択手段１１は、まず、現在、業務処理プログラム１３で処理されている取引の取引番号をキーとして取引優先度テーブル１５をサーチし、当該取引の取引優先度３３を求める（図４のステップ４０１）。
【００５５】
次に、経路テーブル１４のカレントインデックス（ｉｎｄｅｘ）２５をワークインデックス（ｉｎｄｅｘ）２６に代入し、ワーク待ち行列カウンタ２８に最大値をセットする（ステップ４０２）。
【００５６】
次に、ワークインデックス２６と経路数２１とを比較する（ステップ４０３）。
【００５７】
比較の結果、両者が等しい場合は、ワークインデックス２６に「１」を代入する（ステップ４０４）。等しくない場合には、ワークインデックス２６に「１」を加算する（ステップ４０５）。
【００５８】
次に、ワークインデックス２６とカレントインデックス２５とを比較する（ステップ４０６）。
【００５９】
ステップ４０６で、ワークインデックス２６とカレントインデックス２５が等しくない場合は、ステップ４０７に進む。
【００６０】
ステップ４０６で、ワークインデックス２６とカレントインデックス２５が等しい場合には、経路テーブル１４の配列要素（図２参照）に登録されている全ての通信経路の検索を終了したため、待ち行列カウンタの値が最も少なかった選択候補インデックス２７で示される通信経路に決定し、カレントインデックス２５に、選択候補インデックス（ｉｎｄｅｘ）２７の値を代入し（ステップ４１２）、経路選択手段１１の処理が終了する。
【００６１】
ステップ４０７では、ワークインデックス２６で示される配列要素の経路優先度２３と当該取引の取引優先度３３とを比較し、等しいか又は取引優先度３３が大きい場合には、ステップ４０８に進み、取引優先度の方が小さい場合にはステップ４０３に戻る。
【００６２】
ステップ４０８で、ワークインデックス２６で示される配列要素の待ち行列カウンタ２４を参照し、待ち行列カウンタ２４が「０」の場合には、ワークインデックス２６で示される通信経路に決定し、カレントインデックス２５にワークインデックス２６の値を代入し（ステップ４０９）、経路選択手段１１は、処理を終了する。経路選択手段１１による経路テーブルの次の検索処理は、カレントインデックス２５の次のインデックスの配列要素から検索される。
【００６３】
一方、ステップ４０８では、ワークインデックス２６で示される配列要素の待ち行列カウンタ２４が「０」以外の場合には、ステップ４１０に進む。
【００６４】
ステップ４１０では、ワークインデックス２６で示される配列要素の待ち行列カウンタ２４と、ワーク待ち行列カウンタ２８とを比較し、ワーク待ち行列カウンタの方が大でない場合には、ステップ４０３に戻る。一方、ワーク待ち行列カウンタの方が大きい場合には、ワークインデックス２６を選択候補インデックス２７に代入し、ワーク待ち行列カウンタ２８に、ワークインデックス２６で示される待ち行列カウンタ２４を代入し（ステップ４１１）、ステップ４０３に戻る。ステップ４０２におけるワーク待ち行列カウンタ２８への最大値の設定と、ステップ４１０の判定処理、ステップ４１１のワーク待ち行列カウンタ２８の設定は、経路優先度≦取引優先度であるが、待ち行列カウンタの値が０をみたす通信経路が存在しない場合、待ち行列カウンタが最小の配列要素のインデックスを選択するアルゴリズムを実現している。
【００６５】
経路通信手段１２は、まず、経路選択手段１１で決定した経路番号の配列要素の待ち行列カウンタ２４に「１」を加算する（図５のステップ５０１）。
【００６６】
次に、当該通信経路を排他的に使用する為の排他ロックをかける（ステップ５０２）。このとき、先に排他ロックがかけられていれば、自分の順番が来て排他ロックが解除されるまで待機する。
【００６７】
次に、当該通信経路を使用してコンピュータ２０への要求送信を行い（ステップ５０３）、コンピュータ２０から送られて来る結果を待ち合わせて受信する（ステップ５０４）。
【００６８】
次に、経路通信手段１２は、当該通信経路に対応する配列要素の待ち行列カウンタ２４から１を減算する（ステップ５０５）。
【００６９】
次に、経路通信手段１２は、当該通信経路の排他ロックを解除し（ステップ５０６）、経路通信手段１２を終了する。
【００７０】
なお、業務処理プログラムが経路通信手段を呼び出した結果、経路障害により通信が正常に行えなかった場合に、再度、経路選択手段と経路通信手段とを呼び出し、複数の経路の内の一部の経路に障害が発生した場合でも、残りの正常な経路を使用して、他のコンピュータとの通信が継続可である。
【００７１】
上記実施例では、取引番号毎に、経路の優先度を設定しているが、優先度の設定はユーザ毎に行ってもよい。あるいはコンピュータ１０に接続される端末４０毎に行ってもよい。この場合、図３の取引優先度テーブル１５において、取引番号は、端末４０を一意的に識別する端末識別番号とされ、取引優先度テーブル１５には、端末識別番号と端末の優先度情報が端末ごとに格納される。あるいは、取引優先度テーブル１５において、取引番号は、コンピュータ１０に登録されるユーザのユーザ識別情報（ユーザＩＤ）とされ、取引優先度テーブル１５には、ユーザＩＤとユーザの優先度情報がユーザごとに格納される。
【００７２】
また、上記実施例では、取引優先度は、予め設定しておく構成とされているが、可変自在に構成してもよいことは勿論である。例えば、取引毎の応答時間を計測し、自動的に取引番号単位の平均応答時間を求め、その平均応答時間によって取引優先度を、動的あるいは適応的に設定するようにしてもよい。
【００７３】
また、上記実施例において、待ち行列カウンタを考慮した経路選択の部分についても、待ち個数ではなく、自動的に集計した取引番号単位の平均応答時間を待ちの個数分だけ積算して、その時間（予想待ち時間）から経路を決定するようにしてもよい。
【００７４】
本発明によれば、コンピュータ上で、複数本の業務処理プログラムが、マルチタスク、マルチプロセス制御により、同時並行的動作した場合でも、通信経路（チャネル）を排他的に使用することにより、経路数（チャネル数）以上の処理要求が、同時に他コンピュータに対して送信されることはない。このため、他のコンピュータ２０側で行われる処理の負荷を調節することができる。
【００７５】
以上本発明を上記実施例に即して説明したが、本発明は、上記実施例の構成にのみ限定されるものでなく、特許請求の範囲の各請求項の発明の範囲内で当業者であればなし得るであろう各種変形、修正を含むことは勿論である。
【００７６】
【発明の効果】
以上説明したように、本発明によれば、下記記載の効果を奏する。
【００７７】
本発明によれば、取引の重要度や要求められる応答時間に応じて、別のコンピュータとの送受信処理を行わせることができる。その理由は、優先度の高い取引は、優先度の高い通信経路を使用して通信し、優先度の高い通信経路は空いている可能性が高く、空いていない場合でも待ち行列で、待ち合わせる時間が短い可能性が高いからである。
【００７８】
本発明によれば、複数の通信経路の内の一部の通信経路に障害が発生した場合でも、残りの正常な通信経路を使用して、他のコンピュータとの通信が継続可である。これは、業務処理プログラムが経路通信手段を呼び出した結果、通信経路の障害等により通信が正常に行えなかった場合に、再度、経路選択手段と経路通信手段とを呼び出し、正常な経路が選択されるからである。
【００７９】
本発明によれば、通信経路の本数を調整することにより、他のコンピュータで行われる処理の負荷を調節できる。その理由は、複数本の業務処理プログラム１が同時動作した場合でも、通信経路を排他的に使用することにより、通信経路数以上の処理要求が、同時に他コンピュータに対して送信されることはないためである。
【図面の簡単な説明】
【図１】本発明の一実施例のシステム構成を示す図である。
【図２】本発明の一実施例における経路テーブルの構成を模式的に示す図である。
【図３】本発明の一実施例における取引優先度テーブルの構成を模式的に示す図である。
【図４】本発明の一実施例における経路選択手段の処理手順を示すフローチャートである。
【図５】本発明の一実施例における経路通信手段の処理手順を示すフローチャートである。
【符号の説明】
１０、２０　　コンピュータ
１　　プログラム
５　　コンピュータ
１１　　経路選択手段
１２　　経路通信手段
１３　　業務処理プログラム
１４　　経路テーブル
１５　　取引優先度テーブル
２１　　経路数
２２　　経路番号
２３　　経路優先度
２４　　待ち行列カウンタ
２５　　カレントインデックス（ｉｎｄｅｘ）
２６　　ワークインデックス（ｉｎｄｅｘ）
２７　　選択候補インデックス（ｉｎｄｅｘ）
２８　　ワーク待ち行列カウンタ
３１　　配列数
３２　　取引番号
３３　　取引優先度
４０　　端末
【図１】
2004048410.tif 000003
【図２】
2004048410.tif 000004
【図３】
2004048410.tif 000005
【図４】
2004048410.tif 000006
【図５】
2004048410.tif 000007