以下に添付図面を参照して、情報処理システムおよび情報処理方法の実施形態を詳細に説明する。
(実施形態)
図1は、実施形態に適用可能な情報処理システムの一例の構成を示す。図1において、情報処理システムは、画像検索システム10と、登録端末20と、検索端末30と、事業者端末40と、事業者システム400と、通知サーバ410とを含む。画像検索システム10は、検索サーバ100および管理サーバ101を含む。検索サーバ100は、登録端末20、検索端末30、事業者端末40、事業者サーバ400および通知サーバ410と、インターネットなどのネットワーク50を介して通信が可能とされている。また、管理サーバ101は、登録端末20および事業者端末40とネットワーク50を介して通信が可能とされている。
検索サーバ100および管理サーバ101は、それぞれ、1台の情報処理装置により構成してもよいし、互いに接続された複数台の情報処理装置により機能を分散させて構成してもよい。また、検索サーバ100と管理サーバ101とを、1台の情報処理装置上で構成することも可能である。
画像検索システム10において、検索サーバ100は、画像と連携情報とを関連付けた画像検索用DBを含む。検索サーバ100は、ネットワーク50を介して取得した画像に基づき、画像検索用DBから当該画像に類似する画像を検索し、検索された画像に関連付けられた連携情報を検索結果として出力する。画像検索システム10は、検索サーバ100から出力された連携情報を、画像の送信元に送信する。
検索端末30は、撮像機能を備える。これに限らず、検索端末30は、撮像機能を持たずに、画像検索の対象としたい画像を記憶していてもよい。もちろん、検索端末30は、撮像機能を持ち、且つ、画像検索の対象とした画像を記憶する手段を備えていてもよい。
また、検索端末30は、画像検索システム10による画像検索を利用するためのアプリケーションプログラムである画像検索アプリを搭載する。検索端末30に対する画像検索アプリの搭載方法としては、例えば、インターネットなどのネットワーク50上の所定のダウンロードサイトから、一般ユーザがインストールしたいアプリケーションプログラムとして当該画像検索アプリを指定してダウンロードして検索端末30にインストールする方法が挙げられる。画像検索アプリは、後述するアプリIDによって識別される。
検索端末30は、画像検索アプリが実行されることで、撮像機能を利用して被写体31を撮像する撮像処理を行い、被写体31を撮像した撮像画像を、当該撮像画像に類似する画像の検索を要求する検索要求と共にネットワーク50を介して画像検索システム10に送信することができる。送信された検索要求は、画像検索システム10において、検索サーバ100に受信される。
なお、事業者は、例えばチラシ、ポスター、看板、サイネージ、プロモーション写真、特定の景色、プロダクトなど、種々のアイテムを被写体として設定できる、換言すれば、画像検索システム10が機能する範疇において、事業者が決定したあらゆる対象が被写体となり得る。事業者が一般ユーザに対して被写体を告知し、ユーザがその被写体を撮像して、画像検索システム10を利用すればよいためである。
画像検索システム10において、検索サーバ100は、検索端末30から送信された検索要求に応じて画像検索用DBから当該画像に類似する画像を検索し、検索された画像の識別情報(以下、画像識別情報)を検索結果として取得する。検索サーバ100は、検索された画像に関連付けられた連携情報を検索端末30に送信する。
例えば、連携情報がURL(Uniform Resource Locator)を含む場合、検索端末30は、被写体31を撮像した撮像画像に基づき検索サーバ100で検索され送信された連携情報に応じて、ネットワーク50を介して、URLに示されるコンテンツWebサイト51a、51bにアクセスすることができる。なお、コンテンツWebサイト51a、51bは、例えば実施形態に係る情報処理システム外のWebサーバによって提示されるサイトであり、要求に応じてコンテンツを提示する。また、以下では、検索端末30を操作する者を、一般ユーザと呼ぶ。
上述の情報処理システムにおいて、画像検索システム10のサービス提供者は、特定の契約を交わした者あるいは組織体に対して、検索サーバ100に対する画像および連携情報の登録を許可する。以下、サービス提供者と特定の契約を交わした者あるいは組織体を、事業者と呼ぶ。一般には、企業や自治体、法人団体などが事業者になることが想定されるが、事業者は個人であってもよい。また、ここで言う特定の契約とは、画像検索アプリをインストールするときに一般ユーザが同意する同意書のようなものではなく、事業者が一般ユーザにサービスを提供するための画像検索システム10の機能(画像および連係情報の登録など)の利用を許諾する契約を指す。サービス提供者は、事業者の依頼に応じて、事業者から提供された画像および連携情報を検索サーバ100に登録する。契約の内容によっては、画像および連携情報を、事業者自身が登録端末20を操作して検索サーバ100に登録することも可能である。すなわち、登録端末20は、サービス提供者あるいは事業者が利用する端末装置である。
事業者サーバ400は、事業者により運用、管理されるサーバであって、1台の情報処理装置により構成される。また、互いに接続された複数台の情報処理装置により機能を分散させて構成してもよい。事業者サーバ400は、後述する実施形態に係るメッセージの通知処理の管理や、連携情報に関連する処理を実行する。事業者サーバ400は、所定のURLでネットワーク50上での位置が示されるWebサイトを格納することができる。
通知サーバ410は、1台以上の情報処理装置により構成され、既知のプッシュ通知によるサービスを提供する。プッシュ通知の例について、概略的に説明する。プッシュ通知は、通知サーバ410から、プッシュ通知に対応するアプリケーションプログラム(以下、プッシュ対応アプリと呼ぶ)が搭載された機器(端末装置)に対して行われる。プッシュ対応アプリは、ユーザ操作により、当該機器に搭載されるプッシュ対応アプリに対するプッシュ通知が許可(認可)されると、機器や当該プッシュ対応アプリの起動時など所定のタイミングで、通知サーバ410にプッシュ対応アプリ自身を識別する識別情報を送信し、通知IDを要求する。
通知サーバ410は、要求に応じて、機器固有の通知IDを発行し、発行した通知IDを記憶すると共に、アプリの識別情報と共に通知IDの要求元の機器に送信する。通知IDは、プッシュ通知を許可するプッシュ対応アプリおよび当該プッシュ対応アプリが搭載される機器を通知サーバ410が識別するための識別情報である。すなわち、通知IDは、プッシュ通知による通知を許可する許可情報であるといえる。通知IDは、機器のOS(Operating System)がiOS(登録商標)である場合は、デバイストークンである。
プッシュ対応アプリは、取得した通知IDを機器の記憶部に記憶する。またプッシュ対応アプリは、当該通知IDを、プッシュ対応アプリの提供元、あるいは、プッシュ対応アプリにプッシュ通知するためのメッセージを提供するプロバイダ(例えば事業者サーバ400)に送信する。プロバイダは、送信された通知IDを記憶する。
プロバイダは、例えば特定の機器に対してプッシュ通知を行いたい場合、当該機器に対応する通知IDと、プッシュ通知したいメッセージとを通知サーバ410に送信し、プッシュ通知を通知サーバ410に依頼する。通知サーバ410は、依頼に応じて、通知IDにて識別される機器に対して、通知IDとメッセージとを送信する。機器は、これら通知IDおよびメッセージを受信すると、機器のOSにより通知IDに対応するプッシュ対応アプリが検出され、検出されたプッシュ対応アプリにより、所定の方法でメッセージの表示が行われる。
このように、プッシュ通知では、機器に対する、プッシュ対応アプリに対するプッシュ通知を許可するユーザ操作に応じて、通知サーバ410により通知IDを発行し、この通知IDに基づき特定の機器に対してプッシュ通知によりメッセージを送信するようにしている。そのため、プッシュ通知の機能を取り入れることで、電子メールアドレスなどのユーザの個人情報を用いること無く、機器に対して能動的にメッセージを送信することが可能となる。
通知サーバ410は、画像検索システム10および事業者サーバ400に対して独立したシステムとして構成される。これに限らず、通知サーバ410の機能は、事業者サーバ400あるいは画像検索システム10に含めてもよい。
事業者端末40は、事業者が用いるための端末であって、例えば、検索サーバ100に登録した画像および連携情報を確認することができる。
ここで、実施形態では、事業者は、検索端末30に搭載させるための画像検索アプリをカスタマイズすることができるようになっている。例えば、サービス提供者は、検索サーバ100による検索機能を利用するために端末(事業者端末40、検索端末30)側に必要な画像検索アプリの機能を実現するための画像検索モジュールを、特定の契約を交わした事業者に提供する。この画像検索モジュールは、例えばSDK(Software Development Kit)として、サービス提供者から事業者に提供される。画像検索モジュールは、後述するモジュールIDによって識別される。
事業者は、提供された画像検索モジュールを、例えば自身が開発する他のアプリケーションプログラムに組み込むことができる。これにより、例えば、事業者によるサービスを提供するための事業者アプリに画像検索アプリ機能が加えられたカスタマイズアプリを構成することが可能となる。事業者は、画像検索モジュールを組み込んだカスタマイズアプリを一般ユーザに配布することで、一般ユーザに、事業者の意図に沿った画像検索機能を利用させ、事業者によるサービスを一般ユーザに提供することが可能となる。
事業者端末40には、このカスタマイズアプリが搭載される。例えば、事業者は、このカスタマイズアプリが搭載された事業者端末40を用いて、画像検索システム10に対して検索要求を送信し、事業者が意図する検索結果が得られるか否かを確認する。事業者端末40から送信される検索要求は、画像検索の対象となる画像、画像検索モジュールを識別するためのモジュールID、および、検索形態を示すタイプ情報などを含む。
画像検索システム10において、検索サーバ100は、事業者端末40から送信された検索要求に従い画像検索を行い、検索結果を検索要求に対する応答として事業者端末40に送信する。事業者は、例えば、この検索結果に基づき、カスタマイズアプリの動作や、検索サーバ100に登録した画像および連携情報の確認を行い、問題無いと判断した場合に、カスタマイズアプリや、画像検索機能を利用したサービスを、一般ユーザに提供する。
図2は、実施形態に適用可能な画像検索システムの機能を説明するための一例の機能ブロック図である。画像検索システム10は、検索サーバ100と、管理サーバ101と、通信部18と、提示部19とを含む。通信部18は、ネットワーク50を介した通信を制御する。提示部19は、登録端末20、検索端末30および事業者端末40に対して提示するための情報を生成する。提示部19にて提示される情報は、通信部18により、ネットワーク50を介して登録端末20、検索端末30および事業者端末40送信される。
検索サーバ100は、画像検索用DB11と、解析部12と、検索部13と、履歴DB107とを含み、検索端末30から送信された撮像画像に基づく検索処理を実行する。画像検索用DB11は、画像DB14と連携情報DB15とを含む。画像DB14は、画像を検索可能に登録する。より詳細には、画像DB14は、画像と、画像から解析部12により抽出した特徴情報とが関連付けられて登録される。連携情報DB15は、画像DB14に登録された画像と連携するための連携情報が、当該画像と関連付けられて登録される。
ここで、画像と連携情報との関連付けの具体的な例について説明する。実施形態においては、画像内に1以上の領域を指定して、指定した各領域に対して1以上の連携情報を関連付けることができる。この、画像内に指定される、連携情報を関連付けるための領域を、以下、対象領域と呼ぶ。
ここで、実施形態に係る、対象領域を示す情報が記述されるXMLコードについて概略的に説明する。図3は、実施形態に係る、対象領域を示す情報が記述されるXMLコードの一例を示す。なお、図3および以下の同様のコード例を示す図において、特に記載のない限り、各行の先頭の数字は説明のための行番号を示し、続くコロン(:)でデータ本体を示すコードと区別されている。また、図3に例示されるコードは、XMLコードの記法を模した疑似コードである。
図3において、XMLコード140は、最も外側のタグ「<page>」および「</page>」に挟まれた部分(1行目〜16行目)により、ページを定義する。すなわち、タグ「<page>」および「</page>」に挟まれた部分に、1つの画像が関連付けられる。2行目〜12行目、13行目〜15行目(14行目は複数の行を省略して示す)の各範囲において、タグ「<hotspot>」および「</hotspot>」に挟まれた部分により、それぞれ1つの対象領域が定義される。このように、1ページ(1画像)に対して複数の対象領域を定義することができる。
3行目は、タグ「<area>」および「</area>」に挟まれた部分により、2行目〜12行目に示される対象領域のページ内での範囲が例えば左上隅の座標(x1,y1)および右下隅の座標(x2,y2)で定義される。
4行目〜8行目と、9行目〜11行目(10行目は複数の行を省略して示す)の各範囲において、それぞれ、タグ「<link>」および「</link>」に挟まれた部分により、それぞれ1つの連携情報が定義される。このように、1つの対象領域に対して複数の連携情報を定義することができる。例えば、図3において4行目〜8行目に例示されるように、タグ「<title>」および「</title>」に挟まれた部分により連携情報のタイトルが定義される。タグ「<type>」および「</type>」に挟まれた部分によりこの連携情報のタイプが定義される。
この例では、連携情報として、タグ「<URI>」および「</URI>」に挟まれた部分により、インターネットなどによるネットワーク50上でのアドレス情報がURI(Uniform Resource Identifier)を用いて定義されている。この場合、URIに対して引数を付加することで、例えばURIを読み込んだブラウザアプリケーションの振る舞いを指定することができる。また、連携情報は、URIに限られない。予めタグを定義することで、様々な種類の連携情報を記述することが可能である。例えば、連携情報として、特定のアプリケーションプログラムを起動させるための情報を記述することもできる。
また、この例では、タグ「<link>」および「</link>」に挟まれた部分に定義される連携情報において、タグ「<title>」および「</title>」、タグ「<type>」および「</type>」、ならびに、タグ「<URI>」および「</URI>」により、3つの項目が定義されている。
これはこの例に限定されず、タグ「<link>」および「</link>」に挟まれた部分に、さらに多くの項目を定義することができる。タグ「<link>」および「</link>」に挟まれた部分に、項目として画像データを定義し、対象領域の画像データそのものを記述してもよい。
このように、XMLコード140により、ページ内の対象領域および当該対象領域における連携情報を定義しているため、ページ内の当該対象領域に含まれるオブジェクトに関連付けられる連携情報による機能を実行することができる。
図2の説明に戻り、履歴DB107は、検索サーバ100で行われた検索処理に関する情報を、検索履歴情報として蓄積的に記憶する。履歴DB107は、例えば、検索端末30から受信した検索要求に含まれる各情報(アプリID、モジュールID、ユーザID、通知IDなど)と、当該検索要求により検索された画像を示す画像識別情報と、当該画像識別情報に関連付けられる連携情報(選択された対象領域を示す情報を含む)とを関連付けて記憶する。
検索サーバ100による画像の登録処理は、概略的には、以下のように行われる。検索サーバ100は、登録対象となる画像を解析部12により解析して、当該画像の特徴を表す特徴情報を抽出する。検索サーバ100は、抽出された特徴情報と、当該特徴情報の抽出を行った抽出元の画像とを、抽出元の画像を識別するための画像識別情報と関連付けて画像DB14に格納する。抽出元の画像は、登録対象となる画像と対応するもので、例えば画像は登録対象の画像と同一の画像である。
検索サーバ100は、また、ユーザに提供するための連携情報を画像識別情報と関連付けて連携情報DB15に格納する。画像および特徴情報と、連携情報とがそれぞれ画像識別情報に関連付けられて画像DB14および連携情報DB15に格納されることで、登録対象となる画像の画像検索用DB11への登録が行われる。
ここで、画像から抽出された特徴情報は、一般的には、元の画像を再現できない。換言すれば、特徴情報は、その特徴情報の元となる画像を、人の目に認識できる形式で再生できない画像情報である。一方、画像データは、人の目に認識できる形式で画像を再生できる画像情報である。このように、画像の特徴情報と、画像データとは、明確に区別できる。
画像検索システム10による画像の検索処理は、概略的には、以下のように行われる。例えば、画像検索システム10は、検索端末30から送信された画像および検索要求を通信部18により受信する。すなわち、通信部18は、検索端末30から送信された画像および検索要求を取得する取得部として機能する。検索端末30から送信される検索要求は、画像検索の対象となる画像、アプリID、モジュールID、通知ID、および、検索端末30において設定されている言語を示す情報などを含む。通信部18は、受信した検索要求および画像を検索部13に渡す。検索部13は、検索要求に従い、画像の検索処理を実行する。例えば、検索部13は、検索端末30からの画像を抽出元の画像として解析部12に渡す。
解析部12は、渡された画像を解析して当該画像から特徴情報を抽出し、抽出した特徴情報を検索部13に渡す。検索部13は、解析部12から渡された特徴情報に基づき、当該特徴情報と類似度の高い特徴情報を画像DB14から検索する。
検索部13は、検索された特徴情報に対応する画像識別情報に関連付けられた連携情報を連携情報DB15から取得する。検索サーバ100は、連携情報DB15から取得した連携情報を、検索結果として、通信部18により検索端末30に送信する。また、検索サーバ100は、例えば、検索要求と、検索要求の送信元を示す情報と、検索された特徴情報に対応する画像識別情報と、検索結果である連携情報と、検索が行われた日時を示す情報とを関連付けて、履歴DB107に格納する。
図2において、管理サーバ101は、契約情報DB16と、キャンペーン情報DB17とを含む。契約情報DB16は、画像検索システム10によるサービスを利用する事業者と、当該サービスを提供するサービス提供者との間で交わされた契約に関する情報が格納される。
キャンペーン情報DB17は、キャンペーンに関する情報を格納する。実施形態に適用可能なキャンペーンに関して、概略的に説明する。画像検索用DB11において、画像は、キャンペーンを単位として登録され、登録者によって指定されたキャンペーンに関連付けて登録される。キャンペーンは、キャンペーンIDにより識別され、1以上の画像と、メタデータと、関連キャンペーン情報とを含む。なお、キャンペーンという名称は、事業者向けの語句であり、権利範囲を限定するものではない。事業者が、一般ユーザに向けて、画像検索機能を利用した何らかのサービスを提供する場合に、サービス単位で画像や連携情報や各種属性情報を管理しやすいように、キャンペーンという単位を用意している。
キャンペーンに含まれるページ単位の各画像は、ページと呼ばれ、1以上の連携情報を含む。メタデータは、キャンペーンの属性情報を含む。キャンペーンの属性情報は、例えば、キャンペーンに関して、キャンペーンID、キャンペーン名、登録を依頼したクライアント名、更新日時、公開中および非公開中の何れであるかを示す状態を示す情報などを含む。関連キャンペーン情報は、このキャンペーンに関連する他のキャンペーンを示す情報である。このキャンペーンを示す情報は、例えば管理サーバ101によりキャンペーン情報DB17に格納される。
図4は、実施形態に適用可能な情報処理システムの一例の構成を概略的に示す。なお、図4において、上述した図1および図2と共通する部分には同一の符号を付して、詳細な説明を省略する。
図4において、情報処理システムは、画像検索システム10と、登録端末20と、検索端末30と、各事業者サーバ400aおよび400bと、通知サーバ410と、各事業者端末40aおよび40bと、ユーザ管理サーバ105とを含む。ユーザ管理サーバ105は、ユーザ情報が格納されるユーザDB106が接続される。また、画像検索システム10は、検索サーバ100と、管理サーバ101と、登録サーバ102とを含む。
なお、図4では、説明のため、図2の画像検索用DB11に対応する画像検索用DB112bが検索サーバ100の外部に接続されるように示している。また、通知サーバ410は、通知IDなどを格納するための通知DB411が接続される。
画像検索用DB112bは、それぞれ画像DB14と連携情報DB15とを含む、通常DB111bと、専用DB110b1、110b2、…とによる複数のDBを含む。検索サーバ100は、画像検索用DB112bに含まれる複数のDBから、後述する管理サーバ101からのDB指定情報に従いスイッチ部(SW)120bにより選択されたDBを、検索対象のDBとして画像検索を行う。
検索サーバ100は、図1および図2を用いて説明したように、検索端末30からネットワーク50を介して送信された画像(撮像画像)を解析部12で解析して特徴情報を抽出し、検索部13により、抽出した特徴情報と類似した特徴情報を画像DB14から検索する。そして、検索サーバ100は、画像DB14から検索された特徴情報に関連付けられた画像識別情報に対応する連携情報を連携情報DB15から取得して、検索端末30に送信する。
登録サーバ102は、画像検索用DB112bと対応する画像検索用DB112aを備え、検索サーバ100と同様に、解析部12および検索部13を含む画像検索機能を備える。画像検索用DB112aは、画像検索用DB112bと同様に、それぞれ画像DB14と連携情報DB15とを含む、通常DB111aと、専用DB110a1、110a2、…とによる複数のDBを含む。これら通常DB111a、および、専用DB110a1、110a2、…は、それぞれ、画像検索用DB112bに含まれる通常DB111b、および、専用DB110b1、110b2、…に対応する。
ここで、専用DB110a1、110a2、…、および、専用DB110b1、110b2、…は、それぞれ、契約に従い予め定められた事業者による画像の登録が可能なDBである。一方、通常DB111aおよび111bは、複数の事業者が共通して画像の登録が可能なDBである。
なお、以下では、専用DB110a1、110a2、…、および、専用DB110b1、110b2、…は、互いを区別する必要が無い場合には、適宜、専用DBと記述する。同様に、通常DB111aおよび111bも、互いを区別する必要が無い場合には、適宜、通常DBと記述する。
登録サーバ102は、画像検索用DB112aに含まれる複数のDBから、後述する管理サーバ101からのDB指定情報に従いスイッチ部(SW)120aにより選択されたDBを、検索対象のDBとして画像検索を行う。
管理サーバ101は、契約情報DB16が接続される。契約情報DB16は、サービス提供者と事業者との間で交わされた契約に関する情報である契約情報が格納される。契約情報は、事業者との契約に関し、契約の形態を示す契約形態情報と、画像検索用DB112aおよび112bに含まれる複数のDBのうち何れのDBを検索対象のDBとするかを示すDB指定情報とが含まれる。
管理サーバ101は、契約情報に含まれる契約形態情報およびDB指定情報と、検索要求に含まれる検索形態情報とに基づき、スイッチ部120aおよび120bにより選択されるDBを決定する。また、管理サーバ101は、契約形態情報および検索形態情報に基づきスイッチ部(SW)121を切り替え、ネットワーク50を介したアクセスを検索サーバ100および登録サーバ102の何れに接続するかを選択する。すなわち、管理サーバ101は、スイッチ部120a、120bおよび121を制御して検索対象のDBを決定する制御部としても機能する。
登録端末20は、登録ツール21を含む。登録ツール21は、登録端末20のCPU(Central Processing Unit)上で動作するプログラムにより実現される。登録ツール21を実現するためのプログラムは、例えば、登録端末20が登録サーバ102に接続することにより、登録サーバ102により提供される。
登録端末20は、事業者43a、43bから画像および画像に関連付けるための連携情報がそれぞれ提供される。登録端末20は、登録ツール21により、事業者43a、43bから提供された各画像に対して連携情報をそれぞれ関連付けて、登録サーバ102に送信する。また、登録端末20は、登録ツール21により、各事業者43a、43bに関する契約情報を登録サーバ102に送信することもできる。
なお、事業者サーバ400aおよび400bは、それぞれ、事業者43aおよび43bにより運営、管理が行われるものとする。また、事業者端末40aおよび40bは、それぞれ、事業者43aおよび43bにより用いられるものとする。
図5は、実施形態に適用可能な画像検索用DB112aおよび112bの構成について、概念的に示す。画像検索用DB112aに含まれる通常DB111a、専用DB110a1、専用DB110a2および専用DB110a3は、一般ユーザによる検索端末30からの検索が禁止される非公開用のDBである。事業者は、この非公開用のDBに画像を登録することで、この画像を利用した一般ユーザへの公開前(提供前)に、事業者端末40aを用いて画像を検索し、確認することができる。すなわち、事業者は、非公開用のDBを、画像を確認する際の検索対象と指定することができる。
一方、画像検索用DB112bに含まれる通常DB111b、専用DB110b1、専用DB110b2および専用DB110b3は、一般ユーザによる検索端末30を用いた検索が可能な公開用のDBであって、一般ユーザの使用する検索端末30と、事業者の使用する事業者端末40aとが検索対象として指定することができる。事業者は、非公開用のDBに登録された画像をこの公開用のDBに移動させることができる。これに限らず、事業者は、この公開用のDBに対して直接的に画像を登録してもよい。
通常DB111aおよび111b、専用DB110a1および110b1、専用DB110a2および110b2、ならびに、専用DB110a3および110b3の各ペアにおいて、ペアに含まれる各DBは、同じDB番号が与えられる。図5の例では、1つのペアをなす専用DB110a1および110b1に、それぞれDB番号「SP001」が与えられている。同様に、それぞれ1つのペアをなす専用DB110a2および110b2、ならびに、専用DB110a3および110b3に、それぞれDB番号「SP002」、「SP003」が与えられている。また、通常DB111aおよび111bのペアには、DB番号「PU001」が与えられている。
通常DB111aおよび111b、専用DB110a1および110b1、専用DB110a2および110b2、ならびに、専用DB110a3および110b3の各ペアは、公開/非公開処理により、公開対象の画像と非公開対象の画像とが、互いの間で移動される。専用DB110a1と専用DB110b1によるペアの例では、公開処理では、非公開用のDBである専用DB110a1に格納される非公開対象の画像(非公開画像)のうち公開対象に指定された画像が、公開用のDBである専用DB110b1に移動される。非公開処理では、専用DB110b1に格納される公開対象の画像(公開画像)のうち非公開対象に指定された画像が、専用DB110a1に移動される。
換言すれば、専用DB110a1に格納され非公開とされていた公開対象の画像は、公開処理により専用DB110b1に移動されて、事業者端末40aと、検索端末30とから検索可能とされる。一方、専用DB110b1に格納された非公開対象の画像は、非公開処理により専用DB110a1に移動されて、事業者端末40aからは検索可能(検索対象として指定することが可能)であるが、検索端末30からは検索不可となる(検索対象に指定されなくなる)。
この公開/非公開処理による公開対象および非公開対象の画像のDB間の移動は、他のペア、図5の例では通常DB111aおよび111b、専用DB110a2および110b2、ならびに、専用DB110a3および110b3についても同様である。
なお、図5の例では、画像検索用DB112aおよび112bは、それぞれ3つの専用DBを含むように示されているが、これはこの例に限定されない。例えば、画像検索用DB112aおよび112bは、各事業者の契約数に応じた数だけ、専用DBが設けられる。
図6は、実施形態に適用可能な登録端末20のハードウェアの一例の構成を示す。図6に示される登録端末20において、バス2010に対してCPU2000、ROM(Read Only Memory)2001、RAM(Random Access Memory)2002およびグラフィクスI/F(インタフェース)2003が接続される。また、バス2010に対して、ストレージ2005、データI/F2006、入力デバイス2007および通信I/F2008が接続される。
ストレージ2005は、データを不揮発に記憶することが可能な記憶媒体であって、例えばハードディスクドライブが用いられる。これに限らず、ストレージ2005として、フラッシュメモリなどの不揮発性の半導体メモリを用いてもよい。ストレージ2005は、CPU2000が実行するためのプログラムや各種データが格納される。
CPU2000は、ROM2001およびストレージ2005に記憶されるプログラムに従い、RAM2002をワークメモリとして用いて、この登録端末20の全体を制御する。
グラフィクスI/F2003は、CPU2000により生成された表示制御信号を、表示デバイス2004が対応可能な表示信号に変換して出力する。表示デバイス2004は、グラフィクスI/F2003から出力された表示信号が入力され、入力された表示信号に応じた表示を行う。
データI/F2006は、外部機器との間でデータの入出力を行う。データI/F2006としては、例えば、USB(Universal Serial Bus)やBluetooth(登録商標)といったインタフェースを適用することができる。通信I/F2008は、CPU2000の制御に従いネットワーク50を介した通信を無線通信により行う。
入力デバイス2007は、例えばマウスなどのポインティングデバイスや、キーボードを含み、ユーザ入力を受け付ける。ユーザは、例えば表示デバイス2004に対する表示に応じて入力デバイス2007を操作することで、登録端末20に対して指示を出すことができる。
図7は、実施形態に係る登録端末20の機能を説明するための一例の機能ブロック図を示す。登録端末20は、登録ツール21を含み、登録ツール21は、通信部200と、設定部201と、入力部202と、表示部203と、取得部204とを含む。
通信部200は、通信I/F2008を制御して、ネットワーク50を介した通信を行う。入力部202は、入力デバイス2007に対する入力操作で入力された情報を受け付ける。設定部201は、登録対象の画像に対して連携情報の設定を行う。表示部203は、表示デバイス2004に表示させるための表示情報を生成する。
取得部201は、登録端末20の外部から画像を取得する。取得部201は、他の機器からネットワークを介して送信された画像を取得してもよいし、CD(Compact Disk)やDVD(Digital Versatile Disk)といった記録媒体を介して画像を受け取ってもよい。さらに、取得部201は、紙などの印刷媒体から画像を取得してもよい。また、取得部201は、例えば入力部202に受け付けられた情報に従い、画像に関連付ける連携情報のための情報を取得する。
登録端末20に含まれる登録ツール21の各部(通信部200、設定部201、入力部202、表示部203および取得部204)は、CPU2000上で動作するプログラムにより実現される。
より具体的には、登録端末20は、一般的なコンピュータに搭載されるものと同等のブラウザアプリケーション(以下、ブラウザ)が搭載される。ブラウザは、CPU2000上で動作して、例えばHTML(HyperText Markup Language)に従い記述されたファイルを読み込み、所定の動作を行う。登録端末20において、ブラウザを用いて登録サーバ102にアクセスすることで、登録サーバ102上の所定の情報処理プログラムがブラウザに読み込まれ、ブラウザに読み込まれた情報処理プログラムにより、登録端末20上に登録ツール21が形成される。
図8は、実施形態に適用可能な検索端末30の一例のハードウェア構成を示す。図8に示される検索端末30において、バス3020に対してCPU3000、ROM3001、RAM3002およびグラフィクスI/F3003が接続される。また、バス3020に対して、ストレージ3005、データI/F3006、入力デバイス3007、無線通信I/F3008、撮像部3009およびGNSS部3010が接続される。このように、検索端末30は、CPU3000、ROM3001およびRAM3002を含むコンピュータが搭載される情報処理装置である。
ストレージ3005は、データを不揮発に記憶することが可能な記憶媒体であって、例えばフラッシュメモリなどの不揮発性の半導体メモリである。これに限らず、ストレージ3005としてハードディスクドライブを用いてもよい。ストレージ3005は、CPU3000が実行するためのプログラムや各種データが格納される。なお、ストレージ3005およびROM3001は、例えば1つの書き換え可能な不揮発性半導体メモリなどを共用してもよい。
CPU3000は、ROM3001およびストレージ3005に記憶されるプログラムに従い、RAM3002をワークメモリとして用いて、この検索端末30の全体を制御する。グラフィクスI/F3003は、CPU3000により生成された表示制御信号を、表示デバイス3004が表示可能な信号に変換して出力する。表示デバイス3004は、例えばLCD(Liquid Crystal Display)を含み、グラフィクスI/F3003から出力された信号により駆動されて表示制御信号に応じた表示を行う。
データI/F3006は、外部機器との間でデータの入出力を行う。データI/F3006としては、例えば、USB(Universal Serial Bus)やBluetooth(登録商標)といったインタフェースを適用することができる。
入力デバイス3007は、ユーザ入力を受け付ける。ユーザは、例えば表示デバイス3004に対する表示に応じて入力デバイス3007を操作することで、検索端末30に対して指示を出すことができる。なお、入力デバイス3007と表示デバイス3004とを一体的に構成し、押圧した位置に応じた制御信号を出力すると共に、表示デバイス3004の画像を透過するタッチパネルとして構成すると、好ましい。
無線通信I/F3008は、CPU3000の制御に従いネットワークを介した通信を無線通信により行う。
撮像部3009は、光学系と、撮像素子と、光学系および撮像素子の制御駆動回路とを備え、撮像素子から出力される撮像信号に所定の処理を施してディジタル信号による撮像画像として出力する。撮像部3009から出力され画像処理を施した撮像画像を、例えばストレージ3005に記憶することができる。また、CPU3000は、ストレージ3005から撮像画像を読み出して、無線通信I/F3008によりネットワークに対して送信することができる。
GNSS部3010は、人工衛星を使用して全地球を対象として地上の現在位置を計測するGNSS(Global Navigation Satellite System)を用いて現在位置を計測する。GNSS部3010は、計測結果として、位置情報すなわち現在位置の少なくとも緯度および経度を含む座標と、計測を行った時刻を示す時間情報とを出力することができる。
図9は、実施形態に適用可能な検索端末30の機能を説明するための一例の機能ブロック図である。検索端末30は、画像検索部301と、記憶部302と、通信部303と、撮像制御部304と、入力部305と、表示部306と、位置情報取得部307とを含む。これら画像検索部301、記憶部302、通信部303、撮像制御部304、入力部305、表示部306および位置情報取得部307は、CPU3000上で動作するプログラムにより実現される。これに限らず、画像検索部301、記憶部302、通信部303、撮像制御部304、入力部305、表示部306および位置情報取得部307のうち画像検索部301を除く一部または全部を、互いに協働して動作するハードウェア回路を用いて構成してもよい。
画像検索部301は、実施形態に係る検索端末30における画像検索処理を実行する。画像検索部301は、サービス提供者が、画像検索システム10に対する画像の登録、公開などの処理を許可する特定の契約を交わした事業者に配布した画像検索アプリ、または、当該画像検索アプリが事業者によりカスタマイズされたカスタマイズアプリが検索端末30にインストールされることで、検索端末30上に構成される。
記憶部302は、ストレージ3005およびRAM3002に対するデータの記憶および読み出しを制御する。通信部303は、無線通信I/F3008による通信を制御する。入力部305は、入力デバイス3007に対してなされた入力操作に従った入力情報を出力する。表示部306は、グラフィクスI/F3003に供給するための表示制御信号を生成する。撮像制御部304は、撮像部3009の撮像動作を制御する。位置情報取得部307は、GNSS部3010による位置情報および時間情報の取得を制御する。
図10は、実施形態に適用可能な画像検索部301を構成するための画像検索アプリの一例の構成を示す。図10において、画像検索アプリ301’は、アプリID310と、画像検索モジュール311と、事業者モジュール330とを含む。画像検索モジュール311は、画像検索モジュール311を識別するための識別情報であるモジュールID312と、プッシュ通知を実行するための通知モジュール320とを含む。
画像検索アプリ301’は、上述したカスタマイズアプリであって、例えば、事業者が提供する事業者モジュール330と、サービス提供者が提供する画像検索モジュール311とを組み合わせて構成される。
アプリID310は、例えば、画像検索アプリ301’に組み込まれた、事業者に提供する画像検索モジュール311毎に一意の識別情報であって、事業者が作成する1のカスタマイズアプリを識別する。したがって、1の事業者が複数のカスタマイズアプリを作成した場合、カスタマイズアプリ毎に異なるアプリIDを持つことになる。なお、同一事業者の複数のカスタマイズアプリに対して1のアプリIDを与えるようにしてもよい。アプリID310は、事業者が設定して画像検索アプリ301’に組み込んでもよいし、サービス提供者側が事業者に提供する画像検索モジュール311に対応付けて設定して、当該画像検索モジュール311と共に事業者に提供してもよい。
通知モジュール320は、通知ID321を記憶し、プッシュ通知に関する処理を実行する。例えば、通知モジュール320は、上述したように、通知サーバ410に対して通知ID321を要求し、要求に応じて通知サーバ410から送信された通知ID321を例えばストレージ3005における通知モジュール320の管理領域に記憶する。通知モジュール320を用いることで、上述したプッシュ対応アプリを構成することが可能である。
図11は、実施形態に適用可能な画像検索モジュール311の機能を説明するための一例の機能ブロック図である。図11において、画像検索モジュール311は、撮像画像取得部3110と、ID取得部3111と、検索要求送信部3112と、検索結果受信部3113と、表示情報生成部3114と、入力受付部3115と、通知処理部3116と、コンテンツ要求送信部3117とを含む。
撮像画像取得部3110は、撮像制御部304から、撮像部3009により撮像された撮像画像を取得する。ID取得部3111は、各種のIDの取得処理を行う。検索要求送信部3112は、撮像画像取得部3110により取得された撮像画像に基づく画像検索を画像検索システム10に要求するための検索要求を作成する。検索要求送信部3112は、作成した検索要求を、無線通信I/F3008により画像検索システム10に送信する。
検索結果受信部3113は、検索要求送信部3112が送信した検索要求に応じて画像検索システム10から送信された検索結果を受信する。表示情報生成部3114は、表示デバイス3004に表示させるための表示情報を生成する。例えば、表示情報生成部3114は、検索結果受信部3113が受信した検索結果に応じた表示を行うための表示情報を生成する。入力受付部3115は、入力デバイス3007に対してなされた入力操作を受け付ける。これら表示情報生成部3114および入力受付部3115により、画像検索アプリ301’によるユーザインタフェース(UI)の基本部分が形成される。
通知処理部3116は、通知モジュール320の機能を実現するためのものであり、プッシュ通知に関する処理を実行する。コンテンツ要求送信部3117は、コンテンツの要求に関する情報をネットワーク50上に送信する。
図12は、実施形態に適用可能な事業者サーバ400の一例のハードウェア構成を示す。図12において、事業者サーバ401は、バス4010に対してCPU4000、ROM4001、RAM4002、ストレージ4003および通信I/F4004が接続される。ストレージ4003は、データを不揮発に記憶することが可能な記憶媒体であって、例えばハードディスクドライブである。これに限らず、ストレージ4003として、フラッシュメモリなどの不揮発性の半導体メモリを用いてもよい。
CPU4000は、ROM4001およびストレージ4003に記憶されるプログラムに従い、RAM4002をワークメモリとして用いて、この事業者サーバ401の全体を制御する。ストレージ4003は、CPU4000が実行するためのプログラムや各種データが格納される。通信I/F4004は、CPU4000の制御に従いネットワークを介した通信を行う。
なお、図12では、事業者サーバ400が1のハードウェアから構成されるように示しているが、これはこの例に限定されず、事業者サーバ400を、同等のハードウェア構成を有する複数のサーバ装置を統合的に制御することで構成してもよい。また、事業者サーバ400は、Webサイトによりコンテンツを提供するコンテンツサーバの機能を含めることができる。この場合、Webサイトを構成する情報や、Webサイトにより提供されるコンテンツは、事業者サーバ400のストレージ4003上の所定の領域に格納することができる。
また、図12では、ストレージ4003が1のハードウェアから構成されるように示しているが、これはこの例に限定されず、例えば複数のストレージ装置を1つのストレージ4003として統合的に管理するようにしてもよい。
図13は、実施形態に係る事業者サーバ400の機能を説明するための一例の機能ブロック図である。事業者サーバ400は、通信部4100と、提示部4101と、通知管理部4102とを含む。これら通信部4100、提示部4101および通知管理部4102は、CPU4100上で動作するプログラムにより実現される。これに限らず、通信部4100、提示部4101および通知管理部4102のうち一部または全部を、互い協働して動作するハードウェア回路を用いて構成してもよい。
通信部4100は、通信I/F4004によるネットワーク50を介した通信を制御する。提示部4101は、ネットワーク50を介して検索端末30に提示する提示情報を生成および記憶する。通知管理部4102は、プッシュ通知による通知を管理する。
(実施形態に適用可能な登録処理)
次に、実施形態に適用可能な各登録処理について説明する。図14は、実施形態に適用可能な、登録端末20において登録ツール21によって実行される各登録処理を示す一例のフローチャートである。なお、図14のフローチャートの処理に先立って、登録ツール21を利用するユーザの情報(ログインIDおよびパスワード)は、ユーザ管理サーバ105によりユーザDB106に登録されているものとする。また、以下において、画像は、キャンペーンを単位として登録され、登録者によって指定されたキャンペーンに関連付けて登録されるものとする。
登録端末20において登録ツール21が起動されると、ステップS100で、登録ツール21は、ユーザに対するログイン処理を行う。例えば、登録ツール21は、登録端末20の表示デバイスに、図15で示されるログイン画面500の表示を行う。図15の例では、ログイン画面500は、ユーザ情報(ログインIDおよびパスワード)を入力するための入力部5001と、ログインを指示するためのボタン5002と、パスワードの再発行を依頼するためのボタン5003とが配置されている。
以下、「登録端末20の表示デバイスに画面を表示させる」ことを、適宜、「登録端末20に画面を表示させる」などと記述する。同様に、「検索端末30の表示デバイス3004に画面を表示させる」ことを、適宜、「検索端末30に画面を表示させる」などと記述する。
例えば、登録ツール21は、入力部5001にログインIDおよびパスワードが入力されると、入力されたログインIDおよびパスワードをユーザ管理サーバ105に送信し、ユーザIDの認証を要求する。登録ツール21は、ユーザ管理サーバ105からの、ログインIDの認証が成功したことを示す情報を受信した場合に、処理をステップS101に移行させる。
ステップS101で、登録ツール21は、登録端末20に、メニュー領域を含む画面の表示を行う。図16は、実施形態に適用可能な、メニュー領域5500を含むクライアント一覧画面550の例を示す。図16の例では、クライアント一覧画面550は、タブ5501a、5501b、5501cおよび5501dを含むメニュー領域5500と、ボタン群5502と、検索入力部5503と、リスト表示領域5504と、終了ボタン5505とが配置される。
メニュー領域5500に含まれるタブ5501a、5501b、5501cおよび5501dは、メニュー項目を選択して登録ツール21の動作モードを決定するためのタブである。タブ5501aおよび5501bは、ユーザ管理モードに移行するためのタブであって、操作することでそれぞれ管理者一覧およびクライアント一覧が表示される。タブ5501cは、画像登録モードに移行するためのタブであって、操作することでキャンペーン一覧が表示される。また、タブ5501dは、モジュール情報登録モードに移行するためのタブであって、サービス提供者と事業者との間で交わされた契約を示す契約情報の一覧が表示される。
リスト表示領域5504は、タブ5501a、5501b、5501cおよび5501dにより選択したメニュー項目に対応するリストが表示される。図16の例は、タブ5501bが操作されクライアント一覧が選択されている様子を示している。以下では、リストの各行をレコードと呼び、各列を項目と呼ぶ。
ボタン群5502は、リスト表示領域5504に表示されるリストに対する処理を選択する。図16の例では、ボタン群5502は4個のボタンを含み、各ボタンは、左から、「新規登録」、「編集」、「削除」、「CSV出力」の各機能が割り当てられている。「新規登録」ボタンは、リスト表示領域5504に表示されるリストに対して新規にレコードを追加する。「編集」ボタンは、リスト表示領域5504に表示されるリストにおいて選択されたレコードの情報を編集する。「削除」ボタンは、リスト表示領域5504に表示されるリストにおいて選択されたレコードの情報を削除する。「CSV出力」は、リスト表示領域5504に表示されるリストの情報をCSV(Comma-Separated Values)形式のテキストファイルで出力する。
検索入力部5503は、リスト表示領域5504に表示されるリストから、選択または入力された検索キーに基づきレコードが選択される。終了ボタン5505は、登録ツール21による処理を終了する。
なお、図16の例では、クライアント情報は、レコードに、「クライアントID」、「クライアント名」、「パスワード」、「電子メールアドレス(Email)」、「最終更新日」、「公開ページ数」、「利用ページ数」、「契約ページ数」。「Push通知」の各項目を含んでいる。クライアント情報は、さらに多くの項目を含んでもよい。
説明は図14に戻り、ステップS101でメニュー表示がなされると、処理が次のステップS102に移行され、登録ツール21は、タブ5501a、5501b、5501cおよび5501d、ならびに、終了ボタン5505の何れかが操作され、処理が選択されるのを待機する。若し、終了ボタン5505が操作された場合、登録ツール21は、処理をステップS103に移行させ、ユーザのログアウト処理を行い、登録ツール21の動作を終了させる。
ステップS102で、タブ5501aまたはタブ5501bが操作されユーザ管理モードが選択された場合、登録ツール21は、処理をステップS104に移行させる。そして、登録ツール21は、ステップS104において、ステップS102でタブ5501aおよび5501bの何れが操作されたかに応じて、管理者一覧画面とクライアント一覧画面(図16参照)とのうち何れかの表示を行う。ここでは、タブ5501bが操作され、図16に示されるクライアント一覧画面550が表示されたものとする。
クライアント一覧画面550において、ボタン群5502に含まれる「新規登録」または「編集」ボタンが操作されると、図17に例示される、実施形態に適用可能なクライアント登録/編集画面510が表示される。図17において、クライアント登録/編集画面510は、入力領域5101〜5108と、プッシュ通知設定部5109と、「OK」ボタン5110と、「キャンセル」ボタン5111とが配置される。
入力領域5101は、登録するクライアントの名前が入力される。入力領域5102は、当該クライアントが利用可能なページ数の上限値を入力する。入力領域5103は、当該クライアントの連絡先(この例では電子メールアドレス)が入力される。入力領域5104は、当該クライアントを識別するためのクライアントIDが入力される。入力領域5105は、当該クライアントが画像検索システム10を利用する際の認証に用いるパスワードが入力される。入力領域5106は、入力領域5105に入力されるパスワードの初期値を自動生成するためのボタンである。入力領域5107は、備考が入力される。
なお、入力領域5104および5105にそれぞれ入力されたクライアントIDおよびパスワードは、例えば登録端末20からユーザ管理サーバ105に送信され、ユーザ管理サーバ105により、登録ツール21にログインした際に入力されたログインIDと関連付けられてユーザDB106に登録されるものとする。
入力領域5108は、当該クライアントのクライアントIDに関連付けられたモジュールID312が入力される。入力領域5108に対するモジュールID312の入力は、マニュアルにて行うことができる。これに限らず、モジュールID312の入力は、当該クライアントIDに対して既にモジュールID312が関連付けられている場合、この関連付けられたモジュールID312から選択して入力するようにもできる。
プッシュ通知設定部5109は、当該クライアントがプッシュ通知を利用するか否かを設定する。図17の例では、プッシュ通知設定部5109は、それぞれプッシュ通知の利用および不利用を排他的に設定する、2つのラジオボタンを含む。このプッシュ通知設定部5109による設定内容が、上述したクライアント情報における項目「Push通知」の値に反映される。
「OK」ボタン5110は、各入力領域5101〜5108と、プッシュ通知設定部5109とに入力および設定された内容を確定させる。例えば、登録ツール21は、「OK」ボタン5110が操作されると、各入力領域5101〜5108に対する入力内容と、プッシュ通知設定部5109に対して設定された値とを含む各情報を管理サーバ101に送信する。管理サーバ101は、登録ツール21から送信された各情報を受信し、受信した各情報を契約情報DB16に格納する。「キャンセル」ボタンは、各入力領域5101〜5108と、プッシュ通知設定部5109とに入力された情報を破棄し、クライアント一覧画面550を表示させる。
登録ツール21は、管理者一覧画面またはクライアント一覧画面での処理が終了した旨の操作がなされると、処理をステップS101に戻し、メニュー領域5500を含む画面を表示させる。
ステップS102で、タブ5501dが操作され、モジュール情報登録モードが選択された場合、登録ツール21は、処理をステップS106に移行させる。ステップS106で、登録ツール21は、図18に例示するような、実施形態に適用可能な契約一覧画面540を表示させる。図18において、契約一覧画面540は、ボタン群5401と、検索入力部5402と、リスト表示領域5403と、終了ボタン5404とが配置される。登録ツール21は、終了ボタン5404が操作されると、処理をステップS101に戻し、メニュー領域5500を含む画面を表示させる。
リスト表示領域5403は、管理サーバ101(契約情報DB16)に登録される契約情報のリストが表示される。図18の例では、リスト表示領域5403に表示されるリストにおいて、各レコードは、例えばキャンペーン毎に作成され、「クライアントID」、「契約タイプ」、「利用開始日」、「利用終了日」、「DB(データベース)」、「DB番号」、「モジュールID」、「アプリID」、「パッケージ名」、「アプリ名」、「備考」の各項目を含む。レコードの情報は、管理サーバ101により契約情報DB16に格納される。登録ツール21は、管理サーバ101と通信を行い、契約情報DB16に格納される契約情報を取得し、取得した契約情報をリスト表示領域5403に表示させる。
ボタン群5401は、4個のボタンを含み、各ボタンは、左から、「新規登録」、「編集」、「削除」、「CSV出力」の各機能が割り当てられている。「新規登録」ボタンは、リスト表示領域5403に表示されるリストに対して新規にレコードを追加する。「編集」ボタンは、リスト表示領域5403に表示されるリストにおいて選択されたレコードの情報を編集する。「削除」ボタンは、リスト表示領域5403に表示されるリストにおいて選択されたレコードの情報を削除する。「CSV出力」は、リスト表示領域5403に表示されるリストの情報をCSV形式のテキストファイルで出力する。
ボタン群5401に含まれる「新規登録」ボタンまたは「編集」ボタンが操作された場合、契約情報の新規登録または編集を行う画面として、例えば、図19に例示される、実施形態に適用可能なモジュール登録/編集画面520が表示される。図19において、モジュール登録/編集画面520は、入力領域5201〜5211と、プッシュ通知設定部5212と、「OK」ボタン5213と、「キャンセル」ボタン5214とが配置される。
入力領域5201は、サービス提供者が事業者に提供する画像検索モジュール311のモジュールID312が入力される。モジュールID312は、画像検索システム10が提供する各画像検索モジュール311で一意な値が用いられる。例えば、モジュールID312は、管理サーバ101により一意に生成される。管理サーバ101は、生成したモジュールID312を登録ツール21に送信する。登録ツール21は、管理サーバ101から送信されたモジュールID312を受信すると、受信したモジュールID312を入力領域5201に入力する。これに限らず、モジュールID312をマニュアルで入力してもよい。例えば、事業者との契約は、モジュールID312毎に行われる。
入力領域5202は、契約形態(契約タイプ)が入力される。この例では、契約形態は、評価契約と本契約との2つの形態が用意される。評価契約は、事業者が画像検索システム10を評価するための契約形態であり、非公開用のDBである画像検索用DB112aに対する画像の登録が可能であり、公開処理ができない。本契約は、評価契約より権限の広い契約であって、非公開用のDBである画像検索用DB112aと、公開用のDBである画像検索用DB112bとに対する画像の登録が可能である。また、本契約では、公開処理および非公開処理が可能である。入力領域5202では、これら評価契約と本契約とが排他的に入力される。契約形態を示す情報は、タイプ情報として事業者端末40に反映される。
入力領域5203および5204は、それぞれ、入力領域5201に入力されたモジュールID312、すなわち、当該モジュールID312に対応する画像検索モジュール311の利用開始日および利用終了日が入力される。当該画像検索モジュール311は、入力領域5203に入力された日付から、入力領域5204に入力された日付までの期間内で利用可能とされ、当該期間外では、利用が不可とされる。この利用開始日および利用終了日は、当該画像検索モジュール311に対する契約の開始日および終了日に対応する。
入力領域5205および5206は、入力領域5201に入力されたモジュールID312に対応する画像検索モジュール311が画像検索に用いるDBを指定する。入力領域5205は、通常DB111aおよび111bのペア、ならびに、専用DB110a1および110b1、110a2および110b2、…の各ペアのうち何れのペアを用いるかを指定する。「通常」を入力した場合、通常DB111aおよび111bのペアが指定される。一方、「専用」を入力した場合は、専用DB110a1および110b1、110a2および110b2、…の各ペアのうち何れかのペアが指定される。
入力領域5206は、指定したDBのペアのDB番号を入力する。例えば、図4を参照し、入力領域5205に「専用」が入力され、入力領域5206に「SP002」が入力された場合、用いるデータベースとして、専用DB110a2および110b2のペアが指定される。入力領域5205に「通常」が入力された場合には、例えば、通常DB111aおよび111bのペアに割り当てられたDB番号が自動的に入力される。なお、DB番号は、契約に応じて、事業者毎に異なる番号がサービス提供者から事業者に提供される。
入力領域5207は、この契約情報に係る事業者を識別するクライアントIDが入力される。
入力領域5208は、アプリID310が入力される。入力領域5208は、空欄で構わない。入力領域5208に、画像検索アプリ301’のアプリID310を入力することで、入力されたアプリID310に対応する画像検索アプリ301’をフィルタリングすることができる。
入力領域5209〜5211は、オプションの情報が入力されるもので、入力を省略することができる。入力領域5209は、例えば、入力領域5201に入力されたモジュールID312を含む画像検索モジュール311が組み込まれる画像検索アプリ301’のパッケージ名が入力される。入力領域5211は、当該画像検索アプリ301’の名称、または、備考が入力される。入力領域5210は、「追加」ボタンであって、入力領域5211を追加する。
プッシュ通知設定部5212は、当該モジュールにおいてプッシュ通知を利用するか否かを設定する。図19の例では、プッシュ通知設定部5212は、それぞれプッシュ通知の利用および不利用を排他的に設定する、2つのラジオボタンを含む。プッシュ通知設定部5212は、例えば、上述したクライアント登録/編集画面510のプッシュ通知設定部5109においてプッシュ通知を利用する旨が設定されていない場合は、表示されないか、または、設定操作を受け付けないようにされる。
「OK」ボタン5213は、各入力領域5201〜5211と、プッシュ通知設定部5212とに入力および設定された内容を確定させる。例えば、登録ツール21は、「OK」ボタン5213が操作されると、各入力領域5201〜5211に対する入力内容と、プッシュ通知設定部5212に対して設定された値とを含む各情報を契約情報として管理サーバ101に送信する。管理サーバ101は、登録ツール21から送信された契約情報を受信し、受信した契約情報を契約情報DB16に格納する。「キャンセル」ボタン5214は、各入力領域5201〜5211に入力された各情報と、プッシュ通知設定部5212に設定された値とを破棄し、例えば処理をステップS101に戻し、メニュー領域5500を含む画面を表示させる。
図14に戻り、ステップS102で、タブ5501cが操作され画像登録モードが選択された場合、登録ツール21は、処理をステップS105に移行させる。ステップS105で、登録ツール21は、登録端末20において、登録されたキャンペーンに関する情報を示す登録情報一覧画面を表示させる。
図20は、ステップS105で表示される、実施形態に適用可能な登録情報一覧画面560の例を示す。図20において、登録情報一覧画面560は、新規登録ボタン5601a、編集ボタン5601b、削除ボタン5601cおよび公開設定ボタン5601dと、検索入力部5602と、リスト表示領域5603と、終了ボタン5604とが配置される。
リスト表示領域5603は、管理サーバ101(契約情報DB16)に登録されるキャンペーン情報のリストが表示される。図20の例では、リスト表示領域5603に表示されるリストにおいて、各レコードは、「キャンペーン名」、「クライアント名」、「クライアントID」、「公開ページ数」、「利用ページ数」、「最終更新日」、「状態」、「モジュールID」、「備考」の各項目を含む。レコードの情報は、管理サーバ101により契約情報DB16に格納される。登録ツール21は、管理サーバ101と通信を行い、契約情報DB16に格納されるキャンペーン情報を取得し、取得したキャンペーン情報をリスト表示領域5603に表示させる。
新規登録ボタン5601aは、リスト表示領域5603に表示されるリストに対して新規にレコードを追加する。編集ボタン5601bは、リスト表示領域5603に表示されるリストにおいて選択されたレコードの情報を編集する。削除ボタン5601cは、リスト表示領域5603に表示されるリストにおいて選択されたレコードの情報を削除する。公開設定ボタン5601dは、リスト表示領域5603に表示されるリストにおいて、選択されたレコードの状態を公開および非公開の何れかの状態に設定する。
ステップS105で登録情報一覧画面560が表示されると、登録ツール21は、処理を次のステップS110に移行させ、ボタン5601a〜5601d、および、終了ボタン5604に対する操作を待機する。以下、各ボタンに対する操作に応じた処理を、下記の項目(1)〜(5)に従い説明する。
(1)登録ツール21は、ステップS110で、終了ボタン5604が操作された場合、例えば処理をステップS101に戻し、メニュー領域5500を含む画面を表示させる。
(2)登録ツール21は、ステップS110で、リスト表示領域5603においてレコードが選択された状態で公開設定ボタン5601dが操作された場合、処理をステップS119に移行させる。ステップS119で、登録ツール21は、選択中のレコードのキャンペーンが公開可能か否かを、当該レコードに含まれるモジュールIDに基づき判定する。
例えば、登録ツール21は、管理サーバ101に対して、契約情報DB16に登録された契約情報のうち、モジュールIDが選択中のレコードに含まれるモジュールIDと一致する契約情報を要求する。登録ツール21は、要求に応じて管理サーバ101から送信された契約情報に従い、契約形態が本契約、且つ、現在の日付が契約期間内である場合に、公開可と判定する。また、登録ツール21は、契約形態が評価契約、または、現在の日付が契約期間外である場合に、公開不可と判定する。
登録ツール21は、ステップS119で公開不可と判定した場合(ステップS119、「No」)、処理をステップS101に戻し、メニュー領域5500を含む画面を表示させる。一方、登録ツール21は、ステップS119で公開可と判定した場合(ステップS119、「Yes」)、処理をステップS120に移行させる。
ステップS120で、登録ツール21は、選択されたレコードに示されるキャンペーンの公開および非公開を設定するための公開設定画面の表示を行う。
図21は、実施形態に適用可能な公開設定画面の例を示す。図21において、公開設定画面530は、入力領域5301と、「OK」ボタン5302および「キャンセル」ボタン5303とが配置される。入力領域5301は、公開および非公開が排他的に入力される。ここで、入力領域5301は、選択されたレコードの項目「状態」の値が初期値とされる。「OK」ボタン5302は、入力領域5301に対して入力された値を確定する。
例えば、登録ツール21は、「OK」ボタン5302が操作されると、入力領域5301に対する入力に応じて、公開および非公開の何れかに設定された公開状態が当該レコードに対して設定される。公開状態が公開に設定されたレコードに示されるキャンペーンに含まれる画像が公開対象の画像とされ、公開状態が非公開に設定されたレコードに示されるキャンペーンに含まれる画像が非公開対象の画像とされる。登録ツール21は、公開状態が設定されると、リスト表示領域5603の表示を更新して、処理をステップS105に戻す。また、登録ツール21は、「キャンセル」ボタン5303が操作された場合、当該レコードの公開状態を公開設定画面530の表示前の状態として、処理をステップS105に戻す。
(3)登録ツール21は、ステップS110で、リスト表示領域5603においてレコードが選択された状態で、削除ボタン5601cが操作された場合、処理をステップS121に移行させる。ステップS121で、登録ツール21は、選択されたレコードの情報を削除する。このとき、登録ツール21は、レコードの削除を本当に行うか否か、また、レコードに関連付けられた画像の情報を含めてレコードを削除するか否かなどの確認画面を表示させると、好ましい。登録ツール21は、レコードが削除されると、リスト表示領域5603の表示を更新して、処理をステップS105に戻す。
(4)登録ツール21は、ステップS110で、編集ボタン5601bが操作された場合、処理をステップS122に移行させる。ステップS122で、登録ツール21は、登録情報一覧画面560のリスト表示領域5603に表示されるリストにおいて選択されたレコードに示されるキャンペーンに含まれる画像を、登録サーバ102から取得する。登録ツール21は、取得した画像に連携情報が関連付けられている場合、この連携情報も取得する。画像および連携情報を取得すると、登録ツール21は、処理をステップS124に移行させる。
(5)登録ツール21は、ステップS110で、新規登録ボタン5601aが操作された場合、処理をステップS123に移行させ、新規キャンペーンの登録処理を実行する。ステップS123において、登録ツール21は、キャンペーンの新規登録を行うためのキャンペーン登録画面を表示させる。
図22は、実施形態に適用可能なキャンペーン登録画面の例を示す。図22において、キャンペーン登録画面570は、入力領域5701〜5703と、「OK」ボタン5704および「キャンセル」ボタン5705とが配置される。入力領域5701は、キャンペーン名が入力される。入力領域5702は、新規登録するキャンペーンを実施する者(事業者)を識別するクライアントIDが入力される。入力領域5701および5702に入力された各値が、それぞれ、レコードにおける項目「キャンペーン名」および項目「クライアントID」の値となる。
入力領域5703は、モジュールID312が入力される。この場合、入力領域5703は、入力領域5702に入力されたクライアントIDに関連付けられたモジュールID312が入力される。例えば、入力領域5703は、クライアントIDに既にモジュールID312が関連付けられている場合、この関連付けられたモジュールID312から選択して入力するようにできる。
例えば、入力領域5702に入力されたクライアントIDに、図19の入力領域5205で「通常」が指定された第1のモジュールID312と、入力領域5205で「専用」が、入力領域5206で専用DB110a2および110b2を示す「SP002」が指定された第2のモジュールID312とが関連付けられているものとする。この場合、入力領域5703において第1のモジュールID312および第2のモジュールID312の何れかを選択して入力することで、入力されたモジュールID312に応じて、キャンペーンの登録先を、通常DB111aおよび111bのペアと、専用DB110a2および110b2のペアとのうち何れかに指定することができる。
登録ツール21は、「OK」ボタン5704が操作されると、キャンペーン登録画面570において入力領域5701〜5703に入力された各値を確定し、確定された各値を用いて、登録情報一覧画面560のリスト表示領域5603にレコードを追加する。そして、処理をステップS124に移行させる。一方、登録ツール21は、「キャンセル」ボタン5705が操作されると、入力領域5701〜5703に入力された各値を破棄し、例えば処理をステップS105に戻す。
ステップS124で、登録ツール21は、表示部203により、キャンペーンの情報を編集するための編集画面の表示を行う。図23は、実施形態に適用可能な編集画面の例を示す。図23において、編集画面480は、ヘッダ領域481と、サムネイル表示領域483と、ページ編集領域484と、プレビュー領域485と、対象領域一覧領域486と、リンクアイコン一覧領域487と、ツールバー488とを含む。
ヘッダ領域481は、この編集画面480の編集対象となるキャンペーンの名前が左端に表示され、右端には、登録ツール21にログインしているユーザの権限で利用できるメニューが表示されるユーザメニュー表示部482が配置される。
サムネイル表示領域483は、キャンペーンに含まれる各画像を縮小したサムネイル画像が表示される領域である。例えば、処理が上述のキャンペーン情報の編集を指示するステップS122からこのステップS124に移行された場合、登録ツール21は、ステップS122で登録サーバ102から取得された、リスト表示領域5603から選択されたレコードに示されるキャンペーンに含まれる各画像を登録サーバ102の画像DB14から取得する。そして、登録ツール21は、取得した各画像を縮小してサムネイル画像を生成し、サムネイル表示領域483に表示させる。図23の例では、サムネイル表示領域483に対し、サムネイル画像48301、48302、48303、…が表示されている。
なお、処理が上述のキャンペーン情報の新規登録を指示するステップS123からこのステップS124に移行した場合は、サムネイル表示領域483は、空欄となる。また、サムネイル表示領域483の右端に設けられるスクロールバーを操作することで、サムネイル表示領域483外に仮想的に表示される他のサムネイル画像を、サムネイル表示領域483内に順次表示させることができる。
ページ編集領域484は、キャンペーンに含まれる各画像のうち、編集対象となる画像4840が表示される。例えば、登録ツール21は、サムネイル表示領域483に表示される各サムネイル画像48301、48302、48303、…から選択したサムネイル画像の元画像を、画像4840としてページ編集領域484に表示させる。図23の例では、サムネイル表示領域483においてサムネイル画像48302が選択され、この選択されたサムネイル画像48302の元画像が画像4840としてページ編集領域484に表示されている。
登録ツール21は、ページ編集領域484に表示される画像4840に対して範囲が指定された場合、指定された範囲を対象領域として設定することができる。範囲の指定は、例えばユーザによる入力デバイス2007の操作が入力部202に受け付けられてなされる。例えば、ページ編集領域484に表示される画像4840内の任意の2点を指定することで、指定された2点を対角上の頂点とする矩形範囲が指定される。図23の例では、ページ編集領域484の画像4840に対して矩形の範囲により対象領域4841aおよび4841bがそれぞれ設定されている。
登録ツール21は、設定された各対象領域4841aおよび4841bを識別する識別情報(通し番号など)を生成し、各対象領域4841aおよび4841bに関連付ける。識別情報は、編集対象のキャンペーンに含まれる各画像を通して対象領域を識別可能に生成される。また、登録ツール21は、ページ編集領域484において設定された対象領域4841aおよび4841bに対して、1以上の連携情報を関連付けることができる。
さらに、登録ツール21は、サムネイル表示領域483に表示される各サムネイル画像48301、48302、48303、…のうち、ページ編集領域484において何らかの編集、例えば対象領域の指定が行われ、且つ、未保存の画像に対応するサムネイル画像に対して、マーカ画像4831を付加する。
プレビュー領域485は、ページ編集領域484において編集中の画像がこの情報処理システムに対応するアプリケーションプログラムにより検索端末30に表示される画面をエミュレートしたプレビュー画面4850を表示する。登録ツール21は、プレビュー領域485において、ページ編集領域484において設定された各対象領域4841aおよび4841bを強調表示などにより明示的に表示させる。また、登録ツール21は、プレビュー領域485において、各対象領域4841aおよび4841bに設定された連携情報を示す情報を、各対象領域4841aおよび4841bに対応させて表示させる。
対象領域一覧領域486は、編集対象のキャンペーンに含まれる各画像に設定された各対象領域に付加されている連携情報の一覧がアイコン画像600、600、…にて表示される。図23の例では、登録ツール21は、連携情報を、対応する対象領域に付加された識別情報(通し番号)毎に纏めて対象領域一覧領域486に表示している。また、対象領域一覧領域486において、右端に設けられるスクロールバーを操作することで、対象領域一覧領域486外に仮想的に表示される他の対象領域の連携情報を、対象領域一覧領域486内に順次表示させることができる。
リンクアイコン一覧領域487は、対象領域に対して設定可能な連携情報を、各連携情報に対応するアイコン画像600、600、…を用いて一覧表示する。登録ツール21は、リンクアイコン一覧領域487に表示されるアイコン画像600を所謂ドラッグアンドドロップ操作により移動させ、ページ編集領域484内に設定された例えば対象領域4841aに重ねることで、当該アイコン画像600、600、…に対応する連携情報を当該対象領域4841aに関連付けることができる。また、1つの対象領域に対して、複数の連携情報を関連付けることができる。
さらに、リンクアイコン一覧領域487において、予め定められた連携情報に対応するアイコン画像600を指定することで、実施形態に係る、ユーザID313の登録処理を行うための連携情報と、アクセスの許可および不許可を制御可能なコンテンツに関する連携情報とを設定することができる。これら、実施形態に係る連携情報の設定については、後述する。
リンクアイコン一覧領域487において、右端に設けられるスクロールバーを操作することで、リンクアイコン一覧領域487外に仮想的に配置される他のアイコン画像600を、リンクアイコン一覧領域487内に順次登場させ表示させることができる。
なお、対象領域に対して連携情報が関連付けられた場合に、当該対象領域の所定位置に、関連付けられた連携情報を示すアイコン画像600を表示させることができる。こうすることで、当該対象領域4841aにどの連携情報を関連付けたかを容易に知ることができ、好ましい。また、対象領域に対する連携情報の関連付けは、プレビュー領域485の表示に反映させる。
ツールバー488には、ページ編集領域484に表示されるページ(画像)を指定するページ指定部4880と、登録ツール21が備える様々な機能を実行させるためのボタンまたはボタン群4881〜4890とが配置される。ボタン4881は、編集画面480から登録情報一覧画面560に戻るためのボタンである。
ボタン4882は、登録端末20から登録サーバ102に対して画像をアップロードするためのボタンである。ボタン4882が操作されると、登録ツール21は、表示部203により、ファイル選択画面の表示を行う。ファイル選択画面は、例えば登録端末20のCPU2000上で動作するOSにより提供される、標準のファイル選択画面を適用することができる。
ボタン群4883は、ページ編集領域484に表示される画像4840の表示サイズを調整するための2つのボタンを含む。
ボタン4884は、ページ編集領域484内に領域を設定する領域設定モードを、対象領域の設定を行う対象領域設定モードに切り替えるためのボタンである。登録ツール21は、このボタン4884が操作され編集モードが対象領域設定モードに切り替えられた上で、ページ編集領域484に表示される画像4840上に領域が指定された場合に、当該領域を対象領域に設定する。
ボタン4885は、ページ編集領域484内に領域を指定する領域設定モードを、解析部12による特徴情報の抽出の対象としないマスク領域を指定するマスク設定モードに切り替えるためのボタンである。登録ツール21は、このボタン4885が操作され編集モードがマスク設定モードに切り替えられた上で、ページ編集領域484に表示される画像4840上に領域が指定された場合に、当該領域をマスク領域に設定する。
ボタン4886は、キャンペーンの詳細を設定するためのキャンペーン設定画面を表示させるためのボタンである。キャンペーン設定画面では、キャンペーンの公開方法を設定する。なお、ここでいう公開は、検索端末30上で所定の操作を行った場合の検索端末30における動作をいう。例えば、キャンペーンの情報の検索端末30への保存、キャンペーンの情報のSNS(Social Networking Service)への投稿、外部のアプリケーションプログラムを用いてのキャンペーンの情報の表示などを設定できる。
ボタン群4887は、情報のコピー、ペーストおよび削除をそれぞれ実行するための3つのボタンを含む。
ボタン4888は、編集画面480のページ編集領域484に現在表示されている画像(ページ)4840の一部または全部に類似する部分を含む画像が検索サーバ100に既に登録されているか否かをチェックする類似画像チェックを指示するためのボタンである。実施形態では、類似画像チェックは、検索サーバ100に登録される画像を対象として行われる。登録ツール21は、検索サーバ100から送信された検索結果を、表示部203により表示する。ユーザは、この検索結果に基づき画像の再編集を行うことができる。
このとき、登録ツール21は、例えば、ボタン4884の操作に応じて設定された対象領域内の画像のみをチェックの対象として検索サーバ100に送信し、類似画像の検索を要求することができる。また、登録ツール21は、ボタン4885の操作に応じて設定されたマスク領域内の画像をチェックの対象から除外することもできる。さらに、登録ツール21は、ページ編集領域484に現在表示されている画像4840を分割し、分割した画像のそれぞれを登録サーバ102に送信して類似画像の検索を要求して、各々の画像について類似画像チェックを行ってもよい。
ボタン4889は、編集画面480において編集中のキャンペーンの保存を指示する。
ボタン4890は、ページ編集領域484に表示される画像4840において設定される対象領域に対するプッシュ通知を設定する。例えば、対象領域4841aを指定した状態でボタン4890を操作することで、後述するプッシュ通知設定画面が表示され、プッシュ通知設定画面により、当該対象領域4841aに対してプッシュ通知を適用するか否かを設定できる。また、プッシュ通知設定画面では、プッシュ通知を適用する場合、プッシュ通知の種類を設定できる。
ここで、説明を図14に戻し、ボタン4889が操作されると、登録ツール21は、処理をステップS125に移行させ、キャンペーンの保存処理を開始する。保存処理が開始されると、登録ツール21は、処理をステップS126に移行させ、保存対象のキャンペーンが新規登録のキャンペーンであるか否かを判定する。登録ツール21は、処理が上述したステップS122からこのステップS126に移行された場合に、新規登録のキャンペーンではないと判定し(ステップS126、「No」)、処理をステップS128に移行させる。
一方、登録ツール21は、処理が上述したステップS123からこのステップS126に移行された場合に、新規登録のキャンペーンであると判定し(ステップS126、「Yes」)、処理をステップS127に移行させる。ステップS127で、登録ツール21は、保存対象のキャンペーンに含まれる画像のうち対象領域が設定された画像について、上述した、各画像の一部または全部に類似する部分を含む画像が検索サーバ100に既に登録されているか否かを判定する類似画像チェックを実行する。登録ツール21は、類似画像チェックが終了すると、処理をステップS128に移行させる。
ステップS128で、登録ツール21は、キャンペーンの情報を登録サーバ102に送信し、登録サーバ102に対して登録される情報の更新を要求する。例えば、登録ツール21は、キャンペーンに含まれる各画像と、各画像に関連付けられる各連携情報と、当該キャンペーンのメタデータとを登録サーバ102に送信する。登録サーバ102は、登録ツール21からの要求に応じて、登録端末20から送信された各情報に基づき登録サーバ102が備える画像DB14および連携情報DB15と、メタデータDBとを更新する。
登録ツール21は、ステップS128で登録サーバ102に対する情報更新の要求を送信すると、処理をステップS105に戻す。
(実施形態に適用可能なDB指定方法)
次に、実施形態に適用可能な、画像を登録する対象のDBを指定する方法について、図24のフローチャートを用いて概略的に説明する。この図24のフローチャートによる処理は、例えばサービス提供者により実行される。また、この図24のフローチャートによる処理は、キャンペーン単位で実行される。なお、クライアントである事業者とサービス提供者との間では、画像検索システム10を利用するための契約が、書面などにより予め交わされているものとする。
ステップS200で、サービス提供者は、契約対象の事業者のクライアントIDが登録されているか否かを判定する。例えば、サービス提供者は、登録端末20から管理サーバ101に対して、契約を交わした事業者のクライアント名を含む契約情報が契約情報DB16に登録されているか否かの問い合わせを行い、問い合わせの結果に基づきこの判定を行うことができる。若し、契約対象の事業者のクライアントIDが既に登録されていると判定した場合、処理がステップS202に移行される(ステップS200、「Yes」)。
一方、契約対象の事業者のクライアントIDが登録されていないと判定した場合(ステップS200、「No」)、処理がステップS201に移行される。ステップS201で、サービス提供者は、契約情報に基づき、当該事業者を識別するためのクライアントIDを登録する。例えば、サービス提供者は、登録端末20により図17で示したクライアント登録/編集画面510を表示させ、入力領域5104に事業者のクライアントIDを含む各情報を入力する。
さらに、サービス提供者は、契約情報に基づき、当該クライアントIDの事業者が画像検索モジュール311を利用する場合に、当該クライアントIDに関連付けられるモジュールID312を、例えば図19のモジュール登録/編集画面520を用いて設定し、設定したモジュールID312を、クライアント登録/編集画面510における入力領域5108に入力する。そして、クライアント登録/編集画面510において「OK」ボタン5110が操作されることで、当該事業者のクライアントIDを含めた各情報が、契約情報DB16に登録される。
ステップS201でクライアントIDが登録されると、処理がステップS202に移行される。ステップS202で、サービス提供者は、契約対象の事業者が画像検索モジュール311を他のアプリケーションプログラム(アプリ)に組み込むか否かを、契約情報に基づき判定する。なお、他のアプリは、例えば当該事業者が提供するアプリである。
ステップS202で、画像検索モジュール311の他のアプリへの組み込みを行わないと判定された場合(ステップS202、「無し」)、処理がステップS203に移行され、契約対象の事業者との契約が通常契約であるとされる。そして、処理をステップS212に移行させる。
上述したステップS202で、画像検索モジュール311を他のアプリに組み込むと判定した場合(ステップS202、「有り」)、処理がステップS210に移行され、契約対象の事業者との契約が専用契約であるとされる。そして、次のステップS211で、専用DBを使うか否かを判定する。使わないと判定した場合(ステップS211、「使わない」)、サービス提供者は、契約対象の事業者が画像を登録する登録対象の通常DB111aおよび111bを指定する(ステップS212)。
一方、専用DBを使うと判定した場合(ステップS211、「使う」)、サービス提供者は、契約対象の事業者に対して、専用DB110a1および110b1、専用DB110a2および110b2、…の各ペアのうち、登録対象DBとするDBのDB番号を指定する(ステップS213)。
サービス提供者は、上述したステップS212およびステップS213の結果に応じて、キャンペーンに対して利用DBフラグを設定することができる。利用DBフラグの値としては、ステップS212が実行された場合には「通常」、ステップS213が実行された場合には「専用」を用いる。これに限らず、利用DBフラグとしては、指定されたDBのDB番号を用いてもよい。
(実施形態に適用可能な検索処理)
次に、実施形態に適用可能な検索処理について説明する。先ず、実施形態に適用可能な、検索端末30からの検索処理について、図25のフローチャートを用いて説明する。ステップS300で、検索端末30は、ユーザ操作に応じて撮像処理を行う。次のステップS301で、検索端末30は、撮像画像と、画像検索アプリ301’に含まれるアプリID310およびモジュールID312とを含む検索要求を、画像検索システム10に送信する。この検索要求は、画像検索システム10において、管理サーバ101に受信される。
次のステップS302で、検索端末30は、画像検索システム10からの検索結果の受信を待機する。検索結果の受信が無ければ(ステップS302、「受信無し」)処理がステップS302に戻される。検索端末30は、画像検索システム10からの検索結果を受信すると(ステップS302、「受信有り」)、処理をステップS303に移行させ、検索結果を表示する。ステップS303の処理が終了すると、検索端末30による一連の検索処理が終了される。
次に、実施形態に適用可能な、管理サーバ101による検索に関する処理について、図26のフローチャートを用いて説明する。管理サーバ101は、ステップS400で、検索端末30からの検索要求を受信したか否かを判定する。受信していないと判定した場合(ステップS400、「No」)、処理をステップS400に戻す。一方、管理サーバ101は、検索端末30からの検索要求を受信したと判定した場合(ステップS400、「Yes」)、処理をステップS401に移行させる。
ステップS401で、管理サーバ101は、受信した検索要求に含まれるモジュールID312に対応する契約情報を、契約情報DB16から取得する。次のステップS402で、契約情報にアプリID310が登録されているか否かを判定する。管理サーバ101は、契約情報にアプリID310が登録されていないと判定した場合(ステップS402、「無し」)、処理をステップS404に移行させる。一方、管理サーバ101は、契約情報にアプリID310が登録されていると判定した場合(ステップS402、「有り」)、処理をステップS403に移行させる。
ステップS403で、管理サーバ101は、契約情報に含まれるアプリID310と、検索端末30にインストールされる画像検索アプリ301’に含まれるアプリID310とが一致するか否かを判定する。管理サーバ101は、一致しないと判定した場合(ステップS403、「不一致」)、処理をステップS410に移行させ、アプリIDが一致しない旨のエラー通知を検索端末30に送信し、図26のフローチャートによる一連の処理を終了させる。
一方、管理サーバ101は、ステップS403でアプリIDが一致すると判定した場合(ステップS403、「一致」)、処理をステップS404に移行させる。
ステップS404で、管理サーバ101は、ステップS401で取得した契約情報に含まれる利用開始日および利用終了日に基づき、現在の日付が契約期間内であるか否かを判定する。管理サーバ101は、現在の日付が契約期間外であると判定した場合(ステップS404、「期間外」)、処理をステップS410に移行させ、契約期間外である旨のエラー通知を検索端末30に送信し、図26のフローチャートによる一連の処理を終了させる。
一方、管理サーバ101は、ステップS404で現在の日付が契約期間内であると判定した場合(ステップS404、「期間内」)、処理をステップS405に移行させる。ステップS405で、管理サーバ101は、検索要求を送信した検索端末30の検索対象を公開用のDBとし、検索要求に含まれるモジュールID312に対応する契約情報に基づき、検索対象のDBを、通常DB111bと、専用DB110b1、110b2、…とから選択するよう、スイッチ部121および120bを切り替える。検索サーバ100は、選択された検索対象DBに対して、画像検索を行う。検索要求は、管理サーバ101から検索サーバ100に渡してもよいし、例えばスイッチ部121に保持しておいてもよい。
検索サーバ100は、次のステップS406、検索結果を、検索要求を送信した検索端末30に通知し、図26のフローチャートによる一連の処理を終了させる。
(検索端末における画像検索結果の表示例)
次に、上述した図26のフローチャートにおけるステップS406により検索端末30に送信された検索結果の、検索端末30における表示例について、図27〜図29を用いて説明する。
図3を用いて説明したように、画像検索サーバ10は、画像内に指定された対象領域に連携情報を関連付けており、この対象領域と連携情報との関連付けの情報を、XMLコード140により記述している。画像検索サーバ10は、画像検索の結果、このXMLコード140を含めた検索結果を検索端末30に送信する。検索端末30は、画像検索サーバ10から送信された検索結果に含まれるXMLコード140を、通信部303を介して、画像検索アプリ301’に含まれる画像検索モジュール311内の検索結果受信部3113により受信する。検索結果受信部3113は、受信した検索結果を表示情報生成部3114に渡す。表示情報生成部3114は、渡された検索結果に含まれるXMLコード140に基づき閲覧画面を表示させるための表示情報を生成して表示部306に渡す。表示部306は、渡された表示情報に従い、閲覧画面を表示デバイス3004に表示させる。
図27は、実施形態に適用可能な、表示情報生成部3114に生成された表示情報に従い表示される閲覧画面の例を示す。図27において、閲覧画面5000は、リンク表示領域5001と、ページ画像表示領域5002とを含む。ページ画像表示領域5002は、XMLコード140に従ったページ5010が表示される領域である。ページのサイズは、固定としてもよいし、XMLコード140に含めてもよい。表示情報生成部3114は、XMLコード140の記述に従い各対象領域5020a、5020bおよび5020cの表示を行う。
表示情報生成部3114は、XMLコード140に記述されるリンク情報に従い取得した画像を各対象領域5020a、5020bおよび5020cに表示させる。これに限らず、表示情報生成部3114は、XMLコード140に画像データが含まれている場合は、その画像データに従った画像を各対象領域5020a、5020bおよび5020cに表示することができる。
さらに、表示情報生成部3114は、各対象領域5020a、5020bおよび5020cに対し、各対象領域5020a、5020bおよび5020cに関連付けられた連携情報を示すアイコン画像5030a〜5030gを表示させる。図27の例では、対象領域5020aに4つのアイコン画像5030a〜5030dが表示され、対象領域5020aに対して4つの連携情報が関連付けられていることが示される。同様に、対象領域5020cにアイコン画像5030fおよび5030gが表示され、対象領域5020cに対して2つの連携情報が関連付けられていることが示される。また、対象領域5020bには1つのアイコン画像5030eが表示され、対象領域5020bに対して1つの連携情報が関連付けられていることが示されている。
このような閲覧画面5000の表示に対し、入力デバイス3007を操作して1つの対象領域を指定することで、ユーザは、指定した対象領域に関連付けられた連携情報を利用することができる。図28は、図27の閲覧画面5000に対して対象領域5020aを指定した例を示す。図28の例では、指定された対象領域5020aが強調表示されている。入力デバイス3007に対する対象領域5020aの指定操作が入力受付部3115に受け付けられると表示情報生成部3114は、リンク表示領域5001に対して、指定された対象領域5020aに関連付けられた連携情報を示すアイコン画像5030a’、5030b’、5030c’および5030d’を表示させる。これらアイコン画像5030a’〜5030d’は、それぞれアイコン画像5030a〜5030dに対応する。
また、表示情報生成部3114は、ページ画像表示領域5002の各アイコン画像5030a’、5030b’、5030c’および5030d’に対応する位置に、タブ5302a、5302b、5302cおよび5302dを表示させる。タブ5302a、5302b、5302cおよび5302dを操作することで、操作されたタブに対応するアイコン画像に示される連携情報が利用可能となる。
図29(a)および図29(b)は、図28の表示において、タブ5302aおよび5302dを操作した例を示す。この例では、例えばタブ5302aが操作されると、タブ5302aの画像が、恰もタブ5302aがページ画像表示領域5002の方向に向けて伸びたような画像に変更される。また、タブ5302aの伸びた先端部分に、当該タブ5302aに対応するアイコン画像5030a’が表示される。タブ5302dについても、同様である。さらに、リンク表示領域5001のアイコン画像5030a’および5030d’が表示されていた各位置には、アイコン画像5030a’および5030d’に示される機能の利用を指定するアイコン画像5301aおよび5301dがそれぞれ表示される。このように、操作されたタブ5302aの画像を変更することで、当該タブ5302aに対応するアイコン画像5030a’が示す連携情報が利用可能な状態にあることが示される。
一例として、アイコン画像5030a’に対し、起動アプリケーションプログラムとして画像検索アプリ301’が指定され、アイコン画像5030a’が示す連携情報が、当該連携情報を検索端末30に記憶可能に指定している場合について考える。この場合、表示情報生成部3114は、図29(a)に例示されるように、タブ5302a上に「コレクションに追加」のメッセージ5303aを表示させ、ユーザに対して、アイコン画像5030a’が示す連携情報を検索端末30に記憶させるよう促す。表示情報生成部3114は、アイコン画像5301aに対する操作が入力受付部3115に受け付けられると、アイコン画像5030a’が示す連携情報を、例えば検索端末30のストレージ3005に記憶させる。
別の例として、アイコン画像5030d’に対し、起動アプリケーションプログラムとして画像検索アプリ301’が指定され、アイコン画像5030d’が示す連携情報が、当該連携情報の、検索端末30への記憶と、SNS#Aでの共有と、SNS#Bに対する投稿とを指定している場合について考える。この場合、表示情報生成部3114は、図29(b)に例示されるように、タブ5302d上に、「コレクションに追加」と、「SNS#Bに投稿」と、「SNS#Aでシェア」とを選択可能としたメッセージ5303dを表示させ、ユーザに対して処理の選択を促す。表示情報生成部3114は、メッセージ5303dに応じて選択された処理を実行する。例えば、表示情報生成部3114は、「SNS#Bに投稿」を選択する操作が入力受付部3115に受け付けられた場合、アイコン画像5030d’が示す連携情報に基づき、SNS#Bに対する投稿処理を行う。
さらに別の例として、アイコン画像5030a’に対して起動アプリケーションプログラムとして、検索端末に搭載されるブラウザアプリケーションが指定されている場合、画像検索アプリ301’は、このアイコン画像5030a’に対応するアイコン画像5301aに対する操作が入力受付部3115に受け付けられると、ブラウザアプリケーションを呼び出し、起動させる。
次に、図30を用いて、実施形態に適用可能な、対象領域の特定方法について説明する。図30(a)は、左側に、検索端末30に撮像される被写体31の例を示す。また、右側に画像DB14に登録される、被写体31に対応する画像71の例を示す。ここで、画像71は、連携情報により、対象領域71aおよび対象領域71bが設定されているものとする(それぞれ図中に「A」、「B」として示す)。これら対象領域71aおよび71bは、被写体31においては、領域71a’および71b’に対応する(図中に点線で示す)。
ここで、図30(a)の左側に例示されるように、検索端末30は、被写体31が撮像範囲70の中心72から左上にずれて含まれるように撮像範囲70を設定して撮像を行ったものとする。一例として、ユーザは、領域71b’に含まれる画像に対応する情報を得たい場合、領域71b’が撮像画像の中心に近付くように、撮像範囲70を決定すると考えられる。検索端末30から画像検索システム10に送信される撮像画像は、撮像範囲70内の画像となる。
画像検索システム10において、検索サーバ100は、撮像範囲70による撮像画像に基づき画像DB14に対して類似する画像の検索を行う。検索サーバ100は、検索の結果、画像DB14に登録される画像のうち画像71が、撮像画像に含まれる被写体31の部分との類似度が高いと判定したものとする。検索サーバ100は、対象領域71aおよび71bを撮像範囲70に適用した場合の領域71a’および71b’と、撮像範囲70の中心72との間の距離aおよびbをそれぞれ計算する。
検索サーバ100は、距離計算の結果、領域71a’および71b’のうち、中心72に近い方の対象領域を、デフォルトに選択される対象領域であると判定する。図30(a)の例では、中心72と領域71b’との距離bが、中心72と対象71a’との距離aよりも短く、対象71b’の方が対象71a’より中心72に近いと判定できる。したがって、対象71b’に対応する対象領域71bがデフォルトに選択される対象領域となる。
検索サーバ100は、類似度が高いと判定された画像71のサムネイル画像と、画像71に関連付けられた連携情報とを、検索結果として検索端末30に送信する。このとき、検索サーバ100は、連携情報に対して、対象領域71bがデフォルトで選択状態とされる領域であることを示す情報を付加して検索端末30に送信する。
図30(b)は、検索端末30に対して、検索サーバ100から送信された画像71のサムネイル画像74が表示された例を示す。このように、検索端末30は、連携情報に従い、サムネイル画像74において対象領域71bを例えば強調表示(図中に斜線を付して示す)して、当該対象領域71bがデフォルトで選択状態に指定される対象領域であることを示す。なお、この状態であっても、対象領域71aを選択することが可能である。
(実施形態に係るコンテンツ提供方法)
次に、実施形態に係るコンテンツ提供方法について説明する。図31は、実施形態に係るコンテンツ提供の流れを概略的に示す。なお、図31において、上述した図1などと共通する部分には同一の符号を付して、詳細な説明を省略する。図31の例は、例えば事業者Aが製品Aについて検索端末30を介してアンケートを行い、アンケート結果に応じたコンテンツの提供を、検索端末30にプッシュ通知により通知する例である。
一般ユーザは、検索端末30により、例えば製品Aのカタログ写真を含む被写体31を撮像し、撮像画像を検索要求と共に画像検索システム10に送信する。画像検索システム10は、検索端末30から送信された検索要求に従い撮像画像に基づく画像検索を行い、検索された画像に関連付けられた連携情報を検索端末30に送信する。
ここで検索される画像は、基本的には、事業者Aにより指定され、画像検索システム10に登録された画像である。例えば事業者Aはカスタマイズアプリにより、事業者Aの専用DBを検索させることで、事業者Aにより指定された画像を検索させる。また例えば、事業者Aは、通常DBに登録されている他の画像が検索されないことを確認した上で、事業者Aが指定した画像を登録する。
検索端末30は、連携情報を受信し、受信した連携情報に基づき閲覧画面を表示する。この閲覧画面には、連携情報として事業者により提供される、あるいは、事業者Aからの依頼に応じてサービス提供者により提供されるWebページのURLが含まれるものとする。このWebページは、例えば事業者Aにより管理、運営される事業者サーバ400に格納される。
検索端末30は、一般ユーザの閲覧画面に示される連携情報を指定する操作に応じて、上述した事業者により提供されるWebページにアクセスし、Webページの記述に従い画面80aを表示する。画面80aは、製品Aに関するアンケートを実施するためのリンク情報が関連付けられたボタン81が設けられた特設画面である。
なお、図27に示したように、閲覧画面は、1つの対象領域に対して複数の連携情報を含むことができる。例えば、閲覧画面は、上述の特設画面とは異なる、通常画面によるWebページを示す連携情報を含むことができる。この通常画面に因るWebページは、例えば、一般的なパーソナルコンピュータといった汎用の情報処理装置からアクセスが可能である。一般ユーザがこの通常画面によるWebページを示す連携情報を指定した場合、検索端末30は、例えば画面80bに例示されるような、通常画面によるWebページを表示させる。この場合、当該通常画面によるWebページには、アンケートの実施を指示するボタン81は、表示されない。
ここで、検索端末30は、閲覧画面に対する操作に応じて、アクセス先であるWebページを格納する事業者サーバ400に、アプリID310またはモジュールID312を送信することができる。事業者サーバ400は、Webページのアクセス元からこれらアプリID310またはモジュールID312が送信されたか否かに基づき、表示させるWebページを切り替えることができる。
例えば、事業者サーバ400は、アクセス元からこれらアプリID310またはモジュールID312が送信されている場合に、アクセス先を上述した特設画面を表示させるWebサイトに誘導する。一方、事業者サーバ400は、アクセス元からこれらアプリID310またはモジュールID312が送信されていない場合に、アクセス先を上述した通常画面を表示させるWebサイトに誘導する。
検索端末30は、画面80aのボタン81に対する一般ユーザの操作に応じて、当該ボタン81に関連付けられたリンク情報に従い、アンケートを実施するためのWebサイト(以下、アンケートサイトと呼ぶ)にアクセスする。検索端末30は、このアクセスにより、アンケートサイトによるアンケート画面82を表示させる。
図31の例では、アンケート画面82は、選択入力部83と、ボタン84とを含む。選択入力部83は、複数の項目と、これら複数の項目から1つの項目を選択するためのチェックボックス85a、85bおよび85cを含む。ここでは、チェックボックス85a、85bおよび85cは、互いに排他的に指定が可能であるものとする。ボタン84は、選択入力部83による選択結果を事業者サーバ400に送信するためのボタンである。
チェックボックス85a〜85cの何れか1つが指定された状態でボタン84が操作されると、事業者サーバ400は、検索端末30に対して、チェックボックス85a〜85cにより指定された項目に応じたプッシュ通知を行う。また、事業者サーバ400は、指定された項目を示す情報と、この選択結果を送信した検索端末30を特定可能な情報(通知ID)とを関連付けて記憶する。
一例として、チェックボックス85aを選択してボタン84を操作すると、事業者サーバ400は、チェックボックス85aに対応する通知をプッシュ通知により検索端末30に送信するよう、通知サーバ410に依頼する。この通知は、例えば、特定のコンテンツへのリンクを示すリンク情報が含まれるものとする。通知サーバ410は、依頼に応じて、検索端末30に対してプッシュ通知による通知を送信する。検索端末30は、この通知を受信すると、例えば通知があった旨を示す表示を行う。検索端末30は、この通知に応じた操作がなされると、通知に含まれるリンク情報に従い、特定コンテンツにアクセスして当該特定コンテンツを取得し、取得した特定コンテンツをコンテンツ画面850a1に表示させる。
図31の例では、コンテンツ画面850a1に表示される特定コンテンツが、実施形態に係る情報処理システム外の動画提供サイトにより提供される動画であるものとして示されている。特定コンテンツは、この例に限定されず、静止画像でもよいし、音声データでもよい。また、特定コンテンツがテキスト情報であってもよい。
事業者サーバ400は、例えば、チェックボックス85aに対応する項目を指定した検索端末30に対して提供する次の特定コンテンツを用意したものとする。事業者サーバ400は、記憶した、検索端末30を特定可能な情報と、当該検索端末30により指定された項目を示す情報とに基づき、当該検索端末30に対して、次の特定コンテンツが用意された旨を示す通知をプッシュ通知により送信するよう、通知サーバ410に依頼する。検索端末30は、この通知に応じた操作がなされると、通知に含まれるリンク情報に従い、次の特定コンテンツにアクセスして当該特定コンテンツを取得し、取得した次の特定コンテンツをコンテンツ画面850a2に表示させる。
アンケート画面82においてチェックボックス85bまたは85cが指定された場合についても同様である。図31の例では、チェックボックス85bが指定された場合、検索端末30は、この指定に応じたプッシュ通知によりチェックボックス85bの項目に対応する特定コンテンツを取得し、コンテンツ画面850b1に表示させる。また、この例では、チェックボックス85bの項目に対して次の特定コンテンツが用意されておらず、このコンテンツ画面850b1の表示により、一連のコンテンツ提供が終了している。
チェックボックス85cが指定された場合は、事業者サーバ400により、コンテンツ画面850c1、850c2および850c3をそれぞれ表示させるための特定コンテンツに関するプッシュ通知が、通知サーバ410により検索端末30に対して、それぞれ所定のタイミングにて順次送信される。
なお、上述では、アンケート画面82に設けられる各チェックボックス85a〜85cへの設定が互いに排他的であるように説明したが、これはこの例に限定されない。すなわち、各チェックボックス85a〜85cは、同時に複数を設定可能としてもよい。また、上述では、複数のチェックボックス85a〜85cに対して設定を行うように説明したが、これはこの例に限定されず、1つの項目のみに設定を行うようにすることも可能である。この場合には、単にプッシュ通知を行うか否かを指定するものとなる。
さらに、上述では、連携情報に基づき、アンケートを実施するためのアンケート画面82が表示されるように説明したが、これはこの例に限定されない。すなわち、実施形態は、連携情報に基づきプッシュ通知を実行するものであれば、他の目的にも適用可能である。
例えば、実施形態による情報処理システムを、所定のポイントを全て巡回した場合に特典が与えられる、スタンプラリーなどに適用することが考えられる。この場合、例えば、ある地点に到達して、その地点において指定された被写体31を検索端末30により撮像し、撮像画像を画像検索システム10に送信する。検索端末30は、撮像画像に基づく検索結果として送信された連携情報に示される例えばWebサイトにアクセスする。事業者サーバ400は、このアクセスに応じて、通知サーバ410に対して、次に到達すべき地点を示す情報を、プッシュ通知により検索端末30に送信する。
図32は、実施形態に係るプッシュ通知を設定するためのプッシュ通知設定画面90の例を示す。図32に例示されるプッシュ通知設定画面90は、登録端末20において起動された登録ツール21により表示される。例えば、上述したように、編集画面480において対象領域4841a(図23参照)を指定した状態でボタン4890を操作することで、プッシュ通知設定画面90が表示される。この場合、当該プッシュ通知設定画面90は、対象領域4841aに対するプッシュ通知に関する設定を行う。これに限らず、編集対象となる画像4840全体を指定した状態でボタン4890を操作することで、当該画像4840によるページ全体に対してプッシュ通知に関する設定を行うことができる。
図32において、プッシュ通知設定画面90は、チェックボックス91および92と、入力領域93および94と、「OK」ボタン95と、「キャンセル」ボタン96とが配置される。チェックボックス91は、プッシュ通知を行うか否かを設定する。例えば、チェックボックス91においてプッシュ通知を行わない用に設定(チェックを入れない)した場合、検索端末30に対して通知ID321を送信させない処理がなされる(後述する)。
チェックボックス92は、チェックボックス91による設定が行われる(チェックが入れられる)ことで、設定可能となる。チェックボックス92は、チェックされることで、履歴DB107に格納される検索履歴情報に基づきプッシュ通知の送信先を絞り込むことが可能とされる。
入力領域93は、プッシュ通知のタイトルが入力される。入力領域94は、そのプッシュ通知が特定のリンク先にリンクさせるものである場合、当該リンク先のURLが入力される。
「OK」ボタン95は、チェックボックス91および92に対する設定内容と、入力領域93および94に入力された情報とを、編集画面480において編集中のキャンペーンの情報に反映させる。例えば、「OK」ボタン95を操作することで、指定中の対象領域4841aに対してプッシュ通知設定画面90で設定された各値が反映される。例えば、「OK」ボタン95を操作し、その後、編集画面480にて編集中のキャンペーンの保存を指示するボタン4889が操作されると、プッシュ通知設定画面90で設定された各値が画像検索システム10に送信される。画像検索システム10は、検索サーバ100により、登録端末20から送信された、プッシ中通知設定画面90による設定された各値を、画像の情報と関連付けて連携情報DB15に格納する。このとき、検索サーバ100は、例えば、各値を、画像4840あるいは対象領域4841aに対応する連携情報に含まれるURLにパラメータとして付加して、連携情報DB15に格納する。
図33および図34を用いて実施形態に係るコンテンツ提供処理について説明する。図33は、パラメータの受け渡し方法の例を示す。図34は、実施形態に係るコンテンツ提供処理を示す一例のシーケンス図である。なお、図34において、上述した図1と共通する部分には同一の符号を付して、詳細な説明を省略する。
なお、図34のシーケンス図による処理に先立って、通知サーバ410は、事業者サーバ400からの依頼に応じて、プッシュ通知を識別するための識別情報であるプッシュIDを発行し、事業者サーバ400に送信する。事業者サーバ400は、通知管理部4102により、通知サーバ410から発行されたプッシュIDを管理する。
また、事業者サーバ400は、プッシュ通知により通知するためのメッセージなどを、プッシュIDと関連付けて通知サーバ410に送信する。通知サーバ410は、事業者サーバ400から送信されたメッセージを、プッシュIDと関連付けて記憶する。このように、事業者サーバ400から通知サーバ410に対してプッシュIDおよび通知ID321を送信することで、通知サーバ410は、プッシュIDに関連付けられたメッセージを、通知ID321で示される宛先にプッシュ通知により通知することができる。
図34において、ステップS10〜ステップS15は、通知ID321の取得に関する処理である。ステップS10で、検索端末30において画像検索アプリ301’が起動されると、検索端末30は、画像検索アプリ301’により通知サーバ410に対してモジュールID312を送信し、通知ID321を要求する(ステップS11)。これに限らず、画像検索アプリ301’は、モジュールID312の代わりにアプリID310を送信してもよい。
通知サーバ410は、検索端末30から送信された要求に応じてユニークな通知ID321を発行し、発行した通知ID321と検索端末30から送信されたモジュールID312とを関連付けて記憶する(ステップS12)。通知サーバ410は、発行した通知ID321を検索端末30に送信する(ステップS13)。検索端末30は、画像検索アプリ301’により、通知サーバ410から送信された通知ID321を、例えばストレージ3005に記憶する。
検索端末30は、画像検索アプリ301’により、一般ユーザの撮像操作に応じて被写体31を撮像する(ステップS20)。画像検索アプリ301’は、被写体31を撮像した撮像画像に基づく画像検索を要求する検索要求を、画像検索システム10に送信する(ステップS21)。ここで送信される検索要求は、撮像画像と、アプリID310と、モジュールID312と、通知ID321とを含む。なお、以下では、特に説明の無い限り、アプリID310、モジュールID312および通知ID321を纏めて「各ID」と呼ぶ。
画像検索システム10は、検索端末30から送信された検索要求に従い、検索要求に含まれる撮像画像に基づく画像検索を行う。画像検索システム10は、画像検索の結果として得られた各情報(アプリID、モジュールID、ユーザID、通知IDなど)と、検索された画像を示す画像識別情報と、画像識別情報に関連付けられる、選択された対象領域を示す情報を含む連携情報とを含む履歴情報を、履歴DB107に記憶する。また、画像検索システム10は、画像検索の結果として取得された連携情報を、検索端末30から送信された各IDと共に検索端末30に返す(ステップS22)。
各IDは、連携情報に含まれるURIにパラメータとして付加して検索端末30に渡すことができる。図33は、URIに対してパラメータとして情報uidを付加する例を示す。図33に例示されるように、URLにおけるファイル名(この例では「idresist.html」)に続けてユーザIDを示すパラメータ「?<uid>」を記述する。パラメータが複数存在する場合は、例えば記号「&」を用いて各パラメータを結合して記述する。検索端末30は、このURIに従い事業者サーバ400にアクセスすることで、事業者サーバ400に各パラメータを含めてURIを送信することができる。
ここで、画像検索システム10は、上述したプッシュ通知設定画面90で設定され連携情報DB15に登録された情報に基づき、選択された対象領域がプッシュ通知を行うように設定されている場合、通知ID、プッシュID、メッセージなどを通知サーバ410に送信することができる。
検索端末30は、画像検索システム10から連携情報および各IDを受信すると、画像検索アプリ301’により、連携情報に基づくリンク情報を指定するための閲覧画面を表示し、閲覧画面に応じたユーザ操作による入力を待機する(ステップS23)。ここで、リンク情報は、事業者サーバ400内のURLを示しているものとする。画像検索アプリ301’は、閲覧画面に応じたユーザ操作によりユーザ操作によりリンク情報が指定されると、指定されたリンク情報に基づき事業者サーバ400のリンク先にアクセスする(ステップS24)。ここで指定されるリンク情報は、各IDが付加されたURLである。ここでは、上述した画面80aのような、特設画面に対応するリンク情報が指定されたものとする。
事業者サーバ400は、提示部4101により、特設画面を表示させる表示情報を検索端末30に送信する(ステップS26)。検索端末30は、画像検索アプリ301’により、事業者サーバ400から送信された表示情報に従い特設画面を表示し、表示した特設画面に応じた入力を待機する(ステップS28)。
なお、画像検索システム10は、ステップS21で、撮像画像に基づき単一の対象領域が検索される場合(連携情報に基づくリンク情報が1つのみの場合)、図中にステップS27で示されるように、連携情報を、事業者サーバ400を介して直接的に検索端末30に送信することができる。すなわち、ユーザ操作による指定操作を行うこと無く、リンク情報に基づき特設画面にアクセスすることができる。この場合、当該連携情報は、特設画面を表示させるURLが予め設定されているものとする。端末装置30は、画像検索アプリ301’により、受信した連携情報に基づき特設画面を表示する。
検索端末30において、画像検索アプリ301’は、特設画面に応じたユーザ操作によりリンク情報が指定されると、指定されたリンク情報(URL)と、各IDとを事業者サーバ400に送信する(ステップS30)。ここでは、リンク情報は、上述した画面82のような、複数の項目から1を選択するための選択入力部を含む入力画面を表示させる、事業者サーバ400内のWebサイトのURLであるものとする。
事業者サーバ400において、提示部4101は、当該Webサイトによる入力画面の表示情報を、検索端末30から送信された各IDと共に検索端末30に送信する(ステップS31)。検索端末30は、画像検索アプリ301’により、事業者サーバ400から送信された表示情報に従い入力画面を表示し、表示した入力画面に応じた入力を待機する(ステップS32)。
なお、事業者による特設画面の設定によっては、ステップS30〜ステップS32の処理を省略することが可能である。
検索端末30において、画像検索アプリ301’は、入力画面に対する入力操作に応じて、入力結果と各IDとを事業者サーバ400に送信する(ステップS33)。入力結果は、例えば、ステップS32により表示される入力画面が上述した選択入力部を含む場合、選択入力部に応じた操作により選択された項目を示す情報を含む。
事業者サーバ400は、通知管理部4102により、検索端末30から送信された各IDに含まれるモジュールID312に関連付けられるプッシュIDと、当該各IDに含まれる通知ID321と、プッシュ通知により通知するためのメッセージとを通知サーバ410に送信し、通知サーバ410に対してプッシュ通知による通知を依頼する(ステップS34)。なお、事業者サーバ400は、ステップS34の処理に先立って、メッセージをプッシュIDと関連付けて通知サーバ410に送信しておいてもよい。
通知サーバ410は、事業者サーバ400からの依頼に応じて、検索端末30に対してプッシュ通知により通知を送信する(ステップS35)。この通知は、例えば、コンテンツWebサイト51aのURLと、コンテンツWebサイト51aへのアクセスを促すメッセージとを含むものとする。検索端末30は、画像検索アプリ301’により、プッシュ通知による通知に応じた操作に従い、コンテンツWebサイト51aに対してコンテンツを要求する(ステップS36)。コンテンツWebサイト51aは、この要求に従い、検索端末30にコンテンツを送信する(ステップS37)。検索端末30は、コンテンツWebサイト51aから送信されたコンテンツを受信し、例えば受信されたコンテンツに応じた表示を行う。
事業者サーバ400は、例えばステップS34およびステップS35でプッシュ通知による通知を送信した検索端末30に対して、当該通知の後に、任意のタイミングでさらにプッシュ通知による通知を送信することができる。例えば、事業者サーバ400は、通知管理部4102により、通知ID321、プッシュIDおよびメッセージを含む通知指示を生成する(ステップS40)。通知管理部4102は、生成した通知指示を通知サーバ410に送信し、通知サーバ410に対してプッシュ通知による通知を依頼する(ステップS41)。
通知サーバ410は、この依頼に応じて、通知指示に含まれる通知ID321、プッシュIDおよびメッセージに従い、検索端末30に対してプッシュ通知による通知を送信する(ステップS42)。
このように、実施形態によれば、特定の被写体31を撮像した撮像画像に基づき画像検索を要求した検索端末30に対して、プッシュ通知による通知を送信することができる。そのため、事業者は、特定の被写体31に基づき連携情報を利用した検索端末30に対して、当該連携情報の利用後に追加して情報を提供することが可能となる。
なお、上述の実施形態は、本発明の好適な実施の例ではあるがこれに限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変形による実施が可能である。