説明

プレゼンス情報配信装置及び方法

【課題】通信トラフィックの増加を抑制し、しかもSIPアプリケーション・サーバにおけるキャッシュメモリ容量の低減と検索処理負荷の軽減を図る。
【解決手段】プレゼンス要求が受信されたとき、該当するダイアログが存在しない場合に、プレゼンスサーバ3から当該ユーザAのプレゼンス情報を取得して要求元のクライアント装置CTへ転送すると共に、SNSサーバ4からユーザAの友人リストを取得する。そして、この友人リストから友人数Nを抽出して、このユーザAの友人数Nをキャッシュメモリ40に既にキャッシュされている他のユーザの最少友人数Nmin と比較し、N≧Nminであれば、キャッシュメモリ40に記憶されている上記最少友人数Nmin のユーザのキャッシュ情報に代えて、上記ユーザAのキャッシュ情報を記憶させ、上記最少友人数Nmin のユーザのSIPダイアログを開放するようにしている。

【発明の詳細な説明】
【技術分野】
【0001】
この発明は、着席中、離席中又は電話中等のユーザの状態を、通信ネットワークを利用して別のユーザに公開するプレゼンスサービスを実現するプレゼンス情報配信装置及び方法に関する。
【背景技術】
【0002】
ITU-T等で議論している次世代ネットワーク(Next Generation Network;NGN)は、サービスがIP(Internet Protocol)ネットワークを経て提供されるネットワークアーキテクチャを想定している。NGNでは、第三世代の移動通信ネットワークの標準化団体である3GPPで策定されたIPマルチメディアサブシステム(IMS:IP Multimedia Subsystem)の採用を決めている。IMSは、SIP(Session Initiation Protocol)を用いることでサービスの実行制御、端末間のセッション制御、登録処理及び課金処理等を行うサブシステムであり、このIMSを用いた種々のネットワークサービスが検討されている。
【0003】
その一つとして、ユーザの状態を別のユーザに公開するプレゼンスサービスがある。プレゼンスサービスをIMSを用いて実現する場合には、SIP/SIMPLEプロトコルを用いて以下のように行われる。すなわち、プレゼンスを要求するウォッチャ(発側)は、プレゼンスを公開するプレゼンティティ(着側)のIDを含むSIP信号をプレゼンスサーバへ送信する。プレゼンスサーバは各ユーザの状態をプレゼンス情報として管理しており、上記プレゼンス要求を受信すると該当するプレゼンス情報を要求元へ返送する(例えば非特許文献1を参照。)。
【0004】
また、IMSが備えているSIPアプリケーション・サーバ(SIP Application Server:SIP AS)を利用して、Webクライアントに対しIMSのプレゼンス情報を配信することも検討されている(例えば非特許文献2を参照。)。この場合、SIP ASがIMSのプレゼンスサービスをParlay X等のSOAP(Simple Object Access Protocol)のAPI(Application Program Interface)を用いてWebクライアントに対し提供する。これによりWebクライアントは、例えばインターネット等のHTTPベースの通信ネットワークを介して、IMSのSIPプレゼンスサービスを利用することが可能となる。
【0005】
さらに、SOAPよりさらに簡易なAPIとしてREST(Representational State Transfer)のアーキテクチャを用い、URI(Uniform Resource Identifier)に対しHTTPによりアクセスすることにより、WebクライアントがIMSのSIPプレゼンスサービスを利用できるようにすることも検討されている(例えば非特許文献3を参照)。
【0006】
さらに、移動体通信分野における、アプリケーションの実装標準を定めるOMA(Open Mobile Alliance)では、XDM(XML Document Management)と呼ばれるイネーブラが検討されている。このイネーブラは、ネットワークに蓄積されたユーザ特有のサービスに関連した情報へのアクセスや操作(作成、取出し、削除及び修正)等を行う機能を提供するもので、情報はXMLドキュメントで定義され管理される(例えば非特許文献4を参照。)
【先行技術文献】
【非特許文献】
【0007】
【非特許文献1】OMA Presence SIMPLE V2.0、[平成22年7月20日検索]、インターネット<URL: HTTP://www.Openmobilealliance.org/Technical/release_program/Presence_simple_v2_0.aspx>
【非特許文献2】3GPP TS 29.199-14, Open Service Access (OSA); Parlay X Web services; Part 14: Presence、[平成22年7月20日検索]、インターネット<URL: HTTP://www.3Gpp.org/ftp/Specs/html-info/29199-14.htm>
【非特許文献3】OMA RESTful bindings for Parlay X Web Services (ParlayREST) V1.0、[平成22年7月20日検索]、インターネット<URL: HTTP://www.Openmobilealliance.org/Technical/release_program/Parlay REST_v1_0.aspx>
【非特許文献4】OMA XML Document Management V2.0、[平成22年7月20日検索]、インターネット<URL: HTTP://www. Openmobilealliance.org/Technical/release_program/xdm_v2_0.aspx>
【発明の概要】
【発明が解決しようとする課題】
【0008】
ところで、SIP ASがプレゼンス情報の配信を制御する方法として、従来では次の2つの方法が考えられている。すなわち、第1の方法は、要求元からプレゼンス要求が送られるごとにSIP ASが当該プレゼンス要求をプレゼンスサーバへ単純に中継する方法である。第2の方法は、SIP ASがプレゼンス要求の履歴を要求先のユーザごとに1つのダイアログに集約し、同じユーザに対するプレゼンス要求を再度受信した場合には上記以前確立したダイアログを再利用し、前回記憶しておいたプレゼンス情報を配信する方法である。
【0009】
しかしながら、これらの方法には次のような解決すべき課題があった。すなわち、第1の方法では同じユーザのプレゼンス要求が単純中継されるため、SIP ASとプレゼンスサーバとの間で同じ情報が何度も送受信されることになり、この結果IMSの通信トラフィックの増大を招く。第2の方法では、情報集約をするために過去の要求履歴やプレゼンス情報を蓄積するため、SIP ASに大容量のキャッシュメモリが必要となり、またSIP ASのキャッシュメモリに対する検索処理の負荷が増大する。
【0010】
この発明は上記事情に着目してなされたもので、その目的とするところは、通信トラフィックの増加を抑制し、しかもSIPアプリケーション・サーバにおけるキャッシュメモリ容量の低減と検索処理負荷の軽減を図ったプレゼンス情報配信装置及び方法を提供することにある。
【課題を解決するための手段】
【0011】
上記目的を達成するためにこの発明の一観点は、SIP(Session Initiation Protocol)を基本プロトコルとする第1のネットワークに設けられ、当該第1のネットワークを利用する複数のユーザのプレゼンス情報を管理するプレゼンスサーバとの間で通信が可能であり、かつHTTP(Hypertext Transfer Protocol)を基本プロトコルとする第2のネットワークを介してクライアント装置及びソーシャルネットワークサービス・サーバとの間で通信が可能なSIPアプリケーション・サーバからなるプレゼンス情報配信装置において、以下のような構成要素を備えたものである。
すなわち、上記クライアント装置から上記複数のユーザのうち第1のユーザに関するプレゼンス要求を受信した場合に、先ず当該第1のユーザに関するキャッシュ情報がアプリケーション・サーバ内のメモリに既に記憶されているか否かを判定する。そして、上記第1のユーザに関するキャッシュ情報が既に記憶されていると判定された場合に、上記メモリから該当するキャッシュ情報に含まれるプレゼンス情報を読み出して要求元のクライアント装置へ送信する。一方、上記第1のユーザに関するキャッシュ情報が記憶されていないと判定された場合には、上記プレゼンスサーバから当該第1のユーザのプレゼンス情報を取得し、このプレゼンス情報を上記要求元のクライアント装置へ転送する。そして、上記第1のユーザの友人関係を表す情報を上記ソーシャルネットワークサービス・サーバから取得し、この取得された友人関係を表す情報に基づいて、上記第1のユーザのプレゼンス情報をキャッシュするか否かを判定し、キャッシュすると判定された場合に上記第1のユーザのプレゼンス情報を含むキャッシュ情報を生成して上記メモリに記憶させるようにしたものである。
【0012】
したがって、SIPアプリケーション・サーバ内にプレゼンス情報がキャッシュされていない場合にのみ、プレゼンスサーバとの間でユーザのプレゼンス情報を取得するための通信が行われる。このため、プレゼンスサーバとの間の通信トラフィックを抑制することが可能となる。また、ユーザの友人関係を表す情報がソーシャルネットワークサービス・サーバから取得され、この友人関係を表す情報に基づいてプレゼンス情報のキャッシュの可否が判定されて、キャッシュが可能な場合にのみユーザのプレゼンス情報がメモリに記憶される。すなわち、友人数が多いユーザのプレゼンス情報が予め決められた数だけ優先的に選択されてSIPアプリケーション・サーバに集約されることになる。このため、常にすべてのユーザのプレゼンス情報をキャッシュする場合に比べ、キャッシュメモリの小容量化を可能とし、かつキャッシュメモリに対する検索処理の負荷を軽減することが可能となる。
【0013】
また、この発明の一観点は以下のような態様を備えることを特徴とする。
第1の態様は、友人関係を表す情報を取得する際に、第1のユーザに関するキャッシュ情報が記憶されていないと判定された時点で、ソーシャルネットワークサービス・サーバに対し友人情報取得要求を送信し、この要求に対しソーシャルネットワークサービス・サーバから送信される第1のユーザの友人関係を表す情報を受信するものである。
このようにすると、常に最新の友人関係を表す情報が逐次取得される。このため、常に最新の情報に基づいてキャッシュ制御を実行することが可能となる。
【0014】
第2の態様は、第1のネットワークにユーザ特有のサービスに関する情報へのアクセス及び操作を行う機能を提供するイネーブラが設けられている場合に、ソーシャルネットワークサービス・サーバに記憶された各ユーザの友人関係を表す情報をイネーブラにも記憶させ、互いに同期させた状態で管理する。そして、第1のユーザの友人関係を表す情報が必要となった場合に、該当する情報を上記イネーブラから取得するようにしたものである。
このようにすると、キャッシュ判定のために友人関係を表す情報が必要となった時点で、その都度ソーシャル・サーバとの間で第2のネットワークを介して友人関係を表す情報を取得するための通信を行う必要がなくなり、第1のネットワークで提供される他のサービス・制御機能からソーシャルネットワークサービスで管理される友人関係を表す情報を利用することができる。
【0015】
第3の態様は、キャッシュ制御に際し、ユーザの友人数を表す情報を当該ユーザのキャッシュ情報に含めてメモリに記憶しておき、取得された第1のユーザの友人関係を表す情報から友人数を求め、この求められた第1のユーザの友人数を上記メモリに記憶されている他のユーザの友人数と比較する。そして、第1のユーザの友人数が他のユーザの友人数より多い場合に、上記メモリに記憶されている他のユーザのキャッシュ情報に代えて、上記第1のユーザのキャッシュ情報をメモリに記憶させるものである。
このようにすると、友人数同士の比較による非常に簡単な処理によりキャッシュの可否を判定することができる。
【0016】
第4の態様は、キャッシュ制御に際し、先ずメモリに新たなキャッシュ情報を追加記憶するための容量が残っているか否かを判定し、容量が残っている場合には第1のユーザのプレゼンス情報を含むキャッシュ情報を生成してメモリに追加記憶させる。これに対し、容量が残っていない場合に、メモリに記憶されている複数のユーザのキャッシュ情報から友人数が最も少ない第2のユーザを選択し、当該選択された第2のユーザの友人数と上記第1のユーザの友人数とを比較する。そして、第1のユーザの友人数が第2のユーザの友人数以上の場合に、メモリに記憶されている第2のユーザのキャッシュ情報に代えて第1のユーザのキャッシュ情報を記憶させ、第1のユーザの友人数が第2のユーザの友人数より少ない場合には、メモリに記憶されている第2のユーザのキャッシュ情報を維持するような制御を行う。
このようにすると、メモリの残容量に余裕がある状態では友人数にかかわらずすべてのユーザのプレゼンス情報をキャッシュすることができる。そして、メモリ残容量がなくなった状態では、メモリにプレゼンス情報が記憶されている複数のユーザのうち、友人数が最も少ないユーザに代えて、それよりも友人数の多いユーザのプレゼンス情報が新規にキャッシュされる。このためメモリには、その記憶容量が許す限り友人数が多い順にユーザのプレゼンス情報をキャッシュすることができる。
【0017】
第5の態様は、各ユーザについてのプレゼンス要求を受信するごとに、SIPアプリケーション・サーバが当該ユーザごとにプレゼンス情報に対するアクセス実績を計算する。そして、このアクセス実績の計算結果をもとに、アクセス実績の多い順に予め設定した数だけユーザのプレゼンス情報をメモリに記憶させるようにしたものである。
このようにすると、例えばソーシャルネットワークサービス・サーバからユーザの友人関係を表す情報を取得できない場合でも、記憶容量が限られたキャッシュメモリに対し、アクセス実績の高い順にユーザのプレゼンス情報をキャッシュすることができる。しかも、アクセス順位をSIPアプリケーション・サーバが単独で管理することができ、これにより処理負荷を軽減できる利点がある。
【0018】
第6の態様は、第1のネットワークに収容される複数のユーザの各々について、プレゼンスサーバが当該ユーザのプレゼンス情報に対するアクセス実績を計算し、このユーザごとのアクセス実績を表す情報を複数のSIPアプリケーション・サーバとの間でそれぞれ同期管理する。そして、各SIPアプリケーション・サーバは、上記管理されたアクセス実績を表す情報に基づいて、アクセス順位が高いものから予め設定された数だけユーザのキャッシュ情報をメモリに記憶させるように制御するものである。
したがって、この第6の態様においても、上記第5の態様と同様、ソーシャルネットワークサービス・サーバからユーザの友人関係を表す情報を取得できない場合でも、記憶容量が限られたキャッシュメモリに対し、アクセス実績の高い順にユーザのプレゼンス情報をキャッシュすることができる。また、各ユーザのアクセス順位がプレゼンスサーバにより一元管理されるので、例えば複数のSIPアプリケーション・サーバがそれぞれユーザのプレゼンス情報をキャッシュ制御している場合でも、不整合を生じることなくキャッシュ制御することが可能となる。
【発明の効果】
【0019】
すなわちこの発明によれば、通信トラフィックの増加を抑制することができ、しかもヒット率の高いキャッシュを実現可能であるため、SIPアプリケーション・サーバにおけるキャッシュメモリ容量の低減と第1のネットワークにおけるトラフィック(SIP信号)の低減を図ったプレゼンス情報配信装置及び方法を提供することができる。
【図面の簡単な説明】
【0020】
【図1】この発明に係わるプレゼンス情報配信装置を備えたシステムの概略構成図。
【図2】この発明の第1の実施形態に係わるプレゼンス情報配信装置の機能を備えたSIP ASの構成を示すブロック図。
【図3】友人リストの管理イメージを示す図。
【図4】友人リストの構造の具体例を示す図。
【図5】図1に示したシステムにおけるプレゼンス情報配信処理の概要を示す図。
【図6】この発明の第1の実施形態に係わる友人リスト取得処理手順の概要を示す図。
【図7】図1に示したシステムにおけるプレゼンス情報配信処理の手順と処理内容を示すフローチャート。
【図8】図7に示した手順の中で、SIP ASによる処理手順と処理内容を示すフローチャート。
【図9】この発明の第2の実施形態に係わる友人リスト取得処理手順の概要を示すシーケンス図。
【図10】この発明の第2の実施形態に係わるシステムにおけるプレゼンス情報配信処理の手順と処理内容を示すフローチャート。
【図11】図10に示した手順の中で、SIP ASによる処理手順と処理内容を示すフローチャート。
【図12】この発明の第3の実施形態に係わるプレゼンス情報配信装置の機能を備えたSIP ASの構成を示すブロック図。
【発明を実施するための形態】
【0021】
以下、図面を参照してこの発明に係わる実施形態を説明する。
(第1の実施形態)
[システム全体の構成]
図1はこの発明に係わるプレゼンス情報配信装置を備えたシステムの概略構成図であり、NW2はIMS等のSIPベースのネットワークを、NW1はインターネット等のHTTPベースのネットワークをそれぞれ示している。
【0022】
SIPベースのネットワークNW2には複数のユーザ端末MSa〜MSbが収容され、これらのユーザ端末MSa〜MSbのプレゼンス情報はプレゼンスサーバ(PS)3で管理されている。プレゼンス情報は、着席中、離席中又は電話中等のユーザの状態を表す情報である。
【0023】
一方、HTTPベースのネットワークNW1には、Webクライアント装置CTと、Twitterやソーシャルネットワークサービス(SNS)に代表されるソーシャルネットワークサービスを提供するサーバ(ここではSNSサーバと称する)4が接続されている。SNSサーバ4は、ソーシャルネットワークサービスに対し利用登録している複数のユーザの各々についてその友人関係を表す情報(友人リスト)を管理している。
【0024】
図3はこの友人リストの管理イメージを示すもので、例えばユーザAの本人情報として、当該ユーザAが利用登録しているSNSのユーザIDが管理されている。そして、これらのSNSのユーザIDに関連付けて、そのSNSにおいて友人関係にある友人情報が管理されている。図4は上記ユーザAの友人リストの具体例を示すものである。
【0025】
SIPベースのネットワークNW2は、プレゼンス情報配信装置としての機能を有するSIPアプリケーション・サーバ(SIP AS)1を備えている。SIPアプリケーション・サーバ1は、Webクライアント装置CTからのSOAP/RESTによるプレゼンス要求に応じ、当該要求をSIP/SIMPLEに変換してプレゼンスサーバ3から該当するユーザのプレゼンス情報を取得し、このプレゼンス情報をSOAP/RESTにより要求元のWebクライアントに配信する。また、このプレゼンス情報の配信処理の過程で、SNSサーバ4からSOAP/RESTにより該当ユーザの友人リストを取得し、この友人リストを利用してプレゼンス情報のキャッシュ制御を行う。
【0026】
なお、SIPベースのネットワークNW2はXDM(XML Document Management)イネーブラ2を備えているが、このXDMイネーブラ2の本発明に対する役割については第2の実施形態で詳しく述べる。
【0027】
[SIPアプリケーション・サーバの構成]
図2は、SIPアプリケーション・サーバ1の構成を示すブロック図である。SIPアプリケーション・サーバ1は、制御ユニット10と、HTTP信号送受信部20と、SIP信号送受信部30と、キャッシュメモリ40を備えている。HTTP信号送受信部20は、HTTPベースのネットワークNW1に接続されたクライアント装置CT及びSNSサーバ4との間で、SOAP/RESTのプロトコルに従い信号の送受信を行う。SIP信号送受信部30は、SIPベースのネットワークNW2に接続されたプレゼンスサーバ3との間で、SIP/SIMPLEのプロトコルに従い信号の送受信を行う。
【0028】
制御ユニット10は、この発明を実施するために必要な制御機能として、プレゼンス要求受信制御部11と、ダイアログ情報判定部12と、プレゼンス情報取得配信制御部13と、プレゼンス情報読出配信制御部14と、友人情報取得制御部15と、キャッシュ制御部16を備えている。これらの制御機能はいずれもアプリケーション・プログラムを図示しないプロセッサ(CPU)に実行させることにより実現される。
【0029】
プレゼンス要求受信制御部11は、クライアント装置CTから送信されたプレゼンス要求をHTTP信号送受信部20を介して受信処理する。プレゼンス要求には要求対象となるユーザのIDが含まれている。
【0030】
ダイアログ情報判定部12は、上記プレゼンス要求が受信されたとき、SIP信号送受信部30で管理されているダイアログ情報を検索し、上記プレゼンスの取得対象となっているユーザについてSIPのダイアログが確立されているか否かを判定する処理を行う。
【0031】
プレゼンス情報取得配信制御部13は、上記ダイアログ情報判定部12において該当するダイアログが存在しないと判定された場合に、SIP信号送受信部30からプレゼンスサーバ3へSIPのプレゼンス情報取得要求を送信し、これに対しプレゼンスサーバ3から返送される該当するユーザのプレゼンス情報をSIP信号送受信部30を介して受信する。そして、この受信されたプレゼンス情報をHTTP信号送受信部20からSOAP/RESTにより要求元のクライアント装置CTへ送信する処理を行う。
【0032】
プレゼンス情報読出配信制御部14は、上記ダイアログ情報判定部12において該当するダイアログが存在すると判定された場合に、キャッシュメモリ40から該当するユーザのプレゼンス情報を読み出し、この読み出されたプレゼンス情報をHTTP信号送受信部20からSOAP/RESTにより要求元のクライアント装置CTへ送信する処理を行う。
【0033】
友人情報取得制御部15は、上記プレゼンス情報取得配信制御部13によりプレゼンス情報の取得・配信処理が行われた場合に、HTTP信号送受信部20からSNSサーバ4に対しSOAP/RESTにより対象ユーザの友人リスト取得要求を送信する。そして、これに対しSNSサーバ4から返送される友人リストをHTTP信号送受信部20を介して受信する。
【0034】
キャッシュ制御部16は、以下の処理を行う。
(1) キャッシュメモリ40に現在キャッシュされている情報量Mが、キャッシュメモリ40が備えるキャッシュ可能な情報量の上限値Capに達しているか否かを判定する処理。
【0035】
(2) (1) において、現在キャッシュされている情報量Mがキャッシュ可能な情報量の上限値Capに達していないと判定された場合に、上記プレゼンス情報取得配信制御部13によりプレゼンスサーバ3から取得されたユーザのプレゼンス情報を含むキャッシュ情報を生成し、この生成されたキャッシュ情報をキャッシュメモリ40に記憶させる処理。
【0036】
(3) (1) において、現在キャッシュされている情報量Mがキャッシュ可能な情報量の上限値Capに達していると判定された場合には、上記友人情報取得制御部15によりSNSサーバ4から取得された友人リストから対象ユーザの友人数Nを求める。そして、この対象ユーザの友人数を、キャッシュメモリ40に既にキャッシュ情報が記憶されている他のユーザの友人数のうち最少の友人数Nmin と比較する処理。
【0037】
(4) (3) の比較の結果、対象ユーザの友人数Nが最少友人数Nmin 以上であれば、キャッシュメモリ40に記憶されている上記最少友人数Nmin のユーザのキャッシュ情報に代えて、上記対象ユーザのキャッシュ情報を生成して記憶させ、最少友人数Nmin のユーザに係るSIPダイアログを開放させる処理。
【0038】
(5) (3) の比較の結果、対象ユーザの友人数Nが最少友人数Nmin に満たなければ、対象ユーザのプレゼンス情報はキャッシュせず、当該対象ユーザに係るSIPダイアログを開放させる処理を行う。
【0039】
[システム全体の動作]
図5はシステム全体の動作の概要を示す図である。
プレゼンスサーバ3では、ネットワークNW2に収容されるユーザ端末MSa,MSbを使用するユーザのプレゼンス情報が管理されており、このプレゼンス情報はユーザ端末MSa,MSbからのプレゼンス変更要求に応じて更新される。
【0040】
この状態で、クライアント装置CTから例えばユーザAのプレゼンス情報の取得要求が送信されたとする。この取得要求は、REST/SOAPにより図5中(1) に示すようにネットワークNW1を介してSIPアプリケーション・サーバ1に送信される。SIPアプリケーション・サーバ1は、上記プレゼンス要求を受信すると、先ずこのプレゼンスの取得対象となっているユーザAに対応するSIPダイアログが既に存在するか否かを判定する。
【0041】
この判定の結果、該当するダイアログが存在しない場合には、図5中(2) に示すようにプレゼンスサーバ3へSIP/SIMPLEによりプレゼンス情報の取得要求を送信する。これに対しプレゼンスサーバ3からユーザAのプレゼンス情報が返送されると、SIPアプリケーション・サーバ1はユーザAの友人数に基づきプレゼンス情報のキャッシュの可否を図5中(3) で判定した後、上記プレゼンス情報をREST/SOAPにより図5中(4) に示すように要求元のクライアント装置CTへ送信する。
【0042】
上記キャッシュの可否の判定は以下のように行われる。すなわち、SIPアプリケーション・サーバ1は、ネットワークNW1を介してSNSサーバ4からユーザAの友人リストを取得する。そして、この取得した友人リストからユーザAの友人数を調べ、このユーザAの友人数と、キャッシュメモリ40に既にキャッシュ情報が記憶されている他のユーザBの友人数とを比較し、その比較結果をもとに上記ユーザAのプレゼンス情報をキャッシュするか否かを判定する(図5中(3))。
【0043】
この判定の結果、ユーザAの友人数がユーザBの友人数以上だったとすると、キャッシュすると判断して上記ユーザAのプレゼンス情報をキャッシュメモリ40に記憶させる。これに対し、上記判定の結果、ユーザAの友人数より他のユーザBの友人数の方が多かったとすると、キャッシュしないと判断して上記ユーザAのプレゼンス情報取得のために確立したダイアログを解放する。
【0044】
[友人リストの取得処理]
ところで、上記友人リストの取得方法には2つの方法が考えられる。
1つはSIPアプリケーション・サーバ1が友人リストを必要とするごとに逐次SNSサーバ4から取得するもので、これは第1の実施形態として説明する。他の1つはXDMイネーブラ(XDMサーバ)2と連携して友人リストを事前に管理しておき、友人リストが必要となった時点で上記XDMサーバ2から読み出すもので、これは後に第2の実施形態として説明する。
【0045】
図6は、この第1の実施形態における友人リストの逐次取得方法を説明するための図である。
同図において、SIPアプリケーション・サーバ1は、SNSサーバ4に対しネットワークNW1を介してREST/SOAPにより友人リスト取得要求を送信する。これに対し、SNSサーバ4が該当するユーザAの友人リストの情報をREST/SOAPにより返送すると、SIPアプリケーション・サーバ1は上記友人リストの情報を受信する。そして、この友人リスト情報を、友人数に応じてユーザAのプレゼンス情報をキャッシュするか否かを判定するために、キャッシュ制御部16に提供する。
【0046】
[システムの詳細な動作]
図7は、システム全体のプレゼンス情報配信動作の詳細な手順を示すシーケンス図である。
ユーザAのプレゼンス情報を取得しようとする場合に、クライアント装置CTはSOAP/RESTプレゼンス要求(UserA_SIP,UserA_SNS)を送信する。ここで、UserA_SIPはネットワークNW2で使用されるユーザAの識別情報を、またUserA_SNSはソーシャルネットワークサービスで使用されるユーザAの識別情報を示している。
【0047】
SIPアプリケーション・サーバ1は、上記SOAP/RESTプレゼンス要求(UserA_SIP,UserA_SNS)を受信すると、先ず当該ユーザA用のSIPダイアログが既に確立されているか否かを判定する。この判定の結果、まだ確立されていなければ、ユーザA用のSIPダイアログを確立した後、プレゼンスサーバ3に対しSIPベースのネットワークNW1を介してプレゼンス情報購読登録の要求を送信する。プレゼンスサーバ3は、上記プレゼンス情報購読登録の要求に応じてユーザA用のSIPダイアログを確立した後、該当するユーザAのプレゼンス情報を読み出して上記送信元のSIPアプリケーション・サーバ1へ返送する。
【0048】
SIPアプリケーション・サーバ1は、次にSNSサーバ4に対し上記ユーザAの友人リストを取得するための友人リスト要求(UserA_SNS)を送信する。これに対しSNSサーバ4が、ユーザAの友人リスト情報を返送すると、この友人リスト情報をもとに上記ユーザAのプレゼンス情報をキャッシュするか否かを判定する。
【0049】
このキャッシュするか否かは、上記ユーザAの友人リスト情報からユーザAの友人数を調べ、このユーザAの友人数と、キャッシュ済の各ユーザのうち友人数が最少のユーザの友人数(キャッシュ済の最少友人数)とを比較する。そして、ユーザAの友人数がキャッシュ済の最少友人数以上の場合にキャッシュすると判定し、それ以外の場合にキャッシュしないと判定する。キャッシュすると判定された場合には、上記ユーザAのプレゼンス情報をキャッシュメモリ40に格納する。また、それと共に上記ユーザA用に確立したダイアログを保持する。
また、上記キャッシュ制御後に、SIPアプリケーション・サーバ1は上記ユーザAのプレゼンス情報をSOAP/RESTにより取得要求元のクライアント装置CTへ送信する。
【0050】
次に、クライアント装置CTから、ユーザAのプレゼンス情報を取得するために2回目のSOAP/RESTプレゼンス要求(UserA_SIP,UserA_SNS)が送信されたとする。この場合SIPアプリケーション・サーバ1は、取得対象のユーザA用のダイアログが既に確立されているため、キャッシュメモリ40から該当するプレゼンス情報を読み出す。そして、この読み出されたプレゼンス情報を、SOAP/RESTにより取得要求元のクライアント装置CTへ送信する。
【0051】
以後、クライアント装置CTから、ユーザAに関するSOAP/RESTプレゼンス要求(UserA_SIP,UserA_SNS)を送信されるごとに、SIPアプリケーション・サーバ1はキャッシュメモリ40から該当するプレゼンス情報を読み出し、この読み出されたプレゼンス情報をSOAP/RESTにより取得要求元のクライアント装置CTへ配信する。
【0052】
一方、クライアント装置CTから、ユーザBのプレゼンス情報を取得するために最初のSOAP/RESTプレゼンス要求(UserB_SIP,UserB_SNS)が送信されたとする。この場合SIPアプリケーション・サーバは、ユーザB用のダイアログは未確立であるため、ダイアログを確立した後、プレゼンスサーバ3に対しネットワークNW1を介してプレゼンス情報購読登録の要求を送信する。プレゼンスサーバ3は、上記プレゼンス情報購読登録の要求に応じてユーザB用のSIPダイアログを確立した後、該当するユーザBのプレゼンス情報を読み出して上記送信元のSIPアプリケーション・サーバ1へ返送する。
【0053】
続いてSIPアプリケーション・サーバ1は、SNSサーバ4に対し上記ユーザBの友人リストを取得するための友人リスト要求(UserB_SNS)を送信する。これに対しSNSサーバ4が、ユーザBの友人リスト情報を返送すると、この友人リスト情報をもとに上記ユーザBのプレゼンス情報をキャッシュするか否かを判定する。この判定も、ユーザBの友人リスト情報から友人Bの友人数を調べ、このユーザBの友人数とキャッシュ済の最少友人数とを比較することにより行われる。この判定の結果、ユーザBの友人数がキャッシュ済の最少友人数より少なければ、プレゼンスサーバ3に対しプレゼンス情報購読解除を要求した後、SIPアプリケーション・サーバ1におけるユーザB用のダイアログを解放する。そして、上記取得したユーザBのプレゼンス情報を要求元のクライアント装置CTへ送信する。
【0054】
なお、プレゼンスサーバ3において、ユーザ端末MSaからのプレゼンス情報更新登録の要求に応じてユーザAのプレゼンス情報が更新されたとする。この場合、プレゼンスサーバ3からSIPアプリケーション・サーバ1へユーザAのプレゼンス情報の更新通知が送信される。SIPアプリケーション・サーバ1は、上記プレゼンス情報の更新通知を受信すると、キャッシュメモリ40内の該当するユーザAのキャッシュ情報に含まれるプレゼンス情報を上記更新通知の内容に応じて更新する。そして、このユーザAの更新後のプレゼンス情報をキャッシュメモリ40から読み出し、HTTPベースのネットワークNW1を介してクライアント端末CTへ配信する。
【0055】
[SIPアプリケーション・サーバによる詳細な処理動作]
図8は、SIPアプリケーション・サーバ1の詳細な処理手順と処理内容を示すフローチャートである。
クライアント装置CTから送信されたプレゼンス要求(UserA_SIP,UserA_SNS)がHTTP信号送受信部20で受信されると、制御ユニット10はステップS11で上記プレゼンス要求の入力を受付け、ステップS12においてSIP信号送受信部30に対しUserA_SIPにより検索を行い、ユーザAに関するダイアログが既に存在するか否かを判定する。この判定の結果、ダイアログが存在すればステップS18によりキャッシュメモリ40から該当するプレゼンス情報を読み出す。そして、ステップS14により、上記読み出されたプレゼンス情報をHTTP送受信部20から要求元のクライアント装置CTに向け送信させる。
【0056】
これに対し、ユーザA用のダイアログがまだ存在しなかったとする。この場合制御ユニット10は、先ずステップS13においてプレゼンスサーバ3に対しSIP信号送受信部30からプレゼンス情報購読要求(UserA_SIP)を送信させる。そして、プレゼンスサーバ3から返送されるユーザAのプレゼンス情報をSIP信号送受信部30を介して受信する。次に制御ユニット10は、ステップS15においてSNSサーバ4に対しユーザAの友人リストの取得要求(UserA_SNS)をHTTP送受信部20から送信させる。そして、SNSサーバ4から返送されるユーザAの友人リスト情報をHTTP送受信部20を介して受信する。そして、この受信されたユーザAの友人リスト情報からユーザAの友人数Nを抽出する。
【0057】
続いて制御ユニット10は、ステップS16において、キャッシュメモリ40に現在キャッシュされている情報量Mが、キャッシュメモリ40が備えるキャッシュ可能な情報量の上限値Capに達しているか否かを判定する。そして、現在キャッシュされている情報量Mがキャッシュ可能な情報量の上限値Capに達していないと判定されると、ステップS17において、上記プレゼンスサーバ3から取得されたユーザAのプレゼンス情報を含むキャッシュ情報を生成し、この生成されたキャッシュ情報をキャッシュメモリ40に記憶させる。
【0058】
キャッシュ情報は、図8に例示するように、SIPベースのネットワークNW2で使用されるユーザAのID(UserA_SIP)に対し、取得したプレゼンス情報及び友人数を関連付けたものからなる。すなわち、キャッシュ情報では、SIPベースのネットワークNW2で管理されるSIPのユーザAのIDと、HTTPベースのネットワークNW1で管理されるSNSサーバ4からREST/SOAPにより取得される友人リスト情報から抽出される友人数とがまとめて管理される。
【0059】
一方、キャッシュメモリ40に既にキャッシュされている情報量Mがキャッシュ可能な情報量の上限値Capに達していたとする。この場合制御ユニット10は、ステップS19においてキャッシュメモリ40から、友人数の最少値Nmin と、この友人数の最少値Nmin を持つユーザのSIPベースのネットワークNW2上におけるIDであるUserMin_SIP を検索する。そして、ステップS20において、上記取得されたユーザAの友人数Nを、上記検索された友人数の最少値Nmin と比較する。
【0060】
この比較の結果、N>Nmin 又はN=Nmin だったとすると、制御ユニット10はステップS21において、キャッシュメモリ40に記憶されている上記最少友人数Nmin のユーザ(UserMin_SIP )のキャッシュ情報に代えて、上記ユーザAのキャッシュ情報を生成して記憶させる。そして、ステップS21において、上記キャッシュメモリ40から削除した最少友人数Nmin のユーザ(UserMin_SIP )に係るSIPダイアログを開放させる。
これに対し、N<Nmin だったとする。この場合制御ユニット10は、ステップS23においてSIP送受信部30に対し指示を出し、上記ユーザAのSIPダイアログを解放させる。
【0061】
以上詳述したように第1の実施形態では、クライアント装置CTからプレゼンス要求が受信されたとき、該当するユーザAのSIPダイアログが確立されているか否かを判定する。そして、該当するダイアログが存在する場合にはキャッシュメモリ40から該当するプレゼンス情報を読み出して要求元のクライアント装置CTへ送信するようにしている。これに対し、該当するダイアログが存在しないと判定された場合に、プレゼンスサーバ3から当該ユーザAのプレゼンス情報を取得して要求元のクライアント装置CTへ転送すると共に、SNSサーバ4からユーザAの友人リストを取得する。そして、取得されたユーザAの友人リストから友人数Nを求め、このユーザAの友人数Nを、キャッシュメモリ40に既にキャッシュされている他の各ユーザの友人数のうち最少の友人数Nmin と比較し、ユーザAの友人数Nが最少友人数Nmin 以上であれば、キャッシュメモリ40に記憶されている上記最少友人数Nmin のユーザのキャッシュ情報に代えて、上記ユーザAのキャッシュ情報を生成して記憶させ、上記最少友人数Nmin のユーザのSIPダイアログを開放するようにしている。
【0062】
したがって、SIPアプリケーション・サーバ1内にプレゼンス情報がキャッシュされていない場合にのみ、プレゼンスサーバ3との間でユーザのプレゼンス情報を取得するための通信が行われる。このため、SIPベースのネットワークNW2における通信トラフィックを抑制することが可能となる。
【0063】
また、ユーザAの友人リストに基づいてプレゼンス情報をキャッシュするか否か判定されて、キャッシュ可能な場合にのみユーザのプレゼンス情報がキャッシュメモリ40に記憶される。すなわち、友人数が多いユーザのプレゼンス情報が予め決められた数だけ優先的に選択されてSIPアプリケーション・サーバ1に集約されることになる。このため、常にすべてのユーザのプレゼンス情報をキャッシュする場合に比べ、キャッシュメモリ40の小容量化を可能とし、かつキャッシュメモリ40に対するキャッシュヒット率が向上するため、SIPベースのネットワークNW2内での高い信号数削減が可能となり、IMSを介してSIPアプリケーション・サーバ1との間で交換される信号が減ることにより、SIP信号処理に関わる負荷を軽減することが可能となる。
【0064】
さらに第1の実施形態では、SIPアプリケーション・サーバ1が友人リストを必要とするごとに逐次SNSサーバ4から取得するようにしている。したがって、SNSサーバ4からその都度最新の友人リスト情報を取得することができ、これにより常に最新の情報に基づいてキャッシュ制御を実行することが可能となる。
【0065】
さらに第1の実施形態では、キャッシュメモリ40に現在キャッシュされている情報量Mが、キャッシュメモリ40が備えるキャッシュ可能な情報量の上限値Capに達しているか否かを判定し、達していないと判定された場合にはプレゼンスサーバ3から取得されたユーザAのプレゼンス情報を無条件にキャッシュするようにしている。このため、キャッシュメモリ40の残容量に余裕がある状態では、友人数の多少にかかわらずすべてのユーザのプレゼンス情報をキャッシュすることができる。
【0066】
(第2の実施形態)
この発明の第2の実施形態は、SIPベースのネットワークNW2にXDMサーバ2が設けられている場合に、SNSサーバ4に記憶された各ユーザの友人リストをXDMサーバ2においても同期管理し、ユーザの友人リストが必要となった場合に当該友人リストを上記XDMサーバ2から取得するようにしたものである。
【0067】
図9は、この第2の実施形態における友人リストの取得方法を説明するための図である。
同図において、SIPアプリケーション・サーバ1は、定常時において、SOAP/RESTのAPIを利用してSNSサーバ4から各ユーザの友人リスト情報を取得し、この取得された友人リストをXDMサーバ2に記憶させる。SIPアプリケーション・サーバ1は、このXDMサーバ2に記憶された友人リストの内容がSNSサーバ4の友人リストと常に等しくなるように、互いに連携して同期処理を行っている。
この状態で、SIPアプリケーション・サーバ1がユーザのプレゼンス情報をキャッシュするか否かを判定するために当該ユーザの友人リストが必要となると、当該友人リストをXDMサーバ2から取得する。このときの取得処理はXCAPを使用して行う。
【0068】
[システムの詳細な動作]
図10は、システム全体のプレゼンス情報配信動作の詳細な手順を示すシーケンス図である。
定常状態においてSIPアプリケーション・サーバ1は、SOAP/RESTにより友人リスト取得要求(UserA_SNS)をSNSサーバ4へ送信する。これに対しSNSサーバ4は、要求されたユーザAの友人リスト情報を読み出してSIPアプリケーション・サーバ1へ返送する。
【0069】
SIPアプリケーション・サーバ1は、上記返送されたユーザAの友人リスト情報をXCAPによりXDMサーバ2へ送信し、記憶させる。このとき、SIPアプリケーション・サーバ1からXDMサーバ2へは、上記友人リスト共にUserA_SNS及びUserA_SIPも送信され、これらのIDは友人リストと関連付けられて記憶される。以後、SIPアプリケーション・サーバ1とXDMサーバ2との間では、SIPアプリケーション・サーバ1を介して、上記ユーザAの友人リストを同期させるための処理が行われる。この同期処理は、SNSサーバ4の友人リストの内容が更新されるごとに行われる。なお、その他のユーザの友人リストについても、上記ユーザAの友人リストと同様にXDMサーバ2に記憶され同期処理される。
【0070】
ユーザAのプレゼンス情報を取得しようとする場合クライアント装置CTは、SOAP/RESTプレゼンス要求(UserA_SIP)を送信する。すなわち、ユーザIDとしてはUserA_SIPのみを送り、UserA_SNSは送らない。SIPアプリケーション・サーバ1は、上記SOAP/RESTプレゼンス要求(UserA_SIP)を受信すると、先ず当該ユーザA用のSIPダイアログが既に確立されているか否かを判定する。この判定の結果、まだ確立されていなければ、ユーザA用のSIPダイアログを確立した後、プレゼンスサーバ3に対しSIPベースのネットワークNW1を介してプレゼンス情報購読登録の要求を送信する。プレゼンスサーバ3は、上記プレゼンス情報購読登録の要求に応じてユーザA用のSIPダイアログを確立した後、該当するユーザAのプレゼンス情報を読み出して上記送信元のSIPアプリケーション・サーバ1へ返送する。
【0071】
次にSIPアプリケーション・サーバ1は、XDMサーバ2に対しXCAPにより上記ユーザAの友人リストの取得要求(UserA_SIP)を送信する。これに対しXDMサーバ2が、ユーザAの友人リスト情報(UserA_SIP)を返送すると、この友人リスト情報をもとに上記ユーザAのプレゼンス情報をキャッシュするか否かを判定する。
【0072】
このキャッシュするか否かの判定は、第1の実施形態と同様に、上記ユーザAの友人リスト情報からユーザAの友人数を抽出し、このユーザAの友人数と、キャッシュ済の各ユーザのうち友人数が最少のユーザの友人数(キャッシュ済の最少友人数)とを比較することにより行われる。
【0073】
この比較結果をもとにキャッシュすると判定されると、上記ユーザAのプレゼンス情報をキャッシュメモリ40に格納する。また、それと共に上記ユーザA用に確立したダイアログを保持する。そして、上記キャッシュ制御後に、SIPアプリケーション・サーバ1は上記ユーザAのプレゼンス情報をSOAP/RESTにより取得要求元のクライアント装置CTへ送信する。
【0074】
次に、クライアント装置CTから、ユーザAのプレゼンス情報を取得するために2回目のSOAP/RESTプレゼンス要求(UserA_SIP)が送信されたとする。この場合SIPアプリケーション・サーバ1は、取得対象のユーザA用のダイアログが既に確立されているため、キャッシュメモリ40から該当するプレゼンス情報を読み出す。そして、この読み出されたプレゼンス情報を、SOAP/RESTにより取得要求元のクライアント装置CTへ送信する。以後、クライアント装置CTから、ユーザAに関するSOAP/RESTプレゼンス要求(UserA_SIP)を送信されるごとに、SIPアプリケーション・サーバ1はキャッシュメモリ40から該当するプレゼンス情報を読み出し、この読み出されたプレゼンス情報をSOAP/RESTにより取得要求元のクライアント装置CTへ配信する。
【0075】
一方、クライアント装置CTから、ユーザBのプレゼンス情報を取得するために最初のSOAP/RESTプレゼンス要求(UserB_SIP)が送信されたとする。この場合SIPアプリケーション・サーバは、ユーザB用のダイアログは未確立であるため、ダイアログを確立した後、プレゼンスサーバ3に対しネットワークNW1を介してプレゼンス情報購読登録の要求を送信する。プレゼンスサーバ3は、上記プレゼンス情報購読登録の要求に応じてユーザB用のSIPダイアログを確立した後、該当するユーザBのプレゼンス情報を読み出して上記送信元のSIPアプリケーション・サーバ1へ返送する。
【0076】
続いてSIPアプリケーション・サーバ1は、XDMサーバ2に対しXCAPにより上記ユーザBの友人リストを取得するための友人リスト要求(UserB_SNS)を送信する。これに対しXDMサーバ2が、ユーザBの友人リスト情報を返送すると、この友人リスト情報をもとに上記ユーザBのプレゼンス情報をキャッシュするか否かを判定する。この判定も、ユーザBの友人リスト情報から友人Bの友人数を調べ、このユーザBの友人数とキャッシュ済の最少友人数とを比較することにより行われる。
【0077】
この判定の結果、ユーザBの友人数がキャッシュ済の最少友人数より少なければ、プレゼンスサーバ3に対しプレゼンス情報購読解除を要求した後、SIPアプリケーション・サーバ1におけるユーザB用のダイアログを解放する。そして、上記取得したユーザBのプレゼンス情報を要求元のクライアント装置CTへ送信する。
【0078】
なお、プレゼンスサーバ3において、ユーザ端末MSaからのプレゼンス情報更新登録の要求に応じてユーザAのプレゼンス情報が更新されたとする。この場合、プレゼンスサーバ3からSIPアプリケーション・サーバ1へユーザAのプレゼンス情報の更新通知が送信される。SIPアプリケーション・サーバ1は、上記プレゼンス情報の更新通知を受信すると、キャッシュメモリ40内の該当するユーザAのキャッシュ情報に含まれるプレゼンス情報を上記更新通知の内容に応じて更新する。そして、このユーザAの更新後のプレゼンス情報をキャッシュメモリ40から読み出し、HTTPベースのネットワークNW1を介してクライアント端末CTへ配信する。
【0079】
[SIPアプリケーション・サーバによる詳細な処理動作]
図11は、SIPアプリケーション・サーバ1の詳細な処理手順と処理内容を示すフローチャートである。なお、同図において前記図8と同一部分には同一符号を付して詳しい説明は省略する。
【0080】
制御ユニット10は、定常時においてSNSサーバ4とXDMサーバ2との間で友人リストを同期させる処理を実行する。すなわち、いま例えばユーザ端末MSaから、ユーザAのSNSのID(UserA_SNS)の登録要求が送信されたとする。この場合XDMサーバ2は、この要求を受けてSIPアプリケーション・サーバ1に対しユーザAの友人リストの取得要求をXCAPにより送信する。
【0081】
制御ユニット10は、上記ユーザAの友人リストの取得要求を受信すると、ステップS31によりSNSサーバ4に対し、UserA_SNSをもとに友人リストの検索要求を送信する。SNSサーバ4が該当するユーザAの友人リスト情報を返送すると、制御ユニット10はステップS32により上記返送された友人リスト情報を成形し、この成形された友人リストをステップS33によりXCAPによりXDMサーバ2へ送信する。かくして、XDMサーバ2にユーザAの友人リストが登録される。以後、このXDMサーバ2に登録されたユーザAの友人リストは、SNSサーバ4の対応する友人リスト情報が更新されるごとに、この更新処理に同期して更新される。
【0082】
さて、この状態でクライアント装置CTから送信されたプレゼンス要求(UserA_SIP)がHTTP信号送受信部20で受信されると、制御ユニット10はステップS12においてSIP信号送受信部30に対しUserA_SIPにより検索を行い、ユーザAに関するダイアログが既に存在するか否かを判定する。この判定の結果、ダイアログが存在すればステップS18によりキャッシュメモリ40から該当するプレゼンス情報を読み出す。そして、ステップS14により、上記読み出されたプレゼンス情報をHTTP送受信部20から要求元のクライアント装置CTに向け送信させる。
【0083】
これに対し、ユーザA用のダイアログがまだ存在しなかったとする。この場合制御ユニット10は、先ずステップS13においてプレゼンスサーバ3に対しSIP信号送受信部30からプレゼンス情報購読要求(UserA_SIP)を送信する。そして、プレゼンスサーバ3から返送されるユーザAのプレゼンス情報を、SIP信号送受信部30を介して受信する。
【0084】
次に制御ユニット10は、ステップS34においてXDMサーバ2に対しユーザAの友人リストの検索要求(UserA_SIP)をXCAPにより送信する。そして、SNSサーバ4から読み出されたユーザAの友人リスト情報をXCAPにより受信する。そして、この受信されたユーザAの友人リスト情報からユーザAの友人数Nを抽出する。
続いて制御ユニット10は、ステップS16〜ステップS23によりユーザAのプレゼンス情報のキャッシュ制御を実行する。このキャッシュ制御の処理手順と処理内容は、先に第1の実施形態において述べた処理手順及び処理内容と同一である。
【0085】
以上述べたように第2の実施形態では、SIPベースのネットワークNW2に設けられたXDMサーバ2を利用して、SNSサーバ4に記憶されたユーザの友人リストをXDMサーバ2においても同期管理し、キヤッシュ判定のためにユーザの友人リストが必要となった場合に、当該友人リストを上記XDMサーバ2から取得するようにしている。
【0086】
したがって、キャッシュ判定のために友人リストが必要となった時点で、その都度SNSサーバ4との間でHTTPベースのネットワークNW1を介して友人リスト情報を取得するための通信を行うことなく、SIPベースのネットワークNW2上で友人関係を他のサービスや制御機能に応用することができる。
【0087】
(第3の実施形態)
この発明の第3の実施形態は、クライアント装置から各ユーザについてのプレゼンス要求を受信するごとに、SIPアプリケーション・サーバが当該ユーザごとにプレゼンス情報に対するアクセス頻度を計算する。そして、このアクセス頻度の計算結果をもとに、アクセス頻度の多い順にキャッシュメモリでキャッシュ可能な数だけユーザのプレゼンス情報をキャッシュする。
【0088】
図12は、この発明の第3の実施形態に係わるプレゼンス情報配信機能を有するSIPアプリケーション・サーバ1′の構成を示すブロック図である。なお、同図において前記図2と同一部分には同一符号を付して詳しい説明は省略する。
【0089】
SIPアプリケーション・サーバ1′の制御ユニット10′は、プレゼンス要求受信制御部11、ダイアログ情報判定部12、プレゼンス情報取得配信制御部13、プレゼンス情報読出配信制御部14、友人情報取得制御部15及びキャッシュ制御部16に加え、アクセス頻度検出部17と、アクセス順位変更制御部18をさらに備えている。なお、これらのアクセス頻度検出部17及びアクセス順位変更制御部18についても、プログラムをプロセッサ(CPU)に実行させることにより実現される。
【0090】
アクセス頻度検出部17は、プレゼンス要求受信制御部11によりプレゼンス要求が受信されるごとに、当該プレゼンス情報に対するアクセス頻度を計算する。アクセス頻度は、過去の予め設定した期間におけるプレゼンス要求の受信回数をカウントすることにより計算される。なお、上記アクセス頻度は、プレゼンス情報取得配信制御部13においてプレゼンスサーバ3からプレゼンス情報を取得するごとに計算するようにしてもよい。
【0091】
アクセス順位変更制御部18は、上記アクセス頻度検出部17によりユーザごとに得られたアクセス頻度の計算結果をもとに、プレゼンス情報をキャッシュするときの順序を更新し、この更新後のアクセス順位情報をキャッシュ制御部16に与える。キャッシュ制御部16は、上記アクセス順位変更制御部18から与えられたアクセス順位情報をもとに、アクセス頻度の多い順に予め設定した数だけユーザのプレゼンス情報をキャッシュメモリ40にキャッシュさせる処理を行う。
【0092】
このような構成により、クライアント装置CTから送信されたユーザAのプレゼンス情報取得要求がREST/SOAPにより受信されると、同様にアクセス頻度が計算されて、キャッシュメモリ上の当該データのアクセス頻度を更新し、SIPアプリケーション・サーバ1′は先ずこのプレゼンスの取得対象となっているユーザAに対応するSIPダイアログが既に存在するか否かを判定する。
【0093】
この判定の結果、該当するダイアログが存在しない場合には、プレゼンスサーバ3へSIP/SIMPLEによりプレゼンス情報の取得要求を送信する。これに対しプレゼンスサーバ3からユーザAのプレゼンス情報が返送されると、当該ユーザAに対するアクセス頻度を計算する。
【0094】
このとき、SIPアプリケーション・サーバ1′の作業用メモリには、過去にプレゼンス要求が発生した各ユーザのアクセス頻度が保存されている。SIPアプリケーション・サーバ1′は、上記新たに計算されたユーザAのアクセス頻度と、上記作業用メモリに記憶されている他のユーザのアクセス頻度をもとに、ユーザのアクセス順位を上記アクセス頻度の高い順に並べ替える。
【0095】
そして、この並べ替えられたアクセス順に従い、ユーザのプレゼンス情報を上位の予め定められた数だけキャッシュメモリ40に記憶させる。またこのとき、キャッシュメモリ40にプレゼンス情報が記憶されたユーザについてはそのSIPダイアログを維持し、キャッシュメモリ40からプレゼンス情報が削除されたユーザに対してはそのSIPダイアログを解放する。
そして、このキャッシュ制御終了後に、上記ユーザAのプレゼンス情報をREST/SOAPにより要求元のクライアント装置CTへ送信する。
【0096】
以後同様に、SIPダイアログが確立されていないプレゼンス要求が受信されるごとに、プレゼンスサーバ3からプレゼンス情報が取得されると共に、当該ユーザに対するアクセス頻度が計算されてこのアクセス頻度が高い順に一定個数だけユーザのプレゼンス情報がキャッシュメモリ40に記憶される。
【0097】
一方、SIPダイアログが既に確立されている状態でプレゼンス要求が再度受信されると、SIPアプリケーション・サーバ1′は上記キャッシュメモリ40から該当するプレゼンス情報を読み出し、この読み出されたプレゼンス情報を要求元のクライアント装置CTへ送信する。
【0098】
以上述べたように第3の実施形態によれば、クライアント装置CTから各ユーザについてのプレゼンス要求を受信するごとに、SIPアプリケーション・サーバ1′が当該ユーザごとにプレゼンス情報に対するアクセス頻度を計算し、このアクセス頻度の計算結果をもとに、アクセス頻度の多い順に一定個数だけユーザのプレゼンス情報をキャッシュするようにしている。
【0099】
したがって、例えば何らかの理由でSNSサーバ4からユーザの友人リスト情報を取得できない場合でも、アクセス頻度の高い順に一定個数のユーザのプレゼンス情報をキャッシュすることができる。しかも、アクセス順位をSIPアプリケーション・サーバ1′が単独で管理できる利点がある。
【0100】
(その他の実施形態)
前記第3の実施形態では、ユーザごとのプレゼンス情報に対するアクセス頻度をSIPアプリケーション・サーバ1′が単独で検出し、このアクセス頻度に応じてキャッシュ制御を行った。しかし、これに限定されるものではなく、次のような構成も考えられる。
すなわち、SIPベースのネットワークNW1に収容される複数のユーザの各々について、プレゼンスサーバ3が当該ユーザのプレゼンス情報に対するアクセス頻度を計算し、このユーザごとのアクセス頻度を表す情報を複数のSIPアプリケーション・サーバ1′との間でそれぞれ同期管理する。そして、各SIPアプリケーション・サーバ1′は、上記管理されたアクセス頻度を表す情報に基づいて、アクセス順位が高いものから予め設定された数だけユーザのキャッシュ情報をキャッシュメモリ40に記憶させるようにキャッシュ制御する。
【0101】
このように構成すると、上記第3の実施形態と同様に、SNSサーバ4からユーザの友人関係を表す情報を取得できない場合でも、記憶容量が限られたキャッシュメモリに対し、アクセス頻度の高い順にユーザのプレゼンス情報をキャッシュすることができる。また、各ユーザのアクセス順位がプレゼンスサーバ3により一元管理されるので、例えば複数のSIPアプリケーション・サーバがそれぞれユーザのプレゼンス情報をキャッシュ制御している場合でも、不整合を生じることなくキャッシュ制御することが可能となる。
【0102】
また、前記第3の実施形態では、ユーザごとのアクセス実績としてアクセス頻度を計算するようにした。しかしそれに限らず、アクセス実績として任意の時点からのアクセス回数をカウントし、このアクセス回数のカウント値をもとにアクセス順位が高いものから予め設定された数だけユーザのキャッシュ情報をキャッシュメモリ40に記憶させるようにしてもよい。その他、アクセス実績を表す情報であれば、頻度や回数以外の如何なる情報を利用してもよい。
その他、SIPアプリケーション・サーバの構成、友人リストの構成、友人リストの取得制御手順とその内容、キャッシュ制御手順と内容、キャッシュ情報の構成、キャッシュメモリ40に格納可能なキャッシュ情報数等についても、この発明の要旨を逸脱しない範囲で種々変形して実施可能である。
【0103】
要するにこの発明は、上記各実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記各実施形態に開示されている複数の構成要素の適宜な組み合せにより種々の発明を形成できる。例えば、各実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態に亘る構成要素を適宜組み合せてもよい。
【符号の説明】
【0104】
CT…Webベースクライアント装置、MSa〜MSn…ユーザ端末、NW1…HTTPベースデータネットワーク、NW2…SIPベースネットワーク、1,1′…SIP AS、2…XDMS、3…プレゼンスサーバ(PS)、4…SNS、10,10′…制御ユニット、11…プレゼンス要求受信制御部、12…ダイアログ情報判定部、13…プレゼンス情報取得配信制御部、14…プレゼンス情報読出配信制御部、15…友人関係取得制御部、16…キャッシュ制御部、17…アクセス頻度検出部、18…アクセス順位変更制御部、20…HTTP信号送受信部、30…SIP信号送受信部、40…キャッシュメモリ。

【特許請求の範囲】
【請求項1】
SIP(Session Initiation Protocol)を基本プロトコルとする第1のネットワークに設けられ、当該第1のネットワークを利用する複数のユーザのプレゼンス情報を管理するプレゼンスサーバとの間で通信が可能であり、かつHTTP(Hypertext Transfer Protocol)を基本プロトコルとする第2のネットワークを介してクライアント装置及びソーシャルネットワークサービス・サーバとの間で通信が可能なSIPアプリケーション・サーバからなるプレゼンス情報配信装置において、
前記クライアント装置から前記複数のユーザのうち第1のユーザに関するプレゼンス要求を受信した場合に、当該第1のユーザに関するキャッシュ情報がアプリケーション・サーバ内のメモリに既に記憶されているか否かを判定する手段と、
前記第1のユーザに関するキャッシュ情報が既に記憶されていると判定された場合に、前記メモリから該当するキャッシュ情報に含まれるプレゼンス情報を読み出して要求元のクライアント装置へ送信する手段と、
前記第1のユーザに関するキャッシュ情報が記憶されていないと判定された場合に、前記プレゼンスサーバから当該第1のユーザのプレゼンス情報を取得し、このプレゼンス情報を前記要求元のクライアント装置へ転送する手段と、
前記第1のユーザの友人関係を表す情報を前記ソーシャルネットワークサービス・サーバから取得する友人情報取得手段と、
前記取得された友人関係を表す情報に基づいて、前記第1のユーザのプレゼンス情報をキャッシュするか否かを判定し、キャッシュすると判定された場合に前記第1のユーザのプレゼンス情報を含むキャッシュ情報を生成して前記メモリに記憶させるキャッシュ制御手段と
を具備することを特徴とするプレゼンス情報配信装置。
【請求項2】
前記友人情報取得手段は、前記第1のユーザに関するキャッシュ情報が記憶されていないと判定された時点で、前記ソーシャルネットワークサービス・サーバに対し友人情報取得要求を送信し、この要求に対しソーシャルネットワークサービス・サーバから送信される第1のユーザの友人関係を表す情報を受信することを特徴とする請求項1記載のプレゼンス情報配信装置。
【請求項3】
前記友人情報取得手段は、
前記第1のネットワークに、ユーザ特有のサービスに関する情報へのアクセス及び操作を行う機能を提供するイネーブラが設けられている場合に、定常状態において、前記複数のユーザの各々についてその友人関係を表す情報を前記ソーシャルネットワークサービス・サーバから取得して前記イネーブラに蓄積し、以後当該友人関係を表す情報を前記ソーシャルネットワークサービス・サーバに記憶された情報と同期させる手段と、
前記第1のユーザに関するキャッシュ情報が記憶されていないと判定された場合に、当該第1のユーザの友人関係を表す情報を前記イネーブラから取得する手段と
を備えることを特徴とする請求項1記載のプレゼンス情報配信装置。
【請求項4】
前記キャッシュ制御手段は、
ユーザの友人数を表す情報を当該ユーザのキャッシュ情報に含めて前記メモリに記憶する手段と、
前記取得された第1のユーザの友人関係を表す情報から友人数を求め、この求められた第1のユーザの友人数を前記メモリに記憶されている他のユーザのキャッシュ情報に含まれる友人数と比較する手段と、
前記第1のユーザの友人数が他のユーザの友人数より多い場合に、前記メモリに記憶されている他のユーザのキャッシュ情報に代えて、前記第1のユーザのキャッシュ情報をメモリに記憶させる手段と
を備えることを特徴とする請求項1乃至3のいずれかに記載のプレゼンス情報配信装置。
【請求項5】
前記キャッシュ制御手段は、
前記メモリに新たなキャッシュ情報を追加記憶するための容量が残っているか否かを判定する手段と、
前記判定の結果容量が残っている場合には、前記第1のユーザのプレゼンス情報を含むキャッシュ情報を生成して前記メモリに追加記憶させる手段と、
前記判定の結果容量が残っていない場合に、前記メモリに記憶されている複数のユーザのキャッシュ情報から友人数が最も少ない第2のユーザを選択し、当該選択された第2のユーザの友人数と前記第1のユーザの友人数とを比較する手段と、
前記第1のユーザの友人数が第2のユーザの友人数以上の場合に、前記メモリに記憶されている第2のユーザのキャッシュ情報に代えて前記第1のユーザのキャッシュ情報をメモリに記憶させ、前記第1のユーザの友人数が第2のユーザの友人数より少ない場合には、前記メモリに記憶されている第2のユーザのキャッシュ情報を維持するように制御する手段と
を備えることを特徴とする請求項1乃至3のいずれかに記載のプレゼンス情報配信装置。
【請求項6】
複数のユーザについてのプレゼンス要求を受信するごとに、当該ユーザごとにプレゼンス情報に対するアクセス実績を計算する手段と、
前記アクセス実績の計算結果をもとに各ユーザのアクセス順位情報を生成し、このアクセス順位情報に応じてアクセス順位が高いものから予め設定された数だけユーザのキャッシュ情報を前記メモリに記憶させるキャッシュ更新手段と
を、さらに備えることを特徴とする請求項1記載のプレゼンス情報配信装置。
【請求項7】
前記第1のネットワークに収容された複数のユーザの各々について、当該ユーザのプレゼンス情報に対するアクセス実績を反映した各ユーザに対するアクセス順位を表す情報を生成し、このアクセス順位情報を前記プレゼンスサーバとの間で同期して管理する手段と、
前記アクセス順位情報に応じて、アクセス順位が高いものから予め設定された数だけユーザのキャッシュ情報を前記メモリに記憶させるように更新制御する手段と
を、さらに備えることを特徴とする請求項1記載のプレゼンス情報配信装置。
【請求項8】
SIP(Session Initiation Protocol)を基本プロトコルとする第1のネットワークに設けられ、当該第1のネットワークを利用する複数のユーザのプレゼンス情報を管理するプレゼンスサーバとの間で通信が可能であり、かつHTTP(Hypertext Transfer Protocol)を基本プロトコルとする第2のネットワークを介してクライアント装置及びソーシャルネットワークサービス・サーバとの間で通信が可能なSIPアプリケーション・サーバにより実行されるプレゼンス情報配信方法であって、
前記クライアント装置から前記複数のユーザのうち第1のユーザに関するプレゼンス要求を受信した場合に、当該第1のユーザに関するキャッシュ情報がアプリケーション・サーバ内のメモリに既に記憶されているか否かを判定する過程と、
前記第1のユーザに関するキャッシュ情報が既に記憶されていると判定された場合に、前記メモリから該当するキャッシュ情報に含まれるプレゼンス情報を読み出して要求元のクライアント装置へ送信する過程と、
前記第1のユーザに関するキャッシュ情報が記憶されていないと判定された場合に、前記プレゼンスサーバから当該第1のユーザのプレゼンス情報を取得し、このプレゼンス情報を前記要求元のクライアント装置へ転送する過程と、
前記第1のユーザの友人関係を表す情報を前記ソーシャルネットワークサービス・サーバから取得する過程と、
前記取得された友人関係を表す情報に基づいて、前記第1のユーザのプレゼンス情報をキャッシュするか否かを判定し、キャッシュすると判定された場合に前記第1のユーザのプレゼンス情報を含むキャッシュ情報を生成して前記メモリに記憶させる過程と
を具備することを特徴とするプレゼンス情報配信方法。
【請求項9】
前記友人関係を表す情報を取得する過程は、前記第1のユーザに関するキャッシュ情報が記憶されていないと判定された時点で、前記ソーシャルネットワークサービス・サーバに対し友人情報取得要求を送信し、この要求に対しソーシャルネットワークサービス・サーバから送信される第1のユーザの友人関係を表す情報を受信することを特徴とする請求項8記載のプレゼンス情報配信方法。
【請求項10】
前記友人関係を表す情報を取得する過程は、
前記第1のネットワークに、ユーザ特有のサービスに関する情報へのアクセス及び操作を行う機能を提供するイネーブラが設けられている場合に、定常状態において、前記複数のユーザの各々についてその友人関係を表す情報を前記ソーシャルネットワークサービス・サーバから取得して前記イネーブラに蓄積し、以後当該友人関係を表す情報を前記ソーシャルネットワークサービス・サーバに記憶された情報と同期させる過程と、
前記第1のユーザに関するキャッシュ情報が記憶されていないと判定された場合に、当該第1のユーザの友人関係を表す情報を前記イネーブラから取得する過程と
を備えることを特徴とする請求項8記載のプレゼンス情報配信方法。

【図1】
image rotate

【図2】
image rotate

【図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