(57)【要約】【課題】サービス利用者に、サービスオブジェクトへの通信が切断されたことを意識させることなく、サービスを利用することを、可能にする。【解決手段】ユーザオブジェクト１０は、サービス利用者により使用される。サービスオブジェクト３０は、サービス利用者によって発行されるサービス要求に応じてサービスを提供する。中継オブジェクト２０は、ユーザオブジェクト１０とサービスオブジェクト３０との間の通信を中継し、通信内容の履歴を記録する機能を有し、サービスオブジェクト３０への通信が切断された場合にも自己（中継オブジェクト２０）とユーザオブジェクト１０との接続を維持しておき、自己と復旧したサービスオブジェクト３０との再接続後に通信内容の履歴を基にサービスの提供に関するデータ送受信の状態をサービスオブジェクト３０への通信が切断される前の状態に復旧する。【選択図】        図１
2004220231.tif 000002
【特許請求の範囲】
【請求項１】
ユーザオブジェクトとサービスオブジェクトとの間の通信が複数回のデータ送受信からなるコンピュータシステムにおいて、
サービス利用者により使用されるユーザオブジェクトと、
サービス利用者によって発行されるサービス要求に応じてサービスを提供するサービスオブジェクトと、
ユーザオブジェクトとサービスオブジェクトとの間の通信を中継し、通信内容の履歴を記録する機能を有し、サービスオブジェクトへの通信が切断された場合にも自己とユーザオブジェクトとの接続を維持しておき、自己と復旧したサービスオブジェクトとの再接続後に通信内容の履歴を基にサービスの提供に関するデータ送受信の状態をサービスオブジェクトへの通信が切断される前の状態に復旧する中継オブジェクトと
を有することを特徴とするサービス提供システム。
【請求項２】
ユーザオブジェクトとサービスオブジェクトとの間の通信に関する管理情報および通信内容の履歴を示す情報として、ユーザオブジェクト識別子，サービスオブジェクト識別子，および送信データ履歴群を有する送信履歴表を保持する送信情報表と、
ユーザオブジェクトおよびサービスオブジェクトに対するデータ送受信を制御する機能を実現し、ユーザオブジェクトから受信したサービス要求をサービスオブジェクトに送信し、サービスオブジェクトから受信したサービス結果をユーザオブジェクトに送信し、サービスオブジェクトへの通信が切断された場合における障害復旧時に前記送信情報表内の当該サービスオブジェクトに関する送信履歴表に送信データ履歴として記録されているサービス要求を復旧したサービスオブジェクトに送信し、そのサービス要求に対するサービス結果を受信した際にそのサービス結果をユーザオブジェクトに返送した旨が当該送信履歴表に記録されていない場合に当該サービス結果をユーザオブジェクトに送信する送受信制御手段と、
中継オブジェクトとユーザオブジェクトとを接続してその接続情報からユーザオブジェクト識別子を生成する機能と中継オブジェクトとサービスオブジェクトとを接続してその接続情報からサービスオブジェクト識別子を生成する機能とを実現する接続制御・識別子生成手段と、
オブジェクト間接続時に前記接続制御・識別子生成手段により生成されたユーザオブジェクト識別子およびサービスオブジェクト識別子を有する送信履歴表を生成して前記送信情報表に記録し、前記送受信制御手段の制御によるユーザオブジェクトとサービスオブジェクトとの間のデータ送受信の内容を送信データ履歴として前記送信情報表内の送信履歴表に記録し、サービスオブジェクトの障害復旧時に前記送信情報表内の当該サービスオブジェクトに関する送信履歴表中のサービスオブジェクト識別子の項目に復旧したサービスオブジェクトを示す情報が設定されているようにする送信履歴表管理手段と
を備える中継オブジェクトを有することを特徴とする請求項１記載のサービス提供システム。
【請求項３】
ユーザオブジェクトとサービスオブジェクトとの間の通信に関する管理情報および通信内容の履歴を示す情報として、ユーザオブジェクト識別子，サービスオブジェクト識別子，サービスオブジェクト停止時刻，および送信データ履歴群を有する送信履歴表を保持する送信情報表と、
ユーザオブジェクトおよびサービスオブジェクトに対するデータ送受信を制御する機能を実現し、ユーザオブジェクトから受信したサービス要求をサービスオブジェクトに送信し、サービスオブジェクトから受信したサービス結果をユーザオブジェクトに送信し、サービスオブジェクトへの通信が切断された場合における障害復旧時に前記送信情報表内の当該サービスオブジェクトに関する送信履歴表に送信データ履歴として記録されているサービス要求を復旧したサービスオブジェクトに送信し、そのサービス要求に対するサービス結果を受信した際にそのサービス結果をユーザオブジェクトに返送した旨が当該送信履歴表に記録されていない場合に当該サービス結果をユーザオブジェクトに送信する送受信制御手段と、
中継オブジェクトとユーザオブジェクトとを接続してその接続情報からユーザオブジェクト識別子を生成する機能と中継オブジェクトとサービスオブジェクトとを接続してその接続情報からサービスオブジェクト識別子を生成する機能とを実現する接続制御・識別子生成手段と、
オブジェクト間接続時に前記接続制御・識別子生成手段により生成されたユーザオブジェクト識別子およびサービスオブジェクト識別子を有する送信履歴表を生成して前記送信情報表に記録し、前記送受信制御手段の制御によるユーザオブジェクトとサービスオブジェクトとの間のデータ送受信の内容を送信データ履歴として前記送信情報表内の送信履歴表に記録し、サービスオブジェクトの障害復旧時に前記送信情報表内の当該サービスオブジェクトに関する送信履歴表中のサービスオブジェクト識別子の項目に復旧したサービスオブジェクトを示す情報が設定されているようにする送信履歴表管理手段と、
サービスオブジェクトの異常停止時に当該サービスオブジェクトに対するサービスオブジェクト識別子を持つ送信履歴表中のサービスオブジェクト停止時刻の項目にその停止時刻を格納し、その停止時刻からの経過時間をカウントし、そのカウント値がタイムアウト値を越えた場合に当該送信履歴表中のユーザオブジェクト識別子で特定されるユーザオブジェクトと中継オブジェクトとの接続を切断するというタイムアウト制御を行うタイムアウト制御手段と
を備える中継オブジェクトを有することを特徴とする請求項１記載のサービス提供システム。
【請求項４】
サーバシステム，クライアント群，および中継用コンピュータが通信経路によって接続されているネットワークシステムに適用され、サービスオブジェクトがサーバ上で実行され、ユーザオブジェクトがクライアント上で実行され、中継オブジェクトが中継用コンピュータ上で実行されることを特徴とする請求項１，請求項２，または請求項３記載のサービス提供システム。
【請求項５】
サーバシステムおよびクライアント群を含むコンピュータシステムにおいて、
中継オブジェクト実行コンピュータを、ユーザオブジェクトとサービスオブジェクトとの間の通信を中継し、通信内容の履歴を記録する機能を有し、サービスオブジェクトへの通信が切断された場合にも自己とユーザオブジェクトとの接続を維持しておき、自己と復旧したサービスオブジェクトとの再接続後に通信内容の履歴を基にサービスの提供に関するデータ送受信の状態をサービスオブジェクトへの通信が切断される前の状態に復旧する中継オブジェクトとして機能させるためのプログラム。
【請求項６】
サーバシステム，クライアント群，および中継用コンピュータが通信経路によって接続されているコンピュータシステムにおいて、
中継用コンピュータを、ユーザオブジェクトとサービスオブジェクトとの間の通信に関する管理情報および通信内容の履歴を示す情報として、ユーザオブジェクト識別子，サービスオブジェクト識別子，および送信データ履歴群を有する送信履歴表を保持する送信情報表，ユーザオブジェクトおよびサービスオブジェクトに対するデータ送受信を制御する機能を実現し、ユーザオブジェクトから受信したサービス要求をサービスオブジェクトに送信し、サービスオブジェクトから受信したサービス結果をユーザオブジェクトに送信し、サービスオブジェクトへの通信が切断された場合における障害復旧時に前記送信情報表内の当該サービスオブジェクトに関する送信履歴表に送信データ履歴として記録されているサービス要求を復旧したサービスオブジェクトに送信し、そのサービス要求に対するサービス結果を受信した際にそのサービス結果をユーザオブジェクトに返送した旨が当該送信履歴表に記録されていない場合に当該サービス結果をユーザオブジェクトに送信する送受信制御手段，中継オブジェクトとユーザオブジェクトとを接続してその接続情報からユーザオブジェクト識別子を生成する機能と中継オブジェクトとサービスオブジェクトとを接続してその接続情報からサービスオブジェクト識別子を生成する機能とを実現する接続制御・識別子生成手段，ならびにオブジェクト間接続時に前記接続制御・識別子生成手段により生成されたユーザオブジェクト識別子およびサービスオブジェクト識別子を有する送信履歴表を生成して前記送信情報表に記録し、前記送受信制御手段の制御によるユーザオブジェクトとサービスオブジェクトとの間のデータ送受信の内容を送信データ履歴として前記送信情報表内の送信履歴表に記録し、サービスオブジェクトの障害復旧時に前記送信情報表内の当該サービスオブジェクトに関する送信履歴表中のサービスオブジェクト識別子の項目に復旧したサービスオブジェクトを示す情報が設定されているようにする送信履歴表管理手段を備える中継オブジェクトとして機能させるためのプログラム。
【請求項７】
サーバシステム，クライアント群，および中継用コンピュータが通信経路によって接続されているコンピュータシステムにおいて、
中継用コンピュータを、ユーザオブジェクトとサービスオブジェクトとの間の通信に関する管理情報および通信内容の履歴を示す情報として、ユーザオブジェクト識別子，サービスオブジェクト識別子，サービスオブジェクト停止時刻，および送信データ履歴群を有する送信履歴表を保持する送信情報表，ユーザオブジェクトおよびサービスオブジェクトに対するデータ送受信を制御する機能を実現し、ユーザオブジェクトから受信したサービス要求をサービスオブジェクトに送信し、サービスオブジェクトから受信したサービス結果をユーザオブジェクトに送信し、サービスオブジェクトへの通信が切断された場合における障害復旧時に前記送信情報表内の当該サービスオブジェクトに関する送信履歴表に送信データ履歴として記録されているサービス要求を復旧したサービスオブジェクトに送信し、そのサービス要求に対するサービス結果を受信した際にそのサービス結果をユーザオブジェクトに返送した旨が当該送信履歴表に記録されていない場合に当該サービス結果をユーザオブジェクトに送信する送受信制御手段，中継オブジェクトとユーザオブジェクトとを接続してその接続情報からユーザオブジェクト識別子を生成する機能と中継オブジェクトとサービスオブジェクトとを接続してその接続情報からサービスオブジェクト識別子を生成する機能とを実現する接続制御・識別子生成手段，オブジェクト間接続時に前記接続制御・識別子生成手段により生成されたユーザオブジェクト識別子およびサービスオブジェクト識別子を有する送信履歴表を生成して前記送信情報表に記録し、前記送受信制御手段の制御によるユーザオブジェクトとサービスオブジェクトとの間のデータ送受信の内容を送信データ履歴として前記送信情報表内の送信履歴表に記録し、サービスオブジェクトの障害復旧時に前記送信情報表内の当該サービスオブジェクトに関する送信履歴表中のサービスオブジェクト識別子の項目に復旧したサービスオブジェクトを示す情報が設定されているようにする送信履歴表管理手段，ならびにサービスオブジェクトの異常停止時に当該サービスオブジェクトに対するサービスオブジェクト識別子を持つ送信履歴表中のサービスオブジェクト停止時刻の項目にその停止時刻を格納し、その停止時刻からの経過時間をカウントし、そのカウント値がタイムアウト値を越えた場合に当該送信履歴表中のユーザオブジェクト識別子で特定されるユーザオブジェクトと中継オブジェクトとの接続を切断するというタイムアウト制御を行うタイムアウト制御手段を備える中継オブジェクトとして機能させるためのプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ユーザオブジェクトとサービスオブジェクトとの間の通信（サービスの提供・利用に関する通信）が複数回のデータ送受信からなるサービス提供システムに関する。
【０００２】
【従来の技術】
この種のサービス提供システムでは、ユーザオブジェクトとサービスオブジェクトとが接続され、ユーザオブジェクトからのサービス要求に基づいて、サービスオブジェクトによってサービスが提供されている。
【０００３】
例えば、サービス利用者は、データベースの内容を提供するサービス提供システムを利用する場合に、まず、データベースを提供するサービスオブジェクトにログイン（接続）し、サービス利用のためのコマンドを発行してデータベースに送信し（サービス要求を行い）、データベースサービス提供システムからの応答を受信する。ここで、このようなデータベースへのコマンドの発行と発行したコマンドに対する応答の受信とは、複数回に渡って行われる。
【０００４】
従来のサービス提供システムでは、上記のようにしてサービスが提供されている際に、サービスオブジェクトに障害等が発生してサービスオブジェクトが異常停止したときには、ユーザオブジェクトによるサービスオブジェクトへの再接続から処理をやり直す必要があった。
【０００５】
なお、従来においても、サービス提供システムによって提供されるサービスの利用が中断された場合に、中断時点の状態を再現して中断時点からのサービスの利用を速やかに再開し継続することができるようにするための技術（サービス提供システム）は開発されていた（例えば、特許文献１参照）。
【０００６】
しかしながら、このような従来の技術は、中断時点の状態を再現するための特別のオブジェクト（特許文献１記載の発明では、中断時点の状態を再現するために必要な情報や操作などを組み込んだ再現用の代理オブジェクト）を生成する必要があり、本願発明とは着眼点や構成を異にするものである。
【０００７】
【特許文献１】
特開２００２−１２３４３３号公報（第２頁、図１、図２）
【０００８】
【発明が解決しようとする課題】
上述した従来のサービス提供システムでは、サービスオブジェクトが障害等により異常停止して当該サービスオブジェクトへの通信が切断された場合に、ユーザオブジェクトからサービスオブジェクトへの再接続から作業を行う必要があり、サービスを利用する際におけるサービス利用者の負担が大きくなるという問題点があった。
【０００９】
例えば、データベースサービス提供システムにおいて、サービスオブジェクトへのログイン後におけるデータベースサービスの利用中にデータベースへの接続が切断された場合には、データベースへの接続を改めて行い、接続完了後再度ログイン処理からの手続きを行う必要があった。
【００１０】
本発明の目的は、上述の点に鑑み、ユーザオブジェクトとサービスオブジェクトとの間の通信が複数回のデータ送受信からなるサービス提供システムにおいて、ユーザオブジェクトとサービスオブジェクトとの間の通信に通信内容の履歴を記録する機能等を有する中継オブジェクトを介在させることにより、サービスオブジェクトへの通信が切断された場合にも、記録された通信内容の履歴を基に通信が切断される前の状態に復旧することができるようにし、ユーザオブジェクトを使用しているサービス利用者にとって、中継オブジェクトとサービスオブジェクトとの間の接続が切断されたこと（サービスオブジェクトへの通信が切断されたこと）を意識することなくサービスを利用することが可能になるサービス提供システムを実現することにある。
【００１１】
【課題を解決するための手段】
本発明のサービス提供システムは、ユーザオブジェクトとサービスオブジェクトとの間の通信（サービスの提供・利用に関する通信）が複数回のデータ送受信からなるコンピュータシステムにおいて、サービス利用者により使用されるユーザオブジェクトと、ユーザオブジェクトとサービスオブジェクトとの間の通信に関する管理情報および通信内容の履歴を示す情報として、ユーザオブジェクト識別子，サービスオブジェクト識別子，および送信データ履歴群を有する送信履歴表を保持する中継オブジェクト内の送信情報表と、ユーザオブジェクトおよびサービスオブジェクトに対するデータ送受信を制御する機能を実現し、ユーザオブジェクトから受信したサービス要求をサービスオブジェクトに送信し、サービスオブジェクトから受信したサービス結果をユーザオブジェクトに送信し、サービスオブジェクトへの通信が切断された場合における障害復旧時に前記送信情報表内の当該サービスオブジェクトに関する送信履歴表に送信データ履歴として記録されているサービス要求を復旧したサービスオブジェクトに送信し、そのサービス要求に対するサービス結果を受信した際にそのサービス結果をユーザオブジェクトに返送した旨が当該送信履歴表に記録されていない場合に当該サービス結果をユーザオブジェクトに送信する中継オブジェクト内の送受信制御手段と、中継オブジェクトとユーザオブジェクトとを接続してその接続情報からユーザオブジェクト識別子を生成する機能と中継オブジェクトとサービスオブジェクトとを接続してその接続情報からサービスオブジェクト識別子を生成する機能とを実現する中継オブジェクト内の接続制御・識別子生成手段と、オブジェクト間接続時に前記接続制御・識別子生成手段により生成されたユーザオブジェクト識別子およびサービスオブジェクト識別子を有する送信履歴表を生成して前記送信情報表に記録し、前記送受信制御手段の制御によるユーザオブジェクトとサービスオブジェクトとの間のデータ送受信の内容を送信データ履歴として前記送信情報表内の送信履歴表に記録し、サービスオブジェクトの障害復旧時に前記送信情報表内の当該サービスオブジェクトに関する送信履歴表中のサービスオブジェクト識別子の項目に復旧したサービスオブジェクト（停止した後に再起動したサービスオブジェクトまたは停止したサービスオブジェクトから切り替えられた待機系のサービスオブジェクト）を示す情報が設定されているようにする中継オブジェクト内の送信履歴表管理手段とを有する。
【００１２】
また、本発明のサービス提供システムは、ユーザオブジェクトとサービスオブジェクトとの間の通信が複数回のデータ送受信からなるコンピュータシステムにおいて、サービス利用者により使用されるユーザオブジェクトと、サービス利用者によって発行されるサービス要求に応じてサービスを提供するサービスオブジェクトと、ユーザオブジェクトとサービスオブジェクトとの間の通信に関する管理情報および通信内容の履歴を示す情報として、ユーザオブジェクト識別子，サービスオブジェクト識別子，サービスオブジェクト停止時刻，および送信データ履歴群を有する送信履歴表を保持する中継オブジェクト内の送信情報表と、ユーザオブジェクトおよびサービスオブジェクトに対するデータ送受信を制御する機能を実現し、ユーザオブジェクトから受信したサービス要求をサービスオブジェクトに送信し、サービスオブジェクトから受信したサービス結果をユーザオブジェクトに送信し、サービスオブジェクトへの通信が切断された場合における障害復旧時に前記送信情報表内の当該サービスオブジェクトに関する送信履歴表に送信データ履歴として記録されているサービス要求を復旧したサービスオブジェクトに送信し、そのサービス要求に対するサービス結果を受信した際にそのサービス結果をユーザオブジェクトに返送した旨が当該送信履歴表に記録されていない場合に当該サービス結果をユーザオブジェクトに送信する中継オブジェクト内の送受信制御手段と、中継オブジェクトとユーザオブジェクトとを接続してその接続情報からユーザオブジェクト識別子を生成する機能と中継オブジェクトとサービスオブジェクトとを接続してその接続情報からサービスオブジェクト識別子を生成する機能とを実現する中継オブジェクト内の接続制御・識別子生成手段と、オブジェクト間接続時に前記接続制御・識別子生成手段により生成されたユーザオブジェクト識別子およびサービスオブジェクト識別子を有する送信履歴表を生成して前記送信情報表に記録し、前記送受信制御手段の制御によるユーザオブジェクトとサービスオブジェクトとの間のデータ送受信の内容を送信データ履歴として前記送信情報表内の送信履歴表に記録し、サービスオブジェクトの障害復旧時に前記送信情報表内の当該サービスオブジェクトに関する送信履歴表中のサービスオブジェクト識別子の項目に復旧したサービスオブジェクトを示す情報が設定されているようにする中継オブジェクト内の送信履歴表管理手段と、サービスオブジェクトの異常停止時に当該サービスオブジェクトに対するサービスオブジェクト識別子を持つ送信履歴表（前記送信情報表を検索することにより取得される送信履歴表）中のサービスオブジェクト停止時刻の項目にその停止時刻を格納（設定）し、その停止時刻（当該送信履歴表内のサービスオブジェクト停止時刻の項目に設定されている時刻）からの経過時間をカウントし、そのカウント値がタイムアウト値（あらかじめシステム固有の値として管理されているタイムアウト値）を越えた場合に当該送信履歴表中のユーザオブジェクト識別子で特定されるユーザオブジェクトと中継オブジェクトとの接続を切断するというタイムアウト制御を行う中継オブジェクト内のタイムアウト制御手段とを有するように構成することも可能である。
【００１３】
なお、本発明のサービス提供システムは、より一般的には、ユーザオブジェクトとサービスオブジェクトとの間の通信が複数回のデータ送受信からなるコンピュータシステムにおいて、サービス利用者により使用されるユーザオブジェクトと、サービス利用者によって発行されるサービス要求に応じてサービスを提供するサービスオブジェクトと、ユーザオブジェクトとサービスオブジェクトとの間の通信を中継し、通信内容の履歴を記録する機能を有し、サービスオブジェクトへの通信が切断された場合（サービスオブジェクトの異常停止によって自己（中継オブジェクト）とサービスオブジェクトとの接続が切断された場合）にも自己とユーザオブジェクトとの接続を維持しておき、自己と復旧したサービスオブジェクトとの再接続後に通信内容の履歴を基にサービスの提供に関するデータ送受信の状態をサービスオブジェクトへの通信が切断される前の状態に復旧する中継オブジェクトとを有すると表現することができる。
【００１４】
また、本発明は、サーバシステムおよびクライアント群を含むコンピュータシステムにおいて、中継オブジェクト実行コンピュータを、ユーザオブジェクトとサービスオブジェクトとの間の通信を中継し、通信内容の履歴を記録する機能を有し、サービスオブジェクトへの通信が切断された場合にも自己とユーザオブジェクトとの接続を維持しておき、自己と復旧したサービスオブジェクトとの再接続後に通信内容の履歴を基にサービスの提供に関するデータ送受信の状態をサービスオブジェクトへの通信が切断される前の状態に復旧する中継オブジェクトとして機能させるためのプログラムの態様で実現することも可能である。
【００１５】
【発明の実施の形態】
次に、本発明について図面を参照して詳細に説明する。
【００１６】
（１）  第１の実施の形態
【００１７】
図１は、本発明の第１の実施の形態に係るサービス提供システムの構成を示すブロック図である。
【００１８】
図１を参照すると、本実施の形態に係るサービス提供システムは、サービス利用者がサービスを利用する際に使用するユーザオブジェクト１０と、ユーザオブジェクト１０とサービスオブジェクト３０との間の通信を中継し通信内容の履歴を記録する機能を有する中継オブジェクト２０と、サービスを提供するサービスオブジェクト３０とを含んで構成されている。
【００１９】
ユーザオブジェクト１０は、中継オブジェクト２０にデータを送信する機能と、中継オブジェクト２０からデータを受信する機能とを有する。
【００２０】
中継オブジェクト２０は、ユーザオブジェクト１０とサービスオブジェクト３０との間の通信に関する管理情報および通信内容の履歴を保持する送信情報表２１と、ユーザオブジェクト１０に対するデータの送受信およびサービスオブジェクト３０に対するデータの送受信を制御する機能を実現する送受信制御手段２２と、自己とユーザオブジェクト１０およびサービスオブジェクト３０との間の接続を行う機能とユーザオブジェクト１０との間の接続情報からユーザオブジェクト識別子を生成する機能とサービスオブジェクト３０との間の接続情報からサービスオブジェクト識別子を生成する機能とを実現する接続制御・識別子生成手段２３と、ユーザオブジェクト識別子およびサービスオブジェクト識別子を有する送信履歴表を生成して送信情報表２１に記録する機能とユーザオブジェクト１０とサービスオブジェクト３０との間のデータの送受信の内容を送信データ履歴として送信履歴表に記録する機能とを実現する送信履歴表管理手段２４とを含んで構成されている。
【００２１】
サービスオブジェクト３０は、中継オブジェクト２０にデータを送信する機能と、中継オブジェクト２０からデータを受信する機能と、サービスを行う機能とを有する。
【００２２】
図２は、本実施の形態に係るサービス提供システムが適用されるコンピュータシステム（ネットワークシステム）の構成の具体例を示すブロック図である。このコンピュータシステムは、複数のクライアント１００（ユーザオブジェクト１０が実行されるコンピュータ）と、中継用コンピュータ２００（中継オブジェクト２０が実行されるコンピュータ）と、１台以上のサーバによって構成されるサーバシステム３００（複数のサービスオブジェクト３０が実行されうるコンピュータシステム）とを含んで構成されている。なお、本実施の形態、ひいては本発明が適用される環境が図２に示すような構成に限定されないことはいうまでもない。例えば、サーバシステム３００上で中継オブジェクト２０を実行させることも可能である。
【００２３】
なお、図１に示したユーザオブジェクト１０およびサービスオブジェクト３０は、図２中の複数のユーザオブジェクト１０およびサービスオブジェクト３０のうちの任意のユーザオブジェクト１０およびサービスオブジェクト３０（サービスの授受を行うユーザオブジェクト１０およびサービスオブジェクト３０）を示すものである。
【００２４】
図３は、本実施の形態に係るサービス提供システムのオブジェクト間接続時における処理を示す流れ図である。この処理は、ユーザオブジェクト・中継オブジェクト接続ステップＡ１と、中継オブジェクト・サービスオブジェクト接続ステップＡ２と、ユーザオブジェクト識別子生成ステップＡ３と、サービスオブジェクト識別子生成ステップＡ４と、送信履歴表生成・記録ステップＡ５と、サービス開始処理ステップＡ６とからなる。
【００２５】
図４は、本実施の形態に係るサービス提供システムの正常通信状態サービス提供時における処理を示す流れ図である。この処理は、ユーザオブジェクトサービス要求送信ステップＢ１と、中継オブジェクトサービス要求送信ステップＢ２と、サービス要求送信履歴表追加ステップＢ３と、サービス処理実行ステップＢ４と、サービスオブジェクトサービス結果送信ステップＢ５と、中継オブジェクトサービス結果送信ステップＢ６と、サービス結果返送送信履歴表追加ステップＢ７と、ユーザオブジェクトサービス結果通知ステップＢ８とからなる。
【００２６】
図５は、本実施の形態に係るサービス提供システムの障害復旧時における再接続処理を示す流れ図である。この処理は、送信履歴表取得ステップＣ１と、中継オブジェクト・復旧サービスオブジェクト接続ステップＣ２と、サービスオブジェクト識別子生成ステップＣ３と、送信履歴表中サービスオブジェクト識別子変更ステップＣ４と、サービス開始処理ステップＣ５とからなる。
【００２７】
図６は、本実施の形態に係るサービス提供システムの障害復旧時における送信履歴表中サービス要求処分処理を示す流れ図である。この処理は、サービス要求取り出しステップＤ１と、中継オブジェクトサービス要求送信ステップＤ２と、サービス処理実行ステップＤ３と、サービスオブジェクトサービス結果送信ステップＤ４と、サービス結果送信済み判定ステップＤ５と、サービス結果破棄ステップＤ６と、中継オブジェクトサービス結果送信ステップＤ７と、サービス結果返送送信履歴表追加ステップＤ８と、次サービス要求有無判定ステップＤ９とからなる。
【００２８】
図７は、送信情報表２１の具体的な内容を示す図である。
【００２９】
図８〜図１３は、本実施の形態に係るサービス提供システムの具体的な動作を説明するためのブロック図である。
【００３０】
次に、図１〜図１３を参照して、上記のように構成された本実施の形態に係るサービス提供システムの全体の動作について詳細に説明する。
【００３１】
第１に、オブジェクト間接続時における動作について説明する（図３参照）。
【００３２】
図８に示すように、ユーザオブジェクト１０は、そのユーザオブジェクト１０を使用するサービス利用者の指示・操作により、中継オブジェクト２０に接続する（ステップＡ１）。
【００３３】
ユーザオブジェクト１０より接続された中継オブジェクト２０内の接続制御・識別生成手段２３は、中継オブジェクト２０とサービスオブジェクト３０との間の接続を行う（ステップＡ２）。
【００３４】
また、接続制御・識別子生成手段２３は、中継オブジェクト２０とユーザオブジェクト１０との接続情報（上記のステップＡ１における接続を示す情報）からユーザオブジェクト識別子を生成する（ステップＡ３）。
【００３５】
さらに、接続制御・識別子生成手段２３は、中継オブジェクト２０とサービスオブジェクト３０との接続情報（上記のステップＡ２における接続を示す情報）からサービスオブジェクト識別子を生成する（ステップＡ４）。
【００３６】
送信履歴表管理手段２４は、ステップＡ３およびステップＡ４で生成されたユーザオブジェクト識別子およびサービスオブジェクト識別子を有する送信履歴表を生成し（この送信履歴表を「送信履歴表Ａ」とする）、その送信履歴表を送信情報表２１に記録する（ステップＡ５）。
【００３７】
中継オブジェクト２０から接続されたサービスオブジェクト３０は、サービスの開始処理を実行する（ステップＡ６）。
【００３８】
以上の処理により、中継オブジェクト２０を介した態様での、ユーザオブジェクト１０からサービスオブジェクト３０への接続が完了する。
【００３９】
第２に、正常通信状態におけるサービス提供時（サービス利用者からみた場合のサービス利用時）の動作について説明する（図４参照）。
【００４０】
上述のようにしてオブジェクト間の接続が完了すると、以下の処理手順を繰り返すことにより、サービスオブジェクト３０からユーザオブジェクト１０に対するサービスの提供が行われる。すなわち、サービス利用者は、ユーザオブジェクト１０を使用して、サービスオブジェクト３０のサービスを利用することができるようになる。
【００４１】
図９に示すように、ユーザオブジェクト１０は、そのユーザオブジェクト１０を使用するサービス利用者からの指示・操作により、接続の完了している中継オブジェクト２０に対してサービス要求を送信する（ステップＢ１）。
【００４２】
すると、中継オブジェクト２０内の送受信制御手段２２は、ユーザオブジェクト１０から送信されたサービス要求を受信し、そのサービス要求をサービスオブジェクト３０に送信する（ステップＢ２）。
【００４３】
その際に、送信履歴表管理手段２４は、当該サービス要求を示す送信データ履歴を送信情報表２１内の送信履歴表Ａに追加する（ステップＢ３）。
【００４４】
サービスオブジェクト３０は、中継オブジェクト２０を介してユーザオブジェクト１０より送信されたサービス要求を受信すると、図３のステップＡ６ですでに開始されているサービスにより当該サービス要求に基づく処理（サービス処理）を行う（ステップＢ４）。
【００４５】
サービスオブジェクト３０は、そのサービス処理が完了すると、中継オブジェクト２０に対してサービス結果を送信する（ステップＢ５）。
【００４６】
中継オブジェクト２０内の送受信制御手段２２は、サービスオブジェクト３０よりサービス結果を受信すると、受信したサービス結果をユーザオブジェクト１０に送信（返送）する（ステップＢ６）。
【００４７】
その際に、送信履歴表管理手段２４は、当該サービス結果の受信・ユーザオブジェクト１０への返送の旨を示す送信データ履歴を、送信情報表２１内の送信履歴表Ａに格納（追加）する（ステップＢ７）。
【００４８】
ユーザオブジェクト１０は、サービスオブジェクト３０から中継オブジェクト２０を介して送信されたサービス結果を受信して、そのサービス結果をサービス利用者に利用サービスの結果として渡す（ステップＢ８）。
【００４９】
第３に、サービスオブジェクト３０に関する障害復旧時における動作について説明する（図５および図６参照）。
【００５０】
上述のようにしてサービスオブジェクト３０がサービスを提供している際（ユーザオブジェクト１０を使用するサービス利用者がサービスを利用している際）に、図１０に示すように、サービスオブジェクト３０が障害等の理由により異常停止した場合を考える。
【００５１】
この場合には、以下の処理手順によって、停止したサービスオブジェクト３０の再起動または待機系のサービスオブジェクト３０への切替えを行うことにより、異常停止したサービスオブジェクト３０に関する障害復旧処理が実現される。
【００５２】
初めに、以下のような処理手順によって、再接続処理が行われる（図５参照）。
【００５３】
図１１に示すように、中継オブジェクト２０内の送信履歴表管理手段２４は、送信情報表２１を検索して、停止したサービスオブジェクト３０に対応するサービスオブジェクト識別子を持つ送信履歴表（送信履歴表Ａが該当する）を取得する（ステップＣ１）。
【００５４】
また、中継オブジェクト２０内の接続制御・識別子生成手段２３は、ユーザオブジェクト１０と中継オブジェクト２０との間の接続を維持したまま、中継オブジェクト２０と復旧したサービスオブジェクト３０（停止した後に再起動したサービスオブジェクト３０または停止したサービスオブジェクトから切り替えられた待機系のサービスオブジェクト３０）との間の接続を行い（ステップＣ２）、中継オブジェクト２０と復旧したサービスオブジェクト３０との間の接続情報（上記のステップＣ２における接続を示す情報）からサービスオブジェクト識別子を生成する（ステップＣ３）。
【００５５】
次に、送信履歴表管理手段２４は、ステップＣ１で取得した送信履歴表Ａ中のサービスオブジェクト識別子の項目の内容を、中継オブジェクト２０と復旧したサービスオブジェクト３０との接続情報から生成したサービスオブジェクト識別子に変更する（ステップＣ４）。なお、停止したサービスオブジェクト３０を再起動した場合には、この変更処理は不要となる。
【００５６】
ここで、中継オブジェクト２０から接続された、復旧したサービスオブジェクト３０は、図３のステップＡ６の処理と同様のサービスの開始処理を実行する（ステップＣ５）。
【００５７】
続いて、以下のような処理手順によって、記録サービス要求（送信履歴表Ａ中に記録されていたサービス要求）の処分処理が行われる（図６参照）。
【００５８】
図１２に示すように、中継オブジェクト２０内の送受信制御手段２２は、ステップＣ１で送信履歴表管理手段２４により取得された送信履歴表Ａ（停止したサービスオブジェクト３０に対応するサービスオブジェクト識別子を持つ送信履歴表）内の送信データ履歴として記録されているサービス要求を取り出し（ステップＤ１）、復旧したサービスオブジェクト３０にそのサービス要求を送信する（ステップＤ２）。なお、送信データ履歴として記録されているサービス要求が複数存在する場合には、送信データ履歴として最初に記録されているサービス要求の取り出し・送信を行う。
【００５９】
復旧したサービスオブジェクト３０は、中継オブジェクト２０より送信されたサービス要求を受信すると、図５のステップＣ５ですでに開始されているサービスにより当該サービス要求に基づく処理（サービス処理）を行う（ステップＤ３）。
【００６０】
サービスオブジェクト３０（復旧したサービスオブジェクト３０）は、そのサービス処理が完了すると、中継オブジェクト２０に対してサービス結果を送信する（ステップＤ４）。
【００６１】
中継オブジェクト２０内の送受信制御手段２２は、サービスオブジェクト３０よりサービス結果を受信すると、送信履歴表Ａを参照して、そのサービス結果をすでにユーザオブジェクト１０に送信したか否か（そのサービス結果をユーザオブジェクト１０に返送した旨を示す送信データ履歴が送信履歴表Ａに存在するか否か）を判定する（ステップＤ５）。
【００６２】
送受信制御手段２２は、ステップＤ５で「そのサービス結果をすでにユーザオブジェクト１０に送信した」と判定した場合には、そのサービス結果を破棄する（ステップＤ６）。
【００６３】
一方、送受信制御手段２２は、ステップＤ５で「そのサービス結果をまだユーザオブジェクト１０に送信していない」と判定した場合には、そのサービス結果をユーザオブジェクト１０に送信（返送）する（ステップＤ７）。ユーザオブジェクト１０は、サービスオブジェクト３０から中継オブジェクト２０を介して送信されたサービス結果を受信して、そのサービス結果をサービス利用者に利用サービスの結果として渡す。
【００６４】
また、中継オブジェクト２０内の送信履歴表管理手段２４は、当該サービス結果の受信・ユーザオブジェクト１０への返送の旨を示す送信データ履歴を、送信情報表２１内の送信履歴表Ａに格納（追加）する（ステップＤ８）。
【００６５】
ステップＤ６またはステップＤ８の処理が終了すると、送受信制御手段２２は、図５のステップＣ１で取得された送信履歴表Ａ内に、送信データ履歴として記録された次のサービス要求が存在するか否かを判定する（ステップＤ９）。
【００６６】
ステップＤ９で「次のサービス要求が存在する」と判定された場合には、そのサービス要求が取り出される処理（ステップＤ１の処理）以降の図６中の処理および判定が繰り返される。
【００６７】
以後、送信履歴表Ａ内に送信データ履歴として記録されたサービス要求が全て処理されるまで（ステップＤ９で「次のサービス要求が存在しない」と判定されるまで）、中継オブジェクト２０とサービスオブジェクト３０との間で、サービス要求およびサービス結果の通信が繰り返される。
【００６８】
以上の一連の処理が終了すると、サービスオブジェクト３０によるユーザオブジェクト１０に対するサービスの提供の状態は、サービスオブジェクト３０が障害等の理由により異常停止する前の状態に復元され、ユーザオブジェクト１０からのサービス要求は、サービスオブジェクト３０が障害等の理由により異常停止する前に発行されたサービス要求の続きから発行することが可能になる（図１３参照）。
【００６９】
（２）  第２の実施の形態
【００７０】
図１４は、本発明の第２の実施の形態に係るサービス提供システムの構成を示すブロック図である。
【００７１】
図１４を参照すると、本実施の形態に係るサービス提供システムは、第１の実施の形態と同様に、サービス利用者がサービスを利用する際に使用するユーザオブジェクト１０と、ユーザオブジェクト１０とサービスオブジェクト３０との間の通信を中継し通信内容の履歴を記録する機能を有する中継オブジェクト２０と、サービスを提供するサービスオブジェクト３０とを含んで構成されている。
【００７２】
中継オブジェクト２０は、ユーザオブジェクト１０とサービスオブジェクト３０との間の通信に関する管理情報（タイムアウト制御のための情報を含む）および通信内容の履歴を保持する送信情報表２１と、ユーザオブジェクト１０に対するデータの送受信およびサービスオブジェクト３０に対するデータの送受信を制御する機能を実現する送受信制御手段２２と、自己とユーザオブジェクト１０およびサービスオブジェクト３０との間の接続を行う機能とユーザオブジェクト１０との間の接続情報からユーザオブジェクト識別子を生成する機能とサービスオブジェクト３０との間の接続情報からサービスオブジェクト識別子を生成する機能とを実現する接続制御・識別子生成手段２３と、ユーザオブジェクト識別子およびサービスオブジェクト識別子を有する送信履歴表を生成して送信情報表２１に記録する機能とユーザオブジェクト１０とサービスオブジェクト３０との間のデータの送受信の内容を送信データ履歴として送信履歴表に記録する機能とを実現する送信履歴表管理手段２４と、送信情報表２１内の送信履歴表中のサービスオブジェクト停止時刻の項目を参照してサービスオブジェクト３０に関する障害復旧処理（サービスオブジェクト３０への通信が切断された場合における障害復旧処理）の際におけるタイムアウト制御を行うタイムアウト制御手段２５とを含んで構成されている。
【００７３】
なお、図２は、本実施の形態に係るサービス提供システムが適用されるコンピュータシステムの構成の具体例を示すブロック図にも該当する。
【００７４】
図１５は、本実施の形態における送信情報表２１の具体的な内容を示す図である。
【００７５】
本実施の形態に係るサービス提供システムは、上記の第１の実施の形態に対する変形形態に該当する。すなわち、本実施の形態では、図１５に示すように、送信情報表２１内の各送信履歴表中に、図７に示した送信情報表２１中の各項目に加えて、サービスオブジェクト停止時刻の項目が設けられている。また、図１４に示すように、中継オブジェクト２０内にタイムアウト制御手段２５が設けられている。さらに、中継オブジェクト２０に対して、あらかじめシステム固有のタイムアウト値の設定が行われる（タイムアウト制御手段２５がこのタイムアウト値を管理している）。
【００７６】
第１の実施の形態に係るサービス提供システムでは、サービスオブジェクト３０に障害等が発生して異常停止してから復旧するまでの時間は、特に考慮されていなかった。
【００７７】
これに対して、本実施の形態（第２の実施の形態）では、サービスオブジェクト３０が障害等の理由により異常停止した場合に、中継オブジェクト２０は、タイムアウト制御手段２５によって、サービスオブジェクト３０が停止してから復旧するまでの時間が過度に長時間とならないようにするためのタイムアウト制御を行う。すなわち、タイムアウト制御手段２５は、以下のａ〜ｃに示すような処理を行う。
【００７８】
ａ．サービスオブジェクト３０が異常停止した場合に、当該サービスオブジェクト３０に対するサービスオブジェクト識別子を持つ送信履歴表（この送信履歴表は送信情報表２１を検索することにより取得される。第１の実施の形態の説明における送信履歴表Ａが該当する）中のサービスオブジェクト停止時刻の項目（図１５参照）に、その停止時刻を格納（設定）する。
【００７９】
ｂ．第１の実施の形態の説明で述べたサービスオブジェクト３０に関する障害復旧処理が終了するまで、サービスオブジェクト３０が異常停止した時刻（送信履歴表Ａ内のサービスオブジェクト停止時刻の項目に設定されている時刻）からの経過時間をカウントし、そのカウント値がタイムアウト値（あらかじめタイムアウト制御手段２５において管理されている値）を越えたか否かを判定する。
【００８０】
ｃ．上記のｂで「サービスオブジェクト３０が異常停止した時刻からの経過時間のカウント値がタイムアウト値を越えた」と判定した場合には、送信履歴表Ａ中のユーザオブジェクト識別子で特定されるユーザオブジェクト１０と中継オブジェクト２０との接続を切断し、障害復旧処理を終了させる。
【００８１】
なお、上記以外の構成および動作については、本実施の形態（第２の実施の形態）も第１の実施の形態も同様なものとなる。
【００８２】
（３）  第３の実施の形態
【００８３】
図１６は、本発明の第３の実施の形態の構成を示すブロック図である。
【００８４】
図１６を参照すると、本発明の第３の実施の形態は、図１に示した第１の実施の形態に対して、中継オブジェクト実現プログラム１６００を備える点が異なっている。なお、図１６中の中継オブジェクト２０は、図２における中継用コンピュータ２００上で実行されているものとする。ここで、先にも言及したように、中継オブジェクト２０が実行されるコンピュータは、中継用コンピュータ２００には限定されず、サーバ等の他のコンピュータであってもよい。中継用コンピュータ２００をはじめとする中継オブジェクト２０が実行されるコンピュータを、一般的に、「中継オブジェクト実行コンピュータ」と呼ぶ（後述の第４の実施の形態に関しても同様）。
【００８５】
中継オブジェクト実現プログラム１６００は、中継用コンピュータ２００に読み込まれ、当該中継用コンピュータ２００の動作を中継オブジェクト２０として制御する。中継オブジェクト実現プログラム１６００の制御による中継用コンピュータ２００の動作（送信情報表２１，送受信制御手段２２，接続制御・識別子生成手段２３，および送信履歴表管理手段２４を有する中継オブジェクト２０に関する動作）は、第１の実施の形態における中継オブジェクト２０に関する動作と全く同様になるので、その詳しい説明を割愛する。
【００８６】
（４）  第４の実施の形態
【００８７】
図１７は、本発明の第４の実施の形態の構成を示すブロック図である。
【００８８】
図１７を参照すると、本発明の第４の実施の形態は、図１４に示した第２の実施の形態に対して、中継オブジェクト実現プログラム１７００を備える点が異なっている。なお、図１７中の中継オブジェクト２０は、図２における中継用コンピュータ２００上で実行されているものとする。
【００８９】
中継オブジェクト実現プログラム１７００は、中継用コンピュータ２００に読み込まれ、当該中継用コンピュータ２００の動作を中継オブジェクト２０として制御する。中継オブジェクト実現プログラム１７００の制御による中継用コンピュータ２００の動作（送信情報表２１，送受信制御手段２２，接続制御・識別子生成手段２３，送信履歴表管理手段２４，およびタイムアウト制御手段２５を有する中継オブジェクト２０に関する動作）は、第２の実施の形態における中継オブジェクト２０に関する動作と全く同様になるので、その詳しい説明を割愛する。
【００９０】
【発明の効果】
以上説明したように、本発明によると、以下に示すような効果が生じる。
【００９１】
第１に、ユーザオブジェクトとサービスオブジェクトとの間の通信に通信内容の履歴を記録する機能等を有する中継オブジェクトを介在させることにより、サービスオブジェクトが異常停止して中継オブジェクトとサービスオブジェクトとの間の接続が切断された場合であっても、ユーザオブジェクトと中継オブジェクトとの間の接続は切断することなく維持することができ、中継オブジェクトと復旧したサービスオブジェクトとの間が再接続された場合に、中継オブジェクトに記録されていた通信内容の履歴を基に通信が切断される前の状態に復旧することができるため、ユーザオブジェクトを使用しているサービス利用者にとっては、中継オブジェクトとサービスオブジェクトとの間の接続が切断されたことを意識することなくサービスを利用することが可能になる（サービス利用者の負担が小さくなる）という効果が生じる。
【００９２】
第２に、中継オブジェクトにタイムアウト制御手段を設けて、サービスオブジェクトの停止時間に関するタイムアウト値による制御を行うことにより、上記の第１の効果を達成しつつ、かつ、長時間にわたる中継オブジェクトとユーザオブジェクトとの間の無駄な接続を回避することができるという効果が生じる。
【図面の簡単な説明】
【図１】本発明の第１の実施の形態に係るサービス提供システムの構成を示すブロック図である。
【図２】図１および図１４に示すサービス提供システムが適用されるコンピュータシステムの構成の具体例を示すブロック図である。
【図３】図１に示すサービス提供システムのオブジェクト間接続時における処理を示す流れ図である。
【図４】図１に示すサービス提供システムの正常通信状態サービス提供時における処理を示す流れ図である。
【図５】図１に示すサービス提供システムの障害復旧時における再接続処理を示す流れ図である。
【図６】図１に示すサービス提供システムの障害復旧時における送信履歴表中サービス要求処分処理を示す流れ図である。
【図７】図１中の送信情報表の具体的な内容を示す図である。
【図８】図１に示すサービス提供システムの具体的な動作を説明するためのブロック図である。
【図９】図１に示すサービス提供システムの具体的な動作を説明するためのブロック図である。
【図１０】図１に示すサービス提供システムの具体的な動作を説明するためのブロック図である。
【図１１】図１に示すサービス提供システムの具体的な動作を説明するためのブロック図である。
【図１２】図１に示すサービス提供システムの具体的な動作を説明するためのブロック図である。
【図１３】図１に示すサービス提供システムの具体的な動作を説明するためのブロック図である。
【図１４】本発明の第２の実施の形態に係るサービス提供システムの構成を示すブロック図である。
【図１５】図１４中の送信情報表の具体的な内容を示す図である。
【図１６】本発明の第３の実施の形態の構成を示すブロック図である。
【図１７】本発明の第４の実施の形態の構成を示すブロック図である。
【符号の説明】
１０  ユーザオブジェクト
２０  中継オブジェクト
２１  送信情報表
２２  送受信制御手段
２３  接続制御・識別子生成手段
２４  送信履歴表管理手段
２５  タイムアウト制御手段
３０  サービスオブジェクト
１００  クライアント
２００  中継用コンピュータ
３００  サーバシステム
１６００，１７００  中継オブジェクト実現プログラム
【図１】
2004220231.tif 000003
【図２】
2004220231.tif 000004
【図３】
2004220231.tif 000005
【図４】
2004220231.tif 000006
【図５】
2004220231.tif 000007
【図６】
2004220231.tif 000008
【図７】
2004220231.tif 000009
【図８】
2004220231.tif 000010
【図９】
2004220231.tif 000011
【図１０】
2004220231.tif 000012
【図１１】
2004220231.tif 000013
【図１２】
2004220231.tif 000014
【図１３】
2004220231.tif 000015
【図１４】
2004220231.tif 000016
【図１５】
2004220231.tif 000017
【図１６】
2004220231.tif 000018
【図１７】
2004220231.tif 000019