(57)【要約】【課題】格納メモリのサイズを増大させることなく無損失圧縮を提供する。【解決手段】サーボ制御されたハードウェアのような制御された機械的ハードウェアにおいて、制御アルゴリズムからのデータが得られ、考えられるその後の分析用にログされる。監視される制御パラメータの完全（絶対）値を継続的に格納する代わりに、絶対値が絶対エントリ中に格納され、各先行値に関するパラメータの１つ以上の値が、一連の関連する相対エントリ中に格納される。相対値を格納するために必要なスペースは、絶対値を格納するために必要なスペースよりも少ない。更新された絶対値および関連する相対値のグループは、周期的にまたは割り当てられたスペースに対し相対値が大きすぎる場合にも記録され得る。相対値のサイズは可変とすることができ、適切な情報データ・エントリは、関連する相対エントリのサイズを示すために生成できる。【選択図】図４
2007157137.tif 000002
【特許請求の範囲】
【請求項１】
システムから得られた動き関連データをログするための方法であって、
メモリ・スペースを提供するステップと、
システムの当初の物理的状態の動き関連パラメータの当初の完全値を得るステップと、
前記当初の完全値を、前記メモリ・スペース中の第１の絶対ログ・エントリの第１のフィールド中に当初の絶対値として保存するステップであって、前記第１のフィールドは、第１の長さを有するステップと、
前記パラメータの付加的な完全値の第１のグループを、その時現在の状態の前記システムによって周期的に得るステップと、
各付加的な完全値と前記先行する完全値との差を決定するステップと、
各差を相対値として、前記メモリ・スペース中のそれぞれの相対ログ・エントリの第１のフィールド中に保存するステップであって、前記相対ログ・エントリの前記第１のフィールドは、前記第１の長さより短い第２の長さを有するステップとを含む、
方法。
【請求項２】
前記パラメータの更新された完全値を、前記システムによって周期的に得るステップと、
前記更新された完全値を更新された絶対値として、前記メモリ・スペース中の新しい絶対ログ・エントリ中の前記第１のフィールド中に保存するステップと、
前記パラメータの付加的な完全値の第２のグループを、その時現在の状態の前記システムによって周期的に得るステップと、
各付加的な完全値と前記先行する完全値との差を決定するステップと、
各差を相対値として前記メモリ・スペース中のそれぞれの相対ログ・エントリの前記第１のフィールド中に保存するステップとをさらに含む、
請求項１に記載の方法。
【請求項３】
周期的な相対値が前記第２の長さよりも長ければ、前記パラメータの更新された完全値を前記システムによって得るステップと、
前記更新された完全値を更新された絶対値として、前記メモリ・スペース中の新しい絶対ログ・エントリの第１のフィールド中に保存するステップとをさらに含む、
請求項１に記載の方法。
【請求項４】
前記第２の長さを表す第１の値を、前記相対値を得るステップの前に、当初の情報ログ・エントリの第１のフィールド中に保存するステップをさらに含む、
請求項１に記載の方法。
【請求項５】
新しい第２の長さを表す第２の値を第２の当初の情報ログ・エントリの第１のフィールド中に周期的に保存するステップと、
前記パラメータの更新された完全値を得るステップと、
前記更新された完全値を、更新された絶対値として前記メモリ・スペースの新しい絶対ログ・エントリの前記第１のフィールド中に保存するステップと、
前記パラメータの付加的な完全値の新しいグループを周期的に得るステップと、
各付加的な完全値と先行する完全値との差を決定するステップと、
各差を相対値として、前記メモリ・スペース中のそれぞれの相対ログ・エントリの第１のフィールド中に保存するステップとをさらに含む、
請求項４に記載の方法。
【請求項６】
前記相対ログ・エントリの前記フィールドの第２の長さを表す値を前記情報ログの第２のフィールド中に保存するステップと、
相対値を前記メモリ・スペース中のそれぞれの相対ログ・エントリのフィールド中に保存するステップであって、前記相対値が前記第１の長さ以下の長さを有していれば、前記フィールドは前記第１の長さを有するステップと、
相対値を前記メモリ・スペース中のそれぞれの相対ログ・エントリのフィールド中に保存するステップであって、前記相対値が前記第１の長さより大きくかつ前記第２の長さ以下の長さを有していれば、前記フィールドは前記第２の長さを有するステップと、
前記相対値が前記第２の長さより大きい長さを有していれば、更新された完全値を前記メモリ・スペース中の更新された絶対ログ・エントリのフィールド中に保存するステップとをさらに含む、
請求項４に記載の方法。
【請求項７】
得られた完全値が直前に先行する完全値から変化していなければ、相対ログ・エントリの前記第２の長さは０である、請求項１に記載の方法。
【請求項８】
前記システムは磁気テープ・データ格納システムであり、前記動き関連パラメータはサーボ制御パラメータである、請求項１に記載の方法。
【請求項９】
サーボ制御されたシステムから得られたサーボ・データをログするための方法であって、
メモリ・スペースを提供するステップと、
サーボ制御されたシステムの当初の物理的状態を表す複数のサーボ・パラメータの各々の当初の完全値を得るステップと、
前記当初の完全値を、前記メモリ・スペース中の第１の絶対ログ・エントリの対応する複数のフィールド中に絶対値として保存するステップであって、各フィールドは、それぞれの第１の長さを有するステップと、
前記複数のパラメータの少なくとも１つのパラメータの付加的な完全値の第１のグループを周期的に得るステップと、
各付加的な完全値と前記先行する完全値との差を決定するステップと、
各差を相対値として、前記メモリ・スペース中の周期的な相対ログ・エントリの対応するフィールド中に保存するステップであって、前記相対ログ・エントリの前記フィールドは、前記絶対ログ・エントリの前記フィールドの前記長さより短い第１の長さを有するステップと、
各パラメータの更新された完全値を周期的に得るステップと、
各更新された完全値を絶対値として、前記メモリ・スペース中の新しい絶対ログ・エントリ中のフィールド中に保存するステップと、
前記少なくとも１つのパラメータの付加的な値の新しいグループを周期的に得るステップと、
各付加的な完全値と前記先行する完全値との差を決定するステップと、
各差を相対値として、前記メモリ・スペース中のそれぞれの相対ログ・エントリのフィールド中に保存するステップとをさらに含む、
方法。
【請求項１０】
各パラメータについて、前記相対ログ・エントリの前記フィールドの前記第１の長さを表す値を情報ログの第１のフィールド中に保存するステップをさらに含む、請求項９に記載の方法。
【請求項１１】
各パラメータについて、前記相対ログ・エントリの前記フィールドの第２の長さを表す値を前記情報ログの第２のフィールド中に保存するステップと、
各相対値を前記メモリ・スペース中のそれぞれの相対ログ・エントリのフィールド中に保存するステップであって、各相対値が前記第１の長さ以下の長さを有していれば、前記フィールドは前記第１の長さを有するステップと、
各相対値を前記メモリ・スペース中のそれぞれの相対ログ・エントリのフィールド中に保存するステップであって、各相対値が前記第１の長さより大きくかつ前記第２の長さ以下の長さを有していれば、前記フィールドは前記第２の長さを有するステップと、
少なくとも１つの相対値が前記第２の長さより大きい長さを有していれば、更新された完全値を前記メモリ・スペース中の更新された絶対ログ・エントリのフィールド中に保存するステップとをさらに含む
請求項１０に記載の方法。
【請求項１２】
サーボ制御されたシステムからのサーボ・データをログするためのシステムであって、
メモリと、
第１の長さを有する第１のタイプのデータ構造と、
第１の長さ未満の第２の長さを有する第２のタイプのデータ構造と、
一連の第１のパラメータ値を定義する選択されたサーボ・プロファイルに従ってサーボ制御されたシステムの機械的サブシステムの第１のパラメータを制御するサーボ・ループと、
前記第１のパラメータの第１の完全値および前記第１のパラメータの関連する周期的な完全値の第１のグループを得るための手段と、
前記第１のパラメータの前記第１の完全値が第１の絶対値として格納される第１のタイプのデータ構造を含む第１のサーボ・ログ・エントリと、
前記第１のグループの各関連する周期的な完全値と前記先行する完全値との差を決定するための手段と、
前記差が相対値の第１のグループとして格納される第２のタイプのデータ構造を各々が含む、複数の第２のサーボ・ログ・エントリとを含む、
システム。
【請求項１３】
前記第１のパラメータの値を得るための前記手段はさらに、
更新された完全値を得るための手段と、
前記第２の値と関連する周期的な完全値の第２のグループを得るための手段とを含み、
前記システムはさらに、
前記第１のパラメータの前記更新された完全値が更新された絶対値として格納される、前記第１のタイプのデータ構造を含む、更新されたサーボ・ログ・エントリと、
前記第２のグループの各関連する周期的な完全値と前記先行する完全値との差を決定するための手段と、
前記差が相対値の第２のグループとして格納される、第２のタイプのデータ構造を含む、複数の第３のサーボ・ログ・エントリとを含む、
請求項１２に記載のシステム。
【請求項１４】
相対値の前記第１のグループが格納される前記第２のタイプの前記データ構造の前記長さを示す第１の絶対ログ・エントリに関連する第１の情報ログ・エントリと、
相対値の前記第２のグループが格納される前記第２のタイプの前記データ構造の前記長さを示す第２の絶対ログ・エントリに関連する第２の情報ログ・エントリとをさらに含む、
請求項１３に記載のシステム。
【請求項１５】
前記パラメータの値を得るための前記手段は、
周期的な相対値が前記第２の長さより長ければ、前記第１のパラメータの更新された完全値を得るための手段と、
前記更新された完全値と関連する前記第１のパラメータの周期的な完全値の第２のグループを得るための手段とを含み、
前記システムはさらに、
前記第１のパラメータの前記更新された完全値が更新された絶対値として格納される前記第１のタイプのデータ構造を含む、更新されたサーボ・ログ・エントリと、
前記第２のグループの各完全値と前記先行する完全値との差を決定するステップと、
前記第２のグループの各差が周期的な相対値として格納される、第２のタイプのデータ構造を各々が含む、複数の第３のサーボ・ログ・エントリとを含む、
請求項１２に記載のシステム。
【請求項１６】
前記データ構造中に格納される前記第１のパラメータの得られた完全値が前記第１のパラメータの直前に先行する完全値から変化していなければ、前記第２のタイプのデータ構造の前記第２の長さは０である、請求項１２に記載のシステム。
【請求項１７】
前記サーボ・ループは、前記選択されたサーボ・プロファイルに従って前記機械的サブシステムの第２のパラメータをさらに制御し、
前記第１のタイプの前記データ構造は、前記第１の長さの第１のフィールドおよび第２のフィールドを含み、
前記第２のタイプの前記データ構造は、前記第２の長さの第１のフィールドおよび第２のフィールドを含み、
前記第１のパラメータの絶対値が前記第１のタイプの前記第１のサーボ・ログ・エントリの前記第１のフィールド中に格納され、前記第２のパラメータの絶対値が前記第１のサーボ・ログ・エントリ・タイプの前記第２のフィールド中に格納され、
前記第１のパラメータの相対値が前記第２のタイプの前記第１のサーボ・ログ・エントリの前記第１のフィールド中に格納され、前記第２のパラメータの絶対値が前記第２のタイプの前記第１のサーボ・ログ・エントリの前記第２のフィールド中に格納される、
請求項１２に記載のシステム。
【請求項１８】
前記第２の長さを表す値を格納するための第３のデータ構造タイプをさらに含む、請求項１２に記載のシステム。
【請求項１９】
前記システムは磁気テープ・データ格納システムである、請求項１２のシステム。
【請求項２０】
プログラマブル・コンピュータと共に使用可能なコンピュータ可読媒体のコンピュータ・プログラムであって、該コンピュータ・プログラムは、システムからの機械ベースのパラメータをログするためにコンピュータ可読コードがその中に埋め込まれており、前記コンピュータ可読コードは、
メモリ・スペースを提供するための命令と、
システムの当初の物理的状態の動き関連パラメータの当初の完全値を得るための命令と、
前記当初の完全値を、前記メモリ・スペース中の第１の絶対ログ・エントリの第１のフィールド中に当初の絶対値として保存するための命令であって、前記第１のフィールドは、第１の長さを有する命令と、
前記パラメータの付加的な完全値の第１のグループを、その時現在の状態の前記システムによって周期的に得るための命令と、
各付加的な完全値と前記先行する完全値との差を決定するための命令と、
各差を相対値として、前記メモリ・スペース中のそれぞれの相対ログ・エントリの第１のフィールド中に保存するための命令であって、前記相対ログ・エントリの前記第１のフィールドは、前記第１の長さより短い第２の長さを有するステップのための命令とを含む、
コンピュータ・プログラム。
【請求項２１】
前記コンピュータ可読コードは、
前記パラメータの更新された完全値を、前記システムによって周期的に得るための命令と、
前記更新された完全値を更新された絶対値として、前記メモリ・スペース中の新しい絶対ログ・エントリ中の前記第１のフィールド中に保存するための命令と、
前記パラメータの付加的な完全値の第２のグループを、その時現在の状態の前記システムによって周期的に得るための命令と、
各付加的な完全値と前記先行する完全値との差を決定するための命令と、
各差を相対値として前記メモリ・スペース中のそれぞれの相対ログ・エントリの前記第１のフィールド中に保存するための命令とをさらに含む、
請求項２０に記載のコンピュータ・プログラム。
【請求項２２】
前記コンピュータ可読コードは、
周期的な相対値が前記第２の長さよりも長ければ、前記パラメータの更新された完全値を前記システムによって得るための命令と、
前記更新された完全値を、前記メモリ・スペース中の新しい絶対ログ・エントリの第１のフィールド中に保存するための命令とをさらに含む、
請求項２０に記載のコンピュータ・プログラム。
【請求項２３】
前記コンピュータ可読コードは、前記第２の長さを表す第１の値を、前記相対値を得るステップの前に、情報ログ・エントリの第１のフィールド中に保存するための命令をさらに含む、指示請求項２０に記載のコンピュータ・プログラム。
【請求項２４】
前記コンピュータ可読コードは、
新しい第２の長さを表す第２の値を第２の当初の情報ログ・エントリの第１のフィールド中に周期的に保存するための命令と、
前記パラメータの更新された完全値を得るための命令と、
前記更新された完全値を、更新された絶対値として前記メモリ・スペースの新しい絶対ログ・エントリの前記第１のフィールド中に保存するための命令と、
前記パラメータの付加的な完全値の新しいグループを周期的に得るための命令と、
各付加的な完全値と先行する完全値との差を決定するための命令と、
各差を相対値として前記メモリ・スペース中のそれぞれの相対ログ・エントリの第１のフィールド中に保存するための命令とをさらに含む、
請求項２３に記載のコンピュータ・プログラム。
【請求項２５】
前記コンピュータ可読コードは、
前記相対ログ・エントリの前記フィールドの第２の長さを表す値を前記情報ログの第２のフィールド中に保存するための命令と、
相対値を前記メモリ・スペース中のそれぞれの相対ログ・エントリのフィールド中に保存するための命令であって、前記相対値が前記第１の長さ以下の長さを有していれば、前記フィールドは前記第１の長さを有する命令と、
相対値を前記メモリ・スペース中のそれぞれの相対ログ・エントリのフィールド中に保存するための命令であって、前記相対値が前記第１の長さより大きくかつ前記第２の長さ以下の長さを有していれば、前記フィールドは前記第２の長さを有する命令と、
前記相対値が前記第２の長さより大きい長さを有していれば、更新された完全値を前記メモリ・スペース中の更新された絶対ログ・エントリのフィールド中に保存するための命令とをさらに含む、
請求項２３に記載のコンピュータ・プログラム。
【請求項２６】
得られた完全値が直前に先行する完全値から変化していなければ、相対ログ・エントリの前記第２の長さは０である、請求項２０に記載のコンピュータ・プログラム。
【請求項２７】
前記システムは磁気テープ・データ格納システムであり、前記動き関連パラメータはサーボ制御パラメータである、請求項２０に記載のコンピュータ・プログラム。
【請求項２８】
コンピュータ可読コードを計算システムに統合するステップを含む、計算インフラストラクチャを配備するための方法であって、前記コードは、前記計算システムと組み合わせて、
メモリ・スペースを提供するステップと、
システムの当初の物理的状態の動き関連パラメータの当初の完全値を得るステップと、
前記当初の完全値を、前記メモリ・スペース中の第１の絶対ログ・エントリの第１のフィールド中に当初の絶対値として保存するステップであって、前記第１のフィールドは、第１の長さを有するステップと、
前記パラメータの付加的な完全値の第１のグループを、その時現在の状態の前記システムによって周期的に得るステップと、
各付加的な完全値と前記先行する完全値との差を決定するステップと、
各差を相対値として、前記メモリ・スペース中のそれぞれの相対ログ・エントリの第１のフィールド中に保存するステップであって、前記相対ログ・エントリの前記第１のフィールドは、前記第１の長さより短い第２の長さを有するステップとを実行できる、
方法。
【請求項２９】
前記コードは、
前記パラメータの更新された完全値を、システムによって周期的に得るステップと、
前記更新された完全値を更新された絶対値として、前記メモリ・スペース中の新しい絶対ログ・エントリ中の前記第１のフィールド中に保存するステップと、
前記パラメータの付加的な完全値の第２のグループを、その時現在の状態の前記システムによって周期的に得るステップと、
各付加的な完全値と前記先行する完全値との差を決定するステップと、
各差を相対値として前記メモリ・スペース中のそれぞれの相対ログ・エントリの前記第１のフィールド中に保存するステップとをさらに実行できる、
請求項２８に記載の方法。
【請求項３０】
前記コードは、
周期的な相対値が前記第２の長さよりも長ければ、前記パラメータの更新された絶対値を前記システムによって得るステップと、
前記更新された絶対値を、前記メモリ・スペース中の新しい絶対ログ・エントリの前記第１のフィールド中に保存するステップとをさらに実行できる、
請求項２８に記載の方法。
【請求項３１】
前記コードは、
前記第２の長さを表す第１の値を、前記相対値を得るステップの前に、当初の情報ログ・エントリの第１のフィールド中に保存するステップをさらに実行できる、
請求項２８に記載の方法。
【請求項３２】
前記コードは、
新しい第２の長さを表す第２の値を第２の当初の情報ログ・エントリの第１のフィールド中に周期的に保存するステップと、
前記パラメータの更新された完全値を得るステップと、
前記更新された完全値を、更新された絶対値として前記メモリ・スペースの新しい絶対ログ・エントリの前記第１のフィールド中に保存するステップと、
前記パラメータの付加的な完全値の新しいグループを周期的に得るステップと、
各付加的な完全値と先行する完全値との差を決定するステップと、
各差を相対値として前記メモリ・スペース中のそれぞれの相対ログ・エントリの第１のフィールド中に保存するステップとをさらに実行できる、
請求項３１に記載の方法。
【請求項３３】
前記コードは、
前記相対ログ・エントリの前記フィールドの第２の長さを表す値を前記情報ログの第２のフィールド中に保存するステップと、
相対値を前記メモリ・スペース中のそれぞれの相対ログ・エントリのフィールド中に保存するステップであって、前記相対値が前記第１の長さ以下の長さを有していれば、前記フィールドは前記第１の長さを有するステップと、
相対値を前記メモリ・スペース中のそれぞれの相対ログ・エントリのフィールド中に保存するステップであって、前記相対値が前記第１の長さより大きくかつ前記第２の長さ以下の長さを有していれば、前記フィールドは前記第２の長さを有するステップと、
前記相対値が前記第２の長さより大きい長さを有していれば、更新された完全値を前記メモリ・スペース中の更新された絶対ログ・エントリのフィールド中に保存するステップとをさらに実行できる、
請求項３１に記載の方法。
【請求項３４】
得られた完全値が直前に先行する完全値から変化していなければ、相対ログ・エントリの前記第２の長さは０である、請求項２８に記載の方法。
【請求項３５】
前記システムは磁気テープ・データ格納システムであり、前記動き関連パラメータはサーボ制御パラメータである、請求項２８に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御された機械的ハードウェアからのデータのロギング（記録）に関し、特に、ログされたサーボ・データの無損失的方法での圧縮に関する。
【背景技術】
【０００２】
自動化データ格納ライブラリにおける磁気テープ格納ドライブまたはアクセサおよびグリッパの制御のような、多くのサーボ制御された機械的用途において、サーボ制御アルゴリズムからのデータをログすることが重要なことがある。そのようなログされたデータは次に、アルゴリズムが有効かつ効率的であるか、または調整を必要としているかを決定するために用いることができる。ログされたデータは、サーボ制御システムまたは関連ハードウェアにおいて、あるいはその両方において生じる問題をデバッグするためにも用いられることがある。ログされたデータは、製品の開発段階の間および現場でのその製品の日々の操作の間の両方で用いられることがある。
【０００３】
ログされたデータがメモリ・スペースを必要とすることが分かる。一般に、メモリが一杯になった場合、既存のデータは新しいデータによって先入れ先出し方式で上書きされて失われる。従って、利用可能なメモリの量は、格納できるデータ量を制限する。メモリ拡張は、理論的には可能であり、より多くのデータを後の分析用に利用可能にすることができるが、これは高価になることがあり、メモリをシステムの他の何らかの局面から取り去ることがある。ログされたデータがサーボ制御カード上のメモリ中に格納される場合、付加的な格納を提供するために１つ以上の付加的なカードが用いられることがある。しかしながら、その場合に、帯域幅問題を生じさせることがあるカード間に通信リンクを設けることが必要になる。
【０００４】
別の方法においては、サーボ・データは、毎回ではなくサーボ・ループ全体を通して４回ごとのように、より低い頻度でログされる。代わりに、サーボ・パラメータのいくつかが各ループの間にログされ、残りのパラメータは、１つ以上のその後のループの間にログされる。これらの方法の重大な欠点は、ログされたデータが不完全であり、「損失のある（ｌｏｓｓｙ）」圧縮の形態であると見なされ得ることである。
【０００５】
従来の圧縮方法は、ポピュラーなＺＩＰアルゴリズムを用いる場合のように、ログされたサーボ・データにも適用されることがある。しかしながら、圧縮アルゴリズムの適用は、プロセッサ集中的な手順であり、他の用途に必要なかなりの処理サイクルを奪ってしまうことがある。例えば、ＬＴＯドライブのようなある種の磁気テープ・ドライブは、到来するユーザ・データがテープに書き込まれる前にこのユーザ・データを圧縮する専用データ圧縮チップを含んでいる。専用圧縮チップは、サーボ・データがメモリに書き込まれる前にこのサーボ・データを圧縮するために用い得るが、これはコストを上昇させる。
【０００６】
【特許文献１】米国特許第６，３５６，８０３号
【発明の開示】
【発明が解決しようとする課題】
【０００７】
従って、制御された機械的ハードウェアからのデータを、大きなプロセッサ時間を必要とすることなく、無損失なやり方で記録できる能力に対するニーズが依然としてある。
【課題を解決するための手段】
【０００８】
サーボ制御されたハードウェアのような、制御された機械的ハードウェアにおいて、制御アルゴリズムからのデータが得られ、考えられる後の分析のためにログされる。本発明により、格納メモリのサイズを増大させることなく無損失圧縮が提供される。監視される制御パラメータの完全（絶対）値を継続的に格納する代わりに、絶対値が絶対エントリ中に格納され、各先行値に関するパラメータの１つ以上の値が、一連の関連する相対エントリ中に格納される。相対値を格納するために必要なスペースは、絶対値を格納するために必要なスペースよりも少ない。その理由は、相対値が、現在の絶対値と以前の絶対値との差だからである。更新された絶対値および関連する相対値のグループは、周期的にまたは割り当てられたスペースに対して相対値が大きすぎる場合にも記録され得る。相対値のサイズは可変とすることができ、適切な情報データ・エントリは、関連する相対エントリのサイズを示すために生成できる。パラメータの相対値は、現在の値を読み取り、この現在の値からパラメータの以前の値を引くことにより得ることができる。後の分析の間に相対エントリを復号する場合、特定のエントリにおける特定のパラメータの絶対値は、最近ログされた絶対値を見出し、次に絶対エントリと所望の相対エントリとの間のそのパラメータについての全ての相対エントリの値を加えることによって得ることができる。
【発明を実施するための最良の形態】
【０００９】
本発明は、以下の説明における好ましい実施形態において、図面を参照して説明され、図面中で同じ参照符号は、同じまたは同様な要素を表す。本発明は、本発明の目的を達成するための最良のモードについて説明されるが、添付の特許請求の範囲により定義されるような本発明の範囲内に含まれる得る代案、変更、および均等物をカバーすることが意図されていることが当業者により認められるであろう。
【００１０】
さらに、本発明は、データ処理環境において使用するための自動化磁気テープ・ライブラリ格納システムとして具体化されたものとして説明される。しかしながら、本発明は他の機械的制御システムにも同様に当てはまることを当業者は認識するであろう。従って、本明細書中の自動化磁気テープ格納の説明は一例であって、本発明の範囲をどのようにも限定することを意図していない。
【００１１】
自動化データ格納ライブラリは、大量データの費用効率の高い格納および検索を提供することが知られている。自動化データ格納ライブラリ中のデータはデータ格納媒体上に格納され、そして今度はこのデータ格納媒体は、媒体、およびその常駐データを物理的検索用にアクセス可能にするやり方で、ライブラリ内部の格納セル、シェルフ等に格納される。そのような媒体は「リムーバブル媒体」と一般に呼ばれる。データ格納媒体は、データをその上に格納することができ、リムーバブル媒体として働くどのようなタイプの媒体も含むことができ、（磁気テープまたはディスクのような）磁気媒体、（光テープまたはディスクのような）光媒体、（ＰＲＯＭ、ＥＥＰＲＯＭ、フラッシュＰＲＯＭ、コンパクトフラッシュ（Ｒ）、スマートメディア（Ｒ）、メモリースティック（Ｒ）等のような）電子媒体、またはその他の適切な媒体を含むが、これらに限定されない。一般に、自動化データ格納ライブラリ中に格納されたデータは、カートリッジとも呼ばれるデータ格納カートリッジ内に含まれるデータ格納媒体上に常駐している。大量データ格納用の自動化データ格納ライブラリにおいて広く使用されるデータ格納カートリッジの例は、磁気テープ・カートリッジである。
【００１２】
データ格納媒体に加え、自動化データ格納ライブラリは一般に、データ格納媒体へのデータの格納（書き込み）またはデータ格納媒体からのデータの取得（読み取り）あるいはその両方を行う１つ以上のデータ格納ドライブを含む。格納セルと格納ドライブとの間のカートリッジの移送は、１つ以上のロボット・アクセサによって遂行される。そのようなアクセサは、選択されたカートリッジをライブラリ内の格納セルから物理的に取り出し、Ｘ方向またはＹ方向あるはそれら両方に移動することによりそのカートリッジを格納ドライブに移送するためのグリッパを有する。
【００１３】
図１および図２は、データ格納媒体（図示せず）を含むデータ格納カートリッジが、格納セルまたはシェルフ１６に格納され、そしてこれから取り出される、自動化データ格納ライブラリ１０を示す。本明細書における「データ格納媒体」への言及は、データ格納カートリッジをも指し、本明細書における目的のため、これら２つの用語は同義語的に使用される。本発明を実施することができ、図１および図２に示されるような形態を有する自動化データ格納ライブラリの一例は、ＩＢＭ  ３５８４  ＵｌｔｒａＳｃａｌａｂｌｅテープ・ライブラリである。図１に例示されるライブラリ１０は、左側サービス・ベイ１３、１つ以上の格納フレーム１１Ａ〜１１Ｅ（本明細書においては、総称して格納フレーム１１と呼ぶ）および右側サービス・ベイ１４を含む。フレームは、ライブラリの拡張構成要素を含むことができる。フレームは、ライブラリのサイズまたは機能性あるいはその両方を拡張または縮小するために追加または除去され得る。フレームは、付加的な格納セル、ドライブ、インポート／エクスポート・ステーション、アクセサ、オペレータ・パネル等を含むことがある。
【００１４】
図２は格納フレーム１１の一例を示しており、この格納フレームは、ライブラリ１０のベース・フレームであり、ライブラリの最小構成であると考えられる。この最小構成においては、単一のアクセサのみがあり（すなわち、余分なアクセサは皆無である）、サービス・ベイは皆無である。ライブラリ１０は、少なくとも１つの外部ホスト・システム（図示せず）からのコマンドに応答して、データ格納媒体にアクセスするように配置されており、データ格納媒体を含むデータ・カートリッジを格納するためのフロント・ウォール１７およびリア・ウォール１９の複数の格納セル１６と、データ格納媒体に対し読み取りまたは書き込みあるいはその両方を行うための少なくとも１つのデータ格納ドライブ１５と、複数の格納セル１６とデータ格納ドライブ１５との間でデータ格納媒体を移送するための第１のアクセサ１８とを含む。データ格納ドライブ１５は、光ディスク・ドライブまたは磁気テープ・ドライブ、あるいはデータ格納媒体に対し読み取りまたは書き込みあるいはその両方を行うために用いられる他のタイプのデータ格納ドライブとすることができる。格納フレーム１１は、オペレータ・パネル２３またはユーザがライブラリと対話できるようにするウェブ・ベースのインタフェースのような他のユーザ・インタフェースを任意に含むことができる。格納フレーム１１はさらに、ライブラリ動作を中断させることなくカートリッジをライブラリに挿脱できるようにする上部Ｉ／Ｏステーション２４または下部Ｉ／Ｏステーションあるいはその両方を任意に含むことができる。ライブラリ１０は、第１のアクセサ１８によりアクセス可能な格納セル１６を各々が有する１つ以上の格納フレーム１１を含むことができる。
【００１５】
上記のように、格納フレーム１１は、意図される機能に応じて種々の構成要素で構成できる。格納フレーム１１の１つの構成は、格納セル１６、データ格納ドライブ１５、およびデータを格納しデータをデータ格納カートリッジから取り出すための他の任意の構成要素を含むことができる。第１のアクセサ１８は、１つ以上のデータ格納媒体を把持するためのグリッパ・アセンブリ２０を含んでおり、データ格納媒体に関する識別情報を「読み取る」ためにグリッパ２０上に取り付けられたバーコード走査機２２あるいはカートリッジ・メモリ・リーダまたは同様なシステムのような他の読み取りシステムを含むことができる。
【００１６】
図３は、複数のプロセッサ・ノードを備えるモジュールの分散型システムを使用する図１および図２の自動化データ格納ライブラリ１０のブロック図である。図３に示される分散型システムを実施でき、かつ本発明を実施できる自動化データ格納ライブラリの一例が、ＩＢＭ  ３５８４  ＵｌｔｒａＳｃａｌａｂｌｅテープ・ライブラリである。自動化データ格納ライブラリに組み込まれた分散型制御システムをより完全に理解するためには、参照により本明細書に組み込まれる、名称「自動化データ格納ライブラリ分散型制御システム」の米国特許第６，３５６，８０３号を参照されたい（特許文献１）。
【００１７】
自動化データ格納ライブラリ１０を、分散型制御システムを使用するものとして説明してきたが、本発明は、用語が米国特許第６，３５６，８０３号において定義されているように、分散されていない１つ以上のライブラリ・コントローラを有する自動化データ格納ライブラリのような、ただしこれに限定されない、制御構成の有無にかかわらない自動化データ格納ライブラリにおいて実施できる。図３のライブラリは、１つ以上の格納フレーム１１、左側サービス・ベイ１３および右側サービス・ベイ１４を含む。左側サービス・ベイ１３は、第１のアクセサ１８と共に示してある。上記で論じたように、第１のアクセサ１８は、グリッパ・アセンブリ２０を含んでおり、データ格納媒体に関する識別情報を「読み取る」ためのシステム２２を含むことができる。右側サービス・ベイ１４は、第２のアクセサ２８と共に示してある。第２のアクセサ２８は、グリッパ・アセンブリ３０を含んでおり、データ格納媒体に関する識別情報を「読み取る」ためのシステム３２を含むことができる。第１のアクセサ１８、またはそのグリッパ２０等の故障または他の理由で利用できない場合には、第２のアクセサ２８は、第１のアクセサ１８の機能のいくつかまたは全てを実行し得る。これら２つのアクセサ１８、２８は、１つ以上の機械的パスを共有でき、または完全に独立した機械的パスを含むこともできる。１つの例において、アクセサ１８、２８は、共通水平レールを共有し、独立した垂直レールを有することができる。第１のアクセサ１８および第２のアクセサ２８は、説明上の目的のみで第１および第２と説明されており、この説明は、どちらのアクセサも、左側サービス・ベイ１３あるいは右側サービス・ベイ１４のどちらか一方との関連性に限定することを意図するものではない。
【００１８】
図３において一例として例示されるライブラリ１０において、第１および第２のアクセサ１８および２８は、格納セル１６においてカートリッジを検索および把持、またはカートリッジを送達および解放するため、およびデータ格納ドライブ１５においてカートリッジをロードおよびアンロードするため、水平「Ｘ」方向および垂直「Ｙ」方向と呼ばれる少なくとも２つの方向にそれらのグリッパを動かす。
【００１９】
ライブラリ１０は、１つ以上のホスト・システム４０、４１または４２からコマンドを受け取る。ホスト・サーバのようなホスト・システムは、例えば、パス８０上で、１つ以上の制御ポート（図示せず）を介して、またはパス８１、８２上で１つ以上のデータ格納ドライブ１５を介して、ライブラリと直接通信し、特定のデータ格納媒体にアクセスし、その媒体を、例えば、格納セル１６とデータ格納ドライブ１５との間で動かすためのコマンドを提供する。コマンドは一般に、アクセスするために媒体ロケーションまたは論理ロケーションあるいはその両方を識別する論理コマンドである。用語「コマンド」および「作業要求」は、ライブラリ１０内の特定のデータ格納媒体へのアクセスという結果になることを意図するホスト・システム４０、４１または４２からライブラリ１０への通信を指すために本明細書において区別なく用いられる。
【００２０】
ライブラリ１０は、ホストから論理コマンドを受け取り、要求されるアクションを決定し、そのアクションを第１のアクセサ１８または第２のアクセサ２８あるいはその両方の物理的運動に変換する分散型制御システムにより制御される。
【００２１】
ライブラリ１０において、分散型制御システムは、各々が１つ以上のプロセッサを有する複数のプロセッサ・ノードを含む。分散型制御システムの一例において、通信プロセッサ・ノード５０を格納フレーム１１中に設置することができる。通信プロセッサ・ノードは、ライン８０に結合された少なくとも１つの外部インタフェースを介して、ホスト・コマンド命令を直接的に、あるいはドライブ１５を通すかのどちらかで受信するための通信リンクを提供する。
【００２２】
通信プロセッサ・ノード５０はさらに、データ格納ドライブ１５と通信するための通信リンク７０を提供できる。通信プロセッサ・ノード５０は、フレーム１１中でデータ格納ドライブ１５の近くに設置できる。加えて、分散型プロセッサ・システムにおいて、１つ以上の付加的な作業プロセッサ・ノードが設けられ、これらは、例えば、第１のアクセサ１８に設置することができ、ネットワーク６０、１５７を介して通信プロセッサ・ノード５０と結合され得る作業プロセッサ・ノード５２を含むことができる。各作業プロセッサ・ノードは、任意の通信プロセッサ・ノードから作業プロセッサ・ノードに一斉送信される受信コマンドに応答でき、作業プロセッサ・ノードは、移動コマンドを提供して、アクセサの動作を指示することもできる。ＸＹプロセッサ・ノード５５を設けることができ、第１のアクセサ１８のＸＹ系に置くことができる。ＸＹプロセッサ・ノード５５は、ネットワーク６０、１５７に結合されており、移動コマンドに応答して、ＸＹ系を操作してグリッパ２０を位置決めする。
【００２３】
また、オプションのオペレータ・パネル２３にオペレータ・パネルプロセッサ・ノード５９を設けて、オペレータ・パネルと通信プロセッサ・ノード５０、作業プロセッサ・ノード５２、２５２、およびＸＹプロセッサ・ノード５５、２５５との間で通信するためのインタフェースを提供することができる。
【００２４】
例えば、共通バス６０を含むネットワークが提供され、様々なプロセッサ・ノードを結合する。ネットワークは、商業的に利用可能なＣＡＮ（Ｃｏｎｔｒｏｌｌｅｒ  Ａｒｅａ  Ｎｅｔｗｏｒｋ：コントローラ・エリア・ネットワーク）バス・システムのような堅牢な配線ネットワークを含むことができ、このＣＡＮバス・システムは、例えば、ＣｉＡ（ｔｈｅ  ＣＡＮ  ｉｎ  Ａｕｔｏｍａｔｉｏｎ  Ａｓｓｏｃｉａｔｉｏｎ，Ａｍ  Ｗｅｉｃｈ  Ｓｅｌｇａｒｔｅ  ２６，Ｄ−９１０５８  エアランゲン，ドイツ）により規定されるような、標準アクセス・プロトコルおよび配線基準を有するマルチドロップ・ネットワークである。当業者に知られているように、イーサーネット（Ｒ）のようなその他のネットワーク、あるいはＲＦまたは赤外線のような無線ネットワーク・システムをライブラリにおいて使用できる。加えて、様々なプロセッサ・ノードを結合するために、複数の独立ネットワークも使用できる。
【００２５】
通信プロセッサ・ノード５０は、格納フレーム１１のデータ格納ドライブ１５の各々とライン７０を介して結合されており、ドライブ１５ならびにホスト・システム４０、４１および４２と通信する。代わりに、ホスト・システム４０、４１および４２は、例えば入力８０において、通信プロセッサ・ノード５０に直接結合したり、またはライブラリ１０を、ドライブ／ライブラリ・インタフェースに類似のライブラリ・インタフェースを備えるホスト・システムに接続する制御ポート・デバイス（図示せず）に直接結合したりできる。当業者に知られているように、ホスト４０、４１、および４２ならびにデータ格納ドライブ１５と通信するために様々な通信構成を使用できる。図３の例では、ホスト接続８０および８１はＳＣＳＩバスである。バス８２は、ＳＣＳＩバス・システムよりも大きい距離での伝送を可能にする高速シリアル・データ・インタフェースであるファイバ・チャンネル・バスの例を含んでいる。
【００２６】
データ格納ドライブ１５は、通信プロセッサ・ノード５０の至近距離にあってもよく、ＳＣＳＩのような短距離通信方式、またはＲＳ−４２２のようなシリアル接続を使用することができる。従って、データ格納ドライブ１５は、ライン７０によって通信プロセッサ・ノード５０に個別に結合される。代わりに、データ格納ドライブ１５は、共通バス・ネットワークのような１つ以上のネットワークを通して通信プロセッサ・ノード５０に結合できる。
【００２７】
付加的な格納フレーム１１を設けることができ、各々は、隣接する格納フレームにそれぞれ結合される。いずれの格納フレーム１１も、通信プロセッサ・ノード５０、格納シェルフ１６、データ格納ドライブ１５、およびネットワーク６０を含むことができる。
【００２８】
さらに、上記で説明されたように、自動化データ格納ライブラリ１０は、複数のアクセサを含むことができる。第２のアクセサ２８は、例えば、図３の右側サービス・ベイ１４の中に示してある。第２のアクセサ２８は、データ格納カートリッジにアクセスするためのグリッパ３０を含むことができ、ＸＹプロセッサ・ノード２５５を用意して、第２のアクセサ２８のＸＹ系に配置することができる。第２のアクセサ２８は、第１のアクセサ１８と同じ水平機械的パス上または隣接するパス上を走ることができる。制御システムはさらに、格納フレーム１１のネットワーク６０および左側サービス・ベイ１３のネットワーク１５７に結合されたネットワークを形成する拡張ネットワーク２００も含み得る。
【００２９】
図３および付随する説明において、第１および第２のアクセサは、左側サービス・ベイ１３および右側サービス・ベイ１４とそれぞれ関連している。これは、例示を目的とするものであり、実際の関連はなくてもよい。加えて、ネットワーク１５７は左側サービス・ベイ１３と関連していなくてもよく、ネットワーク２００は右側サービス・ベイ１４と関連していなくてもよい。ライブラリのデザインおよび顧客の特定のニーズに応じて、左側サービス・ベイ１３または右側サービス・ベイ１４あるいはその両方を有する必要がないことがある。
【００３０】
自動化データ格納ライブラリ１０は一般に、自動化データ格納ライブラリの操作を指示する１つ以上のコントローラを含む。ホスト・コンピュータおよびデータ格納ドライブは一般に、同様なコントローラを含む。コントローラは多くの異なる形態を取ることができ、例えば、埋め込みシステム、分散型制御システム、パーソナル・コンピュータ、またはワークステーション等を含むが、これらに限定されるものではない。代わりに、プロセッサ・ノード５０、５２、５５、５９、２５２、および２５５のうちの１つが、コントローラを含むことがある。そのような構成においては、プロセッサ・ノードの１つがコントローラを含むのに対して、いずれか他のプロセッサ・ノードがそのコントローラの指示下で動作し得る。さらに、プロセッサ・ノード５０、５２、５５、５９、２５２、２５５のうちの２つ以上がコントローラを含むことがある。このさらなる構成において、２つ以上のプロセッサ・ノードがコントローラを含むのに対して、いずれか他のプロセッサ・ノードがそのコントローラの指示下で動作し得る。本質的に、本明細書において用いられるような用語「コントローラ」は、その用語が本明細書において定義されるような、少なくとも１つのプロセッサを含むシステムまたはシステムとしてのその最も広い意味であることを意図している。
【００３１】
図４は、プロセッサ４０２、ＲＡＭ（ランダム・アクセス・メモリ）４０３、不揮発性メモリ４０４、デバイス特定回路４０１、およびＩ／Ｏインタフェース４０５を備える代表的なコントローラ４００を示す。代わりに、ＲＭＡ４０３または不揮発性メモリ４０４あるいはその両方は、デバイス特定回路４０１およびＩ／Ｏインタフェース４０５ができるように、プロセッサ４０２に含まれ得る。プロセッサ４０２は、例えば、既製（ｏｆｆ−ｔｈｅ−ｓｈｅｌｆ）のマイクロプロセッサ、カスタム・プロセッサ、ＦＰＧＡ（フィールド・プログラマブル・ゲート・アレイ）、ＡＳＩＣ（特定用途向け集積回路）、ディスクリート・ロジック等を含むことができる。ＲＡＭ（ランダム・アクセス・メモリ）４０３は一般に、可変データ、スタック・データ、実行可能な命令等を保持するために使用される。不揮発性メモリ４０４としては、ＥＥＰＲＯＭ（電気的に消去可能なプログラマブル・リード・オンリー・メモリ）、フラッシュＰＲＯＭ（プログラマブル・リード・オンリー・メモリ）、バッテリー・バックアップＲＡＭ、およびハードディスク・ドライブ等のどのようなタイプの不揮発性メモリも含まれるが、それらに限定されない。不揮発性メモリ４０４は一般に、実行可能なファームウェアおよび任意の不揮発性データを保持するために用いられる。Ｉ／Ｏインタフェース４０５は、プロセッサ４０２がコントローラ外部のデバイスと通信できるようにする通信インタフェースを含む。例としては、ＲＳ−２３２、ＵＳＢ（ユニバーサル・シリアル・バス）、ファイバ・チャネル、ＳＣＳＩ（スモール・コンピュータ・システムズ・インタフェース）、ＣＡＮ（コントローラ・エリア・ネットワーク）等のシリアル・インタフェースが含まれるが、それらに限定されない。デバイス特定回路４０１は、カートリッジ・グリッパのモータ制御のような、ただしこれに限定されない特有の機能をコントローラ４００が実行できるようにする付加的なハードウェアを提供する。デバイス特定回路４０１としては、例としてただし限定ではなく、パルス幅変調（ＰＷＭ）制御、アナログ・デジタル変換（ＡＤＣ）、デジタル・アナログ変換（ＤＡＣ）等を提供する電子装置が含まれ得る。加えて、デバイス特定回路４０１のすべてまたは一部は、コントローラ４００外にあってもよい。
【００３２】
ライブラリ１０は、アクセサ１８の移動、グリッパ２０の動作、ドライブ・ローダによるカートリッジへの受容およびカートリッジからの排出、ドライブ中の読み取り／書き込みヘッド間のテープの動き、マルチトラック媒体の特定のデータ・トラックをヘッドが探す際のヘッドの位置決め、読み取り／書き込み時にデータ・トラックとの整合をヘッドが維持する際のヘッドの動き等の多くの機械的構成要素が含まれるが、これらに限定されるものではない。これらの機械的構成要素の制御は、サーボ制御ループを用いて遂行され、このサーボ制御ループのアルゴリズムは、デバイス特定回路４０１、プロセッサ４０２または機械的構成要素内の回路あるいはそれら全部の中で実行できる。
【００３３】
図５は、機械的システムを制御するための速度プロファイルを示す。機械的システムを１つの位置から別の位置へ移動させる場合、速度プロファイルが一般に用いられ、移動されているまたは移動を実行している機械的ハードウェアに対しその移動が過剰な応力を生じさせないように速度プロファイルが作成される。単純な速度プロファイルは、加速部分５０２、定速部分５０４、および減速部分５０６を含み得るであろう。この速度プロファイルは、速度曲線５０２、５０４、５０６の下の領域５０８が、移動される距離となるものである。任意の時点における機械的システムの所望位置は、移動の開始時間から問題となる時点まで速度プロファイルを積分し、それを移動開始時点の機械的システムの位置に足すことにより見出すことができる。
【００３４】
図６は、機械的システムの位置を制御するためのサーボ制御ループのブロック図を示す。所望位置６０２は一般に、図５に示されるものと同様の速度プロファイルを積分することにより得られる。制御アルゴリズムは、所望位置６０２、被測定位置６１０、被測定速度６１２または被測定加速６１４あるいはこれら全部を用いてトルク６０６を計算し、このトルク６０６は、機械的システムを所望位置まで移動させるために、機械的システムのモータのような被制御システムに適用されるべきものである。制御されたシステムの測定された位置６１０、速度６１２、および加速６１４は、個々に測定できる。代わりに、図中に示されるように、加速および速度は、被測定位置の導関数を取ることにより導き出すことができる。所望位置６０２、トルク６０６、被測定位置６１０、被測定速度６１２、および被測定加速６１４は、サーボ・ログ中に記録される目的とするパラメータであることがよくある。
【００３５】
この例を続けると、アクセサ１８を１つの位置から別の位置へ移動させるために、アクセサ１８の現在位置、目標とする目的地までアクセサがどれだけ進む必要があるか、アクセサはどれだけの速さで移動する必要があるか、どのような加速および減速が適切であるか、に基づいて動きプロファイルが選択または生成される。従って、アクセサ・モータを制御するために用いられるサーボ・アルゴリズムのパラメータとしては、所望および実際の位置、所望および実際の速度、加速およびモータ・トルクが含まれ得る。先行技術のデータ・ロギング・システムにおいては、これらのパラメータが監視され、動きプロファイルに従ってモータがアクセサを移動させるにつれて、パラメータの値は、連続するログ・エントリのフィールド中に等間隔で記録されるであろう。従って、万一故障した場合には、アクセサ１８の進行は、モータの一連の状態を表す記録されたパラメータ値から再現され得る。
【００３６】
ログ・エントリのフィールドのサイズは、記録される特定のパラメータに応じて変わり得る。例えば、実際および所望のモータ位置はそれぞれ、１６ビットのフィールドに格納することができ、実際および所望の速度はそれぞれ、２２ビットのフィールドに格納することができ、トルクは、９ビット（８ビット値および１ビット符号）のフィールドに格納できる。従って、各ログ・エントリは、８５ビット、あるいは所望速度が記録されないのであれば６３ビットを必要とし得る。
【００３７】
しかしながら、本発明は、パラメータのうちのいくつかの値は、１つの記録されたエントリから次のエントリまで大きく変化しないことがあるという認識、および変化の少なくともいくつかは、加速プロファイルまたは速度プロファイルあるいはその両方から予測され得るという認識に基づいて、より少ないスペースでそのようなデータをログするためのシステムおよび方法を提供する。このように、パラメータの絶対値を、移動の開始時点からまたは移動の間に飛び飛びにあるいはその両方で格納し、さらに絶対値間の相対値を格納することにより、どのような情報損失もなく、エントリにより必要とされるスペースの量を大きく低減することができる。絶対値は、規則的で周期的な間隔で記録できる。代わりに、またはそれに加えて、パラメータの相対値、すなわち、以前の値からの変化が、相対エントリ中に格納できるよりも大きければ、更新された絶対値を記録することができる。例えば、モータの所望の位置および実際の位置が記録されていて、各々の位置は、もし１つの絶対値として格納されるのであれば、エントリあたり合計８バイトのログされたデータ用に３２ビットを必要とするものと仮定する。モータが１サーボ間隔あたり１２８カウント未満で移動する場合、相対位置は８ビットしか必要とせず、メモリ・スペースが大幅に節約される。さらに、もしモータが１間隔あたり１２８カウントよりも速く移動すれば、完全な絶対値が記録され得る。このように、より多くのログされたデータ４１０（図４）が、同じ量のメモリ４０３中に格納できる。ログされたデータは、ＲＡＭ４０３中に格納されているものとして示されているが、ログされたデータは、不揮発性メモリ４０４中に格納することもでき、あるいはＩ／Ｏインタフェース４０５越しに別のコントローラまたは監視システムに送ることもできる。
【００３８】
用語「絶対値」は本明細書において数学的な意味（すなわち、符号を無視した数の値）で用いられているのではなく、相対的である値とは反対に、完全な、未圧縮のパラメータの値を指すために用いられることに留意すべきである。
【００３９】
パラメータの絶対値がログ・エントリ中に格納されようと、相対値が格納されようと、現行の完全値が最初に、パラメータの監視に用いられるどのようなデバイスからも得られる。もし絶対値が格納されることになれば、その完全値が用いられる。しかしながら、もし相対値が格納されることになれば、完全値と以前の完全値との差が決定され、その差が相対エントリとして格納される。このように、この差は、完全値に比べて小さい。ログされたデータのその後の分析の間に、特定のエントリ（時点を表す）における特定のパラメータの完全値は、一番最近ログされた絶対値を見出し、絶対エントリと所望の相対エントリとの間のそのパラメータについての全ての相対エントリの値（すなわち、一連の差）を足すことにより得ることができる。
【００４０】
図７は、絶対パラメータ値を、このケースでは絶対位置、絶対所望速度、絶対実速度および絶対トルクのためのフィールドに格納するためのデータ構造の一例を示す。本明細書において記載されるデータ構造およびエントリを満たすパラメータは、代表例として選ばれており、限定として解釈されるべきではない。他のパラメータ、より少ないパラメータ（単一パラメータでさえも）またはより多くのパラメータが、実際の記録システムにおいて記録できることが分かる。図７のデータ構造は、以下で説明されるエントリ・タイプのためのフィールドも含む。絶対値を保持するフィールドのサイズは、そのフィールドについて予想されるまたは考えられる全ての値を格納するのに十分な大きさであるように選ばれるべきである。例えば、絶対位置が常に−１，０００，０００〜１，０００，０００の間にあれば、考えられる全ての絶対位置を格納するために２１ビット必要となるであろう。
【００４１】
相対値を保持するフィールドのサイズは、各パラメータの共通な予想される変化を格納するのに十分に大きくかつログされたデータを格納するために必要とされるメモリの大幅な低減をもたらすのに十分に小さいように選ばれるべきである。特定の動きの間の位置の変化量は、動きの速度プロファイルから推定することができ、速度の変化量は加速プロファイルから推定できる。他のパラメータ値における変化は、同様に推定され得る。さらに、フィールド・サイズ選択は、トレードオフを必然的に伴う。より大きいサイズのフィールドは、より広い範囲のパラメータ値変化に対応できるが、より多くのメモリを必要とするという代償を払う。一方、より小さいサイズのフィールドは、変化が大きい場合に絶対値のより頻繁な記録を必要とすることがあるが、だいたいの場合に値が少しの量しか変化しなければ、より効率的な方式になり得る。より便利なメモリ管理のために、完全なログ・エントリを整数バイトまで拡張することができ、いくつかのビット・スペースが未使用のまま残るか、エントリ・タイプを示すためのようなオーバヘッドに使用される。
【００４２】
図８は、相対パラメータ値を、このケースでは相対位置、相対所望速度、相対実速度および絶対トルクのためのフィールド中に格納するためのデータ構造の一例を示す。ここでもやはり、図８における特定のフィールドは、単に例示的なものである。いくつかのサーボ応用分野においては、トルクがあまりに急速に変化するので、相対値の記録は大幅なスペース節約をもたらさない。従って、図８に示されるデータ構造は、更新された絶対値が記録されるようにする。図９は、相対パラメータ値を格納するためのデータ構造のより短いバージョンを示しており、相対所望速度用のフィールドが取り去られている。その理由は、値があまり頻繁に変化しないことがあるからである。図９に示されるデータ構造の使用は、所望速度が変化していないことを暗に示し得る。
【００４３】
本発明は好ましくは、情報エントリを定義するデータ構造を含む。図１０は、そのようなデータ構造の例を示す。このデータ構造は、以降の相対値データ・エントリの各フィールドのビット数を格納するためのフィールドを含む。この例示において、４ビット・フィールドが相対位置フィールドのビット数を指定し、別の４ビット・フィールドが相対所望速度フィールドのビット数を指定し、最後の４ビット・フィールドが相対実速度のビット数を指定する。相対値に０ビットを割り当てることは、ある相対エントリが使用される場合、例えば、位置が一定に保持されている場合またはモータが一定速度で動いている場合のように、特定のパラメータが変化していないことを示す。パラメータが変化する場合、ある絶対値エントリが使用され得る。
【００４４】
１つの実施形態において、相対関係の複数のレベルまたは段階を実現できる。図１１の例において、データ構造中に２つのレベルが示してある。これら２つの示されたレベルが単に代表的なものであり、より多くのレベル（または単一レベル）も使用できることが分かるであろう。例えば、レベル１の相対エントリは、あるパラメータの相対値を格納するために、その値が８単位未満だけ変化する限り、４ビット・フィールを使用し得る。値が８単位以上ただし１２８単位未満だけ変化すれば、その値は、相対レベル２における８ビット・フィールドに格納される。さらに、値が１２８単位以上変化すれば、その値は、更新された絶対エントリに格納され得る。
【００４５】
実際の位置が所望位置に接近して跡をたどっている場合のように、実際のパラメータの値が対応する所望パラメータの値に近い場合、さらなる圧縮が達成できる。所望位置および実際の位置の関連相対値を格納する代わりに、所望位置および位置エラーが記録されて格納され得る。後の分析において、実際の位置は、これらの値から導き出すことができる。
【００４６】
データ・ログはサイズが限定されているので、本発明のシステムおよび方法が実施された場合でさえ、最終的にデータ・ログは一杯になり、最も早くに格納されたデータは、より最近のログされたデータ用の場所を空けるために上書きされる。しかしながら、データが従来のやり方で上書きされると、絶対エントリが上書きされかつ後に記録された関連する相対エントリが残る場合、情報が不必要に失われることがある。すなわち、「座礁した（ｓｔｒａｎｄｅｄ）」相対エントリはもはや基準点を持っておらず、もはや「復号」され得ない。同様に、もし相対エントリが可変フィールド長を有していれば、情報エントリの上書きも、座礁した関連相対エントリおよび情報の損失につながる。座礁した関連相対エントリは、無効であると考えられる。周期的な絶対エントリまたは情報エントリあるいはその両方を格納することは、相対エントリ・フィールドのサイズに変化が皆無である場合でさえ損失を低減できるが、必ずしも損失を排除できるわけではない。各動きの開始時点においてだけでなく動きの終了時点においても、絶対エントリまたは情報エントリあるいはその両方を格納し、関連相対エントリをこれら２つではさむことによっても情報損失を低減できる。代わりに、関連する相対エントリの前後で絶対エントリまたは情報エントリあるいはその両方を格納することにより、座礁した相対エントリが排除され、メモリ使用量および情報損失双方が低減される。相対エントリは次に、最も早い次の絶対エントリまたは情報エントリあるいはその両方によって復号される。
【００４７】
本発明は、完全に機能するデータ処理システムという状況の中で説明されてきたが、本発明のプロセスは、命令のコンピュータ可読媒体の形態および様々な形態で分散され得ること、および分散を実行するために実際に使用されている特定タイプの信号生成媒体にかかわらず本発明が適用されることが当業者には分かるであろうということに注目することが重要である。コンピュータ可読媒体の例としては、フロッピー・ディスク（Ｒ）、ハードディスク・ドライブ、ＲＡＭ、ＣＤ−ＲＯＭならびにデジタルおよびアナログ通信リンクのような伝送タイプ媒体などの書き込み可能媒体が含まれる。
【００４８】
本発明の説明は、例示および説明の目的で提示されたものであって、網羅的であることを意図したり、開示された形態での本発明に限定されることを意図したりするものではない。多くの変更および変形が当業者には自明であろう。本発明の原理、実際の応用分野を最もうまく説明し、さらに予期される特定の使用に適する様々な変更を有する様々な実施形態について本発明を当業者が理解できるようにするために、実施形態が選ばれて説明された。さらに、方法およびシステムに関して上記で説明されたが、技術的なニーズは、そうするためにコンピュータ可読コードを計算システムに統合することを含む計算インフラストラクチャを配備するためのシステムまたは方法から得られる動き関連データをログするための命令を含むコンピュータ・プログラムで満たされ得る。
【図面の簡単な説明】
【００４９】
【図１】本発明を実施し得る自動化データ格納ライブラリの等角図である。
【図２】フロント・パネルが開かれている、図１の自動化データ格納ライブラリの１つのフレームの等角図である。
【図３】本発明を実施し得る自動化データ格納ライブラリのブロック図である。
【図４】コントローラの１つの形態を示すブロック図である。
【図５】テープ・ライブラリ・システムにおけるグリッパのような機械的システムを制御するための速度プロファイルのグラフである。
【図６】本発明を適用できるサーボ制御ループの一例のブロック図である。
【図７】絶対エントリ・データ構造の一例を示す。
【図８】相対エントリ・データ構造の一例を示す。
【図９】相対エントリ・データ構造の第２の例を示す。
【図１０】情報エントリ・データ構造の一例を示す。
【図１１】情報エントリ・データ構造の第２の例を示す。
【符号の説明】
【００５０】
４００  コントローラ
４０１  デバイス特定回路
４０２  プロセッサ
４０３  ＲＡＭ
４０４  不揮発性メモリ
４０５  Ｉ／Ｏインタフェース
４１０  ログされたデータ
【図１】
2007157137.tif 000003
【図２】
2007157137.tif 000004
【図３】
2007157137.tif 000005
【図４】
2007157137.tif 000006
【図５】
2007157137.tif 000007
【図６】
2007157137.tif 000008
【図７】
2007157137.tif 000009
【図８】
2007157137.tif 000010
【図９】
2007157137.tif 000011
【図１０】
2007157137.tif 000012
【図１１】
2007157137.tif 000013