JP4668422B2 - 汎用通信プロトコル変換機 - Google Patents
汎用通信プロトコル変換機 Download PDFInfo
- Publication number
- JP4668422B2 JP4668422B2 JP2000600172A JP2000600172A JP4668422B2 JP 4668422 B2 JP4668422 B2 JP 4668422B2 JP 2000600172 A JP2000600172 A JP 2000600172A JP 2000600172 A JP2000600172 A JP 2000600172A JP 4668422 B2 JP4668422 B2 JP 4668422B2
- Authority
- JP
- Japan
- Prior art keywords
- stage
- protocol
- identifier
- index
- destination
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Images
Classifications
-
- 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
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/04—Protocols specially adapted for terminals or networks with limited capabilities; specially adapted for terminal portability
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/565—Conversion or adaptation of application format or content
-
- 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/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/161—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
- H04L69/162—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields involving adaptations of sockets based mechanisms
-
- 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/169—Special adaptations of TCP, UDP or IP for interworking of IP based networks with other networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/329—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
-
- 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/03—Protocol definition or specification
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Communication Control (AREA)
- Computer And Data Communications (AREA)
Description
【発明が属する技術分野】
本発明は、ソフトウェア通信およびメッセージングプロトコルの分野に関する。さらに詳しくは、本発明は、(1)無線、(2)シリアルケーブル経由、(3)ダイアルアップモデム、あるいは(4)ネットワークケーブルで接続された広範囲な種類の新規または既存の計算機装置(computing device)間での、よりロバスト性が高く効率的なインターフェースのための方法に関する。より詳しく述べると、本発明は、そのような装置がその装置特有のアプリケーション操作を行う際に用いられる(1)装置の種類、(2)プロトコルの種類、及び(3)アプリケーションデータの形式(format)の種類のような送信元と送信先の属性の設定が可能(configurable)なセットを変換する(translation)ためのインフラストラクチャに関する。
【0002】
【背景技術】
組み込まれた演算能力を持った新しい電子装置は、様々な消費者やビジネスやその他の産業や応用のために、継続的に開発が続けられている。
【0003】
これらの装置の例としては、スマートフォン(smart-phones)、ハンドヘルド(携帯)コンピュータ(handheld computers)やPDA(personal data assistants)、テレビジョン・セットトップボックス(television set-top boxes)、高画質テレビ(high-definition television)、リアルタイムGPSナビゲーションシステムのような自動車の付属装置、セキュリティシステムセンサー、ポケットベル(pagers)などが含まれるが、これらに限定されるものではない。これらの装置は、通常、通信とデータの必要性や能力がそれぞれ異なっている。これらの例が示すように、データ通信のプロトコルと技術の問題は、もはや、電気通信産業やコンピューター産業や放送産業に限られたものではない。
【0004】
しかしながら、これらの装置間でのデータ共有はしばしば困難である。共有が可能な少数のケースでは、そのような共有は2つの特定の装置間で起こり、通常は複雑で不便な手動による介入を必要とする。例えば、上で列挙した装置のような2つの電子装置間でのデータ共有に対しては次のような典型的なシナリオが考えられる。最初に、電子装置のユーザーは、もう一方の演算装置(一般にはパーソナルコンピュータ(PC))との接続を持たなくてはならない。共有されるデータは、普通は特別で専用のソフトウェアを用いて、PC以外の装置から間を取り持つPCへコピーされ、次いで暫定的な形式へ変換され、そして最終的に、別の専用ソフトウェアパッケージを変換のために用いて、目的の装置へ再びコピーすることになる。データを送信する装置と受信する装置が2つの異なる場所にある場合、インターネットがデータ伝送のための一般的な媒体であるが、これはデータの送信元と送信先にインターネット接続と電子メールの能力をもった複数のPCを必要とする。このシナリオでは、送信先のPCがデータを受信する装置のために、(例えば、電子メールに添付して)データを受け取り、その後、変換とダウンロードの操作を行って、データを送信先の装置へ入れる。この例が示すように、この方法は、通常、データの送信元とデータの送信先との間で人間による重大な調整を必要とする。さらに、データを受け取ったときに、送信元と送信先のデータ形式が非互換であることが発見されることもしばしばあり、これは送信の企てをすべてを無益なものにし、送信元と送信先の間でのデータ共有を不可能にする。
【0005】
この問題に対するひとつの解決法を提供するものとして、最初に送信元と送信先の装置のタイプとデータ形式に対する要求を決定し、それから実際に送信元から送信先へと情報を伝送するような機器または装置がある。現在これらの機能を提供するゲートウェイ(gateway)として知られる既存の装置が存在するが、現在のゲートウェイは、設計過程で実装のために確認された通信プロトコルの特定のセット(通常は組(一対)である)のみを扱うことのできる非常に限定されたものである。新しいプロトコルやデータフォーマットに対するサポートを既存のゲートウェイに追加すると、重大な再設計や更新や変更が必要となることが多く、それらはすべて時間を浪費しエラーを発生させやすくする。
【0006】
例えば、Darland, et al.に対する米国特許第5,793,771号では、SS7電気通信プロトコルからネットワーク情報分散サービス(NIDS)プロトコルへの変換またはその逆を行う電気通信産業に関連したゲートウェイについて開示している。他のゲートウェイと同様に、このゲートウェイもひとつの通信における要求を解決するために設計されたものであるから、異なる装置や異なる産業に利用される新しいプロトコルを重大な作り直しを行うことなく伝送可能にすることはできない。
【0007】
【発明が解決しようとする課題】
そのため、新しい装置やプロトコルが導入された際に、継続的に更新や変更をすることを必要とせず、日々進化する多様な産業の電子装置分野に追従することのできる変換機を提供する新しい解決策が必要とされている。
【0008】
【課題を解決するための手段】
本発明は、このような汎用通信プロトコル変換機である。本発明は、送信元と送信先の装置の種類とデータ形式に対する要求を決定し、その後に送信元から送信先への情報伝達を扱う。本発明は、10個の主要な識別(判別)装置(discriminator)を評価することによって、様々な通信プロトコルのオンザフライな認識(on-the-fly recognition)、分類及び変換が可能である。これにより、本発明は、将来のプロトコル、装置の種類、アプリケーションのデータ形式を、設計変更や更新を必要とせず、認識しかつ操作することを可能とする。
【0009】
本発明は、クライアント・サーバーのベンダーが、アプリケーションとプロトコルに特有なデータを、その内部のデータ構造や実装コードに対して変更を加えることなく、装置アプリケーションから装置アプリケーションへと送受信することができるようにする広域なインフラストラクチャを構成する。本発明は、新しい装置の種類とアプリケーションデータの形式の速やかな組み込みを提供することによって、新規の装置が開発されたときに、既存の装置と新規の装置との間で効果的にデータ共有を行うことを可能とする。この能力は、既存のアプリケーションベンダーが、新規装置の直接的なサポートを実装コードに組み込む必要がないこと、また、新規の装置のベンダーも通信したい他のそれぞれの装置の種類とアプリケーションに対するサポートを組み込む必要もないことを保証する。
【0010】
最後に、本発明は、既存のコンピュータアプリケーションベンダーに、既存のソースコードに対して重大な変更を加えることなしに、無線装置からまたはそれに向けて、データを伝送する能力を提供するものである。
【0011】
発明の理解をさらに助けるため、添付した図面は発明の特定の特徴を記載している。添付した図表の簡単な説明は後で記載する。
【0012】
【発明の実施の形態】
この発明のひとつの目的は、装置ベンダーとアプリケーション開発者が、継続的で高価な変更をその生産ラインに加えることなく、内部操作(interoperate)することができるようになる安定したインターフェースを提供することである。この発明の主な利点は、装置やアプリケーションの開発者が、情報を共有する装置が使用するプロトコル、データフォーマットまたはアプリケーションセマンティクスがどれであるかについての詳細に関与することなく、サービスとして利用できるようなインターフェースとインフラストラクチャを提供することである。この発明は、プロジェクトの最初からその認識と定義を要求するというよりはむしろ、利用可能になりかつ関心を持ったときに、新しいプロトコルとデータフォーマットを組み込むことを提供するものである。
【0013】
本発明は、送信元Sから送信先Dへ情報を移すための手段と装置を含んでいる。ここで、SとDは異なるデータ形式を有しており、それぞれのインターフェースでは異なるプロトコルを用いている。本発明は、Sからのデータを受け取り、データ形式Fsをもつ送信元の装置の種類とデータフォーマットFdをもつ送信先の装置の種類とを判定する。本発明は、入ってくるデータをFsからFdへ変換し、新しい形式FdのデータをDへ移す。ここでは、本発明の完全な理解を提供するために、特定の項目、特定のプロトコルの種類、特定の構造を記述する。しかしながら、当業者は、レコードや配列のようなよく知られたソフトウェアの構成概念に精通しているので、本発明の理解の妨げとなるのを避けるために、この中ではそれらの詳細については述べない。同様に、通信プロトコルに関する当業者は、内部プロトコル形式とその詳細によく精通している。そのため、本発明は、それらのプロトコルやフォーマットをサポートしているが、詳細についてはここでは述べない。当業者は、これらの特別な詳細な説明なしで本発明を実施することができることを理解されたい。
【0014】
図1は、本発明がサポートできるインターフェースの一般的な種類を図示したブロック図である。図1で示されている典型的な無線ネットワーク8は、ワイアレス・アプリケーション・プロトコル(WAP)を用いている。WAPは、WAPフォーラムや無線装置製造会社の協会や無線電話事業者やその他の無線通信と装置産業の会社によって規格化された無線通信プロトコルの標準である。WAP標準は、アンブレラスタンダード(umbrella standard)であると考えられ、実際その中に、様々な無線のアプリケーションや装置の種類に特有である一連のWAPフォーラム認定の仕様を含んでいる。WAP1.1技術仕様書(The WAP 1.1 Technical Specifications)は、以下の仕様を含んでおり、それらを引用することにより、あらゆる目的のために、その内容が本件出願に組み込まれている。
【0015】
・Wireless Application Protocol Architecture Specification dated 4/30/98
・Wireless Application Environment Overview, dated 6/16/99
・Wireless Application Environment Specification, dated 5/24/99
・Wireless Markup Language Specification, dated 6/16/99
・Binary XML Content Format Specification, dated 6/16/99
・WML Script Language Specification, dated 6/17/993
・WML Script Standard Libraries Specification, dated 6/17/99
・WML Script Statement of Intent, dated 4/30/98
・WAP Caching Model Specification, dated 2/11/99
・Wireless Session Protocol Specification, dated 5/28/99
・Wireless Transaction Protocol Specification, dated 6/11/99
・Wireless Datagram Protocol Specification, dated 5/14/99
・WAP over GSM USSD Specification, dated 5/31/99
・Wireless Control Message Protocol Specification, dated 5/14/99
・Wireless Transport Layer Security Specification, dated 2/11/99
・Wireless Telephony Application Interface Specification, dated 5/31/99
・Wireless Telephony Application Interface Specification, GSM Specific Addendum, dated 2/10/99
・Wireless Telephony Application Interface Specification, IS-136 Specific Addendum, dated 4/30/99
・Wireless Telephony Application Interface Specification, PDC Specific Addendum, dated 4/30/99
【0016】
これらの仕様のコピーは、インターネットの www.wapforum.org/what/technical.htmで手に入れることができる。
【0017】
図1を参照すると、本発明に係るメッセージの送信元と送信先は、人間/機械のインターフェース(man/machine interface)10を有している。必要とする装置の種類によって、人間/機械のインターフェースは、キーボードでもよく、ナンバーパッド、コントロールパネル、モニター、インジケーターライト、スイッチパネル、また一般的に、情報を入力したり、操作するオペレーターやユーザーに画面を表示したりするようなメカニズムのものでもよい。図1に示されている典型的なWAPベースの無線ネットワーク8において、人間/機械のインターフェース10は、WAEエージェント12とWTAユーザーエージェント14と連結されている。WAEエージェント12は、無線アプリケーション環境の要素であり、WAEエージェントの機能は、上記の無線アプリケーション環境概要(Wireless Application Environment Overview)と無線アプリケーション環境仕様(Application Environment Specification)に記載されている。同様に、WTAユーザーエージェント14は、テレフォニーアプリケーションインターフェース(Telephony Application Interface)の要素であり、その機能は先に列挙したテレフォニーアプリケーションインターフェース仕様の中に記載されている。一般的に、これらのネットワーク要素は、汎用無線装置や無線電話装置との相互作用をサポートする。完全にするという理由のみで、図1には、この他に、リポジトリ16、ネットワーク層20、モバイルネットワーク26、WATサーバー24、そして、本発明が接続するWAPネットワークの入り口のWAPゲートウェイ22を含むWAPベースのネットワークの一般的な要素も示されている。これらのWAPネットワーク要素をより詳細に知りたい場合は、先に列挙した仕様書、特に、Wireless Application Environment Overview、Wireless Application Environment Specification、Telephony Application Interface Specificationを参照されたい。これらの仕様書や先に列挙した他のWAPの仕様は、特徴や機能や様々なネットワークの要素と機能とのインターフェース(そのいくつかは図1に示されている)に関係した詳細を提供している。
【0018】
本発明の好適実施例である汎用通信プロトコル変換機は、図1中のブロック32に示されており、WAPゲートウェイ22と、直接またはファイアーウォール28を介してイントラネット29またはインターネット30に対しての両方向のインターフェースとを有している。図1で示されているように、プロトコル変換機32は、多数のプライベート送信元(private source)27とプライベート送信先(private destination)24に対する一方向または両方向のインターフェースを持っている。
【0019】
プロトコル変換機32は、例えばWAPゲートウェイ22、(直接またはファイアーウォール28を介して)インターネット30またはイントラネット29あるいは潜在する多様なプライベート送信元27のような送信元からメッセージを受け取り、そのメッセージを変換し、さらにそれをWAPゲートウェイ22、インターネット30、イントラネット29、プライベート送信元27、またはブロック34で示されているプライベート送信先のいくつかに対して、転送することが可能である。
【0020】
WAPゲートウェイから受け取るメッセージは、上記の仕様によって定義されている一つまたはそれ以上のWAPプロトコルに符号化されやすい。図1で示されているその他の潜在するメッセージ送信元から受け取るメッセージは、次の例のプロトコルのいずれかであってもよい。
【0021】
・分散プロセスコントロールプロトコル(DPCP)、またはそれに似たパフォーマンスのためにカスタマイズされ、どこにも一般的な目的の無いような、固定的で特別であり、しばしば専用のプロトコル。
・TCP/IPやNetware、wireless ASCII、またその他のプリンタープロトコルを含むかなり特別で専用なプロトコル。
・モバイルアプリケーションリンク、すなわちMALプロトコルというPDA装置の分類に関連するオープンなプロトコルである。これは、基本的なファイル転送メカニズムとして、TCP/IPとHTTPを用いるかもしれないが、送信先装置に適合するためのアプリケーションデータの変換を扱っていない。
・その他のオープンまたは専用のプロトコル。
【0022】
この可能性のあるプロトコルのリストは、本発明がサポートできる入力メッセージのプロトコルと出力メッセージプロトコルの種類の網羅的なリストというよりむしろ、ひとつの例を意図している。入力メッセージのプロトコルの認識は、特定のポート接続を特定のプロトコルに割り当てることで行われる。言い換えれば、ある特定のポートでメッセージを受け取ったとき、本発明はメッセージを受け取り、以下により詳細に記述するように、適切に経路を決める。
【0023】
プロトコル変換機がメッセージを受け取ることができるプライベート送信元27とメッセージを転送することができるプライベート送信先34は、プロトコル変換機が確定することのできる通信能力を持ち、プロトコル変換機と意味のある情報をやり取りできるような装置である。プライベート送信元27とプライベート送信先34は、先に列挙したプロトコル例のような専用のプロトコルまたはオープンのプロトコルを用いて通信する装置を表すことを意図している。言い換えれば、本発明は、電子装置に対して、その言語が装置に特有な専用言語、または様々な装置やその種類で用いられているより標準な言語であるとき、その独自の言語で電子装置に接続し直接通信することができる。この詳細の背景として、「プライベート」である送信元と送信先は、装置特有のやり方で通信する装置を意味し、その装置の通信インターフェースは、WAPやコンピューターのプライベートネットワークやインターネットを使用していない。
【0024】
図2は、本発明の好適実施例に係る高レベルの機能フローを表した図である。スタートアップ60では、本発明は情報を受け取り変換する準備として、例えばメモリの割り当てやネットワークインターフェースの初期化のような一般的な保守や管理を行う。ステップ62において、本発明はメッセージを受け取る。メッセージを受け取った後に本発明が最初に行う動作は、ステップ64で入力メッセージを受け取るために用いるプロトコル(「送信元プロトコル」)を決定することである。上記のように、これは特定のポート接続を特定のプロトコルに割り当てることによって行う。ステップ66において、本発明は、送信元プロトコルが既知のものであるかどうかを決定する。既知のものでなければ、本発明はブロック68へと進み、そこに列挙されているタスクを行う。一方、送信元プロトコルが既存のプロトコルであるなら、本発明はメッセージに関する作業を継続する。
【0025】
ステップ70では、本発明は、ターゲット(目標の)装置(送信先装置)を入力メッセージから確定することができるかどうか判定する。もし、ターゲット装置が入力メッセージから確定できなければ、本発明は、ステップ72において、既定の(デフォルトの)ターゲット装置を選択し、入力メッセージから(もしあれば)すべてのグラフィックスを取り除く。ターゲット装置が確定された(または、デフォルトのものが選択された)後、本発明は、ステップ73で示されているように、出力メッセージの構成に関する作業を開始する。
【0026】
本発明は、その後、ターゲット装置の通信プロトコルを認識できるかどうかを判定するために、ステップ74へと進む。認識できる場合、本発明は、ブロック78へ進み、ターゲット装置上のターゲットアプリケーションを決定できるかどうかを確認する。一方、本発明がターゲット装置に適したプロトコルを知らない場合は、ステップ76でデフォルトの一般的なプロトコルを選択し、メッセージを規定に従って作成し、「ニア・ミス(near miss)」というログを残す。このログ機能の目的は、以下で説明する。
【0027】
ブロック78において、もしターゲットアプリケーションが既知である場合、本発明はメッセージを変換し送信するためにブロック82へと進む。それに加えて、本発明は、(もし必要であれば)送信元に対して確認エコー(confirmation echo)を送り返し、メッセージを削除する。この時点で、本発明は、別の受信メッセージを処理する準備が整う。
【0028】
図2で示された実施例では、本発明がブロック78でターゲットアプリケーションを既知ではないと判定したとき、メッセージは80で拒否され、その旨が送信元に伝えられる。また別の方法として、この時点でメッセージを拒否するというのではなく、本発明を実施する者がメッセージをブロック74で決定したプロトコルへ変換することを選択し、ブロック70で決定したターゲット装置にメッセージを送信してもよい。このアプローチは、事実上、ターゲット装置自身がメッセージを適切な内部アプリケーションへ誘導してくれると仮定している。
【0029】
ブロック68、76、80で示されているログの機能は、潜在的な分析のサポートとユーザーが将来のある時点で望むかもしれない動作の更新のために含まれている。例えば、もし分析ログが、ある特定の送信元プロトコルまたはターゲット装置/プロトコルが繰り返し出現しているが、繰り返し既知ではないとしてログ出力されていることを示していれば、これらのプロトコルのサポートを提供するために、調査及び本発明に対する更新と変更の可能性が示されているかもしれない。新規追加のプロトコルを組み込むための更新や変更の柔軟性と容易さを提供する本発明の特徴は、以下において図4に基づいてより詳細に述べる。
【0030】
図3は、送信元と送信先の装置の両方が典型的な無線装置であるような例として描いたプロトコル変換機32のブロック図である。典型的な無線装置90は、メッセージを生成し、それはプロトコル変換機32によって、TCP/IPソケットタイプのインターフェース104経由で受け取られる。TCP/IPソケットタイプのインターフェース104は、プロトコル変換機がサポートする入力のメッセージプロトコルのすべてに対するインターフェースを提供する。作図上の理由で、図3で示されるサポートされている入力のメッセージプロトコルは、無線アクセスプロトコル/Wireless Access Protocol (WAP)94、Proprietary Protocols (Prop Prot)96、98、モバイルアプリケーションリンク/Mobile Application Link (MAL)99、及び他の標準プロトコル (Std Prot)100、102だけを含んでいる。当業者は、この明細書を読むかあるいは本発明を実施した後に、図3で示されている本発明がサポートする入力のメッセージプロトコルがただの作図上の目的であり、本発明がサポートできるプロトコルの網羅的なリストではないということを理解するであろう。
【0031】
図3に戻って説明するに、受信機回線マネージャ(receiver circuit manager)92は入力メッセージを受け取り、エラーとセキュリティの基本的なチェックを行い、受信機プロセスを初期化し、多数の受信機106のうちのひとつにメッセージを渡す。各受信機106は、それぞれ回線マネージャ92からさらなる処理のためにメッセージを受け取り、以下に詳説する作業を行う。さらに、メッセージの送信先に向けられているとして指定されているメッセージキュー(message queue)108に、メッセージをいれる。
【0032】
各受信機108は、それぞれ、入力メッセージのプロトコルを分類し、メッセージの内部構造に関する2つ目の通過チェックを行い、拒否のためにメッセージに対し適切なところに印を付け、その後、ルーティングのために(経路を定めるために)メッセージをキューに入れる。
【0033】
メッセージキュー108は、すべての送信機、受信機、ルーター、変換プロセスの中で、メッセージキューとして振る舞いかつ同期化のための作業を行う。メッセージキュー108は、自己が管理するヒープ(heap)の中で、動的に大きくなったり縮んだりする。
【0034】
メッセージルーター(message router)112は、送信元と送信先のタイプの属性を比較し、変換が必要かどうかを決定する。そして、適切なときに、メッセージをメッセージキュー108を介してコンバータ110へ送る。メッセージコンバータ110は、メッセージを分類し、それを適切な送信先形式へと変換する。メッセージコンバータ110は、ひとつのプロセッサ上で実行されてもよく、あるいは負荷分散のために多数のプロセッサに分散してもよい。さらに、メッセージの変換は、送信元と送信先の種類のために及び負荷とキューのバランスのために必要とされる場合には、全く同一の多数の変換プロセスから成るものでもよく、また異なる複数のプロセスからなるものでもよい。
【0035】
一旦変換された後、メッセージは、どの送信先プロトコルがプロトコル変換機32からメッセージを配送するために使われるかについて、ルーター112によって評価される。その後、ルーターは、再びメッセージキュー108を介して、メッセージを適切な送信機114へ転送する。図3に示されているように、本発明は、プロトコル変換機がサポートしている出力メッセージプロトコルと装置の種類に応じて、多数の送信機114を含んでもよい。送信機114は、送信先の装置とプロトコルが必要とする場合には、さらに、出力メッセージの物理的な伝送をサポートするのに適したすべてのハードウェアを含んでいる。
【0036】
送信機114は、さらに、変換された出力メッセージを有線または無線インターフェースを経由して、送信先装置116へと送信する。
【0037】
図4Aから4Eは、10個の判別回路を組み込んだ多次元有限状態オートマトンを用いた好適実施例におけるメッセージコンバータ110の変換と分類の機能を示している。この好適実施例は、インフラストラクチャに変更を加えることなく多数の将来のプロトコルや装置の種類やアプリケーション形式を組み込むことができる拡張可能かつ保守可能な設計となっている。また、新規のプロトコルや装置やアプリケーションは、ほとんどエラーをだすことなく追加することが可能で、従来の設計技術よりもより良い性能を達成することができる。
【0038】
好適実施例としての状態機械オートマトン(state machine automata)の使用の重要な利点のひとつは、本発明を極限的に拡張可能とすることである。また、状態機械オートマトンのハードウェアの実装は、シリコンの中に配置可能であり、その結果、高速で信頼性のある変換方法が得られる。さらに、フラッシュメモリ技術を組み込むことで、シリコンはフィールドで「再プログラム」することができ、ユーザーが供給された更新を読み込むかあるいはそれ自身の改良を開発することができるようになる。それにもかかわらず、当業者は、この明細書を読んだ後または本発明を実施した後には、好適な有限状態オートマトンの実装を用いないハードウェアやソフトウェアの別の実装が、たとえ拡張性やパフォーマンスや変更容易性の点で有効でないとしても、本発明から逸脱することなく採用可能であることを認識するだろう。
【0039】
同様に、当業者は、この明細書を読んだ後または本発明を実施した後に、この明細書が有限状態オートマトンをメッセージコンバータ110の中に完全に存在するものとして記述している一方で、有限状態オートマトン(または、同等のもの)の1つ以上のステージがメッセージルーター112の中に存在するようにすることも本発明から逸脱しないことを理解するであろう。
【0040】
多次元有限状態オートマトンに対する入力は、以下のものを含む。
・入ってくるメッセージのメモリブロックとアドレス
・オートマトンの現在の状態
・入ってくるメッセージが到着するときに用いられるプロトコルの種類
・入ってくるメッセージが生じた装置の種類
・入ってくるメッセージが生じたアプリケーションの種類
・入ってくるメッセージが生じた形式の種類(しばしば、アプリケーションの種類によって暗に示される)
・両方の装置の接続状態(接続/非接続、オンライン、オフライン)
・出て行くメッセージが送られるときに用いられなければならないプロトコルの種類
・出て行くメッセージが送られる装置の種類
・出て行くメッセージが変形されなくてはならないアプリケーションの種類
・出て行くメッセージが変形されなくてはならない形式の種類
【0041】
図4Aに戻って、多次元有限状態オートマトンの最初のステージ120は、プロトコルの判別手段である。プロトコルの判別手段のステージ120は、接続状態122、送信元プロトコルの種類124、そして送信先プロトコルの種類126に基づいた3次元マトリクスからプロトコルアクションインデックス(action index)138を選択する。
【0042】
プロトコルアクションインデックス138は、“x”、“y”及び“z”の形式のプロトコル変数に一致する整数か識別子である。ここで、“x”は本発明と送信元もしくは送信先の装置との間の接続の状態を示す整数又は識別子を含んでおり、“y”は同様の送信元プロトコルのカテゴリと関係した整数又は識別子を含んでおり、“z”が送信先プロトコルのカテゴリに関係する整数又は識別子を含んでいる。
【0043】
プロトコルアクションインデックス(protocol action index)が選択される手順を説明するために、ユーザーがPC(Personal Computer)上の住所録アプリケーションを使ってPDA中の住所録を更新する例を考える。この例において、前提として、ユーザーの住所録アプリケーションはPDAの組み込み機能によって対応されていないこととし、そのため、本発明は2つの装置間の通信を容易にすることが要求されるとする。以下のプロトコルカテゴリの不完全なリストは、本発明の実施例においてサポートされていると仮定する。
【0044】
1.Wireless Access Protocol (WAP)
2.Mobile Application Link (MAL)
3.DPCP(Proprietary binary protocol)
4.Internet Presence Protocol (IMPP)
5.RSVP (a common receive/respond protocol)
6.Starfish Software TrueSync Protocol
7.Application-specific proprietary protocol A
8.Application-specific proprietary protocol B
9.Client-specific proprietary protocol A
10. Application-specific proprietary protocol B
【0045】
本発明では、入力されたメッセージからソースプロトコル124と送信先プロトコル126を決定し、その後プロトコル変数のy及びzコンポーネントを確定するために適切なプロトコルカテゴリを選択する。前記例を用いて説明するに、ユーザーのコンピューター(送信元装置)上の住所録アプリケーションは、アプリケーションに特化した私有プロトコル(application-specific proprietary protocol)A(前述リストの7番目)に似た特徴を持つプロトコルを利用し、PDAはアプリケーションに特化した私有プロトコルB(前述リストの8番目)に似た特徴を持つプロトコルを利用すると仮定する。送信元装置とターゲット装置は、両方とも変換機に接続されており、接続状態(connection status)が"1"であるとする。また、プロトコル変数"1,7,8"に対応するプロトコルアクションインデックスは"12"であると仮定する。言い換えると、この例では、"アプリケーションに特化した私有プロトコルA"のプロトコルカテゴリに属すプロトコルを利用する送信元装置が"アプリケーションに特化した私有プロトコルB"のプロトコルカテゴリに属すプロトコルを利用する送信先装置と通信することを希望しかつ両装置が現在接続されている場合、本発明はプロトコルアクションインデックス"12"を選択することを意味する。
【0046】
各プロトコルカテゴリは、それぞれ単一のプロトコルか複数の同様なプロトコルから構成される。好適実施例においては、重要度の高い順に並べられた以下の基準に基づいて2つのプロトコルが"同様"であるとみなされ、ともに単一のカテゴリ("アプリケーションに特化した私有プロトコルA"など)に分類される。
【0047】
1.ASCII/unicodeで符号化されたコンテンツ対バイナリデータ
2.同一のヘッダー
3.マークアップ言語における同じ記述子の集合
4.同じ基本構造(例えば、ヘッダーとボディー)
5.同様に分解できる正規表現
【0048】
通信プロトコルに精通している当業者は、本発明の確かな動作を達成するために、本発明を実施する者が、特別な実装において、これらの基準の1つあるいはそれ以上を削除したり、重要度の順を変更したり、ここに挙げていない他の基準を追加したりすることができることを理解するであろう。前記リストは、一般的な変換能力を実現することができる好適実施例である。また、本発明から逸脱することなく、他のプロトコルカテゴリや他の手法を導入することもできる。
【0049】
同様に、本発明を実施する者は、接続状態(connection status)の入力として様々な状況を想定することができる。例えば、好適実施例では、1つの接続状態識別子を送信元装置とターゲット装置とが共に現在接続されていることを示すために割り当てることができるし、また送信元装置は接続されているがターゲット装置が接続されていないことを示すために他の識別子を割り当てることができるし、さらに送信元装置は接続されていてターゲット装置は接続されていないが未来の適当な時点(例えば、ターゲット装置がワイヤレス装置であり、それを使って送信機114がWAPゲートウェイ22を介して接続を確立したかもしれない場合)に接続することが可能であるということを示すために他の識別子を割り当てることができる。この実施例では、他のすべての入力は等価であり、本発明はターゲット装置の接続状態に基づいて3つの異なる動作を選択することができる。
【0050】
最終的に、当業者は、前記プロトコル変数の3つのコンポーネントの順番は重要でないということを認識するであろう。換言すると、"x"が送信先プロトコルカテゴリ識別子を表し、"y"がコネクションリンク状態を表し、"z"がソースプロトコルカテゴリ識別子を表す場合、"x、y、z"という形式のプロトコル変数は本発明から逸脱するものではない。これは、以下において有限状態オートマトンの各ステージの説明との関係で述べる3つのコンポーネント変数(three-component variables)のそれぞれに対しても正しいものである。
【0051】
図4Bは、多次元有限状態オートマトン(poly-dimensional finite state automaton)140の2番目のステージを表す。この2番目のステージ140は、装置識別手順であって、そこでは、1番目のステージ120で決定されたプロトコルアクションインデックス138、送信元装置のタイプ(source device type)142及び送信先装置のタイプ(destination device type)146から三次元マトリクスを用いて装置インデックス(device index)148が選択される。この送信元装置のタイプ142は、メッセージを受信する接続ポート(connection port)から求められる。また、送信先装置のタイプ146は、使用される実装に応じて、様々な要因で決定される。例えば、使用される送信元(ソース)プロトコル(source protocol)によっては、送信先装置は、HTTPヘッダーの中でURL形式の命名規則によって特定(識別)してもよく、あるいはメッセージのヘッダーやボディー中にあってもよい。
【0052】
装置インデックスは、"x,y,z"という形式の装置変数を表す整数あるいは他の識別子である。ここで、"x"が前記プロトコルアクションインデックスを含み、"y"が同様な送信元装置のカテゴリに関連付けられた整数あるいは他の識別子を含み、"z"が同様な送信先装置のカテゴリに関連付けられた整数あるいは他の識別子を含む。好適実施例においては、2つの装置が同じタイプのデータを受け取る場合に"同様"であるとみなされ、ともに単一のカテゴリに分類される。例えば、本発明の実施例は、装置インデックスのy,zコンポーネントを含む以下のカテゴリを有するようにしてもよい。
【0053】
1.ASCII文字のみを許容する装置
2.解像度(resolution)Aのビットマップ(bit-mapped)を許容する装置
3.解像度(resolution)Bのビットマップを許容する装置
4.Nokia 9000ilのような装置
5.Symbianの装置
6.Palm Pilotファミリーの装置
【0054】
もちろんこのリストは、説明の目的のためだけのものであり、本発明が対応可能な装置の完全なリストではない。さらに、当業者は、本発明を実施する者は、本発明から逸脱することなく、装置を"同様"であると分類するためにデータの類似性に加えてあるいはその代わりに他の基準を導入することができることを理解するであろう。
【0055】
前記実施例に続いて、有限状態オートマトンの2番目のステージは、x,y,zという形式の装置変数を表す装置インデックスとして"6"を選択する場合がある。この場合、xのプロトコルアクションインデックスは"12"(前のステージで選択されたもの)となり、yの送信元装置タイプのカテゴリ(source device type category)は"3"(送信元装置として適当なPC)となり、zの送信先装置タイプのカテゴリ(destination device type category)は"6"(ターゲット装置に相当するPDA)となる。
【0056】
図4Cの多次元有限状態オートマトンで表される3番目のステージ150は、アプリケーション識別手順である。このアプリケーション識別ステージ150は、前のステージ140で決定された装置インデックス(device index)148、送信元アプリケーション識別子152、送信先アプリケーション識別子156から三次元マトリクスを用いてアプリケーションインデックス158を選択する。送信元アプリケーション識別子152及び送信先アプリケーション識別子156は、ともに入力されたメッセージを元に決定される。これまでのインデックスと同様に、アプリケーションインデックスはx,y,zという形式の変数に対応する整数である。ここで、xが前のステージ140で決定された装置インデックス148であり、y及びzがそれぞれ送信元アプリケーションとターゲットアプリケーションとして適切なアプリケーションカテゴリに対応するカテゴリ識別子である。送信元アプリケーションとターゲットアプリケーションは、以下のカテゴリを含むことができるが、これらに限定されわけではない。
【0057】
1.XML
2.HTML
3.HDML
4.Text
5.EPOC
6.FAT16
7.ハンドヘルド装置(handheld device)上の予定表やカレンダータイプのアプリケーション
8.ハンドヘルド装置上のデータベースタイプのアプリケーション
9.モバイルアプリケーションリンクデータベースアプリケーション(Mobile Application Link database application)
10.WAP (Wireless Access Protocol)ファイル構造を利用するアプリケーション
【0058】
好適実施例においては、二つのアプリケーションがアプリケーションの最小で完全なデータ表現をカプセル化するためにレコード、ファイル、その他のオブジェクトを記述するのに同じ形式(フォーマット)を用いる場合、これらの2つのアプリケーションが同様であるとみなされ、ともに単一のカテゴリに分類される。前述した他のステージと同様に、本発明を実施する者(practitioner)は、本発明から逸脱することなく、本発明の特別な振る舞いに関するデザイナーのゴール(designer's goals)に基づいて、同様なアプリケーションを分類するための他の基準を選ぶことができる。
【0059】
図4Dは、フォーマット識別を行うための多次元有限状態オートマトンで表される4番目のステージ180である。このフォーマット識別ステージ180は、前のステージ150で決定されたアプリケーションインデックス158、送信元フォーマットタイプ(source format type)162、送信先フォーマットタイプ(destination format type)166から三次元マトリクスを用いてフォーマットインデックス(format index)168を選択する。送信元フォーマットタイプと送信先フォーマットタイプの双方は、ともに入力されたメッセージを元に決定される。このフォーマットインデックスは、"x、y、z"という形式のフォーマット変数(format variable)を表す整数あるいは識別子である。ここで、"x"が前のステージ150で決定されたアプリケーションインデックス158であり、"y"が送信元データフォーマット(source data format)を含むデータフォーマットカテゴリ(data format category)に対応しており、"z"がターゲットのためにデータが整形されなくてはならないデータフォーマットカテゴリに対応する。データフォーマットカテゴリは、以下のデータフォーマットを含むことができるが、これらに限定されるわけではない。
【0060】
1.1バイト文字データ
2.2バイト文字データ
3.符号なし32ビット整数
4.リトルエンディアン(Little Endian)
5.ビッグエンディアン(Big Endian)
6.符号付き32ビット整数
7.IEEE浮動小数点数
8.64ビット整数
【0061】
最後に、図4Eは、アクション選択を行うための多次元有限状態オートマトンで表される最後のステージ170である。このアクション選択ステージ170は、オートマトンの"アクション"と呼ばれる最終出力180を選択する。このアクション180は、ターゲット、その送信元、メッセージのコンテンツを生成するアプリケーション及び協働動作する装置の接続状態に基づいて入力されたメッセージを修正するために汎用プロトコル変換機32によって使用される一連の実行可能な命令からなる。アクション180は、これに限るわけではないが、何もしない命令、入力されたメッセージを修正する命令、送信先装置にメッセージを送る命令、入力されたメッセージを破棄する命令、指示されたメッセージのコンテンツの変換を行う命令または送信元装置にメッセージを送る命令を含むことができる。さらに、アクション180は、送信元の割り当てや開放や情報の記録(logging information)などの内部の補助的な命令を含むこともできる。
【0062】
このアクション180と有限状態オートマトンの次の状態178は、前のステージ180で決定されたフォーマットインデックス168や有限状態オートマトンの現在の状態や今後使用される可能性がある未割当変数176から選択される。未割当変数176は、本発明が十分な自由度、速度及び長期の保守性を達成するために、図4に示された好適実施例に含まれている。変数176が割当されない場合、アクションセレクター179は、フォーマットインデックス168とオートマトンの現在の状態172の関数としてアクション180と次の状態178が選択される二次元マトリクスを含むことができる。しかしながら、未割当変数176にインデックスや他の値を割り当てることで、追加のアクション180と次の状態178を定義しかつ選択することができる。
【0063】
本発明の好適実施例では、多次元有限状態オートマトンの様々なステージを経た結果、これらのアクションの1またはそれ以上を選択する。図4Eから明らかなように、変数176は、選択されるアクションがこれらのアクションの1またはそれ以上のアクションあるいは新たなアクションとなるように、定義することができる。
【0064】
変数176は、変換機のコード設計時に、知識を要求するというよりはむしろ、進化的なやり方でサポートされたプロトコルやデータフォーマットセットの拡張をする方法を提供する。ソフトウェアへの変更が必要な唯一の状況は、新たなデータ型(例えば、浮動小数点数、整数、文字列、ASCIIなど)が定義されたときなどの全く新しい形態の変換が必要となったときである。最終的に、図4Aから図4Eは、前のステージの結果を用いて順に操作をしていく多次元有限状態オートマトンの様々なステージを表しているが、本発明を実施する者は、他の実装を採用してもよい。例えば、本発明を実施する者は、図4Aから図4Eのように、実行時に決定されていない予め定義された入力を使用して、様々なステージの中の1つあるいはいくつかのステージを単独であるいは一緒に採用することができる。また、当業者は、図4Aから図4Eのようにステージをパイプライン状に使うことがより自由度を高めロバスト性が高い設計であるだけでなく前衛的な取り組みとなることを認識するであろう。
【0065】
図4Aから図4Eが本発明の振る舞いの静的な部分を表しているのに対して、図5Aと図5Bは、図2と同様のより詳細な状態駆動(state driven)の観点から本発明の振る舞いの実行時の動的な部分を表している。
【0066】
図5Aにおいて、本発明は190で初期化される。この初期化は、ネットワーク管理者あるいは同等の権限をもつ者あるいは"run"実行文を実行するプログラム200によって起動される。初期化の際に本発明はブロック190に挙げられた機能を実行する。
【0067】
初期化が終了すると、本発明は"await message"(メッセージ待ち)状態192に移行する。"await message"状態において、本発明は、メッセージの受信に成功して待機状態が変更されるまで待つ。メッセージが到着すると、本発明は受信したメッセージを前段階で初期化された内部のアドレス空間(local address space)に対応付ける"await queue"状態194に移行する。その後、本発明は、図2で示したようにメッセージを評価する。図2で示したように、図5Aの204において、入力されたメッセージのプロトコルが不明の場合、メッセージは破棄され、破棄が記録され、本発明は"await message"状態192に移行する。一方、送信元プロトコルが認識された場合、メッセージは208に示されたように処理される。
【0068】
図5Aで示されるように、ステップ206で実行される機能の1つは、送信元装置とターゲット装置を特定することである。送信元装置が不明の場合、本発明はステップ210のように標準の送信元装置を選択してメッセージの処理を続行する。ターゲット装置が不明の場合、好適実施例においては、本発明はステップ208のように入力されたメッセージをテキスト形式に変換し、最小公約数のような"best effort"条件として(as a lowest common denominator "best effort" condition)標準の(デフォルトの)ターゲット装置を選択する。本発明は、内部のワークキュー(work queue)中のすべてのメッセージが処理されるまで、ステップ194の"await queue"状態に留まる。その後、本発明は、状態機械(state machine)用の"既知"の装置として標準(デフォルト)の装置を継続する。それは、ステップ212において実行されかつステップ212において獲得されるアクションである。
【0069】
いくつかの状況においては、本発明を実施する者は、前記デフォルトのアクションを無視し、メッセージを破棄し、失敗を記録し、メッセージキュー(message queue)を空にして、ステップ192の"await message"状態に移行することを選択することができる。同様に、本発明を実施する者は、ステップ206において、ターゲット装置の接続状態を決定することができる。送信先装置が接続されておらず、送信先装置が未来の適当な時点で接続されるかどうかを本発明が決定できない場合、本発明を実施する者は、性能向上のために、入力されたメッセージを破棄し、キューを空にし、かつ適切な情報を記録し、そしてステップ192の"await message"状態に移行することを選択することができる。
【0070】
図5Aに関してさらに説明するに、送信元装置とターゲット装置の種類が既知の場合(あるいは前記ように標準のものが選択された場合)、本発明は図4Aから図4Eで示すようにステップ212に進み、多次元有限状態オートマトンを実行するとともにアクションを取得する。ターゲット装置、プロトコル及びアプリケーションが既知の場合は、構文解析が成功し、メッセージを送信先フォーマットへ変換するの用意がなされる。その後、入力されたメッセージは、図5BBのステップ196,216,218において解析されかつ変換される。そして、本発明は、send message状態(メッセージ送信状態)218に移行し、ステップ220で示されているようにメッセージ送信に関連付けられたタスクを実行する。送信先メッセージが送信された後、本発明はステップ192の"await message"状態へ移行する。
【0071】
一方、ターゲットアプリケーションが決定できず解析が成功しないことがある。ステップ214は、この状況を示す。好適実施例では、ターゲットアプリケーションが不明の場合、本発明はメッセージを破棄し、適当な情報を記録し、そしてそのターゲット装置やアプリケーションに関連するこれ以降のメッセージをキューから取り除き、ステップ192の"await message"状態に移行する。
【0072】
当業者は、ターゲット装置やターゲットプロトコルを確定できない場合にテキスト表現のメッセージを送信することを除いて、本発明から逸脱することなくアクションを選択することができることを理解するであろう。同様に、本発明を実施する者は、ターゲット装置とプロトコルが既知だがターゲットアプリケーションが確定できない場合に、(前記ようにメッセージを破棄するのではなく)メッセージを送信することを選択してもよい。また、当業者は、これらの変更は本発明から逸脱することなく実行できるということを理解するであろう。
【0073】
前記説明や図5A及び図5Bから明らかなように、ブロック222,224,228は、発明の操作とは非同期に発生するエラーやシャットダウンの状況を表している。これらの状況のすべてにおいて、本発明は、現在の状態から終了状態に遷移することとなる。すなわち、ブロック226はワークキューが空の場合(入力されたメッセージがすべて処理されて送信されたかあるいは破棄された場合)、本発明がステップ192の"await message"状態に遷移することを表している。
【0074】
以下のコードは、説明の目的だけものであるが、本発明のハイレベルな作用を表している。この例では、本発明の主要な機能を分かりやすく説明するために、特定のメモリ管理手法などのローレベルな詳細は省かれている。当業者は、これらの詳細を補う様々なよく知られた方法に精通し、それを実現できるだろう。以下に示すハイレベルなコードは、次の一般的な機能や本発明の特徴の好適な実施(実装)を含んでいる。
【0075】
・ネットワーク接続管理
・メッセージ破棄(拒絶)
・データフォーマット変換
・メッセージヘッダー変換
・メッセージコンテンツ変換
・メモリ管理
・エラー報告
【0076】
コードの例を以下に挙げる。
/* Sense environment (e.g. memory available, O/S version, processor, I/O ports available) */
/* Set up I/O ports based on configuration details */
/* Initialize memory region for gateway */
/* Initialize status and other internal structures for logging purposes */
/* Allocate screen region on any console device for interactive status logging */
/* Spawn master circuit process */
/* Spawn receiver and sender processes */
/* Create internal queuing mechanism */
/* Spawn traffic router function */
/* Create synchronization elements */
/* Await first message */
/* Repeat the following forever */
check wait status: /*Wait not satisfied, continue waiting */
/* Wait satisfied, determine why based on wait status */
switch wait status: /*map received message into local address space */
Do_nothing: /* take no action */
Establish_circuit: /* save requisite identifier information, formally accept connection, spawn new receiver task
and hand off connection */
Destory_circuit: /* Deallocate socket id, clean up memory */
Build_rejection: /* allocate memory, copy base header to reply, upgrade status fields,
enqueue message for sending */
Build_target: /* Allocate memory, fill in base fields from originate message,
enqueue message for parsing */
ASCII_Big_Little: /* Transform big-endian into little endian format */
ASCII_Little_Big: /* Transform little-endian into big-endian format */
Map_headers: /* Based on device type, app type, protocol type, transform
necessary fields from source message into appropriate destination
fields */
Map_content: /* Based on device type, app type, protocol type, transform
content data into destination content body*/
Allocate_memory: /* Calculate requisite destination memory size and allocate it */
Free_memory: /* Return used space to local heap */
Send_Msg: /* Send message to destination. Log any errors. */
Update_State: /* assign current state to n+ext state value */
Otherwise: /* unknown action and thus internal state machine error. Log serious
error to console and log file */
Buffer_overflow: /* Log failure to log file and console */
Otherwise: /* Log failure to log file and console */
/* end switch on wait result */
【0077】
要約すれば、本発明は汎用プロトコル変換手法と送信元装置から情報を受信し、必要なら変換を行い、送信先装置に提供する仕組みを含む。汎用プロトコル変換機は、ソケットのようなインターフェスを持つ受信機回路マネージャ、1つあるいはそれ以上の受信機、1つあるいはそれ以上のコンバータ、メッセージルーター(message router)、及び1つあるいはそれ以上の送信機を含む。好適実施例では、メッセージコンバータは、1つあるいはそれ以上の入力変数から出力を得る関数として振る舞うマトリクスからなるステージを持つマルチステージパイプライン有限状態オートマトン(multi-stage pipelined finite state automaton)を用いて入力された情報を送信先フォーマットおよびプロトコルに変換する。好適実施例では、オートマトンのステージには、プロトコル識別ステージ、装置識別ステージ、アプリケーション識別ステージ、フォーマット識別ステージ、及びアクション選択ステージを含む。アクションセレクターによって選択されるアクションは、何もしないアクション、入力されたメッセージを修正するアクション、送信先装置にメッセージを送るアクション、入力されたメッセージを破棄する命令、送信元装置にメッセージを送るアクションを含むが、これらに限定されるわけではない。
【0078】
本発明の他の実施例は、本明細書を検討するかあるいは開示された発明を実施した後に、当業者に明らかになるであろう。本明細書や例は、例示的なものであり、発明の正しい範囲は、請求項で示される。
【図面の簡単な説明】
【図1】 図1は、無線ネットワーク、有線コンピューターネットワーク、そして特定の送信元及び送信先装置を含む様々なインターフェースをサポートする本発明の能力を説明するブロック図である。
【図2】 図2は、本発明の好適実施例を用いた2つの装置間の伝送例の高レベルなシーケンスを表したフローチャートである。
【図3】 図3は、本発明の好適実施例のデータフローを表す高レベルな機能ブロック図である。
【図4】 図4A−図4Eは、様々な通信プロトコルや装置のインターフェースを認識しかつ分類するために、また効率的な伝送のため情報を変換するために、本発明がどのように有限状態オートマトン技術を用いているのかを表現している。
【図5】 図5A及び5Bは、状態をもとにした見地から、本発明の好適実施例の振る舞いを詳細に示したものである。
Claims (24)
- 複数のインターフェースソケットを有し、各インターフェースソケットはサポートされた送信元プロトコルを一つ割り当てられており、前記インターフェースソケットを介して送信先装置に対する送信元装置からの情報を受け取るようになっている受信機回路マネージャと、
前記受信機回路マネージャから情報を受け取る1または複数の受信機と、
前記情報を、有限状態オートマトンを用いて送信先のフォーマットに変換する1または複数のメッセージコンバータと、
前記情報に対してどの送信先のプロトコルが適しているかを決定するメッセージルーターと、
前記情報を送信先のフォーマット及びプロトコルで前記送信先装置へ送る1または複数のメッセージ送信装置と、を備え、
前記有限状態オートマトンは、第1のステージ及びそれに続く複数の次のステージを有するマルチステージパイプラインを有しており、該マルチステージパイプラインの各ステージは、結果が1つあるいは複数の入力変数の関数として得られるマトリクスを有しており、前記複数の次のステージのそれぞれのステージにおける前記複数の入力変数のうちの1つは、当該ステージよりも前のステージの前記結果を有することを特徴とする送信元装置から送信先装置への情報を変換可能な汎用プロトコル変換機。 - 前記マルチステージパイプラインの一つのステージは、プロトコル判別ステージを有しており、該ステージへの前記入力変数は、さらに、送信元プロトコルタイプ識別子、接続状態識別子及び送信先プロトコルタイプ識別子を有しており、前記ステージから得られる前記結果は、さらに、プロトコルアクションインデックスを有しており、該プロトコルアクションインデックスは、さらに、前記接続状態識別子と、同種の送信元プロトコルのカテゴリと関連付けられた識別子と、同種の送信先プロトコルのカテゴリと関連付けられた識別子とを含むプロトコル変数に対応する識別子を有することを特徴とする請求項1に記載の汎用プロトコル変換機。
- 前記マルチステージパイプラインの一つのステージは、装置判別ステージを有しており、前記ステージへの前記入力変数は、さらに、プロトコルアクションインデックスと、送信元装置タイプ識別子と、送信先装置タイプ識別子とを有しており、前記ステージから得られる前記結果は、さらに、装置インデックスを有しており、該装置インデックスは、さらに、前記プロトコルアクションインデックスと、同種の送信元装置のカテゴリと関連付けられた識別子と、同種の送信先装置のカテゴリと関連付けられた識別子とを有する装置変数に対応する識別子を有することを特徴とする請求項1に記載の汎用プロトコル変換機。
- 前記マルチステージパイプラインの一つのステージは、アプリケーション判別ステージを有しており、前記ステージへの前記入力変数は、さらに、装置インデックスと、送信元アプリケーションタイプ識別子と、送信先アプリケーションタイプ識別子とを有しており、前記ステージから得られる前記結果は、さらに、アプリケーションインデックスを有しており、該アプリケーションインデックスは、さらに、前記装置インデックスと、同種の送信元アプリケーションのカテゴリと関連付けられた識別子と、同種の送信先アプリケーションのカテゴリと関連付けられた識別子とを有するアプリケーション変数に対応する識別子を有することを特徴とする請求項1に記載の汎用プロトコル変換機。
- 前記マルチステージパイプラインの一つのステージは、フォーマット判別ステージを有しており、該ステージへの前記入力変数は、さらに、アプリケーションインデックスと、送信元フォーマットタイプ識別子と、送信先フォーマットタイプ識別子とを有しており、前記ステージから得られる前記結果は、さらに、フォーマットインデックスを有しており、該フォーマットインデックスは、さらに、前記アプリケーションインデックスと、同種の送信元フォーマットのカテゴリと関連付けられた識別子と、同種の送信先フォーマットのカテゴリと関連付けられた識別子とを有するフォーマット変数に対応する識別子を有していることを特徴とする請求項1に記載の汎用プロトコル変換機。
- 前記マルチステージパイプラインの一つのステージは、アクション選択ステージを有しており、前記ステージへの前記入力変数は、さらに、少なくともフォーマットインデックスと現在のオートマトン状態識別子とを有しており、前記ステージから得られる前記結果は、さらに、次のオートマトン状態識別子とアクションとを有しており、該アクションは、さらに、(i)何もしない、(ii)入ってくるメッセージを修正する、(iii)メッセージを送信先装置へ送る、(iv)入ってくるメッセージを拒絶する、及び(v)メッセージを送信元装置へ送る、からなるアクションの一つ以上を実行するための一連の実行可能な命令を有していることを特徴とする請求項1に記載の汎用プロトコル変換機。
- 複数のインターフェースソケットを有し、各インターフェースソケットはサポートされた送信元プロトコルを一つ割り当てられており、前記インターフェースソケットを介して送信先装置に対する送信元装置からの情報を受け取るようになっている受信機回路マネージャと、
前記受信機回路マネージャから情報を受け取る1または複数の受信機と、
前記情報を有限状態オートマトンを用いて送信先のフォーマットに変換する1または複数のメッセージコンバータと、
前記情報に対してどの送信先のプロトコルが適しているかを決定するメッセージルーターと、
前記情報を送信先のフォーマット及びプロトコルで前記送信先装置へ送る1または複数のメッセージ送信装置と、を備え、
前記有限状態オートマトンは、第1のステージ及びそれに続く複数の次のステージを有するマルチステージパイプラインを有しており、該マルチステージパイプラインの各ステージは、結果が1つあるいは複数の入力変数の関数として得られるマトリクスを有しており、前記複数の次のステージのそれぞれのステージにおける前記複数の入力変数のうちの1つは、当該ステージよりも前のステージの前記結果を有することを特徴とする送信元装置から送信先装置への情報を変換可能な汎用プロトコル変換システム。 - 前記マルチステージパイプラインの一つのステージは、プロトコル判別ステージを有しており、記ステージへの前記入力値は、さらに、送信元プロトコルタイプ識別子と、接続状態識別子と、送信先プロトコルタイプ識別子とを有しており、前記ステージから得られる前記結果は、さらに、プロトコルアクションインデックスを有しており、該プロトコルアクションインデックスは、さらに、前記接続状態識別子と、同種の送信元プロトコルのカテゴリと関連付けられた識別子と、同種の送信先プロトコルのカテゴリと関連付けられた識別子とを有するプロトコル変数に対応する識別子を有することを特徴とする請求項7に記載の汎用プロトコル変換システム。
- 前記マルチステージパイプラインの一つのステージは、装置判別ステージを有しており、前記ステージへの前記入力変数は、さらに、プロトコルアクションインデックスと、送信元装置タイプ識別子と、送信先装置タイプ識別子とを有しており、前記ステージから得られる前記結果は、さらに、装置インデックスを有しており、該装置インデックスは、さらに、前記プロトコルアクションインデックスと、同種の送信元装置のカテゴリと関連付けられた識別子と、同種の送信先装置のカテゴリと関連付けられた識別子とを有する装置変数に対応する識別子を有することを特徴とする請求項7に記載の汎用プロトコル変換システム。
- 前記マルチステージパイプラインの一つのステージは、アプリケーション判別ステージを有しており、前記ステージへの前記入力変数は、さらに、装置インデックスと、送信元アプリケーションタイプ識別子と、送信先アプリケーションタイプ識別子とを有しており、前記ステージから得られる前記結果は、さらに、アプリケーションインデックスを有しており、該アプリケーションインデックスは、さらに、前記装置インデックスと、同種の送信元アプリケーションのカテゴリと関連付けられた識別子と、同種の送信先アプリケーションのカテゴリと関連付けられた識別子とを有するアプリケーション変数に対応する識別子を有することを特徴とする請求項7に記載の汎用プロトコル変換システム。
- 前記マルチステージパイプラインの一つのステージは、フォーマット判別ステージを有しており、該ステージへの前記入力変数は、さらに、アプリケーションインデックスと、送信元フォーマットタイプ識別子と、送信先フォーマットタイプ識別子とを有しており、前記ステージから得られる前記結果は、さらに、フォーマットインデックスを有しており、該フォーマットインデックスは、さらに、前記アプリケーションインデックスと、同種の送信元フォーマットのカテゴリと関連付けられた識別子と、同種の送信先フォーマットのカテゴリと関連付けられた識別子とを有するフォーマット変数に対応する識別子を有していることを特徴とする請求項7に記載の汎用プロトコル変換システム。
- 前記マルチステージパイプラインの一つのステージは、アクション選択ステージを有しており、前記ステージへの前記入力変数は、さらに、少なくともフォーマットインデックスと現在のオートマトン状態識別子とを有しており、前記ステージから得られる前記結果は、さらに、次のオートマトン状態識別子とアクションとを有しており、該アクションは、さらに、(i)何もしない、(ii)入ってくるメッセージを修正する、(iii)メッセージを送信先装置へ送る、(iv)入ってくるメッセージを拒絶する、及び(v)メッセージを送信元装置へ送る、からなるアクションの一つ以上を実行するための一連の実行可能な命令を有していることを特徴とする請求項7に記載の汎用プロトコル変換システム。
- 送信元装置から受け取った情報を送信先装置へ転送するために変換する方法であって、前記方法は、
送信元装置から情報を受信するステップと、
前記情報を評価し、かつ、必要であれば、前記情報を有限状態オートマトンを用いて変換するステップとを有し、
前記変換ステップは、さらに、(i) 前記情報を送信元プロトコルから送信先プロトコルへ変換するステップ、(ii)前記情報を送信元アプリケーションフォーマットから送信先アプリケーションフォーマットへ変換するステップ、(iii)前記情報を送信元データフォーマットから送信先データフォーマットへ変換するステップの一つ以上のステップを含み、
前記有限状態オートマトンは、第1のステージ及びそれに続く複数の次のステージを有するマルチステージパイプラインを有しており、該マルチステージパイプラインの各ステージは、結果が1つあるいは複数の入力変数の関数として得られるマトリクスを有しており、前記複数の次のステージのそれぞれのステージにおける前記複数の入力変数のうちの1つは、当該ステージよりも前のステージの前記結果を有することを特徴とする前記変換方法。 - 前記マルチステージパイプラインの一つのステージは、プロトコル判別ステージを有しており、記ステージへの前記入力値は、さらに、送信元プロトコルタイプ識別子と、接続状態識別子と、送信先プロトコルタイプ識別子とを有しており、前記ステージから得られる前記結果は、さらに、プロトコルアクションインデックスを有しており、該プロトコルアクションインデックスは、さらに、前記接続状態識別子と、同種の送信元プロトコルのカテゴリと関連付けられた識別子と、同種の送信先プロトコルのカテゴリと関連付けられた識別子とを有するプロトコル変数に対応する識別子を有することを特徴とする請求項13に記載の変換方法。
- 前記マルチステージパイプラインの一つのステージは、装置判別ステージを有しており、前記ステージへの前記入力変数は、さらに、プロトコルアクションインデックスと、送信元装置タイプ識別子と、送信先装置タイプ識別子とを有しており、前記ステージから得られる前記結果は、さらに、装置インデックスを有しており、該装置インデックスは、さらに、前記プロトコルアクションインデックスと、同種の送信元装置のカテゴリと関連付けられた識別子と、同種の送信先装置のカテゴリと関連付けられた識別子とを有する装置変数に対応する識別子を有することを特徴とする請求項13に記載の変換方法。
- 前記マルチステージパイプラインの一つのステージは、アプリケーション判別ステージを有しており、前記ステージへの前記入力変数は、さらに、装置インデックスと、送信元アプリケーションタイプ識別子と、送信先アプリケーションタイプ識別子とを有しており、前記ステージから得られる前記結果は、さらに、アプリケーションインデックスを有しており、該アプリケーションインデックスは、さらに、前記装置インデックスと、同種の送信元アプリケーションのカテゴリと関連付けられた識別子と、同種の送信先アプリケーションのカテゴリと関連付けられた識別子とを有するアプリケーション変数に対応する識別子を有することを特徴とする請求項13に記載の変換方法。
- 前記マルチステージパイプラインの一つのステージは、フォーマット判別ステージを有しており、該ステージへの前記入力変数は、さらに、アプリケーションインデックスと、送信元フォーマットタイプ識別子と、送信先フォーマットタイプ識別子とを有しており、前記ステージから得られる前記結果は、さらに、フォーマットインデックスを有しており、該フォーマットインデックスは、さらに、前記アプリケーションインデックスと、同種の送信元フォーマットのカテゴリと関連付けられた識別子と、同種の送信先フォーマットのカテゴリと関連付けられた識別子とを有するフォーマット変数に対応する識別子を有していることを特徴とする請求項13に記載の変換方法。
- 前記マルチステージパイプラインの一つのステージは、アクション選択ステージを有しており、前記ステージへの前記入力変数は、さらに、少なくともフォーマットインデックスと現在のオートマトン状態識別子とを有しており、前記ステージから得られる前記結果は、さらに、その次のオートマトン状態識別子とアクションとを有しており、前記アクションは、さらに、(i)何もしない、(ii)入ってくるメッセージを修正する、(iii)メッセージを送信先装置へ送る、(iv)入ってくるメッセージを拒絶する、及び(v)メッセージを送信元装置へ送る、からなるアクションの一つ以上を実行するための一連の実行可能な命令を有していることを特徴とする請求項13に記載の変換方法。
- 複数のインターフェースソケットを有し、各インターフェースソケットはサポートされた送信元プロトコルを一つ割り当てられており、前記インターフェースソケットを介して送信先装置に対する送信元装置からの情報を受け取るようになっている受信機回路マネージャを提供するステップと、
前記受信機回路マネージャから情報を受け取る1または複数の受信機を該受信機回路マネージャに接続するステップと、
前記受信機に接続されており、前記情報を有限状態オートマトンを用いて送信先のフォーマットに変換する1または複数のメッセージコンバータを提供するステップと、
前記メッセージコンバータに接続されており、前記情報に対してどの送信先のプロトコルが適しているかを決定するメッセージルーターを提供するステップと、
前記メッセージルーターに接続されており、前記情報を送信先のフォーマット及びプロトコルで前記送信先装置へ送る1つまたは複数のメッセージ送信装置を提供するステップと、を含み、
前記有限状態オートマトンは、第1のステージ及びそれに続く複数の次のステージを有するマルチステージパイプラインを有しており、該マルチステージパイプラインの各ステージは、結果が1つあるいは複数の入力変数の関数として得られるマトリクスを有しており、前記複数の次のステージのそれぞれのステージにおける前記複数の入力変数のうちの1つは、当該ステージよりも前のステージの前記結果を有することを特徴とする送信元装置から送信先装置への情報を変換可能な汎用プロトコル変換機を製作する方法。 - 前記マルチステージパイプラインの一つのステージは、プロトコル判別ステージを有しており、該ステージへの前記入力変数は、さらに、送信元プロトコルタイプ識別子、接続状態識別子及び送信先プロトコルタイプ識別子を有しており、前記ステージから得られる前記結果は、さらに、プロトコルアクションインデックスを有しており、該プロトコルアクションインデックスは、さらに、前記接続状態識別子と、同種の送信元プロトコルのカテゴリと関連付けられた識別子と、同種の送信先プロトコルのカテゴリと関連付けられた識別子とを含むプロトコル変数に対応する識別子を有することを特徴とする請求項19に記載の方法。
- 前記マルチステージパイプラインの一つのステージは、装置判別ステージを有しており、前記ステージへの前記入力変数は、さらに、プロトコルアクションインデックスと、送信元装置タイプ識別子と、送信先装置タイプ識別子とを有しており、前記ステージから得られる前記結果は、さらに、装置インデックスを有しており、該装置インデックスは、さらに、前記プロトコルアクションインデックスと、同種の送信元装置のカテゴリと関連付けられた識別子と、同種の送信先装置のカテゴリと関連付けられた識別子とを有する装置変数に対応する識別子を有することを特徴とする請求項19に記載の方法。
- 前記マルチステージパイプラインの一つのステージは、アプリケーション判別ステージを有しており、前記ステージへの前記入力変数は、さらに、装置インデックスと、送信元アプリケーションタイプ識別子と、送信先アプリケーションタイプ識別子とを有しており、前記ステージから得られる前記結果は、さらに、アプリケーションインデックスを有しており、該アプリケーションインデックスは、さらに、前記装置インデックスと、同種の送信元アプリケーションのカテゴリと関連付けられた識別子と、同種の送信先アプリケーションのカテゴリと関連付けられた識別子とを有するアプリケーション変数に対応する識別子を有することを特徴とする請求項19に記載の方法。
- 前記マルチステージパイプラインの一つのステージは、フォーマット判別ステージを有しており、該ステージへの前記入力変数は、さらに、アプリケーションインデックスと、送信元フォーマットタイプ識別子と、送信先フォーマットタイプ識別子とを有しており、前記ステージから得られる前記結果は、さらに、フォーマットインデックスを有しており、該フォーマットインデックスは、さらに、前記アプリケーションインデックスと、同種の送信元フォーマットのカテゴリと関連付けられた識別子と、同種の送信先フォーマットのカテゴリと関連付けられた識別子とを有するフォーマット変数に対応する識別子を有していることを特徴とする請求項19に記載の方法。
- 前記マルチステージパイプラインの一つのステージは、アクション選択ステージを有しており、前記ステージへの前記入力変数は、さらに、少なくともフォーマットインデックスと現在のオートマトン状態識別子とを有しており、前記ステージから得られる前記結果は、さらに、次のオートマトン状態識別子とアクションとを有しており、該アクションは、さらに、(i)何もしない、(ii)入ってくるメッセージを修正する、(iii)メッセージを送信先装置へ送る、(iv)入ってくるメッセージを拒絶する、及び(v)メッセージを送信元装置へ送る、からなるアクションの一つ以上を実行するための一連の実行可能な命令を有していることを特徴とする請求項19に記載の方法。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12016099P | 1999-02-16 | 1999-02-16 | |
US60/120,160 | 1999-11-18 | ||
US09/442,683 | 1999-11-18 | ||
US09/442,683 US6785730B1 (en) | 1999-02-16 | 1999-11-18 | Generic communications protocol translator |
PCT/US2000/003912 WO2000049493A1 (en) | 1999-02-16 | 2000-02-15 | Generic communications protocol translator |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002537706A JP2002537706A (ja) | 2002-11-05 |
JP4668422B2 true JP4668422B2 (ja) | 2011-04-13 |
Family
ID=26818105
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000600172A Expired - Lifetime JP4668422B2 (ja) | 1999-02-16 | 2000-02-15 | 汎用通信プロトコル変換機 |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP1163575A4 (ja) |
JP (1) | JP4668422B2 (ja) |
AU (1) | AU3365900A (ja) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7392512B2 (en) * | 2003-09-08 | 2008-06-24 | Microsoft Corporation | System and method for automatic conversion from WAP client provisioning XML represented objects to OMA DM tree structure represented objects |
JP4906916B2 (ja) * | 2006-04-20 | 2012-03-28 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 端末装置に遠隔からアクセスするための装置管理システムが実行する方法およびプログラム |
US10412100B2 (en) * | 2016-08-01 | 2019-09-10 | The Boeing Company | System and methods for providing secure data connections in an aviation environment |
JP7335124B2 (ja) * | 2019-10-08 | 2023-08-29 | 株式会社チノー | データ変換装置 |
CN112291359B (zh) * | 2020-11-02 | 2022-07-26 | 浙江苍南仪表集团股份有限公司 | 数据传输格式处理方法、***、装置及可读存储介质 |
CN112929367B (zh) * | 2021-02-05 | 2022-06-03 | 重庆邮电大学 | 一种Profinet网络与工业IPv6骨干网的协议转换方法 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS62118655A (ja) * | 1985-11-19 | 1987-05-30 | Fujitsu Ltd | プロトコル変換統合処理装置 |
JPH031008U (ja) * | 1989-05-26 | 1991-01-08 | ||
JPH04255136A (ja) * | 1991-01-30 | 1992-09-10 | Nec Corp | パケット交換装置 |
JPH06268682A (ja) * | 1993-03-11 | 1994-09-22 | Matsushita Electric Ind Co Ltd | プロトコル変換システム |
JPH0870335A (ja) * | 1994-08-30 | 1996-03-12 | N T T Ido Tsushinmo Kk | データ通信制御装置 |
JPH0897847A (ja) * | 1994-09-20 | 1996-04-12 | At & T Corp | ゲートウェイシステムおよびその生成方法 |
JPH09107387A (ja) * | 1995-10-06 | 1997-04-22 | Hitachi Ltd | プロトコル変換ゲートウェイシステム |
US5666553A (en) * | 1992-04-10 | 1997-09-09 | Puma Technology, Inc. | Method for mapping, translating, and dynamically reconciling data between disparate computer platforms |
JPH1066143A (ja) * | 1996-06-18 | 1998-03-06 | At & T Corp | 多数の無線データ網にアクセスする移動決定方法 |
WO1998028892A1 (en) * | 1996-12-20 | 1998-07-02 | Link2It | Apparatus and methods for reception and transmission of information using different protocols |
JPH10271223A (ja) * | 1997-02-18 | 1998-10-09 | Lucent Technol Inc | ウェブ情報へのアクセス提供装置及び方法 |
US5845283A (en) * | 1996-04-24 | 1998-12-01 | Lingua Teq, Inc. | Method and apparatus for rationalizing different data formats in a data management system |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5894478A (en) * | 1996-07-24 | 1999-04-13 | Lucent Technologies Inc. | Protocol converter and router for multi-mode wireless data communications |
-
2000
- 2000-02-15 AU AU33659/00A patent/AU3365900A/en not_active Abandoned
- 2000-02-15 EP EP00911831A patent/EP1163575A4/en not_active Withdrawn
- 2000-02-15 JP JP2000600172A patent/JP4668422B2/ja not_active Expired - Lifetime
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS62118655A (ja) * | 1985-11-19 | 1987-05-30 | Fujitsu Ltd | プロトコル変換統合処理装置 |
JPH031008U (ja) * | 1989-05-26 | 1991-01-08 | ||
JPH04255136A (ja) * | 1991-01-30 | 1992-09-10 | Nec Corp | パケット交換装置 |
US5666553A (en) * | 1992-04-10 | 1997-09-09 | Puma Technology, Inc. | Method for mapping, translating, and dynamically reconciling data between disparate computer platforms |
JPH06268682A (ja) * | 1993-03-11 | 1994-09-22 | Matsushita Electric Ind Co Ltd | プロトコル変換システム |
JPH0870335A (ja) * | 1994-08-30 | 1996-03-12 | N T T Ido Tsushinmo Kk | データ通信制御装置 |
JPH0897847A (ja) * | 1994-09-20 | 1996-04-12 | At & T Corp | ゲートウェイシステムおよびその生成方法 |
JPH09107387A (ja) * | 1995-10-06 | 1997-04-22 | Hitachi Ltd | プロトコル変換ゲートウェイシステム |
US5845283A (en) * | 1996-04-24 | 1998-12-01 | Lingua Teq, Inc. | Method and apparatus for rationalizing different data formats in a data management system |
JPH1066143A (ja) * | 1996-06-18 | 1998-03-06 | At & T Corp | 多数の無線データ網にアクセスする移動決定方法 |
WO1998028892A1 (en) * | 1996-12-20 | 1998-07-02 | Link2It | Apparatus and methods for reception and transmission of information using different protocols |
JPH10271223A (ja) * | 1997-02-18 | 1998-10-09 | Lucent Technol Inc | ウェブ情報へのアクセス提供装置及び方法 |
Also Published As
Publication number | Publication date |
---|---|
EP1163575A1 (en) | 2001-12-19 |
AU3365900A (en) | 2000-09-04 |
JP2002537706A (ja) | 2002-11-05 |
EP1163575A4 (en) | 2003-04-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6785730B1 (en) | Generic communications protocol translator | |
US6430164B1 (en) | Communications involving disparate protocol network/bus and device subsystems | |
US7191450B2 (en) | Data-driven application integration adapters | |
EP0726003B1 (en) | Object-oriented network protocol configuration system | |
KR100269909B1 (ko) | 분산네트워크컴퓨팅시스템,이시스템에이용되는정보교환장치및정보교환방법 | |
US7548983B2 (en) | Configurable connector adapted to convey data between a first application and a second application | |
US8285807B2 (en) | Method and system for remote industrial factory automation control of a local system | |
US8205007B2 (en) | Native format tunneling | |
JP5242887B2 (ja) | 型付きアプリケーションデータのフレキシブルな転送 | |
EP1251430A2 (en) | System and method for enabling communication among arbitrary components | |
EP1435047A2 (en) | Method and apparatus for intelligent data assimilation | |
EP1597669A2 (en) | Dynamic data-driven application integration adapters | |
JP2015115832A (ja) | 中継装置、中継制御方法、及び、中継制御プログラム | |
US7853695B2 (en) | Using expressive session information to represent communication sessions in a distributed system | |
US9407546B2 (en) | Routing a message using a routing table in a dynamic service mesh | |
JP4668422B2 (ja) | 汎用通信プロトコル変換機 | |
US7668144B2 (en) | Dynamically extensible communications device | |
US20080189275A1 (en) | Program, method, and apparatus for sending and receiving mail messages | |
Roth | A Communication Middleware for Mobile and Ad-hoc Senarios. | |
Srirama et al. | Concept, implementation and performance testing of a mobile Web Service provider for smart phones | |
JP2003015891A (ja) | ネットワークシステム、サーバ、クライアント、オブジェクト間通信方法、プロファイルオブジェクト登録方法、プログラム、および記憶媒体 | |
JP2000148620A (ja) | サーバ・クライアントシステム | |
CN117971516A (zh) | 消息队列的访问方法、***、设备及存储介质 | |
CN111200533A (zh) | 基于OpenDDS的分布式网络配置部署方法 | |
Nusser et al. | Dynamic device management and access based on Jini and CAN |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20040929 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20040929 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20040929 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20041208 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070214 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20070313 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20070313 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070712 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20090910 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090915 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20091210 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20091217 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20100106 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20100114 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20100212 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20100219 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100315 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20100420 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20100420 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20100420 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100903 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20101202 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20101224 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20110113 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140121 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4668422 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |