(57)【要約】【課題】労働者の勤怠管理において、作業時間中の作業内容を自動的に監視し、管理者の目の届かない状況であっても、正確な勤怠管理を行えるようにするシステムを提供することを目的とする。【解決手段】労働者の作業用端末において、OSの起動・シャットダウン、操作されているアプリケーション、キー入力などの操作状況をログファイルに記録し、その情報を元に正確な作業時間を算出し出力する。ログファイルに処理対象ファイル名を記録してもよい。作業者が、自分が行った作業内容について入力し管理者に報告できるようにしてもよい。管理者が、作業者が行うべき作業を指定した場合（例えば、どのアプリケーションを用いてどのファイルを入力・編集するかを作業として指定した場合など）は、その作業が適正に行われたかを自動的にチェックするようにしてもよい。最終的に得られた勤怠管理情報はグラフやレポートなどの形式で表示する。【選択図】図１
2007188201.tif 000002
【特許請求の範囲】
【請求項１】
作業者が使用する作業用端末と管理者が使用する管理者用端末とをネットワークに接続し、前記作業用端末における作業者の勤怠管理を行う勤怠管理システムであって、
前記作業者用端末は、
作業を行うためのアプリケーションプログラムを実行する手段と、
前記アプリケーションプログラムの起動状況と、前記アプリケーションプログラムに対する入力操作状況を監視する手段と、
前記監視の結果、前記アプリケーションプログラムが起動されてアクティブな状態であること、及び前記アプリケーションプログラムに対して入力操作があることを、状態情報として、当該アプリケーションを特定する情報とともにログファイルに格納する手段と、
前記ログファイルを前記管理者用端末に送信する手段と
を備え、
前記管理者用端末は、
前記作業者用端末より送信されてくるログファイルを受信する手段と、
受信したログファイルを格納する手段と、
前記ログファイルを解析し、前記作業者が作業に使用したアプリケーションとその作業時間を算出する手段と、
前記算出結果を出力する手段と
を備えたことを特徴とする勤怠管理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、労働者の勤怠管理を行うシステムに関するものである。
【背景技術】
【０００２】
PC及びブロードバンドの普及により、SOHOに代表される在宅勤務を適用できる職種はプログラム開発作業のIT関連業種でも可能となっている。しかし、成果主義でない労働者に対して在宅勤務を適用する場合、作業管理者は在宅勤務労働者の勤務状況を直接管理することはできないため、在宅勤務労働者の勤怠管理を行うシステムが必要となる。
【０００３】
従来、労働者の勤怠管理方法としては、（１）労働者による自己申告の方法、または、（２）OSのイベントログより電源オン/オフの時間(就業開始/終了)を確認する方法が採られてきた。
【０００４】
労働者による自己申告では、主にWebページでの入力などの方法により作業開始時間及び作業終了時間を記録し、それにより一日の作業時間を求め勤怠管理を行う。OSのイベントログによる確認方法では、OS起動時とシャットダウン時のログから一日の作業時間を記録し、勤怠管理を行う。
【０００５】
なお、勤怠管理に関連する公知技術文献としては、下記の特許文献１及び特許文献２などがある。
【０００６】
下記特許文献１は、通信ネットワークを用いて複数の従業員の勤怠情報を一括して管理する技術を開示している。勤怠情報の管理方法としては、従業員が自身の作業時間を申告する自己申告の方法を用いているが、勤怠管理を行うサーバーにWebブラウザでアクセスし、表示されたWebページにおいて作業時間の登録を行うことを特徴としている。
【０００７】
下記特許文献２は、通信ネットワークを用いて複数の従業員の勤怠情報を一括して管理する技術を開示している。勤怠情報の管理方法としては、従業員が自身の作業時間を登録する自己申告の方法を用いているが、登録を行う際に認証を行い、その認証方法として指紋を用いることを特徴としている。
【特許文献１】特開２００１−３０６７７３号公報
【特許文献２】特開２００１−３２５６３１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、上記特許文献１、２はともに作業時間を自己申告する方法を用いており、この方法を在宅勤務労働者に適用した場合、正しい作業時間が申告されているか管理者が確認することができない。例えば、実際に作業を開始する前に作業開始の申告を行ったり、作業時間中に私的な作業を行うことが可能となってしまう。また、OSのイベントログによる確認方法でも、作業を行う前にOSの起動だけを行ったり、OS起動後に正しい作業を行わずに私的な作業を行うことが可能となってしまう。以上のことから、労働者の勤怠管理を正しく行うためには、作業時間中の作業内容を確認する手段が必要となってくる。
【０００９】
本発明は、勤怠管理において、労働者のアプリケーション操作状況を記録することで作業時間中の作業内容を確認し、勤怠管理を正しく行えるようにすることを目的とする。
【課題を解決するための手段】
【００１０】
上記問題を解決するために、本発明は、作業者が使用する作業用端末と管理者が使用する管理者用端末とをネットワークに接続し、前記作業用端末における作業者の勤怠管理を行う勤怠管理システムであって、前記作業者用端末は、作業を行うためのアプリケーションプログラムを実行する手段と、前記アプリケーションプログラムの起動状況と、前記アプリケーションプログラムに対する入力操作状況を監視する手段と、前記監視の結果、前記アプリケーションプログラムが起動されてアクティブな状態であること、及び前記アプリケーションプログラムに対して入力操作があることを、状態情報として、当該アプリケーションを特定する情報とともにログファイルに格納する手段と、前記ログファイルを前記管理者用端末に送信する手段とを備え、前記管理者用端末は、前記作業者用端末より送信されてくるログファイルを受信する手段と、受信したログファイルを格納する手段と、前記ログファイルを解析し、前記作業者が作業に使用したアプリケーションとその作業時間を算出する手段と、前記算出結果を出力する手段とを備えたことを特徴とする。
【００１１】
前記アプリケーションプログラムを使用した作業で、入力や編集する処理対象ファイルがある場合は、前記ログファイルに、そのファイル名を記録するようにしてもよい。また、ログファイルにはOSの起動・シャットダウンなどを記録してもよい。ログファイルに記録するアプリケーションプログラムに対する入力操作には、例えばキーボードからのキー入力やマウス操作などがあるが、キーボードやマウス以外の種々の入力装置を用いた場合はそれらの操作についても記録するものとする。
【００１２】
作業者が、自分が行った作業内容（業務内容）について入力し管理者に報告できるようにしてもよい。作業内容を報告できるようにすることで、管理者は、前記ログファイルの作業内容と自己申告した作業内容とを対比して、適当な作業が行われているかを、チェックできる。また、管理者が、作業者が行うべき作業を指定した場合（例えば、どのアプリケーションを用いてどのファイルを入力・編集するかを作業として指定した場合など）は、その作業が適正に行われたかを自動的にチェックするようにしてもよい。最終的に得られた勤怠管理情報は、グラフやレポートなどの形式で表示できるようにするとよい。
【発明の効果】
【００１３】
本発明によれば、アプリケーションの操作状況を記録することで、労働者の作業内容を監視することができ、管理者の目が届かない状況であってもより正確な勤怠管理を行えるようになる。
【発明を実施するための最良の形態】
【００１４】
以下、図面を用いて本発明の実施の形態を説明する。
【００１５】
図１は、本発明の一実施形態の勤怠管理システムの概略構成を示すブロック図である。この勤怠管理システムは、複数の作業用端末１（１a、１b、…、１n）と、管理者の使用する管理者用端末３とから構成される。これらの端末は、インターネット２により接続されている。管理者用端末３は、勤怠情報の管理を行うための勤怠管理プログラム４、勤怠情報を表示するための表示部９、労働者の勤怠情報を記録するための勤怠管理データベース（ＤＢ）１０、及び労働者情報を管理するための労働者管理ＤＢ１１を備えている。
【００１６】
次に、勤怠管理プログラム４の内部について説明する。管理者用端末３で勤怠管理プログラム４を実行することにより、受信部５、ＤＢ更新部６、業務内容登録部７、及び画面出力部８が実現される。受信部５は、作業用端末１から送信されたアプリケーション操作状況ログを受信する。この際に、労働者管理ＤＢ１１の情報を使用して労働者の認証も行う。ＤＢ更新部６は、受信部５で受信したアプリケーション操作状況ログを解析して、勤怠管理ＤＢ１０の勤怠情報を更新する。またＤＢ更新部６は、労働者の情報が変更された際に、労働者管理ＤＢ１１の労働者情報の更新も行う。業務内容登録部７は、作業用端末１からアクセスされた際に業務内容の登録を行うための画面を表示し、入力された業務内容をＤＢ更新部６により勤怠管理ＤＢ１０に記録する。表示部９は、管理者の要求に応じて勤怠情報を表示する手段である。
【００１７】
図２は、労働者の各作業用端末１（図１の１a，１b，…，１n）の構成図である。作業用端末１は、勤怠情報の記録を行う勤怠状況記録プログラム２３を備えている。作業用端末１で勤怠状況記録プログラム２３を実行することにより、アプリケーション監視部２４、操作状況ログ格納部２５、送信部２６、及び業務内容登録部２７が実現される。アプリケーション２１（２１a、２１b、…、２１n）は、作業用端末１にインストールされて実行される一般のアプリケーションソフトを示している。入力装置２２は、作業用端末１に接続されているキーボード及びマウスなどの入力装置を示している。
【００１８】
アプリケーション監視部２４は、起動中の複数のアプリケーション２１及び入力装置２２の操作状況を監視しており、アプリケーション２１が操作されたり、入力装置２２で各種の操作が行われた場合に、その情報を内部メモリに記憶する。ここで、管理者があらかじめ作業者に対して使用するアプリケーションを指定しておき、そのアプリケーションのみを監視対象に設定できるようにしてもよい。また、アプリケーション監視部２４は、あらかじめ管理者により設定された更新間隔時間ごとに、内部メモリに記憶された監視情報をアプリケーション操作状況ログファイルとして操作状況格納部２５に出力する。さらに、アプリケーション監視部２４は、ＯＳ起動時・シャットダウン時にもアプリケーション操作状況ログファイルにログを出力する。送信部２６は、一日の作業が終了した際に、その日のアプリケーション操作状況ログファイルを図１の勤怠管理プログラム４に送信する。業務内容登録部２７は、図１の業務内容登録部７にアクセスし、業務内容登録画面を表示するとともに、作業者による業務内容の入力を受付け、それらの入力情報を管理者用端末３の業務内容登録部７に送信する。
【００１９】
図３は、作業用端末１の送信部２６によるアプリケーション操作状況ログの送信処理の概要を示すフローチャート図である。労働者（作業者）から送信要求があると、まずはステップ３１にて認証を行う。認証には、図１の労働者管理ＤＢ１１内にあらかじめ登録されているユーザー名及びパスワードを使用する。ステップ３２にて認証の成否を判定し、失敗した場合は、ステップ３５によりエラーメッセージを表示し、送信処理を終了する。認証に成功した場合、ステップ３３にて当日のアプリケーション操作状況ログが存在するかを判定し、存在しない場合は、ステップ３６にてエラーメッセージを表示し、送信処理を終了する。存在した場合は、ステップ３４にてアプリケーション操作状況ログを図１の勤怠管理プログラム４に送信し、送信処理を終了する。管理者用端末３は、このようにして各作業用端末１から送信されるアプリケーション操作状況ログを受信部５で受信し、勤怠管理ＤＢ１０に格納する。
【００２０】
図４は、アプリケーション操作状況ログの出力形式の一例を示すテーブル図である。アプリケーション操作状況ログは、更新時刻４１、アプリケーション４２、ファイル名４３、及び状態４４から構成される。更新日時４１はログ情報（１行分）が出力された時刻を示し（フォーマットはhh:mm:ss）、アプリケーション４２はその時刻に操作が行われたアプリケーション名（OSも含む）を示し、ファイル名４３はその操作の対象となったファイル名を示し、状態４４はそのアプリケーションの操作内容を示す。例えば、図４の１行目は時刻08:40:32にOSが起動完了したことを示し、２行目は時刻08:46:32にワープロソフトXXX AAA（当該ソフトの名称とする）が機能仕様書.docを操作対象としてアクティブにされたことを示している。
【００２１】
なお、アプリケーションは操作されても、編集されたファイルがなかった場合は、ファイル名４３には何も出力されない。また、更新間隔時間内に同じ操作が複数回行われていた場合、その操作に対するログは一回だけ出力される。また、更新間隔時間内に複数の違う操作が行われていた場合、同時刻に複数行のログが出力される。更新間隔時間は、管理者により指定することができる。更新間隔時間内に操作が行われなかった場合は、その時間帯は作業を行っていなかったとみなされるため、作業内容により管理者が調整する必要がある。
【００２２】
ここで例えば、更新間隔時間を１分と設定した場合、00:00:00〜00:01:00間にワープロソフトXXX AAAにより機能仕様書.docファイルで文字入力が複数回行われていたとすると、時刻として「00:01:00」、アプリケーション名として「XXX AAA」、ファイル名として「機能仕様書.doc」、状態として「キー入力」というログが一回だけ出力される。
【００２３】
図５は、作業用端末１の業務内容登録部２７による業務内容登録処理の概要を示すフローチャート図である。アプリケーション操作状況ログには、ログの更新時刻、操作されたアプリケーション名、及び編集されたファイル名などしか記録されておらず、何の業務を行うためにそのアプリケーションが操作されたのかが分からない。業務内容登録は、アプリケーション操作状況ログに記録された各アプリケーションとファイルに対し、それらが何の業務を行うために使用されたのか、ということを労働者が申告するための作業及び処理である。業務内容登録は、基本的にアプリケーション操作状況ログの送信が終了してから行う。より厳しく作業内容を管理したい場合など、管理者が作業者に対して、あらかじめ作業内容と、その作業に対して使用するアプリケーションを指定しておき、該当するログに対してのみ作業時間としてカウント（後述する勤怠情報の作業時間のカウント）できるようにしてもよい。さらに厳しく管理を行いたい場合は、編集するファイル名も管理者が指定しておき、指定されたアプリケーション名及びファイル名に該当するログのみをカウントできるようにしてもよい。そのような場合は、本処理は不要となる。
【００２４】
労働者から業務内容登録要求があると、まずはステップ５１において認証を行う。認証には、図１の労働者管理ＤＢ１１内にあらかじめ登録されているユーザー名及びパスワードを使用する。ステップ５２にて認証の成否を判定し、失敗した場合は、ステップ５６によりエラーメッセージを表示し、業務内容登録処理を終了する。認証に成功した場合は、ステップ５３にて業務内容登録画面を表示する。業務内容登録画面の表示内容については、図６にて説明する。業務内容登録画面で作業者は必要な項目に入力を行い、ステップ５４にてその内容を受け付ける。入力受付け後に、ステップ５５にて入力内容が正しいかの判定を行う。入力内容の判定では、未入力の項目はないか、使用したアプリケーションや編集したファイル名に対して作業内容が妥当であるかなどのチェックを行う。作業内容が妥当であるかのチェックは、あらかじめ管理者に使用するアプリケーションを指定されていた場合に、使用されたアプリケーションと作業内容が一致しているかをチェックする。ただし、リストボックス等の形式で正しい作業内容のみを選択できるように限定している場合（図６の説明を参照）は、チェックは不要となる。入力内容が間違っていた場合は、ステップ５７にてエラーメッセージを表示し、再び入力を行うように求める。入力内容が正しかった場合は、入力内容を図１の勤怠管理プログラム４に送信して登録し、業務内容登録処理を終了する。
【００２５】
管理者用端末３は、このようにして各作業用端末１から送信される業務内容の情報を受信部５で受信し、勤怠管理ＤＢ１０に格納する。なお、当然だが、この業務内容とアプリケーション操作状況ログとは、労働者（作業者）のＩＤ及び日付により対応付けられているものである。
【００２６】
図６は、業務内容登録画面の表示例を示すテーブル図である。図５の説明と同様に、管理者によりあらかじめ作業内容が決められており、その作業に対して使用するアプリケーション及び編集するファイル名が指定されている場合は、この画面による業務内容の入力処理は不要となる。
【００２７】
図６の業務内容登録画面は、図１の勤怠情報ＤＢ１０の勤怠情報を元に表示され、日付６１、アプリケーション名６２、ファイル名６３、及び業務内容６４により構成される。日付６１には、対象となる日付が表示されており、アプリケーション名６２及びファイル名６３には、前記の日付のアプリケーション操作状況ログに記録されているアプリケーション名、及び前記アプリケーションにより編集されたファイル名の一覧が表示されている。業務内容６４は、労働者が入力を行う項目であり、前記のアプリケーション名及びファイル名が、何の業務を行うために使用されたのかを入力する。業務内容に関しては、あらかじめ管理者により指定された作業内容をリストボックス等の形式で表示し、労働者が指定された作業内容のみを選択できるようにしてもよい。さらに、作業内容とその作業内容に対して使用するアプリケーションがあらかじめ管理者から指定されていた場合は、そのアプリケーションに該当する作業内容のみをリストボックス等の形式で限定して表示してもよい。これにより労働者の誤入力を防ぐことが出来る。アプリケーションは操作されても、編集されたファイルがなかった場合は、ファイル名６３には何も表示されない。一画面に表示する日数の範囲は、必要に応じて変更してもよい。一月ごとに表示するのが一般的であり、月末までにその月の入力をすべて終了するなど、管理者により入力の期限を設ける必要がある。
【００２８】
ここで例えば、2005/6/1に機能仕様書の作成業務のために、ワープロソフトXXX AAAにより機能仕様書.docファイルの編集を行った場合、業務内容登録画面には、日付６１が「2005/6/1」、アプリケーション名６２が「XXX AAA」、ファイル名６３が「機能仕様書.doc」となる行が表示され、作業者はその行の業務内容６４に「機能仕様書作成」などと入力することになる。
【００２９】
図７は、作業用端末１のアプリケーション監視部２４によるアプリケーション操作状況のログ出力処理の概要を示すフローチャート図である。ステップ７１では、更新間隔時間の間待機し、その間にアプリケーションが操作される、またはキー入力やマウス操作が行われた場合に、対象のアプリケーション名及び編集されたファイル名などのログに出力する情報を内部メモリに記憶しておく。ステップ７１の処理に関する詳細は、図８にて説明する。更新間隔時間が経過した後に、ステップ７２では、ログに出力する情報が上記内部メモリに記憶されているかを判定し、記憶されていればその情報をログファイルに出力して、再びステップ７１の待機状態へと戻る。存在しなかった場合は何も行わずにステップ７１の待機状態へと戻る。内部メモリに記憶されている情報をログファイルに出力した場合は、内部メモリをクリアする。
【００３０】
以上の動作を、OSが起動してからアプリケーション操作状況ログの送信が行われるまで繰り返す。また、OSの起動時、シャットダウン時にも、同様にしてログを出力する。
【００３１】
図８は、図７のステップ７１におけるアプリケーション操作状況の監視処理の概要を示す処理遷移図である。８１と８２は処理の流れを示している。８１はアプリケーション操作状況の監視処理を示し、８２は更新間隔時間の経過を待つためのタイマー処理を示す。８３〜８８までは監視中に発生したイベント及び処理を示す。操作状況監視処理８１では、更新間隔時間が経過するまで、アプリケーションの状態及びキー入力やマウス操作を監視している。８３にてアプリケーションの操作が行われた場合、操作状況監視処理８１はそのイベントを検出し、８５にて必要な情報（操作されたアプリケーション名、アプリケーションにより編集されたファイル名、操作の状態）を内部メモリに記憶する。ただし、すでに同じ情報が記録されていた場合は、新たに記憶は行わない。次に、８４にてキー入力が行われた場合、操作状況監視処理８１はそのイベントを検出し、８６にて必要な情報（操作されたアプリケーション名、アプリケーションにより編集されたファイル名、操作の状態）を内部メモリに記憶する。ただし、すでに同じ情報が記録されていた場合は、新たに記憶は行わない。タイマー処理８２にて更新間隔時間が経過したことを検知した場合、８７にてそのことを操作状況監視処理８１に通知し、操作状況監視処理８１ではそれを受け、内部メモリに記憶されている情報をログファイルに出力する処理を行う。図４の説明でも示したとおり、更新間隔時間に関しては、管理者が指定することが可能である。
【００３２】
ここで、Win32API（マイクロソフト社製OSの32ビットアプリケーション・プログラミング・インターフェース）を使用したアプリケーション操作状況の監視処理の具体的な実現方法例を示す。WndProc関数により、アプリケーションの操作（マウスが操作される、ウィンドウがアクティブになるなど）、キー入力のイベントを検出し、イベントが検出された際にウィンドウの操作関数（GetForeGroundWindowなど）で現在アクティブな状態のウィンドウの情報を取得する。取得したウィンドウの情報（タイトルなど）から、操作されたアプリケーション名及び編集されたファイル名を取得して、必要な情報を記憶する。
【００３３】
図９は、管理者用端末３における勤怠情報の表示処理の概要を示すフローチャート図である。まず、ステップ９１で管理者により勤怠情報の表示対象として選択された労働者を受け付ける。これは、具体的には、労働者を特定するＩＤを入力したり、表示された労働者一覧から労働者を選択する処理である。次にステップ９２で、管理者により選択された表示を行う日付を受け付ける。ここでは、必要に応じて、表示したい月を選択、表示したい週を選択できるようにし、まとめて勤怠情報を表示するようにしてもよい。次にステップ９３で、棒グラフ、レポート表示など管理者により選択された表示方法を受け付ける。ステップ９４において、先に受け付けた情報に該当する勤怠情報を、勤怠情報ＤＢ１０から読み出して、図１の表示部９に出力する。
【００３４】
図１０は、勤怠情報の表示例を示すテーブル図である。この表示例は、日付１０１、業務内容１０２、アプリケーション１０３、ファイル名１０４、及び作業時間１０５から構成される。日付１０１は、表示対象の労働者の勤怠情報の表示対象となる日付を表示している。業務内容１０２は、業務内容を示している。この項目に関しては、作業者により業務内容の登録（図５、図６参照）が行われていない場合は空白を表示する。アプリケーション１０３には、業務内容１０２の作業を行うために使用されたアプリケーション名を表示し、ファイル名１０４には、そのアプリケーションにより編集されたファイル名を表示する。作業時間１０５は、前記の作業にかかった作業時間を示している。管理者からの要求に応じて、上記の情報をグラフ、レポートなどの表示方法で表示する。
【００３５】
なお、作業時間１０５は、当該労働者の当該日付のアプリケーション操作状況ログを解析することで算出する。具体的には、アプリケーション１０３のアプリケーションでファイル名１０４のファイルをアクティブに編集している時間を合算すればよい。この場合、アプリケーションがアクティブな時間を全て合算してもよいが、キー入力などの操作が何もなされずに長時間が過ぎる場合もあるので、そのような無操作の時間が所定時間以上続くときは作業時間としてカウントしないようにしてもよい。
【図面の簡単な説明】
【００３６】
【図１】本発明の一実施形態の構成を表すブロック図である。
【図２】作業用端末の内部構成図である。
【図３】アプリケーション操作状況ログの送信処理の概要を示すフローチャート図である。
【図４】アプリケーション操作状況ログの出力例を示すテーブル図である。
【図５】業務内容登録処理の概要を示すフローチャート図である。
【図６】業務内容登録画面の表示例を示すテーブル図である。
【図７】アプリケーション操作状況ログの出力処理の概要を示すフローチャート図である。
【図８】アプリケーション操作状況監視処理の概要を示す処理遷移図である。
【図９】勤怠情報表示処理の概要を示すフローチャート図である。
【図１０】勤怠情報表示例を示すテーブル図である。
【符号の説明】
【００３７】
１…作業用端末、２…インターネット、３…管理者用端末、４…勤怠管理プログラム、５…受信部、６…ＤＢ更新部、７…業務内容登録部、８…画面出力部、９…表示部、１０…勤怠管理ＤＢ、１１…労働者管理ＤＢ、２１…アプリケーション、２２…入力装置、２３…勤怠状況記録プログラム、２４…アプリケーション監視部、２５…操作状況ログ格納部、２６…送信部、２７…業務内容登録部、８１…操作状況監視処理、８２…タイマー処理。
【図１】
2007188201.tif 000003
【図２】
2007188201.tif 000004
【図３】
2007188201.tif 000005
【図４】
2007188201.tif 000006
【図５】
2007188201.tif 000007
【図６】
2007188201.tif 000008
【図７】
2007188201.tif 000009
【図８】
2007188201.tif 000010
【図９】
2007188201.tif 000011
【図１０】
2007188201.tif 000012