(57)【要約】本発明は、クライアント端末ＣＴにおいて、更新情報提供サーバ３から最新バージョンのプログラム及びスキーマ変更指示ファイルＳＦを受信してプログラムをバージョンアップした後、スキーマ変更指示ファイルＳＦの指標情報ＳＤとスキーマ変更ログファイルＳＬの指標情報ＳＤＬとを比較して現在のスキーマのバージョンを認識し、現在のスキーマをバージョンアップする必要があると判断した場合には、スキーマ変更指示ファイルＳＦに基づいてスキーマを自動的に変更するようにしたことにより、常にデータベーススキーマが最新のバージョンとなるように当該データベーススキーマを自動的に更新することができる。
2005029332.tif 000002
【特許請求の範囲】
【請求項１】
実装されるプログラムの更新情報及びデータベーススキーマの更新情報を更新情報提供装置に要求する要求ステップと、
上記要求に応じて上記更新情報提供装置から送信される上記プログラムの更新情報及びデータベーススキーマの更新情報を受信する受信ステップと、
上記プログラムの更新情報に応じて上記プログラムを更新するプログラム更新ステップと、
上記データベーススキーマの更新情報に基づいて上記プログラムが利用するデータベーススキーマのバージョンと実装されているデータベーススキーマのバージョンとを比較する比較ステップと、
上記比較の結果をもとに上記実装されているデータベーススキーマを更新する必要があると判断した場合に、上記データベーススキーマの更新情報に基づいて当該実装されているデータベーススキーマを更新するデータベーススキーマ更新ステップと
を具えることを特徴とするデータベーススキーマ更新方法。
【請求項２】
上記データベーススキーマ更新ステップでは、
上記データベーススキーマを更新する間、上記プログラムからの上記データベースへのアクセスを禁止する
ことを特徴とする請求の範囲第１項に記載のデータベーススキーマ更新方法。
【請求項３】
上記データベーススキーマ更新ステップでは、
上記データベーススキーマを更新する間、上記プログラム内のアプリケーションからの上記データベースへのアクセスを禁止する
ことを特徴とする請求の範囲第２項に記載のデータベーススキーマ更新方法。
【請求項４】
上記データベーススキーマ更新ステップでは、
上記プログラムが上記データベースにアクセス中であった場合には、上記データベーススキーマの更新を禁止する
ことを特徴とする請求の範囲第１項に記載のデータベーススキーマ更新方法。
【請求項５】
上記データベーススキーマ更新ステップでは、
上記プログラム内のアプリケーションが上記データベースにアクセス中であった場合には、上記データベーススキーマの更新を禁止する
ことを特徴とする請求の範囲第４項に記載のデータベーススキーマ更新方法。
【請求項６】
上記データベーススキーマ更新ステップでは、
上記データベーススキーマを更新する際、データベースに対して発行されるコマンド毎に、ログ情報を記録する
ことを特徴とする請求の範囲第１項に記載のデータベーススキーマ更新方法。
【請求項７】
実装されるプログラムの更新情報及びデータベーススキーマの更新情報を更新情報提供装置に要求する要求手段と、
上記要求に応じて上記更新情報提供装置から送信される上記プログラムの更新情報及びデータベーススキーマの更新情報を受信する受信手段と、
上記プログラムの更新情報に応じて上記プログラムを更新するプログラム更新手段と、
上記データベーススキーマの更新情報に基づいて上記プログラムが利用するデータベーススキーマのバージョンと実装されているデータベーススキーマのバージョンとを比較する比較手段と、
上記比較の結果をもとに上記実装されているデータベーススキーマを更新する必要があると判断した場合に、上記データベーススキーマの更新情報に基づいて当該実装されているデータベーススキーマを更新するデータベーススキーマ更新手段と
を具えることを特徴とする通信端末装置。
【請求項８】
通信端末装置が実装するためのプログラムの更新情報及びデータベーススキーマの更新情報を記憶する記憶ステップと、
上記通信端末装置から上記プログラムの更新情報及びデータベーススキーマの更新情報を要求された場合に、当該通信端末装置に対して当該プログラムの更新情報及びデータベーススキーマの更新情報を送信する送信ステップとを具え、
上記通信端末装置に対して、上記プログラムの更新情報に応じて上記プログラムを更新させると共に、上記データベーススキーマの更新情報に基づいて上記プログラムが利用するデータベーススキーマのバージョンと実装されているデータベーススキーマのバージョンとを比較させて、当該比較の結果をもとに上記実装されているデータベーススキーマを更新する必要があると判断した場合に、上記データベーススキーマの更新情報に基づいて当該実装されているデータベーススキーマを更新させる
ことを特徴とする更新情報提供方法。
【請求項９】
通信端末装置が実装するためのプログラムの更新情報及びデータベーススキーマの更新情報を記憶する記憶手段と、
上記通信端末装置から上記プログラムの更新情報及びデータベーススキーマの更新情報を要求された場合に、当該通信端末装置に対して当該プログラムの更新情報及びデータベーススキーマの更新情報を送信する送信手段とを具え、
上記通信端末装置に対して、上記プログラムの更新情報に応じて上記プログラムを更新させると共に、上記データベーススキーマの更新情報に基づいて上記プログラムが利用するデータベーススキーマのバージョンと実装されているデータベーススキーマのバージョンとを比較させて、当該比較の結果をもとに上記実装されているデータベーススキーマを更新する必要があると判断した場合に、上記データベーススキーマの更新情報に基づいて当該実装されているデータベーススキーマを更新させる
ことを特徴とする更新情報提供装置。
【請求項１０】
情報処理装置に対して、
実装されるプログラムの更新情報及びデータベーススキーマの更新情報を更新情報提供装置に要求する要求ステップと、
上記要求に応じて上記更新情報提供装置から送信される上記プログラムの更新情報及びデータベーススキーマの更新情報を受信する受信ステップと、
上記プログラムの更新情報に応じて上記プログラムを更新するプログラム更新ステップと、
上記データベーススキーマの更新情報に基づいて上記プログラムが利用するデータベーススキーマのバージョンと実装されているデータベーススキーマのバージョンとを比較する比較ステップと、
上記比較の結果をもとに上記実装されているデータベーススキーマを更新する必要があると判断した場合に、上記データベーススキーマの更新情報に基づいて当該実装されているデータベーススキーマを更新するデータベーススキーマ更新ステップと
を実行させるためのデータベーススキーマ更新プログラム。
【請求項１１】
情報処理装置に対して、
通信端末装置が実装するためのプログラムの更新情報及びデータベーススキーマの更新情報を記憶する記憶ステップと、
上記通信端末装置から上記プログラムの更新情報及びデータベーススキーマの更新情報を要求された場合に、当該通信端末装置に対して当該プログラムの更新情報及びデータベーススキーマの更新情報を送信する送信ステップとを実行させ、
上記通信端末装置に対して、上記プログラムの更新情報に応じて上記プログラムを更新させると共に、上記データベーススキーマの更新情報に基づいて上記プログラムが利用するデータベーススキーマのバージョンと実装されているデータベーススキーマのバージョンとを比較させて、当該比較の結果をもとに上記実装されているデータベーススキーマを更新する必要があると判断した場合に、上記データベーススキーマの更新情報に基づいて当該実装されているデータベーススキーマを更新させる
ための更新情報提供プログラム。
【発明の詳細な説明】
【技術分野】  本発明は、データベーススキーマ更新方法に関し、例えば通信端末装置に構築されたデータベーススキーマを更新する場合に適用して好適なものである。
【背景技術】  従来、新たなデータを格納するためのテーブルやカラム等をデータベースに追加するために行われるデータベーススキーマの更新作業は、データベースの管理者が当該データベースを利用しているシステム全体を停止させてから、あるいは当該システムをバックアップシステムへ切り換えてから実行するようになされている。
ところで近年、データベースは、サーバのみならず、ネットワークに接続されたノートブック型パーソナルコンピュータやＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔ）等の各種通信端末装置にも構築されている。これらの通信端末装置に構築されたデータベーススキーマの更新作業は、当該通信端末装置のユーザが手動で実行しなければならない。
そこで、必要に応じてデータベーススキーマをネットワークを介して通信端末装置に提供し、通信端末装置がデータベーススキーマを自動的に切り換えるような方法が提案されている（例えば特許文献１参照）。
【特許文献１】特開２０００−２６８０５４公報。
しかしながら、かかる方法においても、既存のデータベースに既存のデータを保持したままではテーブルやカラム等を追加することはできず、結局のところ既存のデータベーススキーマをユーザが手動で更新する必要があった。
このため、ユーザがデータベーススキーマを更新し忘れると、例えば、ネットワークを介して通信端末装置に提供される情報に新たなテーブルやカラムに反映すべき情報が追加されていたとしても、その追加された情報をデータベースの既存のテーブルやカラムに反映することができないという問題があった。
【発明の開示】
本発明は以上の点を考慮してなされたもので、常にデータベーススキーマのバージョンが最新となるように当該データベーススキーマを自動的に更新し得るデータベーススキーマ更新方法を提案しようとするものである。
かかる課題を解決するため本発明のデータベーススキーマ更新方法においては、実装されるプログラムの更新情報及びデータベーススキーマの更新情報を更新情報提供装置に要求する要求ステップと、要求に応じて更新情報提供装置から送信されるプログラムの更新情報及びデータベーススキーマの更新情報を受信する受信ステップと、プログラムの更新情報に応じてプログラムを更新するプログラム更新ステップと、データベーススキーマの更新情報に基づいてプログラムが利用するデータベーススキーマのバージョンと実装されているデータベーススキーマのバージョンとを比較する比較ステップと、比較の結果をもとに実装されているデータベーススキーマを更新する必要があると判断した場合に、データベーススキーマの更新情報に基づいて当該実装されているデータベーススキーマを更新するデータベーススキーマ更新ステップとを設けるようにした。
このように、データベーススキーマの更新情報をもとに、実装されているデータベーススキーマのバージョンを認識して、当該データベーススキーマのバージョンを更新する必要がある場合には、自動的にデータベーススキーマを更新するようにしたことにより、常にデータベーススキーマが最新のバージョンとなるように当該データベーススキーマを自動的に更新することができる。
また本発明の通信端末装置においては、実装されるプログラムの更新情報及びデータベーススキーマの更新情報を更新情報提供装置に要求する要求手段と、要求に応じて更新情報提供装置から送信されるプログラムの更新情報及びデータベーススキーマの更新情報を受信する受信手段と、プログラムの更新情報に応じてプログラムを更新するプログラム更新手段と、データベーススキーマの更新情報に基づいてプログラムが利用するデータベーススキーマのバージョンと実装されているデータベーススキーマのバージョンとを比較する比較手段と、比較の結果をもとに実装されているデータベーススキーマを更新する必要があると判断した場合に、データベーススキーマの更新情報に基づいて当該実装されているデータベーススキーマを更新するデータベーススキーマ更新手段とを設けるようにした。
このように、データベーススキーマの更新情報をもとに、実装されているデータベーススキーマのバージョンを認識して、当該データベーススキーマのバージョンを更新する必要がある場合には、自動的にデータベーススキーマを更新するようにしたことにより、常にデータベーススキーマが最新のバージョンとなるように当該データベーススキーマを自動的に更新することができる。
さらに本発明の更新情報提供方法においては、通信端末装置が実装するためのプログラムの更新情報及びデータベーススキーマの更新情報を記憶する記憶ステップと、通信端末装置からプログラムの更新情報及びデータベーススキーマの更新情報を要求された場合に、当該通信端末装置に対して当該プログラムの更新情報及びデータベーススキーマの更新情報を送信する送信ステップとを設け、通信端末装置に対して、プログラムの更新情報に応じてプログラムを更新させると共に、データベーススキーマの更新情報に基づいてプログラムが利用するデータベーススキーマのバージョンと実装されているデータベーススキーマのバージョンとを比較させて、当該比較の結果をもとに実装されているデータベーススキーマを更新する必要があると判断した場合に、データベーススキーマの更新情報に基づいて当該実装されているデータベーススキーマを更新させるようにした。
このように、データベーススキーマの更新情報をもとに、実装されているデータベーススキーマのバージョンを認識して、当該データベーススキーマのバージョンを更新する必要がある場合には、自動的にデータベーススキーマを更新するようにしたことにより、プログラムに合わせて常にデータベーススキーマが最新のバージョンとなるように当該データベーススキーマを自動的に更新することができる。
さらに本発明の更新情報提供装置においては、通信端末装置が実装するためのプログラムの更新情報及びデータベーススキーマの更新情報を記憶する記憶手段と、通信端末装置からプログラムの更新情報及びデータベーススキーマの更新情報を要求された場合に、当該通信端末装置に対して当該プログラムの更新情報及びデータベーススキーマの更新情報を送信する送信手段とを設け、通信端末装置に対して、プログラムの更新情報に応じてプログラムを更新させると共に、データベーススキーマの更新情報に基づいてプログラムが利用するデータベーススキーマのバージョンと実装されているデータベーススキーマのバージョンとを比較させて、当該比較の結果をもとに実装されているデータベーススキーマを更新する必要があると判断した場合に、データベーススキーマの更新情報に基づいて当該実装されているデータベーススキーマを更新させるようにした。
このように、データベーススキーマの更新情報をもとに、実装されているデータベーススキーマのバージョンを認識して、当該データベーススキーマのバージョンを更新する必要がある場合には、自動的にデータベーススキーマを更新するようにしたことにより、常にデータベーススキーマが最新のバージョンとなるように当該データベーススキーマを自動的に更新することができる。
さらに本発明のデータベーススキーマ更新プログラムにおいては、情報処理装置に対して、実装されるプログラムの更新情報及びデータベーススキーマの更新情報を更新情報提供装置に要求する要求ステップと、要求に応じて更新情報提供装置から送信されるプログラムの更新情報及びデータベーススキーマの更新情報を受信する受信ステップと、プログラムの更新情報に応じてプログラムを更新するプログラム更新ステップと、データベーススキーマの更新情報に基づいてプログラムが利用するデータベーススキーマのバージョンと実装されているデータベーススキーマのバージョンとを比較する比較ステップと、比較の結果をもとに実装されているデータベーススキーマを更新する必要があると判断した場合に、データベーススキーマの更新情報に基づいて当該実装されているデータベーススキーマを更新するデータベーススキーマ更新ステップとを実行させるようにした。
このように、データベーススキーマの更新情報をもとに、実装されているデータベーススキーマのバージョンを認識して、当該データベーススキーマのバージョンを更新する必要がある場合には、自動的にデータベーススキーマを更新するようにしたことにより、常にデータベーススキーマが最新のバージョンとなるように当該データベーススキーマを自動的に更新することができる。
さらに本発明の更新情報提供プログラムにおいては、情報処理装置に対して、通信端末装置が実装するためのプログラムの更新情報及びデータベーススキーマの更新情報を記憶する記憶ステップと、通信端末装置からプログラムの更新情報及びデータベーススキーマの更新情報を要求された場合に、当該通信端末装置に対して当該プログラムの更新情報及びデータベーススキーマの更新情報を送信する送信ステップとを実行させ、通信端末装置に対して、プログラムの更新情報に応じてプログラムを更新させると共に、データベーススキーマの更新情報に基づいてプログラムが利用するデータベーススキーマのバージョンと実装されているデータベーススキーマのバージョンとを比較させて、当該比較の結果をもとに実装されているデータベーススキーマを更新する必要があると判断した場合に、データベーススキーマの更新情報に基づいて当該実装されているデータベーススキーマを更新させるようにした。
このように、データベーススキーマの更新情報をもとに、実装されているデータベーススキーマのバージョンを認識して、当該データベーススキーマのバージョンを更新する必要がある場合には、自動的にデータベーススキーマを更新するようにしたことにより、常にデータベーススキーマが最新のバージョンとなるように当該データベーススキーマを自動的に更新することができる。
本発明によれば、データベーススキーマの更新情報をもとに実装されているデータベーススキーマのバージョンを認識して、当該データベーススキーマのバージョンを更新する必要がある場合には、自動的にデータベーススキーマを更新するようにしたことにより、常にデータベーススキーマが最新のバージョンとなるように当該データベーススキーマを自動的に更新することができ、かくして常にデータベーススキーマのバージョンが最新となるように当該データベーススキーマを自動的に更新し得るデータベーススキーマ更新方法、通信端末装置、更新情報提供方法、更新情報提供装置、データベーススキーマ更新プログラム及び更新情報提供プログラムを実現できる。
【図面の簡単な説明】  図１は、本発明の情報提供システムの全体構成を示す略線図である。
図２は、ラジオ局の構成を示す略線的ブロック図である。
図３は、関連情報提供サーバの構成を示す略線的ブロック図である。
図４は、更新情報提供サーバの構成を示す略線的ブロック図である。
図５は、クライアント端末の回路構成を示す略線的ブロック図である。
図６は、コンテンツのディレクトリ管理の説明に供する略線図である。
図７は、クライアント端末のプログラムモジュールを示す略線図である。
図８は、ラジオ番組の楽曲に関連した楽曲情報の取得処理シーケンスを示す略線図である。
図９は、クライアント端末のプログラム構成を示す略線図である。
図１０は、スキーマ変更処理の概要を示す略線図である。
図１１は、スキーマ変更処理手順を示すフローチャートである。
図１２は、スキーマ変更指示ファイルの構成を示す略線図である。
図１３は、スキーマ変更ログファイルの構成を示す略線図である。
図１４は、スキーマ変更指示ファイルに基づくスキーマの変更例を示す略線図である。
図１５は、スキーマ変更処理時における排他制御処理の概要を示す略線図である。
図１６は、スキーマ変更処理時の排他制御処理手順を示すアローチャートである。
図１７は、アプリケーション実行時の排他制御処理手順を示すアローチャートである。
【符号の説明】
１……情報提供システム、２……ネットワーク、３……更新情報提供サーバ、ＣＴ……クライアント端末、ＫＳ……関連情報提供サーバ、ＲＳ……ラジオ局、ＳＦ……スキーマ変更指示ファイル、ＳＬ……スキーマ変更ログファイル
【発明を実施するための最良の形態】  以下、図面について、本発明の一実施の形態を詳述する。
（１）情報提供システムの全体構成
図１に示すように、１は全体として本発明を構成する情報提供システムを示し、クライアント端末ＣＴはラジオ局ＲＳからの放送を受信する。
また情報提供システム１では、当該ラジオ局ＲＳと専用線接続されたコンピュータ構成の関連情報提供サーバＫＳがラジオ局ＲＳに代わって当該ラジオ局ＲＳのホームページを開設しており、クライアント端末ＣＴからの取得要求に応じて当該ラジオ局ＲＳで放送した楽曲に関連する楽曲情報を関連情報としてインターネット等のネットワーク２を介して提供し得るようになされている。
さらに情報提供システム１には、ネットワーク２を介して更新情報提供サーバ３が接続されており、当該更新情報提供サーバ３は、クライアント端末ＣＴからの要求に応じてプログラム等の各種更新情報を、ネットワーク２を介してクライアント端末ＣＴへ提供するようになされている。
そしてクライアント端末ＣＴは、更新情報提供サーバ３から提供された更新情報に基づいて自身のプログラムをバージョンアップ等するようになされている。
（１−１）ラジオ局ＲＳの構成
図２に示すようにラジオ局ＲＳは、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）でなる制御部７０がＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）７１及びＲＡＭ７２（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）を介して起動したＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）等の基本プログラム及び各種アプリケーションプログラムに基づいて全体を統括制御し、番組送出部７３からアンテナ７４を介してクライアント端末ＣＴへラジオ番組を放送する番組放送処理等を行うようになされている。
またラジオ局ＲＳは、コンテンツデータベース７４に番組の中で放送する楽曲のコンテンツや予め収録しておいた番組のコンテンツを多数所有しており、当該番組を番組表に従って放送したり、その番組の中で必要に応じて楽曲のコンテンツを放送する。
そのときラジオ局ＲＳは、番組の中で楽曲を放送した旨をデータ通信処理部７６を介して関連情報提供サーバＫＳへ通知したり、また現在何の番組を放送しているのかを関連情報提供サーバＫＳへ通知するようになされている。
（１−２）関連情報提供サーバの構成
図３に示すように関連情報提供サーバＫＳは、ＣＰＵでなる制御部９０がＲＯＭ９１及びＲＡＭ９２を介して起動したＯＳ等の基本プログラム及び各種アプリケーションプログラムに基づいて全体の制御や所定の演算処理等を行うようになされている。
この関連情報提供サーバＫＳは、例えばラジオ局ＲＳによって番組の中で放送された楽曲に関連した楽曲情報を楽曲情報データベース９３から探し出し、これを関連情報としてデータ通信処理部９５を介してクライアント端末ＣＴへ提供するようになされている。
また関連情報提供サーバＫＳは、ラジオ局ＲＳによって放送された番組に関連する例えば出演者、ＤＪ名、ジャンル等の番組情報を番組情報データベース９４から探し出し、これを関連情報としてデータ通信処理部９５を介してクライアント端末ＣＴへ提供するようになされている。
（１−３）更新情報提供サーバの構成
図４に示すように更新情報提供サーバ３は、ＣＰＵでなる制御部１００がＲＯＭ１０１及びＲＡＭ１０２を介して起動したＯＳ等の基本プログラムや更新情報提供プログラム等に基づいて全体の制御や所定の演算処理等を行うようになされている。
この更新情報提供サーバ３は、クライアント端末ＣＴからの要求に応じてハードディスクドライブ１０３に格納してある更新情報の中から、当該要求に応じた更新情報を選別し、この更新情報をデータ通信処理部１０４を介してクライアント端末ＣＴへ提供するようになされている。
（１−４）クライアント端末ＣＴの回路構成
図５に示すようにクライアント端末ＣＴのＣＰＵ１１は、バス１２を介して接続されたＲＯＭ１３から読み出してＲＡＭ２０に展開したＯＳ等の基本プログラム及び各種アプリケーションプログラムに基づき全体の制御や所定の演算処理等を行うようになされており、例えばネットワーク２を介した通信動作、ユーザからの入出力操作、メディアからのコンテンツ再生やラジオ局ＲＳからダウンロードしたコンテンツのハードディスクドライブ（ＨＤＤ）２１への書き込み及びその管理等を実行する。
操作入力部１５は、本体部の筐体表面やリモートコントローラ（図示せず）の各種操作子に対するユーザの操作に応じた入力情報を入力処理部１４へ送出し、当該入力処理部１４で所定の処理を施した後に操作コマンドとしてＣＰＵ１１へ送出し、当該ＣＰＵ１１で操作コマンドに応じた処理を実行するようになされている。
ディスプレイ１７は、例えば液晶ディスプレイ等の表示デバイスが本体部の筐体表面に直接取り付けられている場合や、外付けの表示デバイスであってもよく、ＣＰＵ１１による処理結果や各種情報を表示するようになされている。
メディアドライブ１９は、例えばＣＤ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ）や、フラッシュメモリ等でなるメモリースティック（登録商標）を再生するドライブであって、再生結果をオーディオデータ処理部２４を介してディジタルアナログ変換処理した後に２ｃｈのスピーカ２５から出力するようになされている。
なおＣＰＵ１１は、メディアドライブ１９を介して再生したデータが楽曲のオーディオコンテンツである場合、オーディオデータファイルとしてハードディスクドライブ２１に記憶することも可能である。
さらにＣＰＵ１１は、メディアドライブ１９によってメモリスティックに記憶された複数枚の静止画を読み出し、これらを表示処理部１６を介してディスプレイ１７にスライドショーとして表示することもできる。
またＣＰＵ１１は、ハードディスクドライブ２１に記憶した複数の楽曲をランダムアクセスで読み出し、あたかもジュークボックスのようにユーザ所望の順番で再生して出力することも可能である。
チューナ部２７は、例えばＡＭ、ＦＭラジオチューナであって、ＣＰＵ１１の制御に基づいてアンテナ２６で受信した放送信号を復調し、その結果を放送音声としてオーディオデータ処理部２４を介してスピーカ２５から出力する。
通信処理部２２は、ＣＰＵ１１の制御に基づいて送信データのエンコード処理を行い、ネットワークインタフェース２３を介してネットワーク２経由で外部のネットワーク対応機器へ送信したり、当該ネットワークインタフェース２３を介して外部のネットワーク対応機器から受信した受信データのデコード処理を行い、ＣＰＵ１１へ転送するようになされている。
（１−５）コンテンツのディレクトリ管理
クライアント端末ＣＴのＣＰＵ１１は、ハードディスクドライブ２１に対して記憶するコンテンツを、図６に示すディレクトリ構成で管理するようになされている。まず「ｒｏｏｔ」ディレクトリの下層に対しては、規定範囲内での任意の数の「ｆｏｌｄｅｒ」ディレクトリが作成される。この「ｆｏｌｄｅｒ」ディレクトリは、例えばコンテンツが属するジャンル、又は所有ユーザなどに対応して作成されるようになされている。
この「ｆｏｌｄｅｒ」ディレクトリの下層には、規定範囲内での任意の数の「ａｌｂｕｍ」ディレクトリが作成され、当該「ａｌｂｕｍ」ディレクトリは例えば１つのアルバムタイトルごとに対応するようになされている。この「ａｌｂｕｍ」ディレクトリの下層においては、その「ａｌｂｕｍ」ディレクトリに属するとされる１以上の「ｔｒａｃｋ」ファイルが格納され、この「ｔｒａｃｋ」ファイルが１つの楽曲すなわちコンテンツとなるものである。
このようなコンテンツについてのディレクトリ管理は、ハードディスクドライブ２１に記憶されているデータベースファイルによって行われるようになされている。
（１−６）クライアント端末ＣＴのプログラムモジュール構成
図７に示すようにクライアント端末ＣＴのプログラムモジュールとしては、ＯＳ上で動作するようになされており、具体的にはＣＤの物販を行うＣＤ販売業者サーバ３１、インターネットラジオサーバ３２、音楽配信運営サーバ３３、総合サービスサーバ３４、関連情報提供サーバＫＳ及び他の各種サーバとの間でやりとりを行う。なお、上述の更新情報提供サーバ３は、総合サービスサーバ３４に含まれるものとする。
ＨＴＴＰ（Ｈｙｐｅｒ  Ｔｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）メッセージプログラム３６は、ＣＤ販売業者サーバ３１、インターネットラジオサーバ３２、音楽配信運営サーバ３３、各種総合サービスを行う総合サービスサーバ３４及び関連情報提供サーバＫＳ等の各種サーバとの間のやりとりをＨＴＴＰ通信で行うものであり、コミュニケータプログラム３７は、ＨＴＴＰメッセージプログラム３６とデータのやりとりを行うプログラムモジュールである。
コミュニケータプログラム３７の上位には、コンテンツのコーデックを解釈して再生するコンテンツ再生モジュール３８、著作権保護に関する情報を取り扱う著作権保護情報管理モジュール３９が位置し、そのコンテンツ再生モジュール３８、著作権保護情報管理モジュール３９に対してインターネットラジオの選局及び再生を行うインターネットラジオ選局再生モジュール４３、楽曲購入及び試聴曲の再生を司る楽曲購入再生モジュール４４がそれぞれ位置している。
それらインターネットラジオ選局再生モジュール４３、楽曲購入再生モジュール４４の上位にはＸＭＬ（ｅＸｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）ブラウザ５０が位置し、各種サーバからのＸＭＬファイルを解釈し、ディスプレイ１７に対して画面表示を行う。
例えば、ＸＭＬブラウザ５０を介してユーザに選択された楽曲は楽曲購入再生モジュール４４で購入され、ハードディスクコンテンツコントローラ４２を介してハードディスクドライブ２１に書き込まれる。
なおコミュニケータプログラム３７には、ライブラリ４７の認証ライブラリ４７Ａが接続されており、当該認証ライブラリ４７Ａによって総合サービスサーバ３４やその他の各種サーバの認証処理を行うようになされている。
さらにコミュニケータプログラム３７の上位には、データベースアクセスモジュール４０、コンテンツデータアクセスモジュール４１及びハードディスクコンテンツコントローラ４２が位置する。
このデータベースアクセスモジュール４０は、ハードディスクドライブ２１に構築された各種データベースにアクセスし、コンテンツデータアクセスモジュール４１はハードディスクドライブ２１に格納されたコンテンツにアクセスし、ハードディスクコンテンツコントローラ４２はハードディスクドライブ２１に格納されたコンテンツを管理するようになされている。
ハードディスクコンテンツコントローラ４２の上位には、ラジオ局ＲＳが放送した楽曲のタイトル及びアーティスト名を表示するための関連情報表示モジュール４５及びラジオ局ＲＳを選局したり、当該ラジオ局ＲＳから受信した楽曲のコンテンツをハードディスクドライブ２１に録音するチューナ選局再生／録音モジュール４６が位置している。
例えば、オーディオユーザインタフェース５１を介して選局されたラジオ局ＲＳから受信した楽曲は、コンテンツデータアクセスモジュール４１を介してハードディスクドライブ２１へ書き込まれるようになされている。
関連情報表示モジュール４５は、チューナ選局再生／録音モジュール４６によって現在ラジオ局ＲＳが放送している楽曲のタイトルやアーティスト名を関連情報として関連情報提供サーバＫＳからＨＴＴＰメッセージ３６経由で受信し、これをオーディオユーザインタフェース（ＵＩ）５１を介してディスプレイ１７に表示する。
なおオーディオユーザインタフェース５１を介してディスプレイ１７に表示した関連情報は、ライブラリ４７のクリップライブラリ４７Ｂに一時的に記憶することもでき、ユーザからの指示に従って最終的にはデータベースアクセスモジュール４０を介してハードディスクドライブ２１へ記憶されるようになされている。
さらにクライアント端末ＣＴのプログラムモジュールとしては、ＣＤを再生するためのＣＤ再生モジュール４８と、ハードディスクドライブ２１を再生するためのＨＤＤ再生モジュール４９とが含まれており、再生結果をオーディオデータ処理部２４及びスピーカ２５を介して出力する。
（２）関連情報の取得処理シーケンス
次に、クライアント端末ＣＴが、ラジオ局ＲＳの番組の中で放送された楽曲に関連する楽曲情報を関連情報として関連情報提供サーバＫＳから取得する取得処理シーケンスについて図８を用いて説明する。
ステップＳＰ１においてラジオ局ＲＳは、現番組の放送を開始して次のステップＳＰ２へ移り、現番組の中で楽曲Ａの放送を開始すると、当該楽曲Ａの放送開始を関連情報提供サーバＫＳへ通知する。
このときステップＳＰ１１において関連情報提供サーバＫＳは、複数種類の楽曲に関するタイトル、アーティスト名、当該楽曲が収録されているＣＤのジャケット画像等の楽曲に関連する楽曲情報を楽曲情報データベース９３（図３）にデータベース化して保有しており、ラジオ局ＲＳから通知された当該楽曲Ａに関連した楽曲情報をクライアント端末ＣＴへの提供対象とするため、以前保持していた楽曲情報を楽曲Ａに関連した楽曲情報に更新し、次のステップＳＰ１２へ移る。
ところでステップＳＰ２１においてクライアント端末ＣＴは、ラジオ局ＲＳがステップＳＰ１で放送した番組を受信すると共に、その番組中で放送された楽曲Ａについても受信し、次のステップＳＰ２２へ移る。
ステップＳＰ２２においてクライアント端末ＣＴは、その楽曲Ａに関連したタイトル、アーティスト名等の楽曲情報の取得要求を関連情報提供サーバＫＳへ送信し、次のステップＳＰ２３へ移る。
このときステップＳＰ１２において関連情報提供サーバＫＳは、クライアント端末ＣＴからの取得要求に応じて、現在提供対象として保持している楽曲Ａの楽曲情報をクライアント端末ＣＴへネットワーク２を介して提供する。
これによりクライアント端末ＣＴは、関連情報提供サーバＫＳから提供された楽曲Ａの楽曲情報を関連情報としてディスプレイ１７に表示することにより、番組で放送された楽曲Ａのタイトル、アーティスト名等の楽曲情報を関連情報としてユーザに認識させ得るようになされている。
ステップＳＰ２３においてクライアント端末ＣＴは、関連情報提供サーバＫＳから提供された楽曲Ａの楽曲情報を関連情報としてハードディスクドライブ２１に構築されたデータベースに格納する。これによりクライアント端末ＣＴは、以後、ユーザの要求に応じて所望の楽曲情報をデータベースから読み出してディスプレイ１７に表示し得るようになされている。
（３）データベースのスキーマ変更処理
ところで、情報提供システム１では、当該情報提供システム１の全体、あるいはその一部がバージョンアップされると、それに伴って、以前よりも項目が追加された関連情報が関連情報提供サーバＫＳから提供されることがある。
例えば、バージョンアップ前には関連情報提供サーバＫＳからクライアント端末ＣＴに提供される楽曲情報が、楽曲のタイトル、アーティスト名及び当該楽曲の収録されているＣＤのジャケット画像のみであったのに対して、バージョンアップ後には当該楽曲情報に、新たに楽曲の歌詞及びＣＤ番号が追加されたとする。
この場合、クライアント端末ＣＴでは、新たに追加された項目についても、例えばディスプレイ１７に表示したりデータベースに登録できるように、プログラム及びデータベースのスキーマをバージョンアップする必要がある。
因みに、このプログラムとは、図９に示すように、クライアント端末ＣＴのＯＳ上で動作する各種アプリケーション及び図６に示したプログラムモジュールを指す。このプログラムの最上層となる各種アプリケーションは、その下層となるプログラムモジュールを介してＯＳとやり取りすることにより、ディスプレイ１７に所望の情報を表示したり、スピーカ２５から所望の音声を出力したり、ハードディスクドライブ２１に構築されたデータベースにアクセスすることができるようになされている。
実際上、クライアント端末ＣＴのＣＰＵ１１は、自身のプログラムのバージョンが最新であるか否かを、更新情報提供サーバ３にアクセスして確認する。そして、自身のプログラムのバージョンが最新でない場合には、当該更新情報提供サーバ３に対して更新情報としての最新プログラムを送信するように要求する。
更新情報提供サーバ３は、クライアント端末ＣＴから最新プログラムを送信するように要求されると、当該要求に応じて最新プログラムをクライアント端末ＣＴに対して送信する。また、このとき更新情報提供サーバ３は、最新プログラムと同時に、クライアント端末ＣＴのデータベーススキーマを当該最新プログラムに対応させるためのスキーマ変更指示ファイルＳＦ（後述する）をクライアント端末ＣＴに送信するようになされている。
そしてクライアント端末ＣＴのＣＰＵ１１は、最新プログラム及びスキーマ変更指示ファイルＳＦを受信し終えると、スキーマ変更指示ファイルＳＦをハードディスクドライブ２１に記録しておくと共に、自身のプログラムを最新プログラムにバージョンアップする。
そしてＣＰＵ１１は、プログラムのバージョンアップ後、データベースのスキーマをバージョンアップさせる処理に移る。ここで、クライアント端末ＣＴにおいては、更新情報提供サーバ３から提供されたスキーマ変更指示ファイルＳＦに従ってデータベースのスキーマを自動で変更（すなわちバージョンアップ）し得る機能を有しており、以下、このスキーマ変更機能について説明する。
まず、スキーマ変更機能におけるスキーマ変更処理の概要を図１０に示す。クライアント端末ＣＴのＣＰＵ１１は、プログラムのバージョンアップ後、ＯＳを介して当該クライアント端末ＣＴのシステム（以下、これを端末システムと呼ぶ）全体をブートするシステムブート処理ＳＢを実行する。システムブート処理ＳＢを実行した後、クライアント端末ＣＴのＣＰＵ１１は、ステップＡｒ１において、データベースアクセスモジュール４０を介してスキーマ変更処理ＳＣを開始する。なお、以下の説明においてはスキーマ変更処理ＳＣを主体的に扱うが、実際上このスキーマ変更処理ＳＣは、ＣＰＵ１１がプログラムモジュールの１つであるデータベースアクセスモジュール４０を介して実行するものである。
スキーマ変更処理ＳＣは、開始されるとステップＡｒ２において、ハードディスクドライブ２１に構築されたデータベースＤＢを起動し、次のステップＡｒ３に移る。
ステップＡｒ３において、スキーマ変更処理ＳＣは、更新情報提供サーバ３から提供されたスキーマ変更指示ファイルＳＦをハードディスクドライブ２１から読み出して、次のステップＡｒ４に移る。
ステップＡｒ４において、スキーマ変更処理ＳＣは、スキーマ変更指示ファイルＳＦに記述された後述するＳＱＬコマンドをデータベースＤＢに発行することにより、データベースＤＢのスキーマを変更し、次のステップＡｒ５に移る。
ステップＡｒ５において、スキーマ変更処理ＳＣは、ステップＡｒ４で発行したＳＱＬコマンドのログ情報を後述するスキーマ変更ログファイルＳＬに書き込み、スキーマ変更処理ＳＣを終了する。
このようにしてＣＰＵ１１は、プログラムのバージョンアップ後に、データベースアクセスモジュール４０を介してスキーマ変更処理ＳＣを実行するようになされている。
次に、このスキーマ変更処理ＳＣについて、図１１に示すフローチャートを用いて更に詳述する。なお、このスキーマ変更処理手順ＲＴ１０は、クライアント端末ＣＴのＣＰＵ１１がデータベースアクセスモジュール４０を介して実行するものである。また図１１に示すフローチャートにおけるステップＳＰ３０〜ＳＰ３７は、図１０に示すステップＡｒ２〜Ａｒ５に対応するものである。
ＣＰＵ１１は、ＯＳを介してシステムブート処理ＳＢを実行した後、ＲＯＭ１３から読み出したスキーマ変更プログラムに従ってスキーマ変更処理手順ＲＴ１０を実行する。
ＣＰＵ１１は、スキーマ変更処理手順ＲＴ１０を実行すると、ステップＳＰ３０において、データベースＤＢを起動させ、次のステップＳＰ３１に移る。
ステップＳＰ３１において、ＣＰＵ１１は、ハードディスクドライブ２１からスキーマ変更指示ファイルＳＦを読み込み、次のステップＳＰ３２に移る。
ここで、このスキーマ変更指示ファイルＳＦは、図１２に示すように、複数の行からなるテキスト形式のファイルであり、行の先頭に「＃」が記述されたコメント部ｃｍｔと、行の先頭に３桁−２桁の数字が記述されたコマンド部ｃｍｄから構成される。ただしコマンド部ｃｍｄの最後の行には、スキーマ変更指示ファイルＳＦの終了位置を示すＥＯＦ（Ｅｎｄ  Ｏｆ  Ｆｉｌｅ）のみが記述される。
コメント部ｃｍｔの各行には、「＃」に続いて、このスキーマ変更指示ファイルＳＦに対してのコメント文が記述される。
一方、コマンド部ｃｍｄの各行（最後の行は除く）には、それぞれ３桁−２桁の数字の後に「：」が記述されると共に、その後にスキーマを変更するためのＳＱＬコマンドが記述される。このＳＱＬコマンドは、１つの行に対して１コマンドが記述されるようになされている。
また、このコマンド部ｃｍｄの各行の先頭に記述される３桁−２桁の数字（以下、これを指標情報と呼ぶ）ＳＤは、前３桁の数字がスキーマのバージョンを表しており、後２桁の数字がそのバージョンのスキーマ変更指示ファイルＳＦにおける処理番号を表している。
すなわち指標情報ＳＤが、例えば「００２−０２」であるとすれば、スキーマのバージョンが「００２」であり、バージョン「００２」のスキーマ変更指示ファイルＳＦにおける処理番号が「０２」であることを意味している。
実際上、例えば図１２に示すスキーマ変更指示ファイルＳＦにおいては、このコマンド部ｃｍｄの１行目に「００２−０１：ａｌｔｅｒ  ｔａｂｌｅ  ＭｕｓｉｃＴａｂｌｅ  ａｄｄ（ｒｙｌｉｃｓ  ｖａｒｃｈａｒ（２５６））；」、２行目に「００２−０２：ｃｒｅａｔｅ  ｔａｂｌｅ  ＴＯＣＴａｂｌｅ（ｔｏｃｉｄ  ｉｎｔ，ｔｏｃｉｎｆｏ  ｂｙｔｅ（８０４））；」、３行目に「００２−０３：ａｌｔｅｒ  ｔａｂｌｅ  ＭｕｓｉｃＴａｂｌｅ  ａｄｄ  ｆｏｒｅｉｇｎ  ｋｅｙ（ｔｏｃｉｄ）  ｒｅｆｅｒｅｎｃｅｓ  ＴＯＣＴａｂｌｅ；」、４行目にＥＯＦが記述されている。この場合、ＣＰＵ１１は、各行に記述されたＳＱＬコマンドを処理番号順に１つずつ計３コマンド発行することになる。
ステップＳＰ３２（図１１）において、ＣＰＵ１１は、前回バージョンアップを実行したときにハードディスクドライブ２１に記録しておいたスキーマ変更ログファイルＳＬを読み込む。ここでこのスキーマ変更ログファイルＳＬは、図１３に示すように、１行のみのテキスト形式のファイルであり、その行にログ情報として３桁−２桁の数字（以下、これを指標情報ログと呼ぶ）ＳＤＬが記述される。
この指標情報ログＳＤＬは、スキーマ変更指示ファイルＳＦの指標情報ＳＤと対応している。すなわち、このスキーマ変更ログファイルＳＬは、スキーマ変更指示ファイルＳＦのコマンド部ｃｍｄに記述された各行のＳＱＬコマンドがデータベースＤＢに対して発行される毎に、その行の指標情報ＳＤで更新されるようになされている。従ってＣＰＵ１１は、このスキーマ変更ログファイルＳＬの指標情報ログＳＤＬを取得することにより、どのバージョンのどの処理番号までスキーマの変更処理が終了しているのかを認識することができる。
このようにしてステップＳＰ３２において、スキーマ変更ログファイルＳＬを読み込んで、その指標情報ログＳＤＬを取得した後、ＣＰＵ１１は、次のステップＳＰ３３に移る。
ステップＳＰ３３において、ＣＰＵ１１は、スキーマ変更指示ファイルＳＦのコマンド部ｃｍｄを１行読み込み、次のステップＳＰ３４に移る。
ステップＳＰ３４において、ＣＰＵ１１は、読み込んだ行にＥＯＦが記述されているか否かを判定する。ここで否定結果を得ると、このことは、読み込んだ行がスキーマ変更指示ファイルＳＦの終了行ではなく、ＳＱＬコマンドが記述された行であることを表しており、このときＣＰＵ１１は、次のステップＳＰ３５に移る。
ステップＳＰ３５において、ＣＰＵ１１は、読み込んだ行の指標情報ＳＤと、スキーマ変更ログファイルＳＬに記述された指標情報ログＳＤＬとを比較し、指標情報ＳＤが指標情報ＳＤＬ以下であるか否かを判定する。
ここで肯定結果を得ると、このことは、スキーマ変更ログファイルＳＬの指標情報が例えば「００２−０２」であり、またスキーマ変更指示ファイルＳＦから読み出した１行の指標情報ＳＤが例えば「００２−０１」であるような場合であり、この行に記述されたＳＱＬコマンドがデータベースＤＢに対して発行済であることを表している。従ってＣＰＵ１１は、このとき再びステップＳＰ３３に戻り、次の１行を読み込む。
これに対してステップＳＰ３５において否定結果を得ると、このことは、このとき読み込んだ１行に記述されたＳＱＬコマンドが未発行のものであることを表しており、このときＣＰＵ１１は次のステップＳＰ３６に移る。すなわちスキーマ変更ログファイルＳＬの指標情報が例えば「００２−０２」であり、読み込んだ１行の指標情報ＳＤが例えば「００２−０３」であるような場合であり、このような場合ＣＰＵ１１はステップＳＰ３５で否定結果得を得、次のステップＳＰ３６に移る。
ステップＳＰ３６においてＣＰＵ１１は、読み込んだ１行に記述されたＳＱＬコマンド（例えば「００２−０３：ａｌｔｅｒ  ｔａｂｌｅ  ＭｕｓｉｃＴａｂｌｅ  ａｄｄ  ｆｏｒｅｉｇｎ  ｋｅｙ（ｔｏｃｉｄ）  ｒｅｆｅｒｅｎｃｅｓ  ＴＯＣＴａｂｌｅ；」）をデータベースＤＢに対して発行することにより、データベースＤＢのスキーマを変更し、次のステップＳＰ３７に移る。
ステップＳＰ３７においてＣＰＵ１１は、このとき発行した１行の指標情報ＳＤ（例えば「００２−０３」）でスキーマ変更ログファイルＳＬの指標情報ログＳＤＬを更新し、ステップＳＰ３３に戻って、次の１行を読み込む。
このようにしてＣＰＵ１１は、ステップＳＰ３４において、ＥＯＦが得られるまで、ステップ３３からステップＳＰ３７の処理を繰り返すことにより、スキーマ変更指示ファイルＳＦのコマンド部ｃｍｄに記述されたＳＱＬコマンドを１行ずつ発行してデータベースＤＢのスキーマを変更し、次のステップＳＰ３８に移って、スキーマ変更処理手順ＲＴ１０を終了する。
この結果、ＣＰＵ１１は、例えば図１４に示すように、バージョンアップ前には、３つのカラム「ｔｉｔｌｅ」、「ａｒｔｉｓｔ」、「ｃｏｖｅｒａｒｔ」でなるテーブル「ＭｕｓｉｃＴａｂｌｅ」のみでスキーマが構成されていたデータベースＤＢに対して、スキーマ変更指示ファイルＳＦに記述されたＳＱＬコマンドを発行することにより、テーブル「ＭｕｓｉｃＴａｂｌｅ」にカラム「ｒｙｌｉｃｓ」及び「ｔｏｃｉｄ」を追加すると共に、２つのカラム「ｔｏｃｉｄ」及び「ｔｏｃｉｎｆｏ」でなるテーブル「ＴＯＣＴａｂｌｅ」を新たに生成し、テーブル「ＭｕｓｉｃＴａｂｌｅ」のカラム「ｔｏｃｉｄ」とテーブル「ＴＯＣＴａｂｌｅ」のカラム「ｔｏｃｉｄ」とをリンクさせた構成のスキーマでなるデータベースＤＢに自動的にバージョンアップさせることができる。
このように、スキーマ変更指示ファイルＳＦに基づいてデータベースＤＢのスキーマをプログラムと合わせて自動的にバージョンアップしておくことにより、情報提供システム１がバージョンアップされて以前よりも項目が追加された関連情報が関連情報提供サーバＫＳから提供されてきた場合に、当該関連情報をデータベースＤＢに反映させることができる。
また、ＣＰＵ１１は、スキーマ変更指示ファイルＳＦの各行に記述されたＳＱＬコマンドをデータベースに対して発行する毎に、その行の指標情報ＳＤを指標情報ログＳＤＬとしてスキーマ変更ログファイルＳＬを更新するようにしたことにより、例えばある行のＳＱＬコマンドの発行中にユーザによって端末システムが強制終了させられたり、停電等でシャットダウンした場合であっても、再度スキーマ変更処理ＳＣが実行された際に、スキーマ変更ログファイルＳＬの指標情報ログＳＤＬをもとに、中断した行のＳＱＬコマンドから発行を継続することができるので、同じバージョンの同じＳＱＬコマンドを２度発行することを防止できるようにもなされている。
（４）排他制御処理
さらにこのクライアント端末ＣＴにおいては、スキーマ変更処理ＳＣの実行中、または所定のアプリケーションの実行中に、データベースＤＢへのアクセスを排他制御する排他制御機能を有しており、以下、スキーマ変更処理時の排他制御処理と、アプリケーション実行時の排他制御処理とに分けて順に説明する。
（４−１）スキーマ変更処理時の排他制御処理
スキーマ変更処理時における排他制御処理の概要を図１５に示す。実際上、クライアント端末ＣＴのＣＰＵ１１は、上述のようにスキーマ変更処理ＳＣを開始すると、ステップＡｒ１０において、ＯＳを介して排他制御処理ＨＳを開始し、データベースＤＢをロックする。これにより、ロックを解除するまで、スキーマ変更処理ＳＣ以外の処理を実行する所定のアプリケーションＡＰは、データベースＤＢにアクセスできなくなる。なお、以下の説明においてはアプリケーションＡＰや排他制御処理ＨＳを主体的に扱うが、実際上アプリケーションＡＰは、ＣＰＵ１１がプログラムモジュールを介して実行するものであり、排他制御処理ＨＳは、ＣＰＵ１１がＯＳを介して実行するものである。
スキーマ変更処理ＳＣは、データベースＤＢをロックさせた後、ステップＡｒ１１に移り、当該ステップＡｒ１１において、上述のようにデータベースＤＢのスキーマを変更する。
このときアプリケーションＡＰは、排他制御処理ＨＳによってデータベースＤＢにアクセスできないようになされている。従ってアプリケーションＡＰは、例えばステップＡｒ１２において、データベースＤＢにアクセスしようとした場合、データベースＤＢのロックが解除されるまでの間、処理の開始待ち状態となる。
そしてデータベースＤＢのスキーマ変更が終了すると、スキーマ変更処理ＳＣは、ステップＡｒ１３において、そのことを認識し、次のステップＡｒ１４に移って、排他制御処理ＨＳにデータベースＤＢのロックを解除させる。
排他制御処理ＨＳは、データベースＤＢのロックを解除すると、ステップＡｒ１５において、処理の開始待ち状態だったアプリケーションＡＰの処理を開始させる。アプリケーションＡＰは、処理開始後、ステップＡｒ１６に移って、データベースＤＢにアクセスする。
このようにクライアント端末ＣＴにおいては、スキーマ変更処理ＳＣの実行中には、アプリケーションＡＰがデータベースＤＢにアクセスできないように排他制御処理ＨＳを実行するようになされている。
ここで、この排他制御処理ＨＳについて、図１６に示すアローチャートを用いて、詳述する。なお、図１６に示すアローチャートにおけるステップＳ１００〜Ｓ１１０は、図１５に示すステップＡｒ１０〜Ａｒ１４に対応するものとする。
ＣＰＵ１１は、プログラムのバージョンアップ後、ＯＳを介してシステムをブートし、ステップＳ１００において、データベースアクセスモジュール４０を介してスキーマ変更処理ＳＣを開始する。
スキーマ変更処理ＳＣは、開始されるとステップＳ１０１において、排他制御処理ＨＳを開始させると共に、当該排他制御処理ＨＳに対して、データベースＤＢのロックを要求する。
排他制御処理ＨＳは、スキーマ変更処理ＳＣからデーダベースＤＢのロックを要求されると、ステップＳ１０２において、当該要求に応じてデータベースＤＢをロックし、ロック受付をスキーマ変更処理ＳＣに返す。
スキーマ変更処理ＳＣは、排他制御処理ＨＳからのロック受付を認識すると、ステップＳ１０３において、データベースＤＢを起動させて、次のステップＳ１０４に移る。
ステップＳ１０４において、スキーマ変更処理ＳＣは、データベースＤＢに対してコネクションを要求する。
データベースＤＢは、スキーマ変更処理ＨＳからのコネクション要求を認識すると、スキーマ変更処理ＳＣに対するコネクションを開始し、ステップＳ１０５において、コネクションを開始したことをスキーマ変更処理ＳＣに通知する。
スキーマ変更処理ＳＣは、データベースＤＢからのコネクション通知を認識すると、ステップＳ１０６に移り、当該ステップＳ１０６において、スキーマ変更指示ファイルＳＦを読み込み、当該スキーマ変更指示ファイルＳＦの指示に従ってデータベースＤＢのスキーマを変更すると共に、スキーマ変更ログファイルＳＬを更新する一連のスキーマ変更処理（図１０及び図１１）を実行した後、次のステップＳ１０７に移る。
ステップＳ１０７において、スキーマ変更処理ＳＣは、データベースＤＢに対してコネクションの切断を要求する。
データベースＤＢは、スキーマ変更処理ＳＣからのコネクション切断要求を認識すると、スキーマ変更処理ＳＣのデータベースＤＢに対するコネクションを切断し、ステップＳ１０８において、スキーマ変更処理ＳＣに対してコネクションを切断したことを通知する。
スキーマ変更処理ＳＣは、データベースＤＢからのコネクション切断通知を認識すると、ステップＳ１０９に移り、当該ステップＳ１０９において、排他制御処理ＨＳに対してデータベースＤＢのロック解除を要求する。
排他制御処理ＨＳは、スキーマ変更処理ＳＣからのロック解除要求を認識すると、ステップＳ１１０において、当該要求に応じてデータベースＤＢのロックを解除し、ロック解除を受付けたことをスキーマ変更処理ＳＣに返す。
スキーマ変更処理ＳＣは、排他制御処理ＨＳからのロック解除受付を認識すると、ステップＳ１１１において、スキーマ変更処理ＳＣの終了をシステムに対して通知する。
このように、クライアント端末ＣＴにおいては、スキーマ変更処理ＳＣの実行中には、他のアプリケーションＡＰがデータベースＤＢにアクセスできないように排他制御処理ＨＳを実行することにより、データベースＤＢに格納されたデータの整合性を保持し得るようになされている。
（４−２）アプリケーション実行時の排他制御処理
次に、アプリケーション実行時における排他制御処理を図１７のアローチャートを用いて説明する。
すなわち、アプリケーションＡＰは、例えば、プログラム及びデータベースＤＢのバージョンアップ後に自身が実行されると、ステップＳ１２０において、排他制御処理ＨＳに対してデータベースＤＢのロックを要求する。
排他制御処理ＨＳは、アプリケーションＡＰからデータベースＤＢのロックを要求されると、ステップＳ１２１において、当該要求に応じてデータベースＤＢをロックし、ロック受付をアプリケーションＡＰに返す。
アプリケーションＡＰは、排他制御処理ＨＳからのロック受付を認識すると、ステップＳ１２２において、データベースＤＢに対してコネクションを要求する。
データベースＤＢは、アプリケーションＡＰからのコネクション要求を認識すると、アプリケーションＡＰに対するコネクションを開始し、ステップＳ１２３において、コネクションを開始したことをアプリケーションＡＰに通知する。
アプリケーションＡＰは、データベースＤＢからのコネクション通知を認識すると、ステップＳ１２４に移り、当該ステップＳ１２４において、所望のＳＱＬコマンドをデータベースＤＢに対して発行することにより、データベースＤＢに対して、所望の関連情報を格納したり、所望の関連情報を読み出したりすることができる。
そしてアプリケーションＡＰは、所望のＳＱＬコマンドを発行した後、ステップＳ１２５に移り、当該ステップＳ１２５でデータベースＤＢに対してコネクションの切断を要求する。
データベースＤＢは、アプリケーションＡＰからのコネクション切断要求を認識すると、アプリケーションＡＰのデータベースＤＢに対するコネクションを切断し、ステップＳ１２６において、アプリケーションＡＰに対してコネクションを切断したことを通知する。
アプリケーションＡＰは、データベースＤＢからのコネクション切断通知を認識すると、ステップＳ１２７に移り、当該ステップＳ１２７において、排他制御処理ＨＳに対してデータベースＤＢのロック解除を要求する。
排他制御処理ＨＳは、アプリケーションＡＰからのロック解除要求を認識すると、ステップＳ１２８において、当該要求に応じてデータベースＤＢのロックを解除し、ロック解除を受付けたことをアプリケーションＡＰに返す。
このように、クライアント端末ＣＴにおいては、アプリケーションＡＰがデータベースＤＢに対してアクセスしているときには、他のアプリケーションＡＰやスキーマ変更処理ＳＣが同時にデータベースＤＢにアクセスできないように排他制御処理ＨＳを実行するようになされており、これによりデータベースＤＢに格納されるデータの整合性を維持することができ、不正なデータが格納されたり、誤ってデータが消去されることを防止することができる。
（５）動作及び効果
以上の構成において、このクライアント端末ＣＴでは、自身のプログラムのバージョンが最新でない場合、更新情報提供サーバ３に対して、最新バージョンのプログラム及びスキーマ変更指示ファイルＳＦの送信を要求する。
更新情報提供サーバ３は、クライアント端末ＣＴからの要求に応じて、最新バージョンのプログラム及びスキーマ変更指示ファイルＳＦをクライアント端末ＣＴに対して送信する。そしてクライアント端末ＣＴは、最新バージョンのプログラム及びスキーマ変更指示ファイルＳＦを受信した後、当該スキーマ変更指示ファイルＳＦをハードディスクドライブ２１に記録すると共に、自身のプログラムをバージョンアップする。
クライアント端末ＣＴは、プログラムのバージョンアップ後、データベーススキーマのバージョンアップ処理に移る。クライアント端末ＣＴは、スキーマ変更指示ファイルＳＦを読み出すと共に、以前にデータベーススキーマをバージョンアップしたときにハードディスクドライブ２１に記録したスキーマ変更ログファイルＳＬを読み出す。
クライアント端末ＣＴは、スキーマ変更指示ファイルＳＦの各行に記述された指標情報ＳＤと、以前にバージョンアップしたときに更新されたスキーマ変更ログファイルＳＬに記述された指標情報ログＳＤＬとを比較し、指標情報ＳＤＬよりも大きな指標情報ＳＤとなる行に記述されたＳＱＬコマンドのみを、当該指標情報ＳＤの順番に１コマンドずつデータベースＤＢに対して発行すると共に、当該指標情報ＳＤでスキーマ変更ログファイルＳＬを更新する。
このように、クライアント端末ＣＴにおいては、スキーマ変更指示ファイルＳＦとスキーマ変更ログファイルＳＬとを比較することにより、現在のスキーマのバージョンを認識して、現在のスキーマのバージョンが最新でないと判断した場合には自動的にスキーマを更新する。
かくして、クライアント端末ＣＴは、常にデータベースＤＢのスキーマが最新のバージョンとなるように当該データベースＤＢのスキーマを自動的に更新することができる。
これにより、情報提供システム１がバージョンアップされて以前よりも項目が追加された関連情報が関連情報提供サーバＫＳから提供されてきた場合に、当該関連情報の全てを確実にデータベースＤＢに反映させることができるので、関連情報の情報漏れを確実に防止できる。
またクライアント端末ＣＴにおいては、スキーマ変更処理ＳＣの実行中には、他のアプリケーションＡＰがデータベースＤＢにアクセスできないように排他制御処理ＨＳを実行することにより、データベースＤＢに格納されるデータの整合性を維持することができ、不正なデータが格納されることや、誤ってデータが消去されることを防止することができる。
さらにクライアント端末ＣＴにおいては、アプリケーションＡＰの実行中には、データベースＤＢのスキーマ変更処理ＳＣや、他のアプリケーションＡＰがデータベースＤＢにアクセスできないように排他制御処理ＨＳを実行することにより、データベースＤＢに格納されるデータの整合性を維持することができ、不正なデータが格納されることや、誤ってデータが消去されることを防止することができる。
以上の構成によれば、このクライアント端末ＣＴにおいては、更新情報提供サーバ３から最新バージョンのプログラム及びスキーマ変更指示ファイルＳＦを受信してプログラムをバージョンアップした後、スキーマ変更指示ファイルＳＦの指標情報ＳＤとスキーマ変更ログファイルＳＬの指標情報ＳＤＬとを比較して現在のスキーマのバージョンを認識し、現在のスキーマのバージョンが最新でないと判断した場合には、スキーマ変更指示ファイルＳＦに基づいて自動的にスキーマを変更するようにしたことにより、常にデータベーススキーマが最新のバージョンとなるように当該データベーススキーマを自動的に更新することができる。
（６）他の実施の形態
なお、上述の実施の形態においては、クライアント端末ＣＴに構築されたデータベースＤＢを自動的にバージョンアップさせる場合について述べたが、本発明はこれに限らず、更新情報提供サーバ３とネットワーク２を介して接続された各種通信端末やサーバに構築されたデータベースＤＢを自動的にバージョンアップさせるようにしてもよい。
また、上述の実施の形態においては、プログラムの更新情報として、最新バージョンのプログラムをクライアント端末ＣＴに提供するようにした場合について述べたが、本発明はこれに限らず、プログラムをバージョンアップさせるためのパッチ等をプログラムの更新情報としてクライアント端末ＣＴに提供するようにしてもよい。
さらに上述の実施の形態においては、更新情報としてのスキーマ変更指示ファイルＳＦがテキスト形式のファイルである場合について述べたが、本発明はこれに限らず、クライアント端末ＣＴが認識できる形式であれば、他の種々の形式のファイルであってもよい。
さらに上述の実施の形態においては、スキーマ変更処理ＳＣのログ情報としてのスキーマ変更ログファイルＳＬがテキスト形式のファイルである場合について述べたが、本発明はこれに限らず、クライアント端末ＣＴが認識できる形式であれば、他の種々の形式のファイルであってもよい。
この場合、例えばスキーマ変更ログファイルＳＬの代わりに、スキーマ変更ログテーブルをデータベースに生成しておき、当該スキーマ変更ログテーブルに指標情報ログＳＤＬを書き込むようにしてもよい。
さらに上述の実施の形態においては、クライアント端末ＣＴのＣＰＵ１１がＲＯＭ１３に予め格納されたスキーマ変更プログラムをＲＡＭ２０上に展開し、当該スキーマ変更プログラムに従って上述のスキーマ変更処理ＳＣを実行するようにした場合について述べたが、本発明はこれに限らず、スキーマ変更プログラムが格納されたプログラム格納媒体をクライアント端末ＣＴに読み込ませてインストールすることによりスキーマ変更処理を実行するようにしてもよい。
さらに上述の実施の形態においては、更新情報提供サーバ３の制御部１００がＲＯＭ１０３に予め格納された更新情報提供プログラムに従って、更新情報としての最新のプログラム及びスキーマ変更指示ファイルＳＦを、これらを要求したクライアント端末ＣＴにネットワーク２を介して送信するようにした場合について述べたが、本発明はこれに限らず、通信プログラムが格納されたプログラム格納媒体を更新情報提供サーバ３に読み込ませてインストールすることにより最新のプログラム及びスキーマ変更指示ファイルＳＦをクライアント端末ＣＴに送信するようにしてもよい。
さらに上述の実施の形態においては、通信端末装置としてのクライアント端末ＣＴを、要求手段及び受信手段としてのＣＰＵ１１及び通信処理部２２、プログラム更新手段及び比較手段及びデータベーススキーマ更新手段としてのＣＰＵ１１によって構成するようにした場合について述べたが、本発明はこれに限らず、この他種々の回路構成で通信端末装置を構成するようにしてもよい。
さらに上述の実施の形態においては、更新情報提供装置としての更新情報提供サーバ３を、記憶手段としてのハードディスクドライブ１０３、プログラムの更新情報としてのプログラム及びデータベーススキーマの更新情報としてのスキーマ変更指示ファイルＳＦをクライアント端末ＣＴに送信する送信手段としての制御部１００及びデータ通信処理部１０４によって構成するようにした場合について述べたが、本発明はこれに限らず、この他種々の回路構成でプログラム提供装置を構成するようにしてもよい。
さらに、上述の実施の形態における各種処理においては、図２乃至図５に示したハードウェア構成により実行させることもできるが、ソフトウェアにより実行させることもできる。この場合、プログラムをインストールすることでそのプログラムに応じた処理を実行し得る汎用のパーソナルコンピュータ等に、ソフトウェアを構成するプログラムをネットワークや記録媒体を介してインストールすることにより、上述の各種処理を実行させる。
この場合の記録媒体としては、例えば磁気ディスク（ハードディスク、フロッピィディスク等）や磁気テープ、光ディスク（ＤＶＤ、ＤＶＤ−ＲＡＭ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ（Ｒｅｃｏｒｄａｂｌｅ）／ＲＷ（ＲｅＷｒｉｔａｂｌｅ）等）、光磁気ディスク（ＭＯ（Ｍａｇｎｅｔｏ−Ｏｐｔｉｃａｌ  ｄｉｓｋ）等）、半導体メモリ等を用いることができる。
さらに上述の実施の形態においては、クライアント端末ＣＴが受信可能な放送としてラジオ局から放送されるラジオ放送を適用したが、これに限らず、クライアント端末ＣＴがインターネットラジオ放送や衛星ラジオ放送を受信して、その関連情報（ラジオ放送情報）を取得するようにしたり、或いはテレビジョン放送局から放送されるテレビジョン放送を受信し、そのテレビジョン放送のテレビジョン番組に関する各種放送情報等をネットワーク上のサーバから取得するようにしてもよい。
さらに上述の実施の形態においては、図５に示す各種回路、及び図７に示すプログラムモジュールをクライアント端末ＣＴに実装した場合について述べたが、本発明はこれに限らず、これらを携帯電話機やパーソナルコンピュータ等、クライアント端末ＣＴ以外の種々の端末に実装するようにしてもよく、これらを実装した端末であれば、上述したクライアント端末ＣＴと同様の処理を実行することができる。
【産業上の利用可能性】  本発明は、データベースを有する通信端末装置に適用できる。
【図１】
2005029332.tif 000003
【図２】
2005029332.tif 000004
【図３】
2005029332.tif 000005
【図４】
2005029332.tif 000006
【図５】
2005029332.tif 000007
【図６】
2005029332.tif 000008
【図７】
2005029332.tif 000009
【図８】
2005029332.tif 000010
【図９】
2005029332.tif 000011
【図１０】
2005029332.tif 000012
【図１１】
2005029332.tif 000013
【図１２】
2005029332.tif 000014
【図１３】
2005029332.tif 000015
【図１４】
2005029332.tif 000016
【図１５】
2005029332.tif 000017
【図１６】
2005029332.tif 000018
【図１７】
2005029332.tif 000019
【国際調査報告】
2005029332.tif 000020
2005029332.tif 000021