(57)【要約】      （修正有）【課題】勤務時間を正確に把握することができる判定システム、判定方法および判定プログラムを提供する。【解決手段】判定システムにおいてサーバは、ユーザが業務に使用する情報処理装置上での仮想ウィンドウ上の操作を検知する検知部と、検知部が検知する操作を記憶する記憶部と、前記記憶部に記憶される操作に基づき、前記情報処理装置のユーザの勤務時間を算出する算出部とを備える。検知部は、仮想ウィンドウの閉操作、仮想ウィンドウにおけるログオフ操作および仮想ウィンドウを生成するオペレーションシステムのシャットダウン操作のうち少なくとも一つを検知する。【選択図】図１
2019040477.tif 000002
【特許請求の範囲】
【請求項１】
ユーザが業務に使用する情報処理装置上での仮想ウィンドウ上の操作を検知する検知部と、
前記検知部が検知する操作を記憶する記憶部と、
前記記憶部に記憶される操作に基づき、前記情報処理装置のユーザの勤務時間を算出する算出部と、
を備えることを特徴とする判定システム。
【請求項２】
前記検知部は、前記仮想ウィンドウの閉操作、前記仮想ウィンドウにおけるログオフ操作および前記仮想ウィンドウを生成するオペレーションシステムのシャットダウン操作のうち少なくとも一つを検知する請求項１に記載の判定システム。
【請求項３】
前記算出部は、前記検知部が検知する仮想ウィンドウの閉操作の時点を終業時点としてユーザの勤務時間を算出する請求項２に記載の判定システム。
【請求項４】
コンピュータに、
ユーザが業務に使用する情報処理装置上での仮想ウィンドウ上の操作を検知し、
検知した操作を記憶し、
記憶した操作に基づき、前記情報処理装置のユーザの勤務時間を算出する
ことを含む各処理を実行させることを特徴とする判定方法。
【請求項５】
ユーザが業務に使用する情報処理装置上での仮想ウィンドウ上の操作を検知し、
検知した操作を記憶し、
記憶した操作に基づき、前記情報処理装置のユーザの勤務時間を算出する
各手順を含む処理を、コンピュータに実行させることを特徴とする判定プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、判定システム、判定方法および判定プログラムに関する。
【背景技術】
【０００２】
近年、長時間労働を抑止するため、労働者の勤務時間を正確に把握することが重要となっている。勤務者がパーソナルコンピュータ（ＰＣ）等の情報処理装置を用いて業務を行う場合、情報処理装置が稼働状態にある間を勤務時間として算出することが考えられる。
【０００３】
しかし、情報処理装置の稼働状態のみに基づいて勤務時間を把握しようとすると正確な勤務時間を把握できない場合がある。たとえば、勤務者が情報処理装置をシャットダウンせずに帰宅した場合、情報処理装置は稼働状態であっても勤務者は労働していない。またたとえば、勤務者がノート型ＰＣなどの電源をＯＮにしたまま蓋を閉じた場合、ノート型ＰＣはスリープ状態に移行しても完全に動作を終了しているわけではない。このため、労働者が業務に使用する情報処理装置の稼働状態が必ずしも労働者の勤務状態を反映していない場合がありうる。
【０００４】
ところで、情報処理装置は稼働状態であっても操作入力がないまま所定時間が経過するとスリープ状態に移行するよう設定されていることが多い。スリープ状態とは、省電力の待機電源モードである。そこで、情報処理装置がスリープ状態か否かに応じて勤務中か否かを判定するよう、システムを構成することも考えられる。たとえば、特許文献１に記載の判定プログラムは、情報処理装置の操作履歴を示す情報に基づいて、特定の期間が作業期間に該当するか否かを判定する。たとえば、特許文献１の判定プログラムは、履歴記憶部に記憶されているレコードごとに当該レコードに係る期間（稼働期間又はスリープ期間）が作業時間に該当するか否かを判定する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１６−１２６４６６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記のような従来のシステムでは勤務時間を正確に把握することができない場合が考えられる。
【０００７】
スリープ状態へ移行する条件となる無操作入力の時間の長さは、勤務中に迅速に業務に復帰できるよう比較的長く設定されることが多い。仮に３０分操作入力がない場合にスリープ状態に移行する、という設定であれば、勤務時間が実体よりも３０分長くカウントされる可能性がある。
【０００８】
また、情報処理装置を業務で使用するためサーバと接続するシステムにおいては、ユーザが情報処理装置を利用していない状態であっても情報処理装置の内部動作が完全に終了していないことがある。たとえば、情報処理装置とサーバとの間で自動的にポーリングが行われるようシステムが設定されている場合、ユーザが情報処理装置を用いて業務を行なっていなくてもシステム上は情報処理装置は稼働中であると判断される。
【０００９】
たとえば、情報処理装置をサーバと接続してシンクライアントとして利用する場合、情報処理装置自体には直接操作入力がなくてもサーバとプログラムとの間で自動的にポーリングが実行されるため、仮に情報処理装置がスリープ状態であってもサーバ側からは情報処理装置は稼働中と判定される。したがって、情報処理装置の稼働状態たとえばスリープ状態に基づいて当該情報処理装置のユーザである勤務者の勤務時間を判定すると勤務時間を正確に判定できない場合がありうる。
【００１０】
１つの側面では、勤務時間を正確に把握することができる判定システム、判定方法および判定プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１１】
第１の案では、判定システム、判定方法および判定プログラムは、ユーザが業務に使用する情報処理装置上での仮想ウィンドウ上の操作を検知する。そして、判定システム、判定方法および判定プログラムは、検知した操作を記憶部に記憶する。そして、判定システム、判定方法および判定プログラムは、記憶部に記憶された操作に基づき、情報処理装置のユーザの勤務時間を算出する。
【発明の効果】
【００１２】
本発明の１実施形態によれば、勤務時間を正確に把握することができる。
【図面の簡単な説明】
【００１３】
【図１】図１は、第１の実施形態に係る判定システムの構成の一例について説明するための図である。
【図２】図２は、第１の実施形態に係る判定システムにおける処理の流れについて説明するためのフローチャートである。
【図３】図３は、第１の実施形態に係る判定システムにおける処理の流れについてさらに説明するためのフローチャートである。
【図４】図４は、第２の実施形態に係る判定システムの構成の一例について説明するための図である。
【図５】図５は、第２の実施形態に係る判定システムにおける処理の流れについて説明するためのフローチャートである。
【図６】図６は、第１〜２の実施形態に係る判定プログラムを実行するコンピュータの一例について説明するための図である。
【図７】図７は、仮想デスクトップを用いたシンクライアントシステムの構成の一例について説明するための図である。
【図８】図８は、第１〜２の実施形態に係る処理を実現するシンクライアントシステムの構成の例についてさらに説明するための図である。
【発明を実施するための形態】
【００１４】
以下に、本願の開示する判定システム、判定方法および判定プログラムの実施形態を図面に基づいて詳細に説明する。なお、この実施形態によりこの発明が限定されるものではない。
【００１５】
（シンクライアントシステムの一例）
図７は、仮想デスクトップを用いたシンクライアントシステムの構成の一例について説明するための図である。図７中、３つのクライアント１０Ｘ，１０Ｙ，１０Ｚはサーバ２０ＮとネットワークＮＷを介して通信可能に接続される。
【００１６】
クライアント１０Ｘ，１０Ｙ，１０Ｚはそれぞれシンクライアントとして構成される。クライアント１０Ｘ，１０Ｙ，１０Ｚはサーバ２０Ｎ上で動作するゲストオペレーションシステム（ＯＳ）によって生成される画像を受信し、受信した画像を自装置上で表示する。クライアント１０Ｘ，１０Ｙ，１０Ｚのユーザは、表示される画像に対してキーボードやマウス等の入力装置を介して操作を実行する。ユーザの操作は、クライアント１０Ｘ，１０Ｙ，１０Ｚからサーバ２０Ｎへ送信される。サーバ２０Ｎ上で動作するゲストＯＳは送信される操作に応じた処理を実行し、実行の結果生成される画像をクライアント１０Ｘ，１０Ｙ，１０Ｚに送信する。このように、クライアント１０Ｘ，１０Ｙ，１０Ｚは、仮想デスクトップとして機能する。
【００１７】
図７の例では、サーバ２０Ｎは仮想サーバとして構成される。サーバ２０Ｎは、ハードウェアの上にハイパーバイザが構築され、ハイパーバイザ上で仮想マシンが動作する。図７の例では、クライアント１０Ｘ，１０Ｙ，１０Ｚ各々に対応するゲストＯＳがハイパーバイザ上で動作する。ゲストＯＳによって構築される仮想デスクトップはクライアント１０Ｘ，１０Ｙ，１０Ｚ各々に提供される。ハイパーバイザ上にはまた、仮想マシンを制御するための管理ＯＳが動作する制御空間が設けられている。
【００１８】
このような構成により、クライアント１０Ｘ，１０Ｙ，１０Ｚ各々はサーバ２０Ｎ上で動作するオペレーションシステムを介して処理を実行する。処理の結果生成される情報は、クライアント１０Ｘ，１０Ｙ，１０Ｚではなく、サーバ２０Ｎ側に記憶される。このため、クライアント１０Ｘ，１０Ｙ，１０Ｚ自体のリソース量が少ない場合でもサーバ２０Ｎの処理能力を借りて効率的な処理が実現される。
【００１９】
なお、ネットワークＮＷの構成は特に限定されない。ネットワークＮＷは有線ネットワークでも無線ネットワークでも、その組み合わせであってもよい。また、ネットワークＮＷは仮想ネットワークを含んでもよい。また、図７には３つのクライアントを図示するが、クライアントの数は任意である。またサーバ２０Ｎは異なる場所に配置される複数の物理サーバにまたがって構成されてもよい。
【００２０】
（第１の実施形態）
図１は、第１の実施形態に係る判定システム１の構成の一例について説明するための図である。第１の実施形態に係る判定システム１は、仮想デスクトップとして機能するクライアント１０を用いて業務を遂行するユーザの業務を管理する。たとえば、判定システム１は、クライアント１０のユーザの勤務時間を判定する。たとえば、判定システム１は、クライアント１０のユーザによる仮想ウィンドウＷ上での操作を検知する。そして、判定システム１は、検知した操作に基づき、ユーザの勤務時間を判定する。なお、図１に示すクライアント１０およびサーバ２０はそれぞれ、図７のクライアント１０Ｘ，１０Ｙ，１０Ｚおよびサーバ２０Ｎに対応する。
【００２１】
クライアント１０は、サーバ２０とネットワークＮＷを介して通信可能に接続される。クライアント１０は任意の情報処理装置である。クライアント１０はたとえば、パーソナルコンピュータ（ＰＣ）、ノート型ＰＣ、タブレット端末等である。第１の実施形態におけるクライアント１０は、シンクライアント（ゼロクライアント）である。クライアント１０は、サーバ２０から送信される画像を表示し、クライアント１０上でのユーザの操作をサーバ２０に送信する。
【００２２】
クライアント１０は、仮想デスクトップを実現するための最低限の機能を有する。クライアント１０は、制御部１１０、入力部１２０、出力部１３０、通信部１４０を有する。
【００２３】
制御部１１０は、クライアント１０の動作および機能を制御する。制御部１１０としてたとえば、各種の集積回路や電子回路を採用できる。また、制御部１１０に含まれる機能部の一部を別の集積回路や電子回路とすることもできる。例えば、集積回路としては、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）が挙げられる。また、電子回路としては、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）やＭＰＵ（Ｍｉｃｒｏ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）などが挙げられる。
【００２４】
入力部１２０は、クライアント１０への外部からの指示入力を実現する。入力部１２０はたとえば、キーボード、マウス、ジョイスティック、タッチパネル等である。
【００２５】
出力部１３０は、クライアント１０から外部への情報の出力を実現する。出力部１３０はたとえば、モニタ、プリンタ、スピーカ等である。クライアント１０のモニタにはサーバ２０から送信される画像に応じて仮想ウィンドウＷが表示される。
【００２６】
通信部１４０は、クライアント１０と外部装置との間の通信を実現する。通信部１４０はたとえば、サーバ２０からクライアント１０へ送信される画像を受信し、モニタに表示させる。通信部１４０はまた、クライアント１０へ入力部１２０を介して入力される指示をサーバ２０へ送信する。通信部１４０はたとえば、モデム、ルータ、スイッチ等を含む。
【００２７】
サーバ２０は、第１の実施形態に係る判定プログラムを実行する情報処理装置である。サーバ２０は接続されるクライアントの数や業務に用いられる情報の処理量に応じた処理能力および記憶容量を有する。図１の例では、サーバ２０上でクライアントプログラム２００およびサーバプログラム２３０が動作する。
【００２８】
クライアントプログラム２００は、クライアント１０に対応づけて記憶され動作するプログラムである。クライアントプログラム２００は、クライアント１０においてユーザがログイン動作を実行し認証処理が成功すると、クライアント１０に送信する画像を生成する。そして、クライアントプログラム２００はクライアント１０から送信される入力に応じて処理を実行する。
【００２９】
クライアントプログラム２００は、検知部２０１の機能を実現する。検知部２０１は、クライアント１０上に表示される仮想ウィンドウＷに対する入力部１２０を介した操作を検知する。検知部２０１はたとえば、仮想ウィンドウＷを閉じる操作、仮想ウィンドウＷ上でのログオフ操作、仮想ウィンドウＷ上でのシャットダウン操作等を検知する。検知部２０１が検知する操作は、データベース（ＤＢ）２３２（後述）に記憶される。
【００３０】
サーバプログラム２３０は、サーバ２０の動作を制御する処理を実行する。サーバプログラム２３０はたとえば、クライアント１０のユーザの勤務時間を算出する算出部２３１の機能を実現する。
【００３１】
算出部２３１は、所定のトリガに応じてＤＢ２３２に記憶される操作入力に基づき、クライアント１０のユーザの勤務時間または残業時間を算出する。算出部２３１は、たとえば、クライアント１０においてログイン操作が実行された時点を始業時刻として抽出する。またたとえば、算出部２３１は、クライアント１０においてログアウト操作が実行された時点を終業時刻として抽出する。またたとえば、算出部２３１は、クライアント１０において仮想ウィンドウＷの閉操作が実行された時点を終業時刻として抽出する。そして、算出部２３１は抽出した始業時刻および終業時刻に基づき、クライアント１０のユーザの勤務時間または残業時間を算出する。
【００３２】
ネットワークＮＷは任意の電気通信網である。図１のネットワークＮＷは図７に示すネットワークＮＷと同様である。
【００３３】
（判定システム１における処理の流れの一例）
図２は、第１の実施形態に係る判定システム１における処理の流れについて説明するためのフローチャートである。第１の実施形態に係る判定システム１においては、仮想デスクトップを用いた処理が始まるときは、まず、クライアント１０においてユーザがログイン処理を実行する（ステップＳ２１）。ログイン処理が実行されサーバ２０がログインを認証すると、クライアントプログラム２００がクライアント１０に表示する仮想ウィンドウＷの画像を生成する。サーバ２０は、生成された画像をクライアント１０に送信する。クライアント１０は画像を受信してモニタに仮想ウィンドウＷを表示する（ステップＳ２２）。クライアント１０のユーザは仮想ウィンドウＷを見ながらクライアント１０における処理を実行する。クライアント１０における処理は逐次サーバ２０に送信される。そして、クライアントプログラム２００において検知部２０１が、仮想ウィンドウＷ上の操作を検知する（ステップＳ２３）。検知部２０１が検知した操作はＤＢ２３２に記憶される（ステップＳ２４）。そして、クライアント１０上での操作に応じて仮想デスクトップを用いた処理を終了する（ステップＳ２５）。他方、算出部２３１は所定のトリガがあったか否かを判定する（ステップＳ２６）。算出部２３１が所定のトリガなしと判定した場合（ステップＳ２６、否定）、処理はステップＳ２１に戻る。他方、算出部２３１が所定のトリガありと判定した場合（ステップＳ２６、肯定）、算出部２３１はＤＢ２３２に記憶された情報に基づき勤務時間または残業時間を算出する（ステップＳ２７）。算出された勤務時間または残業時間は適宜ＤＢ２３２に記憶され、サーバ２０の外部に出力される。これで判定システム１における処理が終了する。
【００３４】
図３は、第１の実施形態に係る判定システム１における処理の流れについてさらに説明するためのフローチャートである。図３は、クライアント１０側で実行される処理とサーバ２０側で実行される処理を分けて示す。
【００３５】
クライアント１０側では、まずユーザが電源を投入（ＯＮ）し（ステップＳ３１）、仮想デスクトップ環境にログインするための処理を実行する（ステップＳ３２）。ログイン処理に応じて、サーバ２０は認証処理を実行する（ステップＳ３３、なお認証処理はサーバ２０とは別体の認証サーバが行う構成としてもよい。）。認証に成功するとサーバ２０はクライアント１０に対応するクライアントプログラムを割り当て、仮想デスクトップの画像をクライアント１０に送信する（ステップＳ３４）。クライアント１０は画像を受信して仮想ウィンドウＷを表示する（ステップＳ３５）。ユーザは仮想ウィンドウＷ上で操作を実行する（ステップＳ３６）。ユーザの操作はクライアント１０からサーバ２０に送信される。サーバ２０の検知部２０１は、操作を検知し（ステップＳ３７）、検知した操作をＤＢ２３２に記憶させる（ステップＳ３８）。そして、サーバ２０の算出部２３１は、所定のトリガに応じてユーザの勤務時間を算出する（ステップＳ３９）。これで処理が終了する。
【００３６】
（検知対象とする仮想ウィンドウ上の操作）
検知部２０１の検知対象とする仮想ウィンドウ上での操作はたとえば、仮想ウィンドウＷを閉じる操作である。またたとえば、クライアントプログラム２００を待機状態に移行させる操作である。またたとえば、クライアント１０上で仮想デスクトップを用いた処理を終了させる操作である。クライアント１０上で仮想ウィンドウＷへの処理入力が所定時間内にないとき自動的に仮想ウィンドウＷが閉じる設定となっている場合、検知部２０１は自動的な閉動作も検知する。このようにログオフやシャットダウンだけでなく、仮想ウィンドウＷの閉動作も検知するため、仮想ウィンドウＷを開いたままユーザが放置した場合であっても、判定システム１が終業時刻を正確に判定することができる。
【００３７】
（算出処理のトリガ）
算出部２３１が、勤務時間を算出するタイミングは特に限定されない。たとえば、外部からの指示入力に応じてサーバ２０により仮想デスクトップを提供される全てのクライアントについて勤務時間を算出するように構成してもよい。また、算出部２３１は、所定期間経過ごとに自動的に勤務時間を算出し、算出結果を出力するように構成してもよい。たとえば、毎月１５日等予め定められたタイミングで算出部２３１が処理を実行するよう構成してもよい。また、算出対象とする期間も任意に設定できるように構成してよい。
【００３８】
（勤務時間の補正その他の変形）
なお、第１の実施形態に係る判定システム１は、クライアント１０上に表示される仮想ウィンドウＷに対する操作に基づき、ユーザの勤務時間を算出する。しかし、判定システム１は、仮想ウィンドウＷに対する操作以外の情報に基づき、算出した勤務時間を補正してもよい。たとえば、ＤＢ２３２に予め各ユーザのスケジュールを登録しておき、登録されたスケジュールから算出した勤務時間が閾値以上ずれた場合のみアラームを出すように判定システム１を構成してもよい。
【００３９】
また、判定システム１は、予め各ユーザの勤務形態を登録しておき、特定の勤務形態たとえば在宅勤務のユーザについてのみ仮想ウィンドウＷに対する操作に基づく勤務時間算出を実行するように構成してもよい。
【００４０】
また、判定システム１は、予め各ユーザの所属を登録しておき、部署ごとに平均勤務時間を算出するように構成してもよい。
【００４１】
また、判定システム１は、予め定められた勤務時間外の操作について残業時間を算出するように構成してもよい。この場合、仮想ウィンドウＷに対する操作は、勤務時間外のみＤＢ２３２に記憶するように判定システム１を構成してもよい。
【００４２】
また、判定システム１において、クライアント１０上に表示される仮想ウィンドウＷ上の操作の情報はＤＢ２３２とは別の記憶部に記憶しておいてもよい。そして、所定のトリガが発生した場合に、記憶部から抽出してクライアントプログラム２００からサーバプログラム２３０に通知するように構成してもよい。
【００４３】
たとえば、判定システム１において、クライアント１０上に表示される仮想ウィンドウＷ上の操作をＤＢ２３２に記憶するタイミングは、サーバプログラム２３０がクライアントプログラム２００に対してポーリングをするタイミングとしてもよい。たとえば、サーバプログラム２３０がクライアントプログラム２００に対してポーリングする際に操作の情報をサーバプログラム２３０に通知する。そして、サーバプログラム２３０は通知された操作の情報をＤＢ２３２に記憶する。また、仮想ウィンドウＷ上の操作のうち、所定の操作のみをクライアントプログラム２００からサーバプログラム２３０に通知してＤＢ２３２に記憶させるように判定システム１を構成してもよい。
【００４４】
（第１の実施形態の効果）
このように第１の実施形態に係る判定システム１は、検知部と、記憶部と、算出部と、を備える。検知部は、ユーザが業務に使用する情報処理装置上での仮想ウィンドウ上の操作を検知する。記憶部は、検知部が検知する操作を記憶する。算出部は、記憶部に記憶される操作に基づき、情報処理装置のユーザの勤務時間を算出する。このため、判定システム１はクライアント１０のユーザが実際に仮想ウィンドウＷにおける処理を実行していた時間だけを勤務時間として算出することができる。仮想ウィンドウＷにおける処理は、業務に直接関連する処理であると推測できる。このため、判定システム１はクライアント１０のユーザの勤務時間を正確に算出することができる。
【００４５】
また、第１の実施形態に係る判定システム１において、検知部は、仮想ウィンドウの閉操作、仮想ウィンドウにおけるログオフ操作および仮想ウィンドウを生成するオペレーションシステムのシャットダウン操作のうち少なくとも一つを検知する。このため、判定システム１は、仮想ウィンドウを用いた処理を終了する操作を検知し、それに基づいてユーザの勤務時間を算出することができる。このため、判定システム１は、勤務時間を正確に判定することができる。
【００４６】
また、第１の実施形態に係る判定システム１において、算出部は、検知部が検知する仮想ウィンドウの閉操作の時点を終業時点としてユーザの勤務時間を算出する。このため、判定システム１は、ユーザが業務を終了した時点を正確に判定することができる。たとえば、仮想ウィンドウが閉じた後もクライアント１０とサーバ２０との接続が維持されログイン状態が維持されることも考えられる。また、ユーザの業務終了後も、クライアントプログラム２００とサーバプログラム２３０との間でポーリングが行われるためにクライアントプログラム２００の稼働状態が維持されることも考えられる。このような場合であっても、判定システム１によれば、仮想ウィンドウの閉操作時点を終業時点として勤務時間を算出するため、勤務時間を正確に算出することができる。
【００４７】
（第２の実施形態）
第１の実施形態においては、判定システム１が備えるクライアント１０はシンクライアントとして構成した。しかし、これに限らず、クライアント１０をサーバ２０と接続されていない状態で単独で処理を実行する情報処理装置として構成してもよい。以下、第２の実施形態としてシンクライアントシステム以外のシステムにおける実施形態を説明する。
【００４８】
図４は、第２の実施形態に係る判定システム１Ａの構成の一例について説明するための図である。図４に示すクライアント１０Ａ、サーバ２０Ａはそれぞれ、図１に示すクライアント１０、サーバ２０と同様の構成および機能を有する。ただし、図４に示すクライアント１０Ａは、クライアントプログラム以外に自装置に実装されるプログラムを備え、サーバ２０Ａと接続されていない状態で単独でも処理を実行する。以下、第１の実施形態と相違する機能および構成について説明し、第１の実施形態と共通する機能および構成については説明を省略する。
【００４９】
図４中、クライアント１０Ａは、制御部１１０Ａと、入力部１２０Ａと、出力部１３０Ａと、通信部１４０Ａと、記憶部１５０Ａと、を有する。
【００５０】
入力部１２０Ａ、出力部１３０Ａおよび通信部１４０Ａの構成および機能は第１の実施形態の入力部１２０、出力部１３０および通信部１４０の構成および機能と同様である。
【００５１】
制御部１１０Ａは、第１の実施形態の制御部１１０と異なる機能および構成を有する。制御部１１０Ａは、クライアント１０Ａの動作および機能を制御する。制御部１１０Ａとしてたとえば、各種の集積回路や電子回路を採用できる。また、制御部１１０Ａに含まれる機能部の一部を別の集積回路や電子回路とすることもできる。例えば、集積回路としては、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）が挙げられる。また、電子回路としては、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）やＭＰＵ（Ｍｉｃｒｏ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）などが挙げられる。
【００５２】
制御部１１０Ａは、第１の実施形態の制御部１１０のようにサーバ２０から受信する画像を表示し、ユーザの操作入力をサーバ２０に送信するための制御に加えて、サーバ２０Ａとの通信断の場合に実行する処理の制御を行う。このため、制御部１１０Ａは、図１の構成に加えて、操作検知部１１１、通信検知部１１２および操作送信部１１３を有する。
【００５３】
操作検知部１１１は、サーバ２０Ａと通信断の場合にクライアント１０Ａ上で実行されるユーザの操作を検知する。操作検知部１１１はたとえば、キーボードやマウスを介したユーザの入力を検知する。操作検知部１１１が検知する操作は、記憶部１５０Ａに記憶される。
【００５４】
通信検知部１１２は、クライアント１０Ａとサーバ２０Ａとの間に通信が確立したか否かを検知する。たとえば、通信検知部１１２は、ログイン認証が成功したか否かを検知する。
【００５５】
操作送信部１１３は、通信検知部１１２が通信確立を検知した場合に、記憶部１５０Ａを参照し、記憶されている操作の情報をサーバ２０Ａに送信する。
【００５６】
記憶部１５０Ａは、クライアント１０Ａにおける処理に使用される情報および処理の結果生成される情報を記憶する。記憶部１５０Ａはたとえば、半導体メモリ素子や記憶装置である。半導体メモリ素子としては、ＶＲＡＭ（Ｖｉｄｅｏ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）やフラッシュメモリ（ｆｌａｓｈ  ｍｅｍｏｒｙ）などが挙げられる。また、記憶装置としては、ハードディスク、光ディスクなどの記憶装置が挙げられる。
【００５７】
第２の実施形態に係るクライアント１０Ａにおいては、記憶部１５０Ａはクライアント１０Ａとサーバ２０Ａとの通信断の間にクライアント１０Ａ上で実行された操作の情報を記憶する。操作の情報は特に限定されず、たとえば、キーボードやマウス等の入力部１２０Ａを介したユーザの操作入力等が挙げられる。
【００５８】
第２の実施形態のサーバ２０Ａの構成および機能は第１の実施形態のサーバ２０と同様である。図４に示す検知部２０１Ａは、図１に示す検知部２０１と同様の機能および構成を有する。ただし、第２の実施形態のサーバ２０Ａ上で動作するクライアントプログラム２００Ａは、サーバ２０Ａとクライアント１０Ａとの通信が確立すると、クライアント１０Ａから操作の情報を受信し、ＤＢ２３２Ａに記憶する受信部２０２Ａを有する。
【００５９】
また、第２の実施形態のサーバプログラム２３０Ａが実現する算出部２３１Ａは、ＤＢ２３２Ａに記憶される仮想ウィンドウＷ上での操作の情報だけでなく、通信断の間にクライアント１０Ａ上で実行された操作の情報を加味して勤務時間を算出する。
【００６０】
（第２の実施形態に係る処理の流れの一例）
図５は、第２の実施形態に係る判定システム１Ａにおける処理の流れについて説明するためのフローチャートである。第２の実施形態においては、クライアント１０Ａは電源が投入（ステップＳ５０１）されると、操作検知部１１１がクライアント１０Ａ上での操作の検知および記憶を開始する（ステップＳ５０２）。その後、ユーザは、クライアント１０Ａ上でログイン操作を行い仮想環境へログインしようとする（ステップＳ５０３）。サーバ２０Ａは、ログイン操作に応じて認証処理を実行する（ステップＳ５０４）。認証処理が成功すると、サーバ２０Ａ上のクライアントプログラム２００Ａは、クライアント１０Ａに割り当てられているオペレーションシステムの動作により仮想デスクトップの画像を生成する。そして、サーバ２０Ａからクライアント１０Ａに仮想デスクトップの画像が送信される（ステップＳ５０５）。クライアント１０Ａは、送信される仮想デスクトップの画像に応じて仮想ウィンドウＷを表示する（ステップＳ５０６）。この時点で、クライアント１０Ａとサーバ２０Ａとは通信可能に接続される。クライアント１０Ａの通信検知部１１２は通信確立を検知し、操作送信部１１３に通知する。操作送信部１１３は記憶部１５０Ａを参照し、記憶されている操作の情報をサーバ２０Ａに送信する（ステップＳ５０７）。サーバ２０Ａでは、クライアントプログラム２００Ａの受信部２０２Ａが操作の情報を受信する。そして、受信部２０２Ａは受信した情報をＤＢ２３２Ａに記憶する（ステップＳ５０８）。他方、クライアント１０Ａ上では仮想ウィンドウＷ上での操作が実行される（ステップＳ５１０）。仮想ウィンドウＷ上での操作は逐次サーバ２０Ａに送信されてクライアントプログラム２００Ａにより処理される（ステップＳ５０９）。そして、サーバ２０Ａからクライアント１０Ａに操作に応じた画像が送信される。クライアント１０Ａにおいて仮想ウィンドウＷを閉じる動作が実行される（ステップＳ５１１）。すると、サーバ２０Ａは、当該操作を受信して（ステップＳ５１２）ＤＢ２３２Ａに記憶する（ステップＳ５１３）。その後、所定のトリガに応じて、サーバプログラム２３０Ａの算出部２３１Ａは、ＤＢ２３２Ａを参照し、ユーザの勤務時間を算出する（ステップＳ５１４）。その後、クライアント１０Ａ側で電源を切ること（ステップＳ５１５）により処理が終了する。
【００６１】
なお、第２の実施形態における通信断時の処理は、クライアント１０Ａの電源投入だけでなく、クライアント１０Ａ上のプログラムが仮想ウィンドウＷの閉操作や、ログアウト操作を検知することで開始するように構成してもよい。これによって、ユーザが通信確立可能な場所にいるか否かに関わらず、クライアント１０Ａ上で実行された業務の情報をサーバ２０Ａにおいて一元的に管理することができる。
【００６２】
第２の実施形態に係る判定システム１Ａは、ユーザが仮想ウィンドウＷを閉じても業務を継続している可能性がある業務形態の場合に採用すればよい。また、クライアント１０Ａにおける記憶処理を開始されるトリガは業務形態に応じて設定すればよい。業務形態によっては、ユーザは外出先や自宅等でクライアントを業務のために使用することが考えられる。このような場合、サーバと通信接続していなくても業務を実行している時間もありうる。第２の実施形態に係る判定システムは、多様な業務形態に応じてクライアントを用いた業務状況を検知することができる。このため、判定システムは、多様な業務形態に応じて勤務時間を正確に把握することができる。
【００６３】
（その他の実施形態）
これまで開示の装置に関する実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下では、本発明に含まれる他の実施例を説明する。
【００６４】
（クラウドコンピューティングによる実装）
開示の判定プログラムは、クラウドシステムを構成するサーバに実装し、クラウドシステムを介して、様々な場所に存在する在宅勤務者および社内勤務者の勤務時間および情報処理端末の操作状態を管理するために使用することができる。このようにすれば、広範な地域に散らばる会社施設での勤務者の勤務状態および各在宅勤務者の自宅における勤務状態を一括して管理することができ、効率的な労働管理を実現することができる。
【００６５】
（分散および統合）
図示した各装置の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
【００６６】
図８は、第１〜２の実施形態に係る処理を実現するシンクライアントシステムの構成の例についてさらに説明するための図である。図８の例は、図１に示した第１の実施形態および図４に示した第２の実施形態に対応する。図１、図４の実施形態を実現する際には、図８のように、シンクライアントサーバ上で複数のクライアントそれぞれに対応するクライアントプログラムが動作する。そして、クライアントプログラムとは別にシンクライアントＯＳすなわちサーバプログラムが動作する。図８の例では、データベースはシンクライアントサーバとは別個独立のＤＢサーバとして構成し、ネットワークによりシンクライアントサーバと接続する。
【００６７】
（判定プログラム）
また、上記の実施例で説明した各種の処理は、予め用意されたプログラムをサーバ等のコンピュータからタブレット端末やノート型コンピュータ等のコンピュータに配布し、サーバとコンピュータとが処理を協働して実行することによって実現することができる。そこで、以下では、図６を用いて、上記の実施形態と同様の機能を有する判定プログラムを実行するコンピュータの一例について説明する。
【００６８】
図６は、第１〜２の実施形態に係る判定プログラムを実行するコンピュータの一例について説明するための図である。図６に示すように、コンピュータ１０００は、操作部１１００と、ディスプレイ１２００と、通信部１３００とを有する。さらに、このコンピュータ１０００は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１４００と、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１５００と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１６００と、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）１７００とを有する。これら１１００〜１７００の各部はバス１８００を介して接続される。
【００６９】
ＨＤＤ１７００には、図６に示すように、上記の第１〜２の実施形態で示した各部と同様の機能を発揮するモジュールを実装することができる判定プログラム１７００ａが予め記憶される。この判定プログラム１７００ａについては、図１および図４に示した各々の各構成要素と同様、適宜統合または分離してもよい。すなわち、ＨＤＤ１７００に記憶される各データは、常に全てのデータがＨＤＤ１７００に記憶される必要はなく、処理に必要なデータのみがＨＤＤ１７００に記憶されればよい。
【００７０】
そして、ＣＰＵ１４００が、判定プログラム１７００ａの各モジュールをＨＤＤ１７００から読み出してＲＡＭ１６００に展開する。これによって、図６に示すように、判定プログラム１７００ａは、判定プロセス１６００ａとして機能する。この判定プロセス１６００ａは、ＨＤＤ１７００から読み出した各種データを適宜ＲＡＭ１６００上の自身に割り当てられた領域に展開し、この展開した各種データに基づいて各種処理を実行する。なお、判定プロセス１６００ａは、図１、４に示した各処理部にて実行される処理を含む。また、ＣＰＵ１４００上で仮想的に実現される各処理部は、常に全ての処理部がＣＰＵ１４００上で動作する必要はなく、必要な処理部のみが仮想的に実現されればよい。
【００７１】
なお、上記の判定プログラム１７００ａについては、必ずしも最初からＨＤＤ１７００やＲＯＭ１５００に記憶させておく必要はない。たとえば、コンピュータ１０００に挿入されるフレキシブルディスク、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）などの「可搬用の物理媒体」に各プログラムを記憶させる。または、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ）ディスク、光磁気ディスク、ＩＣカードなどの「可搬用の物理媒体」に各プログラムを記憶させる。そして、コンピュータ１０００がこれらの可搬用の物理媒体から各プログラムを取得して実行するようにしてもよい。また、公衆回線、インターネット、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）などを介してコンピュータ１０００に接続される他のコンピュータまたはサーバ装置などに各プログラムを記憶させておいてもよい。そして、コンピュータ１０００がこれらから各プログラムを取得して実行するようにしてもよい。
【符号の説明】
【００７２】
１，１Ａ  判定システム
１０，１０Ａ  クライアント（情報処理装置）
１１０，１１０Ａ  制御部
１１１  操作検知部
１１２  通信検知部
１１３  操作送信部
１２０，１２０Ａ  入力部
１３０，１３０Ａ  出力部
１４０，１４０Ａ  通信部
１５０Ａ  記憶部
２０，２０Ａ  サーバ
２００，２００Ａ  クライアントプログラム
２０１，２０１Ａ  検知部
２０２Ａ  受信部
２３０，２３０Ａ  サーバプログラム
２３１，２３１Ａ  算出部
２３２，２３２Ａ  データベース（ＤＢ）
Ｗ  仮想ウィンドウ
ＮＷ  ネットワーク
【図１】
2019040477.tif 000003
【図２】
2019040477.tif 000004
【図３】
2019040477.tif 000005
【図４】
2019040477.tif 000006
【図５】
2019040477.tif 000007
【図６】
2019040477.tif 000008
【図７】
2019040477.tif 000009
【図８】
2019040477.tif 000010