(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-08-27
(45)【発行日】2024-09-04
(54)【発明の名称】情報処理装置、プログラム、及び情報処理方法
(51)【国際特許分類】
G06F 3/01 20060101AFI20240828BHJP
H04N 21/266 20110101ALI20240828BHJP
H04N 21/24 20110101ALI20240828BHJP
【FI】
G06F3/01 510
H04N21/266
H04N21/24
(21)【出願番号】P 2022133687
(22)【出願日】2022-08-24
【審査請求日】2023-02-08
(73)【特許権者】
【識別番号】501440684
【氏名又は名称】ソフトバンク株式会社
(74)【代理人】
【識別番号】110000877
【氏名又は名称】弁理士法人RYUKA国際特許事務所
(72)【発明者】
【氏名】平林 一輝
(72)【発明者】
【氏名】天野 靖大
【審査官】仲野 一秀
(56)【参考文献】
【文献】米国特許出願公開第2020/0219319(US,A1)
【文献】特開2019-105931(JP,A)
【文献】特開2022-71801(JP,A)
【文献】特開2022-20039(JP,A)
【文献】国際公開第2021/230100(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 3/01
G06F 3/048 - 3/0488
G06T 19/00
H04N 21/266
H04N 21/24
(57)【特許請求の範囲】
【請求項1】
ユーザ端末の状況に対応する複数のアプリを同時起動するアプリ起動部と、
前記ユーザ端末からの情報に基づいて、前記複数のアプリから少なくとも1つのアプリを選択するアプリ選択部と、
前記アプリ選択部によって選択された前記アプリによって生成されたコンテンツを取得するコンテンツ取得部と、
前記コンテンツを前記ユーザ端末の表示部に表示させる表示制御部と、
前記表示部に表示された前記コンテンツに対する前記ユーザ端末のユーザの反応を示す反応情報を取得する反応取得部と、
前記コンテンツのコンテンツ情報と、前記ユーザの属性情報及び環境情報と、前記反応情報とを含む学習データを複数用いた学習結果に基づいて、複数のコンテンツからユーザに提供するコンテンツを選択する
コンテンツ選択部と
を備える情報処理装置。
【請求項2】
複数の前記学習データを用いた学習を実行することにより、前記コンテンツ情報、前記属性情報、及び前記環境情報を入力とし、前記反応情報を出力とする学習モデルを生成するモデル生成部
を更に備え、
前記
コンテンツ選択部は、前記複数のコンテンツのコンテンツ情報、前記ユーザの属性情報及び環境情報を前記学習モデルに入力して、前記学習モデルから出力された反応情報に基づいて、前記複数のコンテンツからユーザに提供するコンテンツを選択し、
前記表示制御部は、前記
コンテンツ選択部によって選択されたコンテンツを前記ユーザ端末の前記表示部に表示させる、請求項1に記載の情報処理装置。
【請求項3】
前記反応取得部は、前記ユーザ端末による前記ユーザのヘッドトラッキング、アイトラッキング、及びハンドトラッキングの少なくともいずれかによって生成された前記反応情報を取得する、請求項1に記載の情報処理装置。
【請求項4】
前記反応取得部は、前記ユーザの顔の方向が前記コンテンツに対して正対したか否かを示す前記反応情報を取得する、請求項3に記載の情報処理装置。
【請求項5】
前記反応取得部は、前記ユーザの視線が前記コンテンツに向けられたか否かを示す前記反応情報を取得する、請求項3に記載の情報処理装置。
【請求項6】
前記反応取得部は、前記ユーザの手が前記コンテンツに対して動作したか否かを示す前記反応情報を取得する、請求項3に記載の情報処理装置。
【請求項7】
前記コンテンツ情報は、前記コンテンツの種類を含み、
前記属性情報は、前記ユーザの住所、職業、及び年齢を含み、
前記環境情報は、前記ユーザが前記コンテンツを閲覧したときのシチュエーション情報及び前記ユーザが前記コンテンツを閲覧した空間の空間情報を含む、請求項1に記載の情報処理装置。
【請求項8】
前記シチュエーション情報は、時間情報、前記ユーザの周囲の情報、及び前記ユーザの行動情報を含み、
前記空間情報は、前記空間の広さ、前記空間の明るさ、及び前記ユーザが前記コンテンツを閲覧した場所の情報を含む、請求項7に記載の情報処理装置。
【請求項9】
前記アプリ起動部は、前記ユーザ端末の状況に対応する前記複数のアプリから、前記ユーザ端末のユーザによる使用確率が高い順に選択した前記複数のアプリを起動する、請求項1から8のいずれか一項に記載の情報処理装置。
【請求項10】
前記アプリ起動部は、前記ユーザ端末の状況に対応する前記複数のアプリから、前記ユーザ端末に対して割り当てられている割当リソース量の範囲内で、前記使用確率が高い順に選択した前記複数のアプリを起動する、請求項9に記載の情報処理装置。
【請求項11】
前記アプリ起動部は、前記ユーザ端末の状況に対応する前記複数のアプリから、前記ユーザ端末に対して割り当てられている割当リソース量の範囲内でより多くのアプリを起動するように選択した前記複数のアプリを起動する、請求項10に記載の情報処理装置。
【請求項12】
前記アプリ起動部は、前記ユーザ端末の状況に対応する前記複数のアプリのうち、前記ユーザ端末のユーザによる使用確率が第1の閾値より高いアプリについて、対応するVMを起動して当該VM上で当該アプリを起動し、前記使用確率が前記第1の閾値より低く、前記第1の閾値よりも低い第2の閾値より高い場合、当該アプリに対応するVMを起動する、請求項1から8のいずれか一項に記載の情報処理装置。
【請求項13】
コンピュータを、請求項1から
8のいずれか一項に記載の情報処理装置として機能させるためのプログラム。
【請求項14】
コンピュータによって実行される情報処理方法であって、
ユーザ端末の状況に対応する複数のアプリを同時起動するアプリ起動段階と、
前記ユーザ端末からの情報に基づいて、前記複数のアプリから少なくとも1つのアプリを選択するアプリ選択段階と、
前記アプリ選択段階において選択された前記アプリによって生成されたコンテンツを取得するコンテンツ取得段階と、
前記コンテンツを前記ユーザ端末の表示部に表示させる表示制御段階と、
前記表示部に表示された前記コンテンツに対する前記ユーザ端末のユーザの反応を示す反応情報を取得する反応取得段階と、
前記コンテンツのコンテンツ情報と、前記ユーザの属性情報及び環境情報と、前記反応情報とを含む学習データを複数用いた学習結果に基づいて、複数のコンテンツからユーザに提供するコンテンツを選択する選択段階と
を備える情報処理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、プログラム、及び情報処理方法に関する。
【背景技術】
【0002】
特許文献1には、現実世界に仮想現実を反映(拡張)させる技術であるAR(Augmented Reality)、仮想世界を現実世界に重ね合わせて体験できる技術であるMR(Mixed Reality)、これらの技術の総称であるXR(X Reality(クロスリアリティ))について記載されている。
[先行技術文献]
[特許文献]
[特許文献1]特開2022-105942号公報
【発明の概要】
【課題を解決するための手段】
【0003】
本発明の一実施態様によれば、情報処理装置が提供される。前記情報処理装置は、ユーザ端末の状況に対応するコンテンツを取得するコンテンツ取得部を備えてよい。前記情報処理装置は、前記コンテンツを前記ユーザ端末の表示部に表示させる表示制御部を備えてよい。前記情報処理装置は、前記表示部に表示された前記コンテンツに対する前記ユーザ端末のユーザの反応を示す反応情報を取得する反応取得部を備えてよい。前記情報処理装置は、前記コンテンツのコンテンツ情報と、前記ユーザの属性情報及び環境情報と、前記反応情報とを含む学習データを複数用いた学習結果に基づいて、複数のコンテンツからユーザに提供するコンテンツを選択する選択部を備えてよい。
【0004】
前記情報処理装置は、前記複数の学習データを用いた学習を実行することにより、前記コンテンツ情報、前記属性情報、及び前記環境情報を入力とし、前記反応情報を出力とする学習モデルを生成するモデル生成部を更に備えてよく、前記選択部は、前記複数のコンテンツのコンテンツ情報、前記ユーザの属性情報及び環境情報を前記学習モデルに入力して、前記学習モデルから出力された反応情報に基づいて、前記複数のコンテンツからユーザに提供するコンテンツを選択してよく、前記表示制御部は、前記選択部によって選択されたコンテンツを前記ユーザ端末の前記表示部に表示させてよい。
【0005】
前記いずれかの情報処理装置において、前記反応取得部は、前記ユーザ端末による前記ユーザのヘッドトラッキング、アイトラッキング、及びハンドトラッキングの少なくともいずれかによって生成された前記反応情報を取得してよい。前記反応取得部は、前記ユーザの顔の方向が前記コンテンツに対して正対したか否かを示す前記反応情報を取得してよい。前記反応取得部は、前記ユーザの視線が前記コンテンツに向けられたか否かを示す前記反応情報を取得してよい。前記反応取得部は、前記ユーザの手が前記コンテンツに対して動作したか否かを示す前記反応情報を取得してよい。
【0006】
前記いずれかの情報処理装置において、前記コンテンツ情報は、前記コンテンツの種類を含んでよく、前記属性情報は、前記ユーザの住所、職業、及び年齢を含んでよく、前記環境情報は、前記ユーザが前記コンテンツを閲覧したときのシチュエーション情報及び前記ユーザが前記コンテンツを閲覧した空間の空間情報を含んでよい。前記シチュエーション情報は、時間情報、前記ユーザの周囲の情報、及び前記ユーザの行動情報を含んでよく、前記空間情報は、前記空間の広さ、前記空間の明るさ、及び前記ユーザが前記コンテンツを閲覧した場所の情報を含んでよい。
【0007】
前記いずれかの情報処理装置は、前記ユーザ端末の状況に対応する複数のアプリを起動するアプリ起動部と、前記ユーザ端末からの情報に基づいて、前記複数のアプリから少なくとも1つのアプリを選択するアプリ選択部とを更に備えてよく、前記コンテンツ取得部は、前記アプリ選択部によって選択された前記アプリによって生成された前記コンテンツを取得してよい。
【0008】
本発明の一実施態様によれば、コンピュータを、前記情報処理装置として機能させるためのプログラムが提供される。
【0009】
本発明の一実施態様によれば、情報処理装置が提供される。前記情報処理装置は、ユーザ端末の状況に対応する複数のアプリを起動するアプリ起動部を備えてよい。前記情報処理装置は、前記ユーザ端末からの情報に基づいて、前記複数のアプリから少なくとも1つのアプリを選択するアプリ選択部を備えてよい。前記情報処理装置は、前記アプリ選択部によって選択されたアプリによって生成された情報を前記ユーザ端末に送信する情報送信部を備えてよい。
【0010】
前記情報処理装置において、前記アプリ選択部は、前記ユーザ端末から受信した前記複数のアプリのうちのいずれかを選択する選択情報に従って前記複数のアプリから少なくとも1つの前記アプリを選択してよい。
【0011】
前記いずれかの情報処理装置において、前記アプリ選択部は、前記ユーザ端末から受信した前記ユーザに関連するユーザ関連情報に基づいて、前記複数のアプリから少なくとも1つの前記アプリを選択してよい。
【0012】
前記いずれかの情報処理装置において、前記アプリ起動部は、前記ユーザ端末の状況に対応する複数のアプリから選択した前記複数のアプリを起動してよい。前記アプリ起動部は、前記ユーザ端末の状況に対応する前記複数のアプリから、前記ユーザ端末のユーザによる使用確率が高い順に選択した前記複数のアプリを起動してよい。前記アプリ起動部は、前記ユーザ端末の状況に対応する前記複数のアプリから、前記ユーザ端末に対して割り当てられている割当リソース量の範囲内で、前記使用確率が高い順に選択した前記複数のアプリを起動してよい。前記アプリ起動部は、前記ユーザ端末の状況に対応する前記複数のアプリから、前記ユーザ端末に対して割り当てられている割当リソース量の範囲内でより多くのアプリを起動するように選択した前記複数のアプリを起動してよい。
【0013】
前記いずれかの情報処理装置において、前記アプリ起動部は、前記ユーザ端末の状況に対応する前記複数のアプリのうち、前記ユーザ端末のユーザによる使用確率が第1の閾値より高いアプリについて、対応するVMを起動して当該VM上で当該アプリを起動し、前記使用確率が前記第1の閾値より低く、前記第1の閾値よりも低い第2の閾値より高い場合、当該アプリに対応するVMを起動してよい。
【0014】
本発明の一実施態様によれば、コンピュータを、前記情報処理装置として機能させるためのプログラムが提供される。
【0015】
本発明の一実施態様によれば、コンピュータによって実行される情報処理方法が提供される。前記情報処理方法は、ユーザ端末の状況に対応するコンテンツを取得するコンテンツ取得段階を備えてよい。前記情報処理方法は、前記コンテンツを前記ユーザ端末の表示部に表示させる表示制御段階を備えてよい。前記情報処理方法は、前記表示部に表示された前記コンテンツに対する前記ユーザ端末のユーザの反応を示す反応情報を取得する反応取得段階を備えてよい。前記情報処理方法は、前記コンテンツのコンテンツ情報と、前記ユーザの属性情報及び環境情報と、前記反応情報とを含む学習データを複数用いた学習結果に基づいて、複数のコンテンツからユーザに提供するコンテンツを選択する選択段階を備えてよい。
【0016】
本発明の一実施態様によれば、コンピュータによって実行される情報処理方法が提供される。前記情報処理方法は、ユーザ端末の状況に対応する複数のアプリを起動するアプリ起動段階を備えてよい。前記情報処理方法は、前記ユーザ端末からの情報に基づいて、前記複数のアプリから少なくとも1つのアプリを選択するアプリ選択段階を備えてよい。前記情報処理方法は、前記アプリ選択段階において選択されたアプリによって生成された情報を前記ユーザ端末に送信する情報送信段階を備えてよい。
【0017】
なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではない。また、これらの特徴群のサブコンビネーションもまた、発明となりうる。
【図面の簡単な説明】
【0018】
【
図2】システム10における処理内容の一例について説明するための説明図である。
【
図3】システム10における処理内容の一例について説明するための説明図である。
【
図4】管理装置100の機能構成の一例を概略的に示す。
【
図5】システム10における処理内容の一例について説明するための説明図である。
【
図6】システム10における処理内容の一例について説明するための説明図である。
【
図7】管理装置100の機能構成の一例を概略的に示す。
【
図8】管理装置100によるスタンバイ制御について説明するための説明図である。
【
図9】管理装置100として機能するコンピュータ1200のハードウェア構成の一例を概略的に示す。
【発明を実施するための形態】
【0019】
現在のARは一般的なWebに比べると、実用的な情報ソースへのアクセス手段が不足しており、ほとんどのコンテンツが閉鎖的なエンタメや、ハンドメイドの空間内での体験にとどまっている。ARやVRの空間内にリアルタイムな実用情報を簡単に取り込める仕組みが必要である。また、ARやVRデバイスがスマホ並に一般的に普及し、常に装着しているのが当たり前となった場合、今度は情報過多が考えられる。特にXR体験ではスマホと違い視野全体から受動的に情報を受け取れてしまうため、情報の選択方法を検討する必要がある。XR体験として、能動的にユーザーインターフェイスを用いた選択をさせるのは望ましくなく、ユーザーの行動やメタ情報をもとに表示される情報が自動的に選択される方が望ましい。このような状況に対して、例えば、Webから収集した情報を、AIがユーザー情報や行動、状況を用いて取捨選択する。それらの情報は数値や文字といった情報であるため、その情報から三次元オブジェクトを生成する仕組みを用いてXR空間上に情報を提示する。その情報を見たユーザーのリアクションをXRデバイスのセンサーから取得し、AIが取捨選択の内容をユーザー個別に最適化していく。
【0020】
従来のARは、スマホやウェアラブルデバイス上でアプリケーションを稼働させて表示しており、現実世界に情報を付加することで生活を豊かにするが、普及が進むと情報で溢れかえり、逆にストレスになる。また、ARグラスのようなウェアラブルデバイスは処理能力が低いため、アプリの同時起動が困難である。ARストリーミングと言って、クラウド等のサーバサイドでARアプリを起動し、映像だけをデバイスに送る技術があるが、ARストリーミングをして効率化したとしてもサーバサイドのリソースが枯渇してしまう。このような状況に対して、例えば、ストリーミングで複数のアプリを同時実行し、利用者の要求や状況に応じてストリーミングする映像をシームレスに切り替えられるスイッチャーをクラウドから提供することが考えられる。また、サーバサイドのリソース枯渇を防ぐため、利用者の切替ログから利用者の状況毎の情報ニーズの傾向を分析し、使用可能性の高いアプリのみをあらかじめ起動するように制御することが考えられる。
【0021】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【0022】
図1は、システム10の一例を概略的に示す。システム10は、管理装置100を備える。管理装置100は、情報処理装置の一例であってよい。システム10は、ユーザ端末200を備える。
【0023】
管理装置100は、ユーザ20に対して提供する情報を管理する。管理装置100は、例えば、ユーザ端末200の状況に応じたARコンテンツをユーザ端末200に送信して、表示させる。
【0024】
ユーザ端末200は、通信機能と、ユーザ20に対して情報を表示する機能とを有していれば、どのような端末であってもよい。例えば、ユーザ端末200は、ARグラス等の眼鏡型デバイスである。例えば、ユーザ端末200は、スマートフォン及びタブレット端末等である。
【0025】
ユーザ端末200は、管理装置100から受信したAR用のコンテンツを表示する。管理装置100が管理するコンテンツは、任意のデータ形式であってよい。例えば、コンテンツは、3DのCG(Computer Graphics)データである。例えば、コンテンツは、静止画である。また、例えば、コンテンツは、動画である。例えば、コンテンツは、テキストである。コンテンツは、これらを複合的に含んでもよい。
【0026】
ユーザ端末200が眼鏡型デバイスである場合、コンテンツを透明又は半透明のグラス上に表示することによって、実空間にコンテンツが配置されている感覚をユーザ20に与えることが可能なデバイスであってよい。すなわち、ユーザ端末200は、いわゆる透過型(シースルー型)のデバイスであってよい。
【0027】
ユーザ端末200がスマートフォン又はタブレット端末である場合、ユーザ端末200は、ビデオパススルー型のデバイスであってよい。この場合、ユーザ端末200は、撮影画像を非透過型のディスプレイに表示し、コンテンツを重畳表示してよい。ユーザ端末200が眼鏡型デバイスである場合に、ユーザ端末200がビデオパススルー型のデバイスであってもよい。
【0028】
図2及び
図3は、システム10における処理内容の一例について説明するための説明図である。ここでは、ユーザ端末200と、管理装置100が備えるキュレーションAI300との間の処理の流れを説明する。
【0029】
ユーザ端末200は、表示部202及び検知部204を備える。検知部204は、複数種類のセンサを有する。検知部204が有するセンサの例として、位置センサ、撮像センサ、ジャイロセンサ、加速度センサ、視線センサ、及び音声センサ等が挙げられるが、これらに限られない。位置センサは、GPS(Global Positioning System)測位等のGNSS(Global Naviagtion Satellite System)測位機能、ネットワーク測位機能、VPS(Visual Positioning System)測位機能、及びUWB(Ultra Wide Band)測位機能の少なくともいずれかを有してよい。なお、位置センサが有する測位機能はこれらに限られず、これら以外の測位機能のみを有してもよく、また、これら以外の測位機能と、これらの少なくともいずれかとを有してもよい。検知部204は、複数種類のセンサによって、ユーザ20のヘッドトラッキング、ユーザ20のアイトラッキング、及びユーザ20のハンドトラッキング等を実現してよい。
【0030】
ユーザ端末200は、まず、ユーザ20の属性情報316と、検知部204によって検知された、ユーザ端末200の位置及び向きを含む環境情報310とを、キュレーションAI300に送信する。キュレーションAI300の情報選択機能302は、情報ソース40から、環境情報310及び属性情報316に対応する情報を選択する。キュレーションAI300は、外部からの情報をAPI(Application Programming Interface)及びDB(DataBase)によって整理することによって、情報ソース40を管理してよい。
【0031】
情報選択機能302によって選択された情報322に対して、3D生成324が行われて、ユーザ端末200の表示部202に表示させる。3D生成324は、選択された情報322を、ユーザ20の位置及び姿勢に合わせて、ユーザ20に違和感のないように変換する機能であってよい。3D生成324は、キュレーションAI300によって実行されてよい。3D生成324は、ユーザ端末200によって実行されてもよい。
【0032】
検知部204は、表示部202に表示された情報に対するユーザ行動332を検知して、キュレーションAI300に送信する。ユーザ行動332は、表示部202に表示された情報に対するユーザ20の反応を示す情報であってよい。検知部204は、例えば、ユーザ20が情報の方を向いたか、情報を目で追ったか、情報に対して手で触れるなどリアクションをしたか、スルーしたか、手動で他の情報に切り替えたか、等のユーザ行動332をキュレーションAI300に送信する。
【0033】
キュレーションAI300の学習・最適化機能304は、表示部202に表示された情報と、環境情報310及び属性情報316と、ユーザ行動332とを用いて、ユーザ端末200の状況に対応する複数の情報から、ユーザ20に適した情報を選択するための学習及び最適化を実行する。
【0034】
図3に例示するように、環境情報310には、シチュエーション情報312及び空間情報314が含まれてよい。シチュエーション情報312は、ユーザ20がどのような行動をしているかを示す行動情報、時間情報、及びユーザ20の周囲に関する周囲情報等を含む。空間情報314は、ユーザ20が情報を閲覧した場所の情報、空間の広さの情報、空間の明るさの情報等を含む。属性情報316は、ユーザ20の住所、職業、及び年齢等の情報を含む。表示部202に表示された情報に関するコンテンツ情報42は、コンテンツの種類を含む。
【0035】
学習・最適化機能304は、これらの情報を元に、学習を実行する。学習・最適化機能304は、例えば、ユーザ20の属性、シチュエーション、空間の条件毎に、表示された情報に対してユーザ20がポジティブな反応を示した場合に、その条件において、当該情報や当該情報と同じ種類の情報が選択されやすくなるようにし、ユーザ20がネガティブな反応を示した場合に、その条件において、当該情報や当該情報と同じ種類の情報が選択されにくくなるようにする。
【0036】
情報選択機能302は、学習・最適化機能304の学習結果をもとに、ユーザ20に対して提供する情報を選択する。これにより、ユーザ20に適した情報を自動的かつ適切に選択可能にできる。
【0037】
図4は、管理装置100の機能構成の一例を概略的に示す。管理装置100は、環境情報取得部102、属性情報取得部104、コンテンツ取得部106、表示制御部108、反応取得部110、モデル生成部112、及び選択部114を備える。
【0038】
環境情報取得部102は、ユーザ端末200から環境情報を取得する。環境情報は、ユーザ端末200の位置を示す位置情報を含む。環境情報は、ユーザ端末200の姿勢を示す姿勢情報を含む。環境情報は、シチュエーション情報を含んでよい。環境情報は、空間情報を含んでよい。
【0039】
シチュエーション情報は、時間帯等を示す時間情報を含んでよい。シチュエーション情報は、ユーザ20がどのような行動をしているかを示す行動情報を含んでよい。シチュエーション情報は、ユーザ20の周囲に関する周囲情報を含んでよい。周囲情報は、ユーザ20の周囲に存在する人や物体等に関する情報を含んでよい。
【0040】
空間情報は、場所の種類を示す場所の情報を含んでよい。空間情報は、空間の広さの情報を含んでよい。空間情報は、空間の明るさの情報を含んでよい。空間情報は、ユーザ20が位置する場所の天気の情報を含んでもよい。
【0041】
属性情報取得部104は、ユーザ20の属性情報を取得する。属性情報は、ユーザ20の氏名を含んでよい。属性情報は、ユーザ20のユーザ名を含んでよい。属性情報は、ユーザ20の住所を含んでよい。属性情報は、ユーザ20の性別を含んでよい。属性情報は、ユーザ20の年齢を含んでよい。属性情報は、ユーザ20の職業を含んでよい。属性情報は、ユーザ20の血液型を含んでよい。属性情報は、ユーザ20の国籍を含んでよい。
【0042】
コンテンツ取得部106は、ユーザ端末200の状況に対応するコンテンツを取得する。コンテンツ取得部106は、情報ソース40から、ユーザ端末200の状況に適合する複数のコンテンツを取得してよい。コンテンツ取得部106は、例えば、ユーザ端末200の位置及び姿勢から、ユーザ20の視界に含まれる範囲に対して登録されているコンテンツを取得する。
【0043】
表示制御部108は、コンテンツ取得部106が取得したコンテンツをユーザ端末200の表示部202に表示させる。表示制御部108は、コンテンツ取得部106が取得したコンテンツ及び表示指示をユーザ端末200に送信してよい。
【0044】
反応取得部110は、表示部202に表示されたコンテンツに対するユーザ20の反応を示す反応情報を取得する。反応取得部110は、ユーザ端末200の検知部204によって生成された反応情報をユーザ端末200から受信してよい。
【0045】
反応取得部110は、ユーザ端末200によるユーザ20のヘッドトラッキング、アイトラッキング、及びハンドトラッキングの少なくともいずれかによって生成された反応情報を取得してよい。
【0046】
反応取得部110は、例えば、ユーザ20の顔の方向がコンテンツに対して正対したか否かを示す反応情報を取得する。ユーザ20の顔の方向がコンテンツに対して正対したことは、ポジティブな反応の一例であってよい。反応取得部110は、例えば、ユーザ20の顔の方向がコンテンツから背けられたか否かを示す反応情報を取得する。ユーザ20の顔の方向がコンテンツから背けられたことは、ネガティブな反応の一例であってよい。
【0047】
反応取得部110は、例えば、ユーザ20の視線がコンテンツに向けられたか否かを示す反応情報を取得する。ユーザ20の視線がコンテンツに向けられたことは、ポジティブな反応の一例であってよい。反応取得部110は、ユーザ20の視線がコンテンツを追ったか否かを示す反応情報を取得してもよい。ユーザ20の視線がコンテンツを追ったことは、ポジティブな反応の一例であってよい。反応取得部110は、例えば、ユーザ20の視線がコンテンツから背けられたか否かを示す反応情報を取得する。ユーザ20の視線がコンテンツから背けられたことは、ネガティブな反応の一例であってよい。
【0048】
反応取得部110は、例えば、ユーザ20の手がコンテンツに対して動作したか否かを示す反応情報を取得する。反応取得部110は、例えば、ユーザ20の手がコンテンツを操作したか否かを示す反応情報を取得する。ユーザ20の手がコンテンツに対して動作したことは、ポジティブな反応の一例であってよい。ユーザ20の手がコンテンツに対して動作しなかったことは、ポジティブな反応でもネガティブな反応でもないとしてもよいし、ネガティブな反応として取り扱ってもよい。
【0049】
モデル生成部112は、表示部202に表示されたコンテンツのコンテンツ情報と、ユーザ20の属性情報及び環境情報と、反応情報とを含む学習データを複数用いた学習を実行することにより、コンテンツ情報、属性情報、及び環境情報を入力とし、反応情報を出力とする学習モデルを生成する。当該学習モデルを用いることによって、属性情報が示す属性のユーザ20が、環境情報によって示される環境において、コンテンツ情報が示すコンテンツを閲覧したときに、どのような反応を示すのかを推定することができる。
【0050】
選択部114は、モデル生成部112による学習結果に基づいて、コンテンツ取得部106によって取得された複数のコンテンツからユーザ20に提供するコンテンツを選択する。例えば、選択部114は、複数のコンテンツのコンテンツ情報、ユーザ20の属性情報及び環境情報を、モデル生成部112によって生成された学習モデルに入力して、学習モデルから出力された反応情報に基づいて、複数のコンテンツからユーザ20に提供するコンテンツを選択する。選択部114は、出力された反応情報が、よりポジティブな反応を示すコンテンツを、ユーザ20に対して提供するコンテンツとして選択してよい。表示制御部108は、選択部114によって選択されたコンテンツをユーザ端末200の表示部202に表示させてよい。
【0051】
これにより、ユーザ端末200の状況に対応するコンテンツが多数存在する場合に、ユーザ20がよりポジティブな反応を示す可能性が高いコンテンツに限定して、ユーザ20に対して提供することができ、ユーザ20の利便性を向上することができる。
【0052】
図5及び
図6は、システム10における処理内容の一例について説明するための説明図である。ここでは、管理装置100が備えるスイッチャー機能420を中心に処理内容の一例を説明する。
【0053】
本例において、ユーザ端末200は、測位用データ402を管理装置100に対して送信する。測位用データ402は、例えば、GPS測位結果と、ユーザ端末200によって撮像されたユーザ端末200の周囲の画像とを含む。管理装置100の位置測位機能404及びVPS/UWB406は、測位用データ402を用いて、ユーザ端末200の位置及び姿勢を特定する。
【0054】
管理装置100は、複数のアプリ412を管理する。アプリ412の例として、SNS(Social Networking Service)系アプリ、業務系アプリ、エンタメ系アプリ、地図アプリ、ナビゲーションアプリ、及びゲームアプリ等が挙げられるが、これらに限られない。
【0055】
管理装置100は、複数のアプリ412のうち、ユーザ端末200の位置に対応する複数のアプリ412を起動する。ここでは、管理装置100が、アプリ412毎にVM(Virtual Machine)410を起動して、VM410にアプリ412を実行させる例を主に説明するが、これに限らない。管理装置100は、1つのVM410に複数のアプリ412を実行させてもよい。また、管理装置100は、複数のコンテナに複数のアプリ412を実行させてもよい。
【0056】
スイッチャー機能420は、ユーザ端末200から受信する情報に従って、複数のアプリ412による出力を切り替えてユーザ端末200に対して配信する。
【0057】
スイッチャー機能420は、例えば、ユーザ端末200からの切り替え指示に従って、複数のアプリ412による出力を切り替えてユーザ端末200に対して配信する。スイッチャー機能420は、複数のアプリ412のうち、1つのアプリ412の出力をユーザ端末200に対して配信してよく、複数のアプリ412の出力をユーザ端末200に対して配信してもよい。スイッチャー機能420は、複数のアプリ412から、ユーザ端末200の状況に対応するアプリ412を選択し、選択したアプリ412による出力をユーザ端末200に対して配信してもよい。
【0058】
このように、管理装置100は、複数のアプリ412を同時起動しておき、ユーザ20の要求や状況に応じてARストリーミングする情報をシームレスに切り替える。ARグラスのようなウェアラブルデバイスは処理能力が低いので、アプリ412の同時起動が困難であるが、本実施形態に係るシステム10によれば、管理装置100側でアプリ412を起動するので、同時起動を可能とすることができる。また、複数のアプリ412を同時起動しておいて、ユーザ端末200からの情報に応じて切り替える構成を採用することによって、ユーザ端末200からの指示を受ける毎にアプリ412を起動する場合と比較して、アプリ起動待ち時間のストレスをユーザ20に与えないようにすることができる。
【0059】
システム10において、ユーザ端末200の位置情報は、位置データDB430に登録されてよい。システム10は、緊急制御機能442を更に備えてもよい。緊急制御機能442は、緊急地震速報等の外部災害情報440を取得したことに応じて、スイッチャー機能420に対して、ユーザ端末200に対する外部災害情報440の配信を要求する。スイッチャー機能420は、ユーザ端末200に対するアプリ412の出力の配信を停止して、ユーザ端末200に対して外部災害情報440の配信を行う。これにより、ユーザ端末200に、外部災害情報440のみを表示させることができ、外部災害情報440が他のコンテンツによって見えなかったり、見にくかったりすることによって、ユーザ20が災害を把握できなくなる可能性を低減できる。スイッチャー機能420は、外部災害情報440のみの配信に切り替えた後、ユーザ端末200からの要求に応じて、アプリ412の出力の配信を再開してよい。
【0060】
緊急制御機能442は、外部災害情報440を取得したことに応じて、PCF52に、ユーザ端末200の優先度変更を要求してもよい。PCF52は、緊急制御機能442からの要求に応じて、ユーザ端末200に対応するポリシーを設定してもよい。
【0061】
緊急制御機能442は、管理装置100が備えてよい。緊急制御機能442は、管理装置100以外の装置が備えてもよい。
【0062】
管理装置100は、例えば、ユーザ端末200の状況に対応する全てのアプリ412を起動しておく。これにより、アプリの起動待ち時間を無くすことができる。
【0063】
管理装置100は、ユーザ端末200の状況に対応する全てのアプリ412のうち、一部のアプリ412のみを起動しておくようにしてもよい。これにより、アプリ412の常時起動によって消費される管理装置100のリソース量を低減することができる。管理装置100は、ユーザログをベースにした、アプリ412の動的なスタンバイ制御を実行してもよい。
【0064】
図6は、管理装置100によるスタンバイ制御について説明するための説明図である。管理装置100は、切替ログ452、位置ログ454、AI456、及びスタンバイ制御機能460を備えてよい。
【0065】
切替ログ452は、スイッチャー機能420による切替ログを記憶する。位置ログ454は、ユーザ端末200の位置ログを記憶する。AI456は、切替ログ452及び位置ログ454を用いて、ユーザ20によるアプリ412の切替傾向を分析する。AI456は、例えば、ユーザ端末200の位置及び時間帯を入力とし、複数のアプリ412のそれぞれについての、ユーザ20による使用確率を出力とする学習を実行する。具体例として、AI456は、例えば、ユーザ端末200の位置、アプリ412を利用した時間帯、アプリ412による出力情報の空間内における位置、直前の視聴コンテンツ、及び、どのアプリ412からどのアプリ412に切り替えたか等の切り替え内容等に基づいて、各アプリ412の、1時間内等の予め定められた期間内の使用確率を出力するように学習を行う。
【0066】
スタンバイ制御機能460は、AI456による学習結果を用いて、ユーザ端末200の状況に対応する、複数のアプリ412のそれぞれの使用確率を取得して、使用確率に基づいて、複数のアプリ412のそれぞれについて、Hotとするか、Coldとするかを判定する。スタンバイ制御機能460は、例えば、使用確率が予め定められた閾値より高いアプリ412をHotとし、低いアプリ412をColdとする。スタンバイ制御機能460は、Hotとしたアプリ412を起動させる。これにより、ユーザ端末200の状況に対応する複数のアプリ412のうち、使用確率が高いアプリ412のみを起動させることができ、管理装置100の消費リソースを適切に低減することができる。
【0067】
スタンバイ制御機能460は、1つのVMにつき、1つのアプリ412を実行するようにした場合において、使用確率に基づいて、複数のアプリ412のそれぞれについて、Hotとするか、Warmとするか、Coldとするかを判定してもよい。スタンバイ制御機能460は、例えば、使用確率が予め定められた第1の閾値より高いアプリ412をHotとし、使用確率が第1の閾値より低く、第1の閾値よりも低い第2の閾値より高いアプリ412をWarmとし、使用確率が第2の閾値より低いアプリ412をColdとする。スタンバイ制御機能460は、Hotとしたアプリ412について、対応するVMを起動してアプリ412を起動し、Warmとしたアプリ412について、対応するVMを起動し、アプリ412は起動しないようにする。これにより、Hotとしたアプリ412については、スムーズな切り替えを実現し、Warmとしたアプリ412については、VMを起動する時間を省略することによって、起動待ち時間を低減することができる。
【0068】
スタンバイ制御機能460は、ユーザ端末200毎に割当リソース量を定めておき、割当リソース量の範囲内で、アプリ412を起動しておくようにしてもよい。
【0069】
図7は、管理装置100によるスタンバイ制御の一例について説明するための説明図である。ここでは、ユーザ端末200の状況に対応するアプリ412が、アプリA、アプリB、アプリC、アプリDであり、それぞれのアプリの使用確率が97%、96%、23%、10%である場合を例に挙げて説明する。
【0070】
管理装置100は、割当リソース量の範囲内で、使用確率が高い順にアプリを起動させる。
図7に示す例においては、管理装置100は、アプリA、アプリB、及びアプリCを起動し、割当リソース量を超えてしまうアプリDについては起動しない。
【0071】
管理装置100は、
図7に示す状態において、ユーザ端末200からアプリDの起動指示を受け付けた場合、例えば、アプリDを起動可能なリソース量が確保できるまで、使用確率が低い順にアプリ412を終了していく。
図7に示す例では、管理装置100は、アプリCを終了させ、アプリDを起動させる。
【0072】
図8は、管理装置100の機能構成の一例を概略的に示す。管理装置100は、ユーザ状況取得部122、アプリ起動部124、アプリ選択部126、及び情報送信部128を備える。
【0073】
ユーザ状況取得部122は、ユーザ端末200の状況を取得する。ユーザ状況取得部122は、ユーザ端末200の位置情報を取得してよい。ユーザ状況取得部122は、例えば、ユーザ端末200によって測定されたユーザ端末200の位置情報を、ユーザ端末200から受信する。ユーザ状況取得部122は、例えば、ユーザ端末200から測位用データ402を受信し、測位用データ402を用いてユーザ端末200の位置情報を取得する。
【0074】
ユーザ状況取得部122は、ユーザ端末200の姿勢情報を取得してよい。ユーザ状況取得部122は、ユーザ端末200が備える検知部204によって特定されたユーザ端末200の姿勢を示す姿勢情報を、ユーザ端末200から受信してよい。
【0075】
アプリ起動部124は、ユーザ状況取得部122が取得したユーザ端末200の状況に対応する複数のアプリ412を起動する。
【0076】
アプリ起動部124は、例えば、複数のVMを起動して、複数のVMのそれぞれにアプリ412を起動させる。アプリ起動部124は、1つのVMにつき、1つのアプリ412を起動させてよい。アプリ起動部124は、1つのVMにつき、複数のアプリ412を起動させてもよい。
【0077】
アプリ起動部124は、例えば、複数のコンテナを起動して、複数のコンテナのそれぞれにアプリ412を起動させる。アプリ起動部124は、1つのコンテナにつき、1つのアプリ412を起動させてよい。アプリ起動部124は、1つのコンテナにつき、複数のアプリ412を起動させてもよい。
【0078】
アプリ選択部126は、ユーザ端末200からの情報に基づいて、アプリ起動部124が起動した複数のアプリ412から少なくとも1つのアプリ412を選択する。
【0079】
例えば、アプリ選択部126は、複数のアプリ412のうちのいずれかを選択する選択情報をユーザ端末200から受信する。アプリ選択部126は、選択情報に従って、複数のアプリ412から少なくとも1つのアプリ412を選択する。
【0080】
アプリ選択部126は、ユーザ端末200から、ユーザ20に関連するユーザ関連情報を受信し、当該ユーザ関連情報に基づいて、複数のアプリ412から少なくとも1つのアプリ412を選択してもよい。例えば、ユーザ関連情報がユーザ20の状態を示し、アプリ選択部126は、複数のアプリ412のうち、ユーザ20の状態により適した少なくとも1つのアプリ412を選択する。
【0081】
情報送信部128は、アプリ選択部126によって選択されたアプリ412によって生成された情報をユーザ端末200に送信する。情報送信部128は、アプリ選択部126によって複数のアプリ412が選択された場合、当該複数のアプリ412のそれぞれによって生成された情報を、ユーザ端末200に送信する。
【0082】
アプリ起動部124は、ユーザ端末200の状況に対応する複数のアプリ412から選択した複数のアプリ412を起動するようにしてもよい。これにより、複数のアプリ412を起動しておくための管理装置100のリソース量を低減することができる。
【0083】
例えば、アプリ起動部124は、ユーザ端末200の状況に対応する複数のアプリ412から、ユーザ端末200のユーザ20による使用確率が高い順に選択した複数のアプリ412を起動する。アプリ起動部124は、例えば、切替ログ452及び位置ログ454に基づいて、複数のアプリ412のそれぞれの使用確率を算出する。アプリ起動部124は、例えば、特定の地理的エリアにおけるユーザ20によるアプリ412の利用履歴や切替履歴を用いて、当該地理的エリアにおいて、過去にユーザ20がより多く使用していたアプリ412の使用確率をより高くすることによって、当該地理的エリアにおける複数のアプリ412の使用確率を算出する。また、例えば、アプリ起動部124は、ユーザ20が第1のアプリ412を使用している状況において、過去に、その次に第2のアプリ412を使用した履歴がある場合に、ユーザ20が第1のアプリ412を使用している状況における、第2のアプリ412の使用確率がより高くなるように、使用確率を算出する。アプリ412の利用履歴や切替履歴を用いた、アプリ412の使用確率の算出方法として、他の任意の方法を採用してもよい。
【0084】
アプリ起動部124は、ユーザ端末200の状況に対応する複数のアプリ412から、ユーザ端末200に対して割り当てられている割当リソース量の範囲内で、複数のアプリ412を選択してもよい。
【0085】
例えば、アプリ起動部124は、ユーザ端末200の状況に対応する複数のアプリ412から、割当リソース量の範囲内で、使用確率が高い順に選択した複数のアプリ412を起動する。アプリ起動部124は、割当リソース量を超えない範囲で、使用確率が高い順にアプリ412を起動していってよい。
【0086】
例えば、アプリ起動部124は、ユーザ端末200の状況に対応する複数のアプリ412から、割当リソース量の範囲内でより多くのアプリ412を起動するように選択した複数のアプリ412を起動する。例えばアプリ起動部124は、ユーザ端末200の状況に対応するアプリ412がアプリA、アプリB、アプリC、アプリD、アプリEの5つある場合において、割当リソース量の範囲内で、アプリA、アプリB及びアプリCの組み合わせと、アプリA、アプリB、アプリD、アプリEの組み合わせとが起動可能である場合に、アプリA、アプリB、アプリD、アプリEを起動する。
【0087】
例えば、アプリ起動部124は、ユーザ端末200の状況に対応する複数のアプリ412から、使用確率が高い順に1つずつアプリ412を起動していき、アプリA及びアプリBを起動した後に、残りの割当リソース量の範囲内で、アプリCであれば1つ、アプリD及びアプリEであれば2つ起動できる場合に、アプリD及びアプリEを起動する。
【0088】
アプリ起動部124は、ユーザ端末200の状況に対応する複数のアプリ412から、割当リソース量の範囲内で、使用確率が高い順に1つずつアプリ412を起動していき、最後の1つを選択するときに、候補となるアプリ412の使用確率が同一であるか、差分が予め定められた閾値より小さい場合に、アプリ412を起動するために要するリソース量がより少ない方のアプリ412を選択してもよい。これにより、管理装置100の消費リソース量を低減することができる。
【0089】
アプリ起動部124が、複数のVMを起動して、複数のVMのそれぞれにアプリ412を起動させる場合であって、1つのVMにつき、1つのアプリ412を起動させる場合において、アプリ起動部124は、ユーザ端末200の状況に対応する複数のアプリ412のうち、ユーザ端末200のユーザ20による使用確率が第1の閾値より高いアプリについて、対応するVMを起動して当該VM上で当該アプリを起動し、使用確率が第1の閾値より低く、第1の閾値よりも低い第2の閾値より高い場合、当該アプリに対応するVMを起動するようにしてもよい。すなわち、アプリ起動部124は、使用確率が第1の閾値より高い場合には、VM及びアプリを起動し、使用確率が第1の閾値より低いが第2の閾値より高い場合には、アプリに対応するVMのみを起動する。これにより、使用確率が高いアプリについては、すぐに切り替え可能にでき、使用確率がある程度高いアプリについては、VMを起動する時間を省略することができる。
【0090】
なお、管理装置100は、ユーザ状況取得部122、アプリ起動部124、アプリ選択部126、及び情報送信部128に加えて、環境情報取得部102、属性情報取得部104、コンテンツ取得部106、表示制御部108、反応取得部110、モデル生成部112、及び選択部114を備えてもよい。この場合、例えば、アプリ起動部124が、ユーザ端末200の状況に応じた複数のアプリ412を起動し、アプリ選択部126が、複数のアプリ412から少なくとも1つのアプリ412を選択し、コンテンツ取得部106が、アプリ選択部126によって選択されたアプリ412によって生成された複数のコンテンツを取得し、選択部114が、コンテンツ取得部106によって取得された複数のコンテンツからユーザ20に提供するコンテンツを選択し、表示制御部108が、選択されたコンテンツをユーザ端末200の表示部202に表示させる。
【0091】
図9は、管理装置100として機能するコンピュータ1200のハードウェア構成の一例を概略的に示す。コンピュータ1200にインストールされたプログラムは、コンピュータ1200を、本実施形態に係る装置の1又は複数の「部」として機能させ、又はコンピュータ1200に、本実施形態に係る装置に関連付けられるオペレーション又は当該1又は複数の「部」を実行させることができ、及び/又はコンピュータ1200に、本実施形態に係るプロセス又は当該プロセスの段階を実行させることができる。そのようなプログラムは、コンピュータ1200に、本明細書に記載のフローチャート及びブロック図のブロックのうちのいくつか又はすべてに関連付けられた特定のオペレーションを実行させるべく、CPU1212によって実行されてよい。
【0092】
本実施形態によるコンピュータ1200は、CPU1212、RAM1214、及びグラフィックコントローラ1216を含み、それらはホストコントローラ1210によって相互に接続されている。コンピュータ1200はまた、通信インタフェース1222、記憶装置1224、DVDドライブ、及びICカードドライブのような入出力ユニットを含み、それらは入出力コントローラ1220を介してホストコントローラ1210に接続されている。DVDドライブは、DVD-ROMドライブ及びDVD-RAMドライブ等であってよい。記憶装置1224は、ハードディスクドライブ及びソリッドステートドライブ等であってよい。コンピュータ1200はまた、ROM1230及びキーボードのようなレガシの入出力ユニットを含み、それらは入出力チップ1240を介して入出力コントローラ1220に接続されている。
【0093】
CPU1212は、ROM1230及びRAM1214内に格納されたプログラムに従い動作し、それにより各ユニットを制御する。グラフィックコントローラ1216は、RAM1214内に提供されるフレームバッファ等又はそれ自体の中に、CPU1212によって生成されるイメージデータを取得し、イメージデータがディスプレイデバイス1218上に表示されるようにする。
【0094】
通信インタフェース1222は、ネットワークを介して他の電子デバイスと通信する。記憶装置1224は、コンピュータ1200内のCPU1212によって使用されるプログラム及びデータを格納する。DVDドライブは、プログラム又はデータをDVD-ROM等から読み取り、記憶装置1224に提供する。ICカードドライブは、プログラム及びデータをICカードから読み取り、及び/又はプログラム及びデータをICカードに書き込む。
【0095】
ROM1230はその中に、アクティブ化時にコンピュータ1200によって実行されるブートプログラム等、及び/又はコンピュータ1200のハードウェアに依存するプログラムを格納する。入出力チップ1240はまた、様々な入出力ユニットをUSBポート、パラレルポート、シリアルポート、キーボードポート、マウスポート等を介して、入出力コントローラ1220に接続してよい。
【0096】
プログラムは、DVD-ROM又はICカードのようなコンピュータ可読記憶媒体によって提供される。プログラムは、コンピュータ可読記憶媒体から読み取られ、コンピュータ可読記憶媒体の例でもある記憶装置1224、RAM1214、又はROM1230にインストールされ、CPU1212によって実行される。これらのプログラム内に記述される情報処理は、コンピュータ1200に読み取られ、プログラムと、上記様々なタイプのハードウェアリソースとの間の連携をもたらす。装置又は方法が、コンピュータ1200の使用に従い情報のオペレーション又は処理を実現することによって構成されてよい。
【0097】
例えば、通信がコンピュータ1200及び外部デバイス間で実行される場合、CPU1212は、RAM1214にロードされた通信プログラムを実行し、通信プログラムに記述された処理に基づいて、通信インタフェース1222に対し、通信処理を命令してよい。通信インタフェース1222は、CPU1212の制御の下、RAM1214、記憶装置1224、DVD-ROM、又はICカードのような記録媒体内に提供される送信バッファ領域に格納された送信データを読み取り、読み取られた送信データをネットワークに送信し、又はネットワークから受信した受信データを記録媒体上に提供される受信バッファ領域等に書き込む。
【0098】
また、CPU1212は、記憶装置1224、DVDドライブ(DVD-ROM)、ICカード等のような外部記録媒体に格納されたファイル又はデータベースの全部又は必要な部分がRAM1214に読み取られるようにし、RAM1214上のデータに対し様々なタイプの処理を実行してよい。CPU1212は次に、処理されたデータを外部記録媒体にライトバックしてよい。
【0099】
様々なタイプのプログラム、データ、テーブル、及びデータベースのような様々なタイプの情報が記録媒体に格納され、情報処理を受けてよい。CPU1212は、RAM1214から読み取られたデータに対し、本開示の随所に記載され、プログラムの命令シーケンスによって指定される様々なタイプのオペレーション、情報処理、条件判断、条件分岐、無条件分岐、情報の検索/置換等を含む、様々なタイプの処理を実行してよく、結果をRAM1214に対しライトバックする。また、CPU1212は、記録媒体内のファイル、データベース等における情報を検索してよい。例えば、各々が第2の属性の属性値に関連付けられた第1の属性の属性値を有する複数のエントリが記録媒体内に格納される場合、CPU1212は、当該複数のエントリの中から、第1の属性の属性値が指定されている条件に一致するエントリを検索し、当該エントリ内に格納された第2の属性の属性値を読み取り、それにより予め定められた条件を満たす第1の属性に関連付けられた第2の属性の属性値を取得してよい。
【0100】
上で説明したプログラム又はソフトウエアモジュールは、コンピュータ1200上又はコンピュータ1200近傍のコンピュータ可読記憶媒体に格納されてよい。また、専用通信ネットワーク又はインターネットに接続されたサーバシステム内に提供されるハードディスク又はRAMのような記録媒体が、コンピュータ可読記憶媒体として使用可能であり、それによりプログラムを、ネットワークを介してコンピュータ1200に提供する。
【0101】
本実施形態におけるフローチャート及びブロック図におけるブロックは、オペレーションが実行されるプロセスの段階又はオペレーションを実行する役割を持つ装置の「部」を表わしてよい。特定の段階及び「部」が、専用回路、コンピュータ可読記憶媒体上に格納されるコンピュータ可読命令と共に供給されるプログラマブル回路、及び/又はコンピュータ可読記憶媒体上に格納されるコンピュータ可読命令と共に供給されるプロセッサによって実装されてよい。専用回路は、デジタル及び/又はアナログハードウェア回路を含んでよく、集積回路(IC)及び/又はディスクリート回路を含んでよい。プログラマブル回路は、例えば、フィールドプログラマブルゲートアレイ(FPGA)、及びプログラマブルロジックアレイ(PLA)等のような、論理積、論理和、排他的論理和、否定論理積、否定論理和、及び他の論理演算、フリップフロップ、レジスタ、並びにメモリエレメントを含む、再構成可能なハードウェア回路を含んでよい。
【0102】
コンピュータ可読記憶媒体は、適切なデバイスによって実行される命令を格納可能な任意の有形なデバイスを含んでよく、その結果、そこに格納される命令を有するコンピュータ可読記憶媒体は、フローチャート又はブロック図で指定されたオペレーションを実行するための手段を作成すべく実行され得る命令を含む、製品を備えることになる。コンピュータ可読記憶媒体の例としては、電子記憶媒体、磁気記憶媒体、光記憶媒体、電磁記憶媒体、半導体記憶媒体等が含まれてよい。コンピュータ可読記憶媒体のより具体的な例としては、フロッピー(登録商標)ディスク、ディスケット、ハードディスク、ランダムアクセスメモリ(RAM)、リードオンリメモリ(ROM)、消去可能プログラマブルリードオンリメモリ(EPROM又はフラッシュメモリ)、電気的消去可能プログラマブルリードオンリメモリ(EEPROM)、静的ランダムアクセスメモリ(SRAM)、コンパクトディスクリードオンリメモリ(CD-ROM)、デジタル多用途ディスク(DVD)、ブルーレイ(登録商標)ディスク、メモリスティック、集積回路カード等が含まれてよい。
【0103】
コンピュータ可読命令は、アセンブラ命令、命令セットアーキテクチャ(ISA)命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、又はSmalltalk(登録商標)、JAVA(登録商標)、C++等のようなオブジェクト指向プログラミング言語、及び「C」プログラミング言語又は同様のプログラミング言語のような従来の手続型プログラミング言語を含む、1又は複数のプログラミング言語の任意の組み合わせで記述されたソースコード又はオブジェクトコードのいずれかを含んでよい。
【0104】
コンピュータ可読命令は、汎用コンピュータ、特殊目的のコンピュータ、若しくは他のプログラム可能なデータ処理装置のプロセッサ、又はプログラマブル回路が、フローチャート又はブロック図で指定されたオペレーションを実行するための手段を生成するために当該コンピュータ可読命令を実行すべく、ローカルに又はローカルエリアネットワーク(LAN)、インターネット等のようなワイドエリアネットワーク(WAN)を介して、汎用コンピュータ、特殊目的のコンピュータ、若しくは他のプログラム可能なデータ処理装置のプロセッサ、又はプログラマブル回路に提供されてよい。プロセッサの例としては、コンピュータプロセッサ、処理ユニット、マイクロプロセッサ、デジタル信号プロセッサ、コントローラ、マイクロコントローラ等を含む。
【0105】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更又は改良を加えることが可能であることが当業者に明らかである。その様な変更又は改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【0106】
特許請求の範囲、明細書、及び図面中において示した装置、システム、プログラム、及び方法における動作、手順、ステップ、及び段階などの各処理の実行順序は、特段「より前に」、「先立って」などと明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、及び図面中の動作フローに関して、便宜上「まず、」、「次に、」などを用いて説明したとしても、この順で実施することが必須であることを意味するものではない。
【符号の説明】
【0107】
10 システム、20 ユーザ、40 情報ソース、52 PCF、100 管理装置、102 環境情報取得部、104 属性情報取得部、106 コンテンツ取得部、108 表示制御部、110 反応取得部、112 モデル生成部、114 選択部、122 ユーザ状況取得部、124 アプリ起動部、126 アプリ選択部、128 情報送信部、200 ユーザ端末、202 表示部、204 検知部、300 キュレーションAI、302 情報選択機能、304 学習・最適化機能、310 環境情報、312 シチュエーション情報、314 空間情報、316 属性情報、322 選択された情報、324 3D生成、332 ユーザ行動、402 測位用データ、404 位置測位機能、406 VPS/UWB、410 VM、412 アプリ、420 スイッチャー機能、430 位置データDB、440 外部災害情報、442 緊急制御機能、452 切替ログ、454 位置ログ、456 AI、460 スタンバイ制御機能、1200 コンピュータ、1210 ホストコントローラ、1212 CPU、1214 RAM、1216 グラフィックコントローラ、1218 ディスプレイデバイス、1220 入出力コントローラ、1222 通信インタフェース、1224 記憶装置、1230 ROM、1240 入出力チップ