(57)【要約】      （修正有）【課題】ユーザにフレンドリストに登録されていない、友だちになれそうな他のユーザを紹介する方法及びプログラムを提供する。【解決手段】サーバ１００は、第１ユーザの友だちとして登録されている複数のユーザを示す第１フレンドリストと、第１フレンドリストに含まれていない第２ユーザの友だちとして登録されている複数のユーザを示す第２フレンドリストとを記憶する記憶部１２０と、第１フレンドリストに登録されているユーザと、第２フレンドリストに登録されているユーザとの、共通度合を算出する算出部と、共通度合に応じて、第２ユーザを第１ユーザに友だちの候補として提示する提示部１３２と、を備える。【選択図】図２
2016201047.tif 000002
【特許請求の範囲】
【請求項１】
第１ユーザの友だちとして登録されている複数のユーザを示す第１フレンドリストと、前記第１フレンドリストに含まれていない第２ユーザの友だちとして登録されている複数のユーザを示す第２フレンドリストとを記憶する記憶部と、
前記第１フレンドリストに登録されているユーザと、前記第２フレンドリストに登録されているユーザとの、共通度合を算出する算出部と、
前記共通度合に応じて、前記第２ユーザを前記第１ユーザに友だちの候補として提示する提示部とを備えるサーバ。
【請求項２】
前記算出部は、前記共通度合として、前記第１フレンドリストと前記第２フレンドリストとに共通して登録されているユーザの総数の、前記第１フレンドリストと前記第２フレンドリストとに登録されているユーザの総数に対する割合を算出することを特徴とする請求項１記載のサーバ。
【請求項３】
前記算出部は、前記共通度合として、前記第１フレンドリストと前記第２フレンドリストとに共通して登録されているユーザの総数の、前記第１フレンドリストに登録されているユーザの総数に対する割合を算出することを特徴とする請求項１記載のサーバ。
【請求項４】
前記記憶部は、さらに、複数のハッシュ関数を記憶しており、
前記判定部は、前記第１フレンドリスト及び前記第２フレンドリスト双方に対して前記複数のハッシュ関数各々を用いて複数の最小ハッシュ値を算出し、前記複数のハッシュ関数の個数に対して同じハッシュ関数を用いて算出された最小ハッシュ値が同じ値になっている比率を前記共通度合とする
ことを特徴とする請求項１記載のサーバ。
【請求項５】
前記提示部は、前記共通度合が所定の閾値以上である場合に、前記第２ユーザを前記第１ユーザに友だちの候補として提示することを特徴とする請求項１から３のいずれか一項に記載のサーバ。
【請求項６】
前記提示部は、さらに、前記共通度合に応じて前記第１ユーザを前記第２ユーザに友だちの候補として提示することを特徴とする請求項１から５のいずれか一項に記載のサーバ。
【請求項７】
前記提示部は、前記共通度合の高いユーザを知人である可能性が高いユーザとして提示することを特徴とする請求項１から６のいずれか一項に記載のサーバ。
【請求項８】
第１ユーザの友だちとして登録されている複数のユーザを示す第１フレンドリストと、前記第１フレンドリストに含まれていない第２ユーザの友だちとして登録されている複数のユーザを示す第２フレンドリストとを記憶する記憶ステップと、
前記第１フレンドリストに登録されているユーザと、前記第２フレンドリストに登録されているユーザとの、共通度合を算出する算出ステップと、
前記共通度合に応じて、前記第２ユーザを前記第１ユーザに友だちの候補として提示する提示ステップとを含む、コンピュータが実行するユーザ紹介方法。
【請求項９】
コンピュータに、
第１ユーザの友だちとして登録されている複数のユーザを示す第１フレンドリストと、前記第１フレンドリストに含まれていない第２ユーザの友だちとして登録されている複数のユーザを示す第２フレンドリストとを記憶する記憶機能と、
前記第１フレンドリストに登録されているユーザと、前記第２フレンドリストに登録されているユーザとの、共通度合を算出する算出機能と、
前記共通度合に応じて、前記第２ユーザを前記第１ユーザに友だちの候補として提示する提示機能とを実現させるユーザ紹介プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のユーザの中から条件に適合するユーザを紹介するサーバおよびユーザ紹介方法並びにユーザ紹介プログラムに関するものである。
【背景技術】
【０００２】
近年、同じシステムあるいはソフトウェアを利用するユーザ同士で、友だち登録を行い、システムあるいはソフトウェア上でのやり取りを容易にすることが行われている。また、そのシステム上において、友だち登録を行っていないユーザを紹介することも行われている。
その手法としては、例えば、ユーザの嗜好情報を登録しておき、その嗜好情報が合致する他のユーザを紹介するというものがある（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１３−６８９９７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記特許文献１に記載の手法では、ユーザの嗜好情報の登録が必要となり、そのような情報がない場合には、ユーザを紹介できないという問題がある。
【０００５】
そこで、本発明においては、上記問題に鑑みて、ユーザの嗜好情報のような情報がなくとも、従来とは異なる手法を用いて、ユーザに他のユーザを紹介するサーバ及びユーザ紹介方法並びにユーザ紹介プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本発明の一態様に係るサーバは、第１ユーザの友だちとして登録されている複数のユーザを示す第１フレンドリストと、第１フレンドリストに含まれていない第２ユーザの友だちとして登録されている複数のユーザを示す第２フレンドリストとを記憶する記憶部と、第１フレンドリストに登録されているユーザと、第２フレンドリストに登録されているユーザとの、共通度合を算出する算出部と、共通度合に応じて、第２ユーザを第１ユーザに友だちの候補として提示する提示部とを備える。
【０００７】
上記課題を解決するために、本発明の一態様に係るユーザ紹介方法は、第１ユーザの友だちとして登録されている複数のユーザを示す第１フレンドリストと、第１フレンドリストに含まれていない第２ユーザの友だちとして登録されている複数のユーザを示す第２フレンドリストとを記憶する記憶ステップと、第１フレンドリストに登録されているユーザと、第２フレンドリストに登録されているユーザとの、共通度合を算出する算出ステップと、共通度合に応じて、第２ユーザを第１ユーザに友だちの候補として提示する提示ステップとを含む。
【０００８】
上記課題を解決するために、本発明の一態様に係るユーザ紹介プログラムは、コンピュータに、第１ユーザの友だちとして登録されている複数のユーザを示す第１フレンドリストと、第１フレンドリストに含まれていない第２ユーザの友だちとして登録されている複数のユーザを示す第２フレンドリストとを記憶する記憶機能と、第１フレンドリストに登録されているユーザと、第２フレンドリストに登録されているユーザとの、共通度合を算出する算出機能と、共通度合に応じて、第２ユーザを第１ユーザに友だちの候補として提示する提示機能とを実現させる。
【発明の効果】
【０００９】
本発明の一態様に係るサーバ及びユーザ紹介方法並びにユーザ紹介プログラムは、互いに友だち登録していないユーザ同士について、それぞれのフレンドリストを用いて、共通のユーザが多い場合に互いに他方を紹介することができる。したがって、嗜好情報を登録する手間を省略することができる。
【図面の簡単な説明】
【００１０】
【図１】実施の形態に係る通信システムの構成を示すシステム図である。
【図２】実施の形態に係るサーバの機能構成を示すブロック図である。
【図３】（ａ）、（ｂ）は、フレンドリストの一例である。
【図４】サーバのユーザ検索処理を示すフローチャートである。
【図５】（ａ）、（ｂ）紹介情報を用いたユーザに提示する提示画面例である。
【発明を実施するための形態】
【００１１】
本発明の一実施態様について、図面を参照しながら説明する。
＜概要＞
図１は、実施の形態に係る通信システムのシステム図である。
【００１２】
図１に示すように、通信システムは、サーバ１００を含み、サーバ１００は、ネットワーク５００を介して、ユーザ端末２００やユーザ端末３００と接続される。ここでは、ユーザ端末２００およびユーザ端末３００は、サーバ１００により提供される同じサービスを享受している。当該サービスは、ユーザ同士を対応付けて、友だちとして登録する機能を含む。なお、図２では２つのユーザ端末しか示していないが、サービスに登録されているユーザは無数に存在するものとする。また、ユーザ端末２００とユーザ端末３００とは互いに友だちとして登録されていないものとする。
【００１３】
サーバ１００は、ユーザ端末に対して、他のユーザを紹介する機能を有し、友だち登録されていないユーザ同士であって、それぞれのユーザが友だち登録しているユーザの共通度合に応じて、両者に他方のユーザを紹介する。
以下、その詳細を説明する。
＜構成＞
図２は、サーバ１００の機能構成を示すブロック図である。
図２に示すように、サーバ１００は、通信部１１０と、記憶部１２０と、制御部１３０とを含んで構成される。
【００１４】
通信部１１０は、制御部１３０からの指示に従って、ネットワーク５００を介して、ユーザ端末２００やユーザ端末３００と通信を実行する機能を有する。当該通信は、有線、無線のいずれで実行されてもよく、また、互いの通信が実行できるのであれば、どのような通信プロトコルを用いてもよい。
通信部１１０は、制御部１３０からの指示に従って、ユーザ端末に他のユーザを紹介する紹介情報を送信する。
【００１５】
記憶部１２０は、サーバ１００が動作するうえで必要とする各種プログラムおよびデータを記憶する機能を有する。記憶部１２０は、サービスを利用しているユーザのユーザＩＤを記憶している他、それぞれのユーザがサービス内で友だちとして登録した他のユーザを示すフレンドリストを記憶している。フレンドリストの詳細については後述する。記憶部１２０は、典型的には、ＨＤＤ（Hard Disc Drive）、ＳＳＤ（Solid State Drive）、フラッシュメモリなど各種の記録媒体により実現される。
【００１６】
制御部１３０は、サーバ１００の各部を制御する機能を有するプロセッサである。制御部１３０は、サーバ１００が提供するサービスに関する処理を実行するものである。そのサービスの一環として制御部１３０は、あるユーザについて、所定の基準に従って、フレンドリストに登録されていない他のユーザを紹介する紹介情報をユーザ端末に通信部１１０を介して送信するユーザ紹介機能を有する。制御部１３０は、当該ユーザ紹介機能をいつ実行してもよく、例えば、一日の決まった時間に実行することとしてもよい。あるいは、サーバ１００が実行すべきその他の機能を実行していないタイミングで実行するとしてもよく、その場合にサーバ１００にとって処理効率がよい。
具体的には、制御部１３０は、判定部１３１と提示部１３２と登録部１３３とを含む。
【００１７】
判定部１３１は、ユーザ紹介機能を実行すると、無作為に選出したユーザＡと当該ユーザＡのフレンドリストに登録されていないユーザＢとを無作為に選出し、フレンドリストに登録されていないユーザＢが紹介基準を満たしているか否かを判定する。
【００１８】
判定部１３１は、無作為に選出したユーザＡのフレンドリスト３００を記憶部１２０から読み出す。そして、判定部１３１は、当該フレンドリスト３００に登録されていないユーザ（以下、ユーザＢという）を無作為に選出する。制御部１３０は、さらに、ユーザＢのフレンドリスト３１０を記憶部１２０から読み出す。
【００１９】
判定部１３１は、ユーザＡのフレンドリスト３００と、ユーザＢのフレンドリスト３１０とを参照し、以下の式（１）を用いて、ユーザＢをユーザＡに紹介する基準を満たしているか否かを判定するための指標値Ｓを算出する。
【００２０】
【数１】
2016201047.tif 000003
【００２１】
上記式（１）において、ＵＡＢは、ユーザＡとユーザＢ双方のフレンドリストに含まれるユーザの総数を意味し、以下の式（２）を用いて算出する。また、ＵＡは、ユーザＡのフレンドリストに含まれるユーザの総数を意味し、ＵＢは、ユーザＢのフレンドリストに含まれるユーザの総数を意味する。
【００２２】
【数２】
2016201047.tif 000004
【００２３】
上記式（２）において、ｕｉは、ユーザＡのフレンドリストに含まれるｉ番目のユーザを意味する。また、ｕｊは、ユーザＡのフレンドリストに含まれるｊ番目のユーザを意味する。Ｃｍｐは、比較関数であり、Ｃｍｐ（ｕｉ，ｕｊ）は、ｉ番目のユーザとｊ番目のユーザとが一致するときに１を、一致しないときに０を示す関数である。上記式（２）を用いれば、ユーザＡとユーザＢとに共通して登録されているユーザの総数をカウントすることができる。
【００２４】
そして、判定部１３１は算出した指標値Ｓが所定の閾値Ｔを超えているか否かを判定する。当該指標値Ｓが１に近いほど、共通の友人が多いユーザ同士ということになり、紹介する価値が高くなることを意味している。従って、所定の閾値Ｔとしては、０〜１の間の値であって、例えば、０．６などに設定する。
【００２５】
指標値Ｓが所定の閾値Ｔを超えた場合には、判定部１３１は、指標値Ｓが所定の閾値Ｔを超えたユーザＡの識別情報とユーザＢの識別情報とを提示部１３２に伝達する。
【００２６】
提示部１３２は、判定部１３１から伝達されたユーザＡの識別情報とユーザＢの識別情報とに基づいて、両ユーザに対して、他方のユーザを、友だちとして紹介する紹介情報を生成し、通信部１１０を介して、各ユーザに対応する紹介情報を送信する機能を有する。
判定部１３１は、指標値Ｓが所定の閾値Ｔを超えない場合には何もしないか、次のユーザ紹介処理を実行する。
【００２７】
登録部１３３は、通信部１１０からユーザによる他のユーザとの友だち登録要求を伝達されると、そのユーザのフレンドリストに伝達された他のユーザの識別情報を追加登録して記憶部１２０に記録する機能を有する。
以上が、サーバ１００の機能構成である。
【００２８】
ユーザ端末２００やユーザ端末３００は、サーバ１００から送信された紹介情報（友だち登録していないユーザを示す情報であって、例えば、ユーザＩＤやユーザネームが該当する）を表示し、それを見てユーザは、紹介されたユーザを友だち登録することができるので、サーバ１００は、サービス上で新たな交流の創出を担うことができる。
【００２９】
なお、ユーザ端末２００やユーザ端末３００の詳細については、従来の各種通信端末（例えば、スマートフォン、携帯電話、タブレット端末など）が有する機能を有しているものとして省略する。
＜データ＞
ここでは、本実施の形態に係るデータについて説明する。
【００３０】
図３は、サーバ１００の記憶部１２０に記憶されているフレンドリストの一例を示すデータ概念図である。ここでは、ユーザＡのサービス上のユーザＩＤが「ＵＩＤ００００１２１」であり、ユーザＢのサービス上のユーザＩＤが「ＵＩＤ００１０２５２」であるとする。
図３（ａ）は、ユーザ端末２００を所持するユーザＡの、サーバ１００が提供するサービスにおけるフレンドリスト３００の一例を示すデータ概念図である。
図３（ｂ）は、ユーザ端末３００を所持するユーザＢの、サーバ１００が提供するサービスにおけるフレンドリスト３１０の一例を示すデータ概念図である。
【００３１】
図３（ａ）、（ｂ）に示すように、フレンドリスト３００（３１０）は、ユーザＩＤ３０１（３１１）と当該ユーザＩＤで示されるユーザが友だち登録した他のユーザのフレンドユーザＩＤ３０２（３１２）が対応付けられた情報であり、サービス上における各ユーザの友人、知人を示す情報である。
ユーザＩＤ３０１（３１１）は、サーバ１００が各ユーザを認識するための識別情報である。
【００３２】
フレンドユーザＩＤ３０２（３１２）は、サーバ１００が提供するサービスにおいてユーザＩＤ３０１で示されるユーザが友だちとして登録したユーザの識別情報である。
【００３３】
図３（ａ）の例では、ユーザＩＤ「ＵＩＤ００００１２１」で示されるユーザは、知人として、ユーザＩＤ「ＵＩＤ００００４３９」、「ＵＩＤ０００５９０２」、「ＵＩＤ００２０８７６」、「ＵＩＤ０２０８１３３」、「ＵＩＤ０２９３４６７」、「ＵＩＳ０３３８８７４」、「ＵＩＤ０３３８８７５」で示されるユーザをフレンドとして登録している。
【００３４】
また、図３（ｂ）の例では、ユーザＩＤ「ＵＩＤ００１０２５２」で示されるユーザは、知人として、ユーザＩＤ「ＵＩＤ００００４３９」、「ＵＩＤ０００５９０２」、「ＵＩＤ００３９９２１」、「ＵＩＤ０２０８１３３」、「ＵＩＤ０２９３４６７」、「ＵＩＳ０３３１７２７」、「ＵＩＤ０３３８６２２」で示されるユーザをフレンドとして登録している。
【００３５】
また、図３（ａ）と図３（ｂ）を比較すればわかるように、ユーザＡとユーザＢとは互いに共通のユーザ、すなわち、ユーザＩＤ「ＵＩＤ００００４３９」、ユーザＩＤ「ＵＩＤ０００５９０２」、ユーザＩＤ「ＵＩＤ０２０８１３３」、ユーザＩＤ「ＵＩＤ０２９３４６７」で示されるユーザを友人、知人として登録しているものの、互いをフレンドとしては登録していない。
＜動作＞
図４は、サーバ１００によるユーザに新たな友だちの候補を提示する処理を示すフローチャートである。
図４に示すように、サーバ１００の判定部１３１は、サービスを提供しているサービスの中から無作為にユーザＡを選出する（ステップＳ４０１）。
判定部１３１は、選出したユーザＡのフレンドリストを記憶部１２０から読み出す（ステップＳ４０２）。
次に、判定部１３１は、読み出したユーザＡのフレンドリストに登録されていないユーザＢを無作為に選出する（ステップＳ４０３）。
そして、判定部１３１は、選出したユーザＢのフレンドリストを記憶部１２０から読み出す（ステップＳ４０４）。
【００３６】
判定部１３１は、読み出したユーザＡのフレンドリストと、ユーザＢのフレンドリストとを参照して、上記式（１）、式（２）を用いて、ユーザＡとユーザＢとを互いに紹介するか否かを判定するための指標値Ｓを算出する（ステップＳ４０５）。
指標値Ｓを算出すると、判定部１３１は、算出した指標値Ｓと所定の閾値Ｔとを比較する（ステップＳ４０６）。
【００３７】
指標値Ｓが閾値Ｔを超える場合には（ステップＳ４０６のＹＥＳ）、判定部１３１は、指標値Ｓを算出するのに参照したフレンドリストに対応するユーザＡ及びユーザＢを示す識別情報を提示部１３２に伝達する。
【００３８】
提示部１３２は、判定部１３１から伝達されたユーザＡの識別情報及びユーザＢの識別情報に基づいて、ユーザＡにユーザＢを紹介する紹介情報Ａを生成し、ユーザＢにユーザＡを紹介する紹介情報Ｂを生成する（ステップＳ４０７）。
提示部１３２は、通信部１１０を介してユーザＡに紹介情報Ａを送信し、ユーザＢに紹介情報Ｂを送信して（ステップＳ４０８）、終了する。
指標値Ｓが閾値Ｔを超えない場合には（ステップＳ４０６のＮＯ）、処理を終了する。
以上が、サーバ１００によるフレンドリストに登録されていないユーザを紹介するユーザ紹介処理の説明である。
【００３９】
サーバ１００からユーザ端末２００やユーザ端末３００に送信された紹介情報は、例えば、図５（ａ）及び図５（ｂ）に示すように表示される。
図５（ａ）は、ユーザ端末２００にユーザ端末３００のユーザを紹介する紹介情報に基づく紹介画面の一例である。
また、図５（ｂ）は、ユーザ端末３００にユーザ端末２００のユーザを紹介する紹介情報に基づく紹介画面の一例である。
【００４０】
図５（ａ）及び図５（ｂ）に示すように、それぞれのユーザ端末には、新たな友だち候補として、ユーザＩＤと対応する登録画像５００、５１０が表示される。なお、図５においては、ユーザＩＤを表示することとしているが、これは、サービス上においてユーザが登録したユーザ名であってもよい。また、登録画像５００、５１０はここでは一例として、それぞれのユーザの顔画像を表示する例を示しているが、これもユーザが登録した画像であればどのような画像であってもよい。
【００４１】
こうして表示された知人かもしれないユーザＩＤには、併せて登録ボタン５０１、５１１が表示される。当該登録ボタン５０１、５１１を押下する（タッチする）ことで、、当該操作情報がユーザ端末からサーバ１００に送信され、登録部１３３により当該ユーザが友だちとしてフレンドリストに追加登録されることになる。
【００４２】
＜まとめ＞
上記実施の形態に示したように、サーバ１００は、登録されているユーザ情報と、そのユーザのフレンドリストの情報だけで、新たなユーザを友だちの候補として紹介することができる。共通のユーザをフレンド登録しているユーザ同士は、知人同士である可能性が高く、そのようなユーザ同士に対して、他方を友だち登録される可能性の高い友だちの候補として紹介することができる。
＜変形例＞
【００４３】
上記実施の形態に本発明に係る発明の一実施態様を説明したが、本発明に係る思想がこれに限られないことは言うまでもない。以下、本発明に係る思想として含まれる各種変形例について説明する。
【００４４】
（１）上記実施の形態においては、上記式（１）に基づいて算出される指標値Ｓに応じてフレンドリストに登録されていないユーザを紹介するか否かを決定する例を示したが、これはその限りではない。ユーザを紹介するにあたって、フレンドリストの共通度合が高ければ紹介するという手法になっていれば、上記式（１）を用いる手法以外の手法を用いてもよく、例えば、式（１）に換えて下記式（３）を用いてもよい。
【００４５】
【数３】
2016201047.tif 000005
【００４６】
あるいは、ユーザＡに対してユーザＢを紹介するにあたって、ユーザＡとユーザＢとのフレンドリストに共通して登録されているユーザの総数（ＵＡＢ）の、ユーザＡのフレンドリストのユーザ総数（ＵＡ）に占める割合（ＵＡＢ／ＵＡ）が所定の閾値（例えば５割）を超えている場合に、紹介することとしてもよい。また、ユーザＢにユーザＡを紹介するにあたっては、ユーザＢのフレンドリストのユーザ総数（ＵＢ）に対する、ユーザＡとユーザＢとのフレンドリストに共通して登録されているユーザの総数（ＵＡＢ）の割合（ＵＡＢ／ＵＢ）が所定の閾値（例えば５割）を超えている場合に、紹介することとしてもよい。すなわち、サーバ１００は、あるユーザのフレンドリストにおいて、他のユーザのフレンドリストと合致するユーザが多いほど、当該他のユーザも友だちや知人である可能性が高く、その可能性の高い他のユーザを紹介することができる。
【００４７】
また、更には、ユーザと他のユーザとの間のフレンドリストの共通度合を、上記式（１）に換えて、以下の手法を用いて算出することとしてもよい。
まず、記憶部１２０に、データ集合に対して、最小ハッシュ値（完全最小ハッシュ値でもよい）を算出するためのものであって、互いに処理の少なくとも一部が異なるハッシュ関数をｋ（ｋは複数）個記憶する。
【００４８】
判定部１３１は、各ハッシュ関数を用いて、ユーザＡのフレンドリストの最小ハッシュ値を算出する。また、判定部１３１は、各ハッシュ関数を用いて、ユーザＢのフレンドリストの最小ハッシュ値を算出する。そして、判定部１３１は、ユーザＡのフレンドリストとユーザＢのフレンドリストに対して、同じハッシュ関数を用いて算出した最小ハッシュ値が等しくなるハッシュ関数の数ｎを算出する。そして、以下の式（４）を用いて、指標値Ｓを算出する。
【００４９】
【数４】
2016201047.tif 000006
【００５０】
そして、上記指標値Ｓとして、ｎ／ｋが所定値以上であるか否かを判定して、ユーザＡをユーザＢにあるいは、ユーザＢをユーザＡに紹介することとしてもよい。
ハッシュ関数は、入力されたデータ群を一様に異なるハッシュ値にマッピングしていく関数であり、そのフレンドリストの共通度合が高ければ、同じハッシュ関数を使えば、最小ハッシュ値が同じ値となる確率も高くなる。したがって、上記ｎ／ｋは、共通度合の指標値として十分にその役目を果たすことができる。
【００５１】
さらには、上記ｎ／ｋを用いた、下記式（５）から、指標値Ｓを算出することとしてもよい。
【００５２】
【数５】
2016201047.tif 000007
【００５３】
上記式（５）において、ｂは、最小ハッシュ値を算出するのに用いたハッシュ関数が何ビットのデータにマッピングするハッシュ関数であるかのビット数を示す値である。
【００５４】
（２）上記実施の形態においては、ステップＳ４０１において無作為にユーザＡを選出するとしているが、これは、サービスを享受している全ユーザに対して実行してもよいし、一部に対してのみ実行してもよい。また、一部に対して実行する場合には、サーバ１００によりユーザ紹介を受けている回数の少ないユーザから選出するとしてもよい。この場合には、提示部１３２は、各ユーザ毎にユーザ紹介を実行した回数をカウントして、記憶部１２０に記録しておくとよい。
【００５５】
（３）上記実施の形態においては、ステップＳ４０３において、ユーザＡのフレンドリストに登録されていないユーザＢを無作為に選出することとしているが、これはその限りではない。知人である可能性の高いユーザＢを紹介するために、例えば、先に、所定人数以上（例えば、３人）フレンドリストのユーザが一致するユーザを探索して、その結果の中から選出することとしてもよい。
【００５６】
（４）上記実施の形態においては、図４に示す処理をランダムなタイミングまたは、サーバ１００が他の処理を実行していないタイミングで実行することとしたが、これはその限りではない。
【００５７】
例えば、サーバ１００の判定部１３１は、図４に示す処理を、ユーザが、サーバ１００が提供するサービスを利用する複数のユーザにより形成されるグループに加入した際に実行してもよい。この場合には、ユーザＡがこのグループに加入したとして、当該ユーザＡと、ユーザＡのフレンドリストに含まれないユーザであって、グループに含まれる他のユーザＢを対象にして図４に示す処理を実行するとよい。当該グループは、サーバ１００が提供するサービスにおいて、ユーザ側がグループの解除を申請しなければ存続するグループであってもよいし、チャットを行うために一時的に形成されたトークグループなどであってもよい。
また、あるいは、判定部１３１は、あるユーザがメッセージを送信したとき、または、あるユーザがメッセージを受信したときに、上記図４に示す処理を実行することとしてもよい。この場合には、メッセージの送信元のユーザと送信先のユーザとの間で上記図４に示す処理を優先的に実行することとしてもよい。
【００５８】
また、サーバ１００の判定部１３１は、例えば、ユーザＡがあるオフィシャルアカウントをフォローしたときに、同じオフィシャルアカウントをフォローしている他のユーザとの間で、図４に示す処理を実行することとしてもよい。
【００５９】
また、あるいは、サーバ１００の判定部１３１は、例えば、ユーザＡがあるイベントに参加したことを表明したとき（例えば、サーバ１００が提供するサービスのうちにスケジュール管理が含まれる場合に、当該スケジュールで同じ日に同じ予定が組まれたときや、サーバ１００が提供するサービス上で何等かのイベントをユーザ側に提供する場合に）に、同じイベントに参加することを表明していて、ユーザＡのフレンドリストに含まれない他のユーザとの間で、図４に示す処理を実行することとしてもよい。
【００６０】
また、あるいは、サーバ１００の判定部１３１は、例えば、サーバ１００が提供するサービスの一環に何等かのサービスを提供する際の課金を実行する課金処理を含む場合であって、二以上のユーザが同じサービスを受けて、課金を折半したときに、図４に示す処理を実行することとしてもよい。
【００６１】
（５）上記実施の形態においては、算出した指標値を用いて、ユーザを友だちの候補として紹介するか否かの判断に用いることとしたが、指標値を用いた情報の提示方法はこの限りではない。
例えば、判定部１３１は、ユーザＡと、ユーザＡのフレンドリストに含まれるユーザそれぞれとの間で、図４に示す処理を実行し、指標値を算出する。そして、サーバ１００の制御部１３０は、ユーザＡが所有するユーザ端末Ａにおいて、フレンドリストを表示する際に指標値の高い順に並べることとしてもよい。すなわち、指標値を友だちとの親密度を測る指標として用い、フレンドリストにおける友だちのソート（仲が良いと目される順に並べる）に用いることとしてもよい。
【００６２】
また、あるいは、ユーザＡ及びユーザＢそれぞれのフレンドリストに基づいて算出された指標値が所定の閾値を超えると判定部１３１が判定した場合であって、ユーザＢがあるオフィシャルアカウントをフォローしているときに、提示部１３２は、ユーザＡに対して当該オフィシャルアカウントを推薦することとしてもよい。また、あるいは、提示部１３２は、ユーザＢが購入したサービスをユーザＡに紹介することとしてもよい。
【００６３】
（６）上記実施の形態においては、ユーザＡ及びユーザＢそれぞれのフレンドリストを用いて、指標値Ｓを算出することとしたが、ユーザＡ及びユーザＢそれぞれに固有の同種のデータ群であれば、フレンドリスト以外の他のデータ群を用いることとしてもよい。
例えば、サーバ１００の記憶部１２０は、ユーザＡ及びユーザＢそれぞれがサーバ１００から提供されるサービス上で購入した商品やサービスについての購入履歴情報を記憶する。
【００６４】
そして、判定部１３１は、図４に示す処理をユーザＡ及びユーザＢそれぞれのフレンドリストではなく、それぞれの購入履歴情報を対象に、指標値Ｓを算出することとしてもよい。そして、提示部１３２は、購入履歴情報を基にして算出した指標値Ｓが所定の閾値を超える場合に、お互いにユーザを友だち候補として推薦してもよい。
また、その場合には、お互いを紹介するのではなく、例えば、ユーザＡが購入していない商品であって、ユーザＢが購入した商品を、ユーザＡに紹介することとしてもよい。また、その逆であってもよい。
【００６５】
（７）上記実施の形態においては、判定部１３１は、フレンドリストに含まれるすべてのユーザを用いて、図４に示す処理を実行することとしたが、これはその限りではない。
判定部１３１は、双方のユーザのフレンドリストそれぞれから、当該フレンドリストに含まれる一部（例えば、７割）を抽出し、抽出した複数のユーザを対象として、指標値Ｓを算出することとしてもよい。こうすることで、判定部１３１の計算量を抑制するとともに、指標値Ｓを算出するに至るまでの計算時間を短縮することができる。
【００６６】
（８）サーバ１００の各機能部は、集積回路（ＩＣ（Integrated Circuit）チップ、ＬＳＩ（Large Scale Integration））等に形成された論理回路（ハードウェア）や専用回路によって実現してもよいし、ＣＰＵ（Central Processing Unit）およびメモリを用いてソフトウェアによって実現してもよい。また、各機能部は、１または複数の集積回路により実現されてよく、複数の機能部の機能を１つの集積回路により実現されることとしてもよい。ＬＳＩは、集積度の違いにより、ＶＬＳＩ、スーパーＬＳＩ、ウルトラＬＳＩなどと呼称されることもある。
【００６７】
サーバ１００の各機能部をソフトウェアにより実現する場合、サーバ１００またはユーザ端末２００やユーザ端末３００は、各機能を実現するソフトウェアである検索プログラムの命令を実行するＣＰＵ、上記検索プログラムおよび各種データがコンピュータ（またはＣＰＵ）で読み取り可能に記録されたＲＯＭ（Read Only Memory）または記憶装置（これらを「記録媒体」と称する）、上記検索プログラムを展開するＲＡＭ（Random Access Memory）などを備えている。そして、コンピュータ（またはＣＰＵ）が上記検索プログラムを上記記録媒体から読み取って実行することにより、本発明の目的が達成される。上記記録媒体としては、「一時的でない有形の媒体」、例えば、テープ、ディスク、カード、半導体メモリ、プログラマブルな論理回路などを用いることができる。また、上記検索プログラムは、当該検索プログラムを伝送可能な任意の伝送媒体（通信ネットワークや放送波等）を介して上記コンピュータに供給されてもよい。本発明は、上記検索プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。
【００６８】
なお、上記検索プログラムは、例えば、ActionScript、JavaScript（登録商標）などのスクリプト言語、Objective-C、Java（登録商標）などのオブジェクト指向プログラミング言語、HTML5などのマークアップ言語などを用いて実装できる。
【００６９】
（９）本発明を諸図面や実施例に基づき説明してきたが、当業者であれば本開示に基づき種々の変形や修正を行うことが容易であることに注意されたい。従って、これらの変形や修正は本発明の範囲に含まれることに留意されたい。例えば、各手段、各ステップ等に含まれる機能等は論理的に矛盾しないように再配置可能であり、複数の手段やステップ等を１つに組み合わせたり、或いは分割したりすることが可能である。
（１０）上記実施の形態および各種変形例に示す構成を適宜組み合わせることとしてもよい。
＜補足＞
ここで、本発明に係るサーバ、コンピュータの制御方法および情報処理装置について、その一実施態様と、当該態様により奏する効果を説明する。
【００７０】
（ａ）本発明に係るサーバは、第１ユーザの友だちとして登録されている複数のユーザを示す第１フレンドリストと、前記第１フレンドリストに含まれていない第２ユーザの友だちとして登録されている複数のユーザを示す第２フレンドリストとを記憶する記憶部と、前記第１フレンドリストに登録されているユーザと、前記第２フレンドリストに登録されているユーザとの、共通度合を算出する算出部と、前記共通度合に応じて、前記第２ユーザを前記第１ユーザに友だちの候補として提示する提示部とを備える。
【００７１】
また、本発明に係るユーザ紹介方法は、第１ユーザの友だちとして登録されている複数のユーザを示す第１フレンドリストと、前記第１フレンドリストに含まれていない第２ユーザの友だちとして登録されている複数のユーザを示す第２フレンドリストとを記憶する記憶ステップと、前記第１フレンドリストに登録されているユーザと、前記第２フレンドリストに登録されているユーザとの、共通度合を算出する算出ステップと、前記共通度合に応じて、前記第２ユーザを前記第１ユーザに友だちの候補として提示する提示ステップとを含む。
【００７２】
また、本発明に係るユーザ紹介プログラムは、コンピュータに、第１ユーザの友だちとして登録されている複数のユーザを示す第１フレンドリストと、前記第１フレンドリストに含まれていない第２ユーザの友だちとして登録されている複数のユーザを示す第２フレンドリストとを記憶する記憶機能と、前記第１フレンドリストに登録されているユーザと、前記第２フレンドリストに登録されているユーザとの、共通度合を算出する算出機能と、前記共通度合に応じて、前記第２ユーザを前記第１ユーザに友だちの候補として提示する提示機能とを実現させる。
これにより、ユーザにフレンドリストに登録されていないユーザであって、友人になりやすそうなユーザを紹介することができる。
【００７３】
（ｂ）上記（ａ）に係るサーバにおいて、前記算出部は、前記共通度合として、前記第１フレンドリストと前記第２フレンドリストとに共通して登録されているユーザの総数の、前記第１フレンドリストと前記第２フレンドリストとに登録されているユーザの総数に対する割合を算出することとしてもよい。
【００７４】
これにより、上記割合に基づいてユーザを紹介することができる。例えば、上記割合が高ければ、共通の友人が多いことになり、そのようなユーザ同士は友だちになりやすいと考えられるので、友だち候補として適切と思われるユーザを紹介することができる。
【００７５】
（ｃ）上記（ａ）に係るサーバにおいて、前記算出部は、前記共通度合として、前記第１フレンドリストと前記第２フレンドリストとに共通して登録されているユーザの総数の、前記第１フレンドリストに登録されているユーザの総数に対する割合を算出することとしてもよい。
【００７６】
これにより、上記割合に基づいてユーザを紹介することができる。例えば、上記割合が高ければ、共通の友人が多いことになり、そのようなユーザ同士は友だちになりやすいと考えられるので、友だち候補として適切と思われるユーザを紹介することができる。
【００７７】
（ｄ）上記（ａ）に係るサーバにおいて、前記記憶部は、さらに、複数のハッシュ関数を記憶しており、前記判定部は、前記第１フレンドリスト及び前記第２フレンドリスト双方に対して前記複数のハッシュ関数各々を用いて複数の最小ハッシュ値を算出し、前記複数のハッシュ関数の個数に対して同じハッシュ関数を用いて算出された最小ハッシュ値が同じ値になっている比率を前記共通度合とすることとしてもよい。
これにより、サーバは、ハッシュ関数を用いて最小ハッシュ値の算出と、その比較という簡単かつ演算量の少ない処理で、二人のユーザを互いに友だちの候補として紹介するか否かについての指標を算出することができる。
【００７８】
（ｅ）上記（ａ）〜（ｄ）のいずれかに係るサーバにおいて、前記提示部は、前記共通度合が所定の閾値以上である場合に、前記第２ユーザを前記第１ユーザに友だちの候補として提示することとしてもよい。
これにより、閾値を適切に設定すれば、より適切なユーザを紹介することができる。
【００７９】
（ｆ）上記（ａ）〜（ｅ）のいずれかに係るサーバにおいて、前記提示部は、さらに、前記共通度合に応じて前記第１ユーザを前記第２ユーザに友だちの候補として提示することとしてもよい。
これにより、二人のユーザ双方に他方を紹介することができる。
【００８０】
（ｇ）上記（ａ）〜（ｆ）のいずれかに係るサーバにおいて、前記提示部は、前記共通度合の高いユーザを知人である可能性が高いユーザとして提示することとしてもよい。
これにより、サーバは、知人である可能性が高いユーザを友だち候補として提示することができる。したがって、知人同士でありながら、同じサービスを受けていることに気づいていないユーザ同士を、互いが同じサービスを利用していることを気づかせることができる。
【符号の説明】
【００８１】
１００  サーバ
１１０  通信部
１２０  記憶部
１３０  制御部
１３１  判定部
１３２  提示部
１３３  登録部
２００  ユーザ端末
３００  ユーザ端末
５００  ネットワーク
【図１】
2016201047.tif 000008
【図２】
2016201047.tif 000009
【図３】
2016201047.tif 000010
【図４】
2016201047.tif 000011
【図５】
2016201047.tif 000012