(57)【特許請求の範囲】
【請求項１】
出退勤記録サービスを提供する方法であって、
少なくとも一つの勤務地、少なくとも一つの従業員、少なくとも一つのビーコンについての情報を含む少なくとも一つのデータベースを提供し、データベース上で、第１勤務地で働く第１従業員は第１勤務地に結びつけられ、第１勤務地に設置された第１ビーコンは第１勤務地に結びつけられている段階と、
モバイルターミナルに組み込まれる出退勤記録サービス用モバイルアプリを提供し、モバイルアプリは第１従業員の第１モバイルターミナルに組み込まれる段階と、
一つ以上のコンピュータ装置を含むサーバーを提供し、サーバーはネットワークを介して第１モバイルターミナル及びデータベースと情報交換することができる段階と、
前記サーバーが、第１モバイルターミナルのモバイルアプリから伝送された従業員認証要請を受け、従業員認証要請に含まれた情報を用いて第１従業員を認証する段階と、
第１従業員が認証された後、前記サーバーが、第１従業員の識別情報を用いてデータベースで第１従業員に結びつけられた第１勤務地、第１勤務地に結びつけられた第１ビーコン又は両者を捜す段階と、
第１モバイルターミナルのモバイルアプリで出退勤記録要請があれば、第１モバイルターミナルがビーコンから受信する無線信号からハードウェアＩＤ、時変（ｔｉｍｅ−ｖａｒｉａｎｔ）保安コード、保安キーを獲得する段階であって、第１モバイルターミナルが単独で、又はサーバーが単独で、又は第１モバイルターミナルとサーバーが一緒に当該段階を実行し、ハードウェアＩＤはビーコンのハードウェアに固有なＩＤであり、時変保安コードはビーコンに保存されたアルゴリズムが時間によって値を変えて生成するコードであり、保安キーはビーコンの時変保安コードをビーコンの外部で獲得するために使用するキーである段階と、
第１従業員の認証によって第１勤務地、第１ビーコン又は両者を捜した後、第１モバイルターミナルが受信した無線信号から獲得したハードウェアＩＤが第１ビーコンのものであることを前記サーバーが判断する段階であって、第１モバイルターミナルが受信した無線信号から獲得したハードウェアＩＤがデータベース上で第１ビーコンのものとして保存されているハードウェアＩＤに相応するかを判断する段階と、
第１従業員の認証によって第１勤務地、第１ビーコン又は両者を捜した後、第１モバイルターミナルが受信した無線信号から獲得した時変保安コードが第１ビーコンのものであるかを前記サーバーが判断する段階であって、第１ビーコンに保存されたものに対応するアルゴリズムに第１モバイルターミナルが受信した無線信号から獲得した保安キーを適用してコードを生成し、生成されたコードが第１モバイルターミナルが受信した無線信号から獲得した時変保安コードに相応するかを判断する段階と、
第１モバイルターミナルが受信した無線信号から獲得したハードウェアＩＤが第１勤務地に設置された第１ビーコンのものであると判断され、かつ第１モバイルターミナルが受信した無線信号から獲得した時変保安コードが第１ビーコンのものであると判断されれば、第１ビーコンが設置された第１勤務地で第１従業員の出勤又は退勤があったことを、前記サーバーがデータベースに記録する段階と、
を含む、出退勤記録サービス提供方法。
【請求項２】
データベース上で第１従業員は第２勤務地にも結びつけられ、第２勤務地に設置された第２ビーコンは第２勤務地に結びつけられ、
第１従業員が認証された後、前記サーバーが、第１従業員の識別情報を用いて、データベースで第１従業員に結びつけられた第２勤務地、第２勤務地に結びつけられた第２ビーコン又は両者を捜す段階をさらに含み、
ついで、第１従業員が第１勤務地又は第２勤務地を出退勤記録要請の対象として選択することができるインターフェースがモバイルアプリから提供されるようにする段階をさらに含む、請求項１に記載の出退勤記録サービス提供方法。
【請求項３】
サーバー、モバイルアプリ又はその両者が一緒に、第１勤務地と第２勤務地のうち第１従業員が位置していると期待される一つの勤務地を決定する段階をさらに含み、
その決定は、第１モバイルターミナルのＧＰＳ（Ｇｌｏｂａｌ  Ｐｏｓｉｔｉｏｎｉｎｇ  Ｓｙｓｔｅｍ）位置情報、第１従業員の勤務日程情報、現在時間、現在曜日のうち一つ以上に基づいてなされる、請求項２に記載の出退勤記録サービス提供方法。
【請求項４】
サーバーが、第１モバイルターミナルで受信される第１ビーコンの無線信号の強度をモニターする段階と、
前記サーバーが、モニターされた信号強度のプロファイルに所定の非正常パターンが現れるかによって潜在的不正行為があるかを判断する段階と、
をさらに含む、請求項１に記載の出退勤記録サービス提供方法。
【請求項５】
第１従業員が第１勤務地に位置すると予想されない時間帯に第１モバイルターミナルで受信される無線信号の強度が所定レベルより高い場合、前記サーバーが、潜在的不正行為があると判断する、請求項１に記載の出退勤記録サービス提供方法。
【請求項６】
第１従業員が第１勤務地に位置すると予想されない時間帯に第１モバイルターミナルで受信される無線信号の強度が所定レベルより高くかつ相当期間実質的に変わらない場合、前記サーバーが、潜在的不正行為があると判断する、請求項１に記載の出退勤記録サービス提供方法。
【請求項７】
第１モバイルターミナルがビーコンから受信する無線信号からサービスＩＤを獲得する段階をさらに含み、
第１モバイルターミナルがビーコンから受信する無線信号からハードウェアＩＤ、時変保安コード、保安キーを獲得することは、第１モバイルターミナルで受信される無線信号であって出退勤記録サービスのサービスＩＤを有する無線信号に対して選択的に行う、請求項１に記載の出退勤記録サービス提供方法。
【請求項８】
請求項１の方法を、少なくとも一つのプロセッサ、少なくとも一つのメモリ、他の装置との情報交換のための少なくとも一つの通信インターフェースを含むサーバーで実現させることができるプログラムが収録されたコンピュータ可読記録媒体。
【請求項９】
出退勤記録サービスを提供するシステムであって、
少なくとも一つの勤務地、少なくとも一つの従業員、少なくとも一つのビーコンについての情報を含む少なくとも一つのデータベースと、
ネットワークを介してモバイルターミナル及びデータベースと情報交換可能な、一つ以上のコンピュータ装置と、を含むサーバーを含み、
データベース上で、第１勤務地で働く第１従業員は第１勤務地に結びつけられ、第１勤務地に設置された第１ビーコンは第１勤務地に結びつけられ、
サーバーは、第１従業員の第１モバイルターミナルに組み込まれた出退勤記録サービス用モバイルアプリから、第１モバイルターミナルのモバイルアプリから伝送された従業員認証要請を受信するように構成され、
サーバーは、従業員認証要請に含まれた情報を用いて第１従業員を認証するように構成され、
サーバーは、第１従業員が認証された後、第１従業員の識別情報を用いてデータベースで第１従業員に結びつけられた第１勤務地、第１勤務地に結びつけられた第１ビーコン又は両者を捜すように構成され、
サーバーは、第１モバイルターミナルのモバイルアプリで出退勤記録要請があれば、第１モバイルターミナルがビーコンから受信する無線信号から、ハードウェアＩＤ、時変（ｔｉｍｅ−ｖａｒｉａｎｔ）保安コード、保安キーを獲得するように構成され、ハードウェアＩＤはビーコンのハードウェアに固有なＩＤであり、時変保安コードはビーコンに保存されたアルゴリズムが時間によって値を変えて生成するコードであり、保安キーはビーコンの時変保安コードをビーコンの外部で獲得するのに使用するキーであり、
サーバーは、第１従業員の認証によって第１勤務地、第１ビーコン又は両者を捜した後、第１モバイルターミナルが受信した無線信号から獲得したハードウェアＩＤが第１ビーコンのものであるかに対する判断を行うように構成され、第１モバイルターミナルが受信した無線信号から獲得したハードウェアＩＤが、データベース上で第１ビーコンのものとして保存されているハードウェアＩＤに相応するかを判断するように構成され、
サーバーは、第１従業員の認証によって第１勤務地、第１ビーコン又は両者を捜した後、第１モバイルターミナルが受信した無線信号から獲得した時変保安コードが、第１ビーコンのものであるかに対する判断を行うように構成され、第１ビーコンに保存されたものに対応するアルゴリズムに第１モバイルターミナルが受信した無線信号から獲得した保安キーを適用してコードを生成し、生成されたコードが第１モバイルターミナルが受信した無線信号から獲得した時変保安コードに相応するかを判断するように構成され、
サーバーは、第１モバイルターミナルが受信した無線信号から獲得したハードウェアＩＤが第１勤務地に設置された第１ビーコンのものであると判断され、かつ、第１モバイルターミナルが受信した無線信号から獲得した時変保安コードが、第１ビーコンのものであると判断されれば、第１ビーコンが設置された第１勤務地で第１従業員の出勤又は退勤があったことをデータベースに記録するように構成された、
出退勤記録サービス提供システム。
【請求項１０】
第１モバイルターミナルが受信した無線信号から獲得したハードウェアＩＤが、第１ビーコンのものであるかに対する判断を第１モバイルターミナルで行うように、データベースから捜した第１ビーコンのハードウェアＩＤを、サーバーが第１モバイルターミナルにネットワークを介して伝送するように構成された、請求項９に記載の出退勤記録サービ
ス提供システム。
【請求項１１】
第１モバイルターミナルは、受信した無線信号を処理してハードウェアＩＤを獲得するように構成され、第１モバイルターミナルでの無線信号処理により獲得したハードウェアＩＤがデータベース上で第１ビーコンのものとして保存されているハードウェアＩＤに相応するかを判断するために、サーバーが第１モバイルターミナルから無線信号処理により獲得したハードウェアＩＤを受信するように構成された、請求項９に記載の出退勤記録サービス提供システム。
【請求項１２】
第１モバイルターミナルは、受信した無線信号を処理して時変保安コードと保安キーを獲得するように構成され、第１モバイルターミナルでの無線信号処理により獲得した時変保安コードが保安キーを適用してコードを生成するコードに相応するかを判断するために、サーバーが第１モバイルターミナルから無線信号処理により獲得した時変保安コードと保安キーを受信するように構成された、請求項９に記載の出退勤記録サービス提供シス
テム。
【請求項１３】
出退勤報告方法であって、
少なくとも一つの勤務地、少なくとも一つの従業員、少なくとも一つのビーコンについての情報を含む少なくとも一つのデータベースが提供され、第１モバイルターミナルに出退勤記録サービス用モバイルアプリが組み込まれ、ネットワークを介して第１モバイルターミナル及びデータベースと情報交換可能な一つ以上のコンピュータ装置を含むサーバーを提供する環境で、
サーバーが第１モバイルターミナルのモバイルアプリから伝送した従業員認証要請を受け、従業員認証要請に含まれた情報を用いて第１従業員を認証する段階と、
サーバーが、第１従業員が認証された後、第１従業員の識別情報を用いて、データベースで第１従業員に結びつけられた第１勤務地、第１勤務地に結びつけられた第１ビーコン又は両者を捜す段階と、
第１モバイルターミナルのモバイルアプリで出退勤記録要請があれば、サーバーが、第１モバイルターミナルがビーコンから受信する無線信号から時変保安コード、保安キーを獲得し、時変保安コードはビーコンに保存されたアルゴリズムが時間によって値を変えて生成するコードであり、保安キーはビーコンの時変保安コードをビーコンの外部で獲得するのに使用するキーである段階と、
第１従業員の認証によって第１勤務地、第１ビーコン又は両者を捜した後、サーバーが、第１モバイルターミナルが受信した無線信号から獲得した時変保安コードが第１ビーコンのものであるかを判断し、第１ビーコンに保存されたものに対応するアルゴリズムに第１モバイルターミナルが受信した無線信号から獲得した保安キーを適用してコードを生成し、生成されたコードが第１モバイルターミナルが受信した無線信号から獲得した時変保安コードに相応するかを判断する段階と、
第１モバイルターミナルが受信した無線信号から獲得した時変保安コードが第１ビーコンのものであると判断されれば、第１ビーコンが設置された第１勤務地で第１従業員の出勤又は退勤があったことをサーバーがデータベースに記録する段階と、
を含む、出退勤報告方法。
【請求項１４】
サーバーは、第１モバイルターミナルで受信される無線信号の強度をモニターし、
サーバーは、モニターされた信号強度のプロファイルに所定の非正常パターンが現れるかによって潜在的不正行為があるかを判断する、請求項１３に記載の出退勤報告方法。
【請求項１５】
サーバーは、第１従業員の第１勤務地に位置すると予想されない時間帯に第１モバイルターミナルで受信される無線信号の強度が所定レベルより高い場合、潜在的不正行為があると判断する、請求項１４に記載の出退勤報告方法。
【請求項１６】
サーバーは、第１従業員が第１勤務地に位置すると予想されない時間帯に第１モバイルターミナルで受信される無線信号の強度が所定レベルより高くかつ該当時間内で実質的にその強度が変わらない場合、潜在的不正行為があると判断する、請求項１４に記載の出退勤報告方法。
【請求項１７】
請求項１３〜１６のいずれかに記載の方法を、少なくとも一つのプロセッサ、少なくとも一つのメモリ、他の装置との情報交換のための少なくとも一つの通信インターフェースを含むサーバーで実現させることができるプログラムが収録されたコンピュータ可読記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願はモバイルデバイスの位置を報告してモニターすることに関するものである。
【背景技術】
【０００２】
職場で従業員の出退勤を確認して記録する方法は多様である。近年、出退勤の際、勤務地のコンピュータに従業員が情報を入力することによって出退勤を記録する方法が使われている。一方、無線通信技術の発展によって、スマートフォンのような無線通信器機を出退勤の確認及び記録に用いることができる。
【発明の概要】
【課題を解決するための手段】
【０００３】
本発明の一側面によって出退勤記録システムが提供される。出退勤記録システムは次の特徴の一つ以上を含む。
【０００４】
・出退勤記録サービスの指定された勤務地に設置されることができる一つ以上のビーコン。それぞれのビーコンは無線信号を送出するように構成され、そのビーコンが設置された勤務地内でモバイルターミナルが該当無線信号を受信することができ、無線信号はサービスＩＤ、ハードウェアＩＤ、保安コード、保安キーからなるグループから選択された少なくとも一つ以上を伝達し、第１ビーコンが出退勤記録サービスの第１勤務地に設置されている。
【０００５】
・出退勤記録サービスを識別することができるサービスＩＤが前もって付与されており、第１ビーコンのハードウェアを特定することができるハードウェアＩＤが前もって付与されており、第１ビーコンに含まれたアルゴリズムによって保安コードが生成され、保安コードは時間によって違う値を有し、保安キーは保安コードのキーで、保安コードの生成に使われたものと同一のアルゴリズムに適用すれば同一の保安コードを生成することができる情報である。
【０００６】
・勤務地と従業員（ｕｓｅｒ）を識別するデータを含む少なくとも一つのデータベースであって、データベースにはビーコンのハードウェアＩＤが保存されており、データベースにおいて、第１勤務地で働く第１従業員は第１勤務地に結びつけられており、第１勤務地に設置された第１ビーコンは第１勤務地に結びつけられている。
【０００７】
・出退勤記録サービスの動作とモバイルターミナルへの組込みのために提供されるモバイルアプリ。モバイルアプリは第１モバイルターミナルに組み込まれる。
【０００８】
・データベースにアクセス可能であり、モバイルターミナルと通信可能な一つ以上のコンピュータ装置を含む、サーバー。
【０００９】
以上で説明したシステムは次に羅列された追加的な特徴を一つ以上含むことができる。
【００１０】
・第１モバイルターミナルでモバイルアプリを介して出退勤報告を行うことができるように第１従業員に対する認証が行われば、第１ビーコンが第１勤務地に結びつけられ、かつ第１勤務地が第１従業員に結びつけられていることに基づき、第１従業員の認証過程で利用可能であった第１利用者の識別データを用いて、サーバーがデータベースで第１ビーコンを検索するように構成される。
【００１１】
・モバイルアプリで出退勤報告のための第１従業員の指示（ｃｏｍｍａｎｄ）に応答し、出退勤記録サービスに連関したビーコンから送出された無線信号を識別し、識別された無線信号に含まれたハードウェアＩＤ、保安コード、保安キーが獲得されるように、第１モバイルターミナルで受信された無線信号が処理されるようにシステムが構成される。
【００１２】
・データベースで第１ビーコンを捜してそのハードウェアＩＤが獲得されれば、その獲得されたハードウェアＩＤが、第１従業員を識別するデータを用いてデータベースで確認される第１ビーコンのそれであるかを判断するようにシステムが構成される。
【００１３】
・保安コードと保安キーが獲得されれば、獲得された保安キー及び保安キー生成のために第１ビーコンが有しているアルゴリズムと相応するアルゴリズムを用いて、獲得された保安コードが第１ビーコンから予想されるコードであるかを判断するようにシステムが構成される。
【００１４】
・サーバーは、獲得されたハードウェアＩＤが第１ビーコンのものであるとともに獲得された保安コードが第１ビーコンから予想されるものであると判断される場合、出退勤報告のための第１従業員の指示（ｃｏｍｍａｎｄ）に応答して第１従業員が第１勤務地に出退勤したことをデータベースに記録するように構成される。
【００１５】
本発明の他の側面によれば、出退勤報告を処理する方法が開示される。出退勤報告の処理方法は、前述した出退勤記録システムに一つ以上の技術的特徴を付け加えるか又は付け加えずに提供されることを含む。出退勤報告の処理方法は次に羅列された追加的な技術的特徴の一つ以上を含むことができる。
【００１６】
・第１勤務地に第１ビーコンが設置され、第１モバイルターミナルにモバイルアプリが組み込まれた後、サーバーによって、第１モバイルターミナルのモバイルアプリを介して出退勤報告を行うことができるように第１従業員を認証する段階。
【００１７】
・第１従業員の認証が行われた後、データベース上で第１ビーコンが第１勤務地に結びつけられ、かつ第１勤務地が第１従業員に結びつけられていることに基づき、第１従業員の認証から利用可能な第１従業員の識別データを用いて第１ビーコン、第１勤務地又は両者をデータベースで捜す段階。
【００１８】
・モバイルアプリで出退勤報告を行うための第１従業員の指示に応答し、出退勤記録サービスに連関したビーコンから送出された無線信号を識別し、識別された無線信号に含まれたハードウェアＩＤ、保安コード、保安キーが獲得されることができるように、第１モバイルターミナルで受信された無線信号を処理する段階。
【００１９】
・第１ビーコン、第１勤務地又は両者をデータベースで確認し、かつハードウェアＩＤを無線信号から獲得した後、獲得されたハードウェアＩＤがデータベースで第１従業員の識別データを用いて確認される第１ビーコンのそれであるかを判断する段階。
【００２０】
・保安コードと保安キーを獲得した後、獲得された保安コードが第１ビーコンから予想されるコードであるかを獲得された保安キー及び保安キー生成のために第１ビーコンに含まれたアルゴリズムと相応するアルゴリズムを用いて判断する段階。
【００２１】
・出退勤報告のための第１従業員の指示に応答して、無線信号から獲得したハードウェアＩＤが第１ビーコンのものであるとともに無線信号から獲得した保安コードが第１ビーコンから予想されるものであると判断される場合、第１従業員が第１勤務地に出退勤したことをデータベースに記録する段階。
【００２２】
以上で説明したシステム及び方法は、請求項で説明する追加的な技術的特徴の一つ以上をさらに含むことができ、互いに異なる請求項に説明された二つ以上の技術的事項を含むことができる。
【図面の簡単な説明】
【００２３】
【図１】本発明の一実施例による出退勤記録システムを示す。
【図２】複製されたビーコンを用いて出退勤記録システムを欺瞞する不正行為の一例を示す。
【図３】勤務地の外部に搬出されたビーコンを用いる不正行為の他の例を示す。
【図４】図１の示すシステムを用いた出退勤記録方法のフローチャートである。
【図５】図４の出退勤記録方法において出退勤記録システムのセットアップ処理を示す。
【図６】図４の出退勤記録方法において従業員の出退勤を記録する処理である。
【図７】本発明の一実施例においてビーコン信号を処理する過程を示す。
【図８】本発明の他の実施例において従業員の出退勤を記録する処理である。
【図９】図１に示すデータベースに記録される勤務地の情報を例示した図である。
【図１０】図１に示すデータベースに記録される従業員の情報を例示した図である。
【図１１】図１に示すデータベースに記録されるビーコンの情報を示す。
【図１２】図１に示すデータベースに記録される出退勤イベントログを示す。
【図１３】本発明の一実施例によってスマートフォンに受信されるビーコン信号の強度を分析して非正常活動を感知する方法のフローチャートである。
【図１４】スマートフォンに受信されるビーコン信号強度の正常的なプロファイルの例を示す。
【図１５】スマートフォンに受信されるビーコン信号強度の非正常的なプロファイルの例を示す。
【図１６】図１に示すサーバーの構成を示す。
【図１７Ａ】図１のシステムにおいてスマートフォンに組み込まれたモバイルアプリのインターフェース（その１）を示す。
【図１７Ｂ】図１のシステムにおいてスマートフォンに組み込まれたモバイルアプリのインターフェース（その２）を示す。
【図１７Ｃ】図１のシステムにおいてスマートフォンに組み込まれたモバイルアプリのインターフェース（その３）を示す。
【図１７Ｄ】図１のシステムにおいてスマートフォンに組み込まれたモバイルアプリのインターフェース（その４）を示す。
【発明を実施するための形態】
【００２４】
以下、図面に基づいて本発明の実施例を説明する。これは本発明の理解を助けるためのもので、本発明が実施例にのみ制限されるものではない。実施例から自明な修正及び変更は依然として本発明の範囲に属する。本発明の実施例の一部の機能は多様なコンピュータ装置で実行可能なプログラム命令語の形態にて実現され、コンピュータが判読することができる記録媒体に記録されることができる。コンピュータ可読の記録媒体はプログラム命令語、データファイル、データ構造などを含むことができる。本発明の実施例に使われるハードウェア装置の一部はソフトウェアモジュールで実現でき、その逆も同様である。一方、特許請求範囲の請求項に記載された全ての内容は本出願の詳細な説明の一部を構成する。
【００２５】
（ｉ）スマートフォンを用いる出退勤記録サービス
本出願では、従業員（ｅｍｐｌｏｙｅｅ、ｕｓｅｒ）がスマートフォンに組み込まれたモバイルアプリ（ｍｏｂｉｌｅ  ａｐｐｌｉｃａｔｉｏｎ）を用いて出退勤（ａｔｔｅｎｄａｎｃｅ）記録を要請すれば、スマートフォンがサーバーと通信して従業員の出勤（ｃｈｅｃｋ−ｉｎ、ｃｌｏｃｋ−ｉｎ）と退勤（ｃｈｅｃｋ−ｏｕｔ、ｃｌｏｃｋ−ｏｕｔ）を記録する出退勤記録サービスが開示される。従業員がモバイルアプリで出退勤記録要請ボタンを選択し、従業員が勤務地（ｗｏｒｋｐｌａｃｅ、ｆａｃｉｌｉｔｙ、ｄｅｓｉｇｎａｔｅｄ  ｐｌａｃｅ）に位置するかを分析し、勤務地にあると判断される場合、従業員の出勤又は退勤が記録されることにより、信頼し得る出退勤記録を維持することができる。
【００２６】
（ｉｉ）ビーコン（Ｂｅａｃｏｎ）信号で位置確認
従業員が勤務地に位置するか否かは、勤務地に前もって設置されたビーコン（Ｂｅａｃｏｎ）が送出する無線信号を用いて判断する。モバイルアプリで出退勤記録要請ボタンが選択されれば、スマートフォンは周辺に位置するビーコンが送出する無線信号を獲得する。獲得したビーコンの無線信号を分析すれば、従業員が出退勤記録要請ボタンを選択した時に勤務地に位置していたかを判断することができる。ビーコンの無線信号はビーコン周辺の制限的な地域でのみ感知され（例えば、５〜１５ｍ）、ビーコンが設置された勤務地を識別することができる情報を含んでいる。したがって、スマートフォンが獲得したビーコン信号を分析すれば、その信号が勤務地に設置されたビーコンから送出されたものであるかを確認することができ、それが確認された場合にのみ出勤を記録することになる。
【００２７】
（ｉｉｉ）出退勤記録システム
図１には出退勤記録システムの実現環境の実施例が示されている。勤務地２００には無線信号を送出するビーコン１００が設置される。従業員はスマートフォン３００を持って勤務地２００に出勤する。スマートフォン３００はビーコンの信号を感知することができ、ネットワーク６００を介してサーバー４００と情報を交換することができる。サーバーに連結されたデータベース５００には、従業員、勤務地、ビーコンを識別する情報が保存され、出退勤イベントログも保存される。
【００２８】
（ｉｖ）不正行為
ビーコンの無線信号を用いる出退勤記録方法は幾つかの形態の不正行為に脆弱であり得る。まず、ビーコンを複製する不正行為が可能である。図２のように、オリジナルビーコン１００の信号が感知されない勤務地２００の外部でも複製されたビーコン１２０の信号を用いれば、出退勤記録が可能であり得る。また、ビーコンの送出信号を複製して他種の器機が複製された信号を送出する場合にも、ビーコンの複製と同一の問題を有している。図３のように、従業員は、ビーコン１００を勤務地の外部に持って通いながら出退勤記録を行うことを考えつくことができる。本実施例によれば、このような不正行為を解決することができる。
【００２９】
１．出退勤記録システムの構成
（１）スマートフォン
図１を参照すれば、スマートフォン３００は、ビーコン信号などを受信して処理することができ、無線通信ネットワーク（移動電話、ＷｉＦｉなど）を用いてサーバーと通信することができるモバイルコンピュータ装置である。実施例において、スマートフォンはＧＰＳモジュールのような位置測定モジュールを含むことができる。実施例において、ビーコン信号を受信して処理し、無線通信ネットワークを用いてサーバーと通信することができるタブレット、ＰＤＡ、ノートブック型コンピュータなどの他のモバイルコンピュータ装置もスマートフォンの代わりをすることができる。本出願においては、便宜のためにモバイルコンピュータ装置をスマートフォンと称することとする。
【００３０】
（２）モバイルアプリ
実施例において、スマートフォン３００には出退勤記録サービスを用いるためのモバイルアプリが組み込まれる。モバイルアプリは一つ以上のソフトウェアモジュールを含み、スマートフォンのハードウェアを制御して出退勤記録サービスの機能を実現する。いくつかの実施例において、モバイルアプリは出退勤記録サービスの利用のために別に製作され、アプリストアなどを介してダウンロード可能なソフトウェアである。他の実施例において、ウェブブラウザーなどのスマートフォンで駆動可能な多様なプログラムが、モバイルアプリに代わって又はモバイルアプリと一緒に、出退勤記録サービスの機能を実現するために用いられることができる。
【００３１】
（３）サーバー
図１及び図１６の実施例において、サーバー４００は、一つ以上のコンピュータ装置で構成される。サーバーを構成するコンピュータ装置は、一つ以上のプロセッサ、メモリ、及び他の装置との情報交換のための通信インターフェースを含む。サーバーには一つ以上のソフトウェアモジュールが組み込まれ、スマートフォンと通信しながら出退勤記録サービスの機能を実現する。
【００３２】
（４）データベース
図１及び図９〜図１２の実施例において、データベース５００は一つ以上のメモリ装置で実現され、出退勤記録サービスに登録した勤務地、勤務地に設置されたビーコン、勤務地で勤める従業員の情報、出退勤イベントのログを保存する。勤務地、ビーコン、従業員、出退勤イベントのログは個別のデータベースモジュールにて構成できる。
【００３３】
（５）ネットワーク（ｎｅｔｗｏｒｋ）
図１の実施例において、ネットワーク６００は、スマートフォン３００とサーバー４００を連結する通信ネットワークであり、有線・無線通信コネクションを含む。例えば、ネットワーク６００は、移動電話ネットワーク、ＷｉＦｉネットワーク、インターネット、イントラネットの全部又は一部を含んでなることができる。
【００３４】
（６）勤務地
図１の実施例において、勤務地は、事務室、商店、工場など、従業員が勤める場所であり、一つ以上のビーコンが設置され、従業員がスマートフォンでビーコン信号を受信することができる所を示す。実施例によって、勤務地は、従業員が出退勤を報告するために立ち寄るように指定された、ビーコン信号の受信が可能な、事務室、商店、工場の一部空間（例えば、門戸、出入通路、更衣室）を言う。
【００３５】
（７）ビーコン
図１の実施例において、ビーコン１００は、ブルートゥース（登録商標）のような無線通信規格を用いて無線信号を送出（ｂｒｏａｄｃａｓｔ、ｔｒａｎｓｍｉｔ）する装置である。実施例において、ブルートゥース（登録商標）（Ｂｌｕｅｔｏｏｔｈ（登録商標））の他に、他の無線通信規格（例えば、Ｎｅａｒ  Ｆｉｅｌｄ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ）もビーコンに適用可能である。実施例において、ビーコン１００は、プロセッサ、メモリ、無線信号送出モジュールを含む。ビーコンのプロセッサ、メモリ、無線信号送出モジュールはマイクロコントローラーユニット（ＭＣＵ）で実現できる。実施例において、ビーコンは内部に含まれた時計（ｃｌｏｃｋ）又はカウンター（ｃｏｕｎｔｅｒ）を用いて時間情報を維持する。
【００３６】
（８）ビーコンはサーバーと両方向通信しない
実施例において、ビーコンは別の電源供給なしにバッテリーで駆動される低電力無線信号送出装置である。ビーコンが勤務地に割り当てられ、それによって初期化すれば、ビーコンは所定のプログラムによって予定された無線信号を持続的に又は周期的に送出する。実施例において、ビーコンが信号を送出する強度は、スマートフォンなどの装置が勤務地でのみビーコン信号を感知するように設定される。よって、勤務地以外の場所に設置されているサーバーにはビーコンが送出する信号が到逹しない。いつくかの実施例において、ビーコンはサーバーと有線・無線両方向通信を行なわず、サーバーと双方向通信をするのに必要な通信モジュールを有さない。
【００３７】
（９）ビーコン信号
ビーコンが送出する無線信号は出退勤記録サービスＩＤ（Ｓｅｒｖｉｃｅ  ＩＤ）、ビーコンのハードウェアＩＤ（Ｈａｒｄｗａｒｅ  ＩＤ）、保安コード（Ｓｅｃｕｒｉｔｙ  Ｃｏｄｅ）、保安コードのキー（ｋｅｙ）などのデータのうち一つ以上を伝送する。いくつかの実施例において、ビーコン信号はサービスＩＤ、ハードウェアＩＤ、保安コード、保安コードのキーの全てを伝送する。いくつかの実施例において、ビーコン信号は出退勤記録サービスＩＤ、ビーコンのハードウェアＩＤ、保安コードを伝送するが、保安コードのキーは含まない。いくつかの実施例において、ビーコン信号は出退勤記録サービスＩＤ、ビーコンのハードウェアＩＤを伝送するが保安コードと保安コードのキーは含まない。いくつかの実施例において、ビーコン信号はさらに他の情報又はデータをさらに含んで伝送することができる。ビーコン信号が伝送するこれらのデータは、それぞれをビーコン信号フォーマット（ｆｏｒｍａｔ）の相異なる領域（ｆｉｅｌｄ）に積載することもでき、一つの領域に二つ以上のデータを一緒に積載することもできる。いくつかの実施例において、ビーコン信号はｉＢｅａｃｏｎ規格（ｉＢｅａｃｏｎ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ）によるフォーマットで構成され、Ｕｎｉｖｅｒｓａｌｌｙ  Ｕｎｉｑｕｅ  ＩＤｅｎｔｉｆｉｅｒ（ＵＵＩＤ）領域、Ｍａｊｏｒ領域、Ｍｉｎｏｒ領域、及びＰａｒｉｔｙ領域を含む。
【００３８】
（１０）出退勤記録サービスＩＤ（Ｓｅｒｖｉｃｅ  ＩＤ）
出退勤記録サービスＩＤは、出退勤サービスに用いられるビーコンの信号をその他の類似の無線信号と区別するのに使われる。スマートフォンが複数のビーコン信号を受信すれば、モバイルアプリが前もって知っている出退勤記録サービスＩＤを有するビーコン信号のみを選択的に処理することになる。いくつかの実施例において、特定の出退勤サービスが提供する全てのビーコンは他の勤務地に設置されたものであっても同一のサービスＩＤを伝送する。いくつかの実施例において、特定の出退勤記録サービスが提供するビーコンの一部は同じサービスＩＤを伝送し、他の一部は他のサービスＩＤを伝送する。実施例において、出退勤記録サービスＩＤはビーコンが勤務地で正常動作する時間によってその値が変わらない情報である。実施例において、出退勤記録サービスＩＤはビーコンのメモリに保存され、一旦ビーコンが勤務地に設置されてからは、ビーコンのパスワード（ｐｉｎ）が使用されてビーコンメモリに保存された出退勤記録サービスＩＤが更新されない限り、同一に維持される。
【００３９】
（１１）ビーコンのハードウェアＩＤ
ハードウェアＩＤは、その信号を送出したビーコンのハードウェアに固有な識別情報である。例えば、ビーコンのネットワークインターフェースに付与されたＭＡＣアドレス（ａｄｄｒｅｓｓ）がビーコンのハードウェアＩＤとして使われる（図１１参照）。他の実施例において、任意に生成された固有識別情報がそれぞれのビーコンに付与されてビーコン信号のハードウェアＩＤとして使われる。実施例において、ビーコンのハードウェアＩＤは、ビーコンが勤務地で正常動作する時間によって値が変わらない情報である。実施例において、ビーコンのハードウェアＩＤはビーコンのメモリに保存されており、一旦ビーコンが勤務地に設置されてからは、ビーコンのパスワード（ｐｉｎ）が使用されてビーコンメモリに保存されたハードウェアＩＤが更新されない限り、同様に維持される。
【００４０】
（１２）保安コード
保安コードは、ビーコン又はビーコン信号を複製する不正行為を防止するのに用いることができる。実施例において、保安コードは時間によって違う値を有する情報である。図３に示したように、時間によって違う値を有する保安コードは周期的で反復的に更新されて伝送される。更新周期は１分、１０分、３０分、１時間、８時間、２４時間、５日、７日の中で選択された値であり得る。保安コードは更新周期の期間の間に有効である。いくつかの実施例において、保安コードは時間に付け加えて他のパラメーターによって変更される。ここで、他のパラメーターは、例えばビーコンのハードウェアＩＤ、勤務地名称、住所、雇い主などであり得る。実施例において、ビーコンは保安コードを生成するアルゴリズム、ロジッグ、ソフトウェアなどを有している。例えば、ビーコンには、Ｔｉｍｅ−ｂａｓｅｄ  Ｏｎｅ−ｔｉｍｅ  Ｐａｓｓｗｏｒｄ  Ａｌｇｏｒｉｔｈｍ（ＴＯＴＰ）が含まれることができる。
【００４１】
（１３）保安コードのキー
保安コードのキーは、一緒に伝送される保安コードを生成したものと同一のアルゴリズムを用いれば同一の保安コードの値を求めることができるデータである。いくつかの実施例において、サーバー４００は、ビーコンが保安コードを生成する時に用いたものと同一のアルゴリズムを有している。保安コードのキーがスマートフォンを介してサーバーに伝達されれば、サーバーは保安コードのキーを用いて保安コード値を計算し、その値はビーコン信号から獲得された保安コードと比較される。いくつかの実施例においては、保安コードのキーはビーコンが保安コードを生成した時刻又は保安コードが有効な時間帯（更新周期）を代表する時刻である。他の実施例において、保安コードのキーは時間又は時刻が変形されたデータであって、時間又は時刻に逆算することができるものである。他の実施例において、ビーコンの時間がスマートフォン又はサーバーの時間と同期化していれば、ビーコンの時間をビーコン信号を介して確保しなくても、スマートフォン又はサーバーの時間を用いて保安コードを生成することができる。このような場合、従業員が出退勤記録要請ボタンを押した時刻、スマートフォンがビーコン信号を獲得した時刻、保安コードがサーバーに伝達される時刻などの時刻が、ビーコン信号のキーを参照せず、保安コードの生成に用いられることができる。実施例において、ビーコン信号に含まれた保安コードのキーが保安コードを生成するための全てのパラメーターを含むものではなく、ビーコン信号に含まれなくてさらに他の情報源（データベースなど）を用いて把握可能なパラメーター（例えば、サーバー又はスマートフォンの現在時間、従業員ＩＤ、勤務地の住所）が保安コードの生成に用いられることもできる。
【００４２】
２．出退勤記録サービスの処理
スマートフォンを用いて出退勤を記録するために出退勤記録システムのセットアップ処理４１００が先に実行される。図４を参照すれば、出退勤記録システムのセットアップは勤務地を登録し（４１１０）、登録された勤務地にビーコンを設置し（４１２０）、勤務地で勤める従業員を登録する（４１３０）過程を含む。セットアップが完了した後、従業員がスマートフォン３００のモバイルアプリで出退勤記録サービスにサインインすれば、サーバーが従業員を認証し（４２１０）、スマートフォンが周辺のビーコン信号を受信すれば、受信されたビーコン信号を分析して従業員の位置が勤務地であることを確認する過程に進む。
【００４３】
３．出退勤記録サービスの処理−実施例
（１）雇い主サインアップ（５１００、５１１０）
図４及び図５を参照すれば、実施例において、勤務地を運営する雇用主が与える出退勤記録サービスにサインアップ（５１１０）する。サーバーは雇い主情報（例えば、名前、連絡先、住所）をデータベースに記録して雇い主のアカウントを生成する（５１２０）。雇い主のサインアップはスマートフォン３５０にモバイルアプリを組み込み（５１００）、モバイルアプリを用いて進行することができる。
【００４４】
（２）雇い主の勤務地登録（５１３０、５１４０）
図４及び図５を参照すれば、実施例において、出退勤記録サービスを用いる雇い主（ｓｕｂｓｃｒｉｂｉｎｇ  ｅｍｐｌｏｙｅｒ）は、自分が運営する一つ以上の勤務地についての情報をサーバー４００に提供して、データベース５００に勤務地を登録する。実施例において、サーバーに提供される勤務地情報は、勤務地の名前、住所、ＧＰＳ座標、管理者連絡先、営業時間のうち少なくとも一つ以上を含む。実施例において、サーバー４００は、データベース５００において勤務地と雇い主を結びつける。
【００４５】
（３）勤務地にビーコンを割当（５１５０）
次に、図４及び図５を参照すれば、実施例において、データベースに登録された勤務地のそれぞれに対して、一つ以上のビーコンが割り当てられる。実施例において、データベース５００において、勤務地は割り当てられたビーコンと結びつけられている。実施例において、ビーコンは勤務地に設置されるに先立って初期化過程を受ける。
【００４６】
（４）ビーコンの初期化及び設置
実施例において、ビーコンは、実施例によって無線信号を送出するようにプログラムされる。図５及び図６の実施例において、ビーコンが送出する信号は、出退勤サービスＩＤ、ビーコンのハードウェアＩＤ、保安コード、保安コードのキーの全てを含む。初期化過程でビーコンの時間がサーバーと同期することができる。ビーコンは勤務地に設置され、持続的に又は周期的に無線信号を送出する（６１００）。
【００４７】
（５）従業員サインアップ（５１６０）
図５を参照すれば、実施例において、雇い主が登録した勤務地で勤める従業員が、スマートフォン３００にモバイルアプリを組み込み（５１６０）、出退勤記録サービスにサインアップする（５１７０）。サーバー４００は、伝達された従業員についての情報をデータベース５００に記録して従業員のアカウントを登録する（５１８０）。実施例において、サーバーに提供される従業員の情報は、従業員の名前、連絡先（電子メールアドレスと電話番号）、そしてスマートフォンのモデル名、スマートフォンの連番のうち少なくとも一つ以上を含む。
【００４８】
（６）従業員の勤務地登録（５２２０、５２３０、５２４０、５２５０、５２６０）
図５を参照すれば、実施例において、従業員は、スマートフォンで勤務地を検索して、自分が勤める勤務地を選択する（５２２０）。従業員が自分が勤める勤務地を入力（選択）すれば、従業員の勤務地を確認して欲しいとの要請がスマートフォンからサーバーに伝送される。サーバー４００は、従業員勤務地確認要請を雇い主アカウントに伝達する（５２３０）。雇い主が自分のアカウントでサインインして（５２４０）従業員の勤務地を確認すれば（５２５０）、サーバー４００はデータベース５００で従業員と従業員が雇用された勤務地を結びつける（５２６０）。実施例において、従業員の勤務日程も雇い主の確認（承認）によってデータベース５００に記録される。
【００４９】
（７）トークン生成、従業員認証（５１９０、５１９０、５２００、５２１０）
図５を参照すれば、実施例において、従業員のモバイルアプリでＩＤとパスワードを用いてサインインすれば、サーバーは、伝達されたＩＤとパスワードの組合せに対応するトークンを生成して（５１８０）スマートフォンのモバイルアプリに伝送する。一方、サーバーが生成してスマホンに伝達したトークンはＩＤとパスワードでサインインした従業員を識別する安全性の高い固有なコード（ｓｅｃｕｒｅｄ  ｕｎｉｑｕｅ  ｉｄｅｎｔｉｆｉｃａｔｉｏｎ  ｃｏｄｅ）である。よって、トークンから従業員の識別情報が導出できる。モバイルアプリは、伝達されたトークンをスマートフォンのメモリに保存する。従業員がサインアウトしていない状態でモバイルアプリが非活性化（終了又は待機）後に活性化（実行）すれば、スマートフォンメモリに保存されたトークンがサーバーに伝送される。サーバー４００は、伝送されたトークンを用いて従業員アカウントに対する認証（ａｕｔｈｅｎｔｉｃａｔｉｏｎ）を行う（５２１０、６１２０）。
【００５０】
（８）勤務地に割り当てられたビーコンの識別情報をスマートフォンに提供（６１２０）
実施例において、サーバー４００は、スマートフォン３００から伝達されたトークンを用いて従業員に対する認証（ａｕｔｈｅｎｔｉｃａｔｉｏｎ）を行う。他の実施例において、トークンの代わりに又はトークンと一緒に、従業員を示す他の識別情報（従業員の出退勤記録サービスＩＤ、従業員スマートフォンの識別情報）を従業員の認証のために用いることができる。図６を参照すれば、従業員に対する認証が完了した直後、遅延なしに、サーバー４００は、従業員と結びつけられた勤務地、その勤務地に結びつけられたビーコンをデータベース５００で識別し（図９〜図１２参照）、従業員が勤める勤務地に設置されたビーコンのハードウェアＩＤをスマートフォンに伝送する。他の実施例において、スマートフォンはサーバーが提供したハードウェアＩＤをローカルメモリに保存する。実施例において、勤務地に割り当てられたビーコンのハードウェアＩＤの外に勤務地の名前、住所、ＧＰＳ座標、勤務地の営業時間のうち少なくとも一つ以上を含む勤務地の情報がスマートフォンに提供される。
【００５１】
（９）出退勤記録要請ボタンの活性化、従業員入力受信（６１３０、６１４０）
図６の実施例において、従業員アカウントに対する認証が完了した後、スマートフォンのモバイルアプリは、出退勤記録要請ボタン（画面上のアイコン）を活性化（表示、強調）し、従業員の入力を待つ。実施例において、スマートフォン３００は、出退勤記録要請ボタンの選択によって、従業員の出退勤が記録される勤務地の情報を一緒に提供する。実施例において、出退勤記録対象勤務地についての情報はサーバー４００がデータベース５００で従業員の識別情報を用いて識別したもので、出退勤記録要請ボタンの活性化以前にサーバー４００がスマートフォン３００に伝達したものである。出退勤記録要請ボタンに対する従業員の入力を受信すれば（６１４０）、スマートフォンは、従業員が出退勤記録要請ボタンを押した時間を保存し、周辺のビーコン信号を収集する。
【００５２】
（１０）ビーコン信号の獲得及び処理（６１５０）
図６を参照すれば、実施例において、スマートフォンは自分の無線通信モジュールを用いてビーコン信号を収集する。スマートフォン３００はビーコン信号からビーコンのハードウェアＩＤ、保安コード、保安コードのキーを獲得する。実施例において、スマートフォンは、ビーコン信号のサービスＩＤ（例えば、ｉＢｅａｃｏｎ規格のＵＵＩＤ）を参照し、出退勤記録サービスが使用するサービスＩＤを有するビーコン信号のみを選択的に処理することができる。いくつかの実施例において、スマートフォンは出退勤記録要請ボタンに対する従業員の選択後に所定の時間の間に（例えば、１秒、３秒、２０秒、１分、５奔騰）ビーコン信号を収集する。
【００５３】
（１１）ハードウェアＩＤマッチング判断（６１６０）
図６の実施例において、スマートフォン３００は、ビーコン信号から獲得したハードウェアＩＤが、従業員アカウントの認証に引き続いてサーバーから伝達された（サーバーが従業員の識別情報を用いてデータベースで識別した）ビーコンのハードウェアＩＤとマッチするかを判断する。
【００５４】
（１２）保安コードマッチング判断（６１６０、６１７０）
図６の実施例において、スマートフォン３００は、サーバー４００にビーコン信号から獲得した保安コード及びその保安コードのキーを伝送する。実施例において、保安コードのキーは保安コードの生成に用いられたビーコンの時間情報である。サーバー４００は、ビーコンが保安コードの生成のためにビーコンが使うものと同一のアルゴリズムを用いて保安コードを生成する。サーバー４００は、ビーコン信号から獲得した保安コードとサーバーが生成した保安コードがマッチするかを判断する。実施例において、サーバー４００は、ビーコン信号に含まれたビーコンのハードウェアＩＤと時間情報をスマートフォンから伝達されて保安コードの生成に用いる。
【００５５】
（１３）従業員の出退勤を記録（６１８０）
図６の実施例において、サーバー４００は、（１）スマートフォンがビーコン信号から獲得したハードウェアＩＤが、従業員の識別情報を用いてデータベースで識別されたビーコンのハードウェアＩＤとマッチし、また（２）ビーコン信号から獲得した保安コードがサーバーが生成した保安コードとマッチする場合、従業員が勤務地で出勤報告を要請したと判断し、従業員の出勤をデータベースに記録する。
【００５６】
（１４）二つ以上の勤務地がある場合
いくつかの実施例において、データベース５００で従業員と結びつけられた勤務地が二つ以上ある場合、サーバー４００は、二つ以上の勤務地に割り当てられた全てのビーコンのハードウェアＩＤをスマートフォン３００に伝達する。他の実施例では、サーバーが判断して二つ以上のビーコンのうち一部のみのハードウェアＩＤを選択的に提供する。
【００５７】
（１５）サーバーが予想勤務地を判断して関連情報を伝送
いくつかの実施例において、認証が完了すれば、サーバー４００は、データベース５００に記録された従業員の勤務日程を現在時刻と比較し、従業員が出退勤報告を行うと予想される一つ以上の勤務地を識別する。サーバー４００は、データベース５００で予想勤務地と結びつけられた情報（勤務地の名称、住所、ＧＰＳ座標、予想勤務地に設置されたビーコンのハードウェアＩＤなど）をスマートフォンに提供する。例えば、ある従業員が平日に午前９時から午後５時まで勤務地Ａで働き、土曜日には午後１時から午後６時まで勤務地Ｂで働くというとき、従業員のモバイルアプリが月曜日午前８時に実行されれば、サーバーは、現在時刻と一番近い勤務日程を有する勤務地Ａを出退勤報告予想勤務地と識別し、勤務地Ｂに設置されたビーコンのハードウェアＩＤはスマートフォンに伝達せず、勤務地Ａに設置されたビーコンのハードウェアＩＤをスマートフォンに伝達するようにする。
【００５８】
４．出退勤記録サービスの処理−他の実施例
（１）ビーコン信号の獲得（７１０）
図６を参照すれば、実施例において、スマートフォンは、従業員が出退勤報告ボタンを押した直後、周辺のビーコンから信号を収集する。他の実施例において、スマートフォンは、出退勤記録要請ボタンの選択に関係なく持続的に又は周期的にビーコン信号をスキャンする。例えば、モバイルアプリはスマートフォンの画面に表示されないうちにもバックグラウンドでビーコン信号をスキャンし、感知されるビーコン信号を記録する。
【００５９】
（２）ビーコン信号のスクリーニング（７２０）
一実施例において、スマートフォン３００は、同時に複数のビーコン信号が感知されれば、その一部のみを選択的に獲得して処理する。例えば、スマートフォンは、感知されるビーコン信号がデータベースに登録されたサービスＩＤのうち少なくとも一つと同一であるかを確認する。このために、サーバーは、スマートフォンがビーコン信号を獲得するに先立ち、データベースに登録されたサービスＩＤをスマートフォンに提供する。
【００６０】
（３）複数のビーコン信号が感知される場合の選択的処理
スマートフォンは、出退勤記録サービスに用いられるビーコンがどのサービスＩＤを使うかについての情報を有している。スマートフォンにていくつかのビーコン信号が感知される場合、前もって知っているサービスＩＤではない他のサービスＩＤを有するビーコン信号は無視され、従業員の出退勤記録のために用いられない。このような選択的処理のために、スマートフォンのメモリには、従業員の出退勤記録のために用いられるビーコンが送出するサービスＩＤがビーコン信号の獲得（７１０）に先立って保存される。実施例において、サーバーは従業員の勤務地のビーコンが送出するサービスＩＤ又はデータベース上の全てのサービスＩＤをスマートフォンに提供する。
【００６１】
（４）ビーコン信号からハードウェアＩＤ及び保安コード獲得（７３０）
図６の実施例において、スマートフォンがビーコン信号からハードウェアＩＤ、保安コード、保安コードのキーを獲得する。他の実施例では、スマートフォン３００がサーバー４００にビーコン信号を伝達し、サーバー４００がビーコン信号からハードウェアＩＤ、保安コード、保安コードのキーを獲得するようにすることもできる。
【００６２】
（５）ビーコン信号のハードウェアＩＤ検証（７４０）
図６を参照すれば、実施例において、ビーコン信号のハードウェアＩＤがデータベースから識別されたハードウェアＩＤとマッチするかの確認（図６の６１６０）は、スマートフォンで行われる。他の実施例において、このようなハードウェアＩＤのマッチング確認は、サーバー４００で行うことができる。その場合、サーバーがハードウェアＩＤのマッチング確認を行う前、スマートフォンは、自分が獲得したビーコン信号又はそのビーコン信号から獲得したハードウェアＩＤをサーバー４００に提供する。一実施例において、ビーコン信号から獲得したハードウェアＩＤが従業員の識別情報を用いてデータベースで識別したハードウェアＩＤとマッチする場合、ビーコン信号を送出したビーコンが有効な（ｖａｌｉｄ、ｏｒｉｇｉｎａｌ）ものであると判断する。
【００６３】
（６）ハードウェアＩＤの検証（ｖｅｒｉｆｉｃａｔｉｏｎ）−比較対象を従業員の勤務地に設置されたビーコンに限定
図６のハードウェアＩＤ検証（６１６０）で、スマートフォンがビーコン信号から獲得したハードウェアＩＤは、データベース５００に保存された全てのビーコンのハードウェアＩＤではない、認証された従業員の勤務地に設置されたビーコンのハードウェアＩＤを対象としてマッチング可否が確認される。このように、従業員の識別情報を用いて、ビーコン信号から獲得されたハードウェアＩＤと比較される対象を限定すれば、より早い検証が可能である。いくつかの実施例において、従業員の勤務日程を追加的に考慮すれば、従業員と結びつけられた勤務地のビーコンのうちハードウェアＩＤ検証に参照されるデータベース５００上のハードウェアＩＤの数をもっと限定することもできる。
【００６４】
（７）保安コード検証（７５０）
図６の実施例においては、ビーコンの保安コードのマッチング確認（６１７０）は、サーバー４００で行われる。他の実施例において、保安コードのマッチング確認（６１７０）は、サーバー４００ではないスマートフォンで行うことができる。この場合、スマートフォンは、ビーコンが保安コードを生成する時に用いたものと同一のアルゴリズム、ロジッグ、ソフトウェアモジュールなどを持っており、該当アルゴリズムを用いてビーコン信号を介して獲得した保安コードのキーを用いて保安コードを生成する。一実施例において、ビーコン信号から獲得した保安コードがサーバー又はスマートフォンで生成した保安コードとマッチする場合、ビーコン信号を送出したビーコンが有効な（ｖａｌｉｄ、ｏｒｉｇｉｎａｌ）ものであると判断する。
【００６５】
５．出退勤記録サービスの処理−スマートフォンの位置情報利用
図８を参照すれば、実施例において、スマートフォンのＧＰＳ位置情報（ＧＰＳ座標）を、従業員の位置を把握するために使うことができる。従業員がスマートフォンで出退勤記録を要請すれば、スマートフォン３００は、ＧＰＳ位置情報をサーバーに伝送する（８１１０）。サーバー４００は、スマートフォン３００のＧＰＳ位置情報と従業員が勤める勤務地の位置情報（ＧＰＳ座標、住所）とマッチするか（例えば、スマートフォン位置と勤務地の位置が所定距離以下であるか）を判断し、従業員の位置が勤務地であることを検証する（８１２０）。実施例において、サーバー４００は、スマートフォンの位置情報が従業員の勤務地位置情報とマッチする場合に、従業員の出勤をデータベースに記録する（６１８０）。実施例において、ＧＰＳ位置情報のマッチング判断（８１２０）は、サーバーではないスマートフォンで行うこともできる。いくつかの実施例において、サーバーは、（１）スマートフォンがビーコン信号から獲得されたハードウェアＩＤが従業員の識別情報を用いてデータベースで識別したビーコンのハードウェアＩＤとマッチし、また（２）スマートフォンの位置情報が従業員の勤務地位置情報とマッチする場合に、従業員が勤務地で出勤報告を要請したと判断し、従業員の出勤をデータベース５００に記録する。他の実施例において、最近接続した無線通信基地局の情報、スマートフォンのＩＰ住所などのスマートフォンの位置を把握することができる他の情報を、ＧＰＳ位置情報の代わりに又はそれと一緒に使うことができる。
【００６６】
６．ビーコン信号プロファイル分析
図１３は、本発明の一実施例によってビーコン信号の非正常的パターンを検出する処理である。図１４及び図１５は、本発明の一実施例によるビーコン信号強度プロファイルを例示した図である。図３に例示したように、ビーコンが勤務地の外部に搬出される場合、オリジナルビーコンの信号が依然としてスマートフォンで感知されるはずなので、特定時間（勤務日程中）に受信されるビーコン信号そのもののみを分析しては、図３に例示した不正行為を探知しにくいことがあり得る。しかし、従業員のスマートフォンが受信するビーコン信号の強度を勤務時間以外にもモニターすれば、従業員が勤務地の外部に持って出たビーコンを用いて出退勤を記録するかを確認することができる。
【００６７】
（１）ビーコン信号強度のモニタリング（１２１０）
実施例において、スマートフォン３００は、周期的にビーコン信号をスキャンし、ビーコン信号の受信強度（Ｒｅｃｅｉｖｅｄ  Ｓｉｇｎａｌ  Ｓｔｒｅｎｇｔｈ  Ｉｎｄｉｃａｔｏｒ、ＲＳＳＩ）をスマートフォンのメモリに記録する。実施例において、スマートフォン３００は、出退勤記録のためのモバイルアプリが活性化しなくてもバックグラウンドで実行されて周期的に周辺のビーコン信号を感知する。実施例において、スマートフォンは、従業員が勤める勤務地に割り当てられたビーコンのハードウェアＩＤを有する信号のみを対象として信号強度のプロファイルをモニターする。
【００６８】
（２）ビーコン信号強度プロファイルの分析（１２２０）
従業員が勤める勤務地に割り当てられたビーコンの信号プロファイルがサーバー又はスマートフォンで分析される。実施例において、勤務日程以外の時間のビーコン信号強度を含むプロファイルは、サーバー４００に提供されずにスマートフォン３００で分析され、その結果のみがサーバーに通知される。
【００６９】
（３）非正常信号強度の検出（１２３０）
一般に、退勤後（例えば、睡眠予想時間）には従業員が勤務地外にあるので、スマートフォンで勤務地のビーコン信号がほとんど感知されないであろう。図１４は、午前９時に出勤して午後５時に帰る従業員のスマートフォンで感知されるビーコン信号の強度を例示する。従業員が午前９時に出勤すると、ビーコン信号強度は勤務地で予想される最小信号強度以上に増加する。従業員が午後５時に帰った後にはビーコン信号が勤務地で予想される最小信号強度以下に減少する。午後８時以後の夜中にはビーコン信号が感知されない。しかし、従業員がビーコンを勤務地の外部に持って通えば、図１５のように、勤務時間外にもビーコン信号がスマートフォンで感知されるであろう。特に、退勤予定時間の午後５時以後にもビーコン信号が勤務地で期待する最小信号強度以下に減少せず、勤務地で期待する信号強度を維持する場合は非正常的である。実施例において、データベース５００に保存された勤務日程による退勤予定時間から所定時間以後にも基準値より高いビーコン信号が従業員のスマートフォンで感知されれば、これは非正常的な状況と判断される。
【００７０】
７．データベースの例示
（１）勤務地情報データベース
図９は、一実施例によってデータベースに記録された勤務地情報を例示した図である。それぞれの勤務地には固有の識別情報が付与されている。勤務地に割り当てられたビーコンの固有識別情報が勤務地のそれぞれの固有識別情報と結びつけられている。勤務地で働く従業員の固有識別情報も勤務地のそれぞれの固有識別情報と結びつけられている。実施例において、データベースには勤務地の名前、住所、ＧＰＳ座標情報、営業時間などの情報が勤務地の固有識別情報と結びつけられて保存されている。
【００７１】
（２）従業員情報データベース
図１０は、本発明の一実施例によってデータベースに記録された従業員情報を例示した図である。従業員のそれぞれには固有な識別情報が付与されている。実施例において、データベースには、従業員の識別情報に結びつけられて、従業員の連絡先、スマートフォンモデル名、スマートフォン連番、勤務地、勤務地のそれぞれに対する勤務日程が記録されている。
【００７２】
（３）ビーコン情報データベース
図１１は、本発明の一実施例によってデータベースに保存されたビーコン情報を例示した図である。データベースには、ビーコンの識別情報と結びつけられて、ビーコンが設置された勤務地、ビーコンの初期化又は設置日付、ビーコンのファームウエアバージョン、ビーコンの情報をアップデートするために必要なパスワード（ｐｉｎ）、ビーコンのデータ伝送周期、ビーコンの保安コード更新周期などの情報が記録されることができる。
【００７３】
（４）出退勤ログデータベース
図１２は、本発明の一実施例によってデータベースに保存された出退勤ログを例示した図である。出退勤ログは、従業員の出勤と退勤についての情報を含む。例えば、従業員が勤務地で出勤を報告した時間（Ｃｈｅｃｋ−ｉｎ  ｔｉｍｅ）、出退勤報告のために使用したスマートフォンの識別情報（Ｃｈｅｃｋ−ｉｎ  ｓｍａｒｔｐｈｏｎｅ  ＩＤ）、出勤報告時にスマートフォンで信号が感知されたビーコンの識別情報（Ｃｈｅｃｋ−Ｂｅａｃｏｎ  ＩＤ）などの情報が、従業員の識別情報及び勤務地の識別情報と結びつけられて記録される。
【００７４】
（５）サーバーの構成
図１６は、実施例によるサーバーの構成を例示した図である。サーバー４００は、一つ以上のプロセッサ１５１０、プロセッサによって実行可能なソフトウェアを保存するように構成されたメモリ１５２０、及び他の装置との通信インターフェース１５３０を含む。サーバー４００は、ソフトウェアモジュールの実行によって出退勤記録システムの機能を実現する。図１６を参照すれば、サーバーは、トークン生成モジュール、認証（ａｕｔｈｅｎｔｉｃａｔｉｏｎ）モジュール、ハードウェアＩＤ検証モジュール、保安コード検証モジュール、出退勤イベントログ管理モジュール、非正常現象検出モジュールなどのソフトウェアモジュールを有している。
【００７５】
（６）使用者インターフェース
図１７Ａは、従業員認証が行われた後にスマートフォン３００に表示されるインターフェースを例示する。スマートフォンは、認証された従業員の次の勤務日程１６１０、現在時間１６２０、及び出退勤イベント１６３０を表示する。勤務日程１６１０に対して出勤ボタン（Ｃｌｏｃｋ−ｉｎ）と退勤ボタン（Ｃｌｏｃｋ−ｏｕｔ）が表示される。図１７Ｂは、出勤ボタン（Ｃｌｏｃｋ−ｉｎ）の活性化を例示する。図１７Ｃは、出勤ボタン（Ｃｌｏｃｋ−ｉｎ）の選択によって進む出勤報告の進行状況１６４０がスマートフォンに表示されることを例示する。図１７Ｄは、従業員の出勤が確認されたというメッセージ１６５０を示す。
【００７６】
（７）ビーコンのデータ伝送周期
実施例において、ビーコンは、出退勤サービスＩＤ、ビーコンのハードウェアＩＤ、保安コード、保安コードのキーのうち少なくとも一つ以上のデータを一定の周期で伝送する。データの伝送周期は、例えば０．５秒、１秒、２秒、３秒、５秒、１０秒、１分の中で選択された値であり得る。実施例において、ビーコンのデータ伝送周期は、従業員の出退勤記録要請ボタンの選択によってスマートフォンがビーコン信号を収集する最長時間（ｔｉｍｅ−ｏｕｔ）より長く設定される。例えば、出退勤記録要請ボタンの選択時、スマートフォンが３秒間のみビーコン信号を収集すれば、ビーコンは少なくとも３秒間に一度以上データを伝送するように設定される。他の実施例において、ビーコンのデータ伝送周期は、ビーコンが設置される勤務地の営業開始時間帯に（又は営業終了時間帯に）、それ以外の時間帯より相対的に頻繁に無線信号を発生するようにプログラムされる。例えば、勤務地Ａの営業開始が午前９時であれば、勤務地Ａに設置されたビーコンは、午前９時３０分からは、それ以前の時間（例えば、午前８時３０分から午前９時３０分以前）よりも頻繁にデータを伝送することができる。
【００７７】
（８）出退勤（ａｔｔｅｎｄａｎｃｅ）は出勤と退勤を共に含む
実施例において、出退勤（ａｔｔｅｎｄａｎｃｅ）は従業員の出勤（Ｃｈｅｃｋ−ｉｎ、Ｃｌｏｃｋ−ｉｎ）又は退勤（Ｃｈｅｃｋ−ｏｕｔ）を意味する。本出願において、従業員の出勤を記録するために進行した全ての過程とそれについての説明は退勤を記録する処理にもそのまま適用可能である。
【００７８】
（９）ビーコン信号の重複有無
実施例において、サーバー又はスマートフォンは、従業員の出退勤報告時、スマートフォンを介して収集されたビーコン信号が同じハードウェアＩＤを有する以前の他のビーコン信号と重複するものであるかを確認し、その結果によって出退勤の記録を承認しないこともある。例えば、同じハードウェアＩＤを有するが、保安コードの更新周期（例えば、１５分）より長い時間差（１時間）で収集された、二つのビーコン信号が同じ保安コードを有するとすれば、これは潜在的な不正行為を意味すると判断することができる。例えば、勤務地に設置されたビーコンが１時間単位で保安コードを更新する場合、７月２９日に収集されたビーコン信号と翌日の同時刻に収集されたビーコン信号が同じハードウェアＩＤと同じ保安コードを有することが確認されれば、これは出退勤記録を拒絶する理由（又は不正行為と見なされる理由）となる。
【００７９】
（１０）スマートフォンＩＤがマッチする場合に出退勤を記録
実施例において、従業員がスマートフォン３００のモバイルアプリを活性化すれば、スマートフォンの識別情報がサーバーに伝達される。サーバー４００は、伝達されたスマートフォンの識別情報がデータベースで従業員と結びつけられているスマートフォンの識別情報とマッチするかを判断する。いくつかの実施例において、サーバーは、スマートフォン識別情報のマッチングが確認される場合に限り、従業員が出勤したことを記録することができる。いくつかの実施例において、サーバーに伝達されたスマートフォンの識別情報がデータベースに記録されたものとマッチしない場合、サーバーは、従業員の出勤申込みを承認しないか、売場の管理者に知らせるとか、新しいスマートフォンを登録しろという要請を従業員に発送することができる。
【００８０】
（１１）出退勤記録のための幾つかの基準の組合せ
一実施例において、出退勤記録システムは、（１）スマートフォンがビーコン信号から獲得したハードウェアＩＤが従業員の識別情報を用いてデータベースで識別したビーコンのハードウェアＩＤとマッチするか、（２）ビーコン信号から獲得した保安コードがサーバーが生成した保安コードとマッチするか、（３）スマートフォンの位置情報と従業員の勤務地位置情報がマッチ（所定距離以下）するか、（４）出退勤報告のために現在獲得したビーコン信号が以前に同じ従業員の出退勤報告のために用いられたビーコン信号と重複するものではないか、（５）従業員が出退勤報告を行うスマートフォンが変更されなかったかなどの基準のうち少なくとも一つ以上を考慮し、従業員の出退勤報告の承認を決定するとか、潜在的な不正行為を判断することができる。
【図１】
0006444564.tif 000002
【図２】
0006444564.tif 000003
【図３】
0006444564.tif 000004
【図４】
0006444564.tif 000005
【図５】
0006444564.tif 000006
【図６】
0006444564.tif 000007
【図７】
0006444564.tif 000008
【図８】
0006444564.tif 000009
【図９】
0006444564.tif 000010
【図１０】
0006444564.tif 000011
【図１１】
0006444564.tif 000012
【図１２】
0006444564.tif 000013
【図１３】
0006444564.tif 000014
【図１４】
0006444564.tif 000015
【図１５】
0006444564.tif 000016
【図１６】
0006444564.tif 000017
【図１７Ａ】
0006444564.tif 000018
【図１７Ｂ】
0006444564.tif 000019
【図１７Ｃ】
0006444564.tif 000020
【図１７Ｄ】
0006444564.tif 000021