JP3966598B2 - サーバ選択システム - Google Patents
サーバ選択システム Download PDFInfo
- Publication number
- JP3966598B2 JP3966598B2 JP05168998A JP5168998A JP3966598B2 JP 3966598 B2 JP3966598 B2 JP 3966598B2 JP 05168998 A JP05168998 A JP 05168998A JP 5168998 A JP5168998 A JP 5168998A JP 3966598 B2 JP3966598 B2 JP 3966598B2
- Authority
- JP
- Japan
- Prior art keywords
- server
- request
- proxy
- www
- processing
- 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
-
- 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/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/505—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
Description
【発明の属する技術分野】
本発明はサーバ選択システムに関し、特にWWWシステムをクライアント−サーバシステムと同様に使用するためのサーバ選択システムに関する。
【0002】
【従来の技術】
インターネットの発達に伴い、ほとんどのコンピュータにWWW(World Wide Web)ブラウザと呼ばれる閲覧ソフトが導入されつつある。しかも、現在のWWWシステムは、その主目的であるHTML(Hyper Text Markup language)文書の取り出しとその内容の表示機能が特に充実している。そこで、イントラネットのように、インターネットの技術を企業内の情報システムに取り入れ、情報の共有や業務支援に活用することが行われてきている。また、従来のクライアント−サーバシステムと同等の機能を、WWWシステムの技術で構築することも試みられている。ところが、WWWシステムは、従来のクライアント−サーバシステムに比べ、機能不足な点が多い。そのため、個々の目的に応じて、以下のような対応が行われている。
【0003】
第1に情報の集中に関する問題がある。インターネットでは、HTTP(Hyper Text Transfer Protocol)の下位プロトコルとしてTCP(Transmission Control Protocol) /IP(Internet Protocol) を使用している。このプロトコルでは、通信相手の宛先情報としてのIPアドレスを使用する。この環境で通信量が集中するWWWサーバの負荷分散を行う装置として、1つのIPアドレスをもつTCP/IPプロトコルのパケットを複数のWWWサーバの計算機に分散させる装置(負荷分散装置)がある。例えば、ルータやスイッチング装置などである。
【0004】
また、インターネットで一般的に使用されている相手システムを特定する名前[DNS(Domain Name System)名]とIPアドレスのマッピング機構の機能を応用することもできる。例えば、1つのDNS名に複数のIPアドレスを割り付け、DNSへのDNS名からIPアドレスのマッピング要求がある毎にラウンドロビン方式で、マッピングするIPアドレスを分散使用する方法(以下、「DNS負荷分散」という)がある。
【0005】
第2に、通信の継続性に関する問題がある。現状のWWWシステムの通信は、HTTPというプロトコルで実現されている。このプロトコルでは、WWWブラウザとWWWサーバとの間は、WWWブラウザからの1回の要求に対するWWWサーバからの1回の応答で1つの通信が完結する。すなわち、通信間の継続性がない。よって、WWWブラウザとWWWサーバの間でのセション管理型の通信機能は、一般的なWWWブラウザとWWWサーバとでは提供されない。このため、WWWサーバまたはWWWサーバ上のサービス提供プログラムでセション管理機能を独自に提供するものがある。これらは、WWWサーバまたはミドルウェアとして提供される製品であり、その製品固有の機能としてセション管理機能を提供している。これらの機能は、何らかの方法により、サーバ側で決定したセション情報をWWWブラウザとの間で受け渡すことで実現されている。セション情報の受け渡し方法としては、Cookieを使用するもの、WWWブラウザ画像上には表示されないデータとして応答のHTML文書内に埋め込むもの、次回要求のアドレス情報に付加するものなどがある。なお、「Cookie」とは、インターネット上のWWWサーバからクライアント側に情報ファイルを送り、保存しておくための機能である。
【0006】
このように、個々に発生した問題に応じて、それを補う新たな技術が投入されている。
【0007】
【発明が解決しようとする課題】
しかし、従来のWWWシステムでは、抜本的な機能改善は行われていなかった。そのため、以下のような問題がある。
【0008】
まず、従来技術で説明した第1の問題に関する従来の対処方法では、負荷分散装置自体に負荷が集中するという問題に関しては解決されていない。しかも、負荷分散装置の故障に対する防御が弱い等の問題もある。また、負荷分散装置を用いた方式では、TCP/IPの各通信毎に実際にどのWWWサーバと通信されるかが不確定である(各通信毎に因果関係がない)ため、TCP/IPを下位プロトコルとして使用するHTTP上のユーザデータを使用したセション管理のように、一定の範囲の通信を同一WWWサーバとの間で行うのが困難である点に問題がある。
【0009】
また、DNS負荷分散は、一般的に、IPアドレスの使用者側(例えば、WWWブラウザが動作している計算機)が一回、DNS名をIPアドレスにマッピングした後は、そのマッピング結果を使用者側に保持して長期間使用するため、タイムリな負荷分散にならないという問題点がある。
【0010】
従来技術で説明した第2の問題に関する従来の対処方法では、セキュリティ上の問題(Cookie方式)、HTML文書の作成規則が制約される問題(HTML文書埋め込み方式)がある。さらに、いずれの方式においても、WWWサーバまたはWWWブラウザの機能の拡張が必要である。ところが、WWWサーバやWWWブラウザの機能を拡張するには、それぞれの製品毎に対応しなければならず、煩雑な作業が必要である。
【0011】
このように、WWWシステムを用いて、既存のクライアント−サーバシステムと同様の処理を行うには不足した機能が多数あり、それらの対処が不十分だった。本発明はこのような点に鑑みてなされたものであり、WWWシステム上で、適切な負荷分散を行うことができるサーバ選択システムを提供することを目的とする。
【0017】
【課題を解決するための手段】
上記課題を解決するために、処理を行う複数のサーバと、処理要求を行うクライアント装置とを有し、該クライアント装置が各サーバの負荷状況に応じて処理要求の相手となるサーバを選択するサーバ選択システムであって、少なくとも1つの前記サーバが、管理対象のサーバに対して出された処理要求を収集し、該管理対象のサーバの負荷情報をサーバ状態管理手段に通知するサーバ状態通知手段を有し、少なくとも1つの前記サーバが、前記サーバ状態通知手段が通知した各サーバの処理情報を取得し、複数のサーバの負荷状態を記憶する前記サーバ状態管理手段を有し、前記クライアント装置は、前記サーバ状態管理手段から各サーバの負荷情報を取得すると共にサーバ選択要求を受け取った際、取得した負荷情報に基づいて要求の出力先サーバを選択する要求分散処理手段、及び閲覧手段から処理要求を受け取ると、該閲覧手段との間でコネクションを確立して該閲覧手段のローカルの代理サーバとして機能し、前記要求分散処理手段に対してサーバ選択要求を出力し、前記要求分散処理手段が選択した前記出力先サーバに対して、前記処理要求を出力する要求中継手段を有することを特徴とするサーバ選択システムが提供される。
【0018】
このようなサーバ選択システムによれば、要求分散処理手段がサーバ状態管理手段からサーバの負荷情報を取得し、処理要求が出力された際には、クライアント装置内の要求分散処理手段によって負荷の少ないサーバが特定されるため、ネットワーク上のどこにも処理を集中させることなく適切な負荷分散を行うことができる。
【0029】
【発明の実施の形態】
以下、本発明の実施の形態を図面を参照して説明する。
図1は、本発明の負荷分散システムの原理構成図である。処理機能を提供するサーバ(機能提供用のプログラムを実行することにより実現される処理機能)1a,2aがサーバ装置(処理機能の提供を行う計算機)1,2内に導入されている。各サーバ1a,2aは、同様の機能を提供している。サーバ装置1,2は、個別のLAN(Local Area Network)10,20に接続されている。各LAN10,20には、サーバ状態通知手段3a,4aを有するサーバ装置3,4が設けられている。サーバ状態通知手段3a,4aは、管理対象として特定されたサーバ1a,2aに対して出された処理要求を収集する。
【0030】
サーバ状態管理手段5aを有するサーバ装置5は、広域ネットワーク30を介してLAN10,20に接続されている。サーバ状態管理手段5aは、サーバ状態通知手段3a,4aが収集したサーバ1a,2aの処理量を取得し、複数のサーバ1a,2aの負荷状態を管理する。
【0031】
クライアント装置6は、広域ネットワーク30を介してサーバ装置5に接続されている。クライアント装置6は、要求分散処理手段6a、及び要求中継手段6bを有している。要求分散処理手段6aは、サーバ状態管理手段5aから複数のサーバ1a,2aの負荷情報を取得し、サーバ選択要求を受け取ると、負荷情報に基づいて要求の出力先を決定する。要求中継手段6bは、処理要求を受け取ると、要求分散処理手段6aに対してサーバ選択要求を出力し、要求分散処理手段6aが決定したサーバに対して、処理要求を出力する。
【0032】
このような負荷分散システムによれば、サーバ1a,2aに対して出された処理要求をサーバ状態通知手段3a、4aが収集する。収集された処理要求は、サーバ状態管理手段5aが取得し、クライアント装置の要求分散処理手段6aに提供する。
【0033】
そして、クライアント装置6より処理要求が出力されると、その処理要求は要求中継手段6bで中継される。要求中継手段6bは、要求分散処理手段6aに対してサーバ選択要求を出す。要求分散処理手段6aは、サーバ状態管理手段5aから取得したサーバ1a,2aの負荷情報を元に、負荷の少ないサーバを決定し、要求中継手段6bへ返す。要求中継手段6bは、要求分散処理手段6aが決定したサーバに対して処理要求を出力する。
【0034】
このようにしてクライアント装置6より出された処理要求を、複数のサーバ1a,2aの中の負荷の少ない方へ割り振ることができる。このとき、負荷分散処理を各クライアント装置6内で行うため、何らかの処理(例えば、負荷分散処理等)がネットワーク上のどこかに集中するようなことがない。
【0035】
上記本発明は、WWWシステムに容易に適用することができる。すなわち、処理要求を出力するWWWブラウザと処理を提供するWWWサーバとの機能を変更せずに、有効な負荷分散が可能である。その場合、要求分散処理手段6aと要求中継手段6bとの機能は、LAN環境運用時のHTTPでの代理サーバの技術を使用して実現する。
【0036】
本来代理サーバは、インターネット上の1つの独立した計算機上で動作し、複数のWWWブラウザからの要求を、複数のWWWサーバに中継する機能を有している。また、一度中継したWWWサーバからの静的なファイル(HTMLなど)をキャッシュしておき、同一資源への要求はキャッシュした資源を返信する機能を有する。さらに、代理サーバの一部には、セキュリティ機能を有するものもある。
【0037】
一方、WWWブラウザには、一般的に代理サーバの使用の有無の指定と、使用する場合の代理サーバのDNS名(またはIPアドレス)が指定できる。WWWブラウザは、WWWサーバへの要求時、代理サーバ経由が指定されている場合、その代理サーバとの間でTCP/IPのコネクションを確立して要求を送信する。この要求のHTTPプロトコル情報としてWWWサーバのアドレス情報を付加する。このとき、WWWサーバへ直接コネクションを接続することはない。また、TCP/IPプロトコルには、同一マシン上の通信相手プログラムと他のマシン上の通信相手プログラムを区別しないという特性がある。
【0038】
そこで、一般的な機能を有するWWWブラウザと同一のマシン上に、代理サーバ(以下、「ローカル代理サーバ」という)を動作させることで、本発明の負荷分散システムをWWWシステムに適用する。また、ローカル代理サーバを用いれば、WWWブラウザとWWWサーバとの間で、継続したセション管理も可能となるなど、従来のクライアント−サーバ型のシステムと同様の様々な機能を提供することができる。
【0039】
以下に、ローカル代理サーバを用いて、クライアント−サーバ型と同等の機能をWWWシステムで構築するための実施の形態について説明する。
図2は、本発明の実施の形態におけるシステム構成図である。WWWブラウザ110とローカル代理サーバ120とが実行されているクライアント装置100は、LAN40を介して、代理サーバ210が実行されているサーバ装置200に接続されている。サーバ装置200は、インターネット50を介して、WWWサーバ310が実行されているサーバ装置300に接続されている。ここで、クライアント装置100のDNS名を「own.a.co.jp 」とし、代理サーバ210が機能するサーバ装置200のDNS名を「proxy.a.co.jp 」とし、WWWサーバ310の機能するサーバ装置300のDNS名を「host.a.co.jp」とする。
【0040】
WWWブラウザ110には全てのWWWサーバ310の代理サーバとして、自身の計算機上のローカル代理サーバ120を指定する(代理サーバアドレスを「own.a.co.jp 」とする)。これにより、WWWブラウザ110は全ての要求をローカル代理サーバ120に要求することになる。
【0041】
ローカル代理サーバ120には、HTTP通信中継部が設けられており、自身の実行されているクライアント装置100から提供される情報により、各要求を実際のWWWサーバまたは代理サーバに送信する。これにより、基本的な通信機能が実現される。
【0042】
この方式により、既存のWWWブラウザとWWWサーバとの機能を変更することなく、本発明に必要な機能が実現される。まず、効率的に負荷分散を行うための処理を以下に説明する。
【0043】
図3は、負荷分散のための構成を示す図である。負荷分散処理のために、ローカル代理サーバ120にはHTTP通信中継部121、負荷依存要求分散処理部122、及びサーバ状態受信部123が設けられている。HTTP通信中継部121は、各要求を実際のWWWサーバ、または代理サーバに送信する。負荷依存要求分散処理部122は、サーバ状態受信部123から各サーバの稼働状況に関する情報を受け取り、WWWブラウザ110からの要求に応じて、要求された処理を提供しているWWWサーバの中で負荷の少ないものを特定する。サーバ状態受信部123は、サーバ状態管理部510から、ネットワークに接続されているサーバの稼働状況を受け取り、負荷依存要求分散処理部122に渡す。
【0044】
WWWサーバ310が動作しているサーバ装置300と同一のIPセグメントに接続されたサーバ装置400には、サーバ状態通知部410が設けられている。サーバ状態通知部410は、状態監視対象のWWWサーバ310のアドレス(TCP/IPでは、IPアドレスとポート番号の対)を認識している。例えば、サーバ装置300のIPアドレスが「A」、WWWサーバ310のポート番号が「80」であり、サーバ装置400のIPアドレスが「B」、サーバ状態通知部410のポート番号が「1001」である場合、WWWサーバ310に対する処理要求のパケットには、IPアドレス「A」、ポート番号「80」の情報が付加されている。このパケットは、サーバ装置300と同一IPセグメントに接続された全ての装置に入力される。そして、WWWサーバ310は、IPアドレスとポート番号により、自分宛の要求であることを認識する。同時に、サーバ状態通知部410は、WWWサーバ310宛の要求であることを認識する。そして、WWWサーバ310へのIPパケット数を計測し(単位時間あたりのパケット数で検出)、WWWサーバ310への負荷を認識する。
【0045】
さらに、サーバ状態通知部410は、WWWサーバ310の負荷状態を一定時間間隔の統計情報として、サーバ装置500のサーバ状態管理部510へ通知する。また、WWWサーバ310の状態の変化(起動→停止/停止→起動)を認識した時点で、WWWサーバ310の動作状態の情報を、サーバ状態通知部510に通知する。これにより、WWWサーバ310の負荷状態を通知することによる通信路上の負荷の増加を最小限に抑えることができる。
【0046】
サーバ状態管理部510は、登録されたサーバ状態受信部123に、WWWシステム上のWWWサーバ310の状態を通知する。サーバ状態管理部510への各サーバ状態受信部123の登録は、WWWブラウザ110起動時に、1回のみ、サーバ状態受信部123からのHTTP要求(要求データの内容は、予め規定しておく)をサーバ状態管理部510へ送信することで実施する。
【0047】
ここで、サーバ状態管理部510からサーバ状態受信部123への状態の通知には、以下のいずれかの手段を取ることができる。
1つめは、WWWサーバの状態の遷移を認識した時点で、各サーバ状態受信部へ通知する方式である。WWWサーバの状態の遷移は、サーバ状態通知部からの状態通知をもって認識する。この場合のサーバ状態の通知は、サーバ状態管理部510から主導的にサーバ状態受信部にコネクションを確立して、状態を通知する。
【0048】
図4は、状態遷移発生を契機とする状態の通知方式を示す図である。サーバ状態通知部410は、任意のタイミングでWWWサーバの状態をサーバ状態管理部510に通知する(S1)。すると、サーバ状態管理部510は、登録されているクライアント装置100,600,700の各サーバ状態受信部123,623,723へ、サーバの状態を通知する。
【0049】
2つめは、WWWブラウザからの要求の発生毎に、HTTP通信中継部からの指示により、サーバ状態受信部123から主導的にサーバ状態管理部510へ状態の獲得要求を出すことで実現する方式である。
【0050】
図5は、WWWブラウザからの要求を契機に状態を通知する方式を示す図である。WWWブラウザ110からWWWサーバへの要求があると(S11)、HTTP通信中継部121が、どのサーバへ要求を出すべきかの問い合わせを負荷依存要求分散処理部122に対して行う(S12)。すると、負荷依存要求分散処理部122が、サーバ状態受信部123に対して、サーバ状態の更新を依頼する(S13)。サーバ状態受信部123は、サーバ状態管理部510に、サーバ状態の通知を要求する(S14)。サーバ状態管理部510は、要求のあったサーバ状態受信部123に最新のサーバ状態を通知する(S15)。サーバ状態受信部123は、最新の状態を負荷依存要求分散処理部122に通知する(S16)。負荷依存要求分散処理部122は、最新のサーバ状態により負荷の最も少ないサーバを選択して、HTTP通信中継部121に通知する(S17)。HTTP通信中継部121は、負荷依存要求分散処理部122から通知されたWWWサーバに要求を送信する(S18)。
【0051】
3つめは、一定時間間隔で、サーバ状態管理部510から主導的にサーバ状態受信部123へ通知する方式である。
ここで、負荷分散のためには、同じ処理機能を提供するサーバが複数存在する必要がある。このように、複数のサーバで同じ機能を提供する場合には、それらのWWWサーバを統合したアドレス(DNS名:代表DNS名)が用いられる。このとき、サーバ状態管理部510からサーバ状態受信部123へ、実在の全てのWWWサーバの情報を負荷情報と共に通知する方式と、サーバ状態管理部510がWWWブラウザ毎に要求を処理すべきWWWサーバを特定し、サーバ状態管理部510からサーバ状態受信部123へ、各WWWブラウザの要求を処理すべきWWWサーバのアドレスを通知する方式とのいずれかを採用することができる。前者の場合、負荷依存要求分散処理部122がサーバの負荷と動作状況を判断し、処理要求を出力すべきWWWサーバを決定する。これにより、WWWシステム全体としての負荷分散を実現する。後者の場合、サーバ状態管理部510が主導的に、WWWシステム全体の負荷を制御するため、負荷分散の一元管理ができる。以下の説明では、前者の例を用いる。
【0052】
なお、負荷分散処理により実際の処理を行わせるWWWサーバが決定したら、WWWブラウザ110の要求するアドレスの変換処理を行う必要がある。以下に、アドレス変換方式について説明する。
【0053】
図6は、負荷依存要求分散処理部におけるアドレス変換方式を説明する図である。この例では、代表DNS名「host.a.co.jp」に対して、実際には3つのWWWサーバ301,302,303が処理を行っている。これらWWWサーバ301〜303のDNS名は、それぞれ「host1.a.co.jp 」「host2.a.co.jp 」「host3.a.co.jp 」である。
【0054】
サーバ状態受信部123は、サーバ状態管理部510から受け取った情報をサーバ状態管理テーブル123aにより管理している。負荷依存要求分散処理部122は、サーバ状態受信部123を介して、サーバ状態管理テーブル123aを参照することができる。サーバ状態管理テーブル123aには、「代表DNS」、「実DNS」、「負荷」、「比率」、及び「状態」の欄が設けられている。「代表DNS」には、負荷分散を行うべきWWWサーバ群の代表DNS名が登録されている。「実DNS」には、対応する代表DNSに含まれる実際のWWWサーバの個々のDNS名が登録されている。「負荷」には、対応するWWWサーバの単位時間あたりの負荷が設定されている。「比率」には、あるWWWサーバの処理速度を基準として、対応するWWWサーバの処理速度を相対的に示している。この例では、「host1.a.co.jp 」に対応するWWWサーバ301の処理速度は基準の2倍であり、「host2.a.co.jp 」に対応するWWWサーバ302の処理速度は基準値と同等であり、「host3.a.co.jp 」に対応するWWWサーバ303の処理速度は基準の2倍である。「状態」には、対応するWWWサーバの状態が「稼働」か「停止」かで示されている。
【0055】
この例では、WWWサーバ301は稼働中であり、負荷が「20」である。また、WWWサーバ302は稼働中であり、負荷が「15」である。さらに、WWWサーバ303は停止しており、負荷が「0」である。
【0056】
この状態で、WWWブラウザ110から代表DNS「host.a.co.jp」を指定した処理要求が出力されると、そのDNS名がHTTP通信中継部121から負荷依存要求分散処理部122に送られる。負荷依存要求分散処理部122は、サーバ状態管理テーブル123aを参照して、稼働中のWWWサーバの中で相対処理量が少ないものを特定する。ここで、相対処理量は、「負荷」の値を、「比率」の値で除算することで求められる。図6の例では、稼働中のWWWサーバは、「host1.a.co.jp 」と「host2.a.co.jp 」との2つである。これらの相対処理量を求めると、「host1.a.co.jp 」については「20÷2=10」となり、「host2.a.co.jp 」については「15÷1=15」となる。これにより、「host1.a.co.jp 」の方が処理余力があると判断する。そして、負荷依存要求分散処理部122は、WWWブラウザ110からの処理要求を、DNS名が「host1.a.co.jp 」であるWWWサーバ302に処理させることを決定する。
【0057】
HTTP通信中継部121は、WWWブラウザ110が出力した代表DNS名「host.a.co.jp」を負荷依存要求分散処理部122が決定した実DNS名「host1.a.co.jp 」に変換し、処理要求をネットワーク上に出力する。すると、実DNS名「host1.a.co.jp 」に基づいて、処理要求がWWWサーバ301に渡され、所望の処理が行われる。
【0058】
以上のようにして、負荷分散を効率的に行うことが可能となる。なお、サーバ装置500(図3に示す)に対して命令を入力することにより、各サーバの状態を任意に変更することも可能である。WWWサーバの保守作業の際に、サーバ状態管理部510におけるそのWWWサーバの状態を「停止」に固定しておけば、保守作業中のWWWサーバに対して処理要求が出力されることがなくなり、保守点検作業が容易となる。
【0059】
図7は、サーバ状態管理部へ任意の状態を指示するための構成を示す図である。システム管理者による端末装置501の操作、またはシステムプログラムからの要求により、コマンドプログラム520に状態変更コマンドが投入される(S21)。コマンドプログラム520は、サーバ状態管理部510に状態遷移の通知を行う(S22)。この通知は、サーバ状態通知部410(図3に示す)がサーバ状態管理部510へ通知するものと同様である。ただし、コマンドプログラム520からの設定の内容は、設定解除の指令があるまで固定される。設定解除の指令は、端末装置501の操作、またはシステムプログラムからの要求により、コマンドプログラム520に投入される。サーバ状態管理部510は、サーバ状態受信部123に、サーバの状態を通知する(S23)。サーバ状態受信部123は、サーバ状態管理部510からの通知に応じてサーバ状態管理テーブルの状態を変更する。図の例では、「host2.a.co.jp 」のWWWサーバの状態が「停止」に変更されている。このとき同時に、「負荷」が「0」に変更され、「比率」が「3」に変更されている。
【0060】
このように、任意のWWWサーバの状態を変更することで、特定のサーバの負荷を軽減したり、保守作業中のWWWサーバへの要求が出力されないようにすることができる。
【0061】
ところで、HTTPは、1つの要求に対する1つの応答で処理が完結する一問一答型のプロトコルである。このようなプロトコルを用い、また、WWWブラウザとWWWサーバとの機能拡張をすることなく、継続的なセションを管理の通信を実現する方式を以下に説明する。
【0062】
図8は、継続的なセション管理を実現するための構成を示す図である。セション管理を実現するために、ローカル代理サーバ120内にセション管理部124が設けられている。また、WWWサーバ310が実行されているサーバ装置300にもセション管理部320が設けられている。ここで、サーバ装置300内のセション管理部320をマスターとし、ローカル代理サーバ120内のセション管理部124をスレーブとする。
【0063】
HTTP通信中継部121は、セション管理対象資源データベース121aを有している。スレーブのセション管理部124は、クライアントセション情報と要求の対象資源のURLとの対を登録するためのクライアント管理データベース124aを有している。マスターのセション管理部320は、セション情報データベース321を有している。
【0064】
セション管理対象資源データベース121aには、セション管理を行うべきサーバ側のプログラム名が登録されている。この例では、「SESSSTART 」で示されたプログラム名「http://www.host.a.co.jp/cgi-bin/start 」が、セション管理を開始させるためのプログラム名である。また、「SESSEND 」で示されたプログラム名「http://www.host.a.co.jp/cgi-bin/end 」が、セション管理を終了するためのプログラム名である。
【0065】
クライアント管理データベース124aには、クライアントセション情報とURLとの対が格納される。セション情報データベース321には、クライアントセション情報とサーバセション情報との対が格納される。
【0066】
また、サーバ装置300では、サービス提供プログラム330が各種サービスを提供している。この例では、WWWブラウザからの要求毎にCGI(Common Gateway Interface)というインタフェースでWWWサーバから起動されるプログラムの形式であるものとする。その他にも、一般的に普及している他のインタフェースを用いることができる。例えば、Netscape社のNSAPIやMicrosoft 社のISAPI等がある。
【0067】
ここで、WWWブラウザ110からHTTP通信中継部121へ、セション管理対象資源データベース121aに設定された特定のWWWサーバの特定の資源への要求(セション管理開始要求)が通知された場合、以下のような処理を行う。
ここで、特定のWWWサーバの特定の資源への要求は、URL(Uniform Resource Locator)で指定される。URLは、HTTPで資源を特定するために使用する資源毎のアドレス情報であり、DNS名とWWWサーバ上の資源名で構成される。
【0068】
図9は、セション管理を開始する際の処理手順を示すフローチャートの前半である。この処理をステップ番号に沿って説明する。
[S31]WWWブラウザ110がセション管理開始要求プログラム(http://www.host.a.co.jp/cgi-bin/start )に対する要求を出す。
[S32]HTTP通信中継部121が、セション管理対象資源データベース121aを参照することにより、セション管理を開始すべきことを認識し、セション管理部124にクライアントセション情報の採番依頼を出力する。
[S33]セション管理部124が、クライアントセション情報を採番する。ここで、クライアントセション情報とは、要求を出力したWWWブラウザを特定するために用いられる識別番号である。このクライアントセション情報を用いることで、複数のWWWブラウザが同時に個別のセション管理の通信を行っても、それぞれの通信を区別することができる。
[S34]セション管理部124が、クライアントセション情報とURLとの対をクライアントセション管理データベース124aに登録する。
[S35]HTTP通信中継部121が、クライアントセション情報とURLとを、要求のHTTPのヘッダ情報に付加する。
[S36]HTTP通信中継部121が、要求の宛先をセション管理部320に変更し、その要求を送信する。
[S37]WWWサーバ310が、要求をセション管理部320に受け渡す。
[S38]セション管理部320が、サーバセション情報を採番する。
[S39]セション管理部320が、クライアントセション情報とサーバセション情報との対(この対をセションIDとする)を、セション情報データベース321に登録する。ここで、サーバセション情報とは、複数のWWWブラウザとの間で確立したセションを区別するための識別番号である。
[S40]セション管理部320が、セションIDをHTTPヘッダに付加する。
[S41]セション管理部320が、HTTPヘッダのURLを元の宛先URLに復元し、サービス提供プログラム330へ渡す。この際、セションIDをCGI上のデータとしてサービス提供プログラム330に通知する。サービス提供プログラム330は、このセションIDの付加により、以降、同一のセションIDが付加された要求は、同一のWWWブラウザからの同一のセション内の要求であることを認識できる。
[S42]サービス提供プログラム330が処理を実施し、応答をセション管理部320へ返却する。
【0069】
図10は、セション管理を開始する際の処理手順を示すフローチャートの後半である。
[S43]セション管理部320が、セションIDからクライアントセション情報を取り出す。
[S44]セション管理部320が、クライアントセション情報をHTTPヘッダに付加し(CGIインタフェースで設定可能)、WWWサーバ310に応答を送信する。
[S45]WWWサーバ310が、応答をWWWブラウザ110に送信する。
[S46]HTTP通信中継部121が、WWWサーバ310からの応答を受信し、HTTPの応答のヘッダ情報にクライアントセション情報が付加されているか否かを確認する。クライアントセション情報が付加されていた場合、その情報をセション管理部124に渡す。
[S47]セション管理部124が、クライアントセション管理データベース124aを参照し、セションの有効性を検証する。このセションの有効性の検証は、WWWサーバ310からの応答が返されるまでに、WWWブラウザ110から要求の中止指令が入力される場合があるため、その中止処理の有無を検査するものである。
【0070】
すなわち、セション管理の処理をWWWサーバへ要求し、その応答が返されるまでの間にWWWブラウザ110からセションコネクション切断の指令が入力されると、セション管理部124が、クライアント管理データベース124a内の対応する情報を削除する。これにより、クライアント装置100側ではコネクションが切断されたことになる。ただし、その後WWWサーバ310から以前に要求した処理の応答が返される場合がある。そこで、応答を受け取ったHTTP通信中継部121は、その応答に該当するクライアントセション情報の有無をセション管理部124に問い合わせることで、そのセションの有効性を検証するのでる。
[S48]HTTP通信中継部121が、セション管理部124によるセションの有効性の検証結果が、有効であったか否かを判断する。有効であればステップS50に進み、有効でなければステップS49に進む。
[S49]HTTP通信中継部121が、セション管理部320へ異常を通知し、処理を終了する。すなわち、セションの有効性の検証結果が無効であれば、コネクションが切断されていると認識し、その旨のセション管理部320側へ渡すことで、セション管理部320側においても、該当するセションのセションIDをセション情報データベース321から削除できる。
[S50]HTTP通信中継部121が、WWWブラウザ110へ応答内容を渡す。
[S51]WWWブラウザ110が、応答を受信し処理が終了する。
【0071】
以上が、WWWブラウザがセション管理開始要求を出力した際の処理である。これにより、WWWサーバ310とWWWブラウザ110との間で継続したセションコネクションが確立する。以降のWWWブラウザ110からの要求のうち、クライアントセション管理データベース124aにセションが登録されている資源への要求には、登録されているクライアントセション情報を要求に付加して送信する。これにより、セション管理装置320では,セション管理データベース321の情報から、同一セションの要求であることを認識できる。
【0072】
以下に、確立されたセション中の処理要求をWWWブラウザ110が出力した際の処理手順を説明する。
図11は、管理されているセション上での要求の処理手順を示すフローチャートの前半である。
[S61]WWWブラウザ110が、同一セション中の要求(セションが確立されているWWWサーバに対する要求)を出力する。
[S62]HTTP通信中継部121が、要求の対象資源のURLがすでに確立されたセションのものかをセション管理部124に問い合わせる。
[S63]セション管理部124が、要求対象資源のURLのIPアドレスを含むクライアントセション情報を、クライアントセション管理データベースから検索し、登録されているクライアントセション情報をHTTP通信中継部121へ返却する。
[S64]HTTP通信中継部121が、セション中と認識し、クライアントセション情報とURLとを要求のHTTPヘッダ情報に付加し、要求の宛先をセション管理部320に変更して、HTTPの要求を送信する。
[S65]WWWサーバ310が、要求をセション管理部320へ渡す。
[S66]セション管理部320が、HTTPヘッダのクライアントセション情報を認識し、そのクライアントセション情報を含むセションIDをセション情報データベース321から検索する。
[S67]セション管理部320が、セションIDをHTTPヘッダに付加する。
[S68]セション管理部320が、HTTPヘッダに付加されている要求対象資源のURLをHTTP要求の宛先URLに復元し、HTTP要求をサービス提供プログラム330に渡す。
[S69]サービス提供プログラム330が、要求された処理を実行し、応答をセション管理部320に返す。このとき、HTTPヘッダに付加されるセションIDと、独自に管理しているセションIDの一致により、先に確立したセション上の処理要求であることを認識する。また、応答のHTTPヘッダには、要求のセションIDを含める。
【0073】
図12は、管理されているセション上での要求の処理手順を示すフローチャートの後半である。
[S70]セション管理部320が、セションIDからクライアントセション情報を取り出す。
[S71]セション管理部320が、クライアントセション情報をHTTPヘッダに付加し、WWWブラウザ110への応答を出力する。
[S72]WWWサーバ310が、応答をWWWブラウザ110に送信する。
[S73]HTTP通信中継部121が、HTTPヘッダからクライアントセション情報を取り出す。
[S74]セション管理部124が、クライアントセション管理データベース124aからセションの有効性を検証する。
[S75]HTTP通信中継部121は、セションは有効か否かを判断する。有効であればステップS77に進み、有効でなければステップS76に進む。
[S76]HTTP通信中継部121が、セション管理部320へ異常を通知し、処理を終了する。
[S77]HTTP通信中継部121が、WWWブラウザ110に応答を送信する。
[S78]WWWブラウザ110が応答を受信し、処理が終了する。
【0074】
以上が、確立されたセション上での処理である。次に、セション管理を終了する際の手順を説明する。セションの切断は、HTTP通信中継部121のセション管理対象資源データベース121aに指定された特定の資源への要求(セション管理終了要求)を受信した場合にHTTP通信中継部121により行われる。
【0075】
図13は、セション管理を終了する際の処理手順を示すフローチャートの前半である。
[S81]WWWブラウザ110が、セション管理終了要求を出力する。すなわち、プログラム名「http://www.host.a.co.jp/cgi-bin/end 」を指定した処理要求を出力する。
[S82]HTTP通信中継部121が、要求対象資源のURLがすでに確立されたセションのものかをセション管理部124に問い合わせる。
[S83]セション管理部124が、要求対象資源のURLのIPアドレスを含むクライアントセション情報を検索し、登録されているクライアントセション情報を返却する。
[S84]HTTP通信中継部121が、セションが確立されていると認識し、クライアントセション情報とURLとを要求のHTTPヘッダ情報に付加し、要求の宛先をセション管理部320に変更して、送信する。
[S85]WWWサーバ310が、要求をセション管理部320へ渡す。
[S86]セション管理部320が、HTTPヘッダのクライアントセション情報を認識し、セション情報データベース321から対象のセションIDを削除する。
[S87]セション管理部320が、HTTP通信中継部121に応答を送信する。
[S88]セション管理部320が、サービス提供プログラム330にセション管理の終了を通知する。
[S89]サービス提供プログラム330が、セションの終了を認識する。サーピス提供プログラム330は、これにより独自に管埋しているセションIDを破棄する。
【0076】
図14は、セション管理を終了する際の処理手順を示すフローチャートの後半である。
[S90]WWWサーバ310が、応答をWWWブラウザ110に送信する。
[S91]HTTP通信中継部121が、HTTPヘッダからクライアントセション情報を取り出す。
[S92]HTTP通信中継部121が、セション管理部124にセション情報の破棄を依頼する。
[S93]セション管理部124が、該当するセション情報を破棄する。
[S94]HTTP通信中継部121が、WWWブラウザ110に応答を送信する。
[S95]WWWブラウザ110が応答を受信し、処理が終了する。
【0077】
このようにして、セション切断処理が行われる。
以上のような処理をクライアント装置とサーバ装置間で行うことにより、従来のクライアント−サーバシステムと同様の処理を、HTTPのプロトコル上で実現できる。従って、全世界に普及しているWWWブラウザとWWWサーバとが一般的に有している機能を使用して、継続したセションコネクションが可能となる。
【0078】
ところで、従来のWWWブラウザでは、要求を出力するWWWサーバに応じて、要求を中継する代理サーバを使い分けることができなかった。そこで、クライアント装置100のローカル代理サーバ120によって、WWWサーバ毎に個別の代理サーバを設定することもできる。その例を以下に示す。
【0079】
図15は、複数の代理サーバを管理するための構成を示す図である。この例では、別々のサーバ装置200,200a内に代理サーバ210,210aが設けられている。また、サーバ装置300,300a内には、それぞれ個別のWWWサーバ310,310aが設けられている。
【0080】
さらに、複数の代理サーバ210,210aを管理するために、ローカル代理サーバ120内に代理サーバアドレス管理部125が設けられている。代理サーバアドレス管理部125は、代理サーバアドレス管理データベース125aを有している。代理サーバアドレス管理データベース125aは、WWWブラウザ110が要求を出力するWWWサーバ310,310aのDNS名に対応して、そのWWWサーバへの要求を中継すべき代理サーバ210,210aのDNS名が登録されている。この例では、DNS名が「host.a.co.jp」のWWWサーバ310への要求は、DNS名が「proxy.a.co.jp 」の代理サーバ210が中継し、DNS名が「host1.a.co.jp 」のWWWサーバ310aへの要求は、DNS名が「proxy1.a.co.jp」の代理サーバ210aが中継するように設定されている。
【0081】
また、WWWブラウザ110では、代理サーバの指定として、クライアント装置100自身のDNS名(「own.a.co.jp 」)を指定している。
HTTP通信中継部121は、WWWブラウザ110からの要求を受信する毎に、その要求の対象資源のURLから、宛先のWWWサーバのアドレス(DNS名またはIPアドレス)を取り出す。そして、取り出した宛先に対応する代理サーバを、代理サーバアドレス管理部125に問い合わせる。代理サーバアドレス管理部125は、与えられた宛先のアドレスの対応する代理サーバのアドレスを、代理サーバアドレス管理データベース125aから検索して、HTTP通信中継部121に返却する。HTTP通信中継部121は、代理サーバアドレス管理部125が送り返してきた代理サーバのアドレスを指定して、要求を出力する。
【0082】
これにより、WWWサーバに応じた代理サーバの使い分けが可能となる。なお、代理サーバアドレス管理データベース125aの設定は、WWWブラウザ110等からユーザが手動で設定することもできるが、WWWシステム上の任意の計算機上の代理サーバアドレス配布部から配布される情報に基づいて、動的に内容を変更することもできる。
【0083】
図16は、代理サーバの指定を動的に変更するための構成を示す図である。図に示すように、LAN40には複数のクライアント装置100,600が接続されている。それぞれのクライアント装置100,600のローカル代理サーバ120,620内に代理サーバアドレス管理部125,625が設けられており、代理サーバアドレス管理部125,625が代理サーバアドレス管理データベース125a,625aを有している。
【0084】
LAN40には、サーバ装置800が接続されている。サーバ装置800には、代理サーバアドレス配布部810が設けられている。代理サーバアドレス配布部810は、サーバ装置800での命令の実行により、指定されたWWWブラウザの動作するクライアント装置100,600上の代理サーバアドレス管理部125,625に対して、代理サーバアドレス情報を配布する。配布のためのプロトコルには、HTTPを使用する。
【0085】
代理サーバアドレス管理部125,625は、HTTP上の代理サーバアドレス配布部810からの代理サーバアドレス情報の配布メッセージを受信するため、特定のTCP/IPのポート番号でTCP/IPコネクションの確立を、絶えず受け付け待ちの状態とする。代理サーバアドレス配布部810からの配布メッセージを受信した代理サーバアドレス管理部125,625は、その配布メッセージに含まれる代理サーバアドレス情報を代理サーバアドレス管理データベース125a,625aに反映させる。
【0086】
これにより、企業内のLANなどで多数のクライアント装置が接続されている場合に、各クライアント装置内の代理サーバの指定に関する設定を、代理サーバアドレス配布部810から変更することができる。その結果、システム管理者の作業量が減少する。この効果は、ネットワークが大規模になるほど大きくなる。
【0087】
また、使用中の代理サーバが故障した場合には、即座に別の代理サーバを設定し、各WWWブラウザに対して、新たに設定した代理サーバを指定させることができる。すなわち、タイムリーな代理サーバの変更が可能である。
【0088】
さらに、各クライアント装置内での代理サーバの指定は、代理サーバアドレス管理部が管理しており、その内容を代理サーバアドレス配布部810から変更することができるため、LAN内に複数の種類のWWWブラウザが混在しており、WWWブラウザ毎に代理サーバのアドレス設定方法が異なる場合においても、代理サーバアドレス配布部810により一括して設定の変更が可能である。
【0089】
ところで、複数の代理サーバが存在し、あるWWWサーバに対する要求を、どの代理サーバを介してでも送信できる場合、代理サーバ間での負荷分散を行うこともできる。そこで、図3に示したようなWWWサーバの負荷分散処理機能を用いて、代理サーバの負荷分散を行うことが考えられる。
【0090】
図17は、代理サーバの負荷分散機能を示す図である。この図に示す構成要素は、図3及び図15において同じ符号を付して説明した通りの機能に加え、以下のような機能を更に有している。
【0091】
サーバ状態通知部410は、WWWサーバ310の状態だけでなく代理サーバ210,210aの状態も、サーバ状態管理部510へ通知する。サーバ状態管理部510は、サーバ状態通知部410から送られた各サーバの状態を、クライアント装置100のサーバ状態受信部123へ通知する。サーバ状態受信部123は、代理サーバ210,210aの状態を含めて、サーバ状態管理テーブル123aに登録する。代理サーバアドレス管理部125は、代理サーバアドレス管理データベース125aにおいて、1つのWWWサーバのDNS名に対して、複数の代理サーバのDNS名を対応付けることができる。HTTP通信中継部121は、WWWブラウザ110からの特定のWWWサーバに対する要求を受け取ると、代理サーバアドレス管理部125に対し、指定されたWWWサーバに対応する代理サーバのDNS名を要求する。このとき、該当する代理サーバが複数存在する場合には、代理サーバアドレス管理部125が負荷依存要求分散処理部122に対し、最も負荷の少ない代理サーバの検出を依頼する。負荷依存要求分散処理部122は、HTTP通信中継部121の依頼に応じ、負荷の少ない代理サーバをサーバ状態管理テーブル123aから検出し、代理サーバアドレス管理部125へ返す。代理サーバアドレス管理部125は、負荷依存要求分散処理部122が選んだ代理サーバのDNS名をHTTP通信中継部121へ返す。HTTP通信中継部121は、返されたDNS名の代理サーバへ要求を出力する。
【0092】
このような代理サーバの負荷分散処理は、WWWサーバの負荷分散と同時に行うことができる。その処理の詳細を以下に説明する。
図18は、WWWサーバと代理サーバとの負荷分散を同時に行うための処理手順を示すフローチャートの前半である。このフローチャートをステップ番号に沿って説明する。
[S101]HTTP通信中継部121が、負荷依存要求分散処理部122へ、要求URLのWWWサーバのDNS名から最適なWWWサーバの選択を依頼する。
[S102]負荷依存要求分散処理部122が、HTTP通信中継部121からのWWWサーバ選択依頼におけるWWWサーバのDNS名から、そのDNS名に対応した最適なWWWサーバをサーバ状態管理テーブル123aより検索する。[S103]負荷依存要求分散処理部122が、目的とする稼働状態のWWWサーバがあったかどうかを判断し、該当するWWWサーバがあればステップS105に進み、なければステップS104に進む。
[S104]HTTP通信中継部121が、WWWサーバ異常のエラー応答を作成し、WWWブラウザ110に返信する。
[S105]HTTP通信中継部121が、負荷依存要求分散処理部122から通知されたWWWサーバへの要求に、元の要求の宛先を変更する。
[S106]HTTP通信中継部121が、代理サーバアドレス管理部125に、WWWサーバへの要求で使用する代理サーバの選択を依頼する。
[S107]代理サーバアドレス管理部125が、HTTP通信中継部121からの代理サーバアドレス選択依頼におけるWWWサーバのDNS名から、使用可能な代理サーバのアドレスを選択する。
【0093】
図19は、WWWサーバと代理サーバとの負荷分散を同時に行うための処理手順を示すフローチャートの後半である。
[S108]代理サーバアドレス管理部は、使用可能な代理サーバが検出されたか否かを判断する。検出された場合にはステップS111に進み、検出されなかった場合にはステップS109に進む。
[S109]代理サーバアドレス管理部125が、使用可能な代理サーバがないことをHTTP通信中継部121に返信する。
[S110]HTTP通信中継部121が、WWWサーバ異常のエラー応答を作成し、WWWブラウザ110に返信する。
[S111]代理サーバアドレス管理部125が、負荷依存要求分散処理部122に代理サーバ群のDNS名を渡し、その中から負荷/状態が最適な代理サーバの選択を依頼する。
[S112]負荷依存要求分散処理部122が、代理サーバアドレス管理部125からの代理サーバ選択依頼の代理サーバ群のDNS名から、最適な代理サーバをサーバ状態管理テーブル123aより検索し、検出した代理サーバのDNS名を代理サーバアドレス管理部125へ返却する。
[S113]代理サーバアドレス管理部125が、負荷依存要求分散処理部122から返却された代理サーバのDNS名を、HTTP通信中継部121に返却する。
[S114]HTTP通信中継部121が、代理サーバアドレス管理部125から返却された代理サーバのDNS名を使用して、代理サーバ経由の通信を行う。
【0094】
このようにして、WWWサーバと代理サーバとの負荷分散を同時に行うことができる。
さらに、上記のようなローカル代理サーバを用いれば、通信される文書などの文字コードの判別を確実に行うこともできる。
【0095】
インターネットなどのWWWサーバで使用する文字コードは、統一されていない。すなわち、あるWWWサーバではEUC(Extended Unix Code)が用いられ、別のWWWサーバではShift-JIS が用いられる場合がある。従来は、このような文字コードの違いを自動認識によって判別していた。ところが、自動認識機能では、ある程度以上のデータ量がなければコード系を認識することができなかった。そのため、大きな文書を受け取った場合には、文字コードの判別が可能であったが、単純な命令文に含まれる文字のコードを判別するのは困難であった。そこで、ローカル代理サーバに属性管理機能を設けることで、文字コードの管理を行う例を以下に示す。
【0096】
図20は、文字コードの管理を行うための構成を示す図である。文字コードを管理するために、HTTP通信中継部121はコード変換部121aを有している。コード変換部121aは、WWWブラウザ110のコード系を認識しており、WWWサーバから受信した情報の文字コードを、WWWブラウザ110が対応している文字コードに変換したり、WWWサーバへ送信すべき情報をWWWサーバのコード系に応じて変換する。
【0097】
また、ローカル代理サーバ120内に、属性管理部126が設けられている。属性管理部126は、サーバ属性管理データベース126aを有している。サーバ属性管理データベース126aには、WWWサーバのDNS名に対応付けて、サーバ属性が登録されている。サーバ属性は、ここでは、そのサーバで使用しているコード系である。図の例では、DNS名が「host1.a.co.jp 」サーバ装置300aで動作するWWWサーバ310aのコード系は「EUC」であり、DNS名が「host2.a.co.jp 」のサーバ装置300bで動作するWWWサーバ310bのコード系は「Shift-JIS 」である。
【0098】
このようなシステムにおいて、WWWブラウザ110からWWWサーバへの要求があると、HTTP通信中継部121は、要求先のWWWサーバの属性を属性管理部126に問い合わせる。属性管理部126は、サーバ属性管理データベース126aを参照し、要求先のWWWサーバのDNS名から、そのWWWサーバの属性を検出し、検出した属性をHTTP通信中継部121に返す。HTTP通信中継部121では、コード変換部121aにより、WWWブラウザ110の出力した情報のコードを、送信すべきWWWサーバの属性に応じたコードに変換し、そのWWWサーバに向けて送信する。
【0099】
また、WWWサーバから情報を受け取った際にも同様に、ローカル代理サーバ120は、WWWサーバのDNS名からコード系を識別し、WWWブラウザ110の属性に応じたコードに変換してWWWブラウザ110に渡す。
【0100】
このようにして、情報の大小に関係なく、正しい文字コードへ変換することが可能となる。
なお、上記HTTP通信中継部は、中継した通信の履歴情報を保存しておくことができる。これにより、何らかの通信異常が派生した場合、その発生原因を明確にできる。すなわち、従来のWWWシステムではWWWサーバからの応答がWWWブラウザに正しく通知されたか否かの確認手段がなかった。一方、既存のクライアント−サーバ型のシステムでは、サーバからの応答のクライアントへの到達の確認が必要な場合が多い。また、実際の運用時に応答の到達確認が不要であっても、エラー等の発生時には、情報の到達の有無によりエラーの発生原因を解析できる場合が多い。そこで、本発明のローカル代理サーバを用いれば、中継した通信の履歴情報を保存しておくことで、WWWサーバからの情報の到達の有無を確認し、トラブル発生時の解析作業に役立てることができる。
【0101】
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、ローカル代理サーバ、サーバ状態通知部、サーバ状態管理部、セション管理部(マスター、スレーブ)、及び代理サーバアドレス配布部が有すべき機能の処理内容は、コンピュータで読み取り可能な記録媒体に記録されたプログラムに記述されており、このプログラムをコンピュータで実行することにより、上記処理がコンピュータで実現される。コンピュータで読み取り可能な記録媒体としては、磁気記録装置や半導体メモリ等がある。市場を流通させる場合には、CD−ROM(Compact Disk Read Only Memory) やフロッピーディスク等の可搬型記録媒体にプログラムを格納して流通させたり、ネットワークを介して接続されたコンピュータの記憶装置に格納しておき、ネットワークを通じて他のコンピュータに転送することもできる。コンピュータで実行する際には、コンピュータ内のハードディスク装置等にプログラムを格納しておき、メインメモリにロードして実行する。
【0102】
【発明の効果】
以上説明したように本発明の負荷分散システムでは、要求分散処理手段がサーバ状態管理手段からサーバの負荷情報を取得し、処理要求が出力された際には、クライアント装置内の要求分散処理手段によって負荷の少ないサーバが特定されるため、ネットワーク上のどこにも処理を集中させることなく適切な負荷分散を行うことができる。
【図面の簡単な説明】
【図1】本発明の原理構成図である。
【図2】本発明の実施の形態におけるシステム構成図である。
【図3】負荷分散のための構成を示す図である。
【図4】状態遷移発生を契機とする状態の通知方式を示す図である。
【図5】WWWブラウザからの要求を契機に状態を通知する方式を示す図である。
【図6】負荷依存要求分散処理部におけるアドレス変換方式を説明する図である。
【図7】サーバ状態管理部へ任意の状態を指示するための構成を示す図である。
【図8】継続的なセション管理を実現するための構成を示す図である。
【図9】セション管理を開始する際の処理手順を示すフローチャートの前半である。
【図10】セション管理を開始する際の処理手順を示すフローチャートの後半である。
【図11】管理されているセション上での要求の処理手順を示すフローチャートの前半である。
【図12】管理されているセション上での要求の処理手順を示すフローチャートの後半である。
【図13】セション管理を終了する際の処理手順を示すフローチャートの前半である。
【図14】セション管理を終了する際の処理手順を示すフローチャートの後半である。
【図15】複数の代理サーバを管理するための構成を示す図である。
【図16】代理サーバの指定を動的に変更するための構成を示す図である。
【図17】代理サーバの負荷分散機能を示す図である。
【図18】WWWサーバと代理サーバとの負荷分散を同時に行うための処理手順を示すフローチャートの前半である。
【図19】WWWサーバと代理サーバとの負荷分散を同時に行うための処理手順を示すフローチャートの後半である。
【図20】文字コードの管理を行うための構成を示す図である。
【符号の説明】
1,2,3,4,5 サーバ装置
1a,2a サーバ
3a,4a サーバ状態通知手段
5a サーバ状態管理手段
6 クライアント装置
6a 要求分散処理手段
6b 要求中継手段
Claims (4)
- 同一のセグメントに接続され処理を行う複数のサーバ、前記セグメントに接続され該サーバへの処理要求を中継する複数の代理サーバ、サーバ状態通知手段を有するサーバと通信可能な状態管理用サーバ、および該代理サーバと該状態管理用サーバとのそれぞれと通信可能なクライアント装置を有し、該クライアント装置が閲覧手段より送られてくる代表アドレスに基づき各サーバの負荷状況に応じて処理要求の相手となるサーバおよび処理要求を中継する代理サーバを選択するサーバ選択システムであって、
少なくとも1つの前記サーバが、前記セグメント上に出力された全てのパケットのうち前記サーバまたは前記代理サーバを宛先としたパケットを収集し、該サーバおよび該代理サーバ宛ての単位時間当たりのパケット数を示す負荷情報をサーバ状態管理手段に通知する前記サーバ状態通知手段を有し、
前記状態管理用サーバが、前記サーバ状態通知手段が通知した各サーバおよび該代理サーバの負荷情報を取得し、同じ機能を提供するサーバ群を統合した代表名に対応付けられた複数の前記サーバそれぞれと複数の前記代理サーバそれぞれとの負荷情報を前記クライアント装置に送信する前記サーバ状態管理手段を有し、
前記クライアント装置は、
前記サーバ状態管理手段から代表名に対応付けられた複数の前記サーバそれぞれと複数の前記代理サーバそれぞれとの負荷情報を取得し、代表名に対応付けられた該サーバそれぞれと該代理サーバそれぞれとに対応付けて、取得した負荷情報をサーバ状態管理テーブルに登録するサーバ状態受信手段と、
代表名を指定したサーバ選択要求を受け取ると、前記サーバ状態管理テーブルを参照し、該サーバ選択要求で指定された代表名に対応付けられたサーバに設定された負荷情報に基づいて該サーバの負荷を判断し、負荷の少ないサーバを出力先サーバとして選択し、該出力先サーバを指定した代理サーバ選択要求を受け取ると、前記サーバと該サーバへの処理要求を中継する1つ以上の代理サーバとの対応関係が予め登録された代理サーバ管理データベースを参照し、該代理サーバ選択要求で指定された出力先サーバに対応する代理サーバを取得し、前記サーバ状態管理テーブルを参照し、取得した代理サーバのうち負荷の少ない代理サーバを中継先代理サーバとして選択する要求分散処理手段と、
前記閲覧手段から代表名を指定した処理要求を受け取ると、該閲覧手段との間でコネクションを確立して該閲覧手段のローカルの代理サーバとして機能し、前記要求分散処理手段に対して代表名を指定したサーバ選択要求を出力し、前記要求分散処理手段から選択された前記出力先サーバを受け取ると、前記要求分散処理手段が選択した前記出力先サーバを指定した代理サーバ選択要求を前記要求分散処理手段に対して出力し、前記要求分散処理手段から選択された前記中継先代理サーバを受け取ると、前記閲覧手段から出された前記処理要求を、前記要求分散処理手段が選択した該中継先代理サーバ経由で前記要求分散処理手段が選択した該出力先サーバに対して出力する要求中継手段とを有する、
ことを特徴とするサーバ選択システム。 - 前記サーバ状態管理手段は、複数の前記サーバそれぞれの処理速度を示す数値を、前記クライアント装置に送信し、
前記クライアント装置の前記サーバ状態受信手段は、複数の前記サーバそれぞれに対応付けて処理速度を示す数値を前記サーバ状態管理テーブルに登録し、
前記要求分散処理手段は、前記サーバの負荷情報で示される単位時間当たりのパケット数を、処理速度を示す数値で除算した値が最も小さくなるサーバを、負荷の少ないサーバと判断することを特徴とする請求項1記載のサーバ選択システム。 - 前記サーバ状態管理手段は、負荷情報配信要求を受け取った際に、前記負荷情報配信要求を出力した前記クライアント装置に対して負荷情報を配布し、
前記サーバ状態受信手段は、前記サーバ選択要求を受け取った際に前記サーバ状態管理手段に前記負荷情報配信要求を出力することで、前記サーバ状態管理手段から複数の前記サーバおよび複数の前記代理サーバそれぞれの負荷情報を取得することを特徴とする請求項1記載のサーバ選択システム。 - 前記サーバ状態管理手段は、前記クライアント装置に対して一定時間毎に負荷情報を配信することを特徴とする請求項1記載のサーバ選択システム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP05168998A JP3966598B2 (ja) | 1998-03-04 | 1998-03-04 | サーバ選択システム |
US09/118,935 US6128644A (en) | 1998-03-04 | 1998-07-20 | Load distribution system for distributing load among plurality of servers on www system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP05168998A JP3966598B2 (ja) | 1998-03-04 | 1998-03-04 | サーバ選択システム |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH11250020A JPH11250020A (ja) | 1999-09-17 |
JP3966598B2 true JP3966598B2 (ja) | 2007-08-29 |
Family
ID=12893880
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP05168998A Expired - Fee Related JP3966598B2 (ja) | 1998-03-04 | 1998-03-04 | サーバ選択システム |
Country Status (2)
Country | Link |
---|---|
US (1) | US6128644A (ja) |
JP (1) | JP3966598B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220360555A1 (en) * | 2019-06-28 | 2022-11-10 | Nippon Telegraph And Telephone Corporation | Device estimation device, device estimation method, and device estimation program |
Families Citing this family (159)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6304894B1 (en) * | 1997-09-22 | 2001-10-16 | Hitachi, Ltd. | Proxy server and recording medium storing a proxy server program |
JP3494562B2 (ja) * | 1997-10-15 | 2004-02-09 | 株式会社東芝 | ネットワーク管理システム |
US6658565B1 (en) * | 1998-06-01 | 2003-12-02 | Sun Microsystems, Inc. | Distributed filtering and monitoring system for a computer internetwork |
US6321251B1 (en) * | 1998-10-01 | 2001-11-20 | Unisys Corporation | Gateway for dynamically providing web site status information |
JP2000196677A (ja) * | 1998-12-28 | 2000-07-14 | Fujitsu Ltd | ネットワ―クシステムに用いられる中継装置 |
US6490602B1 (en) * | 1999-01-15 | 2002-12-03 | Wish-List.Com, Inc. | Method and apparatus for providing enhanced functionality to product webpages |
JP2000261597A (ja) * | 1999-03-11 | 2000-09-22 | Matsushita Graphic Communication Systems Inc | 通信方法、通信装置およびサーバ |
US7904951B1 (en) | 1999-03-16 | 2011-03-08 | Novell, Inc. | Techniques for securely accelerating external domains locally |
US8060926B1 (en) | 1999-03-16 | 2011-11-15 | Novell, Inc. | Techniques for securely managing and accelerating data delivery |
US6081900A (en) * | 1999-03-16 | 2000-06-27 | Novell, Inc. | Secure intranet access |
US6920475B1 (en) * | 1999-04-23 | 2005-07-19 | Oracle International Corporation | Communication architecture for distributed computing environment |
US6516350B1 (en) * | 1999-06-17 | 2003-02-04 | International Business Machines Corporation | Self-regulated resource management of distributed computer resources |
JP2001007844A (ja) * | 1999-06-24 | 2001-01-12 | Canon Inc | ネットワークステータスサーバ及び情報配信システム、及びその制御方法、及びその制御プログラムを格納した記憶媒体 |
US6996770B1 (en) * | 1999-07-26 | 2006-02-07 | Microsoft Corporation | Methods and systems for preparing extensible markup language (XML) documents and for responding to XML requests |
US6499052B1 (en) * | 1999-08-11 | 2002-12-24 | Yahoo! Inc. | Electronic commerce system for referencing remote commerce sites at a local commerce site |
US7483967B2 (en) * | 1999-09-01 | 2009-01-27 | Ximeta Technology, Inc. | Scalable server architecture based on asymmetric 3-way TCP |
CA2281370C (en) * | 1999-09-01 | 2002-11-26 | Ibm Canada Limited-Ibm Canada Limitee | Method and apparatus for maintaining consistency among large numbers of similarly configured information handling servers |
CA2281367C (en) * | 1999-09-01 | 2002-12-17 | Ibm Canada Limited-Ibm Canada Limitee | Method and apparatus for simplified administration of large numbers of similar information handling servers |
US6766349B1 (en) | 1999-09-24 | 2004-07-20 | Sun Microsystems, Inc. | Mechanism for obtaining a thread from, and returning a thread to, a thread pool without attaching and detaching |
US6701367B1 (en) | 1999-09-24 | 2004-03-02 | Sun Microsystems, Inc. | Mechanism for enabling customized session managers to interact with a network server |
US6895584B1 (en) | 1999-09-24 | 2005-05-17 | Sun Microsystems, Inc. | Mechanism for evaluating requests prior to disposition in a multi-threaded environment |
WO2001022273A1 (en) * | 1999-09-24 | 2001-03-29 | Sun Microsystems, Inc. | Mechanism for enabling session information to be shared across multiple processes |
US6874028B1 (en) * | 1999-10-25 | 2005-03-29 | Microsoft Corporation | System and method for unified registration information collection |
US7062556B1 (en) * | 1999-11-22 | 2006-06-13 | Motorola, Inc. | Load balancing method in a communication network |
EP1120945A1 (de) * | 2000-01-27 | 2001-08-01 | TELEFONAKTIEBOLAGET LM ERICSSON (publ) | Zuordnung einer Serveradresse zu einem Endgerät |
JP3417374B2 (ja) * | 2000-02-04 | 2003-06-16 | 日本電気株式会社 | サーバ、クライアント、クライアントサーバシステム、負荷分散方法、記録媒体 |
JP2001312484A (ja) * | 2000-05-02 | 2001-11-09 | Internatl Business Mach Corp <Ibm> | 高速ウェブサーバ選択方法およびシステム |
JP2001222439A (ja) * | 2000-02-09 | 2001-08-17 | Nec Corp | 基幹業務システム上の情報系業務処理方法及びその情報系業務処理システム |
US8843617B2 (en) * | 2000-03-01 | 2014-09-23 | Printeron Inc. | Multi-stage polling mechanism and system for the transmission and processing control of network resource data |
CA2299824C (en) * | 2000-03-01 | 2012-02-21 | Spicer Corporation | Network resource control system |
CA2301996A1 (en) * | 2000-03-13 | 2001-09-13 | Spicer Corporation | Wireless attachment enabling |
JP2001265680A (ja) * | 2000-03-15 | 2001-09-28 | Fujitsu Ltd | 複数メディアのセッションを管理する装置および方法 |
USRE42153E1 (en) | 2000-03-30 | 2011-02-15 | Hubbard Edward A | Dynamic coordination and control of network connected devices for large-scale network site testing and associated architectures |
US8010703B2 (en) * | 2000-03-30 | 2011-08-30 | Prashtama Wireless Llc | Data conversion services and associated distributed processing system |
US20090216641A1 (en) | 2000-03-30 | 2009-08-27 | Niration Network Group, L.L.C. | Methods and Systems for Indexing Content |
US7092985B2 (en) * | 2000-03-30 | 2006-08-15 | United Devices, Inc. | Method of managing workloads and associated distributed processing system |
US6654783B1 (en) | 2000-03-30 | 2003-11-25 | Ethergent Corporation | Network site content indexing method and associated system |
US20010039497A1 (en) * | 2000-03-30 | 2001-11-08 | Hubbard Edward A. | System and method for monitizing network connected user bases utilizing distributed processing systems |
JP2001306539A (ja) * | 2000-04-24 | 2001-11-02 | Nec Corp | フロントエンド情報配信システムおよび方法 |
JP2001312438A (ja) * | 2000-05-02 | 2001-11-09 | Noritsu Koki Co Ltd | 情報配信システム、情報配信装置、情報受信装置、情報配信プログラムを記録した記録媒体、および情報受信プログラムを記録した記録媒体 |
IL142969A (en) * | 2000-05-04 | 2007-02-11 | Comverse Ltd | Load balancing |
US7555542B1 (en) * | 2000-05-22 | 2009-06-30 | Internap Network Services Corporation | Method and system for directing requests for content to a content server based on network performance |
US20020054080A1 (en) * | 2000-06-15 | 2002-05-09 | Belanger David Gerald | Internet service controller with real time status display |
US7058699B1 (en) | 2000-06-16 | 2006-06-06 | Yahoo! Inc. | System and methods for implementing code translations that enable persistent client-server communication via a proxy |
TW536670B (en) * | 2000-07-15 | 2003-06-11 | Ibm | A method for availability monitoring via a shared database |
US6880156B1 (en) * | 2000-07-27 | 2005-04-12 | Hewlett-Packard Development Company. L.P. | Demand responsive method and apparatus to automatically activate spare servers |
CA2417509C (en) * | 2000-07-27 | 2013-02-19 | Bea Systems, Inc. | System and method for concentration and load-balancing of requests |
JP2002049602A (ja) * | 2000-08-02 | 2002-02-15 | Ricoh Co Ltd | 検索システム |
JP3393604B2 (ja) * | 2000-09-01 | 2003-04-07 | 株式会社インターナショナルビジネスリンク | サービス提供方法 |
US7716674B1 (en) * | 2000-10-06 | 2010-05-11 | Apple Inc. | Streaming server administration protocol |
US7792923B2 (en) | 2000-10-13 | 2010-09-07 | Zhe Khi Pak | Disk system adapted to be directly attached to network |
US7788407B1 (en) | 2000-10-21 | 2010-08-31 | Cisco Technology, Inc. | Apparatus and methods for providing an application level gateway for use in networks |
US6970847B1 (en) * | 2000-10-24 | 2005-11-29 | Canon Kabushiki Kaisha | Business method for secure document folder distribution |
US6961773B2 (en) | 2001-01-19 | 2005-11-01 | Esoft, Inc. | System and method for managing application service providers |
JP4307747B2 (ja) | 2001-01-25 | 2009-08-05 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 接続受付システム、受付サーバ、クライアント端末、接続受付管理方法、記憶媒体、コンピュータプログラム |
US7328263B1 (en) * | 2001-01-30 | 2008-02-05 | Cisco Technology, Inc. | Controlling access of concurrent users of computer resources in a distributed system using an improved semaphore counting approach |
JP4688312B2 (ja) * | 2001-02-23 | 2011-05-25 | 株式会社日立製作所 | 通信プロキシ装置 |
JP2002269061A (ja) * | 2001-03-08 | 2002-09-20 | Ntt Comware Corp | クライアントサーバシステム、中継サーバ、接続先サーバの決定方法 |
US7447802B2 (en) * | 2001-03-30 | 2008-11-04 | Oracle International Corporation | Method and system for maintaining a configuration state |
US20020156841A1 (en) * | 2001-04-13 | 2002-10-24 | Bjorn Landfeldt | Accessing distributed proxy configurations |
US7200679B2 (en) * | 2001-04-13 | 2007-04-03 | Telefonaktiebolaget Lm Ericsson (Publ) | Creating distributed proxy configurations |
ATE328436T1 (de) * | 2001-06-08 | 2006-06-15 | 4Th Pass Inc | Verfahren, speichermedium, netwerk und apparat für eine biderektional initierte datenkommunikation mit einer drahtlosen einrichtung |
US8180921B2 (en) | 2001-06-19 | 2012-05-15 | Intel Corporation | Method and apparatus for load balancing |
US20020198992A1 (en) * | 2001-06-26 | 2002-12-26 | William Stutz | Methods and apparatus for load balanced information aggregation and presentation |
US20030005080A1 (en) * | 2001-06-28 | 2003-01-02 | Watkins James S. | Systems and methods for accessing data |
AU2002319929A1 (en) * | 2001-07-16 | 2003-03-03 | Han Gyoo Kim | Scheme for dynamically connecting i/o devices through network |
US7299470B2 (en) * | 2001-09-13 | 2007-11-20 | International Business Machines Corporation | Method and system for regulating communication traffic using a limiter thread |
US20050149682A1 (en) * | 2001-10-09 | 2005-07-07 | Han-Gyoo Kim | Virtual multiple removable media jukebox |
US20030074467A1 (en) * | 2001-10-11 | 2003-04-17 | Oblak Sasha Peter | Load balancing system and method for data communication network |
US7200665B2 (en) * | 2001-10-17 | 2007-04-03 | Hewlett-Packard Development Company, L.P. | Allowing requests of a session to be serviced by different servers in a multi-server data service system |
US6938031B1 (en) | 2001-10-19 | 2005-08-30 | Data Return Llc | System and method for accessing information in a replicated database |
US7000016B1 (en) | 2001-10-19 | 2006-02-14 | Data Return Llc | System and method for multi-site clustering in a network |
JP2003140988A (ja) * | 2001-10-30 | 2003-05-16 | Ando Electric Co Ltd | 動画配信サーバ負荷試験装置 |
KR100426306B1 (ko) * | 2001-12-11 | 2004-04-08 | 한국전자통신연구원 | 인트라 도메인내에서의 sip 서버간 로드 분산 처리 방법 |
JP2003256310A (ja) * | 2002-03-05 | 2003-09-12 | Nec Corp | サーバ負荷分散システム、サーバ負荷分散装置、コンテンツ管理装置、及びサーバ負荷分散プログラム |
US20030195929A1 (en) * | 2002-04-15 | 2003-10-16 | Franke Michael Martin | Methods and system using secondary storage to store media data accessible for local area users |
US7668901B2 (en) * | 2002-04-15 | 2010-02-23 | Avid Technology, Inc. | Methods and system using a local proxy server to process media data for local area users |
US20030217173A1 (en) * | 2002-05-15 | 2003-11-20 | Butt Alan B. | Automatic proxy detection |
US7979521B2 (en) * | 2002-06-03 | 2011-07-12 | Oracle America, Inc. | Method and system for relocating and using enterprise management tools in a service provider model |
JP2004013555A (ja) * | 2002-06-07 | 2004-01-15 | Nec Corp | 周辺処理装置負荷分散方式 |
US7716312B2 (en) | 2002-11-13 | 2010-05-11 | Avid Technology, Inc. | Method and system for transferring large data files over parallel connections |
GB0306971D0 (en) * | 2003-03-26 | 2003-04-30 | British Telecomm | Client server model |
US20050005027A1 (en) * | 2003-04-18 | 2005-01-06 | International Business Machines Corporation | Method and system for obtaining data through an IP transmission network by using an optimized domain name server |
EP1632067B1 (en) * | 2003-06-12 | 2017-11-22 | Camiant, Inc. | Pcmm application manager |
DE602004030446D1 (de) * | 2003-06-12 | 2011-01-20 | Camiant Inc | Dynamische dienstablieferung mit topologie-discovery für kommunikationsnetzwerke |
US7502859B2 (en) * | 2003-09-19 | 2009-03-10 | Panasonic Corporation | Dynamic resource management for distributed retrieval system for security |
US7457880B1 (en) * | 2003-09-26 | 2008-11-25 | Ximeta Technology, Inc. | System using a single host to receive and redirect all file access commands for shared data storage device from other hosts on a network |
JP4002232B2 (ja) * | 2003-12-01 | 2007-10-31 | 株式会社日立製作所 | プログラム制御方法及び実施装置並びに実施システムと処理プログラム |
US8065720B1 (en) | 2004-01-06 | 2011-11-22 | Novell, Inc. | Techniques for managing secure communications |
EP1705993B1 (en) * | 2004-01-23 | 2017-08-30 | Camiant, Inc. | Video policy server |
TW200532466A (en) * | 2004-02-03 | 2005-10-01 | Sony Corp | Information processing device, information processing method, information processing system and information processing program of accessible media |
US7490323B2 (en) * | 2004-02-13 | 2009-02-10 | International Business Machines Corporation | Method and system for monitoring distributed applications on-demand |
US7664836B2 (en) * | 2004-02-17 | 2010-02-16 | Zhe Khi Pak | Device and method for booting an operation system for a computer from a passive directly attached network device |
US20080168181A1 (en) * | 2004-02-19 | 2008-07-10 | Koninklijke Philips Electronics, N.V. | Initiating Communication Sessions from a First Computer Network to a Second Computer Network |
US20060069884A1 (en) * | 2004-02-27 | 2006-03-30 | Han-Gyoo Kim | Universal network to device bridge chip that enables network directly attached device |
US20050234961A1 (en) * | 2004-04-16 | 2005-10-20 | Pinnacle Systems, Inc. | Systems and Methods for providing a proxy for a shared file system |
US7673049B2 (en) * | 2004-04-19 | 2010-03-02 | Brian Dinello | Network security system |
US8024476B2 (en) | 2004-05-21 | 2011-09-20 | Microsoft Corporation | Efficient message routing when using server pools |
US8224964B1 (en) | 2004-06-30 | 2012-07-17 | Google Inc. | System and method of accessing a document efficiently through multi-tier web caching |
US7437364B1 (en) * | 2004-06-30 | 2008-10-14 | Google Inc. | System and method of accessing a document efficiently through multi-tier web caching |
US8676922B1 (en) * | 2004-06-30 | 2014-03-18 | Google Inc. | Automatic proxy setting modification |
US7746900B2 (en) * | 2004-07-22 | 2010-06-29 | Zhe Khi Pak | Low-level communication layers and device employing same |
US7860943B2 (en) * | 2004-08-23 | 2010-12-28 | Zhe Khi Pak | Enhanced network direct attached storage controller |
US20060067356A1 (en) * | 2004-08-23 | 2006-03-30 | Han-Gyoo Kim | Method and apparatus for network direct attached storage |
JP2006072432A (ja) * | 2004-08-31 | 2006-03-16 | Onkyo Corp | ピアツーピア型コンテンツ配信システム |
WO2006027038A2 (en) * | 2004-09-09 | 2006-03-16 | Fujitsu Siemens Computers, Inc. | Computer arrangement for providing services for clients over a network |
JP2006106933A (ja) * | 2004-10-01 | 2006-04-20 | Fujitsu Ltd | 負荷分散ネットワークシステム及び負荷分散用プログラム |
US20060129684A1 (en) * | 2004-11-10 | 2006-06-15 | Chutney Technologies, Inc. | Apparatus and method for distributing requests across a cluster of application servers |
WO2006057040A1 (ja) | 2004-11-26 | 2006-06-01 | Fujitsu Limited | コンピュータ・システム及び情報処理方法 |
US7849257B1 (en) | 2005-01-06 | 2010-12-07 | Zhe Khi Pak | Method and apparatus for storing and retrieving data |
JP2006227963A (ja) * | 2005-02-18 | 2006-08-31 | Fujitsu Ltd | 多段負荷分散装置、方法及びプログラム |
US8234336B2 (en) * | 2005-02-25 | 2012-07-31 | Microsoft Corporation | Virtual conference center architecture |
US20060206586A1 (en) * | 2005-03-09 | 2006-09-14 | Yibei Ling | Method, apparatus and system for a location-based uniform resource locator |
JP4161998B2 (ja) | 2005-03-28 | 2008-10-08 | 日本電気株式会社 | 負荷分散振り分けシステム、イベント処理分散制御装置並びにイベント処理分散制御プログラム |
JP4535129B2 (ja) * | 2005-04-14 | 2010-09-01 | パナソニック株式会社 | サーバ装置、情報通知方法、および情報通知システム |
EP1949943A4 (en) | 2005-11-15 | 2008-11-26 | Konami Digital Entertainment | NETWORK GAME SYSTEM, GAMING MACHINE, GAME AUTOMATIC CONTROL PROCEDURE AND INFORMATION STORAGE MEDIUM |
US7653722B1 (en) * | 2005-12-05 | 2010-01-26 | Netapp, Inc. | Server monitoring framework |
JP4846388B2 (ja) * | 2006-02-23 | 2011-12-28 | エヌ・ティ・ティ・アドバンステクノロジ株式会社 | 分散型情報流通サービス処理システムおよび分散型情報流通サービス処理方法 |
JP4495688B2 (ja) * | 2006-03-27 | 2010-07-07 | 株式会社日立製作所 | 検証システム |
US8412773B1 (en) | 2006-06-28 | 2013-04-02 | Insors Integrated Communications | Methods, systems and program products for initiating a process on data network |
US8516050B1 (en) | 2006-06-28 | 2013-08-20 | Insors Integrated Communications | Methods and program products for communicating file modifications during a collaboration event |
US8121990B1 (en) | 2006-06-28 | 2012-02-21 | Insors Integrated Communications | Methods, systems and program products for communicating file modification information |
US8023437B1 (en) * | 2006-06-28 | 2011-09-20 | Insors Integrated Communications | Methods, systems and program products for a distributed communications configuration |
US8395652B1 (en) | 2006-06-28 | 2013-03-12 | Insors Integrated Communications | Data network collaboration systems having a shared file |
US8144632B1 (en) * | 2006-06-28 | 2012-03-27 | Insors Integrated Communications | Methods, systems and program products for efficient communications during data sharing event |
US8458283B1 (en) | 2006-06-28 | 2013-06-04 | Insors Integrated Communications | Methods and program products for efficient communication of shared file modifications during a collaboration event |
US8812651B1 (en) | 2007-02-15 | 2014-08-19 | Google Inc. | Systems and methods for client cache awareness |
US8065275B2 (en) * | 2007-02-15 | 2011-11-22 | Google Inc. | Systems and methods for cache optimization |
US9462060B2 (en) * | 2007-04-23 | 2016-10-04 | Alcatel Lucent | System and method for sending notification message to a mobile station using session initiation protocol (SIP) |
US8505037B2 (en) * | 2007-10-31 | 2013-08-06 | Ncr Corporation | Communicating with devices in an ATM |
US7870251B2 (en) * | 2008-01-10 | 2011-01-11 | At&T Intellectual Property I, L.P. | Devices, methods, and computer program products for real-time resource capacity management |
JP5052361B2 (ja) * | 2008-01-31 | 2012-10-17 | 株式会社フジテレビジョン | 画像処理システム及び画像処理方法 |
US9113334B2 (en) * | 2008-02-01 | 2015-08-18 | Tekelec, Inc. | Methods, systems, and computer readable media for controlling access to voice resources in mobile networks using mobility management signaling messages |
KR100970385B1 (ko) * | 2008-06-09 | 2010-07-15 | 한국전자통신연구원 | 무선 네트워크의 경로 설정 방법 및 장치 |
JP5291504B2 (ja) * | 2009-03-23 | 2013-09-18 | 株式会社野村総合研究所 | 負荷分散処理システム |
US20100333159A1 (en) * | 2009-06-30 | 2010-12-30 | Cyberlink Corp. | Method of presenting multimedia contents of multiple multimedia channels by networking and related electronic apparatus and multimedia system thereof |
JP4802264B2 (ja) * | 2009-08-24 | 2011-10-26 | 株式会社東芝 | 通信システム |
US9432451B2 (en) * | 2009-12-15 | 2016-08-30 | Tekelec, Inc. | Methods, systems, and computer readable media for communicating media server capabilities and status information between media servers and a media resource broker |
JP5434716B2 (ja) * | 2010-03-18 | 2014-03-05 | カシオ計算機株式会社 | サーバ・クライアント・システムおよびプログラム |
US9667569B1 (en) | 2010-04-29 | 2017-05-30 | Amazon Technologies, Inc. | System and method for adaptive server shielding |
US8570566B2 (en) | 2010-09-17 | 2013-10-29 | Printeron Inc. | System and method that provides user interface on mobile network terminal for releasing print jobs based on location information |
US8970873B2 (en) | 2010-09-17 | 2015-03-03 | Printeron Inc. | System and method for managing printer resources on an internal network |
US8719449B2 (en) * | 2010-11-29 | 2014-05-06 | Telefonaktiebolaget L M Ericsson (Publ) | Identification of a private device in a public network |
US9760329B2 (en) | 2010-11-30 | 2017-09-12 | Printeron Inc. | System for internet enabled printing |
JP2012156698A (ja) * | 2011-01-25 | 2012-08-16 | Hitachi Ltd | 中継装置、通信ネットワークシステム、及び、負荷分散方法 |
US8812727B1 (en) | 2011-06-23 | 2014-08-19 | Amazon Technologies, Inc. | System and method for distributed load balancing with distributed direct server return |
US9055076B1 (en) | 2011-06-23 | 2015-06-09 | Amazon Technologies, Inc. | System and method for distributed load balancing with load balancer clients for hosts |
CN103152374B (zh) * | 2011-12-07 | 2016-08-10 | 华为终端有限公司 | 获知终端在线状态的方法与装置 |
US20140045596A1 (en) * | 2012-08-07 | 2014-02-13 | Lawrence Cameron Vaughan | Methods and systems for determining the location of online gaming clients |
JP6171445B2 (ja) * | 2013-03-21 | 2017-08-02 | 富士通株式会社 | 割当装置及び割当プログラム |
JP2015119472A (ja) * | 2013-11-18 | 2015-06-25 | 株式会社リコー | 選択システム、通信管理システム、通信システム、プログラム、及び選択方法 |
US9356882B2 (en) | 2014-02-04 | 2016-05-31 | Printeron Inc. | Streamlined system for the transmission of network resource data |
JP6187304B2 (ja) * | 2014-02-18 | 2017-08-30 | 富士ゼロックス株式会社 | 情報処理装置、情報処理システム及び情報処理プログラム |
US20180270300A1 (en) * | 2014-10-07 | 2018-09-20 | Interdigital Patent Holdings, Inc. | Supporting internet protocol (ip) clients in an information centric network (icn) |
US10048994B2 (en) * | 2014-10-20 | 2018-08-14 | Teachers Insurance And Annuity Association Of America | Identifying failed customer experience in distributed computer systems |
US10158526B2 (en) * | 2015-03-27 | 2018-12-18 | Nec Corporation | System that manages server function |
US10587449B2 (en) * | 2016-07-18 | 2020-03-10 | Avaya Inc. | System and method to use location-aware DNS responses as input to media relay selection for WebRTC |
CN113038452A (zh) * | 2021-05-28 | 2021-06-25 | 中兴通讯股份有限公司 | 用户数据系统管理方法、通信设备及存储介质 |
US11632337B1 (en) * | 2021-10-11 | 2023-04-18 | Cisco Technology, Inc. | Compute express link over ethernet in composable data centers |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5005122A (en) * | 1987-09-08 | 1991-04-02 | Digital Equipment Corporation | Arrangement with cooperating management server node and network service node |
JPH02275563A (ja) * | 1989-04-17 | 1990-11-09 | Nippon Telegr & Teleph Corp <Ntt> | 情報処理システムにおけるサーバ利用方式 |
JPH05173990A (ja) * | 1991-12-24 | 1993-07-13 | Mitsubishi Electric Corp | データ処理システム |
JPH07160615A (ja) * | 1993-12-02 | 1995-06-23 | Nec Corp | ネットワークサーバ選択方式 |
JPH0844677A (ja) * | 1994-07-29 | 1996-02-16 | Toshiba Corp | 分散処理システム |
JP2576802B2 (ja) * | 1994-09-28 | 1997-01-29 | 日本電気株式会社 | 遠隔プログラムアドレス管理方式 |
US5742762A (en) * | 1995-05-19 | 1998-04-21 | Telogy Networks, Inc. | Network management gateway |
JP3441306B2 (ja) * | 1995-09-12 | 2003-09-02 | 株式会社東芝 | クライアント装置、メッセージ送信方法、サーバ装置、ページ処理方法及び中継サーバ装置 |
JPH09251426A (ja) * | 1996-01-10 | 1997-09-22 | Hitachi Ltd | ファイル暗号化システム及びその制御方法ならびに暗号ファイル受信システム及びその制御方法 |
JP3847364B2 (ja) * | 1996-02-14 | 2006-11-22 | 富士通株式会社 | ロードシェアシステム |
JPH09244976A (ja) * | 1996-03-08 | 1997-09-19 | Hitachi Ltd | セキュリティシステム |
JPH1027148A (ja) * | 1996-07-10 | 1998-01-27 | Hitachi Ltd | インターネット用サーバシステム |
FR2751448B1 (fr) * | 1996-07-17 | 1999-01-15 | Bull Sa | Procede de surveillance en temps reel d'un systeme informatique pour son administration et l'aide a sa maintenance en phase d'exploitation |
US5758355A (en) * | 1996-08-07 | 1998-05-26 | Aurum Software, Inc. | Synchronization of server database with client database using distribution tables |
US6006238A (en) * | 1997-01-31 | 1999-12-21 | Network Computing Devices, Inc. | Method and apparatus for migrating/shadowing data between a server and its clients |
US6014702A (en) * | 1997-06-04 | 2000-01-11 | International Business Machines Corporation | Host information access via distributed programmed objects |
US5905868A (en) * | 1997-07-22 | 1999-05-18 | Ncr Corporation | Client/server distribution of performance monitoring data |
-
1998
- 1998-03-04 JP JP05168998A patent/JP3966598B2/ja not_active Expired - Fee Related
- 1998-07-20 US US09/118,935 patent/US6128644A/en not_active Expired - Fee Related
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220360555A1 (en) * | 2019-06-28 | 2022-11-10 | Nippon Telegraph And Telephone Corporation | Device estimation device, device estimation method, and device estimation program |
US11611528B2 (en) * | 2019-06-28 | 2023-03-21 | Nippon Telegraph And Telephone Corporation | Device estimation device, device estimation method, and device estimation program |
Also Published As
Publication number | Publication date |
---|---|
US6128644A (en) | 2000-10-03 |
JPH11250020A (ja) | 1999-09-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3966598B2 (ja) | サーバ選択システム | |
US11706102B2 (en) | Dynamically deployable self configuring distributed network management system | |
US7257817B2 (en) | Virtual network with adaptive dispatcher | |
US6801949B1 (en) | Distributed server cluster with graphical user interface | |
US6691165B1 (en) | Distributed server cluster for controlling network traffic | |
US7899047B2 (en) | Virtual network with adaptive dispatcher | |
US8825849B2 (en) | Distributed data collection and aggregation | |
TWI224899B (en) | Dynamic binding and fail-over of comparable web service instances in a services grid | |
JPH10307783A (ja) | サイトアクセス制御システム及び記録媒体 | |
US20090019106A1 (en) | Method of redirecting client requests to web services | |
WO2004036344A2 (en) | System and method for the optimization of database | |
JP2005149387A (ja) | リアルタイムWeb共有システム | |
US6925488B2 (en) | Distributed intelligent information technology operations automation | |
US20060069777A1 (en) | Request message control method for using service and service providing system | |
JP3929186B2 (ja) | クライアント/サーバシステム | |
US20090316600A1 (en) | Telecommunications system and server apparatus | |
US20020136204A1 (en) | Method and system for routing network traffic based upon application information | |
CN114036236A (zh) | 多网关集群系统 | |
CN115623000A (zh) | 一种数联网上数据高效分发方法与装置 | |
US6799215B1 (en) | Method and apparatus for providing logical unit definitions for telenet servers | |
JP6540063B2 (ja) | 通信情報制御装置、中継システム、通信情報制御方法、および、通信情報制御プログラム | |
JP2003141002A (ja) | Url長変換システム及びそのプログラム | |
GB2464367A (en) | Network traffic monitor for multi-tier server arrangement loops back packets from one server to another on same device | |
US20040199643A1 (en) | Distributed service component systems | |
JP4282207B2 (ja) | サーバ装置、クライアント装置、クライアントサーバ通信システム及びそれらに用いるサーバ特定方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040106 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040308 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20040720 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040916 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20040922 |
|
A912 | Re-examination (zenchi) completed and case transferred to appeal board |
Free format text: JAPANESE INTERMEDIATE CODE: A912 Effective date: 20050408 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070423 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070529 |
|
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: 20110608 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120608 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |