(57)【特許請求の範囲】
【請求項１】
打刻入力が行われた時刻の記録を行う打刻システムであって、
互いに通信回線を介して接続可能な端末装置およびサーバ装置を備え、
前記端末装置は、
打刻入力を認識する打刻入力認識手段と、
当該端末装置と前記サーバ装置との間が通信可能なオンライン状態か、当該端末装置と前記サーバ装置との間が通信不能なオフライン状態かを判断する接続状態判断手段と、
前記オンライン状態時に、前記サーバ装置に設けられたサーバ時計が示す時刻を前記サーバ装置から受信し、当該受信したサーバ時計が示す時刻と当該端末装置に設けられた端末時計が示す時刻との時刻差を算出し、当該算出した時刻差を示す時刻差情報を当該端末装置に設けられた端末記憶部に記憶する時刻差算出手段と、
前記打刻入力認識手段による前記認識および前記接続状態判断手段による前記判断に基づき、前記オンライン状態のときに打刻入力が行われた場合に、第１の打刻要求を前記サーバ装置へ送信する第１の打刻要求送信手段と、
前記打刻入力認識手段による前記認識および前記接続状態判断手段による前記判断に基づき、前記オフライン状態のときに打刻入力が行われた場合に、前記端末時計から時刻を読み取り、当該読み取った時刻に、前記端末記憶部に記憶された時刻差情報が示す時刻差を加算または減算し、この結果得られた時刻を暫定打刻時刻として前記端末記憶部に記憶する暫定打刻手段と、
前記オンライン状態になったときに、前記端末記憶部に記憶された暫定打刻時刻を第２の打刻要求と共に前記サーバ装置へ送信する第２の打刻要求送信手段とを備え、
前記サーバ装置は、
前記端末装置から送信された前記第１の打刻要求、前記第２の打刻要求および前記暫定打刻時刻を受信することが可能な打刻要求受信手段と、
前記打刻要求受信手段により前記第１の打刻要求が受信された場合には、前記サーバ時計から時刻を読み取り、当該読み取った時刻を確定打刻時刻として前記サーバ装置に設けられたサーバ記憶部に記憶し、前記打刻要求受信手段により前記第２の打刻要求および前記暫定打刻時刻が受信された場合には、当該受信された暫定打刻時刻を確定打刻時刻として前記サーバ記憶部に記憶する確定打刻手段とを備えていることを特徴とする打刻システム。
【請求項２】
前記暫定打刻手段は、前記暫定打刻時刻を暗号化して前記端末記憶部に記憶することを特徴とする請求項１に記載の打刻システム。
【請求項３】
前記サーバ装置は、
前記打刻要求受信手段により前記第１の打刻要求が受信されたときに前記確定打刻時刻を前記端末装置に送信する確定打刻時刻送信手段を備え、
前記端末装置は、
前記サーバ装置から送信された前記確定打刻時刻を受信する確定打刻時刻受信手段と、
前記確定打刻時刻受信手段により受信された確定打刻時刻を前記端末装置に設けられた表示部に表示する確定打刻時刻表示手段とを備えていることを特徴とする請求項１または２に記載の打刻システム。
【請求項４】
サーバ装置と通信を行うことにより打刻入力が行われた時刻の記録を行う打刻装置であって、
打刻入力を認識する打刻入力認識手段と、
当該打刻装置と前記サーバ装置との間が通信可能なオンライン状態か、当該打刻装置と前記サーバ装置との間が通信不能なオフライン状態かを判断する接続状態判断手段と、
前記オンライン状態時に、前記サーバ装置に設けられたサーバ時計が示す時刻を前記サーバ装置から受信し、当該受信したサーバ時計が示す時刻と当該打刻装置に設けられた内部時計が示す時刻との時刻差を算出し、当該算出した時刻差を示す時刻差情報を当該打刻装置に設けられた内部記憶部に記憶するする時刻差算出手段と、
前記打刻入力認識手段による前記認識および前記接続状態判断手段による前記判断に基づき、前記オンライン状態のときに打刻入力が行われた場合に、第１の打刻要求を前記サーバ装置へ送信する第１の打刻要求送信手段と、
前記打刻入力認識手段による前記認識および前記接続状態判断手段による前記判断に基づき、前記オフライン状態のときに打刻入力が行われた場合に、前記内部時計から時刻を読み取り、当該読み取った時刻に、前記内部記憶部に記憶された時刻差情報が示す時刻差を加算または減算し、この結果得られた時刻を暫定打刻時刻として前記内部記憶部に記憶する暫定打刻手段と、
前記オンライン状態になったときに、前記内部記憶部に記憶された暫定打刻時刻を第２の打刻要求と共に前記サーバ装置へ送信する第２の打刻要求送信手段とを備え、
前記第１の打刻要求は、前記サーバ時計から時刻を読み取り、当該読み取った時刻を確定打刻時刻として前記サーバ装置に設けられたサーバ記憶部に記憶することを前記サーバ装置に対して要求する指令であり、前記第２の打刻要求は、当該打刻装置から前記サーバ装置へ当該第２の打刻要求と共に送信する前記暫定打刻時刻を確定打刻時刻として前記サーバ記憶部に記憶することを前記サーバ装置に対して要求する指令であることを特徴とする打刻装置。
【請求項５】
請求項４に記載の打刻装置としてコンピュータを機能させることを特徴とするプログラム。
【請求項６】
互いに通信回線を介して接続可能な端末装置およびサーバ装置を用いて打刻入力が行われた時刻の記録を行う打刻方法であって、
前記端末装置において、打刻入力を認識する打刻入力認識工程と、
前記端末装置と前記サーバ装置との間が通信可能なオンライン状態であるときに前記打刻入力認識工程において打刻入力が認識された場合には、第１の打刻要求を前記端末装置から前記サーバ装置へ送信する第１の打刻要求送信工程と、
前記サーバ装置において、前記第１の打刻要求が受信された場合には、前記サーバ装置に設けられたサーバ時計から時刻を読み取り、当該読み取った時刻を確定打刻時刻として前記サーバ装置に設けられたサーバ記憶部に記憶する第１の確定打刻工程と、
前記オンライン状態時に、前記サーバ時計が示す時刻を前記サーバ装置から受信し、当該受信したサーバ時計が示す時刻と前記端末装置に設けられた端末時計が示す時刻との時刻差を算出し、当該算出した時刻差を示す時刻差情報を前記端末装置に設けられた端末記憶部に記憶する時刻差算出工程と、
前記端末装置と前記サーバ装置との間が通信不能なオフライン状態であるときに前記打刻入力認識工程において打刻入力が認識された場合には、前記端末装置において、前記端末時計から時刻を読み取り、当該読み取った時刻に、前記端末記憶部に記憶された時刻差情報が示す時刻差を加算または減算し、この結果得られた時刻を暫定打刻時刻として前記端末記憶部に記憶する暫定打刻工程と、
オンライン状態になったときに、前記端末記憶部に記憶された前記暫定打刻時刻を第２の打刻要求と共に前記端末装置から前記サーバ装置へ送信する第２の打刻要求送信工程と、
前記サーバ装置において、前記第２の打刻要求および前記暫定打刻時刻が受信された場合には、当該受信された暫定打刻時刻を確定打刻時刻として前記サーバ記憶部に記憶する第２の確定打刻工程とを備えていることを特徴とする打刻方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば会社への出勤時刻や会社からの退勤時刻を記録する打刻を、互いに通信回線を介して接続された端末装置およびサーバ装置を利用して行う打刻システム、打刻装置、プログラムおよび打刻方法に関する。
【背景技術】
【０００２】
例えば、会社において従業員の就業管理を行う場合、各従業員の出勤時刻、退勤時刻、外出時刻、外出先から会社へ戻った時刻（戻り時刻）等を記録する必要がある。このため、多くの会社は、出勤時刻、退勤時刻、外出時刻、戻り時刻等の記録、すなわち打刻を各従業員に行わせる。従来、打刻には、例えば特許文献１に記載されているようなタイムレコーダおよびタイムカードが用いられてきた。これらは現在も広く用いられている。また、近年は、特許文献２に記載されているようなＩＣカードリーダおよびＩＣカードを利用した就業管理装置が打刻を行う手段として普及している。
【０００３】
さらに現在では、互いに通信回線を介して接続された端末装置およびサーバ装置を利用して打刻を行うシステムが開発されている。このシステムでは、端末装置に対して打刻入力を行い、端末装置からサーバ装置へ打刻に関する情報を送信し、当該打刻入力が行われた時刻を打刻時刻としてサーバ装置に設けられた記憶装置に記憶する。特許文献３にはこのようなシステムの一例が記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平６−３３３１１４号公報
【特許文献２】特開２０１０−２６７０４５号公報
【特許文献３】特開２００１−１６０１６１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、互いに通信回線を介して接続された端末装置およびサーバ装置を利用して打刻を行うシステムによれば、打刻入力を受け付ける機能を端末装置に持たせ、打刻入力が行われた時刻を打刻時刻として記憶する機能をサーバ装置に持たせることができる。したがって、例えば会社が複数の事業所を有する場合に、各事業所に端末装置のみを設置し、いずれか１つの事業所にサーバ装置を設置することで、各事業所に勤務する各従業員についての打刻時刻の記録を１カ所に集約し、各事業所に勤務するすべての従業員の就業管理を一括して行うことができる。これにより、複数の事業所に分散して勤務する多数の従業員の就業管理を容易に実現することができると共に、多数の従業員のそれぞれに対する就業管理の方法を共通化することができ、各従業員についての就業管理を公平に実施することができる。
【０００６】
また、端末装置およびサーバ装置を利用して打刻を行うシステムによれば、打刻時刻を用いた従業員の就業管理を、ＡＳＰ（アプリケーションサービスプロバイダ）の行うアプリケーションサービスや、クラウドコンピューティングを利用したアウトソーシングサービスといった形態で容易に実施することができる。
【０００７】
ところが、端末装置およびサーバ装置を利用して打刻を行うシステムには次のような問題がある。すなわち、このようなシステムでは、端末装置とサーバ装置との間が通信可能なオンライン状態のときに端末装置に対して打刻入力が行われた場合には、打刻入力が行われた時点に、打刻に関する情報を端末装置からサーバ装置へ直ちに送信し、これにより当該打刻入力が行われた時刻を打刻時刻としてサーバ装置に設けられた記憶装置に記憶することができる。しかしながら、端末装置とサーバ装置との間が通信不能なオフライン状態のときに端末装置に対して打刻入力が行われた場合には、打刻入力が行われた時点に、打刻に関する情報を端末装置からサーバ装置へ直ちに送信することができず、それゆえ当該打刻入力が行われた時刻を打刻時刻としてサーバ装置の記憶装置に記憶することができないという問題がある。
【０００８】
この問題は次のような方法で解決することができるとも思える。すなわち、オフライン状態のときに端末装置に対して打刻入力が行われた場合には、打刻入力が行われた時点に、この時点の時刻を端末装置が有する時計から読み取り、暫定的な打刻時刻として端末装置に設けられた記憶装置に一時的に記憶しておく。そして、その後オンライン状態となったときに、端末装置の記憶装置に記憶された暫定的な打刻時刻を端末装置からサーバ装置へ送信し、この打刻時刻を確定的な打刻時刻としてサーバ装置に設けられた記憶装置に記憶する。この方法によれば、オフライン状態のときに行われた打刻入力の時刻を打刻時刻としてサーバ装置の記憶装置に記憶することができる。
【０００９】
しかしながら、この方法には、端末装置の有する時計が示す時刻とサーバ装置の有する時計が示す時刻とが異なる場合に、正確な打刻時刻をサーバ装置の記憶装置に記憶することができないという問題がある。例えば、サーバ装置は厳格に管理されているため、サーバ装置が有する時計は標準時に常に正確に合わせられているのに対し、端末装置の管理は各事業所において比較的緩やかに行われており、端末装置が有する時計が標準時よりも進んでいたり、遅れていたりすることは容易に想定することができる。この場合、オンライン状態のときに打刻入力が行われた場合にはサーバ装置の時計が示す時刻に基づいて打刻時刻が決定され、オフライン状態のときに打刻入力が行われた場合には端末装置の時計が示す時刻に基づいて打刻時刻が決定されるとすれば、オフライン状態のときに打刻入力が行われた場合に打刻時刻が不正確になるだけでなく、打刻入力が行われたときがオンライン状態であったかオフライン状態であったかで打刻時刻が異なってしまうため、就業管理の運用の公平性または信頼性を確保することが困難になるという問題がある。また、複数の事業所に設置された端末装置ごとに時計の示す時刻が異なる場合には、オフライン時における打刻入力により決定された打刻時刻が事業所ごとに異なってしまうため、この場合にも、就業管理の運用の公平性または信頼性を確保することが難しくなる。
【００１０】
また、上述したように打刻時刻を端末装置の記憶装置に一時的に記憶しておく方法では、打刻時刻の改ざんにより打刻時刻の正確性または信頼性が損なわれるおそれがあるという問題がある。すなわち、オフライン状態のときに打刻入力が行われた場合には、端末装置の記憶装置に打刻時刻が一時的に記憶される。このため、端末装置の管理が緩やかな場合には、打刻入力が行われてから当該打刻入力に対応する打刻時刻がサーバ装置に送信されるまでの間に、端末装置の記憶装置に記憶された打刻時刻が書き換えられてしまう危険がある。また、これを防止するために各事業所に端末装置の厳格な管理を義務付けるとすれば、各事業所の負担が大きくなってしまう。
【００１１】
本発明は例えば上述したような問題に鑑みなされたものであり、本発明の第１の課題は、端末装置に対して打刻入力を行い、端末装置からサーバ装置へ打刻に関する情報を送信し、当該打刻入力が行われた時刻を打刻時刻としてサーバ装置に設けられた記憶装置に記憶する打刻システムであって、端末装置とサーバ装置との間がオフライン状態であるときに打刻入力が行われた場合でも、当該打刻入力が行われた時刻を打刻時刻としてサーバ装置に設けられた記憶装置に記憶することができる打刻システム、並びにこのような打刻システムを実現することができる打刻装置、プログラムおよび打刻方法を提供することにある。
【００１２】
また、本発明の第２の課題は、端末装置に対して打刻入力を行い、端末装置からサーバ装置へ打刻に関する情報を送信し、当該打刻入力が行われた時刻を打刻時刻としてサーバ装置に設けられた記憶装置に記憶する打刻システムであって、端末装置とサーバ装置との間がオフライン状態であるときに打刻入力が行われた場合でも、端末装置に設けられた時計が示す時刻が正確であるか否かにかかわらず、当該打刻入力が行われた正確な時刻を打刻時刻としてサーバ装置に設けられた記憶装置に記憶することができる打刻システム、並びにこのような打刻システムを実現することができる打刻装置、プログラムおよび打刻方法を提供することにある。
【課題を解決するための手段】
【００１３】
上記課題を解決するために、本発明の打刻システムは、打刻入力が行われた時刻の記録を行う打刻システムであって、互いに通信回線を介して接続可能な端末装置およびサーバ装置を備え、前記端末装置は、打刻入力を認識する打刻入力認識手段と、当該端末装置と前記サーバ装置との間が通信可能なオンライン状態か、当該端末装置と前記サーバ装置との間が通信不能なオフライン状態かを判断する接続状態判断手段と、前記オンライン状態時に、前記サーバ装置に設けられたサーバ時計が示す時刻を前記サーバ装置から受信し、当該受信したサーバ時計が示す時刻と当該端末装置に設けられた端末時計が示す時刻との時刻差を算出し、当該算出した時刻差を示す時刻差情報を当該端末装置に設けられた端末記憶部に記憶する時刻差算出手段と、前記打刻入力認識手段による前記認識および前記接続状態判断手段による前記判断に基づき、前記オンライン状態のときに打刻入力が行われた場合に、第１の打刻要求を前記サーバ装置へ送信する第１の打刻要求送信手段と、前記打刻入力認識手段による前記認識および前記接続状態判断手段による前記判断に基づき、前記オフライン状態のときに打刻入力が行われた場合に、前記端末時計から時刻を読み取り、当該読み取った時刻に、前記端末記憶部に記憶された時刻差情報が示す時刻差を加算または減算し、この結果得られた時刻を暫定打刻時刻として前記端末記憶部に記憶する暫定打刻手段と、前記オンライン状態になったときに、前記端末記憶部に記憶された暫定打刻時刻を第２の打刻要求と共に前記サーバ装置へ送信する第２の打刻要求送信手段とを備え、前記サーバ装置は、前記端末装置から送信された前記第１の打刻要求、前記第２の打刻要求および前記暫定打刻時刻を受信することが可能な打刻要求受信手段と、前記打刻要求受信手段により前記第１の打刻要求が受信された場合には、前記サーバ時計から時刻を読み取り、当該読み取った時刻を確定打刻時刻として前記サーバ装置に設けられたサーバ記憶部に記憶し、前記打刻要求受信手段により前記第２の打刻要求および前記暫定打刻時刻が受信された場合には、当該受信された暫定打刻時刻を確定打刻時刻として前記サーバ記憶部に記憶する確定打刻手段とを備えていることを特徴とする。
【００１４】
本発明の打刻システムによれば、オフライン状態のときに端末装置に対して打刻入力が行われた場合でも、この打刻入力が行われた時刻を打刻時刻としてサーバ装置に設けられた記憶装置（サーバ記憶部）に記憶することができる。
【００１５】
また、本発明の打刻システムによれば、オフライン状態のときに端末装置に対して打刻入力が行われた場合でも、この打刻入力が行われた正確な時刻を打刻時刻としてサーバ装置に設けられた記憶装置（サーバ記憶部）に記憶することができ、打刻時刻を用いた就業管理の公平性、信頼性を確保することができる。
【００１６】
また、上述した本発明の打刻システムにおいて、前記暫定打刻手段は、前記暫定打刻時刻を暗号化して前記端末記憶部に記憶することが好ましい。
【００１７】
本発明の打刻システムのこの態様によれば、端末装置に対して打刻入力が行われてから当該打刻入力に対応する打刻時刻が端末装置からサーバ装置に送信されるまでの間に、端末装置に設けられた記憶装置（端末記憶部）に記憶された打刻時刻が改ざんされてしまうことを防止することができる。これにより、正確かつ真正な打刻時刻をサーバ装置に設けられた記憶装置（サーバ記憶部）に記憶することができ、打刻時刻を用いた就業管理の公平性、信頼性を確保することができる。
【００１８】
また、上述した本発明の打刻システムにおいて、前記サーバ装置は、前記打刻要求受信手段により前記第１の打刻要求が受信されたときに前記確定打刻時刻を前記端末装置に送信する確定打刻時刻送信手段を備え、前記端末装置は、前記サーバ装置から送信された前記確定打刻時刻を受信する確定打刻時刻受信手段と、前記確定打刻時刻受信手段により受信された確定打刻時刻を前記端末装置に設けられた表示部に表示する確定打刻時刻表示手段とを備えていることが好ましい。
【００１９】
本発明の打刻システムのこの態様によれば、オンライン状態のときに端末装置に対して打刻入力が行われた場合には、サーバ装置に設けられた時計（サーバ時計）が示す時刻に基づいて決定された確定打刻時刻を、打刻入力を行った者に、端末装置に設けられた表示部を介して確認させることができる。
【００２０】
上記課題を解決するために、本発明の打刻装置は、サーバ装置と通信を行うことにより打刻入力が行われた時刻の記録を行う打刻装置であって、打刻入力を認識する打刻入力認識手段と、当該打刻装置と前記サーバ装置との間が通信可能なオンライン状態か、当該打刻装置と前記サーバ装置との間が通信不能なオフライン状態かを判断する接続状態判断手段と、前記オンライン状態時に、前記サーバ装置に設けられたサーバ時計が示す時刻を前記サーバ装置から受信し、当該受信したサーバ時計が示す時刻と当該打刻装置に設けられた内部時計が示す時刻との時刻差を算出し、当該算出した時刻差を示す時刻差情報を当該打刻装置に設けられた内部記憶部に記憶する時刻差算出手段と、前記打刻入力認識手段による前記認識および前記接続状態判断手段による前記判断に基づき、前記オンライン状態のときに打刻入力が行われた場合に、第１の打刻要求を前記サーバ装置へ送信する第１の打刻要求送信手段と、前記打刻入力認識手段による前記認識および前記接続状態判断手段による前記判断に基づき、前記オフライン状態のときに打刻入力が行われた場合に、前記内部時計から時刻を読み取り、当該読み取った時刻に、前記内部記憶部に記憶された時刻差情報が示す時刻差を加算または減算し、この結果得られた時刻を暫定打刻時刻として前記内部記憶部に記憶する暫定打刻手段と、前記オンライン状態になったときに、前記内部記憶部に記憶された暫定打刻時刻を第２の打刻要求と共に前記サーバ装置へ送信する第２の打刻要求送信手段とを備え、前記第１の打刻要求は、前記サーバ時計から時刻を読み取り、当該読み取った時刻を確定打刻時刻として前記サーバ装置に設けられたサーバ記憶部に記憶することを前記サーバ装置に対して要求する指令であり、前記第２の打刻要求は、当該打刻装置から前記サーバ装置へ当該第２の打刻要求と共に送信する前記暫定打刻時刻を確定打刻時刻として前記サーバ記憶部に記憶することを前記サーバ装置に対して要求する指令であることを特徴とする。
【００２１】
本発明の打刻装置によれば、オフライン状態のときに打刻装置に対して行われた打刻入力の時刻を打刻時刻としてサーバ装置に設けられた記憶装置（サーバ記憶部）に記憶することができる打刻システムを実現することができる。
【００２２】
また、本発明の打刻装置によれば、オフライン状態のときに打刻装置に対して打刻入力が行われた場合でも、この打刻入力が行われた正確な時刻を打刻時刻としてサーバ装置に設けられた記憶装置（サーバ記憶部）に記憶することができ、打刻時刻を用いた就業管理の公平性、信頼性を確保することができる。
【００２３】
上記課題を解決するために、本発明のプログラムは、上述した本発明の打刻装置としてコンピュータを機能させることを特徴とする。
【００２４】
本発明のプログラムによれば、オフライン状態のときに端末装置に対して行われた打刻入力の時刻を打刻時刻としてサーバ装置に設けられた記憶装置（サーバ記憶部）に記憶することができる打刻システムを実現することができる。
【００２５】
上記課題を解決するために、本発明の打刻方法は、互いに通信回線を介して接続可能な端末装置およびサーバ装置を用いて打刻入力が行われた時刻の記録を行う打刻方法であって、前記端末装置において、打刻入力を認識する打刻入力認識工程と、前記端末装置と前記サーバ装置との間が通信可能なオンライン状態であるときに前記打刻入力認識工程において打刻入力が認識された場合には、第１の打刻要求を前記端末装置から前記サーバ装置へ送信する第１の打刻要求送信工程と、前記サーバ装置において、前記第１の打刻要求が受信された場合には、前記サーバ装置に設けられたサーバ時計から時刻を読み取り、当該読み取った時刻を確定打刻時刻として前記サーバ装置に設けられたサーバ記憶部に記憶する第１の確定打刻工程と、前記オンライン状態時に、前記サーバ時計が示す時刻を前記サーバ装置から受信し、当該受信したサーバ時計が示す時刻と前記端末装置に設けられた端末時計が示す時刻との時刻差を算出し、当該算出した時刻差を示す時刻差情報を前記端末装置に設けられた端末記憶部に記憶する時刻差算出工程と、前記端末装置と前記サーバ装置との間が通信不能なオフライン状態であるときに前記打刻入力認識工程において打刻入力が認識された場合には、前記端末装置において、前記端末時計から時刻を読み取り、当該読み取った時刻に、前記端末記憶部に記憶された時刻差情報が示す時刻差を加算または減算し、この結果得られた時刻を暫定打刻時刻として前記端末記憶部に記憶する暫定打刻工程と、オンライン状態になったときに、前記端末記憶部に記憶された前記暫定打刻時刻を第２の打刻要求と共に前記端末装置から前記サーバ装置へ送信する第２の打刻要求送信工程と、前記サーバ装置において、前記第２の打刻要求および前記暫定打刻時刻が受信された場合には、当該受信された暫定打刻時刻を確定打刻時刻として前記サーバ記憶部に記憶する第２の確定打刻工程とを備えていることを特徴とする。
【００２６】
本発明の打刻方法によれば、オフライン状態のときに端末装置に対して行われた打刻入力の時刻を打刻時刻としてサーバ装置に設けられた記憶装置（サーバ記憶部）に記憶することができる打刻システムを実現することができる。また、オフライン状態のときに端末装置に対して打刻入力が行われた場合でも、この打刻入力が行われた正確な時刻を打刻時刻としてサーバ装置に設けられた記憶装置（サーバ記憶部）に記憶することができ、打刻時刻を用いた就業管理の公平性、信頼性を確保することができる。
【発明の効果】
【００２７】
本発明によれば、端末装置に対して打刻入力を行い、端末装置からサーバ装置へ打刻に関する情報を送信し、当該打刻入力が行われた時刻を打刻時刻としてサーバ装置に設けられた記憶装置に記憶する打刻システムにおいて、端末装置とサーバ装置との間がオフライン状態であるときに打刻入力が行われた場合でも、当該打刻入力が行われた時刻を打刻時刻としてサーバ装置に設けられた記憶装置に記憶することができる。また、端末装置とサーバ装置との間がオフライン状態であるときに打刻入力が行われた場合でも、端末装置に設けられた時計が示す時刻が正確であるか否かにかかわらず、当該打刻入力が行われた正確な時刻を打刻時刻としてサーバ装置に設けられた記憶装置に記憶することができる。
【図面の簡単な説明】
【００２８】
【図１】本発明の実施形態による打刻システムを示すブロック図である。
【図２】本発明の実施形態による打刻システムにおける端末装置（打刻装置）を示すブロック図である。
【図３】本発明の実施形態による打刻システムにおけるサーバ装置を示すブロック図である。
【図４】本発明の実施形態による打刻システムにおけるオンライン時の打刻処理を示すフローチャートである。
【図５】本発明の実施形態による打刻システムにおけるオフライン時の打刻処理を示すフローチャートである。
【図６】本発明の実施形態による打刻システムにおける端末装置が行う時刻差算出処理を示すフローチャートである。
【図７】本発明の実施形態による打刻システムにおける端末装置の表示部に表示される打刻画面を示す説明図である。
【発明を実施するための形態】
【００２９】
以下、本発明の実施の形態について図面を参照しながら説明する。
【００３０】
（打刻システムの構成）
図１は本発明の実施形態による打刻システムの全体構成を示している。図１において、本発明の実施形態による打刻システム１は、互いに通信回線２を介して接続可能な端末装置３およびサーバ装置４を備えている。打刻システム１は、端末装置３に対して打刻入力が行われた場合には、端末装置３からサーバ装置４へ打刻に関する情報を送信し、当該打刻入力が行われた時刻を打刻時刻としてサーバ装置４に設けられたサーバ記憶部４２に記憶するシステムである。打刻システム１は、例えば、複数の事業所を有する会社に勤務する従業員の就業管理等に用いることができる。
【００３１】
端末装置３は例えばパーソナルコンピュータである。実際上の利用形態では、複数の端末装置３が１つのサーバ装置４に通信回線２を介して接続可能となっている。例えば事業所ごとに端末装置３が設置される。しかしながら、本実施形態では、説明の便宜上、図１に示すように１つの端末装置３が１つのサーバ装置４に通信回線２を介して接続可能となっている場合を例にあげる。また、端末装置３にはＩＣカードリーダ５が例えばＵＳＢ（ユニバーサルシリアルバス）ケーブルを介して接続されている。ＩＣカードリーダ５は、ＩＣカード６が当該ＩＣカードリーダ５に接近または接触したとき、ＩＣカード６の内蔵メモリに記憶された情報を読み取り、読み取った情報を端末装置３に出力する。ＩＣカード６は、例えば会社の各従業員が所持しているＩＤカードであり、ＩＣカード６の内蔵メモリには、当該ＩＣカード６を所持する従業員を識別するための従業員識別情報が記憶されている。以下、本実施形態において、従業員が例えば出勤時刻、退勤時刻、外出時刻、戻り時刻等を打刻するために、ＩＣカード６をＩＣカードリーダ５に接近または接触させてＩＣカード６の内蔵メモリに記憶された情報をＩＣカードリーダ５に読み取らせる行為を「打刻入力」という。
【００３２】
サーバ装置４は例えばサーバコンピュータである。サーバ装置４は、例えば会社の１つの事業所（例えば人事部がある事業所）、あるいはアウトソーシング事業者（例えばＡＳＰ）から就業管理サービスの提供を会社が受けている場合には、当該事業者の事業所等に設置されている。
【００３３】
通信回線２は、例えばインターネット、公衆回線等である。端末装置３とサーバ装置４との間の通信には、ＶＰＮ（バーチャルプライベートネットワーク）を利用することができる。端末装置３は通信装置８を介して通信回線２と接続可能であり、サーバ装置４は通信装置９を介して通信回線２と接続可能である。通信装置８、９は、例えばモデム等の回線終端装置、ルータ等である。
【００３４】
また、通信回線２には、通信装置８、９と同様の通信装置１０を介して時刻配信装置７が接続されている。時刻配信装置７は、例えば時刻配信業務を行う業務者が管理するサーバコンピュータであり、標準時と合致した時刻を配信する。時刻配信装置７は、例えば時刻配信業務を行う業務者の事業所に設置されている。
【００３５】
（端末装置）
図２は端末装置３の構成を示している。図２に示すように、端末装置３はＣＰＵ（中央演算処理装置）２１を備えている。さらに、端末装置３は、端末記憶部２２、端末時計２３、表示部２４、通信部２５、外部機器接続部２６および入力部２７を備え、これらの構成要素はＣＰＵ２１と接続されている。端末記憶部２２は端末装置３に内蔵されたメモリ、または端末装置３に接続された記憶装置である。端末記憶部２２には後述する処理をＣＰＵ２１に行わせるためのプログラム等が記憶されている。また、端末記憶部２２は、時刻差情報、暫定打刻時刻、端末ＩＤおよび状態監視フラグ等を記憶するための記憶媒体として用いられる。端末時計２３は端末装置３に内蔵された時計である。表示部２４は例えば液晶ディスプレイ装置である。通信部２５は端末装置３を通信回線２に通信可能に接続するための回路である。外部機器接続部２６は外部機器を端末装置３にケーブルを介して接続するためのポートであり、例えばＵＳＢポートである。入力部２７は例えばキーボードおよびマウスである。
【００３６】
端末装置３のＣＰＵ２１は、端末記憶部２２に記憶されたプログラムを読み取って実行することにより、打刻入力認識部３１、接続状態判断部３２、端末通信制御部３３、暫定打刻部３４、表示制御部３５および時刻差算出部３６として機能する。そして、ＣＰＵ２１のこのような機能により、端末装置３は次のような処理を行う。すなわち、端末装置３は、（１）従業員による打刻入力を認識する処理、（２）オンライン時に打刻入力を認識した場合に、第１の打刻要求、従業員識別情報、打刻種別情報、接続状態情報および端末ＩＤをサーバ装置４へ直ちに送信する処理、（３）第１の打刻要求に応じてサーバ装置４から送信された確定打刻時刻を受信し、これを表示部２４に表示する処理、（４）オフライン時に打刻入力を認識した場合に、端末時計２３が示す時刻を読み取り、この時刻を暫定打刻時刻として端末記憶部２２に一時的に記憶すると共に、従業員識別情報、打刻種別情報、接続状態情報および端末ＩＤを端末記憶部２２に一時的に記憶し、その後オンライン状態となったときに、一時的に記憶した暫定打刻時刻、従業員識別情報、打刻種別情報、接続状態情報および端末ＩＤを第２の打刻要求と共にサーバ装置４へ送信する処理、（５）端末時計２３が示す時刻とサーバ時計４３が示す時刻との差を算出し、この時刻差を用いて暫定打刻時刻を修正する処理、および（６）暫定打刻時刻等を記憶する際に、暫定打刻時刻等を暗号化する処理を行う。これらの処理の詳細については後述する。
【００３７】
（サーバ装置）
図３はサーバ装置４の構成を示している。図３に示すように、サーバ装置４はＣＰＵ４１を備えている。さらに、サーバ装置４は、サーバ記憶部４２、サーバ時計４３、通信部４４、入力部４５および表示部４６を備え、これらの構成要素はＣＰＵ４１と接続されている。サーバ記憶部４２はサーバ装置４に内蔵されたメモリ、またはサーバ装置４に接続された記憶装置である。サーバ記憶部４２には、後述する処理をＣＰＵ４１に行わせるためのプログラム、従業員管理情報等が予め記憶されている。また、サーバ記憶部４２は、確定打刻時刻等を記憶するための記憶媒体として用いられる。サーバ時計４３はサーバ装置４に内蔵された時計である。サーバ装置４は、例えば周期的に時刻配信装置７と通信を行い、サーバ時計４３の時刻を、時刻配信装置７から配信される時刻に合わせる。これにより、サーバ時計４３は、常時、標準時と合致した正確な時刻を示す。通信部４４はサーバ装置４を通信回線２に通信可能に接続するための回路である。入力部４５は例えばキーボードおよびマウスである。表示部４６は例えば液晶ディスプレイ装置である。
【００３８】
サーバ装置４のＣＰＵ４１は、サーバ記憶部４２に記憶されたプログラムを読み取って実行することにより、サーバ通信制御部５１および確定打刻部５２として機能する。そして、ＣＰＵ４１のこのような機能により、サーバ装置４は次のような処理を行う。すなわち、サーバ装置４は、（１）端末装置３から送信された第１の打刻要求、従業員識別情報、打刻種別情報、接続状態情報および端末ＩＤを受信したとき、サーバ時計４３が示す時刻を読み取り、受信した従業員識別情報が示す従業員を特定し、受信した打刻種別情報が示す打刻種別を特定し、そして、サーバ時計４３から読み取った時刻を、特定した従業員の、特定した打刻種別に属する確定打刻時刻としてサーバ記憶部４２に記憶する処理、（２）端末装置３から送信された第１の打刻要求、従業員識別情報、打刻種別情報、接続状態情報および端末ＩＤを受信したとき、これに応じて確定打刻時刻を端末装置３に送信する処理、および（３）端末装置３から送信された第２の打刻要求、暫定打刻時刻、従業員識別情報、打刻種別情報、接続状態情報および端末ＩＤを受信したとき、受信した従業員識別情報が示す従業員を特定し、受信した打刻種別情報が示す打刻種別を特定し、そして、受信した暫定打刻時刻を、特定した従業員の、特定した打刻種別に属する確定打刻時刻としてサーバ記憶部４２に記憶する処理、（４）受信した接続状態情報および端末ＩＤを確定打刻時刻と関連付けてサーバ記憶部４２に記憶する処理を行う。これらの処理の詳細については後述する。
【００３９】
（オンライン時の打刻処理）
図４は打刻システム１におけるオンライン時の打刻処理を示している。端末装置３およびサーバ装置４は、通信回線２を介して互いに接続可能に構成されているが、端末装置３とサーバ装置４との間は、常に通信可能な状態、すなわち「オンライン状態」であるとは限らない。端末装置３とサーバ装置４との間が通信不能な状態、すなわち「オフライン状態」である場合もある。例えば、通信回線２の不具合により端末装置３とサーバ装置４との間がオフライン状態になる場合ある。また、端末装置３またはサーバ装置４の管理者等の事情により端末装置３とサーバ装置４との間がオフライン状態に設定される場合がある。もっとも、打刻システム１は、端末装置３とサーバ装置４との間が永久にオフライン状態となることは想定していない。また、端末装置３は、サーバ装置４との間がオンライン状態であるかオフライン状態であるかを監視している。例えば、端末装置３は、サーバ装置４の特定のアドレスにアクセスし、サーバ装置４から一定時間内の応答の有無を確認することにより、サーバ装置４との間がオンライン状態であるかオフライン状態であるかを判断し、その結果を表示部２４（図７の接続状態表示領域６３）に表示する。端末装置３は、このような接続状態判断処理を、打刻処理時と端末装置３の起動時および予め設定された期間毎（例えば３０分毎）に行う。打刻システム１は、端末装置３とサーバ装置４との間がオンライン状態である場合とオフライン状態である場合とで、２通りの打刻処理を行う。まず、端末装置３とサーバ装置４との間がオンライン状態である場合における打刻処理について説明する。
【００４０】
図４において、端末装置３は、従業員による打刻入力が認識されるまで待機している（ステップＳ１：ＮＯ）。そして、従業員が打刻入力を行うと、端末装置３の打刻入力認識部３１は、この打刻入力を認識する（ステップＳ１：ＹＥＳ）。ここで、打刻入力は、具体的には次のように行われる。すなわち、まず、従業員は端末装置３の表示部２４に表示された打刻種別を確認後、必要に応じて入力部２７を操作し、当該従業員が望む打刻種別を選択・変更する。打刻種別には、例えば出勤時刻、退勤時刻、外出時刻および戻り時刻がある。続いて、従業員は、自己の所持するＩＣカード６をＩＣカードリーダ５に接近または接触させる。ＩＣカード６がＩＣカードリーダ５に接近または接触すると、当該従業員の従業員識別情報がＩＣカード６からＩＣカードリーダ５に送信される。そして、ＩＣカードリーダ５は当該従業員識別情報を受信し、当該従業員識別情報を端末装置３に出力する。当該従業員識別情報が端末装置３に入力されると、打刻入力認識部３１はこの旨を認識する。なお、端末装置３は、例えば従業員の勤務時間規則に応じて予め設定された時間帯により打刻種別を自動的に選択する機能を有している。従業員が勤務時間規則に沿って通常の出勤、退勤等を行う場合には、従業員は、端末装置３により自動的に選択された打刻種別を、打刻入力を行う際に変更する必要がない。しかし、例えば臨時の特別の業務を担当している従業員のように、出勤、退勤等の時間が通常でない場合には、当該従業員は、端末装置３により自動的に選択された打刻種別を、打刻入力を行う際に入力部２７を操作して適宜変更することができる。
【００４１】
続いて、端末装置３の接続状態判断部３２が、端末装置３とサーバ装置４との間がオンライン状態であるかオフライン状態であるかを判断する。現在はオンライン状態であるので、この時点において接続状態判断部３２は、端末装置３とサーバ装置４との間がオンライン状態であると判断する（ステップＳ２）。これにつき具体的に説明すると、上述したように、端末装置３は、サーバ装置４との間がオンライン状態であるかオフライン状態であるかを監視しており、端末記憶部２２には、端末装置３とサーバ装置４との間がオンライン状態であるかオフライン状態であるかを示す状態監視フラグが記憶されている。ステップＳ２において、接続状態判断部３２は、接続状態判断処理を行った後に、端末記憶部２２に記憶された状態監視フラグを参照し、端末装置３とサーバ装置４との間がオンライン状態であると判断する。この場合には、端末装置３の端末通信制御部３３が、（ａ）第１の打刻要求、（ｂ）打刻入力の際にＩＣカード６から取得した従業員識別情報、（ｃ）打刻入力時の打刻種別を示す打刻種別情報、（ｄ）打刻入力時に端末装置３とサーバ装置４とがオンライン状態であることを示す接続状態情報、および（ｅ）端末装置３の識別情報である端末ＩＤをサーバ装置４へ送信する（ステップＳ３）。なお、接続状態情報は、端末記憶部２２に記憶された状態監視フラグに基づいて生成することができる。
【００４２】
サーバ装置４のサーバ通信制御部５１が第１の打刻要求、従業員識別情報、打刻種別情報、接続状態情報および端末ＩＤを受信すると（ステップＳ４）、サーバ装置４の確定打刻部５２が、受信した打刻要求が第１の打刻要求であるか第２の打刻要求であるかを判断する。今回は、サーバ装置４が受信した打刻要求は第１の打刻要求であるので、確定打刻部５２は、受信した打刻要求が第１の打刻要求であると判断する。そして、この場合、確定打刻部５２は、サーバ時計４３から時刻を読み取る処理、受信した従業員識別情報とサーバ記憶部４２に予め記憶されている従業員管理情報とを照らし合わせて従業員を特定する処理、および受信した打刻種別情報に基づいて打刻種別を特定する処理を行う（ステップＳ５）。続いて、確定打刻部５２は、サーバ時計から読み取った時刻を、特定した従業員の、特定した打刻種別に属する確定打刻時刻としてサーバ記憶部４２に記憶する。また、確定打刻部５２は、端末装置３から受信した接続状態情報および端末ＩＤを当該確定打刻時刻と関連付けてサーバ記憶部４２に記憶する（ステップＳ６）。続いて、サーバ装置４のサーバ通信制御部５１が、ステップＳ６でサーバ記憶部４２に記憶した確定打刻時刻を端末装置３へ送信する（ステップＳ７）。
【００４３】
端末装置３の端末通信制御部３３が確定打刻時刻を受信すると（ステップＳ８）、端末装置３の表示制御部３５が、受信した確定打刻時刻を表示部２４に表示する（図７（１）参照）。
【００４４】
図４中のステップＳ１ないしＳ９の処理は、例えば、端末装置３、サーバ装置４および通信回線２によって実現可能な最も速い速度で実行される。この結果、ステップＳ１で従業員がＩＣカードリーダ５に対して打刻入力を行ってから、ステップＳ９で従業員が端末装置３の表示部２４に表示された確定打刻時刻を確認するまでの時間はきわめて短く、人間の感覚において一瞬である。また、サーバ装置４のサーバ時計４３は、上述したように、常時、標準時と合致した時刻を示しているので、確定打刻時刻は、打刻入力が行われた時刻を正確に示している。確定打刻時刻は、常時正確なサーバ時計４３から読み取った時刻であるため、たとえ端末装置３の端末時計２３が不正確であったとしても、確定打刻時刻が不正確な時刻となることはない。
【００４５】
また、図４中のステップＳ９に示すように、オンライン時に打刻入力が行われた場合には、打刻入力に対応する確定打刻時刻を端末装置３の表示部２４に表示する。これにより、打刻入力を行った従業員に、サーバ記憶部４２に実際に記憶された打刻時刻を確認させることができる。このように打刻入力を行った従業員にサーバ記憶部４２に実際に記憶された打刻時刻を確認させることは次のようなメリットがある。例えば、端末装置３の端末時計２３が示す時刻が、サーバ装置４のサーバ時計４３が示す時刻と異なっており、このことに従業員が気付いていない場合には、従業員の認識と異なる打刻時刻が日々記憶され、この結果、従業員の認識と異なる給与計算（例えば、従業員が認識していない遅刻や早退に基づく給与計算）が行われる場合がある。この場合、身に覚えのない遅刻や早退により給与が減っていることを知った従業員は大いに困惑することであろう。本実施形態による打刻システム１によれば、このような不都合を防止することができる。また、確定打刻時刻を端末装置３の表示部２４に表示する際に、「遅刻」や「時間外」等のアラーム表示を同時に行うとなおよい。例えばサーバ装置４にて、予め設定された定時間帯や休憩時間等の勤務シフトの設定により、確定打刻時刻から「遅刻」や「時間外」の判定を行い、その結果を確定打刻時刻と一緒に送信すればよい。また、この判定処理を端末装置３で行ってもよい。
【００４６】
（オフライン時の打刻処理）
次に、端末装置３とサーバ装置４との間がオフライン状態である場合における打刻処理について説明する。図５は打刻システム１におけるオフライン時の打刻処理を示している。図５に示すように、端末装置３は、従業員による打刻入力が認識されるまで待機している（ステップＳ１１：ＮＯ）。そして、従業員が打刻入力を行うと、端末装置３の打刻入力認識部３１は、この打刻入力を認識する（ステップＳ１１：ＹＥＳ）。すなわち、図４中のステップＳ１と同様に、従業員が打刻種別を確認後、必要に応じて打刻種別を選択・変更し、ＩＣカード６をＩＣカードリーダ５に接近または接触させると、当該従業員の従業員識別情報がＩＣカード６からＩＣカードリーダ５に送信され、続いてＩＣカードリーダ５から端末装置３に出力される。そして、打刻入力認識部３１はこの従業員識別情報の入力を認識する。
【００４７】
続いて、端末装置３の接続状態判断部３２が、接続状態判断処理を行った後に、端末記憶部２２に記憶された状態監視フラグを参照し、端末装置３とサーバ装置４との間がオンライン状態であるかオフライン状態であるかを判断する。現在はオフライン状態であるので、この時点において接続状態判断部３２は、端末装置３とサーバ装置４との間がオフライン状態であると判断する（ステップＳ１２）。オフライン状態であると判断された場合には、端末装置３の暫定打刻部３４が、端末時計２３から時刻を読み取る（ステップＳ１３）。続いて、暫定打刻部３４は、端末時計２３から読み取った時刻を、端末記憶部２２に記憶された時刻差情報を用いて修正し、この修正した時刻を暫定打刻時刻とする（ステップＳ１４）。なお、時刻差情報、および時刻の修正方法については後述する。続いて、暫定打刻部３４は、（ａ）暫定打刻時刻、（ｂ）ステップＳ１１の打刻入力の際にＩＣカード６から取得した従業員識別情報、（ｃ）打刻入力時の打刻種別を示す打刻種別情報、（ｄ）打刻入力時において端末装置３とサーバ装置４との間がオフライン状態であることを示す接続状態情報、および（ｅ）端末装置３の端末ＩＤを暗号化する（ステップＳ１５）。続いて、暫定打刻部３４は、ステップＳ１５で暗号化した暫定打刻時刻、従業員識別情報、打刻種別情報、接続状態情報および端末ＩＤを端末記憶部２２に記憶する（ステップＳ１６）。
【００４８】
その後、接続状態の監視により、端末装置３とサーバ装置４との間のオンライン状態を検知したとき、端末装置３の暫定打刻部３４が、ステップＳ１６で端末記憶部２２に記憶された暫定打刻時刻、従業員識別情報、打刻種別情報、接続状態情報および端末ＩＤを復号する。続いて、端末装置３の端末通信制御部３３が、第２の打刻要求と共に、復号した暫定打刻時刻、従業員識別情報、打刻種別情報、接続状態情報および端末ＩＤをサーバ装置４へ送信する（ステップＳ１７）。なお、暫定打刻時刻、従業員識別情報、打刻種別情報、接続状態情報および端末ＩＤをそれぞれ暗号化されたままサーバ装置４に送信し、サーバ装置４でこれらの情報を復号してもよい。
【００４９】
サーバ装置４のサーバ通信制御部５１が第２の打刻要求、暫定打刻時刻、従業員識別情報、打刻種別情報、接続状態情報および端末ＩＤを受信すると（ステップＳ１８）、サーバ装置４の確定打刻部５２は、受信した打刻要求が第１の打刻要求であるか第２の打刻要求であるかを判断する。今回は、サーバ装置４が受信した打刻要求は第２の打刻要求であるので、確定打刻部５２は、受信した打刻要求が第２の打刻要求であると判断する。そして、この場合、確定打刻部５２は、受信した従業員識別情報とサーバ記憶部４２に予め記憶されている従業員管理情報とを照らし合わせて従業員を特定する処理、および受信した打刻種別情報に基づいて打刻種別を特定する処理を行う。続いて、確定打刻部５２は、受信した暫定打刻時刻を、特定した従業員の、特定した打刻種別に属する確定打刻時刻としてサーバ記憶部４２に記憶する。また、確定打刻部５２は、端末装置３から受信した接続状態情報および端末ＩＤを当該確定打刻時刻に関連付けてサーバ記憶部４２に記憶する（ステップＳ１９）。
【００５０】
図５中のステップＳ１１ないしＳ１６の処理は、例えば、端末装置３によって実現可能な最も速い速度で実行される。この結果、ステップＳ１１で従業員がＩＣカードリーダ５に対して打刻入力を行ってから、暗号化された暫定打刻時刻等がステップＳ１６で端末記憶部２２に記憶されるまでの間の時間はきわめて短く、人間の感覚において一瞬である。
【００５１】
また、今まで不具合が生じていた通信回線が回復したために端末装置３とサーバ装置４との間がオフライン状態からオンライン状態へ切り換わったとき、あるいは端末装置３またはサーバ装置４の管理者が端末装置３とサーバ装置４との間をオフライン状態からオンライン状態へ切り換えたとき、端末装置３は、オフライン状態の間に端末記憶部２２に記憶されたすべての暫定打刻時刻、従業員識別情報、打刻種別情報、接続状態情報および端末ＩＤをサーバ装置４へ送信する。そして、端末装置３は、送信が完了した暫定打刻時刻、従業員識別情報、打刻種別情報、接続状態情報および端末ＩＤを端末記憶部２２から消去する。
【００５２】
また、１つの打刻処理に関する暫定打刻時刻、従業員識別情報、打刻種別情報、接続状態情報および端末ＩＤは相互に関連付けられて端末記憶部２２に記憶される。したがって、オフライン状態中に、複数の従業員が１つの端末装置３に対して打刻入力を行ったために複数組の暫定打刻時刻、従業員識別情報、打刻種別情報、接続状態情報および端末ＩＤが端末記憶部２２に記憶されても、これら複数組の暫定打刻時刻、従業員識別情報、打刻種別情報、接続状態情報および端末ＩＤを、従業員ごとに区別することができる。
【００５３】
このような打刻処理によれば、オフライン状態のときに端末装置３に対して打刻入力が行われた場合でも、打刻入力が行われた時刻を確定打刻時刻としてサーバ装置４に設けられたサーバ記憶部４２に記憶することができる。したがって、複数の事業所を有する会社において、各事業所に端末装置３を設置することにより、各事業所において各従業員により端末装置３に対して行われる打刻入力に対応する打刻時刻をサーバ装置４に集約することができる。そして、サーバ装置４において、集約された打刻時刻を用いて、複数の事業所における複数の従業員の一括的・一元的な就業管理を確実に行うことができる。
【００５４】
また、端末装置３の端末時計２３が示す時刻がサーバ装置４のサーバ時計４３を示す時刻と異なる場合でも、サーバ時計４３が示す時刻に正確に合致した打刻時刻をサーバ装置４のサーバ記憶部４２に記憶することができる。これにより、打刻入力がオフライン時に行われたか、オンライン時に行われたかによってサーバ装置４のサーバ記憶部４２に記憶される打刻時刻が異なってしまうといった不都合を防止することができる。また、複数の事業所を有する会社において事業所ごとに端末装置３を設置した場合には、打刻入力を行った端末装置３が異なることによってサーバ装置４のサーバ記憶部４２に記憶される打刻時刻が異なってしまうといった不都合を防止することができる。したがって、打刻時刻を用いた就業管理の公平性および信頼性を確保することができる。
【００５５】
また、暫定打刻時刻等を端末装置３の端末記憶部２２に暗号化して記憶することにより、打刻時刻の改ざんにより打刻時刻の正確性または信頼性が損なわれることを防止することができる。
【００５６】
また、ステップＳ１９において、確定打刻時刻と関連付けてサーバ記憶部４２に記憶した接続状態情報により、オンライン状態での打刻入力だったのか、オフライン状態での打刻入力だったのかを事後的に特定することができる。また、確定打刻時刻と関連付けてサーバ記憶部４２に記憶した端末ＩＤにより、打刻入力が行われた具体的な端末装置３を事後的に特定することができる。これら接続状態情報および端末ＩＤは、確定打刻時刻の精査を行う際に有用である。オンライン時の打刻処理におけるステップＳ６でサーバ記憶部４２に記憶された接続状態情報および端末ＩＤについても同様である。
【００５７】
（時刻差算出処理）
図６は端末装置３における時刻差算出処理を示している。時刻差算出処理とは、端末装置３の端末時計２３が示す時刻と、サーバ装置４のサーバ時計４３が示す時刻との差を算出し、算出結果を時刻差情報として端末装置３の端末記憶部２２に記憶する処理である。時刻差算出処理は、オンライン時に所定の周期（例えば３０分）で行われる。また、時刻差情報は、上述したように、オフライン時の打刻処理において暫定打刻時刻の修正（図５中のステップＳ１４）に用いられる。以下、具体的に説明する。
【００５８】
図６に示すように、前回の時刻差算出処理から所定時間経過後（ステップＳ２１：ＹＥＳ）、端末装置３の端末通信制御部３３がサーバ時刻送信要求をサーバ装置４へ送信する（ステップＳ２２）。続いて、サーバ装置４のサーバ通信制御部５１がサーバ時刻送信要求を受信し（ステップＳ２３）、サーバ時計４３から現時点の時刻を読み取り、読み取った時刻（サーバ時計読取時刻）を端末装置３へ送信する（ステップＳ２４）。続いて、端末装置３の端末通信制御部３３が、サーバ時計読取時刻を受信する（ステップＳ２５）。続いて、端末装置３の時刻差算出部３６が、端末時計２３の時刻を読み取り、この読み取った時刻（端末時計読取時刻）と、受信したサーバ時計読取時刻との差を算出する（ステップＳ２６）。そして、時刻差算出部３６は、この算出結果を時刻差情報として端末記憶部２２に記憶する（ステップＳ２７）。
【００５９】
例えば、時刻差情報は、サーバ時計読取時刻から端末時計読取時刻を差し引いた値である。したがって、端末時計２３の時刻がサーバ時計４３の時刻よりも遅れている場合には、時刻差情報は正の値となり、端末時計の時刻がサーバ時計の時刻よりも進んでいる場合には、時刻差情報は負の値となる。この場合、オフライン時の打刻処理（図５中のステップＳ１４）では、暫定打刻時刻に時刻差情報を加算することにより、暫定打刻時刻を修正する。また、上述したように、サーバ時計４３は、時刻配信装置７から配信される時刻に合わせられており、常時、標準時と合致した正確な時刻を示している。したがって、時刻差情報が示す時刻差は、端末時計２３が示す時刻と標準時との差である。それゆえ、時刻差情報を加算することにより修正された暫定打刻時刻は、標準時に合致した時刻となる。
【００６０】
（打刻画面）
図７は端末装置３の表示部２４に表示される打刻画面を示している。打刻画面６１には、現在時刻が表示される時刻表示領域６２と、端末装置３とサーバ装置４の現時点における接続状態（オンライン状態かオフライン状態か）が表示される接続状態表示領域６３と、打刻種別が表示される打刻種別表示領域６４と、打刻情報やエラー情報等の操作者への各種通知を表示するメッセージ表示領域６５が形成されている。時刻表示領域６２には、端末時計２３から読み取られた時刻がそのまま表示される。なお、端末時計２３から読み取った時刻を端末記憶部２２に記憶された時刻差情報を用いて修正し、修正後の時刻を時刻表示領域６２に表示してもよい。
【００６１】
図７（１）に示すように、オンライン状態のときには、メッセージ表示領域６５には、打刻入力と同時に確定打刻時刻が「退勤  １８：３０  受け付けました」のように表示される（図４中のステップＳ９参照）。打刻入力を行った従業員は、時刻表示領域６２に表示された現在時刻と、メッセージ表示領域６５に配置された確定打刻時刻とを比較し、時刻表示領域６２に表示された現在時刻と異なる時刻が打刻時刻としてサーバ装置４に記憶された場合には、その旨を知ることができる。一方、図７（２）に示すように、オフライン状態のときには、メッセージ表示領域６５に、打刻入力と同時に暫定打刻時刻を表示してもよい。この場合でも、打刻入力を行った従業員は、時刻表示領域６２に表示された現在時刻と、メッセージ表示領域６５に配置された暫定打刻時刻とを比較し、時刻表示領域６２に表示された現在時刻と異なる時刻が打刻時刻としてサーバ装置４に記憶された場合には、その旨を知ることができる。
【００６２】
接続状態表示領域６３には、現時点の接続状態がオンライン状態かオフライン状態かを、打刻入力を行う従業員が明確に区別することができるように表示することが望ましい。例えば、オンライン状態のときには、接続状態表示領域６３を全面的に例えば緑色にし、「オンライン」という文字列を大きく表示することが望ましい。一方、オフライン状態のときには、接続状態表示領域６３を全面的に例えば赤色にし、「オフライン」という文字列を大きく表示することが望ましい。なお、緑色と赤色は人間が明確に区別することができるので、これらの色の組み合わせを採用したが、例えば青色と黄色等、人間が明確に識別できる他の色の組み合わせを採用してもよい。
【００６３】
打刻種別表示領域６４には、出勤、退勤、外出、戻りといった打刻種別が表示される。これらのうち、現在選択されている打刻種別を、他の打刻種別と比べて目立つ態様で表示する。
【００６４】
なお、上述した打刻処理（図４、図５参照）を実現するための端末装置３のＣＰＵ２１の機能、すなわち、打刻入力認識部３１、接続状態判断部３２、端末通信制御部３３、暫定打刻部３４、表示制御部３５、および時刻差算出部３６は、端末装置３の端末記憶部２２に予め記憶された（事前に端末装置３にインストールされた）プログラムをＣＰＵ２１で実行することにより具現化してもよいし、打刻処理を実際に行うときに、このようなプログラムをサーバ装置４から端末装置３へダウンロードし、このダウンロードしたプログラムをＣＰＵ２１で実行することにより具現化してもよい。後者の態様は、ＡＳＰによる就業管理サービスまたはクラウドコンピューティングを利用した就業管理サービスに好適である。
【００６５】
また、上述した実施形態では、端末装置３とこれに接続されたＩＣカードリーダ５により、従業員が所持するＩＣカード６を読み取ることで、打刻入力を認識する場合を例にあげたが、本発明はこれに限らない。例えば、携帯電話、スマートフォン等の携帯型電子機器をＩＣカード６の代わりに採用することも可能である。また、ＩＣカード６の代わりにこのような携帯型電子機器を採用した場合には、打刻入力を行ったときに打刻入力情報（従業員識別情報等）を送信する機能を携帯型電子機器に持たせると共に、打刻入力情報の受信を打刻入力と認識する機能を端末装置３に持たせてもよい。また、ＩＣカード以外の各種識別媒体（バーコードカード、ＲＦＩＤタグ、光カード等）を利用したり、暗証コードや生体認証等の他の認証方法により打刻入力を認識する方法でもよい。
【００６６】
また、上述した実施形態では、図６に示すように、時刻差算出処理をオンライン時に周期的に行う場合を例にあげたが、これに限らず、例えば端末装置３を起動したときや、オフライン状態からオンライン状態への切り換わりを検知したときに時刻差算出処理を行うこととしてもよい。
【００６７】
また、上記実施形態において、打刻入力認識部３１は打刻入力認識手段の具体例であり、接続状態判断部３２は接続状態判断手段の具体例であり、端末通信制御部３３は第１の打刻要求送信手段、第２の打刻要求送信手段および確定打刻時刻受信手段の具体例である。また、暫定打刻部３４は暫定打刻手段の具体例であり、表示制御部３５は確定打刻時刻表示手段の具体例であり、時刻差算出部３６は時刻差算出手段の具体例である。また、サーバ通信制御部５１は打刻要求受信手段および確定打刻時刻送信手段の具体例であり、確定打刻部５２は確定打刻手段の具体例である。また、端末装置３は打刻装置の具体例である。
【００６８】
また、本発明は、請求の範囲および明細書全体から読み取ることのできる発明の要旨または思想に反しない範囲で適宜変更可能であり、そのような変更を伴う打刻システム、打刻装置、プログラムおよび打刻方法もまた本発明の技術思想に含まれる。
【産業上の利用可能性】
【００６９】
本発明は、会社の従業員の就業管理等に用いることができる。特に、ＡＳＰが提供する就業管理サービス、クラウドコンピューティングを利用した就業管理サービス等への利用に適している。
【符号の説明】
【００７０】
１  打刻システム
２  通信回線
３  端末装置（打刻装置）
４  サーバ装置
５  ＩＣカードリーダ
２１  ＣＰＵ
２２  端末記憶部
２３  端末時計
２４  表示部
３１  打刻入力認識部（打刻入力認識手段）
３２  接続状態判断部（接続状態判断手段）
３３  端末通信制御部（第１の打刻要求送信手段、第２の打刻要求送信手段、確定打刻時刻受信手段）
３４  暫定打刻部（暫定打刻手段）
３５  表示制御部（確定打刻時刻表示手段）
３６  時刻差算出部（時刻差算出手段）
４１  ＣＰＵ
４２  サーバ記憶部
４３  サーバ時計
５１  サーバ通信制御部（打刻要求受信手段、確定打刻時刻送信手段）
５２  確定打刻部（確定打刻手段）
６１  打刻画面
６２  時刻表示領域
６５  メッセージ表示領域
【図１】
0005978004.tif 000002
【図２】
0005978004.tif 000003
【図３】
0005978004.tif 000004
【図４】
0005978004.tif 000005
【図５】
0005978004.tif 000006
【図６】
0005978004.tif 000007
【図７】
0005978004.tif 000008