(57)【要約】ＳＯＡＰメッセージを転送する装置及び方法が提供される。該方法は、アプリケーションプロトコル及びＴＣＰ／ＩＰを用いてＸＭＬフォーマットのＳＯＡＰメッセージを受信し転送する工程と、バイナリメッセージエレメントを含むバイナリメッセージを受信し転送する工程とを含む。所与のフォーマットの個々のメッセージエレメントを別のフォーマット内のメッセージエレメントで置換することにより、ＸＭＬフォーマットメッセージとバイナリメッセージとの間で、変換が実行される。ＸＭＬメッセージをバイナリフォーマットに変換する際に、バイナリヘッダ内にアプリケーションプロトコルパケットタイプ及びＴＣＰ／ＩＰアクノレッジメントが含められる。バイナリフォーマットメッセージをＸＭＬフォーマットに変換する際に、バイナリフォーマットメッセージのバイナリヘッダ内の情報に基づいて、アプリケーションプロトコルパケットタイプが選択される。
2011523804.tif 000002
【特許請求の範囲】
【請求項１】
アプリケーションプロトコル及びトランスミッションコントロールプロトコル／インターネットプロトコル（ＴＣＰ／ＩＰ）を用いて拡張マークアップ言語（ＸＭＬ)フォーマットのシンプルオブジェクトアクセスプロトコル（ＳＯＡＰ）メッセージ（メッセージはメッセージエレメントを含む）を受信し転送する工程と、
バイナリヘッダ及びバイナリメッセージエレメントを含むバイナリメッセージを受信し転送する工程と、
所与のフォーマットの個々のメッセージエレメントを別のフォーマット内のメッセージエレメントで置換することによりＸＭＬ／ＳＯＡＰフォーマットメッセージとバイナリメッセージとの間で変換を実行する工程と、
ＸＭＬ／ＳＯＡＰメッセージをバイナリフォーマットに変換する際に、バイナリヘッダ内にアプリケーションプロトコルパケットタイプ及びＴＣＰ／ＩＰアクノレッジメントを含める工程と、
バイナリフォーマットメッセージをＸＭＬ／ＳＯＡＰフォーマットに変換する際に、バイナリフォーマットメッセージのバイナリヘッダ内の情報に基づいて、アプリケーションプロトコルパケットタイプ及びレスポンスコードを選択する工程と
を行なうように構成されている装置。
【請求項２】
更に、ＸＭＬ／ＳＯＡＰメッセージをバイナリフォーマットに変換する際に、バイナリメッセージ内に、利用されるネームスペース、及び、エンコーディングのバージョン数を含める工程を、行なうように構成されている請求項１に記載の装置。
【請求項３】
更に、変換においてルックアップテーブルを利用する工程を、行なうように構成されている請求項１に記載の装置。
【請求項４】
更に、メッセージ内で利用されるＳＯＡＰネームスペースを決定し、ＳＯＡＰネームスペースに基づいてルックアップテーブルを選択する工程を、行なうように構成されている請求項３に記載の装置。
【請求項５】
更に、変換されたメッセージを所望の宛先に転送する工程を、行なうように構成されている請求項１乃至４のうちのいずれか一に記載の装置。
【請求項６】
更に、
メッセージエレメントを含むＸＭＬフォーマットのシンプルオブジェクトアクセスプロトコル（ＳＯＡＰ）メッセージを受信する工程と、
バイナリヘッダ内の、利用されるネームスペース及びエンコーディングのバージョン数を符号化すること、バイナリヘッダ内の、アプリケーションプロトコルパケットタイプ及びＴＣＰ／ＩＰアクノレッジメントデータを符号化すること、個々のＸＭＬメッセージエレメントをルックアップテーブルで示されるバイナリメッセージエレメントで置換することにより、ＸＭＬフォーマットメッセージをバイナリＳＯＡＰメッセージに圧縮する工程と、
バイナリメッセージエレメントを含むバイナリＳＯＡＰメッセージを所望の宛先に転送する工程と
を行なうように構成されている請求項１乃至５のうちのいずれか一に記載の装置。
【請求項７】
更に、ＸＭＬフォーマットメッセージをバイナリの{ヘッダタイプ、値}の組に圧縮する工程を行なうように構成されており、
上記組のヘッダタイプの値はルックアップテーブルに基づいて選択され、組の値フィールドはＸＭＬフォーマットメッセージ内の値に基づいて選択される
請求項６に記載の装置。
【請求項８】
更に、ＳＯＡＰメッセージのメッセージエレメントの数を、バイナリメッセージ内の圧縮されたヘッダの後にバイナリ数として示す工程を、行なうように構成されている請求項６に記載の装置。
【請求項９】
更に、メッセージエレメントコード、メッセージエレメント内のタグの数、及びメッセージエレメント長を示すこと、並びに、タグコード、データタイプ及びデータ値を含む組として個々のタグを圧縮することにより、
個々のメッセージを圧縮する工程を、行なうように構成されている請求項６に記載の装置。
【請求項１０】
更に、
バイナリメッセージエレメントを含むバイナリＳＯＡＰメッセージを受信する工程と、
メッセージのバイナリヘッダから、利用されるネームスペース、及びエンコーディングのバージョン数を復号する工程と、
個々のバイナリメッセージエレメントを、ルックアップテーブルで示されるＸＭＬメッセージエレメントで置換することにより、バイナリＳＯＡＰメッセージをＸＭＬフォーマットメッセージに解凍する工程と、
バイナリＳＯＡＰメッセージのバイナリヘッダ内の情報に基づいて、アプリケーションプロトコルパケットタイプ及びレスポンスコードを選択する工程と、
メッセージエレメントを含むＸＭＬフォーマットＳＯＡＰメッセージを転送する工程と
を行なうように構成されている請求項１乃至９のうちのいずれか一に記載の装置。
【請求項１１】
更に、バイナリアクノレッジメントメッセージをバイナリメッセージの送信者に送信することにより、バイナリフォーマットＳＯＡＰプットメッセージに応答する工程を、行なうように構成されている請求項１乃至１０のうちのいずれか一に記載の装置。
【請求項１２】
更に、バイナリアクノレッジメントメッセージをバイナリメッセージの送信者に送信することにより、解凍されるべきバイナリフォーマットＳＯＡＰメッセージに応答する工程を、行なうように構成されている請求項１乃至１１のうちのいずれか一に記載の装置。
【請求項１３】
更に、ユーザデータグラムプロトコル（ＵＤＰ）を利用することにより、バイナリＳＯＡＰメッセージを転送する工程を、行なうように構成されている請求項１乃至１２のうちのいずれか一に記載の装置。
【請求項１４】
インターネットプロトコルｖ６（６ｌｏｗｐａｎ）を伴うＩＥＥＥ８０２．１５．４、ＺｉｇＢｅｅを伴うＩＥＥＥ８０２．１５．４、Ｂｌｕｅｔｏｏｔｈ、Ｂｌｕｅｔｏｏｔｈ  Ｕｌｔｒａ  Ｌｏｗ  Ｐｏｗｅｒ（ＵＬＰ）、及び、低電力無線ＬＡＮのうちの一つの伝送技術を利用することにより、バイナリＳＯＡＰメッセージを転送する工程を、行なうように構成されている請求項１乃至１３のうちのいずれか一に記載の装置。
【請求項１５】
ルックアップテーブルを格納するためのメモリを含む、請求項４に記載の装置。
【請求項１６】
更に、決定されたネームスペースのためのルックアップテーブルがメモリ内に格納されていないならば、リモートサーバからルックアップテーブルを更新する工程を、行なうように構成されている請求項１５に記載の装置。
【請求項１７】
更に、ハイパーテキスト転送プロトコル（ＨＴＴＰ）を利用することにより、拡張マークアップ言語（ＸＭＬ）フォーマットのシンプルオブジェクトアクセスプロトコル（ＳＯＡＰ）メッセージを受信して転送する工程を、行なうように構成されている請求項１乃至１６のうちのいずれか一に記載の装置。
【請求項１８】
更に、セッション初期化プロトコル（ＳＩＰ）を利用することにより、拡張マークアップ言語（ＸＭＬ）フォーマットのシンプルオブジェクトアクセスプロトコル（ＳＯＡＰ）メッセージを受信して転送する工程を、行なうように構成されている請求項１乃至１６のうちのいずれか一に記載の装置。
【請求項１９】
更に、ＸＭＬ／ＳＯＡＰメッセージをバイナリフォーマットに変換する際に、バイナリヘッダ内に、利用されるネームスペース、及びエンコーディングのバージョン数を含める工程を、行なうように構成されている請求項１乃至１８のうちのいずれか一に記載の装置。
【請求項２０】
アプリケーションプロトコル及びトランスミッションコントロールプロトコル／インターネットプロトコル（ＴＣＰ／ＩＰ）を用いて拡張マークアップ言語（ＸＭＬ)フォーマットのシンプルオブジェクトアクセスプロトコル（ＳＯＡＰ）メッセージ（メッセージはメッセージエレメントを含む）を受信し転送する工程と、
バイナリヘッダ及びバイナリメッセージエレメントを含むバイナリメッセージを受信し転送する工程と、
所与のフォーマットの個々のメッセージエレメントを別のフォーマット内のメッセージエレメントで置換することによりＸＭＬ／ＳＯＡＰフォーマットメッセージとバイナリメッセージとの間で変換を実行する工程と、
ＸＭＬ／ＳＯＡＰメッセージをバイナリフォーマットに変換する際に、バイナリヘッダ内にアプリケーションプロトコルパケットタイプ及びＴＣＰ／ＩＰアクノレッジメントを含める工程と、
バイナリフォーマットメッセージをＸＭＬ／ＳＯＡＰフォーマットに変換する際に、バイナリフォーマットメッセージのバイナリヘッダ内の情報に基づいて、アプリケーションプロトコルパケットタイプ及びレスポンスコードを選択する工程と
を含む方法。
【請求項２１】
更に、ＸＭＬ／ＳＯＡＰメッセージをバイナリフォーマットに変換する際に、バイナリメッセージ内に、利用されるネームスペース、及び、エンコーディングのバージョン数を含める工程を、含む請求項２０に記載の方法。
【請求項２２】
更に、変換においてルックアップテーブルを利用する工程を、含む請求項２０に記載の方法。
【請求項２３】
更に、メッセージ内で利用されるＳＯＡＰネームスペースを決定し、ＳＯＡＰネームスペースに基づいてルックアップテーブルを選択する工程を、含む請求項２２に記載の方法。
【請求項２４】
更に、変換されたメッセージを所望の宛先に転送する工程を、含む請求項２０乃至２３のうちのいずれか一に記載の方法。
【請求項２５】
更に、
メッセージエレメントを含むＸＭＬフォーマットのシンプルオブジェクトアクセスプロトコル（ＳＯＡＰ）メッセージを受信する工程と、
バイナリヘッダ内の、利用されるネームスペース及びエンコーディングのバージョン数を符号化すること、バイナリヘッダ内の、アプリケーションプロトコルパケットタイプ及びＴＣＰ／ＩＰアクノレッジメントデータを符号化すること、個々のＸＭＬメッセージエレメントをルックアップテーブルで示されるバイナリメッセージエレメントで置換することにより、ＸＭＬフォーマットメッセージをバイナリＳＯＡＰメッセージに圧縮する工程と、
バイナリメッセージエレメントを含むバイナリＳＯＡＰメッセージを所望の宛先に転送する工程と
を含む請求項２０乃至２４のうちのいずれか一に記載の方法。
【請求項２６】
更に、ＸＭＬフォーマットメッセージをバイナリの{ヘッダタイプ、値}の組に圧縮する工程を含み、
上記組のヘッダタイプの値はルックアップテーブルに基づいて選択され、組の値フィールドはＸＭＬフォーマットメッセージ内の値に基づいて選択される
請求項２０乃至２５のうちのいずれか一に記載の方法。
【請求項２７】
更に、
バイナリメッセージエレメントを含むバイナリＳＯＡＰメッセージを受信する工程と、
メッセージのバイナリヘッダから、利用されるネームスペース、及びエンコーディングのバージョン数を復号する工程と、
個々のバイナリメッセージエレメントを、ルックアップテーブルで示されるＸＭＬメッセージエレメントで置換することにより、バイナリＳＯＡＰメッセージをＸＭＬフォーマットメッセージに解凍する工程と、
バイナリＳＯＡＰメッセージのバイナリヘッダ内の情報に基づいて、アプリケーションプロトコルパケットタイプ及びレスポンスコードを選択する工程と、
メッセージエレメントを含むＸＭＬフォーマットＳＯＡＰメッセージを転送する工程と
を含む請求項２０乃至２６のうちのいずれか一に記載の方法。
【請求項２８】
更に、バイナリアクノレッジメントメッセージをバイナリメッセージの送信者に送信することにより、バイナリフォーマットＳＯＡＰプットメッセージに応答する工程を、含む請求項２０乃至２７のうちのいずれか一に記載の方法。
【請求項２９】
更に、バイナリアクノレッジメントメッセージをバイナリメッセージの送信者に送信することにより、解凍されるべきバイナリフォーマットＳＯＡＰメッセージに応答する工程を、含む請求項２０乃至２８のうちのいずれか一に記載の方法。
【請求項３０】
更に、メモリ内にルックアップテーブルを格納する工程を、含む請求項２０乃至２９のうちのいずれか一に記載の方法。
【請求項３１】
更に、決定されたネームスペースのためのルックアップテーブルがメモリ内に格納されていないならば、リモートサーバからルックアップテーブルを更新する工程を、含む請求項３０に記載の方法。
【請求項３２】
アプリケーションプロトコルが、セッション初期化プロトコル（ＳＩＰ）であることを特徴とする請求項２０乃至３１のうちのいずれか一に記載の方法。
【請求項３３】
アプリケーションプロトコルが、ハイパーテキスト転送プロトコル（ＨＴＴＰ）であることを特徴とする請求項２０乃至３１のうちのいずれか一に記載の方法。
【請求項３４】
請求項２０乃至３１のうちのいずれか一に記載の方法を実施するコンピュータプロセスを実行する命令のコンピュータプログラムを符号化するコンピュータプログラムプロダクト。
【請求項３５】
コンピュータが読み取り可能であり、請求項２０乃至３１のうちのいずれか一に記載の方法を実施するコンピュータプロセスを実行する命令のコンピュータプログラムを符号化するための、コンピュータプログラム配布媒体。
【請求項３６】
上記配布媒体が、コンピュータ読み取り可能媒体、プログラム格納媒体、記録媒体、コンピュータ読み取り可能メモリ、コンピュータ読み取り可能ソフトウエア配布パッケージ、コンピュータ読み取り可能信号、コンピュータ読み取り可能遠隔通信信号、及びコンピュータ読み取り可能圧縮ソフトウエアパッケージのうちの、少なくとも一つを含むことを特徴とする請求項３５に記載のコンピュータプログラム配布媒体。
【請求項３７】
アプリケーションプロトコル及びトランスミッションコントロールプロトコル／インターネットプロトコル（ＴＣＰ／ＩＰ）を用いて拡張マークアップ言語（ＸＭＬ)フォーマットのシンプルオブジェクトアクセスプロトコル（ＳＯＡＰ）メッセージ（メッセージはメッセージエレメントを含む）を受信し転送する手段と、
バイナリヘッダ及びバイナリメッセージエレメントを含むバイナリメッセージを受信し転送する工程と、
所与のフォーマットの個々のメッセージエレメントを別のフォーマット内のメッセージエレメントで置換することによりＸＭＬ／ＳＯＡＰフォーマットメッセージとバイナリメッセージとの間で変換を実行する手段と、
ＸＭＬ／ＳＯＡＰメッセージをバイナリフォーマットに変換する際に、バイナリヘッダ内にアプリケーションプロトコルパケットタイプ及びＴＣＰ／ＩＰアクノレッジメントを含める手段と、
バイナリフォーマットメッセージをＸＭＬ／ＳＯＡＰフォーマットに変換する際に、バイナリフォーマットメッセージのバイナリヘッダ内の情報に基づいて、アプリケーションプロトコルパケットタイプ及びレスポンスコードを選択する手段と
を含む装置。
【請求項３８】
バイナリヘッダ及びバイナリメッセージエレメントを含むバイナリシンプルオブジェクトアクセスプロトコル（ＳＯＡＰ）メッセージを受信し転送するように構成されている装置であって、
バイナリヘッダは、アプリケーションプロトコルヘッダデータ、トランスミッションコントロールプロトコル／インターネットプロトコル（ＴＣＰ／ＩＰ）アクノレッジメントデータ、利用されるネームスペース、及び、エンコーディングのバージョン数を含み、
バイナリメッセージエレメントは、ＸＭＬメッセージエレメントのバイナリカウンタパートを含む
装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メッセージを処理する方法及び装置に関する。特に、本発明は、コンピュータサーバ間の若しくはコンピュータネットワーク内のノード間の自動メッセージを処理することに関する。
【背景技術】
【０００２】
背景技術に関する以下の記載は、見識、発見、理解若しくは開示、又は、本発明に先行する関連技術には知られていないが本発明により提示される開示を伴う関連を、含み得る。本発明のそのような寄与のうち一部は以下で詳細に指摘されているが、本発明のそのような寄与のうちその他は文脈から明白である。
【０００３】
現代の通信及びコンピュータネットワークでは、プログラムとコンピュータ間のデータ交換は、不可欠な要素である。様々なプログラム、コンピュータ及びプロセッサは、人間の介入無しにデータを交換する。様々なネットワーク及びプロトコルは、様々な環境で用いられる。インターネットでは、トランスミッションコントロールプロトコル／インターネットプロトコル（ＴＣＰ／ＩＰ）は、通信で用いられる基本プロトコルである。ＴＣＰ／ＩＰは、パケット内で伝送されるデータをアセンブルすること及び逆アセンブルすることに対処する。ＩＰは、パケットが正確な宛先に配布されるように、アドレッシングを処理する。ＴＣＰ／ＩＰを超えて、ハイパーテキストトランスファプロトコル（ＨＴＴＰ）が、クライアント／サーバプロトコルとして用いられる。プログラムは、ＨＴＴＰリクエストを、別のＨＴＴＰメッセージに反応するサーバに送信し得る。
【０００４】
ＳＯＡＰ（シンプル・オブジェクト・アクセス・プロトコル）は、インターネット上のコンピュータサーバ間の自動メッセージ伝送で広範に用いられているインターネットサービスメッセージングプロトコルである。ＳＯＡＰは、コンピュータ間でメッセージ交換を為して所与のタスクを為すための、拡張可能フォーマットを与える。目下のところ、ＳＯＡＰメッセージのコンテンツは、拡張マークアップ言語（ＸＭＬ）を用いて符号化される。ＸＭＬは、どの種類の情報を表すのにも用いられ得る。メッセージは、構造化ＸＭＬタグからなる。ＳＯＡＰメッセージがインターネットで伝送されると、ＳＯＡＰメッセージは、ＴＣＰ／ＩＰよりＨＴＴＰなどの、ＴＣＰ／ＩＰよりセッション初期化プロトコル（ＳＩＰ）などの、アプリケーションプロトコルを利用する。
【０００５】
ＩＥＥＥ８０２．１５．４ベースの埋め込み式のセンサネットワークなどの、低電力無線ネットワークは、パケットを伝送するには、非常に限定されたリソースしか有さない。これらのネットワークは非常にエネルギ効率が良く、チップ技術も廉価である。このために、例えば、自動化、計測、追跡及び制御等に向かって、技術は、埋め込み式デバイスに非常に迅速に進んでいる。
【０００６】
低電力無線標準ＩＥＥＥ８０２．１５．４は、無線自動化及びプロトコルのための技術として示されてきた。しかしながら、フレームサイズ（１２７バイト、そのうちネットワークプロトコルの後では約９０バイトが利用可能）、データレート（２５０ｋｂｐｓ）、及び信頼性に欠ける無線チャネルを伴うネットワークトポロジの観点から、それ（低電力無線標準ＩＥＥＥ８０２．１５．４）は、非常に限定されたリソースしか有さない。よって、これらのネットワークにおけるコンピュータ−コンピュータ通信のために、ＴＣＰ／ＩＰよりＨＴＴＰを用いることは、非常に問題がある。ＴＣＰ／ＩＰ及びＨＴＴＰよりもＸＭＬベースのＳＯＡＰを用いることは、非常に非効率であり、低電力ネットワークに対しては重いソリューションである。実際、上述の限定されたリソースを考慮すると、通常のＳＯＡＰメッセージはキロバイトのデータを取るので従来のＳＯＡＰの利用は略不可能であり、ＴＣＰは信頼性に欠ける無線ネットワークには十分には適合しない。
【０００７】
現在、ＩＰベースの低電力無線ネットワークのためのアプリケーションプロトコルは、個々のアプリケーションデザイナが、通常そのネットワーク内でのみ利用可能である、自分自身のバイトフォーマットを形成する、という慣習に従って、設計されて実装される。よって、通信容量は非常に限定される。
【発明の概要】
【発明が解決しようとする課題】
【０００８】
本発明の目的は、コンピュータサーバ若しくはコンピュータネットワーク内のノードの間で、メッセージを符号化する、改良された解決策を提供することである。
【課題を解決するための手段】
【０００９】
本発明の実施形態によると、
アプリケーションプロトコル及びトランスミッションコントロールプロトコル／インターネットプロトコル（ＴＣＰ／ＩＰ）を用いて拡張マークアップ言語（ＸＭＬ)フォーマットのシンプルオブジェクトアクセスプロトコル（ＳＯＡＰ）メッセージ（メッセージはメッセージエレメントを含む）を受信し転送する工程と、
バイナリヘッダ及びバイナリメッセージエレメントを含むバイナリメッセージを受信し転送する工程と、
所与のフォーマットの個々のメッセージエレメントを別のフォーマット内のメッセージエレメントで置換することによりＸＭＬ／ＳＯＡＰフォーマットメッセージとバイナリメッセージとの間で変換を実行する工程と、
ＸＭＬ／ＳＯＡＰメッセージをバイナリフォーマットに変換する際に、バイナリヘッダ内にアプリケーションプロトコルパケットタイプ及びＴＣＰ／ＩＰアクノレッジメントを含める工程と、
バイナリフォーマットメッセージをＸＭＬ／ＳＯＡＰフォーマットに変換する際に、バイナリフォーマットメッセージのバイナリヘッダ内の情報に基づいて、アプリケーションプロトコルパケットタイプ及びレスポンスコードを選択する工程と
を行なうように構成されている装置が、提供される。
【００１０】
本発明の別の実施形態によると、
アプリケーションプロトコル及びトランスミッションコントロールプロトコル／インターネットプロトコル（ＴＣＰ／ＩＰ）を用いて拡張マークアップ言語（ＸＭＬ)フォーマットのシンプルオブジェクトアクセスプロトコル（ＳＯＡＰ）メッセージ（メッセージはメッセージエレメントを含む）を受信し転送する工程と、
バイナリヘッダ及びバイナリメッセージエレメントを含むバイナリメッセージを受信し転送する工程と、
所与のフォーマットの個々のメッセージエレメントを別のフォーマット内のメッセージエレメントで置換することによりＸＭＬ／ＳＯＡＰフォーマットメッセージとバイナリメッセージとの間で変換を実行する工程と、
ＸＭＬ／ＳＯＡＰメッセージをバイナリフォーマットに変換する際に、バイナリヘッダ内にアプリケーションプロトコルパケットタイプ及びＴＣＰ／ＩＰアクノレッジメントを含める工程と、
バイナリフォーマットメッセージをＸＭＬ／ＳＯＡＰフォーマットに変換する際に、バイナリフォーマットメッセージのバイナリヘッダ内の情報に基づいて、アプリケーションプロトコルパケットタイプ及びレスポンスコードを選択する工程と
を含む方法が、提供される。
【００１１】
本発明の別の実施形態によると、
アプリケーションプロトコル及びトランスミッションコントロールプロトコル／インターネットプロトコル（ＴＣＰ／ＩＰ）を用いて拡張マークアップ言語（ＸＭＬ)フォーマットのシンプルオブジェクトアクセスプロトコル（ＳＯＡＰ）メッセージ（メッセージはメッセージエレメントを含む）を受信し転送する手段と、
バイナリヘッダ及びバイナリメッセージエレメントを含むバイナリメッセージを受信し転送する工程と、
所与のフォーマットの個々のメッセージエレメントを別のフォーマット内のメッセージエレメントで置換することによりＸＭＬ／ＳＯＡＰフォーマットメッセージとバイナリメッセージとの間で変換を実行する手段と、
ＸＭＬ／ＳＯＡＰメッセージをバイナリフォーマットに変換する際に、バイナリヘッダ内にアプリケーションプロトコルパケットタイプ及びＴＣＰ／ＩＰアクノレッジメントを含める手段と、
バイナリフォーマットメッセージをＸＭＬ／ＳＯＡＰフォーマットに変換する際に、バイナリフォーマットメッセージのバイナリヘッダ内の情報に基づいて、アプリケーションプロトコルパケットタイプ及びレスポンスコードを選択する手段と
を含む装置が、提供される。
【００１２】
本発明の別の実施形態によると、
バイナリヘッダ及びバイナリメッセージエレメントを含むバイナリシンプルオブジェクトアクセスプロトコル（ＳＯＡＰ）メッセージを受信し転送するように構成されている装置であって、
バイナリヘッダは、アプリケーションプロトコルパケットタイプ及びトランスミッションコントロールプロトコル／インターネットプロトコル（ＴＣＰ／ＩＰ）アクノレッジメントデータを含む装置が、提供される。
【発明の効果】
【００１３】
本発明は、複数の利点を与える。本発明の実施形態により、現在まで大抵の私的アプリケーション特有のプロトコルが利用されてきた低電力無線ネットワーク上で、ユニバーサルのメッセージングシステム（ＳＯＡＰ）が利用され得る。ＳＯＡＰメッセージングの圧縮及び解凍はトランスペアレントであり、エンドツーエンドのメッセージングが可能である。メッセージングは、信頼性に欠けるトランスポートプロトコルにおいてトランスポート可能であり、よって、トランスポートとしてのＨＴＴＰ及びＴＣＰの必要が無くなる。バイナリ符号化ＳＯＡＰは、解凍の必要無く、低電力ネットワークの範囲内でも利用され得る。
【図面の簡単な説明】
【００１４】
本発明の実施形態が、次の添付の図面を参照して、例示としてのみ以下に記される。
【図１】本発明の実施形態が適用され得るネットワークの例を示す。
【図２】ＸＭＬベースの、及びバイナリベースのＳＯＡＰメッセージング内のプロトコルスタックを示す。
【図３】本発明の実施形態を示すフローチャートである。
【図４Ａ】メッセージの交換の例を示す。
【図４Ｂ】メッセージの交換の例を示す。
【発明を実施するための形態】
【００１５】
以下の実施形態は例示である。明細書では幾つかの箇所で“一の”、“一つの”若しくは“幾つかの”実施形態について言及しているが、このことは、それら言及の夫々が同じ実施形態に向けられたものであることや、特徴が単一の実施形態にのみ適用されるということを、必ずしも意味しない。異なる実施形態の一つの特徴は組み合わされて別の字ｓｓ形態となることもある。
【００１６】
既に述べたように、通信及びコンピュータネットワークに接続する計算装置で稼動する現在のアプリケーションは、相互に通信を行なう。ＳＯＡＰ（シンプル・オブジェクト・アクセス・プロトコル）は、異なる環境で稼動するアプリケーション、オペレーティングシステム及びコンピュータの間における通信のために、適切なプラットフォームを適用すべく、設計された。
【００１７】
ＳＯＡＰはＸＭＬ上で構築された。ＳＯＡＰメッセージは、所与のエレメントを含むＸＭＬドキュメントである。それら所与のエレメントのうちには必須のものと選択によるものとがある。個々のＳＯＡＰメッセージは、ＸＭＬドキュメントをＳＯＡＰメッセージとして規定するエンベロープエレメントを含まなければならない。エンベロープエレメントは、ＸＭＬドキュメントのルートエレメントである。
【００１８】
メッセージは、ヘッダ情報を含むオプションヘッダを含んでもよい。ヘッダ情報は、メッセージに関するアプリケーション詳細データを含む。
【００１９】
ＳＯＡＰメッセージは、コール及びレスポンス情報などの、メッセージエレメントを含むボディエレメントを含まなければならない。ボディエレメントは、複数のチャイルドエレメントを含んでもよい。更に、ＳＯＡＰメッセージは、可能なエラーメッセージに関する情報を与えるフォルトエレメントを含んでもよい。
【００２０】
ＳＯＡＰメッセージは、ネームスペース宣言を含む。ネームスペースは、メッセージ内で用いられるメッセージエレメントを特定する。通常、ネームスペースは、ＸＭＬドキュメントのルートエレメント内で宣言される。ネームスペースは、それらが内部で用いられるエレメント内で宣言されてもよい。
【００２１】
現在では、ＳＯＡＰは、ＨＴＴＰ及びＴＣＰ／ＩＰにおいて一般に稼動する。アプリケーションは、ＴＣＰ／ＩＰプロトコルを用いてサーバに接続するために、ＨＴＴＰを利用する。アプリケーションは、ＨＴＴＰリクエストを用いてリクエストをサーバに送信し得る。サーバは、ＨＴＴＰレスポンスを用いることにより、レスポンスをアプリケーションに送信し得る。レスポンスは、リクエストのステータスを示すステータスコードを含む。ステータスコードの例は、“２００  ＯＫ”及び“４００  不良リクエスト”である。
【００２２】
よって、ＨＴＴＰリクエスト及びレスポンスは、ＳＯＡＰ内で利用される。ＳＯＡＰリクエストは、ＨＴＴＰ  ＰＯＳＴ若しくはＨＴＴＰ  ＧＥＴリクエストに、マップされ若しくはバインドされ得る。ＨＴＴＰ  ＰＯＳＴリクエストは、少なくとも２つのＨＴＴＰヘッダ：コンテンツタイプ及びコンテンツ長を利用する。前者は、メッセージと、リクエスト若しくはレスポンスのＸＭＬボディのために用いられるキャラクタエンコーディングとのためのマイム（ＭＩＭＥ）タイプを規定する。後者は、リクエスト若しくはレスポンスのバイト長を記載する。ＳＯＡＰのＨＴＴＰとのバインディングは、例えば、どのメソッドが利用されるべきか、及びいかに信頼性高く処理するかを規定する。
【００２３】
更に、ＳＯＡＰは、ＳＩＰ及びＴＣＰ／ＩＰにおいて、稼動し得る。ＳＩＰとＨＴＴＰの両方は、ＴＣＰ／ＩＰにおいて稼動するアプリケーションプロトコルである。ＳＩＰはＨＴＴＰと類似し、類似のリクエスト−レスポンスストラクチャを特徴付ける。
【００２４】
図１は、本発明の実施形態が適用され得るネットワークの例を示す。図１の例示のネットワークは、低電力無線ネットワーク１００、インターネット／イントラネット１０２、及びＳＯＡＰサーバ１０４を伴うＩＰベースのネットワークを含む。低電力無線ネットワークは、中間ノード１０６を介して、インターネット／イントラネット及びＩＰベースのネットワークに接続され得るが、該中間ノード１０６は物理的に、低電力無線ネットワークとインターネット／イントラネット間の無線ルータ、若しくは、ＩＰネットワーク内に配置されるエッジサーバである。
【００２５】
インターネット／イントラネット１０２及びＳＯＡＰサーバ１０４を伴うＩＰベースのネットワークでは、ＳＯＡＰメッセージングは、ＸＭＬエンコーディングを用いてインプリメントされ、ＨＴＴＰを用いてＴＣＰ／ＩＰにおいて伝送される。
【００２６】
低電力無線ネットワーク１００は、無線低電力ノード１０８Ａ−１０８Ｇのセットを含むマルチホップネットワークであってもよい。低電力無線ノード１０８Ａ−１０８Ｇは、無線リンク１１０を用いてネットワークを形成する。無線リンク１１０は、インターネットプロトコルｖ６（６ｌｏｗｐａｎ）を伴うＩＥＥＥ８０２．１５．４を用いて、ＺｉｇＢｅｅ、Ｂｌｕｅｔｏｏｔｈ若しくはＢｌｕｅｔｏｏｔｈ  Ｕｌｔｒａ  Ｌｏｗ  Ｐｏｗｅｒ（ＵＬＰ）、低電力無線ＬＡＮ、独自低電力無線通信、セル無線システム、又は低電力伝送に適切な他のシステムを伴うＩＥＥＥ８０２．１５．４を用いて、実現され得る。なお、ＩＥＥＥは、電気電子技術者協会を表す。
【００２７】
一つの実施形態では、ユーザデータグラムプロトコル（ＵＤＰ）が、ＴＣＰ／ＩＰの代わりに、低電力ネットワーク内で利用される。ＵＤＰは、ＴＣＰのようには信頼性もオーダリングも保証しない。伝送されたパケットは、順序が狂って受信されることもあり、重複することもあり、紛失することもある。しかしながら、プロトコルは高速且つ効率的であり、低電力条件に適合する。低電力ネットワークは、通常、無線オートメーション、制御、及びセンサアプリケーションで利用される。本発明の実施形態の有用性は、低電力ネットワークのアプリケーションに依存しない。
【００２８】
低電力無線ノード１０８Ａ−１０８Ｇは、後で説明するバイナリエンコーディングを用いることにより、ＳＯＡＰメッセージングをインプリメントできる。ＩＰベースのネットワーク内のサーバが、ＸＭＬとバイナリエンコーディングの間の伝送を必要としないで、ＸＭＬ符号化ＳＯＡＰメッセージを進め、利用し操作するように、これらのノードは、ネットワーク内でバイナリＳＯＡＰメッセージを進め、利用し操作することができる。ノードは、図１のノード１０８Ｆとノード１０８Ｇのように、ネットワークのサポート無しで、バイナリ符号化ＳＯＡＰメッセージを交換することができる。
【００２９】
ＳＯＡＰメッセージが、低電力ネットワーク１００とＩＰベースのネットワーク１０４の間で伝送されるとき、メッセージは、バイナリエンコーディングからＸＭＬエンコーディングへ、及びその逆に、変換されなければならない。一つの実施形態では、変換は中間ノード１０６内で為される。
【００３０】
図２は、ＸＭＬベースとバイナリベースのＳＯＡＰメッセージング内のプロトコルスタックを示す。図では、ＳＯＡＰはサーバ１０４、中間ノード１０６及び低電力ノード１０８Ａが示されている。ＳＯＡＰサーバ１０４と中間ノード１０６は、インターネット／イントラネット１０２などの、ＩＰベースのネットワークを介して相互に接続される。中間ノードと低電力ノード１０８Ａは、低電力無線リンク１１０を介して相互に接続する。
【００３１】
中間ノード１０６は、ＸＭＬ符号化ＳＯＡＰメッセージングを用いることによりＳＯＡＰサーバで、及び、バイナリ符号化ＳＯＡＰメッセージングを用いることにより低電力ノードで、ＩＰベースのネットワークと通信する。ＸＭＬ符号化ＳＯＡＰメッセージングでは、プロトコルスタック２００、２０２は、物理層を含み、続いてＴＣＰ／ＩＰ及びＨＴＴＰがある。ＳＯＡＰは、リクエスト／レスポンスＰＯＳＴ若しくはＧＥＴを用いることにより、ＨＴＴＰの上にトランスポートされる。ＳＯＡＰメッセージのコンテンツは、ＸＭＬを用いることにより符号化される。ＨＴＴＰは、ＳＩＰなどの、他のアプリケーションプロトコルと置換され得る。
【００３２】
バイナリ符号化ＳＯＡＰメッセージングは、ＸＭＬ符号化メッセージングの圧縮バージョンである。ＸＭＬタグは、バイナリの同等のもの及び夫々のバインディングと、置換される。バイナリ符号化ＳＯＡＰメッセージングは、ＳＯＡＰメッセージングの機能を全て坦持するが、非常に少ない伝送キャパシティしか要求しない。よって、低電力及び低キャパシティネットワークには適切である。ＸＭＬ符号化ＳＯＡＰの伝送は、ＸＭＬタグを符号化するだけでなく、ＨＴＴＰ及びＴＣＰ／ＩＰバインディングを考慮に入れることもする。よって、ＳＯＡＰは、信頼性に欠けるネットワークにおいても伝送され得る。
【００３３】
バイナリ符号化ＳＯＡＰでは、低電力ノード及び中間ノードのプロトコルスタック２０４、２０６は、無線通信層、ネットワーク層及びバイナリＳＯＡＰエンコーディングから成る。ネットワーク層は、用いられる無線リンク技術に依存する。ネットワーク層は、例えば、ＵＤＰを伴うＩＥＥＥ８０２．１５．４におけるＩＰｖ６（６ｌｏｗｐａｎ）に基づき得る。バイナリ符号化ＳＯＡＰは、ＨＴＴＰ無しで、ネットワーキングにおいて直接に稼動する。ＸＭＬエンコーディングは、後で規定するコンパクトバイナリエンコーディングにより、置換される。この場合、ＳＯＡＰは、ＵＤＰなどの信頼性に欠けるトランスポートを用いることにより、低電力無線スタックにバインドされる。
【００３４】
一つの実施形態では、ＸＭＬとバイナリメッセージングの間でＳＯＡＰエンコーディング変換を実行するように構成されたネットワークユニットは、変換で用いられる圧縮／復元アルゴリズムを利用するプロセッサ２０６、及び、変換を規定するルックアップテーブルのセットを格納するメモリ２０８を含む。
【００３５】
一つの実施形態では、ルックアップテーブルのセットは、特定のバインディング（ＳＯＡＰ／ＨＴＴＰなど）がどのように低電力バイナリＳＯＡＰバインディングにマップするがを、記載する。ルックアップテーブルは、バインディングのどのトランスポートメソッドがどのように相互に対応するかを、示す。これは、信頼性がどのように処理されるか、ＳＯＡＰヘッダ及びボディを変換するのにどの圧縮技術が用いられるかを、記載する。
【００３６】
図３は、本発明の実施形態を示すフローチャートである。ここで、ＨＴＴＰは、アプリケーションプロトコルの例として用いられる。
【００３７】
ＸＭＬで符号化され低電力バイナリＳＯＡＰネットワークに向けられた完全なＳＯＡＰメッセージが、中間ノード１０６で受信されたとき、プロセスがスタートする（３００）。中間ノードは、ＸＭＬエンコーディングからバイナリエンコーディングへの変換を実行する。ＳＯＡＰ／ＸＭＬは正確性をチェックされたものとされている。
【００３８】
ステップ３０２では、メッセージのネームスペースがメッセージから検出され、中間ノードのルックアップテーブル２０８内で利用可能なネームスペースに対してチェックが為される。
【００３９】
メッセージのネームスペースがルックアップテーブル２０８から見つからなかったならば、ステップ３０４にて、中間ノードはネットワークサーバからオンデマンドでそれを要求できる。ネームスペースルックアップテーブルは、新しいサービスがネットワークに加えられ得るのと同様にして、遠隔で更新され得る。ルックアップテーブルの更新が成功したならば、プロセスはステップ３０２から開始する。ルックアップテーブルの更新が成功しなかったならば、メッセージは処理され得ず、ステップ３０６にて捨てられなければならない。
【００４０】
ネームスペースが利用可能であれば、処理は３１０へ続く。
【００４１】
ステップ３１０にて、用いられるエンコーディング及びネームスペースのバージョン数が、バイナリＳＯＡＰメッセージに符号化される。通常、バージョンフィールドのエンコーディングは１バイトを取る。
【００４２】
ステップ３１２にて、バイナリＳＯＡＰメッセージのヘッダが符号化される。エンコーディングは部分的に、ＸＭＬ符号化メッセージのヘッダに基づく。ＳＯＡＰヘッダ処理ルールは、バイナリヘッダに符号化され得る。更に、バイナリヘッダは、ＨＴＴＰ及びＴＣＰ／ＩＰメソッドが利用可能ではない信頼性に欠けるネットワークにおいてメッセージをトランスポートできるトランスポート関連情報を含む。
【００４３】
一つの実施形態では、エンコーディング及びネームスペースのバージョンは、バイナリヘッダの１番目のバイトとして、符号化される。
【００４４】
一つの実施形態では、ＨＴＴＰパケットタイプ及びレスポンスコード（リクエスト、レスポンス及びコード、アクノレッジ、プットなど）は、バイナリヘッダに符号化される。ＴＣＰ／ＩＰの信頼性は、バイナリヘッダ内のアクノレッジメントフィールドで置換され得る。アクノレッジメントフィールドは、メッセージを受信した後、メッセージの受信者がアクノレッジメントをメッセージの発信元に送信すべきかどうかを示す。
【００４５】
ヘッダの１番目のバイトは、ヘッダの数を記述する。ヘッダの残りは、{ヘッダタイプ、値}の組として符号化される。よって、個々のヘッダタグは、２バイトを用いて符号化される。ヘッダタイプコード及び値オプションは、ルックアップテーブル内に含まれる。他のヘッダタイプは、バインディングに必要であると規定され得る。
【００４６】
ステップ３１４では、ＳＯＡＰメッセージ内のメッセージエレメントの数が、ヘッダの組の後に符号化される。一つの実施形態では、メッセージエレメントの数は、バイトとして符号化される。
【００４７】
次に、ＳＯＡＰメッセージのメッセージエレメントが一つずつ符号化される。
【００４８】
ステップ３１６では、メッセージエレメント内部のタグの数とメッセージエレメントのバイト長が、ルックアップテーブル２０８に基づいて符号化される。一つの実施形態では、メッセージエレメント内部のタグの数は１バイトとして符号化され、メッセージエレメントのバイト長は１バイトとして符号化される。
【００４９】
ステップ３１８では、メッセージエレメントのタグが、適切な組{タグコード、データタイプ、値}を用いて符号化される。一つの実施形態では、タグコード及びデータタイプのエンコーディングは、夫々１バイトを取る。値のエンコーディングは、タグのデータタイプ及び値に拠って変動する。
【００５０】
メッセージエレメントの個々のタグに対して、これは繰り返される（３２０）。
【００５１】
タグは、アレイ内のエレメントの数の値により、アレイデータタイプを用いて、ネストされる。タグエンディングは用いられず、よってスペースをセーブできる。このバイナリバイトエンコーディング内で明確な長さフィールドが用いられるので、尚コンパクトである間にパースすることは容易である。データタイプテーブルは、標準的ＳＯＡＰデータタイプをバイナリ符号化データタイプに変換するのに用いられる。最も効率的なデータタイプが選択される。例えば、ＸＭＬ整数タイプに関して５つの異なるバイナリタイプがあり得る。個々のバイナリタイプは、ルックアップテーブル内で１バイトコードにより表される。
【００５２】
複雑なＸＭＬ符号化タグ及びタグの値は、通常、バイナリエンコーディング内で３〜５バイトに圧縮され得る。例えば、以下のＸＭＬタグは、４１バイトを消費する。
＜ＭｅａｓｕｒｅｍｅｎｔＶａｌｕｅ＞５６＜ＭｅａｓｕｒｅｍｅｎｔＶａｌｕｅ＞
【００５３】
注目すべきは、ＸＭＬでは、値５６は、文字列として表されるということである。変換では、これは、最も小さい数のフォーマット、この場合には８ビットの符号無し整数に、自動的に圧縮される。既に述べたバイナリエンコーディングを用いて、上記のＸＭＬタグは、以下の３バイトとして符号化される。
【表１】
2011523804.tif 000003
【００５４】
よって、４１−バイトのＸＭＬタグは、３−バイトのバイナリタグに符号化され得る。上記のエンコーディング内の実際のバイナリ値は、可能な値の例として与えられているに過ぎない。
【００５５】
上記ステップ３１６〜３２０は、ＳＯＡＰメッセージが含む個々のメッセージエレメントに対して、繰り返される。
【００５６】
全てのメッセージエレメントが符号化されると、変換プロセスはステップ３２４で終了する。ＸＭＬフォーマットメッセージからバイナリフォーマットメッセージへの変換が完了すると、メッセージは、圧縮マッピングで詳述された低電圧ネットワークプロトコルにおいて伝送され得る。例えば、このバイナリＳＯＡＰメッセージは、ＩＥＥＥ８０２．１５．４及びＩＥＥＥ８０２．１５．４無線通信において、ＩＰｖ６（６ｌｏｗｐａｎ）によりＵＤＰ内部で伝送され得る。
【００５７】
反対の変換方向では、プロセスは逆である。メッセージネームスペースのルックアップテーブル２０８は、ＨＴＴＰ若しくはＳＩＰなどの、選択されたアプリケーションプロトコルへのバインディングマッピングと共に、完全なＸＭＬ／ＳＯＡＰメッセージを再構築するのに利用される。よって、アプリケーションプロトコルパケットタイプ及びレスポンスコードを含むバイナリヘッダは、正確なパケットタイプ及びレスポンスコードを伴う実際のアプリケーションプロトコルパケットに変換される。
【００５８】
以下は、ＨＴＴＰ内でキャリーされるＳＯＡＰメッセージの非常に基本的な例である。
【表２】
2011523804.tif 000004
【００５９】
メッセージ内で用いられるネームスペースは、ＳｔｏｃｋＮａｍｅｓｐａｃｅである。ルックアップテーブル２０８が、ＳｔｏｃｋＮａｍｅｓｐａｃｅネームスペースのための以下の変換コードを含むと仮定する。
【表３】
2011523804.tif 000005
【００６０】
バイナリ符号化メッセージは、以下のように表される。また、上記エンコーディングの実際のバイナリ値は、可能な値の例としてのみ与えられる。個々のライン上の“／／”の後はどれも、コメントであり、０ｘ０３は、８ビットの１６進数の表現である。上記ＸＭＬメッセージはヘッダを含まないことに留意されたい。しかしながら、バイナリヘッダはＨＴＴＰ情報を含むので、ヘッダはバイナリメッセージに符号化される。
【００６１】
【表４】
2011523804.tif 000006
【００６２】
元のＨＴＴＰ／ＳＯＡＰ／ＸＭＬメッセージは、３９４バイトを取った。バイナリエンコーディングに変換されると、メッセージは１２バイトにしかならず、内容の損失も無い。これは、通常、４０−１００バイトのペーロードを有する、低電力無線フレームに適切である。
【００６３】
一つの実施形態では、ＴＣＰ／ＩＰの信頼性は、バイナリヘッダ内のアクノレッジメントで置き換えられ得る。このことにより、ＨＴＴＰ及びＴＣＰ／ＩＰメソッドが利用可能ではない信頼性に欠けるネットワークにおいて、メッセージをトランスポートすることが可能になる。
【００６４】
一つの実施形態では、アクノレッジメントメカニズムは、以下のように利用され得る。
【００６５】
ＴＣＰなどの信頼性の高いトランスポートにおいて低電力ネットワークの外部に転送されるバイナリＳＯＡＰメッセージを、中間ノード１０６が受けると、バイナリＳＯＡＰアクノレッジメントは即座に発信元に送られる。
【００６６】
低電力ＳＯＡＰノードがバイナリＳＯＡＰプットメッセージを受けると、それはアクノレッジメントで応答する。しかしながら、受けているノードが即座に、応答メッセージでリクエストに答えるならば、アクノレッジメントは送られるべきではない。
【００６７】
送信するノードが、所与のタイムアウト、期間の範囲内に応答もアクノレッジメントも受信しないならば、伝送が為される。
【００６８】
図４Ａ及び図４Ｂは、アクノレッジメカニズム内のメッセージの交換の例を示す。図４Ａは、低電力ノード１０８Ａから中間ノード１０６を介してＳＯＡＰサーバまでの、及びその逆の、メッセージ交換の例を示す。まず、低電力ノード１０８Ａは、バイナリＳＯＡＰリクエストメッセージ４００を中間ノード１０６へ送る。メッセージの受取人は、ＳＯＡＰサーバ１０４である。ノード１０８Ａは、メッセージヘッダのアクノレッジフィールドをＴＲＵＥ（真）にセットした。中間ノード１０６は、アクノレッジメント４０２で、応答する。
【００６９】
中間ノード１０６は、バイナリＳＯＡＰメッセージのＸＭＬフォーマットへの変換を行い、ＨＴＴＰ（ＰＯＳＴ）について完全ＳＯＡＰリクエスト４０４を最終的なエンドポイント、ＳＯＡＰサーバ１０４に送信する。このメッセージは、ＨＴＴＰ２００“ＯＫ”メッセージ４０６内のＳＯＡＰリプライで応答される。ＳＯＡＰリプライを受け取ると、中間ノードは、このＸＭＬフォーマットメッセージをバイナリＳＯＡＰレスポンスに変換し、それ４０８をノード１０８Ａに送る。
【００７０】
図４Ｂは、低電力ネットワーク１００内の低電力ノード１０８Ｆと１０８Ｇ間のメッセージ交換の例を示す。ノード１０８Ｆは、プットメソッドを含むバイナリＳＯＡＰメッセージ４１０をノード１０８Ｇに送信する。プットメソッドは、アクノレッジ４１２により常時応答される。なぜなら、プットは元来ワンウエイメッセージであるからである。一方で、ノード１０８ＦがバイナリＳＯＡＰリクエスト４１４を他方のノード１０８Ｇに送信すると、該リクエストはＳＯＡＰレスポンス４１６により応答され、アクノレッジは送られない。
【００７１】
中間ノード１０６は、電子デジタルコンピュータとして実装可能であり、該電子デジタルコンピュータは、ワーキングメモリ（ＲＡＭ）、中央処理ユニット（ＣＰＵ）、及びシステムクロックを含み得る。ＣＰＵは、一連のレジスタ、算術論理演算ユニット、及びコントロールユニットを含み得る。コントロールユニットは、ＲＡＭからＣＰＵに転送されるプログラム命令のシーケンスにより制御される。コントロールユニットは、ＣＰＵのデザインに依存するが、基本オペレーションのための多数のマイクロ命令を含み得る。プログラム命令は、プログラミング言語によりコード化され得る。該プログラミング言語は、Ｃ、Ｊａｖａ（登録商標）などの高水準プログラミング言語でも、機械語やアセンブリなどの低水準プログラミング言語でもよい。電子デジタルコンピュータはオペレーティングシステムを有し、該オペレーティングシステムは、プログラム命令で書かれたコンピュータプログラムにシステムサービスを提供できる。ノードは、適切なインタフェースで、低電力無線ネットワーク及びインターネット／イントラネットと接続するように構成されている。ノードは、図３に関連して記載された変換プロセスを実行するように構成された処理ユニットを
含む。ノードは、ルックアップテーブル２０８のセットを格納するメモリを含む。一つの実施形態では、ルックアップテーブルは、中間ノードに接続する別のデバイス内に格納される。処理ユニットは、要求されればオンデマンドでネットワークサーバからルックアップテーブルをリクエストするように構成されている。ノードは、無線ルータでもよく、低電力無線ネットワークとインターネット／イントラネットとの間にあるものでもよく、ＩＰネットワーク内に配置されるエッジサーバでもよい。
【００７２】
電子装置内にロードされるとコンピュータプロセスを実行するプログラム命令を含む、配布媒体上に埋め込まれたコンピュータプログラムを、一つの実施形態が提示する。該プロセスは以下の工程を含む。アプリケーションプロトコル及びトランスミッションコントロールプロトコル／インターネットプロトコル（ＴＣＰ／ＩＰ）を用いて拡張マークアップ言語（ＸＭＬ)フォーマットのシンプルオブジェクトアクセスプロトコル（ＳＯＡＰ）メッセージ（メッセージはメッセージエレメントを含む）を受信し転送する工程、バイナリメッセージエレメントを含むバイナリメッセージを受信し転送する工程、所与のフォーマットの個々のメッセージエレメントを別のフォーマット内のメッセージエレメントで置換することによりＸＭＬフォーマットメッセージとバイナリメッセージとの間で変換を実行する工程、ＸＭＬメッセージをバイナリフォーマットに変換する際にバイナリヘッダ内にアプリケーションプロトコルパケットタイプ及びＴＣＰ／ＩＰアクノレッジメントを含める工程、及び、バイナリフォーマットメッセージをＸＭＬフォーマットに変換する際にバイナリフォーマットメッセージのバイナリヘッダ内の情報に基づいてアプリケーションプロトコルパケットタイプ及びレスポンスコードを選択する工程、である。
【００７３】
コンピュータプログラムは、ソースコードフォームでも、オブジェクトコードフォームでも、或る中間フォームでもよい。コンピュータプログラムは或る種のキャリア内に格納してもよく、該キャリアはプログラムを坦持できるどのエンティティでもデバイスでもよい。そのようなキャリアは、例えば、記録媒体、コンピュータメモリ、ロム、電気キャリア信号、遠隔通信信号、及び、ソフトウエア配布パッケージを含む。必要な処理パワーに依存して、コンピュータプログラムは、単体の電子デジタルコントローラで実行されてもよく、多数のコントローラ間で配布されてもよい。
【００７４】
技術の進歩により、本発明の範囲は様々に実施可能であることは、当業者には明白であろう。本発明及びその実施形態は、既述の例に限定されるものではなく、特許請求の範囲で変動し得る。
【符号の説明】
【００７５】
１００・・・低電力無線ネットワーク、１０２・・・インターネット／イントラネット、１０４・・・ＳＯＡＰサーバ、１０６・・・中間ノード、１０８Ａ〜１０８Ｇ・・・無線低電力ノード、１１０・・・無線リンク。
【図１】
2011523804.tif 000007
【図２】
2011523804.tif 000008
【図３】
2011523804.tif 000009
【図４Ａ】
2011523804.tif 000010
【図４Ｂ】
2011523804.tif 000011
【手続補正書】
【提出日】平成23年1月17日(2011.1.17)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】０００９
【補正方法】削除
【補正の内容】
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
アプリケーションプロトコル及びトランスミッションコントロールプロトコル／インターネットプロトコル（ＴＣＰ／ＩＰ）を用いて拡張マークアップ言語（ＸＭＬ)フォーマットのシンプルオブジェクトアクセスプロトコル（ＳＯＡＰ）メッセージ（メッセージはメッセージエレメントを含む）を受信し転送する手段と、
バイナリヘッダ及びバイナリメッセージエレメントを含むバイナリメッセージを受信し転送する手段と、
所与のフォーマットの個々のメッセージエレメントを別のフォーマット内のメッセージエレメントで置換することによりＸＭＬ／ＳＯＡＰフォーマットメッセージとバイナリメッセージとの間で変換を実行する手段と、
ＸＭＬ／ＳＯＡＰメッセージをバイナリフォーマットに変換する際に、バイナリヘッダ内にアプリケーションプロトコルパケットタイプ及びＴＣＰ／ＩＰアクノレッジメントを含める手段と、
バイナリフォーマットメッセージをＸＭＬ／ＳＯＡＰフォーマットに変換する際に、バイナリフォーマットメッセージのバイナリヘッダ内の情報に基づいて、アプリケーションプロトコルパケットタイプ及びレスポンスコードを選択する手段と
を含む装置。
【請求項２】
更に、ＸＭＬ／ＳＯＡＰメッセージをバイナリフォーマットに変換する際に、バイナリメッセージ内に、利用されるネームスペース、及び、エンコーディングのバージョン数を含める工程を、行なうように構成されている請求項１に記載の装置。
【請求項３】
更に、変換においてルックアップテーブルを利用する工程を、行なうように構成されている請求項１に記載の装置。
【請求項４】
更に、変換されたメッセージを所望の宛先に転送する工程を、行なうように構成されている請求項１乃至３のうちのいずれか一に記載の装置。
【請求項５】
更に、
メッセージエレメントを含むＸＭＬフォーマットのシンプルオブジェクトアクセスプロトコル（ＳＯＡＰ）メッセージを受信する工程と、
バイナリヘッダ内の、利用されるネームスペース及びエンコーディングのバージョン数を符号化すること、バイナリヘッダ内の、アプリケーションプロトコルパケットタイプ及びＴＣＰ／ＩＰアクノレッジメントデータを符号化すること、個々のＸＭＬメッセージエレメントをルックアップテーブルで示されるバイナリメッセージエレメントで置換することにより、ＸＭＬフォーマットメッセージをバイナリＳＯＡＰメッセージに圧縮する工程と、
バイナリメッセージエレメントを含むバイナリＳＯＡＰメッセージを所望の宛先に転送する工程と
を行なうように構成されている請求項１乃至４のうちのいずれか一に記載の装置。
【請求項６】
更に、ＸＭＬフォーマットメッセージをバイナリの{ヘッダタイプ、値}の組に圧縮する工程を行なうように構成されており、
上記組のヘッダタイプの値はルックアップテーブルに基づいて選択され、組の値フィールドはＸＭＬフォーマットメッセージ内の値に基づいて選択される
請求項５に記載の装置。
【請求項７】
更に、
バイナリメッセージエレメントを含むバイナリＳＯＡＰメッセージを受信する工程と、
メッセージのバイナリヘッダから、利用されるネームスペース、及びエンコーディングのバージョン数を復号する工程と、
個々のバイナリメッセージエレメントを、ルックアップテーブルで示されるＸＭＬメッセージエレメントで置換することにより、バイナリＳＯＡＰメッセージをＸＭＬフォーマットメッセージに解凍する工程と、
バイナリＳＯＡＰメッセージのバイナリヘッダ内の情報に基づいて、アプリケーションプロトコルパケットタイプ及びレスポンスコードを選択する工程と、
メッセージエレメントを含むＸＭＬフォーマットＳＯＡＰメッセージを転送する工程と
を行なうように構成されている請求項１乃至６のうちのいずれか一に記載の装置。
【請求項８】
アプリケーションプロトコル及びトランスミッションコントロールプロトコル／インターネットプロトコル（ＴＣＰ／ＩＰ）を用いて拡張マークアップ言語（ＸＭＬ)フォーマットのシンプルオブジェクトアクセスプロトコル（ＳＯＡＰ）メッセージ（メッセージはメッセージエレメントを含む）を受信し転送する工程と、
バイナリヘッダ及びバイナリメッセージエレメントを含むバイナリメッセージを受信し転送する工程と、
所与のフォーマットの個々のメッセージエレメントを別のフォーマット内のメッセージエレメントで置換することによりＸＭＬ／ＳＯＡＰフォーマットメッセージとバイナリメッセージとの間で変換を実行する工程と、
ＸＭＬ／ＳＯＡＰメッセージをバイナリフォーマットに変換する際に、バイナリヘッダ内にアプリケーションプロトコルパケットタイプ及びＴＣＰ／ＩＰアクノレッジメントを含める工程と、
バイナリフォーマットメッセージをＸＭＬ／ＳＯＡＰフォーマットに変換する際に、バイナリフォーマットメッセージのバイナリヘッダ内の情報に基づいて、アプリケーションプロトコルパケットタイプ及びレスポンスコードを選択する工程と
を含む方法。
【請求項９】
更に、ＸＭＬ／ＳＯＡＰメッセージをバイナリフォーマットに変換する際に、バイナリメッセージ内に、利用されるネームスペース、及び、エンコーディングのバージョン数を含める工程を、含む請求項８に記載の方法。
【請求項１０】
更に、バイナリアクノレッジメントメッセージをバイナリメッセージの送信者に送信することにより、バイナリフォーマットＳＯＡＰプットメッセージに応答する工程を、含む請求項８又は請求項９に記載の方法。
【請求項１１】
更に、バイナリアクノレッジメントメッセージをバイナリメッセージの送信者に送信することにより、解凍されるべきバイナリフォーマットＳＯＡＰメッセージに応答する工程を、含む請求項８乃至１０のうちのいずれか一に記載の方法。
【請求項１２】
更に、メモリ内にルックアップテーブルを格納する工程を、含む請求項８乃至１１のうちのいずれか一に記載の方法。
【請求項１３】
更に、決定されたネームスペースのためのルックアップテーブルがメモリ内に格納されていないならば、リモートサーバからルックアップテーブルを更新する工程を、含む請求項１２に記載の方法。
【請求項１４】
請求項８乃至１３のうちのいずれか一に記載の方法を実施するコンピュータプロセスを実行する命令のコンピュータプログラムを符号化するコンピュータプログラムプロダクト。
【請求項１５】
バイナリヘッダ及びバイナリメッセージエレメントを含むバイナリシンプルオブジェクトアクセスプロトコル（ＳＯＡＰ）メッセージを受信し転送するように構成されている装置であって、
バイナリヘッダは、アプリケーションプロトコルヘッダデータ、トランスミッションコントロールプロトコル／インターネットプロトコル（ＴＣＰ／ＩＰ）アクノレッジメントデータ、利用されるネームスペース、及び、エンコーディングのバージョン数を含み、
バイナリメッセージエレメントは、ＸＭＬメッセージエレメントのバイナリカウンタパートを含む
装置。
【国際調査報告】
2011523804.tif 000012
2011523804.tif 000013
2011523804.tif 000014
2011523804.tif 000015