(57)【要約】      （修正有）【課題】データ処理におけるエラーやメモリリークを低減すること。【解決手段】一実施形態において、（１）試験データからデータオブジェクトを生成し、（２）ツリー構造においてデータオブジェクトを配列し、（３）データオブジェクトを参照するトークンを生成するコードを有するデータ投入部と；参照を有さないデータオブジェクトに対するメモリを再生するため、データオブジェクトを解放するコードと；（１）データ投入部によって生成されたトークンを受け取り、（２）トークンによって参照されるデータオブジェクトを読み取り、（３）データオブジェクトを読み取った後にトークンを削除するコードを有するクライアントと；を含む試験データを処理するシステムを開示する。【選択図】図１
2007207242.tif 000002
【特許請求の範囲】
【請求項１】
試験データを処理するシステムであって：
（１）前記試験データからデータオブジェクトを生成し、（２）前記データオブジェクトをツリー構造において配列し、（３）前記データオブジェクトのうちの少なくとも１つを参照するトークンを生成するコードを有するデータ投入部と；
前記データ投入部と通信するデータモデルであって、前記トークン及び子データオブジェクを含む群から選択される少なくとも１つからの参照を有する前記データオブジェクトを選択的に格納し、前記ツリー構造において前記トークン及び前記子データオブジェクを含む群から選択される少なくとも１つからの参照を有さないデータオブジェクトに対するメモリを再生するため、前記データモデルに格納されたデータオブジェクトを選択的に解放するコードを有する、前記データモデルと、
前記データモデルと通信する複数のクライアントであって、（１）前記データ投入部によって生成された前記トークンを受け取り、（２）前記トークンによって参照される前記データオブジェクトを読み取り、（３）前記データオブジェクトを読み取った後に、対応する前記データオブジェクトへの参照と併せて前記トークンを削除するためのコードを有する、前記複数のクライアントとを含むこと、
を特徴とするシステム。
【請求項２】
前記トークンの各々は、子データオブジェクト及び親データオブジェクトを含む群から選択される１つを参照すること、
を特徴とする請求項１に記載のシステム。
【請求項３】
少なくとも１つの子データオブジェクトは親データオブジェクトを参照すること、
を特徴とする請求項１に記載のシステム。
【請求項４】
前記子データオブジェクトの各々は、これを参照する前記トークンのうちの１つを有すること、
を特徴とする請求項１に記載のシステム。
【請求項５】
前記子データオブジェクトの各々はこれを参照する前記トークンのうちの１つを有し、前記子データオブジェクトの各々は親データオブジェクトを参照し、前記クライアントは前記トークンによって参照される前記子データオブジェクトの各々を読み取ると共に、前記子データオブジェクトによって参照される前記親データオブジェクトの各々を読み取ること、
を特徴とする請求項１に記載のシステム。
【請求項６】
前記子データオブジェクトから及び前記トークンから前記データオブジェクトの各々への参照のカウントを監視するコードが提供されること、
を特徴とする請求項１に記載のシステム。
【請求項７】
前記コードは前記データオブジェクトの各々への参照の前記カウントを計算し、前記参照の前記カウントは前記子データオブジェクトのうちの１つが削除されるたびに、及び前記トークンのうちの１つが削除されるたびに減少すること、
を特徴とする請求項６に記載のシステム。
【請求項８】
前記データ投入部の前記データオブジェクトを解放する前記コードは、前記データオブジェクトの各々を格納するメモリを、関係する参照の前記カウントがゼロまで減少した時に再生すること、
を特徴とする請求項７に記載のシステム。
【請求項９】
前記複数のクライアントはデータフォーマッタを含むこと、
を特徴とする請求項１に記載のシステム。
【請求項１０】
前記データフォーマッタはＳＴＤＦライタ、ＡＳＣＩＩライタ、ＸＭＬライタ、及びＥＤＬライタを含む群から選択される少なくとも１つを含むこと、
を特徴とする請求項９に記載のシステム。
【請求項１１】
通知管理部は前記データ投入部及び前記クライアントと通信し、前記通知管理部は前記データ投入部によって生成された前記データオブジェクト及び前記トークンを前記クライアントに通知し、前記クライアントはそれぞれ、前記トークンからの前記参照に基づいて前記データモデルに格納された前記データオブジェクトを選択的に読み取ること、
を特徴とする請求項１に記載のシステム。
【請求項１２】
試験データからデータオブジェクトを処理するシステムであって：
（１）前記試験データからデータオブジェクトを生成し、（２）前記データオブジェクト同士を、子オブジェクトが親オブジェクトへの参照を有する関係構造において配列し、（３）前記データオブジェクトへの参照を有するトークンを生成するコードを有するデータ投入部と；
前記関係構造において前記トークン及び子データオブジェクを含む群から選択される少なくとも１つからの参照を有さない前記データオブジェクトを格納するメモリを再生するコードと；
前記データ投入部と通信する複数のクライアントであって、前記クライアントはそれぞれ、前記データオブジェクトへの参照を有する前記トークンを選択的に取得し、前記トークンによって参照される前記データオブジェクトを読み取る、前記複数のクライアントとを含むこと、
を特徴とするシステム。
【請求項１３】
試験データからデータオブジェクトを処理する方法であって：
前記試験データからデータオブジェクトを生成するステップと；
子オブジェクトが親オブジェクトへの参照を有するツリー構造において前記データオブジェクトを配列するステップと；
前記データオブジェクトのうちの少なくとも１つを参照するトークンを生成するステップと；
前記ツリー構造において前記トークン及び前記子データオブジェクトを含む群から選択される少なくとも１つからの参照を有さない前記データオブジェクトを格納するメモリを再生するステップを含むこと、
を特徴とする方法。
【請求項１４】
試験データを処理する方法であって：
前記試験データからデータオブジェクトを生成するステップと；
ツリー構造において前記データオブジェクトを配列するステップと；
前記データオブジェクトのうちの少なくとも１つを参照するトークンを生成するステップと；
前記トークン及び子データオブジェクを含む群から選択される少なくとも１つからの参照を有する前記データオブジェクトを選択的に格納するステップと；
前記試験データから生成された前記トークンをクライアントへ転送するステップと；
前記トークンによって参照される前記データオブジェクトを前記クライアントが読み取るステップと；
前記データオブジェクトを読み取った後に、対応する前記データオブジェクトへの参照と併せて前記トークンを削除するステップと；
前記ツリー構造において前記トークン及び子データオブジェクを含む群から選択される少なくとも１つからの参照を有さない前記データオブジェクトを格納するメモリを再生するステップを含むこと、
を特徴とする方法。
【請求項１５】
前記試験データからデータオブジェクトを生成するステップはデータ投入部において発生すること、
を特徴とする請求項１４に記載の方法。
【請求項１６】
前記ツリー構造において前記データオブジェクトを配列するステップは、親オブジェクト及び子オブジェクトを形成し、前記子オブジェクトの各々は前記親オブジェクトのうちの１つを参照すること、
を特徴とする請求項１４に記載の方法。
【請求項１７】
前記トークンを生成するステップは、前記子オブジェクトの各々を参照する前記トークンを生成するステップを含むこと、
を特徴とする請求項１６に記載の方法。
【請求項１８】
前記トークンを生成するステップは、前記親オブジェクトのうちの少なくとも１つを参照する前記トークンを生成するステップを含むこと、
を特徴とする請求項１７に記載の方法。
【請求項１９】
前記データオブジェクトを選択的に格納するステップは、前記データオブジェクトをデータモデルに格納するステップを含むこと、
を特徴とする請求項１４に記載の方法。
【請求項２０】
前記データオブジェクトを削除するステップは、前記データオブジェクトの各々への参照のカウントを監視するステップを含むこと、
を特徴とする請求項１４に記載の方法。
【請求項２１】
前記参照の前記カウントを監視するステップは、前記データオブジェクトの各々に対する前記カウントを、参照する前記トークンの各々の削除と参照する前記子オブジェクトの各々の削除とに応じて減少させるステップを含むこと、
を特徴とする請求項２０に記載の方法。
【請求項２２】
参照を有さない前記データオブジェクトを格納するメモリを再生するステップは、関係する参照の前記カウントがゼロまで減少した時に発生すること、
を特徴とする請求項２１に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文脈情報を自動保存するためのデータツリー構造に関する。
【背景技術】
【０００２】
一般的に、被試験デバイスの試験データはデータフォーマットシステムで受信されると直ちに処理される。試験データは、論理的に階層を形成する一連のイベントとして受信され得る。ある特定のイベントを十分に理解し解釈するには、多くの場合、他のイベントに関する情報にアクセスすることにより必要な文脈を提供することが必要である。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
データフォーマットシステムにおいて単一のデータフォーマッタを用いて試験データを処理することは比較的単純であるため、複雑なメモリ管理技術は必要ない。ただし、他のデータ処理を行う場合にはメモリ管理が複雑であるため、データモデルオブジェクトを適時に解放する明示的コードが必要となり得る。かかる複雑な技術を用いた環境では、エラーやメモリ「リーク」が生じることが多い。
【課題を解決するための手段】
【０００４】
一実施の形態において、試験データを処理するシステムは、：（１）前記試験データからデータオブジェクトを生成し、（２）前記データオブジェクトをツリー構造において配列し、（３）前記データオブジェクトのうちの少なくとも１つを参照するトークンを生成するコードを有するデータ投入部と；前記データ投入部と通信するデータモデルであって、前記トークン及び子データオブジェクを含む群から選択される少なくとも１つからの参照を有する前記データオブジェクトを選択的に格納し、前記ツリー構造において前記トークン及び前記子データオブジェクを含む群から選択される少なくとも１つからの参照を有さないデータオブジェクトに対するメモリを再生するため、前記データモデルに格納されたデータオブジェクトを選択的に解放するコードを有する、前記データモデルと、前記データモデルと通信する複数のクライアントであって、（１）前記データ投入部によって生成された前記トークンを受け取り、（２）前記トークンによって参照される前記データオブジェクトを読み取り、（３）前記データオブジェクトを読み取った後に、対応する前記データオブジェクトへの参照と併せて前記トークンを削除するためのコードを有する、前記複数のクライアントとを含む。
【０００５】
他の実施の形態において、試験データからデータオブジェクトを処理するシステムは、：（１）前記試験データからデータオブジェクトを生成し、（２）前記データオブジェクト同士を、子オブジェクトが親オブジェクトへの参照を有する関係構造において配列し、（３）前記データオブジェクトへの参照を有するトークンを生成するコードを有するデータ投入部と；前記関係構造において前記トークン及び子データオブジェクを含む群から選択される少なくとも１つからの参照を有さない前記データオブジェクトを格納するメモリを再生するコードと；前記データ投入部と通信する複数のクライアントであって、前記クライアントはそれぞれ、前記データオブジェクトへの参照を有する前記トークンを選択的に取得し、前記トークンによって参照される前記データオブジェクトを読み取る、前記複数のクライアントとを含む。
【０００６】
さらに他の実施の形態において、試験データからデータオブジェクトを処理する方法は、：前記試験データからデータオブジェクトを生成するステップと；子オブジェクトが親オブジェクトへの参照を有するツリー構造において前記データオブジェクトを配列するステップと；前記データオブジェクトのうちの少なくとも１つを参照するトークンを生成するステップと；前記ツリー構造において前記トークン及び前記子データオブジェクトを含む群から選択される少なくとも１つからの参照を有さない前記データオブジェクトを格納するメモリを再生するステップを含む。
【０００７】
さらに他の実施の形態において、試験データを処理する方法であって：前記試験データからデータオブジェクトを生成するステップと；ツリー構造において前記データオブジェクトを配列するステップと；前記データオブジェクトのうちの少なくとも１つを参照するトークンを生成するステップと；前記トークン及び子データオブジェクを含む群から選択される少なくとも１つからの参照を有する前記データオブジェクトを選択的に格納するステップと；前記試験データから生成された前記トークンをクライアントへ転送するステップと；前記トークンによって参照される前記データオブジェクトを前記クライアントが読み取るステップと；前記データオブジェクトを読み取った後に、対応する前記データオブジェクトへの参照と併せて前記トークンを削除するステップと；前記ツリー構造において前記トークン及び子データオブジェクを含む群から選択される少なくとも１つからの参照を有さない前記データオブジェクトを格納するメモリを再生するステップを含む。
【発明を実施するための最良の形態】
【０００８】
本発明を例示する実施形態を図面に示す。
【０００９】
受信後すぐに処理されない試験データはメモリに格納する必要がある。典型的に、単一データフォーマッタの場合にはデータを受信の際に処理するため、格納する必要はないが、多数の独立したフォーマッタの場合には、概してデータを格納することが必要である。
【００１０】
通常は、フォーマッタが情報を必要としなくなるまで試験データを文脈情報として利用できるようにしておくことが望ましい。連続データログプロセスでは時間の経過にともないデータの量が大量となる可能性があり、通常は情報の全てを保持できる程のメモリはない。したがって、使用される見込みのない項目については直ちに破棄することが非常に望ましい。
【００１１】
本明細書に記載するように、データモデルに格納された試験データから形成されるオブジェクトの構造によって、複数のデータフォーマッタが個々の速度で動作することが容易になる。各フォーマッタは、必要なデータを独自のペースで消費する。こうすることで、データフォーマットシステムの動作に優れた性能と柔軟性がもたらされる。
【００１２】
潜在的に複雑であるメモリ管理状況は、巧みな従属構造により自動的に処理できる。この構造によれば、データモデルオブジェクトの適時解放を処理する明示的コードの必要がない。データモデルオブジェクトを解放する明示的コードは、エラーやメモリリークを引き起こす可能性がある。
【００１３】
カウントされる参照又はポインタを各オブジェクトとともに使用することにより、参照を保持する他のオブジェクトの合計数がカウントされる。ある特定のオブジェクトを参照する他のオブジェクトの数がゼロまで減少すれば、そのオブジェクトは自動的にメモリから削除され、このメモリは再生され再使用され得る。
【００１４】
階層又は構造中に親オブジェクト、子オブジェクト、及びトークンを含む各項目は、その親への参照を保持する。この参照により、親オブジェクトはメモリに保持される。オブジェクトの親、祖父母、又はより上位の親は必要な文脈を提供できるため、これらの上位親の各々は、情報内容に対するアクセスの可能性がある限り、メモリに保持される。
【００１５】
参照をカウントすることによるメモリの保持は、子オブジェクトが親オブジェクトへの参照を保持する際に機能する。親オブジェクトがその子への参照を保持する場合には、親と子は各々が相手方によって適所に保持されるため、メモリから削除されることはない。よって、親はその子への参照を維持しない。
【００１６】
子オブジェクトを参照するトークンを保持するクライアントは、親オブジェクト及び他の上位の親オブジェクトからの文脈データの全てへのアクセスを有する。さらにこれらの親オブジェクト、祖父母オブジェクト、及び他の上位のオブジェクトは、親オブジェクトを参照するトークンが削除されるまで維持される。
【００１７】
試験データ１０２を処理するシステム１００を示す図１を参照する。一実施形態において、システム１００は、（１）試験データ１０２からデータオブジェクト１０６を生成し、（２）ツリー構造１０８においてデータオブジェクト１０６を配列し、（３）データオブジェクト１０６のうちの少なくとも１つを参照するトークン１１０を生成するコードを有する、データ投入部１０４を含み得る。
【００１８】
一実施形態において、データモデル１１２はデータ投入部１０４と通信する。データモデル１１２は、トークン１１０及び子データオブジェクト１０６Ａを含む群から選択される少なくとも１つからの参照を有するデータオブジェクト１０６を選択的に格納し得る。
【００１９】
データモデル１１２と通信する複数のクライアント１１４Ａから１１４Ｄが示されている。クライアント１１４Ａから１１４Ｄは、（１）データ投入部１０４の生成するトークン１１０を受け取り、（２）トークン１１０によって参照されるデータオブジェクト１０６を読み取り、（３）データオブジェクト１０６を読み取った後、対応するデータオブジェクト１０６への参照と併せてトークン１１０を削除するコードを有し得る。一実施形態では、ツリー構造１０８においてトークン１１０及び子データオブジェクト１０６Ａを含む群から選択される少なくとも１つからの参照を有さないデータオブジェクト１０６に対するメモリの再生のために、データモデル１１２に格納されたデータオブジェクト１０６を選択的に解放するコードが提供される。
【００２０】
一実施形態において、トークン１１０の各々は、子データオブジェクト１０６Ａ及び親データオブジェクト１０６Ｂを含む群から選択される１つを参照する。
【００２１】
一実施形態において、少なくとも１つの子データオブジェクト１０６Ａは親データオブジェクト１０６Ｂを参照する。
【００２２】
一実施形態において、子データオブジェクト１０６Ａの各々は、これを参照するトークン１１０のうちの１つを有する。
【００２３】
子データオブジェクト１０６Ａの各々は、これを参照するトークン１１０のうちの１つを有する。子オブジェクト１０６Ａの各々は、親データオブジェクト１０６Ｂを参照する。クライアント１１４Ａから１１４Ｄは、トークン１１０によって参照される子データオブジェクト１０６Ａの各々を読み取ることができ、さらに子データオブジェクト１０６Ａによって参照される親データオブジェクト１０６Ｂの各々を読み取ることができる。
【００２４】
ここで図２を参照する。図２はシステム２００の一部を示しており、このシステム２００はシステム１００に関連し、子オブジェクト２０４Ａ、親オブジェクト２０４Ｂ、祖父母オブジェクト２０４Ｃを有するデータモデル２０２を含む。これらのオブジェクトは、子オブジェクト２０４Ａから親オブジェクト２０４Ｂへのポインタと、親オブジェクト２０４Ｂから祖父母オブジェクト２０４Ｃへのポインタと共に、構造中に配列される。図示されてはいないが、祖父母オブジェクト２０４Ｃより上にはさらに上位の親オブジェクトを形成でき、子オブジェクト２０４Ａより下にはさらに下位の子オブジェクトを形成できる。試験データによっては、子オブジェクト２０４Ａ、親オブジェクト２０４Ｂ、及び祖父母オブジェクト２０４Ｃのどのレベルにおいても異なる数のオブジェクトを形成できる。
【００２５】
引き続き図２を参照する。一実施形態において、子オブジェクト２０４Ａへのポインタを有するクライアントトークン２０６が示されている。データモデル２０２内の構造中の各オブジェクト２０４Ａ、２０４Ｂと各トークン２０６は、その親への参照を保持する。ポインタとも呼ばれるこの参照により、オブジェクト２０４Ａ、２０４Ｂ、２０４Ｃはメモリに保持される。オブジェクトの親、祖父母、又はより上位の親は必要な文脈を提供できるため、これらの上位親の各々は情報内容に対してアクセスされる可能性がある限り、メモリに保持される。
【００２６】
ここで図３を参照する。図３はシステム３００の一部を示しており、このシステム３００はシステム１００に関連し、子オブジェクト３０４Ａ、親オブジェクト３０４Ｂ、祖父母オブジェクト３０４Ｃを有するデータモデル３０２を含む。これらのオブジェクトは、子オブジェクト３０４Ａから親オブジェクト３０４Ｂへのポインタと、親オブジェクト３０４Ｂから祖父母オブジェクト３０４Ｃへのポインタと共に、構造中に配列される。図示されてはいないが、祖父母オブジェクト３０４Ｃより上にはさらに上位の親オブジェクトを形成でき、子オブジェクト３０４Ａより下にはさらに下位の子オブジェクトを形成できる。試験データによっては、子オブジェクト３０４Ａ、親オブジェクト３０４Ｂ、及び祖父母オブジェクト３０４Ｃのどのレベルにおいても異なる数のオブジェクトを形成できる。
【００２７】
引き続き図３を参照する。一実施形態において、子オブジェクト３０４Ａと、親オブジェクト３０４Ｂと、祖父母オブジェクト３０４Ｃへのポインタを有するクライアントトークン３０６が示されている。データモデル３０２内の構造中の各オブジェクト３０４Ａ、３０４Ｂと各トークン３０６は、その親への参照を保持する。ポインタとも呼ばれるこの参照により、オブジェクト３０４Ａ、３０４Ｂ、３０４Ｃはメモリに保持される。オブジェクト３０４Ａ、３０４Ｂ、３０４Ｃの各々は少なくとも１つのトークン３０６からの参照を有するため、オブジェクト３０４Ａ、３０４Ｂ、３０４Ｃの各々は、子オブジェクトとこれを参照するトークンの各々が削除されるまでは、削除されない。
【００２８】
図１を参照する。一実施形態において、子データオブジェクト１０６Ａから及びトークン１１０からデータオブジェクト１０６の各々への参照のカウント１１６を監視するコードを設けることができる。
【００２９】
一実施形態において、データ投入部１０４のコードは、データオブジェクト１０６の各々への参照のカウント１１６を計算できる。参照のカウント１１６は、子データオブジェクト１０６Ａのうちの１つが削除されるたびに、そしてトークン１１０のうちの１つが削除されるたびに減少する。一実施形態において、データ投入部１０４のデータオブジェクト１０６Ａを格納するメモリを解放するコードは、関係する参照のカウント１１６がゼロまで現象した時点で、データオブジェクト１０６の各々を格納するメモリを再生させる。
【００３０】
一実施形態において、複数のクライアント１１４Ａから１１４Ｄはデータフォーマッタを含む。データフォーマッタは、ＳＴＤＦ（標準試験定義フォーマット）ライタ、ＡＳＣＩＩ（情報交換用米国標準コード）ライタ、ＸＭＬ（拡張マークアップ言語）ライタ、又は将来的に選択される任意のタイプのフォーマッタ、及びＥＤＬ（イベントデータログ）ライタを含む群から選択される少なくとも１つを含み得る。
【００３１】
引き続き図１を参照する。一実施形態において、通知管理部１１８はデータ投入部１０４及びクライアント１１４Ａから１１４Ｄと通信する。通知管理部は、データ投入部１０４によって生成されたデータオブジェクト１０６とトークン１１０をクライアント１１４Ａから１１４Ｄに通知する。クライアント１１４Ａから１１４Ｄはそれぞれ、トークン１１０からの参照に基づいてデータモデル１１２に格納されたデータオブジェクト１０６を選択的に読み取る。
【００３２】
一実施形態において、試験データ１０２からデータオブジェクト１０６を処理するシステムが提供される。システム１００は、試験データ１０２からデータオブジェクト１０６を生成するコードを有するデータ投入部１０４を含み得る。データ投入部１０４は関係構造１０８においてデータオブジェクト１０６同士を配列するコードを含み得る。この関係構造１０８はツリー構造１０８を含むが、これに限定しない。子オブジェクト１０６Ａは親オブジェクト１０６Ｂへの参照を有し得る。データ投入部１０４は、データオブジェクト１０６への参照を有するトークン１１０を生成するコードを含むことができる。システム１００は、関係構造１０８においてトークン１１０及び子データオブジェクト１０６Ａを含む群から選択される少なくとも１つからの参照を有さないデータオブジェクト１０６を格納するメモリを再生するコードを有し得る。システム１００は、データ投入部１０４と通信する複数のクライアント１１４Ａから１１４Ｄを含み得る。クライアント１１４Ａから１１４Ｄはそれぞれ、データオブジェクト１０６への参照を有するトークン１１０を選択的に取得でき、トークン１１０によって参照されるデータオブジェクト１０６を読み取ることができる。
【００３３】
一実施形態において、ＥＤＬイベント管理部１２０はデータ投入部１０４に試験データ１０２を提供し得る。ＥＤＬイベント管理部１２０は、ＤＲＬ１２２から試験データ１０２を受信し得る。
【００３４】
図４を参照すると、試験データからデータオブジェクト１０６を処理する方法４００が示されている。一実施形態において、方法４００は試験データからデータオブジェクトを生成するステップ４０２を含み得る。方法４００は、ツリー構造においてデータオブジェクトを配列するステップ４０４を含み得るが、子オブジェクトは親オブジェクトへの参照を有する。方法４００は、データオブジェクトのうちの少なくとも１つを参照するトークンを生成するステップ４０６をさらに含み得る。最後に方法４００は、ツリー構造においてトークン及び子データオブジェクトを含む群から選択される少なくとも１つからの参照を有さないデータオブジェクトを格納するメモリを再生するステップ４０８を含み得る。
【００３５】
図５を参照すると、試験データを処理する方法５００が示されている。一実施形態において、方法５００は試験データからデータオブジェクトを生成するステップ５０２を含み得る。方法５００は、ツリー構造においてデータオブジェクトを配列するステップ５０４を含み得る。方法５００は、データオブジェクトのうちの少なくとも１つを参照するトークンを生成するステップ５０６をさらに含む。方法５００は、トークン及び子データオブジェクトを含む群から選択される少なくとも１つからの参照を有するデータオブジェクトを選択的に格納するステップ５０８を含み得る。方法５００は、試験データから生成されたトークンをクライアントへ転送するステップ５１０を含む。次に方法５００は、トークンによって参照されるデータオブジェクトをクライアントが読み取るステップ５１２を含む。方法５００は、データオブジェクトを読み取った後に、対応するデータオブジェクトへの参照と併せてトークンを削除するステップ５１４を含み得る。方法５００は、ツリー構造においてトークン及び子データオブジェクトを含む群から選択される少なくとも１つからの参照を有さないデータオブジェクトを格納するメモリを再生するステップ５１６を含み得る。
【００３６】
一実施形態において、試験データからデータオブジェクトを生成するステップ５０２は、データ投入部内で発生し得る。一実施形態において、ツリー構造においてデータオブジェクトを配列するステップ５０４は、親オブジェクトと子オブジェクトとを形成する。子オブジェクトの各々は、親オブジェクトのうちの１つを参照し得る。一般的に、トークンを生成するステップ５０６は、子オブジェクトの各々を参照するトークンを生成することを含むが、これに限定しない。さらに、トークンを生成するステップ５０６は親オブジェクトのうちの少なくとも１つを参照するトークンを生成することを含み得る。
【００３７】
一実施形態において、データオブジェクトを選択的に格納するステップ５０８は、データモデルにおいてデータオブジェクトを格納することを含み得る。
【００３８】
ここで図６を参照する。一実施形態において、試験データを処理する方法６００が示されている。一実施形態において、方法６００は試験データからデータオブジェクトを生成するステップ６０２を含む。方法６００は、ツリー構造においてデータオブジェクトを配列するステップ６０４を含み得る。方法６００は、データオブジェクトのうちの少なくとも１つを参照するトークンを生成するステップ６０６をさらに含む。方法６００は、トークン及び子データオブジェクトを含む群から選択される少なくとも１つからの参照を有するデータオブジェクトを選択的に格納するステップ６０８を含み得る。方法６００は、試験データから生成されたトークンをクライアントへ転送するステップ６１０を含む。次に方法６００は、トークンによって参照されるデータオブジェクトをクライアントが読み取るステップ６１２を含む。方法６００は、データオブジェクトを読み取った後に、対応するデータオブジェクトへの参照と併せてトークンを削除するステップ６１４を含み得る。方法６００は、ツリー構造においてトークン及び子データオブジェクトを含む群から選択される少なくとも１つからの参照を有さないデータオブジェクトを格納するメモリを再生するステップ６１６を含む。任意に、データオブジェクトを削除するステップ６１４は、データオブジェクトの各々への参照のカウントを監視するステップ６１８を含み得る。
【００３９】
一実施形態において、参照のカウントを監視するステップ６１８は、参照するトークンの各々の削除に応じて、そして参照する子オブジェクトの各々の削除に応じて、データオブジェクトの各々に対するカウントを減らすことを含み得る。
【００４０】
方法５００又は方法６００において、参照を有さないデータオブジェクトを格納するメモリを再生するステップ５１６、６１６は、データオブジェクトに関係する参照のカウントがゼロまで減少した時に発生し得る。
【００４１】
本願の付記を以下に説明する。
【００４２】
（付記１）
試験データを処理するシステムであって：
（１）前記試験データからデータオブジェクトを生成し、（２）前記データオブジェクトをツリー構造において配列し、（３）前記データオブジェクトのうちの少なくとも１つを参照するトークンを生成するコードを有するデータ投入部と；
前記データ投入部と通信するデータモデルであって、前記トークン及び子データオブジェクを含む群から選択される少なくとも１つからの参照を有する前記データオブジェクトを選択的に格納し、前記ツリー構造において前記トークン及び前記子データオブジェクを含む群から選択される少なくとも１つからの参照を有さないデータオブジェクトに対するメモリを再生するため、前記データモデルに格納されたデータオブジェクトを選択的に解放するコードを有する、前記データモデルと、
前記データモデルと通信する複数のクライアントであって、（１）前記データ投入部によって生成された前記トークンを受け取り、（２）前記トークンによって参照される前記データオブジェクトを読み取り、（３）前記データオブジェクトを読み取った後に、対応する前記データオブジェクトへの参照と併せて前記トークンを削除するためのコードを有する、前記複数のクライアントとを含むこと、
を特徴とするシステム。
【００４３】
（付記２）
前記子データオブジェクトから及び前記トークンから前記データオブジェクトの各々への参照のカウントを監視するコードが提供されること、
を特徴とする付記１に記載のシステム。
【００４４】
（付記３）
前記コードは前記データオブジェクトの各々への参照の前記カウントを計算し、前記参照の前記カウントは前記子データオブジェクトのうちの１つが削除されるたびに、及び前記トークンのうちの１つが削除されるたびに減少すること、
を特徴とする付記２に記載のシステム。
【００４５】
（付記４）
前記データ投入部の前記データオブジェクトを解放する前記コードは、前記データオブジェクトの各々を格納するメモリを、関係する参照の前記カウントがゼロまで減少した時に再生すること、
を特徴とする付記３に記載のシステム。
【００４６】
（付記５）
前記複数のクライアントはデータフォーマッタを含むこと、
を特徴とする付記１に記載のシステム。
【００４７】
（付記６）
前記データフォーマッタはＳＴＤＦライタ、ＡＳＣＩＩライタ、ＸＭＬライタ、及びＥＤＬライタを含む群から選択される少なくとも１つを含むこと、
を特徴とする付記５に記載のシステム。
【００４８】
（付記７）
試験データを処理する方法であって：
前記試験データからデータオブジェクトを生成するステップと；
ツリー構造において前記データオブジェクトを配列するステップと；
前記データオブジェクトのうちの少なくとも１つを参照するトークンを生成するステップと；
前記トークン及び子データオブジェクを含む群から選択される少なくとも１つからの参照を有する前記データオブジェクトを選択的に格納するステップと；
前記試験データから生成された前記トークンをクライアントへ転送するステップと；
前記トークンによって参照される前記データオブジェクトを前記クライアントが読み取るステップと；
前記データオブジェクトを読み取った後に、対応する前記データオブジェクトへの参照と併せて前記トークンを削除するステップと；
前記ツリー構造において前記トークン及び子データオブジェクを含む群から選択される少なくとも１つからの参照を有さない前記データオブジェクトを格納するメモリを再生するステップを含むこと、
を特徴とする方法。
【００４９】
（付記８）
前記試験データからデータオブジェクトを生成するステップはデータ投入部において発生すること、
を特徴とする付記７に記載の方法。
【００５０】
（付記９）
前記ツリー構造において前記データオブジェクトを配列するステップは、親オブジェクト及び子オブジェクトを形成し、前記子オブジェクトの各々は前記親オブジェクトのうちの１つを参照すること、
を特徴とする付記７に記載の方法。
【００５１】
（付記１０）
前記トークンを生成するステップは、前記子オブジェクトの各々を参照する前記トークンを生成するステップを含むこと、
を特徴とする付記９に記載の方法。
【図面の簡単な説明】
【００５２】
【図１】試験データからデータオブジェクトを処理するシステムの概略図である。
【図２】試験データからデータオブジェクトを処理するシステムにおいて子オブジェクトを指し示すトークンを有するデータモデルの概略図である。
【図３】試験データからデータオブジェクトを処理するシステムにおいて子オブジェクト及び親オブジェクトを指し示すトークンを有するデータモデルの概略図である。
【図４】試験データからデータオブジェクトを処理する方法のフローチャートである。
【図５】試験データからデータオブジェクトを処理する方法のフローチャートである。
【図６】試験データからデータオブジェクトを処理する方法のフローチャートである。
【符号の説明】
【００５３】
１００  システム
１０２  試験データ
１０４  データ投入部
１０６  データオブジェクト
１０８  ツリー構造
１１０  トークン
１１２  データモデル
１１４Ａ、１１４Ｂ、１１４Ｃ、１１４Ｄ  クライアント
１１６  カウント
１１８  通知管理部
１２０  ＥＤＬイベント管理部
２００  システム
２０２  データモデル
２０４Ａ  子オブジェクト
２０４Ｂ  親オブジェクト
２０４Ｃ  祖父母オブジェクト
２０６  クライアントトークン
【図１】
2007207242.tif 000003
【図２】
2007207242.tif 000004
【図３】
2007207242.tif 000005
【図４】
2007207242.tif 000006
【図５】
2007207242.tif 000007
【図６】
2007207242.tif 000008
【外国語明細書】
2007207242000001.pdf