(57)【要約】【課題】処理を連携させる仕組みを実現する際にユーザが要する手間を削減する。【解決手段】サーバ装置は、通信端末から取得したアプリ連携ルール実行履歴から、時間的な前後関係を持って順番で実行される確率の高いアプリ連携ルールどうしの組み合わせを学習する。サーバ装置は、学習した内容に基づいて、通信端末において実行中のアプリ連携ルールと時間的な前後関係を持って順番で実行される確率の高いアプリ連携ルールを、通信端末に対してお薦めとして通知する。【選択図】図２
2013003788.tif 000002
【特許請求の範囲】
【請求項１】
複数の通信端末から当該通信端末において実行された処理の履歴を取得する取得手段と、
異なる処理が所定の順番で実行される確からしさを表す値を記憶する記憶手段と、
前記取得手段によって取得された履歴内の異なる処理が所定の順番で実行される確からしさを表す値を、当該異なる処理の組み合わせ毎に算出する算出手段と、
前記算出手段によって算出された値を用いて、前記記憶手段に記憶されている前記値を更新する更新手段と、
一の処理を特定する特定手段と、
前記記憶手段に記憶されている前記値に基づいて、前記特定手段により特定された一の処理に対して前記所定の順番で実行される確からしさを表す値が閾値以上である処理を抽出する抽出手段と、
前記抽出手段により抽出された処理を前記通信端末のユーザに通知する通知手段と
を備えることを特徴とする情報処理システム。
【請求項２】
前記算出手段は、
前記取得手段によって取得された履歴のうち、予め決められた時期よりも後に実行された前記異なる処理についてのみ前記所定の順番で実行される確からしさを表す値を算出する
ことを特徴とする請求項１に記載の情報処理システム。
【請求項３】
前記算出手段は、
前記取得手段によって取得された履歴内の異なる処理がそれぞれ実行された時期の間隔が短いほど、当該異なる処理が前記所定の順番で実行される確からしさに応じた値を高く算出し、当該間隔が長いほど当該異なる処理が前記所定の順番で実行される確からしさに応じた値を低く算出する
ことを特徴とする請求項１又は２に記載の情報処理システム。
【請求項４】
前記算出手段は、
前記取得手段によって取得された履歴内の異なる処理を一組としたとき、前記履歴内の当該異なる処理の組の数が多いほど当該異なる処理が前記所定の順番で実行される確からしさを表す値を高く算出し、前記履歴内の当該異なる処理の組の数が少ないほど当該異なる処理が前記所定の順番で実行される確からしさを表す値を低く算出する
ことを特徴とする請求項１〜３のいずれかに記載の情報処理システム。
【請求項５】
前記算出手段は、
前記取得手段によって取得された履歴内の異なる処理を一組としたとき、当該異なる処理の組を含む履歴の提供元である前記通信端末の数が多いほど、当該異なる処理が前記所定の順番で実行される確からしさを表す値を高く算出し、当該異なる処理の組を含む履歴の提供元である前記通信端末の数が少ないほど、当該異なる処理が前記所定の順番で実行される確からしさを表す値を低く算出する
ことを特徴とする請求項１〜４のいずれかに記載の情報処理システム。
【請求項６】
前記通信端末の属する地域を表す地域情報を取得する地域情報取得手段を備え、
前記記憶手段は、
前記地域情報によって表される地域ごとに、前記異なる処理が前記所定の順番で実行される確からしさを表す値を記憶し、
前記算出手段は、
前記地域情報取得手段によって取得された地域情報が表す地域ごとに、前記取得手段によって取得された履歴内の異なる処理が前記所定の順番で実行される確からしさを表す値を算出し、
前記更新手段は、
前記算出手段によって前記地域ごとに算出された前記値を用いて、前記記憶手段に前記地域ごとに記憶されている前記値を更新し、
前記抽出手段は、
前記特定手段によって特定された一の処理を実行する通信端末の属する地域について前記記憶手段に記憶されている前記値に基づいて、前記特定手段により特定された一の処理に対して所定の順番で実行される確からしさを表す値が閾値以上である処理を抽出する
ことを特徴とする請求項１〜５のいずれかに記載の情報処理システム。
【請求項７】
前記通信端末のユーザの属性を表す属性情報を取得する属性情報取得手段を備え、
前記記憶手段は、
前記属性情報によって表される属性ごとに、前記異なる処理が前記所定の順番で実行される確からしさを表す値を記憶し、
前記算出手段は、
前記属性情報取得手段によって取得された属性情報が表す属性ごとに、前記取得手段によって取得された履歴内の異なる処理が前記所定の順番で実行される確からしさを表す値を算出し、
前記更新手段は、
前記算出手段によって前記属性ごとに算出された前記値を用いて、前記記憶手段に前記属性ごとに記憶されている前記値を更新し、
前記抽出手段は、
前記特定手段によって特定された一の処理を実行する通信端末のユーザの属性について前記記憶手段に記憶されている前記値に基づいて、前記特定手段により特定された一の処理に対して所定の順番で実行される確からしさを表す値が閾値以上である処理を抽出する
ことを特徴とする請求項１〜６のいずれかに記載の情報処理システム。
【請求項８】
前記処理は、各々の前記通信端末において複数のアプリケーションプログラムが順番に実行されるときの処理群を一単位とし、
前記特定手段は、各々の前記通信端末において実行可能な前記処理の一覧を当該通信端末から取得して、当該一覧から抽出した処理を前記一の処理として特定し、
前記抽出手段は、特定された前記一の処理に対して所定の順番で実行される確からしさを表す値が閾値以上である処理のうち、当該一の処理が抽出された前記一覧に含まれない処理を抽出する
ことを特徴とする請求項１〜７のいずれかに記載の情報処理システム。
【請求項９】
前記処理は、各々の前記通信端末において一のアプリケーションプログラムが実行されるときの各処理を一単位とし、
前記特定手段は、各々の前記通信端末においてユーザにより指定された処理を前記一の処理として特定し、
前記通知手段は、前記特定手段によって特定された一の処理と前記抽出手段によって抽出された処理とを、当該一の処理を前記利用者が指定するときに用いられた前記通信端末に通知する
ことを特徴とする請求項１〜４のいずれかに記載の情報処理システム。
【請求項１０】
複数の通信端末から当該通信端末において実行された処理の履歴を取得する第１ステップと、
前記第１ステップによって取得された履歴内の異なる処理が所定の順番で実行される確からしさに応じた値を、当該処理を実行した通信端末単位で算出する第２ステップと、
異なる処理が前記所定の順番で実行される確からしさを表す値を記憶する記憶手段において、その記憶されている値を前記第２ステップによって算出された前記値を用いて更新する第３ステップと、
一の処理を特定する第４ステップと、
前記記憶手段に記憶されている前記値に基づいて、前記第４ステップにより特定された一の処理に対して所定の順番で実行される確からしさを表す値が閾値以上である処理を抽出する第５ステップと、
前記第５ステップにより抽出された処理を前記通信端末のユーザに通知する第６ステップと
を備えることを特徴とする情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、処理どうしの連携を支援する技術に関する。
【背景技術】
【０００２】
複数のアプリケーションプログラムを実行するにあたって、アプリケーションプログラムの実行順序を制御する技術が知られている。例えば特許文献１には、複数のアプリケーションプログラムを順次実行するシステムにおいて、アプリケーションプログラムの実行順序を予め記憶しておくことで、或るアプリケーションプログラムの実行完了に伴って、後続のアプリケーションプログラムの起動を促す画像表示等を行い、ユーザに対して、次に実行すべきアプリケーションプログラムの選択を容易なものとする制御装置が記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００６−２７７０６４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１に記載の技術を応用すれば、単に順序だててアプリケーションプログラムを実行するだけでなく、先行及び後続の順序を持って実行されるアプリケーションプログラムどうしにおいて、各々の処理の内容に共通して用いることが可能な要素が存在する場合に、この要素を利用して、アプリケーションプログラムに基づいてなされる処理を連携させることが可能である。例えば、ＧＰＳ機能の処理と乗換え検索機能の処理とで共通して用いることが可能な要素を「位置」とすると、例えば、ユーザは、ＧＰＳ機能により取得された「現在地」としての位置を、乗換え検索機能において「出発地」としての位置に設定して、乗換え検索の処理を実行することが可能である。このように、共通して用いることが可能な要素を利用して処理どうしが連携可能であると、ユーザは、複数の処理によるサービスを受けることが可能になるため便利である。
【０００５】
しかしながら、特許文献１に記載の技術を応用して上記のような処理の連携を実現しようとした場合、この技術では予め記憶された順序でしか処理を連携することができないため、ユーザは、それまでに記憶されていない順序で処理を連携させたい場合には、都度、連携させたい処理やその順序を自ら特定して装置に記憶させる必要があり、ユーザにとって利便性がよいとはいえない。また、処理の数や種類が増えるのに伴って、処理の連携方法も増えるため、１人のユーザだけで連携対象となる様々な処理やその順序を自ら特定しようとすると、手間を要する。
【０００６】
本発明は上述の背景に鑑みてなされたものであり、処理を連携させる仕組みを実現する際にユーザが要する手間を削減することを目的とする。
【課題を解決するための手段】
【０００７】
上述した課題を解決するために、本発明は、複数の通信端末から当該通信端末において実行された処理の履歴を取得する取得手段と、異なる処理が所定の順番で実行される確からしさを表す値を記憶する記憶手段と、前記取得手段によって取得された履歴内の異なる処理が所定の順番で実行される確からしさを表す値を、当該異なる処理の組み合わせ毎に算出する算出手段と、前記算出手段によって算出された前記値を用いて、前記記憶手段に記憶されている前記値を更新する更新手段と、一の処理を特定する特定手段と、前記記憶手段に記憶されている前記値に基づいて、前記特定手段により特定された一の処理に対して前記所定の順番で実行される確からしさを表す値が閾値以上である処理を抽出する抽出手段と、前記抽出手段により抽出された処理を前記通信端末のユーザに通知する通知手段とを備えることを特徴とする情報処理システムを提供する。
【０００８】
好ましい態様において、前記算出手段は、前記取得手段によって取得された履歴のうち、予め決められた時期よりも後に実行された前記異なる処理についてのみ前記所定の順番で実行される確からしさを表す値を算出することを特徴とする。
【０００９】
また、好ましい態様において、前記算出手段は、前記取得手段によって取得された履歴内の異なる処理がそれぞれ実行された時期の間隔が短いほど、当該異なる処理が前記所定の順番で実行される確からしさに応じた値を高く算出し、当該間隔が長いほど当該異なる処理が前記所定の順番で実行される確からしさに応じた値を低く算出することを特徴とする。
【００１０】
また、好ましい態様において、前記算出手段は、前記取得手段によって取得された履歴内の異なる処理を一組としたとき、前記履歴内の当該異なる処理の組の数が多いほど当該異なる処理が前記所定の順番で実行される確からしさを表す値を高く算出し、前記履歴内の当該異なる処理の組の数が少ないほど当該異なる処理が前記所定の順番で実行される確からしさを表す値を低く算出することを特徴とする。
【００１１】
また、好ましい態様において、前記算出手段は、前記取得手段によって取得された履歴内の異なる処理を一組としたとき、当該異なる処理の組を含む履歴の提供元である前記通信端末の数が多いほど、当該異なる処理が前記所定の順番で実行される確からしさを表す値を高く算出し、当該異なる処理の組を含む履歴の提供元である前記通信端末の数が少ないほど、当該異なる処理が前記所定の順番で実行される確からしさを表す値を低く算出することを特徴とする。
【００１２】
また、好ましい態様において、前記通信端末の属する地域を表す地域情報を取得する地域情報取得手段を備え、前記記憶手段は、前記地域情報によって表される地域ごとに、前記異なる処理が前記所定の順番で実行される確からしさを表す値を記憶し、前記算出手段は、前記地域情報取得手段によって取得された地域情報が表す地域ごとに、前記取得手段によって取得された履歴内の異なる処理が前記所定の順番で実行される確からしさを表す値を算出し、前記更新手段は、前記算出手段によって前記地域ごとに算出された前記値を用いて、前記記憶手段に前記地域ごとに記憶されている前記値を更新し、前記抽出手段は、前記特定手段によって特定された一の処理を実行する通信端末の属する地域について前記記憶手段に記憶されている前記値に基づいて、前記特定手段により特定された一の処理に対して所定の順番で実行される確からしさを表す値が閾値以上である処理を抽出することを特徴とする。
【００１３】
また、好ましい態様において、前記通信端末のユーザの属性を表す属性情報を取得する属性情報取得手段を備え、前記記憶手段は、前記属性情報によって表される属性ごとに、前記異なる処理が前記所定の順番で実行される確からしさを表す値を記憶し、前記算出手段は、前記属性情報取得手段によって取得された属性情報が表す属性ごとに、前記取得手段によって取得された履歴内の異なる処理が前記所定の順番で実行される確からしさを表す値を算出し、前記更新手段は、前記算出手段によって前記属性ごとに算出された前記値を用いて、前記記憶手段に前記属性ごとに記憶されている前記値を更新し、前記抽出手段は、前記特定手段によって特定された一の処理を実行する通信端末のユーザの属性について前記記憶手段に記憶されている前記値に基づいて、前記特定手段により特定された一の処理に対して所定の順番で実行される確からしさを表す値が閾値以上である処理を抽出することを特徴とする。
【００１４】
また、好ましい態様において、前記処理は、各々の前記通信端末において複数のアプリケーションプログラムが順番に実行されるときの処理群を一単位とし、前記特定手段は、各々の前記通信端末において実行可能な前記処理の一覧を当該通信端末から取得して、当該一覧から抽出した処理を前記一の処理として特定し、前記抽出手段は、特定された前記一の処理に対して所定の順番で実行される確からしさを表す値が閾値以上である処理のうち、当該一の処理が抽出された前記一覧に含まれない処理を抽出することを特徴とする。
【００１５】
また、好ましい態様において、前記処理は、各々の前記通信端末において一のアプリケーションプログラムが実行されるときの各処理を一単位とし、前記特定手段は、各々の前記通信端末においてユーザにより指定された処理を前記一の処理として特定し、前記通知手段は、前記特定手段によって特定された一の処理と前記抽出手段によって抽出された処理とを、当該一の処理を前記利用者が指定するときに用いられた前記通信端末に通知することを特徴とする。
【００１６】
また、本発明は、複数の通信端末から当該通信端末において実行された処理の履歴を取得する第１ステップと、前記第１ステップによって取得された履歴内の異なる処理が所定の順番で実行される確からしさに応じた値を、当該処理を実行した通信端末単位で算出する第２ステップと、異なる処理が前記所定の順番で実行される確からしさを表す値を記憶する記憶手段において、その記憶されている値を前記第２ステップによって算出された前記値を用いて更新する第３ステップと、一の処理を特定する第４ステップと、前記記憶手段に記憶されている前記値に基づいて、前記第４ステップにより特定された一の処理に対して所定の順番で実行される確からしさを表す値が閾値以上である処理を抽出する第５ステップと、前記第５ステップにより抽出された処理を前記通信端末のユーザに通知する第６ステップとを備えることを特徴とする情報処理方法を提供する。
【発明の効果】
【００１７】
本発明によれば、処理を連携させる仕組みを実現する際にユーザが要する手間を削減することが可能となる。
【図面の簡単な説明】
【００１８】
【図１】本発明の第１実施形態におけるシステムの構成を表した図
【図２】第１実施形態におけるシステム全体の処理イメージを表す図
【図３】第１実施形態における通信端末のハードウェア構成を表したブロック図
【図４】アプリ連携ルール一覧の内容を表す図
【図５】アプリ連携ルール実行履歴の内容を表す図
【図６】第１実施形態におけるサーバ装置のハードウェア構成を表したブロック図
【図７】アプリ連携ルールＤＢの内容を表す図
【図８】アプリ連携ルール関連ＤＢの内容を表す図
【図９】アプリ連携ルール間における関連度の算出方法の一例を表す図
【図１０】サーバ装置の制御部とその周辺の機能的構成を表したブロック図
【図１１】アプリ連携ルール間の関連度を学習する際の処理の流れを示すフローチャート
【図１２】第１実施形態においてアプリ連携ルールを通知する際の処理の流れを示すフローチャート
【図１３】第２実施形態におけるシステム全体の処理イメージを表す図
【図１４】第２実施形態における通信端末のハードウェア構成を表したブロック図
【図１５】アプリ実行履歴の内容を表す図
【図１６】アプリ関連ＤＢの内容を表す図
【図１７】第２実施形態におけるサーバ装置のハードウェア構成を表したブロック図
【図１８】アプリ間の関連度を学習する際の処理の流れを示すフローチャート
【図１９】第２実施形態においてアプリ連携ルールをユーザに通知する際の処理の流れを示すフローチャート
【図２０】変形例１においてアプリ連携ルールを通知する際の処理の流れを示すフローチャート
【図２１】変形例２においてアプリ連携ルール間の関連度を学習する際の処理の流れを示すフローチャート
【図２２】変形例３においてアプリ連携ルール間の関連度を学習する際の処理の流れを示すフローチャート
【図２３】変形例４においてアプリ連携ルール間の関連度を学習する際の処理の流れを示すフローチャート
【図２４】変形例５においてアプリ連携ルール間の関連度を学習する際の処理の流れを示すフローチャート
【図２５】変形例５においてアプリ連携ルールを通知する際の処理の流れを示すフローチャート
【図２６】変形例６においてアプリ連携ルール間の関連度を学習する際の処理の流れを示すフローチャート
【図２７】変形例６においてアプリ連携ルールを通知する際の処理の流れを示すフローチャート
【図２８】変形例９においてアプリ連携ルールをユーザに通知する際の処理の流れを示すフローチャート
【発明を実施するための形態】
【００１９】
＜実施形態＞
以下に、図面を参照しながら本発明の第１実施形態について説明する。
＜第１実施形態＞
＜構成＞
図１は、本発明の第１実施形態におけるシステムの構成を表した図である。このシステムは、複数の通信端末１００ａ〜１００ｄと、サーバ装置２００と、ネットワークＮＷとを備えている。以降において、通信端末１００ａ〜１００ｄの各々を区別しない場合は、通信端末１００という。通信端末１００は、例えば携帯電話機、無線ＬＡＮ（Local Area Network）に接続可能な無線端末、無線機能を備えたノートパソコン、またはカーナビゲーションシステムのような、サーバ装置２００と通信が可能な通信端末であって、図１では携帯電話機の例を挙げている。通信端末１００はそれぞれ異なるユーザによって所持されており、これらのユーザが通信端末１００のそれぞれにおいて様々なアプリケーションプログラム（以下、単にアプリという）の実行を指示する。ネットワークＮＷは、例えば携帯電話網や無線ＬＡＮなどの移動通信網やインターネットなどの固定通信網を含む通信網である。サーバ装置２００は、ネットワークＮＷを介して通信端末１００と情報のやり取りを行い、通信端末１００において実行されるアプリどうしの連携方法についての規則であるアプリ連携ルールを管理する情報処理装置である。
【００２０】
図２は、第１実施形態におけるシステム全体の処理イメージを表す図である。まず、アプリ連携ルールとは、連携元のアプリ及び連携先のアプリの名称と、この両者が連携するときに共通に用いられるパラメータの種別及び値と、パラメータをどのように用いて連携元のアプリ及び連携先のアプリを連携させた処理を行うかということを表す連携処理内容との組み合わせからなる。ここで、連携元のアプリとは、或るアプリ連携ルールを構成するアプリのうち先に実行されるアプリのことをいう。また、連携先のアプリとは、或るアプリ連携ルールを構成するアプリのうち後に実行されるアプリのことをいう。パラメータは、様々な値を取りえる変数であり、例えば連携元のアプリから出力されて連携先のアプリに入力されるものである。パラメータの種別は、例えば「時刻」や「目的地」など、パラメータの種別であり、パラメータの値（以下パラメータ値という）は、例えば「１２時」や「自宅の位置」などのパラメータの具体的な内容のことである。以下、連携元のアプリ及び連携先のアプリに共通に用いられるパラメータのことを、これらの連携元のアプリ及び連携先のアプリとを連携するパラメータという。また、アプリ連携ルールは、連携される対象となるアプリの実行を伴うものであるため、アプリ連携ルールについても、「アプリ連携ルールを実行する」という言い方をすることがある。
【００２１】
例えば、図２の例では、ユーザＡの使用しているアプリ連携ルールの連携処理内容として、「１：バッテリーが２０％以下になったら照明を暗くする」というものがある。バッテリーとは、通信端末１００が備える２次電池の電力残量のことであり、照明とは、通信端末１００が備える液晶ディスプレイのバックライトの照明強度のことである。このアプリ連携ルールは、連携元のアプリが電源管理のアプリであり、連携先のアプリが照明管理のアプリであり、パラメータとして、「２０」という値が設定されていることを表している。このシステムでは、サーバ装置２００が、通信端末１００からアプリ連携ルール群の実行履歴を取得し、この実行履歴において、時間的な前後関係を持って順番に実行されるアプリ連携ルールの組み合わせがあった場合、これを統計的に学習する。そしてサーバ装置２００が、その学習内容に基づいて、通信端末１００のユーザに対してお薦めのアプリ連携ルールを通知する仕組みとなっている。
【００２２】
図２では、ユーザＡが、「１：バッテリーが２０％以下になったら照明を暗くする」、「２：バッテリーが２０％以下になったらＷｉ−ＦｉをＯＦＦにする」及び「３：現在地から自宅までの乗換え検索」という３つのアプリ連携ルールを自身の通信端末１００に設定し、使用している。なお、Ｗｉ−Ｆｉとは無線ＬＡＮを介して通信を行う機能のことである。ここで、「１」及び「２」のアプリ連携ルールにおいては、共に、「バッテリーが２０％以下になったら」という条件を満たした場合に、後続の、すなわち連携先のアプリの処理が行われるものであるから、両者は、この通信端末１００において時間的な前後関係を持って順番に実行されるアプリ連携ルールの組み合わせであるといえる。
【００２３】
サーバ装置２００は、それぞれの通信端末１００からアプリ連携ルールの実行履歴を取得することで、アプリ連携ルールがどのように使用されているかを学習する。例えば、図２の例では、ユーザＡの通信端末１００の実行履歴から、「１：バッテリーがＸ％以下になったら照明を暗くする」というアプリ連携ルールと「２：バッテリーがＸ％以下になったらＷｉ−ＦｉをＯＦＦにする」というアプリ連携ルールとが、共通のパラメータ値に基づき、時間的な前後関係を持って順番に実行され得ることを、サーバ装置２００は学習する。この「Ｘ」とは、アプリ連携ルールにおいて、ユーザにより任意の値が設定可能なパラメータを表しているが、双方のアプリ連携ルールでこのＸが同じ値である場合には、サーバ装置２００は、これらのアプリ連携ルールが時間的な前後関係を持って順番に実行されることを学習する。例えば「バッテリーが２０％以下になったら照明を暗くする」というアプリ連携ルールと「バッテリーが２０％以下になったらＷｉ−ＦｉをＯＦＦにする」というアプリ連携ルールとが使用されている場合、サーバ装置２００は、これらのアプリ連携ルールが時間的な前後関係を持って順番に実行されると判断する。一方、例えば「バッテリーが２０％以下になったら照明を暗くする」というアプリ連携ルールと「バッテリーが８０％以下になったらＷｉ−ＦｉをＯＦＦにする」というアプリ連携ルールとが使用されている場合、両者が実行されるタイミングは相当程度離れたものとなるため、サーバ装置２００は、これらのアプリ連携ルールが時間的な前後関係を持って順番に実行されるとは判断しない。なお、以降における「ＸＸ」や「ＸＸＸ」も上記の「Ｘ」と同様の意味である。
【００２４】
ここでユーザＢが、通信端末１００において、「１：バッテリーが３０％以下になったら照明を暗くする」というアプリ連携ルールのみを使用していたとする。一方、サーバ装置２００は、上述したように、「１：バッテリーがＸ％以下になったら照明を暗くする」と「２：バッテリーがＸ％以下になったらＷｉ−ＦｉをＯＦＦにする」という２つのアプリ連携ルールが、時間的な前後関係を持って順番に実行され得ることを学習済みである。従って、サーバ装置２００は、この学習内容に基づいて、ユーザＢにおいても「バッテリーが３０％以下になったらＷｉ−ＦｉをＯＦＦにする」というアプリ連携ルールが有用であると判断し、ユーザＢの所持する通信端末１００に対して、「２：バッテリーがＸ％以下になったらＷｉ−ＦｉをＯＦＦにする」というアプリ連携ルールをお薦めとして通知する。
【００２５】
図３は、第１実施形態における通信端末１００のハードウェア構成を表したブロック図である。通信端末１００は、制御部１１、記憶部１２、表示部１３、操作部１４、通信部１５、音声を収音する図示せぬマイクロホン等の入力部及び音声を出力する図示せぬスピーカー等の出力部を備えており、これらの各部がバス１６を介して互いに接続されている。制御部１１は、ＣＰＵ（Central Processing Unit）、ＲＡＭ（Random Access Memory）及びＲＯＭ（Read Only Memory）を有する。ＣＰＵは、ＲＯＭや記憶部１２に記憶されているプログラムを読み出しＲＡＭにロードして実行することにより、通信端末１００の各部を制御する。
【００２６】
表示部１３は、液晶ディスプレイなどの表示体やＶＲＡＭ（Video Random Access Memory）などのメモリを備えており、制御部１１の制御の下で各種の画像を表示する。操作部１４は、複数のキーを有しており、ユーザによってこれらのキーが操作されるとその操作内容に応じた信号を制御部１１へ供給する。制御部１１は、この信号に基づいて操作内容を判断して処理を行う。通信部１５は、制御部１１の制御の下で、ネットワークＮＷに含まれる移動通信網を介して、サーバ装置２００と通信を行う。
【００２７】
記憶部１２は、例えばＥＥＰＲＯＭ（Electrically Erasable and Programmable ROM）やフラッシュメモリなどの不揮発性の記憶手段であり、アプリ連携ルール一覧１２１、アプリ連携ルール実行履歴１２２、各種閾値及びプログラムを記憶する。アプリ連携ルール一覧１２１は、この通信端末１００において、ユーザによりパラメータ値が設定されて実行可能な状態となっているアプリ連携ルールの一覧を表すデータである。アプリ連携ルール実行履歴１２２は、この通信端末１００において実行されたアプリ連携ルールの履歴が時系列に沿って並べられたデータである。
【００２８】
図４は、アプリ連携ルール一覧１２１の内容を表す図である。アプリ連携ルール一覧１２１は、各々のアプリ連携ルールを識別する番号と、変数としてのパラメータを用いて表現された各々のアプリ連携ルールの連携処理内容と、連携元アプリの名称と、連携先アプリの名称と、パラメータの種別と、パラメータ値とで構成されている。図４の「バッテリーがＸ％以下になったら照明を暗くする」という連携処理内容のアプリ連携ルールでは、電源管理アプリと照明管理アプリとを連携するパラメータとして、１００％充電されているときを基準としてバッテリーがどの程度減ったかの割合で表されるバッテリー残量が、ユーザにより設定されることとなる。図４では、このパラメータに「２０」の値が設定されている。また、図４の「ＸＸ時になったら終電通知」という連携処理内容のアプリ連携ルールでは、計時を行う時計アプリと終電検索などを行う乗換え検索アプリとを連携するパラメータとして、時刻がユーザにより設定されることとなる。図４では、このパラメータに「２３」の値が設定されている。また、そのほかに図４の「現在地からＸＸＸまでの乗換え検索」という連携処理内容のアプリ連携ルールでは、現在値を特定するＧＰＳ機能と電車の乗換え案内を行う乗換え検索アプリとを連携するパラメータとして、目的地がユーザにより設定されることとなる。図４では、このパラメータに「自宅」という値が設定されている。制御部１１は、この「自宅」というパラメータ値を読み込んだ場合、記憶部１２に記憶されたユーザのプロファイル情報から、ユーザの自宅の住所を特定し、特定した住所を目的地に設定する。ユーザは、パラメータ値を、操作部１４を用いて変更することが可能である。
【００２９】
ユーザは、図４に一例として示されるようなアプリ連携ルールを、操作部１４を用いて自ら作成することが可能である。例えば、まず、ユーザは、操作部１４を用いて、アプリ連携ルールを作成するための画面を表示部１３に表示させる。この作成画面では、連携元のアプリ、連携先のアプリ及びパラメータを設定可能となっている。ユーザは、操作部１４を用いて、例えばリストボックスから連携元のアプリを選択する。すると、制御部１１は、連携元のアプリの出力値を入力値として用いることができるアプリを、連携先のアプリのリストボックスに表示させる。ユーザが、連携先のアプリのリストボックスから特定のアプリを選択すると、制御部１１は、連携元のアプリの出力値と連携先のアプリの入力値とから、変数としてのパラメータを特定する。そして制御部１１は、特定したパラメータと連携元のアプリと連携先のアプリとに基づいて、パラメータ値を任意に入力可能である連携処理内容を作成すると、これを表示部１３に表示させる。なお、どのアプリが連携元のアプリや連携先のアプリになりえるかとか、各アプリがどのような入力値および出力値を扱い得るかといった情報は記憶部１２に予めデータベース化されて記憶されている。ユーザは、表示された内容に応じて、操作部１４を用いて、連携処理内容におけるパラメータ値を設定することで、アプリ連携ルールを作成する。ユーザは、アプリ連携ルールを作成すると、これをサーバ装置２００に登録する。具体的には、ユーザが、アプリ連携ルールの作成後に操作部１４を用いて登録ボタンを押下すると、制御部１１は、作成されたアプリ連携ルールの内容を、通信部１５を用いてサーバ装置２００に送信する。サーバ装置２００は、これを受信すると、受信したアプリ連携ルールの内容を、後述するアプリ連携ルールＤＢ２２１に登録する。
【００３０】
図５は、アプリ連携ルール実行履歴１２２の内容を表す図である。アプリ連携ルール実行履歴１２２は、各々のアプリ連携ルールが実行された日付及び時刻といった日時情報と、実行されたアプリ連携ルールの内容とで構成されている。実行されたアプリ連携ルールの内容は、連携処理内容におけるパラメータに実行時の値が設定されたものと同じである。図に示すように、アプリ連携ルール実行履歴１２２においては、アプリ連携ルールの実行履歴が実行された時系列順に並んでいる。また、ユーザが、制御部１１に或るアプリを実行させた後に、このアプリの出力値等を入力として他のアプリを実行させた場合、つまり、手動でアプリを連携させた場合にも、これらのアプリの実行履歴が、アプリ連携ルール実行履歴１２２として登録されることとなる。例えば、ユーザが、制御部１１に、ＧＰＳ機能を実現させることで取得した現在置を出発地に設定して、自宅を目的地とした乗換え検索アプリを実行させた場合、この実行履歴は、図５における「２０１１／４／２９」の「１９：３０：３０」に実行された履歴のようにアプリ連携ルール実行履歴１２２として登録されることとなる。制御部１１は、アプリ連携ルールを実行するたびに、実行されたアプリ連携ルールの内容と、実行した時点の日時情報とを対応づけて、アプリ連携ルール実行履歴１２２として登録する。
【００３１】
図６は、第１実施形態におけるサーバ装置２００のハードウェア構成を表したブロック図である。サーバ装置２００は、制御部２１、記憶部２２及び通信部２３を備えており、これらの各部がバス２４を介して互いに接続されている。制御部２１は、ＣＰＵ、ＲＡＭ及びＲＯＭを有する。ＣＰＵは、ＲＯＭや記憶部２２に記憶されているプログラムを読み出しＲＡＭにロードして実行することにより、サーバ装置２００の各部を制御する。通信部２３は、制御部２１の制御の下で、ネットワークＮＷに含まれる移動通信網を介して、通信端末１００と通信を行う。
【００３２】
記憶部２２は、例えばＨＤＤ（Hard Disk Drive）などの不揮発性の記憶手段であり、アプリ連携ルールＤＢ２２１、アプリ連携ルール関連ＤＢ２２２を備え、各種閾値及びプログラムを記憶する。アプリ連携ルールＤＢ２２１は、ユーザにより通信端末１００を用いて作成されたアプリ連携ルールが登録されたデータベースである。アプリ連携ルール関連ＤＢ２２２は、アプリ連携ルールＤＢ２２１に登録されている全てのアプリ連携ルールを対象として、或るアプリ連携ルールと他のアプリ連携ルールとが、両者の連携という観点においてどの程度関連しているかを表したデータベースである。
【００３３】
図７は、アプリ連携ルールＤＢ２２１の内容を表す図である。アプリ連携ルールＤＢ２２１は、各々のアプリ連携ルールを識別する番号と、連携処理内容と、連携元のアプリの名称と、連携先のアプリの名称と、パラメータ種別とで構成されている。例えば、図７において番号が「３」であるアプリ連携ルールは、連携処理内容が「現在地からＸＸＸまでの乗換え検索」というものであって、連携元のアプリが「ＧＰＳ機能」であり、連携先のアプリが「乗換え検索アプリ」であり、「目的地」をパラメータとして設定することを表している。つまり、ユーザがこのアプリ連携ルールを実行すると、通信端末１００の制御部１１は、ＧＰＳ機能を実現して現在位置を取得する。そして制御部１１は、乗換え検索アプリを実行して、取得した現在位置を出発地として、パラメータで設定された目的地までの乗換え検索を行うこととなる。上述したように、ユーザは、このようなアプリ連携ルールを、通信端末１００を用いて任意に作成可能である。そして通信端末１００の制御部１１は、作成されたアプリ連携ルールを、通信部１５を用いてサーバ装置２００に送信する。サーバ装置２００の制御部２１は、通信部２３を用いて受信したアプリ連携ルールを、アプリ連携ルールＤＢ２２１に登録する。
【００３４】
図８はアプリ連携ルール関連ＤＢ２２２の内容を表す図である。図において、アプリ連携ルール関連ＤＢ２２２は、或る連携処理内容を持つ先行のアプリ連携ルールを縦軸として、他の連携処理内容を持つ後続のアプリ連携ルールを横軸とした２次元のマトリクスとして表されている。ここで、先行のアプリ連携ルールとは、時間的な前後関係を持って順番に実行される２つのアプリ連携ルールのうち、先に実行されるアプリ連携ルールのことを表す。また、後続のアプリ連携ルールとは、時間的な前後関係を持って順番に実行される２つのアプリ連携ルールのうち、後に実行されるアプリ連携ルールのことを表す。
【００３５】
アプリ連携ルール関連ＤＢ２２２において、或る連携処理内容を持つ先行のアプリ連携ルールと、他の連携処理内容を持つ後続のアプリ連携ルールとが交わる欄には、両者の関連の度合いを表す関連度が、０以上１以下の数値として表されている。この関連度とは、先行のアプリ連携ルールが実行された後に、後続のアプリ連携ルールが実行される確率、つまり確からしさを表す。関連度は、１に近づくにつれて、先行のアプリ連携ルールと後続のアプリ連携ルールとが、順番に実行される確率が高いことを表す。従って、関連度が０である場合、先行のアプリ連携ルールと後続のアプリ連携ルールとが、順番に実行される確率が全くないことを意味し、関連度が１の値を取るとき、確実に両者は順番に実行されることを表す。ここで、連携処理内容は、パラメータ値が設定されていないものであるから、所定の連携処理内容を持つアプリ連携ルールどうしの関連度がマトリクスとして表されたアプリ連携ルール関連ＤＢ２２２は、パラメータの値に依らないアプリ連携ルールどうしの関連度を表しているといえる。
【００３６】
例えば、図８において、先行のアプリ連携ルールが「バッテリーがＸ％以下になったら照明を暗くする」という連携処理内容であり、後続のアプリ連携ルールが「バッテリーがＸ％以下になったらＷｉ−ＦｉをＯＦＦにする」という連携処理内容である場合の、両者の関連度は「０．７２」である。また、先行のアプリ連携ルールが「バッテリーがＸ％以下になったらＷｉ−ＦｉをＯＦＦにする」という連携処理内容であり、後続のアプリ連携ルールが「バッテリーがＸ％以下になったら照明を暗くする」という連携処理内容である場合の、両者の関連度は「０．８１」である。従って、「バッテリーがＸ％以下になったらＷｉ−ＦｉをＯＦＦにする」という連携処理内容を持つアプリ連携ルールと、「バッテリーがＸ％以下になったら照明を暗くする」という連携処理内容を持つアプリ連携ルールとはお互いに関連度が高いということになる。
【００３７】
また、先行のアプリ連携ルールが「ＸＸ時になったら終電通知」という連携処理内容であり、後続のアプリ連携ルールが「現在地からＸＸＸまでの乗換え検索」という連携処理内容である場合の、両者の関連度は「０．９１」と高い数値を示している。これに対して、先行のアプリ連携ルールが「現在地からＸＸＸまでの乗換え検索」という連携処理内容であり、後続のアプリ連携ルールが「ＸＸ時になったら終電通知」という連携処理内容である場合の、両者の関連度は「０．5５」となっている。よって、それぞれのアプリ連携ルールが順番に実行される確率は、その実行順が入れ替わると大きく変わるということになる。
【００３８】
図９は、アプリ連携ルール間における関連度の算出方法の一例を表す図である。図９において、縦軸は関連度を表し、横軸は時間を表している。関連度算出曲線３００は、アプリ連携ルールが実行されたタイミングに応じて変化する関連度を表す曲線である。図において、アプリ連携ルールＡの実行タイミングをｔ0として、アプリ連携ルールＢの実行タイミングをｔ1として、アプリ連携ルールＣの実行タイミングをｔ2とする。ただし、ｔ0＜ｔ1＜ｔ2である。
【００３９】
ここで、図に示した関連度算出曲線３００においては、先行のアプリ連携ルールに相当するアプリ連携ルールＡの実行タイミングｔ0から次にアプリ連携ルールが実行されるまでに経過する時間が長いほど、両者の関連度は低くなり、経過する時間が短いほど両者の関連度は高くなる。つまり、図９の場合、制御部２１は、ｔ0に実行されたアプリ連携ルールＡとｔ1に実行されたアプリ連携ルールＢとの関連度を、ｔ0に実行されたアプリ連携ルールＡとｔ2に実行されたアプリ連携ルールＣとの関連度よりも高く算出する。
【００４０】
このような算出方法を採用している理由は、或るアプリ連携ルールが実行された後に、他のアプリ連携ルールが実行されるまでに経過する時間が短いほど、ユーザにより意図的にその順番で実行された可能性が高いと考えられるからである。例えば、図８の例でいうと、「バッテリーがＸ％以下になったら照明を暗くする」という連携処理内容のアプリ連携ルールと、「バッテリーがＸ％以下になったらＷｉ−ＦｉをＯＦＦにする」という連携処理内容のアプリ連携ルールとは、ともに連携先アプリの起動条件が「バッテリーがＸ％以下になったら」というものである。従って、パラメータの「Ｘ」に同じ値が設定されていれば、一方のアプリ連携ルールが実行された後にそれほど時間を置かずに、他方のアプリ連携ルールが実行されることとなる。逆にいうと、「バッテリーがＸ％以下になったら照明を暗くする」という連携処理内容のアプリ連携ルールと、「バッテリーがＸ％以下になったらＷｉ−ＦｉをＯＦＦにする」という連携処理内容のアプリ連携ルールとが、それほど時間を置かずに順番に実行された場合、両者のアプリ連携ルールは、「バッテリーがＸ％になったら」という、連携先アプリの起動条件が同じである、すなわち意図的にその順番で実行された可能性が高い、ということになる。
【００４１】
また、別の例として、「ＸＸ時になったら終電通知」という連携処理内容のアプリ連携ルールと、「現在地からＸＸＸまでの乗換え検索」という連携処理内容のアプリ連携ルールとが、それほど時間を置かずに順番に実行された場合を考える。この場合、設定された時刻になったことを契機として、設定された経路に関する終電の通知を受けたユーザが、次の移動のために、現在地から目的地までの乗換えを検索したことが考えられる。つまり、２つのアプリ連携ルールは、意図的にその順番で実行された可能性が高いということがいえる。
【００４２】
このようにして、或るアプリ連携ルールが実行された後に、それほど時間を置かずに他のアプリ連携ルールが実行された場合、制御部２１は、両者の関連度としてより高い値を算出することになるわけである。反対に、或るアプリ連携ルールが実行された後に、かなりの時間を置いて他のアプリ連携ルールが実行された場合、両者は、その順番で実行される意味のある可能性が低いといえる。このような理由から、関連度算出曲線３００は、時間が経過すると関連度が下がるように、座標軸に対して右肩下がりの形状となっている。なお、関連度算出曲線３００の形状は、図９に表すような曲線であってもよいし、これよりも直線に近いものであってもよい。この関連度算出曲線３００を表す所定の数式は、記憶部２２に記憶されており、制御部２１は、アプリ連携ルールの実行タイミング間で経過した時間を上記数式に代入することで、関連度を算出する。そして制御部２１は、関連度を算出するたびに、その算出結果に基づいて、アプリ連携ルール関連ＤＢ２２２を更新する。換言すると、サーバ装置２００は、アプリ連携ルール間の関連度を随時学習していく。
【００４３】
図１０は、サーバ装置２００の制御部２１とその周辺の機能的構成を表したブロック図である。制御部２１は、複数の通信端末１００から、当該通信端末１００において実行された処理の履歴を取得する取得手段２１１として機能する。ここで、処理とは、各々の通信端末１００において複数のアプリケーションプログラムが順番に実行されるときの処理群を一単位とする。また、記憶部２２は、異なる処理が所定の順番で実行される確からしさを表す値、すなわち関連度を記憶する記憶手段として機能する。また、制御部２１は、取得手段２１１によって取得された履歴内の異なる処理の関連度を、当該処理を実行した通信端末１００単位で算出する算出手段２１２として機能する。また、制御部２１は、算出手段２１２によって算出された関連度を用いて、記憶手段に記憶されている関連度を更新する更新手段２１３として機能する。また、制御部２１は、一の処理を特定する特定手段２１４として機能する。特定手段２１４は、各々の通信端末１００において実行可能な処理の一覧をその通信端末１００から取得して、取得した一覧から抽出した処理を一の処理として特定する。また、制御部２１は、記憶手段に記憶されている関連度に基づいて、特定手段２１４により特定された一の処理との関連度が閾値以上である処理を抽出する抽出手段２１５として機能する。抽出手段２１５は、特定手段２１４により特定された一の処理との関連度が閾値以上である処理のうち、この一の処理が抽出された上記一覧に含まれない処理を抽出する。また、制御部２１は、抽出手段２１５により抽出された処理を通信端末１００のユーザに通知する通知手段２１６として機能する。
【００４４】
図１１は、アプリ連携ルール間の関連度を学習する際の処理の流れを示すフローチャートである。サーバ装置２００の制御部２１は、通信部２３を用いて、通信端末１００からアプリ連携ルール実行履歴１２２を取得する（ステップＳ１０）。具体的にはステップＳ１０において、制御部２１は、例えば、通信部２３を用いて複数の通信端末１００にポーリングを行う。そして制御部２１は、ポーリングの返信があった通信端末１００に対して、通信部２３を用いてデータ送信要求を送信する。通信端末１００の制御部１１は、通信部１５を用いてデータ送信要求を受信すると、記憶部１２に記憶されたアプリ連携ルール実行履歴１２２をサーバ装置２００に対して送信する。制御部２１は、通信部２３を用いてアプリ連携ルール実行履歴１２２を受信すると、これを記憶部２２に記憶させる。制御部２１は、このようにして複数の通信端末１００からアプリ連携ルール実行履歴１２２を取得する。なお、図１１は、単一の通信端末１００を相手とした場合の処理フローであって、実際には、図１１のようなフローの処理が、通信端末１００の数だけ行われることとなる。
【００４５】
ステップＳ１０の次に制御部２１は、取得したアプリ連携ルール実行履歴１２２について次のような分析を行う。まず、制御部２１は、通信端末１００から取得したアプリ連携ルール実行履歴１２２において、或るアプリ連携ルールに対して、所定の時間内に実行された他のアプリ連携ルールがあるか否かを判定する（ステップＳ２０）。この所定の時間は、閾値として記憶部２２に記憶されている。そして、アプリ連携ルール実行履歴１２２において、或るアプリ連携ルールに対して、所定の時間内に実行された他のアプリ連携ルールがある場合（ステップＳ２０；ＹＥＳ）、制御部２１は、先に実行されたアプリ連携ルールの実行タイミングから、後に実行されたアプリ連携ルールの実行タイミングまでに経過した時間と関連度算出曲線３００とに基づいて、両者の関連度を算出する（ステップＳ３０）。或るアプリ連携ルールと、このアプリ連携ルールに対して所定の時間内に実行された他のアプリ連携ルールとの組み合わせが複数ある場合、ステップＳ３０において、制御部２１は、これらの組み合わせの各々に対して関連度を算出する。一方、アプリ連携ルール実行履歴１２２において、或るアプリ連携ルールに対して、所定の時間内に実行された他のアプリ連携ルールが全くない場合（ステップＳ２０；ＮＯ）、制御部２１は処理を終了する。
【００４６】
ステップＳ３０の次に制御部２１は、算出した関連度に基づいてアプリ連携ルール関連ＤＢ２２２を更新する（ステップＳ４０）。ステップＳ４０において具体的には、制御部２１は、以下のような処理を行う。アプリ連携ルール関連ＤＢ２２２のデータ構造は、図８に示したように、先行のアプリ連携ルールと後続のアプリ連携ルールとの組み合わせのマトリクスとなっている。記憶部２２は、このマトリクスにおける上記組み合わせのそれぞれについて、それまでに算出された各々の関連度の積算値と、上記組み合わせのそれぞれについて、それまでに関連度を積算した回数を記憶している。制御部２１は、ステップＳ３０において算出した、或る組み合わせに含まれる先行のアプリ連携ルールおよび後続のアプリ連携ルールの関連度を、ステップＳ４０において、それと同じ組み合わせについての関連度の積算値に加算する。また、制御部２１は、該当する組み合わせについて、関連度を積算した回数に１を加算する。そして制御部２１は、上記関連度の積算値のそれぞれを、関連度を積算した回数で除算することで、それぞれの関連度の平均値を求める。そして制御部２１は、先行のアプリ連携ルールと後続のアプリ連携ルールとの組み合わせのそれぞれについての関連度を、上述のようにして求めた平均値で更新する。ステップＳ４０において制御部２１は、ステップＳ３０において算出した関連度の数だけ、このような関連度を更新する処理を行う。
【００４７】
図１２は、第１実施形態においてアプリ連携ルールを通知する際の処理の流れを示すフローチャートである。サーバ装置２００の制御部２１は、通信部２３を用いて、通信端末１００からアプリ連携ルール一覧１２１を取得する（ステップＳ１１０）。具体的にはステップＳ１１０において、制御部２１は、例えば、通信部２３を用いて複数の通信端末１００にポーリングを行う。そして制御部２１は、ポーリングの返信があった通信端末１００に対して、通信部２３を用いてデータ送信要求を送信する。通信端末１００の制御部１１は、通信部１５を用いてデータ送信要求を受信すると、記憶部１２に記憶されたアプリ連携ルール一覧１２１をサーバ装置２００に対して送信する。制御部２１は、通信部２３を用いてアプリ連携ルール一覧１２１を受信すると、これを記憶部２２に記憶させる。制御部２１は、このようにして複数の通信端末１００から提供されるアプリ連携ルール一覧１２１を取得する。
【００４８】
次に制御部２１は、取得したアプリ連携ルール一覧１２１を、その提供元の通信端末１００ごとに分析する。制御部２１は、取得したアプリ連携ルール一覧１２１に含まれるアプリ連携ルールに対して、関連度の高いアプリ連携ルールがあるか否かを判定する（ステップＳ１２０）。具体的にはステップＳ１２０において、制御部２１は、アプリ連携ルール関連ＤＢ２２２において、取得したアプリ連携ルール一覧１２１に含まれるアプリ連携ルールの各々を先行のアプリ連携ルールとしたときに、関連度が閾値以上である後続のアプリ連携ルールがあるか否かを判定する。また、ステップＳ１２０において、制御部２１は、アプリ連携ルール関連ＤＢ２２２において、取得したアプリ連携ルール一覧１２１に含まれるアプリ連携ルールの各々を後続のアプリ連携ルールとしたときに、関連度が閾値以上である先行のアプリ連携ルールがあるか否かを判定する。ここで上記閾値は、記憶部２２に記憶されている。
【００４９】
制御部２１は、取得したアプリ連携ルール一覧１２１に含まれるアプリ連携ルールに対して、関連度の高いアプリ連携ルールがあると判定すると（ステップＳ１２０；ＹＥＳ）、関連度の高いアプリ連携ルールの全てが、取得したアプリ連携ルール一覧１２１に含まれるか否かを判定する（ステップＳ１３０）。一方、制御部２１は、取得したアプリ連携ルール一覧１２１に含まれるアプリ連携ルールに対して、関連度の高いアプリ連携ルールがないと判定すると（ステップＳ１２０；ＮＯ）、処理を終了する。また、制御部２１は、関連度の高いアプリ連携ルールの全てが、取得したアプリ連携ルール一覧１２１に含まれていると判定すると（ステップＳ１３０；ＹＥＳ）、処理を終了する。一方、制御部２１は、関連度の高いアプリ連携ルールのうち、取得したアプリ連携ルール一覧１２１に含まれないものがあると判定すると（ステップＳ１３０；ＮＯ）、取得したアプリ連携ルール一覧１２１に含まれず且つ関連度の高いアプリ連携ルールを、通信部２３を用いて通信端末１００へ送信する（ステップＳ１４０）。
【００５０】
例えば、アプリ連携ルール一覧１２１が図４に示すようなものであり、アプリ連携ルール関連ＤＢ２２２が図８に示すようなものであり、上記の閾値が「０．７」であった場合を考える。制御部２１は、アプリ連携ルール関連ＤＢ２２２において、アプリ連携ルール一覧１２１に含まれる「バッテリーがＸ％以下になったら照明を暗くする」、「ＸＸ時になったら終電通知」及び「現在地からＸＸＸまでの乗換え検索」という連携処理内容を持つそれぞれのアプリ連携ルールを先行のアプリ連携ルールとしたときに、関連度が「０．７」以上である後続のアプリ連携ルールがあるか否かを判定する。また、制御部２１は、上述したそれぞれのアプリ連携ルールを後続のアプリ連携ルールとしたときに、関連度が「０．７」以上である先行の連携処理内容を持つアプリ連携ルールがあるか否かを判定する。
【００５１】
その結果、制御部２１は、「バッテリーがＸ％以下になったら照明を暗くする」という連携処理内容を持つアプリ連携ルールを先行のアプリ連携ルールとしたときに、「バッテリーがＸ％以下になったらＷｉ―ＦｉをＯＦＦにする」という連携処理内容を持つ後続のアプリ連携ルールが、閾値以上の関連度を持っていると判定する。また、制御部２１は、「ＸＸ時になったら終電通知」という連携処理内容を持つアプリ連携ルールを先行のアプリ連携ルールとしたときに、「現在地からＸＸＸまでの乗換え検索」という連携処理内容を持つ後続のアプリ連携ルールが、閾値以上の関連度を持っていると判定する。また、制御部２１は、「バッテリーがＸ％以下になったら照明を暗くする」という連携処理内容のアプリ連携ルールを後続のアプリ連携ルールとしたときに、「バッテリーがＸ％以下になったらＷｉ―ＦｉをＯＦＦにする」という連携処理内容の先行のアプリ連携ルールが閾値以上の関連度を持っていると判定する。
【００５２】
つまり、制御部２１は、「バッテリーがＸ％以下になったらＷｉ―ＦｉをＯＦＦにする」及び「現在地からＸＸＸまでの乗換え検索」という連携処理内容を持つ２つのアプリ連携ルールを、使用中のアプリ連携ルールと関連度が高いものとして判定する。ここで、「現在地からＸＸＸまでの乗換え検索」という連携処理内容を持つアプリ連携ルールは、通信端末１００におけるアプリ連携ルール一覧１２１に含まれるため、制御部２１は、これを関連度の高いアプリ連携ルールとして通信端末１００のユーザへ通知することはない。一方、「バッテリーがＸ％以下になったらＷｉ―ＦｉをＯＦＦにする」という連携処理内容を持つアプリ連携ルールは、通信端末１００におけるアプリ連携ルール一覧１２１に含まれないため、制御部２１は、これを関連度の高いアプリ連携ルールとして通信端末１００のユーザへ通知する。具体的には、制御部２1は、通信部２３を用いて、使用中のアプリ連携ルールと関連度の高いアプリ連携ルールを通信端末１００へ送信する。通信端末１００の制御部１１は、通信部１５を用いて、これを受信すると、アプリ連携ルール一覧１２１として登録する。この段階では、登録されたアプリ連携ルールは、パラメータに値が未設定の状態である。制御部１１は、「バッテリーがＸ％以下になったらＷｉ―ＦｉをＯＦＦにする」という連携処理内容を持つアプリ連携ルールは、通信端末１００において使用されているアプリ連携ルールと関連度の高いアプリ連携ルールであることを表示部１３に表示するなどして、これをユーザに通知する。この通知に応じて、ユーザは、操作部１４を用いて、新たに登録されたアプリ連携ルールのパラメータに値を設定することで、通知されたアプリ連携ルールを実行可能な状態とする。なお、関連度の高いアプリ連携ルールが通信端末１００へ送信されたときに、制御部１１は、ユーザの許可を得ずにこれをアプリ連携ルール一覧１２１として登録するのではなく、関連度の高いアプリ連携ルールであることを表示部１３に表示するなどして、まずはユーザに対する通知を行い、ユーザの許可操作を経てから登録するようにしてもよい。
【００５３】
このように、第１実施形態では、サーバ装置２００が、通信端末１００から取得したアプリ連携ルール実行履歴から、関連度、すなわち順番で実行される確率の高いアプリ連携ルールどうしの組み合わせを学習する。そしてサーバ装置２００は、学習した内容に基づいて、通信端末１００において実行中のアプリ連携ルールと関連度が高いアプリ連携ルールを、通信端末１００に対してお薦めとして通知する。従って、ユーザは、自ら作成する手間を要することなく、役に立つ可能性の高いアプリ連携ルールを取得することができる。このように、第１実施形態によれば、処理を連携させる仕組みを実現する際に、ユーザが要する手間を削減することが可能となる。
【００５４】
＜第２実施形態＞
次に、本発明の第２実施形態について説明する。図１３は、第２実施形態におけるシステム全体の処理イメージを表す図である。このシステムでは、通信端末１００において、ユーザが、指定したアプリを含むアプリ連携ルールの検索を実行すると、サーバ装置２００は検索結果としてアプリ連携ルールを通信端末１００に送信する。ここで、通信端末１００は、ユーザによるアプリの実行履歴において、あまり時間を置かずに連続して実行されたアプリの組み合わせがあった場合、これを統計的に学習している。そして通信端末１００は、学習した内容に基づいて、サーバ装置から受信した検索結果に含まれるアプリ連携ルールのうち、お薦めのアプリ連携ルールを優先的にユーザに通知する仕組みとなっている。つまり、第１実施形態が、各々の通信端末１００において複数のアプリケーションプログラムが順番に実行されるときの処理群を一単位としたのに対し、第２実施形態は、各々の通信端末１００において一のアプリケーションプログラムが実行されるときの各処理を一単位する点で、第１実施形態と第２実施形態とは異なる。
【００５５】
図１３では、ユーザが、通信端末１００において、「アプリＡ」を含むアプリ検索ルールの検索を実行している。ここで、通信端末１００は、ユーザによるアプリ実行履歴から、「アプリＡ」の次に「アプリＢ」という順番でこれらが頻繁に実行されていることを学習している。この結果、通信端末１００は、サーバ装置２００から受信したアプリ連携ルールの検索結果をユーザに通知する際に、「アプリＡ」から「アプリＢ」に連携するアプリ連携ルールを優先的に通知する。
【００５６】
図１４は、第２実施形態における通信端末のハードウェア構成を表したブロック図である。図において、第１実施形態と同様の点については同一の符号を付し、説明を省略する。第２実施形態の構成では、記憶部１２が、アプリ実行履歴１２３を記憶し、アプリ関連ＤＢ１２４を備える点が第１実施形態の構成と異なる。アプリ実行履歴１２３は、この通信端末１００において実行されたアプリの履歴が時系列に沿って並べられたデータである。アプリ関連ＤＢ１２４は、或るアプリと他のアプリとが持つ関連度を、複数のアプリ間について表したデータベースである。
【００５７】
図１５は、アプリ実行履歴１２３の内容を表す図である。アプリ実行履歴１２３は、各々のアプリが実行された日付及び時刻といった日時情報と、実行されたアプリを表す名称とで構成されている。図に示すように、アプリ実行履歴１２３には、アプリの実行履歴が実行された時系列順に並んでいる。制御部１１は、アプリを実行するたびに、実行したアプリの名称と実行した時点の日時情報とを結びつけてアプリ実行履歴１２３として登録する。
【００５８】
図１６は、アプリ関連ＤＢ１２４の内容を表す図である。図において、アプリ関連ＤＢは、縦軸に先行して実行されるアプリ、横軸にそれに後続して実行されるアプリを示したマトリクスとして表されている。先行して実行されるアプリとそれに後続して実行されるアプリとが交わる欄には、両者の関連度が、０以上１以下の数値として表されている。例えば、図１６において、先行して実行されるアプリが「地図アプリ」であり、後続して実行されるアプリが「乗換え検索アプリ」である場合の関連度は「０．８８」と高い数値を示している。これに対して、先行して実行されるアプリが「乗換え検索アプリ」であり、後続して実行されるアプリが「地図アプリ」である場合の関連度は「０．４６」となっており、両者の順番が逆の場合と比較して低い数値を示している。従って、この２つのアプリの間では、「地図アプリ」が実行された後に「乗換え検索アプリ」が実行されるという順番に従えば、関連度が高いことを表している。
【００５９】
アプリ間における関連度の算出方法は、アプリ連携ルール間における場合と同様である。すなわち、或るアプリが実行された後に、次にアプリが実行されるまでに経過した時間が短いほど両者のアプリの関連度は高く、経過した時間が長いほど両者のアプリの関連度は低くなる。つまり、アプリ間の関連度を意味する関連度算出曲線は、時間が経過すると関連度を小さく算出する。アプリ間の関連度とアプリの実行タイミング間で経過した時間との関係を表す所定の数式は、記憶部１２に記憶されており、制御部１１は、アプリの実行タイミング間で経過した時間を上記数式に代入することで、関連度を算出する。そして制御部１１は、関連度を算出するたびに、算出した内容に基づいて、アプリ関連ＤＢ１２４を更新する。換言すると、通信端末１００は、アプリ間の関連度を随時学習していく。
【００６０】
図１７は、第２実施形態におけるサーバ装置２００のハードウェア構成を表したブロック図である。第２実施形態では、記憶部２２がアプリ連携ルール関連ＤＢ２２２を備えていない点が第１実施形態と異なる。その他の点については、第１実施形態と同様なため、詳細な説明を省略する。
【００６１】
図１８は、アプリ間の関連度を学習する際の処理の流れを示すフローチャートである。通信端末１００の制御部１１は、記憶部１２からアプリ実行履歴１２３を取得するとＲＡＭに読み込む（ステップＳ２１０）。そして制御部１１は、取得したアプリ実行履歴１２３について次のような分析を行う。まず、制御部１１は、ＲＡＭに読み込んだアプリ実行履歴１２３において、或るアプリに対して所定の時間内に実行された他のアプリがあるか否かを判定する（ステップＳ２２０）。この所定の時間は、閾値として記憶部１２に記憶されている。そして、アプリ実行履歴１２３において、或るアプリに対して所定の時間内に実行された他のアプリがある場合（ステップＳ２２０；ＹＥＳ）、制御部１１は、先行のアプリの実行タイミングから後続のアプリの実行タイミングまでに経過した時間と関連度算出曲線とに基づいて、両者の関連度を算出する（ステップＳ２３０）。或るアプリと、このアプリに対して所定の時間内に実行された他のアプリとの組み合わせが複数ある場合、ステップＳ２３０において、制御部１１は、これらの組み合わせの各々に対して関連度を算出する。一方、アプリ実行履歴１２３において、或るアプリに対して所定の時間内に実行された他のアプリがない場合（ステップＳ２２０；ＮＯ）、制御部１１は処理を終了する。
【００６２】
ステップＳ２３０の次に制御部１１は、算出した関連度に基づいてアプリ関連ＤＢ１２４を更新する（ステップＳ２４０）。ステップＳ２４０において具体的には、制御部１１は、以下のような処理を行う。アプリ関連ＤＢ１２４のデータ構造は、図１６に示したように、先行して実行されるアプリと後続して実行されるアプリとの組み合わせのマトリクスとなっている。記憶部１２は、このマトリクスにおける上記組み合わせのそれぞれについて、それまでに算出された各々の関連度の積算値を記憶している。また、記憶部１２は、上記組み合わせのそれぞれについて、それまでに関連度を積算した回数を記憶している。そしてステップＳ２４０において制御部１１は、ステップＳ２３０において算出した、或る組み合わせに含まれるアプリ間の関連度を、それと同じ組み合わせについての関連度の積算値に加算する。また、制御部１１は、その組み合わせについて、関連度を積算した回数に１を加算する。そして制御部１１は、上記関連度の積算値のそれぞれを、関連度を積算した回数で除算することで、それぞれの関連度の平均値を求める。そして制御部１１は、先行して実行されるアプリと後続して実行されるアプリとの組み合わせのそれぞれについての関連度を、上述のようにして求めた平均値で更新する。ステップＳ２４０において制御部１１は、ステップＳ２３０で算出した関連度の数だけ、このような関連度を更新する処理を行う。
【００６３】
図１９は、第２実施形態においてアプリ連携ルールを通知する際の処理の流れを示すフローチャートである。ユーザが、通信端末１００において、操作部１４を用いて、特定のアプリを検索条件に指定してアプリ連携ルールを検索する処理を指示すると、制御部１１は、この検索条件を取得してＲＡＭに記憶させる（ステップＳ３１０）。つまり、第2実施形態において特定手段として機能する制御部１１は、ユーザにより指定された処理を一の処理として特定する。そして制御部１１は、アプリ関連ＤＢ１２４から、検索条件に指定されたアプリと関連度の高いアプリを抽出する（ステップＳ３２０）。具体的にはステップＳ３２０において、制御部１１は、アプリ関連ＤＢ１２４において、検索条件に指定されたアプリを先行としたときに関連度が閾値以上である後続のアプリと、検索条件に指定されたアプリを後続としたときに関連度が上記閾値以上である先行のアプリとを抽出する。ここで、上記閾値は、記憶部１２に記憶されている。また、ステップＳ３２０において、制御部１１は、検索条件に指定されたアプリとの関連度が上記閾値以上であるアプリを抽出できなかった場合、検索条件に指定されたアプリを先行としたときに関連度が最も高い後続のアプリと、検索条件に指定されたアプリを後続としたときに関連度が最も高い先行のアプリとを抽出する。制御部１１は、抽出したアプリと検索条件に指定されたアプリとの組み合わせを、ＲＡＭに記憶させる。
【００６４】
次に制御部１１は、通信部１５を用いて、検索条件に指定されたアプリを含むアプリ連携ルールを検索する指示をサーバ装置２００に送信する（ステップＳ３３０）。通信部２３を用いてこの指示を受信したサーバ装置２００の制御部２１は、アプリ連携ルールＤＢ２２１から、検索条件に指定されたアプリを連携元に含むアプリ連携ルールと、検索条件に指定されたアプリを連携先に含むアプリ連携ルールとを検索する。そして制御部２１は、通信部２３を用いて、検索結果のアプリ連携ルールを通信端末１００に送信する。通信端末１００の制御部１１は、通信部１５を用いて、サーバ装置２００から送信された検索結果を受信する（ステップＳ３４０）。
【００６５】
第２実施形態において通知手段として機能する制御部１１は、上記検索条件に指定されたアプリと、上記検索条件に指定されたアプリと関連度の高いアプリとの両方を含むアプリ連携ルールが検索結果に含まれている場合（ステップＳ３５０；ＹＥＳ）、上記両方を含むアプリ連携ルールが優先的にユーザに通知されるように、検索結果のアプリ連携ルールを表示部１３に表示させる（ステップＳ３６０）。ここで、上記検索条件に指定されたアプリと、上記検索条件に指定されたアプリと関連度の高いアプリとの両方を含むアプリ連携ルールのことを、優先的にユーザに通知されるものであるところから、優先アプリ連携ルールという。ステップＳ３６０において具体的には、制御部１１は、例えば、表示部１３に、優先アプリ連携ルールを表示順序において最上位に表示させる。また、例えば、制御部１１は、表示部１３に、優先アプリ連携ルールを点滅させて表示させたり、優先アプリ連携ルールを他のアプリ連携ルールと比較してフォントサイズを大きくして表示させたりする。このように、ステップＳ３６０において、制御部１１は、検索結果のアプリ連携ルールのうち、優先アプリ連携ルールをユーザが認識しやすいように、優先アプリ連携ルールの表示態様を変更させて表示部１３に表示させる。また、視覚的な表示態様の変更のほかに、制御部１１が、優先アプリ連携ルールを表す名称が読み上げられる音声を、出力部から出力するようにしてもよい。一方、制御部１１は、優先アプリ連携ルールが検索結果に含まれていない場合（ステップＳ３５０；ＮＯ）、検索結果のアプリ連携ルールを全て同じ表示態様で表示部１３に表示させる（ステップＳ３７０）。
【００６６】
このように、第２実施形態では、通信端末１００が、アプリ実行履歴から、関連度、すなわち順番で実行される確率の高いアプリどうしの組み合わせを学習する。そして通信端末１００は、或るアプリを指定してアプリ連携ルールを検索する処理を実行した際に、サーバ装置２００から検索結果として受信したアプリ連携ルールのうち、学習した内容に基づくアプリ連携ルールを、優先的にユーザに対して通知する。従って、ユーザは、役に立つ可能性の高いアプリ連携ルールを取得する際に、自ら探す手間を減らすことができる。このように、第２実施形態によっても、処理を連携させる仕組みを実現する際に、ユーザが要する手間を削減することが可能となる。
【００６７】
＜変形例＞
以上の実施形態は次のように変形可能である。尚、以下の変形例は適宜組み合わせて実施してもよい。
【００６８】
＜変形例１＞
第２実施形態では、ユーザが、通信端末１００において、或るアプリを指定してアプリ連携ルールの検索を行うと、制御部１１が、指定されたアプリを含んで構成されたアプリ連携ルールのうち、お薦めのものをユーザに対して優先的に通知するようになっていたが、これに代えて、次のようにしてもよい。変形例１では、お薦めのアプリ連携ルールを構成するアプリのうち、ユーザが指定したアプリとは別のアプリを、制御部１１が、ユーザに対して通知する。
【００６９】
図２０は、変形例１においてアプリ連携ルールを通知する際の処理の流れを示すフローチャートである。変形例１では、ステップＳ３１０及びステップＳ３２０の処理は、第２実施形態と同様である。変形例１において、ステップＳ３２０の次に、制御部１１は、検索条件に指定されたアプリを含むアプリ連携ルールを構成するアプリのうち、上記検索条件に指定されたアプリとは別のアプリを検索する指示を、通信部１５を用いて、サーバ装置２００に送信する（ステップＳ３３０ａ）。通信部２３を用いてこの指示を受信したサーバ装置２００の制御部２１は、アプリ連携ルールＤＢ２２１から、検索条件に指定されたアプリを連携元に含むアプリ連携ルールと、検索条件に指定されたアプリを連携先に含むアプリ連携ルールとを検索する。そして制御部２１は、検索結果のアプリ連携ルールを構成するアプリのうち、検索条件に指定されたアプリとは別のアプリを表す情報を、通信部２３を用いて、通信端末１００に送信する。そして、通信端末１００の制御部１１は、通信部１５を用いて、サーバ装置２００から送信されたアプリを表す情報を、検索結果として受信する（ステップＳ３４０ａ）。
【００７０】
次に制御部１１は、ステップ３２０で抽出した、検索条件に指定されたアプリと関連度の高いアプリが、検索結果として受信したアプリを表す情報に含まれている場合（ステップＳ３５０ａ；ＹＥＳ）、上記検索条件に指定されたアプリと関連度の高いアプリが優先的にユーザに通知されるように、検索結果のアプリを表す情報を表示部１３に表示させる（ステップＳ３６０ａ）。ここで、上記検索条件に指定されたアプリと関連度の高いアプリのことを、優先的にユーザに通知されるものであるところから、優先アプリという。ステップＳ３６０ａにおいて、具体的には、制御部１１は、例えば、表示部１３に、優先アプリを表す情報を表示順序において最上位に表示させる。また、例えば、制御部１１は、表示部１３に、優先アプリを表す情報を点滅させて表示させたり、優先アプリを表す情報を他のアプリを表す情報と比較してフォントサイズを大きくして表示させたりする。このように、ステップＳ３６０ａにおいて、制御部１１は、検索結果のアプリを表す情報のうち、優先アプリを表す情報をユーザが認識しやすいように、優先アプリを表す情報の表示態様を変更させて表示部１３に表示させる。また、視覚的な表示態様の変更のほかに、優先アプリの名称が読み上げられる音声を、制御部１１が出力部から出力するようにしてもよい。一方、制御部１１は、優先アプリが検索結果に含まれていない場合（ステップＳ３５０ａ；ＮＯ）、検索結果に含まれるアプリを表す情報を全て同じ表示態様で表示部１３に表示させる（ステップＳ３７０ａ）。
【００７１】
このように、変形例１では、通信端末１００が、或るアプリを指定してアプリ連携ルールを検索する処理を実行した際に、検索結果におけるお薦めのアプリ連携ルールを構成するアプリのうち、ユーザが指定したアプリとは別のアプリを、ユーザに対して通知する。これにより、ユーザは、通知されたアプリと、検索において指定したアプリとを組み合わせることで、お薦めのアプリ連携ルールを作成することができる。従って、ユーザは、役に立つ可能性の高いアプリ連携ルールを取得する際に、自ら探す手間を減らすことができる。このように、変形例１によっても、実施形態と同様の効果を奏することが可能となる。
【００７２】
＜変形例２＞
第１実施形態においては、或るアプリ連携ルールが実行されてから他のアプリ連携ルールが実行されるまでに経過した時間に基づいて、制御部２１が、アプリ連携ルールどうしの関連度を算出していた。これに代えて、或るアプリ連携ルールと他のアプリ連携ルールとが順番に実行された回数に基づいて、制御部２１が、アプリ連携ルールどうしの関連度を算出するようにしてもよい。
【００７３】
図２１は、変形例２においてアプリ連携ルール間の関連度を学習する際の処理の流れを示すフローチャートである。図２１において、ステップＳ１０は図１１と同様であるため、説明を省略する。変形例２において、記憶部２２は、アプリ連携ルール関連ＤＢ２２２における、或る連携処理内容を持つ先行のアプリ連携ルールと、他の連携処理内容を持つ後続のアプリ連携ルールとの組み合わせのそれぞれについて、組み合わせどおりの順番でアプリ連携ルールが実行された回数の積算値を記憶している。ここで、上記組み合わせどおりの順番でアプリ連携ルールが実行された回数とは、具体的には、アプリ連携ルール実行履歴１２２において、日時情報における前後関係を持って順番に並んだアプリ連携ルールの実行履歴の組のうち、実行履歴に含まれる日時情報が示す時刻どうしの差分が所定の時間内に収まる組の数である。この所定の時間は、例えば「３時間」といった値として記憶部２２に記憶されている。
【００７４】
そして、ステップＳ１０の次に、制御部２１は、ステップＳ１０で取得したアプリ連携ルール実行履歴１２２に含まれる、日時情報において前後関係を持つ実行履歴どうしの組のうち、上記組み合わせどおりの順番でアプリ連携ルールが実行されたことを表す組の数をカウントすると、カウントした数を上述した積算値に加算して記憶部２２に記憶させる（ステップＳ２０ａ）。例えば、ステップＳ２０ａで、制御部２１は、アプリ連携ルール実行履歴１２２において、Ａという連携処理内容を持つアプリ連携ルールが実行された後に、Ｂという連携処理内容を持つアプリ連携ルールが実行された、という実行履歴の組のうち、実行履歴に含まれる日時情報が示す時刻どうしの差分が所定の時間内に収まる組の数をカウントする。そして制御部２１は、記憶部２２に記憶された、Ａを先行としてＢを後続とした順番でアプリ連携ルールが実行された回数の積算値に、カウントした数を加算する。
【００７５】
次に、制御部２１は、或る連携処理内容を持つ先行のアプリ連携ルールと、他の連携処理内容を持つ後続のアプリ連携ルールとの組み合わせのそれぞれについて、記憶部２２に記憶された、上記組み合わせどおりの順番でアプリ連携ルールが実行された回数の積算値に基づいて、関連度を算出する（ステップＳ３０ａ）。具体的に、ステップＳ３０ａにおいて、制御部２１は、上記回数の積算値が多いほど関連度を高く算出し、上記回数の積算値が少ないほど関連度を低く算出する。この算出にあたって、例えば、記憶部２２に記憶された、上記回数の積算値と関連度が比例する関係を表した所定の数式が用いられてもよいが、上記回数の積算値に比例して関連度が算出される方法であれば何でもよい。そして制御部２１は、算出した関連度に基づいて、アプリ連携ルール関連ＤＢ２２２の内容を更新する（ステップＳ４０ａ）。ステップＳ４０ａにおいて、具体的に制御部２１は、記憶部２２に記憶されたアプリ連携ルール間の関連度を、ステップＳ３０ａで算出された関連度で上書きする。
【００７６】
ここまで、変形例２について、第１実施形態に対する変形例として説明を行ってきたが、図２１の処理フローにおいて、処理の主体を通信端末１００の制御部１１と読み替え、アプリ連携ルールをアプリと読み替え、アプリ連携ルール実行履歴１２２をアプリ実行履歴１２３と読み替え、アプリ連携ルール関連ＤＢ２２２をアプリ関連ＤＢ１２４と読み替えることで、第２実施形態にも応用可能である。
【００７７】
このように変形例２によれば、異なるアプリ連携ルールどうしの組が順番で実行される頻度に基づいて関連度が算出されることになるため、ユーザは、頻度の高さ、換言すると人気の高さに基づいて、お薦めのアプリ連携ルールを知ることができる。
【００７８】
＜変形例３＞
また、或る連携処理を持つアプリ連携ルールと他の連携処理を持つアプリ連携ルールとを順番に実行したユーザの一意な数に基づいて、制御部２１が、アプリ連携ルールどうしの関連度を算出するようにしてもよい。図２２は、変形例３においてアプリ連携ルール間の関連度を学習する際の処理の流れを示すフローチャートである。図２２において、ステップＳ２０は図１１と同様であるため、説明を省略する。また、変形例３において、記憶部２２は、アプリ連携ルール関連ＤＢ２２２における、或る連携処理内容を持つ先行のアプリ連携ルールと、他の連携処理内容を持つ後続のアプリ連携ルールとの組み合わせのそれぞれについて、組み合わせにおける連携の順番でアプリ連携ルールを実行したことがあるユーザを一意に識別する識別子を、上記ユーザの数だけ記憶している。この識別子は、例えばＭＡＣアドレスのような、ユーザが所持する通信端末１００の各々を一意に識別する識別子である。通常、或る通信端末１００を所持してこれを使用するのは特定のユーザであるため、このような識別子のことを、以降、ユーザ識別子という。サーバ装置２００は、ステップＳ１０ｂにおいて、通信部２３を用いて、通信端末１００からアプリ連携ルール実行履歴１２２とユーザ識別子とを対応付けて取得する。
【００７９】
図２２のステップＳ２０においてＹＥＳと判定されると、所定の時間内に順番に実行されたアプリ連携ルールどうしの組み合わせの全てについて、記憶部２２が、ステップＳ１０で取得したユーザ識別子を記憶している場合（ステップＳ３０ｂ１；ＮＯ）、制御部２１は、処理を終了する。一方、所定の時間内に順番に実行されたアプリ連携ルールどうしの組み合わせのいずれかについて、記憶部２２が、ステップＳ１０ｂで取得したユーザ識別子を記憶していない場合（ステップＳ３０ｂ１；ＹＥＳ）、制御部２１は、上記ユーザ識別子を記憶していないアプリ連携ルールどうしの組み合わせについて、ステップＳ１０で取得したユーザ識別子を記憶部２２に記憶させる（ステップＳ３０ｂ２）。
【００８０】
次に、制御部２１は、或る連携処理内容を持つ先行のアプリ連携ルールと、他の連携処理内容を持つ後続のアプリ連携ルールとの組み合わせのそれぞれについて、記憶部２２に記憶されたユーザ識別子の数に基づいて、関連度を算出する（ステップＳ３０ｂ３）。具体的に、ステップＳ３０ｂ３において、制御部２１は、記憶部２２に記憶されたユーザ識別子の数が多いほど、関連度を高く算出し、ユーザ識別子の数が少ないほど関連度を低く算出する。この算出にあたって、例えば、記憶部２２に記憶された、ユーザ識別子の数と関連度が比例する関係を表した所定の数式が用いられてもよいが、記憶部２２に記憶されたユーザ識別子の数に比例して関連度が算出される方法であれば何でもよい。そして制御部２１は、算出した関連度に基づいて、アプリ連携ルール関連ＤＢ２２２の内容を更新する（ステップＳ４０ｂ）。ステップＳ４０ｂにおいて、具体的に制御部２１は、記憶部２２に記憶されたアプリ連携ルール間の関連度を、ステップＳ３０ｂ３で算出された関連度で上書きする。
【００８１】
このように変形例３によれば、アプリ連携ルールを所定の順番で実行した一意なユーザの数に基づいて、アプリ連携ルールどうしの関連度が算出されるため、ユーザは、特定のユーザによる偏った実行履歴に影響を受けることなく、多数決の結果に従ってお薦めのアプリ連携ルールを知ることが出来るようになる。
【００８２】
＜変形例４＞
また、制御部２１が、アプリ連携ルール実行履歴１２２に含まれる実行履歴のうち、日時情報の示す時刻と現在時刻との差分が所定の期間内に収まる実行履歴、逆にいうと、所定の時期よりも後に実行された実行履歴のみに基づいて、アプリ連携ルールどうしの関連度を算出するようにしてもよい。図２３は、変形例４においてアプリ連携ルール間の関連度を学習する際の処理の流れを示すフローチャートである。図２３において、ステップＳ１０〜Ｓ４０は、図１１と同様であるため、説明を省略する。また、変形例４においてサーバ装置２００は、時間を計測する計時部（非図示）を備えている。
【００８３】
ステップＳ１０の次に、制御部２１は、取得したアプリ連携ルール実行履歴１２２のうち、日時情報の示す時刻と計時部の計測する現在時刻との差分が所定の期間を超える実行履歴を削除する（ステップＳ１０ｃ１）。そして制御部２１は、ステップＳ１０Ｃ１の結果残った実行履歴を対象として、ステップＳ２０以降の処理を行う。
【００８４】
このように変形例４によれば、ユーザによるアプリ連携ルールの実行履歴について最新の状態を反映することが可能となるため、ユーザは、そのときどきで変化していくお薦めのアプリ連携ルールを手に入れることができる。
【００８５】
＜変形例５＞
アプリ連携ルールどうしの関連度が、所定の地域ごとに算出されるようにしてもよい。図２４は、変形例５においてアプリ連携ルール間の関連度を学習する際の処理の流れを示すフローチャートである。図２４において、ステップＳ２０及びＳ３０は、図１１と同じであるため、詳細な説明を省略する。
【００８６】
サーバ装置２００の制御部２１は、通信部２３を用いて、通信端末１００からアプリ連携ルール実行履歴１２２及び住所情報を取得する（ステップＳ１０ｄ１）。ここで、取得する方法については、第１実施形態と同様であるため、詳細な説明を省略する。また、住所情報とは、通信端末１００の記憶部１２に記憶された、ユーザのプロファイル情報に含まれる住所の情報である。次に制御部２１は、取得した住所情報を地域情報に変換する（ステップＳ１０ｄ２）。地域情報とは、住所情報に基づく所定の地域の名称を表すものである。地域情報は、複数の区分により分類することが可能である。区分には、例えば、「国」、「地方」及び「町」といったものがある。上記所定の地域は、例えば区分が「国」であれば、「日本」や「アメリカ」といった国の名称で表され、区分が「地方」であれば、「関東」、「関西」、又は「九州」といった地方の名称で表され、区分が「町」であれば、「Ａ町」、「Ｂ町」といった町名で表される。区分の種類や数は上述した内容に限らず、設計において適宜変更可能である。以降の説明においては、地域情報が、「国」、「地方」及び「町」という３つの区分によって分類されているものとする。
【００８７】
区分ごとに分類された所定の地域の名称を表す情報、すなわち上述した地域情報は、住所情報と対応付けられて、予め記憶部２２に記憶されている。つまり、ステップＳ１０ｄ２において制御部２１は、記憶部２２に記憶された地域情報と住所情報との対応付けに基づいて、住所情報を地域情報に変換すると、これをＲＡＭに記憶させる。このとき制御部２１は、１つの住所情報を、区分に基づいて複数の地域情報に変換する。つまり、例えば、住所情報が「東京都新宿区○○町１−２−３」という内容であった場合、制御部２１は、記憶部２２に記憶された対応付けに基づいて、区分が「国」である「日本」、区分が「地方」である「関東」、区分が「町」である「○○町」といった３つの地域情報に変換し、これらをＲＡＭに記憶させる。つまり、地域情報とは、通信端末１００の属する地域を表しているといえる。制御部２１は、このような地域情報を取得する「地域情報取得手段」に相当する。
【００８８】
変形例５において、記憶部２２は、地域情報と対応付けられたアプリ連携ルール関連ＤＢ２２２を、地域情報の数だけ備えている。つまり、記憶部２２は、地域情報における区分の数と各区分における分類の数とを積算した数だけ、アプリ連携ルール関連ＤＢ２２２を備えている。ステップＳ１０ｄ２の次に、制御部２１は、ステップＳ２０及びＳ３０を行う。つまり、ステップＳ３０において、制御部２１は、ＲＡＭに記憶された地域情報が表す地域ごとに関連度を算出する。ステップＳ３０の次に、制御部２１は、ステップＳ３０で算出した関連度に基づいて、ＲＡＭに記憶された地域情報に応じたアプリ連携ルール関連ＤＢ２２２を更新する（ステップＳ４０ｄ）。つまり、上述した例の場合、ステップＳ４０ｄにおいて、制御部２１は、「日本」、「関東」及び「○○町」に応じた３つのアプリ連携ルール関連ＤＢ２２２を更新する。
【００８９】
図２５は、変形例５においてアプリ連携ルールを通知する際の処理の流れを示すフローチャートである。図２５において、ステップＳ１３０及びＳ１４０は、図１２と同じであるため、詳細な説明を省略する。サーバ装置２００の制御部２１は、通信部２３を用いて、通信端末１００からアプリ連携ルール一覧１２１及び住所情報を取得する（ステップＳ１１０ａ１）。ここで、取得する方法については、第１実施形態と同様であるため、詳細な説明を省略する。次に制御部２１は、取得した住所情報を地域情報に変換し、これをＲＡＭに記憶させる（ステップＳ１１０ａ２）。
【００９０】
ステップＳ１１０ａ２の次に制御部２１は、ＲＡＭに記憶された地域情報に応じたアプリ連携ルール関連ＤＢ２２２において、取得したアプリ連携ルール一覧１２１に含まれる連携処理内容を持つアプリ連携ルールに対して、関連度の高い連携処理内容を持つアプリ連携ルールがあるか否かを判定する（ステップＳ１２０ａ）。具体的にステップＳ１２０ａで、制御部２１は、ＲＡＭに記憶された地域情報に応じたアプリ連携ルール関連ＤＢ２２２において、取得したアプリ連携ルール一覧１２１に含まれる連携処理内容を持つアプリ連携ルールを先行のアプリ連携ルールとしたときに、関連度が閾値以上である連携処理内容を持つ後続のアプリ連携ルールがあるか否かを判定する。
また、ステップＳ１２０ａで、制御部２１は、ＲＡＭに記憶された地域情報に応じたアプリ連携ルール関連ＤＢ２２２において、取得したアプリ連携ルール一覧１２１に含まれる連携処理内容を持つアプリ連携ルールを後続のアプリ連携ルールとしたときに、関連度が閾値以上である連携処理内容を持つ先行のアプリ連携ルールがあるか否かを判定する。
【００９１】
つまり、例えばステップＳ１１０ａ２でＲＡＭに記憶された地域情報が、「日本」、「関東」及び「○○町」といった内容であった場合、ステップＳ１２０ａで制御部２１は、これらの地域情報に応じた３つのアプリ連携ルール関連ＤＢ２２２において、関連度の高い連携処理内容を持つアプリ連携ルールがあるか否かを判定する。以降、判定の結果に従って、制御部２１は、ステップＳ１３０及びＳ１４０の処理を行う。
【００９２】
このように、変形例５では、サーバ装置２００が、所定の地域ごとに、或る連携処理内容を持つ先行のアプリ連携ルールと、他の連携処理内容を持つ後続のアプリ連携ルールとの組み合わせについての関連度を学習する。ここで、例えば、日本では、乗換え検索アプリを含むアプリ連携ルールがよく実行されるが、アメリカでは、電車の到着時刻が正確ではないため、乗換え検索アプリを含むアプリ連携ルールはあまり実行されない、というように、地域によってアプリ連携ルールの使用状況に差異が存在することがある。これに対して、変形例５によれば、ユーザは、自らの所属する地域に合わせて、最適なお薦めのアプリ連携ルールを通知されることになるため、利便性が高いものとなる。
【００９３】
＜変形例６＞
変形例５における地域情報を、通信端末１００のユーザの属性を表す属性情報に代えてもよい。図２６は、変形例６においてアプリ連携ルール間の関連度を学習する際の処理の流れを示すフローチャートである。図２６において、ステップＳ２０及びＳ３０は、図１１と同じであるため、詳細な説明を省略する。サーバ装置２００の制御部２１は、通信部２３を用いて、通信端末１００からアプリ連携ルール実行履歴１２２及び属性情報を取得すると、これらをＲＡＭに記憶させる（ステップＳ１０ｅ）。
【００９４】
この属性情報は、通信端末１００の記憶部１２に記憶された、ユーザのプロファイル情報に含まれる。属性情報は、「職業」、「年齢」、「性別」、「母国語」といった複数の区分で分類可能である。例えば、属性情報は、区分が「職業」であれば、「会社員」、「自営業」といった個別の職業を表す名称で表され、区分が「年齢」であれば、「２０代」、「３０代」といった所定の年齢の範囲を示す名称で表され、区分が「性別」であれば、「男性」あるいは「女性」という性別を表す名称で表され、区分が「母国語」であれば、「日本語」や「英語」といった言語の名称で表される。区分の種類や数は上述した内容に限らず、設計において適宜変更可能である。制御部２１は、このような属性情報を取得する「属性情報取得手段」に相当する。
【００９５】
変形例６において、記憶部２２は、属性情報と対応付けられたアプリ連携ルール関連ＤＢ２２２を、属性情報の数だけ備えている。つまり、記憶部２２は、属性情報における区分の数と、各区分における分類の数とを積算した数だけ、アプリ連携ルール関連ＤＢ２２２を備えている。ステップＳ１０ｅの次に、制御部２１は、ステップＳ２０及びＳ３０を行う。つまり、ステップＳ３０において、制御部２１は、ＲＡＭに記憶された属性情報が表す属性ごとに関連度を算出する。ステップＳ３０の次に、制御部２１は、ステップＳ３０で算出した関連度に基づいて、ＲＡＭに記憶された属性情報に応じたアプリ連携ルール関連ＤＢ２２２を更新する（ステップＳ４０ｄ）。
【００９６】
図２７は、変形例６においてアプリ連携ルールを通知する際の処理の流れを示すフローチャートである。図２７において、ステップＳ１３０及びＳ１４０は、図１２と同じであるため、詳細な説明を省略する。サーバ装置２００の制御部２１は、通信部２３を用いて、通信端末１００からアプリ連携ルール一覧１２１及び属性情報を取得すると、これらをＲＡＭに記憶させる（ステップＳ１１０ａ１）。ここで、取得する方法については、第１実施形態と同様であるため、詳細な説明を省略する。
【００９７】
次に制御部２１は、ＲＡＭに記憶された属性情報に応じたアプリ連携ルール関連ＤＢ２２２において、取得したアプリ連携ルール一覧１２１に含まれる連携処理内容を持つアプリ連携ルールに対して、関連度の高い連携処理内容を持つアプリ連携ルールがあるか否かを判定する（ステップＳ１２０ｂ）。具体的にステップＳ１２０ｂで、制御部２１は、ＲＡＭに記憶された属性情報に応じたアプリ連携ルール関連ＤＢ２２２において、取得したアプリ連携ルール一覧１２１に含まれる連携処理内容を持つアプリ連携ルールを先行のアプリ連携ルールとしたときに、関連度が閾値以上である連携処理内容を持つ後続のアプリ連携ルールがあるか否かを判定する。また、ステップＳ１２０ｂで、制御部２１は、ＲＡＭに記憶された属性情報に応じたアプリ連携ルール関連ＤＢ２２２において、取得したアプリ連携ルール一覧１２１に含まれる連携処理内容を持つアプリ連携ルールを後続のアプリ連携ルールとしたときに、関連度が閾値以上である連携処理内容を持つ先行のアプリ連携ルールがあるか否かを判定する。
【００９８】
つまり、例えばステップＳ１１０ｂでＲＡＭに記憶された属性情報が、「会社員」、「男性」、「３０代」及び「日本語」といった内容であった場合、ステップＳ１２０ａで制御部２１は、これらの属性情報に応じた４つのアプリ連携ルール関連ＤＢ２２２において、関連度の高い連携処理内容を持つアプリ連携ルールがあるか否かを判定する。以降、判定の結果に従って、制御部２１は、ステップＳ１３０及びＳ１４０の処理を行う。
【００９９】
このように、変形例６では、サーバ装置２００が、ユーザの属性ごとに、或る連携処理内容を持つ先行のアプリ連携ルールと、他の連携処理内容を持つ後続のアプリ連携ルールとの組み合わせについての関連度を学習する。ここで、例えば、年齢層２０代は、夜遊びする人が多いため、指定した時刻に終電の通知を受けるためのアプリ連携ルールがよく実行されるが、年齢層６０代は、夜あまり出歩かないため、上記アプリ連携ルールはあまり実行されない、というように、年齢、すなわちユーザの属性によって、アプリ連携ルールの使用状況に差異が存在することがある。これに対して、変形例６によれば、ユーザは、自らの属性に合わせて、最適なお薦めのアプリ連携ルールを通知されることになるため、利便性が高いものとなる。
【０１００】
＜変形例７＞
第１実施形態においては、複数の通信端末１００から取得するアプリ連携ルール実行履歴１２２に対して、サーバ装置２００の記憶部２２が、一のアプリ連携ルール関連ＤＢ２２２を備えるようにしたが、これに限らず、記憶部２２が、アプリ連携ルール実行履歴１２２の取得元である通信端末１００ごとにアプリ連携ルール関連ＤＢ２２２を備えるようにしてもよい。このようにすれば、それぞれのユーザは、自らのアプリ連携ルールの実行履歴のみに基づくことにより、アプリの使用に関する自らの嗜好をより如実に反映したアプリ連携ルールの通知を受けることが可能となる。
【０１０１】
＜変形例８＞
第１実施形態において、通信端末１００の記憶部１２が、アプリ連携ルールＤＢ２２１及びアプリ連携ルール関連ＤＢ２２２を備えるようにしてもよい。また、第２実施形態において、通信端末１００の記憶部１２が、アプリ連携ルールＤＢ２２１を備えるようにしてもよい。このようにすれば、ネットワークＮＷ及びサーバ装置２００を必要とすることなく、実施形態と同様の効果を奏することが可能となる。
また、例えば、記憶部２２、抽出手段２１５及び通知手段２１６を通信端末１００が備え、取得手段２１１、算出手段２１２及び更新手段２１３をサーバ装置２００が備えるというように、各機能を複数の装置で分散して備えるようにしてもよい。すなわち、システムに含まれる１又は複数の装置が、取得手段２１１、記憶部２２、算出手段２１２、更新手段２１３、特定手段２１４、抽出手段２１５および通知手段２１６を備えていればよい。このようにしても、実施形態と同様の効果を奏することが可能となる。
【０１０２】
＜変形例９＞
第２実施形態において、通信端末１００の記憶部１２に代えて、サーバ装置２００の記憶部２２が、アプリ関連ＤＢ１２４を備え、サーバ装置２００の制御部２１が、複数の通信端末から取得したアプリ実行履歴１２３に基づいて関連度を算出するようにしてもよい。この場合、図１８のアプリ間の関連度を学習する際の処理の流れを示すフローチャートにおいて、以下のような処理が行われる。変形例９において、サーバ装置２００の制御部２１は、通信部２３を用いて、通信端末１００からアプリ実行履歴１２３を取得する（ステップＳ２１０）。具体的にはステップＳ２１０において、制御部２１は、例えば、通信部２３を用いて複数の通信端末１００にポーリングを行う。そして制御部２１は、ポーリングの返信があった通信端末１００に対して、通信部２３を用いてデータ送信要求を送信する。通信端末１００の制御部１１は、通信部１５を用いてデータ送信要求を受信すると、記憶部１２に記憶されたアプリ実行履歴１２３をサーバ装置２００に対して送信する。制御部２１は、通信部２３を用いてアプリ実行履歴１２３を受信すると、これを記憶部２２に記憶させる。制御部２１は、このようにして複数の通信端末１００から提供されるアプリ実行履歴１２３を取得する。
【０１０３】
変形例９において、制御部２１は、記憶部２２に記憶されたアプリ実行履歴１２３について次のような分析を行う。変形例９で、まず、制御部２１は、ステップＳ２１０で記憶部２２に記憶されたアプリ実行履歴１２３において、或るアプリに対して所定の時間内に実行された他のアプリがあるか否かを判定する（ステップＳ２２０）。この所定の時間は、閾値として記憶部２２に記憶されている。そして、変形例９で、アプリ実行履歴１２３において、或るアプリに対して所定の時間内に実行された他のアプリがある場合（ステップＳ２２０；ＹＥＳ）、制御部２１は、先行のアプリの実行タイミングから後続のアプリの実行タイミングまでに経過した時間と関連度算出曲線とに基づいて、両者の関連度を算出する（ステップＳ２３０）。或るアプリと、このアプリに対して所定の時間内に実行された他のアプリとの組み合わせが複数ある場合、ステップＳ２３０において、制御部２１は、これらの組み合わせの各々に対して関連度を算出する。一方、変形例９で、アプリ実行履歴１２３において、或るアプリに対して所定の時間内に実行された他のアプリがない場合（ステップＳ２２０；ＮＯ）、制御部２１は処理を終了する。
【０１０４】
変形例９において、ステップＳ２３０の次に制御部２１は、算出した関連度に基づいて、記憶部２が備えるアプリ関連ＤＢ１２４を更新する（ステップＳ２４０）。ステップＳ２４０において具体的には、制御部２１は、以下のような処理を行う。アプリ関連ＤＢ１２４のデータ構造は、図１６に示したように、先行して実行されるアプリと後続して実行されるアプリとの組み合わせのマトリクスとなっている。記憶部２２は、このマトリクスにおける上記組み合わせのそれぞれについて、それまでに算出された各々の関連度の積算値を記憶している。また、記憶部２２は、上記組み合わせのそれぞれについて、それまでに関連度を積算した回数を記憶している。そしてステップＳ２４０において制御部２１は、ステップＳ２３０において算出した、或る組み合わせに含まれるアプリ間の関連度を、それと同じ組み合わせについての関連度の積算値に加算する。また、制御部２１は、その組み合わせについて、関連度を積算した回数に１を加算する。そして制御部２１は、上記関連度の積算値のそれぞれを、関連度を積算した回数で除算することで、それぞれの関連度の平均値を求める。そして制御部２１は、先行して実行されるアプリと後続して実行されるアプリとの組み合わせのそれぞれについての関連度を、上述のようにして求めた平均値で更新する。変形例９のステップＳ２４０において制御部２１は、ステップＳ２３０で算出した関連度の数だけ、このような関連度を更新する処理を行う。
【０１０５】
図２８は、変形例９においてアプリ連携ルールをユーザに通知する際の処理の流れを示すフローチャートである。ユーザが、通信端末１００において、操作部１４を用いて、特定のアプリを検索条件に指定してアプリ連携ルールを検索する処理を指示すると、制御部１１は、この検索条件を通信部１５を用いてサーバ装置２００に送信し、サーバ装置２００の制御部２１は、通信部２３を用いてこれを受信して取得するとＲＡＭに記憶させる（ステップＳ４１０）。そして制御部２１は、記憶部２２に備えられたアプリ関連ＤＢ１２４から、ステップＳ４１０で取得した検索条件に指定されたアプリと関連度の高いアプリを抽出する（ステップＳ４２０）。具体的にはステップＳ４２０において、制御部２１は、アプリ関連ＤＢ１２４において、検索条件に指定されたアプリを先行としたときに関連度が閾値以上である後続のアプリと、検索条件に指定されたアプリを後続としたときに関連度が上記閾値以上である先行のアプリとを抽出する。ここで、上記閾値は、記憶部２２に記憶されている。また、ステップＳ４２０において、制御部２１は、検索条件に指定されたアプリとの関連度が上記閾値以上であるアプリを抽出できなかった場合、検索条件に指定されたアプリを先行としたときに関連度が最も高い後続のアプリと、検索条件に指定されたアプリを後続としたときに関連度が最も高い先行のアプリとを抽出する。制御部２１は、抽出したアプリと検索条件に指定されたアプリとの組み合わせを、ＲＡＭに記憶させる。
【０１０６】
次に制御部２１は、アプリ連係ルールＤＢ２２１から、ステップＳ４１０で取得した検索条件に指定されたアプリを含むアプリ連係ルールを検索する（ステップＳ４３０）。ステップＳ４３０において、制御部２１は、検索結果に対して、「０」または「１」の値をとるフラグである「お薦めフラグ」を付加する。具体的には、制御部２１は、検索結果のうち、ステップＳ４２０においてＲＡＭに記憶されたアプリの組み合わせからなるアプリ連係ルールに対しては、お薦めフラグとして「１」を付加する。お薦めフラグに「１」が付加されたアプリ連係ルールは、検索条件に指定されたアプリと関連度が高いアプリとの組み合わせからなるため、ユーザが使用するときに便利なものである可能性が高く、従って、ユーザにお薦めできるものとなっている。一方、制御部２１は、検索結果のうち、ステップＳ４２０においてＲＡＭに記憶されたアプリの組み合わせとは異なるアプリ連係ルールに対しては、お薦めフラグとして「０」を付加する。そして制御部２１は、お薦めフラグが付加された検索結果であるアプリ連係ルールを、通信部２３を用いて通信端末１００に送信することで、通信端末１００のユーザに検索結果を通知する（ステップＳ４４０）。通信端末１００の制御部１１は、通信部１５を用いて検索結果を受信すると、検索結果のうちお薦めフラグが「１」であるアプリ連係ルールを、上述した優先アプリ連係ルールとして表示させる。
【０１０７】
このように、変形例９によれば、多数のユーザのアプリ実行履歴１２３から関連度が算出されるため、ユーザは、自らの実行履歴のみに依ることなく、思いがけないお薦めのアプリ連係ルールの通知を受けることが可能となる。
【符号の説明】
【０１０８】
１１，２１…制御部、１２，２２…記憶部、１２１…アプリ連携ルール一覧、１２２…アプリ連携ルール実行履歴、１２３…アプリ実行履歴、１２４…アプリ関連ＤＢ、２２１…アプリ連携ルールＤＢ、２２２…アプリ連携ルール関連ＤＢ、１３…表示部、１４…操作部、１５，２３…通信部、１６，２４…バス、１００…通信端末、２００…サーバ装置、３００…関連度算出曲線、ＮＷ…ネットワーク
【図１】
2013003788.tif 000003
【図２】
2013003788.tif 000004
【図３】
2013003788.tif 000005
【図４】
2013003788.tif 000006
【図５】
2013003788.tif 000007
【図６】
2013003788.tif 000008
【図７】
2013003788.tif 000009
【図８】
2013003788.tif 000010
【図９】
2013003788.tif 000011
【図１０】
2013003788.tif 000012
【図１１】
2013003788.tif 000013
【図１２】
2013003788.tif 000014
【図１３】
2013003788.tif 000015
【図１４】
2013003788.tif 000016
【図１５】
2013003788.tif 000017
【図１６】
2013003788.tif 000018
【図１７】
2013003788.tif 000019
【図１８】
2013003788.tif 000020
【図１９】
2013003788.tif 000021
【図２０】
2013003788.tif 000022
【図２１】
2013003788.tif 000023
【図２２】
2013003788.tif 000024
【図２３】
2013003788.tif 000025
【図２４】
2013003788.tif 000026
【図２５】
2013003788.tif 000027
【図２６】
2013003788.tif 000028
【図２７】
2013003788.tif 000029
【図２８】
2013003788.tif 000030