(57)【要約】【課題】比較的緩い運用においてデータベースの一貫性保持を実現しつつ、データベースのコンテンツのバージョン管理を適切かつ効率的に行うこと。【解決手段】アプリケーションサーバ１００は、登録対象のコンテンツに日時を付与する時刻情報付与部２０３と、登録対象のコンテンツを、データベースサーバ１１０に送信する転送部２０５とを備え、データベースサーバ１１０は、アプリケーションサーバ１００から登録対象のコンテンツを受信する受信部３０１と、コンテンツデータベース１２０に既に登録済みのコンテンツの中で、受信した登録対象のコンテンツと検索キーが同一で、バージョンが新しいコンテンツが存在する場合、コンテンツのバージョンを日時に基づいて更新するバージョン更新部３０２と、バージョンが更新された登録対象のコンテンツをコンテンツデータベース１２０に登録する登録部３０３とを備えた。【選択図】        図３
2005216167.tif 000002
【特許請求の範囲】
【請求項１】
コンテンツと該コンテンツのバージョンとを含むコンテンツ情報を登録したデータベースを管理するデータベースサーバと、ネットワークで接続されたクライアント端末装置から前記コンテンツ情報の登録要求を受理し、前記データベースサーバにネットワークで接続され前記データベースサーバに対して受理した前記コンテンツ情報の前記データベースへの登録を要求する複数の登録処理サーバとを有するデータベース管理システムであって、
前記複数の登録処理サーバのそれぞれは、
前記データベースサーバに登録済みのコンテンツ情報の中から最新のバージョンを持つコンテンツを前記データベースサーバから受信し、このコンテンツを用いて前記データベースに既に登録済みのコンテンツ情報を編集するための情報を生成して前記クライアント端末装置へ送信するチェックアウト手段と、
前記登録済みのコンテンツ情報に対する編集内容を示す編集情報を前記クライアント端末装置から受信し、この受信した編集情報に基づいて前記登録済みのコンテンツ情報を編集して登録対象のコンテンツ情報を生成する編集手段と、
前記編集手段により編集した前記登録対象のコンテンツ情報に現在時刻を示す時刻情報を付与する時刻情報付与手段と、
前記時刻情報付与手段によって時刻情報が付与された前記登録対象のコンテンツ情報を、前記データベースサーバに送信する転送手段と、
前記データベースサーバは、
前記コンテンツ情報を登録したデータベースを記憶する記憶手段と、
前記複数の登録処理サーバのそれぞれから前記時刻情報が付与された前記登録対象のコンテンツ情報を受信する受信手段と、
前記データベースに既に登録済みのコンテンツ情報の中で、前記受信手段によって受信した前記登録対象のコンテンツ情報と検索キーが同一であって、かつ前記登録対象のコンテンツ情報よりバージョンが新しい前記登録済みのコンテンツ情報が存在する場合、前記登録対象のコンテンツ情報のバージョンと前記登録済みのコンテンツ情報のバージョンを前記時刻情報に基づいて更新するバージョン更新手段と、
前記バージョン更新手段によってバージョンが更新された前記登録対象のコンテンツ情報を前記データベースに登録する登録手段と、
を備えたことを特徴とするデータベース管理システム。
【請求項２】
前記バージョン更新手段は、
前記データベースに既に登録済みのコンテンツ情報の中で、前記受信手段によって受信した前記登録対象のコンテンツ情報と検索キーが同一であって、かつ前記登録対象のコンテンツ情報よりバージョンが新しい前記登録済みのコンテンツ情報が存在する場合に、前記登録対象のコンテンツ情報のバージョンと前記登録済みのコンテンツ情報のバージョンを、前記時刻情報の早い順でより新しいバージョンとなるように更新し、前記データベースに既に登録済みのコンテンツ情報の中で、前記受信手段によって受信した前記登録対象のコンテンツ情報と検索キーが同一であって、かつ前記登録対象のコンテンツ情報よりバージョンが新しい前記登録済みのコンテンツ情報が存在しない場合に、前記登録対象のコンテンツ情報のバージョンをより新しいバージョンに更新することを特徴とする請求項１に記載のデータベース管理システム。
【請求項３】
前記バージョン更新手段は、前記データベースに既に登録済みのコンテンツ情報の中で、前記受信手段によって受信した前記登録対象のコンテンツ情報と検索キーが同一であって、かつ前記登録対象のコンテンツ情報よりバージョンが新しい前記登録済みのコンテンツ情報が存在する場合に、前記登録対象のコンテンツ情報のバージョンと前記登録済みのコンテンツ情報のバージョンの中で、前記時刻情報が最も古いコンテンツ情報を最新のバ
ージョンに更新することを特徴とする請求項１に記載のデータベース管理システム。
【請求項４】
前記バージョン更新手段は、さらに、前記登録対象のコンテンツ情報のバージョンと前記登録済みのコンテンツ情報のバージョンの中で、前記時刻情報が最も古いコンテンツ情報以外のコンテンツ情報を前記データベースから削除することを特徴とする請求項３に記載のデータベース管理システム。
【請求項５】
前記バージョン更新手段は、さらに、前記データベースに既に登録済みのコンテンツ情報の中で、前記受信手段によって受信した前記登録対象のコンテンツ情報と検索キーが同一であって、かつ前記登録対象のコンテンツ情報よりバージョンが新しい前記登録済みのコンテンツ情報が存在しない場合、前記登録対象のコンテンツ情報のバージョンをより新しいバージョンに更新することを特徴とする請求項３または４に記載のデータベース管理システム。
【請求項６】
前記複数の登録処理サーバのそれぞれは、
データの格納順にデータを取得可能な先入れ先出し方式の受理キューと、
前記時刻情報付与手段によって時刻情報が付与された前記登録対象のコンテンツ情報を、前記受理キューに格納する登録受理手段と、を更に備え、
前記転送手段は、前記登録対象のコンテンツ情報を前記受理キューの先頭から取得して、取得した前記登録対象のコンテンツ情報を前記データベースサーバに送信することを特徴とする請求項１〜５のいずれか一つに記載のデータベース管理システム。
【請求項７】
コンテンツの分類を示す階層構造の分類項目と該分類項目に対応する属性と該属性に対応する属性値と該コンテンツのバージョンとを含むコンテンツ情報が登録された階層型データベースを管理するデータベースサーバと、ネットワークで接続されたクライアント端末装置から前記コンテンツ情報の登録要求を受理し、前記データベースサーバにネットワークで接続され前記データベースサーバに対して受理した前記コンテンツ情報の前記データベースへの登録を要求する複数の登録処理サーバとを有するデータベース管理システムであって、
前記複数の登録処理サーバのそれぞれは、
前記分類項目と前記データベースサーバに対して前記登録対象のコンテンツ情報の登録要求を一括して行う登録処理サーバの識別情報とを対応付けた処理サーバ情報を記憶する処理サーバ情報記憶手段と、
前記データベースサーバに登録済みのコンテンツ情報の中から最新のバージョンを持つコンテンツを前記データベースサーバから受信し、このコンテンツを用いて前記データベースに既に登録済みのコンテンツ情報を編集するための情報を生成して前記クライアント端末装置へ送信するチェックアウト手段と、
前記登録済みのコンテンツ情報に対する編集内容を示す編集情報を前記クライアント端末装置から受信し、この受信した編集情報に基づいて前記登録済みのコンテンツ情報を編集して登録対象のコンテンツ情報を生成する編集手段と、
前記編集手段によって編集した前記登録対象のコンテンツ情報を、前記処理サーバ情報に基づいて、前記登録対象のコンテンツ情報に含まれる分類項目に対応した前記登録処理サーバに送信するディスパッチ手段と、
他の前記登録処理サーバから前記登録対象のコンテンツ情報を受信した場合に、受信した前記コンテンツ情報を前記データベースサーバに送信する転送手段と、を備え、
前記データベースサーバは、
前記コンテンツ情報を登録した階層型データベースを記憶するデータベース記憶手段と、
前記登録処理サーバのそれぞれから前記登録対象のコンテンツ情報を受信する受信手段と、
前記データベースに既に登録済みのコンテンツ情報の中で、前記受信手段によって受信した前記登録対象のコンテンツ情報と前記分類項目の検索キーが同一であって、かつ前記登録対象のコンテンツ情報よりバージョンが新しい前記登録済みのコンテンツ情報が存在するか否かを判断して、この判断結果に基づいて前記登録対象のコンテンツ情報または前記登録済みのコンテンツ情報のバージョンを更新するバージョン更新手段と、
前記バージョン更新手段によってバージョンが更新された前記登録対象のコンテンツ情報を前記データベースに登録する登録手段と、
を備えたことを特徴とするデータベース管理システム。
【請求項８】
前記バージョン更新手段は、前記データベースに既に登録済みのコンテンツ情報の中で、前記受信手段によって受信した前記登録対象のコンテンツ情報と前記分類項目の検索キーが同一であって、かつ前記登録対象のコンテンツ情報よりバージョンが新しい前記登録済みのコンテンツ情報が存在する場合には、前記登録対象のコンテンツ情報のバージョンを、前記登録済みのコンテンツ情報の最新バージョンより新しいバージョンに更新し、前記データベースに既に登録済みのコンテンツ情報の中で、前記受信手段によって受信した前記登録対象のコンテンツ情報と前記分類項目の検索キーが同一であって、かつ前記登録対象のコンテンツ情報よりバージョンが新しい前記登録済みのコンテンツ情報が存在しない場合には、前記登録対象のコンテンツ情報のバージョンをより新しいバージョンに更新することを特徴とする請求項７に記載のデータベース管理システム。
【請求項９】
前記バージョン更新手段は、前記データベースに既に登録済みのコンテンツ情報の中で、前記受信手段によって受信した前記登録対象のコンテンツ情報と前記分類項目の検索キーが同一であって、かつ前記登録対象のコンテンツ情報よりバージョンが新しい前記登録済みのコンテンツ情報が存在する場合には、前記登録対象のコンテンツ情報を削除することを特徴とする請求項７に記載のデータベース管理システム。
【請求項１０】
前記バージョン更新手段は、さらに、前記データベースに既に登録済みのコンテンツ情報の中で、前記受信手段によって受信した前記登録対象のコンテンツ情報と前記分類項目の検索キーが同一であって、かつ前記登録対象のコンテンツ情報よりバージョンが新しい前記登録済みのコンテンツ情報が存在しない場合には、前記登録対象のコンテンツ情報のバージョンをより新しいバージョンに更新することを特徴とする請求項９に記載のデータベース管理システム。
【請求項１１】
前記複数の登録処理サーバのそれぞれは、
データの格納順にデータを取得可能な先入れ先出し方式の受理キューと、
自サーバから前記データベースサーバに送信すべき前記登録対象のコンテンツ情報を、前記受理キューに格納する登録受理手段と、を更に備え、
前記転送手段は、前記登録対象のコンテンツ情報を前記受理キューの先頭から取得して、取得した前記登録対象のコンテンツ情報を前記データベースサーバに送信することを特徴とする請求項７〜１０のいずれか一つに記載のデータベース管理システム。
【請求項１２】
コンテンツと該コンテンツのバージョンとを含むコンテンツ情報の登録要求を行う登録処理サーバにおいて、ネットワークで接続されたクライアント端末装置から前記コンテンツ情報の登録要求を受理し、前記登録処理サーバにネットワークで接続され、前記コンテンツ情報を登録したデータベースを管理するデータベースサーバに対して受理した前記コンテンツ情報の前記データベースへの登録を要求し、前記データベースサーバにおいて、この登録の要求を受けて前記コンテンツ情報を前記データベースに登録するデータベース管理方法であって、
前記複数の登録処理サーバのそれぞれにおいて、
前記データベースサーバに登録済みのコンテンツ情報の中から最新のバージョンを持つコ
ンテンツを前記データベースサーバから受信し、このコンテンツを用いて前記データベースに既に登録済みのコンテンツ情報を編集するための情報を生成して前記クライアント端末装置へ送信するチェックアウトステップと、
前記登録済みのコンテンツ情報に対する編集内容を示す編集情報を前記クライアント端末装置から受信し、この受信した編集情報に基づいて前記登録済みのコンテンツ情報を編集して登録対象のコンテンツ情報を生成する編集ステップと、
前記編集ステップにより編集した前記登録対象のコンテンツ情報に現在時刻を示す時刻情報を付与する時刻情報付与ステップと、
前記時刻情報付与ステップによって時刻情報が付与された前記登録対象のコンテンツ情報を、前記データベースサーバに送信する転送ステップと、
前記データベースサーバにおいて、
前記複数の登録処理サーバのそれぞれから前記時刻情報が付与された前記登録対象のコンテンツ情報を受信する受信ステップと、
前記データベースに既に登録済みのコンテンツ情報の中で、前記受信ステップによって受信した前記登録対象のコンテンツ情報と検索キーが同一であって、かつ前記登録対象のコンテンツ情報よりバージョンが新しい前記登録済みのコンテンツ情報が存在する場合、前記登録対象のコンテンツ情報のバージョンと前記登録済みのコンテンツ情報のバージョンを前記時刻情報に基づいて更新するバージョン更新ステップと、
前記バージョン更新ステップによってバージョンが更新された前記登録対象のコンテンツ情報を前記データベースに登録する登録ステップと、
を含むことを特徴とするデータベース管理方法。
【請求項１３】
コンテンツの分類を示す階層構造の分類項目と該分類項目に対応する属性と該属性に対応する属性値と該コンテンツのバージョンとを含むコンテンツ情報の登録要求を行う登録処理サーバにおいて、ネットワークで接続されたクライアント端末装置から前記コンテンツ情報の登録要求を受理し、前記登録処理サーバにネットワークで接続され、前記コンテンツ情報を登録した階層型データベースを管理するデータベースサーバに対して受理した前記コンテンツ情報の前記データベースへの登録を要求し、前記データベースサーバにおいて、この登録の要求を受けて前記コンテンツ情報を前記データベースに登録するデータベース管理方法であって、
前記複数の登録処理サーバのそれぞれにおいて、
前記データベースサーバに登録済みのコンテンツ情報の中から最新のバージョンを持つコンテンツを前記データベースサーバから受信し、このコンテンツを用いて前記データベースに既に登録済みのコンテンツ情報を編集するための情報を生成して前記クライアント端末装置へ送信するチェックアウトステップと、
前記登録済みのコンテンツ情報に対する編集内容を示す編集情報を前記クライアント端末装置から受信し、この受信した編集情報に基づいて前記登録済みのコンテンツ情報を編集して登録対象のコンテンツ情報を生成する編集ステップと、
前記編集ステップによって編集した前記登録対象のコンテンツ情報を、前記分類項目と前記データベースサーバに対して前記登録対象のコンテンツ情報の登録要求を一括して行う登録処理サーバの識別情報とを対応付けた処理サーバ情報に基づいて、前記登録対象のコンテンツ情報に含まれる分類項目に対応した前記登録処理サーバに送信するディスパッチステップと、
他の前記登録処理サーバから前記登録対象のコンテンツ情報を受信した場合に、受信した前記コンテンツ情報を前記データベースサーバに送信する転送ステップと、
前記データベースサーバにおいて、前記登録処理サーバのそれぞれから前記登録対象のコンテンツ情報を受信する受信ステップと、
前記階層型データベースに既に登録済みのコンテンツ情報の中で、前記受信ステップによって受信した前記登録対象のコンテンツ情報と前記分類項目の検索キーが同一であって、かつ前記登録対象のコンテンツ情報よりバージョンが新しい前記登録済みのコンテンツ情報が存在するか否かを判断して、この判断結果に基づいて前記登録対象のコンテンツ情報または前記登録済みのコンテンツ情報のバージョンを更新するバージョン更新ステップと、
前記バージョン更新ステップによってバージョンが更新された前記登録対象のコンテンツ情報を前記データベースに登録する登録ステップと、
を含むことを特徴とするデータベース管理方法。
【請求項１４】
ネットワークで接続されたクライアント端末装置からコンテンツと該コンテンツのバージョンとを含むコンテンツ情報の登録要求を受理し、ネットワークで接続され、前記コンテンツ情報を登録したデータベースを管理するデータベースサーバに対して受理した前記コンテンツ情報の前記データベースへの登録を要求するデータベース登録要求プログラムであって、
前記データベースサーバに登録済みのコンテンツ情報の中から最新のバージョンを持つコンテンツを前記データベースサーバから受信し、このコンテンツを用いて前記データベースに既に登録済みのコンテンツ情報を編集するための情報を生成して前記クライアント端末装置へ送信するチェックアウト手順と、
前記登録済みのコンテンツ情報に対する編集内容を示す編集情報を前記クライアント端末装置から受信し、この受信した編集情報に基づいて前記登録済みのコンテンツ情報を編集して登録対象のコンテンツ情報を生成する編集手順と、
前記編集手順により編集した前記登録対象のコンテンツ情報に現在時刻を示す時刻情報を付与する時刻情報付与手順と、
前記時刻情報付与手順によって時刻情報が付与された前記登録対象のコンテンツ情報を、前記データベースサーバに送信する転送手順と、
をコンピュータに実行させるデータベース登録要求プログラム。
【請求項１５】
コンテンツと該コンテンツのバージョンとを含むコンテンツ情報を登録したデータベースへの前記コンテンツ情報の登録要求を行う登録処理サーバから前記コンテンツ情報の登録の要求を受けて前記コンテンツ情報を前記データベースに登録するデータベース管理プログラムであって、
前記登録処理サーバから前記時刻情報が付与された前記登録対象のコンテンツ情報を受信する受信手順と、
前記データベースに既に登録済みのコンテンツ情報の中で、前記受信手順によって受信した前記登録対象のコンテンツ情報と検索キーが同一であって、かつ前記登録対象のコンテンツ情報よりバージョンが新しい前記登録済みのコンテンツ情報が存在する場合、前記登録対象のコンテンツ情報のバージョンと前記登録済みのコンテンツ情報のバージョンを前記時刻情報に基づいて更新するバージョン更新手順と、
前記バージョン更新手順によってバージョンが更新された前記登録対象のコンテンツ情報を前記データベースに登録する登録手順と、
をコンピュータに実行させるデータベース管理プログラム。
【請求項１６】
ネットワークで接続されたクライアント端末装置からコンテンツの分類を示す階層構造の分類項目と該分類項目に対応する属性と該属性に対応する属性値と該コンテンツのバージョンとを含むコンテンツ情報の登録要求を受理し、ネットワークで接続され、前記コンテンツ情報を登録したデータベースを管理するデータベースサーバに対して受理した前記コンテンツ情報の前記データベースへの登録を要求するデータベース登録要求プログラムであって、
前記データベースサーバに登録済みのコンテンツ情報の中から最新のバージョンを持つコンテンツを前記データベースサーバから受信し、このコンテンツを用いて前記データベースに既に登録済みのコンテンツ情報を編集するための情報を生成して前記クライアント端末装置へ送信するチェックアウト手順と、
前記登録済みのコンテンツ情報に対する編集内容を示す編集情報を前記クライアント端末装置から受信し、この受信した編集情報に基づいて前記登録済みのコンテンツ情報を編集して登録対象のコンテンツ情報を生成する編集手順と、
前記編集手順によって編集した前記登録対象のコンテンツ情報を、前記分類項目と前記データベースサーバに対して前記登録対象のコンテンツ情報の登録要求を一括して行う登録処理サーバの識別情報とを対応付けた処理サーバ情報に基づいて、前記登録対象のコンテンツ情報に含まれる分類項目に対応した前記登録処理サーバに送信するディスパッチ手順と、
前記登録対象のコンテンツ情報を受信した場合に、受信した前記コンテンツ情報を前記データベースサーバに送信する転送手順と、
とをコンピュータに実行させるデータベース登録要求プログラム。
【請求項１７】
コンテンツの分類を示す階層構造の分類項目と該分類項目に対応する属性と該属性に対応する属性値と該コンテンツのバージョンとを含むコンテンツ情報を登録した階層型データベースに対する前記コンテンツ情報の登録を要求する登録処理サーバから前記コンテンツ情報の登録の要求を受けて前記コンテンツ情報を前記階層型データベースに登録するデータベース管理プログラムであって、
前記登録処理サーバから前記登録対象のコンテンツ情報を受信する受信手順と、
前記階層型データベースに既に登録済みのコンテンツ情報の中で、前記受信手順によって受信した前記登録対象のコンテンツ情報と前記分類項目の検索キーが同一であって、かつ前記登録対象のコンテンツ情報よりバージョンが新しい前記登録済みのコンテンツ情報が存在するか否かを判断して、この判断結果に基づいて前記登録対象のコンテンツ情報または前記登録済みのコンテンツ情報のバージョンを更新するバージョン更新手順と、
前記バージョン更新手順によってバージョンが更新された前記登録対象のコンテンツ情報を前記データベースに登録する登録手順と、
をコンピュータに実行させるデータベース管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンテンツ情報の受理およびデータベースへの登録要求を行う登録処理サーバがネットワーク上に複数に分散されている場合において、データベースにコンテンツ情報を登録または更新する際のデータベースの管理を行うデータベース管理システム、データベース管理方法、データベース登録要求プログラムおよびデータベース管理プログラムに関し、特にデータベースの一貫性を保持するためのデータベース管理システム、データベース管理方法、データベース登録要求プログラムおよびデータベース管理プログラムに関する。
【背景技術】
【０００２】
コンテンツ情報の受理およびデータベースへの登録要求を行う登録処理サーバがネットワーク上に複数に分散されている場合において、登録処理サーバから、ネットワーク上の一カ所に存在するコンテンツのデータベースに対し、コンテンツの登録または更新作業を行う際に、複数の登録処理サーバからデータベース内の同一キーのコンテンツに対し更新が行われ、データ競合が生じる場合がある。このため、このようなデータ競合を解消してデータベースの一貫性を保持することが重要となってくる。
【０００３】
このような複数の登録処理サーバからのデータベースの更新の際の一貫性保持の技術としては次のような技術が一般的に知られている。
【０００４】
第一の従来技術は、多数のユーザが同時にアクセスできる共有データであるマスターデータファイルを更新する場合に、マスターデータファイルの複写であるローカルデータファイルを作成し、ローカルデータファイルによるマスターデータファイルへ試みられた変更を検出し、ローカルデータファイルに施された変更が他のユーザによる変更と競合状態にあるか否かを確認し、競合する場合には、データ競合がある旨をユーザに通知し、ユーザからの入力を受信するものである（例えば、特許文献１参照）。すなわち、この従来技術では、データ変更の際の競合を監視して、競合状態がある場合には、ユーザ側で競合を解消するものである。
【０００５】
第二の従来技術は、ネットワーク上の複数のサーバ間において同一のオンラインドキュメントを共有する場合において、同一のドキュメントの複製を各サーバに配布し、あるドキュメントの更新を開始するサーバが他のサーバに対して更新開始通知を送信し、更新が終了したときに更新終了通知を送信し、更新開始通知を受信したサーバは、該当するドキュメントに対する更新をロックし、更新終了通知を受信したときにロックを解除するものである（例えば、特許文献２参照）。すなわち、この従来技術では、あるサーバでドキュメントの更新作業中は、そのドキュメントにロックがかかっているため、他のサーバからドキュメントの更新作業を実行できず、同一ドキュメントに対する更新の際のデータ競合を解消している。
【０００６】
【特許文献１】特開平１１−１６１５３５号公報
【特許文献２】特開平１１−２７２５３４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
上記従来技術では、いずれも同一コンテンツに対する更新の際の競合状態を解消することができるが、ネットワーク上に分散した登録処理サーバが、同時にデータベースにアクセスできる環境では、ユーザがコンテンツの登録要求を行うタイミングと各サーバがデータベースに対して登録要求を行うタイミングがずれる可能性もあるため、必ずしもユーザがデータベースへのコンテンツの登録要求を行った順に、データベースへの登録処理が実行されない可能性がある。この場合、データベースに登録されるコンテンツのバージョンに矛盾が生じる場合がある。このため、データベース管理システムには、コンテンツのデータ競合を解決し、コンテンツのバージョン管理を適切に行う機能を有する必要がある。
【０００８】
しかしながら、上記従来技術では、このようなデータ競合を解決し、コンテンツを適切にバージョン管理する処理を設けると、処理が複雑になるという問題がある。また、特許文献２の技術では、オリジナルのコンテンツデータがロックされてしまい、結果としてデッドロックに陥ってしまう問題もある。
【０００９】
ところで、電気・電子部品や重電部品の電子カタログのような部品情報をコンテンツとして格納するデータベースを考えた場合、次のような前提でコンテンツの登録および検索システムが運用されることが多い。
【００１０】
まず第１に、複数企業のコンテンツを一つのＷｅｂサイト上で管理、閲覧、登録できるようにし，少人数の各企業のコンテンツ管理者に、予めコンテンツの編集や修正権限を与えておく。
【００１１】
第２に、コンテンツを修正する処理では、オリジナルのコンテンツを取得してから、修正し、修正されたコンテンツを再度登録するまでの期間が非常に長い。すなわち、オンラインで編集することはまれであり、ロングタームトランザクションとなる。
【００１２】
第３に、企業のコンテンツ管理者は少数なため、同一のコンテンツを複数のユーザが同時に編集することは稀である。仮に、同時に同一のコンテンツを編集した場合において、一時的に更新の前後関係が矛盾した状態になっても、大量の更新が短時間で実行され、最終的に正しいバージョンが付与されるのであれば、運用上は大きな問題とはならない。
【００１３】
本発明は、上記に鑑みてなされたものであって、コンテンツ情報のデータベースへの登録要求を受理する登録処理サーバがネットワーク上に分散している場合に、比較的緩い運用においてデータベースの一貫性保持を実現しつつ、データベースのコンテンツ情報のバージョン管理を適切かつ効率的に行うことができるデータベース管理システム、データベース管理方法、データベース登録要求プログラムおよびデータベース管理プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１４】
上述した課題を解決し、目的を達成するために、本発明は、コンテンツと該コンテンツのバージョンとを含むコンテンツ情報を登録したデータベースを管理するデータベースサーバと、ネットワークで接続されたクライアント端末装置から前記コンテンツ情報の登録要求を受理し、前記データベースサーバにネットワークで接続され前記データベースサーバに対して受理した前記コンテンツ情報の前記データベースへの登録を要求する複数の登録処理サーバとを有するデータベース管理システムであって、前記複数の登録処理サーバのそれぞれは、前記データベースサーバに登録済みのコンテンツ情報の中から最新のバージョンを持つコンテンツを前記データベースサーバから受信し、このコンテンツを用いて前記データベースに既に登録済みのコンテンツ情報を編集するための情報を生成して前記クライアント端末装置へ送信するチェックアウト手段と、前記登録済みのコンテンツ情報に対する編集内容を示す編集情報を前記クライアント端末装置から受信し、この受信した
編集情報に基づいて前記登録済みのコンテンツ情報を編集して登録対象のコンテンツ情報を生成する編集手段と、前記編集手段により編集した前記登録対象のコンテンツ情報に現在時刻を示す時刻情報を付与する時刻情報付与手段と、前記時刻情報付与手段によって時刻情報が付与された前記登録対象のコンテンツ情報を、前記データベースサーバに送信する転送手段と、前記データベースサーバは、前記コンテンツ情報を登録したデータベースを記憶する記憶手段と、前記複数の登録処理サーバのそれぞれから前記時刻情報が付与された前記登録対象のコンテンツ情報を受信する受信手段と、前記データベースに既に登録済みのコンテンツ情報の中で、前記受信手段によって受信した前記登録対象のコンテンツ情報と検索キーが同一であって、かつ前記登録対象のコンテンツ情報よりバージョンが新しい前記登録済みのコンテンツ情報が存在する場合、前記登録対象のコンテンツ情報のバージョンと前記登録済みのコンテンツ情報のバージョンを前記時刻情報に基づいて更新するバージョン更新手段と、前記バージョン更新手段によってバージョンが更新された前記登録対象のコンテンツ情報を前記データベースに登録する登録手段と、を備えたことを特徴とする。
【００１５】
また、本発明は、コンテンツの分類を示す階層構造の分類項目と該分類項目に対応する属性と該属性に対応する属性値と該コンテンツのバージョンとを含むコンテンツ情報が登録された階層型データベースを管理するデータベースサーバと、ネットワークで接続されたクライアント端末装置から前記コンテンツ情報の登録要求を受理し、前記データベースサーバにネットワークで接続され前記データベースサーバに対して受理した前記コンテンツ情報の前記データベースへの登録を要求する複数の登録処理サーバとを有するデータベース管理システムであって、前記複数の登録処理サーバのそれぞれは、前記分類項目と前記データベースサーバに対して前記登録対象のコンテンツ情報の登録要求を一括して行う登録処理サーバの識別情報とを対応付けた処理サーバ情報を記憶する処理サーバ情報記憶手段と、前記データベースサーバに登録済みのコンテンツ情報の中から最新のバージョンを持つコンテンツを前記データベースサーバから受信し、このコンテンツを用いて前記データベースに既に登録済みのコンテンツ情報を編集するための情報を生成して前記クライアント端末装置へ送信するチェックアウト手段と、前記登録済みのコンテンツ情報に対する編集内容を示す編集情報を前記クライアント端末装置から受信し、この受信した編集情報に基づいて前記登録済みのコンテンツ情報を編集して登録対象のコンテンツ情報を生成する編集手段と、前記編集手段によって編集した前記登録対象のコンテンツ情報を、前記処理サーバ情報に基づいて、前記登録対象のコンテンツ情報に含まれる分類項目に対応した前記登録処理サーバに送信するディスパッチ手段と、他の前記登録処理サーバから前記登録対象のコンテンツ情報を受信した場合に、受信した前記コンテンツ情報を前記データベースサーバに送信する転送手段と、を備え、前記データベースサーバは、前記コンテンツ情報を登録した階層型データベースを記憶するデータベース記憶手段と、前記登録処理サーバのそれぞれから前記登録対象のコンテンツ情報を受信する受信手段と、前記データベースに既に登録済みのコンテンツ情報の中で、前記受信手段によって受信した前記登録対象のコンテンツ情報と前記分類項目の検索キーが同一であって、かつ前記登録対象のコンテンツ情報よりバージョンが新しい前記登録済みのコンテンツ情報が存在するか否かを判断して、この判断結果に基づいて前記登録対象のコンテンツ情報または前記登録済みのコンテンツ情報のバージョンを更新するバージョン更新手段と、前記バージョン更新手段によってバージョンが更新された前記登録対象のコンテンツ情報を前記データベースに登録する登録手段と、を備えたことを特徴とする。
【００１６】
また、本発明は、コンテンツと該コンテンツのバージョンとを含むコンテンツ情報の登録要求を行う登録処理サーバにおいて、ネットワークで接続されたクライアント端末装置から前記コンテンツ情報の登録要求を受理し、前記登録処理サーバにネットワークで接続され、前記コンテンツ情報を登録したデータベースを管理するデータベースサーバに対して受理した前記コンテンツ情報の前記データベースへの登録を要求し、前記データベース
サーバにおいて、この登録の要求を受けて前記コンテンツ情報を前記データベースに登録するデータベース管理方法であって、前記複数の登録処理サーバのそれぞれにおいて、前記データベースサーバに登録済みのコンテンツ情報の中から最新のバージョンを持つコンテンツを前記データベースサーバから受信し、このコンテンツを用いて前記データベースに既に登録済みのコンテンツ情報を編集するための情報を生成して前記クライアント端末装置へ送信するチェックアウトステップと、前記登録済みのコンテンツ情報に対する編集内容を示す編集情報を前記クライアント端末装置から受信し、この受信した編集情報に基づいて前記登録済みのコンテンツ情報を編集して登録対象のコンテンツ情報を生成する編集ステップと、前記編集ステップにより編集した前記登録対象のコンテンツ情報に現在時刻を示す時刻情報を付与する時刻情報付与ステップと、前記時刻情報付与ステップによって時刻情報が付与された前記登録対象のコンテンツ情報を、前記データベースサーバに送信する転送ステップと、前記データベースサーバにおいて、前記複数の登録処理サーバのそれぞれから前記時刻情報が付与された前記登録対象のコンテンツ情報を受信する受信ステップと、前記データベースに既に登録済みのコンテンツ情報の中で、前記受信ステップによって受信した前記登録対象のコンテンツ情報と検索キーが同一であって、かつ前記登録対象のコンテンツ情報よりバージョンが新しい前記登録済みのコンテンツ情報が存在する場合、前記登録対象のコンテンツ情報のバージョンと前記登録済みのコンテンツ情報のバージョンを前記時刻情報に基づいて更新するバージョン更新ステップと、前記バージョン更新ステップによってバージョンが更新された前記登録対象のコンテンツ情報を前記データベースに登録する登録ステップと、を含むことを特徴とする。
【００１７】
また、本発明は、コンテンツの分類を示す階層構造の分類項目と該分類項目に対応する属性と該属性に対応する属性値と該コンテンツのバージョンとを含むコンテンツ情報の登録要求を行う登録処理サーバにおいて、ネットワークで接続されたクライアント端末装置から前記コンテンツ情報の登録要求を受理し、前記登録処理サーバにネットワークで接続され、前記コンテンツ情報を登録した階層型データベースを管理するデータベースサーバに対して受理した前記コンテンツ情報の前記データベースへの登録を要求し、前記データベースサーバにおいて、この登録の要求を受けて前記コンテンツ情報を前記データベースに登録するデータベース管理方法であって、前記複数の登録処理サーバのそれぞれにおいて、前記データベースサーバに登録済みのコンテンツ情報の中から最新のバージョンを持つコンテンツを前記データベースサーバから受信し、このコンテンツを用いて前記データベースに既に登録済みのコンテンツ情報を編集するための情報を生成して前記クライアント端末装置へ送信するチェックアウトステップと、前記登録済みのコンテンツ情報に対する編集内容を示す編集情報を前記クライアント端末装置から受信し、この受信した編集情報に基づいて前記登録済みのコンテンツ情報を編集して登録対象のコンテンツ情報を生成する編集ステップと、前記編集ステップによって編集した前記登録対象のコンテンツ情報を、前記分類項目と前記データベースサーバに対して前記登録対象のコンテンツ情報の登録要求を一括して行う登録処理サーバの識別情報とを対応付けた処理サーバ情報に基づいて、前記登録対象のコンテンツ情報に含まれる分類項目に対応した前記登録処理サーバに送信するディスパッチステップと、他の前記登録処理サーバから前記登録対象のコンテンツ情報を受信した場合に、受信した前記コンテンツ情報を前記データベースサーバに送信する転送ステップと、前記データベースサーバにおいて、前記登録処理サーバのそれぞれから前記登録対象のコンテンツ情報を受信する受信ステップと、前記階層型データベースに既に登録済みのコンテンツ情報の中で、前記受信ステップによって受信した前記登録対象のコンテンツ情報と前記分類項目の検索キーが同一であって、かつ前記登録対象のコンテンツ情報よりバージョンが新しい前記登録済みのコンテンツ情報が存在するか否かを判断して、この判断結果に基づいて前記登録対象のコンテンツ情報または前記登録済みのコンテンツ情報のバージョンを更新するバージョン更新ステップと、前記バージョン更新ステップによってバージョンが更新された前記登録対象のコンテンツ情報を前記データベースに登録する登録ステップと、を含むことを特徴とする。
【００１８】
また、本発明は、ネットワークで接続されたクライアント端末装置からコンテンツと該コンテンツのバージョンとを含むコンテンツ情報の登録要求を受理し、ネットワークで接続され、前記コンテンツ情報を登録したデータベースを管理するデータベースサーバに対して受理した前記コンテンツ情報の前記データベースへの登録を要求するデータベース登録要求プログラムであって、前記データベースサーバに登録済みのコンテンツ情報の中から最新のバージョンを持つコンテンツを前記データベースサーバから受信し、このコンテンツを用いて前記データベースに既に登録済みのコンテンツ情報を編集するための情報を生成して前記クライアント端末装置へ送信するチェックアウト手順と、前記登録済みのコンテンツ情報に対する編集内容を示す編集情報を前記クライアント端末装置から受信し、この受信した編集情報に基づいて前記登録済みのコンテンツ情報を編集して登録対象のコンテンツ情報を生成する編集手順と、前記編集手順により編集した前記登録対象のコンテンツ情報に現在時刻を示す時刻情報を付与する時刻情報付与手順と、前記時刻情報付与手順によって時刻情報が付与された前記登録対象のコンテンツ情報を、前記データベースサーバに送信する転送手順と、をコンピュータに実行させるデータベース登録要求プログラムである。
【００１９】
また、本発明は、コンテンツと該コンテンツのバージョンとを含むコンテンツ情報を登録したデータベースへの前記コンテンツ情報の登録要求を行う登録処理サーバから前記コンテンツ情報の登録の要求を受けて前記コンテンツ情報を前記データベースに登録するデータベース管理プログラムであって、前記登録処理サーバから前記時刻情報が付与された前記登録対象のコンテンツ情報を受信する受信手順と、前記データベースに既に登録済みのコンテンツ情報の中で、前記受信手順によって受信した前記登録対象のコンテンツ情報と検索キーが同一であって、かつ前記登録対象のコンテンツ情報よりバージョンが新しい前記登録済みのコンテンツ情報が存在する場合、前記登録対象のコンテンツ情報のバージョンと前記登録済みのコンテンツ情報のバージョンを前記時刻情報に基づいて更新するバージョン更新手順と、前記バージョン更新手順によってバージョンが更新された前記登録対象のコンテンツ情報を前記データベースに登録する登録手順と、をコンピュータに実行させるデータベース管理プログラムである。
【００２０】
また、本発明は、ネットワークで接続されたクライアント端末装置からコンテンツの分類を示す階層構造の分類項目と該分類項目に対応する属性と該属性に対応する属性値と該コンテンツのバージョンとを含むコンテンツ情報の登録要求を受理し、ネットワークで接続され、前記コンテンツ情報を登録したデータベースを管理するデータベースサーバに対して受理した前記コンテンツ情報の前記データベースへの登録を要求するデータベース登録要求プログラムであって、前記データベースサーバに登録済みのコンテンツ情報の中から最新のバージョンを持つコンテンツを前記データベースサーバから受信し、このコンテンツを用いて前記データベースに既に登録済みのコンテンツ情報を編集するための情報を生成して前記クライアント端末装置へ送信するチェックアウト手順と、前記登録済みのコンテンツ情報に対する編集内容を示す編集情報を前記クライアント端末装置から受信し、この受信した編集情報に基づいて前記登録済みのコンテンツ情報を編集して登録対象のコンテンツ情報を生成する編集手順と、前記編集手順によって編集した前記登録対象のコンテンツ情報を、前記分類項目と前記データベースサーバに対して前記登録対象のコンテンツ情報の登録要求を一括して行う登録処理サーバの識別情報とを対応付けた処理サーバ情報に基づいて、前記登録対象のコンテンツ情報に含まれる分類項目に対応した前記登録処理サーバに送信するディスパッチ手順と、前記登録対象のコンテンツ情報を受信した場合に、受信した前記コンテンツ情報を前記データベースサーバに送信する転送手順と、とをコンピュータに実行させるデータベース登録要求プログラムである。
【００２１】
また、本発明は、コンテンツの分類を示す階層構造の分類項目と該分類項目に対応する
属性と該属性に対応する属性値と該コンテンツのバージョンとを含むコンテンツ情報を登録した階層型データベースに対する前記コンテンツ情報の登録を要求する登録処理サーバから前記コンテンツ情報の登録の要求を受けて前記コンテンツ情報を前記階層型データベースに登録するデータベース管理プログラムであって、前記登録処理サーバから前記登録対象のコンテンツ情報を受信する受信手順と、前記階層型データベースに既に登録済みのコンテンツ情報の中で、前記受信手順によって受信した前記登録対象のコンテンツ情報と前記分類項目の検索キーが同一であって、かつ前記登録対象のコンテンツ情報よりバージョンが新しい前記登録済みのコンテンツ情報が存在するか否かを判断して、この判断結果に基づいて前記登録対象のコンテンツ情報または前記登録済みのコンテンツ情報のバージョンを更新するバージョン更新手順と、前記バージョン更新手順によってバージョンが更新された前記登録対象のコンテンツ情報を前記データベースに登録する登録手順と、をコンピュータに実行させるデータベース管理プログラムである。
【発明の効果】
【００２２】
本発明によれば、コンテンツ情報のデータベースへの登録要求を受理する登録処理サーバがネットワーク上に分散している場合に、一時的にコンテンツ情報のバージョンの矛盾が生じても最終的に時刻情報に基づいて正しいバージョンに更新されるので、比較的緩い運用においてはバージョンの矛盾をさほど問題になることはなく、この結果データベースの一貫性保持を実現しつつ、データベースのコンテンツ情報のバージョン管理を適切かつ効率的に行うことができるという効果を奏する。
【００２３】
また、本発明は、複数の登録処理サーバがネットワーク上に分散している場合においても階層型データベースの分類項目ごとに一括してデータベースサーバ１４１０に登録要求することによって登録要求のタイミングにずれが生じすることがなく、比較的緩い運用においてデータベースの一貫性保持を実現しつつ、データベースのコンテンツ情報のバージョン管理を適切かつ効率的に行うことができるという効果を奏する。
【発明を実施するための最良の形態】
【００２４】
以下に添付図面を参照して、この発明にかかるデータベース管理システム、データベース管理方法、データベース登録要求プログラムおよびデータベース管理プログラムの最良な実施の形態を詳細に説明する。
【００２５】
（実施の形態１）
図１は、本発明の実施の形態１にかかるデータベース管理システムのネットワーク構成を示す説明図である。図１に示すように、本実施の形態のデータベース管理システムは、複数のアプリケーションサーバ１００と単一のデータベースサーバ１１０とがネットワーク１５０で接続された構成となっている。ここで、ネットワーク１５０は、Ｅｔｈｅｒｎｅｔ（登録商標）などであり、データベースサーバ１１０と複数のアプリケーションサーバ１００はＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）環境を構築している。なお、本実施の形態では、データベースサーバ１１０と複数のアプリケーションサーバ１００は、ＬＡＮ環境を構築しているが、これに限定されるものではなく、例えば、データベースサーバ１１０と複数のアプリケーションサーバ１００がインターネットで接続されている構成でも良い。
【００２６】
データベースサーバ１１０は、そのハードディスクドライブ装置（ＨＤＤ）にコンテンツデーターべース１２０を記憶しており、アプリケーションサーバ１００からの要求によってコンテンツデータベース１２０を構成するコンテンツをコンテンツデータベース１２０に登録すると共に、コンテンツのバージョン管理を行うものである。
【００２７】
アプリケーションサーバ１００は、クライアント端末１３０からの要求によってコンテ
ンツをコンテンツデータベース１２０からの読み出して編集を行うとともに、この編集したコンテンツのコンテンツデータベース１２０への登録要求をデータベースサーバ１１０に対して行うものである。このアプリケーションサーバ１００は、本発明における登録処理サーバを構成する。
【００２８】
アプリケーションサーバ１００には、インターネット１４０を介してクライアント端末１３０が接続されている。アプリケーションサーバ１００は、データベースサーバ１１０のコンテンツデータベースへの各種処理のサービスをクライアント端末１３０に搭載されたＷｅｂブラウザ１３１を介して提供するようになっている。
【００２９】
図２は、アプリケーションサーバ１００の機能的構成を示すブロック図である。図２に示すように、アプリケーションサーバ１００は、編集部２０１と登録受理部２０２と時刻情報付与部２０３とチェックアウト部２０４と転送部２０５と受理キュー２０６とを主に備えている。
【００３０】
チェックアウト部２０４は、クライアント端末１３０からの要求によって、データベースサーバ１１０のコンテンツデータベース１２０からクライアント端末１３０によって指定された検索キーの最新バージョンのコンテンツを受信し、この受信したコンテンツを用いてコンテンツータベース１２０に既に登録済みのコンテンツを編集するための情報、例えばコンテンツの各項目への編集入力のためのｈｔｍｌページなどを生成してクライアント端末１３０に送信する処理を行う。
【００３１】
編集部２０１は、チェックアウト部２０４によって読み出された登録済みのコンテンツに対する編集内容、例えば、上述のｈｔｍｌページへの編集入力データなどの編集データをクライアント端末１３０から受信し、この受信した編集データに応じて登録済みコンテンツを編集する処理を行う。このように登録済みのコンテンツに対して編集処理が施されたコンテンツを登録対象のコンテンツと呼ぶ。
【００３２】
時刻情報付与部２０３は、編集処理がなされたコンテンツにサブミット時刻として現在日時（本発明の時刻情報に相当する）を付加する処理を行うものである。
【００３３】
登録受理部２０２は、時刻情報付加部２０３によって現在日時が付加されたコンテンツを受理キュー２０６に格納する処理を行うものである。
【００３４】
受理キュー２０６は、先入れ先出し方式のキュー（ＦＩＦＯ：Ｆｉｒｓｔ−Ｉｎ  Ｆｉｒｓｔ−Ｏｕｔ）であり、現在日時が付加されたコンテンツが順次格納されるものである。
【００３５】
転送部２０５は、受理キュー２０６の先頭から現在日時が付与されたコンテンツを読み出して、このコンテンツを登録対象のコンテンツとしてデータベースサーバ１１０に送信する処理を行うものである。
【００３６】
図３は、データベースサーバ１１０の機能的構成を示すブロック図である。図３に示すように、データベースサーバ１１０は、受信部３０１，バージョン更新部３０２，登録部３０３，ＨＤＤにコンテンツデータベース１２０を備えている。このＨＤＤは本発明における記憶手段に相当する。
【００３７】
受信部３０１は、アプリケーションサーバ１００からコンテンツデータベース１２０への登録対象のコンテンツを受信するものである。
【００３８】
バージョン更新部３０２は、受信部３０１によって受信した登録対象のコンテンツのバージョンまたはコンテンツデータベース１２０に既に登録済みのコンテンツのバージョンを更新するものである。具体的なバージョンの更新処理については後述する。
【００３９】
登録部３０３は、バージョン更新部３０２によってバージョンが更新された登録対象のコンテンツをコンテンツデータベース１２０に登録する処理を行う。
【００４０】
コンテンツデータベース１２０は、階層型のデータベースであり、コンテンツが登録されている。本実施の形態では、コンテンツデータベース１２０として、電子部品カタログの交換フォーマットの国際標準であるＩＳＯ１３５８４／Ｐａｒｔｓ  Ｌｉｂｒａｒｙ（ＰＬＩＢ）に準拠したデータベースを使用している。このＰＬＩＢに準拠したデータベースは、部品サプライヤが提供する部品の分類項目と属性のデータ構造を統一して、どの部品サプライヤが登録した部品データでも同一の方式で検索できるようにしたものである。
【００４１】
ＰＬＩＢに準拠した本実施の形態のコンテンツデータベース１２０は辞書とコンテンツとから構成される。このコンテンツデータベース１２０は、複数の分類項目を階層的に関連付けた階層構造を有し、最上位分類を除く各分類が唯一の親分類を有し、各分類項目は当該分類項目の分類項目の属性を含む属性を有し、各分類項目には当該分類項目の有する属性のそれぞれに対応する属性値で構成されるコンテンツを登録した構造となっている。
【００４２】
図４は、コンテンツデータベース１２０の辞書の構造の一例を示す説明図である。図４に示すように、コンテンツデータベース１２０の辞書には、「電子製品」という分類項目をルートノードとし、このルートノードに、その子ノードとして「パーソナルコンピュータ」、「デジタルカメラ」という分類項目のノードが関連付けられた階層構造を有している。すなわち、「電子製品」は「パーソナルコンピュータ」、「デジタルカメラ」という２つの分類に細分化されることを示している。本実施の形態のコンテンツデータベース１２０では、階層を２階層としているが、３階層以上の階層構造を有するように構成することもできる。
【００４３】
この階層的に関連付けられた各分類項目は、それぞれ固有の属性（点線で示す）が定められている。各分類項目は、階層構造における当該分類項目の上位階層の分類項目の属性を継承する。例えば、ノード「パーソナルコンピュータ」が有する属性は、ルートノードの「電子製品」に定義される属性（「型番」）と、ノード「パーソナルコンピュータ」に定められた属性（「ＣＰＵ」、「標準メモリ容量」、「標準ディスク容量」）を有する。
【００４４】
また、本実施の形態のコンテンツデータベース１２０では、各分類項目、各属性を識別するコード体系として、全世界で一意なコードであることを保証するＢＳＵコードを使用している。図４では、ノード「電子製品」に“ＡＡＡ０００”、ノード「パーソナルコンピュータ」に“ＡＡＡ００１”、ノード「デジタルカメラ」に“ＡＡＡ００２”のＢＳＵコードを付与し、属性「型番」に“Ｐ１”、属性「ＣＵＰ」に“Ｐ２”、属性「標準メモリ容量」に“Ｐ３”、属性「標準ディスク容量」に“Ｐ４”のＢＳＵコードを付与した例を示している。
【００４５】
このような階層構造のコンテンツデータベース１２０のコンテンツの例としては、図７に示すように、分類階層、属性、コンテンツが格納されている。図７に示すように、コンテンツデータベース１２０のフィールド名「ＣｌａｓｓＢＳＵ」、「バージョン」、「日時」は、システム属性といい、データベースサーバ１１０がコンテンツを管理するための属性であり、図４で示した辞書で定義される属性とは異なるものである。「ＣｌａｓｓＢＳＵ」の値には、該当コンテンツが属する分類の識別子、すなわちＣｌａｓｓＢＳＵコードが格納される。図７の例では、ＣｌａｓｓＢＳＵコードの値は、“ＡＡＡ００１”であ
り、この例で示してある３つのコンテンツは全てノード「パーソナルコンピュータ」に属することを示している。
【００４６】
図４では、ＣｌａｓｓＢＳＵコード“ＡＡＡ００１”において、辞書として定義された辞書属性として、“Ｐ１”、“Ｐ２”、“Ｐ３”、“Ｐ４”の４個の属性があるが、図７では説明の都合上“Ｐ１”、“Ｐ２”のみに値が格納されているものとする。なお、“Ｐ１”は分類“ＡＡＡ００１”に属する製品をユーザが一意に識別するためのキーとなっている。この例のコンテンツデータベース１２０中には、検索キー“Ｐ１”の値が“Ｅ００１”であってバージョンが異なる製品が２個存在する。このようにキー値が同一であっても異なるバージョンのコンテンツを登録しているのは、電子カタログデータの登録や修正のような利用を想定しているからである。
【００４７】
すなわち、コンテンツの編集者や登録者によって初期登録されたコンテンツに誤りがあった場合、そのコンテンツをコンテンツデータベース１２０からチェックアウトして読み出し、読み出したコンテンツを修正し、新しいバージョンを設定してコンテンツデータベース１２０にアプリケーションサーバ１００とデータベースサーバ１１０を介して登録する。このとき、登録したコンテンツに電子部品カタログのデータとしての誤りがあっただけでは、製品自体の型番は変わるものではない。また、一旦、公開してしまったコンテンツのデータを上書きしてしまうと、例えばコンテンツデータベース１２０のコンテンツを検索する検索者がそのコンテンツを検索して、上書きされる前のコンテンツの電子部品を調達するなど、別システムで利用してしまっていた場合に後々不都合が生じる。このため、本実施の形態の電子部品カタログのコンテンツデータベース１２０では、検索キーの値が同一であっても異なるバージョンのコンテンツを登録することとしている。
【００４８】
従って、電子部品カタログとしてコンテンツデータベース１２０のコンテンツを更新する場合には、辞書の検索キーの属性の値（図４及び図７の例では、「型番」）が同一でかつシステム属性「バージョン」を１だけ増加させたコンテンツ、すなわち最新のバージョンを持つコンテンツとして追加登録することとしている。
【００４９】
また、電子部品カタログとしてのコンテンツデータベース１２０の利用では、同一の型番で２つの異なる情報が同時に公開されることはない。すなわち、コンテンツのバージョンは枝分かれするものではないことを前提としている。従って、本実施の形態のコンテンツデータベース１２０では、“バージョン”の値は自然数であり、コンテンツの更新とともにバージョンは１だけインクリメントするものとする。
【００５０】
システム属性「日時」は、アプリケーションサーバ１００がクライアント端末１３０のＷｅｂブラウザ１３１からのコンテンツの登録・修正要求を受理した日時を示す属性である。
【００５１】
なお、本実施の形態のコンテンツデータベース１２０は、上述したように階層型データベースとして構成されているが、これに限定されるものではなく一般的なリレーショナルデータベースを用いることもできる。この場合には、分類項目は存在しないため、図７におけるシステム属性「ＣｌａｓｓＢＳＵ」の欄は存在しない。
【００５２】
次に、以上のように構成された本実施の形態にかかるデータベース管理システムにおけるコンテンツの受理からコンテンツデータベース１２０への登録までの処理について説明する。
【００５３】
まず、ユーザは、クライアント端末１３０のＷｅｂブラウザ１３１から所望のキーを指定してアプリケーションサーバ１００にコンテンツデータベース１２０からコンテンツの
読み出しを要求する。アプリケーションサーバ１００は、チェックアウト部２０４によってクライアント端末１３０で指定された検索キーでコンテンツデータベース１２０から該当するコンテンツを検索するようデータベースサーバ１１０に対して要求する。データベースサーバ１１０は、かかるアプリケーションサーバ１００からの検索要求を受けて、指定された検索キーによってコンテンツを検索し、検索されたもののなかで最新のバージョンのコンテンツをアプリケーションサーバ１００に送信する。
【００５４】
アプリケーションサーバ１００は、データベースサーバ１１０から検索されたコンテンツを受信すると、チェックアウト部２０４によって、受信したコンテンツをクライアント端末１３０に送信してＷｅｂブラウザ１３１に表示させる。
【００５５】
ユーザがクライアント端末１３０でＷｅｂブラウザ１３１に表示されたコンテンツを編集し、アプリケーションサーバ１００に対して編集要求および登録要求を送信する。アプリケーションサーバ１００では、クライアント端末１３０から編集要求および登録要求を受信すると、編集部２０１がチェックアウト部２０４によって取得したコンテンツに対してクライアント端末１３０で行われた編集内容の編集データに応じた編集を行う。そして、編集部２０１は、編集されたコンテンツとともに、編集されたコンテンツのデータベース１２０への登録要求を登録受理部２０２に送信する。登録受理部２０２は、編集部２０１から登録要求と編集されたコンテンツを登録対象のコンテンツとして受理する。
【００５６】
なお、アプリケーションサーバ１００がクライアント端末１３０に最新のバージョンのコンテンツを送信する際には幾つか方法が考えられえる。例えば、「バージョン情報」を含む最新のバージョンのコンテンツ全体を送信しても良いし、アプリケーションサーバ上で最新のバージョンのコンテンツと関連付けたＩＤを生成して「バージョン情報」を除いたコンテンツの一部とそのＩＤのペアからｈｔｍｌページを構成し送信しても良い。
【００５７】
後者の場合、クライアント端末１３０から編集要求及び登録要求を受信した際は、アプリケーションサーバ１００は、関連付けしたＩＤから得られる元々の登録済みのコンテンツから、クライアント端末１３０による編集データに応じたコンテンツを生成し編集部２０１に渡し、編集部２０１によって編集データに従った編集処理を行う。
【００５８】
図５は、編集部２０１によって編集された登録対象のコンテンツのデータベースサーバ１１０に対して登録要求を行う処理の手順を示すフローチャートである。
【００５９】
登録受理部２０２が登録対象のコンテンツを受理すると、時刻情報付与部２０３によって、登録対象のコンテンツに対して受理時点における現在の日時を付与する（ステップＳ５０１）。次に、登録受理部２０２によって、現在の日時が付与された登録対象のコンテンツを受理キュー２０６に登録する（ステップＳ５０２）。このステップＳ５０１の現在の日時の付与、受理キュー２０６への登録処理は、登録受理部２０２が受理した全てのコンテンツに対して行われる（ステップＳ５０３）。
【００６０】
全ての登録対象のコンテンツが受理キューに登録されたら、転送部２０５によって、登録対象のコンテンツを受理キュー２０６の先頭から取得して（ステップＳ５０４）、取得した登録対象のコンテンツをデータベースサーバ１１０に送信する（ステップＳ５０５）。このステップＳ５０４、Ｓ５０５の受理キューからの登録対象のコンテンツの取得、登録対象のコンテンツのデータベースサーバ１１０への送信処理は、受理キュー２０６に格納されている全ての登録対象のコンテンツに対して行われる（ステップＳ５０６）。このような処理によってデータベースサーバ１１０に対するコンテンツの登録要求が行われるが、かかる登録要求は、ネットワーク１５０上の全てのアプリケーションサーバ１００が行っている。
【００６１】
データベースサーバ１１０では、受信部３０１によってアプリケーションサーバ１００から登録対象のコンテンツを受信し、受信した登録対象のコンテンツをバージョン更新部３０２に渡す。
【００６２】
図６は、データベースサーバ１１０のバージョン更新部３０２によるバージョン更新処理の手順を示すフローチャートである。本実施の形態のデータベースサーバ１１０は、クライアント端末１３０からアプリケーションサーバ１００に対して時間的に後から登録要求が行われた登録対象のコンテンツに割り当てられるバージョンが、時間的に先に登録要求が行われた登録対象のコンテンツに割り当てられるバージョンより新しくなるように更新するバージョンポリシーによって、コンテンツのバージョンを更新する。
【００６３】
バージョン更新部３０２では、受信部３０１から登録対象のコンテンツを受け取ると、受け取った登録対象のコンテンツのバージョンを、当該コンテンツ中のバージョンフィールドから取得する（ステップＳ６０１）。
【００６４】
そして、登録対象のコンテンツとキー値が同一で、かつ登録対象のコンテンツよりバージョンが大きい（新しい）コンテンツをコンテンツデータベース１２０から検索し、このようなコンテンツが存在するか否か調べる（ステップＳ６０２）。そして、登録対象のコンテンツと検索キーの値が同一で、かつ登録対象のコンテンツよりバージョンが大きいコンテンツがコンテンツデータベース１２０に存在しないと判断した場合には（ステップＳ６０２：Ｎｏ）、登録対象のコンテンツのバージョンを１だけインクリメントして（ステップＳ６０６）、登録部３０３に渡す（ステップＳ６０５）。そして、登録部３０３によって、バージョンが更新されたコンテンツがコンテンツデータベース１２０に登録される。
【００６５】
一方、ステップＳ６０２において、登録対象のコンテンツと検索キーの値が同一で、かつ登録対象のコンテンツよりバージョンが大きいコンテンツがコンテンツデータベース１２０に存在すると判断した場合には（ステップＳ６０２：Ｙｅｓ）、登録対象のコンテンツと登録対象のコンテンツと同一キーの既に登録済みのコンテンツを時刻の早い順にソートする（ステップＳ６０３）。そして、ソートしたコンテンツの時刻の早い順から値が増えるようにコンテンツのバージョンをふり直す（ステップＳ６０４）。そして、バージョンをふり直した登録対象のコンテンツを登録部３０３に渡し（ステップＳ６０５）、登録部３０３によって、バージョンが更新された登録対象のコンテンツがコンテンツデータベース１２０に登録される。
【００６６】
以上のような処理で、コンテンツのバージョン更新処理およびコンテンツデータベース１２０に対するコンテンツの登録処理が行われる。これによって、コンテンツデータベースには、クライアント端末１３０からアプリケーションサーバ１００に対する登録要求およびアプリケーションサーバ１００による受理が後に行われたコンテンツのバージョンが、先にクライアント端末１３０からの登録要求およびアプリケーションサーバ１００による受理がなされたコンテンツのバージョンより大きい値で更新されて登録されることになる。
【００６７】
次に、このようなアプリケーションサーバ１００およびデータベースサーバ１１０によるコンテンツの登録要求からコンテンツデータベース１２０への登録処理までを具体例をあげて説明する。
【００６８】
図７は、コンテンツデータベース１２０からコンテンツを読み出してから編集し、コンテンツデータベース１２０に登録するまでの流れの中で、クライアント端末１３０のＷｅ
ｂブラウザ１３１でコンテンツが編集されている状態を示す説明図である。
【００６９】
クライアント端末１３０ａ，１３０ｂのユーザは、「属性“Ｐ１”＝“Ｅ００１”」という検索条件でコンテンツデータベース１２０に対して検索要求を行い、コンテンツデータベース１２０からデータベースサーバ１１０、アプリケーションサーバ１００ａを介して読み出す。
【００７０】
この時、キー（この例では属性Ｐ１）の値が同一であるコンテンツに関しては、システム属性「バージョン」が最新のコンテンツが読み出される。次に、クライアント端末１３０ａのユーザが、Ｐ２（キー以外の属性に限る）の値を、図７に示す通り“Ｔ”から“Ｔ’”に修正し、日時「８／８  ９：００」にアプリケーションサーバ１００ａに登録要求を送信して、登録対象のコンテンツのサブミットを行う。このとき、アプリケーションサーバ１００ａでは、同時刻に編集部２０１から登録受理部２０２に登録要求が送信されることになる。
【００７１】
一方、クライアント端末１３０ｂのユーザは、Ｐ２（キー以外の属性に限る）の値を、図７に示す通り“Ｔ”から“Ｔ’’”に修正し、日時「８／８  ９：０１」にアプリケーションサーバ１００ｂに登録要求を送信する。このとき、アプリケーションサーバ１００ｂでは、同時刻に編集部２０１から登録受理部２０２に登録要求が送信されることになる。
【００７２】
図８は、アプリケーションサーバ１００ａ，１００ｂで受理した登録対象のコンテンツがデータベースサーバ１１０に送信され、コンテンツデータベース１２０に登録される処理の流れを示す説明図である。
【００７３】
アプリケーションサーバ１００ａ，１００ｂでは、登録受理部２０２によって編集部２０１からの登録要求および登録対象のコンテンツを受理し、時刻情報付加部２０３によって受理時点の日時を登録対象のコンテンツに付与する。図８に示すように、アプリケーションサーバ１００ａでは、受理時点での日時「８／８  ９：００」が付与され、アプリケーションサーバ１００ｂでは、受理時点での日時「８／８  ９：０１」が付与されることになる。そして、各アプリケーションサーバ１００ａ，１００ｂの登録受理部２０２は、日時が付与された登録対象のコンテンツを受理キュー２０６に登録する。図８は、登録対象のコンテンツが受理キューに登録された状態を示している。
【００７４】
なお、本実施の形態では、登録対象のコンテンツに日時を付与した後で、日時が付与された登録対象のコンテンツを受理キュー２０６に登録しているが、先に登録対象のコンテンツを受理キュー２０６に登録し、登録後、受理キューに登録された登録対象のコンテンツに対して受理時点の日時を付与するように構成してもよい。
【００７５】
次に、アプリケーションサーバ１００ａ，１００ｂの転送部２０５によって、任意のタイミングで受理キュー２０６の先頭から登録対象のコンテンツが読み出されてデータベースサーバ１１０に送信され、データベースサーバ１１０に対してコンテンツデータベース１２０への登録要求が行われる。このとき、各アプリケーションサーバ１００ａ，１００ｂでは任意のタイミングで転送部２０５がデータベースサーバ１１０に登録要求を行うため、各サーバ間で受理時点の時刻の順と同じ順番に登録要求が行われるとは限らず、この結果、コンテンツデータベース１２０への登録順が時刻順とならないという不整合が生じる場合がある。
【００７６】
ここでは、登録対象のコンテンツの受理時点の日時はアプリケーションサーバ１００ａで受理したコンテンツ８０１の方がアプリケーションサーバ１００ｂで受理したコンテン
ツ８０２よりも時間的に先であるが、アプリケーションサーバ１００ｂから先にデータベースサーバ１１０に登録要求が行われた場合を考える。以下、上述した図６のバージョン更新部３０２の処理に従って説明する。
【００７７】
データベースサーバ１１０では、登録対象のコンテンツ８０２を受信部３０１で受信すると、バージョン更新部３０２によって登録対象のコンテンツ８０２のバージョンを取得する（ステップＳ６０１）。図８の例ではバージョン＝２である。そして、コンテンツデータベース１２０の中に、キー値が同一となり、かつバージョンが２より大きいコンテンツが存在するか否か調べる（ステップＳ６０２）。図８の例では、このようなコンテンツが無いため（ステップＳ６０２：Ｎｏ）、登録コンテンツのバージョンを１だけインクリメントし３とする（ステップＳ６０６）。そして、登録対象のコンテンツ８０２を登録部３０３に渡し、登録部３０３は、渡されたコンテンツをコンテンツデータベース１２０に登録する。図８のコンテンツデータベース１２０は、コンテンツ８０２が登録された状態を示している。
【００７８】
このように登録対象のコンテンツ８０２がコンテンツデータベース１２０に登録された後に、コンテンツ８０２より時間的に先の登録対象のコンテンツ８０１がアプリケーションサーバ１００ａからデータベースサーバ１１０に送信されてきたものとする。図９は、登録対象のコンテンツ８０１をコンテンツデータベース１２０に登録する処理の流れを示す説明図である。
【００７９】
データベースサーバ１１０では、登録対象のコンテンツ８０１を受信部３０１で受信すると、バージョン更新部３０２によって登録対象のコンテンツ８０１のバージョンを取得する（ステップＳ６０１）。図９の例ではバージョン＝２である。そして、コンテンツデータベース１２０の中に、キー値が同一となり、かつバージョンが２より大きいコンテンツが存在するか否か調べる（ステップＳ６０２）。図９の例では、アプリケーションサーバ１００ｂからの登録要求によって既にコンテンツデータベース１２０に登録済みのコンテンツ８０２（バージョン＝３）が存在する。このため、登録対象のコンテンツ８０１と登録済みのコンテンツ８０２とを、時刻順にソートして（ステップＳ６０３）、時刻の早い順から値が大きくなるようにバージョンを振り直す（ステップＳ６０４）。これにより、登録対象のコンテンツ８０１はバージョンが３、既に登録済みのコンテンツはバージョンが４に更新されることになる。すなわち、コンテンツのバージョンが、データベースサーバ１１０に対する登録要求の時間に関係なく、アプリケーションサーバ１００ａ，１００ｂに対するクライアントからの編集要求およびアプリケーションサーバ１００ａ，１００ｂの受理の時刻順に設定されることになる。そして、登録対象のコンテンツ８０１を登録部３０３に渡し、登録部３０３は、渡されたコンテンツ８０１をコンテンツデータベース１２０に登録する。図１０は、バージョンが更新されたコンテンツ８０１，８０２が登録された状態のコンテンツデータベース１２０を示す説明図である。
【００８０】
このように本実施の形態のデータベース管理システムでは、複数のアプリケーションサーバ１００のそれぞれは、クライアント端末１３０からの要求によってコンテンツデータベース１２０に既に登録済みのコンテンツを編集した登録対象のコンテンツに日時を示す時刻情報を付与し、時刻情報が付与された登録対象のコンテンツを、データベースサーバ１１０に送信し、データベースサーバ１１０は、アプリケーションサーバ１００のそれぞれから日時が付与された登録対象のコンテンツを受信して、データベースに既に登録済みのコンテンツの中で、受信した前記登録対象のコンテンツ情報と検索キーが同一であって、かつ登録対象のコンテンツ情報よりバージョンが新しい登録済みのコンテンツ情報が存在する場合、登録対象のコンテンツのバージョンと登録済みのコンテンツ情報のバージョンを、日時の早い順で大きくなるように更新してコンテンツデータベース１２０に登録しているので、アプリケーションサーバ１００がネットワーク上に分散している場合に、一
時的にコンテンツのバージョンの矛盾が生じても最終的に日時に基づいて正しいバージョンに更新されるので、比較的緩い運用においてはバージョンの矛盾をさほど問題になることはなく、コンテンツデータベース１２０の一貫性保持を実現しつつ、コンテンツデータベース１２０のコンテンツのバージョン管理を適切かつ効率的に行うことができる。
【００８１】
（実施の形態２）
実施の形態１にかかるデータベース管理システムでは、時間的に後から編集要求がアプリケーションサーバ１００に行われた登録対象のコンテンツに割り当てられるバージョンが、時間的に先に編集要求が行われた登録対象のコンテンツに割り当てられるバージョンより新しくなるように更新するものであったが、この実施の形態２にかかるデータベース管理システムでは、時間的に先に編集要求が行われた登録対象のコンテンツのみをコンテンツデータベース１２０に登録し、時間的に後から編集要求がアプリケーションサーバ１００に行われた登録対象のコンテンツの登録を行わないものである。
【００８２】
実施の形態２にかかるデータベース管理システムの構成、アプリケーションサーバ１００、データベースサーバ１１０およびコンテンツデータベース１２０の構成は、実施の形態１と同様であるので説明を省略する。
【００８３】
また、実施の形態２のアプリケーションサーバ１００によるデータベースサーバ１１０に対するコンテンツの登録要求の処理については実施の形態１と同様であるので説明を省略する。
【００８４】
次に、本実施の形態にかかるデータベースサーバ１１０によるコンテンツの登録処理およびバージョン更新処理について説明する。図１１は、データベースサーバ１１０のバージョン更新部３０２によるバージョン更新処理の手順を示すフローチャートである。本実施の形態のデータベースサーバ１１０は、時間的に先に編集要求がアプリケーションサーバ１００に行われた登録対象のコンテンツのみを登録するバージョンポリシーによって、コンテンツのバージョンを更新する。
【００８５】
実施の形態１のデータベースサーバ１１０と同様に、受信部３０１によってアプリケーションサーバ１００から登録対象のコンテンツを受信する。バージョン更新部３０２では、受信部３０１から登録対象のコンテンツを受け取ると、受け取った登録対象のコンテンツのバージョンを、当該コンテンツ中のバージョンフィールドから取得する（ステップＳ１１０１）。
【００８６】
そして、登録対象のコンテンツとキー値が同一で、かつ登録対象のコンテンツよりバージョンが大きい（新しい）コンテンツをコンテンツデータベース１２０から検索し、このようなコンテンツに存在するか否か調べる（ステップＳ１１０２）。そして、登録対象のコンテンツとキー値が同一で、かつ登録対象のコンテンツよりバージョンが大きいコンテンツがコンテンツデータベース１２０に存在しないと判断した場合には（ステップＳ１１０２：Ｎｏ）、登録対象のコンテンツのバージョンを１だけインクリメントして（ステップＳ１１０７）、登録部３０３に渡す（ステップＳ１１０６）。そして、登録部３０３によって、バージョンが更新されたコンテンツがコンテンツデータベース１２０に登録される。
【００８７】
一方、ステップＳ１１０２において、登録対象のコンテンツとキー値が同一で、かつ登録対象のコンテンツよりバージョンが大きいコンテンツがコンテンツデータベース１２０に存在すると判断した場合には（ステップＳ１１０２：Ｙｅｓ）、登録対象のコンテンツと登録対象のコンテンツと同一キーの既に登録済みのコンテンツの中で、日時フィールドを参照して、日時が最新であるコンテンツを削除する（ステップＳ１１０３）。
【００８８】
次に、ステップＳ１１０３によって削除されたコンテンツがアプリケーションサーバ１００から受信した登録対象のコンテンツであったか否かを判断する（ステップＳ１１０４）。そして、登録対象のコンテンツが削除されていないと判断された場合、すなわち既に登録済みのコンテンツの日時が最新であり、この登録済みのコンテンツが削除されたと判断された場合には（ステップＳ１１０４：Ｎｏ）、アプリケーションサーバ１００から受信した登録対象のコンテンツのバージョンを１だけインクリメントする（ステップＳ１１０５）。そして、バージョンがインクリメントされた登録対象のコンテンツを登録部３０３に渡し（ステップＳ１１０６）、登録部３０３によって、バージョンが更新された登録対象のコンテンツがコンテンツデータベース１２０に登録される。
【００８９】
一方、ステップＳ１１０４において、登録対象のコンテンツが削除されたと判断された場合、すなわち登録対象のコンテンツの日時が最新であり、この登録対象のコンテンツが削除されたと判断された場合には（ステップＳ１１０４：Ｙｅｓ）、登録部３０３に登録対象のコンテンツを渡さずに処理を終了する。以上のような処理で、コンテンツのバージョン更新処理およびコンテンツデータベース１２０に対するコンテンツの登録処理が行われる。これによって、コンテンツデータベースには、アプリケーションサーバ１００に対する編集要求およびアプリケーションサーバ１００による受理が先に行われたコンテンツが登録されることになる。
【００９０】
次に、このようなアプリケーションサーバ１００およびデータベースサーバ１１０によるコンテンツの登録要求からコンテンツデータベース１２０への登録処理までを具体例をあげて説明する。
【００９１】
図１２は、アプリケーションサーバ１００ａ，１００ｂで受理した登録対象のコンテンツがデータベースサーバ１１０に送信され、コンテンツデータベース１２０に登録される処理の流れを示す説明図である。
【００９２】
実施の形態１と同様に、アプリケーションサーバ１００ａは、登録対象のコンテンツに受理時点での日時「８／８  ９：００」を付与して、登録対象のコンテンツ１２０１を受理キューに格納し、アプリケーションサーバ１００ｂでは、登録対象のコンテンツに受理時点での日時「８／８  ９：０１」を付与して受理キュー１２６に格納する。
【００９３】
次に、転送部２０５による登録対象のコンテンツのデータベースサーバ１１０への送信が行われる。本実施の形態においても、実施の形態１と同様に、登録対象のコンテンツの受理時点の日時はアプリケーションサーバ１００ａで受理したコンテンツ１２０１の方がアプリケーションサーバ１００ｂで受理したコンテンツ１２０２よりも時間的に先であるが、アプリケーションサーバ１００ｂから先にデータベースサーバ１１０に登録要求が行われた場合を考える。以下、上述した図１１のバージョン更新部３０２の処理に従って説明する。
【００９４】
データベースサーバ１１０では、登録対象のコンテンツ１２０２を受信部３０１で受信すると、バージョン更新部３０２によって登録対象のコンテンツ１２０２のバージョンを取得する（ステップＳ１１０１）。図１２の例ではバージョン＝２である。そして、コンテンツデータベース１２０の中に、キー値が同一となり、かつバージョンが２より大きいコンテンツが存在するか否か調べる（ステップＳ１１０２）。図１２の例では、このようなコンテンツが無いため（ステップＳ１１０２：Ｎｏ）、登録コンテンツのバージョンを１だけインクリメントし３とする（ステップＳ１１０７）。そして、登録対象のコンテンツ１２０２を登録部３０３に渡し、登録部３０３は、渡されたコンテンツをコンテンツデータベース１２０に登録する。図１２のコンテンツデータベース１２０は、コンテンツ１
２０２が登録された状態を示している。
【００９５】
このように登録対象のコンテンツ１２０２がコンテンツデータベース１２０に登録された後に、コンテンツ８０２より時間的に先の登録対象のコンテンツ１２０１がアプリケーションサーバ１００ａからデータベースサーバ１１０に送信されてきたものとする。
【００９６】
データベースサーバ１１０では、登録対象のコンテンツ１２０１を受信部３０１で受信すると、バージョン更新部３０２によって登録対象のコンテンツ１２０１のバージョンを取得する（ステップＳ１１０１）。図１２の例ではバージョン＝２である。そして、コンテンツデータベース１２０の中に、キー値が同一となり、かつバージョンが２より大きいコンテンツが存在するか否か調べる（ステップＳ１１０２）。図１２の例では、アプリケーションサーバ１００ｂからの登録要求によって既にコンテンツデータベース１２０に登録済みのコンテンツ１２０２（バージョン＝３）が存在する。このため、登録対象のコンテンツ１２０１と登録済みのコンテンツ１２０２のうち日時が新しい登録済みのコンテンツ１２０２を削除する（ステップＳ１１０３）。この例では、登録対象のコンテンツ１２０１が削除されたわけではないので（ステップＳ１１０４：Ｎｏ）、登録対象のコンテンツ１２０１のバージョンを１だけインクリメントして、バージョン＝３とし、登録対象のコンテンツ１２０１を登録部３０３に渡す（ステップＳ１１０６）。登録部３０３は、渡されたコンテンツをコンテンツデータベース１２０に登録する。図１３のコンテンツデータベース１２０は、コンテンツ１２０１が登録された状態を示している。
【００９７】
このように本実施の形態にかかるデータベース管理システムでは、複数のアプリケーションサーバ１００のそれぞれは、クライアント端末１３０からの要求によってコンテンツデータベース１２０に既に登録済みのコンテンツを編集した登録対象のコンテンツに日時を示す時刻情報を付与し、時刻情報が付与された登録対象のコンテンツを、データベースサーバ１１０に送信し、データベースサーバ１１０は、アプリケーションサーバ１００のそれぞれから日時が付与された登録対象のコンテンツを受信して、データベースに既に登録済みのコンテンツの中で、受信した前記登録対象のコンテンツ情報と検索キーが同一であって、かつ登録対象のコンテンツ情報よりバージョンが新しい登録済みのコンテンツ情報が存在する場合、登録対象のコンテンツのバージョンと登録済みのコンテンツ情報のバージョンの中で、日時が最も古いコンテンツ情報を最新のバージョンに更新するので、比較的緩い運用においてはバージョンの矛盾をさほど問題になることはなく、コンテンツデータベース１２０の一貫性保持を実現しつつ、コンテンツデータベース１２０のコンテンツのバージョン管理を適切かつ効率的に行うことができる。
【００９８】
（実施の形態３）
実施の形態１および２のデータベース管理システムでは、コンテンツデータベースとして階層型データベースまたはリレーショナルデータベース等の一般的なデータベースを使用して、登録要求を受理した日時でバージョン管理を行っていたが、実施の形態３のデータベース管理システムでは、コンテンツデータベースとして階層型データベースを用い、日時の情報を使用せずにバージョン管理を行うものである。
【００９９】
本実施の形態のデータベース管理システムは、複数のアプリケーションサーバ１４００と、データベースサーバ１４１０とを有し、実施の形態１と同様のネットワークとなっている。
【０１００】
データベースサーバ１４１０は、そのハードディスクドライブ装置（ＨＤＤ）にコンテンツデーターべース１４２０を記憶しており、アプリケーションサーバ１４００からの要求によってコンテンツデータベース１４２０を構成するコンテンツをコンテンツデータベース１４２０に登録すると共に、コンテンツのバージョン管理を行うものである。
【０１０１】
アプリケーションサーバ１４００は、クライアント端末１３０からの要求によってコンテンツをコンテンツデータベース１４２０からの読み出し、読み出したコンテンツの編集を行うとともに、編集したコンテンツのコンテンツデータベース１４２０への登録要求をデータベースサーバ１４１０に対して行うものである。このアプリケーションサーバ１４００は、本発明における登録処理サーバを構成する。
【０１０２】
アプリケーションサーバ１４００には、インターネットを介してクライアント端末１３０が接続されている。アプリケーションサーバ１４００は、データベースサーバ１４１０のコンテンツデータベースへの各種処理のサービスをクライアント端末１３０に搭載されたＷｅｂブラウザ１３１を介して提供するようになっている。
【０１０３】
図１４は、アプリケーションサーバ１４００の機能的構成を示すブロック図である。図１４に示すように、アプリケーションサーバ１４００は、編集部２０１と登録受理部１４０３とディスパッチ部１４０２とチェックアウト部２０４と転送部２０５と受理キュー２０６と処理サーバテーブル１４０１を主に備えている。
【０１０４】
チェックアウト部２０４、編集部２０１、転送部２０５については実施の形態１のアプリケーションサーバ１４００と同様の機能を有するので説明を省略する。
【０１０５】
処理サーバテーブル１４０１は、登録対象のコンテンツのデータベースサーバ１４１０に対する登録要求を一括して行うアプリケーションサーバ１４００のサーバ名を分類項目（ＣｌａｓｓＢＳＵ）ごとに定義したデータファイルである。この処理サーバテーブル１４０１は、コンテンツデータベース１４２０の分類項目の属性とデータベースサーバ１４１０に対して登録対象のコンテンツの登録要求を一括して行うアプリケーションサーバ１４００のサーバ名とを対応付けたものとなっている。図１６は、処理サーバテーブル１４０１の一例を示す説明図である。図１６に示すように、本実施の形態では、分類項目にサーバ名を対応付けてているが、他にＩＰアドレス等アプリケーションサーバ１４００を識別できる情報を使用することができる。
【０１０６】
ディスパッチ部１４０２は、コンテンツデータベース１４２０に既に登録済みのコンテンツを編集した登録対象のコンテンツを、処理サーバテーブルを参照して、登録対象のコンテンツのＣｌａｓｓＢＳＵコードに対応した分類項目に対するアプリケーションサーバ１４００に登録対象のコンテンツを送信するものである。
【０１０７】
登録受理部１４０３は、処理サーバテーブル１４０１によって自サーバが登録要求を行うように指定されている分類項目の登録対象のコンテンツを受理キュー２０６に格納する処理を行う。この登録対象のコンテンツは他のアプリケーションサーバ１４００でクライアント端末１３０から受信して当該他のアプリケーションサーバから受信する場合と、自サーバ内がクライアント端末１３０から受信する場合がある。
【０１０８】
図１５は、データベースサーバ１４１０の機能的構成を示すブロック図である。図１５に示すように、データベースサーバ１４１０は、受信部３０１，バージョン更新部１４１２，登録部３０３，ＨＤＤにコンテンツデータベース１４２０を備えている。
【０１０９】
受信部３０１は、アプリケーションサーバ１００からコンテンツデータベース１２０への登録対象のコンテンツを受信するものである。
【０１１０】
バージョン更新部１４１２は、受信部３０１によって受信した登録対象のコンテンツのバージョンまたはコンテンツデータベース１４２０に既に登録済みのコンテンツのバージ
ョンを更新するものである。具体的なバージョンの更新処理については後述する。
【０１１１】
登録受理部２０２は、バージョン更新部３０２によってバージョンが更新された登録対象のコンテンツをコンテンツデータベース１４２０に登録する処理を行う。
【０１１２】
本実施の形態におけるコンテンツデータベース１４２０は、階層型データベースのみを用いることができ、リレーショナルデータベースを使用することはできない。このコンテンツデータベース１４２０のデータ構造については、電子部品カタログに関する階層型データベースである。
【０１１３】
次に、以上のように構成された本実施の形態にかかるデータベース管理システムにおけるコンテンツの受理からコンテンツデータベース１４２０への登録までの処理について説明する。
【０１１４】
ユーザは、クライアント端末１３０のＷｅｂブラウザ１３１から、コンテンツデータベース１４２０から所望の分類項目のコンテンツの読み出し要求をアプリケーションサーバ１４００に対して行う。アプリケーションサーバ１４００は、チェックアウト部２０４によってクライアント端末１３０によって指定された分類項目のコンテンツを検索するようデータベースサーバ１４１０に対して要求する。データベースサーバ１４１０は、かかるアプリケーションサーバ１４００からの検索要求を受けて、指定された分類項目のコンテンツを検索し、この検索されたコンテンツをアプリケーションサーバ１４００に送信する。
【０１１５】
アプリケーションサーバ１４００は、データベースサーバ１４１０から検索されたコンテンツを受信すると、チェックアウト部２０４によって、受信したコンテンツをクライアント端末１３０に送信してＷｅｂブラウザ１３１に表示させる。
【０１１６】
ユーザがクライアント端末１３０でＷｅｂブラウザ１３１に表示されたコンテンツを編集し、アプリケーションサーバ１４００に対して編集要求および登録要求を送信する。アプリケーションサーバ１４００では、クライアント端末１３０から編集要求および登録要求を受信すると、編集部２０１がクライアント端末１３０で行われた編集内容をチェックアウト部２０４によって取得したコンテンツに対して行なう。そして、編集部２０１は、編集されたコンテンツとともに、編集されたコンテンツのデータベース１４２０への登録要求を登録受理部１４０３に送信する。登録受理部１４０３は、編集部２０１から登録要求と編集されたコンテンツを登録対象のコンテンツとして受理する。
【０１１７】
図１７は、編集部２０１によって編集された登録対象のコンテンツのデータベースサーバ１１０に対して登録要求する処理の手順を示すフローチャートである。
【０１１８】
登録受理部１４０３が登録対象のコンテンツを受理すると、ディスパッチ部１４０２によって、処理サーバテーブル１４０１を参照し、登録対象のコンテンツの分類項目に対応したアプリケーションサーバ１４００の名称を取得する（ステップＳ１７０１）。そして、ディスパッチ部１４０２によって、取得した名称のアプリケーションサーバ１４００が自サーバであるか否かを判断する（ステップＳ１７０２）。そして、このステップＳ１７０２で自サーバであると判断された場合には（ステップＳ１７０２：Ｙｅｓ）、登録受理部１４０３によって登録対象のコンテンツを受理キュー２０６に登録する（ステップＳ１７０４）。
【０１１９】
一方、ステップＳ１７０２によって、ステップＳ１７０１で処理サーバテーブル１４０１から取得した名称のアプリケーションサーバ１４００が自サーバでないと判断した場合
には、登録対象のコンテンツを、取得した名称のアプリケーションサーバ１４００に送信する。そして、ディスパッチ部１４０２によって、登録受理部１４０３が受理した登録対象のコンテンツがまだ存在するか否かを調べ（ステップＳ１７０５）、受理した全ての登録対象のコンテンツに対して上記ステップＳ１７０１からＳ１７０４までの処理を繰り返し実行する。
【０１２０】
図１８は、アプリケーションサーバ１４００による登録対象のコンテンツのデータベースサーバ１４１０に対する登録要求の手順を示すフローチャートである。この処理を行うアプリケーションサーバ１４００は、処理サーバテーブル１４０１で登録要求処理を一括して行うサーバとして分類項目毎に指定されたアプリケーションサーバ１４００である。
【０１２１】
アプリケーションサーバ１４００では、他のアプリケーションサーバ１４００から登録対象のコンテンツを登録受理部１４０３によって受信し、受信した登録対象のコンテンツを受理キュー２０６に格納する。
【０１２２】
また、自サーバがクライアント端末１３０から受信した登録対象のコンテンツの登録要求の処理を一括して行うサーバである場合には、図１７のステップＳ１７０４において、登録受理部１４０３によって登録対象のコンテンツが受理キュー２０６に登録されている。
【０１２３】
このため、まず、転送部２０５によって、登録対象のコンテンツを受理キュー２０６の先頭から取得して（ステップＳ１８０１）、この取得した登録対象のコンテンツをデータベースサーバ１４１０に送信する（ステップＳ１８０２）。このステップＳ１８０１，Ｓ１８０２の受理キューからの登録対象のコンテンツの取得，登録対象のコンテンツのデータベースサーバ１４１０への送信処理は、受理キュー２０６に格納されている全ての登録対象のコンテンツに対して行われる（ステップＳ１８０３）。このような処理によってデータベースサーバ１４１０に対するコンテンツの登録要求が行われる。
【０１２４】
次に、データベースサーバ１４１０によるコンテンツデータベース１４２０に対する登録対象のコンテンツの登録処理について説明する。データベースサーバ１１０では、受信部３０１によってアプリケーションサーバ１４００から登録対象のコンテンツを受信し、受信した登録対象のコンテンツをバージョン更新部１４１２に渡す。
【０１２５】
図１９は、データベースサーバ１４１０のバージョン更新部１４１２によるバージョン更新処理の手順を示すフローチャートである。本実施の形態のデータベースサーバ１４１０は、時間的に先にデータベースサーバ１４１０に到着した登録対象のコンテンツのバージョンを優先し、後に到着した登録対象のコンテンツのバージョンが新しくなるようにバージョンの更新を行っている。
【０１２６】
バージョン更新部３０２では、受信部３０１から登録対象のコンテンツを受け取ると、この受け取った登録対象のコンテンツのバージョンを、当該コンテンツ中のバージョンフィールドから取得する（ステップＳ１９０１）。
【０１２７】
そして、登録対象のコンテンツと同一の検索キーを有するコンテンツであって、登録対象のよりバージョンが大きい（新しい）コンテンツをコンテンツデータベース１２０から検索し、このようなコンテンツに存在するか否か調べる（ステップＳ１９０２）。そして、登録対象のコンテンツと同一の検索キーの値を有し、バージョンが大きいコンテンツがコンテンツデータベース１２０に存在しないと判断した場合には（ステップＳ１９０２：Ｎｏ）、登録対象のコンテンツのバージョンを１だけインクリメントして（ステップＳ１９０４）、登録部３０３に渡す（ステップＳ１９０５）。そして、登録部３０３によって
、バージョンが更新されたコンテンツがコンテンツデータベース１２０に登録される。
【０１２８】
一方、ステップＳ１９０２において、登録対象のコンテンツと同一の検索キーの値を有し、かつ登録対象のコンテンツよりバージョンが大きいコンテンツがコンテンツデータベース１２０に存在すると判断した場合には（ステップＳ１９０２：Ｙｅｓ）、登録対象のコンテンツのバージョンを、既に登録済みのコンテンツの最大バージョンより１だけ増加して更新する（ステップＳ１９０３）。そして、更新した登録対象のコンテンツを登録部３０３に渡し（ステップＳ１９０４）、登録部３０３によって、バージョンが更新された登録対象のコンテンツがコンテンツデータベース１４２０に登録される。以上のような処理で、コンテンツのバージョン更新処理およびコンテンツデータベース１４２０に対するコンテンツの登録処理が行われる。これによって、コンテンツデータベースには、アプリケーションサーバ１４００に対する編集要求およびアプリケーションサーバ１４００による受理が後に行われたコンテンツがバージョンが先に編集要求および受理がなされたコンテンツのバージョンより大きい値で更新されて登録されることになる。
【０１２９】
次に、このようなアプリケーションサーバ１４００およびデータベースサーバ１４１０によるコンテンツの登録要求からコンテンツデータベース１４２０への登録処理までを具体例をあげて説明する。以下、図１７〜１９の各ステップに対応付けて説明する。
【０１３０】
図２０は、コンテンツデータベース１４２０からコンテンツを読み出してからアプリケーションサーバ１４００ａの受理キュー２０６に格納されるまでの状態を示す説明図である。図２０の例では、コンテンツデータベース１４２０のＣｌａｓｓＢＳＵコード「ＡＡＡ００１」のコンテンツに対して一括してデータベースサーバ１４１０に登録要求するサーバはアプリケーションサーバＡ１４００ａであることが処理サーバテーブル１４０１に定められているものとする（図１６参照）。
【０１３１】
クライアント端末１３０ａ，１３０ｂのユーザは、「属性“Ｐ１”＝“Ｅ００１”」という検索条件でコンテンツデータベース１４２０から検索要求を行い、コンテンツデータベース１４２０からデータベースサーバ１４１０、アプリケーションサーバ１４００ａ，１４００ｂを介して読み出す。
【０１３２】
この時、キー（この例では属性Ｐ１）の値が同一であるコンテンツに関しては、システム属性「バージョン」が最新のコンテンツが読み出される。次に、クライアント端末１３０ａのユーザが、Ｐ２（キー以外の属性に限る）の値を、“Ｔ”から“Ｔ’”に修正し、日時「８／８  ９：００」の時刻にアプリケーションサーバＡ１４００ａに登録要求を送信して、登録対象のコンテンツ２０００ａのサブミットを行う。このとき、アプリケーションサーバＡ１４００ａでは、同時刻に編集部２０１から登録受理部１４０３に登録要求が送信されることになる。
【０１３３】
一方、クライアント端末１３０ｂのユーザは、Ｐ２（キー以外の属性に限る）の値を、“Ｔ”から“Ｔ’’”に修正し、日時「８／８  ９：０１」にアプリケーションサーバＢ１００ｂに登録要求を送信して登録対象のコンテンツ２０００ｂのサブミットを行う。このとき、アプリケーションサーバＢ１４００ｂでは、同時刻に編集部２０１から登録受理部２０２に登録要求が送信されることになる。
【０１３４】
アプリケーションサーバＡ１４００ａ、アプリケーションサーバＢ１４００ｂのそれぞれでは、処理サーバテーブル１４０１を参照して、ＣｌａｓｓＢＳＵが「ＡＡＡ００１」のコンテンツの登録要求を一括して行うサーバを判断する（ステップＳ１７０１）。この例では、アプリケーションサーバＡ１４００ａであるため、アプリケーションサーバＡでは、登録対象のコンテンツ２０００ａを受理キュー２０６に登録する（ステップＳ１７０
４）。
【０１３５】
一方、アプリケーションサーバＢ１４００ｂは、登録対象のコンテンツ２０００ｂをアプリケーションサーバ１４００ａに送信する（ステップＳ１７０３）。アプリケーションサーバＡ１４００ａでは、アプリケーションサーバ１４００ｂから登録対象のコンテンツ２０００ｂを受信して、受信した登録対象のコンテンツ２０００ｂを受理キュー２０６に登録する。
【０１３６】
ここで、アプリケーションサーバＡ１４００ａでは、受理キュー２０６に、登録対象のコンテンツ２０００ａ、登録対象のコンテンツ２０００ｂの順番に登録されたものとする。図２０における受理キュー２０６は、かかる状態を示している。
【０１３７】
図２１は、登録対象のコンテンツ２０００ａがデータベースサーバ１１０に送信され、コンテンツデータベース１４２０に登録される処理の流れを示す説明図である。
【０１３８】
アプリケーションサーバ１４００ａでは、転送部２０５によって、任意のタイミングで受理キュー２０６の先頭から登録対象のコンテンツが読み出されてデータベースサーバ１１０に送信され、データベースサーバ１４１０に対してコンテンツデータベース１４２０への登録要求が行われる。
【０１３９】
図２１の例では、登録対象のコンテンツ２０００ａが受理キュー２０６に先に登録されているため、登録対象のコンテンツ２０００ａから取得されて（ステップＳ１８０１）、データベースサーバ１４１０に送信されて登録要求が行われることになる（ステップＳ１８０２）。
【０１４０】
データベースサーバ１４１０では、登録対象のコンテンツ８０２を受信部３０１で受信すると、バージョン更新部１４１２によって登録対象のコンテンツ２０００ａのバージョンを取得する（ステップＳ１９０１）。図２１の例ではバージョン＝２である。そして、コンテンツデータベース１４２０の中に、登録対象のコンテンツ２０００ａと同一の検索キーの値を有し、かつバージョンが２より大きいコンテンツが存在するか否か調べる（ステップＳ１９０２）。図２１の例では、このようなコンテンツが無いため（ステップＳ１９０２：Ｎｏ）、登録対象のコンテンツ２０００ａのバージョンを１だけインクリメントし３とする（ステップＳ１９０４）。そして、登録対象のコンテンツ２０００ａを登録部３０３に渡し、登録部３０３は、渡されたコンテンツをコンテンツデータベース１４２０に登録する。図２１のコンテンツデータベース１４２０は、コンテンツ２０００ａが登録された状態を示している。
【０１４１】
図２２は、登録対象のコンテンツ２０００ｂをコンテンツデータベース１４２０に登録する処理の流れを示す説明図である。
【０１４２】
アプリケーションサーバ１４００ａでは、転送部２０５によって、受理キュー２０６にまだ格納されている登録対象のコンテンツ２０００ｂを取得して（ステップＳ１８０１）、データベースサーバ１４１０に送信する（ステップＳ１８０２）。
【０１４３】
データベースサーバ１４１０では、登録対象のコンテンツ２０００ｂを受信部３０１で受信すると、バージョン更新部３０２によって登録対象のコンテンツ２０００ｂのバージョンを取得する（ステップＳ１９０１）。図２１の例ではバージョン＝２である。そして、コンテンツデータベース１４２０の中に、登録対象のコンテンツ２０００ｂと同一の検索キーの値を有し、かつバージョンが２より大きいコンテンツが存在するか否か調べる（ステップＳ１９０２）。図２２の例では、アプリケーションサーバ１４００ａからの登録
要求によって既にコンテンツデータベース１４２０に登録済みのコンテンツ２０００ａ（バージョン＝３）が存在し、このコンテンツのキーの最大バージョンはコンテンツ２０００ａのバージョンである３である。このため、登録対象のコンテンツ２０００ｂのバージョンを最大バージョン３より１だけ大きい４に更新する（ステップＳ１９０３）。そして、登録対象のコンテンツ２０００ｂを登録部３０３に渡し、登録部３０３は、渡されたコンテンツ２０００ｂをコンテンツデータベース１４２０に登録する。図２２に示すコンテンツデータベース１４２０は、バージョンが更新されたコンテンツ２０００ａ，２０００ｂが登録された状態を示している。
【０１４４】
このように本実施の形態にかかるデータベース管理システムでは、コンテンツの分類を示す階層構造の分類項目と該分類項目に対応する属性と該属性に対応する属性値と該コンテンツのバージョンを含むコンテンツ情報が登録された階層型データベースを管理する際に、複数のアプリケーションサーバ１４００のそれぞれは、クライアント端末１３０からの要求によってデータベースに既に登録済みのコンテンツを編集した登録対象のコンテンツを、分類項目とデータベースサーバ１４１０に対して登録対象のコンテンツ情報の登録要求を一括して行うアプリケーションサーバ１４００のサーバ名称とを対応付けた処理サーバテーブル１４０１とに基づいて、登録対象のコンテンツ情報に含まれる分類項目に対応したアプリケーションサーバ１４００に送信し、他のアプリケーションサーバ１４００から登録対象のコンテンツを受信した場合に、受信したコンテンツをデータベースサーバ１４１０に一括して送信し、データベースサーバ１４１０は、アプリケーションサーバ１４００から登録対象のコンテンツを受信し、データベースに既に登録済みのコンテンツの中で、受信した登録対象のコンテンツと分類項目の検索キーが同一であって、かつ登録対象のコンテンツよりバージョンが新しい登録済みのコンテンツが存在するか否かを判断して、このようなコンテンツが存在する場合には、登録対象のコンテンツのバージョンを、登録済みのコンテンツの最新バージョンより１だけ増加して更新しているので、アプリケーションサーバ１４００がネットワーク上に分散している場合においても分類項目ごとに一括してデータベースサーバ１４１０に登録要求することによって登録要求のタイミングにずれが生じすることがなく、比較的緩い運用においてデータベースの一貫性保持を実現しつつ、データベースのコンテンツ情報のバージョン管理を適切かつ効率的に行うことができるという効果を奏する。
【０１４５】
（実施の形態４）
実施の形態３にかかるデータベース管理システムでは、時間的に先にデータベースサーバ１４１０に到着した登録対象のコンテンツを優先し、後に到着したコンテンツのバージョンを新しくするようにバージョンの更新を行うものであったが、この実施の形態４にかかるデータベース管理システムでは、先に到着した登録対象のコンテンツがコンテンツデータベース１４２０に登録されると、その後の修正を許可せずにコンテンツデータベース１４２０への登録を行わないものである。
【０１４６】
実施の形態４にかかるデータベース管理システムの構成、アプリケーションサーバ１４００、データベースサーバ１４１０およびコンテンツデータベース１４２０の構成は、実施の形態３と同様であるので説明を省略する。
【０１４７】
また、実施の形態４のアプリケーションサーバ１４００によるデータベースサーバ１４１０に対するコンテンツの登録要求の処理については実施の形態３と同様であるので説明を省略する。
【０１４８】
次に、本実施の形態にかかるデータベースサーバ１４１０によるコンテンツの登録処理およびバージョン更新処理について説明する。図２３は、データベースサーバ１４１０のバージョン更新部１４１２によるバージョン更新処理の手順を示すフローチャートである
。本実施の形態のデータベースサーバ１４１０は、時間的に先に編集要求がアプリケーションサーバ１４００に行われた登録対象のコンテンツのみを登録するバージョンポリシーによって、コンテンツのバージョンを更新する。
【０１４９】
まず、データベースサーバ１４１０は、実施の形態３と同様に、受信部３０１によってアプリケーションサーバ１４００から登録対象のコンテンツを受信する。バージョン更新部１４１２では、受信部３０１から登録対象のコンテンツを受け取ると、受け取った登録対象のコンテンツのバージョンを、当該コンテンツ中のバージョンフィールドから取得する（ステップＳ２３０１）。
【０１５０】
そして、登録対象のコンテンツよりバージョンが大きい（新しい）コンテンツをコンテンツデータベース１４２０から検索し、このようなコンテンツに存在するか否か調べる（ステップＳ２３０２）。そして、登録対象のコンテンツよりバージョンが大きいコンテンツがコンテンツデータベース１２０に存在しないと判断した場合には（ステップＳ２３０２：Ｎｏ）、登録対象のコンテンツのバージョンを１だけインクリメントして（ステップＳ２３０４）、登録部３０３に渡す（ステップＳ２３０５）。そして、登録部３０３によって、バージョンが更新されたコンテンツがコンテンツデータベース１４２０に登録される。
【０１５１】
一方、ステップＳ２３０２において、登録対象のコンテンツよりバージョンが大きいコンテンツがコンテンツデータベース１４２０に存在すると判断した場合には（ステップＳ２３０２：Ｙｅｓ）、登録対象のコンテンツを削除する（ステップＳ２３０３）。これによって、登録対象のコンテンツはコンテンツデータベース１４２０に登録されず、時間的に先に編集要求がアプリケーションサーバ１４００に行われた登録対象のコンテンツのみが登録されることになる。
【０１５２】
次に、このようなアプリケーションサーバ１４００およびデータベースサーバ１４１０によるコンテンツの登録要求からコンテンツデータベース１４２０への登録処理までを具体例をあげて説明する。
【０１５３】
図２４は、アプリケーションサーバ１４００ａ，１４００ｂで受理した登録対象のコンテンツがデータベースサーバ１１０に送信され、コンテンツデータベース１２０に登録される処理の流れを示す説明図である。ここで、コンテンツデータベース１４２０からコンテンツを読み出してからアプリケーションサーバ１４００ａの受理キュー２０６に格納されるまでの処理および状態は、図２０を参照して説明した実施の形態３と同様である。
【０１５４】
すなわち、実施の形態３と同様に、アプリケーションサーバ１４００ａの受理キューには自サーバで受理した登録対象のコンテンツ２０００ａとアプリケーションサーバ１４００ｂから受信した登録対象のコンテンツ２０００ｂが順に登録され、登録対象のコンテンツ２０００ａのデータベースサーバ１４１０対する登録要求が先に行われて、コンテンツデータベース１４２０にバージョン３として先に登録されているものとする。図２４のコンテンツデータベース１４２０ではかかる状態を示している。
【０１５５】
次に、転送部２０５による登録対象のコンテンツ２０００ｂのデータベースサーバ１４１０への送信が行われる。
【０１５６】
データベースサーバ１４１０では、登録対象のコンテンツ２０００ｂを受信部３０１で受信すると、バージョン更新部１４１２によって登録対象のコンテンツ２０００ｂのバージョンを取得する（ステップＳ２３０１）。図２４の例ではバージョン＝２である。そして、コンテンツデータベース１２０の中に、バージョンが２より大きいコンテンツが存在
するか否か調べる（ステップＳ２３０２）。図２４の例では、既にコンテンツデータベース１４２０に登録済みのコンテンツ２０００ａ（バージョン＝３）が存在する。このため、登録対象のコンテンツ２０００ｂを削除して（ステップＳ２３０３）、コンテンツデータベース１４２０への登録を行わないこととする。図２５は、最終的なコンテンツデータベース１４２０の内容を示す説明図である。図２５に示すように、コンテンツデータベース１４２０には、先にデータベースサーバ１４１０に登録要求がなされたコンテンツ２０００ａのみがバージョン３として登録されており、後に登録要求がなされたコンテンツ２０００ｂは登録されていない。
【０１５７】
このように本実施の形態にかかるデータベース管理システムでは、コンテンツの分類を示す階層構造の分類項目と該分類項目に対応する属性と該属性に対応する属性値と該コンテンツのバージョンを含むコンテンツ情報が登録された階層型データベースを管理する際に、複数のアプリケーションサーバ１４００のそれぞれは、クライアント端末１３０からの要求によってデータベースに既に登録済みのコンテンツを編集した登録対象のコンテンツを、分類項目とデータベースサーバ１４１０に対して登録対象のコンテンツ情報の登録要求を一括して行うアプリケーションサーバ１４００のサーバ名称とを対応付けた処理サーバテーブル１４０１とに基づいて、登録対象のコンテンツ情報に含まれる分類項目に対応したアプリケーションサーバ１４００に送信し、他のアプリケーションサーバ１４００から登録対象のコンテンツを受信した場合に、受信したコンテンツをデータベースサーバ１４１０に一括して送信し、データベースサーバ１４１０は、アプリケーションサーバ１４００から登録対象のコンテンツを受信し、データベースに既に登録済みのコンテンツの中で、受信した登録対象のコンテンツと分類項目の検索キーが同一であって、かつ登録対象のコンテンツよりバージョンが新しい登録済みのコンテンツが存在するか否かを判断して、このようなコンテンツが存在する場合には、登録対象のコンテンツ情報を削除して、後から登録要求されたコンテンツを登録しないこととしているので、アプリケーションサーバ１４００がネットワーク上に分散している場合においても分類項目ごとに一括してデータベースサーバ１４１０に登録要求することによって登録要求のタイミングにずれが生じすることがなく、比較的緩い運用においてデータベースの一貫性保持を実現しつつ、データベースのコンテンツ情報のバージョン管理を適切かつ効率的に行うことができる。
【０１５８】
なお、実施の形態３および４のデータベース管理システムにおいては、階層型のコンテンツデータベース１４２０としてＰＬＩＢを使用したが、これに限定されるものではなく、分類項目が階層的に定義されている階層型データベースであればいずれのデータベースを使用することができる。
【産業上の利用可能性】
【０１５９】
本発明のデータベース管理システム、データベース管理方法、データベース登録要求プログラムおよびデータベース管理プログラムは、データベースサーバに対してコンテンツ情報の登録要求を行う登録処理サーバがネットワーク上に複数分散している形態のデータベース管理システム、データベース管理方法、データベース登録要求プログラムおよびデータベース管理プログラムに適している。
【図面の簡単な説明】
【０１６０】
【図１】実施の形態１にかかるデータベース管理システムのネットワーク構成を示す説明図である。
【図２】アプリケーションサーバ１００の機能的構成を示すブロック図である。
【図３】データベースサーバ１１０の機能的構成を示すブロック図である。
【図４】コンテンツデータベース１２０の辞書の構造の一例を示す説明図である。
【図５】編集部２０１によって編集された登録対象のコンテンツのデータベースサーバ１１０に対して登録要求を行う処理の手順を示すフローチャートである。
【図６】データベースサーバ１１０のバージョン更新部３０２によるバージョン更新処理の手順を示すフローチャートである。
【図７】コンテンツデータベース１２０からコンテンツを読み出してから編集し、コンテンツデータベース１２０に登録するまでの流れの中で、クライアント端末１３０のＷｅｂブラウザ１３１でコンテンツが編集されている状態を示す説明図である。
【図８】アプリケーションサーバ１００ａ，１００ｂで受理した登録対象のコンテンツがデータベースサーバ１１０に送信され、コンテンツデータベース１２０に登録される処理の流れを示す説明図である。
【図９】登録対象のコンテンツ８０１をコンテンツデータベース１２０に登録する処理の流れを示す説明図である。
【図１０】バージョンが更新されたコンテンツ８０１，８０２が登録された状態のコンテンツデータベース１２０を示す説明図である。
【図１１】データベースサーバ１１０のバージョン更新部３０２によるバージョン更新処理の手順を示すフローチャートである。
【図１２】アプリケーションサーバ１００ａ，１００ｂで受理した登録対象のコンテンツがデータベースサーバ１１０に送信され、コンテンツデータベース１２０に登録される処理の流れを示す説明図である。
【図１３】コンテンツデータベース１２０にコンテンツ１２０１が登録された状態を示す説明図である。
【図１４】実施の形態２にかかるアプリケーションサーバ１４００の機能的構成を示すブロック図である。
【図１５】実施の形態２にかかるデータベースサーバ１４１０の機能的構成を示すブロック図である。
【図１６】処理サーバテーブル１４０１の一例を示す説明図である。
【図１７】編集部２０１によって編集された登録対象のコンテンツのデータベースサーバ１１０に対して登録要求する処理の手順を示すフローチャートである。
【図１８】アプリケーションサーバ１４００による登録対象のコンテンツのデータベースサーバ１４１０に対する登録要求の手順を示すフローチャートである。
【図１９】データベースサーバ１４１０のバージョン更新部１４１２によるバージョン更新処理の手順を示すフローチャートである。
【図２０】コンテンツデータベース１４２０からコンテンツを読み出してからアプリケーションサーバ１４００ａの受理キュー２０６に格納されるまでの状態を示す説明図である。
【図２１】登録対象のコンテンツ２０００ａがデータベースサーバ１１０に送信され、コンテンツデータベース１４２０に登録される処理の流れを示す説明図である。
【図２２】登録対象のコンテンツ２０００ｂをコンテンツデータベース１４２０に登録する処理の流れを示す説明図である。
【図２３】データベースサーバ１４１０のバージョン更新部１４１２によるバージョン更新処理の手順を示すフローチャートである。
【図２４】アプリケーションサーバ１４００ａ，１４００ｂで受理した登録対象のコンテンツがデータベースサーバ１１０に送信され、コンテンツデータベース１２０に登録される処理の流れを示す説明図である。
【図２５】最終的なコンテンツデータベース１４２０の内容を示す説明図である。
【符号の説明】
【０１６１】
１００，１００ａ，１００ｂ  アプリケーションサーバ
１１０  データベースサーバ
１２０  コンテンツデータベース
１２６  受理キュー
１３０，１３０ａ，１３０ｂ  クライアント端末
１３１  Ｗｅｂブラウザ
１４０  インターネット
１５０  ネットワーク
２０１  編集部
２０２  登録受理部
２０３  時刻情報付加部
２０４  チェックアウト部
２０５  転送部
２０６  受理キュー
３０１  受信部
３０２  バージョン更新部
３０３  登録部
８０１，８０２  コンテンツ
１２０１、１２０２  コンテンツ
１４００，１４００ａ，１４００ｂ  アプリケーションサーバ
１４０１  処理サーバテーブル
１４０２  ディスパッチ部
１４０３  登録受理部
１４１０  データベースサーバ
１４１２  バージョン更新部
１４２０  コンテンツデータベース
２０００ａ，２０００ｂ  コンテンツ
【図１】
2005216167.tif 000003
【図２】
2005216167.tif 000004
【図３】
2005216167.tif 000005
【図４】
2005216167.tif 000006
【図５】
2005216167.tif 000007
【図６】
2005216167.tif 000008
【図７】
2005216167.tif 000009
【図８】
2005216167.tif 000010
【図９】
2005216167.tif 000011
【図１０】
2005216167.tif 000012
【図１１】
2005216167.tif 000013
【図１２】
2005216167.tif 000014
【図１３】
2005216167.tif 000015
【図１４】
2005216167.tif 000016
【図１５】
2005216167.tif 000017
【図１６】
2005216167.tif 000018
【図１７】
2005216167.tif 000019
【図１８】
2005216167.tif 000020
【図１９】
2005216167.tif 000021
【図２０】
2005216167.tif 000022
【図２１】
2005216167.tif 000023
【図２２】
2005216167.tif 000024
【図２３】
2005216167.tif 000025
【図２４】
2005216167.tif 000026
【図２５】
2005216167.tif 000027