説明

オンラインサービスを提供するサーバ

【課題】各Webサービス間でのソーシャルグラフの情報を共有する。
【解決手段】WebサービスXにおいて、各利用者の認識票に不可逆演算を施し、WebサービスXにおけるソーシャルグラフを、演算済認識票の匿名ソーシャルグラフに変換して、ネットワークサービスNのサーバに送信する。WebサービスY、WebサービスZも同様の処理により各々の匿名ソーシャルグラフを、ネットワークサービスNのサーバに送信する。ネットワークサービスNのサーバでは、各Webサービスから得た匿名ソーシャルグラフを合成し、合成匿名ソーシャルグラフを生成する。ネットワークサービスNのサーバは、この合成匿名ソーシャルグラフから、他サービスにおける知人もしくは間接的な知人の演算済認識票を各Webサービスに送信する。

【発明の詳細な説明】
【技術分野】
【0001】
本願発明は、複数のサーバが連携してオンラインサービスを提供する情報処理に関する。
【背景技術】
【0002】
近年、インターネット上で利用者同士の繋がりを構築および促進する、ソーシャル・ネットワーキング・サイト(SNS)と呼ばれる、コミュニティ型のWebサービスの普及が著しい(例えば、特許文献1参照。)。SNSとしてたとえば非特許文献1などに開示されるウェブサイトが知られている。
【0003】
最近ではSNSに限らず、SNSと同様なサービスであり、利用者同士の繋がりを管理する機能を有するWeb上でのサービスが急速に増加している。検索、写真や動画の共有、販売、チャットや音声によるメッセージ交換などを目的とするインターネット上で提供されるあらゆるサービスの提供においても、利用者同士の繋がりを構築および促進する目的でSNSと同様の機能が提供されている。本明細書ではこれ以後、サービスの主たる目的を問わず、利用者同士の繋がりを管理する機能を有するWeb上でのサービスを「Webサービス」と呼ぶ。現在ほとんどの利用者は、複数のWebサービスを利用している。そして、各々のWebサービスで各々異なる知人を持ち、異なる方法でコミュニケーションをおこない、さらに異なる情報を開示し合うことができる。このような状況で利用者は、以下の2つの要求を持っていると考えられる。
【0004】
第1の要求は、複数のWebサービスにまたがる統一的なインターフェースに対する要求である。ほとんどの利用者が複数のWebサービスを使う結果、Webサービスごとの情報管理が困難になっている。利用者は、誰とどのWebサービスでコミュニケーションがとれるのか、誰にどのWebサービスでどの情報を開示しているのかを一括して管理する方法が存在しない。このような状況で、複数のWebサービスを統一的に扱うことのできるサービスが望まれているのである。
【0005】
これに対して、Webサービス間で扱われる情報を融通し合うことで、利用者に対して統一的なインタフェイスを提供するための枠組みが提案されている(例えば、非特許文献2参照。)これは、各Webサービスが統一的なAPI(Application Program Interface)を公開し、Webサービス内部の知人のリスト、知人関係、各利用者が登録している情報などを、外部のサーバから取得できるようにするための標準規格を用いている。しかし、このような方法では、それまで各Webサービスの提供者が保有していた情報が外部に流出する虞がある。これは、ほとんどのWebサービスの提供者にとって、主として事業的な観点から好ましくない。したがって、公開されたAPIを通じた情報の融通が使われるのは一部SNSに限られ、広くWebサービス全般に使われているわけではない。
【0006】
第2の要求は、複数のWebサービスにまたがって、もっと有効に新たな利用者と知人になり、人的ネットワークを拡げたいという要求である。たとえば、SNSサービス上で、互いに日記を投稿したりメッセージ交換をしている人同士は、チャットや音声通話のWebサービス上でも知人同士になりたいと思うかもしれない。または、知人の知人という、いわば間接的な知人と有効に知り合いになることができれば、より人間関係を拡げることができるかもしれない。
【0007】
Webサービスで知人同士が知り合うためには通常、ある利用者が自分についての様々な情報の入力や登録を行う。別の利用者は、前記利用者が入力した情報を検索することで、Webサービス上での知人となる利用者の候補(知人候補)を発見し、新たな人間関係を構築する。例えば、各利用者は感心を持っている事柄や、出身地、居住地、出身学校などをWebサービスのサーバに登録しておき、各利用者がこれらを検索することで、知人候補を発見する。検索対象として実名や電子メールアドレスが使われるWebサービスもある。このようなWebサービスは実名性が高い。また、、ニックネームや感心を持っている事柄といった匿名性の高い情報だけで知人候補を探すWebサービスもある。通常、このような知人候補の発見は、利用者が能動的に検索語をWebサービスに送信する、いわば能動的な検索操作によっておこなわれる。
【0008】
一方で、利用者による能動的な検索操作をともなわない、知人候補の推薦サービスの提供が考えられる。知人候補の推薦サービスにおける知人候補選択の従来の方法として、以下の2つの方法が考えられる。第1の方法としては、Webサービスの利用者があらかじめ入力した各自についての属性情報が一致または類似する他の利用者を知人候補として自動的に選択し、これらを推薦する方法である。たとえば、ある利用者がサッカーを関心事項としてWebサービスに登録している場合、同じくサッカーを関心事項としてこのWebサービスに登録している別の利用者を、知人候補として推薦する(例えば、非特許文献3参照。)。
【0009】
自動的な知人候補の推薦サービスにおける知人候補の選択の第2の方法としては、そWebサービス内において共通の知人を持っている利用者を知人候補として推薦する方法が知られている(例えば、非特許文献4参照。)。たとえばWebサービスXにおいて、利用者Aと利用者Bが知人関係にあり、利用者Bと利用者Cが知人関係にあるが、利用者Aと利用者Cは知人関係にないとする。この時、利用者Aと利用者Cは、利用者A、B、およびCと無関係の他の利用者に比べて知人になる可能性が高い。このためこのWebサービスXは利用者Aに対して利用者Cを、また利用者Cに対して利用者Aを、各々知人候補として推薦する。
【特許文献1】米国特許第7,069,308明細書
【非特許文献1】http://www.myspace.com
【非特許文献2】http://code.google.com/intl/en/apis/opensocial/
【非特許文献3】http://vkontakte.ru/
【非特許文献4】http://www.facebook.com/
【非特許文献5】http://www.foaf-project.org/
【発明の開示】
【発明が解決しようとする課題】
【0010】
図1を用いて、本願発明が解決しようとしている課題について説明する。図1は、黒点のノードで利用者を、実線のエッジでWebサービスXにおける知人関係を、また破線のエッジでWebサービスYにおける知人関係を表している。たとえば図1は、WebサービスX上での認識票IDxaを持つ利用者A101とIDxbを持つ利用者B102とは、WebサービスX上での知人関係111にある。同様にWebサービスY上で認識票IDyaを持つ利用者AはIDydを持つ利用者Dと知人関係112にある。なお、本明細書においては、WebサービスSで利用者Tを一意に識別するための認識票をIDstと表現する。たとえば図1に示すIDxaは、利用者AをWebサービスXで一意に認識するための認識票である。図1では利用者Aは、WebサービスXおよびWebサービスYの2つのサービスを使っている。利用者BはWebサービスX上での、利用者DはWebサービスY上での知人である。本願発明が解決しようとしている課題は主として2つある。
【0011】
第一の課題は、各Webサービスの独立性を維持しつつ、利用者がWebサービスの枠を超えた知人の管理が実現し難いという問題である。図1の一例において、利用者Aは、異なるWebサービス上で知人関係にある利用者Bおよび利用者Dを一括して取り扱えるとより便利になる。例えば、いま、利用者Aが利用者Dの情報をWebサービスXの上で閲覧することを考える。このためにはWebサービスYの情報をWebサービスXのサーバが取得する必要がある。しかし、Webサービス内における知人関係は、各Webサービスの運営者にとって、収益源とみなされている。このため、WebサービスYの運営者はこれがWebサービスXのサーバに流出することを嫌う傾向がある。従来の方法では、各Webサービスの独立性が損なわれることが原因で、Webサービスの枠を超えた、利用者の情報の柔軟な融通は実現が難しかった。
【0012】
第二の課題は、各Webサービスの独立性を維持しつつ、Webサービスの枠を超えた知人候補の推薦サービスが実現し難いという問題である。前述のように利用者AはWebサービスの枠を超えてもっと新しい知人と人間関係を築きたいという要求を持っている。この際知人の知人を、新たな知人候補として推薦するというサービスは既に実現している。たとえば、図1において利用者E、利用者Cともに利用者Aの間接的な知人である。ここでは、利用者Aと利用者Eの間には1人の共通の知人がおり、利用者Aと利用者Cの間には2人の共通の知人がいる。従って、利用者Aにとっては利用者Cの方が利用者Eよりも重要な知人候補と考えられる。しかし、利用者Aと利用者Cとの間に2人の共通の知人がいるという事実は、WebサービスXの事業者もWebサービスYの事業者も検知できない。利用者Aと利用者Cの間に2人の共通の知人がいるという事実は、WebサービスYの利用者の情報をWebサービスXのサーバが入手するか、その逆か、あるいは第三者であるWebサービスMがWebサービスXおよびYの両方の利用者の情報を収集して解析する必要がある。しかし、Webサービス内における知人関係は、各Webサービスの運営者にとって、収益源とみなされている。このため、Webサービスの事業者は、その保有する知人関係が他の事業者が運営するサーバに流出することを嫌う傾向がある。従来の方法では、各Webサービスの独立性が損なわれることが原因で、Webサービスの枠を超えた、知人候補の的確な推薦は困難または不可能であった。
【0013】
現実には、インターネットの利用者のほとんどが、複数のWebサービスを使い、かつ各々のWebサービスで図1に例示するような、異なる知人関係を有している。しかし、上述の自動的な知人候補の推薦サービスにおいて、候補選択に使われる属性情報および知人関係の情報は、1つのWebサービスのサーバに保存されている情報に限定される。もし複数のWebサービスにおける属性情報や知人関係を、知人候補の推薦サービスにおける候補選択に利用できれば、各Webサービスにおいて、より多くの知人候補を推薦し、またより多くの共通の知人のいる知人候補を優先的に推薦できる。しかし、このようなWebサービスの提供は従来の方法では不可能であった。
【0014】
本願発明は、このような状況に鑑みてなされたものであり、各々のWebサービスがその保有する情報を外部に公開することなく、複数のWebサービスの属性情報や知人関係を統合して扱えるようになり、かつより広範でより的確な知人候補の推薦サービスを実現する方法を提供する。
【課題を解決するための手段】
【0015】
本発明の一実施形態では、第1のWebサービスを利用する利用者を前記第1のWebサービスの利用者の中で一意に特定するための第1の認識票に前記第1のWebサービスの第1のサーバで演算を施した第1の演算済認識票、および第2のWebサービスを利用する前記利用者を前記第2のWebサービスの利用者の中で一意に特定するための第2の認識票に前記第1のサーバで前記演算を施した第2の演算済認識票を、前記第1のサーバより受信する受信手段と、前記第2の認識票に前記第2のWebサービスの第2のサーバで前記演算を施した第3の演算済認識票を、前記第2のサーバより受信する受信手段と、前記第3の演算済認識票を検索キーとして、前記第1のサーバおよび前記第2のサーバから受信した演算済認識票を検索して、前記第2の演算済認識票と前記第3の演算済認識票の一致を検出する検索手段と、前記第1のWebサービスの利用者の集合と前記第2のWebサービスの利用者の集合の和集合の中で前記利用者を一意に特定するための第3の認識票に関連づけて、前記第2の演算済認識票および前記第3の演算済認識票を記憶する記憶手段と、を有することを特徴とするサーバ装置が提供される。
【0016】
本発明の別の一実施形態では、Webサービスを提供するためのサーバ装置であって、前記Webサービスの利用者の中で第1の利用者を一意に特定するための、第1の認識票に非可逆演算を施した第1の演算済認識票と、前記第1の利用者と前記Webサービスにおいて関係を持つ前記Webサービスの第2の利用者を前記Webサービスの利用者の中で一意に特定するための、第2の認識票に前記非可逆演算を施した第2の演算済認識票を、関連づけた状態で送信する送信手段を有することを特徴とするサーバ装置が提供される。
【0017】
本発明のさらに別の一実施形態では、Webサービスの利用者の中で第1の利用者を一意に特定するための、第1の認識票に非可逆演算を施した第1の演算済認識票と、前記第1の利用者と前記Webサービスにおいて関係を持つ第2の利用者を前記利用者の中で一意に特定するための、第2の認識票に前記非可逆演算を施した第2の演算済認識票を、前記Webサービスのサーバより受信する受信手段を有することを特徴とするサーバ装置が提供される。
【0018】
本発明のさらに別の一実施形態では、第1のWebサービスを使う第1の利用者を前記第1のWebサービスの利用者の中で一意に特定するための第1の認識票に演算を施した第1の演算済認識票と、前記第1の利用者と前記第1のWebサービスにおいて関係を持つ前記第1のWebサービスを使う第2の利用者を、前記第1のWebサービス利用者の中で一意に特定するための第2の認識票に前記演算を施した第2の演算済認識票を、前記第1のWebサービスを提供する第1のサーバより受信する受信手段と、第2のWebサービスを使う前記第1の利用者を前記第2のWebサービスの利用者の中で一意に特定するための第3の認識票に演算を施した第3の演算済認識票と、前記第1の利用者と前記第2のWebサービスにおいて関係を持つ前記第2のWebサービスを使う第3の利用者を、前記第2のWebサービス利用者の中で一意に特定するための第4の認識票に前記演算を施した第4の演算済認識票を、前記第2のWebサービスを提供する第2のサーバより受信する受信手段と、を有することを特徴とするサーバ装置が提供される。
【0019】
本発明のさらに別の一実施形態では、第1のWebサービスを使う第1の利用者を前記第1のWebサービスの利用者の中で一意に特定するための第1の認識票に第1の演算を施した第1の演算結果と、前記第1の利用者と前記第1のWebサービスにおいて関係を持つ前記第1のWebサービスを使う第2の利用者を、前記第1のWebサービス利用者の中で一意に特定するための第2の認識票に前記第1の演算を施した第2の演算済認識票と、前記第2の利用者と前記第1のWebサービスにおいて関係を持つ前記第1のWebサービスを使う第3の利用者を、前記第1のWebサービスの利用者の中で一意に特定するための第3の認識票に前記第1の演算を施した第3の演算済認識票と、前記第1の利用者と前記第2の利用者との間の第1の親密度係数と、前記第2の利用者と前記第3の利用者との間の第2の親密度係数とを前記第1のWebサービスを提供する第1のサーバより受信する受信手段と、前記第1の親密度係数と前記第2の親密度係数に第2の演算を施して第3の親密度係数を計算する演算手段と、前記第3の親密度係数を第2のWebサービスの第2のサーバに送信する送信手段を有することを特徴とするサーバ装置が提供される。
【0020】
本発明のさらに別の一実施形態では、第1のWebサービスを使う第1の利用者を前記第1のWebサービスの利用者の中で一意に特定するための、第1の認識票に第1の演算を施した第1の演算結果と、前記第1の利用者と前記第1のWebサービスにおいて関係を持つ前記第1のWebサービスを使う第2の利用者を前記第1のWebサービス利用者の中で一意に特定するための、第2の認識票に前記第1の演算を施した第2の演算済認識票と、を前記第1のWebサービスを提供する第1のサーバより受信する受信手段と、第2のWebサービスを使う前記第2の利用者を前記第2のWebサービスの利用者の中で一意に特定するための、第3の認識票に前記第1の演算を施した第3の演算結果と、前記第2の利用者と前記第2のWebサービスにおいて関係を持つ前記第2のWebサービスを使う第3の利用者を前記第2のWebサービス利用者の中で一意に特定するための、第4の認識票に前記第1の演算を施した第4の演算済認識票と、前記第3の利用者の前記第2のWebサービスにおける付加情報と、を前記第2のWebサービスを提供する第2のサーバより受信する受信手段と、前記第1の親密度係数と前記第2の親密度係数に第2の演算を施して第3の親密度係数を計算する演算手段と、
前記付加情報と前記第3の親密度係数を前記第1のサーバに送信する送信手段ことを有することを特徴とするサーバ装置が提供される。
【0021】
本発明のさらに別の一実施形態では、第1のWebサービスを使う第1の利用者を前記第1のWebサービスの利用者の中で一意に特定するための、第1の認識票に第1の演算を施した第1の演算結果と、前記第1の利用者と前記第1のWebサービスにおいて関係を持つ前記第1のWebサービスを使う第2の利用者を前記第1のWebサービス利用者の中で一意に特定するための、第2の認識票に前記第1の演算を施した第2の演算済認識票と、前記第1の利用者と前記第2の利用者の間の第1の親密度係数と、を前記第1のWebサービスを提供する第1のサーバより受信する受信手段と、第2のWebサービスを使う前記第2の利用者を前記第2のWebサービスの利用者の中で一意に特定するための、第3の認識票に前記第1の演算を施した第3の演算結果と、前記第2の利用者と前記第2のWebサービスにおいて関係を持つ前記第2のWebサービスを使う第3の利用者を前記第2のWebサービス利用者の中で一意に特定するための、第4の認識票に前記第1の演算を施した第4の演算済認識票と、前記第3の利用者の前記第2のWebサービスにおける付加情報と、前記第2の利用者と前記第3の利用者の間の第2の親密度係数と、を前記第2のWebサービスを提供する第2のサーバより受信する受信手段と、前記第1の親密度係数と前記第2の親密度係数に第2の演算を施して第3の親密度係数を計算する演算手段と、前記付加情報を前記第1のサーバに送信する送信手段ことを有することを特徴とするサーバ装置が提供される。
【0022】
本発明のさらに別の一実施形態では、第1のWebサービスを使う第1の利用者を前記第1のWebサービスの利用者の中で一意に特定するための第1の認識票に演算を施した第1の演算結果と、前記第1の利用者と前記第1のWebサービスにおいて関係を持つ前記第1のWebサービスを使う第2の利用者を、前記第1のWebサービス利用者の中で一意に特定するための第2の認識票に前記演算を施した第2の演算済認識票と、前記第2の利用者と前記第1のWebサービスにおいて関係を持つ前記第1のWebサービスを使う第3の利用者を、前記第1のWebサービスの利用者の中で一意に特定するための第3の認識票に前記演算を施した第3の演算済認識票と、を前記第1のWebサービスを提供する第1のサーバより受信する受信手段と、第2のWebサービスを使う前記第1の利用者を前記第2のWebサービスの利用者の中で一意に特定するための第4の認識票に演算を施した第4の演算結果と、前記第1の利用者と前記第2のWebサービスにおいて関係を持つ前記第2のWebサービスを使う第4の利用者を、前記第2のWebサービス利用者の中で一意に特定するための第5の認識票に前記演算を施した第5の演算済認識票と、前記第4の利用者と前記第2のWebサービスにおいて関係を持つ前記第2のWebサービスを使う第3の利用者を、前記第2のWebサービスの利用者の中で一意に特定するための第6の認識票に前記演算を施した第6の演算済認識票と、を前記第2のWebサービスを提供する第2のサーバより受信する受信手段と、を有することを特徴とするサーバ装置が提供される。
【発明の効果】
【0023】
本願発明によれば、各々のWebサービスがその保有する情報を外部に公開することなく、複数のWebサービスの属性情報や知人関係を統合して扱えるようになる。これにより、従来よりも広範でより的確な知人候補の推薦サービスを実現する方法を提供することができる。
【発明を実施するための最良の形態】
【0024】
以下に本願発明を実施するための、現在考えられる形態について説明する。本願発明の範囲は、添付特許請求の範囲によって明確に定義されているため、本発明は、これらの形態に限定的した意味で解釈すべきではない。これらの形態は、単に本発明の一般原理を例示する目的で説明されている。
【0025】
なお、表現を簡便かつ明確にするために、あるWebサービスまたはあるネットワークサービスの利用者をノードと呼ぶ場合がある。一つのノードはそのWebサービスまたはネットワークサービス内で1つの認識票で表現できる。またノード間の関係をエッジと呼ぶ。たとえば、WebサービスXにおいて利用者Aと利用者Bは知人同士であるという事象を表現する場合、「IDxaで表されるノードと、IDxbで表されるノードとがエッジで結合されている」と表現する。また、あるWebサービスまたはあるネットワークサービスにおいて、ノードおよびエッジから構成されるノード同士の関係を指してそのWebサービスまたはネットワークサービスの有するソーシャルグラフと呼ぶ。
【0026】
(実施形態1)
図2は、本願発明の実施形態の一例を示す、Webサービスを超えた知人候補の検索と優先順位付けをWebサービスに提供するネットワークサービスNのサーバ200と、WebサービスXのサーバ210、WebサービスYのサーバ220、およびWebサービスZのサーバ230がネットワーク291で接続されている。また、WebサービスXのサーバ210、WebサービスYのサーバ220およびWebサービスZのサーバ230は、利用者Aの情報端末251、利用者Fの情報端末252および利用者Eの情報端末253と、ネットワーク292で接続されている。図2に示した接続関係は一例である。図2には説明のために必要な利用者A、利用者F、利用者Eの情報端末のみが表示されているが、WebサービスXのサーバ210、WebサービスYのサーバ220、およびWebサービスZのサーバ230は、各々のWebサービスのすべての利用者の情報端末と何らかのネットワークで接続されている。また、図2において、ネットワーク291とネットワーク292は同じネットワークであっても異なるネットワークであってもよい。
【0027】
図3は、ネットワークサービスNのサーバ200の概略構成図の一例である。ネットワークサービスNのサーバは送受信手段310、記憶手段320、演算手段330、および検索手段340を有する。また記憶手段320はノード情報321、エッジ情報322、演算済認識票テーブル323、受信情報テーブル群325、親密度テーブル326、Webサービス重みテーブル327、および親密度係数付グラフテーブル328を有する。送受信手段310はネットワークに接続され、通信が可能である。
【0028】
図4は、WebサービスXのサーバの概略構成図の一例である。WebサービスXのサーバ210は、送受信手段410、記憶手段420、演算手段430、HTML生成手段440、検索手段450、および親密度係数生成手段460を有する。また記憶手段420はWebサービスXにおけるノード情報421、エッジ情報422、および演算済認識票テーブル423を有する。
【0029】
図5は、WebサービスYのサーバの概略構成図の一例である。WebサービスYのサーバ220は、送受信手段510、記憶手段520、演算手段530、HTML生成手段540、検索手段550、および親密度係数生成手段560を有する。また記憶手段520はWebサービスYにおけるノード情報521、エッジ情報522および演算済認識票テーブル523を有する。
【0030】
図6は、WebサービスZのサーバの概略構成図の一例である。WebサービスZのサーバ230は、送受信手段610、記憶手段620、演算手段630、HTML生成手段640、検索手段650、および親密度係数生成手段660を有する。また記憶手段620はWebサービスZにおけるノード情報621、エッジ情報622および演算済認識票テーブル623を有する。
【0031】
いま、WebサービスXは図7に示すソーシャルグラフを有しているとする。これはたとえば、利用者Aと利用者B、利用者Bと利用者E、および利用者Fが、WebサービスXにおいて知人同士であることを表している。ここに「WebサービスXにおいて知人同士」とは、WebサービスXのサーバにおいて認識票間に何らかの関係を有するとして記憶されていることを意味すると解釈することができる。例えば、認識票のペアがデータベースに記憶されている。自分の図7ではたとえば、利用者Aと利用者Bが知人であることを、認識票IDxaで表されるノード701と、認識票IDxbで表されるノード702がエッジ703で結合されているという形で表現している。図7において他の利用者同士の関係も同様である。また、これ以降利用者同士の関係を表現する場合にも同様の表現を用いる。
【0032】
図7に示すWebサービスXのソーシャルグラフは、図4に示すWebサービスXのサーバの記憶手段420に記憶されている。記憶手段420の有するノード情報421には、認識票IDxa、IDxb、IDxe、およびIDxfが、各々の認識票の表す利用者がWebサービスXで保有する情報と各々関連づけられて記憶されている。また、エッジ情報422には、図7に示すように、IDxaとIDxbの間、IDxbとIDxeの間、およびIDxbとIDxfの間が各々エッジで結合されているという情報が記憶されている。
【0033】
また、ノード情報421には、IDxaで表される利用者Aのノード701と付加情報Pxa751およびQxa752とが関連づけられて記憶されている。ここで付加情報Pxaは、後述のステップによってネットワークサービスNのサーバ200に送られる利用者Aの情報である。これに対して、QxaはネットワークサービスNのサーバ200に送られず、WebサービスXの利用者のみに開示される、利用者Aの情報である。なお、「WebサービスXの利用者のみに開示される」とは、WebサービスXを利用者が利用しているときにWebサービスXのサーバから取得可能であるという意味としてもよい。以下では、ネットワークサービスNのサーバ200に送られ、WebサービスS以外の利用者にも開示される可能性のある、WebサービスSにおける利用者Tの付加情報を共有付加情報と呼び、Pstと表記する。また、ネットワークサービスNのサーバ200に送られることなく、WebサービスSの利用者のみに開示される、WebサービスSにおける利用者Tの付加情報を専用付加情報と呼び、Qstと表記する。ここでは、共有付加情報および専用付加情報の2種類の情報を総称して付加情報と呼ぶ。また、IDxbで表される利用者Bのノードには、付加情報PxbおよびQxbが関連づけられて記憶されている。図7に示すように、利用者Eは付加情報PxeおよびQxe、利用者Fは付加情報PxfおよびQxfを有する。各々のノードに関連づけられた共有付加情報はあってもなくてもよい。
【0034】
エッジ情報422に記憶されている情報は、IDxaで表されるノードとIDxbで表されるノードの間、同様にIDxbとIDxeの間、および同様にIDxbとIDxfの間が各々エッジで結合されているという情報が含まれていれば、どのような形式でもよい。このような情報の表現形式の一例としては、FOAF(Friend Of A Friend)が知られている(例えば、非特許文献5参照。)これはXML(eXtended Markup Language)/RDF(Resource Description Language)を利用してノードとエッジの関係性を表現するための表現形式である。たとえば、ノードIDxaとノードIDxbがエッジで結ばれているという状況をFOAFでは図8のような形式で表現する。ここでは一例として、FOAFによる表現形式を示したが、図7に示すソーシャルグラフを表現する形式であれば、表現形式は何でもよい。これは後に示す図9および図10についても同様である。
【0035】
また、WebサービスYは図9に示すソーシャルグラフを有しているとする。これはたとえば、利用者Aと利用者C、利用者Cと利用者E、および利用者Cと利用者FがWebサービスYにおいて知人同士であることを表している。
【0036】
図9に示すWebサービスYのソーシャルグラフは、図5に示すWebサービスYのサーバの記憶手段520に記憶されている。記憶手段520の有するノード情報521には、認識票IDya、IDyc、IDye、およびIDyfが、各々の利用者のWebサービスYで保有する情報と各々関連づけられて記憶されている。また、エッジ情報522には、図9の一点鎖線で示すように、IDyaで表されるノードとIDycで表されるノードの間、同様にIDycとIDyeの間、および同様にIDxcとIDyfの間が各々エッジで結合されているという情報が記憶されている。エッジ情報522に記憶されている情報は、IDyaで表されるノードとIDycで表されるノードの間、同様にIDycとIDyeの間、同様にIDycとIDyfの間が各々エッジで結合されているという情報が含まれていれば、どのような形式でもよい。また図9に示すようにノード情報521には、ノードIDyaに関連づけて付加情報PyaおよびQyaが、ノードIDycに関連づけて付加情報PycおよびQycが、ノードIDyeに関連づけて付加情報PyeおよびQyeが、またノードIDyfに関連づけて付加情報PyfおよびQyfが、各々記憶されている。各々のノードに関連づけられた共有付加情報はあってもなくてもよい。
【0037】
また、WebサービスZは図10に示すソーシャルグラフを有しているとする。これはたとえば、利用者Aと利用者D、利用者Dと利用者E、および利用者Dと利用者GがWebサービスZにおいて知人同士であることを表している。
【0038】
図10に示すWebサービスZのソーシャルグラフは、図6に示すWebサービスZのサーバの記憶手段620に記憶されている。記憶手段620の有するノード情報621には、認識票IDza、IDzc、IDze、およびIDzgが、各々の認識票の表す利用者がWebサービスZで保有する情報と各々関連づけられて記憶されている。またエッジ情報622には、図10の破線で示すように、IDzaで表されるノードとIDzcで表されるノードの間、同様にIDzcとIDzeの間、および同様にIDzcとIDzgの間が各々エッジで結合されている情報が記憶されている。エッジ情報622に記憶されている情報は、IDzaで表されるノードとIDzcで表されるノードの間、同様にIDzcとIDzeの間、同様にIDzcとIDzgの間が各々エッジで結合されているという情報が含まれていれば、どのような形式でもよい。また図10に示すようにノード情報621には、ノードIDzaに関連づけて付加情報PzaおよびQzaが、ノードIDzdに関連づけて付加情報PzdおよびQzdが、ノードIDzeに関連づけて付加情報PzeおよびQzeが、またノードIDzgに関連づけて付加情報PzgおよびQzgが、各々記憶されている。各々のノードに関連づけられた共有付加情報はあってもなくてもよい。
【0039】
次に図11に示すフロー図を用いて、WebサービスXのサーバ210がネットワークサービスNのサーバ200に情報を登録する処理の一例を説明する。
【0040】
まず、WebサービスXのサーバの演算手段430が記憶手段のノード情報421に記憶されている利用者の認識票を非可逆な演算を施すか、またはWebサービスXのサーバの記憶手段420でのみ記憶される鍵によって暗号化演算を施す。WebサービスXのノード情報には図7の黒点で表される各ノードの認識票が記憶されている。演算手段430がこれらの認識票の演算結果F(IDxa)、F(IDxb)、F(IDxe)、およびF(IDxf)を生成する(ステップS1101)。Fは、非可逆な演算または、WebサービスXのサーバの記憶手段420でのみ記憶される鍵による暗号化演算を表す。
【0041】
ここで用いる非可逆な演算および暗号化演算のアルゴリズムは何であってもよい。非可逆な演算のアルゴリズムの例としてはMD−5(Message Digest Algorithm 5)またはSHA1(Secure Hash Algorithm 1)などの所謂ハッシュ演算がある。また暗号化演算のアルゴリズムの例としては所謂対称暗号と呼ばれるDES(Data Encryption Standard)、三重DES、AES(Advanced Encryption Standard)などがある。また暗号化の別の例としては所謂非対称暗号とよばれるRSA(Rivest Shamir Adleman)などがある。対称暗号方式に使われる秘密鍵、および非対称暗号方式において復号化に使われる私有鍵(秘密鍵)は、ネットワークサービスNのサーバ200に送られることはなく、WebサービスXのサーバの記憶手段420にのみ記憶されるのが好ましい。
【0042】
次に、WebサービスXのサーバの演算手段430は、図7に示すソーシャルグラフを上記演算結果を用いたグラフに変換する。すなわち、図7に示した情報を、F(IDxa)とF(IDxb)、F(IDxb)とF(IDxe)、およびF(IDxb)とF(IDxf)が各々関係を持つという情報に変換し、これを記憶手段420における演算済認識票テーブル423に記憶する(ステップS1102)。この演算結果同士の関係を表現する際に用いる表現形式は、この情報が含まれていれば何でもよい。
【0043】
図12に、WebサービスXにおける演算済認識票テーブルの一例を示す。「WebサービスXにおける各利用者の認識票」1210と各々の「演算済認識票」1220が関連づけられて記憶されている。さらに、各々の演算済認識票と「WebサービスXでエッジで結合された認識票の演算結果」1230が関連づけて記憶されている。図12では、たとえば認識票IDxb1212とその演算結果F(IDxb)1222が関連づけられ、さらにF(IDxa)1234とF(IDxe)1232およびF(IDxf)1233が各々関連づけられている。また、WebサービスXの認識票の各々に、共有付加情報1250および専用付加情報1260が関連づけられている。
【0044】
図7、図9および図10に示されているように、利用者AはWebサービスX、WebサービスY、およびWebサービスZの3つのサービスを使っている。ここで次に利用者Aが、その情報端末251から、WebサービスXのサーバ210に対して利用者Aが使っているWebサービスX以外のサービスにおける、利用者Aの認識票IDyaおよびIDzaを送信する。次に、WebサービスXのサーバの送受信手段410がこれらの認識票IDyaおよびIDzaを受信する(ステップS1103)。次に、WebサービスXのサーバの演算手段が利用者Aの情報端末から受信したこれら認識票に対し、前記演算を実行し、その結果F(IDya)およびF(IDza)を得る。ここでは、WebサービスXのサーバは、利用者AのWebサービスX以外の認識票を、利用者Aの情報端末より受信した上演算結果F(IDya)およびF(IDza)を計算した。WebサービスXの210が上記2つの演算結果を得る別の方法としては、利用者Aがその情報端末を通じてWebサービスYにログインした上、WebサービスYのサーバ220が演算結果F(IDya)を生成した上、これをWebサービスXのサーバ210に送信し、これをWebサービスXのサーバ210が受信してもよい。同様に、利用者Aがその情報端末を通じてWebサービスZにログインした上、WebサービスZのサーバ230が演算結果F(IDza)を生成した上、これをWebサービスXのサーバ210に送信し、これをWebサービスXのサーバ210が受信してもよい。
【0045】
次に、これらF(IDya)およびF(IDza)を、送信元である利用者Aの認識票IDxaの演算結果F(IDxa)と関連づけて演算済認識票テーブル423に記憶する(ステップS1104)。図12を参照すると、ここで得られた演算結果F(IDya)1241およびF(IDza)1242が、演算済認識票テーブル423の「WebサービスX以外の認識票の演算結果」の列1240に、F(IDxa)1221と関連づけて保存されている。
【0046】
次に、WebサービスXのサーバの送受信手段410が、演算済認識票テーブル423にのうち、「サービスXの認識票」の列1210および「専用付加情報」の列1260を除く部分のテーブルを、ネットワークサービスNのサーバ200へ送信する(ステップS1105)。このため、ネットワークサービスNのサーバでは、各々のノードがWebサービスXのどの利用者なのかを知るのは困難または不可能である。つまりネットワークサービスNのサーバは匿名のソーシャルグラフを、WebサービスXのサーバから受け取ったことになる。
【0047】
次に図13を用いて、WebサービスXのサーバから上記テーブルの情報を受信したネットワークサービスNのサーバ200における処理について説明する。ネットワークサービスNのサーバの送受信手段310が、WebサービスXのサーバから送信されたテーブルを受信し、受信情報テーブル群325の1つとしてこれを記憶する(ステップS1301)。次に、受信した情報を、ネットワークサービスNにおいてノードを一意に特定するための認識票を関連づけて、ネットワークサービスNのサーバの演算済認識票テーブル323に記憶する(ステップS1303)。
【0048】
図14は、このステップの実行後の演算済認識票テーブル323の一例を示す。先ず、受信した演算済認識票の列1220に含まれる「演算済認識票」の各々に対応する、ネットワークサービスNにおける認識票を生成する。たとえば、受信したF(IDxa)に対応するサービスNの認識票IDna1411を生成する。IDnaは、ネットワークサービスNの中で、このノードを一意に特定できる情報であれば何でもよい。以下、ネットワークサービスNの中の他の認識票も同様である。ネットワークサービスNのサーバにおける演算済認識票テーブル323には、受信した情報のうちで「WebサービスX以外の認識票の演算結果」1240の列の情報が、「受信した演算済認識票」の列1420に記憶される。たとえば、IDna1411には、F(IDxa)1421の他、「WebサービスX以外の認識票の演算結果」としてWebサービスXのサーバから送られたF(IDya)1241およびF(IDza)1242が「受信した演算済認識票」の列1420にF(IDya)1422およびF(IDza)1423として記憶される。さらに、WebサービスXのサーバから受信した「WebサービスXでエッジで結合された認識票の演算結果」1230の列の情報が、「サービスNにおいてエッジで結合された演算済認識票」の列1430に記憶される。たとえば、WebサービスXのサーバから送られた、「WebサービスXでF(IDxa)とエッジで結合された演算済認識票」F(IDxb)1231が、「サービスNにおいてエッジで結合された演算済認識票」F(IDxb)1431として記憶される。
【0049】
図15は、理解しやすいように図14の情報をグラフ表示したものである。このグラフは、前記ステップS1301で受信した演算済認識票F(IDxa)、F(IDya)、およびF(IDza)に関連づけられた、ネットワークサービスNの認識票IDna1411で表されるノード1511と、演算済認識票F(IDxb)に関連づけられた認識票IDnb1412で表されるノード1512と、演算済認識票F(IDxe)に関連づけられた認識票IDne1413で表されるノード1513と、演算済認識票F(IDxf)に関連づけられた認識票IDnf1414で表されるノード1514から成る。これらは、図14における「サービスNの認識票」の列1410、および「受信した演算済認識票」の列1420に含まれる情報である。さらに図15のグラフはIDnaで表されるノード1511とIDnbで表されるノード1512の間、IDnbで表されるノード1512とIDneで表されるノード1513の間、さらにIDnbで表されるノード1512とIDnfで表されるノード1514の間の各々がエッジで結合されている状況を表している。以上は、図14の「サービスNにおいてエッジで結合された演算済認識票」の列1430に記憶された情報と等価である。また、図15の各々のノードは付加情報を有する。これは図14の「共有付加情報」の列1440に記憶された情報と等価である。図14の演算済認識票テーブル323のスキーマは一例に過ぎず、図15のグラフの情報が記憶されていれば、その表現形式は問わない。
【0050】
ネットワークサービスNの演算済認識票テーブル323に記憶されたIDna、IDnb、IDneおよびIDnfで表される各ノードは、WebサービスXのサーバ210における利用者A、利用者B、利用者E、および利用者Fに各々対応する。しかし、各々の認識票は不可逆な演算、またはネットワークサービスNのサーバ以外では復号化できない状態での暗号化演算を施された状態でネットワークサービスNのサーバ200が受信する。したがって、ネットワークサービスNのサーバでは、演算済テーブル323にある各ノードがどの利用者に対応するノードであるかを導くことはできない。すなわち、以上の処理は、WebサービスXにおけるソーシャルグラフを、ネットワークサービスN上の匿名ノードのグラフに写像したことを意味する。
【0051】
次に、WebサービスYにおけるソーシャルグラフを、ネットワークサービスN上の匿名ノードのグラフに写像する処理について説明する。WebサービスYのサーバにおける処理の各ステップは、図11のフロー図で示したWebサービスXのサーバにおける処理と等しいので、フロー図は省略する。
【0052】
まず、WebサービスYのサーバの演算手段530が記憶手段のノード情報521に記憶されている利用者の認識票を非可逆な演算を施すか、またはWebサービスYのサーバの記憶手段520でのみ記憶される鍵によって暗号化演算を施す。WebサービスYのノード情報には図9の黒点で表される各ノードの認識票が記憶されている。演算手段530がこれらの認識票の演算結果F(IDya)、F(IDyc)、F(IDye)、およびF(IDyf)を生成する。
【0053】
ここで用いる非可逆な演算および暗号化演算のアルゴリズムは何であってもよいが、前記WebサービスXのサーバにおけるステップS1101で用いた非可逆な演算または暗号化演算と同じアルゴリズムである。
【0054】
次に、WebサービスYのサーバの演算手段530は、図9に示すソーシャルグラフを演算済認識票のグラフに変換する。すなわち、図9に示した情報を、F(IDya)とF(IDyc)の間、F(IDyc)とF(IDye)の間、およびF(IDyc)とF(IDyf)がエッジで結合されているという情報に変換し、これを記憶手段520における演算済認識票テーブル523に記憶する。この演算結果同士の関係を表現する際に用いる表現形式は、以上の情報が含まれていれば何でもよい。
【0055】
図16に、WebサービスYにおける演算済認識票テーブル523の一例を示す。「WebサービスYにおける各利用者の認識票」1610と各々の「演算済認識票」1620が関連づけられて記憶されている。さらに、各々の演算済認識票と「WebサービスYでエッジで結合された認識票の演算結果」1630が関連づけて記憶されている。図16では、たとえば認識票IDyf1614とその演算結果F(IDyf)1624が関連づけられ、さらにこれとエッジで結合されているF(IDyc)1634が各々関連づけられている。また、WebサービスYの認識票の各々に、共有付加情報1650および専用付加情報1660が関連づけられている。
【0056】
図7および図9に示されているように、利用者FはWebサービスX、WebサービスYの2つのサービスを使っている。ここで次に利用者Fが、その情報端末252から、WebサービスYのサーバ220に対して利用者Fが使っているWebサービスY以外のサービスにおける、利用者Fの認識票IDxfを送信する。次に、WebサービスYのサーバの送受信手段510がこの認識票IDxfを受信する。次に、WebサービスYのサーバの演算手段が利用者Fの情報端末から受信したこの認識票に対し、前記演算を実行し、その結果F(IDxf)を得る。ここでは、WebサービスYのサーバは、利用者FのWebサービスY以外の認識票IDxfを、利用者Fの情報端末より受信した後、演算結果F(IDxf)を計算した。WebサービスYの220が上記の演算結果を得る別の方法としては、利用者Fがその情報端末を通じてWebサービスXにログインした上、WebサービスXのサーバ210が演算結果F(IDxf)を生成した上、これをWebサービスYのサーバ220に送り、これをWebサービスYのサーバ220が受信してもよい。なお、演算Fと利用者Fとの記載において、同じFが用いられているが、文脈から区別が可能である。
【0057】
次に、このF(IDxf)を、送信元である利用者Fの認識票IDyfの演算結果F(IDyf)と関連づけて演算済認識票テーブル523に記憶する。図16を参照すると、ここで得られた演算結果F(IDxf)1644が、演算済認識票テーブル523の「WebサービスY以外の認識票の演算結果」の列1640に、F(IDyf)1624と関連づけて保存される。
【0058】
次に、WebサービスYのサーバの送受信手段510が、演算済認識票テーブル523のうち、「サービスYの認識票」の列1610および「専用付加情報」の列1660を除く部分を、ネットワークサービスNのサーバ200へ送信する。このため、ネットワークサービスNのサーバでは、各々のノードがWebサービスYのどの利用者なのかを知ることは困難または不可能である。つまりネットワークサービスNのサーバは匿名のソーシャルグラフを、WebサービスYのサーバから受信したことになる。
【0059】
次に、WebサービスYのサーバから上記テーブルを受信したネットワークサービスNのサーバ200における処理を図13のフロー図を参照して説明する。ネットワークサービスNのサーバの送受信手段310が、WebサービスYのサーバから送られたテーブルの情報を受信し、受信情報テーブル群325の1つとしてこれを記憶する(ステップS1301)。次に、WebサービスYのサーバから受信したテーブルの情報を、以下に示す手順によって、ネットワークサービスNのサーバの演算済認識票テーブル323に記憶する。この情報は、WebサービスXから以前に受信して、図14に示すように演算済認識票テーブル323に既に記憶されている情報に追加して記憶する。
【0060】
図14に示す既にWebサービスXのサーバから受信した情報に、WebサービスYのサーバから受信したテーブルの情報を追加する手順を、図14、図16および図17を使って説明する。結果として、図14が追加前、図17が追加後の演算済認識票テーブル323を表すことになる。図16の一部がWebサービスYのサーバから受信した情報である。先ず、ネットワークサービスNの検索手段340が、WebサービスYのサーバから受信したWebサービスY以外の認識票の演算結果F(IDxf)1644を検索キーとして、図14の演算済認識票テーブル323の「受信した演算済認識票」の行1420を検索する。すると検索結果として、4行目のF(IDxf)1424を得る。次に図16でF(IDxf)1644に関連づけられたF(IDyf)1624を、演算済認識票テーブル323の「受信した演算済認識票」の4行目にF(IDyf)1725として追加する。これはWebサービスXでIDxfを持つ利用者と、WebサービスYでIDyfを持つ利用者が同じ利用者であることから、これら2つの異なるWebサービスにおける認識票を、ネットワークサービスNの認識票IDnf1714に関連づけて記憶したことに相当する(ステップS1304)。ただし、不可逆な演算またはネットワークサービスNのサーバでは復号化不可能な暗号化演算が施されているため、ネットワークサービスNのサーバがIDxfおよびIDyfを導くことができない。このため、IDnfで表されるノードがネットワークサービスNのサーバで、WebサービスXおよびWebサービスYにおける同じ利用者Fを表していることを知ることができない。
【0061】
次に、検索手段340は、上記ステップS1304を実行後のネットワークサービスNの演算済認識票テーブル323の「受信した演算済認識票」1420の中で同じ認識票を検索する(ステップS1305)。この場合、同じ認識票は検索されない(ステップS1306)。
【0062】
次に、ネットワークサービスNの検索手段330は、WebサービスYのサーバから受信した「演算済認識票」1620の中で、「受信した演算済認識票」1420にないものを検索する。ここでは、図14に示すように、演算済認識票テーブル323の「受信した演算済認識票」1420の列に、演算済認識票F(IDyc)1635およびF(IDye)1634がない。そこで、演算済認識票テーブル323に新たな行を追加し、IDnc1715というネットワークサービスNにおける新たな認識票を生成し、この認識票IDnc1715と関連づけてF(IDyc)1726を記憶する。また、IDnh1716というネットワークサービスNにおける新たな認識票を生成し、この認識票IDnhと関連づけてF(IDye)1727を記憶する。これは、認識票IDncで表されるF(IDyc)、およびIDnhで表されるF(IDye)を持つ新たなノードを生成したことを意味する(ステップS1308)。
【0063】
次に検索手段340が、WebサービスYのサーバから受信した「WebサービスYでエッジで結合された認識票の演算結果」の行1630にある演算結果のうち、ネットワークサービスNの演算済認識票テーブル323の「サービスNにおいてエッジで結合された演算済認識票」の列1430に未登録の演算結果を検索する。次にこの未登録の演算結果を、ネットワークサービスNの演算済認識票テーブル323の「サービスNにおいてエッジで結合された演算済認識票」の列1430に、WebサービスYのサーバから受信した演算済認識票と各々関連づけて記憶する(ステップS1309)。具体的には図17を参照して、F(IDya)1422に関連づけてF(IDyc)1731を、F(IDyf)1725に関連づけてF(IDyc)1734を、F(IDyc)1726に関連づけてF(IDye)1735、F(IDyf)1736、およびF(IDya)1738を、さらにF(IDye)1727に関連づけてF(IDyc)1737を各々記憶する。これによって、図9に示すWebサービスYのソーシャルグラフのエッジを、図15に示すネットワークサービスN上の演算済認識票のグラフに重畳したことになる。
【0064】
次に、WebサービスYのサーバから受信した情報の、共有付加情報を受信した演算済認識票と関連づけて、ネットワークサービスNの演算済認識票テーブル323の「共有付加情報」の列1440に記憶する(ステップS1310)。具体的には、F(IDya)1422と関連づけてPya1742を、F(IDyf)と関連づけてPyf1744を、F(IDyc)1726と関連づけてPyc1745を、F(IDye)1727と関連づけてPye1746を各々記憶する。
【0065】
以上によって、図14に示すWebサービスXのサーバから以前受信した情報に、WebサービスYのサーバから受信した情報が追加され、図17の状態になる。この図17を簡単のためにグラフ表示したものが図18である。図18において、14で始まる数字を付した演算済認識票が、図14にある、WebサービスYから受信する以前の情報である。また、16または17で始まる数字を付した演算済認識票が、WebサービスYのサーバから受信し、演算済認識票テーブル323に追加した情報である。各々の数字は図15、図16および図17と対応している。また、図18で実線はWebサービスXのエッジに起因するネットワークサービスN上のエッジを表す。同様に、一点破線はWebサービスYのエッジに起因するネットワークサービスN上のエッジを表す。
【0066】
図18は、ネットワークサービスNのサーバにおいて、図7および図9に示す、WebサービスXおよびWebサービスYの各サービス内に限定された2つのグラフの、合成グラフを生成した結果である。ただしXおよびYの各Webサービスの認識票のグラフではなく、各々の演算済認識票をノードとして合成グラフである。従ってネットワークサービスNのサーバでは、各ノードがWebサービスXおよびYにおけるどの利用者であるかを特定することは困難または不可能である。
【0067】
次に、WebサービスZにおけるソーシャルグラフを、ネットワークサービスN上の匿名ノードのグラフに写像する処理について説明する。WebサービスZのサーバにおける処理の各ステップは、図11のフロー図で示したWebサービスXのサーバにおける処理と同様であるので、フロー図は省略する。
【0068】
まず、WebサービスZのサーバの演算手段630が記憶手段のノード情報621に記憶されている利用者の認識票を非可逆な演算を施すか、またはWebサービスZのサーバの記憶手段620でのみ記憶される鍵によって暗号化演算を施す。WebサービスYのノード情報には図10の黒点で表される各ノードの認識票が記憶されている。演算手段530がこれらの認識票の演算結果F(IDza)、F(IDzd)、F(IDze)、およびF(IDzg)を生成する。
【0069】
ここで用いる非可逆な演算および暗号化演算のアルゴリズムは何であってもよいが、前記WebサービスXのサーバにおけるステップS1101で用いた非可逆な演算または暗号化演算と同じアルゴリズムである。
【0070】
次に、WebサービスZのサーバの演算手段630は、図10に示すソーシャルグラフを演算済認識票のグラフに変換する。すなわち、図10に示した情報を、F(IDza)とF(IDzd)の間、F(IDzd)とF(IDze)の間、およびF(IDzd)とF(IDzg)の間が各々エッジで結合されているという情報に変換し、これを記憶手段620における演算済認識票テーブル623に記憶する。この演算結果同士の関係を表現する際に用いる表現形式は、以上の情報が含まれていれば何でもよい。
【0071】
図19に、WebサービスZにおける演算済認識票テーブル623の一例を示す。「サービスZの認識票」1910と各々の「演算済認識票」1920が関連づけられて記憶される。さらに、各々の演算済認識票と「WebサービスZでエッジで結合された認識票の演算結果」1930が関連づけて記憶されている。図19では、たとえば認識票IDze1913とその演算結果F(IDze)1923が関連づけられ、これとエッジで結合されているF(IDyd)1933が各々関連づけられている。また、WebサービスZの認識票の各々に、共有付加情報1950および専用付加情報1960が関連づけられている。
【0072】
図7、図9および図10に示されているように、利用者EはWebサービスX、WebサービスY、およびWebサービスZの3つのサービスを使っている。次に利用者Eが、その情報端末253から、WebサービスZのサーバ230に対して利用者Eが使っているWebサービスZ以外のサービスにおける、利用者Eの認識票IDxeおよびIDyeを送信する。次に、WebサービスZのサーバの送受信手段610がこれら認識票IDxeおよびIDyeを受信する。次に、WebサービスZのサーバの演算手段630が利用者Eの情報端末から受信したこれらの認識票に対し、前記演算を実行し、その結果F(IDxe)およびF(IDye)を得る。ここでは、WebサービスZのサーバは、利用者EのWebサービスZ以外の認識票IDxeおよびIDyeを、利用者Fの情報端末より受信した後、演算結果F(IDxe)およびF(IDye)を計算した。WebサービスZの230が上記の演算結果を得る別の方法としては、利用者Eがその情報端末を通じてWebサービスXにログインした上、WebサービスXのサーバ210が演算結果F(IDxe)を生成した上、これをWebサービスZのサーバ230に送り、これをWebサービスZのサーバ230が受信してもよい。同様に、利用者Eがその情報端末を通じてWebサービスYにログインした上、WebサービスYのサーバ220が演算結果F(IDye)を生成した上、これをWebサービスZのサーバ230に送り、これをWebサービスZのサーバ230が受信してもよい。
【0073】
次に、これらF(IDxe)およびF(IDye)を、送信元である利用者Eの認識票IDzeの演算結果F(IDze)と関連づけて演算済認識票テーブル623に記憶する。図19を参照すると、ここで得られた演算結果F(IDxe)1943およびF(IDye)1944が、「WebサービスZ以外の認識票の演算結果」の列1940に、F(IDze)1923と関連づけて保存される。
【0074】
次に、WebサービスZのサーバの送受信手段610が、演算済認識票テーブル623のうち、「サービスZの認識票」の列1910を除く部分を、ネットワークサービスNのサーバ200へ送信する。このため、ネットワークサービスNのサーバでは、各々のノードがWebサービスZのどの利用者なのかを知ることは困難または不可能である。つまりネットワークサービスNのサーバは匿名のソーシャルグラフを、WebサービスZのサーバから受け取ったことになる。
【0075】
次に、WebサービスZのサーバから上記テーブルを受け取ったネットワークサービスNのサーバ200における処理を再び図13のフロー図を参照して説明する。ネットワークサービスNのサーバの送受信手段310が、WebサービスZのサーバから送られたテーブルを受信し、受信情報テーブル群325の1つとしてこれを記憶する(ステップS1301)。次に、WebサービスZのサーバから受信したテーブルの情報を、以下に示す手順によって、ネットワークサービスNのサーバの演算済認識票テーブル323に記憶する。この情報は、WebサービスXおよびWebサービスYから以前に受信して、図17に示すように演算済認識票テーブル323に既に記憶されている情報に追加して記憶する。
【0076】
図17に示す既にWebサービスXおよびWebサービスYのサーバから受信した情報に、WebサービスZのサーバから受信したテーブルの情報を追加する手順を、図17、図19および図20を使って説明する。結果として、図17が追加前、図20が追加後の演算済認識票テーブル323を表すことになる。図19の一部がWebサービスZのサーバから受信した情報である。先ず、ネットワークサービスNの検索手段340が、WebサービスZのサーバからWebサービスZ以外の認識票の演算結果F(IDxe)1943およびF(IDye)1944を検索キーとして、図17の演算済認識票テーブル323の「受信した演算済認識票」の列1420を検索する。すると検索結果として、3行目のF(IDxe)1723および6行目のF(IDye)1727を得る。次に、図19でF(IDxe)1943に関連づけられたF(IDze)1923を、図17の演算済認識票テーブル323の「受信した演算済認識票」の列1420の3行目、すなわちF(IDxe)1723と同じ場所に記憶する。これは、WebサービスXでIDxeを持つ利用者と、WebサービスZでIDzeを持つ利用者が同じ利用者であることから、これら2つの異なるWebサービスにおける認識票を、ネットワークサービスNの認識票IDneに関連づけて記憶したことに相当する。同様に、図19でF(IDye)1944に関連づけられたF(IDze)1923を、図17の演算済認識票テーブル323の「受信した演算済み認識票」の列1720の6行目、すなわちF(IDye)1723と同じ場所に記憶する。これは、WebサービスXでIDyeを持つ利用者と、WebサービスZでIDzeを持つ利用者が同じ利用者であることから、これら2つの異なるWebサービスにおける認識票を、ネットワークサービスNの認識票IDnhに関連づけて記憶したことに相当する(ステップ1304)。ただし、不可逆な演算またはネットワークサービスNのサーバで復号化不可能な暗号化演算が施されているため、ネットワークサービスNのサーバではIDxe、IDyeおよびIDzeを得ることが困難であるか不可能である。このため、IDneで表されるノードがネットワークサービスNのサーバにおいて、WebサービスX、WebサービスYおよびWebサービスZにおける同じ利用者Eを表していることを知ることが困難であるか不可能である。
【0077】
次に、検索手段340は、上記ステップS1304を実行後のネットワークサービスNの演算済認識票テーブル323の「受信した演算済認識票」1420の中で同じ認識票を検索する(ステップS1305)。すると、上記ステップS1304でIDne1713に関連づけられたF(IDze)と、同じく上記ステップS1304でIDnh1716に関連づけられたF(IDze)との一致が検出される(ステップS1306)。これは、ネットワークサービスNにおいて、IDneで表されるノードと、IDnhで表されるノードが同じ利用者であることを意味する。このため、ネットワークサービスNの演算済認識票テーブル323において、IDneの行とIDnhの行を統合する。図20に示すように、ここではIDne1713の行に統合される。その結果、認識票IDne1713に関連づけられて、「受信した演算済認識票」の行1420には、F(IDxe)2022、F(IDye)2023、およびF(IDze)2024が関連づけられて記憶される。また、「サービスNにおいてエッジで結合された演算済認識票」1430については、図17におけるF(IDyc)1737が、図20におけるF(IDyc)2034として、IDneに関連づけられて記憶されることで、統合される(ステップS1307)。
【0078】
次に、ネットワークサービスNの検索手段330は、WebサービスZのサーバから受信した「演算済認識票」1920の中で、「受信した演算済認識票」1420にないものを検索する。ここでは、図17に示すように、演算済認識票テーブル323の「受信した演算済認識票」1420の列に、演算済認識票F(IDzd)1922およびF(IDzg)1924がない。そこで、演算済認識票テーブル323に新たな行を追加し、IDnd2016というネットワークサービスNにおける新たな認識票を生成し、この認識票IDndと関連づけてF(IDzd)2026を記憶する。また、IDng2017というネットワークサービスNにおける新たな認識票を生成し、この認識票IDnhと関連づけてF(IDzg)2027を記憶する。これは、認識票IDndで表されるF(IDzd)、およびIDngで表されるF(IDzg)を持つ新たな2つのノードを生成したことを意味する(ステップS1308)。
【0079】
次に検索手段340が、WebサービスZのサーバから受信した「WebサービスZでエッジで結合された認識票の演算結果」の行1930にある演算結果のうち、ネットワークサービスNの演算済認識票テーブル323の「サービスNにおいてエッジで結合された演算済認識票」の列1430に未登録の演算結果を検索する。次にこの未登録の演算結果を、ネットワークサービスNの演算済認識票テーブル323の「サービスNにおいてエッジで結合された演算済認識票」の列1430に、WebサービスZのサーバから受信した演算済認識票と各々関連づけて記憶する(ステップS1309)。具体的には図20を参照して、F(IDza)1721に関連づけてF(IDzd)2031を、F(IDze)2024に関連づけてF(IDzd)2033を、F(IDzd)2026に関連づけてF(IDza)2036、F(IDze)2037、およびF(IDzg)2038を、さらにF(IDzg)2027に関連づけてF(IDzd)2039を各々記憶する。これによって、図10に示すWebサービスZのソーシャルグラフのエッジを、図18に示すネットワークサービスN上の演算済認識票のグラフに重畳したことになる。
【0080】
次に、WebサービスZのサーバから受信した情報の、共有付加情報を受信した演算済認識票と関連づけて、ネットワークサービスNの演算済認識票テーブル323の「共有付加情報」の列1440に記憶する(ステップS1310)。具体的には、F(IDza)1721と関連づけてPya2041を、F(IDze)2024と関連づけてPze2043を、F(IDzd)2026と関連づけてPzd2046を、F(IDzg)2027と関連づけてPye2047を各々記憶する。
【0081】
以上によって、図17に示すWebサービスXおよびYのサーバから以前受信した情報に、WebサービスZのサーバから受信した情報が追加され、図20の状態になる。この図20を簡単のためにグラフ表示したものが図21である。図21において、14で始まる数字を付した演算済認識票が、図14にある、WebサービスXから受信した情報である。また、16または17で始まる数字を付した演算済認識票が、WebサービスYのサーバから受信した情報である。さらに、19または20で始まる数字を付した演算済認識票が、WebサービスZのサーバから受信した情報である。各々の数字は図15、図16、図17、図19および図20と対応している。また、図21で実線はWebサービスXのエッジ、一点鎖線はWebサービスYのエッジ、破線はWebサービスZのエッジを表す。
【0082】
これまでに述べた方法によって、ネットワークサービスNのサーバ200は、WebサービスXのサーバ210、WebサービスYのサーバ220、およびWebサービスZのサーバ230の各々より、演算済認識票のグラフを受信し、これを重畳した。このことで、ネットワークサービスNのサーバには、図21に示す、各々のWebサービスのソーシャルグラフの特徴を継承しており、かつ各々のノードがどのWebサービス上でのどの利用者かがわからない匿名のグラフを生成することができる。
【0083】
図20の演算済認識票テーブルは、図21に示すグラフの一つの表現形式である。しかし、本願発明による方法では、ネットワークサービスNにおける匿名グラフの表現方法は、図21のグラフが表現できていれば、どのようなものであってもよい。次に、このグラフを利用することで可能となる、本願発明の3つの実施形態について説明する。以下の3つの実施形態は図21に示すグラフを利用して実現される。したがって、上記の説明は、以下の3つの実施形態に共通である。
【0084】
(実施形態2)
この実施形態は、図21に示されるグラフの情報を利用して、複数のWebサービスを使う利用者が、異なるWebサービスにおける知人を、ひとつのWebサービス上でまとめて管理することができる方法を提供する。本願発明による方法では、ネットワークサービスNが各々のWebサービスの利用者の認識票やソーシャルグラフを入手せずに、これが可能となる。以下で図23のフロー図を参照して、これを実現する方法を説明する。
【0085】
図7、図9、および図10に示されるように、利用者AはWebサービスX、Y、およびZを利用している。いま、利用者Aがその情報端末251を通じてWebサービスXのサーバに対して、WebサービスX上で、他のWebサービスにおける知人の情報を取得する要求を送信する(ステップS2201)。WebサービスXのサーバの送受信手段410はこれを受信する。次に、WebサービスXのサーバの送受信手段410は、他のWebサービスにおける知人の情報を取得する要求を、利用者Aの演算済認識票F(IDxa)に関連づけてネットワークサービスNのサーバ200に送信する(ステップS2202)。これを、ネットワークサービスNのサーバの送受信手段310が受信する。次に下の手順で、受信したF(IDxa)を有するノードとエッジで結合されている、ネットワークサービスNにおけるノードを検索する(ステップS2203)。具体的には、受信したF(IDxa)を検索キーとして、図20に示す演算済認識票テーブル323の「受信した演算済認識票」の列1420を検索する。すると、F(IDxa)1421を検索結果として得る。これはネットワークサービスNではIDnaで表されるノードである。次に検索手段340が、IDnaに関連づけられた「サービスNにおいてエッジで結合された演算済認識票」1430を検索する。すると、F(IDxb)、F(IDyc)、およびF(IDzd)を検索結果として得る。これらをもとにネットワークサービスNの演算済認識票テーブル323の「受信した演算済認識票」の列1420を再び検索する。すると、F(IDxb)がWebサービスXから受信した演算済認識票であり、ネットワークサービスNではIDnbで表されるノードである。同様に、F(IDyc)がWebサービスYから受信したIDncで表されるノード、またF(IDzd)はWebサービスZから受信したIDndで表されるノードである(ステップS2204)。
【0086】
前記ステップS2201でネットワークサービスNのサーバ200が受信した要求は、WebサービスX以外の知人の情報の要求である。したがって、その送受信手段210は認識票IDncと共有付加情報Pycを関連づけて、また認識票IDndと共有付加情報Pzdを関連づけて、WebサービスXのサーバ210に送信する(ステップS2205)。次に、WebサービスXのサーバに送信する。WebサービスXのサーバの送受信手段410がこれらを受信する。
【0087】
次にWebサービスXのサーバのHTML生成手段440が、付加情報Pycおよび付加情報Pzdを含む情報として、例えば、HTML(HyperText Mark−up Language)を利用した情報(HTMLコード)を生成して、送受信手段410がこれを利用者Aの情報端末251に送信する(ステップS2206)。利用者Aの情報端末251が、このHTMLコードを受信、解析した上その表示手段に表示する。
【0088】
図23は、ステップS2206のHTMLコードが、利用者Aの情報端末251の表示手段に表示された画面の一例である。Webブラウザのウィンドウには、WebサービスXの画面2300が表示されている。この画面は、利用者Aの画面であることを示す表示2301と、知人のリスト2302を有する。本願発明の一実施形態の特徴の一つは、この知人のリストに、WebサービスX以外の知人を表示可能な点である。この画面のうちで知人2320と知人2330が、ネットワークサービスNの上で各々IDncで表されるノードおよびIDndで表されるノードに相当する。この例では、付加情報Pycはニックネーム2321とアバター2322とWebサービス名2323であり、付加情報Pzdはニックネーム2331とアバター2332とWebサービス名2333である。
【0089】
ここで本願発明に係る本実施形態の効果について説明する。本実施形態によれば、ネットワークNのサーバが、WebサービスX、Y、およびZの各利用者の認識票およびソーシャルグラフを入手しなくとも、たとえば図23に示すようなWebサービスを超えた知人の閲覧が可能になる。さらに、本実施形態によれば、WebサービスXのサーバ210がWebサービスYおよびZの利用者の認識票を得ずに、たとえば図23に示すような他サービスの利用者に関する表示が可能になる。一般に事業的観点から、各Webサービスが他のWebサービス事業者に利用者の情報やソーシャルグラフを開示したくないという要求が強い。本実施形態によれば、この要求を満たしながらかつ、すべてのWebサービスのソーシャルグラフの和集合によって得られる情報を各Webサービスが利用できる。
【0090】
(実施形態3)
本願の実施形態3は、図21に示されるような、複数のWebサービスにまたがった匿名のグラフを利用して、直接の知人でない人を、確度の高い知人候補として推奨することができる方法を提供する。本実施形態によれば、ネットワークサービスNが各々のWebサービスの利用者の認識票やソーシャルグラフを入手せずに、これが可能となる。以下で図24のフロー図を参照して、これを実現する方法を説明する。
【0091】
いま、利用者Aがその情報端末251を通じてWebサービスXのサーバに対して、Webページなどの表示のための情報の要求を送信する(ステップS2401)。WebサービスXのサーバ210がこれを受信する。次に、WebサービスXのサーバの送受信手段410は、知人候補の推奨を求める要求を、利用者Aの演算済認識票F(IDxa)と関連づけて、ネットワークサービスNのサーバ200に送信する(ステップS2402)。そして、これを受信したネットワークサービスNのサーバ200では、以下の手順で演算済認識票テーブル323から、ネットワークサービスNの匿名グラフにおいて、F(IDxa)を有するノードIDnaと例えば距離として2を有するノードを検索する。ここで距離として2を有するノードとは、ノードとエッジで結合されたノードが、さらに別のエッジで結合された別のノードを指す。すなわち、一つのエッジで結合されるノードの距離が1となる。
【0092】
図21を参照すれば、ノードIDnaと距離として2を有するノードはノードIDne、IDnf、およびIDngであることが明らかである。以下では図20を参照してこれを導く方法の一例を示す。ネットワークサービスNの検索手段340が、まず受信したF(IDxa)と関連づけられた、演算済認識票テーブル323の「サービスNにおいてエッジで結合された演算済認識票」1430を検索する(ステップS2403)。その結果、F(IDxb)、F(IDyc)、およびF(IDzd)を得る。これらはF(IDxa)を有するIDnaで表されるノードとエッジで結合された3つのノードIDnb、IDnc、IDndに各々対応する(ステップS2404)。次に演算手段が演算済認識票テーブル323を検索し、この3つのノードとエッジで結合されたノードを探す。その結果、F(IDxe)、F(IDxf)、F(IDxa)、F(IDye)、F(IDyf)、F(IDya)、F(IDza)、F(IDze)、およびF(IDzg)が得られる。これらは、ノードIDna、IDne、IDnf、およびIDngに対応する。すなわち、ノードIDnaとネットワークサービスNの匿名グラフ上で距離として2を有する間接の知人を表すノードはIDne、IDnf、およびIDngの3つであることが導かれる(ステップS2406)。ネットワークサービスNの匿名グラフにおいて、IDnaと距離として2を有するノードの検索ができれば、その方法は以上で説明した方法でなくともよい。
【0093】
次に、ネットワークサービスNの検索手段は、その匿名グラフにおいて、ノードIDne、IDnf、およびIDngの各々と、ノードIDnaの間に存在するノードの数を計算する。図21を参照すれば、ノードIDneとノードIDnaの間には、IDnb、IDnc、およびIDndの3つのノードが存在することは明らかである。同様にノードIDnfとノードIDnaの間には2つのノードが、またノードIDngとノードnaの間には1つのノードが存在することがわかる(ステップS2407)。以下では、図20を参照してこれを導く方法の一例を示す。たとえば、ノードIDneとノードIDnaの間のノード数を調べるためには、ネットワークサービスNの検索手段340がIDna2011の行およびIDne1713の行の間で、「サービスNにおいてエッジで結合された演算済認識票」の列1430にある共通の認識票を検索する。この結果F(IDxb)、F(IDyc)、およびF(IDzd)の3つが得られる。これは、ノードIDnb、ノードIDncおよびノードIDndに対応する。同様の方法で、ノードIDnfとノードIDnaとの間にあるノードとして、ノードIDnbおよびノードIDncの2つが得られる。また同様の方法で、ノードIDngとノードIDnaとの間にあるノードとして、IDndの1つが得られる。ネットワークサービスNの匿名グラフにおいて、IDnaと距離として2を有するノードとの間のノード数を導くことができれば、その方法は以上で説明した方法でなくともよい。
【0094】
ステップS2407で得られた、ネットワークサービスN上で距離として2を有するノードと、各々のノードとノードIDnaとの間にあるノード数から、演算手段330は、記憶手段320に、図25(a)に示すような親密度テーブル326を作成する。図25(a)を参照すると、親密度テーブルたとえば認識票IDne2511と、IDnaとの間にある中間ノードの数2521とが関連づけられている。IDneには、このノードの有する演算済認識票F(IDxe)2531が関連づけられている。これは検索手段340が、図20に示す演算済認識票テーブル323のIDneの行の「受信した演算済認識票」1420および「共有付加情報」1440から、WebサービスXから受信した演算済認識票および共有付加情報を検索することで実現できる。ただし、IDnaから距離として2を有するノードIDngは、WebサービスXを利用していない利用者Gを表す匿名ノードである。このため、これに関連づけられたWebサービスXの演算済認識票は存在しない。従って、ステップS2402のWebサービスXのサーバ210からの知人候補推奨要求に対する応答に、ノードIDngは含まれないのが好ましい。これは、利用者GはWebサービスXの利用者ではないため、もしノードIDngに関する中間ノード数をWebサービスXのサーバ210に送ったとしても、WebサービスXのサーバは利用者Gについての情報を持っておらず、利用者Aの情報端末251の要求に応えて、利用者Gを表示することができないためである。
【0095】
WebサービスX、YおよびZの3つのソーシャルグラフを重畳した匿名グラフ上で距離が2のノード同士は、何らかのWebサービス上で知人の知人、すなわち間接的な知人同士を表す。つまり、中間ノード数2520は、間接的な知人同士の間の、すべてのWebサービスにおける共通の知人の数に相当する。知人の知人であっても、共通の知人の多い利用者同士の方が、より親密な関係であると推定される。これが、図25のような中間ノード数を含むテーブルを、親密度テーブル326と呼ぶ理由である。
【0096】
次に、ネットワークサービスNのサーバの送受信手段310が、前記図25(a)に示した親密度テーブルをWebサービスXのサーバ210に送る(ステップS2408)。次に、WebサービスXのサーバ210がこれを受信する。WebサービスXのサーバの検索手段450が、受信した「WebサービスXの演算済認識票」2530を検索キーに、図12に示す演算済認識票テーブル423の「演算済認識票」の行1220を検索する。その結果、F(IDxe)およびF(IDxf)に各々対応するサービスXの認識票IDxeおよびIDxfを得る。これは各々利用者Eおよび利用者FのWebサービスXにおける認識票であり、受信した共通ノード数3および2が関連づけられる(ステップS2409)。これは、利用者Aと利用者Eの間には共通の知人が3人おり、利用者Aと利用者Fとの間には共通の知人が2人いることを表している。
【0097】
次に、WebサービスXのサーバのHTML生成手段が利用者Aの知人候補として、利用者Eおよび利用者Fの専用付加情報Qxe1263およびQxf1264を含むHTMLコードなどを生成する。この時、上記共通ノード数にしたがって利用者Eは利用者Fよりも、より直接の知人になる可能性の高い知人候補として表示するようなHTMLコードを生成する。次にWebサーバXの送受信手段410がこのHTMLコードを利用者Aの情報端末251に送信する(ステップS2410)。利用者Aの情報端末はこのHTMLコードを受信、解析の後、その表示手段に表示する(ステップS2411)。
【0098】
図26は、ステップS2411のHTMLコードが、利用者Aの情報端末251の表示手段に表示された画面の一例である。Webブラウザのウィンドウには、Webサービスの画面2600が表示されている。この画面は、利用者Aの画面であることを表す表示2601と、優先順位のついた知人候補のリスト2602を有する。この一例では、知人候補のリストに利用者E2610および利用者F2620が、専用付加情報と優先順位とともに表示されている。利用者Eの専用付加情報2611および2612には、優先順位2613が、また利用者Fの専用付加情報2621および2622には、優先順位2623が関連づけて表示されている。図26の例では、専用付加情報には、各利用者の氏名と顔写真が使われている。この表示により、利用者Aは、「Jack White」の氏名を持つ利用者Eの方が、「Susan Berry」という氏名を持つ利用者Fより、共通の知人が多く、直接の知人になりやすい、優先順位の高い利用者であることを知ることができる。知人候補の優先順位表示は、図26にあるような文字列による表示でなくてもよい。たとえば、優先順位をアイコン等による図形で表示する方法や、あるいは表示順であらわしてもよい。
【0099】
ここで、本実施形態の効果について説明する。本実施形態で示した一例では、利用者A、E、およびFはすべてWebサービスXの利用者である。したがって、従来の方法によっても、利用者Aと、利用者EおよびFは距離として2を有するノードの間接的な知人同士であることを、WebサービスXのサーバが導くことは従来技術でも可能であった。従って、利用者Xのサーバが、利用者Aの情報端末において、利用者Eおよび利用者Fを知人候補として表示させることは可能であった。しかし、図7に示すWebサービスXの保有するソーシャルグラフを見ると、従来の方法では、WebサービスXのサーバでは利用者Aと利用者Eの間に、他のWebサービスを含めると3人の共通の知人がいることを検知する事は困難であるか不可能である。同様に、WebサービスXのサーバでは、利用者Aと利用者Fの間に、他のWebサービスを含めると2人の共通の知人がいることを検知することも困難であるか不可能である。したがって、従来の方法では、図26のような知人候補の推薦サービスは実現が困難であるか不可能である。
【0100】
しかし、本実施形態によれば、ネットワークサービスNのサーバがWebサービスXの利用者の認識票やソーシャルグラフを入手することなく、かつWebサービスXのサーバが他のWebサービスのソーシャルグラフを入手することなく、図26のような一つのWebサービスを超えた知人候補の優先順付けが可能となる。主として事業的観点から、Webサービス間の独立性が求められており、本実施形態によれば、Webサービスの独立性とより的確な知人候補の推薦を両立するという効果がある。
【0101】
なお、本実施形態に係る以上の説明では、ネットワークサービスNのサーバは、図25(a)に示す親密度テーブル326の情報をWebサービスXのサーバに送信し、ステップS2409で受信したWebサービスXのサーバはWebサービスXの専用付加情報を利用者Aの情報端末に送信した。このため、図26(a)に示す親密度テーブルには、WebサービスXの利用者でないIDngのノードに関する情報は含まれない。本実施形態の他の一例では、図26(b)のような親密度テーブルの情報を、WebサービスXのサーバに送信してもよい。この場合は、親密度テーブルは、WebサービスXを利用していない利用者のノードIDngを含む。さらに、「IDnaから距離として2を有するノード」2550の各認識票には、ネットワークサービスNの演算済認識票テーブルから得た共有付加情報2570が関連づけられている。この場合には、親密度テーブルを受信したWebサービスXのサーバ210が、利用者Aの情報端末に送るHTMLコードを生成する際、優先順位とともに共有付加情報を表示する。こうすることで、WebサービスXの利用者に加えて、WebサービスX以外の利用者を、知人候補として推薦するサービスが可能となる。ただし、一般に専用付加情報と比較して、共有付加情報は少ない。たとえば、WebサービスXの専用付加情報PxeやPxfには名前、自己紹介、日記、写真、動画など様々な情報が含まれていても、他のWebサービスの利用者に開示する共有付加情報はニックネームとアバターというような場合が多い。したがって、図26(b)の親密度テーブルを使うこの例では、より広い範囲の利用者を知人候補として推薦するサービスが実現する反面、利用者が知人候補に関して得る情報は少なくなる傾向にある。
【0102】
(実施形態4)
本実施形態は、ネットワークサービスNにある匿名グラフの各エッジに利用者同士の関係の親密度を表現する係数を関連づけることで、他Webサービス上での知人を含めた知人の順位付けを実現したり、より的確な知人候補の推薦を実現する。
【0103】
一般に、各Webサービスにおける利用者同士の知人関係の強さや親密度は同じではない。たとえば、SNS上で知り合った匿名の知人同士と比べて、音声通話を使っている知人同士は、より親密である可能性が高い。また、同じWebサービスにおける利用者同士でも、互いの書き込んだ情報を閲覧するだけの利用者同士に比べて、頻繁にメッセージ交換をする利用者同士の方がより親密である可能性が高い。実施形態2では、WebサービスXにおいて、他のWebサービスの利用者を表示する際、その利用者との親密度は考慮しなかった。実施形態3では、ネットワークサービスNにおける統合された匿名グラフ上で距離として2を有する利用者を知人候補として推薦する場合に親密度を考慮して優先順位付けをおこなったが、実施形態3で親密度の指標としたのは、知人候補との間の共通の知人の数である。すなわち、実施形態2および実施形態3では、ともに各WebサービスおよびネットワークサービスNにおける知人関係、すなわちグラフのエッジはすべての等しい親密度を表すという前提を用いていた。
【0104】
これに対して、本実施形態4では、各Webサービスのソーシャルグラフを構成するエッジの親密度は異なるという前提を用いる。すなわち、ネットワークサービスNにおける、統合された匿名グラフにおいて、各エッジに親密度係数を関連づけて記憶した上、Webサービスが知人リストまたは知人候補のリストを表示する際の優先順位付けのための情報を、ネットワークサービスNのサーバ200から各Webサービスのサーバに送信する。
【0105】
本実施形態では、各Webサービスのサーバの演算済認識票テーブル423、523、および623に親密度係数が追加される。これまでの説明において、各々を表す図12、図16、および図19には親密度係数についての記述がない。このため以下ではWebサービスXのサーバの演算済認識票テーブルを例にして、各Webサービスのサーバの演算済認識票テーブルにおいて、親密度係数がどのように処理されるかを説明する。
【0106】
図27は、WebサービスXのソーシャルグラフにおける親密度係数を表したものである。本実施形態に示す一例では、ソーシャルグラフのエッジは方向付きエッジである。このため、認識票IDxaで表される利用者Aのノード701とIDxbで表される利用者Bのノード702との間のエッジには、2つの親密度係数μxab2711とμxba2712がある。同様に、IDxbとIDxe間のエッジにはμxbeとμxebが、またIDxbとIDxf間にはμxbfとμxfbが各々ある。本実施形態による方法では、各Webサービスのソーシャルグラフは、方向付きエッジであっても方向無しエッジであってもよい。本実施形態に示すような方向付きエッジの場合は、エッジあたりの親密度係数は2つになるが、方向無しエッジの場合は、エッジあたりの親密度係数は1つとなる。以下では、WebサービスSにおけるノードTからノードUへの方向付きエッジについての親密度係数をμstuと表現する。なお、本実施形態における一例では、簡単のために0≦μstu≦1とする。
【0107】
WebサービスXのサーバ210では、図27に示すソーシャルグラフから前記ステップS1101およびS1102の手順に従って、演算済認識票テーブル423を生成する。図28に、親密度係数を含む演算済認識票テーブルのうち、「サービスXの認識票」1210、「演算済み認識票」1220、および「WebサービスXでエッジで結合された認識票の演算結果」1230を抜粋して示す。ただし、本実施形態では、「WebサービスXでエッジで結合された認識票」にある演算済認識票の各々に親密度係数が関連づけられて保存される。たとえば、図27に示したノードIDxaを始点とし、ノードIDxbを終点とする方向付きエッジ2721は、図28に示す演算済認識票テーブルではF(IDxa)2821に関連づけられたF(IDxb)2831に、更に関連づけられたμxab2711によって表現されている。同様に、図27に示したノードIDxbを始点とし、ノードIDxaを終点とする方向付きエッジ2722は、図28に示す演算済認識票テーブルではF(IDxb)2822に関連づけられたF(IDxa)2832に、更に関連づけられたμxba2712によって表現されている。図27に示した他の方向付きエッジも、同様に図28に示す演算済認識票テーブルに記憶される。
【0108】
親密度係数は、WebサービスXのソーシャルグラフの、ノード間の結びつきの強さを示す数値であれば何でもよい。たとえば、WebサービスXがSNSあったとすると、過去利用者Aが利用者Bの情報を閲覧した回数を記憶手段420が記憶しておく。次に、親密度係数生成手段460は、この回数を親密度係数μxabとして、図28に示す演算済認識票テーブルに記憶する。逆に利用者Bが利用者Aの情報を閲覧した回数を、利用者Bのノードから利用者Aのノードに向かうエッジの親密度係数μxbaとする。もしWebサービスXが音声通話やチャットサービスを提供している場合には、通話やチャットの回数や時間の長さを親密度係数として利用することができる。また、各利用者が各々の情報端末の入力手段から他の利用者との人間関係の強さを表す情報を入力した上で、これをWebサービスXのサーバに送信し、利用者が入力した情報を親密度係数としてもよい。たとえば、利用者Aの感じている利用者Bとの関係の強さを1から5までの数値で、その情報端末251に入力する。利用者Aの情報端末251は、前記数値をWebサービスXのサーバ210に送信する。WebサービスXのサーバは前記数値を親密度係数μxabとする。また、すべてのエッジに親密度係数が関連づけられていなくてもよい。またWebサービスXにおけるソーシャルグラフの親密度係数の一部または全部が同じ値でもよい。
【0109】
次に、図11においてステップS1103からS1105において説明したように、WebサービスXの演算済認識票テーブルの一部の情報を、ネットワークサービスNのサーバ200に送信する。
【0110】
WebサービスYのサーバ220およびWebサービスZのサーバ230においても同様の方法で、親密度係数を含む演算済認識票テーブルを作成の上、その一部をネットワークサービスNのサーバ200に送信する。WebサービスYのサーバ220およびWebサービスZのサーバ230における処理は、既に本実施形態の一例でWebサービスXのサーバについて説明した処理と同様なので、説明は省略する。
【0111】
ネットワークサービスNのサーバ200が、WebサービスX、Y、およびZの各サーバより親密度係数を含む演算済認識票テーブルの中で、演算済認識票、エッジで結合された認識票の演算結果と各々に関連づけられた親密度係数、他のWebサービスの認識票の演算結果、および共有付加情報を受信する。
【0112】
ネットワークサービスNのサーバ200は、このようにWebサービスX、Y、およびZより情報を受信し、図13のような手順でネットワークサービスNの演算済認識票テーブル323を作成する。本実施形態では演算済認識票テーブル323の「サービスNにおいてエッジで結合された演算済認識票」1430の各々の演算済認識票の各々に、各Webサービスのサーバから受信した親密度係数が関連づけられて記憶される。説明のために、図29には、本実施形態における演算済認識票テーブル323の、「サービスNにおいてエッジで結合された演算済認識票」を抜粋したものを示す。たとえば、ネットワークサービスNのノードIDna2911には、演算済認識票F(IDxb)2931に親密度係数μxab2932が関連づけられて記憶されている。これらは、図28を参照して、WebサービスXのサーバにあるF(IDxb)2831とそれに関連づけられたμxab2711を、ネットワークサービスNのサーバ200が受信した上で、演算済認識票テーブル323に記憶されたものである。同様に、再び図29を参照して、WebサービスYのサーバより受信したF(IDyc)2933とμyac2934が関連づけて保存されている。さらに、WebサービスZのサーバより受信したF(IDzd)2935とμzad2936が関連づけられて保存されている。
【0113】
次に、ネットワークサービスNのサーバの演算手段330は、記憶手段に記憶されたWebサービス重みテーブル327と図29に示した親密度係数を含む演算済認識票テーブル323より、親密度係数付きグラフテーブルを作成する。以下ではその手順にてついて説明する。
【0114】
まず、Webサービス重みテーブルについて説明する。Webサービス重み係数は、親密度に関する各Webサービスの寄与を表す。たとえば、いまWebサービスXが実名を知っている人同士が使う音声通話のサービス、WebサービスYがSNSサービス、WebサービスZは、匿名の人同士が使うブログサービスだったとする。この場合、WebサービスZでの知人同士より、WebサービスYの知人同士が、さらにWebサービスYの知人同士よりWebサービスXの知人同士の方が、親密度が高いと推測される。このような状況を、Webサービスごとの重み係数という形で表現するのが、Webサービス重みテーブルである。
【0115】
図30は、本実施形態の一例におけるWebサービス重みテーブルの一例である。Webサービス重みテーブルは、Webサービス認識票3010および重み係数3020を有する。図30では、WebサービスXの認識票http://www.X.com(3011)に関連付けられて、重み係数λx3021が記憶されている。同様に、WebサービスYおよびZの各々の認識票に、重み係数λy3022およびλz3023が各々関連づけられて記憶されている。
【0116】
次に、演算手段330は演算済認識票テーブル323とWebサービス重みテーブル327から、親密度係数付グラフテーブル328を生成する。図31は、本実施形態における親密度係数付グラフテーブルの一例である。親密度係数付グラフテーブルは、ネットワークサービスNの有する各ノード1210が、エッジで結合された各々のノードの認識票と親密度係数κが関連づけられて記憶される。図31ではたとえば、ネットワークサービスNでノードIDnaとエッジで結合されたノードIDnb3121、ノードIDnc3123、およびノードIDnd3125には、各々ネットワークサービスNにおける親密度係数κab、κac、およびκadが各々関連づけられて記憶される。
【0117】
たとえば、ネットワークサービスNにおける親密度係数κab3122は、κab=μxab・λx/(λx+λy+λz)で求められる。同様にκac3124およびκad3126は、各々κac=μyac・λy/(λx+λy+λz)、κad=μzad・λz/(λx+λy+λz)で求められる。図29にある各Webサービスから受信した親密度係数μstuから、図31にあるネットワークサービスNにおける親密度係数κtuへは、図30のWebサービスの重み係数λsを用いて、λs・μstuを、Webサービス重み係数の総和で正規化した値で表される。たとえばWebサービスXは実名を知っている人同士が使う音声通話のサービス、WebサービスZは匿名の人同士が使うブログサービスだったとする。またたとえば、これらWebサービスにおける知人関係の強さを親密度係数λx:λz=2:1で表したとする。すると、WebサービスXのサーバ210から送られたすべての親密度係数μxtuは、WebサービスZのサーバ230から送られた全ての親密度係数μztuの2倍の重みで、ネットワークサービスNの親密度係数κtuに寄与する。たとえば、WebサービスX、Y、およびZの各エッジの親密度係数がすべて1で同じだった場合には、ネットワークサービスNの親密度係数κtuは、そのエッジが存在するWebサービスの重み係数をλsとすると、λs/(λx+λy+λz)になる。
【0118】
つまり、ネットワークサービスNにおける匿名グラフの各エッジの親密度係数κtuは、各Webサービスにおける利用者同士の知人関係が強いほど、またそのWebサービスが重要であるほど、大きな数値となる性質を持っている。本実施形態で説明したネットワークサービスNにおける匿名グラフの各エッジの親密度係数の計算方法は一例であり、このような性質を親密度係数の計算方法であれば、どのようなものであってもよい。
【0119】
なお、本実施形態の説明では、ネットワークサービスNにおける匿名グラフの一例として簡単のために、図21に示すものを用いた。さらに一般的な一例として、ネットワークサービスNの2つの匿名ノード間が、複数のWebサービスにおけるエッジで結合されている場合がある。図32にその一例を示す。
【0120】
図32において、黒点はネットワークサービスNにおけるノードを表す。実線はWebサービスXにおけるエッジ、一点破線はWebサービスYにおけるエッジ、点線はWebサービスZにおけるエッジである。たとえば、ネットワークサービスNにおいて、ノードIDna3201で表される利用者Aは、WebサービスXにおいてノードIDnb3202で表される利用者Bを知っている状況を、方向付きエッジ3211で表している。他の方向付きエッジも同様である。すなわち図32で、ノードIDnaとノーIDnbとの間にある6本の矢印によって、利用者AとBはWebサービスX、Y、およびZのすべてにおいてお互いに知人であることを表している。同様に、ノードIDnb3202とノードIDnc3204の間の4本の矢印は、利用者Bとおよび利用者CがWebサービスYおよびZにおいて互いに知人であることを表している。さらに、ノードIDnb3202とノードIDnd3203の間の3本の矢印は、利用者Bと利用者DはWebサービスXにおいて互いに知人であり、WebサービスYにおいては利用者Bが利用者Dを知っているが、利用者Dは利用者Bを知らないことを表している。
【0121】
このとき、各Webサービスの有するソーシャルグラフのエッジに親密度係数が関連づけられているとする。すなわち、WebサービスXのサーバ210において、エッジ3211にはμxab、エッジ3212にはμxba、エッジ3231にはμxbd、エッジ3232にはμxdbが各々関連づけられている。WebサービスYのサーバ220において、エッジ3213にはμyab、エッジ3214にはμyba、エッジ3221にはμybc、エッジ3222にはμycb、エッジ3233にはμybdが各々関連づけられている。さらに、WebサービスZのサーバではエッジ3215にはμzab、エッジ3216にはμzba、エッジ3223にはμzbc、エッジ3224にはμzcbが各々関連づけられている。
【0122】
このとき、たとえばネットワークサービスNにおけるノードTからノードUへの方向付きエッジの親密度係数κtuは、次のように計算することで、上記ネットワークサービスNの親密度係数が満たすべき性質を実現できる。
【0123】
図32の一例では、たとえばネットワークサービスNにおけるノードIDnaからIDnbに向かう方向付エッジの親密度係数κabは、(λx・μxab+λy・μyab+λz・μzab)/(λx+λy+λz)となる。同様にノードIDnbからノードIDnaに向かう方向付エッジの親密度係数κbaは、(λx・μxba+λy・μyba+λz・μzba)/(λx+λy+λz)となる。図32における、ノードIDnbとノードIDndとの間のエッジのような場合には、ノードIDnbからノードIDndに向かう方向付きエッジの親密度係数κbdは、(λx・μxbd+λy・μybd)/(λx+λy+λz)となり、逆にノードIDndからノードIDnbに向かう方向付きエッジの親密度κdbはλx・μxdb/(λx+λy+λz)となる。なお、ここで示した計算方法は一例であり、上記ネットワークサービスNの親密度係数が満たすべき性質を実現する計算方法であれば、どのような計算方法であってもよい。
【0124】
次に、親密度付グラフテーブル328に含まれる情報をネットワークサービスNのサーバ200が各WebサービスXのサーバに送信し、各Webサービスのサーバがこの情報を使って、Webサービスの機能を向上する、本実施形態に係る方法の例を、図31などを参照して2つ説明する。以下に述べる第1の例の処理は実施形態2と同様であり、また第2の例の処理は実施形態3とほぼ等しい。このため、第1の例は図22に示すフロー図を、また第2の例は図24に示すフロー図を参照することで、適宜説明を省略する。
【0125】
本実施形態の第1の例は、WebサービスXのサーバが、その利用者の情報端末において、図23に示すように、他のサービスにおける知人を含めて一覧を表示する際に、より親密と考えられる知人を優先的に表示する。たとえば図23の知人リスト2302の表示において、より強い知人関係と考えられる知人を高い優先順位で表示することができる。以下に、図22のフロー図を参照して、処理の概略を説明する。
【0126】
本実施形態の第1の例では、まず図22のステップS2201およびS2202に示すように、WebサービスXの利用者Aが知人情報の取得要求をWebサービスXのサーバ210に送信し、さらにWebサービスXのサーバは、演算済認識票F(IDxa)を検索キーとしてネットワークサービスNのサーバ200に検索依頼をおこなう。次に、ネットワークサービスNのサーバでは、F(IDxa)と関連づけられたネットワークサービスNの認識票IDnaを検索キーとして親密度係数付グラフテーブル328を検索する。図31を参照すると、この検索結果としてIDnb、IDncおよびIDndと、その各々に関連づけられた親密度係数κab、κac、およびκadを得る(ステップS2204に相当)。これらと共有付加情報PycとPzdがWebサービスXのサーバ210に送られる(ステップS2205に相当)。そしてWebサービスXのサーバ210が利用者Bの共有付加情報Pxbまたは専用付加情報Qxb、および利用者Cの共有付加情報Pyc、および利用者Dの共有付加情報Pzdを含むHTMLコードを生成した上、利用者Aの情報端末に送信する(ステップS2206相当)。ここで本実施形態においてはWebサービスXのサーバの演算手段430は、ネットワークサービスNのサーバ200から受信したネットワークサービスNの親密度係数κab、κac、κadの大きい順番に、各々の関連づけられた利用者の優先度が高いことを表示するようなHTMLコードを生成する。利用者Aの情報端末はこのHTMLコードを受信、解析の上、表示手段に図23に示すような画像を表示する(ステップS2207相当)。本実施形態では、図23の画面に、ネットワークサービスNのサーバから受け取った親密度係数の順番がわかるような表示がおこなわれる。ここで行われる親密度順位の表示は、親密度係数が大きな順番に列挙する、親密度係数を表示する、親密度の順番を表示するなど、親密度の順番が表現できるものであればどのような形態でもよい。なお、個々で述べた本実施形態の第1の例では、利用者Aから利用者B、C、およびDへの方向付エッジの親密度係数を用いて、利用者Aの情報端末における付加情報表示の優先順位付けを行っている。別の一例では、逆方向の方向付エッジの親密度係数、すなわちκba、κca、およびκdaをもとに、利用者Aの情報端末における付加情報表示の優先順位付けを行ってもよい。また、別の一例では、各々逆方向の方向付エッジの親密度係数との平均をとるなどして、双方向の親密度係数を評価した結果をもとに、利用者Aの情報端末における付加情報表示の優先順位付けを行ってもよい。
【0127】
本実施形態の第2の例は、WebサービスXのサーバが、その利用者の情報端末において、図26に示すように、知人の知人を知人候補として表示する際に、ネットワークサービスNのサーバより受信した親密度係数を利用して、より親密と考えられる知人候補を優先的に表示する。以下に、図24のフロー図を参照して、処理の概略を説明する。
【0128】
本実施形態の第2の例では、まず図24のステップS2401およびS2402に示すように、WebサービスXのサーバ210は、利用者AからのWebページ表示要求を契機として、ネットワークサービスNのサーバ200に知人候補取得要求を送信する。次に、ネットワークサービスNのサーバでは、F(IDxa)に関連づけられたネットワークサービスNの認識票IDnaを検索キーとして親密度係数付グラフテーブル328を検索する(ステップS2403相当)。図31を参照すると、その検索結果としてIDnb、IDnc、およびIDndと、その各々に関連づけられたκab、κac、およびκadを得る(ステップS2404相当)。次に、IDnb、IDnc、およびIDndを検索キーとして、再度親密度付グラフテーブル328におけるエッジで結合されたノードと、そのノードを終点とするエッジの親密度係数を検索する(ステップS2405相当)。図31を参照すると、その検索結果としてIDne、IDnf、およびIDngの各ノードを得る。さらにその検索結果としてはノードIDneを終点とする3つの親密度係数κbe、κce、およびκdeを、ノードIDnfを終点とする2つの親密度係数κbfおよびκcfを、さらにIDngを終点とする親密度係数κdgを得る(ステップS2406相当)。この検索の結果得られた、図33はネットワークサービスNにおける認識票と方向付エッジごとの親密度係数をグラフ表示したものである。
【0129】
次に、ノードIDnaから2次の距離にあるノードIDne、IDnf、およびIDngの各ノードについて、演算手段330がノードIDnaとの間にあるエッジの親密度係数κの総和を計算し、ここから親密度テーブル326を作成する(ステップS2407に相当)。図33を参照して、たとえばIDnfについての親密度係数の総和はκab+κac+κcf+κbfとなる。同様にIDneについての親密度係数の総和はκab+κac+κad+κbe+κce+κdeとなる、同様に、IDngについての親密度係数の総和はκad+κdgとなる。ここから作成される、本実施形態における親密度テーブル326の一例を図34に示す。
【0130】
次に、これら3つのノードのネットワークサービスNにおける認識票、共有付加情報、および親密度係数の総和を関連づけてWebサービスXのサーバに送信する(ステップS2408相当)。次にWebサービスXのサーバが、受信した親密度係数の総和またはその順位を含むHTMLコードを生成して利用者Aの情報端末251に送信する(ステップS2410相当)。次に利用者Aの情報端末は受信したHTMLコードを解析の上、その表示手段に優先順位のついた知人候補を表示する(ステップS2411相当)。
【0131】
この結果として利用者Aの情報端末251の表示手段に表示された画面の一例は、前記実施形態2で説明した図26のようになる。実施形態2の場合は、利用者Aとここで表示される知人候補との間の優先順位は、共通の友人の数で評価した。本実施形態では、やはり利用者Aとここで表示される知人候補との間の優先順位は、ネットワークサービスNにおける利用者Aと知人候補との間のエッジの親密度係数の総和で評価する。
【0132】
ここで、本実施形態に係る本願発明の効果について説明する。本実施形態で示した第1の例では、前記実施形態1に示した効果に加えて、次のような効果がある。前記実施形態1では、各Webサービスの独立性を維持したまま、他Webサービスにおける知人の情報を表示可能であった。本実施形態による方法ではさらに、これら知人との関係の強さを評価して、関係の強い知人を優先表示することが可能となる。
【0133】
また本実施形態で示した第2の例では、前記実施形態2に示した効果に加えて、次のような効果がある。実施形態3では、各Webサービスの独立性を維持したまま、すべてのWebサービスの匿名のソーシャルグラフの和集合における距離2にある利用者を、優先順位を付けて知人候補として推薦することができた。実施形態3では、その優先順位付けに共通の知人数を用いたが、本実施形態では匿名のソーシャルグラフの和集合におけるエッジの親密度係数の総和を用いた。この結果、現実の人間社会における人間関係の強さをより正確に反映した知人候補の推薦が可能になるという効果がある。
【図面の簡単な説明】
【0134】
【図1】複数のWebサービスの有するソーシャルグラフの一例を表す図である。
【図2】本願発明を実施するシステム構成の一例を表す図である。
【図3】本願発明を実施するネットワークサービスNのサーバの概略構成図である。
【図4】WebサービスXのサーバの概略構成図である。
【図5】WebサービスYのサーバの概略構成図である。
【図6】WebサービスZのサーバの概略構成図である。
【図7】WebサービスXの有するソーシャルグラフを表す図である。
【図8】FOAFによるソーシャルグラフ表現形式を説明するための一例図である。
【図9】WebサービスYの有するソーシャルグラフを表す図である。
【図10】WebサービスZの有するソーシャルグラフを表す図である。
【図11】WebサービスXのサーバにおける処理の一例のフロー図である。
【図12】WebサービスXのサーバにおけるノード情報およびエッジ情報の一例を表す図である。
【図13】本願発明の方法によるネットワークサービスNのサーバにおける処理の一例のフロー図である。
【図14】WebサービスXから受信した情報を記憶した、ネットワークサービスNの演算済認識票テーブルの一例を表す図である。
【図15】WebサービスXから受信した情報を記憶した、ネットワークサービスNの演算済認識票テーブルをグラフ表示したものである。
【図16】WebサービスYのサーバにおけるノード情報およびエッジ情報の一例を表す図である。
【図17】WebサービスXおよびYから受信した情報を記憶した、ネットワークサービスNの演算済認識票テーブルの一例を表す図である。
【図18】WebサービスXおよびYから受信した情報を記憶した、ネットワークサービスNの演算済認識票テーブルをグラフ表示したものである。
【図19】WebサービスZのサーバにおけるノード情報およびエッジ情報の一例を表す図である。
【図20】WebサービスX、YおよびZから受信した情報を記憶した、ネットワークサービスNの演算済認識票テーブルの一例を表す図である。
【図21】WebサービスX、YおよびZから受信した情報を記憶した、ネットワークサービスNの演算済認識票テーブルをグラフ表示したものである。
【図22】WebサービスXの利用者の情報端末に、WebサービスX以外の知人を表示するための処理を表すフロー図である。
【図23】WebサービスXの利用者の情報端末に、WebサービスX以外の知人を表示した画面の一例を表す図である。
【図24】WebサービスXの利用者の情報端末に、優先順位をつけて知人候補を推薦するための処理を表すフロー図である。
【図25】WebサービスNのサーバにおける親密度テーブルの例を表す図である。
【図26】WebサービスXの利用者の情報端末に、優先順位をつけて知人候補を推薦する画面の一例図である。
【図27】WebサービスXのソーシャルグラフにおける親密度係数の一例を表す図である。
【図28】WebサービスXの親密度係数のある演算済認識票テーブルの一例を表す図である。
【図29】ネットワークサービスNの親密度係数のある演算済認識票テーブルの一部を表す図である。
【図30】ネットワークサービスNのWebサービス重みテーブルを表す一例図である。
【図31】ネットワークサービスNの親密度付グラフテーブルの一例を表す図である。
【図32】複数のWebサービスにおけるエッジがノード間で共有されていることを表す概念図である。
【図33】ネットワークサービスNにおける親密度係数をグラフ表示した図である。
【図34】ネットワークサービスNにおける親密度テーブルの一例図である。
【符号の説明】
【0135】
200 サーバ装置
210 WebサービスXのサーバ
220 WebサービスYのサーバ
230 WebサービスZのサーバ
251 利用者Aの情報端末
252 利用者Fの情報端末
253 利用者Eの情報端末
291 ネットワーク
292 ネットワーク

【特許請求の範囲】
【請求項1】
第1のWebサービスを利用する利用者を前記第1のWebサービスの利用者の中で一意に特定するための第1の認識票に前記第1のWebサービスの第1のサーバで演算を施した第1の演算済認識票、および第2のWebサービスを利用する前記利用者を前記第2のWebサービスの利用者の中で一意に特定するための第2の認識票に前記第1のサーバで前記演算を施した第2の演算済認識票を、前記第1のサーバより受信する受信手段と、
前記第2の認識票に前記第2のWebサービスの第2のサーバで前記演算を施した第3の演算済認識票を、前記第2のサーバより受信する受信手段と、
前記第3の演算済認識票を検索キーとして、前記第1のサーバおよび前記第2のサーバから受信した演算済認識票を検索して、前記第2の演算済認識票と前記第3の演算済認識票の一致を検出する検索手段と、
前記第1のWebサービスの利用者の集合と前記第2のWebサービスの利用者の集合の和集合の中で前記利用者を一意に特定するための第3の認識票に関連づけて、前記第2の演算済認識票および前記第3の演算済認識票を記憶する記憶手段と、
を有することを特徴とするサーバ装置。
【請求項2】
前記演算は不可逆性を有することを特徴とする、請求項1に記載のサーバ装置。
【請求項3】
前記演算は対称暗号処理を用い、
前記第1の演算済認識票および前記第2の演算済認識票を復号化する秘密鍵は前記第1のサーバに記憶され、
前記第3の演算済認識票を復号化する秘密鍵は前記第2のサーバに記憶されることを特徴とする請求項1記載のサーバ装置。
【請求項4】
前記演算は非対称暗号処理を用い、
前記第1の演算済認識票および前記第2の演算済認識票を復号化する秘密鍵は前記第1のサーバに記憶され、
前記第3の演算済認識票に前記演算を施した結果を復号化する秘密鍵は前記第2のサーバに記憶されることを特徴とする請求項1記載のサーバ装置。
【請求項5】
Webサービスを提供するためのサーバ装置であって、
前記Webサービスの利用者の中で第1の利用者を一意に特定するための、第1の認識票に非可逆演算を施した第1の演算済認識票と、前記第1の利用者と前記Webサービスにおいて関係を持つ前記Webサービスの第2の利用者を前記Webサービスの利用者の中で一意に特定するための、第2の認識票に前記非可逆演算を施した第2の演算済認識票を、関連づけた状態で送信する送信手段を有することを特徴とするサーバ装置。
【請求項6】
Webサービスの利用者の中で第1の利用者を一意に特定するための、第1の認識票に非可逆演算を施した第1の演算済認識票と、前記第1の利用者と前記Webサービスにおいて関係を持つ第2の利用者を前記利用者の中で一意に特定するための、第2の認識票に前記非可逆演算を施した第2の演算済認識票を、前記Webサービスのサーバより受信する受信手段を有することを特徴とするサーバ装置。
【請求項7】
第1のWebサービスを使う第1の利用者を前記第1のWebサービスの利用者の中で一意に特定するための第1の認識票に演算を施した第1の演算済認識票と、前記第1の利用者と前記第1のWebサービスにおいて関係を持つ前記第1のWebサービスを使う第2の利用者を、前記第1のWebサービス利用者の中で一意に特定するための第2の認識票に前記演算を施した第2の演算済認識票を、前記第1のWebサービスを提供する第1のサーバより受信する受信手段と、
第2のWebサービスを使う前記第1の利用者を前記第2のWebサービスの利用者の中で一意に特定するための第3の認識票に演算を施した第3の演算済認識票と、前記第1の利用者と前記第2のWebサービスにおいて関係を持つ前記第2のWebサービスを使う第3の利用者を、前記第2のWebサービス利用者の中で一意に特定するための第4の認識票に前記演算を施した第4の演算済認識票を、前記第2のWebサービスを提供する第2のサーバより受信する受信手段と、
を有することを特徴とするサーバ装置。
【請求項8】
前記第1の演算済認識票と前記第3の演算済認識票の一致を検出する検索手段と、
前記第1の演算済認識票と前記第3の演算済認識票を、前記第1のWebサービスの利用者の集合と前記第2のWebサービス利用者の集合の和集合の中で前記第1の利用者を一意に特定するための第5の認識票と関連づけて記憶する記憶手段と、
前記第2の演算済認識票を、前記第1のWebサービスの利用者の集合と前記第2のWebサービス利用者の集合の和集合の中で、前記第2の利用者を一意に特定するための第6の認識票と関連づけて記憶する記憶手段と、
前記第4の演算済認識票を、前記第1のWebサービスの利用者すべてと前記第2のWebサービス利用者すべての和集合の中で前記第3の利用者を一意に特定するための第7の認識票と関連づけて記憶する記憶手段と、
を有することを特徴とする、請求項7記載のサーバ装置。
【請求項9】
前記第1の演算済認識票に前記第1の利用者の前記第1のWebサービスにおける第1の付加情報を関連づけた状態で受信し、かつ前記第2の演算済認識票に前記第2の利用者の前記第1のWebサービスにおける第2の付加情報を関連づけた状態で受信し、かつ前記第3の演算済認識票に前記第1の利用者の前記第2のWebサービスにおける第3の付加情報を関連づけた状態で受信し、かつ前記第4の演算済認識票に前記第3の利用者の前記第2のWebサービスにおける第4の付加情報を関連づけた状態で受信することを特徴とする請求項8記載のサーバ装置。
【請求項10】
前記第1のサーバより前記第1の演算済認識票を含む要求を受信する受信手段と、
受信した前記第1の演算済認識票を検索キーとして前記第1のサーバおよび前記第2のサーバより受信した演算済認識票の集合を検索する検索手段と、
検索結果として得られた前記第4の演算済認識票に関連づけられた前記第7の認識票を前記第1のサーバ装置に送信することを特徴とする請求項9記載のサーバ装置。
【請求項11】
前記第1のサーバより前記第1の演算済認識票を含む要求を受信する受信手段と、
受信した前記第1の演算済認識票を検索キーとして前記第1のサーバおよび前記第2のサーバより受信した演算済認識票の集合を検索する検索手段と、
検索結果として得られた前記第4の演算済認識票に関連づけられた前記第4の付加情報を前記第1のサーバに送信することを特徴とする請求項9記載のサーバ装置。
【請求項12】
第1のWebサービスを使う第1の利用者を前記第1のWebサービスの利用者の中で一意に特定するための第1の認識票に第1の演算を施した第1の演算結果と、前記第1の利用者と前記第1のWebサービスにおいて関係を持つ前記第1のWebサービスを使う第2の利用者を、前記第1のWebサービス利用者の中で一意に特定するための第2の認識票に前記第1の演算を施した第2の演算済認識票と、前記第2の利用者と前記第1のWebサービスにおいて関係を持つ前記第1のWebサービスを使う第3の利用者を、前記第1のWebサービスの利用者の中で一意に特定するための第3の認識票に前記第1の演算を施した第3の演算済認識票と、前記第1の利用者と前記第2の利用者との間の第1の親密度係数と、前記第2の利用者と前記第3の利用者との間の第2の親密度係数とを前記第1のWebサービスを提供する第1のサーバより受信する受信手段と、
前記第1の親密度係数と前記第2の親密度係数に第2の演算を施して第3の親密度係数を計算する演算手段と、
前記第3の親密度係数を第2のWebサービスの第2のサーバに送信する送信手段を有することを特徴とするサーバ装置。
【請求項13】
第1のWebサービスを使う第1の利用者を前記第1のWebサービスの利用者の中で一意に特定するための、第1の認識票に第1の演算を施した第1の演算結果と、前記第1の利用者と前記第1のWebサービスにおいて関係を持つ前記第1のWebサービスを使う第2の利用者を前記第1のWebサービス利用者の中で一意に特定するための、第2の認識票に前記第1の演算を施した第2の演算済認識票と、を前記第1のWebサービスを提供する第1のサーバより受信する受信手段と、
第2のWebサービスを使う前記第2の利用者を前記第2のWebサービスの利用者の中で一意に特定するための、第3の認識票に前記第1の演算を施した第3の演算結果と、前記第2の利用者と前記第2のWebサービスにおいて関係を持つ前記第2のWebサービスを使う第3の利用者を前記第2のWebサービス利用者の中で一意に特定するための、第4の認識票に前記第1の演算を施した第4の演算済認識票と、前記第3の利用者の前記第2のWebサービスにおける付加情報と、を前記第2のWebサービスを提供する第2のサーバより受信する受信手段と、
前記第1の親密度係数と前記第2の親密度係数に第2の演算を施して第3の親密度係数を計算する演算手段と、
前記付加情報と前記第3の親密度係数を前記第1のサーバに送信する送信手段ことを有することを特徴とするサーバ装置。
【請求項14】
第1のWebサービスを使う第1の利用者を前記第1のWebサービスの利用者の中で一意に特定するための、第1の認識票に第1の演算を施した第1の演算結果と、前記第1の利用者と前記第1のWebサービスにおいて関係を持つ前記第1のWebサービスを使う第2の利用者を前記第1のWebサービス利用者の中で一意に特定するための、第2の認識票に前記第1の演算を施した第2の演算済認識票と、前記第1の利用者と前記第2の利用者の間の第1の親密度係数と、を前記第1のWebサービスを提供する第1のサーバより受信する受信手段と、
第2のWebサービスを使う前記第2の利用者を前記第2のWebサービスの利用者の中で一意に特定するための、第3の認識票に前記第1の演算を施した第3の演算結果と、前記第2の利用者と前記第2のWebサービスにおいて関係を持つ前記第2のWebサービスを使う第3の利用者を前記第2のWebサービス利用者の中で一意に特定するための、第4の認識票に前記第1の演算を施した第4の演算済認識票と、前記第3の利用者の前記第2のWebサービスにおける付加情報と、前記第2の利用者と前記第3の利用者の間の第2の親密度係数と、を前記第2のWebサービスを提供する第2のサーバより受信する受信手段と、
前記第1の親密度係数と前記第2の親密度係数に第2の演算を施して第3の親密度係数を計算する演算手段と、
前記付加情報を前記第1のサーバに送信する送信手段ことを有することを特徴とするサーバ装置。
【請求項15】
第1のWebサービスを使う第1の利用者を前記第1のWebサービスの利用者の中で一意に特定するための第1の認識票に演算を施した第1の演算結果と、前記第1の利用者と前記第1のWebサービスにおいて関係を持つ前記第1のWebサービスを使う第2の利用者を、前記第1のWebサービス利用者の中で一意に特定するための第2の認識票に前記演算を施した第2の演算済認識票と、前記第2の利用者と前記第1のWebサービスにおいて関係を持つ前記第1のWebサービスを使う第3の利用者を、前記第1のWebサービスの利用者の中で一意に特定するための第3の認識票に前記演算を施した第3の演算済認識票と、を前記第1のWebサービスを提供する第1のサーバより受信する受信手段と、
第2のWebサービスを使う前記第1の利用者を前記第2のWebサービスの利用者の中で一意に特定するための第4の認識票に演算を施した第4の演算結果と、前記第1の利用者と前記第2のWebサービスにおいて関係を持つ前記第2のWebサービスを使う第4の利用者を、前記第2のWebサービス利用者の中で一意に特定するための第5の認識票に前記演算を施した第5の演算済認識票と、前記第4の利用者と前記第2のWebサービスにおいて関係を持つ前記第2のWebサービスを使う第3の利用者を、前記第2のWebサービスの利用者の中で一意に特定するための第6の認識票に前記演算を施した第6の演算済認識票と、を前記第2のWebサービスを提供する第2のサーバより受信する受信手段と、
を有することを特徴とするサーバ装置。
【請求項16】
前記第1の演算済認識票および前記第4の演算済認識票を、前記第1のWebサービスの利用者の集合と前記第2のWebサービス利用者の集合との和集合の中で前記第1の利用者を一意に特定するための第7の認識票と関連づけて記憶する記憶手段と、
前記第3の演算済認識票および前記第6の演算済認識票を、前記第1のWebサービスの利用者の集合と前記第2のWebサービス利用者の集合との和集合の中で前記第3の利用者を一意に特定するための第の認識票と関連づけて記憶する記憶手段と、
を有することを特徴とする請求項15記載のサーバ装置。
【請求項17】
前記第1のサーバより受信した前記第2の演算済認識票と、前記第2のサーバより受信した前記第5の演算済認識票とを検索する検索手段と、
前記検索によって得られた演算済認識票数を計算する演算手段と、
前記演算済認識票数を前記第1のサーバに送信する送信手段と、
を有することを特徴とする請求項15記載のサーバ装置。
【請求項18】
前記演算は不可逆性を有することを特徴とする、請求項5から11、または15から17のいずれかに記載のサーバ装置。
【請求項19】
前記第1の演算は不可逆性を有することを特徴とする、請求項12から14のいずれかに記載のサーバ装置。

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図24】
image rotate

【図25】
image rotate

【図26】
image rotate

【図27】
image rotate

【図28】
image rotate

【図29】
image rotate

【図30】
image rotate

【図31】
image rotate

【図32】
image rotate

【図33】
image rotate

【図34】
image rotate

【図1】
image rotate

【図2】
image rotate

【図23】
image rotate