JP2004206708A - 二進データを解析する方法、システム及びコンピュータ製品 - Google Patents

二進データを解析する方法、システム及びコンピュータ製品 Download PDF

Info

Publication number
JP2004206708A
JP2004206708A JP2003419029A JP2003419029A JP2004206708A JP 2004206708 A JP2004206708 A JP 2004206708A JP 2003419029 A JP2003419029 A JP 2003419029A JP 2003419029 A JP2003419029 A JP 2003419029A JP 2004206708 A JP2004206708 A JP 2004206708A
Authority
JP
Japan
Prior art keywords
tree
data
analysis
value
difference
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.)
Granted
Application number
JP2003419029A
Other languages
English (en)
Other versions
JP5268220B2 (ja
JP2004206708A5 (ja
Inventor
Stuart Lyle Schrader
ステュワート・ライル・シュラーダー
Robert J Laferriere
ロバート・ジェイ・ラフェリェール
James Steven Cincotta
ジェームズ・スティーブン・チンコッタ
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.)
GE Medical Systems Information Technologies Inc
Original Assignee
GE Medical Systems Information Technologies 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 GE Medical Systems Information Technologies Inc filed Critical GE Medical Systems Information Technologies Inc
Publication of JP2004206708A publication Critical patent/JP2004206708A/ja
Publication of JP2004206708A5 publication Critical patent/JP2004206708A5/ja
Application granted granted Critical
Publication of JP5268220B2 publication Critical patent/JP5268220B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • G06F40/221Parsing markup language streams
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/14Tree-structured documents
    • G06F40/143Markup, e.g. Standard Generalized Markup Language [SGML] or Document Type Definition [DTD]
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H10/00ICT specially adapted for the handling or processing of patient-related medical or healthcare data
    • G16H10/60ICT specially adapted for the handling or processing of patient-related medical or healthcare data for patient-specific data, e.g. for electronic patient records

Abstract

【課題】 二進データを解析する。
【解決手段】 本方法(150,200)は、二進データ(245)を受け取ると共に、非差分解析法又は差分解析法のいずれかを呼び出す解析要求(250)を受け取るステップ(165)と、解析木(235)を呼び出す(170)と共に、受け取った二進データ(245)を解析するための解析定義(215)を受け取るステップと、二進データ(245)を解析して(175)、解析定義(215)に従って値を定めるステップと、データ・ビルダ(265)を呼び出して(260)、解析された値を管理するステップとを含んでいる。解析された値は、更新されたデータ木(275)に挿入され、オブジェクト(275,300)が解析要求者(250)に戻される(285,305)。
【選択図】 図2

Description

本発明は一般的に云えばデータを解析(parse) する方法に関し、具体的には二進データを解析する方法に関するものである。
病院では典型的には、病院内の様々な部門を管理するためにコンピュータ・システムを利用している。各々の患者についてのデータが様々なコンピュータ・システムによって収集されている。例えば、患者は生命兆候の監視のために入院することがある。患者についての情報(例えば、人口統計及び保険契約)は病院情報システム(HIS)によって得て、患者記録に蓄積することができる。この情報は次いで特定の部門情報システム(DIS)へ送られる。典型的には、DISは一会社の製品であるのに対して、HISは別の会社の製品である。その結果、両者の間でデータベースが異なっている。更に、それらはデータ中の異なるレベルのグラニュラリティ(granularity;塊)を捕捉/保持し且つ送っている。一旦患者情報をDISが受け取ると、患者についてパラメータ調査(parametric study)のためのスケジュールを定めることができる(パラメータ調査のパラメータは一群の生命兆候である)。次いで、パラメータ調査が臨床医によって行われる。撮像及び測定が行われて、それらの画像及び測定値はDISサーバーに送られる。読取りを行う医師(例えば、専門医)が点検ステーションに座って、患者のパラメータ調査を引き出す。そこで、専門医は画像及び測定値の点検して、パラメータ調査についての完全な医学的レポートを作成し始める。次いで、医学的レポートは、レポートの内容を記述する診療データ・コードを含む構造化レポート(SR)文書としてコード化することができる。専門医が医学的レポートを完了したとき、そのレポートはDISサーバーへ送られて、そこに記憶され且つ患者識別データにより患者と関連付けられる。診療データ・コードを含む完了した医学的レポートは、ネットワークを介してデータ・リポジトリ(repository)へ二進データ・ストリームとして送ることのできる種類のレポートの一例である。
典型的には、これらの二進データ構造は、データ・ストリーム内で続く二進部分構造を解釈する方法を定義するデータ値を含んでいる。次に、それらの二進部分構造は、それらの中の更なる部分構造を定義する追加のタイプのフィールドを含んでいてよい。このプロセスが継続して、構造の階層的集合を形成すると、大きく且つ複雑なデータ構造が生じることがあり、その結果、低帯域幅通信線路を介してのデータ伝送が遅くなる。
一実施形態では、二進データを解析する方法を提供する。この方法は、二進データを受け取ると共に、非差分解析法(non-differenced parsing method)又は差分解析法(differenced parsing method)のいずれかを呼び出す解析要求を受け取るステップと、解析木を呼び出すと共に、二進データを解析するための解析定義を受け取るステップと、二進データを解析して、解析定義に従って値を定めるステップと、データ・ビルダ(builder) を呼び出して、解析された値を管理するステップと、該値をデータ木に挿入するステップと、オブジェクトを解析要求者に戻すステップとを含んでいる。
別の実施形態では、通信線路を介して伝送するための医学的二進データを解析する方法を提供する。この方法は、二進データを受け取ると共に、非差分解析法又は差分解析法のいずれかを呼び出す解析要求を受け取るステップと、最後の既知のデータ木をメモリに記憶させるステップと、解析木を呼び出すと共に、二進データを解析するための解析定義を受け取るステップと、二進データを解析して、解析定義に従って値を定めるステップと、データ・ビルダを呼び出して、解析された値を管理するステップと、該値を更新されたデータ木に挿入するステップと、差分解析法が呼び出された場合にメモリから最後の既知のデータ木を検索するステップと、差分解析法が呼び出された場合に更新されたデータ木を最後の既知のデータ木と比較するステップと、差分解析法が呼び出された場合に最後の既知のデータ木から更新されたデータ木への変更分を含む差分木を作成するステップと、更新されたデータ木又は差分木のいずれかを解析要求者に戻すステップとを含んでいる。
更に別の実施形態では、二進データを解析するシステムを提供する。このシステムは、通信線路を介して伝送するための医学的二進データを解析する方法を実施するためのソフトウエアを持つ病院内コンピュータ・システムを含んでいる。病院内コンピュータ・システムはネットワークと通信関係にあり、前記ソフトウエアは以下の命令、すなわち、二進データを受け取ると共に、非差分解析法又は差分解析法のいずれかを呼び出す解析要求を受け取る命令と、最後の既知のデータ木をメモリに記憶させる命令と、解析木を呼び出すと共に、二進データを解析するための解析定義を受け取る命令と、二進データを解析して、解析定義に従って値を定める命令と、データ・ビルダを呼び出して、解析された値を管理する命令と、該値を更新されたデータ木に挿入する命令と、差分解析法が呼び出された場合にメモリから最後の既知のデータ木を検索する命令と、差分解析法が呼び出された場合に更新されたデータ木を最後の既知のデータ木と比較する命令と、差分解析法が呼び出された場合に最後の既知のデータ木から更新されたデータ木への変更分を含む差分木を作成する命令と、更新されたデータ木又は差分木のいずれかを解析要求者に戻す命令とを含んでいる。
別の実施形態では、二進データを解析する方法を提供する。この方法は、解析定義ファイルを読み出すことによってバリュー・パーサ(value parser)を初期化すると共に、解析定義を表す解析木を作成するステップと、基本データ要素又は非基本データ要素のいずれかを持つ二進データ入力を受け入れるステップと、基本データ要素に応答してデータ・ビルダを呼び出すと共に、基本データ要素を基本解析ノードでデータ木に挿入するステップと、非基本データ要素に応答してデータ・ビルダを呼び出すと共に、非基本データ要素を非基本解析ノードでデータ木に挿入するステップと、非差分データ木又は差分木のいずれかを確立して戻すステップとを含んでいる。
更に別の実施形態では、二進データを解析するためのコンピュータ・プログラム製品を提供する。このコンピュータ・プログラム製品は処理回路によって読出し可能である記憶媒体を含んでおり、該記憶媒体は処理回路によって実行するための以下の命令、すなわち、二進データを受け取ると共に、非差分解析法又は差分解析法のいずれかを呼び出す解析要求を受け取る命令と、最後の既知のデータ木をメモリに記憶させる命令と、解析木を呼び出すと共に、受け取った二進データを解析するための解析定義を受け取る命令と、二進データを解析して、解析定義に従って値を定める命令と、データ・ビルダを呼び出して、解析された値を管理する命令と、該値を更新されたデータ木に挿入する命令と、差分解析法が呼び出された場合にメモリから最後の既知のデータ木を検索する命令と、差分解析法が呼び出された場合に更新されたデータ木を最後の既知のデータ木と比較する命令と、差分解析法が呼び出された場合に最後の既知のデータ木から更新されたデータ木への変更分を含む差分木を作成する命令と、更新されたデータ木又は差分木のいずれかを解析要求者に戻す命令とを記憶している。
以下に図面を参照して説明するが、幾つかの図においては同様な要素には同じ参照符号を付している。
本発明の一実施形態は、患者に関連した生のデータを通信し又はコンピュータ・ネットワークを介して医学的装置インターフェース及びドライバを更新するために使用される医学的二進データ構造を解析するための基礎的設備及びプロセスを提供する。図1は医学的二進データを解析するための模範的なシステムを示す。様々な病院に配置されている病院内コンピュータ・システム110がネットワーク120に接続されている。病院内コンピュータ・システム110はホスト・システム130へ医学的データを送る。ホスト・システム130は、ホスト記憶装置132上に配置されたデータ・リポジトリ及びホスト・コンピュータ134を含んでいる。病院内コンピュータ・システム110は典型的には、コード化した医学的報告及びネットワーク接続を実行するためのアプリケーション・ソフトウエア、並びにコード化した医学的データを記憶するための1台以上の病院内記憶装置112を含んでいる。更に、病院内コンピュータ・システム110は医学的データを解析するためのアプリケーション・ソフトウエアを含んでいる。医学的データは、通信線路を介しての伝送を容易にするのに適したフォーマットに二進データ構造として構成され、またそうするために、データ・ストリームの中に埋め込まれるプロトコル情報を含んでいず、もって、線路の性能向上を必要とすることなく、低い帯域幅を持っていてよい既存の通信線路を介して圧縮した形での通信を可能にする。解析木及びデータ木を含む解析済みのデータ・オブジェクトは、複数の病院内コンピュータ・システム110の間でアクセスするためにホスト記憶装置132上に記憶される。
一般に、解析木は、読み込んでいる二進データの構造を表し且つ階層構成の解析ノード(木の枝及び葉)を含んでいる。解析木はバリュー・パーサによって記憶され、且つ二進データを受け取る実行時(runtime) に繰返し呼び出される。データ木は、受け取った二進データの解析されたデータ値を、プログラムによって処理するのに適した階層形式で表す情報木である。データ・ビルダは、データ木を構築し且つ該データ木が持つフォーマットを定める一クラスのソフトウエアである。後で説明する図3には、医学的二進データを解析するための模範的な方法を示している。
図1のシステム100は1つ又は複数のユーザ・システム140を含んでおり、ユーザ・システム140を介して、エンド・ユーザすなわち顧客は、ホスト記憶装置132上に配置されたデータ・リポジトリに記憶されている特定の情報にアクセスするためにホスト・コンピュータ134上のアプリケーション・プログラムに対して要求を行うことができる。模範的な実施形態では、ホスト・コンピュータ134は、記憶装置132上に配置されたデータ・リポジトリに格納されたデータにアクセスするプログラムを実行する。ユーザ・システム140はホスト・コンピュータ134に直接接続することができ、或いはネットワーク120を介してホスト・コンピュータ134に結合することもできる。各々のユーザ・システム140は、本書で述べるプロセスを実施するためのコンピュータ・プログラムを実行する汎用コンピュータを用いて具現化することができる。ユーザ・システム140はパーソナル・コンピュータ又はホストに付属する端末装置であってよい。ユーザ・システム140がパーソナル・コンピュータである場合、本書で述べる処理は、ユーザ・システム140にアプレットを供給することによりユーザ・システム140とホスト・コンピュータ134とによって分担することができる。
ネットワーク120は、任意の型式の公知のネットワーク、例えば、ローカル・エリア・ネットワーク(LAN)、ワイド・エリア・ネットワーク(WAN)、イントラネット、又はグローバル・ネットワーク(例えば、インターネット)とすることができる。同じネットワークを介して全てのユーザ・システム140をホスト・コンピュータ134に結合する必要がないように、ユーザ・システム140は複数のネットワーク(例えば、イントラネット及びインターネット)を介してホスト・コンピュータ134に結合することができる。ユーザ・システム140及びホスト・コンピュータ134の1つ又は複数は無線によってネットワーク120に接続することができ、またネットワーク120は無線ネットワークとすることができる。模範的な実施形態では、ネットワーク120はインターネットであり、各々のユーザ・システム140はホスト・コンピュータ134に直接接続するためにユーザ・インターフェース・アプリケーションを実行する。別の実施形態では、ユーザ・システム140は、ネットワーク120を介してホスト・コンピュータ134に連絡するためにウェブ・ブラウザを実行することができる。代替の態様では、ユーザ・システム140は、主にネットワーク120にアクセスするためにプログラムされている装置を使用して具現化することができる。
ホスト・コンピュータ134は、それによってアクセス可能である記憶媒体に記憶されているコンピュータ・プログラムに応答して動作するサーバーを使用して具現化することができる。ホスト・コンピュータ134は、ユーザ・システム140と通信するためにネットワーク・サーバー(しばしば、ウェブ・サーバーとも呼ばれる)として動作することができる。ホスト・コンピュータ134はユーザ・システム140及び病院内コンピュータ・システム110に対する情報の送受を取り扱うと共に、関連したタスクを実行できる。ホスト・コンピュータ134はホスト・コンピュータ134に対する無許可のアクセスを防止し且つ許可されたアクセスについて何らかの制約を課すファイアウォールを備えることもできる。例えば、管理者が全システムにアクセスして、システムの一部を修正する権限を持つことができ、また顧客は特定の製品についてデータ・リポジトリの記録の一部を見るためにのみアクセスすることができる。模範的な実施形態では、管理者は新規のユーザを追加し、ユーザを削除し、またユーザの特権を変更する能力を有する。ファイアウォールは従来公知のように通常のハードウエア及び/又はソフトウエアを使用して具現化することができる。
ホスト・コンピュータ134はまたアプリケーション・サーバーとして動作する。ホスト・コンピュータ134は、記憶装置132上に配置されたデータ・リポジトリにアクセスするために1つ又は複数のアプリケーション・プログラムを実行すると共に、医学的二進データを解析し且つ医学的情報の効率よい通信のために解析木及びデータ木を構築するアプリケーション・プログラムを実行する。処理は、ユーザ・システム140にアプリケーション(例えば、JAVAアプレット:「JAVA」は商標)を供給することによりユーザ・システム140とホスト・コンピュータ134とによって分担することができる。この代わりに、ユーザ・システム140は、本書で述べる処理の一部を実行するためにスタンドアロン(独立型)ソフトウエア・アプリケーションを含んでいてよい。同様に、処理は、病院内コンピュータ・システム110にアプリケーションを供給することにより病院内コンピュータ・システム110とホスト・コンピュータ134とによって分担することができ、またこの代わりに、病院内コンピュータ・システム110は、本書で述べる処理の一部を実行するためにスタンドアロン・ソフトウエア・アプリケーションを含んでいてよい。ネットワーク・サーバー機能及びアプリケーション・サーバー機能を具現化するために別々のサーバーを使用してもよいことは勿論である。その代替態様として、ネットワーク・サーバー、ファイアウォール及びアプリケーション・サーバーは、所要の機能を行うためのコンピュータ・プログラムを実行する単一のサーバーによって具現化できる。
ホスト記憶装置132は、ファイル転送プロトコル(FTP)サーバーのような電子情報を記憶するための様々な装置を使用して具現化することができる。勿論、ホスト記憶装置132はホスト・コンピュータ134内に含まれるメモリを使用して具現化してもよく、或いは物理的に別個の装置であってもよい。ホスト記憶装置132は様々な情報を格納しており、1つ又は複数の病院からの医学的レポートを共通のフォーマットで(例えば、同じ診療コードを使用して)格納するデータ・リポジトリ、及び共通のフォーマット及びデータベース・レイアウトを記述するスキーマ(schema)を含んでいる。ホスト・コンピュータ134はまたデータベース・サーバーとして動作して、ホスト記憶装置132に記憶されたデータを含むアプリケーション・データへのアクセスを調整することができる。データ・リポジトリは、ユーザ特性に基づいてアクセスが制限された単一のデータベースとして物理的に格納でき、或いはユーザ・システム140又はホスト・コンピュータ134上のデータベースの部分を含む様々なデータベース内に物理的に格納できる。模範的な実施形態では、データ・リポジトリはリレーショナル・データベース・システムを使用して具現化され、このデータベース・システムは顧客の特性に基づいて異なる顧客にデータの異なる見方を提供する。
本発明の模範的な実施形態では、異なる知識ベースを使用してコード化された医学的データが共通の/規範的な表現に変換される。病院及び臨床医は、患者の診療の結果を示す診療レポートを作成するためのツールを使用する。これらのツールは診療用語を表すための診療コードを使用し、診療コードはツール毎に及び病院毎に異ならせていてよい。更に、診療データを記憶するために使用される構造化レポート(SR)オブジェクトの種類はツール毎に及び病院毎に異ならせていてよい。本発明の模範的な一実施形態は、変更された診療レポートを解析して圧縮した表現(例えば、特定の患者に関連した更新された生命兆候)にするために利用できる。これは、臨床医及び医師のような顧客によって適時に使用するために、更新された患者データを異なる診療所及び病院へ伝送線路を介して素早く伝送する能力を提供できる。
ここで図2を参照して説明すると、初期化段階151と実行時段階152とを含む、二進データを解析するための模範的なプロセス150の一般的な流れ図が示してある。後で説明する図3は、プロセス150をより詳しくブロック線図形式で示している。
プロセス150は、ブロック155において始まり、バリュー・パーサと解析定義ファイルとの間で通信を開始し、該バリュー・パーサで解析定義ファイルを解析する。
ブロック160において、解析木をバリュー・パーサ・ハンドラで構築する(これについては後で図4を参照してより詳しく説明する)。
ブロック165において、二進データ及び解析要求をバリュー・パーサで受け取り、解析要求は非差分解析法又は差分解析法のいずれかを呼び出す。
ブロック170において、解析木を呼び出し、二進データを解析するための準備として解析定義を受け取る。
ブロック175において、二進データを解析木で解析して、解析定義に従って値を定める。データ・ビルダを呼び出して、解析された値を管理し且つデータ木を構築する。
ブロック180において、解析された値をデータ木に挿入して、データ木を更新する。
ブロック185において、更新されたデータ木又は差分木のようなオブジェクト(後でより詳しく説明する)を解析要求者に戻す。
図3は、初期化段階と実行時段階とを含む、二進データを解析するための模範的なプロセス200のブロック線図を示している。実行時段階は非差分解析法及び差分解析法を含んでいる(後でより詳しく説明する)。
プロセス200は初期化手順で始まり、該手順では、バリュー・パーサ205が解析定義ファイル215と通信210を開始して、解析構成を読み出す。バリュー・パーサ205はこの情報を使用して、バリュー・パーサ・ハンドラ225及びデータ・ビルダ265と通信し、その目的は二進データ245を解析するための解析木235を作成することである。バリュー・パーサは、二進データを解析してデータ値を求めるデータ解析アルゴリズムを具現化する一クラスのソフトウエアである。しかしながら、模範的な解析定義ファイルはXMLスキーマ内にあり、解析規則はXMLスキーマとして表される必要はなく、当該分野で公知の任意の態様で記述することができる。XMLスキーマは、XMLファイルについての許容可能な要素、属性及び値を記述するファイル・フォーマットであり、XML入力の正確さを検証するための妥当性確認パーサによって使用することができる。XMLスキーマにより、XMLデータのフォーマットについての制御をかなり大きくすることができる。模範的な実施形態では、スキーマ定義はXMLで行われる。定義ファイル215内の解析定義は、二進入力データ・ストリームを解析する仕方を定義するXMLである。バリュー・パーサ・ハンドラは、解析定義ファイル内のXML要素を解析木内のノードへマッピングする一クラスのソフトウエアである。
バリュー・パーサ205は、プログラムがXMLを解釈することを可能にするSAX、すなわち、「XML用の簡単なアプリケーション・インターフェース」を使用して、バリュー・パーサ・ハンドラ225へSAXコールバックを送る(220)ことによって定義ファイル215内の解析定義を解析する。SAXコールバックを受け取ったとき、バリュー・パーサ・ハンドラ225は解析木235を構築(230)する。解析木は一般に、読み込むべき二進データのフォーマットを定義する枝分かれ解析ノードの集合であり、一旦作成されると、バリュー・パーサ205によってメモリに記憶されて、解析法が呼び出される毎に繰返し使用される。解析ノードは解析木内の個別の要素であり、2種類のノード、すなわち、基本(primitive) ノード又はコンテナ(container) ノードの一方とすることができる。基本解析ノードは、整数、文字列、ブール記号列、又はその他の任意のネイティブJAVA型のデータ(「JAVA」は商標)のような「基本」値を表し、常に解析木の「葉」である。コンテナ・ノードは、その他の解析ノードを含んでおり、例えば、グループ化、繰返し及び条件付きスイッチングのために使用される。解析木の構築について、図4を参照して後でより詳しく説明する。
一旦完全なXML解析定義がバリュー・パーサ205によって読み込まれると、解析木235はデータを解析する準備ができる。
上記のプロセスのステップ210,220,230は、解析定義から解析木を作成する初期化段階を記述している。その後のプロセスは、解析木を使用して解析要求と共に受け取った二進データを解析する実行時段階を記述する。
実行時では、バリュー・パーサ205が二進データ245及び解析要求250を受け取る(240)。解析要求250には、非差分解析又は差分解析のいずれかについての呼出しが含まれている。これについては後でより詳しく説明するが、一般的には、非差分解析は情報の完全な(更新された)データ木を解析要求者(250)に戻すのに対し、差分解析は、最後の既知のデータ集合が保存されているので、変更した情報のみを含む差分木を戻す。
二進データ245及び解析要求250の受取り(240)時に、バリュー・パーサ205は、二進データ245を解析するために、上述したように作成された解析木235を呼び出す(255)。
解析木235における二進データ245の解析は、受け取った解析定義215に従って実行され、解析木のルート(根)から始まる。解析要求250を受け取ると、再帰的な一組の呼出しが開始されて、解析木235内の各々の関連した解析ノードがその子供の全てについて解析要求を呼び出し、これは基本解析ノードが見出されるまで続く。基本解析ノードが見出されたとき、値取得法が呼び出されて、その解析ノードに割り当てるためにデータ・ストリーム内の現在位置からの値を定めて解析する。
データ・ストリームから読み出した各々の要素について、解析木235はデータ・ビルダ265での値挿入法を呼び出す(260)。データ・ビルダ265は次いで、解析された値を管理してデータ木275内に挿入することによって、データ木275を構築する(270)。解析定義の要素が解析木内の二進ストリームにおける所与のデータ片を記述し、値(バリュー)は該要素の処理後に生じる数値である。二進データ・ストリームからの新しいデータ片の解析が完了したとき、バリュー・パーサ・ハンドラ225及び解析木235を介して、バリュー・パーサ205からのコールバックをデータ・ビルダ265で受け取る。
全てのデータを読み出された後、バリュー・パーサ205はデータ木275を呼び出して(280)、そのデータについての任意の追加の処理を実行し、その後、最初に非差分解析が呼び出された場合はデータ木275(解析要求者に戻される一種のオブジェクト)を解析要求者(250)に戻し(285)、また最初に差分解析が呼び出された場合は差分法を呼び出す(290)。
差分解析が呼び出された場合、バリュー・パーサ205は、以前に作成されて記憶されている最後の既知のデータ木をそのキャッシュ・メモリから検索して、最後の既知のデータ木と新しい(更新された)データ木との間の比較分析を行い、それらの差のみを差分木300に送る(295)。差分木300は最後の既知のデータ木が保存されたときからの変更された情報のみを含んでいる。
差分木300の作成後、その差分木300(解析要求者に戻される別の種類のオブジェクト)は解析要求者(250)に戻される(305)。
ここで、解析木235を構築するプロセスを示している図4を参照して説明すると、バリュー・パーサ・ハンドラ225は、二進データ・ストリーム内のスタート及びエンド要素を含んでいるバリュー・パーサ205からのコールバック220を受け取った後、解析木235を構築する。解析定義のスタート及びエンド要素は、様々なパラメータ、例えば、スタート要素についてのアドレス、局部名称(XML要素の局部名称は要素の名称から名称余白分を削除したものである)、修飾された名称及び属性、並びにエンド要素についてのアドレス、局部名称、修飾された名称及び属性に従って、データ・ストリーム内の関連したデータを記述する。バリュー・パーサ205で解析要求を受け取ったとき、バリュー・パーサ205は解析定義ファイル215を解析して解析引数を読み込み、解析引数を含むコールバックをバリュー・パーサ・ハンドラ225へ送る(220)。
バリュー・パーサ・ハンドラ225はバリュー・パーサ205によって通されたXML要素を読み込んで、該要素がスタート要素である場合、解析木スタック355が空であるか否か判定する(350)。
スタック355が空である場合、バリュー・パーサ・ハンドラ225は解析木ルート・ノードを作成して(360)、新しく作成したノードを解析木235へ押し込む。解析木ルート・ノードはデータ木ルート・ノードとも称され、バリュー・パーサ205が二進データ245の処理を開始する木の中の場所である。
スタック355が空でない場合、バリュー・パーサ・ハンドラ225はスタック355を探索する(365)ことによって、関連した親解析ノードを識別し、次いでXML要素の名称を、バリュー・パーサ205でバリュー・パーサ・タグ・ファイルに記憶されている一組の既知の要素の名称に整合させようと試みる。各々の既知の要素の名称は次いで、バリュー・パーサ205で特定の解析木ノードにマッピングされる。整合する要素の名称が見出された場合、バリュー・パーサ・ハンドラ225は標準解析木ノードを作成して(370)、この標準ノードを親解析ノードで始まる解析木235に追加し(375)、既知の要素を標準ノードにマッピングし、標準ノードを解析木235の現在レベルに押し込む(385)。整合する要素の名称が見出されない場合、バリュー・パーサ・ハンドラ225は延長ノード取得法によりカスタム解析木ノードを作成し(380)、このカスタム・ノードを親解析ノードで始まる解析木235に追加し(375)、整合していない要素をカスタム・ノードにマッピングし、カスタム・ノードを解析木235の現在レベルに押し込む(385)。
ノードを作成して解析木235に追加する上記プロセスは、バリュー・パーサ205でエンド要素に遭遇するまで続く。エンド要素は、その特定の二進データ構造についての解析木の完了を意味する。
より一般的な観点から、ここで図5及び図6を参照して説明すると、バリュー・パーサ205は、XML解析定義ファイル215を読み込んで(230)、解析定義を表し且つ解析定義によって定められる解析木235を構築する(230)ことによって初期化される。解析定義ファイル215は、 バリュー・パーサ205によって受け入れられて処理される二進データ245のフォーマットを指定する。実行時に、解析木235は、基本データ要素及び非基本データ要素を含む二進データ245受け入れる。基本データ要素が二進ストリームから読み込まれたとき、解析木235がデータ・ビルダ265を呼び出して(260)、データ要素を基本解析ノードでデータ木275に挿入する(270)。非基本データ要素が二進ストリームから読み込まれたとき、解析木235がデータ・ビルダ265を呼び出して(260)、データ要素を非基本解析ノードでデータ木275に挿入する(270)。データ木はバリュー・パーサ・システムの産物であり、意味のあるデータ構造内の二進データを表す。差分論理及び変換手法を適用することによって、XMLは更にこの木を処理することができる。その結果得られるデータ木又は差分木は解析要求者へ戻される。
解析木ノードを解析するための詳しいプロセス400が図7に示されている。該プロセスは方法入口405から始まって、ブロック410へ進み、そこで子供ノードを探す。ブロック415で、より多くの子供ノードが存在するか否か子供ノードを繰り返す。ブロック415が「真」である場合、ノードがコンテナ・ノードであるか否か判定される(420)。ブロック420が「真」である場合、子供コンテナ・ノードが解析される(425)。ブロック425の後、プロセス論理はブロック430へ進み、そこで、解析されたノードの実行合計索引を更新する。ブロック420が「偽」である場合、解釈すべきでない二進データを飛び越すための「スキップ」属性が設定されているか否か判定する(435)。ブロック435が「真」である場合、プロセス論理はブロック430へ進む。ブロック435が「偽」である場合、プロセス論理はブロック440へ進み、そこで、子供ノードの値が値取得アルゴリズムを介して決定される。ブロック440の後、プロセス論理はブロック445へ進み、そこで、子供が切り換え可能である否か判定する。切り換え可能なノードは、それがオンに切り換えられているとき、すなわち、切り換え可能が「真」であると設定されているとき、整合させるべき値を定める。切り換え可能である場合、ノードの値は環境設定ファイル又はデータ木275によって後で参照するためにメモリに一時的に記憶される。ブロック445が「真」である場合、ブロック440からの値が実行時キャッシュに挿入される(450)。ブロック450の後、又はブロック445が「偽」である場合、プロセス論理はブロック455へ進み、そこで、スキップ属性が設定されているか否か判定する。ブロック455が「真」である場合、「進み無し」属性が設定されているか否か判定し(460)、設定されている場合は読出し索引が進められない。所与の値がデータ・ストリームから読み出される場合、その値は読み出されるが、読出しポインタは進められない。「進み無し」属性は典型的には、ビットフィールド要素(すなわち、ビットフィールドは一緒に考慮すべき一組のバイトである)の内部の基本要素と共に使用されて、読出しポインタの進行を防止する。ブロック455が「偽」である場合、プロセス論理はブロック465へ進み、そこで、データ・ビルダ265が呼び出されて、ブロック440からの値をデータ木275に挿入する。
ブロック460が「真」である場合、プロセス論理はブロック415へ進む。ブロック460が「偽」である場合、プロセス論理はブロック430へ進む。ブロック430の後、プロセス論理はブロック415へ進む。ブロック415が「偽」である場合、プロセス論理はブロック470へ進み、そこで、戻し索引のサイズを判定する。実行合計を戻すべき場合(「進み無し」属性が設定されていない場合)、プロセス論理はブロック475へ進み、そこで、戻し索引についての実行合計が戻される。定義済みサイズ進行を戻すべき場合(「進み無し」属性が設定されている場合)、プロセス論理はブロック480へ進み、そこで、戻し索引についての定義済みサイズが戻される。ブロック475及び480の後、プロセス論理はブロック485へ進み、そこで、プロセス400が終了する。
トレンド(trends)からのディレクトリ要求応答を処理する簡単な例を使用して、値解析のための模範的なプロセスを以下に説明する。このプロセスは一般的には図3を参照して説明したプロセスに続く。
最初に、ユーザは、解析する必要のあるデータ245の二進フォーマットを識別し、データ245が本質的に区分化されている場合は、ユーザはそれらの区分を識別する。データが常に共通のヘッダ区分又はプロトコル識別子から始まる場合に、区分識別が実行される。例えば、ETFTPトレンド応答が常に「ベッド・メッセージ」構造(これは最も一般的なUnity I コードである)で始まり、その後にETFTP要求コード(これはETFTP要求をするコードの中で一般的である)が続き、その後にトレンド・データ自身が続く。これらの離散的な区分は別々のXMLファイルに分割され、マスター解析定義がエンティティ基準(reference) を使用してそれらを参照する。エンティティ基準はXMLファイル内の基準であり、それは別のXMLファイルへのリンクとして作用する。
ユーザは、二進データ・フォーマットが繰り返えすか又は以前の読込み値に依存するストリーム内に将来区分を持っているかどうか識別する。この状況では、応答フォーマットは下記の3つの一次区分を有する。
(a)「ETFTP要求」ヘッダ(36バイト)(図9参照):これは全ての, ETFTP要求の中で共通な区分である;
(b)「データ・トレンド・メニュー」ブロック(7バイト)(図9参照);
(c)「トレンド・エントリ」ブロック(図9参照);これは複数の6バイトのエントリを含み、各々はトレンド・エントリを表し、これは所与の名称の下に複数の要素を一緒にグループ化するように作用するグループ・カテゴリイである。
二進トレンド・ディレクトリ応答の一例は図8に示している二進シーケンスのように見えることがある。
次に、ユーザにより解析定義ファイル215を作成する。二進データが区分化されている場合、解析定義ファイルは複数の区分で定義され、外部基準がこれらの区分を一緒に「接着」するために使用される。解析定義XMLファイルが図9に示されている。図9において、模範的なファイル内の唯一のバリュー・パーサのタグはトレンド・エントリに固有のものであり、SAXパーサがファイルを読み込むときに、該パーサはエンティティ基準を分解する。分解されたXMLファイルが図10に示されている。全ての外部基準が分解されたとき、これはXMLファイルをウェブ・ブラウザ(例えば、インターネット・エクスプローラ(商標)5.0以上)内へドラッグすることによって観察するために実行することができるが、解析定義が読出し可能になる。
次いでユーザによりデータ・ビルダ265を作成する。データ・ビルダ265は、二進データ245を処理しているとき、解析木235からコールバックを受け取る。データ・ビルダ265は、ユーザが望むどんな態様ででもデータ木275を作成する。次いで、この木275は差分作成を支援するために使用し、データとして他の方法へ渡し、又は伝送のために(XMLのような)他のフォーマットに変換することができる。図8の模範的な二進ストリームについての模範的なデータ・ビルダ265は「com.ge.med.rsvp.server.rsvpserver.unity.trend.TrendDirBuilder 」クラスである。解析木235は、データ値を読み出すときにこのクラスについて値挿入(260)法を呼び出す。データ・ビルダ265はそのデータ・オブジェクト(データ木275)として「com.ge.med.rsvp.server.rsvpserver.trend.TrendDirectory」オブジェクトを構築する。
実行時では、データ245を受け取ったとき、データ・シンク・クラスがバリュー・パーサ205を呼び出す。データ・シンク(data sink) は、ネットワーク又はファイルのようなソースからデータを受け取るクラス(class) である。データ・シンク・クラスはバリュー・パーサ205を呼び出して、検索されたデータを解析させると共に、データ木275を要求者へ転送させる。この戻されたデータ木275は次いで、それを必要とする者へ渡される。例えば、「com.ge.med.rsvp.server.rsvpserver.unity.trend.UnityTrendController」のようなトレンド・コントローラが、そのETFTP要求から受け取ったデータと共に、バリュー・パーサ205を呼び出す。戻されたトレンド・ディレクトリ(TrendDirectory)オブジェクトはディレクトリ取得(getDirectory)プロセスの呼出しの結果として送られる。
二進ストリーム・フォーマット及び解析木構文が解析アルゴリズムから自由に変更できること、並びに二進ストリームが厳密にコード化されていないので、それは新しいXML解析ファイルと共に変更できることに留意されたい。それは構造及び動的処理であり、本発明の実施形態の特徴である実際の入力/出力ストリームではない。
解析定義ファイルを使用すると、二進処理コードの具現化に、データ要素についてスイッチするための長い「ケース型」文を使用する必要性がなくなる。代わりに、バリュー・パーサ・システムがデータについて解析木を構築し、解析木は、受け取った各々の二進データ集合について繰返し呼び出される。従って、外部処理コードはパーサからのデータ木を処理することを必要とするだけである。解析定義はXMLで書かれているので、エンティティ基準は全定義を統合するために外部XMLファイルに対して使用して、共通の処理ブロックを異なる解析定義の間で共有させることができる。このやり方は、共通のヘッダとそれに続く型固有の情報があるプロトコルで使用することができ、特にシステム・アーキテクチャにプロトコル情報を埋め込むことを必要とせずに、医学的二進データの解析及び分配のために使用することができる。低帯域幅の線路であってよい通信線路を介して医学的二進データを伝送するために解析木及び差分木を使用することは、医学的二進データの効率よいエンコーディング、圧縮及び伝送を可能にする。
解析定義ファイル及び解析木の実現により、二進データに対してビット・マスクを適用するか又はコードに枝分かれケース文を使用する必要性もなくなり、これにより、生のデータが異なるアプリケーションのために解釈されるとき、ソフトウエアをコンパイルし直し且つ分配し直す必要性がなくなる。
以上述べたように、本発明の実施形態はコンピュータ具現化プロセス及びそれらのプロセスを実施するための装置の形で具体化され得る。本発明の実施形態はまた、フレキシブル・ディスク、CD−ROM、ハード・ドライブ又は任意の他のコンピュータ読出し可能な記憶媒体のような有形媒体内に具体化された命令を含んでいるコンピュータ・プログラム・コードの形で具体化することができ、その場合、コンピュータ・プログラム・コードがコンピュータにロードされてコンピュータによって実行されるとき、コンピュータは本発明を実施する装置になる。本発明の一実施形態はまた、例えば、記憶媒体に記憶されるのか、コンピュータにロードされ及び/又はコンピュータによって実行されるのか、或いは、電気配線又はケーブル、光ファイバ又は電磁放射のような何らかの伝送媒体を介して伝送されるのかに拘わらず、コンピュータ・プログラム・コードの形で具体化することができ、その場合、コンピュータ・プログラム・コードがコンピュータにロードされてコンピュータによって実行されるとき、コンピュータは本発明を実施する装置になる。汎用マイクロプロセッサ上で具現化されるとき、コンピュータ・プログラム・コードのセグメントは、特定の論理回路を作成するようにマイクロプロセッサを構成する。
これまで本発明を模範的な実施形態に関して説明したが、当業者には本発明の範囲から逸脱することなく様々な変更をなし得ること及びその要素を等価物と置換し得ることが理解されよう。更に、本発明の本質的な範囲から逸脱することなく特定の状況又は部材を本発明の教示に適合させるように多くの修正をなすことができる。従って、本発明は本発明を実施するための最良の形態として開示した特定の実施形態に限定されず、本発明は特許請求の範囲内に入る全ての実施形態を含むものである。更に、「第1」、「第2」などの用語の使用は順序や重要性を表すものではなく、むしろ「第1」、「第2」などの用語は一要素を別の要素から区別するために使用している。
医学的二進データを解析するための模範的なシステムの構成図である。 図1のシステムで医学的二進データを解析するための模範的なプロセスの流れ図である。 図1のシステムで医学的二進データを解析するための模範的なプロセスのブロック図である。 本発明の一実施形態に従って解析木を構築するための模範的なプロセス図である。 本発明の一実施形態に従った初期化プロセスの模範的なブロック図である。 本発明の一実施形態に従った実行時プロセスの模範的なブロック図である。 本発明の一実施形態に従った解析木ノードを解析するための模範的なプロセスのブロック図である。 本発明の一実施形態に従って使用するための二進数列の模範的な例示図である。 本発明の一実施形態に従って使用するための模範的なXML解析定義ファイルである。 本発明の一実施形態に従って使用するための模範的な解明されたXMLファイルである。
符号の説明
100 医学的二進データを解析するシステム
110 病院内コンピュータ・システム
112 病院内記憶装置
130 ホスト・システム
132 ホスト記憶装置
140 ユーザ・システム
150 二進データを解析するためのプロセス
151 初期化段階
152 実行時段階
200 二進データを解析するためのプロセス
400 解析木ノードを解析するためのプロセス

Claims (10)

  1. 二進データ(245)を解析する方法(150,200)であって、
    バリュー・パーサ(205)で、二進データ(245)を受け取ると共に、非差分解析法及び差分解析法の少なくとも一方を呼び出す解析要求(250)を受け取るステップ(165)と、
    解析木(235)を呼び出す(170)と共に、前記受け取った二進データ(245)を解析するための解析定義(215)を受け取るステップと、
    前記解析木(235)で前記二進データ(245)を解析して(175)、前記解析定義(215)に従って値を定めると共に、データ・ビルダ(265)を呼び出して(260)、前記解析された値を管理するステップと、
    前記値を、更新されたデータ木(275)に挿入するステップ(180)と、
    オブジェクト(275,300)を解析要求者(250)に戻すステップ(285,305)と、
    を含んでいる方法(150,200)
  2. 非差分解析法及び差分解析法の少なくとも一方を呼び出す前記ステップが、非差分解析法を呼び出すステップを含み、
    オブジェクト(275,300)を解析要求者(250)に戻す前記ステップ(285,305)が、前記更新されたデータ木(275)を前記解析要求者(250)へ戻すステップ(285,305)を含んでいる、
    請求項1記載の方法(150,200)。
  3. 非差分解析法及び差分解析法の少なくとも一方を呼び出す前記ステップが、差分解析法を呼び出すステップを含み、
    当該方法は更に、前記バリュー・パーサ(205)でメモリ内に最後の既知のデータ木(275)を記憶させるステップと、
    前記バリュー・パーサ(205)で前記メモリから前記最後の既知のデータ木(275)を検索するステップと、
    前記最後の既知のデータ木(275)からの前記データ木(275)における変更部分を含む差分木 (300)を作成するステップ(295)と、を含んでおり、
    オブジェクト(275,300)を解析要求者(250)に戻す前記ステップ(285,305)が、前記差分木(300)を前記解析要求者(250)へ戻すステップを含んでいる、請求項1記載の方法(150,200)。
  4. 通信線路を介して伝送するための医学的二進データ(245)を解析する方法(150,200)であって、
    バリュー・パーサ(205)で、二進データ(245)を受け取ると共に、非差分解析法及び差分解析法の少なくとも一方を呼び出す解析要求(250)を受け取るステップ(165)と、
    最後の既知のデータ木(275)をバリュー・パーサ(205)でメモリに記憶させるステップと、
    解析木(235)を呼び出す(170)と共に、前記受け取った二進データ(245)を解析するための解析定義(215)を受け取るステップと、
    前記解析木(235)で前記二進データ(245)を解析して(175)、前記解析定義(215)に従って値を定めると共に、データ・ビルダ(265)を呼び出して(175)、前記解析された値を管理するステップと、
    前記値を、更新されたデータ木に挿入するステップ(180)と、
    差分解析法が呼び出された場合に前記バリュー・パーサ(205)で前記メモリから前記最後の既知のデータ木(275)を検索するステップと、
    差分解析法が呼び出された場合に前記更新されたデータ木(275)を前記最後の既知のデータ木(275)と比較するステップ(290)と、
    差分解析法が呼び出された場合に前記最後の既知のデータ木(275)から前記更新されたデータ木(275)への変更分を含む差分木(300)を作成するステップ(295)と、
    前記更新されたデータ木(275)又は前記差分木(300)の少なくとも一方を解析要求者(250)へ戻すステップ(185)と、
    を含んでいる方法(150,200)。
  5. 二進データ(245)を解析するシステム(100)であって、
    ネットワーク(120)と通信関係にあり、且つ通信線路を介して伝送するための医学的二進データ(245)を解析する方法(150,200)を実施するためのソフトウエアを持つ病院内コンピュータ・システム(110)を含んでおり、前記方法(150,200)が下記のステップ、すなわち、
    バリュー・パーサ(205)で、二進データ(245)を受け取ると共に、非差分解析法及び差分解析法の少なくとも一方を呼び出す解析要求(250)を受け取るステップ(165)と、
    最後の既知のデータ木(275)をバリュー・パーサ(205)でメモリに記憶させるステップと、
    解析木(235)を呼び出す(170)と共に、前記受け取った二進データ(245)を解析するための解析定義(215)を受け取るステップと、
    前記解析木(235)で前記二進データ(245)を解析して(175)、前記解析定義(215)に従って値を定めると共に、データ・ビルダ(265)を呼び出して(260)、前記解析された値を管理するステップと、
    前記値を、更新されたデータ木(275)に挿入するステップ(180)と、
    差分解析法が呼び出された場合に前記バリュー・パーサ(205)で前記メモリから前記最後の既知のデータ木(275)を検索するステップと、
    差分解析法が呼び出された場合に前記更新されたデータ木を前記最後の既知のデータ木(275)と比較するステップと、
    差分解析法が呼び出された場合に前記最後の既知のデータ木(275)から前記更新されたデータ木(275)への変更分を含む差分木(300)を作成するステップ(295)と、
    前記更新されたデータ木(275)又は前記差分木(300)の少なくとも一方を解析要求者(250)へ戻すステップ(185)と、
    を含んでいることを特徴とするシステム(100)。
  6. 前記システムは更に、ネットワーク(120)を含んでおり、前記病院内コンピュータ・システム(110)は前記ネットワーク(120)と通信関係にある、請求項5記載のシステム(100)。
  7. 前記値を挿入する前記ステップ(180)は更に、プロトコル情報が埋め込まれていない更新されたデータ木(275)に前記値を挿入するステップを含んでおり、また、差分木(300)を作成する前記ステップ(295)は更に、プロトコル情報が埋め込まれていない差分木(300)を作成するステップ(295)を含んでいる、請求項5記載のシステム(100)。
  8. 前記システムは更に、ネットワーク(120)を含んでおり、前記病院内コンピュータ・システム(110)は前記ネットワーク(120)と通信関係にある、請求項7記載のシステム(100)。
  9. 二進データ(245)を解析する方法(200)であって、
    解析定義ファイル(215)を読み出すことによってバリュー・パーサ(205)を初期化(210)すると共に、解析定義(215)を表す解析木(235)を作成するステップと、
    前記バリュー・パーサ(205)及び前記解析木(235)で基本データ要素又は非基本データ要素の少なくとも一方を持つ二進データ(245)入力を受け入れるステップ(240)と、
    基本データ要素に応答してデータ・ビルダ(265)を呼び出す(260)と共に、基本データ要素を基本解析ノードでデータ木(275)に挿入するステップと、
    非基本データ要素に応答してデータ・ビルダ(265)を呼び出す(260)と共に、非基本データ要素を非基本解析ノードで前記データ木(275)に挿入するステップと、
    非差分データ木(275)又は差分木(300)の少なくとも一方を確立して戻すステップ(285,305)と、
    を含んでいる方法(200)。
  10. 二進データ(245)を解析するためのコンピュータ・プログラム製品であって、処理回路によって読出し可能である記憶媒体を含んでおり、該記憶媒体が処理回路によって実行するための以下の命令、すなわち、
    バリュー・パーサ(205)で、二進データ(245)を受け取ると共に、非差分解析法又は差分解析法の少なくとも一方を呼び出す解析要求(250)を受け取る命令(240)と、
    最後の既知のデータ木(275)をバリュー・パーサ(205)でメモリに記憶させる命令と、
    解析木(235)を呼び出す(170)と共に、受け取った二進データ(245)を解析するための解析定義(215)を受け取る命令と、
    前記解析木(235)で前記二進データ(245)を解析して(175)、前記解析定義(215)に従って値を定めると共に、データ・ビルダ(265)を呼び出して(260)、解析された値を管理する命令と、
    前記値を、更新されたデータ木(275)に挿入する命令(180)と、
    差分解析法が呼び出された場合に前記バリュー・パーサ(205)で前記メモリから前記最後の既知のデータ木(275)を検索する命令と、
    差分解析法が呼び出された場合に前記更新されたデータ木を前記最後の既知のデータ木(275)と比較する命令(290)と、
    差分解析法が呼び出された場合に前記最後の既知のデータ木(275)から前記更新されたデータ木への変更分を含む差分木(300)を作成する命令(295)と、
    前記更新されたデータ木(275)又は差分木(300)の少なくとも一方を解析要求者(250)に戻す命令(285,305)と
    を記憶していること、を特徴とするコンピュータ・プログラム製品。
JP2003419029A 2002-12-18 2003-12-17 二進データを解析する方法、システム及びコンピュータ製品 Expired - Fee Related JP5268220B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/248,097 US7111286B2 (en) 2002-12-18 2002-12-18 Method, system and computer product for parsing binary data
US10/248,097 2002-12-18

Publications (3)

Publication Number Publication Date
JP2004206708A true JP2004206708A (ja) 2004-07-22
JP2004206708A5 JP2004206708A5 (ja) 2009-03-19
JP5268220B2 JP5268220B2 (ja) 2013-08-21

Family

ID=30770690

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003419029A Expired - Fee Related JP5268220B2 (ja) 2002-12-18 2003-12-17 二進データを解析する方法、システム及びコンピュータ製品

Country Status (5)

Country Link
US (1) US7111286B2 (ja)
JP (1) JP5268220B2 (ja)
CN (1) CN100367702C (ja)
DE (1) DE10358834A1 (ja)
GB (1) GB2396933A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102265937B1 (ko) * 2020-12-21 2021-06-17 주식회사 모비젠 시퀀스데이터의 분석 방법 및 그 장치

Families Citing this family (97)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7346848B1 (en) 2000-06-21 2008-03-18 Microsoft Corporation Single window navigation methods and systems
US6948135B1 (en) 2000-06-21 2005-09-20 Microsoft Corporation Method and systems of providing information to computer users
US7624356B1 (en) 2000-06-21 2009-11-24 Microsoft Corporation Task-sensitive methods and systems for displaying command sets
US7191394B1 (en) 2000-06-21 2007-03-13 Microsoft Corporation Authoring arbitrary XML documents using DHTML and XSLT
US6883168B1 (en) 2000-06-21 2005-04-19 Microsoft Corporation Methods, systems, architectures and data structures for delivering software via a network
US7155667B1 (en) 2000-06-21 2006-12-26 Microsoft Corporation User interface for integrated spreadsheets and word processing tables
US7000230B1 (en) 2000-06-21 2006-02-14 Microsoft Corporation Network-based software extensions
US7409440B1 (en) 2002-12-12 2008-08-05 F5 Net Works, Inc. User defined data items
US7296263B1 (en) 2002-12-12 2007-11-13 F5 Networks, Inc. Method and system for performing operations on data using XML streams
US7415672B1 (en) 2003-03-24 2008-08-19 Microsoft Corporation System and method for designing electronic forms
US7275216B2 (en) * 2003-03-24 2007-09-25 Microsoft Corporation System and method for designing electronic forms and hierarchical schemas
US7370066B1 (en) 2003-03-24 2008-05-06 Microsoft Corporation System and method for offline editing of data files
US7913159B2 (en) 2003-03-28 2011-03-22 Microsoft Corporation System and method for real-time validation of structured data files
US7296017B2 (en) * 2003-03-28 2007-11-13 Microsoft Corporation Validation of XML data files
US7210137B1 (en) * 2003-05-13 2007-04-24 Microsoft Corporation Memory mapping and parsing application data
US7451392B1 (en) 2003-06-30 2008-11-11 Microsoft Corporation Rendering an HTML electronic form by applying XSLT to XML using a solution
US7406660B1 (en) 2003-08-01 2008-07-29 Microsoft Corporation Mapping between structured data and a visual surface
US7334187B1 (en) 2003-08-06 2008-02-19 Microsoft Corporation Electronic form aggregation
US7970801B1 (en) * 2004-01-21 2011-06-28 Computer Associates Think, Inc. Data packaging system and method
US7953769B1 (en) * 2004-01-21 2011-05-31 Computer Associates Think, Inc. XML data packaging system and method
US8819072B1 (en) 2004-02-02 2014-08-26 Microsoft Corporation Promoting data from structured data files
US7496837B1 (en) 2004-04-29 2009-02-24 Microsoft Corporation Structural editing with schema awareness
US7949545B1 (en) 2004-05-03 2011-05-24 The Medical RecordBank, Inc. Method and apparatus for providing a centralized medical record system
US7539982B2 (en) * 2004-05-07 2009-05-26 International Business Machines Corporation XML based scripting language
US7774620B1 (en) 2004-05-27 2010-08-10 Microsoft Corporation Executing applications at appropriate trust levels
US7108433B2 (en) * 2004-06-24 2006-09-19 Eastman Kodak Company Thermal processor employing varying roller spacing
US8000452B2 (en) * 2004-07-26 2011-08-16 General Motors Llc Method and system for predictive interactive voice recognition
US7516399B2 (en) * 2004-09-30 2009-04-07 Microsoft Corporation Structured-document path-language expression methods and systems
US7692636B2 (en) 2004-09-30 2010-04-06 Microsoft Corporation Systems and methods for handwriting to a screen
US7712022B2 (en) 2004-11-15 2010-05-04 Microsoft Corporation Mutually exclusive options in electronic forms
US7721190B2 (en) 2004-11-16 2010-05-18 Microsoft Corporation Methods and systems for server side form processing
US7904801B2 (en) 2004-12-15 2011-03-08 Microsoft Corporation Recursive sections in electronic forms
US7937651B2 (en) 2005-01-14 2011-05-03 Microsoft Corporation Structural editing operations for network forms
US7725834B2 (en) 2005-03-04 2010-05-25 Microsoft Corporation Designer-created aspect for an electronic form template
US8266188B2 (en) * 2005-03-08 2012-09-11 Ca, Inc. Method and system for extracting structural information from a data file
US8010515B2 (en) 2005-04-15 2011-08-30 Microsoft Corporation Query to an electronic form
US8200975B2 (en) 2005-06-29 2012-06-12 Microsoft Corporation Digital signatures for network forms
US8015236B2 (en) * 2005-10-25 2011-09-06 Waratek Pty. Ltd. Replication of objects having non-primitive fields, especially addresses
DE102005052798B4 (de) 2005-11-05 2007-12-13 Semikron Elektronik Gmbh & Co. Kg Anordnung mit Leistungshalbleitermodulen und mit Vorrichtung zu deren Positionierung sowie Verfahren zur Oberflächenbehandlung der Leistungshalbleitermodule
US8001459B2 (en) 2005-12-05 2011-08-16 Microsoft Corporation Enabling electronic documents for limited-capability computing devices
US7779343B2 (en) * 2006-01-30 2010-08-17 Microsoft Corporation Opening network-enabled electronic documents
US8745486B2 (en) * 2007-01-25 2014-06-03 Microsoft Corporation Streamable interactive rendering-independent page layout
US7949826B2 (en) * 2007-07-05 2011-05-24 International Business Machines Corporation Runtime machine supported method level caching
US8132162B2 (en) * 2007-07-05 2012-03-06 International Business Machines Corporation Runtime machine analysis of applications to select methods suitable for method level caching
US8121117B1 (en) 2007-10-01 2012-02-21 F5 Networks, Inc. Application layer network traffic prioritization
US8234626B2 (en) * 2008-06-04 2012-07-31 Dell Products L.P. Modular ASL component
US9191397B2 (en) * 2008-06-27 2015-11-17 Microsoft Technology Licensing, Llc Extension model for improved parsing and describing protocols
CN101620593B (zh) * 2008-06-30 2011-07-06 国际商业机器公司 解析电子表单的内容的方法及电子表单服务器
US9558164B1 (en) 2008-12-31 2017-01-31 F5 Networks, Inc. Methods and system for converting WSDL documents into XML schema
US8239842B2 (en) * 2009-02-24 2012-08-07 Microsoft Corporation Implicit line continuation
KR101667415B1 (ko) * 2009-04-02 2016-10-18 삼성전자주식회사 휴대단말기의 인맥관리 서비스 장치 및 방법
US10721269B1 (en) 2009-11-06 2020-07-21 F5 Networks, Inc. Methods and system for returning requests with javascript for clients before passing a request to a server
US8806056B1 (en) 2009-11-20 2014-08-12 F5 Networks, Inc. Method for optimizing remote file saves in a failsafe way
US11140178B1 (en) 2009-11-23 2021-10-05 F5 Networks, Inc. Methods and system for client side analysis of responses for server purposes
US9420049B1 (en) 2010-06-30 2016-08-16 F5 Networks, Inc. Client side human user indicator
US9503375B1 (en) 2010-06-30 2016-11-22 F5 Networks, Inc. Methods for managing traffic in a multi-service environment and devices thereof
US8347100B1 (en) 2010-07-14 2013-01-01 F5 Networks, Inc. Methods for DNSSEC proxying and deployment amelioration and systems thereof
US10296653B2 (en) 2010-09-07 2019-05-21 F5 Networks, Inc. Systems and methods for accelerating web page loading
US8879431B2 (en) 2011-05-16 2014-11-04 F5 Networks, Inc. Method for load balancing of requests' processing of diameter servers
US8924974B1 (en) * 2011-06-08 2014-12-30 Workday, Inc. System for error checking of process definitions for batch processes
US8396836B1 (en) 2011-06-30 2013-03-12 F5 Networks, Inc. System for mitigating file virtualization storage import latency
US8463850B1 (en) 2011-10-26 2013-06-11 F5 Networks, Inc. System and method of algorithmically generating a server side transaction identifier
US10230566B1 (en) 2012-02-17 2019-03-12 F5 Networks, Inc. Methods for dynamically constructing a service principal name and devices thereof
US9020912B1 (en) 2012-02-20 2015-04-28 F5 Networks, Inc. Methods for accessing data in a compressed file system and devices thereof
US9244843B1 (en) 2012-02-20 2016-01-26 F5 Networks, Inc. Methods for improving flow cache bandwidth utilization and devices thereof
EP2853074B1 (en) 2012-04-27 2021-03-24 F5 Networks, Inc Methods for optimizing service of content requests and devices thereof
US10033837B1 (en) 2012-09-29 2018-07-24 F5 Networks, Inc. System and method for utilizing a data reducing module for dictionary compression of encoded data
US9578090B1 (en) 2012-11-07 2017-02-21 F5 Networks, Inc. Methods for provisioning application delivery service and devices thereof
US10375155B1 (en) 2013-02-19 2019-08-06 F5 Networks, Inc. System and method for achieving hardware acceleration for asymmetric flow connections
US9497614B1 (en) 2013-02-28 2016-11-15 F5 Networks, Inc. National traffic steering device for a better control of a specific wireless/LTE network
US10187317B1 (en) 2013-11-15 2019-01-22 F5 Networks, Inc. Methods for traffic rate control and devices thereof
US10198583B2 (en) * 2013-11-26 2019-02-05 Sap Se Data field mapping and data anonymization
US11838851B1 (en) 2014-07-15 2023-12-05 F5, Inc. Methods for managing L7 traffic classification and devices thereof
KR102258100B1 (ko) * 2014-11-18 2021-05-28 삼성전자주식회사 텍스쳐 처리 방법 및 장치
US10182013B1 (en) 2014-12-01 2019-01-15 F5 Networks, Inc. Methods for managing progressive image delivery and devices thereof
US11895138B1 (en) 2015-02-02 2024-02-06 F5, Inc. Methods for improving web scanner accuracy and devices thereof
US10834065B1 (en) 2015-03-31 2020-11-10 F5 Networks, Inc. Methods for SSL protected NTLM re-authentication and devices thereof
US11350254B1 (en) 2015-05-05 2022-05-31 F5, Inc. Methods for enforcing compliance policies and devices thereof
US10505818B1 (en) 2015-05-05 2019-12-10 F5 Networks. Inc. Methods for analyzing and load balancing based on server health and devices thereof
US10476992B1 (en) 2015-07-06 2019-11-12 F5 Networks, Inc. Methods for providing MPTCP proxy options and devices thereof
US11757946B1 (en) 2015-12-22 2023-09-12 F5, Inc. Methods for analyzing network traffic and enforcing network policies and devices thereof
US10404698B1 (en) 2016-01-15 2019-09-03 F5 Networks, Inc. Methods for adaptive organization of web application access points in webtops and devices thereof
US10797888B1 (en) 2016-01-20 2020-10-06 F5 Networks, Inc. Methods for secured SCEP enrollment for client devices and devices thereof
US11178150B1 (en) 2016-01-20 2021-11-16 F5 Networks, Inc. Methods for enforcing access control list based on managed application and devices thereof
US10412198B1 (en) 2016-10-27 2019-09-10 F5 Networks, Inc. Methods for improved transmission control protocol (TCP) performance visibility and devices thereof
US11063758B1 (en) 2016-11-01 2021-07-13 F5 Networks, Inc. Methods for facilitating cipher selection and devices thereof
US10505792B1 (en) 2016-11-02 2019-12-10 F5 Networks, Inc. Methods for facilitating network traffic analytics and devices thereof
US10812266B1 (en) 2017-03-17 2020-10-20 F5 Networks, Inc. Methods for managing security tokens based on security violations and devices thereof
US11122042B1 (en) 2017-05-12 2021-09-14 F5 Networks, Inc. Methods for dynamically managing user access control and devices thereof
US11343237B1 (en) 2017-05-12 2022-05-24 F5, Inc. Methods for managing a federated identity environment using security and access control data and devices thereof
US11537797B2 (en) * 2017-12-25 2022-12-27 Koninklijke Philips N.V. Hierarchical entity recognition and semantic modeling framework for information extraction
US11223689B1 (en) 2018-01-05 2022-01-11 F5 Networks, Inc. Methods for multipath transmission control protocol (MPTCP) based session migration and devices thereof
CN111090417B (zh) * 2019-11-14 2023-11-28 杭州中恒电气股份有限公司 二进制文件解析方法、装置、设备及介质
CN111123888B (zh) * 2019-12-19 2022-03-15 江苏中天互联科技有限公司 一种工控协议测试方法、系统及电子设备和存储介质
CN112328001B (zh) * 2020-11-04 2023-11-21 西京学院 一种机械式二进制计算装置
CN113760372B (zh) * 2021-11-10 2022-02-08 航天宏图信息技术股份有限公司 一种二进制数据包的解析方法及系统
CN115203132B (zh) * 2022-09-15 2022-12-06 上海波客实业有限公司 一种用于按需求快速提取op2文件架构的设计方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1016987A2 (en) * 1998-12-29 2000-07-05 Sun Microsystems, Inc. Propagating updates efficiently in hierarchically structured data

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4787035A (en) * 1985-10-17 1988-11-22 Westinghouse Electric Corp. Meta-interpreter
US5680622A (en) * 1994-06-30 1997-10-21 Borland International, Inc. System and methods for quickly detecting shareability of symbol and type information in header files
US5671416A (en) * 1995-02-24 1997-09-23 Elson; David Apparatus and a method for searching and modifying source code of a computer program
US6085186A (en) * 1996-09-20 2000-07-04 Netbot, Inc. Method and system using information written in a wrapper description language to execute query on a network
JPH11249987A (ja) 1998-03-05 1999-09-17 Nec Corp メッセージ処理装置およびその方法ならびにメッセージ処理制御プログラムを格納した記憶媒体
US6389425B1 (en) * 1998-07-09 2002-05-14 International Business Machines Corporation Embedded storage mechanism for structured data types
US6611844B1 (en) * 1999-02-19 2003-08-26 Sun Microsystems, Inc. Method and system for java program storing database object entries in an intermediate form between textual form and an object-oriented form
US6446256B1 (en) * 1999-06-30 2002-09-03 Microsoft Corporation Extension of parsable structures
US6353925B1 (en) * 1999-09-22 2002-03-05 Compaq Computer Corporation System and method for lexing and parsing program annotations
GB2385158A (en) 2002-02-07 2003-08-13 Guang Yang A system for inserting hierarchical data into an existing document

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1016987A2 (en) * 1998-12-29 2000-07-05 Sun Microsystems, Inc. Propagating updates efficiently in hierarchically structured data

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102265937B1 (ko) * 2020-12-21 2021-06-17 주식회사 모비젠 시퀀스데이터의 분석 방법 및 그 장치

Also Published As

Publication number Publication date
JP5268220B2 (ja) 2013-08-21
GB0329147D0 (en) 2004-01-21
DE10358834A1 (de) 2004-07-29
US7111286B2 (en) 2006-09-19
CN100367702C (zh) 2008-02-06
GB2396933A (en) 2004-07-07
CN1509007A (zh) 2004-06-30
US20040123277A1 (en) 2004-06-24

Similar Documents

Publication Publication Date Title
JP5268220B2 (ja) 二進データを解析する方法、システム及びコンピュータ製品
US7024425B2 (en) Method and apparatus for flexible storage and uniform manipulation of XML data in a relational database system
CN100424696C (zh) 处理抽象查询的方法和系统
JP3437849B2 (ja) オブジェクト指向プログラミングを支援するデータベース管理システム及び方法
US6963880B1 (en) Schema evolution of complex objects
US7117436B1 (en) Generating a Web page by replacing identifiers in a preconstructed Web page
US7366973B2 (en) Item, relation, attribute: the IRA object model
US8145685B2 (en) Object relational mapping layer
US8607139B2 (en) System and process for managing content organized in a tag-delimited template using metadata
US20060224613A1 (en) Method and system for an administrative apparatus for creating a business rule set for dynamic transform and load
US7577900B2 (en) Mechanism for maintaining data format synchronization between different entities
US8001159B2 (en) Using viewtypes for accessing instance data structured by a base model
US10089374B2 (en) Meta model driven data base replication and synchronization
US20090138500A1 (en) Method of compact display combined with property-table-view for a complex relational data structure
US7257647B2 (en) Development environment platform using message type mapping for converting message and providing information between systems having different data structures
WO2002031690A2 (en) A universal device to construct outputs for xml queries
JP2005018776A (ja) クエリ中間言語の方法およびシステム
US20060259638A1 (en) Rapid development in a distributed application environment
US20020107881A1 (en) Markup language encapsulation
CN112363695B (zh) Pmml文件及其运行时环境与工业软件的集成方法
JP2002525744A (ja) テキスト・オブジェクトのコンパイル方法およびシステム
CN113238740B (zh) 代码生成方法、代码生成装置、存储介质及电子设备
US7107594B1 (en) Method and system for providing a version-independent interface to a computer resource
US20080059577A1 (en) Scalable logical model for edi and system and method for creating, mapping and parsing edi messages
US20070255750A1 (en) System to disclose the internal structure of persistent database objects

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061213

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20061213

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090130

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090630

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20090930

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20091005

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100104

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20100104

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100105

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20100105

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20100420

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100820

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20101013

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20110107

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130228

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130507

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees