JP5018128B2 - Network system, network system communication control method and program - Google Patents
Network system, network system communication control method and program Download PDFInfo
- Publication number
- JP5018128B2 JP5018128B2 JP2007043399A JP2007043399A JP5018128B2 JP 5018128 B2 JP5018128 B2 JP 5018128B2 JP 2007043399 A JP2007043399 A JP 2007043399A JP 2007043399 A JP2007043399 A JP 2007043399A JP 5018128 B2 JP5018128 B2 JP 5018128B2
- Authority
- JP
- Japan
- Prior art keywords
- execution
- application
- server
- gate device
- gate
- 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
Links
Images
Landscapes
- Stored Programmes (AREA)
Description
本発明は、LAN、インターネット等の通信ネットワークを介してアプリケーションを実行するネットワークシステム、ネットワークシステムの通信制御方法およびプログラムに関するものである。 The present invention relates to a network system that executes an application via a communication network such as a LAN or the Internet, a communication control method for the network system, and a program.
従来、この種のネットワークシステムにおいて、サーバが、インターネット接続された各端末に対してアプリケーション実行サービスを提供するものが知られている。このネットワークシステムは、利用者が、クライアント端末からインターネット経由でサーバにアクセスすることにより、サーバに保存しているアプリケーションを実行させ、実行結果(出力データ)を取得している(特許文献1参照)。
ところで、近年、上記のようなネットワークシステムは、様々なベンダにより構築されており、利用者は自分に必要なサービスを選択して利用している。しかし、上記のようなネットワークシステムでは、インターネット回線が不安定な場合に、通信が中断し、十分な応答速度が得られないという問題があった。さらに、サーバがダウンした場合や、回線が切断した場合には、システムが回復するまで利用者がサービスの提供を受けることができないという問題があった。この問題を解決するため、クライアント端末がインターネット経由で上記のサーバにアクセスする構成に代えて、利用者のLAN内に上記のサーバからアプリケーションを取得し、かつアプリケーションの実行を行う実行サーバを設置する構成が考えられる。このようにすれば、クライアント端末は、LANで接続された実行サーバにアクセスすることによりアプリケーションの実行結果を取得することができるため、インターネットを経由してサーバにアクセスする必要がない。 By the way, in recent years, the network system as described above has been constructed by various vendors, and the user selects and uses a service necessary for the user. However, the network system as described above has a problem that communication is interrupted and a sufficient response speed cannot be obtained when the Internet line is unstable. Furthermore, when the server is down or the line is disconnected, there is a problem that the user cannot receive the service until the system is restored. In order to solve this problem, instead of a configuration in which the client terminal accesses the server via the Internet, an execution server that acquires an application from the server and executes the application is installed in the user's LAN. Configuration is conceivable. In this way, since the client terminal can acquire the execution result of the application by accessing the execution server connected via the LAN, it is not necessary to access the server via the Internet.
しかし、上記のようにクライアント端末が実行サーバにアクセスする構成にしたとしても、実行サーバに障害が生じた場合や、実行サーバ上にないアプリケーションを実行する場合には、クライアント端末は、アプリケーションの実行結果を取得することができないという問題があった。この問題を解決するため、実行サーバの障害時や実行サーバ上にアプリケーションが無い場合に、上記のアプリケーションを提供したサーバにアクセスしてアプリケーションの実行結果を取得する構成が考えられるが、クライアント端末においてアプリケーションが格納されているサーバにアクセス先を指定し直す必要があり、ユーザにとって煩雑な作業となっていた。 However, even if the client terminal accesses the execution server as described above, if the execution server fails or if an application not on the execution server is executed, the client terminal executes the application. There was a problem that the result could not be obtained. In order to solve this problem, a configuration in which the execution result of the application is obtained by accessing the server that provided the above application when the execution server fails or there is no application on the execution server is considered. It is necessary to re-specify the access destination to the server where the application is stored, which is a troublesome task for the user.
そこで、サーバの性能や回線品質に左右されることなく、且つユーザに対しアプリケーションの格納先を意識させることなくアプリケーションを実行させることができるネットワークシステム、ネットワークシステムの通信制御方法およびプログラムを提供することをその課題としている。 Therefore, it is possible to provide a network system, a network system communication control method, and a program capable of executing an application without being influenced by server performance and line quality and without making the user aware of the storage location of the application. Is the issue.
本発明のネットワークシステムは、クライアント端末と、データの中継処理を行うゲート装置と、ゲート装置を介して第1のネットワークによりクライアント端末と接続し、クライアント端末からの実行要求に基づいてアプリケーションを実行するアプリケーション実行装置と、ゲート装置と第2のネットワークにより接続され、アプリケーション実行装置に第1のアプリケーションを提供するとともに、第1のアプリケーションをアプリケーション実行装置に代わって実行する第1の代理サーバと、ゲート装置と第2のネットワークにより接続され、アプリケーション実行装置に第1のアプリケーションと異なる第2のアプリケーションを提供するとともに、第2のアプリケーションをアプリケーション実行装置に代わって実行する第2の代理サーバと、を備えるネットワークシステムであって、クライアント端末は、第1のアプリケーションもしくは第2のアプリケーションを実行対象となるアプリケーションとして指定し、ゲート装置を実行要求先として実行要求するクライアント側実行要求手段を備え、ゲート装置は、第1のアプリケーションおよび前記第2のアプリケーションの格納先を記憶するデータベースを参照し、実行対象となるアプリケーションがアプリケーション実行装置に格納されているか否かを判定する格納判定手段と、アプリケーション実行装置が実行対象となるアプリケーションのアプリケーションを実行可能状態か否かを判定する実行判定手段と、クライアント端末から実行対象となるアプリケーションの実行要求を受けたとき、格納判定手段により実行対象となるアプリケーションがアプリケーション実行装置に格納されていると判定され、且つアプリケーション実行装置が実行対象となるアプリケーションを実行可能状態であると判定された場合は、実行要求先をアプリケーション実行装置に変更し、格納判定手段により実行対象となるアプリケーションがアプリケーション実行装置に格納されていないと判定された場合、またはアプリケーション実行装置が実行対象となるアプリケーションを実行可能状態でないと判定された場合は、実行対象となるアプリケーションの実行要求先を実行対象となるアプリケーションを提供した第1の代理サーバもしくは第2の代理サーバに変更する要求先変更手段と、変更した実行要求先に対して実行要求するゲート装置側実行要求手段と、を備え、アプリケーション実行装置は、ゲート装置のゲート装置側実行要求手段からの実行要求に基づいて実行対象となるアプリケーションを実行し、その実行結果を、ゲート装置を介してクライアント端末に送信する実行手段を備え、第1の代理サーバは、ゲート装置のゲート装置側実行要求手段からの実行要求に基づいて実行対象となる第1のアプリケーションを実行し、その実行結果を、ゲート装置を介してクライアント端末に送信する代理実行手段を備え、第2の代理サーバは、ゲート装置のゲート装置側実行要求手段からの実行要求に基づいて実行対象となる第2のアプリケーションを実行し、その実行結果を、ゲート装置を介してクライアント端末に送信する第2の代理実行手段を備えたたことを特徴とする。 The network system of the present invention connects a client terminal, a gate device that performs data relay processing, and the client terminal via the gate device via the first network, and executes an application based on an execution request from the client terminal An application execution device, a gate device and a second network connected to each other, providing a first application to the application execution device, and executing the first application on behalf of the application execution device, and a gate A second proxy server that is connected to the apparatus by a second network, provides the application execution apparatus with a second application different from the first application, and executes the second application on behalf of the application execution apparatus When, a network system including a client terminal, to specify the first application or the second application as an execution subject to the application, with a client-side execution request means for executing requests gate device as the execution request destination the gate apparatus includes a storage determining means for determining the first application and the second refers to the database that stores the application storage destination, an application to be executed as to whether or not stored in the application execution device, when the application execution device that has received the execution determination means for determining whether an executable state applications be executed application, an execution request of an application and a client terminal and executed, it and executed by the storage determining means Application is determined to be stored in the application execution device, and if the application execution device is determined to be executable state applications to be executed, changes the execution request destination to the application executing device, storage determining If the application to be executed by the means is determined not to be stored in the application execution unit, or if the application execution device is determined not to be executable state applications to be executed, the application to be executed Request destination changing means for changing the execution request destination to the first proxy server or the second proxy server that provided the application to be executed, and the gate device side execution request means for requesting execution to the changed execution request destination The application The execution device includes an execution unit that executes an application to be executed based on an execution request from the gate device side execution request unit of the gate device, and transmits the execution result to the client terminal via the gate device. The first proxy server executes the first application to be executed based on the execution request from the gate device execution request means of the gate device, and transmits the execution result to the client terminal via the gate device. The second proxy server includes a proxy execution unit, and the second proxy server executes the second application to be executed based on the execution request from the gate device side execution request unit of the gate device, and the execution result is passed through the gate device. And second proxy execution means for transmitting to the client terminal .
本発明のネットワークシステムの通信制御方法は、クライアント端末と、データの中継処理を行うゲート装置と、ゲート装置を介して第1のネットワークによりクライアント端末と接続し、クライアント端末からの実行要求に基づいてアプリケーションを実行するアプリケーション実行装置と、ゲート装置と第2のネットワークにより接続され、アプリケーション実行装置に第1のアプリケーションを提供するとともに、第1のアプリケーションをアプリケーション実行装置に代わって実行する第1の代理サーバと、ゲート装置と第2のネットワークにより接続され、アプリケーション実行装置に第1のアプリケーションと異なる第2のアプリケーションを提供するとともに、第2のアプリケーションをアプリケーション実行装置に代わって実行する第2の代理サーバと、を備えるネットワークシステムの通信制御方法であって、クライアント端末が、第1のアプリケーションもしくは第2のアプリケーションを実行対象となるアプリケーションとして指定し、ゲート装置を実行要求先として実行要求するステップを実行し、ゲート装置が、実行対象となるアプリケーションの格納先を記憶するデータベースを参照し、指定された実行対象となるアプリケーションがアプリケーション実行装置に格納されているか否かを判定するステップと、アプリケーション実行装置が実行対象となるアプリケーションを実行可能状態か否かを判定するステップと、クライアント端末から実行対象となるアプリケーションの実行要求を受けたとき、指定された実行対象となるアプリケーションがアプリケーション実行装置に格納されていると判定され、且つアプリケーション実行装置が実行対象となるアプリケーションを実行可能状態であると判定された場合は、実行要求先をアプリケーション実行装置に変更し、指定された実行対象となるアプリケーションがアプリケーション実行装置に格納されていないと判定された場合、またはアプリケーション実行装置が実行対象となるアプリケーションを実行可能状態でないと判定された場合は、実行対象となるアプリケーションの実行要求先を実行対象となるアプリケーションと指定された第1のアプリケーションを提供した第1の代理サーバもしくは第2の代理サーバに変更するステップと、変更した実行要求先に対して実行要求するステップと、を実行し、ゲート装置が実行要求先としてアプリケーション実行装置に変更したときには、アプリケーション実行装置が、ゲート装置からの実行要求に基づいて実行対象となるアプリケーションを実行し、その実行結果を、ゲート装置を介してクライアント端末に送信するステップを実行し、ゲート装置が実行要求先として第1の代理サーバに変更したときには、第1の代理サーバが、ゲート装置からの実行要求に基づいてアプリケーションを実行し、その実行結果を、ゲート装置を介してクライアント端末に送信するステップを実行し、ゲート装置が実行要求先として第2の代理サーバに変更したときには、第2の代理サーバが、ゲート装置からの実行要求に基づいて実行対象となる第2のアプリケーションを実行し、その実行結果を、ゲート装置を介してクライアント端末に送信するステップを実行することを特徴とする。 A communication control method for a network system according to the present invention includes a client terminal, a gate device that performs data relay processing, a client terminal connected to the client terminal via the gate device, and an execution request from the client terminal. An application execution device that executes an application, and a first proxy that is connected to the gate device by a second network, provides the first application to the application execution device, and executes the first application on behalf of the application execution device and the server are connected by the gate device and the second network, while providing a second application different from the first application to the application executing device, executing on behalf of a second application to the application executing device And 2 of the proxy server, a communication control method for a network system including a client terminal, designated as the first application or the second application becomes the execution target application, execution request of the gate device as the execution request destination the step of running, the gate device, with reference to the database that stores the application storage destination to be executed, determining whether the application to be designated executed is stored in the application execution device , determining whether the rEADY state the application which the application executing device is executed, upon receiving an execution request of an application and a client terminal and executed, the application to be specified execution target application It is determined to be stored in the down run devices, and if the application execution device is determined to be executable state applications to be executed, changes the execution request destination to the application execution device, the specified run If the target application is determined not to be stored in the application execution unit, or if the application execution device is determined not to be executable state applications to be executed, the execution request destination of the application to be executed To change to the first proxy server or the second proxy server that provided the specified first application as the application to be executed, and to execute the request to the changed execution request destination and, application gate device as the execution request destination When you change the running device, the application execution unit executes the application to be executed based on the execution request from the gate device, the execution result, and performing the step of transmitting to the client terminal via the gate device, When the gate device changes to the first proxy server as the execution request destination, the first proxy server executes the application based on the execution request from the gate device, and the execution result is sent to the client terminal via the gate device. When the gate device changes to the second proxy server as the execution request destination, the second proxy server selects the second application to be executed based on the execution request from the gate device. Execute the step of executing and sending the execution result to the client terminal via the gate device It is characterized by doing.
この構成によれば、第1のネットワークをLAN、第2のネットワークをインターネットで構成した場合、クライアント端末は、例えば、インターネットを経由することなく、LANで接続されたアプリケーション実行装置にアクセスすることによりアプリケーションの実行結果を取得することができる。これにより、インターネット回線品質に左右されることなく、安定した環境の中でアプリケーションを実行させることができる。
また、クライアント端末が所望のアプリケーションを指定して、ゲート装置に対して実行要求するだけで、ゲート装置が自動的にゲート装置宛の実行要求を、当該アプリケーションを有しているサーバに転送するため、クライアント端末(ユーザ)は、アプリケーションの格納先を意識することなくアプリケーションの実行結果を取得することができる。またこのように、ゲート装置をクライアント端末のゲートウェイとするためサーバを隠蔽することができ、柔軟なネットワークを構築することができる。例えば、サーバを追加したり入れ替えしたりしたとしても、ゲート装置に設定を追加すれば、クライアント端末からのアクセス先が変わらないため、システム変更を容易に行うことができる。
また、アプリケーション実行装置にアプリケーションが無い場合やアプリケーション実行装置の障害発生時においても、ゲート装置が自動的に実行要求の転送先を外部サーバに切替えるため、不具合の度に、クライアント端末において実行要求先を設定変更する必要がない。
なお、ここでいう「アプリケーション」とは、アプリケーションプログラムと、アプリケーションプログラムで利用されるデータベースと、を含むものである。また「実行可能状態ではない」とは、例えば、実行部の故障や電源OFF、CPUの温度が動作保証温度を超えた場合、メモリ不足の場合、動作電圧が動作保証電圧より低下した場合、アプリケーションの実行結果の応答時間が遅い場合を含むものである。
According to this configuration, when the first network is configured by the LAN and the second network is configured by the Internet, the client terminal, for example, accesses the application execution apparatus connected by the LAN without going through the Internet. The execution result of the application can be acquired. As a result, the application can be executed in a stable environment without being influenced by the quality of the Internet line.
In addition, the gate device automatically designates a desired application and issues an execution request to the gate device, so that the gate device automatically transfers the execution request addressed to the gate device to the server having the application. The client terminal (user) can acquire the execution result of the application without being aware of the storage location of the application. Further, since the gate device serves as the gateway of the client terminal, the server can be concealed and a flexible network can be constructed. For example, even if a server is added or replaced, if a setting is added to the gate device, the access destination from the client terminal does not change, so that the system can be easily changed.
In addition, even when there is no application in the application execution device or when a failure occurs in the application execution device, the gate device automatically switches the execution request transfer destination to the external server. There is no need to change the setting.
The “application” here includes an application program and a database used by the application program. Also, “not in an executable state” means, for example, that the execution unit is faulty, the power is turned off, the CPU temperature exceeds the guaranteed operating temperature, the memory is insufficient, the operating voltage drops below the guaranteed operating voltage, the application This includes the case where the response time of the execution result of is slow.
この場合、代理サーバは、アプリケーション実行装置にアプリケーションを提供するアプリケーション提供手段を有することが、好ましい。 In this case, it is preferable that the proxy server has application providing means for providing an application to the application execution device.
この構成によれば、代理サーバを、アプリケーション実行装置にアプリケーションを提供するアプリケーション提供サーバとして兼用することができ、新たにアプリケーション提供サーバを追加する構成と比べて、低コストでシステム構築を行うことができる。 According to this configuration, the proxy server can also be used as an application providing server that provides an application to the application execution device, and a system can be constructed at a lower cost than a configuration in which a new application providing server is added. it can.
この場合、第2のネットワークを介してゲート装置に接続されると共に、ゲート装置、第1の代理サーバ、及び第2の代理サーバとの間でデータの中継処理を行うゲートサーバをさらに加え、ゲート装置は、要求先変更手段が、実行対象となるアプリケーションの実行要求先をアプリケーション実行装置に変更した場合に、実行要求をカプセル化することにより、実行要求先のゲートウェイをアプリケーション実行装置に指定し、要求先変更手段が、実行対象となるアプリケーションの実行要求先を第1の代理サーバしくは第2の代理サーバに変更した場合に、実行要求をカプセル化することにより、実行要求先のゲートウェイをゲートサーバに指定する実行要求カプセル化手段と、受信した実行結果のカプセル化を解除してクライアント端末に送信するカプセル化解除手段と、をさらに備え、アプリケーション実行装置における実行手段は、ゲート装置からの実行要求のカプセル化を解除して、実行対象となるアプリケーションを実行し、その実行結果をカプセル化してゲート装置に送信するものであり、ゲートサーバは、ゲート装置からの実行要求のカプセル化を解除して、第1の代理サーバもしくは第2のサーバに転送すると共に、第1の代理サーバもしくは前記第2のサーバからの実行結果をカプセル化してゲート装置に転送する転送手段を備え、第1の代理サーバにおける前記第1の代理実行手段もしくは前記第2のサーバにおける第2の代理実行手段は、ゲートサーバから転送された実行要求に基づいて実行対象となるアプリケーションを実行し、その実行結果を、ゲートサーバに送信することが、好ましい。 In this case, a gate server that is connected to the gate device via the second network and that relays data between the gate device , the first proxy server , and the second proxy server is further added. device, the request destination change means, when changing the execution request destination of the application to be executed on the application execution device, by encapsulating the execution request, specifies the gateway of the execution request destination to the application execution device, When the request destination changing unit changes the execution request destination of the application to be executed to the first proxy server or the second proxy server , the execution request destination is encapsulated to gate the execution request destination gateway. Execution request encapsulation means specified for the server and the received execution result are unencapsulated and sent to the client terminal. And a decapsulation means for communicating, the execution means in the application execution device decapsulates the execution request from the gate device, executes the application to be executed, and encapsulates the execution result The gate server releases the encapsulation of the execution request from the gate device, transfers the request to the first proxy server or the second server , and transmits the first proxy server or the first server . comprising a transfer means for the execution result from the second server and transfers the encapsulated gate apparatus, the second proxy execution unit in the first proxy execution means or said second server at the first proxy server, the gate run the application to be executed based on the execution request transferred from the server, transmits the execution result, the gate server Rukoto is preferred.
この構成によれば、カプセル化通信がなされている装置間におけるセキュリティを強化することができる。例えば、第1のネットワークを社内LAN、第2のネットワークをインターネットで構成した場合、社内LANおよびインターネットにおける悪意のある盗聴を防止することができる。なお、ここで言うカプセル化とは、元のデータ(例えば、代理サーバ宛のパケット)を新たなデータ(例えば、ゲートサーバ宛のパケット)の中に組み込む技術のことである。 According to this configuration, it is possible to enhance security between devices that perform encapsulated communication. For example, when the first network is configured with an in-house LAN and the second network is configured with the Internet, malicious eavesdropping in the in-house LAN and the Internet can be prevented. The encapsulation referred to here is a technique for incorporating original data (for example, a packet addressed to a proxy server) into new data (for example, a packet addressed to a gate server).
これらの場合、実行要求カプセル化手段は、実行要求先のゲートウェイを指定する他、実行要求に認証情報を付与するものであり、アプリケーション実行装置は、認証情報に基づいて実行要求の認証を行う認証手段をさらに備え、実行手段は、認証が成功した実行要求に対してのみ実行対象となるアプリケーションの実行を許可することが、好ましい。 In these cases, the execution request encapsulation means assigns authentication information to the execution request in addition to specifying the execution request destination gateway, and the application execution apparatus authenticates the execution request based on the authentication information. It is preferable that the information processing apparatus further includes means, and the execution means permits the execution of an application to be executed only for an execution request that has been successfully authenticated.
これらの場合、第2のネットワークを介してゲートサーバに接続され、実行要求の認証を行う認証サーバをさらに加え、実行要求カプセル化手段は、実行要求先のゲートウェイを指定する他、実行要求に認証情報を付与するものであり、ゲートサーバにおける転送手段は、ゲート装置からの実行要求のカプセル化の解除時に、認証サーバにより認証するものであり、第1の代理サーバ及び第2の代理サーバは、認証サーバにおいて認証が成功した実行要求に対してのみ実行対象となるアプリケーションの実行を許可することが、好ましい。
In these cases, an authentication server connected to the gate server via the second network and authenticating the execution request is further added, and the execution request encapsulation means specifies the execution request destination gateway and authenticates the execution request. The transfer means in the gate server authenticates by the authentication server at the time of releasing the encapsulation of the execution request from the gate device, the first proxy server and the second proxy server , It is preferable to permit execution of an application to be executed only for an execution request that has been successfully authenticated in the authentication server.
これらの構成によれば、アプリケーション実行装置が実行可能状態である場合に、アプリケーション実行装置に対する不正アクセスを防止することができ、アプリケーション実行装置が実行可能状態でない場合に、代理サーバに対する不正アクセスを防止することができるため、セキュリティを強化することができる。また、これらにより、クライアント端末毎に実行要求可能なアプリケーションを制限できる。 According to these configurations, unauthorized access to the application execution device can be prevented when the application execution device is in an executable state, and unauthorized access to the proxy server is prevented when the application execution device is not in an executable state. Security can be strengthened. In addition, it is possible to limit applications that can be requested for execution for each client terminal.
本発明のプログラムは、コンピュータに、上記のネットワークシステムの通信制御方法における各ステップを実行させることを特徴とする。 A program according to the present invention causes a computer to execute each step in the communication control method of the network system.
この構成によれば、サーバの性能や回線品質に左右されることなく、且つユーザに対しアプリケーションの格納先を意識させることなくアプリケーションを実行させることができるプログラムを提供することができる。 According to this configuration, it is possible to provide a program that can execute an application without being influenced by server performance and line quality and without making the user aware of the storage location of the application.
以下、添付の図面を参照して、本発明の実施形態に係るネットワークシステム、ネットワークシステムの通信制御方法およびプログラムについて説明する。本発明は、クライアント端末がアプリケーションを指定してゲート装置(ゲートウェイ)を実行要求先として実行要求を行うことで、クライアント端末の代わりにゲート装置がアプリケーションを有するサーバに実行要求を転送し、クライアント端末に対してサーバを隠蔽するものである。 Hereinafter, a network system, a network system communication control method, and a program according to embodiments of the present invention will be described with reference to the accompanying drawings. In the present invention, a client terminal designates an application and makes an execution request using a gate device (gateway) as an execution request destination, so that the gate device transfers the execution request to a server having the application instead of the client terminal. Is to hide the server.
最初に図1のシステム構成図を参照して、本発明の一実施形態に係るアプリケーション実行システム1のシステム構成について説明する。本発明のアプリケーション実行システム1は、アプリケーション実行セット11(アプリケーション)を提供する複数のベンダ(X社、Y社)が所有する各アプリケーション提供サーバ2a、2bと、アプリケーション実行システム1を管理するプラットフォーム管理者(P社)が所有する単一の管理サーバ3と、アプリケーション提供サーバ2宛のデータの中継処理を行うゲートサーバ10と、ゲートサーバ10において、アプリケーション提供サーバ2宛のデータの認証を行う認証サーバ9と、アプリケーション実行セット11を利用する複数の利用者(A社、B社)の事業所(事業所A1、A2、B1、B2)と、がインターネット6(第1のネットワーク)で接続されている。また、各事業所は、アプリケーション実行セット11を実行するアプリケーション実行装置4と、当該アプリケーション実行装置4にアプリケーション実行セット11の実行を要求する2台のクライアント端末5と、クライアント端末5、アプリケーション実行装置4およびインターネット6の中継処理を行うゲート装置8と、が事業所内LAN7(第2のネットワーク)で接続されている。また、ゲート装置8とアプリケーション実行装置4との間、およびゲート装置8とゲートサーバ10との間、はそれぞれカプセル化通信が行われており、事業所内LAN7およびインターネット6における悪意ある盗聴を防止している。なお、ここでいうアプリケーション実行セット11とは、アプリケーションプログラム12と当該アプリケーションプログラム12の実行時に使用する少なくとも1以上のデータベース13とを1セットにしたものである。
First, the system configuration of the
管理サーバ3は、例えばP社のデータセンターに設置され、アプリケーション提供者が、利用者(アプリケーション実行装置4)にアプリケーション実行セット11を提供するための受付窓口として機能する。そして、利用者は、管理サーバ3から、管理サーバ3に登録されている複数のアプリケーション実行セット11の情報(アプリケーション提供サーバ2のURI等)を取得し、その情報に基づいて、アプリケーション提供サーバ2からアプリケーション実行セット11を取得する。これにより、利用者は、容易にアプリケーション実行セット11を検索することができると共に、アプリケーション実行セット11の選択の幅を広げることができる。また、管理サーバ3は、利用者からアプリケーション実行セット11の利用状況を取得し、取得した情報に基づいて提供者(アプリケーション提供サーバ2)に支払う課金情報の管理を行っている。
The
アプリケーション実行装置4は、利用者の各事業所に設置され、アプリケーション提供サーバ2からダウンロードしたアプリケーション実行セット11を実行要求に応じて実行する。すなわち、アプリケーション実行装置4は、事業所内において、例えばハウジングサービスやホスティングサービスといったサーバーベースコンピューティング(SBC)のサーバとして機能する。これにより各クライアント端末5は、アプリケーション実行セット11をインストールすることなく、アプリケーション実行セット11の実行結果を取得することができる構成となっている。また、クライアント端末5は、インターネット6を経由することなく、事業所内LAN7で接続されたアプリケーション実行装置4にアクセスしてアプリケーション実行セット11の実行結果を取得することができるため、インターネット回線品質に左右されることなく、安定した環境の中でアプリケーション実行セット11を実行させることができる。また、アプリケーション実行装置4は、受信した実行要求を認証する認証機能を備えている(詳細は後述する)。これにより、アプリケーション実行装置4に対する不正アクセスを防止することができ、セキュリティを強化することができる。
The
アプリケーション提供サーバ2は、アプリケーション実行装置4の要求に応じてアプリケーション実行セット11を提供する他、アプリケーション実行装置4において、アプリケーション実行セット11の不具合が生じた場合に、アプリケーション実行装置4の代わりにゲートサーバ10を介してクライアント端末5に実行結果を返信するものである。この場合、アプリケーション提供サーバ2は、アプリケーション実行装置4のアプリケーション実行セット11と同一のアプリケーション実行セット11を記憶し、これを実行することにより同一の実行結果をクライアント端末5に返信する。これにより、アプリケーション提供サーバ2を代理実行サーバとして兼用することができ、新たに代理実行サーバを追加する追加する構成と比べて、低コストでシステム構築を行うことができる。アプリケーション提供サーバ2は、アプリケーション実行装置4にアプリケーション実行セット11が格納されていない場合にも、アプリケーション実行セット11を実行し、ゲート装置8を介してクライアント端末5に実行結果を返信する。つまり、アプリケーション提供サーバ2は、提供用のアプリケーション実行セット11と、実行用のアプリケーション実行セット11を用意している。また、各アプリケーションプログラム12は、ベンダ毎によって異なる開発環境で作成され、各データベース13は、各アプリケーションプログラム12に対応して構築されたものである。
The application providing server 2 provides an application execution set 11 in response to a request from the
ゲート装置8は、事業所内LAN7において中継処理を行うと共に、クライアント端末5からの実行要求を受ける実行窓口として機能する。ゲート装置8は、クライアント端末5からの実行要求を受信すると、クライアント端末5の代わりにアプリケーション実行装置4に対して実行要求を行う。また、アプリケーション実行装置4において、アプリケーション実行セット11の不具合が生じた場合やアプリケーション実行セット11が格納されていない場合に、クライアント端末5から実行要求を受信すると、アプリケーション提供サーバ2に対して実行要求を行う。つまり、クライアント端末5は、所望のアプリケーション実行セット11を指定し、ゲート装置8を実行要求先として実行要求することで、アプリケーション実行装置4の状態に関わらず、ゲート装置8を介してアプリケーション実行装置4またはアプリケーション提供サーバ2から実行結果を取得することができる構成となっている。
The
ゲートサーバ10は、ゲート装置8とアプリケーション提供サーバ2との間で中継処理を行うものである。つまり、ゲート装置8がアプリケーション提供サーバ2と通信を行う場合には、ゲートサーバ10を経由して通信を行う構成となっている。また、認証サーバ9は、ゲート装置8からゲートサーバ10に送信された実行要求を認証するものである。このように、ゲート装置8から送信された実行要求は、ゲートサーバ10経由で、認証サーバ9により必ず認証されるためアプリケーション提供サーバ2への不正アクセスを防止することができ、セキュリティを強化することができる。
The
ここで、図2のネットワーク説明図を参照して、アプリケーション実行セット11の実行要求および実行結果の通信経路について簡単に説明する。まず、正常時における実行要求および実行結果の通信経路について説明する。クライアント端末5が、実行要求先をゲート装置8としてゲート装置8に対して実行要求すると、ゲート装置8は、実行要求の実行要求先をゲート装置8からアプリケーション実行装置4に変更し、アプリケーション実行装置4を送信先として実行要求をカプセル化してアプリケーション実行装置4に送信する。アプリケーション実行装置4は、カプセル化された実行要求のカプセル化を解除し、アプリケーション実行セット11を実行する。また、アプリケーション実行装置4は、その実行結果をカプセル化してゲート装置8に送信する。ゲート装置8は、カプセル化された実行結果のカプセル化を解除して、クライアント端末5に実行結果を送信する。
Here, with reference to the network explanatory diagram of FIG. 2, the communication path of the execution request and the execution result of the application execution set 11 will be briefly described. First, the communication path of the execution request and the execution result at the normal time will be described. When the
次に、異常時における実行要求および実行結果の通信経路について説明する。クライアント端末5が、実行要求先をゲート装置8に対してゲート装置8に実行要求すると、ゲート装置8は、実行要求の実行要求先をゲート装置8からアプリケーション提供サーバ2に変更し、ゲートサーバ10を送信先として実行要求をカプセル化してゲートサーバ10に送信する。ゲートサーバ10は、カプセル化された実行要求のカプセル化を解除し、アプリケーション提供サーバ2に転送する。アプリケーション提供サーバ2は、ゲートサーバ10から受信した実行要求に基づいてアプリケーション実行セット11を実行して、実行結果をゲートサーバ10に送信する。ゲートサーバ10は、実行結果を受信すると、これをカプセル化してゲート装置8に送信する。ゲート装置8は、カプセル化された実行結果のカプセル化を解除して、クライアント端末5に実行結果を送信する。
Next, the communication path of the execution request and the execution result at the time of abnormality will be described. When the
続いて、図3の制御構成図を参照して本発明のアプリケーション実行システム1を構成する各装置(アプリケーション提供サーバ2、管理サーバ3、ゲートサーバ10、認証サーバ9、アプリケーション実行装置4、ゲート装置8およびクライアント端末5)の制御構成について説明する。
Next, referring to the control configuration diagram of FIG. 3, each device (application providing server 2,
ゲート装置8は、2つの通信インターフェース81a、81b、入出力インターフェース82、内部バス83、CPU84(Central Processing Unit)、ROM85(Read Only Memory)、RAM86(Random Access Memory)およびHDD87(Hard Disk Drive)を備えている。また、ROM85には制御プログラムおよびゲート装置用監視ツールが記憶され(図示省略)、HDD87にはアプリケーション格納先テーブル51が記憶されている。
The
2つの通信インターフェース81a、81b、の内、通信インターフェース81aはアプリケーション実行装置4の通信インターフェース21に直接接続され、通信インターフェース81bは事業所内LAN7を介してクライアント端末5およびゲートサーバ10に接続されている。
Of the two
ゲート装置用監視ツールは、アプリケーション実行装置4から常時または定期的に送信されるハードウェア情報に基づいて、アプリケーション実行装置4がアプリケーション実行セット11を実行できるか否かを判定する(実行判定手段)。この場合、ROM85内に、アプリケーション実行装置4がアプリケーション実行セット11を実行することができるか否かを判定するための判定基準を記憶しておき、アプリケーション実行装置4から受信したハードウェア情報がこの判定基準を満たすか否かで、ゲート装置8が、アプリケーション実行装置4の状態を判定する。つまり、アプリケーション実行装置4から受信したハードウェア情報が、判定基準を満たす場合には、ゲート装置8は、アプリケーション実行装置4がアプリケーション実行セット11を実行することが可能な実行可能状態であると判定し、判定基準を満たさない場合には、ゲート装置8は、アプリケーション実行装置4がアプリケーション実行セット11を実行可能状態ではないと判定する。
The gate device monitoring tool determines whether or not the
なお、ここでいうハードウェア情報とは、アプリケーション実行装置4のCPU24の温度および使用率、ファンの回転数、RAM26のメモリ使用量およびアプリケーション実行装置4の動作電圧等を含む情報である。また、判定基準とは、アプリケーション実行装置4がアプリケーション実行セット11を安定して実行するために最低限必要なCPU24の温度、使用率、ファンの回転数、RAM26のメモリ使用容量およびアプリケーション実行装置4の動作電圧等である。
Note that the hardware information here is information including the temperature and usage rate of the
図4に示すアプリケーション格納先テーブル51は、アプリケーション実行セット11の実行要求先を決定する際に用いられ、アプリケーション実行セット名とアプリケーション実行セット11の格納先を示すURIとを関連付けて記憶している。ゲート装置8は、このアプリケーション格納先テーブル51を参照して、クライアント端末5から指定されたアプリケーション実行セット名に基づいて実行要求先を決定する。図4(a)の例では、「アプリケーションA」、「アプリケーションB」、「アプリケーションC」は、「アプリケーション実行装置」および「アプリケーション提供サーバA」、「アプリケーション提供サーバB」、「アプリケーション提供サーバC」にそれぞれ格納されており、「アプリケーションD」は、「アプリケーション提供サーバD」にだけ格納されていることを示している。なお、アプリケーション格納先テーブル51へのURIの登録は、ゲート装置8が自動的に管理サーバ3からアプリケーション実行セット11のURI等を取得する構成でもよいし、ユーザが任意に登録してもよい。
The application storage destination table 51 shown in FIG. 4 is used when determining the execution request destination of the application execution set 11, and stores the application execution set name and the URI indicating the storage destination of the application execution set 11 in association with each other. . The
制御プログラムは、ゲート装置用監視ツールによる判定結果およびアプリケーション格納先テーブル51に記憶されたアプリケーション実行セット11の格納先に基づいて、アプリケーション実行セット11の実行要求先の変更処理をCPU84で制御するものである。クライアント端末5からゲート装置8宛の実行要求を受信すると、ゲート装置8は、まずアプリケーション格納先テーブル51を参照して、クライアント端末5が指定したアプリケーション実行セット11が、アプリケーション実行装置4に格納されているか否かを判定し(格納判定手段)、さらにアプリケーション実行装置4が実行可能状態か否かを考慮してアプリケーション実行セット11の実行要求先を変更する(要求先変更手段)。
The control program controls the
つまり、アプリケーション実行装置4にアプリケーション実行セット11が格納されていると判定され、且つハードウェア情報が判定基準を満たすと判定された場合に、実行要求先をゲート装置8からアプリケーション実行装置4に変更し、アプリケーション実行装置4にアプリケーション実行セット11が格納されていないと判定された場合、または、ハードウェア情報が判定基準を満たさないと判定された場合に、実行要求先をゲート装置8から当該アプリケーション実行セット11を有するアプリケーション提供サーバ2に変更する。
That is, when it is determined that the application execution set 11 is stored in the
例えば、クライアント端末5が「アプリケーションA」を指定して、ゲート装置8を実行要求先として実行要求すると、ゲート装置8は、アプリケーション実行装置4が実行可能状態にある場合には、実行要求先を「ゲート装置」から「アプリケーション実行装置」に変更し(図4(b)参照)、アプリケーション実行装置4が実行可能状態ではない場合には、実行要求先を「ゲート装置」から「アプリケーション提供サーバA」に変更する(図4(c)参照)。また、クライアント端末5がアプリケーション実行装置4に格納されていない「アプリケーションD」を指定して、ゲート装置8を実行要求先として実行要求すると、ゲート装置8は、実行要求先を「ゲート装置」から「アプリケーション提供サーバD」に変更する(図4(a)参照)。
For example, when the
また、制御プログラムには、アプリケーション実行装置4およびゲートサーバ10とのカプセル化通信に利用されるカプセル化/解除プログラムが組み込まれている。ここで、図5(a)、(b)を参照してカプセル化構成ついて簡単に説明する。図5(a)は、実行要求または実行結果のメッセージデータ53を示しており、送信先を含むメッセージヘッダ55aと、アプリケーション実行セット11の実行命令または応答結果を含むメッセージボディ56aと、から構成されている。図5(b)は、メッセージデータ53をカプセル化したカプセル化データ54を示している。カプセル化データ54は、送信先および認証情報を含むメッセージヘッダ55bと、メッセージデータ53を組み込んだメッセージボディ56bとから構成されている。つまり、カプセル化は、メッセージデータ53をカプセル化データ54の中に組み込むことにより実現される。
The control program incorporates an encapsulation / release program used for encapsulated communication with the
続いて、ゲート装置8によるカプセル化処理およびカプセル化解除処理について説明する。最初に、ゲート装置8がクライアント端末5から実行要求を送信された場合のカプセル化処理について説明する。ゲート装置8は、クライアント端末5から実行要求を受信すると、上記したようにアプリケーション格納先テーブル51を参照して実行要求先を変更する。そして、クライアント端末5からの実行要求をメッセージボディ56bに組み込み、これに送信先としてアプリケーション実行装置4またはゲートサーバ10のURI、認証情報として認証IDおよびパスワードをメッセージヘッダ55bにセットして実行要求をカプセル化する(実行要求カプセル化手段)。そして、ゲート装置8は、カプセル化した実行要求を送信先として指定したアプリケーション実行装置4またはゲートサーバ10に送信することで、クライアント端末5の代わりに実行要求する(ゲート装置側実行要求手段)。
Next, encapsulation processing and decapsulation processing by the
次に、ゲート装置8がアプリケーション実行装置4またはゲートサーバ10からカプセル化された実行結果を受信した場合のカプセル化解除処理について説明する。ゲート装置8は、アプリケーション実行装置4またはゲートサーバ10からカプセル化された実行結果を受信すると、送信先としてゲート装置8のURIがセットされたメッセージヘッダ55bを取り外して、カプセル化を解除する(カプセル化解除手段)。そして、ゲート装置8は、カプセル化を解除した実行結果をクライアント端末5に送信する。
Next, the decapsulation process when the
アプリケーション実行装置4は、通信インターフェース21、入出力インターフェース22、内部バス23、CPU24、ROM25、RAM26およびHDD27を備えている。また、ROM25には制御プログラムおよび実行装置用監視ツールが記憶され、HDD27には、アプリケーション実行セット11を実行するために構築された実行環境32が複数記憶される。
The
実行環境32は、アプリケーション実行セット11毎に構築され、アプリケーションプログラム12を動作させるための動作環境となるコンテナ34と、アプリケーションプログラム12の使用時にデータベース13にアクセスするためのデータベースエンジン35と、を備えている(図6参照)。また、実行環境32毎にRAM26のメモリ領域等のリソースが割り当てられており、例えば、メモリリークが生じた場合でも、他の実行環境32に配置したアプリケーション実行セット11が影響を受け、動作が停止することがない。
The
実行装置用監視ツールは、ハードウェア情報を、常時または定期的にゲート装置8に送信するものである。そして、ゲート装置8は、アプリケーション実行装置4からハードウェア情報を受信すると、受信した情報に基づいて、アプリケーション実行装置4の状態を判定する。
The execution device monitoring tool transmits hardware information to the
制御プログラムは、アプリケーション実行セット11の実行処理をCPU24で制御するものである。また、制御プログラムには、ゲート装置8とのカプセル化通信に利用されるカプセル化/解除プログラムおよび認証プログラムが組み込まれている。アプリケーション実行装置4は、ゲート装置8からカプセル化された実行要求を受信すると、認証プログラムにより認証が成功した場合のみカプセル化を解除して、実行要求に基づいてアプリケーション実行セット11を実行し、その実行結果をカプセル化してゲート装置8に送信する(実行手段)。
The control program controls the execution process of the application execution set 11 by the
具体的には、ROM25内にアプリケーション実行セット11を実行可能な認証IDおよびパスワードを認証情報として関連付けて記憶しておき、アプリケーション実行装置4は、ゲート装置8からカプセル化された実行要求を受信すると、メッセージヘッダ55bにセットされた認証情報とROM25内の認証情報とを照合して認証する(認証手段)。認証情報が一致している場合には、認証が成功し、送信先としてアプリケーション実行装置4のURIがセットされたメッセージヘッダ55bを取り外して、カプセル化を解除する。そして、アプリケーション実行装置4がアプリケーション実行セット11を実行し、その実行結果をメッセージボディ56bに組み込み、これに送信先としてゲート装置8のURIをセットしたメッセージヘッダ55bを取り付けてカプセル化し、カプセル化した実行結果をゲート装置8に送信する。一方、認証情報が一致していない場合には、認証要求をゲート装置8に送信する。なお、一度認証に成功すると、認証済み情報が付与されるため、次回からアプリケーション実行装置4において認証処理が省略される。
Specifically, an authentication ID and password capable of executing the application execution set 11 are stored in the
ゲートサーバ10は、通信インターフェース91、入出力インターフェース92、内部バス93、CPU94、ROM95、RAM96およびHDD97を備えている。また、ROM95には制御プログラムが記憶されている。
The
制御プログラムは、データの中継処理をCPU94で制御するものである。また、制御プログラムには、ゲート装置8とのカプセル化通信に利用されるカプセル化/解除プログラムおよび認証プログラムが組み込まれている。ゲートサーバ10は、ゲート装置8からカプセル化された実行要求を受信すると、認証サーバ9により認証が行われ、認証が成功した場合のみカプセル化を解除して実行要求をアプリケーション提供サーバ2に転送する。また、アプリケーション提供サーバ2から実行結果を受信すると、実行結果をカプセル化してゲート装置8に転送する(転送手段)。
The control program controls the data relay process by the
具体的には、認証サーバ9のROM95内にアプリケーション実行セット11を実行可能な認証IDおよびパスワードを認証情報として関連付けて記憶しておき、ゲートサーバ10が認証サーバ9に認証情報を送信し、認証サーバ9において認証処理が行われる。そして、認証サーバ9は、ゲートサーバ10から認証情報を受信すると、メッセージヘッダ55bにセットされた認証情報と認証サーバ9の認証情報とを照合して認証する。認証情報が一致している場合には、認証が成功したと判定し、送信先としてゲートサーバ10のURIをセットしたメッセージヘッダ55bを取り外して、カプセル化を解除する。カプセル化を解除すると、アプリケーション提供サーバ2に実行要求を転送する。一致していない場合には、認証が失敗したと判定し、認証要求をゲート装置8に送信する。また、アプリケーション提供サーバ2から実行結果を受信すると、この実行結果をメッセージボディ56bに組み込み、送信先としてゲート装置8のURIをセットしたメッセージヘッダ55bを取り付けてカプセル化し、カプセル化した実行結果をゲート装置8に転送する。なお、一度認証に成功すると、認証済み情報が付与されるため、次回から認証サーバ9による認証処理が省略される。
Specifically, an authentication ID and a password capable of executing the application execution set 11 are stored in the
アプリケーション提供サーバ2は、入力デバイス48、ディスプレイ49、通信インターフェース41、入出力インターフェース42、内部バス43、CPU44、ROM45、RAM46およびHDD47を備えている。また、ROM45には制御プログラムが記憶され、HDD47には、アプリケーション実行装置4に提供するための提供用のアプリケーション実行セット11、提供用のアプリケーション実行セット11と同一の実行用のアプリケーション実行セット11およびアプリケーション実行セット11を代理実行するための代理実行環境52が記憶される。
The application providing server 2 includes an
制御プログラムは、アプリケーション実行セット11の配信処理、代理実行処理をCPU44で制御するものである。アプリケーション実行セット11の配信処理は、CPU44がアプリケーション実行装置4からの要求に応じてHDD47に記憶されたアプリケーション実行セット11を配信するものである(アプリケーション提供手段)。そして、CPU44は、アプリケーション実行セット11がアプリケーション実行装置4に配信されるのに併せて、HDD47内に配信したアプリケーション実行セット11と同一のアプリケーション実行セット11を複製する。さらに、複製したアプリケーション実行セット11を代理実行環境52に配備する。
The control program controls the distribution process and proxy execution process of the application execution set 11 by the
そして、CPU44は、アプリケーション実行装置4においてアプリケーション実行セット11の実行処理ができなくなり、ゲートサーバ10から転送された実行要求を受信すると、代理実行環境52においてアプリケーション実行セット11を実行し、ゲートサーバ10を介してクライアント端末5に実行結果を送信する(代理実行手段)。
When the
管理サーバ3、認証サーバ9およびクライアント端末5は、アプリケーション提供サーバ2とほぼ同一のハードウェア構成であるため、説明を省略する。なお、クライアント端末5は、パーソナルコンピュータに限られるものではなく、レシート発行装置等の各種印刷装置や携帯情報端末でもよい。
Since the
続いて、図7のフローチャートを参照して、アプリケーション実行システム1におけるアプリケーション実行セット11の実行処理の流れについて説明する。
Next, the flow of execution processing of the application execution set 11 in the
クライアント端末5が、アプリケーション実行セット11を指定し、実行要求先をゲート装置8としてゲート装置8に実行要求すると(S01)、ゲート装置8は、アプリケーション格納先テーブル51を参照し、指定されたアプリケーション実行セット11がアプリケーション実行装置4に格納されているか否かを判定する(S02)。ゲート装置8は、指定されたアプリケーション実行セット11がアプリケーション実行装置4に格納されていないと判定すると(S02:No)、実行要求先をゲート装置8からアプリケーション提供サーバ2に変更する(S05)。指定されたアプリケーション実行セット11がアプリケーション実行装置4に格納されていると判定すると(S02:Yes)、アプリケーション実行装置4が実行可能状態であるか否かを判定する(S03)。ゲート装置8は、アプリケーション実行装置4が実行可能状態ではないと判定すると(S03:No)、実行要求先をゲート装置8からアプリケーション提供サーバ2に変更する(S05)。アプリケーション実行装置4が実行可能状態であると判定すると(S03:Yes)、実行要求先をゲート装置8からアプリケーション実行装置4に変更する(S04)。
When the
実行要求先がアプリケーション実行装置4に変更された場合、ゲート装置8は、実行要求をカプセル化してアプリケーション実行装置4に送信する(S06)。アプリケーション実行装置4は、カプセル化された実行要求を受信すると認証処理を行う(S07)。アプリケーション実行装置4は、認証が失敗した場合には(S07:No)、ゲート装置8に対して認証要求を行う(S09)。認証が成功した場合には(S07:Yes)、実行要求のカプセル化を解除して、アプリケーション実行セット11を実行し(S08)、その実行結果をカプセル化してゲート装置8に送信する(S10)。ゲート装置8は、カプセル化された実行結果を受信するとカプセル化を解除してクライアント端末5に送信する(S11)。
When the execution request destination is changed to the
一方、実行要求先がアプリケーション提供サーバ2に変更された場合、ゲート装置8は、実行要求をカプセル化してゲートサーバ10に送信する(S12)。ゲートサーバ10は、カプセル化された実行要求を受信すると認証サーバ9に認証要求を行う(S13)。認証サーバ9において認証が失敗した場合には(S13:No)、ゲートサーバ10は、ゲート装置8に対して認証要求を行う(S15)。認証サーバ9において認証が成功した場合には(S13:Yes)、実行要求のカプセル化を解除して、アプリケーション提供サーバ2に転送する(S14)。アプリケーション提供サーバ2は、受信した実行要求に基づきアプリケーション実行セット11を代理実行し(S16)、実行結果をゲートサーバ10に送信する(S17)。ゲートサーバ10は、受信した実行要求をカプセル化してゲート装置8に送信する(S18)。ゲート装置8は、カプセル化された実行結果を受信するとカプセル化を解除してクライアント端末5に送信する(S11)。
On the other hand, when the execution request destination is changed to the application providing server 2, the
以上の構成によれば、クライアント端末5が所望のアプリケーション実行セット11を指定して、ゲート装置8に対して実行要求するだけで、ゲート装置8が自動的にゲート装置8宛の実行要求を、当該アプリケーション実行セット11を有しているサーバ(アプリケーション実行装置4、アプリケーション提供サーバ2)に転送するため、クライアント端末5(ユーザ)は、アプリケーション実行セット11の格納先を意識することなくアプリケーション実行セット11の実行結果を取得することができる。またこのように、ゲート装置8をクライアント端末5のゲートウェイとするためサーバ(アプリケーション実行装置4、アプリケーション提供サーバ2)を隠蔽することができ、柔軟なネットワークを構築することができる。例えば、サーバを追加したり入れ替えしたりしたとしても、ゲート装置8に設定を追加すれば、クライアント端末5からのアクセス先が変わらないため、システム変更を容易に行うことができる。
また、アプリケーション実行装置4にアプリケーションが無い場合やアプリケーション実行装置4の障害発生時においても、ゲート装置8が自動的に実行要求の転送先をアプリケーション提供サーバ2に切替えるため、不具合の度に、クライアント端末5において実行要求先を設定変更する必要がない。
According to the above configuration, simply by the
In addition, even when there is no application in the
なお、本実施形態では、ゲートサーバ10の他に、認証サーバ9およびアプリケーション提供サーバ2を設ける構成としたが、ゲートサーバ10に認証処理や実行処理の機能を備えて構成としてもよい。
In the present embodiment, the
また、アプリケーション実行装置4に不具合が生じた場合に、アプリケーション提供サーバ2が代理実行する構成に代えて、代理実行専用の代理実行サーバをさらに設け、この代理実行サーバが代理実行する構成としてもよい。
In addition, in the case where a problem occurs in the
また、ゲート装置8とゲートサーバ10との間のカプセル化通信に、さらに暗号化を組み合わせてもよい。これにより、インターネット6において、漏洩、改竄防止することでセキュリティをさらに強化することができる。
Further, encryption may be further combined with the encapsulated communication between the
一方で、上記の例に示した、アプリケーション実行システム1の各機能をソフトウェアプログラムとして提供することも可能である。また、そのプログラムを記録媒体(図示省略)に格納して提供できる。記録媒体としては、CD−ROM、フラッシュROM、メモリカード(コンパクトフラッシュ(登録商標)、スマートメディア、メモリースティック等)、光磁気ディスク、デジタルバーサタイルディスクおよびフレキシブルディスク等を利用することができる。
On the other hand, each function of the
上記に示した実施例によらず、アプリケーション実行システム1の処理工程について、本発明の要旨を逸脱しない範囲で、適宜変更も可能である。
Regardless of the embodiment described above, the processing steps of the
1…アプリケーション実行システム(ネットワークシステム) 2…アプリケーション提供サーバ(代理サーバ) 4…アプリケーション実行装置 5…クライアント端末 6…インターネット(第2のネットワーク) 7…事業所内LAN(第1のネットワーク) 8…ゲート装置 9…認証サーバ 10…ゲートサーバ 11…アプリケーション実行セット(アプリケーション) 51…アプリケーション格納先テーブル(データベース)
DESCRIPTION OF
Claims (6)
データの中継処理を行うゲート装置と、
前記ゲート装置を介して第1のネットワークにより前記クライアント端末と接続し、前記クライアント端末からの実行要求に基づいてアプリケーションを実行するアプリケーション実行装置と、
前記ゲート装置と第2のネットワークにより接続され、前記アプリケーション実行装置に第1のアプリケーションを提供するとともに、前記第1のアプリケーションを前記アプリケーション実行装置に代わって実行する第1の代理サーバと、
前記ゲート装置と前記第2のネットワークにより接続され、前記アプリケーション実行装置に前記第1のアプリケーションと異なる第2のアプリケーションを提供するとともに、前記第2のアプリケーションを前記アプリケーション実行装置に代わって実行する第2の代理サーバと、を備えるネットワークシステムであって、
前記クライアント端末は、
前記第1のアプリケーションもしくは前記第2のアプリケーションを実行対象となるアプリケーションとして指定し、前記ゲート装置を実行要求先として実行要求するクライアント側実行要求手段を備え、
前記ゲート装置は、
前記第1のアプリケーションおよび前記第2のアプリケーションの格納先を記憶するデータベースを参照し、指定された前記実行対象となるアプリケーションが前記アプリケーション実行装置に格納されているか否かを判定する格納判定手段と、
前記アプリケーション実行装置が前記実行対象となるアプリケーションを実行可能状態か否かを判定する実行判定手段と、
前記クライアント端末から前記実行対象となるアプリケーションの実行要求を受けたとき、前記格納判定手段により指定された前記実行対象となるアプリケーションが前記アプリケーション実行装置に格納されていると判定され、且つ前記アプリケーション実行装置が前記実行対象となるアプリケーションを実行可能状態であると判定された場合は、前記実行要求先を前記アプリケーション実行装置に変更し、前記格納判定手段により指定された前記実行対象となるアプリケーションが前記アプリケーション実行装置に格納されていないと判定された場合、または前記アプリケーション実行装置が前記実行対象となるアプリケーションを実行可能状態でないと判定された場合は、前記実行対象となるアプリケーションの実行要求先を前記実行対象となるアプリケーションを提供した前記第1の代理サーバもしくは前記第2の代理サーバに変更する要求先変更手段と、
変更した前記実行要求先に対して実行要求するゲート装置側実行要求手段と、を備え、
前記アプリケーション実行装置は、
前記ゲート装置の前記ゲート装置側実行要求手段からの実行要求に基づいて前記実行対象となるアプリケーションを実行し、その実行結果を、前記ゲート装置を介して前記クライアント端末に送信する実行手段を備え、
前記第1の代理サーバは、
前記ゲート装置の前記ゲート装置側実行要求手段からの実行要求に基づいて実行対象となる前記第1のアプリケーションを実行し、その実行結果を、前記ゲート装置を介して前記クライアント端末に送信する第1の代理実行手段を備え、
前記第2の代理サーバは、
前記ゲート装置のゲート装置側実行要求手段からの実行要求に基づいて実行対象となる第2のアプリケーションを実行し、その実行結果を、前記ゲート装置を介して前記クライアント端末に送信する第2の代理実行手段を備えたことを特徴とするネットワークシステム。 A client terminal,
A gate device for relaying data;
An application execution device that connects to the client terminal via a first network through the gate device and executes an application based on an execution request from the client terminal;
A first proxy server connected to the gate device by a second network, providing a first application to the application execution device, and executing the first application on behalf of the application execution device;
A second application connected to the gate device by the second network, providing a second application different from the first application to the application execution device, and executing the second application on behalf of the application execution device; A network system comprising two proxy servers ,
The client terminal is
Designated as the first application or the second application becomes the execution target application comprises a client-side execution request means for executing requests the gate device as the execution request destination,
The gate device is
The reference to the first application and the database that stores the storage location of the second application, and determines storage determining means for determining whether or not said designated executed subject to the application is stored in the application execution device ,
And execution determination means for determining whether or not the application execution device can execute the application to be the execution target state,
When an execution request for the application to be executed is received from the client terminal , it is determined that the application to be executed specified by the storage determination unit is stored in the application execution device, and the application execution If the device is determined to be executable state applications to be the execution target is to change the execution request destination to the application execution device, the storage determining means the execution subject to the application specified by said If it is determined not to be stored in the application execution unit, or the case where the application executing device is determined not to be executable state applications to be the execution target, the application execution request destination to be the execution target Execution A request destination changing means for changing the said providing the elephant application first proxy server or said second proxy server,
A gate device side execution requesting means for requesting execution of the changed execution request destination,
The application execution device is:
An execution unit that executes the application to be executed based on an execution request from the gate device side execution request unit of the gate device, and transmits an execution result to the client terminal via the gate device;
The first proxy server is
Executes the first application to be executed based on the execution request from the gate device side execution request means of the gate device, the first to send the execution result, to the client terminal via the gate device It includes a proxy execution means,
The second proxy server is
A second proxy that executes the second application to be executed based on the execution request from the gate device side execution request means of the gate device and transmits the execution result to the client terminal via the gate device A network system comprising execution means .
前記ゲート装置は、
前記要求先変更手段が、前記実行対象となるアプリケーションの実行要求先を前記アプリケーション実行装置に変更した場合に、前記実行要求をカプセル化することにより、前記実行要求先のゲートウェイを前記アプリケーション実行装置に指定し、前記要求先変更手段が、前記実行対象となるアプリケーションの実行要求先を前記第1の代理サーバもしくは前記第2の代理サーバに変更した場合に、前記実行要求をカプセル化することにより、前記実行要求先のゲートウェイを前記ゲートサーバに指定する実行要求カプセル化手段と、
受信した実行結果のカプセル化を解除して前記クライアント端末に送信するカプセル化解除手段と、をさらに備え、
前記アプリケーション実行装置における前記実行手段は、
前記ゲート装置からの実行要求のカプセル化を解除して、前記実行対象となるアプリケーションを実行し、その実行結果をカプセル化して前記ゲート装置に送信するものであり、
前記ゲートサーバは、
前記ゲート装置からの前記実行要求のカプセル化を解除して、前記第1の代理サーバもしくは前記第2のサーバに転送すると共に、前記第1の代理サーバもしくは前記第2のサーバからの実行結果をカプセル化して前記ゲート装置に転送する転送手段を備え、
前記第1の代理サーバにおける前記第1の代理実行手段もしくは前記第2のサーバにおける前記第2の代理実行手段は、
前記ゲートサーバから転送された実行要求に基づいて前記実行対象となるアプリケーションを実行し、その実行結果を、前記ゲートサーバに送信することを特徴とする請求項1記載のネットワークシステム。 A gate server that is connected to the gate device via the second network and that relays data between the gate device , the first proxy server , and the second proxy server is further added. ,
The gate device is
The request destination change means, when the execution request destination of the application to be the execution target was changed to the application executing device, by encapsulating the execution request, the gateway of the execution request destination to the application execution device When the request destination changing means changes the execution request destination of the application to be executed to the first proxy server or the second proxy server , by encapsulating the execution request, Execution request encapsulation means for designating the execution request destination gateway to the gate server;
A decapsulating unit that transmits to the client terminal decapsulates the received execution result, further comprising a
The execution means in the application execution device is:
Decapsulates the execution request from the gate device, execute the application to be the execution target, is intended to be transmitted to the gate device by encapsulating the execution result,
The gate server is
Decapsulates the execution request from the gate device, and transfers to the first proxy server or said second server, the execution result from the first proxy server or said second server Transfer means for encapsulating and transferring to the gate device;
Wherein in the first proxy execution means or said second server at the first proxy server the second proxy execution means,
Network system of claim 1 Symbol mounting the running application to be the execution target based on the transferred execution request from the gate server, the execution result, and transmits to the gate server.
前記実行要求先のゲートウェイを指定する他、前記実行要求に認証情報を付与するものであり、
前記アプリケーション実行装置は、
前記認証情報に基づいて前記実行要求の認証を行う認証手段をさらに備え、
前記実行手段は、認証が成功した前記実行要求に対してのみ前記実行対象となるアプリケーションの実行を許可することを特徴とする請求項2に記載のネットワークシステム。 The execution request encapsulation means includes:
In addition to designating the execution request destination gateway, authentication information is given to the execution request,
The application execution device is:
Further comprising authentication means for authenticating the execution request based on the authentication information;
The network system according to claim 2 , wherein the execution unit permits the execution of the application to be executed only for the execution request that has been successfully authenticated.
前記実行要求カプセル化手段は、
前記実行要求先のゲートウェイを指定する他、前記実行要求に認証情報を付与するものであり、
前記ゲートサーバにおける転送手段は、
前記ゲート装置からの前記実行要求のカプセル化の解除時に、前記認証サーバにより認証するものであり、
前記第1の代理サーバ及び前記第2の代理サーバは、前記認証サーバにおいて認証が成功した前記実行要求に対してのみ前記実行対象となるアプリケーションの実行を許可することを特徴とする請求項2または3に記載のネットワークシステム。 An authentication server connected to the gate server via the second network and authenticating the execution request is further added,
The execution request encapsulation means includes:
In addition to designating the execution request destination gateway, authentication information is given to the execution request,
The transfer means in the gate server is:
When the encapsulation of the execution request from the gate device is released, authentication is performed by the authentication server,
The first proxy server and the second proxy server of claim 2, characterized in that permits execution of an application to be the execution target only to said execution request the authentication is successful in the authentication server or 3. The network system according to 3 .
データの中継処理を行うゲート装置と、
前記ゲート装置を介して第1のネットワークにより前記クライアント端末と接続し、前記クライアント端末からの実行要求に基づいてアプリケーションを実行するアプリケーション実行装置と、
前記ゲート装置と第2のネットワークにより接続され、前記アプリケーション実行装置に第1のアプリケーションを提供するとともに、前記第1のアプリケーションを前記アプリケーション実行装置に代わって実行する第1の代理サーバと、
前記ゲート装置と前記第2のネットワークにより接続され、前記アプリケーション実行装置に前記第1のアプリケーションと異なる第2のアプリケーションを提供するとともに、前記第2のアプリケーションを前記アプリケーション実行装置に代わって実行する第2の代理サーバと、を備えるネットワークシステムの通信制御方法であって、
前記クライアント端末が、
前記第1のアプリケーションもしくは前記第2のアプリケーションを実行対象となる前記アプリケーションとして指定し、前記ゲート装置を実行要求先として実行要求するステップを実行し、
前記ゲート装置が、
前記実行対象となるアプリケーションの格納先を記憶するデータベースを参照し、指定された前記実行対象となるアプリケーションが前記アプリケーション実行装置に格納されているか否かを判定するステップと、
前記アプリケーション実行装置が前記実行対象となるアプリケーションを実行可能状態か否かを判定するステップと、
前記クライアント端末から前記実行対象となるアプリケーションの実行要求を受けたとき、指定された前記実行対象となるアプリケーションが前記アプリケーション実行装置に格納されていると判定され、且つ前記アプリケーション実行装置が前記実行対象となるアプリケーションを実行可能状態であると判定された場合は、前記実行要求先を前記アプリケーション実行装置に変更し、指定された前記実行対象となるアプリケーションが前記アプリケーション実行装置に格納されていないと判定された場合、または前記アプリケーション実行装置が前記実行対象となるアプリケーションを実行可能状態でないと判定された場合は、前記実行対象となるアプリケーションの実行要求先を前記実行対象となるアプリケーションを提供した前記第1の代理サーバもしくは前記第2の代理サーバに変更するステップと、
変更した前記実行要求先に対して実行要求するステップと、を実行し、
前記ゲート装置が前記実行要求先として前記アプリケーション実行装置に変更したときには、
前記アプリケーション実行装置が、
前記ゲート装置からの実行要求に基づいて前記実行対象となるアプリケーションを実行し、その実行結果を、前記ゲート装置を介して前記クライアント端末に送信するステップを実行し、
前記ゲート装置が前記実行要求先として前記第1の代理サーバに変更したときには、
前記第1の代理サーバが、
前記ゲート装置からの実行要求に基づいて実行対象となる前記第1のアプリケーションを実行し、その実行結果を、前記ゲート装置を介して前記クライアント端末に送信するステップを実行し、
前記ゲート装置が前記実行要求先として前記第2の代理サーバに変更したときには、
前記第2の代理サーバが、
前記ゲート装置からの実行要求に基づいて実行対象となる前記第2のアプリケーションを実行し、その実行結果を、前記ゲート装置を介して前記クライアント端末に送信するステップを実行することを特徴とするネットワークシステムの通信制御方法。 A client terminal,
A gate device for relaying data;
An application execution device that connects to the client terminal via a first network through the gate device and executes an application based on an execution request from the client terminal;
A first proxy server connected to the gate device by a second network, providing a first application to the application execution device, and executing the first application on behalf of the application execution device;
A second application connected to the gate device by the second network, providing a second application different from the first application to the application execution device, and executing the second application on behalf of the application execution device; A communication control method for a network system comprising two proxy servers ,
The client terminal is
Specified as the application to be executed the first application or the second application, executing step for executing requests the gate device as the execution request destination,
The gate device is
Determining whether reference to the database that stores the storage location of the application to be the execution target, the application to be given the executed stored in the application execution device,
Determining whether the READY state applications the application executing device is the execution target,
Wherein when the client terminal receives the execution request of the application to be the execution target, it is determined applications to be specified the execution subject is stored in the application execution device, and the application execution unit the execution target When it is determined that the application to be executed is in an executable state, the execution request destination is changed to the application execution device, and it is determined that the specified application to be executed is not stored in the application execution device If it is, or the case where the application executing device is determined not to be executable state applications to be the execution target, the first application execution request destination to be the execution target and provides an application to be the execution target One Changing to a proxy server or the second proxy server ;
Executing an execution request to the changed execution request destination,
When the gate device changes to the application execution device as the execution request destination,
The application execution device is
Executing the application to be executed based on the execution request from the gate device, and executing the step of transmitting the execution result to the client terminal via the gate device;
When the gate device is changed to the first proxy server as the execution request destination,
The first proxy server is
Executing the first application to be executed based on an execution request from the gate device, and executing the step of transmitting the execution result to the client terminal via the gate device ;
When the gate device changes to the second proxy server as the execution request destination,
The second proxy server is
A network that executes the second application to be executed based on an execution request from the gate device and transmits the execution result to the client terminal via the gate device. System communication control method.
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007043399A JP5018128B2 (en) | 2007-02-23 | 2007-02-23 | Network system, network system communication control method and program |
CN2008100029678A CN101237379B (en) | 2007-01-30 | 2008-01-11 | Application software execution system, computer, application software execution device,control method thereof, and application software execution device |
EP08000805A EP1953995A1 (en) | 2007-01-30 | 2008-01-17 | Application execution system, computer, application execution device, and control method and program for an application execution system |
US12/019,275 US20080184340A1 (en) | 2007-01-30 | 2008-01-24 | Application Execution System, Computer, Application Execution Device, And Control Method And Program For An Application Execution System |
US14/177,369 US9167030B2 (en) | 2007-01-30 | 2014-02-11 | Application execution system, computer, application execution device, and control method and program for an application execution system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007043399A JP5018128B2 (en) | 2007-02-23 | 2007-02-23 | Network system, network system communication control method and program |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012030355A Division JP2012094193A (en) | 2012-02-15 | 2012-02-15 | Network system, communication control method for network system and program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2008209975A JP2008209975A (en) | 2008-09-11 |
JP5018128B2 true JP5018128B2 (en) | 2012-09-05 |
Family
ID=39786251
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007043399A Expired - Fee Related JP5018128B2 (en) | 2007-01-30 | 2007-02-23 | Network system, network system communication control method and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5018128B2 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011103837A2 (en) * | 2011-04-19 | 2011-09-01 | 华为技术有限公司 | Method for processing packet when server fails and router thereof |
KR101416597B1 (en) * | 2013-02-01 | 2014-07-08 | 에스케이플래닛 주식회사 | Method for providing of cloud services, apparatus and system for the same |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3688830B2 (en) * | 1995-11-30 | 2005-08-31 | 株式会社東芝 | Packet transfer method and packet processing apparatus |
JP3633321B2 (en) * | 1998-10-23 | 2005-03-30 | 富士通株式会社 | Wide area load distribution apparatus and method |
JP2002169704A (en) * | 2000-12-01 | 2002-06-14 | Hitachi Ltd | Method and system for surrogate processing and computer system |
JP2006178658A (en) * | 2004-12-21 | 2006-07-06 | Fujitsu Ltd | Method and program for processing information |
-
2007
- 2007-02-23 JP JP2007043399A patent/JP5018128B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2008209975A (en) | 2008-09-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10623272B2 (en) | Authenticating connections and program identity in a messaging system | |
EP1130875B1 (en) | A home gateway with a data backup service | |
JP5747981B2 (en) | System and method for remote maintenance of multiple clients in an electronic network using virtual machines | |
US8887292B2 (en) | Method for encrypting and embedding information in a URL for content delivery | |
US8346966B1 (en) | Transparent file system access for wide area network file system acceleration | |
JP2013045278A (en) | Access management device | |
AU2019401568B2 (en) | Secure offline streaming of content | |
US10721719B2 (en) | Optimizing caching of data in a network of nodes using a data mapping table by storing data requested at a cache location internal to a server node and updating the mapping table at a shared cache external to the server node | |
EP3295652A1 (en) | Methods, systems, and apparatuses of service provisioning for resource management in a constrained environment | |
TWI416923B (en) | Secure data communications in web services | |
US11870760B2 (en) | Secure virtual personalized network | |
JP5018128B2 (en) | Network system, network system communication control method and program | |
JP3731645B2 (en) | Agent method and computer system | |
JP2012094193A (en) | Network system, communication control method for network system and program | |
JP2001251362A (en) | Communication network system, gateway data communication method, and program service medium | |
JP5243721B2 (en) | Application execution system, switching device, application execution method and program for application execution system | |
JP2009517781A (en) | Simple multipurpose communication device and information client | |
JP7458348B2 (en) | Communication systems, access point devices, communication methods and programs | |
JP2000090048A (en) | Security information update system and record medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20100112 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20110215 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110222 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110421 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20111129 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120215 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20120221 |
|
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: 20120515 |
|
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: 20120528 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5018128 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: 20150622 Year of fee payment: 3 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |