(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0010】
以下に、本願に係る情報処理プログラム、情報処理装置、および情報処理方法を実施するための形態(以下「実施形態」とする)について図面を参照しつつ詳細に説明する。なお、この実施形態により本願に係る情報処理プログラム、情報処理装置、および情報処理方法が限定されるものではない。また、以下の各実施形態においては、同一の部位には同一の符号を付し、重複する説明は省略する。
【0011】
[1.情報処理の概要]
まず、
図1を参照しながら実施形態に係る情報処理の概要について説明する。
図1は、実施形態に係る情報処理の概要を示す説明図である。
図1においては、実施形態に係る端末装置100が、実施形態に係る情報処理プログラムであるアプリケーションプログラム(以下「アプリ」と記す場合がある)を実行し、同じく実施形態に係る情報処理装置であるコンテンツ配信サーバ30(
図2参照)と、地図情報を配信する地図サーバ10(
図2参照)と協働して行う情報処理の概要について説明する。
【0012】
また、以下では、端末装置100を、ここでは「スマートフォン」と呼ばれる携帯端末として説明する。端末装置100は、位置情報取得機能を有し、当該端末装置100のOS(Operating System)は、例えば、航法衛星を利用したGNSS(Global Navigation Satellite System)を利用して、自身の位置情報を定期的に取得することができる。かかる端末装置100を所有するユーザが、街中を移動している際に行う処理を、本実施形態に係る情報処理として説明する。
【0013】
図1に示すように、地図情報Mの中には、所定の区画領域A2が設定されている。この区画領域A2は、例えば○○町△△丁目××番地で規定される領域である。区画領域A2が第2の地理領域に相当する。
【0014】
また、地図情報Mの中では、区画領域A2を完全に包含する仮想的な地理領域A1が設定されている。この仮想的な地理領域A1は、所謂「ジオフェンス」と呼ばれるもので、仮想的な境界線で囲まれた真円状の領域である。以下、仮想的な地理領域A1をジオフェンスA1と記す場合がある。仮想的な地理領域(ジオフェンス)A1が第1の地理領域に相当する。
【0015】
ジオフェンスA1および区画領域A2は、実施形態に係る情報処理装置としてのコンテンツ配信サーバ30により設定されており、ジオフェンスA1に関する情報は、予めコンテンツ配信サーバ30から端末装置100へ送信される。
【0016】
図1(a)に示すように、端末装置100を所有するユーザが、ジオフェンスA1および区画領域A2の西側(図面上の左側)を東(図面上の右側)に向かって歩いているとする。
図1(b)に示すように、やがて端末装置100(すなわちユーザ)はジオフェンスA1内に進入する。ジオフェンスA1内に端末装置100(すなわちユーザ)が進入したことが端末装置100により検出されると、検出結果は端末装置100にインストールされているアプリに通知される。
【0017】
アプリは、ジオフェンスA1内に端末装置100が進入したことを受けて、端末装置100が区画領域A2内に進入したか否かを判定する。すなわち、端末装置100が取得した位置情報を参照して端末装置100が区画領域A2内に進入したか否かを判定する。
【0018】
このように、実施形態に係る情報処理プログラムであるアプリは、端末装置100の基本的な機能である位置情報取得機能を利用している。すなわち、端末装置100側の位置情報取得機能により、ユーザのジオフェンスA1内への進入検出を受けて、アプリ側でユーザの位置を追跡し、ユーザが区画領域A2に進入したか否かを判定する。したがって、処理の目的であるユーザの区画領域A2への進入検出処理を、予め絞られた領域であるジオフェンスA1内にユーザが進入したことをトリガーとして実行するため、省電力で目的を達成することができる。
【0019】
また、
図1(c)に示すように、実際に端末装置100(ユーザ)が区画領域A2内に進入したことを検出すると、所定の処理が実行される。所定の処理としては、例えば、端末装置100に対して、広告配信サーバ20(
図2参照)から所定の広告コンテンツCを送信させることができる。ここでは、区画領域A2内に存在する店舗である「○△屋」から全商品15%オフのクーポン券が送信されるように設定されており、かかるクーポン券を示す広告コンテンツCが端末装置100の画面101に表示される。
【0020】
なお、ユーザが区画領域A2内に進入した際の所定の処理を、ユーザが区画領域A2内に進入した場合、端末装置100に広告コンテンツC(例えばクーポン券)を送る処理としたが、かかる処理に限らず、いかなる処理が実行されるものであっても構わない。また、予め設定された複数の処理の中から、ユーザが所望する処理を選択するようにしてもよい。
【0021】
[2.情報処理システムの構成]
次に、上述した情報処理を可能とする情報処理システムについて、
図2を参照しながら説明する。
図2は、実施形態に係る情報処理システム1の構成例を示す説明図である。
【0022】
図2に示すように、情報処理システム1は、複数の端末装置100と、地図サーバ10と、広告配信サーバ20と、コンテンツ配信サーバ30とを含んで構成される。端末装置100、地図サーバ10、広告配信サーバ20およびコンテンツ配信サーバ30は、ネットワークNを介して有線または無線により通信可能に接続される。なお、情報処理システム1に含まれる地図サーバ10、広告配信サーバ20、およびコンテンツ配信サーバ30は、それぞれ複数台であってもよい。
【0023】
端末装置100は、ウェブページ等のコンテンツを閲覧するユーザによって利用される情報処理装置である。例えば、端末装置100は、上述したスマートフォン等の携帯電話機の他、タブレット端末や、PDA(Personal Digital Assistant)や、デスクトップ型PC(Personal Computer)や、ノート型PC等とすることができる。端末装置100は、ユーザによる操作にしたがって、コンテンツ配信サーバ30からウェブページを取得し、取得したウェブページを表示する。また、端末装置100は、ウェブページ内に例えば地図情報が表示可能である場合、地図サーバ10から地図情報を取得し、ユーザの端末装置100が存在する位置を、表示される地図上に表示可能とすることができる。
【0024】
地図サーバ10は、例えば自国を含む全世界の地図情報を配信可能なサーバである。配信される地図情報は、各種のアプリと連繋可能なAPI(Application Programming Interface)となりうるものであり、路線図情報、店舗情報、施設情報など、様々な情報が含まれる。
【0025】
広告配信サーバ20は、入稿された広告コンテンツを配信するサーバ装置である。広告配信サーバ20は、端末装置100のアプリなどからアクセスを受付けると、例えば、端末装置100の存在場所や利用者の属性等から広告のマッチングを行い、マッチングの結果配信対象となる広告コンテンツを端末装置100に配信する。具体的には、
図1で示した例では、区画領域A2内に進入した端末装置100と、区画領域A2内に存在する店舗「○△屋」とがマッチングした結果を示している。
【0026】
コンテンツ配信サーバ30は、端末装置100にウェブページを配信するウェブサーバやサービスサーバ等であり、情報処理装置に相当する。コンテンツ配信サーバ30は、例えば、ポータルサイト、ニュースサイト、オークションサイト、天気予報サイト、ショッピングサイト、ファイナンス(株価)サイト、路線検索サイト、地図提供サイト、旅行サイト、飲食店紹介サイト、ウェブブログなどに関連する各種情報を含むウェブページを端末装置100に配信する。
【0027】
コンテンツ配信サーバ30によって配信されるウェブページは、例えば、HTML(Hyper Text Markup Language)により記述されたHTMLファイルや、XML(Extensible Markup Language)により記述されたXMLファイル等により形成される。
【0028】
[3.端末装置100の構成]
次に、端末装置100の具体的な構成について、
図3を参照しながら説明する。
図3は、実施形態に係る端末装置100の構成例を示す説明図である。
図3に示すように、端末装置100は、通信部110と、入力部120と、出力部130と、位置検出部170と、制御部140と、記憶部160と、電源150とを有する。
【0029】
通信部110は、例えば、NIC等によって実現される。そして、通信部110は、ネットワークNと有線又は無線で接続され、地図サーバ10や広告配信サーバ20やコンテンツ配信サーバ30との間で情報の送受信を行う。
【0030】
入力部120は、ユーザから各種操作を受け付ける入力装置である。例えば、入力部120は、キーボードや操作キー、あるいはマウス等によって実現される。出力部130は、各種情報を表示するための表示装置であり、例えば、液晶ディスプレイ等によって端末装置100の画面101が構成される。なお、表示装置にタッチパネルが採用される場合には、入力部120と出力部130とは一体化される。
【0031】
位置検出部170は、GNSSモジュール等を備えて構成されている。GNSSモジュールは、GNSSアンテナ等を備えて構成される。このGNSSアンテナは、地球低軌道に打ち上げられた複数の航法衛星から送信されるGNSS信号を受信する。GNSSアンテナは、少なくとも3個のGNSS衛星から送信されるGNSS信号を受信し、受信したGNSS信号に基づいて端末装置100の絶対的な現在位置(緯度、経度)を検出し、制御部140に出力する。
【0032】
制御部140は、コントローラ(controller)であり、例えば、CPU(Central Processing Unit)やMPU(Micro Processing Unit)等によって、端末装置100の内部の記憶装置に記憶されているOSをはじめとする各種のプログラム(情報処理プログラムの一例に相当)が、RAM(Random Access Memory)を作業領域として実行されることにより実現される。また、制御部140は、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field-Programmable Gate Array)等の集積回路により実現される。
【0033】
また、制御部140は、要求部141と、受付部142と、表示制御部143と、位置判定部144とを有し、以下に説明する情報処理の機能や作用を実現または実行する。なお、制御部140の内部構成は、
図3に示した構成に何ら限定されない。また、制御部140が有する各処理部の接続関係についても
図3に示した接続関係に限られることなく、他の接続関係であってもよい。
【0034】
要求部141は、入力部120を介して受け付けたユーザ操作に従って、コンテンツ配信サーバ30にウェブページの取得要求を送信する。また、要求部141は、受付部142によって受け付けられたウェブページに広告取得命令が含まれる場合に、広告コンテンツの取得要求を広告配信サーバ20に送信する。
【0035】
受付部142は、ウェブページや広告コンテンツを受け付ける。すなわち、受付部142は、要求部141によって送信されたウェブページの取得要求に応答したコンテンツ配信サーバ30からウェブページを受け付ける。このとき、受付部142は、ウェブページに広告取得命令が含まれる場合には、広告コンテンツの取得要求を送信するよう要求部141に指示する。そして、受付部142は、要求部141によって送信された広告コンテンツの取得要求に応答した広告配信サーバ20から広告コンテンツを受け付ける。
【0036】
表示制御部143は、受付部142によって受け付けられたウェブページに含まれる制御情報に従って、所定のコンテンツを出力部130に表示させる表示制御を行う。表示制御部143は、例えば、CPUやMPU等によって、制御情報がRAMを作業領域として実行されることにより実現される。
【0037】
位置判定部144は、位置検出部170から出力された現在位置情報と、コンテンツ配信サーバ30から送信された仮想的な地理領域A1(第1の地理領域)に関する第1の地理領域情報とに基づき、端末装置100自身が仮想的な地理領域(ジオフェンス)A1に進入したか否かを判定する。
【0038】
記憶部160は、例えば、フラッシュメモリ等の半導体メモリ素子、あるいはその他の記憶装置によって実現される。そして、記憶部160には、本願に係る情報処理プログラムの一例であるアプリケーションプログラムを含む各種プログラムや、コンテンツ配信サーバ30等から送信される各種情報、例えば、
図1に示したジオフェンスA1を示す情報等が記憶される。
【0039】
電源150は、充電式のバッテリーによって実現され、端末装置100の各部を作動させるためのエネルギを供給する。なお、端末装置100は、内部に設けられた電源150の他、例えば、ACアダプタ又は電動ドッキングクレードルなどの外部電源によっても電力を供給することができる。
【0040】
[4.地図サーバ10の構成]
次に、
図4を参照して、実施形態に係る地図サーバ10の構成について説明する。
図4は、実施形態に係る地図サーバ10の構成例を示す説明図である。
図4に示すように、地図サーバ10は、通信部11と、記憶部12と、制御部13とを有する。
【0041】
通信部11は、例えば、NIC等によって実現される。そして、通信部11は、ネットワークNと有線または無線で接続され、端末装置100や広告配信サーバ20やコンテンツ配信サーバ30との間で情報の送受信を行う。
【0042】
記憶部12は、例えば、RAM、フラッシュメモリ等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。そして、記憶部12には、各種プログラムの他、各種地図情報を記憶した地図情報データベース14が格納される。地図情報データベース14には、例えば、各都道府県毎の各地域に亘る地図情報が格納される。
【0043】
制御部13は、コントローラであり、例えば、CPUやMPU等によって、地図サーバ10の内部の記憶装置に記憶されているOSをはじめとする各種のプログラムがRAMを作業領域として実行されることにより実現される。また、制御部13は、例えば、ASICやFPGA等の集積回路により実現される。
【0044】
図4に示すように、制御部13は、受付部131と、配信部132とを有し、受付部131は、端末装置100から地図情報の取得要求を受け付ける。また、配信部132は、受付部131によって地図情報の取得要求が受け付けられた場合に、地図情報を端末装置100に配信する。具体的には、配信部132は、記憶部12の地図情報データベース14から取得要求対象の地図情報を取得し、取得した地図情報を端末装置100に配信する。なお、制御部13の内部構成は、
図4に示した構成に何ら限定されない。また、制御部13が有する各処理部の接続関係は、
図4に示した接続関係に限られることはなく、他の接続関係であってもよい。
【0045】
[5.広告配信サーバ20の構成]
次に、
図5を参照しながら実施形態に係る広告配信サーバ20の構成について説明する。
図5は、実施形態に係る広告配信サーバ20の構成例を示す説明図である。
図5に示すように、広告配信サーバ20は、通信部21と、記憶部22と、制御部23とを有する。
【0046】
通信部21は、例えば、NIC(Network Interface Card)等によって実現される。そして、通信部21は、ネットワークNと有線または無線で接続され、端末装置100や地図サーバ10やコンテンツ配信サーバ30との間で情報の送受信を行う。
【0047】
記憶部22は、例えば、RAM、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。また、記憶部22は、例えば広告代理店などから入稿された広告コンテンツや広告コンテンツに対して設定されるランディングページのURL等を含む各種情報が格納された広告データベース24を格納する。
【0048】
また、広告データベース24は、例えば端末装置100に表示される広告コンテンツC(
図1(c)を参照)の表示態様を制御する制御情報についても格納している。かかる制御情報によって表示態様は好適に制御される。
【0049】
制御部23は、コントローラであり、例えば、CPUやMPU等によって、広告配信サーバ20内部の記憶装置に記憶されているOSをはじめとする各種のプログラムがRAMを作業領域として実行されることにより実現される。また、制御部23は、例えば、ASICやFPGA等の集積回路により実現される。
【0050】
図5に示すように、制御部23は、入稿受付部231と、要求受付部232と、広告選択部233と、配信部234とを有する。なお、制御部23の内部構成は、
図5に示した構成に限られず、以下に説明する情報処理を行う構成であれば他の構成であってもよい。また、制御部23が有する各処理部の接続関係は、
図5に示した接続関係に限られることなく、他の接続関係であってもよい。
【0051】
入稿受付部231は、広告主や広告代理店などから広告コンテンツの入稿を受け付ける。このとき、入稿受付部231は、例えば、広告主が入稿する広告コンテンツを、条件を充足することによって端末装置100にプッシュ通知で送信する場合には、かかる条件指定を受け付ける。
【0052】
要求受付部232は、端末装置100から広告コンテンツの取得要求を受け付ける。また、広告選択部233は、要求受付部232によって広告コンテンツの取得要求が受け付けられた場合に、端末装置100へ配信する広告コンテンツを広告データベース24から選択する。
【0053】
配信部234は、広告選択部233が選択した広告コンテンツを配信する。例えば、配信部234は、後述するように、端末装置100が区画領域A2(
図1参照)内に進入したことを条件に、当該端末装置100にクーポン券などの広告コンテンツを送信することができる。
【0054】
なお、配信部234は、広告コンテンツとともに、端末装置100に対して制御情報を配信する。すなわち、配信部234は、指定された表示態様で広告コンテンツを表示させるための制御情報を、広告選択部233を介して広告データベース24から取得して端末装置100へ配信する。なお、制御情報が、端末装置100で実行されるアプリにより生成される場合には、広告配信サーバ20は、制御情報を配信する必要はない。
【0055】
[6.コンテンツ配信サーバ30の構成]
次に、情報処理装置に相当するコンテンツ配信サーバ30の具体的な構成について、
図6を参照しながら説明する。
図6は、実施形態に係るコンテンツ配信サーバ30の構成例を示す説明図である。
【0056】
図6に示すように、コンテンツ配信サーバ30は、通信部31と、コンテンツ記憶部32と、制御部33とを有する。
【0057】
通信部31は、例えば、NIC等によって実現される。そして、通信部31は、ネットワークNと有線または無線で接続され、端末装置100や地図サーバ10や広告配信サーバ20との間で情報の送受信を行う。
【0058】
コンテンツ記憶部32は、例えば、RAM、フラッシュメモリ等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。そして、コンテンツ記憶部32は、コンテンツの一例であるウェブページを記憶する。例えば、コンテンツ記憶部32は、ウェブページを形成するHTMLファイルや、ウェブページに表示される静止画像や動画像を記憶する。なお、コンテンツ記憶部32に記憶されるウェブページには、ウェブページ上に表示させる広告コンテンツを取得するための広告取得命令が含まれる場合がある。また、コンテンツ記憶部32は、本実施形態に係る情報処理プログラムとしてのアプリケーションプログラムや制御情報を格納している。
【0059】
制御部33は、コントローラであり、例えば、CPUやMPU等によって、コンテンツ配信サーバ30内部の記憶装置に記憶されているOSをはじめとする各種のプログラムがRAMを作業領域として実行されることにより実現される。また、制御部33は、例えば、ASICやFPGA等の集積回路により実現される。
【0060】
図6に示すように、制御部33は、受付部331と、配信部332と、領域設定部333とを有する。なお、制御部33の内部構成は、
図6に示した構成に限られることはなく、以下に説明する情報処理を行う構成であれば他の構成であってもよい。また、制御部33が有する各処理部の接続関係は、
図6に示した接続関係に限られることなく、他の接続関係であってもよい。
【0061】
受付部331は、端末装置100からウェブページの取得要求を受け付ける。例えば、受付部331は、ウェブページの取得要求として、HTTP(Hypertext Transfer Protocol)リクエストを受け付ける。
【0062】
配信部332は、受付部331によってウェブページの取得要求が受け付けられた場合に、ウェブページを端末装置100に配信する。具体的には、配信部332は、コンテンツ記憶部32から取得要求対象のウェブページを取得し、取得したウェブページを端末装置100に配信する。上述したように、コンテンツ記憶部32に記憶されているウェブページは、広告取得命令を含む場合がある。その場合、端末装置100は、取得したウェブページを表示する際に、ウェブページに含まれる広告取得命令に従い、広告配信サーバ20に対して広告コンテンツの取得要求を送信する。また、配信部332は、受付部331によってアプリの取得要求が受け付けられた場合に、コンテンツ記憶部32から取得要求対象のアプリを取得して端末装置100に配信する。
【0063】
領域設定部333は、後述するように、仮想的な地理領域であるジオフェンスA1と、所定の区画領域A2とを設定する。区画領域A2は、任意の輪郭を有する形状でよく、ここでは、輪郭中に複数の角部を有する多角形形状としている。また、ジオフェンスA1は、設定された区画領域A2の全体が包含される真円形状である。
【0064】
[7.ジオフェンス(仮想的な地理領域)A1および区画領域A2]
ここで、実施形態に係る情報処理装置であるコンテンツ配信サーバ30によって地図情報中に設定されるジオフェンスA1と所定形状の輪郭を有する所定の区画領域A2とについて説明する。
図7は、所定の区画領域A2から仮想的な地理領域A1を規定する手法の一例を示す説明図である。
【0065】
コンテンツ配信サーバ30は、任意の区画領域A2を地図上に設定する。例えば、○○町△△丁目××番地で規定される区画領域A2を、地図サーバ10から取得した地図情報中に設定する。
【0066】
図7に示すように、区画領域A2は、道路で区画された複数のブロックの集合によって構成されており、その形状は、端末装置100等に表示される場合、輪郭中に複数の角部を有する多角形形状である。
【0067】
多角形形状の区画領域A2が設定されると、周知の演算式を用いて区画領域A2の各角部の座標から中央値を求める。ここでは、区画領域A2の輪郭に存在する5つの角部の座標から中央値を求める。かかる中央値を座標で示す中央位置は、区画領域A2内に存在しており、この中央位置(中央値)を中心Pとして、この中心Pから複数の角部のうち、最も遠い位置にある角部までの距離L1を半径とした真円を描く。すなわち、中心Pから5つの角部までの距離L1〜L5のうち、最も長い距離L1を半径とする真円を導出するものである。
【0068】
かかる真円で囲まれた領域が、仮想的な地理領域(第1の地理領域)、すなわちジオフェンスA1となる。このジオフェンスA1には、多角形形状である区画領域A2の全体が包含されることになる。
【0069】
こうして導出されたジオフェンスA1を規定する情報は、コンテンツ配信サーバ30からネットワークNを介して端末装置100に送信される。ジオフェンスA1の情報を受信した端末装置100は、記憶部160にかかる情報を記憶する。
【0070】
区画領域A2から仮想的な地理領域A1を規定する手法としては、上述した例に限定されるものではない。例えば、区画領域A2を幾何学的な図形ととらえ、その重心を求め、重心位置あるいはその近傍を中心とし、かかる中心から複数の角部のうち、最も遠い位置にある角部までの距離L1を半径とした真円を描いて仮想的な地理領域A1を導出することもできる。
【0071】
[8.情報処理システムの処理フロー]
ここで、
図8を参照して、実施形態に係る情報処理システム1による情報処理の手順について説明する。
図8は、実施形態に係る情報処理システム1による制御処理手順を示すシーケンス図である。
【0072】
図8に示すように、情報処理装置であるコンテンツ配信サーバ30は、
図1や
図7に例示される区画領域A2に相当する区画エリアを設定する(ステップS110)。そして、前述したように、設定した区画エリア(区画領域A2)を含むジオフェンスA1に相当する仮想地理領域を設定する(ステップS120)。
【0073】
次いで、コンテンツ配信サーバ30は、設定した仮想地理領域を示す仮想地理領域情報を端末装置100のOSに送信して通知する(ステップS130)。この仮想地理領域情報は、区画領域A2の全体が包含される第1の地理領域(ジオフェンスA1)に関する第1の地理領域情報に相当する。
【0074】
他方、端末装置100は、コンテンツ配信サーバ30から送信された仮想地理領域情報を取得する(ステップS131)。すなわち、受信した仮想地理領域情報を記憶部160に記憶する。
【0075】
また、コンテンツ配信サーバ30は、端末装置100のOSに対し、ユーザ位置検出要求を送信する(ステップS140)。例えば、コンテンツ配信サーバ30が配信しているポータルサイト等にアクセスしている端末装置100が、通知したジオフェンスA1内に存在するか否か、すなわち、ユーザ(端末装置100)位置を位置情報取得機能を利用して検出するように要求する。かかるユーザ位置検出要求を受け、端末装置100は、自身の位置検出処理を開始する(ステップS141)。そして、ユーザがジオフェンスA1内へ進入したか否かを検出するユーザ進入検出処理を開始する(ステップS142)。
【0076】
次いで、コンテンツ配信サーバ30は、設定した区画領域A2を地図サーバ10が有する地図情報上に規定するための区画エリアIDを地図サーバ10に要求する(ステップS150)。区画エリアIDの要求を受けた地図サーバ10は、区画エリアIDをコンテンツ配信サーバ30に送信する(ステップS151)。コンテンツ配信サーバ30は、区画エリアIDを取得し(ステップS160)、端末装置100のアプリからのユーザ進入検出処理の検出結果の通知を待つ。
【0077】
端末装置100のOSが、位置情報取得機能により、当該端末装置100がジオフェンスA1内に進入したことを検出すると、検出結果をアプリに通知し、通知を受けたアプリは、コンテンツ配信サーバ30に対し、端末装置100がジオフェンスA1内に進入したことを示すユーザ位置情報を送信して通知する(ステップS143)。
【0078】
端末装置100のアプリから、端末装置100がジオフェンスA1内に進入したことを示すユーザ位置情報を取得したコンテンツ配信サーバ30は、定期的に端末装置100から送信されるユーザ位置情報と、区画エリアIDで規定される区画領域A2とに基づいて、ユーザ(端末装置100)が、区画領域A2に進入したか否かを検出するユーザ位置検出処理を開始する(ステップS170)。
【0079】
そして、ユーザ(端末装置100)が、区画領域A2に進入したことを検出すると、コンテンツ配信サーバ30は、検出結果であるユーザ進入検出情報を端末装置100のアプリに送信して通知する(ステップS180)。
【0080】
区画領域A2(区画エリア)内へのユーザ進入検出情報を受けた端末装置100(アプリ)は、コンテンツ配信サーバ30に対して特定処理の実行を要求する(ステップS181)。特定処理の実行要求を受けたコンテンツ配信サーバ30は、予め定められている特定処理を実行する(ステップS190)。ここでの特定処理とは、例えば、
図1を用いて説明したように、区画領域A2内に存在する店舗である「○△屋」からのクーポン券を示す広告コンテンツCを、広告配信サーバ20から端末装置100へ送信させる処理である。
【0081】
こうして、区画領域A2内に進入してきたユーザは、コンテンツ配信サーバ30の特定処理により、自身の所有する端末装置100にプッシュ通知を受ける。プッシュ通知を受けた端末装置100のOSは、端末装置100の画面101に表示されるウェブページ上に、広告コンテンツCを特定表示として表示する(ステップS191)。
【0082】
[9.端末装置100の処理フロー]
次に、
図9を参照して、実施形態に係る端末装置100による処理の手順について説明する。
図9は、実施形態に係る端末装置100による処理手順を示すフローチャートである。
【0083】
図9に示すように、端末装置100は、コンテンツ配信サーバ30から仮想地理領域情報を取得したか否かを判定し(ステップS210)、仮想地理領域情報を取得していないと判定すると(ステップS210:No)、処理を終了する。そして、端末装置100は、再度ステップS210から処理を開始する。
【0084】
他方、仮想地理領域情報を取得したと判定した場合(ステップS210:Yes)、端末装置100は、位置情報取得機能を利用して、自身(端末装置100)が仮想地理領域(ジオフェンスA1)内に存在するか否かを判定する(ステップS220)。仮想地理領域(ジオフェンスA1)内に存在していないと判定すると(ステップS220:No)、仮想地理領域(ジオフェンスA1)内に存在していると判定するまで判定処理を繰り返す。
【0085】
他方、自身(端末装置100)が仮想地理領域(ジオフェンスA1)内に存在すると判定した場合(ステップS220:Yes)、自身(端末装置100)が仮想地理領域(ジオフェンスA1)内へ進入したことを示すユーザ位置検出情報をコンテンツ配信サーバ30へ通知する(ステップS230)。
【0086】
次いで、端末装置100は、仮想地理領域内に規定されている所定の区画エリア(区画領域A2)内に自身が進入したことを示す進入通知が有ったか否かを判定する(ステップS240)。進入通知が無いと判定すると(ステップS240:No)、進入通知が有ったと判定されるまで判定処理を繰り返す。
【0087】
他方、進入通知が有ったと判定された場合(ステップS240:Yes)、端末装置100は、予め設定された所定の処理の要求、すなわち特定処理要求をコンテンツ配信サーバ30へ送信する(ステップS250)。
【0088】
[10.コンテンツ配信サーバ30の処理フロー]
次に、
図10を参照して、実施形態に係るコンテンツ配信サーバ30による判定処理の手順について説明する。
図10は、実施形態に係るコンテンツ配信サーバ30による判定処理手順を示すフローチャートである。
【0089】
図10に示すように、コンテンツ配信サーバ30は、端末装置100から仮想地理領域へ進入したことを示すユーザ位置検出情報を取得したか否かを判定する(ステップS310)。ユーザ位置検出情報を取得していないと判定すると(ステップS310:No)、処理を終了する。そして、コンテンツ配信サーバ30は、再度ステップS310から処理を開始する。
【0090】
他方、端末装置100からユーザ位置検出情報を取得したと判定した場合(ステップS310:Yes)、コンテンツ配信サーバ30は、ユーザ(端末装置100)が区画領域A2内に進入したか否かを判定するユーザ位置検出処理を開始するために、端末装置100からユーザ位置検出情報を取得する(ステップS320)。
【0091】
端末装置100から取得したユーザ位置検出情報と、区画エリアIDで規定される区画領域A2とに基づいて、ユーザが区画エリア(区画領域A2)内に進入したか否かを判定する(ステップS330)。ユーザが区画領域A2内に進入していないと判定すると(ステップS330:No)、ユーザが区画領域A2内に進入したと判定するまで判定処理を繰り返す。
【0092】
ユーザ(端末装置100)が区画領域A2内に進入したと判定すると(ステップS330:Yes)、特定処理を実行する(ステップS340)。すなわち、コンテンツ配信サーバ30は、区画領域A2内に存在する店舗である「○△屋」からのクーポン券を示す広告コンテンツCを、広告配信サーバ20から端末装置100へ送信させる(
図1参照)。
【0093】
次いで、コンテンツ配信サーバ30は、ユーザ(端末装置100)が区画エリア(区画領域A2)から退出したか否かを判定する(ステップS350)。ユーザが区画領域A2内から退出していないと判定すると(ステップS350:No)、ユーザが区画領域A2から退出したと判定するまで判定処理を繰り返す。
【0094】
他方、ユーザが区画領域A2内から退出したと判定すると(ステップS350:Yes)、端末装置100からユーザの位置情報の取得を停止する(ステップS360)。
【0095】
[11.変形例]
上述した実施形態に係る処理は、上記実施形態以外にも種々の異なる形態にて実施されてもよい。例えば、コンテンツ配信サーバ30による判定処理の手順は、
図11に示す態様であってもよい。
図11は、実施形態の変形例に係るコンテンツ配信サーバ30による処理手順を示すフローチャートである。
【0096】
図11に示す処理手順は、ステップS330までは
図10に示す処理手順と同じなので説明は所略する。すなわち、ユーザ(端末装置100)が区画エリア(区画領域A2)内に進入したと判定した場合(ステップS330:Yes)、ユーザによる区画領域A2内への進入回数をカウントし(ステップS370)、進入回数が予め設定された回数に至ったか否かを判定する(ステップS380)。
【0097】
そして、進入回数が設定回数に至っていないと判定すると(ステップS380:No)、設定回数に至ったと判定されるまで判定処理を繰り返し、進入回数が設定回数に至ったと判定すると(ステップS380:Yes)、前述の特定処理を実行する(ステップS390)。
【0098】
ここで、特定処理を実行する条件となる進入回数の設定は、例えば、所定期間の間にN回(Nは1以上の整数)とユーザが任意に設定することができる。このような設定を行うことで、ユーザの意向を無視した特定処理ではなく、ユーザの意向が反映された特定処理を実行することができる。また、特定処理の実行をユーザが拒否できるような設定を設けることもできる。
【0099】
また、端末装置100による判定処理の手順は、
図12に示す態様であってもよい。
図12は、実施形態の変形例に係る端末装置100による処理手順を示すフローチャートである。
【0100】
図12に示す処理手順において、
図9と異なるのは、ステップS240において、仮想地理領域内に規定されている区画エリア(区画領域A2)内に自身が進入したことを示す進入通知が有ったか否かを判定し(ステップS240)、進入通知が無いと判定した後の処理である。
【0101】
図12に示すように、ステップS240において、進入通知が無いと判定した場合(ステップS240:No)、ここでは、未進入判定の回数をカウントする(ステップS260)。
【0102】
すなわち、端末装置100は、自身の位置情報を取得する度に、コンテンツ配信サーバ30に送信し、その後、区画エリア(区画領域A2)内に自身が進入したことを示す進入通知が有ったか否かを判定するが、進入通知が無いということは、自身は未だ区画領域A2へは進入していないと判定できる(未進入判定)。
【0103】
そこで、未進入判定の回数をカウントし(ステップS260)、次いで、未進入判定の回数が設定回数に至ったか否かを判定する(ステップS270)。そして、未進入判定の回数が設定回数に至っていないと判定すると(ステップS270:No)、設定回数に至ったと判定されるまで判定処理を繰り返し、未進入判定の回数が設定回数に至ったと判定すると(ステップS270:Yes)、この処理を終了する。
【0104】
このように、
図12に示した例では、端末装置100側で、区画エリア(区画領域A2)内に端末装置100が進入したか否かの判定をコンテンツ配信サーバ30に問い合わせ、コンテンツ配信サーバ30への問い合わせに対し、コンテンツ配信サーバ30から、端末装置100が区画領域A2内へ進入したことを示す回答が所定回数連続して無い場合、区画領域A2内に端末装置100が進入したか否かの判定を停止するようにした。
【0105】
しかし、
図13に示すように、同様な処理をコンテンツ配信サーバによって行うこともできる。
図13は、実施形態のさらなる変形例に係るコンテンツ配信サーバによる処理手順を示すフローチャートである。
【0106】
すなわち、
図13に示すように、端末装置100から仮想地理領域へ進入したことを示すユーザ位置検出情報を取得したか否かを判定し(ステップS310)、次いで、端末装置100から仮想地理領域へ進入したことを示すユーザ位置検出情報を取得した場合(ステップS320)、コンテンツ配信サーバ30は、端末装置100から取得したユーザ位置情報を参照してユーザは区画エリア(区画領域A2)に進入したか否かを判定する。
【0107】
このとき、コンテンツ配信サーバ30は、端末装置100が区画エリア(区画領域A2)に未進入であるか否かを判定する(ステップS400)。そして、未進入ではない、すなわち進入したと判定した場合(ステップS400:No)、前述してきた特定処理を実行する(ステップS410)。
【0108】
他方、ユーザ位置検出情報を参照した際に、未進入であると判定された場合(ステップS400:Yes)、未進入判定の回数をカウントする(ステップS420)。そして、未進入判定の回数が設定回数に至ったか否かを判定し(ステップS430)、未進入判定の回数が設定回数に至っていないと判定すると(ステップS430:No)、設定回数に至ったと判定されるまで判定処理を繰り返し、未進入判定の回数が設定回数に至ったと判定すると(ステップS430:Yes)、この処理を終了する。
【0109】
このように、端末装置100のアプリから、端末装置100(ユーザ)が区画領域A2内に進入したか否かを判定を、ネットワークNを介して接続されたコンテンツ配信サーバ30(情報処理装置)に問い合わせて判定する場合、コンテンツ配信サーバ30(情報処理装置)への問い合わせに対し、当該コンテンツ配信サーバ30(情報処理装置)から、端末装置100(ユーザ)が区画領域A2内へ進入したことを示す回答が所定回数連続して無い場合、区画領域A2内に端末装置100(ユーザ)が進入したか否かの判定を停止することができる。
【0110】
[12.区画領域A2へ進入後の特定処理(所定の処理)]
上述してきた実施形態において、区画領域A2内に端末装置100が進入したことを条件に行う所定の処理を、プッシュ通知によるクーポン券の配布とした。しかし、特定処理としての具体的内容はなんら限定されるものではない。特定処理は、区画領域A2に存在するユーザを対象として実現される処理であれば何でもよい。
【0111】
[13.装置構成]
また、上記実施形態では、情報処理システム1に、地図サーバ10と、広告配信サーバ20と、コンテンツ配信サーバ30とが含まれる例を示したが、コンテンツ配信サーバ30と広告配信サーバ20とは1個の装置として形成されてもよい。さらに、地図サーバ10も統合して1個の装置とすることもできる。
【0112】
この場合、
図6に示したコンテンツ配信サーバ30は、例えば、コンテンツ記憶部32とは別に、広告コンテンツ記憶部や地図情報記憶部を備えるものとする。
【0113】
また、上記実施形態では、広告配信サーバ20から端末装置100にクーポン券等の広告コンテンツが配信される例を示したが、コンテンツ配信サーバ30が、広告配信サーバ20から広告コンテンツを取得してもよい。この場合、広告配信サーバ20は、コンテンツ配信サーバ30から広告コンテンツの取得要求を受け付け、コンテンツ配信サーバ30に広告コンテンツを配信する。また、コンテンツ配信サーバ30の配信部332は、広告配信サーバ20から取得した広告コンテンツを端末装置100に配信する。
【0114】
[14.その他]
また、上記実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
【0115】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、
図3に示した要求部141および受付部142は統合されてもよい。また、例えば、コンテンツ配信サーバ30のコンテンツ記憶部32に記憶される情報等は、ネットワークNを介して、外部に備えられた所定の記憶装置に記憶されてもよい。
【0116】
上述の実施形態では、ジオフェンスA1内へ端末装置100が進入したか否かの判定を端末装置100側で行い、区画領域A2へ端末装置100が進入したか否かの判定をコンテンツ配信サーバ30で行う例とした。しかし、いずれの判定処理も端末装置100で、あるいはコンテンツ配信サーバ30で行うことができる。
【0117】
また、上述の実施形態では、端末装置100の位置情報を取得するためにGNSSを利用していたが、例えば、建屋内、室内等の狭いエリアであれば、ビーコンやWi-Fi(登録商標)等を利用して位置情報を取得することもできる。
【0118】
また、上述してきた実施形態および変形例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【0119】
[15.ハードウェア構成]
また、上述してきた実施形態に係る端末装置100、地図サーバ10、広告配信サーバ20およびコンテンツ配信サーバ30は、例えば、
図14に示すような構成のコンピュータ1000によって実現される。
図14は、情報処理装置の機能を実現するコンピュータの一例を示すハードウェア構成図である。以下、情報処理装置であるコンテンツ配信サーバ30を例に挙げて説明する。
【0120】
図14は、情報処理装置(コンテンツ配信サーバ30)の機能を実現するコンピュータ1000の一例を示すハードウェア構成図である。コンピュータ1000は、CPU1100、RAM1200、ROM1300、HDD1400、通信インターフェイス(I/F)1500、入出力インターフェイス(I/F)1600、およびメディアインターフェイス(I/F)1700を有する。
【0121】
CPU1100は、ROM1300又はHDD1400に格納されたプログラム(例えば、本願に係る情報処理ログラム)に基づいて動作し、各部の制御を行う。ROM1300は、コンピュータ1000の起動時にCPU1100によって実行されるブートプログラムや、コンピュータ1000のハードウェアに依存するプログラム等を格納する。
【0122】
HDD1400は、CPU1100によって実行されるプログラム、および、かかるプログラムによって使用されるデータ等を記憶する。通信インターフェイス1500は、通信網(ネットワークNに対応する)を介して他の機器からデータを受信してCPU1100へ送り、また、通信網を介してCPU1100が生成したデータを他の機器へ送信する。
【0123】
CPU1100は、入出力インターフェイス1600を介して、ディスプレイやプリンタ等の出力装置、および、キーボードやマウス等の入力装置を制御する。CPU1100は、入出力インターフェイス1600を介して、入力装置からデータを取得する。また、CPU1100は、入出力インターフェイス1600を介して生成したデータを出力装置へ出力する。
【0124】
メディアインターフェイス1700は、記録媒体1800に格納されたプログラム又はデータを読み取り、RAM1200を介してCPU1100に提供する。CPU1100は、かかるプログラムを、メディアインターフェイス1700を介して記録媒体1800からRAM1200上にロードし、ロードしたプログラムを実行する。記録媒体1800は、例えばDVD(Digital Versatile Disc)、PD(Phase change rewritable Disk)等の光学記録媒体、MO(Magneto-Optical disk)等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等である。
【0125】
例えば、コンピュータ1000が実施形態に係るコンテンツ配信サーバ30として機能する場合、コンピュータ1000のCPU1100は、RAM1200上にロードされたプログラムを実行することにより、制御部33の機能を実現する。また、HDD1400には、コンテンツ配信サーバ30が備える記憶部内のデータが格納される。コンピュータ1000のCPU1100は、これらのプログラムを記録媒体1800から読み取って実行するが、他の例として、他の装置から通信網を介してこれらのプログラムを取得してもよい。
【0126】
なお、コンピュータ1000が実施形態に係る端末装置100として機能する場合、コンピュータ1000のCPU1100は、RAM1200上にロードされたプログラムを実行することにより、制御部140の機能を実現する。
【0127】
[16.効果]
上述したように、実施形態に係る情報処理プログラムによれば、コンピュータに、ジオフェンス(仮想的な地理領域)A1である第1の地理領域内に端末装置100が進入したことが検出された場合、ジオフェンスA1内に規定された所定の区画領域A2である第2の地理領域内に端末装置100が進入したか否かを判定する判定手順を実行させる。
【0128】
したがって、所定の区画領域A2に進入した端末装置100(ユーザ)の検出を、ジオフェンス(仮想的な地理領域)A1を利用して精度よく行うことが可能となる。
【0129】
また、区画領域A2の全体が包含されるジオフェンスA1に関する第1の地理領域情報を端末装置100に送信する送信手順をコンピュータに実行させ、判定手順では、送信手順により送信されたジオフェンスA1に基づいて端末装置100の側で当該端末装置100がジオフェンスA1内に進入したことが検出された場合、区画領域A2内に端末装置100が進入したか否かを判定するようにしている。
【0130】
これにより、端末装置100(ユーザ)の区画領域A2への進入検出を、予め絞られた領域であるジオフェンスA1内にユーザが進入したことをトリガーとして実行することになる。ジオフェンスA1内にユーザが進入するまでは、端末装置100側の標準機能の一つである位置情報取得機能が主体となって大きな負荷はかからないため、区画領域A2への進入検出を省電力で行うことができる。
【0131】
また、区画領域A2内に端末装置100が進入したか否かの判定を、ネットワークNを介して接続されたコンテンツ配信サーバ30(情報処理装置)に問い合わせて判定するようにすれば、端末装置100側で判定するよりも複雑な処理が不要となり、省電化に寄与することができる。
【0132】
また、端末装置100がジオフェンスA1内に進入したことが検出された場合、区画領域A2内に端末装置100が進入したか否かを定期的に判定し、端末装置100がジオフェンスA1内に進入した後に退出した場合、区画領域A2内に端末装置100が進入したか否かの判定を停止することができる。
【0133】
この場合、区画領域A2に進入した端末装置100(ユーザ)を重複して検出することで、無用な処理を繰り返したりすることを防止でき、省電化に寄与することができる。
【0134】
また、区画領域A2内に端末装置100が進入したか否かの判定を、ネットワークNを介して接続されたコンテンツ配信サーバ30(情報処理装置)に問い合わせて判定する一方、コンテンツ配信サーバ30(情報処理装置)への問い合わせに対し、コンテンツ配信サーバ30から、端末装置100が区画領域A2内へ進入したことを示す回答が所定回数連続して無い場合、区画領域A2内に端末装置100が進入したか否かの判定を停止することもできる。
【0135】
この場合、区画領域A2に進入予定のない端末装置100(ユーザ)に対し、無用な判定処理を繰り返すことを防止でき、やはり省電化に寄与することができる。
【0136】
また、実施形態に係る情報処理プログラムでは、区画領域A2内に端末装置100(ユーザ)が進入したか否かを判定した後、端末装置100(ユーザ)が区画領域A2内に進入したことを条件に所定の処理を行うようにしている。
【0137】
したがって、地理的条件に応じた適切なサービスをユーザに対して行うことができ、かかる情報処理プログラムと連繋するウェブサイトや他のアプリに対する付加価値の向上を図ることができる。
【0138】
また、ジオフェンスA1は真円形状であり、区画領域A2は、輪郭中に複数の角部を有する多角形形状とすることができる。
【0139】
すなわち、一般的に取り扱われるジオフェンスA1を用いて、例えば、地番などで規定され、道路などで区画された地域などを対象として区画領域A2を設定することができるため、商圏や自治体などにおける情報処理に利用しやすくなる。
【0140】
ジオフェンスA1は、区画領域A2の角部の座標から求められた中央位置を中心として、当該中心から複数の角部のうち最も遠い位置にある角部までの距離を半径とした真円形状とすることができる。
【0141】
この場合、任意に設定した任意形状の区画領域A2を完全に包含する最小面積のジオフェンスA1を確実に設定することができる。したがって、ジオフェンスA1の境界と区画領域A2の境界との間に無用な距離が無いため、端末装置100(ユーザ)がジオフェンスA1に進入した後、区画領域A2に進入したことを効率的に検出することができる。
【0142】
以上の効果は、上述の情報処理プログラムを利用する情報処理装置や端末装置においても生起する。