(57)【要約】【課題】セッションを通じてクライアントにプッシュ通知可能なサーバを提供すること。【解決手段】第１のサーバが、セッション確立中のクライアントから入力情報を受信した場合、グループ管理情報に基づいて当該セッション確立中のクライアントが属するグループＩＤを特定し、当該特定したグループＩＤを含むグループ通知コマンドを、他のサーバへブロードキャストで送信する。第２のサーバが、第１のサーバからブロードキャストで送信されたグループ通知コマンドを受信した場合、セッション管理情報とグループ管理情報とに基づき、当該セッション確立中のクライアントがその受信したグループ通知コマンドに含まれるグループＩＤに属しているか否かを判定し、当該判定の結果が肯定的な場合、当該セッション確立中のクライアントに対してグループ通知情報を送信する。【選択図】図１
2018097652.tif 000002
【特許請求の範囲】
【請求項１】
他のサーバ装置からブロードキャストで送信されたグループＩＤを含むグループ通知コマンドを受信した場合、セッション確立中のクライアント装置に係る情報を含むセッション管理情報と、グループＩＤと当該グループＩＤのグループに属するクライアント装置とを対応付ける情報を含むグループ管理情報とに基づき、セッション確立中のクライアント装置が、前記受信したグループ通知コマンドに含まれるグループＩＤに属しているか否かを判定する制御部と、
前記判定の結果が肯定的な場合、そのグループＩＤに属しているセッション確立中のクライアント装置に対して、グループ通知情報を送信する第１通信部と、
を備えるサーバ装置。
【請求項２】
セッション確立中のクライアント装置から入力情報を受信した場合、前記グループ管理情報に基づいて当該クライアント装置が属するグループＩＤを特定し、当該特定したグループＩＤを含むグループ通知コマンドを、他のサーバ装置へブロードキャストで送信する第２通信部、をさらに備える、
請求項１に記載のサーバ装置。
【請求項３】
第１のサーバ装置が、セッション確立中のクライアント装置から入力情報を受信した場合、グループＩＤと当該グループＩＤのグループに属するクライアント装置とを対応付ける情報を含むグループ管理情報に基づいて、当該セッション確立中のクライアント装置が属するグループＩＤを特定し、当該特定したグループＩＤを含むグループ通知コマンドを、他のサーバ装置へブロードキャストで送信し、
第２のサーバ装置が、前記第１のサーバ装置からブロードキャストで送信されたグループ通知コマンドを受信した場合、セッション確立中のクライアント装置に係る情報を含むセッション管理情報と、前記グループ管理情報とに基づき、当該セッション確立中のクライアント装置が、前記受信したグループ通知コマンドに含まれるグループＩＤに属しているか否かを判定し、当該判定の結果が肯定的な場合、当該セッション確立中のクライアント装置に対して、グループ通知情報を送信する、
データ通知方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サーバ装置及びデータ通知方法に関する。
【背景技術】
【０００２】
複数のサーバ装置（以下「サーバ」という）によって構成されるサーバシステムには、特定のサーバに処理負荷が偏らないように、ロードバランサが設置される。クライアント装置（以下「クライアント」という）は、サーバシステムに対してセッション要求を送信すると、ロードバランサによって何れかのサーバに転送され、その転送先のサーバとの間でセッションを確立する。この場合、クライアントとセッションを確立したサーバシステム内のサーバは、そのセッションを介して、そのクライアントへデータをプッシュ通知できるが、サーバシステム内のそれ以外のサーバは、セッションを未確立であるため、そのクライアントへデータをプッシュ通知することができない。
【０００３】
このような問題に対して、サーバ間でセッションを引き継ぐ技術が知られている。例えば、特許文献１には、第１のＷｅｂサーバと、第２のＷｅｂサーバと、セッション管理用のＤＢ（ＤａｔａＢａｓｅ）サーバと、第１のＷｅｂサーバ及び第２のＷｅｂサーバ間の切り替えを制御するロードバランサとを備えるセッション引き継ぎシステムが開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００７−２７２４７２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、特許文献１の技術は、クライアントとセッションを確立するＷｅｂサーバの他にセッション管理用のＤＢサーバを設ける必要があるため、サーバシステムの構成及び運用が複雑になる上、スケールアウトがしにくいという課題がある。
【０００６】
本発明は、各サーバがセッションを通じて各クライアントにデータをプッシュ通知可能なサーバ装置及びデータ通知方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の一実施形態に係るサーバ装置は、他のサーバ装置からブロードキャストで送信されたグループＩＤを含むグループ通知コマンドを受信した場合、セッション確立中のクライアント装置に係る情報を含むセッション管理情報と、グループＩＤと当該グループＩＤのグループに属するクライアント装置とを対応付ける情報を含むグループ管理情報とに基づき、セッション確立中のクライアント装置がその受信したグループ通知コマンドに含まれるグループＩＤに属しているか否かを判定する制御部と、その判定の結果が肯定的な場合、そのグループＩＤに属しているセッション確立中のクライアント装置に対して、グループ通知情報を送信する第１通信部と、を備える。
【０００８】
また、本発明の一実施形態に係るデータ通知方法は、第１のサーバ装置が、セッション確立中のクライアント装置から入力情報を受信した場合、グループＩＤと当該グループＩＤのグループに属するクライアント装置とを対応付ける情報を含むグループ管理情報に基づいて、当該セッション確立中のクライアント装置が属するグループＩＤを特定し、当該特定したグループＩＤを含むグループ通知コマンドを、他のサーバ装置へブロードキャストで送信し、第２のサーバ装置が、第１のサーバ装置からブロードキャストで送信されたグループ通知コマンドを受信した場合、セッション確立中のクライアント装置に係る情報を含むセッション管理情報と、グループ管理情報とに基づき、当該セッション確立中のクライアント装置が、その受信したグループ通知コマンドに含まれるグループＩＤに属しているか否かを判定し、当該判定の結果が肯定的な場合、当該セッション確立中のクライアント装置に対して、グループ通知情報を送信する。
【発明の効果】
【０００９】
本発明によれば、各サーバがセッションを通じて各クライアントにデータをプッシュ通知可能なサーバ装置及びデータ通知方法を提供することができる。
【図面の簡単な説明】
【００１０】
【図１】一実施形態に係るクライアントサーバシステムの構成例を示す図である。
【図２】サーバシステムにおける１つのサーバの構成例を示す図である。
【図３】グループ管理情報の例を示す図である。
【図４】セッション管理情報の例を示す図である。
【図５】第１グループに属するクライアントと、サーバシステムとの間におけるデータ送受信の例を示すシーケンスチャートである。
【図６】サーバにおける処理例を示すフローチャートである。
【発明を実施するための形態】
【００１１】
以下、本発明に係る実施形態を、図面を参照しながら説明する。なお、以下の説明では、同種の要素を区別して説明する場合には、「サーバ１０Ａ」、「サーバ１０Ｂ」のように、参照符号を使用し、同種の要素を区別しないで説明する場合には、「サーバ１０」のように参照符号のうちの共通番号のみを使用することがある。
【００１２】
図１は、本実施形態に係るクライアントサーバシステム１の構成例を示す図である。
【００１３】
クライアントサーバシステム１は、複数のサーバ１０によって構成されるサーバシステム８と、ロードバランサ１４と、複数のクライアント１２と、を備える。
【００１４】
各サーバ１０は、第１通信ネットワーク１６を介して、ロードバランサ１４に接続されている。第１通信ネットワーク１６は、例えば、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）又はＶＰＮ（Ｖｉｒｔｕａｌ  Ｐｒｉｖａｔｅ  Ｎｅｔｗｏｒｋ）等である。
【００１５】
各サーバ１０は、第２通信ネットワーク１７を介して、相互接続されている。第２通信ネットワーク１７は、例えば、ＬＡＮ又はＶＰＮ等である。
【００１６】
各クライアント１２は、第３通信ネットワーク１５を介して、ロードバランサ１４に接続されている。第３通信ネットワーク１５は、例えば、ＷＡＮ、ＬＡＮ、ＶＰＮ等である。
【００１７】
ロードバランサ１４は、特定のサーバ１０に負荷が偏らないように、クライアント１２からのセッション要求を、何れかのサーバ１０に振り分ける。したがって、ロードバランサ１４によって、同じグループに属する各クライアント１２が、別々のサーバ１０とセッションを確立するケースが発生する。例えば、図１の例のように、クライアント１２Ａがサーバ１０ＡとセッションＮ１を確立し、クライアント１２Ｂがサーバ１０ＢとセッションＮ２を確立するケースが発生する。この場合、例えば、次のようなサービスを実現する際に問題が発生する。
【００１８】
サーバシステム８は、複数のサーバ１０が連携して、第１グループ６Ａに対応する第１調剤薬局に対して、レセプトコンピュータシステムや、電子薬歴システム、薬剤管理システムなど、調剤薬局で必要とする調剤システムを提供する。レセプトコンピュータシステムは、診療報酬明細書を作成し、支払機関への提出を支援するシステムである。電子薬歴システムは、調剤内容を記録及び管理するシステムである。薬剤管理システムは、調剤薬局における薬剤の在庫を管理する機能を備える。ここでは、薬剤管理システムの説明を通じて、プッシュ通知の動作を説明する。
【００１９】
第１グループ６Ａに対応する第１調剤薬局には、クライアント１２Ａとクライアント１２Ｂとが設置されている。
【００２０】
薬剤管理システムは、第１調剤薬局に係る薬剤の在庫数が所定の閾値未満となった場合に、その旨を示す情報を、第１調剤薬局に設置されている（つまり、第１グループ６Ａに属する）各クライアント１２にプッシュ通知する機能を有する。
【００２１】
クライアント１２Ａに薬剤の使用数が入力されると、その薬剤の使用数（入力情報に相当）が、セッションＮ１を通じて、サーバ１０Ａに送信される。
【００２２】
サーバ１０Ａは、セッションＮ１を通じて送信された薬剤の使用数を第１調剤薬局に係る薬剤の在庫数から減算する。サーバ１０Ａは、第１調剤薬局に係る減算後の薬剤の在庫数が所定の閾値未満である場合、当該セッションＮ１を通じて、クライアント１２Ａに対して、薬剤の在庫数が所定の閾値未満である旨の情報（グループ通知情報に相当）を、プッシュ通知することができる。しかし、サーバ１０Ａは、クライアント１２Ｂとはセッションを確立していないので、このままでは、同じ第１調剤薬局に設置されているクライアント１２Ｂに対して、上記グループ通知情報をプッシュ通知することができない。
【００２３】
そこで、本実施形態に係るサーバ１０Ａは、第１グループ６ＡのグループＩＤを含むグループ通知コマンドを、第２通信ネットワーク１７を通じて、他のサーバ１０Ｂ、１０Ｃにブロードキャスト（又はマルチキャスト。以下同じ）で送信する。
【００２４】
このグループ通知コマンドを受信したサーバ１０Ｂは、当該グループ通知コマンドに含まれる第１グループ６ＡのグループＩＤに属するクライアント１２ＢとセッションＮ２を確立しているので、当該セッションＮ２を通じて、クライアント１２Ｂに対して、上記グループ通知情報をプッシュ通知することができる。
【００２５】
これにより、第１調剤薬局（第１グループ６Ａ）に設置されている各クライアント１２Ａ、１２Ｂに、グループ通知情報をプッシュ通知することができる。
【００２６】
これは、第１調剤薬局（第１グループ６Ａ）に属する各クライアント１２Ａ、１２Ｂが、サーバシステム８に対して定期的に状況を確認（周期ポーリング）する必要がなくなることを意味する。
【００２７】
もし、各クライアントがサーバシステムに対して定期的に状況を確認する構成の場合、以下のＡ１及びＡ２のような問題が生じる。
【００２８】
（Ａ１）確認の間隔が長い場合、クライアントとサーバシステムとの間で情報が不一致となる時間が長くなるため、各クライアントはそれ以降の処理を待つ必要がある。
【００２９】
（Ａ２）確認の間隔が短い場合、サーバシステムは、状況の変化無しの確認結果を、クライアントに対して頻繁に送信する必要がある。すなわち、クライアントとサーバシステムとの間の通信ネットワークに、不要なトラフィックが発生する。さらに、サーバシステムは、クライアントからの頻繁な確認要求に逐次応答する必要があるため、当該サーバシステムの応答処理負荷が高くなる。
【００３０】
このような問題を解決するために、本実施形態では、サーバシステム８内で状況が変化したときにサーバシステム８からクライアント１２に対して通知を行う、プッシュ通知を採用する。これにより、通信トラフィックの軽減、及び、サーバシステム８の処理負荷の軽減を図っている。
【００３１】
なお、レセプトコンピュータシステムにおいて、クライアント１２から診療報酬明細書の作成要求がサーバシステム８に入力された場合、当該処理には比較的長い時間がかるため、サーバシステム８は、当該処理の進捗情報をグループ通知情報として、クライアント１２にプッシュ通知してもよい。
【００３２】
また、薬剤管理システムにおいて、サーバシステム８は、クライアント１２から入力された内容をそのままグループ通知情報として、クライアント１２にプッシュ通知してもよい。グループ通知情報は、調剤システムに関係するものであればどのような情報であっても良い。
【００３３】
なお、本実施形態において、セッション確立中とは、サーバ１０とクライアント１２とが相互にアクセスを監視中である状態をいう。例えば、セッション確立中とは、第１グループ６Ａに属する各クライアント１２Ａ、１２Ｂが、第１調剤薬局に係る薬剤管理システムにログイン中である状態であってよい。例えば、セッション確立中とは、第１グループ６Ａに属する各クライアント１２Ａ、１２Ｂとサーバ１０とがＴＣＰコネクションを確立中である状態であってもよい。
【００３４】
図２は、サーバシステム８における１つのサーバ１０の構成例を示す図である。図３は、グループ管理情報１００の例を示す図である。図４は、セッション管理情報１２０の例を示す図である。以下、図２から図４を参照しながら、本実施形態に係るサーバ１０について説明する。
【００３５】
サーバ１０は、制御部２０と、記憶部２２と、第１通信部２８と、第２通信部３０とを備える。これらの構成要素２０、２２、２８、３０は、バス３２を介して双方向通信可能に接続されている。
【００３６】
第１通信部２８は、第１通信ネットワーク１６に接続し、ロードバランサ１４との間で行われるデータの送受信を制御する。
【００３７】
第２通信部３０は、第２通信ネットワーク１７に接続し、サーバシステム８内の他のサーバ１０との間で行われるデータの送受信を制御する。
【００３８】
記憶部２２は、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）又はＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）等の不揮発性記憶デバイスである。記憶部２２は、少なくとも１つのグループ管理情報１００と、少なくとも１つのセッション管理情報１２０とを保持する。
【００３９】
グループ管理情報１００は、各クライアント１２が属するグループを管理するための情報であり、図３に示すように、グループＩＤ１０２と、少なくとも１つのクライアントＩＤ１０４とを対応付ける。グループＩＤ１０２は、サーバシステム８が管理するグループを一意に識別するための情報である。クライアントＩＤ１０４は、サーバシステム８が管理するクライアント１２を一意に識別するための情報である。
【００４０】
サーバシステム８を構成する全てのサーバ１０は、同じグループ管理情報１００を保持する。したがって、各サーバ１０は、グループ管理情報１００を参照することにより、どのクライアントＩＤ１０４がどのグループＩＤ１０２に属しているかを知ることができる。
【００４１】
図１の場合、サーバ１０Ａ、１０Ｂ、１０Ｃは、それぞれ、記憶部２２に、第１グループ６ＡのグループＩＤ１０２を含むグループ管理情報１００と、第２グループ６ＢのグループＩＤ１０２を含むグループ管理情報１００とを保持する。
【００４２】
第１グループ６ＡのグループＩＤ１０２を含むグループ管理情報１００は、クライアント１２ＡのクライアントＩＤ１０４と、クライアント１２ＢのクライアントＩＤ１０４とを含む。第２グループ６ＢのグループＩＤ１０２を含むグループ管理情報１００は、クライアント１２ＣのクライアントＩＤ１０４と、クライアント１２ＤのクライアントＩＤ１０４とを含む。
【００４３】
セッション管理情報１２０は、サーバ１０が確立しているセッションを管理するための情報であり、図４に示すように、クライアントＩＤ１２２と、当該クライアントＩＤ１２２のクライアント１２と確立しているセッションを識別するための情報とを対応付ける。
【００４４】
セッションを識別するための情報は、例えば、当該セッションのクライアント１２側のＩＰアドレス１２４及びポート番号１２６と、当該セッションのサーバ１０側のＩＰアドレス１２８及びポート番号１３０とを含む。
【００４５】
サーバシステム８を構成する各サーバ１０は、記憶部２２に、自分がクライアント１２と確立しているセッションに対応するセッション管理情報１２０を保持する。したがって、サーバ１０は、セッション管理情報１２０を参照することにより、どのクライアントＩＤ１２２のクライアント１２とセッションを確立しているかを知ることができる。
【００４６】
制御部２０は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）及びメモリ等によって構成される。制御部２０は、所定のコンピュータプログラムを実行することにより、例えば、以下の機能を実現する。
【００４７】
制御部２０は、他のサーバ１０からブロードキャストで送信されたグループＩＤを含むグループ通知コマンドを受信した場合、セッション確立中のクライアント１２に係る情報を含むセッション管理情報１２０と、グループＩＤと当該グループＩＤのグループに属するクライアント１２とを対応付ける情報を含むグループ管理情報１００とに基づき、セッション確立中のクライアント１２が、その受信したグループ通知コマンドに含まれるグループＩＤに属しているか否かを判定する。第１通信部２８は、その判定の結果が肯定的な場合、そのグループＩＤに属しているセッション確立中のクライアント１２に対して、グループ通知情報を送信（プッシュ通知）する。
【００４８】
また、第２通信部３０は、セッション確立中のクライアント１２から入力情報を受信した場合、グループ管理情報１００に基づいて当該クライアント１２が属するグループＩＤを特定し、当該特定したグループＩＤを含むグループ通知コマンドを、他のサーバ１０へブロードキャストで送信する。
【００４９】
これにより、サーバシステム８は、同一グループに属する各クライアント１２が異なるサーバ１０とセッションを確立している場合であっても、そのグループに属する全てのクライアント１２にグループ通知情報をプッシュ通知することができる。
【００５０】
図５は、第１グループ６Ａに属するクライアント１２Ａ、１２Ｂと、サーバシステム８との間におけるデータ送受信の例を示すシーケンスチャートである。
【００５１】
クライアント１２Ａは、ロードバランサ１４に、セッションの確立を要求するコマンドであるセッション要求を送信する（ＳＴ１０）。
【００５２】
ロードバランサ１４は、ＳＴ１０のセッション要求を受信すると、例えば、サーバ１０Ａに、当該セッション要求を振り分ける（ＳＴ１２）。
【００５３】
サーバ１０Ａは、ＳＴ１２のセッション要求を受信すると、クライアント１２Ａへセッション要求に対する応答であるセッション応答を返す（ＳＴ１３）。これにより、クライアント１２Ａとサーバ１０Ａとの間にセッションＮ１が確立される。
【００５４】
クライアント１２Ｂは、ロードバランサ１４へセッション要求を送信する（ＳＴ１４）。
【００５５】
ロードバランサ１４は、ＳＴ１４のセッション要求を受信すると、例えば、サーバ１０Ｂへ当該セッション要求を振り分ける（ＳＴ１６）。
【００５６】
サーバ１０Ｂは、ＳＴ１６のセッション要求を受信すると、クライアント１２Ｂへセッション応答を返す（ＳＴ１７）。これにより、クライアント１２Ｂとサーバ１０Ｂとの間にセッションＮ２が確立される。
【００５７】
クライアント１２Ａは、セッションＮ１を通じて、サーバ１０Ａへ入力情報を送信する（ＳＴ２０）。
【００５８】
サーバ１０Ａは、ＳＴ２０の入力情報を受信すると、クライアント１２Ａが属するグループＩＤを含むグループ通知コマンドを、第２通信ネットワーク１７へブロードキャストで送信する（ＳＴ２２）。
【００５９】
次に、サーバ１０Ａは、セッションＮ１を通じて、クライアント１２Ａへグループ通知情報をプッシュ通知する（ＳＴ２４）。
【００６０】
第２の通信ネットワーク１７に接続されているサーバ１０Ｂ及びサーバ１０Ｃは、ＳＴ２２でブロードキャストで送信されたグループ通知コマンドを受信する。
【００６１】
サーバ１０Ｂは、ＳＴ２２のグループ通知コマンドを受信すると、当該グループ通知コマンドに含まれているグループＩＤ（第１グループ６Ａ）に属するクライアント１２とセッションを確立しているか否かを判定する（ＳＴ３０Ａ）。サーバ１０Ｂは、第１グループ６Ａに属するクライアント１２Ｂとの間にセッションＮ２を確立しているので、ＳＴ３０Ａの判定は「ＹＥＳ」となる。その場合、サーバ１０Ｂは、そのセッションＮ２を通じて、クライアント１２Ｂへ、上記と同じグループ通知情報をプッシュ通知する（ＳＴ３４）。
【００６２】
サーバ１０Ｃは、ＳＴ２２のグループ通知コマンドを受信すると、当該グループ通知コマンドに含まれるグループＩＤ（第１グループ６Ａ）に属するクライアント１２とセッションを確立しているか否かを判定する（ＳＴ３０Ｂ）。サーバ１０Ｃは、第１グループ６Ａに属するどのクライアント１２ともセッションを確立していないので、ＳＴ３０Ｂの判定は「ＮＯ」となる。その場合、サーバ１０Ｃは、特に何もしない。
【００６３】
以上の処理により、複数のサーバ１０Ａ、１０Ｂ、１０Ｃから構成されているサーバシステム８は、第１グループ６Ａに属するクライアント１２Ａから送信された入力情報によって第１グループ６Ａに係る所定の情報が更新された旨を、第１グループ６Ａに属する各クライアント１２Ａ、１２Ｂにプッシュ通知することができる。
【００６４】
図６は、サーバ１０の処理例を示すフローチャートである。これは、図５における各サーバ１０の処理に相当する。
【００６５】
サーバ１０の制御部２０は、クライアント１２との間に確立したセッションを通じて、入力情報を受信したか否かを判定する（ＳＴ１００）。
【００６６】
入力情報を受信した場合（ＳＴ１００：ＹＥＳ）、制御部２０は、グループ管理情報１００を参照し、当該入力情報の送信元のクライアント１２のクライアントＩＤが属するグループＩＤを特定する（ＳＴ１０１）。
【００６７】
次に、制御部２０は、ＳＴ１０１で特定したグループＩＤを含むグループ通知コマンドを生成する（ＳＴ１０２）。
【００６８】
次に、制御部２０は、ＳＴ１０２で生成したグループ通知コマンドを、第２通信ネットワーク１７へ、ブロードキャストで送信する（ＳＴ１０４）。
【００６９】
次に、制御部２０は、ＳＴ１００に係るセッションを通じて、クライアント１２へグループ通知情報をプッシュ通知し（ＳＴ１１４）、本処理を終了する。
【００７０】
入力情報を未受信である場合（ＳＴ１００：ＮＯ）、制御部２０は、第２通信ネットワーク１７から、グループ通知コマンドのブロードキャストを受信したか否かを判定する（ＳＴ１１０）。
【００７１】
グループ通知コマンドのブロードキャストを未受信である場合（ＳＴ１１０：ＮＯ）、制御部２０は、ＳＴ１００の処理に戻る。
【００７２】
グループ通知コマンドのブロードキャストを受信した場合（ＳＴ１１０：ＹＥＳ）、制御部２０は、グループ管理情報１００を参照し、当該グループ通知コマンドに含まれるグループＩＤ１０２に属するクライアントＩＤ１０４を抽出する（ＳＴ１１１）。
【００７３】
次に、制御部２０は、ＳＴ１１１で抽出したクライアントＩＤの中に、セッション管理情報１２０のクライアントＩＤ１２２が存在するか否かを判定する（ＳＴ１１２）。
【００７４】
当該判定結果が肯定的な場合（ＳＴ１１２：ＹＥＳ）、制御部２０は、その判定に適合したセッションＩＤのセッションを通じて、クライアント１２へグループ通知情報をプッシュ通知し（ＳＴ１１４）、本処理を終了する。
【００７５】
当該判定結果が否定的な場合（ＳＴ１１２：ＮＯ）、制御部２０は、本処理を終了する。
【００７６】
以上の処理により、所定のグループに属する各クライアントが異なるサーバとセッションを確立している場合であっても、同じグループに属する各クライアントに同じ情報をプッシュ通知することが可能なサーバシステムを実現することができる。
【００７７】
また、サーバシステム８に各サーバ１０のセッションを管理するための専用の装置を設けることなく、各サーバ１０が各クライアント１２とそれぞれセッションを確立でき、かつ、容易にスケールアウトが可能なサーバシステム８を実現することができる。
【００７８】
＜注記＞
以上、本発明に係る実施形態について図面を参照して詳述してきたが、上述した各装置の機能は、コンピュータプログラムにより実現され得る。
【００７９】
上述した各装置の機能をプログラムにより実現するコンピュータは、キーボードやマウス、タッチパッドなどの入力装置、ディスプレイやスピーカーなどの出力装置、ＣＰＵ（Central Processing Unit）、ＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）、ハードディスク装置やＳＳＤ（Solid State Drive）などの記憶装置、ＤＶＤ−ＲＯＭ（Digital Versatile Disk Read Only Memory）やＵＳＢ（Universal Serial Bus）メモリなどの記録媒体から情報を読み取る読取装置、ネットワークを介して通信を行うネットワークカードなどを備え、各部はバスにより接続される。
【００８０】
そして、読取装置は、上記各装置の機能を実現するためのプログラムを記録した記録媒体からそのプログラムを読み取り、記憶装置に記憶させる。あるいは、ネットワークカードが、ネットワークに接続されたサーバ装置と通信を行い、サーバ装置からダウンロードした上記各装置の機能を実現するためのプログラムを記憶装置に記憶させる。
【００８１】
そして、ＣＰＵが、記憶装置に記憶されたプログラムをＲＡＭにコピーし、そのプログラムに含まれる命令をＲＡＭから順次読み出して実行することにより、上記各装置の機能が実現される。
【００８２】
上述した実施形態は、本発明の説明のための例示であり、本発明の範囲を実施形態にのみ限定する趣旨ではない。当業者は、本発明の要旨を逸脱することなしに、他の様々な態様で本発明を実施することができる。
【産業上の利用可能性】
【００８３】
本発明は、調剤薬局向けの調剤システムに用いるのに好適である。
【符号の説明】
【００８４】
１  クライアントサーバシステム
６Ａ  第１グループ
６Ｂ  第２グループ
８  サーバシステム
１０  サーバ装置
１２  クライアント装置
１４  ロードバランサ
１５  第３通信ネットワーク
１６  第１通信ネットワーク
１７  第２通信ネットワーク
２０  制御部
２２  記憶部
２８  第１通信部
３０  第２通信部
１００  グループ管理情報
１２０  セッション管理情報
【図１】
2018097652.tif 000003
【図２】
2018097652.tif 000004
【図３】
2018097652.tif 000005
【図４】
2018097652.tif 000006
【図５】
2018097652.tif 000007
【図６】
2018097652.tif 000008