Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP4207657B2 - Logical path control method, relay server, and program - Google Patents
[go: Go Back, main page]

JP4207657B2 - Logical path control method, relay server, and program - Google Patents

Logical path control method, relay server, and program Download PDF

Info

Publication number
JP4207657B2
JP4207657B2 JP2003136840A JP2003136840A JP4207657B2 JP 4207657 B2 JP4207657 B2 JP 4207657B2 JP 2003136840 A JP2003136840 A JP 2003136840A JP 2003136840 A JP2003136840 A JP 2003136840A JP 4207657 B2 JP4207657 B2 JP 4207657B2
Authority
JP
Japan
Prior art keywords
terminal
path
host computer
logical path
relay server
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.)
Expired - Fee Related
Application number
JP2003136840A
Other languages
Japanese (ja)
Other versions
JP2004341767A (en
Inventor
光 柳葉
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP2003136840A priority Critical patent/JP4207657B2/en
Publication of JP2004341767A publication Critical patent/JP2004341767A/en
Application granted granted Critical
Publication of JP4207657B2 publication Critical patent/JP4207657B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)
  • Multi Processors (AREA)
  • Computer And Data Communications (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、ホストコンピュータと端末とが中継サーバを介して通信を行うオンラインシステムに関し、特に、通信経路の効率的な利用および信頼性の向上を可能にする技術に関する。
【0002】
【従来の技術】
ネットワークを介して接続された業務端末とホストコンピュータとからなるオンラインシステムにおいては、クライアントサーバモデルあるいは3層モデルの普及に伴い、業務端末数および通信量は増大の一途を辿り、通信経路の枯渇が問題となることが多い。
【0003】
通信経路の効率的な利用を可能にする従来の技術としては、通信経路を物理パス層と論理パス層との2層に分割し、物理パスを複数の論理パスにより共有利用する技術が知られている(例えば、特許文献1参照)。
【0004】
この特許文献1に記載されているオンラインシステムは、ホストコンピュータと複数の端末とを中継サーバを介して接続し、更に、ホストコンピュータと中継サーバとを接続する物理パスを複数の論理パスで共有することにより、通信経路を有効利用できるようにしている。即ち、ホストコンピュータが複数の端末と通信を行う場合であっても、ホストコンピュータと中継サーバとの間の物理パスは1本で済むので、通信経路を有効利用することが可能になる。また、特許文献1に記載されているオンラインシステムにおいては、信頼性を向上させるため、中継サーバとホストコンピュータとの間に複数の物理パスを設定しておき、メッセージを送受信する際には、上記複数の物理パスの内の正常な物理パスを使用してメッセージを送受信するようにしている。
【0005】
【特許文献1】
特開2002−300187号公報
【0006】
【発明が解決しようとする課題】
【0007】
しかしながら、特許文献1に記載されている従来の技術は、物理パスの障害には耐え得る構成を持つものの、業務プログラムを処理するホストコンピュータの障害には耐え得る構成を持たないという問題がある。例えば、物理的な障害による計算機システム全体停止や、論理的な障害による業務プログラム実行手段の停止などが発生した場合に、業務端末は通信障害となり、端末から要求される業務を継続処理することができなくなってしまう。
【0008】
そこで、本発明の目的は、中継サーバを経由して端末とホストコンピュータとが通信を行う形態のオンラインシステムにおいて、ホストコンピュータに障害が発生した場合であっても、物理パスに障害が発生した場合であっても通信の継続を可能にすることにある。
【0009】
【課題を解決するための手段】
本発明にかかる論理パス制御方法は、上記目的を達成するため、
端末と複数のホストコンピュータとが中継サーバを介して接続されたオンラインシステムにおける論理パス制御方法であって、
前記中継サーバと前記各ホストコンピュータとの間それぞれを、通信プロトコルに応じたパスである複数の物理パスによって接続する物理パス接続ステップと、
前記端末からの接続要求に応答して、前記中継サーバと前記各ホストコンピュータとの間それぞれに物理パスを論理的に分割することにより得られるパスである論理パスを設定し、該設定した各ホストコンピュータ毎の論理パスを介して前記端末と前記各ホストコンピュータとを接続する接続ステップと、
前記中継サーバが、前記端末からメッセージが送られてきたとき、前記接続ステップで設定した前記各ホストコンピュータ毎の論理パスの中から障害が発生していないホストコンピュータに対応する論理パスを選択すると共に該選択した論理パスに対応するホストコンピュータと自中継サーバとを接続する複数の物理パスの中から1つの物理パスを選択し、該選択した物理パスと前記選択した論理パスとを用いて前記メッセージをホストコンピュータに送信するメッセージ送信ステップとを含む。
【0010】
より具体的には、本発明にかかる論理パス制御方法は、
前記中継サーバが、前記各ホストコンピュータの状態が稼働中、待機中、障害中の何れであるのかを収集する収集ステップを含み、且つ、
前記メッセージ送信ステップにおいて論理パスを選択する際、前記収集ステップで収集した状態が稼働中になっているホストコンピュータに対応する論理パスを選択することを特徴とする。
【0011】
また、論理パスの選択方法として、上記した方法以外にも、
前記中継サーバが、前記各ホストコンピュータのビジー率を収集する収集ステップを含み、且つ、
前記メッセージ送信ステップにおいて論理パスを選択する際、前記収集ステップで収集したビジー率が最も小さいホストコンピュータに対応する論理パスを選択する方法を採用することもできる。
【0012】
また、本発明にかかる論理パス制御方法は、中継サーバの障害にも対処できるようにするため、
端末と、複数のホストコンピュータと、それぞれが前記端末と前記複数のホストコンピュータとを接続する複数の中継サーバとを備えたオンラインシステムにおける論理パス制御方法であって、
前記各中継サーバと前記各ホストコンピュータとの間それぞれを、通信プロトコルに応じた通信パスである複数の物理パスによって接続する物理パス接続ステップと、
前記各中継サーバの内の、前記端末からの接続要求を受信した中継サーバが、自中継サーバと前記各ホストコンピュータとの間それぞれに物理パスを論理的に分割することにより得られるパスである論理パスを設定し、該設定した各ホストコンピュータ毎の論理パスを介して前記端末と前記各ホストコンピュータとを接続する接続ステップと、
前記各中継サーバの内の、前記端末からのメッセージを受信した中継サーバが、前記接続ステップで設定した前記各ホストコンピュータ毎の論理パスの中から障害が発生していないホストコンピュータに対応する論理パスを選択すると共に該選択した論理パスに対応するホストコンピュータと自中継サーバとを接続する複数の物理パスの中から1つの物理パスを選択し、該選択した物理パスと前記選択した論理パスとを用いて前記メッセージをホストコンピュータに送信するメッセージ送信ステップと、
前記各中継サーバが、前記各ホストコンピュータから、そのホストコンピュータと論理パスを介して接続されている端末に関する端末情報を収集する収集ステップと、
前記各中継サーバが、自中継サーバの前記収集ステップで収集した端末情報によって示される端末の中に、自中継サーバを介した論理パスによってはホストコンピュータと接続されていない端末が存在する場合は、該端末と前記各ホストコンピュータとを自中継サーバを介した論理パスにより接続する障害対策用論理パス接続ステップとを含むことを特徴とする。
【0013】
【作用】
本発明においては、中継サーバと各ホストコンピュータとの間に設定されている論理パスの内の、障害が発生していないホストコンピュータに対応する論理パスと、上記ホストコンピュータとの間に複数設定されている物理パスの内の1つを使用してメッセージを送信するようにしているので、ホストコンピュータに障害が発生した場合であっても、物理パスに障害が発生した場合であっても、通信を継続することができる。
【0014】
また、本発明においては、各中継サーバが、各ホストコンピュータからそのホストコンピュータと論理パスを介して接続されている端末に関する端末情報を収集し、収集した端末情報によって示される端末の中に、自中継サーバを介した論理パスによってはホストコンピュータと接続されていない端末が存在する場合は、その端末と各ホストコンピュータとを自中継サーバを介した論理パスにより接続するようにしているので、中継サーバの障害にも容易に対応することができる。
【0015】
【発明の実施の形態】
次に本発明の実施の形態について図面を参照して詳細に説明する。
【0016】
【実施例の構成】
先ず、本発明の第1の実施例について説明する。本実施例は、ホットスタンバイシステムなど、稼働系ホストコンピュータと待機系ホストコンピュータとが存在するシステムに本発明を適用したものである。図1を参照すると、本発明の第1の実施例は、複数のホストコンピュータ(ホスト)1a、1bと、中継サーバ2と、複数の業務端末3a、3bと、各ホストコンピュータ1a、1bによって共用されるデータベース(DB)4とから構成されている。
【0017】
ホストコンピュータ1a、1bと端末3a、3bとは中継サーバ2を介して、論理的な通信経路を確立し相互に通信を行う。
【0018】
ホストコンピュータ1a、1bは、それぞれパス管理手段11、11'と、物理パス状態表12、12'と、論理パス状態表13、13'と、業務プログラム実行手段14、14'と、操作卓15、15'と、記録媒体K1a、K1bとを備えている。
【0019】
物理パス状態表12は、ホストコンピュータ1aと中継サーバ2とを接続する各物理パスの状態を管理する。また、物理パス状態表12'は、ホストコンピュータ1bと中継サーバ2とを接続する各物理パスの状態を管理する。図2(a)、(b)に物理パス状態表12、12'の内容例を示す。
【0020】
図2(a)、(b)に示すように、物理パス状態表12、12'は、項目「物理パス定義名」、「グループ」、「物理パス状態」、「自側物理アドレス」、「相手側物理アドレス」を有している。この内の「物理パス定義名」、「グループ」、「自側物理アドレス」、「相手側物理アドレス」が、物理パスを定義(特定)するために予め登録されている定義情報であり、残りの「物理パス状態」が物理パスの状態に応じて変化する状態情報である。尚、「物理パス定義名」は物理パスに付与されている定義名を表し、「グループ」は物理パスが属しているグループを表し、「物理パス状態」はその物理パスが現在「接続」状態なのか「未接続」状態なのかを表し、「自側物理アドレス」、「相手側物理アドレス」は物理パスによって接続されるホストコンピュータのアドレス、中継サーバのアドレスを表す。
【0021】
また、図2(a)、(b)に示した物理パス状態表12、12'は、それぞれエントリNo.「1」〜「4」の4個のエントリを有しており、各エントリにおいて、「物理パス定義名」、「グループ」、「自側物理アドレス」、「相手側物理アドレス」によって定義(特定)される物理パスの状態を管理している。例えば、図2(a)の例において、エントリNo.「1」のエントリは、物理パス定義名「P1-SERVER」、グループ名「SERVER」、自側物理アドレス「10.1.1.1(10000)」,相手側物理アドレス「10.1.1.3(30011)」によって定義される物理パスが、現在「接続」状態になっていること示している。また、図2(b)の例において、エントリNo.「4」のエントリは、物理パス定義名「P4-SERVER」、グループ名「SERVER」、自側物理アドレス「10.1.1.2(10000)」、相手側物理アドレス「10.1.1.3(30024)」とによって定義される物理パスが、現在「未接続」状態になっていることを示している。
【0022】
論理パス状態表13は、ホストコンピュータ1aと端末とを接続する論理パスの状態を管理する。また、論理パス状態表13'は、ホストコンピュータ1bと端末とを接続する論理パスの状態を管理する。図3(a)、(b)に論理パス状態表13、13'の内容例を示す。
【0023】
図3(a)、(b)に示すように、論理パス状態表13、13'は、項目「論理パス定義名」、「端末定義名」、「グループ」、「論理パス状態」、「論理パス識別子」を有している。この内の「論理パス定義名」、「端末定義名」、「グループ」が論理パスを定義するために予め登録されている定義情報であり、残りの「論理パス状態」、「論理パス識別子」が論理パスの状態に応じて変化する状態情報である。尚、「論理パス定義名」は論理パスに付与されている定義名を示し、「端末定義名」は論理パスを使用する端末に付与されている端末定義名を示し、「グループ」は論理パスが通信を行うために使用することができる物理パスが属しているグループのグループ名を示し、「論理パス状態」は論理パスが現在「接続」状態にあるのか、「未接続」状態にあるのかを示し、「論理パス識別子」は論理パスに付与された識別子を示す。
【0024】
また、図3(a)、(b)に示す論理パス状態表13、13'は、それぞれエントリNo.「1」〜「3」の3個のエントリを有し、各エントリにおいて「論理パス定義名」、「端末定義名」、「グループ」によって定義される論理パスの状態を管理している。例えば、図3(a)の例において、エントリNo.「1」のエントリは、論理パス定義名「L1」、端末定義名「TERM-A」、グループ名「SERVER」によって定義される論理パスが、現在「接続」状態にあり、論理パス識別子として「LID-H1-00001」が付与されていることを示している。また、図3(b)の例において、エントリNo.「2」のエントリは、論理パス定義名「L2」、端末定義名「TERM-B」、グループ「SERVER」によって定義されている論理パスが、現在「未接続」状態であることを示している。なお、論理パス状態が「未接続」になっているエントリには、論理パス識別子は設定されない。
【0025】
パス管理手段11は、物理パス制御手段111a〜111cと、パス選択手段112と、論理パス制御手段113a〜113cとから構成される。尚、パス管理手段11'も同様の構成を有する。
【0026】
物理パス制御手段111a〜111cは、中継サーバ2との間の物理パスを制御する。物理パス制御手段111a〜111cは、物理パスの接続・切断に伴い、動的に生成・消滅する。物理パス制御手段111a〜111cは、その生成時には、物理パス状態表12の該当エントリ中の物理パス状態を「接続」に変更し、消滅時には「未接続」に変更する。
【0027】
論理パス制御手段113a〜113cは、中継サーバ2との間の論理パスを制御する。論理パス制御手段113a〜113cは、論理パスの接続・切断に伴い、動的に生成・消滅する。論理パス制御手段113a〜113cは、その生成時には、論理パスを識別するための論理パス識別子を生成し、論理パス状態表13の該当エントリに格納すると共に、中継サーバ2上の対応する論理パス制御手段213a〜213cへ論理パス識別子を配布する。
【0028】
パス選択手段112は、論理パス制御手段113a〜113cからの依頼に従って、その論理パス制御手段113a〜113cが管理・制御している論理パスが所属している「グループ」中の物理パスの中から、「接続」状態にある物理パスを1つ選択する機能を有する。より具体的には、論理パス制御手段113a〜113cから「グループ」を指定した依頼が渡されることにより、上記「グループ」をキーにして物理パス状態表12を検索し、上記「グループ」に属し、且つ物理パス状態が「接続」になっている物理パスを1つ選択する機能を有する。
【0029】
業務プログラム実行手段14は、複数の業務プログラム141a、141bおよび制御用業務プログラム142を格納し、業務端末から送信されたメッセージに応じた業務プログラムを選択し、実行する機能を有する。業務プログラム141a、141bからは複数のホストコンピュータ1a、1bに接続されたデータベース4を参照・更新することができる。制御用業務プログラム142は、業務プログラムを制御用にカスタマイズしたものであり、制御端末制御手段242からの実行要求のみにより実行され、制御用データを返却する機能を有する。
【0030】
操作卓15は、操作員の操作に従って各種コマンドをホストコンピュータ1aに投入する機能を有する。
【0031】
記録媒体K1aは、ディスク、半導体メモリ、その他の記録媒体であり、ホストコンピュータ1aをオンラインシステムの一部として機能させるためのプログラムが記録されている。このプログラムは、ホストコンピュータ1aによって読み取られ、その動作を制御することで、ホストコンピュータ1a上にパス管理手段11、物理パス状態表12、論理パス状態表13、業務プログラム実行手段14を実現する。
【0032】
中継サーバ2は、パス管理手段21と、物理パス状態表22と、論理パス状態表23と、端末管理手段24と、ホスト情報収集手段25と、端末状態表26と、論理パス選択手段27と、操作卓28と、記録媒体K2とを備えている。
【0033】
物理パス状態表22は、中継サーバ2とホストコンピュータ1a、1bとを接続する各物理パスの状態を管理する。構造はホストコンピュータ1a、1b上の物理パス状態表12、12'と同等である。図4に物理パス状態表22の内容例を示す。尚、図4の例において、グループ「H1」に属する物理パスは、中継サーバ2とホストコンピュータ1aとを接続する物理パスであり、グループ「H2」に属する物理パスは中継サーバ2とホストコンピュータ1bとを接続する物理パスである。
【0034】
論理パス状態表23は、端末とホストコンピュータ1a、1bとを接続する論理パスの状態を管理する。構造はホストコンピュータ1a、1b上の論理パス状態表13、13'と同等である。図5に論理パス状態表23の内容例を示す。尚、図5の例において、グループ「H1」に属する論理パスは、端末とホストコンピュータ1aとを接続する論理パスであり、グループ「H2」に属する論理パスは端末とホストコンピュータ1bとを接続する論理パスである。
【0035】
端末状態表26は、業務端末および制御端末の定義情報と、状態情報を管理する。図6に端末状態表26の内容例を示す。図6を参照すると、「端末定義名」、「端末種別」、「グループ」が定義情報であり、「端末状態」、「端末識別子」、「論理パス識別子」、「グループ状態」が状態情報である。
【0036】
「端末種別」は、その端末の種別が「業務端末」であるのか「制御端末」であるのかを示す。「グループ」は、その端末が利用可能な論理パスの所属するグループを示す。「端末状態」は、その端末が現在「接続」状態にあるのか「未接続」状態にあるのかを示す。「接続」状態の端末に関しては、「端末識別子」が格納される。「グループ」毎に用意される「論理パス識別子」は、接続状態にある論理パスに付与された論理パス識別子を示す。「グループ状態」はそのグループに属する論理パスによって接続されるホストコンピュータの状態を示す。本実施例では、ホストコンピュータの稼動・待機・不明の別を「稼動中」、「待機中」、「不明(障害中)」で示す。
【0037】
図6の例において、エントリNo.「1」のエントリは、端末定義名「TERM-A」を持つ業務端末は、グループ「H1」、「H2」に所属した2つの論理パスを利用してホストコンピュータ1a、1bと通信を行えることを示している。また、このエントリは、グループ「H1」に属する論理パスの論理パス識別子が「LID-H1-00001」で、グループ「H2」に属する論理パスの論理パス識別子が「LID-H2-00001」であることを示している。尚、論理パス識別子は、論理パスの接続時にホストコンピュータ1a、1bにより生成配布されるものであり、ホストコンピュータ1a、1b上の論理パス状態表13、13'および中継サーバ2上の論理パス状態表23に格納されている論理パス識別子と一致する。
【0038】
パス管理手段21は、物理パス制御手段211a〜211fと、パス選択手段212と、論理パス制御手段213a〜213fとから構成される。
【0039】
物理パス制御手段211a〜211cは、ホストコンピュータ1aとの間の物理パスを制御し、物理パス制御手段211d〜211fは、ホストコンピュータ1bとの間の物理パスを制御する。これらは、物理パスの接続・切断に伴い、動的に生成・消滅する。物理パス制御手段211a〜211fは、その生成時に、物理パス状態表22上の該当する「物理パス状態」を「接続」状態に変更する。
【0040】
論理パス制御手段213a〜213cは、ホストコンピュータ1aとの間の論理パスを制御し、論理パス制御手段213d〜213fは、ホストコンピュータ1bとの間の論理パスを制御する。これらは、論理パスの接続・切断に伴い、動的に生成・消滅する。論理パス制御手段213a〜213fは、ホストコンピュータ1a、1b上の論理パス制御手段113a〜113c、113a'〜113c'から配布された論理パス識別子を論理パス状態表23に格納する。
【0041】
パス選択手段212は、論理パス制御手段213a〜213fからの依頼に従って、その論理パス制御手段213a〜213fによって管理・制御されている論理パスが所属している「グループ」中の物理パスの中から、「接続」状態にある物理パスを1つ選択する機能を有する。より具体的には、論理パス制御手段213a〜213fから「グループ」を指定した依頼が渡されることにより、上記「グループ」をキーにして物理パス状態表22を検索し、上記「グループ」に属し、且つ物理パス状態が「接続」になっている物理パスを1つ選択する機能を有する。
【0042】
端末管理手段24は、業務端末制御手段241a、241bと、制御末制御手段242とから構成される。
【0043】
業務端末制御手段241a、241bは、業務端末3a、3bの接続状態を管理・制御する。これらは、業務端末3a、3bの接続・切断に伴い、動的に生成・消滅する。
【0044】
業務端末制御手段241a、241bは、その生成時に、業務端末を識別するための端末識別子を生成し、端末状態表26へ格納すると共に、業務端末3a、3bへ端末識別子を配布する。
【0045】
制御端末制御手段242は、制御端末接続状態を管理・制御する。制御端末とは論理的で実在しない端末であり、ホスト情報収集手段25により利用される。制御端末制御手段242は、制御端末の接続・切断に伴い、動的に生成・消滅する。
【0046】
制御端末制御手段242は、その生成時に、制御端末を識別するための端末識別子を生成し、端末状態表26へ格納すると共に、ホスト情報収集手段25へ端末識別子を配布する。
【0047】
論理パス選択手段27は、論理パスを選択する機能を有する。より具体的には、論理パス選択手段27は、業務端末制御手段241a、241b或いは制御端末制御手段242から端末識別子の付加されたメッセージが渡されたとき、端末状態表26を参照し、メッセージを転送するのに適した論理パスを選択する。
【0048】
ホスト情報収集手段25は論理的な制御端末を通じて、制御用業務プログラム142、142'を定期的に起動することによりホスト情報を収集する。本実施例では、ホスト情報として「稼働中」、「待機中」「不明」を収集する。
【0049】
操作卓28は、操作員の操作に従って各種コマンドを中継サーバ2に投入する。
【0050】
記録媒体K2は、ディスク、半導体メモリ、その他の記録媒体であり、中継サーバ2をオンラインシステムの一部として機能させるためのプログラムが記録されている。このプログラムは、中継サーバ2によって読み取られ、その動作を制御することで、中継サーバ2上に、パス管理手段21、物理パス状態表22、論理パス状態表23、端末管理手段24、ホスト情報収集手段25、端末状態表26、論理パス選択手段27を実現する。
【0051】
【実施例の動作の説明】
次に、各図を参照して本実施例の動作について詳細に説明する。
【0052】
ホストコンピュータ1a、1bは中継サーバ2を介して業務端末3a,3bと接続される。ホストコンピュータ1a、1bと中継サーバ2との間には物理的な通信路(物理パス)を接続し通信を行う。
【0053】
先ず、物理パスの接続時の動作について説明する。物理パスの接続処理は、中継サーバ2の操作卓28からの物理パス接続コマンド投入、あるいは、ホストコンピュータ1a、1bの操作卓15、15'からの物理パス接続コマンド投入によって開始される。尚、物理パス接続コマンドには、接続を要求する物理パスを特定するために、その物理パスの物理パス定義名が含まれている。
【0054】
今、例えば、ホストコンピュータ1aの操作卓15から物理パス接続コマンドが投入されたとすると、パス管理手段11が上記コマンドに含まれている物理パス定義名をキーにして物理パス状態表12を検索し、上記物理パス定義名に対応して登録されている「自側物理アドレス」、「相手側物理アドレス」を取得する。その後、上記アドレスに従って物理パスを接続する。
【0055】
物理パスが接続されると、ホストコンピュータ1a上のパス管理手段11及び中継サーバ2上のパス管理手段21は、新たな物理パスを管理・制御する物理パス制御手段(例えば、111a、211a)を生成する。
【0056】
物理パス制御手段111a、211aは、接続された物理パスの物理アドレスを確認し、物理パス状態表12、22の該当エントリ(物理アドレスの合致するエントリ)の「物理パス状態」を「接続」状態に変更する。これにより物理パスの接続が完了となる。尚、他の操作卓15'、28から物理パス接続コマンドが投入された場合も同様の処理が行われる。
【0057】
次に業務端末3a、3bが中継サーバ2に対して接続要求を送信した場合の動作を説明する。
【0058】
今、例えば、業務端末3bが中継サーバ2に対して接続要求を送信したとすると、この接続要求は、中継サーバ2内の端末管理手段24で受信される。端末管理手段24の処理例を図7のフローチャートに示す。
【0059】
端末管理手段24は、業務端末3bからの接続要求を受信すると、端末状態表26を参照し、端末種別が「業務端末」となっているエントリの中から端末状態が「未接続」状態のエントリを検索する(S701、S702)。例えば端末状態表26の内容が図6に示すものであるとすると、エントリNo.「2」エントリのエントリが、該当するエントリとして検索されることになる。尚、該当するエントリを探し出すことができなかった場合は、要求元の業務端末3bに接続失敗を通知した後、(S702がNO、S708)処理を終了する。
【0060】
今、例えば、ステップS702において、該当するエントリとしてエントリNo.「2」のエントリを検索したとすると、端末管理手段24は、そのエントリを参照し、論理パスを設定していない未処理のグループが存在するか否かを判断する(S703)。この例の場合、エントリNo.「2」のエントリには、2つのグループ「H1」、「H2」が設定されており、グループ「H1」、「H2」に属する2つの論理パスを設定することが定められているが、現時点では、論理パスは全く設定されていない(論理パス識別子が設定されていない)。従って、ステップS703の判断結果がYESとなるので、端末管理手段24は、未処理のグループの内の1つを選択し、選択したグループ(例えば、グループ「H1」)と、エントリNo.「2」のエントリに格納されている端末定義名「TERM-B」とを含む論理パス接続要求をパス管理手段21に渡す(S704)。
【0061】
パス管理手段21は、グループ「H1」と端末定義名「TERM-B」とを含む論理パス接続要求が端末管理手段24から渡されると、上記グループ「H1」と端末定義名「TERM-B」とをキーにして論理パス状態表23を検索し、論理パス状態が「未接続」になっているエントリを探し出す(図8のS81)。例えば、論理パス状態表23の内容が図5に示すものである場合は、エントリNo.「2」のエントリが探し出される。その後、パス管理手段21は、今回接続する論理パスを管理・制御する新たな論理パス制御手段(例えば、論理パス制御手段213b)を生成する(S82)。
【0062】
論理パス制御手段213bは、生成されると、論理パス状態表23の該当するエントリ中の論理パス状態を「接続」に変更すると共に、パス選択手段212に対して使用する物理パスの選択を依頼する。この時、論理パス制御手段213bは、グループ「H1」(論理パス接続要求に含まれていたグループ)を指定して物理パスの選択を依頼する。これにより、パス選択手段212は、物理パス状態表22を検索し、グループ「H1」が設定され、且つ物理パス状態が「接続」になっているエントリを探し出す。この探し出したエントリによって定義されている物理パスが、論理パスの接続に利用する物理パスとなる(S83)。今、例えば、物理パス状態表22の内容が図4に示すものであるとすると、エントリNo.「1」〜「3」のエントリの内の何れか1つ(エントリNo.「1」のエントリとする)が選択される。ここで、ホストコンピュータ1a、1b毎に別のグループに属する定義を行うことにより、論理パスの接続で「グループ」を指定することは、暗にホストコンピュータ指定を行っているに等しい。
【0063】
その後、論理パス制御手段213bは、グループ「H1」、端末定義名「TERM-B」を含んだ論理パス接続要求をパス選択手段212に渡す。これにより、パス選択手段212は、ステップS83で選択した物理パス管理する物理パス制御手段211bを通じて、上記論理パス接続要求をホストコンピュータ1aへ送信する(S84)。
【0064】
中継サーバ2内の物理パス制御手段211bを介してホストコンピュータ1aに送られた論理パス接続要求は、物理パス制御手段211bに対応する物理パス制御手段111bで受信される。パス管理手段11は、物理パス制御手段111bが論理パス接続要求を受信すると、物理パス状態表12を参照し、上記物理パス制御手段111bが所属しているグループを取得する(図9、S91)。尚、物理パス制御手段111a、111b、…は、物理パス状態表12のエントリ番号「1」、「2」、…のエントリに対応している。従って、物理パス状態表12の内容が図2に示すものであるとすると、パス管理手段11は、グループ「SERVER」を取得することになる。
【0065】
その後、パス管理手段11は、ステップS91で取得したグループ「SERVER」と論理パス接続要求に含まれていた端末定義名「TERM-B」とをキーにして論理パス状態表13を検索し、論理パス状態が「未接続」になっているエントリを探し出す(S92)。論理パス状態表13の内容が、図3に示すものである場合、エントリNo.「2」のエントリが探し出される。
【0066】
次に、パス管理手段11は、今回接続する論理パスを管理・制御する新たな論理パス制御手段(例えば、論理パス制御手段113b)を生成する。
【0067】
新たに生成された論理パス制御手段113bは、新たな論理パスを一意に識別可能で、且つ、繰り返し利用することのない論理パス識別子(例えば、LID-H1-00003)を生成し、この生成した論理パス識別子を論理パス状態表13の該当エントリ(S92で探し出されたエントリ)に格納すると共に、論理パス状態を「接続」に変更する(S93、S94)。これにより、論理パス状態表13のエントリNo.「2」のエントリには、図10(a)に示すように、論理パス識別子「LID-H1-00003」が格納されると共に、論理パス状態「接続」が格納される。更に、論理パス制御手段113bは、物理パス制御手段111b、211bを通じて該当する論理パス制御手段213bへと論理パス識別子を配布する(S95)。
【0068】
論理パス制御手段213bは、ホストコンピュータ1aから配布された論理パス識別子を論理パス状態表23の該当エントリに格納する(図8、S85)。これにより、論理パス状態表23のエントリNo.「2」のエントリには、図11に示すように、論理パス識別子「LID-H1-00003」が格納される。
【0069】
その後、論理パス制御手段213bは、端末管理手段24に論理パス識別子「LID-H1-00003」を返却する(ステップS86)。以上により、論理パスの接続処理が完了する。
【0070】
端末管理手段24は、論理パス制御手段213bから新たに接続した論理パスの論理パス識別子「LID-H1-00003」が返却されると、それを端末状態表26の該当するエントリに格納する(図7、S705、S706)。この例の場合、図12に示すように、エントリNo.「2」のエントリ中の、グループ「H1」に属する論理パスの論理パス識別子として上記論理パス識別子「LID-H1-00003」が格納されることになる。
【0071】
その後、端末管理手段24は、端末状態表26のエントリNo.「2」のエントリを検索し、論理パスを設定していない未処理のグループが存在するか否かを判断する(S703)。この例の場合、グループ「H2」については論理パスを設定していないので、グループ「H2」と端末定義名「TERM-B」とを含む論理パス接続要求をパス管理手段21に渡す(S704)。
【0072】
これにより、パス管理手段21は、前述したステップS81〜S84(図8参照)と同様の処理を行い、グループ「H2」と端末定義名「TERM-B」とを含む論理パス接続要求を、グループ「H2」に対応するホストコンピュータ1bへ送信する。
【0073】
ホストコンピュータ1b内のパス管理手段11'は、中継サーバ2からグループ「H2」と端末定義名「TERM-B」とを含む論理パス接続要求が送られてくると、前述したステップS91〜S95(図9参照)と同様の処理を行い、今回接続する論理パスの論理パス識別子(例えば、「LID-H2-00003」とする)を、論理パス状態表13'に格納すると共に中継サーバ2に返却する。これにより、論理パス状態表13'の内容は、図10(b)に示すものとなる。
【0074】
中継サーバ2内のパス管理手段21は、ホストコンピュータ1bから論理パス識別子「LID-H2-00003」が返却されると、前述したステップS85、S86(図8参照)と同様の処理を行い、論理パス識別子「LID-H2-00003」を論理パス状態表23の該当するエントリに格納すると共に、上記論理パス識別子「LID-H2-00003」を端末管理手段24に返却する。この結果、論理パス状態表23の内容は、図11に示すものとなる。
【0075】
端末管理手段24は、パス管理手段21から論理パス識別子「LID-H2-00003」が返却されると、それを端末状態表26の該当するエントリに格納する(図7、S705、S706)。この例の場合、図12に示すように、エントリNo.「2」のエントリ中の、グループ「H2」に属する論理パスの論理パス識別子として上記論理パス識別子「LID-H2-00003」が格納されることになる。
【0076】
その後、端末管理手段24は、端末状態表26のエントリNo.「2」のエントリを検索し、論理パスを設定していない未処理のグループが存在するか否かを判断する(S703)。この例の場合、未処理のグループが存在しないので(S703がNO)、端末管理手段24は、接続要求元の業務端末3bを管理・制御するための業務端末制御手段(例えば、業務端末制御手段241b)を生成する。この生成された業務端末制御手段241bは、端末を一意に識別可能で、且つ繰り返し利用されることのない端末識別子(例えば、TID-00003)を生成し、端末状態表26の該当するエントリに格納すると共に、業務端末3bへと配布する(S707)。これにより、端末状態表26のエントリNo.「2」のエントリに、図12に示すように、端末識別子「TID-00003」が格納される。
【0077】
業務端末3bでは、中継サーバ2から配布された端末識別子「TID-00003」を記憶する。以降、業務端末3bと中継サーバ2とのメッセージ送受信には端末識別子「TID-00003」を付与することにより、お互いに接続相手を識別した通信を行うことができる。
【0078】
次に、業務端末3a、3bからホストコンピュータにメッセージ送信する際の動作について、業務端末3bからメッセージを送信する場合を例に挙げて説明する。尚、業務端末3bには、端末識別子「TID-00003」が付与されているとする。
【0079】
業務端末3bは、メッセージをホストコンピュータに送信する際、先ず、メッセージに端末識別子「TID-00003」を付加し、その後、端末識別子「TID-00003」を付加したメッセージを中継サーバ2へ送信する。
【0080】
業務端末3bからのメッセージは、該当する業務端末制御手段241bを通じて、論理パス選択手段27に渡される。論理パス選択手段27の処理例を図13のフローチャートに示す。
【0081】
論理パス選択手段27は、業務端末管理手段241bを介して業務端末3bからのメッセージが渡されると、それに付加されている端末識別子「TID-00003」を抽出し、抽出した端末識別子「TID-00003」をキーにして端末状態表26を検索する(図13、S131、S132)。
【0082】
そして、端末識別子「TID-00003」が格納されているエントリを探し出すことができなかった場合は、業務端末制御手段241bを介して業務端末3bへメッセージ受信失敗を通知する(S133がNO、S138)。これに対して、端末識別子「TID-00003」が格納されているエントリを探し出すことができた場合には、そのエントリに格納されている端末種別が「業務端末」になっているか、「制御端末」になっているかを調べる(S134)。今、例えば、端末状態表26の内容が、図12に示すものであるとすると、ステップS132でエントリNo.「2」のエントリが探し出されるので、ステップS134では、端末種別が「業務端末」になっていると認識することになる。
【0083】
ステップS134において、端末種別が「業務端末」であると認識すると、論理パス選択手段27は、エントリNo.「2」のエントリに格納されている論理パス識別子の中に対応するグループ状態が「稼働中」になっているものが存在するか否かを調べる(S135)。そして、対応するグループ状態が「稼働中」となっている論理パス識別子が存在しない場合は、業務端末3bに対してメッセージ受信失敗を通知し(S135がNO、S138)、その後、処理終了となる。これに対して、対応するグループ状態が「稼働中」になっている論理パス識別子が存在する場合には、ステップS137の処理が行われる。この例の場合、論理パス識別子「LID-H1-00003」に対応するグループ状態が「稼働中」となっているので、論理パス制御手段27は、ステップS137の処理を行うことになる。そして、ステップS137では、業務端末3bからのメッセージに上記論理パス識別子「LID-H1-00003」を付加し、この論理パス識別子「LID-H1-00003」によって特定される論理パスを管理・制御している論理パス制御手段213bに渡す。
【0084】
論理パス制御手段213bは、論理パス識別子「LID-H1-00003」の付加されたメッセージが渡されると、論理パス識別子「LID-H1-00003」をキーにして論理パス状態表23を検索し、論理パス識別子「LID-H1-00003」によって特定される論理パスが属するグループを認識する。今、例えば、論理パス状態表23の内容が図11に示すものであるとすると、論理パス制御手段213bは、グループ「H1」に属する論理パスであると認識することになる。
【0085】
その後、論理パス制御手段213bは、パス接続手段212に対してグループ「H1」を渡し、使用する物理パスの選択を依頼する。これにより、パス接続手段212は、物理パス状態表22を検索し、グループ「H1」に属する物理パスの中から、接続状態になっている物理パスを1つ選択する。今、例えば、物理パス状態表22の内容が図4に示すものであるとすると、エントリNo.「1」〜「3」のエントリによって定義されている物理パスの内の1つが選択されることになる。その後、論理パス制御手段213bは、パス接続手段212によって選択された接続状態の物理パスに対応する物理パス制御手段(例えば、物理パス制御手段211b)に、論理パス識別子「LID-H1-00003」の付加されたメッセージを渡す。これにより、物理パス制御手段211bは、対応するホストコンピュータ1a内の物理パス制御手段111bに上記メッセージを送信する。このように、中継サーバ2とホストコンピュータ1aとの間に存在する、「接続」状態のある複数の物理パスの内の1つ利用してメッセージを送信するようにしているので、ある物理パスの障害時にも他の物理パスを利用してメッセージを送信することが可能になる。
【0086】
物理パス制御手段111bが論理パス識別子「LID-H1-00003」の付加されたメッセージを受信すると、パス管理手段11は、論理パス状態表13を検索し、上記論理パス識別子「LID-H1-00003」が格納されているエントリを探し出し、そのエントリに対応する論理パス制御手段(例えば、論理パス制御手段113b)にメッセージを渡す。
【0087】
論理パス制御手段113bは、論理パス識別子「LID-H1-00003」の付加されたメッセージが渡されると、それを業務プログラム実行手段14に渡す。業務プログラム実行手段14は、メッセージ内容に応じた業務プログラム(例えば、業務プログラム141b)を起動し、メッセージを渡す。業務プログラム141bは、ホストコンピュータ1a、1bの双方からアクセス可能なデータベース4を利用して、メッセージによって要求されている業務を処理し、処理結果を論理パス制御手段113bに返却する。尚、処理結果を論理パス制御手段113bに返却する際、業務プログラム実行手段14は、メッセージに付加されていた論理パス識別子「LID-H1-00003」も併せて返却する。
【0088】
論理パス制御手段113bは、処理結果及び論理パス識別子「LID-H1-00003」が返却されると、論理パス識別子「LID-H1-00003」をキーにして論理パス状態表13を検索し、論理パス識別子「LID-H1-00003」によって特定される論理パスが属するグループを認識する。今、例えば、論理パス状態表13の内容が図10(a)に示すものであるとすると、論理パス制御手段113bは、グループ「SERVER」に属する論理パスであると認識することになる。
【0089】
その後、論理パス制御手段113bは、パス接続手段112に対してグループ「SERVER」を渡し、使用する物理パスの選択を依頼する。これにより、パス接続手段112は、物理パス状態表12を検索し、グループ「SERVER」に属する物理パスの中から、接続状態になっている物理パスを1つ選択する。今、例えば、物理パス状態表12の内容が図2に示すものであるとすると、エントリNo.「1」〜「3」のエントリによって定義されている物理パスの内の1つが選択されることになる。その後、論理パス制御手段113bは、パス接続手段112によって選択された接続状態の物理パスに対応する物理パス制御手段(例えば、物理パス制御手段111b)に、論理パス識別子「LID-H1-00003」を付加した処理結果を渡す。これにより、物理パス制御手段111bは、対応する物理パス制御手段211bに上記処理結果を送信する。
【0090】
物理パス制御手段211bが論理パス識別子「LID-H1-00003」の付加された処理結果を受信すると、パス管理手段21は、論理パス状態表23を検索し、上記論理パス識別子「LID-H1-00003」が格納されているエントリを探し出し、そのエントリに対応する論理パス制御手段(例えば、論理パス制御手段213b)に処理結果を渡す。
【0091】
論理パス制御手段213bは、論理パス識別子「LID-H1-00003」の付加された処理結果が渡されると、論理パス状態表23を検索し、上記論理パス識別子「LID-H1-00003」と対応付けて登録されている端末定義名を取得する。今、例えば、論理パス状態表23の内容が図11に示すものであるとすると、端末定義名「TERM-B」を取得することになる。その後、論理パス制御手段213bは、端末定義名「TERM-B」を処理結果に付加して端末制御手段24に渡す。これにより、端末制御手段24は、端末定義名「TERM-B」に対応する業務端末制御手段241を使用して処理結果をメッセージの送信元である業務端末3bに返却する。
【0092】
上述したように、ホストコンピュータ1aに転送されたメッセージは、業務プログラム実行手段14に渡されるが、ホストコンピュータ1a上では、或る論理パスを通じて受信する複数のメッセージは、同一の端末からのメッセージであることが保障される。また、論理パス定義名をホストコンピュータ1a、1bで共通名とすることにより、共通の論理パス定義名を持つ論理パスを通じて受信したメッセージは、同一の端末からのメッセージであることが保障される。例えば、論理パス定義名「L1」を持つ論理パスを通じて受信したメッセージは、端末定義名に「TERM-A 」を持つ業務端末からのメッセージであることが保障され、ホストコンピュータ1aでもホストコンピュータ1bでも同一の端末から受信したメッセージであることが判別可能である。すなわち、複数のホストコンピュータにまたがって、業務端末3a、3bを識別した業務処理を行うことが可能となる。
【0093】
次に、端末状態表26中の「グループ状態」の設定方法について説明する。この「グループ状態」の設定は、ホスト情報収集手段25によって行われるものであり、その処理例を図14のフローチャートに示す。
【0094】
ホスト情報収集手段25は、定期的に、図14のフローチャートに示す処理を行う。先ず、ホスト情報収集手段25は、端末状態表26を参照し、ホストコンピュータ1a、1bとの間の論理パスが接続済みであるか否かを判断する(S1401)。即ち、論理パス識別子が設定されているか否かに基づいて、論理パスが接続済みであるか否かを判断する。
【0095】
そして、論理パスが接続済みでない場合は、端末管理手段24に対して接続要求を出力する(S1401がNO、S1402)。これにより、端末管理手段24において、業務端末3a、3bからの接続要求を受信した場合と同様の動作が行われ、ホストコンピュータ1aとの間、及びホストコンピュータ1bとの間に論理パスが設定されると共に、制御端末制御手段242が生成され、端末識別子(例えば、「TID-#CTRL#」とする)が配布される(図7、S701、S709〜S715)。その後、端末管理手段24は、ステップS1403の処理を行う。
【0096】
これに対して、論理パスが接続済みである場合は、直ちに、ステップS1403の処理が行われる。ステップS1403では、制御用業務プログラムの起動を要求するメッセージを制御端末制御手段242に渡す。その際、配布されている端末識別子「TID-#CTRL#」を上記メッセージに付加する。
【0097】
制御端末制御手段242は、ホスト情報収集手段25からのメッセージを論理パス選択手段27に渡す。
【0098】
論理パス選択手段27は、制御端末制御手段242を介してホスト情報収集手段25からのメッセージが渡されると、それに付加されている端末識別子「TID-#CTRL#」を抽出し、この抽出した端末識別子「TID-#CTRL#」をキーにして端末状態表26を検索する(図13、S131、S132)。今、例えば、端末状態表26の内容が、図12に示すものであるとすると、エントリNo.「3」のエントリに、上記端末識別子「TID-#CTRL#」が格納され、そのエントリの端末種別が「制御端末」となっているので(S133、S134)、論理パス選択手段27は、上記エントリに格納されている各論理パス識別子「LID-H1-00002」、「LID-H2-00002」に対応する論理パス制御手段(論理パス制御手段213c、213fとする)に対して、メッセージを渡す(S136)。その際、論理パス制御手段213cに渡すメッセージには、論理パス識別子「LID-H1-00002」を付加し、論理パス制御手段213fに渡すメッセージには、論理パス識別子「LID-H2-00002」を付加する。
【0099】
これにより、業務端末3a、3bからのメッセージをホストコンピュータ1a、1bに送信する場合と同様の処理が行われ、ホスト情報収集手段25からのメッセージは、ホストコンピュータ1a、1bの業務プログラム実行手段14、14'に渡される。これにより、業務プログラム実行手段14、14'は、制御用業務プログラム142、142'を起動する。
【0100】
制御用業務プログラム142、142'は、自系のホストコンピュータ1a、1bが稼動中であれば「稼動中」を示すメッセージを、待機中であれば「待機中」を示すメッセージを、論理パス制御手段113c、113c'を介してホスト情報収集手段25へ返却する。その際、制御用教務プログラム142、142'は、メッセージに論理パス識別子「LID-H1-00002」、「LID-H2-00002」を付加する。
【0101】
ホスト情報収集手段25は、「稼働中」を示すメッセージが返却された場合は、端末状態表26に格納されているグループ状態の内の、上記メッセージに付加されている論理パス識別子と対応するグループ状態を「稼働中」に変更する(S1405〜S1407)。
【0102】
また、「待機中」を示すメッセージが返却された場合は、端末状態表26に格納されているグループ状態の内の、上記メッセージに付加されている論理パス識別子と対応するグループ状態を「待機中」に変更する(S1405、S1406、S1408)。
【0103】
また、一定時間、メッセージの返却されない論理パスに対応するグループ状態は「不明」に更新する(S1404がYES、S1409)。
【0104】
上述したように、ホスト情報収集手段25を用いて、定期的に各ホストコンピュータ1a、1bからホスト情報(「稼働中」、「待機中」)を収集し、この収集したホスト情報に従って端末状態表26を更新するようにしているので、稼働中のホストコンピュータに障害が発生した場合でも、他のホストコンピュータを利用して業務を継続することができる。例えば、ホストコンピュータ1a、1bがそれぞれ「稼働中」、「待機中」である時に、ホストコンピュータ1aに障害が発生すると、ホストコンピュータ1bが「稼働中」になる。このことが、ホスト情報収集手段25が定期的に行う処理によって端末状態表26に反映され、これ以後は、ホストコンピュータ1bに接続されている論理パスを介してメッセージが転送されることになるので、「稼働中」のホストコンピュータ1aに障害が発生した場合においても、他のホストコンピュータ1bを利用して業務処理を継続することが可能となる。
【0105】
【発明の他の実施例】
次に、本発明の第2の実施例について説明する。本実施例は、負荷分散クラスタシステムなど、複数のホストコンピュータに業務処理を分散させるシステムに本発明を適用したものである。
【0106】
本実施例は、第1の実施例において、下記(1)〜(4)の変更を行うことにより実現される。
【0107】
(1)端末状態表26の代わりに、図15に示す構成を有する端末状態表26aを使用する。端末状態表26aと端末状態表26との相違点は、項目「グループ状態」の代わりに、項目「グループbusy(ビジー)率」を含んでいる点である。グループbusy率は、ホストコンピュータの忙しさ(負荷)を示す指標である。
【0108】
(2)ホスト情報収集手段25に、図16のフローチャートに示す処理を行わせる。
【0109】
(3)論理パス選択手段27に、図17のフローチャートに示す処理を行わせる。
【0110】
(4)制御用業務プログラム142、142'では、ホスト情報収集手段25からのメッセージを受信した際、自ホストコンピュータ1a、1bのbusy率を示すメッセージを返信するようにする。
【0111】
次に本実施例の動作について説明する。ここでは、第1の実施例との相違点についてのみ説明する。
【0112】
ホスト情報収集手段25は、定期的に、図16のフローチャートに示す処理を行う。先ず、ホスト情報収集手段25は、端末状態表26aを参照し、ホストコンピュータ1a、1bとの間の論理パスが接続済みであるか否かを判断する(S161)。
【0113】
そして、論理パスが接続済みでない場合は、端末管理手段24に対して接続要求を出力する(S161がNO、S162)。これにより、前述した処理と同様の処理が行われ、ホストコンピュータ1aとの間、及びホストコンピュータ1bとの間に論理パスが接続されると共に、制御端末制御手段242が生成され、端末識別子(例えば、「TID-#CTRL#」とする)が配布される。その後、端末管理手段24は、ステップS163の処理を行う。
【0114】
これに対して、論理パスが接続済みである場合は、直ちに、ステップS163の処理が行われる。ステップS163では、制御用業務プログラムの起動を要求するメッセージを制御端末制御手段242に渡す。その際、配布されている端末識別子「TID-#CTRL#」を上記メッセージに付加する。
【0115】
制御端末制御手段242は、ホスト情報収集手段25からのメッセージを論理パス選択手段27に渡す。
【0116】
論理パス選択手段27は、制御端末制御手段242を介してホスト情報収集手段25からのメッセージが渡されると、それに付加されている端末識別子「TID-#CTRL#」を抽出し、この抽出した端末識別子「TID-#CTRL#」をキーにして端末状態表26aを検索する(図17、S171、S172)。今、例えば、端末状態表26aの内容が、図15に示すものであるとすると、エントリNo.「3」のエントリに、上記端末識別子「TID-#CTRL#」が格納され、そのエントリの端末種別が「制御端末」となっているので(S173、S174)、論理パス選択手段27は、上記エントリに格納されている各論理パス識別子「LID-H1-00002」、「LID-H2-00002」に対応する論理パス制御手段(論理パス制御手段213c、213fとする)に対して、メッセージを渡す(S177)。その際、論理パス制御手段213cに渡すメッセージには、論理パス識別子「LID-H1-00002」を付加し、論理パス制御手段213fに渡すメッセージには、論理パス識別子「LID-H2-00002」を付加する。
【0117】
これにより、前述した処理と同様の処理が行われ、ホスト情報収集手段25からのメッセージは、ホストコンピュータ1a、1bの業務プログラム実行手段14、14'に渡される。これにより、業務プログラム実行手段14、14'は、制御用業務プログラム142、142'を起動する。
【0118】
制御用業務プログラム142、142'は、自系のホストコンピュータ1a、1bのbusy率を示すメッセージを、論理パス制御手段113c、113c'を介してホスト情報収集手段25へ返却する。その際、制御用業務プログラム142、142'は、メッセージに論理パス識別子「LID-H1-00002」、「LID-H2-00002」を付加する。
【0119】
ホスト情報収集手段25は、busy率を表すメッセージが返却されると、端末状態表26aに格納されているグループbusy率の内の、上記メッセージに付加されている論理パス識別子と対応するグループbusy率を、上記メッセージが表すbusy率に変更する(S165〜S167)。以上の処理を、全てのホストコンピュータ1a、1bから送られてくるメッセージについて行うと(ステップS169がYES)、処理終了となる。但し、所定時間が経過してもメッセージが返却されないホストコンピュータが存在する場合には、そのホストコンピュータに対応するグループbusy率を「不明」に変更する(S164がYES、S168)。
【0120】
次に、業務端末3a、3bからホストコンピュータにメッセージ送信する際の動作について、業務端末3aからメッセージを送信する場合を例に挙げて説明する。尚、業務端末3aには、端末識別子「TID-00001」が付与されているとする。
【0121】
業務端末3aは、メッセージをホストコンピュータに送信する際、先ず、メッセージに端末識別子「TID-00001」を付加し、その後、端末識別子「TID-00001」を付加したメッセージを中継サーバ2へ送信する。
【0122】
業務端末3aからのメッセージは、該当する業務端末制御手段241aを通じて、論理パス選択手段27に渡される。
【0123】
論理パス選択手段27は、業務端末制御手段241aを介して業務端末3aからのメッセージが渡されると、それに付加されている端末識別子「TID-00001」を抽出し、抽出した端末識別子「TID-00001」をキーにして端末状態表26aを検索する(図17、S171、S172)。
【0124】
そして、端末識別子「TID-00001」が格納されているエントリを探し出すことができなかった場合は、業務端末制御手段241aを介して業務端末3aへメッセージ受信失敗を通知する(S173がNO、S178)。これに対して、端末識別子「TID-00001」が格納されているエントリを探し出すことができた場合には、そのエントリに格納されている端末種別が「業務端末」になっているか、「制御端末」になっているかを調べる(S174)。今、例えば、端末状態表26aの内容が、図15に示すものであるとすると、ステップS172でエントリNo.「1」のエントリが探し出されるので、ステップS174では、端末種別が「業務端末」になっていると認識することになる。
【0125】
ステップS174において、端末種別が「業務端末」であると認識すると、論理パス選択手段27は、エントリNo.「1」のエントリに格納されている論理識別子の中から、対応するグループbusy率が最小のものを選択する(S175)。この例の場合、論理パス識別子「LID-H1-00001」、「LID-H2-00001」に対応するグループbusy率がそれぞれ「10%」、「20%」となっているので、論理パス識別子「LID-H1-00001」を選択することになる。その後、論理パス選択手段27は、業務端末3aからのメッセージに上記論理パス識別子「LID-H1-00001」を付加し、この論理パス識別子「LID-H1-00001」によって特定される論理パスを管理している論理パス制御手段213aに渡す(S176)。これ以後は、第1の実施例と同様の動作が行われる。これにより、業務端末3aからのメッセージは、関連する複数の論理パス(論理パス識別子が「LID-H1-00001」、「LID-H2-00001」の論理パス)内の、busy率が最も低いホストコンピュータに接続されている論理パスを介して転送される。つまり、busy率の最も低いホストコンピュータで、メッセージに従った業務処理を行うことができる。また、定期的にbusy率は見直されるため、busy率が逆転した時点で、メッセージの送信先となるホストコンピュータが切り替わる。これにより、負荷を平準化することができる。
【0126】
【本発明のその他の実施例】
次に本発明の第3の実施例について説明する。本実施例の特徴は、中継サーバの障害にも耐えられるようにした点にある。
【0127】
図18は本実施例のブロック図である。本実施例と図1に示した第1の実施例との相違点は、下記(a)〜(c)の通りである。
【0128】
(a)業務端末3aの代わりに業務端末3a'を備えている点。
【0129】
端末3a'は、端末3aが備えている機能に加え、論理パスの接続要求を中継サーバに送信する際、正常に動作している中継サーバの内の、最も優先順位の高い中継サーバに論理パスの接続要求を送信する機能を有する。更に、端末3a'は、端末3aが備えている機能に加え、メッセージをホストコンピュータへ送信する際、正常に動作している中継サーバの内の、最も優先順位の高い中継サーバにメッセージを送信する機能を有している。尚、本実施例では、優先順位は、中継サーバ2a、中継サーバ2bの順になっているとする。即ち、中継サーバ2aの優先順位が最も高くなっているとする。
【0130】
(b)ホストコンピュータ1a、1bの代わりにホストコンピュータ1a'、1b'を備えている点。
【0131】
ホストコンピュータ1a、1bとホストコンピュータ1a'、1b'との相違点は、論理パス状態表13、13'の代わりに論理パス状態表13a、13bを備えている点、制御用業務プログラム142、142'の代わりに制御用業務プログラム142a、142bを備えている点および記録媒体K1a'、K1b'を備えている点である。
【0132】
図19(a)、(b)は、論理パス状態表13a、13bの内容例を示す図である。論理パス状態表13、13'が備えている項目に、項目「端末識別子」が追加された構成となっている。
【0133】
制御用業務プログラム142a、142bは、制御用業務プログラム142、142'が備えている機能に加え、リストを要求するメッセージがホスト情報収集手段25a、25bから送られてきたとき、論理パス状態表13a、13bを参照し、その時点で論理パス接続状態が「接続」状態にあるエントリ中の「端末定義名」、「論理パス識別子」、「端末識別子」の組のリストを含むメッセージを返却する機能を有する。
【0134】
記録媒体K1a'、K1b'は、ディスク、半導体メモリ、その他の記録媒体であり、ホストコンピュータ1a'、1b'をオンラインシステムの一部として機能させるためのプログラムが記録されている。このプログラムは、ホストコンピュータ1a'、1b'によって読み取られ、その動作を制御することで、ホストコンピュータ1a'、1b'上に、パス管理手段11、11'と、物理パス状態表12、12'と、論理パス状態表13a、13bと、業務プログラム実行手段14、14'を実現する。
【0135】
(c)複数の中継サーバ2a、2bを介して業務端末3a'とホストコンピュータ1a'、1b'とを接続するようにしている点。
【0136】
中継サーバ2a、2bと、中継サーバ2との相違点は、ホスト情報収集手段25の代わりにホスト情報収集手段25a、25bを備えている点および記録媒体K2の代わりに記録媒体K2a、K2bを備えている点である。
【0137】
ホスト情報収集手段25a、25bは、ホスト情報収集手段25が備えている機能に加え、定期的に図20のフローチャートに示す処理を実行する機能を有する。
【0138】
記録媒体K2a、K2bは、ディスク、半導体メモリ、その他の記録媒体であり、中継サーバ2a、2bをオンラインシステムの一部として機能させるためのプログラムが記録されている。このプログラムは中継サーバ2a、2bによって読み取られ、その動作を制御することで、中継サーバ2a、2b上に、パス管理手段21、21'と、物理パス状態表22、22'と、論理パス状態表23、23'と、端末管理手段24、24'と、ホスト情報収集手段25a、25bと、端末状態表26、26'と、論理パス選択手段27、27'とを実現する。
【0139】
次に本実施例の動作について説明する。ここでは、第1の実施例との相違点についてのみ説明する。
【0140】
今、例えば、業務端末3a'が、正常に動作している中継サーバ2a、2bの内の最も優先順位の高い中継サーバ(中継サーバ2aとする)に論理パスの接続要求を送信したとする。そして、この論理パスの接続要求により、前述した処理と同様の処理が行われ、論理パス制御手段213aと論理パス制御手段113aとによって中継サーバ2aとホストコンピュータ1a'との間に論理パス(論理パス識別子「LID-H1-00001」の論理パスとする)が設定され、論理パス制御手段213cと論理パス制御手段113a'とによって中継サーバ2aとホストコンピュータ1b'との間に論理パス(論理パス識別子「LID-H2-00001」の論理パスとする)が設定される。更に、業務端末制御手段241aにより業務端末3a'に端末識別子(TID-00001とする)が付与されたとする。本実施例では、業務端末制御手段241aは、この端末識別子「TID-00001」を上記した2つの論理パスを介して、ホストコンピュータ1a'、1b'に送信する。ホストコンピュータ1a'、1b'内の論理パス制御手段113a、113a'は、それぞれ中継サーバ2aから送られてきた端末識別子「TID-00001」を図19(a)、(b)に示すように、論理パス状態表13a、13bの論理パス識別子「LID-H1-00001」、「LID-H2-00001」に対応するエントリに格納する。
【0141】
一方、中継サーバ2a、2b内のホスト情報収集手段25a、25bは、所定時間毎に図20のフローチャートに示す処理を行っている。
【0142】
今、例えば、中継サーバ2b内のホスト情報収集手段25bが図20のフローチャートに示す処理を開始したとする。
【0143】
ホスト情報収集手段25bは、端末状態表26'を参照し、ホストコンピュータ1a'、1b'との間の論理パスが接続済みであるか否かを判断する(S201)。
【0144】
そして、論理パスが接続済みでない場合は、端末管理手段24'に対して接続要求を出力する(S201がNO、S202)。これにより、ホストコンピュータ1a'との間、及びホストコンピュータ1b'との間に論理パスが接続されると共に、制御端末制御手段242'が生成され、端末識別子(例えば、「TID-#CTRL#」とする)が配布される。その後、端末管理手段24'は、ステップS203の処理を行う。
【0145】
これに対して、論理パスが接続済みである場合は、直ちに、ステップS203の処理が行われる。ステップS203では、リストの送信を要求するメッセージを制御端末制御手段242'に渡す。その際、配布されている端末識別子「TID-#CTRL#」を上記メッセージに付加する。
【0146】
制御端末制御手段242'は、ホスト情報収集手段25bからのメッセージを論理パス選択手段27'に渡す。論理パス選択手段27'は、業務端末管理手段242'を介してホスト情報収集手段25bからのメッセージが渡されると、それに付加されている端末識別子「TID-#CTRL#」を抽出し、この抽出した端末識別子「TID-#CTRL#」をキーにして端末状態表26'を検索する(図13、S131、S132)。これにより、端末種別が「制御端末」であることが分かるので、ホストコンピュータ1a'、1b'にリストを要求するメッセージを送信する(S134、S136)。
【0147】
ホスト情報収集手段25'からのメッセージは、ホストコンピュータ1a'、1b'の業務プログラム実行手段14、14'に渡される。これにより、業務プログラム実行手段14、14'は、制御用業務プログラム142a、142bを起動し、リストを要求するメッセージを渡す。
【0148】
制御用業務プログラム142a、142bは、それぞれ論理パス状態表13a、13bを参照し、その時点で論理パス接続状態が「接続」となっている全てのエントリから、そこに格納されている「端末定義名」、「論理パス識別子」、「端末識別子」の組を抽出する。そして、抽出した組のリストを含むメッセージを要求元のホスト情報収集手段25bに返却する。尚、このメッセージには、その送信に使用する論理パスの論理パス識別子が付加される。今、例えば、論理パス状態表13a、13bの内容が図19(a)、(b)に示すものであるとすると、制御用業務プログラム142aは、「TERM-A」、「LID-H1-00001」、「TID-00001」の組と、「#CTRL#」、「LID-H1-00002」、「TID-#CTRL#」の組と、「#CTRL#」、「LID-H1-00003」、「TID-#CTRL#」組とを含むメッセージをホスト情報収集手段25bに返却し、制御用業務プログラム142bは、「TERM-A」、「LID-H2-00001」、「TID-00001」の組と、「#CTRL#」、「LID-H2-00002」、「TID-#CTRL#」の組と、「#CTRL#」、「LID-H2-00003」、「TID-#CTRL#」組とを含むメッセージをホスト情報収集手段25bに返却することになる。
【0149】
ホスト情報収集手段25bは、例えば、ホストコンピュータ1a'から上記したリストを含むメッセージを受信すると、それに付加されている論理パス識別子を抽出する(S205)。その後、ホスト情報収集手段25bは、受信したメッセージ中に未処理の組が存在するか否かを判断する(S206)。そして、存在しない場合は、全てのグループ(全てのホストコンピュータ1a'、1b')からのメッセージを受信済みか否かを判断する(S216)。そして、全てのグループからメッセージを受信済みであると判断した場合は処理を終了し、そうでない場合は、ステップS204の処理に戻る。
【0150】
これに対して、ホストコンピュータ1a'から受信したメッセージ中に未処理の組が存在すると判断した場合は、未処理の組を1つ抽出する(S207)。今、例えば、抽出した組に端末定義名「TERM-A」、論理パス識別子「LID-H1-00001」、端末識別子「TID-00001」が含まれていたとする。その後、論理パス状態表23'を検索し、上記抽出した組に含まれている端末定義名「TERM-A」によって特定される端末が「業務端末」であるのか、「制御端末」であるのかを判断する(S208)。
【0151】
そして、「制御端末」であると判断した場合は、ステップS206の処理に戻る。これに対して、「業務端末」であると判断した場合は、端末状態表26'を参照し、端末定義名「TERM-A」に対応するエントリ中の、ステップS205で抽出した論理パス識別子と対応するグループ(ここで、上記論理パス識別子は、ホストコンピュータ1a'と中継サーバ2bとの間の論理パスを示すものであるので「H1」となる)に、論理パス識別子が設定されているか否かを判断する(S209)。尚、ステップS205で抽出した論理パス識別子と対応するグループは、論理パス状態表23'を、上記論理パス識別子をキーにして検索することにより求めることができる。例えば、ステップS205で抽出した論理パス識別子が、「LID-H1-00001」で、論理パス状態表23'の内容が例えば、図5に示すものである場合は、グループ「H1」が検索され、また、ステップS205で抽出した論理パス識別子が「LID-H2-00001」であれば、グループ「H2」が検索される。
【0152】
ステップS209の判断結果がYESとなった場合、即ち、端末状態表26'の端末定義名「TERM-A」と対応するエントリ中に、グループ「H1」と対応付けて論理パス識別子が格納されている場合は、ステップS213の処理を行う。これに対して、ステップS209の判断結果がNOとなった場合、即ち、端末状態表26'の端末定義名「TERM-A」と対応するエントリ中に、グループ「H1」と対応する領域が空欄であった場合は、別の中継サーバ(中継サーバ2b以外の中継サーバ)によって、業務端末3a'とホストコンピュータ1a'との間の論理パスの接続処理が行われたと認識し、ステップS210の処理を行う。。
【0153】
ステップS210では、処理対象にしている組中の論理パス識別子「LID-H1-00001」に対応する論理パス制御手段213a'を生成し、ステップS211では、論理パス状態表23'をグループ「H1」と端末定義名「TERM-A」をキーにして検索し、該当するエントリ中のグループ「H1」に対応する領域に、上記組中の論理パス識別子「LID-H1-00001」を格納し、ステップS212では、端末状態表26'のグループ「H1」と端末定義名「TERM-A」によって特定される領域に論理パス識別子「LID-H1-00001」を格納する。これにより、該当する論理パスに関するメッセージ送受信を行う手段が確立されたこととなる。
【0154】
その後、端末状態表26'の端末定義名「TERM-A」に対応するエントリに、端末識別子が格納されているか否かを調べる(S213)。そして、格納されている場合(S213がYES)は、ステップS206に戻る。これに対して、格納されていない場合(S213がNO)は、ステップS214の処理を行う。
【0155】
ステップS214では、処理対象にしている組中の端末識別子「TID-00001」に対応する業務端末制御手段241a'を生成し、次のステップS215では、端末状態表26'の端末定義名「TERM-A」に対応するエントリに端末識別子「TID-00001」を格納し、その後、ステップS206の処理を行う。これにより、該当する業務端末3a'に関するメッセージ送受信を行う手段が、中継サーバ2b内に確立されたこととなる。尚、応答タイムアウトとなった場合(S204がYES)は、ホスト情報収集手段25bはその処理を終了する。
【0156】
ホストコンピュータ1b'からメッセージが送られてきた場合も、前述した処理と同様の処理が行われる。
【0157】
以上の処理を全ての中継サーバ2a、2bで行うことにより、或る中継サーバで接続処理を行った端末情報を、全ての中継サーバ2a、2bへと反映することができる。これにより、業務端末3a'から受信するメッセージに付与される「端末識別子」と転送先の「論理パス識別子」は全ての中継サーバ2a、2b上の端末状態表26、26'に存在し、いずれの中継サーバ2a、2bを経由しても、ホストコンピュータ1a'、1b'上の該当する論理パスへの転送が可能となり、業務プログラムは業務端末を識別した処理を行うことができる。
【0158】
図18上の論理パスの対応関係を図中の符号を利用して、図21に示す。例えば、中継サーバ2a上の「213a」と中継サーバ2b上の「213a’」は、共にホストコンピュータ1a'上の「113a」と対応している。
【0159】
中継サーバ2aの障害時には、業務端末3a'は、次に優先度の高い中継サーバ2bを介してホストコンピュータ1a、1bへのメッセージを送信するので、中継サーバに障害が発生した場合においても、端末からの業務を中断することなく処理継続することが可能となる。
【0160】
また、中継サーバを動的に追加し、ホストコンピュータ1a、1bとの間に物理パスを設定した場合も、ホスト情報収集手段25a、25bにより、端末状態表26、26'が更新されるため、即座に端末からのメッセージを処理可能な状態とすることができる。
【0161】
尚、上述した実施例では説明しなかったが、業務端末3a'と中継サーバ2a、2bとの間に、正常に動作している中継サーバの内の、最も負荷の小さい中継サーバに、業務端末3a'からの論理パスの接続要求や、メッセージを送信する負荷分散スイッチを設けるようにしても良い。この場合には、業務端末3a'には、中継サーバの優先度を考慮してメッセージや論理パスの接続要求を出力する機能は必要なく、負荷分散スイッチに対してメッセージや論理パスの接続要求を送信する機能を備えていれば良い。また、上述した実施例においては、中継サーバ2a、2bとして第1の実施例における中継サーバ2に多少の変更(ホスト情報収集手段25に、図14のフローチャートに示す処理だけでなく、図20のフローチャートに示す処理も行わせる)を加えた中継サーバを使用するようにしたが、中継サーバ2a、2bとして第2の実施例における中継サーバに多少の変更(ホスト情報収集手段に図16のフローチャートに示す処理に加え、図20のフローチャートに示す処理も行わせる)を加えた中継サーバを使用するようにしても良い。
【0162】
【発明の効果】
以上説明したように、本発明は、中継サーバと各ホストコンピュータとの間に設定されている論理パスの内の、障害が発生していないホストコンピュータに対応する論理パスと、上記ホストコンピュータとの間に複数設定されている物理パスの内の1つを使用してメッセージを送信するようにしているので、ホストコンピュータに障害が発生した場合であっても、物理パスに障害が発生した場合であっても、通信を継続することができる。
【0163】
また、本発明は、各中継サーバが、各ホストコンピュータからそのホストコンピュータと論理パスを介して接続されている端末に関する端末情報を収集し、収集した端末情報によって示される端末の中に、自中継サーバを介した論理パスによってホストコンピュータと接続されていな端末が存在する場合は、その端末と各ホストコンピュータとを自中継サーバを介した論理パスにより接続するようにしているので、中継サーバの障害にも容易に対処することができる。
【図面の簡単な説明】
【図1】本発明の第1の実施例のブロック図である。
【図2】物理パス状態表12、12'の内容例を示す図である。
【図3】論理パス状態表13、13'の内容例を示す図である。
【図4】物理パス状態表22の内容例を示す図である。
【図5】論理パス状態表23の内容例を示す図である。
【図6】端末状態表26の内容例を示す図である。
【図7】端末管理手段24の処理例を示すフローチャートである。
【図8】パス管理手段21の処理例を示すフローチャートである。
【図9】パス管理手段11の処理例を示すフローチャートである。
【図10】論理パス状態表13、13'の内容例を示す図である。
【図11】論理パス状態表23の内容例を示す図である。
【図12】端末状態表26の内容例を示す図である。
【図13】論理パス選択手段27の処理例を示すフローチャートである。
【図14】ホスト情報収集手段25の処理例を示すフローチャートである。
【図15】本発明の第2の実施例で使用する端末状態表26aの内容例を示す図である。
【図16】本発明の第2の実施例でのホスト情報収集手段25の処理例を示すフローチャートである。
【図17】本発明の第2の実施例での論理パス選択手段27の処理例を示すフローチャートである。
【図18】本発明の第3の実施例のブロック図である。
【図19】論理パス状態表13a、13bの内容例を示す図である。
【図20】ホスト情報収集手段25a、25bの処理例を示すフローチャートである。
【図21】中継サーバ側の論理パス制御手段とホストコンピュータ側の論理パス制御手段との対応関係を示す図である。
【符号の説明】
1a、1a'、1b、1b'…ホストコンピュータ
11、11'…パス管理手段
111a〜111d、111a'〜111d'…物理パス制御手段
112、112'…パス選択手段
113a〜113c、113a'〜113c'…論理パス制御手段
12、12'…物理パス状態表
13、13'、13a、13b…論理パス状態表
14、14'…業務プログラム実行手段
141a、141a'、141b、141b'…業務プログラム
142、142'、142a、142b…制御用業務プログラム
15、15'…操作卓
K1a、K1a'、K1b、K1b'…記録媒体
2、2a、2b…中継サーバ
21、21'…パス管理手段
211a〜211f、211a'〜211d'…物理パス制御手段
212、212'…パス選択手段
213a〜213f、213a'〜213d'…論理パス制御手段
22、22'…物理パス状態表
23、23'…論理パス状態表
24、24'…端末管理手段
241a、241b、241a'…業務端末制御手段
242、242'…制御端末制御手段
25、25a、25b…ホスト情報収集手段
26、26'…端末状態表
27、27'…論理パス選択手段
28、28'…操作卓
3a、3a'、3b…業務端末
4…データベース
K2、K2a、K2b…記録媒体
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to an online system in which a host computer and a terminal communicate with each other via a relay server, and more particularly to a technique that enables efficient use of a communication path and improvement of reliability.
[0002]
[Prior art]
In an online system consisting of business terminals and host computers connected via a network, the number of business terminals and the amount of communication are steadily increasing with the spread of the client-server model or the three-layer model. Often problematic.
[0003]
As a conventional technique that enables efficient use of a communication path, a technique is known in which a communication path is divided into two layers, a physical path layer and a logical path layer, and the physical path is shared by a plurality of logical paths. (For example, refer to Patent Document 1).
[0004]
The online system described in Patent Document 1 connects a host computer and a plurality of terminals via a relay server, and further shares a physical path connecting the host computer and the relay server by a plurality of logical paths. Thus, the communication path can be used effectively. That is, even when the host computer communicates with a plurality of terminals, only one physical path is required between the host computer and the relay server, so that the communication path can be used effectively. In the online system described in Patent Document 1, in order to improve reliability, when a plurality of physical paths are set between the relay server and the host computer and a message is transmitted and received, Messages are transmitted and received using a normal physical path among a plurality of physical paths.
[0005]
[Patent Document 1]
JP 2002-300177 A
[0006]
[Problems to be solved by the invention]
[0007]
However, the conventional technique described in Patent Document 1 has a configuration that can withstand a failure of a physical path, but has a configuration that cannot withstand a failure of a host computer that processes a business program. For example, when the entire computer system stops due to a physical failure or the business program execution means stops due to a logical failure, the business terminal becomes a communication failure and may continue to process the business requested by the terminal. It becomes impossible.
[0008]
Accordingly, an object of the present invention is to provide a case where a failure occurs in a physical path even when a failure occurs in a host computer in an online system in which a terminal and a host computer communicate via a relay server. Even so, it is to enable continuation of communication.
[0009]
[Means for Solving the Problems]
The logical path control method according to the present invention achieves the above object,
A logical path control method in an online system in which a terminal and a plurality of host computers are connected via a relay server,
Each between the relay server and each host computer, The path depends on the communication protocol A physical path connection step for connecting by a plurality of physical paths;
In response to a connection request from the terminal, each between the relay server and each host computer A path obtained by logically dividing a physical path A connection step of setting a logical path and connecting the terminal and each host computer via a logical path for each set host computer;
When the relay server receives a message from the terminal, the relay server selects a logical path corresponding to a host computer in which no failure has occurred from among the logical paths for each host computer set in the connection step. One physical path is selected from a plurality of physical paths connecting the host computer corresponding to the selected logical path and the own relay server, and the message is transmitted using the selected physical path and the selected logical path. Sending to the host computer.
[0010]
More specifically, the logical path control method according to the present invention is:
The relay server includes a collection step of collecting whether the status of each host computer is in operation, standby, or failure; and
When selecting a logical path in the message transmission step, a logical path corresponding to a host computer whose status collected in the collecting step is in operation is selected.
[0011]
In addition to the method described above, the logical path selection method is
The relay server includes a collection step of collecting a busy rate of each host computer; and
When selecting a logical path in the message sending step, a method of selecting a logical path corresponding to a host computer having the smallest busy rate collected in the collecting step may be employed.
[0012]
In addition, the logical path control method according to the present invention can cope with a failure of the relay server.
A logical path control method in an online system comprising a terminal, a plurality of host computers, and a plurality of relay servers each connecting the terminal and the plurality of host computers,
Between each of the relay servers and each of the host computers, Communication path according to the communication protocol A physical path connection step for connecting by a plurality of physical paths;
Of each of the relay servers, the relay server that has received the connection request from the terminal is between the own relay server and each of the host computers. A path obtained by logically dividing a physical path A connection step of setting a logical path and connecting the terminal and each host computer via a logical path for each set host computer;
A logical path corresponding to a host computer in which a failure has not occurred among the logical paths for each of the host computers set in the connection step by the relay server that has received the message from the terminal among the relay servers. And selecting one physical path from a plurality of physical paths connecting the host computer corresponding to the selected logical path and the own relay server, and selecting the selected physical path and the selected logical path. Using a message sending step to send the message to a host computer;
Each relay server collects terminal information about each terminal connected to the host computer via a logical path from each host computer;
When there is a terminal that is not connected to the host computer by a logical path through the relay server, among the terminals indicated by the terminal information collected in the collection step of the relay server, each relay server, And a failure countermeasure logical path connection step of connecting the terminal and each of the host computers via a logical path via a self-relay server.
[0013]
[Action]
In the present invention, among the logical paths set between the relay server and each host computer, a plurality of logical paths corresponding to the host computer in which no failure has occurred and the host computer are set. Since messages are sent using one of the physical paths, communication is possible regardless of whether a failure occurs in the host computer or a physical path. Can continue.
[0014]
Further, in the present invention, each relay server collects terminal information about each terminal connected to the host computer via a logical path from each host computer, and the relay server itself includes the terminal indicated by the collected terminal information. If there is a terminal that is not connected to the host computer depending on the logical path via the relay server, the terminal and each host computer are connected via a logical path via the local relay server. It is possible to easily cope with the failure.
[0015]
DETAILED DESCRIPTION OF THE INVENTION
Next, embodiments of the present invention will be described in detail with reference to the drawings.
[0016]
[Configuration of Example]
First, a first embodiment of the present invention will be described. In this embodiment, the present invention is applied to a system including an active host computer and a standby host computer, such as a hot standby system. Referring to FIG. 1, the first embodiment of the present invention is shared by a plurality of host computers (hosts) 1a and 1b, a relay server 2, a plurality of business terminals 3a and 3b, and each host computer 1a and 1b. The database (DB) 4 is configured.
[0017]
The host computers 1a and 1b and the terminals 3a and 3b establish a logical communication path via the relay server 2 and communicate with each other.
[0018]
The host computers 1a and 1b have path management means 11 and 11 ', physical path status tables 12 and 12', logical path status tables 13 and 13 ', business program execution means 14 and 14', and a console 15 respectively. 15 ′ and recording media K1a and K1b.
[0019]
The physical path status table 12 manages the status of each physical path connecting the host computer 1a and the relay server 2. The physical path status table 12 ′ manages the status of each physical path connecting the host computer 1 b and the relay server 2. 2A and 2B show examples of contents of the physical path status tables 12 and 12 ′.
[0020]
As shown in FIGS. 2A and 2B, the physical path status tables 12 and 12 ′ include items “physical path definition name”, “group”, “physical path status”, “local physical address”, “ The other party's physical address. Of these, “physical path definition name”, “group”, “local physical address”, and “other physical address” are definition information registered in advance to define (specify) the physical path, and the rest The “physical path status” is status information that changes according to the status of the physical path. “Physical path definition name” indicates the definition name assigned to the physical path, “Group” indicates the group to which the physical path belongs, and “Physical path status” indicates that the physical path is currently in the “connected” status. "Self-side physical address" and "Destination-side physical address" represent the address of the host computer connected by the physical path and the address of the relay server.
[0021]
Also, the physical path state tables 12 and 12 ′ shown in FIGS. 2A and 2B have four entries of entry numbers “1” to “4”, respectively. It manages the status of physical paths defined (specified) by “physical path definition name”, “group”, “local physical address”, and “partner physical address”. For example, in the example of FIG. 2A, the entry with the entry number “1” includes the physical path definition name “P1-SERVER”, the group name “SERVER”, the local physical address “10.1.1.1 (10000)”, This indicates that the physical path defined by the counterpart physical address “10.1.1.3 (30011)” is currently in the “connected” state. In the example of FIG. 2B, the entry with the entry number “4” includes the physical path definition name “P4-SERVER”, the group name “SERVER”, the local physical address “10.1.1.2 (10000)”, This indicates that the physical path defined by the counterpart physical address “10.1.1.3 (30024)” is currently in an “unconnected” state.
[0022]
The logical path status table 13 manages the status of the logical path connecting the host computer 1a and the terminal. Further, the logical path state table 13 ′ manages the state of the logical path that connects the host computer 1b and the terminal. 3A and 3B show examples of contents of the logical path status tables 13 and 13 ′.
[0023]
As shown in FIGS. 3A and 3B, the logical path status tables 13 and 13 ′ include items “logical path definition name”, “terminal definition name”, “group”, “logical path status”, “logical Path identifier ". Of these, "logical path definition name", "terminal definition name", and "group" are definition information registered in advance to define a logical path, and the remaining "logical path status" and "logical path identifier" Is state information that changes according to the state of the logical path. “Logical path definition name” indicates the definition name assigned to the logical path, “Terminal definition name” indicates the terminal definition name assigned to the terminal using the logical path, and “Group” indicates the logical path. Indicates the group name of the group to which the physical path that can be used for communication belongs, and “Logical path status” indicates whether the logical path is currently in “connected” or “not connected” status “Logical path identifier” indicates an identifier assigned to the logical path.
[0024]
Also, the logical path status tables 13 and 13 ′ shown in FIGS. 3A and 3B have three entries of entry numbers “1” to “3”, respectively. It manages the status of logical paths defined by “name”, “terminal definition name”, and “group”. For example, in the example of FIG. 3A, the entry with the entry number “1” has a logical path defined by the logical path definition name “L1”, the terminal definition name “TERM-A”, and the group name “SERVER”. This indicates that the current state is “connected” and “LID-H1-00001” is assigned as the logical path identifier. In the example of FIG. 3B, the entry of entry No. “2” has a logical path defined by the logical path definition name “L2”, the terminal definition name “TERM-B”, and the group “SERVER”. This indicates that the current state is “unconnected”. Note that no logical path identifier is set for an entry whose logical path status is “not connected”.
[0025]
The path management unit 11 includes physical path control units 111a to 111c, a path selection unit 112, and logical path control units 113a to 113c. The path management means 11 ′ has a similar configuration.
[0026]
The physical path control units 111 a to 111 c control the physical path to the relay server 2. The physical path control means 111a to 111c are dynamically generated / disappeared as the physical path is connected / disconnected. The physical path control means 111a to 111c change the physical path state in the corresponding entry of the physical path state table 12 to “connected” at the time of generation, and change to “not connected” at the time of disappearance.
[0027]
The logical path control means 113a to 113c control the logical path to the relay server 2. The logical path control means 113a to 113c are dynamically generated / disappeared as the logical path is connected / disconnected. At the time of generation, the logical path control means 113a to 113c generate a logical path identifier for identifying the logical path, store the logical path identifier in the corresponding entry of the logical path state table 13, and corresponding logical path control on the relay server 2. The logical path identifier is distributed to the means 213a to 213c.
[0028]
The path selection unit 112, in response to a request from the logical path control units 113a to 113c, selects the physical paths in the “group” to which the logical paths managed and controlled by the logical path control units 113a to 113c belong. , Has a function of selecting one physical path in the “connected” state. More specifically, when a request specifying “group” is passed from the logical path control means 113a to 113c, the physical path state table 12 is searched using the “group” as a key, and belongs to the “group”. And a function of selecting one physical path whose physical path state is “connected”.
[0029]
The business program execution unit 14 stores a plurality of business programs 141a and 141b and a control business program 142, and has a function of selecting and executing a business program according to a message transmitted from a business terminal. The business programs 141a and 141b can refer to and update the database 4 connected to the plurality of host computers 1a and 1b. The control business program 142 is a business program customized for control, and is executed only by an execution request from the control terminal control means 242 and has a function of returning control data.
[0030]
The console 15 has a function of inputting various commands to the host computer 1a according to the operation of the operator.
[0031]
The recording medium K1a is a disk, semiconductor memory, or other recording medium, and stores a program for causing the host computer 1a to function as part of the online system. This program is read by the host computer 1a and its operation is controlled to realize the path management means 11, the physical path status table 12, the logical path status table 13, and the business program execution means 14 on the host computer 1a.
[0032]
The relay server 2 includes a path management unit 21, a physical path status table 22, a logical path status table 23, a terminal management unit 24, a host information collection unit 25, a terminal status table 26, and a logical path selection unit 27. A console 28 and a recording medium K2 are provided.
[0033]
The physical path status table 22 manages the status of each physical path connecting the relay server 2 and the host computers 1a and 1b. The structure is equivalent to the physical path status tables 12 and 12 ′ on the host computers 1a and 1b. FIG. 4 shows an example of the contents of the physical path status table 22. In the example of FIG. 4, the physical path belonging to the group “H1” is a physical path connecting the relay server 2 and the host computer 1a, and the physical path belonging to the group “H2” is the relay server 2 and the host computer 1b. Is a physical path connecting the two.
[0034]
The logical path status table 23 manages the status of the logical path connecting the terminal and the host computers 1a and 1b. The structure is equivalent to the logical path status tables 13 and 13 ′ on the host computers 1a and 1b. FIG. 5 shows an example of the contents of the logical path status table 23. In the example of FIG. 5, the logical path belonging to the group “H1” is a logical path connecting the terminal and the host computer 1a, and the logical path belonging to the group “H2” is connecting the terminal and the host computer 1b. It is a logical path.
[0035]
The terminal status table 26 manages definition information and status information of business terminals and control terminals. FIG. 6 shows an example of the contents of the terminal status table 26. Referring to FIG. 6, “terminal definition name”, “terminal type”, and “group” are definition information, and “terminal status”, “terminal identifier”, “logical path identifier”, and “group status” are status information. is there.
[0036]
“Terminal type” indicates whether the type of the terminal is “business terminal” or “control terminal”. “Group” indicates a group to which a logical path that can be used by the terminal belongs. “Terminal state” indicates whether the terminal is currently in a “connected” state or an “unconnected” state. For a terminal in the “connected” state, a “terminal identifier” is stored. The “logical path identifier” prepared for each “group” indicates a logical path identifier assigned to a logical path in a connected state. “Group status” indicates the status of host computers connected by logical paths belonging to the group. In this embodiment, whether the host computer is active / standby / unknown is indicated by “active”, “standby”, and “unknown (failed)”.
[0037]
In the example of FIG. 6, the entry No. “1” indicates that the business terminal having the terminal definition name “TERM-A” is a host using two logical paths belonging to the groups “H1” and “H2”. It shows that communication with the computers 1a and 1b can be performed. In this entry, the logical path identifier of the logical path belonging to the group “H1” is “LID-H1-00001”, and the logical path identifier of the logical path belonging to the group “H2” is “LID-H2-00001”. It is shown that. The logical path identifier is generated and distributed by the host computers 1a and 1b when the logical path is connected. The logical path status tables 13 and 13 'on the host computers 1a and 1b and the logical path status on the relay server 2 are used. It matches the logical path identifier stored in Table 23.
[0038]
The path management unit 21 includes physical path control units 211a to 211f, a path selection unit 212, and logical path control units 213a to 213f.
[0039]
The physical path control units 211a to 211c control the physical path to the host computer 1a, and the physical path control units 211d to 211f control the physical path to the host computer 1b. These are dynamically generated / disappeared as the physical path is connected / disconnected. At the time of generation, the physical path control units 211a to 211f change the corresponding “physical path state” on the physical path state table 22 to the “connected” state.
[0040]
The logical path control means 213a to 213c controls the logical path to the host computer 1a, and the logical path control means 213d to 213f controls the logical path to the host computer 1b. These are dynamically generated / disappeared as the logical path is connected / disconnected. The logical path control means 213a to 213f store the logical path identifiers distributed from the logical path control means 113a to 113c and 113a ′ to 113c ′ on the host computers 1a and 1b in the logical path state table 23.
[0041]
The path selection unit 212 selects the physical paths in the “group” to which the logical paths managed and controlled by the logical path control units 213a to 213f belong according to the request from the logical path control units 213a to 213f. , Has a function of selecting one physical path in the “connected” state. More specifically, when a request specifying “group” is passed from the logical path control means 213a to 213f, the physical path state table 22 is searched using the “group” as a key, and belongs to the “group”. And a function of selecting one physical path whose physical path state is “connected”.
[0042]
The terminal management unit 24 includes business terminal control units 241a and 241b and a control end control unit 242.
[0043]
The business terminal control means 241a and 241b manage and control the connection status of the business terminals 3a and 3b. These are dynamically generated / disappeared with connection / disconnection of the business terminals 3a, 3b.
[0044]
The business terminal control means 241a and 241b generate a terminal identifier for identifying the business terminal at the time of generation, store the terminal identifier in the terminal status table 26, and distribute the terminal identifier to the business terminals 3a and 3b.
[0045]
The control terminal control means 242 manages and controls the control terminal connection state. The control terminal is a terminal that is logical and does not exist, and is used by the host information collecting means 25. The control terminal control means 242 dynamically generates / disappears as the control terminal is connected / disconnected.
[0046]
At the time of generation, the control terminal control means 242 generates a terminal identifier for identifying the control terminal, stores it in the terminal status table 26, and distributes the terminal identifier to the host information collection means 25.
[0047]
The logical path selection unit 27 has a function of selecting a logical path. More specifically, the logical path selection unit 27 refers to the terminal state table 26 when the message with the terminal identifier added from the business terminal control unit 241a, 241b or the control terminal control unit 242, and sends the message. Select a logical path suitable for transfer.
[0048]
The host information collecting means 25 collects host information by periodically starting the control business programs 142 and 142 ′ through a logical control terminal. In this embodiment, “active”, “standby”, and “unknown” are collected as host information.
[0049]
The console 28 inputs various commands to the relay server 2 according to the operation of the operator.
[0050]
The recording medium K2 is a disk, semiconductor memory, or other recording medium, and stores a program for causing the relay server 2 to function as part of the online system. This program is read by the relay server 2 and its operation is controlled so that the path management unit 21, the physical path state table 22, the logical path state table 23, the terminal management unit 24, the host information collection are performed on the relay server 2. Means 25, terminal status table 26, and logical path selection means 27 are realized.
[0051]
[Description of operation of embodiment]
Next, the operation of this embodiment will be described in detail with reference to the drawings.
[0052]
The host computers 1a and 1b are connected to the business terminals 3a and 3b via the relay server 2. A physical communication path (physical path) is connected between the host computers 1a and 1b and the relay server 2 to perform communication.
[0053]
First, the operation when connecting physical paths will be described. The physical path connection processing is started by inputting a physical path connection command from the console 28 of the relay server 2 or inputting a physical path connection command from the consoles 15 and 15 ′ of the host computers 1a and 1b. Note that the physical path connection command includes the physical path definition name of the physical path in order to specify the physical path that requests connection.
[0054]
Now, for example, if a physical path connection command is input from the console 15 of the host computer 1a, the path management means 11 searches the physical path state table 12 using the physical path definition name included in the command as a key. Then, “own side physical address” and “partner side physical address” registered corresponding to the physical path definition name are acquired. Thereafter, the physical path is connected according to the address.
[0055]
When the physical path is connected, the path management unit 11 on the host computer 1a and the path management unit 21 on the relay server 2 use physical path control units (for example, 111a and 211a) for managing and controlling a new physical path. Generate.
[0056]
The physical path control means 111a and 211a confirm the physical address of the connected physical path, and set the “physical path status” of the corresponding entry (entry with matching physical address) in the physical path status tables 12 and 22 to the “connected” status. Change to Thereby, the connection of the physical path is completed. The same processing is performed when a physical path connection command is input from the other consoles 15 'and 28.
[0057]
Next, an operation when the business terminals 3a and 3b transmit a connection request to the relay server 2 will be described.
[0058]
Now, for example, if the business terminal 3b transmits a connection request to the relay server 2, this connection request is received by the terminal management means 24 in the relay server 2. A processing example of the terminal management means 24 is shown in the flowchart of FIG.
[0059]
When the terminal management unit 24 receives the connection request from the business terminal 3b, the terminal management unit 24 refers to the terminal status table 26 and selects an entry whose terminal status is “unconnected” from among the entries whose terminal type is “business terminal”. (S701, S702). For example, if the contents of the terminal status table 26 are as shown in FIG. 6, the entry of entry No. “2” is searched as the corresponding entry. If the corresponding entry cannot be found, the connection failure is notified to the requesting business terminal 3b (S702 is NO, S708), and the process is terminated.
[0060]
Now, for example, if the entry No. “2” is searched as a corresponding entry in step S702, the terminal management unit 24 refers to the entry and finds an unprocessed group for which no logical path is set. It is determined whether or not it exists (S703). In this example, two groups “H1” and “H2” are set in the entry No. “2”, and two logical paths belonging to the groups “H1” and “H2” are set. However, at present, no logical path is set (no logical path identifier is set). Accordingly, since the determination result in step S703 is YES, the terminal management unit 24 selects one of the unprocessed groups, the selected group (for example, the group “H1”), and the entry number “2”. The logical path connection request including the terminal definition name “TERM-B” stored in the entry “” is passed to the path management means 21 (S704).
[0061]
When the logical path connection request including the group “H1” and the terminal definition name “TERM-B” is passed from the terminal management means 24, the path management means 21 receives the group “H1” and the terminal definition name “TERM-B”. The logical path status table 23 is searched using and as a key to find an entry whose logical path status is “not connected” (S81 in FIG. 8). For example, if the contents of the logical path state table 23 are as shown in FIG. 5, the entry with the entry number “2” is searched for. Thereafter, the path management unit 21 generates a new logical path control unit (for example, the logical path control unit 213b) that manages and controls the logical path to be connected this time (S82).
[0062]
When generated, the logical path control unit 213b changes the logical path state in the corresponding entry of the logical path state table 23 to “connected” and requests the path selection unit 212 to select a physical path to be used. To do. At this time, the logical path control means 213b designates the group “H1” (the group included in the logical path connection request) and requests the selection of the physical path. As a result, the path selection unit 212 searches the physical path state table 22 to find an entry in which the group “H1” is set and the physical path state is “connected”. The physical path defined by the found entry becomes the physical path used for logical path connection (S83). For example, if the contents of the physical path state table 22 are as shown in FIG. 4, one of the entries No. “1” to “3” (entry No. “1”) is entered. Is selected). Here, specifying a “group” for logical path connection by defining each host computer 1a, 1b belonging to another group is equivalent to specifying the host computer implicitly.
[0063]
Thereafter, the logical path control unit 213b passes a logical path connection request including the group “H1” and the terminal definition name “TERM-B” to the path selection unit 212. As a result, the path selection unit 212 transmits the logical path connection request to the host computer 1a through the physical path control unit 211b that manages the physical path selected in step S83 (S84).
[0064]
The logical path connection request sent to the host computer 1a via the physical path control unit 211b in the relay server 2 is received by the physical path control unit 111b corresponding to the physical path control unit 211b. When the physical path control unit 111b receives the logical path connection request, the path management unit 11 refers to the physical path state table 12 and acquires the group to which the physical path control unit 111b belongs (FIG. 9, S91). . The physical path control means 111a, 111b,... Correspond to the entry numbers “1”, “2”,. Therefore, if the contents of the physical path status table 12 are as shown in FIG. 2, the path management unit 11 acquires the group “SERVER”.
[0065]
Thereafter, the path management means 11 searches the logical path status table 13 using the group “SERVER” acquired in step S91 and the terminal definition name “TERM-B” included in the logical path connection request as a key. An entry whose path status is “not connected” is searched (S92). If the contents of the logical path state table 13 are as shown in FIG. 3, the entry with the entry number “2” is searched for.
[0066]
Next, the path management unit 11 generates a new logical path control unit (for example, the logical path control unit 113b) that manages and controls the logical path to be connected this time.
[0067]
The newly generated logical path control means 113b generates a logical path identifier (for example, LID-H1-00003) that can uniquely identify a new logical path and that is not repeatedly used. The logical path identifier is stored in the corresponding entry of the logical path status table 13 (the entry found in S92), and the logical path status is changed to “connected” (S93, S94). As a result, as shown in FIG. 10A, the logical path identifier “LID-H1-00003” is stored in the entry of the entry No. “2” in the logical path state table 13 and the logical path state “ Connection "is stored. Further, the logical path control means 113b distributes the logical path identifier to the corresponding logical path control means 213b through the physical path control means 111b and 211b (S95).
[0068]
The logical path control means 213b stores the logical path identifier distributed from the host computer 1a in the corresponding entry of the logical path status table 23 (FIG. 8, S85). As a result, the logical path identifier “LID-H1-00003” is stored in the entry of the entry number “2” in the logical path state table 23 as shown in FIG.
[0069]
Thereafter, the logical path control unit 213b returns the logical path identifier “LID-H1-00003” to the terminal management unit 24 (step S86). The logical path connection process is thus completed.
[0070]
When the logical path identifier “LID-H1-00003” of the newly connected logical path is returned from the logical path control means 213b, the terminal management means 24 stores it in the corresponding entry in the terminal status table 26 (FIG. 7, S705, S706). In this example, as shown in FIG. 12, the logical path identifier “LID-H1-00003” is stored as the logical path identifier of the logical path belonging to the group “H1” in the entry No. “2”. Will be.
[0071]
Thereafter, the terminal management unit 24 searches the entry No. “2” entry in the terminal state table 26 and determines whether there is an unprocessed group for which no logical path is set (S703). In this example, since no logical path is set for the group “H2”, a logical path connection request including the group “H2” and the terminal definition name “TERM-B” is passed to the path management means 21 (S704). .
[0072]
As a result, the path management means 21 performs the same processing as steps S81 to S84 (see FIG. 8) described above, and sends a logical path connection request including the group “H2” and the terminal definition name “TERM-B” to the group. It transmits to the host computer 1b corresponding to “H2”.
[0073]
When the path management means 11 ′ in the host computer 1b receives a logical path connection request including the group “H2” and the terminal definition name “TERM-B” from the relay server 2, the above steps S91 to S95 ( 9), the logical path identifier (for example, “LID-H2-00003”) of the logical path to be connected this time is stored in the logical path status table 13 ′ and returned to the relay server 2. To do. As a result, the contents of the logical path state table 13 ′ are as shown in FIG.
[0074]
When the logical path identifier “LID-H2-00003” is returned from the host computer 1b, the path management means 21 in the relay server 2 performs the same processing as steps S85 and S86 (see FIG. 8) described above, and performs logical processing. The path identifier “LID-H2-00003” is stored in the corresponding entry of the logical path status table 23, and the logical path identifier “LID-H2-00003” is returned to the terminal management means 24. As a result, the contents of the logical path status table 23 are as shown in FIG.
[0075]
When the logical path identifier “LID-H2-00003” is returned from the path management means 21, the terminal management means 24 stores it in the corresponding entry of the terminal status table 26 (FIGS. 7, S705, S706). In this example, as shown in FIG. 12, the logical path identifier “LID-H2-00003” is stored as the logical path identifier of the logical path belonging to the group “H2” in the entry No. “2”. Will be.
[0076]
Thereafter, the terminal management unit 24 searches the entry No. “2” entry in the terminal state table 26 and determines whether there is an unprocessed group for which no logical path is set (S703). In this example, there is no unprocessed group (NO in S703), so the terminal management unit 24 manages the business terminal control unit (for example, business terminal control unit) for managing and controlling the business terminal 3b that is the connection request source. 241b) is generated. The generated business terminal control unit 241b generates a terminal identifier (for example, TID-00003) that can uniquely identify the terminal and is not repeatedly used, and stores it in the corresponding entry of the terminal status table 26. At the same time, it is distributed to the business terminal 3b (S707). As a result, the terminal identifier “TID-00003” is stored in the entry No. “2” of the terminal state table 26 as shown in FIG.
[0077]
The business terminal 3 b stores the terminal identifier “TID-00003” distributed from the relay server 2. Thereafter, the terminal identifier “TID-00003” is assigned to the message transmission / reception between the business terminal 3b and the relay server 2 to perform communication in which the other party is identified.
[0078]
Next, an operation when a message is transmitted from the business terminals 3a and 3b to the host computer will be described by taking as an example a case where a message is transmitted from the business terminal 3b. It is assumed that a terminal identifier “TID-00003” is assigned to the business terminal 3b.
[0079]
When transmitting the message to the host computer, the business terminal 3b first adds the terminal identifier “TID-00003” to the message and then transmits the message with the terminal identifier “TID-00003” to the relay server 2.
[0080]
A message from the business terminal 3b is passed to the logical path selection unit 27 through the corresponding business terminal control unit 241b. A processing example of the logical path selection means 27 is shown in the flowchart of FIG.
[0081]
When the message from the business terminal 3b is passed through the business terminal management unit 241b, the logical path selection unit 27 extracts the terminal identifier “TID-00003” added thereto, and extracts the extracted terminal identifier “TID-00003”. "Is used as a key to search the terminal status table 26 (FIG. 13, S131, S132).
[0082]
If the entry in which the terminal identifier “TID-00003” is stored cannot be found, a message reception failure is notified to the business terminal 3b via the business terminal control means 241b (NO in S133, S138). . On the other hand, if an entry in which the terminal identifier “TID-00003” is stored can be found, the terminal type stored in the entry is “business terminal” or “control terminal” Is checked (S134). Now, for example, if the contents of the terminal status table 26 are as shown in FIG. 12, the entry No. “2” is searched for in step S132, so that the terminal type is “business terminal” in step S134. It will be recognized that.
[0083]
If the logical path selection unit 27 recognizes that the terminal type is “business terminal” in step S134, the logical path identifier stored in the entry of entry No. “2” indicates that the corresponding group status is “active”. It is checked whether or not there is an item that is “medium” (S135). If there is no logical path identifier whose corresponding group status is “in operation”, the business terminal 3b is notified of the message reception failure (S135 is NO, S138), and then the processing is terminated. . On the other hand, if there is a logical path identifier whose corresponding group status is “in operation”, the process of step S137 is performed. In this example, since the group state corresponding to the logical path identifier “LID-H1-00003” is “in operation”, the logical path control unit 27 performs the process of step S137. In step S137, the logical path identifier “LID-H1-00003” is added to the message from the business terminal 3b, and the logical path specified by the logical path identifier “LID-H1-00003” is managed and controlled. To the logical path control means 213b.
[0084]
When the message with the logical path identifier “LID-H1-00003” added is passed, the logical path control means 213b searches the logical path state table 23 using the logical path identifier “LID-H1-00003” as a key, The group to which the logical path specified by the logical path identifier “LID-H1-00003” belongs is recognized. Now, for example, if the contents of the logical path status table 23 are as shown in FIG. 11, the logical path control means 213b recognizes that the logical path belongs to the group “H1”.
[0085]
Thereafter, the logical path control unit 213b passes the group “H1” to the path connection unit 212 and requests selection of a physical path to be used. As a result, the path connection unit 212 searches the physical path state table 22 and selects one physical path in the connected state from among the physical paths belonging to the group “H1”. Now, for example, if the contents of the physical path status table 22 are as shown in FIG. 4, one of the physical paths defined by entries Nos. “1” to “3” is selected. become. Thereafter, the logical path control unit 213b sends the logical path identifier “LID-H1-00003” to the physical path control unit (for example, the physical path control unit 211b) corresponding to the physical path in the connection state selected by the path connection unit 212. Pass the appended message. As a result, the physical path control unit 211b transmits the message to the physical path control unit 111b in the corresponding host computer 1a. As described above, since a message is transmitted using one of a plurality of physical paths in a “connected” state that exist between the relay server 2 and the host computer 1a, Even in the event of a failure, it becomes possible to transmit a message using another physical path.
[0086]
When the physical path control unit 111b receives the message to which the logical path identifier “LID-H1-00003” is added, the path management unit 11 searches the logical path state table 13 and searches for the logical path identifier “LID-H1-00003”. "Is stored, and a message is passed to the logical path control means (for example, logical path control means 113b) corresponding to the entry.
[0087]
When the logical path control unit 113b receives the message to which the logical path identifier “LID-H1-00003” is added, the logical path control unit 113b passes the message to the business program execution unit 14. The business program execution unit 14 activates a business program (for example, business program 141b) according to the message content and passes the message. The business program 141b uses the database 4 accessible from both the host computers 1a and 1b to process the business requested by the message, and returns the processing result to the logical path control unit 113b. When the processing result is returned to the logical path control unit 113b, the business program execution unit 14 also returns the logical path identifier “LID-H1-00003” added to the message.
[0088]
When the processing result and the logical path identifier “LID-H1-00003” are returned, the logical path control unit 113b searches the logical path state table 13 using the logical path identifier “LID-H1-00003” as a key, The group to which the logical path specified by the path identifier “LID-H1-00003” belongs is recognized. Now, for example, if the contents of the logical path state table 13 are as shown in FIG. 10A, the logical path control means 113b recognizes that the logical path belongs to the group “SERVER”.
[0089]
Thereafter, the logical path control unit 113b passes the group “SERVER” to the path connection unit 112 and requests selection of a physical path to be used. As a result, the path connection unit 112 searches the physical path state table 12 and selects one physical path in the connected state from the physical paths belonging to the group “SERVER”. Now, for example, if the contents of the physical path state table 12 are as shown in FIG. 2, one of the physical paths defined by entries Nos. “1” to “3” is selected. become. Thereafter, the logical path control unit 113b sends the logical path identifier “LID-H1-00003” to the physical path control unit (for example, the physical path control unit 111b) corresponding to the physical path in the connection state selected by the path connection unit 112. The processing result with the added is passed. As a result, the physical path control unit 111b transmits the processing result to the corresponding physical path control unit 211b.
[0090]
When the physical path control unit 211b receives the processing result to which the logical path identifier “LID-H1-00003” is added, the path management unit 21 searches the logical path state table 23 and searches for the logical path identifier “LID-H1- The entry storing “00003” is searched, and the processing result is passed to the logical path control means (for example, logical path control means 213b) corresponding to the entry.
[0091]
When the processing result with the logical path identifier “LID-H1-00003” added is passed, the logical path control means 213b searches the logical path state table 23 and corresponds to the logical path identifier “LID-H1-00003”. Acquires the terminal definition name that has been registered. Now, for example, if the contents of the logical path status table 23 are as shown in FIG. 11, the terminal definition name “TERM-B” is acquired. Thereafter, the logical path control unit 213b adds the terminal definition name “TERM-B” to the processing result and passes it to the terminal control unit 24. As a result, the terminal control unit 24 uses the business terminal control unit 241 corresponding to the terminal definition name “TERM-B” to return the processing result to the business terminal 3b that is the message transmission source.
[0092]
As described above, the message transferred to the host computer 1a is transferred to the business program execution means 14. On the host computer 1a, a plurality of messages received through a certain logical path are messages from the same terminal. It is guaranteed that there is. Further, by setting the logical path definition name as the common name in the host computers 1a and 1b, it is guaranteed that the message received through the logical path having the common logical path definition name is a message from the same terminal. For example, a message received through a logical path having the logical path definition name “L1” is guaranteed to be a message from a business terminal having “TERM-A” as the terminal definition name, and the host computer 1a or the host computer 1b It can be determined that the messages are received from the same terminal. That is, it is possible to perform business processing in which the business terminals 3a and 3b are identified across a plurality of host computers.
[0093]
Next, a method for setting the “group status” in the terminal status table 26 will be described. The setting of the “group state” is performed by the host information collecting unit 25, and an example of the processing is shown in the flowchart of FIG.
[0094]
The host information collecting unit 25 periodically performs the process shown in the flowchart of FIG. First, the host information collection unit 25 refers to the terminal state table 26 and determines whether or not the logical path between the host computers 1a and 1b has been connected (S1401). That is, it is determined whether or not the logical path is already connected based on whether or not the logical path identifier is set.
[0095]
If the logical path is not already connected, a connection request is output to the terminal management means 24 (S1401 is NO, S1402). As a result, the terminal management unit 24 performs the same operation as when a connection request is received from the business terminals 3a and 3b, and logical paths are set between the host computer 1a and the host computer 1b. At the same time, the control terminal control means 242 is generated and a terminal identifier (eg, “TID- # CTRL #”) is distributed (FIG. 7, S701, S709 to S715). Thereafter, the terminal management unit 24 performs the process of step S1403.
[0096]
On the other hand, if the logical path is already connected, the process of step S1403 is immediately performed. In step S1403, a message requesting activation of the control business program is passed to the control terminal control means 242. At that time, the distributed terminal identifier “TID- # CTRL #” is added to the message.
[0097]
The control terminal control unit 242 passes the message from the host information collection unit 25 to the logical path selection unit 27.
[0098]
When the message from the host information collection unit 25 is passed through the control terminal control unit 242, the logical path selection unit 27 extracts the terminal identifier “TID- # CTRL #” added thereto, and this extracted terminal The terminal status table 26 is searched using the identifier “TID- # CTRL #” as a key (FIG. 13, S131, S132). Now, for example, if the contents of the terminal status table 26 are as shown in FIG. 12, the terminal identifier “TID- # CTRL #” is stored in the entry of the entry No. “3”, and the terminal of the entry Since the type is “control terminal” (S133, S134), the logical path selection unit 27 sets the logical path identifiers “LID-H1-00002” and “LID-H2-00002” stored in the entry. A message is passed to the logical path control means (logical path control means 213c and 213f) corresponding to (S136). At this time, the logical path identifier “LID-H1-00002” is added to the message passed to the logical path control unit 213c, and the logical path identifier “LID-H2-00002” is added to the message passed to the logical path control unit 213f. Append.
[0099]
As a result, the same processing as when the messages from the business terminals 3a and 3b are transmitted to the host computers 1a and 1b is performed, and the message from the host information collecting means 25 is the business program execution means 14 of the host computers 1a and 1b. , 14 '. As a result, the business program execution means 14 and 14 'activate the control business programs 142 and 142'.
[0100]
The control business programs 142 and 142 ′ use a logical path control to display a message indicating “active” if the host computers 1a and 1b of the own system are active, and a message indicating “standby” if the host computers 1a and 1b are active. The information is returned to the host information collecting means 25 via the means 113c and 113c ′. At that time, the control educational programs 142 and 142 ′ add logical path identifiers “LID-H1-00002” and “LID-H2-00002” to the message.
[0101]
When a message indicating “in operation” is returned, the host information collection unit 25 returns the group corresponding to the logical path identifier added to the message from among the group states stored in the terminal state table 26. The status is changed to “in operation” (S1405 to S1407).
[0102]
When a message indicating “waiting” is returned, the group status corresponding to the logical path identifier added to the message among the group statuses stored in the terminal status table 26 is set to “waiting”. (S1405, S1406, S1408).
[0103]
In addition, the group status corresponding to the logical path for which no message is returned for a certain period of time is updated to “unknown” (S1404 is YES, S1409).
[0104]
As described above, the host information collection unit 25 is used to periodically collect host information ("active" and "standby") from each of the host computers 1a and 1b, and a terminal status table according to the collected host information. Therefore, even if a failure occurs in a host computer that is in operation, operations can be continued using another host computer. For example, when a failure occurs in the host computer 1a when the host computers 1a and 1b are “operating” and “standby”, respectively, the host computer 1b becomes “operating”. This is reflected in the terminal status table 26 by the processing periodically performed by the host information collecting means 25, and thereafter, the message is transferred through the logical path connected to the host computer 1b. Even when a failure occurs in the “running” host computer 1a, it is possible to continue the business process using another host computer 1b.
[0105]
Other Embodiments of the Invention
Next, a second embodiment of the present invention will be described. In this embodiment, the present invention is applied to a system that distributes business processing to a plurality of host computers, such as a load balancing cluster system.
[0106]
This embodiment is realized by making the following changes (1) to (4) in the first embodiment.
[0107]
(1) Instead of the terminal status table 26, a terminal status table 26a having the configuration shown in FIG. 15 is used. The difference between the terminal state table 26a and the terminal state table 26 is that an item “group busy rate” is included instead of the item “group state”. The group busy rate is an index indicating the busyness (load) of the host computer.
[0108]
(2) The host information collecting unit 25 is caused to perform the processing shown in the flowchart of FIG.
[0109]
(3) The logical path selection unit 27 is caused to perform the processing shown in the flowchart of FIG.
[0110]
(4) When receiving a message from the host information collecting means 25, the control business programs 142 and 142 ′ return a message indicating the busy rate of the host computers 1a and 1b.
[0111]
Next, the operation of this embodiment will be described. Here, only differences from the first embodiment will be described.
[0112]
The host information collecting unit 25 periodically performs the processing shown in the flowchart of FIG. First, the host information collection unit 25 refers to the terminal state table 26a and determines whether or not the logical path between the host computers 1a and 1b is already connected (S161).
[0113]
If the logical path is not already connected, a connection request is output to the terminal management means 24 (S161 is NO, S162). As a result, processing similar to that described above is performed, logical paths are connected to the host computer 1a and to the host computer 1b, and the control terminal control means 242 is generated to generate a terminal identifier (for example, , "TID- # CTRL #") is distributed. Thereafter, the terminal management unit 24 performs the process of step S163.
[0114]
On the other hand, if the logical path is already connected, the process of step S163 is immediately performed. In step S163, a message requesting activation of the control business program is passed to the control terminal control means 242. At that time, the distributed terminal identifier “TID- # CTRL #” is added to the message.
[0115]
The control terminal control unit 242 passes the message from the host information collection unit 25 to the logical path selection unit 27.
[0116]
When the message from the host information collection unit 25 is passed through the control terminal control unit 242, the logical path selection unit 27 extracts the terminal identifier “TID- # CTRL #” added thereto, and this extracted terminal The terminal status table 26a is searched using the identifier “TID- # CTRL #” as a key (FIG. 17, S171, S172). Now, for example, assuming that the contents of the terminal status table 26a are as shown in FIG. 15, the terminal identifier “TID- # CTRL #” is stored in the entry No. “3”, and the terminal of the entry Since the type is “control terminal” (S 173, S 174), the logical path selection means 27 uses the logical path identifiers “LID-H1-00002” and “LID-H2-00002” stored in the entry. A message is passed to the logical path control means (logical path control means 213c and 213f) corresponding to (S177). At this time, the logical path identifier “LID-H1-00002” is added to the message passed to the logical path control unit 213c, and the logical path identifier “LID-H2-00002” is added to the message passed to the logical path control unit 213f. Append.
[0117]
As a result, the same processing as described above is performed, and the message from the host information collecting means 25 is passed to the business program executing means 14, 14 'of the host computers 1a, 1b. As a result, the business program execution means 14 and 14 'activate the control business programs 142 and 142'.
[0118]
The control business program 142, 142 ′ returns a message indicating the busy rate of the host computer 1a, 1b of the own system to the host information collecting unit 25 via the logical path control unit 113c, 113c ′. At this time, the control business programs 142 and 142 ′ add the logical path identifiers “LID-H1-00002” and “LID-H2-00002” to the message.
[0119]
When a message indicating the busy rate is returned, the host information collection unit 25 returns the group busy rate corresponding to the logical path identifier added to the message among the group busy rates stored in the terminal state table 26a. Is changed to the busy rate represented by the message (S165 to S167). When the above processing is performed for messages sent from all the host computers 1a and 1b (YES in step S169), the processing ends. However, if there is a host computer that does not return a message even after a predetermined time has elapsed, the group busy rate corresponding to that host computer is changed to “unknown” (YES at S164, S168).
[0120]
Next, an operation when a message is transmitted from the business terminals 3a and 3b to the host computer will be described as an example of a case where a message is transmitted from the business terminal 3a. It is assumed that a terminal identifier “TID-00001” is assigned to the business terminal 3a.
[0121]
When transmitting the message to the host computer, the business terminal 3a first adds the terminal identifier “TID-00001” to the message, and then transmits the message with the terminal identifier “TID-00001” to the relay server 2.
[0122]
The message from the business terminal 3a is passed to the logical path selection unit 27 through the corresponding business terminal control unit 241a.
[0123]
When the message from the business terminal 3a is passed through the business terminal control unit 241a, the logical path selection unit 27 extracts the terminal identifier “TID-00001” added thereto, and extracts the extracted terminal identifier “TID-00001”. "Is used as a key to search the terminal status table 26a (FIG. 17, S171, S172).
[0124]
If the entry in which the terminal identifier “TID-00001” is stored cannot be found, a message reception failure is notified to the business terminal 3a via the business terminal control means 241a (S173 is NO, S178). . On the other hand, if the entry storing the terminal identifier “TID-00001” can be found, the terminal type stored in the entry is “business terminal” or “control terminal” Is checked (S174). Now, for example, assuming that the contents of the terminal status table 26a are as shown in FIG. 15, the entry No. “1” is found in step S172, so in step S174, the terminal type is “business terminal”. It will be recognized that.
[0125]
In step S174, when it is recognized that the terminal type is “business terminal”, the logical path selection unit 27 determines that the corresponding group busy rate is the lowest among the logical identifiers stored in the entry No. “1”. Is selected (S175). In this example, the group busy rates corresponding to the logical path identifiers “LID-H1-00001” and “LID-H2-00001” are “10%” and “20%”, respectively. LID-H1-00001 "will be selected. Thereafter, the logical path selection unit 27 adds the logical path identifier “LID-H1-00001” to the message from the business terminal 3a, and manages the logical path specified by the logical path identifier “LID-H1-00001”. To the logical path control means 213a that is currently in operation (S176). Thereafter, the same operation as in the first embodiment is performed. As a result, the message from the business terminal 3a is sent to the host having the lowest busy rate in a plurality of related logical paths (logical paths with logical path identifiers “LID-H1-00001” and “LID-H2-00001”). It is transferred via a logical path connected to the computer. In other words, business processing according to the message can be performed on the host computer with the lowest busy rate. In addition, since the busy rate is periodically reviewed, the host computer that is the message transmission destination is switched when the busy rate is reversed. Thereby, the load can be leveled.
[0126]
[Other embodiments of the present invention]
Next, a third embodiment of the present invention will be described. The feature of this embodiment is that it can withstand a failure of the relay server.
[0127]
FIG. 18 is a block diagram of this embodiment. The differences between this embodiment and the first embodiment shown in FIG. 1 are as follows (a) to (c).
[0128]
(A) A business terminal 3a ′ is provided instead of the business terminal 3a.
[0129]
In addition to the functions provided by the terminal 3a, the terminal 3a ′, when transmitting a logical path connection request to the relay server, sets the logical path to the relay server with the highest priority among the normally operating relay servers. Has a function of transmitting a connection request. Furthermore, in addition to the functions of the terminal 3a, the terminal 3a ′ transmits the message to the relay server with the highest priority among the normally operating relay servers when transmitting the message to the host computer. It has a function. In this embodiment, it is assumed that the priority order is in the order of the relay server 2a and the relay server 2b. That is, it is assumed that the priority order of the relay server 2a is the highest.
[0130]
(B) A host computer 1a 'or 1b' is provided instead of the host computer 1a or 1b.
[0131]
The difference between the host computers 1a and 1b and the host computers 1a ′ and 1b ′ is that the logical path status tables 13a and 13b are provided instead of the logical path status tables 13 and 13 ′, and the control business programs 142 and 142 are provided. In this case, control business programs 142a and 142b are provided in place of ', and recording media K1a' and K1b 'are provided.
[0132]
FIGS. 19A and 19B are diagrams showing examples of contents of the logical path status tables 13a and 13b. The item “terminal identifier” is added to the items included in the logical path status tables 13 and 13 ′.
[0133]
In addition to the functions provided in the control business programs 142 and 142 ′, the control business programs 142a and 142b receive a list request message from the host information collection means 25a and 25b, and the logical path status table 13a. , 13b, and a function that returns a message including a list of combinations of “terminal definition name”, “logical path identifier”, and “terminal identifier” in the entry whose logical path connection state is “connected” at that time Have
[0134]
The recording media K1a ′ and K1b ′ are disks, semiconductor memories, and other recording media, in which programs for causing the host computers 1a ′ and 1b ′ to function as part of the online system are recorded. This program is read by the host computers 1a ′ and 1b ′, and by controlling the operation thereof, the path management means 11 and 11 ′ and the physical path status tables 12 and 12 ′ are stored on the host computers 1a ′ and 1b ′. And logical path status tables 13a and 13b and business program execution means 14 and 14 '.
[0135]
(C) The business terminal 3a ′ and the host computers 1a ′ and 1b ′ are connected via the plurality of relay servers 2a and 2b.
[0136]
The difference between the relay servers 2a and 2b and the relay server 2 is that the host information collecting means 25a and 25b are provided instead of the host information collecting means 25, and the recording media K2a and K2b are provided instead of the recording medium K2. It is a point.
[0137]
The host information collecting units 25a and 25b have a function of periodically executing the processing shown in the flowchart of FIG. 20 in addition to the functions provided in the host information collecting unit 25.
[0138]
The recording media K2a and K2b are disks, semiconductor memories, and other recording media, and a program for causing the relay servers 2a and 2b to function as part of the online system is recorded. This program is read by the relay servers 2a and 2b, and by controlling the operation thereof, the path management means 21 and 21 ', the physical path status tables 22 and 22', and the logical path status on the relay servers 2a and 2b. Tables 23 and 23 ', terminal management means 24 and 24', host information collection means 25a and 25b, terminal status tables 26 and 26 ', and logical path selection means 27 and 27' are realized.
[0139]
Next, the operation of this embodiment will be described. Here, only differences from the first embodiment will be described.
[0140]
Now, for example, it is assumed that the business terminal 3a ′ has transmitted a logical path connection request to the relay server 2a, 2b that is operating normally and having the highest priority (referred to as the relay server 2a). Then, in response to this logical path connection request, the same processing as described above is performed, and the logical path (logical logic) between the relay server 2a and the host computer 1a ′ is processed by the logical path control means 213a and the logical path control means 113a. A logical path having a path identifier “LID-H1-00001” is set, and a logical path (logical path) is established between the relay server 2a and the host computer 1b ′ by the logical path control unit 213c and the logical path control unit 113a ′. The logical path with the identifier “LID-H2-00001” is set. Furthermore, it is assumed that a terminal identifier (TID-00001) is assigned to the business terminal 3a ′ by the business terminal control unit 241a. In the present embodiment, the business terminal control means 241a transmits this terminal identifier “TID-00001” to the host computers 1a ′ and 1b ′ via the two logical paths described above. As shown in FIGS. 19A and 19B, the logical path control means 113a and 113a ′ in the host computers 1a ′ and 1b ′ use the terminal identifier “TID-00001” sent from the relay server 2a as shown in FIGS. Stored in the entries corresponding to the logical path identifiers “LID-H1-00001” and “LID-H2-00001” in the logical path status tables 13a and 13b.
[0141]
On the other hand, the host information collection means 25a and 25b in the relay servers 2a and 2b perform the processing shown in the flowchart of FIG. 20 at every predetermined time.
[0142]
Now, for example, it is assumed that the host information collecting unit 25b in the relay server 2b starts the processing shown in the flowchart of FIG.
[0143]
The host information collection unit 25b refers to the terminal state table 26 ′ and determines whether or not the logical path between the host computers 1a ′ and 1b ′ has been connected (S201).
[0144]
If the logical path is not already connected, a connection request is output to the terminal management unit 24 '(S201 is NO, S202). As a result, a logical path is connected to the host computer 1a ′ and to the host computer 1b ′, and a control terminal control unit 242 ′ is generated, and a terminal identifier (for example, “TID- # CTRL #”) is generated. Is distributed. Thereafter, the terminal management unit 24 ′ performs the process of step S203.
[0145]
On the other hand, if the logical path is already connected, the process of step S203 is immediately performed. In step S203, a message requesting transmission of the list is passed to the control terminal control means 242 ′. At that time, the distributed terminal identifier “TID- # CTRL #” is added to the message.
[0146]
The control terminal control unit 242 ′ passes the message from the host information collection unit 25b to the logical path selection unit 27 ′. When the message from the host information collection unit 25b is passed through the business terminal management unit 242 ′, the logical path selection unit 27 ′ extracts the terminal identifier “TID- # CTRL #” added thereto, and extracts this The terminal status table 26 ′ is searched using the terminal identifier “TID- # CTRL #” as a key (FIG. 13, S131, S132). As a result, since the terminal type is known as “control terminal”, a message requesting the list is transmitted to the host computers 1a ′ and 1b ′ (S134 and S136).
[0147]
The message from the host information collecting means 25 ′ is transferred to the business program execution means 14, 14 ′ of the host computers 1a ′, 1b ′. As a result, the business program execution means 14 and 14 'activate the control business programs 142a and 142b and pass a message requesting the list.
[0148]
The control business programs 142a and 142b refer to the logical path status tables 13a and 13b, respectively, and from all entries whose logical path connection status is “connected” at that time, the “terminal definition” stored therein A set of “name”, “logical path identifier”, and “terminal identifier” is extracted. Then, a message including the extracted set list is returned to the requesting host information collecting unit 25b. Note that the logical path identifier of the logical path used for the transmission is added to this message. Now, for example, assuming that the contents of the logical path status tables 13a and 13b are as shown in FIGS. 19A and 19B, the control business program 142a is “TERM-A”, “LID-H1-00001”. ”,“ TID-00001 ”,“ # CTRL # ”,“ LID-H1-00002 ”,“ TID- # CTRL # ”,“ # CTRL # ”,“ LID-H1-00003 ”, A message including the “TID- # CTRL #” pair is returned to the host information collecting unit 25b, and the control business program 142b sets “TERM-A”, “LID-H2-00001”, and “TID-00001”. , "# CTRL #", "LID-H2-00002", "TID- # CTRL #" pair, "# CTRL #", "LID-H2-00003", "TID- # CTRL #" pair Will be returned to the host information collecting means 25b.
[0149]
For example, when receiving a message including the above list from the host computer 1a ′, the host information collecting unit 25b extracts the logical path identifier added thereto (S205). Thereafter, the host information collecting unit 25b determines whether or not an unprocessed set exists in the received message (S206). If it does not exist, it is determined whether or not messages from all groups (all host computers 1a ′ and 1b ′) have been received (S216). If it is determined that messages have been received from all the groups, the process is terminated. If not, the process returns to step S204.
[0150]
On the other hand, when it is determined that an unprocessed group exists in the message received from the host computer 1a ′, one unprocessed group is extracted (S207). Now, for example, assume that the extracted set includes a terminal definition name “TERM-A”, a logical path identifier “LID-H1-00001”, and a terminal identifier “TID-00001”. Thereafter, the logical path state table 23 ′ is searched, and whether the terminal specified by the terminal definition name “TERM-A” included in the extracted set is “service terminal” or “control terminal”. Is determined (S208).
[0151]
If it is determined that the terminal is a “control terminal”, the process returns to step S206. On the other hand, if it is determined that it is a “service terminal”, the logical path identifier extracted in step S205 in the entry corresponding to the terminal definition name “TERM-A” is referred to the terminal status table 26 ′. Whether the logical path identifier is set in the corresponding group (here, the logical path identifier is “H1” because it indicates the logical path between the host computer 1a ′ and the relay server 2b). Is determined (S209). The group corresponding to the logical path identifier extracted in step S205 can be obtained by searching the logical path status table 23 ′ using the logical path identifier as a key. For example, when the logical path identifier extracted in step S205 is “LID-H1-00001” and the content of the logical path status table 23 ′ is as shown in FIG. 5, for example, the group “H1” is searched, If the logical path identifier extracted in step S205 is “LID-H2-00001”, the group “H2” is searched.
[0152]
When the determination result in step S209 is YES, that is, the logical path identifier is stored in association with the group “H1” in the entry corresponding to the terminal definition name “TERM-A” in the terminal state table 26 ′. If yes, the process of step S213 is performed. On the other hand, when the determination result in step S209 is NO, that is, in the entry corresponding to the terminal definition name “TERM-A” in the terminal state table 26 ′, the area corresponding to the group “H1” is blank. If it is, it is recognized that the logical path connection process between the business terminal 3a ′ and the host computer 1a ′ has been performed by another relay server (a relay server other than the relay server 2b), and the process of step S210 is performed. I do. .
[0153]
In step S210, the logical path control means 213a ′ corresponding to the logical path identifier “LID-H1-00001” in the set to be processed is generated. In step S211, the logical path status table 23 ′ is grouped into the group “H1”. And the terminal definition name “TERM-A” as a key, and the logical path identifier “LID-H1-00001” in the above set is stored in the area corresponding to the group “H1” in the corresponding entry. In S212, the logical path identifier “LID-H1-00001” is stored in the area specified by the group “H1” and the terminal definition name “TERM-A” in the terminal state table 26 ′. As a result, a means for transmitting and receiving messages related to the corresponding logical path is established.
[0154]
Thereafter, it is checked whether or not the terminal identifier is stored in the entry corresponding to the terminal definition name “TERM-A” in the terminal state table 26 ′ (S213). If it is stored (YES in S213), the process returns to step S206. On the other hand, if it is not stored (NO in S213), the process of step S214 is performed.
[0155]
In step S214, the business terminal control means 241a ′ corresponding to the terminal identifier “TID-00001” in the set to be processed is generated, and in the next step S215, the terminal definition name “TERM-” in the terminal status table 26 ′ is generated. The terminal identifier “TID-00001” is stored in the entry corresponding to “A”, and then the process of step S206 is performed. As a result, a means for transmitting and receiving messages related to the corresponding business terminal 3a ′ is established in the relay server 2b. When the response time-out occurs (YES in S204), the host information collecting unit 25b ends the process.
[0156]
When a message is sent from the host computer 1b ′, the same processing as described above is performed.
[0157]
By performing the above processing in all the relay servers 2a and 2b, the terminal information that has been connected in a certain relay server can be reflected in all the relay servers 2a and 2b. Thus, the “terminal identifier” and the “logical path identifier” of the transfer destination given to the message received from the business terminal 3a ′ exist in the terminal status tables 26 and 26 ′ on all the relay servers 2a and 2b. Even through the relay servers 2a and 2b, transfer to the corresponding logical paths on the host computers 1a 'and 1b' becomes possible, and the business program can perform processing that identifies the business terminal.
[0158]
FIG. 21 shows the correspondence between the logical paths in FIG. 18 using the reference numerals in the drawing. For example, “213a” on the relay server 2a and “213a ′” on the relay server 2b both correspond to “113a” on the host computer 1a ′.
[0159]
At the time of failure of the relay server 2a, the business terminal 3a ′ transmits a message to the host computers 1a and 1b via the relay server 2b having the next highest priority, so even if a failure occurs in the relay server, the terminal It is possible to continue processing without interrupting the work from the start.
[0160]
Even when a relay server is dynamically added and a physical path is set between the host computers 1a and 1b, the terminal status tables 26 and 26 'are updated by the host information collecting means 25a and 25b. The message from the terminal can be immediately processed.
[0161]
Although not described in the above-described embodiment, the business terminal is connected to the relay server with the lightest load among the normally operating relay servers between the business terminal 3a ′ and the relay servers 2a and 2b. A load distribution switch for transmitting a logical path connection request from 3a ′ or a message may be provided. In this case, the business terminal 3a ′ does not need a function of outputting a message or logical path connection request in consideration of the priority of the relay server, and sends a message or logical path connection request to the load balancing switch. What is necessary is just to have the function to transmit. Further, in the above-described embodiment, the relay servers 2a and 2b are slightly changed to the relay server 2 in the first embodiment (the host information collecting unit 25 is not limited to the processing shown in the flowchart of FIG. Although the relay server to which the processing shown in the flowchart is also added is used, the relay servers 2a and 2b are slightly changed to the relay server in the second embodiment (the host information collecting unit is changed to the flowchart of FIG. 16). In addition to the processing shown, a relay server to which processing shown in the flowchart of FIG. 20 is also performed may be used.
[0162]
【The invention's effect】
As described above, according to the present invention, a logical path corresponding to a host computer in which no failure has occurred among logical paths set between a relay server and each host computer, and the above-described host computer. Since messages are sent using one of the physical paths that are set in between, even if a failure occurs in the host computer, a failure occurs in the physical path. Even if it exists, communication can be continued.
[0163]
In the present invention, each relay server collects terminal information about each terminal connected to the host computer via a logical path from each host computer, and the relay server self-relays in the terminal indicated by the collected terminal information. If there is a terminal that is not connected to the host computer via a logical path via the server, the terminal and each host computer are connected via a logical path via the local relay server. Can also be easily dealt with.
[Brief description of the drawings]
FIG. 1 is a block diagram of a first exemplary embodiment of the present invention.
FIG. 2 is a diagram showing an example of contents of physical path status tables 12 and 12 ′.
FIG. 3 is a diagram showing an example of contents of logical path status tables 13, 13 ′.
4 is a diagram showing an example of the contents of a physical path status table 22. FIG.
FIG. 5 is a diagram showing an example of the contents of a logical path state table 23;
6 is a diagram showing an example of the contents of a terminal state table 26. FIG.
FIG. 7 is a flowchart showing a processing example of the terminal management means 24;
FIG. 8 is a flowchart showing a processing example of the path management means 21;
FIG. 9 is a flowchart showing a processing example of the path management unit 11;
FIG. 10 is a diagram showing an example of the contents of logical path status tables 13, 13 ′.
11 is a diagram showing an example of the contents of a logical path status table 23. FIG.
12 is a diagram showing an example of the contents of a terminal state table 26. FIG.
13 is a flowchart showing a processing example of a logical path selection unit 27. FIG.
14 is a flowchart showing a processing example of the host information collecting means 25. FIG.
FIG. 15 is a diagram showing an example of the contents of a terminal status table 26a used in the second embodiment of the present invention.
FIG. 16 is a flowchart showing a processing example of the host information collecting means 25 in the second embodiment of the present invention.
FIG. 17 is a flowchart showing a processing example of a logical path selection unit 27 in the second embodiment of the present invention.
FIG. 18 is a block diagram of a third exemplary embodiment of the present invention.
FIG. 19 is a diagram illustrating an example of contents of logical path status tables 13a and 13b.
FIG. 20 is a flowchart showing a processing example of host information collecting means 25a and 25b.
FIG. 21 is a diagram showing a correspondence relationship between logical path control means on the relay server side and logical path control means on the host computer side.
[Explanation of symbols]
1a, 1a ′, 1b, 1b ′... Host computer
11, 11 '... path management means
111a to 111d, 111a ′ to 111d ′, physical path control means
112, 112 '... Path selection means
113a to 113c, 113a ′ to 113c ′, logical path control means
12, 12 '... Physical path state table
13, 13 ', 13a, 13b ... Logical path status table
14, 14 '... business program execution means
141a, 141a ', 141b, 141b' ... business program
142, 142 ', 142a, 142b ... business program for control
15, 15 '... console
K1a, K1a ′, K1b, K1b ′... Recording medium
2, 2a, 2b ... relay server
21, 21 '... path management means
211a to 211f, 211a ′ to 211d ′, physical path control means
212, 212 '... Path selection means
213a to 213f, 213a ′ to 213d ′, logical path control means
22, 22 '... Physical path state table
23, 23 '... Logical path status table
24, 24 '... terminal management means
241a, 241b, 241a '... business terminal control means
242 and 242 '... control terminal control means
25, 25a, 25b ... Host information collecting means
26, 26 '... Terminal status table
27, 27 '... Logical path selection means
28, 28 '... console
3a, 3a ', 3b ... business terminal
4 ... Database
K2, K2a, K2b ... Recording medium

Claims (7)

端末と複数のホストコンピュータとが中継サーバを介して接続されたオンラインシステムにおける論理パス制御方法であって、
前記中継サーバと前記各ホストコンピュータとの間それぞれを複数の物理的な通信路である物理パスによって接続する物理パス接続ステップと、
前記端末からの接続要求に応答して、前記中継サーバと前記各ホストコンピュータとの間それぞれ論理パスを設定し、該設定した各ホストコンピュータ論理パスを介して前記端末と前記各ホストコンピュータとを接続する接続ステップと、
前記中継サーバが、前記各ホストコンピュータの状態が稼働中、待機中、障害中の何れであるのかを収集し、前記端末からメッセージが送られてきたとき、前記接続ステップで設定した前記各ホストコンピュータ論理パスの中から、前記収集した状態が稼働中になっているホストコンピュータに対応する論理パスを選択すると共に該選択した論理パスに対応するホストコンピュータと自中継サーバとを接続する複数の物理パスの中から1つの物理パスを選択し、該選択した物理パスと前記選択した論理パスとを用いて前記メッセージをホストコンピュータに送信するメッセージ送信ステップとを含むことを特徴とする論理パス制御方法。
A logical path control method in an online system in which a terminal and a plurality of host computers are connected via a relay server,
Each between the relay server and the respective host computer, a physical path connection step of connecting the physical path of a plurality of physical communication channels,
In response to a connection request from the terminal, the set of logical paths respectively between the relay server and the respective host computer, said each host computer and the terminal via the logic path for each host computer with said set Connecting step to connect,
Each of the host computers set in the connection step when the relay server collects whether the status of each of the host computers is operating, standby, or faulty, and a message is sent from the terminal A plurality of physical paths that select a logical path corresponding to the host computer whose collected state is in operation and connect the host computer corresponding to the selected logical path and the own relay server. A logical path control method comprising: a message transmission step of selecting one physical path from among the paths and transmitting the message to a host computer using the selected physical path and the selected logical path. .
請求項1記載の論理パス制御方法において、
前記中継サーバが、前記各ホストコンピュータのビジー率を収集する収集ステップを含み、且つ、
前記メッセージ送信ステップにおいて論理パスを選択する際、前記収集ステップで収集したビジー率が最も小さいホストコンピュータに対応する論理パスを選択することを特徴とする論理パス制御方法。
The logical path control method according to claim 1,
The relay server includes a collection step of collecting a busy rate of each host computer; and
A logical path control method comprising: selecting a logical path corresponding to a host computer having the smallest busy rate collected in the collecting step when selecting a logical path in the message sending step.
端末と、複数のホストコンピュータと、それぞれが前記端末と前記複数のホストコンピュータとを接続する複数の中継サーバとを備えたオンラインシステムにおける論理パス制御方法であって、
前記各中継サーバと前記各ホストコンピュータとの間それぞれを複数の物理的な通信路である物理パスによって接続する物理パス接続ステップと、
前記各中継サーバの内の、前記端末からの接続要求を受信した中継サーバが、自中継サーバと前記各ホストコンピュータとの間それぞれ論理パスを設定し、該設定した各ホストコンピュータ論理パスを介して前記端末と前記各ホストコンピュータとを接続する接続ステップと、
前記各中継サーバの内の、前記端末からのメッセージを受信した中継サーバが、前記各ホストコンピュータの状態が稼働中、待機中、障害中の何れであるのかを収集し、前記端末からメッセージが送られてきたとき、前記接続ステップで設定した前記各ホストコンピュータ論理パスの中から、前記収集した状態が稼働中になっているホストコンピュータに対応する論理パスを選択すると共に該選択した論理パスに対応するホストコンピュータと自中継サーバとを接続する複数の物理パスの中から1つの物理パスを選択し、該選択した物理パスと前記選択した論理パスとを用いて前記メッセージをホストコンピュータに送信するメッセージ送信ステップと、
前記各中継サーバが、前記各ホストコンピュータから、そのホストコンピュータと論理パスを介して接続されている端末に関する端末情報を収集する収集ステップと、
前記各中継サーバが、自中継サーバの前記収集ステップで収集した端末情報によって示される端末の中に、自中継サーバを介した論理パスによってはホストコンピュータと接続されていない端末が存在する場合は、該端末と前記各ホストコンピュータとを自中継サーバを介した論理パスにより接続する障害対策用論理パス接続ステップとを含むことを特徴とする論理パス制御方法。
A logical path control method in an online system comprising a terminal, a plurality of host computers, and a plurality of relay servers each connecting the terminal and the plurality of host computers,
Each between each relay server and the respective host computer, a physical path connection step of connecting the physical path of a plurality of physical communication channels,
Of said each relay server, the relay server receives the connection request from the terminal, sets a logical path to each between the the own relay server each host computer, the logical path for each host computer with said set A connection step of connecting the terminal and each of the host computers via
Among the relay servers, the relay server that has received the message from the terminal collects whether the status of each host computer is active, standby, or faulty, and sends a message from the terminal. When selected, a logical path corresponding to the host computer whose collected state is in operation is selected from the logical paths of the host computers set in the connection step, and the selected logical path is One physical path is selected from a plurality of physical paths connecting the corresponding host computer and the own relay server, and the message is transmitted to the host computer using the selected physical path and the selected logical path. A message sending step;
Each relay server collects terminal information about each terminal connected to the host computer via a logical path from each host computer;
When there is a terminal that is not connected to a host computer by a logical path through the relay server, among the terminals indicated by the terminal information collected in the collection step of the relay server, each relay server, A logical path control method comprising: a fault countermeasure logical path connection step for connecting the terminal and each of the host computers via a logical path via a self-relay server.
端末と複数のホストコンピュータとが中継サーバを介して接続されたオンラインシステムの構成要素である中継サーバであって、
自中継サーバと前記各ホストコンピュータとの間それぞれを複数の物理的な通信路である物理パスによって接続する物理パス接続手段と、
前記端末からの接続要求に応答して、自中継サーバと前記各ホストコンピュータとの間それぞれ論理パスを設定し、該設定した各ホストコンピュータ論理パスを介して前記端末と前記各ホストコンピュータとを接続する接続手段と、
前記各ホストコンピュータの状態が稼働中、待機中、障害中の何れであるのかを収集し、前記端末からメッセージが送られてきたとき、前記接続手段で設定した前記各ホストコンピュータ論理パスの中から、前記収集した状態が稼働中になっているホストコンピュータに対応する論理パスを選択すると共に該選択した論理パスに対応するホストコンピュータと自中継サーバとを接続する複数の物理パスの中から1つの物理パスを選択し、該選択した物理パスと前記選択した論理パスとを用いて前記メッセージをホストコンピュータに送信するメッセージ送信手段とを備えたことを特徴とする中継サーバ。
A relay server that is a component of an online system in which a terminal and a plurality of host computers are connected via a relay server,
Each between its own relay server and the respective host computer, a physical path connection means for connecting the physical path of a plurality of physical communication channels,
In response to a connection request from said terminal, set a logical path to each between the the own relay server each host computer, and each host computer and the terminal via the logic path for each host computer with said set Connecting means for connecting,
Collecting whether the status of each host computer is active, standby, or faulty, and when a message is sent from the terminal , the logical path of each host computer set by the connection means The logical path corresponding to the host computer whose collected state is in operation is selected, and one of a plurality of physical paths connecting the host computer corresponding to the selected logical path and the local relay server is selected. A relay server comprising message transmission means for selecting one physical path and transmitting the message to a host computer using the selected physical path and the selected logical path.
端末と、複数のホストコンピュータと、それぞれが前記端末と前記複数のホストコンピュータとを接続する複数の中継サーバとを備えたオンラインシステムの構成要素である中継サーバであって、
自中継サーバと前記各ホストコンピュータとの間それぞれを複数の物理的な通信路である物理パスによって接続する物理パス接続手段と、
前記端末から接続要求を受信したとき、自中継サーバと前記各ホストコンピュータとの間それぞれ論理パスを設定し、該設定した各ホストコンピュータ論理パスを介して前記端末と前記各ホストコンピュータとを接続する接続手段と、
前記各ホストコンピュータの状態が稼働中、待機中、障害中の何れであるのかを収集し、前記端末からメッセージを受信したとき、前記接続手段で設定した前記各ホストコンピュータ論理パスの中から、前記収集した状態が稼働中になっているホストコンピュータに対応する論理パスを選択すると共に該選択した論理パスに対応するホストコンピュータと自中継サーバとを接続する複数の物理パスの中から1つの物理パスを選択し、該選択した物理パスと前記選択した論理パスとを用いて前記メッセージをホストコンピュータに送信するメッセージ送信手段と、
前記各ホストコンピュータから、そのホストコンピュータと論理パスを介して接続されている端末に関する端末情報を収集する収集手段と、
自中継サーバの前記収集手段で収集した端末情報によって示される端末の中に、自中継サーバを介した論理パスによってはホストコンピュータと接続されていない端末が存在する場合は、該端末と前記各ホストコンピュータとを自中継サーバを介した論理パスにより接続する障害対策用論理パス接続手段とを備えたことを特徴とする中継サーバ。
A relay server that is a component of an online system comprising a terminal, a plurality of host computers, and a plurality of relay servers each connecting the terminal and the plurality of host computers;
Each between its own relay server and the respective host computer, a physical path connection means for connecting the physical path of a plurality of physical communication channels,
When receiving a connection request from the terminal, sets a logical path to each between the the own relay server each host computer, and the terminal and through the logic path for each host computer to which the set each host computer Connecting means for connecting;
Collecting whether the status of each host computer is active, standby, or faulty, and when receiving a message from the terminal, from the logical path of each host computer set by the connection means , One physical path is selected from a plurality of physical paths connecting the host computer corresponding to the selected logical path and the own relay server while selecting a logical path corresponding to the host computer whose collected state is in operation. Message sending means for selecting a path and sending the message to a host computer using the selected physical path and the selected logical path;
Collecting means for collecting terminal information relating to a terminal connected to the host computer via a logical path from each host computer;
If there is a terminal that is not connected to a host computer by a logical path via the own relay server among the terminals indicated by the terminal information collected by the collecting means of the own relay server, the terminal and each of the hosts A relay server comprising a failure countermeasure logical path connection means for connecting a computer with a logical path via a local relay server.
端末と複数のホストコンピュータとが中継サーバを介して接続されたオンラインシステムの構成要素である中継サーバをコンピュータによって実現するためのプログラムであって、
前記コンピュータを、
自中継サーバと前記各ホストコンピュータとの間それぞれを複数の物理的な通信路である物理パスによって接続する物理パス接続手段、
前記端末からの接続要求に応答して、自中継サーバと前記各ホストコンピュータとの間それぞれ論理パスを設定し、該設定した各ホストコンピュータ論理パスを介して前記端末と前記各ホストコンピュータとを接続する接続手段、
前記各ホストコンピュータの状態が稼働中、待機中、障害中の何れであるのかを収集し、前記端末からメッセージが送られてきたとき、前記接続手段で設定した前記各ホストコンピュータ論理パスの中から、前記収集した状態が稼働中になっているホストコンピュータに対応する論理パスを選択すると共に該選択した論理パスに対応するホストコンピュータと自中継サーバとを接続する複数の物理パスの中から1つの物理パスを選択し、該選択した物理パスと前記選択した論理パスとを用いて前記メッセージをホストコンピュータに送信するメッセージ送信手段として機能させるためのプログラム。
A program for realizing, by a computer, a relay server that is a component of an online system in which a terminal and a plurality of host computers are connected via a relay server,
The computer,
Physical path connection means respectively between the own relay server and the respective host computer, connected by a physical path is a plurality of physical communication channels,
In response to a connection request from said terminal, set a logical path to each between the the own relay server each host computer, and each host computer and the terminal via the logic path for each host computer with said set Connecting means to connect,
Collecting whether the status of each host computer is active, standby, or faulty, and when a message is sent from the terminal , the logical path of each host computer set by the connection means The logical path corresponding to the host computer whose collected state is in operation is selected, and one of a plurality of physical paths connecting the host computer corresponding to the selected logical path and the own relay server is selected. A program for selecting one physical path and causing it to function as a message transmission unit that transmits the message to a host computer using the selected physical path and the selected logical path.
端末と、複数のホストコンピュータと、それぞれが前記端末と前記複数のホストコンピュータとを接続する複数の中継サーバとを備えたオンラインシステムの構成要素である中継サーバをコンピュータによって実現するためのプログラムであって、
前記コンピュータを、
自中継サーバと前記各ホストコンピュータとの間それぞれを複数の物理的な通信路である物理パスによって接続する物理パス接続手段、
前記端末から接続要求を受信したとき、自中継サーバと前記各ホストコンピュータとの間それぞれ論理パスを設定し、該設定した各ホストコンピュータ論理パスを介して前記端末と前記各ホストコンピュータとを接続する接続手段、
前記各ホストコンピュータの状態が稼働中、待機中、障害中の何れであるのかを収集し、前記端末からメッセージを受信したとき、前記接続手段で設定した前記各ホストコンピュータ論理パスの中から、前記収集した状態が稼働中になっているホストコンピュータに対応する論理パスを選択すると共に該選択した論理パスに対応するホストコンピュータと自中継サーバとを接続する複数の物理パスの中から1つの物理パスを選択し、該選択した物理パスと前記選択した論理パスとを用いて前記メッセージをホストコンピュータに送信するメッセージ送信手段、
前記各ホストコンピュータから、そのホストコンピュータと論理パスを介して接続されている端末に関する端末情報を収集する収集手段、
自中継サーバの前記収集手段で収集した端末情報によって示される端末の中に、自中継サーバを介した論理パスによってはホストコンピュータと接続されていない端末が存在する場合は、該端末と前記各ホストコンピュータとを自中継サーバを介した論理パスにより接続する障害対策用論理パス接続手段として機能させるためのプログラム。
A program for realizing by a computer a relay server that is a component of an online system including a terminal, a plurality of host computers, and a plurality of relay servers each connecting the terminal and the plurality of host computers. And
The computer,
Physical path connection means respectively between the own relay server and the respective host computer, connected by a physical path is a plurality of physical communication channels,
When receiving a connection request from the terminal, sets a logical path to each between the the own relay server each host computer, and the terminal and through the logic path for each host computer to which the set each host computer Connection means to connect,
Collecting whether the status of each host computer is active, standby, or faulty, and when receiving a message from the terminal, from among the logical paths of the host computers set by the connection means , One physical path is selected from a plurality of physical paths connecting the host computer corresponding to the selected logical path and the own relay server while selecting a logical path corresponding to the host computer whose collected state is in operation. A message transmission means for selecting a path and transmitting the message to a host computer using the selected physical path and the selected logical path;
Collecting means for collecting terminal information relating to a terminal connected to the host computer via a logical path from each host computer,
If there is a terminal that is not connected to a host computer by a logical path via the own relay server among the terminals indicated by the terminal information collected by the collecting means of the own relay server, the terminal and each of the hosts A program for causing a computer to function as a failure countermeasure logical path connection means for connecting to a computer via a logical path via its own relay server.
JP2003136840A 2003-05-15 2003-05-15 Logical path control method, relay server, and program Expired - Fee Related JP4207657B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003136840A JP4207657B2 (en) 2003-05-15 2003-05-15 Logical path control method, relay server, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003136840A JP4207657B2 (en) 2003-05-15 2003-05-15 Logical path control method, relay server, and program

Publications (2)

Publication Number Publication Date
JP2004341767A JP2004341767A (en) 2004-12-02
JP4207657B2 true JP4207657B2 (en) 2009-01-14

Family

ID=33526648

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003136840A Expired - Fee Related JP4207657B2 (en) 2003-05-15 2003-05-15 Logical path control method, relay server, and program

Country Status (1)

Country Link
JP (1) JP4207657B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4698316B2 (en) * 2005-07-15 2011-06-08 株式会社日立製作所 Access path management method and program
WO2016103632A1 (en) * 2014-12-24 2016-06-30 日本電気株式会社 Multi-layer network system and path setting method in multi-layer network

Also Published As

Publication number Publication date
JP2004341767A (en) 2004-12-02

Similar Documents

Publication Publication Date Title
JP4188602B2 (en) Cluster type disk control apparatus and control method thereof
US7376726B2 (en) Storage path control method
US7237027B1 (en) Scalable storage system
US7065526B2 (en) Scalable database management system
US7818408B1 (en) Automated virtual interface failover in a mass storage cluster
US8683001B2 (en) Address management device
CN100389392C (en) Method for realizing load uniform in clustering system, system and storage controller
US20100138540A1 (en) Method of managing organization of a computer system, computer system, and program for managing organization
US8683482B2 (en) Computer system for balancing access load of storage systems and control method therefor
CN109842651A (en) A kind of continual load-balancing method of business and system
CN112769837B (en) Communication transmission method, device, equipment, system and storage medium based on WebSocket
US20060248304A1 (en) Computing system, host computer, storage device in the computing system and volume switching method of the same
US6931437B2 (en) Concentrated system for controlling network interconnections
CN110275772B (en) Data processing method and related equipment thereof
CN108846745B (en) Blockchain transaction processing auxiliary system, blockchain data processing system and method
JP2003241900A (en) Storage area network system access control method, storage area network system, and network switch
US20070112812A1 (en) System and method for writing data to a directory
US5764914A (en) Network system for connecting to a network node from terminal
JPWO2012063301A1 (en) Computer system, multi-tenant control method, and multi-tenant control program
US8572201B2 (en) System and method for providing a directory service network
JP4207657B2 (en) Logical path control method, relay server, and program
JP7179810B2 (en) Cluster system, cluster system failover control method
CN115550368B (en) Metadata reporting method, device, equipment and storage medium
JP3501944B2 (en) Database management device and recording medium on which the program is recorded
JP4639112B2 (en) Remote copy topology check method

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070703

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070831

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20071002

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071030

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20071030

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20071030

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20071205

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20080604

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20080930

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20081013

R150 Certificate of patent or registration of utility model

Ref document number: 4207657

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111031

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121031

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131031

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees