(57)【特許請求の範囲】
【請求項１】
複数のデータベース装置に格納された複数のレコードをキャッシングするストレージ装置であって、
複数のデータベース装置に格納された複数のレコードのそれぞれを、各レコードに含まれる複数のアイテムを含むファイルとして取得するレコード取得部であって、各ファイル内に含まれるアイテムは、該ファイルに対応するレコードを特定するための第１の情報、該レコードの新しさを示すバージョン情報である第２の情報、及び前記複数のデータベース装置のうち該レコードを格納しているデータベース装置を特定するための第３の情報を含み、各ファイルは、該ファイルに含まれる第１の情報に基づいて特定し得るファイル名を有している、該レコード取得部と、
前記レコード取得部によって取得されたファイルを格納する格納部と、
該ストレージ装置に接続されたサーバ装置から、前記複数のデータベース装置に格納された何れかのレコードに含まれる第１の情報を受信する受信部と、
前記格納部から、前記受信部によって受信された前記第１の情報に基づいて特定されるファイルを検索する検索部と、
前記サーバ装置に、前記検索部によって検索された前記ファイルを送信するファイル送信部と、
を備えるストレージ装置。
【請求項２】
前記第１の情報は、該第１の情報によって特定されるレコードの識別情報であり、
前記検索部は、前記格納部に格納された複数のファイルから前記受信部によって受信された第１の情報を含むファイル名を有するファイルを検索する、請求項１に記載のストレージ装置。
【請求項３】
前記レコード取得部は、新たに取得したファイルに含まれる第１の情報によって特定されるファイル名と同じファイル名を有する既存のファイルが前記格納部に存在する場合に、該新たに取得したファイルにより前記既存のファイルを上書きする、請求項１又は２に記載のストレージ装置。
【請求項４】
コンピュータを、
複数のデータベース装置に格納された複数のレコードのそれぞれを、各レコードに含まれる複数のアイテムを含むファイルとして取得するレコード取得部であって、各ファイル内に含まれるアイテムは、該ファイルに対応するレコードを特定するための第１の情報、該レコードの新しさを示すバージョン情報である第２の情報、及び前記複数のデータベース装置のうち該レコードを格納しているデータベース装置を特定するための第３の情報を含み、各ファイルは、該ファイルに含まれる第１の情報に基づいて特定し得るファイル名を有している、該レコード取得部と、
前記レコード取得部によって取得されたファイルを格納する格納部と、
該コンピュータに接続されたサーバ装置から、前記複数のデータベース装置に格納された何れかのレコードに含まれる第１の情報を受信する受信部と、
前記格納部から、前記受信部によって受信された前記第１の情報に基づいて特定されるファイルを検索する検索部と、
前記サーバ装置に、前記検索部によって検索された前記ファイルを送信するファイル送信部と、
として機能させるプログラム。
【請求項５】
前記第１の情報は、該第１の情報によって特定されるレコードの識別情報であり、
前記検索部は、前記格納部に格納された複数のファイルから前記受信部によって受信された第１の情報を含むファイル名を有するファイルを検索する、請求項４に記載のプログラム。
【請求項６】
前記レコード取得部は、新たに取得したファイルに含まれる第１の情報によって特定されるファイル名と同じファイル名を有する既存のファイルが前記格納部に存在する場合に、該新たに取得したファイルにより前記既存のファイルを上書きする、請求項４又は５に記載のプログラム。
【請求項７】
複数のデータベース装置に格納された複数のレコードをキャッシングするストレージ装置及び該複数のデータベース装置に接続されたサーバ装置であって、
端末から、前記複数のデータベース装置に格納されたレコードに対する取得要求であって、レコードを特定するための情報である第１の情報を含む該取得要求を受信する取得要求受信部と、
前記取得要求受信部によって受信された前記取得要求に含まれる前記第１の情報を前記ストレージ装置に送信する取得要求送信部と、
前記取得要求送信部によって送信された前記第１の情報に基づいて前記ストレージ装置から送信されるファイルを受信し、該ファイルは前記第１の情報によって特定されるレコードに含まれる複数のアイテムを含み、該ファイル内に含まれるアイテムは、該レコードを特定するための前記第１の情報に加え、該レコードの新しさを示すバージョン情報である第２の情報、及び前記複数のデータベース装置のうち該レコードを格納しているデータベース装置を特定するための第３の情報を含む、ファイル受信部と、
前記ファイル受信部によって受信された前記ファイル又は該ファイル内に含まれるアイテムを前記端末に送信するデータ送信部と、
を備えるサーバ装置。
【請求項８】
該サーバ装置に接続された端末からの所定の要求に応答して、前記ファイル受信部によって受信された前記ファイルに含まれる前記第３の情報に基づき特定されるデータベース装置に、該ファイルに含まれる前記第１の情報及び前記第２の情報を含む最新レコード取得要求を送信する最新レコード要求送信部と、
前記最新レコード取得要求を受信した前記データベース装置が、該最新レコード取得要求に含まれる前記第１の情報を含むレコードであって該最新レコード取得要求に含まれる第２の情報によって特定される新しさより新しい最新のレコードを有する場合に、該データベース装置から該最新のレコードを、該最新のレコードに含まれるアイテムを含むファイルとして受信し、該最新のレコードが存在しない場合には、最新のレコードが存在しないことを示す情報を受信する応答受信部と、
前記応答受信部によって受信された前記ファイル又は該ファイル内に含まれるアイテムを前記所定の要求をしてきた前記端末に送信する最新データ送信部と、
を更に備える請求項７に記載のサーバ装置。
【請求項９】
コンピュータを、
複数のデータベース装置に格納された複数のレコードをキャッシングするストレージ装置及び該複数のデータベース装置に接続されたサーバ装置であって、
端末から、前記複数のデータベース装置に格納されたレコードに対する取得要求であって、レコードを特定するための情報である第１の情報を含む該取得要求を受信する取得要求受信部と、
該サーバ装置の前記取得要求受信部によって受信された前記取得要求に含まれる前記第１の情報を前記ストレージ装置に送信する取得要求送信部と、
前記取得要求送信部によって送信された前記第１の情報に基づいて前記ストレージ装置から送信されるファイルを受信し、該ファイルは前記第１の情報によって特定されるレコードに含まれる複数のアイテムを含み、該ファイル内に含まれるアイテムは、該レコードを特定するための前記第１の情報に加え、該レコードの新しさを示すバージョン情報である第２の情報、及び前記複数のデータベース装置のうち該レコードを格納しているデータベース装置を特定するための第３の情報を含む、ファイル受信部と、
前記ファイル受信部によって受信された前記ファイル又は該ファイル内に含まれるアイテムを前記端末に送信するデータ送信部と、を備えるサーバ装置
として機能させるプログラム。
【請求項１０】
前記コンピュータを、
該サーバ装置に接続された端末からの所定の要求に応答して、前記ファイル受信部によって受信された前記ファイルに含まれる前記第３の情報に基づき特定されるデータベース装置に、該ファイルに含まれる前記第１の情報及び前記第２の情報を含む最新レコード取得要求を送信する最新レコード要求送信部と、
前記最新レコード取得要求を受信した前記データベース装置が、該最新レコード取得要求に含まれる前記第１の情報を含むレコードであって該最新レコード取得要求に含まれる第２の情報によって特定される新しさより新しい最新のレコードを有する場合に、該データベース装置から該最新のレコードを、該最新のレコードに含まれるアイテムを含むファイルとして受信し、該最新レコード取得要求に含まれる前記第１の情報を含むレコードであって該最新レコード取得要求に含まれる第２の情報によって特定される新しさより新しい最新のレコードが存在しない場合には、最新のレコードが存在しないことを示す情報を受信する応答受信部と、
前記応答受信部によって受信された前記ファイル又は該ファイル内に含まれるアイテムを前記所定の要求をしてきた前記端末に送信する最新データ送信部と、を更に備えるサーバ装置
として機能させる請求項９に記載のプログラム。
【請求項１１】
請求項１に記載のストレージ装置と、
請求項７又は８に記載のサーバ装置と、
を備えるストレージシステム。
【請求項１２】
ストレージ装置のレコード取得部が、複数のデータベース装置に格納された複数のレコードのそれぞれを、各レコードに含まれる複数のアイテムを含むファイルとして取得するステップであって、各ファイル内に含まれるアイテムは、該ファイルに対応するレコードを特定するための第１の情報、該レコードの新しさを示すバージョン情報である第２の情報、及び前記複数のデータベース装置のうち該レコードを格納しているデータベース装置を特定するための第３の情報を含み、各ファイルは、前記第１の情報に基づいて特定し得るファイル名を有している、該ステップと、
前記ストレージ装置の格納部が、レコード取得部によって取得されたファイルを格納するステップと、
前記ストレージ装置の受信部が、該ストレージ装置に接続されたサーバ装置から、前記複数のデータベース装置に格納された何れかのレコードに含まれる第１の情報を受信するステップと、
前記ストレージ装置の検索部が、前記格納部から、前記受信部によって受信された前記第１の情報に基づいて特定されるファイルを検索するステップと、
前記ストレージ装置のファイル送信部が、前記サーバ装置に、前記検索部によって検索された前記ファイルを送信するステップと、
を含む方法。
【請求項１３】
前記第１の情報は、該第１の情報によって特定されるレコードの識別情報であり、
前記検索するステップにおいて、前記ストレージ装置の検索部が、前記格納部に格納された複数のファイルから前記ストレージ装置の受信部によって受信された第１の情報を含むファイル名を有するファイルを検索する、請求項１２に記載の方法。
【請求項１４】
前記ストレージ装置の前記レコード取得部が、新たに取得したファイルに含まれる第１の情報によって特定されるファイル名と同じファイル名を有する既存のファイルが前記格納部に存在する場合に、該新たに取得したファイルにより前記既存のファイルを上書きするステップを更に含む、請求項１２又は１３に記載の方法。
【請求項１５】
複数のデータベース装置に格納された複数のレコードをキャッシングするストレージ装置であって、
複数のデータベース装置に格納された複数のレコードのそれぞれを、各レコードに含まれる複数のアイテムを含むファイルとして取得するレコード取得部であって、各ファイル内に含まれるアイテムは、該ファイルに対応するレコードを特定するための第１の情報、該レコードの新しさを示すバージョン情報である第２の情報、及び前記複数のデータベース装置のうち該レコードを格納しているデータベース装置を特定するための第３の情報を含み、各ファイルは、前記第１の情報に基づいて特定し得るファイル名を有している、該レコード取得部と、
前記レコード取得部によって取得されたファイルを格納する格納部と、
端末から、前記複数のデータベース装置に格納されたレコードに対する取得要求であって、レコードを特定するための情報である第１の情報を含む該取得要求を受信する取得要求受信部と、
前記格納部から、前記取得要求受信部によって受信された前記取得要求に含まれる前記第１の情報に基づいて特定されるファイルを検索する検索部と、
前記端末に、前記検索部によって検索された前記ファイル、又は、該ファイル内に含まれる複数のアイテムを送信するデータ送信部と、
を備えるストレージ装置。
【請求項１６】
前記端末から送信される所定の要求に応答して、前記検索部によって検索した前記ファイルに含まれる第３の情報に基づいて特定されるデータベース装置に、該ファイルに含まれる第１の情報及び第２の情報を含む最新レコード取得要求を送信する最新レコード要求送信部と、
前記最新レコード取得要求を受信した前記データベース装置が、該最新レコード取得要求に含まれる前記第１の情報を含むレコードであって該最新レコード取得要求に含まれる第２の情報によって特定される新しさより新しい最新のレコードを有する場合に、該データベース装置から該最新のレコードを、該最新のレコードに含まれるアイテムを含むファイルとして受信し、該最新レコード取得要求に含まれる前記第１の情報を含むレコードであって該最新レコード取得要求に含まれる第２の情報によって特定される新しさより新しい最新のレコードが存在しない場合には、最新のレコードが存在しないことを示す情報を受信する応答受信部と、
前記端末に前記応答受信部によって受信された前記ファイル、又は、該ファイル内に含まれる複数のアイテムを送信する最新データ送信部と、
を更に備える、請求項１５に記載のストレージ装置。
【請求項１７】
前記第１の情報は、該第１の情報によって特定されるレコードの識別情報であり、
前記検索部は、前記格納部に格納された複数のファイルから前記取得要求受信部によって受信された第１の情報を含むファイル名を有するファイルを検索する、請求項１５又は１６に記載のストレージ装置。
【請求項１８】
前記レコード取得部は、新たに取得したファイルに含まれる第１の情報によって特定されるファイル名と同じファイル名を有する既存のファイルが前記格納部に存在する場合に、該新たに取得したファイルにより前記既存のファイルを上書きする、請求項１５〜１７の何れか一項に記載のストレージ装置。
【請求項１９】
ストレージ装置のレコード取得部が、複数のデータベース装置に格納された複数のレコードのそれぞれを、各レコードに含まれる複数のアイテムを含むファイルとして取得するステップであって、各ファイル内に含まれるアイテムは、該ファイルに対応するレコードを特定するための第１の情報、該レコードの新しさを示すバージョン情報である第２の情報、及び前記複数のデータベース装置のうち該レコードを格納しているデータベース装置を特定するための第３の情報を含み、各ファイルは、前記第１の情報に基づいて特定し得るファイル名を有している、該ステップと、
前記ストレージ装置の格納部が、前記レコード取得部によって取得されたファイルを格納するステップと、
前記ストレージ装置の取得要求受信部が、端末から、前記複数のデータベース装置に格納されたレコードに対する取得要求であって、レコードを特定するための情報である第１の情報を含む該取得要求を受信するステップと、
前記ストレージ装置の検索部が、前記格納部から、前記取得要求受信部によって受信された前記取得要求に含まれる前記第１の情報に基づいて特定されるファイルを検索するステップと、
前記ストレージ装置のデータ送信部が、前記端末に、前記検索部によって検索された前記ファイル、又は、該ファイル内に含まれる複数のアイテムを送信するステップと、
を含む方法。
【請求項２０】
前記第１の情報は、該第１の情報によって特定されるレコードの識別情報であり、
前記検索するステップにおいて、前記ストレージ装置の検索部は、前記格納部に格納された複数のファイルから前記取得要求受信部によって受信された第１の情報を含むファイル名を有するファイルを検索する、請求項１９に記載の方法。
【請求項２１】
コンピュータを、
複数のデータベース装置に格納された複数のレコードのそれぞれを、各レコードに含まれる複数のアイテムを含むファイルとして取得するレコード取得部であって、各ファイル内に含まれるアイテムは、該ファイルに対応するレコードを特定するための第１の情報、該レコードの新しさを示すバージョン情報である第２の情報、及び前記複数のデータベース装置のうち該レコードを格納しているデータベース装置を特定するための第３の情報を含み、各ファイルは、前記第１の情報に基づいて特定し得るファイル名を有している、該レコード取得部と、
前記レコード取得部によって取得されたファイルを格納する格納部と、
端末から、前記複数のデータベース装置に格納されたレコードに対する取得要求であって、レコードを特定するための情報である第１の情報を含む該取得要求を受信する取得要求受信部と、
前記格納部から、前記取得要求受信部によって受信された前記取得要求に含まれる前記第１の情報に基づいて特定されるファイルを検索する検索部と、
前記端末に、前記検索部によって検索された前記ファイル、又は、該ファイル内に含まれる複数のアイテムを送信するデータ送信部と、
として機能させるプログラム。
【請求項２２】
前記第１の情報は、該第１の情報によって特定されるレコードの識別情報であり、
前記検索部は、前記格納部に格納された複数のファイルから前記取得要求受信部によって受信された第１の情報を含むファイル名を有するファイルを検索する、請求項２１に記載のプログラム。
【請求項２３】
レコードを外部の装置に提供するデータベース装置であって、
複数のアイテムを含むレコードを格納する格納部であって、該レコードは、該レコードを特定するための第１の情報、及び、該レコードの新しさを示すバージョン情報である第２の情報を含む、該格納部と、
前記格納部に格納されたレコード内に含まれる複数のアイテムを含むファイルを作成するファイル作成部であって、該ファイルに、前記レコード内の第１の情報及び第２の情報、並びに、該データベース装置を特定するための第３の情報を含め、前記第１の情報に基づいて特定し得るファイル名を与える、該ファイル作成部と、
前記ファイル作成部によって作成されたファイルを、該データベース装置に接続されたストレージ装置に送信するファイル送信部と、
を備える、データベース装置。
【請求項２４】
前記格納部に格納されたレコードの第１の情報及び第２の情報を含む最新レコード要求を外部の装置から受信する最新レコード要求受信部と、
前記格納部に、前記最新レコード要求受信部によって受信された前記最新レコード要求に含まれる前記第１の情報を含むレコードであって前記第２の情報によって特定される新しさより新しい最新のレコードが格納されている場合に、該最新のレコードに含まれるアイテムを含むファイルを作成して、前記外部の装置へ該ファイルを送信し、前記格納部に該最新のレコードが存在しない場合には、最新のレコードが存在しないことを示す情報を送信する応答部と、
を更に備える請求項２３に記載のデータベース装置。
【請求項２５】
コンピュータを、
複数のアイテムを含むレコードを格納する格納部であって、該レコードは、該レコードを特定するための第１の情報、及び、該レコードの新しさを示すバージョン情報である第２の情報を含む、該格納部と、
前記格納部に格納されたレコード内に含まれる複数のアイテムを含むファイルを作成するファイル作成部であって、該ファイルに、前記レコード内の第１の情報及び第２の情報、並びに、該コンピュータを特定するための第３の情報を含め、前記第１の情報に基づいて特定し得るファイル名を与える、該ファイル作成部と、
前記ファイル作成部によって作成されたファイルを、該コンピュータに接続されたストレージ装置に送信するファイル送信部と、
として機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データベースのキャッシュとして機能するストレージ装置、サーバ装置、ストレージシステム、データベース装置、データの提供方法、及び、プログラムに関するものである。
【背景技術】
【０００２】
データベースを用いたシステムとして、下記の特許文献１に記載されたものが知られている。特許文献１に記載されたデータベースシステムは、データベース内のデータをキャッシュするデータ保持部を有している。このデータ保持部により、データベースのレスポンスの速度向上、データベースの負荷軽減が図られている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−２６５８４０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、データベースからデータがキャッシュされた後に、データベースにおいて当該データが更新されることがある。したがって、データベースからキャッシュされたデータを取得した装置は、当該データがデータベースに格納されている最新のデータであるか否かを問い合わせる必要が生じ得る。この問い合わせに対するデータベースの負荷を軽減することが要請されている。
【０００５】
本発明は、データベース装置の負荷を軽減し得るストレージ装置、サーバ装置、ストレージシステム、データベース装置、データの提供方法、及び、プログラムを提供することを目的としている。
【課題を解決するための手段】
【０００６】
本発明の一態様は、複数のデータベース装置に格納された複数のレコードをキャッシングするストレージ装置である。
【０００７】
一実施形態に係るストレージ装置は、レコード取得部、格納部、受信部、検索部、及び、ファイル送信部を備える。このストレージ装置は、以下に説明するように、データベース装置に格納されたデータを提供する。即ち、レコード取得部が、複数のデータベース装置に格納された複数のレコードのそれぞれを、当該レコードに含まれる複数のアイテムを含むファイルとして取得する。ファイル内に含まれるアイテムは、レコードを特定するための第１の情報、当該レコードの新しさを示す第２の情報、複数のデータベース装置のうち当該レコードを格納しているデータベース装置を特定するための第３の情報を含む。ファイルは、第１の情報に基づいて特定し得るファイル名を有している。格納部が、レコード取得部によって取得されたファイルを格納する。受信部が、ストレージ装置に接続されたサーバ装置から、複数のデータベースに格納された何れかのレコードに含まれる第１の情報を受信する。検索部が、格納部から、受信部によって受信された第１の情報に基づいて特定されるファイルを検索する。ファイル送信部が、サーバ装置に、検索部によって検索されたファイルを送信する。
【０００８】
一実施形態においては、コンピュータをレコード取得部、格納部、受信部、検索部、及び、ファイル送信部として機能させるプログラムにより、当該コンピュータをストレージ装置として動作させてもよい。
【０００９】
本ストレージ装置は、データベース装置のキャッシュとして機能するので、データベースの負荷の削減に寄与する。また、このストレージ装置は、第２の情報と第３の情報を含むファイルをサーバ装置に提供するので、サーバ装置は、第３の情報に基づき特定されるデータベース装置にのみ、第２の情報、即ち、取得したレコードの新しさを示す情報を用いて問い合わせすることが可能となる。これにより、問い合わせの対象でないデータベース装置の負荷が削減される。また、問い合わせを受けたデータベース装置では、取得されたデータが最新のものか否かを判断することが可能となる。
【００１０】
本発明の別の一態様は、複数のデータベース装置に格納された複数のレコードをキャッシングするストレージ装置及び当該複数のデータベース装置に接続されたサーバ装置である。このサーバ装置は、サーバ装置は、取得要求受信部、取得要求送信部、ファイル受信部、データ送信部、最新レコード要求送信部、応答受信部、及び、最新データ送信部を備える。サーバ装置の取得要求受信部は、端末から、複数のデータベースに格納されたレコードに対する取得要求であって当該レコードに含まれる第１の情報を含む取得要求を受信する。サーバ装置の取得要求送信部は、当該サーバ装置の取得要求受信部によって受信された取得要求に含まれる第１の情報をストレージ装置に送信する。サーバ装置のファイル受信部は、当該サーバ装置の取得要求送信部によって送信された第１の情報に応答してストレージ装置のファイル送信部から送信されるファイルを受信する。当該ファイルは第１の情報によって特定されるレコードに含まれる複数のアイテムを含む。当該ファイル内に含まれるアイテムは、該レコードを特定するための第１の情報に加え、該レコードの新しさを示す第２の情報、及び複数のデータベース装置のうち該レコードを格納しているデータベース装置を特定するための第３の情報を含む。サーバ装置のデータ送信部は、当該サーバ装置のファイル受信部によって受信されたファイル又は当該ファイル内に含まれるアイテムを端末に送信する。
【００１１】
一実施形態においては、サーバ装置は、最新レコード要求送信部、応答受信部、及び、最新データ送信部を更に備え得る。本一実施形態のサーバ装置では、以下に説明するように最新のデータが提供される。即ち、最新レコード要求送信部が、サーバ装置に接続された端末からの所定の要求に応答して、ファイル受信部によって受信されたファイルに含まれる第３の情報に基づき特定されるデータベース装置に、当該ファイルに含まれる第１の情報及び第２の情報を含む最新レコード取得要求を送信する。最新レコード取得要求を受信したデータベース装置が、当該最新レコード取得要求に含まれる第１の情報を含むレコードであって当該最新レコード取得要求に含まれる第２の情報によって特定されるレコードより新しい最新のレコードを有する場合に、応答受信部が、データベース装置から当該最新のレコードを、当該最新のレコードに含まれるアイテムを含むファイルとして受信する。最新のレコードが存在しない場合には、応答受信部が、データベース装置から、最新のレコードが存在しないことを示す情報を受信する。最新データ送信部が、応答受信部によって受信されたファイル又は当該ファイル内に含まれるアイテムを端末に送信する。
【００１２】
一実施形態においては、コンピュータを、取得要求受信部、取得要求送信部、ファイル受信部、データ送信部、最新レコード要求送信部、応答受信部、及び、最新データ送信部として、機能させるプログラムにより、当該コンピュータをサーバ装置として動作させてもよい。また、更に別の一実施形態では、プログラムは、当該コンピュータを、最新レコード要求送信部、応答受信部、及び、最新データ送信部として更に機能させてもよい。
【００１３】
本サーバ装置は、データベース装置のレコードを、第１の情報、第２の情報、及び、第３の情報を含むファイルとして、ストレージ装置から受信する。したがって、第３の情報に基づき特定されるデータベース装置にのみ、第１の情報及び第２の情報を用いて最新のレコードの問い合わせを行うことができる。
【００１４】
本発明の別の一態様は、上述したストレージ装置と、上述したサーバ装置とを含むストレージシステムである。本ストレージシステムは、データベース装置の負荷を軽減することができる。
【００１５】
本発明の別の一実施形態に係るストレージ装置は、レコード取得部、格納部、取得要求受信部、検索部、及びデータ送信部を備える。このストレージ装置は、以下に説明するようにデータを提供する。即ち、レコード取得部が、複数のデータベース装置に格納された複数のレコードのそれぞれを、当該レコードに含まれる複数のアイテムを含むファイルとして取得する。ファイル内に含まれるアイテムは、レコードを特定するための第１の情報、当該レコードの新しさを示す第２の情報、複数のデータベース装置のうち当該レコードを格納しているデータベース装置を特定するための第３の情報を含む。当該ファイルは、第１の情報に基づいて特定し得るファイル名を有している。格納部が、レコード取得部によって取得されたファイルを格納する。取得要求受信部が、端末から、複数のデータベースに格納されたレコードに対する取得要求であって、当該レコードの第１の情報を含む取得要求を受信する。検索部が、格納部から、取得要求受信部によって受信された取得要求に含まれる第１の情報に基づいて特定されるファイルを検索する。データ送信部が、端末に、検索部によって検索されたファイル、又は、当該ファイル内に含まれる複数のアイテムを送信する。
【００１６】
本ストレージ装置は、データベース装置のキャッシュとして機能するので、データベースの負荷の削減に寄与する。また、このストレージ装置は、第３の情報に基づき特定されるデータベース装置にのみ、第２の情報、即ち、取得したレコードの新しさを示す情報を用いて問い合わせすることができる。これにより、問い合わせの対象でないデータベース装置の負荷が削減される。また、問い合わせを受けたデータベース装置では、取得されたデータが最新のものか否かを判断することが可能となる。
【００１７】
一実施形態においては、ストレージ装置は、最新レコード要求送信部、応答受信部、及び、最新データ送信部を更に備え得る。この実施形態のストレージ装置は、以下に説明するように、動作し得る。即ち、最新レコード要求送信部が、端末から送信される所定の要求に応答して、検索部によって検索したファイルに含まれる第３の情報に基づいて特定されるデータベース装置に、当該ファイルに含まれる第１の情報及び第２の情報を含む最新レコード取得要求を送信する。最新レコード取得要求を受信したデータベース装置が、当該最新レコード取得要求に含まれる第１の情報を含むレコードであって当該最新レコード取得要求に含まれる第２の情報によって特定されるレコードより新しい最新のレコードを有する場合に、応答受信部が、当該データベース装置から当該最新のレコードを、当該最新のレコードに含まれるアイテムを含むファイルとして受信する。最新のレコードが存在しない場合には、応答受信部が、最新のレコードが存在しないことを示す情報をデータベース装置から受信する。最新データ送信部が、端末に応答受信部によって受信されたファイル、又は、当該ファイル内に含まれる複数のアイテムを送信する。
【００１８】
一実施形態においては、コンピュータを、コード取得部、格納部、取得要求受信部、検索部、及びデータ送信部として機能させるプログラムにより、当該コンピュータをストレージ装置として動作させてもよい。また、プログラムは、当該コンピュータを、更に、最新レコード要求送信部、応答受信部、及び、最新データ送信部として機能させてもよい。
【００１９】
本発明の更に別の態様は、データベース装置である。本データベース装置は、レコードを外部の装置に提供するデータベース装置であって、格納部、ファイル作成部、及び、ファイル送信部を、備える。格納部は、複数のアイテムを含むレコードを格納する。レコードは、当該レコードを特定するための第１の情報、及び、当該レコードの新しさを示す第２の情報を含む。ファイル作成部は、格納部に格納されたレコード内に含まれる複数のアイテムを含むファイルを作成する。ファイル作成部は、当該ファイルに、レコード内の第１の情報及び第２の情報、並びに、当該データベース装置を特定するための第３の情報を含め、第１の情報に基づいて特定し得るファイル名を与える。ファイル送信部は、ファイル作成部によって作成されたファイルを、当該データベース装置に接続されたストレージ装置に送信する。
【００２０】
このデータベース装置は、当該データベース装置を特定するための第３の情報を含むファイルとしてレコードを提供する。したがって、このファイルを受けた外部の装置は、ファイル内の第３の情報によって特定される当該データベース装置にのみ問い合わせを行うことができる。
【００２１】
一実施形態においては、データベース装置は、最新レコード要求受信部及び応答部を備え得る。最新レコード要求受信部は、格納部に格納されたレコードの第１の情報及び第２の情報を含む最新レコード要求を外部の装置から受信する。最新レコード要求受信部は、格納部に、最新レコード要求受信部によって受信された最新レコード要求に含まれる第１の情報を含むレコードであって第２の情報によって特定されるレコードより新しい最新のレコードが格納されている場合には、当該最新のレコードに含まれるアイテムを含むファイルを作成して、外部の装置へ当該ファイルを送信する。応答部は、格納部に当該最新のレコードが存在しない場合には、最新のレコードが存在しないことを示す情報を外部の装置へ送信する。このデータベース装置は、外部の装置に送信すべき最新のレコードを有していない場合に、外部の装置への応答に要する情報量を低減することができる。
【００２２】
一実施形態においては、コンピュータを、格納部、ファイル作成部、及び、ファイル送信部として機能させるプログラムにより、当該コンピュータをデータベース装置として動作させてもよい。また、プログラムは、当該コンピュータを、最新レコード要求受信部及び応答部として更に機能させてもよい。
【発明の効果】
【００２３】
以上説明したように、本発明によれば、データベース装置の負荷を軽減し得るストレージ装置、サーバ装置、ストレージシステム、データベース装置、データの提供方法、及び、プログラムが提供される。
【図面の簡単な説明】
【００２４】
【図１】一実施形態に係るストレージシステムを示す図である。
【図２】一実施形態のデータベース装置を詳細に示す図である。
【図３】データベース装置の格納部に格納されているレコードの一例を示す図である。
【図４】ファイル作成部よって作成されるファイルの一例を示す図である。
【図５】データベース装置の格納部に格納されているレコードの一例を示す図である。
【図６】応答部によって作成されるファイルの一例を示す図である。
【図７】一実施形態に係るストレージ装置を示す図である。
【図８】一実施形態に係るサーバ装置を示す図である。
【図９】一実施形態のストレージシステムでの処理の流れを示す図である。
【図１０】一実施形態に係るコンピュータの構成を示す図である。
【図１１】一意実施形態に係るコンピュータの斜視図である。
【図１２】コンピュータをデータベース装置１６として動作させるプログラムＰ１６の構成を示す図である。
【図１３】コンピュータをストレージ装置１２として動作させるプログラムＰ１２の構成を示す図である。
【図１４】コンピュータをサーバ装置１４として機能させるプログラムＰ１４の構成を示す図である。
【図１５】別の一実施形態に係るストレージシステムを示す図である。
【図１６】別の一実施形態に係るストレージ装置を示す図である。
【図１７】別の一実施形態のストレージシステムでの処理の流れを示す図である。
【図１８】コンピュータをストレージ装置４２として動作させるプログラムの構成を示す図である。
【発明を実施するための形態】
【００２５】
以下、図面を参照して本発明の好適な実施形態について詳細に説明する。なお、各図面において同一又は相当の部分に対しては同一の符号を附すこととする。
【００２６】
図１は、一実施形態に係るストレージシステムを示す図である。図１に示すように、ストレージシステム１０は、ストレージ装置１２及びサーバ装置１４を備えている。一実施形態においては、ストレージシステム１０は、複数のデータベース装置１６を更に備え得る。
【００２７】
ストレージ装置１２、サーバ装置１４、及びデータベース装置１６は、ネットワークＮ１を介して相互に接続されている。ストレージ装置１２、サーバ装置１４、及びデータベース装置１６の接続は、任意の接続形態をとり得る。例えば、この接続は、インターネット、ローカルエリアネットワーク、専用線ネットワークといった任意の接続により実現され得る。
【００２８】
ストレージシステム１０は、端末１８からの要求を、ネットワークＮ２を介して受信し、当該要求に応じて、データベース装置１６に格納されているデータを、当該端末１８に提供する。
【００２９】
以下、商品データを端末１８に提供する一例に従って、ストレージシステム１０について、説明する。しかしながら、ストレージシステム１０は、商品データ以外の任意のデータを提供してもよい。
【００３０】
図２は、一実施形態のデータベース装置を詳細に示す図である。図２に示すデータベース装置１６は、一以上の商品に関する複数の情報アイテムを含む一以上のレコードを格納する装置である。
【００３１】
データベース装置１６は、格納部１６ａ、ファイル作成部１６ｂ、及び、ファイル送信部１６ｃを備えている。一実施形態においては、データベース装置１６は、最新レコード要求受信部１６ｄ、及び、応答部１６ｅを更に備え得る。
【００３２】
図３は、データベース装置の格納部に格納されているレコードの一例を示す図である。図３に示すように、格納部１６ａは、各商品に関する複数の情報アイテムを含むレコードを格納することができる。図３に示すレコードは、情報アイテムとして、タイプ、ＩＤ（第１の情報）、バージョン（第２の情報）、商品名、説明、小売価格、及び、カタログ価格を含んでいる。
【００３３】
情報アイテム「タイプ」は、商品の種別を特定する情報アイテムであり、図３に示すレコードＲ１における情報アイテム「タイプ」は、「jpitem」との情報を含んでいる。情報アイテム「ＩＤ」は、レコードＲ１の識別情報を与える情報アイテムである。レコードＲ１においては、ＩＤとして「340960930」という識別情報が含まれている。情報アイテム「バージョン」は、レコードの新しさを特定する情報アイテムである。レコードＲ１においては、バージョンとして「３」という情報が含まれている。情報アイテム「商品名」は、商品の名称を特定する情報アイテムである。レコードＲ１においては、商品名として「北海道のカニ」という情報が含まれている。情報アイテム「説明」は、商品の詳細を説明する情報アイテムである。レコードＲ１においては、説明として、「このカニは・・・」との情報が含まれている。情報アイテム「小売価格」は、商品の小売価格を特定する情報アイテムである。レコードＲ１においては「２９８０」という金額を特定する情報が小売価格として含まれている。情報アイテム「カタログ価格」は、商品のカタログ価格を特定する情報アテイムである。レコードＲ１においては、カタログ価格として「３５００」という金額を特定する情報が含まれている。
【００３４】
ファイル作成部１６ｂは、ストレージ装置１２に提供するファイルを作成する部分である。ファイル作成部１６ｂは、格納部１６ａに格納されているレコードに基づいてファイルを作成する。
【００３５】
図４は、ファイル作成部よって作成されるファイルの一例を示す図である。ファイル作成部１６ｂは、格納部１６ａに格納されたレコード内の情報アイテムを含むファイルを作成する。図４に示す例は、ファイル作成部１６ｂが作成したファイルＦ１を示しており、格納部１６ａに格納されたレコードＲ１内の情報アイテムを含むファイルＦ１を示している。
【００３６】
また、ファイル作成部１６ｂは、このファイル内に、発行元情報を含める。この発行元情報には、当該ファイルに対応するレコードを有するデータベース装置１６を特定する特定情報（第３の情報）が含まれている。図４に示す例では、発行元情報内に、「ba_unit_2」との特定情報が含まれている。
【００３７】
また、ファイル作成部１６ｂは、作成したファイルにＩＤ（第１の情報）を含むファイル名を与える。図４に示す例では、ファイルＦ１に、ＩＤ「340960930」を一部に含む「jpitem_340960930」というファイル名が与えられている。このファイル名は、後述するように、ストレージ装置１２における検索キーとなる。なお、図４に示すファイルは、タイプ、ＩＤといったタグに情報が対応付けられたＸＭＬといった構造化文書ファイルとなっている。しかしながら、このファイルは任意の形式のファイルとし得る。
【００３８】
ファイル送信部１６ｃは、ファイル作成部１６ｂによって作成されたファイルをストレージ装置１２に送信する部分である。ファイル作成部１６ｂ及びファイル送信部１６ｃは、格納部１６ａに新たなレコードの登録、又は、既存のレコードの変更が生じた際に、新たなレコード又は変更されたレコードに基づくファイルを作成して、当該ファイルをストレージ装置１２へ送信する。
【００３９】
最新レコード要求受信部１６ｄは、端末からの所定の要求が発生したときに、サーバ装置１４を介して送信される最新レコード取得要求を受信する。この最新レコード取得要求は、ストレージ装置１２に提供されたレコードに対応する最新のレコードを要求するものである。そのため、最新レコード取得要求には、ＩＤ（第１の情報）、バージョン（第２の情報）、特定情報が含まれている。
【００４０】
図５は、データベース装置の格納部に格納されているレコードの一例を示す図である。ここで、図３に示したレコードＲ１に対応するファイルＦ１がストレージ装置１２に提供された後に、レコードＲ１の更新版のレコードＲ２が格納部１６ａに格納されたことを想定する。この時点で、レコードＲ２は、ファイルをストレージ装置１２に提供するまでの遅延のために、ファイルとしてストレージ装置１２に提供されていないものとする。なお、レコードＲ２は、図５に示す例では、レコードＲ１のバージョン「３」より大きな値であるバージョン「４」を有する。即ち、レコードＲ２のバージョンは、レコードＲ２がレコードＲ１より新しいことを示している。また、レコードＲ２では、小売価格がレコードＲ１に対して更新されている。なお、レコードＲ２は、格納部１６ａにおいて、レコードＲ１を上書きして格納されていていてもよい。すなわち、タイプが「jpitem」で且つＩＤが「340960930」のレコードについて、最新のレコードＲ２がそれより新しさに欠けるレコードＲ１を上書きするようにして、格納部１６ａに保存されていてもよい。
【００４１】
上述した時点において最新レコード要求受信部１６ｄが受信する最新レコード取得要求、例えば、レコードＲ１に対応する最新のレコードの要求は、「http://ba_unit_2/jpitem?id=340960930&ver=3」とのＵＲＬ形式をとることができる。このＵＲＬ形式の最新レコード取得要求は、特定情報「ba_unit_2」、ＩＤ「340960930」、及び、バージョン「３」を含んでいる。したがって、この最新レコード取得要求は、複数のデータベース装置１６のうち特定情報「ba_unit_2」によって特定されるデータベース装置のみによって受信される。
【００４２】
応答部１６ｅは、最新レコード要求受信部１６ｄが最新レコード取得要求を受信したことに応答して、格納部１６ａに、最新レコード取得要求に含まれるＩＤによって特定されるレコードであり、且つ、バージョンによって特定されるレコードより新しい最新のレコードが存在するか否かを判定する。応答部１６ｅは、最新のレコードが存在する場合には、当該最新のレコードに基づいて上述したファイルを作成する。そして、応答部１６ｅは、当該ファイルを、サーバ装置１４に送信する。一方、最新のレコードが存在しない場合、つまり図５に示されたレコードＲ２が存在しない場合には、応答部１６ｅは、最新のレコードが存在しないことを示す情報をサーバ装置１４に送信する。例えば、上述した図５の例の場合には、格納部１６ａにレコードＲ１のバージョンより新しいバージョンのレコード（Ｒ２）が存在するので、応答部１６ｅは、レコードＲ２に対応するファイルＦ２（図６参照）を作成して、当該ファイルをサーバ装置１４に送信する。
【００４３】
次に、ストレージ装置１２について説明する。図７は、一実施形態に係るストレージ装置を示す図である。ストレージ装置１２は、データベース装置１６に格納されているデータをキャッシングし、キャッシングしたデータをサーバ装置１４に提供する装置である。
【００４４】
図７に示すように、ストレージ装置１２は、レコード取得部１２ａ、格納部１２ｂ、受信部１２ｃ、検索部１２ｄ、及び、ファイル送信部１２ｅを有している。
【００４５】
レコード取得部１２ａは、データベース装置１６に格納されているレコードをファイルとして取得する部分である。より詳細には、レコード取得部１２ａは、データベース装置１６のファイル送信部１６ｃによって送信される上述のファイル（例えば、図４のファイルＦ１又は図６のファイルＦ２を参照）を取得して、当該ファイルを格納部１２ｂに格納する。なお、上述したように、ファイルには当該ファイルに対応するレコード内のＩＤによって特定されるファイル名が与えられるので、同じＩＤを有するレコードから作成されるファイルは同一のファイル名を有する。したがって、格納部１２ｂ内の既存のファイルは、後に送信される同じファイル名を有するファイルによって上書きされる。
【００４６】
受信部１２ｃは、サーバ装置１４から送信されるＩＤを受信する。検索部１２ｄは、受信部１２ｃがＩＤを受信したことに応答して、当該ＩＤによって特定されるファイル名を有するファイルを格納部１２ｂから検索する。例えば、受信部１２ｃがＩＤ「340960930」を受信した場合には、検索部１２ｄは、「340960930」をファイル名に含む、ファイルを検索する。この場合に、図４に示すファイルＦ１が格納部１２ｂに格納されていると、ファイルＦ１のファイル名「jpitem_340960930」にＩＤ「340960930」が含まれているので、検索部１２ｄは、ファイルＦ１を検索することができる。ファイル送信部１２ｅは、検索部１２ｄによって検索されたファイルを、サーバ装置１４に送信する。
【００４７】
次に、サーバ装置１４について説明する。図８は、一実施形態に係るサーバ装置を示す図である。本例では、サーバ装置１４は、端末１８に、商品注文用のウェブページを提供し、当該ウェブページに対する端末１８での入力に基づき端末１８から送信される要求を処理するウェブサーバであるものとする。
【００４８】
図８に示すサーバ装置１４は、取得要求受信部１４ａ、取得要求送信部１４ｂ、ファイル受信部１４ｃ、格納部１４ｄ、及び、データ送信部１４ｅを備えている。一実施形態においては、サーバ装置１４は、要求受信部１４ｆ、最新レコード要求送信部１４ｇ、応答受信部１４ｈ、及び、最新データ送信部１４ｉを更に備え得る。
【００４９】
取得要求受信部１４ａは、端末１８にサーバ装置１４から提供したウェブページにおいて当該端末１８によって選択された商品に関するデータの取得要求を受信する。本例では、この取得要求は、データベース装置１６に格納されたレコードであって選択された商品に対応するレコードに対する要求である。この取得要求は、商品のＩＤ、即ち、データベース装置１６に格納された当該レコードのＩＤである第１の情報を含む。例えば、端末１８によってレコードＲ１に対応する商品が選択された場合には、取得要求は、レコードＲ１のＩＤ「340960930」を含むＵＲＬ形式の「http://shop1.rakuten.jp/item/340960930」との形態をとり得る。
【００５０】
取得要求送信部１４ｂは、取得要求受信部１４ａが上記取得要求を受信したことに応答して、当該取得要求に含まれているＩＤをストレージ装置１２に送信する。このＩＤは、上述したＵＲＬ形式の取得要求が受信されている場合には、「340960930」である。取得要求送信部１４ｂによって送信されたＩＤは、ストレージ装置１２の受信部１２ｃによって受信される。
【００５１】
ファイル受信部１４ｃは、取得要求送信部１４ｂからのＩＤの送信に応答してストレージ装置１２のファイル送信部１２ｅから送信されるファイルを受信し、当該ファイルを格納部１４ｄに格納する。例えば、取得要求送信部１４ｂがＩＤ「340960930」をストレージ装置１２に送信した場合には、図４に示すファイルＦ１がストレージ装置１２から提供され、ファイル受信部１４ｃは、当該ファイルＦ１を格納部１４ｄに格納する。なお、格納部１４ｄは、端末１８用のショッピングカート内にファイル受信部１４ｃによって受信されたファイルを格納することができる。このショッピングカードは、端末１８のユーザを特定する情報に対応付けて、各種のデータ（例えば、ファイル）を登録するものである。
【００５２】
データ送信部１４ｅは、ファイル受信部１４ｃによって受信されたファイル、又は当該ファイル内に含まれるデータを、取得要求を送信した端末１８へ送信する。例えば、データ送信部１４ｅは、ファイル内に含まれる商品の情報アイテムを、端末１８へ提供することができる。
【００５３】
要求受信部１４ｆは、端末１８からの所定の要求を受信する。所定の要求としては、例えば、端末１８が対応のショッピングカートに格納されたファイルに対応する商品の購入（チェックアウト）をする場合に当該端末１８から送信される要求、また、端末１８が対応のショッピングカートに格納されたファイルに対応するレコードの最新版を入手する場合に当該端末１８から送信される要求がある。
【００５４】
最新レコード要求送信部１４ｇは、要求受信部１４ｆが所定の要求を端末１８から受信したことに応答して、データベース装置１６に最新レコード取得要求を送信する。より詳細には、最新レコード要求送信部１４ｇは、所定の要求を送信した端末１８用に格納部１４ｄに格納しているファイルを参照して、最新レコード取得要求を作成する。例えば、端末１８用にファイルＦ１が格納されている場合には、ファイルＦ１に含まれている発行元情報「http://ba_unit_2/jpitem?id=340960930&ver=3」が最新レコード取得要求となる。この発行元情報には、ファイルＦ１を有するデータベース装置１６を特定する特定情報「ba_unit_2」、ファイルＦ１内のＩＤ「340960930」、ファイルＦ１内のバージョン「３」が含まれている。最新レコード要求送信部１４ｇは、作成した最新レコード取得要求を特定のデータベース装置１６に送信する。即ち、発行元情報には、特定情報が含まれているので、この特定情報によって特定されるデータベース装置１６のみが、最新レコード取得要求に応答するための処理対象となる。
【００５５】
応答受信部１４ｈは、最新レコード要求送信部１４ｇによって送信された最新レコード取得要求に応じて、データベース装置１６から送信される応答を受信する。この応答は、送信された最新レコード取得要求に含まれるＩＤを含むレコードであってバージョンによって特定されるレコード（新しさ）より新しい最新のレコードが存在する場合には、当該最新のレコードに基づいてデータベース装置１６で作成されるファイルである。一方、当該最新のレコードがデータベース装置１６に存在しない場合には、つまり送信された最新レコード取得要求に含まれるＩＤを含むレコードであってバージョンによって特定されるレコード（新しさ）より新しいレコードがデータベース装置１６に存在しない場合には、応答として、データベース装置１６から、最新のレコードが存在しない旨の情報、例えば、情報「ＮｏｔＭｏｄｉｆｙ」がデータベース装置１６から返される。
【００５６】
応答受信部１４ｈは、ファイルを受信した場合には、このファイルで当該ファイルに対応する古いファイルを上書きする。なお、データベース装置１６からはファイルではなくレコード内の情報アイテムが送信されてもよい。この場合には、応答受信部１４ｈは、既存の対応のファイルを、送信された情報アイテムを用いて更新する。
【００５７】
最新データ送信部１４ｉは、応答受信部１４ｈがファイルを受信した場合には、当該ファイル、又は当該ファイル内の情報アイテムを端末１８に送信する。これにより、端末１８に、商品に関する最新のデータが提供される。
【００５８】
以下、ストレージシステム１０での処理の流れについて説明し、これと同時に一実施形態に係るデータ提供方法を説明する。図９は、一実施形態のストレージシステムでの処理の流れを示す図である。以下、図９を参照する。
【００５９】
まず、データベース装置１６に新たにレコードが登録されるか、又は、既存のレコードに対する更新がなされると、ステップＳ１１に示すように、ファイル作成部１６ｂが当該レコードに基づいて上述のファイル（例えば、図４のファイルＦ１又は図６のファイルＦ２を参照）を作成する。ファイルが作成されると、ステップＳ１２に示すように、ファイル送信部１６ｃによって、ストレージ装置１２に当該ファイルが送信される。
【００６０】
次いで、ステップＳ１３において、ストレージ装置１２のレコード取得部１２ａが、ファイル送信部１６ｃによって送信されたファイルを受信して、当該ファイルを格納部１２ｂに格納する。以上の動作により、ストレージ装置１２がデータベース装置１６に格納されたレコードをキャッシングする。
【００６１】
ステップＳ１４に示すように、ある時点において、端末１８からレコードの取得要求が送信される。上述したように、この取得要求が、ＩＤ「340960930」の商品のデータを要求するもので有る場合には、端末１８から、「http://shop1.rakuten.jp/item/340960930」との取得要求が送信される。
【００６２】
取得要求が送信されると、ステップＳ１５において、サーバ装置１４の取得要求受信部１４ａがこの取得要求を受信する。この取得要求を取得要求受信部１４ａが受信したことに応答して、ステップＳ１６において、取得要求送信部１４ｂが、取得要求に含まれるＩＤをストレージ装置１２に送信する。例えば、取得要求が「http://shop1.rakuten.jp/item/340960930」である場合には、取得要求送信部１４ｂは、ＩＤ「340960930」をストレージ装置１２へ送信する。
【００６３】
続くステップＳ１７において、ストレージ装置１２の受信部１２ｃがサーバ装置１４の取得要求送信部１４ｂから送信されたＩＤを受信する。このＩＤを受信部１２ｃが受信したことに応答して、ステップＳ１８において、検索部１２ｄが、当該ＩＤによって特定されるファイル名を有するファイルを格納部１２ｂから検索する。例えば、ＩＤが「340960930」であり、ファイルＦ１が格納部１２ｂに格納されている場合には、ファイル名「jpitem_340960930」を有するファイルＦ１が検索される。
【００６４】
続くステップＳ１９において、ファイル送信部１２ｅが、検索部１２ｄによって検索されたファイルを、サーバ装置１４に送信する。ファイルがストレージ装置１２のファイル送信部１２ｅからサーバ装置１４へ送信されると、ステップＳ２０において、サーバ装置１４のファイル受信部１４ｃが、当該ファイルを受信する。このファイルは、例えば、ステップＳ１４にて取得要求を送信した端末１８を特定する情報に対応付けて格納部１４ｄに格納される。
【００６５】
続くステップＳ２１において、データ送信部１４ｅが、データを端末１８に送信する。より詳細には、データ送信部１４ｅは、ファイル受信部１４ｃによって受信されたファイル又は当該ファイル内の情報アイテムを、端末１８に送信する。
【００６６】
その後のある時点で、ステップＳ２２に示すように、上述したような所定の要求が端末１８からサーバ装置１４へ送信される。所定の要求が送信されると、続くステップＳ２３において、サーバ装置１４の要求受信部１４ｆが当該所定の要求を受信する。
【００６７】
要求受信部１４ｆが所定の要求を受信したことに応答して、続くステップＳ２４において、最新レコード要求送信部１４ｇが最新レコード取得要求をデータベース装置１６に送信する。より詳細には、最新レコード要求送信部１４ｇは、端末１８用に格納されたファイル内の発行元情報を送信する。例えば、端末１８用にファイルＦ１が格納部１４ｄに格納されている場合には、「http://ba_unit_2/jpitem?id=340960930&ver=3」が最新レコード取得要求として送信される。
【００６８】
続くステップＳ２５において、最新レコード取得要求内の特定情報によって特定されるデータベース装置１６の最新レコード要求受信部１６ｄが、最新レコード取得要求を受信する。例えば、「http://ba_unit_2/jpitem?id=340960930&ver=3」が最新レコード取得要求である場合には、「ba_unit_2」で特定されるデータベース装置１６の最新レコード要求受信部１６ｄが、当該最新レコード取得要求を受信する。
【００６９】
最新レコード要求受信部１６ｄが最新レコード取得要求を受信すると、続くステップＳ２６において、応答部１６ｅが、サーバ装置１４へ応答を返す。より詳細には、最新レコード取得要求に含まれるＩＤを含むレコードであって最新レコード取得要求に含まれるバージョンより新しいバージョンを有する最新のレコードが存在する場合には、応答部１６ｅは、当該最新のレコードからファイルを作成し、当該ファイルをサーバ装置１４へ送信する。例えば、取得要求が「http://ba_unit_2/jpitem?id=340960930&ver=3」である場合に、レコードＲ２が存在する場合には、レコードＲ２に対応するファイルＦ２が、サーバ装置１４に返される。一方、上述した最新のレコードが存在しない場合には、応答部１６ｅは、最新のレコードが存在しない旨の情報（例えば、「ＮｏｔＭｏｄｉｆｙ」）をサーバ装置１４に返す。
【００７０】
応答部１６ｅから応答が送信されると、続くステップＳ２７において、サーバ装置１４の応答受信部１４ｈが、当該応答を受信する。応答としてファイルが送信されている場合には、応答受信部１４ｈは、当該ファイルを格納部１４ｄに格納する（上書きする）。応答受信部１４ｈが応答を受信したことに応じて、続くステップＳ２８においてサーバ装置１４の最新データ送信部１４ｉが、最新のデータを端末１８に送信する。即ち、最新のファイル、又は、当該ファイル内の情報アイテムを、端末１８に送信する。
【００７１】
以上説明したように、ストレージシステム１０では、チェックアウトといった重要なイベントの発生時を除き、データベース装置１６ではなく、ストレージ装置１２にデータが要求される。したがって、データベース装置１６の負荷が軽減される。また、チェックアウトといった重要なイベントが発生したときには、データベース装置１６から最新のデータが取得される。また、上述したように、最新のデータの取得の際には、特定のデータベース装置１６のみに問い合わせが行われる。したがって、問い合わせの対象でないデータベース装置の負荷が軽減される。よって、データベース装置１６の負荷を軽減しつつ、最新のデータの取得が可能である。
【００７２】
特に、ストレージシステム１０では、ストレージ装置１２において、データベース装置１６に格納されているレコード内の複数のアイテム情報を含むファイルが保存されている。そして、各ファイルには、該当するレコードのＩＤや価格といった情報のみならず、ファイルが作られたときのレコードの新しさを示すバージョン情報及び何れのデータベース装置にファイルに対応するレコードの最新情報が格納されているかを示す発行元情報が含まれている。そのため、ストレージ装置１２が複数のデータベース装置と接続されていたとしても、どのデータベース装置に問い合わせたいレコードが存在するのかをストレージ装置１２にキャッシュされたデータ（ファイル）から知ることができ、しかもストレージ装置１２で持っているレコードの情報（ファイル）の新しさとデータベース装置１６に格納されているレコードの新しさとが、バージョン情報によって比較可能となっている。そのため、ストレージ装置１２では、データベース装置１６の負荷を軽減しつつ、データの新しさについて整合性をとったキャッシングが可能となっている。
【００７３】
また、チェックアウトといったような最新の情報が必要な場面では、サーバ装置１４は、データの新しさの情報を持って、問い合わせ先の特定のデータベース装置１６に問い合わせることができるため、迷うことなく正しい格納先のデータベース装置に問い合わせをすることが可能となる。さらに、データの新しさについて、他の諸々の情報を取得することなくバージョン情報だけで知ることができるため、最新データを既にサーバ装置１４側で持っている場合には、データベース装置１６からデータを取得・送信をしない、という処理を実現することができる。そのため、送信の際のデータ量を少なくすることができる。
【００７４】
ストレージ装置１２では、キャッシュデータはファイルで持っているため、データベース装置における構成（テーブルの構成）が変わったとしても、ファイルに書き出す内容が変わるだけでよく、汎用性がある。つまり、例えばストレージ装置１２においてキャッシュデータをテーブルで持っていたとすると、データベース装置１６でのテーブルの持ち方が変わった場合、それに合わせてストレージ装置１２も変えないといけなくなるところ、ストレージ装置１２はファイルで持っているためそういった問題がおきにくい。
【００７５】
以下、コンピュータを、データベース装置１６、ストレージ装置１２、又は、サーバ装置１４として動作させるためのプログラムについて説明する。
【００７６】
図１０は、一実施形態に係るコンピュータの構成を示す図である。図１１は、一意実施形態に係るコンピュータの斜視図である。図１０及び図１１に示すコンピュータ１００に、対応のプログラムをインストールすることにより、当該コンピュータ１００を、データベース装置１６、ストレージ装置１２、又は、サーバ装置１４として動作させることができる。
【００７７】
コンピュータ１００は、フロッピーディスクドライブ装置、ＣＤ−ＲＯＭドライブ装置、ＤＶＤドライブ装置等の読取装置１１２と、オペレーティングシステムを常駐させた作業用メモリ（ＲＡＭ）１１４と、記録媒体１１０に記憶されたプログラムを記憶するメモリ１１６と、ディスプレイといった表示装置１１８と、入力装置であるマウス１２０及びキーボード１２２と、データ等の送受を行うための通信装置１２４と、プログラムの実行を制御するＣＰＵ１２６と、を備えている。コンピュータ１００は、記録媒体１１０が読取装置１１２に挿入されると、読取装置１１２から記録媒体１１０に格納されたプログラムにアクセス可能になり、当該プログラムに従って、コンピュータ１００を動作させることができる。なお、図１０及び図１１に示すコンピュータは単なる例示であり、任意のタイプのコンピュータを、データベース装置１６、ストレージ装置１２、又は、サーバ装置１４として動作させることが可能である。また、プログラムは、搬送波に重畳されたコンピュータデータ信号１４０としてネットワークを介して提供されるものであってもよい。
【００７８】
図１２は、コンピュータをデータベース装置１６として動作させるプログラムＰ１６の構成を示す図である。図１２に示すプログラムＰ１６は、制御モジュールＰ１６ｘ、格納モジュールＰ１６ａ、ファイル作成モジュールＰ１６ｂ、ファイル送信モジュールＰ１６ｃ、最新レコード要求受信モジュールＰ１６ｄ、及び、応答モジュールＰ１６ｅを備え得る。制御モジュールＰ１６ｘは、プログラムＰ１６における他のモジュールが行う処理を統括する。格納モジュールＰ１６ａ、ファイル作成モジュールＰ１６ｂ、ファイル送信モジュールＰ１６ｃ、最新レコード要求受信モジュールＰ１６ｄ、応答モジュールＰ１６ｅがコンピュータ１００に実行させる機能は、上述した格納部１６ａ、ファイル作成部１６ｂ、ファイル送信部１６ｃ、最新レコード要求受信部１６ｄ、応答部１６ｅとそれぞれ同様の機能である。
【００７９】
図１３は、コンピュータをストレージ装置１２として動作させるプログラムＰ１２の構成を示す図である。図１３に示すプログラムＰ１２は、処理を統括する制御モジュールＰ１２ｘ、レコード取得モジュールＰ１２ａ、格納モジュールＰ１２ｂ、受信モジュールＰ１２ｃ、検索モジュールＰ１２ｄ、及び、ファイル送信モジュールＰ１２ｅを備え得る。
【００８０】
レコード取得モジュールＰ１２ａ、格納モジュールＰ１２ｂ、受信モジュールＰ１２ｃ、検索モジュールＰ１２ｄ、ファイル送信モジュールＰ１２ｅがコンピュータ１００に実行させる機能は、レコード取得部１２ａ、格納部１２ｂ、受信部１２ｃ、検索部１２ｄ、ファイル送信部１２ｅとそれぞれ同様の機能である。
【００８１】
図１４は、コンピュータをサーバ装置１４として機能させるプログラムＰ１４の構成を示す図である。図１４に示すプログラムＰ１４は、処理を統括する制御モジュールＰ１４ｘ、取得要求受信モジュールＰ１４ａ、取得要求送信モジュールＰ１４ｂ、ファイル受信モジュールＰ１４ｃ、格納モジュールＰ１４ｄ、データ送信モジュールＰ１４ｅ、要求受信モジュールＰ１４ｆ、最新レコード要求送信モジュールＰ１４ｇ、応答受信モジュールＰ１４ｈ、及び、最新データ送信モジュールＰ１４ｉを備え得る。
【００８２】
取得要求受信モジュールＰ１４ａ、取得要求送信モジュールＰ１４ｂ、ファイル受信モジュールＰ１４ｃ、格納モジュールＰ１４ｄ、データ送信モジュールＰ１４ｅ、要求受信モジュールＰ１４ｆ、最新レコード要求送信モジュールＰ１４ｇ、応答受信モジュールＰ１４ｈ、最新データ送信モジュールＰ１４ｉがコンピュータ１００に実施させる機能は、取得要求受信部１４ａ、取得要求送信部１４ｂ、ファイル受信部１４ｃ、格納部１４ｄ、データ送信部１４ｅ、要求受信部１４ｆ、最新レコード要求送信部１４ｇ、応答受信部１４ｈ、最新データ送信部１４ｉとそれぞれ同様の機能である。
【００８３】
以下、別の一実施形態に係るストレージシステムについて説明する。図１５は、別の一実施形態に係るストレージシステムを示す図である。図１５に示すストレージシステム４０は、上述したストレージ装置１２とサーバ装置１４の機能を合わせ持つストレージ装置４２を備えている。
【００８４】
図１６は、別の一実施形態に係るストレージ装置を示す図である。図１６に示すストレージ装置４２は、レコード取得部４２ａ、格納部４２ｂ、取得要求受信部４２ｃ、検索部４２ｄ、データ送信部４２ｅ、要求受信部４２ｆ、最新レコード要求送信部４２ｇ、応答受信部４２ｈ、及び、最新データ送信部４２ｉを備え得る。
【００８５】
レコード取得部４２ａは、ストレージ装置１２のレコード取得部１２ａと同様に、データベース装置１６からファイルを取得し、当該ファイルを格納部４２ｂに格納する。
【００８６】
取得要求受信部４２ｃは、サーバ装置１４の取得要求受信部１４ａと同様に、端末１８から取得要求を受信する。この取得要求は、取得要求受信部１４ａが受信する取得要求と同様に、例えば、「http://shop1.rakuten.jp/item/340960930」とのＵＲＬ形式の形態をとり得る。
【００８７】
検索部４２ｃは、取得要求に含まれるＩＤに基づいて特定されるファイルを格納部４２ｂから検索する。例えば、取得要求が「http://shop1.rakuten.jp/item/340960930」であり、ファイルＦ１が格納部４２ｂに格納されている場合には、当該取得要求にＩＤ「340960930」が含まれているので、検索部４２ｃは、当該ＩＤに基づいてファイル名「jpitem_340960930」を特定することにより、ファイルＦ１を検索することができる。なお、取得要求が商品の選択時に発生するものであれば、検索部４２ｃは、検索したファイルを、格納部４２ｂにおいて端末１８用のショッピングカートに格納することができる。
【００８８】
データ送信部４２ｅは、検索部４２ｃによって検索されたファイルを受け、サーバ装置１４のデータ送信部１４ｅと同様に、当該ファイル又は当該ファイル内の情報アイテムを端末１８に送信する。
【００８９】
要求受信部４２ｆは、サーバ装置１４の要求受信部１４ｆと同様に、端末１８からの所定の要求を受信する。最新レコード要求送信部４２ｇは、サーバ装置１４の最新レコード要求送信部１４ｇと同様に、要求受信部４２ｆが所定の要求を受信したことに応答して、最新レコード取得要求を、データベース装置１６に送信する。例えば、端末１８用のファイルとしてファイルＦ１が含まれている場合には、最新レコード取得要求として「http://ba_unit_2/jpitem?id=340960930&ver=3」が送信される。
【００９０】
応答受信部４２ｈは、サーバ装置１４の応答受信部１４ｈと同様に、データベース装置１６から最新レコード取得要求に応じて返される応答、即ち、最新のファイル、又は、最新のファイルが存在しないことを示す情報（例えば、「ＮｏｔＭｏｄｉｆｙ」）を受信する。また、応答受信部４２ｈは、格納部４２ｂに格納されている既存のファイルのうち当該最新のファイルに対応するファイルを、当該最新のファイルで上書きする。
【００９１】
最新データ送信部４２ｉは、サーバ装置１４の最新データ送信部１４ｉと同様に、最新のファイルを得た場合には、当該最新のファイル、又は当該最新のファイル内の情報アイテムを、端末１８へと送信する。
【００９２】
以下、ストレージシステム４０での処理の流れについて説明する。図１７は、ストレージシステム４０での処理の流れを示す図である。以下、図１７を参照する。
【００９３】
まず、ステップＳ４１において、データベース装置１６において、ステップＳ１１と同様に、ファイルが作成される。続くステップＳ４２において、ステップＳ１２と同様に、データベース装置１６からストレージ装置４２に作成されたファイルが送信される。続くステップＳ４３において、ストレージ装置４２のレコード取得部４２ａが、ステップＳ１３と同様に、データベース装置１６から送信されたファイルを受信して、当該ファイルを格納部４２ｂに格納する。
【００９４】
その後、ある時点において、ステップＳ４４に示すように、ステップＳ１４と同様に、端末１８から取得要求が送信される。取得要求は、例えば、「http://shop1.rakuten.jp/item/340960930」といったＵＲＬ形式をとり得る。
【００９５】
続くステップＳ４５において、ステップＳ１５と同様に、ストレージ装置４２の取得要求受信部４２ｃが、端末１８から送信された取得要求を受信する。取得要求受信部４２ｃが取得要求を受信すると、続くステップＳ４８において、検索部４２ｄが、ステップＳ１８と同様に、取得要求に含まれるＩＤに基づいて特定されるファイル名を有するファイルを、格納部４２ｂから検索する。このとき、検索されたファイルは、端末１８を特定する情報に対応付けられる。即ち、端末１８用のショッピングカートに登録される。
【００９６】
検索部４２ｄによってファイルが検索されると、続くステップＳ５１において、ステップＳ２１と同様に、データ送信部４２ｅが、当該ファイル、又は当該ファイルに含まれる情報アイテムを端末１８へと送信する。
【００９７】
その後、ある時点において、ステップＳ５２に示すように、端末１８から所定の要求が送信される。この要求は、上述したように、チェックアウトや最新データへの更新要求といった要求であってもよい。
【００９８】
所定の要求が送信されると、続くステップＳ５３において、ストレージ装置４２の要求受信部４２ｆが、この要求を受信する。要求受信部４２ｆが所定の要求を受信すると、続くステップＳ５４において、最新レコード要求送信部４２ｇが、ステップＳ４２と同様に、最新レコード取得要求を作成し、当該最新レコード取得要求を、データベース装置１６へと送信する。例えば、端末１８用にファイルＦ１が格納されている場合には、最新レコード取得要求は、「http://ba_unit_2/jpitem?id=340960930&ver=3」となる。
【００９９】
続くステップＳ５５において、ステップＳ２５と同様に、データベース装置１６の最新レコード要求受信部１６ｄが、最新レコード取得要求を受信する。次いで、ステップＳ５６において、ステップＳ２６と同様に、データベース装置１６の応答部１６ｅが、最新のレコードに基づくファイル、又は、最新のレコードが存在しないことを示す情報を、ストレージ装置４２へ送信する。
【０１００】
続くステップＳ５７において、ステップＳ２７と同様に、ストレージ装置４２の応答受信部４２ｈが、データベース装置１６の応答部１６ｅからの応答を受信する。この応答がファイルである場合には、格納部４２ｂにおいて、当該ファイルに対応する既存のファイルが、当該ファイルによって上書きされる。
【０１０１】
続くステップＳ５８において、ステップＳ２８と同様に、応答がファイルである場合には、ストレージ装置４２の最新データ送信部４２ｉが、当該ファイル又は当該ファイル内の情報アイテムを、端末１８に送信する。
【０１０２】
以上説明したように、ストレージシステム４０も、チェックアウトといった重要なイベントの発生時を除き、データベース装置１６ではなく、ストレージ装置１２からデータが端末１８に提供される。したがって、データベース装置１６の負荷が軽減される。また、チェックアウトといった重要なイベントが発生したときには、データベース装置１６から最新のデータが取得される。また、上述したように、最新のデータの取得の際には、特定のデータベース装置１６のみに問い合わせが行われる。したがって、データベース装置１６の負荷を軽減しつつ、最新のデータの取得が可能である。
【０１０３】
特に、ストレージシステム４０では、ストレージ装置４２において、データベース装置１６に格納されているレコード内のバージョン情報及び発行元情報を含むファイルが保存されている。そのため、ストレージ装置４２では、データベース装置１６の負荷を軽減しつつ、データの新しさについて整合性をとったキャッシングが可能となっている。
【０１０４】
また、チェックアウトといったような最新の情報が必要な場面では、ストレージ装置４２は、データの新しさの情報を持って、問い合わせ先の特定のデータベース装置１６に問い合わせることができるため、迷うことなく正しい格納先のデータベース装置に問い合わせをすることが可能となる。さらには、送信の際のデータ量を少なくすることもできる。
【０１０５】
また、ストレージ装置４２では、キャッシュデータはファイルで持っているため、データベース装置における構成（テーブルの構成）が変わったとしても、ファイルに書き出す内容が変わるだけでよく、汎用性がある。
【０１０６】
以下、コンピュータをストレージ装置４２として動作させるプログラムについて説明する。図１８は、コンピュータをストレージ装置４２として動作させるプログラムの構成を示す図である。図１８に示すプログラムＰ４２は、記録媒体１１０に格納されることによって提供され得る。或いは、プログラムＰ４２は、搬送波に重畳されたコンピュータデータ信号１４０としてネットワークを介して提供されるものであってもよい。
【０１０７】
図１８に示すように、プログラムＰ４２は、処理を統括する制御モジュールＰ４２ｘ、レコード取得モジュールＰ４２ａ、格納モジュールＰ４２ｂ、取得要求受信モジュールＰ４２ｃ、検索モジュールＰ４２ｄ、データ送信モジュールＰ４２ｅ、要求受信モジュールＰ４２ｆ、最新レコード要求送信モジュールＰ４２ｇ、応答受信モジュールＰ４２ｈ、及び、最新データ送信モジュールＰ４２ｉを備え得る。
【０１０８】
レコード取得モジュールＰ４２ａ、格納モジュールＰ４２ｂ、取得要求受信モジュールＰ４２ｃ、検索モジュールＰ４２ｄ、データ送信モジュールＰ４２ｅ、要求受信モジュールＰ４２ｆ、最新レコード要求送信モジュールＰ４２ｇ、応答受信モジュールＰ４２ｈ、最新データ送信モジュールＰ４２ｉがコンピュータ１００に実施させる機能は、レコード取得部４２ａ、格納部４２ｂ、取得要求受信部４２ｃ、検索部４２ｄ、データ送信部４２ｅ、要求受信部４２ｆ、最新レコード要求送信部４２ｇ、応答受信部４２ｈ、最新データ送信部４２ｉとそれぞれ同様の機能である。
【０１０９】
以上、本発明の種々の実施形態について説明したが、本発明はこれら実施形態に限定されることなく、種々の変形態様を構成することができる。例えば、上述した実施形態では、提供されるデータが商品のデータであったが、商品以外の任意の対象に関するデータに対しても本発明の思想は適用され得る。また、商品のデータが提供される場合には、データベース装置のレコードには、商品に関するクーポン情報といった情報アイテムがふくまれていてもよい。
【符号の説明】
【０１１０】
１０…ストレージシステム、１２…ストレージ装置、１２ａ…レコード取得部、１２ｂ…格納部、１２ｃ…受信部、１２ｄ…検索部、１２ｅ…ファイル送信部、１４…サーバ装置、１４ａ…取得要求受信部、１４ｂ…取得要求送信部、１４ｃ…ファイル受信部、１４ｄ…格納部、１４ｅ…データ送信部、１４ｆ…要求受信部、１４ｇ…最新レコード要求送信部、１４ｈ…応答受信部、１４ｉ…最新データ送信部、１６…データベース装置、１６ａ…格納部、１６ｂ…ファイル作成部、１６ｃ…ファイル送信部、１６ｄ…最新レコード要求受信部、１６ｅ…応答部、４０…ストレージシステム、４２…ストレージ装置、４２ａ…レコード取得部、４２ｂ…格納部、４２ｃ…取得要求受信部、４２ｃ…検索部、４２ｃ…取得要求受信部、４２ｄ…検索部、４２ｅ…データ送信部、４２ｆ…要求受信部、４２ｇ…最新レコード要求送信部、４２ｈ…応答受信部、４２ｉ…最新データ送信部。
【図１】
0005483561.tif 000002
【図２】
0005483561.tif 000003
【図３】
0005483561.tif 000004
【図４】
0005483561.tif 000005
【図５】
0005483561.tif 000006
【図６】
0005483561.tif 000007
【図７】
0005483561.tif 000008
【図８】
0005483561.tif 000009
【図９】
0005483561.tif 000010
【図１０】
0005483561.tif 000011
【図１１】
0005483561.tif 000012
【図１２】
0005483561.tif 000013
【図１３】
0005483561.tif 000014
【図１４】
0005483561.tif 000015
【図１５】
0005483561.tif 000016
【図１６】
0005483561.tif 000017
【図１７】
0005483561.tif 000018
【図１８】
0005483561.tif 000019