(57)【特許請求の範囲】
【請求項１】
第１のアプリケーションにおける所定のサービスの実行に応じて、該所定のサービスに関する制約があるか否かの判定を制御する制約判定部と、
前記制約がある場合、実行中のアプリケーションを、前記第１のアプリケーションから第２のアプリケーションに切り替え、かつ、前記第１のアプリケーションから前記第２のアプリケーションに前記制約に関する条件情報を受け渡す第１切替制御部と、
前記第２のアプリケーションにおける所定のサービスの実行中に、前記条件情報に基づく前記制約に関する所定条件が満たされるか否かを判定する条件判定部と、
前記所定条件が満たされる場合、実行中のアプリケーションを、前記第２のアプリケーションから前記第１のアプリケーションに切り替える第２切替制御部と、
を備える情報処理システム。
【請求項２】
第１のアプリケーションにおける所定のサービスの実行を制御する第１実行制御ステップと、
前記所定のサービスの実行に応じて、該所定のサービスに関する制約があるか否かの判定を制御する制約判定ステップと、
前記制約がある場合、前記第１のアプリケーションからの切替対象を示す第２のアプリケーションを特定する特定情報と、前記第２のアプリケーションの実行から前記第１のアプリケーションの実行への切り替えに用いられる前記制約に関する条件情報とを前記第２のアプリケーションに出力し、かつ、前記第１のアプリケーションの実行から前記第２のアプリケーションの実行への切り替えを要求する第１切替要求ステップと、
をコンピュータに実行させるプログラム。
【請求項３】
第２のアプリケーションにおける所定のサービスの実行を制御する第２実行制御ステップと、
前記第２のアプリケーションの実行から第１のアプリケーションの実行への切り替えに用いられる所定条件であって、前記第１のアプリケーションにより出力された当該第１のアプリケーションに関する制約に関する条件情報に基づく前記所定条件が満たされるか否かを判定する第２判定ステップと、
前記所定条件が満たされる場合、前記第１のアプリケーションを特定する特定情報を用いて、前記第２のアプリケーションの実行から前記第１のアプリケーションの実行への切り替えを要求する第２切替要求ステップと、
をコンピュータに実行させるプログラム。
【請求項４】
前記第１のアプリケーションに関する制約に関する条件情報に基づく所定条件が満たされたとき、前記第１のアプリケーションへの切り替えに関する報知を行う報知画面を表示するよう制御する第２表示制御ステップをさらにコンピュータに実行させ、
前記第２切替要求ステップは、前記報知画面の表示後に、前記切り替えを要求する、請求項３に記載のプログラム。
【請求項５】
前記第２のアプリケーションに、通常又は特別の会員種別が設定されているとき、前記所定のサービスが、前記第１のアプリケーション経由で実行される場合に、前記通常の会員種別が設定されていても、当該通常の会員種別が前記特別の会員種別に変更されて前記所定のサービスが実行される、請求項３又は４に記載のプログラム。
【請求項６】
前記第２のアプリケーションの実行中に、当該第２のアプリケーションに関する条件が満たされた場合、前記第１のアプリケーションの前記所定条件が満たされていなくても、前記制約が解除されて前記第１のアプリケーションが実行可能となる、請求項１に記載の情報処理システム。
【請求項７】
前記第２のアプリケーションの実行中に、当該第２のアプリケーションに関する条件が満たされたことに基づく前記第２のアプリケーションから前記第１のアプリケーションの実行への切り替えが要求された場合、前記第１のアプリケーションの実行への切り替えに用いられる前記制約に関する条件情報に基づく所定条件が満たされていなくても、前記制約を解除するステップを、さらにコンピュータに実行させる請求項２に記載のプログラム。
【請求項８】
前記第２のアプリケーションの実行中に、当該第２のアプリケーションに関する条件が満たされた場合、前記第２のアプリケーションから前記第１のアプリケーションの実行への切り替えを要求する際に、前記第１のアプリケーションの前記所定条件が満たされていなくても、前記制約を解除するよう要求するステップ、をさらにコンピュータに実行させる請求項３乃至５いずれか一項に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理システム及びプログラムに関する。
【背景技術】
【０００２】
近年、スマートフォンなどの携帯端末向けのゲームをダウンロードし、他のプレイヤと連携を取りながらゲームを楽しむゲームシステムが知られている。このようなゲームシステムには、複数のゲームを連携させる枠組みのものがある。
【０００３】
例えば、第１ゲームを実行する実行手段と、第１ゲームにおけるユーザの実行状況が第１条件を満たすか否かを判定する第１判定手段と、第１条件を満たすと判定された場合、第１ゲームに関連付けられた第２ゲームにおけるユーザのユーザ情報を取得する情報取得手段と、取得された第２ゲームにおけるユーザ情報をユーザに通知する通知手段と、を備えるゲームがある（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１３−２５５５２６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
従来技術では、第１のアプリケーションを実行中に待ち時間が発生した場合、他のアプリケーションにおけるユーザ情報をユーザに通知することで、第１のアプリケーションに替えて他のアプリケーションへの実行を促していた。
【０００６】
しかしながら、従来技術では、実行中の第１のアプリケーションに待ち時間という制約が発生したとき、他のアプリケーションへの実行を促すだけである。そのため、第１のアプリケーションを実行していたユーザが、他のアプリケーションに実行を切り替えた場合、そのまま他のアプリケーションを実行し続け、第１のアプリケーションを再実行しない可能性があり、第１のアプリーションを運営する者にとっては好ましい状況ではなかった。
【０００７】
そこで、本発明は、制約が発生するアプリケーションに対し、制約を他のアプリケーションの実行により解消しつつ、適切なタイミングで元のアプリケーションの実行に戻すための仕組みを提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明の一態様における情報処理システムは、第１のアプリケーションにおける所定のサービスの実行に応じて、該所定のサービスに関する制約があるか否かの判定を制御する制約判定部と、前記制約がある場合、実行中のアプリケーションを、前記第１のアプリケーションから第２のアプリケーションに切り替える第１切替制御部と、前記第２のアプリケーションにおける所定のサービスの実行中に、前記制約に関する所定条件が満たされるか否かを判定する条件判定部と、前記所定条件が満たされる場合、実行中のアプリケーションを、前記第２のアプリケーションから前記第１のアプリケーションに切り替える第２切替制御部と、を備える。
【図面の簡単な説明】
【０００９】
【図１】実施形態における情報処理システムの一例を示す概念図である。
【図２】実施形態における情報処理装置のハードウェア構成の一実施形態を示すブロック図である。
【図３】実施形態におけるサーバのハードウェア構成の一例を示す図である。
【図４】実施形態における情報処理装置に表示される画面の遷移例を示す図である。
【図５】実施形態における情報処理装置の機能構成の一例を示すブロック図である。
【図６】実施形態における第１アプリ部の機能の一例を示すブロック図である。
【図７】実施形態における第２アプリ部の機能の一例を示すブロック図である。
【図８】実施形態における切替制御部の機能の一例を示すブロック図である。
【図９】実施形態におけるサーバの機能構成の一例を示すブロック図である。
【図１０】実行されるアプリケーションの時系列の関係を示す図である。
【図１１】第１具体例における情報処理装置に表示される画面の遷移例を示す図である。
【図１２】第２具体例における情報処理装置に表示される画面の遷移例を示す図である。
【図１３】第３具体例における情報処理装置に表示される画面の遷移例を示す図である。
【図１４】実施形態におけるアプリ間連携の第１処理の一例を示すシーケンス図である。
【図１５】実施形態におけるアプリ間連携の第２処理の一例を示すシーケンス図である。
【図１６】実施形態におけるアプリ間連携の第３処理の一例を示すシーケンス図である。
【発明を実施するための形態】
【００１０】
以下、図面を参照して本発明の実施の形態を説明する。ただし、以下に説明する実施形態は、あくまでも例示であり、以下に明示しない種々の変形や技術の適用を排除する意図はない。即ち、本発明は、その趣旨を逸脱しない範囲で種々変形して実施することができる。また、以下の図面の記載において、同一または類似の部分には同一または類似の符号を付して表している。図面は模式的なものであり、必ずしも実際の寸法や比率等とは一致しない。図面相互間においても互いの寸法の関係や比率が異なる部分が含まれていることがある。
【００１１】
［実施形態］
以下、本発明の実施形態におけるプログラム及び情報処理装置等を、図面を用いて説明する。
【００１２】
＜情報処理システムの概要＞
図１は、実施形態における情報処理システム１の一例を示す概念図である。図１に示す例では、情報処理システム１は、例えば各ユーザの情報処理装置１０Ａ、１０Ｂ、１０Ｃと、例えば第１のアプリケーションの運営会社により提供されるサーバ（サーバ装置）２０Ａと、第２のアプリケーションの運営会社によるサーバ２０Ｂと、がネットワークＮを介して接続される。このネットワークＮに、図示しない課金サーバ等が接続されてもよい。以下、アプリケーションは、単にアプリとも称する。
【００１３】
各情報処理装置は、個別に区別して説明する場合には符号１０Ａ、１０Ｂ、１０Ｃを用い、個別に区別する必要がなく、まとめて説明する場合には符号１０を用いる。また、情報処理装置１０は、例えば携帯端末や、タブレット端末、ＰＤＡ（Personal Digital Assistant）、パーソナルコンピュータ、ゲーム機などである。各サーバは、個別に区別して説明する場合には符号２０Ａ、２０Ｂを用い、個別に区別する必要がなく、まとめて説明する場合には符号２０を用いる。
【００１４】
例えば、情報処理装置１０は、ネットワークＮを介してサーバ２０にオンライン接続し、ウェブブラウザ上で動作可能なアプリケーションを実行する。第１のアプリケーションは、その実行中に、少なくとも第１のアプリケーションのサービスの実行が一時的に不可能になり、再実行可能になるまでの制約（例えば、時間的制約、人数的制約など）が発生するとする。例えば、第１のアプリケーションをゲームアプリとすると、クエストを実行するために必要な体力パラメータが所定値まで回復するまでの時間が、時間的制約となりうる。また、第１のアプリケーションを電車等の乗換案内アプリとすると、現在時刻から次の乗換までの時刻が、時間的制約となりうる。また、第１のアプリケーションを、所定人数が集まって初めて実行可能になるゲームであるとすると、所定人数集まるまでが、人数的制約となりうる。
【００１５】
情報処理装置１０は、実行中の第１のアプリケーションに時間的制約が発生した場合、他のアプリケーションの実行を促し、時間的制約の解除に関する所定条件が満たされた場合には、第１のアプリケーションに実行を戻すようにする。
【００１６】
サーバ２０は、各アプリケーションの実行を情報処理装置１０と連携して行う。例えば、アプリケーションがゲームアプリの場合、サーバ２０は、複数のユーザがネットワークＮを介して、基本を無料でプレイするゲーム、所謂Ｆ２Ｐ（フリートゥプレイ）のオンラインゲームなどを制御する。サーバ２０は、情報処理装置１０から入力された操作指示を受け付け、ゲームの進行を制御し、ゲームを実行するのに必要なデータを管理、配信する。また、サーバ２０は、ゲーム以外のアプリケーションを実行制御してもよく、ユーザ所望の情報を提供したり、チケットの販売を行ったり、各種アプリケーションの実行を制御する。
【００１７】
図示しない課金サーバは、情報処理装置１０またはサーバ２０からの課金要求に応じて、アプリケーション内での課金処理を行うサーバである。
【００１８】
ネットワークＮは、インターネット等であり、無線ＬＡＮのアクセスポイントや携帯電話の基地局などを含む。
【００１９】
以上の情報処理システム１において、情報処理装置１０は、第１のアプリケーションを実行中に、時間的制約が発生する場合、この時間をユーザに対して有効に使ってもらうため、第２のアプリケーションの実行を促す。このとき、情報処理装置１０は、第２のアプリケーションの実行を促すだけではなく、第２のアプリケーションに実行が切り替えられた場合に、元々ユーザが実行していた第１のアプリケーションに実行を戻すように制御する。これにより、時間的制約を有するアプリケーションに対し、時間的制約を他のアプリケーションの実行により解消しつつ、適切なタイミングで元のアプリケーションの実行に戻すための仕組みを提供することができる。
【００２０】
＜ハードウェア構成＞
次に、情報処理装置１０のハードウェア構成について説明する。図２は、図１に示す情報処理装置１０のハードウェア構成の一実施形態を示すブロック図である。
【００２１】
図２に示す情報処理装置１０は、移動体通信用アンテナ１１２、移動体通信部１１４、無線ＬＡＮ通信用アンテナ１１６、無線ＬＡＮ通信部１１８、記憶部１２０、主制御部１５０を少なくとも有し、さらに、カメラ１３０や音声出力端子１４２を含む外部インタフェース１４０などを有する。
【００２２】
タッチパネル１０２は、表示装置および入力装置の両方の機能を備え、表示機能を担うディスプレイ（表示画面）１０２Ａと、入力機能を担うタッチセンサ１０２Ｂとで構成される。ディスプレイ１０２Ａは、例えば、液晶ディスプレイや有機ＥＬ（Electro Luminescence）ディスプレイなどの一般的な表示デバイスにより構成される。タッチセンサ１０２Ｂは、ディスプレイ１０２Ａその上面に配置された接触操作を検知するための素子およびその上に積層された透明な操作面を備えて構成される。タッチセンサ１０２Ｂの接触検知方式としては、静電容量式、抵抗膜式（感圧式）、電磁誘導式など既知の方式のうちの任意の方式を採用することができる。
【００２３】
タッチパネル１０２は、主制御部１５０による記憶部１２０に記憶されているプログラム１２２の実行により生成されるゲーム画像を表示する。入力装置としてのタッチパネル１０２は、操作面に対して接触する接触物（ユーザの指やタッチペンなどを含む。以下、「指」である場合を代表例として説明する）の動作を検知することで、操作入力を受け付け、その接触位置の情報を主制御部１５０に与える。指の動作は、接触点の位置または領域を示す座標情報として検知され、座標情報は、例えば、タッチパネル１０２の短辺方向および長辺方向の二軸上の座標値として表される。
【００２４】
情報処理装置１０は、移動体通信用アンテナ１１２や無線ＬＡＮ通信用アンテナ１１６を通じてネットワーク（インターネット）Ｎに接続され、サーバ２０との間でデータ通信をすることが可能である。
【００２５】
サーバ２０は、情報処理装置１０において実行されたアプリケーション等の実行データを、ネットワークＮを介して収集し、当該実行データに基づきアプリケーションの進行を制御する等、当該システムのハブとなるサーバとして機能する。
【００２６】
また、実施形態では、情報処理装置１０がネットワークＮおよびサーバ２０と接続された場合に、当該情報処理装置１０に対して種々のアプリケーションをオンラインで提供することができるオンラインシステムを構築している。
【００２７】
実施形態に係るプログラム１２２は、情報処理装置１０にインストールされたものであってもよいし、オンライン上でサーバ（サーバ２０に限らない）からアプリケーションの機能が提供されるものであってもよい。
【００２８】
次に、サーバ２０のハードウェア構成について説明する。図３は、実施形態におけるサーバ２０のハードウェア構成の一例を示す図である。図３に示すように、サーバ２０は、制御部２０２と、通信インタフェース２０６と、記憶部２０８と、表示部２１４と、入力部２１６と、を有し、各部はバスライン２１８を介して接続される。
【００２９】
制御部２０２は、ＣＰＵ（Central Processing Unit）、ＲＯＭ（Read On Memory）、ＲＡＭ（Random Access Memory）２０４等を含む。制御部２０２は、記憶部２０８に記憶される制御プログラム２１０等を実行することにより、一般的な情報処理装置としての機能に加え、例えばオンラインのアプリケーションに関する処理を実現するように構成される。
【００３０】
また、ＲＡＭ２０４は、各種情報を一時的に保持したり、ＣＰＵが各種処理を実行する際のワークエリアとして使用されたりする。
【００３１】
通信インタフェース２０６は、ネットワークＮを介した課金サーバ３０や情報処理装置１０との通信を制御する。
【００３２】
記憶部２０８は、例えばＨＤＤ等からなり、一般的な情報処理装置としての機能を実現するためのアプリケーション及びデータ（図示省略）を記憶することに加え、制御プログラム２１０を記憶する。また、記憶部２０８は、情報記憶部２１２を有している。
【００３３】
制御プログラム２１０は、所定の処理を行うためのプログラムであり、情報処理装置１０から操作指示を受け、この操作指示にアプリケーションの進行を制御するプログラムである。制御プログラム２１０は、コンピュータに読み取り可能な記録媒体に保存され、この記録媒体から読み出されて、記憶部２０８に記憶されてもよい。
【００３４】
情報記憶部２１２は、例えばアプリケーションに用いる必要なデータや、ユーザに関するデータなどを記憶する。
【００３５】
表示部２１４は、管理者に情報を表示する。入力部２１６は、管理者からの入力を受け付けたり、管理者からの指示を受け付けたりする。また、サーバ２０は、表示部２１４と入力部２１６とを必ずしも設ける必要はなく、表示部２１４及び入力部２１６は、外部からサーバ２０に接続されるようにしてもよい。
【００３６】
＜アプリ間連携の概要＞
ここで、実施形態において対象となるアプリ間連携の概要について図４を用いて説明する。図４は、情報処理装置１０に表示される画面の遷移例を示す図である。図４を用いて説明する例は、第１のアプリケーションにおいて所定のイベント（又は所定のサービス）が実行される際に、そのイベントが実行条件を満たさないため、ユーザが所定のイベントを実行することができない場合の例である。
【００３７】
図４（Ａ）は、第１のアプリケーションの実行画面Ｄ１０２の一例を示す図である。図４（Ａ）に示す例では、第１のアプリケーションにおける所定のイベントを実行するためのＵＩ部品（例えばボタン）Ｂ１０２、Ｂ１０４、Ｂ１０６が実行画面Ｄ１０２に表示される。ここで、ユーザは、イベントＡのＵＩ部品Ｂ１０２を押した（タップ又はクリック）したとすると、図４（Ｂ）に示す画面が表示される。
【００３８】
図４（Ｂ）は、イベントＡの実行可否を表示する実行画面Ｄ１１２の一例を示す図である。図４（Ｂ）に示す画面には、ポップアップ画面Ｐ１１２が表示される。ポップアップ画面Ｐ１１２には、例えばイベントＡが実行できないことが通知され、また、他のアプリケーション（アプリＢともいう。）を実行するためのＵＩ部品Ｂ１１２、他のアプリケーションをダウンロードするためのＵＩ部品Ｂ１１４や、その他のＵＩ部品Ｂ１１６等が表示される。
【００３９】
ここで、ユーザは、イベントＡを実行することができずに時間的制約を受けるので、この時間を有効に過ごすべく、他のアプリケーションを実行するためのＵＩ部品Ｂ１１２を押したとすると、図４（Ｃ）に示す画面が表示される。
【００４０】
図４（Ｃ）は、第２のアプリケーションの実行画面Ｄ１２２の一例を示す図である。図４（Ｃ）に示す画面には、例えば、アプリＢがゲームアプリである場合、ゲーム画面が表示され、アプリＢが動画視聴アプリである場合、動画の視聴画面が表示される。図４（Ｃ）に示す画面の表示後、第１のアプリケーションへ切り替えるための所定条件が満たされると、図４（Ｄ）に示す画面が表示される。
【００４１】
図４（Ｄ）は、イベントＡが実行可能になったことを示す実行画面Ｄ１３２の一例を示す図である。図４（Ｄ）に示す画面には、ポップアップ画面Ｐ１３２が表示される。ポップアップ画面Ｐ１３２には、例えばイベントＡが実行可能になったことが通知され、また、第１のアプリケーションのイベントＡを実行するためのＵＩ部品Ｂ１３２が表示される。ここで、ユーザは、ＵＩ部品Ｂ１３２をタップすることで、第１のアプリケーションの実行画面に戻ることができる。
【００４２】
このシステムによれば、第１のアプリケーションの実行中に、時間的制約が発生した場合、第２のアプリケーションの実行を促し、この時間をユーザに対して有効に使ってもらうことができる。また、情報処理装置１０は、第２のアプリケーションが実行された場合に、元々ユーザが実行していた第１のアプリケーションに戻すように制御することができ、第１のアプリケーションの運営者は、安心して他のアプリケーションへの切り替えをユーザに提供することができる。
【００４３】
以降、上述した機能等を含むゲームを実行するための情報処理装置１０及びサーバ２０の機能構成について説明する。
【００４４】
＜機能構成＞
図５は、実施形態における情報処理装置１０の機能構成の一例を示すブロック図である。図５に示す情報処理装置１０は、例えば、第１送信部３０２と、第１受信部３０４と、第１制御部３１０と、第１記憶部３３０とを含む。
【００４５】
第１送信部３０２は、例えば主制御部１５０、移動体通信部１１４、無線ＬＡＮ通信部１１８、プログラム１２２等により実現されうる。第１送信部３０２は、プレイヤにより入力された操作内容に基づくコマンドなどをサーバ２０に送信する。このコマンドには、必要に応じて、アプリケーションにおける処理（イベントやサービス）の可否を問い合わせするための問い合わせコマンドや、条件を取得するための取得コマンドなどが含まれる。
【００４６】
第１受信部３０４は、例えば主制御部１５０、移動体通信部１１４、無線ＬＡＮ通信部１１８、プログラム１２２等により実現されうる。第１受信部３０４は、サーバ２０から、アプリケーションの実行に関する情報などを受信する。アプリケーションの実行に関する情報は、必要に応じて、アプリケーション内の処理の可否判定結果に関する情報や、アプリケーションの実行画面を表す画面情報などを含む。
【００４７】
第１制御部３１０は、例えば主制御部１５０、プログラム１２２等により実現されうる。第１制御部３１０は、情報処理装置１０全体の処理を制御し、例えば、実行される１又は複数のアプリケーションを制御する。また、第１制御部３１０は、第１アプリ部３１２と、第２アプリ部３１４と、切替制御部３１６とを含む。
【００４８】
第１アプリ部３１２は、例えば主制御部１５０と、第１のアプリケーションを実行させるための第１のプログラム等により実現されうる。第１アプリ部３１２は、第１のプログラムが実行されることにより第１のアプリケーションの様々な機能をユーザに提供する。第１のアプリケーションは、例えば、ゲームアプリや、電車等の乗換検索アプリや、チケット販売アプリや、オークションアプリなどである。また、第１アプリ部３１２は、サーバ２０Ａと連携して第１のアプリケーションのサービスを提供してもよい。
【００４９】
第２アプリ部３１４は、例えば主制御部１５０と、第２のアプリケーションを実行させるための第２のプログラム等により実現されうる。第２アプリ部３１４は、第２のプログラムが実行されることにより第２のアプリケーションの様々な機能をユーザに提供する。第２のアプリケーションは、例えば、ゲームアプリや、動画視聴アプリ、漫画閲覧アプリ、読書アプリ、ウェブページ閲覧アプリなどであり、ユーザが所定時間楽しむことができるアプリケーションである。また、第２アプリ部３１４は、サーバ２０Ｂと連携して第２のアプリケーションのサービスを提供してもよい。
【００５０】
切替制御部３１６は、複数のアプリケーションを切り替えるための制御を行う。例えば、切替制御部３１６は、第１アプリ部３１２や第２アプリ部３１４から切替要求を受けると、実行中のアプリケーションを他のアプリケーションに切り替える。具体的には、切替制御部３１６は、アプリケーションの実行権を管理し、この実行権をアプリケーションに渡すことで、ユーザ操作に基づき実行されるアプリケーションを切り替える。
【００５１】
また、アプリケーションの切り替えについて、ＵＲＬスキームという技術が用いられる。ＵＲＬスキームとは、インターネット上のコンテンツの所在や属性を表す文字列のことで、ＵＲＬと類似するものである。例えば、ＵＲＬスキームは、アプリを表す「ＸＸＸ．ＹＹ．〜」などの特定情報であり、ＵＲＬスキームに続けてコロン（「：」）記号を挟んで命令やデータ等を記述することができる。このＵＲＬスキームを用いることで、Ｗｅｂブラウザからアプリを起動したり、アプリから別のアプリを起動したりすることができるようになる。
【００５２】
例えば、ＵＩ部品（ボタン等）に、第２のアプリケーションのＵＲＬスキームが対応付けられ、このＵＩ部品が押下されると、切替制御部３１６は、ＵＲＬスキームに基づいて第２のアプリケーションを特定することができ、第１のアプリケーションの実行状態から第２のアプリケーションを容易に起動することができる。
【００５３】
また、ＵＲＬスキームでは、データの受け渡しも可能であるため、第１のアプリケーションの情報を第２のアプリケーションに渡すことも可能である。これにより、後述する時間的制約の解除に関する所定条件に用いられる情報を第２のアプリケーションに受け渡し、第２のアプリケーションにおいて、第１のアプリケーションの情報を反映させることができるようになる。
【００５４】
第１記憶部３３０は、例えば、記憶部１２０等により実現されうる。第１記憶部３３０は、第１及び第２のプログラムや、第１及び第２のアプリケーションに関する情報を記憶する。例えば、第１記憶部３３０は、時間的制約に関する情報や、この時間的制約の解除に関する所定条件の情報を記憶する。次に、第１アプリ部３１２、第２アプリ部３１４、及び切替制御部３１６の機能について詳細に説明する。
【００５５】
≪第１アプリ部≫
図６は、実施形態における第１アプリ部３１２の機能の一例を示すブロック図である。図６に示す第１アプリ部３１２は、第１操作受付部３１２２、第１コマンド発行部３１２４、第１実行制御部３１２６、制約判定部３１２８、第１表示制御部３１３０、及び第１切替要求部３１３２を含む。
【００５６】
第１操作受付部３１２２は、タッチパネル１０２から入力されるユーザの操作を、第１のアプリケーション実行中に受け付ける。例えば、第１操作受付部３１２２は、第１のアプリケーションにおける所定のサービスを実行するための操作を受け付けたり、他のアプリケーションの実行に関するユーザ操作を受け付けたりする。受け付けられた操作内容は、第１コマンド発行部３１２４に出力される。
【００５７】
第１コマンド発行部３１２４は、第１操作受付部３１２２が受け付けた操作内容に応じたコマンドを発行し、発行したコマンドを、第１送信部３０２を介してサーバ２０などに送信する。例えば、第１コマンド発行部３１２４は、問い合わせコマンドなどを発行する。
【００５８】
第１実行制御部３１２６、ユーザ操作等に基づき、第１のアプリケーションにおける所定のサービスの実行を制御する。所定のサービスは、各アプリが提供する機能やイベント等であり、このサービスに関して時間的制約が発生するものである。例えば、第１のアプリケーションがゲームアプリの場合、所定のサービスは、クエスト等であり、第１のアプリケーションが検索アプリの場合、所定のサービスは、検索結果を表示する機能等である。
【００５９】
ここで、時間的制約とは、所定のサービスを実行するために所定時間待たなければいけないことや、ユーザの次の行動時間までに所定時間待たなければいけないことなど、ユーザに対して待ち時間を発生させることである。
【００６０】
制約判定部３１２８は、第１のアプリケーションにおける所定のサービスに応じて、この所定のサービスに関する時間的制約があるか否かの判定を制御する。例えば、制約判定部３１２８は、時間的制約の可否をサーバ２０に問い合わせてもよいし、自身で時間的制約の可否を判定してもよい。本実施形態では、制約判定部３１２８は、時間的制約の可否をサーバ２０に問い合わせる例を主に説明する。この場合、制約判定部３１２８は、サーバ２０から問い合わせ結果を取得する。
【００６１】
制約判定部３１２８は、問い合わせの結果が、時間的制約有りの場合、その旨を通知するための画面を表示するよう第１表示制御部３１３０に要求する。また、制約判定部３１２８は、問い合わせ結果が、時間的制約無しの場合、第１のアプリケーションの実行が続行されるようにする。
【００６２】
第１表示制御部３１３０は、実行中のサービスに時間的制約があると判定された場合（制約判定部３１２８から表示要求を受けた場合）、第１のアプリケーションとは異なる第２のアプリケーションの実行を可能にする第１のＵＩ部品を含む第１の画面を表示するよう制御する。例えば、第１表示制御部３１３０は、ゲームアプリの実行中に、体力パラメータが足りずにクエストが実行できない場合、体力パラメータが回復するまで、他のゲームアプリ等を実行するためのボタンを含む画面を表示するよう制御する。
【００６３】
第１切替要求部３１３２は、実行中の第１のアプリケーションからの切替対象を示す第２のアプリケーションを特定する特定情報と、第２のアプリケーションの実行から第１のアプリケーションの実行への切り替えに用いられる時間的制約に関する条件情報とを用いて、第１のアプリケーションの実行から第２のアプリケーションの実行への切り替えを要求する。例えば、第１切替要求部３１３２は、第１のＵＩ部品が操作されると、この第１のＵＩ部品に対応付けられたＵＲＬスキームを用いて、実行中の第１のアプリケーションから、ＵＲＬスキームで特定される第２のアプリケーションに切り替わるよう切替制御部３１６に要求する。このとき、ＵＲＬスキームにおいて、上述した条件情報が追加されていてもよい。
【００６４】
≪第２アプリ部≫
図７は、実施形態における第２アプリ部３１４の機能の一例を示すブロック図である。図７に示す第２アプリ部３１４は、第２操作受付部３１４２、第２コマンド発行部３１４４、第２実行制御部３１４６、条件判定部３１４８、第２表示制御部３１５０、第２切替要求部３１５２、及び変更部３１５４を含む。
【００６５】
第２操作受付部３１４２は、タッチパネル１０２から入力されるユーザの操作を、第２のアプリケーション実行中に受け付ける。例えば、第２操作受付部３１４２は、第２のアプリケーションにおける処理を実行するための操作を受け付けたり、他のアプリケーションの実行に関するユーザ操作を受け付けたりする。受け付けられた操作内容は、第２コマンド発行部３１４４に出力される。
【００６６】
第２コマンド発行部３１４４は、第２操作受付部３１４２が受け付けた操作内容に応じたコマンドを発行し、発行したコマンドを、各第１送信部３０２を介してサーバ２０などに送信する。例えば、第２コマンド発行部３１４４は、問い合わせコマンドなどを発行する。
【００６７】
第２実行制御部３１４６は、ユーザ操作等に基づき、第２のアプリケーションにおける所定のサービスの実行を制御する。所定のサービスは、第２のアプリケーションがゲームアプリの場合、クエスト等であり、第２のアプリケーションが動画視聴アプリの場合、動画再生機能等である。
【００６８】
条件判定部３１４８は、第２のアプリケーションにおける所定のサービスの実行中に、時間的制約の解除に関する所定条件が満たされるか否かの判定を制御する。例えば、条件判定部３１４８は、第１のアプリケーションにおける所定のイベントが実行可能になるための所定時間が経過したか否かを判定する。なお、この所定時間は、ＵＲＬスキームを用いて、第１のアプリケーションから切替制御部３１６を介して、所定時間を示す情報（条件情報）が通知されてもよい。また、所定時間を示す情報は、第２アプリ部３１４内に予め設定されていてもよい。
【００６９】
また、条件判定部３１４８は、所定条件の成立の可否を、連携するサーバ２０に問い合わせ、判定結果を受信するようにしてもよい。本実施形態に示す例では、条件判定部３１４８が、所定条件の成立の可否を判定するとする。
【００７０】
条件判定部３１４８は、所定条件が満たされると判定した場合、その旨を通知するための画面を表示するよう第２表示制御部３１５０に要求する。また、条件判定部３１４８は、所定条件が満たされないと判定した場合、第２のアプリケーションの実行が続行されるようにする。
【００７１】
第２表示制御部３１５０は、所定条件が満たされると判定された場合（条件判定部３１４８から表示要求を受けた場合）、第２のアプリケーションの実行から、第１のアプリケーションの実行への切り替えを可能にする第２のＵＩ部品を含む第２の画面を表示するよう制御する。
【００７２】
第２切替要求部３１５２は、上述した所定条件が満たされる場合、第１のアプリケーションを特定する特定情報を用いて、第２のアプリケーションの実行から第１のアプリケーションの実行への切り替えを切替制御部３１６に要求する。
【００７３】
変更部３１５４は、上述した所定条件に基づいて、第２のアプリケーションの実行内容を変更する。例えば、変更部３１５４は、所定条件が、所定時間経過することであり、第２のアプリケーションがゲームアプリである場合、所定時間の長さに応じて、その時間でクリア可能になるようにゲームの内容を変更してもよい。
【００７４】
また、変更部３１５４は、所定条件が、所定時間経過することであり、第２のアプリケーションが動画視聴アプリである場合、所定時間の長さに応じて、その時間で視聴完了できるように動画の種類を変更してもよい。これにより、所定条件に応じた適切な第２のアプリケーションの処理をユーザに提供することができる。
【００７５】
また、第２のアプリケーションは、第１のＵＩ部品の操作に基づき実行される場合と、第１のＵＩ部品の操作以外のユーザ操作に基づき実行される場合とで、動作内容が異なってもよい。例えば、第２実行制御部３１４６は、何を契機にして第２のアプリケーションが実行されるかによって、実行内容を変更してもよい。
【００７６】
具体的には、第２実行制御部３１４６は、第２のアプリケーションを実行する通常のボタン等で第２のアプリケーションを実行する場合よりも、第１のＵＩ部品等で第２のアプリケーションを実行する場合の方が、実行内容をより簡易にしてもよい。これにより、第２のアプリケーションがアプリ間連携で実行される場合と、アプリ間連携以外の、例えば通常どおり実行される場合とで、ユーザに対してその違いを認識させることができる。
【００７７】
また、第２実行制御部３１４６は、第２のアプリケーションがゲームアプリである場合、ユーザが無料会員のときに、アプリ間連携でゲームアプリが実行される場合にだけ、有料会員と同じ権限でゲームをプレイさせてもよい。これにより、アプリ間連携で第２のアプリケーションが実行される場合にだけ、ユーザに特別な処理権限を与えることができる。
【００７８】
≪切替制御部≫
図８は、実施形態における切替制御部３１６の機能の一例を示すブロック図である。図８に示す切替制御部３１６は、第１切替制御部３１６２、及び第２切替制御部３１６４を含む。
【００７９】
第１切替制御部３１６２は、第１切替要求部３１３２からの切り替え要求に基づき、実行中のアプリケーションを、第１のアプリケーションから第２のアプリケーションに切り替えるよう制御する。例えば、第１切替制御部３１６２は、第２のアプリケーションを起動させて、第１のアプリケーションから第２のアプリケーションに切り替えることが可能である。
【００８０】
第２切替制御部３１６４は、第２切替要求部３１５２からの切り替え要求に基づき、実行中のアプリケーションを、第２のアプリケーションから第１のアプリケーションに切り替えるよう制御する。例えば、第２切替制御部３１６４は、バックエンドで実行中の第１のアプリケーションに実行権を渡すことで、第２のアプリケーションから第１のアプリケーションに切り替えることが可能である。
【００８１】
以上の処理によれば、時間的制約を有するアプリケーションに対し、時間的制約を他のアプリケーションの実行により解消しつつ、適切なタイミングで元のアプリケーションの実行に戻すような仕組みを提供することができる。
【００８２】
また、第２表示制御部３１５０は、上述した所定条件が成立した場合、第２のアプリケーションの実行画面から、第１のアプリケーションの実行画面への切り替えを可能にする第２のＵＩ部品を含む第２の画面を表示するよう制御する。例えば、第２表示制御部３１５０は、所定条件が成立した（例えば所定時間が経過した）後に、第１のアプリケーションに戻ることができるボタンを含むポップアップ画面が表示されるよう制御する。この場合、第１のアプリケーションに戻る制御が行われる際にも、上述したＵＲＬスキームが用いられればよい。
【００８３】
第２のＵＩ部品が画面に含まれる場合、第２切替要求部３１５２は、ユーザによる第２のＵＩ部品の操作に応じて、アプリケーションの切り替えが行われるよう要求する。例えば、第２切替制御部３１６４は、ユーザによりボタンがタップされたときに、第２のアプリケーションから第１のアプリケーションに実行画面が切り替わるようにする。これにより、所定条件に関する所定時間として、第１のアプリケーションが実行可能になる最短の時間が設定されれば、一旦他のアプリケーションに切り替わったとしても、第１のアプリケーション側に最短の時間で再び切り替えることができるようになる。
【００８４】
また、第２表示制御部３１５０は、上述した所定条件が成立した場合、第１のアプリケーションが実行可能であることを報知する報知画面を表示するよう制御する。例えば、第２表示制御部３１５０は、所定条件が成立することとして、所定時間が経過した後に、第１のアプリケーションが実行可能になったことを通知する画面が表示されるよう制御する。
【００８５】
第１のアプリケーションが実行可能になったことを示す報知画面が表示される場合、第２切替要求部３１５２は、報知画面の表示後に、所定のタイミングや所定の操作に応じて、第２のアプリケーションから第１のアプリケーションに実行画面が切り替わるように要求する。これにより、第２のアプリケーションを実行中のユーザに対し、このユーザが元々実行していた第１のアプリケーションが実行可能になったことを報知することができ、第１のアプリケーションに戻る契機をユーザに与えることができる。
【００８６】
また、上述した時間的制約は、第１のアプリケーションが有する複数のサービスから、操作者により選択された第１のアプリケーションにおける所定のサービスの実行を可能にするために所定時間を要することであってもよい。また、上述した所定条件は、この所定のサービスの実行に関するパラメータであって、経時変化するパラメータが所定時間に対応する所定値になることであってもよい。
【００８７】
例えば、時間的制約について、ゲームアプリにおける体力パラメータが、所定のサービス（例えばクエスト）を実行するために必要な値に満たない場合、体力パラメータが回復するまでに、ユーザは所定時間待たなければならない。この体力パラメータが回復するまでの所定時間が、時間的制約の一例となりうる。
【００８８】
また、例えば、時間的制約の解除に関する所定条件として、体力パラメータが、所定のサービスを実行可能な所定値にまで回復することである。また、所定値は、所定のサービスが実行可能になるまでの所定時間が経過する場合に達する体力パラメータの値である。これにより、一般的なゲームで用いられる体力パラメータ等に基づく時間的制約に対し、本システムを適用することができる。
【００８９】
また、上述した時間的制約は、第１のアプリケーションに関するユーザの予定行動時刻と、現在時刻との差が、設定された時間以上であることであってもよい。例えば、時間的制約について、第１のアプリケーションとしての電車等の乗換検索アプリにおいて、現在時刻から次の乗換時刻までに、設定された時間以上あることが、時間的制約の一例となりうる。設定された時間は例えば５分である。これにより、次の乗換時刻までユーザに空き時間が発生した場合に、第２のアプリケーションの実行を促すことができる。なお、設定された時間は、第２のアプリケーションの内容により変更されてもよい。
【００９０】
また、第１のアプリケーションとしてのチケット販売アプリにおいて、現在時刻からチケット販売開始時刻までに、設定された時間以上あることが、時間的制約の一例となりうる。これにより、チケット販売時刻までユーザに空き時間が発生した場合に、第２のアプリケーションの実行を促すことができる。
【００９１】
図９は、実施形態におけるサーバ２０の機能構成の一例を示すブロック図である。図９に示すサーバ２０は、第２送信部４０２と、第２受信部４０４と、第２制御部４１０と、第２記憶部４３０とを含む。サーバ２０は、制御プログラム２１０を実行することで、第２制御部４１０などの機能を実現することができる。
【００９２】
また、サーバ２０は、第１のアプリケーション、第２のアプリケーションそれぞれに対応して別で設けられてもよいし、両アプリケーションに対して共通で設けられてもよい。以下、サーバ２０Ａを第１のアプリケーションのサーバ、サーバ２０Ｂを第２のアプリケーションのサーバとして説明し、機能構成については、第１のアプリケーションのサーバとしての機能を説明する。
【００９３】
第２送信部４０２は、例えば通信インタフェース２０６や制御部２０２等により実現されうる。第２送信部４０２は、第２制御部４１０からの指示により、第１のアプリケーションの実行に関する情報を情報処理装置１０に送信する。
【００９４】
第２受信部４０４は、例えば通信インタフェース２０６や制御部２０２等により実現されうる。第２受信部４０４は、各情報処理装置１０から、操作内容を示すコマンドなどを受信する。例えば、第２受信部４０４は、ユーザが操作する情報処理装置１０から、第１のアプリケーションにおける所定のサービスの実行可否を問い合わせる要求（問い合わせコマンド）などを受信する。
【００９５】
第２制御部４１０は、例えば制御部２０２や記憶部２０８等により実現されうる。第２制御部４１０は、受信されたコマンドに基づいてアプリケーションの実行を制御する。例えば、第２制御部４１０は、ユーザ操作に基づき実行される第１のアプリケーションの実行を制御する。
【００９６】
第２記憶部４３０は、例えば記憶部２０８等により実現されうる。第２記憶部４３０は、第１のアプリケーションに関する情報を記憶する。例えば、第１のアプリケーションに関する情報には、この第１のアプリケーションを実行するユーザの情報や、上述した時間的制約及び／又は所定条件に関する情報や、第１のアプリケーションの実行画面を構成するための画面情報などを含む。
【００９７】
次に、第２制御部４１０の詳細について説明する。第２制御部４１０は、実行部４１２と、判定部４１４と、取得部４１６とを含む。
【００９８】
実行部４１２は、情報処理装置１０と連携しながら、第１のアプリケーションを実行する。例えば、実行部４１２は、情報処理装置１０と連携しながら、Ｆ２Ｐのオンラインゲーム等を実行したり、電車等の乗換検索アプリ等を実行したりする。
【００９９】
判定部４１４は、情報処理装置１０からの問い合わせコマンドを取得すると、時間的制約が発生しているか否かを判定する。例えば、判定部４１４は、第１のアプリケーションがゲームアプリの場合、体力パラメータが所定のクエストを実行できない値であれば、時間的制約があると判定し、所定のクエストが実行できる値であれば、時間的制約はないと判定する。
【０１００】
また、判定部４１４は、第１のアプリケーションが時刻に関する検索アプリの場合、現在時刻から検索結果の所定の時刻まで、所定時間以上あれば、時間的制約があると判定し、所定時間未満であれば、時間的制約は無いと判定する。判定部４１４は、情報処理装置１０の第１判定制御部３１８に対し、判定結果を送信する。所定時間は、例えば５分とする。
【０１０１】
取得部４１６は、情報処理装置１０から所定条件の取得要求がある場合に、第２記憶部４３０から所定条件を取得し、所定条件を情報処理装置１０に送信する。なお、所定条件の取得要求は、必ずしも行われるものではない。
【０１０２】
＜実行アプリの時系列の関係＞
図１０は、実行されるアプリケーションの時系列の関係を示す図である。図１０に示す例では、第１のアプリケーションをアプリＡ、第２のアプリケーションをアプリＢとして説明する。
【０１０３】
ユーザは、アプリＡを実行していたときに、時刻Ｔ１において、アプリＡでの処理に時間的制約が発生したとする。例えば、ユーザは、所定のクエストを実行しようとしたが、体力パラメータが、所定のクエストを実行するための必要量分に満たなかったとする。この判定は、制約判定部３１２８と判定部４１４とにより行われる。このとき、第１表示制御部３１３０によりポップアップ画面にアプリＢへの実行を可能にするボタンが表示され、ユーザにアプリＢの実行を促すようにする。
【０１０４】
時刻Ｔ２において、表示されたポップアップ画面に含まれるボタンが、ユーザにより押されると、切替制御部３１６は、実行中のアプリがアプリＡからアプリＢに切り替えるよう制御する。このとき、上述したようにＵＲＬスキームが用いられることで、アプリＡからアプリＢを直接起動し、アプリＡからアプリＢに実行権を渡すことができる。
【０１０５】
時刻Ｔ３において、時間的制約の解除に関する所定条件が満たされたとする。この判定は、条件判定部３１４８により行われる。このとき、第２表示制御部３１５０によりポップアップ画面にアプリＡに実行を戻ることを可能にするボタンが表示され、ユーザにアプリＡに戻ることを促すようにする。
【０１０６】
時刻Ｔ４において、例えばポップアップ画面に含まれる戻るボタンが、ユーザにより押されると、切替制御部３１６は、アプリＢからアプリＡに切り替えるよう制御する。このときも、上述したようにＵＲＬスキームが用いられることで、アプリＢからアプリＡに実行権を渡すことができる。
【０１０７】
＜具体例＞
次に、情報処理装置１０において表示される画面遷移の具体例を用いて、実施形態におけるアプリ間連携について説明する。
【０１０８】
≪第１具体例≫
第１具体例は、第１のアプリケーションがゲームアプリであり、第２のアプリケーションが動画視聴アプリの場合の例を示す。
【０１０９】
図１１は、第１具体例における情報処理装置１０に表示される画面の遷移例を示す図である。図１１（Ａ）は、ゲームアプリの実行画面Ｄ２０２の一例を示す図である。図１１（Ａ）に示す例では、ゲームアプリにおけるクエストを実行するためのボタンＢ２０２、Ｂ２０４、Ｂ２０６が実行画面Ｄ２０２に表示される。ここで、ユーザは、クエストＡのボタンＢ２０２を押した（タップ又はクリック）したとすると、図１１（Ｂ）に示す画面が表示される。
【０１１０】
図１１（Ｂ）は、クエストＡの実行可否を表示する実行画面Ｄ２１２の一例を示す図である。図１１（Ｂ）に示す画面には、ポップアップ画面Ｐ２１２が表示される。ポップアップ画面Ｐ２１２には、例えばクエストＡが実行できないことが通知され、また、動画視聴アプリを実行するためのボタンＢ２１２、他のアプリケーションをダウンロードするためのボタンＢ２１４や、その他のボタンＢ２１６、体力パラメータＰＷが実行画面Ｄ２１２に表示される。
【０１１１】
ここで、ユーザは、体力パラメータＰＷが足りないことにより、クエストＡを実行することができずに時間的制約を受けるので、この時間を有効に過ごすべく、動画視聴アプリを実行するためのボタンＢ２１２を押したとすると、図１１（Ｃ）に示す画面が表示される。
【０１１２】
図１１（Ｃ）は、動画視聴アプリの実行画面Ｄ２２２の一例を示す図である。図１１（Ｃ）に示す画面には、例えば、動画表示領域ＡＲ１０が含まれる。図１１（Ｃ）に示す画面の表示後、第１のアプリケーションに切り替えるための所定条件が満たされると、図１１（Ｄ）に示す画面が表示される。
【０１１３】
図１１（Ｄ）は、クエストＡが実行可能になったことを示す実行画面Ｄ２３２の一例を示す図である。図１１（Ｄ）に示す画面には、ポップアップ画面Ｐ２３２が表示される。ポップアップ画面Ｐ２３２には、例えばクエストＡが実行可能になったことが通知され、また、ゲームアプリのイベントＡを実行するためのボタンＢ２３２が表示される。ここで、ユーザは、ボタンＢ２３２をタップすることで、ゲームアプリの実行画面に戻ることができる。
【０１１４】
この第１具体例によれば、ゲームアプリの実行中に、クエストを実行することができずに時間的制約が発生した場合、動画視聴アプリの実行を促し、この時間をユーザに対して有効に使ってもらうことができる。また、情報処理装置１０は、動画視聴アプリが実行された場合に、元々ユーザが実行していたゲームアプリに戻すように制御することができ、ゲームアプリの運営者は、安心して他のアプリケーションへの切り替えをユーザに提供することができる。
【０１１５】
≪第２具体例≫
第２具体例は、第１のアプリケーションが電車等の乗換検索アプリであり、第２のアプリケーションがゲームアプリの場合の例を示す。
【０１１６】
図１２は、第２具体例における情報処理装置１０に表示される画面の遷移例を示す図である。図１２（Ａ）は、乗換検索アプリの実行画面Ｄ３０２の一例を示す図である。図１２（Ａ）に示す例では、乗換検索アプリにおける検索結果が表示される。ここで、現在時刻は、１３時３２分である。図１２（Ａ）の表示後に、図１２（Ｂ）に示す画面が表示される。
【０１１７】
図１２（Ｂ）は、ユーザの次の行動までに時間的制約があることを表示する実行画面Ｄ３１２の一例を示す図である。図１２（Ｂ）に示す画面には、ポップアップ画面Ｐ３１２が表示される。ポップアップ画面Ｐ３１２には、例えば次の乗換までに時間があることが通知され、また、ゲームアプリを実行するためのボタンＢ３１２、他のアプリケーションをダウンロードするためのボタンＢ３１４や、その他のボタンＢ３１６が実行画面Ｄ３１２に表示される。
【０１１８】
ここで、ユーザは、次の乗換までに時間があり、この画面を表示し続ける必要がないため、乗換までの時間を有効に過ごすべく、ゲームアプリを実行するためのボタンＢ３１２を押したとすると、図１２（Ｃ）に示す画面が表示される。
【０１１９】
図１２（Ｃ）は、ゲームアプリの実行画面Ｄ３２２の一例を示す図である。図１２（Ｃ）に示す画面には、例えば、ゲーム画面の表示領域ＡＲ２０が含まれる。図１２（Ｃ）に示す画面の表示後、第１のアプリケーションに切り替えるための所定条件が満たされると、図１２（Ｄ）に示す画面が表示される。
【０１２０】
図１２（Ｄ）は、乗換時刻が近づいていることを示す実行画面Ｄ３３２の一例を示す図である。図１２（Ｄ）に示す画面には、ポップアップ画面Ｐ３３２が表示される。ポップアップ画面Ｐ３３２には、例えば乗換時刻が近づいていることが通知され、また、乗換検索アプリを実行するためのボタンＢ３３２が表示される。ここで、ユーザは、ボタンＢ３３２をタップすることで、乗換検索アプリの実行画面に戻ることができる。
【０１２１】
この第２具体例によれば、乗換検索アプリの実行中に、次の乗換時刻までに時間的制約が発生した場合、ゲームアプリの実行を促し、次の乗換までの時間をユーザに対して有効に使ってもらうことができる。また、情報処理装置１０は、ゲームアプリが実行された場合に、元々ユーザが実行していた乗換検索アプリに戻すように制御することができ、乗換検索アプリの運営者は、安心して他のアプリケーションへの切り替えをユーザに提供することができる。
【０１２２】
≪第３具体例≫
第３具体例は、第１のアプリケーションがチケット販売アプリであり、第２のアプリケーションがゲームアプリの場合の例を示す。
【０１２３】
図１３は、第３具体例における情報処理装置１０に表示される画面の遷移例を示す図である。図１３（Ａ）は、チケット販売アプリの実行画面Ｄ４０２の一例を示す図である。図１３（Ａ）に示す例では、チケット販売アプリにおける検索結果が表示される。ここで、現在時刻は、９時４０分である。図１３（Ａ）の表示後に、図１３（Ｂ）に示す画面が表示される。
【０１２４】
図１３（Ｂ）は、ユーザの次の行動までに時間的制約があることを表示する実行画面Ｄ４１２の一例を示す図である。図１３（Ｂ）に示す画面には、ポップアップ画面Ｐ４１２が表示される。ポップアップ画面Ｐ４１２には、例えばチケット販売までに時間があることが通知され、また、ゲームアプリを実行するためのボタンＢ４１２、他のアプリケーションをダウンロードするためのボタンＢ４１４や、その他のボタンＢ４１６が実行画面Ｄ４１２に表示される。
【０１２５】
ここで、ユーザは、チケット販売までに時間があり、この画面を表示し続ける必要がないため、チケット販売までの時間を有効に過ごすべく、ゲームアプリを実行するためのボタンＢ４１２を押したとすると、図１３（Ｃ）に示す画面が表示される。
【０１２６】
図１３（Ｃ）は、ゲームアプリの実行画面Ｄ４２２の一例を示す図である。図１３（Ｃ）に示す画面には、例えば、ゲーム画面の表示領域ＡＲ２０が含まれる。図１３（Ｃ）に示す画面の表示後、第１のアプリケーションに切り替えるための所定条件が満たされると、図１３（Ｄ）に示す画面が表示される。
【０１２７】
図１３（Ｄ）は、チケット販売時刻が近づいていることを示す実行画面Ｄ４３２の一例を示す図である。図１３（Ｄ）に示す画面には、ポップアップ画面Ｐ４３２が表示される。ポップアップ画面Ｐ４３２には、例えばチケット販売時刻が近づいていることが通知され、また、チケット販売アプリを実行するためのボタンＢ４３２が表示される。ここで、ユーザは、ボタンＢ４３２をタップすることで、チケット販売アプリの実行画面に戻ることができる。
【０１２８】
この第３具体例によれば、チケット販売アプリの実行中に、チケット販売までに時間的制約が発生した場合、ゲームアプリの実行を促し、チケット販売までの時間をユーザに対して有効に使ってもらうことができる。また、情報処理装置１０は、ゲームアプリが実行された場合に、元々ユーザが実行していたチケット販売アプリに戻すように制御することができ、チケット販売アプリの運営者は、安心して他のアプリケーションへの切り替えをユーザに提供することができる。
【０１２９】
以上、３つの具体例を説明したが、第１のアプリケーションと第２のアプリケーションの組み合わせは上記例に限られない。例えば、第１のアプリケーションとして、レストラン予約アプリなどが適用でき、第２のアプリケーションとして、漫画閲覧アプリや、読書アプリ、ゲームの攻略サイト閲覧アプリなどが適用可能である。
【０１３０】
＜動作＞
次に、実施形態における情報処理システム１の動作について説明する。図１４は、実施形態におけるアプリ間連携の第１処理の一例を示すシーケンス図である。図１４に示す例では、第１のアプリケーションをアプリＡ、第２のアプリケーションをアプリＢとし、アプリＡに対応するサーバをサーバＡ、アプリＢに対するサーバをサーバＢとする。第１処理では、アプリはサーバ間で連携して制御されるものとして説明する。また、アプリＡ及びアプリＢは、情報処理装置１０Ａにより実行されるとし、サーバＡは、サーバ２０Ａ、サーバＢは、サーバ２０Ｂであるとする。
【０１３１】
図１４に示すステップＳ１０２で、アプリＡは、自アプリＡの実行中に、時間的制約が有るか否かをサーバＡに問い合わせる。このとき、アプリＡは、時間的制約の判定に用いるデータをサーバＡに送信してもよい。
【０１３２】
ステップＳ１０４で、サーバＡは、時間的制約の有無を判定する。このとき、サーバＡは、時間的制約の判定に用いるデータを用いて、アプリＡにおいて時間的制約が発生しているか否かを判定する。例えば、アプリＡがゲームアプリの場合、体力パラメータが一定値以上であるか否かを判定する。
【０１３３】
ステップＳ１０６で、サーバＡは、アプリＡに対し、時間的制約の判定結果を返す。
【０１３４】
ステップＳ１０８で、アプリＡは、判定結果を画面に表示するよう制御する。このとき、判定結果が時間的制約有の場合、アプリＢへの切り替えを示すボタン等が画面に表示される。ユーザがこのボタンを押したり又は所定時間が経過したりすると、処理はステップＳ１１０に進む。
【０１３５】
ステップＳ１１０で、アプリＡは、切替制御部３１６に対し、ユーザ操作に基づいて又は所定時間経過後に、ＵＲＬスキーマ等を用いてアプリＢの起動を要求する。
【０１３６】
ステップＳ１１２で、切替制御部３１６は、切替要求に基づき、例えばＵＲＬスキーマで特定されるアプリＢを起動し、実行中のアプリケーションをアプリＡからアプリＢに切り替えるよう制御する。
【０１３７】
ステップＳ１１４で、アプリＢは、起動されると、サーバＢにアプリＢの実行リクエストを行う。このとき、必要に応じて、時間的制約の解除に関する所定条件の条件情報がアプリＢに出力されてもよい。
【０１３８】
ステップＳ１１６で、サーバＢは、実行リクエストに対する応答をアプリＢに行う。これにより、アプリＢは、サーバＢと連携してデータ通信が行われ、アプリＢの処理が制御されるようになる。
【０１３９】
ステップＳ１１８で、アプリＢは、アプリの実行画面を表示するよう制御する。
【０１４０】
ステップＳ１２０で、アプリＢは、所定条件が満たされるか否かを判定する。所定条件は、ステップＳ１１２の起動要求時に取得されてもよい。ここで、所定条件が満たされた場合に、処理はステップＳ１２４に進む。
【０１４１】
ステップＳ１２４で、アプリＢは、アプリＢからアプリＡに切り替えることに関する画面を表示するよう制御する。
【０１４２】
ステップＳ１２６で、アプリＢは、切替制御部３１６に対し、ユーザ操作に基づいて又は所定時間経過後に、ＵＲＬスキーマ等を用いてアプリＡに切り替えるよう要求する。
【０１４３】
ステップＳ１２８で、切替制御部３１６は、表示画面に表示されるアプリケーションの実行権を、アプリＢからアプリＡに渡す。
【０１４４】
ステップＳ１３０で、アプリＡは、実行権が渡されると、再びサーバＡに実行リクエストを行う。
【０１４５】
ステップＳ１３２で、サーバＡは、実行リクエストに対する応答をアプリＡに行う。これにより、アプリＡは、サーバＡと再び連携してデータ通信が行われ、アプリＡの処理が制御されるようになる。
【０１４６】
ステップＳ１３４で、アプリＡは、アプリの実行画面を表示するよう制御する。以上の第１処理によれば、サーバ間連携を行い、かつ時間的制約が発生するアプリケーションに対し、時間的制約を他のアプリケーションの実行により解消しつつ、適切なタイミングで元のアプリケーションの実行に戻すための仕組みを提供することができる。
【０１４７】
次に、上述した処理の主体等を変えても本システムを適用することができることについて説明する。図１５は、実施形態におけるアプリ間連携の第２処理の一例を示すシーケンス図である。図１５に示す例では、図１４に示す例と同様、第１のアプリケーションをアプリＡ、第２のアプリケーションをアプリＢとする。また、図１５に示す例では、図１４に示す例とは異なり、それぞれのアプリは、情報処理装置１０Ａ内で完結して処理するものとし、時間的制約が有るか否かの判定は、アプリＡにおいて処理される。
【０１４８】
図１５に示すステップＳ２０２で、アプリＡは、アプリＡの実行中に、アプリＡに関する時間的制約が発生したか否かを判定する。時間的制約が発生していれば、処理はステップＳ２０４に進む。
【０１４９】
ステップＳ２０４で、アプリＡは、判定結果を画面に表示するよう制御する。このとき、判定結果が時間的制約有りの場合、アプリＢへの切り替えを示すボタン等が画面に表示される。ユーザがこのボタンを押したり又は所定時間が経過したりすると、処理はステップＳ２０６に進む。
【０１５０】
ステップＳ２０６で、アプリＡは、切替制御部３１６に対し、ユーザ操作に基づいて又は所定時間経過後に、アプリＢの起動を要求する。
【０１５１】
ステップＳ２０８で、切替制御部３１６は、切替要求に基づき、例えば予め設定されたアプリＢを起動し、実行中のアプリケーションをアプリＡからアプリＢに切り替えるよう制御する。
【０１５２】
ステップＳ２１０で、アプリＢは、アプリの実行画面を表示するよう制御する。
【０１５３】
ステップＳ２１２で、アプリＢは、所定条件が満たされるか否かを判定する。所定条件は、ステップＳ２０８の起動要求時に取得されてもよい。ここで、所定条件が満たされた場合に、処理はステップＳ２１４に進む。
【０１５４】
ステップＳ２１４で、アプリＢは、アプリＢからアプリＡに切り替えることに関する画面を表示するよう制御する。
【０１５５】
ステップＳ２１６で、アプリＢは、切替制御部３１６に対し、ユーザ操作に基づいて又は所定時間経過後に、アプリＡに切り替えるよう要求する。
【０１５６】
ステップＳ２１８で、切替制御部３１６は、表示画面に表示されるアプリケーションに対する実行権を、アプリＢからアプリＡに渡す。
【０１５７】
ステップＳ２２０で、アプリＡは、アプリの実行画面を表示するよう制御する。以上の第２処理によれば、装置内で完結して処理を行い、かつ時間的制約が発生するアプリケーションに対し、時間的制約を他のアプリケーションの実行により解消しつつ、適切なタイミングで元のアプリケーションの実行に戻すための仕組みを提供することができる。また、第２処理によれば、サーバとの連携が不要であり簡易なシステムであるため、実装が容易である。
【０１５８】
図１６は、実施形態におけるアプリ間連携の第３処理の一例を示すシーケンス図である。図１６に示す例では、図１４に示す例と同様、第１のアプリケーションをアプリＡ、第２のアプリケーションをアプリＢとし、アプリはサーバと連携して制御されるものであるとする。図１６に示す例では、図１４及び図１５に示す例と異なり、アプリＢは、共通サーバと連携して制御されるものとする。また、アプリＡ及びアプリＢは、情報処理装置１０Ａにより実行されるとし、サーバＡは、サーバ２０Ａ、共通サーバは、サーバ２０Ｂであるとする。共通サーバは、時間的制約の判定条件や、所定条件を記憶する。
【０１５９】
図１６に示すステップＳ３０２で、アプリＡは、自アプリＡの実行中に、時間的制約の判定条件をサーバＡに要求する。
【０１６０】
ステップＳ３０４で、サーバＡは、共通サーバに、時間的制約の判定条件を要求する。
【０１６１】
ステップＳ３０６で、共通サーバは、サーバＡに対し、判定条件を応答結果として返す。
【０１６２】
ステップＳ３０８で、サーバＡは、アプリＡに対し、共通サーバから取得した判定条件を応答結果として返す。
【０１６３】
ステップＳ３１０で、アプリＡは、取得した時間的制約の判定条件に基づき、時間的制約の有無を判定する。このとき、判定結果が時間的制約有りの場合、アプリＢへの切り替えを示すボタン等が画面に表示される。ユーザがこのボタンを押したり又は所定時間が経過したりすると、処理はステップＳ３１２に進む。
【０１６４】
ステップＳ３１２で、アプリＡは、切替制御部３１６に対し、ユーザ操作に基づいて又は所定時間経過後に、ＵＲＬスキーマ等を用いてアプリＢの起動を要求する。
【０１６５】
ステップＳ３１４で、切替制御部３１６は、切替要求に基づき、例えばＵＲＬスキーマで特定されるアプリＢを起動し、実行中のアプリケーションをアプリＡからアプリＢに切り替えるよう制御する。
【０１６６】
ステップＳ３１６で、アプリＢは、起動されると、アプリの実行画面を表示するよう制御する。
【０１６７】
ステップＳ３１８で、アプリＢは、共通サーバに対し、所定条件の情報を取得するよう要求する。
【０１６８】
ステップＳ３２０で、共通サーバは、アプリＢに対し、所定条件の情報を応答結果として返す。
【０１６９】
ステップＳ３２２で、アプリＢは、取得した情報に基づく所定条件が満たされるか否かを判定する。ここで、所定条件が満たされた場合に、処理はステップＳ３２４に進む。
【０１７０】
ステップＳ３２４で、アプリＢは、アプリＢからアプリＡに切り替えることに関する画面を表示するよう制御する。
【０１７１】
ステップＳ３２６で、アプリＢは、切替制御部３１６に対し、ユーザ操作に基づいて又は所定時間経過後に、ＵＲＬスキーマ等を用いてアプリＡに切り替えるよう要求する。
【０１７２】
ステップＳ３２８で、切替制御部３１６は、表示画面に表示されるアプリケーションの実行権を、アプリＢからアプリＡに渡す。
【０１７３】
ステップＳ３３０で、アプリＡは、実行権が渡されると、再びサーバＡに実行リクエストを行う。
【０１７４】
ステップＳ３３２で、サーバＡは、実行リクエストに対する応答をアプリＡに行う。これにより、アプリＡは、サーバＡと再び連携してデータ通信が行われ、アプリＡの処理が制御されるようになる。
【０１７５】
ステップＳ３３４で、アプリＡは、アプリの実行画面を表示するよう制御する。以上の第３処理によれば、共通サーバと連携を行い、かつ時間的制約が発生するアプリケーションに対し、時間的制約を他のアプリケーションの実行により解消しつつ、適切なタイミングで元のアプリケーションの実行に戻すための仕組みを提供することができる。また、第３処理によれば、時間的制約の判定条件や所定条件が、共通サーバで管理することができるため、汎用性を向上させることができる。
【０１７６】
なお、図１４〜１６で説明した処理のフローに含まれる各処理ステップは、処理内容に矛盾が生じない範囲で、任意に順番を変更して又は並列に実行することができるとともに、各処理ステップ間に他のステップを追加してもよい。また、便宜上１ステップとして記載されているステップは、複数ステップに分けて実行することができる一方、便宜上複数ステップに分けて記載されているものは、１ステップとして把握することができる。
【０１７７】
［変形例］
上記実施形態における変形例として、例えば時間的制約の解除に関する所定条件として、第１のアプリケーションに関する条件と、第２のアプリケーションに関する条件とがあってもよい。第１のアプリケーションに関する条件とは、所定時間経過することであったり、第２のアプリケーションに関する条件とは、漫画閲覧アプリや読書アプリなどの場合は何冊読まれたかであり、最後まで閲覧されたことであったりする。
【０１７８】
また、所定条件が、第２のアプリケーションに関する条件の場合、所定条件が満たされても、第１のアプリケーションが必ずしも実行できない場合もありうる。この場合、特別に第１のアプリケーションを実行可能としたり、所定のアイテム等を付与したりしてもよい。
【０１７９】
例えば、第１のアプリケーションがゲームアプリで、第２のアプリケーションが漫画閲覧アプリであり、時間的制約が、体力パラメータが所定値まで回復することであり、所定条件が、漫画１冊を読むことであるとする。以上の条件のもとでは、ユーザは、ゲームアプリから漫画閲覧アプリに移動した後、漫画１冊を読み終えたが、読むスピードが速すぎたため、体力パラメータが回復していない場合がありうる。このとき、第１実行部３１６は、体力パラメータが回復していないが、回復したものとみなして、ゲームアプリにおけるクエストの実行を可能にする。これにより、所定条件を満たした後のユーザに、第１のアプリケーションが実行できないなどの不都合な状態を避けることができる。
【０１８０】
上述した各種の処理は、情報処理装置側で行われてもよいし、サーバ側で行われてもよいし、実装内容によって適宜変更されてもよい。例えば、制約判定部３１２８において、時間的制約が有るか否かが判定されてもよい。
【０１８１】
第２のアプリケーションの実行中に、バックエンドで第１のアプリケーションの実行が可能な場合、第１のアプリケーションにおいて時間的制約の判定が行われてもよい。第１のアプリケーションにおいて時間的制約が解除されたと判定された場合、第２のアプリケーションの実行中に、ポップアップ画面などで、第１のアプリケーションが実行可能になったことが通知されてもよい。
【０１８２】
また、第１のアプリケーションから第２のアプリケーションに切り替える際、第２のアプリケーションを起動するとして説明したが、既に第２のアプリケーションが起動された状態で、実行権を渡すだけでアプリケーションの切り替えが行われるようにしてもよい。
【０１８３】
また、第１のアプリケーションが、所定人数の参加が必要なゲームである場合、所定人数が集まるまでゲームが実行できないという人数的制約が発生する。このとき、上述したように、第２のアプリケーションに切り替える制御がなされてもよい。バックエンドで実行中の第１のアプリケーションにおいて、所定人数が集まったことが検知されると、その旨を示す情報が、第２のアプリケーションに通知される。第２のアプリケーションは、この情報を取得すると、アプリケーションの実行権が、第１のアプリケーションに戻るように制御を行う。上記のような形態においても、本発明を適用することができ、同様の効果を得ることができる。
【０１８４】
以上、実施形態について詳述したが、上記実施形態に限定されるものではなく、特許請求の範囲に記載された範囲内において、上記実施形態以外にも種々の変形及び変更が可能である。
【符号の説明】
【０１８５】
１  情報処理システム
１０  情報処理装置
２０  サーバ
１２０  記憶部
１５０  主制御部
２０２  制御部
２０８  記憶部
３１０  第１制御部
３１２  第１アプリ部
３１４  第２アプリ部
３１６  切替制御部
４１０  第２制御部
４３０  第２記憶部
【要約】
【課題】制約が発生するアプリケーションに対し、制約を他のアプリケーションの実行により解消し、元のアプリケーションの実行に戻す仕組みを提供する。
【解決手段】第１のアプリケーションにおける所定のサービスの実行に応じて、所定のサービスに関する制約があるか否かの判定を制御する制約判定部と、制約がある場合、実行中のアプリケーションを、第１のアプリケーションから第２のアプリケーションに切り替える第１切替制御部と、第２のアプリケーションにおける所定のサービスの実行中に、制約に関する所定条件が満たされるか否かを判定する条件判定部と、所定条件が満たされる場合、実行中のアプリケーションを、前記第２のアプリケーションから第１のアプリケーションに切り替える第２切替制御部と、を備える。
【選択図】図５【図１】
0005999396.tif 000002
【図２】
0005999396.tif 000003
【図３】
0005999396.tif 000004
【図４】
0005999396.tif 000005
【図５】
0005999396.tif 000006
【図６】
0005999396.tif 000007
【図７】
0005999396.tif 000008
【図８】
0005999396.tif 000009
【図９】
0005999396.tif 000010
【図１０】
0005999396.tif 000011
【図１１】
0005999396.tif 000012
【図１２】
0005999396.tif 000013
【図１３】
0005999396.tif 000014
【図１４】
0005999396.tif 000015
【図１５】
0005999396.tif 000016
【図１６】
0005999396.tif 000017