JP4324975B2 - 負荷低減システム、計算機、及び負荷低減方法 - Google Patents
負荷低減システム、計算機、及び負荷低減方法 Download PDFInfo
- Publication number
- JP4324975B2 JP4324975B2 JP2006261956A JP2006261956A JP4324975B2 JP 4324975 B2 JP4324975 B2 JP 4324975B2 JP 2006261956 A JP2006261956 A JP 2006261956A JP 2006261956 A JP2006261956 A JP 2006261956A JP 4324975 B2 JP4324975 B2 JP 4324975B2
- Authority
- JP
- Japan
- Prior art keywords
- server
- client
- machine
- processing unit
- load reduction
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1008—Server selection for load balancing based on parameters of servers, e.g. available memory or workload
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
- G06F9/5088—Techniques for rebalancing the load in a distributed system involving task migration
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
- H04L61/2521—Translation architectures other than single NAT servers
- H04L61/2525—Translation at a client
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1031—Controlling of the operation of servers by a load balancer, e.g. adding or removing servers that serve requests
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
- H04L67/125—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks involving control of end-device applications over a network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Computer Hardware Design (AREA)
- Information Transfer Between Computers (AREA)
- Computer And Data Communications (AREA)
Description
この従来技術では、サーバ装置は、ファイル起動指示に基づいて、記憶装置に記憶された起動対象モジュール毎に仮想クライアントOSを生成する仮想サーバ制御部と、起動対象モジュールをメインメモリにローディングして、当該起動対象モジュールを起動するブート制御部と、各起動対象モジュールにIPアドレスの付与を制御し、当該モジュールのモジュール名とIPアドレスとの関係を第1テーブルに登録し、モジュール名とIPアドレスとの間の変換をするIPアドレス/モジュール名変換DB管理部と、異なる仮想クライアントOSにより起動されたモジュール宛てのメッセージを当該モジュールの第1テーブルに登録されているIPアドレスに基づいてルーティングをするルーティング制御部とを具備する。すなわち、サーバ上に仮想サーバと仮想クライアントを両立し、仮想サーバ制御部(ハイパバイザ)がIPアドレスを仲介する。
この従来技術では、クライアントノードは、ユーザーの操作に応じて、サーバノードに対して処理要求信号を送信する。サーバノードは、処理要求信号を受信すると、オペレーションシステムからCPU使用率を取得し、CPU使用率が設定値以下である場合には、要求された処理を行い、処理結果をクライアントノードに対して送信する。逆に、CPU使用率が設定値以上である場合には、サーバノードは、要求された処理をクライアントノードに実行させる旨の応答信号を送信する。応答信号に対して、クライアントノードがアプリケーションプログラムの送信を要求すると、サーバノードは、要求された処理を行うためのアプリケーションプログラムをクライアントノードに送信する。クライアントノードは、アプリケーションプログラムを実行して処理結果を得る。すなわち、クライアント機能に相当するクライアントノードの処理要求部の検索要求を受け、サーバノードは検索プログラムをクライアントノードに送信し、クライアントノードは検索プログラムを受信して実行する。なお、クライアント機能及び検索プログラムはVM(仮想マシン)上で動作するものではない。
特開平11−053326号公報(特許文献2)に記載の従来技術は、クライアントPC側のマシンリソースを考慮することなく、サーバが提供していた一部のサービスをクライアントPC側に肩代わりさせている。また、VM(仮想マシン)を使用しておらず、単にサーバ側で実行されていたアプリケーションプログラムをクライアントPC側で実行させているため、実行中にクライアントPC側とサーバ側とで通信を行う必要があるアプリケーションプログラムの場合には適さない。
本発明の目的は、アクセスが集中するサーバの負荷を、クライアントPCを利用して低減し、その際、セキュリティを低下させない負荷低減システムを提供することである。
本発明の他の目的は、クライアント側を仮想マシン構成とすることで、サーバの負荷低減を実現する負荷低減システムを提供することである。
第1計算機(100)からリソース情報を取得し、リソース情報に基づきサーバプログラム(222)を生成して第1計算機(100)に提供する第2計算機(200)とを具備する。
図1を参照すると、本発明の負荷低減システムは、クライアントマシン100と、サーバマシン200と、ネットワーク300を備えている。
なお、サーバマシン200側からクライアント121を提供する場合には、サーバ222と同様に、クライアント121も、利用可能なリソース情報とクライアントの権限に基づいて、サーバ組み立て221が組み立てるようにしても良い。
(1)クライアント管理から得た利用可能なリソース情報(OS,CPU,メモリ、ネットワーク、ディスク他)
(2)クライアントの権限
(3)機能実行に必要なデータの在り処:機能実行に必要なデータをサーバマシンからクライアントマシンに移せない場合は、これらのデータを使用する機能をサーバ222に組み込まない。
(4)共有資源に対する処理:排他制御のため、単一のサーバから処理をする場合であって、既に他にサーバが起動している場合は、このサーバで使用されている機能をサーバ222に組み込まない。
図1では、クライアント121がサーバ210にサービスを要求するために通信301を開始する。サービスの要求を受けたサーバ210では、サーバ管理220が通信302により送信元(クライアント)のクライアント管理112に接続する。実際には、クライアント121がサービスを要求した時に限らず、サーバ210(サーバマシン200)がクライアント121(クライアントマシン100)の起動を検出した時、又はサーバ210の負荷が大きくなった時に、サーバ管理220がクライアント管理112に接続するようにしても良い。クライアント管理112は、接続時に適当な認証を行った後、仮想マシン環境で利用可能なリソース情報113を、サーバ管理220に送付する。なお、この間にクライアント121はサーバ210から継続してサービスを受けている。
(1)ステップS101
サーバ管理220は、クライアント管理112から取得したリソース情報113に基づいて、サーバ222を動作させるためにクライアント側のマシンリソースが利用可能であるかどうか判断する。クライアント側のマシンリソースに余裕が無ければサーバ222を十分に動作させることができないためである。ここでは、クライアント側のマシンリソースに応じて、サーバ222に組み込む機能の数及び種類を決定する。この時、予めサーバ222に全ての機能を組み込むように設定しておき、クライアント側のマシンリソースに応じて、負荷の大きい機能や重要度の低い機能を除外するようにしても良い。
(2)ステップS102
クライアント側のマシンリソースが利用可能であると判断すると、サーバ組み立て221が、使用するリソースとクライアントの権限から、クライアント側の仮想マシンで起動するサーバ222を作成する。
(3)ステップS103
サーバ管理220が、サーバ222(使用するリソース情報を含む)をクライアント管理112に送付する。
同期点では、設定情報に基づいた内容を、転送マシンに登録することにより、以降の通信の流れを切り換える。すなわち、通信の流れをサーバ210から、利用する可能マシン130のサーバ222に変更する。クライアントから見れば、同期点前は元のサーバを、同期点後は仮想マシン130のサーバ222を利用することになるが、この切換えをクライアント121が意識する必要は無く、透過的である。
転送テーブル114により、クライアント121のIPアドレス(IP−A)からIPアドレス(IP−B)、プロトコル(Pr)、ポート番号(Po)への通信は、IPアドレス(IP−A)からIPアドレス(IP−D)、プロトコル(Pr)、ポート番号(Po)への通信に切り換えとなる。なお、切り換えの際、転送テーブル114に登録されているIPアドレスの書き換えを行う。逆に、IPアドレス(IP−D)からIPアドレス(IP−A)への通信は、IPアドレス(IP−B)からIPアドレス(IP−A)への通信に切り換えとなる。サーバ222がクライアント121ではなく外部(この例ではDBサーバ400)と通信する場合、IPアドレス(IP−D)のまま切り換えは行わない。
仮想マシン130上のサーバ222が、サーバ210(VPNサーバ)の代わりに、パケットの暗号化と復号化を行う。サーバ210が有する別サーバ代替一覧230は、仮想マシン130により代替しているVPNサーバ(サーバ222)の一覧である。パケットの送信元又は宛先がこの別サーバ代替一覧230に含まれる場合、サーバ210は、暗号化や復号化を行う必要が無い。サーバ222は、サーバ210の代わりに暗号化と復号化を行うが、そのために必要な鍵情報等を元のサーバ210(VPNサーバ)から受け取る必要がある。サーバ210(VPNサーバ)からのクライアント管理112への「リソース情報要求」は、送信元がクライアントであるときか、宛先がクライアントの最初のパケットを(一定時間内で)処理したときに行う。なお、ここでは、クライアント121はIPアドレス(IP−A)、サーバ210はIPアドレス(IP−B)を使用する。
仮想マシン130上のサーバ222が、PIサーバ(サーバ210)の代わりに、クライアント121へのパケットのインスペクションを実行する。サーバ210が有する別サーバ代替一覧230は、仮想マシン130によりインスペクションを代替するPIサーバ(サーバ222)を持つクライアント121の一覧である。宛先がこの別サーバ代替一覧230に含まれる場合、サーバ210ではインスペクションを行わない。クライアント121へのパケットは、通信切換部111によりクライアント121に渡す前に、PIサーバ(サーバ222)に渡され、インスペクションが実行される。
サーバ210(PIサーバ)からのクライアント管理112への「リソース情報要求」は、送信元がクライアントである時か、宛先がクライアントの最初のパケットを(一定時間内で)処理した時に行う。
通信切換部111はクライアント121からのサーバ210への通信を、サーバ210の代わりにサーバ222に転送する。図14は、サーバ222はクライアント121とのみ通信を行う場合で、サーバ222はサーバ210と同じアドレスを持つ。これに対して、図15は、サーバ222がクライアント121以外とも通信を行う場合で、これにはサーバ210との通信304やそれ以外の通信305がある。図15の場合には、仮想マシン130環境のIPアドレスは仮想マシン120環境のものとは別に設定して、図5の通信切換部111の転送テーブル114には、仮想マシン130環境のIPアドレスを代替IPアドレスとして登録する。なお、代替IPアドレスは、ネットワーク300に対して、サーバマシン200(サーバ210)と、仮想マシン130(サーバ222)とを区別するために使用する。
(1)ステップS201
仮想マシン120(クライアント121)からのパケットの送信で、その宛先IPアドレスが転送テーブル114に登録されているかどうか確認する。すなわち、仮想マシン120(クライアント121)の送信先のIPアドレスが転送テーブル114に登録されているかどうか確認する。
(2)ステップS202
その宛先IPアドレスが転送テーブル114に登録されていなければ、ネットワーク300へ転送する。
(3)ステップS203
その宛先IPアドレスが転送テーブル114に登録されているならば、その宛先IPアドレスに対応する代替IPアドレスが設定されているかどうか確認する。
(4)ステップS204
代替IPアドレスが設定されているならば、宛先IPアドレスを代替IPアドレスに書き換える。
(5)ステップS205
仮想マシン120(クライアント121)からのパケットを、仮想マシン130(サーバ222)に転送する。
(1)ステップS301
仮想マシン130(サーバ222)からのパケットの送信が、仮想マシン120(クライアント121)への送信かどうか確認する。
(2)ステップS302
仮想マシン120(クライアント121)への送信であれば、代替IPアドレスが使用されているかどうか確認する。
(3)ステップS303
代替IPアドレスが使用されているならば、送信元IPアドレスを、プロトコル(Pr)、ポート番号(Po)、仮想マシンの情報が一致するところにある元のIPアドレスに書き換える。
(4)ステップS304
仮想マシン130(サーバ222)からのパケットを仮想マシン120(クライアント121)に転送する。
(5)ステップS305
仮想マシン130(サーバ222)からの送信が、仮想マシン120(クライアント121)以外への送信であれば、代替IPアドレスを使用しているかどうか確認する。
(6)ステップS306
代替IPアドレスを使用していれば、仮想マシン130(サーバ222)からのパケットをネットワーク300へ転送する。
(7)ステップS307
代替IPアドレスを使用していなければ、仮想マシン130(サーバ222)からのパケットを廃棄する。
第2実施形態は、ユーザが能動的にサーバ222をクライアントマシン100側にダウンロードして動作させるものである。
或いは、サーバ222を停止させずに、クライアント121にサーバ210とサーバ222を並行利用させることで、分散処理をすることも可能である。サーバ210及びサーバ222への処理の振り分けは、例えば、各々のサーバの負荷状況や、各々のサーバのマシンリソースに応じて決定する。
(1)ステップS401
クライアント121は、サーバ210にサービスを要求する。但し、実際には、サービスを要求した場合に限らず、クライアント121がサーバ210にアクセスしていれば良い。
(2)ステップS402
サーバ210上のサーバ管理220は、クライアント121からサービスの要求があった場合、クライアント121内の仮想マシン管理110にリソース情報を要求する。なお、仮想マシン管理110は、クライアント121と外部で接続されていても良い。例えば、仮想マシン管理110が、クライアント121とサーバ210との間の中継装置である場合が考えられる。
(3)ステップS403
仮想マシン管理110は、サーバ210上のサーバ管理220に、クライアント121側で利用可能なマシンリソースを示すリソース情報を提供する。この時、仮想マシン管理110では、利用可能なリソース情報が設定されている。
(4)ステップS404
サーバ210上のサーバ管理220に含まれるサーバ組み立て221は、仮想マシン管理110から提供されたリソース情報により、サーバ222を組み立てるかどうかを判断する。リソースが十分であれば、リソース情報に基づいて、仮想マシン管理110で利用可能なサーバ222を組み立てる。リソースが不足していれば、サーバ222を組み立てずに処理を終了する。なお、サーバ組み立て221は、サーバ管理220から独立していても良い。
(5)ステップS405
サーバ210は、仮想マシン管理110にサーバ222を提供する。この時、サーバ210上のサーバ管理220は、サーバ222の設定情報も合わせて仮想マシン管理110に提供する。
(6)ステップS406
仮想マシン管理110は、クライアント121上の仮想マシン130で、サーバ222を起動する。
(7)ステップS407
仮想マシン管理110は、サーバ210のサーバ管理220に、サーバ222の起動が完了したことを通知する。
(8)ステップS408
サーバ210のサーバ管理220は、仮想マシン管理110に、サーバ管理220と仮想マシン管理110との間の同期点において通信切換えを行うための情報を通知する。
(9)ステップS409
仮想マシン管理110は、同期点において通信切換えを行うための情報を転送テーブルに登録する。
(10)ステップS410
クライアント121は、サーバ222にサービスを要求する。すなわち、クライアント121は、サーバ222へアクセスする。
(1)ステップS501
クライアント121が、サーバ222の提供するサービスを一定時間利用していない場合、すなわち、クライアント121とサーバ222の間の通信が一定時間行われていない場合、又は、クライアント121のリソース不足でサーバ222に不具合が発生した場合、クライアント121の通信を監視する仮想マシン管理110が、この状態を検出する。
(2)ステップS502
仮想マシン管理110は、一定時間サーバ222の利用なし、或いはクライアント121のリソース不足を検出した時、サーバ222の停止を決定する。
(3)ステップS503
仮想マシン管理110は、サーバ210上のサーバ管理220に、サーバ222の終了を通知する。なお、サーバ222を停止する前に、サーバ210とサーバ222を同期させる必要があれば、この時に同期させる。
(4)ステップS504
仮想マシン管理110は、同期点において通信切換えを行うための情報を転送テーブルから削除する。
(5)ステップS505
仮想マシン管理110は、サーバ222を停止する。
本実施形態では、サーバ222の組み立て例について説明する。
例えば、図23に示すように、サーバ機能を実現するために機能1乃至3が必要な場合、機能1乃至3に加えて、これらの遠隔呼出部である機能1A乃至3Aが用意されている。ここでは、サーバ組み立て221は、サーバ222に、機能1,3を組み込むと共に、他のマシンで実行される機能2を呼び出す遠隔呼出部である機能2Aを組み込む。また、これらの機能の呼び出し順序やIFを記録する機能呼出部223も組み込む。なお、呼び出し順序やIFについては、設定情報224に格納されていても良い。
図25では、サーバ機能を実現するために機能1乃至3が必要な場合、図23と異なり、機能1A乃至3Aが部品として存在せず、その代わりに、機能呼出部223を生成する際に、機能呼出部223の中に、組み込んだ機能については局所呼出部を、組み込まなかった機能については遠隔呼出部を、それぞれ作成する。ここでは、機能1呼出部2231と機能3呼出部2233が、それぞれ機能1局所呼出部2231aと機能3局所呼出部2233aとなり、機能2呼出部2232が、機能2遠隔呼出部2232aとなる。なお、動作の詳細は図23の場合と同様である。
VPNの方式として以下の3通りが考えられる。
(a)トンネリングのみ
(b)トンネリング+暗号化
(c)データのみ暗号化
パケットインスペクションサーバの機能一覧には、パケットフィルター2226と、ステートフルパケットインスペクション2227と、アプリケーションフィルター2228と、ポリシー制御部2229が含まれる。パケットフィルター2226は、パケットの一部(例えばヘッダ)を見て、そのパケットの通過を許可するか拒否するかを決定する機能である。ステートフルパケットインスペクション2227は、通過しようとするパケットのデータを読み取り、内容を判断して動的にポートを開放又は閉鎖する機能である。アプリケーションフィルター2228は、アプリケーション毎に通信を許可するか遮断するかを設定する機能である。ポリシー制御部2229は、ネットワークシステムの運用方針(ポリシー)を管理制御する機能である。
サーバ組み立て221は、これらの機能のうち、少なくとも一つの機能を選択してサーバ222を組み立てる。ここでは、サーバ222は、ステートフルパケットインスペクション2227と、ポリシー制御部2229と、設定情報224を備える。
APサーバの機能一覧には、機能呼出部223が含まれる。機能呼出部223は、AP処理1呼出部2234と、DBサーバコール呼出部2235と、AP処理2呼出部2236を備える。AP処理1呼出部2234は、AP処理1又はAP処理1Aを呼び出し実行する。AP処理1は図23の機能1に該当する。DBサーバコール呼出部2235は、DB(データベース)サーバコールを呼び出し実行する。DBサーバコールは、DBサーバにアクセスするための機能である。また、DBサーバコールは図23の機能2に該当する。
AP処理2呼出部2236は、AP処理2又はAP処理2Aを呼び出し実行する。AP処理2は図23の機能2に該当する。
ここでは、サーバ210において、サーバ組み立て221が、APサーバの機能一覧から必要な機能を選択してサーバ222をAPサーバとして作成する。APサーバの処理フローは、AP処理1→DBサーバコール→AP処理2である。サーバの組み立て処理では、これらの処理が順次呼び出されるように、機能呼出部223でこれらの処理の呼び出し順序を規定する。また、各々の処理につき、局所的に処理をするか、遠隔呼出によって処理をするかを選択し、機能部品を組み立てる。局所的に処理する場合はサーバ222に組み込んだ機能を実行する。遠隔呼出によって処理する場合は他のサーバ上にある機能を呼び出して実行する。
例えば、AP処理1を実行するためには128MBのメモリサイズが必要、AP処理2を実行するためには512MBのメモリサイズが必要という情報が事前に与えられているとする。なお、これらの情報はAPサーバ機能一覧に付属する情報として記憶する。
サーバ組み立て処理では、クライアント側からクライアントマシン100の計算機情報を入手し、これらのメモリ諸元情報と比較する。クライアントマシン100の利用可能なメモリが256MBである場合、AP処理1はクライアントマシン100上で実行できるが、AP処理2はクライアントマシン100上では実行できない。従って、AP処理1は局所的に実行、AP処理2Aは遠隔処理を実行するよう、サーバ222を組み立てる。
例えば、AP処理2を実行するために必要なデータがサーバA上にあり、そこからデータを取り寄せてクライアントで実行するのが良いのか、或いはクライアントからサーバAに処理を依頼し、その結果のみを受領するのが良いのか、という判断である。
本発明の物理構成は、クライアント/サーバ構成である。クライアントマシンは仮想マシンを構成し、仮想マシンを管理するための仮想マシン管理とクライアントが動作するクライアントの仮想マシンと、サーバプログラムを動作させるために必要に応じて起動される仮想マシンとで構成される。
このマシン管理機器は、条件に応じて、このクライアント専用の第2サーバを稼働させることができる。そして、外部にはあるサービスを提供する第1サーバが稼働している。なお、第2サーバが、PCのVM(仮想マシン)上で動作する場合、マシン管理機器は、この第2サーバを動作させるためのVM(仮想マシン)を稼働させる。
(1)クライアントPCは第1サーバ(IPアドレスA)に接続して、サービスを要求する。クライアントPCと第1サーバが相互に必要な認証を行った後、マシン管理機器は第1サーバからの接続用にサービスポートを開ける。
(2)第1サーバはマシン管理機器のサービスポートに接続を試みる。サービスポートへの接続に失敗した場合は、以降、そのままクライアントに対してサービスを提供し続ける。
(3)サービスポートへの接続に成功した場合、クライアント環境のVM(仮想マシン)上で利用可能な資源を確認して、必要な資源を利用できるならば、第1サーバは、クライアントに対してサービスを提供しながら、同時にマシン管理機器に対してサービスを提供するプログラムと必要な環境情報を送信する。
(4)マシン管理機器は第1サーバから受信したプログラムと環境情報を、サーバ動作用のVM(仮想マシン)上に格納する。そして、受信が完了したら、サーバ動作用のVM(仮想マシン)にIPアドレスA又はIPアドレスBを与えて、第2サーバとして動作を開始させる。この時、第2サーバはまだ、実際のネットワークとは接続していない。
(5)第1サーバはマシン管理機器を利用して、第2サーバとの間で同期を取り、それからマシン管理機器に対して、第2サーバへの切替えを通知する。
(6)以降、マシン管理機器は、クライアントからIPアドレスAの第1サーバへの通信を、第2サーバへフォワードする。これはクライアントに対してはシームレスに行われる。なお、第2サーバからクライアント以外への通信がある場合は、この時点で、ネットワークアドレス変換により第2サーバのIPアドレスBへの変換を行う。
(7)一定時間以上、クライアントから第2サーバへの通信がなくなった場合、マシン管理機器は第2サーバを停止して、第2サーバを動作させていた環境を解放する。
すなわち、クライアント121とサーバ222は、個別の端末において実行するようにしても良い。この場合、仮想マシン管理110は、端末装置の通信を監視する監視装置又は中継装置である。
110… 仮想マシン管理
111… 通信切換部
112… クライアント管理
113… リソース情報
114… 転送テーブル
115… プログラムキャッシュ
120… 仮想マシン(クライアント用)
121… クライアント
130… 仮想マシン(サーバ用)
200… サーバマシン
210… サーバ
220… サーバ管理
221… サーバ組み立て
222… サーバ(プログラム)
223… 機能呼出部
2231… 機能1呼出部(局所呼出部)
2232… 機能2呼出部(遠隔呼出部)
2233… 機能3呼出部(局所呼出部)
224… 設定情報
230… 別サーバ代替一覧
300… ネットワーク
301〜305… 通信
400… DBサーバ
Claims (15)
- 自身のマシンリソースを示すリソース情報を収集し、前記リソース情報に応じたサーバプログラムを取得して実行し、前記サーバプログラムに基づいて、内部に擬似的にサーバ環境を構築し、ネットワークとの通信を前記サーバ環境との通信に切り換える複数のクライアントマシンと、
前記複数のクライアントマシンの各々から前記リソース情報を取得し、前記リソース情報に基づき前記サーバプログラムを生成して前記各クライアントマシンに提供するサーバマシンと
を含み、
前記各クライアントマシンは、前記サーバ環境を前記サーバマシンの代わりに使用し、前記サーバマシンの負荷を低減し、
前記サーバマシンは、前記各クライアントマシンに移せないデータを用いる処理を行う
負荷低減システム。 - 請求項1に記載の負荷低減システムであって、
前記サーバマシンは、
前記リソース情報に基づいて、前記各クライアントマシンのマシンリソースが利用可能であるかどうか判断するサーバ管理部と、
前記利用可能なマシンリソースに応じて、前記各クライアントマシンに移せないデータを用いる機能、及び既に稼働中のサーバ環境で使用されている排他制御の機能を前記サーバプログラムに組み込まずに、前記各クライアントマシン上で動作する前記サーバプログラムを組み立てるサーバ組み立て部と
を具備する
負荷低減システム。 - 請求項1又は2に記載の負荷低減システムであって、
前記各クライアントマシンは、
クライアントとして動作する第1処理部と、
前記サーバプログラムに基づいて擬似的に前記サーバ環境を構築し、サーバとして動作する第2処理部と、
前記第1処理部と前記サーバマシンとの通信を、前記第1処理部と前記第2処理部との通信に切り換える通信切換部と、
前記リソース情報を前記サーバマシンに提供し、前記サーバマシンから取得した前記サーバプログラムを前記第2処理部に提供するクライアント管理部と
を具備する
負荷低減システム。 - 請求項3に記載の負荷低減システムであって、
前記クライアント管理部は、前記サーバマシンの識別情報及び前記第2処理部の識別情報を登録するための転送テーブルに、前記サーバマシンの識別情報及び前記第2処理部の識別情報のうち少なくとも一方の識別情報を登録し、
前記通信切換部は、前記第1処理部と前記サーバマシンとの通信の際、前記転送テーブルを参照し、前記転送テーブルに前記第2処理部の識別情報が登録されていれば、前記第1処理部と第2処理部との通信に切り換える
負荷低減システム。 - 請求項4に記載の負荷低減システムであって、
前記クライアント管理部は、前記各クライアントマシンの負荷が基準値を超えた場合、前記第2処理部を停止させ、前記転送テーブル上の前記第2処理部の登録情報を削除し、前記第1処理部に前記サーバマシンを利用させるように制御する
負荷低減システム。 - 請求項3乃至5のいずれか一項に記載の負荷低減システムであって、
前記クライアント管理部は、前記各クライアントマシンのマシンリソースが不足した場合、前記第1処理部に、前記第2処理部の利用を中止させて前記サーバマシンを利用させ、前記各クライアントマシンのマシンリソースが回復した場合、前記第1処理部に前記第2処理部の利用を再開させるようにする
負荷低減システム。 - 請求項3乃至5のいずれか一項に記載の負荷低減システムであって、
前記クライアント管理部は、前記第1処理部に、前記第2処理部と前記サーバマシンとを並行して利用させるようにする
負荷低減システム。 - 請求項1乃至7のいずれか一項に記載の負荷低減システムにおいて、前記複数のクライアントマシンの1つとして使用される計算機。
- 請求項1乃至7のいずれか一項に記載の負荷低減システムにおいて、前記サーバマシンとして使用される計算機。
- 複数のクライアントマシンの各々が、前記各クライアントマシンのマシンリソースを示すリソース情報を収集し、前記リソース情報に応じたサーバプログラムを取得して実行し、前記サーバプログラムに基づいて、内部に擬似的にサーバ環境を構築し、ネットワークとの通信を前記サーバ環境との通信に切り換えるステップと、
サーバマシンが、前記複数のクライアントマシンの各々から前記リソース情報を取得し、前記リソース情報に基づき前記サーバプログラムを生成して前記各クライアントマシンに提供するステップと、
前記各クライアントマシンが、前記サーバ環境を前記サーバマシンの代わりに使用し、前記サーバマシンの負荷を低減するステップと、
前記サーバマシンが、前記各クライアントマシンに移せないデータを用いる処理を行うステップと
を含む
負荷低減方法。 - 請求項10に記載の負荷低減方法であって、
前記サーバマシンが、前記リソース情報に基づいて、前記各クライアントマシンのマシンリソースが利用可能であるかどうか判断するステップと、
前記サーバマシンが、前記利用可能なマシンリソースに応じて、前記各クライアントマシンに移せないデータを用いる機能、及び既に稼働中のサーバ環境で使用されている排他制御の機能を前記サーバプログラムに組み込まずに、前記各クライアントマシン上で動作する前記サーバプログラムを組み立てるステップと
を更に含む
負荷低減方法。 - 請求項10又は11に記載の負荷低減方法であって、
前記各クライアントマシンが、クライアントとして動作する第1処理部を使用するステップと、
前記各クライアントマシンが、前記サーバプログラムに基づいて擬似的に前記サーバ環境を構築し、サーバとして動作する第2処理部を使用するステップを使用するステップと、
前記各クライアントマシンが、前記第1処理部と前記サーバマシンとの通信を、前記第1処理部と前記第2処理部との通信に切り換えるステップと、
前記各クライアントマシンが、前記リソース情報を前記サーバマシンに提供し、前記サーバマシンから取得した前記サーバプログラムを前記第2処理部に提供するステップと
を更に含む
負荷低減方法。 - 請求項12に記載の負荷低減方法であって、
前記各クライアントマシンが、前記サーバマシンの識別情報及び前記第2処理部の識別情報を登録するための転送テーブルに、前記サーバマシンの識別情報及び前記第2処理部の識別情報のうち少なくとも一方の識別情報を登録するステップと、
前記各クライアントマシンが、前記第1処理部と前記サーバマシンとの通信の際、前記転送テーブルを参照し、前記転送テーブルに前記第2処理部の識別情報が登録されていれば、前記第1処理部と第2処理部との通信に切り換えるステップと
を更に含む
負荷低減方法。 - 請求項13に記載の負荷低減方法であって、
前記各クライアントマシンが、前記各クライアントマシンの負荷が基準値を超えた場合、前記第2処理部を停止させ、前記転送テーブル上の前記第2処理部の登録情報を削除し、前記第1処理部に前記サーバマシンを利用させるようにするステップ
を更に含む
負荷低減方法。 - 請求項12乃至14のいずれか一項に記載の負荷低減方法であって、
前記各クライアントマシンが、前記各クライアントマシンのマシンリソースが不足した場合、前記第1処理部に、前記第2処理部の利用を中止させて前記サーバマシンを利用させ、前記各クライアントマシンのマシンリソースが回復した場合、前記第1処理部に前記第2処理部の利用を再開させるように制御するステップ
を更に含む
負荷低減方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006261956A JP4324975B2 (ja) | 2006-09-27 | 2006-09-27 | 負荷低減システム、計算機、及び負荷低減方法 |
US11/898,301 US20080077690A1 (en) | 2006-09-27 | 2007-09-11 | System, method, and program for reducing server load |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006261956A JP4324975B2 (ja) | 2006-09-27 | 2006-09-27 | 負荷低減システム、計算機、及び負荷低減方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2008083897A JP2008083897A (ja) | 2008-04-10 |
JP4324975B2 true JP4324975B2 (ja) | 2009-09-02 |
Family
ID=39226349
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006261956A Expired - Fee Related JP4324975B2 (ja) | 2006-09-27 | 2006-09-27 | 負荷低減システム、計算機、及び負荷低減方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20080077690A1 (ja) |
JP (1) | JP4324975B2 (ja) |
Families Citing this family (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8176486B2 (en) | 2007-02-15 | 2012-05-08 | Clearcube Technology, Inc. | Maintaining a pool of free virtual machines on a server computer |
US9043391B2 (en) | 2007-02-15 | 2015-05-26 | Citrix Systems, Inc. | Capturing and restoring session state of a machine without using memory images |
WO2009139426A1 (ja) * | 2008-05-14 | 2009-11-19 | 日本電気株式会社 | 情報処理システムと情報処理方法 |
JP2010041182A (ja) * | 2008-08-01 | 2010-02-18 | Nec Corp | プログラム移動制御システムおよびプログラム移動制御方法 |
JP2010062738A (ja) * | 2008-09-02 | 2010-03-18 | Fujitsu Ltd | ネットワーク設定プログラム,ネットワーク設定方法及びネットワーク設定装置 |
JP4521456B2 (ja) * | 2008-09-05 | 2010-08-11 | 株式会社東芝 | 情報処理システムおよび情報処理システムの制御方法 |
JP5123800B2 (ja) * | 2008-09-16 | 2013-01-23 | 株式会社リコー | 情報処理装置、情報処理方法及びプログラム |
WO2010032558A1 (ja) * | 2008-09-19 | 2010-03-25 | 日本電気株式会社 | プログラム入手・実行クライアント、プログラム入手・実行方法および記録媒体 |
JP5481845B2 (ja) * | 2008-12-04 | 2014-04-23 | 日本電気株式会社 | 情報処理システム、サービス提供方法、装置及びプログラム |
JP4862056B2 (ja) * | 2009-03-16 | 2012-01-25 | 株式会社東芝 | 仮想計算機管理機構及び仮想計算機システムにおけるcpu時間割り当て制御方法 |
JP5293580B2 (ja) * | 2009-03-19 | 2013-09-18 | 日本電気株式会社 | ウェブサービスシステム、ウェブサービス方法及びプログラム |
JP5476764B2 (ja) * | 2009-03-30 | 2014-04-23 | 富士通株式会社 | サーバ装置、計算機システム、プログラム及び仮想計算機移動方法 |
JP5455495B2 (ja) | 2009-07-31 | 2014-03-26 | キヤノン株式会社 | 通信装置、通信方法及びプログラム |
WO2012023175A1 (ja) * | 2010-08-17 | 2012-02-23 | 富士通株式会社 | 並列処理制御プログラム、情報処理装置、および並列処理制御方法 |
JP5683368B2 (ja) * | 2011-04-21 | 2015-03-11 | 三菱電機株式会社 | 情報処理装置及び代表計算機 |
JP5991482B2 (ja) * | 2012-11-14 | 2016-09-14 | コニカミノルタ株式会社 | 画像形成装置およびその制御方法 |
EP2767905A1 (en) * | 2013-02-15 | 2014-08-20 | Samsung Electronics Co., Ltd | Terminal apparatus, server, browser of terminal apparatus operating system and method of operating browser |
JP6004400B2 (ja) * | 2013-05-01 | 2016-10-05 | 日本電信電話株式会社 | 広告配信システム及び広告配信方法 |
WO2014182900A1 (en) * | 2013-05-08 | 2014-11-13 | Convida Wireless, Llc | Method and apparatus for the virtualization of resources using a virtualization broker and context information |
US9560081B1 (en) | 2016-06-24 | 2017-01-31 | Varmour Networks, Inc. | Data network microsegmentation |
US9813258B2 (en) | 2014-03-31 | 2017-11-07 | Tigera, Inc. | Data center networks |
US9344364B2 (en) * | 2014-03-31 | 2016-05-17 | Metaswitch Networks Ltd. | Data center networks |
US9559950B2 (en) * | 2014-03-31 | 2017-01-31 | Tigera, Inc. | Data center networks |
CN105471760B (zh) * | 2014-09-12 | 2019-04-05 | 华为技术有限公司 | 一种路由方法、负载均衡的装置及数据通信系统 |
TWI552077B (zh) * | 2015-02-12 | 2016-10-01 | 國立中央大學 | 虛擬機器即時轉移方法 |
US9467476B1 (en) | 2015-03-13 | 2016-10-11 | Varmour Networks, Inc. | Context aware microsegmentation |
US10178070B2 (en) * | 2015-03-13 | 2019-01-08 | Varmour Networks, Inc. | Methods and systems for providing security to distributed microservices |
US9609026B2 (en) | 2015-03-13 | 2017-03-28 | Varmour Networks, Inc. | Segmented networks that implement scanning |
JP6514130B2 (ja) * | 2016-02-18 | 2019-05-15 | 日本電信電話株式会社 | 端末支援装置、端末支援方法、及びプログラム |
US9787639B1 (en) | 2016-06-24 | 2017-10-10 | Varmour Networks, Inc. | Granular segmentation using events |
JP6750349B2 (ja) * | 2016-07-05 | 2020-09-02 | 富士通株式会社 | 情報処理システム、情報処理装置、情報処理プログラム及び情報処理方法 |
JP6768530B2 (ja) * | 2016-12-28 | 2020-10-14 | デジタルア−ツ株式会社 | 情報処理装置及びプログラム |
US10257152B2 (en) * | 2017-03-10 | 2019-04-09 | Nicira, Inc. | Suppressing ARP broadcasting in a hypervisor |
JP2019135578A (ja) * | 2018-02-05 | 2019-08-15 | 株式会社東芝 | クラウドシステム、クラウドサーバ、エッジサーバおよびユーザ装置 |
JP7051958B2 (ja) * | 2020-09-09 | 2022-04-11 | Kddi株式会社 | 通信端末、通信システム及び制御方法 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6061713A (en) * | 1997-03-12 | 2000-05-09 | Fujitsu Limited | Communications system for client-server data processing systems |
JPH1153326A (ja) * | 1997-07-30 | 1999-02-26 | Internatl Business Mach Corp <Ibm> | 分散処理システム、クライアントノード、サーバノードおよび分散処理方法 |
US7007094B1 (en) * | 2001-05-31 | 2006-02-28 | Lab 7 Networks, Inc. | Object oriented communications system over the internet |
US6934755B1 (en) * | 2000-06-02 | 2005-08-23 | Sun Microsystems, Inc. | System and method for migrating processes on a network |
US6832239B1 (en) * | 2000-07-07 | 2004-12-14 | International Business Machines Corporation | Systems for managing network resources |
JP4152755B2 (ja) * | 2003-01-10 | 2008-09-17 | 富士通株式会社 | 新旧プログラムモジュールの切り替え機能を有するサーバ装置 |
US7636917B2 (en) * | 2003-06-30 | 2009-12-22 | Microsoft Corporation | Network load balancing with host status information |
US8156490B2 (en) * | 2004-05-08 | 2012-04-10 | International Business Machines Corporation | Dynamic migration of virtual machine computer programs upon satisfaction of conditions |
JP4242819B2 (ja) * | 2004-10-06 | 2009-03-25 | 株式会社日立製作所 | オフライン作業可能な端末を有する計算機システム |
JP5065050B2 (ja) * | 2005-12-28 | 2012-10-31 | インターナショナル・ビジネス・マシーンズ・コーポレーション | クライアント・サーバ・システムにおける負荷分散 |
-
2006
- 2006-09-27 JP JP2006261956A patent/JP4324975B2/ja not_active Expired - Fee Related
-
2007
- 2007-09-11 US US11/898,301 patent/US20080077690A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
US20080077690A1 (en) | 2008-03-27 |
JP2008083897A (ja) | 2008-04-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4324975B2 (ja) | 負荷低減システム、計算機、及び負荷低減方法 | |
US11824962B2 (en) | Methods and apparatus for sharing and arbitration of host stack information with user space communication stacks | |
US10887284B1 (en) | Peered virtual private network endpoint nodes | |
US20210328858A1 (en) | Communications methods and apparatus for migrating a network interface and/or ip address from one pod to another pod in a kubernetes system | |
CN114946166B (zh) | 在包括云边缘位置的异构计算环境中的动态资源移动的方法和系统 | |
EP3834393B1 (en) | Systems and methods for server cluster network communication across the public internet | |
JP5948362B2 (ja) | コンピュータネットワークの動的な移行 | |
US8332464B2 (en) | System and method for remote network access | |
JP4381655B2 (ja) | ストレージシステム、ストレージ装置、及び該ストレージ装置を利用した情報共有方法 | |
JP5293580B2 (ja) | ウェブサービスシステム、ウェブサービス方法及びプログラム | |
CN114401221B (zh) | Sdwan覆盖路由服务 | |
US10516652B1 (en) | Security association management | |
JP2020532204A (ja) | トラフィックオフロード方法およびローミングシナリオにおける関連するデバイス | |
CN110537354B (zh) | 用于配置虚拟专用网关的系统和方法 | |
JP2012533129A (ja) | 仮想ネットワークの高性能で自動化された管理方法及びシステム | |
CN114726863B (zh) | 用于负载均衡的方法、设备、系统及存储介质 | |
US12101247B2 (en) | Systems and methods for selecting tunnels for transmitting application traffic by an SD-WAN application | |
Postel | NCP/TCP transition plan | |
KR20130089270A (ko) | 메모리 카드 장치 | |
US20110276673A1 (en) | Virtually extending the functionality of a network device | |
US11374789B2 (en) | Provider network connectivity to provider network substrate extensions | |
CN114026826A (zh) | 提供商网络底层扩展的提供商网络连接管理 | |
US20230254243A1 (en) | Systems and methods for managing network services by an sd-wan application and an sd-wan device | |
JP3930516B2 (ja) | サーバ装置、サーバシステムおよびサーバシステムの負荷分散方法 | |
US20170116016A1 (en) | Screen compression service method and virtual network apparatus for performing the method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20080911 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080922 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20081119 |
|
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: 20090518 |
|
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: 20090531 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120619 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120619 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130619 Year of fee payment: 4 |
|
LAPS | Cancellation because of no payment of annual fees |