(57)【要約】【課題】ユーザが膨大な量の購読配信ノードから探索を行う手間を低減する。【解決手段】情報配信装置であって、クライアント装置から情報配信の要求を受信する要求受信部と、要求に対応する情報を配信する情報配信ノードが配信リストに存在するか否かを判定する判定部と、判定部により配信リストに存在しないと判定された場合、要求に対応する情報を配信する情報配信ノードを生成する配信機能管理部と、配信機能管理部により生成された情報配信ノードを配信リストに追加する配信リスト管理部とを備える。【選択図】  図５
2014228964.tif 000002
【特許請求の範囲】
【請求項１】
情報配信装置であって、
クライアント装置から情報配信の要求を受信する要求受信手段と、
前記要求に対応する情報を配信する情報配信ノードが配信リストに存在するか否かを判定する判定手段と、
前記判定手段により前記配信リストに存在しないと判定された場合、前記要求に対応する情報を配信する情報配信ノードを生成する配信機能管理手段と、
前記配信機能管理手段により生成された前記情報配信ノードを前記配信リストに追加する配信リスト管理手段と、
を備えることを特徴とする情報配信装置。
【請求項２】
前記配信機能管理手段は、前記判定手段により前記配信リストに存在すると判定された場合、前記要求に対応する情報配信ノードの配信先として前記クライアント装置を登録することを特徴とする請求項１に記載の情報配信装置。
【請求項３】
前記配信機能管理手段により前記配信先として前記クライアント装置が登録された場合、前記情報配信の要求が受け付けられたことをクライアント装置へ通知する受付通知手段をさらに備えることを特徴とする請求項２に記載の情報配信装置。
【請求項４】
前記配信機能管理手段は、前記要求受信手段が前記クライアント装置から情報配信の削除要求を受信した場合、前記削除要求に対応する情報配信ノードの配信先から前記クライアント装置を削除することを特徴とする請求項１乃至３の何れか１項に記載の情報配信装置。
【請求項５】
前記配信リスト管理手段は、前記配信先から前記クライアント装置が削除された場合、前記削除要求に対応する情報配信ノードのリファレンス数を減算することを特徴とする請求項４に記載の情報配信装置。
【請求項６】
前記配信機能管理手段は、前記リファレンス数が０になった場合、前記対応する情報配信ノード自体を削除することを特徴とする請求項５に記載の情報配信装置。
【請求項７】
前記配信機能管理手段により前記配信先から前記クライアント装置が削除された場合、前記情報配信の削除要求が受け付けられたことを前記クライアント装置へ通知する削除通知手段をさらに備えることを特徴とする請求項４乃至６の何れか１項に記載の情報配信装置。
【請求項８】
前記情報配信の内容は、メッセージ、画像、動画、音声またはプログラムの何れかを含むことを特徴とする請求項１乃至７の何れか１項に記載の情報配信装置。
【請求項９】
クライアント装置と、情報配信装置とを備える情報配信システムであって、
前記クライアント装置は、
前記情報配信装置へ情報配信の要求を送信する要求送信手段を備え、
前記情報配信装置は、
前記クライアント装置から前記情報配信の要求を受信する要求受信手段と、
前記要求に対応する情報を配信する情報配信ノードが配信リストに存在するか否かを判定する判定手段と、
前記判定手段により前記配信リストに存在しないと判定された場合、前記要求に対応する情報を配信する情報配信ノードを生成する配信機能管理手段と、
前記配信機能管理手段により生成された前記情報配信ノードを前記配信リストに追加する配信リスト管理手段と、
を備えることを特徴とする情報配信システム。
【請求項１０】
要求受信手段と、判定手段と、配信機能管理手段と、配信リスト管理手段とを備える情報配信装置の制御方法であって、
前記要求受信手段が、クライアント装置から情報配信の要求を受信する工程と、
前記判定手段が、前記要求に対応する情報を配信する情報配信ノードが配信リストに存在するか否かを判定する工程と、
前記配信機能管理手段が、前記配信リストに存在しないと判定された場合、前記要求に対応する情報を配信する情報配信ノードを生成する工程と、
前記配信リスト管理手段が、前記生成された前記情報配信ノードを前記配信リストに追加する工程と、
を有することを特徴とする情報配信装置の制御方法。
【請求項１１】
請求項１０に記載の情報配信装置の制御方法の各工程をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報配信装置、情報配信装置の制御方法、情報配信システム及びプログラムに関する。
【背景技術】
【０００２】
ウェブページなどから、キーワードによる文章検索や画像検索を行う技術として、ウェブの検索エンジンが知られている。また、ブログなどで利用される技術の一つとして、予め購読予約を行っておけば、ブログの更新を通知する技術としてＲＳＳ（RDF site summaryまたはreally simple syndication）がある。
【０００３】
従来、特定の情報が欲しいクライアントは、自分が必要とする情報を配信する購読配信ノードを探し、購読の依頼をする必要がある。その際クライアントは、ウェブ上の膨大な量の購読配信ノードから必要な情報を配信する購読配信ノードを選択しなければならない。また、それぞれの購読配信ノードによって配信される情報は予め決まっているため、クライアントが欲しい情報を配信する購読配信ノードが存在しないということもある。
【０００４】
特許文献１では、ルータがコンテンツの購読予約を受け付け、それに対応するフィルタを保存する。ルータはパケットを受け取ると、パケットのペイロードを検査し、購読予約のフィルタにマッチするか否か確認する。フィルタにマッチする場合（購読予約されている場合）、次のリンクのルータに送信するという技術が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開2010-148118号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１に記載の技術では、クライアントが膨大な量の購読配信ノードから必要な情報を配信する購読配信ノードを探索し選択しなければならない。そのため、ユーザは購読配信ノードを探すのに、非常に手間がかかっていた。さらに、求める情報がマイナーな情報であった場合、購読配信ノードを発見することが更に難しくなり、購読配信の登録を行うことが非常に困難である。
【０００７】
さらに、情報を配信する側が多数のノードを予め用意する必要がある。こうしたノードは情報の購読配信の登録がない時でも動作していなければならないため、サーバに処理負荷がかかってしまう。
【０００８】
上記の課題に鑑み、本発明は、ユーザが膨大な量の購読配信ノードから探索を行う手間を低減することを目的とする。
【課題を解決するための手段】
【０００９】
上記の目的を達成する本発明に係る情報配信装置は、
情報配信装置であって、
クライアント装置から情報配信の要求を受信する要求受信手段と、
前記要求に対応する情報を配信する情報配信ノードが配信リストに存在するか否かを判定する判定手段と、
前記判定手段により前記配信リストに存在しないと判定された場合、前記要求に対応する情報を配信する情報配信ノードを生成する配信機能管理手段と、
前記配信機能管理手段により生成された前記情報配信ノードを前記配信リストに追加する配信リスト管理手段と、
を備えることを特徴とする。
【発明の効果】
【００１０】
本発明によれば、ユーザが膨大な量の購読配信ノードから探索を行う手間を低減することができる。
【図面の簡単な説明】
【００１１】
【図１】第１実施形態に係る情報配信システムの構成例を示す図。
【図２】第１実施形態に係るスマートフォン１０１のモジュール構成図。
【図３】第１実施形態に係る情報配信装置１０６のモジュール構成図。
【図４】第１実施形態に係る情報配信クライアント装置１０５のモジュール構成図。
【図５】第１実施形態に係る情報配信装置１０６が情報配信の要求を受け付けた際の処理の手順を示すフローチャート。
【図６】第１実施形態に係る情報配信装置１０６が情報配信の削除要求を受信した際の処理を示すフローチャート。
【図７】第１実施形態に係る情報配信システムで実施される処理のシーケンス図。
【図８】第１及び第２実施形態に係る情報配信装置１０６が、自身が管理する情報配信ノード１０９の種別や設定状態などを管理するための情報配信リストを示す図。
【図９】第２実施形態に係る情報配信システムの構成例を示す図である。
【図１０】第２実施形態に係る情報配信ノード１０９のモジュール構成図である。
【図１１】第１及び第２実施形態に係るデバイス群（スマートフォン１０１またはカメラ１０２）のユーザインターフェースを示す図。
【図１２】第２実施形態に係る情報配信システムで実施される処理のシーケンス図。
【図１３】第２実施形態に係る情報配信ノード１０９ｂの削除の処理を示すシーケンス図。
【発明を実施するための形態】
【００１２】
以下、添付の図面を参照して、本発明の実施形態について説明する。
【００１３】
（第１実施形態）
図１は、第１実施形態に係る情報配信システムの構成例を示す図である。１００は、ネットワークである。本実施形態におけるネットワーク１００は、インターネット、WAN (Wide Area Network)、LAN (Local Area Network)などの複合であっても実現できる。
【００１４】
１０１は、ネットワーク１００に接続し、情報配信クライアント装置１０５ａと通信を行うスマートフォンである。１０２は、ネットワーク１００に接続し、情報配信クライアント装置１０５ａと通信を行うカメラである。１０３は、ネットワーク１００に接続し、情報配信クライアント装置１０５ｂと通信を行うカメラである。１０４は、ネットワーク１００に接続し、情報配信クライアント装置１０５ｂと通信を行うプリンタである。スマートフォン１０１〜プリンタ１０４は、それぞれ、情報配信クライアント装置１０５ａ、１０５ｂから配信された情報を受信し、表示や処理を行う。
【００１５】
１０５は、情報配信装置１０６に情報配信の登録要求および削除要求を行い、情報配信装置１０６から、情報配信された情報を受信する情報配信クライアント装置である。その後、情報配信クライアント装置は、各ユーザに１つ存在し且つそれぞれのユーザに関連するデバイスに対して通知を行う。たとえばユーザＡの情報配信クライアントは情報配信クライアント装置１０５ａであって、この情報配信クライアント装置１０５ａはユーザＡの持ち物であるスマートフォン１０１とカメラ１０２を管理する。そして、ユーザＢの情報配信クライアントは情報配信クライアント装置１０５ｂであって、この情報配信クライアント装置１０５ｂはユーザＢの持ち物であるカメラ１０３とプリンタ１０４を管理する。本実施形態では、ユーザおよびデバイス群の関係性は、データ格納装置１０７で管理する。
【００１６】
ここで情報配信クライアント装置１０５ａと、スマートフォン１０１（カメラ１０２）とは、同じ装置内に存在しても良い。一人のユーザに一つのデバイスしかない場合などの例である。また、本実施形態ではユーザ毎に情報配信クライアント装置１０５を配置したが、これに限らず、ユーザをまとめたグループ毎に情報配信クライアント装置１０５を配置しても良い。それぞれのユーザが一つのデバイス（例えば、スマートフォン１０１）を持っていてもよい。また、情報配信クライアント装置１０５は、グループ用の情報配信クライアント装置とユーザ用の情報配信クライアント装置といったように階層化しても実現できる。
【００１７】
なお本実施形態では、情報配信クライアント装置１０５ａと情報配信装置１０６とは別の装置として記載しているが、これに限らず、同一の装置内に共存しても実施できる。
【００１８】
１０６は、登録要求および削除要求に応じて、情報配信ノード１０９を生成・削除する情報配信装置である。１０７は、ユーザ、デバイス、コンテンツの情報を格納するデータ格納装置である。データ格納装置１０７は、ユーザ、デバイス、コンテンツの情報のそのものを格納しても良いし、URLなどのリンクや属性情報のみを格納し実データは別のサーバに格納しても良い。
【００１９】
１０８は、XMPP（eXtensive Message and Presence Protocol）のサーバ機能を持つXMPPサーバである。情報配信ノード１０９は、XMPPサーバ１０８を介して、情報配信クライアント装置１０５に情報を配信する。
【００２０】
１０９は、指定された情報を一定時間毎に探索して配信を行う情報配信ノードである。情報配信ノード１０９は情報配信装置１０６と同じ装置内としてもよく、ネットワークを介して別の装置上に存在しても良いし、クラウドなどの分散処理環境上に論理的に存在しても良い。
【００２１】
図２は、スマートフォン１０１のモジュール構成図である。スマートフォン１０１は、登録要求部２０１と、削除要求部２０２と、配信情報受信部２０３と、TCP/IP処理部２０４と、撮影部２０５と、情報送信部２０６とを備えており、不図示のCPUを備えた制御部によって動作する。
【００２２】
バス２００は、各モジュールを接続する。登録要求部２０１は、情報配信クライアント装置１０５ａに必要な情報の配信の登録を行う。情報のキーワードや、類似情報を登録することができる。例えば、画像であれば画像のメタデータに含まれる付帯情報や、指定した画像に似ている画像（例えば、色、形、意味的な類似）の配信の登録である。以上に示したように、情報とは、文字、画像、音声、プログラムなど、形式を限るものではない。
【００２３】
削除要求部２０２は、情報配信クライアント装置１０５ａに情報の配信の削除を行う。配信情報受信部２０３は、情報配信クライアント装置１０５ａから配信された情報を受信する。本実施形態では、配信情報受信部２０３は、XMPPサーバ１０８を介して、配信を受け付ける。これに限らず、配信情報受信部２０３は、RSSやWeb Socketなどの既存技術を利用して情報配信クライアント装置１０５ａから直接配信を受け付けても良い。
【００２４】
TCP/IP処理部２０４は、ネットワーク関連のプロトコル処理を行う。撮影部２０５は、画像を撮影する。撮影部２０５は、撮影した画像へのメタデータや付帯情報を含んだ画像を保存してもよい。
【００２５】
情報送信部２０６は、情報（文字、画像、音声、プログラム）を情報配信クライアント装置１０５ａに送信する。この時、情報送信部２０６は、他のユーザや他のデバイスに対して公開するか否かの設定を含んだ情報を送信することができる。本実施形態では、撮影部２０５で撮影した画像を、情報送信部２０６が情報配信クライアント装置１０５に送信する。なお、カメラ１０２、カメラ１０３についても同様の構成で実現できる。また、プリンタ１０４は、撮影部が存在せず、印刷部が存在する以外は同様の構成で実現できる。プリンタ１０４はスキャナを有する複合機としてもよい。
【００２６】
図３は、情報配信装置１０６のモジュール構成図である。情報配信装置１０６は、情報配信リスト管理部３０１と、情報配信機能管理部３０２と、情報配信部３０３と、情報配信要求受信部３０４と、情報配信受付通知部３０５と、TCP/IP処理部３０６と、データ管理部３０７と、データ監視部３０８とを備えている。
【００２７】
バス３００は、各モジュールを接続する。情報配信リスト管理部３０１は、情報配信リストを管理する。ここで図８は、情報配信装置１０６が、自身が管理する情報配信ノード１０９の種別や設定状態などを管理するための情報配信リストである。
【００２８】
１番目は「青い写真」を送信する情報配信ノードである。青というキーワードに類似した画像を検索し、類似していれば、情報配信が行われる。「類似」とは、青に近い色のタグ、青のイメージに近いキーワード（例えば、海、空など）を利用してもよい。この時、既存技術であるシソーラスなどを用いても良い。リファレンス数が４であるので、この情報配信を登録しているユーザは４人いる。
【００２９】
２番目は「東京タワーの近くの写真」を送信する情報配信ノード１０９である。画像に含まれているＧＰＳデータの緯度経度が、キーワードに含まれた緯度経度の誤差範囲に「完全一致」していれば、情報の配信が行われる。リファレンス数が１０であるので、この情報配信を登録しているユーザは１０人いる。
【００３０】
３番目は、「似ている写真」を送信する情報配信ノード１０９である。キーワードとして、特定の画像のURLが記載されている。情報配信ノード１０９が指定された画像と画像マッチングを行い、類似であると判断すると、配信を行う。類似か否かの判定方法は、色による類似、形による類似、画像の意味を解釈した上での意味的な類似などがある。以上のような類似画像の検索方法については、既存の技術を用いる。リファレンス数が１であるので、この情報配信を登録しているユーザは１人いる。
【００３１】
４番目は「富士山の写真」を送信する情報配信ノード１０９である。富士山というキーワードに完全一致する画像または富士山というキーワードが含まれる画像を検索し、少なくとも「部分一致」していれば、情報の配信が行われる。リファレンス数が１０００であるので、この情報配信を登録しているユーザは１０００人いる。
【００３２】
このように様々な情報配信ノード１０９の設定を行うことができる。本実施形態では、画像について詳しく説明したが、これに限らず、検索の方法・類似判定の方法などを変えることにより、文字、音声、プログラムなどでも利用できる。
【００３３】
図３に戻る。情報配信リスト管理部３０１は、情報配信リストを情報配信装置１０６内に保存しても良いし、データ格納装置１０７に格納しても良い。
【００３４】
情報配信機能管理部３０２は、情報配信ノード１０９の生成・削除を行う。本実施形態では、情報配信装置１０６内に情報配信ノード１０９が複数生成されるものとする。これに限らず、情報配信ノード１０９はネットワーク接続され、各配信ノードが別々の機器で構成されていても実現できる。また、情報配信装置１０６は、クラウドや分散環境上に、情報配信ノードを生成しても良い。
【００３５】
情報配信部３０３は、XMPPサーバ１０８を介して、情報配信クライアントに情報を配信する。情報配信要求受信部３０４は、情報配信クライアント装置１０５から情報配信の登録要求および削除要求を受け付ける。情報配信受付通知部３０５は、情報配信を受け付けたことを示すメッセージを、情報配信クライアント装置１０５に通知する。
【００３６】
TCP/IP処理部３０６は、プロトコル処理を行う。データ管理部３０７は、データ格納装置１０７へデータの書き込み・呼び出しを行う。データ監視部３０８は、データ格納装置１０７内で情報配信に対応する情報（文字、画像、音声、プログラム）があるかを監視する。情報配信ノード１０９が情報配信装置１０６内にある場合、図３のように情報配信部３０３が情報配信装置１０６の内部に存在することになる。情報配信ノード１０９が、ネットワーク上の別の装置に存在する場合、情報配信部３０３およびデータ監視部３０８が他の装置に存在することになる。
【００３７】
図４は、情報配信クライアント装置１０５のモジュール構成図である。情報配信クライアント装置１０５は、登録要求部４０１と、削除要求部４０２と、受信部４０３と、発信部４０４と、情報保存部４０５と、TCP/IP処理部４０６とを備えており、不図示のCPUを備えた制御部によって動作する。
【００３８】
バス４００は、各モジュールを接続する。登録要求部４０１は、情報配信の登録を行うように情報配信装置１０６に要求送信を行う。削除要求部４０２は、情報配信の停止を情報配信装置１０６に要求する。受信部４０３は、情報配信装置１０６から送信された（情報配信ノード１０９から送信された）情報をXMPPサーバ１０８を介して受信する。また、スマートフォン１０１およびカメラ１０２といった自分の保持するデバイスが生成した情報（メッセージ、文字、画像、音声、動画、プログラム）を受信する機能も併せ持つ。
【００３９】
発信部４０４は、スマートフォン１０１およびカメラ１０２といった自分の保持するデバイスが生成した情報（文字、画像、動画、音声、プログラム等）を情報配信装置１０６に送信する。送信時には、生成した情報を公開してよいかの判断を行い、情報に含めて送信する。また、情報配信装置１０６から送信された情報をスマートフォン１０１およびカメラ１０２といった自分の保持するデバイスに送信する機能も併せ持つ。情報保存部４０５は、受信部４０３で受信した情報を保存する。TCP/IP処理部４０６は、各種プロトコル処理を行う。
【００４０】
図３を参照して説明した情報配信装置１０６においては、情報配信要求受信部３０４が情報配信リストの取得要求を情報配信クライアント装置１０５から受け付けると、情報配信リスト管理部３０１から情報配信リスト（図８参照）を取得し、リストの全部乃至一部を情報配信クライアント装置１０５に送信する。本実施形態では、情報配信装置１０６と情報配信クライアント装置１０５は、ネットワーク１００を介して接続しているが、これに限らずXMPPサーバ１０８を介した通信を行っても実現できる。本実施形態では、情報配信装置１０６は情報配信クライアント装置１０５からリストの要求を受け付けているが、これに限らず各デバイス（スマートフォン１０１、カメラ１０２など）から直接受け付けても良いし、リスト表示のために他のブラウザ等からのリストの要求を受け付けても良い。
【００４１】
図５は、情報配信装置１０６が情報配信の要求を受け付けた際の処理の手順を示すフローチャートである。
【００４２】
Ｓ６０１において、情報配信要求受信部３０４は、情報配信クライアント装置１０５から送信された情報配信の登録の受け付けを行い、Ｓ６０２に進む。Ｓ６０２において、情報配信リスト管理部３０１は、情報配信リストに、情報配信クライアント装置１０５が指定したエントリがあるか否かを判定する。情報配信リストにエントリがあると判定された場合（Ｓ６０２；ＹＥＳ）、Ｓ６０３へ進む。一方、情報配信リストにエントリがないと判定された場合（Ｓ６０２；ＮＯ）、Ｓ６０６へ進む。
【００４３】
Ｓ６０３において、情報配信機能管理部３０２は、情報配信クライアント装置１０５を配信先として情報配信部（情報配信ノード）に登録し、Ｓ６０４へ進む。Ｓ６０４において、情報配信リスト管理部３０１は、情報配信リストのエントリのリファレンス数を増加させ、Ｓ６０５に進む。
【００４４】
Ｓ６０５において、情報配信受付通知部３０５は、情報配信の要求を受け付けたことを示す要求受付完了の通知を情報配信クライアント装置１０５に送信し、処理を終了する。
【００４５】
これに対して、Ｓ６０６においては、情報配信機能管理部３０２は、情報配信部（情報配信ノード）のリソース（配信のためのＣＰＵパワー、メモリ、ＨＤＤなど）を確保し、情報配信ノードを生成する。このリソースは、情報配信装置１０６内又は外において確保する。また、配信するための配信用の情報配信クライアント装置１０５ａのアドレスをメモリに、情報配信装置１０６内に保持する。このアドレスは、例えば、ＸＭＰＰのアドレスであるが、ＵＲＬでもよい。その後、Ｓ６０７に進む。
【００４６】
Ｓ６０７において、情報配信部３０３（情報配信ノード）は、XMPPサーバ１０８にpubsubノード（購読配信機能）を登録し、情報配信ノードとメッセージプロトコルとを関連付けて、Ｓ６０８に進む。なお、ここではXMPPによる購読配信機能の実施形態を説明するが、これに限らずRSSによる購読配信機能や、REST/WebSocketなどのウェブサービスの技術を用いても実現できる。
【００４７】
Ｓ６０８において、情報配信リスト管理部３０１は、情報配信リストにエントリを追加し、Ｓ６０３に戻る。その後の処理は上述したとおりである。
【００４８】
図６は、情報配信装置１０６が、情報配信クライアント装置１０５から情報配信の削除要求を受信した際の処理を示すフローチャートである。
【００４９】
Ｓ７０１において、情報配信要求受信部３０４は、情報配信クライアント装置１０５から情報配信の削除要求を受信し、Ｓ７０２に進む。Ｓ７０２において、情報配信機能管理部３０２は、情報配信リスト管理部３０１が保持する情報配信リストを参照し、情報配信部３０３（情報配信ノード）から、情報配信クライアント装置１０５への配信登録を削除し、Ｓ７０３に進む。
【００５０】
Ｓ７０３において、情報配信機能管理部３０２は、情報配信リスト管理部３０１が保持する情報配信リストの対応するエントリのリファレンス数を減らし、Ｓ７０４に進む。Ｓ７０４において、情報配信リスト管理部３０１は、情報配信リストのリファレンス数が０になったか否かを判定する。情報配信リスト管理部３０１が、リファレンス数が０であると判定した場合（Ｓ７０４；ＹＥＳ）、Ｓ７０６に進む。一方、情報配信リスト管理部３０１が、リファレンス数が０でないと判定した場合（Ｓ７０４；ＮＯ）、Ｓ７０５に進む。Ｓ７０５において、情報配信受付通知部３０５は、情報配信クライアント装置１０５に情報配信の登録の削除が完了したことを通知し、処理を終了する（削除通知）。
【００５１】
これに対して、Ｓ７０６において、情報配信機能管理部３０２は、不要な情報配信ノード自体を削除する。たとえば情報配信部３０３（情報配信ノード）から、利用しなくなった情報配信に関するリソースを削除（解放）する。その後、Ｓ７０７に進む。
【００５２】
Ｓ７０７において、情報配信部３０３（情報配信ノード）は、XMPPサーバ１０８のpubsubノードを削除し、メッセージプロトコルの関連付け設定を削除して、Ｓ７０８に進む。本実施形態では、XMPPを用いていたが、RSSなどを利用した場合、ウェブサーバのURLへのアクセス設定などを削除することになる。
【００５３】
Ｓ７０８において、情報配信機能管理部３０２は、情報配信リスト管理部３０１が保持する情報配信リストから該当するエントリを削除し、Ｓ７０５に戻る。その後の処理は、上述したとおりである。
【００５４】
図７は、第１実施形態に係る情報配信システムで実施される処理のシーケンス図である。Ｍ８０１において、スマートフォン１０１は、情報配信クライアント装置１０５ａに情報配信要求を送信する。この情報配信要求には、キーワード（キー画像、キー音声）、検索方法（類似、完全一致、部分一致）、配信を希望する情報の種別（文字、画像、音声、プログラム）などが含まれる。本実施形態では、画像に特化した例を説明する。これに限らず、文字、音声、プログラムなど別の配信対象であっても実現できる。
【００５５】
Ｍ８０２において、情報配信クライアント装置１０５ａは情報配信要求を受け取ると、情報配信要求の内容に応じて、複数ある情報配信装置１０６から１つを選択し、情報配信要求を送信する（Ｓ６０１）。本実施形態では情報配信装置１０６は、便宜上１つで説明しているが、これに限らず、文字配信機能や画像配信機能といった機能毎に情報配信装置１０６があってもよい。情報配信クライアント装置１０５ａは、デバイス群（スマートフォン１０１、カメラ１０２）からの情報配信要求に応じて、情報配信要求を情報配信装置１０６に送信しているが、これに限るものではない。例えば、情報配信クライアント装置１０５ａが、レコメンドなどの機能を利用して、ユーザＡにお勧めの画像などを検出し、それを配信する情報配信ノードに対して自動的に登録を行ってもよい。
【００５６】
Ｍ８０３において、情報配信装置１０６は、データ格納装置１０７から情報配信リストを取得する。情報配信装置１０６は、情報配信リストに要求された情報配信ノード１０９があるかの判断を行う（Ｓ６０２）。
【００５７】
Ｍ８０４において、情報配信装置１０６は、情報配信リストに要求された情報配信ノード１０９があると判断すると、対応する情報配信ノード１０９に情報配信クライアント装置１０５ａを登録する（Ｓ６０３）。また、情報配信装置１０６は、情報配信リストに要求された情報配信ノード１０９がないと判断すると、情報配信ノード１０９を新たに生成する（Ｓ６０６）。ここでは、以後、対応する情報配信ノード１０９がなかった場合の例について説明する。
【００５８】
Ｍ８０５において、情報配信ノード１０９は、XMPPサーバ１０８にpubsub（購読配信）ノードの作成処理を行う（Ｓ６０７）。本実施形態では、XMPPを利用したが、RSSを利用する場合、RSSのURLとの関連付けを行う。このように別の購読配信を処理できるメッセージプロトコルを用いても実現できる。
【００５９】
Ｍ８０６において、情報配信ノード１０９は、購読配信の準備が終わったことを知らせるメッセージを情報配信装置１０６へ送信する。Ｍ８０７において、情報配信装置１０６は、データ格納装置１０７に対して当該データ格納装置１０７に含まれる情報配信リストへのエントリ追加を行う（Ｓ６０８）。本実施形態では情報配信装置１０６がエントリ追加を行うが、これに限らず、情報配信ノード１０９がエントリ追加を行ってもよい。
【００６０】
Ｍ８０８において、情報配信クライアント装置１０５ａに情報配信の要求受付完了を通知する（Ｓ６０５）。Ｍ８０９において、情報配信クライアント装置１０５ａは、情報配信の要求受付完了の通知に含まれているXMPPサーバ１０８のpubsubノードに対して、登録を行う。これ以後、XMPPサーバ１０８が情報配信ノード１０９から送信された情報を配信できるようになる。
【００６１】
Ｍ８１０において、情報配信クライアント装置１０５ａは、情報配信の要求受付が完了したことをカメラ１０２に送信する。Ｍ８１１において、情報配信クライアント装置１０５ａは、情報配信の要求受付が完了したことをスマートフォン１０１に送信する。なお、情報配信クライアント装置１０５ａはユーザＡのデバイス群（スマートフォン１０１とカメラ１０２）を管理しているため、ユーザＡの利便性やデバイス間の整合性のために完了通知を両方に送っている。これに限らず、完了通知を送らずに、デバイス群側（スマートフォン１０１とカメラ１０２）から定期的に情報配信クライアント装置１０５ａに問い合わせを行っても良い。
【００６２】
Ｍ８１２において、情報配信ノード１０９は、データ格納装置１０７に格納された情報から情報配信の要求に含まれた方法で検索を行う。情報配信ノード１０９は、定期的にデータ格納装置１０７の情報をポーリングする。
【００６３】
Ｍ８１３において、情報配信ノード１０９は、データ格納装置１０７から検索された結果の情報（文字、画像、音声、プログラム）を取得する。本実施形態では、情報配信ノード１０９が定期的に検索を行うが、これに限らず、データ格納装置１０７が新しい情報があることを情報配信ノード１０９に通知しても良い。また、情報配信ノード１０９は、データ格納装置１０７以外の情報格納場所（例えば、ウェブページ、分散処理サーバ）から検索して取得しても良い。
【００６４】
Ｍ８１４において、情報配信ノード１０９は、情報配信クライアント装置１０５ａに情報を送信するために、XMPPサーバ１０８へ指示を送信する。XMPPのpubsub機能を利用しない場合、RSSの配信サーバなどで配信してもよい。
【００６５】
Ｍ８１５において、XMPPサーバ１０８は、pubsub機能を利用して、情報配信クライアント装置１０５ａに情報を送信する。本実施形態では、情報配信クライアント装置１０５ａのみに送信しているが、例えば、情報配信クライアント装置１０５ｂが登録していれば、こちらにも送信される（図１２を参照して後述）。
【００６６】
情報配信クライアント装置１０５ａは、ユーザＡの保持するデバイス群（スマートフォン１０１、カメラ１０２）の機能をチェックする。例えば、情報配信クライアント装置１０５ａは、画像を含む情報を受信すると、画像を表示できるデバイス（ここでは、スマートフォン１０１、カメラ１０２両方であるが、プリンタをユーザＡが保持している場合送信されない）のみに送信する。このように情報配信クライアント装置１０５ａが、デバイスにとって不必要な情報をフィルタリングすることで、デバイス群側の処理を低減させる。
【００６７】
Ｍ８１６において、情報配信クライアント装置１０５ａは、配信された情報を含むメッセージをカメラ１０２へ送信する。Ｍ８１７において、情報配信クライアント装置１０５ａは、配信された情報を含むメッセージをスマートフォン１０１へ送信する。
【００６８】
ここで図１１は、デバイス群（スマートフォン１０１またはカメラ１０２）のユーザインターフェースを示す図である。図１１（ａ）中の１２０１ａは、タグによる情報配信を登録するための画面である。１２０２、１２０３、１２０４は、それぞれタグを表しており、ここでは「富士山」が選択されている。この例では、タグの部分一致だけのユーザインターフェースであるが、検索方法の選択ボックスを設けることで、検索方法を「類似」、「完全一致」、「部分一致」などに変更することができる。タグは、ユーザまたは他のシステムが入力することにより、タグを追加することが可能である。ユーザが入力する場合、タグ名に好きなタグの名前を入れると新たにタグが選択できるようになる。例えば、ユーザが新たに「空」というタグを追加すると、富士山、花、動物のタグの下に新たに空のタグが生成される。このタグは、実施形態では一つだけ選択されているが、零を含む複数個を選択することも可能である。このタグを選択した状態でユーザがＯＫボタンを押すと、「富士山」についての情報配信の登録が行われる。また、ユーザがタグを選択状態から非選択状態（１２０２の富士山を再度選択し、チェックボックスの選択を解除した状態）にした後、ＯＫボタンを押すと、「富士山」についての情報配信の削除が行われる。
【００６９】
図１１（ｂ）中の１２０２ｂは、画像による情報配信を登録するための画面である。１２０５、１２０６、１２０７、１２０８が画像である。ユーザは、１２０７と１２０８の画像を選択している。この例では、１２０７および１２０８の類似画像の情報配信が登録される。なお、類似画像の選び方（色による類似なのか、形による類似なのか、意味的な類似なのか）の選択ボックスを設けることで、情報配信のためのアルゴリズムを選択することも可能である。また、色の類似による情報配信を行う場合には、色を選択するユーザインターフェースを用意しても良い。選択状態および非選択状態での処理は前述と同様のため省略する。
【００７０】
本実施形態では、文字による情報配信の登録と画像による情報配信の登録について詳しく述べたが、これに限らず、緯度経度のような付帯情報による情報配信の登録を行うこともできる。
【００７１】
本実施形態では、スマートフォン１０１が情報配信クライアント装置１０５ａを通じて、情報配信の登録を行っている。これに限らず、情報配信クライアント装置１０５ａが、スマートフォン１０１やカメラ１０２が撮影した画像を解析して、ユーザＡの趣味趣向を分析した後、情報配信装置１０６に趣味趣向にあった情報配信の登録を行うことができる。趣味趣向の分析については、画像であれば類似画像の技術や傾向分析の技術などの既存技術を用いて実現できる。文字の場合、スマートフォン１０１やカメラ１０２で入力した文字の解析（インスタントメッセージやメールの解析、検索キーワード）により、ユーザＡの趣味趣向を分析した後、情報配信装置１０６に趣味趣向にあった情報配信の登録を行うこともできる。
【００７２】
本実施形態によれば、クライアントの要求に応じて、情報配信ノードを構成することが可能となり、ユーザに対するきめ細やかなサービスを提供することができるようになり、ユーザビリティが向上する。さらに、情報配信ノードを生成・削除を動的に行うことで、予めユーザの興味に応じて、サービスの提供側が情報配信ノードを多数用意する必要がなくなり、リソースを削減できる。結果として、システム全体のコストが安くなり、スケーラビリティが向上する。
【００７３】
（第２実施形態）
以下、第２実施形態について第１実施形態との差異を中心に説明する。図９は、第２実施形態に係る情報配信システムの構成例を示す図である。第２実施形態では、情報配信ノード１０９が、情報配信装置１０６と別の装置として実現された場合の例である。情報配信装置１０６は、情報配信ノード１０９ａおよび情報配信ノード１０９ｂを探索して発見しても良いし、予め設定されていても良い。情報配信ノード１０９は、本実施形態では一つの情報配信を行っているが、これに限らず複数の情報配信を行うことができる。
【００７４】
図１０は、第２実施形態に係る情報配信ノード１０９のモジュール構成図である。情報配信ノード１０９は、TCP/IP処理部１１０１と、情報配信部１１０２と、データ監視部１１０３とを備えている。バス１１００は、各モジュールを接続する。TCP/IP処理部１１０１は、プロトコル処理を行う。情報配信部１１０２は、XMPPサーバ１０８を介して情報配信を行う。データ監視部１１０３は、データ格納装置１０７から情報を検索する。
【００７５】
図１２は、第２実施形態に係る情報配信システムで実施される処理のシーケンス図である。
【００７６】
Ｍ１３０１において、カメラ１０３は、情報配信クライアント装置１０５ｂを通じて、撮影した画像をデータ格納装置１０７に送信する。カメラ１０３は、撮影した画像を送信時に公開モードにするかプライベートモードにするかの選択を行う。この選択はカメラ１０３が自動的に行っても良いし、ユーザインターフェースなどによって、指示されてもよい。公開モードにすると、情報配信ノード１０９ａおよび情報配信ノード１０９ｂによる配信のための検索対象となる。また、プライベートモードにすると、情報配信ノード１０９ａおよび情報配信ノード１０９ｂによる配信のための検索対象とならない。
【００７７】
本実施形態では、撮影した画像を送信するときに設定を行うが、これに限らず、撮影した全ての写真について一括して設定を行っても良い。また、情報配信クライアント装置１０５ｂによって情報の内容（画像の内容や文字の内容など）に応じて決めてもよいし、情報配信クライアント装置１０５ｂにそれらのユーザのポリシーを予め設定しておいても良い。
【００７８】
Ｍ１３０２において、スキャナを有するプリンタ１０４は、情報配信クライアント装置１０５ｂを通じて、スキャンした文章をデータ格納装置１０７に送信する。プリンタ１０４もカメラ１０３と同様に公開モードにするかプライベートモードにするかの選択を行う。公開モードとプライベートモードについては、カメラ１０３の実施形態との差異は、文章と画像の違いだけであるため、省略する。
【００７９】
尚、情報配信クライアント装置１０５ｂは、ユーザ毎に公開モードかプライベートモードかを一括設定しても良い。
【００８０】
Ｍ１３０３において、情報配信ノード１０９ａは、データ格納装置１０７に格納された情報から情報配信要求に含まれた方法で検索を行う。Ｍ１３０４において、情報配信ノード１０９ａは、データ格納装置１０７から検索された結果の情報（文字、画像、音声、プログラム）を取得する。Ｍ１３０５において、情報配信ノード１０９ｂは、データ格納装置１０７に格納された情報から情報配信要求に含まれた方法で検索を行う。
【００８１】
Ｍ１３０６において、情報配信ノード１０９ｂは、データ格納装置１０７から検索された結果の情報（文字、画像、音声、プログラム）を取得する。
【００８２】
情報配信ノード１０９ａのＭ１３０３〜Ｍ１３０４の処理、および、情報配信ノード１０９ｂのＭ１３０５〜Ｍ１３０６の処理は、一定時間毎に実行されている。これによって、情報配信ノード１０９ａおよび情報配信ノード１０９ｂは、データ格納装置１０７に新たな情報が来たことを知ることができる。
【００８３】
本実施形態では、まず情報配信ノード１０９ａが、Ｍ１３０１で送信された情報（画像）を検知したものとする。Ｍ１３０７において、情報配信ノード１０９ａは、情報配信クライアント装置１０５ａに情報を送信するために、XMPPサーバ１０８へ指示を送信する。XMPPのpubsub機能を利用しない場合、RSSの配信サーバなどで配信してもよい。
【００８４】
Ｍ１３０８において、XMPPサーバ１０８は、pubsub機能を利用して、情報配信クライアント装置１０５ａに情報を送信する。
【００８５】
情報配信クライアント装置１０５ａは、ユーザＡの保持するデバイス群（スマートフォン１０１、カメラ１０２）のポリシーをチェックする。ユーザまたはシステムによって、デバイス群の中の優先度が決められている場合、優先度に従って、優先度の高いデバイスのみに送信してもよい。本実施形態では、デバイス群全てに送信するというポリシーであるものとする。またこれに限らず、情報配信クライアント装置１０５ａは受信した情報をデバイス群に送信せずに保存しても良いし、フィルタなどによって取捨選択しても良い。
【００８６】
Ｍ１３０９において、情報配信クライアント装置１０５ａは、配信された情報を含むメッセージをカメラ１０２へ送信する。情報配信クライアント装置１０５ａが情報を保存している場合は、情報配信クライアント装置１０５ａに情報があることのみをカメラ１０２に通知してもよい。
【００８７】
Ｍ１３１０において、情報配信クライアント装置１０５ａは、配信された情報を含むメッセージをスマートフォン１０１へ送信する。情報配信クライアント装置１０５ａが情報を保存している場合は、情報配信クライアント装置１０５ａに情報があることのみをスマートフォン１０１に通知してもよい。
【００８８】
Ｍ１３１１において、情報配信ノード１０９ｂは、情報配信クライアント装置１０５ａに情報を送信するために、XMPPサーバ１０８へ指示を送信する。XMPPのpubsub機能を利用しない場合、RSSの配信サーバなどで配信してもよい。
【００８９】
Ｍ１３１２において、XMPPサーバ１０８は、pubsub機能を利用して、情報配信クライアント装置１０５ａに情報を送信する。Ｍ１３１３およびＭ１３１４は、Ｍ１３０９およびＭ１３１０と同様の処理のため説明を省略する。Ｍ１３１５において、XMPPサーバ１０８は、pubsub機能を利用して、情報配信クライアント装置１０５ｂに情報を送信する。
【００９０】
Ｍ１３１６において、情報配信クライアント装置１０５ｂは、ユーザＢの持つデバイス群からカメラ１０３を選択し、情報を送信する。カメラ１０３では、別のデバイスにも送信するかといったダイアログを出して、情報配信クライアント装置１０５ｂに別の装置への送信を指示しても良い。
【００９１】
その指示に基づき、情報配信クライアント装置１０５ｂが、プリンタ１０４に情報を送信する。例えば、情報が画像であった場合、カメラ１０３で画像の確認画面を表示し、カメラ１０３で確認のボタンを押すと、プリンタ１０４に画像が送信され、プリンタ１０４がその画像を印刷するといった実施形態が考えられる。
【００９２】
図１３は、第２実施形態に係る情報配信ノード１０９ｂの削除の処理を示すシーケンス図である。Ｍ１４０１において、カメラ１０２は、情報配信クライアント装置１０５ａに情報配信（情報配信ノード１０９ａが配信している情報に対応）の削除要求を送信する。カメラ１０２のユーザインターフェースを介して、ユーザが削除要求を行っても良いし、システムが自動的に行っても良い。
【００９３】
Ｍ１４１４において、情報配信クライアント装置１０５ａは、XMPPサーバ１０８のpubsubノードから登録を解除する。XMPPを利用している場合、情報配信クライアント装置１０５ａは情報配信装置１０６に通知しなくても、情報配信装置１０６がXMPPサーバ１０８の登録状態を監視しておくことでも実現できる。また、RSSを利用している場合、情報配信装置１０６はXMPPサーバ１０８の監視による登録解除を把握できないため、Ｍ１４１４はスキップできるが、Ｍ１４０２〜Ｍ１４０４の処理が必要になる。
【００９４】
Ｍ１４０２において、情報配信クライアント装置１０５ａは、情報配信装置１０６に情報配信の削除要求を送信する。情報配信クライアント装置１０５ａはXMPPサーバ１０８のpubsubの登録を解除する。本実施形態では、Ｍ１４０１の削除要求（カメラ１０２からの指示）によって、削除要求を送信していたが、これに限るものではない。例えば、レコメンドなどの技術を用いて、ユーザＡの画像の好みが変化したことを情報配信クライアント装置１０５ａが検知し、情報配信装置１０６に情報配信の削除要求を送信してもよい。
【００９５】
Ｍ１４０３において、情報配信装置１０６は、情報配信ノード１０９ａに情報配信の削除要求を送信する。情報配信装置１０６は、情報配信リストのリファレンス数を減少させる。情報配信ノード１０９ａがＲＳＳなどの技術を利用している場合は、情報配信クライアント装置１０５ａに対する情報配信を取りやめる。ここでは、対象となる情報配信ノード１０９ａのリファレンス数が１以上であるため（別の情報配信クライアント装置１０５が情報配信を希望しているため）、情報配信ノード１０９ａ自体の削除は行わない。
【００９６】
Ｍ１４０４において、情報配信装置１０６は、情報配信の削除が完了したことを情報配信クライアント装置１０５ａに通知する。Ｍ１４０５において、情報配信クライアント装置１０５ａは、カメラ１０２に情報配信の削除が行われたことを通知する。Ｍ１４０６において、情報配信クライアント装置１０５ａは、スマートフォン１０１に情報配信の削除が行われたことを通知する。
【００９７】
スマートフォン１０１、および、カメラ１０２は、Ｍ１４０５およびＭ１４０６の通知をユーザインターフェース上に表示し、ユーザに知らせてもよい。これにより、別のデバイス上でも、今後情報配信が行われなくなることを認識することが可能となる。
【００９８】
Ｍ１４０７において、カメラ１０２は、情報配信クライアント装置１０５ａに情報配信（情報配信ノード１０９ｂが配信している情報に対応）の削除要求を送信する。
【００９９】
Ｍ１４１５において、情報配信クライアント装置１０５ａは、XMPPサーバ１０８のpubsubノードから登録を解除する。
【０１００】
Ｍ１４０８において、情報配信クライアント装置１０５ａは、情報配信装置１０６に情報配信の削除要求を送信する。情報配信クライアント装置１０５ａはXMPPサーバ１０８のpubsubの登録を解除する。
【０１０１】
情報配信装置１０６は、情報配信リストのリファレンス数を減少（減算）させる。この結果、対象となる情報配信ノード１０９ｂのリファレンス数が０であるため（別の情報配信クライアント装置１０５が情報配信を希望していないため）、情報配信装置１０６は、情報配信ノード１０９ｂの削除を行うことを決定する。本実施形態では、リファレンス数という数で示したが、情報配信クライアント装置１０５をリストによる管理を行っても良い。この場合は、生成要求時は情報配信クライアント装置１０５ａをリストに追加し、削除要求時は情報配信クライアント装置１０５をリストから削除する。
【０１０２】
Ｍ１４０９において、情報配信装置１０６は、情報配信ノード１０９ｂに、情報配信の削除要求および情報配信ノード１０９ｂ自体の削除要求を送信する。Ｍ１４１０において、情報配信ノード１０９ｂは、XMPPサーバ１０８のpubsubノードを削除する。その後、情報配信ノード１０９ｂは、情報配信機能に関するリソースを解放する。
【０１０３】
Ｍ１４１１において、情報配信装置１０６は、情報配信の削除が完了したことを情報配信クライアント装置１０５ａに通知する。Ｍ１４１２において、情報配信クライアント装置１０５ａは、カメラ１０２に情報配信の削除が行われたことを通知する。Ｍ１４１３において、情報配信クライアント装置１０５ａは、スマートフォン１０１に情報配信の削除が行われたことを通知する。
【０１０４】
以上説明したように、情報配信ノード１０９は、情報配信装置１０６とは別の装置に分散しても実施できる。これにより、一つの装置の制約によらず、スケーラビリティを向上させることが可能となる。また、複数の情報配信ノード１０９を並列化することにより、耐障害性が向上するという効果もある。
【０１０５】
また、利用していない情報配信ノード１０９を動的に削除できる仕組みにより、リソースの再利用が可能となり、結果として、システム全体としてのスケーラビリティが向上する。また、システムとしてのリソース利用の低減につながり、低いコストでシステムを構築できるという効果がある。
【０１０６】
このように、本発明によれば、ユーザが膨大な量の購読配信ノードから探索する必要がなくなり、ユーザビリティが向上する。更なる効果として、予め情報配信ノードを準備する必要がなくなるため、サーバに対する処理負荷が低減できる。
【０１０７】
（その他の実施形態）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
2014228964.tif 000003
【図２】
2014228964.tif 000004
【図３】
2014228964.tif 000005
【図４】
2014228964.tif 000006
【図５】
2014228964.tif 000007
【図６】
2014228964.tif 000008
【図７】
2014228964.tif 000009
【図８】
2014228964.tif 000010
【図９】
2014228964.tif 000011
【図１０】
2014228964.tif 000012
【図１１】
2014228964.tif 000013
【図１２】
2014228964.tif 000014
【図１３】
2014228964.tif 000015