JP3307894B2 - 通信方法 - Google Patents
通信方法Info
- Publication number
- JP3307894B2 JP3307894B2 JP17566199A JP17566199A JP3307894B2 JP 3307894 B2 JP3307894 B2 JP 3307894B2 JP 17566199 A JP17566199 A JP 17566199A JP 17566199 A JP17566199 A JP 17566199A JP 3307894 B2 JP3307894 B2 JP 3307894B2
- Authority
- JP
- Japan
- Prior art keywords
- server
- machine
- program
- communication
- client
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/04—Protocols specially adapted for terminals or networks with limited capabilities; specially adapted for terminal portability
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/52—Network services specially adapted for the location of the user terminal
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/329—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer And Data Communications (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Communication Control (AREA)
Description
【0001】
【発明の属する技術分野】本発明は、ネットワークを利
用したサーバー/クライアント型のアプリケーションの
通信方法に係り、応答性能の良い通信方法に関する。
用したサーバー/クライアント型のアプリケーションの
通信方法に係り、応答性能の良い通信方法に関する。
【0002】
【従来の技術】近年、携帯電話等の無線携帯機器が普及
し、携帯型のコンピュータやPDA(personal
digital assistants)と呼ばれる
携帯情報機器にも無線通信機能が付加されてきている。
一方、インターネットの普及により、コンピュータシス
テムを構成する上でネットワークは欠かせないものとな
っている。ネットワーク上では、主にクライアント/サ
ーバー型のアプリケーションが利用されている。インタ
ーネット上で情報提供を行なうWWW(World W
ide Web)や、データベース利用等は、その例で
ある。
し、携帯型のコンピュータやPDA(personal
digital assistants)と呼ばれる
携帯情報機器にも無線通信機能が付加されてきている。
一方、インターネットの普及により、コンピュータシス
テムを構成する上でネットワークは欠かせないものとな
っている。ネットワーク上では、主にクライアント/サ
ーバー型のアプリケーションが利用されている。インタ
ーネット上で情報提供を行なうWWW(World W
ide Web)や、データベース利用等は、その例で
ある。
【0003】クライアント/サーバー型のアプリケーシ
ョンは、クライアントプログラムとサーバープログラム
が、ネットワークを介して通信接続状態となっているも
のが多い。この通信接続状態は、TCP(transm
ission control protocol)な
どに代表されるコネクション型の通信プロトコルによっ
て確保される。コネクション型の通信プロトコルは、通
信接続状態(以下、コネクション状態、もしくはコネク
ションと呼ぶ。)でデータを転送する。クライアントプ
ログラムとサーバープログラムとは、お互いにデータ送
受信を行なうために、それぞれデータ送受信専用のデー
タ転送制御部を有する。各々データ転送制御部は、下位
の通信機構を利用して、上位から渡されたデータの送受
信、データ内容のチェック(雑音などによるデータ誤り
等)、エラー発生時のデータの再送などの制御を行な
う。
ョンは、クライアントプログラムとサーバープログラム
が、ネットワークを介して通信接続状態となっているも
のが多い。この通信接続状態は、TCP(transm
ission control protocol)な
どに代表されるコネクション型の通信プロトコルによっ
て確保される。コネクション型の通信プロトコルは、通
信接続状態(以下、コネクション状態、もしくはコネク
ションと呼ぶ。)でデータを転送する。クライアントプ
ログラムとサーバープログラムとは、お互いにデータ送
受信を行なうために、それぞれデータ送受信専用のデー
タ転送制御部を有する。各々データ転送制御部は、下位
の通信機構を利用して、上位から渡されたデータの送受
信、データ内容のチェック(雑音などによるデータ誤り
等)、エラー発生時のデータの再送などの制御を行な
う。
【0004】コネクション型の通信プロトコルでは、デ
ータが問題なく送信されたかどうかを確認するために、
データ受信側プログラムは、データを受けとり、データ
内容に誤りがないことを確認した後で、データ受信完了
の旨のACKメッセージをデータ送信側プログラムへ返
送する。データ送信側プログラムは、ACKメッセージ
によってデータ受信側プログラムの受信状態を知る。こ
れによって、データ送信が制御される。通信遅延が大き
い場合や、送信の転送速度と受信の転送速度が非対称で
あるような通信環境を用いる場合には、ACK送信が負
担になる。そのため、必要な通信速度が得られない場合
が生じるという欠点があった。特に、通信経路における
遅延が大きい場合や、転送速度の低い無線通信を用いる
場合には、この傾向が顕著になる。
ータが問題なく送信されたかどうかを確認するために、
データ受信側プログラムは、データを受けとり、データ
内容に誤りがないことを確認した後で、データ受信完了
の旨のACKメッセージをデータ送信側プログラムへ返
送する。データ送信側プログラムは、ACKメッセージ
によってデータ受信側プログラムの受信状態を知る。こ
れによって、データ送信が制御される。通信遅延が大き
い場合や、送信の転送速度と受信の転送速度が非対称で
あるような通信環境を用いる場合には、ACK送信が負
担になる。そのため、必要な通信速度が得られない場合
が生じるという欠点があった。特に、通信経路における
遅延が大きい場合や、転送速度の低い無線通信を用いる
場合には、この傾向が顕著になる。
【0005】米国特許USP5673322に、通信プ
ロトコルとしてTCP/IPを使用するWWWブラウザ
アプリケーションを、無線通信を利用する携帯端末上で
動作させる技術が開示されている。この技術では、携帯
端末上に、代理サーバー(プロキシ)を配置している。
更に、携帯端末とWEBサーバーの間にも、代理サーバ
ー(プロキシ)を配置している。WWWブラウザと携帯
端末上プロキシの間は、TCP/IPで接続されてい
る。携帯端末とWEBサーバーの間のプロキシとWEB
サーバーの間も、TCP/IPで接続されている。プロ
キシ間は、無線通信に適し、秘匿性も兼ね備えた専用通
信プロトコルにて接続している。これにより、転送速度
の低い無線通信を利用しても、高い通信速度を得ること
ができる。この通信速度は、TCP/IPをそのまま全
経路に使用する場合よりも高い。
ロトコルとしてTCP/IPを使用するWWWブラウザ
アプリケーションを、無線通信を利用する携帯端末上で
動作させる技術が開示されている。この技術では、携帯
端末上に、代理サーバー(プロキシ)を配置している。
更に、携帯端末とWEBサーバーの間にも、代理サーバ
ー(プロキシ)を配置している。WWWブラウザと携帯
端末上プロキシの間は、TCP/IPで接続されてい
る。携帯端末とWEBサーバーの間のプロキシとWEB
サーバーの間も、TCP/IPで接続されている。プロ
キシ間は、無線通信に適し、秘匿性も兼ね備えた専用通
信プロトコルにて接続している。これにより、転送速度
の低い無線通信を利用しても、高い通信速度を得ること
ができる。この通信速度は、TCP/IPをそのまま全
経路に使用する場合よりも高い。
【0006】アクセスしたいサーバープログラムとクラ
イアントプログラムの間にプロキシを配置するという手
法は、広く用いられている。例えば、WEB−CGIサ
ーバー経由でデータベースへアクセスする場合や、ファ
イアウォールで守られたネットワークからインターネッ
トへアクセスする場合等に用いられる。
イアントプログラムの間にプロキシを配置するという手
法は、広く用いられている。例えば、WEB−CGIサ
ーバー経由でデータベースへアクセスする場合や、ファ
イアウォールで守られたネットワークからインターネッ
トへアクセスする場合等に用いられる。
【0007】また、米国特許USP5442633に
は、携帯端末からネットワークにIP接続する場合にお
いて、IPルーティング情報を最適化する技術が開示さ
れている。IPは、インターネットやLANで用いられ
るデータパケットの送信方法で、通常固定的なパケット
のルーティング情報に従って、データパケットの送信経
路が決定される。ところが、携帯端末は移動するので、
固定的なルーティングは携帯端末に適さない。この技術
では、IPデータパケットに固定的なルーティング情報
を無効化する属性を付加し、携帯端末が接続する最初の
IP経由ポイントでルーティング情報が再構成される。
これによって、適切なデータ送信経路が得られる。
は、携帯端末からネットワークにIP接続する場合にお
いて、IPルーティング情報を最適化する技術が開示さ
れている。IPは、インターネットやLANで用いられ
るデータパケットの送信方法で、通常固定的なパケット
のルーティング情報に従って、データパケットの送信経
路が決定される。ところが、携帯端末は移動するので、
固定的なルーティングは携帯端末に適さない。この技術
では、IPデータパケットに固定的なルーティング情報
を無効化する属性を付加し、携帯端末が接続する最初の
IP経由ポイントでルーティング情報が再構成される。
これによって、適切なデータ送信経路が得られる。
【0008】
【発明が解決しようとする課題】本発明は、遅延が大き
くかつ転送速度の遅い通信メディア(例えば、無線通
信)の使用、中間通信経由地の増加、あるいは通信経路
の物理的距離の増大等の要因による通信遅延の増大及び
通信転送速度の低下に対応し、より応答性能の良いアプ
リケーションプログラムの通信を実現することを課題と
する。
くかつ転送速度の遅い通信メディア(例えば、無線通
信)の使用、中間通信経由地の増加、あるいは通信経路
の物理的距離の増大等の要因による通信遅延の増大及び
通信転送速度の低下に対応し、より応答性能の良いアプ
リケーションプログラムの通信を実現することを課題と
する。
【0009】
【0010】
【0011】この発明に係る通信方法は、 サーバープロ
グラムを動作させる一以上のサーバーマシンと、クライ
アントプログラムを動作させるクライアントマシンと、
上記サーバープログラムを動作させることができる一以
上のサーバー候補マシンとの間の通信方法であって、通
信方法は(1)から(5)までの工程を有し、 (1)上記サーバーマシンと、上記クライアントマシン
との間の通信特性を測定する工程、 (2)測定した上記通信特性を所定の通信特性基準と比
較する工程、 (3)比較した結果、上記所定の通信特性基準を満たさ
ない場合には、上記クライアントマシンに上記サーバー
マシンよりも近い上記サーバー候補マシンを選択する工
程、 (4)上記サーバーマシンから、選択した上記サーバー
候補マシンへ、上記サーバープログラムの少なくとも一
部を複製する工程、 (5)上記サーバープログラムの少なくとも一部が複製
された上記サーバー候補マシンが、上記サーバープログ
ラムを動作させる工程、 上記通信方法は、更に、複製元
プログラムである上記サーバーマシン上の上記サーバー
プログラムの少なくとも一部と、複製先プログラムであ
る上記サーバー候補マシン上の上記サーバープログラム
の少なくとも一部とをデータ同期させるデータ同期工程
を有することを特徴とする。
グラムを動作させる一以上のサーバーマシンと、クライ
アントプログラムを動作させるクライアントマシンと、
上記サーバープログラムを動作させることができる一以
上のサーバー候補マシンとの間の通信方法であって、通
信方法は(1)から(5)までの工程を有し、 (1)上記サーバーマシンと、上記クライアントマシン
との間の通信特性を測定する工程、 (2)測定した上記通信特性を所定の通信特性基準と比
較する工程、 (3)比較した結果、上記所定の通信特性基準を満たさ
ない場合には、上記クライアントマシンに上記サーバー
マシンよりも近い上記サーバー候補マシンを選択する工
程、 (4)上記サーバーマシンから、選択した上記サーバー
候補マシンへ、上記サーバープログラムの少なくとも一
部を複製する工程、 (5)上記サーバープログラムの少なくとも一部が複製
された上記サーバー候補マシンが、上記サーバープログ
ラムを動作させる工程、 上記通信方法は、更に、複製元
プログラムである上記サーバーマシン上の上記サーバー
プログラムの少なくとも一部と、複製先プログラムであ
る上記サーバー候補マシン上の上記サーバープログラム
の少なくとも一部とをデータ同期させるデータ同期工程
を有することを特徴とする。
【0012】本発明に係る通信方法は、 サーバープログ
ラムを動作させる一以上のサーバーマシンと、クライア
ントプログラムを動作させるクライアントマシンと、上
記サーバープログラムを動作させることができる一以上
のサーバー候補マシンとの間の通信方法であって、通信
方法は(1)から(5)までの工程を有し、 (1)上記サーバーマシンと、上記クライアントマシン
との間の通信特性を測定する工程、 (2)測定した上記通信特性を所定の通信特性基準と比
較する工程、 (3)比較した結果、上記所定の通信特性基準を満たさ
ない場合には、上記クライアントマシンに上記サーバー
マシンよりも近い上記サーバー候補マシンを選択する工
程、 (4)上記サーバーマシンから、選択した上記サーバー
候補マシンへ、上記サーバープログラムの少なくとも一
部を複製する工程、 (5)上記サーバープログラムの少なくとも一部が複製
された上記サーバー候補マシンが、上記サーバープログ
ラムを動作させる工程、 上記通信方法は、更に、上記サ
ーバーマシンと、上記サーバー候補マシンとの間で、通
信プロトコルに適した通信機構を介してデータ通信を行
なう工程と、上記データ通信についての統計情報を蓄積
する工程と、上記統計情報に基づいて、上記通信プロト
コルの変更の必要性を判定する工程と、上記通信プロト
コルの変更の必要性があると判定した場合には、上記通
信プロトコルを、新たな通信プロトコルに変更し、上記
通信機構を、上記新たな通信プロトコルに適した新たな
通信機構に変更する工程とを有することを特徴とする。
ラムを動作させる一以上のサーバーマシンと、クライア
ントプログラムを動作させるクライアントマシンと、上
記サーバープログラムを動作させることができる一以上
のサーバー候補マシンとの間の通信方法であって、通信
方法は(1)から(5)までの工程を有し、 (1)上記サーバーマシンと、上記クライアントマシン
との間の通信特性を測定する工程、 (2)測定した上記通信特性を所定の通信特性基準と比
較する工程、 (3)比較した結果、上記所定の通信特性基準を満たさ
ない場合には、上記クライアントマシンに上記サーバー
マシンよりも近い上記サーバー候補マシンを選択する工
程、 (4)上記サーバーマシンから、選択した上記サーバー
候補マシンへ、上記サーバープログラムの少なくとも一
部を複製する工程、 (5)上記サーバープログラムの少なくとも一部が複製
された上記サーバー候補マシンが、上記サーバープログ
ラムを動作させる工程、 上記通信方法は、更に、上記サ
ーバーマシンと、上記サーバー候補マシンとの間で、通
信プロトコルに適した通信機構を介してデータ通信を行
なう工程と、上記データ通信についての統計情報を蓄積
する工程と、上記統計情報に基づいて、上記通信プロト
コルの変更の必要性を判定する工程と、上記通信プロト
コルの変更の必要性があると判定した場合には、上記通
信プロトコルを、新たな通信プロトコルに変更し、上記
通信機構を、上記新たな通信プロトコルに適した新たな
通信機構に変更する工程とを有することを特徴とする。
【0013】本発明に係る通信方法は、 サーバープログ
ラムを動作させる一以上のサーバーマシンと、クライア
ントプログラムを動作させるクライアントマシンと、上
記サーバープログラムを動作させることができる一以上
のサーバー候補マシンとの間の通信方法であって、通信
方法は(1)から(5)までの工程を有し、 (1)上記サーバーマシンと、上記クライアントマシン
との間の通信特性を測定する工程、 (2)測定した上記通信特性を所定の通信特性基準と比
較する工程、 (3)比較した結果、上記所定の通信特性基準を満たさ
ない場合には、上記クライアントマシンに上記サーバー
マシンよりも近い上記サーバー候補マシンを選択する工
程、 (4)上記サーバーマシンから、選択した上記サーバー
候補マシンへ、上記サーバープログラムの少なくとも一
部を複製する工程、 (5)上記サーバープログラムの少なくとも一部が複製
された上記サーバー候補マシンが、上記サーバープログ
ラムを動作させる工程、 上記サーバープログラムは、上
記クライアントプログラムが使用できるすべての通信メ
ディアについてのインターフェースを有し、上記通信方
法は、更に、上記サーバープログラムが、上記インター
フェースで通信要求を待ち受ける工程と、上記サーバー
プログラムが上記通信要求を受けた場合には、上記通信
要求に基づいて、通信プロトコルを決定し、上記通信プ
ロトコルに対応したデータ転送制御部を設定する工程と
を有することを特徴とする。
ラムを動作させる一以上のサーバーマシンと、クライア
ントプログラムを動作させるクライアントマシンと、上
記サーバープログラムを動作させることができる一以上
のサーバー候補マシンとの間の通信方法であって、通信
方法は(1)から(5)までの工程を有し、 (1)上記サーバーマシンと、上記クライアントマシン
との間の通信特性を測定する工程、 (2)測定した上記通信特性を所定の通信特性基準と比
較する工程、 (3)比較した結果、上記所定の通信特性基準を満たさ
ない場合には、上記クライアントマシンに上記サーバー
マシンよりも近い上記サーバー候補マシンを選択する工
程、 (4)上記サーバーマシンから、選択した上記サーバー
候補マシンへ、上記サーバープログラムの少なくとも一
部を複製する工程、 (5)上記サーバープログラムの少なくとも一部が複製
された上記サーバー候補マシンが、上記サーバープログ
ラムを動作させる工程、 上記サーバープログラムは、上
記クライアントプログラムが使用できるすべての通信メ
ディアについてのインターフェースを有し、上記通信方
法は、更に、上記サーバープログラムが、上記インター
フェースで通信要求を待ち受ける工程と、上記サーバー
プログラムが上記通信要求を受けた場合には、上記通信
要求に基づいて、通信プロトコルを決定し、上記通信プ
ロトコルに対応したデータ転送制御部を設定する工程と
を有することを特徴とする。
【0014】本発明に係る通信方法は、 サーバープログ
ラムを動作させる一以上のサーバーマシンと、クライア
ントプログラムを動作させるクライアントマシンと、上
記サーバープログラムを動作させることができる一以上
のサーバー候補マシンとの間の通信方法であって、通信
方法は(1)から(5)までの工程を有し、 (1)上記サーバーマシンと、上記クライアントマシン
との間の通信特性を測定する工程、 (2)測定した上記通信特性を所定の通信特性基準と比
較する工程、 (3)比較した結果、上記所定の通信特性基準を満たさ
ない場合には、上記クライアントマシンに上記サーバー
マシンよりも近い上記サーバー候補マシンを選択する工
程、 (4)上記サーバーマシンから、選択した上記サーバー
候補マシンへ、上記サーバープログラムの少なくとも一
部を複製する工程、 (5)上記サーバープログラムの少なくとも一部が複製
された上記サーバー候補マシンが、上記サーバープログ
ラムを動作させる工程、 上記サーバーマシンは、サーバ
ーマシン側リダイレクトマネージャを有し、上記サーバ
ー候補マシンは、サーバー候補マシン側リダイレクトマ
ネージャと、リダイレクタとを有し、上記通信方法は、
更に、上記クライアントマシンが、上記サーバーマシン
に、上記サーバー候補マシンのアドレスと、上記クライ
アントマシンのアドレスと、上記サーバーマシンのアド
レスとを含むメッセージを送信する工程と、上記サーバ
ーマシン側リダイレクトマネージャが、上記クライアン
トマシンが送信した上記メッセージを、受信する工程
と、上記サーバーマシン側リダイレクトマネージャが、
受信した上記メッセージを、上記メッセージに含まれる
上記サーバー候補マシンの上記アドレスに基づいて、上
記サーバー候補マシンに転送する工程と、上記サーバー
候補マシン側リダイレクトマネージャが、上記サーバー
マシン側リダイレクトマネージャが転送した上記メッセ
ージを受信する工程と、上記サーバー候補マシン側リダ
イレクトマネージャが、受信した上記メッセージに含ま
れる上記クライアントマシンの上記アドレスと、受信し
た上記メッセージに含まれる上記サーバーマシンの上記
アドレスとを、上記リダイレクタに登録する工程とを有
することを特徴とする。
ラムを動作させる一以上のサーバーマシンと、クライア
ントプログラムを動作させるクライアントマシンと、上
記サーバープログラムを動作させることができる一以上
のサーバー候補マシンとの間の通信方法であって、通信
方法は(1)から(5)までの工程を有し、 (1)上記サーバーマシンと、上記クライアントマシン
との間の通信特性を測定する工程、 (2)測定した上記通信特性を所定の通信特性基準と比
較する工程、 (3)比較した結果、上記所定の通信特性基準を満たさ
ない場合には、上記クライアントマシンに上記サーバー
マシンよりも近い上記サーバー候補マシンを選択する工
程、 (4)上記サーバーマシンから、選択した上記サーバー
候補マシンへ、上記サーバープログラムの少なくとも一
部を複製する工程、 (5)上記サーバープログラムの少なくとも一部が複製
された上記サーバー候補マシンが、上記サーバープログ
ラムを動作させる工程、 上記サーバーマシンは、サーバ
ーマシン側リダイレクトマネージャを有し、上記サーバ
ー候補マシンは、サーバー候補マシン側リダイレクトマ
ネージャと、リダイレクタとを有し、上記通信方法は、
更に、上記クライアントマシンが、上記サーバーマシン
に、上記サーバー候補マシンのアドレスと、上記クライ
アントマシンのアドレスと、上記サーバーマシンのアド
レスとを含むメッセージを送信する工程と、上記サーバ
ーマシン側リダイレクトマネージャが、上記クライアン
トマシンが送信した上記メッセージを、受信する工程
と、上記サーバーマシン側リダイレクトマネージャが、
受信した上記メッセージを、上記メッセージに含まれる
上記サーバー候補マシンの上記アドレスに基づいて、上
記サーバー候補マシンに転送する工程と、上記サーバー
候補マシン側リダイレクトマネージャが、上記サーバー
マシン側リダイレクトマネージャが転送した上記メッセ
ージを受信する工程と、上記サーバー候補マシン側リダ
イレクトマネージャが、受信した上記メッセージに含ま
れる上記クライアントマシンの上記アドレスと、受信し
た上記メッセージに含まれる上記サーバーマシンの上記
アドレスとを、上記リダイレクタに登録する工程とを有
することを特徴とする。
【0015】上記データ同期工程は、自動的にデータ同
期させることを特徴とする。
期させることを特徴とする。
【0016】本発明に係る通信方法は、 サーバープログ
ラムを動作させる一以上のサーバーマシンと、クライア
ントプログラムを動作させるクライアントマシンと、上
記サーバープログラムを動作させることができる一以上
のサーバー候補マシンとの間の通信方法であって、通信
方法は(1)から(5)までの工程を有し、 (1)上記サーバーマシンと、上記クライアントマシン
との間の通信特性を測定する工程、 (2)測定した上記通信特性を所定の通信特性基準と比
較する工程、 (3)比較した結果、上記所定の通信特性基準を満たさ
ない場合には、上記クライアントマシンに上記サーバー
マシンよりも近い上記サーバー候補マシンを選択する工
程、 (4)上記サーバーマシンから、選択した上記サーバー
候補マシンへ、上記サーバープログラムの少なくとも一
部を複製する工程、 (5)上記サーバープログラムの少なくとも一部が複製
された上記サーバー候補マシンが、上記サーバープログ
ラムを動作させる工程、 上記通信方法は、上記サーバー
候補マシンの上記サーバープログラムの属性情報とし
て、上記サーバー候補マシンの上記サーバープログラム
が、上記サーバーマシンの上記サーバープログラムに帰
属するか否かを示す情報を記憶する工程を有し、上記属
性情報が、上記サーバー候補マシンの上記サーバープロ
グラムが、上記サーバーマシンの上記サーバープログラ
ムに帰属しないことを示す場合には、上記サーバー候補
マシンの上記サーバプログラムは、独立して動作するこ
とを特徴とする。
ラムを動作させる一以上のサーバーマシンと、クライア
ントプログラムを動作させるクライアントマシンと、上
記サーバープログラムを動作させることができる一以上
のサーバー候補マシンとの間の通信方法であって、通信
方法は(1)から(5)までの工程を有し、 (1)上記サーバーマシンと、上記クライアントマシン
との間の通信特性を測定する工程、 (2)測定した上記通信特性を所定の通信特性基準と比
較する工程、 (3)比較した結果、上記所定の通信特性基準を満たさ
ない場合には、上記クライアントマシンに上記サーバー
マシンよりも近い上記サーバー候補マシンを選択する工
程、 (4)上記サーバーマシンから、選択した上記サーバー
候補マシンへ、上記サーバープログラムの少なくとも一
部を複製する工程、 (5)上記サーバープログラムの少なくとも一部が複製
された上記サーバー候補マシンが、上記サーバープログ
ラムを動作させる工程、 上記通信方法は、上記サーバー
候補マシンの上記サーバープログラムの属性情報とし
て、上記サーバー候補マシンの上記サーバープログラム
が、上記サーバーマシンの上記サーバープログラムに帰
属するか否かを示す情報を記憶する工程を有し、上記属
性情報が、上記サーバー候補マシンの上記サーバープロ
グラムが、上記サーバーマシンの上記サーバープログラ
ムに帰属しないことを示す場合には、上記サーバー候補
マシンの上記サーバプログラムは、独立して動作するこ
とを特徴とする。
【0017】
【0018】本発明に係る通信方法は、 サーバープログ
ラムを動作させる一以上のサーバーマシンと、クライア
ントプログラムを動作させるクライアントマシンと、上
記サーバープログラムを動作させることができる一以上
のサーバー候補マシンとの間の通信方法であって、通信
方法は(1)から(5)までの工程を有し、 (1)上記サーバーマシンと、上記クライアントマシン
との間の通信特性を測定する工程、 (2)測定した上記通信特性を所定の通信特性基準と比
較する工程、 (3)比較した結果、上記所定の通信特性基準を満たさ
ない場合には、上記クライアントマシンに上記サーバー
マシンよりも近い上記サーバー候補マシンを選択する工
程、 (4)上記サーバーマシンから、選択した上記サーバー
候補マシンへ、上記サーバープログラムの少なくとも一
部を複製する工程、 (5)上記サーバープログラムの少なくとも一部が複製
された上記サーバー候補マシンが、上記サーバープログ
ラムを動作させる工程、 上記通信方法は、更に、上記ク
ライアントプログラムが、データグラムメッセージを上
記サーバープログラムに送信する工程と、上記サーバプ
ログラムが、上記データグラムメッセージを受信し、受
信した上記データグラムメッセージを直ちに上記クライ
アントプログラムに返送する工程と、上記クライントプ
ログラムが、上記データグラムメッセージを受信する工
程と、上記クライアントプログラムが、上記データグラ
ムメッセージの送信時点から受信時点までの応答時間を
計測する工程とを有することを特徴とする。
ラムを動作させる一以上のサーバーマシンと、クライア
ントプログラムを動作させるクライアントマシンと、上
記サーバープログラムを動作させることができる一以上
のサーバー候補マシンとの間の通信方法であって、通信
方法は(1)から(5)までの工程を有し、 (1)上記サーバーマシンと、上記クライアントマシン
との間の通信特性を測定する工程、 (2)測定した上記通信特性を所定の通信特性基準と比
較する工程、 (3)比較した結果、上記所定の通信特性基準を満たさ
ない場合には、上記クライアントマシンに上記サーバー
マシンよりも近い上記サーバー候補マシンを選択する工
程、 (4)上記サーバーマシンから、選択した上記サーバー
候補マシンへ、上記サーバープログラムの少なくとも一
部を複製する工程、 (5)上記サーバープログラムの少なくとも一部が複製
された上記サーバー候補マシンが、上記サーバープログ
ラムを動作させる工程、 上記通信方法は、更に、上記ク
ライアントプログラムが、データグラムメッセージを上
記サーバープログラムに送信する工程と、上記サーバプ
ログラムが、上記データグラムメッセージを受信し、受
信した上記データグラムメッセージを直ちに上記クライ
アントプログラムに返送する工程と、上記クライントプ
ログラムが、上記データグラムメッセージを受信する工
程と、上記クライアントプログラムが、上記データグラ
ムメッセージの送信時点から受信時点までの応答時間を
計測する工程とを有することを特徴とする。
【0019】
【0020】上記クライアントマシンは、複数の通信メ
ディアを用いることができ、上記通信方法は、更に、上
記クライアントプログラムが、上記応答時間に基づい
て、最良の通信メディアを選択する工程を有することを
特徴とする。
ディアを用いることができ、上記通信方法は、更に、上
記クライアントプログラムが、上記応答時間に基づい
て、最良の通信メディアを選択する工程を有することを
特徴とする。
【0021】
【発明の実施の形態】実施の形態1.以下本発明を図面
に示す実施例に基づいて説明する。図1は、本発明にお
けるクライアント/サーバーシステムの構成図である。
システムの利用者は、事業所内の端末あるいは携帯端末
を使用して、事業所のサーバーが提供するサービスを利
用できるように構成されている。この図で、101は、
無線通信端末、102は、基地局、103は、インター
ネット、104は、サーバーマシン、105は、ゲート
ウェイ、106は、基地局コントローラ、107は、基
地局交換機、108は、交換機、109は、公衆網であ
る。
に示す実施例に基づいて説明する。図1は、本発明にお
けるクライアント/サーバーシステムの構成図である。
システムの利用者は、事業所内の端末あるいは携帯端末
を使用して、事業所のサーバーが提供するサービスを利
用できるように構成されている。この図で、101は、
無線通信端末、102は、基地局、103は、インター
ネット、104は、サーバーマシン、105は、ゲート
ウェイ、106は、基地局コントローラ、107は、基
地局交換機、108は、交換機、109は、公衆網であ
る。
【0022】サーバーマシン104上で、サーバープロ
グラムが動作する。サーバーマシン104は、インター
ネット103と公衆網109とに接続されている。ま
た、インターネット103は、ゲートウェイ105を介
して公衆網109に接続されている。サーバーマシン1
04は、サーバープログラムが複製される他のマシンに
対して、起源となる。サーバープログラムの複製につい
ては、後述する。
グラムが動作する。サーバーマシン104は、インター
ネット103と公衆網109とに接続されている。ま
た、インターネット103は、ゲートウェイ105を介
して公衆網109に接続されている。サーバーマシン1
04は、サーバープログラムが複製される他のマシンに
対して、起源となる。サーバープログラムの複製につい
ては、後述する。
【0023】交換機108は、無線通信ネットワークシ
ステムと公衆網109とを接続する。交換機108から
見て、ゲートウェイ105は104サーバーマシンより
も物理的、あるいはネットワーク的により近傍にある。
ステムと公衆網109とを接続する。交換機108から
見て、ゲートウェイ105は104サーバーマシンより
も物理的、あるいはネットワーク的により近傍にある。
【0024】基地局交換機107は、無線通信ネットワ
ークシステムにおいて、基地局コントローラ106との
接続を交換する交換機である。また、基地局交換機10
7は、無線通信端末101が基地局102間を移行する
際の通信ハンドオフコントロール、及び課金情報の管理
をも行なう。
ークシステムにおいて、基地局コントローラ106との
接続を交換する交換機である。また、基地局交換機10
7は、無線通信端末101が基地局102間を移行する
際の通信ハンドオフコントロール、及び課金情報の管理
をも行なう。
【0025】ここで、基地局コントローラ106及び基
地局交換機107は、いずれも計算機により構成されて
おり、後述するサーバープログラムを複製し、設置する
機構により複製されたサーバープログラムを動作させる
ことができるように構成されている。これらは、サーバ
ー候補マシンの例である。
地局交換機107は、いずれも計算機により構成されて
おり、後述するサーバープログラムを複製し、設置する
機構により複製されたサーバープログラムを動作させる
ことができるように構成されている。これらは、サーバ
ー候補マシンの例である。
【0026】基地局102は、基地局コントローラ10
6に接続されている。無線通信端末101は、自身の位
置が属するセルの基地局102に接続する。
6に接続されている。無線通信端末101は、自身の位
置が属するセルの基地局102に接続する。
【0027】基地局コントローラ106は、ローカルル
ープ通信機能を有する。基地局コントローラ106に接
続された基地局102のいずれかに接続した2台の無線
通信端末101間で通信する場合に、これらの無線通信
端末101は、基地局コントローラ106のみを経由し
て通信することができるように構成されている。無線通
信ネットワークシステムの選択は、無線携帯端末101
の位置に依存して決定される。つまり、無線携帯端末の
位置に基づいて、適した無線通信ネットワークシステム
が選択され、使用される。
ープ通信機能を有する。基地局コントローラ106に接
続された基地局102のいずれかに接続した2台の無線
通信端末101間で通信する場合に、これらの無線通信
端末101は、基地局コントローラ106のみを経由し
て通信することができるように構成されている。無線通
信ネットワークシステムの選択は、無線携帯端末101
の位置に依存して決定される。つまり、無線携帯端末の
位置に基づいて、適した無線通信ネットワークシステム
が選択され、使用される。
【0028】図2は、本発明におけるサーバープログラ
ムを複製するフローを示す図である。サーバープログラ
ム204は、サーバーマシン104上で動作するサーバ
ープログラムである。サーバープログラム204は、ゲ
ートウェイ105上で動作するサーバープログラム20
3に複製される。また、サーバープログラム203は、
基地局交換機107上で動作するサーバープログラム2
02に複製される。
ムを複製するフローを示す図である。サーバープログラ
ム204は、サーバーマシン104上で動作するサーバ
ープログラムである。サーバープログラム204は、ゲ
ートウェイ105上で動作するサーバープログラム20
3に複製される。また、サーバープログラム203は、
基地局交換機107上で動作するサーバープログラム2
02に複製される。
【0029】さらに、複製されたサーバープログラム2
02は、無線通信機能を持ったマシン上にも複製され得
る。複製されたサーバープログラム201は、独立した
サーバーとして動作する。しかし、オリジナルのサーバ
ープログラム204が使用する外部装置(例えば、デー
タベース205)などのリソースを利用できない。
02は、無線通信機能を持ったマシン上にも複製され得
る。複製されたサーバープログラム201は、独立した
サーバーとして動作する。しかし、オリジナルのサーバ
ープログラム204が使用する外部装置(例えば、デー
タベース205)などのリソースを利用できない。
【0030】尚、サービスプログラムを複製する経路
は、クライアントの位置情報(例えば、GPS(glo
bal positioning system)によ
る位置情報)とアクセス統計情報とに基づいて判断さ
れ、後述する方法により決定される。
は、クライアントの位置情報(例えば、GPS(glo
bal positioning system)によ
る位置情報)とアクセス統計情報とに基づいて判断さ
れ、後述する方法により決定される。
【0031】クライアント206、207は、オリジナ
ルのサーバープログラム204、あるいは複製されたサ
ーバープログラム201〜203を選択し、接続する。
ルのサーバープログラム204、あるいは複製されたサ
ーバープログラム201〜203を選択し、接続する。
【0032】図3は、本発明におけるサーバープログラ
ムが動作するマシンのソフトウェア構成図である。サー
バープログラムは、サーバーとしてクライアントプログ
ラムにサービスを提供するアプリケーションプログラム
と、後述するオブジェクトデータとから構成される。こ
の例では、ディレクトリサービス301、メッセージン
グサービス302、データベースアクセスサービス30
3、及び協調アプリケーション(スケジュール管理や、
利用者間のミーティング調停等)304が、それぞれア
プリケーションプログラムである。これらのプログラム
は、他のソフトウェアの環境の下で動作するように構成
され、本発明により複製され、各マシンに設置される。
但し、アプリケーションプログラムが、サーバープログ
ラムとして動作するためには、後述するオブジェクトデ
ータが必要となる。
ムが動作するマシンのソフトウェア構成図である。サー
バープログラムは、サーバーとしてクライアントプログ
ラムにサービスを提供するアプリケーションプログラム
と、後述するオブジェクトデータとから構成される。こ
の例では、ディレクトリサービス301、メッセージン
グサービス302、データベースアクセスサービス30
3、及び協調アプリケーション(スケジュール管理や、
利用者間のミーティング調停等)304が、それぞれア
プリケーションプログラムである。これらのプログラム
は、他のソフトウェアの環境の下で動作するように構成
され、本発明により複製され、各マシンに設置される。
但し、アプリケーションプログラムが、サーバープログ
ラムとして動作するためには、後述するオブジェクトデ
ータが必要となる。
【0033】サーバープログラムの複製管理機構(以
下、サーバー複製管理と呼ぶ。)305について説明す
る。サーバー複製管理305は、データ同期機構312
と、イベント通知機構306と、ディレクトリサービス
301と、通信遅延計測機構と、通信プロトコルの最適
化を図る機構を用いて動作する。イベント通知機構30
6は、トランスポート層の通信手段を用いて非同期通信
を行なうように構成されている。通信遅延計測機構は、
この例ではイベント通知機構306の一部として提供さ
れるように構成されている。通信プロトコルの最適化を
図る機構は、複数の通信ハンドセットの中から最適なも
のを選択し、コネクション型のトランスポート機構のプ
ロトコルの最適化を行なうように構成されている。
下、サーバー複製管理と呼ぶ。)305について説明す
る。サーバー複製管理305は、データ同期機構312
と、イベント通知機構306と、ディレクトリサービス
301と、通信遅延計測機構と、通信プロトコルの最適
化を図る機構を用いて動作する。イベント通知機構30
6は、トランスポート層の通信手段を用いて非同期通信
を行なうように構成されている。通信遅延計測機構は、
この例ではイベント通知機構306の一部として提供さ
れるように構成されている。通信プロトコルの最適化を
図る機構は、複数の通信ハンドセットの中から最適なも
のを選択し、コネクション型のトランスポート機構のプ
ロトコルの最適化を行なうように構成されている。
【0034】データ同期機構312は、あるデータ単位
(オブジェクトデータと呼ぶ。)の一貫性を保持する機
構である。データ同期機構312は、オブジェクトデー
タが複製され配置されている拠点のいずれかの拠点のオ
ブジェクトデータが変更された場合に、そのデータの変
更によって生じた差分を相互に送受信することにより一
貫性を保持するように構成されている。つまり、ここで
いうデータ同期とは、2箇所以上で記憶されているデー
タの内容が同一になるように管理することである。デー
タ同期機構312の特徴は、通信が切断されても、各々
の拠点のサーバープログラムは、各データ同期機構が保
持するオブジェクトデータを利用できることである。ま
た、データが変更された場合、その差分データのみが交
換されるので、データ通信量が削減されるという特徴も
ある。
(オブジェクトデータと呼ぶ。)の一貫性を保持する機
構である。データ同期機構312は、オブジェクトデー
タが複製され配置されている拠点のいずれかの拠点のオ
ブジェクトデータが変更された場合に、そのデータの変
更によって生じた差分を相互に送受信することにより一
貫性を保持するように構成されている。つまり、ここで
いうデータ同期とは、2箇所以上で記憶されているデー
タの内容が同一になるように管理することである。デー
タ同期機構312の特徴は、通信が切断されても、各々
の拠点のサーバープログラムは、各データ同期機構が保
持するオブジェクトデータを利用できることである。ま
た、データが変更された場合、その差分データのみが交
換されるので、データ通信量が削減されるという特徴も
ある。
【0035】データ同期機構312は、本発明における
データ管理のための機構の中核をなす。図4は、データ
管理のための機構の構成を示す図である。図中、40
1、402は、コンテナ、403〜406は、オブジェ
クトデータでる。407の矢印は、データ同期のオペレ
ーションを示している。オブジェクトデータ403〜4
06は、アプリケーションプログラムにより操作(挿
入、更新、削除等)されるデータのことである。コンテ
ナ401は、オブジェクトデータ403、404を格納
し、管理する機構である。同様に、コンテナ402は、
オブジェクトデータ405、406を格納し、管理する
機構である。これらのコンテナ401、402は、デー
タ同期機構312により提供される。コンテナ402
は、コンテナ401と対を成し、コンテナ401が動作
するマシンとは異なるマシン上で動作する。オブジェク
トデータ403〜406は、コンテナ401、402上
で、同期する。オブジェクトデータ403とオブジェク
トデータ405とが対であり、更にオブジェクトデータ
404とオブジェクトデータ406とが対であり、対の
データ同士が同期する。つまり、一方のオブジェクトデ
ータの更新は、データ同期の操作により、対である他方
のオブジェクトデータにも反映される。
データ管理のための機構の中核をなす。図4は、データ
管理のための機構の構成を示す図である。図中、40
1、402は、コンテナ、403〜406は、オブジェ
クトデータでる。407の矢印は、データ同期のオペレ
ーションを示している。オブジェクトデータ403〜4
06は、アプリケーションプログラムにより操作(挿
入、更新、削除等)されるデータのことである。コンテ
ナ401は、オブジェクトデータ403、404を格納
し、管理する機構である。同様に、コンテナ402は、
オブジェクトデータ405、406を格納し、管理する
機構である。これらのコンテナ401、402は、デー
タ同期機構312により提供される。コンテナ402
は、コンテナ401と対を成し、コンテナ401が動作
するマシンとは異なるマシン上で動作する。オブジェク
トデータ403〜406は、コンテナ401、402上
で、同期する。オブジェクトデータ403とオブジェク
トデータ405とが対であり、更にオブジェクトデータ
404とオブジェクトデータ406とが対であり、対の
データ同士が同期する。つまり、一方のオブジェクトデ
ータの更新は、データ同期の操作により、対である他方
のオブジェクトデータにも反映される。
【0036】オブジェクトデータ管理部408は、アプ
リケーションプログラムから挿入/更新/削除されるデ
ータオブジェクトの管理を行なう。具体的には、データ
オブジェクトが更新された場合に、更新した側のオブジ
ェクトデータ管理部408は、差分データを生成し、対
をなすオブジェクトデータに対してその差分データを転
送する。転送された側のオブジェクトデータ管理部40
8は、転送された差分データをその対をなすオブジェク
トデータに対して反映させる。差分データは、各通信プ
ロトコルに対応する通信機構409〜415を介して転
送される。最適な通信プロトコルに対応する通信機構の
選択については、実施の形態2で説明する。
リケーションプログラムから挿入/更新/削除されるデ
ータオブジェクトの管理を行なう。具体的には、データ
オブジェクトが更新された場合に、更新した側のオブジ
ェクトデータ管理部408は、差分データを生成し、対
をなすオブジェクトデータに対してその差分データを転
送する。転送された側のオブジェクトデータ管理部40
8は、転送された差分データをその対をなすオブジェク
トデータに対して反映させる。差分データは、各通信プ
ロトコルに対応する通信機構409〜415を介して転
送される。最適な通信プロトコルに対応する通信機構の
選択については、実施の形態2で説明する。
【0037】イベント通知機構306は、サーバープロ
グラムが明示的にデータを送受信するためのインターフ
ェースである。具体的には、サーバープログラムとクラ
イアントプログラムとの間のインターフェースである。
イベント通知機構306は、下位の通信機構に依存せ
ず、全く同一のインターフェースを提供する。従って、
コネクションレス方式のデータグラム通信機構を用いる
場合であっても、コネクション方式のTCP通信機構を
用いる場合であっても、アプリケーションプログラム
は、同じインターフェースを用いることができる。
グラムが明示的にデータを送受信するためのインターフ
ェースである。具体的には、サーバープログラムとクラ
イアントプログラムとの間のインターフェースである。
イベント通知機構306は、下位の通信機構に依存せ
ず、全く同一のインターフェースを提供する。従って、
コネクションレス方式のデータグラム通信機構を用いる
場合であっても、コネクション方式のTCP通信機構を
用いる場合であっても、アプリケーションプログラム
は、同じインターフェースを用いることができる。
【0038】データグラムトランスポート313は、コ
ネクションレス方式のデータグラム通信機構を提供す
る。データグラムトランスポート313は、下位通信機
構からの全てデータグラムメッセージを、UDP314
のパケットの形式にする。これにより、IPによるパケ
ットも受け入れることができる。
ネクションレス方式のデータグラム通信機構を提供す
る。データグラムトランスポート313は、下位通信機
構からの全てデータグラムメッセージを、UDP314
のパケットの形式にする。これにより、IPによるパケ
ットも受け入れることができる。
【0039】TCP307は、コネクション方式の通信
機構を提供する。図3の例では、一般に用いられている
TCPを採用している。但し、コネクション方式の通信
機構は、通信プロトコルを最適化する機能を用いて、最
適な通信プロトコルを選択する。この最適化は、必要に
応じて行われる。また、この最適化の処理は、コネクシ
ョンの対となるマシンを特定できる環境の下で、双方の
マシンの通信プロトコルを変更する。
機構を提供する。図3の例では、一般に用いられている
TCPを採用している。但し、コネクション方式の通信
機構は、通信プロトコルを最適化する機能を用いて、最
適な通信プロトコルを選択する。この最適化は、必要に
応じて行われる。また、この最適化の処理は、コネクシ
ョンの対となるマシンを特定できる環境の下で、双方の
マシンの通信プロトコルを変更する。
【0040】本システムには、各通信ネットワーク層機
構308〜311、315が用意されている。これによ
り、あらゆる通信メディアに対応することができる。S
MS315は、ディジタル無線通信システムで用いられ
るショートメッセージを受け付け、UDPメッセージに
変換する。また、逆にUDPメッセージを受け付け、シ
ョートメッセージに変換する。IP308は、PPP
(ポイントトゥポイントプロトコル)を介してIPパケ
ットを転送する。この転送は、イーサネット/シリアル
通信インターフェース310を介して行われる。OS3
11は、各通信メディア用のデバイスドライバを備え
る。
構308〜311、315が用意されている。これによ
り、あらゆる通信メディアに対応することができる。S
MS315は、ディジタル無線通信システムで用いられ
るショートメッセージを受け付け、UDPメッセージに
変換する。また、逆にUDPメッセージを受け付け、シ
ョートメッセージに変換する。IP308は、PPP
(ポイントトゥポイントプロトコル)を介してIPパケ
ットを転送する。この転送は、イーサネット/シリアル
通信インターフェース310を介して行われる。OS3
11は、各通信メディア用のデバイスドライバを備え
る。
【0041】以上のように、システムとソフトウェアと
が構成されている。次に、サーバープログラムの構成と
動作について説明する。まず、ディレクトリサービス3
01について説明する。ディレクトリサービス301
は、システムのサーバープログラムに関する情報を提供
する。ディレクトリサービス301は、クライアントプ
ログラムあるいは、サーバープログラムから利用され
る。ディレクトリサービス301を用いるユーザーは、
このサービスが提供するポートを介して、オペレーショ
ン(情報の追加、参照、更新、削除等)を指示する。デ
ィレクトリサービス301が管理するデータベースは、
データ同期機構312によって用意されるコンテナ上に
設けられる。データベースのデータは、オブジェクトデ
ータの形式で記憶される。ディレクトリサービス301
は、サーバーマシン104、ゲートウェイ105、交換
機108、基地局交換機107の状態を管理する。この
例では、費用に対する効果の観点から判断して、基地局
コントローラ106の状態を管理していない。但し、基
地局コントローラ106の状態についても管理すること
は、可能である。
が構成されている。次に、サーバープログラムの構成と
動作について説明する。まず、ディレクトリサービス3
01について説明する。ディレクトリサービス301
は、システムのサーバープログラムに関する情報を提供
する。ディレクトリサービス301は、クライアントプ
ログラムあるいは、サーバープログラムから利用され
る。ディレクトリサービス301を用いるユーザーは、
このサービスが提供するポートを介して、オペレーショ
ン(情報の追加、参照、更新、削除等)を指示する。デ
ィレクトリサービス301が管理するデータベースは、
データ同期機構312によって用意されるコンテナ上に
設けられる。データベースのデータは、オブジェクトデ
ータの形式で記憶される。ディレクトリサービス301
は、サーバーマシン104、ゲートウェイ105、交換
機108、基地局交換機107の状態を管理する。この
例では、費用に対する効果の観点から判断して、基地局
コントローラ106の状態を管理していない。但し、基
地局コントローラ106の状態についても管理すること
は、可能である。
【0042】前述の図1は、起源となるサーバーマシン
104から無線通信端末101までの経路について示し
ている。しかし、実際のシステムには、複数台のゲート
ウェイ105が含まれる。また、無線通信のネットワー
クシステムは、図5に示すように構成される。ネットワ
ークシステムは、交換機108を頂点とする複数のクラ
スタを有する。交換機基地局107は、サービスエリア
をカバーする。そして、サーバーマシン104にインス
トールされているソフトウェアは、ゲートウェイ108
と、交換機108と、基地局交換機107とのすべてに
対してインストールされている。そして、これらのマシ
ンのサーバー複製管理305用のポートは、リスニング
状態となっている。
104から無線通信端末101までの経路について示し
ている。しかし、実際のシステムには、複数台のゲート
ウェイ105が含まれる。また、無線通信のネットワー
クシステムは、図5に示すように構成される。ネットワ
ークシステムは、交換機108を頂点とする複数のクラ
スタを有する。交換機基地局107は、サービスエリア
をカバーする。そして、サーバーマシン104にインス
トールされているソフトウェアは、ゲートウェイ108
と、交換機108と、基地局交換機107とのすべてに
対してインストールされている。そして、これらのマシ
ンのサーバー複製管理305用のポートは、リスニング
状態となっている。
【0043】図6に、ディレクトリサービス301が管
理するデータベースのデータの例を示す。レコード60
1、609〜613は、このデータベースのレコードで
ある。各レコードは、デリミタ(:)で、各フィールド
に分けられている。ディレクトリサービス301は、各
フィールドのデータをキーとする検索の機能を有する。
理するデータベースのデータの例を示す。レコード60
1、609〜613は、このデータベースのレコードで
ある。各レコードは、デリミタ(:)で、各フィールド
に分けられている。ディレクトリサービス301は、各
フィールドのデータをキーとする検索の機能を有する。
【0044】レコード601は、サーバーマシン104
の状態を示している。フィールド602は、状態を管理
されるマシンのホスト名とIPアドレスを格納するフィ
ールドである。この例では、”kailua.isl.
melco.co.jp”というホスト名の文字列表記
のデータと、”10.74.4.111”というIPア
ドレスの数字列表記されたデータとが登録されている。
フィールド603は、網に接続する際に使用される電話
番号を格納するフィールドである。この例では、”+8
1467412059”が格納されている。フィールド
604は、ディレクトリサービス301の稼働状態を格
納するフィールドである。起源となるサーバーマシン1
04のこのフィールド604は、稼働中を意味する”y
es”が格納されている。フィールド605は、メッセ
ージングサービス302の稼働状態を格納するフィール
ドである。この例で、”+81467412060”と
示された電話番号は、メッセージングマネージャー部分
701が使用する電話番号である。この電話番号は、網
に接続する為に用いられる。メッセージングマネージャ
ー部分701にはついては、後述する。フィールド60
6は、データベースアクセスサービス303の稼働状態
を格納するフィールドである。フィールド607は、協
調アプリケーションサービス304の稼働状態を格納す
るフィールドである。フィールド608は、マシンの地
理的な位置に関する情報を格納するフィールドである。
この情報は、緯度と、経度とで表わされる。
の状態を示している。フィールド602は、状態を管理
されるマシンのホスト名とIPアドレスを格納するフィ
ールドである。この例では、”kailua.isl.
melco.co.jp”というホスト名の文字列表記
のデータと、”10.74.4.111”というIPア
ドレスの数字列表記されたデータとが登録されている。
フィールド603は、網に接続する際に使用される電話
番号を格納するフィールドである。この例では、”+8
1467412059”が格納されている。フィールド
604は、ディレクトリサービス301の稼働状態を格
納するフィールドである。起源となるサーバーマシン1
04のこのフィールド604は、稼働中を意味する”y
es”が格納されている。フィールド605は、メッセ
ージングサービス302の稼働状態を格納するフィール
ドである。この例で、”+81467412060”と
示された電話番号は、メッセージングマネージャー部分
701が使用する電話番号である。この電話番号は、網
に接続する為に用いられる。メッセージングマネージャ
ー部分701にはついては、後述する。フィールド60
6は、データベースアクセスサービス303の稼働状態
を格納するフィールドである。フィールド607は、協
調アプリケーションサービス304の稼働状態を格納す
るフィールドである。フィールド608は、マシンの地
理的な位置に関する情報を格納するフィールドである。
この情報は、緯度と、経度とで表わされる。
【0045】レコード609は、ゲートウェイ105の
状態を示している。この例のゲートウェイは、米国東海
岸に位置している。そのことは、レコード609のフィ
ールド608より読み取れる。レコード609のフィー
ルド604〜607は、ゲートウェイ105のすべての
サービスプログラムが稼働していないことを示してい
る。
状態を示している。この例のゲートウェイは、米国東海
岸に位置している。そのことは、レコード609のフィ
ールド608より読み取れる。レコード609のフィー
ルド604〜607は、ゲートウェイ105のすべての
サービスプログラムが稼働していないことを示してい
る。
【0046】レコード610は、交換機108の状態を
示している。レコード610のフィールド602は、こ
の交換機108のIPアドレスは、”138.10.1
2.1”であることと、このIPアドレスが半固定的に
与えられていることを表わしている。括弧の表記は、半
固定的であることを意味している。この例で、半固定的
にIPアドレスが与えられているのは、必要に応じて、
交換機108がPPP310介してインターネット10
3に接続するためである。
示している。レコード610のフィールド602は、こ
の交換機108のIPアドレスは、”138.10.1
2.1”であることと、このIPアドレスが半固定的に
与えられていることを表わしている。括弧の表記は、半
固定的であることを意味している。この例で、半固定的
にIPアドレスが与えられているのは、必要に応じて、
交換機108がPPP310介してインターネット10
3に接続するためである。
【0047】レコード611〜613は、基地局交換機
107の状態を示している。これらのレコード611〜
613のフィールド602には、ホスト名の文字列表記
である”sw0.lexington.local.c
om”が登録されているが、IPアドレスを数字列表記
したデータは、登録されていない。基地局交換機107
は、必ずしもIP308を介して接続するとは限らない
からである。
107の状態を示している。これらのレコード611〜
613のフィールド602には、ホスト名の文字列表記
である”sw0.lexington.local.c
om”が登録されているが、IPアドレスを数字列表記
したデータは、登録されていない。基地局交換機107
は、必ずしもIP308を介して接続するとは限らない
からである。
【0048】上述したように、ディレクトリサービス3
01は、データベースを参照し、更新する。ディレクト
リサービス301の特徴は、各サービスプログラムの稼
動状況と、マシンの地理的位置とを組合わせた条件に適
合するマシンを探し出すことである。例えば、特定のサ
ービスプログラムが稼動しているマシンのうち、特定の
クライアントと地理的に最も近いマシンを探し出すこと
ができる。また、特定のサービスプログラムが稼動して
いないマシンのうち、特定のクライアントと地理的に最
も近いマシンを探し出すこともできる。
01は、データベースを参照し、更新する。ディレクト
リサービス301の特徴は、各サービスプログラムの稼
動状況と、マシンの地理的位置とを組合わせた条件に適
合するマシンを探し出すことである。例えば、特定のサ
ービスプログラムが稼動しているマシンのうち、特定の
クライアントと地理的に最も近いマシンを探し出すこと
ができる。また、特定のサービスプログラムが稼動して
いないマシンのうち、特定のクライアントと地理的に最
も近いマシンを探し出すこともできる。
【0049】次に、メッセージングサービス302につ
いて説明する。図7に、メッセージングサービス302
の構成を示す。メッセージングサービス302は、メッ
セージングマネージャ部分701と、IMAP4サーバ
ー部分702とから構成されている。
いて説明する。図7に、メッセージングサービス302
の構成を示す。メッセージングサービス302は、メッ
セージングマネージャ部分701と、IMAP4サーバ
ー部分702とから構成されている。
【0050】IMAP4サーバー部分702は、IMA
P4相当のサービスを提供するサーバーである。IMA
P4は、サーバー側に電子メールデータを保管すること
を特徴とする電子メールプロトコルである。通常IMA
P4は、TCP/IP上で動作する。しかし、この例の
IMAP4サーバー部分702は、TCP/IPのみな
らず、種々のデータグラム通信を用いて動作することが
できる。IMAP4サーバー部分702は、イベント通
知機構306上に構成されているからである。
P4相当のサービスを提供するサーバーである。IMA
P4は、サーバー側に電子メールデータを保管すること
を特徴とする電子メールプロトコルである。通常IMA
P4は、TCP/IP上で動作する。しかし、この例の
IMAP4サーバー部分702は、TCP/IPのみな
らず、種々のデータグラム通信を用いて動作することが
できる。IMAP4サーバー部分702は、イベント通
知機構306上に構成されているからである。
【0051】メッセージングマネージャ部分701は、
モデム経由でスマートフォンやFAX等の通信機器が受
信したデータを、電子メールデータとしてIMAP4サ
ーバー部分702に提供する。また、メッセージングマ
ネージャ部分701は、IMAP4サーバー部分702
が受け取った電子メールデータに含まれるスマートフォ
ンやFAX宛のデータを見つけ出し、そのデータをそれ
らの通信機器に提供する。
モデム経由でスマートフォンやFAX等の通信機器が受
信したデータを、電子メールデータとしてIMAP4サ
ーバー部分702に提供する。また、メッセージングマ
ネージャ部分701は、IMAP4サーバー部分702
が受け取った電子メールデータに含まれるスマートフォ
ンやFAX宛のデータを見つけ出し、そのデータをそれ
らの通信機器に提供する。
【0052】メッセージングサービス302のIMAP
4サーバー部分702は、データ同期機構312上で、
電子メールデータを管理する。
4サーバー部分702は、データ同期機構312上で、
電子メールデータを管理する。
【0053】次に、データベースアクセスサービス30
3について説明する。ユーザーは、データベースアクセ
スサービス303の運用について、2通りの運用形態の
うちから1つの運用形態を選択することができる。選択
された運用形態は、サーバーマシン104に初期設定さ
れる。一方の運用形態は、データベース205のデータ
を更新できない形態である。この運用形態の場合には、
参照データされるデータは、データ同期機構312上で
管理される。この管理は、前述した電子メールデータの
管理と同様である。データベース205がこのように管
理されるため、各マシンは、データアクセスサービス3
03を複製され、設置され得る。他方の運用形態は、デ
ータベース205のデータを更新できる形態である。サ
ーバーマシン104は、データベースに対するトランザ
クションを要求する為のキューを管理する。クライアン
トプログラムは、サーバー104上のデータベースアク
セスサービス303に接続する。そして、トランザクシ
ョンの要求をキューに記憶させる。
3について説明する。ユーザーは、データベースアクセ
スサービス303の運用について、2通りの運用形態の
うちから1つの運用形態を選択することができる。選択
された運用形態は、サーバーマシン104に初期設定さ
れる。一方の運用形態は、データベース205のデータ
を更新できない形態である。この運用形態の場合には、
参照データされるデータは、データ同期機構312上で
管理される。この管理は、前述した電子メールデータの
管理と同様である。データベース205がこのように管
理されるため、各マシンは、データアクセスサービス3
03を複製され、設置され得る。他方の運用形態は、デ
ータベース205のデータを更新できる形態である。サ
ーバーマシン104は、データベースに対するトランザ
クションを要求する為のキューを管理する。クライアン
トプログラムは、サーバー104上のデータベースアク
セスサービス303に接続する。そして、トランザクシ
ョンの要求をキューに記憶させる。
【0054】特に、データを更新できない形態の場合に
ついて説明する。データを参照する要求は、オブジェク
トデータの形式で作成される。そして、このオブジェク
トデータは、データ同期機構312のコンテナ中に格納
される。このオブジェクトデータの中には、SQL文が
含まれている。データベースアクセスサービス303
は、このSQL文をデータベース205へ送る。データ
ベースは、このSQL文に対して返答する。この返答
は、他のオブジェクトデータに含められる。
ついて説明する。データを参照する要求は、オブジェク
トデータの形式で作成される。そして、このオブジェク
トデータは、データ同期機構312のコンテナ中に格納
される。このオブジェクトデータの中には、SQL文が
含まれている。データベースアクセスサービス303
は、このSQL文をデータベース205へ送る。データ
ベースは、このSQL文に対して返答する。この返答
は、他のオブジェクトデータに含められる。
【0055】図8は、クライアントプログラムからデー
タを参照する場合のデータフローを表わす図である。ク
ライアントプログラム801は、複製されたデータベー
スアクセスサービス303に対して、データを参照する
要求を出す。この要求は、SQL文を用いている。デー
タベースアクセスサービス303は、データ同期機構3
12上のコンテナ802中に、このSQL文を含むデー
タオブジェクトを格納する。このデータ同期機構312
は、データベースアクセスサービス303によって管理
されている。
タを参照する場合のデータフローを表わす図である。ク
ライアントプログラム801は、複製されたデータベー
スアクセスサービス303に対して、データを参照する
要求を出す。この要求は、SQL文を用いている。デー
タベースアクセスサービス303は、データ同期機構3
12上のコンテナ802中に、このSQL文を含むデー
タオブジェクトを格納する。このデータ同期機構312
は、データベースアクセスサービス303によって管理
されている。
【0056】コンテナ805は、起源となるサーバー1
04のデータベースアクセスサービス303によって管
理されているコンテナである。ここでは、このデータア
クセスサービス303を、起源データベースアクセスサ
ービス808という。コンテナ802と、コンテナ80
5とは、同期状態にある。従って、コンテナ802に格
納されたオブジェクトデータ803は、コンテナ805
に反映される。その結果として、新しいオブジェクトデ
ータ806が、コンテナ805中に現れる。起源データ
ベースアクセスサービス808は、新しいオブジェクト
データ806を発見すると、このオブジェクトデータ8
06に含まれるSQL文を読み出す。そして、起源デー
タベースアクセスサービス808は、このSQL文を用
いてデータベース809に問い合わせる。オブジェクト
データ807は、起源データベースアクセスサービス8
08によって更新されたオブジェクトデータである。オ
ブジェクトデータ807に対する更新は、オブジェクデ
ータト804に反映される。オブジェクトデータ804
は、オブジェクトデータ807と対をなすものである。
複製されたデータベースアクセスサービス303は、オ
ブジェクトデータ804から参照するデータを読み出
す。そして、複製されたデータベースアクセスサービス
303は、このデータをクライアントプログラム801
に返す。
04のデータベースアクセスサービス303によって管
理されているコンテナである。ここでは、このデータア
クセスサービス303を、起源データベースアクセスサ
ービス808という。コンテナ802と、コンテナ80
5とは、同期状態にある。従って、コンテナ802に格
納されたオブジェクトデータ803は、コンテナ805
に反映される。その結果として、新しいオブジェクトデ
ータ806が、コンテナ805中に現れる。起源データ
ベースアクセスサービス808は、新しいオブジェクト
データ806を発見すると、このオブジェクトデータ8
06に含まれるSQL文を読み出す。そして、起源デー
タベースアクセスサービス808は、このSQL文を用
いてデータベース809に問い合わせる。オブジェクト
データ807は、起源データベースアクセスサービス8
08によって更新されたオブジェクトデータである。オ
ブジェクトデータ807に対する更新は、オブジェクデ
ータト804に反映される。オブジェクトデータ804
は、オブジェクトデータ807と対をなすものである。
複製されたデータベースアクセスサービス303は、オ
ブジェクトデータ804から参照するデータを読み出
す。そして、複製されたデータベースアクセスサービス
303は、このデータをクライアントプログラム801
に返す。
【0057】協調アプリケーションサービス304につ
いて説明する。協調アプリケーションサービス304
は、このシステムの使用者間での会議の設定等を行なう
サービスである。協調アプリケーションサービス304
は、メッセージングサービス302と、データベースア
クセスサービス303とを利用する。
いて説明する。協調アプリケーションサービス304
は、このシステムの使用者間での会議の設定等を行なう
サービスである。協調アプリケーションサービス304
は、メッセージングサービス302と、データベースア
クセスサービス303とを利用する。
【0058】これらサーバープログラムとクライアント
プログラムとの通信は、イベント通知機構306を利用
する。イベント通知機構306は、各サービスに対応し
たポート番号を確保している。
プログラムとの通信は、イベント通知機構306を利用
する。イベント通知機構306は、各サービスに対応し
たポート番号を確保している。
【0059】次に、イベント通知機構306について説
明する。図9は、イベント通知機構306の構成を示す
図である。イベント通知機構306の特徴は、下位通信
機構として、コネクションレス型の通信機構(データグ
ラム)と、コネクション型の通信機構(TCP)とを有
し、アプリケーションプログラムに対して一律にSen
d/Receiveによる通信プログラミングインター
フェースを与えることである。
明する。図9は、イベント通知機構306の構成を示す
図である。イベント通知機構306の特徴は、下位通信
機構として、コネクションレス型の通信機構(データグ
ラム)と、コネクション型の通信機構(TCP)とを有
し、アプリケーションプログラムに対して一律にSen
d/Receiveによる通信プログラミングインター
フェースを与えることである。
【0060】データキュー管理部903は、データグラ
ムポート管理部904と、コネクションポート管理部9
05とを用いる。データキュー管理部903は、ポート
番号毎のデータキューを管理する。通信遅延計測メッセ
ージ応答部902は、通信遅延計測用のポートで受けた
メッセージに対して、返信する。統計情報管理部901
は、イベント通知機構306が受けたメッセージに関す
る統計情報を管理する。
ムポート管理部904と、コネクションポート管理部9
05とを用いる。データキュー管理部903は、ポート
番号毎のデータキューを管理する。通信遅延計測メッセ
ージ応答部902は、通信遅延計測用のポートで受けた
メッセージに対して、返信する。統計情報管理部901
は、イベント通知機構306が受けたメッセージに関す
る統計情報を管理する。
【0061】ポート番号は、ホスト内の通信元あるいは
ホスト内の通信先を特定するために用いられる。ポート
番号は、一意の番号である。ポート番号は、コネクショ
ンレス型の通信機構でも、コネクション方式の通信機構
でも用いられる。データグラムポート管理部904(コ
ネクションレス型)は、データキュー管理部903が管
理するポート番号をそのまま用いる。つまり、データグ
ラムポート管理部904が、データグラムトランスポー
ト313からパケットを受けた場合には、そのときに用
いたポート番号を用いて、データキュー管理部903
に、受信したパケットを渡す。そして、データキュー管
理部903は、そのポート番号に対応する受信用データ
キューに、そのパケットを挿入する。逆にデータを送信
する場合には、データグラムポート管理部904は、デ
ータキュー管理部903からポート番号とともに送信す
るパケットを受け、データグラムトランスポート313
へそのポート番号とともにそのパケットを渡す。
ホスト内の通信先を特定するために用いられる。ポート
番号は、一意の番号である。ポート番号は、コネクショ
ンレス型の通信機構でも、コネクション方式の通信機構
でも用いられる。データグラムポート管理部904(コ
ネクションレス型)は、データキュー管理部903が管
理するポート番号をそのまま用いる。つまり、データグ
ラムポート管理部904が、データグラムトランスポー
ト313からパケットを受けた場合には、そのときに用
いたポート番号を用いて、データキュー管理部903
に、受信したパケットを渡す。そして、データキュー管
理部903は、そのポート番号に対応する受信用データ
キューに、そのパケットを挿入する。逆にデータを送信
する場合には、データグラムポート管理部904は、デ
ータキュー管理部903からポート番号とともに送信す
るパケットを受け、データグラムトランスポート313
へそのポート番号とともにそのパケットを渡す。
【0062】コネクションポート管理部905は、コネ
クション方式である。従って、データ送受信のために、
独立した処理コンテキストが必要となる。また、データ
キュー管理部903におけるポート割りつけのリスニン
グと、コネクションポート管理部905におけるコネク
ション要求のリスニングとを対応させる必要がある。そ
のために、コネクションポート管理部905は、これら
のリスニングのためのポート番号が競合しないように管
理する。具体的には、10000以下の整数は、コネク
ションポート管理部905におけるリスニングのための
ポート番号、及びコネクトによって確保されるポート番
号に用いられる。10001以上の整数は、データキュ
ー管理部903におけるリスニングのためのポート番号
に用いられる。例えば、メッセージングサービス302
を利用する場合を説明する。”143”(IMAP4の
リスニングポート)は、コネクションポート管理部90
5において、このサービス用のリスニングポートの番号
として用いられる。”10143”は、データキュー管
理部903におけるリスニングのためのポート番号に用
いられる。データキュー管理部903のプログラミング
インターフェースは、”new_port=liste
n(10143,143);”と表現される。コネクシ
ョンポート管理部905は、リスニングポートでコネク
ト要求を受けとると、データキュー管理部903に、新
しいポートの確保と、データキューの確保とを依頼す
る。この依頼のときに、リスニングのためのポート番号
を渡す。そして、この依頼が成功すると、データキュー
管理部903のポート番号と、新しく確保したポートの
番号とを関連付けて記憶する。尚、コネクションへのr
eadの処理及びwriteの処理に必要な処理コンテ
キストは、コネクションの確立時に、生成される。
クション方式である。従って、データ送受信のために、
独立した処理コンテキストが必要となる。また、データ
キュー管理部903におけるポート割りつけのリスニン
グと、コネクションポート管理部905におけるコネク
ション要求のリスニングとを対応させる必要がある。そ
のために、コネクションポート管理部905は、これら
のリスニングのためのポート番号が競合しないように管
理する。具体的には、10000以下の整数は、コネク
ションポート管理部905におけるリスニングのための
ポート番号、及びコネクトによって確保されるポート番
号に用いられる。10001以上の整数は、データキュ
ー管理部903におけるリスニングのためのポート番号
に用いられる。例えば、メッセージングサービス302
を利用する場合を説明する。”143”(IMAP4の
リスニングポート)は、コネクションポート管理部90
5において、このサービス用のリスニングポートの番号
として用いられる。”10143”は、データキュー管
理部903におけるリスニングのためのポート番号に用
いられる。データキュー管理部903のプログラミング
インターフェースは、”new_port=liste
n(10143,143);”と表現される。コネクシ
ョンポート管理部905は、リスニングポートでコネク
ト要求を受けとると、データキュー管理部903に、新
しいポートの確保と、データキューの確保とを依頼す
る。この依頼のときに、リスニングのためのポート番号
を渡す。そして、この依頼が成功すると、データキュー
管理部903のポート番号と、新しく確保したポートの
番号とを関連付けて記憶する。尚、コネクションへのr
eadの処理及びwriteの処理に必要な処理コンテ
キストは、コネクションの確立時に、生成される。
【0063】コネクション確立後のデータキューの操作
は、データグラムポート管理部904を用いる場合と同
じである。
は、データグラムポート管理部904を用いる場合と同
じである。
【0064】図10は、パケットと統計情報の構成を示
す図である。データグラムポート管理部904経由の場
合には、データキュー管理部903は、1001に示す
構成のパケットを受ける。1002は、データキュー管
理部903のポート番号、1003は、クライアントの
緯度情報、1004は、クライアントの経度情報、10
05は、実データである。クライアントの通信機構は、
通常のデータグラムパケットに、1002〜1004の
情報を付加する。コネクションポート管理部経由905
の場合には、1006に示す構成のパケットを受ける。
コネクションポートから得られるデータは、実データ1
010のみである。コネクションポート管理部905
は、データキュー管理部903のポート番号1007
と、クライアントの緯度情報1008と、クライアント
の経度情報1009とを付加する。但し、実際には、ク
ライントの位置はわからないので、クライアントの緯度
情報1008と、クライアントの経度情報1009とに
は、不明を意味するNULLが設定される。
す図である。データグラムポート管理部904経由の場
合には、データキュー管理部903は、1001に示す
構成のパケットを受ける。1002は、データキュー管
理部903のポート番号、1003は、クライアントの
緯度情報、1004は、クライアントの経度情報、10
05は、実データである。クライアントの通信機構は、
通常のデータグラムパケットに、1002〜1004の
情報を付加する。コネクションポート管理部経由905
の場合には、1006に示す構成のパケットを受ける。
コネクションポートから得られるデータは、実データ1
010のみである。コネクションポート管理部905
は、データキュー管理部903のポート番号1007
と、クライアントの緯度情報1008と、クライアント
の経度情報1009とを付加する。但し、実際には、ク
ライントの位置はわからないので、クライアントの緯度
情報1008と、クライアントの経度情報1009とに
は、不明を意味するNULLが設定される。
【0065】データキュー管理部903は、指定された
ポートに対応するデータキューにパケットを挿入する。
その挿入の度に統計情報1011が更新される。各エン
トリは、クライアントの緯度情報1012と、クライア
ントの経度情報1013と、パケット受信回数1014
とからなる。統計情報管理部901は、新しいクライア
ントの位置情報(緯度情報と経度情報からなる)を有す
るパケットを受け取った場合には、新しいエントリを統
計情報1011に追加する。統計情報管理部901は、
既に登録されている位置情報を持つパケットを受け取っ
た場合には、パケット受信回数1014を1だけ加算す
る。1016は、クライアントの位置情報を持たないパ
ケットの受信回数を示す。統計情報管理部901は、統
計情報1011に基づいて、指定されたクライアントの
位置情報に対応するパケット受信回数を返す機能を有す
る。
ポートに対応するデータキューにパケットを挿入する。
その挿入の度に統計情報1011が更新される。各エン
トリは、クライアントの緯度情報1012と、クライア
ントの経度情報1013と、パケット受信回数1014
とからなる。統計情報管理部901は、新しいクライア
ントの位置情報(緯度情報と経度情報からなる)を有す
るパケットを受け取った場合には、新しいエントリを統
計情報1011に追加する。統計情報管理部901は、
既に登録されている位置情報を持つパケットを受け取っ
た場合には、パケット受信回数1014を1だけ加算す
る。1016は、クライアントの位置情報を持たないパ
ケットの受信回数を示す。統計情報管理部901は、統
計情報1011に基づいて、指定されたクライアントの
位置情報に対応するパケット受信回数を返す機能を有す
る。
【0066】通信遅延計測メッセージ応答部902は、
経路情報を転送し、更に回収することによって通信遅延
を概算する。図11に経路情報の例を示す。1101
は、発信元がデータグラム送信に使用する通信プロトコ
ルと、発信元のアドレスとを示す。発信元は、このアド
レスにポート番号10001を付し、それを送信する。
通信遅延計測メッセージ応答部902は、データキュー
管理部903のポート(ポート番号10001)を固定
的に使用する。この情報は、1102に示される通信プ
ロトコルIPのアドレス137.203.10.12に
送られる。このノードの通信遅延計測メッセージ応答部
902は、この情報を受けとると、この情報中の110
2に対応するカラム1105を1にする。このカラムが
1である場合には、往路の転送が済んだことを意味す
る。順に、1103に示されるノードに転送され、更に
1104に示される最終のノードに到達する。その後
は、逆に復路をたどる。発信元の通信遅延計測メッセー
ジ応答部902は、ポート番号10001のポートで、
経路情報を受けとり、送信時から受信時までの経過時間
を測定することで通信遅延を概算する。
経路情報を転送し、更に回収することによって通信遅延
を概算する。図11に経路情報の例を示す。1101
は、発信元がデータグラム送信に使用する通信プロトコ
ルと、発信元のアドレスとを示す。発信元は、このアド
レスにポート番号10001を付し、それを送信する。
通信遅延計測メッセージ応答部902は、データキュー
管理部903のポート(ポート番号10001)を固定
的に使用する。この情報は、1102に示される通信プ
ロトコルIPのアドレス137.203.10.12に
送られる。このノードの通信遅延計測メッセージ応答部
902は、この情報を受けとると、この情報中の110
2に対応するカラム1105を1にする。このカラムが
1である場合には、往路の転送が済んだことを意味す
る。順に、1103に示されるノードに転送され、更に
1104に示される最終のノードに到達する。その後
は、逆に復路をたどる。発信元の通信遅延計測メッセー
ジ応答部902は、ポート番号10001のポートで、
経路情報を受けとり、送信時から受信時までの経過時間
を測定することで通信遅延を概算する。
【0067】次に、サーバープログラムの複製及び設置
の機構について説明する。複製及び設置の処理は、サー
バー複製管理305によって行なわれる。複製及び設置
の要否は、クライアントからの通信の頻度と、同通信の
遅延とに基づいて判断する。図12に、サーバープログ
ラムの複製及び設置の要否を判断するフローを示す。サ
ーバー複製管理305は、定期的にこの判断を行ない、
必要であればサーバープログラムを複製し、設置する。
の機構について説明する。複製及び設置の処理は、サー
バー複製管理305によって行なわれる。複製及び設置
の要否は、クライアントからの通信の頻度と、同通信の
遅延とに基づいて判断する。図12に、サーバープログ
ラムの複製及び設置の要否を判断するフローを示す。サ
ーバー複製管理305は、定期的にこの判断を行ない、
必要であればサーバープログラムを複製し、設置する。
【0068】統計情報管理部901がエントリ毎に管理
する各ノード(通信地点)について、ステップ1202
以降の処理を行なう(ステップ1201)。全てのエン
トリ(但し、クライアントの経度情報1012とクライ
アントの緯度情報1013とが、NULLであるエント
リを除く。)についてステップ1202以降の処理を終
えたならば、処理を一旦終了し、休眠する。休眠後は、
ステップ1201から改めて処理を開始する。ステップ
1202では、対象となるノードの統計情報を問い合わ
せ、その後、このノードを管理する為に用いていたエン
トリのデータをクリアする。クリアする理由は、休眠期
間中に得られたデータに基づいて判断するためである。
言い換えると、ある期間の動的な使用頻度に基づいて判
断するためである。ステップ1203では、通信頻度が
基準値以上であるか否かをチェックする。例えば、休眠
期間10分中に、10回以上通信が行なわれたかどうか
を基準とする。
する各ノード(通信地点)について、ステップ1202
以降の処理を行なう(ステップ1201)。全てのエン
トリ(但し、クライアントの経度情報1012とクライ
アントの緯度情報1013とが、NULLであるエント
リを除く。)についてステップ1202以降の処理を終
えたならば、処理を一旦終了し、休眠する。休眠後は、
ステップ1201から改めて処理を開始する。ステップ
1202では、対象となるノードの統計情報を問い合わ
せ、その後、このノードを管理する為に用いていたエン
トリのデータをクリアする。クリアする理由は、休眠期
間中に得られたデータに基づいて判断するためである。
言い換えると、ある期間の動的な使用頻度に基づいて判
断するためである。ステップ1203では、通信頻度が
基準値以上であるか否かをチェックする。例えば、休眠
期間10分中に、10回以上通信が行なわれたかどうか
を基準とする。
【0069】通信頻度が基準値以上であれば、図11に
例示した経路情報を用いて通信遅延時間の計測を行なう
(ステップ1204)。通信遅延時間が基準値よりも大
きければ、サーバープログラムの複製及び設置が必要で
あると判断する(ステップ1205)。ステップ120
6では、サーバープログラムの複製及び設置を行なう。
例示した経路情報を用いて通信遅延時間の計測を行なう
(ステップ1204)。通信遅延時間が基準値よりも大
きければ、サーバープログラムの複製及び設置が必要で
あると判断する(ステップ1205)。ステップ120
6では、サーバープログラムの複製及び設置を行なう。
【0070】図13に経路情報(図11)を生成する処
理のフローを示す。ステップ1301では、通信遅延時
間を測定の対象である目的の位置情報が設定される。ス
テップ1302では、そのシステムが保有する最もすぐ
れた通信メディアを選択し、そのメディアに対応するプ
ロトコルを登録する。また、そのプロトコルによるアド
レスを登録する。往路、復路のカラムは、0で初期化す
る。ステップ1303では、そのプロトコルで到達でき
るノードの中から、目的に近い位置にあるノードを検索
する。この検索は、ディレクトリサービス301による
検索の機能を用いる。すでに経路情報中に登録されてい
るノードよりも目的に近いノードがあれば(ステップ1
303)、ステップ1302に戻り(ステップ130
4)、そのノードを経路情報に登録する(ステップ13
02)。近いノードが無い場合には、2番目に優れたプ
ロトコルを選択し、再度、目的に近いノードを検索する
(ステップ1303)。該当するノードがあれば、その
ノードを経路情報に登録する(ステップ1304、13
02)。優れたプロトコルの選択は、図4に示した通信
機構409〜415が対応する通信プロトコルの中か
ら、例えば、通信速度の高い通信プロトコルを選択す
る。
理のフローを示す。ステップ1301では、通信遅延時
間を測定の対象である目的の位置情報が設定される。ス
テップ1302では、そのシステムが保有する最もすぐ
れた通信メディアを選択し、そのメディアに対応するプ
ロトコルを登録する。また、そのプロトコルによるアド
レスを登録する。往路、復路のカラムは、0で初期化す
る。ステップ1303では、そのプロトコルで到達でき
るノードの中から、目的に近い位置にあるノードを検索
する。この検索は、ディレクトリサービス301による
検索の機能を用いる。すでに経路情報中に登録されてい
るノードよりも目的に近いノードがあれば(ステップ1
303)、ステップ1302に戻り(ステップ130
4)、そのノードを経路情報に登録する(ステップ13
02)。近いノードが無い場合には、2番目に優れたプ
ロトコルを選択し、再度、目的に近いノードを検索する
(ステップ1303)。該当するノードがあれば、その
ノードを経路情報に登録する(ステップ1304、13
02)。優れたプロトコルの選択は、図4に示した通信
機構409〜415が対応する通信プロトコルの中か
ら、例えば、通信速度の高い通信プロトコルを選択す
る。
【0071】ステップ1206のサーバー複製及び設置
の処理について説明する。サーバープログラムの実行コ
ードであるアプリケーションプログラムは、予めサーバ
ープログラムの複製及び設置の候補となるノードのすべ
てにインストールされている。従って、複製及び設置の
処理は、必要なデータを複製し、プログラムを実行する
ことである。必要なデータとは、各サーバープログラム
が動作する為に必要なデータのことである。このデータ
は、データ同期機構312のコンテナ中のオブジェクト
データとして管理される。必要なデータは、この機構の
データ同期処理によって複製される。アプリケーション
プログラムは、この機構のコンテナのリストを引数とし
て呼び出され、処理を開始する。
の処理について説明する。サーバープログラムの実行コ
ードであるアプリケーションプログラムは、予めサーバ
ープログラムの複製及び設置の候補となるノードのすべ
てにインストールされている。従って、複製及び設置の
処理は、必要なデータを複製し、プログラムを実行する
ことである。必要なデータとは、各サーバープログラム
が動作する為に必要なデータのことである。このデータ
は、データ同期機構312のコンテナ中のオブジェクト
データとして管理される。必要なデータは、この機構の
データ同期処理によって複製される。アプリケーション
プログラムは、この機構のコンテナのリストを引数とし
て呼び出され、処理を開始する。
【0072】図6のエントリ601に示すホスト名ka
iluaのノードを複製元とし、エントリ609に示す
ホスト名sextantのノードを複製先及び設置先と
した場合を想定する。サーバー複製管理305は、20
000番のポートに対してkailuaのノード情報
と、各サービスプログラムが使用するコンテナ名のリス
トを送信する。20000番のポートは、既知のポート
である。このポートは、複製及び設置の候補となるすべ
てのノードのイベント通知機構306で一律に用意され
ている。以下に、コンテナ名のリストの例を示す。 <<リストの始まり>> ディレクトリサービス:dirdata メッセージングサービス:messagedata データベースアクセスサービス:DBaccessda
ta 協調アプリケーションサービス:coldata <<リストの終わり>>
iluaのノードを複製元とし、エントリ609に示す
ホスト名sextantのノードを複製先及び設置先と
した場合を想定する。サーバー複製管理305は、20
000番のポートに対してkailuaのノード情報
と、各サービスプログラムが使用するコンテナ名のリス
トを送信する。20000番のポートは、既知のポート
である。このポートは、複製及び設置の候補となるすべ
てのノードのイベント通知機構306で一律に用意され
ている。以下に、コンテナ名のリストの例を示す。 <<リストの始まり>> ディレクトリサービス:dirdata メッセージングサービス:messagedata データベースアクセスサービス:DBaccessda
ta 協調アプリケーションサービス:coldata <<リストの終わり>>
【0073】sextantのサーバー複製管理305
は、これらのデータを受けとると、上記4つの名前で空
のコンテナを作成する。これらのコンテナは、sext
antのデータ同期機構312上に作成される。サーバ
ー複製管理305は、ノード情報からIPを利用できる
ことを知り、通信機構409〜415の中からTCP4
11を選択して、それをデータ同期機構312に設定す
る。但し、すでにサーバープログラムが複製及び設置さ
れている場合には、何も処理せずに終了する。
は、これらのデータを受けとると、上記4つの名前で空
のコンテナを作成する。これらのコンテナは、sext
antのデータ同期機構312上に作成される。サーバ
ー複製管理305は、ノード情報からIPを利用できる
ことを知り、通信機構409〜415の中からTCP4
11を選択して、それをデータ同期機構312に設定す
る。但し、すでにサーバープログラムが複製及び設置さ
れている場合には、何も処理せずに終了する。
【0074】コンテナを生成し、通信機構を設定する
と、サーバー複製管理305は、各コンテナを対象とし
て、データ同期命令を発行する。そして、全てのデータ
同期が完了するのを待つ。つまり、各コンテナ中のすべ
てのデータオブジェクトが複製されるのを待つ。
と、サーバー複製管理305は、各コンテナを対象とし
て、データ同期命令を発行する。そして、全てのデータ
同期が完了するのを待つ。つまり、各コンテナ中のすべ
てのデータオブジェクトが複製されるのを待つ。
【0075】データ同期が完了すると、サーバー複製管
理305は、各サーバープログラム実行コードを実行す
る。実行の際のコマンドの引数は、各コンテナ名であ
る。すべてのサーバープログラム301〜304が実行
を開始したら、ディレクトリサービス301にアクセス
する。このアクセスは、サーバープログラムの複製先及
び設置先であるノードのサーバープログラム実行状況を
更新するためのアクセスである。図14にサーバープロ
グラムの複製及び設置後のディレクトリサービス301
が管理するデータベースのデータの例を示す。sext
antの各サービスが稼動中であることが読み取れる。
ディレクトリサービス301は、データを更新するアク
セスがあると、その更新が終了した後に、データ同期命
令を発行する。このデータ同期命令によって、ディレク
トリサービス301が管理するデータベースは、複製さ
れる。サーバープログラムの複製元のディレクトリサー
ビス301は、この複製によって、新たなサービス稼動
状況を得る。
理305は、各サーバープログラム実行コードを実行す
る。実行の際のコマンドの引数は、各コンテナ名であ
る。すべてのサーバープログラム301〜304が実行
を開始したら、ディレクトリサービス301にアクセス
する。このアクセスは、サーバープログラムの複製先及
び設置先であるノードのサーバープログラム実行状況を
更新するためのアクセスである。図14にサーバープロ
グラムの複製及び設置後のディレクトリサービス301
が管理するデータベースのデータの例を示す。sext
antの各サービスが稼動中であることが読み取れる。
ディレクトリサービス301は、データを更新するアク
セスがあると、その更新が終了した後に、データ同期命
令を発行する。このデータ同期命令によって、ディレク
トリサービス301が管理するデータベースは、複製さ
れる。サーバープログラムの複製元のディレクトリサー
ビス301は、この複製によって、新たなサービス稼動
状況を得る。
【0076】クライアントプログラムは、必要に応じ
て、クライアントマシン自身の近くにサーバープログラ
ムが設置されているノードが存在するか否かをチェック
する。近くに適したノードが存在する場合には、クライ
アントプログラムは、接続先をそのノードに変更する。
て、クライアントマシン自身の近くにサーバープログラ
ムが設置されているノードが存在するか否かをチェック
する。近くに適したノードが存在する場合には、クライ
アントプログラムは、接続先をそのノードに変更する。
【0077】クライントプログラムによるサーバープロ
グラムの使用の頻度が高まり、更に通信遅延が大くなっ
た場合には、そのサーバープログラムが設置されている
サーバーマシンが、クライアントマシンに近い通信地点
のサーバー候補マシンにサーバープログラムを複製し、
設置する。このように、複製先であるサーバー候補マシ
ンは、サーバープログラムが設置されると、複製元であ
るサーバーと同様に動作する。つまり、他のノードに対
してサーバープログラムを複製し、設置することができ
る。これは、複製先のサーバー複製管理305は、複製
元のサーバー複製管理305と同等だからである。
グラムの使用の頻度が高まり、更に通信遅延が大くなっ
た場合には、そのサーバープログラムが設置されている
サーバーマシンが、クライアントマシンに近い通信地点
のサーバー候補マシンにサーバープログラムを複製し、
設置する。このように、複製先であるサーバー候補マシ
ンは、サーバープログラムが設置されると、複製元であ
るサーバーと同様に動作する。つまり、他のノードに対
してサーバープログラムを複製し、設置することができ
る。これは、複製先のサーバー複製管理305は、複製
元のサーバー複製管理305と同等だからである。
【0078】実施の形態2.実施の形態1では、通信機
構としてTCP411を選択したが、実施の形態2で
は、通信機構の変更について説明する。通信機構の変更
の必要性は、通信に関する統計情報に基づいて判断され
る。この場合の通信は、差分データの転送の為の通信で
ある。差分データの転送は、データ同期の処理中に発生
する。
構としてTCP411を選択したが、実施の形態2で
は、通信機構の変更について説明する。通信機構の変更
の必要性は、通信に関する統計情報に基づいて判断され
る。この場合の通信は、差分データの転送の為の通信で
ある。差分データの転送は、データ同期の処理中に発生
する。
【0079】通信に関する統計情報は、例えば、データ
同期の処理中に発生したエラーの有無の記録である。こ
の統計情報に基づいて、データ同期機構312は、適し
た通信機構409〜415を選択する。図15は、通信
機構の選択のアルゴリズムを示す図である。
同期の処理中に発生したエラーの有無の記録である。こ
の統計情報に基づいて、データ同期機構312は、適し
た通信機構409〜415を選択する。図15は、通信
機構の選択のアルゴリズムを示す図である。
【0080】ステップ1501では、データ同期機構3
12は、自身が備えている通信機構409〜415が対
応する通信プロトコルの中から、最も良い性能が期待で
きる通信プロトコルを選択する。例えば、sextan
tの場合について説明する。sextantは、図1の
ゲートウェイ105に示すように、常時インターネット
接続と、モデム接続が可能である。そこで、インターネ
ット接続に使用するTCP411を選択する。
12は、自身が備えている通信機構409〜415が対
応する通信プロトコルの中から、最も良い性能が期待で
きる通信プロトコルを選択する。例えば、sextan
tの場合について説明する。sextantは、図1の
ゲートウェイ105に示すように、常時インターネット
接続と、モデム接続が可能である。そこで、インターネ
ット接続に使用するTCP411を選択する。
【0081】ステップ1502では、選択した通信機構
が、接続可能であるか否かをチェックする。接続できな
い場合には、次に良い通信プロトコルを選択する。つま
り、まだ選択されていない通信プロトコルのうちで、最
も良い性能が期待できる通信プロトコルを選択する。s
extantの例では、データグラム409を選択する
(ステップ1501)。ステップ1502で、選択した
通信機構が、接続可能であるか否かをチェックする。
が、接続可能であるか否かをチェックする。接続できな
い場合には、次に良い通信プロトコルを選択する。つま
り、まだ選択されていない通信プロトコルのうちで、最
も良い性能が期待できる通信プロトコルを選択する。s
extantの例では、データグラム409を選択する
(ステップ1501)。ステップ1502で、選択した
通信機構が、接続可能であるか否かをチェックする。
【0082】ステップ1502で接続可能と判断された
場合には、データ同期機構312は、その選択した通信
機構を介して、データ同期の処理を行なう(ステップ1
503)。
場合には、データ同期機構312は、その選択した通信
機構を介して、データ同期の処理を行なう(ステップ1
503)。
【0083】実施の形態3.実施の形態3では、アプリ
ケーションに対してリダイレクトと呼ばれる機能を提供
している交換機を想定する。そして、この機能と、交換
機の機能とによって、アドレス特定手段を有しない交換
機に対するアクセスを実現する。これによって、通信遅
延の改善を図ることができる。
ケーションに対してリダイレクトと呼ばれる機能を提供
している交換機を想定する。そして、この機能と、交換
機の機能とによって、アドレス特定手段を有しない交換
機に対するアクセスを実現する。これによって、通信遅
延の改善を図ることができる。
【0084】図6のホスト名lexingtonに複製
されたサーバープログラムに対するアクセス頻度が高ま
った場合には、サーバープログラムは、よりクライアン
トマシンに近いsw1に複製され、設置される。ディレ
クトリサービス301は、sw1が稼動状態であること
を認識している。クライアントプログラムは、ディレク
トリサービス301の管理する情報に基づいて、より近
いノードであるsw1にアクセスしようとする。しか
し、この例では、sw1は、無線通信メディアのアドレ
ス(つまり、無線携帯端末から接続するための電話番
号)を有していない。このことは、図6より読み取るこ
とができる。
されたサーバープログラムに対するアクセス頻度が高ま
った場合には、サーバープログラムは、よりクライアン
トマシンに近いsw1に複製され、設置される。ディレ
クトリサービス301は、sw1が稼動状態であること
を認識している。クライアントプログラムは、ディレク
トリサービス301の管理する情報に基づいて、より近
いノードであるsw1にアクセスしようとする。しか
し、この例では、sw1は、無線通信メディアのアドレ
ス(つまり、無線携帯端末から接続するための電話番
号)を有していない。このことは、図6より読み取るこ
とができる。
【0085】図18は、リダイレクトの登録の概念図で
ある。sw1(1802)は、基地局交換機107であ
る。クライアント1801は、無線携帯端末101であ
る。sw1(1802)は、クライアント1801から
lexington1803へ接続する場合の経路上に
位置する。sw1(1802)は、リダイレクタ180
8を有する。リダイレクタ1808は、リダイレクトの
ためのスイッチングの機能を提供する。sw1(180
2)は、リダイレクタの機能を用いて、接続元の電話番
号と、接続先の電話番号とを指定したPPPメッセージ
を取り込むことができる。また、sw1(1802)
は、PPPメッセージを送信することができる。
ある。sw1(1802)は、基地局交換機107であ
る。クライアント1801は、無線携帯端末101であ
る。sw1(1802)は、クライアント1801から
lexington1803へ接続する場合の経路上に
位置する。sw1(1802)は、リダイレクタ180
8を有する。リダイレクタ1808は、リダイレクトの
ためのスイッチングの機能を提供する。sw1(180
2)は、リダイレクタの機能を用いて、接続元の電話番
号と、接続先の電話番号とを指定したPPPメッセージ
を取り込むことができる。また、sw1(1802)
は、PPPメッセージを送信することができる。
【0086】リダイレクトする可能性があるサーバーマ
シンには、リダイレクトマネージャが待機している。そ
のサーバーマシンは、リダイレクトマネージャ用に、3
0000番のポートを用意している。この例では、リダ
イレクトマネージャは、lexington1803
と、sw1(1802)とにも待機している。
シンには、リダイレクトマネージャが待機している。そ
のサーバーマシンは、リダイレクトマネージャ用に、3
0000番のポートを用意している。この例では、リダ
イレクトマネージャは、lexington1803
と、sw1(1802)とにも待機している。
【0087】図19は、リダイレクトの登録についての
フロー図である。クライアントプログラムは、lexi
ngton1803のリダイレクトマネージャ1806
にメッセージを送る(S1901)。lexingto
n1803は、到達できるサーバーマシンの中で最も近
いサーバーマシンである。図16に、リダイレクトマネ
ージャに送るメッセージの例を示す。1602は、ディ
レクトリサービス301を用いて特定したサーバーマシ
ンのホスト名である。1603と1604は、そのサー
バーマシンによってリダイレクトされる接続元と接続先
である。言い換えると、これらは、クライアント180
1とlexington1803のアドレス(この例で
は、電話番号)である。
フロー図である。クライアントプログラムは、lexi
ngton1803のリダイレクトマネージャ1806
にメッセージを送る(S1901)。lexingto
n1803は、到達できるサーバーマシンの中で最も近
いサーバーマシンである。図16に、リダイレクトマネ
ージャに送るメッセージの例を示す。1602は、ディ
レクトリサービス301を用いて特定したサーバーマシ
ンのホスト名である。1603と1604は、そのサー
バーマシンによってリダイレクトされる接続元と接続先
である。言い換えると、これらは、クライアント180
1とlexington1803のアドレス(この例で
は、電話番号)である。
【0088】lexington1803のリダイレク
トマネージャ1806は、このメッセージを、sw1
(1802)のリダイレクトマネージャ1805に転送
する(S1903)。sw1(1802)のリダイレク
トマネージャ1805は、メッセージを受信し(S19
04)、メッセージの内容を読み取る。その結果、ホス
ト名がsw1自身であるので、接続元1603と接続先
1604をリダイレクトの対象と認識する。そして、s
w1(1802)のリダイレクトマネージャ1805
は、これらの情報をリダイレクタ1808に登録する
(S1905)。sw1(1802)のリダイレクトマ
ネージャ1805は、クライアントプログラムへ、応答
メッセージを送信する(S1906)。クライアントプ
ログラムは、この応答メッセージを受信する(S190
7)。これ以後、クライアント1801からlexin
gton1803への接続は、sw1(1802)へリ
ダイレクトされる。リダイレクタ1808は、指定され
た接続先が登録されている接続先と一致し、指定された
接続元が登録されている接続元と一致するデータを見つ
け出す。そして、リダイレクタ1808は、リダイレク
トマネージャ1805へ、この見つけ出したデータを転
送する。リダイレクトマネージャは、サーバープログラ
ム1804へ、このデータを転送する。このようにし
て、クライアントプログラムは、接続先としてlexi
ngton1803を指定することによって、sw1
(1802)のサーバープログラム1804へ接続する
ことができる。
トマネージャ1806は、このメッセージを、sw1
(1802)のリダイレクトマネージャ1805に転送
する(S1903)。sw1(1802)のリダイレク
トマネージャ1805は、メッセージを受信し(S19
04)、メッセージの内容を読み取る。その結果、ホス
ト名がsw1自身であるので、接続元1603と接続先
1604をリダイレクトの対象と認識する。そして、s
w1(1802)のリダイレクトマネージャ1805
は、これらの情報をリダイレクタ1808に登録する
(S1905)。sw1(1802)のリダイレクトマ
ネージャ1805は、クライアントプログラムへ、応答
メッセージを送信する(S1906)。クライアントプ
ログラムは、この応答メッセージを受信する(S190
7)。これ以後、クライアント1801からlexin
gton1803への接続は、sw1(1802)へリ
ダイレクトされる。リダイレクタ1808は、指定され
た接続先が登録されている接続先と一致し、指定された
接続元が登録されている接続元と一致するデータを見つ
け出す。そして、リダイレクタ1808は、リダイレク
トマネージャ1805へ、この見つけ出したデータを転
送する。リダイレクトマネージャは、サーバープログラ
ム1804へ、このデータを転送する。このようにし
て、クライアントプログラムは、接続先としてlexi
ngton1803を指定することによって、sw1
(1802)のサーバープログラム1804へ接続する
ことができる。
【0089】図20は、リダイレクトの解除についての
フロー図である。クライアントプログラムが、リダイレ
クトの解除を行なう場合について説明する。クライアン
トプログラムは、30000番のポートにリダイレクト
の解除の為のメッセージを送信する(S2001)。図
16の1605は、リダイレクトの解除の為のメッセー
ジの例である。このメッセージは、リダイレクトされ
て、sw1(1802)のリダイレクトマネージャ18
05に転送される(S2002)。リダイレクトマネー
ジャ1805は、メッセージの内容を読み取る。リダイ
レクトマネージャ1805は、DELETEの指示であ
ることを認識し、1607と1608に示される接続元
と接続先と一致するリダイレクトの登録を削除する(S
2003)。これによって、リダイレクトは、解除され
る。
フロー図である。クライアントプログラムが、リダイレ
クトの解除を行なう場合について説明する。クライアン
トプログラムは、30000番のポートにリダイレクト
の解除の為のメッセージを送信する(S2001)。図
16の1605は、リダイレクトの解除の為のメッセー
ジの例である。このメッセージは、リダイレクトされ
て、sw1(1802)のリダイレクトマネージャ18
05に転送される(S2002)。リダイレクトマネー
ジャ1805は、メッセージの内容を読み取る。リダイ
レクトマネージャ1805は、DELETEの指示であ
ることを認識し、1607と1608に示される接続元
と接続先と一致するリダイレクトの登録を削除する(S
2003)。これによって、リダイレクトは、解除され
る。
【0090】実施の形態4.サーバープログラムは、無
線端末に対しても複製される。図2のサーバープログラ
ム201は、無線端末であるサーバーマシン上に複製さ
れたサーバープログラムの例である。但し、サーバーマ
シンが無線端末である場合にも、そのサーバーマシン
は、図3のソフトウェアをインストールされている必要
がある。
線端末に対しても複製される。図2のサーバープログラ
ム201は、無線端末であるサーバーマシン上に複製さ
れたサーバープログラムの例である。但し、サーバーマ
シンが無線端末である場合にも、そのサーバーマシン
は、図3のソフトウェアをインストールされている必要
がある。
【0091】実施の形態4では、複製されたサーバープ
ログラムが、自身の属性情報として、複製元に帰属する
か否かを示す情報を管理する例について説明する。複製
元に帰属しない場合には、複製されたサーバープログラ
ムは、独立して動作する。
ログラムが、自身の属性情報として、複製元に帰属する
か否かを示す情報を管理する例について説明する。複製
元に帰属しない場合には、複製されたサーバープログラ
ムは、独立して動作する。
【0092】例えば、データベースアクセス303の複
製について説明する。複製されるマシンのサーバー複製
管理305は、空のコンテナDBaccessdata
を生成する。このコンテナは、データベースアクセス3
03が用いるコンテナである。データ同期機構312
は、データグラム409を介して、データオブジェクト
の複製を得る。データ同期が完了した後、データベース
アクセス303が実行を開始する。実行開始のコマンド
の引数は、コンテナ名DBaccessdataと、オ
プションnosyncである。オプションnosync
があると、データ参照のためにコンテナにデータオブジ
ェクトが挿入された場合であっても、データ同期の処理
を行なわない。従って、実行開始後に他のサーバープロ
グラムのコンテナに格納されたデータオブジェクトを、
このサーバープログラムから参照することはできない。
製について説明する。複製されるマシンのサーバー複製
管理305は、空のコンテナDBaccessdata
を生成する。このコンテナは、データベースアクセス3
03が用いるコンテナである。データ同期機構312
は、データグラム409を介して、データオブジェクト
の複製を得る。データ同期が完了した後、データベース
アクセス303が実行を開始する。実行開始のコマンド
の引数は、コンテナ名DBaccessdataと、オ
プションnosyncである。オプションnosync
があると、データ参照のためにコンテナにデータオブジ
ェクトが挿入された場合であっても、データ同期の処理
を行なわない。従って、実行開始後に他のサーバープロ
グラムのコンテナに格納されたデータオブジェクトを、
このサーバープログラムから参照することはできない。
【0093】この機能は、例えば、図1の基地局コント
ローラ106のローカルループ内で、データベースが参
照される場合に用いられる。データを参照する為に、サ
ービスがある地点に移される場合に、この機能は有効で
ある。
ローラ106のローカルループ内で、データベースが参
照される場合に用いられる。データを参照する為に、サ
ービスがある地点に移される場合に、この機能は有効で
ある。
【0094】実施の形態5.実施の形態5では、クライ
アントプログラムによる使用の統計に基づいて、サーバ
ープログラムの実行継続の不必要性が判断され、サーバ
ープログラムが停止される例について説明する。これに
よって、サーバープログラムが使用していた資源が、解
放される。
アントプログラムによる使用の統計に基づいて、サーバ
ープログラムの実行継続の不必要性が判断され、サーバ
ープログラムが停止される例について説明する。これに
よって、サーバープログラムが使用していた資源が、解
放される。
【0095】他のノードにサービスプログラムを複製し
ていないサービスプログラムは、自らが帰属関係の終端
であることを認識している。但し、実施の形態4で説明
した複製の場合を除く。
ていないサービスプログラムは、自らが帰属関係の終端
であることを認識している。但し、実施の形態4で説明
した複製の場合を除く。
【0096】各サーバープログラムは、利用者からの最
終アクセスがあった時刻を管理している。図17に、最
終アクセス時刻を管理する表の例を示す。サーバー複製
管理305は、定期的にこの表をチェックする。定期と
は、例えば、3時間間隔である。最終アクセス時刻17
01〜1704と、チェックをした時刻との差が所定の
時間を越えていた場合には、サーバー複製管理305
は、サーバープログラムの実行を継続する必要がないと
判断する。所定の時間とは、例えば3時間である。
終アクセスがあった時刻を管理している。図17に、最
終アクセス時刻を管理する表の例を示す。サーバー複製
管理305は、定期的にこの表をチェックする。定期と
は、例えば、3時間間隔である。最終アクセス時刻17
01〜1704と、チェックをした時刻との差が所定の
時間を越えていた場合には、サーバー複製管理305
は、サーバープログラムの実行を継続する必要がないと
判断する。所定の時間とは、例えば3時間である。
【0097】サーバー複製管理305は、ディレクトリ
サービス301にサービス稼動状況の更新を指示する。
ディレクトリサービス301は、自己のエントリ中のす
べての稼動状況をnoに変更する。そして、サーバー複
製管理部は305は、更新したデータの同期に十分な時
間だけ待つ。その後、すべてのサーバープログラムを停
止し、更に各サーバープログラムが使用していたコンテ
ナを削除する。このようにして、サーバープログラムは
退く。
サービス301にサービス稼動状況の更新を指示する。
ディレクトリサービス301は、自己のエントリ中のす
べての稼動状況をnoに変更する。そして、サーバー複
製管理部は305は、更新したデータの同期に十分な時
間だけ待つ。その後、すべてのサーバープログラムを停
止し、更に各サーバープログラムが使用していたコンテ
ナを削除する。このようにして、サーバープログラムは
退く。
【0098】実施の形態6.実施の形態6では、データ
グラムメッセージ応答機構を用いて、携帯端末に用意さ
れている複数の通信メディアから最良のメディアを選択
する例について説明する。
グラムメッセージ応答機構を用いて、携帯端末に用意さ
れている複数の通信メディアから最良のメディアを選択
する例について説明する。
【0099】通信遅延計測メッセージ応答部902は、
経路情報を作成する。その経路情報は、自己のアドレス
を含むエントリのみで構成されている。そのエントリの
往路1105と復路1106は、ともに1が書き込まれ
る。
経路情報を作成する。その経路情報は、自己のアドレス
を含むエントリのみで構成されている。そのエントリの
往路1105と復路1106は、ともに1が書き込まれ
る。
【0100】通信遅延計測メッセージ応答部902は、
あるノードに対してこの経路情報を送信する。このノー
ドは、サーバープログラムが設置されているノードであ
る。
あるノードに対してこの経路情報を送信する。このノー
ドは、サーバープログラムが設置されているノードであ
る。
【0101】経路情報を受信したノードの通信遅延計測
メッセージ応答部902は、その経路情報をそのまま直
ちに送信元へ返送する。
メッセージ応答部902は、その経路情報をそのまま直
ちに送信元へ返送する。
【0102】返送された経路情報を受信した通信遅延計
測メッセージ応答部902は、送信から受信までの時間
を測定する。このようにして、応答性能を調べることが
できる。
測メッセージ応答部902は、送信から受信までの時間
を測定する。このようにして、応答性能を調べることが
できる。
【0103】例えば、クライアントマシンとして用いる
携帯端末は、サーバーマシンとの間で複数の通信メディ
アを選択的に使用できる場合がある。このような場合
に、携帯端末は、この機構を用いて、それぞれの通信メ
ディアの応答性能を測定する。更に、携帯端末は、それ
ぞれの応答性能を比較し、最も応答性能の良い通信メデ
ィアを選択することができる。
携帯端末は、サーバーマシンとの間で複数の通信メディ
アを選択的に使用できる場合がある。このような場合
に、携帯端末は、この機構を用いて、それぞれの通信メ
ディアの応答性能を測定する。更に、携帯端末は、それ
ぞれの応答性能を比較し、最も応答性能の良い通信メデ
ィアを選択することができる。
【0104】
【発明の効果】本発明においては、サーバープログラム
がクライアントマシンの近くに設置されるで、クライア
ントマシンとサーバーマシンの間の通信経路が短縮され
る。これによって、サーバープログラムの応答性能が良
くなる。また、副次的な効果として、クライアントマシ
ンからの通信セッションに要する距離を短縮することに
よって、通信費用を削減することができる。サーバーマ
シン間の通信トラフィックは、データ同期に要する通信
の分に限定される。従って、システム全体としての通信
トラフィックを軽減することができる。
がクライアントマシンの近くに設置されるで、クライア
ントマシンとサーバーマシンの間の通信経路が短縮され
る。これによって、サーバープログラムの応答性能が良
くなる。また、副次的な効果として、クライアントマシ
ンからの通信セッションに要する距離を短縮することに
よって、通信費用を削減することができる。サーバーマ
シン間の通信トラフィックは、データ同期に要する通信
の分に限定される。従って、システム全体としての通信
トラフィックを軽減することができる。
【図1】 本発明におけるクライアント/サーバーシス
テムの構成図。
テムの構成図。
【図2】 本発明におけるサーバープログラムを複製す
るフローを示す図。
るフローを示す図。
【図3】 本発明におけるサーバープログラムが動作す
るマシンのソフトウェア構成図。
るマシンのソフトウェア構成図。
【図4】 データ管理のための機構の構成を示す図。
【図5】 無線通信のネットワークシステムを示す図。
【図6】 ディレクトリサービスが管理するデータベー
スのデータの例を示す図。
スのデータの例を示す図。
【図7】 メッセージングサービスの構成を示す図。
【図8】 クライアントプログラムからデータを参照す
る場合のデータフローを表わす図。
る場合のデータフローを表わす図。
【図9】 イベント通知機構の構成を示す図。
【図10】 パケットと統計情報の構成を示す図。
【図11】 経路情報の例を示す図。
【図12】 サーバープログラムの複製及び設置の要否
を判断するフローを示す図。
を判断するフローを示す図。
【図13】 経路情報を生成する処理のフローを示す
図。
図。
【図14】 サーバープログラムの複製及び設置後のデ
ィレクトリサービスが管理するデータベースのデータの
例を示す図。
ィレクトリサービスが管理するデータベースのデータの
例を示す図。
【図15】 通信機構の選択のアルゴリズムを示す図。
【図16】 リダイレクトマネージャに送るメッセージ
の例を示す図。
の例を示す図。
【図17】 最終アクセス時刻を管理する表の例を示す
図。
図。
【図18】 リダイレクトの登録の概念図。
【図19】 リダイレクトの登録についてのフロー図。
【図20】 リダイレクトの解除についてのフロー図。
101 無線通信端末、102 基地局、103 イン
ターネット、104サーバーマシン、105 ゲートウ
ェイ、106 基地局コントローラ、107基地局交換
機、108 交換機、109 公衆網、201〜204
サーバープログラム、205 データベース、20
6,207 クライアント、301ディレクトリサービ
ス、302 メッセージングサービス、303 データ
ベースアクセスサービス、304 協調アプリケーショ
ン、305 サーバー複製管理、306 イベント通知
機構、307 TCP、308 IP、309 PP
P、310 イーサネットシリアル通信インターフェー
ス、311 OS、312 データ同期機構、313
データグラムトランスポート、314 UDP、315
SMS、401,402 コンテナ、403〜406
オブジェクトデータ、407 データ同期のオペレー
ション、408 オブジェクトデータ管理部、409〜
415 通信機構、601,609〜613 レコー
ド、602状態を管理されるマシンのホスト名とIPア
ドレスを格納するフィールド、603 網に接続する際
に使用される電話番号を格納するフィールド、604
ディレクトリサービスの稼働状態を格納するフィール
ド、605 メッセージングサービスの稼働状態を格納
するフィールド、606 データベースアクセスサービ
スの稼働状態を格納するフィールド、607 協調アプ
リケーションサービスの稼動状態を格納するフィール
ド、608 マシンの地理的な位置に関する情報を格納
するフィールド、701 メッセージングマネージャ部
分、702 IMAP4サーバー部分、801 クライ
アントプログラム、802,805 コンテナ、80
3,804,806,807 オブジェクトデータ、8
08 起源データベースアクセスサービス、809 デ
ータベース、901 統計情報管理部、902 通信遅
延計測メッセージ応答部、903 データキュー管理
部、904データグラムポート管理部、905 コネク
ションポート管理部、1001データグラムポート管理
部経由でデータキュー管理部が受けるパケット、100
2,1007 データキュー管理部のポート番号、10
03,1004,1008,1009,1012,10
13 クライアントの緯度情報、1005 実データ、
1006 コネクションポート管理部経由でデータキュ
ー管理部が受けるパケット、1011 統計情報、10
14 パケット受信回数、1101 通信プロトコルと
発信元のアドレス、1105 往路、1106 復路、
1601,1605 メッセージ、1602 ホスト
名、1603,1607 接続元、1604,1608
接続先、1801 クライアント、1802 sw
1、1803 lexington、1804 サーバ
ープログラム、1805 リダイレクトマネージャ、1
806 リダイレクトマネージャ、1808 リダイレ
クタ。
ターネット、104サーバーマシン、105 ゲートウ
ェイ、106 基地局コントローラ、107基地局交換
機、108 交換機、109 公衆網、201〜204
サーバープログラム、205 データベース、20
6,207 クライアント、301ディレクトリサービ
ス、302 メッセージングサービス、303 データ
ベースアクセスサービス、304 協調アプリケーショ
ン、305 サーバー複製管理、306 イベント通知
機構、307 TCP、308 IP、309 PP
P、310 イーサネットシリアル通信インターフェー
ス、311 OS、312 データ同期機構、313
データグラムトランスポート、314 UDP、315
SMS、401,402 コンテナ、403〜406
オブジェクトデータ、407 データ同期のオペレー
ション、408 オブジェクトデータ管理部、409〜
415 通信機構、601,609〜613 レコー
ド、602状態を管理されるマシンのホスト名とIPア
ドレスを格納するフィールド、603 網に接続する際
に使用される電話番号を格納するフィールド、604
ディレクトリサービスの稼働状態を格納するフィール
ド、605 メッセージングサービスの稼働状態を格納
するフィールド、606 データベースアクセスサービ
スの稼働状態を格納するフィールド、607 協調アプ
リケーションサービスの稼動状態を格納するフィール
ド、608 マシンの地理的な位置に関する情報を格納
するフィールド、701 メッセージングマネージャ部
分、702 IMAP4サーバー部分、801 クライ
アントプログラム、802,805 コンテナ、80
3,804,806,807 オブジェクトデータ、8
08 起源データベースアクセスサービス、809 デ
ータベース、901 統計情報管理部、902 通信遅
延計測メッセージ応答部、903 データキュー管理
部、904データグラムポート管理部、905 コネク
ションポート管理部、1001データグラムポート管理
部経由でデータキュー管理部が受けるパケット、100
2,1007 データキュー管理部のポート番号、10
03,1004,1008,1009,1012,10
13 クライアントの緯度情報、1005 実データ、
1006 コネクションポート管理部経由でデータキュ
ー管理部が受けるパケット、1011 統計情報、10
14 パケット受信回数、1101 通信プロトコルと
発信元のアドレス、1105 往路、1106 復路、
1601,1605 メッセージ、1602 ホスト
名、1603,1607 接続元、1604,1608
接続先、1801 クライアント、1802 sw
1、1803 lexington、1804 サーバ
ープログラム、1805 リダイレクトマネージャ、1
806 リダイレクトマネージャ、1808 リダイレ
クタ。
Claims (8)
- 【請求項1】 サーバープログラムを動作させる一以上
のサーバーマシンと、クライアントプログラムを動作さ
せるクライアントマシンと、上記サーバープログラムを
動作させることができる一以上のサーバー候補マシンと
の間の通信方法であって、通信方法は(1)から(5)
までの工程を有し、 (1)上記サーバーマシンと、上記クライアントマシン
との間の通信特性を測定する工程、 (2)測定した上記通信特性を所定の通信特性基準と比
較する工程、 (3)比較した結果、上記所定の通信特性基準を満たさ
ない場合には、上記クライアントマシンに上記サーバー
マシンよりも近い上記サーバー候補マシンを選択する工
程、 (4)上記サーバーマシンから、選択した上記サーバー
候補マシンへ、上記サーバープログラムの少なくとも一
部を複製する工程、 (5)上記サーバープログラムの少なくとも一部が複製
された上記サーバー候補マシンが、上記サーバープログ
ラムを動作させる工程、 上記通信方法は、更に、 複製元プログラムである上記サーバーマシン上の上記サ
ーバープログラムの少なくとも一部と、複製先プログラ
ムである上記サーバー候補マシン上の上記サーバープロ
グラムの少なくとも一部とをデータ同期させるデータ同
期工程を有することを特徴とする通信方法。 - 【請求項2】 サーバープログラムを動作させる一以上
のサーバーマシンと、クライアントプログラムを動作さ
せるクライアントマシンと、上記サーバープログラムを
動作させることができる一以上のサーバー候補マシンと
の間の通信方法であって、通信方法は(1)から(5)
までの工程を有し、 (1)上記サーバーマシンと、上記クライアントマシン
との間の通信特性を測定する工程、 (2)測定した上記通信特性を所定の通信特性基準と比
較する工程、 (3)比較した結果、上記所定の通信特性基準を満たさ
ない場合には、上記クライアントマシンに上記サーバー
マシンよりも近い上記サーバー候補マシンを選択 する工
程、 (4)上記サーバーマシンから、選択した上記サーバー
候補マシンへ、上記サーバープログラムの少なくとも一
部を複製する工程、 (5)上記サーバープログラムの少なくとも一部が複製
された上記サーバー候補マシンが、上記サーバープログ
ラムを動作させる工程、 上記通信方法は、更に、 上記サーバーマシンと、上記サーバー候補マシンとの間
で、通信プロトコルに適した通信機構を介してデータ通
信を行なう工程と、 上記データ通信についての統計情報を蓄積する工程と、 上記統計情報に基づいて、上記通信プロトコルの変更の
必要性を判定する工程と、 上記通信プロトコルの変更の必要性があると判定した場
合には、上記通信プロトコルを、新たな通信プロトコル
に変更し、上記通信機構を、上記新たな通信プロトコル
に適した新たな通信機構に変更する工程とを有すること
を特徴とする通信方法。 - 【請求項3】 サーバープログラムを動作させる一以上
のサーバーマシンと、クライアントプログラムを動作さ
せるクライアントマシンと、上記サーバープログラムを
動作させることができる一以上のサーバー候補マシンと
の間の通信方法であって、通信方法は(1)から(5)
までの工程を有し、 (1)上記サーバーマシンと、上記クライアントマシン
との間の通信特性を測定する工程、 (2)測定した上記通信特性を所定の通信特性基準と比
較する工程、 (3)比較した結果、上記所定の通信特性基準を満たさ
ない場合には、上記クライアントマシンに上記サーバー
マシンよりも近い上記サーバー候補マシンを選択する工
程、 (4)上記サーバーマシンから、選択した上記サーバー
候補マシンへ、上記サーバープログラムの少なくとも一
部を複製する工程、 (5)上記サーバープログラムの少なくとも一部が複製
された上記サーバー候補マシンが、上記サーバープログ
ラムを動作させる工程、 上記サーバープログラムは、上記クライアントプログラ
ムが使用できるすべての通信メディアについてのインタ
ーフェースを有し、 上記通信方法は、更に、 上記サーバープログラムが、上記インターフェースで通
信要求を待ち受ける工程と、 上記サーバープログラムが上記通信要求を受けた場合に
は、上記通信要求に基づいて、通信プロトコルを決定
し、上記通信プロトコルに対応したデータ転送制御部を
設定する工程とを有することを特徴とする通信方法。 - 【請求項4】 サーバープログラムを動作させる一以上
のサーバーマシンと、クライアントプログラムを動作さ
せるクライアントマシンと、上記サーバープログラムを
動作させることができる一以上のサーバー候補マシンと
の間の通信方法であって、通信方法は(1)から(5)
までの工程を有し、 (1)上記サーバーマシンと、上記クライアントマシン
との間の通信特性を測定する工程、 (2)測定した上記通信特性を所定の通信特性基準と比
較する工程、 (3)比較した結果、上記所定の通信特性基準を満たさ
ない場合には、上記クライアントマシンに上記サーバー
マシンよりも近い上記サーバー候補マシンを選択する工
程、 (4)上記サーバーマシンから、選択した上記サーバー
候補マシンへ、上記サーバープログラムの少なくとも一
部を複製する工程、 (5)上記サーバープログラムの少なくとも一部が複製
された上記サーバー候補マシンが、上記サーバープログ
ラムを動作させる工程、 上記サーバーマシンは、サーバーマシン側リダイレクト
マネージャを有し、 上記サーバー候補マシンは、サーバー候補マシン側リダ
イレクトマネージャと、リダイレクタとを有し、 上記通信方法は、更に、 上記クライアントマシンが、上記サーバーマシンに、上
記サーバー候補マシンのアドレスと、上記クライアント
マシンのアドレスと、上記サーバーマシンのアドレスと
を含むメッセージを送信する工程と、 上記サーバーマシン側リダイレクトマネージャが、上記
クライアントマシンが送信した上記メッセージを、受信
する工程と、 上記サーバーマシン側リダイレクトマネージャが、受信
した上記メッセージを、上記メッセージに含まれる上記
サーバー候補マシンの上記アドレスに基づいて、上記サ
ーバー候補マシンに転送する工程と、 上記サーバー候補マシン側リダイレクトマネージャが、
上記サーバーマシン側リダイレクトマネージャが転送し
た上記メッセージを受信する工程と、 上記サーバー候補マシン側リダイレクトマネージャが、
受信した上記メッセージに含まれる上記クライアントマ
シンの上記アドレスと、受信した上記メッセージに含ま
れる上記サーバーマシンの上記アドレスとを、上記リダ
イレクタに登録する工程とを有することを特徴とする通
信方法。 - 【請求項5】 上記データ同期工程は、自動的にデータ
同期させることを特徴とする請求項1記載の通信方法。 - 【請求項6】 サーバープログラムを動作させる一以上
のサーバーマシンと、クライアントプログラムを動作さ
せるクライアントマシンと、上記サーバープログラムを
動作させることができる一以上のサーバー候補マシンと
の間の通信方法であって、通信方法は(1)から(5)
までの工程を有し、 (1)上記サーバーマシンと、上記クライアントマシン
との間の通信特性を測定する工程、 (2)測定した上記通信特性を所定の通信特性基準と比
較する工程、 (3)比較した結果、上記所定の通信特性基準を満たさ
ない場合には、上記クライアントマシンに上記サーバー
マシンよりも近い上記サーバー候補マシンを選択する工
程、 (4)上記サーバーマシンから、選択した上記サーバー
候補マシンへ、上記サーバープログラムの少なくとも一
部を複製する工程、 (5)上記サーバープログラムの少なくとも一部が複製
された上記サーバー候補マシンが、上記サーバープログ
ラムを動作させる工程、 上記通信方法は、 上記サーバー候補マシンの上記サーバープログラムの属
性情報として、上記サーバー候補マシンの上記サーバー
プログラムが、上記サーバーマシンの上記サーバープロ
グラムに帰属するか否かを示す情報を記憶する工程を有
し、 上記属性情報が、上記サーバー候補マシンの上記サーバ
ープログラムが、上記サーバーマシンの上記サーバープ
ログラムに帰属しないことを示す場合には、上記サーバ
ー候補マシンの上記サーバプログラムは、独立して動作
することを特徴とする通信方法。 - 【請求項7】 サーバープログラムを動作させる一以上
のサーバーマシンと、クライアントプログラムを動作さ
せるクライアントマシンと、上記サーバープログラムを
動作させることができる一以上のサーバー候補マシンと
の間の通信方法であって、通信方法は(1)から(5)
までの工程を有し、 (1)上記サーバーマシンと、上記クライアントマシン
との間の通信特性を測定する工程、 (2)測定した上記通信特性を所定の通信特性基準と比
較する工程、 (3)比較した結果、上記所定の通信特性基準を満たさ
ない場合には、上記クライアントマシンに上記サーバー
マシンよりも近い上記サーバー候補マシンを選択する工
程、 (4)上記サーバーマシンから、選択した上記サーバー
候補マシンへ、上記サーバープログラムの少なくとも一
部を複製する工程、 (5)上記サーバープログラムの少なくとも一部が複製
された上記サーバー候補マシンが、上記サーバープログ
ラムを動作させる工程、 上記通信方法は、更に、 上記クライアントプログラムが、データグラムメッセー
ジを上記サーバープログラムに送信する工程と、 上記サーバプログラムが、上記データグラムメッセージ
を受信し、受信した上記データグラムメッセージを直ち
に上記クライアントプログラムに返送する工程と、 上記クライントプログラムが、上記データグラムメッセ
ージを受信する工程と、 上記クライアントプログラムが、上記データグラムメッ
セージの送信時点から受信時点までの応答時間を計測す
る工程とを有することを特徴とする通信方法。 - 【請求項8】 上記クライアントマシンは、複数の通信
メディアを用いることができ、 上記通信方法は、更に、 上記クライアントプログラムが、上記応答時間に基づい
て、最良の通信メディアを選択する工程を有することを
特徴とする請求項7記載の通信方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP17566199A JP3307894B2 (ja) | 1999-06-22 | 1999-06-22 | 通信方法 |
US09/598,167 US6826610B1 (en) | 1999-06-22 | 2000-06-21 | Method of improving communication using replicated server program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP17566199A JP3307894B2 (ja) | 1999-06-22 | 1999-06-22 | 通信方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2001007841A JP2001007841A (ja) | 2001-01-12 |
JP3307894B2 true JP3307894B2 (ja) | 2002-07-24 |
Family
ID=16000018
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP17566199A Expired - Fee Related JP3307894B2 (ja) | 1999-06-22 | 1999-06-22 | 通信方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US6826610B1 (ja) |
JP (1) | JP3307894B2 (ja) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003108558A (ja) * | 2001-10-02 | 2003-04-11 | Ricoh Co Ltd | データ検索システム |
AU2002365257A1 (en) * | 2001-10-26 | 2003-07-24 | Zeosoft Corporation | Development, management of distributed clients and servers |
JP4359019B2 (ja) * | 2002-03-13 | 2009-11-04 | 富士フイルム株式会社 | 動画ストリーム送信方法 |
JP4742769B2 (ja) * | 2005-09-16 | 2011-08-10 | 横河電機株式会社 | 共有データアクセスシステム |
JP5507046B2 (ja) * | 2007-12-27 | 2014-05-28 | 株式会社インテック | サービス提供システム |
JP5656803B2 (ja) * | 2011-11-01 | 2015-01-21 | 株式会社日立製作所 | 仮想化ホームゲイトウェイ及びシステム、アプリケーション実行方法 |
US8965845B2 (en) | 2012-12-07 | 2015-02-24 | International Business Machines Corporation | Proactive data object replication in named data networks |
US11025724B2 (en) * | 2017-07-24 | 2021-06-01 | Facebook, Inc. | Transport of control data in proxy-based network communications |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5341477A (en) * | 1989-02-24 | 1994-08-23 | Digital Equipment Corporation | Broker for computer network server selection |
US5442633A (en) | 1992-07-08 | 1995-08-15 | International Business Machines Corporation | Shortcut network layer routing for mobile hosts |
JP3572641B2 (ja) | 1993-09-10 | 2004-10-06 | 住友電気工業株式会社 | ファイルサーバの選択システム |
US5862490A (en) * | 1995-09-28 | 1999-01-19 | Motorola, Inc. | Communication services needs of a communication unit supplied through simultaneous affiliation with multiple service providers in a communication system |
US6128660A (en) * | 1996-03-21 | 2000-10-03 | Hearme | Network match maker |
US5673322A (en) | 1996-03-22 | 1997-09-30 | Bell Communications Research, Inc. | System and method for providing protocol translation and filtering to access the world wide web from wireless or low-bandwidth networks |
CA2267953C (en) * | 1996-07-25 | 2011-10-18 | Mark Kriegsman | Web serving system with primary and secondary servers |
US6061722A (en) * | 1996-12-23 | 2000-05-09 | T E Network, Inc. | Assessing network performance without interference with normal network operations |
US6360262B1 (en) * | 1997-11-24 | 2002-03-19 | International Business Machines Corporation | Mapping web server objects to TCP/IP ports |
US6178460B1 (en) * | 1998-06-30 | 2001-01-23 | International Business Machines Corporation | Method of efficiently retrieving data on a computer network by monitoring performance of mirrored network locations |
US6092178A (en) * | 1998-09-03 | 2000-07-18 | Sun Microsystems, Inc. | System for responding to a resource request |
US6304913B1 (en) * | 1998-11-09 | 2001-10-16 | Telefonaktiebolaget L M Ericsson (Publ) | Internet system and method for selecting a closest server from a plurality of alternative servers |
-
1999
- 1999-06-22 JP JP17566199A patent/JP3307894B2/ja not_active Expired - Fee Related
-
2000
- 2000-06-21 US US09/598,167 patent/US6826610B1/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US6826610B1 (en) | 2004-11-30 |
JP2001007841A (ja) | 2001-01-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3688547B2 (ja) | 位置識別子管理装置及び移動計算機並びに位置識別子管理方法及び位置識別子処理方法 | |
US6407988B1 (en) | Mobility support services using mobility aware access networks | |
US8923293B2 (en) | Adaptive multi-interface use for content networking | |
JP2613017B2 (ja) | データ伝送方法及び装置 | |
US8116289B2 (en) | Internetworking nodes based on connections, membership, and location | |
EP1517508A2 (en) | Method and apparatus for representing and applying network topological data | |
US20120191769A1 (en) | Site-aware distributed file system access from outside enterprise network | |
US7680130B2 (en) | Method for finding resource and service in network and relay node apparatus | |
Perkins | Providing continuous network access to mobile hosts using TCP/IP | |
JP4607764B2 (ja) | モバイルピアツーピアネットワーク構築 | |
JP3307894B2 (ja) | 通信方法 | |
JP2004221674A (ja) | 通信システム並びに通信システムに使用される配信管理装置及び通信方法 | |
JP2002064562A (ja) | 通信コネクション確立方法 | |
CN101584192B (zh) | 节点注册方法 | |
JP2003244204A (ja) | 通信コネクション確立方法及び通信制御装置並びに記録媒体及び制御プログラム | |
Su et al. | Haggle: Clean-slate networking for mobile devices | |
JP4146373B2 (ja) | 動的なネットワークにおけるサービス選択方法およびサービス選択システム | |
JP2003244210A (ja) | ルーチング制御方法及びルーチング制御装置並びに記録媒体及び制御プログラム | |
JP2005252997A (ja) | 通信システム、通信方法、通信プログラム、記録媒体、および、移動ルータ | |
JP2001168861A (ja) | マルチキャストシステム、マルチキャストグループ管理装置、マルチキャストグループ管理プログラムを記録したコンピュータ読み取り可能な記録媒体 | |
JP3435360B2 (ja) | 移動計算機装置、アドレス情報管理方法及びアドレス解決方法 | |
JP2003131972A (ja) | 個人の所有データをネットワーク上で管理するネットワーク・システム及びデータ管理方法、管理装置及び管理方法、データ保管装置及びデータ保管装置の制御方法、情報端末及び情報端末の制御方法、並びに記憶媒体 | |
JP2003087265A (ja) | サービス発見方法及び装置、並びにコンピュータプログラム | |
KR100714462B1 (ko) | 다중 지역 이동 에이전트 컴퓨팅 환경에서의 이동 에이전트위치관리 및 메시지 전달 방법 및 그 시스템 | |
JP2003036216A (ja) | Webシステム、ノード装置、ロケータ装置及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20020423 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080517 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090517 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100517 Year of fee payment: 8 |
|
LAPS | Cancellation because of no payment of annual fees |