JP2008538028A - 複数のネットワーク構成要素間における情報の通信 - Google Patents

複数のネットワーク構成要素間における情報の通信 Download PDF

Info

Publication number
JP2008538028A
JP2008538028A JP2008504274A JP2008504274A JP2008538028A JP 2008538028 A JP2008538028 A JP 2008538028A JP 2008504274 A JP2008504274 A JP 2008504274A JP 2008504274 A JP2008504274 A JP 2008504274A JP 2008538028 A JP2008538028 A JP 2008538028A
Authority
JP
Japan
Prior art keywords
data
instructions
communication
software
message
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.)
Withdrawn
Application number
JP2008504274A
Other languages
English (en)
Inventor
ジェームス ジェイ. デロストリット,
ロナルド ジェームス ブラスザック,
ソン ヨン チュン,
チャド エベレット クロー,
アルバート ゴールドフェイン,
コリー ラッセル ゴンデック,
フランク ロマスコロ,
マヘッシ ナラヤン,
エリック ジー. ピーターセン,
ケニス ジー. ウエスト,
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Welch Allyn Inc
Original Assignee
Welch Allyn Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Welch Allyn Inc filed Critical Welch Allyn Inc
Publication of JP2008538028A publication Critical patent/JP2008538028A/ja
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/387Information transfer, e.g. on bus using universal interface adapter for adaptation of different data processing systems to different peripheral devices, e.g. protocol converters for incompatible systems, open system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)
  • Communication Control (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Stored Programmes (AREA)

Abstract

通信プロトコルのインターフェースは、コア部分および拡張可能な部分に分割可能に構成される。拡張可能な部分の通信プロトコルのインターフェースは、ネットワーク構成要素がそれぞれ、比較的広義に定義されたデータのセットの少なくとも一部分に対応する、一意で任意に小さい、サブセットの実際の相互運用データを通信できるように、カスタマイズされるようさらに構成される。ソフトウェア生成プログラムは、サブセットの実際のデータで動作し、また特定のネットワーク構成要素のための通信プロトコルのインターフェースの拡張可能な部分の実行を導く拡張可能なソースコードのセットを生成するよう構成される。

Description

(関連出願の引用)
本願は、米国仮特許出願第60/667,203号(代理人事件番号:281_455PRO、2005年3月30日出願)の優先権を主張し、米国仮特許出願(代理人事件番号281_455PRO1、2006年3月28日出願、タイトル「System For Communicating Information Betweeen A Plurality of Network Elements」)の優先権を主張する。上記特許出願の全ての全容は、参考により援用される。コンピュータプログラムリストもまた、参考により援用される。
(発明の分野)
本発明は概して、複数のネットワーク構成要素間の情報の通信のための方法、装置およびシステムに関し、具体的には、生理学および医療に関するデータを含め、潜在的に大きく多様なセットの定義されたデータを通信するよう構成された、コアおよび拡張可能なセットの機能性を有する、通信プロトコルのインターフェースおよび装置に関する。通信プロトコルのインターフェースを実装するソフトウェアは、拡張マークアップ言語(XML)の命令のセットから構成可能であり、また命令に応えてソフトウェア生成プログラムから生成される。
(コンピュータプログラムリストの付属書)
明細書に同封しているのは、全く相等しい二(2)つのコンパクトディスク(コピー1およびコピー2)である。添付のコンパクトディスク(コピー1およびコピー2)のそれぞれに記録されたファイルは、コンピュータプログラムリストの付属書を表し、参照することにより本明細書に組み込まれる。バイトの単位の名前およびサイズを含めて、それぞれのコンパクトディスクに記録されたファイルを以下に記載する。
以下に記載され、番号1〜42のインデックスを付けられたファイルは、「Demo」と名前を付けられたフォルダに位置している。これらのファイルは、2006年3月27日に作成されたすべてのC++ソースコードのファイルである。
(Demo)
1)ファイル名:CBatteryDStd.cpp サイズ:38KB
2)ファイル名:CColDWave.cpp サイズ:44KB
3)ファイル名:CErrEStd.cpp サイズ:41KB
4)ファイル名:CErrPGetError.cpp サイズ:35KB
5)ファイル名:CFmBATTERYcom.cpp サイズ:14KB
6)ファイル名:CFmBATTERYStub.cpp サイズ:17KB
7)ファイル名:CFmDTCOLLECTIONcom.cpp サイズ:16KB
8)ファイル名:CFmDTCOLLECTIONStub.cppサイズ:19KB
9)ファイル名:CFmERRORcom.cpp サイズ:12KB
10)ファイル名:CFmERRORStub.cpp サイズ:13KB
11)ファイル名:CFmNIBPcom.cpp サイズ:16KB
12)ファイル名:CFmNIBPStub.cpp サイズ:21KB
13)ファイル名:CFmWAVEcom.cpp サイズ:16KB
14)ファイル名:CFmWAVEStub.cpp サイズ:23KB
15)ファイル名:CNIBPCStd.cpp サイズ:34KB
16)ファイル名:CNIBPDStd.cpp サイズ:47KB
17)ファイル名:CWACPApp.cpp サイズ:21KB
18)ファイル名:CWACPPres.cpp サイズ:15KB
19)ファイル名:CWACPStub.cpp サイズ:27KB
20)ファイル名:CWaveCStd.cpp サイズ:39KB
21)ファイル名:CWaveDStd.cpp サイズ:40KB
22)ファイル名:CBatteryDStd.h サイズ:8KB
23)ファイル名:CColDWave.h サイズ:7KB
24)ファイル名:CErrEStd.h サイズ:8KB
25)ファイル名:CErrPGetError.h サイズ:7KB
26)ファイル名:CFmBATTERYcom.h サイズ:7KB
27)ファイル名:CFmBATTERYStub.h サイズ:3KB
28)ファイル名:CFmDTCOLLECTIONcom.h サイズ:7KB
29)ファイル名:CFmDTCOLLECTIONStub.h サイズ:3KB
30)ファイル名:CFmERRORcom.h サイズ:6KB
31)ファイル名:CFmERRORStub.h サイズ:3KB
32)ファイル名:CFmNIBPcom.h サイズ:7KB
33)ファイル名:CFmNIBPStub.h サイズ:3KB
34)ファイル名:CFmWAVEcom.h サイズ:7KB
35)ファイル名:CFmWAVEStub.h サイズ:3KB
36)ファイル名:CNIBPCStd.h サイズ:8KB
37)ファイル名:CNIBPDStd.h サイズ:10KB
38)ファイル名:CWACPApp.h サイズ:13KB
39)ファイル名:CWACPPres.h サイズ:5KB
40)ファイル名:CWACPStub.h サイズ:4KB
41)ファイル名:CWaveCStd.h サイズ:8KB
42)ファイル名:CWaveDStd.h サイズ:8KB
以下に記載され、番号43〜45のインデックスを付けられたファイルはさらに、「Demo」と名前を付けられたフォルダに位置している。これらのファイルは、拡張マークアップ言語(XML)のファイルであり、2006年3月27日に作成された。
(Demo)
43)ファイル名:DDS_DEMO.xml サイズ:25KB
44)ファイル名:DDS_SPOT_ULTRA.xml サイズ:124KB
45)ファイル名:DDS_VALIDATION.xml サイズ:16KB
以下に記載され、番号1〜63のインデックスを付けられたファイルは、「Demo\ANSI_CPP\Win32」と名前を付けられたフォルダに位置している。これらのファイルは、C++ソースコードのファイルであり、2006年3月27日に作成された。
(Demo\ANSI_CPP\Win32)
1)ファイル名:AESCrypt.cpp サイズ:14KB
2)ファイル名:CAESWrapper.cpp サイズ:3KB
3)ファイル名:CBootEntry.cpp サイズ:11KB
4)ファイル名:CCommSvr.cpp サイズ:20KB
5)ファイル名:CConObjSvr.cpp サイズ:29KB
6)ファイル名:CDLLEntry.cpp サイズ:13KB
7)ファイル名:CEncryption.cpp サイズ:3KB
8)ファイル名:CError.cpp サイズ:23KB
9)ファイル名:CErrSvr.cpp サイズ:19KB
10)ファイル名:CEthCommSvr.cpp サイズ:34KB
11)ファイル名:CFmRNDZObjSvr.cpp サイズ:12KB
12)ファイル名:CFmRouter.cpp サイズ:7KB
13)ファイル名:CLinkTable.cpp サイズ:12KB
14)ファイル名:CMsgSvr.cpp サイズ:11KB
15)ファイル名:CRNDZStub.cpp サイズ:13KB
16)ファイル名:CSerialCommSvr.cpp サイズ:33KB
17)ファイル名:CTraceSvr.cpp サイズ:18KB
18)ファイル名:CTrapObjSvr.cpp サイズ:21KB
19)ファイル名:CUSBCommSvr.cpp サイズ:17KB
20)ファイル名:CWACPEvent.cpp サイズ:4KB
21)ファイル名:CWACPMutex.cpp サイズ:3KB
22)ファイル名:CWACPSemaphore.cpp サイズ:3KB
23)ファイル名:CWACPThread.cpp サイズ:3KB
24)ファイル名:Dt.cpp サイズ:5KB
25)ファイル名:DtData.cpp サイズ:35KB
26)ファイル名:Mem.cpp サイズ:17KB
27)ファイル名:MiscUtil.cpp サイズ:4KB
28)ファイル名:SysUtil.cpp サイズ:8KB
29)ファイル名:AESCrypt.h サイズ:2KB
30)ファイル名:CAESWrapper.h サイズ:2KB
31)ファイル名:CBootEntry.h サイズ:3KB
32)ファイル名:CCommSvr.h サイズ:4KB
33)ファイル名:CConObjSvr.h サイズ:7KB
34)ファイル名:CDLLEntry.h サイズ:8KB
35)ファイル名:CEncryption.h サイズ:2KB
36)ファイル名:CError.h サイズ:7KB
37)ファイル名:CErrSvr.h サイズ:5KB
38)ファイル名:CEthCommSvr.h サイズ:5KB
39)ファイル名:CFmRNDZObjSvr.h サイズ:6KB
40)ファイル名:CFmRouter.h サイズ:4KB
41)ファイル名:CLinkTable.h サイズ:3KB
42)ファイル名:CMOMPCallbacks.h サイズ:3KB
43)ファイル名:CMsgSvr.h サイズ:4KB
44)ファイル名:CObjSvr.h サイズ:3KB
45)ファイル名:Common.h サイズ:5KB
46)ファイル名:CRNDZStub.h サイズ:4KB
47)ファイル名:CSerialCommSvr.h サイズ:5KB
48)ファイル名:CTraceSvr.h サイズ:12KB
49)ファイル名:CTrapObjSvr.h サイズ:5KB
50)ファイル名:CUSBCommSvr.h サイズ:4KB
5I)ファイル名:CWACPEvent.h サイズ:2KB
52)ファイル名:CWACPMutex.h サイズ:2KB
53)ファイル名:CWACPSemaphore.h サイズ:2KB
54)ファイル名:CWACPThread.h サイズ;2KB
55)ファイル名:Dt.h サイズ:5KB
56)ファイル名:DtData.h サイズ:13KB
57)ファイル名:DtSupport.h サイズ:5KB
58)ファイル名:Mem.h サイズ:4KB
59)ファイル名:MiscUtil.h サイズ:2KB
60)ファイル名:StdVarTyp.h サイズ:6KB
61)ファイル名:SysUtil.h サイズ:5KB
62)ファイル名:target.h サイズ:6KB
63)ファイル名:xmlparse.h サイズ:21KB
以下に記載され、番号64のインデックスを付けられたファイルは、「Demo\ANSI_CPP\Win32」と名前を付けられたフォルダに位置している。これらのファイルは、個々のファイルのタイプの情報とともに記載され、2006年3月27日に作成された。
(Demo\ANSI_CPP\Win32)
64)ファイル名:CDLLEntry.def サイズ:1KB
ファイルのタイプ:ダイナミックリンクライブラリエキスポートファイル
以下に記載され、番号1〜2のインデックスを付けられたファイルは、「Demo\ANSI_CPP\Win32\Client」と名前を付けられたフォルダに位置している。これらのファイルは、C++ソースコードのファイルであり、2006年3月27日に作成された。
(Demo\ANSI_CPP\Win32\Client)
1)ファイル名:CInterchange.cpp サイズ:38KB
2)ファイル名:CInterchange.h サイズ:6KB
以下に記載され、番号1〜2のインデックスを付けられたファイルは、「Demo\ANSI_CPP\Win32\Server」と名前を付けられたフォルダに位置している。これらのファイルは、C++ソースコードのファイルであり、2006年3月27日に作成された。
(Demo\ANSI_CPP\Win32\Server)
1)ファイル名:CInterchange.cpp サイズ:60KB
2)ファイル名:CInterchange.h サイズ:8KB
以下に記載され、番号1のインデックスを付けられたファイルは、「Demo\ReleaseFiles」と名前を付けられたフォルダに位置している。これらのファイルは、拡張マークアップ言語(XML)のファイルであり、2006年3月27日に作成された。
(Demo\ReleaseFiles)
1)ファイル名:DDS_SPOT_ULTRA.xml サイズ:124KB
以下に記載され、番号1〜3のインデックスを付けられたファイルは、「Demo\VC71_CPP_CLIENT」と名前を付けられたフォルダに位置している。これらのファイルは、個々のファイルのタイプの情報とともに記載され、2006年3月27日に作成された。
(Demo\VC71_CPP_CLIENT)
1)ファイル名:TraceTransform.xsl サイズ:7KB
ファイルのタイプ:XML変換ファイル
2)ファイル名:VC71_CPP_CLIENT.sln サイズ:1KB
ファイルのタイプ:C++のためのビジュアルスタジオのソリューションファイル
3)ファイル名:VC71_CPP_CLIENT.vcproj サイズ:12KB
ファイルのタイプ:C++のためのビジュアルスタジオのプロジェクトファイル
以下に記載され、番号1〜3のインデックスを付けられたファイルは、「Demo\VC71_CPP_SERVER」と名前を付けられたフォルダに位置している。これらのファイルは、個々のファイルのタイプの情報とともに記載され、2006年3月27日に作成された。
(Demo\VC71_CPP_SERVER)
1)ファイル名:TraceTransformer.xsl サイズ:7KB
ファイルのタイプ:XML変換ファイル
2)ファイル名:VC71_CPP_SERVER.sln サイズ:1KB
ファイルのタイプ:C++のためのビジュアルスタジオのソリューションファイル
3)ファイル名:VC71_CPP_SERVER.vcproj サイズ:11KB
ファイルのタイプ:C++のためのビジュアルスタジオのプロジェクトファイル。
(発明の背景)
いくつかのコンピュータ環境は、大量で多様な関連したデータの定義を含め、時間とともに変化および発展することもあるデータの収集の獲得および通信を伴う。医療環境内の生理学的データの獲得および通信は、かかるコンピュータ環境の実例である。
医療のコンピュータ環境は通常、生理学的データを処理し、またネットワーク経由で通信する多様なデバイスを含む。これらのデバイスは通常、ソフトウェアを含め、また生理学的および他のデータの特定のサブセットで動作するよう構成することができる。生理学的データの特定のサブセットは、1つ以上のデバイスのグループに対して一意であってもよく、それぞれのグループのデバイスによって処理される特定のサブセットの生理学的データ間で、重なりが存在していてもよい。
それぞれのデバイスの設計は、デバイスが処理および通信する特定のサブセットの生理学的データによって決まる。デバイスに属するソフトウェアの設計は同様に、デバイスが処理および通信するサブセットの生理学的データによって決まる。
結果として、実質的な取り組みが、生理学的および/または他のタイプの類似したデータを獲得および通信するソフトウェアを設計、実装および時間とともに維持するために必要となる可能性がある。ソフトウェアが、特定のセットのデータのタイプおよび関連したデータの定義によって特性が示される一意で特定のサブセットのデータでそれぞれ動作する複数のデバイスで実行されるよう開発される場合に、さらなる実質的な取り組みが必要となる可能性がある。また、データのタイプおよび関連したデータの定義を含むデータが、時間とともに変化および発展する傾向がある場合には、実質的なさらなる取り組みが必要となる可能性がある。
ソフトウェアの信頼性は、適切な医療を提供するのに重要な意味を持つので、さらにそれ以上の実質的な取り組みが、ソフトウェアが医療環境内のデータで動作する場合に必要となる。医療環境内の信頼性のあるソフトウェアの欠如は、適切な医療の提供の妨げになり、医療患者に悪影響を与え、さらに致死をもたらす場合もある。
本発明は概して、複数のネットワーク構成要素間の情報の通信のための方法、装置およびシステムを提供し、具体的には、生理学および医療に関するデータを含め、潜在的に大きく多様なセットの定義されたデータを通信するよう構成された、コアおよび拡張可能なセットの機能性を有する、通信プロトコルのインターフェースおよび関連した装置を提供する。
いくつかの実施態様では、前記通信プロトコルのインターフェースを実装するソフトウェアは、拡張マークアップ言語(XML)の命令のセットから構成可能であり、また入力、および前記命令に応えてソフトウェア生成プログラムを生成する。いくつかの実施態様では、ネットワーク構成要素のそれぞれが、特定の機能の前記ネットワーク構成要素により、比較的広義に定義されたデータセット内に含まれる、一意のサブセットのデータを通信することができるように、前記通信プロトコルのインターフェースはまた、スコープに割り当てることができる。
本発明の先述および他のオブジェクト、側面、特長および利点は、以下の説明から、また特許請求の範囲からさらに明白となるであろう。
図1は、医療(医学)情報システム100内に位置する各種のネットワーク構成要素を示すブロック図である。ホスト(サーバー)コンピュータ110A〜110C、バイタルサイン測定デバイス(VSMD)140A〜140Y、心電図(ECG)デバイス150および他のデバイス160を含むネットワーク構成要素は、ネットワーク内にノードを構成し、またシステム100内の多様で異なる機能を実行する。
ホストコンピュータ110A〜110Cは通常、例えば、他のネットワーク構成要素で、イーサネット(登録商標)、WIFI、USBおよびシリアル通信インターフェースを支援するための、ハードディスクドライブ、RAMメモリカード、および通信インターフェースハードウェアを含む、任意の多様なハードウェアに対応する固定式(非可動式)デバイスである。
バイタルサイン測定デバイス(VSMD)140A〜140Yは、患者の各種のバイタルサインに関連する生理学的な測定をする実行するのにオペレータによって使用されるデバイスである。例えば、VSMD140A〜140Yは、成人患者および小児患者の収縮期圧および拡張期圧、平均動脈圧、脈拍数、体温ならびにパルス酸素濃度計(SpO2)を測定することができる。VSMD140A〜140Yは通常、RS−232シリアルインターフェース、ユニバーサルシリアルバス(USB)インターフェース経由の、またはWiFi(無線)(802.11)通信インターフェース経由のサーバーコンピュータ110A〜110Cを含む、他のデバイスに通信することができる。
実施態様に1つのタイプでは、VSMD140A〜140Yは、Welch Allyn Spot LXiのバイタルサイン測定デバイス(VSMD)である。この実施態様では、Spot LXiのVSMD140A〜140Nは、WiFiゲートウェイ170経由でホストコンピュータ110Cに送信するように、802.11通信チャネル156a〜156n経由で、別の802.11タイプの通信デバイスに無線(WiFi)で通信するよう、無線アダプタ158a〜158nを任意に使用する。Spot LXiのVSMD140Yはまた、RS−232シリアル通信チャネル142経由で、ホストコンピュータ110Bに通信する。
さらに他のデバイス、例えばECG測定デバイス150は、USB通信チャネル144経由でホストコンピュータ110Bに通信することができ、またはRS−232シリアル通信チャネル146経由で、ホストコンピュータ110Cに通信することができる。図示するように、別のデバイス160は、USB通信チャネル148経由で、ホストコンピュータ110Cに通信することができる。
ホストコンピュータ110Bはまた、インターネット通信チャネル152経由で、遠隔配置された別のホストコンピュータ110Aに通信することができ、またはイーサネット(登録商標)ローカルエリアネットワーク通信チャネル154.経由で、別のホストコンピュータ110Cに通信することができる。ホストコンピュータ110Bは、データの保存場所として機能するデータベース130に直接接続される。データベース130は、システム100によって獲得および処理されたデータを保存および処理する。医学情報システムのデータの大部分は、患者集団のための人間生理学の非常に多くの測定を表すよう定義および構造される。
図2Aは、図1に示すように、バイタルサイン測定デバイス(VSMD)およびホストコンピュータ110c内に属する内部ソフトウェア構成要素および通信プロトコルのインターフェースの表示を示すブロック図である。
通信インターフェース210の説明は、VSMD140Nとホストコンピュータ110cとの間で使用される、本明細書ではプロトコルスタックとも称される、通信プロトコルの階層化(スタック)を含む。それぞれの通信プロトコルは、VSMD140Nおよびホストコンピュータ110Cなどの、それぞれのネットワーク構成要素のための通信プロトコルのインターフェース210内のソフトウェアを実行しながら実装され、通信インターフェース仕様(図示せず)とも称される、通信プロトコルのインターフェース(CPI)仕様に従って動作し、またシステム100のそれぞれのネットワーク構成要素によって獲得(収集)、保存および処理されるデータを含め、情報の通信を支援するよう採用される。
通信インターフェース仕様は、通信インターフェースの、書面による、印刷による、またはデジタルエンコードによる説明が実現可能である。通信インターフェースは、本明細書では通信プロトコルのインターフェース(CPI)とも称され、通信インターフェース仕様は、通信プロトコルのインターフェース(CPI)仕様とも称される。
802.11(210A)、インターネットプロトコル(IP)210Bおよび輸送接続プロトコル(TCP)210Cとして知られている、3つの下位プロトコル層210A〜210Cは典型的であり、下位プロトコルスタック210A〜210Cとも称される、プロトコルスタック210の下位部を集合的に構成する、標準的でよく知られている通信プロトコルである。3つの下位プロトコル層210A〜210Cは、それぞれインターチェンジ210D、ランデブー210EおよびMOMP210Fの(3)つの上位プロトコル層を支援および伝達するよう採用され、本発明に従って設計されている。
この特定の下位プロトコルスタック210A〜210Cを使用することは必要とされず、本発明を実践する様々な方法で修正することができる。他の通信プロトコル、または通信プロトコルの組み合わせは、上位プロトコル層210D〜210Fを支援および伝達する様々な方法でプロトコル210A〜210Cの代用をする、および/またはそれらと組み合わせることができる。
本明細書ではエクスチェンジ層またはインターチェンジ層210Dとも称される、インターチェンジプロトコル層210Dは、オープンシステムインターコネクション(OSI)の規範モデルのセッション層に属し、ランデブープロトコル210EまたはMOMP210Fプロトコルを伝達するために採用される。
ホストコンピュータ110Cのオペレーションシステムソフトウェア222が下位プロトコルスタック210A〜210Cを実装するよう構成されるのに対して、ホストコンピュータ110Cのアプリケーションソフトウェア220は、上位プロトコルスタック210D〜210Fを実装するよう構成される。同様にVSDN140nのオペレーションシステムソフトウェア232が、下位プロトコルスタック210Aから210Cを実装するよう構成されるのに対して、VSMD140nのアプリケーションソフトウェア230は、上位プロトコルスタック210D〜210Fを実装するよう構成される。同様に、他のネットワーク構成要素は通常、前述と同様の方法でプロトコルスタックを実装する。
図2Bは、通信インターフェース210を介して、第1のネットワーク構成要素から第2のネットワーク構成要素までの情報の伝送を示すブロック図である。第2のネットワーク構成要素(図示せず)に情報を伝送する通信インターフェース210を採用するとき、アプリケーション層210Gは、ランデブー210EまたはMOMP210Fのどちらかのプロトコル層に、通常機能呼び出しパラメーターの形式で、情報212gの転送を開始する。
いくつかの実施態様では、機能呼び出しパラメーターは、通信インターフェース210を介して伝送される情報のバッファに対するポインタを含む。次に受信するプロトコル層、状況に応じてランデブー210EまたはMOMP210Fのどちらかのプロトコル層は、情報212eまたは212fをインターチェンジ層210Dにさらに転送する。
図示するように、情報212eまたは212fは、ランデブー210EまたはMOMP210Fのどちらかのプロトコル層からそれぞれインターチェンジ層210Dに入力される。ランデブー210E層212eから入力された情報は通常、第2のネットワーク構成要素との接続の確立または終了に関与する。MOMP210E層212eから入力される情報は通常、ランデブー210E層によってすでに確立されている第2のネットワーク構成要素との接続の使用に関与する。
インターチェンジ層210Dは、情報212eまたは212fを入力し、情報212dを下位プロトコルスタック210A〜210Cに出力する。情報転送212dは、インターチェンジ層210Dによって入力され、それによって処理される情報212eまたは212fのソースに応じて、情報212eまたは212fのどちらかを取り囲み、含む、インターチェンジエンベロープとして構造される。特に、情報転送212dは、情報212eがインターチェンジ層210Dによって受信および処理される状況において情報212eを含む、または情報212fがインターチェンジ層210Dによって受信および処理される状況において情報212fを含む。
下位プロトコルスタック210A〜210Cは、通信チャネル(図示せず)を介して第2のネットワーク構成要素までの通信のために情報212dを入力し、情報212aを出力する。情報212aは、下位プロトコル層210A〜210Cを実装しているソフトウェアによって加えられる情報212dさらにその上プロトコル情報を含む。
図2Cは、通信インターフェース210を介して、第2のネットワーク構成要素から第1のネットワーク構成要素によって受信している情報を示すブロック図である。情報を受信する通信インターフェース210を採用するとき、下位プロトコルスタック210A〜210Cは、通信チャネルおよび関連するハードウェア(図示せず)を介して、第2のネットワーク構成要素から伝送される情報214aを入力する。下位プロトコルスタック210A〜210Cは、情報214aを処理し、インターチェンジ層210Dに情報214dを出力する。
インターチェンジ層210Dは、情報214dを入力および処理し、また情報214dがどの層に対応されるにより、情報214eをランデブー層210Eに、または情報214fをMOMP層210Fに出力する(転送する)。情報転送214dは、ランデブー層210EまたはMOMP層210F層のどちらかに対応される情報を取り囲み含む、インターチェンジエンベロープとして構造される。インターチェンジ層210Dは、そのエンベロープを構成している情報を取り除く。
ランデブー210EおよびMOMP210Fのプロトコル層はそれぞれ、インターチェンジプロトコル層210Dから受信する情報を入力および処理する。プロトコル層210EおよびMOMP210Fのそれぞれは、必要に応じて、情報をアプリケーション層210Gに出力する(転送する)。
図2Dは、通信インターフェース210から伝送するとき、インターチェンジ層210Dから出力される情報212dの構造220を示すブロック図である。図示するように、この構造220はまた、本明細書ではインターチェンジエンベロープ220、セッションエンベロープ220、およびセッションラッパー220の大きなバージョンとも称される。構造220は、本明細書ではフィールドと称される、複数の部分に分割される。フィールドは、セッション序文フィールド222、パケット長フィールド224、ポート/アプリケーション識別子フィールド226、数列番号228、UUIDフィールド230、データ長フィールド232データバッファフィールド234およびヘッダー巡回冗長チェック(CRC)フィールド236を含む。
セッション序文フィールド222は、構造220を画定するよう構成され、2進値の一意の数列を含む。パケット長フィールド224は、バイトの単位において、全体の構造220の長さを表示する。ポート/アプリケーション識別子フィールドは、アプリケーションタイプに関連したポート番号を識別する。アプリケーションタイプは、ランデブーまたはWACPアプリケーションタイプを識別することができる。
構造が、構造220と通信する間に採用される限定的バッファ容量に応えて、部分に分割されるとき、数列番号フィールド228は、構造のそれぞれの部分のために、一意の識別子を保存する。UUIDフィールド230は、インターチェンジ層210Dによって受信される別の応答通信が構造220と関連することができるように、構造220のための識別子を保存する。データ長フィールド232は、データバッファフィールド234の長さを、好ましくはバイトの単位で保存する。データバッファフィールド234は、構造220(伝達によって)内に含まれるデータを保存する。CRCフィールド236は、全体の構造220のために算出された巡回冗長チェック(CRC)値を保存する。
構造240は、インターチェンジエンベロープの小さいバージョン240を示す。構造240は、大きいバージョン220のフィールドのサブセットを含む。大きいバージョンと同様に、フィールドは、セッション序文フィールド222、パケット長フィールド224、ポート/アプリケーション識別子フィールド226、データバッファフィールド234およびヘッダー巡回冗長チェック(CRC)フィールド236を含む。大きいバージョン220とは異なり、小さいバージョンは、数列番号228、UUIDフィールド230、およびデータ長フィールド232を除外する。
インターチェンジエンベロープの小さいバージョン240は、構造240を通信する間の接続全般に採用されるバッファの容量内に適合するほど小さな情報のためのインターチェンジ層210Dによって採用することができる。これらの状況では、インターチェンジエンベロープ240は、接続のエンドポイントとの間に属している限定的サイズの1つ以上のバッファ内に適合する、比較的小さい部分に分割(大きく縮小)および配列することを必要としない。
図2Eは、VSMデバイス140nとホスト110cネットワーク構成要素との間の接続を確立するための、エクスチェンジのランデブー通信プロトコルを示すブロック図である。接続を確立するために、ランデブープロトコル層は、ホスト110cに対応する接続リクエスト通信252の伝送を開始する。接続リクエスト252は、インターチェンジエンベロープ220、240内に含まれ、VSMデバイス140n内で動作しているインターチェンジプロトコル層210Dおよび下位プロトコルスタック210A〜210Cを介して、VSMデバイス140nからホスト110cに伝送される。インターチェンジエンベロープ220のデータバッファフィールド234は、ランデブープロトコルの接続リクエストメッセージとしてそれを識別する「RNDZConnect」の文字列を含む(伝達する)。
ホスト110c内で動作しているランデブープロトコル層210Eを実装するソフトウェアは、ホスト110c内で動作している下位プロトコルスタック210A〜210Cおよびインターチェンジプロトコル層210Dを介して、接続リクエスト通信252を受信する。ポート/アプリケーション識別子フィールド226は、接続リクエスト通信252によって対応されるアプリケーションタイプとしてランデブープロトコル層を表示する。ホストコンピュータ110cは、下位プロトコルスタック210A〜210Cのプロトコルを介して対応する。
次に、ホスト110cは、接続受け入れ通信254をVSMデバイス140nに伝送する。接続受け入れ254は、インターチェンジエンベロープ220、240に含まれ、ホスト110c内で動作しているソフトウェアによって実装されるインターチェンジプロトコル層210Dおよび下位プロトコルスタック210A〜210Cを介して、ホスト110cからVSMデバイス140nに伝送される。
ホスト110c内で動作していて、ランデブープロトコル層210Eを実装しているソフトウェアは、VSMデバイス140n内で動作している下位プロトコルスタック210A〜210Cおよびインターチェンジプロトコル層210Dを介して、接続受け入れ通信254を受信する。通信254のポート/アプリケーション識別子フィールド226は、接続リクエスト通信252として対応されるアプリケーションタイプとしてランデブープロトコル層を表示する。
ランデブー接続は現在確立されている。次に、VSMデバイス140nは、暗号化キーリクエスト通信256をホスト110cに伝送する。ホスト110cは、セッションキーとも称される、暗号化キーを含む、暗号化キー通信258を伝送することによって応答する。
暗号化キーを受信すると、クライアントは、WACPプロセスリクエスト通信260をホスト110cに伝送する。ホスト110cは、WACPプロセス(図示せず)のインスタンスを実行することにより、またホスト準備通信262を伝送することによって応答する。VSMデバイス140nは、ホスト準備通信を受信し、またVSMデバイス140n(図示せず)内で動作しているWACPプロセスに制御を転送する。
ランデブー接続は、ランデブー接続終了通信がホスト110cによって伝送されるとき終了する。VSMデバイス140nとホスト110cとの間の通信のエクスチェンジは、VSMデバイス140nとホスト110cとの間の通信のために採用される通信チャネル(図示せず)のタイプとは無関係である。
図3Aは、医学オブジェクト管理プロトコル(MOMP)メッセージ300を構成する情報の構造を示すブロック図である。MOMPメッセージ300は、インターチェンジプロトコルメッセージ220、240のデータバッファフィールド234内に属し、またそれによって伝達される。MOMPメッセージ300の構造は、フィールドと称される、複数の部分に分割される。フィールドは、メッセージ識別子フィールド302、メッセージサイズフィールド304、メッセージ暗号化フィールド306、オブジェクトバッファフィールド308および巡回冗長チェック(CRC)フィールド310を含む。
メッセージ識別子フィールド302は、MOMPメッセージ300のタイプを識別および分類する値のセットを含む。メッセージ長フィールド304は、全体のMOMPメッセージ300の長さを、好ましくはバイトの単位で表示する。メッセージ暗号化フィールド306は、MOMPメッセージ300の任意の暗号化が採用されているかを表示し、本当であれば、どのタイプの暗号化が採用されているかを表示する値を含む。オブジェクトバッファフィールド308は、連載オブジェクトを表すデータを保存する。連載オブジェクトは、特定のネットワーク構成要素によって獲得される生理学的データのセットであってもよい。CRCフィールド310は、全体の構造300のために算出される巡回冗長チェック(CRC)値を保存する。
メッセージ識別子フィールド302は、MOMPメッセージ300のための1つのタイプの分類をそれぞれ表す(3つの)サブフィールドを含む。それぞれのタイプの分類は、(3つの)階級の分類スキームのうちの1つの階級を表す。第1のサブフィールド312は、科の分類とも称される、第1(最も高い階級)の分類を表す値を保存する。
いくつかの実施態様では、第1の分類は、生理学的データおよびメッセージの型のセットを有し、それらに関連した特定のモジュールを識別することができる。データは、例えば血圧に関連した生理学的データタイプであってもよい。一実施態様では、第1の分類は、テキスト文字列「FAMILY_NIBP」に相当する識別子を有するモジュールを識別する。モジュールは、生理学的データタイプに関連する血圧のセットを獲得および通信する。識別子「FAMILY_NIBP」は、FAMILY_NIBPモジュールに関連したMOMPメッセージ300のために、第1の分類として第1のサブフィールドに保存される一意の値をマッピングする。別のテキスト文字列識別子は、FAMILY_NIBPモジュール以外のモジュールを識別するのに使用する。
第2のサブフィールド314は、属の分類とも称される、第2の(中間の階級)分類を表す値を保存する。第2の分類は、第1の分類によって識別されるFAMILY_NIBPモジュールの1つ以上の属性のセットを識別することができる。いくつかの実施態様では、属性は、FAMILY_NIBPモジュールによって伝送および/または受信されるMOMPメッセージのタイプを含む。
一実施態様では、第2の分類は、テキスト文字列識別子「Gn_Request」によって表示されるMOMPメッセージのリクエストタイプを識別する。「Gn_Request」識別子は、第2のサブフィールドに保存される一意の値にマッピングされ、またMOMPメッセージがリクエストタイプのMOMPメッセージ300であると表示する(図3B参照)。
リクエストタイプのMOMPメッセージはまた、本明細書では属のタイプのMOMPメッセージとも称される。属のタイプのMOMPメッセージは通常、MOMPメッセージに関連した処理を特徴付けるが、MOMPメッセージのそれぞれのバイトを特別に処理するために、ソフトウェアに十分な情報を提供しない。一般に、3つの分類すべては、MOMPメッセージ300のそれぞれのバイトを処理するために、ソフトウェアに十分な情報を提供することが必要である。
第3のサブフィールド316は、種の分類とも称される、第3の分類(最も低い階級)を表す値を保存する。第3の分類は、第1の分類によって識別されるモジュール、および第2の分類によって識別されるMOMPメッセージの型の1つ以上の追加の属性のセットを識別することができる。
一実施態様では、第3の分類は、テキスト文字列識別子「GET_BP」によって表示されるリクエストMOMPメッセージの特定の血圧獲得タイプを識別する。「GET_BP」識別子は、第3のサブフィールドに保存される一意の値にマッピングされ、MOMPメッセージは、リクエストタイプのMOMPメッセージ300の特定の「GET_BP」タイプであると表示する。リクエストタイプのMOMPメッセージの特定の「GET_BP」タイプは、MOMPメッセージ300のそれぞれのバイトを特別に処理するために、ソフトウェアに十分な情報を提供する所定のバイト数列を有する。MOMPメッセージのGET_BPタイプはまた、本明細書ではMOMPメッセージの特定のタイプとも称される。
上記の(3つの)識別子、FAMILY_NIBP、Gn_Request、GET_BPはすべて、デバイスデータシートと称される、命令のセット内で定義される(図6A参照)。デバイスデータシート(DDS)は、ネットワーク構成要素で実行されるソフトウェアを使用して実装される、通信インターフェース210の命令従属部分の実行を導くソースコードを出力するソフトウェア生成器(図5A参照)への入力として採用される。
デバイスデータシート(DDS)は、特定のデバイスによって処理されるべき定義済みのデータに関連した定義済みのデータおよび動作を含むモジュールを定義する。通常、データに関連した動作は、定義済みのデータでの動作を実行するよう構成される属の、および特定のMOMPメッセージの形式で表現される。DDSは、WACP通信インターフェースを実装するソフトウェアの少なくとも一部分を構成するよう使用される。
例えば、GET_BPメッセージは、GET_BPメッセージを受信するネットワーク構成要素から、GET_BPメッセージを伝送するネットワーク構成要素への、血圧データの伝送を要求する。要求された血圧データは、GET_BPメッセージを受信するネットワーク構成要素によって、PUT_BPメッセージの伝送を介して、GET_BPメッセージを伝送するネットワーク構成要素へ伝送することができる。
図3Bは、リクエストタイプのMOMPメッセージを含め、ホストデバイスとVSMデバイスとの間のMOMPメッセージのエクスチェンジを示すブロック図である。図示するように、ホストデバイス110cは、VSMデバイス140nから血圧測定情報を受信するために、MOMPリクエスト通信322を伝送する。リクエスト通信322は、記号FAMILY_NIBP、Gn_RequestおよびGET_BPそれぞれによって表されるサブフィールド値を含む、メッセージ識別子フィールドを有するMOMPメッセージを含む。
第1の分類識別子FAMILY_NIBPは、測定済み血圧に関連するデータのセットを含むモジュールを識別する。第2の値Gn_Requestは、FAMILY_NIBPオブジェクトに関連して定義されるMOMPメッセージ300のリクエストタイプを識別する。第3の値GET_BPは、特定の構造、およびGn_Requestタイプのメッセージを介して、ホスト110cによって要求されるデータの表現を識別する。ホスト110cは、VSMデバイス140nが、特定の構造のインスタンスおよびデータの表現を含め、応答タイプのMOMP通信を、リクエスト通信322に応えてホスト110cに伝送することを要求している。
リクエスト通信322の受信に応えて、VSMデバイス140nは、特定の構造のインスタンス、およびGET_BP特定の(種の)分類に関連したデータの表現を含め、MOMP応答通信324を伝送する。応答通信324は、メッセージ識別子フィールドが、記号FAMILY_NIBP、Gn_ResponseおよびPUT_BPそれぞれによって表される分類(サブフィールド値)を含むMOMPメッセージを含む。
第1の値(FAMILY_NIBP)は、測定済み血圧に関連するデータの要求されたセットを含むモジュールを識別する。第2の値(Gn_Response)は、FAMILY_NIBPモジュールに関連して定義されるMOMPメッセージの応答タイプを識別する。第3の値(PUT_BP)は、特定の構造、およびこの(Gn_Response)タイプのMOMPメッセージ300を介して、VSMデバイス140nによって伝送されているデータの表現を識別する。
いくつかの状況では、VSMデバイス140nは、MOMP通信322のリクエストタイプの受信に応答するために、応答タイプのMOMPメッセージ通信324を伝送することができない。この状況では、VSMデバイス140nは、MOMP通信322のリクエストタイプに応えて、MOMP通信326のトラップタイプを代わりに伝送する。トラップ通信326は、トラップタイプ330のMOMPメッセージ300を含む。
トラップタイプのMOMPメッセージ330は、エラーオブジェクトを含む、属のMOMPメッセージ300と同様に構造される。他の属のMOMPメッセージ300と同様に、トラップタイプのMOMPメッセージは、テキスト文字列識別子「FmTRAP」、「GnError」および「SpError」それぞれによって表される第1、第2および第3の分類(サブフィールド値)を含む、メッセージ識別子フィールド302を有する。
第1の識別子(FmTRAP)は、ホストコンピュータ110Cから伝送される元の通信322に応答しているVSMデバイス140n内のモジュールを表示する。元の通信322は、VSMデバイス140nの(FmNIBP)モジュールに対応されたが、(FmNIBP)モジュールは、元の通信322に関連したアクションを実行できず、結果として、通信322に応答するために、VSMデバイス140nのFmTRAPモジュールに制御を転送した。
第2の分類識別子(GnError)は、(FmTRAP)モジュールに関連して定義されるメッセージのエラータイプを識別する。第3の分類識別子(SpError)は、生じたエラーのタイプを識別する。このタイプのエラーは、本明細書ではトラップMOMPメッセージの非確認タイプを意味する、「NAK」と称される。他の状況では、第3の値(SpNone)は、トラップMOMPメッセージの確認タイプを意味する、「ACK」を識別することができる。
トラップメッセージ330は、本明細書ではトラップオブジェクト340とも称されるエラーオブジェクト340を含む。エラーオブジェクト340は、MOMPメッセージ300のオブジェクトバッファフィールド308内に属し、またエラー識別データを含む。エラー識別データは、元の通信322の受信に応えて、VSMデバイス140nのアクションまたはアクションの試みから生じる1つ以上のエラーを説明する。
エラーオブジェクト340の構造は、複数のフィールドに分割される。フィールドは、CLSIDフィールド332とも称されるオブジェクト識別子フィールド332、オブジェクトサイズフィールド334、オブジェクトバージョンフィールド336、ビットフィールド338、オブジェクトペイロードフィールド342およびオブジェクトCRCフィールド344を含む。
オブジェクトペイロードフィールド342は、複数のフィールドにさらに分割される。フィールドは、メッセージサイズフィールド346、メッセージ識別子フィールド302、エラーオペコードフィールド348、原文のエラー説明フィールド356、拡張エラーサイズフィールド358および拡張エラー情報フィールド360を含む。
好ましくは、メッセージサイズフィールド346は、バイトの単位で表現する。メッセージ識別子フィールド302は、エラーオブジェクトが応答する、元の通信322内に含まれるMOMPメッセージ300を識別する。このように、メッセージ識別子フィールド302は、元の通信322内に含まれるリクエストタイプのMOMPメッセージ300に保存される識別子(FAMILY_NIBP、Gn_RequestおよびGET_BP)を含む。
エラーオペコードフィールド348は、元の通信322が伝送するモジュールによって提供される属のエラーコードを保存する。このように、エラーオペコードフィールド348は、FAMILY_NIBPモジュールによって提供される。原文のエラー説明フィールド356は、元の通信322が伝送するモジュールによってさらに供給されるテキストである。このように、原文のエラー説明フィールド356は、FAMILY_NIBPモジュールによって提供される。ホストコンピュータ110cは、後に通信する可能性があるネットワーク構成要素に関連したエラー定義の完全なリストを維持する必要はない。
拡張エラー情報フィールド360は、VSMデバイス140n自身によって提供され、またFAMILY_NIBPモジュール命令および/またはWACP通信インターフェースソフトウェアとも称される、WACP通信プロトコルのインターフェース(CPI)ソフトウェアから始まる属の情報であることとは対照的に、デバイス特有である。拡張エラーサイズフィールド358は、拡張されたエラー情報フィールド360のサイズを、好ましくはバイトの単位で表示する。
図3Cは、コマンドタイプのMOMPメッセージ300を含め、ホストデバイス110cおよびVSMデバイス140nとの間のMOMPメッセージのエクスチェンジを示すブロック図である。図示するように、ホストデバイス110cは、コマンド通信362またはコマンドメッセージ362とも称される、コマンドタイプのMOMPメッセージを含む、通信362をVSMデバイス140nに伝送する。
コマンドタイプの通信362は、特定のアクションが、コマンド通信362を受信するネットワーク構成要素によって実行するよう導く。コマンド通信362は、テキスト文字列識別子(FmNIBP),(GnCommand)および(START_NIBP)それぞれによって表されるサブフィールド値を含む、メッセージ識別子フィールドを有するコマンドタイプのMOMPメッセージ300を含む。
第1の分類識別子値FmNIBPは、測定済み血圧に関連するデータのセットを含むモジュールを識別する。第2の分類識別子値GnCommandは、FmNIBPモジュールに関連して定義されるMOMPメッセージの属のGnCommandタイプを識別する。GnCommandは、コマンドタイプのMOMPメッセージである。第3の値START_NIBPは、FmNIBPモジュールのGnCommand第2の分類内で定義されるMOMPメッセージの特定のコマンドタイプを識別する。
START_NIBPコマンド362は、FmNIBPモジュールに関連したGnCommandタイプのMOMPメッセージとして、ホスト110cによってVSMデバイス140nに伝送される。ホスト110cは、VSMデバイス140nがSTART_NIBPサブフィールドを介して、血圧測定循環の開始に着手するよう導かれる。
コマンド通信362に応えて、VSMデバイス140nは、テキスト文字列識別子「FmTRAP」、「GnError」および「SpNone」それぞれによって表される分類(サブフィールド値)を含む、メッセージ識別子フィールドを有するトラップタイプのMOMPメッセージを含む、MOMPトラップタイプの通信364を伝送する。この状況では、第3の分類識別子値SpNoneは、トラップメッセージの確認タイプを意味する「ACK」を識別する。確認は、START_NIBPコマンドの実行の正常終了、すなわち、受信するネットワーク構成要素による血圧測定循環の開始の正常着手を表示する。
別の状況では、コマンドが実行されない場合には、第3の値は、トラップメッセージの非確認タイプを意味する「NAK」を表示するSpErrorに相当する。非確認は、コマンドの実行の非正常終了、すなわち受信するネットワーク構成要素による血圧測定循環の開始の起動の非実行を表示する。
図3Dは、状況タイプのMOMPメッセージを含め、ホストデバイス110cとVSMデバイス140nとの間のMOMPメッセージのエクスチェンジを示すブロック図である。図示するように、VSMデバイス140nは、状況通信372または状況メッセージ382とも称される、状況タイプのMOMPメッセージ372を含む通信372を、ホストデバイス110cに伝送する。状況タイプの通信372は、通信372を受信するネットワーク構成要素(ホスト)110cに情報を提供する。
状況通信372は、例えば「FmNIBP」などの第1の分類テキスト文字列識別子、第2の分類テキスト文字列識別子「GnStatus」および例えば「REPORT_BP」などの第3の分類識別子によって表されるサブフィールド値を含むメッセージ識別子フィールドを有する静的タイプのMOMPメッセージ300を含む。
状況通信372は、(FmNIBP)、(GnStatus)および(REPORT_BP)それぞれとしての第1、第2および第3の分類識別子を表すサブフィールド値を含むメッセージ識別子フィールド302を有する状況タイプのMOMPメッセージ300を含む。「FmNIBP」識別子は、状況通信372を伝送しているモジュールを表示する。GnStatusに相当する第2の分類識別子は、メッセージが状況タイプのMOMPメッセージであることを表示する。
第1の分類識別子FmNIBPはまた、測定済み血圧に関連するデータのセットを含むモジュールを表示する。第2の分類識別子GnStatusは、FmNIBPモジュールに関連して定義されるMOMPメッセージのGnStatusタイプを識別する。GnStatusは、状況タイプのMOMPメッセージである。第3の値REPORT_BPは、GnStatus分類内に含まれる状況情報の特定のタイプを識別する。
通常、状況メッセージ372は、長い期間をかけて周期的に伝送される。例えば、WACP通信ソフトウェアモジュールは、状況メッセージ372を特定のあて先に10分毎に伝送するよう構成することができる。ホストコンピュータ110Cは、状況通信372の確認または非確認を表示するトラップ通信374を伝送することによって応答する(図3Bを参照)。
関連した状況タイプのMOMPメッセージを含む、すべてのモジュールが定義されるわけではない。結果として、状況タイプのMOMPメッセージは、特定のモジュールと関連していても、または関連していなくてもよい。特定の(種の)識別子によって表示される、状況メッセージの多くの異なる定義済みタイプが存在することができる。
図3Eは、イベントタイプのMOMPメッセージを含め、ホストデバイス110CとVSMデバイス140nとの間のMOMPメッセージのエクスチェンジを示すブロック図である。図示するように、VSMデバイス140nは、イベント通信382またはイベントメッセージ382とも称される、イベントタイプのMOMPメッセージ382を含む通信382を、ホストデバイス110cに伝送する。
イベントタイプの通信382は、通信382を受信するネットワーク構成要素(ホスト)110Cに情報を提供する。イベント通信382は、例えば「FmPrinter」などの第1の分類テキスト文字列識別子、第2の分類テキスト文字列識別子「GnEvent」および例えば「HW_MOD_CONNECT」などの第3の分類テキスト文字列識別子によって表されるサブフィールド値を含む、メッセージ識別子フィールドを有するイベントタイプのMOMPメッセージを含む。
第1の分類識別子FmPrinterは、プリンターとインターフェースをとる特定のモジュールを識別する。第2の分類識別子GnEventは、FmPrinterモジュールに関連して定義されるMOMPメッセージ分類のGnEventタイプを識別する。GnEventは、イベントタイプのMOMPメッセージである。第3の分類識別子値HW_MOD_CONNECTは、GnEvent分類内に含まれるイベント情報の特定のタイプを識別する。例えば、HW_MOD_CONNECTイベントは、FmPrinterモジュールに関連したプリンターデバイスに接続されているハードウェアモジュールの発生を識別する。
関連したイベントタイプのMOMPメッセージを含む、すべてのモジュールが定義されるわけではない。結果として、イベントタイプのMOMPメッセージは、特定のモジュールと関連していても、または関連していなくてもよい。特定の(種の)MOMPメッセージ識別子によって表示される、イベントメッセージの多くの異なる定義済みタイプが存在することができる。
通常、イベントメッセージ382は、イベントの発生に応えて伝送される。例えば、WACP通信ソフトウェアモジュールは、ハードウェアが、FmPrinterモジュールに関連したプリンターデバイスと接続されている場合に、HW_MOD_CONNECT記号によって表されるイベントなどのイベントが発生すると、イベントメッセージ382を伝送するよう構成することができる。ホストコンピュータ110Cは、状況通信372の確認または非確認を表示するトラップ通信384を伝送することによって応答する(図3Bを参照)。
図3Fは、ネットワーク構成要素110c、140n間で伝送されるキープアライブ通信392、394を示すブロック図である。キープアライブ通信392、394は、受信するネットワーク構成要素に、送信するネットワーク構成要素110c、140nがネットワーク構成要素110c、140nとの間の特定の接続上の通信に対して動作中(活動中)であることを表示する。キープアライブ通信を受信することが予期されている受信するネットワーク構成要素が、所定の期間にわたりキープアライブ通信を受信しない場合、その結果、送信するネットワーク構成要素110c、140nは通信するのにもはや利用できないことを推論することができる。
キープアライブ通信392、304は、キープアライブメッセージ390とも称される、キープアライブタイプのMOMPメッセージ390を含む。通常のMOMPメッセージ300と同様に、キープアライブメッセージ390は、識別子フィールド302、メッセージサイズフィールド304、メッセージ暗号化フィールド306および巡回冗長チェック(CRC)フィールド310を含む。普通のMOMPメッセージ300と異なり、キープアライブメッセージ390は、オブジェクトバッファフィールド308を除外する。
キープアライブメッセージ390は、第1の分類テキスト文字列識別子「FmCONNECTION」;「GnREQUEST」、「GnRESPONSE」、「GnCOMMAND」、「GnCONFIG」のいずれかに相当する第2の分類テキスト文字列識別子;および「SpKEEPALIVE」、「SpSHUTDOWN」、「SpKEEPALIVEON」または「SpKEEPALIVEOFF」のいずれかに相当する第3の分類テキスト文字列識別子によって表されるサブフィールド値を含むメッセージ識別子フィールド302を有する。
第1の分類識別子FmCONNECTIONは、ネットワーク構成要素間の接続に関連した特定のモジュールを識別する。第2の分類識別子は、メッセージの関連したMOMPタイプを識別する。第3の分類識別子値は、キープアライブメッセージ390の特定の機能を表示する。
第3の分類が、「SpKEEPALIVE」に相当する場合、それは、受信するネットワーク構成要素140n、110cに対して、送信するネットワーク構成要素110c、140nは、ネットワーク構成要素110c、140n間の特定の接続上の通信に対して動作中(活動中)であることを表示する。第3の分類識別子が「SpSHUTDOWN」に相当する場合、それは、受信するネットワーク構成要素140n、110cに対して、送信するネットワーク構成要素110c、140nがネットワーク構成要素110c、140n間の接続のシャットダウンを開始していることを表示する。
第3の分類が「SpKEEPALIVEON」に相当する場合、それは、受信するネットワーク構成要素140n、110cに対して、送信するネットワーク構成要素110c、140nが、受信するネットワーク構成要素が周期的にキープアライブメッセージ390に伝送することをリクエストしていることを表示する。第3の分類が「SpKEEPALIVEOFF」に相当する場合、それは、受信するネットワーク構成要素140n、110cに対して、送信するネットワーク構成要素110c、140nが、受信するネットワーク構成要素が、キープアライブメッセージ390を周期的に伝送しないことをリクエストしていることを表示する。
図3Gは、データオブジェクトのメッセージ396を構成する情報の構造を示すブロック図である。データオブジェクトのメッセージ396は、MOMPメッセージ300と同じように、インターチェンジエンベロープ220、240のデータバッファフィールド234内で伝達される。データオブジェクトのメッセージ396は、データバッファフィールド234内のMOMPメッセージ300の代用をする。データオブジェクトのメッセージ396を伝達するのにMOMPメッセージは使用されない。
データオブジェクト396の構造は、エラーオブジェクト340を説明したように、複数のフィールドに分割される(図3B参照)。いくつかの実施態様では、データオブジェクトは、図3Bに示したように、CLSIDフィールド332とも称される、オブジェクト識別子フィールド332、オブジェクトサイズフィールド334、オブジェクトバージョンフィールド336、ビットフィールド338、オブジェクトペイロードフィールド342、およびオブジェクトCRCフィールド344を含む。この形式では、データオブジェクトは、連載されるデータオブジェクトと称される。
MOMPメッセージ300内に同封されていないデータオブジェクト396を伝送することは、伝送ごとに必要なバイト数を減少し、データを伝送するのに必要なバイトに対してより効率的となる。いくつかの実施態様では、データオブジェクトのメッセージ396は、ネットワーク構成要素間のデータのストリーミングのために使用することができる。
図4Aは、本発明の実施態様に従って、WACP CPIソフトウェアの構造配列を示すブロック図である。WACP CPIソフトウェア414a、414bは、上位プロトコルスタック210D〜210Fを実装するよう構成される。オペレーションシステムソフトウェア412は、下位プロトコルスタック210A〜210Cを実装するよう構成される。
WACP CPIは、コア部分および非コア(拡張可能)部分に分割される。WACP CPIのコア部分は、MOMPメッセージのリクエスト、応答、コマンド、状況およびエラータイプを含む、接続の確立および終了、暗号化および属のメッセージの型を含む機能性を特定する属の構造として機能する。WACP CPIの非コア(拡張可能)部分より、関連したデータおよびメッセージを含むモジュールを追加することができる。モジュールは、WACP CPIのコア部分の機能性を拡張する。
いくつかの実施態様では、命令は、モジュールを定義するよう、モジュール内に含まれるデータを定義するよう、定義されたモジュールに関連したMOMPメッセージのリクエスト、応答、コマンド、状況およびエラータイプの特定の構造を定義するよう採用される。WACP CPIの非コア部分により、コア部分の機能性は、特定のアプリケーションに対応するよう補足およびカスタマイズすることができる。
したがって、WACP CPIを実装するよう構成されるソフトウェアは、コア部分414aおよび非コア(拡張可能)部分414bに分割される。WACP CPIソフトウェアのコア部分414aは、どのモジュールが特定のWACP CPIソフトウェアの構成内で定義されている、または定義されていないにかかわらず、WACP CPIの機能を実装するよう構成され、またMOMPメッセージのリクエスト、応答、コマンド、状況およびエラータイプを含む、接続の確立および終了、暗号化および属のメッセージの型を含む機能性を実装する。
WACP CPIソフトウェアの非コア部分414bは、モジュールの形式で、非コアの補足的な、およびカスタマイズ可能な機能性を実装する。いくつかの実施態様では、モジュールは、モジュール関連したデータおよびメッセージに関する動作を含む、モジュールに関連した機能性を定義する命令を介して追加することができる。WACP CPIソフトウェアの非コア部分は、WACP CPIのコア部分およびWACP CPI全体としての機能性を補足する。
WACP CPIソフトウェアのコア部分の414aは、オペレーティングシステム412とインターフェースをとるよう構成される。WACP CPIソフトウェアのコアおよび非コア部分のどちらも、アプリケーションソフトウェア416とインターフェースをとることができる。
WACP CPIソフトウェアの非コア(補足の)特長により、WACP CPI自身の実装のカスタマイズ化は、1つ以上のネットワーク構成要素の特定のセットの動作によって必要とされる特定の通信要件に対応することができる。例えば、WACP CPI設計の部分は、ネットワーク構成要素の特定のセットによって必要とされる生理学的データのタイプなどの、データの特定の型および構造の通信に対応するよう構成することができる。
さらに、WACP CPIの非コア(補足の)特長により、WACP CPIソフトウェアのそれぞれの実装(インスタンス)は、WACP CPIの全体の構成およびバージョンの小さいまたは大きいサブセットを実行することができる。したがって、VSMデバイス140nなどの、それぞれのネットワーク構成要素は、WACP通信プロトコルのインターフェース(CPI)の全体のバージョンの小さいサブセットを実装するよう構成することができ、それに応じて、WACP CPIの全体のバージョンのサブセットを実装するよう構成される、WACPソフトウェアの応答する小さいサブセットを実行することができる。
その結果として、個々のネットワーク構成要素は、普遍的に定義されたデバイス非依存性データを獲得、通信および処理するよう構成されるネットワーク内の、かかるデータ(情報)の膨大な量および多様性の、小さい部分であろうと、大きい部分であろうと、部分を通信するよう一意的および能率的に構成することができる。
図4Bは、本発明に従って、WACPメッセージの着信するリクエストタイプを受信、処理および転送する、WACP CPIソフトウェア414の実施態様により実行するパスを示すブロック図である。例となる目的のために、VSMデバイス140内に属するものとしてWACPソフトウェアを示す。WACPソフトウェアはまた、例えば、WACPが使用可能なネットワーク構成要素と相互運用するよう構成される、ホストコンピュータ110cおよび/または別のタイプのデバイスを含む、WACP通信プロトコルのインターフェース(CPI)を採用するよう構成されるどんなネットワーク構成要素にも属することができる。
図示するように、WACP CPIソフトウェア414のコア部分414aは、複数のソフトウェアオブジェクト424〜426およびソフトウェア414の非コア部分414b〜414c内に含まれ、複数のソフトウェアオブジェクト422、428〜432内に含まれる。この実施態様では、ソフトウェアオブジェクトは、C++コードおよび/またはソースコードとも称される、C++プログラミング言語のソースコードから開発される。それぞれのソフトウェアオブジェクトは、指示およびデータをカプセル化する。ソフトウェアオブジェクトの指示は、ソフトウェアオブジェクトの内部に属している機能である、そのメソッド内に属する。他の実施態様では、ソフトウェアオブジェクトは、例えば、C、C#(Cシャープ)のソースコードまたはJava(登録商標)プログラミング言語などの、ソースコードの他のタイプを開発することができる。
WACPメッセージ390は、他のネットワーク構成要素からVSMデバイス140nへ伝送され、またオペレーティングシステム412によって受信され、バッファリングする。WACPメッセージ390は、第1、第2および第3のメッセージ分類を有し、またインターチェンジエンベロープ220内に同封される、MOMPリクエストタイプのメッセージである。メッセージ390が、WACP CPIソフトウェア414によって実行される各種のインテグリティチェックを通過するならば、WACP CPIソフトウェア414は、メッセージ390を転送、処理およびアプリケーションソフトウェア416内の妥当な位置に配信するよう構成される。
メッセージ390の処理および配信は、メッセージ390内に保存される第1、第2および第3のメッセージ分類を含む、メッセージ390の各種の属性に従って実行されるであろう。アプリケーションソフトウェア416内の特定の位置にメッセージ390が配信されると、アプリケーションソフトウェア416は、メッセージ390の配信に応答するかどうか、またその方法を決定する。
WACPメッセージ390を受信、処理および転送するための実行438のパスを示す。実行438のパスは、オペレーティングシステム412を介して、WACP CPIソフトウェア414を経て、アプリケーションソフトウェア416まで進む。WACP CPIソフトウェア414は、集合的にメッセージを受信、処理およびアプリケーションソフトウェア416に転送するソフトウェアオブジェクト422〜432のセット内に含まれる。アプリケーションソフトウェア416の部分はまた、ソフトウェアオブジェクト432〜434のセット内に含まれる。
この実施態様では、オペレーティングシステム412は、Windows(登録商標)XPなどのMicrosoft Windows(登録商標)32ビットオペレーティングシステムとして実装される。デバイスおよびネットワークドライバーを含むオペレーティングシステム412および関連したそれのソフトウェアは、WACP CPIの下位プロトコルスタック210A〜210Cを実装するよう構成される(図2B参照)。WACP CPIソフトウェア414および関連したそれのソフトウェアオブジェクト422〜236は、上位プロトコルスタック210D〜210Gを実装する。
WACP CPIソフトウェア414の上位プロトコルスタック210D〜210Gは、以下のメソッドで、オペレーティングシステム412の下位プロトコルスタック210A〜210Cから通信を受信する。CEthCommSvrオブジェクト420のRecvMsg()メソッドは、オペレーティングシステム412の内部でバッファリングされるメッセージ390メッセージを受信およびキューに入れるために、ws2_32.dllダイナミックリンクライブラリ(DLL)の内部に属するrecv()機能を呼び出す。ws2_32.dllは、例えば、Windows(登録商標) XP、Windows(登録商標) 2000、Windows(登録商標) NTおよびWindows(登録商標) Server2003を含む、Windows(登録商標)オペレーティングシステムと相互運用するMicrosoftによって提供される。
CEthCommSvrオブジェクト420のRecvMsg()メソッドは、下位プロトコルスタック210A〜210Cから受信される通信データの可用性を表示するセマフォを設定する。CWACPPresオブジェクト422のDataThread()メソッドは、CEthCommSvrオブジェクトのRecvMsg()メソッドによって、セマフォの設定を待つ、メッセージ入力スレッドと称される、スレッドに従って実行する。
セマフォが設定されるのに応えて、CWACPPresオブジェクト422のDataThread()メソッドを実行しているメッセージ入力スレッドは、438a、CFmRouterオブジェクト424のRecvMsg()メソッドを呼び出すCWACPPresオブジェクト422のProcessMsg()メソッド(図示せず)を阻害せず、呼び出す。メソッド(機能)呼び出し438aにより、メッセージ入力スレッドの実行の状態は、バッファリングされる着信WACPメッセージ390を処理および転送するために、CWACPPresオブジェクト422を離れ、CFmRouterオブジェクト424に入り、さらに実行438のパスに沿って進む。
RecvMsg()メソッドは、メッセージ390から第1の分類識別子を抽出し、またメッセージ390の第1の(科)分類に関連したCFmNIBPComオブジェクト430のインスタンスのアドレスであるオブジェクトポインタにそれをマッピングする。次に、RecvMsg()メソッドは、CFmNIBPComオブジェクト430のインスタンス内に属する438ba、RecvMsgHandler()メソッドを呼び出す。
次に、RecvMsgHandler()メソッドは、メッセージ390から第2の(属)分類識別子を抽出し、また事前登録(pRequestHandler)機能ポインタ(図示せず)にそれをマッピングし、438c、(pRequestHandler)機能オブジェクトポインタを呼び出す。機能ポインタは、CWACPAppオブジェクト426のインスタンス内に属するRxRequestWrapper()メソッドのアドレスである。RxRequestWrapper()メソッドは、リクエストタイプのMOMPメッセージを処理するよう構成される。
仮定で、メッセージ390が異なるタイプのMOMPメッセージであったとすると、例えば、メッセージ390が、その第2/属の分類によって表示される応答またはコマンドタイプのMOMPメッセージであった場合、機能ポインタは、前記タイプのメッセージ(第2の分類)および前記タイプのモジュール(第1の/科分類)を処理するよう構成されるであろう、theRxRequestWrapper()メソッド以外のメソッドのアドレスを保存するであろう。
次に、CWACPAppオブジェクト426のRxRequestWrapper()メソッドは、メッセージの発信者が、前の認証チェックを無事に通ったかを検証し、そうであれば、CWACPStubオブジェクトのインスタンス内に属する438d、RecvRequest()メソッドを呼び出す。
次に、CWACPStubオブジェクト428のインスタンス内に属するRecvRequest()メソッドは、第1の分類識別子(FmNIBP)の値を交換し、またCFmNIBPStubオブジェクト432のインスタンスの438e、RecvRequest()メソッドを呼び出す。テキスト「NIBP」は、拡張されたモジュール(FmNIBP)、WACP CPIの名前/識別子に対して一意であり、また第1の分類のメッセージ390に関連していることに留意されたい。
CWACPStubオブジェクト432のインスタンスは、WACP CPIソフトウェア414を介したメッセージ390の受信に応えて、アプリケーションソフトウェア416によって実行されるべきアクションを特定するために、アプリケーションソースコード436を任意に保存するのに利用可能である。このように、CWACPStubオブジェクト432は、WACP CPIソフトウェア414およびアプリケーションソフトウェア416の両方を保存するよう構成される。
実行438のパスを再び見ると、オブジェクトCFmRouter424およびCWACPApp426は、静的コアWACPソフトウェアオブジェクトであり、これらのオブジェクトのそれぞれを定義しているソースコードは、WACP CPIソフトウェアの修正可能な部分として構成されないことを意味する。したがって、これらのオブジェクト424〜426は、WACP CPIの非コア部分およびソフトウェア414内に属さない。
説明した実施態様では、WACPソフトウェアオブジェクトCWACPPres422、CWACPApp426およびCWACPStub428は、動的コアオブジェクトであり、これらのオブジェクトの定義内に含まれる少なくともいくつかのソースコードが、WACP CPIソフトウェアの修正可能な部分となるよう構成されることを意味する。したがって、これらのオブジェクト422、426、428は、WACP CPIおよびそのソフトウェア414の動的(非静的)コア部分に属する。他の実施態様では、修正可能なソースコードは、オブジェクトの異なるセットに割り当てることができる。
これらのオブジェクトの定義内に含まれるすべてのソースコードの存在そのものが、WACP CPIソフトウェア414に対する追加の非コア(FmNIBP)モジュールの構成に応える(414c)であるので、オブジェクトCFmNIBPCom430およびCFmNIBPStub432は、非コアWACPソフトウェアオブジェクトである。仮説で、FmNIBPモジュールが、WACP CPIソフトウェア414に追加されるよう構成されるものとは違う場合、ソフトウェアオブジェクト430〜432および他のオブジェクト(図示せず)は、WACP CPIソフトウェア414内に存在することはないであろう。
コアWACP CPIオブジェクトは、どんな予測可能なWACP CPI構成内にも存在するよう構成される。拡張されたWACP CPIオブジェクトは、WACP CPIに対する拡張に応えて存在する。したがって、CWACPPres422、CFmRouter424、CWACPApp426およびCWACPStub428オブジェクトは、コアオブジェクトであり、またCFmNIBPCom430およびCFmNIBPStub432オブジェクトは、WACP CPIソフトウェア414内の非コア(拡張された)オブジェクトである。
コアオブジェクト422〜428について、それらに含まれるソースコードに対して、CFmRouter424およびCWACPApp426オブジェクトは静的であり、またCWACPPres422およびCWACPStub428オブジェクトは動的である。非コアオブジェクト、CFmNIBPCom430およびCFmNIBPStub432のすべては、それらに含まれるソースコードに対して動的である。
サブ文字列「Stub」を含む機能の名前は、機能がスタブ機能であることを表示していることに留意されたい。スタブ機能は、アプリケーションプログラマーが、アプリケーションソフトウェア416を有するCPIソフトウェア414に接続するために、アプリケーション特定のソースコードに自由に追加できるソースコードの位置である。いくつかの実施態様では、それぞれのモジュールタイプのために定義されたそれぞれのメッセージの型のためのスタブ機能を割り当てることができる。いくつかの実施態様では、スタブ機能はまた、呼び戻し機能として実装される。呼び戻し機能は、メッセージの受信などの、あらかじめ特定されたイベントに応えて、CPIソフトウェアから呼び出されることを目的とする。
図4Cは、図4AのリクエストタイプのWACPメッセージの受信に応えて、応答タイプのWACPメッセージを伝送するWACP CPIソフトウェアの実施態様による実行のパスを示すブロック図である。CFmNIBPStubオブジェクト432のRecvRequest()メソッドは、WACPメッセージ390の受信に応えて、アクションを実行するよう構成されるアプリケーションソフトウェア436を含む。
図4BのWACPメッセージ390の受信に応えて、CFmNIBPStubオブジェクト432内に属するアプリケーションソフトウェア436は、CWACPAppオブジェクト426のインスタンス内に属しているSendMsg()メソッドにマッピングするSEND_RESPONSE()機能を呼び出す。CWACPAppオブジェクト426のSendMsg()メソッドは、CWACPPresオブジェクト422のインスタンス内に属しているSendMsg()メソッドを呼び出す。CWACPPresオブジェクト422のSendMsg()メソッドは、CFmRouterオブジェクト424内に属しているSendMsg()メソッドを呼び出す。CfmRouterオブジェクト424のSendMsg()メソッドは、第1の(科)分類識別子を機能ポインタにマッピングし、また機能ポインタを呼び出す。機能ポインタは、CFmNIBPComオブジェクト430のインスタンスに属しているSendMsgHandler()メソッドのアドレスを保存する。SendMsgHandler()メソッドのインスタンスは、伝送されるよう応答タイプのMOMPメッセージを処理するよう構成される。
次に、SendMsgHandler()メソッドは、第2の(属)分類識別子の値を切り、またCFmNIBPComオブジェクト430の同じインスタンス内に同様に属しているTxMsg()メソッドを呼び出す。TxMsg()は、CInterchangeオブジェクト440のインスタンス内に属しているSendPacketWrapper()メソッドのアドレスを保存する機能ポインタを呼び出す。
次に、SendPacketWrapper()メソッド440は、セマフォの名前をアプリケーション名前と比較し、その後、CInterchangeオブジェクト440内に同様に属しているSendPacket()メソッドを呼び出す。SendPacket()メソッドは、応答タイプのMOMPメッセージを連載し、またCEthCommSvrオブジェクト420のインスタンスの内部に属しているSendMsg()メソッドを呼び出す。
次に、CEthCommSvrオブジェクト420のSendMsg()メソッドは、下位プロトコル層210A〜210Cによる伝送のためのメッセージをキューに入れるために、ws2_32.dllダイナミックリンクライブラリ(DLL)の内部に属している送信()機能を呼び出す。ws2_32.dllは、例えば、Windows(登録商標)XP、Windows(登録商標)2000、Windows(登録商標)NTおよびWindows(登録商標)Server2003を含むWindows(登録商標)オペレーティングシステムと相互運用するMicrosoftによって提供される。次に、オペレーティングシステム412は、あて先ネットワーク構成要素にメッセージを伝送するために、下位プロトコルスタック210A〜210Cを用いる。
WACP CPIは、コアおよび拡張可能な部分を含むWACP CPI仕様の点から説明可能である。WACP CPIは、それぞれの各種のタイプのネットワーク構成要素内に属することが要求される拡張された(特定の)機能性に対応するために、WACP CPI仕様のコア部分によって説明されるものを越えて適応性があり、拡張可能となるよう完全に固定および設計されない。拡張された機能性は、それぞれの各種のタイプのネットワーク構成要素による各種のタイプのデータ、コマンドおよび他の情報の通信のために採用することができる。拡張された機能性は、1つ以上のネットワーク構成要素の特定のグループに限定およびカスタマイズされるよう構成することができる。
拡張された機能性は、1つ以上の(増設する)モジュールの形式でWACP CPIに加えられる。それぞれのモジュールは、第1の(科)分類識別子によって識別され、また第1の分類名前のモジュールに関連した第2の(属)分類識別子および第3の(種の)分類識別子によって表示されるものを含む、他の属性によってさらに特徴付けられる。
それぞれのモジュールは、それぞれの個別のモジュールに関連したデータ、手順およびメッセージを含む情報を特定するソースコードから定義される。メッセージは、それぞれの個別のモジュールと他のネットワーク構成要素との間の各種のタイプの情報を通信するよう採用される。手順は、情報に関する動作を実行するよう、またモジュールと他のネットワーク構成要素との間の情報を通信するよう採用される。
いくつかの実施態様では、定義されたデータは、構成カテゴリーおよびデータカテゴリーに分類される。データカテゴリーは、ネットワーク構成要素が、医療患者などの他のソースから獲得するデータを含む。構成カテゴリーは、他のソースからデータを獲得する目的で、特定のネットワーク構成要素の動作の構成を特定するデータを含む。
図5Aは、命令510のセットに応えて、命令510のセットを入力、およびソースコード540〜560を出力するよう構成されるソフトウェア生成プログラム520を含むシステム500を示す。いくつかの実施態様では、ソフトウェア生成プログラム520は、アプリケーション生成器520またはAppGen520と称される。
典型的な使用のシナリオでは、命令は、WACP CPIのコアの機能性、および(WACP)通信ソフトウェアモジュール414とも称される、WACP CPIを実装するソフトウェア414に対する、拡張可能な機能性とも称される、1つ以上のモジュールの機能性の追加を特定する。拡張可能な機能性は、WACP CPI仕様の拡張可能な部分を表す命令510を介して説明される。この実例の使用のシナリオでは、命令510は、「FmNIBP」の名前を割り当てられる1つのモジュールの追加を特定する。
WACP CPIのコアの機能性は、静的(非修正)コアソースコードファイル530および動的(修正)コアソースコードファイル540を含むソースコードファイル550のコアのセットとして実装される。WACP CPIのコアの機能性に追加されるそれぞれのモジュールは、ソースコードファイル550のコアのセットのサブセット540に対する修正として実装され、また新しく作成されたソースコードファイル560のセット内に保存されたソフトウェアとして実装される。新しく作成されたソースコードファイル560は、コアのセット550の静的ソースコードファイル530およびコアのセット550の修正されたソースコードファイル540と結合される(コンパイルおよびリンクされる)。ソースコードファイル560は、適切なソフトウェア開発ツールを使用して、ソースコードファイル560をコンパイルまたは解釈し、そのコンパイルまたは解釈されたバイナリをソースコードファイルのコアのセット550のコンパイルまたは解釈されたバイナリとリンクすることによって、ソースコードファイルのコアのセットと結合される。
1つの使用のシナリオでは、ソースコードファイル550、560は、リンク可能なオブジェクト(バイナリ)ファイルにコンパイルされ、また全体としてWACP CPIソフトウェア414の残りの部分を構成しているオブジェクトファイルにリンクされる。WACP CPIソフトウェア414a、414bのすべてのオブジェクトファイルのリンケージ(組み合わせ)は、通信ソフトウェアモジュール414とも称される。
この使用のシナリオでは、C++コンパイラなどのコンパイラプログラムおよびリンカープログラムは、ライブラリの形式で通信ソフトウェアモジュール414を生成するよう採用される。ライブラリは、静的または動的にリンクしたライブラリであってもよい。ライブラリ414は、ソースコードからコンパイルされるオブジェクトファイルとして具象化される他のアプリケーションソフトウェア416とリンクされる。ソースコードファイル540の修正部分およびファイル560のコンテンツは、通信ソフトウェアモジュール414bの拡張可能な部分を表すソースコードを具象化する。
他の使用のシナリオでは、解釈ライブラリの形式で通信ソフトウェアモジュール414を実行するために、MicrosoftVisualC++解釈プログラムおよびデバッグプログラムなどの解釈プログラムが採用される。ライブラリ414は、解釈プログラムによって、アプリケーションソースコードから解釈される他のアプリケーションソフトウェア416にリンクされる。
示している、実例の使用のシナリオについては、命令510は、名前「FmNIBP」によって識別される1つのモジュールの追加を特定する。サブ文字列「Fm」は、モジュール(科)識別子を表示し、またサブ文字列「NIBP」は、特定のモジュール(科)の原文の名前を識別する。ソースコードファイル560は、NIBPモジュールを定義している命令を処理(入力および構文解析を含む)するソフトウェア生成プログラム応えて作成される。NIBPモジュールの命令を処理するソフトウェア生成プログラム520がなければ、ソースコードファイル560は、ソフトウェア生成プログラム520によって作成されることはなく、またWACP CPIソフトウェア414内に存在することもない。ソースコードファイル540は、NIBPモジュールの処理および含有の有無にかかわらずWACP CPIソースコード414内に存在するであろうファイルである。ソースコードファイル540の部分は、ソフトウェア生成プログラム520によるNIBPモジュール命令の処理、およびWACP CPIソフトウェア414内のNIBPモジュールソフトウェア414bの結果として生じる含有に応えて、何らかの方法でそれぞれ修正される。
この使用のシナリオについては、FmNIBPモジュールは、CFmNIBPcom.h562a、CFmNIBPcom.cpp562b、CFmNIBPStub.h564a、CFmNIBPStub.cpp564b、CNIBPCStd.h566a、CNIBPCStd.cpp566b、CNIBPDStd.h568a、およびCNIBPDStd.cpp568bと名前の付いたソースコードファイルの作成をもたらす。前述のソースコードファイル562a〜568bのファイル名はそれぞれ、テキスト「NIBP」を含むことに留意されたい。
さらに、この使用のシナリオについては、FmNIBPモジュールは、CWACPApp.h542a、CWACPApp.cpp542b、CWACPPres.h544a、CWACPPres.cpp544b、CWACPStub.h546aおよびCWACPStub.h546bと名前の付いた、前から存在するソースコードファイルに対する、ソースコードの追加を含めた修正をもたらす。ソースコードファイル550のコアのセットの、前から存在する他のソースコードファイル530は、FmNIBP命令の処理、およびFmNIBPモジュールに関連したソフトウェア414bのWACP CPIソフトウェア414への追加の後も依然として修正されない。ソースコードファイル530のコアのセットのためのファイル名は、テキスト「NIBP」を含まないことに留意されたい。
図5Bは、複数の相互運用するネットワーク構成要素110C、140n、160にインストールされるWACP CPIソフトウェア414の異なる構成を示すブロック図である。ホストコンピュータ110Cは、モジュール580a〜580nを含むよう構成されるWACP CPIソフトウェア414を含む。VSMデバイス140は、2つのWACP CPIモジュール580a、580cを含むよう構成されるWACP CPIソフトウェア414を含み、またWiFiゲートウェイ170を介したWiFi802.11通信チャネルを介してホスト110Cと通信する。他のデバイス160は、2つのWACPCIモジュール580b、580dを含むよう構成されるWACP CPIソフトウェア414を含み、またUSB通信チャネル148を介してホスト110Cと通信する。
VSMデバイス140nおよび他のデバイス160は両方とも、異なるタイプおよび構造の生理学的データ(情報)を獲得、処理および共有のホストコンピュータ110Cと通信するにもかかわらず、同じコアWACP CPIソフトウェア414を採用することに留意されたい。ホストコンピュータは、VSM140nおよび他のデバイス160の両方と相互運用するよう構成される。
インストールされたWACP CPIソフトウェア414の3つの構成470a〜470cのうちの2つ以上に共通しているモジュールは、命令の同じグローバルセットから生成される(図5Dを参照)。通信プロトコルのインターフェースの拡張可能な部分は、それぞれのネットワーク構成要素110C、140n、160が、カスタマイズされる構成470a〜470cによりインストールされ、また定義済みの比較的大きいデータセットの少なくとも1部に対応する実際のデータの、一意で任意的に小さいサブセットを通信することができるスコープで、カスタマイズされるよう構成される。
モジュールが2つ以上の構成470a〜470cに共通している共通モジュールの状況は、2つ以上の構成間の補完的な重なりの状況を構成する。第1の構成(命令の1つ以上のモジュールの第1のセットから構成される)は第1のモジュールを含み、第2の構成(命令の1つ以上のモジュールの第2のセットから構成される)は第2のモジュールを含み、また第1のモジュールはメッセージの型のセットを伝送するよう構成され、前記第2のモジュールはメッセージの型の前記セットを受信するよう構成される他の状況は、補完的な重なりの他の実例である。
図5Dは、異なる構成に構築されているグローバルセットの命令680の部分を示す。ネットワーク構成要素の全体のシステムのグローバルセットの命令は、モジュール60aから680zまでの命令を含む。示すように、モジュール680bおよび680dの命令は、ソフトウェア生成プログラム520に入力され、またソフトウェアモジュール580bおよび580dを含むソフトウェアとして出力される。モジュール680aおよび680cの命令は、ソフトウェア生成プログラム520に入力され、またソフトウェアモジュール580aおよび580cを含むソフトウェアとして出力される。モジュール680aから680nまでの命令は、ソフトウェア生成プログラム520に入力され、またソフトウェアモジュール680aから680nまでを含むソフトウェアとして出力される。
グローバルデータセット680または命令のデータディクショナリ680と称される、定義済みの比較的大きいデータセットは、すべての通信ネットワーク構成要素を含む、全体のシステムのために定義されたすべてのモジュールのための命令を含む、スーパーセットの命令である。通常、データディクショナリは、相互運用するネットワーク構成要素の全体のシステムを支援する定義済みデータモデルに合致する。
データディクショナリ680の部分は、ソフトウェア生成プログラム520に入力され、お互い相互運用するよう構成されるカスタム構成470a〜470を生成する。いくつかの実施態様では、データディクショナリ680は、生理学的データの説明を含む。データディクショナリ680の部分は、データ記述シートまたはデータ説明ファイルと称される。
いくつかの実施態様では、システムのデータは、データオブジェクトとして定義および構造される。データオブジェクトは、システムのソフトウェアによる特別なやり方で処理することができるデータをカプセル化するオブジェクトである。データオブジェクトは、C++の部分またはJava(登録商標)クラスオブジェクトなどのソフトウェアオブジェクトのデータだけの部分として実装される。ソフトウェアオブジェクトは、指示およびデータの両方をカプセル化するが、データオブジェクトは、データだけをカプセル化する。
ソフトウェアオブジェクトは通常、クラス階層内で定義されるクラスとして表す。いくつかの実施態様では、データオブジェクトは、クラス階層内のデータだけのクラスによって表される。データオブジェクトは、モジュールを実装し、第1のネットワーク構成要素から伝送されるとき連載され、また別の第2のネットワーク構成要素によって受信されるとき非連載されるソフトウェアの部分として属する。
実施態様のこのタイプの設計により、データオブジェクトは、ソフトウェアオブジェクトの属性を有することができる。例えば、データオブジェクトは、クラス階層の状況で定義することができ、また他のオブジェクトもまた定義してもよい各種クラスの属性を継承する。
いくつかの実施態様では、少なくとも1つの属性により、ソフトウェアオブジェクトおよびデータオブジェクトは、ランタイム実行中にソフトウェアおよびデータオブジェクトと相互運用するソフトウェア構成要素によって、分類されたバージョンおよび識別可能なバージョンとなることができる。後のバージョンのデータを定義する命令から構築される構成は、旧バージョンの命令によって構築された構成からのデータと相互運用し、それを処理することができる。
いくつかの実施態様では、新しいデータが、前もって定義されたデータの後に、特定のモジュール内の位置の命令を介して定義および位置付けられる場合には、命令を入力および訂正するとき、規定が強化される。したがって、モジュールおよび命令内の前もって定義されたデータが、関連した後のバージョンを有するデータからの関連した旧バージョンのを有するデータを表示するために、モジュール内のそれらの定義の時間的順序によって特定のデータを区別した後に、新しいデータは定義され、加えられる(位置する)。
結果として、通信ソフトウェアモジュールは、関連した後のバージョンを有するデータを含む、1つ以上のソフトウェアオブジェクトクラス(モジュールを実装している)から、関連した旧バージョンを有するデータを抽出することができる。例えば、後のバージョンのモジュールを実装する第1の通信ソフトウェアモジュールを実行している第1のネットワーク構成要素は、旧バージョンの同じモジュールを実装する第2の通信ソフトウェアモジュールを実行している第2のネットワーク構成要素から受信されるデータを認識および処理することができる。
この利点は、旧バージョン化されたデータは、旧バージョン化および後のバージョン化されたモジュールの両方で、同じ物理オフセットを有するので、後のバージョン化されたモジュール内の旧バージョン化されたデータの位置は、前のバージョン化されたモジュール内の旧バージョン化されたデータの位置と同じであることを確実にする命令を入力および訂正する規定に由来する。
この利点をさらに生かすために、ホストコンピュータ110Cなどの中央ハブとして動作しているネットワーク構成要素は好ましくは、VAM140nなどの、ネットワーク構成要素の他のさらに周辺機器のタイプのモジュールよりも後の、または同等のバージョンの1つ以上のモジュールのソフトウェア414およびデータ、ならびに中央ハブとして動作しない他のデバイス160を使用してインストールする。前述の利点を生かす各種のネットワーク構成要素のソフトウェアおよびデータバージョンのアップグレードに関する規定は、データオブジェクトに〜に対するネットワーク構成要素と、これらのデータオブジェクトを処理するWACP CPIソフトウェア414との間の相互運用(逆バージョン互換性)の継続性を確実にすることができる。かかる規定は、時間とともにデータの進化に対応すると同時に、複数のネットワーク構成要素の相互運用性を維持することができる。
本発明の実施態様に従って、システムによって処理されるデータオブジェクトは、C++などのオブジェクト指向のプログラミング言語の規定に匹敵する規定に従って、拡張マークアップ言語(XML)を使用して定義および構造される。データオブジェクトの定義および構造は、1つ以上のデータ定義ファイルに保存される。いくつかの実施態様では、データ定義ファイルは、生理学的タイプの分類に基づいている。
図5Cは、WACP通信プロトコルのインターフェース(CPI)を実装するソフトウェア414の設計、発展、自動生成、および証明するためのフローチャートを示す。コンピュータ環境はそれぞれ、特定の型および構造のデータの通信を必要とする。本発明により、異なるネットワーク構成要素(デバイス)は、ソフトウェア414に実装され、また特定の型および構造のデータを通信することができるよう構成された、共通相互運用通信インターフェースを使用して通信することが可能となる。
いくつかの実施態様では、タイプおよび構造データは、ヒトまたは他の生理学の側面を含むことができる。例えば、データは、1人以上の患者に関連した収縮期圧および/または心臓拡張血圧、心拍数、心電図信号(ECG)またはSPO2測定を表すことができる。個々の監視デバイスが、獲得した生理学的データを異なって表し、また通信する場合、WACP CPIは、それぞれの異なるデバイスが、特定のWACP CPI仕様および実装に従い、同じ構造および形式でそれらの獲得した生理学的データを通信できるようにする。
他の実施態様では、データは、各種のタイプの環境内に位置する、人々、場所または物などの、実体の状況を監視するデバイスから獲得される情報を表すことができる。そのような物は、例えば、小売り、銀行業、製造、または医療環境内のデバイスを含むことができる。
第1のステップ586として、責任者は、ネットワーク通信環境に関与している特定のアプリケーションに最適な通信プロトコルのインターフェース(CPI)スキーム(設計)を識別する。それに応じて、通信プロトコルのインターフェース(CPI)仕様(説明)は、本明細書では人員とも称される、責任者によって、例えば、設計または選択のどちらかにより識別される。人員は、原型を設計する、または前から存在する通信プロトコルのインターフェース(CPI)仕様を選択するオプションを有する。次に586、CPIが設計された場合、その結果設計されたCPIの仕様(説明)は、機能性の1つ以上のモジュールを定義している命令のセットとしてエンコードされる(表される)。代わりに、CPIが選択された場合、関連した前から存在する命令は利用可能であり、その結果選択されたCPI仕様に関連した前から存在する命令が取得される。
次に588、ソフトウェア生成プログラム520は、拡張可能な命令のセットを入力して、CPI仕様を実装するソフトウェア414bの拡張可能な部分を出力するために実行される(動作される)。ソフトウェア414bの拡張可能な部分は、設計または選択されたCPI仕様を説明する命令の拡張可能なセットに応じて生成される。CPI仕様のコア部分を実装するソフトウェア414aのコア部分は、CPI仕様を実装する、通信ソフトウェアモジュール414とも称される、ソフトウェア414の完全なるモジュールを形成するために生成されるソフトウェア414bの拡張可能な部分と結合(リンク)される。
いくつかの実施態様では、拡張可能な部分414bが、プラットホーム(オペレーティングシステム)独立ソフトウェアを含む一方で、ソフトウェア414aのコア部分は、プラットホーム(オペレーティングシステム)従属ソフトウェアを含む。
次に590、通信ソフトウェアモジュール414と称される、CPI仕様のコアおよび拡張可能な部分を実装している、ソフトウェア414の完全なモジュールは、複数のネットワーク構成要素110a〜110c、140a〜140n、160にインストールされ、用いられる。ネットワーク構成要素110a〜110c、140にインストールされる通信ソフトウェアモジュール414のインスタンスはそれぞれにより、そのネットワーク構成要素は、他のネットワーク構成要素と通信および相互運用できる。
インストール後の動作中、特定の型および構造のデータは、第1のネットワーク構成要素からのデータをル伝送する通信ソフトウェアモジュールによって連載され、また第2のネットワーク構成要素へのデータを受信する通信ソフトウェアモジュールによって非連載される。
次に592、コンピュータ環境のためのデータおよび/または通信の要件が、時間とともに発展する(変化する)場合、CPI仕様の設計は、発展した(変化した)通信の要件に対応するように、それに応じて変更(修正)される。同様に、CPI仕様の設計を表す命令もまた、新しい通信の要件に対応するよう訂正(修正)594される。
次に588、ソフトウェア生成プログラム520は、訂正済みCPI仕様を実装するソフトウェア414bの、拡張可能な命令の訂正済みセットを入力し、また訂正済み拡張可能な部分を出力するために再実行される(動作される)。ソフトウェア414bの拡張可能な部分は、再設計または再選択されたCPI仕様を説明する、命令の訂正済み拡張可能なセットに応じて再生成される。CPI仕様のコア部分を実装するソフトウェア414aのコア部分は、ソフトウェア414bの再生成された拡張可能な部分に結合(リンク)され、訂正済みCPI仕様を実装するソフトウェア414の完全なモジュールを形成する。
CPI仕様の拡張可能な部分を実装するソフトウェアを生成するステップは、プログラマーを介してソースコードの行入力の行によって手動でソフトウェアを作成するよりも、はるかに正確で信頼性がある可能性が高い。事実上、生成されるソフトウェア414bはまた、拡張可能な命令によって表されるCPI仕様のコンプライアンスのために証明される。CPI仕様に対するコンプライアンスは、ソフトウェア生成器520および生成された拡張可能なソフトウェア414bと結合(リンク)されたコアソフトウェア414aによって強化される。
図6Aは、複数の拡張されたモジュールを定義し、また拡張マークアップ言語(XML)にエンコードされる命令610のセットを示す。図示するように、命令610は、XML宣言(バージョン)命令文612、「DDS_DEMO」614と名前が付けられたXMLルート構成要素タグならびに「FAMILY_NIBP」616、「FAMILY_ERROR」618、「FAMILY_BATTERY」618、「FAMILY_DTCOLLECTION」622および「FAMILY_WAVE」624と名前を付けられた他のXML構成要素タグを含む。XML構成要素タグはまた、構成要素タグ、XMLタグまたは複数のタグとも称される。
前述の構成要素タグのそれぞれは、XML構成要素と名前と付けられた同じもとと関連している。例えば、FAMILY_NIBP構成要素タグは、FAMILY_NIBP構成要素を表し、FAMILY_BATTERY構成要素は、FAMILY_BATTERY構成要素を表す。構成要素タグ616〜624のそれぞれに関連したXML構成要素は、十分に展開されず(十分示されず)、図6Aに示していない、ネストされた他のML構成要素を含むことができる。XML構成要素はまた、構成要素とも称される。
図6Bは、<FAMILY_NIBP>構成要素の一段下にネストされるXML構成要素タグを含む、図6Aの命令610のセットを示す。<FAMILY_NIBP>構成要素は、<FAMILY_NIBP>構成要素開始タグ616および<FAMLY_NIBP>XML構成要素終了タグ638との間に位置する情報を含む。<FAMILY_NIBP>構成要素は、それの下の1段下の構成要素タグを見せるように拡張すると言われる。<FAMILY_NIBP>構成要素の1段下に位置する構成要素タグは、<FAMILY_NIBP>構成要素の子構成要素と称され、「SPECIESKEY」630、「CNIBPDSTD_DEFINITION」632、「CNIBPDSTD_DEFINITION」634および「MESSAGES」636と名前を付けられる。<FAMILY_NIBP>構成要素終了タグ638は、FAMILY_NIBPXML構成要素を定義するXMLの終了に印を付ける。
FAMILY_NIBP構成要素を定義するXMLは、<FAMILY_NIBP>構成要素開始タグ616と構成要素終了タグ638との間に位置し、またFAMILY_NIBPモジュールを定義する、FAMILY_NIBPモジュール命令とも称される命令を含む。FAMILY_NIBPモジュール命令は、ソフトウェア生成器520に入力され、FAMILY_NIBPモジュールのためのソースコードを生成する。ソースコードは、図5Aのソースコードファイル542a〜546bおよび562a〜568b内に保存される。
図6Cは、図6Aの命令610のセットの<FAMILY_NIBP>構成要素の<MESSAGES>636構成要素の一段下に位置するXML構成要素タグを示す。図示するように、一連の構成要素タグ642a〜642は、「MSG」とそれぞれ名前が付けられ、また<MESSAGES>構成要素636の下にネストされる<MSG>構成要素をそれぞれ表す。それぞれの<MSG>構成要素は、タイプ、名前および説明の属性によって定義される。例えば、<MSG>構成要素642は、「リクエスト」のタイプの属性値、「GET_BP」の名前の属性値および「GetBP」の説明の属性を有する。
それぞれのモジュールタイプ(科)は、独自で一意の機能性のスコープ、独自で一意の保存されたデータのセット、およびそれが伝送および受信するメッセージの一意のセットを有する。モジュール自身は、命令610のルートタグ614の一段下に位置する<FAMILY_NIBP>616または<FAMILY_BATTERY>620構成要素タグによって供給されるような、第1の(科)分類識別子を介して、ソフトウェア生成器520に対して識別される。
科の構成要素内(その下にネストされる)で、ソフトウェア生成器520は、特定の命令を、モジュールの第1の(科)分類識別子に関連した第2の(属)分類および第3の(種)分類識別子として解釈する。
例となる実施態様では、ソフトウェア生成器520は、それぞれの<MSG>構成要素タイプの特定の属性を、第2の(属)分類識別子または第3の(種)分類識別子のどちらかとして解釈する。ソフトウェア生成器520は、「タイプ」の属性値を第2の(属)分類識別子として解釈し、また<MSG>構成要素「名前」の属性値を第3の(種)分類識別子として解釈する。
結果として、ソフトウェア生成器520は、FAMILY_NIBPモジュールのメッセージを、(8)の第3の(種)分類識別子のうちの1つとそれぞれに関連し、また(4)つの第2の(属)分類識別子のうちの1つに関連する(8)つのメッセージを有すると解釈する。例えば、<MSG>構成要素642は、「Request」識別子によって表される第2の(属)分類識別子、および「GET_BP」識別子によって表される第3の(種)分類識別子を有するメッセージを表す。
「Request」に相当する第2の(属)分類識別子の値は、関連したメッセージはリクエストタイプのWACPメッセージであると表示している(図3B参照)。「GET_BP」に相当する第3の(種)分類識別子の値は、特定のWACPメッセージ構造を表示する。したがって、「GET_BP」メッセージ構造は、リクエストタイプのWACPメッセージである。
<MSG>構成要素642の入力に応えて、ソフトウェア生成器520は、図4A〜4Cのために説明したように、リクエストタイプのWACPメッセージである、「GET_BP」メッセージ構造を処理するFmNIBPモジュールのためのソースコードを生成する。同様に、ソフトウェア生成器520は、他の<MSG>構成要素644〜656によって説明されるメッセージを処理するFmNIBPモジュールのためのソースコードを生成する
図6Dは、図6Aの命令610のセットの<FAMILY_NIBP>構成要素の<CNIBPCSTD_DEFINITION>634構成要素の一段下に位置するXML構成要素タグを示す。図示するように、「STATIC_MEMBERS」658および「ENUMERATIONS」660と名前の付いた構成要素は、<CNIBPCSTD_DEFINITION>634構成要素の下にネストされる。「VAR」と名前の付いた構成要素は、<STATIC_MEMBERS>658構成要素の下にネストされる。「ENUM」と名前の付いた構成要素は、<ENUMERATIONS>660構成要素の下にネストされる。
<CNIBPCSTD_DEFINITION>構成要素634は、クラス、abrv、バージョン、科、属および種の属性によって定義される。<CNIBPCSTD_DEFINITION>構成要素634は、「CNIBPCStd」のクラスの属性値、「CNBPCSTD」のabrvの属性、「102」のバージョンの属性、「FmNIBP」の科の属性、「GnCONFIG」の属の属性、および「SpSTANDARD」の種の属性を有する。
例となる実施態様では、ソフトウェア生成器520は、<CNIBPCSTD_DEFINITION>構成要素634を「CNIBPCStd」の名前を有するC++ソフトウェアオブジェクトクラスを表すものとして解釈する。<CNIBPCSTD_DEFINITION>構成要素634の入力に応えて、ソフトウェア生成器520は、「CNIBPCStd」と名前の付いたオブジェクトクラスを割り当てるFmNIBPモジュールのためのソースコードを生成する。C++プログラミング言語は、多くのオブジェクト指向のプログラミング言語のうちの1つである。
構成要素タグ646a〜646bは、それぞれ「VAR」と名前が付いており、またそれぞれは、<STATIC_MEMBERS>構成要素644の下にネストされる<VAR>構成要素を表す。それぞれの<VAR>構成要素は、タイプ、名前およびコメントの属性によって定義される。例えば、<VAR>構成要素646aは、「uint16」のタイプの属性値、「DisplayUnits」の名前の属性値、および「DisplayunitsforBPandMAP」のコメントの属性を有する。
例となる実施態様では、ソフトウェア生成器520は、<VAR>構成要素を可変の(保存されるデータ)データを表すものとして、「タイプ」の属性値「uint16」を可変のデータのデータタイプとして、および「名前」属性値「DisplayUnits」を可変のデータの名前として解釈する。<VAR>構成要素646aの入力に応えて、ソフトウェア生成器520は、「uint16」のタイプの属性およびDisplayUnits」の名前(識別子)を有する可変のデータを割り当てるNIBPモジュール内の「CNIBPCStd」と名前の付いたソフトウェアオブジェクトクラスのためのソースコードを生成する。「uintl16」に相当するデータタイプの値は、関連した可変のデータは、符号なしの16ビット整数であることを表示する。
構成要素タグ652a〜652eは、それぞれ「ENUM」と名前が付き、またそれぞれは、<ENUMERATIONS>構成要素650の下にネストされる<ENUM>構成要素を表す。それぞれの<ENUM>構成要素は、タイプ、名前およびデフォルト値および説明の属性を定義する。例えば、<ENUM>構成要素652aは、「DisplayUnits」のタイプの属性値、「NIBP−MMHG」の名前の属性値、「0」のデフォルト値および「mmHg」の説明の属性を有する。例となる実施態様では、ソフトウェア生成器520は、<ENUM>構成要素をC++列挙タイプ宣言を表すものとして解釈し、「タイプ」属性値「DisplayUnits」を列挙タイプ宣言の名前の付いたデータタイプとして、また「NIBP_MMHG」の「名前」属性値を、同じタイプの任意の他の<ENUM>構成要素に加えて、列挙タイプの宣言メンバーであると解釈する。<ENUM>構成要素652aの入力に応えて、ソフトウェア生成器520は、「DisplayUnits」のタイプ属性およびCNIBPDSTD_DISPLAYUNITSの名前(識別子)を有する列挙データタイプを宣言するNIBPモジュールのためのソースコードを生成する。
NIBPモジュールに対し生成されるソースコードは、以下のようである。
typedef enum CNBPCSTDtypDISPLAYUNITS{
CNBPCSTD_DisplayUnits_NIBP_MMHG=0,
CNBPCSTD_DisplayUnits_NIBP_KPA,
CNBPCSTD_DisplayUnits_MAX
}CNBPCSTD_DISPLAYUNITS;
図6Eは、図6Aの命令610のセットの<FAMILY_NIBP>構成要素616の<CNIBPDSTD_DEFINITION>632構成要素の一段下に位置するXML構成要素タグのうちのいくつかを示す。図示するように、「STATIC_MEMBERS」654および「ENUMERATIONS」660と名前の付いた構成要素は、<CNIBPDSTD_DEFINITION>632構成要素の下にネストされる。「VAR」と名前の付いた構成要素は、<STATIC_MEMBERS>654構成要素の下にネストされる。「ENUM」と名前の付いた構成要素は、<ENUMERATIONS>660構成要素の下にネストされる。
<CNIBPDSTD_DEFINITION>632は、クラス、abrv、バージョン、科、属および種の属性によって定義される。<CNIBPCSTD_DEFINITION構成要素632は、「CNIBPDStd」のクラスの属性値、「CNBPDSTD」のabrvの属性、「105」のバージョンの属性、「FmNIBP」の科の属性、「GnDATA」の属の属性、および「SpSTANDARD」の種の属性を有する。
例となる実施態様では、ソフトウェア生成器520は、<CNIBPDSTD_DEFINITION>構成要素632を「CNIBPDStd」の名前を有するC++ソフトウェアオブジェクトクラスを表すものとして解釈する。<CNIBPDSTD_DEFINITION>構成要素632の入力に応えて、ソフトウェア生成器520は、「CNIBPDStd」と名前の付いたソフトウェアオブジェクトクラスを割り当てるFmNIBPモジュールのためのソースコードを生成する。
いくつかの実施態様では、本発明は命令のセットに従って、ネットワーク構成要素間の情報を通信するための方法を提供する。この方法は、第1のネットワーク構成要素を提供するステップを含み;第1の通信ソフトウェアモジュールを、コア部分および拡張可能な部分を有する通信インターフェース仕様により、通信機能性を実行するよう構成される前記第1のネットワーク構成要素にインストールし;張可能な部分は、命令の1つ以上のモジュールを含む第1のセットの命令を組み込むよう構成される。
通信機能性は、特定の型および構造のデータを組み込むよう構成され、またメッセージの型が命令の1つ以上のモジュールの第1のセット内の命令によって定義される第1のセットのメッセージの型の受信および伝送を含むアクションを実行する。前記ステップはまた、アクションを実行するための第1の通信ソフトウェアモジュールを動作させるステップを含む。
第2のネットワーク構成要素を提供するステップを含み;第2の通信ソフトウェアモジュールを第2のネットワーク構成要素にインストールするステップであって、第2の通信ソフトウェアモジュールは、通信インターフェース仕様による通信機能性を実行するよう構成され;通信機能性は、特定の型および構造のデータを組み込むよう構成される第2のセットのメッセージの型の受信および伝送を含むアクションを実行し、特定の型および構造のデータを組み込む第2のセットのメッセージの型は、第2のセットの命令内の命令によって定義され、第2のセットの命令は、命令の1つ以上のモジュールを含み、第1のセットの命令と第2のセットの命令との間に補完的な重なりが存在する。前記ステップはまた、アクションを実行するための第1の通信ソフトウェアモジュールを動作させるステップを含む。
任意に、第1および第2のセットの命令は、拡張マークアップ言語(XML)で表現される。好ましくは、命令は、人間および機械の両方にとって解読可能であり、またソースコードによって表されないので、命令は特定のプログラミング言語とは無関係であることができる。
いくつかの実施態様では、第1の通信ソフトウェアモジュールは、第1のセットのソースコードによって表され、第1のセットの命令は、ソースコードによって表されず、ソフトウェア生成プログラムは、第1のセットの命令を入力し、また命令に応えて第1のセットのソースコードの実質的な部分を生成する。
いくつかの実施態様では、第1のセットのソースコードの実質的な部分は、オブジェクト指向のプログラミング言語によって表現され、第1のセットのソースコードは、オブジェクト指向のプログラミング言語で表現されるクラス階層内に属する1つ以上のソフトウェアのオブジェクトクラスとして表される。
任意に、特定の型および構造のデータは、オブジェクト指向のプログラミング言語で表現され、クラス階層内に属する1つ以上のデータだけのクラスとして表され、クラス階層は、オブジェクト指向のプログラミング言語で表現される構造を有する。データだけのクラスは、第1および第2の通信ソフトウェアモジュールのうちのどちらかによる伝送および受信のために、2進数列のデータに変換される。任意に、データだけのクラスは、第1および第2の通信ソフトウェアモジュールのうちのどちらかによる伝送および受信のために、XML数列のデータに変換される。XML数列は、人間および機械の両方にとって解読可能であるファイルに保存することができる。
補完的な重なりは、第1のセットの1つ以上のモジュールの命令および第2のセットの1つ以上のモジュールの命令はそれぞれ、共通モジュールの命令を含む状況であることに留意されたい。別の状況では、補完的な重なりは、第1のセットの1つ以上のモジュールの命令は第1のモジュールを含み、また第2のセットの1つ以上のモジュールの命令は第2のモジュールを含み、ならびに第1のモジュールはメッセージの型のセットを伝送するよう構成され、また第2のモジュールはメッセージの型のセットを受信するよう構成される。
いくつかの実施態様では、命令は1つ以上のセットのデータに特定の型および構造のデータを区別し、命令は1つ以上のセットのデータのそれぞれのための1つ以上のクラス内のバージョンの識別子および位置の識別子を割り当てる。通信ソフトウェアモジュールは、関連した後のバージョンを有する1つ以上のセットのデータを含む1つ以上のクラスから、関連した旧バージョンを有するセットのデータを抽出するよう構成される。
本発明は、例えば医療環境内でデータを監視および獲得するデバイスに関連して採用される特定の型および構造のデータに適用することができる。データは生理学の側面を表すことができる。
別の側面では、本発明は、コア部分および拡張可能な部分を有する通信プロトコルのインターフェース仕様に対して、ソフトウェアのコンプライアンスを証明するための方法を提供する。前記方法は、コア部分および拡張可能な部分を有する通信プロトコルのインターフェース仕様を提供するステップを含み、コア部分は、固定した通信プロトコルのインターフェース規定のコアのセットを含み、拡張可能な部分は、可変の通信プロトコルのインターフェース規定の拡張可能なセットを含む、
前記ステップはまた、通信プロトコルのインターフェース仕様のコア部分を実装するよう構成され、またソフトウェアの拡張可能な部分と結合するよう構成されたソフトウェアのコア部分を提供するステップと;拡張可能なセットの通信プロトコルのインターフェース規定を特定する拡張可能な命令のセットを提供するステップと;セットの拡張可能な命令を入力するよう、またソフトウェアの拡張可能な部分を出力するよう構成されるソフトウェア生成プログラムを提供および動作するステップであって、ソフトウェアの拡張可能な部分は、可変の拡張可能なセットの通信プロトコルのインターフェース規定に従うステップと;通信プロトコルのインターフェース仕様に従い、また医療または他のタイプの環境内で採用するための相互運用および拡張可能な通信ネットワークを提供する、ソフトウェアを産出するために、ソフトウェアのコア部分とソフトウェアの拡張可能な部分を結合するステップとを含む。
いくつかの実施態様では、拡張可能なセットの命令は、拡張マークアップ言語(XML)で表現される。任意に、拡張可能なセットの命令は、医療環境内で採用される特定の型および構造のデータを定義する。いくつかの実施態様では、拡張可能のセットの命令は、生理学的側面を表す特定の型および構造のデータを定義する。
他の側面では、本発明は、特定の型および構造の発展データを通信するよう構成される通信プロトコルのインターフェースを提供する。いくつかの実施態様では、本発明は、通信プロトコルのインターフェースを定義する構成され、またコア部分および拡張可能な部分を有する通信プロトコルのインターフェース仕様を含み;コア部分は、固定したコアのセットの通信プロトコルのインターフェース規定を含み、拡張可能な部分は、可変であり、時間とともにさらに変化することができる、拡張可能なセットの通信プロトコルのインターフェース規定を含み;コア部分は、データ、コマンド、エラーおよび状況情報を伝送および受信するよう構成されるメッセージの型のセットを定義し、メッセージの型のうちの少なくとも一部は、データおよびエラー情報を伝達するよう構成される少なくとも1つの可変サイズのフィールドを含み;拡張可能な部分は、時間とともに変化することもある特定の型、構造およびサイズを有するデータまたはエラー情報を定義するよう構成される。
本発明は、本明細書に開示されている構造を関して説明してきた一方で、それは、説明された詳細に限定するものではなく、本発明は、以下の特許請求の範囲および精神の内側に発生する可能性のあるどんな修正および変化も対象とすることを意図している。
本発明のオブジェクトおよび特長は、以下に説明される特許請求の範囲および図面を参照してより深く理解することができる。図面は必ずしも測定されるものではなく、代わりに、本発明の原理を一般的に示すものであることを強調しておく。図面内では、同様の参照番号は、各種の図にわたり同様の部分を示すよう使用される。同様の部分に差異がある場合は、これらの部分を異なる参照番号によって示す場合がある。同様でない部分は、異なる参照番号によって表示する。
図1は、医療(医学)情報システム内に位置する各種のネットワーク構成要素を示すブロック図である。 図2Aは、図1に示すように、バイタルサイン測定(VSM)デバイスおよびホスト110c内に属するソフトウェアの内部構成要素および通信プロトコルのインターフェースの表示を示すブロック図である。 図2Bは、通信インターフェースを通して別のネットワーク構成要素から情報の受信を示すブロック図である。 図2Cは、通信インターフェースを通して情報の受信を示すブロック図である。 図2Dは、通信インターフェースから伝送するとき、インターチェンジ層から出力される情報の構造を示すブロック図である。 図2Eは、VSMデバイスとホストネットワーク構成要素との間の接続を確立するための、ランデブープロトコル通信のエクスチェンジを示すブロック図である。 図3Aは、医学オブジェクト管理プロトコル(MOMP)メッセージを構成する情報の構造を示すブロック図である。 図3Bは、リクエストタイプのMOMPメッセージを含め、ホストデバイスとVSMデバイス間のMOMPメッセージのエクスチェンジを示すブロック図である。 図3Cは、コマンドタイプのMOMPメッセージを含め、ホストデバイスとVSMデバイス間のMOMPメッセージのエクスチェンジを示すブロック図である。 図3Dは、状況タイプのMOMPメッセージを含め、ホストデバイスとVSMデバイス間のMOMPメッセージのエクスチェンジを示すブロック図である。 図3Eは、イベントタイプのMOMPメッセージを含め、ホストデバイスとVSMデバイス間のMOMPメッセージのエクスチェンジを示すブロック図である。 図3Fは、ネットワーク構成要素間で伝送されるキープアライブ通信を示すブロック図である。 図3Gは、データオブジェクトのメッセージを構成する情報の構造を示すブロック図である。 図4Aは、本発明の実施態様による、ソフトウェアの構造配列を示すブロック図である。 図4Bは、本発明による、着信リクエストタイプのWACPメッセージを受信、処理および転送するWACP CPIソフトウェアの実施態様によって実行するパスを示すブロック図である。 図4Cは、図4AのリクエストタイプのWACPメッセージの受信に応えて、応答タイプのWACPメッセージを伝送するWACP CPIソフトウェアの実施態様によって実行するパスを示すブロック図である。 図5Aは、命令のセットを入力し、命令のセットに応えてソースコードを出力するよう構成される、ソフトウェア生成器を含むシステムを示す。 図5Bは、相互運用する複数のネットワーク構成要素にインストールされるWACP CPIソフトウェアの異なる構成を示すブロック図である。 図5Cは、WACP通信プロトコルのインターフェース(CPI)実装するソフトウェアを設計、発展および自動的に生成および証明するためのフローチャートを示す。 図5Dは、異なる構成に構築されているグローバルセットの命令の部分を示す。 図6Aは、複数の拡張されたモジュールを定義する、また拡張マークアップ言語(XML)にエンコードされる、命令のセットを示す。 図6Bは、<FAMILY_NIBP>構成要素の一段下にネストされるXML構成要素タグを含み、図6Aの命令のセットを示す。 図6Cは、図6Aの命令のセットの<FAMILY_NIBP>構成要素の<MESSAGES>構成要素の一段下に位置するXML構成要素タグを示す。 図6Dは、図6Aの命令のセットの<FAMILY_NIBP>構成要素の<CNIBPCSTD_DEFINITION>構成要素一段下に位置するXML構成要素タグを示す。 図6Eは、図6Aの命令のセットの<FAMILY_NIBP>構成要素の<CNIBPDSTD_DEFINITION>構成要素の一段下に位置するXML構成要素タグのいくつかを示す。

Claims (31)

  1. 命令のセットに従ってネットワーク構成要素間で情報を通信するための方法であって、
    第1のネットワーク構成要素を提供するステップと、
    第1の通信ソフトウェアモジュールを該第1のネットワーク構成要素にインストールするステップであって、
    該第1の通信ソフトウェアモジュールは、コア部分および拡張可能な部分を有する通信インターフェース仕様による通信機能性を実行するように構成され、該拡張可能な部分は、命令の第1のセットを組み込むように構成され、命令の該第1のセットは、1つ以上の命令のモジュールを含み、
    該通信機能性は、特定の型および構造のデータを組み込むように構成されるメッセージの型の第1のセットの受信および伝送を含むアクションを実行し、また該特定の型および構造のデータを組み込むように構成される該メッセージの型は、命令の該第1のセット内の命令によって定義される、ステップと、
    該アクションを実行するために該第1の通信ソフトウェアモジュールを動作させるステップと、
    を含む、方法。
  2. 第2のネットワーク構成要素を提供するステップと、
    第2の通信ソフトウェアモジュールを該第2のネットワーク構成要素にインストールするステップであって、
    該第2の通信ソフトウェアモジュールは、前記通信インターフェース仕様による通信機能性を実行するように構成され、
    該通信機能性は、特定の型および構造のデータを組み込むように構成されるメッセージの型の第2のセットの受信および伝送を含むアクションを実行し、該特定の型および構造のデータを組み込むメッセージの型の該第2のセットは、命令の第2のセット内の命令によって定義され、命令の該第2のセットは、命令の1つ以上のモジュールを含み、命令の該第1のセットと命令の該第2のセットとの間に補完的な重なりが存在する、ステップと、
    該アクションを実行するために該第2の通信ソフトウェアモジュールを動作させるステップと、
    をさらに含む、請求項1に記載の方法。
  3. 命令の前記第1のセットおよび命令の前記第2のセットは、拡張マークアップ言語(XML)で表現される命令を含む、請求項2に記載の方法。
  4. 前記第1の通信ソフトウェアモジュールは、プログラミング言語のソースコードの第1のセットによって表され、命令の前記第1のセットは、プログラミング言語によって表されず、ソフトウェア生成プログラムが命令の該第1のセットを入力し、該命令に応答してソースコードの該第1のセットの実質的な部分を生成する、請求項1に記載の方法。
  5. ソースコードの前記第1のセットの実質的な部分は、オブジェクト指向のプログラミング言語によって表現され、ソースコードの該第1のセットは、該オブジェクト指向のプログラミング言語で表現されるクラス階層内に属する1つ以上のソフトウェアのオブジェクトクラスとして表される、請求項4に記載の方法。
  6. 前記特定の型および構造のデータは、オブジェクト指向のプログラミング言語で表現され、かつクラス階層内に属する1つ以上のデータのみのオブジェクトクラスとして表され、該クラス階層は、該オブジェクト指向のプログラミング言語で表現される構造を有する、請求項1に記載の方法。
  7. 前記データのみのクラスは、前記第1および第2の通信ソフトウェアモジュールのうちのどちらかによる伝送および受信のために、2進数列のデータに変換される、請求項6に記載の方法。
  8. 前記データのみのクラスは、前記第1および第2の通信ソフトウェアモジュールのうちのどちらかによる伝送および受信のために、XML数列のデータに変換される、請求項6に記載の方法。
  9. 前記補完的な重なりは、命令の1つ以上のモジュールの前記第1のセットおよび命令の1つ以上のモジュールの前記第2のセットがそれぞれ命令の共通モジュールを含む状況である、請求項2に記載の方法。
  10. 前記補完的な重なりは、命令の1つ以上のモジュールの前記第1のセットが第1のモジュールを含み、また命令の1つ以上のモジュールの前記第2のセットが第2のモジュールを含み、かつ該第1のモジュールがメッセージの型のセットを伝送するように構成され、また該第2のモジュールがメッセージの型の該セットを受信するように構成される状況である、請求項2に記載の方法。
  11. 命令の前記第1のセットは、関連する後のバージョンを有するデータから、関連する旧バージョンを有するデータを表示するために、特定のモジュール内の定義の時間的順序によって特定のデータを区別する、請求項5に記載の方法。
  12. 前記通信ソフトウェアモジュールは、関連する後のバージョンを有するデータを含む1つ以上のソフトウェアオブジェクトクラスから、関連する旧バージョンを有するデータを抽出するように構成される、請求項11に記載の方法。
  13. 前記特定の型および構造のデータは、データを監視し、かつ獲得する機器と関連して採用される、請求項16に記載の方法。
  14. 前記特定の型および構造のデータは、医療環境内で採用される、請求項16に記載の方法。
  15. 前記特定の型および構造のデータは、生理学的側面を表す、請求項16に記載の方法。
  16. コア部分および拡張可能な部分を有する通信プロトコルのインターフェース仕様に対するソフトウェアのコンプライアンスを証明するための方法であって、
    コア部分および拡張可能な部分を有する通信プロトコルのインターフェース仕様を提供するステップであって、該コア部分は、固定した通信プロトコルのインターフェース規定のコアのセットを含み、該拡張可能な部分は、可変の通信プロトコルのインターフェース規定の拡張可能なセットを含む、ステップと、
    該通信プロトコルのインターフェース仕様の該コア部分を実装するように構成され、かつ該ソフトウェアの拡張可能な部分と結合するように構成される、ソフトウェアのコア部分を提供するステップと、
    通信プロトコルのインターフェース規定の該拡張可能なセットを特定する、拡張可能な命令のセットを提供するステップと、
    拡張可能な命令の該セットを入力するように、かつ該ソフトウェアの該拡張可能な部分を出力するように構成される、ソフトウェア生成プログラムを提供および動作させるステップであって、該ソフトウェアの該拡張可能な部分は、可変の通信プロトコルのインターフェース規定の該拡張可能なセットに従う、ステップと、
    該通信プロトコルのインターフェース仕様に従うソフトウェアを作成するために、ソフトウェアの該コア部分と該ソフトウェアの該拡張可能な部分とを結合するステップと、
    を含む、方法。
  17. 命令の前記拡張可能なセットは、拡張マークアップ言語(XML)で表現される、請求項16に記載の方法。
  18. 命令の前記拡張可能なセットは、医療環境内で採用される特定の型および構造のデータを定義する、請求項16に記載の方法。
  19. 命令の前記拡張可能なセットは、生理学的側面を表す特定の型および構造のデータを定義する、請求項16に記載の方法。
  20. 特定の型および構造の発展データを通信するように構成される、通信プロトコルのインターフェースであって、該インターフェースは、
    通信プロトコルのインターフェースを定義するように構成され、かつコア部分および拡張可能な部分を有する通信プロトコルのインターフェース仕様であって、該コア部分は、固定した通信プロトコルのインターフェース規定のコアのセットを含み、該拡張可能な部分は、可変の通信プロトコルのインターフェース規定の拡張可能なセットを含む、通信プロトコルのインターフェース仕様を備え、
    該コア部分は、データ、コマンド、エラーおよび状況情報を伝送および受信するように構成されるメッセージの型のセットを定義し、該メッセージの型のうちの少なくとも一部は、該データおよびエラー情報を伝達するように構成される少なくとも1つの可変サイズのフィールドを含み、
    該拡張可能な部分は、時間とともに変化する特定の型、構造およびサイズの該データに関して、該データまたはエラー情報を定義するように構成される、
    通信プロトコルのインターフェース。
  21. 発展データの定義に合致するデータを通信するための方法であって、
    クライアントとして動作する第1のネットワーク構成要素を提供するステップと、
    メッセージの型の第1のセットを識別、受信および伝送するように構成される第1の通信ソフトウェアモジュールを提供するステップであって、該メッセージの型のそれぞれは該第1のセットのメンバーとして選択され、かつ該発展データの定義の第1のバージョンの第1の部分に従って特定される命令に基づいて特定の型および構造のデータを組み込むように構成される、ステップと、
    該第1の通信ソフトウェアモジュールを、該第1のネットワーク構成要素と関連して動作させるステップと、
    を含む、方法。
  22. サーバーとして動作する第2のネットワーク構成要素を提供するステップと、
    メッセージの型の第2のセットを識別、受信および伝送するように構成される第2の通信ソフトウェアモジュールを提供するステップであって、該メッセージの型のそれぞれは該第2のセットのメンバーとして選択され、かつ前記発展データの定義の第2のバージョンの第2の部分に従って特定される命令に基づいて特定の型および構造のデータを組み込むように構成される、ステップと、
    前記第1のネットワーク構成要素と通信するために、該第2の通信ソフトウェアモジュールを、該第2のネットワーク構成要素と関連して動作させるステップと、
    をさらに含む、請求項21に記載の方法。
  23. 前記発展データの定義の前記命令は、拡張マークアップ言語(XML)で表現される、請求項21に記載の方法。
  24. 前記発展データの定義の少なくとも1つの部分は、該発展データの定義の他の部分を含むクラス階層内に属するクラスとして表される、請求項21に記載の方法。
  25. 前記発展データの定義の前記第1のバージョンの前記第1の部分に従って特定される前記命令は、データ記述シート内に含まれる、請求項21に記載の方法。
  26. 前記発展データの定義に従って取得される情報は、前記第1および第2の通信ソフトウェアモジュールのうちのどちらかによる伝送および受信のために、2進数列のデータに変換される、請求項21に記載の方法。
  27. 前記第1のバージョンは、関連した第1のバージョンの時間の値を有し、前記第2のバージョンは、関連した第2のバージョン時間の値を有し、該第1のバージョンの時間の値は、該第2のバージョンの時間の値と等しいか、またはより早い、請求項21に記載の方法。
  28. 前記発展データの定義のバージョンは、1つ以上のデータメンバーの関連したセットを有し、該関連したセットのデータメンバーのそれぞれは、該発展データの定義の他のバージョンと関連する他のデータメンバーの位置から区別できる識別可能な位置を有する、請求項21に記載の方法。
  29. 前記関連したセットの前記データメンバーのそれぞれは、1つ以上の関連したバージョンのセットに割り当てられる、請求項28に記載の方法。
  30. 前記発展データの定義の旧バージョンは、該発展データの定義から該先のバージョンに関連するデータメンバーをコピーすることによって、該発展データの定義の後のバージョンから抽出される、請求項29に記載の方法。
  31. 命令のセットに従ってネットワーク構成要素間で情報を通信するためのシステムであって、
    コア部分および拡張可能な部分を有する通信インターフェース仕様に従って通信機能性を実行するように構成される、第1の通信ソフトウェアモジュールをそれぞれ含む複数のネットワーク構成要素であって、
    該拡張可能な部分は、命令の1つ以上のモジュールを含む命令の第1のセットを組み込むように構成され、
    該通信機能性は、特定の型および構造のデータを組み込むように構成されるメッセージの型の第1のセットの受信および伝送を含むアクションを実行し、該特定の型および構造のデータを組み込む該メッセージの型は、命令の1つ以上のモジュールの該第1のセット内の命令によって定義される、
    複数のネットワーク構成要素と、
    該ネットワーク構成要素間の通信を提供するようにそれぞれ構成される1つ以上の通信チャネルと、
    を含む、システム。
JP2008504274A 2005-03-30 2006-03-30 複数のネットワーク構成要素間における情報の通信 Withdrawn JP2008538028A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US66720305P 2005-03-30 2005-03-30
US78714706P 2006-03-28 2006-03-28
PCT/US2006/011373 WO2006105139A2 (en) 2005-03-30 2006-03-30 Communication of information between a plurality of network elements

Publications (1)

Publication Number Publication Date
JP2008538028A true JP2008538028A (ja) 2008-10-02

Family

ID=37054046

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008504274A Withdrawn JP2008538028A (ja) 2005-03-30 2006-03-30 複数のネットワーク構成要素間における情報の通信

Country Status (9)

Country Link
US (3) US8543999B2 (ja)
EP (1) EP1866780A4 (ja)
JP (1) JP2008538028A (ja)
KR (1) KR20070116893A (ja)
BR (1) BRPI0607738A2 (ja)
CA (1) CA2603380A1 (ja)
IL (1) IL186249A0 (ja)
RU (1) RU2007135827A (ja)
WO (1) WO2006105139A2 (ja)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8543999B2 (en) 2005-03-30 2013-09-24 Welch Allyn, Inc. Communication of information between a plurality of network elements
JP2009527839A (ja) * 2006-02-21 2009-07-30 コレリクス リミテッド 通信ネットワークのトランザクション監視のための方法及びシステム
US8065168B2 (en) * 2006-04-25 2011-11-22 Acs State And Local Solutions, Inc. Method, system and computer program code for automatically generating software for reformatting incoming data
JP4855172B2 (ja) * 2006-07-31 2012-01-18 シャープ株式会社 生体情報測定装置、管理装置、および生体情報通信システム
US20080056152A1 (en) * 2006-09-05 2008-03-06 Sharp Kabushiki Kaisha Measurement data communication device, health information communication device, information acquisition device, measurement data communication system, method of controlling measurement data communication device, method of controlling information acquisition device, program for controlling measurement data communication device, and recording medium
US8189474B2 (en) * 2006-09-27 2012-05-29 Infosys Limited Dynamic stack-based networks for resource constrained devices
EP2074542A2 (en) 2006-10-04 2009-07-01 Welch Allyn, Inc. Dynamic medical object information base
US8930890B2 (en) * 2006-12-05 2015-01-06 International Business Machines Corporation Software model skinning
US8756561B2 (en) * 2006-12-05 2014-06-17 International Business Machines Corporation Software model normalization and mediation
US20100131667A1 (en) * 2008-11-25 2010-05-27 Infineon Technologies Ag Executable Communication Protocol Description Method and Apparatus
US8214566B2 (en) 2009-07-24 2012-07-03 Welch Allyn, Inc. Configurable health-care equipment apparatus
USD632397S1 (en) 2010-07-22 2011-02-08 Welch Allyn, Inc. Portions of a patient-monitor housing
USD671222S1 (en) 2010-07-22 2012-11-20 Welch Allyn, Inc. Module for a patient-monitor or the like
USD635681S1 (en) 2010-07-22 2011-04-05 Welch Allyn, Inc. Patient-monitor housing
US8879604B2 (en) * 2011-07-06 2014-11-04 Cisco Technology, Inc. Efficient rendezvous for distributed messages in frequency-hopping communication networks
US8990271B2 (en) * 2012-03-12 2015-03-24 International Business Machines Corporation Specifying data in a standards style pattern of service-oriented architecture (SOA) environments
US9092762B2 (en) 2012-04-05 2015-07-28 Welch Allyn, Inc. Medical device maintenance system
US8935578B2 (en) * 2012-09-29 2015-01-13 Intel Corporation Method and apparatus for optimizing power and latency on a link
CN103905903B (zh) * 2012-12-25 2016-02-17 腾讯科技(深圳)有限公司 一种数字电视终端的通信配对方法、终端以及系统
US10467210B2 (en) * 2016-03-28 2019-11-05 Health Catalyst, Inc. Interpreting HL7 segment hierarchy dynamically
US11922377B2 (en) * 2017-10-24 2024-03-05 Sap Se Determining failure modes of devices based on text analysis
US11190487B2 (en) * 2018-02-28 2021-11-30 Palo Alto Networks, Inc. Identifying security risks and enforcing policies on encrypted/encoded network communications
US11670405B2 (en) 2018-07-12 2023-06-06 Direct Supply, Inc. Apparatus for clinical data capture
US11582093B2 (en) * 2018-11-05 2023-02-14 Cisco Technology, Inc. Using stability metrics for live evaluation of device classification systems and hard examples collection
US10908924B2 (en) * 2019-05-01 2021-02-02 Intuit Inc. System and methods for loading objects from hash chains

Family Cites Families (163)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US177035A (en) * 1876-05-02 Improvement in car-couplings
US27670A (en) * 1860-03-27 Improvement in hot-water apparatus
US200259A (en) * 1878-02-12 Improvement in registers
US4631666A (en) * 1982-10-25 1986-12-23 Burroughs Corporation Data transfer network for variable protocol management
US5818603A (en) 1996-03-29 1998-10-06 Ricoh Company, Ltd. Method and system for controlling and communicating with machines using multiple communication formats
US5261080A (en) 1987-08-21 1993-11-09 Wang Laboratories, Inc. Matchmaker for assisting and executing the providing and conversion of data between objects in a data processing system storing data in typed objects having different data formats
JP2720904B2 (ja) 1990-08-31 1998-03-04 富士通株式会社 自己記述によるデータベース管理システムの構成方法および開発/変更方法
US5317568A (en) 1991-04-11 1994-05-31 Galileo International Partnership Method and apparatus for managing and facilitating communications in a distributed hetergeneous network
EP0543512B1 (en) * 1991-11-19 1999-10-06 International Business Machines Corporation Multiprocessor system
US5307262A (en) 1992-01-29 1994-04-26 Applied Medical Data, Inc. Patient data quality review method and system
FR2688611A1 (fr) 1992-03-12 1993-09-17 Bull Sa Utilisation d'un langage dont le typage porte sur le contenu des variables et permettant de manipuler des constructions complexes.
US5664181A (en) 1992-03-17 1997-09-02 International Business Machines Corporation Computer program product and program storage device for a data transmission dictionary for encoding, storing, and retrieving hierarchical data processing information for a computer system
US5664126A (en) 1992-07-24 1997-09-02 Kabushiki Kaisha Toshiba Human interface system for communicating networked users
US5446880A (en) 1992-08-31 1995-08-29 At&T Corp. Database communication system that provides automatic format translation and transmission of records when the owner identified for the record is changed
US5434976A (en) * 1992-09-28 1995-07-18 Standard Microsystems Corporation Communications controller utilizing an external buffer memory with plural channels between a host and network interface operating independently for transferring packets between protocol layers
US7624028B1 (en) * 1992-11-17 2009-11-24 Health Hero Network, Inc. Remote health monitoring and maintenance system
US20030212579A1 (en) * 2002-05-08 2003-11-13 Brown Stephen J. Remote health management system
CA2128828C (en) 1993-08-24 2001-01-02 David Michael Silver Multilingual standard resources
US5867688A (en) 1994-02-14 1999-02-02 Reliable Transaction Processing, Inc. Data acquisition and retrieval system with wireless handheld user interface
US6275869B1 (en) 1994-11-22 2001-08-14 Eastman Kodak Company System for network communication of image information between imaging devices according to multiple protocols
AU5530996A (en) 1995-03-31 1996-10-16 Michael W. Cox System and method of generating prognosis reports for corona ry health management
US5708828A (en) 1995-05-25 1998-01-13 Reliant Data Systems System for converting data from input data environment using first format to output data environment using second format by executing the associations between their fields
US5710908A (en) 1995-06-27 1998-01-20 Canon Kabushiki Kaisha Adaptive network protocol independent interface
US5729681A (en) 1995-10-10 1998-03-17 Intel Corporation Method of communicating data from a host to a network controller
US5944659A (en) 1995-11-13 1999-08-31 Vitalcom Inc. Architecture for TDMA medical telemetry system
US5802511A (en) 1996-01-02 1998-09-01 Timeline, Inc. Data retrieval method and apparatus with multiple source capability
US6625617B2 (en) 1996-01-02 2003-09-23 Timeline, Inc. Modularized data retrieval method and apparatus with multiple source capability
EP0979464A4 (en) 1996-06-11 2005-04-06 Yeong Kuang Oon ITERACTIVE PROBLEM SOLUTION PROCESS
US8079953B2 (en) 1996-06-17 2011-12-20 Cybernet Systems Corporation General-purpose medical instrumentation
US6050940A (en) 1996-06-17 2000-04-18 Cybernet Systems Corporation General-purpose medical instrumentation
US7076436B1 (en) * 1996-07-08 2006-07-11 Rlis, Inc. Medical records, documentation, tracking and order entry system
US6651104B1 (en) 1996-11-12 2003-11-18 Ericsson Inc. Multi-layered interface for interconnecting application programs to system bus lines for electronic devices
US5999979A (en) 1997-01-30 1999-12-07 Microsoft Corporation Method and apparatus for determining a most advantageous protocol for use in a computer network
US6130917A (en) 1997-03-14 2000-10-10 Monroe; David A. Instant protocol selection scheme for electronic data transmission
US6128653A (en) 1997-03-17 2000-10-03 Microsoft Corporation Method and apparatus for communication media commands and media data using the HTTP protocol
EP0872991B1 (en) 1997-04-15 2006-07-26 Hewlett-Packard Company, A Delaware Corporation Method and apparatus for device interaction by format
US7290288B2 (en) * 1997-06-11 2007-10-30 Prism Technologies, L.L.C. Method and system for controlling access, by an authentication server, to protected computer resources provided via an internet protocol network
US6190313B1 (en) 1998-04-20 2001-02-20 Allen J. Hinkle Interactive health care system and method
JPH1175233A (ja) 1997-08-29 1999-03-16 Matsushita Electric Ind Co Ltd 無線呼出装置と着信呼出方法およびメッセージ読出方法
WO1999027482A1 (en) 1997-11-20 1999-06-03 Beth Israel Deaconess Medical Center Neonatal illness severity/mortality computerized determination system & method
US6275831B1 (en) 1997-12-16 2001-08-14 Starfish Software, Inc. Data processing environment with methods providing contemporaneous synchronization of two or more clients
US6697103B1 (en) * 1998-03-19 2004-02-24 Dennis Sunga Fernandez Integrated network for monitoring remote objects
US6848108B1 (en) 1998-06-30 2005-01-25 Microsoft Corporation Method and apparatus for creating, sending, and using self-descriptive objects as messages over a message queuing network
US6862622B2 (en) 1998-07-10 2005-03-01 Van Drebbel Mariner Llc Transmission control protocol/internet protocol (TCP/IP) packet-centric wireless point to multi-point (PTMP) transmission system architecture
WO2000004483A2 (en) 1998-07-15 2000-01-27 Imation Corp. Hierarchical data storage management
AUPP577298A0 (en) 1998-09-09 1998-10-01 Oon, Yeong Kuang Dr Automation oriented health care delivery system based on medical scripting language
US6574239B1 (en) 1998-10-07 2003-06-03 Eric Morgan Dowling Virtual connection of a remote unit to a server
US6584445B2 (en) 1998-10-22 2003-06-24 Computerized Health Evaluation Systems, Inc. Medical system for shared patient and physician decision making
US20010011222A1 (en) 1998-12-24 2001-08-02 Andrew W. Mclauchlin Integrated procurement management system using public computer network
US7904187B2 (en) 1999-02-01 2011-03-08 Hoffberg Steven M Internet appliance system and method
US6725281B1 (en) 1999-06-11 2004-04-20 Microsoft Corporation Synchronization of controlled device state using state table and eventing in data-driven remote device control model
US7411509B2 (en) 1999-06-23 2008-08-12 Visicu, Inc. System and method for observing patients in geographically dispersed health care locations
EP1788490B1 (en) 1999-06-30 2011-01-12 Apptitude, Inc. Method and apparatus for monitoring traffic in a network
GB2352370B (en) * 1999-07-21 2003-09-03 Int Computers Ltd Migration from in-clear to encrypted working over a communications link
US6250309B1 (en) 1999-07-21 2001-06-26 Medtronic Inc System and method for transferring information relating to an implantable medical device to a remote location
US7096282B1 (en) 1999-07-30 2006-08-22 Smiths Medical Pm, Inc. Memory option card having predetermined number of activation/deactivation codes for selectively activating and deactivating option functions for a medical device
US6496851B1 (en) 1999-08-04 2002-12-17 America Online, Inc. Managing negotiations between users of a computer network by automatically engaging in proposed activity using parameters of counterproposal of other user
US6332163B1 (en) 1999-09-01 2001-12-18 Accenture, Llp Method for providing communication services over a computer network system
US7934149B1 (en) * 1999-09-30 2011-04-26 Instantis, Inc. Automated creation and maintenance of programs to process internet form related submissions
US6940807B1 (en) 1999-10-26 2005-09-06 Velocity Communication, Inc. Method and apparatus for a X-DSL communication processor
US6440066B1 (en) 1999-11-16 2002-08-27 Cardiac Intelligence Corporation Automated collection and analysis patient care system and method for ordering and prioritizing multiple health disorders to identify an index disorder
US6612984B1 (en) 1999-12-03 2003-09-02 Kerr, Ii Robert A. System and method for collecting and transmitting medical data
US7590644B2 (en) 1999-12-21 2009-09-15 International Business Machine Corporation Method and apparatus of streaming data transformation using code generator and translator
US7194504B2 (en) 2000-02-18 2007-03-20 Avamar Technologies, Inc. System and method for representing and maintaining redundant data sets utilizing DNA transmission and transcription techniques
US6766361B1 (en) 2000-02-24 2004-07-20 Cephire Technologies, Inc. Machine-to-machine e-commerce interface using extensible markup language
JP4244492B2 (ja) 2000-03-24 2009-03-25 ソニー株式会社 情報処理装置、情報配信システム、情報処理方法、及び記録媒体
US7284199B2 (en) 2000-03-29 2007-10-16 Microsoft Corporation Process of localizing objects in markup language documents
US8135796B1 (en) * 2000-05-09 2012-03-13 Oracle America, Inc. Mechanism and apparatus for accessing and addressing services in a distributed computing environment
US7577834B1 (en) * 2000-05-09 2009-08-18 Sun Microsystems, Inc. Message authentication using message gates in a distributed computing environment
ATE502567T1 (de) 2000-05-19 2011-04-15 Welch Allyn Protocol Inc Vorrichtung zur überwachung von patienten
US6922685B2 (en) * 2000-05-22 2005-07-26 Mci, Inc. Method and system for managing partitioned data resources
WO2001097909A2 (en) 2000-06-14 2001-12-27 Medtronic, Inc. Deep computing applications in medical device systems
EP1331874B1 (en) 2000-06-30 2009-08-05 Becton Dickinson and Company A health outcomes and disease management network for providing improved patient care
FI20001630A (fi) 2000-06-30 2001-12-31 Nokia Mobile Phones Ltd Palvelun laadun määritys datavirroille
US6856651B2 (en) 2000-07-25 2005-02-15 Peribit Networks, Inc. System and method for incremental and continuous data compression
DE60109621T2 (de) 2000-07-25 2006-01-19 ACUO Technologies, LLC, Oakdale Routen und Speichern innerhalb eines Computer-Netzwerks
EP1410215A4 (en) * 2000-08-22 2006-10-11 Akamai Tech Inc COMPILING DYNAMIC CONTENT ON EDGE-OF-NETWORK SERVER IN A CONTENT DELIVERY NETWORK
US7200671B1 (en) 2000-08-23 2007-04-03 Mks Instruments, Inc. Method and apparatus for monitoring host to tool communications
US7072985B1 (en) 2001-05-02 2006-07-04 Mks Instruments, Inc. Method and apparatus for two phase structured message to tagged message translation
US6795868B1 (en) 2000-08-31 2004-09-21 Data Junction Corp. System and method for event-driven data transformation
US7054924B1 (en) 2000-09-29 2006-05-30 Cisco Technology, Inc. Method and apparatus for provisioning network devices using instructions in extensible markup language
US7181508B1 (en) 2000-11-09 2007-02-20 Oki Data Americas, Inc. System and method for communicating, monitoring and configuring a device operatively connected to a network
US20020128862A1 (en) 2001-01-05 2002-09-12 3M Innovative Properties Company Data representation management in a database
AU2002234258A1 (en) 2001-01-22 2002-07-30 Sun Microsystems, Inc. Peer-to-peer network computing platform
US20060173951A1 (en) * 2001-01-25 2006-08-03 Carlos Arteaga System and method for transfer, control, and synchronization of data
US6839753B2 (en) * 2001-02-23 2005-01-04 Cardiopulmonary Corporation Network monitoring systems for medical devices
US7373600B2 (en) 2001-03-27 2008-05-13 Koninklijke Philips Electronics N.V. DICOM to XML generator
US20030074248A1 (en) * 2001-03-31 2003-04-17 Braud Kristopher P. Method and system for assimilating data from disparate, ancillary systems onto an enterprise system
US7136846B2 (en) 2001-04-06 2006-11-14 2005 Keel Company, Inc. Wireless information retrieval
US7120646B2 (en) 2001-04-09 2006-10-10 Health Language, Inc. Method and system for interfacing with a multi-level data structure
US6792431B2 (en) 2001-05-07 2004-09-14 Anadarko Petroleum Corporation Method, system, and product for data integration through a dynamic common model
US7124299B2 (en) 2001-05-18 2006-10-17 Claymore Systems, Inc. System, method and computer program product for auditing XML messages in a network-based message stream
US6400286B1 (en) 2001-06-20 2002-06-04 Unisys Corporation Data compression method and apparatus implemented with limited length character tables
US20070016563A1 (en) 2005-05-16 2007-01-18 Nosa Omoigui Information nervous system
US20040172442A1 (en) 2001-06-27 2004-09-02 Ripley John R. System and Method for Sharing Data Between Hierarchical Databases
US7016963B1 (en) 2001-06-29 2006-03-21 Glow Designs, Llc Content management and transformation system for digital content
US7044911B2 (en) 2001-06-29 2006-05-16 Philometron, Inc. Gateway platform for biological monitoring and delivery of therapeutic compounds
US6978422B1 (en) 2001-09-28 2005-12-20 Emc Corporation Methods and apparatus for displaying managed resource information
US6839717B1 (en) 2001-10-15 2005-01-04 Ricoh Company, Ltd. Method and system of remote monitoring and support of devices, extracting data from different types of email messages, and storing data according to data structures determined by the message types
US6633833B2 (en) 2001-12-14 2003-10-14 Ge Medical Systems Global Technology Company, Llc Method and apparatus for remote diagnosis of an ultrasound scanner
US7034691B1 (en) * 2002-01-25 2006-04-25 Solvetech Corporation Adaptive communication methods and systems for facilitating the gathering, distribution and delivery of information related to medical care
CN1628304A (zh) 2002-02-07 2005-06-15 皇家飞利浦电子股份有限公司 用于管理终端多样性而上载的样式表
US7284240B1 (en) 2002-02-14 2007-10-16 Microsoft Corporation API schema language and transformation techniques
WO2003071391A2 (en) 2002-02-19 2003-08-28 Lexicor Medical Technology, Inc. Systems and methods for managing biological data and providing data interpretation tools
US20030167199A1 (en) * 2002-03-01 2003-09-04 Thomann Karen S. Automated workflow means and method for pension products
US6973496B2 (en) * 2002-03-05 2005-12-06 Archduke Holdings, Inc. Concealing a network connected device
JP2003263497A (ja) 2002-03-12 2003-09-19 Nippon Colin Co Ltd 医療情報提供方法および装置
US20030182626A1 (en) * 2002-03-22 2003-09-25 Eran Davidov On-demand creation of MIDlets
US20030212982A1 (en) 2002-05-09 2003-11-13 International Business Machines Corporation Message compiler for internationalization of application programs
US20040025167A1 (en) * 2002-06-07 2004-02-05 Grow John Darwin Software, method and system for data connectivity and integration having transformation and exchange infrastructure
US7392255B1 (en) 2002-07-31 2008-06-24 Cadence Design Systems, Inc. Federated system and methods and mechanisms of implementing and using such a system
US20040030763A1 (en) 2002-08-08 2004-02-12 Manter Venitha L. Method for implementing vendor-specific mangement in an inifiniband device
US20040044545A1 (en) 2002-08-28 2004-03-04 Wiesmann William P. Home care monitor systems
US20080313282A1 (en) * 2002-09-10 2008-12-18 Warila Bruce W User interface, operating system and architecture
US6685637B1 (en) 2002-10-11 2004-02-03 Koninklijke Philips Electronics N.V. Ultrasonic diagnostic imaging system with multiple language user interface
US20040088374A1 (en) 2002-10-31 2004-05-06 Webb James D. Aggregation and sharing of patient data
US7103676B2 (en) * 2002-11-04 2006-09-05 Nokia Corporation User-identifier translator and linking apparatus for XML-based services and corresponding method
US20040123287A1 (en) * 2002-12-19 2004-06-24 International Business Machines Corporation System and method for installation and Integration of component datamodels
US7051324B2 (en) * 2003-01-16 2006-05-23 International Business Machines Corporation Externalized classloader information for application servers
US7844657B2 (en) 2003-01-17 2010-11-30 Storz Endoskop Produktions Gmbh System for controlling medical devices
CA2514832C (en) 2003-02-14 2011-09-20 Research In Motion Limited System and method for compression of wireless applications expressed in a structured definition language
US7389474B2 (en) 2003-02-28 2008-06-17 Microsoft Corporation Language or script-based character set conversions per-application program
US7062251B2 (en) 2003-03-05 2006-06-13 University Of Florida Research Foundation, Inc., Managing critical care physiologic data using data synthesis technology (DST)
US7620959B2 (en) * 2003-05-12 2009-11-17 Microsoft Corporation Reflection-based processing of input parameters for commands
JP4546040B2 (ja) 2003-05-12 2010-09-15 キヤノン株式会社 ネットワークサービスシステムおよびサービス代行処理方法およびコンピュータが読取り可能なプログラムを格納した記憶媒体およびプログラム
CA2567051A1 (en) 2003-05-30 2004-12-23 Michael Mathur System, device, and method for remote monitoring and servicing
US7606929B2 (en) * 2003-06-30 2009-10-20 Microsoft Corporation Network load balancing with connection manipulation
US8200775B2 (en) 2005-02-01 2012-06-12 Newsilike Media Group, Inc Enhanced syndication
US7774486B2 (en) * 2003-08-11 2010-08-10 Teamon Systems, Inc. Communications system providing multi-layered extensible protocol interface and related methods
US7457672B2 (en) 2003-09-10 2008-11-25 General Electric Company Method and apparatus for exporting ultrasound data
EP1517504B1 (en) 2003-09-19 2007-01-24 Sun Microsystems, Inc. Method and apparatus for protocol processing in a computer system applying memory address translation
US7735000B2 (en) 2003-09-25 2010-06-08 Sony Corporation Information and content exchange document type definitions to support content distribution
US7783637B2 (en) 2003-09-30 2010-08-24 Microsoft Corporation Label system-translation of text and multi-language support at runtime and design
US20070169035A1 (en) 2003-09-30 2007-07-19 Siemens Ag Method and system for configuring the language of a computer program
US7408932B2 (en) 2003-10-20 2008-08-05 Intel Corporation Method and apparatus for two-stage packet classification using most specific filter matching and transport level sharing
US7509657B2 (en) 2003-10-28 2009-03-24 Hewlett-Packard Development Company, L.P. Application programming interface for a virtual switch
US7437484B2 (en) 2003-12-29 2008-10-14 International Business Machines Corporation Method for optimizing synchronization
US7380039B2 (en) * 2003-12-30 2008-05-27 3Tera, Inc. Apparatus, method and system for aggregrating computing resources
FR2864871A1 (fr) 2004-01-06 2005-07-08 Thomson Licensing Sa Methode de decouverte d'un reseau domestique et appareil implementant la methode
US7653227B2 (en) 2004-02-09 2010-01-26 Siemens Medical Solutions Usa, Inc. Hierarchical modeling in medical abnormality detection
US7698383B2 (en) * 2004-02-27 2010-04-13 Research In Motion Limited System and method for building component applications using metadata defined mapping between message and data domains
US20050204022A1 (en) 2004-03-10 2005-09-15 Keith Johnston System and method for network management XML architectural abstraction
ATE426965T1 (de) * 2004-05-04 2009-04-15 Research In Motion Ltd Anfrage-antwort-system und -verfahren
US8024128B2 (en) 2004-09-07 2011-09-20 Gene Security Network, Inc. System and method for improving clinical decisions by aggregating, validating and analysing genetic and phenotypic data
US20060069605A1 (en) 2004-09-29 2006-03-30 Microsoft Corporation Workflow association in a collaborative application
US7360154B2 (en) 2004-11-17 2008-04-15 Cisco Technology, Inc. System and method for virtual router enabled electronic documents
US20060111936A1 (en) 2004-11-23 2006-05-25 General Electric Company Container system and method for hosting healthcare applications and componentized archiecture
US8478849B2 (en) 2004-12-07 2013-07-02 Pure Networks LLC. Network administration tool
US7600217B2 (en) * 2004-12-14 2009-10-06 Sap Ag Socket-like communication API for Java
US20060129435A1 (en) 2004-12-15 2006-06-15 Critical Connection Inc. System and method for providing community health data services
US7441185B2 (en) 2005-01-25 2008-10-21 Microsoft Corporation Method and system for binary serialization of documents
US7788648B2 (en) 2005-02-28 2010-08-31 International Business Machines Corporation System and method for the localization of released computer program
ATE407508T1 (de) 2005-03-22 2008-09-15 Koninkl Philips Electronics Nv Adressierungsschema für intelligente drahtlose sensoren-netzwerke zum medizinischen gebrauch
US8543999B2 (en) 2005-03-30 2013-09-24 Welch Allyn, Inc. Communication of information between a plurality of network elements
US20070027670A1 (en) 2005-07-13 2007-02-01 Siemens Medical Solutions Health Services Corporation User Interface Update System
EP1963958B1 (en) 2005-12-21 2019-04-24 Digimarc Corporation Rules driven pan id metadata routing system and network
US7523442B2 (en) * 2006-01-06 2009-04-21 International Business Machines Corporation JNDI validation
US20070174429A1 (en) * 2006-01-24 2007-07-26 Citrix Systems, Inc. Methods and servers for establishing a connection between a client system and a virtual machine hosting a requested computing environment
US8127021B2 (en) 2006-03-18 2012-02-28 Metafluent, Llc Content aware routing of subscriptions for streaming and static data
US7904563B2 (en) * 2006-03-31 2011-03-08 Microsoft Corporation Establishing and utilizing terminal server dynamic virtual channels
EP2074542A2 (en) 2006-10-04 2009-07-01 Welch Allyn, Inc. Dynamic medical object information base
US8966235B2 (en) 2006-10-24 2015-02-24 Kent E. Dicks System for remote provisioning of electronic devices by overlaying an initial image with an updated image
US8214566B2 (en) 2009-07-24 2012-07-03 Welch Allyn, Inc. Configurable health-care equipment apparatus

Also Published As

Publication number Publication date
BRPI0607738A2 (pt) 2009-10-06
RU2007135827A (ru) 2009-05-10
US8402161B2 (en) 2013-03-19
WO2006105139A3 (en) 2009-05-07
EP1866780A4 (en) 2013-07-31
US20080082683A1 (en) 2008-04-03
US20130166903A1 (en) 2013-06-27
KR20070116893A (ko) 2007-12-11
EP1866780A2 (en) 2007-12-19
WO2006105139A2 (en) 2006-10-05
IL186249A0 (en) 2008-01-20
US8543999B2 (en) 2013-09-24
US20100005448A1 (en) 2010-01-07
US8856380B2 (en) 2014-10-07
CA2603380A1 (en) 2006-10-05

Similar Documents

Publication Publication Date Title
JP2008538028A (ja) 複数のネットワーク構成要素間における情報の通信
JP6974400B2 (ja) 医療監視システム
US20120284734A1 (en) Universal medical device driver adapter
Clarke et al. Interoperable end-to-end remote patient monitoring platform based on IEEE 11073 PHD and ZigBee health care profile
US7979136B2 (en) Method and system for multi-device communication
US7430608B2 (en) System for processing data acquired from multiple medical devices
AU2007307196B2 (en) Dynamic medical object information base
US6067628A (en) Method to monitor universal serial bus hub overcurrent
KR101660141B1 (ko) 신뢰할 수 있고 확장가능한 건강 상태 감시를 위한 시스템 및 방법
US9641589B2 (en) Extensibility for manipulation of medical data
WO2008147567A1 (en) Integration and control of medical devices in a clinical environment
WO2009071195A2 (en) Method and system for wireless device communication
AU2010221400A1 (en) Portable communication devices and methods for use in a life critical network
US8572610B2 (en) Patient monitoring system and method of safe operation with third party parameter applications
AU2006230217B2 (en) Communication of information between a plurality of network elements
RU2541106C2 (ru) Облегчение операций ввода-вывода в режиме передачи между канальной подсистемой и устройствами ввода-вывода
Hofmann Modeling medical devices for plug-and-play interoperability
CN111045976A (zh) 一种mcu之间的通信方法、装置、系统及存储介质
Vega et al. Design of a test framework for automated interoperability testing of healthcare information systems
CN103607394A (zh) 生理参数监护仪的ieee11073 phd协议自动转换方法和装置
CN111221571B (zh) 外设驱动制作方法、装置以及计算机可读介质
CN112333267A (zh) 用于医疗设备物联网的数据采集终端
US9609110B2 (en) Apparatus for bi-directional communication with medical and wellness devices
Ruiz et al. Iso/ieee11073 family of standards: Trends and applications on e-health monitoring
CN103562899A (zh) 促进通道子系统与输入/输出设备之间的传输模式输入/输出操作

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20090602