JP2002501251A - ユニバーサル・データ交換ゲートウエイのための方法および装置 - Google Patents
ユニバーサル・データ交換ゲートウエイのための方法および装置Info
- Publication number
- JP2002501251A JP2002501251A JP2000528920A JP2000528920A JP2002501251A JP 2002501251 A JP2002501251 A JP 2002501251A JP 2000528920 A JP2000528920 A JP 2000528920A JP 2000528920 A JP2000528920 A JP 2000528920A JP 2002501251 A JP2002501251 A JP 2002501251A
- Authority
- JP
- Japan
- Prior art keywords
- node
- packet
- network
- gateway
- protocol
- 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.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/66—Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
-
- 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
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/08—Protocols for interworking; Protocol conversion
-
- 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/18—Multiprotocol handlers, e.g. single devices capable of handling multiple protocols
-
- 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/26—Special purpose or proprietary protocols or architectures
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Computer And Data Communications (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Cable Transmission Systems, Equalization Of Radio And Reduction Of Echo (AREA)
- Small-Scale Networks (AREA)
Abstract
Description
に、電源線ネットワーキング・システムに適合させられるゲートウエイに関する
。
ュータ・ネットワークの数が急速に増加した。2台または3台以上のコンピュー
タを一緒にネットワーク化することによってコンピュータが情報、ファイル資源
、プリンタを等を共用できる。2台または3台以上のパーソナル・コンピュータ
およびプリンタを一緒に接続してネットワークを構成することは簡単な作業であ
る。コンピュータとプリンタはケーブルを用いて一緒に簡単に接続され、必要な
ソフトウエアがコンピュータにインストールされる。ネットワークの用語では、
ケーブルはネットワーク媒体であり、コンピュータとプリンタはネットワーク・
ノードである。ネットワーク・ノードは、伝送制御プロトコル、インターネット
・プロトコル(TCP/IP)などのプロトコルを1つまたは複数個用いて相互
に「話しあう」。
行するために用いられるので、種々のプロトコルを使用する2つのネットワーク
を相互に接続できる。たとえば、Prodigyネットワーク・サービスは、そ
の内部に所有する電子メ−ル・フォーマットとインターネット電子メ−ルフォー
マットとの間で翻訳するゲートウエイを有する。
な処理性能と十分な記憶性能を持つ「スマート(smart)」な装置であると
の仮定の下に作られている。たとえば、典型的なパーソナル・コンピュータ(P
C)はほとんどいかなるネットワーク・プロトコルも取り扱う十分以上の処理性
能と記憶性能を有する。しかし、プリンタは必要な処理性能と記憶性能を有しな
い「ダム(dumb)」装置である。プリンタをネットワークに接続できるよう
にするネットワーク・プリンタ・アダプタを提供する製造業者もいる。プリンタ
・アダプタは、完全に構成されたPCの処理性能と記憶性能に類似する処理性能
と記憶性能を提供する単一のボードコンピュータである。したがって、ネットワ
ーク・プリンタ・アダプタは「ダム」プリンタを「スマート」装置に変換する。
ネットワーク・プリンタ・アダプタは実際に動作するが、比較的高価であるので
多くの家庭や小規模の事務所の環境には向いていない。さらに、プリンタ・アダ
プタはその他の非PC装置をネットワークに接続するのにはあまり良く適してい
ない。たとえば、ユーザーは、屋外灯、警報器、電話装置等などのダム装置をユ
ーザーのコンピュータ・ネットワークに接続することをしばしば希望する。それ
らの各ダム装置をスマート装置の変えるネットワーク・アダプタ・カードを購入
することは、それを断念させるほど高価につく。
と通常呼ばれている。ダム装置のために用いられるプロトコルは「制御プロトコ
ル」としばしば呼ばれる。ネットワーク・プロトコルは、性能と複雑さとにおい
て、制御プロトコルとは全く異なる。それらの違いのために、ネットワーク・プ
ロトコルの間でデータを転送するように構成されているゲートウエイは、制御プ
ロトコルの間でデータを転送するという作業には通常あまり適さない。より困難
なことはネットワーク・プロトコルと制御プロトコルの間でデータを転送する作
業である。
ーバ・モデルではなくて同列間モエルを基にしている制御プロトコルを使用する
傾向がある。これは、各ノードが状態情報と諸規則をローカルに記憶することが
要求されるために、これらの製品の可用性を制限する。使用が容易な、集中化さ
れたユーザー・インタフェース部品がないために、ネットワークの構成はしばし
ば困難である。さらに、競合する製品(たとえば、X−10とCEBus)の間
の相互使用可能性がほとんど不可能である。発明の概要 本発明は、1つまたは複数のネットワーク・プロトコルと1つまたは複数の制
御プロトコルの間でのデータ転送可能にする、安価で、使用が容易であり、融通
性があり、信頼性が高く、かつ拡張性があるゲートウエイ・アーキテクチャを提
供することによって、それらの問題およびその他の問題を解決する。種々のプロ
トコルが同じ物理的ネットワーク媒体上に共存できる。このゲートウエイは、選
択されたプロトコルの中にネットワーク・プロトコルを通り抜けさせ(tunn
eling)、かつ集中化された制御も行う。
ザー、特に家庭および小規模事務所の環境における利用者に極めて大きな利益を
もたらす。このゲートウエイによって、エンドユーザーは、他のネットワークと
非互換の従来の自立したネットワークを容易かつ好都合に組み合わせて、コンピ
ュータ、プリンタ、警報装置、家庭用機器、照明装置、電話等を接続する普遍的
にアクセスできる、集中管理される「スーパーネットワーク」にできる。
のレガシイ(legacy)プロトコルの支持、規則エンジン、およびオブジェ
クト指向のクラス・ライブラリ・インタフェースを提供する。このゲートウエイ
は、インターネット・ブラウザなどの使用が容易で、共通のグラフィカル・ユー
ザー・インタフェースを用いて家庭用/小規模事務所のオートーメーションおよ
び制御の広域な可能性を提供する。自動装置の発見によって構成が簡単にされる
。集中化されたノード・データベースに対するアクセスは、待機サーバによって
提供されるシステム障害耐性によって高められる。
ストリームを電源線を通じて分配する能力を有する。たとえば、ケーブルモデム
またはその他の種類の高速インターネット接続器を有するネットワーク・ユーザ
ーは、既に設置されている電気配線以外の追加の配線の必要なしに家庭/事務所
内のどこにでもインターネット・トラフィックを送ることができる。音声データ
も電源線を通じて家庭/事務所全体に容易に送られる。このゲートウエイにより
提供されるハンドラによって、今日一般に用いられているほとんど全てのレガシ
イ・データネットワーク化サービスおよびプロトコルを、電源線を通じて送るこ
とができる。
下の詳細な説明を読んだ時に容易に理解されるであろう。
号を一般に示している。4桁の参照番号が用いられた時は、初めの2桁が図面番
号を示す。好適な実施形態の詳細な説明 図1はユニバーサル・ゲートウエイとともに使用されるのに適したコンピュー
タ・ネットワーク・システムを示す。第1の物理的ネットワークはネットワーク
媒体100(ケーブルとして示されている)を用いている。スマート・ノード(
パーソナル・コンピュータ103として示されている)はコネクタ102によっ
てネットワーク媒体100に接続されている。プリンタ110と、コンピュータ
104と、安全照明装置118もネットワーク媒体100に接続されている。照
明装置118は、比較的低い計算能力と比較的小さい記憶を持つ「ダム」ノード
の例である。コンピュータ104は、公衆交換電話回線(PSTN)として示さ
れている第2のネットワーク130にも接続されている。
タ・プロトコルのためのデータ・トラフィックを伝えるように構成されている。
したがって、図1における例により示されているように、コンピュータ103は
TCP/IPを用いてコンピュータ104と通信でき、コンピュータ104は、
たとえば、この開示された出願の、付録Aとして表示されている部分に記載され
ている電源線交換(PLX)プロトコルなどの制御プロトコルを用いて照明装置
118と通信する。付録Aは「電源線交換プロトコル方法および装置(METH
OD AND APPARATUS FOR POWER LIME EXCH
ANGEPROTOCOL)」という名称の米国特許出願09/211950の
部分を含む。この米国特許出願の開示は参照することによりここに含まれる。
フトウエア・プログラムとして実行される。このユニバーサル・ゲートウエイは
種々のネットワーク・プロトコルの間、および種々の物理的ネットワークの間の
接続を行う。たとえば、図1に示すように、コンピュータ104においてソフト
ウエア・プログラムとして実行されているこのユニバーサル・ゲートウエイはT
CP/IPプロトコルをPLXプロトコルに接続することにより、コンピュータ
103が照明装置118と通信できるようにする。
このユニバーサル・ゲートウエイは別々の物理的ネットワークの間のデータ転送
も行うことにより、別々の物理的ネットワークにおける装置が相互に通信できる
ようにする。図1において、このユニバーサル・ゲートウエイはネットワーク1
30と照明装置118との間のデータ転送を行う。
する。スマート・ノード(コンピュータ103および104など)用に構成され
たほとんどのネットワークは、オープン・システム・インタフェース(OSI)
委員会により開発されたネットワーク・アーキテクチャ・モデルを基にしている
。OSIアーキテクチャは、通信システム内の個々の各ハードウェア層およびソ
フトウエア層と、層の間の相互依存性と、各層が実行する独自の機能とについて
の概要を示すネットワーク・モデルを定める。
02、ネットワーク層203、トランスポート層204、セッション層205、
プレゼンテーション層206、およびアプリケーション層207の7つの層とし
てOSIアーキテクチャが編成されていることを示す。各層はそれのすぐ下の層
を用いてすぐ上の層のサービスを行う。ある実現例では、ある層は副層により自
身で構成できる。ある層は、特定のネットワーク・プロトコルが動作する2つま
たは3つ以上の通信装置またはコンピュータの、ソフトウエア環境および/また
はハードウェア環境である。ネットワーク接続は、おのおの異なる層またはレベ
ルにある、多少とも独立している1組のプロトコルであるとして考えることがで
きる。1番下の層は、種々のノードにおけるハードウェアの間の直接ノード間通
信を支配し、1番上はユーザー・アプリケーション・プログラムで構成されてい
る。各層はそれの下の層を用いて上の層に対するサービスを行う。1つのホスト
における各ネットワーク化コンポーネント・ハードウェアまたはソフトウエアは
それの層に適切なプロトコルを用いて、他のノードにおける対応するコンポーネ
ント(それの「同等なコンポーネント」)と通信する。そのような階層状のプロ
トコルは同列間プロトコルとして知られていることがある。
プロトコルの部分として明らかに指定され、かつ1つのプロトコル層内での変化
が他のプロトコル層に影響を及ぼすことが阻止されることにある。これによって
通信システムの設計および維持が簡単になる。
ス制御(MAC)を含むネットワークの電気的接続と機械的接続を含む。媒体ア
クセス制御とは、データ伝送媒体100(たとえば、ネットワーク・ケーブル)
の制御、およびそれに対するアクセスを指す。物理層201はデータ・リンク層
202により用いられる。
データ・リンク層202はデータを(物理層201で送られる)フレームに分割
し、確認応答フレームを受信する。データ・リンク層202は誤り検査を行い、
正しく受信されなかったフレームを再送する。データ・リンク層202は誤りの
ない仮想チャネルをネットワーク層203に提供する。データ・リンク層202
は上側の副層、すなわち、論理リンク制御(LLC)と、媒体アクセス制御(M
AC)の部分を含む下側の副層とに通常分割される。
。ネットワーク層203は、送り手からデータ・リンク層202を経由する受け
手までのデータ・パケットの経路を決定し、かつトランスポート層204によっ
て用いられる。最も一般的なネットワーク層プロトコルはIPである。
中間層である。トランスポート層204は、最初のノードがメッセージを第2の
ノードへ送ることができ、それらのメッセージが変更されないで、正しい順序で
到達するように、誤りのない点間の仮想接続を行うためにネットワーク層203
をどのように使用するかを決定する。トランスポート層204はノードの間の接
続を行い、かつ解消する。
る。セッション層205はトランスポート層204を用いて種々のノードにおけ
るプロセス間の接続を確立する。セッション層205はセッションの安全と作成
を取り扱う。
ル層である。プレゼンテーション層206はノードの間の違いをならそうとして
テキスト圧縮、コードまたはフォーマットの変換などの機能を実行する。プレゼ
ンテーション層206によってアプリケーション層内の適合しないプロセスがセ
ッション層を介して通信できるようにされる。
ション層207はネットワークについてユーザーが見るもの(たとえば、電子メ
ール・メッセージのフォーマット)に関するものである。プレゼンテーション層
206はアプリケーション層207に、ネットワークで使用されているフォーマ
ットとは独立したデータのなじみのローカル表現を提供する。アプリケーション
層プロトコル例にはTelnet、ファイル転送プロトコル(FIP)、シンプ
ル・ネットワーク・マネージメント・プロトコル(SNMP)、シンプル・メー
ル転送プロトコル(SMTP)、インターネット制御メッセージ・プロトコル(
ICMP)、ネットウエア・コア・プロトコル(NCP)、経路指定情報プロト
コル(RIP)、サービス・アドバータイジング・プロトコル(SAP)、単純
ファイル転送プロトコル(TFTP)、およびシステムフォールトトレランスプ
ロトコル(SFTP)が含まれる。
300が、アプリケーション・プログラム、ハードウェア・ドライバなどの他の
ソフトウエア・コンポーネントとどのようにしてやり取りするかを示す。アプリ
ケーション・プログラム302は1組のゲートウエイ・ファウンデーション・ク
ラス304を用いてゲートウエイ300と通信する。ゲートウエイ・ファウンデ
ーション・クラス304はデータベース・アクセス・モジュール306と、事象
ハンドラ310と、ディスパッチャ320と、ルーティンオペレーティングシス
テム・サービス(RTOS)311と通信する。データベース・アクセス・モジ
ュール306は、(ノード・データベース)と呼ばれている情報保存部308を
含む。ノード・データベース308はデータベース、リンクされたリスト、表、
マップ、コンテナ等として編成できる。データベース・アクセス・モジュール3
06は事象ハンドラ310と、ペイロード/プロトコル・プロセッサ312とも
通信する。ペイロード/プロトコル・プロセッサ312は、生データ・ハンドラ
316、ストリーミング・データ・ハンドラ317、およびCAL制御ハンドラ
318などのペイロード/プロトコル・ハンドラを1つまたは複数個含む。事象
ハンドラ310は規則エンジン314およびディスパッチャ320とも通信する
。ディスパッチャ320はRTOS311と、規則エンジン314と、PLX装
置ドライバ322と、レガシイデバイスドライバ326とも通信する。PLXデ
バイスドライバ322はPLX制御装置ドライバ323(ダム装置のため)とP
LXデータ装置ドライバ324(スマート装置のため)を含む。
訳を行うので、異なるプロトコルを使用している2つのネットワークを相互に接
続できる。それらのネットワークは実在の物理的ネットワークとすることもでき
れば、ネットワークを仮想ネットワーク(すなわち、ソフトウエア内にのみ存在
する)とすることができる。ゲートウエイ300はレガシイ・プロトコルと主(
すなわち、所望の)プロトコル(たとえば、電源線プロトコル)との間のインタ
フェースを行う。レガシイ・プロトコルという用語は既存のプロトコルに限定さ
れるものではない。それよりも、レガシイ・プロトコルという用語は主プロトコ
ル以外の任意のプロトコルを指すことを意図するものである。レガシイデバイス
ドライバは、たとえば、X−10ドライバ329とCEBusドライバ332を
含む。各レガシイ装置ドライバは、レガシイ装置ドライバをゲートウエイに適合
させるシムを含むことを選択もできる。一実施形態では、主プロトコルは電源線
プロトコルであるが、ゲートウエイ300はそのようには限定されない。したが
って、主プロトコルは、たとえば、TCP/IP、IPX、ADSL、およびこ
の開示の他の箇所に掲記されているか、この技術で知られているその他のプロト
コルのいずれかを含めた任意のプロトコルとすることができる。
装置ドライバ362をストリーミングするために、ゲートウエイはレガシイ・ス
タック352を提供する。レガシイ・スタック352はTCP/IPスタック3
52およびSPX/IPXスタック354などのOSIプロトコル・スタックを
サポートする。レガシイ・スタック352はストリーミング・レガシイ装置ドラ
イバ362および経路選択ハンドラ355と通信する。経路選択ハンドラ355
はストリーミング・レガシイ装置ドライバ362と、レガシイ・スタック352
と、ペイロード/プロトコル・プロセッサ312と通信する。レガシイ・スタッ
ク352はレガシイ・アプリケーション350とも通信する。
サネット、デジタル交換線(DSLおよびADSL)、電源線交換機(PLX)
、X−10、およびCEBusを含むが、それには限定されない、制御ネットワ
ークおよびデータ・ネットワークのサポートを行う。
する。ノード・マネジャーとして、ゲートウエイ300はネットワーク・ノード
状態情報の発見と、列挙と、検索と、保存と、処理との責任を負う。その状態情
報はノード・データベース308に保存される。ノード・データベース308は
汎用共通アプリケーション言語(CAL)仕様を基にしている。EIA−600
で定められたCEBusはバス装置を制御するための工業規格制御言語である。
EIA−600は家庭LAN内で使用するための共通アプリケーション言語用の
骨格を提供する。汎用CALはEIA−721シリーズの規格(EIA−721
.1、EIA−721.2、EIA−721.3、EIA−721.4を含む)
で定められる。CEBus工業協議会(CIC)は、汎用CALを使用するため
の「文法」規則を定めることによってその骨格に肉付けするホーム・プラグ&プ
レイ(HPP)を定めている。
るようにする、それらの製品やシステムのための1組のハードウェア特性の詳細
を定めている。たとえば、その仕様は、「住人が居ない」または「住人は在宅し
ているが寝ている」などの家庭内の種々の状況を識別して、安全装置を作動状態
にする、屋内灯を消す、または温度設定に類似する適切な動作を家庭システムが
行えるようにする。HPP仕様は家庭制御用のウインドウズ95PCベース・ア
プリケーションを開発するための情報も含む。
(たとえば、娯楽、コンピュータ、暖冷房、台所用品、等)で製造された家庭L
AN製品の間の通信のための枠組を提供する。各産業分野は、それの製品がその
言語を使用する基準を成す「アプリケーション・コンテキスト」(すなわち、文
法規則)を定める。CICは、種々の産業分野が「調和の取れた」アプリケーシ
ョン・コンテキストを開発することを支援する支持組織として活動するために設
立された。CICのHPPは、相互に運用できるCALをベースとする製品で家
庭LAN市場を求めているそれらの産業分野のための調和の取れたアプリケーシ
ョン・コンテキストの概要である。
まれる。
(RDL)シンタックスを用いて定義された規則に従ってそれらの状態変化に対
して動作する規則エンジン314を提供もする。
によってデータ・ストリーミング・タスクと経路選択タスクの取扱いもする。経
路選択ハンドラ355はPLXを通じるTCP/IPトンネリング、プロキシ・
サーバ、およびネットワーク・アドレス翻訳のような機能を行う。シム(328
、330)は、非PLX電源線をベースとするノードをPLXネットワークに継
目なしに挿入できるようにするために設けられる。ゲートウエイ・ファウンデー
ション・クラス304は、ユーザー・インタフェースおよびシステム管理アプリ
ケーション302が使用するオブジェクト指向APIライブラリイを提供する。
ゲートウエイ300は、レガシイ、非ユニバーサル・ネットワークAPIs(M
FC、TLI、ソケット、家庭API、等)を使用するアプリケーションがネッ
トワーク・ノードと通信できるようにするサポートを提供する。これによりネッ
トワークを通じてのレガシイ・ネットワーク・データの透明なデータ・ストリー
ミングを行うことができるようにされる(イーサネット、ADSL、等)。それ
には、ジャバおよびウエブブラウザを用いてゲートウエイ300により管理され
るノードを制御する能力が含まれる。
ノード・データの保存場所である。ノード・データは各クライアント・ノード、
事象待ち行列、クライアント・ノード・バインディングス(bindings)
および規則から得られたノード構成輪郭を含む。ゲートウエイ300のその他の
が1組のアクセス規則306によってノード・データベース308をアクセスす
る。
態変化の結果として起きる行動の責任を負う。規則エンジン314は状態変化に
関連する規則を解釈し、かつ規則評価の結果としてトリガされることがあるスケ
ジューリング通知要求またはCAL送り要求の責任を負う。規則エンジン314
はノード・データベース308および事象ハンドラ310と一緒に動作する。事
象ハンドラ310は事象待ち行列を処理し、事象通知を実行する。それらの事象
通知はゲートウエイ300の他のコンポーネントへの内部通知と、事象通知を受
信することを登録したアプリケーション302への外部通知とを含む。ゲートウ
エイ300とアプリケーション302との間の相互作用はゲートウエイ・ファウ
ンデーション・クラス304を介して行われる。
d)初期化と、管理等を含む、ゲートウエイ300の実行時間オペレーションを
指示する責任を負う。管理を要求するゲートウエイ活動はアプリケーションCA
L送り要求タスクと、生ストリーミング・データ要求スクと、事象受信タスクと
、バックグラウンド・ハウスキーピング・タスクとを含む。ディスパッチャ31
4は汎用インタフェースをネットワーク装置ドライバ322、326に提供して
、ドライバ322、326によりサービスされる下部のネットワーク制御器ハー
ドウェアについての詳細な知識を必要とすることなく各種のネットワーク・ノー
ドのサポートを行えるようにする。
たは並列ポートPLXノード、X−10シム、CEBusシム等)と直接通信し
、かつデータ・リンク層20の機能(たとえば、MACヘッダーの発生/解釈、
低レベル・タイミング等)を取り扱う。ドライバ322、326のうち、下部ハ
ードウェアと直接話し合う部分は、ドライバとハードウェアとの間に存在し得る
種々の接続(たとえば、ユニバーサル直列バス(USB)、並列ポート、ファイ
ヤ(Fire)ワイヤ・ポート、PCIスロット、ISAスロット、直列ポート
等)をサポートするために独自のプラットフォームであるのが普通である。ゲー
トウエイ300は、レガシイX−10およびCEBusノードから受けとった制
御データの、ゲートウエイ300により用いられるフォーマットへの変換を取り
扱うためにシム・コンポーネント328、330を提供する。
ンドラ316−318は受信されたパケット・データの構文解析および処理の責
任を負う。データ・ハンドラ316−317は経路選択ハンドラ355と一緒に
動作する。経路選択ハンドラ355は生データ・パケット・ヘッダを構文解析す
る。ルー・ハンドラ355は、種々のレガシイ・プロトコル・スタック352と
レガシイ・ストリーミング・ドライバ362の間のデータの流れの指示を助ける
アドレス表および経路選択表を調べもする。
ド移植性(portability)を維持するために、プラットフォームに特
有のコードが、RTOS 311により提供されるプラットフォーム分離(ab
straction)層内で分離される。典型的な実行時間サービスはスレッド
・スケジューリングと、メモリ管理と、割込み処理と、クロックと、同期化と、
優先順位スケジューリングと、初期化等を含む。
8と直接にまたは間接に相互作用する。データベースを最初に構築し、維持する
タスクはディスパッチャ320と、ドライバ322、326と、ペイロード/パ
ケット・ハンドラ312とによって主として取り扱われる。ユーザー・インタフ
ェースおよび管理アプリケーションがゲートウエイ・ファウンデーション・クラ
ス304を介してノード・データベース308をアクセスおよび/または変更す
る。
構成されている。速さ/メモリ使用の間の妥協が用いられ、アクセス速度よりも
効率的なメモリ使用に優先順位が通常与えられる。ある実施形態では、ノード・
データベース308の部分が不揮発性記憶装置に保存される。
含む。これはコンテキストと、オブジェクトと、各クライアント・ノードに関連
するインスタンス変数(IV)情報を含む。この情報はノード発見中にネットワ
ーク・コマンドとネットワーク要求を用いて得られる。この情報のうち、ダイナ
ミックIVsが固定記憶装置に保存される。ほとんどのオブジェクト(ノード制
御またはコンテキスト制御は含んでいない)に対して、これはノードの状態を定
める現在の値IVsを含む。
ードに対して存在するノード・コンテキスト以外に、ノード・データベース30
8は、ノード管理のために必要とされるオブジェクトを含んでいるデータベース
・サーバ・コンテキストを含む。このデータベース・サーバ・コンテキストは、
ゲートウエイ300によって知られているクライアント・ノード・アドレスのア
レイを含むネットワーク・ノード・リスト・オブジェクトを含む。
る。ほとんどのアクセスはネットワーク・メッセージを通じて直接または間接に
来るので、データベース・アクセス法306は典型的なネットワーク獲得および
セット法を用いて変数値を獲得およびセットする責任を負う。それらの方法には
GetValue、GetArray、SetValue、SetArray、
SetOn、SetOffが含まれる。どの方法が適切であるかは取り扱われて
いるインスタト変数のタイプに依存する。たとえば、CALネットワークは、ブ
ーリアン(GetValue、SetValue、SetOn、SetOff)
、数値(GetValue、SetValue)、キャラクタ・ストリング(G
etValue、SetValue)、およびデータ(GetArray、Se
tArray)の4つのIVデータ・タイプを定める。
れらは取り扱われているデータと、任意の数の入力引数を識別する。その後で各
方法は求められた情報(もしあれば)と状態を戻す。たとえば、CAL IVs
を取り扱う方法の汎用プロトタイプは下記のものに類似する。 ENUM STATUS<method>(NodeID,Context,ObjectID,IVID,args,.... ★returnVal) この場合には、NodeID、ContextID、ObjectID、およ
びIVIDはキーである。非CALオブジェクトに対しては異なるキーセットが
用いられる。
通じて規則エンジン314に対して行われて、状態変化事象が起きたことを通知
する。その後で規則エンジン314は、変化したインスタンス変数に属する規則
状態/報告状態を解釈し、行動が保証されているならば、事象ハンドラ310に
よって事象のスケジュールを定める。この結果としてディスパッチャ320を辻
てネットワーク送り要求が発生し、またはファウンデーション・クラス304を
通じてより高いレベルのアプリケーション302に通知されることになる。
行われると、4つの情報(またはキー)が通常提供される。それらにはNode
IDと、ContextIDと、ObjectIDと、IVIDとが含まれる。
に動的に、生ずることがある)ノード・アドレスである。PLXネットワークの
場合には、これは4バイト・フィールドであって、0x00000001と0f
fffffefの間の値を取ることができ、この範囲より上のアドレスは放送ま
たはその他のPLXに独自の使用のために取って置かれる。非PLXネットワー
クの場合には、同じアドレス・マッピング/翻訳が通常求められる。経路選択ハ
ンドラ355はアドレス翻訳問題に気を付ける。
キスト数で、それの値は0xA0・0xDEの範囲であるが、使用されなければ
0である。小さいバイトは0x00・0x9Eの範囲内のコンテキスト・クラス
値である(それらは汎用CAL仕様で定められる)。
ある。
変数を特定するasciiキャラクタ(または複数のキャラクタ)である。
ェクトのグループにより構成されている。各オブジェクトはIVsのグループに
より構成されている。データベースは、ちょうど論じている4つの情報について
、IVに対するアクセスが下記のルックアップ・アルゴリズムを含むように構成
されている。
ード・リスト・エントリにマップする(通常はハッシング・アルゴリズムを用い
て)。ContextIDは、所望のコンテキスト・レコードを獲得するための
直接インデックスとして使用できるようには構成されていないので、ここでは直
線的なルックアップが起きる。ノードはほんの少し(2または3)のコンテキス
トを通常有する。各コンテキスト・レコードはオブジェクト・レコードのアレイ
(またはリンクされたリスト)に対するポインタを含む。
直接インデックスとして使用できるようなフォーマットのものである。各オブジ
ェクト・レコードはIVレコードのアレイに対するポインタを含む。
られる。これは、ほとんどのクライアント・ノードに対してほんの僅かなIVs
がノード・データベース308に保存されるから効率的である。ほとんどのGE
T要求/SET要求はIVの現在の値に関する。現在の値がIVリストに常に保
存されていると、集中的な直線サーチが必要とされることはまれである。
にゲートウエイ300により用いられる発見プロセスは、ノードのタイプに依存
して変化する。CALを用いる典型的なPLXに対しては、下記のアルゴリズム
が用いられる。
中に通常行われるが、定期的にも同様に行うことができる)。この要求のフォー
マットは他の任意のCALコマンド/要求のフォーマットに類似し、下記のパラ
メータを用いる。
きる点で、標準CAL要求とは異なる。
ing要求を送り返す。このパケットは「応答」と呼ばれているが、パケットの
シンタックスは従来のCAL要求パケットとは異なる。その応答は、ping要
求を放送として送ることができるようにするために異なるのである。その応答パ
ケットのフォーマット(実際にはCAL応答ではなくてCALコマンド/要求に
類似する)は、方法コードが50hの代わりに51hであることを除き、pin
g要求に類似する。
ないノードからping要求を受けると、ゲートウエイ300はそのノードをリ
ストに加え、ノードのIVs情報をノード・データベース308に付加する。
たノード・リスト内の任意のノードにCAL要求を送る。そのノードが応答しな
ければ、それはそのノードから除去される。
またはリセットされた時にも送られる。
ード発見プロセスは、レガシイ・アプリケーションに従って変化する。ゲートウ
エイ300はシム328、330の支援でそれらのノードを処理する。シム32
8、330は、上記CALノード発見法と、非PLXドライバにより使用される
レガシイ法を知っている。ping要求に応答して、シムはping要求を、レ
ガシイ制御ネットワークでノード発見を実行するために求められる同等の要求(
または要求セット)に変換する。ノードが発見されると、シム328、330は
ping応答パケットを発生して、それらをゲートウエイ300の上側の層へ送
る。ゲートウエイ300の残りに関する限りは、それらのレガシイ制御ノードは
PLXノードである。シム328、330については以下でさらに説明する。
ション302がファウンデーション・クラス304を通じてノード・データベー
ス308をアクセスできる。アプリケーション302によるノード・データベー
ス308のアクセス性を高めるために、ゲートウエイ300は多数のアプリケー
ション・サーバの存在をサポートする。ここに、1つのサーバがアクティブアプ
リケーション・サーバとして動作し、他のサーバが待機アプリケーション・サー
バとして動作する。
ィックを聴取し、ネットワーク・ノード状態変化を監視し、かつそれに従ってそ
れのノード・データベース308を更新することにより、他のノードと同じ日(
同期させられる)まで、それのノード・データベース308情報を保持する。し
かし、アクティブアプリケーション・サーバは、状態変化に関連している諸規則
を実際に評価し、求められている事象通知を実行するノードのみである。アクテ
ィブサーバがなんらかの理由で動作しなくなったとすると、待機サーバがこれを
検出して「アクティブにされる」ことになる。アプリケーション・サーバ・ノー
ド402に対するアクティブプロセスが、同期化ブロック404で始まる、図4
に示されている。その同期化ブロックではノード402はそれのノード・データ
ベース308を更新する。ノード・データベース308を更新した後で、プロセ
スは判定ブロック406へ進む。この判定ブロック406で、ノードがアクティ
ブサーバ状態にあると、プロセスはアクティブサーバ・ブロック408へ進み、
さもなければ、プロセスは待機サーバ・ブロック420へ進む。アクティブサー
バ・ブロック408が終了すると、プロセスは判定ブロック412へ進む。この
判定ブロック412で、サーバ睡眠要求が検出されると、プロセスはセット待機
ブロック410へ進み、さもなければプロセスは判定ブロック414へ進む。こ
の判定ブロック414で、クライアント要求が検出されると、プロセスは応答ブ
ロック418へ進み、さもなければプロセスは同期化ブロック404へ戻る。セ
ット待機ブロック410または応答ブロック418が終了すると、プロセスは同
期化ブロック404へ戻る。
進む。この判定ブロック422で、確認応答されなかったクライアントが検出さ
れると、プロセスはアクティブセット・ブロック424へ進み、さもなければプ
ロセスは同期化ブロック404へ戻る。アクティブセット・ブロック424が終
了すると、プロセスは通知ブロック426へ進む。このブロックでは、現在のサ
ーバ・ノードがアクティブ状態になりつつあることを他のアプリケーション・サ
ーバ可能ノードに通知する。ブロック426が終了すると、プロセスは同期化ブ
ロック404へ戻る。
ンドラ310が含まれることになる。SET方法が実行された時にそのような状
態変化が起きるので、各SET方法はその変化を事象ハンドラ310を介して規
則エンジン314に通知する。その後で規則エンジン314は、変化したIVに
関連している任意のノードの存在を調べ、なんらかの事象通知が必要とされてい
るかどうかをそれは判定する。ユーザーが、ファウンデーション・クラス304
を用いてユーザー・インタフェースを介して種々のノードを結び付けると、ユー
ザーは規則を作成できる。あるノードと、明示のユーザー定義を必要としない従
来のオペレーションに対してデフォールト・ノードは存在することもできる。
ードの間の1対1または1対多数の結合関係を特徴するものである。簡単な1対
1規則の例は、「灯火スイッチAがオンにされると、電球Bが点灯する」という
ことに類似するようなものと読めるであろう。1対多数規則の例は「灯火スイッ
チAがオンにされると、電球A、B、C、Dが点灯する」と読めるであろう。複
雑な規則は多数対1または多数対多数の結び付きを取り扱う(たとえば、「灯火
スイッチAがオンにされ、かつユーザーが安全クリアランス(clearanc
e)有すならば、電球A、B、C、Dが点灯する」)。
いる規則制定のための多用途シンタックスを提供する。図5は規則の構成要素と
、アプリケーション502と規則504との間の相互作用とを示す構造図である
。図5に示すように、アプリケーション502は、規則504を含めた、1つま
たは複数の規則を制定する。規則504は、条件付き表現506を含む「if」
文を含むことができる。条件付き表現506は1つまたは複数の定数508と、
1つまたは複数の演算子512と、1つまたは複数のIvsとを含むことができ
る。規則504内の「then」クローズはアプリケーション502に返される
通知514を特定する。各定数は値を含む。各演算子は演算子識別名(ID)を
含む。各IVはIDと、値と、トリガ状態とを含む。トリガ状態は縁部をトリガ
されたものと、非縁部をトリガされたものとを含む。各通知は通知IDとメッセ
ージIDを含む。
のアレイである。事象は、所与の状態がネットワークに存在しているか否を記述
するブール表現である。事象ストリングは下記の文法を用いて指定される。その
文法は定義されていないターミナル記号integer constant、c
haracter constant、floating constant、
およびstringを有する。識別子ターミナルは特定のフォーマットを有する
ことに注目されたい。脱字記号「 」ポンド符号「#」の後の最初のinteg
er constantは16進法で指定されたノード・アドレスである。2番
目(任意選択)のinteger constantは16進法でのCALコン
テキスト数である。3番目のinteger constantは16進法での
CALコンテキスト・クラスである。4番目のinteger constan
tは16進法でのCALオブジェクト数である。character cons
tantはCALインスタンス変数(IV)である。識別子の前の脱字記号は「
縁部をトリガされた」ivと「非縁部をトリガされた」ivを指定する。ポンド
符号は、ivが「レベル」または「既存値」であることを意味する。規則は1つ
の「縁部をトリガされた」識別子を有するのみである。
る規則が埋め込まれている非PLXノードに対しては、規則エンジン314は(
シム328、330からの助けで)レガシイ・シンタックスをRDLシンタック
スに変換する。
順序および流れを指令する責任を負う。初期化中は、ディスパッチャ320はR
TOS311を呼び出して、実行時間オペレーションを管理する種々のハンドラ
・スレッドをつくる。ハンドラ・スレッドは、1)受信ペイロード・スレッド、
2)生データ(ストリーミング)送信スレッド、3)CAL送信スレッド、およ
び4)低い優先順位のアイドル・スレッド(任意)、を含む。それらのスレッド
は優先順位の順に記載した。
。デバイスドライバ送りルーチンの呼び出しを行う前に、それらのスレッドはド
ライバが送り要求を取り扱えることを示すTxFreeCountセマフォでま
ず待つ(睡眠)。また、CAL送信スレッドは、「遅延された」モードにあるク
ライアントへはCALパケットが送られないようにする。遅延されたノードにつ
いては以下で説明する。
行う。ハンドラ・スレッドおよびゲートウエイ300のその他の構成要素はディ
スパッチャ320を呼び出してパケットをその待ち行列に加え、かつその待ち行
列からパケットを除去する。ディスパッチャ320はディスパッチ制御ブロック
(DCBs)を用いてCAL要求パケット/CAL応答パケットおよび生データ
流部分を記述する。
きる。bufferフィールドおよびbufferSizeフィールドは、DC
Bにより記述されているパケット/断片データを指し、それのサイズを定める。
destDevAddressおよびstcDevAddressは、DCBに
関連する宛先ノードと送り手ノードを特定する。destSocketおよびs
rcSocketはノード内の宛先アプリケーション/送り手アプリケーション
をさらに特定するために使用することもできる。timeStampフィールド
は、種々の時間切れ条件の処理を支援するためにゲートウエイ300により使用
される。sequeceNoは、主として生データ・パケットストリームのため
のパケットに命令するために用いられる。controlInfフィールドは、
DCBおよび関連するデータ・パケットの求められた特殊な特徴/処理を指示す
るために用いられる種々のビット・フィールドおよびフラッグを保存するために
用いられる。それらのビットはデータ暗号化、認証、およびデータ・ストリーミ
ングのような諸特徴を制御する。reserved1フィールドおよびrese
rved2フィールドはゲートウエイ300により内部で用いられ、かつ外部ア
プリケーションにより用いられる。
られた最高優先順位のスレッドであって、デバイスドライバ322、325が受
信パケットを行列にした時に常に実行する。デバイスドライバ322、325に
おける割り込み/ポール・サービス・ルーチンはこのスレッドを提供できる。こ
のスレッドはパケットを受信待ち行列から除去し、それらのパケットを更に処理
するためにペイロード/プロトコル・ハンドラ312にそれらのパケットを渡す
。このスレッドは受信待ち行列に何も残らなくなるまで実行する(またはおそら
くあるしきい値に達するまで)実行し、その後でより多くの受信が行列にされる
まで休止する。
リーミング送信要求がアプリケーションによって待ち行列にされた、および2)
任意のより高い優先順位のスレッド/割り込みハンドラが実行を終了した時に実
行する。生送信スレッドは送り待ち行列中の次のエントリを獲得し、それを適切
なデバイスドライバ送りルーチンに渡す。これは、送り待ち行列内にもう報告が
残っていなくなるまで、またはあるしきい値に達するまで、繰り返される。その
後で生データ送信スレッドは新しい送信の予定が組まれるまで休止する。
は、CAL送信スレッドが種々の送り待ち行列を取り扱うことである。CAL送
信スレッドはCAL要求事象に対して働き掛ける。CAL要求事象はアプリケー
ション304から来る要求の結果として予定が通常組まれる。それらのアプリケ
ーション要求はディスパッチャ320によりCAL送り待ち行列に置かれる。遠
方のノードまたはノード・データベース308に保存されている状態情報を読出
し(獲得)および書込む(セット)するためにCAL送信を使用できる。規則エ
ンジン314により解釈される規則中に定められている事象をトリガする内部状
態変化および外部状態変化によってCAL送信を発生することもできる。
どうかは任意できる。もし使用されると、アイドル・スレッドは、より高い優先
順位のスレッドが実行している間に安全に無期限に延期できる低い優先順位のタ
スクを取り扱う。低い優先順位のタスクは次の行動をすなわち。1)メモリ管理
タスクおよびがらくた収集タスク、2)非応答ノードを検出および古びさせるた
めに見張りパケット/pingパケットを送り出す、3)キャッシュされたデー
タベース情報を非キャッシュされた(持続する)予備保存コピーに同期させる。
アイドル・スレッドが支持されると、アイドル・スレッドにより呼び出されるべ
き低い優先順位のタスクを他のモジュールがスケジュールできるように、ディス
パッチャ320は他のモジュールにインタフェースを提供する。
御ブロックすなわちDCBにより記述されている)から汎用要求を受け取り、そ
れらの要求を基礎をなすネットワーク・ノードに適切なI/O要求に変換する。
パケットも処理し、以後の処理のためにその後で送られるDCBsを組み立てる
。ディスパッチャ・スレッドはゲートウエイ300のうち、デバイスドライバ3
22、326にインタフェースする唯一のコンポーネントである。デバイスドラ
イバ322、326によりディスパッチャ320に与えられたインタフェースは
DCBを通されるDriverSendインタフェースを含む。媒体アブストラ
クション・コンポーネント(MAC)モジュールはMACヘッダを組み立て、ネ
ットワーク制御器ハードウェアへの実際のパケット送りを開始する。ドライバ割
り込み/ポーリング・ルーチン待ち行列はペイロード受信待ち行列における事象
を受け取り、その後の時刻にその待ち行列は受信ペイロード・スレッドによって
処理される。
ドライブしていると仮定している。しかし、上側の層に提供されるインタフェー
スは、他のドライバがゲートウエイによりサポートされるように汎用である。シ
ム328、330は、X−10ノードおよびネイティブCEBusノードなどの
非PLXベースとするノードが、ゲートウエイ300により継ぎ目なしにサポー
トされるようにするために設けられている。
イバ初期化モジュールが、そのドライバによりサービスされるネットワーク・イ
ンタフェース・ハードウェアを機能的な状態に置く。初期化が終わると、ドライ
バ323とハードウェアがパケットの送受信できる状態にある。ドライバ初期化
の一部が、受信−ハンドラISR/ポール−ルーチンの設定と、ハードウェア資
源の決定/保留と、任意のハウスキーピング・スレッドのスタートとを通常含む
。通常、送信時間切れと死んだ装置ドライバ問題/死んだハードウェア問題を調
べるためにタイマ・スレッドが用いられる。
御情報をDCBを用いてドライバ322に供給する。その後で、ドライバ320
は適切なMACヘッダをつくり、送信を開始する。同時に取り扱える送信の数は
、初期化中に読出すことができるハードウェア/ファームウエアに依存する値(
TxFreeCountと呼ばれている)である。
ーチンが送り時間切れタイマを開始する。この点で、送信終了を示す応答が同期
して受信されないと(DriverSendルーチンが戻る前の送りに続く)、
ネットワーク・ハードウェアが送信終了状態を示すまで送信は「係属」状態にあ
る。送信が係属状態にある間は、ネットワーク制御器が利用できるバッファスペ
ースを有する限り、TxFreeCountにより定められるように、より多く
の送りが起きることができる。係属している送りの数がTxFreeCount
にひとたび等しいと、DriverSendルーチンはロックされ(それ以上の
送りは起きないことを意味する)、ISR/ポール・ルーチンが送信成功状態ま
たは送信時間切れ状態の受取りに続いてそれのロックを解除するまでロックされ
たままである。
ーチンはシステム内で最高の優先順位で実行し(割り込みコンテキストが好まし
い)、受け取られたパケットのMACヘッダの解釈/除去の責任を負い、後で適
切なペイロード・ハンドラにより処理するためにディスパッチャ320でパケッ
トを待ち行列化する。受信パケットは次の部類、1)内部(またはローカル)制
御/状態パケット、2)CALコマンド/要求、3)CAL迅速応答、4)CA
L遅延応答、または5)生ストリーム・データの1つに入る。
いられる。ISRハンドラにおける送信状態パケットの処理は、状態が適用され
る送信パケットのタイプ(たとえば、CAL/生、ローカル/遠隔)にいくらか
依存して通常変化する。
させられたことを状態が示すと、ISRルーチンはTxFreeCountを調
整して次の送りが起きることを可能とする。時間切れ誤りの場合には、CAL送
信は、送りが成功するまで適切な何回か再試行するか、ある最大再試行回数に達
した後で放棄することが好ましい。
受信側で予測されるものとに依存する)、追加の再試行処理を要求することがで
きることを除き、CAL送信に類似するやり方で取り扱われる。生ストリーム断
片は、データストリームの管理の支援のためにパケット・シーケンシングを通常
用いる。生ストリーム受信アプリケーションの要件に依存して、時間切れ取扱い
コードが、その時間切れを送信するばかりでなく、係属中の追加の生送信(より
大きい一連番号を盛っているもの)が成功に終わるか否かとは無関係に、それら
の係属中の送信のいずれも再試行することが望ましいことがある。これは受信ア
プリケーションまたは経路選択ハンドラが昇順の順序でパケットを確実に受け取
ることを支援する。受信app/経路選択装置はそれらを落とすことにより狂っ
た順序を取り扱う必要がある。
列にされ、受信ペイロード・スレッドおよび適切なペイロード・ハンドラにより
後で処理される。
ことを検査するために、特殊な取扱いもCALパケットで用いられる。また、C
AL要求が遠隔のノードから受け取られるとすると、通常は、適切なCAL応答
が送られるまで新しいCALパケットはそのノードに送られることを許されない
。
Busドライバ332など)に対しては、シム323、330は、それらの非P
LXドライバがゲートウエイ300と動作できるようにするインタフェースを提
供する。送信時には、シム323、330はディスパッチャ320により送られ
るCALパケットを調べ、それらのパケットを、基礎を成しているレガシイ・ド
ライバ/装置により認識される同等のフォーマットに変換する。受信時には、シ
ム323、330は受けたレガシイ・データをCALフォーマットに変換し、D
CBを組み立て、そのDCBをディスパッチャ320まで送る。
礎を成すレガシイ・ドライバにより用いられているアドレス・フォーマットに変
換することにより、あるアドレス変換を通常実行する。
れはプリンタ・データ、トンネルを通るのように送られた(tunneled)
イーサネット/ADSLデータ等を含むかもしれない)を制御する。それらのペ
イロードの各々は、ペイロード/プロトコル・プロセッサ312により提供され
る適切なペイロード/プロトコル・ハンドラにより取り扱われる。CALハンド
ラ318は、制御ネットワーク・ノードから受け取られたCAL要求/応答制御
パケットを構文解析および処理するCALインタプリタを含む。ペイロード・ハ
ンドラ・スレッドはCALパケットを更に処理するためにクライアントからCA
Lハンドラへ送る。CALインタプリタはある基本CAL構文解析ルーチンを、
CALメッセージを取り扱う他のゲートウエイ・コンポーネントにも提供する。
CALメッセージに対するポインタと、そのパケットを生じたクライアントのア
ドレスと、働き掛けるべきクライアントのアドレスとを送る。それら2つのアド
レスは、アプリケーション302からパケットが生じた場合を除き、通常は同じ
である。
セージである。クライアント・ノードからのCALコマンドは通常は、「私の状
態変数をある新しい値にセットする」の作用についてゲートウエイ300に何事
か告げる状態変化通知である。アプリケーション304により制御されているよ
うなものなどの、特殊機能クライアントもCALコンポーネントを送り、ユーザ
ーの要求を基にして、他のクライアントの状態(インスタンス)変数を獲得、ま
たはセットする。それらのパケットは次の節で説明する特殊取扱いを通常要する
。
別子を、後でIDおよび引数パラメータで呼び出される適切なデータベースアク
セス法にマップする。データベース・アクセス法306は求められたオペレーシ
ョンを実行し、IVが変化すると、規則エンジン314に通知される。規則エン
ジン314は変化させられたIVに適用されるどのような規則も評価し、保証さ
れるならば、上記のように事象ハンドラ310により事象通知の計画が立てられ
る。
によって用いられる。CAL応答は<status token>[<retu
rned data>]の形のものである。ここに、<status toke
n>は応答(COMPLETED,FALSE,orERROR)のタイプの1
バイト標識であり、<returned>データはコマンド・メッセージの結果
として戻された任意のデータである。
に関連させられる。クライアントが要求に直ちに応答する時はその関連付けは比
較的容易である。応答が遅れた時は関連付けは一層複雑である。関連付を可能に
するものは、あるクライアントが以前の要求に対する応答を送るまで、クライア
ントがCAL要求パケットをネットワークへ送らないかもしれない、という事実
である。「遅延させられた」モードにあるクライアントへはゲートウエイ300
は要求を送らない。これによってゲートウエイ300はクライアントに最後に送
られた要求(またはコマンド)をクライアント毎に保存できるようにされる。ク
ライアント応答が受け取られると、この情報によってCALハンドラ318は、
戻された情報ではすべきことを決定できる。
00は、種々のアプリケーションで生ずることができる多数の、同時データスト
リームをサポートする。生データ・ハンドラ316が生データストリームの間で
識別するやり方はソケット・フィールドを含む。そこでは独自のソケット番号が
各生データストリームタイプに関連させられる。生データストリーム例にはイー
サネット/ADSLネットワークく・パケットと、プリンタ・データと、音声ス
トリーム等が含まれる。生データ・ハンドラ316はソケット番号を調べるため
以外の生データの構文解析はほとんど行わない。パケット・データと、関連付け
られたDCBはその後で、そのソケット番号に責任を負う経路選択ハンドラ35
5へ送られる。
ワーク(イーサネット、ADSL、トークンリング等)からのネットワーク・デ
ータ・トラフィックを所望のネットワークへ向け直すことを可能にする機能を提
供する。たとえば、レガシイ・ネットワークからのネットワーク・データ・トラ
フィックを、PLX電源線ネットワークへ向け直すためにゲートウエイ300を
用いると、1)追加のイーサネット・ケーブル配線の必要なしに、電源線を基に
したノードを含むように従来のイーサネット・ネットワークを拡張できること、
2)広帯域データを電源線を通じて送ることができること、3)電源線をベース
とするネットワーク・クライアントのために代用サーバ性能を可能にすること、
4)レガシイ・プロトコル・スタック(TCP/IP、PX/IPX、NetB
EUI等)を電源線を通じてトンネルを通るように送ることができるようにする
こと、を含むが、それらに限定されるものではない。
。初期化中は、経路選択ハンドラ355は、ゲートウエイ300から発生された
DCBsを送信する際に、srcDevAddressとして用いられている4
バイト・アドレスを得る。経路選択ハンドラ355はこのアドレスを、レガシイ
・スタックとドライバの少なくとも一方に適切な形に翻訳するので、ハンドラは
通信する。
ル)によってレガシイ・ネットワーク・データ・パケットをトンネルを通るよう
にして送るために、経路選択ハンドラ355により用いられる方法を説明するも
のである。トンネルを通るようにして送ることは第1のプロトコルからのパケッ
トを第2のプロトコルい対するパケット内側に封じ込めるすなわち包み込むこと
である。包まれたパケットはその後で第2のプロトコルを介してネットワークを
通じて送られる。それの宛先に到達すると、包まれたパケットはほどかれて第1
のプロトコルからの最初のパケットを現す。
グ表/翻訳表を設定する。経路選択ハンドラ355は、DCBごとにサポートさ
れる最大パケット/断片サイズに気付いてもいる。経路選択ハンドラ355はこ
の情報をディスパッチャ320から得る。種々の経路選択ハンドラ355はソケ
ット番号を用いることによって特定される。初期化中に独占的に使用またはダイ
ナミックに得るために周知のソケット・アドレスを保留できる。
送り要求を経路選択ハンドラ355が得ると、経路選択ハンドラ355は送りデ
ータをサポートされているDCBデータサイズより大きくない断片にばらばらに
する。その後でDCBが作成され、各断片に一連番号が割り当てられる。最初の
断片は常に一連番号0で、最後の断片は一連番号セットの高位のセットが割り当
てられる。任意に、別のレベルで機能が適切に提供されなければ、経路選択ハン
ドラ355はチェックサムをパケットに付加できる。その後でそれらのDCBs
は、生送り待ち行列で待ち行列化するためにディスパッチャ320に渡される。
これは生送りスレッドを覚醒させ、電源線へ送信するためにそれはDCBsを適
切な装置ドライバに渡す。
され、そのDCBは経路選択ハンドラ355に戻される。全てのDCBが戻され
た後で、経路選択ハンドラ355はレガシイ・プロトコルによって求められた送
り終了動作を実行する。時間切れ/再試行の問題がディスパッチャ320と、装
置ドライバと、多くの場合にはレガシイ・スタックによっても同様に取り扱われ
ているので、経路選択ハンドラ355は追加の再試行動作を実行しないことを選
択できる。
355が多数の送り手から断片を同時に受けることが可能だからである。また。
、ある場合には、断片を順序なしで受けることがあり、または断片が脱落するこ
とがある。経路選択ハンドラ355はそれらの可能性の全てを取り扱うことがで
きる受信モジュールを有する。通常は、初めにDCB/断片が、ペイロード/プ
ロトコル・ハンドラ316により経路選択ハンドラ355の1つ渡されるので、
送りアドレスのために留保されている受信待ち行列に置かれる。各DCBが受け
られると、受け手は最後の断片列または受信時間切れを調べる。
は、受信事象を示すためにレガシイ・プロトコル/ドライバにより求められてい
るステップを実行する。これにはパケットの再組み立てと、おそらくは関連する
受信データの、レガシイ・モジュール352により提供されたバッファへのコピ
ーが通常含まれる。各受信DCBにより記述された物が処理された後で、DCB
はフリーDCBリストに戻される。
たとえば、Java、C++、smalltalk等)を基にしており、各種の
アプリケーションがノード・データベース306、規則エンジン314、事象ハ
ンドラ310、およびゲートウエイ300により提供されるその他のサービスに
保存されているノード情報をアクセスおよび管理する方法を提供する。これによ
ってエンドユーザー・アプリケーション302は広範囲の有用な諸特徴をエンド
ユーザーに提供できる。たとえば、ゲートウエイ・ファウンデーション・クラス
304は自立アプリケーションとJava brawser appletが、
ノード・データベース308において記述されているノードの列挙と、監視と、
制御とを可能にする。それらのアプリケーション/appletsは、規則定義
言語を用いて簡単な規則または複雑な規則を定めることによりノードの間の種々
の結合を行うことができる。アプリケーション302は、事象通知ターゲットと
してそれ自身を登録することによりデータベースの変化をそれが起きた時に気付
くようにされることもできる。
修正を、付録Aに続く特許請求の範囲によって定められる本発明の範囲及び要旨
を逸脱することなく、当業者により行うことができる。
、かつキーボードを変更でき、多数のスマート・ノードとダム・ノードを共通の
データ・チャネル/制御チャネルを通じて通信できるようにするネットワークア
ーキテクチャ/プロトコルである。ネットワーク化プロトコルによってこのネッ
トワークにおけるどのようなノードもアクティブなネットワーク・サーバとして
自身を割り当てることができるようにする。アクティブなネットワーク・サーバ
はラインアップ・カードを基にしてクライアント・ノードをポールする。インア
クティブなノードはラインアップ・カードから自動的に除去され、したがって、
不必要なポーリング・トラフィックを減少する。このアーキテクチャは衝突を減
少させ、しかも実際のデータ伝送のための帯域幅を維持する。制御およびデータ
のネットワーク化要求のサポートがプロトコルによって行われる。ストリーミン
グ・データまたは非同期データのためのサポートが、タイムスロットをネットワ
ークに割り当て、かつ2つの知能ノードが、アクティブなネットワーク・サーバ
により仲裁されて相互に直接通信することができるようにする。アクティブなネ
ットワーク・サーバは、主ネットワークの動作とは独立に大量のデータ・トラフ
ィックが流れることができるように、別々のデータ・チャネルを割り当てること
もできる。アクティブなネットワーク・サーバとして動作するネットワーク・ノ
ードはダイナミックに変更でき、かつ通常は、睡眠中のネットワークへの要求の
送信を開始する第1のノードにより決定される。クライアント・ノードは、アド
レス分離スキームを用いてダイナミック・ポーリングによりアドレスされる。
力線(電源線)をネットワーク媒体として使用するネットワークに良く適する。
データの伝送に既存の電源線を使用することは、ユーザーがネットワーク・ケー
ブルを設置する必要がないことを意味する。
アクセス可能性を提供する。ノードはアドレス分離スキームを用いるダイナミッ
ク・ポーリングによってアドレスされる。実行可能なデータ・チャネルが診断、
議論のやりとり、および汎用データやり取りアプリケーションに使用するために
提供される。
郭と、32ビット仮想アドレス可能性とを提供する。それによってPLXプロト
コルはプラグ−n−プレイ・タイプのネットワークに適合できる。
ing)、多数サーバ、簡単な構成、安全、データグラム検出、多数のデータ・
フォーマット、および優先順位決定のスキームなどの諸機能を提供する。CRC
およびチェックサムなどの誤り検出、およびデータ完全性性能はPLXのある実
施形態の部分である。PLXアーキテクチャはスマート・ノードとダム・ノード
を提供し、かつこのアーキテクチャは簡単な制御から複雑なデータ・ストリーミ
ングまでの範囲のデータ・トラザクションを提供する。
れる。流線形の低い端部のノード(ダムノード)を、フルPLX性能のサブセッ
トを使用するために実現できる。機器などの、中間範囲のノードはここで開示さ
れているプロトコルに適合する。PCまたはPSX、インターコム/調査装置、
プリンタ、マウス、およびその他のデータ集中ノードなどのより高い端部のノー
ド(スマートノード)はPLXアーキテクチャにおいてまた応用性を見出す。
ト層のための動作規則を定める。一実施形態では、PLXはデータ・リンク層の
媒体アクセス制御(MAC)部を含む。MACプロトコルは、物理的媒体を各ノ
ードがいつ、どのようにしてアクセスできるかを支配する規則の集まりである。
一実施形態では、MACプロトコルは、電源線における衝突を減少させる、集中
して分布されているダイナミック・トークン・パッシング・アーキテクチャを使
用する。
クティブなネットワーク・サーバとしてそれ自身に割り当てることができるよう
にされている。それはトークンのための要求を仲裁する。ノードがインアクティ
ブであると、それらのノードは「睡眠」モードに入り、したがって、不必要な任
意の「ポーリング」トラフィックを無くす。このアーキテクチャは衝突を減少さ
せ、しかも実際のデータ伝送のための貴重な帯域幅を維持する。
アーキテクチャであって、制御ネットワーク化およびデータネットワーク化の需
要のためのパケットをサポートする。ストリーミング・データまたは非同期デー
タのためのサポートは、ワイヤにタイムスロットを割り当て、2つの知能ノード
がアクティブなネットワーク・サーバによる仲裁で相互に直接話し合えるように
することにより、サポートできる。アクティブなネットワーク・サーバは、大量
のデータ・トラフィックを主ネットワークの動作とは独立に流れることができる
ように、別々のデータ・チャネルを割り当てることもできる。アクティブなネッ
トワーク・サーバとして機能しているネットワーク・ノードはダイナミックに変
更でき、かつ睡眠中のネットワークで送信要求を開始する第1のノードによって
通常決定される。また、アクティブなネットワーク・サーバはアプリケーション
・サーバとは独立に選択される。アプリケーション・サーバは通常は固定ノード
場所である。アクティブなネットワーク・サーバはノードになり得る任意のサー
バとすることができる。
最初にアクセスするためのデータグラム検出アルゴリズムと、その後に続く、ア
クティブなネットワークに挿入するための集中化されたトークン・パッシングを
含む、組合わされた媒体アクセス性能を提供する。これは多数のアクセスを衝突
のない、トークン・パッシング・タイプの環境に実効的に結合する。これは決定
論の付加された利点である。一実施形態では、PLXは最初の媒体アクセス可能
性を決定するデータグラムの存在を用いる。データグラムは指定された前文/長
さシーケンス組合わせを一致させることによって特に決定される。
だけである集中化されたダイナミック・ポーリング・アルゴリズムを用いること
によってネットワークにおけるトラフィックを減少させる。オペランドがひとた
びインアクティブになると、そのノードはポーリング・リストから除去される。
この選択的なポーリング・プロセスは、それら自身を「バスの分割」として知ら
れているプロセスによってポーリング・リストに挿入できるノードの性能を基に
している。
る。この分割プロセスは複数のノード応答が単一のシステム応答として見られる
ようにする。このシステム応答は、アクティブなノード(ポーリングを行ってる
ノード)が特定のノード要求挿入をポーリングリスト内にさらに分割することを
可能にする。
より行われる。インアクティブなノードは、所定の時点の後でそれらがトークン
を使用しなければ、最終的にはポーリング・リストから除去される(挿入を解除
される)。一実施形態では、時間の経過したプロセスは、ノードがトークン要求
に応答し損なったならば、更に促進される。
ズ(オペランドの数)に設定される。低い優先順位のデータ(照明装置の制御デ
ータなどの)を伝えるノードが、より高い優先順位のデータ(ストリーミング・
オーディオ/ビデオ・データなどの)を持つノードのためにリストに余地を設け
るために、ポーリング・リストから除去される。
、予備の受信バイポーラ・トランジスタ、使用中応答ハンドシェイクを用いるこ
とによって自己スロットリング機構を提供する。一実施形態では、各ノードにM
ACヘッダのコピーを保持するために十分大きい受け面積を設けることによって
、自己スロットリングが完成される。以前のパケット要求によりノードが完全に
忙殺されているとしても、その忙殺されているノードは、使用中応答を発生する
ことにより、いぜんとして要求に応答できる。使用中応答は、伝送しているノー
ドにそれのパケットにバーストまたはシーケンスを近寄らせなくしなければなら
ないことを知らせて、各受信ノードの性能に従ってシステムのペースをとる。
期化を行う。新しいノードの電源投入時には、その新しいノードはそれが媒体に
新たに到達したことをアナウンスする。
リズムを提供する。PLXはクライアント/サーバ型アーキテクチャであるので
、媒体アクセスを仲裁するために1つのノードが通常選択される。典型的な電源
線ネットワークでは、全てのノードが必ずしも等しく作られているわけではない
。したがって、PLXの一実施形態によって、最も中央に(すなわち、ブレーカ
ーパネルの近く)配置されているノードをユーザーが選択できるようにされて、
好適な「アクティブなネットワーク・サーバ」として動作できるようにする。好
適なサーバがインアクティブであるとすると、遠隔のノードがその好適なサーバ
をアクティブにことができる。簡単な覚醒アルゴリズムによってインアクティブ
な好適なサーバが再び活動するようにできる。
ードがトークンを獲得する。ひとたびクライアント・ノードにそのトークンが与
えられると、それは媒体を指定された時間だけ使用する。この時間の期間中は、
それはシステム内のどのノードとも、サーバの環境とは独立に、直接通信できる
。この期間が切れると、媒体アクセス制御がサーバ・ノードに戻される。したが
って、媒体仲裁がクライアント/サーバのようにしてまず行われ、それに同列間
タイムスロットが続く。
を仲裁するサーバは活動を基にしてダイナミックに割り当てられる。そのダイナ
ミックな割り当ては、送信すべきパケットを有する最初のノードが、システムが
「インアクティブである」ことを認識し、好適なサーバ(存在するならば)を覚
醒させようとする数回の試みの後で、アクティブなネットワーク・サーバの役割
を行う。PLXネットワークでノードになることができるどのようなサーバもア
クティブなネットワーク・サーバになることができる。
電源線媒体を通じて送受信させる。一実施形態では、ストリーミング・データは
デジタル音声データを含む。一実施形態では、ストリーミング・データはデジタ
ル・ビデオ・データを含む。
、デジタル・インターコム機能を提供するためにこのネットワーク・プロトコル
は用いられる。このネットワーク・プロトコルは広帯域デジタルネットワーク化
サービス(たとえば、DSL、ケーブル、ISDN等)を家庭内の既存の電源線
を通じて家庭全体に拡張するために用いられる。
ィック、すなわち、制御トラフィック、データ・トラフィック、ストリーミング
・データ・トラフィック(ストリーミング・マルチメディア・データ)、を同時
に取り扱うことができ、かつ管理できる。このネットワーク・プロトコルは所与
のノード(音声装置のための決定の要求などの)のネットワーク化要求に依存し
て保証されたアクセス回数を許すために優先化スキームを提供する。PLX OSIモデル 上から5番目までのOSI層203〜207の各々は大きなオーバーヘッドを
ネットワーク・アプリケーションに加える。図3に示すように、PLXは、共通
アプリケーション言語(CAL)と呼ばれている比較的薄いアプリケーション層
607と、比較的薄いトランスポート/ネットワーク層603を用いて、下側の
データ・リンク層602と物理層601を補足する。層601〜603と607
のおのおのはPLXコンプライアント・ノードに通常存在する。図3に示すよう
に、PLXデータ・ネットワーク化ノード(スマート・ノード)は、アプリケー
ション層207と、ネットワーク層203と、トランスポート層204とに通常
のOSIネットワーク性能(たとえば、TCP/IP、IPX、ウインドウズ、
ネットウェア、等)を含むこともできる。PLXコンプライアント・ノードは減
少させられた量の制御情報を通常含む。それは、層601〜603と607にお
いて具体化されるように、PLXスタックのみを用いてPLXノードの間で送ら
れる。PLX物理層 PLX物理層601はネットワーク・ハードウェアと、ネットワーク・ケーブ
ルとに物理的にインタフェースするハードウェアの詳細を取り扱い、および、通
常は、実際のハードウェア自身を含む。物理層は変調技術、使用される周波数、
電力出力、等などの属性を含む。一実施形態では、PLXは下記のようにデジタ
ル電源線(DPL)技術を用いる。PLXデータ・リンク層 PLXデータ・リンク層602は、アドレス指定機能、媒体仲裁スキーム、間
隔の間の間隔決定、バック・オフ・アルゴリズム、などの、媒体100とのイン
タフェーシングの詳細を取り扱う。データ・リンク層602は、発信元アドレス
/宛先アドレスと、長さと、巡回冗長検査(CRC)またはチェックサム・デー
タなどの誤り検出/訂正データとを含むヘッダを含んでいる。PLXネットワーク層 インターネット層と呼ばれることもあるネットワーク/トランスポート層60
3、はネットワーク上の1つの場所から別の場所へのデータのパケットの経路選
択を行う責任を負っている。PLX内では、ネットワーク層603はシステム、
個々のノード、ソケット、およびMACヘッダ・フィールド内のネットワーク・
アドレス・フィールドを用いて通常取り扱われる。PLXトランスポート層 PLXネットワーク/トランスポート層603は、上に存在するアプリケーシ
ョン層607のための2つのホストの間でデータの流れを行う。トランスポート
層603は、一連番号および/または要求/応答型確認応答情報も含む。PLX
内では、アプリケーション制御を行えるようにするために、トランスポート層6
03は、OSIトランスポート層203と比べて小さくされている。トランスポ
ート層603は要求/応答接続手順アルゴリズム、再試行アルゴリズム、時間切
れアルゴリズム、等を提供する。PLXはMACヘッダの制御フィールド内でネ
ットワーク/トランスポート層603をほとんど完全に実現する。PLXアプリケーション層 PLXアプリケーション層607はアプリケーションの詳細を取り扱い、パケ
ット配信を確実に扱うために、どのトランスポートが用いられているかに依存し
て、アプリケーション層607は接続手順プロトコルおよび/または要求/応答
プロトコルとを使用できる。フィールドのかなりの量の重複がOSI層のプロト
コル内に存在する。この重複はより多くのオーバーヘッドに変わり、より多くの
スペースを使用し、追加の処理パワーを要する。PLXプロトコル内では、OS
Iフィールドの多くが必要とされず、したがって通常省かれる。
により、データ・リンク層602が上の3つの層なしに瀘波の多くを行えること
が明らかにされる。この瀘波は、同じ通信チャネルを競合している多数のノード
(たとえば、同じネットワークワイヤを競合している多数のネットワーク・カー
ド)などの、ハードウェアの問題点に留意もするハードウェア論理にデータ・リ
ンク層602が通常しばしば限られるため、有利である。一実施形態では、特定
のネットワーク・ノードのためのネットワーク・ハードウェアが、その特定のネ
ットワーク・ノードに宛てられたデータ・パケットを除く全てを除去する。その
ようなシステムの下では、ノードはデータ・パケットのデータ部分を解析するだ
けである。DPIのための2つプロトコル デジタル電源線(DPL)で使用される2つのプロトコル、すなわち、低レベ
ル・プロトコルと高レベル・プロトコル、をPLXで定めることが好ましい。低
レベル・プロトコルの定義。低レベル・プロトコルはデータ・リンク層602の
定義を与え、パケットが、比較的少数のネットワーク化機能およびトランスポー
ト機能を持つ同じ媒体100からどのようにして瀘波され、送られ、かつ受信さ
れるかの定義を行う。
Xノードは特定のノード属性を制御する共通アプリケーション層607を使用す
る。これにより、ノードの種類とは無関係にPLXシステムを特徴付けることが
できるようにされる。アプリケーション層607はハードウェア・ヘッダが除去
された後で制御情報を解読すなわち構文解析する。物理層:デジタル電源線(DPL)仕様 PLXプロトコルは、光伝送、光ファイバ伝送、無線周波数伝送装置、ツイス
ト・ペア伝送装置、同軸伝送装置、衛星システム、デジタル電源線(DPL)装
置、等を含めた、多くの種類のネットワーク媒体(すなわち、データ伝送装置)
に使用できる多用途プロトコルである。
を使用する。一実施形態では、PLXプロトコルは、単一の低速チャネル(35
0〜1000kbps)、約5.6MHzの低速搬送周波数、約80dBまたは
それより良いダイナミックレンジ、狭い帯域幅使用(速さに依存するが、1MH
z位)のDPLに関連して使用される。
bps)、30MHzまたはそれより上までの高速搬送周波数、約80dBまた
はそれより広いダイナミックレンジのDPLに関連して使用される。
イネンブル状態にされ、受信器が搬送波を検出しなくなるまで、送信器を動作不
能にする間の時間は15マイクロ秒またはそれより長くできる。低レベルプロトコル層:PLXの 仕様 PLXプロトコルは、簡単な制御から複雑なデータ・ストリーミング・ネット
ワークまでの範囲に及ぶアプリケーションのために加減できる。一実施形態では
、PLXプロトコルは一般的なCAL仕様の諸特徴のほとんどに影響を与えるよ
うになっている。EIA−600において定められているCEBusはバス装置
を制御するための産業標準制御言語である。EIA−600は家庭LAN内で使
用するための共通アプリケーション言語の骨組みを提供する。一般的なCALは
EIA−721規格シリーズ(EIA−721.1、EIA−721.2、EI
A−721.3、およびEIA−721.4を含む)で定められている。CEB
us産業協議会(CIC)は、その言語を使用するための「文法」規則を制定す
ることによって、その骨組みに肉付けする家庭プラグ・アンド・プレイ(Hom
ePlug&play)(HPP)仕様を制定している。
えることができるようにする、それらの製品およびシステムの挙動特徴の集まり
の詳細を定めている。たとえば、その仕様は、「住人が不在」または「住人が帰
宅して睡眠中」などの家庭内の種々の状態を識別して、安全システムの起動、屋
内灯の消灯、または温度設定などの適切な操作を家庭システムが行えるようにす
る。HPP仕様は家庭制御用ウィンドウズ’95PCベース・アプリケーション
を開発するための情報も含む。
産業部門(たとえば、娯楽、コンピュータ、冷暖房、台所設備、等)で製造され
た家庭LAN製品の間の通信のための枠組みを提供する。
アプリケーション・コンテキスト」(すなわち、文法規則)を定める。CICは
種々の産業部門が「調和のとれた」アプリケーション・コンテキストを開発する
ことを支援するサポート組織として機能するために作成された。CICのHPP
は、CALをベースとする相互に動作できる製品で家庭LAN市場を求めている
それらの産業部門のための、調和のとれたアプリケーション・コンテキストの要
約である。
にその仕様が包含される。媒体アクセスの概観 PLXは、集中されたトークン・パッシング・スキーム、またはDSMA/C
TPを持つデータグラム検出多重アクセス・プロトコルとして特徴付けることが
できる。多数の同等のノードが同じ物理的媒体100をアクセスすることを許さ
れているために、PLXは、データを媒体100に置くことを試みた時に各ノー
ドを使用するための共通規則群を述べる。
的な決定論的環境を生成する。PLXはデータグラム検出を行う。各PLXノー
ドはトラフィックのための媒体100を「検出」でき、媒体100が現在優勢で
あるならばそれ自身を主張する。構成されたトークン・バッシング型機構を介し
て衝突回避が行われる。PLXは媒体に対するアクセスを取り扱うために単一の
中央仲裁ノードを選択する方法を含む。その中央ノード(アクティブなサーバ)
はアクティブなシステムにトークンが確実に存在するための責任を負う。PLX
は、設計の簡素化と、実現の容易さと、衝突なしのアクセスと、系統的な受容と
、トークンのその後の放棄と、データを確実に配信するため確認応答シーケンス
(要求/応答)とを行うために選択的な動的ポーリングを行うために選択的かつ
動的ポーリングを用いる。
提供する。通常は、PLXにおいては、「アクティブな」ノードのみが媒体10
0で通信する。PLXはプラグ−n−プレイ性能のための全体的アドレス指定方
式と、媒体100のための複数ノード競合を分離するためのアルゴリズムを提供
もする。
証されたタイム・スロット、と、ターンアラウンド時間を短くするために短縮さ
れたセル長さ(パケット長さ)とをも提供する。
トと、真正証明および安全パケットと、制御および管理パケットとを提供する。
供する。その結果、媒体アクセス方法が種々のトポロジーの多くの有利な機能を
利用する高度に洗練されたものになった。媒体アクセス方法論 媒体アクセス方法論は媒体100をアクセスする際に含まれる諸規則の概要を
示すものである。媒体100をアクセスするPLX法は3つの事象、 1.データグラム検出または「聴取」; 2.バスの分割; 3.集中化されたトークン・パッシング を通常含んでいる。
ーバ・ノードとして、またはクライアント・サーバとして特徴付けられる。PL
Xシステムでは、媒体100に対する最初のアクセスは、活動を聴取し、その後
でアクティブなネットワーク・サーバとして自己表明し、最後に、活動している
ネットワーク・サーバによる系統的な、集中化されたトークン・パッシングをす
ることにより行われる。
にPLXにより用いられる媒体アクセス・アルゴリズムを示す流れ図である。図
5に置ける流れ図は電源投入および告知処理ブロック801で始まる。そうする
と各ノードは、電源を投入されると、媒体100に置けるそれの存在を告知され
る。告知が終わると、プロセスは判定ブロック802へ進む。ノードは、送信(
Tx)準備完了コマンドが受け取られるまで、判定ブロック802内でループ(
アイドル)し、そのコマンドが受け取られると、プロセスは判定ブロック803
へ進む。この判定ブロック803において、ノードがラインアップ・カード上に
ないか、またはアクティブサーバでなければ、プロセスはデータグラム検出ブロ
ック804へ進み、さもなければプロセスは判定ブロック816へ進む。判定ブ
ロック816では、ノードがトークンを受け取っていたならば、プロセッサはパ
ケット送りブロック814へ進み、さもなければ、プロセッサは時間切れ判定ブ
ロック810へ進む。判定ブロック810では、時間切れが起きていなかった場
合、プロセスは判定ブロック816へ戻る。さもなければ、プロセスはデータグ
ラム検出ブロック804へ進む。パケット送りブロック814では、プロセスは
送信パケットを送って、ポーリング・ブロック815へ進む。ポーリング・ブロ
ック815では。図7を参照して説明するように、アクティブなネットワーク・
サーバがアクティブなノードをポールし、またはそのノードがクライアントであ
れば戻る。ポーリング・ブロック815が終了すると、プロセスは判定ブロック
802へ進む。
し、その後で判定ブロック805へ進む。処理ブロック804の聴取期間中に媒
体が覚醒しているならば、プロセスはLIP要求判定ブロック806へ進み、さ
もなければ、プロセスは処理ブロック812へ進む。処理ブロック812では、
そのノードは「覚醒」パケットを送り、判定ブロック814へ進む。判定ブロッ
ク814では、3つの覚醒パケットが送られたがそれに対する応答がなかったと
すると、プロセスは自己表明ブロック813へ進む。さもなければデータグラム
検出ブロック804へ戻る。自己表明ブロック813では、ノードはアクティブ
なサーバ・ノードとして自己表明し、プロセッサはパケット送りブロック814
へ進む。
LIP要求が存在しなければ、プロセスは時間切れ判定ブロック809へ進み、
さもなけれぱ、プロセスは処理ブロック807へ進む。時間切れ判定ブロック8
09では、プロセスは指定されたパケット時間切れ期間が経過したかどうかを調
べる。その期間が経過したならば、プロセスは判定ブロック802へ進み、さも
なければプロセスはLIP要求判定ブロック806へ戻る。
ロック808へ進む。判定ブロック808では、ノードがドラフトされたかどう
かをプロセスは調べる。ノードがドラフトされたとすると、プロセスはトークン
受信判定ブロック816へ戻り、さもなければ、プロセスはLIP要求判定ブロ
ック806へ戻る。
クン・パッシング・アルゴリズムの一部である。ブロック804、805、およ
び811〜813はデータグラム検出(聴取)アルゴリズムの一部である。ブロ
ック806〜809はスピッティング・オン・ザ・バス・アルゴリズムの一部で
ある。
眠中」であるか「覚醒している」かに依存して2つの異なるやり方の1つで行わ
れる。媒体100が睡眠中であれば、アクセスを望んでいるノードはアクティブ
サーバとして自身を自己表明する。媒体100がアクティブ(すなわち、アクテ
ィブネットワーク・サーバにより用いられている)と、アクセスを望んでいるク
ライアント・ノードがアクティブなネットワーク・サーバにアクセスを求める。
アクティブなネットワーク・サーバはアクセスを求めたクライアント・ノードの
ラインアップ・カードを保持している。クライアント・ノードは「スピッティン
グ・オン・ザ・バス」として知られているプロセスによってラインアップ・カー
ドに記入されることを求める。
ーク・サーバとして自身を表明できるが、所与のノード内にサーバになることが
できる属性を含むという要求ではない。
すべきアクティブなサーバ・ノードのリストを含む「ラインアップ・カード」を
作成および保持することができなければならない。アクティブなネットワーク・
サーバの全てがインアクティブになり(エージング・プロセスによって)と、ア
クティブなネットワーク・サーバはアクティブなサーバとしてのそれの現在の状
態を放棄し、媒体100は再び眠る(睡眠)ことになる。通常、アクティブなネ
ットワーク・サーバは、媒体100へ送り出す何かを有するノードにより自己指
名される。
ドから除去される。アクティブノードは、高い優先順位のデータを持つノードが
ラインアップ・カードに対するアクセスを必要とする時にもラインアップ・カー
ドから除去される。ラインアップ・カードは通常は最大数のスロットを有する。
いいかえると、ラインアップ・カードはラインアップ・カードに載せることがで
きる最大数のノードを有する。スロットの数は媒体100で利用できる帯域幅と
、種々のネットワーク・ノードにより必要とされている帯域幅とにより通常決定
される。Nがラインアップ・カード中のスロットの最大数、tが特定のアクティ
ブなノードがトークンを保持することを許される最も長い時間(ミリ秒)とする
と、そのアクティブなノードはN×tミリ秒ごとに少なくともおよそ1回トーク
ンを獲得する。したがって、ラインアップ・カードは、アクティブなノードが定
期的な、予測できるベースでポールされることになる、という決定を行う。 た
とえば、ストリーミング・ビデオ・データはストリーミング・オーディオよりも
高い優先順位を持つ。そうすると、N個のストリーミング・ビデオ・ノードがラ
インアップ・カードに既に載せられていると、ラインアップ・カードに載せられ
ることを求めているストリーミング・オーディオ・ノードは拒絶される。しかし
、ストリーミング・オーディオ・ノードには、ラインアップ・カードに載せられ
ることを求めるたびに、トークンが与えられる。ラインアップ・カードに載せら
れているノードは自動的にポールされ、したがって、トークンを求める必要なし
にトークンを定期的に獲得する。ラインアップ・カードに載せられていないノー
ドは、トークンに対する要求、またはラインアップ・カードに載せられる要求、
を行った後でのみトークンを受け取る。
名するノード・プロフィル・オブジェクトに関連して記載されたnetwork
−classフィールドにより決定される。特定のノードに対するnetwor
k classはノード・アドレスの上位4ビット(device typeフ
ィールド)中にも見出される。
わり合いとを反映する2つのローカル・セマフォを管理する。それらのセマフォ
は聴取プロセスを開始すべきか否かをノードが決定することを支援する。通常は
、それら2つのセマフォは媒体100に対するアクセスを行うために用いられる
ので(ノードが送信するものを有しているとき)、ノードはそれらのセマフォを
管理する。
がアクティブか否か(すなわち、パケットが媒体100上で見られるか)に応じ
て、「覚醒している」か「睡眠中」であるかである。
ノード状態はノードの取り得る次のような3つの状態、すなわち、(1)ノード
はアクティブなネットワーク・サーバ・ノードである、(2)ノードはアクティ
ブなクライアント・ノードである、(3)ノードはノンアクティブなクライアン
ト・ノードである、の1つを反映する。ローカル・ノード状態は、ノードが聴取
アルゴリズムを開始すべきかどうか、ノードが現在ラインアップ・カードに載せ
られている(ポールされている)かどうか、またはノードが現在アクティブなサ
ーバであるかどうかを判定する。
する。この判定は媒体100におけるラインアップ挿入要求パケット(LIP)
の存在を基にしている。ノードがLIPパケットを見ると、システム状態腕木信
号は覚醒することになる。ある時間の後で、LIPパケットが見られないとする
と、ノードはシステム状態を睡眠へトグルする。これは、アクティブネットワー
ク・サーバが存在するものとすると、それはクライアント・ノードを覚醒状態に
維持するためにLIPパケットを周期的に送らなければならないことを意味する
。
この腕木信号を使用する。システム状態が睡眠である時のみ、ノードは聴取プロ
セスを通じて媒体100を争う必要がある。
せられているクライアント・ノードにトークン(ポール)を、そのクライアント
・ノードによる最後の送信の後で1ないし10秒間配信する。この時点で、アク
ティブなネットワーク・サーバは、ノードが送信を続け、ラインアップ・カード
からクライアント・ノードを「古びさせる」ことを決定する。クライアント・ノ
ードはこれを検出できなければならない。クライアント・ノードがトークンを現
在受信していると、それはアクティブとみなされる。クライアント・ノードがト
ークンを現在受信していないと、それはインアクティブとみなされる。インアク
ティブなクライアントは、アクティブなネットワーク・サーバによりラインアッ
プ・カードに載せられた後で、「スピッティング・オン・ザ・バス」と名付けら
れたプロセスにより、媒体100に送信することができるだけである。下の表A
1には可能なノード腕木信号状態と、各状態が媒体への送信に関して意味するも
のを示す。
の主な要因である。それは、ノードがアクティブネットワーク・サーバであると
自身で表明すべきか否か、またはそれがクライアントとしての服従的な役割を演
ずるか否かを決定する際の主な要因でもある。通常は、聴取は、睡眠中のシステ
ムへの最初の送信に先立って行われるだけである。いずれかのノードが媒体10
0へ送信していると、アクティブネットワーク・サーバはLIPパケットを送る
ため、およびトークン配信を仲裁するために、アクティブネットワーク・サーバ
は既に選択されており、システムは覚醒している。システムが覚醒しているなら
ばノードはクライアントとして行動すべきである。
およびシステム状態腕木信号が睡眠中であることをそのノードが判定すると、ノ
ードは聴取プロセスを行ってそれの次のステップを決定し、この最初のプロセス
中の衝突を最少にする。これは、2つのノードが媒体100を求めて争うことが
あり、かつ考えられる見えていない衝突が起こり得る、PLXネットワーク上の
時間のみでなければならない。このようにして、堅実なバックオフ・アルゴリズ
ムが提供される。
)ノードに電源が投入されたばかりで、現在のシステムに加えたことを告知する
ために、それの「告知」パケットまたは「CAL−ピン(ping)」パケット
を送る必要がある。(2)ノードはインアクティブで、システムを覚醒させよう
と試みている。いずれのケースでも、聴取中にあるサーバが検出されると、その
ノードはLIPパケットのサーチを直ちに開始すべきである。LIPパケットは
ノードがラインアップ・カードをアクティブネットワーク・サーバに挿入するこ
と、およびその後でのトークン・パッシングおよびノード送信を可能にする。
送CAL−ピン・パケットを送信することにより直ちに告知する。これによって
、情報を「引く」ことを常に試みる代わりにそれを「押す」ことによって、自動
発見機構を一層堅実なものにすることができるようにされる。電源を投入された
ばかりのノードはシステムに関する履歴を持っていないので、聴取アルゴリズム
は正常な覚醒プロセスとは僅かに異なる。
とがある。これは、指定された時間だけトラフィックを実際に聴取し、その後で
その時間中無作為に聴取し、放送覚醒パケットを3回送信して好適なサーバに、
このノードが存在するならば、それをポーリングをする機会を与えることによっ
て行われる。この動作は3回繰り返され、それが終わると、CAL−ピン・パケ
ットが全てのノードへ放送されて、システムへのエントリが成功したことを知ら
せる。聴取/ピンのための一連の動作が擬似コードで次のように与えられている
。
Pパケットを求める)。 b)覚醒パケットを間隙間に300μsの間隔をおいて3回放送する。 c)聴取を続けて全部で125msの時間を終了する。 2) a)125msより短い任意の長さの時間媒体100を聴取する(LI
Pパケットを求める)。 b)覚醒パケットを間隙間に300μsの間隔をおいて3回放送する。 c)聴取を続けて全部で125msの時間を終了する。 3) a)125msより短い任意の長さの時間媒体100を「聴取する」(
LIPパケットを求める)。 b)覚醒パケットを間隙間に300μsの間隔をおいて3回放送する。 c)「聴取」を続けて全部で125msの時間を終了する。 4)アクティブネットワーク・サーバとして表明し、放送「CAL−ピン」
パケットを送信して存在を示す。 5)アクティブネットワーク・サーバとしての表明を取消す。
からこのプロセスが要する待ち時間は通常は長くない。以下に説明する実行時間
覚醒プロセスはもっとしばしば実行されるので、待ち時間はもっと短いことが望
ましい。
ると、それは実行時間モードで動作を開始する。それの実行時間動作モード中に
、ノードがパケットを睡眠中のシステムへ送る必要があると、それは同様な一連
の事象を進んで、好適なサーバを覚醒させようと試みる。好適なサーバが存在せ
ず、かつアクティブネットワーク・サーバが存在しないとすると、ノードはアク
ティブネットワーク・サーバと自身を表明し、クライアント・ノードのポーリン
グを開始する。聴取/覚醒アルゴリズムのための疑似コードの表が下に与えられ
ている。下に与えられているアルゴリズムに加えて、応答時間をより短くするた
めに、システムの状態を反映させるためにノードは媒体100の監視と、ローカ
ル・ノードセマフォの使用とを交互に行うことができる。このプロセスに関連す
る待ち時間を一層短縮するために、ローカル・ノードセマフォは覚醒パケットに
関連して用いられる。
LIPパケットを求める)。 b)覚醒パケットを間隙間に300μsの間隔をおいて3回放送する。 c)「聴取」を続けて全部で125msの時間を終了する。 2) a)125msより通常短い任意の長さの時間媒体100を聴取する(
LIPパケットを求める)。 b)覚醒パケットを間隙間に300μsの間隔をおいて3回放送する。 c)聴取を続けて全部で125msの時間を終了する。 3) a)125msより短い任意の長さの時間媒体100を「聴取する」(
LIPパケットを求める)。 b)覚醒パケットを間隙間に300μsの間隔をおいて3回放送する。 c)聴取を続けて全部で125msの時間を終了する。 4)アクティブネットワーク・サーバとして表明し、それに応じて次のパケ
ットを送信する。 5)アクティブネットワーク・サーバとしての表明を取消す。
している(アクティブネットワーク・サーバが存在し、かつそれが現在トークン
を配信している)時に「スピッティング」プロセスは起きる。アクティブネット
ワーク・サーバは媒体100をアクセスすることを許可されている唯一のノード
である。アクティブネットワーク・サーバのラインアップ・カードは、インアク
ティブのクライアント・ノードが媒体100をアクセスできるようにする機構の
ことである。
たは覚醒中、のいすれか1つで現れる。スピッティング・プロセスはネットワー
クが現在どの状態にあるかに応じて僅かに異なる。
が判定した時にネットワークは睡眠状態に入り、その結果、トークンの送信を停
止する。ネットワークの動作停止の前に、アクティブネットワーク・サーバは一
連のマスクされた群LIP(LIPG)要求パケットを指定された時間送る。一
連のLIPG要求パケットがどのクライアント・ノードからも応答を引き出さな
いと、アクティブネットワーク・サーバは活動しなくなり、ネットワークは睡眠
状態に入る。送信を求めているノードによるネットワークへのその後のエントリ
は、その後で上記正常な競合取扱い、聴取アルゴリズムを介して行われる。
と情報を能動的に交換しているノードを象徴する。覚醒状態では、媒体アクセス
はアクティブネットワーク・サーバおよびそれのラインアップ・カードにより制
御される。ラインアップ・カードに現在載せられているノードに対するトークン
・パッシングを用い、かつラインアップ・カードに載せられようと試みているノ
ードに対するスピッティングによって衝突は減少させられる。
ットワーク・サーバがLIPGパケットを周期的に送ることができるようにされ
る。睡眠中のクライアント・ノードはLIPGパケットに応答することを許され
る。応答がひとたび見られると、アクティブネットワーク・サーバはマスクされ
ていないLIPD要求を全てのノードへ送って、トークンを望んでいるノードの
アドレスを持つ単一の応答を希望する。2つ以上のノードがトークンを求めて競
合しているとすると、応答は見られず、アクティブネットワーク・サーバはノー
ド分離シーケンスに入る。
イアント・ノードのためのスピッティング・オン・ザ・バスのプロセスを示す図
6Aでは、アクティブネットワーク・サーバのためのスピッティング・オン・ザ
・バスのプロセスは、ノードがアクティブネットワーク・サーバになった時にス
タート・ブロック901で始まる。プロセスはスタート・ブロック901からポ
ーリング・ブロック902へ進む。ポーリング・ブロック902では、アクティ
ブサーバは現在ラインアップ・カードに載せられているクライアント・ノードの
全てをポールする。ポーリングがひとたび終了すると、プロセスは送信ブロック
903へ進む。送信ブロック903では、アクティブサーバ・ノードはマスクさ
れていないLIPG要求を送り、その後で判定ブロック904へ進む。判定ブロ
ック904では、アクティブサーバはLoGI応答を探す。LoGI応答が受け
られたとすると、プロセスはプロセス・ブロック905へ進み、さもなければ、
プロセスはポーリング・ブロック902に戻る。
PD要求を送り、その後で判定ブロック906へ進む。判定ブロック906では
、アクティブサーバが直接ACK(DACK)応答を探す。1つのDACK応答
が受信されると、プロセスはプロセス・ブロック907へ進む。多数のDACK
応答が受信されるか、DACK応答が受信されないと、プロセスはノード分離ブ
ロック910へ進む。プロセス・ブロック907では、DACK応答を送ったク
ライアント・ノードがラインアップ・カードに加えられ、その後でプロセスはポ
ーリング・ブロック902に戻る。
プロセスはLIPGマスクを初期化し、プロセス・ブロック911へ進む。プロ
セス・ブロック911では、マスクが更新され(たとえば、マスク中の次のビッ
トがトグルされる)、プロセスは送信ブロック912へ進む。送信ブロック91
2では、マスクされたLIPG要求が送られ、プロセスは判定ブロック913へ
進む。判定ブロック913では、プロセスはLoGI応答を探す。LoGI応答
が受信されると、プロセスは判定ブロック915へ進み、さもなければ、プロセ
スはプロセス・ブロック914へ進む。プロセス・ブロック914では、プロセ
ス・ブロック911で最近にトグルされたマスク・ビットがトグルを解除され、
プロセスは判定ブロック915へ進む。
スはプロセス・ブロック916へ進み、さもなければ、プロセスはプロセス・ブ
ロック911に戻る。プロセス・ブロック916では、アクティブネットワーク
・サーバはマスクされたLIPG要求を送り、判定ブロック917へ進む。判定
ブロック917では、DACK応答が受信されると、プロセスはプロセス・ブロ
ック907へ進み、さもなければ、プロセスはポーリング・ブロック902に戻
る。
いるサーバの一部である。プロセス・ブロック910〜917はノード分離シー
ケンスをスピッティングしているサーバの一部である。
、アクティブネットワーク上のクライアントのためのスタート・ブロック931
で始まる。スタート・ブロック931から、プロセスは判定ブロック982へ進
み、そこで送信状態が調べられる。送信状態が「準備完了」であれば、プロセス
は判定ブロック983へ進み、さもなければプロセスはアイドル・ブロック98
8へ進む(アイドル・ブロックは判定ブロック982に戻る)。
スは送信ブロック989へ進み、さもなければ、プロセスは判定ブロック984
へ進む。送信ブロック989では、ノードはデータのパケットを送り、プロセス
は判定ブロック982に戻る。判定ブロック984では、ノードがLIPD要求
を受信すると、プロセスはプロセス・ブロック990へ進み、さもなければプロ
セスは判定ブロック986へ進む。判定ブロック986では、プロセスは時間切
れまたはシステム睡眠状態を調べる。プロセスが時間切れまたは睡眠を検出する
と、プロセスはプロセス・ブロック987へ進み、そこで現在のノードが実施例
をアクティブサーバであるとして表明する。
ド・アドレスと比較され、プロセスは判定ブロック991へ進む。判定ブロック
991では、マスクがノードに一致すると、プロセスは応答ブロック992へ進
実、さもなければ、プロセスは判定ブロック982に戻る。応答ブロック992
では、ノードはネットワーク・サーバに応答し(適切なLoPGまたはDACK
で)、プロセスは判定ブロック682に戻る。
質問を周期的に放送する。群LIP(LIPG)質問は論理群分離(LoGI)
応答を任意の数のノードから求める。この機構は、衝突のない機構において使用
中ネットワーク内にラインアップ・カードに挿入する機会をクライアント・ノー
ドに与える。LoGIパケットの利点は、多数の同時ノードがこの種のパケット
を送信できること(それらが同じ時間内にあると仮定して)、および結果が単一
のLoGIパケットである、ということである。したがって、多数のLoGI応
答によって単一のLoGIパケットが受信ノードにより見られることになる。
ノードがLIPシーケンスをラインアップ・カードに挿入することを開始するこ
とを望んでいるかどうかを判定するために送られる、マスクされていない群LI
P(LIPG)質問である。LoGIシーケンスが見られたとすると、おそらく
単一のノードのみが挿入することを望み、したがって、マスクされていない直接
LIP(LIPG)パケットが次に送られる。直接応答が見られないと、その後
のLIPGパケットがマスクされたアドレスを持つ群パケットとして送られる。
これは、ラインアップ・カードに挿入される特定のノードを分離するために用い
られる、骨の折れる、効率の低い分離機構である。これはビットマスクを系統的
に送ることによって行われる。それは遠隔ノードの32ビットアドレスの単一の
ビットを同時に分離する。2つまたは3つ以上の衝突したノードがトークンを同
時に要求したときに、この分離機構は実行されなければならない。
質問の目的は、単一のノードのみが応答することを希望して(それは時間のほと
んどのケースでなければならない)マスクされていないLIPD要求を全てのノ
ードへ送ることによりLIPプロセスを促進することである。LIPDパケット
は応答するノードのアドレスを含む通常のDACK応答で応答される。単一のノ
ードが応答すると、応答が見られ、ノード・アドレスがラインアップ・カードに
適切に加えられる。しかし、LIPD要求が見られないと、(多数のノードが同
時に応答するために)アクティブネットワーク・サーバは、LIPGパケットを
用いて、正常な分離アルゴリズムによって分離を続け、「ラインアップ・カード
」に挿入される競合しているノードのうちのただ1つを選択する。
ットは分離プロセスを促進するために用いられるだけである。
D質問からは見られないと、アクティブネットワーク・サーバはノード分離に自
動的に進む。分離シーケンスは、LoGI応答を要求するLIPGパケットを使
用する。これによって多数の同時応答をアクティブネットワーク・サーバによっ
て見られるようになる。
セットされたパケットを送ることによってこのシーケンスを開始する。送信を望
んでいるノードは、この特定のアドレス・ビットがそれら自身に一致し、かつ一
致した時のみ、このパケットに応答する。このアルゴリズムは、元のマスクとの
比較が後に続く簡単な「AND」である。2つの値が一致すると、パケットはL
oGIにより応答される。
ち、次のビットがセットされている次のパケットを送る。再び、ビット・シーケ
ンスが一致したならばノードは応答する。どのノードも応答しないと、アクティ
ブネットワーク・サーバは現在のビットをクリヤし、そのパケットを再び試行す
る。これは、32ビットの全てが識別されて一致が見出されるまで続行される。
この時点で、唯一に識別されたノードがアクティブネットワーク・サーバのライ
ンアップ・カードに加えられる。
(スピッティング・プロセスにより)、媒体100をアクセスできる時間である
決定論的タイムスロットを与えることが望ましい。各ノードに使用中の媒体10
0を介して送信する同じ機会を与えることも望ましい。イーサネットは上記利点
のいずれも欠いているが、トークン・リングは両方とも有する。
アドレス、およびトークンが常に存在/回転することを知ることを要求する点が
欠点である。従来のトークン・リング・ネットワークのオーバーヘッド要件は、
PLXにより意図されているダム・ノードとは適合しない。さらに、電源線ネッ
トワークの特別なネットワーク化要件はそのような厳密なトークン回転には寄与
しない。したがって、PLXはダイナミック・ラインアップ・カードを有する集
中化されたトークン・パッシング(CTP)機構を導入する。
ること、トークンを必要としている全てのノードがそれを得ること、睡眠中のノ
ードが覚醒できかつトークンを受信することができること、およびトークンが決
定論的なやり方で公平に分配されることを確実に行う責任を負っている。CTP
の下では、アクティブサーバ以外のノードはクライアントと呼ばれている。アク
ティブネットワーク・サーバの役割は上記データグラム検出または聴取プロセス
を通じて自己指名される。アクティブネットワーク・サーバの役割は媒体100
での所定の時間の動作の後で破棄される。一実施形態では、アクティブサーバの
役割は約5秒の動作しなかった後で放棄される。システムの動作中は、アクティ
ブネットワーク・サーバはラインアップ・カード中の各クライアント・ノードを
ポーリングするとともに、新しいノードに、それら自身をラインアップ・カード
にスピッティング・プロセスを通じて挿入できる機会を与える役目をする。
て、ノードがアクティブサーバになるスタート・ブロック1001で始まる。プ
ロセスはスタート・ブロック1001から判定ブロック1002へ進み、その判
定ブロックで周期的LIPパケットを送信の必要性を判定する。LIPパケット
が必要とされると、プロセスはプロセス・ブロック1010へ進み、さもなけれ
ば、プロセスはプロセス・ブロック1003へ進む。プロセス・ブロック101
0では、ノードは図6Aに関連して説明したアクティブサーバ・スピッティング
・プロセスを実行する。プロセス・ブロック1010が終了すると、プロセスは
プロセス・ブロック1003へ進む。
エントリを獲得して判定ブロック1004へ進む。プロセス・ブロック1004
では、ラインアップ・カード中の全てのエントリが処理されると(すなわち、全
てのクライアント・ノードが話す機会を持っていると)、プロセスはプロセス・
ブロック1011へ進み、さもなければ、プロセスはプロセス・ブロック100
5へ進む。プロセス・ブロック1011では、トークンはアクティブサーバに与
えられ(したがって、アクティブサーバが話すことを許される)、プロセスはプ
ロセス・ブロック1005へ進む。
れた次のノードに与えられ、プロセスは判定ブロック1007へ進む。判定ブロ
ック1007では、応答時間切れが起きると、プロセスはプロセス・ブロック1
012へ進み、さもなければ、プロセスは判定ブロック1007へ進む。判定ブ
ロック1007では、クライアント・ノードがそのトークンを使用しなかった場
合、プロセスはプロセス・ブロック1012へ進む。プロセス・ブロック101
2では、アクティブノードの数のカウントがデクリメントされ、プロセスは判定
ブロック708へ進む。
スはプロセス・ブロック1009へ進み、さもなければ、プロセスは判定ブロッ
ク1002に戻る。プロセス・ブロック1009では、アクティブサーバは活動
してい無いクライアント・ノードへ戻る。
マットをとることができる。種々のフォーマットは3つの別々の部類にグループ
化するのが好都合である。
同じ応答パケットを同時に送信/受信できる。それらは論理的グループ分離(L
oGI)パケットと呼ばれており、放送/再放送および確認応答のために主とし
て用いられる。
ばれている、他の2つの型のパケットは、単一のノードが任意の所与の時点でワ
イヤにより通信する時に用いられる。新しい生データ・ペイロード・パケットは
、それのアプリケーションに属する情報の送信/受信を望んでいるアプリケーシ
ョンにより用いられる。ホスト・ノードから来るパケットは生データ・ペイロー
ド・パケットおよび任意のCALパケットである。
るために用いられる。PLXコマンド・パケットはアダプタのファームウエア内
およびハードウェア内で発生し、かつ終息して、ホスト・ノードは通らない。P
LXコマンド・パケットはトークン、確認応答、ラインアップ挿入等の円滑な流
れを容易にするものであって、全てのPLXネットワークに固有のものである。
へ送り出す時に第1の形式が用いられる。PLXは衝突が減少した、またはある
場合には衝突がない環境が望ましいので、衝突を検出することは困難である。し
たがって、同時応答が可能である。図8に示されている、LoGIパケット11
00は2バイト0フィールドと、それの後に続く多数の2バイトオール「1」フ
ィールドと、それの後の2バイト0フィールドとを含む。この種のパケット内に
存在するデータは非常に秘密であるが、群応答を単一のノードに分離することを
助けるその目的を果たす。
のマスク手段はマスクされたアドレスに一致でき、したがって、多数の同時応答
が生ずることができる。LIPGパケットについては後で説明する。
ってある非常に単純化されたデータも含む。長くされたパケットは、異なる型の
応答を示すために、時間変位(time displacement)と共に用
いなければならない。放送パケットはこの特徴を用いて、使用中の応答を1つま
たは複数のノードにより同時に示すことができるようにする。
はネットワーク上で最も一般的に用いられている形式であって、有用なデータ情
報を送信および受信するために有効な形式である。
いる応答の型とを示す2つの形式もとる。それらはグループアドレスされる(通
常は放送パケット)パケット型および直接にアドレスされるパケット型である。
群アドレスされるパケットはLoGI応答を受信することのみができ、一方、直
接アドレスされるパケットは、単一の応答が期待されているために、直接確認応
答パケットすなわちDACKパケットを受信する。
別々の部類にさらに分割される。それらは生データ・パケットとPLXコマンド
・パケットである。
リアンブル・フィールド1201と、長さフィールド1202と、長さフィール
ド1203と、ctrlフィールド1204と、宛先アドレス・フィールド12
05と、発信元アドレス・フィールド1206と、シーケンス・フィールド12
07と、認証フィールド1208と、DSkフィールド1209と、SSkフィ
ールド1210と、ペイロード・フィールド1211と、CRCフィールド12
12とを含む。生データ・パケット1200はアクティブサーバ・ノードまたは
クライアント・ノードによって送られる。長さフィールド1202と、長さフィ
ールド1203と、ctrlフィールド1204と、宛先アドレス・フィールド
1205と、発信元アドレス・フィールド1206と、シーケンス・フィールド
1207と、それから認証フィールド1208と、DSkフィールド1209と
、SSkフィールド1210はMACヘッダ1215の構成要素である。ペイロ
ード・フィールド1211は適切なペイロード・ハンドラにより調べられるべき
アプリケーション層情報を含む。ホストPCおよびCALインタープリータはペ
イロード・ハンドラの例である。一実施形態では、生データ・パケット1200
は3バイトのプリアンブル1201と、13〜15バイトのMACハンドラ12
15と、255バイトまでのペイロード部1211と、2バイトのCRC121
2とを有する。
って通信するための手段を提供することにより、媒体100を介するデータの流
れを容易にするために用いられる。PLXコマンド・パケットの変形についての
説明を以下に行う。
10に示されており、それはプリアンブル・フィールド1201と、長さフィー
ルド1202と、長さフィールド1203と、ctrlフィールド1204と、
宛先アドレス・フィールド1205と、発信元アドレス・フィールド1206と
、CRCフィールド1212とを含む。長さフィールド1202と、長さフィー
ルド1203と、ctrlフィールド1204は(16進)値0x05、0x05
、および0x17をそれぞれ有する。
のペイロード型パケットも求める。注意を必要としないノードは単にDACKす
べきであり(状態フィールドが0x03にセットされている)、これは、それら
のノードが話すべきなにものも持たず、トークンを使用しないことを意味する。
び出すべきである(LIPプロセスによって)。ノードがこのトークンを用い続
けている限り、アクティブネットワーク・サーバはそれにトークンを送り続ける
。しかし、クライアント・ノードが「使用されていないトークン」応答で繰り返
し応答すると、アクティブネットワーク・サーバはノードを老化させ、それはラ
インアップから外される。
)とCRCを含んでいるが、データ・フィールドは用いられない(データ・フィ
ールドのサイズは零である)。トークンは、アドレスを0xfffffffeに
固定すべきである「アクティブネットワーク・サーバ」から来ることができるの
みである。
ォーマットが図11に示されており、それはプリアンブル・フィールド1201
と、長さフィールド1202と、長さフィールド1203と、ctrlフィール
ド1204と、宛先アドレス・フィールド1205と、状態フィールド1401
と、CRCフィールド1212とを含む。長さフィールド1202と、長さフィ
ールド1203と、ctrlフィールド1204は(16進)値0x06、0x
06、および0x07をそれぞれ有する。
するために受信ノードにより送られる。DACKパケットは直接にアドレスされ
たメッセージ・パケット(LIPDパケットを除き)から戻されるだけである。
シェイキング・シーケンスを終了させるために用いられ、その結果3つのノード
...1)アクティブネットワーク・サーバ、2)要求するノード、3)応答す
るノード、を含む。(要求するノード/応答するノードは、「アクティブネット
ワーク・サーバ」が現在の要求の宛先であるならば、「アクティブネットワーク
・サーバ」とすることもできる)。DACK状態フィールドはパケットを受信す
るノードの型(アクティブネットワーク・サーバまたはクライアント)に応じて
変化する。要求するノードへ(応答するノードによって)送り返されたDACK
パケットは、要求しているノードへ制御を戻してパケットの流れを継続し、(要
求するノードにより)「アクティブネットワーク・サーバ」へ送り返されたDA
CKパケットは「アクティブネットワーク・サーバ」へ制御を戻して、パケット
の流れの終りを知らせる。要求するノードは、シーケンスまたはDACKパケッ
トが受信されていないと、パケットを再度要求する役目を有する。
ードとを含む。状態フィールドは受信したパケットに関する情報を含み、それは
このフィールド内に戻される。状態フィールド1101の値を表A2に示す。
で送られる状態ではないかもしれないことに注目すべきである。ホストに送られ
る状態情報に関するより多くの情報については内部PLXパケット、Tx状態に
ついての節を参照されたい。
ット1500のフォーマットを示すものであって、それはプリアンブル・フィー
ルド1201と、長さフィールド1202と、長さフィールド1203と、ct
rlフィールド1204と、宛先アドレス・フィールド1205と、マスク・フ
ィールド1501と、CRCフィールド1212とを含む。長さフィールド12
02と、長さフィールド1203と、ctrlフィールド1204は(16進)
値0x09、0x09、および0x23をそれぞれ有する。
て、それはプリアンブル・フィールド1201と、長さフィールド1202と、
長さフィールド1203と、ctrlフィールド1204と、宛先アドレス・フ
ィールド1205と、零フィールド1601と、CRCフィールド1212とを
含む。長さフィールド1202と、長さフィールド1203と、ctrlフィー
ルド1204は(16進)値0x09、0x09、および0x23をそれぞれ有
する。
によって送られて、新規の物が既存のラインアップ・カードに入ることができる
ようにする。これは2つの別々のパケットで行われ、それらのパケットは両方と
も全ての聴取しているノードへ放送される。第1のパケット、すなわちLIPG
パケット1500、はLIPマスク・フィールド1501を含む。マスク150
1はLoGIシーケンスで応答する前に遠方のもののアドレスに一致しなければ
ならない。第2のパケット、すなわちLIPDパケット1601は、応答するノ
ードを、それの発信元アドレス(ラインアップ・カードに挿入すべき)を含んで
いるDACKパケットで応答させることによって、挿入プロセスを促進するため
に用いられる。
内に対応するビット・シーケンスを有する。ノードはLoGIパケットでLIP
Gパケットに応答しなければならない。同様に、LIPDパケットはマスクされ
ておらず、これは、ラインアップ・カードに入ることを望んでいる全てのノード
(これはノードがラインアップ・カードに既に無いことを意味している)もDA
CKで応答すべきであることを意味する。
ある。これは、生データ・パケット型とPLXコマンド・パケット型の両方につ
いてあてはまる。
いが、ハードウェアを入来パケットに同期させるキャリヤを検出するため、およ
び現在のパケット内の以後のバイトのビット時間すなわちライン速さを決定する
ために用いられる所定のビット・パターンである。プリアンブルの長さは、ライ
ン上に有効なキャリヤおよび同期化を存在させるために必要な最小量のビット時
間によって決定される。そのプリアンブル1201のビット・パターンは 値 シーケンス 0xaa 第1の同期バイト 0x31 第2の同期バイト 0xnn 速さ/第3の同期バイト である。
スタートする)の速さを決定するものであって、次のように要約される。
ト1202〜1203が続く。それらのバイトは新な速さで来る。
られる。長さフィールド1202〜1203は、有効なパケット受信を決定する
ためにハードウェアにより使用される(キャリヤ検出信号が存在しない中で)。
パケットの長さにひとたび達すると、CRCフィールド1212の妥当性が検査
される。したがって、PLXパケットの長さは全部で256バイト(プリアンブ
ル・フィールド1201とCRCフィールド1212を含めて)に制限すること
が好ましい。その長さはMACヘッダ1215(制御、アドレス等)と、オプシ
ョンのフィールドと、ペイロード・フィールド1211とを含む。
を確実にするために長さフィールドは2つの時間(1202、1203)に重複
される。長さフィールド1202〜1203はパケット受信の開始前に相互に(
およびプリアンブル一致)一致しなければならない。
ド・パケットまたは生データ・パケット、の1つとすることができる。
ドおよび内部PLXコマンドにさらに分類される。内部PLXコマンド・パケッ
トは、ローカル接続(USB、1234、直列等)を介するハードウェアとホス
ト・ノード・ドライバとの間のハンドシェイクを指す。外部PLX・コマンド・
パケットは、媒体100アクセスを調整する電源線媒体100自体上のハンドシ
ェイク・パケットを指す。
トは表A3に示されているように特定の定義のための専用である。
非PLXの型かを示すために用いられる。PLXプロトコル要求は異なって取り
扱われ、かつほとんどの場合にマイクロコントローラファームウエアによって取
り扱われ、生データ・パケットは別々のアプリケーション・ソフトウエアすなわ
ちホスト・ソフトウエアにより通常取り扱われるので、制御フィールド内で区別
を行うと都合が良かった。生データ・パケットは、適切なアプリケーション・ソ
フトウエアに渡すべき生ペイロード情報を通常含んでいる。この場合の例外は、
マイクロコントローラ内のインタープリータの一部と、ホスト・マシン内の一部
を含んでいるCALパケットである。
るワイヤからの要求であり、第2の形式はワイヤへは進まないホストからの要求
である。マイクロコントローラファームウエアはそれら2つの型に対する応答を
弁別し、かつ2つの型は相互に完全に別個なので、このビットが作成されたもの
である。
権を媒体100へ転送するために用いられ、「アクティブネットワーク・サーバ
」が媒体100の制御を他のノードへ一時的に放す場合にシーケンスを終了する
。他の2つのPLXコマンド・パケット、LIPGとLIPD、は応答パケット
を求める。応答型は型LoGIまたは型DACKのいずれかである。このビット
はどの型の応答をノードが利用すべきであるかを決定する。
ッシング・システム内の2つのノードの間の接続なしの、確認応答されたデータ
転送指すおよび確認応答されなかったデータ転送サービスを提供する。それらの
ビットによってこの通信が行われることが可能になる。
令されたトークンを媒体100に置く。クライアント・ノードが媒体100に対
するアクセス権を、DACK応答パケットがアクティブネットワーク・サーバ・
ノードへ戻ることを指令された状態で終了する。アクティブネットワーク・サー
バは、クライアント・ノードをポーリングする時にアクティブノードのラインア
ップ・カードを維持する。ラインアップ・カードに載せるために、クライアント
・ノードは指令されたLIP要求(LIPD)または群LIP要求(LIPG)
のいずれかに適切に応答する。
報を、確認応答された形式または確認応答されない形式で持っているパケットを
それらのノードは送受信できる。下記は媒体100において許された有効なPL
X副パケット外部型の表である。
り受信されない場合、送信(要求または応答している)ノードがその要求(応答
)を再試行する責を負う。
できる。ホスト・ノードは、それが物理的に接続されている、取り付けられたノ
ードに関する情報をアクセスすることを周期的に必要とする。これは、取り付け
られているノード上のためであり、かつ遠方のノードへ送られるように通常はワ
イヤに置くべきでないため、内部PLX要求として知られている。下記は可能な
内部PLX副型についての記述である。
な応答がホスト・ノードへ送り返される。内部パケットは媒体100へ決して送
られない。したがって、このパケット型はペイロード・パケット節では定められ
ておらず、PLX(内部)ホスト・パケットの下で定められた節にある。
ないかを指定する。応答型は4つの形式、すなわち、バースト(応答なし)、二
重LoGI、LoGI、およびDACK、のうちの1つをとる。
ケンスの最後のパケットには異なる確認応答型が割り当てられる(バースト・シ
ーケンスを終了するために、応答が用いられる)。
可能になる。ノードがパケットをバッファできない場合、それは最初の間隙間間
隔内で応答し、それがパケット正しく受信さしてパケットを解析すると、遅延さ
れた間隙間間隔中にそれは応答する。
構である。LoGIパケットの長さは帯域幅に関して最も効果的であるが、応答
についての非常に多くの情報を含むことはできない。
るかに多くの情報を含むことができる。
できる。1つの暗号化法が256ビットDiffie−Hellmanハンドシ
ェイクを用いて鍵の変更をこなうことができ、その後で、秘密の32バイト・ア
レイが媒体100を通じて確実に送られる。その後のトランザクションは確実な
通信のために暗号化アレイを使用できる。
成される。
ドレス内の適切なアプリケーションへパケットを送れるようにする機構が用いら
れる。それらの型のアプリケーションはソケット・フィールドを使用する。第1
のバイトは宛先ソケット・アドレスであり、第2のバイトは発信元ソケット・ア
ドレスである。したがって、このビットを設定することにより、MACヘッダの
サイズが2倍になる。このフィールドは、実施された時は、認証バイトの直後に
あり、下記のビットがセットされると含まれる。
プロトコルによって解析できる情報を含む。PLXは、ネットワークを横切って
送信/受信すべきそれらの型のパケットを入れるトランスポートとして単に用い
られる。通常は、より高いレベルの解析ルーチンがホスト・システムに存在する
が、最小セットのハードウェアはCAL解析機能を含むことが要求される。した
がって、ハードウェアはCAL要求を解析し、適切なペイロード取扱いルーチン
までの他の全ての要求を送る。プロトコル情報の中にはハードウェア(たとえば
、ROM、フラッシュメモリ等)内に配置できるものがあり、他のプロトコル情
報はホスト・ノードにより解析される。このビットは、ハードウェア・プロトコ
ル・ハンドラがこのパケットの解析を開始することを要求されているか否かを決
定する。
ではなく、その代わりにプロトコル・ヘッダ自身の最初のバイトであることを意
味する。PID解析可能なパケットは最初のバイト−コードを復号してどのプロ
トコルがそのパケットを解析すべきかを決定する。
のデータバイトは現在のパケットを解析するのに必要なプロトコルの型を表して
いる。バイト値 定義 型 0xff 予備 n/a −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 0xfe 完成されたパケット cebusResp 0xfd 正しくないパケット cebusResp 0xfc エラーパケット cebusResp −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 0xdf〜0xfb 予備 n/a −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 0xa0〜0xde コンテキスト番号(CAL) cebusCmd 0x9f 予備(CAL) cebusCmd 0x00〜0x9e コンテキスト・クラス(CAL)cebusCmd
とき、それは、応答パケットの宛先のノードのアドレスを宛先アドレス・フィー
ルド1205内に置く。そのノードがアクティブネットワーク・サーバまたはデ
ータベース・サーバと通信できるだけであるならば、それはそのアドレスを宛先
アドレス・フィールド1205内に置く。さもなければ、宛先アドレスは要求し
ているパケットの発信元アドレス・フィールド1206から通常得られる。
下に示す。アドレス 摘要 0x00000000〜0xffffffef 有効で独自のノード・アドレス 0xfffffff0〜0xfffffffc 予備 0xfffffffd アプリケーション・サーバ・ノード・アドレス 0xfffffffe アクティブネットワーク・サーバ・ノード・アドレス 0xffffffff ノード・アドレス放送
ノードが要求を持っているか、他のノード要求に対して応答していると、それは
それ自身のノード・アドレスを発信元アドレス・フィールド1206内に置く。
ノード・アドレスはノードの型と組合された8バイトGUIDの一部を用いて、
4バイトのノード・アドレスを作成する。GUIDからの最下位から7桁目のニ
ブル(Nibble)が用いられ、ノード型がノード・アドレスの最上位のニブル(8
番目のニブル)に重ね書きする。
ットに分けられたデータ・パケットまたはデータ・シーケンスを再構成すなわち
再組立てする能力をホスト・アプリケーションに与える。二重シーケンス番号は
捨て去ることができ、受信されなかったシーケンス番号は再び送ることができる
。シーケンシングによってより大きいデータ流に対してデータを完全なものにす
る。シーケンス・フィールド1207内に置かれた値はアプリケーションに依存
し、所望により他の目的に使用できる。
効性を確認できる。認証フィールド1208は、暗号化アレイの初めの2バイト
に対して排他的オア操作を行うことによって通常シード(seed)される.し
たがって、安全システム内の全てのノードには同じ認証値がシードされ、それら
の全てはこの検証手続きを受けなければならない。完全性を高めるために認証フ
ィールドはさらに暗号化される。
に用いられる。ペイロード・データの第1のバイトは内容をどのようにして解析
するかを決定するバイト・コードを含むことができる。データのこの最初のバイ
トは初めに説明した生ビットとともに用いられる。
頼性のある誤り検出技術を用意するために用いられる。終了した時にそれは再評
価され、認証のために比較される。この検査を通らなかったパケットは捨てられ
る。
ェアにおける)なしに、所望の信頼度レベルを得るように、十分効率的かつ簡単
であるように選択される。送信されたパケットと受信されたパケットとに対する
実行中のCRC計算を行えるに十分速いCRCアルゴリズムを提供することが望
ましい。
ことを待っている代わりに、CRCが更新される。同じことが送信についてもあ
てはまる)は強制的ではないが、システムの全体のスループットおよび性能を高
めるのに役立つ。
トについての説明ははるかに簡単にみえる。プリアンブル1201は必要とされ
ず、また重複長さフィールド1202、1203と、アドレッシング・フィール
ド1205、1206も必要とされず、かつCRCフィールド1212も必要と
されない。図14は、長さフィールド1701と、制御フィールド1702と、
データ・フィールド1703とを含むPLX内部ホスト・パケットのフォーマッ
トを示す。データ・フィールド1703は制御フィールドが指定したいかなるも
のも含む。制御フィールドの以前の定義(それはPLX内部ホスト・パケットに
も同様に適用される)に示されているように、ハードウェアとホスト・ノードの
間を通り、トラフィックの流れを容易にするいくつかのパケットが存在する。以
下は各型のパケットの定義である。
ールド1701と、制御フィールド1702と、CALデータ・フィールド18
03とを含む。制御フィールド1702は値0x11を有する。
てくるために、ホストによってハードウェア・ノードへ送られる。PLXノード
はアプリケーション・コードを有することができ、またはホスト・プロセッサが
ハードウェア/ASICから分離されているために、CAL情報はそれら2つの
別々のプロセッサを越えて拡がることもできる。したがって、ホスト・プロセッ
サはCAL情報を取り付けられているノードから周期的に集める。
さフィールド1701と、制御フィールド1702と、CAL応答フィールド1
903とを含む。制御フィールド1702は値0x21を有する。
から取り付けられているノードへ送られる。この応答パケット1900は先行す
るCAL要求パケット1500に応答して送られる。
であって、長さフィールド1701と、制御フィールド1702と、データフィ
ールド1903とを含む。制御フィールド1702は値0x21を有する。図1
8は多チャネルCAL応答パケット2100のフォーマットを示すものであって
、長さフィールド1701と、制御フィールド1702と、データフィールド2
103とを含む。制御フィールド1702は値0x31を有する。
ド・アプリケーションのためのものであって、制御バイト値0x21を用いる第
2の形式は多チャネル、多スピード解決のためのものであって、0x31の制御
バイトを使用する。
、それら2つのTxバッファの状態は内部PLXハンドシェイクによってホスト
・ノードへ周期的に送り返される。それらのTx状態パケットの目的は、ホスト
・ノードからハードウェアに渡された未解決の送信事象に関するループを閉じる
ことである。しばしば、DACKパケット内の戻された同じ値が、この送信事象
に関する情報のためにホストに渡されるが、多くの時にはDACKは外部PLX
事象に渡され、その場合には、DACK値はホスト・ノードに渡してはならない
。ホスト・ノードが送信要求を生じた時にDACK値はホスト・ノードに送り返
される。
リンタ応答値はホスト・ノードへ修正されずに返される。
値もホスト・ノードへ修正されずに返される。
って、ホスト・ノードまで渡してはならない。
ーであり、パケットを受取ることができないことを意味する。ハードウェアはこ
の状況を認識し、指定された(それがビジーでない時よりもしばしば)このパケ
ットを再び試みる。受信するノードが異常に長い時間ビジー状態に留まっている
と、パケットは最後に中断され、「失敗−0xf」応答状態がホスト・ノードへ
送り返される。ホスト・ノードへ送り返された0x0の値は何も意味しない。そ
れは完了しなかった送信事象のデフォールト値であり、ホストは非零状態がその
フィールド内に置かれるまで待つ。0x1の値はワイヤに決して戻されない。ノ
ードが間違ったデータを持つパケットをノードが受信すると、ノードは単にその
パケットに応答せず、送信ノードはそれを再送信することを要求される。送信パ
ケットが時間切れとなりそれの最大再試行数になったとき0x1の値がホストに
戻されるだけである。
ゆる場合にDACK応答値と同一でないことに注意されたい)。
渡されないことを意味する。
のTxバッファ状態を現す。Tx状態フィールド中の値をそれぞれの意味と共に
以下に示す。
のである。単一チャネルTx状態パケットに関する以前の説明の全体と、それが
DACK値にどのように関連するかは、いぜんとしてあてはまる。違いは、多チ
ャネル/スピードTx状態パケット内に含まれているデータ情報の量である。そ
のパケットは存在する各チャネルに対して以前に定められた単一の状態バイトを
基本的に含む。結果は各バイトが2つの別々のTxバッファを有する単一のチャ
ネルを表している多数のデータ・バイトである。
件を守らなければならない。それらのタイミング要件は、システムが円滑かつ衝
突なしに動作できるようにする諸規則である。それらの規則を守ることは正しい
動作のために厳密に実行されねばならない。
在し、媒体100をアクセスするためにアクティブノードの全てを調停しなけれ
ばならない。以下の仮定は媒体100に存在するそのようなアクティブ状態に適
用される。媒体100上でのインアクティブは、各ノードが睡眠状態にあり、し
たがって、「アクティブネットワーク・サーバ」として主張する前に正常な「聴
取」プロセスを通らなければならない。
とする。確認応答パケットは指定された時間間隔内に戻されるようになっている
。確認応答(DACK、LoGI、または二重LoGI)パケット以外のいかな
るものでも送信する前にトークン・パケットは要求される。アクティブネットワ
ーク・サーバはトークン、またはLIPパケットを送信する権利を有するノード
のみである。クライアント・ノードはペイロード・パケットおよび確認応答パケ
ットを送信するのみである。
ト時刻は第1の基準時刻2202および第2の基準時刻2204に関連して定め
られる。第2の基準時刻は、50μs(マイクロ秒)の平均パケット間間隙(I
/Gap)だけ第1の基準時刻に遅れている。
ている。間隙間タイミング以外の全ての値は表A4に与えられているようにして
調整すべきである。表A4では上付き数字1は第1の基準2202を基準にした
時間を示し、上付き数字2は第2の基準2204を基準にした時間を示す。
いるノードを所定の長さの時間内に応答することを必要とする。この応答時間は
、LoGI/二重LoGI確認応答パケットを除く全てのパケットで同じである
。したがって、パケット・タイミングの2つのケースは1)LoGI/二重Lo
GIシーケンスと2)他の全ての応答である。
トを除くパケットを、ペイロード・パケットを生じたノードへ、ある時間内に、
送り返す。応答パケットは型:DACKパケット、LoGIパケット、またはペ
イロード・パケットにできる。
答時間は通常5マイクロ秒より長く、最長応答時間は通常50マイクロ秒を超え
てはならない。
めに再試行プロセスを開始しなければならない。この再試行プロセスは最長の可
能な確認応答シーケンスまたはDACKパケットの長さプラス最も広い可能な間
隙間間隔の後で、または350kbpsで約400マイクロ秒の後で通常始まる
。
うになる。PLXノードはシステムで完全に機能するためにこの最少量の情報を
要する。
状態になる。各ノードは一連番号が焼き付けられて来る。その一連番号のうちの
下位の28ビットはそのノードの実行時間アドレスとして使用される。これは大
域的な固有性を確保せず、衝突するアドレスを有する2つのノードを見付ける貴
方の機会は2億6千8百万に1回であるので、それは衝突の可能性を制限する。
このより大きい実行時間アドレスはスループットを僅かに減少させるが、システ
ムを簡単にして(ノードは工場から予め組み立てられて出荷されるためである)
、プラグ−アンド−プレイ性能を高くし、かつ使用を容易にする。
ル・コンテキストおよびノード制御オブジェクトを有し、それに変数例(IVs
)が組合わされている。PLXはCEBus/一般的CALが定めた報告条件お
よびアドレス指定からそれる(両方とも、CEBus/一般的CALピアツーピ
アアーキテクチャとは異なって、PLXクライアント/サーバ・アーキテクチャ
に関連している)。したがって、PLXはユニバーサル・コンテキスト/ノード
制御オブジェクトを、IV記述が僅かに異なるノード輪郭オブジェクトとして再
構成する。また、各PLXコンプライアント・ノードはノード制御オブジェクト
に組合わされた変数例を含む。
る属性を持つノード型群内にノードを置く。各ノードに対するノード輪郭オブジ
ェクト情報はノード内の不揮発性メモリにハードコードされる(hard−co
ded)ことが好ましい。ノード輪郭オブジェクトは変数例のリストで構成され
ている。各PLXノードは、下の表A5に示されているユニバーサル・コンテキ
スト(0x00)と、ノード輪郭オブジェクト(0x01)と、指定された変数
例(IV)とを少なくとも含む(ここにR/Wは読出し/書込みを示す)。
持されて、アプリケーション・サーバ内のデータベースに存在するクライアント
IVsを示すものである。したがって、クライアントはそれらのIVsに関する
情報の蓄積および提供に関わる必要はない。
ALにより定められたデータ・メモリ・オブジェクトを使用する規則オブジェク
ト(0x03)、および我々の目的のために定められたある固有のIVsである
。下記はこの特定のオブジェクトの記述である。
い)、および規則リスト内の規則を見る(アレイを獲得する)ことができるよう
にされる。
リストを含むことができる。ノードはコンテキスト・リストを含むことができる
。ノードは各コンテキストごとにオブジェクト・リストを有することができる。
オブジェクト・リストが与えられると、ノードは特定の例変数を含むこともでき
る。それらのリストの多くは一般的なCAL仕様(ネットワーク・リストおよび
ノード・リスト以外)内で指定される。
の特定の部分で応答する。ノード輪郭によって、当該ネットワーク内で固有であ
る特定のノードを自動構成する手段を得ることができる。重複ノードが、一意に
特定されるようにするために、他のレベルの構成を行うことができる。
た各ノードが公衆ネットワーク内に直ちに置かれる。公衆ネットワークは全ての
ノードに対するデフォールト・ネットワーク割り当てであって、他の全ての公衆
ノードが利用でき、それの認証IDがNULLに割り当てられる。下記の鍵交換
プロセスによってノードが安全になったら、それの認証IDは暗号化アレイによ
り指示された値に変化する。各ノードがこの私用/安全ネットワークに割り当て
られると、それらに32バイトの暗号化アレイが与えられ、それから以後のパケ
ットを暗号化し、または解読する。これはDiffie−Hellmanとして
知られている鍵交換技術で行われる。効率的な指数関数的アルゴリズムを用いる
と、鍵交換に用いられている値の計算に必要な時間が減る。暗号化アレイがネッ
トワークの各ノードのメモリ内にひとたび記憶されると、暗号化と解読とが行わ
れる。一実施形態では、暗号化と解読は、帰還を含む排他的論理和を基にした流
れ暗号化技術を使用する。たとえば、DES、RC4、MD5等を含む他のアル
ゴリズムを使用できる。
で取り扱われるので、規則を取り扱うPLX法をここで示すことにする。それら
の交換は、厳密なCAL報告条件方法内で固有の制約の多くをアドレスするため
に実行された。違いを下の表A7で示す。
存在しているので、PLXの単一の強力なエンジンによってPLXはそれが諸規
則をどのように取り扱うかにおいてより強力である。これはどのようなIV変更
でもその通りである。サーバがIV変更を見ると、サーバは変更された特定のオ
ブジェクト/IV組合わせを調べ、サーバはそれの規則リストを調べ、そしてサ
ーバは各規則の有効性を試験する。したがって、下記の2つのIVsを含むよう
に各オブジェクトは構成され、それは作成された各規則を、指定されたオブジェ
クトおよび下に掲げた関連するIVに対して取り扱う。
report_condition、およびprevius_value変数は
、アレイにより指された規則内におのおの保持される。読出しルーチンはこのポ
インタ(またはインデックス)を単に規則エンジンへ送り、規則エンジンはそれ
が必要とする適切な情報をマスタ規則リストから分析する。
た、ノードは認証鍵などのその他の情報を不揮発性メモリに記憶できるが、これ
は任意のものであって、いずれのPLXコンプライアント・ノードでも要求され
るものではない。他の任意のメモリ要求は経路指定情報とその他のダイナミック
な表を含む。
せる。これは、アプリケーション・サーバがそれの状態を変更することをクライ
アントに知らせるとしても、クライアントはアプリケーション・サーバにそれの
状態が変化したことを逆に知らせることを意味する。これによってアプリケーシ
ョン・サーバのデータベースが実際のクライアント・ノードの変数に同期されて
いないというような問題が起きる機会が減少する。
関連する規則を含んでいるために望ましい。クライアントはこれに関しては知能
的ではないので、クライアントはアプリケーション・サーバに適切な変更を通知
すべきである。
ケーション・サーバ」に通知する、そのクライアント・ノードから確証を受けと
った後まで、特定のクライアント・ノードに属するそれのデータベース変数を通
常更新しない。
なノードを有するネットワークのブロック図である。
図である。
ある。
。
る。
すブロック図である。
ク図である。
ある。
Claims (33)
- 【請求項1】 媒体プロトコルを用いてネットワーク媒体上を伝送させられ
る1つまたは複数のデータ・プロトコルを用いてコンピュータ・ネットワーク上
の多数のノードが通信できるように構成され、前記多数のノードと通信するため
にアプリケーション・プログラミング・インタフェースをさらに提供するゲート
ウエイであって、 ネットワーク上ノードについての情報を含む内部ノード・データベースと、 前記内部ノード・データベースを維持して、前記ノード・データベースをアク
セスするように構成されているアクティブモードと、前記内部ノード・データベ
ースを外部ノード・データベースの鏡像コピーとして維持するように構成されて
いる待機モードとを提供するように構成されているソフトウエア・モジュールと
を有するゲートウエイ。 - 【請求項2】 前記内部ノード・データベースが、クライアント・ノードの
状態変化時にとるべき行動を指定する規則をさらに含む、請求項1に記載のゲー
トウエイ。 - 【請求項3】 前記規則が簡単な規則である、請求項2に記載のゲートウエ
イ。 - 【請求項4】 前記規則が複雑な規則である、請求項2に記載のゲートウエ
イ。 - 【請求項5】 前記規則を解釈するように構成された規則エンジンをさらに
備える、請求項2に記載のゲートウエイ。 - 【請求項6】 シムをさらに備え、前記シムは規則を規則定義言語に変換す
るように構成されている、請求項2に記載のゲートウエイ。 - 【請求項7】 前記状態変化が前記クライアント・ノードのインスタンス変
数の変化を含む、請求項2に記載のゲートウエイ。 - 【請求項8】 ピン要求を発することによって前記内部ノード・データベー
スが更新される、請求項1に記載のゲートウエイ。 - 【請求項9】 前記ソフトウエア・モジュールが、確認されていないクライ
アント要求が検出された時に、前記アクティブモードへ移行するように構成され
ている、請求項1に記載のゲートウエイ。 - 【請求項10】 第1のプロトコルを第2のプロトコル内を通りぬけさせる
ようにさらに構成されている、請求項1に記載のゲートウエイ。 - 【請求項11】 前記媒体が電源線であり、前記媒体プロトコルが電源線プ
ロトコルである、請求項10に記載のゲートウエイ。 - 【請求項12】 前記媒体が電源線であり、前記媒体プロトコルがPLXプ
ロトコルである、請求項1に記載のゲートウエイ。 - 【請求項13】 前記クライアント・ノードのインスタンス変数に変化が起
きた時にユーザー・アプリケーションに通知するように構成されている事象ハン
ドラをさらに備える、請求項7に記載のゲートウエイ。 - 【請求項14】 オブジェクト指向アプリケーション・プログラミング・イ
ンタフェースをさらに備える、請求項1に記載のゲートウエイ。 - 【請求項15】 ユーザー・インタフェースに前記内部ノード・データベー
ス中の情報を提供するように構成されているインターネット・ブラウザをさらに
備える、請求項14に記載のゲートウエイ。 - 【請求項16】 ユーザーが電源線ネットワーク上のノードを制御できるよ
うにするように前記ユーザー・インタフェースが構成されている、請求項15に
記載のゲートウエイ。 - 【請求項17】 電源線ネットワーク媒体と、 ディスパッチ制御ブロックを使用することによって生のデータ情報を、前記電
源線ネットワーク媒体からユーザー・アプリケーションへ送るゲートウエイ手段
とを有するコンピュータ・ネットワーク。 - 【請求項18】 ノード・データベースと、 ディスパッチ制御ブロックを作成して解釈するディスパッチャ手段と、 ネットワーク・インタフェース・アダプタを制御するデバイス・ドライバ手段
と、 前記デバイス制御ブロックを前記デバイス・ドライバ手段に適合させるシム手
段とを有するゲートウエイ。 - 【請求項19】 ネットワーク上のノードについての情報を含んでいるノー
ド・データベースを作成することと、 前記ノード・データベースをアクセスする1つまたは複数のアクセス法を提供
し、前記ノード・データベースを維持するゲートウエイを指定することと、 前記ノード・データベースを1つまたは複数の待機サーバ・ノード内にするこ
とと、 を有する、ネットワーク上のノード間で通信するために所望のプロトコルを使用
する方法。 - 【請求項20】 クライアント・ノードにおいて状態変化が起きた時に取る
べき行動を指定する諸規則を解釈し、かつ実行することをさらに備える請求項1
9に記載の方法。 - 【請求項21】 前記諸規則が規則エンジンによって解釈される、請求項2
0に記載の方法。 - 【請求項22】 前記状態変化が起きた時に事象通知を発生するステップを
さらに有する、請求項20に記載の方法。 - 【請求項23】 前記通知がディスパッチャに与えられる、請求項22に記
載の方法。 - 【請求項24】 受けとったデータを規則定義言語に変換するステップをさ
らに有する、請求項20に記載の方法。 - 【請求項25】 前記状態変化が前記クライアント・ノードのインスタンス
変数の変化を含む、請求項20に記載の方法。 - 【請求項26】 ピン要求を発し、前記ピン要求に対する応答が聞こえるか
と耳を澄ますステップをさらに有し、前記応答は前記ノード・データベースを更
新するために用いられる、請求項19に記載の方法。 - 【請求項27】 前記アクティブサーバがインアクティブになった後に前記
待機サーバの1つをアクティブ状態にするステップをさらに有する、請求項19
に記載の方法。 - 【請求項28】 第1のプロトコルの生のパケットを前記所望のプロトコル
での包みパケット内に入れ、前記生のパケットを前記所望のプロトコル内に通り
ぬけさせるステップとをさらに有する、請求項19に記載の方法。 - 【請求項29】 前記媒体が電源線であり、前記媒体プロトコルが電源線プ
ロトコルである、請求項19に記載の方法。 - 【請求項30】 前記媒体が電源線であり、前記媒体プロトコルがPLXプ
ロトコルである、請求項19に記載の方法。 - 【請求項31】 前記クライアント・ノードのインスタンス変数が変化した
時にユーザー・アプリケーションに通知するステップをさらに有する、請求項1
9に記載の方法。 - 【請求項32】 前記ノード・データベース内の情報を見るためにインター
ネット・ブラウザを用いるステップをさらに有する、請求項19に記載の方法。 - 【請求項33】 電源線ネットワーク上のノードを制御するためにインター
ネット・ブラウザを用いるステップを更に備える請求項19に記載の方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US7212898P | 1998-01-22 | 1998-01-22 | |
US60/072,128 | 1998-01-22 | ||
PCT/US1999/001234 WO1999038084A1 (en) | 1998-01-22 | 1999-01-21 | Method and apparatus for universal data exchange gateway |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002501251A true JP2002501251A (ja) | 2002-01-15 |
JP2002501251A5 JP2002501251A5 (ja) | 2006-04-06 |
Family
ID=22105770
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000528920A Pending JP2002501251A (ja) | 1998-01-22 | 1999-01-21 | ユニバーサル・データ交換ゲートウエイのための方法および装置 |
Country Status (8)
Country | Link |
---|---|
US (1) | US7401120B2 (ja) |
EP (1) | EP1055177A1 (ja) |
JP (1) | JP2002501251A (ja) |
KR (1) | KR20010040424A (ja) |
CN (1) | CN100397372C (ja) |
AU (1) | AU2331099A (ja) |
CA (1) | CA2318926A1 (ja) |
WO (1) | WO1999038084A1 (ja) |
Families Citing this family (109)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2283964C (en) | 1997-03-12 | 2008-05-06 | Nomadix, Llc | Nomadic translator or router |
US8621101B1 (en) | 2000-09-29 | 2013-12-31 | Alacritech, Inc. | Intelligent network storage interface device |
US6757746B2 (en) | 1997-10-14 | 2004-06-29 | Alacritech, Inc. | Obtaining a destination address so that a network interface device can write network data without headers directly into host memory |
US6434620B1 (en) | 1998-08-27 | 2002-08-13 | Alacritech, Inc. | TCP/IP offload network interface device |
US8782199B2 (en) * | 1997-10-14 | 2014-07-15 | A-Tech Llc | Parsing a packet header |
US6226680B1 (en) | 1997-10-14 | 2001-05-01 | Alacritech, Inc. | Intelligent network interface system method for protocol processing |
US8539112B2 (en) | 1997-10-14 | 2013-09-17 | Alacritech, Inc. | TCP/IP offload device |
US6886047B2 (en) * | 1998-11-13 | 2005-04-26 | Jp Morgan Chase Bank | System and method for managing information retrievals for integrated digital and analog archives on a global basis |
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 |
US6957346B1 (en) * | 1999-06-15 | 2005-10-18 | Ssh Communications Security Ltd. | Method and arrangement for providing security through network address translations using tunneling and compensations |
US8190708B1 (en) | 1999-10-22 | 2012-05-29 | Nomadix, Inc. | Gateway device having an XML interface and associated method |
US8463839B2 (en) * | 2000-03-28 | 2013-06-11 | Cybernet Systems Corporation | Distributed computing environment |
US8019901B2 (en) | 2000-09-29 | 2011-09-13 | Alacritech, Inc. | Intelligent network storage interface system |
US7447200B2 (en) * | 2001-08-30 | 2008-11-04 | Maxim Integrated Products, Inc. | System and method for simultaneously transporting different types of information over a power line |
KR100419574B1 (ko) * | 2001-09-20 | 2004-02-19 | 한국전자통신연구원 | 액티브 네트워크에 있어서 액티브 노드간의 안전한 액티브패킷전송 방법 |
AU2003207642A1 (en) * | 2002-01-18 | 2003-09-02 | Accenx Technologies, Inc. | System and method for data tracking and management |
US8626957B2 (en) | 2003-08-22 | 2014-01-07 | International Business Machines Corporation | Collective network for computer structures |
US7543087B2 (en) | 2002-04-22 | 2009-06-02 | Alacritech, Inc. | Freeing transmit memory on a network interface device prior to receiving an acknowledgement that transmit data has been received by a remote device |
US20040045007A1 (en) * | 2002-08-30 | 2004-03-04 | Bae Systems Information Electronic Systems Integration, Inc. | Object oriented component and framework architecture for signal processing |
US7224698B2 (en) * | 2002-11-27 | 2007-05-29 | Bellsouth Intellectual Property Corporation | Edge side assembler |
US7263102B2 (en) * | 2002-11-27 | 2007-08-28 | At&T Intellectual Property, Inc. | Multi-path gateway communications device |
US7379464B2 (en) * | 2002-11-27 | 2008-05-27 | At&T Bls Intellectual Property, Inc. | Personal digital gateway |
US20040116075A1 (en) * | 2002-12-17 | 2004-06-17 | Texas Instruments Incorporated | Dual platform communication controller, method of controlling a dual platform communication and wireless communication system employing the same |
KR100605218B1 (ko) * | 2003-05-30 | 2006-07-31 | 엘지전자 주식회사 | 홈 네트워크 시스템 |
US8060589B1 (en) * | 2003-06-10 | 2011-11-15 | Logiclink Corporation | System and method for monitoring equipment over a network |
WO2005067395A2 (en) * | 2003-08-14 | 2005-07-28 | Vaman Technologies (R & D) Limited | Universal connection gateway for functionally different servers |
AT500351A1 (de) * | 2003-10-13 | 2005-12-15 | Loytec Electronics Gmbh | Router-gateway für die gebäudeleittechnik |
US7716350B2 (en) * | 2003-10-23 | 2010-05-11 | Cisco Technology, Inc. | Methods and devices for sharing content on a network |
US8248939B1 (en) | 2004-10-08 | 2012-08-21 | Alacritech, Inc. | Transferring control of TCP connections between hierarchy of processing mechanisms |
WO2006091043A1 (en) * | 2005-02-24 | 2006-08-31 | Lg Electronics Inc. | Packet structure and packet transmission method of network control protocol |
CN100459600C (zh) * | 2005-03-16 | 2009-02-04 | 华为技术有限公司 | 一种接入网络互连的方法及系统 |
US8533253B2 (en) * | 2005-06-09 | 2013-09-10 | Whirlpool Corporation | Distributed object-oriented appliance control system |
US7551618B2 (en) * | 2005-06-09 | 2009-06-23 | Digi International | Stack bypass application programming interface |
US8484213B2 (en) * | 2005-08-31 | 2013-07-09 | International Business Machines Corporation | Heterogenous high availability cluster manager |
US7821930B2 (en) * | 2005-09-12 | 2010-10-26 | Microsoft Corporation | Fault-tolerant communications in routed networks |
WO2007089023A1 (en) * | 2006-01-31 | 2007-08-09 | Matsushita Electric Industrial Co., Ltd. | Method for selective service updates for communication networks |
US8452663B2 (en) * | 2006-05-04 | 2013-05-28 | Sap Ag | Systems and methods for processing auto-ID data |
US20080098103A1 (en) * | 2006-10-18 | 2008-04-24 | Mathi Packiam | Methods and Apparatus for Tunneling Legacy Network Management Messages through SNMP (Simple Network Management Protocol) |
US8370261B2 (en) * | 2007-01-10 | 2013-02-05 | Amnon Nissim | System and a method for access management and billing |
JP4966753B2 (ja) * | 2007-06-08 | 2012-07-04 | 株式会社日立製作所 | 情報処理システム、および情報処理方法 |
US7895463B2 (en) * | 2007-08-28 | 2011-02-22 | Cisco Technology, Inc. | Redundant application network appliances using a low latency lossless interconnect link |
US20090100174A1 (en) * | 2007-09-07 | 2009-04-16 | Sushma Annareddy | Method and system for automatic polling of multiple device types |
US20090097470A1 (en) * | 2007-10-12 | 2009-04-16 | Collier David S | Methods and systems for communicating data |
GB2455347B (en) * | 2007-12-07 | 2012-04-11 | Virtensys Ltd | Control path I/O virtualisation |
US20100085948A1 (en) * | 2008-01-31 | 2010-04-08 | Noosphere Communications, Inc. | Apparatuses for Hybrid Wired and Wireless Universal Access Networks |
US8539513B1 (en) | 2008-04-01 | 2013-09-17 | Alacritech, Inc. | Accelerating data transfer in a virtual computer system with tightly coupled TCP connections |
US8081984B2 (en) | 2008-04-30 | 2011-12-20 | Telefonaktiebolaget L M Ericsson (Publ) | UL/DL scheduling for full bandwidth utilization |
US20090296722A1 (en) * | 2008-06-02 | 2009-12-03 | Aboundi, Inc. | Modular power line repeater and system |
US8341286B1 (en) | 2008-07-31 | 2012-12-25 | Alacritech, Inc. | TCP offload send optimization |
US9306793B1 (en) | 2008-10-22 | 2016-04-05 | Alacritech, Inc. | TCP offload device that batches session layer headers to reduce interrupts as well as CPU copies |
US20100256823A1 (en) * | 2009-04-04 | 2010-10-07 | Cisco Technology, Inc. | Mechanism for On-Demand Environmental Services Based on Network Activity |
US8477794B2 (en) * | 2009-04-30 | 2013-07-02 | Elster Electricity, Llc | Multiple communications protocol routing in advanced metering infrastructure context |
US9588803B2 (en) | 2009-05-11 | 2017-03-07 | Microsoft Technology Licensing, Llc | Executing native-code applications in a browser |
GB2473849B (en) * | 2009-09-25 | 2015-06-17 | Ge Aviat Systems Ltd | Module communication |
DE102009050170B4 (de) * | 2009-10-21 | 2013-08-01 | Diehl Ako Stiftung & Co. Kg | Hausautomatisierungs- und Hausinformationssystem |
KR20110047764A (ko) * | 2009-10-30 | 2011-05-09 | 삼성전자주식회사 | 이동 단말을 이용하여 홈 네트워크 시스템을 제어하기 위한 방법 및 장치 |
US20110188444A1 (en) * | 2010-01-29 | 2011-08-04 | Elster Solutions, Llc | High priority data reads for acquisition of real-time data in wireless mesh network |
US8855102B2 (en) * | 2010-01-29 | 2014-10-07 | Elster Solutions, Llc | Wireless communications providing interoperability between devices capable of communicating at different data rates |
US8869138B2 (en) | 2011-11-11 | 2014-10-21 | Wyse Technology L.L.C. | Robust firmware update with recovery logic |
US8755393B2 (en) * | 2010-04-02 | 2014-06-17 | Cisco Technology, Inc. | Facilitating communication of routing information |
US8350718B2 (en) | 2010-05-04 | 2013-01-08 | Itron, Inc. | Secure collector diagnostic portal activation |
US9323921B2 (en) | 2010-07-13 | 2016-04-26 | Microsoft Technology Licensing, Llc | Ultra-low cost sandboxing for application appliances |
US8903705B2 (en) | 2010-12-17 | 2014-12-02 | Microsoft Corporation | Application compatibility shims for minimal client computers |
US9918270B2 (en) * | 2011-04-18 | 2018-03-13 | Ineda Systems Inc. | Wireless interface sharing |
US9495183B2 (en) | 2011-05-16 | 2016-11-15 | Microsoft Technology Licensing, Llc | Instruction set emulation for guest operating systems |
WO2012166927A1 (en) * | 2011-06-02 | 2012-12-06 | Numerex Corp. | Wireless snmp agent gateway |
US9100324B2 (en) | 2011-10-18 | 2015-08-04 | Secure Crossing Research & Development, Inc. | Network protocol analyzer apparatus and method |
CN102325146A (zh) * | 2011-10-28 | 2012-01-18 | 武汉杰瑞诚光电科技有限公司 | Udx协议栈、基于udx协议的数据传输系统及方法 |
CN102495842B (zh) * | 2011-11-14 | 2014-06-11 | 安徽久鼎软件科技开发有限公司 | 交换需求描述模型及多应用域统一数据交换方法 |
KR101850817B1 (ko) | 2011-11-17 | 2018-04-23 | 삼성전자주식회사 | 서로 다른 단말에 어플리케이션을 자동으로 설치하는 장치 및 방법 |
US9413538B2 (en) | 2011-12-12 | 2016-08-09 | Microsoft Technology Licensing, Llc | Cryptographic certification of secure hosted execution environments |
US9389933B2 (en) * | 2011-12-12 | 2016-07-12 | Microsoft Technology Licensing, Llc | Facilitating system service request interactions for hardware-protected applications |
EP2608456B1 (en) * | 2011-12-21 | 2017-02-08 | ABB Schweiz AG | Substation automation system with dynamic multicast filter |
US9106663B2 (en) * | 2012-02-01 | 2015-08-11 | Comcast Cable Communications, Llc | Latency-based routing and load balancing in a network |
US8812005B2 (en) * | 2012-02-03 | 2014-08-19 | Apple Inc. | System and method for scheduling packet transmission on a client device using traffic classes and opportunistic behavior |
US9183163B2 (en) * | 2012-06-27 | 2015-11-10 | Ubiquiti Networks, Inc. | Method and apparatus for distributed control of an interfacing-device network |
EP2936760B1 (en) * | 2012-12-20 | 2017-08-02 | Icron Technologies Corporation | Devices and methods for transmitting usb termination signals over extension media |
US9571372B1 (en) * | 2013-01-24 | 2017-02-14 | Symantec Corporation | Systems and methods for estimating ages of network devices |
US9288215B2 (en) | 2013-03-08 | 2016-03-15 | Itron, Inc. | Utilizing routing for secure transactions |
KR101984443B1 (ko) | 2013-12-13 | 2019-05-30 | 애플 인크. | 자기-정전용량성 터치 센서를 위한 통합된 터치 및 디스플레이 아키텍처 |
US10560975B2 (en) | 2014-04-16 | 2020-02-11 | Belkin International, Inc. | Discovery of connected devices to determine control capabilities and meta-information |
DE102014007308A1 (de) | 2014-05-17 | 2015-11-19 | Diehl Bgt Defence Gmbh & Co. Kg | Verfahren zum Betreiben eines bodengebundenen Luftabwehrsystems |
US10027566B1 (en) * | 2014-07-18 | 2018-07-17 | The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration | Simulation and verification system and method |
DE102014018172A1 (de) * | 2014-12-09 | 2016-06-09 | Mbda Deutschland Gmbh | Gateway-Einrichtung zur interkommunikativen Datenübertragungs-Verbindung |
CN111610890A (zh) | 2015-02-02 | 2020-09-01 | 苹果公司 | 柔性自电容和互电容触摸感测系统架构 |
US9590898B2 (en) * | 2015-02-17 | 2017-03-07 | Telefonaktiebolaget L M Ericsson (Publ) | Method and system to optimize packet exchange between the control and data plane in a software defined network |
US9723382B2 (en) * | 2015-02-27 | 2017-08-01 | Panduit Corp. | Door module and uses thereof |
CN104935657A (zh) * | 2015-06-15 | 2015-09-23 | 清华大学深圳研究生院 | 主动推送信息的方法和嵌入式节点操作系统 |
US9794757B2 (en) | 2015-07-29 | 2017-10-17 | Fortinet, Inc. | Extension of Wi-Fi services multicast to a subnet across a Wi-Fi network using software-defined network (SDN) to centrally control data plane behavior |
US10740253B2 (en) * | 2015-08-26 | 2020-08-11 | Abb Schweiz Ag | Technologies for remote device emulation |
WO2017084719A1 (en) * | 2015-11-20 | 2017-05-26 | Abb Ag | Managing communication between gateway and building automation device by installing protocol software in gateway |
US10171277B2 (en) | 2016-07-14 | 2019-01-01 | Huawei Technologies Co., Ltd. | Frame format and design of wake-up frame for a wake-up receiver |
US10445107B2 (en) | 2016-07-14 | 2019-10-15 | Huawei Technologies Co., Ltd. | Security design for a wake up frame |
US10342064B2 (en) | 2016-07-14 | 2019-07-02 | Huawei Technologies Co., Ltd. | Wake-up-receiver frame permitting identification by non-compatible receiver |
US10248615B2 (en) * | 2016-09-19 | 2019-04-02 | Harman International Industries, Incorporated | Distributed processing in a network |
US10440776B2 (en) * | 2017-03-17 | 2019-10-08 | Harris Corporation | Non-standard alternate protocol based satellite communications |
KR102367471B1 (ko) | 2017-05-01 | 2022-02-25 | 엘지전자 주식회사 | 무선전력 전송시스템에서 인증을 수행하는 장치 및 방법 |
US11405873B2 (en) | 2017-05-01 | 2022-08-02 | Lg Electronics Inc. | Device and method for performing authentication in wireless power transmission system |
CN107094047B (zh) * | 2017-06-09 | 2019-12-10 | 西安电子科技大学 | 基于分组数据预存储和分段传输的双层卫星网络路由方法 |
WO2019009585A1 (ko) * | 2017-07-03 | 2019-01-10 | 한양대학교 산학협력단 | 저전력 모드를 위한 cpu측과 hmc측의 hmc 컨트롤 장치 및 방법과 hmc 컨트롤 장치의 전력 관리 방법 |
US10757547B2 (en) * | 2017-11-08 | 2020-08-25 | Avaya Inc. | Sequenced applications for controlling communication features |
CN111937350B (zh) * | 2018-06-27 | 2022-12-16 | 苹果公司 | 用于分发网格的调谐拓扑 |
US11243722B2 (en) * | 2019-02-11 | 2022-02-08 | Cisco Technology, Inc. | System and method of providing universal mobile internet proxy printing |
US11662867B1 (en) | 2020-05-30 | 2023-05-30 | Apple Inc. | Hover detection on a touch sensor panel |
US20220188144A1 (en) * | 2020-12-11 | 2022-06-16 | Oracle International Corporation | Intra-Process Caching and Reuse of Threads |
CN116346945A (zh) * | 2021-12-24 | 2023-06-27 | 戴尔产品有限公司 | 经由智能网络接口控制器实现的可信网络协议代理 |
CN114390083B (zh) * | 2021-12-27 | 2024-03-01 | 杭州电子科技大学 | 一种分布式模块化电气安全控制终端 |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4853843A (en) * | 1987-12-18 | 1989-08-01 | Tektronix, Inc. | System for merging virtual partitions of a distributed database |
US5835857A (en) * | 1990-03-19 | 1998-11-10 | Celsat America, Inc. | Position determination for reducing unauthorized use of a communication system |
US5396635A (en) * | 1990-06-01 | 1995-03-07 | Vadem Corporation | Power conservation apparatus having multiple power reduction levels dependent upon the activity of the computer system |
US5668986A (en) * | 1991-10-02 | 1997-09-16 | International Business Machines Corporation | Method and apparatus for handling data storage requests in a distributed data base environment |
US5758052A (en) * | 1991-10-02 | 1998-05-26 | International Business Machines Corporation | Network management method using redundant distributed control processors |
US5371852A (en) * | 1992-10-14 | 1994-12-06 | International Business Machines Corporation | Method and apparatus for making a cluster of computers appear as a single host on a network |
US5608720A (en) * | 1993-03-09 | 1997-03-04 | Hubbell Incorporated | Control system and operations system interface for a network element in an access system |
US5630116A (en) * | 1993-08-11 | 1997-05-13 | Nec Corporation | Automatic delivery system for master files in a distributed processing system |
US5796999A (en) * | 1994-04-15 | 1998-08-18 | International Business Machines Corporation | Method and system for selectable consistency level maintenance in a resilent database system |
US5550906A (en) * | 1994-08-05 | 1996-08-27 | Lucent Technologies Inc. | Telecommunications feature server |
US5630204A (en) * | 1995-05-01 | 1997-05-13 | Bell Atlantic Network Services, Inc. | Customer premise wireless distribution of broad band signals and two-way communication of control signals over power lines |
US5640446A (en) * | 1995-05-01 | 1997-06-17 | Mci Corporation | System and method of validating special service calls having different signaling protocols |
US5774668A (en) * | 1995-06-07 | 1998-06-30 | Microsoft Corporation | System for on-line service in which gateway computer uses service map which includes loading condition of servers broadcasted by application servers for load balancing |
US5761499A (en) * | 1995-12-21 | 1998-06-02 | Novell, Inc. | Method for managing globally distributed software components |
WO1997004391A1 (en) * | 1995-07-20 | 1997-02-06 | Novell, Inc. | Transaction log management in a disconnectable computer and network |
US5742774A (en) * | 1995-11-03 | 1998-04-21 | Lucent Technologies Inc | Multi-ring SONET architecture having shared gateways daisy chained to complete the main and subsidiary ring controlled by a common master controller |
US5787247A (en) * | 1996-07-12 | 1998-07-28 | Microsoft Corporation | Replica administration without data loss in a store and forward replication enterprise |
US5889954A (en) * | 1996-12-20 | 1999-03-30 | Ericsson Inc. | Network manager providing advanced interconnection capability |
US5966706A (en) * | 1997-02-19 | 1999-10-12 | At&T Corp | Local logging in a distributed database management computer system |
US5929748A (en) * | 1997-06-12 | 1999-07-27 | Microsoft Corporation | Automated home control using existing electrical lines as a communications medium |
US6272127B1 (en) * | 1997-11-10 | 2001-08-07 | Ehron Warpspeed Services, Inc. | Network for providing switched broadband multipoint/multimedia intercommunication |
US6314526B1 (en) * | 1998-07-10 | 2001-11-06 | International Business Machines Corporation | Resource group quorum scheme for highly scalable and highly available cluster system management |
US7032119B2 (en) * | 2000-09-27 | 2006-04-18 | Amphus, Inc. | Dynamic power and workload management for multi-server system |
-
1999
- 1999-01-21 WO PCT/US1999/001234 patent/WO1999038084A1/en not_active Application Discontinuation
- 1999-01-21 AU AU23310/99A patent/AU2331099A/en not_active Abandoned
- 1999-01-21 CA CA002318926A patent/CA2318926A1/en not_active Abandoned
- 1999-01-21 KR KR1020007008178A patent/KR20010040424A/ko not_active Application Discontinuation
- 1999-01-21 CN CNB998039535A patent/CN100397372C/zh not_active Expired - Fee Related
- 1999-01-21 JP JP2000528920A patent/JP2002501251A/ja active Pending
- 1999-01-21 EP EP99903242A patent/EP1055177A1/en not_active Withdrawn
-
2006
- 2006-06-29 US US11/478,504 patent/US7401120B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
KR20010040424A (ko) | 2001-05-15 |
WO1999038084A1 (en) | 1999-07-29 |
US20060248208A1 (en) | 2006-11-02 |
CN1296585A (zh) | 2001-05-23 |
CA2318926A1 (en) | 1999-07-29 |
EP1055177A1 (en) | 2000-11-29 |
AU2331099A (en) | 1999-08-09 |
US7401120B2 (en) | 2008-07-15 |
CN100397372C (zh) | 2008-06-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2002501251A (ja) | ユニバーサル・データ交換ゲートウエイのための方法および装置 | |
US7310670B1 (en) | Multi-channel power line exchange protocol | |
JP2002508643A (ja) | 電源線交換プロトコル法および装置 | |
KR20040104303A (ko) | 홈 네트워크 관리 시스템의 서비스 관리 장치 | |
TW201029390A (en) | A method to improve channel utilization in a time division multiple access based protocol | |
US20090161678A1 (en) | Method and apparatus of transmitting data via a multi-protocol single-medium network | |
Cisco | SDLLC Commands | |
Cisco | SDLLC Commands | |
Cisco | SDLLC Commands | |
Cisco | SDLLC Commands | |
Cisco | SDLLC Commands | |
Cisco | SDLLC Commands | |
Cisco | SDLLC Commands | |
Cisco | SDLLC Commands | |
Cisco | SDLLC Commands | |
Cisco | IBM Network Media Translation Commands | |
Cisco | SDLLC Commands | |
Cisco | IBM Network Media Translation Commands | |
Cisco | IBM Network Media Translation Commands | |
Cisco | IBM Network Media Translation Commands | |
Cisco | IBM Network Media Translation Commands | |
Cisco | SDLLC Commands | |
Cisco | SDLLC Commands | |
Cisco | SDLLC Commands | |
Cisco | IBM Network Media Translation Commands |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20050314 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060117 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060117 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20080529 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080716 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20090107 |