(57)【要約】【課題】情報処理装置、及び、データベース修復システム、および、プログラムを提供する。【解決手段】本願発明のデータベース修復システムは、外部機器がデータ再生装置内のデータベース（ＤＢ）ファイルに準じたユーザインタフェースを提供する。このとき、ＤＢファイルには、判定フラグが設けられ、この判定フラグは、ＤＢファイルへのデータの書き込み開始時にＯＮにされ、書き込み終了時にＯＦＦにされる。そして、ＤＢファイルへの書き込み開始時に、判定フラグを検出し、判定フラグがＯＮであると判別した場合は、ＤＢファイルを再構築する処理を実行する。これにより、本願発明のデータベース修復システムは、ＤＢファイルへの書き込み処理が強制終了した場合であっても、ユーザの操作を必要とせずに、ＤＢファイルを復元することができる。【選択図】図６
2007172297.tif 000002
【特許請求の範囲】
【請求項１】
楽曲データと該楽曲データの付随情報とを記憶する楽曲データ記憶手段と、前記楽曲データ記憶手段に記憶されている付随情報の少なくとも一部の複製を記憶するデータベースと、を備える情報処理装置において、
前記データベースが更新中であることを示す更新中フラグをオンしてから前記データベースに格納されている付随データの更新処理を開始し、更新が完了したときに、前記更新中フラグをオフにするデータベース更新手段と、
前記付随データの出力の要求に応答して、前記更新中フラグがオフかオンかを判別することにより前記データベースの更新が未完了のまま中断した状態にあるか否かを判別して、中断した状態にあると判別したときには、付随データを出力せずに、前記データベースの付随データを消去し、前記フラグがオフで前記データベースの更新が正常に完了されていると判別した場合には、該付随データを所定の出力先に出力するデータ出力手段と、
を備えることを特徴とする情報処理装置。
【請求項２】
前記データ出力手段は、前記データベースの更新が未完了のまま中断した状態にあると判別したときには、前記データベースに格納されている付随データを消去した後、前記楽曲データに基づいて前記データベースに格納されている付随データを再更新し、該付随データを所定の出力先に出力する手段を備える、ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
データ再生装置と、外部機器と、から構成されるデータベース修復システムであって、
前記データ再生装置は、
複数の楽曲データを記憶する楽曲データ記憶手段と、
前記複数の楽曲データそれぞれの属性情報を定義する付随データを格納する第一のデータベースと、
を備え、
前記外部機器は、
前記第一のデータベースに格納されている付随データと同一の付随データを格納する第二のデータベースと、
前記第二のデータベースが更新中であることを示す更新中フラグをオンしてから前記第二のデータベースに格納されている付随データの更新処理を開始し、更新が完了したときに、前記更新中フラグをオフにするデータベース更新手段と、
前記付随データの出力の要求に応答して、前記更新中フラグがオフかオンかを判別することにより前記第二のデータベースの更新が未完了のまま中断した状態にあるか否かを判別して、中断した状態にあると判別したときには、付随データを出力せずに、前記第二のデータベースに格納されている付随データを消去し、前記フラグがオフで前記第二のデータベースの更新が正常に完了されていると判別した場合には、該付随データを所定の出力先に出力するデータ出力手段と、
を備え、
前記データ再生装置は、
前記データ出力手段が出力した前記付随データを受け付ける受け付け手段と、
前記受け付け手段が受け付けた前記付随データを前記第一のデータベースに格納する格納手段と、
を備える、
ことを特徴とするデータベース修復システム。
【請求項４】
楽曲データと該楽曲データの付随情報とを記憶する楽曲データ記憶手段と、前記楽曲データ記憶手段に記憶されている付随情報の少なくとも一部の複製を記憶するデータベースと、を備える情報処理装置のコンピュータに、
前記データベースが更新中であることを示す更新中フラグをオンしてから前記データベースに格納されている付随データの更新処理を開始し、更新が完了したときに、前記更新中フラグをオフにするデータベース更新手順と、
前記付随データの出力の要求に応答して、前記更新中フラグがオフかオンかを判別することにより前記データベースの更新が未完了のまま中断した状態にあるか否かを判別して、中断した状態にあると判別したときには、付随データを出力せずに、前記データベースの付随データを消去し、前記フラグがオフで前記データベースの更新が正常に完了されていると判別した場合には、該付随データを所定の出力先に出力するデータ出力手順と、
を実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、データベース修復システム、及び、プログラムに関する。
【背景技術】
【０００２】
近年のコンパクトディスクプレイヤーや、ハードディスク内蔵ポータブルオーディオプレイヤーなどの、ポータブル型のデータ再生装置は、大容量のデータ保存領域を備えるようになってきている。
これに伴い、大容量のデータ保存領域に記憶される楽曲データの数も増大化し、これらの楽曲データを楽曲データに付随したメタ情報等で管理するために、データベースファイル（以下、ＤＢファイル）等が利用される。
【０００３】
また、データ再生装置をパーソナルコンピュータ（以下、ＰＣ）やオーディオ機器等といった外部機器に接続し、互いに、楽曲データ等を転送するようになってきている。
一般に、ＰＣやオーディオ機器は、ポータブル型のデータ再生装置よりも高速に演算処理を行える。そこで、データ再生装置に記憶された膨大な数の楽曲データを管理するためのＤＢファイルを構築・編集するのは、ＰＣ等の外部機器が行うことが多い。
【０００４】
しかしながら、外部機器がデータ再生装置内のＤＢファイルを書き換えたり、読み出したりしている最中に、その作業が強制終了した場合に、ＤＢファイルの内容と実際に記憶されている楽曲データとが不整合な状態になるといった問題がある。ここで、作業が強制終了する原因には、例えば、ＰＣの楽曲データを管理するためのソフトウェアが強制終了した場合や、ＰＣとの接続ケーブルが抜かれた場合や、ＰＣ自体の電源が切断した場合、等の原因が考えられる。
【０００５】
そこで、例えば、特許文献１は、プリンタ装置に関し、文字パターン等のデータの転送中に電源が切断した場合でも、電源復帰時に無効フラグの状態を検出して、データの転送先のメモリのデータを初期化するか否かを判別することを開示している。
【特許文献１】特開平０５−２４６０８４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかし、上述のプリンタ装置は、無効フラグに応じてデータの転送先のメモリのデータを初期化することができるが、データ再生装置内のＤＢファイルを復元することはできない。
【０００７】
本発明は、上記実状に鑑みてなされたものであり、ＤＢファイルの構築・編集が強制終了した場合であっても、ユーザの操作を必要とせずに、ＤＢファイルを復元することができるデータ再生装置、データベース修復システム、及び、プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記目的を達成するため、本発明の第１の観点に係る情報処理装置は、楽曲データと該楽曲データの付随情報とを記憶する楽曲データ記憶手段と、前記楽曲データ記憶手段に記憶されている付随情報の少なくとも一部の複製を記憶するデータベースと、を備える情報処理装置であって、前記データベースが更新中であることを示す更新中フラグをオンしてから前記データベースに格納されている付随データの更新処理を開始し、更新が完了したときに、前記更新中フラグをオフにするデータベース更新手段と、前記付随データの出力の要求に応答して、前記更新中フラグがオフかオンかを判別することにより前記データベースの更新が未完了のまま中断した状態にあるか否かを判別して、中断した状態にあると判別したときには、付随データを出力せずに、前記データベースの付随データを消去し、前記フラグがオフで前記データベースの更新が正常に完了されていると判別した場合には、該付随データを所定の出力先に出力するデータ出力手段と、
を備えることを特徴とする。
【０００９】
また、前記情報処理装置において、前記データ出力手段は、前記データベースの更新が未完了のまま中断した状態にあると判別したときには、前記データベースに格納されている付随データを消去した後、前記楽曲データに基づいて前記データベースに格納されている付随データを再更新し、該付随データを所定の出力先に出力する手段を備えるようにしてもよい。
【００１０】
また、上記目的を達成するため、本発明の第２の観点に係るデータベース修復システムは、データ再生装置と、外部機器と、から構成され、前記データ再生装置は、複数の楽曲データを記憶する楽曲データ記憶手段と、前記複数の楽曲データそれぞれの属性情報を定義する付随データを格納する第一のデータベースと、を備え、前記外部機器は、前記第一のデータベースに格納されている付随データと同一の付随データを格納する第二のデータベースと、前記第二のデータベースが更新中であることを示す更新中フラグをオンしてから前記第二のデータベースに格納されている付随データの更新処理を開始し、更新が完了したときに、前記更新中フラグをオフにするデータベース更新手段と、前記付随データの出力の要求に応答して、前記更新中フラグがオフかオンかを判別することにより前記第二のデータベースの更新が未完了のまま中断した状態にあるか否かを判別して、中断した状態にあると判別したときには、付随データを出力せずに、前記第二のデータベースに格納されている付随データを消去し、前記フラグがオフで前記第二のデータベースの更新が正常に完了されていると判別した場合には、該付随データを所定の出力先に出力するデータ出力手段と、を備え、前記データ再生装置は、前記データ出力手段が出力した前記付随データを受け付ける受け付け手段と、前記受け付け手段が受け付けた前記付随データを前記第一のデータベースに格納する格納手段と、を備えることを特徴とする。
【００１１】
また、本発明の第３の観点に係るプログラムは、楽曲データと該楽曲データの付随情報とを記憶する楽曲データ記憶手段と、前記楽曲データ記憶手段に記憶されている付随情報の少なくとも一部の複製を記憶するデータベースと、を備える情報処理装置のコンピュータに、前記データベースが更新中であることを示す更新中フラグをオンしてから前記データベースに格納されている付随データの更新処理を開始し、更新が完了したときに、前記更新中フラグをオフにするデータベース更新手順と、前記付随データの出力の要求に応答して、前記更新中フラグがオフかオンかを判別することにより前記データベースの更新が未完了のまま中断した状態にあるか否かを判別して、中断した状態にあると判別したときには、付随データを出力せずに、前記データベースの付随データを消去し、前記フラグがオフで前記データベースの更新が正常に完了されていると判別した場合には、該付随データを所定の出力先に出力するデータ出力手順と、を実行させる。
【発明の効果】
【００１２】
本発明のデータベース修復システムによれば、ＤＢファイルの構築・編集が強制終了した場合であっても、ユーザの操作を必要とせずに、ＤＢファイルを復元することができる。
【発明を実施するための最良の形態】
【００１３】
以下、本発明の最良の実施の形態を図面を参照して説明する。
【００１４】
（実施形態１）
本発明の実施形態１に係るデータベース修復システム１２は、図１に示すように、データ再生装置１０と、外部機器１１と、から構成される。データ再生装置１０は、外部機器１１にケーブル１１６（例えば、ＵＳＢ（Universal Serial Bus）ケーブル、等）で接続される。なお、（ＵＳＢ）ケーブル１１６は、利用者により着脱可能となっている。また、（ＵＳＢ）ケーブル１１６には、ＵＳＢ規格に従って、通信ライン（Ｄ＋，Ｄ−）及びＶＢＵＳ（電源ライン）が含まれている。  このような構成からなるデータベース修復システム１２は、データ再生装置１０と外部機器１１との間で、楽曲データの送受信や、データベースの構築（再構築）等を行うシステムである。
【００１５】
データ再生装置１０は、図２に示すように、ＣＰＵ（Central Processing Unit）１０１、記憶部１０２、表示部１０３、ＲＯＭ（Read Only Memory）１０４、ＲＡＭ（Random Access Memory）１０５、操作部１０６、Ａ／Ｄコンバータ１０８、再生処理部１０９、イヤホン１１０、Ｈ／Ｐ端子１２２、ＵＳＢ／ＡＴＡ制御ドライバ１２３、ＵＳＢ端子１２４、等から構成される。ユーザは、データ再生装置１０が再生した楽曲（楽曲データ１２１）を、イヤホン１１０を介して聴くことができる。
【００１６】
ＣＰＵ１０１は、ＲＯＭ１０４に格納された各種プログラム（ＤＢ読み込みプログラム１２５、制御信号解析プログラム１１１、等）を適宜実行することによって、データ再生装置１０の動作を制御する。また、ＣＰＵ１０１は、内部タイマを有する。
【００１７】
記憶部１０２は、ハードディスク装置やフラッシュメモリ等の記憶装置で構成される。記憶部１０２は、楽曲データ１２１等に加えて、図３（Ａ）に示すような、楽曲データ１２１を管理するためのＤＢファイル１１７を記憶する。
ここで、楽曲データ１２１は、複数の楽曲データから構成され、記憶部１０２に記憶される。
【００１８】
ＤＢファイル１１７は、記憶部１０２に記憶される楽曲データ１２１を管理するためのデータベース（ＤＢ）である。ＤＢファイル１１７は、図３（Ａ）に示すように、一つのファイルで構成してもよいし、複数のファイルで構成してもよい。
ＤＢファイル１１７には、各楽曲データに付随したメタ情報（例えば、データ番号、タイトル名、アーティスト名、等）が、図３（Ａ）に示すように、各行に記録される。
【００１９】
表示部１０３は、液晶モニタ（ＬＣＤ：Liquid Crystal Display）や蛍光表示管（ＶＦＤ：Vacuum Fluorescent Display）等のフラットパネルディスプレイから構成され、ＣＰＵ１０１に制御され、操作状況等をユーザに明らかにするための文字列等を表示する。
【００２０】
ＲＯＭ（Read Only Memory）１０４は、ＣＰＵ１０１が所定の処理を実行するためのプログラム等を予め格納する不揮発性メモリである。ＣＰＵ１０１は、ＲＯＭ１０４から必要に応じてプログラム等（例えば、ＤＢ読み込みプログラム１２５、制御信号解析プログラム１１１、等）を読み出して、ＲＡＭ１０５に展開し、当該プログラム等に基づいて所定の処理を実行する。
【００２１】
ここで、制御信号解析プログラム１１１は、操作部１０６から供給される制御信号から、対応する処理を特定するためのプログラムである。具体的には、操作部１０６から供給される信号電圧（アナログ信号）は、Ａ／Ｄコンバータ１０８により制御信号（ディジタル信号）に変換され、ＣＰＵ１０１は、図４に示す制御信号変換テーブル１１２を参照して、対応する命令信号（特定した処理を実行するための信号）を生成する。ＣＰＵ１０１は、生成した命令信号に従って各部を制御する。
また、制御信号解析プログラム１１１は、代わりに同様の機能を持つ電子回路で構成してもよい。
【００２２】
制御信号変換テーブル１１２は、ＣＰＵ１０１が、制御信号解析プログラム１１１に従って、制御信号（ディジタル信号）に対応する処理を特定する（命令信号を生成する）ときに参照するテーブルである。制御信号変換テーブル１１２には、例えば、図４に示すように、制御信号とその制御信号に対応する命令信号とが同一の行に記述される。
【００２３】
ＤＢ読み込みプログラム１２５は、ＣＰＵ１０がユーザインタフェースで選択された楽曲データを再生する際に、その楽曲データが記憶部１０２（ファイルシステム）内のどこに格納されているかを示す信号（情報）を供給するプログラムである。
【００２４】
ＯＳ（Operating System）１２７は、データ再生装置１０の全体を管理するソフトウェアである。操作部１０６からの入力や表示部１０３への画面出力といった入出力機能やディスク（記憶部１０２）やメモリ（ＲＯＭ１０４、ＲＡＭ１０５）の管理など、多くのアプリケーションソフトから共通して利用される基本的な機能を提供する。
【００２５】
ＲＡＭ（Random Access Memory）１０５は、ＣＰＵ１０１が所定の処理（例えば、ＤＢファイル読み込み処理、等）を実行するために読み出したプログラムや、ＣＰＵ１０１が当該プログラムを実行するために必要なデータを格納する揮発性メモリである。
【００２６】
操作部１０６は、所定のボタンスイッチや、ロータリースイッチ等からなり、ユーザの操作に従った指示情報等を入力する。例えば、操作部１０６は、楽曲データ１２１の再生を指示するための再生キーや、再生音量を指示するための音量キー等を備える。また、各キーには、それぞれ抵抗分圧回路が接続される。各抵抗分圧回路は、接続しているキーが押下されたときに、それぞれ異なるアナログ信号を発生し、Ａ／Ｄコンバータ１０８に供給する。
【００２７】
Ａ／Ｄコンバータ１０８は、操作部１０６から供給されたアナログ信号をディジタル信号に変換して出力する。
【００２８】
再生処理部１０９は、記憶部１０２に記憶された楽曲データ１２１（例えば、ＭＰ３等の楽曲データ）の出力処理（再生処理）を行う。例えば、再生処理部１０９は、Ｄ／Ａコンバータ、増幅回路、等で構成され、ＭＰ３データからＷＡＶＥファイルに変換されたディジタル信号を、アナログ信号に変換、増幅する。また、再生処理部１０９で増幅されたアナログ信号は、Ｈ／Ｐ（ヘッドホン）端子１２２を介して、イヤホン１１０（スピーカ）から外部に出力される。
【００２９】
ＵＳＢ端子１２４は、（ＵＳＢ）ケーブル１１６の一端を接続するための端子である。
【００３０】
ＵＳＢ／ＡＴＡ制御ドライバ１２３は、ＵＳＢ規格に従った通信機能を有するＩＣであり、データ（フレームデータ、等）を、ＵＳＢ端子１２４を介して外部機器１１との間で送受信する。なお、ＵＳＢ／ＡＴＡ制御ドライバ１２３は、（ＵＳＢ）ケーブル１１６のＶＢＵＳにより供給される電源電圧の有無等を逐次検出することにより、外部機器１１が（ＵＳＢ）ケーブル１１６を介してデータ再生装置１０と接続された状態であるか否かを判別する。
また、ＵＳＢ／ＡＴＡ制御ドライバ１２３は、ＡＴＡ規格に従ったデータ転送機能を有するＩＣであり、各種データを記憶部１０２との間で送受信する。
【００３１】
次に、図１のデータ再生装置１０に接続される外部機器１１の構成について図５を参照して説明する。外部機器１１は、データ再生装置１０に接続している場合に、所定の制御信号をデータ再生装置１０に供給して、データ再生装置１０を制御することができる。外部機器１１は、例えば、データ再生装置１０に記憶される楽曲データ１２１のメタ情報を取得するための制御信号をデータ再生装置１０に供給する。また、外部機器１１は、例えば、ＰＣや、システムオーディオ等の機器である。
【００３２】
この外部機器１１は、ＣＰＵ２０１、記憶部２０２、ＲＡＭ２０３、操作部２０４、表示部２０５、電源２０８、ＵＳＢ端子２２１、ＵＳＢ制御ドライバ２２２、ＡＴＡ制御ドライバ２２３、等から構成される。
【００３３】
ＣＰＵ２０１は、記憶部２０２に格納された各種プログラム（ＤＢ読み込みプログラム２２４、ＤＢファイル再構築プログラム２２５、フラグ検出プログラム２２６、等）を適宜実行することによって、外部機器１１の動作を制御する。
【００３４】
記憶部２０２は、ハードディスク装置やフラッシュメモリ等の記憶装置で構成される。記憶部２０２は、ＣＰＵ２０１が所定の処理を実行するためのプログラム等を予め格納する。ＣＰＵ２０１は、記憶部２０２から必要に応じてプログラム等（例えば、ＤＢ読み込みプログラム２２４、ＤＢファイル再構築プログラム２２５、フラグ検出プログラム２２６、等）をＲＡＭ２０３に読み出して、当該プログラム等に基づいて所定の処理を実行する。また、記憶部２０２は、外部機器１１の全体を管理するＯＳ（Operating System）２２７や、楽曲データ２２８、ＤＢファイル１１７と同一のＤＢファイル２２９を記憶する。さらに、記憶部２０２は、外部機器１１に接続された周辺機器（例えば、表示部２０５、等）を制御するプログラム群であるＢＩＯＳ（Basic Input/Output System）等を記憶してもよい。
【００３５】
ここで、ＤＢ読み込みプログラム２２４は、データ再生装置１０に格納されるＤＢファイル１１７を取得するためのプログラムである。
【００３６】
ＤＢファイル再構築プログラム２２５は、データ再生装置１０に格納されるＤＢファイル１１７を再構築するためのプログラムである。ＣＰＵ２０１は、ＤＢファイル再構築プログラム２２５に従って、データ再生装置１０に記憶される各楽曲データに付随するメタ情報を取得し、取得したメタ情報からＤＢファイル２２９を再構築する。
【００３７】
フラグ検出プログラム２２６は、ＣＰＵ２０１が、ＤＢファイル２２９の再構築開始時に、判定フラグ１１８を検出し、判定フラグが１（ＯＮ）であるか、０（ＯＦＦ）であるかを判別するためのプログラムである。フラグ検出プログラム２２６に従って、検出した判定フラグ１１８が１（ＯＮ）であれば、ＣＰＵ２０１は、ＤＢファイル２２９の再構築処理を開始する。
【００３８】
また、ＯＳ（Operating System）２２７は、外部機器１１の全体を管理するソフトウェアである。操作部２０４からの入力や表示部２０５への画面出力といった入出力機能やディスク（記憶部２０２）やメモリ（ＲＡＭ２０３、等）の管理など、多くのアプリケーションソフトから共通して利用される基本的な機能を提供する。さらに、ＯＳ２２７は、ユーザが、表示部２０５に表示されたＤＢファイル１１７の内容（リスト）を見て、データ再生装置１０に格納されている楽曲データ１２１を確認でき、ユーザの所望のデータを検索するための機能を提供する。ここで、表示部２０５に提供する具体的なユーザインタフェースや、所望のデータを検索する方法については、後述する。
【００３９】
ＤＢファイル２２９は、データ再生装置１０が所有するＤＢファイル１１７と同一のファイルである。ＤＢファイル２２９は、図３（Ａ）に示すように、一つのファイルで構成してもよいし、複数のファイルで構成してもよい。
ＤＢファイル２２９には、各楽曲データ２２８に付随したメタ情報（例えば、データ番号、タイトル名、アーティスト名、等）、及び、判定フラグ１１８が、図３（Ａ）に示すように、各行に記録される。
ここで、判定フラグ１１８は、ＤＢファイル２２９へのデータの書き込み開始時に１（ＯＮ）にされ、書き込み終了時に０（ＯＦＦ）にされる。これにより、ＣＰＵ２０１がＤＢファイル２２９へのデータの書き込み中に、書き込みの処理が終了した場合は、判定フラグ１１８は、１（ＯＮ）の状態で処理が終了される。
この判定フラグ１１８は、例えば、図３（Ａ）に示すように、ＤＢファイル２２９の最終行に設けられる。ＤＢファイル２２９を設ける個数や、位置は任意である。例えば、ＤＢファイル２２９が複数のファイルで構成される場合に、各ＤＢファイル２２９に判定フラグ１１８を設けてもよいし、データ毎に設けてもよい。
【００４０】
ＲＡＭ２０３は、ＣＰＵ２０１が所定の処理（例えば、ＤＢ再構築処理、等）を実行するために読み出したプログラムや、ＣＰＵ２０１が当該プログラムを実行するために必要なデータを格納する揮発性メモリである。また、ＲＡＭ２０３は、表示部２０５に表示する情報を記憶するためのＶＲＡＭ（Video Random Access Memory）等を含む。
【００４１】
操作部２０４は、キーボード、マウス等の入力装置から構成される。これら入力装置を用いて利用者によって入力されるデータを受け付けて、入力されたデータをＣＰＵ２０１に供給する。
【００４２】
表示部２０５は、液晶モニタ（ＬＣＤ：Liquid Crystal Display）等のフラットパネルディスプレイから構成され、ＣＰＵ２０１に制御され、操作状況等をユーザに明らかにするための文字列等を表示する。ここで、液晶モニタは、ドットマトリクスタイプの表示素子で構成され、任意の文字、記号、数字、図形を表示する。
【００４３】
電源２０８は、外部電源から電力の供給を受け、外部機器１１の機器全体に電源を供給する。
【００４４】
ＵＳＢ端子２２１は、（ＵＳＢ）ケーブル１１６の一端を接続するための端子である。
【００４５】
ＵＳＢ制御ドライバ２２２は、ＵＳＢ規格に従った通信機能を有するＩＣであり、データ（フレームデータ、等）を、ＵＳＢ端子２２１を介してデータ再生装置１０との間で送受信する。なお、ＵＳＢ制御ドライバ２２２は、（ＵＳＢ）ケーブル１１６のＶＢＵＳにより供給される電源電圧の有無等を逐次検出することにより、データ再生装置１０が（ＵＳＢ）ケーブル１１６を介して外部機器１１と接続された状態であるか否かを判別する。
【００４６】
ＡＴＡ制御ドライバ２２３は、ＡＴＡ規格に従ったデータ転送機能を有するＩＣであり、各種データを記憶部２０２との間で送受信する。
【００４７】
（データベース修復システムの全体の動作）
次に、本実施の形態に係るデータベース修復システム１２のシステム全体の大まかな動作について、図６のシーケンス図を参照して説明する。
【００４８】
図６に示すように、データベース修復システム１２のシステム全体の処理は、外部機器１１のＣＰＵ２０１が、ＤＢファイル再構築の指示信号を受信したときに開始する（ステップＳ１）。なお、ＤＢファイル再構築の指示信号は、ユーザが操作部２０４を操作したときに、操作部２０４が生成する信号である。例えば、ＤＢ書き換えの要求をされたときや、ＤＢ内に格納されるメタ情報を表示させる要求をされたときに、指示信号を生成する。
【００４９】
外部機器１１は、判定フラグ１１８を参照し、ＤＢファイル２２９が正常であるか否かを判別する（ステップＳ２）。外部機器１１は、ステップＳ２で、ＤＢファイル２２９が正常であると判別した場合（判定フラグ１１８がＯＦＦであると判別した場合）、処理をステップＳ９に移行させる（ステップＳ３）。
【００５０】
一方、外部機器１１は、ＤＢファイル２２９が正常ではないと判別した場合（判定フラグがＯＮであると判別した場合）、ＤＢファイル再構築の前処理（例えば、ブランクのＤＢファイルを新規に作成する処理、等）を実行する（ステップＳ４）。
【００５１】
続いて、外部機器１１は、データ再生装置１０の各楽曲データ１２１からメタ情報を読み出す（ステップＳ５）。
【００５２】
外部機器１１は、データ再生装置１０から読み出した楽曲データ１２１に基づいて、ＤＢファイル２２９を再構築する処理を開始する（ステップＳ６）。続いて、外部機器１１は、ステップＳ６で再構築を開始したＤＢファイル２２９を、順次リアルタイムで、データ再生装置１０に送信する（ステップＳ７）。
【００５３】
このとき、データ再生装置１０は、再構築され順次リアルタイムで受信したＤＢファイル２２９を、記憶部１０２に格納されているＤＢファイル１１７に上書きする（ステップＳ８）。
【００５４】
また、外部機器１１は、ステップＳ７でのＤＢファイルの再構築を実行したか否かに拘わらず、ＤＢファイル１１７のデータ内容を読み込む処理を実行する（ステップＳ９）。続いて、外部機器１１は、ＤＢファイル１１７の内容を、Ｘ  Ｗｉｎｄｏｗ  Ｓｙｓｔｅｍ等のユーザインタフェース環境を利用して、表示部２０５に表示する（ステップＳ１０）。
【００５５】
以上の一連の処理を実行するデータベース修復システム１２は、データ再生装置１０に格納されたＤＢファイル１１７を読み込むときに、ＤＢファイル１１７が正常であるか否かを判別する。そして、正常ではないと判別した場合に、ＤＢファイル１１７を再構築してＤＢファイル１１７を読み込む。これにより、ＤＢファイル１１７の書き換え中等に、その作業が強制終了した場合であっても、ユーザの操作を必要とせずに、ＤＢファイルを復元することができる。
【００５６】
以上の図６のシーケンス図で説明した処理は、外部機器１１のＣＰＵ２０１が、ＲＯＭ２０２に格納されるＤＢファイル読み込みプログラム２２４に従って、実行される。以下に、ここでの処理について、図７のフローチャートを参照して、より具体的に説明する。
【００５７】
まず、ユーザは、操作部２０４のマウスを移動させて、表示部２０５に表示された画面上のマウスカーソルをアイコンにあわせ、マウスボタンを押すことにより、ＤＢファイル読み込みプログラム２２４を起動する指示を与えることができる。このような、所定のプログラムを起動する指示をコンピュータに与える方法は、従来から良く知られた技術であり、他の任意の方法でもよい。例えば、キーボードから文字列を入力して、ＤＢファイル読み込みプログラム２２４を起動する指示を与えてもよいし、所定のタイミングで、ＤＢファイル読み込みプログラム２２４を起動する命令を出すプログラムを用意してもよい。
【００５８】
上述したユーザの操作に基づいて、操作部２０４は、操作に対応した制御信号をＣＰＵ２０１に供給する。このとき、ＣＰＵ２０１は、ＲＯＭ２０２に格納されるＤＢファイル読み込みプログラム２２４をＲＡＭ２０３に展開し、処理を開始する。
【００５９】
ＣＰＵ２０１は、まず、ＤＢファイル２２９及びフラグ検出プログラム２２６をＲＡＭ２０３に読み出す。次に、ＣＰＵ２０１は、フラグ検出プログラム２２６に従って、図３（Ａ）に示すようなＤＢファイル２２９の所定の位置（行・列）に設けた判定フラグ１１８を参照する。この判定フラグ１１８は、先に述べたように、ＤＢファイル２２９へのデータの書き込み開始時に１（ＯＮ）にされ、書き込み終了時に０（ＯＦＦ）にされる。
【００６０】
ＣＰＵ２０１は、フラグ検出プログラム２２６に従って、参照した判定フラグ１１８が１（ＯＮ）であると判別した場合（ステップＳ１０１；Ｙｅｓ）、ＤＢファイル２２９を削除する（ステップＳ１０２）。ここで、判定フラグ１１８が１（ＯＮ）であれば、前回、ＤＢファイル２２９の書き込みの処理が正常に終了しなかったことを意味する。そこで、ＣＰＵ２０１は、正常に終了しなかったＤＢファイル２２９を削除し、ＤＢファイル２２９を再構築する処理に移行する。
ただし、ステップＳ１０２のＤＢファイル２２９を削除するステップは、この段階で実行する必要はなく、ＤＢファイル２２９の再構築が完了した後に、実行してもよい。
【００６１】
次に、ＣＰＵ２０１は、図３（Ｂ）に示すような、ブランクのＤＢファイル２２９を新規に作成する（ステップＳ１０３）。ブランクのＤＢファイル２２９は、ＲＡＭ２０３或いは記憶部２０２に記憶される。
【００６２】
続いて、ＣＰＵ２０１は、データ再生装置１０から、ＤＢファイル２２９にデータベースを再構築するために必要な楽曲データ１２１に付随するメタ情報を読み出す。
【００６３】
図７に戻って、ＣＰＵ２０１は、楽曲データ１２１に付随したメタ情報を記憶部１０２から読み出して、ＵＳＢ端子２２１等を介して供給されたメタ情報を、ＲＡＭ２０３に一時的に格納する。
【００６４】
続いて、ＣＰＵ２０１は、ＤＢファイル２２９を再構築する処理を実行する（ステップＳ１０５）。具体的には、ＣＰＵ２０１は、ＤＢファイル２２９の各行に同一の楽曲データに付随するメタ情報が格納されるように、格納する順序（位置）を決定する。例えば、図３（Ａ）に示すように、データ再生装置１０に格納されるＤＢファイル１１７と同じ構成になるように、格納する順序（位置）を決定する。
【００６５】
続いて、ＣＰＵ２０１は、ステップＳ１０５で再構築したＤＢファイル２２９の各データを、記憶部２０２に格納してあるステップＳ１０３で作成したブランクのＤＢファイル２２９に書き込む処理を実行する（ステップＳ１０６）。ここで、データを書き込むＤＢファイル２２９は、図３（Ａ）に示すような構成とする。これにより、ユーザは、各メタ情報をキーに、所望の楽曲データを容易に検索することができる。
また、ここでのＤＢファイル２２９に再構築したデータを書き込む「ＤＢファイル書き込み処理」については、後述する。
【００６６】
次に、ＣＰＵ２０１は、ステップＳ１０６で作成したＤＢファイル２２９を、順次リアルタイムで、ＵＳＢ端子２２１を介してデータ再生装置１０に送信する（ステップＳ１０７）。
【００６７】
また、ここでデータ再生装置１０は、図６のステップＳ１１に示したように、外部機器１１から送信されたＤＢファイル２２９を、記憶部１０２に格納されるＤＢファイル１１７に上書きする処理を実行する。この処理は、外部機器１１が実行するＤＢファイル書き込み処理と同様の処理であり、後述する。
【００６８】
図７に戻って、ＣＰＵ２０１は、ステップＳ１０６で作成したＤＢファイル２２９をＲＡＭ２０３（ＶＲＡＭ）に読み出す（ステップＳ１０８）。
ＣＰＵ２０１は、ＲＡＭ２０３（ＶＲＡＭ）に読み出したＤＢファイル２２９のデータの内容を、表示部２０５に、例えば、図８に示すようなユーザインタフェースを提供する（ステップＳ１０９）。具体的には、ＣＰＵ２０１は、記憶部２０２に格納されるＢＩＯＳ等に従って、表示部２０５にＤＢファイル２２９のデータを規則的に表示する。例えば、図８に示すように、ＣＰＵ２０１は、操作部２０４からの入力に基づいて、ＤＢファイル２２９に格納されるデータを、メタ情報の一つである曲名のアルファベット順に、図８に示すように表示部２０５に表示させる。また、メタ情報の一つであるアーティスト名のアルファベット順に、データを表示部２０５に表示させるようにしてもよい。このようなインタフェースを表示部２０５に提供することにより、ユーザは、所望の楽曲データを容易に検索することができる。
また、楽曲データを検索する方法は、上述したように表示部２０５に表示させるデータの順番を入れ替えて検索する方法に限らず、任意の方法でよい。例えば、操作部２０４に入力した文字列と一致する文字列を含むメタ情報を検索するようにしてもよい。
【００６９】
一方、ステップＳ１０１で、ＣＰＵ２０１は、参照した判定フラグが０（ＯＦＦ）であると判別した場合（ステップＳ１０１；Ｎｏ）、処理をステップＳ１０８に移行させる。ここで、判定フラグ１１８が０（ＯＦＦ）であれば、前回、ＤＢファイル２２９の書き込みの処理は正常に終了したことを意味する。
【００７０】
以後、ＤＢファイル２２９の書き込みを正常に終了しなかった場合と同様に、ＣＰＵ２０１は、記憶部２０２に記憶されたＤＢファイル２２９を、ＲＡＭ２０３に読み出す（ステップＳ１０８）。そして、ＣＰＵ２０１は、ＲＡＭ２０３（ＶＲＡＭ）に読み出したＤＢファイル２２９の各データの内容を、表示部２０５に、例えば、図８に示すようなユーザインタフェースを提供する（ステップＳ１０９）。その後、ＣＰＵ２０１は、ＤＢファイル読み込み処理を終了する。
【００７１】
（ＤＢファイル書き込み処理）
次に、外部機器１１のＣＰＵ２０１が、記憶部２０２に格納されるＤＢファイル再構築プログラム２２５に従って、ＤＢファイル２２９にデータを書き込む「ＤＢファイル書き込み処理」（図７のステップＳ１０６に対応）について、図９のフローチャートを参照して説明する。また、ＤＢファイル書き込み処理は、データ再生装置１０が、図６のステップＳ１１で、ＤＢファイル１１７を上書きする際に実行してもよい。
【００７２】
ＣＰＵ２０１は、図７のステップＳ１０５で、ＤＢファイルを再構築する処理を実行した後、図９に示すＤＢファイル書き込み処理を開始する。
【００７３】
ＣＰＵ２０１は、記憶部２０２に格納されたＤＢファイル２２９（ステップＳ１０３で作成したブランクのＤＢファイル）を、ＲＡＭ２０３に読み込み、図３（Ａ）に示すようなＤＢファイル２２９の所定の位置（行・列）に設けた判定フラグ１１８を１（ＯＮ）にする（ステップＳ２０１）。このとき、データ再生装置１０のＤＢファイル１１７の判定フラグ１１８も併せて１（ＯＮ）にする。
【００７４】
次に、ＣＰＵ２０１は、ＤＢ１１７及びバックアップファイルとしてのＤＢファイル２２９に書き込む予定の全データ数（行数）Ｎを取得する（ステップＳ２０２）。具体的には、ＣＰＵ２０１は、図７のステップＳ１０５で再構築したＤＢファイル２２９に格納される楽曲データの総数を記憶部２０２から取得し、その総数を書き込む予定の全データ数Ｎとする。ただし、ステップＳ２０２での全データ数Ｎを取得するステップは実行しなくてもよい。
【００７５】
ＣＰＵ２０１は、ＤＢファイル１１７及びＤＢファイル２２９に書き込み完了したデータ数ｉをカウントするための記憶領域（データ数ｉを記憶する領域）をＲＡＭ２０３に用意する。
【００７６】
その後、ＣＰＵ２０１は、書き込み完了したデータ数ｉが全データ数Ｎと等しいか否かを判別する（ステップＳ２０３）。ここで、ＣＰＵ２０１は、書き込み完了したデータ数ｉが全データ数Ｎと等しくないと判別した場合（ステップＳ２０３；Ｎｏ）、ＲＡＭ２０３に格納されたデータ（メタ情報）をＤＢファイル１１７及びＤＢファイル２２９に１データ分（１行分）書き込む（ステップＳ２０４）。ＣＰＵ２０１は、ステップＳ２０３、Ｓ２０４の処理を、全データ数Ｎ分のデータをＤＢファイル１１７及びＤＢファイル２２９に書き込み終えるまで繰り返す。
【００７７】
ここで、ＣＰＵ２０１は、書き込み完了したデータ数ｉが全データ数Ｎと等しいと判別した場合に（ステップＳ２０３；Ｙｅｓ）、両方の判定フラグ１１８を０（ＯＦＦ）にする（ステップＳ２０５）。その後、ＣＰＵ２０１は、書き込み完了したＤＢファイル１１７及びＤＢファイル２２９を記憶部２０２に記憶し、ＤＢファイル書き込み処理を終了する。
【００７８】
以上に説明してきた本実施形態のデータベース修復システム１２は、ＤＢファイル１１７及びＤＢファイル２２９への書き込み開始時に、ＤＢファイル１１７及びＤＢファイル２２９に設けた判定フラグ１１８を１（ＯＮ）にし、ＤＢファイル１１７及びＤＢファイル２２９への書き込み終了時に、判定フラグ１１８を０（ＯＦＦ）にする。そして、ＤＢファイル１１７及びＤＢファイル２２９への書き込み開始時に、判定フラグ１１８を検出し、判定フラグが１（ＯＮ）であると判別した場合は、ＤＢファイル２２９を再構築する処理を実行する。ここで、外部機器１１が再構築したＤＢファイル２２９を再生データ装置１０に供給し、データ再生装置１０のＤＢファイル１１７も再構築される。これにより、本実施形態のデータベース修復システム１２は、ＤＢファイル１１７及びＤＢファイル２２９への書き込み処理が強制終了した場合であっても、次回、ＤＢ読み込みプログラム２２４起動時に、ＤＢファイル２２９、１１７を再構築する処理に移行する。
【００７９】
（実施形態２）
上記実施形態１では、ＤＢファイル１１７、２２９を再構築する処理は、外部機器１１が実行するとして説明した。しかしながら、本発明は、ＤＢファイル１１７、２２９を再構築する処理を、データ再生装置１０に実行させてもよい。
【００８０】
その場合、図２に示すデータ再生装置１０のＲＯＭ１０４に、図５に示したＤＢファイル再構築プログラム２２５、フラグ検出プログラム２２６を追加して格納するようにする。
このような構成を有するデータベース修復システム１２のシステム全体の大まかな動作について、図１０のシーケンス図を参照して説明する。
【００８１】
（データベース修復システムの全体の動作）
図１０に示すように、データベース修復システム１２のシステム全体の処理は、外部機器１１が、外部機器１１に格納されるＤＢ読み込みプログラム２２４を起動する指示信号を受信することで開始する（ステップＳ２１）。
【００８２】
外部機器１１は、データ再生装置１０に、データ再生装置１０内に格納してあるＤＢファイル１１７を要求する（ＤＢファイル読み込み処理の開始を指示する）制御信号を、ケーブル１１６を介して供給する（ステップＳ２２）。
【００８３】
一方、データ再生装置１０は、例えば、２０ｍｓ毎にタイマ割り込みを行い、供給される制御信号を検出する。データ再生装置１０は、ステップＳ２２で外部機器１１から供給された制御信号を検出したとき、この制御信号を特定する（ステップＳ２３）。
データ再生装置１０は、ステップＳ２３で特定した制御信号に基づいて、ＤＢファイル読み込み処理を開始する（ステップＳ２４）。ＤＢファイル読み込み処理を開始後、データ再生装置１０は、まず、判定フラグ１１８を参照し、ＤＢファイル１１７が正常であるか否かを判別する（ステップＳ２５）。ここで、データ再生装置１０は、ＤＢファイル１１７が正常であると判別した場合（判定フラグがＯＦＦであると判別した場合）、処理をステップＳ３２に移行させる（ステップＳ２６）。一方、データ再生装置１０は、ＤＢファイル１１７が正常でないと判別した場合（判定フラグがＯＮであると判別した場合）、外部機器１１に、ＤＢファイル１１７の再構築を要求する（ＤＢファイル１１７を再構築する処理の開始を指示する）制御信号をケーブル１１６を介して供給する（ステップＳ２７）。
【００８４】
外部機器１１は、ステップＳ２７でデータ再生装置１０から供給されたＤＢファイル１１７の再構築を指示する制御信号を受信したとき、ＤＢファイル１１７を再構築する処理を実行する（ステップＳ２８）。外部機器１１は、再構築したＤＢファイル１１７をデータ再生装置１０に送信する（ステップＳ２９）。
【００８５】
データ再生装置１０は、ステップＳ２９で再構築されたＤＢファイル１１７を受信したことを契機に、ＤＢファイル書き込み処理を開始する（ステップＳ３０）。ＤＢファイル書き込み処理を開始後、データ再生装置１０は、ステップＳ２９で受信したＤＢファイル１１７を記憶部１０２に格納する（ステップＳ３１）。以上までの処理で、データ再生装置１０内のＤＢファイル１１７は再構築される。
【００８６】
次に、データ再生装置１０は、ステップＳ２８でのＤＢファイル１１７の再構築が実行されたか否かに拘わらず、ＤＢファイル１１７のデータ内容を読み込む処理を実行する（ステップＳ３２）。その後、データ再生装置１０は、読み込んだＤＢファイル１１７を外部機器１１に、ケーブル１１６を介して送信する（ステップＳ３３）。
【００８７】
外部機器１１は、ステップＳ３３でデータ再生装置１０から送信されたＤＢファイル１１７を受信し、ＤＢファイル１１７の内容を、Ｘ  Ｗｉｎｄｏｗ  Ｓｙｓｔｅｍ等のユーザインタフェース環境を利用して、表示部２０５に表示する（ステップＳ３４）。
【００８８】
以上の一連の処理を実行するデータベース修復システム１２は、データ再生装置１０に格納されたＤＢファイル１１７を読み込むときに、ＤＢファイル１１７が正常であるか否かを判別する。そして、正常ではないと判別した場合に、ＤＢファイル１１７を再構築してからＤＢファイル１１７を読み込む。これにより、ＤＢファイル１１７の書き換え中等に、その作業が強制終了した場合であっても、ユーザの操作を必要とせずに、ＤＢファイルを復元することができる。
【００８９】
以上の図１０のシーケンス図で説明した処理は、外部機器１１のＣＰＵ２０１が、記憶部２０２に格納されるＤＢ読み込みプログラム２２４に従って、実行される。以下に、この処理について、図１１を参照して、より具体的に説明する。
【００９０】
まず、ユーザは、操作部２０４のマウスを移動させて、表示部２０５に表示された画面上のマウスカーソルをアイコンにあわせ、マウスボタンを押すことにより、ＤＢ読み込みプログラム２２４を起動する指示を与えることができる。このような、所定のプログラムを起動する指示をコンピュータに与える方法は、従来から良く知られた技術であり、他の任意の方法でもよい。例えば、キーボードから文字列を入力して、ＤＢ読み込みプログラム２２４を起動する指示を与えてもよいし、所定のタイミングで、ＤＢ読み込みプログラム２２４を起動する命令を出すプログラムを用意してもよい。
【００９１】
上述したユーザの操作に基づいて、操作部２０４は、操作に対応した制御信号をＣＰＵ２０１に供給する。このとき、ＣＰＵ２０１は、記憶部２０２に格納されるＤＢ読み込みプログラム２２４をＲＡＭ２０３に展開し、ＤＢファイル１１７を再構築するための楽曲管理処理を開始する。
【００９２】
ＣＰＵ２０１は、まず、「ＤＢファイル読み込み」の処理を開始させる為の制御信号を、ケーブル１１６を介して、データ再生装置１０へ供給する（ステップＳ３０１）。
【００９３】
その後、ＣＰＵ２０１は、データ再生装置１０が送信したＤＢファイル１１７を受信する処理を開始する制御信号が供給されるまで待機する。待機している間、図１０のシーケンス図で示したように、データ再生装置１０や、外部機器１１は、所定の処理を実行する。
【００９４】
ＣＰＵ２０１は、ＤＢファイル１１７を受信する処理を開始する制御信号を受け付けたとき、ＤＢファイル１１７を受信する処理に移行する（ステップＳ３０２）。具体的には、ＣＰＵ２０１は、ケーブル１１６を介して供給されたＤＢファイル１１７のデータを、ＲＡＭ２０３（ＶＲＡＭ）に一時的に格納する。ここで、供給されるＤＢファイル１１７のデータには、データ再生装置１０に格納されている楽曲データ１２１に付随したメタ情報等が含まれる。
【００９５】
ＣＰＵ２０１は、ＲＡＭ２０３（ＶＲＡＭ）に格納したＤＢファイル１１７のデータに基づいて、表示部２０５に、例えば、図８に示すようなユーザインタフェースを提供する（ステップＳ３０３）。具体的には、ＣＰＵ２０１は、記憶部２０２に格納されるＢＩＯＳ等に従って、表示部２０５にＤＢファイル１１７のデータを規則的に表示する。例えば、図８に示すように、メタ情報の一つであるデータ番号の順に規則的に表示部２０５に表示させてもよいし、メタ情報の一つである曲名の順に規則的に表示部２０５に表示させてもよい。このようなインタフェースを表示部２０５に提供することにより、ユーザは、所望の楽曲データを容易に検索することができる。
【００９６】
そして、ＣＰＵ２０１は、操作部２０４からＤＢ読み込みプログラム２２４を終了する指示信号を受信したとき、楽曲管理処理を終了する（ステップＳ３０４）。
【００９７】
なお、上述のユーザインタフェースや、表示部２０５への表示方法等は、１つの例であり、これに限定されるものではなく種々の変形が可能である。
【００９８】
（制御信号特定処理１、２）
次に、データ再生装置１０のＣＰＵ１０１が、ＲＯＭ１０４に格納される制御信号解析プログラム１１１に従って、操作部１０６から供給された制御信号を特定する「制御信号特定処理１、２」（図１０のステップＳ２２、Ｓ２３に対応）について、図１２、図１３のフローチャートを参照して説明する。
【００９９】
ＣＰＵ１０１は内部タイマを有し、例えば、２０ｍｓ毎の、タイマ割り込み入力により制御信号特定処理を開始する。このとき、ＣＰＵ１０１は、操作部１０６から、Ａ／Ｄコンバータ１０８を介して供給される制御信号を検出する（ステップＳ４０１）。
【０１００】
この制御信号は、指示（例えば、楽曲データを再生する指示、等）毎に異なるように割り振られた信号（例えば、操作部１０６が発生する電圧値に対応するディジタル信号）である。
ＣＰＵ１０１は、ＲＯＭ１０４に格納される図４に示す制御信号変換テーブル１１２を参照して、制御信号に対応する制御処理を特定する（ステップＳ４０２）。例えば、２．１［Ｖ］に対応する「０１００」の制御信号が供給された場合、ＣＰＵ１０１は、制御信号変換テーブル１１２を参照して、制御信号を楽曲データの再生処理と特定する。
【０１０１】
制御信号特定処理は図１３のフローチャートに移行し、ＣＰＵ１０１は、制御信号に対応する制御処理が「ＤＢファイル読み込み処理」であると特定した場合（ステップＳ５０１；Ｙｅｓ）、「ＤＢファイル読み込み処理」を実行する（ステップＳ５０２）。「ＤＢファイル読み込み処理」の詳細については、後述する。
【０１０２】
一方、ステップＳ５０１で、ＣＰＵ１０１は、制御信号に対応する制御処理が「ＤＢファイル読み込み処理」ではない処理と特定した場合（ステップＳ５０１；Ｎｏ）、他の処理（例えば、再生処理、等）を実行する（ステップＳ５０３）。その後、ＣＰＵ１０１は、制御信号特定処理を終了する。
【０１０３】
（ＤＢファイル読み込み処理）
次に、データ再生装置１０のＣＰＵ１０１が、ＲＯＭ１０４に格納されるＤＢ読み込みプログラム１２５に従って、記憶部１０２に記憶されたＤＢファイル１１７を読み込む「ＤＢファイル読み込み処理」（図１０のステップＳ３４〜Ｓ３７、Ｓ３９〜Ｓ４３に対応）について、図１４のフローチャートを参照して説明する。
【０１０４】
ＤＢファイル読み込み処理は、ＣＰＵ１０１が、制御信号に対応する制御処理が「ＤＢファイル読み込み処理」と特定することによって開始される。
【０１０５】
ＣＰＵ１０１は、まず、ＤＢファイル１１７及びフラグ検出プログラム２２６をＲＡＭ１０５に読み出す。次に、ＣＰＵ１０１は、フラグ検出プログラム２２６に従って、図３（Ａ）に示すようなＤＢファイル１１７の所定の位置（行・列）に設けた判定フラグ１１８を参照する。この判定フラグ１１８は、先に述べたように、ＤＢファイル１１７へのデータの書き込み開始時に１（ＯＮ）にされ、書き込み終了時に０（ＯＦＦ）にされる。
【０１０６】
ＣＰＵ１０１は、フラグ検出プログラム１１３に従って、参照した判定フラグが１（ＯＮ）であると判別した場合（ステップＳ６０１；Ｙｅｓ）、ＤＢファイル１１７を削除する（ステップＳ６０２）。ここで、判定フラグ１１８が１（ＯＮ）であれば、前回、ＤＢファイル１１７の書き込みの処理が正常に終了しなかったことを意味する。そこで、ＣＰＵ１０１は、正常に終了しなかったＤＢファイル１１７を削除し、ＤＢファイル１１７を再構築する処理に移行する。
ただし、ステップＳ６０２のＤＢファイル１１７を削除するステップは、この段階で実行する必要はなく、ＤＢファイル１１７の再構築が完了した後に、実行してもよい。
【０１０７】
次に、ＣＰＵ１０１は、図３（Ｂ）に示すような、ブランクのＤＢファイル１１７を新規に作成する（ステップＳ６０３）。ブランクのＤＢファイル１１７は、ＲＡＭ１０５或いは記憶部１０２に記憶される。
【０１０８】
ＣＰＵ１０１は、記憶部１０２に記憶されている全楽曲データに付随する全メタ情報をＲＡＭ１０５に読み込む（ステップＳ６０４）。ここで、ＣＰＵ１０１は、外部機器１１に、ＤＢファイル１１７の再構築を要求する（ＤＢ再構築処理の開始を指示する）制御信号を、ケーブル１１６を介して供給する。そして、ステップＳ６０４で、読み込んだメタ情報を、順次、ケーブル１１６を介して、外部機器１１に転送する（ステップＳ６０５）。
メタ情報が転送された外部機器１１は、ＤＢファイル１１７を再構築する処理「ＤＢ再構築処理」を実行する。この外部機器１１が実行する「ＤＢ再構築処理」については後述する。
【０１０９】
ＣＰＵ１０１は、外部機器１１がＤＢファイル１１７を再構築している期間、外部機器１１からの制御信号を受信するまで、待機する。ＣＰＵ１０１は、外部機器１１からＤＢファイル１１７の受信開始を指示する制御信号を受け、外部機器１１が「ＤＢ再構築処理」で再構築した後のＤＢファイル１１７を受信する（ステップＳ６０６）。ＣＰＵ１０１は、これをＲＡＭ１０５に格納する。
【０１１０】
続いて、ＣＰＵ１０１は、受信したＤＢファイル１１７のデータを、ステップＳ６０３で作成したブランクのＤＢファイル１１７に書き込む（ステップＳ６０７）。このときのＤＢファイル１１７にデータを書き込む「ＤＢファイル書き込み処理」については、後述する。また、書き込み終了後のＤＢファイル１１７は、記憶部１０２に記憶される。
【０１１１】
次に、ＣＰＵ１０１は、記憶部１０２に記憶されたＤＢファイル１１７を、ＲＡＭ１０５に読み出し（ステップＳ６０８）、外部機器１１にＤＢファイル１１７を外部機器１１に送信する（ステップＳ６０９）。その後、ＣＰＵ１０１は、ＤＢファイル読み込み処理を終了する。
【０１１２】
一方、ステップＳ６０１で、ＣＰＵ１０１は、参照した判定フラグが０（ＯＦＦ）であると判別した場合（ステップＳ６０１；Ｎｏ）、処理をステップＳ６０８に移行させる。ここで、判定フラグ１１８が０（ＯＦＦ）であれば、前回、ＤＢファイル１１７の書き込みの処理は正常に終了したことを意味する。
【０１１３】
以後、ＤＢファイル１１７の書き込みを正常に終了しなかった場合と同様に、ＣＰＵ１０１は、記憶部１０２に記憶されたＤＢファイル１１７を、ＲＡＭ１０５に読み出す（ステップＳ６０８）。そして、ＣＰＵ１０１は、外部機器１１にＤＢファイル１１７を外部機器１１に送信する（ステップＳ６０９）。その後、ＣＰＵ１０１は、ＤＢファイル読み込み処理を終了する。
【０１１４】
（ＤＢ再構築処理）
次に、外部機器１１のＣＰＵ２０１が、記憶部２０２に格納されるＤＢファイル再構築プログラム２２５に従って、ＤＢファイル１１７を再構築する「ＤＢ再構築処理」（図１０のステップＳ３７〜Ｓ３９に対応）について、図１５のフローチャートを参照して説明する。
【０１１５】
ＣＰＵ２０１は、データ再生装置１０から、ＤＢファイル１１７の再構築を要求する（ＤＢ再構築処理の開始を指示する）制御信号の供給による割り込み入力があったときに、ＤＢ再構築処理を開始する。
【０１１６】
ＣＰＵ２０１は、まず、ＲＯＭ２０２に格納されるＤＢファイル再構築プログラム２２５を、ＲＡＭ２０３に展開し、ＤＢファイル再構築プログラム２２５に従って、データ再生装置１０から、順次、送信されるメタ情報を受信し、ＲＡＭ２０３に格納する（ステップＳ７０１）。
【０１１７】
ＣＰＵ２０１は、ＲＡＭ２０３に格納したメタ情報から、データベース（ＤＢ）を再構築する（ステップＳ７０２）。具体的には、ＣＰＵ２０１は、図３（Ｂ）に示すようなブランクのＤＢファイル２２９を作成し、そのＤＢファイル２２９の各行に同一の楽曲データに付随するメタ情報を書き込む。例えば、図３（Ａ）に示すように、データ再生装置１０で格納するＤＢファイル１１７と同じ構成にする。このような構成にすることにより、ユーザは、各メタ情報をキーに、所望の楽曲データを容易に検索することができる。
【０１１８】
例えば、ＣＰＵ２０１は、操作部２０４からの入力に基づいて、ＤＢファイル１１７に記憶されるデータを、メタ情報の一つであるアーティスト名のアルファベット順に、表示部２０５に表示させる。これにより、ユーザは、容易に所望の楽曲データを見つけることが可能となる。
楽曲データを検索する方法は、表示部２０５に表示させるデータの順番を変更させる方法に限らず、任意の方法でよい。例えば、操作部２０４に入力した文字列と一致する文字列を含むメタ情報を検索するようにしてもよい。
【０１１９】
図１５に戻って、ＣＰＵ２０１は、再構築したＤＢファイル２２９を、データ再生装置１０に送信する（ステップＳ７０３）。その後、ＣＰＵ２０１は、ＤＢ再構築処理を終了する。
【０１２０】
（ＤＢファイル書き込み処理）
次に、データ再生装置１０のＣＰＵ１０１が、ＤＢファイル１１７にデータを書き込む「ＤＢファイル書き込み処理」（図１０のステップＳ３０、Ｓ３１に対応）について、図９のフローチャートを参照して説明する。
【０１２１】
ＣＰＵ１０１は、図１４のステップＳ６０６で、ＤＢファイル２２９を受信した後、図９に示す「ＤＢファイル書き込み処理」を開始する。
【０１２２】
ＣＰＵ１０１は、外部機器１１からのＤＢファイル２２９のデータを受信し、一時的にＲＡＭ１０５に格納する。
【０１２３】
次に、ＣＰＵ１０１は、記憶部１０２に格納されたブランクのＤＢファイル１１７を、ＲＡＭ１０５に読み込み、図３（Ａ）に示すようなＤＢファイル１１７の所定の位置（行・列）に設けた判定フラグ１１８を１（ＯＮ）にする（ステップＳ２０１）。
【０１２４】
次に、ＣＰＵ１０１は、ＤＢファイル１１７に書き込む予定の全データ数（行数）Ｎを取得する（ステップＳ２０２）。具体的には、ＣＰＵ１０１は、記憶部１０２に記憶されている楽曲データの総数を記憶部１０２から取得し、その総数を書き込む予定の全データ数Ｎとする。
【０１２５】
ＣＰＵ１０１は、ＤＢファイル１１７に書き込み完了したデータ数ｉをカウントするための記憶領域（データ数ｉを記憶する領域）をＲＡＭ１０４に用意する。
【０１２６】
その後、ＣＰＵ１０１は、書き込み完了したデータ数ｉが全データ数Ｎと等しいか否かを判別する（ステップＳ２０３）。ここで、ＣＰＵ１０１は、書き込み完了したデータ数ｉが全データ数Ｎと等しくないと判別した場合（ステップＳ２０３；Ｎｏ）、ＲＡＭ１０５に格納されたデータ（メタ情報）をＤＢファイル１１７に１データ分（１行分）書き込む（ステップＳ２０４）。ＣＰＵ１０１は、ステップＳ２０３、Ｓ２０４の処理を、全データ数Ｎ分のデータをＤＢファイル１１７に書き込み終えるまで繰り返す。
【０１２７】
ここで、ＣＰＵ１０１は、書き込み完了したデータ数ｉが全データ数Ｎと等しいと判別した場合に（ステップＳ２０３；Ｙｅｓ）、判定フラグ１１８を０（ＯＦＦ）にする（ステップＳ２０５）。その後、ＣＰＵ１０１は、書き込み完了したＤＢファイル１１７を記憶部１０２に記憶し、ＤＢファイル書き込み処理を終了する。
【０１２８】
以上に説明してきた本実施形態のデータベース修復システム１２は、ＤＢファイル１１７への書き込み開始時に、ＤＢファイル１１７に設けた判定フラグ１１８を１（ＯＮ）にし、ＤＢファイル１１７への書き込み終了時に、判定フラグ１１８を０（ＯＦＦ）にする。そして、ＤＢファイル１１７への書き込み開始時に、判定フラグ１１８を検出し、判定フラグが１（ＯＮ）であると判別した場合は、ＤＢファイル１１７を再構築する処理を実行する。これにより、本実施形態のデータベース修復システム１２は、ＤＢファイル１１７への書き込み処理が強制終了した場合であっても、ユーザの操作を必要とせずに、ＤＢファイル１１７を復元することができる。
【０１２９】
なお、本発明は、上記各実施形態に限定されず、種々の変形、応用が可能である。
【０１３０】
例えば、上記実施形態２において、再構築の対象とするＤＢファイル１１７は、データ再生装置１０に格納されるＤＢファイル１１７に限っていた。しかし、本発明は、これに限定されず、外部機器１１にデータ再生装置１０と同一のＤＢファイル２２９を記憶しておき、外部機器１１に記憶されるＤＢファイル２２９への書き込み処理が正常に終了しなかった場合に、このＤＢファイル２２９に対して再構築処理を実行するようにしてもよい。これにより、データ再生装置１０と外部機器１１に記憶されるＤＢファイル２２９を、同一のファイルとして維持することも可能である。
【０１３１】
また、上記各実施形態において、データ再生装置１０と外部機器１１は、ケーブル１１６により接続され、制御信号等のデータを交換していた。しかし、本発明は、これに限定されず、一般的な通信手段であるＴＣＰ／ＩＰ（トランスミッション・コントロール・プロトコル／インターネット・プロトコル）等を利用して交換してもよい。さらに、他のプロトコルが使用されてもよい。また、ローカル・エリア・ネットワークや、ワイド・エリア・ネットワーク等のネットワークを利用してデータを交換するようにしてもよい。バーチャル・プライベート・ネットワーク（ＶＰＮ）やワイヤレス接続のような通信手段も同じように使用可能である。
【０１３２】
さらに、上記各実施形態において、記憶部１０２、記憶部２０２に格納される複数の楽曲データ１２１が、追加、或いは、削除されたときに、ＣＰＵ１０１、ＣＰＵ２０１は、追加された楽曲データ１２１、或いは、削除された楽曲データ１２１に付随したメタ情報を読み出すようにしてもよい。この際、ＣＰＵ１０１、ＣＰＵ２０１は、読み出したメタ情報に対応するデータをＤＢファイル１１７、ＤＢファイル２２９に追加、或いは、削除して更新するようにする。
【０１３３】
また、上記実施形態１において、判定フラグ１１８を０（ＯＦＦ）にするタイミングは、ステップＳ２０５のタイミングで実行する必要はない。例えば、生成されたＤＢファイル２２９をデータ再生装置１０に改めて送信し、データ再生装置１０がＤＢファイル１１７を更新し終えた後に、ＤＢファイル２２９の判定フラグ１１８を０（ＯＦＦ）にしてもよい。これにより、外部機器１１からデータ再生装置１０にＤＢファイル２２９を転送中に、処理が強制終了しても、次回、ＤＢファイル読み込みプログラム２２４起動時に、ＤＢファイル２２９、１１７を再構築する処理に移行する。
【０１３４】
また、上記実施形態２において、データベース修復システム１２は、外部機器１１が再構築したＤＢファイル１１７を、データ再生装置１０に送信し、さらに、外部機器１１に転送するようにしていた。しかし、本発明はこれに限定されず、ＤＢファイル２２９を外部機器１１が再構築した場合は、外部機器１１は、再構築したＤＢファイル２２９に基づいて、そのまま表示部２０５にユーザインタフェースを提供する処理に移行するようにしてもよい。
【０１３５】
さらに、上各実施形態において、ＣＰＵ１０１、ＣＰＵ２０１が実行するプログラムは、予めＲＯＭ１０４、記憶部２０２に記憶されていた。しかしながら、本発明は、これに限定されず、上述の処理を実行させるためのプログラムを、既存のデータ再生装置に適用することで、上記実施形態にかかる制御と同様の制御を実行可能としてもよい。このようなプログラムの提供方法は任意であり、例えば、インターネットなどの通信媒体を介して提供可能である他、例えば、メモリカードなどの記録媒体に格納して配布してもよい。
【図面の簡単な説明】
【０１３６】
【図１】本発明の各実施形態に係るデータベース修復システムの構成の一例を示すブロック図である。
【図２】本発明の各実施形態１に係るデータ再生装置の構成の一例を示すブロック図である。
【図３】（Ａ）は、ＤＢ（データベース）ファイルの一例を示す図である。（Ｂ）は、ブランクのＤＢファイルの一例を示す図である。
【図４】データ再生装置に格納される制御信号変換テーブルである。（Ｂ）は、外部機器に格納される制御信号変換テーブルである。
【図５】本発明の実施形態１に係る外部機器の構成の一例を示すブロック図である。
【図６】本発明の実施形態１に係るデータベース修復システムの全体の動作を説明するための図である。
【図７】本発明の実施形態１に係るデータベース修復システムが実行するＤＢファイル再構築指示信号受信をすることによって開始する処理を説明するためのフローチャートである。
【図８】本発明の各実施形態に係るＤＢ（データベース）ファイルの内容（リスト）を表示する表示例を示す図である。
【図９】本発明の実施形態１に係るデータベース修復システムが実行するＤＢファイル書き込み処理を説明するためのフローチャートである。
【図１０】本発明の実施形態２に係るデータベース修復システムの全体の動作を説明するための図である。
【図１１】本発明の実施形態２に係るデータベース修復システムが実行する、楽曲管理プログラム起動の指示信号を受信することによって開始する楽曲管理処理を説明するためのフローチャートである。
【図１２】本発明の実施形態２に係るデータベース修復システムが実行する、タイマ割り込み入力によって開始する制御信号特定処理１を説明するフローチャートである。
【図１３】本発明の実施形態２に係るデータベース修復システムが実行する、制御信号特定処理１につづいて処理する制御信号特定処理２を説明するフローチャートである。
【図１４】本発明の実施形態２に係るデータベース修復システムが実行する、制御信号に対応する制御処理を「ＤＢファイル読み込み処理」と特定した場合の、ＤＢファイル読み込み処理を説明するフローチャートである。
【図１５】本発明の実施形態２に係るデータベース修復システムが実行する、ＤＢ再構築を指示する制御信号が供給されることによって開始するＤＢ再構築処理を説明するフローチャートである。
【符号の説明】
【０１３７】
１０      データ再生装置
１１      外部機器
１２      データベース修復システム
１０１    ＣＰＵ（データ再生装置）
１０２    記憶部（データ再生装置）
１０３    表示部（データ再生装置）
１０４    ＲＯＭ（データ再生装置）
１０５    ＲＡＭ（データ再生装置）
１０６    操作部（データ再生装置）
１０８    Ａ／Ｄコンバータ（データ再生装置）
１１１    制御信号解析プログラム
１１２    制御信号変換テーブル
１２５    ＤＢ読み込みプログラム
１１７    ＤＢファイル（データ再生装置）
１１８    判定フラグ
２０１    ＣＰＵ（外部機器）
２０２    記憶部（外部機器）
２０３    ＲＡＭ（外部機器）
２０４    操作部（外部機器）
２０５    表示部（外部機器）
２０８    電源
２２４    ＤＢ読み込みプログラム
２２５    ＤＢファイル再構築プログラム
２２６    フラグ検出プログラム
２２９    ＤＢファイル（外部機器）
【図１】
2007172297.tif 000003
【図２】
2007172297.tif 000004
【図３】
2007172297.tif 000005
【図４】
2007172297.tif 000006
【図５】
2007172297.tif 000007
【図６】
2007172297.tif 000008
【図７】
2007172297.tif 000009
【図８】
2007172297.tif 000010
【図９】
2007172297.tif 000011
【図１０】
2007172297.tif 000012
【図１１】
2007172297.tif 000013
【図１２】
2007172297.tif 000014
【図１３】
2007172297.tif 000015
【図１４】
2007172297.tif 000016
【図１５】
2007172297.tif 000017