(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0012】
以下に、本願に係る情報管理装置、情報管理方法および情報管理プログラムを実施するための形態(以下、「実施形態」と呼ぶ)について図面を参照しつつ詳細に説明する。なお、この実施形態により本願に係る情報管理装置、情報管理方法および情報管理プログラムが限定されるものではない。また、各実施形態は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。また、以下の各実施形態において同一の部位には同一の符号を付し、重複する説明は省略される。
【0013】
〔1.広告情報管理処理の一例〕
まず、
図1を用いて、実施形態に係る広告情報管理処理の一例について説明する。
図1は、実施形態に係る広告情報管理処理の一例を示す図である。
図1では、実施形態に係る広告情報管理装置100(「情報管理装置」の一例に相当)が、データ処理に関する処理要求を受け付け、かかる処理要求に対応するデータ処理の内容が管理外の外部データへのアクセスを含む場合に、少なくとも外部データを管理する外部装置からかかる外部データを取得して保存し、上記処理要求に基づいてデータ処理を実行し、データ処理の処理結果が異常である場合に、保存した保存データに基づいて外部装置に外部データをデータ処理の実行前の状態に復元させる処理を実行するべくデータ連携する例を示す。
【0014】
なお、以下においては、広告媒体の一例としてウェブページを説明するが、広告媒体は、ウェブページ以外の広告媒体であってもよい。例えば広告媒体は、ゲームアプリケーション、書籍閲覧アプリケーション、音楽配信アプリケーション、動画配信アプリケーションによって表示される媒体などであってもよい。
【0015】
図1に示す実施形態に係る広告情報管理システム1に含まれる広告情報管理装置100は、例えば媒体社Aが管理および運用する広告情報に関する内部データのデータベース(以下、「DB」と記載する)群である内部DB群41を管理するサーバ装置である。
【0016】
また、広告情報管理装置100は、ユーザUからの広告コンテンツの配信要求である広告リクエストを受け付けた場合に、かかる広告リクエストに対する広告コンテンツの配信要求を「配信要求先」である広告配信装置30−1,30−2へ送信する広告配信に係るサーバ装置を兼ねることができる。
【0017】
まず、本実施形態の説明を分かりやすくするために、かかる広告配信に係る面から、より具体的に、広告情報管理装置100を含む広告情報管理システム1によって実行される処理の一例を流れに沿って説明する。
【0018】
図1に示すように、まずウェブサーバ20が、ユーザUの利用する端末装置10から送信されたページ要求(ステップS1)を受け付けると、ページ要求に応じたウェブページWPを端末装置10へ送信する(ステップS2)。
【0019】
端末装置10は、ウェブサーバ20から広告枠AFを含むウェブページWPを受信した場合、広告リクエストを広告情報管理装置100へ送信する(ステップS3)。広告リクエストは、例えば、ウェブページWPに設定された広告枠AFに表示する広告コンテンツの配信要求である。
【0020】
広告情報管理装置100は、端末装置10から広告リクエストを受け付けた場合に、広告リクエストに対応する広告コンテンツの抽出元となる配信要求先を選択し、配信要求を送信する(ステップS4)。なお、配信要求先は、
図1の例において、広告配信装置30−1,30−2のいずれか一方または双方から選択される。また、
図1の例において、広告配信装置30−1は媒体社Aによって運用および管理され、広告配信装置30−2は広告配信業者Bによって運用および管理される。
【0021】
配信要求先、すなわち広告枠AFへ配信する広告コンテンツの抽出元となる広告配信装置30−1,30−2は、かかる配信要求に応じた広告コンテンツを広告情報管理装置100へ送信する(ステップS5)。
【0022】
そして、広告情報管理装置100は、広告配信装置30−1,30−2から受け付けた広告コンテンツを端末装置10へ送信する(ステップS6)。その後、端末装置10は、広告情報管理装置100から送信された例えば広告コンテンツA01を広告枠AFに表示する(ステップS7)。なお、広告配信装置30−1,30−2は、広告情報管理装置100を経由せずに、端末装置10へ直接広告コンテンツを送信するようにしてもよい。
【0023】
ところで、近年、更なる拡がりを見せている広告配信に係るネットワークシステムであるが、例えばリッチメディア配信や、メディアを横断した効果測定などのために第三者配信アドサーバ(以下、「第三者サーバ70」と記載する)が利用される場合がある。なお、ここに言う「第三者」は、いわゆる「サードパーティ」を指す。
【0024】
例えば、第三者サーバ70は、媒体社Aの広告配信装置30−1のバックエンドサーバとして機能し、例えば広告配信装置30−1からの配信要求(ステップS4−1)に対し、第三者配信業者Cが管理および運用する外部データの外部DB群71を抽出元とする広告コンテンツ群から広告コンテンツを送信する(ステップS4−2)。
【0025】
ただし、
図1の例において、第三者配信業者C側では、データ固有の識別情報である「固有ID」を用いて各外部データを管理している。一方、媒体社A側では、広告配信に関する内部データを図中に示すように「広告配信タグ」によって管理している。
【0026】
「広告配信タグ」は、配信要求に際して含ませる各種パラメータを含む情報であり、第三者サーバ70に対しては該当データごとの「固有ID」を指定する必要がある。したがって、例えば、「広告配信タグ」の設定内容に変更などが生じた場合には、「広告配信タグ」に紐づく「固有ID」を指定して、第三者配信業者C側にもかかる変更の内容を反映させなければならない。
【0027】
すなわち、
図1に示すように、媒体社A側の内部DB群41と第三者配信業者C側の外部DB群71とは、常に「データ連携」して整合性を保つ必要がある。外部DB群71の外部データへのアクセスには、通常、第三者配信業者C側から提供されるAPIを利用する。ただし、これは反面、APIによって外部DB群71の外部データへのアクセスが制限されていることを意味する。
【0028】
そこで、実施形態に係る広告情報管理装置100は、かかるAPIによる制限下でも、外部との情報の整合性を保つことができるように、データ処理に関する処理要求を受け付け、かかる処理要求に対応するデータ処理の内容が管理外の外部データへのアクセスを含む場合に、少なくとも外部データを管理する外部装置からかかる外部データを取得して保存し、上記処理要求に基づいてデータ処理を実行し、データ処理の処理結果が異常である場合に、保存した保存データに基づいて外部装置に外部データをデータ処理の実行前の状態に復元させることとした。
【0029】
例えば、広告情報管理装置100は、データ処理の内容が、広告配信タグに対応する内部データおよび固有IDに対応する外部データの双方を更新する「更新処理」や、双方を削除する「削除処理」などである場合に、少なくとも既存の外部データの状態が、データ処理が失敗しても戻すことができるように、予めAPIを用いて外部データを取得して保存しておく。そして、広告情報管理装置100は、データ処理の処理結果が異常である場合に、保存した保存データに基づいてAPIを介して第三者サーバ70へ復元させる。
【0030】
これにより、広告情報管理装置100は、内部DB群41と、外部DB群71との間で情報の整合性を保つことができる。なお、本実施形態の説明では、データ処理の具体例としては、上述の「更新処理」や「削除処理」のほか、内部データおよび外部データの双方を新規に登録する「登録処理」を例に挙げる。これら具体例は、
図5A〜
図5Cを用いて後述する。
【0031】
以下、このような処理を行う広告情報管理装置100および広告情報管理装置100を含む広告情報管理システム1の構成等について、詳細に説明する。
【0032】
〔2.広告情報管理システム1の構成〕
次に、
図2を用いて、実施形態に係る広告情報管理装置100が含まれる広告情報管理システム1の構成について説明する。
図2は、実施形態に係る広告情報管理システム1の構成例を示す図である。
図2に示すように、実施形態に係る広告情報管理システム1には、端末装置10と、ウェブサーバ20と、複数の広告配信装置30−1,30−2と、DBサーバ40と、APIサーバ50と、第三者サーバ70と、広告情報管理装置100と、内部DB群41と、外部DB群71とが含まれる。
【0033】
これらの各種装置は、
図2に示すように、通信ネットワークNを介して、有線または無線により通信可能に接続される。なお、広告情報管理システム1には、複数の端末装置10、複数の広告情報管理装置100、また、例えば3つ以上の広告配信装置30−1,30−2,30−3,…が含まれてもよい。また、広告情報管理システム1には、APIサーバ50、第三者サーバ70、内部DB群41、外部DB群71がそれぞれ複数含まれてもよい。
【0034】
図2に示すように、ウェブサーバ20、広告情報管理装置100、広告配信装置30−1およびDBサーバ40は、例えば媒体社Aにより管理および運用される。また、内部DB群41は、例えばDBサーバ40に接続される。なお、DBサーバ40および広告情報管理装置100は、シームレスに連携されており、広告情報管理装置100は、API等を用いることなく自装置のデータにアクセスするのと同様に、内部DB群41の内部データを取り扱うことができる。
【0035】
また、広告配信装置30−2は、例えば広告配信業者Bにより管理および運用される。また、APIサーバ50および第三者サーバ70は、例えば第三者配信業者Cにより管理および運用される。また、外部DB群71は、例えば第三者サーバ70に接続される。
【0036】
端末装置10は、ユーザUによって利用される情報処理装置である。端末装置10は、例えば、ブラウザがインストールされている。
図2においては、端末装置10がノート型PCである場合を例示している。なお、端末装置10は、例えば、タブレット型端末や、デスクトップ型PC(Personal Computer)、ノート型PC、スマートフォン、スマートフォン以外の携帯電話機や、PDA(Personal Digital Assistant)などであってもよい。
【0037】
ウェブサーバ20は、広告枠が設定された各種ウェブページを記憶している。ウェブサーバ20は、端末装置10のブラウザからのアクセスがあると、端末装置10によって指定されたURL(Uniform Resource Locator)に対応する各種ウェブページ、例えば、ポータルサイト、ニュースサイト、天気予報サイト、ショッピングサイト、ファイナンス(株価)サイト、路線検索サイト、地図提供サイト、旅行サイト、飲食店紹介サイト、ウェブブログなどに関する各種ウェブページを提供する。
【0038】
端末装置10のブラウザは、ウェブサーバ20からウェブページを受信すると、ウェブページに設定された広告枠に対応する広告リクエスト(以下、単に「リクエスト」と記載する場合がある)を広告情報管理装置100へ送信する。リクエストは、広告枠に表示する広告コンテンツの配信要求であり、例えば、端末装置10のユーザUの識別情報(以下、「ユーザID」と記載する)や広告枠の識別情報(以下、「広告枠ID」と記載する)を含む。ユーザIDは、例えば、HTTPクッキー(HyperText Transfer Protocol Cookie:以下、「クッキー」と記載する)である。かかるクッキーには、ユーザUの年齢、性別などのユーザ情報は含まれないため、各サーバ側が保持するユーザ情報と端末装置10側からのクッキーのIDが対応付けられ、ターゲティングなどに利用される。
【0039】
広告配信装置30−1,30−2は、広告コンテンツの「抽出元」であり、例えば所定のアドネットワークである。広告配信装置30−1,30−2は、広告情報管理装置100から広告コンテンツの配信要求があった場合に、かかる広告配信装置30−1,30−2に在庫する広告コンテンツ群から、広告コンテンツを配信要求の内容に沿って配信する。
【0040】
DBサーバ40は、内部DB群41を管理および運用するサーバ装置である。APIサーバ50は、外部DB群71に対するデータ処理の処理要求をAPIによって受け付け、かかる処理要求を解釈して外部DB群71に対するデータ処理を実行し、その結果を処理要求の送信元へ返すサーバ装置である。第三者サーバ70は、外部DB群71を管理および運用するサーバ装置であり、例えば3PASである。
【0041】
広告情報管理装置100は、既に述べたが、広告配信のデータ処理に関する処理要求を受け付け、かかる処理要求に対応するデータ処理の内容が管理外の外部データへのアクセスを含む場合に、少なくとも外部データを管理する外部装置からかかる外部データを取得して保存し、上記処理要求に基づいてデータ処理を実行し、データ処理の処理結果が異常である場合に、保存した保存データに基づいて外部装置に外部データをデータ処理の実行前の状態に復元させるサーバ装置である。
【0042】
〔3.広告情報管理装置100〕
次に、
図3を用いて、広告情報管理装置100の構成について説明する。
図3は、実施形態に係る広告情報管理装置100の構成例を示すブロック図である。なお、
図3では、広告情報管理装置100の説明に必要となる構成要素のみを示しており、一般的な構成要素についての記載を省略している。
【0043】
図3に示すように、広告情報管理装置100は、通信部110と、記憶部120と、制御部130とを有する。なお、広告情報管理装置100は、広告情報管理装置100を利用するオペレータ等から各種操作を受け付ける入力部(例えば、キーボードやマウス等)や、各種情報を表示するための表示部(例えば、液晶ディスプレイ等)を有してもよい。
【0044】
(通信部110について)
通信部110は、例えばNIC(Network Interface Card)等によって実現される。通信部110は、通信ネットワークNと有線または無線で接続され、通信ネットワークNを介して、端末装置10や、広告配信装置30−1,30−2、DBサーバ40、APIサーバ50、第三者サーバ70との間で情報の送受信を行う。
【0045】
(記憶部120について)
記憶部120は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現され、
図3に示すように、記憶部120は、ライブラリ管理情報121と、保存情報122とを記憶する。
【0046】
(ライブラリ管理情報121について)
ライブラリ管理情報121は、広告情報管理装置100に対して処理要求される各データ処理に対し、それぞれ処理対象となるDBサーバ40の内部DB群41に格納された内部データ、および、第三者サーバ70の外部DB群71に格納された外部データが関連付けられたライブラリ情報である。
【0047】
ここで、
図4にライブラリ管理情報121に含まれるライブラリ管理情報テーブルの一例を示す。
図4は、ライブラリ管理情報テーブルの一例を示す図である。
【0048】
図4に示した例では、ライブラリ管理情報テーブルは、「トランザクションID」、「対象エンティティID」、「対象DBID」、「管理区分」といった項目を有する。
【0049】
「トランザクションID」は、広告情報管理装置100が内部DB群41および外部DB群71のいずれか一方または双方に対して実行するデータ処理それぞれの識別情報を示す。「対象エンティティ」は、各データ処理において処理対象となるエンティティ(例えば、データ項目等)の識別情報を示す。
【0050】
「対象DBID」は、処理対象となるエンティティに関連する対象DBの識別情報を示す。「管理区分」は、各対象DBが、広告情報管理装置100側から見て「内部」であるのか「外部」であるのかを示す。すなわち、「内部」か「外部」を示すキー情報である。本実施形態では、「内部」は、内部DB群41の内部データに対応し、「外部」は、外部DB群71の外部データに対応する。
【0051】
図4に示したデータの一例は、トランザクションID「TR001」は、対象エンティティID「E001」,「E002」,…のエンティティが処理対象であって、対象エンティティID「E001」は、対象DBID「DB001」のDBに格納され、管理区分「内部」、すなわち内部DB群41の内部データであることを示している。一方、対象エンティティID「E002」は、対象DBID「DB002」のDBに格納され、管理区分「外部」、すなわち外部DB群71の外部データであることを示している。
【0052】
(保存情報122について)
図3の説明に戻る。保存情報122は、広告情報管理装置100に対して処理要求されるデータ処理の内容が管理外である外部DB群71に格納された外部データへのアクセスを含む場合に、データ処理に先立ち、少なくともかかる外部データを管理する第三者サーバ70から取得されて保存された情報である。保存情報122は、後述する保存部134によって保存される。
【0053】
(制御部130について)
制御部130は、コントローラ(controller)であり、例えば、CPU(Central Processing Unit)やMPU(Micro Processing Unit)等によって、広告情報管理装置100内部の記憶装置に記憶されている各種プログラム(広告情報管理プログラムの一例に相当)がRAMを作業領域として実行されることにより実現される。また、制御部130は、例えば、コントローラであり、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路により実現される。
【0054】
図3に示すように、制御部130は、収集部131と、受付部132と、判別部133と、保存部134と、実行部135と、復元部136とを有し、以下に説明する情報処理の機能や作用を実現または実行する。なお、制御部130の内部構成は、
図3に示した構成に限られず、後述する情報処理を行うことができる構成であれば他の構成であってもよい。また、制御部130が有する各処理部の接続関係は、
図3に示した接続関係に限られず、他の接続関係であってもよい。
【0055】
(収集部131について)
収集部131は、通信部110および通信ネットワークNを介し、予め設定した内部DB群41および外部DB群71の各DBに対してアクセスし、定期的に内部構造情報を収集する。また、収集部131は、収集した内容をライブラリ管理情報121へ反映する。
【0056】
(受付部132について)
受付部132は、例えば通信部110および通信ネットワークNを介し、内部データおよび外部データの「登録処理」、「更新処理」、「削除処理」といったデータ処理に関する処理要求を受け付ける。かかる処理要求には、例えば前述の「トランザクションID」が含まれる。なお、図示略のキーボード等の入力部を介した操作によって処理要求を受け付けてもよい。
【0057】
(判別部133について)
判別部133は、受付部132によって受け付けられた処理要求に含まれるデータ処理の内容、例えば「トランザクションID」をライブラリ管理情報121に照らし、要求されたデータ処理が、管理外の第三者サーバ70の管理する外部データへのアクセスを含むか否かを判別する。外部データへのアクセスを含む場合、判別部133は、保存部134に該当の外部データを保存させた後で、実行部135に処理要求に対応するデータ処理を実行させる。一方、外部データへのアクセスを含まない場合、判別部133は、実行部135にそのまま処理要求に対応するデータ処理を実行させる。
【0058】
(保存部134について)
保存部134は、判別部133によって、要求されたデータ処理が管理外の第三者サーバ70の管理する外部データへのアクセスを含むと判別された場合に、ライブラリ情報121に基づき、API(すなわち、APIサーバ50)を介して第三者サーバ70から該当する外部データを取得して、保存情報122へ保存する。
【0059】
(実行部135について)
実行部135は、通信部110および通信ネットワークNを介し、データ処理の処理内容に応じて適宜内部DB群41および外部DB群71へアクセスしつつ、処理要求に対応するデータ処理を実行する。なお、既に述べたが、実行部135は、通信ネットワークNを介しつつも内部DB群41に対してはシームレスにアクセスすることができる。一方、実行部135は、外部DB群71に対してはAPIサーバ50を介した所定のアクセス手順によりアクセスする。これらの点は後述する復元部136についても同様である。
【0060】
また、実行部135は、実行したデータ処理の処理結果が正常である場合に、保存情報122を自動的に削除する。また、実行部135は、実行したデータ処理の処理結果が異常である場合に、復元部136に復元処理を実行させる。
【0061】
(復元部136について)
復元部136は、実行部135によるデータ処理の処理結果が異常である場合に、保存部134によって保存された保存情報122に基づいて、第三者サーバ70に外部DB群71の該当する外部データをデータ処理の実行前の状態に復元させる。
【0062】
また、復元部136は、実行した復元処理の処理結果が正常である場合に、保存情報122を自動的に削除する。なお、実行部135によるデータ処理の処理結果が異常となった原因特定などのために、復元部136は、保存情報122を削除しなくともよい。
【0063】
(登録処理の具体例について)
次に、実施形態に係る広告情報管理システム1が実行する登録処理の具体例について、
図5Aを用いて説明する。
図5Aは、登録処理の一例を示す処理シーケンス図である。なお、本処理シーケンス図では、内部DB群41の内部データ、および、外部DB群71の外部データの双方が処理対象であるものとする。また、この点は、後述する
図5Bおよび
図5Cを用いた説明でも同様とする。
【0064】
「正常時」から説明する。
図5Aに示すように、「登録処理」ではまず、広告情報管理装置100の実行部135が、データ処理の処理要求に含まれる内容に基づく登録データを、シームレスにDBサーバ40の内部DB群41に登録する(ステップS101)。
【0065】
そして、広告情報管理装置100の実行部135は、APIを呼び出して同じ登録データの登録要求を送信する(ステップS102)。かかる登録要求は、APIサーバ50を介して第三者サーバ70へ送信され(ステップS103)、第三者サーバ70はかかる登録要求に応じてデータを登録する。このとき、新規の登録データに対し、固有IDが発行される。ここでは固有ID
Aが発行されたものとする。
【0066】
そして、第三者サーバ70は、かかる固有ID
Aを、APIサーバ50へ送信し(ステップS104)、APIサーバ50はこれをさらに広告情報管理装置100へ送信する(ステップS105)。
【0067】
広告情報管理装置100の実行部135は、受け取った固有ID
AをDBサーバ40の内部DB群41のステップS101で登録した内部データに追記する(ステップS106)。これにより、今回登録した内部データおよび外部データを紐付けて、実行部135は、登録処理を終了する。
【0068】
つづいて「異常時」について説明する。ここではステップS106の「追記」が異常終了したものとする(ステップS107)。かかる場合、広告情報管理装置100の復元部136が、APIを呼び出して固有ID
Aに対応する外部データの削除要求を送信する(ステップS108)。かかる削除要求は、APIサーバ50を介して第三者サーバ70へ送信され(ステップS109)、第三者サーバ70はかかる削除要求に応じて該当するデータを削除する。
【0069】
そして、第三者サーバ70は、かかる固有ID
Aに対応する外部データを削除したことを示す削除応答をAPIサーバ50へ送信し(ステップS110)、APIサーバ50はこれをさらに広告情報管理装置100へ送信する(ステップS111)。これにより、復元部136による、登録処理の異常時の復元処理が終了する。
【0070】
このように、復元部136は、実行部135がデータ処理として内部データおよび外部データを新規に登録する登録処理を実行し、かかる登録処理の処理結果が異常である場合に、新規の外部データを識別する固有IDを第三者サーバ70から取得済みであるならば、かかる第三者サーバ70に対して固有IDおよび固有IDに対応する外部データを削除させる削除要求を送信する。
【0071】
これにより、登録処理が異常終了した場合であっても、内部データおよび外部データの間で整合性を保つことができる。
【0072】
(更新処理の具体例について)
次に、実施形態に係る広告情報管理システム1が実行する更新処理の具体例について、
図5Bを用いて説明する。
図5Bは、更新処理の一例を示す処理シーケンス図である。
【0073】
「正常時」から説明する。
図5Bに示すように、「更新処理」ではまず、広告情報管理装置100の保存部134が、処理対象となる外部データの取得要求を、APIを呼び出してAPIサーバ50へ送信する(ステップS201)。
【0074】
かかる取得要求は、APIサーバ50を介して第三者サーバ70へ送信され(ステップS202)、第三者サーバ70はかかる取得要求に応じて外部データを外部DB群71から抽出して取得する。
【0075】
そして、第三者サーバ70は、取得した取得データをAPIサーバ50へ送信し(ステップS203)、APIサーバ50はこれをさらに広告情報管理装置100へ送信する(ステップS204)。
【0076】
広告情報管理装置100の保存部134は、受け取った取得データを保存情報122として保存する(ステップS205)。そして、実行部135が、データ処理の処理要求に含まれる内容に基づく更新データをセットし(ステップS206)、かかる更新データを含む更新要求を、APIを呼び出してAPIサーバ50へ送信する(ステップS207)。
【0077】
かかる更新要求は、APIサーバ50を介して第三者サーバ70へ送信され(ステップS208)、第三者サーバ70はかかる更新要求に応じて外部DB群71の該当する外部データを更新する。
【0078】
そして、第三者サーバ70は、該当の外部データを更新したことを示す更新応答をAPIサーバ50へ送信し(ステップS209)、APIサーバ50はこれをさらに広告情報管理装置100へ送信する(ステップS210)。
【0079】
広告情報管理装置100の実行部135は、かかる更新応答を受信した後、同じ更新データの内容をDBサーバ40の内部DB群41の該当する内部データに反映して更新する(ステップS211)。そして、実行部135は、保存分である保存情報122を削除した後(ステップS212)、更新処理を終了する。
【0080】
つづいて「異常時」について説明する。ここではステップS211の「更新」が異常終了したものとする(ステップS213)。かかる場合、広告情報管理装置100の復元部136が、保存分である保存情報122を読み出して取得し(ステップS214)、APIを呼び出してかかる保存分での更新要求を送信する(ステップS215)。
【0081】
かかる更新要求は、APIサーバ50を介して第三者サーバ70へ送信され(ステップS216)、第三者サーバ70はかかる更新要求に応じて該当する外部データを更新する。
【0082】
そして、第三者サーバ70は、該当する外部データを更新したことを示す更新応答をAPIサーバ50へ送信し(ステップS217)、APIサーバ50はこれをさらに広告情報管理装置100へ送信する(ステップS218)。そして、復元部136は、保存分の保存情報122を削除する(ステップS219)。これにより、復元部136による、更新処理の異常時の復元処理が終了する。
【0083】
このように、保存部134は、実行部135がデータ処理として内部データおよび外部データを更新する更新処理を実行する場合に、処理対象となる外部データを更新処理が実行される前に第三者サーバ70から取得して保存する。また、復元部136は、実行部135によって実行された更新処理の処理結果が異常である場合に、外部データは第三者サーバ70によって更新済みであるならば、かかる第三者サーバ70に対し、保存部134によって保存された保存情報122の内容で外部DB群71の外部データを更新させる更新要求を送信する。
【0084】
これにより、更新処理が異常終了した場合であっても、内部データおよび外部データの間で整合性を保つことができる。
【0085】
(削除処理の具体例について)
次に、実施形態に係る広告情報管理システム1が実行する削除処理の具体例について、
図5Cを用いて説明する。
図5Cは、削除処理の一例を示す処理シーケンス図である。
【0086】
「正常時」から説明する。
図5Cに示すように、「削除処理」ではまず、広告情報管理装置100の保存部134が、処理対象となる外部データの取得要求を、APIを呼び出してAPIサーバ50へ送信する(ステップS301)。なお、このとき、例えば広告配信タグに紐付いている固有IDを指定する。ここでは、例えば固有ID
Aであるものとする。
【0087】
かかる取得要求は、APIサーバ50を介して第三者サーバ70へ送信され(ステップS302)、第三者サーバ70はかかる取得要求に該当する固有ID
Aに対応する外部データを外部DB群71から抽出して取得する。
【0088】
そして、第三者サーバ70は、取得した取得データをAPIサーバ50へ送信し(ステップS303)、APIサーバ50はこれをさらに広告情報管理装置100へ送信する(ステップS304)。
【0089】
広告情報管理装置100の保存部134は、受け取った取得データを保存情報122として保存する(ステップS305)。そして、実行部135が、APIを呼び出して固有ID
Aに対応する外部データの削除要求を送信する(ステップS306)。かかる削除要求は、APIサーバ50を介して第三者サーバ70へ送信され(ステップS307)、第三者サーバ70はかかる削除要求に応じて該当する外部データを削除する。
【0090】
そして、第三者サーバ70は、かかる固有ID
Aに対応する外部データを削除したことを示す削除応答をAPIサーバ50へ送信し(ステップS308)、APIサーバ50はこれをさらに広告情報管理装置100へ送信する(ステップS309)。
【0091】
そして、実行部135は、固有ID
Aに紐付けられた、DBサーバ40の内部DB群41の該当する内部データを削除する(ステップS310)。そして、実行部135は、保存分である保存情報122を削除した後(ステップS311)、削除処理を終了する。
【0092】
つづいて「異常時」について説明する。ここではステップS310の「削除」が異常終了したものとする(ステップS312)。かかる場合、広告情報管理装置100の復元部136が、保存分である保存情報122を読み出して取得し(ステップS313)、APIを呼び出してかかる保存分での登録要求を送信する(ステップS314)。
【0093】
かかる登録要求は、APIサーバ50を介して第三者サーバ70へ送信され(ステップS315)、第三者サーバ70はかかる登録要求に応じて新しく外部データを登録する。このとき、新規の登録データに対し、固有IDが発行される。ここでは固有ID
Bが発行されたものとする。
【0094】
そして、第三者サーバ70は、かかる固有ID
Bを、APIサーバ50へ送信し(ステップS316)、APIサーバ50はこれをさらに広告情報管理装置100へ送信する(ステップS317)。
【0095】
広告情報管理装置100の復元部136は、DBサーバ40の内部DB群41の該当する内部データを受け取った固有ID
Bで更新する(ステップS318)。そして、復元部136は、保存分である保存情報122を削除する(ステップS319)。これにより、復元部136による、削除処理の異常時の復元処理が終了する。
【0096】
このように、保存部134は、実行部135がデータ処理として内部データおよび外部データを削除する削除処理を実行する場合に、処理対象となる外部データを削除処理が実行される前に第三者サーバ70から取得して保存する。また、復元部136は、実行部135によって実行された削除処理の処理結果が異常である場合に、外部データは第三者サーバ70によって削除済みであるならば、かかる第三者サーバ70に対し、保存部134によって保存された保存情報122の内容で外部DB群71の外部データを新規に登録させる登録要求を送信し、かかる登録要求に対して発行される新規の固有IDを削除処理が実行される前の内部DB群41の内部データへ関連付ける。
【0097】
これにより、削除処理が異常終了した場合であっても、内部データおよび外部データの間で整合性を保つことができる。
【0098】
〔4.広告情報管理装置100の処理手順〕
次に、実施形態に係る広告情報管理装置100が実行する処理手順について説明する。
図6は、実施形態に係る広告情報管理装置100が実行する処理手順を示すフローチャートである。
【0099】
図6に示すように、まず収集部131が、DBに関する情報を随時収集する(ステップS1001)。
【0100】
そして、受付部132は、データ処理に関する処理要求を随時受け付ける。ここで、受付部132が処理要求を受け付けた場合(ステップS1002,Yes)、判別部133が、処理対象となるデータが外部DBのデータを含むか否かを判定する(ステップS1003)。なお、受付部132が処理要求を受け付けない場合(ステップS1002,No)、ステップS1002を繰り返す。
【0101】
そして、ステップS1003で外部DBのデータを含むと判定された場合(ステップS1003,Yes)、保存部134が、処理対象となる対象データを取得して保存する(ステップS1004)。ステップS1003で外部DBのデータを含まないと判定された場合(ステップS1003,No)、ステップS1005へ制御を移す。
【0102】
つづいて、受け付けられた処理要求に基づいて処理種別が判定される(ステップS1005)。処理種別は、上述したトランザクションIDに対応する。処理種別が「登録」である場合(ステップS1005,登録)、実行部135が、登録処理を実行する(ステップS1006)。
【0103】
また、処理種別が「更新」である場合(ステップS1005,更新)、実行部135が、更新処理を実行する(ステップS1007)。
【0104】
また、処理種別が「削除」である場合(ステップS1005,削除)、実行部135が、削除処理を実行する(ステップS1008)。
【0105】
そして、それぞれの処理が異常終了したか否かが判定される(ステップS1009)。ここで、異常終了したと判定された場合(ステップS1009,Yes)、復元部136が処理種別に応じた復元処理を実行する(ステップS1010)。異常終了しなかったと判定された場合(ステップS1009,No)、ステップS1011へ制御を移す。
【0106】
そして、終了イベントがあれば(ステップS1011,Yes)、広告情報管理装置100は処理を終了する。終了イベントは、例えば電源OFF等のイベントである。終了イベントがなければ(ステップS1011,No)、広告情報管理装置100は、ステップS1002からの処理を繰り返し実行する。
【0107】
〔5.ハードウェア構成〕
上述してきた実施形態に係る広告情報管理装置100や端末装置10、ウェブサーバ20、広告配信装置30−1,30−2,30−3、DBサーバ40等は、例えば
図7に示すような構成のコンピュータ60によって実現される。以下、広告情報管理装置100を例に挙げて説明する。
図6は、広告情報管理装置100の機能を実現するコンピュータの一例を示すハードウェア構成図である。コンピュータ60は、CPU(Central Processing Unit)61、RAM(Random Access Memory)62、ROM(Read Only Memory)63、HDD(Hard Disk Drive)64、通信インターフェイス(I/F)65、入出力インターフェイス(I/F)66、およびメディアインターフェイス(I/F)67を備える。
【0108】
CPU61は、ROM63またはHDD64に格納されたプログラムに基づいて動作し、各部の制御を行う。ROM63は、コンピュータ60の起動時にCPU61によって実行されるブートプログラムや、コンピュータ60のハードウェアに依存するプログラム等を格納する。
【0109】
HDD64は、CPU61によって実行されるプログラムおよび当該プログラムによって使用されるデータ等を格納する。通信インターフェイス65は、通信部110に対応し、通信ネットワークNを介して他の機器からデータを受信してCPU61へ送り、CPU61が生成したデータを、通信ネットワークNを介して他の機器へ送信する。
【0110】
CPU61は、入出力インターフェイス66を介して、ディスプレイやプリンタ等の出力装置、および、キーボードやマウス等の入力装置を制御する。CPU61は、入出力インターフェイス66を介して、入力装置からデータを取得する。また、CPU61は、生成したデータを、入出力インターフェイス66を介して出力装置へ出力する。
【0111】
メディアインターフェイス67は、記録媒体68に格納されたプログラムまたはデータを読み取り、RAM62を介してCPU61に提供する。CPU61は、当該プログラムを、メディアインターフェイス67を介して記録媒体68からRAM62上にロードし、ロードしたプログラムを実行する。記録媒体68は、例えばDVD(Digital Versatile Disc)、PD(Phase change rewritable Disk)等の光学記録媒体、MO(Magneto-Optical disk)等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等である。
【0112】
例えば、コンピュータ60が実施形態に係る広告情報管理装置100として機能する場合、コンピュータ60のCPU61は、RAM62上にロードされたプログラムを実行することにより、制御部130の機能を実現する。また、HDD64には、記憶部120内のデータが記憶される。
【0113】
コンピュータ60のCPU61は、これらのプログラムを、記録媒体68から読み取って実行するが、他の例として、他の装置から、通信ネットワークNを介してこれらのプログラムを取得してもよい。
【0114】
〔6.その他〕
また、上記実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
【0115】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
【0116】
例えば、
図3に示した実行部135と、復元部136とは統合されてもよい。また、例えば、記憶部120に記憶される情報は、通信ネットワークNを介して、外部に備えられた所定の記憶装置に記憶されてもよい。また、逆に、DBサーバ40が管理する内部DB群41が、記憶部120に記憶されてもよい。すなわち、広告情報管理装置100と、DBサーバ40とが統合されてもよい。
【0117】
また、上述した実施形態では、取り扱われる情報が主に広告配信に関する情報である場合を例に挙げたが、情報の種別を限定するものではなく、また、広告業界に係るものにも限られない。本願は、例えば金融業界など、多数の事業者が管理する多数のトランザクションDBを有するネットワークシステム等にも適用可能である。
【0118】
また、上述してきた実施形態及び変形例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【0119】
〔7.効果〕
実施形態に係る広告情報管理システム1(「情報管理システム」の一例に相当)の広告情報管理装置100(「情報管理装置」の一例に相当)は、受付部132と、保存部134と、実行部135と、復元部136とを備える。受付部132は、データ処理に関する処理要求を受け付ける。保存部134は、処理要求に対応するデータ処理の内容が管理外の外部データへのアクセスを含む場合に、少なくとも外部データを管理する第三者サーバ70(「外部装置」の一例に相当)から外部データを取得して保存する。実行部135は、処理要求に基づいてデータ処理を実行する。復元部136は、実行部135によるデータ処理の処理結果が異常である場合に、保存部134によって保存された保存データに基づいて第三者サーバ70に外部データをデータ処理の実行前の状態に復元させる。これにより、外部との情報の整合性を保つことができる。
【0120】
また、保存部134は、処理要求に対応するデータ処理に対し、かかるデータ処理の処理対象となる外部データおよび内部データが関連付けられたライブラリ情報121に基づいて第三者サーバ70から外部データを取得して保存する。これにより、データ処理とその処理対象となる各データおよびDBとの関連性を容易に把握することができる。また、処理要求に対応するデータ処理の内容が管理外の外部データへのアクセスを含む場合を瞬時に判定することができる。
【0121】
また、復元部136は、実行部135がデータ処理として内部データおよび外部データを新規に登録する登録処理を実行し、かかる登録処理の処理結果が異常である場合に、新規の外部データを識別する固有ID(「識別情報」の一例に相当)を第三者サーバ70から取得済みであるならば、かかる第三者サーバ70に対して固有IDおよびかかる固有IDに対応する外部データを削除させる削除要求を送信する。これにより、登録処理が異常終了した場合であっても、内部データおよび外部データの間で整合性を保つことができる。
【0122】
また、保存部134は、実行部135がデータ処理として内部データおよび外部データを更新する更新処理を実行する場合に、処理対象となる外部データを更新処理が実行される前に第三者サーバ70から取得して保存する。また、復元部136は、実行部135によって実行された更新処理の処理結果が異常である場合に、外部データは第三者サーバ70によって更新済みであるならば、かかる第三者サーバ70に対し、保存部134によって保存された外部データの内容で外部データを更新させる更新要求を送信する。これにより、更新処理が異常終了した場合であっても、内部データおよび外部データの間で整合性を保つことができる。
【0123】
また、保存部134は、実行部135がデータ処理として内部データおよび外部データを削除する削除処理を実行する場合に、処理対象となる外部データを削除処理が実行される前に第三者サーバ70から取得して保存する。また、復元部136は、実行部135によって実行された削除処理の処理結果が異常である場合に、外部データは第三者サーバ70によって削除済みであるならば、かかる第三者サーバ70に対し、保存部134によって保存された外部データの内容で外部データを新規に登録させる登録要求を送信し、かかる登録要求に対して発行される新規の外部データの固有IDを削除処理が実行される前の内部データへ関連付ける。これにより、削除処理が異常終了した場合であっても、内部データおよび外部データの間で整合性を保つことができる。
【0124】
また、実行部135は、実行したデータ処理の処理結果が正常である場合に、保存部134による保存データを削除する。これにより、記憶領域資源などのシステムリソースを浪費することなく繰り返し利用することができる。したがって、可用性の高いシステムを提供することができる。
【0125】
以上、本願の実施形態を図面に基づいて詳細に説明したが、これは例示であり、発明の開示の欄に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
【0126】
また、上述してきた「部(section、module、unit)」は、「手段」や「回路」などに読み替えることができる。例えば、取得部は、取得手段や取得回路に読み替えることができる。