(57)【要約】【課題】複数のホストでイベントを共有する際に、ネットワークの形態が変化した場合にも、イベントの配信を適切に行うことの可能なイベント共有システム、ホスト、イベント共有方法及びイベント共有プログラムを提供する。【解決手段】ホストが、サーバ情報２０３にイベントサーバに関する情報を格納し、ホストリスト２０４に複数のホストが順位付けられたホストリストを格納し、サーバ情報２０３に格納された情報に示されるイベントサーバに、発生したイベントを送信し、イベントのイベントサーバへの送信が成功しなかった場合に、ホストリストにおいてイベントサーバの次に順位付けられているホストを新たなイベントサーバとしてサーバ情報２０３に格納されている情報を更新し、送信が成功しなかったイベントを新たなイベントサーバに送信する。【選択図】　図２
2004046300.tif 000002
【特許請求の範囲】
【請求項１】
複数のホストがネットワークにより接続されたイベント共有システムであって、
前記ホストは、
イベントサーバに関する情報を格納するサーバ情報格納手段と、
複数のホストが順位付けられたホストリストを格納するホストリスト格納手段と、
前記サーバ情報格納手段に格納された情報に示されるイベントサーバに、発生したイベントを送信するイベント送信手段と、
前記イベント送信手段による前記イベントのイベントサーバへの送信が成功しなかった場合に、前記ホストリストにおいて前記イベントサーバの次に順位付けられているホストを新たなイベントサーバとして前記サーバ情報格納手段に格納されている情報を更新するサーバ情報更新手段とを備え、
前記イベント送信手段は、前記送信が成功しなかったイベントを前記新たなイベントサーバに送信することを特徴とするイベント共有システム。
【請求項２】
複数のホストがネットワークにより接続されたイベント共有システムであって、
前記ホストは、
複数のホストが順位付けられ、そのうちの１つのホストをイベントサーバとするホストリストを格納するホストリスト格納手段と、
前記ホストリストに示されるイベントサーバに、発生したイベントを送信するイベント送信手段と、
前記イベント送信手段による前記イベントのイベントサーバへの送信が成功しなかった場合に、前記ホストリストにおいて前記イベントサーバの次に順位付けられているホストを新たなイベントサーバとする更新処理を前記ホストリストに対して行なうサーバ情報更新手段とを備え、
前記イベント送信手段は、前記送信が成功しなかったイベントを前記新たなイベントサーバに送信することを特徴とするイベント共有システム。
【請求項３】
前記ホストは、
他のホストから送信されたイベントを受信するイベント受信手段と、
前記受信したイベントを前記ホストリストに基づいて各ホストに送信する受信イベント送信手段と、
前記受信イベント送信手段によるイベントの送信が成功しなかったホストを前記ホストリストから削除するホストリスト更新手段とを備えることを特徴とする請求項１又は２に記載のイベント共有システム。
【請求項４】
複数のホストがネットワークにより接続されたイベント共有システムにおける前記ホストであって、
イベントサーバに関する情報を格納するサーバ情報格納手段と、
複数のホストが順位付けられたホストリストを格納するホストリスト格納手段と、
前記サーバ情報格納手段に格納された情報に示されるイベントサーバに、発生したイベントを送信するイベント送信手段と、
前記イベント送信手段による前記イベントのイベントサーバへの送信が成功しなかった場合に、前記ホストリストにおいて前記イベントサーバの次に順位付けられているホストを新たなイベントサーバとして前記サーバ情報格納手段に格納されている情報を更新するサーバ情報更新手段とを備え、
前記イベント送信手段は、前記送信が成功しなかったイベントを前記新たなイベントサーバに送信することを特徴とするホスト。
【請求項５】
複数のホストがネットワークにより接続されたイベント共有システムにおける前記ホストであって、
複数のホストが順位付けられ、そのうちの１つのホストをイベントサーバとするホストリストを格納するホストリスト格納手段と、
前記ホストリストに示されるイベントサーバに、発生したイベントを送信するイベント送信手段と、
前記イベント送信手段による前記イベントのイベントサーバへの送信が成功しなかった場合に、前記ホストリストにおいて前記イベントサーバの次に順位付けられているホストを新たなイベントサーバとする更新処理を前記ホストリストに対して行なうサーバ情報更新手段とを備え、
前記イベント送信手段は、前記送信が成功しなかったイベントを前記新たなイベントサーバに送信することを特徴とするホスト。
【請求項６】
他のホストから送信されたイベントを受信するイベント受信手段と、
前記受信したイベントを前記ホストリストに基づいて各ホストに送信する受信イベント送信手段と、
前記受信イベント送信手段によるイベントの送信が成功しなかったホストを前記ホストリストから削除するホストリスト更新手段とを備えることを特徴とする請求項４又は５に記載のホスト。
【請求項７】
複数のホストがネットワークにより接続されたイベント共有システムに適用されるイベント共有方法であって、
前記ホストが、
イベントサーバに関する情報をサーバ情報格納手段に格納するサーバ情報格納工程と、
複数のホストが順位付けられたホストリストをホストリスト格納手段に格納するホストリスト格納工程と、
前記サーバ情報格納手段に格納された情報に示されるイベントサーバに、発生したイベントを送信するイベント送信工程と、
前記イベント送信工程による前記イベントのイベントサーバへの送信が成功しなかった場合に、前記ホストリストにおいて前記イベントサーバの次に順位付けられているホストを新たなイベントサーバとして前記サーバ情報格納手段に格納されている情報を更新するサーバ情報更新工程と、
前記送信が成功しなかったイベントを前記新たなイベントサーバに送信する送信工程とを備えることを特徴とするイベント共有方法。
【請求項８】
複数のホストがネットワークにより接続されたイベント共有システムに適用されるイベント共有方法であって、
前記ホストが、
複数のホストが順位付けられ、そのうちの１つのホストをイベントサーバとするホストリストをホストリスト格納手段に格納するホストリスト格納工程と、
前記ホストリストに示されるイベントサーバに、発生したイベントを送信するイベント送信工程と、
前記イベント送信工程による前記イベントのイベントサーバへの送信が成功しなかった場合に、前記ホストリストにおいて前記イベントサーバの次に順位付けられているホストを新たなイベントサーバとする更新処理を前記ホストリストに対して行なうサーバ情報更新工程と、
前記送信が成功しなかったイベントを前記新たなイベントサーバに送信する送信工程とを備えることを特徴とするイベント共有方法。
【請求項９】
前記ホストが、
他のホストから送信されたイベントを受信するイベント受信工程と、
前記受信したイベントを前記ホストリストに基づいて各ホストに送信する受信イベント送信工程と、
前記受信イベント送信工程によるイベントの送信が成功しなかったホストを前記ホストリストから削除するホストリスト更新工程とを備えることを特徴とする請求項７又は８に記載のイベント共有方法。
【請求項１０】
複数のホストがネットワークにより接続されたイベント共有システムにおける前記ホストに適用されるイベント共有プログラムであって、
前記ホストを、
イベントサーバに関する情報を格納するサーバ情報格納手段、
複数のホストが順位付けられたホストリストを格納するホストリスト格納手段、
前記サーバ情報格納手段に格納された情報に示されるイベントサーバに、発生したイベントを送信するイベント送信手段、
前記イベント送信手段による前記イベントのイベントサーバへの送信が成功しなかった場合に、前記ホストリストにおいて前記イベントサーバの次に順位付けられているホストを新たなイベントサーバとして前記サーバ情報格納手段に格納されている情報を更新するサーバ情報更新手段、及び、
前記送信が成功しなかったイベントを前記新たなイベントサーバに送信する送信手段として機能させることを特徴とするイベント共有プログラム。
【請求項１１】
複数のホストがネットワークにより接続されたイベント共有システムにおける前記ホストに適用されるイベント共有プログラムであって、
前記ホストを、
複数のホストが順位付けられ、そのうちの１つのホストをイベントサーバとするホストリストを格納するホストリスト格納手段、
前記ホストリストに示されるイベントサーバに、発生したイベントを送信するイベント送信手段、
前記イベント送信手段による前記イベントのイベントサーバへの送信が成功しなかった場合に、前記ホストリストにおいて前記イベントサーバの次に順位付けられているホストを新たなイベントサーバとする更新処理を前記ホストリストに対して行なうサーバ情報更新手段、及び、
前記送信が成功しなかったイベントを前記新たなイベントサーバに送信する送信手段として機能させることを特徴とするイベント共有プログラム。
【請求項１２】
前記ホストを、
他のホストから送信されたイベントを受信するイベント受信手段、
前記受信したイベントを前記ホストリストに基づいて各ホストに送信する受信イベント送信手段、及び、
前記受信イベント送信手段によるイベントの送信が成功しなかったホストを前記ホストリストから削除するホストリスト更新手段として機能させることを特徴とする請求項１０又は１１に記載のイベント共有プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、複数のホストでイベントを共有するイベント共有システム及びこのようなイベント共有システムに適用されるホスト、イベント共有方法及びイベント共有プログラムに関する。
【０００２】
【従来の技術】
従来、複数のホストが互いにネットワークにより接続され、通信を行うシステムが開発されている。
【０００３】
そして、上記のようなシステムでは、複数のホストによりイベントを共有する場合がある。イベントを共有することにより、それぞれのホストは同じイベントを取得してアプリケーション処理を行なうことが可能となり、コラボレーションツールへの応用が可能となっている。
【０００４】
コラボレーションツールとは、複数の地点で協調して使えるツールのことである。例えば、お互いに遠くにいる二人が、同じツールの画面を見ながら同時に編集したりするようなツールである。
【０００５】
【発明が解決しようとする課題】
しかしながら、上記のような複数のホストでイベントを共有する従来技術の場合には、下記のような問題が生じていた。
【０００６】
すなわち、複数のホストでイベントを共有する場合、イベントの順序を守るために特定のホストでイベントのシリアライズ（直列化）を行って、複数の他のホストにイベントを送信する。このような特定のホストを、管理サーバ又はイベントサーバという。
【０００７】
イベントのシリアライズとは、イベントを順番（シリアル）に並べることをいう。すなわち、イベントのシリアライズでは、複数のホストから複数のイベントが上がった場合に、それを順番に並べて他のホストに通知する。
【０００８】
例えば、ホストＡからイベントａが発生し、それと同時にホストＢからイベントｂが発生した場合、イベントをａ、ｂの順に発信することがシリアライズである。
【０００９】
この場合、その特定のホストが何らかの理由でダウンした場合、あるいはその特定のホストへのネットワークが切断された場合などにイベントを正しく送信できなくなることがある。
【００１０】
このような問題点に対応するため、特開２００１−３４５９２号公報に開示された技術では、管理サーバのノードが削除された場合、削除された管理サーバのノードと予め定期的に通信を行っていた各ノードは、サーバ優先順位テーブルに基づいて新たな管理サーバを決定し、ネットワーク構成情報を更新する。
【００１１】
そして、更新されたネットワーク構成情報を、新たに決定された管理サーバのノードと定期的に交換するとしている（上記公報段落７３）。
【００１２】
しかしながら、上記公報に記載の技術では、各ノードが管理サーバのノードと定期的に通信を行うシステムでなければ適用できない。
【００１３】
本発明は上記事情に鑑みなされたもので、その目的とするところは、複数のホストでイベントを共有する際に、ネットワークの形態が変化した場合にも、イベントの配信を適切に行うことの可能なイベント共有システム、ホスト、イベント共有方法及びイベント共有プログラムを提供することを目的とする。
【００１４】
ここで、ネットワークの形態の変化とは、例えばホストやネットワークに障害が発生した場合や、ホストがネットワークから離脱した場合などが相当する。
【００１５】
【課題を解決するための手段】
上記目的を達成するために、本発明に係るイベント共有システムは、複数のホストがネットワークにより接続されたイベント共有システムであって、前記ホストは、イベントサーバに関する情報を格納するサーバ情報格納手段と、複数のホストが順位付けられたホストリストを格納するホストリスト格納手段と、前記サーバ情報格納手段に格納された情報に示されるイベントサーバに、発生したイベントを送信するイベント送信手段と、前記イベント送信手段による前記イベントのイベントサーバへの送信が成功しなかった場合に、前記ホストリストにおいて前記イベントサーバの次に順位付けられているホストを新たなイベントサーバとして前記サーバ情報格納手段に格納されている情報を更新するサーバ情報更新手段とを備え、前記イベント送信手段は、前記送信が成功しなかったイベントを前記新たなイベントサーバに送信することを特徴とする。
【００１６】
また、本発明に係るイベント共有システムは、複数のホストがネットワークにより接続されたイベント共有システムであって、前記ホストは、複数のホストが順位付けられ、そのうちの１つのホストをイベントサーバとするホストリストを格納するホストリスト格納手段と、前記ホストリストに示されるイベントサーバに、発生したイベントを送信するイベント送信手段と、前記イベント送信手段による前記イベントのイベントサーバへの送信が成功しなかった場合に、前記ホストリストにおいて前記イベントサーバの次に順位付けられているホストを新たなイベントサーバとする更新処理を前記ホストリストに対して行なうサーバ情報更新手段とを備え、前記イベント送信手段は、前記送信が成功しなかったイベントを前記新たなイベントサーバに送信することを特徴とする。
【００１７】
また、本発明に係るイベント共有システムは、前記ホストは、他のホストから送信されたイベントを受信するイベント受信手段と、前記受信したイベントを前記ホストリストに基づいて各ホストに送信する受信イベント送信手段と、前記受信イベント送信手段によるイベントの送信が成功しなかったホストを前記ホストリストから削除するホストリスト更新手段とを備えることを特徴とする。
【００１８】
さらに、本発明に係るホストは、複数のホストがネットワークにより接続されたイベント共有システムにおける前記ホストであって、イベントサーバに関する情報を格納するサーバ情報格納手段と、複数のホストが順位付けられたホストリストを格納するホストリスト格納手段と、前記サーバ情報格納手段に格納された情報に示されるイベントサーバに、発生したイベントを送信するイベント送信手段と、前記イベント送信手段による前記イベントのイベントサーバへの送信が成功しなかった場合に、前記ホストリストにおいて前記イベントサーバの次に順位付けられているホストを新たなイベントサーバとして前記サーバ情報格納手段に格納されている情報を更新するサーバ情報更新手段とを備え、前記イベント送信手段は、前記送信が成功しなかったイベントを前記新たなイベントサーバに送信することを特徴とする。
【００１９】
また、本発明に係るホストは、複数のホストがネットワークにより接続されたイベント共有システムにおける前記ホストであって、複数のホストが順位付けられ、そのうちの１つのホストをイベントサーバとするホストリストを格納するホストリスト格納手段と、前記ホストリストに示されるイベントサーバに、発生したイベントを送信するイベント送信手段と、前記イベント送信手段による前記イベントのイベントサーバへの送信が成功しなかった場合に、前記ホストリストにおいて前記イベントサーバの次に順位付けられているホストを新たなイベントサーバとする更新処理を前記ホストリストに対して行なうサーバ情報更新手段とを備え、前記イベント送信手段は、前記送信が成功しなかったイベントを前記新たなイベントサーバに送信することを特徴とする。
【００２０】
また、本発明に係るホストは、他のホストから送信されたイベントを受信するイベント受信手段と、前記受信したイベントを前記ホストリストに基づいて各ホストに送信する受信イベント送信手段と、前記受信イベント送信手段によるイベントの送信が成功しなかったホストを前記ホストリストから削除するホストリスト更新手段とを備えることを特徴とする。
【００２１】
さらに、本発明に係るイベント共有方法は、複数のホストがネットワークにより接続されたイベント共有システムに適用されるイベント共有方法であって、前記ホストが、イベントサーバに関する情報をサーバ情報格納手段に格納するサーバ情報格納工程と、複数のホストが順位付けられたホストリストをホストリスト格納手段に格納するホストリスト格納工程と、前記サーバ情報格納手段に格納された情報に示されるイベントサーバに、発生したイベントを送信するイベント送信工程と、前記イベント送信工程による前記イベントのイベントサーバへの送信が成功しなかった場合に、前記ホストリストにおいて前記イベントサーバの次に順位付けられているホストを新たなイベントサーバとして前記サーバ情報格納手段に格納されている情報を更新するサーバ情報更新工程と、前記送信が成功しなかったイベントを前記新たなイベントサーバに送信する送信工程とを備えることを特徴とする。
【００２２】
また、本発明に係るイベント共有方法は、複数のホストがネットワークにより接続されたイベント共有システムに適用されるイベント共有方法であって、前記ホストが、複数のホストが順位付けられ、そのうちの１つのホストをイベントサーバとするホストリストをホストリスト格納手段に格納するホストリスト格納工程と、前記ホストリストに示されるイベントサーバに、発生したイベントを送信するイベント送信工程と、前記イベント送信工程による前記イベントのイベントサーバへの送信が成功しなかった場合に、前記ホストリストにおいて前記イベントサーバの次に順位付けられているホストを新たなイベントサーバとする更新処理を前記ホストリストに対して行なうサーバ情報更新工程と、前記送信が成功しなかったイベントを前記新たなイベントサーバに送信する送信工程とを備えることを特徴とする。
【００２３】
また、本発明に係るイベント共有方法は、前記ホストが、他のホストから送信されたイベントを受信するイベント受信工程と、前記受信したイベントを前記ホストリストに基づいて各ホストに送信する受信イベント送信工程と、前記受信イベント送信工程によるイベントの送信が成功しなかったホストを前記ホストリストから削除するホストリスト更新工程とを備えることを特徴とする。
【００２４】
さらに、本発明に係るイベント共有プログラムは、複数のホストがネットワークにより接続されたイベント共有システムにおける前記ホストに適用されるイベント共有プログラムであって、前記ホストを、イベントサーバに関する情報を格納するサーバ情報格納手段、複数のホストが順位付けられたホストリストを格納するホストリスト格納手段、前記サーバ情報格納手段に格納された情報に示されるイベントサーバに、発生したイベントを送信するイベント送信手段、前記イベント送信手段による前記イベントのイベントサーバへの送信が成功しなかった場合に、前記ホストリストにおいて前記イベントサーバの次に順位付けられているホストを新たなイベントサーバとして前記サーバ情報格納手段に格納されている情報を更新するサーバ情報更新手段、及び、前記送信が成功しなかったイベントを前記新たなイベントサーバに送信する送信手段として機能させることを特徴とする。
【００２５】
また、本発明に係るイベント共有プログラムは、複数のホストがネットワークにより接続されたイベント共有システムにおける前記ホストに適用されるイベント共有プログラムであって、前記ホストを、複数のホストが順位付けられ、そのうちの１つのホストをイベントサーバとするホストリストを格納するホストリスト格納手段、前記ホストリストに示されるイベントサーバに、発生したイベントを送信するイベント送信手段、前記イベント送信手段による前記イベントのイベントサーバへの送信が成功しなかった場合に、前記ホストリストにおいて前記イベントサーバの次に順位付けられているホストを新たなイベントサーバとする更新処理を前記ホストリストに対して行なうサーバ情報更新手段、及び、前記送信が成功しなかったイベントを前記新たなイベントサーバに送信する送信手段として機能させることを特徴とする。
【００２６】
また、本発明に係るイベント共有プログラムは、前記ホストを、他のホストから送信されたイベントを受信するイベント受信手段、前記受信したイベントを前記ホストリストに基づいて各ホストに送信する受信イベント送信手段、及び、前記受信イベント送信手段によるイベントの送信が成功しなかったホストを前記ホストリストから削除するホストリスト更新手段として機能させることを特徴とする。
【００２７】
なお、本発明にいうイベントとは、アプリケーションの動作と非同期に発生する事象である。例えば、マウスをクリックすると画面が変わるようなアプリケーションの場合、マウスをクリックすることでイベントが発生する。そして、そのイベント処理で画面が変更される。
【００２８】
なお、本発明にいう、イベントの送信が成功しなかった場合には、イベントに関するデータが完全に送信できなかった場合のみならず、イベントに関するデータの一部分のみが送信された場合、すなわち、相手側に送信されたイベントに関するデータに欠落がある場合も含めることができる。
【００２９】
【発明の実施の形態】
以下に図面を参照して、この発明の好適な実施の形態を例示的に詳しく説明する。ただし、この実施の形態に記載されている構成部品の寸法、形状、その相対配置などは、特に特定的な記載がない限りは、この発明の範囲をそれらのみに限定する趣旨のものではない。
【００３０】
また、以下の図面において、既述の図面に記載された部品と同様の部品には同じ番号を付す。また、以下に説明する本発明に係るイベント共有システムの第１の実施形態の説明は、本発明に係るホスト、イベント共有方法及びイベント共有プログラムの説明も兼ねる。
【００３１】
（イベント共有システムの第１の実施形態）
本発明に係るイベント共有システムの第１の実施形態について図面を参照して説明する。図１に、本発明に係るイベント共有システムの第１の実施形態の全体構成図を示す。
【００３２】
図１に示されるイベント共有システムでは、ホストＡ１０１、ホストＢ１０２、ホストＣ１０３、ホストＤ１０４、ホストＥ１０５及びホストＦ１０６の６つのホストが、ネットワーク１０７により互いに接続されている。ただし、本実施形態では、６つのホストが互いに接続される例を説明するが、本発明では、ホストの数は６つに限定されるものではなく、２以上の任意の数であって良い。
【００３３】
また、図１に示される各ホストは互いに双方向に通信が可能となっている。また、ネットワーク１０７に、送信又は受信のみを行う片方向通信のホストが接続されるとしても良い。
【００３４】
また、図１に示されるネットワーク１０７は特に限定されるものではなく、ネットワーク１０７はＴＣＰ／ＩＰを用いたインターネットであっても良い。
【００３５】
さらに、ネットワーク１０７はこのようなインターネットに限定されるものではなく、例えばＷＡＰ（ｗｉｒｅｌｅｓｓ　ａｐｐｌｉｃａｔｉｏｎ　ｐｒｏｔｏｃｏｌ）などその他の任意のプロトコルを用い、又は併用したネットワークであって良い。
【００３６】
また、上記インターネットは、ＩＰｖ４でもＩＰｖ６でも、両者を併用しても良い。また、上記ネットワークは、有線でも無線でも、両者を併用しても良い。
【００３７】
また、図１に示されるホストとして以下の説明ではパソコンを例にして説明するが、ホストはパソコンに限定されるものではなく、その他にも、ＰＤＡ（Ｐｅｒｓｏｎａｌ　Ｄｉｇｉｔａｌ　Ａｓｓｉｓｔａｎｔｓ）、携帯電話、カー・ナビゲーション・システム、家庭用電化製品にコンピュータを融合したデジタル家電などもホストとなりうる。
【００３８】
次に、図１に示されるホストの機能について図２を参照して説明する。図２は、図１に示されるホストの機能を示すブロック図である。なお、図１に示される各ホストは、全て以下の図２に示される機能を備えている。
【００３９】
また、図２に示されるホストの各機能及び以下に説明するホストの動作は、ホストが備える不図示のＣＰＵが、単体で、その他の各部品と共に又は主記憶部やＣＤ−ＲＯＭ、ハードディスクなどの補助記憶部に記憶されているプログラムと協働することにより処理される。また、このプログラムは、ネットワーク１０７を介して各ホストにダウンロードされるとしても良い。
【００４０】
図２に示されるように、ホストは、サーバ部２０１、クライアント部２０２、サーバ情報２０３及びホストリスト２０４を備えている。
【００４１】
サーバ部２０１は、ホストがサーバとして動作する場合に機能する部分である。このサーバ部２０１は、以下に説明するイベント受信部２０５、イベント送信部２０６及びホストリスト更新部２０７を備えている。
【００４２】
イベント受信部２０５は、クライアントとなったホスト（以下、単にクライアントとも記す）からイベントを受信する部分である。
【００４３】
イベント送信部２０６は、クライアントから送られてきたイベントを、ホストリスト２０４に格納されているホストリストに示されるホストに送信する部分である。
【００４４】
ホストリスト更新部２０７は、ホストリスト中のホストであって、送信ができなかったホストがある場合に、ホストリストを更新する部分である。
【００４５】
また、図１に示されるサーバ情報２０３は、現在のイベントサーバに関する情報を格納するためのデータベースである。
【００４６】
このサーバ情報２０３には、例えば図３に示されるように、イベントサーバの情報が格納されている。図３に示される例では、現在のイベントサーバは、ホストＡとなっている。図３は、図２に示されるサーバ情報に格納される情報の概念図である。
【００４７】
また、図１に示されるホストリスト２０４は、本イベント共有システムに接続されているホストを順位付けたホストリストが格納されるデータベースである。
【００４８】
このホストリスト２０４には、例えば図４に示されるようなホストリストが格納される。図４は、図２に示されるホストリストに格納される情報の概念図である。
【００４９】
図４に示されるホストリストでは、ホストＡを最優先順位として、以下、ホストＢ、ホストＣ、ホストＤ、ホストＥ、ホストＦの順の順位でリストが作成されている。このホストリストの順位は、後述するように、イベントサーバを決定する際に使用される。
【００５０】
このホストリストは、初期状態において、図１に示される各ホストに共通して備えられる。
【００５１】
次に、図２の説明に戻る。図２に示されるクライアント部２０２は、ホストがクライアントとして動作する場合に機能する部分である。
【００５２】
このクライアント部２０２は、イベント送信部２０８と、サーバ情報更新部２０９とを備えている。
【００５３】
イベント送信部２０８は、クライアント内でイベントが発生したときに、発生したイベントをイベントサーバに送信する部分である。また、このイベント送信部２０８は、イベントサーバへのイベントの送信が成功しなかった場合に、新たなイベントサーバに再びイベントを送信する。
【００５４】
また、サーバ情報更新部２０９は、イベントをイベントサーバに送信した際に、そのイベントサーバが稼動しているかどうか判断し、送信先リストを参照した上でサーバ情報を更新する部分である。
【００５５】
次に、上記構成のイベント共有システムにおいて、ネットワーク形態に変更が発生する前の動作について図１から図４を参照しつつ説明する。
【００５６】
例えばホストＦ１０６においてイベントが発生した場合、このイベントは、現在のイベントサーバであるホストＡ１０１に送信される（１）。
【００５７】
そして、同様にその他の各ホストからイベントを受信したホストＡ１０１は、各イベントのシリアライズを行った後、これらイベントを各ホストに配信する（（２），（３），（４），（５），（６））。
【００５８】
このように、本実施形態では、１つのホストがイベントサーバとなって、イベントの共有が行われる。
【００５９】
（ネットワーク形態に変更が発生した場合）
次に、本実施形態のイベント共有システムにおいてネットワーク形態に変更が発生した場合について説明する。まず、ネットワーク形態の変更として、ネットワークの分断が発生した場合を例に挙げて説明する。ここで、ネットワークが分断するとは、分断した相手方のネットワークに対して通信が確立できないことをいう。
【００６０】
このようなネットワークの分断として、例えばネットワーク１０７に障害が発生した場合が考えられる。
【００６１】
以下、ネットワーク形態に変更が発生した場合の本実施形態の動作について図５、図６、図７及び図８を参照して説明する。図５は、図１に示されるイベント共有システムにおいて、ネットワークに分断が発生した場合の全体構成図であり、図６、図７及び図８は、図１に示されるイベント共有システムの動作のフローチャートである。
【００６２】
まず、図５に示される分断が発生する前は、ホストＡ１０１、ホストＢ１０２、ホストＣ１０３、ホストＤ１０４、ホストＥ１０５、ホストＦ１０６の６台がネットワーク１０７に接続されており、相互に通信できる状態であったとする。
【００６３】
また、ホストＡ１０１がイベントサーバの役割を担っていた。また、すべてのホストが、「ホストＡ、ホストＢ、ホストＣ、ホストＤ、ホストＥ、ホストＦ」の順に並ぶホストリストを保持していた。このホストリストは、以下の説明では図４に示されるホストリストであるとして良い。
【００６４】
そして、図５に示されるように、ネットワーク１０７に障害が発生し、「ホストＡ、ホストＢ、ホストＣ」のグループと「ホストＤ、ホストＥ、ホストＦ」のグループにネットワーク１０７が分断された。
【００６５】
この前提のもと、以下にホストＥ１０５から見た場合のイベントサーバ選択の例とホストＣ１０３から見た場合のサーバ選択の例を示す。
【００６６】
（ホストＥから見たイベントサーバ選択の例）
まず、ホストＥ１０５は、イベントサーバであるホストＡ１０１にイベントを送信する（Ｓ６０１）。
【００６７】
ネットワーク１０７が分断されているためホストＡ１０１からホストＥ１０５への応答はない（Ｓ６０２，Ｎｏ）。そのため、ホストＥ１０５は、ホストＡ１０１を、図４に示されるホストリストから削除する（Ｓ６０３，Ｓ７０１）。
【００６８】
次に、ホストＥ１０５は、図４に示されるホストリストの中からホストＡ１０１の次のホストであるホストＢをイベントサーバとして、サーバ情報（図３）に設定する（Ｓ７０２）。
【００６９】
次に、ホストＥ１０５は、新たにイベントサーバとして設定されたホストＢ１０２にイベントを送信しようと試みる（Ｓ６０１）。
【００７０】
以下同様に、ホストＥ１０５は、ネットワーク１０７が分断されているためホストＢ１０２からの応答がないため、ホストＢ１０２をリストから削除し、ホストＣ１０３にイベントを送信する。
【００７１】
また、ホストＥ１０５は、ネットワーク１０７が分断されホストＣ１０３からの応答がないため、ホストＣ１０３をリストから削除し、ホストＤ１０４にイベントを送信する。
【００７２】
そして、ホストＥ１０５は、ホストＤ１０４からの応答があったため、ホストＤ１０４をイベントサーバとする（Ｓ６０２，Ｙｅｓ）。
【００７３】
そして、ホストＥ１０５は、以降、ホストＤ１０４をイベントサーバとして扱う。
【００７４】
（ホストＣから見たイベントサーバ選択の例）
ホストＣ１０３は、イベントサーバであるホストＡ１０１にイベントを送信する（Ｓ６０１）。
【００７５】
ホストＥ１０５は、イベントサーバＡ１０１からの応答があったため、これ以降もホストＡ１０１をイベントサーバとして扱う（Ｓ６０２，Ｙｅｓ）。
【００７６】
（イベントサーバの動作）
次に、ネットワーク形態に変更があった後のイベントサーバの処理について図８を参照して説明する。
【００７７】
他のホストからイベントを受信したホストはイベントサーバとなる。そして、他のホストからイベントを受信したイベントサーバは、ホストリストに示される各ホストに受信したイベントを送信する（Ｓ８０１，Ｓ８０２）。
【００７８】
次に、イベントサーバは、各ホストへのイベント送信が成功したか否かを判断する（Ｓ８０３）。例えば図５に示されるイベントサーバであるホストＡ１０１は、ホストＢ１０２、ホストＣ１０３へのイベント送信は成功するが、ホストＤ１０４、ホストＥ１０５及びホストＦ１０６へのイベント送信は成功しない。
【００７９】
そして、イベントサーバは、図２に示されるホストリスト更新部２０７の処理により、イベント送信が成功しなかったホストをホストリストから削除する更新処理を行なった後（Ｓ８０４）、動作を終える。
【００８０】
このように、ネットワーク障害によりネットワークに分断が発生し、ネットワーク形態に変更が発生した場合であっても、イベント共有システムにおける各ホストはそれぞれに格納されているホストリストに基づいて自動的にイベントサーバを選択し、イベント配信ができるため、定期的にネットワーク構成情報を送信しなくても、イベント共有を可能としつつ、ネットワーク形態の変更に柔軟に対応したネットワークを構築することができる。
【００８１】
また、本実施形態では、各ホストがイベントサーバと定期的に通信を行う必要が無いため、通信のトラフィックが減り、イベントサーバの負荷が減り、イベントサーバとの通信によってイベントサーバが常に情報を更新する必要が無いため、イベントサーバがダウンした際にもサーバを即座に切り替えることができ、ネットワークが複数に分断された場合にも、イベントサーバを複数にすることができる。
【００８２】
（イベントサーバの障害によりネットワーク形態に変更が発生した場合）
次に、本実施形態のイベント共有システムにおいて、イベントサーバの障害によりネットワーク形態に変更が発生した場合について説明する。なお、以下に説明するイベントサーバの障害には、イベントサーバのイベント共有システムからの離脱も含む。
【００８３】
図９に示されるように、互いにイベントを共有していたシステムにおいて、イベントサーバであるホストＡ１０１に障害が発生したとする。図９は、図１に示されるイベント共有システムにおいて、イベントサーバに障害が発生した場合の全体構成図である。
【００８４】
この場合、イベント共有システムにおける他のホストは、イベントサーバであるホストＡ１０１と通信を行うことができない。以下、ホストＥ１０５の動作を例に本実施形態の動作の説明をする。また、前述の図６及び図７に示されるフローチャートも適宜参照して説明する。なお、ホストＥ１０５以外のホストの動作も以下の説明と同様である。
【００８５】
まず、ホストＥ１０５は、イベントサーバであるホストＡ１０１にイベントを送信する（Ｓ６０１）。
【００８６】
ホストＡ１０１に障害が発生しているため、ホストＡ１０１からの応答がないため（Ｓ６０２，Ｎｏ）、ホストＥ１０５は、ホストＡ１０１を、図４に示されるホストリストから削除する（Ｓ６０３，Ｓ７０１）。
【００８７】
次に、ホストＥ１０５は、図４に示されるホストリストの中からホストＡ１０１の次のホストであるホストＢをイベントサーバとして、サーバ情報に設定する（Ｓ７０２）。
【００８８】
そして、ホストＢ１０２にイベントを送信しようと試みる（Ｓ６０１）。そして、ホストＥ１０５は、ホストＢ１０２からの応答があったため、ホストＢ１０２をイベントサーバとする。
【００８９】
そして、ホストＥ１０５は、以降、ホストＢ１０２をイベントサーバとして扱う（Ｓ６０２，Ｙｅｓ）。
【００９０】
このように、本実施形態では、イベントサーバであるホストＡ１０１に障害が発生した場合であっても、前述のネットワークに分断が発生した場合と同様の効果が得られ、各ホストは、自動的にイベントサーバを決定することができ、イベントの共有を実現できる。
【００９１】
（イベント共有システムの第２の実施形態）
次に、本発明に係るイベント共有システムの第２の実施形態について図面を参照して説明する。本実施形態の全体構成は、前述の図１に示される全体構成と同様である。
【００９２】
本実施形態のホストの機能について図１０を参照して説明する。図１０は、本発明に係るイベント共有システムの第２の実施形態におけるホストの機能を示すブロック図である。
【００９３】
図１０に示されるように、本実施形態のホストが備える機能は、前述の図２に示されるホストの機能から、サーバ情報２０３が削除された機能となっている。
【００９４】
また、図１０に示される各機能のうち、前述の第１の実施形態と異なる点は、ホストリスト１００４の機能とサーバ情報更新部１００９の機能であり、その他の機能は同様である。
【００９５】
また、前述の図２に示されるホストの各機能及び動作と同様に、図１０に示されるホストの各機能及び以下に説明する動作は、ホストが備える不図示のＣＰＵが、単体で、その他の各部品と共に又は主記憶部やＣＤ−ＲＯＭ、ハードディスクなどの補助記憶部に記憶されているプログラムと協働することにより処理される。また、このプログラムは、ネットワーク１０７を介して各ホストにダウンロードされるとしても良い。
【００９６】
次に、図１０に示されるホストリスト１００４に格納される情報について図１１を参照して説明する。図１１は、図１０に示されるホストリストに格納される情報の概念図であり、図１１の（ａ）は、イベントサーバがホストＡである場合のホストリストであり、図１１の（ｂ）は、イベントサーバがホストＤである場合のホストリストである。
【００９７】
図１１の（ａ）及び図１１の（ｂ）に示されるホストリストは、ホストＡ、ホストＢ、・・という順序、すなわち、図１１の上から順に優先順位が付与されている。
【００９８】
また、図１１の（ａ）及び図１１の（ｂ）に示されるホストリストには、当該ホストリストに示されるホストのうち、どのホストがイベントサーバであるのかを示すチェック１１０１が入っている。
【００９９】
このチェック１１０１は、イベントサーバの更新処理において、図１０に示されるサーバ情報更新部１００９により更新される。
【０１００】
本実施形態における、ネットワーク形態に変更が発生する前の動作は、前述の図１を参照して説明した場合と同様であるため省略する。
【０１０１】
（ネットワーク形態に変更が発生した場合）
次に、本実施形態のイベント共有システムにおいてネットワーク形態に変更が発生した場合について説明する。まず、ネットワーク形態の変更として、ネットワークの分断が発生した場合を例に挙げて説明する。ここで、ネットワークが分断するとは、分断した相手方のネットワークに対して通信が確立できないことをいう。
【０１０２】
このようなネットワークの分断として、例えばネットワーク１０７に障害が発生した場合が考えられる。
【０１０３】
以下、ネットワーク形態に変更が発生した場合の本実施形態の動作について図５、図６、図１０、図１１及び図１２を参照して説明する。図５及び図６は、前述のイベント共有システムの第１の実施形態において使用された図面であるが、本実施形態の説明にも用いることができる。また、図１２は、本発明に係るイベント共有システムの第２の実施形態の動作のフローチャートである。
【０１０４】
まず、図５に示されるような分断が発生する前は、ホストＡ１０１、ホストＢ１０２、ホストＣ１０３、ホストＤ１０４、ホストＥ１０５、ホストＦ１０６の６台がネットワーク１０７に接続されており、相互に通信できる状態であったとする。
【０１０５】
また、ホストＡ１０１がイベントサーバの役割を担っていた。また、すべてのホストが、「ホストＡ、ホストＢ、ホストＣ、ホストＤ、ホストＥ、ホストＦ」の順に並ぶホストリストを保持していた。このホストリストは、以下の説明では図１１の（ａ）に示されるホストリストであるとして良い。
【０１０６】
そして、図５に示されるように、ネットワーク１０７に障害が発生し、「ホストＡ、ホストＢ、ホストＣ」のグループと「ホストＤ、ホストＥ、ホストＦ」のグループにネットワーク１０７が分断された。
【０１０７】
この前提のもと、以下にホストＥ１０５から見た場合のイベントサーバ選択の例とホストＣ１０３から見た場合のサーバ選択の例を示す。
【０１０８】
（ホストＥから見たイベントサーバ選択の例）
まず、ホストＥ１０５は、イベントサーバであるホストＡ１０１にイベントを送信する（Ｓ６０１）。
【０１０９】
ネットワーク１０７が分断されているためホストＡ１０１からホストＥ１０５への応答はない（Ｓ６０２，Ｎｏ）。そのため、ホストＥ１０５は、ホストＡ１０１を、図１１に示されるホストリストから削除する（Ｓ６０３，Ｓ１２０１）。
【０１１０】
次に、ホストＥ１０５は、図１１の（ａ）に示されるホストリストの中からホストＡ１０１の次のホストであるホストＢをイベントサーバとして、図１１に示されるホストリストのチェックを移動する更新処理を行う（Ｓ１２０２）。
【０１１１】
次に、ホストＥ１０５は、新たにイベントサーバとして設定されたホストＢ１０２にイベントを送信しようと試みる（Ｓ６０１）。
【０１１２】
以下同様に、ホストＥ１０５は、ネットワーク１０７が分断されているためホストＢからの応答がないため、ホストＢ１０２をリストから削除し、ホストＣ１０３にイベントを送信する。
【０１１３】
また、ホストＥ１０５は、ネットワーク１０７が分断されホストＣ１０３からの応答がないため、ホストＣ１０３をリストから削除し、ホストＤ１０４にイベントを送信する。
【０１１４】
そして、ホストＥ１０５は、ホストＤ１０４からの応答があったため、ホストＤ１０４をイベントサーバとする（Ｓ６０２，Ｙｅｓ）。このとき、ホストリストは、図１１の（ｂ）に示されるように、ホストＤにチェック１１０１が入る。
【０１１５】
そして、ホストＥ１０５は、以降、ホストＤ１０４をイベントサーバとして扱う。
【０１１６】
（ホストＣから見たイベントサーバ選択の例）
ホストＣ１０３は、イベントサーバであるホストＡ１０１にイベントを送信する（Ｓ６０１）。
【０１１７】
ホストＥ１０５は、イベントサーバＡ１０１からの応答があったため、これ以降もホストＡ１０１をイベントサーバとして扱う（Ｓ６０２，Ｙｅｓ）。
【０１１８】
（イベントサーバの動作）
次に、ネットワーク形態に変更があった後のイベントサーバの処理については、前述の第１の実施形態における図８を用いた説明と同様であるため、省略する。
【０１１９】
このように、本実施形態では、前述の第１の実施形態と同様の効果が得られ、ネットワーク障害によりネットワークに分断が発生し、ネットワーク形態に変更が発生した場合であっても、イベント共有システムにおける各ホストはそれぞれに格納されているホストリストに基づいて自動的にイベントサーバを選択し、イベント配信ができるため、定期的にネットワーク構成情報を送信しなくても、イベント共有を可能としつつ、ネットワーク形態の変更に柔軟に対応したネットワークを構築することができる。
【０１２０】
また、本実施形態でも、各ホストがイベントサーバと定期的に通信を行う必要が無いため、通信のトラフィックが減り、イベントサーバの負荷が減り、イベントサーバとの通信によってイベントサーバが常に情報を更新する必要が無いため、イベントサーバがダウンした際にもサーバを即座に切り替えることができ、ネットワークが複数に分断された場合にも、イベントサーバを複数にすることができる。
【０１２１】
（イベントサーバの障害によりネットワーク形態に変更が発生した場合）
次に、本実施形態のイベント共有システムにおいて、イベントサーバの障害によりネットワーク形態に変更が発生した場合について説明する。なお、以下に説明するイベントサーバの障害には、イベントサーバのイベント共有システムからの離脱も含む。
【０１２２】
図９に示されるように、互いにイベントを共有していたシステムにおいて、イベントサーバであるホストＡ１０１に障害が発生したとする。図９は、前述の本発明に係るイベント共有システムの第１の実施形態を説明するための図であるが、本実施形態の説明にも用いることができる。
【０１２３】
この場合、イベント共有システムにおける他のホストは、イベントサーバであるホストＡ１０１と通信を行うことができない。以下、ホストＥ１０５の動作を例に本実施形態の動作の説明をする。また、前述の図６及び図１２に示されるフローチャートも適宜参照して説明する。なお、ホストＥ１０５以外のホストの動作も以下の説明と同様である。
【０１２４】
まず、ホストＥ１０５は、イベントサーバであるホストＡ１０１にイベントを送信する（Ｓ６０１）。
【０１２５】
ホストＡ１０１に障害が発生しているため、ホストＡ１０１からの応答がないため（Ｓ６０２，Ｎｏ）、ホストＥ１０５は、ホストＡ１０１を、図１１の（ａ）に示されるホストリストから削除する（Ｓ６０３，Ｓ１２０１）。
【０１２６】
次に、ホストＥ１０５は、図１１の（ａ）に示されるホストリストの中からホストＡ１０１の次のホストであるホストＢをイベントサーバとして、ホストリストの更新処理を行なう（Ｓ１２０２）。
【０１２７】
そして、ホスト１０５は、ホストＢ１０２にイベントを送信しようと試みる（Ｓ６０１）。そして、ホストＥ１０５は、ホストＢ１０２からの応答があったため、ホストＢ１０２をイベントサーバとする。
【０１２８】
そして、ホストＥ１０５は、以降、ホストＢ１０２をイベントサーバとして扱う（Ｓ６０２，Ｙｅｓ）。
【０１２９】
このように、イベントサーバであるホストＡ１０１に障害が発生した場合であっても、前述のネットワークに分断が発生した場合と同様の効果が得られ、各ホストは、自動的にイベントサーバを決定することができ、イベントの共有を実現できる。
【０１３０】
【発明の効果】
以上説明したように、ネットワークに障害が発生しネットワークの分断が発生した場合や、イベントサーバであるホストに障害が発生した場合にも、自動的にイベントサーバを選択することにより、特に定期的にネットワーク構成情報を交換しなくても、イベントを問題なく共有することができる。
【０１３１】
また、本発明では、ホストがイベントサーバと定期的に通信を行う必要が無いため、通信のトラフィックが減り、イベントサーバの負荷が減り、イベントサーバとの通信によってイベントサーバが常に情報を更新する必要が無いため、イベントサーバがダウンした際にもサーバを即座に切り替えることができ、ネットワークが複数に分断された場合にも、イベントサーバを複数にすることができる。
【０１３２】
そして、イベントの共有により、複数地点で同じイベントを取得してアプリケーションが処理を行うことが可能になり、コラボレーションツールへ応用できる。
【図面の簡単な説明】
【図１】本発明に係るイベント共有システムの第１の実施形態の全体構成図である。
【図２】図１に示されるホストの機能を示すブロック図である。
【図３】図２に示されるサーバ情報に格納される情報の概念図である。
【図４】図２に示されるホストリストに格納される情報の概念図である。
【図５】図１に示されるイベント共有システムにおいて、ネットワークに分断が発生した場合の全体構成図である。
【図６】図１に示されるイベント共有システムの動作のフローチャートである。
【図７】図１に示されるイベント共有システムの動作のフローチャートである。
【図８】図１に示されるイベント共有システムの動作のフローチャートである。
【図９】図１に示されるイベント共有システムにおいて、イベントサーバに障害が発生した場合の全体構成図である。
【図１０】本発明に係るイベント共有システムの第２の実施形態におけるホストの機能を示すブロック図である。
【図１１】図１０に示されるホストリストに格納される情報の概念図である。
【図１２】本発明に係るイベント共有システムの第２の実施形態の動作のフローチャートである。
【符号の説明】
１０１　ホストＡ
１０２　ホストＢ
１０３　ホストＣ
１０４　ホストＤ
１０５　ホストＥ
１０６　ホストＦ
１０７　ネットワーク
２０１　サーバ部
２０２　クライアント部
２０３　サーバ情報
２０４　ホストリスト
２０５　イベント受信部
２０６　イベント送信部
２０７　ホストリスト更新部
２０８　イベント送信部
２０９　サーバ情報更新部
１００４　ホストリスト
１００９　サーバ情報更新部
【図１】
2004046300.tif 000003
【図２】
2004046300.tif 000004
【図３】
2004046300.tif 000005
【図４】
2004046300.tif 000006
【図５】
2004046300.tif 000007
【図６】
2004046300.tif 000008
【図７】
2004046300.tif 000009
【図８】
2004046300.tif 000010
【図９】
2004046300.tif 000011
【図１０】
2004046300.tif 000012
【図１１】
2004046300.tif 000013
【図１２】
2004046300.tif 000014