以下、本発明の実施の形態について、図面を用いて説明する。
(実施の形態1)
図1は、本発明の実施の形態1における情報通知システムの概略構成図である。
図1において、情報通知中継装置としてのサーバ装置100は、ユーザの在席状態などを管理する装置(以下、ユーザ装置という)105からユーザの在席情報や場所情報などの状態、あるいは情報通知端末106から電源のオン/オフなどの状態の通知を受け、ユーザ装置105や情報通知端末106の状態を収集、管理し、これらの状態を含む通知情報を通知する。
また、ユーザ装置105や情報通知端末106からの通知情報を参照する情報参照部としての参照者端末102、103、104は、サーバ装置100と、ネットワーク101を介して互いに接続されている。
サーバ装置100としては、インターネット電話のサーバ装置や、映像配信用のサーバ装置など、各種サーバ装置を用いることができる。また、参照者端末102、103、104としては、パソコンや、一般電話機、携帯電話機、ネット家電機器などの各種端末、その他の端末装置を適宜用いることができる。特に、サーバ装置100は、状態通知などの情報通知機能を有していればよく、ここに挙げた各種サーバ装置と必ずしも一致する必要はなく、例えば、情報通知部である情報通知端末106に実装されていても構わない。
ネットワーク101は、インターネットや電話ネットワークなどの公衆ネットワークのほかに、LANや宅内ネットワークであっても良い。
ユーザ装置105および情報通知端末106は、それぞれサーバ装置100によって状態情報が管理されている。ユーザ装置105の状態は、ユーザがユーザ装置105のキーなどを操作し、その情報をサーバ装置100に送信しても良いが、サーバ装置100に、例えば人体センサのようなセンサなどを設け、そのセンサなどで直接ユーザの在席、離席などの状態を監視しても良い。また、ユーザ装置105や情報通知端末106は、ネットワークを介してサーバ装置100に接続してもよいが、サーバ装置100と一体化して、ユーザが直接サーバ装置100を操作したり、サーバ装置100自身が情報通知端末106の機能を果たしても良い。
また、ユーザ装置105や情報通知端末106は、サーバ装置100に対して、自己の状態情報などの通知情報を通知するように構成されているが、サーバ装置100自体が逆にユーザ装置105や情報通知端末106からそれぞれの状態情報などを取得するように構成してもよい。
また、ユーザ装置105や情報通知端末106の状態には、それぞれが提供するサービスや機能の状態も含まれて良い。情報通知端末が、例えば、携帯電話の場合、情報通知端末の状態には、電波の状態、電源のオン・オフの状態、ハードウエアの運用の状態、マナーモードの状態等が挙げられる。
次に、本実施の形態1における情報通知システムについて、各装置間の処理をより詳細に説明する。
図2は、サーバ装置100や参照者端末102をより詳しく示した概略構成図である。
図2に示すように、サーバ装置100は、管理部1001、通知要求受信部1002、通知応答送信部1003、状態通知送信部1004を有する。また、参照者端末102は、通知要求送信部1021、通知応答受信部1022、状態通知受信部1023、状態通知中継部1024を有する。そして、参照者端末103も、参照者端末102と同様に構成されている。
サーバ装置100は、管理部1001を用いてユーザ装置105の状態情報や情報通知端末106の状態情報を常時管理している。管理している状態情報としては、例えば、ユーザがユーザ装置105を操作することによって得られるユーザの在席、離席等の状態や、情報通知端末106の電源オン、電源オフ等の状態があるが、さらに、これら以外に、ユーザの居る場所や情報通信端末の通信状態などの複数の状態があってもよい。
参照者端末102は、通知要求送信部1021を用いてサーバ装置100に対し、ユーザ装置105の状態情報や情報通知端末106の状態情報を通知するように要求する。そのとき、その参照者端末102において状態通知メッセージの中継能力を有する場合、その中継能力を有することを記述した通知要求メッセージを同時にサーバ装置100に送信する。
参照者端末102がサーバ装置100に対し、ユーザ装置105の状態情報や情報通知端末106の状態情報を通知するように要求する場合、ユーザ装置105のみを指定したり、ユーザ装置105が持つ複数の状態情報のうち、一部のみを通知要求する情報を付加したりして要求することもできる。
サーバ装置100は、参照者端末102から通知要求メッセージが送信された場合、それを通知要求受信部1002によって受信する。通知要求メッセージ受信後、サーバ装置100は、通知応答送信部1003を用いて、通知要求メッセージを受信したことを示す応答メッセージを参照者端末102に送信する。このとき、サーバ装置100の管理者によって設定したり、予め定めたりすることによって保持している参照者端末103のアドレス情報を要求応答メッセージに付加して、参照者端末102に送信する。
例えば、管理部1001は、多数の参照者端末102が送信してきたそれぞれの通知要求メッセージの内容や、どの参照者端末102が中継能力を有しているか、どの参照者端末102が中継能力を有していないかなどを、それぞれの参照者端末102について管理している。したがって、管理部1001は、中継能力を有するどの参照者端末102に対してどの参照者端末103の中継をさせるかを、予めサーバ装置100の管理者などが設定しておくことができる。この際、中継させる参照者端末103は、例えば複数のアドレスを設定することにより複数の参照者端末を設定できる。
なお、サーバ装置100は、通知要求メッセージを受信したときに、管理情報を参照する等して、参照者端末102が要求している状態情報にアクセスする権利があるかどうかを確認したり、参照者端末102が正しい参照者端末であるかどうかを認証したりする等してもよい。そして、これらの結果を基に、正常でない場合、通知応答メッセージにエラー情報を付加し、参照者端末102に対し、状態通知を拒否するようにしてもよい。また、サーバ装置100は、複数の参照者端末103のアドレス情報を通知応答メッセージに付加するようにしてもよい。
参照者端末102は、サーバ装置100から通知応答メッセージが送信されると、それを通知応答受信部1022で受信する。参照者端末102の通知応答受信部1022は、受信した通知応答メッセージに参照者端末103の情報が含まれていた場合、その情報を保持する。
サーバ装置100の管理部1001は、ユーザ装置105の状態情報や情報通知端末106の状態情報変化を取得した場合、サーバ装置100の状態通知送信部1004を用いて、ユーザ装置105の状態情報や情報通知端末106の状態情報変化を含む状態通知メッセージを参照者端末102に送信する。
なお、状態通知メッセージは、参照者端末102だけでなく、それ以前に通知要求メッセージを送信し、ユーザ装置105の状態通知や情報通知端末106の状態通知を希望する参照者端末のうち、通知応答送信部1003によって正常な通知応答メッセージを送信した全ての参照者端末に対して送信する。
参照者端末102は、サーバ装置100からの状態通知メッセージを状態通知受信部1023で受信し、受信した状態通知メッセージを参照者端末102の表示器にGUIで表示したり、状態情報変化に対応した処理を行ったりする。
そして、参照者端末102は、通知応答受信部1022によって通知応答メッセージを受信したときに設定されていた参照者端末103に対しても、受信した状態通知メッセージの少なくとも一部を中継する。例えば、参照者端末102は、状態通知メッセージにユーザ装置105と情報通知端末106の両方の状態情報が設定されていた場合でも、ユーザ装置105の状態情報のみを中継してもよいし、また、両方の状態情報を中継してもよい。これらの情報設定は、通知応答メッセージに設定すればよい。
このようにして、参照者端末103が状態通知メッセージを受信すると、そのメッセージが参照者端末102と同様、参照者端末103の表示器に表示され、参照者端末103がその状態情報に対応した処理を行う。
したがって、本発明は、サーバ装置100から参照者端末102以外の参照者端末103に状態情報を直接送信しなくても、参照者端末102を経由して参照者端末103に状態情報を送信することができ、サーバ装置100に対するトラヒックを少なくすることができる。
次に、上記情報通知システムの装置間のメッセージとしてSIP(Session Initiation Protocol)を用いた場合の具体例について説明する。
図3は、装置間のメッセージとしてSIPを用いた場合の動作を示すシーケンス図である。
サーバ装置100は、ユーザ装置105の状態情報や情報通知端末106の状態情報を常に管理しており、例えば、図3に示すように、ユーザ装置105からPUBLISHメッセージとしてユーザ装置105:在席(すなわち、ユーザ装置105を操作するユーザが在籍しているという意味)という状態情報を受信し(ステップS301)、応答情報“200 OK”をユーザ装置105に送信する(ステップS302)。
このとき、参照者端末102が、サーバ装置100に対し、通知要求メッセージとしてSUBSCRIBEメッセージを送信すると(ステップS303)、サーバ装置100はそのSUBSCRIBEメッセージを受信し、SUBSCRIBEメッセージで要求された内容に応じた応答メッセージ“200 OK”を参照者端末102に返送する(ステップS304)。
例えば、ステップS303において、SUBSCRIBEメッセージに、ユーザ装置105の状態情報を通知して欲しい旨の情報と、参照者端末102自体が状態通知メッセージを中継する能力を有している旨の情報を設定しておけば、これらの情報が参照者端末102からサーバ装置100に送信される。なお、これらの情報は、メッセージのヘッダに設定してもよいし、ボディに設定してもよい。
このようにして、ステップS304において、参照者端末102からサーバ装置100にSUBSCRIBEメッセージが送信されると、それがサーバ装置100で受信される。受信された情報が受け入れ可能な要求であれば、サーバ装置100は、通知応答メッセージとして応答情報“200 OK”を参照者端末102に送信する。このとき、参照者端末102を用いて中継して欲しい参照者端末103のアドレス情報をサーバ装置100に設定しておくと、サーバ装置100がそのアドレス情報をも通知応答メッセージの1つとして参照者端末102に送信する。なお、この場合も、このような情報は、通知応答メッセージのヘッダまたはボディのいずれかに設定しておけばよい。
サーバ装置100は、ユーザ装置105において状態情報変化が生じると、参照者端末102からの要求に従って、その変化毎に状態通知メッセージとしてNOTIFYメッセージを参照者端末102に送信する(ステップS305)。ここで、NOTIFYメッセージには、ユーザ装置105の管理するユーザの在席、離席等の状態情報を設定しておく。この状態情報もまたメッセージヘッダおよびメッセージボディのいずれかに設定すればよい。
参照者端末102は、NOTIFYメッセージを受信すると、その旨を表す応答情報“200 OK”をサーバ装置100に送信する(ステップS306)。そして、参照者端末102は、受信したユーザ装置105の状態情報を表示器に表示したり、NOTIFYメッセージを参照者端末103に中継したりする(ステップS307)。
参照者端末102は、NOTIFYメッセージを参照者端末103に中継する場合には、受信したユーザ装置105の状態情報をそのままNOTIFYメッセージとして参照者端末103に送信してもよいが、その一部のみをサーバ装置100からの指示により設定、送信してもよい。
参照者端末103は、NOTIFYメッセージを受信すると、そのメッセージを参照者端末103の表示器に表示し、同時に、NOTIFYメッセージを受信した旨を示す応答情報“200 OK”を参照者端末102に送信する(ステップS308)。
ユーザ装置105の管理するユーザが離席する等して、ユーザ装置105の状態情報が変化した場合には、同じように、ユーザ装置105の管理するユーザが離席した旨のメッセージを、ユーザ装置105は、PUBLISHメッセージとしてサーバ装置100に送信する(ステップS309)。サーバ装置100は、受信した旨を示す応答情報“200 OK”メッセージをユーザ装置105に送信する(ステップS310)。そして、この状態情報変化によって、サーバ装置100は、ユーザ装置105が管理するユーザが離席した旨のNOTIFYメッセージを参照者端末102に送信する(ステップS311)。
参照者端末102は、このNOTIFYメッセージを受信したとき、その旨を示す応答情報“200 OK”をサーバ装置100に送信し(ステップS312)、参照者端末103に同じNOTIFYメッセージを送信する(ステップS313)。参照者端末103は、NOTIFYメッセージを受信したとき、受信した旨を表す応答情報“200 OK”を参照者端末102に送信し(ステップS314)、受信したメッセージを参照者端末103の表示器に表示すると共に、それに応じた動作を実行する。
このように、本実施の形態1によれば、ユーザ装置105や情報通知端末106の状態を状態情報としてサーバ装置100において常時管理する。ユーザ装置105や情報通知端末106において、状態情報の変化が生じたとき、参照者端末からの要求に応じて、要求のあった参照者端末に対し、その旨を通知するだけでなく、その参照者端末において中継能力がある場合、他の参照者端末にもその旨を通知するように指示し、他の参照者端末にその参照者端末を介して通知させるようにする。このようにすることにより、サーバ装置としては、いちいち個々の参照者端末に通知する必要がなく、サーバ装置に対するトラヒックを少なくすることができるという利点を有する。
図4〜図6は、SUBSCRIBEメッセージ、SUBSCRIBEメッセージに対する応答情報“200 OK”、およびNOTIFYメッセージのメッセージフォーマットの一例をそれぞれ示す図である。
図4に示すように、SUBSCRIBEメッセージにおいては、どの状態通知を望むかを示すメッセージ部分である“Request−URI”に“SUBSCRIBE sip:user105@a.com SIP/2.0”によって、どの状態通知を望むかを示し、中継能力を示すメッセージ部分である“Supported”ヘッダに“Supported:Notify−Relay”によって中継能力を示している。
また、図5に示すように、応答情報“200 OK”では、Supportedヘッダ(Supported:Notify−Relay:sip:client103@a.com)によって参照者端末103にNOTIFYメッセージを中継するよう指示されている。
さらに、図6に示すように、NOTIFYメッセージでは、メッセージボディにて情報通知端末106の状態情報を示している。
以上のように構成されたサーバ装置は、参照者端末に対し、状態通知メッセージを中継する他の参照者端末を指定することが可能なように構成されている。したがって、サーバ装置が中継する参照者端末をサーバ装置において選択できるので、他の参照者端末と近い参照者端末に対して中継を指示したり、参照者端末の負荷や能力に応じて中継を指示したりすることが可能になり、よりきめ細かな負荷分散やトラヒック分散が可能になるという利点を有する。
また、参照者端末は、他の参照者端末に対し、受信した状態通知メッセージを中継することが可能となる。したがって、サーバ装置は、他の参照者端末に対し、状態通知メッセージを直接送信する必要がなくなり、サーバ装置の負荷を参照者端末とで分散することが可能となる。また、サーバ装置に集中していたトラヒックを参照者端末とで分散することが可能となる。
なお、サーバ装置において、他の参照者端末を任意に指定可能にする場合には、手動で任意の参照者端末を選択し指定することができるようにすればよい。また、サーバ装置は、自動的に予め定めた条件の基で参照者端末を指定するようにする場合には、これらの条件を任意に設定し、その条件を基に、指定する参照者端末を選択するようにすればよい。
例えば、近くの参照者端末を選択したいときは、参照者端末の位置を予めサーバ装置に登録しておき、その位置間の距離によって近くの参照者端末を選択し、その参照者端末を指定すればよい。また、参照者端末の負荷や能力に応じて中継する参照者端末を選択したいときは、これらの参照者端末の負荷や能力をそれぞれ予めサーバ装置に登録したり、都度測定したりして、それらをサーバ装置において管理し、そのデータに基づいて負荷が比較的少なく、能力のある参照者端末を選択し、その参照者端末に中継を担当させるようにすればよい。
(実施の形態2)
図7は、本発明の実施の形態2における情報通知システムの概略構成を示すブロック図である。
本実施の形態2における情報通知システムは、図7に示すように、サーバ装置100が、管理部1001、通知要求受信部1002、通知応答送信部1003、状態通知送信部1004のほかに、中継参照者端末保持部1005を有している。また参照者端末102は、通知要求送信部1021、通知応答受信部1022、状態通知受信部1023、状態通知中継部1024のほかに、他の参照者端末103からの通知要求メッセージを受信する通知要求受信部1025を有している。
サーバ装置100は、実施の形態1と同様、管理部1001を用いてユーザ装置105の状態情報や情報通知端末106の状態情報を管理している。
参照者端末102は、通知要求送信部1021を用いてサーバ装置100に対し、ユーザ装置105の状態情報や情報通知端末106の状態情報を通知するように通知要求メッセージを送信すると共に、参照者端末102が状態通知メッセージの中継能力を有する旨のメッセージを送信する。
サーバ装置100は、参照者端末102から通知要求メッセージが送信されると、その通知要求メッセージを通知要求受信部1002によって受信する。このとき、サーバ装置100は、中継参照者端末保持部1005を用いて、状態通知メッセージの中継能力を有する参照者端末であるかどうかを判断する。中継参照者端末保持部1005は、中継能力があると判断するならば、例えば、参照者端末102が中継能力を有する参照者端末として記憶する。サーバ装置100は、通知要求メッセージに対する応答メッセージを通知応答送信部1003によって参照者端末102に送信する。
参照者端末102は、サーバ装置100より通知応答メッセージが送信されると、その通知応答メッセージを、通知応答受信部1022を用いて受信する。
また、参照者端末103がサーバ装置100に対して通知要求メッセージを送信した場合、サーバ装置100の中継参照者端末保持部1005が、参照者端末103に対して中継させるべき参照者端末を記憶していれば、サーバ装置100は、その参照者端末、例えば、参照者端末102のアドレス情報を設定したエラーを示す通知応答メッセージを、通知応答送信部1003によって参照者端末103に送信する。参照者端末103は、受信した通知応答メッセージに示される参照者端末102に対して通知要求メッセージを改めて送信する。参照者端末102は、改めて送信された通知要求メッセージを通知要求受信部1025によって受信する。
サーバ装置100において、管理部1001がユーザ装置105の状態情報や情報通知端末106の状態情報変化を検出すると、サーバ装置100は、状態通知送信部1004によってユーザ装置105の状態情報や情報通知端末106の状態情報を設定した状態通知メッセージを参照者端末102に送信する。
参照者端末102は、状態通知受信部1023を用いてサーバ装置100からの状態通知メッセージを受信する。参照者端末102は、受信した状態通知メッセージを参照者端末102の表示器に表示したり、状態に対応した処理を行ったりし、通知要求受信部1025に通知要求メッセージを送信してきた参照者端末103に対して、受信した状態通知メッセージの少なくとも一部を中継する。例えば、状態通知メッセージにユーザ装置105と情報通知端末106の両方の情報が設定されている場合にユーザ装置105の状態情報のみを中継してもよい。
参照者端末103は、状態通知メッセージを受信すると、それを参照者端末103の表示器に表示したり、状態情報に対応した処理を行ったりする。
次に、図8に示すシーケンス図を用いて、本実施の形態における情報通知システムの装置間のメッセージとしてSIPを用いた場合の例を具体的に説明する。
サーバ装置100は、ユーザ装置105の状態情報や情報通知端末106の状態情報を常に管理している。例えば、図8に示すように、サーバ装置100は、ユーザ装置105からPUBLISHメッセージとしてユーザ装置105:在席という状態情報を受信し(ステップS801)、応答情報“200 OK”をユーザ装置105に送信する(ステップS802)。
このとき、参照者端末102がサーバ装置100に対して送信する通知要求メッセージとして、SUBSCRIBEメッセージを送信する(ステップS803)。SUBSCRIBEメッセージには、ユーザ装置105の状態通知を望む旨と、参照者端末102が状態通知メッセージを中継する能力を有していることを示す旨を設定する。
サーバ装置100は、SUBSCRIBEメッセージを受信すると、それが受け入れ可能な要求であれば、通知応答メッセージとして応答情報“200 OK”を送信する(ステップS804)。
サーバ装置100は、参照者端末102からの要求に従って、ユーザ装置105において状態情報変化が生じると、その変化毎に状態通知メッセージとしてNOTIFYメッセージを参照者端末102に送信する(ステップS805)。ここで、NOTIFYメッセージには、ユーザ装置105が管理するユーザの在席、離席等の状態情報を設定しておく。この状態情報はメッセージヘッダ、またはメッセージボディのいずれかに設定すればよい。
参照者端末102は、NOTIFYメッセージを受信すると、その応答メッセージとして応答情報“200 OK”をサーバ装置100に送信する(ステップS806)。そして、参照者端末102は、受信したユーザ装置105の状態情報をGUIで表示器に表示したり、所定の処理をしたりする。
参照者端末103がサーバ装置100に対し、ユーザ装置105の状態通知を望む旨のSUBSCRIBEメッセージを送信する(ステップS807)。サーバ装置100は、通知応答メッセージとしてSIPの標準エラー応答メッセージである“302 Temporarily Moved”メッセージを参照者端末103に送信する(ステップS808)。このとき、“Contact”ヘッダに状態通知の中継機能を持つ参照者端末102のアドレス情報を設定しておく。“302 Temporarily Moved”メッセージを受信した参照者端末103は、SIPの標準手順に則り、300番台のエラーメッセージを受信したので、“Contact”ヘッダに設定されている参照者端末102に対して、SUBSCRIBEメッセージを改めて送信する(ステップS809)。参照者端末102は、それに対する応答メッセージとして応答情報“200 OK”を返送する(ステップS810)。なお、サーバ装置100が送信するメッセージは、300番台のエラーメッセージであれば何でも構わない。
サーバ装置100は、先に説明したように、ユーザ装置105の状態情報や情報通知端末106の状態情報を常に管理しており、このとき、例えば、ユーザ装置105からPUBLISHメッセージとしてユーザ装置105が管理するユーザが離席している旨の状態情報を受信したとすると(ステップS811)、このとき応答メッセージとして応答情報“200 OK”をユーザ装置105に送信する(ステップS812)。
このようにして、サーバ装置100は、ユーザ装置105の状態情報変化を検出すると、その変化ごとに状態通知メッセージとしてNOTIFYメッセージを参照者端末102に送信する(ステップS813)。NOTIFYメッセージには、ユーザ装置105の管理しているユーザの在席、離席等の状態情報を設定しておく。この状態情報もまたメッセージヘッダまたはメッセージボディのいずれかに設定すればよい。
参照者端末102は、NOTIFYメッセージを受信すると、それに対する応答メッセージとして応答情報“200 OK”をサーバ装置100に送信する(ステップS814)。参照者端末102は、受信したユーザ装置105の状態情報を表示器に表示したり、所定の処理をしたりし、NOTIFYメッセージを参照者端末103に中継する(ステップS815)。NOTIFYメッセージには、受信したユーザ装置105の状態情報をそのまま設定してもよいし、その一部のみを設定してもよい。参照者端末103は、NOTIFYメッセージを受信しとき、その応答メッセージとして応答情報“200 OK”を送信する(ステップS816)。
以上のように、本実施の形態2によれば、参照者端末102においては、参照者端末103から通知要求を受信し、それに応じて参照者端末103に対して、サーバ装置100から受信した状態通知メッセージを中継することが可能となる。したがって、参照者端末103の要望に応じて状態通知メッセージを中継することが可能となり、サーバ装置に依存しない負荷分散や参照者端末103から近い参照者端末に対して通知要求を送ること等を行うことができるようになり、より効果的なトラヒック分散が可能となる。
また、参照者端末103は、一旦サーバ装置100に通知要求を送信しておけば、その後は、サーバ装置100が中継する参照者端末を指示する。したがって、サーバ装置100は、中継している参照者端末に接続している他の参照者端末の情報を管理することが可能となり、参照者端末103が動的に増減する場合等においても、より適切に負荷分散やトラヒック分散を行うことが可能となる。
また、参照者端末103のような中継能力を有しない通常の参照者端末であっても、SIP標準機能を用いることで、状態情報の通知元をサーバ装置100から参照者端末102に変更することが可能であり、標準準拠の参照者端末を簡単に収容可能になるという利点を有する。
(実施の形態3)
図9は、本発明の実施の形態3における情報通知システムで使用する状態通知メッセージのフォーマット例を示したものである。
本実施の形態3においては、参照者端末102は、受信した状態通知メッセージを中継するときに、参照者端末102の状態情報もまた状態通知メッセージに付加して送信するようにしている。例えば、図9においては、受信した状態通知メッセージに設定されていたユーザ装置105の管理しているユーザが離席している旨の状態情報に加えて、参照者端末102の状態がオンである旨の状態情報を追加している。なお、このとき、元々の状態通知メッセージに状態情報の発行元の情報がなければ、図9に示すように、例えば、“user id”タグを追加し、状態情報の発行元が分かるようにすればよい。
以上のように、本実施の形態3によれば、参照者端末102において、サーバ装置100から受信した状態通知メッセージとともに、参照者端末102の状態情報をも、また他の参照者端末103に送信することが可能となり、したがって、より効率的に状態情報を通知することが可能となる。
(実施の形態4)
図10は、本発明の実施の形態4における情報通知システムを示すブロック図である。
本実施の形態においても、実施の形態1と同様に、サーバ装置100は、管理部1001と、通知要求受信部1002と、通知応答送信部1003と、情報通知送信部1004とを備えている。
本実施の形態のサーバ装置100は、管理部1001を用いてユーザ装置105や情報通知端末106の状態(在席、離席、電源のオン、オフなど)やその状態を通知する通知情報メッセージの内容や送受信タイミング、参照者端末102から要求される通知要求メッセージの内容などを管理するとともに、この状態の変化の数やユーザ装置105、情報通知端末106の数などによるサーバ装置100の負荷の程度などを管理している。
すなわち、本実施の形態の管理部1001は情報収集部と情報管理部を兼ねていて、管理部1001がユーザ装置105や情報通知端末106の通知情報としての状態情報を管理している。その状態情報は上記したように、ユーザ装置105や情報通知端末106がサーバ装置100に対して通知したり、サーバ装置100自体がユーザ装置105や情報通知端末106に対して取得したりすることによって収集している。
参照者端末102は、実施の形態1と同様の、通知要求送信部1021と、通知応答受信部1022と、情報通知受信部1023とを備えている。
サーバ装置100の情報通知送信部1004は、管理部1001がユーザ装置105や情報通知端末106の第1の状態変化を情報通知メッセージにより検出したとき、ユーザ装置105や情報通知端末106の第1の状態を設定した情報通知メッセージを参照者端末102に送信する。
参照者端末102は、情報通知受信部1023を用いてサーバ装置100からの第1の状態情報を設定した情報通知メッセージを受信する。参照者端末102は、受信した第1の状態情報をGUIなどの表示器に表示したり、受信した状態情報に対応したそれぞれの処理を行ったりする。
ここで、本実施の形態では、少なくとも1つの参照者端末102〜104は情報通知端末としても機能している。一般的なプレゼンスサービスにおいても、あるユーザは他ユーザの状態を参照すると共に、自身の状態情報を他者へ通知しており、参照者端末と情報通知端末の両者の機能を併せ持つ事が多い。
サーバ装置100の管理部1001は、情報通知端末106から第1の状態情報の変更登録を受信した時に、この第1の状態情報の参照を希望する参照者端末102〜104のうち、実際に第1の状態情報の変更通知を送信する(または送信しない)参照者端末の第2の状態一覧を保持する。すなわち、第2の状態に応じて第1の状態の変更通知の送信の要否が定められた一覧を保持する。
一例としては、「離席状態である参照者端末に対しては状態情報の変更通知を送信しない」旨を予めサーバ装置100の管理部1001へ設定しておくこと等が考えられる。この場合、サーバ装置100は情報通知端末106から第1の状態情報の通知を受信すると、この第1の状態情報の参照を希望する参照者端末102〜104のうち、離席状態である参照者端末に対しては第1の状態情報を通知せず、在席状態の参照者端末に対してのみ第1の状態情報を通知する。本実施の形態では、状態情報通知の要否の判定に利用する第2の状態情報として参照者端末の在席、離席状態を例に説明しているが、これに限定されるものではない。
次に、サーバ装置100、参照者端末102〜104、ユーザ装置105、情報通知端末106の間の情報のやり取りにSIPを用いた場合の具体的な動作について、図11のシーケンス図を用いて説明する。
図11において、参照者端末102〜104は在席中であり、参照者端末102および103は予め通知要求メッセージとして、SUBSCRIBEメッセージを送信している。ここで、SUBSCRIBEメッセージには、例えば、情報通知端末106からの状態通知を希望する旨、設定しておく。サーバ装置100はSUBSCRIBEメッセージを受信すると、それが受け入れ可能な要求であるので通知応答メッセージとして“200 OK”を送信してある。
ここで、情報通知端末106は第1の状態の変化があり、PUBLISHメッセージによって、サーバ装置100へ状態変更(106:在席)を登録する(S1101)。これに対して、サーバ装置100は情報通知端末106に“200 OK”を送信する(図示せず)。
サーバ装置100は、PUBLISHメッセージを受信すると、情報通知端末106の第1の状態が変化する毎に状態通知メッセージとしてNOTIFYメッセージを参照者端末102、103宛に送信する(S1102、S1103)。参照者端末102、103はこれを受信してサーバ装置106へ通知応答メッセージとして“200 OK”を送信する(図示せず)。
同様に情報通知端末106の第1の状態通知を希望する参照者端末104が、情報通知端末106の第1の状態通知を望む旨を設定したSUBSCRIBEメッセージ(106の在席情報)をサーバ装置100へ送信する(S1104)。サーバ装置100は、参照者端末104に“200 OK”メッセージを送信するとともに(図示せず)、情報通知端末106の第1の状態情報を示すNOTIFYメッセージ(106:在席)を参照者端末104に送信する(S1105)。参照者端末104はこれを受信してサーバ装置106へ通知応答メッセージとして“200 OK”を送信する(図示せず)。
次に、情報通知端末106は第1の状態の変化があると、PUBLISHメッセージ(106:離席)によって、サーバ装置100へ状態変更を登録する(S1106)。サーバ装置100は、情報通知端末106の第1の状態が変化する毎に情報通知端末106に通知応答メッセージとして“200 OK”を送信する(図示せず)と共に、状態通知メッセージとしてNOTIFYメッセージを参照者端末102〜104宛に送信する(S1107〜S1109)。NOTIFYメッセージには情報通知端末106の在席や離席などの第1の状態を設定しておく。各参照者端末102〜104は、NOTIFYメッセージを受信した旨を示す“200 OK”メッセージをサーバ装置100へ送信する(図示せず)。また、各参照者端末102〜104は、受信した第1の状態情報を各参照者端末102〜104のGUIに表示したり、状態に対応した処理を行ったりする。
本実施の形態のサーバ装置100の管理部1001は、NOTIFYメッセージを送信しない参照者端末102〜104の第2の状態一覧350として「離席中」が予め設定してある。図11において、情報通信端末106の第1の状態の参照を希望する参照者端末102〜104の全てが在席中である場合は、次のようになる。上記のように、情報通信端末106の第1の状態変更を意味するPUBLISHメッセージを受信する毎に(S1106)、参照者端末102〜104の全てに対して、NOTIFYメッセージにて情報通信端末106の第1の状態変更を通知する(S1107〜S1109)。
しかし、サーバ装置100は参照者端末102〜104のいずれか、例えば参照者端末102から離席状態へ移行した旨のPUBLISHメッセージを受信する(S1110)。サーバ装置100は、PUBLISHメッセージを受信した旨を示す“200 OK”メッセージを参照者端末102へ送信する(図示せず)と共に、管理部1001の内容を更新する。また、サーバ装置100は、情報通信端末106から第1の状態変更(106:在席)のPUBLISHメッセージを受信した場合でも(S1111)、離席中の参照者端末102に対するNOTIFYメッセージの送信は行わず(S1112)、在席中の参照者端末103、104に対してのみNOTIFYメッセージの送信を行なう(S1113、S1114)。参照者端末103、104は、NOTIFYメッセージを受信した旨を示す“200 OK”メッセージをサーバ装置100に送信する(図示せず)。
同様にして、その後、サーバ装置100が、例えば参照者端末103から離席状態へ移行した旨のPUBLISHメッセージを受信する(S1115)。サーバ装置100は、参照者端末103にPUBLISHメッセージを受信した旨を示す“200 OK”メッセージを送信すると共に(図示せず)、管理部1001の内容をさらに更新する。
その後、サーバ装置100は、情報通信端末106から第1の状態変更(106:離席)のPUBLISHメッセージを受信した際には(S1116)、その時点での離席中の参照者端末102、103に対するNOTIFYメッセージの送信は行わず(S1117、S1118)、在席中の参照者端末104に対してのみNOTIFYメッセージの送信を行なう(S1119)。参照者端末104はNOTIFYメッセージを受信した旨を示す“200 OK”メッセージをサーバ装置100に送信する(図示せず)。
参照者端末102、103が離席中にサーバ装置100が送信しなかったNOTIFYメッセージ(106:離席)は廃棄しても良い。また、図11に示す様に、例えば、参照者端末103の第2の状態が離席から離席以外の状態(例えば、在席)に変更になった旨のPUBLISHメッセージを、サーバ装置100が参照者端末103から受信した時点(S1120)で、サーバ装置100は、参照者端末103に送信しても良い(S1121)。これを受けて参照者端末103は、サーバ装置100に、NOTIFYメッセージを受信した旨を示す“200 OK”メッセージを送信する(図示せず)。
以上の様に本実施の形態の情報通知方法によれば、NOTIFYメッセージを送信しない参照者端末102〜104の第2の状態の一覧350をサーバ装置100が予め有しているため、情報通信端末106の第1の状態情報の変更通知の不要なトラフィックを抑制することが可能となり、負荷軽減という効果を有する。また、適切なタイミングで適切な状態情報を通知することが可能となり、プレゼンスサービスの品質向上を図れるという効果を有する。
(実施の形態5)
図12は、実施の形態5における情報通知システムの動作を示すシーケンス図である。本実施の形態における情報通知システムの構成は図10と同様である。
図12において、参照者端末102〜104は在席中であり、参照者端末102および103は予め通知要求メッセージとして、SUBSCRIBEメッセージをサーバ装置100に送信してある。サーバ装置100は、参照者端末102、103からSUBSCRIBEメッセージを受信すると、それが受け入れ可能な要求であれば通知応答メッセージとして“200 OK”を送信してある。情報通知端末106は、第1の状態の変化があると、PUBLISHメッセージによって、サーバ装置100へ状態変更を登録し、サーバ装置100は情報通知端末106へPUBLISHメッセージを受信した旨を示す“200 OK”メッセージを送信する。さらに、サーバ装置100は、情報通知端末106の第1の状態が変化する毎に情報通知メッセージとしてNOTIFYメッセージを参照者端末102、103宛に送信し、参照者端末102、103はサーバ装置100へNOTIFYメッセージを受信した旨を示す“200 OK”メッセージを送信するという動作は、実施の形態4と同様である。
ここで、情報通知端末106が第1の状態として在席を示すPUBLISHメッセージをサーバ装置100に送信していた状態(S1201)で、情報通知端末106の第1の状態通知を希望する参照者端末104は、情報通知端末106の第1の状態通知を望む旨を設定したSUBSCRIBEメッセージをサーバ装置100へ送信する(S1202)。この時、参照者端末104は、参照を希望する情報通知端末106及びその第1の状態情報を設定すると共に、NOTIFYメッセージの受信を希望する(または希望しない)自装置104の第2の状態をSUBSCRIBEメッセージのボディに設定する(S1202)。図12の例では、NOTIFYメッセージの送信を希望する自装置である参照者端末104の第2の状態として「在席」を設定している。
サーバ装置100は、参照者端末104から上記のようなSUBSCRIBEメッセージを受信すると、それが受け入れ可能な要求であれば通知応答メッセージとして“200 OK”メッセージ(図示せず)を参照者端末104に送信し、管理部1001の内容を更新する。続いて、サーバ装置100は、情報通知端末106の第1の状態である在席を設定したNOTIFYメッセージを参照者端末104に送信する(S1203)。参照者端末104はサーバ装置100へNOTIFYメッセージを受信した旨を示す“200 OK”メッセージを送信する(図示せず)。
その後、情報通信端末106は、第1の状態の変化があると、PUBLISHメッセージによって、サーバ装置100へ第1の状態変更(106:離席)を登録する(S1204)。これを受けてサーバ装置100は、情報通信端末106へPUBLISHメッセージを受信した旨を示す“200 OK”メッセージを送信する(図示せず)。サーバ装置100は情報通信端末106の第1の状態が変化する毎に情報通知メッセージとしてNOTIFYメッセージを参照者端末102〜104宛に送信する(S1205〜S1207)。NOTIFYメッセージには、参照者端末106の在席や離席などの第1の状態を設定しておく。各参照者端末102〜104は、NOTIFYメッセージを受信すると、NOTIFYメッセージを受信した旨を示す“200 OK”メッセージをサーバ装置100へ送信するとともに(図示せず)、各参照者端末102〜104は、受信した第1の状態情報を参照者端末102〜104のGUIに表示したり、状態に対応した処理を行ったりする。
ここで、サーバ装置100は、在席状態中のみNOTIFYメッセージの受信を希望する参照者端末104の第2の状態が在席中である間は、情報通知端末106の第1の状態変更を意味するPUBLISHメッセージを情報通知端末106から受信する毎に、参照者端末102、103に対してと同じように、参照者端末104に対してNOTIFYメッセージにて情報通知端末106の第1の状態変更を通知する。
しかし、サーバ装置100は、参照者端末104から離席状態へ移行した旨のPUBLISHメッセージを受信した場合は(S1208)、参照者端末104へPUBLISHメッセージを受信した旨を示す“200 OK”メッセージを送信すると共に、管理部1001の内容を更新する。その後、サーバ装置100は、情報通知端末106から第1の状態変更のPUBLISHメッセージを受信した場合(S1209、S1213)には、参照者端末102、103に対するNOTIFYメッセージの送信は行っても(S1210、S1211、S1214、S1215)、参照者端末104に対するNOTIFYメッセージの送信は行わない(S1212、S1216)。なお、参照者端末102、103は、NOTIFYメッセージをサーバ装置100から受信する毎に、サーバ装置100へNOTIFYメッセージを受信した旨を示す“200 OK”メッセージを送信する(図示せず)。
なお、サーバ装置100は、離席中に送信しなかったNOTIFYメッセージは廃棄しても良いし、図12に示す様に、参照者端末104の第2の状態が離席から在席状態に変更になった旨のPUBLISHメッセージを受信した時点で(S1217)、そのNOTIFYメッセージを参照者端末104に送信しても良い(S1218)。
以上の様に構成された本実施の形態によれば、情報通知端末106の第1の状態の通知情報を希望する参照者端末104は、情報通知端末106の第1の状態の通知情報を望む旨を設定したSUBSCRIBEメッセージをサーバ装置100へ送信する際に、NOTIFYメッセージの受信を希望する(または希望しない)自装置104の第2の状態をSUBSCRIBEメッセージのボディに設定して第2の通知情報としてサーバ装置100に送信する。このことにより、情報通信端末106の第1の状態の通知情報の変更通知の不要なトラフィックを抑制することが可能となり、負荷軽減、低消費電力化という効果を有する。また、適切なタイミングで適切な第1の通知情報を通知することが可能となり、プレゼンスサービスの品質向上を図れるという効果を有する。
(実施の形態6)
図13は、実施の形態6における情報通知システムの動作を示すシーケンス図である。本実施の形態における情報通知システムの構成は図10と同様である。
図13において、参照者端末102〜104は在席中であり、参照者端末102および103は、予め通知要求メッセージとして、情報通知端末106の第1の状態の通知情報を望む旨を設定したSUBSCRIBEメッセージを送信している。サーバ装置100は、参照者端末102、103からSUBSCRIBEメッセージを受信すると、それが受け入れ可能な要求であれば通知応答メッセージとして“200 OK”メッセージを送信する。状態登録端末106は、第1の状態の変化があると、PUBLISHメッセージによって、サーバ装置100へ状態変更を登録する。さらにサーバ装置100は、状態登録端末106の第1の状態が変化する毎に状態通知メッセージとしてNOTIFYメッセージを参照者端末102、103宛に送信するというこれらの動作は、実施の形態5と同様である。
本実施の形態の情報通知端末106は、自装置106の第1の状態である第1の通知情報と共に、自装置106の第1の状態の変更を通知すべき参照者端末102〜104の状態である第2の通知情報をPUBLISHメッセージのボディに設定する(S1301)。図13の例では、自装置106の第1の状態である第1通知情報を通知すべき参照者端末102〜104の第2の状態である第2通知情報として「在席」を設定している。
したがって、この状態で、参照者端末104が情報通知端末106の第1の状態の通知情報を望む旨を設定したSUBSCRIBEメッセージをサーバ装置100へ送信する(S1302)。サーバ装置100は、このSUBSCRIBEメッセージを受信し、通知応答メッセージとして“200 OK”メッセージを参照者端末104に送信する(図示せず)。その後、サーバ装置100は、情報通知端末106の第1の状態通知である在席を設定したNOTIFYメッセージを参照者端末104に送信する(S1303)。参照者端末104は、サーバ装置100へNOTIFYメッセージを受信した旨を示す“200 OK”メッセージを送信する(図示せず)。
このように、サーバ装置100は、各参照者端末102〜104の状態がPUBLISHメッセージにて第2通知情報として状態通知を要求された状態(図13の例では在席状態)である間は、情報通知端末106の第1の状態が変化して、情報通知端末106の第1の状態変更を意味するPUBLISHメッセージを受信する毎に(S1304)、状態通知メッセージとしてNOTIFYメッセージ(106:離席)を各参照者端末102〜104宛に送信し(S1305〜S1307)、情報通知端末106の第1の状態変更を通知する。NOTIFYメッセージには情報通知端末106の在席や離席などの第1の状態を設定しておく。各参照者端末102〜104は、NOTIFYメッセージを受信した旨を示す“200 OK”メッセージ(図示せず)をサーバ装置100へ送信する。また、各参照者端末102〜104は受信した第1の状態情報を各参照者端末102〜104のGUIに表示したり、状態に対応した処理を行ったりする。
ところで、サーバ装置100は、参照者端末104から離席状態へ移行した旨のPUBLISHメッセージを受信する(S1308)。サーバ装置100は、参照者端末104へPUBLISHメッセージを受信した旨を示す“200 OK”メッセージを送信すると共に(図示せず)、管理部1001の内容を更新する。サーバ装置100は、情報通知端末106から第1の状態変更のPUBLISHメッセージを受信した場合には(S1309、S1313)、在席中の参照者端末102、103に対してはNOTIFYメッセージの送信を行うが(S1310、S1311、S1314、S1315)、離席中の参照者端末104に対してはNOTIFYメッセージの送信は行わない(S1312、S1316)。
NOTIFYメッセージを受信した参照者端末102、103は、サーバ装置100へNOTIFYメッセージを受信した旨を示す“200 OK”メッセージを送信する(図示せず)。
なお、サーバ装置100は、離席中に送信しなかったNOTIFYメッセージは廃棄しても良いし、図13に示す様に、NOTIFYメッセージを送信していない参照者端末104の状態が離席から在席状態に変更になった旨をPUBLISHメッセージとして受信した時点(S1317)で、参照者端末104に送信しても良い(S1318)。PUBLISHメッセージ、NOTIFYメッセージを受信したサーバ装置100、参照者端末104は、それぞれ、参照者端末104、サーバ装置100へ、PUBLISHメッセージ、NOTIFYメッセージを受信した旨を示す“200 OK”メッセージを送信する(図示せず)。
以上の様に本実施の形態によれば、情報通知端末106は自装置106の第1の状態である第1通知情報と共に、自装置106の第1の状態変更を通知すべき参照者端末102〜104の状態である第2通知情報をPUBLISHメッセージのボディに設定しているので、情報通信端末106の第1の状態情報の変更通知の不要なトラフィックを抑制することが可能となり、負荷軽減、低消費電力化という効果を有する。また、適切なタイミングで適切な第1の状態情報である第1通知情報を通知することが可能となり、プレゼンスサービスの品質向上を図れるという効果を有する。
(実施の形態7)
本実施の形態の情報通知システムの構成は図10と同様である。図10において、サーバ装置100には、ユーザ装置105や情報通知端末106からサーバ装置100への状態情報の通知の数、または、サーバ装置100から参照者端末102への状態情報の通知の数に応じてそれぞれ運用状態が定義されている。運用状態としては、例えば、状態情報の通知や通知情報の処理に係るサーバ装置100の処理負荷などが定義されている。
サーバ装置100は、多数の情報通知の送信イベントを蓄積するなど過負荷状態になったことを管理部1001によって検出した場合には、ユーザ装置105や情報通知端末106の状態が変化し、情報通知送信部1004によって参照者端末102に情報通知メッセージを送信しなければならない場合でも、所定の条件に基づいて送信するようにしている。
すなわち、本実施の形態では、管理部1001の一部が、過負荷時の通知情報の送出の制御を行う情報管理部を構成している。
ここで、サーバ装置100による過負荷状態の検出は、サーバ装置100の管理者によって設定されたり、予め定められたりすることによって保持する検出条件に従えばよい。検出条件としては、管理部1001が単位時間あたりに受信した状態変化の検出回数や、情報通知送信部1004に蓄積された情報通知メッセージの数などを用いればよいが、必ずしもこれらに限定されるものではない。
図14は、実施の形態7における情報通知システムの動作を示すシーケンス図である。
図14において、参照者端末102〜104は在席中であり、予め情報通知端末106に対する通知要求メッセージとして、SUBSCRIBEメッセージを既に送信してある。情報通知端末106は第1の状態の変化があると、PUBLISHメッセージによって、サーバ装置100へ第1通知情報として状態変更を登録する(S1401)。サーバ装置100は情報通知端末106の第1の状態が変化する毎に状態通知メッセージとしてNOTIFYメッセージを参照者端末102〜104宛に送信する(S1402〜S1404)。NOTIFYメッセージには情報通知端末106の在席や離席などの第1の状態を設定しておく。
各参照者端末102〜104は、NOTIFYメッセージを受信すると、NOTIFYメッセージを受信した旨を示す“200 OK”メッセージをサーバ装置100へ送信する(図示せず)と共に、受信した第1の状態情報を各参照者端末102〜104のGUIに表示したり、状態に対応した処理を行ったりする。
ここで、サーバ装置100の管理部1001には、サーバ装置100の運用状態が予め決められた状態になったらNOTIFYメッセージを送信しない参照者端末の第2の状態一覧750として「離席中」が予め設定してある。また、離席中の参照者端末102〜104に対するNOTIFYメッセージ送信を停止するサーバ装置100の運用状態としては、サーバ装置100の負荷状態等が考えられるが、これに限定されるものではない。図14の例ではサーバ装置100が過負荷状態か否かを上記判定に利用するサーバ装置の運用状態として定義してある。
図14において、在席中であった参照者端末102と103が離席状態となり、その旨を示すPUBLISHメッセージが、参照者端末102、103からサーバ装置100にそれぞれ送信される(S1405、S1406)。
このような状態であっても、サーバ装置100が過負荷状態でない場合、サーバ装置100は、情報通信端末106の第1の状態変更を意味するPUBLISHメッセージを受信する(S1407)毎に参照者端末102〜104の全てに対してNOTIFYメッセージにて情報通知端末106の第1の状態変更を通知する(S1408〜S1410)。
しかしながら、本実施の形態では、情報通知端末106〜108からサーバ装置100へのPUBLISHメッセージが短時間に集中し、管理部1001が過負荷状態を検出したとする。サーバ装置100の管理部1001が過負荷状態を検出した場合(S1411〜S1413)は、NOTIFYメッセージ非送信状態が第2通知情報として登録されている第2の状態(離席)にある参照者端末102、103に対してはNOTIFYメッセージの送信を行わず(S1414、S1415)、在席中の参照者端末104に対してのみNOTIFYメッセージの送信を行う(S1416)。
NOTIFYメッセージを受信した参照者端末104はサーバ装置100へNOTIFYメッセージを受信した旨を示す“200 OK”メッセージを送信する(図示せず)。
なお、サーバ装置100の管理部1001は、離席中に送信できなかったNOTIFYメッセージは廃棄しても良いし、図14に示す様に、例えば、参照者端末103の状態が離席から離席以外の状態に変更になった旨のPUBLISHメッセージを受信した時点(S1417)、またはサーバ装置100が過負荷状態でなくなった時点で送信しても良い(S1418)。PUBLISHメッセージ、NOTIFYメッセージをそれぞれ受信したサーバ装置100、参照者端末103は、それぞれ、参照者端末103、サーバ装置100へ、PUBLISHメッセージ、NOTIFYメッセージを受信した旨を示す“200 OK”メッセージを送信する(図示せず)。
以上の様に構成された本実施の形態によれば、サーバ装置100が過負荷状態となった場合(S1411〜S1413)は、サーバ100の管理部1001にNOTOIFYメッセージ非送信状態が第2通知情報として登録されている状態にある参照者端末102、103に対してはNOTIFYメッセージの送信を行わないので、情報通信端末106の第1の状態情報の不要な変更通知のトラフィックを抑制することが可能となり、負荷軽減という効果を有する。また、適切なタイミングで適切な通知情報を通知することが可能となり、プレゼンスサービスの品質向上を図れるという効果を有する。
(実施の形態8)
図15は、本実施の形態8における情報通知システムを示すブロック図であり、実施の形態4と同様に、サーバ装置100は、管理部1001と、通知要求受信部1002と、通知応答送信部1003と、情報通知送信部1004とを備えている。
サーバ装置100は、実施の形態4と同様に、管理部1001を用いてユーザ装置105や情報通知端末106の状態やその送受信タイミングなどの通知情報を管理するとともに、この状態の変化の数やユーザ装置105、情報通知端末106の数などによるサーバ装置100の負荷の程度などを管理している。
参照者端末102は、実施の形態4と同様に、通知要求送信部1021と、通知応答受信部1022と、情報通知受信部1023とを備えている。
ところで、本実施の形態のサーバ装置100には、ユーザ装置105や情報通知端末106からサーバ装置100への状態情報の通知の数、または、サーバ装置100から参照者端末102への状態情報の通知の数に応じてそれぞれ運用状態が定義されている。運用状態としては、例えば、状態情報の通知や通知情報の処理に係るサーバ装置100の処理負荷などが定義されている。
サーバ装置100は、多数の情報通知の送信イベントを蓄積するなど過負荷状態になったことを管理部1001によって検出した場合には、ユーザ装置105や情報通知端末106の状態が変化し、情報通知送信部1004によって参照者端末102に情報通知メッセージを送信しなければならない場合でも、その情報通知メッセージを直ちに送信せず一時中断してあらかじめ指定された所定時間が経過した後に改めて送信するようにしている。
すなわち、本実施の形態では、管理部1001の一部が、過負荷時の通知情報の送出中断や所定時間後の通知情報の送出などを行う情報管理部を構成している。
ここで、サーバ装置100による過負荷状態の検出は、サーバ装置100の管理者によって設定されたり、予め定められたりすることによって保持する検出条件に従えばよい。検出条件としては、管理部1001が単位時間あたりに受信した状態変化の検出回数や、情報通知送信部1004に蓄積された情報通知メッセージの数などを用いればよいが、必ずしもこれらに限定されるものではない。
次に、サーバ装置100、参照者端末102、103、104、ユーザ装置105、情報通知端末106間の情報のやり取りにSIPを用いた場合の具体的な動作について説明する。
図16は、本実施の形態における情報通知システムの動作を示すシーケンス図である。
図16において、参照者端末102、103は、サーバ装置100に対し、予め通知要求メッセージとしてSUBSCRIBEメッセージを送信しておく(S1601、S1603)。ここで、SUBSCRIBEメッセージには、例えば、ユーザ装置105からの状態通知を希望する旨、設定しておく。
サーバ装置100がSUBSCRIBEメッセージを受信すると、それが受け入れ可能な要求であれば、通知応答メッセージとして“200 OK”メッセージを参照者端末102、103に送信する(S1602、S1604)。
ユーザ装置105は、例えば、離席などの状態変化があると、情報通知メッセージとしてPUBLISHメッセージによってサーバ装置100に状態変化を通知する(S1605)。サーバ装置100は、このPUBLISHメッセージを受信すると、ユーザ装置105に対し“200 OK”メッセージを送信する(S1606)。さらに、サーバ装置100は、情報通知メッセージとしてNOTIFYメッセージを参照者端末102、103にそれぞれ送信する(S1607、S1609)。NOTIFYメッセージには、ユーザ装置105が管理するユーザの在席や離席などの状態(本実施の形態では離席)を設定しておく。参照者端末102、103は、NOTIFYメッセージを受信すると、受信したことを示す“200 OK”メッセージをそれぞれサーバ装置100へ送信する(S1608、S1610)。また、参照者端末102、103は、受信した状態情報を参照者端末102、103の表示器に表示したり、状態に対応した処理を行ったりする。
ここで、サーバ装置100から参照者端末103への送信処理中に、新たにユーザ装置105から、例えば、ユーザ装置105の管理するユーザが在席した旨の状態通知のPUBLISHメッセージがサーバ装置100に送信される(S1611)。そのPUBLISHメッセージを受信したサーバ装置100は、検出条件によりサーバ装置100が過負荷状態であると検出した場合には、PUBLISHメッセージを受信したことを示す“200 OK”メッセージをユーザ装置105に対しては送信する(S1612)。しかし、サーバ装置100は、受信したPUBLISHメッセージに対応する新たな情報通知メッセージを参照者端末102、103には直ちに送信せず、指定時間(ST)送信を中断した後に、改めてNOTIFYメッセージとして送信する(S1613、S1615)。なお、サーバ装置100は、指定時間中断後は、送らなかった新たな情報通知メッセージを廃棄してもよい。指定時間(ST)としては、予めサーバ装置100の管理者によって定められた固定値であっても良いし、また次の方法で定めてもよいが、これらの方法に限定されるものではない。
すなわち、指定時間(ST)を定める方法として、例えば、サーバ装置100の情報通知送信部1004に蓄積されたメッセージ数をN、1メッセージ当りの処理時間をT、各参照者端末102、103への情報通知メッセージの送信が同期しないためのランダムな待ち時間をRとしたとき、指定時間(ST)をT×N+Rと設定しても良い。
このように設定すれば、非常に多くの参照者端末102、103に参照されている複数のユーザ装置105の管理する複数のユーザが会議などで同一の行動をとり、極めて短時間に複数のユーザ装置105の状態変化があった場合など、サーバ装置100が非常に多くの参照者端末102、103に情報通知メッセージを送信しなければならない場合でも、サーバ装置100の負荷を時間的に平滑化し、他のサービスの処理への影響を小さくすることができる。
すなわち、1メッセージ当りの処理時間Tが、たとえ数ミリ秒であったとしても、サーバ装置100の情報通知送信部1004に蓄積されたメッセージ数Nが数百、数千のオーダーになると、それらの全ての処理を完了するのに数秒以上の時間がかかってしまう。そのため、サーバ装置100がインターネット電話のサーバ装置などを兼ねている場合、このタイミングで受信した発呼要求メッセージの処理が数秒単位で遅延することになり、インターネット電話としてのサービス品質の劣化が無視できなくなる。
また、プレゼンス情報のやり取りには、通常、XMLデータを用いることが多いため、メッセージ処理に際しても比較的負荷の大きい処理を伴い、1メッセージ当りの処理時間Tも大きくなる傾向にあり、全ての処理を完了するのに更に多くの時間かかってしまうという問題がある。
ところが、本実施の形態によれば、意図的に情報通知メッセージの参照者端末102、103への送信タイミングを遅延させ、各情報通知メッセージの送信の間に空きの時間を設けるようにしており、したがって、サーバ装置100の負荷が時間的に平滑化され、他のサービスの処理に与える影響を小さくすることができる。
その後、NOTIFYメッセージを受信した参照者端末102、103は、それぞれNOTIFYメッセージを受信したことを示す“200 OK”メッセージをサーバ装置100に送信する(S1614、S1616)と共に、NOTIFYメッセージとして受信した情報通知メッセージをそれぞれの表示器に表示したり、対応した処理を実行したりする。
なお、本実施の形態において、SUBSCRIBEメッセージ、SUBSCRIBEメッセージに対する“200 OK”メッセージ、NOTIFYメッセージのそれぞれのメッセージフォーマットは、例えば、図17〜図19に示すとおり構成されている。
すなわち、SUBSCRIBEメッセージにおいて、どの状態情報の通知を希望するかは、図17に示すように、Request−URI(SUBSCRIBE sip:user105@a.com SIP/2.0)によって示されている。また、それに対する“200 OK”メッセージは、図18に示すように表現されている。さらに、図17に応答するNOTIFYメッセージは、図19に示すように、メッセージボディによってユーザ105の状態を示している。
以上に説明したように、本実施の形態によれば、サーバ装置100が、参照者端末102、103への情報通知メッセージの蓄積などを監視して自己が過負荷状態にあるか否かといった運用状態を検出し、さらに、その運用状態に応じて、ユーザ装置105や情報通知端末106からの情報通知メッセージを受信した際に、それらを参照者端末102、103に直ちに通知せず、一旦中断し、予め定めた指定時間(ST)後に改めて通知するようにしている。したがって、本実施の形態のサーバ装置100は、短時間にユーザ装置105や情報通知端末106からの状態情報の通知が多量に発生した場合などに、参照者端末102、103への情報通知を意図的に、問題にならない程度に遅らせることが可能である。また、本実施の形態のサーバ装置100は、サーバ装置100の処理負荷、特に参照者端末102、103への通知処理の負荷を時間的に分散することが可能となり、状態通知の破棄を抑制することが可能となる。
また、本実施の形態によれば、ユーザ装置105や情報通知端末106からの情報通知メッセージを受信してそれらを集約して参照者端末102、103へ情報通知を行う必要がないため、各参照者端末102、103は集約された情報通知メッセージを解釈する機能を必要とせず、従来の参照者端末102、103をそのまま利用できる。
さらに、本実施の形態によれば、参照者端末102、103への情報通知を、意図的に、問題にならない程度に遅らせることが可能であるので、従来のように定期的な状態情報の更新のタイミングに合わせて情報通知メッセージが参照者端末102、103に送られることはなく、参照者端末102、103への通知が不用意に遅れてしまうということはない。
またさらに、本実施の形態によれば、参照者端末102、103への情報通知を遅らせることが可能であるので、従来のように、サーバ装置100のハードウェアスペックを向上させたり、サーバ装置100を複数台設けてこれらに負荷を分散させるなどの方法を用いなくても、参照者端末102、103への通知処理の負荷を時間的に分散することが可能となり、システム全体の構成は複雑にはならず、コストアップも伴わない。
(実施の形態9)
図20は本実施の形態における情報通知システムの構成を示すブロック図である。
本実施の形態では、図20に示すように、サーバ装置100は、図15に示す構成以外に、ユーザ装置105や情報通知端末106から受信した情報の種類を検出する情報検出部2001と、この情報検出部2001で検出した情報の種類に応じて、サーバ装置100が過負荷状態になって情報通知メッセージの送信が一時中止された場合に、その後どれほどの時間が経過すれば送信を再開するかを決定する指定時間決定部2002とを備えている。
すなわち、本実施の形態では、図21に示すように、受信した情報の種類、例えば、在席情報や場所情報などに応じてそれぞれ「優先」、「通常」などの優先度が設定されており、これらの優先度に応じて情報通知メッセージの送信中止から再開までの指定時間をそれぞれ決定するようにしている。
したがって、サーバ装置100は、ユーザ装置105や情報通知端末106から、例えば、在席の変化や場所の変化などのPUBLISHメッセージを受信すると、まず、受信したPUBLISHメッセージにどのような種類の情報があるかということと、その情報の優先度はどの程度か(「優先」か「通常」か)を情報検出部2001によって検出する。図21に示す例のように、受信した状態情報の種類が在席情報であるので優先度が「優先」である場合には、サーバ装置100は、実施の形態8と同様に、過負荷状態にあるかどうかを判断する。その結果、過負荷状態であれば、指定時間決定部2002で決定される、直ちに、或いは、一時中止しても比較的短い指定時間の後に、サーバ装置100は、情報通知メッセージを参照者端末102、103に送信する。
一方、サーバ装置100は、受信した情報の種類が場所情報であるので優先度が「通常」であると判断した場合には、過負荷状態の場合に、情報通知メッセージの送信を一時中止する。そして、サーバ装置100は、指定時間決定部2002で決定される、比較的長い指定時間の後、参照者端末102、103に情報通知メッセージを送信する。なお、情報の種類が3種類以上ある場合や優先度のように数値化(1.0−0.0)した場合には、サーバ装置100は、参照端末102、103への送信を遅らせるのを3種類以上にすることは当然可能である。
すなわち、本実施の形態では、管理部1001の一部と情報検出部2001と指定時間決定部2002とで情報管理部が構成される。
このように、指定時間決定部2002で決定される指定時間を、優先度の高いものほど短く設定しておけば、優先度の高い情報通知メッセージは、サーバ装置100が過負荷状態になリ、送信が一時中断されても、比較的早期に参照者端末102、103に送信することが可能になり、効果的である。
なお、指定時間には、ゼロを含み、ゼロの場合には、一時中断をせずに直ちに情報通知メッセージを送信することを意味する。また、情報の種類としては、在席情報、場所情報を例示したが、その他の種類の情報であっても良く、これらに限定されるものではない。
このように、本実施の形態によれば、サーバ装置100が、参照者端末102、103に送信する情報の種類を情報検出部2001で検出し、検出した情報の種類に応じて参照者端末102、103への送信を一時中断してから再び開始するまでの指定時間(ゼロを含む任意の時間)をそれぞれ決定する指定時間決定部2002を有する。例えば、優先度の高い種類の情報であれば、一時中断しても比較的短い時間経過後に、或いは、一時中断することなく直ちに、参照者端末102、103に情報を送信し、優先度の低い種類の情報であれば、参照者端末102、103への送信を一時中断して充分な指定時間経過後に、参照者端末102、103に送信することが可能となる。
したがって、サーバ装置100の処理負荷を時間的に分散し、情報通知の破棄を抑制しつつ、優先度の高い状態情報は直ちに通知することが可能となる。
また、サーバ装置100は、参照者端末102、103へ送信する情報の種類に応じて、参照者端末102、103への通知を一時中断したときの中断時間を設定することが可能である。従って、例えば、優先度の高い種類の状態情報であれば、中断時間を短くして早めに参照者端末102、103へ通知することが可能となる。また、優先度の低い種類の状態情報であれば、中断時間を長くして負荷分散効果を高めつつ参照者端末102、103へ通知することが可能となる。したがって、サーバ装置100の処理負荷を時間的に分散し、状態通知の破棄を抑制しつつ、優先度の高い状態情報は優先的に早く通知することが可能となる。
さらに、実施の形態8と同様に、各参照者端末102、103は集約された情報通知メッセージを解釈する機能を必要とせず、従来の参照者端末102、103をそのまま利用でき、定期的な状態情報の更新のタイミングに合わせて情報通知メッセージが参照者端末102、103に送られることがないので、参照者端末102、103への通知が遅れてしまうということはない。
またさらに、サーバ装置100のハードウェアスペックを向上させたり、サーバ装置100を複数台設けてこれらに負荷を分散させるなどの方法を用いなくても、参照者端末102、103への通知処理の負荷を時間的に分散することが可能となり、システム全体の構成は複雑にはならず、コストアップも伴わない。
(実施の形態10)
本実施の形態における情報通知システムも、概念的には、実施の形態8と同様に、図15に示すように構成されている。但し、本実施の形態では、図15に示す構成以外に、図20で説明した実施の形態9と同様な指定時間決定部2002を備えている。本実施の形態の指定時間決定部2002は、サーバ装置100が過負荷状態になって情報通知メッセージの送信が一時中断された場合に、その後どれほどの時間が経過すれば送信を再開するかを、参照者端末102、103、104に応じて決定する。
すなわち、本実施の形態では、図22に示すように、参照者端末102、103、104に応じてそれぞれ「優先」、「通常」などの優先度が設定されており、これらの優先度に応じて、上記した指定時間決定部と管理部の一部で構成される情報管理部により、情報通知メッセージの送信中断から再開までの指定時間をそれぞれ決定するようにしている。
したがって、サーバ装置100が、ユーザ装置105や情報通知端末106からPUBLISHメッセージを受信するなどして状態情報が変化したことを検出すると、情報通知送信部1004により情報通知メッセージを参照者端末102、103、104に送信しようとする。その際、情報通知送信部1004は、参照者端末102、103、104に対してそれぞれ設定された優先度を参照し、通知すべき参照者端末102、103、104が優先されるべきものかどうかを判定する。
そして、更に、実施の形態8と同様に、サーバ装置100自身が過負荷状態にあるかどうかを判定し、過負荷状態であれば、参照者端末102、103、104への送信を一時中断し、指定時間が経過した後に改めて通知する。この場合、指定時間を、参照者端末102、103、104に応じて決められた優先度に基づいて、例えば、優先度が高いものほど短くなるように設定する。特に高いものに対しては、指定時間をゼロに設定し、一時中断せずに直ちに送信するようにしても良い。
なお、図22では、参照者端末102、103、104にそれぞれ個別に優先度を設定した例を示している。参照者端末102、103、104に、例えば、使用者の役職(部長、課長、社員)などの属性情報を設定し、役職などの属性情報ごとに優先度(部長:「優先」、課長:「優先」、社員:「通常」)を設定するようにしても良い。また、優先度に関しても「優先」、「通常」の他に、「準優先」などいくつかの優先度を設定し、それぞれに対応した時間を指定してもよい。
このように構成された本実施の形態によれば、サーバ装置100が参照者端末102、103、104の上記のような属性情報などに応じて、参照者端末102、103、104への情報送信の時間を決定するものである。したがって、例えば、優先度の高い参照者端末102に対しては、一時中断しても比較的短い時間経過後に、或いは、一時中断すらせずに直ちに通知し、優先度の低い参照者端末103、104に対しては、一時中断した後、充分な時間経過後に通知することが可能になる。
したがって、サーバ装置100の処理負荷を時間的に分散し、情報通知の破棄を抑制しつつ、優先度の高い参照者端末102に対しては、情報を直ちに通知することが可能となる。
また、サーバ装置100は、参照者端末102、103、104の属性情報などに応じて、参照者端末102、103、104への通知を一時中断したときの中断時間を設定することが可能である。したがって、例えば、優先度の高い参照者端末102に対しては、中断時間を短くして早めに参照者端末102に情報を通知し、優先度の低い参照者端末103、104に対しては、中断時間を長くして負荷分散効果を高めつつ参照者端末103、104に情報を通知することが可能となる。そのため、サーバ装置100の処理負荷を時間的に分散し、情報通知の破棄を抑制しつつ、優先度の高い参照者端末102に対しては、優先的に早く情報を通知することが可能となる。
(実施の形態11)
本実施の形態における情報通知システムも、概念的には、実施の形態8同様、図15に示すように構成されている。但し、本実施の形態では、サーバ装置100は、図15に示す構成以外に、サーバ装置100が過負荷状態になり情報通知メッセージの送信が一時中止された場合に、その後どれほどの時間が経過すれば送信を再開するかを、ユーザ装置105や情報通知端末106、107に応じて決定する指定時間決定部2002を備えている。
すなわち、本実施の形態では、図23に示すように、ユーザ装置105や情報通知端末106、107は、それぞれの属性情報などに応じてそれぞれ「優先」、「通常」、「通常」などの優先度が設定されている。これらの優先度に応じて、上記した指定時間決定部と管理部の一部で構成される情報管理部は、情報通知メッセージの送信中断から再開までの指定時間をそれぞれ決定するようにしている。
したがって、サーバ装置100は、ユーザ装置105や情報通知端末106、107からPUBLISHメッセージを受信し、状態変化があったことを検出すると、情報通知送信部1004により情報通知メッセージを参照者端末102、103、104に送信しようとする。その際、ユーザ装置105や情報通知端末106、107に設定された優先度を参照して、通知すべき情報の通知元であるユーザ装置105や情報通知端末106、107が優先されるべきものであるかどうかを判断する。さらに実施の形態8と同様に、サーバ装置100が過負荷状態にあるかどうかを判断し、過負荷状態であれば、情報の送信を一時中断し、指定時間経過後に改めて送信する。指定時間は、優先度に基づいてそれぞれ設定され、たとえば、優先度が高いものほど短く設定される。特に優先度の高いものに対しては、指定時間をゼロに設定し、一時中断せずに直ちに送信するようにしても良い。
なお、図23では、ユーザ装置105や情報通知端末106、107に個別に優先度を設定している。しかし、例えば、サーバ装置100の管理者が、ユーザ装置105や情報通知端末106、107にそれぞれ、例えば、装置または端末の使用者の役職(部長、課長、社員)や、装置または端末の重要度などの属性情報を設定し、役職や重要度などの属性情報ごとの優先度(部長:「優先」、課長:「優先」、社員:「通常」)を別に設定するようにしても良い。
このように構成された本実施の形態によれば、サーバ装置100において、情報の通知元であるユーザ装置105や情報通知端末106、107の属性情報に応じて、参照者端末102、103、104への通知を一時中断するか否かを判定することが可能である。例えば、図23に示す場合は、優先度の高い(「優先」)ユーザ装置105が発行した情報に対しては、一時中断せずに直ちに参照者端末102、103、104に通知し、優先度の低い(「通常」)情報通知端末106、107が発行した情報に対しては、一時中断した後に、参照者端末102、103、104に通知することが可能となる。また、サーバ装置100の処理負荷を時間的に分散し、情報通知の破棄を抑制しつつ、優先度の高いユーザ装置105が発行した状態情報は直ちに通知することが可能となる。
また、サーバ装置100は、情報の通知元であるユーザ装置105や情報通知端末106、107の属性情報などに応じて、参照者端末102、103、104への通知を一時中断したときの中断時間を設定することが可能である。例えば、優先度の高いユーザ装置105が発行した情報に対しては、中断時間を短くして早めに参照者端末102、103、104に通知し、優先度の低い情報通知端末106、107が発行した情報に対しては、中断時間を長くして負荷分散効果を高めつつ参照者端末102、103、104に通知することが可能となる。したがって、サーバ装置100の処理負荷を時間的に分散し、情報通知の破棄を抑制しつつ、優先度の高いユーザ装置105が発行した状態情報は、優先的に早く通知することが可能となる。
(実施の形態12)
図24は本実施の形態における情報通知システムの構成を示すブロック図である。本実施の形態における情報通知システムも、概念的には、実施の形態8と同様、図15に示すように構成されている。但し、本実施の形態では、サーバ装置100は、図15に示す構成以外に、受信した情報通知メッセージを参照者端末102、103、104にまとめて送信する情報統合部2003を備えている。すなわち、サーバ装置100の情報通知送信部1004は、受信した情報通知メッセージをサーバ装置100が参照者端末102、103、104に送信するとき、その時点で送信を中止している同じ参照者端末102、103、104に宛てた別の情報通知メッセージをサーバ装置100が有しているなら、それらをまとめて参照者端末102、103、104へ送信する情報統合部2003を更に備えている。なお、この情報統合部2003は、必ずしも情報通知送信部1004に設けられていなくても、サーバ装置100内にあればよい。
図25は、本実施の形態における情報通知システムの動作を示すシーケンス図である。
図25に示すように、本実施の形態では、参照者端末102、103が、サーバ装置100に対し、予め通知要求メッセージとして、ユーザ装置105の状態情報の通知を希望する旨を設定したSUBSCRIBEメッセージを送信してある(S2501、S2503)。
サーバ装置100は、SUBSCRIBEメッセージを受信すると、それが受け入れ可能な要求であれば、通知応答メッセージとして“200 OK”メッセージを参照者端末102、103に送信する(S2502、S2504)。
ユーザ装置105は、状態変化があると、PUBLISHメッセージによってサーバ装置100に対し、例えば、離席のような状態変化を通知する(S2505)。サーバ装置100は、このPUBLISHメッセージを受信すると、ユーザ装置105に対し“200 OK”メッセージを送信する(S2506)。さらに、サーバ装置100は、情報通知メッセージとしてユーザ装置105が管理するユーザの在席や離席などの状態(本実施の形態では離席)を設定したNOTIFYメッセージを参照者端末102、103にそれぞれ送信する(S2507、S2509)。
参照者端末102、103は、NOTIFYメッセージを受信すると、受信したことを示す“200 OK”メッセージをそれぞれサーバ装置100へ送信する(S2508、S2510)。また、参照者端末102、103は、受信した状態情報を参照者端末102、103の表示器に表示したり、状態に対応した処理を行ったりする。
その後、サーバ装置100から参照者端末103への送信処理中に、新たにユーザ装置105から、例えば、場所情報がロビーに変化した旨のPUBLISHメッセージが送信され(S2511)。サーバ装置100は、そのPUBLISHメッセージを受信したときに、検出条件によりサーバ装置100が過負荷状態であると検出した場合には、受信したことを示す“200 OK”メッセージをユーザ装置105に対しては送信する(S2512)。しかし、サーバ装置100は、受信したPUBLISHメッセージに対応する新たな状態情報の通知を参照者端末102、103には直ちに送信せず、指定時間(ST)の間、送信を中断する。
また、送信を中断している間に、新たにユーザ装置105から、例えば、在席情報が在席に変化した旨のPUBLISHメッセージが送信されたとする(S2513)。このとき、まだサーバ装置100が過負荷の状態であれば、受信したことを示す“200 OK”メッセージをユーザ装置105に対しては送信する(S2514)が、参照者端末102、103に対しては情報の送信を行わない。
次に、サーバ装置100は、参照者端末102、103に対する情報通知が中断され、その後、指定時間(ST)が経過すると、参照者端末102、103に対しNOTIFYメッセージを送信しようとする。しかし、この場合、情報送信の中断中に新たにユーザ装置105からの情報を受信したため、これらの情報があることをサーバ装置100の管理部1001が認識し、これらの情報を情報統合部2003でまとめて、例えば、在席情報が在席であって、場所情報がロビーである旨のNOTIFYメッセージを参照者端末102、103に送信する(S2515、S2517)。
したがって、本来であれば、サーバ装置100は、ステップS2515、S2517で、在席情報が在席である旨のNOTIFYメッセージのみを参照者端末102、103に送信する。その後、図25の点線で囲んだメッセージ、すなわち、ユーザ装置105の場所情報がロビーに変化した旨の参照者端末102、103に対するNOTIFYメッセージ(S2519、S2521)をすることになる。次に、それに応答する参照者端末102、103からサーバ装置100への“200 OK”メッセージ(S2520、S2522)が存在するが、本実施の形態では、点線で囲んだこれらの情報は実際には送信されず、それぞれがその直前のNOTIFYメッセージ(S2515、S2517)、“200 OK”メッセージ(S2516、S2518)の中で送信される。
このように、本実施の形態によれば、サーバ装置100が、情報通知を中断し、指定時間(ST)後に改めて通知する際に、通知先の参照者端末102、103に対する別の情報通知がある場合に、情報統合部2003によりそれらを集約して一括して送信することが可能となる。したがって、サーバ装置100が送信すべき情報通知の数が減少し、サーバ装置100の負荷が軽減される。また、集約して送信される別の状態情報は、中断される時間が短くて済み、情報通知までの遅延時間を短くすることができる。
(実施の形態13)
本実施の形態における情報通知システムも、概念的には実施の形態8と同様、図15に示すように構成されている。また、本実施の形態におけるサーバ装置100および参照者端末102も、図15のブロック図に示す実施の形態8と同様の構成を有している。
本実施の形態においても、サーバ装置100には、情報通知端末106からサーバ装置100への情報通知の数、或いは、サーバ装置100から参照者端末102への通知の数に応じてそれぞれ運用状態が定義されている。例えば、運用状態の定義は、情報通知の処理に係るサーバ装置100の処理負荷等が運用状態として定義されており、本実施の形態の場合、サーバ装置100が多数の情報通知を行わなければならない。サーバ装置100の管理部1001において、過負荷状態を検出すると、情報通知送信部1004によって、情報通知を一旦停止する旨と、再度、情報通知を開始するまでの指定時間(ST)を指定する値を含む情報通知を参照者端末102に送信する。情報通知を一旦停止する旨の情報を含む情報通知を受信した参照者端末102は、その中で指定された指定時間が経過した後で通知要求送信部1021により、再びサーバ装置100に対しユーザ105や情報通知端末106の状態などの情報を通知するように通知要求を送信する。
サーバ装置100において過負荷状態を検出する条件は、サーバ装置100の管理者によって予め設定すればよく、また、別の方法で予め定めても良い。いずれにしても、検出条件としては、管理部1001において受信した単位時間当たりの状態変化の検出回数や、情報通知送信部1004において蓄積された情報通知の数などを用いて決定すればよいが、必ずしも、これに限定されるものではない。
次に、本実施の形態の動作を図26に示すシーケンス図を用いて説明する。
参照者端末102、103は、これまでの実施の形態と同様に、サーバ装置100に対し通知要求メッセージとして、予めユーザ105の状態情報を希望する旨の情報を設定したSUBSCRIBEメッセージを送信しているものとする(図示せず)。この場合、サーバ装置100は、SUBSCRIBEメッセージを受信し、それが受け入れ可能な要求であれば、通知応答メッセージとして“200 OK”メッセージを送信している(図示せず)。
この状態において、今、ユーザ装置105に状態変化があったとすると、ユーザ装置105は、PUBLISHメッセージによってサーバ装置100に対しその状態変化を通知する(S2601)。サーバ装置100は、ユーザ装置105からの状態変化を受信すると、情報通知メッセージとしてユーザ装置105が管理するユーザの在席、離席などの状態情報を設定したNOTIFYメッセージを参照者端末102、103に送信する(S2602、S2603)。参照者端末102、103は、サーバ装置100からのNOTIFYメッセージを受信すると、そのNOTIFYメッセージを受信した旨を示す“200 OK”メッセージをサーバ装置100に送信する(S2604、S2605)。そして、参照者端末102、103は、受信したNOTIFYメッセージを基に、状態情報を参照者端末102、103の表示器に表示したり、その状態情報に応じた処理を行ったりする。
新たに参照者端末104において、ユーザ装置105の状態情報を参照したい旨希望する場合には、ユーザ装置105の状態情報を参照したい旨を設定したSUBSCRIBEメッセージをサーバ装置100に送信する(S2606)。サーバ装置100は、SUBSCRIBEメッセージを受信すると、それが受け入れ可能な要求であるかどうかを判断し、受け入れ可能な要求であれば、通知応答メッセージとして“200 OK”メッセージを送信する(S2607)。そして、その時点でユーザ装置105の状態情報を設定したNOTIFYメッセージを参照者端末104に送信する(S2608)。参照者端末104は、NOTIFYメッセージを受信すると、NOTIFYメッセージを受信した旨の“200 OK”メッセージを、サーバ装置100に送信する(S2609)。
そして、以降、ユーザ装置105に状態変化があると、その状態変化がPUBLISHメッセージとしてユーザ装置105からサーバ装置100送信する(S2610、S2611)。サーバ装置100が、この情報を基に情報通知メッセージとしてNOTIFYメッセージを参照者端末102、103、104に送信する(S2612〜2614)。勿論、この場合、図示しないが、PUBLISHメッセージを受信したサーバ装置100は、ユーザ装置105に対し、PUBLISHメッセージを受信した旨の“200 OK”メッセージを送信し、NOTIFYメッセージを受信した参照者端末102、103、104は、それぞれサーバ装置100に対し、NOTIFYメッセージを受信した旨の“200 OK”メッセージを送信する。
ところで、今、サーバ装置100が参照者端末102、103、104に対し所定のNOTIFYメッセージを送信している段階(例えば、S2614を終了した段階)で、サーバ装置100が過負荷状態を検出したとする。この場合、引続いて、参照者端末102、103、104に残りのNOTIFYメッセージを送信する(S2615、S2616、S2617)。しかし、このNOTIFYメッセージには、図27に示すように、“Subscription−State”ヘッダと“retry−after”パラメータを含んでおり、“Subscription−State”ヘッダには“terminated”を設定し、参照者端末102、103、104に対しては、サブスクリプション(Subscription)の解放を通知するようにしている。そして、“retry−after”パラメータには、サーバ装置100がSubscriptionを再確立するまでの待ち時間として希望する値を設定するようにしている。Subscriptionを再確立するまでの待ち時間は、任意に設定すればよいが、次の方法で設定することも可能である。
すなわち、サーバ装置100の情報通知送信部1004に蓄積されたメッセージ数をN、1メッセージあたりの処理時間をT、各参照者端末からのSubscription再確立の要求が同期しないためのランダムな待ち時間をRとした場合に、サーバ装置100は、Subscriptionを再確立するまでの待ち時間“retry−after”を、
“retry−after”=T×N+R
と設定する。
サーバ装置100は、このようにして待ち時間を設定したNOTIFYメッセージを参照者端末102、103、104に送信する(S2615、S2616、S2617)。参照者端末102、103、104は、図示していないが、NOTIFYメッセージを受信した旨の“200 OK”メッセージをサーバ装置100に送信する。そして、その状態で、“retry−after”で指定した時間の経過を待つ。
“retry−after”で指定した時間が経過するまでの間は、Subscriptionは確立していない。そのため、ユーザ装置105において状態変化があり、ユーザ装置105がサーバ装置100にPUBLISHメッセージを送信し(S2618)、送信されたPUBLISHメッセージをサーバ装置100が受信し、PUBLISHメッセージを受信した旨の“200 OK”メッセージをサーバ装置100がユーザ装置105に送信した(S2619)としても、サーバ装置100は、ユーザ装置105の状態変化を直ちに参照者端末102、103、104に通知することはしない。これにより、参照者端末102、103、104からのSUBSCRIBEメッセージを待つことになり、サーバ装置100が短時間に多量のPUBLISHメッセージを受信した場合等のバースト的な負荷を軽減することが可能となる。
次に、参照者端末102、103、104は、“retry−after”に設定された指定時間(ST)経過後に、サーバ装置100に対しSUBSCRIBEメッセージを送信する(S2620、S2622、S2624)。SUBSCRIBEメッセージを受信したサーバ装置100は、図示していないが、それぞれ参照者端末102、103、104に対しSUBSCRIBEメッセージを受信した旨を示す“200 OK”メッセージを送信する。そして、この後、その時点で管理しているユーザ装置105の状態を設定したNOTIFYメッセージをそれぞれ参照者端末102、103、104に送信する(S2621、S2623、S2625)。参照者端末102、103、104は、NOTIFYメッセージを受信すると、図示していないが、受信したことを示す“200 OK”メッセージをサーバ装置100に送信する。
このように、本実施の形態によれば、参照者端末102、103、104が、“retry−after”で指定された時間が経過するまでの間、ユーザ装置105の状態に変化があっても通知されないことを明示的に認識することができ、サーバ装置100の過負荷により参照者端末102、103、104に何らの通知もなく状態変化の通知が破棄されるという事態を避けることができる。
サーバ装置100において、“retry−after”に設定する値は、常に一定の値である必要は無く、サーバ装置100が検出する過負荷の程度に応じて、例えば、過負荷の程度が比較的軽度の場合は、比較的小さな値に、重度の場合は、比較的大きな値に設定してもよい。このようにすれば、過負荷の程度が軽度の場合は、比較的早く情報通知を再開することができ、重度の場合は、充分な時間を取って情報通知を再開することができる。したがって、サーバ装置100の負荷軽減効果と情報通知のリアルタイム性のバランスを最適に図ることが可能になる。
図27は、上記したように、サーバ装置100が過負荷を検出した状態で参照者端末102、103、104に送信するSubscriptionの一時解放を要求するNOTIFYメッセージ(S2615、S2616、S2617)のメッセージフォーマットの一例を示す図である。
このときのNOTIFYメッセージ(S2615、S2616、S2617)では、“Subscription−State”を“terminated”に設定し、“retry−after”を、5m秒に設定している。また、Subscriptionを終了するが、再試行することをサーバ装置100に要求する場合は、“reason”パラメータとして“probation”を設定することがIETFの標準で推奨されている。ユーザ装置105の状態はメッセージボディにおいて示されている。
以上のように、本実施の形態によれば、サーバ装置100が過負荷状態を検出すると、参照者端末102、103、104への情報通知を一時中断するため、短時間に多量のPUBLISHメッセージを受信した場合等のバースト的な負荷を軽減することが可能になる。
また、一時中断した後は、“retry−after”で指定された時間が経過するまで情報通知が再開されず、このことを参照者端末102、103、104において明示的に認識することができる。したがって、サーバ装置100の過負荷により状態変化などの通知が参照者端末102、103、104に何らの通知もなく破棄されるという事態を避けることができる。
そして、サーバ装置100は、情報通知端末106やユーザ装置105からの情報通知の数、或いは、参照者端末102、103、104への通知の数などを基に過負荷状態を検出している。したがって、これらが所定の数を超えると過負荷状態となり、参照者端末102、103、104への情報通知を一時中断するため、これらの数に応じて情報通知の一時中断が成されることになり、サーバ装置100の負荷を軽減することになる。
また、情報通知を一時中断してから再開するまでの指定時間をサーバ装置100の負荷の程度に応じて所定の値に設定した場合には、負荷が軽度な場合、比較的早く情報通知を再開し、重度な場合のみ充分な時間をとって負荷の軽減を図ることもでき、効率的な情報通知を可能にする。
(実施の形態14)
本実施の形態は、実施の形態13と同様であるが、サーバ装置100が過負荷状態を検出したとき、参照者端末102、103、104に送信する通知情報の種類(重要度、緊急度、即時性などの特性)に応じて参照者端末102、103、104への情報通知を一時中断するかどうかを決定するようにしている。すなわち、本実施の形態では、情報通知端末106が2つの状態、状態Aおよび状態Bを有する場合に、サーバ装置100が過負荷状態を検出したとき、参照者端末102、103、104に送信する通知情報が情報通知端末106の状態Bに関する情報である場合にのみ情報通知を一時中断するようにしている。
図28は本実施の形態における情報通知システムの動作を示すシーケンス図である。
本実施の形態では、図28に示すように、例えば、参照者端末102がサーバ装置100に対し、情報通知端末106の持つ状態Aに関する情報通知を望む旨のSUBSCRIBEメッセージを送信する(S2801)。一方、参照者端末103、104は、サーバ装置100に対し、情報通知端末106の持つ状態Bに関する情報通知を望む旨のSUBSCRIBEメッセージを送信したとする(S2803、S2805)。
サーバ装置100は、SUBSCRIBEメッセージを受信すると、それが受け入れ可能な要求であるかどうかを判断し、受け入れ可能な要求であれば、通知応答メッセージとして“200 OK”メッセージを参照者端末102、103、104に送信する(図示せず)。
そして、情報通知端末106において状態Aまたは状態Bに変化があり、それがPUBLISHメッセージとしてサーバ装置100に送信されていると、その送信された状態Aまたは状態Bの現在の状態をそれぞれ情報通知メッセージとしてNOTIFYメッセージに設定して参照者端末102、103、104に送信する(S2802、S2804、S2806)。
参照者端末102、103、104は、NOTIFYメッセージを受信すると、NOTIFYメッセージを受信した旨の“200 OK”メッセージをサーバ装置100に送信する(図示せず)。そして、参照者端末102、103、104は、受信した状態情報を参照者端末102、103、104の表示器に表示したり、その状態情報に対応した処理を実行したりする。
今、情報通知端末106において状態A及び状態Bに変化があり、それらがPUBLISHメッセージとしてサーバ装置100に送信されると(S2807、S2808)、サーバ装置100は、PUBLISHメッセージを受信した旨の“200 OK”メッセージを情報通知端末106に送信する(図示せず)。
このとき、サーバ装置100は、サーバ装置100が過負荷状態を検出すると、予め定められた状態の情報通知を要求している参照者端末に対してのみ、予め定められた特定のNOTIFYメッセージを送信し、その他の参照者端末に対しては、通常のNOTIFYメッセージを送信する。例えば、予め定められた状態が状態Bである場合、その状態Bの情報通知を要求している参照者端末は、参照者端末103、104である。このために、参照者端末103、104に対しては、情報通知端末106の状態Bの情報通知を一時中止し、指定時間後に再開するよう指示する情報を含む予め定めた特定のNOTIFYメッセージを送信し(S2810、S2811)、その他の参照者端末102に対しては、情報通知端末106の状態Aを直ちに通知する通常のNOTIFYメッセージを送信する(S2809)。
すなわち、NOTIFYメッセージには、“Subscription−State”ヘッダと、“retry−after”パラメータとを含んでいる。ここで、特定のNOTIFYメッセージでは、“Subscription−State”ヘッダに“terminated”を設定し、参照者端末103、104に対して、Subscriptionの解放を通知する。そして、“retry−after”パラメータとしては、サーバ装置100がSubscriptionを再確立するまでの待ち時間として希望する値を設定する。
したがって、このNOTIFYメッセージを受信した参照者端末103、104は、“200 OK”メッセージをサーバ装置100に送信し(図示せず)、“retry−after”パラメータで指定された指定時間の経過を待つ。
“retry−after”パラメータで指定された時間が経過するまでの間は、Subscriptionが確立していないため、情報通知端末106の状態Bが変化しても(S2814、S2817)、サーバ装置100は、参照者端末103、104に対する通知は行わない。
一方、参照者端末102に対しては、参照者端末103、104においてSubscriptionを一旦解放している間も、サーバ装置100は、Subscriptionを継続維持しており、サーバ装置100は、状態Aの変化毎(S2812、S2815)にNOTIFYメッセージの送信を、参照者端末102に対して行う(S2813、S2816)。
このようにして、サーバ装置100が短時間に多量のPUBLISHメッセージを受信した場合などのバースト的な負荷を軽減することができる。
参照者端末103、104は、“retry−after”に設定された時間経過後に、サーバ装置100に対しSUBSCRIBEメッセージを送信する(S2818、S2820)。SUBSCRIBEメッセージを受信したサーバ装置100は、“200 OK”メッセージ(図示せず)を参照者端末103、104に送信した後、その時点で管理している情報通知端末106の状態Bを設定したNOTIFYメッセージをそれぞれ参照者端末103、104に送信する(S2819、S2821)。参照者端末103、104は、NOTIFYメッセージを受信すると、受信したことを示す“200 OK”メッセージをサーバ装置100に送信する(図示せず)。
参照者端末103、104は、“retry−after”で指定された時間が経過するまでの間、情報通知端末106の状態に変化があっても通知がなされないことを明示的に認識することができるため、サーバ装置100の過負荷により参照者端末103、104に何らの通知もなく状態変化の通知が破棄されるといった事態を避けることができる。
また、サーバ装置100が過負荷状態を検出したとき、Subscriptionを一旦解放する状態と、解放しないで維持継続する状態とを、サーバ装置100の管理者によって設定したり、予め定めたりすることが可能であり、これらをサーバ装置100に保持することができる。この場合、サーバ装置100が管理する情報の重要度や即時性に応じて情報を分類し定義することにより、サーバ装置100が過負荷状態になったとき、サーバ装置100の負荷を軽減しながらも、重要な状態情報や即時性が要求される状態情報に対しては情報通知を継続し、情報通知のサービス品質を劣化させることなく良好にすることができる。
また、サーバ装置100は、過負荷状態を検出し、Subscriptionを一旦解放するときに、サーバ装置100が管理する各状態の重要度や即時性に応じて、“retry−after”に設定する値を、例えば、重要度や即時性の大きいものほど、小さく設定することも可能である。このようにすれば、重要度や即時性の大きいものほど、早く情報通知を再開することができ、サーバ装置100の負荷軽減と情報通知のリアルタイム性のバランスをとることが可能になる。
なお、“retry−after”に設定する値や条件は、サーバ装置100の管理者によって任意に設定したり、予め定めたりすればよく、いずれにしても、これらはサーバ装置100に保持される。
(実施の形態15)
本実施の形態では、その構成は実施の形態13と同様であるが、サーバ装置100が過負荷状態を検出したとき、参照者端末102、103、104の属性に応じて、情報通知を一時中断するかどうかを決定するようにしている。すなわち、参照者端末103、104に対しては、情報通知を一時中断し、参照者端末102に対しては、情報通知を一時中断しないで情報通知を行うように構成している。
図29は、本実施の形態の情報通知システムの動作を示すシーケンス図である。
図29に示すように、参照者端末102、103、104が、サーバ装置100に対し、それぞれ通知要求メッセージとして、ユーザ装置105の状態情報などの情報通知を希望する旨の内容を設定したSUBSCRIBEメッセージを送信したとする(S2901、S2903、S2905)。すると、SUBSCRIBEメッセージを受信したサーバ装置100は、そのSUBSCRIBEメッセージに設定した要求が受け入れ可能な要求であるかどうかを判断する。受け入れ可能な要求であれば、通知応答メッセージとして“200 OK”メッセージをそれぞれ参照者端末102、103、104に送信する(図示せず)。
SUBSCRIBEメッセージを受け入れたサーバ装置100は、その時点でユーザ装置105の状態情報などの情報を設定したNOTIFYメッセージをそれぞれ参照者端末102、103、104に送信する(S2902、S2904、S2906)。参照者端末102、103、104は、送信されたNOTIFYメッセージを受信し、受信した旨を示す“200 OK”メッセージをサーバ装置100に送信する(図示せず)。
ユーザ装置105に状態変化があると、ユーザ装置105からサーバ装置100に対し、ユーザ装置105の状態変化がPUBLISHメッセージとしてサーバ装置100に通知される(S2907、S2908)。サーバ装置100は、ユーザ装置105からの情報通知を受信するごとに、情報通知メッセージとして、ユーザ装置105の在席、離席などの状態情報を設定したNOTIFYメッセージを参照者端末102、103、104に送信する(S2909、S2910、S2911)。参照者端末102、103、104は、NOTIFYメッセージを受信した旨の“200 OK”メッセージをサーバ装置100に送信する(図示せず)とともに、受信したNOTIFYメッセージを基に、ユーザ装置105の状態情報などを表示器に表示したり、その状態情報に対応した処理を実行したりする。
今、サーバ装置100が過負荷状態を検出したとすると、予め定めた参照者端末、例えば、参照者端末103、104に対してのみ、Subscriptionを一時解放し、予め設定した指定時間経過後に改めてSubscriptionを確立するためのNOTIFYメッセージを送信する。すなわち、この場合は、サーバ装置100は、参照者端末102に対してこれまでと同様、ユーザ装置105の在席、離席などの状態情報を設定したNOTIFYメッセージを送信する(S2912)。また、サーバ装置100は、参照者端末103、104に対して、Subscriptionを一時解放し、予め設定した指定時間経過後に改めてSubscriptionを確立するためのNOTIFYメッセージを送信する(S2913、S2914)。
なお、ここで、NOTIFYメッセージには、“Subscription−State”ヘッダと“retry−after”パラメータとを含んでいる。Subscriptionを一時解放し、予め設定した指定時間経過後に改めてSubscriptionを確立するためのNOTIFYメッセージでは、“Subscription−State”ヘッダに“terminated”を設定し、参照者端末103、104に対しSubscriptionを一時解放するように指示している。そして、“retry−after”パラメータには、サーバ装置100が再びSubscriptionを確立するまでの待ち時間として希望する指定時間を設定している。
NOTIFYメッセージを受信した参照者端末103、104は、NOTIFYメッセージを受信した旨の“200 OK”メッセージ(図示せず)をサーバ装置100に送信すると共に、“retry−after”において設定した指定時間の経過を待つ。サーバ装置100は、“retry−after”で設定した指定時間が経過するまでの間は、ユーザ装置105に状態変化があり、ユーザ装置105から状態変化を通知するPUBLISHメッセージが通知される(S2915、S2916)。しかし、Subscriptionを解放中の参照者端末103、104に対しては、情報通知を行わず、Subscriptionを解放していない参照者端末102に対してのみ、情報通知を行う(S2917、S2918)。
サーバ装置100が過負荷状態になったとき、いずれの参照者端末102、103、104との間のSubscriptionを一時解放するようにするかは、サーバ装置100の管理者によって任意に設定したり、予め定めたりしてサーバ装置100に記憶保持ておけばよい。
参照者端末103、104は、“retry−after”に設定した指定時間経過後に、サーバ装置100に対してSUBSCRIBEメッセージを送信する(S2919、S2921)。SUBSCRIBEメッセージを受信したサーバ装置100は、SUBSCRIBEメッセージを受信した旨の“200 OK”メッセージ(図示せず)を参照者端末103、104に送信し、その後、その時点でユーザ装置105の状態を設定したNOTIFYメッセージを参照者端末103、104に送信する(S2920、S2922)。
参照者端末103、104は、サーバ装置100からNOTIFYメッセージを受信すると、NOTIFYメッセージを受信した旨の“200 OK”メッセージ(図示せず)をサーバ装置100に送信し、受信したNOTIFYメッセージを基に、ユーザ装置105の状態情報を表示器に表示したり、状態情報に応じた動作を実行したりする。
参照者端末103、104は、“retry−after”で設定された指定時間が経過するまで、ユーザ装置105に状態変化があっても情報通知がなされないということを明示的に認識することができる。このため、サーバ装置100が過負荷状態になっても参照者端末103、104に何らの通知もなく状態変化の通知が破棄されるという事態を避けることができる。
このように、本実施の形態によれば、サーバ装置100が短時間に多量のPUBLISHメッセージを受信した場合でも、バースト的な負荷を軽減することが可能である。
そして、サーバ装置100は、参照者端末102、103、104の優先度や重要度、要求される即時性に応じて、情報通知のSubscriptionを一旦解放するか、継続維持するかを選択的に制御することができる。このため、サーバ装置100は、負荷軽減を図りながらも、情報通知を受けることが重要な参照者端末(この場合、参照者端末102)等に対しては情報通知を継続することができ、情報通知のサービス品質劣化を防止できる。
また、サーバ装置100は、過負荷状態を検出することによりSubscriptionを一旦解放する際に、参照者端末102、103、104が要求する即時性や重要度等に応じて、“retry−after”に設定する値を制御することも可能である。これにより、サーバ装置100の負荷軽減効果と、状態情報通知のリアルタイム性とのバランスを図ることが可能である。参照者端末毎の“retry−after”に設定する値は、サーバ装置100の管理者において任意に設定したり、予め定めたりすることが可能であり、それぞれサーバ装置100に記憶保持しておけばよい。
また、実施の形態8以降の実施の形態は、ユーザ装置105や情報通知端末106から受信した情報の種類、参照者端末102、103、104に送信する情報の種類、参照者端末102、103、104の属性情報、ユーザ装置105や情報通知端末106、107の属性情報などにそれぞれ個別に優先度を設定している。そして、これらの実施の形態は、その優先度に応じて情報送信の中断時間をそれぞれ設定するようにしたり、中断中に同じ参照者端末102、103、104に対する別の情報を受信したとき、その別の情報を中断中の情報にまとめて送信したりすることをそれぞれ個別に構成している。しかしながら、本発明は、これらの構成を適宜2つ、3つ、あるいはそれ以上を組み合わせてもよく、組みあわせれば、それに応じてそれらの効果を増大することも可能である。