(57)【要約】【課題】試験処理や試験データの生成を高速化すること。【解決手段】一実施例において、データストアへのアクセスを管理する方法は、（１）一つの第1優先スレッドおよび複数の第２優先スレッドを、処理システムにより実行するためにインスタンス化すること、（２）前記第1優先スレッド上でデータ取り込み手段を起動すること、（３）複数のデータフォーマット手段を、前記複数の第２優先スレッドの少なくとも一つ上で起動すること、（４）前記データ取り込み手段が、データ項目を前記データストアに書き込むようにすること、（５）データ取得システムのパラメータを監視すること、および（６）前記監視されるパラメータに応じて、前記複数のデータフォーマット手段による、前記データストアおよびその中の前記データ項目へのアクセスを管理するために、前記第1優先スレッドに対する前記第２優先スレッドの実行を制御すること、を備える。他の実施例もまた開示されている。【選択図】図１
2007206073.tif 000002
【特許請求の範囲】
【請求項１】
データストアへのアクセスを管理する方法であって、
一つの第1優先スレッドおよび複数の第２優先スレッドを、処理システムにより実行するためにインスタンス化すること、
前記第1優先スレッド上でデータ取り込み手段を起動すること、
複数のデータフォーマット手段を、前記複数の第２優先スレッドの少なくとも一つ上で起動すること、
前記データ取り込み手段が、データ項目を前記データストアに書き込むようにすること、
データ取得システムのパラメータを監視すること、
前記監視されるパラメータに応じて、前記複数のデータフォーマット手段による、前記データストアおよびその中の前記データ項目へのアクセスを管理するために、前記第1優先スレッドに対する前記第２優先スレッドの実行を制御すること、
を備える方法。
【請求項２】
前記データ取得システムの前記パラメータが、前記データ項目が置かれる、新たなデータの利用可能状況を示すものである、請求項１に記載の方法。
【請求項３】
前記データ取得システムの前記パラメータが、前記データストアの空き度合いを示すものであり、
前記第1優先スレッドに対する前記第２優先スレッドの実行が、（ｉ）前記データストアの空きが第１の閾値を超えた場合に、前記第1優先スレッドを保留にして、前記第２優先スレッドの何れかを実行できるようにし、（ｉｉ）前記データストアの空きが第２の閾値以下に下がった場合に、前記第1優先スレッドをアクティブにする、ことによって制御される、
請求項１に記載の方法。
【請求項４】
前記データ項目の少なくともいくつかが、１以上の被試験デバイス（ＤＵＴ）の試験に適したものである、請求項１に記載の方法。
【請求項５】
前記データストアがメモリであり、かつ、前記データ項目が、該メモリ内のオブジェクトに関係付けられている、請求項１に記載の方法。
【請求項６】
データストアへのアクセスを管理する方法であって、
一つの第1優先スレッドおよび複数の第２優先スレッドを、処理システムにより実行するためにインスタンス化すること、
前記第1優先スレッド上でデータ取り込み手段を起動すること、
複数のデータフォーマット手段を、前記複数の第２優先スレッドの少なくとも一つ上で起動すること、
前記データ取り込み手段が、データストアへデータ項目を書き込み、前記データ項目をインデックス化するためのトークンを生成し、更に、前記トークンの少なくともいくつかが、前記複数のデータフォーマット手段の少なくともいくつかに渡されるようにする、各処理を実行すること、
前記データフォーマット手段の何れかが、前記トークンによってインデックス化された前記データ項目を読み出し、前記データ項目の一つの読み出しの完了で、前記読み出したデータ項目に関連付けられたトークンを解放する、各処理を実行すること、
を備える方法。
【請求項７】
前記データストアがメモリであり、かつ、前記データ項目が、該メモリ内のオブジェクトに関係付けられている、請求項６に記載の方法。
【請求項８】
前記第1優先スレッドが、前記複数の第２優先スレッドより高い実行優先度でインスタンス化される、請求項６に記載の方法。
【請求項９】
前記データ項目をインデックス化するためのトークンの生成が、各データ項目ごとに、
前記データ取り込み手段が、前記データ項目をインデックス化するための一つの初期トークンを生成するようにし、
前記初期トークンを通知管理手段に渡すこと、を備え、
前記方法が、更に、これらの前記初期トークンに応じて、前記通知管理手段を介して、トークンを前記データフォーマット手段に渡すことを、備える請求項６に記載の方法。
【請求項１０】
前記通知管理手段を、前記複数のスレッドの一つで起動すること、を更に備える請求項９に記載の方法。
【請求項１１】
前記データフォーマット手段から、複数のデータ形式のデータ項目のサブスクリプションを受け取り、
前記初期トークンに応じて、前記通知管理手段を介して、（１）前記初期トークンによってインデックス化された前記データ項目の形式と、（２）前記データ項目のサブスクリプションとに従って、トークンを前記データフォーマット手段の何れかに渡すこと、を更に備える請求項９に記載の方法。
【請求項１２】
データストアへのアクセスを管理するシステムであって、
コンピュータ読み取り可能な媒体と、
前記コンピュータ読み取り可能な媒体に格納されたコンピュータ読み取り可能なコードと、を備え、該コードが、
一つの第1優先スレッドおよび複数の第２優先スレッドを、処理システムにより実行するためにインスタンス化するためのコード、
前記第1優先スレッド上でデータ取り込み手段を起動するためのコード、
複数のデータフォーマット手段を、前記複数の第２優先スレッドの少なくとも一つ上で起動するためのコード、
前記データ取り込み手段が、データ項目を前記データストアに書き込むようにするためのコード、
データ取得システムのパラメータを監視するためのコード、および、
前記監視されるパラメータに応じて、前記複数のデータフォーマット手段による、前記データストアおよびその中の前記データ項目へのアクセスを管理するために、前記第1優先スレッドに対する前記第２優先スレッドの実行を制御するためのコード、
を含むシステム。
【請求項１３】
前記データ取得システムの前記パラメータが、前記データ項目が置かれる、新たなデータの利用可能状況を示すものである、請求項１２に記載のシステム。
【請求項１４】
前記データ取得システムの前記パラメータが、前記データストアの空き度合いを示すものであり、
前記第1優先スレッドに対する前記第２優先スレッドの実行が、（ｉ）前記データストアの空きが第１の閾値を超えた場合に、前記第1優先スレッドを保留にして、前記第２優先スレッドの何れかを実行できるようにし、（ｉｉ）前記データストアの空きが第２の閾値以下に下がった場合に、前記第1優先スレッドをアクティブにする、ことによって制御される、
請求項１２に記載のシステム。
【請求項１５】
前記データ項目の少なくともいくつかが、１以上の被試験デバイス（ＤＵＴ）の試験に適したものである、請求項１２に記載のシステム。
【請求項１６】
前記データストアがメモリであり、かつ、前記データ項目が、該メモリ内のオブジェクトに関係付けられている、請求項１２に記載のシステム。
【請求項１７】
データストアへのアクセスを管理するシステムであって、
コンピュータ読み取り可能な媒体と、
前記コンピュータ読み取り可能な媒体に格納されたコンピュータ読み取り可能なコードと、を備え、該コードが、
一つの第1優先スレッドおよび複数の第２優先スレッドを、処理システムにより実行するためにインスタンス化するためのコード、
前記第1優先スレッド上でデータ取り込み手段を起動するためのコード、
複数のデータフォーマット手段を、前記複数の第２優先スレッドの少なくとも一つ上で起動するためのコード、
前記データ取り込み手段が、データストアへデータ項目を書き込み、前記データ項目をインデックス化するためのトークンを生成し、更に、前記トークンの少なくともいくつかが、前記複数のデータフォーマット手段の少なくともいくつかに渡されるようにする、各処理を実行するためのコード、
前記データフォーマット手段の何れかが、前記トークンによってインデックス化された前記データ項目を読み出し、前記データ項目の一つの読み出しの完了で、前記読み出したデータ項目に関連付けられたトークンを解放する、各処理を実行するためのコードと、
を含むシステム。
【請求項１８】
前記データストアがメモリであり、かつ、前記データ項目が、該メモリ内のオブジェクトに関係付けられている、請求項１７に記載のシステム。
【請求項１９】
前記コードが、前記第1優先スレッドを、前記複数の第２優先スレッドより高い実行優先度でインスタンス化する、請求項１７に記載のシステム。
【請求項２０】
前記システムが、更に通知管理手段を起動するためのコードを備え、
前記データ項目をインデックス化するためのトークンの生成が、各データ項目ごとに、
前記データ取り込み手段が、前記データ項目をインデックス化するための一つの初期トークンを生成するようにし、
前記初期トークンを前記通知管理手段に渡すこと、を備え、
前記システムが、更に、これらの前記初期トークンに応じて、前記通知管理手段を介して、トークンを前記データフォーマット手段に渡すためのコードを、備える請求項１７に記載のシステム。
【請求項２１】
前記通知管理手段を、前記複数のスレッドの一つで起動するためのコード、を更に備える請求項２０に記載のシステム。
【請求項２２】
前記データフォーマット手段から、複数のデータ形式のデータ項目のサブスクリプションを受け取るためのコードと、
前記初期トークンに応じて、前記通知管理手段を介して、（１）前記初期トークンによってインデックス化された前記データ項目の形式と、（２）前記データ項目のサブスクリプションとに従って、トークンを前記データフォーマット手段の何れかに渡すためのコードと、を更に備える請求項２０に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データストアへのアクセスを管理する方法およびシステムに関する。
【背景技術】
【０００２】
回路を試験するとき、その試験結果は、未処理のフォーマットで記録されうる。しばしば、この未処理フォーマットは、（１）試験結果を解析するのに使用するアプリケーションプログラムでは受け付けられず、また（２）試験技術者や他の人間にとって、理解が困難である。
【０００３】
未加工データフォーマット上のこのような問題ゆえに、しばしば、未加工データは、１以上の他のフォーマット、例えば、再配置、ソート、グループ化、要素抽出、およびデータに対する他の操作の実行によって、変換される。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
未加工データが”リアルタイム”でフォーマットされるとき、これが試験に使用されるリソースに重大な負担を負わせる可能性があり、結果、試験処理（および更なる未加工試験データの生成）を遅くする。データフォーマット手段は、また、”後回し”にされ、そして、完全に試験処理を中断するフラッグが投げられる可能性がある。
【０００５】
データフォーマット処理の試験処理との干渉を回避する一つの方法は、未加工試験データをファイルに保存し、そして、試験が完了したときに、このデータを取り出し、フォーマットすることである。しかしながら、逐次、試験データを生成してこれをフォーマットすることは、確かに試験処理をより早く完了させるけれども、使いものになる（すなわち、フォーマットされた）試験データの生成は、遅れる可能性がある。
【課題を解決するための手段】
【０００６】
一実施例において、データストアへのアクセスを管理する方法は、（１）一つの第1優先スレッドおよび複数の第２優先スレッドを、処理システムにより実行するためにインスタンス化すること、（２）前記第1優先スレッド上でデータ取り込み手段を起動すること、（３）複数のデータフォーマット手段を、前記複数の第２優先スレッドの少なくとも一つ上で起動すること、（４）前記データ取り込み手段が、データ項目を前記データストアに書き込むようにすること、（５）データ取得システムのパラメータを監視すること、および（６）前記監視されるパラメータに応じて、前記複数のデータフォーマット手段による、前記データストアおよびその中の前記データ項目へのアクセスを管理するために、前記第1優先スレッドに対する前記第２優先スレッドの実行を制御すること、を備える。
【０００７】
他の実施例において、データストアへのアクセスを管理する方法は、（１）一つの第1優先スレッドおよび複数の第２優先スレッドを、処理システムにより実行するためにインスタンス化すること、（２）前記第1優先スレッド上でデータ取り込み手段を起動すること、および（３）複数のデータフォーマット手段を、前記複数の第２優先スレッドの少なくとも一つ上で起動すること、を備える。本方法は、また、前記データ取り込み手段が、各処理、すなわち、データストアへデータ項目を書き込み、前記データ項目をインデックス化するためのトークンを生成し、更に、前記トークンの少なくともいくつかが、前記複数のデータフォーマット手段の少なくともいくつかに渡されるようにする、各処理を実行するようにする。本方法は、更に、前記データフォーマット手段の何れかが、前記トークンによってインデックス化された前記データ項目を読み出し、前記データ項目の一つの読み出しの完了で、前記読み出したデータ項目に関連付けられたトークンを解放する、各処理を実行するようにする。
【０００８】
更に別の実施例において、データストアへのアクセスを管理するシステムは、コンピュータ読み取り可能な媒体に格納されたコンピュータ読み取り可能なコードを備える。このコンピュータ読み取り可能なコードは、（１）一つの第1優先スレッドおよび複数の第２優先スレッドを、処理システムにより実行するためにインスタンス化するためのコード、（２）前記第1優先スレッド上でデータ取り込み手段を起動するためのコード、（３）複数のデータフォーマット手段を、前記複数の第２優先スレッドの少なくとも一つ上で起動するためのコード、（４）前記データ取り込み手段が、データ項目を前記データストアに書き込むようにするためのコード、（５）データ取得システムのパラメータを監視するためのコード、および（６）前記監視されるパラメータに応じて、前記複数のデータフォーマット手段による、前記データストアおよびその中の前記データ項目へのアクセスを管理するために、前記第1優先スレッドに対する前記第２優先スレッドの実行を制御するためのコード、を備える。
【０００９】
更に別の実施例において、データストアへのアクセスを管理するシステムは、コンピュータ読み取り可能な媒体に格納されたコンピュータ読み取り可能なコードを備える。このコンピュータ読み取り可能なコードは、（１）一つの第1優先スレッドおよび複数の第２優先スレッドを、処理システムにより実行するためにインスタンス化するためのコード、（２）前記第1優先スレッド上でデータ取り込み手段を起動するためのコード、および（３）複数のデータフォーマット手段を、前記複数の第２優先スレッドの少なくとも一つ上で起動するためのコード、を備える。本コンピュータ読み取り可能なコードは、また、前記データ取り込み手段が、各処理、すなわち、データストアへデータ項目を書き込み、前記データ項目をインデックス化するためのトークンを生成し、更に、前記トークンの少なくともいくつかが、前記複数のデータフォーマット手段の少なくともいくつかに渡されるようにする、各処理を実行するためのコードを備える。本コンピュータ読み取り可能なコードは、更に、前記データフォーマット手段の何れかが、前記トークンによってインデックス化された前記データ項目を読み出し、前記データ項目の一つの読み出しの完了で、前記読み出したデータ項目に関連付けられたトークンを解放する、各処理を実行するためのコードを備える。
【００１０】
他の実施例もまた、開示されている。
【発明を実施するための最良の形態】
【００１１】
最初に記しておくが、以下の説明において、異なる図に使われている同様の参照番号は、同様の部材や特徴部位を参照している。従って、しばしば、異なる図に使われている同様の部材や特徴部分は、それぞれの図において詳細に説明されることはないであろう。
【００１２】
図１は、データストアへのアクセスを管理する第１の実施例に係る方法１００を表している。方法１００によれば、第１優先スレッド、および複数の第２優先スレッドが、処理システムによって実行されるべくインスタンス化される（ブロック１０２を参照）。そして、データ取り込み手段が、前記第１優先スレッドで起動され（ブロック１０４）、更に、複数のデータフォーマット手段が、前記第２優先スレッドの少なくとも一つにおいて起動される（ブロック１０６）。一実施例において、単一のデータフォーマット手段が、前記複数の第２優先スレッドのそれぞれにおいて起動される。他の実施例においては、前記複数の第２優先スレッドの１つまたはそれ以上が、そのそれぞれにおいて、そこで実行される複数のデータフォーマット手段を持ってよい。
【００１３】
データ取り込み手段を起動した後、方法１００は、データ取り込み手段が、データストアにデータ項目を書き込むようにし（ブロック１０８）、その間、データ取得システムのパラメータを監視する（ブロック１１０）。一例として、このデータストアは、メモリであってよく、また、このデータ項目は、メモリ内データオブジェクト（すなわち、オブジェクト指向プログラミングモデルを実行した結果として生成されるオブジェクト）であってよい。このパラメータは、データ取得システム（それは、データ取り込み手段およびデータストアを含みうる）によって、その上で操作する必要のある新たなデータの利用可能状況、または、データストアの空き度合いを示すものであってよい。他のパラメータ、およびパラメータの組み合わせもまた、監視してよい。
【００１４】
方法１００により監視されるパラメータに応じて、前記第２優先スレッドの実行を制御して、複数のフォーマット手段によって、前記第１優先スレッドがデータストアおよびその内部データ項目へのアクセスを管理するようにする（ブロック１１２）。監視されるパラメータが、データストアの空き度合いを示すものであるとき、第１優先スレッドに対する第２優先スレッドの実行は、（１）データストアの空きが第１の閾値を超えた場合に、第１優先スレッドを保留にして、第２優先スレッドの何れかを実行できるようにし、（２）データストアの空きが第２の閾値以下に下がった場合に、第１優先スレッドをアクティブにする、よう制御できる。データストアの空きを監視することによって、データストアは、そのオーバーフローを予防できる。更に、データストアの空きの２つの閾値を監視することによって、スレッドの保留／アクティブ化のピンポン動作を回避できる。
【００１５】
第１優先スレッドに対する第２優先スレッドの実行を制御することによって、データ取得システムは、最高速度または所望の実行目標で、データを生成でき、また、データ取り込み手段は、データストアを取り込める。そして、データフォーマット手段は、データストアへのアクセスが、データ取得システムまたはデータ取り込み手段の所望の実行目標に影響を与えないタイミングでなされるアクセス権限を得る。これは、特に、回路試験環境（この場合、データ項目は、１以上の被試験デバイス（ＤＵＴ）に属する）のような試験環境において有用である。
【００１６】
図２は、データストアへのアクセスを管理する第２の実施例に係る方法２００を示している。方法２００によれば、第１優先スレッドおよび複数の第２優先スレッドは、処理システムで実行するためにインスタンス化される（ブロック２０２参照）。データ取り込み手段が、そして、第１優先スレッドで起動され（ブロック２０４）、次いで、複数のデータフォーマット手段が、複数の第２優先スレッドの少なくとも一つで起動される（ブロック２０６）。一実施例において、単一のデータフォーマット手段が、前記複数の第２優先スレッドのそれぞれにおいて起動される。他の実施例においては、前記複数の第２優先スレッドの１つまたはそれ以上が、そのそれぞれにおいて、そこで実行される複数のデータフォーマット手段を持ってよい。
【００１７】
データ取り込み手段を起動した後、方法２００は、ブロック２０８で、データ取り込み手段が、（１）データストアにデータ項目を書き込みし（ブロック２１０）、（２）データ項目をインデックス化するトークンを生成し（ブロック２１２）、そして、前記トークンの少なくともいくつかが、前記複数のデータフォーマット手段の少なくともいくつかへ渡されるようにする（ブロック２１４）、ように機能される。一実施例において、このトークンは、直接、データフォーマット手段へ渡される。他の実施例においては、このトークンは、通知管理手段を通してデータフォーマット手段へ渡されるが、この詳細については、後述する。一例として、このデータストアは、メモリであってよく、また、このデータ項目は、メモリ内データオブジェクトであってよい。更に、一例として、このトークンは、メモリ配置、オブジェクト、レコード番号、ファイル名、ライン番号、また、データ項目に関連付けられた他の識別子を、参照しうる。
【００１８】
前記複数のフォーマット手段を起動した後、方法２００は、ブロック２１６において、前記複数のフォーマット手段の何れかが、（１）トークンによってインデックス化されたデータ項目を読み（ブロック２１８）、更に、（２）前記データ項目の１つの読み込みの完了で、この読み込んだデータ項目に関連付けされたトークンを解放する（ブロック２２０）、よう機能される。データ項目が、如何なるトークンによってもインデックス化されていないときに、データストアから、例えば、データ取り込み手段または他の処理によって、削除しうる。
【００１９】
第１優先スレッドを、複数の第２優先スレッドよりも高い実行優先度でインスタンス化することによって、データフォーマット手段は、データストアへのアクセスが、データ取得システムまたはデータ取り込み手段の所望の実行目標に影響を与えないタイミングでなされるアクセス権限を得る。一方、第１優先スレッドを超える優先度を第２優先スレッドに与えるのが好ましい場合もあり得る。
【００２０】
図１および図２に示した方法の各工程における順序は、確定的なものではなく、これらの工程の他の順序が可能であり、これには並列処理が含まれる。
【００２１】
図１および図２に示した方法１００、２００は、コンピュータ読み取り可能な媒体に格納されたコンピュータ読み取り可能なコードによる手段によって、実装しうる。このコンピュータ読み取り可能な媒体には、例えば、如何なる数または混合の、固定のまたは取り外し可能な媒体（例えば、１またはそれ以上の固定ディスク、ランダムアクセスメモリ（ＲＡＭ）、読み取り専用メモリ（ＲＯＭ）、コンパクトディスクなど）を含むことができ、それらは一カ所に、あるいはネットワークを介して分散されているか問わない。コンピュータ読み取り可能なコードは、典型的には、ソフトウェアからなるが、しかしまた、ファームウェアやプログラム回路から構成できる。
【００２２】
図３は、装置３００の一実施例に係るブロック図を示しており、これは、図１および２の方法を実行してインスタンス化されるマルチスレッド３０４、３０６、３０８、３１０を実行する。処理システム３０２は、１以上のプロセッサ、および、１以上のオペレーティングシステムのインスタンスを備えることができ、これらでスレッド３０４、３０６、３０８、３１０を実行する。データ取り込み手段３１２が、第１優先スレッド３０４で起動され、また、複数のデータフォーマット手段３１４、３１６、３１８、３２０、３２２が、複数の第２優先スレッド３０６、３０８、３１０で起動される。複数のデータフォーマット手段３１４、３１６、３１８は、第２優先スレッド３０６で起動されることに、注意されたい。
【００２３】
一実施例において、第１優先スレッドおよび第２優先スレッド３０４、３０６、３０８、３１０は、同じ優先度レベルでインスタンス化される。他の実施例においては、第１優先度スレッド３０４は、複数の第２優先度スレッド３０６、３０８、３１０より高い優先度レベルでインスタンス化され、また、その逆もある。
【００２４】
図４は、データ取り込み手段３１２で示される、データ取り込み手段の一実施例に係るブロック図を示している。データ取り込み手段３１２は、コード片４００、４０２、４０４を備え、これらは、（１）データストアにデータ項目を書き込み、（２）このデータ項目をインデックス化するトークンを生成し、更に、（３）これらトークンを前記複数のデータフォーマット手段３１４、３１６、３１８、３２０、３２２に渡す。
【００２５】
図５は、データフォーマット手段３１４で示される、一データフォーマット手段の一実施例に係るブロック図を示している。データフォーマット手段３１４は、コード片５００、５０２、５０４を備え、これらは、（１）トークンを受け取り、（２）トークンによりインデックス化されたデータ項目を読み出し、そして（３）トークンを解放する。
【００２６】
これら方法１００、２００は、多くの用途で使用することができ、その一つは、回路試験結果のような試験結果の記録およびフォーマット化である。一つの具体的用途として、試験結果は、アジレント・テクノロジー社（Agilent Technologies, Inc）により出されている９３０００ＳＯＣシリーズのテスターにより生成できるであろう。
【００２７】
９３０００ＳＯＣテスター（以下、９３０００テスターと呼ぶ）は、ＳＯＣ（System On a Chip）テスターであり、試験結果とイベントを、ＥＤＬ（Event Data Loggin）ファイル６００として知られるバイナリデータファイルへ記録する。図６を参照されたい。このＥＤＬファイル６００内のイベントは、１以上の被試験デバイス（ＤＵＴ）上での複数の試験の実行に対応しており、順序付けられたシーケンスで記録される。しかしながら、ＥＤＬファイル６００内に記録されたイベントは、他のどの処理にも投入されず、ＥＤＬファイル６００に記録されるに過ぎない。このような用途において、（１）複数のイベントに対応したファイル（例えば、ＥＤＬファイル６００）は、これら複数のイベントを取り出すために解析することができ、そして、（２）このデータファイルから取り出したイベントは、複数のデータオブジェクトを生成し、メモリ６１０内にデータを記録する処理（例えば、データ取り込み手段６０８）に渡すことができる。
【００２８】
一実施例において、ＥＤＬファイル６００は、イベント管理手段６０４により作られるメソッド呼び出しに応答して、解析される。図６に示すように、イベント管理手段６０４は、共有ライブラリ６０２にメソッド呼び出し（例えば、get event, get event attribute）を作ることができ、また、共有ライブラリ６０２は、ＥＤＬファイル６００からイベントを取り出し、それらをイベント管理手段６０４に投げることができる。イベント管理手段６０４は、そして、このイベント６０６をデータ取り込み手段６０８に渡す。
【００２９】
共有ライブラリ６０２は、データ検索ライブラリ（ＤＲＬ：Data Retrieval Library）のようなコンパイル済みコードの形式を取ることができ、単一のまたは複数のメッソドを、それらがイベント管理手段６０４により呼ばれたときに実行する。
【００３０】
データ取り込み手段６０８は、メモリ６１０内にデータオブジェクトを記憶でき、更に、それらデータオブジェクト同士を、種々の方法で、関連付けできる。一実施例において、それらは、階層化ツリー構造で互いに関連付けられる。他のデータオブジェクトの子となるデータオブジェクトは、それらの親データオブジェクトへのポインタを維持するが、親オブジェクトは、その子オブジェクトすべてのポインタのリストを維持する必要はない。本書で後述するように、これらの子から親へのポインタは、必要のなくなったデータオブジェクトの削除処理を支援できる。
【００３１】
データ項目は、各種の方法により、データオブジェクトに関連付けでき、それには、（１）直接的にデータ項目をデータオブジェクト内に記憶する、また、（２）データ項目を、データオブジェクトに関連付けられているデータ構造（例えば、ポインタまたは他の方法による関連付け）に記憶する、ことによるものが含まれる。
【００３２】
ＥＤＬファイル６００において、データはイベントの属性として保存される。従って、データ取り込み手段６０８が、ＥＤＬファイル６００から読み出されたイベント６０６を受け取ると、データ取り込み手段６０８は、イベントの属性からデータ項目を抽出することによって、イベントに応じたデータ項目を抽出できる。回路試験において、この抽出データは、試験結果を備えてよい。
【００３３】
データフォーマット手段６１４、６１６、６１８、６２０が、データ取り込み手段６０８により生成されたデータオブジェクトおよびデータ項目にアクセする、多くの方法がある。一実施例において、データフォーマット手段６１４、６１６、６１８、６２０は、単にデータオブジェクトを監視できる。しかしながら、これには多大なメモリ領域が要求され、しばしば極めて非効率的である。好適な実施例においては、データ取り込み手段６０８が、データ項目をインデックス化するトークンを生成し、更に、それらトークンを通知管理手段６１２へ渡す。通知管理手段６１２は、そして、それらトークンの何れかをデータフォーマット手段６１４、６１６、６１８、６２０の何れかに配分する。
【００３４】
通知管理手段６１２は、各データオブジェクト毎に、１つのトークンだけを受け取る必要があることに注意されたい。通知管理手段６１２は、そして、それぞれのデータフォーマット手段６１４、６１６、６１８、６２０に対して、トークンを複製し、または、それをブロードキャストできる。これに代えて、通知管理手段６１２は、それぞれのデータフォーマット手段６１４、６１６、６１８、６２０に対して、またはそのために、トークンを複製またはブロードキャストせずに、データオブジェクトにより表されるデータ項目の形式のために予めアレンジされた特定のデータフォーマット手段６１４、６１６、６１８、６２０に対して、またはそのために、トークンを複製またはブロードキャストしてもよい。
【００３５】
通常、データ取り込み手段６０８の動作は、データフォーマット手段６１４、６１６、６１８、６２０の動作の上の優先度を与えられる。データオブジェクトおよびデータが記憶されているメモリ６１０への更なるアクセス制御のためには、データ取り込み手段６０８は、データオブジェクトおよびデータ項目への直接アクセスを提供できる。しかしながら、複数のデータフォーマット手段６１４、６１６、６１８、６２０は、構造化インタフェースであって、それがデータオブジェクトおよびデータへのデータフォーマット手段のアクセスを調整／仲裁するもの、を通しての、複数のデータオブジェクトへのアクセスを提供してもよい。
【００３６】
メモリ６１０内で維持される複数のデータオブジェクトを減らすために、データ取り込み手段６０８は、データオブジェクトの確保を監視してもよく、そして、データオブジェクトを参照またはアクセスする他のオブジェクトやプロセスによる確保が既にされていないデータオブジェクト（またはデータ項目）を削除してもよい。一実施例において、トークンがデータオブジェクトをインデックス化するために生成されたとき、データオブジェクトが確保されたと見なされる。データ取り込み手段６０８は、データオブジェクトの形成において、このような１つのトークンを生成でき、そして、通知管理手段６１２が、このトークンの追加のコピーを生成し、データフォーマット手段６１４、６１６、６１８、６２０へ分配するようできる。データ取り込み手段６０８は、また、オブジェクト（またはインデックストークン）へのポインタを、そのデータオブジェクトの子オブジェクトが作られたときに、生成してもよい。トークンが生成されると、特定のデータオブジェクト（またはデータ項目）を参照するトークンの数の計測が、維持される（可能であれば、データオブジェクトそれ自身により）。データフォーマット手段６１４、６１６、６１８、６２０、および他のプロセスは、データオブジェクトをインデックス化するそれらのトークンを、それらがデータオブジェクトにアクセスすることを終えたときに、捨てるよう、プログラムすることができ、そして、データ取り込み手段６０８は、すべてのこのようなトークンが解放されたときに、そのデータオブジェクトを削除できる。親オブジェクトを参照している子オブジェクトがあるため、親オブジェクトは、そのすべての子が最初に削除されるまでは、削除できない。
【００３７】
図６のデータフォーマット手段は、各種の形態をとることができ、その中には、ＡＳＣＩＩ（American Standard Code for Information Interchange）フォーマット手段６１４、ＸＭＬ（eXtensible Markup Language）フォーマット手段６１６、ＥＤＬフォーマット手段６１８、および／またはＳＴＤＦ（Standard Test Definition Format）フォーマット手段６２０、のような形態が含まれる。
【００３８】
各種のプログラミング言語、パラダイム、およびハードウェアプラットフォームは、ここで教示した実装に使用されうることが理解されよう。一実施例において、オブジェクト指向プログラミングのテクニックが、メモリ６１０（図６）に記憶したデータオブジェクトを開発するために用いられる。他の実施例においては、手続き型言語が、データ要素および処理ロジックを開発するために用いられる。また、用語”解放”は、”削除のためのマーキング（印付け）”を含むことが理解されよう。この場合、オペレーティングシステムまたは他のプロセスは、前に割り当てられていたメモリやストレージが、そのオーナーにより解放されており、かつ使用できる状態であることを感知させられる。
【００３９】
（付記１）  データストアへのアクセスを管理する方法であって、
一つの第1優先スレッドおよび複数の第２優先スレッドを、処理システムにより実行するためにインスタンス化すること、
前記第1優先スレッド上でデータ取り込み手段を起動すること、
複数のデータフォーマット手段を、前記複数の第２優先スレッドの少なくとも一つ上で起動すること、
前記データ取り込み手段が、データ項目を前記データストアに書き込むようにすること、
データ取得システムのパラメータを監視すること、
前記監視されるパラメータに応じて、前記複数のデータフォーマット手段による、前記データストアおよびその中の前記データ項目へのアクセスを管理するために、前記第1優先スレッドに対する前記第２優先スレッドの実行を制御すること、
を備える方法。
（付記２）  前記データ取得システムの前記パラメータが、前記データ項目が置かれる、新たなデータの利用可能状況を示すものである、付記１に記載の方法。
（付記３）  前記データ取得システムの前記パラメータが、前記データストアの空き度合いを示すものであり、
前記第1優先スレッドに対する前記第２優先スレッドの実行が、（ｉ）前記データストアの空きが第１の閾値を超えた場合に、前記第1優先スレッドを保留にして、前記第２優先スレッドの何れかを実行できるようにし、（ｉｉ）前記データストアの空きが第２の閾値以下に下がった場合に、前記第1優先スレッドをアクティブにする、ことによって制御される、
付記１に記載の方法。
（付記４）  前記データ項目の少なくともいくつかが、１以上の被試験デバイス（ＤＵＴ）の試験に適したものである、付記１に記載の方法。
（付記５）  前記データストアがメモリであり、かつ、前記データ項目が、該メモリ内のオブジェクトに関係付けられている、付記１に記載の方法。
（付記６）  データストアへのアクセスを管理する方法であって、
一つの第1優先スレッドおよび複数の第２優先スレッドを、処理システムにより実行するためにインスタンス化すること、
前記第1優先スレッド上でデータ取り込み手段を起動すること、
複数のデータフォーマット手段を、前記複数の第２優先スレッドの少なくとも一つ上で起動すること、
前記データ取り込み手段が、データストアへデータ項目を書き込み、前記データ項目をインデックス化するためのトークンを生成し、更に、前記トークンの少なくともいくつかが、前記複数のデータフォーマット手段の少なくともいくつかに渡されるようにする、各処理を実行すること、
前記データフォーマット手段の何れかが、前記トークンによってインデックス化された前記データ項目を読み出し、前記データ項目の一つの読み出しの完了で、前記読み出したデータ項目に関連付けられたトークンを解放する、各処理を実行すること、
を備える方法。
（付記７）  前記データストアがメモリであり、かつ、前記データ項目が、該メモリ内のオブジェクトに関係付けられている、付記６に記載の方法。
（付記８）  前記第1優先スレッドが、前記複数の第２優先スレッドより高い実行優先度でインスタンス化される、付記６に記載の方法。
（付記９）  前記データ項目をインデックス化するためのトークンの生成が、各データ項目ごとに、
前記データ取り込み手段が、前記データ項目をインデックス化するための一つの初期トークンを生成するようにし、
前記初期トークンを通知管理手段に渡すこと、を備え、
前記方法が、更に、これらの前記初期トークンに応じて、前記通知管理手段を介して、トークンを前記データフォーマット手段に渡すことを、備える付記６に記載の方法。
（付記１０）  データストアへのアクセスを管理するシステムであって、
コンピュータ読み取り可能な媒体と、
前記コンピュータ読み取り可能な媒体に格納されたコンピュータ読み取り可能なコードであって、付記１から９のいずれかに記載の方法を実行するためのコード、
を含むシステム。
【図面の簡単な説明】
【００４０】
【図１】図１は、データストアへのアクセスを管理する第１の実施例に係る方法を示している。
【図２】図２は、データストアへのアクセスを管理する第２の実施例に係る方法を示している。
【図３】図３は、図１または図２の方法により要求される、マルチスレッドを実行する処理システムの一実施例に係るブロック図を示している。
【図４】図４は、図３に示したデータ取り込み手段の一実施例に係るブロック図を示している。
【図５】図５は、図３に示した一データフォーマット手段の一実施例に係るブロック図を示している。
【図６】図６は、データストアへのアクセスを管理する一実施例に係るシステムを示している。
【符号の説明】
【００４１】
３００：装置
３０２：処理システム
３０４：第１優先スレッド
３０６：第２優先スレッド
３１２：データ取り込み手段
３１４：データフォーマット手段
６００：ＥＤＬファイル
６０２：共有ライブラリ
６０４：イベント管理手段
６０６：イベント
６０８：データ取り込み手段
６１０：メモリ
６１２：通知管理手段
６１４：ＡＳＣＩＩデータフォーマット手段
６１６：ＸＭＬフォーマット手段
６１８：ＥＤＬフォーマット手段
６２０：ＳＴＤＦフォーマット手段
【図１】
2007206073.tif 000003
【図２】
2007206073.tif 000004
【図３】
2007206073.tif 000005
【図４】
2007206073.tif 000006
【図５】
2007206073.tif 000007
【図６】
2007206073.tif 000008
【外国語明細書】
2007206073000001.pdf