(57)【特許請求の範囲】
【請求項１】
ユーザが操作する複数のユーザ端末とデータ通信可能に接続されたトレンド監視装置によって実行されるトレンド監視方法であって、
前記複数のユーザ端末から、前記ユーザ端末がアクセスした情報の識別子を基に生成した、その情報の識別子の部分的なヒントをそれぞれ受信するヒント受信ステップと、
複数の前記ユーザ端末から受信した前記部分的なヒントを集めて前記情報の識別子を再現するヒント処理ステップと、
再現した前記情報の識別子に基づき、前記情報へのアクセス数を求め、求めたアクセス数から前記情報のトレンドを判断するトレンド判断ステップと
を実行し、
前記部分的なヒントは、前記ユーザ端末が、アクセスした情報の識別子の検索用文及び暗号文を計算し、
前記検索用文の少なくとも一部である部分検索用文、前記暗号文の位置、前記暗号文の位置に基づいた部分暗号文であることを特徴とするトレンド監視方法。
【請求項２】
前記ヒント処理ステップは、複数の前記ユーザ端末から前記部分的なヒントとして受信した前記部分検索用文、前記暗号文の位置、前記部分暗号文から、同一の前記部分検索用文に対応する前記暗号文の位置及び前記部分暗号文を複数選択して、複数選択した前記暗号文の位置及び前記部分暗号文から前記暗号文を構築する構築ステップと、
構築した前記暗号文を復号して前記情報の識別子を再現する再現ステップと
を実行する請求項１記載のトレンド監視方法。
【請求項３】
前記トレンド監視装置が、判断した前記情報のトレンドを複数の前記ユーザ端末に表示させるトレンド表示ステップ
を更に実行する請求項１又は２記載のトレンド監視方法。
【請求項４】
コンピュータに、
ユーザが操作する複数のユーザ端末から、前記ユーザ端末がアクセスした情報の識別子を基に生成した、その情報の識別子の部分的なヒントをそれぞれ受信するヒント受信ステップと、
複数の前記ユーザ端末から受信した前記部分的なヒントを集めて前記情報の識別子を再現するヒント処理ステップと、
再現した前記情報の識別子に基づき、前記情報へのアクセス数を求め、求めたアクセス数から前記情報のトレンドを判断するトレンド判断ステップと
を実行させ、
前記部分的なヒントは、前記ユーザ端末が、アクセスした情報の識別子の検索用文及び暗号文を計算し、
前記検索用文の少なくとも一部である部分検索用文、前記暗号文の位置、前記暗号文の位置に基づいた部分暗号文であることを特徴とするトレンド監視サーバプログラム。
【請求項５】
ユーザが操作する複数のユーザ端末から、前記ユーザ端末がアクセスした情報の識別子を基に生成した、その情報の識別子の部分的なヒントをそれぞれ受信するヒント受信手段と、
複数の前記ユーザ端末から受信した前記部分的なヒントを集めて前記情報の識別子を再現するヒント処理手段と、
再現した前記情報の識別子に基づき、前記情報へのアクセス数を求め、求めたアクセス数から前記情報のトレンドを判断するトレンド判断手段と
を有し、
前記部分的なヒントは、前記ユーザ端末が、アクセスした情報の識別子の検索用文及び暗号文を計算し、
前記検索用文の少なくとも一部である部分検索用文、前記暗号文の位置、前記暗号文の位置に基づいた部分暗号文であることを特徴とするトレンド監視装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はユーザ間のトレンドを監視するトレンド監視方法、トレンド監視サーバプログラム、トレンド監視クライアントプログラム及びトレンド監視装置に関する。
【背景技術】
【０００２】
近年、インターネット上では様々なＷｅｂサイトが作られている。Ｗｅｂサイトの一例としてのコミュニティサイト（例えばソーシャルネットワーキングサービス：ＳＮＳ）は関心や興味を共有するユーザが集まる情報交換などのコミュニケーションを中心としたＷｅｂサイトである（例えば特許文献１参照）。
【０００３】
同一のコミュニティサイトに集まるユーザは関心や興味を共有するため、同じＷｅｂサイトに興味を示すことが多い。そこで、コミュニティサイトはユーザがアクセスしたＷｅｂサイトを監視することによりユーザ間のサイトトレンド（人気サイトなど）を見付けることを行っていた（例えば特許文献２参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００３−１０８８８０号公報
【特許文献２】特表２００３−５０２７７６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
従来、ユーザ間のサイトトレンド（以下、単にトレンドという）を見付けようとするコミュニティサイトは、アクセスしたＷｅｂサイトのリンクをユーザの明示的な入力により提出させるか、ユーザの明示的な入力なしに何らかのソフトウェアにより自動的に提出させる必要がある。
【０００６】
しかし、アクセスしたＷｅｂサイトのリンクをユーザの明示的な入力により提出させる方法はユーザに手間を掛けさせるという問題がある。また、アクセスしたＷｅｂサイトのリンクをユーザの明示的な入力なしに何らかのソフトウェアにより自動的に提出させる方法はユーザのプライバシを侵害する恐れがあるという問題がある。
【０００７】
通常、トレンドを見付けようとするコミュニティサイトは、ユーザがアクセスしたＷｅｂサイトのリンクを自動的に提出させること、及び、ユーザのプライバシを守ることにトレードオフの関係があった。
【０００８】
本発明の一実施形態は、ユーザのプライバシを守りつつ、ユーザ間のトレンドを自動的に見付けることが可能なトレンド監視方法、トレンド監視サーバプログラム及びトレンド監視装置を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記課題を解決するため、本発明の一実施形態は、ユーザが操作する複数のユーザ端末とデータ通信可能に接続されたトレンド監視装置によって実行されるトレンド監視方法であって、前記複数のユーザ端末から、前記ユーザ端末がアクセスした情報の識別子を基に生成した、その情報の識別子の部分的なヒントをそれぞれ受信するヒント受信ステップと、複数の前記ユーザ端末から受信した前記部分的なヒントを集めて前記情報の識別子を再現するヒント処理ステップと、再現した前記情報の識別子に基づき、前記情報へのアクセス数を求め、求めたアクセス数から前記情報のトレンドを判断するトレンド判断ステップとを実行し、前記部分的なヒントは、前記ユーザ端末が、アクセスした情報の識別子の検索用文及び暗号文を計算し、前記検索用文の少なくとも一部である部分検索用文、前記暗号文の位置、前記暗号文の位置に基づいた部分暗号文であることを特徴とする。
【００１０】
なお、本発明の一実施形態の構成要素、表現又は構成要素の任意の組合せを、方法、装置、システム、コンピュータプログラム、記録媒体、データ構造などに適用したものも本発明の態様として有効である。
【発明の効果】
【００１１】
本発明の一実施形態によれば、ユーザのプライバシを守りつつ、ユーザ間のトレンドを自動的に見付けることができる。
【図面の簡単な説明】
【００１２】
【図１】トレンド監視システムの一例の構成図である。
【図２】コンピュータの一例のハードウェア構成図である。
【図３】本実施例のユーザ端末の一例のブロック図である。
【図４】ヒントキャッシュの一例の構成図である。
【図５】ユーザ端末が行う処理の一例のイメージ図である。
【図６】複数のユーザ端末からトレンド監視装置に同一のＵＲＬのヒントが集まる処理の一例のイメージ図である。
【図７】本実施例のトレンド監視装置の一例のブロック図である。
【図８】ヒントＤＢの一例の構成図である。
【図９】履歴ＤＢの一例の構成図である。
【図１０】トレンド監視装置が行う処理を説明する為の説明図（１／２）である。
【図１１】トレンド監視装置が行う処理を説明する為の説明図（２／２）である。
【図１２】複数のユーザ端末を操作するユーザへトレンド情報を公開する処理の一例のイメージ図である。
【図１３】本実施例のユーザ端末が行う処理の一例のフローチャートである。
【図１４】ステップＳ４のヒント生成処理の一例のフローチャートである。
【図１５】本実施例のトレンド監視装置が行う処理の一例のフローチャートである。
【図１６】ステップＳ２１の候補取得処理の一例のフローチャートである。
【図１７】ステップＳ３７のブロック候補取得処理の一例のフローチャートである。
【図１８】ステップＳ４０の候補にブロック候補を適用して新たな候補とする処理の一例のフローチャートである。
【発明を実施するための形態】
【００１３】
次に、本発明を実施するための形態を、以下の実施例に基づき図面を参照しつつ説明していく。なお、本実施例では情報の識別子の一例としてＵＲＬ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒ）を例に説明するが、ＵＲＩ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｉｄｅｎｔｉｆｉｅｒ）やＧＵＩＤ（Ｇｌｏｂａｌ  Ｕｎｉｑｕｅ  Ｉｄｅｎｔｉｆｉｅｒ）の他、ＩＳＢＮ（Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｓｔａｎｄａｒｄ  Ｂｏｏｋ  Ｎｕｍｂｅｒ）などであってもよい。
【００１４】
（システム構成）
図１はトレンド監視システムの一例の構成図である。図１のトレンド監視システム１はトレンド監視装置１０、ユーザ端末１２ａ〜１２ｍ、Ｗｅｂサーバ１４ａ〜１４ｎがインターネットやＬＡＮ等のネットワーク１６を介してデータ通信可能に接続される。ユーザ端末１２ａ〜１２ｍの何れでもよい場合は、単にユーザ端末１２と呼ぶ。Ｗｅｂサーバ１４ａ〜１４ｎの何れでもよい場合は、単にＷｅｂサーバ１４と呼ぶ。
【００１５】
トレンド監視装置１０は何らかのコミュニティサイトを実現するコミュニティサーバの一例である。ユーザ端末１２はトレンド監視装置１０のコミュニティサイトを利用しているユーザにより操作される。ユーザ端末１２はプラグインにより機能を拡張されたブラウザがインストールされている。プラグインにより拡張された機能（拡張機能）を利用することでブラウザはトレンド監視装置１０とデータ通信を行う。
【００１６】
ユーザは閲覧したいＷｅｂサイトがあればユーザ端末１２を操作してＷｅｂサーバ１４のＷｅｂサイトにアクセスする。ブラウザの拡張機能はユーザがアクセスしたＷｅｂサイトのＵＲＬをそのままトレンド監視装置１０へ送信するのでなく、ＵＲＬのヒントをトレンド監視装置１０へ送信する。なお、それぞれのヒントは部分的なヒントであり、一つだけで意味を成すものではない。しかし、それぞれのヒントは多数集まれば意味を成すものとなる。
【００１７】
したがって、ユーザはプライバシを守りつつ、自分の閲覧したＷｅｂサイトのＵＲＬのヒントを自動的にトレンド監視装置１０へ送信できる。トレンド監視装置１０はユーザ端末１２のブラウザの拡張機能から受信するヒントを集めることで、多くのユーザがアクセスしたＵＲＬを知ることができる。
【００１８】
トレンド監視装置１０は多くのユーザがアクセスしたＵＲＬからユーザ間のトレンドを見付けてユーザ端末１２を操作するユーザにトレンド情報として公開する。公開したトレンド情報はトレンド監視装置１０のコミュニティサイトを利用するユーザ間のトレンドであるため、トレンド監視装置１０のコミュニティサイトを利用しているユーザにとって有益で役に立つＵＲＬの可能性が高い。
【００１９】
（トレンド監視装置１０及びユーザ端末１２のハードウェア構成）
トレンド監視サーバプログラムがインストールされているコンピュータはトレンド監視装置１０の一例である。トレンド監視クライアントプログラムがインストールされているコンピュータはユーザ端末１２の一例である。ここではトレンド監視サーバプログラム又はトレンド監視クライアントプログラムがインストールされているコンピュータのハードウェア構成を説明する。コンピュータは本実施例のトレンド監視装置１０又はユーザ端末１２と同様の機能を有するトレンド監視サーバプログラム又はトレンド監視クライアントプログラムを実行する。
【００２０】
図２はコンピュータの一例のハードウェア構成図である。図２のコンピュータ２０は入力装置２１、表示装置２２、コンピュータ本体２３を有する。コンピュータ本体２３はバス３７で相互に接続されている主記憶装置３１、演算処理装置３２、インターフェース装置３３、記録媒体読取装置３４及び補助記憶装置３５を有する。また、バス３７には入力装置２１及び表示装置２２が接続されている。
【００２１】
バス３７で相互に接続されている入力装置２１、表示装置２２、主記憶装置３１、演算処理装置３２、インターフェース装置３３、記録媒体読取装置３４及び補助記憶装置３５は、演算処理装置３２による管理下で相互にデータの送受を行うことができる。演算処理装置３２は、コンピュータ２０全体の動作制御を司る中央処理装置である。
【００２２】
インターフェース装置３３は他のパーソナルコンピュータ又はサーバなどからのデータを受信し、そのデータの内容を演算処理装置３２に渡す。さらにインターフェース装置３３は演算処理装置３２からの指示に応じて他のパーソナルコンピュータ又はサーバなどにデータを送信する。
【００２３】
補助記憶装置３５には、トレンド監視装置１０又はユーザ端末１２と同様の機能をコンピュータ２０に発揮させるプログラムの一部として、少なくともトレンド監視サーバプログラム又はトレンド監視クライアントプログラムが記録されている。
【００２４】
そして、演算処理装置３２がトレンド監視サーバプログラム又はトレンド監視クライアントプログラムを補助記憶装置３５から読み出して実行することで、トレンド監視装置１０又はユーザ端末１２として機能するようになる。トレンド監視サーバプログラム又はトレンド監視クライアントプログラムは演算処理装置３２とアクセス可能な主記憶装置３１に格納されていても良い。入力装置２１は演算処理装置３２の管理下でデータの入力を受付ける。トレンド監視サーバプログラム又はトレンド監視クライアントプログラムはコンピュータ２０が読み取り可能な記録媒体３６に記録しておくことができる。
【００２５】
コンピュータ２０で読み取り可能な記録媒体３６には、磁気記録媒体、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記録媒体には、ＨＤＤ、フレキシブルディスク（ＦＤ）、磁気テープ（ＭＴ）などがある。光ディスクには、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ）、ＤＶＤ−ＲＡＭ、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ  −  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＣＤ−Ｒ（Ｒｅｃｏｒｄａｂｌｅ）／ＲＷ（ＲｅＷｒｉｔａｂｌｅ）などがある。また、光磁気記録媒体には、ＭＯ（Ｍａｇｎｅｔｏ  −  Ｏｐｔｉｃａｌ  ｄｉｓｋ）などがある。
【００２６】
トレンド監視サーバプログラム又はトレンド監視クライアントプログラムを流通させる場合には、例えば、トレンド監視サーバプログラム又はトレンド監視クライアントプログラムが記録されたＤＶＤ、ＣＤ−ＲＯＭなどの可搬型の記録媒体３６が販売されることが考えられる。
【００２７】
そして、トレンド監視サーバプログラム又はトレンド監視クライアントプログラムを実行するコンピュータ２０は、例えば記録媒体読取装置３４がトレンド監視サーバプログラム又はトレンド監視クライアントプログラムを記録した記録媒体３６から、トレンド監視サーバプログラム又はトレンド監視クライアントプログラムを読み出す。演算処理装置３２は、読み出されたトレンド監視サーバプログラム又はトレンド監視クライアントプログラムを主記憶装置３１若しくは補助記憶装置３５に格納する。コンピュータ２０は、自己の記憶装置である主記憶装置３１若しくは補助記憶装置３５からトレンド監視サーバプログラム又はトレンド監視クライアントプログラムを読み取り、トレンド監視サーバプログラム又はトレンド監視クライアントプログラムに従った処理を実行する。
【００２８】
（ブロック構成）
図３は本実施例のユーザ端末の一例のブロック図である。ユーザ端末１２は、閲覧処理部４１、閲覧監視部４２、ヒント生成部４３、ヒント送信部４４、ヒントキャッシュ４５を有する。
【００２９】
閲覧処理部４１は演算処理装置３２がブラウザプログラムを実行することにより実現される。閲覧監視部４２、ヒント生成部４３、ヒント送信部４４、ヒントキャッシュ４５は演算処理装置３２がブラウザのプラグインプログラムを実行することにより実現される。
【００３０】
閲覧処理部４１は、ユーザの操作によりＷｅｂサーバ１４のＷｅｂサイトにアクセスしてユーザにＷｅｂサイトを閲覧させる。閲覧監視部４２は、閲覧処理部４１がアクセスするＷｅｂサイトのＵＲＬ「Ｘ」を監視している。閲覧監視部４２は閲覧処理部４１がＷｅｂサイトにアクセスすると、アクセスしたＷｅｂサイトのＵＲＬ「Ｘ」を取得する。閲覧監視部４２は取得したＵＲＬ「Ｘ」をヒント生成部４３に供給する。
【００３１】
ヒント生成部４３は供給されたＵＲＬ「Ｘ」からハッシュであるＨａｓｈ（Ｘ）及び暗号文であるＣｒｙｐｔ（Ｘ）を計算する。ハッシュは例えばＳＨＡ−１などのハッシュ関数を利用して計算される。ハッシュは検索用文の一例である。また、暗号文は例えばＡＥＳなどの暗号化方式を利用して計算される。
【００３２】
ヒント生成部４３は計算したハッシュから部分ハッシュを決め、計算した暗号文から暗号文の位置、部分暗号文を決め、ＵＲＬ「Ｘ」及びタイムスタンプと共に、ヒントキャッシュ４５に記録する。部分ハッシュはハッシュの最初のＮ＿ｈａｓｈビットである。暗号文の位置は暗号文の位置を表すランダムな整数である。部分暗号文は暗号文の上記「暗号文の位置」からＮ＿ｃｉｐｈｅｒビットである。タイムスタンプは例えばＵＲＬ「Ｘ」にアクセスした時間である。
【００３３】
ヒント送信部４４は、ヒント（Ｘ）及びタイムスタンプをトレンド監視装置１０に送信する。ヒント送信部４４は、ヒント（Ｘ）として、ヒントキャッシュ４５に記録されている部分ハッシュ、暗号文の位置、部分暗号文をトレンド監視装置１０に送信する。ヒントキャッシュ４５は、ＵＲＬ「Ｘ」及びタイムスタンプと共に、ヒント生成部４３が生成したヒント（Ｘ）を記録している。
【００３４】
図４はヒントキャッシュの一例の構成図である。図４のヒントキャッシュ４５はデータ項目としてＵＲＬ、部分ハッシュ、暗号文の位置、部分暗号文、タイムスタンプを有する構成である。
【００３５】
ＵＲＬは、アクセスしたＷｅｂサイトのＵＲＬである。部分ハッシュは、ハッシュの最初のＮ＿ｈａｓｈビットである。暗号文の位置は暗号文の位置を表すランダムな整数である。部分暗号文は暗号文の上記「暗号文の位置」からＮ＿ｃｉｐｈｅｒビットである。タイムスタンプは上記「ＵＲＬ」のＷｅｂサイトにアクセスした時間である。
【００３６】
図５はユーザ端末が行う処理の一例のイメージ図である。例えばユーザはユーザ端末１２のブラウザ５１を操作してＷｅｂサーバ１４のＷｅｂサイト５３にアクセスし、Ｗｅｂサイト５３を閲覧する。Ｗｅｂサイト５３のＵＲＬは「ｈｔｔｐ：／／ｍａｔｔｏ．ｂｌｏｇｓｐｏｔ．ｘｘｘ／ａ−ｎｅｗ−ｔｈｅｏｒｙ−ｏｆ−ｐｏｋｅｒ」とする。
【００３７】
拡張機能５２はブラウザ５１からユーザの閲覧したＷｅｂサイト５３のＵＲＬを取得してハッシュ「ｑ２３９ｄｉｊｗ３９８ｅｄ９ｄｕ」及び暗号文「ｓｕｉ２９８ｓｃｈ９２ｓｎｓａｋｎｌｃ２ｈ３８ｃｈ９ｗｃｎａ９８ｈ２ｄｏｄｏｗ８ｈｃ９８ｈｒｒ」を計算する。
【００３８】
拡張機能５２は計算したハッシュの最初のＮ＿ｈａｓｈビット（図５の例では最初の２ビット）の「ｑ２」を部分ハッシュとする。拡張機能５２は暗号文の位置を表すランダムな整数「２０」を暗号文の位置とする。拡張機能５２は暗号文の位置「２０」からＮ＿ｃｉｐｈｅｒビット（図５の例では２ビット）の「ｃｈ」を部分暗号文とする。
【００３９】
拡張機能５２は部分ハッシュ「ｑ２」、暗号文の位置「２０」、部分暗号文「ｃｈ」をＵＲＬ「ｈｔｔｐ：／／ｍａｔｔｏ．ｂｌｏｇｓｐｏｔ．ｘｘｘ／ａ−ｎｅｗ−ｔｈｅｏｒｙ−ｏｆ−ｐｏｋｅｒ」及びタイムスタンプと共にヒントキャッシュ４５に記録する。拡張機能５２はＵＲＬ「ｈｔｔｐ：／／ｍａｔｔｏ．ｂｌｏｇｓｐｏｔ．ｘｘｘ／ａ−ｎｅｗ−ｔｈｅｏｒｙ−ｏｆ−ｐｏｋｅｒ」のヒントとして、部分ハッシュ「ｑ２」、暗号文の位置「２０」及び部分暗号文「ｃｈ」をトレンド監視装置１０に送信する。また、拡張機能５２はヒントに対応するタイムスタンプをトレンド監視装置１０に送信する。
【００４０】
図６は複数のユーザ端末からトレンド監視装置に同一のＵＲＬのヒントが集まる処理の一例のイメージ図である。例えばユーザ端末１２ａ〜１２ｍを操作するユーザが同一のＷｅｂサイト５３を閲覧した場合、ユーザ端末１２ａ〜１２ｍはハッシュ「ｑ２３９ｄｉｊｗ３９８ｅｄ９ｄｕ」及び暗号文「ｓｕｉ２９８ｓｃｈ９２ｓｎｓａｋｎｌｃ２ｈ３８ｃｈ９ｗｃｎａ９８ｈ２ｄｏｄｏｗ８ｈｃ９８ｈｒｒ」から決めた、部分ハッシュ、暗号文の位置、部分暗号文をヒントとしてトレンド監視装置１０へ送信する。
【００４１】
ただし、ユーザ端末１２ａ〜１２ｍから送信されるヒントは暗号文の位置をランダムに決めている為、暗号文の位置及び部分暗号文がそれぞれ異なっている。したがって、送信されるヒントが多くなれば、言い換えればＷｅｂサイト５３がトレンドであれば、トレンド監視装置１０は全ての暗号文の位置及び部分暗号文を得る可能性が高まり、結果として複数のヒントから全体暗号文が分かるようになる。トレンド監視装置１０は全体暗号文を復号することで、Ｗｅｂサイト５３のＵＲＬ「ｈｔｔｐ：／／ｍａｔｔｏ．ｂｌｏｇｓｐｏｔ．ｘｘｘ／ａ−ｎｅｗ−ｔｈｅｏｒｙ−ｏｆ−ｐｏｋｅｒ」を再現できる。
【００４２】
図７は本実施例のトレンド監視装置の一例のブロック図である。トレンド監視装置１０は、ヒント受信部６１、ヒント処理部６２、トレンド判断部６３、トレンド表示部６４、ヒントデータベース（ＤＢ）６５、履歴ＤＢ６６を有する。
【００４３】
ヒント受信部６１は、ユーザ端末１２から部分ハッシュ、暗号文の位置、部分暗号文をヒント（Ｘ）として受信すると共に、そのヒント（Ｘ）に対応するタイムスタンプを受信する。ヒント処理部６２は受信したヒント（Ｘ）及びタイムスタンプをヒントＤＢ６５に記録する。ヒント処理部６２はヒントＤＢ６５に記録した複数のヒント（Ｘ）から後述のように全体暗号文であるＣｒｙｐｔ（Ｘ）を得て、Ｃｒｙｐｔ（Ｘ）を復号することで多数のユーザがアクセスしたＷｅｂサイトのＵＲＬ「Ｘ」を再現する。ヒント処理部６２は再現したＵＲＬ「Ｘ」及びタイムスタンプをトレンド判断部６３に供給する。
【００４４】
トレンド判断部６３は供給されたＵＲＬ「Ｘ」及びタイムスタンプに基づき、所定時間ごとのアクセス数をＵＲＬ「Ｘ」ごとに履歴ＤＢ６６へ記録する。トレンド判断部６３は履歴ＤＢ６６へ記録した所定時間ごとのＵＲＬ「Ｘ」へのアクセス数に基づき、例えばカウント数が急に上昇したＵＲＬ「Ｘ」をユーザ間のトレンドとして判断する。トレンド判断部６３によるユーザ間のトレンドの判断は所定時間（例えば１時間）ごとに行うことが考えられる。
【００４５】
トレンド表示部６４はトレンド判断部６３が判断したユーザ間のトレンド（例えばカウント数が急に上昇したＵＲＬ「Ｘ」のトップ５）を、ユーザ端末１２を操作するユーザにトレンド情報として公開する。トレンド情報の公開はＲＳＳ（ＲＤＦ  Ｓｉｔｅ  Ｓｕｍｍａｒｙ）又はＡｔｏｍなどのフォーマットを利用することで行うことができる。
【００４６】
図８はヒントＤＢの一例の構成図である。図８のヒントＤＢ６５はデータ項目として部分ハッシュ、暗号文の位置、部分暗号文、タイムスタンプを有する構成である。図８の部分ハッシュ、暗号文の位置、部分暗号文はユーザ端末１２からヒント（Ｘ）として受信したものである。図８のタイムスタンプはヒント（Ｘ）に対応するようにユーザ端末１２から受信したタイムスタンプである。
【００４７】
図９は履歴ＤＢの一例の構成図である。図９の履歴ＤＢ６６は過去４８時間以内に再現したＵＲＬ「Ｘ」と、そのＵＲＬ「Ｘ」への所定時間（例えば１時間）ごとのアクセス数とを記録する。
【００４８】
次に、トレンド監視装置１０が行う処理の一例について概説する。ヒント処理部６２はヒントＤＢ６５のデータ項目「部分ハッシュ」を参照し、部分ハッシュが同一のレコードを選択することで、ヒントＤＢ６５から同一のＵＲＬのものである可能性が高いレコードを選択できる。
【００４９】
これはデータ項目「部分ハッシュ」がＵＲＬから計算したハッシュの最初のＮ＿ｈａｓｈビット（図８では最初の２ビット）であることを利用している。少なくとも、同一のＵＲＬから計算したハッシュの最初のＮ＿ｈａｓｈビットは必ず同一となる。なお、異なるＵＲＬから計算したハッシュの最初のＮ＿ｈａｓｈビットも同一となる可能性があることは後述のように考慮する必要がある。
【００５０】
図１０はトレンド監視装置が行う処理を説明する為の説明図（１／２）である。ヒント処理部６２は例えば図１０（Ａ）に示すように、ヒントＤＢ６５から部分ハッシュが「３ｄ」のレコードを選択する。
【００５１】
ヒント処理部６２はヒントＤＢ６５から選択した同一のＵＲＬのものである可能性が高い部分ハッシュが「３ｄ」のレコードのデータ項目「暗号文の位置」と「部分暗号文」とを用いることで、全体暗号文の構築を試みる。なお、ヒント処理部６２は暗号文の位置が足りなければ全体暗号文の構築を諦める。
【００５２】
また、図１０（Ａ）に示すように、それぞれの暗号文の位置には、複数の部分暗号文の候補が含まれることもある。このため、ヒント処理部６２は、図１０（Ｂ）に示すように暗号文の位置のそれぞれの部分暗号文の候補に確率を与える。この確率は部分暗号文の候補の出現頻度となる。例えば、ある暗号文の位置の部分暗号文の候補が一つであれば確率は「１」となる。また、ある暗号文の位置の部分暗号文の候補が５回に３回の割合で現れれば確率は「３／５」となる。なお、例外として、ヒント処理部６２は今回受信したヒントの部分暗号文の候補の確率を「１」とする。
【００５３】
図１１はトレンド監視装置が行う処理を説明する為の説明図（２／２）である。ヒント処理部６２は図１１（Ａ）から全体暗号文の候補を構築し、その全体暗号文の確率も計算する。なお、全体暗号文の候補の確率は、部分暗号文の候補の確率を掛け合わせたものとなる。ヒント処理部６２は全体暗号文の候補を確率でソートした図１１（Ｂ）に示すような全体暗号文の候補リストを作る。
【００５４】
ヒント処理部６２は全体暗号文の候補リストの要素（全体暗号文の候補）を確率の高いものから順番に復号していく。ヒント処理部６２は復号に成功した全体暗号文の候補が正解の全体暗号文だと判断する。ヒント処理部６２は正解の全体暗号文を復号することにより多数のユーザがアクセスしたＵＲＬを再現できる。
【００５５】
トレンド判断部６３はヒント処理部６２から供給されたＵＲＬ及びタイムスタンプに基づき、所定時間（例えば１時間）ごとのアクセス数をＵＲＬごとに例えば図９に示すような履歴ＤＢ６６へ記録する。アクセス数は、例えば部分暗号文の候補と正解の全体暗号文との対応関係、正解の全体暗号文と再現したＵＲＬとの対応関係からカウントすることができる。トレンド判断部６３においてユーザ間のトレンドとして判断する基準は適宜決めればよいが、例えばカウント数の上昇数や上昇率、上限数などが考えられる。
【００５６】
図１２は複数のユーザ端末を操作するユーザへトレンド情報を公開する処理の一例のイメージ図である。トレンド表示部６４はトレンド判断部６３が判断したユーザ間のトレンドとして、ユーザ端末１２を操作するユーザにＵＲＬを公開している。
【００５７】
（処理フロー）
図１３は本実施例のユーザ端末が行う処理の一例のフローチャートである。図１３のフローチャートの処理は、閲覧処理部４１におけるイベント発生時などに行う。
【００５８】
ステップＳ１に進み、閲覧監視部４２は閲覧処理部４１のイベント発生時、閲覧処理部４１からイベントのＵＲＬ「Ｉ」を取得する。ステップＳ２に進み、ヒント生成部４３は取得したＵＲＬ「Ｉ」がヒントキャッシュ４５に記録されているか否かを判断する。
【００５９】
取得したＵＲＬ「Ｉ」がヒントキャッシュ４５に記録されていれば、ヒント送信部４４はステップＳ３、Ｓ６に進み、ヒントキャッシュ４５に記録されているヒント（Ｉ）及びタイムスタンプをトレンド監視装置１０に送信する。
【００６０】
取得したＵＲＬ「Ｉ」がヒントキャッシュ４５に記録されていなければ、ヒント生成部４３はステップＳ４に進み、後述のヒント生成処理によりイベントのＵＲＬ「Ｉ」からヒント（Ｉ）を計算する。
【００６１】
ステップＳ５に進み、ヒント生成部４３はＵＲＬ「Ｉ」と、ヒント（Ｉ）と、タイムスタンプとをヒントキャッシュ４５に記録する。そして、ステップＳ６に進み、ヒント送信部４４はステップＳ５でヒントキャッシュ４５に記録したヒント（Ｉ）及びタイムスタンプをトレンド監視装置１０に送信する。
【００６２】
図１４はステップＳ４のヒント生成処理の一例のフローチャートである。ステップＳ１１に進み、ヒント生成部４３は取得したＵＲＬ「Ｉ」からＨａｓｈ（Ｉ）を計算し、Ｈａｓｈ（Ｉ）の最初のＮ＿ｈａｓｈビットを部分ハッシュ「ｐｈ」とする。
【００６３】
ステップＳ１２に進み、ヒント生成部４３は共通鍵「Ｋｅｙ」を用いて、取得したＵＲＬ「Ｉ」の暗号文（Ｉ、Ｋｅｙ）を計算する。ステップＳ１３に進み、ヒント生成部４３はＮ＿ｃｉｐｈｅｒビットの長さの均等のブロックに暗号文（Ｉ、Ｋｅｙ）を分ける。ヒント生成部４３はランダムにブロックを選択し、ブロックの暗号文（Ｉ、Ｋｅｙ）の最初からのオフセットビットを暗号文の位置「ｐｏｓ」とする。ステップＳ１４に進み、ヒント生成部４３は暗号文（Ｉ、Ｋｅｙ）の最初からのオフセットビット「ｐｏｓ」の位置からＮ＿ｃｉｐｈｅｒビットを部分暗号文「ｐｃ」とする。
【００６４】
図１５は本実施例のトレンド監視装置が行う処理の一例のフローチャートである。図１５のフローチャートの処理は、ヒント受信部６１におけるヒント受信時などに行う。
【００６５】
ステップＳ２１に進み、ヒント処理部６２は後述の候補取得処理により全体暗号文の候補リストを得る。ステップＳ２２に進み、ヒント処理部６２は得た全体暗号文の候補リストを、出現頻度である確率によりソートする。ステップＳ２３に進み、ヒント処理部６２は全体暗号文の候補リストが空か否かを判定する。
【００６６】
全体暗号文の候補リストが空でなければ、ステップＳ２５に進み、ヒント処理部６２は全体暗号文の候補リストから順番（確率が高い全体暗号文の候補が先になる順番）に全体暗号文の候補（レコード）を一つずつ取得する。ステップＳ２６に進み、ヒント処理部６２は共通鍵「Ｋｅｙ」を用いて、取得した全体暗号文の候補の復号文（ｃｔ、Ｋｅｙ）を計算する。
【００６７】
ステップＳ２７に進み、ヒント処理部６２は計算した復号文（ｃｔ、Ｋｅｙ）の部分Ｈａｓｈ「ｐｔ」を計算し、ヒントＤＢ６５に記録されている部分ハッシュ「ｐｈ」と同じか否かを判断する。
【００６８】
部分Ｈａｓｈ「ｐｔ」と部分ハッシュ「ｐｈ」とが同じであれば、ヒント処理部６２はステップＳ２５で取得した全体暗号文の候補が正解の全体暗号文だと判断する。ヒント処理部６２は正解の全体暗号文を復号することによりＵＲＬ「Ｉ」を再現できる。部分Ｈａｓｈ「ｐｔ」と部分ハッシュ「ｐｈ」とが同じでなければ、ヒント処理部６２はステップＳ２５で取得した全体暗号文の候補が不正解の全体暗号文だと判断してステップＳ２３に戻る。
【００６９】
なお、ステップＳ２３において全体暗号文の候補リストが空であれば、ヒント処理部６２はステップＳ２４に進み、正解の全体暗号文を見付けることができなかったため、失敗を返す。
【００７０】
図１６はステップＳ２１の候補取得処理の一例のフローチャートである。ステップＳ３１に進み、ヒント処理部６２は候補取得処理を開始する。ステップＳ３２に進み、ヒント処理部６２はヒントＤＢ６５に含まれる同一の部分ハッシュ「ｐｈ」を有するヒント（レコード）を調べる。そして、ヒント処理部６２は暗号文の位置「ｐｏｓ」の最大値「ｍａｘ＿ｐｏｓ」をヒントから見付ける。ステップＳ３３に進み、ヒント処理部６２はＮ＿ｃｉｐｈｅｒビットの倍数｛０、…、ｍａｘ＿ｐｏｓ｝をブロック位置とする。
【００７１】
ステップＳ３４に進み、ヒント処理部６２はブロック位置が空か否かを判断する。ヒント処理部６２はブロック位置が空でないと判定するとステップＳ３６に進み、ブロック位置の最初の要素を取り出す。ステップＳ３７に進み、ヒント処理部６２は後述のブロック候補取得処理によりブロック候補を得る。ステップＳ３８に進み、ヒント処理部６２はブロック候補が空か否かを判断する。
【００７２】
ヒント処理部６２はブロック候補が空でないと判定するとステップＳ４０に進み、候補にブロック候補を適用して新たな候補とする後述の処理を行ったあと、ステップＳ３４の処理に戻る。
【００７３】
なお、ステップＳ３４において、ヒント処理部６２はブロック位置が空である（暗号文の位置が足りている）と判定するとステップＳ３５に進み、候補を返す。ステップＳ３８においてブロック候補が空である（暗号文の位置が足りていない）と判定すると、ヒント処理部６２はステップＳ３９に進み、失敗を返す。
【００７４】
図１７は、ステップＳ３７のブロック候補取得処理の一例のフローチャートである。ステップＳ５１に進み、ヒント処理部６２は図１５において受信したヒントの部分暗号文の位置「ｐｏｓ」と同じか判断する。同じならば、ヒント処理部６２はステップＳ５２に進み、図１５において受信されたヒントの部分暗号文を、確率「１」のブロック候補として返す。
【００７５】
同じでなければ、ヒント処理部６２はステップＳ５３に進み、ヒントＤＢ６５に記録されている部分ハッシュ「ｐｈ」及び暗号文の位置「ｐｏｓ」が同じ複数のエントリ（レコード）をそれぞれヒントとする。
【００７６】
ステップＳ５４に進み、ヒント処理部６２はヒントが空か否かを判定する。ヒントが空であれば、ヒント処理部６２はステップＳ５５に進み、ブロック候補を返さない。ヒントが空でなければ、ヒント処理部６２はステップＳ５６に進み、複数のヒントのそれぞれに現れた暗号文の位置（ｐｃ＿ｉ）、部分暗号文、確率（ｆｒｅｑ（Ｐｃ＿ｉ））をブロック候補として返す。
【００７７】
図１８は、ステップＳ４０の候補にブロック候補を適用して新たな候補とする処理の一例のフローチャートである。ステップＳ６１に進み、ヒント処理部６２は候補が空か否かを判断する。候補が空であれば、ヒント処理部６２はステップＳ６２に進み、ブロック候補を候補として返す。
【００７８】
候補が空でなければ、ステップＳ６３に進み、ヒント処理部６２は新たな候補の作成処理を開始する。ステップＳ６４に進み、ヒント処理部６２は候補が空になるまでステップＳ６６及びステップＳ６７の処理を繰り返す。候補が空になれば、ヒント処理部６２はステップＳ６５に進み、新たな候補を返す。
【００７９】
ステップＳ６６に進み、ヒント処理部６２は候補の部分暗号文「ｃｔ」と確率「ｐ」とを取り出す。そして、ステップＳ６７に進み、ヒント処理部６２は候補の部分暗号文「ｃｔ」と確率「ｐ」とに、ブロック候補の部分暗号文「ｃｈｕｎｋ＿ｃｔ」と確率「ｃｈｕｎｋ＿ｐ」とを適用して新たな候補とする。
【００８０】
本実施例におけるトレンド監視サーバプログラム及びトレンド監視クライアントプログラムはパッケージソフトの他、ＷＥＢサービス等によっても提供可能である。
【００８１】
本発明は、以下に記載する付記のような構成が考えられる。
（付記１）
ユーザが操作する複数のユーザ端末とデータ通信可能に接続されたトレンド監視装置によって実行されるトレンド監視方法であって、
前記複数のユーザ端末から、前記ユーザ端末がアクセスした情報の識別子を基に生成した、その情報の識別子の部分的なヒントをそれぞれ受信するヒント受信ステップと、
複数の前記ユーザ端末から受信した前記部分的なヒントを集めて前記情報の識別子を再現するヒント処理ステップと、
再現した前記情報の識別子に基づき、前記情報へのアクセス数を求め、求めたアクセス数から前記情報のトレンドを判断するトレンド判断ステップと
を実行するトレンド監視方法。
（付記２）
前記部分的なヒントは、前記ユーザ端末が、アクセスした情報の識別子の検索用文及び暗号文を計算し、
前記検索用文の少なくとも一部である部分検索用文、前記暗号文の位置、前記暗号文の位置に基づいた部分暗号文であることを特徴とする付記１記載のトレンド監視方法。
（付記３）
前記ヒント処理ステップは、複数の前記ユーザ端末から前記部分的なヒントとして受信した前記部分検索用文、前記暗号文の位置、前記部分暗号文から、同一の前記部分検索用文に対応する前記暗号文の位置及び前記部分暗号文を複数選択して、複数選択した前記暗号文の位置及び前記部分暗号文から前記暗号文を構築する構築ステップと、
構築した前記暗号文を復号して前記情報の識別子を再現する再現ステップと
を実行する付記２記載のトレンド監視方法。
（付記４）
前記構築ステップは、同一の前記部分検索用文に対応する前記暗号文の位置及び前記部分暗号文を複数選択するとき、前記暗号文の位置における前記部分暗号文の出現頻度を確率として付与し、前記暗号文を構築する前記部分暗号文の確率を掛け合わせて前記暗号文の確率を計算する付記３記載のトレンド監視方法。
（付記５）
前記トレンド監視装置が、判断した前記情報のトレンドを複数の前記ユーザ端末に表示させるトレンド表示ステップ
を更に実行する付記１乃至４何れか一項記載のトレンド監視方法。
（付記６）
コンピュータに、
ユーザが操作する複数のユーザ端末から、前記ユーザ端末がアクセスした情報の識別子を基に生成した、その情報の識別子の部分的なヒントをそれぞれ受信するヒント受信ステップと、
複数の前記ユーザ端末から受信した前記部分的なヒントを集めて前記情報の識別子を再現するヒント処理ステップと、
再現した前記情報の識別子に基づき、前記情報へのアクセス数を求め、求めたアクセス数から前記情報のトレンドを判断するトレンド判断ステップと
を実行させるためのトレンド監視サーバプログラム。
（付記７）
コンピュータに、
ユーザからの指示に基づきアクセスした情報の識別子の部分的なヒントを生成するヒント生成ステップと、
生成した前記ヒントをトレンド監視装置に送信するヒント送信ステップと
を実行させるためのトレンド監視クライアントプログラム。
（付記８）
ユーザが操作する複数のユーザ端末から、前記ユーザ端末がアクセスした情報の識別子を基に生成した、その情報の識別子の部分的なヒントをそれぞれ受信するヒント受信手段と、
複数の前記ユーザ端末から受信した前記部分的なヒントを集めて前記情報の識別子を再現するヒント処理手段と、
再現した前記情報の識別子に基づき、前記情報へのアクセス数を求め、求めたアクセス数から前記情報のトレンドを判断するトレンド判断手段と
を有するトレンド監視装置。
（付記９）
ユーザからの指示に基づきアクセスした情報の識別子の部分的なヒントを生成するヒント生成手段と、
生成した前記ヒントをトレンド監視装置に送信するヒント送信手段と
を有するユーザ端末。
【符号の説明】
【００８２】
１    トレンド監視システム
１０    トレンド監視装置
１２、１２ａ〜１２ｍ    ユーザ端末
１４、１４ａ〜１４ｎ    Ｗｅｂサーバ
１６    ネットワーク
２０    コンピュータ
２１    入力装置
２２    表示装置
２３    コンピュータ本体
３１    主記憶装置
３２    演算処理装置
３３    インターフェース装置
３４    記録媒体読取装置
３５    補助記憶装置
３６    記録媒体
３７    バス
４１    閲覧処理部
４２    閲覧監視部
４３    ヒント生成部
４４    ヒント送信部
４５    ヒントキャッシュ
５１    ブラウザ
５２    拡張機能
５３    Ｗｅｂサイト
６１    ヒント受信部
６２    ヒント処理部
６３    トレンド判断部
６４    トレンド表示部
６５    ヒントデータベース（ＤＢ）
６６    履歴ＤＢ
【図１】
0005494125.tif 000002
【図２】
0005494125.tif 000003
【図３】
0005494125.tif 000004
【図４】
0005494125.tif 000005
【図５】
0005494125.tif 000006
【図６】
0005494125.tif 000007
【図７】
0005494125.tif 000008
【図８】
0005494125.tif 000009
【図９】
0005494125.tif 000010
【図１０】
0005494125.tif 000011
【図１１】
0005494125.tif 000012
【図１２】
0005494125.tif 000013
【図１３】
0005494125.tif 000014
【図１４】
0005494125.tif 000015
【図１５】
0005494125.tif 000016
【図１６】
0005494125.tif 000017
【図１７】
0005494125.tif 000018
【図１８】
0005494125.tif 000019