以下、各種実施形態について、図面を参照しながら詳細に説明する。
図1は、第1実施形態のシステム構成図である。図1に示すシステム100は、複数の移動端末と複数の中継装置と複数の制御装置を含む無線通信システムであり、まず概要を説明すると次のとおりである。
図1には、具体例として3つの移動端末101a〜101cと、3つの中継装置102a〜102cと、3つの制御装置103a〜103cを示したが、各装置の個数は任意でよい。また、システム100は、さらにメッセージ送信装置104を含んでもよい。
さらに、図1に示すように、制御装置103aは記憶部105を備え、記憶部105は管理対象情報106、隣接関係情報107および端末対応づけ情報108を記憶する。また、制御装置103aは、認識部109、判定部110、移譲部111、受任部112、対応づけ部113および通信部114も備える。図示は省略したが、他の制御装置103bと103cも制御装置103aと同様の構成である。
続いて、システム100の詳細について説明する。
移動端末101a〜101cの各々は、無線通信機能を有する端末機であり、中継装置102a〜102cのいずれかを介して、制御装置103a〜103cのいずれかと通信を行うことができる。すなわち、中継装置102a〜102cの各々は、移動端末との間で無線通信を行い、制御装置との間で有線、無線またはその組み合わせによる通信を行うことで、移動端末と制御装置との間の通信の中継を行うアクセスポイントである。なお、中継装置102a〜102cは、予め適宜の位置に設置されている。
移動端末101a〜101cと中継装置102a〜102cの間の無線通信は、任意の規格によるものでよい。例えば、Wireless Personal Area Network(WPAN)、Wireless Local Area Network(WLAN)、Personal Handy-phone System(PHS)などの規格が利用可能である。
制御装置103a〜103cの各々は、中継装置102a〜102cの一部または全部を管理し、管理対象の中継装置を介して、移動端末との間で通信を行う。なお、中継装置102a〜102cの各々は、制御装置103a〜103cのいずれか1つにより管理される。詳しくは後述するが、どの制御装置がどの中継装置を管理するのかは、動的に変動する。
また、システム100において、制御装置103a〜103cの各々は、中継装置102a〜102cのすべてと通信可能なように接続されている。中継装置102a〜102cと制御装置103a〜103cの間は、有線、無線または両者の組み合わせにより、直接的または間接的に接続されていればよく、具体的な接続の仕方は任意である。例えば、中継装置102a〜102cと制御装置103a〜103cは、1つの共通の有線Local Area Network(LAN)に属していてもよい。
また、メッセージ送信装置104は、制御装置103a〜103cの各々と接続されているが、具体的な接続の仕方は任意である。メッセージ送信装置104は、制御装置103a〜103cの各々と、有線、無線または両者の組み合わせにより、直接的または間接的に接続されていればよい。例えば、上記に例示した有線LANにメッセージ送信装置104が属していてもよい。
以下では、移動端末101aが中継装置102aの無線通信範囲内に位置し、制御装置103aが中継装置102aを管理している場合を具体例として、システム100についてさらに詳しく説明する。この具体例の場合、図1に示すように、移動端末101aと制御装置103aが中継装置102aを介して通信を行うことができる。
なお、移動端末101aと制御装置103aの間で送受信されるメッセージの形式は、実施形態に応じて任意である。例えば、メッセージの形式はIPパケットの形式でもよいし、ネットワーク層より上位の層のプロトコルも任意である。
また、メッセージの内容は任意である。例えば、移動端末101aを識別する情報、または移動端末101aを携帯しているユーザを識別する情報が、移動端末101aから制御装置103aへ送信されてもよい。また、移動端末101aを携帯しているユーザに特有の、パーソナライズされたメッセージ、または移動端末101aの位置に関連するメッセージが、制御装置103aから移動端末101aへ送信されてもよい。
また、制御装置103aから移動端末101aへ送信されるメッセージの内容は、第1実施形態では、メッセージ送信装置104から制御装置103aへ与えられる。しかし、実施形態によっては、メッセージ送信装置104はなくてもよく、制御装置103a自身が、移動端末101aへ送信するメッセージを生成してもよい。
以上のように、移動端末101aが中継装置102aの無線通信範囲内に位置し、制御装置103aが中継装置102aを管理していれば、移動端末101aと制御装置103aが中継装置102aを介して適宜メッセージをやり取りすることが可能である。以下では、複数の移動端末の空間的な分布が変動するにつれて、各制御装置の管理対象の中継装置がどのように変動するのかについて、制御装置103aを具体例として説明する。
説明の便宜上、以下では、制御装置103aが管理する対象の中継装置を「管理対象中継装置」という。管理対象中継装置は動的に変化するが、例えば、ある時点において制御装置103aの管理対象中継装置は中継装置102aと102bであるとする。この場合、制御装置103aは、中継装置102aまたは102bの無線通信範囲に位置する任意の移動端末(例えば移動端末101a)と通信可能である。
図1には3台の移動端末101a〜101cしか図示していないが、例えば、中継装置102aの圏内(つまり無線通信範囲内)には100台の移動端末が存在し、中継装置102bの圏内には50台の移動端末が存在するかもしれない。その場合、制御装置103aは中継装置102aを介して100台の移動端末と通信し、中継装置102bを介して50台の移動端末と通信する。明らかに、管理対象中継装置を介して無線通信を行う移動端末の数が増えるほど、制御装置103aの負荷は高まる。
そして、仮に制御装置103aにおいて高負荷の状態が持続すれば、例えばメモリ領域が不足したり、受信キューや送信キューが満杯になってメッセージが破棄されたりする。すると、制御装置103aは、移動端末との間のメッセージ送受信というサービスを十分な品質で提供することができない状態に陥ってしまう。
そこで、第1実施形態では、たとえ制御装置103aに負荷が集中して制御装置103aが高負荷の状態に陥ったとしても、負荷の集中が持続しないようにするため、制御装置103aは次のように動作する。
制御装置103aの負荷が高い場合、認識部109は、制御装置103aの管理対象中継装置の中でどの中継装置が高負荷の原因なのかを特定し、特定した中継装置を「負荷集中中継装置」として認識する。具体的には、認識部109は、管理対象中継装置の中で、当該管理対象中継装置を介して無線通信を行う移動端末の数が相対的に多いもの、または、当該管理対象中継装置を介して無線通信を行う移動端末の数が閾値を超えるものを、負荷集中中継装置として認識する。
例えば、上記の例では、2つの管理対象中継装置の中で、中継装置102aを介して無線通信を行う移動端末の数は100台である。他方、中継装置102bを介して無線通信を行う移動端末の数は50台である。
よって、認識部109は「100台」と「50台」という値同士の相対比較から、中継装置102aを負荷集中中継装置として認識してもよい。あるいは、認識部109は、例えば「80台」という閾値と比較して、中継装置102aを負荷集中中継装置として認識してもよい。
なお、閾値が例えば「45台」であれば、認識部109は、中継装置102aと102bの両方を負荷集中中継装置として認識してもよい。また、認識部109は、「配下の移動端末の台数が管理対象中継装置の中で相対A位以上であり、かつ、配下の移動端末の台数がBを超えるもの」のように、相対順位と閾値を組み合わせた判定基準にしたがって、負荷集中中継装置を認識してもよい。
なおここで、AとBは予め決められた適宜の正数である。また、上記のAとBの例に限らず、閾値との比較は、実施形態により「閾値を超えるか否か」でもよいし「閾値以上か否か」でもよいことは無論である。また、本明細書において「ある移動端末がある中継装置の配下にある」とは、当該移動端末が当該中継装置の無線通信範囲に位置し、したがって当該中継装置を介して無線通信を行うという意味である。
いずれにせよ、認識部109は、配下の移動端末の数に基づいて負荷集中中継装置を認識する。その認識は、第1実施形態では、具体的には端末対応づけ情報108を参照することで行われる。
端末対応づけ情報108は、制御装置103aの現在の管理対象中継装置のそれぞれに対して、直接的または間接的に、当該管理対象中継装置の配下の移動端末の数を対応づける情報を含む。
例えば、端末対応づけ情報108において、各管理対象中継装置が、直接、配下の移動端末の数と対応づけられていてもよい。あるいは、端末対応づけ情報108において、各管理対象中継装置が、配下の個々の移動端末と対応づけられていてもよい。この場合、認識部109は、対応づけられている移動端末の数を数えることで、管理対象中継装置の配下の移動端末の数を間接的に認識することができる。
いずれにせよ、認識部109は、各管理対象中継装置について、端末対応づけ情報108を参照することで、負荷集中中継装置を認識することができる。また、認識部109は、認識した負荷集中中継装置を判定部110に通知する。
すると、判定部110は、システム100に含まれる複数の中継装置の中で、負荷集中中継装置に空間的に隣接する中継装置が管理対象中継装置の中に含まれているか否かを判定する。なお、以下では、ある中継装置に隣接する他の中継装置を「隣接中継装置」ということにする。
例えば、上記の例で中継装置102aが負荷集中中継装置として認識されたとする。そして、中継装置102aの隣接中継装置は中継装置102bと102cであるとする。すると、上記の例において判定部110は、「負荷集中中継装置の隣接中継装置は中継装置102bと102cの2台だが、このうち中継装置102bは管理対象中継装置であり、中継装置102cは管理対象中継装置ではない」と判定する。
判定部110は、上記のような判定を、具体的には管理対象情報106と隣接関係情報107を参照することで行う。
具体的には、管理対象情報106は、制御装置103a自身の現在の管理対象中継装置を示す。なお、システム100の運用開始時における管理対象情報106は、デフォルトの初期状態でもよい。
また、デフォルトの設定は、システム100全体として各中継装置が1つの制御装置の管理対象中継装置となるように、各制御装置の管理対象情報106が決められてさえいれば、任意である。もちろん、各制御装置の管理対象中継装置の台数がなるべく均等になるように、デフォルトの設定が決められていてもよい。
管理対象情報106は、例えば、システム100内に含まれる各中継装置についての、中継装置を識別する情報と当該中継装置が管理対象か否かを示すフラグの組を含んでもよい。あるいは、管理対象情報106は、管理対象中継装置を識別する情報のみを含むことで、「どの中継装置が管理対象であるか」を示してもよい。
また、隣接関係情報107は、システム100内に含まれる中継装置同士の空間的な隣接関係を示す。具体的には、第1および第2実施形態では、「隣接」という用語を、「ある2つの中継装置の無線通信範囲に重なりがあるときのみ、その2つの中継装置同士は隣接する」と定義する。ある2つの中継装置同士が隣接するか否かは、その2つの中継装置の空間的な位置に依存し、また、予め実験的に調べておくことができる。
システム100において、中継装置102a〜102c(および不図示の他の中継装置)の位置は、静的に決められている。よって、どの中継装置同士が隣接し、どの中継装置同士が隣接しないのかを表す隣接関係情報107は、静的な情報である。隣接関係情報107は、具体的には、例えば隣接リストや隣接行列の形で表すことができる。
したがって、負荷集中中継装置を認識部109から通知された判定部110は、隣接関係情報107を参照することで、負荷集中中継装置の隣接中継装置を特定することができる。そして、判定部110は、特定した隣接中継装置の各々について、管理対象情報106を参照することで、当該隣接中継装置が管理対象中継装置の中に含まれるか否かを判定することができる。
例えば、上記の例のように中継装置102aが負荷集中中継装置であり、中継装置102aには中継装置102bと102cの2台が隣接しており、制御装置103aの管理対象中継装置は中継装置102aと102bの2台であるとする。すると、判定部110は、「負荷集中中継装置の隣接中継装置の中では、中継装置102bという1台の中継装置が、管理対象中継装置である」と判定する。
このように、負荷集中中継装置の隣接中継装置の中に、管理対象中継装置でもあるものがあった場合、判定部110は、当該中継装置の管理の移譲を行うよう移譲部111に要求する。例えば上記の例では、判定部110は中継装置102bの管理の移譲を行うよう、移譲部111に要求する。
すると、移譲部111は、要求に基づいて中継装置102bの管理を他の制御装置に移譲することを示す通知を送信する。なお、移譲部111は、任意の方針にしたがって移譲先の制御装置を選択することができる。
例えば、制御装置103aの移譲部111は、他の制御装置103bや103cと通信し、他の制御装置103bや103cの管理対象情報106を取得してもよい。その結果、もし、負荷集中中継装置の隣接中継装置のいずれをも管理の対象としていない制御装置があると判明すれば、制御装置103aの移譲部111は、判明した制御装置を移譲先として選択してもよい。
または、制御装置103aの移譲部111は、他の制御装置103bや103cと通信し、他の制御装置103bや103cの負荷の量を取得してもよい。その結果、もし、負荷の量が基準を下回る制御装置があると判明すれば、制御装置103aの移譲部111は、判明した制御装置を移譲先として選択してもよい。
あるいは、システム100内に待機状態の制御装置がもしあれば、移譲部111は、それを移譲先の制御装置として選択してもよい。当然ながら待機状態の制御装置は、どの中継装置も管理対象として管理していないので、上記の「負荷集中中継装置の隣接中継装置のいずれをも管理の対象としていない」という条件にも当てはまる。
移譲部111は、待機状態の制御装置を移譲先として選択した場合は、選択した制御装置をリモート制御により起動させる処理をさらに行う。なお、「待機状態」と「起動」は、実施形態に応じて以下の(a1)の意味でもよいし(a2)の意味でもよい。
(a1)「待機状態」が、「電源は入っているがスリープモード(省電力モード)である」という意味でもよい。この場合、「起動」とは、「スリープモードから通常稼働モードへの移行」を意味する。
(a2)「待機状態」が、「電源が切断されている」という意味でもよい。この場合、「起動」とは、「電源を投入し、さらに認識部109、判定部110、移譲部111、受任部112、対応づけ部113および通信部114の稼動を開始させること」を意味する。例えば、制御装置103aは、汎用的なコンピュータにより実現されてもよい。その場合、「待機状態」が「電源が切断されている」の意味ならば、「起動」の意味は次のとおりである。すなわち、「起動」とは、「電源を投入し、Operating System(OS)を起動し、認識部109、判定部110、移譲部111、受任部112、対応づけ部113および通信部114を実現するためのプログラムの実行を開始させること」を意味する。
また、制御装置103aの移譲部111は、ランダムに移譲先の制御装置を選択してもよい。
そして、移譲部111からの上記の通知の送信先は、実施形態によって、移譲先の制御装置でもよく、管理を移譲する対象の中継装置でもよく、その両者でもよい。
例えば、上記の例のように制御装置103aが中継装置102bの管理を制御装置103cに移譲する場合、移譲部111は、上記の通知を、移譲の対象である中継装置102bに送信してもよい。すると、中継装置102bは、「今後は制御装置103aではなく制御装置103cとの間で通信を行えばよい」と認識することができる。そして、中継装置102aは、「中継装置102bを管理する制御装置が、制御装置103aから制御装置103cに変更された」と知らせる通知を、制御装置103cに送信してもよい。
あるいは、移譲部111は、上記の通知を移譲先の制御装置103cに送信してもよい。そして、制御装置103cは「今後は制御装置103aではなく制御装置103cとの間で通信を行うように」と指示する通知を中継装置102bに送信してもよい。
もちろん、移譲部111は、上記の通知を制御装置103cと中継装置102bの双方に送信してもよい。いずれにせよ、上記のような方法での移譲によれば、各制御装置の管理対象中継装置を、システム100内のどこか1箇所で一元管理することなく、システム100内で自律分散的に、状況の変化に応じて動的に更新してゆくことができる。
以上のようにして、例えば制御装置103bの管理が制御装置103aから他の制御装置103cに移譲されたとすると、制御装置103aにおける負荷は、負荷集中中継装置である中継装置102aの配下の移動端末の移動とともにやがて軽減していく。よって、制御装置103aの負荷が一時的に高まったとしても、高負荷の状態の持続は回避される。
例えば、負荷集中中継装置である中継装置102aの配下に100台の移動端末があり、中継装置102aに隣接する中継装置102bの管理が制御装置103aから制御装置103cに移譲されたとする。すると、時間の経過とともに、上記100台の移動端末は、中継装置102aに隣接するいずれかの中継装置の配下へと移ると期待される。
例えば、100台のうち80台が徐々に中継装置102bの無線通信範囲内へと移動していき、残りの20台が徐々に中継装置102cの無線通信範囲内へと移動していくかもしれない。上記の例によれば、もともと中継装置102cは制御装置103aの管理対象中継装置ではないので、中継装置102cの無線通信範囲内へと移動する20台の移動端末の分の負荷は、移動端末の移動につれて自然になくなってゆく。
また、上記の例によれば、負荷集中中継装置の隣接中継装置である中継装置102bの管理が制御装置103aから制御装置103cへ移譲される。そのため、中継装置102bの無線通信範囲内へと移動する80台の移動端末の分の負荷も、移動端末の移動につれて消滅する。したがって、制御装置103aの負荷が一時的に高まったとしても、時間の経過とともに移動端末が移動するにつれて、制御装置103aの負荷も減ってゆく。
なお、仮に中継装置102bの管理を移譲しなければ、100台の移動端末が徐々に移動して中継装置102aの無線通信範囲から外れたとしても、制御装置103aの負荷は、中継装置102cの無線通信範囲内へと移動する20台の移動端末の分しか減らない。つまり、負荷集中中継装置である中継装置102aの配下からその隣接中継装置である中継装置102bの配下に移った80台の移動端末の分の負荷は、相変わらず制御装置103aにかかってしまう。しかし、第1実施形態によれば、上記のように中継装置102bの管理が移譲されるので、そのような負荷の持続を防ぐことができる。
ところで、上記の説明から明らかなとおり、制御装置103aが他の制御装置103bまたは103cから、いずれかの中継装置の管理を移譲される場合もある。具体的には、移譲部111が通知を送る先が制御装置か中継装置かその双方かに応じて、制御装置103aの受任部112は、移譲元の制御装置または移譲対象の中継装置の少なくとも一方から、任意の中継装置の管理を移譲する旨の通知を受信することがある。
例えば、あるとき、制御装置103bが中継装置102bの管理を制御装置103aに移譲したとする。この場合、制御装置103aの受任部112は、中継装置102bの管理が制御装置103aに移譲されたことを知らせる通知を、移譲対象の中継装置102bまたは移譲元の制御装置103bの少なくとも一方から受信する。
そして、受任部112は、受信した当該通知により管理が移譲された中継装置102bを管理対象中継装置に含める。つまり、受任部112は、管理対象情報106を更新し、中継装置102bを管理対象中継装置として登録する。
なお、この例において、もし制御装置103bの移譲部111の通知先が移譲先の制御装置103aのみであれば、制御装置103bから通知を受信した制御装置103aの受任部112は、移譲の対象である中継装置102bに対する通知も行う。つまり、受任部112は、「今後は制御装置103bではなく制御装置103aとの間で通信を行うように」と指示する通知を中継装置102bに送信する。
以上のようにして、管理対象情報106は動的に変更される。その一方で、システム100内の各移動端末はそれぞれ独立に移動する。よってハンドオーバが任意のタイミングで生じうる。
例えば、移動端末101bが、中継装置102bの無線通信範囲から中継装置102aの無線通信範囲へと移動したとする。すると、ハンドオーバに関する処理(公知の処理でもよい)が行われ、その結果、中継装置102aは、新たに移動端末101bが中継装置102b自身の配下に入ったことを認識する。
ここで仮に中継装置102aが図1のように現在制御装置103aにより管理されているとすると、中継装置102aは、制御装置103aに対し、「移動端末101bが新たに中継装置102aの配下に入った」と通知する。
すると、制御装置103aの対応づけ部113が、この中継装置102aからの通知を受信する。なお、第1実施形態では、端末対応づけ情報108は、各管理対象中継装置を配下の個々の移動端末と対応づける情報を含むものとする。よって、対応づけ部113は、通知にしたがい、中継装置102aにさらに移動端末101bを対応づけるように端末対応づけ情報108を更新する。
こうして端末対応づけ情報108が更新されると、例えば、移動端末101b宛のメッセージの内容がメッセージ送信装置104から制御装置103aに通知された場合、制御装置103aの通信部114は次のように動作する。
すなわち、通信部114は、メッセージ送信装置104からの通知を受けると、端末対応づけ情報108を参照し、宛先の移動端末101bがどの中継装置の配下にあるのかを調べる。例えば、説明の便宜上、移動端末101bが上記のように現在中継装置102aの配下にあるとすると、通信部114は、端末対応づけ情報108から、「移動端末101b宛のメッセージは中継装置102aに送信すればよい」と認識する。なお、通信部114は、さらに管理対象情報106を参照して、中継装置102aが管理対象中継装置に含まれることを確認してもよい。
そして、通信部114は、移動端末101b宛のメッセージを中継装置102aへ送信し、中継装置102aは無線通信により当該メッセージを送信する。すると、中継装置102aの無線通信範囲内に位置する移動端末101bは、当該メッセージを受信することができる。
このような通信部114を介したメッセージ配信が行われるシステム100においては、上記のような中継装置の管理の移譲が、システム100全体のパフォーマンスを安定させるのに特に有効に働く。なぜなら、「ある中継装置の配下の移動端末の数が増えるほど、当該中継装置を管理対象中継装置とする制御装置の負荷も高まる」という定量的な関係があるためである。
以上のように、第1実施形態によれば、システム100内の複数の移動端末の空間的な分布の変化にともなって複数の制御装置に負荷の偏りが生じた場合にも、高負荷の持続は防止される。よって、システム100全体としては、システム100の一部がダウンするといった事態を防ぎつつ、各移動端末へのメッセージ配信サービスを安定的に供給することができる。
なお、上記のとおり第1実施形態では、制御装置に高負荷をもたらした負荷集中中継装置そのものの管理は、他の制御装置に移譲されない。その理由は、システム100において各制御装置が、中継装置と移動端末の管理を、中継装置を単位として行っているからである。
例えば、「中継装置102aの配下の移動端末に関して、一部を制御装置103aが管理し、残りの一部を制御装置103bが管理する」というような、1つの中継装置を複数の制御装置で分担する管理は、システム100では採用されていない。そのため、管理の移譲も1つの中継装置を単位として行われる。
このように中継装置を単位とした管理が行われるシステム100においては、仮に負荷集中中継装置そのものの管理を移譲したとしても、システム100全体として見れば、「いずれかの制御装置に負荷が偏っている」という状況にさほど変化はない。そして、負荷集中中継装置に起因する制御装置の負荷の量は、負荷集中中継装置の無線通信範囲から移動端末が出て行かない限り、減らない。
そこで、第1実施形態では、「システム100全体としての現時点での負荷の偏りの解消にあまり寄与しない移譲ならば、あえて行わなくてもよい」という発想に基づき、その代わりに、未来の負荷の偏りを減らす見込みのある移譲を行うことにしている。
すなわち、具体的に「いつ、どの移動端末が、負荷集中中継装置の隣接中継装置のうちのいずれの配下に移動するのか」ということは不明かもしれない。しかし、未来について大まかに「時間の経過とともに、負荷集中中継装置の配下にある移動端末は、負荷集中中継装置の隣接中継装置のいずれかの配下に移動していく」とは予測される。
つまり、「現在の負荷集中中継装置の隣接中継装置を管理している制御装置の負荷が、近い将来、上昇するだろう」と大まかに予測される。そこで、負荷集中中継装置の配下からの移動端末の移動にともなって、システム100全体として制御装置間の負荷の偏りが均されるようにするためには、現在の負荷集中中継装置とその隣接中継装置を別の制御装置が管理するようにすればよい。よって、第1実施形態では、上記のような方法で中継装置の管理の移譲がなされる。
その結果、一時的にシステム100内での負荷の偏りが生じて、ある制御装置に負荷が集中したとしても、高負荷が将来にわたって継続することはなくなる。つまり、システム100全体としては、各制御装置による自律分散的な制御により、時間の経過とともに負荷の偏りが解消される。そのため、システム100全体としてのパフォーマンスを安定的に維持することが可能である。
続いて、図2〜10を参照して第2実施形態について説明する。具体的には、まず図2〜3を参照してシステムの概要を説明する。次に、システム内の各装置の詳細について、適宜図6〜8を参照して各種情報の例の説明も交えながら、図4〜5を参照して説明する。その後、図9〜10を参照して移譲のための処理について説明する。なお、第1実施形態との共通点については説明を省略することもある。
図2は、第2実施形態のシステム構成図である。図2に示す電子カルテシステム200も、図1のシステム100と同様に、複数の移動端末と複数の中継装置と複数の制御装置を含む無線通信システムの一例である。
なお、図2では「204a」のように英字の添え字を含む参照符号を用いているが、後述の図4〜5では「204」のように英字の添え字がない参照符号を用いることがある。参照符号の英字の添え字のみが異なる要素同士は、互いに同様の構成を有している。以下では、個々の装置を区別しない文脈には「204」のような参照符号を用い、個々の装置を区別する文脈には「204a」のような参照符号を用いる。
さて、一般に「電子カルテシステム」とは、従来は紙のカルテに記入していた診療の経過その他の患者情報を、コンピュータとデータベースを用いて管理するシステムあり、情報の編集や管理のためのインターフェイスを備える。昨今では病院や診療所などの各種医療機関で電子カルテシステムの導入が進みつつある。
なお、以下では説明の簡略化のため、第2実施形態の電子カルテシステム200が病院で使われるものとし、電子カルテシステム200により管理される対象者を「患者」という。図2には6人の患者201a〜201fを図示してあるが、患者の人数は任意に変動しうる。
患者201aは、無線通信機能を有する移動端末の一種であるカードホルダ202aを携帯する。詳しくは後述するが、カードホルダ202aには、電磁気的にデータが記録された診察カードが挿入される。他の患者201b〜201fも同様に、それぞれカードホルダ202b〜202fを携帯する。カードホルダ202は、第1実施形態における移動端末101a〜101cに対応する。
このようなカードホルダ202を利用することで、カードホルダ202を用いた無線通信を使って、個々の患者がどこにいるかを電子カルテシステム200が把握することが可能になる。すると、患者がいる位置を示す位置情報に応じて、患者ごとに個別の情報を各カードホルダ202に配信するサービスを電子カルテシステム200が提供することも可能となる。また、カードホルダ202からメッセージを送信し、電子カルテシステム200が送信されたメッセージの内容に応じた処理を行うことも可能となる。
例えば、電子カルテシステム200は、位置情報に応じて患者を誘導するためのメッセージを配信してもよい。より具体的には、検査室にいる患者に対して「検査終了後は、呼ばれるまで待合室でお待ちください」のような通知文を含むメッセージを配信するといった例が考えられる。
このように位置情報に応じたサービスを提供するためには、ある程度細かな粒度で個々の患者の位置が区別されることが好ましい。そこで、第2実施形態では、病院内の適宜の位置に、比較的小さなエリアを無線通信範囲として有する複数のアクセスポイント203が予め設置されている。なお、第2実施形態のアクセスポイント203は第1実施形態における中継装置102a〜102cに対応する。
図2には、9台のアクセスポイント203a〜203iを例示してあるが、アクセスポイント203の台数と配置は、提供するサービスに応じて任意である。例えば、アクセスポイント203は、病院内の各部屋に配置されてもよい。また、アクセスポイント203は、適宜の間隔で通路内にさらに配置されてもよい。
さらに、電子カルテシステム200は、第1実施形態における制御装置103a〜103cに対応する、複数の配信サービス制御サーバ204を含む。図2には、3台の配信サービス制御サーバ204a〜204cを例示してあるが、配信サービス制御サーバ204の台数は任意である。
第2実施形態では、個々の患者の位置情報は、無線送受信装置であるアクセスポイント203によってではなく、配信サービス制御サーバ204によって管理される。具体的には、配信サービス制御サーバ204は、アクセスポイント203を単位として患者の位置情報を管理し、個々の患者へのメッセージの配信を制御する。
ここで、広いエリアをカバーしようとするほど、電子カルテシステム200に含まれるアクセスポイント203の数も増える。そして、多数のアクセスポイント203を1台の配信サービス制御サーバ204が管理することは困難なので、電子カルテシステム200は複数の配信サービス制御サーバ204を含む。
ところが、たとえ複数の配信サービス制御サーバ204が存在しても、多数の患者が1箇所に集中すれば、ある1つの配信サービス制御サーバ204に負荷が集中することがありうる。そして、患者の偏りはよく見られる現象であり、しかも、「具体的にはいつどこに患者が偏るのか」ということは予測不能である。よって、任意に生じうる負荷の偏りに対して動的に対処する仕組みを電子カルテシステム200が備えることが好ましい。
そこで、詳しくは後述するが、第2実施形態でも第1実施形態と類似の処理が行われる。つまり、一時的な負荷の偏りが生じても、次段階(すなわち近い将来)の負荷の偏りをなくすことで、電子カルテシステム200全体として安定的にサービスを提供し続けることができるようにするための処理が、第2実施形態でも行われる。
また、電子カルテシステム200は、第1実施形態のメッセージ送信装置104に対応する医事業務サーバ205も備える。医事業務サーバ205は、個々の患者に案内するメッセージを生成して配信サービス制御サーバ204a〜204cにマルチキャストするほか、医療に関わる様々な業務の処理を行う。なお、電子カルテシステム200で使われるネットワーク構成によっては、ブロードキャストが行われてもよい。
第1実施形態と同様に、カードホルダ202a〜202fの各々は、アクセスポイント203a〜203iのいずれかを介して、配信サービス制御サーバ204a〜204cのいずれかと通信を行うことができる。また、カードホルダ202とアクセスポイント203の間の無線通信は、任意の規格によるものでよく、例えば、WPAN、WLAN、PHSなどの各種規格が利用可能である。
なお、図2には、カードホルダ202a〜202fがそれぞれ、アクセスポイント203a、203d、203f、203g、203h、203hの無線通信範囲に位置する場合を例示してある。
また、配信サービス制御サーバ204a〜204cの各々は、アクセスポイント203a〜203iの一部または全部を管理し、管理対象のアクセスポイントを介して、カードホルダとの間で通信を行う。アクセスポイント203a〜203iの各々は、配信サービス制御サーバ204a〜204cのいずれか1つにより管理される。
なお、第1実施形態では、「管理対象中継装置」、「負荷集中中継装置」および「隣接中継装置」という用語を用いた。以下、第2実施形態に関する説明では、これらの用語に相当するものを、「担当アクセスポイント」、「負荷集中アクセスポイント」および「隣接アクセスポイント」と表すことにする。
例えば、図2では、配信サービス制御サーバ204aをアクセスポイント203a〜203cと実線で結ぶことにより、「配信サービス制御サーバ204aの担当アクセスポイントがアクセスポイント203a〜203cである」ということを表している。同様に、図2の例によれば、配信サービス制御サーバ204bの担当アクセスポイントはアクセスポイント203d〜203fであり、配信サービス制御サーバ204cの担当アクセスポイントはアクセスポイント203g〜203iである。
なお、電子カルテシステム200において、配信サービス制御サーバ204a〜204cの各々は、アクセスポイント203a〜203iのすべてと通信可能なように接続されている。配信サービス制御サーバ204a〜204cとアクセスポイント203a〜203iの間は、有線、無線または両者の組み合わせにより、直接的または間接的に接続されていればよく、具体的な接続の仕方は任意である。
また、医事業務サーバ205は、配信サービス制御サーバ204a〜204cの各々と接続されているが、具体的な接続の仕方は任意である。医事業務サーバ205は、配信サービス制御サーバ204a〜204cの各々と、有線、無線または両者の組み合わせにより、直接的または間接的に接続されていればよい。
以下では説明の便宜上、アクセスポイント203a〜203i、配信サービス制御サーバ204a〜204cおよび医事業務サーバ205が、共通の1つのLANに属し、それぞれにはIPアドレスが割り当てられているものとする。
第2実施形態において、各配信サービス制御サーバ204a〜204cの担当アクセスポイントは動的に変化しうる。詳細は後述するが、負荷が集中した配信サービス制御サーバ204は、担当アクセスポイントの管理を他の配信サービス制御サーバ204に移譲することによって負荷集中の持続を防ぐ点で、第1実施形態の制御装置103a〜103cに類似する。
図3は、アクセスポイントの空間的配置の例を示す図である。なお、以下の図では、紙幅の都合上、「アクセスポイント」を「AP」と省略して図示することがある。
説明の便宜のため、以下では、電子カルテシステム200において、図2に示した9つのアクセスポイント203a〜203iが図3のように配置されているものとする。すなわち、具体的には次の(b1)〜(b9)のとおりである。
(b1)アクセスポイント203aは、外科診察室に設置される。アクセスポイント203aの無線通信範囲を、以下では「外科エリア206a」という。
(b2)アクセスポイント203bは、内科診察室に配置される。アクセスポイント203bの無線通信範囲を、以下では「内科エリア206b」という。
(b3)アクセスポイント203cは、受付事務を行う部屋に配置される。アクセスポイント203cの無線通信範囲を、以下では「受付エリア206c」という。
(b4)アクセスポイント203dは、受付事務を行う部屋から耳鼻科診察室へ至る通路上に配置される。アクセスポイント203dの無線通信範囲を、以下では「第1通路エリア206d」という。
(b5)アクセスポイント203eは、耳鼻科診察室に設置される。アクセスポイント203eの無線通信範囲を、以下では「耳鼻科エリア206e」という。
(b6)アクセスポイント203fは、会計事務を行う部屋に配置される。アクセスポイント203fの無線通信範囲を、以下では「会計エリア206f」という。
(b7)アクセスポイント203gは、内科待合室に配置される。アクセスポイント203gの無線通信範囲を、以下では「内科待合エリア206g」という。
(b8)アクセスポイント203hは、内科待合室から外科待合室へ至る通路上に配置される。アクセスポイント203hの無線通信範囲を、以下では「第2通路エリア206h」という。
(b9)アクセスポイント203iは、外科待合室に配置される。アクセスポイント203iの無線通信範囲を、以下では「外科待合エリア206i」という。
そして、図3に示すように、各アクセスポイントの無線通信範囲は、少しずつ重なっている。具体的には次の(c1)〜(c9)のとおりである。
(c1)図3によれば、外科エリア206aは、内科エリア206b、第2通路エリア206h、外科待合エリア206iとそれぞれ重なっている。したがって、外科エリア206aに対応するアクセスポイント203aの隣接アクセスポイントは、これら3つのエリアに対応するアクセスポイント203b、203hおよび203iの3台である。
(c2)同様に、無線通信範囲同士の重なりから、図3によれば、アクセスポイント203bの隣接アクセスポイントは、アクセスポイント203a、203c、203gおよび203hの4台である。
(c3)同様に、アクセスポイント203cの隣接アクセスポイントは、アクセスポイント203b、203d、203fおよび203gの4台である。
(c4)同様に、アクセスポイント203dの隣接アクセスポイントは、アクセスポイント203c、203eおよび203fの3台である。
(c5)同様に、アクセスポイント203eの隣接アクセスポイントは、アクセスポイント203dおよび203fの2台である。
(c6)同様に、アクセスポイント203fの隣接アクセスポイントは、アクセスポイント203c、203dおよび203eの3台である。
(c7)同様に、アクセスポイント203gの隣接アクセスポイントは、アクセスポイント203b、203cおよび203hの3台である。
(c8)同様に、アクセスポイント203hの隣接アクセスポイントは、アクセスポイント203a、203b、203gおよび203iの4台である。
(c9)同様に、アクセスポイント203iの隣接アクセスポイントは、アクセスポイント203aおよび203hの2台である。
なお、各アクセスポイントの無線通信範囲は、予め実験的に調べておくことができる。環境の変化によって無線通信範囲が変動する場合は、例えば定期的に無線通信範囲を調べなおしてもよい。
また、実施形態によっては、「隣接」の定義として別の定義を採用することもできる。例えば、「2台のアクセスポイント間の距離が閾値以下のときのみ、当該2台のアクセスポイント同士は隣接している」のような、距離に基づく定義を用いることで、無線通信範囲を調べる手間を省いてもよい。
続いて、図2と図3を参照して概要を説明した電子カルテシステム200内の各装置について、図4と図5を参照して構成を説明する。まず概要を説明すると、次のとおりである。
図4に示すとおり、カードホルダ202は、カード読み取り部301、暗号化部302、無線送信部303、在圏情報管理部304、無線受信部305、暗号解読部306および表示部307を備える。なお、図4には、カードホルダ202に挿入される診察カード207も図示してある。
例えば、診察カード207は、磁気カードでもよくIntegrated Circuit(IC)カードでもよい。カード読み取り部301は診察カード207の種類に応じた種類のカードリーダである。また、暗号化部302と暗号解読部306は、例えば、専用のハードウェア回路により実現されてもよい。表示部307は、例えば、液晶ディスプレイ(Liquid Crystal Display。LCD)やランプのような視覚的表示を行う装置でもよく、スピーカのような音声的表示を行う装置でもよく、双方の組み合わせでもよい。
なお、在圏情報管理部304と無線受信部305は、例えばアンテナと復調器を含む共通のハードウェアを用いて実現されてもよい。また、無線送信部303が、上記アンテナを共有してもよい。無線送信部303はさらに変調器などのハードウェアを含む。
また、同じく図4に示すとおり、アクセスポイント203は、移動情報・受付情報無線受信部401、移動情報・受付情報サーバ通知部402、通知対象サーバ情報管理部403、ビーコン送信部404、受信部405および無線送信部406を備える。
ビーコン送信部404と無線送信部406は、例えばアンテナと変調器を含む共通のハードウェアを用いて実現されてもよい。また、移動情報・受付情報無線受信部401が、上記アンテナを共有してもよい。移動情報・受付情報無線受信部401はさらに復調器などのハードウェアを含む。
また、移動情報・受付情報サーバ通知部402と通知対象サーバ情報管理部403と受信部405は、配信サービス制御サーバ204との間の通信用の通信インターフェイスを共有していてもよい。また、通知対象サーバ情報管理部403は記憶装置をさらに含む。
そして、図5に示すとおり、配信サービス制御サーバ204は、移動情報・受付情報受信部501、暗号解読部502、データ解析部503、患者位置管理部504、医事業務サーバ通知部505、担当アクセスポイント情報管理部506を備える。配信サービス制御サーバ204は、また、案内情報受信部507、暗号化部508、送信部509、負荷状態管理部510、負荷状態判定部511、他サーバ負荷状態確認部512、他サーバ担当アクセスポイント確認部513を備える。配信サービス制御サーバ204は、さらに、アクセスポイント割り当て決定部514、アクセスポイント割り当て実行部515、起動指示受信部516、待機中サーバリモート起動部517、待機判定部518、待機状態移行部519も備える。
また、同じく図5に示すとおり、医事業務サーバ205は、受信部601、医事業務処理部602および送信部603を備える。なお、配信サービス制御サーバ204と医事業務サーバ205の各部がどのようなハードウェアにより実現されるかについては、図11とあわせて後述する。
そして、図4と5の各部は、協働して、来院時の受付処理、メッセージの配信に関する処理、カードホルダ202の位置の移動にともなう処理、アクセスポイント203の管理の移譲に関する処理など、各種の処理を行う。以下、これらの処理を順に説明してゆく。
図4の診察カード207は、患者を識別する識別子(identifier。以下「ID」と略す)である患者IDを含む情報を記憶している。例えば、電子カルテシステム200が運用されている病院に来院した患者は、病院に用意されている任意のカードホルダ202に診察カード207を挿入する。すると、カードホルダ202に電源が入り、カードホルダ202のカード読み取り部301が、診察カード207から患者IDを読み取る。カード読み取り部301は、読み取った患者IDを暗号化部302に出力する。
また、各カードホルダ202には、予め一意なカードホルダIDが割り当てられており、各カードホルダ202は自らのカードホルダIDを不図示の記憶部に記憶している。そこで、暗号化部302は、カードホルダ202自身のカードホルダIDを不図示の記憶部から読み出し、カード読み取り部301から入力された患者IDとあわせて、患者の来院を通知する来院通知メッセージを生成する。そして、暗号化部302は、生成した来院通知メッセージを暗号化し、無線送信部303に出力する。
なお、以下では特に混乱のおそれはないので、暗号化、中継にともなうヘッダの付け替え、復号などの種々の処理の前と後を特に区別せずに一貫して「来院通知メッセージ」という同じ名前で参照する。他の種類のメッセージについても同様である。
無線送信部303は、暗号化部302から与えられた来院通知メッセージを、無線通信により送信する。すると、あるアクセスポイント203の無線通信範囲内にカードホルダ202があれば、送信された来院通知メッセージは当該アクセスポイント203の移動情報・受付情報無線受信部401において受信される。なお、来院通知メッセージは、患者の受付を行うよう医事業務サーバ205に知らせる受付情報の具体例である。
そして、移動情報・受付情報無線受信部401は、受信した来院通知メッセージを移動情報・受付情報サーバ通知部402に出力する。すると、移動情報・受付情報サーバ通知部402は、アクセスポイント203自身の通信相手がどの配信サービス制御サーバ204なのかを、通知対象サーバ情報管理部403に問い合わせる。問い合わせに対して、通知対象サーバ情報管理部403は、通信相手の配信サービス制御サーバ204を特定する情報を移動情報・受付情報サーバ通知部402に返す。
そこで、移動情報・受付情報サーバ通知部402は、移動情報・受付情報無線受信部401から入力された来院通知メッセージに対して、通知対象サーバ情報管理部403からの回答に基づいて適宜ヘッダの再設定などを行い、来院通知メッセージを送信する。例えば、アクセスポイント203と配信サービス制御サーバ204が有線LANを介してIP通信を行う場合、移動情報・受付情報サーバ通知部402は有線LANインターフェイスを含み、通知対象サーバ情報管理部403からの回答はIPアドレスを含む。
ここで、通知対象サーバ情報管理部403が管理する情報について、図6を参照して具体的に説明する。図6は、図4のアクセスポイント203の通知対象サーバ情報管理部403において記憶され、管理される通知対象サーバ情報の例を示す図である。通知対象サーバ情報管理部403は、移動情報・受付情報サーバ通知部402からの問い合わせに対して、例えば図6に示すような通知対象サーバ情報701を返す。
通知対象サーバ情報701は、アクセスポイント203の通信相手の配信サービス制御サーバ204を特定する情報である。換言すれば、通知対象サーバ情報701は、当該アクセスポイント203がどの配信サービス制御サーバ204により管理されているのかを示す。
第2実施形態では、アクセスポイント203と配信サービス制御サーバ204はIPにしたがって通信を行うので、通信先を特定するための情報として、通知対象サーバ情報701は、IPアドレスとポート番号を含む。なお、IPの上位層のプロトコルとしては、Transmission Control Protocol(TCP)やUser Datagram Protocol(UDP)が利用可能である。
具体的には、図6の例では、「10.25.225.103」という通知対象サーバIPアドレスと、「6946」というポート番号が通知対象サーバ情報701に含まれる。
例えば、説明の便宜上、図2のアクセスポイント203aの通知対象サーバ情報管理部403に図6の通知対象サーバ情報701が記憶されているとする。この場合、アクセスポイント203aは、配信サービス制御サーバ204a〜204cのうち、10.25.225.103というIPアドレスが割り当てられたものにより管理されているということである。例えば、仮に、配信サービス制御サーバ204cのIPアドレスが10.25.225.103であるとすれば、アクセスポイント203aは配信サービス制御サーバ204cの6946番のポートとの間でIPパケットを送受信する。
もちろん、実施形態により、通知対象サーバ情報701が含む情報は任意である。例えば、配信サービス制御サーバ204において、受信ポートと送信ポートのポート番号が異なる場合、通知対象サーバ情報701は2つのポート番号を含んでもよい。また、IP以外のプロトコルにしたがってアクセスポイント203と配信サービス制御サーバ204が通信を行ってもよく、通知対象サーバ情報701は通信プロトコルにしたがった適宜の情報を含む。
さて、ここで図4と図5の説明に戻ると、図4の移動情報・受付情報サーバ通知部402が送信した来院通知メッセージは、図5の配信サービス制御サーバ204の移動情報・受付情報受信部501で受信される。すると、移動情報・受付情報受信部501は、受信した来院通知メッセージを暗号解読部502に出力する。
暗号解読部502は、入力された来院通知メッセージを復号してデータ解析部503に出力する。すると、データ解析部503は、例えばメッセージのフォーマット等から、「入力されたメッセージは来院通知メッセージである」と認識し、復号された来院通知メッセージから、患者IDとカードホルダIDを読み取る。
また、データ解析部503は、来院通知メッセージから、送信元のアクセスポイント203を識別する情報を得る。アクセスポイント203を識別する情報は、例えばIDでもよいし、メッセージのヘッダから得られるIPアドレスでもよい。以下では説明の便宜上、ここでアクセスポイントIDが得られるものとするが、IPアドレスからアクセスポイントIDを間接的に得る実施形態も可能である。
さらに、データ解析部503は医事業務サーバ通知部505に対して、少なくとも患者IDを出力するとともに、当該患者が来院したことを通知する。すると、医事業務サーバ通知部505は、医事業務サーバ205向けに加工した来院通知メッセージを生成し、医事業務サーバ205に送信する。なお、医事業務サーバ205向けに加工した来院通知メッセージには、カードホルダIDやアクセスポイントIDが含まれていなくてもよいが、含まれていても構わない。
また、データ解析部503は、上記のようにして得た患者IDとカードホルダIDとアクセスポイントIDを使って、患者位置管理部504と担当アクセスポイント情報管理部506にそれぞれ情報の更新を要求する。
ここで、患者位置管理部504が管理する情報について、図7を参照して具体的に説明する。図7は、図5の配信サービス制御サーバ204の患者位置管理部504において記憶され、管理される患者位置情報の例を示す図である。
具体的には、図7の患者位置情報702は、アクセスポイント203を識別するアクセスポイントIDと、患者を識別する患者IDと、カードホルダ202を識別するカードホルダIDを対応づけるエントリを有する。なお、各種のIDは、実施形態に応じて、任意の文字、数字、記号の並びでよい。例えば、カードホルダIDは、カードホルダ202のMedia Access Control(MAC)アドレスでもよい。
第2実施形態では、図2のアクセスポイント203a〜203iにそれぞれのアクセスポイントIDとして「1」〜「9」という番号が割り当てられている。また、患者IDは、電子カルテシステム200において個々の患者の情報を管理するために予め各患者に割り当てられたIDであり、本実施形態では診察カード207に電磁気的に記録されている。そして、カードホルダIDはカードホルダ202にそれぞれ予め割り当てられたIDである。第2実施形態では、どのカードホルダをどの患者が使うかは任意なので、患者IDとカードホルダIDの双方が患者位置情報702に含まれる。
例えば、図7の例は、配信サービス制御サーバ204の担当アクセスポイントには、アクセスポイントIDがそれぞれ「2」、「7」、「9」のアクセスポイント203b、203g、203iが含まれる場合の例である。そして、「1」というアクセスポイントIDと「9801160」という患者IDと「118800」というカードホルダIDを対応づけているエントリは、次の(d1)〜(d2)を示す。
(d1)患者IDが「9801160」の患者が、「118800」というカードホルダIDの割り当てられたカードホルダ202を携帯している。
(d2)当該患者は、「2」というアクセスポイントIDが割り当てられたアクセスポイント203bの無線通信範囲内にいる。換言すれば、当該カードホルダ202は、アクセスポイント203bの配下にある。
同様に、図7に例示した他のエントリは、以下の(e1)〜(e3)を示している。
(e1)患者IDが「9876531」の患者が、「228800」というカードホルダIDの割り当てられたカードホルダ202を携帯しており、当該カードホルダ202はアクセスポイント203bの配下にある。
(e2)患者IDが「3423211」の患者が、「448800」というカードホルダIDの割り当てられたカードホルダ202を携帯しており、当該カードホルダ202はアクセスポイント203gの配下にある。
(e3)患者IDが「3567290」の患者が、「667700」というカードホルダIDの割り当てられたカードホルダ202を携帯しており、当該カードホルダ202はアクセスポイント203iの配下にある。
なお、患者位置情報702は、アクセスポイントIDとカードホルダIDを対応づけている。よって、患者位置情報702は、第1実施形態の端末対応づけ情報108に含まれる、各管理対象中継装置を配下の個々の移動端末と対応づける情報に相当する。
さて、続いてここで、図5の担当アクセスポイント情報管理部506が管理する情報について、図8を参照して具体的に説明する。図8は、図5の配信サービス制御サーバ204の担当アクセスポイント情報管理部506において記憶され、管理される担当アクセスポイント情報の例を示す図である。
具体的には、図8の担当アクセスポイント情報703は、電子カルテシステム200内の9台のアクセスポイント203a〜203iにそれぞれ対応する9個のエントリを有する。そして、各エントリは次の(f1)〜(f6)のフィールドを有する。
(f1)「アクセスポイントID」フィールドは、当該エントリに対応するアクセスポイント203を識別するアクセスポイントIDを示す。
(f2)「IPアドレス」フィールドは、当該エントリに対応するアクセスポイント203のIPアドレスを示す。図8に示すように、第2実施形態では、アクセスポイント203a〜203iには、「10.25.255.1」〜「10.25.255.9」というIPアドレスが割り当てられている。
(f3)「担当エリア」フィールドは、なくてもよいが、当該エントリに対応するアクセスポイント203に対応する無線通信範囲を表す。各エントリの担当エリアは、図3に関して説明した(b1)〜(b9)のとおりである。
(f4)「隣接AP」フィールドは、当該エントリに対応するアクセスポイント203に隣接する他のアクセスポイント203のアクセスポイントIDのリストである。各エントリの隣接APのリストは、図3に関して説明した(c1)〜(c9)を示している。
(f5)「管理フラグ」フィールドは、「0」または「1」という値を取る。「0」は、当該エントリに対応するアクセスポイント203が担当アクセスポイントではないことを示す。逆に、「1」は、当該エントリに対応するアクセスポイント203が担当アクセスポイントであることを示す。
(f6)「患者数」フィールドは、管理フラグの値が1のときのみ意味を持ち、当該エントリに対応するアクセスポイント203に参加している患者の数(すなわち当該エントリに対応するアクセスポイント203の配下のカードホルダ202の数)を示す。
なお、(f1)〜(f4)の間の対応づけは静的であり、(f1)と(f5)と(f6)の間の対応づけは動的である。静的な対応づけは、電子カルテシステム200で使われるネットワーク内の任意の場所に保存されていてもよい。
例えば(f1)に対応づけられる(f2)〜(f4)は、図8に示すように、個々の配信サービス制御サーバ204の担当アクセスポイント情報管理部506に、担当アクセスポイント情報703の一部として記憶されてもよい。あるいは、(f1)〜(f4)は、医事業務サーバ205(もしくは各配信サービス制御サーバ204からアクセス可能なネットワーク上の任意の記憶装置)に記憶されていてもよい。その場合、個々の配信サービス制御サーバ204の担当アクセスポイント情報管理部506は、必要に応じて、アクセスポイントIDをキーにして医事業務サーバ205に問い合わせを行い、(f2)〜(f4)のフィールドの値を取得してもよい。
また、(f1)と(f4)の間の対応づけは、第1実施形態の隣接関係情報107に相当し、(f1)と(f5)の間の対応づけは、第1実施形態の管理対象情報106に相当する。そして、(f1)と(f6)の間の対応づけは、第1実施形態の端末対応づけ情報108における、各管理対象中継装置と配下の移動端末の数を直接対応づける情報に相当する。
なお、電子カルテシステム200の運用が開始される時点では、例えば図2のように、9台のアクセスポイント203a〜203iを、3台の配信サービス制御サーバ204a〜204cで3台ずつ分担するように、均等な割り振りの初期設定がなされていてもよい。つまり、配信サービス制御サーバ204a〜204cそれぞれの担当アクセスポイント情報703が、管理フラグの値が1のエントリを3つずつ含むようにデフォルトで設定されていてもよい。そして、その設定に合わせてアクセスポイント203a〜203i各々の通知対象サーバ情報701が設定されていてもよい。
さて、ここで図5の説明に戻る。データ解析部503は、上記のようにして来院通知メッセージから患者IDとカードホルダIDとアクセスポイントIDを得ると、以下のとおり患者位置管理部504と担当アクセスポイント情報管理部506に情報の更新を要求する。
すなわち、データ解析部503は、取得したアクセスポイントIDと患者IDとカードホルダIDを患者位置管理部504に通知し、これら3つのIDを対応づけたエントリを図7の患者位置情報702に追加するよう要求する。患者位置管理部504は、要求にしたがってエントリを追加する。
また、データ解析部503は、取得したアクセスポイントIDを担当アクセスポイント情報管理部506に通知し、図8の担当アクセスポイント情報703において当該アクセスポイントIDに対応づけられている患者数の値を1だけ増やすよう要求する。担当アクセスポイント情報管理部506は、要求にしたがって患者数の値を更新する。
ところで、上記のように来院通知メッセージは、医事業務サーバ通知部505から医事業務サーバ205に送信される。すると、医事業務サーバ205の受信部601が来院通知メッセージを受信し、医事業務処理部602に出力する。すると、医事業務処理部602は、来院通知メッセージに含まれる患者IDから、当該患者が来院したことを認識し、来院受付のための処理を行う。
例えば、医事業務処理部602は、患者IDに対応づけて患者の診察記録を保存するデータベースや、診察予約の受付管理をするためのデータベースなどを含んでいる。よって、医事業務処理部602は、例えば、データベースを参照し、来院通知メッセージから読み取った患者IDを持つ患者が予約していた診療科を調べ、調べた結果が例えば内科であれば、当該患者IDを内科用の待ち行列(キュー)に追加してもよい。
医事業務処理部602は、こうして来院を確認した患者に対して、患者がカードホルダ202を返却するまでの間、任意の時点で任意の回数、患者に対して何らかの案内を行うための適宜のメッセージを生成し、送信部603に出力することができる。例えば、上記のように内科を受診しにきた患者に対して、医事業務処理部602は、来院受付のための処理を行うとすぐに「現在3人待ちです」といった通知文を含むメッセージを生成してもよい。また、医事業務処理部602は、診察や検査の進行につれて、「内科待合室でお待ちください」のような、患者を誘導するための通知文を含むメッセージを生成してもよい。
そして、医事業務処理部602が送信部603に患者宛の何らかのメッセージを出力すると、送信部603は、当該メッセージを電子カルテシステム200内のすべての配信サービス制御サーバ204a〜204cにマルチキャストする。送信部603がマルチキャストを行う理由は、第2実施形態において医事業務処理部602は下記(g1)と(g2)を対応づけていないからである。
(g1)患者はどこにいるのか。すなわち、当該患者が携帯しているカードホルダ202が、どのアクセスポイント203の無線通信範囲に存在するのか。
(g2)当該アクセスポイント203をどの配信サービス制御サーバ204が管理しているのか。
換言すれば、第2実施形態では、上記(g1)と(g2)の対応づけは、電子カルテシステム200内の各配信サービス制御サーバ204によって分散管理されており、医事業務サーバ205が一元管理しているわけではない。よって、医事業務処理部602は、個々の患者宛のメッセージをどの配信サービス制御サーバ204に送信すればよいのかを認識していない。そのため、送信部603はマルチキャストを行うのである。
さて、何らかのメッセージが送信部603からマルチキャストされると、電子カルテシステム200内の各配信サービス制御サーバ204において、当該メッセージが受信される。具体的には、案内情報受信部507が送信部603からのメッセージを受信する。
送信部603から送信されるメッセージは、宛先の患者を識別するため患者IDを含む。そこで、案内情報受信部507は、受信したメッセージから患者IDを取り出し、取り出した患者IDを含むエントリが図7の患者位置情報702に存在するか否かを患者位置管理部504に問い合わせる。すると、患者位置管理部504は患者位置情報702を検索する。
もし、当該患者IDを含むエントリが患者位置情報702になければ、患者位置管理部504はエントリが見つからなかったことを案内情報受信部507に通知する。すると、案内情報受信部507は、送信部603から受信したメッセージについての処理を終了する。なお、案内情報受信部507は、受信したメッセージを明示的に破棄してもよい。
他方、当該患者IDを含むエントリが患者位置情報702にあれば、患者位置管理部504は案内情報受信部507に当該エントリのアクセスポイントIDとカードホルダIDを通知する。すると、案内情報受信部507は、通知されたアクセスポイントIDを担当アクセスポイント情報管理部506に出力し、当該アクセスポイントIDに対応づけられたIPアドレスを問い合わせる。
案内情報受信部507は、与えられたアクセスポイントIDを検索キーにして図8の担当アクセスポイント情報703を検索し、ヒットしたエントリの管理フラグの値が1であることを確認し、当該エントリのIPアドレスの値を案内情報受信部507に返す。なお、第2実施形態では、図7の患者位置情報702に存在するエントリにおけるアクセスポイントIDに対応する図8の担当アクセスポイント情報703のエントリでは、必ず管理フラグの値は1である。よって、管理フラグの値の確認は省略してもよい。
案内情報受信部507は、医事業務サーバ205から受信したメッセージならびに上記のようにして得たカードホルダIDおよびアクセスポイント203のIPアドレスを、暗号化部508に出力する。すると、暗号化部508は、入力されたメッセージのペイロードを暗号化し、入力IPアドレスを使って適宜ヘッダを作成することで、暗号化メッセージを作成する。
そして、暗号化部508は作成した暗号化メッセージを送信部509に出力する。すると、送信部509は暗号化メッセージを送信する。
すると、送信された暗号化メッセージは、図4のアクセスポイント203の受信部405で受信される。受信部405は受信した暗号化メッセージを無線送信部406に出力する。無線送信部406は、電子カルテシステム200で用いられる通信プロトコルに応じて、必要であればヘッダの付け替えなどの処理を行ってから、暗号化メッセージを送信する。
送信された暗号化メッセージは、アクセスポイント203の無線通信範囲内に存在する各カードホルダ202の無線受信部305で受信される。そして、無線受信部305は受信したメッセージを暗号解読部306に出力する。すると、暗号解読部306は、入力されたメッセージを復号し、中に含まれる患者IDを取り出し、取り出した患者IDがカード読み取り部301の読み取った診察カード207の患者IDと一致するか否かを判断する。
両者が一致しない場合、受信したメッセージは診察カード207の持ち主の患者宛ではないので、暗号解読部306は処理を終える。他方、2つの患者IDが一致する場合、暗号解読部306は、メッセージを表示部307に出力する。すると、表示部307はメッセージを表示する。なお、メッセージは、例えば患者IDと「内科待合室でお待ちください」のような通知文を含むが、暗号解読部306は、通知文のみを表示部307に出力してもよい。
なお、暗号解読部306は、「受信したメッセージで指定されているカードホルダIDと、カードホルダ202自身のカードホルダIDが一致するか否か」に応じて、「受信したメッセージの宛先が当該カードホルダ202自身か否か」を判断してもよい。
ところで、以上説明したメッセージの配信に関する動作とは独立に、カードホルダ202の位置の確認に関する動作も行われる。
具体的には、アクセスポイント203のビーコン送信部404が定期的にビーコンを送信する。すると、アクセスポイント203の無線通信範囲内に存在するカードホルダ202の在圏情報管理部304がビーコンを受信する。なお、電子カルテシステム200で用いられる無線通信規格によりビーコンの形式は任意であるが、第2実施形態では、ビーコンにアクセスポイントIDが含まれるものとする。
在圏情報管理部304は、受信したビーコンに基づいて(例えばビーコン受信時の受信電波強度に基づいて)、カードホルダ202自身がどのアクセスポイント203の配下にあるのかを認識する。また、在圏情報管理部304は前回受信したビーコンに含まれていたアクセスポイントIDを記憶している。よって、在圏情報管理部304は、今までとは別の新たなアクセスポイント203の無線通信範囲内に移動したか否かを判断することができる。
在圏情報管理部304は、今までとは別の新たなアクセスポイント203の無線通信範囲内に移動したと認識すると、新たなアクセスポイント203へのエリア参加通知メッセージを生成し、暗号化部302に出力する。また、在圏情報管理部304は、上記の判断の後、記憶しているアクセスポイントIDを、今回受信したビーコンから得たアクセスポイントIDで上書きする。なお、エリア参加メッセージは、患者の移動を配信サービス制御サーバ204に知らせる移動情報の具体例である。
例えば、図2の例ではカードホルダ202aはアクセスポイント203aの配下にあるが、カードホルダ202aが外科エリア206aから第2通路エリア206hに向かって移動していくとする。すると、カードホルダ202aの在圏情報管理部304は、やがてアクセスポイント203aからのビーコンを受信することができなくなり、代わりにアクセスポイント203hからのビーコンが受信されるようになる。
上記のように第2実施形態ではビーコンにアクセスポイントIDが含まれるので、受信したビーコンから、カードホルダ202aの在圏情報管理部304は、アクセスポイント203aの配下からアクセスポイント203hの配下への移動を認識することができる。すると、カードホルダ202aの在圏情報管理部304は、アクセスポイント203hへのエリア参加通知メッセージを生成し、暗号化部302に出力する。
なお、第2実施形態のエリア参加通知メッセージは、カードホルダ202aのカードホルダIDと、カード読み取り部301が読み取った患者IDと、ビーコンから読み出したアクセスポイント203hのアクセスポイントIDを含むものとする。
そして、暗号化部302は、入力されたエリア参加通知メッセージを暗号化し、無線送信部303に出力する。すると、無線送信部303がエリア参加通知メッセージを送信するので、移動先の新たなアクセスポイント203(上記の例ではアクセスポイント203h)の移動情報・受付情報無線受信部401において、エリア参加通知メッセージが受信される。
そして、エリア参加通知メッセージは、来院通知メッセージの場合と同様にして配信サービス制御サーバ204に送信される。
例えば、上記のようにアクセスポイント203aの配下からアクセスポイント203hの配下へと移ったカードホルダ202aからのエリア参加通知メッセージをアクセスポイント203hが受信したとする。この場合、アクセスポイント203hの移動情報・受付情報無線受信部401は、受信したエリア参加通知メッセージを移動情報・受付情報サーバ通知部402に出力する。そして、移動情報・受付情報サーバ通知部402は、通知先の配信サービス制御サーバ204に関する通知対象サーバ情報701を通知対象サーバ情報管理部403に問い合わせる。
例えば、図2のようにアクセスポイント203hが配信サービス制御サーバ204cにより管理されているとする。すると、通知対象サーバ情報管理部403は、移動情報・受付情報サーバ通知部402に、アクセスポイント203hのIPアドレスとポート番号を返す。よって、移動情報・受付情報サーバ通知部402は、移動情報・受付情報無線受信部401から入力されたエリア参加通知メッセージに対して、通知対象サーバ情報管理部403から得たIPアドレスとポート番号を設定するなどの加工を適宜行い、送信する。
すると、アクセスポイント203hを管理している配信サービス制御サーバ204cの移動情報・受付情報受信部501において、エリア参加通知メッセージが受信される。そして、移動情報・受付情報受信部501は、受信したエリア参加通知メッセージを暗号解読部502に出力する。
すると、暗号解読部502は、入力されたエリア参加通知メッセージを復号してデータ解析部503に出力する。データ解析部503は、例えばメッセージのフォーマット等から、「入力されたメッセージはエリア参加通知メッセージである」と認識し、復号されたエリア参加通知メッセージから、患者IDとカードホルダIDとアクセスポイントIDを読み取る。
そして、データ解析部503は、読み取った3つのIDを患者位置管理部504に通知し、これら3つのIDを対応づけるエントリを患者位置情報702に追加するよう要求する。患者位置管理部504は、要求にしたがってエントリを追加する。
以上のようにして、例えば、アクセスポイント203aの配下からアクセスポイント203hの配下へのカードホルダ202aの移動が、移動先のアクセスポイント203hを管理する配信サービス制御サーバ204cに登録される。すると、その後医事業務サーバ205が患者201a宛のメッセージを配信サービス制御サーバ204a〜204cにマルチキャストしたとき、メッセージは、配信サービス制御サーバ204cとアクセスポイント203hを介してカードホルダ202aに届く。
他方、もともとカードホルダ202aが存在していた外科エリア206aに対応するアクセスポイント203aを管理する配信サービス制御サーバ204aは、以下の一連の動作を行う。そして、一連の動作の結果として、配信サービス制御サーバ204aは、カードホルダ202aが配信サービス制御サーバ204aの管理下から外れたことを認識する。
すなわち、配信サービス制御サーバ204の患者位置管理部504は、適宜のタイミングで(例えば数秒間隔で定期的に)、患者位置管理部504に保持している患者位置情報702の各エントリについて存在確認メッセージを作成する。具体的には、患者位置管理部504は、エントリから読み出したアクセスポイントIDを担当アクセスポイント情報管理部506に通知し、当該アクセスポイントIDと対応づけられたIPアドレスを問い合わせる。担当アクセスポイント情報管理部506は、問い合わせに応じてIPアドレスを返す。
すると、患者位置管理部504は、患者位置情報702のエントリから読み出したアクセスポイントIDと患者IDとカードホルダIDを含み、得られたIPアドレスが宛先に設定された存在確認メッセージを作成し、暗号化部508に出力する。すると暗号化部508は、入力された存在確認メッセージの適宜の部分(例えばペイロード)を暗号化し、送信部509に出力する。そして、送信部509は、暗号化された存在確認メッセージを送信する。
すると、存在確認メッセージは図4のアクセスポイント203の受信部405で受信される。受信部405は受信した存在確認メッセージを無線送信部406に出力する。無線送信部406は、電子カルテシステム200で用いられる通信プロトコルに応じて、必要であればヘッダの付け替えなどの処理を行ってから、存在確認メッセージを送信する。
すると、存在確認メッセージは、アクセスポイント203の無線通信範囲内に存在する各カードホルダ202の無線受信部305で受信される。そして、無線受信部305は受信した存在確認メッセージを暗号解読部306に出力する。すると、暗号解読部306は、入力された存在確認メッセージを復号し、中に含まれる患者IDを取り出し、取り出した患者IDがカード読み取り部301の読み取った診察カード207の患者IDと一致するか否かを判断する。
両者が一致しない場合、受信したメッセージは診察カード207の持ち主の患者宛ではないので、暗号解読部306は処理を終える。他方、2つの患者IDが一致する場合、暗号解読部306は、復号したメッセージのフォーマット等から、存在確認メッセージを受信したことを認識し、復号した存在確認メッセージを在圏情報管理部304に出力する。
なお、暗号解読部306は、「受信したメッセージで指定されているカードホルダIDと、カードホルダ202自身のカードホルダIDが一致するか否か」に応じて、「受信したメッセージの宛先が当該カードホルダ202自身か否か」を判断してもよい。
そして、存在確認メッセージが暗号解読部306から入力されると、在圏情報管理部304は、存在確認メッセージへの肯定応答(acknowledge。以下「ACK」)メッセージを作成する。ACKメッセージは、例えば、存在確認メッセージに含まれていた患者IDとカードホルダIDとアクセスポイントIDを含んでいてもよい。
そして、在圏情報管理部304は作成したACKメッセージを暗号化部302に出力し、暗号化部302はACKメッセージを暗号化し、無線送信部303に出力する。無線送信部303は、暗号化部302から与えられたACKメッセージを、無線通信により送信する。
送信されたACKメッセージは、来院通知メッセージの場合と同様にして、アクセスポイント203の移動情報・受付情報無線受信部401で受信され、移動情報・受付情報サーバ通知部402から送信される。さらに、ACKメッセージは、移動情報・受付情報受信部501で受信され、暗号解読部502に出力されて復号され、データ解析部503に出力される。
すると、データ解析部503は、復号されたメッセージのフォーマット等から、存在確認メッセージに対するACKメッセージが受信されたことを認識し、ACKメッセージを患者位置管理部504に出力する。そして、患者位置管理部504は、受け取ったACKメッセージからアクセスポイントIDと患者IDとカードホルダIDを取り出し、取り出した3つのIDの組み合わせと一致するエントリを患者位置情報702内で検索する。
なお、図7では図示を省略したが、患者位置情報702の各エントリはさらに、タイムアウトを管理するためのフィールドを有する。例えば、「存在確認メッセージを送信したが、まだACKメッセージを受信していない」ということを「0」という値で示し、「存在確認メッセージに対してACKメッセージを受信した」ということを「1」という値で示すフラグのフィールドがあってもよい。あるいは、存在確認メッセージを暗号化部508に出力した時刻を示すフィールドがあってもよい。
以下では説明の便宜上、上記のフラグのフィールドがタイムアウトの管理のために患者位置情報702に設けられているものとする。この場合、患者位置管理部504は、例えば、存在確認メッセージを作成するときに、全エントリのフラグの値を「0」に初期化する。そして、上記のようにデータ解析部503からACKメッセージを受け取ったとき、患者位置管理部504は、検索の結果ヒットしたエントリのフラグの値を「1」に設定する。
さらに、患者位置管理部504は、存在確認メッセージの作成から所定の時間が経過したら、フラグの値が「0」のエントリを患者位置情報702から削除する。また、患者位置管理部504は、患者位置情報702からのエントリの削除にともなって、担当アクセスポイント情報管理部506に対して、患者数の値を減らすよう要求する。
その結果、存在確認メッセージに対してACKメッセージが返信されずにタイムアウトしたカードホルダ202については、患者位置管理部504は、アクセスポイント203自身の配下から他のアクセスポイント203の配下へと移ったと認識する。つまり、患者位置情報702と、担当アクセスポイント情報703の患者数の値は、患者の移動に応じてほぼリアルタイムに更新される。
例えば、カードホルダ202aがもともとアクセスポイント203aの配下にあり、アクセスポイント203aが配信サービス制御サーバ204aにより管理されているとする。この場合に、カードホルダ202aがアクセスポイント203hの無線通信範囲である第2通路エリア206hへと移動したとする。
すると、上記のようにして配信サービス制御サーバ204aは、カードホルダ202aに対する存在確認メッセージをアクセスポイント203aへ送信し、アクセスポイント203aは当該存在確認メッセージを中継する。しかし、カードホルダ202aは、上記のようにアクセスポイント203aの無線通信範囲である外科エリア206aから出て行ってしまったので、当該存在確認メッセージを受信することができない。したがって、当該存在確認メッセージに対するACKメッセージが所定の時間内に配信サービス制御サーバ204aに返信されることもない。
よって、配信サービス制御サーバ204aの患者位置管理部504は、まず、患者位置情報702において、カードホルダ202aに対応するエントリ(つまりタイムアウトしたエントリ)からアクセスポイントIDを得る。すると、アクセスポイント203aを示す「1」という値が得られる。そこで、患者位置管理部504は、得た「1」というアクセスポイントIDに対応するエントリの患者数の値を1だけ減らすよう、担当アクセスポイント情報管理部506に要求する。そして、さらに患者位置管理部504は、カードホルダ202aに対応するエントリを患者位置情報702から削除する。
さて、電子カルテシステム200においては、上記のようにメッセージの配信に関する動作とカードホルダ202の位置の確認に関する動作が随時行われる。したがって、当然ながら、通知対象サーバ情報701のエントリ数が増えるほど、配信サービス制御サーバ204の負荷は高まる。つまり、多くの患者が一時的に特定の場所に集中すると、その場所を無線通信範囲とするアクセスポイント203を管理する配信サービス制御サーバ204に負荷が集中する。
そこで、第2実施形態においても、第1実施形態と同様に、負荷の集中の持続を防ぐためにアクセスポイント203の管理を移譲する処理が行われる。以下、当該処理の概要について引き続き図5を参照しながら説明し、その後、詳細について図9と図10を参照しながら説明する。
図5に示す配信サービス制御サーバ204の負荷状態判定部511は、図9とともに後述する適宜のタイミングで、配信サービス制御サーバ204の負荷状態を負荷状態管理部510に報告させる。負荷状態管理部510は、例えば、負荷状態を計測するための既存のパフォーマンスモニタ系のSoftware Development Kit(SDK)を用いて実現されてもよい。
なお、第2実施形態では、負荷状態がCentral Processing Unit(CPU)使用率により表される。しかし、実施形態に応じて、負荷状態は、例えば、CPU使用率、メモリ使用率、メモリアクセスの量、通信トラフィックの量のうちの任意のものを1つ以上使って表すことができる。
負荷状態判定部511は、負荷状態管理部510からの報告に基づいて、「配信サービス制御サーバ204の負荷の量が、高負荷を示す所定の条件を満たすか否か」を判断する。所定の条件が満たされているとき、負荷状態判定部511は、図10の処理を開始するようアクセスポイント割り当て決定部514に要求する。
詳しくは図10とともに後述するが、アクセスポイント割り当て決定部514は、負荷集中アクセスポイントと、負荷集中アクセスポイントの隣接アクセスポイントを特定する。そして、特定した隣接アクセスポイントの中に担当アクセスポイントでもあるものがもし存在すれば、アクセスポイント割り当て決定部514は、当該隣接アクセスポイントの管理を移譲する相手の配信サービス制御サーバ204を選択する。
なお、アクセスポイント割り当て決定部514は、他の配信サービス制御サーバ204から情報を取得し、取得した情報に基づいて移譲先の配信サービス制御サーバ204を選択する。具体的には、アクセスポイント割り当て決定部514は、他サーバ担当アクセスポイント確認部513を介して、他の配信サービス制御サーバ204の担当アクセスポイントについての情報を取得する。また、アクセスポイント割り当て決定部514は、負荷状態判定部511と他サーバ負荷状態確認部512を介して、他の配信サービス制御サーバ204の負荷状態についての情報も取得する。
また、上記のように他の配信サービス制御サーバ204から情報を取得するため、各配信サービス制御サーバ204は不図示の記憶部に他の配信サービス制御サーバ204との通信に必要な情報を記憶している。以下では説明の便宜上、当該情報が例えばIPアドレスとポート番号であるとする。
つまり、図2の配信サービス制御サーバ204aは、電子カルテシステム200に含まれる他のすべての配信サービス制御サーバ204bと204cのIPアドレスとポート番号を記憶部に記憶している。同様に、配信サービス制御サーバ204bは、配信サービス制御サーバ204aと204cのIPアドレスとポート番号を記憶している。また、配信サービス制御サーバ204cは、配信サービス制御サーバ204aと204bのIPアドレスとポート番号を記憶している。
なお、各配信サービス制御サーバ204が共通の同じポート番号を配信サービス制御サーバ204間の通信のために使っていてもよい。また、例えば、「他サーバ負荷状態確認部512用のポート番号は50000番で、起動指示受信部516用のポート番号は50001番」というように、1つの配信サービス制御サーバ204内の各部が別々のポート番号を使って通信を行ってもよい。そして、送信用と受信用のポート番号は同じでもよいし別でもよい。
いずれにせよ、上記の不図示の記憶部は、他の配信サービス制御サーバ204のIPアドレスをそれぞれ記憶し、さらに、配信サービス制御サーバ204が用いるポート番号に関する仕様に合わせて、適宜、ポート番号を記憶している。したがって、他の配信サービス制御サーバ204との通信をともなう処理を行う配信サービス制御サーバ204内の各部は、上記の不図示の記憶部を参照してIPアドレスとポート番号を得ることで、他の配信サービス制御サーバ204と通信を行うことができる。
以上のようにして、アクセスポイント割り当て決定部514は、他の配信サービス制御サーバ204から収集した情報を用いて移譲先の配信サービス制御サーバ204を選択する。すると、アクセスポイント割り当て決定部514は、選択した他の配信サービス制御サーバ204へ当該隣接アクセスポイントの管理を移譲する処理を、アクセスポイント割り当て実行部515または待機中サーバリモート起動部517に行わせる。
なお、どちらに処理を行わせるかは、移譲先の配信サービス制御サーバ204の選択結果による。また、アクセスポイント割り当て決定部514は、移譲の結果を反映するよう患者位置管理部504と担当アクセスポイント情報管理部506に要求する。
さらに、詳しくは後述するが、第2実施形態の電子カルテシステム200内の配信サービス制御サーバ204は、自律分散協調により適宜リモート起動し、適宜待機状態に移行する。図5の起動指示受信部516、待機中サーバリモート起動部517、待機判定部518および待機状態移行部519は、起動と待機状態への移行に関する処理を行う。起動と待機状態への移行が自律分散協調により行われることで、電子カルテシステム200においては、無駄な電力の消費が抑制される。
続いて、第2実施形態において配信サービス制御サーバ204がアクセスポイント203の管理を移譲する処理の詳細について、図9と図10を参照して詳しく説明する。
図9は、アクセスポイント割り当て処理の呼び出しを説明するフローチャートである。図9の処理は、配信サービス制御サーバ204が起動すると開始され、配信サービス制御サーバ204が待機状態に移行するまで続けられる。
図9の処理が開始されると、負荷状態判定部511は、ステップS101において所定の種類のトリガが検出されるまで待つ。そして、トリガが検出されると、処理はステップS102に移行する。
トリガの種類は、実施形態によって任意である。また、決められた複数種類のトリガのうちいずれかが検出されたらステップS101からステップS102へと処理が移行してもよい。
例えば、予め決められた周期で定期的に発生するタイマ割り込みが、トリガとして使われてもよい。あるいは、所定の種類のメッセージの受信がトリガとして使われてもよい。例えば、データ解析部503は、「受信したメッセージが来院通知メッセージまたはエリア参加通知メッセージである」と判定した場合に、トリガの発生を負荷状態判定部511に通知してもよい。
ここで、来院通知メッセージまたはエリア参加通知メッセージが受信されるということは、アクセスポイント203が管理するカードホルダ202の数(つまり患者位置情報702のエントリの数)が増えるということである。したがって、来院通知メッセージまたはエリア参加通知メッセージが受信された場合、「管理対象の増加にともなって、近い将来、負荷も上昇する」と予測される。
そこで、担当アクセスポイントの管理の移譲をした方が良さそうか否かを、実際に負荷が上昇する前に、予防的に判断することで、配信サービス制御サーバ204は、高負荷によるパフォーマンス悪化の影響を極力抑えることができる。そのため、来院通知メッセージやエリア参加通知メッセージのような、管理対象の増加を意味する種類のメッセージの受信は、トリガとして好適である。
トリガが検出されると、ステップS102では、負荷状態判定部511が負荷状態管理部510に、配信サービス制御サーバ204の負荷状態を報告するように求める。すると、負荷状態管理部510は、求めに応じて配信サービス制御サーバ204の負荷状態を測定する。あるいは、負荷状態管理部510は恒常的に、配信サービス制御サーバ204の負荷をリアルタイムに監視していてもよい。
第2実施形態では、上記のとおり負荷状態は具体的にはCPU使用率により表される。負荷状態管理部510は、求めに応じてCPU使用率を負荷状態判定部511に報告する。
すると、次のステップS103で負荷状態判定部511は、ステップS102で負荷状態管理部510から報告された、負荷状態を表す値としてのCPU使用率が、決められた閾値(以下「負荷判定閾値」という)を超えているか否かを判断する。
CPU使用率が負荷判定閾値を超えている場合、配信サービス制御サーバ204のパフォーマンスが悪化して処理遅延などが生じるおそれがある。よって、負荷状態判定部511は、「配信サービス制御サーバ204において高負荷の状態が持続しないようにするために、担当アクセスポイントの移譲を行った方がよい」と判断する。そして、この判断に基づき、処理はステップS104に移行する。
他方、CPU使用率が負荷判定閾値以下ならば、負荷状態判定部511は、「配信サービス制御サーバ204には、まだ十分な処理能力の余力が残っているので、担当アクセスポイントの移譲を行わなくてもよい」と認識する。この場合、処理はステップS101に戻り、負荷状態判定部511は再びトリガが検出されるまで待つ。つまり、ステップS103は、「必要もないのにアクセスポイント203の管理の移譲を行ってしまう」といったことを防ぐためのステップである。
ステップS104で負荷状態判定部511は、図10に示すアクセスポイント割り当て処理を開始するよう、アクセスポイント割り当て決定部514に命じる。なお、アクセスポイント割り当て処理は、アクセスポイント割り当て決定部514が他の各部と連携しながら実行する。アクセスポイント割り当て処理が終了すると、処理はステップS101に戻り、負荷状態判定部511は再度トリガが検出されるまで待つ。
図10は、アクセスポイント割り当て処理のフローチャートである。
負荷状態判定部511からアクセスポイント割り当て処理の開始を命じられると、ステップS201において、アクセスポイント割り当て決定部514は、担当アクセスポイント情報管理部506が管理している担当アクセスポイント情報703を参照する。そして、担当アクセスポイント情報703に基づき、アクセスポイント割り当て決定部514は、参加患者数が多いアクセスポイント203を「負荷集中アクセスポイント」として認識する。
具体的には、アクセスポイント割り当て決定部514は、担当アクセスポイント情報703のうち管理フラグの値が1のエントリを抽出して返すよう、担当アクセスポイント情報管理部506に要求する。例えば、配信サービス制御サーバ204aにおける担当アクセスポイント情報703が図8の状態であれば、管理フラグの値が1の3つのエントリが得られる。得られた3つのエントリは、配信サービス制御サーバ204aの担当アクセスポイントに対応する。
そして、アクセスポイント割り当て決定部514は、得られたエントリの中で患者数の値が相対的に最も大きいエントリが示すアクセスポイント203を、負荷集中アクセスポイントとして認識する。例えば、上記の例の場合、図8に示すように、アクセスポイント203b、203gおよび203iに対応する3つのエントリにおいて、患者数の値はそれぞれ20、105、8であるから、アクセスポイント203gが負荷集中アクセスポイントである。
なお、患者数の値が相対的に最も大きいエントリが2つ以上存在する場合、アクセスポイント割り当て決定部514は、そのうちの任意の1つを選んで負荷集中アクセスポイントとして認識する。また、第2実施形態では、起動中の配信サービス制御サーバ204には1つ以上の担当アクセスポイントが存在する。よって、ステップS201では、必ず1つのアクセスポイント203が負荷集中アクセスポイントとして認識される。
こうしてステップS201で負荷集中アクセスポイントを認識すると、次のステップS202でアクセスポイント割り当て決定部514は、負荷集中アクセスポイントの隣接アクセスポイントも配信サービス制御サーバ204自身が管理しているか否かを判断する。
具体的には、アクセスポイント割り当て決定部514は、ステップS201で担当アクセスポイント情報管理部506から得たエントリの中で、負荷集中アクセスポイントとして認識したアクセスポイントに対応するエントリの隣接APフィールドを参照する。例えば、図8の例の場合、上記のように、患者数が105人のアクセスポイント203gが負荷集中アクセスポイントである。そして、アクセスポイント203gを示すエントリの隣接APフィールドによれば、アクセスポイント203gに隣接するアクセスポイント203は3つあり、各々のアクセスポイントIDは2と3と8である。
アクセスポイント割り当て決定部514は、以上のようにして得た負荷集中アクセスポイントの隣接アクセスポイントに対応するエントリが、ステップS201で得たエントリの中に含まれるか否かを調べる。
もし、負荷集中アクセスポイントの隣接アクセスポイントに対応するエントリが、ステップS201で得たエントリの中に含まれれば、配信サービス制御サーバ204自身が負荷集中アクセスポイントの隣接アクセスポイントも管理しているということである。つまり、負荷集中アクセスポイントの隣接アクセスポイントも担当アクセスポイントである。よって、負荷集中アクセスポイントの隣接アクセスポイントの管理を他の配信サービス制御サーバ204に移譲するため、処理はステップS203に移行する。
例えば、上記のように配信サービス制御サーバ204aにおける担当アクセスポイント情報703が図8の状態だとする。すると、アクセスポイントIDが2、3、8の各エントリの管理フラグの値は、それぞれ1、0、0であるから、隣接アクセスポイントのうち、アクセスポイントIDが2のアクセスポイント203bに対応するエントリのみがステップS201で得られている。よって、配信サービス制御サーバ204aのアクセスポイント割り当て決定部514は、負荷集中アクセスポイント203gの3つの隣接アクセスポイントのうちの1つ(つまりアクセスポイント203b)が担当アクセスポイントに含まれると認識する。そして、処理がステップS203へと移行する。
他方、ステップS202において、「負荷集中アクセスポイントの隣接アクセスポイントに対応するエントリが、ステップS201で得たエントリの中に含まれない」と判明すれば、アクセスポイント割り当て処理は終了する。
なぜなら、図10のアクセスポイント割り当て処理を実行している配信サービス制御サーバ204自身にとって、負荷集中アクセスポイントの隣接アクセスポイントは、いずれも担当アクセスポイントではないからである。つまり、時間の経過とともに、カードホルダ202は負荷集中アクセスポイントの無線通信範囲から出て、隣接アクセスポイントの無線通信範囲へと移動すると予測され、よって、カードホルダ202の移動にともなって自然に負荷が減ると予測されるからである。換言すれば、現在の高負荷は持続しないと予測されるので、負荷の持続を防ぐための移譲も不要であるとアクセスポイント割り当て決定部514は判断する。
さて、ステップS203でアクセスポイント割り当て決定部514は、配信サービス制御サーバ204自身が管理している、負荷集中アクセスポイントの隣接アクセスポイントの数を、変数kに代入する。そして、処理はステップS204に移行する。
例えば、配信サービス制御サーバ204aの担当アクセスポイント情報703が図8の状態だとする。すると、上記のとおり、負荷集中アクセスポイント203gの3つの隣接アクセスポイントのうち、アクセスポイントIDが2のアクセスポイント203bのみが配信サービス制御サーバ204aの担当アクセスポイントである。よって、この例ではkが1に設定される。
ステップS204でアクセスポイント割り当て決定部514は、変数kの値が0か否かを判断する。変数kは、ステップS203で初期値が設定された後、後述のステップS213でデクリメントされるので、処理の進行につれて、いずれは0になる。
つまり、変数kは、「負荷集中アクセスポイントの隣接アクセスポイントのうち、まだ配信サービス制御サーバ204自身が管理を担当しており、そのため移譲の対象として残っているものの数」を示す。よって、kの値が0であれば、もう移譲の対象が残っていないのでアクセスポイント割り当て処理は終了する。他方、kの値が0でなければ(つまりkの値が0より大きければ)、まだ移譲の対象の担当アクセスポイントが残っているので、処理はステップS205へと移行する。
ステップS205でアクセスポイント割り当て決定部514は、電子カルテシステム200内で起動中の配信サービス制御サーバ204の数を得て、得た値を変数nに設定する。また、アクセスポイント割り当て決定部514は、以下のステップにおいて「何番目の配信サービス制御サーバ204に注目しているか」を示す変数iを0に初期化する。
なお、電子カルテシステム200内で起動中の配信サービス制御サーバ204の数を得る方法は、図5では矢印等による明示はしていないが、実施形態に応じて任意である。
例えば、各配信サービス制御サーバ204は、起動したときと待機状態に移行するときに医事業務サーバ205に報告を行ってもよい。医事業務サーバ205は、各医事業務サーバ205からの報告に基づいて、電子カルテシステム200内で起動中の配信サービス制御サーバ204の数を管理してもよい。
この場合、アクセスポイント割り当て決定部514は、医事業務サーバ205に問い合わせることにより、電子カルテシステム200内で起動中の配信サービス制御サーバ204の数を得ることができる。なお、医事業務サーバ205は、単に起動中の配信サービス制御サーバ204の数だけを管理するのではなく、各配信サービス制御サーバ204についてそれぞれ個別に、起動しているか否かをIPアドレスと対応づけて記憶していてもよい。
もちろん、各配信サービス制御サーバ204が、電子カルテシステム200内の不図示の共有メモリに対して、起動したときと待機状態に移行するときに例えばフラグの値の更新などの書き込みを行うことで、上記と同様の一元管理が行われてもよい。その場合、アクセスポイント割り当て決定部514は、共有メモリにアクセスすることで変数nの値を得ることができる。
あるいは、アクセスポイント割り当て決定部514は、電子カルテシステム200内の他の配信サービス制御サーバ204の各々と通信を試み、通信の成否によって当該他の配信サービス制御サーバ204が起動中か待機状態かを判断してもよい。そして、アクセスポイント割り当て決定部514は、判断の結果から、起動中の配信サービス制御サーバ204の数を得てもよい。このように通信を試みる方法が可能な理由は、上記のように配信サービス制御サーバ204が、電子カルテシステム200内の他の配信サービス制御サーバ204のIPアドレスとポート番号を記憶しているためである。
なお、ステップS205で設定される変数nは、図10のアクセスポイント割り当て処理を行っている配信サービス制御サーバ204自身を含めた数である。また、変数iの初期値が示すように、以下のステップでは、起動中の配信サービス制御サーバ204が、1番目からではなく0番目から数えられる。そして、ステップS205で変数nとiの設定が終わると、処理はステップS206に移行する。
ステップS206でアクセスポイント割り当て決定部514は、変数iとnの値が等しいか否かを判断する。変数iは後述のステップS210でインクリメントされ、変数iとnの値が等しいことは、「起動中のすべての配信サービス制御サーバ204について検討したが、まだ移譲の対象となる担当アクセスポイントが移譲しきれずに残っている」ということを意味する。
そこで、変数iとnの値が等しいとき、待機状態の他の配信サービス制御サーバ204を移譲先とするため、処理はステップS214に移行する。他方、変数iとnの値が等しくなければ(つまり変数iの値が変数nの値未満なら)、起動中の次の配信サービス制御サーバ204を移譲先として検討するため、処理はステップS207に移行する。
ステップS207でアクセスポイント割り当て決定部514は、起動中のn台の配信サービス制御サーバ204のうちのi番目の配信サービス制御サーバ204が、アクセスポイント割り当て処理を行っている配信サービス制御サーバ204自身か否かを判断する。
そして、i番目の配信サービス制御サーバ204がアクセスポイント割り当て処理を行っている配信サービス制御サーバ204自身以外であれば、i番目の配信サービス制御サーバ204への移譲を検討するため、処理はステップS208へ移行する。他方、i番目の配信サービス制御サーバ204がアクセスポイント割り当て処理を行っている配信サービス制御サーバ204自身ならば、そもそも移譲先として検討する必要がないので、処理はステップS210に移行する。
例えば、図2の電子カルテシステム200において、配信サービス制御サーバ204aが図10の処理を実行中であり、配信サービス制御サーバ204bと204cも起動しているとすると、変数nの値は3である。3台の配信サービス制御サーバ204a〜204cをどのように順番づけるかは実施形態により任意だが、ここで説明の便宜上、例えば、配信サービス制御サーバ204a、204b、204cがそれぞれ0番目、1番目、2番目とする。
すると、iの値が0のとき、配信サービス制御サーバ204aのアクセスポイント割り当て決定部514は、ステップS207において、「i番目の配信サービス制御サーバ204は、配信サービス制御サーバ204a自身である」と判断する。他方、iの値が1か2のとき、配信サービス制御サーバ204aのアクセスポイント割り当て決定部514は、ステップS207において、「i番目の配信サービス制御サーバ204は、配信サービス制御サーバ204a自身以外である」と判断する。
なお、各配信サービス制御サーバ204は、上記のように他の配信サービス制御サーバ204のIPアドレスとポート番号を記憶しており、当然自らのIPアドレスも認識している。よって、アクセスポイント割り当て決定部514は、例えば、IPアドレスの昇順あるいは降順に、起動中の配信サービス制御サーバ204を0番目から順に順番づけてもよい。そして、アクセスポイント割り当て決定部514は、IPアドレスに基づいてステップS診察カード207の判断を行ってもよい。
また、例えば、アクセスポイント割り当て決定部514は、起動中のn台の配信サービス制御サーバ204のIPアドレスのリストを医事業務サーバ205からステップS205で得ていてもよい。すると、アクセスポイント割り当て決定部514は、図10の処理を行っている配信サービス制御サーバ204自身のIPアドレスがリスト中にあるか否かに基づいて、ステップS207の判断を行うことができる。
さて、処理がステップS207からステップS208へと移行すると、アクセスポイント割り当て決定部514は、起動中のi番目の配信サービス制御サーバ204の担当アクセスポイント情報703と負荷状態を取得する。
具体的には、アクセスポイント割り当て決定部514は、i番目の配信サービス制御サーバ204の担当アクセスポイント情報703を他サーバ担当アクセスポイント確認部513に取得させる。また、アクセスポイント割り当て決定部514は、i番目の配信サービス制御サーバ204の負荷状態を他サーバ負荷状態確認部512に取得させるよう、負荷状態判定部511に要求する。
すると、他サーバ担当アクセスポイント確認部513は、アクセスポイント割り当て決定部514からの要求にしたがって、i番目の配信サービス制御サーバ204の担当アクセスポイント情報管理部506にアクセスする。そして、他サーバ担当アクセスポイント確認部513は、i番目の配信サービス制御サーバ204の担当アクセスポイント情報管理部506から担当アクセスポイント情報703を取得し、アクセスポイント割り当て決定部514に返す。
また、アクセスポイント割り当て決定部514から要求を受けた負荷状態判定部511は、i番目の配信サービス制御サーバ204の負荷状態を取得するよう、他サーバ負荷状態確認部512に要求する。すると、他サーバ負荷状態確認部512は、i番目の配信サービス制御サーバ204の負荷状態管理部510にアクセスし、i番目の配信サービス制御サーバ204の負荷状態を問い合わせる。問い合わせに対する応答は、他サーバ負荷状態確認部512から負荷状態判定部511を介してアクセスポイント割り当て決定部514に返される。
例えば、配信サービス制御サーバ204aが図10の処理を実行中であり、起動中のi番目の配信サービス制御サーバ204が具体的には配信サービス制御サーバ204bであるとする。すると、ステップS208で配信サービス制御サーバ204aのアクセスポイント割り当て決定部514は、配信サービス制御サーバ204bの担当アクセスポイント情報703と、配信サービス制御サーバ204bの負荷状態としてのCPU使用率を得る。
そして、次のステップS209でアクセスポイント割り当て決定部514は、以下の(h1)または(h2)の条件が成立するか否かを判断する。
(h1)起動中のi番目の配信サービス制御サーバ204は、ステップS201で認識された負荷集中アクセスポイントの隣接アクセスポイントのうち少なくとも1つを担当アクセスポイントとして管理している。
(h2)起動中のi番目の配信サービス制御サーバ204は、負荷が基準を超えている。つまり、ステップS208で得られたCPU使用率は、基準となる閾値を超えている。なお、当該閾値は、例えば図9のステップS103の負荷判定閾値と同じでもよい。
上記(h1)の条件が成立するか否かは、例えば次のようにして確認することができる。
まず、アクセスポイント割り当て決定部514は、ステップS201で得たエントリのうち、負荷集中アクセスポイントに対応するエントリにおける隣接APのリストを参照する。ここで、説明の便宜上、隣接APのリストが(P1,……,PM)であったとする。つまり、MはステップS203で変数kに初期値として設定された値である。
次に、アクセスポイント割り当て決定部514は、Pj(1≦j≦M)についてj=1から順に、起動中のi番目の配信サービス制御サーバ204からステップS208で得た担当アクセスポイント情報703においてIDの値がPjと一致するエントリを参照する。そして、当該エントリの管理フラグの値が1であれば、アクセスポイント割り当て決定部514は(h1)の条件が成立すると判断し、Pj+1以降については何も行わない。他方、1≦j≦Mなるすべてのjについて、上記のように参照した管理フラグの値が0であれば、アクセスポイント割り当て決定部514は、(h1)の条件が成立しないと判断する。
上記の(h1)の条件が成立する場合、起動中のi番目の配信サービス制御サーバ204は、時間の経過とともに負荷集中アクセスポイントの配下からカードホルダ202が移動するにつれて、負荷が高まっていくと予測される。そして、ただでさえ負荷が高まりそうな配信サービス制御サーバ204は、今後の負荷を高める要因となりうる、負荷集中アクセスポイントの隣接アクセスポイントの管理の移譲の相手としては、あまり適切ではない。
また、上記の(h2)の条件が成立する場合、起動中のi番目の配信サービス制御サーバ204の負荷は既に高く、高負荷状態がいつ終わりそうなのかもアクセスポイント割り当て決定部514には不明である。よって、今後の負荷を高める要因となりうる、負荷集中アクセスポイントの隣接アクセスポイントの移譲の相手として、起動中のi番目の配信サービス制御サーバ204はあまり適切ではない。
よって、(h1)または(h2)の条件が成立する場合、他の配信サービス制御サーバ204への移譲を検討するため、処理はステップS210に移行する。
他方、(h1)と(h2)のいずれの条件も成立しない場合、起動中のi番目の配信サービス制御サーバ204は、今後負荷が増えても問題がなさそうなので、負荷集中アクセスポイントの隣接アクセスポイントの管理の移譲先として適切である。よって、起動中のi番目の配信サービス制御サーバ204へ、負荷集中アクセスポイントの隣接アクセスポイントのうちk番目のもの(以下単に「k番目の隣接アクセスポイント」という)の管理を実際に移譲するため、処理はステップS211に移行する。
さて、ステップS210が実行されるのは、起動中のi番目の配信サービス制御サーバ204が移譲先として適切ではないと判断された場合である。よって、他の配信サービス制御サーバ204への移譲を検討するため、アクセスポイント割り当て決定部514は変数iの値を1だけ増やす。そして、処理はステップS206に戻る。
また、ステップS211とS212では、起動中のi番目の配信サービス制御サーバ204に、k番目の隣接アクセスポイントの管理が実際に移譲される。なお、負荷集中アクセスポイントの隣接アクセスポイントが上記のリスト(P1,……,PM)で表されるとすると、「k番目」とは、具体的には、「M番目、(M−1)番目、……、1番目」という数え方を意味する。具体的なステップS211とS212の動作は次のとおりである。
すなわち、ステップS211においてアクセスポイント割り当て決定部514は、起動中のi番目の配信サービス制御サーバ204にk番目の隣接アクセスポイントを割り振るよう、アクセスポイント割り当て実行部515に要求する。
なお、要求に先立ち、アクセスポイント割り当て決定部514は、担当アクセスポイント情報703においてk番目の隣接アクセスポイント203(つまりアクセスポイントIDがPkのアクセスポイント203)に対応するエントリの患者数の値を得ておく。そして、アクセスポイント割り当て決定部514は、得た患者数の値をアクセスポイント割り当て実行部515に通知するものとする。
すると、アクセスポイント割り当て実行部515は、要求にしたがって次の(i1)〜(i3)の動作を行う。
(i1)アクセスポイント割り当て実行部515は、起動中のi番目の配信サービス制御サーバ204の担当アクセスポイント情報管理部506に、アクセスポイントIDがPkのアクセスポイント203を表すエントリの管理フラグの値を1に設定するよう、要求する。
(i2)アクセスポイント割り当て実行部515は、患者位置管理部504に、患者位置情報702からアクセスポイントIDがPkのエントリを抽出させる。そして、アクセスポイント割り当て実行部515は、起動中のi番目の配信サービス制御サーバ204の患者位置管理部504に対して、抽出されたエントリの内容を通知し、通知したエントリの内容を患者位置情報702に追加するよう要求する。
(i3)アクセスポイント割り当て実行部515は、アクセスポイント割り当て決定部514から通知された患者数の値を、起動中のi番目の配信サービス制御サーバ204の担当アクセスポイント情報管理部506に通知する。そして、アクセスポイント割り当て実行部515は、アクセスポイントIDがPkのエントリにおける患者数の値を、通知した値に書き換えるよう、起動中のi番目の配信サービス制御サーバ204の担当アクセスポイント情報管理部506に要求する。
なお、(i1)の処理の結果、起動中のi番目の配信サービス制御サーバ204は、「アクセスポイントIDがPkのアクセスポイントは自らの担当アクセスポイントである」と認識するようになる。
また、(i2)と(i3)の処理の結果、起動中のi番目の配信サービス制御サーバ204は、k番目の隣接アクセスポイントの配下のカードホルダ202の情報を引き継ぐことができる。よって、起動中のi番目の配信サービス制御サーバ204は、k番目の隣接アクセスポイントの配下のカードホルダ202に対して、医事業務サーバ205からのメッセージを配信したり、存在確認メッセージを送信したりする処理を即時に開始することができる。
ステップS211ではさらに、アクセスポイント割り当て決定部514が次の(j1)と(j2)の動作を行う。
(j1)アクセスポイント割り当て決定部514は、担当アクセスポイント情報管理部506に、アクセスポイントIDがPkのアクセスポイントを表すエントリの管理フラグの値を0に設定させる。
(j2)アクセスポイント割り当て決定部514は、患者位置管理部504に、アクセスポイントIDがPkのエントリを患者位置情報702から削除させる。なお、この(j2)の動作は、アクセスポイント割り当て実行部515が上記(i2)の動作を行った後で行われる。
上記(j1)の処理の結果、図10の処理を実行している配信サービス制御サーバ204自身は、「IDがPkのアクセスポイントは自らの担当アクセスポイントではない」と認識するようになる。また、(j2)の処理の結果、管理対象から外れたカードホルダ202に関するエントリが患者位置情報702から削除されるので、記憶領域の無駄な使用が防止される。
そして、ステップS211または後述のステップS215の実行後、ステップS212において、アクセスポイント割り当て決定部514はアクセスポイント割り当て実行部515に対して次の処理を行うよう要求する。すなわち、アクセスポイント割り当て実行部515は、k番目の隣接アクセスポイントの通知対象サーバ情報管理部403に、起動中のi番目の配信サービス制御サーバ204のIPアドレスとポート番号を通知する。すると、通知対象サーバ情報管理部403は、通知対象サーバ情報701のIPアドレスとポート番号を、それぞれ通知された値に書き換える。
例えば、配信サービス制御サーバ204aが図10の処理を実行しており、「起動中のi番目の配信サービス制御サーバ204」が配信サービス制御サーバ204bであり、「k番目の隣接アクセスポイント」がアクセスポイント203aであるとする。すると、ステップS212では、アクセスポイント203aの通知対象サーバ情報701におけるIPアドレスとポート番号が、移譲元の配信サービス制御サーバ204aのものから移譲先の配信サービス制御サーバ204bのものへと書き換えられる。
以上のステップS212の処理により、管理が移譲されたアクセスポイント203は、新たな通信相手の配信サービス制御サーバ204を正しく認識することができるようになる。
そして、次のステップS213でアクセスポイント割り当て決定部514は、負荷集中アクセスポイントの隣接アクセスポイントのうち、次のものの移譲先の検討を行うため、変数kの値を1だけ減らす。そして、処理はステップS204に戻る。
また、ステップS206で変数iとnの値が等しかった場合、ステップS214においてアクセスポイント割り当て決定部514は、待機状態の配信サービス制御サーバ204を、k番目の隣接アクセスポイントの移譲先として選択する。
なお、第2実施形態では、電子カルテシステム200が十分な数の配信サービス制御サーバ204を含むものとする。換言すれば、第2実施形態では、「ステップS214が実行される状況において、待機状態の配信サービス制御サーバ204が残っていない」ということがないように、電子カルテシステム200が設計されている。
例えば、電子カルテシステム200が利用される病院の規模などに応じて、電子カルテシステム200において同時に利用されうるカードホルダ202の最大数が見積もられてもよい。そして、見積もられた最大数のカードホルダ202に関する種々の処理を、余裕をもってこなすことができるように、電子カルテシステム200には十分な数の配信サービス制御サーバ204が備えられる。
また、配信サービス制御サーバ204の台数の決定には、さらに、アクセスポイント203の配置が考慮されていてもよい。
例えば、アクセスポイント203の配置から、「電子カルテシステム200内のアクセスポイント203は、最大でもQ個のアクセスポイント203としか隣接しない」と判明したとする。この場合、(Q+1)台以上の配信サービス制御サーバ204が電子カルテシステム200に含まれれば、ある負荷集中アクセスポイントと、そのQ個の隣接アクセスポイントを、それぞれ別の配信サービス制御サーバ204により管理することが可能となる。もちろん、見積もられた最大数のカードホルダ202に関する処理を(Q+1)台の配信サービス制御サーバ204だけで滞りなくこなすことができそうか否かということも考慮のうえ、配信サービス制御サーバ204の台数は適宜定められるものとする。
したがって、アクセスポイント割り当て決定部514は、ステップS214において、待機状態の配信サービス制御サーバ204のうちの任意の1つを選択することができる。また、どの配信サービス制御サーバ204が待機状態なのかをアクセスポイント割り当て決定部514が認識する具体的手法は任意である。
例えば、ステップS205に関して説明したように、どの配信サービス制御サーバ204が起動中でどの配信サービス制御サーバ204が待機状態かを医事業務サーバ205が記憶していてもよい。この場合、アクセスポイント割り当て決定部514は、医事業務サーバ205に問い合わせることにより、どの配信サービス制御サーバ204が待機状態なのかを認識することができる。医事業務サーバ205は、問い合わせに対して、例えば、待機状態の配信サービス制御サーバ204のうちの任意の1つのIPアドレスを返してもよい。
あるいは、同じくステップS205に関して説明したように、アクセスポイント割り当て決定部514は、他の配信サービス制御サーバ204との通信を試みて、通信不能だった配信サービス制御サーバ204を待機状態と見なしてもよい。
いずれにしろ、ステップS214でアクセスポイント割り当て決定部514は、待機状態の配信サービス制御サーバ204をk番目の隣接アクセスポイントの移譲先として選択することができる。さらに、ステップS214でアクセスポイント割り当て決定部514は、待機中サーバリモート起動部517に対して、選択した配信サービス制御サーバ204のIPアドレスを通知する。
すると、待機中サーバリモート起動部517は、通知されたIPアドレスの配信サービス制御サーバ204を起動させる。なお、「待機状態」と「起動」の意味については、上記(a1)と(a2)で説明したのと同様である。
例えば、配信サービス制御サーバ204aが図10の処理を実行中であり、配信サービス制御サーバ204cは待機状態であり、かつステップS214で移譲先として選択されたとする。この場合、配信サービス制御サーバ204aの待機中サーバリモート起動部517は配信サービス制御サーバ204cに対して、起動命令を送る。
すると、配信サービス制御サーバ204cの起動指示受信部516が、起動命令にしたがって配信サービス制御サーバ204cを起動させる。配信サービス制御サーバ204cの起動指示受信部516は、配信サービス制御サーバ204cが起動し終わると、起動の完了を配信サービス制御サーバ204aの待機中サーバリモート起動部517に報告してもよい。
なお、第2実施形態では各配信サービス制御サーバ204に固定的なIPアドレスが割り当てられているものと仮定している。そのため、上記のようにアクセスポイント割り当て決定部514は待機中サーバリモート起動部517にIPアドレスを通知している。
しかし、Dynamic Host Configuration Protocol(DHCP)によりIPアドレスが動的に割り当てられる実施形態も可能である。その場合は、例えば、アクセスポイント割り当て決定部514は、移譲先として選択した配信サービス制御サーバ204のMACアドレスを待機中サーバリモート起動部517に通知してもよい。
いずれにしろ、ステップS214では、移譲先として選択した配信サービス制御サーバ204を識別するための何らかの情報を、アクセスポイント割り当て決定部514が待機中サーバリモート起動部517に通知する。そして、待機中サーバリモート起動部517が、待機状態の他の配信サービス制御サーバ204を起動させる。
次のステップS215は、好ましくは、起動した配信サービス制御サーバ204の起動指示受信部516からの起動完了の報告を、待機中サーバリモート起動部517が受けてアクセスポイント割り当て決定部514に通知してから実行される。そして、ステップS215でアクセスポイント割り当て決定部514は、ステップS214で起動した配信サービス制御サーバ204に、k番目の隣接アクセスポイントを割り振るよう、アクセスポイント割り当て実行部515に要求する。
なお、ステップS211と同様、要求に先立ってアクセスポイント割り当て決定部514は、担当アクセスポイント情報703においてアクセスポイントIDがPkのアクセスポイント203に対応するエントリの患者数の値を得ておく。そして、アクセスポイント割り当て決定部514は、得た患者数の値をアクセスポイント割り当て実行部515に通知するものとする。
すると、アクセスポイント割り当て実行部515は、要求にしたがって次の(k1)〜(k3)の動作を行う。
(k1)アクセスポイント割り当て実行部515は、ステップS214で起動した配信サービス制御サーバ204の担当アクセスポイント情報管理部506に、アクセスポイントIDがPkのアクセスポイント203を表すエントリの管理フラグの値を1に設定させる。
(k2)アクセスポイント割り当て実行部515は、患者位置管理部504に、患者位置情報702からアクセスポイントIDがPkのエントリを抽出させる。そして、アクセスポイント割り当て実行部515は、ステップS214で起動した配信サービス制御サーバ204の患者位置管理部504に対して、抽出されたエントリの内容を通知し、通知したエントリの内容を患者位置情報702に追加するよう要求する。
(k3)アクセスポイント割り当て実行部515は、アクセスポイント割り当て決定部514から通知された患者数の値を、ステップS214で起動した配信サービス制御サーバ204の担当アクセスポイント情報管理部506に通知する。そして、アクセスポイント割り当て実行部515は、アクセスポイントIDがPkのエントリにおける患者数の値を、通知した値に書き換えるよう、ステップS214で起動した配信サービス制御サーバ204の担当アクセスポイント情報管理部506に要求する。
上記の(k1)〜(k3)の処理は、ステップS211における(i1)〜(i3)の処理と類似なので、詳しい説明は省略する。さらに、ステップS215でアクセスポイント割り当て決定部514は、ステップS211の(j1)と(j2)の処理と類似の、次の(l1)と(l2)の処理を行う。
(l1)アクセスポイント割り当て決定部514は、担当アクセスポイント情報管理部506に、アクセスポイントIDがPkのアクセスポイントを表すエントリの管理フラグの値を0に設定させる。
(l2)アクセスポイント割り当て決定部514は、患者位置管理部504に、アクセスポイントIDがPkのエントリを患者位置情報702から削除させる。なお、この(l2)の動作は、アクセスポイント割り当て実行部515が上記(k2)の動作を行った後で行われる。
そして、ステップS215の実行後、処理はステップS212に移行する。
ところで、以上説明したアクセスポイント割り当て処理を第1実施形態と比較して類似点を挙げれば、次の(m1)〜(m6)のとおりである。
(m1)ステップS201におけるアクセスポイント割り当て決定部514は、第1実施形態の認識部109と類似の機能を果たす。
(m2)ステップS202におけるアクセスポイント割り当て決定部514は、第1実施形態の判定部110と類似の機能を果たす。
(m3)ステップS203以降では、以下の各部が協働して第1実施形態の移譲部111と類似の機能を果たしている。
・負荷状態管理部510
・負荷状態判定部511
・他サーバ負荷状態確認部512
・他サーバ担当アクセスポイント確認部513
・アクセスポイント割り当て決定部514
・アクセスポイント割り当て実行部515
・待機中サーバリモート起動部517
(m4)第1実施形態において移譲部111が送信する通知に相当するのは、以下のものである。
・ステップS211で、起動中のi番目の配信サービス制御サーバ204の担当アクセスポイント情報管理部506にアクセスポイント割り当て実行部515が送る、管理フラグの値を1に設定するように求める要求。
・ステップS212で、k番目の隣接アクセスポイントの通知対象サーバ情報管理部403にアクセスポイント割り当て実行部515が送る、起動中のi番目の配信サービス制御サーバ204のIPアドレスとポート番号。
・ステップS215で、ステップS214で起動した配信サービス制御サーバ204の担当アクセスポイント情報管理部506にアクセスポイント割り当て実行部515が送る、管理フラグの値を1に設定するように求める要求。
(m5)上記(m4)を換言すれば、第1実施形態において受任部112が受信する通知に相当するのは、以下のものである。つまり、担当アクセスポイント情報管理部506は、第1実施形態における受任部112と同様の機能も果たす。
・ステップS211で、起動中のi番目の配信サービス制御サーバ204の担当アクセスポイント情報管理部506にアクセスポイント割り当て実行部515が送る、管理フラグの値を1に設定するように求める要求。
・ステップS215で、ステップS214で起動した配信サービス制御サーバ204の担当アクセスポイント情報管理部506にアクセスポイント割り当て実行部515が送る、管理フラグの値を1に設定するように求める要求。
(m6)また、以下のものは、第1実施形態との類似という観点から見れば、第1の通知に付随する情報と言える。
・ステップS211で、起動中のi番目の配信サービス制御サーバ204の患者位置管理部504にアクセスポイント割り当て実行部515が送る、患者位置情報702から抽出されたエントリの内容。
・ステップS215で、ステップS214で起動した配信サービス制御サーバ204の患者位置管理部504にアクセスポイント割り当て実行部515が送る、患者位置情報702から抽出されたエントリの内容。
なお、図10の処理以外の点では、第1実施形態と第2実施形態の間に次の(n1)〜(n3)のような類似点がある。
(n1)移動情報・受付情報受信部501、暗号解読部502、データ解析部503および患者位置管理部504は、協働して患者位置情報702を更新することで、第1実施形態の対応づけ部113と類似の機能を果たす。
(n2)カードホルダ202からのメッセージの受信に関しては、移動情報・受付情報受信部501、暗号解読部502およびデータ解析部503が協働して、第1実施形態の通信部114と類似の機能を果たす。
(n3)カードホルダ202へのメッセージの送信に関しては、案内情報受信部507、患者位置管理部504、担当アクセスポイント情報管理部506、暗号化部508および送信部509が協働して、第1実施形態の通信部114と類似の機能を果たす。
さて、第2実施形態に関して最後に、待機状態への移行に関する処理を説明する。図10のステップS214に関して説明したように、電子カルテシステム200は十分な数の配信サービス制御サーバ204を備える。換言すれば、電子カルテシステム200は、想定される最大の負荷がかかっても滞りなく処理が行われるように設計された冗長系システムの一種であり、常に想定される最大の稼働率でフル稼働しているとは限らない。そこで、以下のようにして配信サービス制御サーバ204同士が協調し、配信サービス制御サーバ204が適宜待機状態に移行してもよい。
すなわち、各配信サービス制御サーバ204の待機判定部518同士は、互いに通信しあって、待機状態に移行してよいか否かを判断する。そして、待機状態に移行してよいと判断すると、待機判定部518は、アクセスポイント割り当て決定部514に対して、現在の担当アクセスポイントの移譲を行うよう要求する。さらに、担当アクセスポイントの移譲の完了後、待機判定部518は、待機状態移行部519に対して待機状態への移行を行うよう要求する。
例えば、電子カルテシステム200が図2のように3つの配信サービス制御サーバ204a〜204cを有し、3つとも起動中であるとする。この場合、配信サービス制御サーバ204aの待機判定部518は、配信サービス制御サーバ204bと204c各々の待機判定部518と通信する。
同様に、配信サービス制御サーバ204bの待機判定部518は、配信サービス制御サーバ204aと204c各々の待機判定部518と通信する。また、配信サービス制御サーバ204cの待機判定部518は、配信サービス制御サーバ204aと204b各々の待機判定部518と通信する。
以下では説明の便宜上、配信サービス制御サーバ204aに注目する。配信サービス制御サーバ204aの待機判定部518は、他の配信サービス制御サーバ204bと204cの待機判定部518との通信でやり取りした情報に基づいて、配信サービス制御サーバ204aが待機状態に移行してよいか否かを判断する。
待機判定部518同士の通信でやり取りされる情報を、以下では「待機判定情報」という。実施形態に応じた適宜の情報が待機判定情報として利用可能である。例えば、配信サービス制御サーバ204aの待機判定部518は、配信サービス制御サーバ204a自身に関わる待機判定情報として、以下の(o1)を通知してもよいし、(o1)と(o2)を通知してもよい。また、下記(o2)は起動時に1回だけ通知されてもよい。
(o1)配信サービス制御サーバ204aの負荷状態管理部510により計測される、負荷状態を示す量(以下では説明の便宜上、CPU使用率とする)。
(o2)配信サービス制御サーバ204aが起動した時刻。
上記のような待機判定情報が用いられる場合、配信サービス制御サーバ204aの待機判定部518は、例えば次のようにして、配信サービス制御サーバ204aが待機状態に移行してよいか否かを判断することができる。なお、待機判定部518は、待機判定情報の送信と待機状態へ移行してよいか否かの判断を定期的に行ってもよいし、不定期に行ってもよい。
配信サービス制御サーバ204aの待機判定部518は、配信サービス制御サーバ204bと204cの待機判定部518から受け取った待機判定情報と配信サービス制御サーバ204a自らのCPU使用率から、電子カルテシステム200全体の負荷を算出する。例えば、待機判定部518は、3台の配信サービス制御サーバ204a〜204cのCPU使用率の算術平均を、電子カルテシステム200全体の負荷を示す値として算出してもよい。
あるいは、待機判定部518は、上記のような電子カルテシステム200全体の負荷と閾値の比較だけでなく、さらに配信サービス制御サーバ204間の負荷のばらつきと閾値の比較を行ってもよい。例えば、ばらつきの尺度としては、例えば、CPU使用率の標準偏差や四分位範囲などが利用可能である。なお、以下では説明の簡単化のため、ばらつきが考慮されない場合を主に説明する。
そして、配信サービス制御サーバ204aの待機判定部518は、算出結果に基づいて、電子カルテシステム200全体の負荷が閾値を超えているか否かを判断する。ここでの閾値は、電子カルテシステム200が全体として比較的暇であることを示す値であるから、例えば5%といった比較的小さな値が好適である。
電子カルテシステム200全体の負荷が閾値を超えているとき、配信サービス制御サーバ204aの待機判定部518は、配信サービス制御サーバ204aが待機状態に移行しない方がよいと判断する。そして、例えば、定期的に待機判定情報の送信と待機状態へ移行してよいか否かの判断を行う場合なら、配信サービス制御サーバ204aの待機判定部518は、次の周期まで何もせずに待つ。
他方、電子カルテシステム200全体の負荷が閾値以下であれば、配信サービス制御サーバ204aの待機判定部518は、「電子カルテシステム200は、現在必要以上に多くの配信サービス制御サーバ204が起動しており、冗長な状態である」と判断する。なお、待機判定部518は、もし負荷のばらつきも考慮するならば「電子カルテシステム200全体の負荷が第1の閾値以下で、かつ、ばらつきが第2の閾値以下ならば、電子カルテシステム200は冗長な状態である」と判断してもよい。
電子カルテシステム200が冗長な状態だと判断した場合、配信サービス制御サーバ204aの待機判定部518は、「冗長な配信サービス制御サーバ204の中で、配信サービス制御サーバ204a自身は優先的に待機状態に移行する条件を満たすか否か」をさらに判断する。
そして、配信サービス制御サーバ204aが条件を満たさなければ、配信サービス制御サーバ204aの待機判定部518は、配信サービス制御サーバ204aが待機状態に移行しない方がよいと判断する。逆に、配信サービス制御サーバ204aが条件を満たせば、配信サービス制御サーバ204aの待機判定部518は、配信サービス制御サーバ204aが待機状態に移行してよいと判断する。
なお、配信サービス制御サーバ204aの待機判定部518にとっての上記の条件は、例えば次の(p1)〜(p3)のような条件である。
(p1)「待機判定情報として受け取った配信サービス制御サーバ204bと204cの起動時刻と、配信サービス制御サーバ204a自身の起動時刻の中で、配信サービス制御サーバ204a自身の起動時刻が最も早い(または最も遅い)」という条件。なお、多数の配信サービス制御サーバ204が存在する場合などは、適宜の閾値T1を用いて、「配信サービス制御サーバ204aは、早い方(または遅い方)からT1番目以内に起動した」といった条件も利用可能である。
(p2)「待機判定情報として受け取った配信サービス制御サーバ204bと204cのCPU使用率と、配信サービス制御サーバ204a自身のCPU使用率の中で、配信サービス制御サーバ204a自身のCPU使用率が最も低い」という条件。なお、多数の配信サービス制御サーバ204が存在する場合などは、適宜の閾値T2を用いて、「配信サービス制御サーバ204aは、CPU使用率が低い方からT2番目以内である」といった条件も利用可能である。あるいは、適宜の閾値T3を用いて、「CPU使用率を低い方から累積加算したときに、累積値がT3以下になる範囲に配信サービス制御サーバ204aが入っている」といった条件も利用可能である。
(p3)「配信サービス制御サーバ204aは、予め決められた優先順位が最高である」という条件。なお、多数の配信サービス制御サーバ204が存在する場合などは、適宜の閾値T4を用いて、「配信サービス制御サーバ204aは、予め決められた優先順位がT4位以内である」といった条件も利用可能である。また、優先順位は、IPアドレスの降順(または昇順)に配信サービス制御サーバ204a〜204cをソートしたときの順位などでもよいし、その他の任意に決められた順位でもよい。
さて、仮に、配信サービス制御サーバ204aの待機判定部518が「配信サービス制御サーバ204aは待機状態に移行してよい」と判断したとして、その後の処理について以下に説明する。
まず、待機判定部518は、現在の配信サービス制御サーバ204a自身の担当アクセスポイントの管理を他の配信サービス制御サーバ204bまたは204cに移譲するよう、アクセスポイント割り当て決定部514に要求する。すると、アクセスポイント割り当て決定部514は、担当アクセスポイント情報703のうち管理フラグの値が1のエントリを抽出して返すよう、担当アクセスポイント情報管理部506に要求する。
そして、アクセスポイント割り当て決定部514は、得られたエントリの各々について、当該エントリが表す担当アクセスポイントの移譲先を適宜決める。そして、アクセスポイント割り当て決定部514は、アクセスポイント割り当て実行部515と協働して、図10のステップS211およびS212と類似の方法により、決めた移譲先に当該担当アクセスポイントの管理を移譲する。
なお、移譲先は、起動中の配信サービス制御サーバ204のうちの任意のものでよいが、次のように決められてもよい。
例えば、配信サービス制御サーバ204aのアクセスポイント割り当て決定部514は、待機判定部518が待機判定情報として得たCPU使用率を使って移譲先を決めてもよい。つまり、アクセスポイント割り当て決定部514は、CPU使用率が配信サービス制御サーバ204a以外で最低の配信サービス制御サーバ204を、1つ目の担当アクセスポイントの移譲先としてもよい。また、アクセスポイント割り当て決定部514は、1つの担当アクセスポイントの管理を移譲し終わるたびに、図10のステップS208と類似の方法により、他のすべての配信サービス制御サーバ204のCPU使用率を取得しなおしてもよい。
すると、2つ目以降の担当アクセスポイントについて、配信サービス制御サーバ204aのアクセスポイント割り当て決定部514は、次のようにして当該担当アクセスポイントの移譲先の配信サービス制御サーバ204を決めることができる。つまり、配信サービス制御サーバ204aのアクセスポイント割り当て決定部514は、直近に取得したCPU使用率が配信サービス制御サーバ204a以外で最低の配信サービス制御サーバ204を、移譲先として選んでもよい。
以上のようにして、すべての担当アクセスポイントの管理を起動中のいずれかの配信サービス制御サーバ204に移譲し終わると、配信サービス制御サーバ204aのアクセスポイント割り当て決定部514は、移譲の完了を待機判定部518に報告する。すると、報告を受けた待機判定部518は、待機状態移行部519に対し、配信サービス制御サーバ204a自身を待機状態に移行させる処理を行うよう要求する。そして、待機状態移行部519が、要求に応じて配信サービス制御サーバ204aを待機状態に移行させる。
ところで、第1実施形態の制御装置103a〜103c、メッセージ送信装置104、第2実施形態の配信サービス制御サーバ204および医事業務サーバ205は、汎用のコンピュータにより実現することができる。図11はコンピュータの構成図であり、制御装置103a〜103c、メッセージ送信装置104、配信サービス制御サーバ204および医事業務サーバ205は、図11のコンピュータ800により実現することが可能である。
図11のコンピュータ800は、CPU801、Read Only Memory(ROM)802、Random Access Memory(RAM)803、通信インターフェイス804を備える。コンピュータ800はさらに、入力装置805、出力装置806、記憶装置807、可搬型記憶媒体810の駆動装置808を備える。そして、CPU801、ROM802、RAM803、通信インターフェイス804、入力装置805、出力装置806、記憶装置807、駆動装置808はバス809を介して接続されている。
CPU801は、プログラムをRAM803にロードして、RAM803をワークエリアとして使いながらプログラムを実行する。
通信インターフェイス804は、ネットワーク811を介して他の装置と通信を行うためのインターフェイスであり、例えば有線LANや無線LANのインターフェイスでもよい。ネットワーク811は任意のネットワークである。例えば、アクセスポイント203a〜203iと配信サービス制御サーバ204a〜204cと医事業務サーバ205が、ネットワーク811を介して接続されていてもよい。
また、入力装置805の例は、キーボードやポインティングデバイスなどであり、出力装置806の例は、ディスプレイやプリンタである。記憶装置807は、例えばハードディスク装置などの不揮発性記憶装置である。そして、可搬型記憶媒体810は、Compact Disc(CD)やDigital Versatile Disk(DVD)などの光ディスクでも、光磁気ディスクでも、磁気ディスクでも、フラッシュメモリなどの不揮発性の半導体メモリでもよい。
CPU801が実行するプログラムは、予めROM802または記憶装置807に記憶されていてもよい。または、ネットワーク811に接続されたプログラム提供者812(例えば他のコンピュータ)から、ネットワーク811と通信インターフェイス804を介して、プログラムが記憶装置807にダウンロードされてもよい。あるいは、可搬型記憶媒体810に記憶されたプログラムが、駆動装置808を介して読み取られ、記憶装置807にコピーされてもよい。
第1および第2実施形態の各部は、コンピュータ800によって例えば以下の(q1)〜(q4)のように実現することができる。
(q1)第1実施形態の記憶部105は、RAM803により実現されてもよいし、RAM803と記憶装置807の組み合わせにより実現されてもよい。例えば、静的な隣接関係情報107は、記憶装置807に記憶され、装置の起動時にRAM803に読み出されてもよい。
(q2)以下の各部は、例えば、他の装置との通信を行う通信インターフェイス804と、通信インターフェイス804と協働してプログラムにしたがって動作するCPU801により、実現されてもよい。
・移譲部111
・受任部112
・対応づけ部113
・通信部114
・移動情報・受付情報受信部501
・医事業務サーバ通知部505
・案内情報受信部507
・送信部509
・負荷状態管理部510
・他サーバ負荷状態確認部512
・他サーバ担当アクセスポイント確認部513
・アクセスポイント割り当て実行部515
・起動指示受信部516
・待機中サーバリモート起動部517
・待機判定部518
・受信部601
・送信部603
(q3)以下の各部は、例えば、プログラムにしたがって動作するCPU801により実現されてもよい。
・認識部109
・判定部110
・暗号解読部502
・データ解析部503
・暗号化部508
・負荷状態判定部511
・アクセスポイント割り当て決定部514
・待機状態移行部519
(q4)以下の各部は、例えば、情報を保持するRAM803と、他の装置との通信を行う通信インターフェイス804と、RAM803および通信インターフェイス804と協働してプログラムにしたがって動作するCPU801により実現されてもよい。情報を保持するために、さらに記憶装置807が利用されてもよい。例えば、図8の担当アクセスポイント情報703のうち、上記(f2)〜(f4)の静的な情報は、記憶装置807に記憶され、装置の起動時にRAM803に読み出されてもよい。
・患者位置管理部504
・担当アクセスポイント情報管理部506
・医事業務処理部602
ところで、本発明は上記の実施形態に限られるものではなく、例えば下記の(r1)〜(r8)の観点から、様々に変形可能である。
(r1)暗号に関する変形
第2実施形態では、医事業務サーバ205とカードホルダ202の間の通信路の一部においてメッセージが暗号化されるが、通信路の全部でメッセージが暗号化されてもよい。通信路のどこを暗号化するかは、例えば、「有線の通信路では暗号化を行わず、無線の通信路では傍受のおそれがあるので暗号化を行う」といった方針により決められてもよい。
また、第2実施形態では、メッセージに病歴が含まれる可能性や、診察を受けていること自体を知られたくない患者のプライバシーに配慮して暗号化が行われているが、逆に、システムが適用される応用分野によっては、暗号化がまったく行われなくてもよい。また、同じ通信路を通る場合でも、メッセージの種類によって暗号化をするか否かが異なっていてもよい。
なお、暗号アルゴリズムとしては、システムが実現しようとする堅牢性にあわせて、任意のものを採用することができる。例えば、共通鍵方式のData Encryption Standard(DES)や、公開鍵方式のRivest, Shamir, Adleman's method(RSA暗号)などが利用可能である。また、カードホルダ202からアクセスポイント203を介して配信サービス制御サーバ204に至る通信路での暗号アルゴリズムと、配信サービス制御サーバ204と医事業務サーバ205の間の通信路での暗号アルゴリズムは、同じでもよいし、別でもよい。
また、第2実施形態のアクセスポイント203は、暗号化されたメッセージを復号することなくそのまま中継する。しかし、アクセスポイント203は、メッセージを一旦復号し、必要に応じて再度暗号化してもよい。
(r2)負荷状態に関する変形
上記のように、負荷状態はCPU使用率以外の量により表されてもよいし、複数の量の組み合わせにより表されてもよい。よって、実施形態に応じて、図9のステップS103では、例えば、「CPU使用率が70%を超えており、かつ、メモリ使用率が50%を超えているか否か」といった複合的な判定条件が使われてもよい。あるいは、「CPU使用率やメモリ使用率などの各種の値から所定の式にしたがって算出されるスコアが、負荷判定閾値を超えているか否か」といった判定条件が使われてもよい。
(r3)負荷集中アクセスポイントを認識する条件に関する変更
図10のステップS201では、1つ以上のエントリにおける相対比較に基づいて、アクセスポイント割り当て決定部514が負荷集中アクセスポイントを認識している。しかし、実施形態によっては、アクセスポイント割り当て決定部514が、患者数の値が閾値を超えているエントリに対応するアクセスポイント203を、負荷集中アクセスポイントとして認識してもよい。例えば、アクセスポイント203の平面的な無線通信範囲の平均的面積に収容可能な人数の上限値を見積もり、上限値に適宜の割合(例えば「50%」など)を乗じた数を閾値として用いてもよい。
なお、患者数の値が閾値を超えているエントリが1つ以上あれば、アクセスポイント割り当て決定部514は、その1つ以上のエントリの中で患者数の値が最も大きいものに対応するアクセスポイント203を負荷集中アクセスポイントとして認識してもよい。また、患者数の値が閾値を超えているエントリが存在しない可能性もあるが、その場合は、アクセスポイント割り当て決定部514は、患者数の値が相対的に最も大きいエントリに対応するアクセスポイント203を負荷集中アクセスポイントとして認識すればよい。
また、図10のステップS201では、アクセスポイント割り当て決定部514が1つだけ負荷集中アクセスポイントを認識している。その理由は、比較的患者数の多い担当アクセスポイントが2つ以上あった場合には、図9のステップS101で次にトリガが検出されたときに、再度ステップS103からステップS104へと処理が進むと期待されるからである。
例えば、患者数が100人、95人、15人の担当アクセスポイントがある場合、ステップS104で図10の処理が行われ、患者数が100人の担当アクセスポイントに関して隣接アクセスポイントの管理の移譲が試みられる。しかし、それでも依然として負荷が高ければ、次のステップS101でトリガが検出されたときに、再度ステップS104が実行され、今度は患者数が95人の担当アクセスポイントに関して隣接アクセスポイントの管理の移譲が試みられる。
よって、実施形態に応じて適切なトリガが定義されていれば、比較的患者数の多い担当アクセスポイントが2つ以上あった場合に、その中で2つ目以降の担当アクセスポイントについても、程なく、隣接アクセスポイントの管理の移譲が試みられることになる。したがって、図10のステップS201でアクセスポイント割り当て決定部514が負荷集中アクセスポイントとして認識するのが1つだけだとしても、比較的患者数の多い担当アクセスポイントが2つ以上ある場合にも実質的に対処可能なのである。
しかし、もちろん実施形態によっては、アクセスポイント割り当て決定部514は、図10のステップS201において複数の負荷集中アクセスポイントを認識してもよい。
例えば、図10のステップS201において、担当アクセスポイント情報管理部506から複数のエントリが得られ、その中で患者数の値が相対的に最大のものが複数存在することがある。その場合、アクセスポイント割り当て決定部514は、患者数の値が相対的に最大の各エントリに対応する複数のアクセスポイント203を、負荷集中アクセスポイントとして認識してもよい。
なお、ステップS201で複数の負荷集中アクセスポイントを認識した場合、アクセスポイント割り当て決定部514は、負荷集中アクセスポイントの各々についてステップS202以降の処理を行う。ただし、図10のステップS202とS204でアクセスポイント割り当て処理を終了する条件が成立する場合には、次の(s1)と(s2)のように、処理が変形される。
(s1)未処理の次の負荷集中アクセスポイントが残っていれば、次の負荷集中アクセスポイントに関して、ステップS202を行う。
(s2)すべての負荷集中アクセスポイントについて処理済であれば、アクセスポイント割り当て処理を終了する。
(r4)移譲先の選択に関する変形
電子カルテシステム200を設計するに際しての事前の予測が外れた場合などは、図10のステップS214において、待機状態の配信サービス制御サーバ204が存在しないことがあるかもしれない。その場合は仕方がないので、アクセスポイント割り当て決定部514は、図10のアクセスポイント割り当て処理をすぐに終了してもよい。あるいは、アクセスポイント割り当て決定部514は、以下に説明する「均等化処理」を行ってから図10の処理を終了してもよい。
均等化処理は、移譲の対象となるアクセスポイント203がまだ残っているのに、移譲先として適切な配信サービス制御サーバ204が尽きてしまった場合に、電子カルテシステム200内で次段階の負荷がなるべく均等になるようにするための処理である。つまり、均等化処理は、あくまでも次善の策ではあるが、少しでも負荷を均すことを目的とする。
例えば、次の(t1)〜(t6)のような状況を例にして均等化処理について説明する。
(t1)電子カルテシステム200に含まれる配信サービス制御サーバ204が、配信サービス制御サーバ204a〜204cの3台のみであるとする。
(t2)電子カルテシステム200に含まれるアクセスポイント203は、図3のように配置された9台であるとする。
(t3)配信サービス制御サーバ204aが図10の処理を開始し、ステップS201で、アクセスポイント割り当て決定部514がアクセスポイント203cを負荷集中アクセスポイントとして認識したとする。
(t4)上記(t3)における図10の処理の実行時に、アクセスポイント203cの隣接アクセスポイントのうち、3つのアクセスポイント203b、203d、203fが、配信サービス制御サーバ204aの担当アクセスポイントであるとする。
(t5)上記(t3)における図10の処理の実行時に、アクセスポイント203cの隣接アクセスポイントのうち残りの1つのアクセスポイント203gが、配信サービス制御サーバ204bの担当アクセスポイントであるとする。
(t6)配信サービス制御サーバ204bと204cの負荷は図10のステップS209における基準以下であるとする。
第2実施形態では、上記の(t1)〜(t6)の状況下で、配信サービス制御サーバ204cが、(t4)に述べた3つの隣接アクセスポイントのうちのいずれか任意の1つに関して、管理の移譲先として選択されうる。なぜなら、上記(t4)〜(t6)より、配信サービス制御サーバ204cは、起動中にせよ待機状態にせよ、負荷集中アクセスポイントの隣接アクセスポイントの管理の移譲先としての第2実施形態における条件を満たすからである。
しかし、第2実施形態によれば、アクセスポイント割り当て決定部514は、上記の(t1)〜(t6)の状況下で、(t4)に述べた3つの隣接アクセスポイントうち残りの2つの管理の移譲先の配信サービス制御サーバ204を見つけることができない。理由は、上記(t1)の仮定と、図10のステップS209の判定条件のためである。
以上の(t1)〜(t6)の場合のように、図10のステップS214で待機状態の配信サービス制御サーバ204が存在しないこともありうる。その場合、配信サービス制御サーバ204aのアクセスポイント割り当て決定部514は、均等化処理として次のような処理を行ってもよい。
つまり、アクセスポイント割り当て決定部514は、負荷集中アクセスポイントの4台の隣接アクセスポイントを、電子カルテシステム200内の配信サービス制御サーバ204間でなるべく均等に分担する仕方を決める。例えば、アクセスポイント割り当て決定部514は、均等な分担の仕方を、次の(u1)と(u2)の方針にしたがって決めてもよいし、(u3)の方針にしたがって決めてもよい。
(u1)1<4/3<2なので、各配信サービス制御サーバ204a〜204cが、負荷集中アクセスポイントの4台の隣接アクセスポイントのうち少なくとも1台担当することにする。
(u2)4−1×3=1なので、負荷集中アクセスポイントの4台の隣接アクセスポイントのうち残り1台は、いずれかの配信サービス制御サーバ204がさらに担当することになる。負荷集中アクセスポイントの隣接アクセスポイントを2台担当することになるこの配信サービス制御サーバ204は、具体的には、例えば、配信サービス制御サーバ204a〜204cの中でCPU使用率が最低のものでもよい。
(u3)電子カルテシステム200は、図10の処理を行っている配信サービス制御サーバ204a自身を除くと、2台の配信サービス制御サーバ204bと204cを含む。ここで、4/(3−1)=2なので、配信サービス制御サーバ204bと204cの各々が、負荷集中アクセスポイントの隣接アクセスポイントを2台ずつ担当することにする。なお、この例では「4/(3−1)=2」と整数が得られるが、整数が得られない場合は、上記(u2)と同様に、余った隣接アクセスポイントの管理の割り当て先の決定をアクセスポイント割り当て決定部514がさらに行う。
そして、配信サービス制御サーバ204aのアクセスポイント割り当て決定部514は、配信サービス制御サーバ204a〜204cの各々について、負荷集中アクセスポイントの隣接アクセスポイントをいくつ管理しているか数える。さらに、アクセスポイント割り当て決定部514は、数えた結果に基づいて、以上のようにして決めた均等な分担の仕方の台数よりも少ない台数しか管理していない配信サービス制御サーバ204を特定する。
そして、配信サービス制御サーバ204aのアクセスポイント割り当て決定部514は、特定した配信サービス制御サーバ204へ、負荷集中アクセスポイントの隣接アクセスポイントの管理の移譲を行う。具体的には、移譲は、負荷集中アクセスポイントの隣接アクセスポイントのうち配信サービス制御サーバ204a自身が管理する台数が、均等な分担の仕方として決めた台数以下になるまで、行われる。
例えば、上記(t1)〜(t6)の状況下で、上記(u3)の方針にしたがって配信サービス制御サーバ204aのアクセスポイント割り当て決定部514が均等な分担の仕方を決めたとする。すると、負荷集中アクセスポイントの隣接アクセスポイントを管理する台数は、配信サービス制御サーバ204a〜204cに対してそれぞれ、0台、2台、2台となる。
また、この「0台、2台、2台」という台数が決められる時点で既に、配信サービス制御サーバ204bと204cはいずれも負荷集中アクセスポイントの隣接アクセスポイントを1台担当している。なぜなら、配信サービス制御サーバ204bに関しては(t5)の前提があるからである。また、配信サービス制御サーバ204cに関しては、均等化処理の前に、既に(t4)の3台のアクセスポイント203b、203d、203fのうちいずれか1台(以下では、説明の便宜上、アクセスポイント203fとする)の管理が移譲されているからである。
よって、配信サービス制御サーバ204aのアクセスポイント割り当て決定部514は、移譲されずに残っているアクセスポイント203bと203dの2台の管理を、配信サービス制御サーバ204bと204cに1台分ずつ移譲する。移譲の具体的手順は図10のステップS211およびS212と同様である。
以上のようにして、負荷集中アクセスポイントの隣接アクセスポイントの管理は、均等な分担の仕方として決めた台数よりも少ない台数しか管理していない配信サービス制御サーバ204へと、適宜、追加的に移譲される。その結果、負荷集中アクセスポイントの隣接アクセスポイントの管理は、電子カルテシステム200内の配信サービス制御サーバ204間で比較的均等に分担されるようになる。
(r5)移譲にともなう情報の更新を行うための指示伝達経路に関する変形
実施形態によっては、図10のステップS211に関して説明した(i2)と、ステップS215に関して説明した(k2)の処理は省略されてもよい。そして、(i3)と(k3)の処理の代わりに、移譲先の配信サービス制御サーバ204の担当アクセスポイント情報管理部506において、患者数の値が0に初期化されてもよい。
具体的には、カードホルダ202が、ハンドオーバ時以外にも定期的にアクセスポイント203へ自発的に在圏通知メッセージを送る実施形態において、上記のような(i2)、(i3)、(k2)、(k3)の処理の変形が可能である。
つまり、カードホルダ202は、同じアクセスポイント203の配下に留まり続ける場合であっても、ビーコン送信部404から定期的に送信されるビーコンに対して、在圏通知メッセージを送信してもよい。在圏通知メッセージの送信にともなう各種処理は、エリア参加通知メッセージの送信にともなう各種処理と同様である。
すなわち、在圏通知メッセージは、カードホルダ202の在圏情報管理部304におけるビーコンの受信を契機として、暗号化部302を介して無線送信部303から送信される。そして、在圏通知メッセージは、アクセスポイント203の移動情報・受付情報無線受信部401で受信される。
すると、移動情報・受付情報サーバ通知部402が、通知先の配信サービス制御サーバ204のIPアドレスとポート番号を通知対象サーバ情報管理部403から得てメッセージの宛先として設定し、在圏通知メッセージを送信する。ここで、送信先の配信サービス制御サーバ204は、アクセスポイント203の管理の移譲にともなって、切り替わったばかりかもしれない。
すると、移譲先の配信サービス制御サーバ204において、在圏通知メッセージが移動情報・受付情報受信部501で受信され、暗号解読部502で復号される。そして、データ解析部503は「入力されたメッセージは在圏通知メッセージである」と認識し、エリア参加通知メッセージの場合と同様に、患者IDとカードホルダIDとアクセスポイントIDを読み取る。すると、やはりエリア参加通知メッセージの場合と同様に、患者位置管理部504が新たなエントリを作成して患者位置情報702に追加する。
以上のようにして、第2実施形態における(i2)、(i3)、(k2)、(k3)の処理が変形されてもよい。つまり、アクセスポイント203の管理の移譲は、通知対象サーバ情報701、患者位置情報702および担当アクセスポイント情報703の更新をともなうが、更新のための指示伝達経路は、第2実施形態に示したような経路に限られない。各種情報の更新のための指示伝達経路は実施形態により任意である。
上記に例示した以外にも、例えばアクセスポイント203aの管理を配信サービス制御サーバ204aが配信サービス制御サーバ204bに移譲する場合に、次のような指示伝達経路も可能である。
すなわち、アクセスポイント203aが保持する通知対象サーバ情報701の更新は、配信サービス制御サーバ204aから配信サービス制御サーバ204bを介してアクセスポイント203aへと指示されてもよい。また、配信サービス制御サーバ204bが保持する担当アクセスポイント情報703の管理フラグの更新は、配信サービス制御サーバ204aからアクセスポイント203aを介して配信サービス制御サーバ204bへと指示されてもよい。
なお、指示伝達経路によっては、情報の更新までに多少の遅延が生じることもある。そこで、例えば、患者位置管理部504は、新たなエントリを患者位置情報702に追加する際に、医事業務サーバ通知部505に対して、以下のような「遅延対応処理」を行うよう要求してもよい。
つまり、患者位置管理部504は、「追加した新たなエントリに対応する患者へのメッセージが、現在から一定時間以内の過去に送信されたか否か」を医事業務サーバ205に問い合わせるよう、医事業務サーバ通知部505に要求してもよい。医事業務サーバ通知部505は要求に応じて問い合わせを行う。
医事業務サーバ205は、問い合わせに該当する送信の事実があれば、問い合わせを行った配信サービス制御サーバ204に対して、ユニキャストにより当該患者宛のメッセージを再送する。他方、送信の事実がなければ、医事業務サーバ205は、その旨を配信サービス制御サーバ204に回答する。
もし、問い合わせに対して医事業務サーバ205からメッセージが再送されれば、通常のマルチキャストによるメッセージの配信の場合と同様にして、再送されたメッセージは宛先の患者が携帯するカードホルダ202まで配信される。したがって、アクセスポイント203の管理の移譲にともなう情報の更新に多少の遅延があっても、上記の「一定時間」を適宜設定することで、メッセージの配信漏れをなくすことができる。例えば、上記の「一定時間」は、ビーコンの送信間隔に適宜のマージンを上乗せした時間でもよい。
(r6)適用分野に関する変形
第2実施形態では、具体例として、医療機関で使われる電子カルテシステム200を取り上げた。しかし、第1および第2実施形態のシステムは、それ以外の様々な分野にも適用可能である。
例えば、展覧会等のイベントの会場で、第1実施形態の移動端末101a〜101cまたは第2実施形態のカードホルダ202a〜202fのような端末機を来場者に携帯させてもよい。そして、メッセージ送信装置104または医事業務サーバ205は、個々の来場者の端末機へ展示品や順路などに関する情報を含むメッセージを送るよう、適宜変形されてもよい。
また、物流拠点の倉庫などで、第1実施形態の移動端末101a〜101cまたは第2実施形態のカードホルダ202a〜202fのような端末機を出荷作業員に携帯させてもよい。そして、メッセージ送信装置104または医事業務サーバ205は、個々の出荷作業員の端末機へ、出荷のために次に取り出す物品の名称、数量、保管場所などに関する情報を含むメッセージを送るよう、適宜変形されてもよい。
このように他の分野に応用された場合でも、上記実施形態と同様の効果が得られる。すなわち、端末機の空間的な分布の変化につれて、仮に、一時的に制御装置103a〜103cまたは配信サービス制御サーバ204a〜204cのいずれかに負荷が集中したとしても、負荷の集中が持続しないように、システム内で自律分散的な制御が行われる。
また、応用分野によっては、ユーザと移動端末が1対1に対応していてもよい。その場合、ユーザを識別するID(例えば患者ID)と移動端末を識別するID(例えばカードホルダID)の双方を配信サービス制御サーバ204が管理する必要はない。
(r7)順路が決められている場合の変形
上記のイベント会場への適用例のように、少なくとも一部の移動経路について順路が決められている場合には、移譲の対象が限定されていてもよい。つまり、隣接中継装置(隣接アクセスポイント)のうち、順路に沿った移動では負荷集中中継装置(負荷集中アクセスポイント)の直後になる(あるいはその可能性がある)位置に設置されているもののみが、移譲の対象であってもよい。
例えば、図3において、受付事務を行う部屋に設置されたアクセスポイント203cが負荷集中アクセスポイントとして認識されたとする。この場合、もし「受付事務を行う部屋から直接内科診察室へ行く」という順路が存在しないならば、アクセスポイント203cの隣接アクセスポイントのうち、内科診察室に設置されたアクセスポイント203bは移譲の対象から除外してもよい。なぜなら、受付エリア206cからすぐに内科エリア206bへ移動する患者は存在しないと予測され、したがって、アクセスポイント203bの管理を他の配信サービス制御サーバ204に移譲しても、負荷の軽減は期待しがたいからである。
このように、少なくとも一部の移動経路について順路が決められている場合には、順路に基づいて、「負荷の軽減に有益」と予想される隣接中継装置のみを移譲の対象とし、移譲のための処理負荷を減らすこともできる。
(r8)データ形式に関する変形
装置間で送受信される各種メッセージの形式や、図6〜8に例示したような各種情報の形式は、実施形態に応じて適宜変更可能である。例えば、カードホルダ202が送信するメッセージがアクセスポイントIDを含んでいる場合、配信サービス制御サーバ204は、アクセスポイントIDを含む形でメッセージを医事業務サーバ205に送信してもよいし、アクセスポイントIDを除いてもよい。また、図6〜8にはテーブル形式で各種情報を例示したが、eXtensible Markup Language(XML)形式など、その他の任意のデータ形式で各種情報が表現されてもよい。
また、ハンドオーバの処理の具体的方法によっては、アクセスポイント203が配下のカードホルダ202のカードホルダIDを記憶していてもよいし、エリア参加通知メッセージの形式が上記実施形態で例示したものと異なっていてもよい。
最後に、上記の種々の実施形態に関して、さらに下記の付記を開示する。
(付記1)
コンピュータに、
複数の移動端末と複数の中継装置を備える無線通信システムにおける前記複数の中継装置のうち、前記コンピュータが管理する1つ以上の管理対象中継装置の中で、当該管理対象中継装置を介して無線通信を行う移動端末の数が相対的に多いか、または前記数が閾値を超える管理対象中継装置を、負荷集中中継装置として認識する認識ステップと、
複数の前記中継装置の中で前記負荷集中中継装置に空間的に隣接する中継装置である隣接中継装置が、前記管理対象中継装置の中に含まれるか否かを判定する判定ステップと、
前記隣接中継装置が前記管理対象中継装置の中に含まれると判定した場合、前記隣接中継装置の管理を他のコンピュータに移譲することを示す第1の通知を送信する移譲ステップと、
複数の前記中継装置のうちのある中継装置の管理を前記コンピュータに移譲することを示す第2の通知を受信したとき、前記第2の通知により管理が移譲された前記中継装置を前記管理対象中継装置に含める受任ステップと、
を実行させる制御プログラム。
(付記2)
前記コンピュータの負荷の量が、高負荷を示す所定の条件を満たす場合に、前記認識ステップを前記コンピュータに実行させることを特徴とする付記1に記載の制御プログラム。
(付記3)
1つ以上の他のコンピュータの中から、前記隣接中継装置のいずれをも管理の対象としていないコンピュータを、前記隣接中継装置の管理を移譲する相手として選択する選択ステップを
さらに前記コンピュータに実行させることを特徴とする付記1または2に記載の制御プログラム。
(付記4)
前記選択ステップで選択する前記相手は、起動中の他のコンピュータのうち負荷の量が基準を下回るものであることを特徴とする付記3に記載の制御プログラム。
(付記5)
前記選択ステップで選択する前記相手は、待機状態の他のコンピュータであり、
選択した前記待機状態の前記他のコンピュータを起動させる起動ステップをさらに前記コンピュータに実行させることを特徴とする付記3に記載の制御プログラム。
(付記6)
前記第1の通知は、前記隣接中継装置の管理を移譲する相手である前記他のコンピュータと前記隣接中継装置の少なくとも一方へ送信され、
前記第2の通知は、他のコンピュータから送信されるか、または前記第2の通知により管理が移譲される対象である前記中継装置から送信される
ことを特徴とする付記1から5のいずれか1項に記載の制御プログラム。
(付記7)
負荷の量を1つ以上の他のコンピュータとの間で通知しあう通知ステップと、
前記コンピュータ自身の前記負荷の量と、前記通知ステップで得た前記他のコンピュータの前記負荷の量に基づいて、待機状態に移行する条件が満たされているか否かを判断し、前記条件が満たされているときには前記待機状態に移行する待機状態移行ステップを
さらに前記コンピュータに実行させることを特徴とする付記1から6のいずれか1項に記載の制御プログラム。
(付記8)
個々の前記管理対象中継装置を介して無線通信を行う移動端末を識別する端末識別情報を、当該個々の前記管理対象中継装置から受信して当該個々の前記管理対象中継装置と対応づけて記憶する対応づけステップと、
前記端末識別情報を記憶している前記移動端末との間で、前記端末識別情報と対応づけられた前記管理対象中継装置を介して通信を行う通信ステップ
をさらに前記コンピュータに実行させることを特徴とする付記1から7のいずれか1項に記載の制御プログラム。
(付記9)
コンピュータが、
複数の移動端末と複数の中継装置を備える無線通信システムにおける前記複数の中継装置のうち、前記コンピュータが管理する1つ以上の管理対象中継装置の中で、当該管理対象中継装置を介して無線通信を行う移動端末の数が相対的に多いか、または前記数が閾値を超える管理対象中継装置を、負荷集中中継装置として認識し、
複数の前記中継装置の中で前記負荷集中中継装置に空間的に隣接する中継装置である隣接中継装置が、前記管理対象中継装置の中に含まれるか否かを判定し、
前記隣接中継装置が前記管理対象中継装置の中に含まれると判定した場合、前記隣接中継装置の管理を他のコンピュータに移譲することを示す第1の通知を送信し、
複数の前記中継装置のうちのある中継装置の管理を前記コンピュータに移譲することを示す第2の通知を受信したとき、前記第2の通知により管理が移譲された前記中継装置を前記管理対象中継装置に含める
ことを特徴とする制御方法。
(付記10)
複数の移動端末と複数の中継装置を備える無線通信システムにおいて、前記複数の中継装置のうち1つ以上を管理する制御装置であって、
前記複数の中継装置のうち、前記制御装置が管理する1つ以上の管理対象中継装置の中で、当該管理対象中継装置を介して無線通信を行う移動端末の数が相対的に多いか、または前記数が閾値を超える管理対象中継装置を、負荷集中中継装置として認識する認識手段と、
複数の前記中継装置の中で前記負荷集中中継装置に空間的に隣接する中継装置である隣接中継装置が、前記管理対象中継装置の中に含まれるか否かを判定する判定手段と、
前記隣接中継装置が前記管理対象中継装置の中に含まれると前記判定手段が判定した場合、前記隣接中継装置の管理を他の制御装置に移譲することを示す第1の通知を送信する移譲手段と、
複数の前記中継装置のうちのある中継装置の管理を前記制御装置に移譲することを示す第2の通知を受信し、前記第2の通知により管理が移譲された前記中継装置を前記管理対象中継装置に含める受任手段
を備えることを特徴とする制御装置。
(付記11)
複数の移動端末と、
複数の中継装置と、
複数の制御装置を備える無線通信システムであって、
前記複数の制御装置のうち少なくとも1つが、
前記複数の中継装置のうち、当該制御装置が管理する1つ以上の管理対象中継装置の中で、当該管理対象中継装置を介して無線通信を行う移動端末の数が相対的に多いか、または前記数が閾値を超える管理対象中継装置を、負荷集中中継装置として認識する認識手段と、
複数の前記中継装置の中で前記負荷集中中継装置に空間的に隣接する中継装置である隣接中継装置が、前記管理対象中継装置の中に含まれるか否かを判定する判定手段と、
前記隣接中継装置が前記管理対象中継装置の中に含まれると前記判定手段が判定した場合、前記隣接中継装置の管理を他の制御装置に移譲することを示す第1の通知を送信する移譲手段と、
複数の前記中継装置のうちのある中継装置の管理を前記制御装置に移譲することを示す第2の通知を受信し、前記第2の通知により管理が移譲された前記中継装置を前記管理対象中継装置に含める受任手段
を備えることを特徴とする無線通信システム。