(57)【特許請求の範囲】
【請求項１】
アプリケーションを提供するアプリケーション提供サーバと、
インターネットを介して前記アプリケーション提供サーバと接続され、前記アプリケーション提供サーバから取得した前記アプリケーションを実行するアプリケーション実行装置と、
前記アプリケーション実行装置とローカルエリアネットワークを介して接続され、前記アプリケーション実行装置に前記アプリケーションの実行を要求するクライアント端末と、を有し、
前記アプリケーション実行装置は、
前記アプリケーション提供サーバから取得した前記アプリケーションを記憶するアプリケーション記憶手段と、
前記アプリケーションの正常状態・異常状態を検知する状態検知手段と、
前記状態検知手段が前記アプリケーションの正常状態を検知した状態で、前記クライアント端末から前記アプリケーションの実行要求があった場合、当該アプリケーションを実行し、実行結果を前記クライアント端末に送信する実行手段と、
前記状態検知手段が前記アプリケーションの異常状態を検知した状態で、前記クライアント端末から前記アプリケーションの実行要求があった場合、前記アプリケーション提供サーバに代理実行を要求する代理実行要求手段と、を備え、
前記アプリケーション提供サーバは、
前記アプリケーション実行装置に提供した前記アプリケーションを記憶する代理アプリケーション記憶手段と、
前記代理実行の要求に基づいて、前記代理アプリケーション記憶手段に記憶されたアプリケーションを実行し、実行結果を前記クライアント端末に送信する代理実行手段と、を備え、
前記クライアント端末は、
前記アプリケーション実行装置が前記アプリケーション実行装置に記憶されたアプリケーションを実行したときには、インターネットを経由することなく前記アプリケーションを実行した実行結果を取得し、
前記アプリケーション提供サーバが前記代理アプリケーション記憶手段に記憶されたアプリケーションを実行したときには、実行結果を、前記アプリケーション実行装置を介して取得することを特徴とするアプリケーション実行システム。
【請求項２】
前記アプリケーション実行装置は、
前記アプリケーションのアカウント情報およびセッション情報を含む同期データを前記アプリケーション提供サーバに送信する同期データ送信手段を備え、
前記アプリケーション提供サーバは、
受信した前記アプリケーションの同期データに基づいて、前記代理アプリケーション記憶手段に記憶されたアプリケーションを更新する請求項１に記載のアプリケーション実行システム。
【請求項３】
前記同期データ送信手段は、前記状態検知手段が前記アプリケーションの正常状態を検知した場合に、前記クライアント端末からの前記アプリケーションの実行要求に応じて、前記アプリケーションの同期データを送信する請求項２に記載のアプリケーション実行システム。
【請求項４】
前記アプリケーション実行装置は、
前記状態検知手段が前記アプリケーションが異常状態から正常状態への切り替わりを検知した場合に、前記アプリケーション提供サーバから、前記アプリケーションの再取得を要求するアプリケーション再取得要求手段を備え、
前記アプリケーション記憶手段は、前記アプリケーション再取得要求手段の要求に対して再取得した前記アプリケーションを再記憶する請求項１ないし３のいずれか１項に記載のアプリケーション実行システム。
【請求項５】
前記アプリケーション実行装置は、
前記クライアント端末からの操作により、前記アプリケーションの環境設定および状態閲覧を行うアプリケーション管理手段を備える請求項１ないし４のいずれか１項に記載のアプリケーション実行システム。
【請求項６】
アプリケーション実行装置でインターネットを介して接続されたアプリケーション提供サーバから取得されたアプリケーションを記憶し、
前記アプリケーション実行装置で前記アプリケーションが正常状態であるか、異常状態であるかを検知し、
前記アプリケーションが正常状態であることを検知しているときに、ローカルネットワークを介して接続されたクライアント端末から前記アプリケーション実行装置に前記アプリケーションの実行要求があった場合、前記アプリケーションを実行し、
前記アプリケーションを実行した結果を前記クライアント端末にインターネットを経由することなく送信し、
前記アプリケーションが異常状態であることを検知しているときに、前記クライアント端末から前記アプリケーション実行装置に前記アプリケーションの実行要求があった場合、前記アプリケーション提供サーバに代理実行を要求し、
前記代理実行を要求された前記アプリケーション提供サーバは、前記アプリケーション提供サーバが記憶したアプリケーションを実行し、
前記アプリケーション提供サーバが記憶したアプリケーションが実行した結果を前記アプリケーション実行装置を介して前記クライアント端末に送信することを特徴とするアプリケーション実行システムのアプリケーション実行方法。
【請求項７】
前記アプリケーション実行装置のアプリケーションのアカウント情報およびセッション情報を含む同期データを前記アプリケーション実行装置から前記アプリケーション提供サーバに送信し、
前記アプリケーション提供サーバは、受信した前記アプリケーションの同期データに基づいて、前記アプリケーション提供サーバが記憶するアプリケーションを更新する請求項６に記載のアプリケーション実行システムのアプリケーション実行方法。
【請求項８】
前記アプリケーション実行装置のアプリケーションが異常状態から正常状態へ切り替わったことを検知した場合に、前記アプリケーション提供サーバから、前記アプリケーションの再取得を要求し、
要求に対して再取得した前記アプリケーションを再記憶する請求項６または７に記載のアプリケーション実行システムのアプリケーション実行方法。
【請求項９】
コンピュータに、請求項６ないし８のいずれか１項に記載のアプリケーション実行システムのアプリケーション実行方法を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＬＡＮ、インターネット等の通信ネットワークを介してアプリケーションを実行するアプリケーション実行システム、アプリケーション実行システムのアプリケーション実行方法およびプログラムに関するものである。
【背景技術】
【０００２】
従来、この種のネットワークシステムにおいて、サーバが、インターネット接続された各端末に対してアプリケーション実行サービスを提供するものが知られている。このネットワークシステムは、利用者が、クライアント端末からインターネット経由でサーバにアクセスすることにより、サーバに保存しているアプリケーションを実行させ、実行結果（出力データ）を取得している（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００３−１８６３８０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、近年、上記のようなネットワークシステムは、様々なベンダにより構築されており、利用者は自分に必要なサービスを選択して利用している。しかし、上記のようなネットワークシステムでは、インターネット回線が不安定な場合に、通信が中断し、十分な応答速度が得られないという問題があった。さらに、サーバがダウンした場合や、回線が切断した場合には、システムが回復するまで利用者がサービスの提供を受けることができないという問題があった。この問題を解決するため、クライアント端末がインターネット経由で上記のサーバにアクセスする構成に代えて、利用者のＬＡＮ内に上記のサーバからアプリケーションを取得し、かつアプリケーションの実行を行う実行サーバを設置する構成が考えられる。このようにすれば、クライアント端末は、ＬＡＮで接続された実行サーバにアクセスすることによりアプリケーションの実行結果を取得することができるため、インターネットを経由してサーバにアクセスする必要がない。
【０００５】
しかし、上記のようにクライアント端末が実行サーバにアクセスする構成にしたとしても、実行サーバのアプリケーションに不具合がある場合には、クライアント端末は、実行サーバからアプリケーションの実行結果を取得することができないという問題があった。この場合、クライアント端末からアプリケーションを提供したサーバにアクセスすることでアプリケーションの実行結果を取得することができるが、アプリケーションに不具合がある度にアプリケーションの実行を停止してアクセス先の設定変更する必要があり、操作が煩雑になるという問題があった。
【０００６】
そこで、サーバの性能や回線品質に左右されることなく、且つアプリケーションの実行を停止することなくシステムを安定的に動作させることができるアプリケーション実行システム、アプリケーション実行システムのアプリケーション実行方法およびプログラムを提供することをその課題としている。
【課題を解決するための手段】
【０００７】
本発明のアプリケーション実行システムは、アプリケーションを提供するアプリケーション提供サーバと、インターネットを介してアプリケーション提供サーバと接続され、アプリケーション提供サーバから取得したアプリケーションを実行するアプリケーション実行装置と、アプリケーション実行装置とローカルエリアネットワークを介して接続され、アプリケーション実行装置にアプリケーションの実行を要求するクライアント端末と、を有し、アプリケーション実行装置は、アプリケーション提供サーバから取得したアプリケーションを記憶するアプリケーション記憶手段と、アプリケーションの正常状態・異常状態を検知する状態検知手段と、状態検知手段がアプリケーションの正常状態を検知した状態で、クライアント端末からアプリケーションの実行要求があった場合、当該アプリケーションを実行し、実行結果をクライアント端末に送信する実行手段と、状態検知手段がアプリケーションの異常状態を検知した状態で、クライアント端末からアプリケーションの実行要求があった場合、アプリケーション提供サーバに代理実行を要求する代理実行要求手段と、を備え、アプリケーション提供サーバは、アプリケーション実行装置に提供したアプリケーションを記憶する代理アプリケーション記憶手段と、代理実行の要求に基づいて、代理アプリケーション記憶手段に記憶されたアプリケーションを実行し、実行結果をクライアント端末に送信する代理実行手段と、を備え、クライアント端末は、アプリケーション実行装置がアプリケーション実行装置に記憶されたアプリケーションを実行したときには、インターネットを経由することなくアプリケーションを実行した実行結果を取得し、アプリケーション提供サーバが代理アプリケーション記憶手段に記憶されたアプリケーションを実行したときには、実行結果を、アプリケーション実行装置を介して取得することを特徴とする。
また、上記のアプリケーション実行システムにおいて、アプリケーション実行装置は、アプリケーションのアカウント情報およびセッション情報を含む同期データをアプリケーション提供サーバに送信する同期データ送信手段を備え、アプリケーション提供サーバは、受信したアプリケーションの同期データに基づいて、代理アプリケーション記憶手段に記憶されたアプリケーションを更新することを特徴とする。
また、上記のアプリケーション実行システムにおいて、同期データ送信手段は、状態検知手段がアプリケーションの正常状態を検知した場合に、クライアント端末からのアプリケーションの実行要求に応じて、アプリケーションの同期データを送信することを特徴とする。
また、上記のアプリケーション実行システムにおいて、アプリケーション実行装置は、状態検知手段がアプリケーションが異常状態から正常状態への切り替わりを検知した場合に、アプリケーション提供サーバから、アプリケーションの再取得を要求するアプリケーション再取得要求手段を備え、アプリケーション記憶手段は、アプリケーション再取得要求手段の要求に対して再取得したアプリケーションを再記憶することを特徴とする。
また、上記のアプリケーション実行システムにおいて、アプリケーション実行装置は、クライアント端末からの操作により、アプリケーションの環境設定および状態閲覧を行うアプリケーション管理手段を備えることを特徴とする。
本発明のアプリケーション実行システムのアプリケーション実行方法は、アプリケーション実行装置でインターネットを介して接続されたアプリケーション提供サーバから取得されたアプリケーションを記憶し、アプリケーション実行装置でアプリケーションが正常状態であるか、異常状態であるかを検知し、アプリケーションが正常状態であることを検知しているときに、ローカルネットワークを介して接続されたクライアント端末からアプリケーション実行装置にアプリケーションの実行要求があった場合、アプリケーションを実行し、アプリケーションを実行した結果をクライアント端末にインターネットを経由することなく送信し、アプリケーションが異常状態であることを検知しているときに、クライアント端末からアプリケーション実行装置にアプリケーションの実行要求があった場合、アプリケーション提供サーバに代理実行を要求し、代理実行を要求されたアプリケーション提供サーバは、アプリケーション提供サーバが記憶したアプリケーションを実行し、アプリケーション提供サーバが記憶したアプリケーションが実行した結果をアプリケーション実行装置を介してクライアント端末に送信することを特徴とする。
また、上記のアプリケーション実行システムのアプリケーション実行方法において、アプリケーション実行装置のアプリケーションのアカウント情報およびセッション情報を含む同期データをアプリケーション実行装置からアプリケーション提供サーバに送信し、アプリケーション提供サーバは、受信したアプリケーションの同期データに基づいて、アプリケーション提供サーバが記憶するアプリケーションを更新することを特徴とする。
また、上記のアプリケーション実行システムのアプリケーション実行方法において、アプリケーション実行装置のアプリケーションが異常状態から正常状態へ切り替わったことを検知した場合に、アプリケーション提供サーバから、アプリケーションの再取得を要求し、要求に対して再取得したアプリケーションを再記憶することを特徴とする。
本発明のプログラムは、コンピュータに、上記に記載のアプリケーション実行システムのアプリケーション実行方法を実行させるためのものであることを特徴とする。
なお、以下の構成としても良い。
本発明のアプリケーション実行システムは、アプリケーションを提供するアプリケーション提供サーバと、アプリケーション提供サーバから取得したアプリケーションを実行するアプリケーション実行装置と、がインターネットにより接続されると共に、アプリケーション実行装置と、当該アプリケーション実行装置にアプリケーションの実行を要求するクライアント端末と、がローカルエリアネットワークにより接続されるアプリケーション実行システムであって、アプリケーション実行装置は、アプリケーション提供サーバから取得したアプリケーションを記憶するアプリケーション記憶手段と、記憶したアプリケーションの正常状態・異常状態を検知する状態検知手段と、状態検知手段がアプリケーションの正常状態を検知した状態で、クライアント端末からアプリケーションの実行要求があった場合、当該アプリケーションを実行し、その実行結果をクライアント端末に送信する実行手段と、状態検知手段が異常状態を検知した状態で、クライアント端末からアプリケーションの実行要求があった場合、アプリケーション提供サーバに代理実行を要求する代理実行要求手段と、を備え、アプリケーション提供サーバは、提供したアプリケーションと同一の代理アプリケーションを記憶する代理アプリケーション記憶手段と、代理実行の要求に基づいて、代理アプリケーションを実行し、その実行結果をクライアント端末に送信する代理実行手段と、を備え、クライアント端末は、アプリケーション実行装置がアプリケーションを実行したときには、インターネットを経由することなくアプリケーションを実行した実行結果を取得し、アプリケーション提供サーバが代理アプリケーションを実行したときには、代理アプリケーションを実行した実行結果が送信されることを特徴とする。
【０００８】
本発明のアプリケーション実行システムのアプリケーション実行方法は、アプリケーションを提供するアプリケーション提供サーバと、アプリケーション提供サーバから取得したアプリケーションを実行するアプリケーション実行装置と、がインターネットにより接続されると共に、アプリケーション実行装置と、当該アプリケーション実行装置にアプリケーションの実行を要求するクライアント端末と、がローカルエリアネットワークにより接続されるアプリケーション実行システムのアプリケーション実行方法であって、アプリケーション実行装置が、アプリケーション提供サーバから取得したアプリケーションを記憶するステップと、記憶したアプリケーションの正常状態・異常状態を検知するステップと、状態検知手段がアプリケーションの正常状態を検知した状態で、クライアント端末からアプリケーションの実行要求があった場合、当該アプリケーションを実行し、その実行結果をクライアント端末に送信するステップと、状態検知手段が異常状態を検知した状態で、クライアント端末からアプリケーションの実行要求があった場合、アプリケーション提供サーバに代理実行を要求するステップと、を実行し、アプリケーション提供サーバが、提供したアプリケーションと同一の代理アプリケーションを記憶するステップと、代理実行の要求に基づいて、代理アプリケーションを実行し、その実行結果をクライアント端末に送信するステップと、を実行し、クライアント端末は、アプリケーション実行装置がアプリケーションを実行したときに、インターネットを経由することなくアプリケーションの実行結果を取得するステップと、アプリケーション提供サーバが代理アプリケーションを実行したときに、代理アプリケーションが実行した実行結果が送信されるステップと、を実行することを特徴とする。
【０００９】
これらの構成によれば、クライアント端末は、例えば、インターネットを経由することなく、ＬＡＮで接続されたアプリケーション実行装置にアクセスすることによりアプリケーションの実行結果を取得することができる。これにより、インターネット回線に左右されることなく、安定した環境の中でアプリケーションを実行させることができる。
また、アプリケーション実行装置のアプリケーションに不具合がある場合でも、クライアント端末からの実行要求に応じて、当該アプリケーションと同一の代理アプリケーションを有するアプリケーション提供サーバに代理実行を要求してアプリケーションの実行結果を取得することができる。これにより、アプリケーション提供サーバを代理実行サーバとして利用することができ、代理実行装置を新たに追加する構成と比べて、低コストでシステム構築を行うことができる。さらに、アプリケーション実行装置において、アプリケーションが異常状態である場合、クライアント端末からアプリケーション実行装置への実行要求を自動的にアプリケーション提供サーバへの代理実行要求に切り換えるため、アプリケーション実行装置のアプリケーションに不具合がある度にアプリケーションの実行を停止して、クライアント端末において実行要求先を設定変更する必要がない。これにより、クライアント端末は、アプリケーションの不具合を意識することなくアプリケーションの実行結果を取得することができる。なお、ここでいう「アプリケーション」とは、アプリケーションプログラムと、アプリケーションプログラムで利用されるデータベースと、を含むものである。また、「異常状態」とは、正常状態でない状態であり、例えば、アプリケーションに対して定期的に送信される生存信号に応答しない場合をいう。
【００１０】
この場合、アプリケーション実行装置は、アプリケーションのアカウント情報およびセッション情報を含む同期データをアプリケーション提供サーバに送信する同期データ送信手段を更に備え、アプリケーション提供サーバは、受信したアプリケーションの同期データに基づいて、代理アプリケーションを更新することが、好ましい。
【００１１】
この場合、アプリケーション実行装置が、アプリケーションのアカウント情報およびセッション情報を含む同期データをアプリケーション提供サーバに送信するステップを更に実行し、アプリケーション提供サーバが、受信したアプリケーションの同期データに基づいて、代理アプリケーションを更新するステップを更に実行することが、好ましい。
【００１２】
これらの構成によれば、アプリケーション提供サーバは、アプリケーション実行装置から送信された同期データにより、アプリケーション実行装置との同期をとることができる。これにより、クライアント端末は、アプリケーション実行装置に実行要求した場合の実行結果と同一の実行結果をアプリケーション提供サーバから取得することができる。また、アプリケーション提供サーバをアプリケーション実行装置のバックアップサーバとして利用することができ、アプリケーション実行装置にバックアップ装置を新たに追加する構成と比べて低コストでシステムを構築することができる。
【００１３】
この場合、同期データ送信手段は、状態検知手段が正常状態を検知した場合に、クライアント端末からのアプリケーションの実行要求に応じて、アプリケーションの同期データを送信することが、好ましい。
【００１４】
この構成によれば、アプリケーションの正常状態時に、クライアント端末からの実行要求を受ける度に、アプリケーション提供サーバにバックアップをとるため、アプリケーション実行装置のアプリケーションに不具合が生じた場合に、復旧の対象となるデータが少なく、短時間でアプリケーションを復旧させることができる。
【００１５】
これらの場合、同期データ送信手段は、状態検知手段が異常状態を検知した場合に、アプリケーションの同期データを送信することが、好ましい。
【００１６】
この構成によれば、アプリケーション提供サーバの代理実行時にはアプリケーション実行装置との同期がとれている状態となっているため、クライアント端末は、アプリケーション実行装置において実行する場合と同一の実行結果を、アプリケーション提供サーバから確実に取得することができる。
【００１７】
これらの場合、アプリケーション提供サーバは、代理アプリケーションのアカウント情報およびセッション情報を含む同期データをアプリケーション実行装置に送信する代理同期データ送信手段を更に備え、アプリケーション実行装置は、受信した代理アプリケーションの同期データに基づいて、アプリケーションを更新することが、好ましい。
【００１８】
この場合、代理アプリケーションの同期データは、バージョンアップデータまたはパッチデータを更に含むことが、好ましい。
【００１９】
これらの構成によれば、アプリケーション実行装置は、アプリケーション提供サーバから送信された同期データにより、アプリケーション提供サーバとの同期をとることができる。これにより、アプリケーション実行サーバが代理実行しているときは、アプリケーション実行装置をアプリケーション提供サーバのバックアップサーバとして利用することができる。また、アプリケーション提供サーバからバージョンアップデータやパッチデータを送信することで、アプリケーション実行装置のアプリケーションのメンテナンスを行うことができる。例えば、アプリケーション実行装置のアプリケーションに障害が発生した場合には、パッチデータ等をアプリケーション実行装置に送信し、障害対応をすることができる。また、アプリケーションに新たに機能を追加したい場合には、バージョンアップデータを送信し、アプリケーションをバーションアップさせることができる。
【００２０】
これらの場合、アプリケーション実行装置は、状態検知手段が異常状態から正常状態への切り替わりを検知した場合に、アプリケーション提供サーバから、代理アプリケーションと同一のアプリケーションの再取得を要求するアプリケーション再取得要求手段を更に備え、アプリケーション記憶手段は、アプリケーション再取得要求手段の要求に対して再取得したアプリケーションを再記憶することが、好ましい。
【００２１】
これらの場合、アプリケーション実行装置が、状態検知手段が異常状態から正常状態への切り替わりを検知した場合に、アプリケーション提供サーバから、代理アプリケーションと同一のアプリケーションの再取得を要求すると共に、要求に対して再取得したアプリケーションを再記憶するステップを更に実行することが、好ましい。
【００２２】
これらの構成によれば、アプリケーション実行装置のアプリケーションが復旧した場合に、アプリケーション実行装置のアプリケーションの障害時に、代理実行していたアプリケーション提供サーバの環境をアプリケーション実行装置がそのまま引き継ぐことができる。これにより、クライアント端末は、アプリケーションの障害復旧を意識することなく、アプリケーションの実行結果を取得することができる。
【００２３】
これらの場合、アプリケーション実行装置は、クライアント端末からの操作により、アプリケーションの環境設定および状態閲覧を行うためのアプリケーション管理手段をさらに備えたことが、好ましい。
【００２４】
この構成によれば、クライアント端末からアプリケーションの環境設定および状態閲覧を行うことができ、アプリケーション実行装置に入力デバイスや出力デバイスなどを設ける必要がなく、アプリケーション実行装置を低コストで簡易な構成とすることができる。ここでいう「環境設定」とは、ユーザ毎の実効権限の設定や認証設定等をいう。
【００２５】
本発明のコンピュータは、上記のアプリケーション実行システムに用いられるアプリケーション実行装置またはアプリケーション提供サーバとして機能することを特徴とする。
【００２６】
本発明のプログラムは、コンピュータに、上記のアプリケーション実行システムのアプリケーション実行方法における各ステップを実行させることを特徴とする。
【００２７】
これらの構成によれば、サーバの性能や回線品質に左右されることなく、且つアプリケーションの実行を停止することなくシステムを安定的に動作させることができるコンピュータおよびプログラムを提供することができる。
【図面の簡単な説明】
【００２８】
【図１】アプリケーション実行システムのシステム構成図である。
【図２】アプリケーション実行システムの制御構成図である。
【図３】アプリケーション実行装置の実行環境の模式図である。
【図４】アプリケーション実行システムにおけるアプリケーション実行セットの取得処理を示すフローチャートである。
【図５】アプリケーション実行システムにおけるアプリケーション実行セットの正常時実行処理を示すフローチャートである。
【図６】アプリケーション実行システムにおけるアプリケーション実行セットの異常時実行処理を示すフローチャートである。
【図７】アプリケーション実行システムにおけるアプリケーション実行セットの復旧処理を示すフローチャートである。
【発明を実施するための形態】
【００２９】
以下、添付の図面を参照して、本発明の実施形態に係るアプリケーション実行システム、アプリケーション実行システムのアプリケーション実行方法およびプログラムについて説明する。本発明は、利用者のＬＡＮ内に設置された実行サーバのアプリケーションプログラムに不具合がある場合に、アプリケーションプログラムの提供元のサーバが、実行サーバの代わりにインターネット経由で代理実行するものである。
【００３０】
最初に図１のシステム構成図を参照して、本発明の一実施形態に係るアプリケーション実行システム１のシステム構成について説明する。本発明のアプリケーション実行システム１は、アプリケーションプログラム１２と当該アプリケーションプログラム１２の実行時に使用する少なくとも１以上のデータベース１３とを１セットにしたアプリケーション実行セット１１ａ（アプリケーション）を提供する複数のベンダ（Ｘ社、Ｙ社）が所有する各アプリケーション提供サーバ２ａ、２ｂと、アプリケーション実行システム１を管理するプラットフォーム管理者（Ｐ社）が所有する単一の管理サーバ３と、アプリケーション実行セット１１ａを利用する複数の利用者（Ａ社、Ｂ社）の事業所（事業所Ａ１、Ａ２、Ａ３、Ｂ１、Ｂ２、Ｂ３）に設置される各アプリケーション実行装置４ａａ、４ａｂ、４ａｃ、４ｂａ、４ｂｂ、４ｂｃと、がインターネット６（第１のネットワーク）で接続されると共に、各アプリケーション実行装置４と、当該アプリケーション実行装置４にアプリケーション実行セット１１ａの実行を要求する２台のクライアント端末５とが、事業所内ＬＡＮ７（第２のネットワーク）により接続されている。
【００３１】
管理サーバ３は、例えばＰ社のデータセンターに設置され、アプリケーション提供者が、利用者（アプリケーション実行装置４）にアプリケーション実行セット１１ａを提供するための受付窓口として機能する。そして、利用者は、管理サーバ３から、管理サーバ３に登録されている複数のアプリケーション実行セット１１ａの情報（アプリケーション提供サーバ２のアドレス等）を取得し、その情報に基づいて、アプリケーション提供サーバ２からアプリケーション実行セット１１ａを取得する。これにより、利用者は、容易にアプリケーション実行セット１１ａを検索することができると共に、アプリケーション実行セット１１ａの選択の幅を広げることができる。また、管理サーバ３は、利用者からアプリケーション実行セット１１ａの利用状況を取得し、取得した情報に基づいて提供者（アプリケーション提供サーバ２）に支払う課金情報の管理を行っている。
【００３２】
アプリケーション実行装置４は、利用者の各事業所に設置され、アプリケーション提供サーバ２からダウンロードしたアプリケーション実行セット１１ａを、各事業所のクライアント端末５からの実行要求に応じて実行する。すなわち、アプリケーション実行装置４は、事業所内において、例えばハウジングサービスやホスティングサービスといったサーバーベースコンピューティング（ＳＢＣ）のサーバとして機能する。これにより各クライアント端末５は、アプリケーション実行セット１１ａをインストールすることなく、アプリケーション実行セット１１ａの実行結果を取得することができる構成となっている。また、クライアント端末５は、インターネット６を経由することなく、事業所内ＬＡＮ７で接続されたアプリケーション実行装置４にアクセスしてアプリケーション実行セット１１ａの実行結果を取得することができるため、インターネット回線に左右されることなく、安定した環境の中でアプリケーション実行セット１１ａを実行させることができる。
【００３３】
アプリケーション提供サーバ２は、アプリケーション実行装置４の要求に応じてアプリケーション実行セット１１ａを提供する他、アプリケーション実行装置４において、アプリケーション実行セット１１ａの不具合が生じた場合に、アプリケーション実行装置４の代わりにクライアント端末５に実行結果を返信するものである。この場合、アプリケーション提供サーバ２は、アプリケーション実行装置４のアプリケーション実行セット１１ａと同一の代理アプリケーション実行セット１１ｂを記憶し、これを実行することにより同一の実行結果をクライアント端末５に返信する。また、各アプリケーションプログラム１２は、ベンダ毎によって異なる開発環境で作成され、各データベース１３は、各アプリケーションプログラム１２に対応して構築されたものである。
【００３４】
続いて、図２の制御構成図を参照して本発明のアプリケーション実行システム１を構成する各装置（アプリケーション提供サーバ２、管理サーバ３、アプリケーション実行装置４およびクライアント端末５）の制御構成について説明する。
【００３５】
アプリケーション実行装置４は、通信インターフェース２１、入出力インターフェース２２、内部バス２３、ＣＰＵ２４（Central Processing Unit）、ＲＯＭ２５（Read Only Memory）、ＲＡＭ２６（Random Access Memory）およびＨＤＤ２７（Hard Disk Drive）を備えている。また、ＲＯＭ２５には制御プログラム３１や管理ツール３３（アプリケーション管理手段：後述する）が記憶され、ＨＤＤ２７には、アプリケーション実行セット１１ａを実行するために構築された実行環境３２が複数記憶される。
【００３６】
実行環境３２は、アプリケーション実行セット１１ａ毎に構築され、アプリケーションプログラム１２を動作させるための動作環境となるコンテナ３４と、アプリケーションプログラム１２の使用時にデータベース１３にアクセスするためのデータベースエンジン３５と、を備えている（図３参照）。また、実行環境３２毎にＲＡＭ２６のメモリ領域等のリソースが割り当てられており、例えば、メモリリークが生じた場合でも、他の実行環境３２に配置したアプリケーション実行セット１１ａが影響を受け、動作が停止することがない。
【００３７】
制御プログラム３１は、アプリケーション実行セット１１ａの状態を定期的に検知し、検知した状態に基づいてアプリケーション実行セット１１ａの実行処理、同期処理および復旧処理をＣＰＵ２４で制御するものである。アプリケーション実行セット１１ａの状態検知方法としては、アプリケーション実行セット１１ａに、アプリケーション実行セット１１ａの状態を応答する応答プログラムを組み込み、制御プログラム３１に組み込まれた送信プログラムに従って送信された信号の応答結果によって、ＣＰＵ２４がアプリケーション実行セット１１ａの状態を検知する。そして、ＣＰＵ２４は、応答プログラムから応答信号があれば正常状態を検知し、応答信号がなければ異常状態を検知する（状態検知手段）。なお、状態検知方法は、この方法に限られるものではなく、例えば、バックグランドにおいて実際にアプリケーション実行セット１１ａを実行できるか否かで状態検知する構成としてもよい。
【００３８】
そして、ＣＰＵ２４は、アプリケーション実行セット１１ａの正常状態を検知した状態で、クライアント端末５からアプリケーション実行セット１１ａの実行要求があった場合、当該アプリケーション実行セット１１ａを実行し、実行結果をクライアント端末５に送信する（実行手段）。一方、ＣＰＵ２４は、アプリケーション実行セット１１ａの異常状態を検知した状態で、クライアント端末５からアプリケーション実行セット１１ａの実行要求があった場合、前記アプリケーション提供サーバ２に代理実行要求を行う（代理実行要求手段）。
【００３９】
また、アプリケーション実行装置４は、アプリケーション提供サーバ２と同期をとっており、アプリケーション実行セット１１ａのアカウント情報およびセッション情報を含む同期データをアプリケーション提供サーバ２に送信する（同期データ送信手段）。
【００４０】
この場合、ＣＰＵ２４は、アプリケーション実行セット１１ａの正常状態を検知した場合には、クライアント端末５からアプリケーション実行セット１１ａの実行要求に応じて、同期データをアプリケーション提供サーバ２に送信する。クライアント端末５からの実行要求を受ける度に、アプリケーション提供サーバ２に同期データを送信してバックアップをとるため、アプリケーション実行装置４のアプリケーション実行セット１１ａに不具合が生じた場合に、復旧の対象となるデータが少なく、短時間でアプリケーション実行セット１１ａを復旧させることができる。
【００４１】
また、ＣＰＵ２４は、アプリケーション実行セット１１ａの異常状態を検知した場合には、その都度、同期データをアプリケーション提供サーバ２に送信する。これにより、アプリケーション提供サーバ２の代理実行時にはアプリケーション実行装置４との同期がとれている状態となっているため、クライアント端末５は、アプリケーション実行装置４において実行する場合と同一の実行結果を、アプリケーション提供サーバ２から確実に取得することができる。
【００４２】
そして、送信された同期データに基づいて、アプリケーション提供サーバ２は、後述する代理実行環境５２に配備された代理アプリケーション実行セット１１ｂの更新を行い、アプリケーション実行装置４との同期をとる構成となっている。このように、アプリケーション提供サーバ２をアプリケーション実行装置４のバックアップサーバとして利用することができ、事業所内ＬＡＮ７にバックアップ装置を新たに追加する構成と比べて低コストでシステムを構築することができる。なお、ここでいう、アカウント情報は、アプリケーション実行セット１１ａの実行権限の付与や認証設定に用いられるものであり、ユーザの属するグループ名、ユーザ名、パスワードを含んでいる。また、セッション情報は、アプリケーション実行セット１１ａの異常状態検知時にアプリケーション提供サーバ２において、実行処理の継続性を確保するために用いられるものであり、セッションＩＤ、セッション有効／無効フラグ、セッション停止の最長時間、セッションの最終アクセス時刻、セッションが属するアプリケーション実行セット名、セッション時における更新データを含んでいる。
【００４３】
さらに、ＣＰＵ２４が、アプリケーション実行セット１１ａの異常状態から正常状態への切り替わりを検知すると、復旧処理を行うため、アプリケーション実行装置４は、アプリケーション提供サーバ２から代理アプリケーション実行セット１１ｂと同一のアプリケーション実行セット１１ａを再取得する。具体的には、アプリケーション実行装置４からアプリケーション実行セット１１ａの再取得要求がされた場合（アプリケーション再取得要求手段）、ＣＰＵ２４がアプリケーション提供サーバ２の代理実行環境５２に配備された代理アプリケーション実行セット１１ｂを複製し、アプリケーション実行装置４に送信する。そして、アプリケーション実行装置４は、再取得したアプリケーション実行セット１１ａを実行環境３２に再配備する。このように、アプリケーション実行装置４のアプリケーション実行セット１１ａが復旧した場合に、アプリケーション実行装置４のアプリケーション実行セット１１ａの障害時に、代理実行していたアプリケーション提供サーバ２の環境をアプリケーション実行装置４がそのまま引き継ぐことができる。これにより、クライアント端末５は、アプリケーション実行セット１１ａの障害復旧を意識することなく、アプリケーション実行セット１１ａの実行結果を取得することができる。
【００４４】
管理ツール３３は、クライアント端末５からの操作により、アプリケーション実行セット１１ａの環境設定および状態閲覧を行うものである。ここでいう環境設定とは、実行権限の付与や認証設定のことである。実行権限の付与は、アプリケーション実行セット１１ａ毎に、実行可能なグループ名やユーザ名を設定することにより行われる。また、認証設定は、アプリケーション実行セット１１ａ毎に、ユーザ名やパスワードを設定することにより行われる。このように、クライアント端末５から環境設定や状態閲覧を行うことができるため、アプリケーション実行装置４に入出力デバイスを設ける必要がなく、簡易な構成とすることができる。
【００４５】
アプリケーション提供サーバ２は、入力デバイス４８、ディスプレイ４９、通信インターフェース４１、入出力インターフェース４２、内部バス４３、ＣＰＵ４４、ＲＯＭ４５、ＲＡＭ４６およびＨＤＤ４７を備えている。また、ＲＯＭ４５には制御プログラム５１が記憶され、ＨＤＤ４７には、アプリケーション実行装置４に提供するための提供用のアプリケーション実行セット１１ａ、アプリケーション実行セット１１ａと同一の代理実行用の代理アプリケーション実行セット１１ｂおよび代理アプリケーション実行セット１１ｂの代理実行環境５２が記憶される。
【００４６】
制御プログラム５１は、アプリケーション実行セット１１ａの配信処理、代理実行処理および同期処理をＣＰＵ４４で制御するものである。アプリケーション実行セット１１ａの配信処理は、ＣＰＵ４４がアプリケーション実行装置４からの要求に応じてＨＤＤ４７に記憶されたアプリケーション実行セット１１ａを配信するものである。そして、ＣＰＵ４４は、アプリケーション実行セット１１ａがアプリケーション実行装置４に配信されるのに併せて、ＨＤＤ４７内に配信したアプリケーション実行セット１１ａと同一の代理アプリケーション実行セット１１ｂを複製する。さらに、複製した代理アプリケーション実行セット１１ｂを代理実行環境５２に配備する（代理アプリケーション記憶手段）。
【００４７】
そして、ＣＰＵ４４は、アプリケーション実行装置４のアプリケーション実行セット１１ａに不具合が生じ、アプリケーション実行装置４からの代理実行要求を受信すると、代理実行環境５２において代理アプリケーション実行セット１１ｂを実行し、実行結果をクライアント端末５に返信する（代理実行手段）。この場合、アプリケーション実行装置４を介してクライアント端末５に返信する構成としてもよいし、クライアント端末５に直接返信する構成としてもよい。
【００４８】
また、アプリケーション提供サーバ２は、アプリケーション実行装置４と同期をとっており、同期データをアプリケーション実行装置４に送信する（代理同期データ送信手段）。そして、送信された同期データに基づいて、アプリケーション実行装置４は、ＨＤＤ２７に記憶されたアプリケーション実行セット１１ａの更新を行い、アプリケーション提供サーバ２との同期をとる構成となっている。これにより、アプリケーション提供サーバ２が代理実行しているときは、アプリケーション実行装置４をアプリケーション提供サーバ２のバックアップサーバとして利用することができる。
【００４９】
また、アプリケーション提供サーバ２は、バージョンアップデータやパッチデータを含めて同期データをアプリケーション実行装置４に送信することにより、リモートでアプリケーション実行装置４のメンテナンスができる構成になっている。例えば、アプリケーション実行装置４のアプリケーション実行セット１１ａに障害が発生した場合には、パッチデータをアプリケーション実行装置４に送信し、障害対応をすることができる。また、アプリケーション実行セット１１ａに新たに機能を追加したい場合には、バージョンアップデータを送信し、アプリケーション実行セット１１ａをバーションアップさせることができる。
【００５０】
管理サーバ３およびクライアント端末５は、アプリケーション提供サーバ２と同一のハードウェア構成であるため、説明を省略する。なお、クライアント端末５は、パーソナルコンピュータに限られるものではなく、レシート発行装置等の各種印刷装置や携帯情報端末でもよい。
【００５１】
続いて、アプリケーション実行システム１におけるアプリケーション実行セット１１ａの取得処理、正常時実行処理、異常時実行処理および復旧処理の流れについて説明する。最初に、図４のフローチャートを参照して、アプリケーション実行セット１１ａの取得処理の流れについて説明する。
【００５２】
まず、クライアント端末５からのダウンロード要求に基づいて、アプリケーション実行装置４は、所望のアプリケーション実行セット１１ａを記憶しているアプリケーション提供サーバ２のＵＲＬにアクセスする（Ｓ０１）。そして、アプリケーション提供サーバ２は、アプリケーション実行セット１１ａを代理アプリケーション実行セット１１ｂとして複製し、代理実行環境５２に配備してアプリケーション実行セット１１ａの送信準備を完了する（Ｓ０２）。アプリケーション提供サーバ２は、アプリケーション実行セット１１ａをアプリケーション実行装置４に送信する（Ｓ０３）。アプリケーション実行装置４は、受信したアプリケーション実行セット１１ａを、実行環境３２に配備して起動し、アプリケーション実行セット１１ａの実行準備を完了する（Ｓ０４）。
【００５３】
続いて、図５のフローチャートを参照して、アプリケーション実行システム１におけるアプリケーション実行セット１１ａの正常時実行処理の流れについて説明する。
【００５４】
アプリケーション実行装置４が、アプリケーション実行セット１１ａの正常状態を検知した状態で、クライアント端末５からアプリケーション実行セット１１ａの実行要求がされると（Ｓ１１）、アプリケーション実行装置４は、アプリケーション実行セット１１ａを実行する（Ｓ１２）。そして、アプリケーション実行装置４は、アプリケーション実行セット１１ａの実行により、変更が加わった同期データをアプリケーション提供サーバ２に送信すると共に、実行結果をクライアント端末５に返信する（Ｓ１３）。アプリケーション提供サーバ２は、受信した同期データに基づいて、代理アプリケーション実行セット１１ｂを更新する（Ｓ１４）。このようにアプリケーション実行装置４は、アプリケーション実行セット１１ａを実行する度に、同期をとる構成となっている。
【００５５】
続いて、図６のフローチャートを参照して、アプリケーション実行システム１におけるアプリケーション実行セット１１ａの異常時実行処理の流れについて説明する。
【００５６】
アプリケーション実行装置４が、アプリケーション実行セット１１ａの異常状態を検知すると（Ｓ２１）、アプリケーション実行装置４は、アプリケーション提供サーバ２に代理アプリケーション実行セット１１ｂの起動要求を行う（Ｓ２２）。そして、アプリケーション実行装置４が、未処理の同期データをアプリケーション提供サーバ２に送信し（Ｓ２３）、アプリケーション提供サーバ２は、受信した同期データに基づいて、代理アプリケーション実行セット１１ｂを更新して起動し、代理アプリケーション実行セット１１ｂの代理実行準備を完了する（Ｓ２４）。代理実行準備が完了すると、アプリケーション提供サーバ２は、その旨をアプリケーション実行装置４に返信する（Ｓ２５）。
【００５７】
この状態で、クライアント端末５からアプリケーション実行装置４にアプリケーション実行セット１１ａの実行要求がされると（Ｓ２６）、アプリケーション実行装置４は、アプリケーション提供サーバ２に代理アプリケーション実行セット１１ｂの代理実行要求を行う（Ｓ２７）。アプリケーション提供サーバ２は、代理実行要求に基づいて、代理アプリケーション実行セット１１ｂを代理実行し（Ｓ２８）、実行結果をアプリケーション実行装置４に返信し、アプリケーション実行装置４は、さらに受信した実行結果をクライアント端末５に転送する（Ｓ２９）。
【００５８】
最後に、図７のフローチャートを参照して、アプリケーション実行システム１におけるアプリケーション実行セット１１ａの復旧処理の流れについて説明する。
【００５９】
アプリケーション実行装置４は、アプリケーション実行装置４の異常状態から正常状態への切り替わりを検知すると（Ｓ３１）、復旧要求をアプリケーション提供サーバ２に送信する（Ｓ３２）。アプリケーション提供サーバ２は、復旧要求を受信すると、代理アプリケーション実行セット１１ｂを停止する（Ｓ３３）。そして、アプリケーション提供サーバ２は、代理アプリケーション実行セット１１ｂを複製し、アプリケーション実行セット１１ａとして、アプリケーション実行装置４に再送信する（Ｓ３４）。アプリケーション実行装置４は、受信したアプリケーション実行セット１１ａを、実行環境３２に配備して起動し、アプリケーション実行セット１１ａの実行準備を完了する（Ｓ３５）。
【００６０】
以上の構成によれば、アプリケーション実行装置４のアプリケーション実行セット１１ａに不具合がある場合でも、クライアント端末５からの実行要求に応じて、当該アプリケーション実行セット１１ａと同一の代理アプリケーション実行セット１１ｂを有するアプリケーション提供サーバ２に代理実行を要求してアプリケーション実行セット１１ａの実行結果を取得することができる。これにより、アプリケーション提供サーバ２を代理実行サーバとして利用することができ、代理実行装置を新たに追加する構成と比べて、低コストでシステム構築を行うことができる。さらに、アプリケーション実行装置４において、アプリケーション実行セット１１ａが異常状態である場合、クライアント端末５からアプリケーション実行装置４への実行要求を自動的にアプリケーション提供サーバ２への代理実行要求に切り換えるため、アプリケーション実行装置４のアプリケーション実行セット１１ａに不具合がある度にアプリケーション実行セット１１ａの実行を停止して、クライアント端末５において実行要求先を設定変更する必要がない。これにより、クライアント端末５は、アプリケーション実行セット１１ａの不具合を意識することなくアプリケーション実行セット１１ａの実行結果を取得することができる。
【００６１】
また、アプリケーション実行装置４が、複数のアプリケーション提供サーバ２からアプリケーション実行セット１１ａの配信を受けている場合には、アプリケーション実行セット１１ａ毎に代理実行処理が行われるため、１つのアプリケーション実行セット１１ａに不具合が生じても、他のアプリケーション実行セット１１ａについては、事業所内ＬＡＮ７内で実行することができる。さらに、アプリケーション実行セット１１ａ毎に、提供元のアプリケーション提供サーバ２にバックアップをするため、全てのアプリケーション実行セット１１ａを単一のバックアップサーバにバックアップする構成と比較して、障害時の復旧作業が容易となる。
【００６２】
一方で、上記の例に示した、アプリケーション実行システム１の各機能をソフトウェアプログラムとして提供することも可能である。また、そのプログラムを記録媒体（図示省略）に格納して提供できる。記録媒体としては、ＣＤ−ＲＯＭ、フラッシュＲＯＭ、メモリカード（コンパクトフラッシュ（登録商標）、スマートメディア、メモリースティック等）、光磁気ディスク、デジタルバーサタイルディスクおよびフレキシブルディスク等を利用することができる。
【００６３】
上記に示した実施例によらず、アプリケーション実行システム１の処理工程について、本発明の要旨を逸脱しない範囲で、適宜変更も可能である。
【符号の説明】
【００６４】
１…アプリケーション実行システム  ２…アプリケーション提供サーバ  ４…アプリケーション実行装置  ５…クライアント端末  ６…インターネット（第１のネットワーク）  ７…事業所内ＬＡＮ（第２のネットワーク）  １１ａ…アプリケーション実行セット  １１ｂ…代理アプリケーション実行セット  ３３…管理ツール（アプリケーション管理手段）
【図１】
0005494710.tif 000002
【図２】
0005494710.tif 000003
【図３】
0005494710.tif 000004
【図４】
0005494710.tif 000005
【図５】
0005494710.tif 000006
【図６】
0005494710.tif 000007
【図７】
0005494710.tif 000008