(57)【要約】【課題】クライアント端末を簡易な構成とし、且つサーバの障害に因らずシステムを継続して稼動し得るネットワークシステム等を提供することをその課題とする。【解決手段】サーバおよびサーバ代理装置がＷＡＮ接続されるとともに、当該サーバ代理装置およびクライアント端末がＬＡＮ接続されるネットワークシステムであり、サーバおよびサーバ代理装置は、互いに同期しながらアプリケーションおよびデータベースを記憶しており、サーバ代理装置が、クライアント端末からの処理要求に応じて、処理要求に含まれるサーバの処理アドレスを自身のアドレスであって実際に処理を行うアドレスである実アドレスに変換し、処理を実行して処理結果をクライアント端末に返すものである。【選択図】図１
2008015857.tif 000002
【特許請求の範囲】
【請求項１】
第１のネットワークで接続されたサーバおよびサーバ代理装置、並びに当該サーバ代理装置と第２のネットワークで接続されたクライアント端末、から構成されるネットワークシステムであって、
前記サーバは、
アプリケーションおよび当該アプリケーションが参照するデータベースを記憶するサーバアプリケーション記憶手段と、
前記サーバアプリケーション記憶手段の前記アプリケーションおよび前記データベースの変化を検知するサーバ変化検知手段と、
前記サーバ変化検知手段による変化検知に応じて、変更された差分データを前記サーバ代理装置に送信するサーバ差分データ送信手段と、を有し、
前記クライアント端末は、
前記サーバの処理アドレスを指定し、前記第２のネットワークを介して当該サーバに処理を要求する処理要求手段、を備え、
前記サーバ代理装置は、
前記アプリケーションおよび前記データベースを記憶する装置アプリケーション記憶手段と、
受信した前記差分データに基づき前記装置アプリケーション記憶手段の前記アプリケーションおよび前記データベースを更新する装置更新手段と、
前記クライアント端末から送信される前記処理アドレスを、前記サーバ代理装置内のアドレスであって実際に処理を行うアドレスである実アドレスに変換するアドレス変換手段と、
変換した前記実アドレスにおいて、記憶した前記アプリケーションを用いて前記クライアント端末から要求された処理を実行する装置処理実行手段と、
前記装置処理実行手段による処理結果を前記クライアント端末に送信する処理結果送信手段と、備えることを特徴とするネットワークシステム。
【請求項２】
前記サーバには複数の前記サーバ代理装置が接続されており、
前記各サーバ代理装置は、
前記サーバアプリケーション記憶手段のアプリケーションのうち、自身が利用するアプリケーションを前記装置アプリケーション記憶手段に記憶するものであって、
前記サーバは、
前記各サーバ代理装置の識別情報と、当該各サーバ代理装置が利用するアプリケーションとを関連付けた同期情報を記憶する同期情報記憶手段、をさらに備え、
前記サーバ差分データ送信手段は、
前記同期情報に基づき、変化が生じた前記アプリケーションまたは前記データベースを利用する前記サーバ代理装置に対して、前記差分データを送信することを特徴とする請求項１に記載のネットワークシステム。
【請求項３】
前記サーバ代理装置は、
前記装置アプリケーション記憶手段の前記アプリケーションおよび前記データベースの変化を検知する装置変化検知手段と、
前記装置変化検知手段による変化検知に応じて、変更された差分データを前記サーバに送信する装置差分データ送信手段と、をさらに有し、
前記サーバは、
前記差分データの送信元となる前記サーバ代理装置を識別するサーバ代理装置識別手段と、
前記同期情報および受信した前記差分データに基づいて、前記サーバアプリケーション記憶手段の前記アプリケーションまたは前記データベースを更新するサーバ更新手段と、をさらに備えることを特徴とする請求項２に記載のネットワークシステム。
【請求項４】
前記クライアント端末が複数であるとき、
前記サーバ代理装置は、
前記処理アドレスと前記クライアント端末毎に異なる前記実アドレスとを関連付けたアドレス変換情報を記憶する変換情報記憶手段と、
前記処理要求を行った前記クライアント端末を識別するクライアント端末識別手段と、をさらに備え、
前記アドレス変換手段は、
前記クライアント端末識別手段による識別結果および前記アドレス変換情報に基づいて、前記処理アドレスを前記実アドレスに変換することを特徴とする請求項１ないし３の何れか１項に記載のネットワークシステム。
【請求項５】
前記サーバ代理装置は、
前記装置処理実行手段による処理の実行可否を判別する実行可否判別手段と、
前記実行可否判別手段により処理実行「否」と判別された場合、前記クライアント端末からの前記処理要求をそのまま前記サーバに送信する処理要求送信手段と、をさらに備えるとともに、
前記サーバは、
前記処理要求に応じて、前記サーバアプリケーション記憶手段の前記アプリケーションを用いて処理を実行するサーバ処理実行手段、をさらに備えることを特徴とする請求項１ないし４の何れか１項に記載のネットワークシステム。
【請求項６】
前記サーバ処理実行手段により処理が実行された場合、
前記サーバ代理装置の前記処理結果送信手段は、
前記サーバが実行した処理結果を前記クライアント端末に送信することを特徴とする請求項５に記載のネットワークシステム。
【請求項７】
前記サーバ代理装置は、
前記クライアント端末からの初回アクセスをトリガとして、前記アプリケーションおよび前記データベースの送信を前記サーバに要求するアプリケーション送信要求手段、をさらに備え、
前記サーバは、
前記サーバ代理装置による送信要求に応じて、前記同期情報に基づき当該サーバ代理装置の利用対象となる前記アプリケーションおよび前記データベースを前記サーバ代理装置に送信するアプリケーション送信手段、をさらに備えることを特徴とする請求項２ないし６の何れか１項に記載のネットワークシステム。
【請求項８】
前記第２のネットワークがＬＡＮであることを特徴とする請求項１ないし７の何れか１項に記載のネットワークシステム。
【請求項９】
第１のネットワークで接続されたサーバおよびサーバ代理装置、並びに当該サーバ代理装置と第２のネットワークで接続されたクライアント端末、から構成されるネットワークシステムのアプリケーション実行方法であって、
前記サーバは、アプリケーションおよび当該アプリケーションが参照するデータベースを記憶するサーバアプリケーション記憶手段、を備えるとともに、
前記サーバ代理装置は、前記アプリケーションおよび前記データベースを記憶する装置アプリケーション記憶手段、を備え、
前記サーバが、
前記サーバアプリケーション記憶手段の前記アプリケーションおよび前記データベースの変化を検知するサーバ変化検知ステップと、
前記サーバ変化検知手段による変化検知に応じて、変更された差分データを前記サーバ代理装置に送信するサーバ差分データ送信ステップと、を実行し、
前記クライアント端末が、
前記サーバの処理アドレスを指定し、前記第２のネットワークを介して当該サーバに処理を要求する処理要求ステップ、を実行するとともに、
前記サーバ代理装置が、
受信した前記差分データに基づき前記装置アプリケーション記憶手段の前記アプリケーションおよび前記データベースを更新する装置更新ステップと、
前記クライアント端末から送信される前記処理アドレスを、前記サーバ代理装置内のアドレスであって実際に処理を行うアドレスである実アドレスに変換するアドレス変換ステップと、
変換した前記実アドレスにおいて、記憶した前記アプリケーションを用いて前記クライアント端末から要求された処理を実行する装置処理実行ステップと、
前記装置処理実行ステップにおける処理結果を前記クライアント端末に送信する処理結果送信ステップと、実行することを特徴とするネットワークシステムのアプリケーション実行方法。
【請求項１０】
コンピュータに、請求項９に記載のネットワークシステムのアプリケーション実行方法における各ステップを実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワーク接続されたクライアント端末およびサーバから成るネットワークシステム、プログラム、ネットワークシステムのアプリケーション実行方法に関するものである。
【背景技術】
【０００２】
近年、サーバにアプリケーションプログラムを格納しておき、このサーバに接続されたクライアント端末の要求に応じてサーバ内でプログラムを実行し、その処理結果をクライアント端末に返すといった構成のネットワークシステムが広く普及している。このシステムによれば、クライアント端末の機能を最小限に抑えることが可能となるため、低コストでシステムを構築することが可能となった。しかし、サーバに障害が生じた場合、すなわちクライアント端末がサーバに接続不可能な状態では、アプリケーションが実行できなくなってしまうデメリットを有していた。
【０００３】
このような問題を解決するため、クライアント端末がサーバに接続不可能な状態であってもシステムの稼動を可能とするネットワークシステムが考案されている（特許文献１参照）。このシステムは、クライアント端末においてサーバと同様のアプリケーションプログラムを格納しておき、定期的にサーバからデータを取り込んでおくことで、クライアント端末がサーバに接続していない状態においてもサーバに接続している状態と変わらぬシステム運用を行うことができるものである。
【特許文献１】特開２０００−２７６４１０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかし、上記のようなシステム構成では、クライアント端末にある程度の処理能力やリソースが要求されることとなり、ネットワークシステムの利点であるクライアント端末の機能軽減という点では相反するものとなる。また、クライアント端末を通常のコンピュータと比較して処理能力の低いモバイルコンピュータで構成する場合には、このようなシステム構成は事実上困難である。
【０００５】
上記の問題に鑑み、本発明は、クライアント端末を簡易な構成とし、且つサーバの障害に因らずシステムを継続して稼動し得るネットワークシステム、プログラム、ネットワークシステムのアプリケーション実行方法を提供することをその課題とする。
【課題を解決するための手段】
【０００６】
本発明のネットワークシステムは、第１のネットワークで接続されたサーバおよびサーバ代理装置、並びにこのサーバ代理装置と第２のネットワークで接続されたクライアント端末、から構成されるネットワークシステムであって、サーバは、アプリケーションおよびこのアプリケーションが参照するデータベースを記憶するサーバアプリケーション記憶手段と、サーバアプリケーション記憶手段のアプリケーションおよびデータベースの変化を検知するサーバ変化検知手段と、サーバ変化検知手段による変化検知に応じて、変更された差分データをサーバ代理装置に送信するサーバ差分データ送信手段と、を有し、クライアント端末は、サーバの処理アドレスを指定し、第２のネットワークを介してサーバに処理を要求する処理要求手段、を備え、サーバ代理装置は、アプリケーションおよびデータベースを記憶する装置アプリケーション記憶手段と、受信した差分データに基づき装置アプリケーション記憶手段のアプリケーションおよびデータベースを更新する装置更新手段と、クライアント端末から送信される処理アドレスを、サーバ代理装置内のアドレスであって実際に処理を行うアドレスである実アドレスに変換するアドレス変換手段と、変換した実アドレスにおいて、記憶したアプリケーションを用いてクライアント端末から要求された処理を実行する装置処理実行手段と、装置処理実行手段による処理結果をクライアント端末に送信する処理結果送信手段と、備えることを特徴とする。
【０００７】
同様に、本発明のネットワークシステムのアプリケーション実行方法は、第１のネットワークで接続されたサーバおよびサーバ代理装置、並びにこのサーバ代理装置と第２のネットワークで接続されたクライアント端末、から構成されるネットワークシステムのアプリケーション実行方法であって、サーバは、アプリケーションおよびこのアプリケーションが参照するデータベースを記憶するサーバアプリケーション記憶手段、を備えるとともに、サーバ代理装置は、アプリケーションおよびデータベースを記憶する装置アプリケーション記憶手段、を備え、サーバが、サーバアプリケーション記憶手段のアプリケーションおよびデータベースの変化を検知するサーバ変化検知ステップと、サーバ変化検知手段による変化検知に応じて、変更された差分データをサーバ代理装置に送信するサーバ差分データ送信ステップと、を実行し、クライアント端末が、サーバの処理アドレスを指定し、第２のネットワークを介してサーバに処理を要求する処理要求ステップ、を実行するとともに、サーバ代理装置が、受信した差分データに基づき装置アプリケーション記憶手段のアプリケーションおよびデータベースを更新する装置更新ステップと、クライアント端末から送信される処理アドレスを、サーバ代理装置内のアドレスであって実際に処理を行うアドレスである実アドレスに変換するアドレス変換ステップと、変換した実アドレスにおいて、記憶したアプリケーションを用いてクライアント端末から要求された処理を実行する装置処理実行ステップと、装置処理実行ステップにおける処理結果をクライアント端末に送信する処理結果送信ステップと、実行することを特徴とする。
【０００８】
これらの構成によれば、サーバおよびサーバ代理装置を同期させることにより、クライアント端末によるサーバへの処理要求に応じてサーバ代理装置がサーバに代行して処理を実行することが可能となる。従って、サーバ内、あるいはサーバとサーバ代理装置を結ぶ第１ネットワークに障害が生じた場合にも、サーバ代理装置はクライアント端末からの処理要求に応じて処理を実行することができるので、これらの障害がシステム全体に影響を及ぼす虞がない。また、サーバ代理装置は、クライアント端末が指定したサーバの処理アドレスを、サーバ代理装置内のアドレスであり実際に処理を行う実アドレスに変換する手段を備えているので、クライアント端末が意図的にサーバ代理装置に処理を要求する必要がない。言い換えれば、クライアント端末からみた場合、サーバおよびサーバ代理装置をあたかも１つのサーバとして機能させることができる。なお、請求項にいう「アプリケーション」とは、いわゆるアプリケーションプログラムの他、画像データや音声データといったコンテンツ、ライブラリ、およびドライバ等を含むものである。
【０００９】
上記のネットワークシステムにおいて、サーバには複数のサーバ代理装置が接続されており、各サーバ代理装置は、サーバアプリケーション記憶手段のアプリケーションのうち、自身が利用するアプリケーションを前記装置アプリケーション記憶手段に記憶するものであって、サーバは、各サーバ代理装置の識別情報と、これら各サーバ代理装置が利用するアプリケーションとを関連付けた同期情報を記憶する同期情報記憶手段、をさらに備え、サーバ差分データ送信手段は、同期情報に基づき、変化が生じたアプリケーションまたはデータベースを利用するサーバ代理装置に対して、差分データを送信することが好ましい。
【００１０】
この構成によれば、各サーバ代理装置は、自身が利用するアプリケーションのみを記憶し処理を実行すればよいので、必ずしもサーバと同様の処理能力やリソースが必要とならない。従って、サーバ代理装置の装置コストを必要最小限に抑えることができる。また、サーバが各サーバ代理装置に記憶されるアプリケーションに関する同期情報を保持し、これに基づき差分データを各サーバ代理装置に送信することにより、確実に各サーバ代理装置がサーバに同期することとなる。なお、サーバによるサーバ代理装置の識別方法としては、サーバ代理装置のＩＰアドレスやホスト名を用いて識別することが想定される。
【００１１】
また、上記のネットワークシステムにおいて、サーバ代理装置は、装置アプリケーション記憶手段のアプリケーションおよびデータベースの変化を検知する装置変化検知手段と、装置変化検知手段による変化検知に応じて、変更された差分データをサーバに送信する装置差分データ送信手段と、をさらに有し、サーバは、差分データの送信元となる前記サーバ代理装置を識別するサーバ代理装置識別手段と、同期情報および受信した差分データに基づいて、サーバアプリケーション記憶手段のアプリケーションまたはデータベースを更新するサーバ更新手段と、をさらに備えることが好ましい。
【００１２】
この構成によれば、サーバ代理装置がサーバに代行して処理を実行することにより、サーバ代理装置に記憶したアプリケーションまたはデータベースに変化が生じた場合でも、その差分データをサーバが取得し、サーバ自身のデータベースに配置することにより、確実にサーバ代理装置とサーバとの同期をとることが可能となる。
【００１３】
また、上記のネットワークシステムにおいて、クライアント端末が複数であるとき、サーバ代理装置は、処理アドレスとクライアント端末毎に異なる実アドレスとを関連付けたアドレス変換情報を記憶する変換情報記憶手段と、処理要求を行ったクライアント端末を識別するクライアント端末識別手段と、をさらに備え、アドレス変換手段は、クライアント端末識別手段による識別結果およびアドレス変換情報に基づいて、処理アドレスを実アドレスに変換することが好ましい。
【００１４】
この構成によれば、同一のアプリケーションでありながら、クライアント端末毎にカスタマイズされた処理を実行することが可能となる。さらに、サーバ代理装置がクライアント端末を識別し、この識別結果に基づきクライアント端末毎に用意された実アドレスに変換するので、ＩＤやパスワードを用いてユーザを認証する従来の例と比較して、厳密に認証を行うことができ、不正なアクセスを防止することが可能である。なお、サーバ代理装置によるクライアント端末の識別方法としては、クライアント端末のＩＰアドレスやホスト名を用いて識別することが想定される。
【００１５】
また、上記のネットワークシステムにおいて、サーバ代理装置は、装置処理実行手段による処理の実行可否を判別する実行可否判別手段と、実行可否判別手段により処理実行「否」と判別された場合、クライアント端末からの処理要求をそのままサーバに送信する処理要求送信手段と、をさらに備えるとともに、サーバは、処理要求に応じて、サーバアプリケーション記憶手段のアプリケーションを用いて処理を実行するサーバ処理実行手段、をさらに備えることが好ましい。
【００１６】
この構成によれば、仮にサーバ代理装置において処理の実行が不可能となった場合には、サーバにおいて処理が実行されるので、サーバ代理装置の障害がシステム全体に影響を及ぼす虞がない。すなわち、サーバまたはサーバ代理装置の何れか一方に障害が生じても、システムを継続して稼動することが可能となる。
【００１７】
また、上記のネットワークシステムにおいて、サーバ処理実行手段により処理が実行された場合、サーバ代理装置の処理結果送信手段は、サーバが実行した処理結果をクライアント端末に送信することが好ましい。
【００１８】
この構成によれば、仮にサーバ代理装置において処理の実行が不可能であり、サーバにおいて処理が実行された場合に、サーバ代理装置を経由して処理結果がクライアント端末へと送信されるので、サーバとクライアント端末との通信を別個に確立する必要がない。
【００１９】
また、上記のネットワークシステムにおいて、サーバ代理装置は、クライアント端末からの初回アクセスをトリガとして、アプリケーションおよびデータベースの送信をサーバに要求するアプリケーション送信要求手段、をさらに備え、サーバは、サーバ代理装置による送信要求に応じて、同期情報に基づきサーバ代理装置の利用対象となるアプリケーションおよびデータベースをサーバ代理装置に送信するアプリケーション送信手段、をさらに備えることが好ましい。
【００２０】
この構成によれば、クライアント端末からの初回アクセスに応じて、サーバ代理装置が、サーバからアプリケーションおよびデータベースを取得し、装置アプリケーション記憶部に保存するので、サーバ代理装置がサーバに代行して処理を行うために必要なサーバ代理装置の初期設定を自動化することができる。
【００２１】
さらに、上記のネットワークシステムにおいて、第２のネットワークがＬＡＮであることが好ましい。
【００２２】
この構成によれば、サーバ代理装置とクライアント端末とをＬＡＮで結ぶことにより、サーバ代理装置とクライアント端末との通信の信頼性を向上させるとともに、クライアント端末とサーバ代理装置との通信速度の高速化を図ることが可能となる。
【００２３】
本発明のプログラムは、コンピュータに、上記に記載のネットワークシステムのアプリケーション実行方法における各ステップを実行させるためのものである。
【００２４】
このプログラムをコンピュータに実行させることにより、クライアント端末を簡易な構成とし、且つサーバの障害に因らずシステムを継続して稼動し得るネットワークシステムを提供することができる。
【発明を実施するための最良の形態】
【００２５】
以下、本発明の一実施形態に係るネットワークシステムについて、販売業向けのネットワークシステムに適用し、添付の図面を参照しながら詳細に説明する。
【００２６】
図１は、本実施形態に係るネットワークシステム１（以下システム１と記載）のシステム構成図である。図示のように本実施形態のシステム１は、アプリケーションＡＰおよびこのアプリケーションＡＰが参照するデータベースＤＢを管理するサーバ１０と、サーバ１０に代行して各種の処理を行うサーバ代理装置５０と、サーバ１０に対して各種の処理要求を行うクライアント端末７０と、から構成されている。また、サーバ代理装置５０は店舗毎（図示ではＡ店およびＢ店）に設置されることを想定しており、サーバ１０とサーバ代理装置５０とはＷＡＮ（Wide Area Network）１０１により接続されている。また、各店舗においてサーバ代理装置５０とクライアント端末７０（図示では３台表示）とはＬＡＮ（Local Area Network）１０２により接続されている。
【００２７】
なお、サーバ１０、サーバ代理装置５０、およびクライアント端末７０のハードウェア構成は通常のコンピュータと同様であり、ハードディスク、通信インターフェース、入出力インターフェース、内部バス、ＣＰＵ、ＲＯＭおよびＲＡＭを備えている（何れも図示省略）。また、サーバ代理装置５０には、サーバ１０に代行して処理を実行するための基盤となるＯＳや基本ソフトウェアが組み込まれており、クライアント端末７０には、さらにキーボードやバーコードリーダといった入力デバイスおよびディスプレイ（図示省略）が接続されている。
【００２８】
サーバ１０は、サーバアプリケーション記憶部１１、同期情報記憶部１２、変化検知手段１３、同期通信処理手段１４、サーバ代理装置識別手段１５、および制御部１６を備えている。サーバアプリケーション記憶部１１は、クライアント端末７０からの各種処理要求に応じた処理を実行するためのアプリケーションＡＰと、このアプリケーションＡＰが参照するデータベースＤＢとを記憶している。なお、ここでいう「アプリケーション」とは、いわゆるアプリケーションプログラムの他、画像データや音声データといったコンテンツ、ライブラリ、およびドライバ等を含むものである。
【００２９】
同期情報記憶部１２は、サーバ１０とサーバ代理装置５０とを同期させるための同期情報１７を記憶している。詳細は後述するが、サーバ代理装置５０はサーバ１０に代行してクライアント端末７０からの各種処理要求に応じた処理を実行するものであり、各サーバ代理装置５０は、サーバ１０に記憶されたアプリケーションＡＰおよびデータベースＤＢのうち、自身が利用するアプリケーションＡＰおよびデータベースＤＢを記憶する。すなわち同期情報１７は、各サーバ代理装置５０の識別情報と、各サーバ代理装置５０が利用するアプリケーションＡＰおよびデータベースＤＢの情報とを関連付けた情報である。
【００３０】
変化検知手段１３は、サーバアプリケーション記憶部１１のアプリケーションＡＰおよびデータベースＤＢの変化を検知する。なお、この「変化」とは、例えばアプリケーションの変更やデータベースのデータ更新を意味している。同期通信処理手段１４は、変化検知手段１３がアプリケーションＡＰまたはデータベースＤＢの変化を検知した場合、変更された差分データを、そのアプリケーションＡＰまたはデータベースＤＢを利用するサーバ代理装置５０に送信する（差分データ送信手段）。
【００３１】
また、同期通信処理手段１４は、サーバ代理装置５０からの差分データ受信に伴い、サーバ代理装置識別手段１５（後述する）による識別結果に基づき同期情報１７を参照し、更新対象となるアプリケーションＡＰまたはデータベースＤＢを特定して、受信した差分データに基づきアプリケーションＡＰまたはデータベースＤＢを更新する（更新手段）。さらに、同期通信処理手段１４は、サーバ代理装置５０のアプリケーション送信要求手段（後述する）による送信要求に応じて、記憶した同期情報１７に基づき、送信要求を行ったサーバ代理装置５０の利用対象となるアプリケーションＡＰおよびデータベースＤＢをサーバ代理装置５０に送信する（アプリケーション送信手段）。
【００３２】
サーバ代理装置識別手段１５は、サーバ代理装置５０から、サーバ代理装置５０に記憶されたアプリケーションＡＰまたはデータベースＤＢの変化に伴い生じた差分データを受信した場合、送信元のサーバ代理装置５０を識別する。なお、この識別にはサーバ代理装置５０のＩＰアドレスやホスト名を用いることが想定される。制御部１６は、ＣＰＵを主要構成要素とするものであり、サーバ１０全体を統括制御する。
【００３３】
なお、サーバアプリケーション記憶部１１および同期情報記憶部１２は、ハードディスクや各種半導体メモリにより構成されるものであり、変化検知手段１３、同期通信処理手段１４、およびサーバ代理装置識別手段１５は、ＣＰＵ（制御部１６）がサーバ１０内に組み込まれたプログラムに基づき各種演算を行うことにより実現されるものである（同期通信処理手段１４およびサーバ代理装置識別手段１５については通信インターフェースも含む）。
【００３４】
一方、サーバ代理装置５０は、装置アプリケーション記憶部５１、変化検知手段５２、同期通信処理手段５３、アドレス変換手段５４、処理実行手段５５、処理結果送信手段５６、および制御部５７を備えている。装置アプリケーション記憶部５１は、クライアント端末７０からの各種処理要求に応じた処理をサーバ１０に代行して実行するためのアプリケーションＡＰと、このアプリケーションＡＰが参照するデータベースＤＢとを記憶している。
【００３５】
変化検知手段５２は、装置アプリケーション記憶部５１のアプリケーションＡＰおよびデータベースＤＢの変化を検知する。同期通信処理手段５３は、変化検知手段５２がアプリケーションＡＰまたはデータベースＤＢの変化を検知した場合、変更された差分データをサーバ１０に送信する（差分データ送信手段）。また、同期通信処理手段５３は、クライアント端末７０からの初回アクセスをトリガとして、装置アプリケーション記憶部５１に保存するべきアプリケーションＡＰおよびデータベースＤＢの送信をサーバ１０に要求する（アプリケーション送信要求手段）。
【００３６】
さらに、同期通信処理手段５３は、サーバ１０からの差分データ受信に伴い、受信した差分データに基づき装置アプリケーション記憶部５１のアプリケーションＡＰまたはデータベースＤＢを更新する（更新手段）。アドレス変換手段５４は、予め定められた所定の変換方法に基づいて、クライアント端末７０が処理要求の際に指定したサーバ１０の処理アドレスを、サーバ代理装置５０内のアドレスであって実際に処理を行うアドレスである実アドレスに変換する処理を行う。例えば、クライアント端末７０が処理アドレスとして「http://org-server/index.html」を指定した場合、アドレス変換手段５４は、これを「http://virtual-server/index.html」に変換する（org-serverはサーバ１０のＵＲＬでありvirtual-serverはサーバ代理装置５０のＵＲＬとする）。
【００３７】
処理実行手段５５は、アドレス変換手段５４が変換した実アドレスにおいて、装置アプリケーション記憶部５１のアプリケーションＡＰを用いてクライアント端末７０から要求された各種の処理を実行する。処理結果送信手段５６は、処理実行手段５５により実行された処理の処理結果をクライアント端末７０に送信する。制御部５７は、ＣＰＵを主要構成要素とするものであり、サーバ代理装置５０全体を統括制御する。
【００３８】
なお、装置アプリケーション記憶部５１は、ハードディスクや各種半導体メモリにより構成されるものであり、変化検知手段５２、同期通信処理手段５３、アドレス変換手段５４、処理実行手段５５、および処理結果送信手段５６は、ＣＰＵ（制御部５７）がサーバ代理装置５０に組み込まれたプログラムに基づき各種演算を行うことにより実現されるものである（同期通信処理手段１４および処理結果送信手段５６においては通信インターフェースも含む）。
【００３９】
また、本実施形態に係るクライアント端末７０は、レシートに印刷するための決済処理データを生成するＰＯＳ端末や、商品の受発注処理を行う受発注端末として機能するものである。図示のように、クライアント端末７０は処理要求手段７１を備えており、この処理要求手段７１はサーバ１０の処理アドレスを指定して各種の処理要求を行う。そして、クライアント端末７０は、この要求に応じた処理結果を受信することによりＰＯＳ端末または受発注端末として機能する。なお、処理要求手段７１は、例えばＷｅｂブラウザにより構成されるものである。
【００４０】
以下、サーバ１０およびサーバ代理装置５０が実行する各種の処理について具体的に説明する。まず、サーバ代理装置５０の装置アプリケーション記憶部５１にアプリケーションＡＰおよびデータベースＤＢがインストールされる手順について図２に示すフローチャートを参照しながら説明する。
【００４１】
まず、クライアント端末７０の処理要求手段７１がサーバ１０に処理を要求すると（Ｓ０１）、サーバ代理装置５０はＬＡＮ１０２を介してクライアント端末７０の処理要求を受信する（Ｓ０２）。ここでサーバ代理装置５０は自身が保持するフラグを参照し、装置アプリケーション記憶部５１に自身が利用するアプリケーションＡＰおよびデータベースＤＢがインストールされているか否かを判別する（Ｓ０３）。なお、このフラグはインストールが未だ行われていないことを示す「０」、インストールの実施中であることを示す「１」、インストールが完了していることを示す「２」、インストールが失敗したことを示す「−１」の何れかの値を保持するものである。
【００４２】
そしてサーバ代理装置５０は、フラグの値が「０」または「−１」である場合（Ｓ０４；Ｙｅｓ）、サーバ１０にアプリケーションＡＰおよびデータベースＤＢの送信を要求する（Ｓ０５）。サーバ１０は、サーバ代理装置５０からアプリケーションＡＰおよびデータベースＤＢの送信要求を受信すると（Ｓ０６）、送信要求を行ったサーバ代理装置５０を識別し、さらに同期情報記憶部１２の同期情報１７を参照する（Ｓ０７）。次に、同期情報１７に基づいて、送信要求を行ったサーバ代理装置５０が利用するアプリケーションＡＰおよびデータベースＤＢをサーバ代理装置５０に対して送信する（Ｓ０８）。その後、サーバ代理装置５０は、受信したアプリケーションＡＰおよびデータベースＤＢを装置アプリケーション記憶部５１に保存する（Ｓ０９）。
【００４３】
なお、参照したフラグの値が「１」または「２」である場合には（Ｓ０４；Ｎｏ）、アプリケーションＡＰは既にインストールされているので、サーバ代理装置５０は、クライアント端末７０からの要求に応じた処理を実行する処理に移行する（詳細は後述する）。
【００４４】
このように、クライアント端末７０からの処理要求に応じて、サーバ代理装置５０は、自身が利用するアプリケーションＡＰおよびデータベースＤＢをサーバ１０から取得しているか否かを判別し、取得していない場合には、サーバ１０からアプリケーションＡＰおよびデータベースＤＢを取得し、装置アプリケーション記憶部５１に保存するので、サーバ代理装置５０がサーバ１０に代行して処理を行うために必要なサーバ代理装置５０の初期設定を自動化することができる。
【００４５】
なお、クライアント端末７０からの処理要求をトリガとしてアプリケーションＡＰ等をインストールする構成に代えて、サーバ１０とサーバ代理装置５０との接続が完了した段階で、サーバ代理装置５０がサーバ１０からアプリケーションＡＰ等をインストールする構成でもよい。
【００４６】
次に、クライアント端末７０による処理要求に応じてサーバ代理装置５０がサーバ１０に代行して行う処理の実行手順について図３に示すフローチャートを参照しながら説明する。なお、以下の説明ではサーバ代理装置５０に既にアプリケーションＡＰがインストールされているものとし、前述のフラグ参照以降の処理（図２；Ｓ０３以降に該当）は省略して説明する。
【００４７】
まず、クライアント端末７０の処理要求手段７１が、サーバ１０の処理アドレスを指定しサーバ１０に処理を要求すると（Ｓ１１）、サーバ代理装置５０はＬＡＮ１０２を介してクライアント端末７０の処理要求を受信する（Ｓ１２）。次にサーバ代理装置５０のアドレス変換手段５４は、クライアント端末７０が指定したサーバ１０の処理アドレスを、サーバ代理装置５０内のアドレスであって実際に処理を行うアドレスである実アドレスに変換する（Ｓ１３）。さらにサーバ代理装置５０の処理実行手段５５は、変換した実アドレスにおいてアプリケーションＡＰを実行する（Ｓ１４）。そして、サーバ代理装置５０の処理結果送信手段５６は、実行した処理の処理結果をクライアント端末７０に送信する（Ｓ１５）。一方クライアント端末７０は、サーバ代理装置５０から処理結果を受信する（Ｓ１６）。
【００４８】
なお、上述のように本実施形態では、クライアント端末７０はＰＯＳ端末または受発注端末として機能することから、サーバ１０およびサーバ代理装置５０に記憶されるアプリケーションＡＰは、例えばＰＯＳアプリケーションや受発注アプリケーションであることが想定される。また、ＰＯＳ端末として機能するクライアント端末７０はＰＯＳアプリケーションの処理アドレスを送信し、受発注端末として機能するクライアント端末７０は、受発注アプリケーションの処理アドレスを送信することが想定され、サーバ代理装置５０では各処理要求に応じてそれぞれのアプリケーションＡＰが実行されることとなる。
【００４９】
このように、クライアント端末７０によるサーバ１０への処理要求に応じてサーバ代理装置５０がサーバ１０に代行して処理を実行することができるので、サーバ１０内、あるいはサーバ１０とサーバ代理装置５０を結ぶＷＡＮ１０１に障害が生じた場合にも、クライアント端末７０からの処理要求に応じることができる。すなわち、これらの障害がシステム全体に影響を及ぼす虞がない。特に、ＰＯＳ端末などフロント業務を行うアプリケーションを取り扱う機器においては、処理の中断が致命的であり、安定したネットワーク環境であることが好ましいことから、本実施形態に係るシステム１が有効となる。また、サーバ代理装置５０は、クライアント端末７０が指定したサーバ１０の処理アドレスを実アドレスに変換するので、クライアント端末が意図的にサーバ代理装置５０に処理を要求する必要がない。言い換えれば、クライアント端末７０からみた場合、サーバ１０およびサーバ代理装置５０をあたかも１つのサーバとして機能させることが実現できる。
【００５０】
続いて、サーバ１０およびサーバ代理装置５０間における同期処理について説明する。最初に、サーバ１０のサーバアプリケーション記憶部１１において、アプリケーションＡＰまたはデータベースＤＢに変更が生じた場合について、図４に示すフローチャートを参照して説明する。
【００５１】
まず、サーバ１０の変化検知手段１３が、サーバアプリケーション記憶部１１においてアプリケーションＡＰまたはデータベースＤＢの変化を検知すると（Ｓ２１；Ｙｅｓ）、サーバ１０の同期通信処理手段１４は、同期情報１７を参照し、変更が生じたアプリケーションＡＰまたはデータベースＤＢを利用するサーバ代理装置５０を特定する（Ｓ２２）。そして、変更されたアプリケーションＡＰまたはデータベースＤＢの差分データを、特定したサーバ代理装置５０に送信する（Ｓ２３）。サーバ代理装置５０は、サーバ１０から差分データを受信すると（Ｓ２４）、受信した差分データに基づき装置アプリケーション記憶部５１のアプリケーションＡＰまたはデータベースＤＢを更新する（Ｓ２５）。
【００５２】
次に、図５に示すフローチャートを参照し、サーバ代理装置５０の装置アプリケーション記憶部５１において、アプリケーションＡＰまたはデータベースＤＢに変更が生じた場合について説明する。
【００５３】
まず、サーバ代理装置５０の変化検知手段５２が、装置アプリケーション記憶部５１においてアプリケーションＡＰまたはデータベースＤＢの変化を検知すると（Ｓ３１；Ｙｅｓ）、サーバ代理装置５０の同期通信処理手段１４は、変更されたアプリケーションＡＰまたはデータベースＤＢの差分データを、サーバ１０に送信する（Ｓ３２）。そして、サーバ１０が、サーバ代理装置５０から差分データを受信すると（Ｓ３３）、サーバ１０のサーバ代理装置識別手段１５は、差分データの送信元となるサーバ代理装置５０を識別する（Ｓ３４）。さらに同期通信処理手段１４は、この識別結果に基づき同期情報１７を参照し、更新対象となるアプリケーションＡＰまたはデータベースＤＢを特定する（Ｓ３５）。そして、受信した差分データに基づき特定したアプリケーションＡＰまたはデータベースＤＢを更新する（Ｓ３６）。
【００５４】
このように、サーバ１０またはサーバ代理装置５０において、記憶したアプリケーションＡＰまたはデータベースＤＢに変化が生じた場合、その差分データを互いに送信するとともに、受信した差分データに基づき自身が記憶するアプリケーションＡＰまたはデータベースＤＢを更新するので、常にサーバ１０およびサーバ代理装置５０に記憶されるアプリケーションＡＰまたはデータベースＤＢの同期をとることができる。なお、サーバ１０およびサーバ代理装置５０が非接続状態である場合には、サーバ１０またはサーバ代理装置５０において差分データを蓄積しておき、接続状態となった際に差分データを送信すればよい。
【００５５】
ところで、サーバ代理装置５０は、各クライアント端末７０が同一の要求を行った（同一の処理アドレスを送信した）場合でも、要求元のクライアント端末７０に応じて異なる処理を行うことが可能である。以下、この制御について説明する。
【００５６】
サーバ代理装置５０は、図１に示した構成に加え、さらにサーバ１０の処理アドレスと、クライアント端末７０毎に異なる実アドレスとを関連付けたアドレス変換情報８０（図６参照）を記憶するアドレス変換情報記憶部（図示省略）と、クライアント端末７０を識別するクライアント端末識別手段（図示省略）とをさらに備えている。図６に示すように、アドレス変換情報８０には、各クライアント端末７０（Ａ端末およびＢ端末）の識別情報８１（図示ではＩＰアドレス）に続いて、サーバ１０の処理アドレスとサーバ代理装置５０内の実アドレスとを関連付ける情報８２が記述されている。
【００５７】
図示の例では、サーバ１０の処理アドレス「org-server/発注ＵＲＬ」を実アドレスに変換する例を表している。この場合、Ａ端末が処理アドレス「org-server/発注ＵＲＬ」を指定すると、サーバ代理装置５０は、受信した処理要求に含まれる例えばＩＰアドレスを取得して要求元のクライアント端末７０を識別し、変換情報８０に基づいて実アドレス「virtual-server/発注ＵＲＬ」に変換する。一方、Ｂ端末が処理アドレス「org-server/発注ＵＲＬ」を指定すると、サーバ代理装置５０は、同様の方法でクライアント端末７０を識別し、変換情報８０に基づいて実アドレス「virtual-server/禁止画面ＵＲＬ」に変換する（org-serverはサーバ１０のＵＲＬでありvirtual-serverはサーバ代理装置５０のＵＲＬとする）。
【００５８】
図７は、図６に示す変換情報に基づいて、サーバ代理装置５０が各クライアント端末７０に応じて異なる処理を行った例をイメージで表すものである。図示するように、Ａ端末７０ａが例えば発注処理を要求するために、処理アドレス「org-server/発注ＵＲＬ」を指定して処理要求を行った場合には、サーバ代理装置５０は実アドレス「virtual-server/発注ＵＲＬ」において処理を実行し、その処理結果をＡ端末７０ａに送信する。
【００５９】
一方、Ｂ端末７０ｂが処理アドレス「org-server/発注ＵＲＬ」を指定して処理要求を行った場合には、サーバ代理装置５０は実アドレス「virtual-server/禁止画面ＵＲＬ」において処理を実行し、その処理結果をＢ端末７０ｂに送信する。すなわち、Ａ端末７０ａのディスプレイ７２には発注処理の処理画面Ｄ１が、Ｂ端末７０ｂのディスプレイ７２には禁止画面Ｄ２が、それぞれ表示されることとなる。
【００６０】
なお、変換情報８０において、クライアント端末７０毎の実アドレスが記述されていない場合には、サーバ代理装置５０は、前述のように予め定められた所定の変換方法に基づいて、サーバ１０のＵＲＬをサーバ代理装置５０のＵＲＬに変換して実アドレスを求める。すなわち、各端末共通の処理が行われる。従って、１つのアプリケーションＡＰには、処理要求を行った各端末に応じて異なる処理が行われる個別部と、各端末共通の処理が行われる共通部とが含まれることとなる。
【００６１】
また、各端末の数だけ実アドレスを用意するのではなく、例えばＡ端末の実アドレスと、Ａ端末以外の実アドレスとの２つのアドレスを用意しておき、Ａ端末以外の端末は、共通の実アドレスを使用する構成でもよい。さらに、図６に示した変換情報８０はＸＭＬデータで構成されているが、変換情報８０はＸＭＬデータに限らず各種のデータ形式を適用可能である。なお、この変換情報８０は、予めサーバ代理装置５０に記憶させておいてもよいし、上述したアプリケーションＡＰおよびデータベースＤＢをインストールする際に（図２参照）、サーバ１０から取得してもよい。但しこの場合、サーバ１０が変換情報８０を各サーバ代理装置５０に関連付けて記憶していることが前提である。
【００６２】
さらに、本実施形態に係るシステム１は、サーバ代理装置５０において処理の実行が不可能な場合、サーバ代理装置５０に代えてサーバ１０が処理を実行することが可能である。以下、この制御について説明する。
【００６３】
サーバ代理装置５０は、図１に示した構成に加え、処理実行手段５５による処理の実行可否を判別する実行可否判別手段（図示省略）と、この実行可否判別手段により処理実行「否」と判別された場合、クライアント端末７０からの処理要求をそのままサーバ１０に送信する処理要求送信手段（図示省略）と、をさらに備えている。また、この場合サーバ１０は、サーバ代理装置５０と同様に、処理を実行するための基盤となるＯＳや基本ソフトウェアが組み込まれており、クライアント端末７０による処理要求に応じて、サーバアプリケーション記憶部１１のアプリケーションＡＰを用いて処理を実行する処理実行手段（図示省略）、をさらに備えている。
【００６４】
ここで、サーバ１０がサーバ代理装置５０に代えて処理を実行する一連の流れについて、図８に示すフローチャートを参照して説明する。なお、以下の説明ではサーバ代理装置５０に既にアプリケーションＡＰがインストールされているものとし、前述のフラグ参照以降の処理（図２；Ｓ０３以降に該当）は省略して説明する。
【００６５】
サーバ代理装置５０がクライアント端末７０による処理要求を受信すると（Ｓ４１）、サーバ代理装置５０の処理実行可否判別手段は、処理実行手段５５による処理の実行が可能であるか否かを判別する（Ｓ４２）。そして、処理実行手段５５による処理実行が不可能である場合（Ｓ４３；Ｎｏ）、サーバ代理装置５０の処理要求送信手段は、クライアント端末７０から受信した処理要求をそのままサーバ１０へ送信する（Ｓ４４）。一方、処理実行手段５５による処理実行が可能である場合には（Ｓ４３；Ｙｅｓ）、サーバ代理装置５０は、処理実行手段５５による処理実行へと移行する（Ｓ４５）。
【００６６】
サーバ１０は、サーバ代理装置５０から処理要求を受信すると（Ｓ４６）、サーバ１０の処理実行手段は、受信した処理要求の処理アドレスにおいてアプリケーションＡＰを実行する（Ｓ４７）。そして、実行した処理の処理結果をサーバ代理装置５０に送信する（Ｓ４８）。その後、サーバ代理装置５０の処理結果送信手段５６は、サーバ１０から受信した処理結果をさらにクライアント端末７０に送信する（Ｓ４９）。
【００６７】
なお、サーバ代理装置５０による処理の実行が不可能な場合とは、例えばサーバ代理装置５０が電源投入状態であるにもかかわらず故障状態（例えばアプリケーションＡＰの暴走による）にあるような場合を意味する。このように、仮にサーバ代理装置５０において処理の実行が不可能となった場合には、サーバ１０において処理が実行されるので、サーバ代理装置５０の障害がシステム全体に影響を及ぼす虞がない。すなわち、サーバ１０またはサーバ代理装置５０の何れか一方に障害が生じても、システム１を継続して稼動することが可能となる。また、サーバ１０が処理を実行した場合、サーバ代理装置５０を経由して処理結果をクライアント端末７０に送信するのではなく、サーバ１０が直接クライアント端末７０に対して処理結果を送信してもよい。
【００６８】
なお、本実施形態に係るシステム１として、ＰＯＳ端末または受発注端末として機能するクライアント端末７０を想定し、販売業向けのネットワークシステムに適用して説明を行ったが、これに限らず各業務に係るネットワークシステムに本発明を適用することが可能である。
【００６９】
また、上記の例に示した、サーバ１０およびサーバ代理装置５０の各構成要素（各機能）をプログラムとして提供することも可能である。また、そのプログラムを記録媒体（図示省略）に格納して提供することも可能である。記録媒体としては、ＣＤ−ＲＯＭ、フラッシュＲＯＭ、メモリカード（コンパクトフラッシュ（登録商標）、スマートメディア、メモリースティック等）、コンパクトディスク、光磁気ディスク、デジタルバーサタイルディスクおよびフレキシブルディスク等を利用することができる。
【００７０】
さらに、上記の実施形態に限らず、ネットワークシステム１の装置構成や処理工程など、本発明を逸脱しない範囲で適宜変更が可能である。
【図面の簡単な説明】
【００７１】
【図１】本実施形態に係るネットワークシステムのシステム構成図である。
【図２】サーバ代理装置によるアプリケーション等のインストール手順を示すフローチャートである。
【図３】サーバ代理装置による処理実行手順を示すフローチャートである。
【図４】サーバとサーバ代理装置との同期手順を示すフローチャートである。
【図５】サーバとサーバ代理装置との同期手順を示す他のフローチャートである。
【図６】アドレス変換情報を例示する図である。
【図７】サーバ代理装置によるクライアント端末毎にカスタマイズされた処理の実行例を示す図である。
【図８】サーバ代理装置が処理実行不能な場合におけるネットワークシステムの処理実行手順を示すフローチャートである。
【符号の説明】
【００７２】
１…ネットワークシステム  １０…サーバ  １１…サーバアプリケーション記憶部  １２…同期情報記憶部  １３…変化検知手段  １４…同期通信処理手段  １５…サーバ代理装置識別手段  １６…制御部（サーバ）  １７…同期情報  ５０…サーバ代理装置  ５１…装置アプリケーション記憶部  ５２…変化検知手段  ５３…同期通信処理手段  ５４…アドレス変換手段  ５５…処理実行手段  ５６…処理結果送信手段  ５７…制御部（サーバ代理装置）  ７０…クライアント端末  ７１…処理要求手段  ８０…変換情報  １０１…ＷＡＮ  １０２…ＬＡＮ  ＡＰ…アプリケーション  ＤＢ…データベース
【図１】
2008015857.tif 000003
【図２】
2008015857.tif 000004
【図３】
2008015857.tif 000005
【図４】
2008015857.tif 000006
【図５】
2008015857.tif 000007
【図６】
2008015857.tif 000008
【図７】
2008015857.tif 000009
【図８】
2008015857.tif 000010