(58)【調査した分野】(Int.Cl.,DB名)
前記共有ユーザ情報の認証結果に応じて前記サーバから送信され、前記登録データを入力するためのデータ入力画面を受信した後、前記端末装置をロック状態とするロック手段を有することを特徴とする請求項1〜4のいずれか1項に記載の端末装置。
前記データ特定手段は、前記端末装置から当該端末装置の利用を許可した時間であるロック解除時間と前記端末装置の利用を不許可した時間であるロック設定時間を受けて、前記ユーザ識別情報に応じて前記ロック解除時間と前記ロック設定時間との間で登録された登録データを特定することを特徴とする請求項7に記載のサーバ装置。
【発明の概要】
【発明が解決しようとする課題】
【0008】
ところで、特許文献1に記載の手法では、セッションがタイムアウトした後においても自動的な再接続を行うことができるものの、前述のように、セッションの再開に必要なデータを一旦退避させて、再開の際にこの退避データを抽出してセッション情報を復元する必要がある。このため、通常のセッション管理を用いることができないばかりか、コストアップとなり、しかも運用が煩雑となってしまう。
【0009】
一方、クライアント端末上のWebブラウザからデータを入力して、Webサーバを介してデータベースに当該データを蓄積するWebシステムを構築した際、一般に当該Webシステムはユーザ毎にログインおよびログアウトを行う運用となる。
【0010】
ところが、例えば、医療現場においては、呼出および急な対応も多く、看護師などの医療従事者が、データを入力する都度Webシステムにログインおよびログアウトを繰り返すことは極めて煩雑であり、Webシステムを適用することが困難なことがある。
【0011】
このような煩雑さに対して、1つのログインユーザによってWebシステムにログインしておき、データを入力させるようにした手法があるが、この場合、1つのログインユーザでデータが管理されることになるので、誰がいずれのデータを入力したのかを管理することが難しく運用上の問題がある。
【0012】
さらに、1つのログインユーザを用いて、セッション管理によってWebシステムを構築すると、所定の時間が経過するとセッションが断とされてしまうので、定期的に再ログインをしなければならず、運用が煩雑となってしまう。
【0013】
特に、病棟など24時間365日稼働している現場においては、ログインおよびログアウトは最小限にしたいという要望がある。また、24時間365日稼働していない現場であっても、やはりログインおよびログアウトは最小限にしたいという要望がある。
【0014】
加えて、医療現場などでは、共有のコンピュータを利用する場合と個人配布のコンピュータを利用する場合とがあり、このようは状況ではセッション管理について一律的な管理を行うことは適当でない。
【0015】
そこで、本発明の目的は、
共有ユーザに係るセッション
で登録されたデータに対し、当該データを入力したユーザを管理することのできる端末装置、サーバ装置、その制御方法、および制御プログラム、並びに情報処理システムを提供することにある。
【課題を解決するための手段】
【0016】
上記の目的を達成するため、本発明による端末装置は、セッションを管理するサーバ装置と通信可能な端末装置であって、
共有ユーザに係る共有ユーザ情報を送信して前記サーバ装置へログインを要求するログイン要求手段と、前記
ログイン要求に基づいて開始された前記共有ユーザ情報に係るセッションにおいて
入力されたデータを登録データとして前記サーバ装置に送信する登録データ送信手段と、前記共有ユーザ情報に対応して前記サーバ装置に登録された登録データを、前記端末装置を使用したユーザが登録した登録データとすべく、
前記登録データ送信手段による前記登録データの送信とは別の通信により、当該端末装置を使用するために受け付けたユーザに係るユーザ識別情報を、前記サーバ装置に送信する登録ユーザ情報送信手段と、を有することを特徴とする。
【0017】
本発明によるサーバ装置は、
共有ユーザに係る共有ユーザ情報を送信して
サーバ装置へログインを要求するログイン要求手段と、前記
ログイン要求に基づいて開始された前記共有ユーザ情報に係るセッションにおいて
入力されたデータを登録データとして前記サーバ装置に送信する登録データ送信手段と、前記共有ユーザ情報に対応して前記サーバ装置に登録された登録データを、端末装置を使用したユーザが登録した登録データとすべく、
前記登録データ送信手段による前記登録データの送信とは別の通信により、当該端末装置を使用するために受け付けたユーザに係るユーザ識別情報を前記サーバ装置に送信する登録ユーザ情報送信手段とを備える端末装置と通信可能なセッションを管理するサーバ装置であって、前記端末装置から前記共有ユーザ情報にかかるセッションで受信した前記登録データを、前記端末装置から受信した前記ユーザ識別情報を用いて
更新する
更新手段を有することを特徴とする。
【0018】
本発明による情報処理システムは、セッションを管理するサーバ装置と、該サーバ装置と通信可能な端末装置とを有する情報処理システムであって、前記端末装置は、
共有ユーザに係る共有ユーザ情報を送信して前記サーバ装置へログインを要求するログイン要求手段と、前記
ログイン要求に基づいて開始された前記共有ユーザ情報に係るセッションにおいて
入力されたデータを登録データとして前記サーバ装置に送信する登録データ送信手段と、前記共有ユーザ情報に対応して前記サーバ装置に登録された登録データを、前記端末装置を使用したユーザが登録した登録データとすべく、
前記登録データ送信手段による前記登録データの送信とは別の通信により、当該端末装置を使用するために受け付けたユーザに係るユーザ識別情報を、前記サーバ装置に送信する登録ユーザ情報送信手段とを有し、前記サーバ装置は、前記端末装置から前記共有ユーザ情報にかかるセッションで受信した前記登録データを、前記端末装置から受信した前記ユーザ識別情報を用いて
更新する
更新手段を有することを特徴とする。
【0019】
本発明による端末装置の制御方法は、セッションを管理するサーバ装置と通信可能な端末装置の制御方法であって、
共有ユーザに係る共有ユーザ情報を送信して前記サーバ装置へログインを要求するログイン要求ステップと、前記
ログイン要求に基づいて開始された前記共有ユーザ情報に係るセッションにおいて
入力されたデータを登録データとして前記サーバ装置に送信する登録データ送信ステップと、前記共有ユーザ情報に対応して前記サーバ装置に登録された登録データを、前記端末装置を使用したユーザが登録した登録データとすべく、
前記登録データ送信ステップによる前記登録データの送信とは別の通信により、当該端末装置を使用するために受け付けたユーザに係るユーザ識別情報を、前記サーバ装置に送信する登録ユーザ情報送信ステップと、を有することを特徴とする。
【0020】
本発明によるサーバ装置の制御方法は、
共有ユーザに係る共有ユーザ情報を送信して
サーバ装置へログインを要求するログイン要求手段と、前記
ログイン要求に基づいて開始された前記共有ユーザ情報に係るセッションにおいて
入力されたデータを登録データとして前記サーバ装置に送信する登録データ送信手段と、前記共有ユーザ情報に対応して前記サーバ装置に登録された登録データを、端末装置を使用したユーザが登録した登録データとすべく、
前記登録データ送信手段による前記登録データの送信とは別の通信により、当該端末装置を使用するために受け付けたユーザに係るユーザ識別情報を前記サーバ装置に送信する登録ユーザ情報送信手段とを備える端末装置と通信可能なセッションを管理するサーバ装置の制御方法であって、前記端末装置から前記共有ユーザ情報にかかるセッションで受信した前記登録データを、前記端末装置から受信した前記ユーザ識別情報を用いて
更新する
更新ステップを有することを特徴とする。
【0021】
本発明による端末装置で用いられるプログラムは、セッションを管理するサーバ装置と通信可能な端末装置で用いられる制御プログラムであって、前記端末装置が備えるコンピュータに、
共有ユーザに係る共有ユーザ情報を送信して前記サーバ装置へログインを要求するログイン要求ステップと、前記
ログイン要求に基づいて開始された前記共有ユーザ情報に係るセッションにおいて
入力されたデータを登録データとして前記サーバ装置に送信する登録データ送信ステップと、前記共有ユーザ情報に対応して前記サーバ装置に登録された登録データを、前記端末装置を使用したユーザが登録した登録データとすべく、
前記登録データ送信ステップによる前記登録データの送信とは別の通信により、当該端末装置を使用するために受け付けたユーザに係るユーザ識別情報を、前記サーバ装置に送信する登録ユーザ情報送信ステップと、を実行させることを特徴とする。
【0022】
本発明によるサーバ装置で用いられる制御プログラムは、
共有ユーザに係る共有ユーザ情報を送信して
サーバ装置へログインを要求するログイン要求手段と、前記
ログイン要求に基づいて開始された前記共有ユーザ情報に係るセッションにおいて
入力されたデータを登録データとして前記サーバ装置に送信する登録データ送信手段と、前記共有ユーザ情報に対応して前記サーバ装置に登録された登録データを、端末装置を使用したユーザが登録した登録データとすべく、
前記登録データ送信手段による前記登録データの送信とは別の通信により、当該端末装置を使用するために受け付けたユーザに係るユーザ識別情報を前記サーバ装置に送信する登録ユーザ情報送信手段とを備える端末装置と通信可能なセッションを管理するサーバ装置で用いられる制御プログラムであって、前記サーバ装置が備えるコンピュータに、前記端末装置から前記共有ユーザ情報にかかるセッションで受信した前記登録データを、前記端末装置から受信した前記ユーザ識別情報を用いて
更新する
更新ステップを実行させることを特徴とする。
【発明の効果】
【0023】
本発明によれば、
共有ユーザに係るセッション
で登録されたデータに対し、当該データを入力したユーザを管理することができる。
【発明を実施するための形態】
【0025】
以下、本発明の実施の形態によるサーバ装置および端末装置を備える情報処理システムの一例について図面を参照して説明する。
【0026】
[第1の実施形態]
図1は、本発明の第1の実施形態によるサーバ装置および端末装置を備える情報処理システムの一例についてその構成を示す図である。
【0027】
図1において、複数の端末装置(以下クライアント端末と呼ぶ)200がLAN(ローカルエリアネットワーク)400に接続され、このLANにはサーバ装置(例えば、Webサーバ)100が接続されている。図示のクライアント端末200の一部は、例えば、共有PCであり、残りは個人用のPCである。
【0028】
なお、LAN400の代わりにWANを用いるようにしてもよく、認証サーバ(図示せず)をLAN400に接続するようにしてもよい。
【0029】
Webサーバ100にはWebアプリケーションがインストールされており、クライアント端末200の各々は、Webブラウザを用いてWebサーバ100上で動作するWebアプリケーションと通信する。Webサーバ100にはデータベース(DB)100aが備えられており、Webアプリケーションで用いるデータはDB100aに保存される。
【0030】
なお、DB100aは、別データベースサーバ(図示せず)によって管理するようにしてもよい。また、ここでは、Webアプリケーションを利用する際の認証を行うため、Webサーバ100がユーザテーブルを備える構成としたが、他のサーバ(例えば、認証サーバ)がユーザテーブルを備えて認証を行うようにしてもよい。
【0031】
さらに、後述するカード認証とWebアプリケーションによる認証とは、互いに別の認証とし、Webアプリケーションによる認証はWebサーバのユーザテーブルを用いて認証が行われ、カード認証を行う際には、認証サーバで認証を行うようにしてもよい。
【0032】
例えば、病院の拠点内の各エリア(例えば、病棟又は事務室毎)に1又は複数のクライアント端末200が共有PCとして設置されている。また、個人用のPCも適宜設置されており、これらクライアント端末200は、前述のように、LAN400に接続される。
【0033】
クライアント端末200の各々はWebブラウザを用いて、Webサーバ(つまり、Webアプリケーション)との間でLAN400を介してデータの送受信を行い、さらにDB100aにアクセスを行う。
【0034】
また、図示はしないが、クライアント端末200の各々には、カードリーダが備えられており、このカードリーダは非接触でカードを検知する。つまり、カードリーダにカードがかざされると、カードリーダはカードを検知する。そして、カードが検知されると、クライアント端末200はコンピュータロックを解除する。一方、カードリーダがカードのはずしを検知すると、クライアント端末200はコンピュータロックを設定する。つまり、クライアント端末200の各々にはコンピュータロックの解除および設定を行うアプリケーションがインストールされている。
【0035】
なお、図示の例では、コンピュータロックの解除および設定(コンピュータロック制御という)を、カードを用いて行うようにしたが、指紋などの生体認証を用いてコンピュータロックの解除および設定を行うようにしてもよい。
【0036】
カードによるコンピュータロック制御は、例えば、後述するユーザテーブルを参照し、カード情報(例えば、カードID)がユーザテーブルに登録されたカード情報と一致した場合にコンピュータロックが解除される。
【0037】
以下の説明では、コンピュータロックの設定および解除という文言を用いて説明するが、カードをカードリーダかざすことによって、カードのカードIDが取得されて、当該カードIDがユーザテーブルに登録されたカードIDと一致した場合にコンピュータが利用可能となる構成であればよい。言い換えると、カード又は生体情報を検知することによって、ユーザの識別・認証を行って当該認証結果に応じてコンピュータが利用可能となればよい。
【0038】
図2は、
図1に示すWebサーバ100およびクライアント端末200の各々のハードウェア構成の一例を示すブロック図である。ここでは、Webサーバ100およびクライアント端末200のハードウェア構成は同様であるので、Webサーバ100に注目してそのハードウェア構成を説明する。
【0039】
図2において、Webサーバ100はCPU201を有しており、CPU201はシステムバス204に接続されるデバイスおよびコントローラを統括的に制御する。ROM202又は外部メモリ211には、CPU201の制御プログラムであるBIOS(Basic Input / Output System)、オペレーティングシステム(以下OSという)が記憶されている。
【0040】
なお、Webサーバ100の場合には当該サーバが実行する機能を実現するための各種プログラムがROM202又は外部メモリ211にさらに記憶され、クライアント端末200の場合には、PCが実行する機能を実現する各種プログラムがさらにROM202又は外部メモリ211記憶されている。
【0041】
RAM203はCPU201の主メモリおよびワークエリアなどとして用いられる。CPU201は、各種処理を実行する際には必要なプログラムなどをROM202又は外部メモリ211からRAM203にロードして、当該ロードしたプログラムを実行することによって各種処理を行う。
【0042】
入力コントローラ205は、例えば、キーボード(KB)209およびマウス(図示せず)などのポインティングデバイスなどからの入力を制御する。ビデオコントローラ206はCRTディスプレイ(CRT)210などの表示部に対する表示を制御する。
【0043】
なお、
図2に示す例では、表示部としてCRT210が用いられるが、CRTの代わりに液晶ディスプレイなどを用いるようにしてもよい。
【0044】
メモリコントローラ207は、ブートプログラム、各種アプリケーション、フォントデータ、ユーザファイル、編集ファイル、および各種データなどを記憶するハードディスク(HD)、フレキシブルディスク(FD)、又はPCMCIAカードスロットにアダプタを介して接続されるコンパクトフラッシュ(登録商標)メモリなどの外部メモリ211対するアクセスを制御する。
【0045】
通信I/Fコントローラ208はネットワーク(例えば、
図1に示すLAN400)を介して外部機器と通信するためのインタフェースであり、ネットワークとの通信制御を行う。例えば、通信I/Fコントローラ208はTCP/IPに応じた通信制御を行う。
【0046】
なお、CPU201は、例えば、RAM203の表示情報用領域にアウトラインフォントの展開(ラスタライズ)処理を行って、CRT210における表示を行っている。また、CPU201は、CRT210に表示されるマウスカーソル(図示せず)によってユーザ指示を受け付ける。
【0047】
本発明の実施の形態による処理を行うための各種プログラムは外部メモリ211に記録されており、前述のように、必要に応じてRAM203にロードされてCPU201によって実行される。さらに、上記のプログラムを実行する際に用いられる定義ファイルおよび各種情報テーブルなども外部メモリ211に格納されており、これらについても後述する。
【0048】
図3は、
図1に示すWebサーバ100およびクライアント端末200の機能を説明するための機能ブロック図である。なお、図示の各機能はCPU301上で動作するプログラムによって実現される。
【0049】
クライアント端末200はその機能としてログイン要求部301、登録データ送信部302、登録ユーザ情報送信部303、および利用制御部304を有している。
【0050】
ログイン要求部301は、共有ユーザがWebサーバ100にログインする際に、共有ユーザ情報をWebサーバ100に送信する。登録データ送信部302は、共有ユーザ情報に応じたセッションにおいてWebブラウザを介して受け付けたデータをWebサーバ100に送信する。
【0051】
登録ユーザ情報送信部303は、クライアント端末200を使用していたユーザのユーザ識別情報を、データ登録後にWebサーバ100に送信する。利用制御部304は、ユーザを識別するために読取対象物(例えば、カード)に応じてコンピュータの利用を制御する。また、利用制御部304は、コンピュータの利用制御の解除およびコンピュータの利用制御の設定を行う。
【0052】
Webサーバ100はその機能として設定部305、登録データ受信部306、データ登録部307、登録ユーザ情報受信部308、データ特定部309、ユーザ識別情報登録部310を有している。
【0053】
設定部305は、共有ユーザ情報によるログインに応じて、クライアント端末200とのセッションが不要に切断されないようにするため(つまり、セッションが継続されるように)セッション時間を所定の時間に設定する。登録データ受信部306は、クライアント端末200からデータを受信する。データ登録部307は、受信したデータをDB100aに登録する。
【0054】
登録ユーザ情報受信部308は、ユーザ識別情報をクライアント端末200から受信する。データ特定部309は、ユーザ識別情報に対応するユーザが登録したデータを特定する。ユーザ識別情報登録部310は、特定したデータの登録者としてクライアント端末200から受信したユーザ識別情報を外部メモリ211に登録する。
【0055】
図4は、
図1に示すクライアント端末200を起動した際の処理を説明するためのフローチャートである。なお、
図4に示すステップの処理は、クライアント端末100又はWebサーバ100のCPU201が実行する。
【0056】
クライアント端末200の電源を投入すると、クライアント端末200が起動する(ステップS401)。続いて、クライアント端末200にインストールされたWebブラウザが起動して(ステップS402)、クライアント端末200(つまり、CPU201)はWebサーバ100(つまり、Webアプリケーション)にアクセスするためのURLに応じてWebサーバ100にアクセスする。これによって、クライアント端末200はWebサーバ100からログイン画面を受信して、Webブラウザによってログイン画面をCRT210に表示する。
【0057】
ユーザはログイン画面によって共通ユーザのユーザ名およびパスワード(以下ログイン情報と呼ぶ)を入力する(ステップS403)。Webサーバ100にログインし、セッションを確立すべく、クライアント端末200はこのログイン情報をWebサーバ100に送信する。
【0058】
図5は、
図1に示すWebサーバ100に備えられるユーザテーブルの一例を示す図である。
【0059】
図5において、ユーザテーブルには、カードID欄1001、ユーザ名(ユーザID)欄1002、パスワード欄1003、および備考欄が備えられている。ユーザテーブルは、例えば、Webサーバ100に備えられた外部メモリ211に記憶されている。ここで、共有ユーザとは、例えば、
図5に示すユーザテーブルの「Shareuser1」および「Shareuser2」である。
【0060】
Webサーバ100は、クライアント端末200から送信されたログイン情報を受信する(ステップS404)。続いて、Webサーバ100は、
図5に示すユーザテーブルを参照してユーザ認証を行う。
【0061】
具体的には、Webサーバ100はユーザテーブルに登録されたユーザ名およびパスワードがログイン情報と一致するか否かを判定する。ユーザ名およびパスワードがログイン情報と一致すると、Webサーバは認証成功としたとして、Webアプリケーションにログインを行う(ステップS405)。
【0062】
なお、認証されなかった場合には、Webサーバ100はクライアント端末200にエラーを送信する。また、後述するように、認証されるとセッション情報が記憶されることによって、Webサーバ100とクライアント端末200とのセッションが確立される。
【0063】
続いて、Webサーバ100はログイン情報に応じて、後述するセッション管理テーブルにセッション情報を追加設定する(ステップS406)。ここでは、セッション情報として後述するセッションID、ユーザ名、IPアドレス、およびセッションタイムアウト時間が設定される。
【0064】
図6は、
図1に示すWebサーバ100に備えられるセッション管理テーブルの一例を示す図である。
【0065】
セッション管理テーブルは、Webサーバ100に備えられた外部メモリ211で記憶管理されており、Webサーバ100はクライアント端末200とのセッションを当該セッション管理テーブルによって管理する。図示のように、セッション管理テーブルには、セッションID欄801、ユーザ名欄802、IPアドレス欄803、およびセッションタイムアウト時間欄804が備えられている。
【0066】
セッションID欄801にはセッションIDが設定(記入)され、このセッションIDはセッションを識別するための識別情報である。ユーザ名欄802には、ユーザ名が設定される。このユーザ名としてログイン情報のユーザ名(例えば、Shareuser1)が設定される。
【0067】
IPアドレス欄803にはIPアドレスが設定される。このIPアドレスとしてクライアント端末200のIPアドレスが設定される。なお、IPアドレスはXML通信又はTCP/IP通信などの各種プロトコルで取得することができる。
【0068】
セッションタイムアウト時間欄804にはセッションタイムアウト時間が設定される。このセッションタイムアウト時間を設定する際には、Webサーバ100は、後述するセッションタイムアウトPC管理テーブルを参照して、例えば、アクセスのあったクライアント端末200のIPアドレスとセッションタイムアウトPC管理テーブルのIPアドレスとを比較する。そして、Webサーバ100は比較の結果一致したIPアドレスに対応するセッションタイムアウト時間を取得して、当該セッションタイムアウト時間をセッション管理テーブルに設定する。
【0069】
なお、上記のセッションタイムアウトPC管理テーブルは、例えば、Webサーバ100に備えられた外部メモリ211に記憶されている。
【0070】
図7は、
図1に示すWebサーバ100に備えられたセッションタイムアウトPC管理テーブルの一例を示す図である。
【0071】
セッションタイムアウトPC管理テーブルは、例えば、Webサーバ100に備えられた外部メモリ211に記憶されている。
【0072】
セッションタイムアウトPC管理テーブルは、IPアドレス欄901、PC名欄902、およびセッションタイムアウト時間欄903を有している。そして、IPアドレス欄901、PC名欄902、およびセッションタイムアウト時間欄903に設定されるIPアドレス、PC名、セッションタイムアウト時間は、Webサーバ100に予め設定される。この設定は、例えば、システム管理者によって行われる。
【0073】
IPアドレス欄901にはクライアント端末200のIPアドレスが設定される。PC名欄902にはクライアント端末200のコンピュータ名(PC名)が設定される。セッションタイムアウト時間欄903にはセッションが切断されるまでの時間(所定時間アクセスがない場合にログアウトさせる時間)が設定される。
【0074】
図6に示すセッション管理テーブルにおいて、ユーザ名”Shareuser1”の場合には、セッションタイムアウト時間として無制限を示す「0」が設定される。
【0075】
なお、セッションの切断による再ログインを1日に1回行える環境又は運用の場合には1日でセッションが切断されるようにするため、セッションタイムアウト時間を無制限「0」にしつつ、所定の時間(時刻)になるとセッションが切断されるようにしてもよい。
【0076】
つまり、不必要にセッションが切断されないように時間の設定を行って、運用に適するセッション管理を行うようにすればよい。また、クライアント端末200がシャットダウンされた際にはセッションが切断されることは言うまでもない。
【0077】
さらに、第1の実施形態においては、IPアドレスに応じてセッションタイムアウトPC管理テーブルからセッションタイムアウト時間を取得して、当該セッションタイムアウト時間をセッション管理テーブルに設定するようにしたが、PC名に応じてセッションタイムアウトPC管理テーブルからセッションタイムアウト時間を取得して、当該セッションタイムアウト時間をセッション管理テーブルに設定するようにしてもよい。
【0078】
加えて、クライアント端末200のMACアドレスをセッションタイムアウトPC管理テーブルで管理し、MACアドレスに応じて、セッションタイムアウトPC管理テーブルからセッションタイムアウト時間を取得して、当該セッションタイムアウト時間をセッション管理テーブルに設定するようにしてもよい。
【0079】
いずれにしても、識別可能な情報に基づいて、セッションタイムアウトPC管理テーブルからセッションタイムアウト時間を取得して、当該セッションタイムアウト時間をセッション管理テーブルに設定するようにすればよい。
【0080】
再び
図4を参照して、前述のようにして、セッション情報を追加設定した後、Webサーバ100はクライアント端末200に後述する情報入力画面(データ入力画面)を送信する(ステップS407)。クライアント端末200は情報入力画面を受信した後(ステップS408)、ユーザの操作に応じて、クライアント端末200はコンピュータロックを行ってロック状態とする(ステップS409)。これによって、クライアント端末200は起動処理を終了する。
【0081】
図8は、
図1に示すクライアント端末200における情報入力処理を説明するためのフローチャートである。
【0082】
情報入力処理を行う際には、クライアント端末200において、カードリーダによってカード(読取対象物)からカードID(読取情報)を読み取る(ステップS501)。カードIDを読み取ると、クライアント端末200はWebサーバ100(又は認証サーバ)にカードIDを含む認証要求を送信する(ステップS502)。
【0083】
なお、カードにユーザ名を登録されている場合には、クライアント端末200はカードの読み取りを行った後、認証要求を行うことなくユーザ名をWebサーバ100に送信するようにしてもよい。さらには、クライアント端末200において認証を行ってPCロックの解除を行うようにしてもよい。
【0084】
続いて、認証要求を受信すると、Webサーバ100は認証要求に含まれるカードIDを、ユーザテーブル(認証テーブルともいう)を参照して認証する(ステップS503)。Webサーバ100ではユーザテーブルにカードIDが登録されていれば認証成功として、ユーザ名をクライアント端末200に送信する。
【0085】
一方、認証エラーの場合には、Webサーバ100はエラーメッセージをクライアント端末200に送信する。クライアント端末200はユーザ名を受信すると、PCロックの解除を行う(ステップS504)。
【0086】
続いて、クライアント端末200では、CPU201が受信したユーザ名を外部メモリ211又はRAM202で管理するPC使用情報(後述する)のユーザ名欄に登録する。さらに、クライアント端末200では、CPU201がクライアント端末200で管理されるシステム時間に応じて、PC使用情報のロック解除時間欄にロックが解除されたロック解除時間を登録する(ステップS505)。
【0087】
なお、ここでは、PC使用情報のロック設定時間欄にはロック設定時間は記憶されないものとする。一方、PC使用情報のIPアドレス欄には当該クライアント端末200のIPアドレスが必要に応じて設定される。また、システム時間はクライアント端末200とWebサーバ100との間で同期が取られていることが望ましい。
【0088】
次に、クライアント端末200はカードリーダからカードが外されたか否かを判定する(ステップS506)。カードリーダからカードが外されていないと(ステップS506において、NO)、クライアント端末200では、CPU201がWebブラウザの情報入力画面を介して情報入力を受け付ける(ステップS507)。
【0089】
図9は、
図1に示すクライアント端末200に表示される情報入力画面の一例を示す図である。
【0090】
図9において、クライアント端末200ではCRT210に情報入力画面701が表示される。この情報入力画面701には、例えば、「受診者診療情報入力」の表題が付され、カルテNo.、受診者名、および日付などの項目がある。さらに、情報入力画面701には検索ボタン704、登録ボタン702、およびキャンセルボタン703が表示される。
【0091】
ここで、ユーザがカルテNoを入力して、検索ボタン704を押下げると、クライアント端末200はWebサーバ100にアクセスして、Webサーバ100から所定のデータ(受診者名)を含む情報入力画面を新たに取得する。
【0092】
ユーザが情報入力画面701においてデータを入力した後、登録ボタン702を押下げると、クライアント端末200は情報入力画面に入力されたデータをWebサーバ100に送信する(ステップS508)。その後、クライアント端末200はステップS506の処理に戻る。
【0093】
クライアント端末200からデータを受信すると(ステップS509)、Webサーバ100は受信したデータを受診者診察情報テーブルに登録する(ステップS510)。この受診者診察情報テーブルは、例えば、DB100aに記録されている。
【0094】
図10は、
図1に示すWebサーバ100に登録される受診者診察情報テーブルの一例を示す図である。
【0095】
受診者診察情報テーブルには、少なくともカルテNo.欄1101、受診者名欄1102、ユーザ名欄1103、登録日時欄1104、および登録PC欄1105が備えられている。受診者診察情報テーブルに登録する際には、
図9に示す情報入力画面701で入力されたデータに加えて、
図6に示すセッション管理テーブルで管理されるユーザ名および登録日時が記録されるとともに、登録を行ったクライアント端末200のIPアドレスが登録PCとして登録される。
【0096】
ここでは、Webサーバ100にログインしているユーザは共有ユーザであるので、実際にクライアント端末200を操作しているユーザのユーザ名は登録されない。
【0097】
図11は、
図10に示す受診者診察情報テーブルにおいて登録者名欄に登録者名が登録された状態を示す図である。
【0098】
個人PCであるクライアント端末200から、
図9に示す情報入力画面701でデータが入力された際には、個人のユーザ名でWebサーバ100にログインが行われているので、受診者診察情報テーブルのユーザ名欄1103には個人でログインしているユーザ名が登録される。この際には、登録者名欄にもユーザ名欄に登録されたユーザ名と同一のユーザ名が登録される。
【0099】
具体的には、ステップS509において、Webサーバ100はクライアント端末100からデータを受信した際におけるセッションのユーザ名とユーザテーブルとを判定して、個人ユーザによるデータの登録か否かを判定することになる。
【0100】
上述のようにして、DB100aに登録が行われると、情報入力処理が終了する。
【0101】
カードリーダからカードが外されると(ステップS506において、YES)、つまり、カードの読取が不可となると、クライアント端末200(つまり、CPU201)はカードが外されたことを検知して、PCロックの設定を行う。つまり、クライアント端末200の利用を不許可とする(ステップS511)。
【0102】
続いて、クライアント端末200はPCロックを設定したPCロック設定時間を取得して、当該PCロック設定時間をPC使用情報に登録する(ステップS512)。
【0103】
図12は、
図1に示すクライアント端末200に記録されるPC使用情報の一例を示す図である。なお、当該PC使用情報は、例えば、外部メモリ211に記憶される。
【0104】
図12において、PC使用情報は、ユーザ名欄1201、ロック解除時間欄1202、ロック設定時間欄1202、およびIPアドレス欄1204を有しており、ユーザ名欄1201、ロック解除時間欄1202、ロック設定時間欄1202、およびIPアドレス欄1204にはそれぞれユーザ名、ロック解除時間、ロック設定時間、およびIPアドレスが登録される。
【0105】
次に、クライアント端末200はPC使用情報に登録されたユーザ名、ロック解除時間、ロック設定時間、およびIPアドレスをWebサーバ100に送信する(ステップS513)。つまり、共有ユーザで登録された登録データを、クライアント端末200を使用したユーザが登録した登録データとするため、共有ユーザに係るセッションを維持しつつ、当該クライアント端末200で受け付けたユーザに係るユーザ識別情報をWebサーバ100に送信する。
【0106】
なお、第1の実施形態では、カードが外された後に、PC使用情報に登録されたユーザ名を送るように構成したが、
図8に示すステップS504においてPCロック解除された際に、ユーザ名とロック解除時間とをWebサーバ100に送信し、ステップS513においてユーザ名とロック設定時間とを送信して、後述する
図13に示すステップS605においてユーザ名を登録者名として登録する構成であってもよい。その他、ユーザ名を送信可能なタイミングがあれば、上記に限ることなく送信可能なタイミング(所定のタイミング)でユーザ名を送信するようにすればよい。
【0107】
Webサーバ100は、クライアント端末200からPC使用情報、つまり、ユーザ名、ロック解除時間、ロック設定時間、およびIPアドレスを受信する(ステップS514)。そして、Webサーバ100は、後述する
図13に示す登録者情報入力処理を行う。
【0108】
なお、IPアドレスは通信プロトコルにおいて取得するようにすることもできるが、ここでは、PC使用情報に記憶されたIPアドレスが用いられる。
【0109】
図13は、
図1に示すWebサーバ100で行われる登録者情報入力処理を説明するためのフローチャートである。
【0110】
図8に示すステップS514において、PC使用情報を受信すると、Webサーバ100では、CPU201がPC使用情報、つまり、ユーザ名、ロック解除時間、ロック設定時間、およびIPアドレスをRAM202に記憶する(ステップS601)。
【0111】
続いて、CPU201はRAM202からIPアドレス、ロック設定時間、およびロック解除時間を取得して、当該IPアドレスが
図10に示す受診者診察情報テーブルの登録PCと一致すると、受診者診察情報テーブルの登録日時がロック設定時間とロック解除時間との間にある受診者診察情報(例えば、カルテNo.、受診者名、および登録者名)を受診者診察情報テーブルから取得する(ステップS602)。
【0112】
ところで、複数人の受診者診察情報を連続して登録することがある。この場合には、複数人の受診者診察情報の登録が終了した後、カードが外されるので、複数人の登録後、クライアント端末200はPC使用情報であるユーザ名、ロック解除時間、ロック設定時間、およびIPアドレスを、Webサーバ100送信する。
【0113】
この際には、Webサーバ100はロック設定時間とロック解除時間との間の登録日時に係る受診者診察情報を取得すれば、纏めて登録者名を登録することができる。
【0114】
次に、Webサーバ100では、CPU201が受診者診察情報から登録者名を取得する(ステップS603)。そして、CPU201は登録者名がNULLであるか否かを判定する(ステップS604)。
【0115】
登録者名がNULLであると(ステップS604において、YES)、CPU201は受信者診察情報テーブル(
図11)に示す登録者名欄1301に、ステップS601でRAM202記憶したユーザ名を登録する(ステップS605)。そして、Webサーバ100は処理を終了する。
【0116】
なお、ここでは、登録者名を別のカラム(つまり、登録者名欄1301)に登録するようにしたが、ユーザ名が共有ユーザであった場合には、受診したユーザ名で上書きするようにしてもよい。
【0117】
登録者名がNULLでないと(ステップS604において、NO)、Webサーバ100ではCPU201は不正な登録データであるとし、当該データを監査対象データとして管理者に通知して、処理を終了する。
【0118】
なお、この通知は、例えば、電子メールで行う。なお、管理者の端末からWebブラウザを用いて不正な登録データを確認することができる。
【0119】
[第2の実施形態]
次に、本発明の第2の実施形態によるサーバ装置および端末装置を備える情報処理システムの一例について説明する。なお、第2の実施形態に係る情報処理システムの構成は、
図1及び
図2に示す情報処理システムと同様であるので、ここでは説明を省略する。
【0120】
図14は、本発明の第2の実施形態による情報処理システムにおいてクライアント端末を起動した際の処理を説明するためのフローチャートである。
【0121】
なお、
図14において、
図4に示すフローチャートにおけるステップと同一のステップについては同一の参照符号を付して説明を省略する。また、
図14においては、セッション時間を無制限に設定できないWebシステムにおけるセッションを維持する際の処理が示されている。
【0122】
クライアント端末200の電源を投入すると、
図4で説明したようにして、クライアント端末200においてステップS401〜S403の処理が行われる。そして、Webサーバ100において、ステップS404およびS405の処理が行われる。なお、ここでは、ステップS405において、ログインを行うと、Webサーバ100は、セッション管理のためのタイマーをスタートする。そして、Webサーバ100は、ステップS405の処理に続いて、ステップS407の処理を行う。これによって、クライアント端末200は情報入力画面を受信する(ステップS1401)。
【0123】
図15は、
図14においてクライアント端末200が受信した情報入力画面の一例を示す図である。なお、
図15において、
図9に示す情報入力画面と同一の構成要素について同一の参照番号を付して説明を省略する。
【0124】
図15に示す情報入力画面1501には、セッション維持画面であるリロードウィンドウ1502が備えられている。このリロードウィンドウ1502はセッションを維持するために用いられて、所定の時間おきにWebサーバ100に対してリロードを要求さるために用いられる。つまり、リロードウィンドウ1502を用いると、情報入力画面におけるリロードウィンドウのフレームにおいてWebサーバ100に対してリロード要求が行われて、当該フレームに係る情報のみが更新され、セッションが維持される。
【0125】
このリロードウィンドウ1502は、例えば、ハードビートの技術を用いることで実現することができる、例えば、HTML画面のタグに<meta http−equiv=”refresh” content=”1800”>を埋め込み、30分(1800秒)おきにリロードを行う。リロードする時間は、例えば、後述のセッションタイムアウト時間より短い時間が設定される。なお、後述するように、セッションタイムアウト時間は、例えば、60分(<%Session.Timeout =60 %>)が設定される。
【0126】
上述のようにして、クライアント端末200では、リロードウィンドウ1502を所定の時間ごとにリロードする(ステップS1402)。つまり、クライアント端末200はWebサーバ100に画面の更新要求を行う。
【0127】
画面更新要求を受信すると、Webサーバ100はセッションIDに応じて、当該セッションに対応するタイマーをクリアする(ステップS1403)。そして、Webサーバ100は、更新要求に対応する結果(リフレッシュされた画面情報)をクライアント端末200に送信する(ステップS1404)。
【0128】
そして、ステップS1402において、クライアント端末200はリロードウィンドウ1502を更新表示する。これによって、情報入力領域は更新されることなく、セッションを維持しつつ入力を継続することができる。なお、ステップS1402の処理中において、ユーザの所定の操作があると、クライアント端末200は、ステップS409の処理に移行してコンピュータロックを行ってロック状態とする。これによって、クライアント端末200は起動処理を終了する。
【0129】
図16は、本発明の第2の実施形態による情報処理システムにおいてWebサーバ100に備えられる認証テーブルの一例を示す図である。なお、
図16において、
図5に示すユーザテーブルと同一の構成要素については同一の参照番号を付して説明を省略する。
【0130】
図示の認証テーブルにおいては、管理者フラグ(管理者情報)欄1601が備えられており、この管理者フラグによってユーザが管理者であるか否かが管理される。つまり、ユーザが管理者である場合には、管理者フラグに「1」が設定される。
【0131】
図17は、本発明の第2の実施形態による情報処理システムにおいてWebサーバ100に備えられるセッション管理テーブルの一例を示す図である。なお、図示のセッション管理テーブルにおいて、
図6に示すセッション管理テーブルと同一の構成要素について同一の参照番号を付して説明を省略する。
【0132】
図示のセッション管理テーブルにおいては、セッションタイムアウト時間欄804には、
図6と異なり60分が設定されている(
図6においては、セッションタイムアウトは0(無制限)である)。
【0133】
図18は、本発明の第2の実施形態による情報処理システムにおいてWebサーバ100に備えられたセッションタイムアウトPC管理テーブルの一例を示す図である。なお、図示のセッションタイムアウトPC管理テーブルにおいて、
図7に示すセッションタイムアウトPC管理テーブルと同一の構成要素について同一の参照番号を付して説明を省略する。
【0134】
図示のセッションタイムアウトPC管理テーブルにおいては、
図7に示すセッションタイムアウトPC管理テーブルと異なり、病棟A共有PC1及び病棟B共有PC2については、セッションタイムアウト時間として60分が設定されている。
【0135】
図19は、本発明の第2の実施形態における情報処理システムにおいてクライアント端末200における情報入力処理を説明するためのフローチャートである。
【0136】
なお、
図16において、
図8に示すフローチャートにおけるステップと同一のステップについては同一の参照符号を付して説明を省略する。
【0137】
図8で説明したステップS504において、クライアント端末200はユーザ名を受信すると、PCロックの解除を行う。なお、ステップS504においては、クライアント端末200は後述する管理者情報(管理者フラグ)受信する。
【0138】
続いて、クライアント端末200は、Webサーバ100から受信した認証結果における管理者情報が管理者「1」であるか否かを判定する(ステップS1901)。管理者情報が管理者「1」でないと(ステップS1901において、NO)、つまり、管理者情報が管理者「0」であると、クライアント端末200は、
図8で説明したステップS505の処理に進む。なお、管理者以外に、入力業務を行う入力者を管理者「1」と設定するようにしてもよい。
【0139】
管理者情報が管理者「1」であると(ステップS1901において、YES)、クライアント端末200では、ステップS504においてロック解除したプログラムがブラウザを新規に立ち上げて、所定のURL(ログイン画面のURL)によってログイン画面を表示する(ステップS1902)。ステップS1902の処理では、ブラウザを介してクライアント端末200からWebサーバ100にログイン画面の要求が行われて、Webサーバ100からログイン画面を取得して表示する。
【0140】
続いて、クライアント端末200では、ログイン画面においてユーザ名(ID)とパスワードの入力を受け付けて、Webサーバ100にログイン要求を行う(ステップS1903)。そして、Webサーバ100にログインが行われると、入力されたユーザ名に対応するセッションが開始されて、情報入力画面(
図9)がWebサーバ100からクライアント端末200に送信される。
【0141】
ここで、新たに情報入力画面(
図9)を送信する理由は、管理者において情報入力した際には、セキュリティを考慮して所定の時間操作がなかった(Webサーバ100への要求がなかった)場合にセッションを切断させるためである。
【0142】
クライアント端末200では、情報入力画面(
図9)によって登録するデータを受け付ける(ステップS1904)。そして、クライアント端末200は、ステップS1504で受け付けたデータをWebサーバ100に送信する(ステップS1905)。ここで送信されたデータは、ステップS510において
図10に示すユーザ名と、登録者名にセッションを管理している管理者のユーザ名が合わせて登録される。つまり、管理者の場合には、ステップS513で登録者の情報が送信されることなく登録が完了することになる。
【0143】
次に、クライアント端末200はカードが外されたか否かを判定する(ステップS1906)。カードが外されていない判定すると(ステップS1906において、NO)、クライアント端末200は、Webサーバ100における登録の完了通知を受け付けると、ステップS1504の処理に戻って再度情報入力画面における受付を行う。
【0144】
一方、カードが外されたと判定すると(ステップS1906において、YES)、クライアント端末200はログアウト要求をWebサーバ100に送信して、セッションの切断制御を行う(ステップS1907)。また、カードが外されると、ステップS511の処理と同様に、クライアント端末200はロック設定を行ってロックを制御する。そして、クライアント端末200は情報入力処理を終了する。
【0145】
なお、ロックはスクリーンセーバ機能を用いて、ロックする構成であってもよい。例えば、カードをかざすとスクリーンセーバが解除され、カードをはずすとスクリーンセーバが設定される(実行される)。
【0146】
このようにして、
図1に示す情報処理システムでは、データの登録者を適切に管理することができる。つまり、本発明の第1の実施形態及び第2の実施形態ともに、セッション管理を適切に行って、さらにデータの入力を適切に管理することができる。
【0147】
つまり、本発明の実施の形態では、共有ユーザでWebサーバにログインした際には、例えば、セッションタイムアウト時間をゼロ(無制限)とするか又はリロード画面を用いてリロードを行って不要にセッションが切断されないようにする。これによって、共有されるクライアント端末におけるデータの入力業務を効率化する一方、データの登録後にユーザの登録行って適切なデータ登録を行う。この結果、Webシステムに不向きな環境においてもWebシステムによるデータ入力を行うことができる。
【0148】
一般に、クライアント端末を利用するユーザの管理とWebサーバのログインユーザの管理とは非同期であるので、共有ユーザにおいてセッションが切断されないようなWebシステムを構築して、データを登録した際にクライアント端末におけるロック設定に応じて、クライアント端末を使用していたユーザ名と使用していた時間とをデータ登録送信とは別にWebサーバに送信する。つまり、共有ユーザにおけるセッションでの通信とは独立して(共有ユーザのセッションを維持した状態で)、登録したユーザのユーザ名を送信する。
【0149】
これによって、Webシステムにおいてデータを登録する際には、共有ユーザで登録されたとしても、実際の登録者を適切に登録することができることになる。
【0150】
なお、上述の実施形態では、医療現場で用いられるWebシステムについて説明したが、他の分野(例えば、製造業)および他の業務に適用することも可能である。
【0151】
上述の説明から明らかなように、
図3に示す例においては、CPU201上で動作するログイン要求部301がログイン要求手段として機能し、登録データ送信部302が登録データ送信手段として機能する。また、登録ユーザ情報送信部303が登録ユーザ情報送信手段として機能し、利用制御部304が許可制御手段として機能する。さらに、クライアント端末200のCPU201が記憶制御手段およびロック手段として機能する。
【0152】
また、設定部305がセッション設定手段として機能し、登録データ受信部306およびデータ登録部307が
更新手段として機能する。さらに、登録ユーザ情報受信部308およびデータ特定部309がデータ特定手段として機能し、ユーザ識別情報登録部310がユーザ識別情報登録手段として機能する。なお、Webサーバ100に備えられた外部メモリ211およびDB100aは記憶装置である。
【0153】
以上、本発明についてWebシステムを例に挙げて説明したが、装置、方法、プログラム、もしくは記録媒体の形態とすることもできる。具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用してもよい。
【0154】
また、本発明によるプログラムは、上述のフローチャートにおける処理をコンピュータが実行可能なプログラムであり、本発明による記憶媒体は上述のフローチャートにおける処理をコンピュータが実行可能なプログラムが記憶される。
【0155】
以上のように、前述した実施形態の機能を実現するプログラムを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記録媒体に格納されたプログラムを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
【0156】
この場合、記録媒体から読み出されたプログラム自体が本発明の新規な機能を実現することになり、そのプログラムを記憶した記録媒体は本発明を構成することになる。
【0157】
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、DVD−ROM、磁気テープ、不揮発性のメモリカード、ROM、EEPROM、シリコンディスク、ソリッドステートドライブ等を用いることができる。
【0158】
また、コンピュータが読み出したプログラムを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0159】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0160】
また、本発明は、複数の機器から構成されるシステムに適用しても、1つの機器からなる装置に適用してもよい。また、本発明は、システムあるいは装置にプログラムを供給することによって達成される場合にも適応できることは言うまでもない。この場合、本発明を達成するためのプログラムを格納した記録媒体を該システムあるいは装置に読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【0161】
さらに、本発明を達成するためのプログラムをネットワーク上のサーバ、データベース等から通信プログラムによりダウンロードして読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【0162】
なお、上述した各実施形態およびその変形例を組み合わせた構成も全て本発明に含まれるものである。