JP3770801B2 - 代理サーバ、サーバおよびそれらを実現するプログラムを記録した記録媒体 - Google Patents
代理サーバ、サーバおよびそれらを実現するプログラムを記録した記録媒体 Download PDFInfo
- Publication number
- JP3770801B2 JP3770801B2 JP2001038083A JP2001038083A JP3770801B2 JP 3770801 B2 JP3770801 B2 JP 3770801B2 JP 2001038083 A JP2001038083 A JP 2001038083A JP 2001038083 A JP2001038083 A JP 2001038083A JP 3770801 B2 JP3770801 B2 JP 3770801B2
- Authority
- JP
- Japan
- Prior art keywords
- user data
- server
- sps
- proxy server
- latest
- 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 - Lifetime
Links
Images
Landscapes
- Computer And Data Communications (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Description
【発明の属する技術分野】
本発明は、サーバ−クライアント型のネットワークシステムに係り、特に、ネットワーク負荷・サーバ負荷を軽減すると共に、クライアントに快適な作業環境を提供することを可能とする技術に関する。
【0002】
【従来の技術】
(1)DNS(Domain Name System)
インターネットにおいては、ドメインと呼ぶ論理的なグループを階層的に設定し、その論理グループ名であるドメイン名を利用する方式が採用されている。
【0003】
ドメイン名とIPアドレス(インターネットにおけるネットワークアドレスである。)との対応は、DNSサーバによって管理されており、DNSサーバは、必要に応じて、他のDNSサーバとの間で情報をやり取りすることで、結果的に、インターネットでの全てのドメイン名とIPアドレスとを対応付けることが可能となる。
【0004】
クライアントは、インターネットを利用してサービスを受けようとするサーバにアクセスするためには、実際には、ホスト名ではなく、物理アドレスであるIPアドレスを使用することから、サーバのIPアドレスを知る必要がある。
【0005】
そこで、クライアントは、サーバのIPアドレスが分からない場合は、自身のDNSサーバとして予め登録されているDNSサーバに対して、サーバのドメイン名を問い合わせることで、サーバのIPアドレスを通知してもらうことができる。なお、あるDNSサーバでIPアドレスが分からない場合には、その上位のDNSサーバに問い合わせる。
【0006】
(2)プロキシサーバ(proxy server)
プロキシサーバ(代理サーバ)は、元来、セキュリティ上の問題を重視する組織の組織内ネットワークと組織外ネットワークであるインターネットとの間に、アクセス制御を行うための防火壁(firewall)を構築した場合に、組織内外での通信が防火壁によって禁止されてしまうことに対処するために開発された代理ゲートウェイである。
【0007】
例えば、ローカルエリアネットワーク(以下、「LAN」と称す。)内では、ユーザは、直接、広域エリアネットワーク(以下、「WAN」と称す。)との間で通信ができないので、LANとWANとの間に、「バリアセグメント」と呼ぶセグメントエリアを設け、クライアントのユーザは、バリアセグメント上で動作するサーバに、一旦、リモートログインしてから、WAN側のサーバにアクセスする必要がある。
【0008】
しかし、この方法では、バリアセグメント上で動作するサーバに、ユーザアカウントを多数準備する必要があり、逆に、セキュリティホールの増加につながってしまう。
【0009】
そこで、バリアセグメント上で動作するサーバにユーザアカウントを用意しなくてもよく、かつ、Gopher,WWW等のリソースやデータへのアクセスを、組織内ネットワークのサーバまたはクライアントから可能にするために開発されたのがプロキシサーバである。
【0010】
プロキシサーバは、防火壁上で動作し、特定のポートを常にオープンしておき、複数のクライアントからのメッセージを受け付けることができる。そして、受け付けたメッセージを、サーバに転送することによって、クライアントの代理を行うものである。
【0011】
プロキシサーバでは、ユーザ認証を行わなわずにメッセージを受け付け、クライアントとの間の通信には物理アドレスであるIPアドレスを用いていることから、クライアントからプロキシサーバへのログインは不要となっている。
【0012】
プロキシサーバは、Gopher,WWW等のリソースやデータへのクライアントのアクセスを中継する機能を持っており、クライアントがプロキシサーバを利用することで、クライアント自身は、プロキシサーバのみとの間で通信を行い、WAN側のサーバ等と直接通信を行わなくても良くなる。
【0013】
このプロキシサーバによって、LANとWANとの間の直接のメッセージ交換がなくなり、WAN側からLAN側への不正なアタックは不可能となる。
【0014】
(3)プロキシ・キャッシュサーバ
ところで、上述したプロキシサーバの開発にあたり、その副産物として、キャッシュ機能を持つプロキシサーバが開発された。
【0015】
プロキシサーバは、クライアントのリソースやデータへのアクセスを中継する目的で開発されたものであることから、LAN側の複数のクライアントが、重複するデータを参照する可能性が大きい。
【0016】
従って、重複するデータへの参照に対しては、該当するWAN側のサーバのデータを1回だけ参照し、そのときに得られたデータを、参照要求を行った複数のLAN側のクライアントに対して、個々に送り返してやればよい。
【0017】
このように、1度参照したリソースやデータをディスク等に一時的にキャッシングしておき、重複するリソースやデータへのクライアントからの参照要求に対しては、該当するWAN側のサーバにアクセスせず、ディスク等に一時的にキャッシングしておいたデータを、参照要求を行ったLAN側のクライアントに返送する機能を持つプロキシサーバを、プロキシ・キャッシュサーバと呼ぶ。
【0018】
プロキシ・キャッシュサーバによって、WANでのトラフィックを軽減することができ、WANでの通信は、LANと比較した場合、速度は遅く、コストは高価であることから、ユーザメリットは大きくなる。
【0019】
また、WAN側のサーバへのアクセス回数が減少することで、サーバ負荷の軽減にも貢献することができ、さらに、LAN側のユーザも、ローカルなサーバであるプロキシ・キャッシュサーバにキャッシングされているリソースやデータを再利用できるので、快適なレスポンスでアクセスできる等のメリットが挙げられる。
【0020】
このほかにも、プロキシ・キャッシュサーバは、ディスク等にキャッシングされているリソースやデータのタイムスタンプを確認し、予め定めた期間よりも古いリソースやデータについては、再度、WAN側のサーバにアクセスすることで、最新バージョンのリソースやデータを取得するようにするといった処理も行っている。
【0021】
(4)クライアントストア方式
さて、次世代の低価格インターネットアクセスデバイスとして、最低限サポートしなければならないインターネット機能とプロトコルとだけを搭載した、低価格の端末が考案されている。
【0022】
このような端末においては、最低限の機能として、WebやFTP(File Transfer Protocol)等の多くのインターネットコミュニケーションプロトコルと、ネットワーク共有システム,UDP(User Datagram Protocol),TCP(Transmission Control Protocol),DHCP(Dynamic Host Configuration Protocol),BOOTP(Bootstrap Protocol)等のネットワーキング標準サービスとをサポートしていなければならない。
【0023】
パソコンとは異なり、全てのアプリケーション管理や運用管理をサーバ側で集中的に行うことが大きな特徴となっているが、このような端末では、ハードディスクを持たないことから、起動の度に、アプリケーションプログラムをサーバからダウンロードしなければならず、サーバ負荷やネットワーク負荷が増大するという問題を持っている。
【0024】
そこで、既存のパソコンのハードディスクを利用して、アプリケーションプログラムの配信を必要最小限にするための仕組みが提供されている。
【0025】
このようなシステムでは、サーバからリソースが転送されてくると、そのリソースをハードディスクに記録しておき、必要なときには、ハードディスクに記録しておいたリソースを再利用するものである。
【0026】
この方式では、サーバから常にリソースを取り込む必要がなくなり、また、リソースの利用時や定期的に、サーバ側のリソースの変更をチェックするようにしているので、常に最新バージョンのリソースをクライアント側で起動できるというメリットがある。
【0027】
【発明が解決しようとする課題】
上述した従来技術(1)は、クライアントが、サーバにアクセスするときに、ドメイン名から物理アドレスであるIPアドレスを1対1で得る方式であるが、以下に述べるような問題点が挙げられる。
【0028】
すなわち、同一のサービスを提供する複数のサーバが分散してネットワーク上に存在する場合には、クライアントのユーザにとって、各サーバの名前を管理してサービスを要求する作業は、非常に煩わしいという第1の問題点がある。
【0029】
また、同一のサービスを提供する複数のサーバが分散してネットワーク上に存在する場合に、クライアントのユーザが、ネットワークの負荷状況やサーバの負荷状況を考慮して、妥当なサーバにアクセスをしなければならないという第2の問題点がある。
【0030】
さらに、同一のサービスを提供する複数のサーバが分散してネットワーク上に存在する場合に、クライアントのユーザは、快適なレスポンスで作業するためには、サーバとクライアントとの間の物理的な距離または論理的な距離を意識して、サーバにアクセスしなければならないという第3の問題点がある。
【0031】
ここで、ネットワーク上に分散して存在し、同一のサービスを提供する複数のサーバは、具体的には、上述した従来技術(2)のプロキシサーバや上述した従来技術(3)のプロキシ・キャッシュサーバである場合が多い。
【0032】
また、上述した従来技術(2)は、クライアントに対してサーバの代理を実行することで、サーバとの間で直接メッセージの交換が不可能なクライアントからのサーバアクセスを可能とするものであり、上述した従来技術(3)は、サーバから得たデータをローカルに一時的にキャッシングしておくことで、サーバ負荷やネットワーク負荷を軽減しながら、クライアントのユーザに快適なレスポンスでのアクセス環境を提供するものであり、上述した従来技術(4)は、サーバ側でクライアントのリソースやデータを所有し、必要に応じて(例えば、バージョンアップ時等)、クライアントにリソースやデータをインストールすることで、クライアントの管理負荷を軽減させ、かつ、ダウンロードを最小限に済ませることが可能であるが、以下に述べるような問題点に対処することができない。
【0033】
すなわち、まず、上述した従来技術(2)および従来技術(3)のプロキシサーバは、特定のポートを常にオープンしておき、複数のクライアントからのメッセージを受け付けることができるが、各クライアントのユーザ認証を行う手段がないので、このプロキシサーバを使って、ユーザ別のサービスを実施することはできないという第1の問題点がある。
【0034】
また、そもそもハードディスク等のストレージデバイスを持たない端末では、上述した従来技術(4)で説明した方式を採用することはできないという第2の問題点がある。
【0035】
また、上述した従来技術(2)および従来技術(3)のプロキシサーバは、クライアントが、サーバとの間で頻繁に通信を行う必要があるアプリケーションプログラムを利用する場合に、十分に対処することができないという第3の問題点がある。
【0036】
例えば、サーバ側にメッセージを送信してその応答を得るようなアプリケーションプログラム(例えば、データベースへのアクセスやクライアント−サーバ型のカナ漢字変換等)の場合では、サーバにアクセスが集中してサーバ負荷とネットワーク負荷が上がり、特に、WANのような低速ネットワークを使用する場合には、クライアント側のレスポンス劣化が著しくなってしまうという問題点がある。
【0037】
このような問題点については、多数のプロキシサーバをネットワーク上に分散させて配置し、各クライアントを付近地のローカルなプロキシサーバと対応付けて、対応するプロキシサーバにアクセスさせるなどの対処方法が考えられるが、この方法では、各プロキシサーバで管理コストがかかるという、新たな問題が発生してしまう。
【0038】
さらに、このように、多数のプロキシサーバをネットワーク上に分散させて配置した場合には、プロキシサーバおよびクライアントが、共に、対応付けのための設定を行わなければならず、1度設定を行ってしまうと、動的に変更するのが困難であるという欠点がある。また、クライアントのユーザアカウントは、対応するプロキシサーバのみで管理されるので、ユーザが別の拠点のクライアントで作業することは不可能であるという欠点がある。
【0039】
本発明の第1の目的は、従来のDNSサーバが持つ問題点を解消し、クライアントがサービスを受けようとするサーバを指定するだけで、ネットワーク負荷・サーバ負荷・クライアントの位置を考慮した、クライアントにとって最適な代理サーバを自動的に選択することを可能とすることで、クライアントに快適な作業環境を提供することを可能とすることにある。
【0040】
また、本発明の第2の目的は、従来のクライアント−サーバ型のネットワークシステムが持つ問題点を解消し、複数の代理サーバをネットワーク上に分散させて配置するが、これらの代理サーバが、サーバによるサービスの提供で使用される通信路とは別の通信路を使って、サーバとの間でリソースやデータを通信することを可能とすることで、トラフィックの軽減・サーバ負荷の軽減を図ると共に、各代理サーバでユーザアカウントを管理しなくても、ユーザ別のサービスを実施することを可能としたり、クライアントとサーバとの間の通信が頻繁に発生する場合でも、クライアントに快適な作業環境を提供することを可能としたりすることにある。
【0041】
【課題を解決するための手段】
上記第1の目的を達成するために、本発明は、ドメイン名とネットワークアドレスとの固定的な対応関係のみを管理している従来のDNSサーバとは異なり、ネットワーク上に分散して配置されている代理サーバの位置情報および負荷状況を管理し、クライアントから問い合わせがあったドメイン名に対応するサーバのアドレスを通知する際に、クライアントの位置情報と管理内容とに基づいて、常に、クライアントにとって最適な代理サーバを選択し、選択した代理サーバのアドレスを通知するようにしたアドレス解決を行うようにしている。
【0042】
これにより、クライアントは、サービスを受けようとするサーバを指定するだけで、そのサーバへのアクセス時に、常に、ネットワーク負荷・サーバ負荷・クライアントの位置を考慮した、最適な代理サーバにアクセスを行うことができるので、クライアントのユーザは、レスポンス劣化を招くことなく、快適な環境で作業することができるようになる。
【0043】
具体的には、本発明は、第1の態様として、
サービスを提供するサーバとして機能するノード(サーバ)と、サービスを受けるクライアントとして機能するノード(クライアント)と、クライアントからサーバへのアクセスを中継する代理サーバとして機能するノード(代理サーバ)とが複数接続されたネットワークに接続されるノードであって、
管理対象ノードの論理グループ名であるドメイン名とネットワークアドレスとを対応付けて記憶するアドレス記憶手段と、
上記代理サーバの負荷状況を定期的に取得する負荷状況取得手段と、
上記代理サーバごとに、その位置情報、および、上記負荷状況取得手段が取得した負荷状況を記憶する代理サーバ情報記憶手段と、
いずれかのクライアントから、該クライアントの位置情報が付加された、サーバのドメイン名に対応するネットワークアドレスを問い合わせるための問い合わせ要求が送信されてきた場合に、該クライアントの位置情報および上記代理サーバ情報記憶手段の記憶内容に基づいて、予め定めた選択のための規則に従った代理サーバを選択する代理サーバ選択手段と、
問い合わせ要求元のクライアントに対して、上記代理サーバ選択手段が選択した代理サーバのネットワークアドレスを通知するアドレス通知手段とを備えたことを特徴とした代理サーバ選択装置を提供している。
【0044】
なお、位置情報としては、ネットワークアドレスを用いた論理的な位置情報と、ネットワーク上の接続位置を表す情報を用いた物理的な位置情報との両方を用いることが好ましく、後者は、例えば、代理サーバが存在する地域の電話番号の市外局番や、代理サーバが存在する位置の緯度・経度であるようにすることができる。
【0045】
また、上記負荷状況取得手段が代理サーバの負荷状況を取得するためには、代理サーバが、代理サーバ選択装置からの問い合わせに対して、自身の負荷状況を返答するようにするか、または、代理サーバが、定期的に、自代理サーバの負荷状況を自発的に通知するようにすればよい。
【0046】
また、上記第2の目的を達成するために、本発明は、複数の代理サーバをネットワーク上に分散させて配置するが、代理サーバが、サーバによるサービスの提供で使用される通信路とは別の通信路を使って、サーバとの間でリソースやデータを通信するようにすることで、トラフィックの軽減・サーバ負荷の軽減を図るようにしている。
【0047】
これにより、例えば、代理サーバが、サーバによサービスの提供で使用される通信路とは別の通信路を使って、サーバ上のリソースを取得するようにすれば、クライアントとサーバとの間の通信が頻繁に発生する場合でも、クライアントに快適な作業環境を提供することができるようになる。
【0048】
また、例えば、代理サーバが、サーバによるサービスの提供で使用される通信路とは別の通信路を使って、クライアントを使用するユーザに固有のユーザデータおよびそれに関する情報を、必要に応じて、サーバとの間でやり取りすることで、ユーザアカウントを管理しなくても、ユーザ別のサービスを実施することができるようになる。
【0049】
具体的には、本発明は、第2の態様として、
サービスを提供するサーバとして機能するノード(サーバ)と、サービスを受けるクライアントとして機能するノード(クライアント)とが複数接続されたネットワークに接続され、クライアントからサーバへのアクセスを中継する代理サーバとして機能するノード(代理サーバ)であって、
上記サーバによるサービスの提供で使用される通信路とは別の通信路を使って、上記サーバとの間で通信を行う2次通信手段を備えたことを特徴とした代理サーバを提供している。
【0050】
そして、本発明は、第3の態様として、第2の態様において、
中継対象のクライアントがアクセスしているサーバ上のリソースを検知する検知手段と、
上記検知手段が検知したリソースへの、中継対象のクライアントのアクセス頻度を測定する測定手段と、
上記測定手段が測定したアクセス頻度が予め定めた閾値を超えた場合に、上記2次通信手段を用いて、中継対象のクライアントがアクセスしているサーバのリソースを、該サーバから取得するリソース取得手段と、
上記リソース取得手段が取得したリソースを記憶するリソース記憶手段と、
中継対象のクライアントのアクセス先を、上記リソース記憶手段が記憶しているリソースに切り替えるアクセス先切替手段とをさらに備えたことを特徴として代理サーバを提供している。
【0051】
また、本発明は、第4の態様として、第2の態様において、
ユーザに固有のユーザデータを記憶するユーザデータ記憶手段と、
中継対象のクライアントから、ユーザデータをダウンロードするためのダウンロード要求が送信されてきた場合に、該ユーザデータの最新バージョン(以下、「最新ユーザデータ」と称する。)を上記ユーザデータ記憶手段が記憶しているか否かを判定するユーザデータ判定手段と、
最新ユーザデータを記憶していると上記ユーザデータ判定手段が判定した場合には、上記ユーザデータ記憶手段が記憶している最新ユーザデータを、中継対象のクライアントに転送する第1のユーザデータ転送手段と、
最新ユーザデータを記憶していないと上記ユーザデータ判定手段が判定した場合には、上記2次通信手段を用いて、最新ユーザデータを上記サーバから取得するユーザデータ取得手段と、
上記ユーザデータ取得手段が取得した最新ユーザデータを、上記ユーザデータ記憶手段に格納すると共に、格納した最新ユーザデータを、中継対象のクライアントに転送する第2のユーザデータ転送手段とをさらに備えたことを特徴とした代理サーバを提供している。
【0052】
なお、第4の態様において、
中継対象のクライアントからユーザデータが転送されてきた場合に、該ユーザデータを上記ユーザデータ記憶手段に格納するユーザデータ格納手段と、
上記ユーザデータ格納手段がユーザデータを格納した場合に、上記2次通信手段を用いて、最新ユーザデータの所在ノードである旨を上記サーバに通知する通知手段とをさらに備え、
上記ユーザデータ判定手段は、
上記2次通信手段を用いて、最新ユーザデータの所在ノードを問い合わせるための問い合わせ要求を上記サーバに送信し、その返答を取得することで、最新ユーザデータを上記ユーザデータ記憶手段が記憶しているか否かを判定するようにすることができる。
【0053】
ここで、特に、第4の態様の代理サーバと共にネットワークに接続されるサーバは、
サービスの提供で使用される通信路とは別の通信路を使って、上記代理サーバとの間で通信を行う2次通信手段と、
ユーザに固有のユーザデータを記憶するユーザデータ記憶手段と、
最新ユーザデータの所在ノードを記憶している所在ノード記憶手段と、
上記代理サーバから、最新ユーザデータの所在ノードである旨が通知された場合に、上記所在ノード記憶手段の記憶内容を更新する所在ノード更新手段と、
上記代理サーバから、最新ユーザデータの所在ノードを問い合わせるための問い合わせ要求が送信されてきた場合に、上記所在ノード記憶手段の記憶内容に基づいて、問い合わせ対象の最新ユーザデータの所在ノードを識別する所在ノード識別手段と、
上記所在ノード識別手段が識別した所在ノードが、問い合わせ元の代理サーバおよび自サーバのいずれかである場合に、上記2次通信手段を用いて、その旨の返答を該代理サーバに送信する第1の所在ノード返答手段と、
上記所在ノード識別手段が識別した所在ノードが、問い合わせ元の代理サーバおよび自サーバのいずれでもない場合に、上記2次通信手段を用いて、最新ユーザデータを該所在ノードから取得するユーザデータ取得手段と、
上記ユーザデータ取得手段が取得したユーザデータを上記ユーザデータ記憶手段に格納して、上記所在ノード記憶手段の記憶内容を更新すると共に、上記2次通信手段を用いて、最新ユーザデータの所在ノードが自サーバである旨の返答を、問い合わせ元の代理サーバに送信する第2の所在ノード返答手段とを備えるようにする。
【0054】
【発明の実施の形態】
以下、本発明の実施の形態について図面を参照して説明する。
【0055】
(第1の実施形態)
以下、本発明の第1の実施形態について、図1〜図7を参照して説明する。
【0056】
図1は第1の実施形態が適用されるネットワークシステムの構成図である。
【0057】
図1において、10はWAN、20はLANであり、ネットワーク層のプロトコルとして、インターネットプロトコル(以下、「IP」と称す。)を採用している。
【0058】
ノード1は、WAN10に接続され、その内部のメモリに格納しているプログラムを実行することで、ネットワーク内のクライアントにNCサービスを提供するネットワークコンピュータサーバ(以下、「NCS」と称す。)である。
【0059】
ノード2,7は、各々、WAN10,LAN20に接続され、その内部のメモリに格納しているプログラムを実行することで、クライアントからNCS1へのアクセスを中継するサービスプロキシサーバ(以下、「SPS」と称す。)である。
【0060】
ノード3は、LAN20に接続され、その内部のメモリに格納しているプログラムを実行することで、NCS1が提供するサービスを受けるクライアントとして稼働するネットワークコンピュータ(以下、「NC」と称す。)である。
【0061】
ノード4,5は、各々、WAN10,LAN20に接続され、その内部のメモリに格納しているプログラムを実行することで、ドメイン名とネットワークアドレス(本例では、IPアドレスである。)とを対応付けて管理し、NC3から問い合わせがあったIPアドレスを通知するドメインネームシステムサーバ(以下、「DNSサーバ」と称す。)である。具体的には、NC3は、ドメイン名を設定したリクエストメッセージを送信することで、そのドメイン名に対応するIPアドレスを問い合わせ、DNSサーバ4,5は、リクエストメッセージに設定されているドメイン名に対応するIPアドレスを設定した応答メッセージを、NC3に送信する。なお、DNSサーバ4,5は、目的のIPアドレスが分からない場合には、他のDNSサーバと協調してIPアドレスを求める。
【0062】
ノード6は、SPS2,7の位置情報および負荷状況を管理し、NC3から問い合わせがあったドメイン名に対応するIPアドレスを通知する際に、NC3の位置情報と自身の管理内容とに基づいて、通知するIPアドレスを動的に変更する動的DNSサーバ(以下、「DDNSサーバ」と称す。)である。
【0063】
ノード8は、WAN10とLAN20との間のメッセージ交換を可能とするためのゲートウェイサーバ(以下、「GWS」と称す。)である。
【0064】
図2はNCS1の構成図である。
【0065】
図2において、データ送受信部11は、WAN10に接続されたノードとの間で、メッセージの送受信を行い、また、稼働中のNCS1のモジュールとの間で、データやリソースの送受信を行う。
【0066】
NCプログラム転送部12は、WAN10に接続されたノードとの間で、NCプログラム本体やリソースやデータの転送を行う。
【0067】
遠隔手続き呼び出し部13は、WAN10に接続されたノードとの間で、遠隔手続き呼び出しを行う。
【0068】
ファイル転送部14は、WAN10に接続されたノードとの間で、リソースやデータの転送を行う。
【0069】
NCS実行部15は、NC3にNCサービスの提供を行う。
【0070】
SPSサポート部16は、SPS2,7との間で、NCサービス以外のリソースやデータの通信を行う。なお、SPSサポート部16は、後述する第2の実施形態〜第6の実施形態の動作を実現するために必要な構成要素であり、第1の実施形態では、必ずしも必要とされない。
【0071】
リソース格納部17は、データベース(以下、「DB」と称す。)ファイル171,ユーザファイル用ファイル172,アプリケーションプログラム用ファイル173を備え、NC3に提供するリソースやデータのマスターをこれらに保存し、必要に応じて、保存内容をNC3やSPS2,7に転送したり、保存内容を用いてDBサービスを実施したりする。
【0072】
図3はSPS2の構成図である。
【0073】
図3において、データ送受信部21は、LAN20に接続されたノードとの間で、メッセージの送受信を行い、また、稼働中のSPS2のモジュールとの間で、データやリソースの送受信を行う。
【0074】
NCプログラム転送部22は、LAN20に接続されたノードとの間で、NCプログラム本体やリソースやデータの転送を行う。
【0075】
ファイル転送部23は、LAN20に接続されたノードとの間で、リソースやデータの転送を行う。
【0076】
遠隔手続き呼び出し部24は、LAN20に接続されたノードとの間で、遠隔手続き呼び出しを行う。
【0077】
NC代理実行部25は、WAN10に接続されたNCS1からNCサービスの提供を受ける。
【0078】
NCS代理実行部27は、LAN20に接続されたNC3にNCサービスの提供を行う。
【0079】
SPS実行部26は、NC代理実行部25とNCS代理実行部27との間でメッセージ交換を行い、NC代理実行部25およびNCS代理実行部27に各種命令を指令する。また、後述する第2の実施形態〜第6の実施形態においては、SPS実行部26は、NCS1のSPSサポート部16との間で、NCサービスの提供で使用される通信路とは別の通信路を使って、NCサービスの実施と同期/非同期に、NCサービス以外のリソースやデータの通信を行う。
【0080】
リソース格納部28は、DBファイル281,ユーザファイル用ファイル282,アプリケーションプログラム用ファイル283を備え、NCS1から受け取ったリソースやデータをこれらに保存し、必要に応じて、保存内容をNC3に転送したり、保存内容を用いてDBのサービスを実施したりする。
【0081】
なお、SPS7の構成も、SPS2と同様である。
【0082】
次に、SPS2がNCS1の代理サーバとなるためにネットワークに参入する際の手続きについて説明する。
【0083】
SPS2のSPS実行部26は、DDNSサーバ6のIPアドレスをオフラインで入手し、SPS2のIPアドレスおよび位置情報を、DDNSサーバ6に送信する。ここで、位置情報としては、例えば、SPS2が存在する地域の電話番号の市外局番や、SPS2が存在する位置の緯度・経度を用いることができる。本例では、市外局番および緯度・経度の両方を用いることとする。
【0084】
DDNSサーバ6は、SPS2からこれらの情報を受け取ると、その内部のメモリに格納しているSPS情報リストにSPS2を登録すると共に、SPS2が運用時に必要となる最小限のリソースやデータ(例えば、ログイン用アプリケーションプログラムや基本アプリケーションプログラムである。)と、NCS1のIPアドレスとを、SPS2に送信する。
【0085】
SPS2のSPS実行部26は、DDNSサーバ6からこれらの情報を受け取ると、準備が完了した旨をDDNSサーバ6に通知し、DDNSサーバ6は、SPS2から通知を受けた時点で、SPS情報リストにおけるSPS2の登録内容を有効にする。
【0086】
その後、SPS2は、定期的に、SPS2の負荷状況をDDNSサーバ6に通知し、通知を受けたDDNSサーバ6は、SPS情報リストの内容を更新する。ここで、負荷状況としては、例えば、メモリの使用量やCPUの稼働率といったリソースの消費状況を用いるようにしたり、接続ユーザ数を用いるようにしたりすることができる。
【0087】
なお、SPS情報リストの内容は、図7に示す通りであり、図7の例では、負荷状況として、メモリの使用量を用いている。
【0088】
また、SPS7がNCS1の代理サーバとなるためにネットワークに参入する際の手続きも、上述と同様である。
【0089】
これにより、DDNSサーバ6は、SPS2,7の位置情報を知ることができると共に、SPS2,7の負荷状況を把握することができるので、後述する動的対応付け処理を実行することが可能となる。
【0090】
図4はIPアドレスの問い合わせに使用されるリクエストメッセージのフォーマットを示す図である。
【0091】
なお、DNSサーバが提供するサービスに関するメッセージフォーマットの詳細については、「TCP/IPによるネットワーク構築」,Douglas・Comer著,共立出版社発行を参照されたい。
【0092】
第1の実施形態においては、IPアドレスの問い合わせに使用されるリクエストメッセージには、クライアントであるNC3のIPアドレスおよび位置情報が付加されるようになっている。ここで、位置情報としては、上述と同様に、例えば、NC3が存在する地域の電話番号の市外局番や、NC3が存在する位置の緯度・経度を用いることができる。本例では、市外局番および緯度・経度の両方を用いることとする。また、この位置情報は、DNSサーバが上位のDNSサーバにリクエストメッセージを転送するときに破棄されることはない。
【0093】
次に、NC3がSPSのIPアドレスを取得する方法について、図1,図5,図6を用いて説明する。
【0094】
図5に示すように、NC3は、まず、自身のIPアドレスおよび位置情報を取得する(ステップ1001)。なお、これらの情報は、NC3のユーザからの入力によって取得するようにすることができるが、特に、緯度・経度については、センサ等の検知内容から取得するようにすることができる。
【0095】
続いて、NC3は、図4に示したリクエストメッセージを作成し(ステップ1002)、作成したリクエストメッセージを、自身のDNSサーバとして予め登録されているDNSサーバ(ここでは、DNSサーバ4とする。)に送信する(ステップ1003)。
【0096】
そこで、DNSサーバ4は、送信されてきたリクエストメッセージからドメイン名を取得し、取得したドメイン名に対応するIPアドレスを自身が管理している場合には、そのIPアドレスを設定した応答メッセージをNC3に送信する。また、DNSサーバ4は、目的のIPアドレスを自身が管理していない場合には、送信されてきたリクエストメッセージを、自身の上位のDNSサーバとして予め登録されているDNSサーバ(ここでは、DNSサーバ5とする。)に転送する。
【0097】
そこで、DNSサーバ5は、送信されてきたリクエストメッセージからドメイン名を取得し、取得したドメイン名に対応するIPアドレスを自身が管理している場合には、そのIPアドレスを設定した応答メッセージをDNSサーバ4に送信し、DNSサーバ4は、この応答メッセージをNC3に転送する。また、DNSサーバ5は、目的のIPアドレスを自身が管理していない場合には、上述と同様に、送信されてきたリクエストメッセージを、自身の上位のDNSサーバとして予め登録されているDNSサーバ(ここでは、DDNSサーバ6とする。)に転送する。
【0098】
さて、図5に戻って、リクエストメッセージを送信したNC3は、応答メッセージが送信されてくるのを待ち(ステップ1004〜1006)、予め定めた時間内に応答メッセージが送信されてこなかった場合には、ステップ1003に戻って、リトライを行う。
【0099】
ところで、第1の実施形態においては、DDNSサーバ6は、ドメイン名とIPアドレスとを動的に対応付け、通知するIPアドレスを変更する動的対応付け処理を実行するようになっており、以下、動的対応付け処理について、図6を用いて説明する。
【0100】
図6に示すように、DDNSサーバ6は、リクエストメッセージを待ち(ステップ1011)、リクエストメッセージを受信すると(ステップ1012)、そのリクエストメッセージからドメイン名を取得し、取得したドメイン名がNCS1のドメイン名であるか否かを調べる(ステップ1013)。
【0101】
取得したドメイン名がNCS1のドメイン名でない場合には(ステップ1013)、DDNSサーバ6は、通常のDNSサーバ4,5と同様に、ドメイン名に対応するIPアドレスを設定した応答メッセージを返信する(ステップ1021)。なお、NCS1のドメイン名以外のドメイン名とは、例えば、メールサーバ等のドメイン名である。
【0102】
また、取得したドメイン名がNCS1のドメイン名である場合には(ステップ1013)、DDNSサーバ6は、リクエストメッセージからNC3のIPアドレスおよび位置情報を取得し(ステップ1014)、SPS情報リストを読み込む(ステップ1015)。
【0103】
SPS情報リストは、図7に示すように、ネットワーク上に分散して配置されているSPS2,7の各々について、IPアドレス,位置情報,負荷状況が登録されている。
【0104】
そこで、DDNSサーバ6は、SPS情報リストを参照して、各SPSの負荷状況をチェックすると共に(ステップ1016)、各SPSのIPアドレスとNC3のIPアドレスとから、各SPSとNC3との間の論理的な距離を算出し(ステップ1017)、各SPSの位置情報とNC3の位置情報とから、各SPSとNC3との間の物理的な距離を算出する(ステップ1018)。
【0105】
続いて、DDNSサーバ6は、ステップ1017およびステップ1018で算出した距離から、NC3にとって最適なSPSを選択し(ステップ1019)、選択したSPSのIPアドレスを設定した応答メッセージを、NCまたはDNSサーバに返信する(ステップ1020)。
【0106】
NC3にとって最適なSPSとは、具体的には、算出した距離ができるだけ小さいSPSであって、かつ、その負荷状況ができるだけ小さいSPSである。ただし、算出した距離と負荷状況との間に関連性がないことから、距離が最小であっても、負荷状況が最大である場合も考えられる。そこで、DDNSサーバ6は、「距離が最小であるSPSの負荷状況が80%以上である場合には、2番目に距離が小さいSPSを選択する。」といった、予め定めた選択のための規則に従って、SPSを選択するようにすることが好ましい。
【0107】
これにより、NC3に対して、NC3にとって最適なSPS(本例では、SPS2となる。)のIPアドレスが通知されることとなり、NC3は、IPアドレスが通知されたSPS2を、NCS1の代理サーバとして、NCサービスを受けることとなる。
【0108】
以上説明したように、第1の実施形態によれば、DDNSサーバ6は、ドメイン名とIPアドレスとの固定的な対応関係のみを管理している従来のDNSサーバ4,5とは異なり、ネットワーク上に分散して配置されているSPS2,7の位置情報および負荷状況を管理し、NC3から問い合わせがあったドメイン名に対応するNCS1のIPアドレスを通知する際に、NC3の位置情報と自身の管理内容とに基づいて、NC3にとって最適な代理サーバであるSPSを選択し、選択したSPSのIPアドレスを通知することができる。
【0109】
従って、NC3は、NCS1を指定するだけで、NCS1へのアクセス時に、常に、最適な代理サーバであるSPSにアクセスを行うことができるので、NC3のユーザは、レスポンス劣化を招くことなく、快適な環境で作業することができるという効果がある。
【0110】
また、SPS2,7でユーザアカウントを管理する必要がないので、ユーザは、別のNCで作業することが可能となるという効果がある。
【0111】
また、SPS2,7は、NCS1の代理サーバとなるためにネットワークに参入する際の手続きを1度行ってしまえば、再度手続きを行う必要がほとんどないので、手続きに要する手間が削減されるという効果がある。
【0112】
(第2の実施形態)
ところで、上述した第1の実施形態において、NC3は、代理サーバとして選択されたSPS2に対して、NCS1を利用するのと同じ手続きでアクセス認証を行い、SPS2からNCサービスを受けるようにすることができる。
【0113】
以下、このようにした場合の実施形態を、第2の実施形態として、図8を用いて説明する。
【0114】
図8に示すように、応答メッセージからSPS2のIPアドレスを入手したNC3が、SPS2のNCS代理実行部27にアクセス要求を行うと、NCS代理実行部27は、ログインを行うためのログイン画面をNC3に転送する。
【0115】
このように、第2の実施形態においては、SPS2は、クライアントであるNC3にとっては、NCS1として機能し、NCS1がNC3に対して行うユーザ認証要求を代行する。
【0116】
NC3において、ユーザが、転送されてきたログイン画面でログイン情報(具体的には、ユーザIDおよびパスワードである。)を入力すると、NC3は、入力されたログイン情報を設定したログイン要求を、SPS2のNCS代理実行部27に送信する。
【0117】
SPS2のNCS代理実行部27は、NC3からログイン要求を受け取ると、そのログイン要求に設定されているログイン情報を、SPS実行部26に転送する。SPS実行部26は、NCS代理実行部27からログイン情報を受け取ると、NC代理実行部25に対して、受け取ったログイン情報を転送すると共に、NCS1にアクセス要求を行うよう指示する。NC代理実行部25は、SPS実行部26からの指示に従って、NCS1にアクセス要求を行い、NCS1からログイン画面が転送されてくると、SPS実行部26から受け取ったログイン情報を使用して、NCS1にログイン要求を送信する。
【0118】
このように、第2の実施形態においては、SPS2は、NCS1にとっては、クライアントであるNC3として機能し、NC3がNCS1に対して行うユーザ認証応答を代行する。
【0119】
NCS1は、SPS2のNC代理実行部25からログイン要求を受け取ると、そのログイン要求に設定されているログイン情報を使用してユーザ認証を行い、認証が得られた場合には、ログイン応答と、ユーザの作業用画面を提供するためのユーザ環境ファイルとを、SPS2のNC代理実行部25に転送する。
【0120】
SPS2のNC代理実行部25は、NCS1から転送されてきたログイン応答およびユーザ環境ファイルを、リソース格納部28に格納すると共に、SPS実行部26に対して、ログインの成功を通知し、SPS実行部26は、さらに、NCS代理実行部27に対して、ログインの成功を通知する。NCS代理実行部27は、ログインの成功が通知されると、リソース格納部28からログイン応答およびユーザ環境ファイルを取り出し、取り出したログイン応答およびユーザ環境ファイルをNC3に転送し、ログイン処理を終了する。
【0121】
このように、第2の実施形態においては、SPS2は、NC3にとっては、NCS1として機能し、NCS1がNC3に対して行うユーザ認証結果通知を代行する。
【0122】
なお、NCS1でユーザ認証に失敗した場合には、NCS1からSPS2に対して、ログインの失敗を示すメッセージが送信されてくるので、NC3においては、ログインの失敗を示すメッセージが表示されることとなる。また、NC3のユーザは、再度、ログイン情報を入力して、ログイン要求を試みることも可能である。
【0123】
以上説明したように、第2の実施形態によれば、代理サーバとして選択されたSPS2が、ユーザ認証に関して、NC3にとってはNSC1として機能し、NCS1にとってはNC3として機能するようにしているので、SPS2でユーザアカウントを管理する必要がない上、さらに、NC3およびNCS1の双方において、ユーザ認証の手続きを変更することなく、ログイン処理を行うことが可能となるという効果がある。
【0124】
(第3の実施形態)
ところで、上述した第1の実施形態において、NC3が、代理サーバとして選択されたSPS2に対してアクセスしている際に(実際には、上述した第2の実施形態で説明したログインに成功した後の状態である。)、NCS1からアプリケーションプログラムをダウンロードして使用する場合には、SPS2は、従来のプロキシ・キャッシュサーバのように、該アプリケーションプログラムを内部にキャッシングしているならば、内部にキャッシングしているアプリケーションプログラムをNC3に転送するようにすることで、トラフィックの軽減・サーバ負荷の軽減を図ることを可能とすることができる。
【0125】
以下、このようにした実施形態を、第3の実施形態として、図9を用いて説明する。
【0126】
第3の実施形態においては、NC3にダウンロードされるアプリケーションプログラムが、常に最新バージョンであるようにする必要がある点、すなわち、SPS2が内部にキャッシングしているアプリケーションプログラムが、常に最新バージョンであるようにする必要があるという点が重要である。
【0127】
図9に示すように、NC3において、ユーザが、自身の作業用画面でアプリケーションプログラムの使用要求を指示すると、NC3は、該アプリケーションプログラムのダウンロード要求を、SPS2のNCS代理実行部27に送信する。
【0128】
SPS2のNCS代理実行部27は、NC3からダウンロード要求を受け取ると、受け取ったダウンロード要求の要求内容を、SPS実行部26に転送する。SPS実行部26は、NCS代理実行部27から要求内容を受け取ると、リソース格納部28のアプリケーションプログラム用ファイル283をチェックし、要求されたアプリケーションプログラムが格納されているか否かをチェックする。
【0129】
要求されたアプリケーションプログラムが格納されている場合には、SPS2のSPS実行部26は、該アプリケーションプログラムのバージョンを問い合わせるためのアプリケーションバージョンチェック要求を、NCS1のSPSサポート部16に送信する。
【0130】
NCS1のSPSサポート部16は、SPS2のSPS実行部26からアプリケーションバージョンチェック要求を受け取ると、問い合わせがあったアプリケーションプログラムのバージョンを示すアプリケーションバージョンチェック応答を、SPS2のSPS実行部26に送信する。
【0131】
なお、第3の実施形態において、アプリケーションバージョンチェック要求およびその応答は、SPS2の遠隔手続き呼び出し部24とNCS1の遠隔手続き呼び出し部13との間で、NCS1によるNCサービスの提供で使用される通信路とは別の通信路を使って交換される。
【0132】
SPS2のSPS実行部26は、NCS1のSPSサポート部16からアプリケーションバージョンチェック応答を受け取ると、受け取ったアプリケーションバージョンチェック応答が示すバージョンと、リソース格納部28のアプリケーションプログラム用ファイル283に格納されているアプリケーションプログラムのバージョンとを照合することで、リソース格納部28のアプリケーションプログラム用ファイル283に格納されているアプリケーションプログラムが最新バージョンであるか否かを判定する。
【0133】
最新バージョンである場合には、SPS2のSPS実行部26は、NCS代理実行部27に対して、リソース格納部28のアプリケーションプログラム用ファイル283に格納されているアプリケーションプログラムをダウンロードするよう指示し、NCS代理実行部27は、SPS実行部26からの指示に従って、リソース格納部28のアプリケーションプログラム用ファイル283に格納されているアプリケーションプログラムについて、NC3がNCS1に対して通常行う手続きと同じ手続きで、そのアプリケーションプログラムをダウンロードを実行する。
【0134】
また、要求されたアプリケーションプログラムが、リソース格納部28のアプリケーションプログラム用ファイル283に格納されていない場合や、リソース格納部28のアプリケーションプログラム用ファイル283に格納されているアプリケーションプログラムが最新バージョンでない場合には、SPS2のSPS実行部26は、NC代理実行部24に対して、NCS代理実行部27から受け取った要求内容を転送すると共に、NCS1に該アプリケーションプログラムのダウンロード要求を行うよう指示する。NC代理実行部24は、SPS実行部26からの指示に従って、SPS実行部26から受け取った要求内容を使用して、NCS1のNCS実行部15にダウンロード要求を送信する。
【0135】
NCS1のNCS実行部15は、SPS2のNC代理実行部24からダウンロード要求を受け取ると、要求されたアプリケーションプログラムのダウンロードを実行するので、SPS2のNC代理実行部24は、NCS1のNCS実行部15からアプリケーションプログラムを取得すると、取得したアプリケーションプログラムを、リソース格納部28のアプリケーションプログラム用ファイル283に格納すると共に、SPS実行部26に対して、ダウンロードの成功を通知する。
【0136】
SPS2のSPS実行部26は、ダウンロードの成功が通知されると、NCS代理実行部27に対して、リソース格納部28のアプリケーションプログラム用ファイル283に格納されているアプリケーションプログラムをダウンロードするよう指示し、NCS代理実行部27は、SPS実行部26からの指示に従って、リソース格納部28のアプリケーションプログラム用ファイル283に格納されているアプリケーションプログラムについて、NC3がNCS1に対して通常行う手続きと同じ手続きで、そのアプリケーションプログラムをダウンロードを実行する。
【0137】
以上説明したように、第3の実施形態によれば、代理サーバとして選択されたSPS2は、NC3からダウンロードが要求されたアプリケーションプログラムの最新バージョンが、リソース格納部28のアプリケーションプログラム用ファイル283に格納されているならば、そのアプリケーションプログラムをNC3に転送するようにすることができる。
【0138】
従って、SPS2からNCS1への不要なアクセスが生じず、トラフィックの軽減・サーバ負荷の軽減を図ることを可能とするという効果がある。また、SPS2においても、NC3からのダウンロード要求に応じたタイミングで、常に最新バージョンのアプリケーションプログラムが格納されるようになり、NC3にとって必要な情報のみが格納されることとなるので、記憶媒体の消費量を軽減させることが可能となるという効果がある。
【0139】
(第4の実施形態)
さらに、上述した第1の実施形態において、NC3のユーザが、自身の作業用画面を用いて、過去に編集したユーザファイルを再編集する場合、すなわち、NC3が、自身のユーザが過去に編集したユーザファイルをダウンロードして使用する場合に、代理サーバとして選択されたSPS2は、該ユーザファイルの最新バージョンを内部にキャッシングしているならば、そのユーザファイルをNC3に転送するようにすることで、トラフィックの軽減・サーバ負荷の軽減を図ることを可能とすることができる。
【0140】
以下、このようにした実施形態を、第4の実施形態として、図10および図11を用いて説明する。
【0141】
図10に示すように、NC3において、ユーザの作業用画面には、過去に編集したユーザファイルのファイル名が記録されており、ユーザが、そのファイル名を指定してユーザファイルの使用要求を指示すると、NC3は、該ユーザファイルのダウンロード要求を、SPS2のNCS代理実行部27に送信する。
【0142】
SPS2のNCS代理実行部27は、NC3からダウンロード要求を受け取ると、受け取ったダウンロード要求の要求内容を、SPS実行部26に転送する。SPS実行部26は、NCS代理実行部27から要求内容を受け取ると、要求されたユーザファイルのバージョンを問い合わせるためのユーザファイルバージョンチェック要求を、NCS1のSPSサポート部16に送信する。
【0143】
NCS1のSPSサポート部16は、SPS2のSPS実行部26からユーザファイルバージョンチェック要求を受け取ると、ユーザファイルポインタリスト161を参照し、問い合わせがあったユーザファイルの最新バージョンが何処に存在しているかを調べる。
【0144】
なお、ユーザファイルポインタリスト161には、ユーザファイルごとに、その最新バージョンの存在場所を示す情報が格納されており、その情報の格納方法については、図11を用いて後述する。また、最新バージョンのユーザファイルとは、最も最近のタイムスタンプが付与されたユーザファイルであることを意味している。
【0145】
問い合わせがあったユーザファイルの最新バージョンが、SPS7に存在していることが分かった場合には、NCS1のSPSサポート部16は、該ユーザファイルのダウンロード要求を、SPS7のSPS実行部26に送信することで、SPS7から該ユーザファイルを取得し、取得したユーザファイルを、リソース格納部17のユーザファイル用ファイル172に格納する。なお、このとき、SPSサポート部16は、ユーザファイルポインタリスト161の格納内容を、取得したユーザファイルの最新バージョンの存在場所がNCS1である旨を示す情報に書き替える。
【0146】
そして、NCS1のSPSサポート部16は、最新バージョンのユーザファイルの存在場所(ここでは、NCS1となる。)を示すユーザファイルバージョンチェック応答を、SPS2のSPS実行部26に送信する。
【0147】
また、要求されたユーザファイルの最新バージョンが、NCS1のユーザファイル用ファイル172に格納されていることが分かった場合には、NCS1のSPSサポート部16は、最新バージョンのユーザファイルの存在場所(ここでは、NCS1となる。)を示すユーザファイルチェック応答を、SPS2のSPS実行部26に送信する。
【0148】
さらに、要求されたユーザファイルの最新バージョンが、SPS2に存在していることが分かった場合には、NCS1のSPSサポート部16は、最新バージョンのユーザファイルの存在場所(ここでは、SPS2となる。)を示すユーザファイルバージョンチェック応答を、SPS2のSPS実行部26に送信する。
【0149】
なお、第4の実施形態において、ユーザファイルバージョンチェック要求およびその応答は、SPS2の遠隔手続き呼び出し部24とNCS1の遠隔手続き呼び出し部13との間で、NCS1によるNCサービスの提供で使用される通信路とは別の通信路を使って交換される。
【0150】
SPS2のSPS実行部26は、NCS1のSPSサポート部16からユーザファイルバージョンチェック応答を受け取ると、リソース格納部28のユーザファイル用ファイル282をチェックし、要求されたユーザファイルが格納されているか否かをチェックする。
【0151】
要求されたユーザファイルが格納されている場合には、SPS2のSPS実行部26は、受け取ったユーザファイルバージョンチェック応答によって、リソース格納部28のユーザファイル用ファイル282に格納されているユーザファイルが最新バージョンであるか否かを判定する。
【0152】
最新バージョンである場合には、SPS2のSPS実行部26は、NCS代理実行部27に対して、リソース格納部28のユーザファイル用ファイル282に格納されているユーザファイルをダウンロードするよう指示し、NCS代理実行部27は、SPS実行部26からの指示に従って、リソース格納部28のユーザファイル用ファイル282に格納されているユーザファイルについて、NC3がNCS1に対して通常行う手続きと同じ手続きで、そのユーザファイルをダウンロードを実行する。
【0153】
また、要求されたユーザファイルが、リソース格納部28のユーザファイル用ファイル282に格納されていない場合は、リソース格納部28のユーザファイル用ファイル282に格納されているユーザファイルが最新バージョンでない場合には、最新バージョンのユーザファイルの存在場所がNCS1であることが分かるので、SPS2のSPS実行部26は、NC代理実行部24に対して、NCS代理実行部27から受け取った要求内容を転送すると共に、NCS1に該ユーザファイルのダウンロード要求を行うよう指示する。NC代理実行部24は、SPS実行部26からの指示に従って、SPS実行部26から受け取った要求内容を使用して、NCS1のSPSサポート部16にダウンロード要求を送信する。
【0154】
NCS1のSPSサポート部16は、SPS2のNC代理実行部24からダウンロード要求を受け取ると、要求されたユーザファイルのダウンロードを実行するので、SPS2のNC代理実行部24は、NCS1からユーザファイルを取得すると、取得したユーザファイルを、リソース格納部28のユーザファイル用ファイル282に格納すると共に、SPS実行部26に対して、ダウンロードの成功を通知する。
【0155】
SPS2のSPS実行部26は、ダウンロードの成功が通知されると、NCS代理実行部27に対して、リソース格納部28のユーザファイル用ファイル282に格納されているユーザファイルをダウンロードするよう指示し、NCS代理実行部27は、SPS実行部26からの指示に従って、リソース格納部28のユーザファイル用ファイル282に格納されているユーザファイルについて、NC3がNCS1に対して通常行う手続きと同じ手続きで、そのユーザファイルをダウンロードを実行する。
【0156】
以上説明したように、第4の実施形態によれば、代理サーバとして選択されたSPS2は、NC3からダウンロードが要求されたユーザファイルの最新バージョンが、リソース格納部28のユーザファイル用ファイル282に格納されているならば、そのユーザファイルをNC3に転送するようにすることができる。
【0157】
従って、SPS2からNCS1への不要なアクセスが生じず、トラフィックの軽減・サーバ負荷の軽減を図ることを可能とするという効果がある。また、SPS2においても、NC3からのダウンロード要求に応じたタイミングで、常に最新バージョンのユーザファイルが格納されるようになり、NC3にとって必要な情報のみが格納されることとなるので、記憶媒体の消費量を軽減させることが可能となるという効果がある。
【0158】
また、SPS2がリソース管理やユーザ管理を行う必要がないにも関わらず、ユーザ別のNCサービスを実施することができるという効果がある。そこで、SPS2での特別な管理コストが不要となり、実質的に管理が必要となるのは、NCS1だけになるという効果がある。
【0159】
さて、ここで、NCS1が、ユーザファイルの最新バージョンの存在場所を示す情報を、ユーザファイルポインタリスト161に格納する際の動作について、引き続き、図11を用いて説明する。
【0160】
NC3のユーザは、上述したようにして取得した最新バージョンのユーザファイルの編集作業を終了し、該ユーザファイルの格納要求を指示すると、NC3は、該ユーザファイルのアップロード要求を、該ユーザファイルの本体と共に、SPS2のNCS代理実行部27に送信する。
【0161】
SPS2のNCS代理実行部27は、NC3からアップロード要求を受け取ると、該アップロード要求と共に受け取ったユーザファイルの本体を、リソース格納部28のユーザファイル用ファイル282に格納し、格納が完了すると、NC3に対して、格納の完了を通知すると共に、SPS実行部26に対しても、格納の完了を通知する。SPS実行部26は、格納の完了が通知されると、ユーザファイルのバージョンが変更したことを示すユーザファイルバージョン通知を、NCS1のSPSサポート部16に送信する。
【0162】
NCS1のSPSサポート部16は、このユーザファイルバージョン通知を受けて、ユーザファイルポインタリスト161を更新することができる。すなわち、SPSサポート部16は、ユーザファイルポインタリスト161の格納内容を、通知されたユーザファイルの最新バージョンの存在場所がSPS2である旨を示す情報に書き替える。
【0163】
そして、ユーザファイルポインタリスト161の更新を完了すると、NCS1のSPSサポート部16は、更新の完了を示すユーザファイルバージョン確認を、SPS2のSPS実行部26に送信する。
【0164】
なお、SPS2のSPS実行部26は、NCS1のSPSサポート部16からユーザファイルバージョン確認が返送されてくるまで、ユーザファイルバージョン通知の送信を続けるようにする。
【0165】
ところで、第4の実施形態においては、NCS1は、問い合わせがあったユーザファイルの最新バージョンの存在場所が、NCS1でもなく、問い合わせ元のSPS2でもない場合に、ユーザファイルバージョンチェック応答を送信する前に、該ユーザファイルを存在場所(上述の例では、SPS7である。)から取得するようにしているが、最新バージョンのユーザファイルの存在場所がSPS7である旨を示すユーザファイルバージョンチェック応答を送信し、その後、SPS2からダウンロード要求が送信されてきたときに、ユーザファイルの最新バージョンをSPS7から取得するようにしてもよい。
【0166】
(第5の実施形態)
さて、上述した第1の実施形態において、NC3のユーザが、自身の作業用画面を用いて、DBの検索を行っている場合、すなわち、NC3が、代理サーバとして選択されたSPS2を経由して、NCS1のDBファイル171にアクセスしている場合に、そのアクセス頻度が高いときには、NCS1からSPS2にDB本体を転送するようにすることで、トラフィックの軽減・サーバ負荷の軽減を図ることを可能とすることができる。
【0167】
以下、このようにした実施形態を、第5の実施形態として、図12を用いて説明する。
【0168】
図12に示すように、NC3において、ユーザが、ユーザの作業用画面でDBの検索要求を指示すると、NC3は、DBへのアクセス要求を、SPS2のNCS代理実行部27に送信する。
【0169】
SPS2のNCS代理実行部27は、NC3からアクセス要求を受け取ると、受け取ったアクセス要求の要求内容を、SPS実行部26に転送する。SPS実行部26は、NCS代理実行部27から受け取った要求内容を、NC代理実行部24に転送するが、第5の実施形態においては、このとき、SPS実行部26が、NC3からDBへのアクセス回数を計数するようにしている。すなわち、例えば、SPS実行部26は、NC3に対応するDBアクセスカウンタをインクリメントするようにする。
【0170】
SPS2のNC代理実行部24は、SPS実行部26から要求内容を受け取ると、受け取った要求内容を使用して、アクセス要求を作成し、作成したアクセス要求をNCS1のNCS実行部15に送信することで、NCS1のNCS実行部15を介して、DBファイル171にアクセスする。
【0171】
なお、アクセス結果は、アクセス要求とは逆の経路で、NCS1からNC3まで、SPS2を経由して届けられる。
【0172】
そして、第5の実施形態においては、SPS2のSPS実行部26が、NC3からDBへのアクセス回数(DBアクセスカウンタの値)が、予め定めた回数を超えたか否かを判定し、超えた場合には、NCS1のNCSサポート部16に対して、DB本体の転送を要求するDB転送要求を送信するようにしている。
【0173】
NCS1のNCSサポート部16は、SPS2のSPS実行部26からDB転送要求を受け取ると、DBファイル171への書き込みを禁止するなどの、DBファイル171へのアクセスをロックする処理を実行した後、DB本体の送信準備を開始し、送信準備が完了すると、DB本体の転送を許可することを示すDB転送応答を、SPS2のSPS実行部26に送信する。
【0174】
なお、DBへの書き込みが発生している場合には、NCS1のNCSサポート部16は、DB本体の転送を許可しないことを示すDB転送応答を、SPS2のSPS実行部26に送信する。
【0175】
また、第5の実施形態において、DB転送要求およびその応答は、SPS2のファイル転送部22とNCS1のファイル転送部14との間で、NCS1によるNCサービス(ここでは、DB検索サービスである。)の提供で使用される通信路とは別の通信路を使って交換される。
【0176】
SPS2のSPS実行部26は、NCS1のNCSサポート部16から、DB本体の転送を許可することを示すDB転送応答を受け取ると、リソース格納部28のDBファイル281上にDB本体の格納領域を確保するなど、DB本体の受信準備を開始し、受信準備が完了すると、DB本体の転送開始を要求するDB転送開始要求を、NCS1のSPSサポート部16に送信する。
【0177】
NCS1のSPSサポート部16は、SPS2のSPS実行部26からDB転送開始開始要求を受け取ると、DBファイル171に格納されているDB本体を取り出して、SPS2のSPS実行部26に転送し、転送が完了すると、転送が完了したことを示すDB転送終了を、SPS2のSPS実行部26に送信する。
【0178】
なお、第5の実施形態において、DB転送開始要求,DB本体の転送,DB転送終了は、SPS2のファイル転送部22とNCS1のファイル転送部14との間で、NCS1によるNCサービス(ここでは、DB検索サービスである。)の提供で使用される通信路とは別の通信路を使って交換される。
【0179】
一方、SPS2のSPS実行部26は、NCS1のSPSサポート部16からDB本体を受け取ると、受け取ったDB本体を、順次、リソース格納部28のDBファイル281上に確保しておいた格納領域に格納していく。そして、SPS実行部26は、NCS1のSPSサポート部16からDB転送終了を受け取ると、DB本体の転送が完了したことが分かるので、DBアクセスカウンタをリセットすると共に、NC3のアクセス先を、BCS1のDBファイル171から、リソース格納部28のDBファイル281に変更するための処理を行う。この処理は、具体的には、NC3のアクセス先を記述したアクセスポインタを、NSC1からSPS2に貼り替える処理である。
【0180】
以降は、SPS2のNCS代理実行部27がNC3から受け取ったアクセス要求が、SPS実行部26に転送されると、SPS実行部26によって、リソース格納部28のDBファイル281にアクセスされて、検索結果が、NCS代理実行部27を介して、NC3に届けられることとなる。
【0181】
以上説明したように、第5の実施形態によれば、代理サーバとして選択されたSPS2は、NC3からのDBへのアクセス頻度が高い場合に、NCS1からDB本体を転送してもらい、このDB本体を使用して、NCS1が提供するDB検索サービスと同様のDB検索サービスを、NC3に提供するようにすることができる。
【0182】
従って、トラフィックの軽減・サーバ負荷の軽減を図ることができると共に、NC3に快適なユーザ作業環境を提供することができるという効果がある。
【0183】
(第6の実施形態)
ここで、上述した第2の実施形態で説明したログイン処理に対応するログアウト処理を行うようにした場合の実施形態を、第6の実施形態として、図13を用いて説明しておく。
【0184】
図13に示すように、NC3のユーザが、ログアウトを指示すると、NC3は、ログアウト要求を、SPS2のNCS代理実行部27に送信する。
【0185】
SPS2のNCS代理実行部27は、NC3からログアウト要求を受け取ると、NC3のユーザの作業用画面を保持するなどの、ログアウト処理を行った後、ログアウトの完了を通知するログアウト応答をNC3に送信する。
【0186】
NC3は、SPS2のNCS代理実行部27からログアウト応答を受け取ると、ユーザの作用用画面を閉じて、NCサービスを終了する。
【0187】
このように、第6の実施形態においては、SPS2は、クライアントであるNC3にとっては、NCS1として機能し、NCS1がNC3に対して行うログアウト応答を代行する。
【0188】
また、SPS2のNCS代理実行部27は、NC3から受け取ったログアウト要求に設定されているログアウト情報を、SPS実行部26に転送し、SPS実行部26は、さらに、NCS代理実行部27から受け取ったログアウト情報を、NC代理実行部25に転送すると共に、NCS1に対してログアウト要求を送信するよう指示する。
【0189】
SPS2のNC代理実行部25は、SPS実行部26からの指示に従って、NCS1のNCS実行部15にログアウト要求を行い、NCS1のNCS実行部15からログアウト応答を受け取る。
【0190】
このように、第6の実施形態においては、SPS2は、NCS1にとっては、クライアントであるNC3として機能し、NC3がNCS1に対して行うログアウト要求を代行する。
【0191】
第6の実施形態においては、さらに、SPS2のSPS実行部26は、NC3のユーザがそれまで実行してきた処理のログを解析し、NC3のユーザが使用したアプリケーションプログラムのバージョンや、NC3のユーザが使用したユーザファイルや、NC3のユーザがアクセスしたDBについての履歴を作成した後、NCS1のSPSサポート部16に対して、ユーザのログアウト時の作業用画面を転送してから、代理サーバとしての処理を終了する。
【0192】
これにより、第2の実施形態で説明したログイン処理が行われたときには、ログイン要求を行ったNCに対して、第6の実施形態でNCS1に転送された作業用画面を提供するためのユーザ環境ファイルが転送されてくることとなる。
【0193】
ところで、上述した第2の実施形態から第6の実施形態で説明したSPSは、特に、次世代インターネット/イントラネットシステムとして重要視されている、クライアント管理を全てサーバ側で行うことをコンセプトとしたクライアント−サーバ型のネットワークシステムにおいて、ネットワーク上に分散して配置されるようにすることで、その効果を発揮することができる。
【0194】
なた、上述した第2の実施形態〜第6の実施形態で説明したSPSの動作は、実は、上述した第1の実施形態によって最適な代理サーバとして選択されたSPSでなく、従来のDNSサーバによってドメイン名とIPアドレスとが固定的に管理されているSPSであっても、適用することが可能である。
【0195】
すなわち、DNSSサーバ6が存在しない従来のネットワークシステムであっても、NCSおよびSPSの構成を、各々、図2および図3に示した構成とすることで、上述した第2の実施形態〜第6の実施形態を適用し、これらの効果と同じ効果を得ることが可能である。
【0196】
【発明の効果】
以上説明したように、本発明は、ドメイン名とアドレスとの固定的な対応関係のみを管理している従来のDNSサーバとは異なり、ネットワーク上に分散して配置されている代理サーバの位置情報および負荷状況を管理し、クライアントから問い合わせがあったドメイン名に対応するサーバのアドレスを通知する際に、クライアントの位置情報と管理内容とに基づいて、クライアントにとって最適な代理サーバを選択し、選択した代理サーバのアドレスを通知するようにした代理サーバ選択装置(上述した動的DNSサーバである。)を設けるようにしている。
【0197】
従って、クライアントは、サービスを受けようとするサーバを指定するだけで、そのサーバへのアクセス時に、常に、最適な代理サーバにアクセスを行うことができるので、クライアントのユーザは、レスポンス劣化を招くことなく、快適な環境で作業することができるという効果がある。
【0198】
また、以上説明したように、本発明は、代理サーバが、サーバによるサービスの提供で使用される通信路とは別の通信路を使って、サーバとの間でリソースやデータを通信するようにしている。
【0199】
従って、代理サーバが、クライアントからの要求に応じたタイミングで、サーバに存在しているリソースやデータをダウンロードしてキャッシングし、キャッシングしたリソースやデータをクライアントに提供することができるので、トラフィックの軽減・サーバ負荷の軽減を図ることができるという効果がある。
【0200】
特に、ユーザ別のリソースやデータをサーバが管理するようにすると、代理サーバは、自身にアクセスしているクライアントのユーザが必要としているリソースやデータを、サーバからダウンロードしてキャッシングし、キャッシングしたリソースやデータをクライアントに提供することが可能となる。
【0201】
また、特に、代理サーバは、クライアントからサーバへのアクセスが頻繁な場合には、サーバによるサービスの提供で使用されている通信路とは別の通信路を使って、サーバに存在しているリソースやデータをダウンロードしてキャッシングし、キャッシングしたリソースやデータをクライアントに提供するようにすると、トラフィックの軽減・サーバ負荷の軽減を図ると共に、快適なユーザ作業環境をクライアントに提供することが可能となる。
【図面の簡単な説明】
【図1】第1の実施形態が適用されるネットワークシステムの構成図。
【図2】ネットワークコンピュータ(NCS)の構成図。
【図3】サービスプロキシサーバ(SPS)の構成図。
【図4】IPアドレスの問い合わせに使用されるリクエストメッセージのフォーマットを示す説明図。
【図5】ネットワークコンピュータ(NC)がNCSのIPアドレスを取得する際の処理の流れを示すフローチャート。
【図6】NCがNCSのIPアドレスを取得する際の動的ドメインネームシステム(DDNS)サーバの動的対応付け処理の流れを示すフローチャート。
【図7】DDNSサーバ中のSPS情報リストの内容を示す説明図。
【図8】第2の実施形態でNCがログインを行う際の動作を示す説明図。
【図9】第3の実施形態でNCがアプリケーションプログラムのダウンロード要求を行う際の動作を示す説明図。
【図10】第4の実施形態でNCがユーザファイルのダウンロード要求を行う際の動作を示す説明図。
【図11】第4の実施形態でNCがユーザファイルのダウンロード要求を行う際の動作を示す説明図。
【図12】第5の実施形態でNCがデータベース検索を行う際の動作を示す説明図。
【図13】第6の実施形態でNCがログアウトを行う際の動作を示す説明図。
【符号の説明】
1…ネットワークコンピュータサーバ(NCS)、2,7…サービスプロキシサーバ(SPS)、3…ネットワークコンピュータ(NC)、4,5…ドメインネームシステム(DNS)サーバ、6…動的ドメインネームシステム(DNNS)サーバ、8…ゲートウェイサーバ(GWS)、10…WAN、20…LAN、11,21…データ送受信部、12,22…NCプログラム転送部、13,24…遠隔手続き呼び出し部、14,23…ファイル転送部、15…NCS実行部、16…SPSサポート部、17,28…リソース格納部、171,281…データベース(DB)ファイル、172,282…ユーザファイル用ファイル、173,283…アプリケーションプログラム用ファイル、25…NC代理実行部、26…SPS実行部、27…NCS代理実行部。
Claims (8)
- それぞれノードを構成する、サーバと、クライアントとが複数接続されたネットワークに接続されて、ノードを構成し、クライアントからサーバへのアクセスを中継する代理サーバであって、
上記サーバによるサービスの提供で使用される通信路とは別の通信路を使って、上記サーバとの間で通信を行う2次通信手段と、
中継対象のクライアントがアクセスしているサーバ上のリソースを検知する検知手段と、
上記検知手段が検知したリソースへの、中継対象のクライアントのアクセス頻度を測定する測定手段と、
上記測定手段が測定したアクセス頻度が予め定めた閾値を超えた場合に、上記2次通信手段を用いて、中継対象のクライアントがアクセスしているサーバのリソースを、該サーバから取得するリソース取得手段と、
上記リソース取得手段が取得したリソースを記憶するリソース記憶手段と、
中継対象のクライアントのアクセス先を、上記リソース記憶手段が記憶しているリソースに切り替えるアクセス先切替手段とを備えたこと
を特徴とする代理サーバ。 - それぞれノードを構成する、サーバと、クライアントとが複数接続されたネットワークに接続されて、ノードを構成し、クライアントからサーバへのアクセスを中継する代理サーバであって、
上記サーバによるサービスの提供で使用される通信路とは別の通信路を使って、上記サーバとの間で通信を行う2次通信手段と、
ユーザに固有のユーザデータを記憶するユーザデータ記憶手段と、
中継対象のクライアントから、ユーザデータをダウンロードするためのダウンロード要求が送信されてきた場合に、最新のユーザデータを上記ユーザデータ記憶手段が記憶しているか否かを判定するユーザデータ判定手段と、
最新ユーザデータを記憶していると上記ユーザデータ判定手段が判定した場合には、上記ユーザデータ記憶手段が記憶している最新ユーザデータを、中継対象のクライアントに転送する第1のユーザデータ転送手段と、
最新ユーザデータを記憶していないと上記ユーザデータ判定手段が判定した場合には、上記2次通信手段を用いて、最新ユーザデータを上記サーバから取得するユーザデータ取得手段と、
上記ユーザデータ取得手段が取得した最新ユーザデータを、上記ユーザデータ記憶手段に格納すると共に、格納した最新ユーザデータを、中継対象のクライアントに転送する第2のユーザデータ転送手段とを備えたこと
を特徴とする代理サーバ。 - 請求項2記載の代理サーバであって、
中継対象のクライアントからユーザデータが転送されてきた場合に、該ユーザデータを上記ユーザデータ記憶手段に格納するユーザデータ格納手段と、
上記ユーザデータ格納手段がユーザデータを格納した場合に、上記2次通信手段を用いて、最新ユーザデータの所在ノードである旨を上記サーバに通知する通知手段とをさらに備え、
上記ユーザデータ判定手段は、
上記2次通信手段を用いて、最新ユーザデータの所在ノードを問い合わせるための問い合わせ要求を上記サーバに送信し、その返答を取得することで、最新ユーザデータを上記ユーザデータ記憶手段が記憶しているか否かを判定すること
を特徴とする代理サーバ。 - それぞれノードを構成する、サーバと、クライアントとが複数接続されたネットワークに接続されて、ノードを構成し、クライアントからサーバへのアクセスを中継する代理サーバにおいて実行されるプログラムを記録した記録媒体であって、
上記プログラムは、
上記サーバによるサービスの提供で使用される通信路とは別の通信路を使って、上記サーバとの間で通信を行う2次通信手段と、
中継対象のクライアントがアクセスしているサーバ上のリソースを検知する検知手段と、
上記検知手段が検知したリソースへの、中継対象のクライアントのアクセス頻度を測定する測定手段と、
上記測定手段が測定したアクセス頻度が予め定めた閾値を超えた場合に、上記2次通信手段を用いて、中継対象のクライアントがアクセスしているサーバのリソースを、該サーバから取得するリソース取得手段と、
上記リソース取得手段が取得したリソースを記憶するリソース記憶手段と、
中継対象のクライアントのアクセス先を、上記リソース記憶手段が記憶しているリソースに切り替えるアクセス先切替手段として、代理サーバを機能させること
を特徴とするプログラムを記録した記録媒体。 - それぞれノードを構成する、サーバと、クライアントとが複数接続されたネットワークに接続されて、ノードを構成し、クライアントからサーバへのアクセスを中継する代理サーバにおいて実行されるプログラムを記録した記録媒体であって、
上記プログラムは、
上記サーバによるサービスの提供で使用される通信路とは別の通信路を使って、上記サーバとの間で通信を行う2次通信手段と、
ユーザに固有のユーザデータを記憶するユーザデータ記憶手段と、
中継対象のクライアントから、ユーザデータをダウンロードするためのダウンロード要求が送信されてきた場合に、最新のユーザデータを上記ユーザデータ記憶手段が記憶しているか否かを判定するユーザデータ判定手段と、
最新ユーザデータを記憶していると上記ユーザデータ判定手段が判定した場合には、上記ユーザデータ記憶手段が記憶しているユーザデータを、中継対象のクライアントに転送する第1のユーザデータ転送手段と、
最新ユーザデータを記憶していないと上記ユーザデータ判定手段が判定した場合には、上記2次通信手段を用いて、最新ユーザデータを上記サーバから取得するユーザデータ取得手段と、
上記ユーザデータ取得手段が取得したユーザデータを、上記ユーザデータ記憶手段に格納すると共に、格納した最新ユーザデータを、中継対象のクライアントに転送する第2のユーザデータ転送手段として、上記代理サーバをさらに機能させること
を特徴とするプログラムを記録した記録媒体。 - 請求項5記載の記録媒体であって、
上記プログラムは、
中継対象のクライアントからユーザデータが転送されてきた場合に、該ユーザデータを上記ユーザデータ記憶手段に格納するユーザデータ格納手段と、
上記ユーザデータ格納手段がユーザデータを格納した場合に、上記2次通信手段を用いて、最新ユーザデータの所在ノードである旨を上記サーバに通知する通知手段として、上記代理サーバをさらに機能させ、かつ、
上記ユーザデータ判定手段は、
上記2次通信手段を用いて、最新ユーザデータの所在ノードを問い合わせるための問い合わせ要求を上記サーバに送信し、その返答を取得することで、最新ユーザデータを上記ユーザデータ記憶手段が記憶しているか否かを判定すること
を特徴とするプログラムを記録した記録媒体。 - クライアントと、請求項3記載の代理サーバとが複数接続されたネットワークに接続されるサーバであって、
サービスの提供で使用される通信路とは別の通信路を使って、上記代理サーバとの間で通信を行う2次通信手段と、
ユーザに固有のユーザデータを記憶するユーザデータ記憶手段と、
最新のユーザデータの所在ノードを記憶している所在ノード記憶手段と、
上記代理サーバから、最新ユーザデータの所在ノードである旨が通知された場合に、上記所在ノード記憶手段の記憶内容を更新する所在ノード更新手段と、
上記代理サーバから、最新ユーザデータの所在ノードを問い合わせるための問い合わせ要求が送信されてきた場合に、上記所在ノード記憶手段の記憶内容に基づいて、問い合わせ対象の最新ユーザデータの所在ノードを識別する所在ノード識別手段と、
上記所在ノード識別手段が識別した所在ノードが、問い合わせ元の代理サーバおよび自サーバのいずれかである場合に、上記2次通信手段を用いて、その旨の返答を該代理サーバに送信する第1の所在ノード返答手段と、
上記所在ノード識別手段が識別した所在ノードが、問い合わせ元の代理サーバおよび自サーバのいずれでもない場合に、上記2次通信手段を用いて、最新ユーザデータを該所在ノードから取得するユーザデータ取得手段と、
上記ユーザデータ取得手段が取得したユーザデータを上記ユーザデータ記憶手段に格納して、上記所在ノード記憶手段の記憶内容を更新すると共に、上記2次通信手段を用いて、最新ユーザデータの所在ノードが自サーバである旨の返答を、問い合わせ元の代理サーバに送信する第2の所在ノード返答手段とを備えたこと
を特徴とするサーバ。 - クライアントと、請求項3記載の代理サーバとが複数接続されたネットワークに接続されるサーバにおいて実行されるプログラムを記録した記録媒体であって、
上記プログラムは、
サービスの提供で使用される通信路とは別の通信路を使って、上記代理サーバとの間で通信を行う2次通信手段と、
ユーザに固有のユーザデータを記憶するユーザデータ記憶手段と、
最新のユーザデータの所在ノードを記憶している所在ノード記憶手段と、
上記代理サーバから、最新ユーザデータの所在ノードである旨が通知された場合に、上記所在ノード記憶手段の記憶内容を更新する所在ノード更新手段と、
上記代理サーバから、最新ユーザデータの所在ノードを問い合わせるための問い合わせ要求が送信されてきた場合に、上記所在ノード記憶手段の記憶内容に基づいて、問い合わせ対象の最新ユーザデータの所在ノードを識別する所在ノード識別手段と、
上記所在ノード識別手段が識別した所在ノードが、問い合わせ元の代理サーバおよび自サーバのいずれかである場合に、上記2次通信手段を用いて、その旨の返答を該代理サーバに送信する第1の所在ノード返答手段と、
上記所在ノード識別手段が識別した所在ノードが、問い合わせ元の代理サーバおよび自サーバのいずれでもない場合に、上記2次通信手段を用いて、最新ユーザデータを該所在ノードから取得するユーザデータ取得手段と、
上記ユーザデータ取得手段が取得したユーザデータを上記ユーザデータ記憶手段に格納して、上記所在ノード記憶手段の記憶内容を更新すると共に、上記2次通信手段を用いて、最新ユーザデータの所在ノードが自サーバである旨の返答を、問い合わせ元の代理サーバに送信する第2の所在ノード返答手段として、上記サーバを機能させることを特徴とするプログラムを記録した記録媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001038083A JP3770801B2 (ja) | 2001-02-15 | 2001-02-15 | 代理サーバ、サーバおよびそれらを実現するプログラムを記録した記録媒体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001038083A JP3770801B2 (ja) | 2001-02-15 | 2001-02-15 | 代理サーバ、サーバおよびそれらを実現するプログラムを記録した記録媒体 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP9274476A Division JPH11110324A (ja) | 1997-10-07 | 1997-10-07 | 代理サーバ選択装置および代理サーバ |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2001273225A JP2001273225A (ja) | 2001-10-05 |
JP3770801B2 true JP3770801B2 (ja) | 2006-04-26 |
Family
ID=18901126
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001038083A Expired - Lifetime JP3770801B2 (ja) | 2001-02-15 | 2001-02-15 | 代理サーバ、サーバおよびそれらを実現するプログラムを記録した記録媒体 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3770801B2 (ja) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004266568A (ja) | 2003-02-28 | 2004-09-24 | Nec Corp | 名前解決サーバおよびパケット転送装置 |
KR20070033002A (ko) * | 2004-07-21 | 2007-03-23 | 가부시키가이샤 코에이 | 네트워크 게임의 메일 커뮤니티 시스템 및 프로그램 그리고기록매체 |
US8423670B2 (en) * | 2006-01-25 | 2013-04-16 | Corporation For National Research Initiatives | Accessing distributed services in a network |
JP5067605B2 (ja) * | 2007-03-05 | 2012-11-07 | 横河電機株式会社 | 半導体試験システム |
CN101926153A (zh) * | 2008-01-23 | 2010-12-22 | 艾利森电话股份有限公司 | 用于对网络资源进行池处理的方法和设备 |
JP5494649B2 (ja) * | 2009-03-25 | 2014-05-21 | 日本電気株式会社 | 中継装置、中継方法、及び中継装置制御プログラム |
JP5535844B2 (ja) * | 2010-09-14 | 2014-07-02 | Necインフロンティア株式会社 | 名前解決装置及び名前解決方法 |
JP2014501958A (ja) * | 2010-11-10 | 2014-01-23 | エヌイーシー ヨーロッパ リミテッド | ネットワークにおけるコンテンツにアクセスする方法および対応するシステム |
JP5743589B2 (ja) | 2011-02-18 | 2015-07-01 | キヤノン株式会社 | Webサービスシステム、サーバ管理装置およびWebサービス提供方法 |
US8732268B2 (en) * | 2011-04-19 | 2014-05-20 | Microsoft Corporation | Global traffic management using modified hostname |
JP2013171371A (ja) * | 2012-02-20 | 2013-09-02 | Nippon Telegr & Teleph Corp <Ntt> | パケットフィルタリング方法及び装置 |
CN104796499A (zh) * | 2014-01-16 | 2015-07-22 | 王正伟 | 辅助解析方法 |
CN114024935B (zh) * | 2021-11-19 | 2023-10-31 | 天翼数字生活科技有限公司 | 一种iptv专网下访问公网资源的方法及装置 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2281793A (en) * | 1993-09-11 | 1995-03-15 | Ibm | A data processing system for providing user load levelling in a network |
JPH07160647A (ja) * | 1993-12-08 | 1995-06-23 | Oki Electric Ind Co Ltd | 分散処理システム |
JP2746123B2 (ja) * | 1994-03-31 | 1998-04-28 | 日本電気株式会社 | ゲートウェイシステム |
JPH07302242A (ja) * | 1994-04-30 | 1995-11-14 | Mitsubishi Electric Corp | 負荷分散方式 |
JPH08202726A (ja) * | 1995-01-25 | 1996-08-09 | Fujitsu Ltd | 分散データベースシステム及びそのデータ転送方法 |
JP3441306B2 (ja) * | 1995-09-12 | 2003-09-02 | 株式会社東芝 | クライアント装置、メッセージ送信方法、サーバ装置、ページ処理方法及び中継サーバ装置 |
JP3636797B2 (ja) * | 1995-12-08 | 2005-04-06 | 日本放送協会 | デマンドアクセス情報提供システム、およびこれに用いる情報配信装置、中継配信装置、並びに利用者端末装置 |
-
2001
- 2001-02-15 JP JP2001038083A patent/JP3770801B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JP2001273225A (ja) | 2001-10-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH11110324A (ja) | 代理サーバ選択装置および代理サーバ | |
US11811657B2 (en) | Updating routing information based on client location | |
JP5404766B2 (ja) | ルーティングをリクエストするための方法とシステム | |
US9800539B2 (en) | Request routing management based on network components | |
US9160703B2 (en) | Request routing management based on network components | |
EP2356577B1 (en) | Request routing and updating routing information utilizing client location information | |
JP4592184B2 (ja) | 静的な識別子が付され、かつネットワークに断続的に接続される装置へのアクセス方法および装置 | |
JP4512192B2 (ja) | 輻輳制御装置、および、ネットワークの輻輳制御方法 | |
US7376723B2 (en) | Apparatus and method for managing and controlling UPnP devices in home network over external internet network | |
US9219705B2 (en) | Scaling network services using DNS | |
EP1441487A2 (en) | Address query response method, program, and apparatus | |
JP3770801B2 (ja) | 代理サーバ、サーバおよびそれらを実現するプログラムを記録した記録媒体 | |
US8423670B2 (en) | Accessing distributed services in a network | |
US7610403B2 (en) | Device retrieving a name of a communications node in a communications network | |
JP4180279B2 (ja) | 名前解決を用いたルーティング方法およびそのシステム | |
FI107215B (fi) | Menetelmä nimiresoluutiopalveluihin liittyvien viiveiden minimoimiseksi | |
JP2006259845A (ja) | サーバ装置、サーバシステムおよびサーバシステムの負荷分散方法 | |
JP3708085B2 (ja) | Dns問い合わせ装置およびdns問い合わせ方法 | |
JP4630214B2 (ja) | 情報管理方法、情報管理装置、データ中継装置および情報管理システム | |
JP2008206081A (ja) | マルチホーミング通信システムに用いられるデータ中継装置およびデータ中継方法 | |
CN111787132A (zh) | Dns查询解析方法及系统 | |
JP2005341037A (ja) | 名前解決システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040330 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20041109 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050111 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20050208 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20050310 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050411 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20050414 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20060131 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060207 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090217 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100217 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100217 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110217 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120217 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120217 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130217 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130217 Year of fee payment: 7 |
|
EXPY | Cancellation because of completion of term |