JP2010072861A - 電子ファイルの解析技術 - Google Patents

電子ファイルの解析技術 Download PDF

Info

Publication number
JP2010072861A
JP2010072861A JP2008238479A JP2008238479A JP2010072861A JP 2010072861 A JP2010072861 A JP 2010072861A JP 2008238479 A JP2008238479 A JP 2008238479A JP 2008238479 A JP2008238479 A JP 2008238479A JP 2010072861 A JP2010072861 A JP 2010072861A
Authority
JP
Japan
Prior art keywords
electronic
converted
syntax elements
electronic files
files
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
JP2008238479A
Other languages
English (en)
Other versions
JP5103338B2 (ja
Inventor
Atanu Neogi
ネオギ、アタヌ
David Jay Barbrow
バーロー、デービッド、ジェイ
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.)
Gen Digital Inc
Original Assignee
Symantec Corp
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 Symantec Corp filed Critical Symantec Corp
Priority to JP2008238479A priority Critical patent/JP5103338B2/ja
Publication of JP2010072861A publication Critical patent/JP2010072861A/ja
Application granted granted Critical
Publication of JP5103338B2 publication Critical patent/JP5103338B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

【課題】
本願発明は、複数の電子ファイル解析技術を開示する。
【解決手段】
1つの特定の例示的実施形態において、この解析技術は解析装置として具体化され、この解析装置は、1個または複数個の電子ファイルを読み込む入力モジュールと;1個または複数個の構文要素を記憶する構文要素モジュールと;1個または複数個の構文要素の1個または複数個を変換させて、前記入力モジュールにより読み込まれた1個または複数個の電子ファイルを解析するための変換モジュールと;そして前記解析された1個または複数個の電子ファイルから1個または複数個の正規化された電子ファイルを生成できる出力モジュール;とで構成されたことを特徴とする。
【選択図】 図1

Description

本発明の開示内容は、一般に、実用的な電子ファイルを解析するためのシステムと方法に関し、より詳しくは、電子ファイル解析技術に関する。
多くのソフトウェアプログラムは、あるレベルではカスタマイズ可能である。容易にソフトウェアをカスタマイズするためには、カスタマイズ内容が変更になる毎にそのソフトウェアを実行可能ファイルにコンパイルし、また再コンパイルする必要が無いように、多くのソフトウェアプログラムは、1個または複数個の電子的コンフィギュレーション・ファイルを利用している。このコンフィギュレーション・ファイルは、特定のソフトウェアプログラムで公知のフォーマットで形成されている。例えば、あるコンフィギュレーション・ファイルの各ラインには、キー名およびキー値が含まれている。そしてこのコンフィギュレーション・ファイルは、そのソフトウェアプログラムによって読み込まれる。そのソフトウェアプログラムがコンフィギュレーション・ファイルを読み込み、解析するときには、そのプログラムは特定のフォーマットを探すことができる。例えば、そのソフトウェアプログラムは、コンフィギュレーション・ファイルのあらゆるライン上で、キー名がキー値に先行しているという前提に立つ事が出来る。仮に上述のコンフィギュレーション・ファイルが、そのソフトウェアプログラムが読み込み可能なフォーマットと一致しない場合には、そのソフトウェアプログラムは、コンフィギュレーション・ファイルを読み込むことができず、そしてソフトウェアプログラムは実行されないし、或いはそのソフトウェアプログラムは、デフォルト・コンフィギュレーション・のパラメータを使用することも可能である。いずれの例にもおいても、コンフィギュレーション・ファイルの有用性は、減少し、或いは消滅されることになる。
残念なことに、電子コンフィギュレーション・ファイルのためのフォーマットは、各ソフトウェアプログラム毎に異なっている。極端な例では、各ソフトウェアプログラム毎に、異なるコンフィギュレーション・ファイルのフォーマットを必要としている。これらの相異は重要ではなく、またはその相異は、大きく異なっていてもよい。
ただし最先端技術に関する問題は、その電子コンフィギュレーション・ファイルは非常に特定なフォーマットであることを必要とするかもしれないということである。それらが所定のフォーマットから逸脱して相異する場合、そのコンフィギュレーション・ファイル又は全コンフィギュレーション・ファイルの1個又は複数個の値は、そのソフトウェアプログラムで読み込みが出来ないこともあり得る。この欠点は、コンフィギュレーション・ファイルの有効性を低下させたり或いは有効性を完全に減損させることになる。
ある1つのコンフィギュレーション・マネジメント・システムは、1個または複数個のサーバ全体の1個または複数個の電子コンフィギュレーション・ファイルを読み込むように稼動可能である。このコンフィギュレーション・マネジメント・システムは更に、複数個のコンフィギュレーション・ファイルを確認して、コンフィギュレーション・ファイル上のオペレーションを実行することも可能である。例えば、このコンフィギュレーション・マネジメント・システムは、異なるコンフィギュレーション・ファイル間の相異を確認することも可能であり、或いは1個または複数個のコンフィギュレーション・ファイルを変更することも可能である。多くの標準化されたコンフィギュレーション・ファイル用のフォーマットが利用可能である一方で、ソフトウェア産業では、コンフィギュレーション・ファイルを標準化する要求は存在しない。その結果、1つのソフトウェアプログラムがコンフィギュレーション・マネジメント・システムに加えられると、ユーザは、そのソフトウェアプログラムのコンフィギュレーション・ファイルがそのコンフィギュレーション・管理システムと互換性を有するかを確認しなければならない。このような作業には、ユーザが1個または複数個のコンフィギュレーション・ファイル用のフォーマットについて対話処理を行なわねばならず、またユーザに対してそれ等の知識を要求する結果になってしまう。
前述からみて、現行の電子ファイル解析技術に関して重要な課題および欠点があると理解することができる。
本願発明は、複数の電子ファイル解析技術を開示する。
1つの特定の例示的実施形態において、この解析技術は解析装置として具体化され、この解析装置は、1個または複数個の電子ファイルを読み込む入力モジュールと;1個または複数個の構文要素を記憶する構文要素モジュールと;1個または複数個の構文要素の1個または複数個を変換させて、前記入力モジュールにより読み込まれた1個または複数個の電子ファイルを解析するための変換モジュールと;そして前記解析された1個または複数個の電子ファイルから1個または複数個の正規化された電子ファイルを生成できる出力モジュール;とで構成されたことを特徴とする。
本願発明のこの実施例の他の側面として、この解析装置では、前記入力モジュールと、前記構文要素モジュール、前記変換モジュールおよび前記出力モジュールは、各々と通信可能に構成されたことを特徴としている。
本願発明のこの実施例の他の側面として、この解析装置では、更に、1個または複数個の解析された電子ファイルを解析するために用いる1個または複数個の構文要素を記憶する構文要素記憶部を有するように構成されたことを特徴としている。
本願発明のこの実施例の他の側面として、この解析装置では、前記構文要素は、1個または複数個の電子ファイルを解析するために用いる第2の1個または複数個の変換された構文要素へ変換されるように構成されたことを特徴としている。
本願発明のこの実施例の他の側面として、この解析装置では、前記構文要素は、正規化されたファイルが形成されるまで、変換され、そして前記電子ファイルに適用されるように構成されたことを特徴としている。
他の特定の例示的実施形態において、この解析技術は解析方法として具体化され、この解析方法は、1個または複数個の構文要素を準備し;1個または複数個の特徴を有する1個または複数個の電子ファイルを読み込み;変換された構文要素は前記1個または複数個の電子ファイルに含まれる1個または複数個の特徴の少なくとも1個を利用しており、当該1個または複数個の変換された構文要素へ前記1個または複数個の構文要素の少なくとも1つを変換し;そして前記1個または複数個の電子ファイルを解析するために、前記変換された構文要素の1個または複数個を、前記1個または複数個の電子ファイルに適用する;各ステップで構成されたことを特徴としている。
本願発明のこの実施例の他の側面として、この解析方法では、更に、前記1個または複数個の解析された電子ファイルから1個または複数個の正規化されたファイルを生成するステップで構成されたことを特徴としている。
本願発明のこの実施例の他の側面として、この解析方法では、更に、前記1個または複数個の解析された電子ファイルを解析するために用いる前記1個または複数個の変換された構文要素を記憶するステップで構成されたことを特徴としている。
本願発明のこの実施例の他の側面として、この解析方法では、前記構文要素は、前記1個または複数個の電子ファイルを解析するために用いる第2の構文要素へ変換されるように構成されたことを特徴としている。
本願発明のこの実施例の他の側面として、この解析方法では、前記構文要素は、正規化されたファイルが形成されるまで、変換され、かつ前記電子ファイルに適用されるように構成されたことを特徴としている。
本願発明のこの実施例の他の側面として、少なくとも一つの搬送波に入力された少なくとも一つの信号であって、請求項6に記載の方法を実行するためのコンピュータ・プロセスを実行する、少なくとも一つのプロセッサに指示するための、前記少なくとも一つのプロセッサによって読み込み可能なように構成されたコンピュータ・プログラムの命令を送信するための、少なくとも一つの搬送波に入力された少なくとも一つの信号であるように構成されたことを特徴としている。
本願発明のこの実施例の他の側面として、少なくとも一つのプロセッサで読み取り可能な搬送波であって、請求項6に記載の方法を実行するためのコンピュータ・プロセスを実行する、少なくとも一つのプロセッサに指示するための、前記少なくとも一つのプロセッサによって読み込み可能なように構成されたコンピュータ・プログラムの命令を搬送するための、少なくとも一つのプロセッサで読み取り可能な搬送波であるように構成されたことを特徴としている。
他の特定の例示的実施形態において、この解析技術は解析システムとして具体化され、この解析システムは、1個または複数個の構文要素を準備する手段と;1個または複数個の特徴を有する1個または複数個の電子ファイルを読み込む手段と;変換された構文要素は前記1個または複数個の電子ファイルに含まれる1個または複数個の特徴の少なくとも1個を利用しており、当該1個または複数個の変換された構文要素へ前記1個または複数個の構文要素の少なくとも1つを変換する手段と;そして前記1個または複数個の電子ファイルを解析するために、前記変換された構文要素の1個または複数個を、前記1個または複数個の電子ファイルに適用する手段;とで構成されたことを特徴としている。
本願発明のこの実施例の他の側面として、更に、前記1個または複数個の解析された電子ファイルから1個または複数個の正規化されたファイルを生成する手段で構成されたことを特徴としている。
本願発明のこの実施例の他の側面として、更に、前記1個または複数個の解析された電子ファイルを解析するために用いる前記1個または複数個の変換された構文要素を記憶する手段で構成されたことを特徴としている。
本願発明のこの実施例の他の側面として、前記構文要素は、前記1個または複数個の電子ファイルを解析するために用いる第2の構文要素へ変換されるように構成されたことを特徴としている。
本願発明のこの実施例の他の側面として、前記構文要素は、正規化されたファイルが形成されるまで、変換され、かつ前記電子ファイルに適用されるように構成されたことを特徴としている。
本発明は、以下の例示的な実施例と添付図面を参照にしてさらに詳細に開示する。なお本発明は実施例を参照して説明が加えられるが、本発明はそれらに限定する趣旨ではない。すなわち実際は本願明細書において記載されている内容に加えて、追加的な実施、さまざまな変更、他の実施例、それに他の分野での実施、等は前述の説明および添付図面から、当業者にとっては明白であり、これらは全て本発明の開示範囲及び特許請求の範囲に属するものと理解される。またそれらの各種実施形態にも本発明を利用できるのは、当業者にとって明らかであると解釈されるべきである。
図1には、本願の開示事項の1つの実施例に係る機器101への、そして機器101からの、情報に関するジェネラルフローの線図レベルの概要が示されている。機器101は、以下の複数個の図において更に詳細に説明されるが、周知あるいは未知のタイプの1個または複数個の電子ファイル110を読み込むように稼動可能であり、1個または複数個の正規化された電子ファイル120を生成することができる。この正規化された電子ファイル120は、他のプログラムまたはプロセスで読み込み可能な統一形式となっている。例えば、この正規化された電子ファイル120は、事前定義されたドキュメント形式定義を有する広範囲マークアップ言語(「XML」)の形式でもよい。機器101は、1個または複数個の構文要素記憶部105とデータ通信可能である。未知のフォーマットの電子ファイル110は、機器101および構文要素記憶部105を含むシステム100中で、他の素子にとっては未知のフォーマットである必要は必ずしもない。むしろ、そのフォーマットが明白でない場合には、電子ファイル110は未知のフォーマットであってもよい。例えば電子ファイル110は機器101によって読み込まれるが、しかしその電子ファイル110を読み込む時には、そのフォーマットは機器101によって明確に既知である必要はない。このように、そのフォーマットが最終的に既知または機器101によって識別される場合であっても、電子ファイル110のフォーマットは、入力時には未知であってもよい。
ここで図2には、本願発明の実施例に係るファイル解析システム200の線図レベルの概要が示されている。このファイル解析システム200は、入力モジュール210、出力モジュール220、変換モジュール230および構文要素モジュール240を含むことができる。各モジュールは、他の複数個のモジュールと相互に交信可能である。ある実施例においては、それら1個または複数個のモジュールは1つの物理的システム内に含まれるが、これは必ずしも必要ではない。他の実施形態では、1個または複数個のモジュールは、1個または複数個の物理的システム、例えば1個または複数個のコンピュータ上に配置することも可能である。その1個または複数個のコンピュータとその1個または複数個のコンピュータ上にある1個または複数個のモジュールは、ネットワークを介して通信可能である。機器101は、1個または複数個のモジュール、例えば入力モジュール210、出力モジュール220、変換モジュール230、および構文要素モジュール240等を含むことができる。各モジュールは、以下で更に詳細に説明される。
入力モジュール210は、1個または複数個の電子ファイルを読み込むことが可能である。その電子ファイルは、入力モジュール210と同じシステムに配置してもよいし、或いは入力モジュール210と通信可能な他のシステムに配置することもできる。例えば、入力モジュール210は、1個または複数個の電子ファイルを生成したり、または記憶エリアのネットワークへ移動することができ、或いはこの入力モジュール210は、リモートシステムから1個または複数個の電子ファイルを読み込むために、インターネット等の1個または複数個のネットワークを利用することができる。
構文要素モジュール240は、構文要素記憶部105と通信可能である。この構文要素モジュール240は、構文要素記憶部105へ、或いは構文要素記憶部105から1個または複数個の構文要素を送ったり又は受けることができる。構文要素記憶部105には、1個または複数個の構文要素を含むことができる。この構文要素記憶部105は、1個または複数個の電子ファイル内で含ませたり、或いは1個または複数個のデータベース内に含ませてもよい。構文要素モジュール240と構文要素記憶部105は、同一システムで稼動してもうよいし、または一つ以上のシステム上に分離して配置してもよいし、そして1個または複数個のネットワークまたは他の通信装置と通信可能に配置してもよい。
変換モジュール230は、構文要素の1個または複数個を読み込むように稼動可能であってもよく、そして1個または複数個の構文要素の1個または複数個を変換させるように稼動可能でもよい。本願発明の実施例に係る1個または複数個の構文要素に実行される変換は、更に以下に詳細に開示されている。
出力モジュール220は、1個または複数個の電子ファイルを生成するように稼動可能である。この出力モジュール220は、入力モジュール210として同系統に置かれることができるか、または入力モジュール210と通信可能であるように他のシステムに配置されることができる。例えば、この出力モジュール220は、1個または複数個の電子ファイルを生成したり、記憶用のエリアネットワーク又は他のネットワーク化したファイルシステムへ移動したりすることが出来る。なおそれ等のネットワークには限定されるものではないがインターネットを含み、リモートシステム上の1個または複数個の電子ファイルを生成したり又は移動させることが出来る。
ここで図3には、本願発明の実施例に係る潜在的に周知フォーマットの電子ファイルを解析するためのフローチャートが示されている。本開示に係る実施例は、電子コンフィギュレーション・ファイルを使用して記載されている。この開示は、1個または複数個の電子コンフィギュレーション・ファイルを読み取り解析するようにして稼動可能であるが、電子ファイルがコンフィギュレーション・ファイルであることは必須の要件でない。従って使用するコンフィギュレーション・ファイル実施例は、本開示を制限しない。
この開示の実施例では、1個または複数個のConfiguration
Template Language(コンフィギュレーション・テンプレート言語「CTL」)の記述が、利用可能である。1つのCTLの記述は、1つのコンフィギュレーション・ファイルの種類に対応している。代替の実施形態では、1個または複数個のCTLの記述は、1個または複数個のコンフィギュレーション・ファイルの種類に対応することもできる。例えば、1つのCTLの記述は、標準的なWindows INIコンフィギュレーション・ファイルと関係していてもよし、そして他のCTLの記述は、標準的なアパッチ・コンフィギュレーション・ファイルと関係していてもよい。典型的なコンフィギュレーション・ファイルは、図3aに示されている。図3aに示されるこの典型的なコンフィギュレーション・ファイルは、コメント・タイプ、キー・タイプおよびキー・バリュー・タイプを含むことができる。
まずステップ301に示すように、1個または複数個の電子コンフィギュレーション・ファイルが、読み込まれる。次にステップ302に示すように、ステップ301からの電子コンフィギュレーション・ファイルと関連するCTLの記述が読まれる。典型的なCTLの記述は、図3bに示されている。図3bに示されるこのCTLの記述は、図3aで見られる典型的なコンフィギュレーション・ファイルと関係している。このCTLの記述は、関連するコンフィギュレーション・ファイル内の標準的な表記法を使用することができる。例えば、図3aおよび図3bの例示的なコンフィギュレーション・ファイルおよびCTLの記述に関して、図3bの「/* EMX_COMMENT */」のラインは、「/*」と「*/」の間に記載されているテキストが、構文解析のためには「EMX_COMMENT」として指定されていることを示している。更に、図3bの「#EMX_COMMENT」のラインは、「#」サインと関連するそのテキストが、「EMX_COMMENT」として指定されていることを示している。
次にステップ304に示すように、上述のコンフィギュレーション・ファイルと関連したCTLの記述は、特定の値または「トークン」に解析される。図3bに示した典型的なCTLの記述のための例示的トークンが、図3cに示されている。これ等のトークンと関連した典型的な用語集が、図3dに示されている。CTLの記述を解析するために用いる典型的な「構文」が、図3eに示されている。各電子コンフィギュレーション・ファイルフォーマット用のCTLの記述以外には、この構文は、電子コンフィギュレーション・ファイル自体には適用されない。図3eにおいて、例えばこの典型的な「構文」は、拡張バッカス‐ナウア表記(「EBNF」)のメタ構文表記であってもよい。例えば、あるコメントは、「#」文字から開始され、一本のラインに表示される。図3dの典型的な用語集に示されているように、「CM_B」はコメントの始まりを示し、そして「CM_E」はコメントの終りを示すことができる。図3cに示される「CM_B=#、CM_E=NULL」のラインは、コメントが、「#」文字で始まり、「NULL」文字またはコンフィギュレーション・ファイルのライン終了として定義されるキャラクタで終了することを表している。同様に、図3cに示される「CM_B=/*、CM_E=*/」のラインは、コメントが「/*」文字で開始し、「*/」で終了することを示す。また類似のトークンを、1つのコンフィギュレーション・ファイル内の例えばセクション、キー、バリューを示すために用いることができる。
ステップ306に示すように、これ等のトークンは、機器101と共に格納されるており、従って類似のコンフィギュレーション・ファイルを解析するために用いることができる。このような方法で、ステップ302およびステップ304は、関連するCTLの記述がトークンにすでに解析されているフォーマットを有するコンフィギュレーション・ファイルを解析するためには必要ではない。これ等のトークンは、「未知の」コンフィギュレーション・ファイルのためにその後においても使用することもできる。
ステップ308に示すように、上述のトークンは、一組の1個または複数個の構文要素または構文記号として表示されることができる。図3cに示されるトークンに由来する典型的な構文要素は、図3fに示されている。例えば、ある1つの構文要素は、「/* */」である。これは、図3cに示す「CM_B=/*、CM_E=*/」ラインに対応している。構文要素は将来の使用のために格納されており、その結果、機器101は未知のコンフィギュレーション・ファイルを解析することが可能となる。このような方法で生成した構文要素は、要素セットで形成されている。例えば、所与のファイルフォーマットと関連したセットの構文要素の中にある1個または複数個の構文要素は、「セクション」素子であり、この「セクション」素子は、そのコンフィギュレーション・ファイルの1つのセクションが開始または終了する所を意味する。そのセットと同一セット中の1個または複数個の他の構文要素は、「コメント」素子であり、何処でコメントが開始し又は終了するかを意味する。それ等の構文要素または構文記号は、周知の構文要素の1個または複数個のセットを作成するために、対象のファイルを解析する開始位置として用いられる。
ステップ310に示すように、CTLの記述を解析することによって作成される複数個のトークンは、コンフィギュレーション・ファイルを解析するために用いることができる。作成された典型的なトークンは、図3cに示されおり、これ等のトークンは、正規化された分野でコンフィギュレーション・ファイルを解析するために用いることができる。この正規化は、定義済みドキュメント型定義を有する広範囲マークアップ言語(「XML」)文書の形式であってもよい。例えば図3aに示される典型的なコンフィギュレーション・ファイルに示される注釈フィールドは、2つの異なる方法(例えば、「#」で始まるコメントのラインや、或いは「/*」と「*/」でコメントの開始点と終了点を表現する方法)で表現されることができる。対象となるコンフィギュレーション・ファイルと関連したトークンによって正しく解析されると、両方のコメント・タイプは、コメントとして指定されることができる。これ等のコメントは、それから正規化された方法で定義される。例えば全てのコメントは、「/*」文字で開始し、「*/」文字で終了するように正規化される。この方法は、このように、1個または複数個のタイプのコンフィギュレーション・ファイルを読むためにCTLの記述を使用し、それから更なる使用のために1個または複数個の正規化されたタイプのコンフィギュレーション・ファイルを生成する。
実施例はこのように、定型的かつ直観的な構文を使用して作成されたCTLの記述でコンフィギュレーション・ファイル形式を表現する能力を有する。このコンフィギュレーション形式は、1個または複数個のCTLの記述を使用して直観的にモデル化し、それ等のCTLの記述は、コンフィギュレーション・ファイルを解析するために用いることができる。この実施例においては、本願発明の1つの実施例は、各コンフィギュレーション・ファイル・タイプのためのCTLの記述を使用することができる。仮にCTLの記述が特定のコンフィギュレーション・ファイルを記述しない場合には、そのコンフィギュレーション・ファイルはCTLの記述を使用して正しく解析することができない。またCTLの記述がコンフィギュレーション・ファイルに利用できない場合、コンフィギュレーション・ファイルは解析することはまだ可能である。
図4には、本願発明の実施例に係る未知のフォーマットの電子ファイルを解析するためのフローチャートが示されている。まずステップ402において、コンフィギュレーション・ファイルが、読み込まれる。ステップ404において、周知のファイルから得られた構文要素を使用してそのコンフィギュレーション・ファイルを解析してみる。他の実施形態では、それ等の構文要素は、周知のファイルフォーマットと関連した周知のCTLの記述を得る以上に供給してもよい。各々の利用可能な構文要素を使用してもよいし、或いは構文要素の利用可能なより小さいサブセットを用いてコンフィギュレーション・ファイルを解析するようにしてもよい。仮にコンフィギュレーション・ファイルが利用できる構文要素の1個または複数個によって解析された場合、そのコンフィギュレーション・ファイルは、ステップ406に示すように「既知」というようにマークがされて、そのコンフィギュレーション・ファイルは、正規化されたコンフィギュレーション・ファイルを作成するために、その利用できる構文要素を使用して解析されることができる。このコンフィギュレーション・ファイルのファイルフォーマットが、上述の1個または複数個の構文要素とすでに関係していない場合には、ステップ402からのコンフィギュレーション・ファイルのそのファイルフォーマットは、それからその文書を解析するために用いられた1個または複数個の構文要素と関連付けられる。
そして仮に既存の構文要素の使用が成功しない場合、構文要素の代替セットが、ステップ404において使用された1個または複数個の構文要素から生成される。構文要素の代替セットを生成する方法は、図5に示され、ステップ408から418については、その後に説明する。
ここで図5に移って、本願発明の実施例に係る1個または複数個の構文要素を変換させる方法が開示されている。ステップ502において、構文要素の1個または複数個のセットの組合せ間で、制御された準ランダム交差オペレーションが実行される。交差オペレーションとは、例えば、より小さい複数個の部分にこの1個または複数個の構文要素を減らして、その小さな複数個の部分を1個または複数個の構文要素に組み合わせるステップで構成されている。元の複数個の構文要素の全ての可能な組合せのセットは、解析規則に合致しない新規な構文要素の1個または複数個を取り除くことによって減少させることができる。例えば解析規則のセットが、図5aに示されている。この解析規則の適用は、コンフィギュレーション・ファイルに適用することができる構文要素の数を減らすように設計されている。
次にステップ504において、ターゲットコンフィギュレーション・ファイルが利用され、反復文字グループのためにスキャンされる。例えばターゲットコンフィギュレーション・ファイルには、「/*」文字セットが高い確率で発生するかもしれない。その場合には、より高い優先権が、非英数字を含む文字および文字群に与えられる。これはこれ等の文字は、文字または文字群がフォーマットの一部として使用されることを意味するからである。確率分布を、ターゲットコンフィギュレーション・ファイルの反復文字群のスキャンを使用して形成することが出来る。
次にステップ506において、1個または複数個の変換オペレーションが、新規な構文記号に対して実行される。この変換では、ステップ504で得られた1個または複数個の文字または文字群の1個または複数個を使用し、それ等をステップ502において発生させた新規な構文要素の1個または複数個に挿入させる。すなわち、その結果に形成された新規の構文要素セットは、ランダムには形成されず、ターゲットコンフィギュレーション・ファイルの反復文字群スキャンを使用して形成されることになる。
ステップ508において、構文要素の新規なセットが、ステップ506において生成された変換構文要素を使用して生成される。
図5に示されるステップ502からステップ508を、複数回反復して平行に実行することが出来る点に留意する必要がある。例えば、1つの装置が変換用第1の構文要素セットを生成するためにステップ502からステップ508を実行し、そして他の装置が変換用第2の構文要素セットを生成するためにステップ502からステップ508を実行してもよい。このプロセスは、複数の装置によって平行に実行しても、又は1つの装置が平行に複数セットの変換された構文要素を平行に生成する能力を有するように構成してもよい。更にまた、変換された構文要素の各セットを、平行に1個または複数個のコンフィギュレーション・ファイルに適用してもよい。例えば、変換された構文要素のセットを生成する並列プロセスを、同時に多数の未知のコンフィギュレーション・ファイルに使用してもよい。
図4に戻って、ステップ412に示すように、変換された構文要素の新規なセットでコンフィギュレーション・ファイルを解析する試みが実行される。
ステップ508が成功し、そしてコンフィギュレーション・ファイルはうまく解析された場合には、そのコンフィギュレーション・ファイルはそして、「既知」というようにマークされ、そのコンフィギュレーション・ファイルは、利用できる構文要素を使用して解析され、ステップ410に示すように、正規化されたコンフィギュレーション・ファイルが生成される。もしそのファイルフォーマットが、上記の1個または複数個の構文要素と関連していない場合には、ステップ402からのコンフィギュレーション・ファイルのファイルフォーマットはその後、ドキュメントを解析するために用いる1個または複数個の変換された構文要素と関連付けられる。変換された構文要素のこの新規なセットは、ステップ402での「既知」のコンフィギュレーション・ファイルのフォーマットと同じフォーマットを有する複数個のファイル用に記憶される。
そのコンフィギュレーション・ファイルが、ステップ408で生成された変換された構文要素の新規なセットを使用して解析されない場合には、ステップ414に示すように、繰返しの合計数を示すカウンタが増加される。繰返しの数が予め定められた回数に達する場合には、そのファイルは「未知」であるとマークされ、ステップ416に示すように、そのコンフィギュレーション・ファイルは、変換された構文要素または他の供給された構文要素の新規なセットを使用して、更なる解析のために格納される。更に又、別の実施例では、エラーメッセージが生成されたり、又はそのコンフィギュレーション・ファイルがうまく解析されなかったことを、オペレータに他の方法で知らしめるように構成してもよい。もしカウンタが予め定められた回数に達しなかった場合、ステップ418に示すように、変換された構文要素の新規なセットが、生成される。ステップ418からステップ408への繰り返しが、変換された構文要素の1個または複数個の新規なセットを生成するために、実行される。他の実施形態では、変換された構文要素の第1のセットを用いてコンフィギュレーション・ファイルが不成功なら、そのコンフィギュレーション・ファイルが、一組の変換された構文要素によって解析されるまで、変換された構文要素の新規な複数個のセットが生成されるように構成してもよい。
上述のように本願発明の実施例によれば、概して入力データの処理および出力データの生成を含む点に留意する必要がある。この入力データ処理および出力データ生成は、ハードウェアまたはソフトウェアで行うことができる。例えば、上記の通りに本願発明の実施例に係るコンフィギュレーション・ファイルを解析する機能を実施するために、コンピュータまたは類似装置または関連回路において、特定の電子部品を使用するように構成してもよい。更に代替案として、予め記憶された命令に従って作動する1個または複数個のプロセッサが、上述のように本願発明の実施例に従って、コンフィギュレーション・ファイルを解析する機能を実施するように構成してもよい。もしこの様になると、上述の命令を1個または複数個のプロセッサで読取り可能なキャリア(例えば磁気ディスクまたは他の記憶媒体)に保存したり、或いは上述の命令を1個または複数個の搬送波による1個または複数個の信号を経由して1個または複数個のプロセッサに送信することは、本願発明の開示の範囲内である。
本発明は、本願明細書に記載されている特定の実施態様によっては、権利範囲が制限されることはない。実際に本願明細書に記載されている内容に加え種々の変更を加えることは、上述の記載と添付した図面からとで当業者には明らかである。従ってその種の変更態様も、以下添付の請求の範囲の権利範囲内であると理解される。更に、本発明は本願明細書において特定の環境での特定の実施を前提として記載されているが、その有用性はそれにのみ制限されるものではなく、本発明がいかなる目的や環境においても、有益に実行可能であると当業者は理解できる。したがって以下の特許請求の範囲は、開示された本発明の記載内容とその技術的な精神からみて広く解釈されなければならない。
本開示内容をより完全に理解出来るように、添付図面を参照にして説明を行う。なお発明の各要素には、参照番号が付けられている。これ等の図面は、この開示内容を制限するものとして解釈すべきではなく、単に例示する目的のためである。
図1は、本願の開示事項の1つの実施例に係るシステムレベルの構成図を示し、入力電子ファイルおよび出力電子ファイルが含まれる。 図2は、本願の開示事項の1つの実施例に係るシステムレベルの構成図を示し、実際のモジュールを示している。 図3は本願の開示事項の1つの実施例に係る周知フォーマットの電子ファイルを解析するフローチャートを示している。 図3aは、本願の開示事項の1つの実施例に係る典型的な電子コンフィギュレーション・ファイルを示している。; 図3bは、本願の開示事項の1つの実施例に係る典型的なコンフィギュレーション・テンプレート言語の記述を示している。 図3cは、本願の開示事項の1つの実施例に係る典型的なトークンを示している。 図3dは、本願の開示事項の1つの実施例に係るトークン定義の典型的な用語集を示している。 図3eは、本願の開示事項の1つの実施例に係るコンフィギュレーション・テンプレート言語の記述のための1つの潜在的構文リストを示している。 図3fは、本願の開示事項の1つの実施例に係る潜在的構文要素または構文記号の典型的なリストを示している。 図4は、本願の開示事項の1つの実施例に係る未知のフォーマットの電子ファイルを解析するフローチャートを示している。 図5は、本願の開示事項の1つの実施例に係る図4の1個または複数個の構文要素を変換させるためのフローチャートを示している。 図5aは、本願の開示事項の1つの実施例に係る変換規則の典型的なリストを示している。

Claims (17)

  1. 電子ファイルを解析する装置であって:
    1個または複数個の電子ファイルを読み込む入力モジュールと;
    1個または複数個の構文要素を記憶する構文要素モジュールと;
    1個または複数個の構文要素の1個または複数個を変換させて、前記入力モジュールにより読み込まれた1個または複数個の電子ファイルを解析するための変換モジュールと;そして
    前記解析された1個または複数個の電子ファイルから1個または複数個の正規化された電子ファイルを生成できる出力モジュール;
    とで構成されたことを特徴とする電子ファイル解析装置。
  2. 前記入力モジュールと、前記構文要素モジュール、前記変換モジュールおよび前記出力モジュールは、各々と通信可能に構成されたことを特徴とする請求項1記載の電子ファイル解析装置。
  3. 更に、1個または複数個の解析された電子ファイルを解析するために用いる1個または複数個の構文要素を記憶する構文要素記憶部を有するように構成されたことを特徴とする請求項1記載の電子ファイル解析装置。
  4. 前記構文要素は、1個または複数個の電子ファイルを解析するために用いる第2の1個または複数個の変換された構文要素へ変換されるように構成されたことを特徴とする請求項1記載の電子ファイル解析装置。
  5. 前記構文要素は、正規化されたファイルが形成されるまで、変換され、そして前記電子ファイルに適用されるように構成されたことを特徴とする請求項1記載の電子ファイル解析装置。
  6. 複数個の電子ファイルを解析する解析方法において:
    1個または複数個の構文要素を準備し;
    1個または複数個の特徴を有する1個または複数個の電子ファイルを読み込み;
    変換された構文要素は前記1個または複数個の電子ファイルに含まれる1個または複数個の特徴の少なくとも1個を利用しており、当該1個または複数個の変換された構文要素へ前記1個または複数個の構文要素の少なくとも1つを変換し;そして
    前記1個または複数個の電子ファイルを解析するために、前記変換された構文要素の1個または複数個を、前記1個または複数個の電子ファイルに適用する;
    各ステップで構成されたことを特徴とする電子ファイルの解析方法。
  7. 更に、前記1個または複数個の解析された電子ファイルから1個または複数個の正規化されたファイルを生成するステップで構成されたことを特徴とする請求項6記載の電子ファイルの解析方法。
  8. 更に、前記1個または複数個の解析された電子ファイルを解析するために用いる前記1個または複数個の変換された構文要素を記憶するステップで構成されたことを特徴とする請求項6記載の電子ファイルの解析方法。
  9. 前記構文要素は、前記1個または複数個の電子ファイルを解析するために用いる第2の構文要素へ変換されるように構成されたことを特徴とする請求項6記載の電子ファイルの解析方法。
  10. 前記構文要素は、正規化されたファイルが形成されるまで、変換され、かつ前記電子ファイルに適用されるように構成されたことを特徴とする請求項6記載の電子ファイルの解析方法。
  11. 少なくとも一つの搬送波に入力された少なくとも一つの信号であって、請求項6に記載の方法を実行するためのコンピュータ・プロセスを実行する、少なくとも一つのプロセッサに指示するための、前記少なくとも一つのプロセッサによって読み込み可能なように構成されたコンピュータ・プログラムの命令を送信するための、少なくとも一つの搬送波に入力された少なくとも一つの信号。
  12. 少なくとも一つのプロセッサで読み取り可能な搬送波であって、請求項6に記載の方法を実行するためのコンピュータ・プロセスを実行する、少なくとも一つのプロセッサに指示するための、前記少なくとも一つのプロセッサによって読み込み可能なように構成されたコンピュータ・プログラムの命令を搬送するための、少なくとも一つのプロセッサで読み取り可能な搬送波。
  13. 複数個の電子ファイルを解析するシステムにおいて:
    1個または複数個の構文要素を準備する手段と;
    1個または複数個の特徴を有する1個または複数個の電子ファイルを読み込む手段と;
    変換された構文要素は前記1個または複数個の電子ファイルに含まれる1個または複数個の特徴の少なくとも1個を利用しており、当該1個または複数個の変換された構文要素へ前記1個または複数個の構文要素の少なくとも1つを変換する手段と;そして
    前記1個または複数個の電子ファイルを解析するために、前記変換された構文要素の1個または複数個を、前記1個または複数個の電子ファイルに適用する手段;
    とで構成されたことを特徴とする電子ファイルの解析システム。
  14. 更に、前記1個または複数個の解析された電子ファイルから1個または複数個の正規化されたファイルを生成する手段で構成されたことを特徴とする請求項13記載の電子ファイルの解析システム。
  15. 更に、前記1個または複数個の解析された電子ファイルを解析するために用いる前記1個または複数個の変換された構文要素を記憶する手段で構成されたことを特徴とする請求項13記載の電子ファイルの解析システム。
  16. 前記構文要素は、前記1個または複数個の電子ファイルを解析するために用いる第2の構文要素へ変換されるように構成されたことを特徴とする請求項13記載の電子ファイルの解析システム。
  17. 前記構文要素は、正規化されたファイルが形成されるまで、変換され、かつ前記電子ファイルに適用されるように構成されたことを特徴とする請求項13記載の電子ファイルの解析システム。
JP2008238479A 2008-09-17 2008-09-17 電子ファイルの解析技術 Expired - Fee Related JP5103338B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008238479A JP5103338B2 (ja) 2008-09-17 2008-09-17 電子ファイルの解析技術

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008238479A JP5103338B2 (ja) 2008-09-17 2008-09-17 電子ファイルの解析技術

Publications (2)

Publication Number Publication Date
JP2010072861A true JP2010072861A (ja) 2010-04-02
JP5103338B2 JP5103338B2 (ja) 2012-12-19

Family

ID=42204590

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008238479A Expired - Fee Related JP5103338B2 (ja) 2008-09-17 2008-09-17 電子ファイルの解析技術

Country Status (1)

Country Link
JP (1) JP5103338B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013214237A (ja) * 2012-04-03 2013-10-17 Nippon Telegr & Teleph Corp <Ntt> コンフィグレーションファイル解析装置、および、プログラム

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11305998A (ja) * 1998-04-16 1999-11-05 Hitachi Ltd 計算機システム
JP2004086863A (ja) * 2002-06-28 2004-03-18 Ricoh Co Ltd ソフトウェア導入方法、その方法をコンピュータに実行させるプログラム及びそのプログラムを格納した媒体
JP2007141058A (ja) * 2005-11-21 2007-06-07 Fuji Xerox Co Ltd 情報処理装置、デバイス、設定情報登録方法、設定情報登録プログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11305998A (ja) * 1998-04-16 1999-11-05 Hitachi Ltd 計算機システム
JP2004086863A (ja) * 2002-06-28 2004-03-18 Ricoh Co Ltd ソフトウェア導入方法、その方法をコンピュータに実行させるプログラム及びそのプログラムを格納した媒体
JP2007141058A (ja) * 2005-11-21 2007-06-07 Fuji Xerox Co Ltd 情報処理装置、デバイス、設定情報登録方法、設定情報登録プログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013214237A (ja) * 2012-04-03 2013-10-17 Nippon Telegr & Teleph Corp <Ntt> コンフィグレーションファイル解析装置、および、プログラム

Also Published As

Publication number Publication date
JP5103338B2 (ja) 2012-12-19

Similar Documents

Publication Publication Date Title
US9530012B2 (en) Processing extensible markup language security messages using delta parsing technology
US20180375529A1 (en) Compression of javascript object notation data using structure information
TWI498757B (zh) 使用內容檔案指定剖析器
US9424003B1 (en) Schema-less system output object parser and code generator
US20060048107A1 (en) Enhanced compiled representation of transformation formats
KR20120115233A (ko) 레코드 포맷 정보의 관리
US20120131556A1 (en) Xpath-based selection assistance of gui elements during manual test script authoring for xml-based applications
CN110673847A (zh) 配置页面的生成方法、装置、电子设备和可读存储介质
CA2684822A1 (en) Data transformation based on a technical design document
CN111736840A (zh) 小程序应用的编译方法、运行方法、存储介质及电子设备
KR102033416B1 (ko) 문서로부터 추출되는 데이터를 생성하는 방법 및 그 장치
US20170300305A1 (en) Executable guidance experiences based on implicitly generated guidance models
US8296723B2 (en) Configurable unified modeling language building blocks
JP4144889B2 (ja) プログラムの規約違反を判断する装置、およびその方法
CN114090671A (zh) 数据导入方法、装置、电子设备及存储介质
US20110238633A1 (en) Electronic file comparator
KR100762712B1 (ko) 규칙기반의 전자문서 변환방법 및 그 시스템
US10606569B2 (en) Declarative configuration elements
US8549494B2 (en) Techniques for parsing electronic files
JP5103338B2 (ja) 電子ファイルの解析技術
CN111143310B (zh) 日志记录方法及装置、可读存储介质
US9274910B2 (en) Automatic test map generation for system verification test
CN115904317A (zh) 一种前后端接口统一调用方法、装置、设备及存储介质
CN112433752B (zh) 页面解析方法、装置、介质及电子设备
US9052906B2 (en) Modularized customization of a model in a model driven development environment

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100719

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100823

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20110818

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120515

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120815

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120904

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121001

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20151005

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5103338

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees