JP2008015857A - ネットワークシステム、プログラム、ネットワークシステムのアプリケーション実行方法 - Google Patents
ネットワークシステム、プログラム、ネットワークシステムのアプリケーション実行方法 Download PDFInfo
- Publication number
- JP2008015857A JP2008015857A JP2006187527A JP2006187527A JP2008015857A JP 2008015857 A JP2008015857 A JP 2008015857A JP 2006187527 A JP2006187527 A JP 2006187527A JP 2006187527 A JP2006187527 A JP 2006187527A JP 2008015857 A JP2008015857 A JP 2008015857A
- Authority
- JP
- Japan
- Prior art keywords
- server
- application
- processing
- proxy device
- client terminal
- 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.)
- Withdrawn
Links
Images
Landscapes
- Hardware Redundancy (AREA)
- Information Transfer Between Computers (AREA)
Abstract
【課題】クライアント端末を簡易な構成とし、且つサーバの障害に因らずシステムを継続して稼動し得るネットワークシステム等を提供することをその課題とする。
【解決手段】サーバおよびサーバ代理装置がWAN接続されるとともに、当該サーバ代理装置およびクライアント端末がLAN接続されるネットワークシステムであり、サーバおよびサーバ代理装置は、互いに同期しながらアプリケーションおよびデータベースを記憶しており、サーバ代理装置が、クライアント端末からの処理要求に応じて、処理要求に含まれるサーバの処理アドレスを自身のアドレスであって実際に処理を行うアドレスである実アドレスに変換し、処理を実行して処理結果をクライアント端末に返すものである。
【選択図】図1
【解決手段】サーバおよびサーバ代理装置がWAN接続されるとともに、当該サーバ代理装置およびクライアント端末がLAN接続されるネットワークシステムであり、サーバおよびサーバ代理装置は、互いに同期しながらアプリケーションおよびデータベースを記憶しており、サーバ代理装置が、クライアント端末からの処理要求に応じて、処理要求に含まれるサーバの処理アドレスを自身のアドレスであって実際に処理を行うアドレスである実アドレスに変換し、処理を実行して処理結果をクライアント端末に返すものである。
【選択図】図1
Description
本発明は、ネットワーク接続されたクライアント端末およびサーバから成るネットワークシステム、プログラム、ネットワークシステムのアプリケーション実行方法に関するものである。
近年、サーバにアプリケーションプログラムを格納しておき、このサーバに接続されたクライアント端末の要求に応じてサーバ内でプログラムを実行し、その処理結果をクライアント端末に返すといった構成のネットワークシステムが広く普及している。このシステムによれば、クライアント端末の機能を最小限に抑えることが可能となるため、低コストでシステムを構築することが可能となった。しかし、サーバに障害が生じた場合、すなわちクライアント端末がサーバに接続不可能な状態では、アプリケーションが実行できなくなってしまうデメリットを有していた。
このような問題を解決するため、クライアント端末がサーバに接続不可能な状態であってもシステムの稼動を可能とするネットワークシステムが考案されている(特許文献1参照)。このシステムは、クライアント端末においてサーバと同様のアプリケーションプログラムを格納しておき、定期的にサーバからデータを取り込んでおくことで、クライアント端末がサーバに接続していない状態においてもサーバに接続している状態と変わらぬシステム運用を行うことができるものである。
特開2000−276410号公報
しかし、上記のようなシステム構成では、クライアント端末にある程度の処理能力やリソースが要求されることとなり、ネットワークシステムの利点であるクライアント端末の機能軽減という点では相反するものとなる。また、クライアント端末を通常のコンピュータと比較して処理能力の低いモバイルコンピュータで構成する場合には、このようなシステム構成は事実上困難である。
上記の問題に鑑み、本発明は、クライアント端末を簡易な構成とし、且つサーバの障害に因らずシステムを継続して稼動し得るネットワークシステム、プログラム、ネットワークシステムのアプリケーション実行方法を提供することをその課題とする。
本発明のネットワークシステムは、第1のネットワークで接続されたサーバおよびサーバ代理装置、並びにこのサーバ代理装置と第2のネットワークで接続されたクライアント端末、から構成されるネットワークシステムであって、サーバは、アプリケーションおよびこのアプリケーションが参照するデータベースを記憶するサーバアプリケーション記憶手段と、サーバアプリケーション記憶手段のアプリケーションおよびデータベースの変化を検知するサーバ変化検知手段と、サーバ変化検知手段による変化検知に応じて、変更された差分データをサーバ代理装置に送信するサーバ差分データ送信手段と、を有し、クライアント端末は、サーバの処理アドレスを指定し、第2のネットワークを介してサーバに処理を要求する処理要求手段、を備え、サーバ代理装置は、アプリケーションおよびデータベースを記憶する装置アプリケーション記憶手段と、受信した差分データに基づき装置アプリケーション記憶手段のアプリケーションおよびデータベースを更新する装置更新手段と、クライアント端末から送信される処理アドレスを、サーバ代理装置内のアドレスであって実際に処理を行うアドレスである実アドレスに変換するアドレス変換手段と、変換した実アドレスにおいて、記憶したアプリケーションを用いてクライアント端末から要求された処理を実行する装置処理実行手段と、装置処理実行手段による処理結果をクライアント端末に送信する処理結果送信手段と、備えることを特徴とする。
同様に、本発明のネットワークシステムのアプリケーション実行方法は、第1のネットワークで接続されたサーバおよびサーバ代理装置、並びにこのサーバ代理装置と第2のネットワークで接続されたクライアント端末、から構成されるネットワークシステムのアプリケーション実行方法であって、サーバは、アプリケーションおよびこのアプリケーションが参照するデータベースを記憶するサーバアプリケーション記憶手段、を備えるとともに、サーバ代理装置は、アプリケーションおよびデータベースを記憶する装置アプリケーション記憶手段、を備え、サーバが、サーバアプリケーション記憶手段のアプリケーションおよびデータベースの変化を検知するサーバ変化検知ステップと、サーバ変化検知手段による変化検知に応じて、変更された差分データをサーバ代理装置に送信するサーバ差分データ送信ステップと、を実行し、クライアント端末が、サーバの処理アドレスを指定し、第2のネットワークを介してサーバに処理を要求する処理要求ステップ、を実行するとともに、サーバ代理装置が、受信した差分データに基づき装置アプリケーション記憶手段のアプリケーションおよびデータベースを更新する装置更新ステップと、クライアント端末から送信される処理アドレスを、サーバ代理装置内のアドレスであって実際に処理を行うアドレスである実アドレスに変換するアドレス変換ステップと、変換した実アドレスにおいて、記憶したアプリケーションを用いてクライアント端末から要求された処理を実行する装置処理実行ステップと、装置処理実行ステップにおける処理結果をクライアント端末に送信する処理結果送信ステップと、実行することを特徴とする。
これらの構成によれば、サーバおよびサーバ代理装置を同期させることにより、クライアント端末によるサーバへの処理要求に応じてサーバ代理装置がサーバに代行して処理を実行することが可能となる。従って、サーバ内、あるいはサーバとサーバ代理装置を結ぶ第1ネットワークに障害が生じた場合にも、サーバ代理装置はクライアント端末からの処理要求に応じて処理を実行することができるので、これらの障害がシステム全体に影響を及ぼす虞がない。また、サーバ代理装置は、クライアント端末が指定したサーバの処理アドレスを、サーバ代理装置内のアドレスであり実際に処理を行う実アドレスに変換する手段を備えているので、クライアント端末が意図的にサーバ代理装置に処理を要求する必要がない。言い換えれば、クライアント端末からみた場合、サーバおよびサーバ代理装置をあたかも1つのサーバとして機能させることができる。なお、請求項にいう「アプリケーション」とは、いわゆるアプリケーションプログラムの他、画像データや音声データといったコンテンツ、ライブラリ、およびドライバ等を含むものである。
上記のネットワークシステムにおいて、サーバには複数のサーバ代理装置が接続されており、各サーバ代理装置は、サーバアプリケーション記憶手段のアプリケーションのうち、自身が利用するアプリケーションを前記装置アプリケーション記憶手段に記憶するものであって、サーバは、各サーバ代理装置の識別情報と、これら各サーバ代理装置が利用するアプリケーションとを関連付けた同期情報を記憶する同期情報記憶手段、をさらに備え、サーバ差分データ送信手段は、同期情報に基づき、変化が生じたアプリケーションまたはデータベースを利用するサーバ代理装置に対して、差分データを送信することが好ましい。
この構成によれば、各サーバ代理装置は、自身が利用するアプリケーションのみを記憶し処理を実行すればよいので、必ずしもサーバと同様の処理能力やリソースが必要とならない。従って、サーバ代理装置の装置コストを必要最小限に抑えることができる。また、サーバが各サーバ代理装置に記憶されるアプリケーションに関する同期情報を保持し、これに基づき差分データを各サーバ代理装置に送信することにより、確実に各サーバ代理装置がサーバに同期することとなる。なお、サーバによるサーバ代理装置の識別方法としては、サーバ代理装置のIPアドレスやホスト名を用いて識別することが想定される。
また、上記のネットワークシステムにおいて、サーバ代理装置は、装置アプリケーション記憶手段のアプリケーションおよびデータベースの変化を検知する装置変化検知手段と、装置変化検知手段による変化検知に応じて、変更された差分データをサーバに送信する装置差分データ送信手段と、をさらに有し、サーバは、差分データの送信元となる前記サーバ代理装置を識別するサーバ代理装置識別手段と、同期情報および受信した差分データに基づいて、サーバアプリケーション記憶手段のアプリケーションまたはデータベースを更新するサーバ更新手段と、をさらに備えることが好ましい。
この構成によれば、サーバ代理装置がサーバに代行して処理を実行することにより、サーバ代理装置に記憶したアプリケーションまたはデータベースに変化が生じた場合でも、その差分データをサーバが取得し、サーバ自身のデータベースに配置することにより、確実にサーバ代理装置とサーバとの同期をとることが可能となる。
また、上記のネットワークシステムにおいて、クライアント端末が複数であるとき、サーバ代理装置は、処理アドレスとクライアント端末毎に異なる実アドレスとを関連付けたアドレス変換情報を記憶する変換情報記憶手段と、処理要求を行ったクライアント端末を識別するクライアント端末識別手段と、をさらに備え、アドレス変換手段は、クライアント端末識別手段による識別結果およびアドレス変換情報に基づいて、処理アドレスを実アドレスに変換することが好ましい。
この構成によれば、同一のアプリケーションでありながら、クライアント端末毎にカスタマイズされた処理を実行することが可能となる。さらに、サーバ代理装置がクライアント端末を識別し、この識別結果に基づきクライアント端末毎に用意された実アドレスに変換するので、IDやパスワードを用いてユーザを認証する従来の例と比較して、厳密に認証を行うことができ、不正なアクセスを防止することが可能である。なお、サーバ代理装置によるクライアント端末の識別方法としては、クライアント端末のIPアドレスやホスト名を用いて識別することが想定される。
また、上記のネットワークシステムにおいて、サーバ代理装置は、装置処理実行手段による処理の実行可否を判別する実行可否判別手段と、実行可否判別手段により処理実行「否」と判別された場合、クライアント端末からの処理要求をそのままサーバに送信する処理要求送信手段と、をさらに備えるとともに、サーバは、処理要求に応じて、サーバアプリケーション記憶手段のアプリケーションを用いて処理を実行するサーバ処理実行手段、をさらに備えることが好ましい。
この構成によれば、仮にサーバ代理装置において処理の実行が不可能となった場合には、サーバにおいて処理が実行されるので、サーバ代理装置の障害がシステム全体に影響を及ぼす虞がない。すなわち、サーバまたはサーバ代理装置の何れか一方に障害が生じても、システムを継続して稼動することが可能となる。
また、上記のネットワークシステムにおいて、サーバ処理実行手段により処理が実行された場合、サーバ代理装置の処理結果送信手段は、サーバが実行した処理結果をクライアント端末に送信することが好ましい。
この構成によれば、仮にサーバ代理装置において処理の実行が不可能であり、サーバにおいて処理が実行された場合に、サーバ代理装置を経由して処理結果がクライアント端末へと送信されるので、サーバとクライアント端末との通信を別個に確立する必要がない。
また、上記のネットワークシステムにおいて、サーバ代理装置は、クライアント端末からの初回アクセスをトリガとして、アプリケーションおよびデータベースの送信をサーバに要求するアプリケーション送信要求手段、をさらに備え、サーバは、サーバ代理装置による送信要求に応じて、同期情報に基づきサーバ代理装置の利用対象となるアプリケーションおよびデータベースをサーバ代理装置に送信するアプリケーション送信手段、をさらに備えることが好ましい。
この構成によれば、クライアント端末からの初回アクセスに応じて、サーバ代理装置が、サーバからアプリケーションおよびデータベースを取得し、装置アプリケーション記憶部に保存するので、サーバ代理装置がサーバに代行して処理を行うために必要なサーバ代理装置の初期設定を自動化することができる。
さらに、上記のネットワークシステムにおいて、第2のネットワークがLANであることが好ましい。
この構成によれば、サーバ代理装置とクライアント端末とをLANで結ぶことにより、サーバ代理装置とクライアント端末との通信の信頼性を向上させるとともに、クライアント端末とサーバ代理装置との通信速度の高速化を図ることが可能となる。
本発明のプログラムは、コンピュータに、上記に記載のネットワークシステムのアプリケーション実行方法における各ステップを実行させるためのものである。
このプログラムをコンピュータに実行させることにより、クライアント端末を簡易な構成とし、且つサーバの障害に因らずシステムを継続して稼動し得るネットワークシステムを提供することができる。
以下、本発明の一実施形態に係るネットワークシステムについて、販売業向けのネットワークシステムに適用し、添付の図面を参照しながら詳細に説明する。
図1は、本実施形態に係るネットワークシステム1(以下システム1と記載)のシステム構成図である。図示のように本実施形態のシステム1は、アプリケーションAPおよびこのアプリケーションAPが参照するデータベースDBを管理するサーバ10と、サーバ10に代行して各種の処理を行うサーバ代理装置50と、サーバ10に対して各種の処理要求を行うクライアント端末70と、から構成されている。また、サーバ代理装置50は店舗毎(図示ではA店およびB店)に設置されることを想定しており、サーバ10とサーバ代理装置50とはWAN(Wide Area Network)101により接続されている。また、各店舗においてサーバ代理装置50とクライアント端末70(図示では3台表示)とはLAN(Local Area Network)102により接続されている。
なお、サーバ10、サーバ代理装置50、およびクライアント端末70のハードウェア構成は通常のコンピュータと同様であり、ハードディスク、通信インターフェース、入出力インターフェース、内部バス、CPU、ROMおよびRAMを備えている(何れも図示省略)。また、サーバ代理装置50には、サーバ10に代行して処理を実行するための基盤となるOSや基本ソフトウェアが組み込まれており、クライアント端末70には、さらにキーボードやバーコードリーダといった入力デバイスおよびディスプレイ(図示省略)が接続されている。
サーバ10は、サーバアプリケーション記憶部11、同期情報記憶部12、変化検知手段13、同期通信処理手段14、サーバ代理装置識別手段15、および制御部16を備えている。サーバアプリケーション記憶部11は、クライアント端末70からの各種処理要求に応じた処理を実行するためのアプリケーションAPと、このアプリケーションAPが参照するデータベースDBとを記憶している。なお、ここでいう「アプリケーション」とは、いわゆるアプリケーションプログラムの他、画像データや音声データといったコンテンツ、ライブラリ、およびドライバ等を含むものである。
同期情報記憶部12は、サーバ10とサーバ代理装置50とを同期させるための同期情報17を記憶している。詳細は後述するが、サーバ代理装置50はサーバ10に代行してクライアント端末70からの各種処理要求に応じた処理を実行するものであり、各サーバ代理装置50は、サーバ10に記憶されたアプリケーションAPおよびデータベースDBのうち、自身が利用するアプリケーションAPおよびデータベースDBを記憶する。すなわち同期情報17は、各サーバ代理装置50の識別情報と、各サーバ代理装置50が利用するアプリケーションAPおよびデータベースDBの情報とを関連付けた情報である。
変化検知手段13は、サーバアプリケーション記憶部11のアプリケーションAPおよびデータベースDBの変化を検知する。なお、この「変化」とは、例えばアプリケーションの変更やデータベースのデータ更新を意味している。同期通信処理手段14は、変化検知手段13がアプリケーションAPまたはデータベースDBの変化を検知した場合、変更された差分データを、そのアプリケーションAPまたはデータベースDBを利用するサーバ代理装置50に送信する(差分データ送信手段)。
また、同期通信処理手段14は、サーバ代理装置50からの差分データ受信に伴い、サーバ代理装置識別手段15(後述する)による識別結果に基づき同期情報17を参照し、更新対象となるアプリケーションAPまたはデータベースDBを特定して、受信した差分データに基づきアプリケーションAPまたはデータベースDBを更新する(更新手段)。さらに、同期通信処理手段14は、サーバ代理装置50のアプリケーション送信要求手段(後述する)による送信要求に応じて、記憶した同期情報17に基づき、送信要求を行ったサーバ代理装置50の利用対象となるアプリケーションAPおよびデータベースDBをサーバ代理装置50に送信する(アプリケーション送信手段)。
サーバ代理装置識別手段15は、サーバ代理装置50から、サーバ代理装置50に記憶されたアプリケーションAPまたはデータベースDBの変化に伴い生じた差分データを受信した場合、送信元のサーバ代理装置50を識別する。なお、この識別にはサーバ代理装置50のIPアドレスやホスト名を用いることが想定される。制御部16は、CPUを主要構成要素とするものであり、サーバ10全体を統括制御する。
なお、サーバアプリケーション記憶部11および同期情報記憶部12は、ハードディスクや各種半導体メモリにより構成されるものであり、変化検知手段13、同期通信処理手段14、およびサーバ代理装置識別手段15は、CPU(制御部16)がサーバ10内に組み込まれたプログラムに基づき各種演算を行うことにより実現されるものである(同期通信処理手段14およびサーバ代理装置識別手段15については通信インターフェースも含む)。
一方、サーバ代理装置50は、装置アプリケーション記憶部51、変化検知手段52、同期通信処理手段53、アドレス変換手段54、処理実行手段55、処理結果送信手段56、および制御部57を備えている。装置アプリケーション記憶部51は、クライアント端末70からの各種処理要求に応じた処理をサーバ10に代行して実行するためのアプリケーションAPと、このアプリケーションAPが参照するデータベースDBとを記憶している。
変化検知手段52は、装置アプリケーション記憶部51のアプリケーションAPおよびデータベースDBの変化を検知する。同期通信処理手段53は、変化検知手段52がアプリケーションAPまたはデータベースDBの変化を検知した場合、変更された差分データをサーバ10に送信する(差分データ送信手段)。また、同期通信処理手段53は、クライアント端末70からの初回アクセスをトリガとして、装置アプリケーション記憶部51に保存するべきアプリケーションAPおよびデータベースDBの送信をサーバ10に要求する(アプリケーション送信要求手段)。
さらに、同期通信処理手段53は、サーバ10からの差分データ受信に伴い、受信した差分データに基づき装置アプリケーション記憶部51のアプリケーションAPまたはデータベースDBを更新する(更新手段)。アドレス変換手段54は、予め定められた所定の変換方法に基づいて、クライアント端末70が処理要求の際に指定したサーバ10の処理アドレスを、サーバ代理装置50内のアドレスであって実際に処理を行うアドレスである実アドレスに変換する処理を行う。例えば、クライアント端末70が処理アドレスとして「http://org-server/index.html」を指定した場合、アドレス変換手段54は、これを「http://virtual-server/index.html」に変換する(org-serverはサーバ10のURLでありvirtual-serverはサーバ代理装置50のURLとする)。
処理実行手段55は、アドレス変換手段54が変換した実アドレスにおいて、装置アプリケーション記憶部51のアプリケーションAPを用いてクライアント端末70から要求された各種の処理を実行する。処理結果送信手段56は、処理実行手段55により実行された処理の処理結果をクライアント端末70に送信する。制御部57は、CPUを主要構成要素とするものであり、サーバ代理装置50全体を統括制御する。
なお、装置アプリケーション記憶部51は、ハードディスクや各種半導体メモリにより構成されるものであり、変化検知手段52、同期通信処理手段53、アドレス変換手段54、処理実行手段55、および処理結果送信手段56は、CPU(制御部57)がサーバ代理装置50に組み込まれたプログラムに基づき各種演算を行うことにより実現されるものである(同期通信処理手段14および処理結果送信手段56においては通信インターフェースも含む)。
また、本実施形態に係るクライアント端末70は、レシートに印刷するための決済処理データを生成するPOS端末や、商品の受発注処理を行う受発注端末として機能するものである。図示のように、クライアント端末70は処理要求手段71を備えており、この処理要求手段71はサーバ10の処理アドレスを指定して各種の処理要求を行う。そして、クライアント端末70は、この要求に応じた処理結果を受信することによりPOS端末または受発注端末として機能する。なお、処理要求手段71は、例えばWebブラウザにより構成されるものである。
以下、サーバ10およびサーバ代理装置50が実行する各種の処理について具体的に説明する。まず、サーバ代理装置50の装置アプリケーション記憶部51にアプリケーションAPおよびデータベースDBがインストールされる手順について図2に示すフローチャートを参照しながら説明する。
まず、クライアント端末70の処理要求手段71がサーバ10に処理を要求すると(S01)、サーバ代理装置50はLAN102を介してクライアント端末70の処理要求を受信する(S02)。ここでサーバ代理装置50は自身が保持するフラグを参照し、装置アプリケーション記憶部51に自身が利用するアプリケーションAPおよびデータベースDBがインストールされているか否かを判別する(S03)。なお、このフラグはインストールが未だ行われていないことを示す「0」、インストールの実施中であることを示す「1」、インストールが完了していることを示す「2」、インストールが失敗したことを示す「−1」の何れかの値を保持するものである。
そしてサーバ代理装置50は、フラグの値が「0」または「−1」である場合(S04;Yes)、サーバ10にアプリケーションAPおよびデータベースDBの送信を要求する(S05)。サーバ10は、サーバ代理装置50からアプリケーションAPおよびデータベースDBの送信要求を受信すると(S06)、送信要求を行ったサーバ代理装置50を識別し、さらに同期情報記憶部12の同期情報17を参照する(S07)。次に、同期情報17に基づいて、送信要求を行ったサーバ代理装置50が利用するアプリケーションAPおよびデータベースDBをサーバ代理装置50に対して送信する(S08)。その後、サーバ代理装置50は、受信したアプリケーションAPおよびデータベースDBを装置アプリケーション記憶部51に保存する(S09)。
なお、参照したフラグの値が「1」または「2」である場合には(S04;No)、アプリケーションAPは既にインストールされているので、サーバ代理装置50は、クライアント端末70からの要求に応じた処理を実行する処理に移行する(詳細は後述する)。
このように、クライアント端末70からの処理要求に応じて、サーバ代理装置50は、自身が利用するアプリケーションAPおよびデータベースDBをサーバ10から取得しているか否かを判別し、取得していない場合には、サーバ10からアプリケーションAPおよびデータベースDBを取得し、装置アプリケーション記憶部51に保存するので、サーバ代理装置50がサーバ10に代行して処理を行うために必要なサーバ代理装置50の初期設定を自動化することができる。
なお、クライアント端末70からの処理要求をトリガとしてアプリケーションAP等をインストールする構成に代えて、サーバ10とサーバ代理装置50との接続が完了した段階で、サーバ代理装置50がサーバ10からアプリケーションAP等をインストールする構成でもよい。
次に、クライアント端末70による処理要求に応じてサーバ代理装置50がサーバ10に代行して行う処理の実行手順について図3に示すフローチャートを参照しながら説明する。なお、以下の説明ではサーバ代理装置50に既にアプリケーションAPがインストールされているものとし、前述のフラグ参照以降の処理(図2;S03以降に該当)は省略して説明する。
まず、クライアント端末70の処理要求手段71が、サーバ10の処理アドレスを指定しサーバ10に処理を要求すると(S11)、サーバ代理装置50はLAN102を介してクライアント端末70の処理要求を受信する(S12)。次にサーバ代理装置50のアドレス変換手段54は、クライアント端末70が指定したサーバ10の処理アドレスを、サーバ代理装置50内のアドレスであって実際に処理を行うアドレスである実アドレスに変換する(S13)。さらにサーバ代理装置50の処理実行手段55は、変換した実アドレスにおいてアプリケーションAPを実行する(S14)。そして、サーバ代理装置50の処理結果送信手段56は、実行した処理の処理結果をクライアント端末70に送信する(S15)。一方クライアント端末70は、サーバ代理装置50から処理結果を受信する(S16)。
なお、上述のように本実施形態では、クライアント端末70はPOS端末または受発注端末として機能することから、サーバ10およびサーバ代理装置50に記憶されるアプリケーションAPは、例えばPOSアプリケーションや受発注アプリケーションであることが想定される。また、POS端末として機能するクライアント端末70はPOSアプリケーションの処理アドレスを送信し、受発注端末として機能するクライアント端末70は、受発注アプリケーションの処理アドレスを送信することが想定され、サーバ代理装置50では各処理要求に応じてそれぞれのアプリケーションAPが実行されることとなる。
このように、クライアント端末70によるサーバ10への処理要求に応じてサーバ代理装置50がサーバ10に代行して処理を実行することができるので、サーバ10内、あるいはサーバ10とサーバ代理装置50を結ぶWAN101に障害が生じた場合にも、クライアント端末70からの処理要求に応じることができる。すなわち、これらの障害がシステム全体に影響を及ぼす虞がない。特に、POS端末などフロント業務を行うアプリケーションを取り扱う機器においては、処理の中断が致命的であり、安定したネットワーク環境であることが好ましいことから、本実施形態に係るシステム1が有効となる。また、サーバ代理装置50は、クライアント端末70が指定したサーバ10の処理アドレスを実アドレスに変換するので、クライアント端末が意図的にサーバ代理装置50に処理を要求する必要がない。言い換えれば、クライアント端末70からみた場合、サーバ10およびサーバ代理装置50をあたかも1つのサーバとして機能させることが実現できる。
続いて、サーバ10およびサーバ代理装置50間における同期処理について説明する。最初に、サーバ10のサーバアプリケーション記憶部11において、アプリケーションAPまたはデータベースDBに変更が生じた場合について、図4に示すフローチャートを参照して説明する。
まず、サーバ10の変化検知手段13が、サーバアプリケーション記憶部11においてアプリケーションAPまたはデータベースDBの変化を検知すると(S21;Yes)、サーバ10の同期通信処理手段14は、同期情報17を参照し、変更が生じたアプリケーションAPまたはデータベースDBを利用するサーバ代理装置50を特定する(S22)。そして、変更されたアプリケーションAPまたはデータベースDBの差分データを、特定したサーバ代理装置50に送信する(S23)。サーバ代理装置50は、サーバ10から差分データを受信すると(S24)、受信した差分データに基づき装置アプリケーション記憶部51のアプリケーションAPまたはデータベースDBを更新する(S25)。
次に、図5に示すフローチャートを参照し、サーバ代理装置50の装置アプリケーション記憶部51において、アプリケーションAPまたはデータベースDBに変更が生じた場合について説明する。
まず、サーバ代理装置50の変化検知手段52が、装置アプリケーション記憶部51においてアプリケーションAPまたはデータベースDBの変化を検知すると(S31;Yes)、サーバ代理装置50の同期通信処理手段14は、変更されたアプリケーションAPまたはデータベースDBの差分データを、サーバ10に送信する(S32)。そして、サーバ10が、サーバ代理装置50から差分データを受信すると(S33)、サーバ10のサーバ代理装置識別手段15は、差分データの送信元となるサーバ代理装置50を識別する(S34)。さらに同期通信処理手段14は、この識別結果に基づき同期情報17を参照し、更新対象となるアプリケーションAPまたはデータベースDBを特定する(S35)。そして、受信した差分データに基づき特定したアプリケーションAPまたはデータベースDBを更新する(S36)。
このように、サーバ10またはサーバ代理装置50において、記憶したアプリケーションAPまたはデータベースDBに変化が生じた場合、その差分データを互いに送信するとともに、受信した差分データに基づき自身が記憶するアプリケーションAPまたはデータベースDBを更新するので、常にサーバ10およびサーバ代理装置50に記憶されるアプリケーションAPまたはデータベースDBの同期をとることができる。なお、サーバ10およびサーバ代理装置50が非接続状態である場合には、サーバ10またはサーバ代理装置50において差分データを蓄積しておき、接続状態となった際に差分データを送信すればよい。
ところで、サーバ代理装置50は、各クライアント端末70が同一の要求を行った(同一の処理アドレスを送信した)場合でも、要求元のクライアント端末70に応じて異なる処理を行うことが可能である。以下、この制御について説明する。
サーバ代理装置50は、図1に示した構成に加え、さらにサーバ10の処理アドレスと、クライアント端末70毎に異なる実アドレスとを関連付けたアドレス変換情報80(図6参照)を記憶するアドレス変換情報記憶部(図示省略)と、クライアント端末70を識別するクライアント端末識別手段(図示省略)とをさらに備えている。図6に示すように、アドレス変換情報80には、各クライアント端末70(A端末およびB端末)の識別情報81(図示ではIPアドレス)に続いて、サーバ10の処理アドレスとサーバ代理装置50内の実アドレスとを関連付ける情報82が記述されている。
図示の例では、サーバ10の処理アドレス「org-server/発注URL」を実アドレスに変換する例を表している。この場合、A端末が処理アドレス「org-server/発注URL」を指定すると、サーバ代理装置50は、受信した処理要求に含まれる例えばIPアドレスを取得して要求元のクライアント端末70を識別し、変換情報80に基づいて実アドレス「virtual-server/発注URL」に変換する。一方、B端末が処理アドレス「org-server/発注URL」を指定すると、サーバ代理装置50は、同様の方法でクライアント端末70を識別し、変換情報80に基づいて実アドレス「virtual-server/禁止画面URL」に変換する(org-serverはサーバ10のURLでありvirtual-serverはサーバ代理装置50のURLとする)。
図7は、図6に示す変換情報に基づいて、サーバ代理装置50が各クライアント端末70に応じて異なる処理を行った例をイメージで表すものである。図示するように、A端末70aが例えば発注処理を要求するために、処理アドレス「org-server/発注URL」を指定して処理要求を行った場合には、サーバ代理装置50は実アドレス「virtual-server/発注URL」において処理を実行し、その処理結果をA端末70aに送信する。
一方、B端末70bが処理アドレス「org-server/発注URL」を指定して処理要求を行った場合には、サーバ代理装置50は実アドレス「virtual-server/禁止画面URL」において処理を実行し、その処理結果をB端末70bに送信する。すなわち、A端末70aのディスプレイ72には発注処理の処理画面D1が、B端末70bのディスプレイ72には禁止画面D2が、それぞれ表示されることとなる。
なお、変換情報80において、クライアント端末70毎の実アドレスが記述されていない場合には、サーバ代理装置50は、前述のように予め定められた所定の変換方法に基づいて、サーバ10のURLをサーバ代理装置50のURLに変換して実アドレスを求める。すなわち、各端末共通の処理が行われる。従って、1つのアプリケーションAPには、処理要求を行った各端末に応じて異なる処理が行われる個別部と、各端末共通の処理が行われる共通部とが含まれることとなる。
また、各端末の数だけ実アドレスを用意するのではなく、例えばA端末の実アドレスと、A端末以外の実アドレスとの2つのアドレスを用意しておき、A端末以外の端末は、共通の実アドレスを使用する構成でもよい。さらに、図6に示した変換情報80はXMLデータで構成されているが、変換情報80はXMLデータに限らず各種のデータ形式を適用可能である。なお、この変換情報80は、予めサーバ代理装置50に記憶させておいてもよいし、上述したアプリケーションAPおよびデータベースDBをインストールする際に(図2参照)、サーバ10から取得してもよい。但しこの場合、サーバ10が変換情報80を各サーバ代理装置50に関連付けて記憶していることが前提である。
さらに、本実施形態に係るシステム1は、サーバ代理装置50において処理の実行が不可能な場合、サーバ代理装置50に代えてサーバ10が処理を実行することが可能である。以下、この制御について説明する。
サーバ代理装置50は、図1に示した構成に加え、処理実行手段55による処理の実行可否を判別する実行可否判別手段(図示省略)と、この実行可否判別手段により処理実行「否」と判別された場合、クライアント端末70からの処理要求をそのままサーバ10に送信する処理要求送信手段(図示省略)と、をさらに備えている。また、この場合サーバ10は、サーバ代理装置50と同様に、処理を実行するための基盤となるOSや基本ソフトウェアが組み込まれており、クライアント端末70による処理要求に応じて、サーバアプリケーション記憶部11のアプリケーションAPを用いて処理を実行する処理実行手段(図示省略)、をさらに備えている。
ここで、サーバ10がサーバ代理装置50に代えて処理を実行する一連の流れについて、図8に示すフローチャートを参照して説明する。なお、以下の説明ではサーバ代理装置50に既にアプリケーションAPがインストールされているものとし、前述のフラグ参照以降の処理(図2;S03以降に該当)は省略して説明する。
サーバ代理装置50がクライアント端末70による処理要求を受信すると(S41)、サーバ代理装置50の処理実行可否判別手段は、処理実行手段55による処理の実行が可能であるか否かを判別する(S42)。そして、処理実行手段55による処理実行が不可能である場合(S43;No)、サーバ代理装置50の処理要求送信手段は、クライアント端末70から受信した処理要求をそのままサーバ10へ送信する(S44)。一方、処理実行手段55による処理実行が可能である場合には(S43;Yes)、サーバ代理装置50は、処理実行手段55による処理実行へと移行する(S45)。
サーバ10は、サーバ代理装置50から処理要求を受信すると(S46)、サーバ10の処理実行手段は、受信した処理要求の処理アドレスにおいてアプリケーションAPを実行する(S47)。そして、実行した処理の処理結果をサーバ代理装置50に送信する(S48)。その後、サーバ代理装置50の処理結果送信手段56は、サーバ10から受信した処理結果をさらにクライアント端末70に送信する(S49)。
なお、サーバ代理装置50による処理の実行が不可能な場合とは、例えばサーバ代理装置50が電源投入状態であるにもかかわらず故障状態(例えばアプリケーションAPの暴走による)にあるような場合を意味する。このように、仮にサーバ代理装置50において処理の実行が不可能となった場合には、サーバ10において処理が実行されるので、サーバ代理装置50の障害がシステム全体に影響を及ぼす虞がない。すなわち、サーバ10またはサーバ代理装置50の何れか一方に障害が生じても、システム1を継続して稼動することが可能となる。また、サーバ10が処理を実行した場合、サーバ代理装置50を経由して処理結果をクライアント端末70に送信するのではなく、サーバ10が直接クライアント端末70に対して処理結果を送信してもよい。
なお、本実施形態に係るシステム1として、POS端末または受発注端末として機能するクライアント端末70を想定し、販売業向けのネットワークシステムに適用して説明を行ったが、これに限らず各業務に係るネットワークシステムに本発明を適用することが可能である。
また、上記の例に示した、サーバ10およびサーバ代理装置50の各構成要素(各機能)をプログラムとして提供することも可能である。また、そのプログラムを記録媒体(図示省略)に格納して提供することも可能である。記録媒体としては、CD−ROM、フラッシュROM、メモリカード(コンパクトフラッシュ(登録商標)、スマートメディア、メモリースティック等)、コンパクトディスク、光磁気ディスク、デジタルバーサタイルディスクおよびフレキシブルディスク等を利用することができる。
さらに、上記の実施形態に限らず、ネットワークシステム1の装置構成や処理工程など、本発明を逸脱しない範囲で適宜変更が可能である。
1…ネットワークシステム 10…サーバ 11…サーバアプリケーション記憶部 12…同期情報記憶部 13…変化検知手段 14…同期通信処理手段 15…サーバ代理装置識別手段 16…制御部(サーバ) 17…同期情報 50…サーバ代理装置 51…装置アプリケーション記憶部 52…変化検知手段 53…同期通信処理手段 54…アドレス変換手段 55…処理実行手段 56…処理結果送信手段 57…制御部(サーバ代理装置) 70…クライアント端末 71…処理要求手段 80…変換情報 101…WAN 102…LAN AP…アプリケーション DB…データベース
Claims (10)
- 第1のネットワークで接続されたサーバおよびサーバ代理装置、並びに当該サーバ代理装置と第2のネットワークで接続されたクライアント端末、から構成されるネットワークシステムであって、
前記サーバは、
アプリケーションおよび当該アプリケーションが参照するデータベースを記憶するサーバアプリケーション記憶手段と、
前記サーバアプリケーション記憶手段の前記アプリケーションおよび前記データベースの変化を検知するサーバ変化検知手段と、
前記サーバ変化検知手段による変化検知に応じて、変更された差分データを前記サーバ代理装置に送信するサーバ差分データ送信手段と、を有し、
前記クライアント端末は、
前記サーバの処理アドレスを指定し、前記第2のネットワークを介して当該サーバに処理を要求する処理要求手段、を備え、
前記サーバ代理装置は、
前記アプリケーションおよび前記データベースを記憶する装置アプリケーション記憶手段と、
受信した前記差分データに基づき前記装置アプリケーション記憶手段の前記アプリケーションおよび前記データベースを更新する装置更新手段と、
前記クライアント端末から送信される前記処理アドレスを、前記サーバ代理装置内のアドレスであって実際に処理を行うアドレスである実アドレスに変換するアドレス変換手段と、
変換した前記実アドレスにおいて、記憶した前記アプリケーションを用いて前記クライアント端末から要求された処理を実行する装置処理実行手段と、
前記装置処理実行手段による処理結果を前記クライアント端末に送信する処理結果送信手段と、備えることを特徴とするネットワークシステム。 - 前記サーバには複数の前記サーバ代理装置が接続されており、
前記各サーバ代理装置は、
前記サーバアプリケーション記憶手段のアプリケーションのうち、自身が利用するアプリケーションを前記装置アプリケーション記憶手段に記憶するものであって、
前記サーバは、
前記各サーバ代理装置の識別情報と、当該各サーバ代理装置が利用するアプリケーションとを関連付けた同期情報を記憶する同期情報記憶手段、をさらに備え、
前記サーバ差分データ送信手段は、
前記同期情報に基づき、変化が生じた前記アプリケーションまたは前記データベースを利用する前記サーバ代理装置に対して、前記差分データを送信することを特徴とする請求項1に記載のネットワークシステム。 - 前記サーバ代理装置は、
前記装置アプリケーション記憶手段の前記アプリケーションおよび前記データベースの変化を検知する装置変化検知手段と、
前記装置変化検知手段による変化検知に応じて、変更された差分データを前記サーバに送信する装置差分データ送信手段と、をさらに有し、
前記サーバは、
前記差分データの送信元となる前記サーバ代理装置を識別するサーバ代理装置識別手段と、
前記同期情報および受信した前記差分データに基づいて、前記サーバアプリケーション記憶手段の前記アプリケーションまたは前記データベースを更新するサーバ更新手段と、をさらに備えることを特徴とする請求項2に記載のネットワークシステム。 - 前記クライアント端末が複数であるとき、
前記サーバ代理装置は、
前記処理アドレスと前記クライアント端末毎に異なる前記実アドレスとを関連付けたアドレス変換情報を記憶する変換情報記憶手段と、
前記処理要求を行った前記クライアント端末を識別するクライアント端末識別手段と、をさらに備え、
前記アドレス変換手段は、
前記クライアント端末識別手段による識別結果および前記アドレス変換情報に基づいて、前記処理アドレスを前記実アドレスに変換することを特徴とする請求項1ないし3の何れか1項に記載のネットワークシステム。 - 前記サーバ代理装置は、
前記装置処理実行手段による処理の実行可否を判別する実行可否判別手段と、
前記実行可否判別手段により処理実行「否」と判別された場合、前記クライアント端末からの前記処理要求をそのまま前記サーバに送信する処理要求送信手段と、をさらに備えるとともに、
前記サーバは、
前記処理要求に応じて、前記サーバアプリケーション記憶手段の前記アプリケーションを用いて処理を実行するサーバ処理実行手段、をさらに備えることを特徴とする請求項1ないし4の何れか1項に記載のネットワークシステム。 - 前記サーバ処理実行手段により処理が実行された場合、
前記サーバ代理装置の前記処理結果送信手段は、
前記サーバが実行した処理結果を前記クライアント端末に送信することを特徴とする請求項5に記載のネットワークシステム。 - 前記サーバ代理装置は、
前記クライアント端末からの初回アクセスをトリガとして、前記アプリケーションおよび前記データベースの送信を前記サーバに要求するアプリケーション送信要求手段、をさらに備え、
前記サーバは、
前記サーバ代理装置による送信要求に応じて、前記同期情報に基づき当該サーバ代理装置の利用対象となる前記アプリケーションおよび前記データベースを前記サーバ代理装置に送信するアプリケーション送信手段、をさらに備えることを特徴とする請求項2ないし6の何れか1項に記載のネットワークシステム。 - 前記第2のネットワークがLANであることを特徴とする請求項1ないし7の何れか1項に記載のネットワークシステム。
- 第1のネットワークで接続されたサーバおよびサーバ代理装置、並びに当該サーバ代理装置と第2のネットワークで接続されたクライアント端末、から構成されるネットワークシステムのアプリケーション実行方法であって、
前記サーバは、アプリケーションおよび当該アプリケーションが参照するデータベースを記憶するサーバアプリケーション記憶手段、を備えるとともに、
前記サーバ代理装置は、前記アプリケーションおよび前記データベースを記憶する装置アプリケーション記憶手段、を備え、
前記サーバが、
前記サーバアプリケーション記憶手段の前記アプリケーションおよび前記データベースの変化を検知するサーバ変化検知ステップと、
前記サーバ変化検知手段による変化検知に応じて、変更された差分データを前記サーバ代理装置に送信するサーバ差分データ送信ステップと、を実行し、
前記クライアント端末が、
前記サーバの処理アドレスを指定し、前記第2のネットワークを介して当該サーバに処理を要求する処理要求ステップ、を実行するとともに、
前記サーバ代理装置が、
受信した前記差分データに基づき前記装置アプリケーション記憶手段の前記アプリケーションおよび前記データベースを更新する装置更新ステップと、
前記クライアント端末から送信される前記処理アドレスを、前記サーバ代理装置内のアドレスであって実際に処理を行うアドレスである実アドレスに変換するアドレス変換ステップと、
変換した前記実アドレスにおいて、記憶した前記アプリケーションを用いて前記クライアント端末から要求された処理を実行する装置処理実行ステップと、
前記装置処理実行ステップにおける処理結果を前記クライアント端末に送信する処理結果送信ステップと、実行することを特徴とするネットワークシステムのアプリケーション実行方法。 - コンピュータに、請求項9に記載のネットワークシステムのアプリケーション実行方法における各ステップを実行させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006187527A JP2008015857A (ja) | 2006-07-07 | 2006-07-07 | ネットワークシステム、プログラム、ネットワークシステムのアプリケーション実行方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006187527A JP2008015857A (ja) | 2006-07-07 | 2006-07-07 | ネットワークシステム、プログラム、ネットワークシステムのアプリケーション実行方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008015857A true JP2008015857A (ja) | 2008-01-24 |
Family
ID=39072795
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006187527A Withdrawn JP2008015857A (ja) | 2006-07-07 | 2006-07-07 | ネットワークシステム、プログラム、ネットワークシステムのアプリケーション実行方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2008015857A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012048697A (ja) * | 2010-08-27 | 2012-03-08 | Atop Technologies Inc | 高信頼性のネットワークサービス提供システム |
JP2021077318A (ja) * | 2019-11-11 | 2021-05-20 | 財團法人工業技術研究院Industrial Technology Research Institute | 複数のエッジクラウドのネットワーク通信制御方法、およびエッジコンピューティングデバイスとシステム |
-
2006
- 2006-07-07 JP JP2006187527A patent/JP2008015857A/ja not_active Withdrawn
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012048697A (ja) * | 2010-08-27 | 2012-03-08 | Atop Technologies Inc | 高信頼性のネットワークサービス提供システム |
JP2021077318A (ja) * | 2019-11-11 | 2021-05-20 | 財團法人工業技術研究院Industrial Technology Research Institute | 複数のエッジクラウドのネットワーク通信制御方法、およびエッジコンピューティングデバイスとシステム |
JP7017594B2 (ja) | 2019-11-11 | 2022-02-08 | 財團法人工業技術研究院 | 複数のエッジクラウドのネットワーク通信制御方法、およびエッジコンピューティングデバイスとシステム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11354080B2 (en) | Relay apparatus, information processing apparatus, information processing system, and recording medium storing information processing program | |
CN102394872B (zh) | 数据通信协议 | |
JP4698756B2 (ja) | ウェブベースアプリケーションのオフライン実行 | |
RU2473112C2 (ru) | Создание и развертывание распределенных расширяемых приложений | |
US9696948B2 (en) | Printing system, printing service apparatus, image forming apparatus, control method, and storage medium | |
CN109639749B (zh) | 云桌面的访问方法、装置、设备及存储介质 | |
JP6455278B2 (ja) | マッシュアップ方法、マッシュアッププログラム、及び端末 | |
CN102934101A (zh) | 针对本地和远程数据的透明访问机制 | |
JP5197351B2 (ja) | 情報処理装置及び情報処理方法及びプログラム | |
JP2018077623A (ja) | 管理システム、および制御方法 | |
JP6344907B2 (ja) | 情報処理装置、システムおよび情報処理装置の制御方法 | |
US10846033B2 (en) | Print server, control method, and storage medium | |
US20150207867A1 (en) | Information processing terminal and control method | |
CN112115103B (zh) | 文件地址显示方法、装置、电子设备及可读存储介质 | |
US20150067173A1 (en) | Information processing terminal and control method therefor, system and control method therefor, and non-transitory computer-readable medium | |
US11924295B2 (en) | Serving assets in a networked environment | |
JP2008015857A (ja) | ネットワークシステム、プログラム、ネットワークシステムのアプリケーション実行方法 | |
JP5014040B2 (ja) | ゲートウェイ装置及びゲートウェイ装置のゲートウェイ方法及びゲートウェイプログラム | |
JP5086820B2 (ja) | サービス管理方法とシステムおよびプログラム | |
CN112948733B (zh) | 接口维护方法、装置、计算设备以及介质 | |
CN112783548B (zh) | 网络系统的访问方法及装置 | |
US10095563B2 (en) | Method, device, and computer program for improving access to services in a web runtime environment | |
JP3890911B2 (ja) | 情報処理装置 | |
JP2013211054A (ja) | Posシステム | |
US11108872B2 (en) | System and method using the same, information processing apparatus and method using the same, and storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20091006 |