(57)【特許請求の範囲】
【請求項１】
複数の端末と、
前記複数の端末と通信可能なサーバとを備えるネットワークシステムであって、
前記複数の端末の各々は、ユーザの行動に関する情報と、公開鍵と、を前記サーバに送信し、
前記サーバは、前記複数の端末のユーザ間の行動に関する情報に関する相関に基づいて、前記複数の端末のユーザのうちの第１の端末のユーザの行動と所定の関係を有する第２の端末のユーザを特定し、
前記サーバは前記第２の端末に前記第１の端末の公開鍵を送信し、
前記第２の端末は、前記第１の端末の公開鍵によって暗号化した前記第２の端末のユーザの行動に関する情報を前記サーバに送信し、
前記サーバは、前記第２の端末のユーザの行動に関する情報を前記第１の端末の公開鍵で暗号化した状態で前記第１の端末に送信し、
前記第１の端末は、少なくとも前記第１の端末の秘密鍵によって復号した前記第２の端末のユーザの行動に関する情報に基づいて選択された情報を出力する、ネットワークシステム。
【請求項２】
前記サーバは、前記所定の関係として、ユーザの行動を示す特性ベクトル同士の相関係数を利用する、請求項１に記載のネットワークシステム。
【請求項３】
前記サーバは、前記所定の関係として、相関係数が高いもの、相関係数が低いもの、ユーザに指定された相関係数に近いもの、前記サーバが指定した相関係数に近いもの、の少なくともいずれかを利用する、請求項１または２に記載のネットワークシステム。
【請求項４】
複数の端末と通信するための通信インターフェイスと、
プロセッサとを備えるサーバであって、前記プロセッサが、
前記通信インターフェイスを介して、前記複数の端末のユーザの行動に関する情報と公開鍵とを受信して、前記複数の端末のユーザのうちの第１の端末のユーザの行動と所定の関係を有する第２の端末に前記第１の端末の公開鍵を送信し、前記第１の端末の公開鍵によって暗号化された前記第２の端末のユーザの行動に関する情報を前記第１の端末に送信する、サーバ。
【請求項５】
通信インターフェイスを介して、複数の端末のユーザの行動に関する情報と公開鍵とを受信するステップと、
プロセッサが前記複数の端末のユーザ間の行動に関する情報の相関を算出するステップと、
前記通信インターフェイスを介して、前記複数の端末のユーザのうちの第１の端末のユーザの行動と所定の関係を有する第２の端末に前記第１の端末の公開鍵を送信するステップと、
前記通信インターフェイスを介して、前記第１の端末の公開鍵によって暗号化された前記第２の端末のユーザの行動に関する情報を前記第１の端末に送信するステップと、を備えるサーバの情報処理方法。
【請求項６】
サーバと通信するための通信インターフェイスと、
プロセッサとを備える通信端末であって、前記プロセッサは、
前記通信インターフェイスを介してユーザの行動に関する情報と公開鍵とを前記サーバに送信し、前記サーバから前記公開鍵によって暗号化された他の通信端末のユーザの行動に関する情報を受信し、少なくとも秘密鍵によって復号した前記他の通信端末のユーザの行動に関する情報に基づいて取得された情報を出力する、通信端末。
【請求項７】
通信端末のためのアプリケーションプログラムであって、
通信インターフェイスを介して、ユーザの行動に関する情報と公開鍵とをサーバに送信するステップと、
前記通信インターフェイスを介して、前記サーバから前記公開鍵によって暗号化された他の通信端末のユーザの行動に関する情報を受信するステップと、
少なくとも秘密鍵によって復号した前記他の通信端末のユーザの行動に関する情報に基づいて取得された情報を出力するステップと、をプロセッサに実行させるためのアプリケーションプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、２０１６年７月２１日に出願された特願２０１６−１４３４１８に対して、優先権の利益を主張するものであり、それを参照することにより、その内容の全てを本書に含めるものである。【０００２】
以下の開示は、ユーザの行動履歴などを利用した情報処理を行うためのネットワークシステム、サーバ、情報処理方法、通信端末およびプログラムの技術に関する。
【背景技術】
【０００３】
従来から、効率的に情報を選択したり出力したりするための様々な技術が提案されている。たとえば、特開２０１０―４１６１７号公報（特許文献１）は、携帯情報端末、情報提供方法、情報処理プログラム、情報提供サーバ、放送受信装置および情報提供システムを開示している。特許文献１によると、コンテンツプロバイダからコンテンツおよび該コンテンツに関するコンテンツ情報を受信する少なくとも１以上の放送受信装置と通信接続し、放送受信装置からコンテンツ情報を受信する機器通信部と、放送受信装置から受信したコンテンツ情報を表示するコンテンツ表示部と、コンテンツに関連する関連情報を管理する情報提供サーバと通信接続し、放送受信装置から受信したコンテンツ情報と関連する関連情報を情報提供サーバから受信するサーバ通信部と、情報提供サーバから受信した関連情報を表示する関連情報表示部と、を備える。【０００４】
特開２０１５−４３５５３号公報（特許文献２）は、端末装置、データ処理方法及びプログラムを開示している。特許文献２によると、外部データにアクセス可能なパブリックデータ処理部において地図の表示データを作成し、外部にはアクセスできないがパーソナルデータにアクセス可能なプライベートデータ処理部において商品お勧めデータを作成し、表示部においてそれらを合成するようにしている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１０―４１６１７号公報
【特許文献２】特開２０１５−４３５５３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明の一態様の目的は、従来とは異なった手法に基づいて情報をユーザに提供することができるネットワークシステム、サーバ、情報処理方法、通信端末およびプログラムを提供することにある。
【課題を解決するための手段】
【０００７】
この発明のある態様に従うと、複数の端末と、複数の端末と通信可能なサーバとを備えるネットワークシステムが提供される。複数の端末の各々は、ユーザの行動に関する情報をサーバに送信する。サーバは、複数の端末のユーザ間の行動に関する情報に関する相関に基づいて、複数の端末のユーザのうちの第１の端末のユーザの行動と所定の関係を有する第２の端末のユーザの行動に関する情報を第１の端末に送信する。第１の端末は、少なくとも第２の端末のユーザの行動に関する情報に基づいて選択された情報を出力する。【０００８】
好ましくは、サーバは、第２の端末に、第１の端末の公開鍵を送信する。第２の端末は、公開鍵を利用して暗号化した第２の端末のユーザの行動に関する情報をサーバに送信する。サーバは、第２の端末からの情報を第１の端末に送信する。【０００９】
好ましくは、サーバは、所定の関係として、ユーザの行動を示す特性ベクトル同士の相関係数を利用する。【００１０】
好ましくは、サーバは、所定の関係として、相関係数が高いもの、相関係数が低いもの、ユーザに指定された相関係数に近いもの、サーバが指定した相関係数に近いもの、の少なくともいずれかを利用する。【００１１】
この発明の別の局面に従うと、複数の端末と通信するための通信インターフェイスと、プロセッサとを備えるサーバが提供される。プロセッサが、通信インターフェイスを介して、複数の端末のユーザの行動に関する情報を受信して、複数の端末のユーザのうちの第１の端末のユーザの行動と所定の関係を有する第２の端末のユーザの行動に関する情報を第１の端末に送信する。【００１２】
この発明の別の局面に従うと、通信インターフェイスを介して、複数の端末のユーザの行動に関する情報を受信するステップと、プロセッサが複数の端末のユーザ間の行動に関する情報の相関を算出するステップと、通信インターフェイスを介して、複数の端末のユーザのうちの第１の端末のユーザの行動と所定の関係を有する第２の端末のユーザの行動に関する情報を第１の端末に送信するステップと、を備えるサーバの情報処理方法が提供される。【００１３】
この発明の別の局面に従うと、サーバと通信するための通信インターフェイスと、プロセッサとを備える通信端末が提供される。プロセッサは、通信インターフェイスを介してユーザの行動に関する情報をサーバに送信し、サーバから他の通信端末のユーザの行動に関する情報を受信し、少なくとも他の通信端末のユーザの行動に関する情報に基づいて取得された情報を出力する。【００１４】
この発明の別の局面に従うと、通信端末のためのアプリケーションプログラムであって、通信インターフェイスを介してユーザの行動に関する情報をサーバに送信するステップと、サーバから他の通信端末のユーザの行動に関する情報を受信するステップと、少なくとも他の通信端末のユーザの行動に関する情報に基づいて取得された情報を出力するステップと、をプロセッサに実行させるためのアプリケーションプログラムが提供される。
【発明の効果】
【００１５】
以上のように、本発明の一態様によれば、従来とは異なった手法に基づいて情報をユーザに提供することができるネットワークシステム、サーバ、情報処理方法、通信端末およびプログラムが提供される。
【図面の簡単な説明】
【００１６】
【図１】第１の実施の形態にかかるネットワークシステム１の全体構成と動作概要とを示すイメージ図である。
【図２】第１の実施の形態にかかるユーザ端末１００を中心とした機能構成と動作概要とを示すイメージ図である。
【図３】第１の実施の形態にかかるユーザ端末１００のハードウェア構成を表わすブロック図である。
【図４】第１の実施の形態にかかるサーバ２００のハードウェア構成を表わすブロック図である。
【図５】第１の実施の形態にかかるユーザ端末１００における情報選択の情報処理を示すフローチャートである。
【図６】第１の実施の形態にかかるユーザ端末１００における特性情報としての行動ベクトルＰの登録処理を示すフローチャートである。
【図７】第１の実施の形態にかかるユーザ端末１００における行動ベクトルの更新処理を示すフローチャートである。
【図８】第１の実施の形態にかかるユーザ端末１００における他のユーザの行動情報の要求処理を示すフローチャートである。
【図９】第１の実施の形態にかかるユーザ端末１００における行動情報の送信処理を示すフローチャートである。
【図１０】第１の実施の形態にかかるユーザ端末１００における行動情報の記録処理を示すフローチャートである。
【図１１】第１の実施の形態にかかるサーバ２００における行動ベクトルの登録処理を示すフローチャートである。
【図１２】第１の実施の形態にかかるサーバ２００における行動ベクトルＰの更新処理を示すフローチャートである。
【図１３】第１の実施の形態にかかるサーバ２００における行動情報の要求処理を示すフローチャートである。
【図１４】第２の実施の形態にかかるネットワークシステム１の全体構成と動作概要とを示すイメージ図である。
【図１５】第３の実施の形態にかかるネットワークシステム１の全体構成と動作概要とを示すイメージ図である。
【図１６】第４の実施の形態にかかるネットワークシステム１の全体構成と動作概要とを示すイメージ図である。
【図１７】第５の実施の形態にかかるネットワークシステム１の全体構成と動作概要とを示すイメージ図である。
【図１８】第６の実施の形態にかかるネットワークシステム１の全体構成と動作概要とを示すイメージ図である。
【図１９】第６の実施の形態にかかるユーザ端末１００を中心とした機能構成と動作概要とを示すイメージ図である。
【図２０】第７の実施の形態にかかるネットワークシステム１の全体構成と動作概要とを示すイメージ図である。
【図２１】第８の実施の形態にかかるネットワークシステム１の全体構成と動作概要とを示すイメージ図である。
【図２２】第９の実施の形態にかかるネットワークシステム１の全体構成と動作概要とを示すイメージ図である。
【発明を実施するための形態】
【００１７】
以下、図面を参照しつつ、本発明の実施の形態について説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがって、それらについての詳細な説明は繰り返さない。
＜第１の実施の形態＞
＜ネットワークシステムの全体構成と動作概要＞
【００１８】
まず、本実施の形態にかかるネットワークシステム１の全体構成と動作概要について説明する。図１は、本実施の形態にかかるネットワークシステム１の全体構成と動作概要とを示すイメージ図である。図２は、本実施の形態にかかるユーザ端末１００を中心とした機能構成と動作概要とを示すイメージ図である。
【００１９】
まず、図１および図２を参照して、本実施の形態にかかるネットワークシステム１の全体構成について説明する。本実施の形態にかかるネットワークシステム１は、主に、複数のユーザのそれぞれが使用するユーザ端末１００Ａ，１００Ｂ・・・と、サービスを提供するサーバ２００とを含む。
【００２０】
なお、ユーザ端末１００Ａ，１００Ｂ・・・は、スマートフォンや、タブレットや、パーソナルコンピュータや、ゲーム機などによって実現され、ユーザの命令によって、インターネットやクラウドを介して各種の情報を検索したりダウンロードしたりすることができる。以下では、ユーザ端末１００Ａ，１００Ｂ・・・を総称して、ユーザ端末１００ともいう。
【００２１】
次に、図１および図２を参照して、本実施の形態にかかるネットワークシステム１の動作概要について説明する。まず、ユーザ端末１００は、ユーザの名前や年齢や住所などの静的な個人情報を受け付けて、記憶する。
【００２２】
そして、ユーザ端末１００は、ユーザがユーザ端末１００を操作した場合や、移動した場合などに、ユーザの操作命令や移動履歴を行動情報として蓄積する（ステップＳ１０１）。そして、ユーザ端末１００は、ユーザの行動情報から作成される、ユーザの好みなどを示すための特性情報と、ユーザ端末１００用の公開鍵とをサーバ２００に提供する（ステップＳ１０２）。
【００２３】
なお、ユーザＡがユーザ端末１００Ａを操作したり、行動した場合には、ユーザ端末１００ＡのユーザＡの行動の履歴などの行動情報を特徴づける特性情報Ａをサーバ２００にアップロードするし、ユーザＢがユーザ端末１００Ｂを操作したり、行動した場合には、ユーザ端末１００ＢのユーザＢの行動の履歴などの行動情報を特徴づける特性情報Ｂをサーバ２００にアップロードする。
【００２４】
サーバ２００は、ユーザの組み合わせ毎の特性情報の関係値を計算する（ステップＳ１０３）。
【００２５】
ユーザ端末１００Ａは、定期的に、または所定の情報を検索する際に、または所定の情報をプッシュされた際などに、サーバ２００に、他のユーザ端末１００のユーザの行動情報を要求する（ステップＳ１０４）。サーバ２００は、当該要求に応じて、ユーザの特性情報Ａに近い特性情報に対応するユーザを特定する（ステップＳ１０５）。
【００２６】
サーバ２００は、特定されたユーザのユーザ端末１００Ｂに、ユーザ端末１００Ａからの公開鍵Ａを渡して、特定されたユーザの行動情報を要求する（ステップＳ１０６）。ユーザ端末１００Ｂは、ユーザＢの行動情報を公開鍵Ａによって暗号化したデータをサーバ２００に送信する（ステップＳ１０７）。サーバ２００は、暗号化されたデータをユーザ端末１００Ａに送信する（ステップＳ１０８）。
【００２７】
ユーザ端末１００Ａは、自身からの公開鍵で暗号化されたデータを自身の秘密鍵で復号化する。そして、ユーザ端末１００Ａは、ユーザの指示に基づいてインターネットやクラウドを介して情報を検索する（ステップＳ１０９）。または、ユーザ端末１００Ａは、外部からプッシュされた情報を受信する（ステップＳ１０９）。
【００２８】
このような場合に、本実施の形態においては、ユーザ端末１００Ａが、ユーザ端末１００Ａのユーザの行動情報や静的個人情報だけでなく、別のユーザの行動情報も参考にして、情報を選択したり、情報を抽出したりすることができる（ステップＳ１１０）。
【００２９】
より詳細には、たとえば、ユーザ端末１００Ａは、ユーザ端末１００Ａのユーザの行動情報や静的個人情報だけでなく、別のユーザの行動情報も参考にして、クラウド上のサーバなどから受信した膨大な情報からユーザ端末１００Ａで出力する情報を選択する。あるいは、ユーザ端末１００Ａは、ユーザ端末１００Ａのユーザの行動情報や静的個人情報だけでなく、別のユーザの行動情報をもクラウド上のサーバに提供することによって、情報を検索してもよい。すなわち、クラウド上のサーバなどのユーザ端末１００Ａとは別の装置が、ユーザ端末１００Ａのユーザのために、ユーザ端末１００Ａのユーザの行動情報や静的個人情報だけでなく別のユーザの行動情報に基づいて、情報を検索・選択してユーザ端末１００Ａに情報を送信してもよい。
【００３０】
なお、ユーザ端末１００Ａは、ユーザ端末１００Ａのユーザの行動情報や静的個人情報を利用せずに、別のユーザの行動情報を参考にして、クラウド上のサーバなどから受信した膨大な情報からユーザ端末１００Ａで出力する情報を選択してもよい。
【００３１】
そして最終的に、ユーザ端末１００Ａは、ユーザ端末１００Ａのユーザの行動情報や静的個人情報だけでなく別のユーザの行動情報も考慮された情報が出力される（ステップＳ１１１）。
【００３２】
このように、本実施の形態にかかるネットワークシステムにおいては、ユーザ自身の行動情報だけなく、他のユーザの行動情報にも基づいて、情報が選択されて出力されるため、ユーザにとって刺激的な情報が出力される可能性を従来よりも高めたり、出力された情報にユーザが飽きてしまう可能性を従来よりも低減したりすることができる。
【００３３】
以下、このような機能を実現するためのネットワークシステム１の具体的な構成について詳述する。
＜ユーザ端末１００のハードウェア構成＞
【００３４】
次に、ネットワークシステム１を構成するユーザ端末１００のハードウェア構成の一態様について説明する。なお、図３は、本実施の形態にかかるユーザ端末１００のハードウェア構成を表わすブロック図である。
【００３５】
図３を参照して、ユーザ端末１００は、主たる構成要素として、ＣＰＵ（Central Processing Unit）１１０と、メモリ１２０と、ディスプレイ１３０と、操作部１４０と、通信インターフェイス１６０と、スピーカ１７０と、マイク１８０とを含む。
【００３６】
ＣＰＵ１１０は、メモリ１２０に記憶されているプログラムを実行することによって、ユーザ端末１００の各部を制御する。その結果、ＣＰＵ１１０は、図１の行動情報管理部１１２や情報選択部１１４を実現する。
【００３７】
メモリ１２０は、各種のＲＡＭ（Random  Access  Memory）や各種のＲＯＭ（Read-Only  Memory）などによって実現される。メモリ１２０は、ＣＰＵ１１０によって実行されるプログラムや、ＣＰＵ１１０によるプログラムの実行により生成されたデータ、サーバ２００などの他の装置から受信したデータ、操作部１４０を介して入力された操作履歴、ユーザの行動履歴、ユーザ端末１００のユーザを特定するための情報、公開鍵、秘密鍵などを記憶する。
【００３８】
ディスプレイ１３０は、ＣＰＵ１１０からのデータに基づいて、画像やテキストを表示する。操作部１４０は、ポインティングデバイスやスイッチなどから構成され、ユーザからの各種の命令をＣＰＵ１１０に入力する。なお、ユーザ端末１００は、ディスプレイ１３０と操作部１４０とを含むタッチパネル１５０を有してもよい。
【００３９】
通信インターフェイス１６０は、ＣＰＵ１１０からのデータを、ルータ、キャリア網、インターネットなどを介して、サーバ２００などの他の装置に送信する。逆に、通信インターフェイス１６０は、インターネット、キャリア網、ルータなどを介してサーバ２００などの他の装置からのデータを受信して、ＣＰＵ１１０に受け渡す。
【００４０】
本実施の形態においては、ＣＰＵ１１０は、操作履歴や行動履歴を含む行動情報から特性情報を作成して、通信インターフェイス１６０を介して当該特性情報と公開鍵とをサーバ２００に送信する。また、ＣＰＵ１１０は、通信インターフェイス１６０を介してサーバ２００から暗号化された他のユーザの行動情報を受信して、秘密鍵で復号化する。ＣＰＵ１１０は、自身の行動情報または／および他のユーザの行動情報に基づいて、通信インターフェイス１６０を介して取得した情報を選別して、ディスプレイ１３０やスピーカ１７０に出力させる。
【００４１】
より詳細には、本実施の形態においては、ＣＰＵ１１０は、行動情報を構成する複数の操作履歴や行動履歴を予め定義されたｎ個のカテゴリ別にメモリ１２０に記録する。たとえば、各カテゴリに記録された複数の操作履歴や行動履歴の数をＸｉ，（１≦ｉ≦ｎ）とし、全カテゴリの操作履歴や全行動履歴の総数をｍ個とした時に、行動ベクトルＰ（Ｘ１／ｍ，Ｘ２／ｍ，・・・Ｘｎ／ｍ）を行動情報の特性情報とする。すなわち、本実施の形態においては、行動ベクトルＰの要素Ｘｉ／ｍは、全部の行動の履歴に対する、各カテゴリに含まれる行動の履歴の割合であり、行動ベクトルＰはユーザの行動の特徴を示す情報となる。
【００４２】
ただし、ユーザの操作履歴や行動履歴などの行動情報はこのような形態に限られず、ユーザの過去の動作などが特定できればよいものである。また、ユーザの行動情報から得られる特性情報もこのような形態には限られず、ユーザの過去の動作や性格や趣味や興味や好みなどをある程度の精度の数値またはベクトルとして表すことができればよいものである。
＜サーバ２００のハードウェア構成＞
【００４３】
次に、ネットワークシステム１を構成するサーバ２００のハードウェア構成の一態様について説明する。なお、図４は、本実施の形態にかかるサーバ２００のハードウェア構成を表わすブロック図である。
【００４４】
図４を参照して、サーバ２００は、主たる構成要素として、ＣＰＵ２１０と、メモリ２２０と、ディスプレイ２３０と、操作部２４０と、通信インターフェイス２６０とを含む。
【００４５】
ＣＰＵ２１０は、メモリ２２０に記憶されているプログラムを実行することによって、サーバ２００の各部を制御する。より詳細には、ＣＰＵ２１０は、メモリ２２０に格納されているプログラムを実行し、各種のデータを参照することによって、後述する各種の処理を実行する。
【００４６】
メモリ２２０は、各種のＲＡＭ、各種のＲＯＭなどによって実現される。メモリ２２０は、ＣＰＵ２１０によって実行されるプログラムや、ＣＰＵ２１０によるプログラムの実行により生成されたデータ、入力されたデータ、受信されたデータなどを記憶する。たとえば、メモリ２２０は、ユーザ毎の、特性情報と公開鍵とを記憶する。
【００４７】
たとえば、メモリ２２０は、ユーザの組み合わせ毎の、特性情報間の関係値、たとえば、相関係数を記憶する。なお、本実施の形態においては、ＣＰＵ２１０は、ユーザの組み合わせ毎に、特性情報としての行動ベクトルＰ（Ｘ１／ｍ，Ｘ２／ｍ，・・・Ｘｎ／ｍ）同士の内積を、当該行動ベクトルＰ（Ｘ１／ｍ，Ｘ２／ｍ，・・・Ｘｎ／ｍ）同士の大きさの積で割った値を計算し、当該計算結果をユーザ間の行動の相関係数として、メモリ１２０に格納する。
【００４８】
ディスプレイ２３０は、ＣＰＵ２１０からの信号に基づいて、テキストや画像を表示する。操作部２４０は、サービスの管理者などの命令を受け付けて、当該命令をＣＰＵ２１０に入力する。
【００４９】
通信インターフェイス２６０は、ＣＰＵ２１０からのデータを、インターネット、キャリア網、ルータなどを介して、ユーザ端末１００などの他の装置に送信する。逆に、通信インターフェイス２６０は、インターネット、キャリア網、ルータなどを介してユーザ端末１００などの他の装置からのデータを受信して、ＣＰＵ２１０に受け渡す。
＜ユーザ端末１００における情報処理＞
【００５０】
次に、本実施の形態にかかるユーザ端末１００またはサーバ２００における情報処理について説明する。まずは、図５を参照して、本実施の形態にかかるユーザ端末１００における情報選択の情報処理について説明する。図５は、本実施の形態にかかるユーザ端末１００における情報選択の情報処理を示すフローチャートである。
【００５１】
ＣＰＵ１１０は、情報選択部１１４として、何かしらのイベント発生を待っている（ステップＳ１１６）。ＣＰＵ１１０は、何かしらのイベントを検出した場合はステップＳ１１７へ進み、検出しなかった場合は、ステップＳ１１６に戻る。何かしらのイベントとは、たとえば、プッシュ情報の通知、購入などのユーザ操作、インターネットの利用した検索・インターネットを利用しない検索などのユーザ操作によるプル情報の受信、各種センサから取得される測定値など、ユーザ端末１００が検知しうる全てのイベントが該当し得る。
【００５２】
ステップＳ１１７では、ＣＰＵ１１０は、発生したイベントによって取得された多くの情報の中から、ユーザ端末１００のユーザの静的個人情報と行動情報と、後述する（ステップＳ１４８で取得された他のユーザの行動情報とに基づき、ユーザに提供する情報を選択して、ディスプレイ１３０またはスピーカ１７０から出力したり、メモリ１２０に格納したりする。
【００５３】
なお、ユーザへ提供する情報の選択方法は、ユーザまたは他のユーザの静的個人情報とユーザまたは他のユーザの行動情報の内容を反映した情報の選択方法であればよく、それ以上限定されるものではない。
【００５４】
次に、図６を参照して、本実施の形態にかかるユーザ端末１００における特性情報としての行動ベクトルＰの登録処理について説明する。図６は、本実施の形態にかかるユーザ端末１００における特性情報としての行動ベクトルＰの登録処理を示すフローチャートである。
【００５５】
ＣＰＵ１１０は、行動情報管理部１１２として、ユーザからの操作命令やその他の行動に基づいて、行動情報を取得または作成する（ステップＳ１２１）。ＣＰＵ１１０は、通信インターフェイス１６０を介して、サーバ２００に行動ベクトルＰと公開鍵ＰＫと共に行動ベクトル登録メッセージを送信する（ステップＳ１２２）。ＣＰＵ１１０は、通信インターフェイス１６０を介して、サーバ２００からの確認メッセージを待ち受ける（ステップＳ１２３）。ＣＰＵ１１０は、確認メッセージを受信すると（ステップＳ１２３においてＹＥＳである場合）、次のユーザからの操作命令やその他の行動を待ち受ける。
【００５６】
一方、確認メッセージを受信していない場合は（ステップＳ１２３においてＮＯである場合）、ＣＰＵ１１０は、行動ベクトルの送信から所定の時間が経過したか否かを判断する（ステップＳ１２４）。ＣＰＵ１１０は、所定時間が経過していない場合は（ステップＳ１２４においてＮＯである場合）、ステップＳ１２３からの処理を繰り返す。ＣＰＵ１１０は、所定時間が経過している場合は（ステップＳ１２４においてＹＥＳである場合）、データを所定回数送信したか否かを判断する（ステップＳ１２５）。
【００５７】
データを所定回数送信していない場合（ステップＳ１２５においてＮＯである場合）、ＣＰＵ１１０は、通信インターフェイス１６０を介して、行動ベクトルＰと公開鍵ＰＫとのデータを再送する（ステップＳ１２６）。ＣＰＵ１１０は、ステップＳ１２３からの処理を繰り返す。
【００５８】
ＣＰＵ１１０は、所定回数送信した場合（ステップＳ１２５においてＹＥＳである場合）、ディスプレイ１３０および／またはスピーカ１７０を介してエラー情報を出力する（ステップＳ１２７）。ＣＰＵ１１０は、次のユーザからの操作命令やその他の行動を待ち受ける。
【００５９】
次に、図７を参照して、本実施の形態にかかるユーザ端末１００における行動ベクトルの更新処理について説明する。図７は、本実施の形態にかかるユーザ端末１００における行動ベクトルの更新処理を示すフローチャートである。
【００６０】
ＣＰＵ１１０は、行動情報管理部１１２として、ユーザ端末１００のユーザの行動情報が更新されているか判定する（ステップＳ１３１）。行動情報が更新されていない場合（ステップＳ１３１においてＮＯである場合）、ＣＰＵ１１０は、ステップＳ１３１からの処理を繰り返す。
【００６１】
行動情報が更新されている場合（ステップＳ１３１においてＹＥＳである場合）、ＣＰＵ１１０は、行動情報に基づいて行動ベクトルＰを更新する。ＣＰＵ１１０は、通信インターフェイス１６０を介して行動ベクトルＰをサーバ２００へ送信する（ステップＳ１３２）。
【００６２】
ＣＰＵ１１０は、通信インターフェイス１６０を介して、サーバ２００からの確認メッセージを待ち受ける（ステップＳ１３３）。ＣＰＵ１１０は、確認メッセージを受信すると（ステップＳ１３３においてＹＥＳである場合）、ユーザの行動情報の次の更新を待ち受ける。
【００６３】
一方、確認メッセージを受信していない場合は（ステップＳ１３３においてＮＯである場合）、ＣＰＵ１１０は、行動ベクトルの送信から所定の時間が経過したか否かを判断する（ステップＳ１３４）。ＣＰＵ１１０は、所定時間が経過していない場合は（ステップＳ１３４においてＮＯである場合）、ステップＳ１３３からの処理を繰り返す。ＣＰＵ１１０は、所定時間が経過している場合は（ステップＳ１３４においてＹＥＳである場合）、行動ベクトルＰのデータの送信を所定回数トライしたか否かを判断する（ステップＳ１３５）。
【００６４】
行動ベクトルＰのデータの送信を所定回数トライしていない場合（ステップＳ１３５においてＮＯである場合）、ＣＰＵ１１０は、通信インターフェイス１６０を介して、行動ベクトルＰのデータを再送する（ステップＳ１３６）。ＣＰＵ１１０は、ステップＳ１３３からの処理を繰り返す。
【００６５】
ＣＰＵ１１０は、行動ベクトルＰのデータの送信を所定回数トライしている場合（ステップＳ１３５においてＹＥＳである場合）、ディスプレイ１３０および／またはスピーカ１７０を介してエラー情報を出力する（ステップＳ１３７）。ＣＰＵ１１０は、ユーザの行動情報の次の更新を待ち受ける。
【００６６】
次に、図８を参照して、本実施の形態にかかるユーザ端末１００における他のユーザの行動情報の要求処理について説明する。図８は、本実施の形態にかかるユーザ端末１００における他のユーザの行動情報の要求処理を示すフローチャートである。ＣＰＵ１１０は、行動情報管理部１１２として定期的に、あるいは情報選択部１１４として情報を検索する場合や、情報選択部１１４として他のサーバからのプッシュ情報を受信した場合などに、以下の処理を実行する
【００６７】
ＣＰＵ１１０は、行動情報管理部１１２あるいは情報選択部１１４として、通信インターフェイス１６０を介して、サーバ２００に他のユーザの行動情報を要求するメッセージを送信する（ステップＳ１４１）。
【００６８】
ＣＰＵ１１０は、通信インターフェイス１６０を介して、サーバ２００からの他のユーザの行動情報を待ち受ける（ステップＳ１４２）。ＣＰＵ１１０は、他のユーザの行動情報を受信していない場合は（ステップＳ１４２においてＮＯである場合）、ＣＰＵ１１０は、要求メッセージの送信から所定の時間が経過したか否かを判断する（ステップＳ１４３）。ＣＰＵ１１０は、所定時間が経過していない場合は（ステップＳ１４３においてＮＯである場合）、ステップＳ１４２からの処理を繰り返す。ＣＰＵ１１０は、所定時間が経過している場合は（ステップＳ１４３においてＹＥＳである場合）、要求メッセージを所定回数送信したか否かを判断する（ステップＳ１４４）。
【００６９】
要求メッセージを所定回数送信していない場合（ステップＳ１４４においてＮＯである場合）、ＣＰＵ１１０は、通信インターフェイス１６０を介して、要求メッセージをサーバ２００に再送する（ステップＳ１４５）。ＣＰＵ１１０は、ステップＳ１４２からの処理を繰り返す。
【００７０】
ＣＰＵ１１０は、要求メッセージを所定回数送信した場合（ステップＳ１４４においてＹＥＳである場合）、ディスプレイ１３０および／またはスピーカ１７０を介してエラー情報を出力する（ステップＳ１４６）。
【００７１】
ＣＰＵ１１０は、他のユーザの暗号化された行動情報を受信すると（ステップＳ１４２においてＹＥＳである場合）、秘密鍵を用いて受信データを複合化する（ステップＳ１４７）。ＣＰＵ１１０は、他のユーザの行動情報を習得して、自端末のユーザの行動情報と交換したり、自端末のユーザの行動情報に追加したりする（ステップＳ１４８）。
【００７２】
次に、図９を参照して、本実施の形態にかかるユーザ端末１００における行動情報の送信処理について説明する。図９は、本実施の形態にかかるユーザ端末１００における行動情報の送信処理を示すフローチャートである。
【００７３】
ＣＰＵ１１０は、行動情報管理部１１２として、通信インターフェイス１６０を介して、サーバ２００から行動情報要求メッセージを受信して、受信データから他のユーザの公開鍵を取得する（ステップＳ１５１）。ＣＰＵ１１０は、公開鍵を用いて、自端末のユーザの行動情報を暗号化する（ステップＳ１５２）。ＣＰＵ１１０は、通信インターフェイス１６０を介して、暗号化した行動情報のデータをサーバ２００に送信する（ステップＳ１５３）。
【００７４】
次に、図１０を参照して、本実施の形態にかかるユーザ端末１００における行動情報の記録処理について説明する。図１０は、本実施の形態にかかるユーザ端末１００における行動情報の記録処理を示すフローチャートである。
【００７５】
ＣＰＵ１１０は、行動情報管理部１１２として、ユーザの行動に関するイベント発生を待ち受ける。ＣＰＵ１１０は、イベントが検出できない間はステップＳ１６１を繰り返し、ユーザの行動に関するイベントを検出した場合は、当該イベントを特定する（ステップＳ１６１）。なお、ユーザの行動に関するイベントとは、ユーザ操作、各種センサから取得される測定値など、ユーザ端末が知り得る全てのユーザの行動に関するイベントが該当し得る。
【００７６】
ＣＰＵ１１０は、発生したイベントに関連する情報を行動情報として、予め定義された複数のカテゴリのうちの該当するカテゴリの行動情報として、メモリ１２０に記録する（ステップＳ１６２）。
【００７７】
次に、図１１を参照して、本実施の形態にかかるサーバ２００における行動ベクトルＰの登録処理について説明する。図１１は、本実施の形態にかかるサーバ２００における行動ベクトルの登録処理を示すフローチャートである。
【００７８】
ＣＰＵ２１０は、通信インターフェイス２６０を介して、ユーザ端末１００からの行動ベクトルＰと公開鍵ＰＫを受信すると、まず、ユーザを特定する（ステップＳ１７１）。ＣＰＵ２１０は、ユーザの識別情報に対応づけて行動ベクトルＰをメモリ２２０に格納する（ステップＳ１７２）。ＣＰＵ２１０は、ユーザの識別情報に対応付けて公開鍵ＰＫをメモリ２２０に格納する（ステップＳ１７３）。
【００７９】
ＣＰＵ２１０は、ユーザの組み合わせ毎の関係値としての、行動ベクトルＰ同士の相関係数を計算する（ステップＳ１７４）。ただし、特性情報間の関係値は、相関係数でなくてもよい。ＣＰＵ２１０は、通信インターフェイス２６０を介して、行動ベクトルＰを無事に取得した旨のメッセージをユーザ端末１００に送信する（ステップＳ１７５）。ＣＰＵ２１０は、通信インターフェイス２６０を介して、次のユーザ端末１００からの行動ベクトルＰを待ち受ける。
【００８０】
次に、図１２を参照して、本実施の形態にかかるサーバ２００における行動ベクトルＰの更新処理について説明する。図１２は、本実施の形態にかかるサーバ２００における行動ベクトルＰの更新処理を示すフローチャートである。
【００８１】
ＣＰＵ２１０は、通信インターフェイス２６０を介して、ユーザ端末１００からの行動ベクトルＰを受信すると、まず、ユーザを特定する（ステップＳ１８１）。ＣＰＵ２１０は、行動ベクトルＰをユーザの識別情報に対応づけてメモリ２２０に格納する（ステップＳ１８２）。
【００８２】
ＣＰＵ２１０は、ユーザの組み合わせ毎の関係値としての、行動ベクトルＰ同士の相関係数を計算して更新する（ステップＳ１８３）。ただし、特性情報間の関係値は、相関係数でなくてもよい。ＣＰＵ２１０は、通信インターフェイス２６０を介して、行動ベクトルＰを更新した旨のメッセージをユーザ端末１００に送信する（ステップＳ１８４）。ＣＰＵ２１０は、通信インターフェイス２６０を介して、次のユーザ端末１００からの行動ベクトルＰを待ち受ける。
【００８３】
次に、図１３を参照して、本実施の形態にかかるサーバ２００における行動情報の要求処理について説明する。図１３は、本実施の形態にかかるサーバ２００における行動情報の要求処理を示すフローチャートである。
【００８４】
ＣＰＵ２１０は、通信インターフェイス２６０を介して、ユーザ端末１００からの要求データを受信すると、まず第１のユーザとして、ユーザを特定する（ステップＳ１９１）。ＣＰＵ２１０は、当該第１のユーザに関する行動ベクトルＰとの相関係数が最も高い（最も１に近い）行動ベクトルＰに対応する第２のユーザを検索する（ステップＳ１９２）。
【００８５】
なお、ステップＳ１９１およびステップＳ１９２では、ＣＰＵ２１０は、当該第１のユーザに関する行動ベクトルＰとの相関係数が最も低い（最も０に近い）行動ベクトルＰ、すなわち当該第１のユーザに関する行動ベクトルＰと最も異なる行動ベクトルＰに対応する第２のユーザを探してもよい。あるいは、ユーザ端末１００による相関係数の指定を受付けて、サーバ２００のＣＰＵ２１０が、当該第１のユーザに関する行動ベクトルＰとの相関係数が指定された相関係数に近い行動ベクトルＰに対応する第２のユーザを探してもよい。あるいは、サーバ２００が何らかのユーザ端末１００に関する情報に基づき自律的に第２のユーザを探してもよい。
【００８６】
ＣＰＵ２１０は、第２のユーザを特定すると、通信インターフェイス２６０を介して、当該第２のユーザのユーザ端末１００に、第１のユーザの公開鍵ＰＫと第２のユーザの行動情報の要求とを送信する（ステップＳ１９３）。ＣＰＵ２１０は、通信インターフェイス２６０を介して、第２のユーザからの暗号化された行動情報を待ち受ける（ステップＳ１９４）。
【００８７】
ＣＰＵ２１０は、通信インターフェイス２６０を介して、第２のユーザからの行動情報を受信できていない場合は（ステップＳ１９４においてＮＯである場合）、行動情報の要求から所定の時間が経過したか否かを判断する（ステップＳ１９５）。ＣＰＵ２１０は、所定時間が経過していない場合は（ステップＳ１９５においてＮＯである場合）、ステップＳ１９４からの処理を繰り返す。ＣＰＵ２１０は、所定時間が経過している場合は（ステップＳ１９５においてＹＥＳである場合）、行動情報の要求を所定回数送信したか否かを判断する（ステップＳ１９６）。
【００８８】
行動情報の要求を所定回数送信していない場合（ステップＳ１９６においてＮＯである場合）、ＣＰＵ２１０は、通信インターフェイス２６０を介して、第１のユーザの公開鍵ＰＫと第２のユーザの行動情報の要求とを再送する（ステップＳ１９７）。ＣＰＵ２１０は、ステップＳ１９４からの処理を繰り返す。
【００８９】
ＣＰＵ２１０は、要求を所定回数送信した場合（ステップＳ１９６においてＹＥＳである場合）、ユーザ端末１００にエラー情報を通知する（ステップＳ１９８）。ＣＰＵ２１０は、通信インターフェイス２６０を介して、次のユーザ端末１００からの行動情報の要求を待ち受ける。
【００９０】
一方、ＣＰＵ２１０は、通信インターフェイス２６０を介して、第２のユーザのユーザ端末１００から暗号化された行動情報を受信すると（ステップＳ１９４においてＹＥＳである場合）、通信インターフェイス２６０を介して、暗号化された第２のユーザの行動情報を第１のユーザ端末１００に転送する（ステップＳ１９９）。ＣＰＵ２１０は、通信インターフェイス２６０を介して、次のユーザ端末１００からの行動情報の要求を待ち受ける。
＜第２の実施の形態＞
【００９１】
第１の実施の形態においては、ユーザ端末１００が行動情報から作成される特性情報をアップロードした際に（ステップＳ１０２）、サーバ２００がユーザの組み合わせ毎の特性情報の相関係数を計算する（ステップＳ１０３）ものであった。しかしながら、そのような形態には限られない。
【００９２】
図１４は、本実施の形態にかかるネットワークシステム１の全体構成と動作概要とを示すイメージ図である。図１４を参照して、本実施の形態にかかるネットワークシステム１の動作概要について説明する。
【００９３】
まず、ユーザ端末１００は、ユーザの名前や年齢や住所などの静的な個人情報を記憶する。そして、ユーザ端末１００は、ユーザがユーザ端末１００を操作した場合や、移動した場合などに、ユーザの操作命令や行動履歴を行動情報として蓄積する（ステップＳ１０１）。そして、ユーザ端末１００は、ユーザの行動情報から作成される、ユーザの好みなどを示すための特性情報と、ユーザ端末１００用の公開鍵とをサーバ２００に提供する（ステップＳ１０２）。
【００９４】
なお、ユーザＡがユーザ端末１００Ａを操作したり、行動した場合には、ユーザ端末１００ＡのユーザＡの行動の履歴を示す特性情報Ａをサーバ２００にアップロードするし、ユーザＢがユーザ端末１００Ｂを操作したり、行動した場合には、ユーザ端末１００ＢのユーザＢの行動の履歴を示す特性情報Ｂをサーバ２００にアップロードする。
【００９５】
そして、本実施の形態においては、ユーザ端末１００Ａが他のユーザ端末１００Ｂのユーザの行動情報を要求した際に（ステップＳ１０３）、サーバ２００は、ユーザＡと他のユーザとの組み合わせ毎の特性情報の関係値を計算する（ステップＳ１０４）。そして、サーバ２００は、当該要求に応じて、ユーザの特性情報Ａと所定の関係値に近い特性情報Ｂを有するユーザを特定する（ステップＳ１０５）。その後の処理は、第１の実施の形態のそれと同様であるため、ここでは説明を繰り返さない。
＜第３の実施の形態＞
【００９６】
第１の実施の形態においては、ユーザ端末１００が行動情報から作成される特性情報をアップロードした際に（ステップＳ１０２）、サーバ２００がユーザの組み合わせ毎の特性情報の相関係数を計算する（ステップＳ１０３）ものであった。しかしながら、そのような形態には限られない。
【００９７】
図１５は、本実施の形態にかかるネットワークシステム１の全体構成と動作概要とを示すイメージ図である。図１５を参照して、本実施の形態にかかるネットワークシステム１の動作概要について説明する。
【００９８】
まず、ユーザ端末１００は、ユーザの名前や年齢や住所などの静的な個人情報を記憶する。そして、ユーザ端末１００は、ユーザがユーザ端末１００を操作した場合や、移動した場合などに、ユーザの操作命令や行動履歴を行動情報として蓄積する（ステップＳ１０１）。
【００９９】
本実施の形態においては、ユーザ端末１００Ａが他のユーザ端末１００のユーザの行動情報を要求する際に（ステップＳ１０２）、ユーザ端末１００は、ユーザの行動情報から作成される、ユーザの好みなどを示すための特性情報と、ユーザ端末１００用の公開鍵とをサーバ２００に提供する（ステップＳ１０３）。サーバ２００は、当該ユーザと他のユーザとの組み合わせ毎の特性情報の関係値を計算する（ステップＳ１０４）。そして、サーバ２００は、当該要求に応じて、ユーザの特性情報Ａと指定された関係値に近い特性情報を有するユーザを特定する（ステップＳ１０５）。その後の処理は、第１の実施の形態のそれと同様であるため、ここでは説明を繰り返さない。
【０１００】
より詳細には、サーバ２００は、ユーザ端末１００が他のユーザの行動情報を要求してくる際に（ステップＳ１０２）、サーバ２００に送信される特性情報や公開鍵を蓄積しておく（ステップＳ１０３）。これによって、別のユーザ端末１００が他のユーザの行動情報を要求してくる際に（ステップＳ１０２）、それまでに蓄積されているユーザ毎の特性情報に基づいて、サーバ２００がユーザ間の特性情報の関係値を計算することができる。
＜第４の実施の形態＞
【０１０１】
第１から第３の実施の形態においては、ユーザ端末１００が行動情報から作成される特性情報をアップロードして、サーバ２００がユーザの組み合わせ毎の特性情報の関係値を計算するものであった。しかしながら、そのような形態には限られない。
【０１０２】
図１６は、本実施の形態にかかるネットワークシステム１の全体構成と動作概要とを示すイメージ図である。図１６に示すように、本実施の形態においては、ユーザ端末１００は、特性情報ではなく、行動情報をサーバにアップロードするものである。なお、ユーザ端末１００は、サーバ２００の公開鍵ＰＫＳによって暗号化した行動情報をアップロードし、そして、サーバ２００は、ユーザ端末１００からの暗号化された行動情報をサーバ２００の秘密鍵によって復号化してユーザ端末１００の行動情報を取得する。サーバ２００は、これらの行動情報から特性情報を作成して、ユーザの組み合わせ毎の特性情報の関係値を計算するものである。関係値が高いユーザが特定された後の処理は第１から第３の実施の形態のそれらと同様であるため、ここでは説明を繰り返さない。
＜第５の実施の形態＞
【０１０３】
第１から第３の実施の形態においては、ユーザ端末１００が行動情報から作成される特性情報をアップロードして、サーバ２００がユーザの組み合わせ毎の特性情報の関係値を計算するものであった。しかしながら、そのような形態には限られない。
【０１０４】
図１７は、本実施の形態にかかるネットワークシステム１の全体構成と動作概要とを示すイメージ図である。図１７に示すように、本実施の形態においては、第４の実施の形態と同様に、ユーザ端末１００は、特性情報ではなく、行動情報をサーバにアップロードするものである。そして、サーバ２００が、ユーザの組み合わせ毎の行動情報の関係値を計算するものである。たとえば、サーバ２００が、ユーザの組み合わせ毎に、行動情報同士のマッチング率を関係値として計算してもよい。関係値が高いユーザが特定された後の処理は第１から第３の実施の形態のそれらと同様であるため、ここでは説明を繰り返さない。
＜第６の実施の形態＞
【０１０５】
第１から第５の実施の形態においては、ユーザ端末１００の情報選択部１１４としてのＣＰＵ１１０が、ユーザの行動情報および他のユーザの行動情報に基づいて、発生したイベントによって取得された多くの情報の中から、ユーザに提供する情報を選択して、ディスプレイ１３０またはスピーカ１７０から出力したり、メモリ１２０に格納したりする（図５のステップＳ１１７）ものであった。しかしながら、そのような形態には限られない。
【０１０６】
図１８は、本実施の形態にかかるネットワークシステム１の全体構成と動作概要とを示すイメージ図である。図１９は、本実施の形態にかかるユーザ端末１００を中心とした機能構成と動作概要とを示すイメージ図である。図１８および図１９に示すように、本実施の形態においては、サーバ２００が、情報を提供する宛先の第１のユーザの行動情報または／および他の第２のユーザの行動情報に基づいて、多量の情報から１または複数の情報を選択して第１のユーザのユーザ端末１００に提供するものである。以下、より詳細に説明する。
【０１０７】
まず、ユーザ端末１００は、ユーザの名前や年齢や住所などの静的な個人情報を記憶する。
【０１０８】
そして、ユーザ端末１００は、ユーザがユーザ端末１００を操作した場合や、移動した場合などに、ユーザの操作命令や行動履歴を行動情報として蓄積する（ステップＳ１０１）。そして、ユーザ端末１００は、ユーザの行動情報をサーバ２００に提供する（ステップＳ１０２）。
【０１０９】
なお、ユーザＡがユーザ端末１００Ａを操作したり、移動したりした場合には、ユーザ端末１００ＡのユーザＡの行動の履歴を示す行動情報をサーバ２００にアップロードするし、ユーザＢがユーザ端末１００Ｂを操作したり、行動した場合には、ユーザ端末１００ＢのユーザＢの行動の履歴を示す行動情報をサーバ２００にアップロードする。
【０１１０】
サーバ２００のＣＰＵ２１０は、ユーザの行動情報から、ユーザの好みなどを示すための特性情報を作成する。サーバ２００は、ユーザの組み合わせ毎の行動情報の特性情報の関係値を計算する（ステップＳ１０３）。
【０１１１】
ユーザ端末１００Ａがユーザの指示に基づいてインターネットやクラウドを介して情報を検索する際（ステップＳ１０４）、または、他のサーバがユーザ端末１００に情報をプッシュする際（ステップＳ１０４）などに、サーバ２００は、第１のユーザの行動情報の特性情報との関係値が所定の値に近い特性情報を有する第２のユーザを特定する（ステップＳ１０５）。
【０１１２】
サーバ２００のＣＰＵ２１０は、情報選択部２１４として、ユーザ端末１００Ａの第１のユーザの行動情報だけでなく、別の第２のユーザの行動情報も参考にして、情報を選択したり、情報を抽出したりする（ステップＳ１０７）。サーバ２００は、選択された情報をユーザ端末１００に送信する（ステップＳ１０８）。これによって、ユーザ端末１００がユーザにとって従来よりも刺激的な情報を出力する可能性を従来よりも高めたり、出力された情報にユーザが飽きてしまう可能性を従来よりも低減したりすることができる（ステップＳ１１１）。
＜第７の実施の形態＞
【０１１３】
第１から第５の実施の形態においては、ユーザ端末１００の情報選択部１１４としてのＣＰＵ１１０が、ユーザの行動情報および他のユーザの行動情報に基づいて、発生したイベントによって取得された多くの情報の中から、ユーザに提供する情報を選択して、ディスプレイ１３０またはスピーカ１７０から出力したり、メモリ１２０に格納したりする（図５のステップＳ１１７）ものであった。しかしながら、そのような形態には限られない。
【０１１４】
図２０は、本実施の形態にかかるネットワークシステム１の全体構成と動作概要とを示すイメージ図である。図２０に示すように、本実施の形態においては、サーバ２００が、情報を提供する宛先のユーザの行動情報または／および他のユーザの行動情報に基づいて、多数の情報から１または複数の情報を選択してユーザのユーザ端末１００に提供するものである。以下、より詳細に説明する。
【０１１５】
まず、ユーザ端末１００は、ユーザの名前や年齢や住所などの静的な個人情報を記憶する。
【０１１６】
そして、ユーザ端末１００は、ユーザがユーザ端末１００を操作した場合や、移動した場合などに、ユーザの操作命令や行動履歴を行動情報として蓄積する（ステップＳ１０１）。そして、ユーザ端末１００は、ユーザの行動情報をサーバ２００に提供する（ステップＳ１０２）。
【０１１７】
なお、ユーザＡがユーザ端末１００Ａを操作したり、行動した場合には、ユーザ端末１００ＡのユーザＡの行動の履歴を示す行動情報をサーバ２００にアップロードするし、ユーザＢがユーザ端末１００Ｂを操作したり、行動した場合には、ユーザ端末１００ＢのユーザＢの行動の履歴を示す行動情報をサーバ２００にアップロードする。
【０１１８】
サーバ２００のＣＰＵ２１０は、ユーザの組み合わせ毎の行動情報同士の関係値を計算する（ステップＳ１０３）。
【０１１９】
ユーザ端末１００Ａは、ユーザの指示に基づいてインターネットやクラウドを介して情報を検索する際（ステップＳ１０４）、または、他のサーバなどがユーザ端末１００に情報をプッシュする際（ステップＳ１０４）などに、サーバ２００は、ユーザの行動情報との関係値が所定の値に近いユーザの行動情報を有するユーザを特定する（ステップＳ１０５）。
【０１２０】
サーバ２００のＣＰＵ２１０は、情報選択部２１４として、ユーザ端末１００Ａの第１のユーザの行動情報だけでなく、別の第２のユーザの行動情報も参考にして、情報を選択したり、情報を抽出したりすることができる（ステップＳ１０７）。サーバ２００は、選択された情報をユーザ端末１００に送信する（ステップＳ１０８）。これによって、ユーザ端末１００がユーザにとって従来よりも刺激的な情報を出力する可能性を従来よりも高めたり、出力された情報にユーザが飽きてしまう可能性を従来よりも低減したりすることができる（ステップＳ１１１）。
＜第８の実施の形態＞
【０１２１】
第１から第７の実施の形態においては、ユーザ端末１００またはサーバ２００の情報選択部１１４，２１４としてのＣＰＵ１１０，２１０が、自分の行動情報または／および他人の行動情報に基づいて、多数の情報から１または複数の情報を選択してユーザに提供するものであった。しかしながら、そのような形態には限られない。本実施の形態においては、他人の静的個人情報も利用するものである。
【０１２２】
図２１は、本実施の形態にかかるネットワークシステム１の全体構成と動作概要とを示すイメージ図である。図２１を参照して、本実施の形態にかかるネットワークシステム１の動作概要について説明する。
【０１２３】
まず、ユーザ端末１００は、ユーザの名前や年齢や住所などの静的な個人情報を記憶する。
【０１２４】
そして、ユーザ端末１００は、ユーザがユーザ端末１００を操作した場合や、移動した場合などに、ユーザの操作命令や行動履歴を行動情報として蓄積する（ステップＳ１０１）。そして、ユーザ端末１００は、ユーザの行動情報、または行動情報と静的個人情報、から作成される、ユーザの好みなどを示すための特性情報と、ユーザ端末１００用の公開鍵とをサーバ２００に提供する（ステップＳ１０２）。
【０１２５】
なお、ユーザＡがユーザ端末１００Ａを操作したり、行動した場合には、ユーザ端末１００ＡのユーザＡの行動の履歴を示す特性情報Ａをサーバ２００にアップロードするし、ユーザＢがユーザ端末１００Ｂを操作したり、行動した場合には、ユーザ端末１００ＢのユーザＢの行動の履歴を示す特性情報Ｂをサーバ２００にアップロードする。
【０１２６】
サーバ２００は、ユーザの組み合わせ毎の特性情報同士の関係値を計算する（ステップＳ１０３）。
【０１２７】
ユーザ端末１００Ａは、定期的に、または所定の情報をサーバ２００にアップロードした際に、他のユーザ端末１００のユーザの行動情報と静的個人情報とを要求する（ステップＳ１０４）。サーバ２００は、当該要求に応じて、第１のユーザの特性情報と指定された関係値に近い特性情報を有する第２のユーザを特定する（ステップＳ１０５）。
【０１２８】
サーバ２００は、特定されたユーザ端末１００Ｂに、ユーザ端末１００Ａからの公開鍵Ａを渡して、行動情報と静的個人情報とを要求する（ステップＳ１０６）。ユーザ端末１００Ｂは、ユーザＢの行動情報と静的個人情報とを公開鍵Ａによって暗号化したデータをサーバ２００に送信する（ステップＳ１０７）。サーバ２００は、暗号化されたデータをユーザ端末１００Ａに送信する（ステップＳ１０８）。
【０１２９】
ユーザ端末１００Ａは、暗号化されたデータを自身の秘密鍵で復号化する。そして、ユーザ端末１００Ａは、ユーザの指示に基づいてインターネットやクラウドを介して情報を要求する（ステップＳ１０９）。または、ユーザ端末１００Ａは、外部から情報をプッシュされたりする（ステップＳ１０９）。
【０１３０】
そして、ユーザ端末１００Ａが、ユーザ端末１００Ａのユーザの行動情報や静的個人情報だけでなく、別のユーザの行動情報や静的個人情報も参考にして、情報を選択したり、情報を抽出したりする（ステップＳ１１０）。これによって、ユーザ端末１００のユーザの情報だけなく、他のユーザの情報にも基づいて、出力する情報が選択されるため、刺激的な情報が出力される可能性を従来よりも高めたり、出力された情報にユーザが飽きてしまう可能性を従来よりも低減したりすることができる（ステップＳ１１１）。
【０１３１】
なお、当然に、実施の形態２または３のように、関係値に基づいて第２のユーザを特定するタイミングなどを変更してもよい。また、実施の形態４のように、ユーザ端末１００が、サーバ２００に行動情報や静的個人情報を送信して、行動情報や静的個人情報の特性情報に基づいて関係値を計算してもよい。また、実施の形態５のように、ユーザ端末１００が、サーバ２００に行動情報や静的個人情報を送信して、行動情報や静的個人情報に基づいて関係値を計算してもよい。
＜第９の実施の形態＞
【０１３２】
第１から第７の実施の形態においては、ユーザ端末１００またはサーバ２００の情報選択部１１４，２１４としてのＣＰＵ１１０，２１０が、自分の行動情報または／および他人の行動情報に基づいて、複数の情報から情報を選択してユーザに提供するものであった。しかしながら、そのような形態には限られない。本実施の形態においては、他人の静的個人情報も利用するものである。
【０１３３】
図２２は、本実施の形態にかかるネットワークシステム１の全体構成と動作概要とを示すイメージ図である。図２２に示すように、本実施の形態においては、サーバ２００が、情報を提供する宛先のユーザの行動情報または／および他のユーザの行動情報だけでなく、他のユーザの静的個人情報にも基づいて、多数の情報から１または複数の情報を選択してユーザのユーザ端末１００に提供するものである。以下、より詳細に説明する。
【０１３４】
まず、ユーザ端末１００は、ユーザの名前や年齢や住所などの静的な個人情報を記憶する。
【０１３５】
そして、ユーザ端末１００は、ユーザがユーザ端末１００を操作した場合や、移動した場合などに、ユーザの操作命令や行動履歴を行動情報として蓄積する（ステップＳ１０１）。そして、ユーザ端末１００は、ユーザの行動情報をサーバ２００に提供する（ステップＳ１０２）。本実施の形態においては、ユーザ端末１００は、このとき、または別のタイミングで、ユーザの静的個人情報もサーバ２００に提供する。
【０１３６】
サーバ２００のＣＰＵ２１０は、ユーザの組み合わせ毎の行動情報および／または静的個人情報の特性情報の関係値を計算する（ステップＳ１０３）。
【０１３７】
ユーザ端末１００Ａが、ユーザの指示に基づいてインターネットやクラウドを介して情報を検索する際（ステップＳ１０４）、または、他のサーバがユーザ端末１００に情報をプッシュする際（ステップＳ１０４）などに、サーバ２００は、ユーザの行動情報および／または静的個人情報の特性情報との関係値が所定の値に近いユーザの行動情報および／または静的個人情報に基づいて、を有するユーザを特定する（ステップＳ１０５）。
【０１３８】
サーバ２００のＣＰＵ２１０は、情報選択部２１４として、ユーザ端末１００Ａのユーザの行動情報および静的個人情報だけでなく、別のユーザの行動情報および／または静的個人情報も参考にして、情報を選択したり、情報を抽出したりすることができる（ステップＳ１０７）。サーバ２００は、選択された情報をユーザ端末１００に送信する（ステップＳ１０８）。これによって、ユーザ端末１００のユーザの情報だけなく、他のユーザの情報にも基づいて、出力する情報が選択されるため、刺激的な情報が出力される可能性を従来よりも高めたり、出力された情報にユーザが飽きてしまう可能性を従来よりも低減したりすることができる（ステップＳ１１１）。
【０１３９】
なお、当然に、実施の形態２または３のように、関係値に基づいて第２のユーザを特定するタイミングなどを変更してもよい。また、実施の形態４のように、ユーザ端末１００が、サーバ２００に行動情報や静的個人情報を送信して、行動情報や静的個人情報の特性情報に基づいて関係値を計算してもよい。また、実施の形態５のように、ユーザ端末１００が、サーバ２００に行動情報や静的個人情報を送信して、行動情報や静的個人情報に基づいて関係値を計算してもよい。
＜第１０の実施の形態＞
【０１４０】
上記の第１〜第９の実施の形態のユーザ端末１００やサーバ２００の役割の一部または全部を他の装置が実行してもよい。あるいは、第１〜第９の実施の形態の各装置の役割が複数の装置に分担されてもよい。逆に、第１〜第９の実施の形態の複数の装置の役割の一部または全部が１つの装置に集約されてもよい。
＜その他の応用例＞
【０１４１】
本発明の一態様は、システム或いは装置にプログラムを供給することによって達成される場合にも適用できることはいうまでもない。そして、本発明の一態様を達成するためのソフトウェアによって表されるプログラムを格納した記憶媒体（あるいはメモリ）を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ（又はＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することによっても、本発明の一態様の効果を享受することが可能となる。
【０１４２】
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施の形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明の一態様を構成することになる。
【０１４３】
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施の形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳ（オペレーティングシステム）などが実際の処理の一部または全部を行い、その処理によって前述した実施の形態の機能が実現される場合も含まれることは言うまでもない。
【０１４４】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わる他の記憶媒体に書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施の形態の機能が実現される場合も含まれることは言うまでもない。
＜まとめ＞
【０１４５】
上記の第１〜９の実施の形態においては、複数の端末１００Ａ，１００Ｂ・・・と、複数の端末１００Ａ，１００Ｂ・・・と通信可能なサーバ２００とを備えるネットワークシステム１が提供される。複数の端末１００Ａ，１００Ｂ・・・の各々は、ユーザの行動に関する情報Ｐをサーバ２００に送信する。サーバ２００は、複数の端末のユーザ間の行動に関する情報Ｐに関する相関に基づいて、複数の端末１００Ａ，１００Ｂ・・・のユーザのうちの第１の端末１００Ａのユーザの行動と所定の関係を有する第２の端末１００Ｂのユーザの行動に関する情報を第１の端末１００Ａに送信する。第１の端末１００Ａは、少なくとも第２の端末１００Ｂのユーザの行動に関する情報に基づいて選択された情報を出力する。
【０１４６】
好ましくは、サーバ２００は、第２の端末１００Ｂに、第１の端末１００Ａの公開鍵ＰＫを送信する。第２の端末１００Ｂは、公開鍵ＰＫを利用して暗号化した第２の端末１００Ｂのユーザの行動に関する情報をサーバ２００に送信する。サーバ２００は、第２の端末１００Ｂからの情報を第１の端末１００Ａに送信する。
【０１４７】
好ましくは、サーバ２００は、所定の関係として、ユーザの行動を示す特性ベクトル同士の相関係数を利用する。
【０１４８】
好ましくは、サーバ２００は、所定の関係として、相関係数が高いもの、相関係数が低いもの、ユーザあるいは端末１００により指定された相関係数に近いもの、サーバ２００が何らかの情報に基づき自律的に選択した相関係数に近いもの、の少なくともいずれかを利用する。
【０１４９】
上記の第１〜９の実施の形態においては、複数の端末１００Ａ，１００Ｂ・・・と通信するための通信インターフェイス２６０と、プロセッサ２１０とを備えるサーバ２００が提供される。プロセッサ２１０が、通信インターフェイス２６０を介して、複数の端末１００Ａ，１００Ｂ・・・のユーザの行動に関する情報を受信して、複数の端末１００Ａ，１００Ｂ・・・のユーザのうちの第１の端末１００Ａのユーザの行動と所定の関係を有する第２の端末１００Ｂのユーザの行動に関する情報を第１の端末１００Ａに送信する。
【０１５０】
上記の第１〜９の実施の形態においては、通信インターフェイス２６０を介して、複数の端末１００Ａ，１００Ｂ・・・のユーザの行動に関する情報を受信するステップと、プロセッサ２１０が複数の端末１００Ａ，１００Ｂ・・・のユーザ間の行動に関する情報の相関を算出するステップと、通信インターフェイス２６０を介して、複数の端末１００Ａ，１００Ｂ・・・のユーザのうちの第１の端末１００Ａのユーザの行動と所定の関係を有する第２の端末１００Ｂのユーザの行動に関する情報を第１の端末１００Ａに送信するステップと、を備えるサーバ２００の情報処理方法が提供される。
【０１５１】
上記の第１〜９の実施の形態においては、サーバ２００と通信するための通信インターフェイス１６０と、プロセッサ１１０とを備える通信端末１００が提供される。プロセッサ１１０は、通信インターフェイス１６０を介してユーザの行動に関する情報をサーバ２００に送信し、サーバ２００から他の通信端末１００Ｂのユーザの行動に関する情報を受信し、少なくとも他の通信端末１００Ｂのユーザの行動に関する情報に基づいて取得された情報を出力する。
【０１５２】
上記の第１〜９の実施の形態においては、通信端末１００のためのアプリケーションプログラムであって、通信インターフェイス１６０を介してユーザの行動に関する情報をサーバ２００に送信するステップと、サーバ２００から他の通信端末１００Ｂのユーザの行動に関する情報を受信するステップと、少なくとも他の通信端末１００Ｂのユーザの行動に関する情報に基づいて取得された情報を出力するステップと、を通信端末１００のプロセッサ１１０に実行させるためのアプリケーションプログラムが提供される。
【０１５３】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【０１５４】
１        ：ネットワークシステム
１００    ：ユーザ端末（通信端末）
１１０    ：プロセッサ（ＣＰＵ）
１１２    ：行動情報管理部
１１４    ：情報選択部
１２０    ：メモリ
１３０    ：ディスプレイ
１４０    ：操作部
１５０    ：タッチパネル
１６０    ：通信インターフェイス
１７０    ：スピーカ
１８０    ：マイク
２００    ：サーバ
２１０    ：プロセッサ（ＣＰＵ）
２１４    ：情報選択部
２２０    ：メモリ
２３０    ：ディスプレイ
２４０    ：操作部
２６０    ：通信インターフェイス
【図１】
0006608059.tif 000002
【図２】
0006608059.tif 000003
【図３】
0006608059.tif 000004
【図４】
0006608059.tif 000005
【図５】
0006608059.tif 000006
【図６】
0006608059.tif 000007
【図７】
0006608059.tif 000008
【図８】
0006608059.tif 000009
【図９】
0006608059.tif 000010
【図１０】
0006608059.tif 000011
【図１１】
0006608059.tif 000012
【図１２】
0006608059.tif 000013
【図１３】
0006608059.tif 000014
【図１４】
0006608059.tif 000015
【図１５】
0006608059.tif 000016
【図１６】
0006608059.tif 000017
【図１７】
0006608059.tif 000018
【図１８】
0006608059.tif 000019
【図１９】
0006608059.tif 000020
【図２０】
0006608059.tif 000021
【図２１】
0006608059.tif 000022
【図２２】
0006608059.tif 000023