JP3471622B2 - データ通信のための装置およびその方法 - Google Patents
データ通信のための装置およびその方法Info
- Publication number
- JP3471622B2 JP3471622B2 JP20610298A JP20610298A JP3471622B2 JP 3471622 B2 JP3471622 B2 JP 3471622B2 JP 20610298 A JP20610298 A JP 20610298A JP 20610298 A JP20610298 A JP 20610298A JP 3471622 B2 JP3471622 B2 JP 3471622B2
- Authority
- JP
- Japan
- Prior art keywords
- network
- block
- software
- local
- execution
- 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
- H04L61/00—Network arrangements, protocols or services for addressing or naming
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/10—Mapping addresses of different types
-
- 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/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
-
- 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/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/161—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
-
- 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/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/164—Adaptation or special uses of UDP protocol
-
- 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/22—Parsing or analysis of headers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W8/00—Network data management
- H04W8/26—Network addressing or numbering for mobility support
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
- Small-Scale Networks (AREA)
Description
【0001】
【発明の属する技術分野】本発明は、データ通信に関す
るもので、特に、コンピュータ・ネットワーク上の諸装
置間の便利で、安全で、柔軟な高速通信を提供するコン
ピュータ・ネットワーク構成およびアドレス・マッピン
グの方法および装置に関するものである。
るもので、特に、コンピュータ・ネットワーク上の諸装
置間の便利で、安全で、柔軟な高速通信を提供するコン
ピュータ・ネットワーク構成およびアドレス・マッピン
グの方法および装置に関するものである。
【0002】
【従来の技術】コンピュータ・ネットワークは、データ
処理機器の間のデータ通信を提供する。例えば、携帯型
ラップトップ・コンピュータ、デスクトップ・パーソナ
ル・コンピュータ、ファイル・サーバ、ミニコンピュー
タ、メインフレーム・コンピュータ、プリンタなどのよ
うなデータ処理装置は、プログラム、データおよびその
他の情報資源をうまく共有することができるように、コ
ンピュータ・ネットワークを使用して相互に接続され
る。
処理機器の間のデータ通信を提供する。例えば、携帯型
ラップトップ・コンピュータ、デスクトップ・パーソナ
ル・コンピュータ、ファイル・サーバ、ミニコンピュー
タ、メインフレーム・コンピュータ、プリンタなどのよ
うなデータ処理装置は、プログラム、データおよびその
他の情報資源をうまく共有することができるように、コ
ンピュータ・ネットワークを使用して相互に接続され
る。
【0003】近傍区域に位置する諸装置は、同一のネッ
トワーク・サブネット上で相互に接続される。遠隔に位
置する諸装置は、異なるネットワーク・サブネット上で
相互に接続されるが、近傍に位置する装置と遠隔区域に
位置する装置は、ネットワーク・サブネットを接続する
ことによって接続される。
トワーク・サブネット上で相互に接続される。遠隔に位
置する諸装置は、異なるネットワーク・サブネット上で
相互に接続されるが、近傍に位置する装置と遠隔区域に
位置する装置は、ネットワーク・サブネットを接続する
ことによって接続される。
【0004】一般によく知られているコンピュータ・ネ
ットワークの例は、「イーサネット」ローカル・エリア
・ネットワークまたはISO 8802/3に規格化されているネ
ットワークである。イーサネットの特徴は、10メガビ
ット/秒という高速データ通信速度を提供し、しかもそ
の速度を100メガビット/秒まで増加させることがで
きる点である。
ットワークの例は、「イーサネット」ローカル・エリア
・ネットワークまたはISO 8802/3に規格化されているネ
ットワークである。イーサネットの特徴は、10メガビ
ット/秒という高速データ通信速度を提供し、しかもそ
の速度を100メガビット/秒まで増加させることがで
きる点である。
【0005】ネットワーク通信に関する限り、各装置
は、ネットワークのそれぞれのタップ・ポイントで機械
的および電気的にコンピュータ・ネットワークに接続さ
れる。ネットワークの各タップ・ポイントは、それぞれ
のコンピュータ・ネットワーク・アドレスによって識別
される。コンピュータ・ネットワーク・アドレスは、ネ
ットワークに接続している装置間でデータを伝送する際
に使用される。
は、ネットワークのそれぞれのタップ・ポイントで機械
的および電気的にコンピュータ・ネットワークに接続さ
れる。ネットワークの各タップ・ポイントは、それぞれ
のコンピュータ・ネットワーク・アドレスによって識別
される。コンピュータ・ネットワーク・アドレスは、ネ
ットワークに接続している装置間でデータを伝送する際
に使用される。
【0006】データは、一定形式のデータ・パケットの
形態でコンピュータ・ネットワークを経由して伝送され
る。データ・パケットの各々は、前文、フレーム開始イ
ンジケータ、データを受領するネットワークのタップ・
ポイントのコンピュータ・ネットワーク・アドレスを表
示する宛先アドレス・セグメント、データを伝送するネ
ットワークのタップ・ポイントのコンピュータ・ネット
ワーク・アドレスを標示するソース・アドレス・セグメ
ント、情報長さセグメント、情報セグメントおよびフレ
ーム検査セグメントを含む。完全なデータ・フレームで
のその他の代替的セグメント構成も当業者によく知られ
ている。コンピュータ・ネットワーク・アドレスは、デ
ータ・パケットの経路を制御するネットワーク機器の切
り替えの際に使用される。
形態でコンピュータ・ネットワークを経由して伝送され
る。データ・パケットの各々は、前文、フレーム開始イ
ンジケータ、データを受領するネットワークのタップ・
ポイントのコンピュータ・ネットワーク・アドレスを表
示する宛先アドレス・セグメント、データを伝送するネ
ットワークのタップ・ポイントのコンピュータ・ネット
ワーク・アドレスを標示するソース・アドレス・セグメ
ント、情報長さセグメント、情報セグメントおよびフレ
ーム検査セグメントを含む。完全なデータ・フレームで
のその他の代替的セグメント構成も当業者によく知られ
ている。コンピュータ・ネットワーク・アドレスは、デ
ータ・パケットの経路を制御するネットワーク機器の切
り替えの際に使用される。
【0007】典型的ネットワークの使用の場合、ネット
ワークに接続する各装置は、ネットワークのそれぞれの
タップ・ポイントを識別するためそれぞれのコンピュー
タ・ネットワーク・アドレスの登録エントリを持たなけ
ればならない。そのようなネットワーク・アドレスは、
IPアドレスと呼ばれる(IPはInternet Protocolの頭
文字をとったもので、インターネット・プロトコルの意
味である)。例えば、特定のオフィスにおける携帯型ラ
ップトップ・コンピュータの典型的ネットワーク使用の
場合、携帯型ラップトップ・コンピュータはローカル・
ネットワークのあらかじ定められたタップ・ポイントを
識別する第1のコンピュータ・ネットワーク・アドレス
の登録エントリを持たなければならない。携帯型ラップ
トップ・コンピュータが、例えば遠隔会議における使用
のためネットワークから切断され、移動され、その後再
接続されるとすれば、携帯型ラップトップ・コンピュー
タがネットワークの第2のタップ・ポイントを識別する
第2のコンピュータ・ネットワーク・アドレスの登録エ
ントリを持つように、登録エントリを変更する再構成が
必要とされる。そのような再構成は、以前の位置に戻る
際再び必要となり、更にまた後続の遠隔位置の各々での
ネットワーク使用毎にそのような再構成が必要となる。
そのような再構成を手動で実行することは、特に特定の
技術的技能のないビジネス・アプリケーション・プログ
ラムの典型的コンピュータ・ユーザの場合、面倒な作業
であり、またエラーを起こしがちである。
ワークに接続する各装置は、ネットワークのそれぞれの
タップ・ポイントを識別するためそれぞれのコンピュー
タ・ネットワーク・アドレスの登録エントリを持たなけ
ればならない。そのようなネットワーク・アドレスは、
IPアドレスと呼ばれる(IPはInternet Protocolの頭
文字をとったもので、インターネット・プロトコルの意
味である)。例えば、特定のオフィスにおける携帯型ラ
ップトップ・コンピュータの典型的ネットワーク使用の
場合、携帯型ラップトップ・コンピュータはローカル・
ネットワークのあらかじ定められたタップ・ポイントを
識別する第1のコンピュータ・ネットワーク・アドレス
の登録エントリを持たなければならない。携帯型ラップ
トップ・コンピュータが、例えば遠隔会議における使用
のためネットワークから切断され、移動され、その後再
接続されるとすれば、携帯型ラップトップ・コンピュー
タがネットワークの第2のタップ・ポイントを識別する
第2のコンピュータ・ネットワーク・アドレスの登録エ
ントリを持つように、登録エントリを変更する再構成が
必要とされる。そのような再構成は、以前の位置に戻る
際再び必要となり、更にまた後続の遠隔位置の各々での
ネットワーク使用毎にそのような再構成が必要となる。
そのような再構成を手動で実行することは、特に特定の
技術的技能のないビジネス・アプリケーション・プログ
ラムの典型的コンピュータ・ユーザの場合、面倒な作業
であり、またエラーを起こしがちである。
【0008】また、たとえそのような再構成が正しく実
施されたとしても、別の制約がなお存在する。典型的に
は、ネットワーク・セキュリティ・システム、ファイア
ウォール、アクセス制御方式、ネットワーク・ファイル
システム(NFS)などがコンピュータ・ネットワーク・
アドレスおよびネットワークのタップ・ポイントに基づ
いたアクセスを制約する。従って、仮説上のネットワー
ク・セキュリティ・システムが、特定のオフィスにおけ
る携帯型ラップトップ・コンピュータを使用するファイ
ル・サーバ上の重要なファイルへのネットワーク・アク
セスを許容する。なぜならばそのようなネットワーク・
セキュリティ・システムはネットワークの第1のタップ
・ポイントを認識し、また、ネットワークのその第1の
タップ・ポイントを識別する第1のコンピュータ・ネッ
トワーク・アドレスを認識するからである。しかしなが
ら前述のように、遠隔会議の場合のように携帯型ラップ
トップ・コンピュータがネットワークから切断され、移
動され、別の場所で再接続されるとすれば、ネットワー
ク・セキュリティ・システムは、ファイル・サーバ上の
重要なファイルへのアクセスの許容を拒否する。これ
は、ネットワーク・セキュリティ・システムがネットワ
ークの第2のタップ・ポイントを認識せず、ネットワー
クのその第2のタップ・ポイントを識別する第2のコン
ピュータ・ネットワーク・アドレスを認識しないことに
よる。
施されたとしても、別の制約がなお存在する。典型的に
は、ネットワーク・セキュリティ・システム、ファイア
ウォール、アクセス制御方式、ネットワーク・ファイル
システム(NFS)などがコンピュータ・ネットワーク・
アドレスおよびネットワークのタップ・ポイントに基づ
いたアクセスを制約する。従って、仮説上のネットワー
ク・セキュリティ・システムが、特定のオフィスにおけ
る携帯型ラップトップ・コンピュータを使用するファイ
ル・サーバ上の重要なファイルへのネットワーク・アク
セスを許容する。なぜならばそのようなネットワーク・
セキュリティ・システムはネットワークの第1のタップ
・ポイントを認識し、また、ネットワークのその第1の
タップ・ポイントを識別する第1のコンピュータ・ネッ
トワーク・アドレスを認識するからである。しかしなが
ら前述のように、遠隔会議の場合のように携帯型ラップ
トップ・コンピュータがネットワークから切断され、移
動され、別の場所で再接続されるとすれば、ネットワー
ク・セキュリティ・システムは、ファイル・サーバ上の
重要なファイルへのアクセスの許容を拒否する。これ
は、ネットワーク・セキュリティ・システムがネットワ
ークの第2のタップ・ポイントを認識せず、ネットワー
クのその第2のタップ・ポイントを識別する第2のコン
ピュータ・ネットワーク・アドレスを認識しないことに
よる。
【0009】いわゆる「無線モデム」、セル式電話モデ
ムなどはいくつかの利点を持つが、それらにもまた制約
がある。例えば、ネットワークのタップ・ポイントにお
いてコンピュータ・ネットワークと機械的および電気的
に接続する装置を持つイーサネットなどを使用する場合
に比べて、無線モデムのデータ速度は高くない。無線モ
デムの場合、異なる国の異なる電波規格および方式が便
利で普遍的な運用を阻害しているが、一方、例えばイー
サネット接続のような物理的ネットワーク接続は世界中
で無線モデムに比較して有利に運用されている。無線デ
ータ伝送はイーサネット接続のような物理的接続に比較
して容易に傍受されるため、無線モデムは一層大きなセ
キュリティ上の危険を伴う。
ムなどはいくつかの利点を持つが、それらにもまた制約
がある。例えば、ネットワークのタップ・ポイントにお
いてコンピュータ・ネットワークと機械的および電気的
に接続する装置を持つイーサネットなどを使用する場合
に比べて、無線モデムのデータ速度は高くない。無線モ
デムの場合、異なる国の異なる電波規格および方式が便
利で普遍的な運用を阻害しているが、一方、例えばイー
サネット接続のような物理的ネットワーク接続は世界中
で無線モデムに比較して有利に運用されている。無線デ
ータ伝送はイーサネット接続のような物理的接続に比較
して容易に傍受されるため、無線モデムは一層大きなセ
キュリティ上の危険を伴う。
【0010】
【発明が解決しようとする課題】このように、コンピュ
ータ・ネットワーク上の諸装置間の便利で、安全で、柔
軟な高速通信を提供することができるコンピュータ・ネ
ットワーク構成およびアドレス・マッピングのための装
置および方法が必要とされている。
ータ・ネットワーク上の諸装置間の便利で、安全で、柔
軟な高速通信を提供することができるコンピュータ・ネ
ットワーク構成およびアドレス・マッピングのための装
置および方法が必要とされている。
【0011】
【課題を解決するための手段】本発明の装置および方法
は、コンピュータ・ネットワーク上の諸装置間の便利
で、安全で、柔軟な高速通信を提供することができるよ
うなコンピュータ・ネットワーク構成およびアドレス・
マッピングを可能にする。本発明の1つの側面におい
て、本発明は、ネットワーク構成パラメータを毎回変更
することを必要とせずにポータブル・ラップトップPC
をネットワークに接続することを可能にする。
は、コンピュータ・ネットワーク上の諸装置間の便利
で、安全で、柔軟な高速通信を提供することができるよ
うなコンピュータ・ネットワーク構成およびアドレス・
マッピングを可能にする。本発明の1つの側面におい
て、本発明は、ネットワーク構成パラメータを毎回変更
することを必要とせずにポータブル・ラップトップPC
をネットワークに接続することを可能にする。
【0012】本発明は、ローカル・ネットワークの第1
のタップ・ポイントを識別するネットワーク・レベル・
プロトコル・アドレスで構成されるプロトコール・スタ
ックを持つポータブル装置を含み、それによって、ポー
タブル装置がローカル・ネットワークの第1のタップ・
ポイントでローカル・ネットワークに接続される時、ロ
ーカル・ネットワークの第2のタップ・ポイントに接続
されているローカル装置とポータブル装置の間のデータ
通信を可能にする。本発明は、ポータブル装置がローカ
ル・ネットワークから切断され遠隔ネットワークに接続
される時ポータブル装置とローカル装置の間のデータ通
信を提供するネットワーク機器を含む。この場合も、ロ
ーカル・ネットワークの第1のタップ・ポイントを識別
するネットワーク・レベル・プロトコル・アドレスで構
成されたポータブル装置の上記プロトコル・スタックが
やはり使用される。
のタップ・ポイントを識別するネットワーク・レベル・
プロトコル・アドレスで構成されるプロトコール・スタ
ックを持つポータブル装置を含み、それによって、ポー
タブル装置がローカル・ネットワークの第1のタップ・
ポイントでローカル・ネットワークに接続される時、ロ
ーカル・ネットワークの第2のタップ・ポイントに接続
されているローカル装置とポータブル装置の間のデータ
通信を可能にする。本発明は、ポータブル装置がローカ
ル・ネットワークから切断され遠隔ネットワークに接続
される時ポータブル装置とローカル装置の間のデータ通
信を提供するネットワーク機器を含む。この場合も、ロ
ーカル・ネットワークの第1のタップ・ポイントを識別
するネットワーク・レベル・プロトコル・アドレスで構
成されたポータブル装置の上記プロトコル・スタックが
やはり使用される。
【0013】本発明の原理に従って、上記ネットワーク
機器は、ポータブル装置に接続するための第1のネット
ワーク・インタフェース・アダプタ、および、遠隔ネッ
トワークに接続した第2のネットワーク・インタフェー
ス・アダプタを持つ遠隔コントローラを含む。好ましく
は、ローカル・コントローラが、インターネット・プロ
トコル・ネットワークを経由して遠隔ネットワークに接
続される。ローカル・コントローラは、上記ローカル装
置の近傍でローカル・ネットワークに接続される。
機器は、ポータブル装置に接続するための第1のネット
ワーク・インタフェース・アダプタ、および、遠隔ネッ
トワークに接続した第2のネットワーク・インタフェー
ス・アダプタを持つ遠隔コントローラを含む。好ましく
は、ローカル・コントローラが、インターネット・プロ
トコル・ネットワークを経由して遠隔ネットワークに接
続される。ローカル・コントローラは、上記ローカル装
置の近傍でローカル・ネットワークに接続される。
【0014】ローカル装置とのデータ通信に関しては、
ポータブル装置がローカル・ネットワークまたは遠隔ネ
ットワークのいずれに接続していようと関係なく、ポー
タブル装置は、ローカル・ネットワークの第1のタップ
・ポイントを識別するネットワーク・レベル・プロトコ
ル・アドレスを含むソース・アドレス・ヘッダ、およ
び、ローカル・ネットワークの第2のタップ・ポイント
を識別するネットワーク・レベル・プロトコル・アドレ
スを含む宛先アドレス・ヘッダを持つ初期データ・パケ
ットを生成する。
ポータブル装置がローカル・ネットワークまたは遠隔ネ
ットワークのいずれに接続していようと関係なく、ポー
タブル装置は、ローカル・ネットワークの第1のタップ
・ポイントを識別するネットワーク・レベル・プロトコ
ル・アドレスを含むソース・アドレス・ヘッダ、およ
び、ローカル・ネットワークの第2のタップ・ポイント
を識別するネットワーク・レベル・プロトコル・アドレ
スを含む宛先アドレス・ヘッダを持つ初期データ・パケ
ットを生成する。
【0015】ポータブル装置が遠隔ネットワークに接続
される時、ポータブル装置は初期データ・パケットを遠
隔コントローラに伝送する。それに応答して、遠隔コン
トローラは、初期データ・パケットに基づいて少なくと
も1つの後続データ・パケットを生成する。この場合、
後続データ・パケットは、遠隔コントローラの位置を識
別するネットワーク・レベル・プロトコル・アドレスを
含むソース・アドレス・ヘッダ、ローカル・コントロー
ラの位置を識別するネットワーク・レベル・プロトコル
・アドレスを含む宛先アドレス・ヘッダ、および、ロー
カル・ネットワークの第1および第2のタップ・ポイン
トを識別するネットワーク・レベル・プロトコル・アド
レスをカプセル化する情報セグメントを有する。次に、
遠隔コントローラは、好ましくはインターネット・プロ
トコル・ネットワークを経由して、遠隔コントローラか
らローカル・コントローラへ後続データ・パケットを送
信する。それに応答して、ローカル・コントローラは、
後続データ・パケットに基づいて初期データ・パケット
を再生成して、再生成した初期データ・パケットをロー
カル装置に送信する。
される時、ポータブル装置は初期データ・パケットを遠
隔コントローラに伝送する。それに応答して、遠隔コン
トローラは、初期データ・パケットに基づいて少なくと
も1つの後続データ・パケットを生成する。この場合、
後続データ・パケットは、遠隔コントローラの位置を識
別するネットワーク・レベル・プロトコル・アドレスを
含むソース・アドレス・ヘッダ、ローカル・コントロー
ラの位置を識別するネットワーク・レベル・プロトコル
・アドレスを含む宛先アドレス・ヘッダ、および、ロー
カル・ネットワークの第1および第2のタップ・ポイン
トを識別するネットワーク・レベル・プロトコル・アド
レスをカプセル化する情報セグメントを有する。次に、
遠隔コントローラは、好ましくはインターネット・プロ
トコル・ネットワークを経由して、遠隔コントローラか
らローカル・コントローラへ後続データ・パケットを送
信する。それに応答して、ローカル・コントローラは、
後続データ・パケットに基づいて初期データ・パケット
を再生成して、再生成した初期データ・パケットをロー
カル装置に送信する。
【0016】
【発明の実施の形態】図1に示されるように、本発明
は、ローカル・ネットワーク101との柔軟な移動体デ
ータ通信を提供する。プロトコル・スタック104を持
つポータブル装置103は、ローカル・ネットワーク1
01の第1のタップ・ポイント107を識別するネット
ワーク・レベル・プロトコル・アドレス105で構成さ
れ、それによって、ポータブル装置103がローカル・
ネットワーク101の第1のタップ・ポイント107で
ローカル・ネットワーク101に接続される時、ローカ
ル・ネットワーク101の第2のタップ・ポイントに接
続されるローカル装置109とポータブル装置103の
間のデータ通信が可能とされる。
は、ローカル・ネットワーク101との柔軟な移動体デ
ータ通信を提供する。プロトコル・スタック104を持
つポータブル装置103は、ローカル・ネットワーク1
01の第1のタップ・ポイント107を識別するネット
ワーク・レベル・プロトコル・アドレス105で構成さ
れ、それによって、ポータブル装置103がローカル・
ネットワーク101の第1のタップ・ポイント107で
ローカル・ネットワーク101に接続される時、ローカ
ル・ネットワーク101の第2のタップ・ポイントに接
続されるローカル装置109とポータブル装置103の
間のデータ通信が可能とされる。
【0017】詳細は後述されるが、本発明は、ポータブ
ル装置103がローカル・ネットワーク101から切断
され、遠隔ネットワーク113に接続される時、ローカ
ル・ネットワーク101の第1のタップ・ポイント10
7を識別するネットワーク・レベル・プロトコル・アド
レスで構成されるポータブル装置のプロトコル・スタッ
クをなお使用しながら、ポータブル装置103とローカ
ル装置109の間のデータ通信を提供するネットワーク
機器を含む。図1において、ポータブル装置103がロ
ーカル・ネットワーク101に接続している時を示すた
め移動装置103は右側の点線で囲われた部分の近くに
示されている。また、ポータブル装置103が遠隔ネッ
トワーク113に接続している時を示すため移動装置1
03は図1の左側の点線で囲われた部分の近くに示され
ている。
ル装置103がローカル・ネットワーク101から切断
され、遠隔ネットワーク113に接続される時、ローカ
ル・ネットワーク101の第1のタップ・ポイント10
7を識別するネットワーク・レベル・プロトコル・アド
レスで構成されるポータブル装置のプロトコル・スタッ
クをなお使用しながら、ポータブル装置103とローカ
ル装置109の間のデータ通信を提供するネットワーク
機器を含む。図1において、ポータブル装置103がロ
ーカル・ネットワーク101に接続している時を示すた
め移動装置103は右側の点線で囲われた部分の近くに
示されている。また、ポータブル装置103が遠隔ネッ
トワーク113に接続している時を示すため移動装置1
03は図1の左側の点線で囲われた部分の近くに示され
ている。
【0018】好ましい実施形態においては、ネットワー
ク機器は、ポータブル装置103と接続するための第1
のネットワーク・インタフェース・アダプタ、および、
遠隔ネットワーク113と接続するための第2のネット
ワーク・インタフェース・アダプタを持つ遠隔コントロ
ーラ115を含む。ローカル・コントローラ117は、
好ましくは適切なルータおよびインターネット・プロト
コル・ネットワーク121を経由して、遠隔ネットワー
ク113に接続される。ローカル・コントローラ117
は、ローカル・ネットワーク101上でローカル装置1
09の近くに接続されるが、その距離はローカル・ネッ
トワークの距離要件によってのみ制約される。
ク機器は、ポータブル装置103と接続するための第1
のネットワーク・インタフェース・アダプタ、および、
遠隔ネットワーク113と接続するための第2のネット
ワーク・インタフェース・アダプタを持つ遠隔コントロ
ーラ115を含む。ローカル・コントローラ117は、
好ましくは適切なルータおよびインターネット・プロト
コル・ネットワーク121を経由して、遠隔ネットワー
ク113に接続される。ローカル・コントローラ117
は、ローカル・ネットワーク101上でローカル装置1
09の近くに接続されるが、その距離はローカル・ネッ
トワークの距離要件によってのみ制約される。
【0019】図1に示されるように、ポータブル装置1
03は、初期データ・パケットの生成機構123を含む
が、この初期データ・パケットは、詳細は後述されるよ
うに、ローカル・ネットワーク101の第1のタップ・
ポイント107を識別するネットワーク・レベル・プロ
トコル・アドレス105を含むソース・アドレス・ヘッ
ダ、および、ローカル・ネットワーク101の第2のタ
ップ・ポイントに接続されるローカル装置を識別するネ
ットワーク・レベル・プロトコル・アドレス105を含
む宛先アドレス・ヘッダを持つ。ポータブル装置103
は、図1の左側で示されるように遠隔ネットワークに接
続している時、第1のデータ・パケット213をポータ
ブル装置103から遠隔コントローラ115に伝送する
送信機構を含む。
03は、初期データ・パケットの生成機構123を含む
が、この初期データ・パケットは、詳細は後述されるよ
うに、ローカル・ネットワーク101の第1のタップ・
ポイント107を識別するネットワーク・レベル・プロ
トコル・アドレス105を含むソース・アドレス・ヘッ
ダ、および、ローカル・ネットワーク101の第2のタ
ップ・ポイントに接続されるローカル装置を識別するネ
ットワーク・レベル・プロトコル・アドレス105を含
む宛先アドレス・ヘッダを持つ。ポータブル装置103
は、図1の左側で示されるように遠隔ネットワークに接
続している時、第1のデータ・パケット213をポータ
ブル装置103から遠隔コントローラ115に伝送する
送信機構を含む。
【0020】遠隔コントローラ115は、初期データ・
パケットに基づいて少なくとも1つの後続データ・パケ
ットを生成する。この場合、後続データ・パケットは、
遠隔コントローラの位置を識別するネットワーク・レベ
ル・プロトコル・アドレス105を含むソース・アドレ
ス・ヘッダ、ローカル・コントローラ117の位置を識
別するネットワーク・レベル・プロトコル・アドレス1
05を含む宛先アドレス・ヘッダ、および、ローカル・
ネットワーク101の第1および第2のタップ・ポイン
トを識別するネットワーク・レベル・プロトコル・アド
レスをカプセル化する情報セグメントを有する。
パケットに基づいて少なくとも1つの後続データ・パケ
ットを生成する。この場合、後続データ・パケットは、
遠隔コントローラの位置を識別するネットワーク・レベ
ル・プロトコル・アドレス105を含むソース・アドレ
ス・ヘッダ、ローカル・コントローラ117の位置を識
別するネットワーク・レベル・プロトコル・アドレス1
05を含む宛先アドレス・ヘッダ、および、ローカル・
ネットワーク101の第1および第2のタップ・ポイン
トを識別するネットワーク・レベル・プロトコル・アド
レスをカプセル化する情報セグメントを有する。
【0021】遠隔コントローラ115の生成機構125
は、データ・パケットのデータ・メッセージの長さをあ
らかじめ定められた値と比較する比較機構127を含
む。データ・メッセージ細分機構129は、データ・メ
ッセージの長さがあらかじめ定められた値より大きい場
合データ・メッセージを初期部分と残余部分に細分化す
る機能を持つ。データ・パケット・コントローラ128
は、データ・メッセージの長さがあらかじめ定められた
値より大きい場合、初期部分を含む後続データ・パケッ
トの生成および残余部分を含む別の後続データ・パケッ
トの生成を制御する機能を持つ。
は、データ・パケットのデータ・メッセージの長さをあ
らかじめ定められた値と比較する比較機構127を含
む。データ・メッセージ細分機構129は、データ・メ
ッセージの長さがあらかじめ定められた値より大きい場
合データ・メッセージを初期部分と残余部分に細分化す
る機能を持つ。データ・パケット・コントローラ128
は、データ・メッセージの長さがあらかじめ定められた
値より大きい場合、初期部分を含む後続データ・パケッ
トの生成および残余部分を含む別の後続データ・パケッ
トの生成を制御する機能を持つ。
【0022】好ましい実施形態においては、遠隔コント
ローラ115の生成機構125は、ローカル・コントロ
ーラ117の位置を識別するネットワーク・レベル・プ
ロトコル・アドレス105のレコード・エントリ131
を含む。このレコード・エントリは、ローカル装置10
9がローカル・ネットワーク101に接続している場合
第2のタップ・ポイントを識別するネットワーク・レベ
ル・プロトコル・アドレス105のレコード・エントリ
と関連づけされる。レコード取り出し機構133は、ロ
ーカル装置109がローカル・ネットワーク101に接
続している場合、第2のタップ・ポイント110を識別
するネットワーク・レベル・プロトコル・アドレス10
5に基づいて、ローカル・コントローラ117を識別す
るネットワーク・レベル・プロトコル・アドレス105
を取り出す機能を持つ。
ローラ115の生成機構125は、ローカル・コントロ
ーラ117の位置を識別するネットワーク・レベル・プ
ロトコル・アドレス105のレコード・エントリ131
を含む。このレコード・エントリは、ローカル装置10
9がローカル・ネットワーク101に接続している場合
第2のタップ・ポイントを識別するネットワーク・レベ
ル・プロトコル・アドレス105のレコード・エントリ
と関連づけされる。レコード取り出し機構133は、ロ
ーカル装置109がローカル・ネットワーク101に接
続している場合、第2のタップ・ポイント110を識別
するネットワーク・レベル・プロトコル・アドレス10
5に基づいて、ローカル・コントローラ117を識別す
るネットワーク・レベル・プロトコル・アドレス105
を取り出す機能を持つ。
【0023】遠隔コントローラ115は、後続データ・
パケットを遠隔コントローラ115からローカル・コン
トローラ117に伝送する送信機126を含む。ローカ
ル・コントローラ117は、後続データ・パケットに基
づいて初期データ・パケットを再生成する生成機構13
5を含む。ローカル・コントローラ117は、再生成し
た初期データ・パケットをローカル・コントローラ11
7からローカル装置109に送信する送信機137を含
む。
パケットを遠隔コントローラ115からローカル・コン
トローラ117に伝送する送信機126を含む。ローカ
ル・コントローラ117は、後続データ・パケットに基
づいて初期データ・パケットを再生成する生成機構13
5を含む。ローカル・コントローラ117は、再生成し
た初期データ・パケットをローカル・コントローラ11
7からローカル装置109に送信する送信機137を含
む。
【0024】図2は、図1の本発明の好ましい実施形態
の動作を示すブロック図である。ローカル装置とのデー
タ通信に関する限り、ポータブル装置がローカル・ネッ
トワークまたは遠隔ネットワークのいずれに接続してい
ようとも、ポータブル装置103は初期データ・パケッ
ト213を生成する。好ましい実施形態においては、初
期データ・パケットは、7バイトの前文、1バイトのS
FD、ローカル・ネットワークの第2のタップ・ポイン
トを識別したネットワーク・レベル・プロトコル・アド
レスを含む6バイトの宛先アドレス(DA)、ローカル・
ネットワークの第1のタップ・ポイントを識別するネッ
トワーク・レベル・プロトコル・アドレスを含む6バイ
トのソース・アドレス(SA)、パケットのプロトコル識
別子番号(PIN)のための2バイト、46から1600
バイトまでの範囲内の情報セグメントに含まれるデータ
・メッセージ、および、6バイトの巡回符号検査(CR
C)コードを含む。
の動作を示すブロック図である。ローカル装置とのデー
タ通信に関する限り、ポータブル装置がローカル・ネッ
トワークまたは遠隔ネットワークのいずれに接続してい
ようとも、ポータブル装置103は初期データ・パケッ
ト213を生成する。好ましい実施形態においては、初
期データ・パケットは、7バイトの前文、1バイトのS
FD、ローカル・ネットワークの第2のタップ・ポイン
トを識別したネットワーク・レベル・プロトコル・アド
レスを含む6バイトの宛先アドレス(DA)、ローカル・
ネットワークの第1のタップ・ポイントを識別するネッ
トワーク・レベル・プロトコル・アドレスを含む6バイ
トのソース・アドレス(SA)、パケットのプロトコル識
別子番号(PIN)のための2バイト、46から1600
バイトまでの範囲内の情報セグメントに含まれるデータ
・メッセージ、および、6バイトの巡回符号検査(CR
C)コードを含む。
【0025】ポータブル装置103が遠隔ネットワーク
に接続している時、ポータブル装置は初期データ・パケ
ットを遠隔コントローラ115に伝送する。それに応じ
て、遠隔コントローラ115は、初期データ・パケット
に基づいて少くとも1つの後続データ・パケット223
を生成するが、この後続データ・パケットは、遠隔コン
トローラの位置を識別するネットワーク・レベル・プロ
トコル・アドレスを含むソース・アドレス・ヘッダ(S
A)、ローカル・コントローラの位置を識別するネット
ワーク・レベル・プロトコル・アドレスを含む宛先アド
レス・ヘッダ(DA)、および、ローカル・ネットワーク
の第1および第2のタップ・ポイントを識別するネット
ワーク・レベル・プロトコル・アドレスをカプセル化す
る情報セグメントをを持つ。前述のように、ローカル装
置は第2のタップ・ポイントに接続されている。第2の
タップ・ポイントのアドレスがローカル装置を識別して
いるので、第2のタップ・ポイントのアドレスは図2に
おいてローカル装置アドレスとして示されている。説明
の簡略化のため、図2では、初期ローカル・タップ・ポ
イント・アドレスは、ローカル・タップ・ポイント・ア
ドレスとして示されている。
に接続している時、ポータブル装置は初期データ・パケ
ットを遠隔コントローラ115に伝送する。それに応じ
て、遠隔コントローラ115は、初期データ・パケット
に基づいて少くとも1つの後続データ・パケット223
を生成するが、この後続データ・パケットは、遠隔コン
トローラの位置を識別するネットワーク・レベル・プロ
トコル・アドレスを含むソース・アドレス・ヘッダ(S
A)、ローカル・コントローラの位置を識別するネット
ワーク・レベル・プロトコル・アドレスを含む宛先アド
レス・ヘッダ(DA)、および、ローカル・ネットワーク
の第1および第2のタップ・ポイントを識別するネット
ワーク・レベル・プロトコル・アドレスをカプセル化す
る情報セグメントをを持つ。前述のように、ローカル装
置は第2のタップ・ポイントに接続されている。第2の
タップ・ポイントのアドレスがローカル装置を識別して
いるので、第2のタップ・ポイントのアドレスは図2に
おいてローカル装置アドレスとして示されている。説明
の簡略化のため、図2では、初期ローカル・タップ・ポ
イント・アドレスは、ローカル・タップ・ポイント・ア
ドレスとして示されている。
【0026】図2に示されるように、遠隔コントローラ
は、好ましくはインターネット・プロトコル・ネットワ
ーク121を経由して、1つまたは複数の後続データ・
パケット232を遠隔コントローラからローカル・コン
トローラへ送る。それに応答して、ローカル・コントロ
ーラは、1つまたは複数の後続データ・パケット232
に基づいて初期データ・パケット213を再生成して再
生成した初期データ・パケット214をローカル装置1
09に伝送する。
は、好ましくはインターネット・プロトコル・ネットワ
ーク121を経由して、1つまたは複数の後続データ・
パケット232を遠隔コントローラからローカル・コン
トローラへ送る。それに応答して、ローカル・コントロ
ーラは、1つまたは複数の後続データ・パケット232
に基づいて初期データ・パケット213を再生成して再
生成した初期データ・パケット214をローカル装置1
09に伝送する。
【0027】本発明の好ましい実施形態においては、ロ
ーカル・コントローラおよび遠隔コントローラの上述の
諸機能の各々は、以下に記述するソフトウェアおよびデ
ータ構造を実行する汎用コンピュータの形態で実施され
る。図3の流れ図から開始して、ソフトウェア・プロシ
ージャはブロック301から始まる。ブロック303
は、追跡/ログ用フラグおよびグローバル記憶域/バッ
ファの初期化である。コードは、構成項目として含まれ
る可能性のあるパケット・ドライバのすべてを走査す
る。ドライバは1つであるかもしれないし、最高5つあ
るかもしれない。従って、導入されているドライバの数
を調べる走査を実行し、ハンドルと呼ばれるドライバ呼
び出し手段を検出して、パケット受け取り側のアドレス
を送出して各インタフェースを混合モードに設定する。
次に、少くとも1つのパケット・ドライバが検出された
ことを確認する検査が行われる。ドライバが何もなけれ
ば、正しく設定されてないので、クリーンアップを行っ
てこのプロシージャから出る。「完了」はプログラムが
完了したことを意味する。
ーカル・コントローラおよび遠隔コントローラの上述の
諸機能の各々は、以下に記述するソフトウェアおよびデ
ータ構造を実行する汎用コンピュータの形態で実施され
る。図3の流れ図から開始して、ソフトウェア・プロシ
ージャはブロック301から始まる。ブロック303
は、追跡/ログ用フラグおよびグローバル記憶域/バッ
ファの初期化である。コードは、構成項目として含まれ
る可能性のあるパケット・ドライバのすべてを走査す
る。ドライバは1つであるかもしれないし、最高5つあ
るかもしれない。従って、導入されているドライバの数
を調べる走査を実行し、ハンドルと呼ばれるドライバ呼
び出し手段を検出して、パケット受け取り側のアドレス
を送出して各インタフェースを混合モードに設定する。
次に、少くとも1つのパケット・ドライバが検出された
ことを確認する検査が行われる。ドライバが何もなけれ
ば、正しく設定されてないので、クリーンアップを行っ
てこのプロシージャから出る。「完了」はプログラムが
完了したことを意味する。
【0028】ブロック311において、複数のパケット
・ドライバが検出されているか否か検査される。検出さ
れたドライバがただ1つであれば、ブロック313に示
されるように、動作モードはローカル・コントローラの
モードになる。複数であれば、ブロック315に示され
るように、動作モードは遠隔コントローラのモードにな
る。上記モードは相互に排他的であるので、ブロック3
17までには、動作モードはローカル・コントローラま
たは遠隔コントローラのいずれかに設定されている。
・ドライバが検出されているか否か検査される。検出さ
れたドライバがただ1つであれば、ブロック313に示
されるように、動作モードはローカル・コントローラの
モードになる。複数であれば、ブロック315に示され
るように、動作モードは遠隔コントローラのモードにな
る。上記モードは相互に排他的であるので、ブロック3
17までには、動作モードはローカル・コントローラま
たは遠隔コントローラのいずれかに設定されている。
【0029】次に、プログラムはブロック317におい
て構成ファイルを読み出す。ブロック317単純な解析
動作である。プログラムはASCIIファイルを縦覧し
て、求めているストリングと一致するキーワードを検出
し、パラメータとしてASCIIストリングを取り出
し、その値を記憶し、若干のビットを調べてエラー検査
を行う。流れ図に示されているように、点線のボックス
は、ディスクへのアクセスを持つローカルまたは遠隔コ
ントローラの場合のコードのバージョンにのみあてはま
る。当然のことながら、ディスクのない構成においては
ディスクから読みとることができるコードを持つことは
意味がない。
て構成ファイルを読み出す。ブロック317単純な解析
動作である。プログラムはASCIIファイルを縦覧し
て、求めているストリングと一致するキーワードを検出
し、パラメータとしてASCIIストリングを取り出
し、その値を記憶し、若干のビットを調べてエラー検査
を行う。流れ図に示されているように、点線のボックス
は、ディスクへのアクセスを持つローカルまたは遠隔コ
ントローラの場合のコードのバージョンにのみあてはま
る。当然のことながら、ディスクのない構成においては
ディスクから読みとることができるコードを持つことは
意味がない。
【0030】ブロック319へ移動して、ソフトウェア
はそのファイルに構成エラーがないか検査する。エラー
があれば、クリーンアップして、プログラムを終了する
(ブロック325)。クリーンアップはログ・ファイルを
閉じ、LANドライバを非混合モードに戻し、プログラ
ムを停止して、その結果もはや存在しないコードへの割
り込みが行われないようにする。
はそのファイルに構成エラーがないか検査する。エラー
があれば、クリーンアップして、プログラムを終了する
(ブロック325)。クリーンアップはログ・ファイルを
閉じ、LANドライバを非混合モードに戻し、プログラ
ムを停止して、その結果もはや存在しないコードへの割
り込みが行われないようにする。
【0031】構成エラーがなければ、ソフトウェアの実
行はブロック319からブロック321へ進み、デフォ
ルトのネットワーク・ゲートウェイに対する物理アドレ
スを検出するために使用されるARP(アドレス・レゾ
リューション・プロトコル)を始動する。次に、ソフト
ウェアの実行は、ブロック323において、すべての受
け取りバッファを走査して、受け取ったパケットを記憶
するバッファを探すメイン・ループに入る。次にソフト
ウェアの実行はブロック331へ進み、プロシジャhand
leReceivedPacketによってパケットがARPパケットで
あるか否か検査される。ARPパケットであれば、ブロ
ック333において、図10のブロック501以下のブ
ロックに記述されるプロシジャhandleARPPacketが呼び
出される。パケットがARPパケットでない場合、それ
が好ましいプロトコル・パケットであるか否か検査され
る。例えば、好ましい実施形態において、それはIPパ
ケットである。パケットがIPパケットである場合、プ
ロシージャhandleIPPacketがブロック337で呼び出さ
れる。IPパケットでなくまたARPパケットでもない
場合、ブロック339においてバッファが解放される。
再使用できるようにバッファは解放され、プロシジャは
呼び出し元へ戻る。
行はブロック319からブロック321へ進み、デフォ
ルトのネットワーク・ゲートウェイに対する物理アドレ
スを検出するために使用されるARP(アドレス・レゾ
リューション・プロトコル)を始動する。次に、ソフト
ウェアの実行は、ブロック323において、すべての受
け取りバッファを走査して、受け取ったパケットを記憶
するバッファを探すメイン・ループに入る。次にソフト
ウェアの実行はブロック331へ進み、プロシジャhand
leReceivedPacketによってパケットがARPパケットで
あるか否か検査される。ARPパケットであれば、ブロ
ック333において、図10のブロック501以下のブ
ロックに記述されるプロシジャhandleARPPacketが呼び
出される。パケットがARPパケットでない場合、それ
が好ましいプロトコル・パケットであるか否か検査され
る。例えば、好ましい実施形態において、それはIPパ
ケットである。パケットがIPパケットである場合、プ
ロシージャhandleIPPacketがブロック337で呼び出さ
れる。IPパケットでなくまたARPパケットでもない
場合、ブロック339においてバッファが解放される。
再使用できるようにバッファは解放され、プロシジャは
呼び出し元へ戻る。
【0032】ここで、ロック343へ進む。キーボード
上のキーが押されたか否か検査される。いずれかのキー
が押されたならば、それはプログラムの実行を終了すべ
き信号である。なにがしかの統計がプリントされ、クリ
ーンアップが行われ、ルーチンexitが呼び出され、全プ
ログラムが終了する(ブロック347およびブロック3
49)。コントローラのコンソール上のキーがなにも押
されなかったならば、いくつかのハウスキーピング関数
が実行される。ソフトウェアの実行は、直前60秒間パ
ケットを送らなかったポータブル装置にARPを送るこ
とによって切断されたポータブル装置を探す。これらの
ARPに4分間応答しなかった装置は、(その所有者に
よって)切断され移動されたものと見なされる。ソフト
ウェアの実行は失ったパケットのため若干の猶予を与え
るが、それらパケットの少なくとも1つは4分間以内に
応答しなければならないことは理解されるであろう。そ
のような切断されたポータブル装置が使用した資源がブ
ロック351において解放される。
上のキーが押されたか否か検査される。いずれかのキー
が押されたならば、それはプログラムの実行を終了すべ
き信号である。なにがしかの統計がプリントされ、クリ
ーンアップが行われ、ルーチンexitが呼び出され、全プ
ログラムが終了する(ブロック347およびブロック3
49)。コントローラのコンソール上のキーがなにも押
されなかったならば、いくつかのハウスキーピング関数
が実行される。ソフトウェアの実行は、直前60秒間パ
ケットを送らなかったポータブル装置にARPを送るこ
とによって切断されたポータブル装置を探す。これらの
ARPに4分間応答しなかった装置は、(その所有者に
よって)切断され移動されたものと見なされる。ソフト
ウェアの実行は失ったパケットのため若干の猶予を与え
るが、それらパケットの少なくとも1つは4分間以内に
応答しなければならないことは理解されるであろう。そ
のような切断されたポータブル装置が使用した資源がブ
ロック351において解放される。
【0033】その後、ソフトウェアの実行は、約61秒
間隔でコントローラ広告(Controller Advertisements)
を送信する。コントローラ広告は遠隔ネットワーク上で
送出されるメッセージであり、ポータブル装置がそのロ
ーカル・ネットワークに接続されると、ポータブル装置
がローカル・ネットワークに戻ったことをこのメッセー
ジが認識し、遠隔またはローカル・コントローラ接続が
解放される。
間隔でコントローラ広告(Controller Advertisements)
を送信する。コントローラ広告は遠隔ネットワーク上で
送出されるメッセージであり、ポータブル装置がそのロ
ーカル・ネットワークに接続されると、ポータブル装置
がローカル・ネットワークに戻ったことをこのメッセー
ジが認識し、遠隔またはローカル・コントローラ接続が
解放される。
【0034】ソフトウェアの実行はBOOTPブロードキャ
ストを送信するが、これはサイト・プロトコル・アドレ
スがまだ決定されていない場合に限り実行される。BOOT
Pを使用するプロトコル・アドレスのない構成を可能に
することができるソフトウェア機能が実行され(ブロッ
ク355)、次にソフトウェアの実行はメイン・ループ
に戻る。
ストを送信するが、これはサイト・プロトコル・アドレ
スがまだ決定されていない場合に限り実行される。BOOT
Pを使用するプロトコル・アドレスのない構成を可能に
することができるソフトウェア機能が実行され(ブロッ
ク355)、次にソフトウェアの実行はメイン・ループ
に戻る。
【0035】次に、図7を参照してReceiver0の処理に
ついて記述する。またReceiver1、Receiver2、Receiver
3、Receiver4も存在する。各ネットワーク・カード毎に
別々のプロシジャが存在する。それらの動作様態は、デ
ータ構造の「受け取り先(Receiver)」番号を除いて、す
べて同じである。従って、コードの残りは、このパケッ
トがポータブル装置から到来したものなのか、あるい
は、遠隔ネットワークから到来したものなのかを決定す
ることができる。コードにおいて、レシーバは0から4
まであるが、それらの動作は完全に同一であるが、例外
は、パケットが受け取られる時、そのバイト数と使用中
であることを示すデータ構造が存在すること、およびど
のインタフェース・カードがそのパケットを受信したか
を示す別のデータ構造位置が存在することである。従っ
て、パケットがそのポータブル装置から返される時ソフ
トウェアはその送信先を認識することができる。コード
の別の部分において、一部の処理は、パケットがポータ
ブル装置から到来したものかあるいは遠隔ネットワーク
から到来したのかによって異なる。
ついて記述する。またReceiver1、Receiver2、Receiver
3、Receiver4も存在する。各ネットワーク・カード毎に
別々のプロシジャが存在する。それらの動作様態は、デ
ータ構造の「受け取り先(Receiver)」番号を除いて、す
べて同じである。従って、コードの残りは、このパケッ
トがポータブル装置から到来したものなのか、あるい
は、遠隔ネットワークから到来したものなのかを決定す
ることができる。コードにおいて、レシーバは0から4
まであるが、それらの動作は完全に同一であるが、例外
は、パケットが受け取られる時、そのバイト数と使用中
であることを示すデータ構造が存在すること、およびど
のインタフェース・カードがそのパケットを受信したか
を示す別のデータ構造位置が存在することである。従っ
て、パケットがそのポータブル装置から返される時ソフ
トウェアはその送信先を認識することができる。コード
の別の部分において、一部の処理は、パケットがポータ
ブル装置から到来したものかあるいは遠隔ネットワーク
から到来したのかによって異なる。
【0036】パケットを受け取るプロセスは非同期的に
発生する。その処理の流れは図7乃至図9に示されてい
る。パケットが検出されると、(handleReceivedPacket
と呼ばれる)プロシージャはループへ戻り、更に多くの
バッファを走査する。ブロック401においてReceiver
Oから開始する。ブロック403において、コントロー
ラへの割り込みを禁止する。ここで検査が行われる。パ
ケット・ドライバに対するソフトウエア・インタフェー
スがこの検査を行う。レジスタの値によって、最初の呼
び出しか2度目の呼び出しか判断する。最初の呼び出し
は、到来しているパケットがあり、到来パケットに対す
る記憶のためのバッファ・アドレスが必要であることを
意味する。2度目の呼び出しは、パケットが既に受け取
られていてメモリにあることをソフトウェアへ示す信号
である。従って、ブロック405はそれが最初の呼び出
しであるか否か検査する。
発生する。その処理の流れは図7乃至図9に示されてい
る。パケットが検出されると、(handleReceivedPacket
と呼ばれる)プロシージャはループへ戻り、更に多くの
バッファを走査する。ブロック401においてReceiver
Oから開始する。ブロック403において、コントロー
ラへの割り込みを禁止する。ここで検査が行われる。パ
ケット・ドライバに対するソフトウエア・インタフェー
スがこの検査を行う。レジスタの値によって、最初の呼
び出しか2度目の呼び出しか判断する。最初の呼び出し
は、到来しているパケットがあり、到来パケットに対す
る記憶のためのバッファ・アドレスが必要であることを
意味する。2度目の呼び出しは、パケットが既に受け取
られていてメモリにあることをソフトウェアへ示す信号
である。従って、ブロック405はそれが最初の呼び出
しであるか否か検査する。
【0037】最初の呼び出しであれば、パケットが大き
すぎないかブロック407で調べる。1518バイト以
上であれば、物理的パケットして大きすぎるので、それ
は、ジャバー(すなわち無意味なパケット)と呼ばれる。
この場合、ブロック409において、ソフトウェアの実
行は検出したジャバーの数を累計するカウンタを増分す
る。これは障害解決に役立てられる。パケット・ドライ
バ・インタフェースがこのパケットを無視するように指
示する場合、ブロック401において、ソフトウェアの
実行は、レジスタcx、esおよびdiにゼロを書き込み、戻
る。ジャバーでないとすればソフトウェアの実行はブロ
ック413へ進む。ソフトウェアの実行は、受け取りパ
ケット数カウンタを増分する。
すぎないかブロック407で調べる。1518バイト以
上であれば、物理的パケットして大きすぎるので、それ
は、ジャバー(すなわち無意味なパケット)と呼ばれる。
この場合、ブロック409において、ソフトウェアの実
行は検出したジャバーの数を累計するカウンタを増分す
る。これは障害解決に役立てられる。パケット・ドライ
バ・インタフェースがこのパケットを無視するように指
示する場合、ブロック401において、ソフトウェアの
実行は、レジスタcx、esおよびdiにゼロを書き込み、戻
る。ジャバーでないとすればソフトウェアの実行はブロ
ック413へ進む。ソフトウェアの実行は、受け取りパ
ケット数カウンタを増分する。
【0038】次に、ブロック415において、ソフトウ
ェアの実行は、次に利用できる空のバッファを見つけ
る。ソフトウェアは、グローバル変数を使用して最近時
使用バッファ・インデックスを保持する。従って、ソフ
トウェアの実行は同じものを引き続き再利用しない。ソ
フトウェアの実行は、時間的に効率よく利用できるバッ
ファを見つけることができるように使用するバッファの
使用を一部に偏ることのないようにする。
ェアの実行は、次に利用できる空のバッファを見つけ
る。ソフトウェアは、グローバル変数を使用して最近時
使用バッファ・インデックスを保持する。従って、ソフ
トウェアの実行は同じものを引き続き再利用しない。ソ
フトウェアの実行は、時間的に効率よく利用できるバッ
ファを見つけることができるように使用するバッファの
使用を一部に偏ることのないようにする。
【0039】ブロック417へ進み、バッファを見つけ
ることができたか否か調べ、見つけることができなかっ
た場合、ソフトウェアの実行はブロック419へ進む。
ソフトウェアの実行は、破棄カウンタを増分する。この
パケットを記憶する場所を見つけることができない場
合、ソフトウェアの実行はそれを無視する(ブロック4
21)。バッファが利用可能であれば、ブロック423
において、ソフトウェアの実行は、バッファ状態を「ロ
ード中」に変更し、パケット長をバイト単位で記憶す
る。パケット‐バッファ・アレイにおいてこのフィール
ドはReceived_lenと呼ばれる。ソフトウェアの実行は、
Packet Ready Buffer(パケット準備バッファ)にゼロを
記憶する。これら2つの順序は、ソフトウェアの実行中
に割り込みに従って非同期的に発生し、図7乃至図9の
コードとバッファを探すカーネル内のコードの間に競争
条件が存在しないことを保証する。ソフトウェアは、パ
ケットがそのバッファに完全にロードされる前にバッフ
ァが利用できることを保証する。
ることができたか否か調べ、見つけることができなかっ
た場合、ソフトウェアの実行はブロック419へ進む。
ソフトウェアの実行は、破棄カウンタを増分する。この
パケットを記憶する場所を見つけることができない場
合、ソフトウェアの実行はそれを無視する(ブロック4
21)。バッファが利用可能であれば、ブロック423
において、ソフトウェアの実行は、バッファ状態を「ロ
ード中」に変更し、パケット長をバイト単位で記憶す
る。パケット‐バッファ・アレイにおいてこのフィール
ドはReceived_lenと呼ばれる。ソフトウェアの実行は、
Packet Ready Buffer(パケット準備バッファ)にゼロを
記憶する。これら2つの順序は、ソフトウェアの実行中
に割り込みに従って非同期的に発生し、図7乃至図9の
コードとバッファを探すカーネル内のコードの間に競争
条件が存在しないことを保証する。ソフトウェアは、パ
ケットがそのバッファに完全にロードされる前にバッフ
ァが利用できることを保証する。
【0040】次に、ブロック425において、ソフトウ
ェアの実行は、esレジスタにバッファ・セグメント・ア
ドレス、diレジスタにオフセット、cxレジスタにパケッ
ト長を返す。これらは、インテル・マイクロプロセッサ
を使用する好ましい実施形態におけるレジスタのすべて
の名前である。
ェアの実行は、esレジスタにバッファ・セグメント・ア
ドレス、diレジスタにオフセット、cxレジスタにパケッ
ト長を返す。これらは、インテル・マイクロプロセッサ
を使用する好ましい実施形態におけるレジスタのすべて
の名前である。
【0041】ブロック427において、2番目の呼び出
しのパケットを受け取る準備ができている。ブロック4
29において、ソフトウェアの実行は、準備状態にある
と報告されているバッファを探し出す。ブロック431
において、ソフトウェアの実行はバッファを見つけたか
否か調べる。見つけていな場合、ブロック433におい
て、2番目呼び出し失敗カウンタを増分する。あらゆる
2番目呼び出しに対しバッファが用意されなければなら
ないので、このようなケースは実施が不成功かパケット
・ドライバにバグがあることを意味する。この場合、プ
ロシージャはブロック435で戻る。
しのパケットを受け取る準備ができている。ブロック4
29において、ソフトウェアの実行は、準備状態にある
と報告されているバッファを探し出す。ブロック431
において、ソフトウェアの実行はバッファを見つけたか
否か調べる。見つけていな場合、ブロック433におい
て、2番目呼び出し失敗カウンタを増分する。あらゆる
2番目呼び出しに対しバッファが用意されなければなら
ないので、このようなケースは実施が不成功かパケット
・ドライバにバグがあることを意味する。この場合、プ
ロシージャはブロック435で戻る。
【0042】ブロック437でバッファが見つかれば、
ソフトウェアの実行はそのパケット・タイプをチェック
する。それがARPパケットでなくまたIPパケットで
もない場合、ソフトウェアの実行はバッファ状態をEMPT
Y(空)とする。これは1つの最適化であり、多数のバッ
ファを迅速に反復使用する上で役立つ。なぜならば、ネ
ットワーク上で受け取るが、本発明のソフトウェアが何
の処理も行わず無視するその他のタイプの多数のパケッ
トが存在するからである。パケットの再使用は迅速なほ
ど好ましい。プロシージャは次にブロック439で戻
る。
ソフトウェアの実行はそのパケット・タイプをチェック
する。それがARPパケットでなくまたIPパケットで
もない場合、ソフトウェアの実行はバッファ状態をEMPT
Y(空)とする。これは1つの最適化であり、多数のバッ
ファを迅速に反復使用する上で役立つ。なぜならば、ネ
ットワーク上で受け取るが、本発明のソフトウェアが何
の処理も行わず無視するその他のタイプの多数のパケッ
トが存在するからである。パケットの再使用は迅速なほ
ど好ましい。プロシージャは次にブロック439で戻
る。
【0043】ブロック501で始まる図10乃至図15
の流れ図において、プロシージャhandleARPpacketの処
理が示されている。ブロック503において、ソフトウ
ェアの実行はサイト・ネットワークのプロトコル・アド
レスが既知か否かの検査を実行する。このアドレスは、
ブロードキャストからのBOOTP応答またはASCIIテキスト
・ファイルの解析のいずれかによって得られる。遠隔ネ
ットワークのプロトコル・アドレスがまだ決定されてい
なければ、ソフトウェアの実行はパケットを処理するこ
となく戻る(ブロック505)。遠隔ネットワークのプロ
トコル・アドレスが決定されていれば、ソフトウェアの
実行は宛先プロトコル・アドレスをコピーする。
の流れ図において、プロシージャhandleARPpacketの処
理が示されている。ブロック503において、ソフトウ
ェアの実行はサイト・ネットワークのプロトコル・アド
レスが既知か否かの検査を実行する。このアドレスは、
ブロードキャストからのBOOTP応答またはASCIIテキスト
・ファイルの解析のいずれかによって得られる。遠隔ネ
ットワークのプロトコル・アドレスがまだ決定されてい
なければ、ソフトウェアの実行はパケットを処理するこ
となく戻る(ブロック505)。遠隔ネットワークのプロ
トコル・アドレスが決定されていれば、ソフトウェアの
実行は宛先プロトコル・アドレスをコピーする。
【0044】ブロック509においてこれがARP要求
であるか否か判断する。ARP要求でなければ、ソフト
ウェアの実行はそれがARP回答であるか否か検査す
る。それがARP回答でなければ、それが他のARPま
たはRARP組合せである可能性がある。従って、ソフ
トウェアの実行はパケットを処理することなく戻る(ブ
ロック513)。
であるか否か判断する。ARP要求でなければ、ソフト
ウェアの実行はそれがARP回答であるか否か検査す
る。それがARP回答でなければ、それが他のARPま
たはRARP組合せである可能性がある。従って、ソフ
トウェアの実行はパケットを処理することなく戻る(ブ
ロック513)。
【0045】ブロック515において、パケットはAR
P要求である。ソフトウェアの実行は、そのパケットが
ポータブル装置のネットワーク・インタフェースのうち
の1つから到来したものか否かを調べる。そうであれ
ば、ソフトウェアの実行は、ポータブル装置自体がAR
Pを実行しているか否かを調べる(ブロック517)。
P要求である。ソフトウェアの実行は、そのパケットが
ポータブル装置のネットワーク・インタフェースのうち
の1つから到来したものか否かを調べる。そうであれ
ば、ソフトウェアの実行は、ポータブル装置自体がAR
Pを実行しているか否かを調べる(ブロック517)。
【0046】起動時にはポータブル装置自体がARPを
実行している。そのような場合、ブロック519におい
てソフトウェアの実行はパケットを処理することなく戻
る。ソフトウェアの実行がそのARPに回答すれば、ポ
ータブル装置はネットワーク上の他の機械がそのプロト
コル・アドレスを持っているかのように動作し、ネット
ワークとの対話を停止して、他の装置がプロトコル・を
アドレスを持つというエラー・メッセージを出す。
実行している。そのような場合、ブロック519におい
てソフトウェアの実行はパケットを処理することなく戻
る。ソフトウェアの実行がそのARPに回答すれば、ポ
ータブル装置はネットワーク上の他の機械がそのプロト
コル・アドレスを持っているかのように動作し、ネット
ワークとの対話を停止して、他の装置がプロトコル・を
アドレスを持つというエラー・メッセージを出す。
【0047】ソフトウェアの実行は、ブロック521へ
進み、プロトコル・アドレスが送信元のものと一致する
エントリを求めてポータブル装置テーブルを検索する。
ブロック523において、ソフトウェアの実行はそのよ
うなエントリを検出したか否か検査する。検出されてい
なければ、ソフトウェアの実行は新しいエントリをテー
ブルに作成する。最初に使用されるエントリはtimeNow
であり、これは、一部の管理プロトコル・メッセージに
おいて使用されている。
進み、プロトコル・アドレスが送信元のものと一致する
エントリを求めてポータブル装置テーブルを検索する。
ブロック523において、ソフトウェアの実行はそのよ
うなエントリを検出したか否か検査する。検出されてい
なければ、ソフトウェアの実行は新しいエントリをテー
ブルに作成する。最初に使用されるエントリはtimeNow
であり、これは、一部の管理プロトコル・メッセージに
おいて使用されている。
【0048】ブロック523およびブロック525の処
理の後はいずれもブロック527へ進む。ソフトウェア
の実行は、現在時間をエントリのtime-of-last-use(最
終使用時間)フィールドおよびtime-last-received(最終
受信時間)フィールドへコピーする。これらは、切断さ
れたポータブル装置について検査するために使用され
る。すでにコントローラにパケットを送っているポータ
ブル装置にARPを送ることには意味がない。なぜなら
ばそれらからパケットを受け取ることはそれらがまだそ
こに存在すると判断されるからである。
理の後はいずれもブロック527へ進む。ソフトウェア
の実行は、現在時間をエントリのtime-of-last-use(最
終使用時間)フィールドおよびtime-last-received(最終
受信時間)フィールドへコピーする。これらは、切断さ
れたポータブル装置について検査するために使用され
る。すでにコントローラにパケットを送っているポータ
ブル装置にARPを送ることには意味がない。なぜなら
ばそれらからパケットを受け取ることはそれらがまだそ
こに存在すると判断されるからである。
【0049】ソフトウェアの実行はエントリに関するパ
ケット・バイト・カウンタを増分する。この情報は、ポ
ータブル装置の使用度を追跡するために使用される。ソ
フトウェアの実行は、テーブル・エントリへ送出元プロ
トコル・アドレスおよび物理アドレスをコピーして、A
RP応答パケットを構築する。送出元アドレスはコント
ローラ・アドレスであり、宛先アドレスはポータブル装
置おアドレス(プロトコルおよび物理アドレスの両方を
意味する)である。ここで、ポータブル装置からのAR
P要求が、応答としてポータブル装置へ戻され、プロシ
ージャはブロック529で戻る。
ケット・バイト・カウンタを増分する。この情報は、ポ
ータブル装置の使用度を追跡するために使用される。ソ
フトウェアの実行は、テーブル・エントリへ送出元プロ
トコル・アドレスおよび物理アドレスをコピーして、A
RP応答パケットを構築する。送出元アドレスはコント
ローラ・アドレスであり、宛先アドレスはポータブル装
置おアドレス(プロトコルおよび物理アドレスの両方を
意味する)である。ここで、ポータブル装置からのAR
P要求が、応答としてポータブル装置へ戻され、プロシ
ージャはブロック529で戻る。
【0050】ブロック531において、これは遠隔ネッ
トワークからのARP要求であり、ポータブル装置から
のものではない。従って、パケットの宛先プロトコル・
アドレスが遠隔ネットワーク・インタフェース・プロト
コル・アドレスと一致するか否か検査される。一致すれ
ば、ソフトウェアの実行はARP回答を構築する。ブロ
ック533において、ソフトウェアの実行はARP回答
を構築する。物理的MACアドレスおよびネットワーク
・レベルのプロトコル・アドレスを意味するこれら両方
のソース・アドレスはコントローラのアドレスである。
やはりプロトコルおよび物理アドレスである宛先アドレ
スは送信元のアドレスである。ブロック537におい
て、これは遠隔ネットワークからのARP要求であり、
遠隔ネットワーク・インタフェースのプロトコル・アド
レスのネットワーク・インタフェースと一致しない。従
って、ここで、ソフトウェアの実行は動作モードがロー
カル・コントローラのモードであるか否か判断する。そ
うであれば、ブロック539において、ソフトウェアの
実行は、このパケットの送信元ネットワーク・レベル・
プロトコル・アドレス・フィールドとテーブル・エント
リのポータブル装置プロトコル・アドレスの間の一致を
求めてマップ・アドレス・テーブルのレコードを探索す
る。
トワークからのARP要求であり、ポータブル装置から
のものではない。従って、パケットの宛先プロトコル・
アドレスが遠隔ネットワーク・インタフェース・プロト
コル・アドレスと一致するか否か検査される。一致すれ
ば、ソフトウェアの実行はARP回答を構築する。ブロ
ック533において、ソフトウェアの実行はARP回答
を構築する。物理的MACアドレスおよびネットワーク
・レベルのプロトコル・アドレスを意味するこれら両方
のソース・アドレスはコントローラのアドレスである。
やはりプロトコルおよび物理アドレスである宛先アドレ
スは送信元のアドレスである。ブロック537におい
て、これは遠隔ネットワークからのARP要求であり、
遠隔ネットワーク・インタフェースのプロトコル・アド
レスのネットワーク・インタフェースと一致しない。従
って、ここで、ソフトウェアの実行は動作モードがロー
カル・コントローラのモードであるか否か判断する。そ
うであれば、ブロック539において、ソフトウェアの
実行は、このパケットの送信元ネットワーク・レベル・
プロトコル・アドレス・フィールドとテーブル・エント
リのポータブル装置プロトコル・アドレスの間の一致を
求めてマップ・アドレス・テーブルのレコードを探索す
る。
【0051】汎用コンピュータがローカル・コントロー
ラの役目をしていない場合(ブロック537)、ブロック
541において、ソフトウェアの実行は、このパケット
の宛先プロトコル・アドレスとポータブル装置プロトコ
ル・アドレスの間の一致を求めてポータブル装置テーブ
ルを探索する。ブロック543において、ソフトウェア
の実行は、一致が検出されたか否かを検査する。一致が
検出されれば、ソフトウェアは、ブロック545で、ソ
ース・アドレスとしてポータブル装置のプロトコルおよ
び物理アドレスを、宛先アドレスとして送信元のプロト
コルおよび物理アドレスを与えるARP回答を送信し
て、ブロック547で、ソフトウェアの実行は戻る。ブ
ロック549で、ソフトウェアの実行は、一致を認識し
なかったので、戻る。ソフトウェアの実行が探索におい
て一致を検出した場合、ブロック553において、'ye
s'というラベルが付けられる。次に、ブロック553に
おいて、ソフトウェアの実行はテーブル・エントリを無
効にして、「遠隔/ローカル・コントローラ接続メッセ
ージ」を遠隔コントローラへ送り、ブロック555にお
いてソフトウェアの実行は戻る。ソフトウェアの実行が
一致を検出しなかった場合、ブロック557において、
ソフトウェアの実行は、このパケットの宛先プロトコル
・アドレス・フィールドとテーブル・エントリのポータ
ブル装置プロトコル・アドレスの間での一致を求めてマ
ップ化アドレス・テーブルを探索する。
ラの役目をしていない場合(ブロック537)、ブロック
541において、ソフトウェアの実行は、このパケット
の宛先プロトコル・アドレスとポータブル装置プロトコ
ル・アドレスの間の一致を求めてポータブル装置テーブ
ルを探索する。ブロック543において、ソフトウェア
の実行は、一致が検出されたか否かを検査する。一致が
検出されれば、ソフトウェアは、ブロック545で、ソ
ース・アドレスとしてポータブル装置のプロトコルおよ
び物理アドレスを、宛先アドレスとして送信元のプロト
コルおよび物理アドレスを与えるARP回答を送信し
て、ブロック547で、ソフトウェアの実行は戻る。ブ
ロック549で、ソフトウェアの実行は、一致を認識し
なかったので、戻る。ソフトウェアの実行が探索におい
て一致を検出した場合、ブロック553において、'ye
s'というラベルが付けられる。次に、ブロック553に
おいて、ソフトウェアの実行はテーブル・エントリを無
効にして、「遠隔/ローカル・コントローラ接続メッセ
ージ」を遠隔コントローラへ送り、ブロック555にお
いてソフトウェアの実行は戻る。ソフトウェアの実行が
一致を検出しなかった場合、ブロック557において、
ソフトウェアの実行は、このパケットの宛先プロトコル
・アドレス・フィールドとテーブル・エントリのポータ
ブル装置プロトコル・アドレスの間での一致を求めてマ
ップ化アドレス・テーブルを探索する。
【0052】ブロック559においてソフトウェアの実
行は一致が検出されたか否か検査する。検出された場
合、ソフトウェアの実行は、ポータブル装置の物理アド
レスおよびプロトコル・アドレス・フィールドを与える
ARP回答を構築する。宛先アドレス・フィールドは送
信元の物理アドレスおよびプロトコル・アドレス・フィ
ールドである。ソフトウェアの実行はブロック561で
パケットを送り返し、ブロック563で戻る。ブロック
559で一致が検出されなかった場合、ソフトウェアの
実行はブロック565で戻る。
行は一致が検出されたか否か検査する。検出された場
合、ソフトウェアの実行は、ポータブル装置の物理アド
レスおよびプロトコル・アドレス・フィールドを与える
ARP回答を構築する。宛先アドレス・フィールドは送
信元の物理アドレスおよびプロトコル・アドレス・フィ
ールドである。ソフトウェアの実行はブロック561で
パケットを送り返し、ブロック563で戻る。ブロック
559で一致が検出されなかった場合、ソフトウェアの
実行はブロック565で戻る。
【0053】ブロック567において、ソフトウェアの
実行はパケットが遠隔ネットワーク・インタフェースか
ら到着したか(換言すれば遠隔ネットワークから到着し
たか)否かを検査する。遠隔ネットワークから到来して
いない場合、ブロック569において、ソフトウェアの
実行は、回答がデフォルトのゲートウェイからのもので
あるか否か検査する。そうであれば、ブロック571に
おいて、ソフトウェアの実行は、ARPキャッシュにデ
フォルト・ゲートウェイに関するエントリがあることを
確認する。言い換えると、まさにコントローラがデフォ
ルト・ゲートウェイからパケットを取得したので、その
プロトコル・アドレスは知られている。その物理アドレ
スは知られているので、ソフトウェアの実行は、そこに
なければそれをARPキャッシュに入れる。次にプロセ
スはブロック573へ進み、このプロトコル・アドレス
に一致するARPキャッシュのエントリが存在するか否
か検査される。
実行はパケットが遠隔ネットワーク・インタフェースか
ら到着したか(換言すれば遠隔ネットワークから到着し
たか)否かを検査する。遠隔ネットワークから到来して
いない場合、ブロック569において、ソフトウェアの
実行は、回答がデフォルトのゲートウェイからのもので
あるか否か検査する。そうであれば、ブロック571に
おいて、ソフトウェアの実行は、ARPキャッシュにデ
フォルト・ゲートウェイに関するエントリがあることを
確認する。言い換えると、まさにコントローラがデフォ
ルト・ゲートウェイからパケットを取得したので、その
プロトコル・アドレスは知られている。その物理アドレ
スは知られているので、ソフトウェアの実行は、そこに
なければそれをARPキャッシュに入れる。次にプロセ
スはブロック573へ進み、このプロトコル・アドレス
に一致するARPキャッシュのエントリが存在するか否
か検査される。
【0054】存在する場合、ブロック575において、
ソフトウェアの実行は、エントリの使用中インジケータ
をセットし、送信元の物理アドレスをエントリに記憶
し、エントリのその他のフラグ・ビットを消去し、time
-of-last-useフィールドに現在時刻(すなわちtimeNow)
を保存する。time-of-last-useフィールドは、ポータブ
ル装置がコントローラから切り離される時、それらのテ
ーブル・エントリ資源がコントローラから自動的に消去
されることを保証するために使用される。ブロック57
7においてソフトウェアの実行は戻る。ブロック579
において検査の結果が否定であれば、ソフトウェアの実
行はブロック573からブロック581へ進み、このパ
ケットに対する一致を求めて物理アドレスによるポータ
ブル装置テーブルの探索が行われる。
ソフトウェアの実行は、エントリの使用中インジケータ
をセットし、送信元の物理アドレスをエントリに記憶
し、エントリのその他のフラグ・ビットを消去し、time
-of-last-useフィールドに現在時刻(すなわちtimeNow)
を保存する。time-of-last-useフィールドは、ポータブ
ル装置がコントローラから切り離される時、それらのテ
ーブル・エントリ資源がコントローラから自動的に消去
されることを保証するために使用される。ブロック57
7においてソフトウェアの実行は戻る。ブロック579
において検査の結果が否定であれば、ソフトウェアの実
行はブロック573からブロック581へ進み、このパ
ケットに対する一致を求めて物理アドレスによるポータ
ブル装置テーブルの探索が行われる。
【0055】ブロック583において、ソフトウェアの
実行は、このARPに対する一致が検出されたか否か調
べる。一致がなければARPは無視される。ソフトウェ
アの実行が一致を検出すれば、ポータブル装置のプロト
コル・アドレスが設定され、エントリのtime-of-last-u
seフィールドが更新される。これはブロック587にお
いて実行され、ソフトウェアの実行はブロック589に
おいて戻る。
実行は、このARPに対する一致が検出されたか否か調
べる。一致がなければARPは無視される。ソフトウェ
アの実行が一致を検出すれば、ポータブル装置のプロト
コル・アドレスが設定され、エントリのtime-of-last-u
seフィールドが更新される。これはブロック587にお
いて実行され、ソフトウェアの実行はブロック589に
おいて戻る。
【0056】詳細は後述するが、本発明は、新機軸のコ
トローラ間プロトコルを含む。このプロトコルは、遠隔
コントローラとローカル・コントローラの間のデータ通
信を設定する効率的な方法を提供し、また運用のための
効率的保守管理統計を提供する。遠隔コントローラは、
遠隔/ローカル・コントローラ接続を設定する時、ロー
カル・コントローラがテーブル空間を予約して、ローカ
ル・ネットワーク上のポータブル装置のユーザ・サーバ
およびその他のローカル装置から戻る応答を認識するこ
とができるようにするため、ローカル・コントローラと
通信する必要がある。 動作上は、それらのローカル装
置はそれらの応答パケットをポータブル装置のプロトコ
ル・アドレスに戻すようにアドレスを指定する。それら
のパケットがアドレス指定される場所はローカル・コン
トローラである。それは、通常のルータによってそのポ
イントに戻される。従って、ローカル・コントローラは
それらを取り上げ、ポータブル装置がどこにあろうと、
それらを移動装置に接続しなければならない。それらの
パケットを認識し無視すべき膨大な数の他のパケットと
区別することを可能にするテーブル・エントリをローカ
ル・エントリは持たなければならない。
トローラ間プロトコルを含む。このプロトコルは、遠隔
コントローラとローカル・コントローラの間のデータ通
信を設定する効率的な方法を提供し、また運用のための
効率的保守管理統計を提供する。遠隔コントローラは、
遠隔/ローカル・コントローラ接続を設定する時、ロー
カル・コントローラがテーブル空間を予約して、ローカ
ル・ネットワーク上のポータブル装置のユーザ・サーバ
およびその他のローカル装置から戻る応答を認識するこ
とができるようにするため、ローカル・コントローラと
通信する必要がある。 動作上は、それらのローカル装
置はそれらの応答パケットをポータブル装置のプロトコ
ル・アドレスに戻すようにアドレスを指定する。それら
のパケットがアドレス指定される場所はローカル・コン
トローラである。それは、通常のルータによってそのポ
イントに戻される。従って、ローカル・コントローラは
それらを取り上げ、ポータブル装置がどこにあろうと、
それらを移動装置に接続しなければならない。それらの
パケットを認識し無視すべき膨大な数の他のパケットと
区別することを可能にするテーブル・エントリをローカ
ル・エントリは持たなければならない。
【0057】コントローラ間プロトコールのその他の部
分は、例えば、動作に関する統計を収集することによっ
て管理のために使用される。コントローラが応答してい
るか否か、あるいは、それが何かを実行しているか否か
を知る必要があれば、それら情報は役に立つ。適切な動
作では、コントローラはそれらの統計量の少くともいく
つかを増分しなければならない。その他の統計のいくつ
かは、ジャバーの数、破棄パケットの数などのように、
デバッグに使用することができるものである。従って、
ある種の動作上の問題があれば、統計は、例えばパケッ
ト破棄のような問題の原因に関する情報を提供する。こ
のような機能を提供しない、従ってこのような統計値の
増分を行わない実施形態も可能である。
分は、例えば、動作に関する統計を収集することによっ
て管理のために使用される。コントローラが応答してい
るか否か、あるいは、それが何かを実行しているか否か
を知る必要があれば、それら情報は役に立つ。適切な動
作では、コントローラはそれらの統計量の少くともいく
つかを増分しなければならない。その他の統計のいくつ
かは、ジャバーの数、破棄パケットの数などのように、
デバッグに使用することができるものである。従って、
ある種の動作上の問題があれば、統計は、例えばパケッ
ト破棄のような問題の原因に関する情報を提供する。こ
のような機能を提供しない、従ってこのような統計値の
増分を行わない実施形態も可能である。
【0058】IPパケットである任意のパケットを取り
扱うhandleIPProtocolPacketプロシジャが図16のブロ
ック601から始まる。ブロック603において、遠隔
ネットワーク・プロトコル・アドレスが既知であるか否
か調べられる。既知でなければ、これがBOOTP回答であ
るかどうかを調べるためBOOTP受け取りの呼び出しを行
う。遠隔ネットワーク・プロトコル・アドレスが既知で
ある場合、サイト・プロトコル・アドレスが既知である
か調べられる。既知でなければ、パケットに対して何も
行わずにソフトウェアの実行は戻る。既知であれば、ソ
フトウェアの実行は、デフォルト・ゲートウェイおよび
サブネット・マスクを確認できるか判断する。これら
は、bootp回答におけるオプション・フィールドである
(ブロック611)。判断が否定であれば、ソフトウェア
の実行はブロック615で戻る。判断が肯定であれば、
ブロック613においてBOOTP状態がReady(準備状態)に
設定され、ソフトウェアの実行は、デフォルト・ゲート
ウェイを決定するためARPメッセージを送信する。ブ
ロック617においてネットワーク・プロトコル・アド
レスが決定され、そこで、ソフトウェアの実行はこれが
プロトコル・バージョン4パケットであるか否か検査す
る。そうであれば、ブロック621において、ソフトウ
ェアの実行は、プロトコル・ヘッダ長、ソースおよび宛
先アドレスを決定する。
扱うhandleIPProtocolPacketプロシジャが図16のブロ
ック601から始まる。ブロック603において、遠隔
ネットワーク・プロトコル・アドレスが既知であるか否
か調べられる。既知でなければ、これがBOOTP回答であ
るかどうかを調べるためBOOTP受け取りの呼び出しを行
う。遠隔ネットワーク・プロトコル・アドレスが既知で
ある場合、サイト・プロトコル・アドレスが既知である
か調べられる。既知でなければ、パケットに対して何も
行わずにソフトウェアの実行は戻る。既知であれば、ソ
フトウェアの実行は、デフォルト・ゲートウェイおよび
サブネット・マスクを確認できるか判断する。これら
は、bootp回答におけるオプション・フィールドである
(ブロック611)。判断が否定であれば、ソフトウェア
の実行はブロック615で戻る。判断が肯定であれば、
ブロック613においてBOOTP状態がReady(準備状態)に
設定され、ソフトウェアの実行は、デフォルト・ゲート
ウェイを決定するためARPメッセージを送信する。ブ
ロック617においてネットワーク・プロトコル・アド
レスが決定され、そこで、ソフトウェアの実行はこれが
プロトコル・バージョン4パケットであるか否か検査す
る。そうであれば、ブロック621において、ソフトウ
ェアの実行は、プロトコル・ヘッダ長、ソースおよび宛
先アドレスを決定する。
【0059】ブロック623において、ソフトウェアの
実行は、これがコントローラ間プロトコル・メッセージ
であるか調べる。そうであれば、ソフトウェアの実行は
ブロック625に進み、プロシージャhandleController
Packetを呼び出し、ブロック627に戻り、handleCont
rollerPacketから戻る。コントローラ間プロトコル・メ
ッセージでない場合、ソフトウェアの実行は、ブロック
629において、このパケットがポータブル装置インタ
フェースのうちの1つからのものであるか否か検査す
る。そうでなければ、ブロック631において、ソフト
ウェアの実行はこれがICMP"Ping"要求であるか否か検査
する。そうであれば、ソフトウェアの実行は、ブロック
633において、ping要求を構築の上送信して、ブロッ
ク635において戻る。 それがping要求でなければ、
ブロック637において、ソフトウェアの実行は動作モ
ードが遠隔コントローラであるか調べる。そうならば、
ブロック639において、ソフトウェアの実行は、これ
が遠隔/ローカル・コントローラのカプセル化パケット
であるか否か調べる。言い換えると、プロトコル番号が
4であるか否かを調べる。結果が否定であれば、ブロッ
ク641において、ソフトウェアの実行は、このプロト
コル・アドレスを持つポータブル装置を求めてポータブ
ル装置テーブルを探索する。ブロック643において、
ソフトウェアの実行はそのような装置が検出されたか否
か検査する。もしもなければ、ブロック645におい
て、ソフトウェアの実行は戻る。検出されたならば、ブ
ロック647において、ソフトウェアの実行は、パケッ
ト宛先アドレス・フィールドにポータブル装置の物理ア
ドレスをコピーし、ネットワーク・インタフェースの物
理アドレスをソース物理アドレスにコピーし、ポータブ
ル装置テーブル・エントリのtime-of-last-useフィール
ドを更新して、パケッットをポータブル装置へ送出す
る。ソフトウェアの実行はブロック649で戻る。
実行は、これがコントローラ間プロトコル・メッセージ
であるか調べる。そうであれば、ソフトウェアの実行は
ブロック625に進み、プロシージャhandleController
Packetを呼び出し、ブロック627に戻り、handleCont
rollerPacketから戻る。コントローラ間プロトコル・メ
ッセージでない場合、ソフトウェアの実行は、ブロック
629において、このパケットがポータブル装置インタ
フェースのうちの1つからのものであるか否か検査す
る。そうでなければ、ブロック631において、ソフト
ウェアの実行はこれがICMP"Ping"要求であるか否か検査
する。そうであれば、ソフトウェアの実行は、ブロック
633において、ping要求を構築の上送信して、ブロッ
ク635において戻る。 それがping要求でなければ、
ブロック637において、ソフトウェアの実行は動作モ
ードが遠隔コントローラであるか調べる。そうならば、
ブロック639において、ソフトウェアの実行は、これ
が遠隔/ローカル・コントローラのカプセル化パケット
であるか否か調べる。言い換えると、プロトコル番号が
4であるか否かを調べる。結果が否定であれば、ブロッ
ク641において、ソフトウェアの実行は、このプロト
コル・アドレスを持つポータブル装置を求めてポータブ
ル装置テーブルを探索する。ブロック643において、
ソフトウェアの実行はそのような装置が検出されたか否
か検査する。もしもなければ、ブロック645におい
て、ソフトウェアの実行は戻る。検出されたならば、ブ
ロック647において、ソフトウェアの実行は、パケッ
ト宛先アドレス・フィールドにポータブル装置の物理ア
ドレスをコピーし、ネットワーク・インタフェースの物
理アドレスをソース物理アドレスにコピーし、ポータブ
ル装置テーブル・エントリのtime-of-last-useフィール
ドを更新して、パケッットをポータブル装置へ送出す
る。ソフトウェアの実行はブロック649で戻る。
【0060】ブロック651において、ソフトウェアの
実行は、このプロトコル・アドレスを持つポータブル装
置を求めてポータブル装置テーブルを探索する。ブロッ
ク653において、ソフトウェアの実行は、検出された
か否か調べる。検出されなかったならば、ソフトウェア
の実行はブロック655で戻る。検出されたなら、ソフ
トウェアの実行はブロック657へ進む。そこで、ソフ
トウェアの実行は、パケットの宛先物理アドレスにポー
タブル装置の物理アドレスをコピーし、ソース・アドレ
スに使用されるネットワーク・インタフェースの物理ア
ドレスをコピーする。ソフトウェアの実行は、パケット
のカプセル化を解き、オリジナルのパケット・ヘッダお
よびデータを遠隔/ローカル・コントローラ・ヘッダ部
分にコピーして、パケットをポータブル装置に送る。ブ
ロック657において、ソフトウェアの実行は、パケッ
トのカプセル化を解き、パケットを復元する。これは、
オリジナルのパケット・ヘッダおよびデータを遠隔/ロ
ーカル・コントローラ・カプセル化ヘッダ部にコピーし
て、次にポータブル装置にパケットを送ることを意味す
る。ブロック659において、ソフトウェアの実行は、
プロシジャhandleControllerPacketから戻る。
実行は、このプロトコル・アドレスを持つポータブル装
置を求めてポータブル装置テーブルを探索する。ブロッ
ク653において、ソフトウェアの実行は、検出された
か否か調べる。検出されなかったならば、ソフトウェア
の実行はブロック655で戻る。検出されたなら、ソフ
トウェアの実行はブロック657へ進む。そこで、ソフ
トウェアの実行は、パケットの宛先物理アドレスにポー
タブル装置の物理アドレスをコピーし、ソース・アドレ
スに使用されるネットワーク・インタフェースの物理ア
ドレスをコピーする。ソフトウェアの実行は、パケット
のカプセル化を解き、オリジナルのパケット・ヘッダお
よびデータを遠隔/ローカル・コントローラ・ヘッダ部
分にコピーして、パケットをポータブル装置に送る。ブ
ロック657において、ソフトウェアの実行は、パケッ
トのカプセル化を解き、パケットを復元する。これは、
オリジナルのパケット・ヘッダおよびデータを遠隔/ロ
ーカル・コントローラ・カプセル化ヘッダ部にコピーし
て、次にポータブル装置にパケットを送ることを意味す
る。ブロック659において、ソフトウェアの実行は、
プロシジャhandleControllerPacketから戻る。
【0061】ブロック629から進んだブロック661
において、ソフトウェアの実行は、パケットがポータブ
ル装置インタフェースのうちの1つからのものであるか
否か判断する。ブロック661において、ソフトウェア
の実行は、パケットのソース・アドレスに基づいた一致
を求めてポータブル装置テーブルを探索する。ブロック
633において、ソフトウェアの実行はエントリが検出
されたか否か調べる。エントリが検出されなければ、ブ
ロック665において、ソフトウェアの実行はテーブル
に新しいエントリを作成する。ソフトウェアの実行は、
パケットからテーブルへ物理アドレスおよびプロトコル
・アドレスをコピーして、time-of-first-useフィール
ドを更新する。コードの一部は、ディスクを持つコント
ローラ構成のため条件付きでコンパイルされる。ブロッ
ク667において、ソフトウェアの実行は、動作モード
が遠隔コントローラであるか否か検査する。ブロック6
69において、ソフトウェアの実行は、ローカル・コン
トローラ・テーブルを走査する。一致が検出されれば、
ソフトウェアの実行は、ローカル・コントローラのプロ
トコル・アドレスを記憶し、ポータブル装置テーブルの
エントリにおける「ローカル・コントローラ既知」ビッ
トをセットする。
において、ソフトウェアの実行は、パケットがポータブ
ル装置インタフェースのうちの1つからのものであるか
否か判断する。ブロック661において、ソフトウェア
の実行は、パケットのソース・アドレスに基づいた一致
を求めてポータブル装置テーブルを探索する。ブロック
633において、ソフトウェアの実行はエントリが検出
されたか否か調べる。エントリが検出されなければ、ブ
ロック665において、ソフトウェアの実行はテーブル
に新しいエントリを作成する。ソフトウェアの実行は、
パケットからテーブルへ物理アドレスおよびプロトコル
・アドレスをコピーして、time-of-first-useフィール
ドを更新する。コードの一部は、ディスクを持つコント
ローラ構成のため条件付きでコンパイルされる。ブロッ
ク667において、ソフトウェアの実行は、動作モード
が遠隔コントローラであるか否か検査する。ブロック6
69において、ソフトウェアの実行は、ローカル・コン
トローラ・テーブルを走査する。一致が検出されれば、
ソフトウェアの実行は、ローカル・コントローラのプロ
トコル・アドレスを記憶し、ポータブル装置テーブルの
エントリにおける「ローカル・コントローラ既知」ビッ
トをセットする。
【0062】ソフトウェアの実行は、ブロック671へ
進み、time-of-last-useフィールドを更新する。「ロー
カル・コントローラ既知」ビットがオフであれば、ソフ
トウェアの実行は、宛先プロトコルを現在試行中ローカ
ル・コントローラ・アドレスへコピーする。ソフトウェ
アの実行は、送受信されたバイトおよびパケットの数に
関するカウンタを増分し、メッセージをポータブル装置
へ送り戻すためどのインタフェースが使用されるかを記
録するため、このパケットが送られた元のインタフェー
スのインタフェース番号をポータブル装置テーブルに記
憶する。遠隔コントローラは、ファンアウトのためいく
つかのネットワーク・インターフェース・カードを持つ
ことも可能である。
進み、time-of-last-useフィールドを更新する。「ロー
カル・コントローラ既知」ビットがオフであれば、ソフ
トウェアの実行は、宛先プロトコルを現在試行中ローカ
ル・コントローラ・アドレスへコピーする。ソフトウェ
アの実行は、送受信されたバイトおよびパケットの数に
関するカウンタを増分し、メッセージをポータブル装置
へ送り戻すためどのインタフェースが使用されるかを記
録するため、このパケットが送られた元のインタフェー
スのインタフェース番号をポータブル装置テーブルに記
憶する。遠隔コントローラは、ファンアウトのためいく
つかのネットワーク・インターフェース・カードを持つ
ことも可能である。
【0063】ブロック673において、ソフトウェアの
実行は、宛先アドレスが遠隔ネットワークと同じサブネ
ット上にあるか否か検査する。ない場合、ブロック67
5において、ソフトウェアの実行は、これがこのポータ
ブル装置のためのローカル・コントローラであるか否か
判断する。そうでない場合、ソフトウェアの実行は、ブ
ロック677へ進んで、試行ローカル・コントローラ・
アドレスを使用する。ローカル・コントローラが他のい
かなる形態でも知られていないならば、ポータブル装置
はそのローカル・コントローラに飛ぶことができる。そ
れがこのコードが実行していることである。いずれにせ
よプロセスはブロック679へ進み、ソフトウェアの実
行は、このポータブル装置に関するマップ化されたアド
レスのエントリがあるか否か検査する。ない場合、ブロ
ック681において、ソフトウェアの実行は、ポータブ
ル装置のプロトコル・アドレスおよび遠隔コントローラ
・プロトコル・アドレスを記憶するため新しいエントリ
を作成する。
実行は、宛先アドレスが遠隔ネットワークと同じサブネ
ット上にあるか否か検査する。ない場合、ブロック67
5において、ソフトウェアの実行は、これがこのポータ
ブル装置のためのローカル・コントローラであるか否か
判断する。そうでない場合、ソフトウェアの実行は、ブ
ロック677へ進んで、試行ローカル・コントローラ・
アドレスを使用する。ローカル・コントローラが他のい
かなる形態でも知られていないならば、ポータブル装置
はそのローカル・コントローラに飛ぶことができる。そ
れがこのコードが実行していることである。いずれにせ
よプロセスはブロック679へ進み、ソフトウェアの実
行は、このポータブル装置に関するマップ化されたアド
レスのエントリがあるか否か検査する。ない場合、ブロ
ック681において、ソフトウェアの実行は、ポータブ
ル装置のプロトコル・アドレスおよび遠隔コントローラ
・プロトコル・アドレスを記憶するため新しいエントリ
を作成する。
【0064】次に、ブロック683において、ソフトウ
ェアの実行は、ポータブル装置テーブル・エントリにマ
ップ化アドレス・エントリのインデックスをコピーし、
ローカル・コントローラまたは試行ローカル・コントロ
ーラ・アドレスをマップ化アドレス・エントリにコピー
し、マップ化アドレス・フィールドにおけるtime-of-la
st-useフィールドを更新する。
ェアの実行は、ポータブル装置テーブル・エントリにマ
ップ化アドレス・エントリのインデックスをコピーし、
ローカル・コントローラまたは試行ローカル・コントロ
ーラ・アドレスをマップ化アドレス・エントリにコピー
し、マップ化アドレス・フィールドにおけるtime-of-la
st-useフィールドを更新する。
【0065】ブロック685において、ソフトウェアの
実行は、このポータブル装置に関するローカル・コント
ローラとして現在使用しているものからコントローラ‐
プロトコル要求への回答を受け取っているか否か判断す
る。受け取っている場合、ブロック687において、ソ
フトウェアの実行は、直前5秒間にこのローカル・コン
トローラからなにかを受け取ったか否か判断する。受け
取っていない場合、ソフトウェアの実行はブロック68
9へ進む。受け取っていれば、ブロック691へ進む。
ブロック689では、ソフトウェアの実行は、このポー
タブル装置に関するローカル・コントローラとして現在
使用されているプロトコル・アドレスに(プロシジャsen
dMapTableEntryRequestを使用して)コントローラ間プロ
トコル要求メッセージを送る。それがローカル・コント
ローラであれば、紛失または破壊されたとしてもこのポ
ータブル装置に関するマッピングは容易に復元できる。
プロセスはブロック691へ進み、ソフトウェアの実行
はこのポータブル装置に関するローカル・コントローラ
を決定する。この装置に関するローカル・コントローラ
でなければ、ソフトウェアの実行はブロック693で戻
る。この装置に関するローカル・コントローラであれ
ば、ブロック695において、ソフトウェアの実行は、
宛先プロトコル・アドレスをローカル・コントローラの
プロトコル・アドレスに設定する。
実行は、このポータブル装置に関するローカル・コント
ローラとして現在使用しているものからコントローラ‐
プロトコル要求への回答を受け取っているか否か判断す
る。受け取っている場合、ブロック687において、ソ
フトウェアの実行は、直前5秒間にこのローカル・コン
トローラからなにかを受け取ったか否か判断する。受け
取っていない場合、ソフトウェアの実行はブロック68
9へ進む。受け取っていれば、ブロック691へ進む。
ブロック689では、ソフトウェアの実行は、このポー
タブル装置に関するローカル・コントローラとして現在
使用されているプロトコル・アドレスに(プロシジャsen
dMapTableEntryRequestを使用して)コントローラ間プロ
トコル要求メッセージを送る。それがローカル・コント
ローラであれば、紛失または破壊されたとしてもこのポ
ータブル装置に関するマッピングは容易に復元できる。
プロセスはブロック691へ進み、ソフトウェアの実行
はこのポータブル装置に関するローカル・コントローラ
を決定する。この装置に関するローカル・コントローラ
でなければ、ソフトウェアの実行はブロック693で戻
る。この装置に関するローカル・コントローラであれ
ば、ブロック695において、ソフトウェアの実行は、
宛先プロトコル・アドレスをローカル・コントローラの
プロトコル・アドレスに設定する。
【0066】ブロック697において、ソフトウェアの
実行は、このプロトコル・アドレスが遠隔ネットワーク
と同じサブネットにあるか、すなわちゲートウェイが使
用されているか判断する。ブロック699において、ソ
フトウェアの実行は、デフォルト・ゲートウェイ・プロ
トコル・アドレスを照合アドレスとする。さもなけれ
ば、ブロック6101において、ソフトウェアの実行
は、宛先プロトコル・アドレスを照合アドレスとする。
プロセスは次にブロック6103へ進み、この照合アド
レスとの一致(すなわちこれら2つのアドレスのいずれ
かとの一致)を求めてARPキャッシュを探索する。検
出されない場合、ブロック6105において、ソフトウ
ェアの実行はデフォルト・ゲートウェイの物理アドレス
が既知であるか否か判断する。それが未知の場合、ブロ
ック6109において、ソフトウェアの実行は戻りパケ
ットを破棄する。デフォルト・ゲートウェイのマップ・
アドレスが既知であれば、ブロック6111において、
ソフトウェアの実行は、パケットをカプセル化してそれ
をデフォルト・ゲートウェイに送り、ブロック6113
で戻る。
実行は、このプロトコル・アドレスが遠隔ネットワーク
と同じサブネットにあるか、すなわちゲートウェイが使
用されているか判断する。ブロック699において、ソ
フトウェアの実行は、デフォルト・ゲートウェイ・プロ
トコル・アドレスを照合アドレスとする。さもなけれ
ば、ブロック6101において、ソフトウェアの実行
は、宛先プロトコル・アドレスを照合アドレスとする。
プロセスは次にブロック6103へ進み、この照合アド
レスとの一致(すなわちこれら2つのアドレスのいずれ
かとの一致)を求めてARPキャッシュを探索する。検
出されない場合、ブロック6105において、ソフトウ
ェアの実行はデフォルト・ゲートウェイの物理アドレス
が既知であるか否か判断する。それが未知の場合、ブロ
ック6109において、ソフトウェアの実行は戻りパケ
ットを破棄する。デフォルト・ゲートウェイのマップ・
アドレスが既知であれば、ブロック6111において、
ソフトウェアの実行は、パケットをカプセル化してそれ
をデフォルト・ゲートウェイに送り、ブロック6113
で戻る。
【0067】一方、ブロック6105においてソフトウ
ェアの実行がエントリを検出した場合、パケットはカプ
セル化される。ブロック6115において、宛先物理ア
ドレスがARPキャッシュ・エントリへ送られ、ソフト
ウェアの実行はブロック6117で戻る。簡略化のた
め、流れ図においては、ブロック6115および611
7の両方におけるパケットのカプセル化はその送信を含
む。ブロック673において、ソフトウェアの実行は、
宛先アドレスが遠隔ネットワークと同じサブネット上に
あるか否か判断したが、ある場合、ソフトウェアの実行
は、ブロック6119へ進み、この宛先に対するARP
キャッシュ・エントリが存在するか否かを判断する。存
在しない場合、ブロック6121において、ソフトウェ
アの実行は、デフォルト・ゲートウェイの物理アドレス
が既知か否か判断する。これは、前述の場合と同様に、
送出すべきマップ・アドレスが決定されているか、ある
いは、パケットがゲートウェイを経由して送信されてい
るか否かを判断する。ゲートウェイが使用されてない場
合、ブロック6123において、ソフトウェアの実行は
パケットを破棄して、戻る。少くともゲートウェイが既
知であれば、ブロック6125において、ソフトウェア
の実行は、パケットの宛先アドレスへデフォルト・ゲー
トウェイの物理アドレスをコピーし、パケットを送信し
て、ブロック6127において戻る。この宛先に対する
ARPキャッシュ・エントリが存在すれば、ブロック6
129において、ソフトウェアの実行は、パケットのア
ドレスにある宛先へARPテーブル・エントリの物理ア
ドレスをコピーして、パケットを送信して、ブロック6
131で戻る。
ェアの実行がエントリを検出した場合、パケットはカプ
セル化される。ブロック6115において、宛先物理ア
ドレスがARPキャッシュ・エントリへ送られ、ソフト
ウェアの実行はブロック6117で戻る。簡略化のた
め、流れ図においては、ブロック6115および611
7の両方におけるパケットのカプセル化はその送信を含
む。ブロック673において、ソフトウェアの実行は、
宛先アドレスが遠隔ネットワークと同じサブネット上に
あるか否か判断したが、ある場合、ソフトウェアの実行
は、ブロック6119へ進み、この宛先に対するARP
キャッシュ・エントリが存在するか否かを判断する。存
在しない場合、ブロック6121において、ソフトウェ
アの実行は、デフォルト・ゲートウェイの物理アドレス
が既知か否か判断する。これは、前述の場合と同様に、
送出すべきマップ・アドレスが決定されているか、ある
いは、パケットがゲートウェイを経由して送信されてい
るか否かを判断する。ゲートウェイが使用されてない場
合、ブロック6123において、ソフトウェアの実行は
パケットを破棄して、戻る。少くともゲートウェイが既
知であれば、ブロック6125において、ソフトウェア
の実行は、パケットの宛先アドレスへデフォルト・ゲー
トウェイの物理アドレスをコピーし、パケットを送信し
て、ブロック6127において戻る。この宛先に対する
ARPキャッシュ・エントリが存在すれば、ブロック6
129において、ソフトウェアの実行は、パケットのア
ドレスにある宛先へARPテーブル・エントリの物理ア
ドレスをコピーして、パケットを送信して、ブロック6
131で戻る。
【0068】ブロック637から進んだブロック613
3において、コントローラは遠隔コントローラではな
く、ローカル・コントローラの役を果たしている。ここ
で、このパケットが遠隔ネットワーク・インタフェース
にアドレスされているか否か、また、このパケットがカ
プセル化されているか否か適切な検証が行われる。否定
的回答であれば、ブロック6137において、ソフトウ
ェアの実行は、パケットの宛先プロトコル・アドレスに
対するエントリを求めてマップ化アドレス・テーブルを
探索する。ブロック6139において、ソフトウェアの
実行は検出したか否かを検査する。検出されなければ、
ブロック6141において、ソフトウェアの実行は戻
る。検出されれば、ブロック6133における検査の結
果が肯定であれば、このパケットは、遠隔ネットワーク
・インタフェースにアドレスされたパケットであり、カ
プセル化されたものと認められる。次に、ソフトウェア
の実行は、ブロック6135において、オリジナルのプ
ロトコル・ヘッダを取得し、宛先アドレスを取得し、パ
ケットが同じサブネットのため予定されているか否か検
査する。もしそうであれば、ソフトウェアの実行はこの
プロトコル・アドレスに関してARPキャッシュを検査
する。もしそうでなければ、それはエントリ・デフォル
ト・ゲートウェイに関してARPキャッシュを検査す
る。
3において、コントローラは遠隔コントローラではな
く、ローカル・コントローラの役を果たしている。ここ
で、このパケットが遠隔ネットワーク・インタフェース
にアドレスされているか否か、また、このパケットがカ
プセル化されているか否か適切な検証が行われる。否定
的回答であれば、ブロック6137において、ソフトウ
ェアの実行は、パケットの宛先プロトコル・アドレスに
対するエントリを求めてマップ化アドレス・テーブルを
探索する。ブロック6139において、ソフトウェアの
実行は検出したか否かを検査する。検出されなければ、
ブロック6141において、ソフトウェアの実行は戻
る。検出されれば、ブロック6133における検査の結
果が肯定であれば、このパケットは、遠隔ネットワーク
・インタフェースにアドレスされたパケットであり、カ
プセル化されたものと認められる。次に、ソフトウェア
の実行は、ブロック6135において、オリジナルのプ
ロトコル・ヘッダを取得し、宛先アドレスを取得し、パ
ケットが同じサブネットのため予定されているか否か検
査する。もしそうであれば、ソフトウェアの実行はこの
プロトコル・アドレスに関してARPキャッシュを検査
する。もしそうでなければ、それはエントリ・デフォル
ト・ゲートウェイに関してARPキャッシュを検査す
る。
【0069】ブロック6139においてエントリが検出
されれば、ブロック6143で、ソフトウェアの実行
は、テーブル・エントリのtime of-last-useフィールド
を更新する。ブロック6145において、ソフトウェア
の実行は、ポータブル装置プロトコル・アドレスがロー
カル・サブネット上のものか否か調べる。もしそうであ
れば、ブロック6147で、照合アドレスをポータブル
装置プロトコル・アドレスにセットする。もしそうでな
ければ、ブロック6149において、照合アドレスをポ
ータブル装置プロトコル・アドレスとする。
されれば、ブロック6143で、ソフトウェアの実行
は、テーブル・エントリのtime of-last-useフィールド
を更新する。ブロック6145において、ソフトウェア
の実行は、ポータブル装置プロトコル・アドレスがロー
カル・サブネット上のものか否か調べる。もしそうであ
れば、ブロック6147で、照合アドレスをポータブル
装置プロトコル・アドレスにセットする。もしそうでな
ければ、ブロック6149において、照合アドレスをポ
ータブル装置プロトコル・アドレスとする。
【0070】ブロック6151において、ソフトウェア
の実行は、照合アドレスとの一致を求めてARPキャッ
シュを探索する。ブロック6153で、ソフトウェアの
実行は一致が検出されたか否か調べる。検出されれば、
ブロック6155で、ソフトウェアの実行はエントリの
time-of-last-useフィールドを更新する。ブロック61
57で、ソフトウェアの実行は、キャッシュ・エントリ
によって定義された物理アドレスへパケットをカプセル
化しそれを送出する。ブロック6159でソフトウェア
の実行は戻る。ブロック6153でエントリを検出しな
い場合、ソフトウェアの実行はブロック6161へ進み
デフォルト・ゲートウェイの物理アドレスを決定する。
物理アドレスが決定されれば、ブロック6163へ進
む。決定されなければ、ソフトウェアの実行はブロック
6165へ進む。ブロック6163において、コントロ
ーラはデフォルト・ゲートウェイにおける物理アドレス
にパケットをカプセル化する。ブロック6165におい
て、ソフトウェアの実行は照合アドレスを決定するため
ARPメッセージを送る。ブロック6167でソフトウ
ェアの実行は戻る。
の実行は、照合アドレスとの一致を求めてARPキャッ
シュを探索する。ブロック6153で、ソフトウェアの
実行は一致が検出されたか否か調べる。検出されれば、
ブロック6155で、ソフトウェアの実行はエントリの
time-of-last-useフィールドを更新する。ブロック61
57で、ソフトウェアの実行は、キャッシュ・エントリ
によって定義された物理アドレスへパケットをカプセル
化しそれを送出する。ブロック6159でソフトウェア
の実行は戻る。ブロック6153でエントリを検出しな
い場合、ソフトウェアの実行はブロック6161へ進み
デフォルト・ゲートウェイの物理アドレスを決定する。
物理アドレスが決定されれば、ブロック6163へ進
む。決定されなければ、ソフトウェアの実行はブロック
6165へ進む。ブロック6163において、コントロ
ーラはデフォルト・ゲートウェイにおける物理アドレス
にパケットをカプセル化する。ブロック6165におい
て、ソフトウェアの実行は照合アドレスを決定するため
ARPメッセージを送る。ブロック6167でソフトウ
ェアの実行は戻る。
【0071】ブロック6135からブロック6169へ
進んで、ソフトウェアの実行は、この検索が何かを検出
したか調べる。検出されていなければ、ブロック617
1で、ソフトウェアの実行は、デフォルト・ゲートウェ
イの物理アドレスが既に確認されているか否か判断す
る。そうであればブロック6173へ進み、そうでなけ
ればブロック6175へ進む。ブロック6173で、ソ
フトウェアの実行は、ARPキャッシュ・エントリのti
me-of-last-useフィールドを更新し、パケットのカプセ
ル化を解き再生して、それをARPキャッシュ・エント
リによって定義された物理アドレスへ送出し、ブロック
6175へ進む。
進んで、ソフトウェアの実行は、この検索が何かを検出
したか調べる。検出されていなければ、ブロック617
1で、ソフトウェアの実行は、デフォルト・ゲートウェ
イの物理アドレスが既に確認されているか否か判断す
る。そうであればブロック6173へ進み、そうでなけ
ればブロック6175へ進む。ブロック6173で、ソ
フトウェアの実行は、ARPキャッシュ・エントリのti
me-of-last-useフィールドを更新し、パケットのカプセ
ル化を解き再生して、それをARPキャッシュ・エント
リによって定義された物理アドレスへ送出し、ブロック
6175へ進む。
【0072】ブロック6175において、ソフトウェア
の実行は照合アドレスに関するARPメッセージを送
る。ソフトウェアの実行はブロック6177で戻る。プ
ロセスは、ブロック6169からブロック6179へ進
み、ソフトウェアの実行がエントリを検出した場合、ソ
フトウェアの実行はARPキャッシュ・エントリのtime
-of-last-useフィールドを更新し、パケットのカプセル
化を解き再生して、それをARPキャッシュ・エントリ
によって定義された物理アドレスへ送出する。ブロック
6181でソフトウェアの実行は戻る。
の実行は照合アドレスに関するARPメッセージを送
る。ソフトウェアの実行はブロック6177で戻る。プ
ロセスは、ブロック6169からブロック6179へ進
み、ソフトウェアの実行がエントリを検出した場合、ソ
フトウェアの実行はARPキャッシュ・エントリのtime
-of-last-useフィールドを更新し、パケットのカプセル
化を解き再生して、それをARPキャッシュ・エントリ
によって定義された物理アドレスへ送出する。ブロック
6181でソフトウェアの実行は戻る。
【0073】図29のブロック701からプロシージha
ndleControllerProtocolが始まる。このプロシージャ
は、コントローラ間プロトコル・ポート番号に関するも
ので、このコントローラにアドレスされるメッセージに
対して呼び出される。ブロック701は、遠隔ネットワ
ーク・プロトコル・アドレスが既知か否か判断する。既
知でなければ、ブロックの703において、ソフトウェ
アの実行はパケットに対して何もせずにただ戻る。既知
であれば、ブロック705でメッセージ・プロトコル・
バージョン番号が2と等しいか否か判断される。等しく
なければ、ブロック707でソフトウェアの実行は戻
る。
ndleControllerProtocolが始まる。このプロシージャ
は、コントローラ間プロトコル・ポート番号に関するも
ので、このコントローラにアドレスされるメッセージに
対して呼び出される。ブロック701は、遠隔ネットワ
ーク・プロトコル・アドレスが既知か否か判断する。既
知でなければ、ブロックの703において、ソフトウェ
アの実行はパケットに対して何もせずにただ戻る。既知
であれば、ブロック705でメッセージ・プロトコル・
バージョン番号が2と等しいか否か判断される。等しく
なければ、ブロック707でソフトウェアの実行は戻
る。
【0074】続いて、ソフトウェアは、メッセージ・タ
イプに関して一連の検査を実行する。メッセージ・タイ
プが19であれば(ブロック709)、ソフトウェアの実
行は、ブロック711へ進み、宛先プロトコル・アドレ
スが遠隔ネットワーク・プロトコル・アドレスと等しい
か否か判断する。等しくなければ、ソフトウェアの実行
は、コントローラに関して意味がないのでそのメッセー
ジを無視して、戻る。
イプに関して一連の検査を実行する。メッセージ・タイ
プが19であれば(ブロック709)、ソフトウェアの実
行は、ブロック711へ進み、宛先プロトコル・アドレ
スが遠隔ネットワーク・プロトコル・アドレスと等しい
か否か判断する。等しくなければ、ソフトウェアの実行
は、コントローラに関して意味がないのでそのメッセー
ジを無視して、戻る。
【0075】当然のことながら、遠隔コントローラのネ
ットワーク・インタフェースは、混合モードに設定され
ている。同じネットワーク上でこのような装置がいくつ
かたまたま存在する場合には、それらは相互にコントロ
ーラ間プロトコル・メッセージを調べる。無意味なもの
は無視する必要がある。
ットワーク・インタフェースは、混合モードに設定され
ている。同じネットワーク上でこのような装置がいくつ
かたまたま存在する場合には、それらは相互にコントロ
ーラ間プロトコル・メッセージを調べる。無意味なもの
は無視する必要がある。
【0076】ブロック715において、メッセージがこ
のコントローラにアドレスされたことを意味している。
従って、ソフトウェアの実行は、マップ化アドレス・テ
ーブルがすでに存在するか検査して、ポータブル装置の
プロトコル・アドレスによる探索を行う。検出されなけ
れば、ソフトウェアの実行は、そのアドレスのために新
しいテーブル・エントリを作成し、ポータブル装置プロ
トコル・アドレス、遠隔コントローラおよびローカル・
コントローラ・アドレス、time-of-last-useフィールド
を記憶する。ソフトウェアの実行は、いずれにせよtime
-of-last-useフィールドをセットして、コントローラ間
プロトコール応答パケットを構築して、それを遠隔コン
トローラに送り戻す。ソフトウェアの実行は、ローカル
・サブネットにおける装置がそのキャッシュを更新する
機会を持つことができるように、求められていない(uns
olicited)ARP回答を構築し送出する。ブロック71
7においてソフトウェアの実行は戻る。
のコントローラにアドレスされたことを意味している。
従って、ソフトウェアの実行は、マップ化アドレス・テ
ーブルがすでに存在するか検査して、ポータブル装置の
プロトコル・アドレスによる探索を行う。検出されなけ
れば、ソフトウェアの実行は、そのアドレスのために新
しいテーブル・エントリを作成し、ポータブル装置プロ
トコル・アドレス、遠隔コントローラおよびローカル・
コントローラ・アドレス、time-of-last-useフィールド
を記憶する。ソフトウェアの実行は、いずれにせよtime
-of-last-useフィールドをセットして、コントローラ間
プロトコール応答パケットを構築して、それを遠隔コン
トローラに送り戻す。ソフトウェアの実行は、ローカル
・サブネットにおける装置がそのキャッシュを更新する
機会を持つことができるように、求められていない(uns
olicited)ARP回答を構築し送出する。ブロック71
7においてソフトウェアの実行は戻る。
【0077】ブロック719において、メッセージ・タ
イプが29の場合、ソフトウェアの実行はブロック72
1へ進み、メッセージがこのコントローラに送られたも
のか否か判断する。そうでなければブロック723で実
行は戻る。このコントローラのためのものであれば、ブ
ロック725において、ソフトウェアは、マップ化アド
レス・テーブルをポータブル装置アドレスで探索する。
ブロック727で検出されれば、ソフトウェアの実行
は、ブロック729へ進み、マップ化アドレス・テーブ
ルにおける「応答受け取り」ビットをセットして、ブロ
ック730で戻る。ブロック727の結果検出されなけ
れば、ブロック731で、ソフトウェアの実行は、この
コントローラに関するポータブル装置テーブル・エント
リが存在するか否か判断する。存在しなければ、ブロッ
ク733で実行は戻る。
イプが29の場合、ソフトウェアの実行はブロック72
1へ進み、メッセージがこのコントローラに送られたも
のか否か判断する。そうでなければブロック723で実
行は戻る。このコントローラのためのものであれば、ブ
ロック725において、ソフトウェアは、マップ化アド
レス・テーブルをポータブル装置アドレスで探索する。
ブロック727で検出されれば、ソフトウェアの実行
は、ブロック729へ進み、マップ化アドレス・テーブ
ルにおける「応答受け取り」ビットをセットして、ブロ
ック730で戻る。ブロック727の結果検出されなけ
れば、ブロック731で、ソフトウェアの実行は、この
コントローラに関するポータブル装置テーブル・エント
リが存在するか否か判断する。存在しなければ、ブロッ
ク733で実行は戻る。
【0078】存在すれば、ブロック735で、ソフトウ
ェアの実行は、ポータブル装置テーブル・エントリにお
ける「ローカル・コントローラ既知」ビットをセットす
る。応答がコントローラ間プロトコル・メッセージに対
して行われ、それはローカル・コントローラだけが実行
するものであるので、ローカル・コントローラが既知で
あることを意味する。従って、今や、試行アドレスは使
用されず、このアドレスが使用される。
ェアの実行は、ポータブル装置テーブル・エントリにお
ける「ローカル・コントローラ既知」ビットをセットす
る。応答がコントローラ間プロトコル・メッセージに対
して行われ、それはローカル・コントローラだけが実行
するものであるので、ローカル・コントローラが既知で
あることを意味する。従って、今や、試行アドレスは使
用されず、このアドレスが使用される。
【0079】ブロック737で、ソフトウェアの実行
は、このローカル・コントローラが既にローカル・コン
トローラのテーブルにあるか否か判断する。ないとすれ
ば、ブロック739で、ソフトウェアの実行は、テーブ
ルにコントローラを、そしてコントローラのファイルに
アドレスを追加する。このテーブルによって、所与のプ
ロトコル・アドレスに関して、ソフトウェアの実行は、
将来使用すべきローカル・コントローラを決定する。こ
れは、所与のポータブル装置に対してどのローカル・コ
ントローラを使用すべきかを照合する3つの方法の1つ
である。ブロック737およびブロック739からブロ
ック741へ進み、そこでソフトウェアの実行は戻る。
は、このローカル・コントローラが既にローカル・コン
トローラのテーブルにあるか否か判断する。ないとすれ
ば、ブロック739で、ソフトウェアの実行は、テーブ
ルにコントローラを、そしてコントローラのファイルに
アドレスを追加する。このテーブルによって、所与のプ
ロトコル・アドレスに関して、ソフトウェアの実行は、
将来使用すべきローカル・コントローラを決定する。こ
れは、所与のポータブル装置に対してどのローカル・コ
ントローラを使用すべきかを照合する3つの方法の1つ
である。ブロック737およびブロック739からブロ
ック741へ進み、そこでソフトウェアの実行は戻る。
【0080】ブロック791で、メッセージ・タイプが
29でない場合、ブロック751へ進み、メッセージ・
タイプが39であれば、ソフトウェアの実行はブロック
753へ進み、このポータブル装置に関するエントリが
マップ化アドレス・テーブルに存在するか否か判断され
る。存在しなければ、ソフトウェアの実行はブロック7
59でそれを無視する。存在すれば、ブロック755
で、ソフトウェアの実行は、マップ化アドレス・テーブ
ルの「使用中」ビットをクリアする。それによって、そ
れは他の用途に利用可能となり、また検索の候補とされ
ないこととなる。このように、メッセージ・タイプ39
はポータブル装置が切断される時送信されるメッセージ
である。これはエントリをクリアし、従って、遠隔コン
トローラが移動したこのポータブル装置に関するエント
リをクリアするようにローカル・コントローラに通知す
る。ソフトウェアの実行はブロック757で戻る。
29でない場合、ブロック751へ進み、メッセージ・
タイプが39であれば、ソフトウェアの実行はブロック
753へ進み、このポータブル装置に関するエントリが
マップ化アドレス・テーブルに存在するか否か判断され
る。存在しなければ、ソフトウェアの実行はブロック7
59でそれを無視する。存在すれば、ブロック755
で、ソフトウェアの実行は、マップ化アドレス・テーブ
ルの「使用中」ビットをクリアする。それによって、そ
れは他の用途に利用可能となり、また検索の候補とされ
ないこととなる。このように、メッセージ・タイプ39
はポータブル装置が切断される時送信されるメッセージ
である。これはエントリをクリアし、従って、遠隔コン
トローラが移動したこのポータブル装置に関するエント
リをクリアするようにローカル・コントローラに通知す
る。ソフトウェアの実行はブロック757で戻る。
【0081】次にブロック761でメッセージ・タイプ
が49であれば、ソフトウェアの実行はブロック763
へ進み、応答メッセージ・パケットを構築する。メッセ
ージの内容は以下に示されるようにメッセージ・タイプ
を除いて同じものである。動作モードが遠隔コントロー
ラ・モードであれば(ブロック765)、メッセージ・タ
イプはコントローラ間プロトコル応答とされる(ブロッ
ク767)。
が49であれば、ソフトウェアの実行はブロック763
へ進み、応答メッセージ・パケットを構築する。メッセ
ージの内容は以下に示されるようにメッセージ・タイプ
を除いて同じものである。動作モードが遠隔コントロー
ラ・モードであれば(ブロック765)、メッセージ・タ
イプはコントローラ間プロトコル応答とされる(ブロッ
ク767)。
【0082】ブロック769は、このポータブル装置に
関するエントリがポータブル装置テーブルにあるか判断
する。そうであれば、ブロック771において、ソフト
ウェアの実行は、エントリを作成し、送信元プロトコル
・アドレスをポータブル装置エントリにコピーし、ポー
タブル装置の物理アドレスをコピーして、time-of-firs
t-useフィールドをセットする。ブロック769の判断
が肯定である場合、およびブロック771の実行の後、
ブロック773へ進み、ソフトウェアの実行は、「ロー
カル・コントローラ既知」ビットをセットして、エント
リにローカル・コントローラ・プロトコル・アドレスを
コピーして、ポータブル装置のユーザ名をパケットから
エントリへコピーする。コントローラ間プロトコル・メ
ッセージの一部は、徘徊する人を見つけることを可能に
する後刻の拡張に備えて、ポータブル装置のユーザ名を
記述するフィールドを含む。ブロック775において、
ソフトウェアの実行は、パケットに関するUPチェックサ
ムを計算してパケットを送信する。ブロック777でソ
フトウェアの実行は戻る。
関するエントリがポータブル装置テーブルにあるか判断
する。そうであれば、ブロック771において、ソフト
ウェアの実行は、エントリを作成し、送信元プロトコル
・アドレスをポータブル装置エントリにコピーし、ポー
タブル装置の物理アドレスをコピーして、time-of-firs
t-useフィールドをセットする。ブロック769の判断
が肯定である場合、およびブロック771の実行の後、
ブロック773へ進み、ソフトウェアの実行は、「ロー
カル・コントローラ既知」ビットをセットして、エント
リにローカル・コントローラ・プロトコル・アドレスを
コピーして、ポータブル装置のユーザ名をパケットから
エントリへコピーする。コントローラ間プロトコル・メ
ッセージの一部は、徘徊する人を見つけることを可能に
する後刻の拡張に備えて、ポータブル装置のユーザ名を
記述するフィールドを含む。ブロック775において、
ソフトウェアの実行は、パケットに関するUPチェックサ
ムを計算してパケットを送信する。ブロック777でソ
フトウェアの実行は戻る。
【0083】ブロック781において、ソフトウェアの
実行は、メッセージ・タイプが69であるか否か判断す
る。ブロック783において、ソフトウェアの実行は、
パケットが遠隔ネットワークから受け取られたものか否
か検査する。そうであれば、ソフトウェアの実行は、パ
ケットがこのコントローラにアドレスされたものか否か
検査する。そうでなければ、ブロック787で、ソフト
ウェアの実行は戻り、そうである場合ブロック789へ
進む。また、ブロック783において、パケットが遠隔
ネットワークから受け取られたものでない場合、ソフト
ウェアの実行はブロック789へ進む。
実行は、メッセージ・タイプが69であるか否か判断す
る。ブロック783において、ソフトウェアの実行は、
パケットが遠隔ネットワークから受け取られたものか否
か検査する。そうであれば、ソフトウェアの実行は、パ
ケットがこのコントローラにアドレスされたものか否か
検査する。そうでなければ、ブロック787で、ソフト
ウェアの実行は戻り、そうである場合ブロック789へ
進む。また、ブロック783において、パケットが遠隔
ネットワークから受け取られたものでない場合、ソフト
ウェアの実行はブロック789へ進む。
【0084】パケットがこのコントローラにアドレスさ
れたものであれば、ソフトウェアの実行はブロック78
9へ進み、応答のためのエントリを構築する。それはUP
メッセージであり、UPデータはバイト0であり、(10
進の)69を含む。バイト1は2を含む。バイト2およ
び3は、メッセージにおけるポータブル装置エントリの
数を含む。これは、インテルのリトル・エンディアン(l
ittle-endian)形式であり、最初のバイトが最下位ビッ
トを持ち、第2のバイトが最上位ビットを持つことを意
味する。バイト4−7は送信時のタイムスタンプであ
り、これもインテルのリトル・エンディアン形式であ
る。バイト8以下は、エントリ数に対応して以下のパタ
ーンの繰り返しである。最初の使用の際のタイムスタン
プ、4バイト、リトル・エンディアン形式最後の使用の
際のタイムスタンプ、4バイト、リトル・エンディアン
形式パケットを最後に受け取ったタイムスタンプ、4バ
イト、リトル・エンディアン形式。物理アドレスは6バ
イトである。ユーザ名は、ヌルで終わる最高80バイト
のストリングである。マップ化テーブル・インデックス
は2バイトで、リトル・エンディアン形式。ポータブル
装置プロトコル・アドレスは、4バイトで、ネットワー
ク・バイト順、リトル・エンディアン形式。ポータブル
装置プロトコル試行アドレスは、4バイトで、ネットワ
ーク・バイト順。送受信パケット数は、4バイトで、リ
トル・エンディアン形式。インタフェース番号は、1バ
イトである。フラグ:0はエントリが使用中であること
を意味する。ビット1は、設定されていれば、ローカル
・コントローラが既知であることを意味する。ビット0
は、このバイトの最下位ビットを意味する。以上がメッ
セージの形式である。
れたものであれば、ソフトウェアの実行はブロック78
9へ進み、応答のためのエントリを構築する。それはUP
メッセージであり、UPデータはバイト0であり、(10
進の)69を含む。バイト1は2を含む。バイト2およ
び3は、メッセージにおけるポータブル装置エントリの
数を含む。これは、インテルのリトル・エンディアン(l
ittle-endian)形式であり、最初のバイトが最下位ビッ
トを持ち、第2のバイトが最上位ビットを持つことを意
味する。バイト4−7は送信時のタイムスタンプであ
り、これもインテルのリトル・エンディアン形式であ
る。バイト8以下は、エントリ数に対応して以下のパタ
ーンの繰り返しである。最初の使用の際のタイムスタン
プ、4バイト、リトル・エンディアン形式最後の使用の
際のタイムスタンプ、4バイト、リトル・エンディアン
形式パケットを最後に受け取ったタイムスタンプ、4バ
イト、リトル・エンディアン形式。物理アドレスは6バ
イトである。ユーザ名は、ヌルで終わる最高80バイト
のストリングである。マップ化テーブル・インデックス
は2バイトで、リトル・エンディアン形式。ポータブル
装置プロトコル・アドレスは、4バイトで、ネットワー
ク・バイト順、リトル・エンディアン形式。ポータブル
装置プロトコル試行アドレスは、4バイトで、ネットワ
ーク・バイト順。送受信パケット数は、4バイトで、リ
トル・エンディアン形式。インタフェース番号は、1バ
イトである。フラグ:0はエントリが使用中であること
を意味する。ビット1は、設定されていれば、ローカル
・コントローラが既知であることを意味する。ビット0
は、このバイトの最下位ビットを意味する。以上がメッ
セージの形式である。
【0085】ブロック791において、ソフトウェアの
実行は、更なるエントリがテーブルにあるか否か検査す
る。あれば、ソフトウェアの実行は、最初に戻り、別の
メッセージを送出する。なければ、ソフトウェアの実行
は戻る。
実行は、更なるエントリがテーブルにあるか否か検査す
る。あれば、ソフトウェアの実行は、最初に戻り、別の
メッセージを送出する。なければ、ソフトウェアの実行
は戻る。
【0086】ブロック795において、ソフトウェアの
実行はメッセージ・タイプを検査する。メッセージ・タ
イプ39、49および69はすでに検査された。ブロッ
ク795において、ソフトウェアの実行は、メッセージ
・タイプが79であるか否か検査する。79であれば、
ソフトウェアの実行はブロック797へ進み、パケット
がこのコントローラにアドレスされたものか否かを調べ
る。そうでない場合、ソフトウェアの実行はブロック7
99へ戻る。パケットがこのコントローラにアドレスさ
れたものであれば、ブロック7001で、ソフトウェア
の実行は以下のUDPメッセージを構築する。ポートは
32321;メッセージ・タイプは79;メッセージ・
バージョンは2。残りのUDPデータ領域は、コントロ
ーラが収集する種々の統計値を含むための、ヌルで終わ
るASCIIストリングである。メッセージ・タイプ7
9は、「私に統計セットを送ってください」というメッ
セージである。そのようなストリングを構築するため関
数Sprintf()が使用され、パケットが送り戻される。ブ
ロック7003で実行は戻る。
実行はメッセージ・タイプを検査する。メッセージ・タ
イプ39、49および69はすでに検査された。ブロッ
ク795において、ソフトウェアの実行は、メッセージ
・タイプが79であるか否か検査する。79であれば、
ソフトウェアの実行はブロック797へ進み、パケット
がこのコントローラにアドレスされたものか否かを調べ
る。そうでない場合、ソフトウェアの実行はブロック7
99へ戻る。パケットがこのコントローラにアドレスさ
れたものであれば、ブロック7001で、ソフトウェア
の実行は以下のUDPメッセージを構築する。ポートは
32321;メッセージ・タイプは79;メッセージ・
バージョンは2。残りのUDPデータ領域は、コントロ
ーラが収集する種々の統計値を含むための、ヌルで終わ
るASCIIストリングである。メッセージ・タイプ7
9は、「私に統計セットを送ってください」というメッ
セージである。そのようなストリングを構築するため関
数Sprintf()が使用され、パケットが送り戻される。ブ
ロック7003で実行は戻る。
【0087】メッセージ・タイプが、69、79などで
はなく、59であれば(ブロック7005)、ブロック7
007で実行は戻る。メッセージ・タイプが89であれ
ば(ブロック7009)、ブロック7011で実行は戻
る。その他の場合、ブロック7013でソフトウェアの
実行は戻る。
はなく、59であれば(ブロック7005)、ブロック7
007で実行は戻る。メッセージ・タイプが89であれ
ば(ブロック7009)、ブロック7011で実行は戻
る。その他の場合、ブロック7013でソフトウェアの
実行は戻る。
【0088】図37は、上記本発明の好ましい実施形態
のソフトウェアに関連して使用されるデータ構造の概要
を示している。
のソフトウェアに関連して使用されるデータ構造の概要
を示している。
【0089】以上、本発明の特定の実施形態を記述した
が、本発明は、記述した特定の形式または構成に限定さ
れるべきものではなく、本発明の理念を逸脱することな
く種々の修正および変更が可能である。
が、本発明は、記述した特定の形式または構成に限定さ
れるべきものではなく、本発明の理念を逸脱することな
く種々の修正および変更が可能である。
【0090】本発明には、例として次のような実施様態
が含まれる。 (1)ポータブル装置がローカル・ネットワークの第1
のタップ・ポイントにおいて該ローカル・ネットワーク
に接続されている時上記ローカル・ネットワークの第2
のタップ・ポイントに接続されたローカル装置と上記ポ
ータブル装置の間のデータ通信を行うことができるよう
に、上記ローカル・ネットワークの上記第1のタップ・
ポイントを識別するネットワーク・レベル・プロトコル
・アドレスで構成されたプロトコル・スタックを有する
ポータブル装置と、上記ポータブル装置が上記ローカル
・ネットワークから切り離されて遠隔ネットワークに接
続される時、上記ローカル・ネットワークの上記第1の
タップ・ポイントを識別するネットワーク・レベル・プ
ロトコル・アドレスで構成された上記ポータブル装置の
上記プロトコル・スタックを使用して、上記ポータブル
装置と上記ローカル装置の間のデータ通信を可能にする
ネットワーク機器と、を備える装置であって、上記ネッ
トワーク機器が、上記ポータブル装置を接続するための
第1のネットワーク・インタフェース・アダプタおよび
上記遠隔ネットワークを接続するための第2のネットワ
ーク・インタフェース・アダプタを有する遠隔コントロ
ーラと、上記遠隔ネットワークと接続し、上記ローカル
・ネットワーク上で上記ローカル装置の近傍に接続され
るローカル・コントローラと、を含むデータ通信装置。
が含まれる。 (1)ポータブル装置がローカル・ネットワークの第1
のタップ・ポイントにおいて該ローカル・ネットワーク
に接続されている時上記ローカル・ネットワークの第2
のタップ・ポイントに接続されたローカル装置と上記ポ
ータブル装置の間のデータ通信を行うことができるよう
に、上記ローカル・ネットワークの上記第1のタップ・
ポイントを識別するネットワーク・レベル・プロトコル
・アドレスで構成されたプロトコル・スタックを有する
ポータブル装置と、上記ポータブル装置が上記ローカル
・ネットワークから切り離されて遠隔ネットワークに接
続される時、上記ローカル・ネットワークの上記第1の
タップ・ポイントを識別するネットワーク・レベル・プ
ロトコル・アドレスで構成された上記ポータブル装置の
上記プロトコル・スタックを使用して、上記ポータブル
装置と上記ローカル装置の間のデータ通信を可能にする
ネットワーク機器と、を備える装置であって、上記ネッ
トワーク機器が、上記ポータブル装置を接続するための
第1のネットワーク・インタフェース・アダプタおよび
上記遠隔ネットワークを接続するための第2のネットワ
ーク・インタフェース・アダプタを有する遠隔コントロ
ーラと、上記遠隔ネットワークと接続し、上記ローカル
・ネットワーク上で上記ローカル装置の近傍に接続され
るローカル・コントローラと、を含むデータ通信装置。
【0091】(2)上記ポータブル装置が、上記ローカ
ル・ネットワークの上記第1のタップ・ポイントを識別
するネットワーク・レベル・プロトコル・アドレスを含
むソース・アドレス・ヘッダ、および、上記ローカル・
ネットワークの上記第2のタップ・ポイントに接続され
た上記ローカル装置を識別するネットワーク・レベル・
プロトコル・アドレスを含む宛先アドレス・ヘッダを有
する初期データ・パケットを生成する生成機構を含む、
上記(1)に記載のデータ通信装置。 (3)上記ポータブル装置が、該ポータブル装置から上
記遠隔コントローラへ上記初期データ・パケットを送信
する送信機構を含む、上記(2)に記載のデータ通信装
置。 (4)上記遠隔コントローラが、上記初期データ・パケ
ットに基づいて少なくとも1つの後続データ・パケット
を生成する生成機構を含み、上記後続データ・パケット
が、上記遠隔コントローラの位置を識別するネットワー
ク・レベル・プロトコル・アドレスを含むソース・アド
レス・ヘッダ、上記ローカル・コントローラの位置を識
別するネットワーク・レベル・プロトコル・アドレスを
含む宛先アドレス・ヘッダ、および、上記第1ならびに
第2のタップ・ポイントを識別するネットワーク・レベ
ル・プロトコル・アドレスをカプセル化する情報セグメ
ントを有する、上記(2)に記載のデータ通信装置。 (5)上記遠隔コントローラが、該遠隔コントローラか
ら上記ローカル・コントローラへ上記後続データ・パケ
ットを送信する送信機構を含む、上記(4)に記載のデ
ータ通信装置。 (6)上記ローカル・コントローラが、上記後続データ
・パケットに基づいて上記初期データ・パケットを再生
成する生成機構を含む、上記(2)に記載のデータ通信
装置。 (7)上記ローカル・コントローラが、該ローカル・コ
ントローラから上記ローカル装置へ上記再生成された初
期データ・パケットを送信する送信機構を含む、上記
(6)に記載のデータ通信装置。 (8)上記遠隔コントローラの上記生成機構が、上記パ
ケットのデータ・メッセージの長さをあらかじめ定めら
れた値と比較する比較機構、および、データ・メッセー
ジの長さがあらかじめ定められた値より小さい場合上記
初期データ・パケットに基づいて1つの後続データ・パ
ケットの生成を制御し、データ・メッセージの長さがあ
らかじめ定められた値より大きい場合上記初期データ・
パケットに基づいて2つの後続データ・パケットの生成
を制御するデータ・パケット・コントローラ、を含む上
記(4)に記載のデータ通信装置。
ル・ネットワークの上記第1のタップ・ポイントを識別
するネットワーク・レベル・プロトコル・アドレスを含
むソース・アドレス・ヘッダ、および、上記ローカル・
ネットワークの上記第2のタップ・ポイントに接続され
た上記ローカル装置を識別するネットワーク・レベル・
プロトコル・アドレスを含む宛先アドレス・ヘッダを有
する初期データ・パケットを生成する生成機構を含む、
上記(1)に記載のデータ通信装置。 (3)上記ポータブル装置が、該ポータブル装置から上
記遠隔コントローラへ上記初期データ・パケットを送信
する送信機構を含む、上記(2)に記載のデータ通信装
置。 (4)上記遠隔コントローラが、上記初期データ・パケ
ットに基づいて少なくとも1つの後続データ・パケット
を生成する生成機構を含み、上記後続データ・パケット
が、上記遠隔コントローラの位置を識別するネットワー
ク・レベル・プロトコル・アドレスを含むソース・アド
レス・ヘッダ、上記ローカル・コントローラの位置を識
別するネットワーク・レベル・プロトコル・アドレスを
含む宛先アドレス・ヘッダ、および、上記第1ならびに
第2のタップ・ポイントを識別するネットワーク・レベ
ル・プロトコル・アドレスをカプセル化する情報セグメ
ントを有する、上記(2)に記載のデータ通信装置。 (5)上記遠隔コントローラが、該遠隔コントローラか
ら上記ローカル・コントローラへ上記後続データ・パケ
ットを送信する送信機構を含む、上記(4)に記載のデ
ータ通信装置。 (6)上記ローカル・コントローラが、上記後続データ
・パケットに基づいて上記初期データ・パケットを再生
成する生成機構を含む、上記(2)に記載のデータ通信
装置。 (7)上記ローカル・コントローラが、該ローカル・コ
ントローラから上記ローカル装置へ上記再生成された初
期データ・パケットを送信する送信機構を含む、上記
(6)に記載のデータ通信装置。 (8)上記遠隔コントローラの上記生成機構が、上記パ
ケットのデータ・メッセージの長さをあらかじめ定めら
れた値と比較する比較機構、および、データ・メッセー
ジの長さがあらかじめ定められた値より小さい場合上記
初期データ・パケットに基づいて1つの後続データ・パ
ケットの生成を制御し、データ・メッセージの長さがあ
らかじめ定められた値より大きい場合上記初期データ・
パケットに基づいて2つの後続データ・パケットの生成
を制御するデータ・パケット・コントローラ、を含む上
記(4)に記載のデータ通信装置。
【0092】(9)ポータブル装置を使用して、ローカ
ル・ネットワークの第1のタップ・ポイントを識別する
ネットワーク・レベル・プロトコル・アドレスを含むソ
ース・アドレス・ヘッダ、および、上記ローカル・ネッ
トワークの第2のタップ・ポイントを識別するネットワ
ーク・レベル・プロトコル・アドレスを含む宛先アドレ
ス・ヘッダを有する初期データ・パケットを生成するス
テップと、上記ポータブル装置が上記第1のタップ・ポ
イントで上記ローカル・ネットワークに接続されている
時上記ローカル・ネットワークの上記第2のタップ・ポ
イントに接続されたローカル装置と上記ポータブル装置
の間のデータ通信を行うことができるように、上記ロー
カル・ネットワークの上記第1のタップ・ポイントを識
別するネットワーク・レベル・プロトコル・アドレスで
上記ポータブル装置のプロトコル・スタックを構成する
ステップと、上記ポータブル装置が上記ローカル・ネッ
トワークから切り離されて遠隔ネットワークに接続され
る時、上記ローカル・ネットワークの上記第1のタップ
・ポイントを識別するネットワーク・レベル・プロトコ
ル・アドレスで構成された上記ポータブル装置の上記プ
ロトコル・スタックを使用して上記ポータブル装置と上
記ローカル装置の間のデータ通信を行うようにネットワ
ーク機器を使用するステップと、を含む方法。
ル・ネットワークの第1のタップ・ポイントを識別する
ネットワーク・レベル・プロトコル・アドレスを含むソ
ース・アドレス・ヘッダ、および、上記ローカル・ネッ
トワークの第2のタップ・ポイントを識別するネットワ
ーク・レベル・プロトコル・アドレスを含む宛先アドレ
ス・ヘッダを有する初期データ・パケットを生成するス
テップと、上記ポータブル装置が上記第1のタップ・ポ
イントで上記ローカル・ネットワークに接続されている
時上記ローカル・ネットワークの上記第2のタップ・ポ
イントに接続されたローカル装置と上記ポータブル装置
の間のデータ通信を行うことができるように、上記ロー
カル・ネットワークの上記第1のタップ・ポイントを識
別するネットワーク・レベル・プロトコル・アドレスで
上記ポータブル装置のプロトコル・スタックを構成する
ステップと、上記ポータブル装置が上記ローカル・ネッ
トワークから切り離されて遠隔ネットワークに接続され
る時、上記ローカル・ネットワークの上記第1のタップ
・ポイントを識別するネットワーク・レベル・プロトコ
ル・アドレスで構成された上記ポータブル装置の上記プ
ロトコル・スタックを使用して上記ポータブル装置と上
記ローカル装置の間のデータ通信を行うようにネットワ
ーク機器を使用するステップと、を含む方法。
【0093】(10)上記ローカル・ネットワークに接
続したローカル・コントローラおよび上記遠隔コンピュ
ータ・ネットワークに接続した遠隔コントローラを用意
するステップと、上記ポータブル装置から上記遠隔コン
トローラへ上記初期データ・パケットを送信するステッ
プと、上記遠隔コントローラを使用して、上記後続デー
タ・パケットが、上記遠隔コントローラの位置を識別す
るネットワーク・レベル・プロトコル・アドレスを含む
ソース・アドレス・ヘッダ、上記ローカル・コントロー
ラの位置を識別するネットワーク・レベル・プロトコル
・アドレスを含む宛先アドレス・ヘッダ、および、上記
第1ならびに第2のタップ・ポイントを識別するネット
ワーク・レベル・プロトコル・アドレスをカプセル化す
る情報セグメントを有する上記初期データ・パケットに
基づいて少なくとも1つの後続データ・パケットを生成
するステップと、上記遠隔コントローラから上記ローカ
ル・コントローラへ上記後続データ・パケットを送信す
るステップと、上記ローカル・コントローラを使用して
上記後続データ・パケットに基づいて初期データ・パケ
ットを再生成するステップと、再生成した上記初期デー
タ・パケットを上記ローカル・コントローラから上記ロ
ーカル装置へ送信するステップと、を含む上記(9)に
記載の方法。
続したローカル・コントローラおよび上記遠隔コンピュ
ータ・ネットワークに接続した遠隔コントローラを用意
するステップと、上記ポータブル装置から上記遠隔コン
トローラへ上記初期データ・パケットを送信するステッ
プと、上記遠隔コントローラを使用して、上記後続デー
タ・パケットが、上記遠隔コントローラの位置を識別す
るネットワーク・レベル・プロトコル・アドレスを含む
ソース・アドレス・ヘッダ、上記ローカル・コントロー
ラの位置を識別するネットワーク・レベル・プロトコル
・アドレスを含む宛先アドレス・ヘッダ、および、上記
第1ならびに第2のタップ・ポイントを識別するネット
ワーク・レベル・プロトコル・アドレスをカプセル化す
る情報セグメントを有する上記初期データ・パケットに
基づいて少なくとも1つの後続データ・パケットを生成
するステップと、上記遠隔コントローラから上記ローカ
ル・コントローラへ上記後続データ・パケットを送信す
るステップと、上記ローカル・コントローラを使用して
上記後続データ・パケットに基づいて初期データ・パケ
ットを再生成するステップと、再生成した上記初期デー
タ・パケットを上記ローカル・コントローラから上記ロ
ーカル装置へ送信するステップと、を含む上記(9)に
記載の方法。
【0094】
【発明の効果】本発明の装置および方法によって、コン
ピュータ・ネットワーク上の諸装置間の便利で、安全
で、柔軟な高速通信行うことができるようなコンピュー
タ・ネットワーク構成およびアドレス・マッピングが可
能とされ、特に、ネットワーク構成パラメータを毎回変
更せずにラップトップPCのようなポータブル装置のネ
ットワーク接続位置を自由に変更することが可能とされ
る。
ピュータ・ネットワーク上の諸装置間の便利で、安全
で、柔軟な高速通信行うことができるようなコンピュー
タ・ネットワーク構成およびアドレス・マッピングが可
能とされ、特に、ネットワーク構成パラメータを毎回変
更せずにラップトップPCのようなポータブル装置のネ
ットワーク接続位置を自由に変更することが可能とされ
る。
【図1】本発明の好しい実施形態を示すブロック図であ
る。
る。
【図2】図1の本発明の好しい実施形態の動作を示すブ
ロック図である。
ロック図である。
【図3】本発明の好ましい実施形態に関連して使用され
るソフトウェアの流れ図の一部である。
るソフトウェアの流れ図の一部である。
【図4】本発明の好ましい実施形態に関連して使用され
るソフトウェアの流れ図の一部である。
るソフトウェアの流れ図の一部である。
【図5】本発明の好ましい実施形態に関連して使用され
るソフトウェアの流れ図の一部である。
るソフトウェアの流れ図の一部である。
【図6】本発明の好ましい実施形態に関連して使用され
るソフトウェアの流れ図の一部である。
るソフトウェアの流れ図の一部である。
【図7】本発明の好ましい実施形態に関連して使用され
るソフトウェアの流れ図の一部である。
るソフトウェアの流れ図の一部である。
【図8】本発明の好ましい実施形態に関連して使用され
るソフトウェアの流れ図の一部である。
るソフトウェアの流れ図の一部である。
【図9】本発明の好ましい実施形態に関連して使用され
るソフトウェアの流れ図の一部である。
るソフトウェアの流れ図の一部である。
【図10】本発明の好ましい実施形態に関連して使用さ
れるソフトウェアの流れ図の一部である。
れるソフトウェアの流れ図の一部である。
【図11】本発明の好ましい実施形態に関連して使用さ
れるソフトウェアの流れ図の一部である。
れるソフトウェアの流れ図の一部である。
【図12】本発明の好ましい実施形態に関連して使用さ
れるソフトウェアの流れ図の一部である。
れるソフトウェアの流れ図の一部である。
【図13】本発明の好ましい実施形態に関連して使用さ
れるソフトウェアの流れ図の一部である。
れるソフトウェアの流れ図の一部である。
【図14】本発明の好ましい実施形態に関連して使用さ
れるソフトウェアの流れ図の一部である。
れるソフトウェアの流れ図の一部である。
【図15】本発明の好ましい実施形態に関連して使用さ
れるソフトウェアの流れ図の一部である。
れるソフトウェアの流れ図の一部である。
【図16】本発明の好ましい実施形態に関連して使用さ
れるソフトウェアの流れ図の一部である。
れるソフトウェアの流れ図の一部である。
【図17】本発明の好ましい実施形態に関連して使用さ
れるソフトウェアの流れ図の一部である。
れるソフトウェアの流れ図の一部である。
【図18】本発明の好ましい実施形態に関連して使用さ
れるソフトウェアの流れ図の一部である。
れるソフトウェアの流れ図の一部である。
【図19】本発明の好ましい実施形態に関連して使用さ
れるソフトウェアの流れ図の一部である。
れるソフトウェアの流れ図の一部である。
【図20】本発明の好ましい実施形態に関連して使用さ
れるソフトウェアの流れ図の一部である。
れるソフトウェアの流れ図の一部である。
【図21】本発明の好ましい実施形態に関連して使用さ
れるソフトウェアの流れ図の一部である。
れるソフトウェアの流れ図の一部である。
【図22】本発明の好ましい実施形態に関連して使用さ
れるソフトウェアの流れ図の一部である。
れるソフトウェアの流れ図の一部である。
【図23】本発明の好ましい実施形態に関連して使用さ
れるソフトウェアの流れ図の一部である。
れるソフトウェアの流れ図の一部である。
【図24】本発明の好ましい実施形態に関連して使用さ
れるソフトウェアの流れ図の一部である。
れるソフトウェアの流れ図の一部である。
【図25】本発明の好ましい実施形態に関連して使用さ
れるソフトウェアの流れ図の一部である。
れるソフトウェアの流れ図の一部である。
【図26】本発明の好ましい実施形態に関連して使用さ
れるソフトウェアの流れ図の一部である。
れるソフトウェアの流れ図の一部である。
【図27】本発明の好ましい実施形態に関連して使用さ
れるソフトウェアの流れ図の一部である。
れるソフトウェアの流れ図の一部である。
【図28】本発明の好ましい実施形態に関連して使用さ
れるソフトウェアの流れ図の一部である。
れるソフトウェアの流れ図の一部である。
【図29】本発明の好ましい実施形態に関連して使用さ
れるソフトウェアの流れ図の一部である。
れるソフトウェアの流れ図の一部である。
【図30】本発明の好ましい実施形態に関連して使用さ
れるソフトウェアの流れ図の一部である。
れるソフトウェアの流れ図の一部である。
【図31】本発明の好ましい実施形態に関連して使用さ
れるソフトウェアの流れ図の一部である。
れるソフトウェアの流れ図の一部である。
【図32】本発明の好ましい実施形態に関連して使用さ
れるソフトウェアの流れ図の一部である。
れるソフトウェアの流れ図の一部である。
【図33】本発明の好ましい実施形態に関連して使用さ
れるソフトウェアの流れ図の一部である。
れるソフトウェアの流れ図の一部である。
【図34】本発明の好ましい実施形態に関連して使用さ
れるソフトウェアの流れ図の一部である。
れるソフトウェアの流れ図の一部である。
【図35】本発明の好ましい実施形態に関連して使用さ
れるソフトウェアの流れ図の一部である。
れるソフトウェアの流れ図の一部である。
【図36】本発明の好ましい実施形態に関連して使用さ
れるソフトウェアの流れ図の一部である。
れるソフトウェアの流れ図の一部である。
【図37】本発明の好しい実施形態のソフトウェアに関
連して使用されるデータ構造を示すブロック図である。
連して使用されるデータ構造を示すブロック図である。
101 ローカル・ネットワーク
103 ポータブル装置
104 プロトコル・スタック
105 ネットワーク・レベル・プロトコル・アドレス
107 第1のタップ・ポイント
109 ローカル装置
110 第2のタップ・ポイント
113 遠隔ネットワーク
115 遠隔コントローラ
117 ローカル・コントローラ
213 初期データ・パケット
231 後続データ・パケット
Claims (3)
- 【請求項1】ローカル・ネットワークに接続された遠隔
ネットワークと、 前記遠隔ネットワークに接続されたポータブル装置であ
って、前記ローカル・ネットワークの第1のポイントの
ソース・ヘッダを持ち、かつ前記ローカル・ネットワー
クの第2のポイントに接続されたローカル装置に宛てら
れる初期データ・パケットを生成するポータブル装置
と、 ローカルコントローラと、 前記ローカル・コントローラに宛てられ、かつ前記ロー
カル・ネットワークの前記第1および第2のポイントの
アドレスをカプセル化したデータ・メッセージを含む少
なくとも1つの後続データ・パケットを、前記初期デー
タ・パケットから生成する遠隔コントローラとを備えて
おり、該遠隔コントローラは、 前記データ・メッセージの長さを、予め決められた値と
比較する比較器と、 前記データ・メッセージの長さが前記値より小さけれ
ば、1つの後続データ・パケットを生成し、前記データ
・メッセージの長さが前記値より大きければ、2つの後
続データ・パケットを生成するデータ・パケット・コン
トローラとを有する、データ通信装置。 - 【請求項2】ローカル・ネットワークに接続された遠隔
ネットワークと、 前記遠隔ネットワークに接続されたポータブル装置であ
って、前記ローカル・ネットワークの第1のポイントの
ソースヘッダを持ち、かつ前記ローカル・ネットワーク
の第2のポイントに接続されたローカル装置に宛てられ
る初期データ・パケットを生成するポータブル装置と、 ローカルコントローラと、 前記ローカル・ネットワークの第1および第2のポイン
トのアドレスをカプセル化したデータ・メッセージを含
み、前記ローカル・コントローラに宛てられる少なくと
も1つの後続データ・パケットを、前記初期データ・パ
ケットから生成する遠隔コントローラとを備えており、
該遠隔コントローラは、 前記データ・メッセージの長さを、予め決められた値と
比較する比較器と、 前記データ・メッセージの長さが前記値より大きけれ
ば、前記データ・メッセージを、初期部分と残余部分と
に細分化する細分機構とを有する、データ通信装置。 - 【請求項3】遠隔ネットワークおよび遠隔コントローラ
に接続されたローカル・ネットワークおよびローカル・
コントローラを提供するステップと、 前記遠隔ネットワークに接続されたポータブル装置、お
よび前記ローカル・ネットワークに接続されたローカル
装置を提供するステップと、 前記ポータブル装置を使用して、前記ローカル・ネット
ワークの第1のポイントのソース・ヘッダを有し、かつ
前記ローカル・ネットワークの第2のポイントに接続さ
れたローカル装置に宛てられる初期データ・パケットを
生成するステップと、 前記遠隔コントローラを使用して、前記ローカル・コン
トローラに宛てられ、かつ前記ローカル・ネットワーク
の前記第1および第2のポイントのアドレスをカプセル
化したデータ・メッセージを含む少なくとも1つの後続
データ・パケットを、前記初期データ・パケットから生
成するステップと、 前記データ・メッセージの長さを、予め決められた値と
比較するステップと、 前記データ・メッセージの長さが前記値より小さけれ
ば、1つの後続データ・パケットを生成するステップ
と、 前記データ・メッセージの長さが前記値より大きけれ
ば、2つの後続データ・パケットを生成するステップ
と、 を含む、データ通信の方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US904,053 | 1986-09-05 | ||
US08/904,053 US6141690A (en) | 1997-07-31 | 1997-07-31 | Computer network address mapping |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH11112575A JPH11112575A (ja) | 1999-04-23 |
JP3471622B2 true JP3471622B2 (ja) | 2003-12-02 |
Family
ID=25418466
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP20610298A Expired - Fee Related JP3471622B2 (ja) | 1997-07-31 | 1998-07-22 | データ通信のための装置およびその方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US6141690A (ja) |
JP (1) | JP3471622B2 (ja) |
Families Citing this family (75)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
ES2290986T3 (es) | 1997-03-12 | 2008-02-16 | Nomadix, Inc. | Transmisor o router nomada. |
US6438585B2 (en) | 1998-05-29 | 2002-08-20 | Research In Motion Limited | System and method for redirecting message attachments between a host system and a mobile data communication device |
US8516055B2 (en) | 1998-05-29 | 2013-08-20 | Research In Motion Limited | System and method for pushing information from a host system to a mobile data communication device in a wireless data network |
US6219694B1 (en) | 1998-05-29 | 2001-04-17 | Research In Motion Limited | System and method for pushing information from a host system to a mobile data communication device having a shared electronic address |
US7209949B2 (en) | 1998-05-29 | 2007-04-24 | Research In Motion Limited | System and method for synchronizing information between a host system and a mobile data communication device |
US6463463B1 (en) | 1998-05-29 | 2002-10-08 | Research In Motion Limited | System and method for pushing calendar event messages from a host system to a mobile data communication device |
US6779019B1 (en) | 1998-05-29 | 2004-08-17 | Research In Motion Limited | System and method for pushing information from a host system to a mobile data communication device |
SE519523C2 (sv) * | 1998-06-30 | 2003-03-11 | Ericsson Telefon Ab L M | Mobilt LAN där värddatorer anslutna till LANet kan genomföra paketdatakommunikation med värddatorer i externa nät |
US7010603B2 (en) * | 1998-08-17 | 2006-03-07 | Openwave Systems Inc. | Method and apparatus for controlling network connections based on destination locations |
US6542995B2 (en) * | 1998-11-20 | 2003-04-01 | Compaq Information Technologies Group, L.P. | Apparatus and method for maintaining secured access to relocated plug and play peripheral devices |
US8266266B2 (en) | 1998-12-08 | 2012-09-11 | Nomadix, Inc. | Systems and methods for providing dynamic network authorization, authentication and accounting |
US7194554B1 (en) | 1998-12-08 | 2007-03-20 | Nomadix, Inc. | Systems and methods for providing dynamic network authorization authentication and accounting |
US8713641B1 (en) | 1998-12-08 | 2014-04-29 | Nomadix, Inc. | Systems and methods for authorizing, authenticating and accounting users having transparent computer access to a network using a gateway device |
JP3563990B2 (ja) * | 1999-02-24 | 2004-09-08 | キヤノン株式会社 | ネットワーク装置、ネットワークデバイス制御方法及び記録媒体 |
US6823386B1 (en) * | 1999-02-25 | 2004-11-23 | Nortel Networks Limited | Correlating data streams of different protocols |
US6640251B1 (en) * | 1999-03-12 | 2003-10-28 | Nortel Networks Limited | Multicast-enabled address resolution protocol (ME-ARP) |
US6434627B1 (en) * | 1999-03-15 | 2002-08-13 | Cisco Technology, Inc. | IP network for accomodating mobile users with incompatible network addressing |
US6535867B1 (en) | 1999-09-29 | 2003-03-18 | Christopher J. F. Waters | System and method for accessing external memory using hash functions in a resource limited device |
WO2001031885A2 (en) | 1999-10-22 | 2001-05-03 | Nomadix, Inc. | Gateway device having an xml interface and associated method |
US7752333B1 (en) * | 2000-01-18 | 2010-07-06 | Avaya Inc. | Methods and apparatus for local network address acquisition, analysis and substitution |
US6724720B1 (en) * | 2000-05-01 | 2004-04-20 | Palmone, Inc. | Swapping a nonoperational networked electronic system for an operational networked electronic system |
US7391718B2 (en) * | 2004-03-09 | 2008-06-24 | Palm, Inc. | Swapping a nonoperational networked electronic system for an operational networked electronic system |
US7260638B2 (en) * | 2000-07-24 | 2007-08-21 | Bluesocket, Inc. | Method and system for enabling seamless roaming in a wireless network |
CA2432589C (en) | 2000-12-22 | 2008-12-02 | Research In Motion Limited | Wireless router system and method |
US8078730B2 (en) * | 2000-12-22 | 2011-12-13 | Rockstar Bidco, LP | System, device, and method for maintaining communication sessions in a communication system |
CA2368404C (en) | 2001-01-18 | 2005-08-09 | Research In Motion Limited | Unified messaging system and method |
US7181534B2 (en) * | 2001-02-15 | 2007-02-20 | Ciena Corporation | Address resolution protocol to map internet protocol addresses to a node transport identifier |
DE10164919B4 (de) * | 2001-04-20 | 2009-04-30 | Siemens Ag | Verfahren zum Vermitteln von Daten zwischen einem lokalen Netzwerk und einem externen Gerät und Router dafür |
US7099285B1 (en) * | 2001-06-15 | 2006-08-29 | Advanced Micro Devices, Inc. | Remote configuration of a subnet configuration table in a network device |
US7197541B1 (en) | 2001-06-18 | 2007-03-27 | Palm, Inc. | Method and apparatus for automated personality transfer for a wireless enabled handheld device |
US20040068648A1 (en) * | 2001-09-24 | 2004-04-08 | Teleware, Inc. | Multimedia communication management |
WO2003029916A2 (en) * | 2001-09-28 | 2003-04-10 | Bluesocket, Inc. | Method and system for managing data traffic in wireless networks |
CA2410118C (en) | 2001-10-26 | 2007-12-18 | Research In Motion Limited | System and method for controlling configuration settings for mobile communication devices and services |
US7072326B2 (en) * | 2001-11-30 | 2006-07-04 | Palm, Inc. | Network connectivity system and method |
US7107341B2 (en) | 2001-12-07 | 2006-09-12 | Research In Motion Limited | System and method of managing information distribution to mobile stations |
US7443862B2 (en) * | 2002-01-22 | 2008-10-28 | Canon Kabushiki Kaisha | Apparatus connected to network, and address determination program and method |
US20030140129A1 (en) * | 2002-01-24 | 2003-07-24 | Noam Livnat | Installing communication protocol in a handheld device |
US20030172175A1 (en) * | 2002-03-11 | 2003-09-11 | Mccormack Jonathan I. | System for standardizing updates of data on a plurality of electronic devices |
US20030212684A1 (en) * | 2002-03-11 | 2003-11-13 | Markus Meyer | System and method for adapting preferences based on device location or network topology |
US20040039801A9 (en) * | 2002-03-11 | 2004-02-26 | Venkatachary Srinivasan | System and method for delivering data in a network |
US20030212802A1 (en) * | 2002-05-09 | 2003-11-13 | Gateway, Inc. | Proximity network encryption and setup |
US7653746B2 (en) * | 2002-08-02 | 2010-01-26 | University Of Southern California | Routable network subnet relocation systems and methods |
US7752334B2 (en) | 2002-10-15 | 2010-07-06 | Nomadix, Inc. | Intelligent network address translator and methods for network address translation |
US20080261633A1 (en) | 2002-10-22 | 2008-10-23 | Research In Motion Limited | System and Method for Pushing Information from a Host System to a Mobile Data Communication Device |
US7751081B2 (en) * | 2003-03-31 | 2010-07-06 | Lexmark International, Inc. | Gamut mapping by controlling minimum and maximum color changes |
US20050198242A1 (en) * | 2004-01-05 | 2005-09-08 | Viascope Int. | System and method for detection/interception of IP collision |
US8126999B2 (en) | 2004-02-06 | 2012-02-28 | Microsoft Corporation | Network DNA |
US7599288B2 (en) * | 2004-09-30 | 2009-10-06 | Hewlett-Packard Development Company, L.P. | Processing of usage data for first and second types of usage-based functions |
US8488451B2 (en) | 2005-03-22 | 2013-07-16 | At&T Intellectual Property I, Lp | System and method for allocating processing bandwith in a residential gateway utilizing transmission rules and data mapping |
US7894807B1 (en) * | 2005-03-30 | 2011-02-22 | Openwave Systems Inc. | System and method for routing a wireless connection in a hybrid network |
EP3654586B1 (en) | 2005-04-18 | 2021-11-24 | BlackBerry Limited | Method for providing wireless application privilege management |
US7849199B2 (en) | 2005-07-14 | 2010-12-07 | Yahoo ! Inc. | Content router |
US20070016632A1 (en) * | 2005-07-14 | 2007-01-18 | Yahoo! Inc. | System and method for synchronizing between a user device and a server in a communication network |
US8417782B2 (en) | 2005-07-14 | 2013-04-09 | Yahoo! Inc. | Universal calendar event handling |
US7631045B2 (en) | 2005-07-14 | 2009-12-08 | Yahoo! Inc. | Content router asynchronous exchange |
US8112549B2 (en) | 2005-07-14 | 2012-02-07 | Yahoo! Inc. | Alert mechanism for notifying multiple user devices sharing a connected-data-set |
US7788352B2 (en) * | 2005-07-14 | 2010-08-31 | Yahoo! Inc. | System and method for servicing a user device |
US7623515B2 (en) | 2005-07-14 | 2009-11-24 | Yahoo! Inc. | Content router notification |
US20070014243A1 (en) * | 2005-07-14 | 2007-01-18 | Yahoo! Inc. | System and method for provisioning a user device |
US20070100856A1 (en) * | 2005-10-21 | 2007-05-03 | Yahoo! Inc. | Account consolidation |
US7779157B2 (en) | 2005-10-28 | 2010-08-17 | Yahoo! Inc. | Recovering a blade in scalable software blade architecture |
US7873696B2 (en) | 2005-10-28 | 2011-01-18 | Yahoo! Inc. | Scalable software blade architecture |
US7870288B2 (en) * | 2005-10-28 | 2011-01-11 | Yahoo! Inc. | Sharing data in scalable software blade architecture |
US8024290B2 (en) * | 2005-11-14 | 2011-09-20 | Yahoo! Inc. | Data synchronization and device handling |
US8065680B2 (en) | 2005-11-15 | 2011-11-22 | Yahoo! Inc. | Data gateway for jobs management based on a persistent job table and a server table |
CN101536462B (zh) | 2006-09-29 | 2013-12-04 | 诺玛迪克斯公司 | 内容注入系统和方法 |
US20080115152A1 (en) * | 2006-11-15 | 2008-05-15 | Bharat Welingkar | Server-controlled heartbeats |
US20090019460A1 (en) * | 2007-05-03 | 2009-01-15 | Qualcomm Incorporated | Application programming interface (api) for handling errors in packets received by a wireless communications receiver |
US8645976B2 (en) * | 2007-05-03 | 2014-02-04 | Qualcomm Incorporated | Application programming interface (API) for restoring a default scan list in a wireless communications receiver |
US8179872B2 (en) | 2007-05-09 | 2012-05-15 | Research In Motion Limited | Wireless router system and method |
US20100241638A1 (en) * | 2009-03-18 | 2010-09-23 | O'sullivan Patrick Joseph | Sorting contacts |
US20110030037A1 (en) | 2009-07-07 | 2011-02-03 | Vadim Olshansky | Zone migration in network access |
EP2666266B1 (en) | 2011-01-18 | 2016-05-11 | Nomadix, Inc. | Systems and methods for group bandwidth management in a communication systems network |
WO2016122694A1 (en) * | 2015-01-29 | 2016-08-04 | Hewlett Packard Enterprise Development Lp | Tap technology selection |
US10326682B2 (en) | 2015-01-29 | 2019-06-18 | Hewlett Packard Enterprise Development Lp | Intermediary network element for tap traffic |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
IL79775A (en) * | 1985-08-23 | 1990-06-10 | Republic Telcom Systems Corp | Multiplexed digital packet telephone system |
US4736371A (en) * | 1985-12-30 | 1988-04-05 | Nec Corporation | Satellite communications system with random multiple access and time slot reservation |
US4771391A (en) * | 1986-07-21 | 1988-09-13 | International Business Machines Corporation | Adaptive packet length traffic control in a local area network |
DE3742939A1 (de) * | 1987-12-18 | 1989-07-06 | Standard Elektrik Lorenz Ag | Verfahren zur hybriden paketvermittlung und einrichtungen hierzu |
US5185860A (en) * | 1990-05-03 | 1993-02-09 | Hewlett-Packard Company | Automatic discovery of network elements |
US5251205A (en) * | 1990-09-04 | 1993-10-05 | Digital Equipment Corporation | Multiple protocol routing |
JPH05145576A (ja) * | 1991-11-19 | 1993-06-11 | Fujitsu Ltd | パケツトデータ転送方式 |
US5517618A (en) * | 1992-02-10 | 1996-05-14 | Matsushita Electric Industrial Co., Ltd. | Mobile migration communications control device |
US5442633A (en) * | 1992-07-08 | 1995-08-15 | International Business Machines Corporation | Shortcut network layer routing for mobile hosts |
US5410543A (en) * | 1993-01-04 | 1995-04-25 | Apple Computer, Inc. | Method for connecting a mobile computer to a computer network by using an address server |
US5526489A (en) * | 1993-03-19 | 1996-06-11 | 3Com Corporation | System for reverse address resolution for remote network device independent of its physical address |
US5491800A (en) * | 1993-12-20 | 1996-02-13 | Taligent, Inc. | Object-oriented remote procedure call networking system |
US5541919A (en) * | 1994-12-19 | 1996-07-30 | Motorola, Inc. | Multimedia multiplexing device and method using dynamic packet segmentation |
US5572528A (en) * | 1995-03-20 | 1996-11-05 | Novell, Inc. | Mobile networking method and apparatus |
US5781550A (en) * | 1996-02-02 | 1998-07-14 | Digital Equipment Corporation | Transparent and secure network gateway |
JP2838998B2 (ja) * | 1996-02-07 | 1998-12-16 | 日本電気株式会社 | 移動端末及び移動対応ネットワーク |
-
1997
- 1997-07-31 US US08/904,053 patent/US6141690A/en not_active Expired - Lifetime
-
1998
- 1998-07-22 JP JP20610298A patent/JP3471622B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH11112575A (ja) | 1999-04-23 |
US6141690A (en) | 2000-10-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3471622B2 (ja) | データ通信のための装置およびその方法 | |
JP4104658B2 (ja) | 電子メールウイルスの検出および除去のための装置および方法 | |
US6360260B1 (en) | Discovery features for SNMP managed devices | |
US6574662B2 (en) | System for network-device management including collecting and storing of device attributes that change with time and device attributes that hardly change with time | |
US6633909B1 (en) | Notification method that guarantees a system manager discovers an SNMP agent | |
JPH09500774A (ja) | 通信装置及び通信方法 | |
US6430610B1 (en) | TCP/IP address protection mechanism in a clustered server environment | |
US7505418B1 (en) | Network loopback using a virtual address | |
US7536479B2 (en) | Local and remote network based management of an operating system-independent processor | |
Cisco | Router Products Release Note - Software Release 8.3 Including 8.3(1) through 8.3(3) Cisco Systems, Inc. April 8, 1992 | |
US7013347B1 (en) | Distance vector extension to the address resolution protocol | |
Cisco | In-Band Management | |
Cisco | In-Band Management | |
Cisco | Protocol Translator Configuration and Reference | |
Cisco | 11.0(9)BT Caveats/11.0(10)BT Modifications | |
Cisco | 11.0(9)BT Caveats/11.0(10)BT Modifications | |
Cisco | 11.0(9)BT Caveats/11.0(10)BT Modifications | |
Cisco | 11.0(9)BT Caveats/11.0(10)BT Modifications | |
Cisco | 11.1(8)IA Caveats/11.1(9)IA Modifications | |
Cisco | 11.1(8)IA Caveats/11.1(9)IA Modifications | |
Cisco | Access and Communication Servers Command Reference Internetwork Operating System Release 10 Chapters 1 to 13 | |
Cisco | MIBs Supported by Cisco Software Releases | |
Cisco | MIBs Supported by Cisco Software Releases | |
Cisco | MIBs Supported by Cisco Software Releases | |
Cisco | MIBs Supported by Cisco Software Releases |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |