以下に、本発明にかかる情報処理装置、更新プログラム、更新方法およびソーシャルネットワークシステムの実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。そして、各実施例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。以下では、ユーザ間の結びつきを活用してコミュニケーションを行うソーシャルネットワークシステムに本発明を適用した場合について説明する。
[システム構成]
まず、実施例1に係るソーシャルネットワークシステムについて説明する。図1は、ソーシャルネットワークシステムの全体の概略構成の一例を示す図である。図1に示すように、ソーシャルネットワークシステム10は、サーバ11と、端末12とを有する。サーバ11と端末12とは、各種の情報を交換することが可能とされている。例えば、サーバ11と端末12は、ネットワーク13を介して通信可能に接続され、各種の情報を交換することが可能とされている。かかるネットワーク13の一態様としては、有線または無線を問わず、携帯電話などの移動体通信、インターネット(Internet)、LAN(Local Area Network)やVPN(Virtual Private Network)などの任意の通信網が挙げられる。
端末12は、ユーザが操作する端末装置である。端末12は、例えば、スマートフォン、PDA(Personal Digital Assistant)、携帯電話機などの携帯端末装置である。なお、端末12は、例えば、デスクトップ型PC(パーソナルコンピュータ)、タブレット型PC、ノート型PCなどの装置等であってもよい。本実施例では、端末12にブラウザ12Aがインストールされ、ユーザが端末12からブラウザ12Aを用いてサーバ11へアクセスすることによりコミュニケーションを行う場合を例にして説明する。なお、端末12に専用のアプリケーションがインストールされ、ユーザが端末12から専用のアプリケーションを用いてサーバ11へアクセスしてもよい。また、図1の例では、端末12が2つの場合を例示したが、開示のシステムはこれに限定されず、端末12を任意の数とすることができる。
サーバ11は、ユーザ間のメッセージによりコミュニケーションを行うコミュニケーションシステムを提供する装置である。サーバ11は、例えば、企業内またはデータセンタに設けられたサーバコンピュータなどのコンピュータなどである。サーバ11は、1台のコンピュータとして実装してもよく、また、複数台のコンピュータによるクラウドとして実装することもできる。なお、本実施例では、サーバ11を1台のコンピュータとした場合を例として説明する。
[サーバの構成]
次に、本実施例に係るサーバ11の機能的構成について説明する。図2は、サーバの機能的構成を示すブロック図である。図2に示すように、サーバ11は、通信I/F(インタフェース)部21と、記憶部22と、制御部23とを有する。
通信I/F部21は、他の装置、例えば、各端末12との間で通信制御を行うインタフェースである。通信I/F部21は、各端末12と各種のデータを送受信する。かかる通信I/F部21の一態様としては、LANカードなどのネットワークインタフェースカードを採用できる。
記憶部22は、フラッシュメモリなどの半導体メモリ素子、ハードディスク、光ディスクなどの記憶装置である。なお、記憶部22は、上記の種類の記憶装置に限定されるものではなく、RAM(Random Access Memory)等の揮発性メモリであってもよい。
記憶部22は、制御部23で実行されるOS(Operating System)やコミュニケーションシステムの制御に用いる各種プログラムを記憶する。さらに、記憶部22は、制御部23で実行されるプログラムの実行に必要な各種データを記憶する。かかるデータの一例として、記憶部22は、関係情報テーブル40と、属性情報テーブル41と、情報管理テーブル42と、評価情報テーブル43とを記憶する。
関係情報テーブル40は、ユーザ間の結びつきに関する各種情報を記憶したテーブルである。例えば、関係情報テーブル40には、ユーザ間の結びつきを示す関係情報や、ユーザ間の当該他のユーザとの結びつきの強さが記憶される。
図3は、関係情報テーブルのデータ構成の一例を示す図である。図3に示すように、関係情報テーブル40は、「ユーザ情報」、「知人ユーザ情報」、「許可済みフラグ」、「関係強度」、「自動生成フラグ」、「自動生成要因」の各フィールドを有する。なお、関係情報テーブル40は、上記以外のフィールドを有してもよい。
ユーザ情報のフィールドは、ユーザを識別する識別情報を格納する領域である。本実施例では、ユーザの識別情報として、ユーザのメールアドレスを用いている。なお、識別情報は、メールアドレスに限定されず、ユーザ毎にユニークに定められていれば何れであってもよい。例えば、識別情報は、数字や文字などを組み合わせてユーザIDとして、サーバ11が各ユーザに付与してもよい。知人ユーザ情報は、ユーザが知人として登録したユーザの識別情報を格納する領域である。本実施例では、知人ユーザ情報には、ユーザが知人として登録したユーザのメールアドレスが格納される。許可済みフラグのフィールドは、知人関係の生成を依頼したユーザが、知人関係の生成を許可しているかどうかのフラグを格納する領域である。許可済みフラグのフィールドには、知人関係の生成が許可された場合、「Yes」が格納され、知人関係の生成がまだ許可されていない場合、「No」が格納される。関係強度のフィールドは、ユーザと、知人とされたユーザとの間の関係強度を格納する領域である。この関係強度は、ユーザ間の結びつきの強さを示す値である。結びつきの強さとは、ユーザが知人のユーザをどれだけ信頼しているかを示すものである。結びつきは、ユーザが知人のユーザの情報を多く評価することで強くなる。自動生成フラグのフィールドは、ユーザ間の関係が自動で生成されたか否かを示すフラグを格納する領域である。自動生成フラグのフィールドには、結びつきが自動で生成されたものである場合、「Yes」が格納され、結びつきが自動で生成されたものではなく、ユーザが登録したものである場合、「No」が格納される。自動生成要因のフィールドは、関係が自動生成された要因を格納する領域である。
ここで、本実施例では、4人のユーザA、ユーザB、ユーザX、ユーザYの結びつきを例にして説明する。また、ユーザAは、識別情報として使用するメールアドレスが「user-a@company.com」であるものとする。ユーザBは、識別情報として使用するメールアドレスが「user-b@company.com」であるものとする。ユーザXは、識別情報として使用するメールアドレスが「user-x@company.com」であるものとする。ユーザYは、識別情報として使用するメールアドレスが「user-y@company.com」であるものとする。
図3の例では、ユーザ情報が「user-a@company.com」のユーザAは、知人ユーザ情報に「user-x@company.com」が格納されていることから、ユーザXを知人として登録していることを示す。また、許可済みフラグが「Yes」であることから、知人として登録されたユーザXは、知人関係の生成を許可したことを示す。また、関係強度が「3」であることから、ユーザAは、ユーザXとの結びつきの強さが「3」であることを示す。また、自動生成フラグが「No」であることから、知人として登録されたユーザXは、結びつきが自動で生成されたものではないことを示す。
また、図3の例では、ユーザA、ユーザX、ユーザYが互いに許可した知人関係であることを示している。図4は、知人関係を模式的に示した図である。図4の例は、図3に登録されたユーザ間の知人関係を模式的に示した図である。図4の例では、ユーザAとユーザXは、結びつきを有する。ユーザAは、ユーザXに対して関係強度3の結びつきを有する。ユーザXは、ユーザAに対して関係強度3の結びつきを有する。また、ユーザXとユーザYは、結びつきを有する。ユーザYは、ユーザXに対して関係強度2の結びつきを有する。ユーザXは、ユーザYに対して関係強度2の結びつきを有する。また、ユーザAとユーザYは、直接的な結びつきを有しておらず、ユーザXを介して間接的な結びつきを有している。
図2に戻り、属性情報テーブル41は、各ユーザの属性に関する各種情報を記憶したテーブルである。例えば、関係情報テーブル40には、ユーザの属性として、ユーザに関連付ける業務が記憶される。
図5は、属性情報テーブルのデータ構成の一例を示す図である。図5に示すように、属性情報テーブル41は、「ユーザ情報」、「ユーザ名」、「関連業務」の各フィールドを有する。なお、属性情報テーブル41は、上記以外のフィールドを有してもよい。
ユーザ情報のフィールドは、ユーザを識別する識別情報を格納する領域である。ユーザ名のフィールドは、ユーザ情報で指定されるユーザのユーザ名を格納する領域である。関連業務のフィールドは、ユーザ情報で指定されるユーザの関連業務を格納する領域である。本実施例では、この関連業務をユーザの属性としている。
図5の例では、ユーザ情報が「user-a@company.com」のユーザは、ユーザ名が「ユーザA」であり、関連業務が「M2M」であることを示す。
図2に戻り、情報管理テーブル42は、各ユーザから投稿された投稿内容に関する各種情報を記憶したテーブルである。例えば、情報管理テーブル42には、ユーザが投稿したメッセージが記憶される。
図6は、情報管理テーブルのデータ構成の一例を示す図である。図6に示すように、情報管理テーブル42は、「ユーザ情報」、「メッセージID」、「メッセージ」、「評価ユーザ情報」の各フィールドを有する。なお、情報管理テーブル42は、上記以外のフィールドを有してもよい。
ユーザ情報のフィールドは、ユーザを識別する識別情報を格納する領域である。メッセージIDのフィールドは、投稿されたメッセージの識別情報を格納する領域である。投稿されたメッセージには、数字や文字などを組み合わせて、それぞれのメッセージを識別する識別情報が付与される。メッセージIDのフィールドには、投稿されたメッセージに付与された識別情報が格納される。メッセージのフィールドは、投稿されたメッセージを格納する領域である。評価ユーザ情報のフィールドは、メッセージを評価したユーザの識別情報を格納する領域である。
図6の例では、ユーザ情報が「user-x@company.com」のユーザXは、メッセージIDが「user-x-1」として、「本日、A社から新しいタブレットが発表されるらしい。」とのメッセージを投稿したことを示している。また、メッセージIDが「user-x-1」のメッセージは、評価ユーザ情報が空白であることから、評価したユーザがいないことを示す。また、図6の例では、ユーザ情報が「user-y@company.com」のユーザYは、メッセージIDが「user-y-1」として、「展示会のレポートです。・・・」とのメッセージを投稿したことを示している。また、メッセージIDが「user-y-1」のメッセージは、評価ユーザ情報として「user-x@company.com」が格納されていることから、ユーザXにより評価されていることを示す。
図2に戻り、評価情報テーブル43は、メッセージの評価に関する各種情報を記憶したテーブルである。例えば、評価情報テーブル43には、投稿したメッセージを評価したユーザの識別情報が記憶される。
図7は、評価情報テーブルのデータ構成の一例を示す図である。図7に示すように、評価情報テーブル43は、「ユーザ情報」、「メッセージID」、「評価ユーザ情報」、「評価日時」の各フィールドを有する。なお、評価情報テーブル43は、上記以外のフィールドを有してもよい。
ユーザ情報のフィールドは、メッセージIDのメッセージを投稿したユーザを識別する識別情報を格納する領域である。メッセージIDのフィールドは、投稿されたメッセージの識別情報を格納する領域である。評価ユーザ情報のフィールドは、メッセージIDのメッセージを評価したユーザの識別情報を格納する領域である。評価日時のフィールドは、メッセージIDのメッセージが評価された日時を格納する領域である。
図7の例では、ユーザ情報が「user-y@company.com」のユーザYのメッセージIDが「user-y-1」のメッセージは、評価ユーザ情報が「user-x@company.com」のユーザXにより評価されており、評価された日時が2013年2月26日であることを示す。
図2に戻り、制御部23は、サーバ11を制御するデバイスである。制御部23としては、CPU(Central Processing Unit)、MPU(Micro Processing Unit)等の電子回路や、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)等の集積回路を採用できる。制御部23は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、これらによって種々の処理を実行する。制御部23は、各種のプログラムが動作することにより各種の処理部として機能する。例えば、制御部23は、表示制御部50と、取得部51と、更新部52と、導出部53とを有する。
表示制御部50は、端末12に各種の画面を表示させる制御を行う。例えば、表示制御部50は、端末12から各種の要求や指示を受け付け、端末12に表示させる画像の画像情報を生成する。なお、生成する画像情報は、端末12に表示させることができれば何れの形成でもよい。例えば、端末12にブラウザ12Aの画面を表示させる場合、表示制御部50は、例えば、HTML(HyperText Markup Language)などのブラウザ12Aが対応するスクリプト等により画像情報を生成する。そして、表示制御部50は、生成された画像情報を端末12へ送信する制御を行う。
取得部51は、各種の情報を取得する。例えば、取得部51は、ユーザ間の結びつきを示す関係情報およびユーザの属性を示す属性情報を取得する。例えば、取得部51は、関係情報テーブル40から、ユーザ毎に知人とされたユーザを読み出してユーザ間の結びつきに関する情報を取得する。また、取得部51は、属性情報テーブル41から、各ユーザの属性として関連業務を読み出してユーザの属性情報を取得する。
更新部52は、各種の情報の更新を行う。例えば、更新部52は、同じ属性を有し、他のユーザを介して間接的に結びつく各ユーザの当該他のユーザとの結びつきの強さに基づいて、間接的に結びつく各ユーザ間の結びつきを更新する。例えば、更新部52は、他のユーザを介して間接的に結びつく各ユーザと当該他のユーザとの結びつきの強さが所定の追加条件を満たす場合、当該ユーザと、当該ユーザに間接的に結びつくユーザとの直接的な結びつきを追加する更新を行う。また、例えば、更新部52は、直接的な結びつきを追加したユーザ間の結びつきの強さが所定の削除条件を満たす場合、当該ユーザ間の直接的な結びつきを削除する更新を行う。
導出部53は、各種の導出を行う。例えば、導出部53は、ユーザ間の結びつきの強さを導出する。例えば、導出部53は、ユーザが投稿した情報に対する、当該ユーザに結びつけられた他のユーザからの評価に基づいて、当該ユーザと当該他のユーザとの結びつきの強さを導出する。
ここで、ソーシャルネットワークシステム10によるユーザ間のコミュニケーションの流れを具体的に説明する。
各ユーザは、他のユーザとコミュニケーションを行う場合、端末12を用いてサーバ11へアクセスする。例えば、ユーザは、端末12を用いてコミュニケーションシステムのトップページのURLにブラウザ12Aでアクセスする。
サーバ11では、アクセスを受け付けると、表示制御部50は、アクセス元の端末12へログオン画面の画像情報を送信する。これにより、端末12では、ログオン画面が表示される。
図8は、ログオン画面の画面構成の一例を示す図である。ログオン画面70は、メールアドレス入力領域71と、パスワード入力領域72と、ログインボタン73と、クリアボタン74とを有する。なお、ログオン画面70は、これ以外の情報を入力する入力領域があってもよい。
メールアドレス入力領域71は、ユーザのメールアドレスを入力させる領域である。本実施例では、ユーザの識別情報として、メールアドレスを用いているため、メールアドレスを入力させるが、識別情報としてユーザIDなどを用いてもよい。パスワード入力領域72は、パスワードを入力させる領域である。ログインボタン73は、メールアドレス入力領域71に入力されたメールアドレスと、パスワード入力領域72に入力されたパスワードとによりユーザの認証の実行を指示するボタンである。クリアボタン74は、メールアドレス入力領域71と、パスワード入力領域72とに入力された情報の消去を指示するボタンである。
ユーザが、メールアドレス入力領域71にメールアドレスを入力し、パスワード入力領域72にパスワードを入力した後、ログインボタン73をクリックすると、メールアドレスとパスワードがサーバ11へ送信される。
表示制御部50は、メールアドレスとパスワードを受け付けると、受け付けたメールアドレスとパスワードを、ユーザが事前に登録したメールアドレスとパスワードと照合する。表示制御部50は、照合の結果、メールアドレスとパスワードが一致した場合、コミュニケーションシステムのトップ画面を端末12に表示させる。一方、表示制御部50は、照合の結果、メールアドレスとパスワードが不一致の場合、認証失敗画面を端末12に表示させる。
なお、表示制御部50は、一度認証が成功した後に、認証が成功した端末12からコミュニケーションシステムのトップページにアクセスを受け付けた場合、一定期間は認証を行わなくてもトップ画面を表示させてもよい。
図9は、コミュニケーションシステムのトップ画面の画面構成の一例を示す図である。トップ画面80は、メニューエリア81、知人表示エリア82、情報表示エリア83を有する。なお、トップ画面80は、これら以外の他のエリアが存在してもよい。
メニューエリア81は、コミュニケーションシステムでユーザが実行可能な処理メニューが表示される領域である。本実施例では、知人登録メニュー85と、知人削除メニュー86と、情報登録メニュー87と、業務変更メニュー88と、ログアウトメニュー89とが表示されている。なお、メニューエリア81は、これら以外の他のメニューが存在してもよい。
知人表示エリア82は、ユーザと知人関係にあるユーザの一覧を表示する領域である。図9の例では、ユーザXのみが表示されており、ログオンしたユーザAの知人がユーザXであることを示している。
情報表示エリア83は、知人関係にあるユーザが登録したメッセージなどの各種の情報が表示される領域である。図9の例では、知人であるユーザXが登録した「本日、A社から新しいタブレットが発表されるらしい。」というメッセージが表示されている。また、情報表示エリア83には知人関係にあるユーザが評価した情報も表示される。図9の例では、知人であるユーザXが評価したユーザYの「展示会のレポートです。」というメッセージが表示されている。この内容は「続きを読む」メニューをクリックすることで、メッセージ報全体が表示される。
また、情報表示エリア83は、それぞれのメッセージが表示されている下側に、評価を行うための評価メニュー90が表示されている。ユーザが、この評価メニュー90をクリックすることによって、該当する情報に評価ポイントを加算することができる。
次に、知人とするユーザを登録する流れを説明する。サーバ11では、トップ画面80で知人登録メニュー85がクリックされたことを受け付けると、表示制御部50は、知人登録画面を端末12に表示させる。
図10は、知人登録画面の画面構成の一例を示す図である。知人登録画面100は、メールアドレス入力領域101と、登録ボタン102と、キャンセルボタン103とを有する。なお、知人登録画面100は、これ以外の入力領域やボタンが存在しても構わない。
メールアドレス入力領域101は、知人として登録するユーザのメールアドレスを入力する領域である。登録ボタン102は、メールアドレス入力領域101にメールアドレスが入力されたユーザの知人への登録を指示するボタンである。キャンセルボタン103は、知人の登録を中止してトップ画面80への遷移を指示するボタンである。
ユーザが、知人に登録したユーザのメールアドレスをメールアドレス入力領域101に入力して、登録ボタン102をクリックすると、ユーザのメールアドレス、知人登録コマンド、知人に登録するユーザのメールアドレスがサーバ11へ送信される。サーバ11は、これらの情報を受信すると、更新部52が知人に登録するユーザのメールアドレスが関係情報テーブル40に登録されているかどうかを確認する。サーバ11は、登録されている場合、関係情報テーブル40を更新する。サーバ11は、知人に登録するユーザのメールアドレスがシステムに登録されていない場合、エラー画面を表示させる。
例えば、ユーザAが、知人としてユーザBを登録する場合、図10に示すようにユーザBのメールアドレス「user-b@company.com」をメールアドレス入力領域101に入力して、登録ボタン102をクリックする。これにより、サーバ11は、関係情報テーブル40に、ユーザAの知人としてユーザBを登録する。
図11は、関係情報テーブルのデータ構成の一例を示す図である。図11の例は、図3に示した関係情報テーブルに、図10に示すように、ユーザAが知人としてユーザBを登録した状態を示している。図11に示すように、関係情報テーブル40は、ユーザAの知人ユーザ情報に、ユーザBのアドレス、user-b@company.comが登録されている。また、ユーザBは、ユーザAからの知人の登録に未許可であるため、許可済みフラグに「No」が格納されている。
表示制御部50は、知人が登録されると、知人として登録されたユーザに対して、知人の登録の許可を要求する知人登録許可画面を表示させる。例えば、図10に示す登録が行われた後で、ユーザBが端末12を用いてサーバ11へアクセスしてログインを行ってトップ画面80にアクセスすると、表示制御部50は、知人登録許可画面をユーザBの端末12に表示させる。
図12は、知人登録許可画面の画面構成の一例を示す図である。知人登録許可画面110は、OKボタン111と、キャンセルボタン112とを有する。OKボタン111は、他のユーザからの知人の登録を許可するボタンである。キャンセルボタン112は、他のユーザからの知人の登録を不許可とするボタンである。
図11に示すように、ユーザBは、ユーザAからの知人の登録に未許可であるため、許可済みフラグのフィールドに「No」が格納されている。ユーザBがOKボタン111をクリックすると、サーバ11へ知人登録を許可したユーザBのメールアドレス(“user-b@company.com”)、知人登録許可コマンド、知人登録を許可されたユーザAのメールアドレス(“user-a@company.com”)が送信される。サーバ11では、これらの情報を受信すると、更新部52が関係情報テーブル40を更新する。一方、ユーザBがキャンセルボタン112をクリックすると、知人の登録を中止してトップ画面80へ遷移する。
図13は、関係情報テーブルのデータ構成の一例を示す図である。図13の例は、図11に示した関係情報テーブルに、図13に示すように、ユーザBがユーザAからの知人の登録を許可した状態を示している。図13に示すように、関係情報テーブル40は、“user-b@company.com”のエントリが新たに追加され、“user-a@company.com”の“user-b@company.com”に対する許可済みフラグに「Yes」が格納されている。
表示制御部50は、許可済みフラグが「Yes」のユーザをトップ画面80の知人表示エリア82に表示させる。
図14は、トップ画面の画面構成の一例を示す図である。例えば、表示制御部50は、ユーザAがトップ画面80にアクセスすると、関係情報テーブル40を参照し、“user-a@company.com”の知人として“user-x@company.com“と“user-b@company.com”を取得する。そして、表示制御部50は、属性情報テーブル41を参照して、図14に示すように知人表示エリア82にユーザXとユーザBとを表示させる。
次に、知人として登録したユーザを削除する流れを説明する。サーバ11は、トップ画面80で知人削除メニュー86がクリックされたことを受け付けると、表示制御部50は、知人削除画面を端末12に表示させる。
図15は、知人削除画面の画面構成の一例を示す図である。知人削除画面120は、知人リストボックス121と、削除ボタン122と、キャンセルボタン123とを有する。
知人リストボックス121は、知人とされたユーザを表示する領域である。知人リストボックス121には、関係情報テーブル40に基づいて、ユーザが知人として登録した各ユーザが表示される。また、知人リストボックス121には、削除対象とするユーザを指定するチェックボックス124が表示される。削除ボタン122は、削除対象とされたユーザの知人からの削除を指示するボタンである。キャンセルボタン123は、知人の削除を中止してトップ画面80への遷移を指示するボタンである。
ユーザが、知人から削除対象とするユーザのチェックボックス124を選択して、削除ボタン112をクリックすると、ユーザのメールアドレス、知人削除コマンド、削除対象のユーザのメールアドレスがサーバ11へ送信される。サーバ11では、これらの情報を受信すると、更新部52が関係情報テーブル40を更新してユーザの知人から削除対象のユーザのメールアドレスを削除する。一方、ユーザBがキャンセルボタン123をクリックすると、知人の削除を中止してトップ画面80へ遷移する。
例えば、ユーザAが、知人リストボックス121からユーザBを選択して、削除ボタン112をクリックすると、ユーザAのメールアドレス(user-a@company.com)、知人削除コマンド、ユーザBのメールアドレス(user-b@company.com)がサーバへ送信される。サーバ11では、これらの情報を受信すると、ユーザAの知人からユーザBを削除する。
図16は、関係情報テーブルのデータ構成の一例を示す図である。図16の例は、図13に示した関係情報テーブルから、図15に示すように、ユーザAがユーザBを知人から削除を行った状態を示している。図16に示すように、関係情報テーブル40は、ユーザAの知人ユーザ情報からユーザBのレコードが削除されている。また、この削除の修正に伴い、ユーザBの許可済みフラグは、YesからNoに更新される。
次に、ユーザがメッセージを投稿する流れを説明する。サーバ11では、トップ画面80で情報登録メニュー87がクリックされたことを受け付けると、表示制御部50は、情報登録画面130を端末12に表示させる。
図17は、情報登録画面の画面構成の一例を示す図である。情報登録画面130は、情報入力領域131と、登録ボタン132と、キャンセルボタン133とを有する。
情報入力領域131は、投稿するメッセージを入力する領域である。登録ボタン132は、情報入力領域131に入力されたメッセージの投稿を指示するボタンである。キャンセルボタン133は、メッセージの投稿を中止してトップ画面80への遷移を指示するボタンである。
ユーザが、情報入力領域131にメッセージを入力して登録ボタン132をクリックすると、ユーザのメールアドレス、情報投稿コマンド、投稿内容の情報がサーバ11へ送信される。サーバ11では、これらの情報を受信すると、情報管理テーブル42を更新する。一方、ユーザがキャンセルボタン133をクリックすると、メッセージの登録を中止してトップ画面80へ遷移する。
例えば、ユーザAが、情報入力領域131に情報を入力して登録ボタン132をクリックすると、ユーザAのメールアドレス(user-a@company.com)、情報登録コマンド、投稿内容の情報がサーバ11へ送信される。サーバ11では、これらの情報を受信すると、更新部52が投稿されたメッセージを情報管理テーブル42に格納する。
図18は、情報管理テーブルのデータ構成の一例を示す図である。図18の例は、ユーザAが新たなメッセージを投稿した状態を示している。図18に示すように、情報管理テーブル42には、ユーザ情報が“user-a@company.com”、メッセージIDが“user-a-1”として、“B社から新しい・・・”のメッセージが格納されている。
例えば、ユーザAを知人に登録したユーザBがトップ画面80を表示すると、コミュニケーションシステムは、ユーザAが投稿したメッセージを表示させる。例えば、表示制御部50は、属性情報テーブル41と、関係情報テーブル40を参照し、ユーザBの知人としてユーザAを取得する。また、表示制御部50は、情報管理テーブル42を参照し、知人関係であるユーザAが登録したメッセージ及びユーザAが評価しているメッセージを検索し、トップ画面80に表示させる。
図19は、トップ画面の画面構成の一例を示す図である。図19の例は、図18に示すように、ユーザAを知人に登録したユーザBのトップ画面80を表示させた状態を示している。図19に示すように、ユーザBのトップ画面80の情報表示エリア83にユーザAが登録したメッセージが表示されている。
次に、ログアウトの流れを説明する。サーバ11では、トップ画面80でログアウトメニュー89がクリックされたことを受け付けると、表示制御部50は、ログアウト画面を表示させる。再度ログオンするには、前述の認証を再度行う。
次に、業務を変更する流れを説明する。サーバ11では、トップ画面80で業務変更メニュー88がクリックされたことを受け付けると、表示制御部50は、業務変更画面を端末12に表示させる。
図20は、業務変更画面の画面構成の一例を示す図である。業務変更画面140は、業務入力領域141と、登録ボタン142と、キャンセルボタン143とを有する。また、業務変更画面140は、属性情報テーブル41に基づいて、現在の業務が表示領域144に表示される。
業務入力領域141は、変更する業務名を入力する領域である。登録ボタン142は、業務入力領域141に入力された業務への変更を指示するボタンである。キャンセルボタン143は、業務の変更を中止してトップ画面80への遷移を指示するボタンである。
ユーザが、変更する業務名を業務入力領域141に入力して、登録ボタン142をクリックすると、ユーザのメールアドレス、業務登録コマンド、変更された業務の情報がサーバ11へ送信される。サーバ11では、これらの情報を受信すると、更新部52が属性情報テーブル41に登録されたユーザの業務を変更された業務に更新する。一方、ユーザBがキャンセルボタン143をクリックすると、業務の変更を中止してトップ画面80へ遷移する。
図20の例は、ユーザAが業務を変更するために業務変更画面140を表示させた状態を示している。例えば、ユーザAが、業務入力領域141に業務を入力して登録ボタン142をクリックすると、ユーザAのメールアドレス(user-a@company.com)、業務登録コマンド、入力された業務の情報がサーバ11へ送信される。サーバ11では、これらの情報を受信すると、更新部52が属性情報テーブル41に登録されたユーザの業務を変更された業務に更新する。
図21は、属性情報テーブルのデータ構成の一例を示す図である。図21の例は、図5に示した属性情報テーブル41から、図20に示す業務変更画面140により、ユーザAの業務を「M2M」から「ソーシャルメディア」に変更した状態を示している。図21に示すように、属性情報テーブル41は、ユーザAの関連業務に「ソーシャルメディア」が登録されている。
取得部51は、属性情報テーブル41において同じ属性を有し、関係情報テーブル40において他のユーザを介して間接的に結びつく各ユーザを特定する。
例えば、取得部51は、図21に示す属性情報テーブル41を参照し、ユーザAが登録した業務「ソーシャルメディア」を有する他のユーザを検索する。本実施例の場合、ユーザYが該当ユーザとして抽出される。続いて、取得部51は、図16の関係情報テーブル40を参照し、ユーザAとユーザYが知人でないことを確認する。続いて、取得部51は、ユーザAとユーザYに対する共通の知人を検索し、ユーザAと共通の知人、ユーザYと共通の知人との関係強度を取得する。本実施例の場合、ユーザXが共通の知人として抽出され、ユーザAとユーザXの関係強度3と、ユーザYとユーザXの関係強度2を取得する。
更新部52は、同じ属性を有し、他のユーザを介して間接的に結びつく各ユーザと当該他のユーザとの結びつきの強さが所定の追加条件を満たす場合、当該ユーザと、当該ユーザに間接的に結びつくユーザとの直接的な結びつきを追加する更新を行う。本実施例では、例えば、所定の追加条件を関係強度が3以上であるものとするが、追加条件はこれに限定されるものではない。
例えば、更新部52は、ユーザAとユーザX、ユーザYとユーザXの関係強度のうち、追加条件である関係強度3以上を満たすのは、ユーザAとユーザXの関係のみであると判断し、ユーザAからユーザYに情報を自動通知するための関係情報を追加する。すなわち、更新部52は、ユーザAとユーザYの共通の知人であるユーザXのそれぞれに対する関係強度を調べて、追加条件を満たすユーザを起点とする相手からもう一方の相手への関係情報を追加する。これによって、共通の知人との関係の強いユーザの登録情報が知人を介して間接的に結びつく各ユーザに伝わるようになる。
図22は、関係情報テーブルのデータ構成の一例を示す図である。図22の例は、図21に示すように、ユーザAの関連業務を「M2M」から「ソーシャルメディア」に変更した場合での更新内容が示されている。
例えば、更新部52は、図22に示すようにユーザ情報が“user-y@company.com”であるユーザYの配下に、知人ユーザ情報が“user-a@company.com”のエントリを追加する更新を行う。この際、更新部52は、許可済みフラグを「Yes」とし、関係強度を「0」(デフォルト値)とし、自動生成フラグを「Yes」として格納する。また、更新部52は、自動生成要因にユーザAとユーザYの共通業務である「ソーシャルメディア」と共通の知人である「ユーザX」を格納する。一方、本実施例の場合、ユーザXとユーザYとの関係強度が追加条件に達していないため、ユーザYからユーザAに情報を自動通知するための関係情報は生成されず、ユーザAからユーザYへの片方向の関係情報が生成される。
この状態で、例えば、ユーザYがトップ画面80を表示すると、コミュニケーションシステムは、ユーザAおよびユーザXが投稿したメッセージを表示させる。例えば、表示制御部50は、属性情報テーブル41と、関係情報テーブル40を参照し、ユーザYの知人としてユーザAおよびユーザXを取得する。また、表示制御部50は、情報管理テーブル42を参照し、知人関係であるユーザAおよびユーザXが登録したメッセージ及びユーザAおよびユーザXが評価しているメッセージを検索し、トップ画面80に表示させる。
図23は、トップ画面の画面構成の一例を示す図である。図23の例は、図22に示すように、ユーザAおよびユーザXが知人に登録されたユーザYのトップ画面80を表示させた状態を示している。図23に示すように、ユーザYのトップ画面80の情報表示エリア83にユーザAおよびユーザXが登録したメッセージが表示されている。ここで、ユーザYとユーザAの知人関係を自動で登録したため、表示制御部50は、情報表示エリア83において、ユーザAのメッセージをユーザXのメッセージと異なる表示態様で区別できるように表示する。また、表示制御部50は、知人表示エリア82において、ユーザAとユーザXを異なる表示態様で区別できるように表示する。すなわち、表示制御部50は、ユーザYが知人登録メニュー85で登録したユーザXと、システムにより知人を登録したユーザAが区別できるように別の外観で表示する。本実施例では、システムにより知人を登録したユーザAについて自動で生成したことを示すため、間接的に接続するユーザ名および関連業務名を追加して表示している。
ここで、例えば、ユーザXとユーザYの関係強度が3以上の場合、更新部52は、関係情報テーブル40にさらにユーザAの知人にユーザYが追加される。
図24は、関係情報テーブルのデータ構成の一例を示す図である。図24の例は、ユーザXとユーザYの関係強度が3以上の場合での更新内容が示されている。図24に示すように、関係情報テーブル40には、“user-a@company.com”の知人に“user-y@company.com”も追加され、ユーザAとユーザYの間に双方向の関係が生成される。
また、更新部52は、直接的な結びつきを追加したユーザ間の属性が異なるものとなった場合、当該ユーザ間の直接的な結びつきを前記関係情報から削除する更新を行う。例えば、ユーザAが業務変更メニュー88で業務を「ソーシャルメディア」から「コミュニケーション」に変更すると、更新部52は、属性情報テーブル41を更新後、前述した手順に従って自動生成する関係情報があるかどうかを判断する。さらに、更新部52は、自動生成要因に、属性が更新されたユーザの変更前の「ソーシャルメディア」が含まれるエントリを取得し、これらのエントリを削除する。これにより、ユーザ間で自動的に生成された関係は業務が共通しなくなった時点で削除される。
なお、本実施例では、業務情報の変更時には変更前の業務を含む自動生成された関係情報を削除するものとするが、これに限定されない。例えば、更新部52は、直接的な結びつきを追加したユーザ間の結びつきの強さが所定の削除条件を満たす場合、当該ユーザ間の直接的な結びつきを前記関係情報から削除する更新を行うものとしてもよい。例えば、更新部52は、自動生成した関係情報の関係強度が2以下の場合、変更前の業務を含む自動生成された関係を削除するようにして、関係強度が2よりも高い場合、変更前の業務を含む自動生成された関係を削除しないようにしてもよい。これによって、自動生成された関係であっても、ある程度互いの関係が強化された場合には、その関係が維持されることになり、ユーザの利便性が向上する。
また、更新部52は、自動生成された関係情報の関係強度が0のまま一定期間変わらない場合には、その関係を自動削除しても構わない。これによって、自動生成された関係であっても、ユーザに価値がないものであれば、その後情報通知に利用されることはなくなり、ユーザの利便性が高くなる。
次に、評価メニュー90がクリックされた場合の流れを説明する。ユーザが、トップ画面80の情報表示エリア83に表示された何れかのユーザのメッセージの評価メニュー90をクリックすると、評価したユーザのメールアドレス、評価コマンド、評価されたユーザのメールアドレス、メッセージIDがサーバ11へ送信される。例えば、図19の示すトップ画面80において、ユーザBがユーザAの登録した情報に対して、評価メニュー90をクリックした場合、ユーザBのメールアドレス、評価コマンド、ユーザAのメールアドレス、メッセージIDがサーバ11へ送信される。サーバ11では、これらの情報を受信すると、更新部52が評価情報テーブル43を更新する。
図25は、評価情報テーブルのデータ構成の一例を示す図である。図25の例は、図23に示すトップ画面80においてユーザBがユーザAの登録した情報に対して、評価メニュー90をクリックして評価の情報が登録された状態を示している。評価情報テーブル43は、ユーザ情報にユーザAのメールアドレス、メッセージIDに評価されたメッセージのメッセージID、評価ユーザ情報にユーザBのメールアドレス、評価日時に評価された日付がそれぞれ設定されたレコードが追加されている。
導出部53は、評価情報テーブル43を利用して、ユーザと評価ユーザとの間の関係強度を計算する。例えば、導出部53は、ユーザが他のユーザから評価された回数を、他のユーザ毎に求め、他のユーザ毎の評価された回数から関係強度を算出する。具体的には、ユーザが他のユーザから評価された回数が10回未満の場合、当該他のユーザの当該ユーザに対する関係強度を「0」とする。ユーザが他のユーザから評価された回数が10〜19回の場合、当該他のユーザの当該ユーザに対する関係強度を「1」とする。ユーザが他のユーザから評価された回数が20〜29回の場合、当該他のユーザの当該ユーザに対する関係強度を「2」とする。ユーザが他のユーザから評価された回数が30〜39回の場合、当該他のユーザの当該ユーザに対する関係強度を「3」とする。ユーザが他のユーザから評価された回数が40〜49回の場合、当該他のユーザの当該ユーザに対する関係強度を「4」とする。ユーザが他のユーザから評価された回数が50回以上の場合、当該他のユーザの当該ユーザに対する関係強度を「5」とする。
例えば、導出部53は、ユーザBのユーザAに対する関係強度を、図25に示すユーザ情報が“user-a@company.com”であり、評価ユーザ情報が“user-b@company.com”であるエントリを数えることで求める。本実施例では、1回だけ見つかるため、関係強度は0となる。なお、本方法によって求められた関係強度は増加するのみである。
なお、本実施例では、関係強度を通算の評価回数から導出するものとするが、これに限定されない。例えば、導出部53は、例えば、過去1ヶ月など所定期間毎の評価回数を用いることもできる。具体的には、導出部53は、図25に示すユーザ情報、評価ユーザ情報、評価日時のフィールドを使って、1日に1回、過去所定期間での評価回数を求め、前述の回数の基準に沿って関係強度を求めてもよい。本方法によって求められた関係強度は増減し、期間を決めることによって、古い関係が強いまま残ることがなくなり、ユーザの現在の状況に即した関係強度を求めることができる。もちろん、評価回数を求める頻度は一例であり、これ以外の頻度で行ってもよい。
また、導出部53は、登録された情報に対して、所定の応答を行った場合、登録元のユーザへの関係強度を高くする等によって、関係強度を計算してもよい。例えば、登録された情報に対してユーザがコメントの応答を行った場合、導出部53は、応答に対して大きな重み付けをして登録元のユーザへの関係強度を高く導出してもよい。
関係強度を計算した後、更新部52は、この計算値と関係情報テーブル40の関係強度の値が異なる場合には関係強度の値を計算値で変更する。
図26〜図28は、関係情報テーブルのデータ構成の一例を示す図である。例えば、図26に示すように、ユーザXのユーザYに対する関係強度が2から3に上昇すると、取得部51は、ユーザXの知人ユーザ情報のフィールドからユーザYのメールアドレス以外のユーザの関連業務を属性情報テーブル41から取得する。更新部52は、ユーザYと同じ属性のユーザが取得できた場合には、関係情報テーブル40の抽出されたユーザの知人ユーザ情報にユーザYを登録し、自動生成フラグ、自動生成要因に適切な値を格納する。本実施例では、図27に示すように、ユーザAの知人ユーザ情報にユーザYが追加される。このように、関係強度の変化によって、関係が生成されたり、片方向の関係が双方向に変更されたりする。なお、追加条件として関係強度が3とされている場合、更新部52は、関係強度が3から4に増えたり、4から5に増えたりした場合、知人関係を更新する処理を実行しなくてもよい。すなわち、更新部52は、追加条件を超える変化が発生した場合に知人関係を更新する処理を行えばよい。
また、例えば、図28に示すように、ユーザXのユーザYに対する関係強度が3から2に減少すると、更新部52は、関係情報テーブル40の知人ユーザ情報にユーザYのメールアドレスが格納され、かつ自動生成要因に“ユーザX”が含まれるエントリを検索する。このエントリが存在する場合、更新部52は、そのエントリを削除する。本実施例では、図28に示すように、ユーザ情報がユーザAの知人ユーザ情報がユーザYのレコードが削除される。このように、関係強度の変化によって、双方向の関係が片方向になったり、片方向の関係が削除されたりする。なお、削除条件として関係強度が2とされている場合、更新部52は、関係強度が4から3に減ったり、2から1に減った場合、知人関係を更新する処理を実行しなくてもよい。これによって、自動生成された関係であっても、ある程度互いの関係が強化された場合には、共通の知人との関係強度が弱くなっても、その関係が維持されることになり、ユーザの利便性が向上する。
なお、本実施例では、関係強度減少時に自動生成した関係情報を削除するようにしてもよい。
[処理の流れ]
次に、実施例1に係るサーバの処理の流れを説明する。最初に、サーバ11が端末12からアクセスを受け付けた際に認証を行う認証処理の流れについて説明する。図29は、認証処理の流れを示すフローチャートである。
図29に示すように、端末12からアクセスを受け付けると、表示制御部50は、アクセス元の端末12へログオン画面の画像情報を送信する(S10)。そして、表示制御部50は、ユーザID、パスワードなどの認証情報を受信したか否かを判定する(S11)。認証情報を受信していない場合(S11否定)、S10へ移行する。一方、認証情報を受信した場合(S11肯定)、表示制御部50は、受け付けたメールアドレスとパスワードを、ユーザが事前に登録したメールアドレスとパスワードと照合してユーザ認証を行う(S12)。表示制御部50は、認証が成功したか否かを判定する(S13)。認証が失敗した場合(S13否定)、上述のS10へ移行する。一方、認証が成功した場合(S13肯定)、表示制御部50は、トップ画面80の画像情報を生成する(S14)。例えば、表示制御部50は、属性情報テーブル41と、関係情報テーブル40を参照し、アクセス元のユーザと知人関係にあるユーザを特定する。そして、表示制御部50は、情報管理テーブル42を参照し、知人関係であるユーザが登録したメッセージ及び知人関係であるユーザが評価しているメッセージを検索し、検索されたメッセージを表示させたトップ画面80を生成する。表示制御部50は、生成した画像情報を端末12へ送信して端末12にトップ画面80を表示させ(S15)、処理を終了する。
次に、知人の登録、知人の削除、情報の登録、知人登録の許可の何れかが行なわれた際の処理の流れについて説明する。図30は、知人の登録、知人の削除、情報の登録、知人登録の許可の何れかが行なわれた際の処理の流れを示すフローチャートである。
図30に示すように、更新部52は、知人登録コマンドを受信したか否かを判定する(S20)。知人登録コマンドを受信した場合(S20肯定)、更新部52は、関係情報テーブル40に、許可済みフラグを「No」として、送信元のユーザの知人として、知人に登録するユーザのメールアドレスを登録し(S21)、後述するS28の処理へ移行する。
一方、知人登録コマンドを受信してない場合(S20否定)、更新部52は、知人登録許可コマンドを受信したか否かを判定する(S22)。知人登録許可コマンドを受信した場合(S22肯定)、更新部52は、知人登録が許可されたユーザと知人登録を許可したユーザについての関係情報テーブル40を追加および更新を行う(S23)。例えば、更新部52は、知人登録が許可されたユーザの知人登録を許可したユーザについての許可済みフラグのフィールドに「Yes」に更新する。また、更新部52は、関係情報テーブル40の知人登録を許可したユーザの知人ユーザ情報に、知人登録が許可されたユーザのメールアドレスを登録する。更新後、処理は、後述するS28の処理へ移行する。
一方、知人登録許可コマンドを受信してない場合(S22否定)、更新部52は、知人削除コマンドを受信したか否かを判定する(S24)。知人削除コマンドを受信した場合(S24肯定)、更新部52は、関係情報テーブル40の送信元のユーザの知人ユーザ情報から削除対象のユーザのメールアドレスを削除し(S25)、後述するS28の処理へ移行する。
一方、知人削除コマンドを受信してない場合(S24否定)、更新部52は、情報投稿コマンドを受信したか否かを判定する(S26)。情報投稿コマンドを受信した場合(S26肯定)、更新部52は、投稿されたメッセージを情報管理テーブル42に格納し(S27)、後述するS28の処理へ移行する。
表示制御部50は、トップ画面80の画像情報を生成する(S28)。例えば、表示制御部50は、属性情報テーブル41と、関係情報テーブル40を参照し、アクセス元のユーザと知人関係にあるユーザを特定する。そして、表示制御部50は、情報管理テーブル42を参照し、知人関係であるユーザが登録したメッセージ及び知人関係であるユーザが評価しているメッセージを検索し、検索されたメッセージを表示させたトップ画面80を生成する。表示制御部50は、生成した画像情報を端末12へ送信して端末12にトップ画面80を表示させ(S29)、処理を終了する。
一方、情報投稿コマンドを受信してない場合(S26否定)、処理を終了する。
次に、業務の登録が行なわれた際の処理の流れについて説明する。図31は、業務の登録が行なわれた際の処理の流れを示すフローチャートである。
図31に示すように、更新部52は、業務登録コマンドを受信したか否かを判定する(S40)。業務登録コマンドを受信していない場合(S40否定)、処理を終了する。
一方、業務登録コマンドを受信した場合(S40肯定)、更新部52は、属性情報テーブル41に登録されたユーザの業務を変更された業務に更新する(S41)。取得部51は、属性情報テーブル41を参照し、変更された業務と同じ業務が登録されたユーザを検索する(S42)。取得部51は、検索されたユーザを全て選択したか否かを判定する(S43)。検索されたユーザを全て選択した場合(S43肯定)、後述するS53の処理へ移行する。
一方、検索されたユーザを全て選択していない場合(S43否定)、取得部51は、検索されたユーザから未選択のユーザを選択する(S44)。取得部51は、関係情報テーブル40を参照し、選択したユーザは、業務が変更されたユーザの知人であるか判定する(S45)。業務が変更されたユーザの知人である場合(S45肯定)、上述のS43へ移行する。
一方、知人ではない場合(S45否定)、取得部51は、業務が変更されたユーザと選択されたユーザに対する共通の知人を検索する(S46)。取得部51は、共通の知人が検索されたか否かを判定する(S47)。共通の知人が検索されない場合(S47否定)、上述のS43へ移行する。
一方、共通の知人が検索された場合(S47肯定)、取得部51は、関係情報テーブル40を参照し、業務が変更されたユーザと共通の知人、選択されたユーザと共通の知人との関係強度を取得する(S48)。
更新部52は、業務が変更されたユーザと共通の知人との関係強度が追加条件を満たすか否かを判定する(S49)。関係強度が追加条件を満たす場合(S49肯定)、更新部52は、関係情報テーブル40に、業務が変更されたユーザから選択されたユーザへの知人関係を追加し(S50)、後述のS51へ移行する。一方、関係強度が追加条件を満たされない場合(S49否定)、後述のS51へ移行する。
更新部52は、選択されたユーザと共通の知人との関係強度が追加条件を満たすか否かを判定する(S51)。関係強度が追加条件を満たす場合(S51肯定)、更新部52は、関係情報テーブル40に、選択されたユーザから業務が変更されたユーザへの知人関係を追加し(S52)、上述のS43へ移行する。一方、関係強度が追加条件を満たされない場合(S51否定)、上述のS43へ移行する。
更新部52は、関係情報テーブル40から業務が変更されたユーザが変更前の業務で自動生成された知人関係のエントリを削除し(S53)、処理を終了する。
次に、コメントが評価された際の処理の流れについて説明する。図32は、コメントが評価された際の処理の流れを示すフローチャートである。
図32に示すように、更新部52は、評価コマンドを受信したか否かを判定する(S60)。評価コマンドを受信していない場合(S60否定)、処理を終了する。
一方、評価コマンドを受信した場合(S60肯定)、更新部52は、評価情報テーブル43に、評価されたユーザの識別情報、評価されたメッセージのメッセージID、評価したユーザの識別情報、評価した日付を登録する(S61)。導出部53は、評価情報テーブル43を利用して、評価されたユーザと評価したユーザとの間の関係強度を計算する(S62)。そして、ユーザ間の知人関係を更新する後述の知人関係更新処理を実行し(S63)、処理を終了する。
次に、所定期間毎に関係強度を更新する際の処理の流れについて説明する。図33は、所定期間毎に関係強度を更新する処理の流れを示すフローチャートである。
図33に示すように、導出部53は、前回の関係強度の更新から所定期間を経過した関係強度の更新タイミングであるか否かを判定する(S70)。更新タイミングではない場合(S70否定)、再度S70へ移行する。
一方、関係強度の更新タイミングである場合(S70肯定)、導出部53は、全ユーザ間の関係強度を再計算する(S71)。そして、知人関係を更新する後述の知人関係更新処理を実行し(S72)、処理を終了する。
次に、知人関係更新処理の流れについて説明する。図34は、知人関係更新処理の流れを示すフローチャートである。
図34に示すように、更新部52は、ユーザ間の関係強度が増加したか否かを判定する(S80)。ユーザ間の関係強度が増加した場合(S80肯定)、関係情報テーブル40の関係強度が増加したユーザ間の関係強度を更新する(S81)。更新部52は、関係強度が追加条件以上であるか否かを判定する(S82)。関係強度が追加条件以上ではない場合(S82否定)、処理を終了する。
一方、関係強度が追加条件以上である場合(S82肯定)、更新部52は、関係情報テーブル40に結びつきを追加し(S83)、処理を終了する。例えば、更新部52は、関係強度が追加条件以上となったユーザと同じ属性を有し、関係強度が追加条件以上である知人を介して間接的に結びつく各ユーザとの結びつきを関係情報テーブル40に追加する。
一方、ユーザ間の関係強度が増加していない場合(S80否定)、更新部52は、ユーザ間の関係強度が削除条件よりも減少したか否かを判定する(S84)。関係強度が削除条件よりも減少した場合(S84肯定)、更新部52は、関係情報テーブル40から削除条件よりも減少した知人関係のエントリを削除し(S85)、処理を終了する。
一方、ユーザ間の関係強度が削除条件よりも減少していない場合(S84否定)、処理を終了する。
[効果]
上述してきたように、本実施例に係るサーバ11は、ユーザ間の結びつきを示す関係情報およびユーザの属性を示す属性情報を取得する。そして、サーバ11は、取得された属性情報で同じ属性を有し、関係情報において他のユーザを介して間接的に結びつく各ユーザの当該他のユーザとの結びつきの強さに基づいて、間接的に結びつく各ユーザ間の関係情報を更新する。これにより、サーバ11は、結びつきを利用したユーザ間の価値ある情報の流通を促進できる。
また、本実施例に係るサーバ11は、ユーザが投稿した情報に対する、当該ユーザに結びつけられた他のユーザからの評価に基づいて、当該ユーザと当該他のユーザとの結びつきの強さを導出する。そして、サーバ11は、導出される結びつきの強さに基づいて、間接的に結びつく各ユーザ間の関係情報を更新する。これにより、サーバ11は、多く評価された他のユーザを介して間接的に結びつくユーザに価値ある情報の流通させることができる。
また、本実施例に係るサーバ11は、他のユーザを介して間接的に結びつく各ユーザと当該他のユーザとの結びつきの強さが所定の追加条件を満たす場合、当該ユーザと、当該ユーザに間接的に結びつくユーザとの直接的な結びつきを関係情報に追加する。これにより、サーバ11は、結びつきの強さが所定の追加条件を満たす他のユーザを介して間接的に結びつくユーザに価値ある情報の流通させることができる。
また、本実施例に係るサーバ11は、直接的な結びつきを追加したユーザ間の結びつきの強さが所定の削除条件を満たす場合、当該ユーザ間の直接的な結びつきを関係情報から削除する。これにより、サーバ11は、結びつきが弱くなったユーザの情報が表示されなくなるため、不要な情報の流通を抑制できる。
また、本実施例に係るサーバ11は、関係情報に自動で追加されたユーザ間の結びつきを、自動で追加された以外のユーザ間の結びつきと区別して表示させる。これにより、サーバ11は、表示からユーザに、自動で追加されたユーザ間の結びつきと、自動で追加された以外のユーザ間の結びつきを区別させることができる。