(57)【特許請求の範囲】
【請求項１】
複数の家畜にそれぞれ装着された歩数計測手段からの歩数計測結果に基づき、発情の報知を行うコンピュータが実行する発情報知方法であって、
前記複数の家畜それぞれの前記歩数計測結果、および、前記複数の家畜それぞれの位置情報を収集し、
前記歩数計測結果に基づいて、前記複数の家畜それぞれについて第１の条件で発情を判定し、
特定の家畜を発情と判定した場合、作業者の作業時間帯を保持する記憶部を参照して、現時点が前記作業時間帯に含まれるか否かを判定し、
前記現時点が前記作業時間帯に含まれるとき、前記歩数計測結果に基づいて、前記第１の条件より緩い第２の条件で、前記特定の家畜の周囲の前記複数の家畜について、発情の兆候を判定し、
発情を判定した前記特定の家畜の識別情報と、発情の兆候を判定した前記複数の家畜の識別情報を出力する、
処理を実行することを特徴とする発情報知方法。
【請求項２】
請求項１に記載の発情報知方法であって、
前記発情の兆候を判定する処理は、前記複数の家畜の群れの情報を保持する前記記憶部を参照して、前記特定の家畜と同じ群れに属する前記複数の家畜について、発情の兆候を判定することを特徴とする発情報知方法。
【請求項３】
複数の家畜にそれぞれ装着された歩数計測手段からの歩数計測結果に基づき、発情の報知を行う発情報知装置であって、
前記複数の家畜それぞれの前記歩数計測結果、および、前記複数の家畜それぞれの位置情報を収集する取得部と、
作業者の作業時間帯を保持する記憶部と、
前記歩数計測結果に基づいて、前記複数の家畜それぞれについて第１の条件で発情を判定する第１判定部と、
前記第１判定部によって特定の家畜が発情と判定された場合、現時点が前記作業時間帯に含まれるか否かを判定し、前記現時点が前記作業時間帯に含まれるとき、前記歩数計測結果に基づいて、前記第１の条件より緩い第２の条件で、前記特定の家畜の周囲の前記複数の家畜について、発情の兆候を判定する第２判定部と、
前記第１判定部により発情を判定された前記特定の家畜の識別情報と、前記第２判定部により発情の兆候を判定された前記複数の家畜の識別情報を出力する出力部と、
を有することを特徴とする発情報知装置。
【請求項４】
請求項３に記載の発情報知装置であって、
前記第２判定部は、前記複数の家畜の群れの情報を有しており、前記特定の家畜と同じ群れに属する前記複数の家畜について、発情の兆候を判定することを特徴とする発情報知装置。
【請求項５】
複数の家畜にそれぞれ装着された歩数計測手段からの歩数計測結果に基づき、発情の報知を行うコンピュータに実行させる発情報知プログラムであって、
前記複数の家畜それぞれの前記歩数計測結果、および、前記複数の家畜それぞれの位置情報を収集し、
前記歩数計測結果に基づいて、前記複数の家畜それぞれについて第１の条件で発情を判定し、
特定の家畜を発情と判定した場合、作業者の作業時間帯を保持する記憶部を参照して、現時点が前記作業時間帯に含まれるか否かを判定し、
前記現時点が前記作業時間帯に含まれるとき、前記歩数計測結果に基づいて、前記第１の条件より緩い第２の条件で、前記特定の家畜の周囲の前記複数の家畜について、発情の兆候を判定し、
発情を判定した前記特定の家畜の識別情報と、発情の兆候を判定した前記複数の家畜の識別情報を出力する、
処理を実行させることを特徴とする発情報知プログラム。
【請求項６】
請求項５に記載の発情報知プログラムであって、
前記発情の兆候を判定する処理は、前記複数の家畜の群れの情報を保持する前記記憶部を参照して、前記特定の家畜と同じ群れに属する前記複数の家畜について、発情の兆候を判定することを特徴とする発情報知プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、発情報知方法、発情報知装置および発情報知プログラムに関する。
【背景技術】
【０００２】
放牧されている牛などの家畜に歩数計を装着し、家畜が歩行した歩数を計測することにより、家畜の状態の変化、例えば発情や疾病などが生じていることを検知する技術が知られている。作業者は、歩数計による家畜の状態変化の検知に応じ、例えば種付けや治療などの検討を行っている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００３−３４３９０１号公報
【特許文献２】特開２００５―０９２５９５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来技術では、家畜の歩数から状態変化を検知しても誤報となることが少なくないため、作業者が実際に該当の家畜を見に行って発情しているかどうかを判断することが多い。また、家畜の状態変化が検知されたときに、作業者が休憩中や他の作業中であれば、状態変化の通知を受けてもすぐに対応することができない場合がある。【０００５】
本発明は、上述した従来技術による問題点を解消するため、発情の兆候を示す家畜を効率的に把握することができる発情報知方法、発情報知装置および発情報知プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
上述した課題を解決し、目的を達成するため、本発明の一側面によれば、複数の家畜にそれぞれ装着された歩数計測手段からの歩数計測結果に基づき、発情の報知を行う発情報知方法、発情報知装置、発情報知プログラムであって、前記複数の家畜それぞれの前記歩数計測結果、および、前記複数の家畜それぞれの位置情報を収集し、前記歩数計測結果に基づいて、前記複数の家畜それぞれについて第１の条件で発情を判定し、特定の家畜を発情と判定した場合、作業者の作業時間帯を保持する記憶部を参照して、現時点が前記作業時間帯に含まれるか否かを判定し、前記現時点が前記作業時間帯に含まれるとき、前記歩数計測結果に基づいて、前記第１の条件より緩い第２の条件で、前記特定の家畜の周囲の前記複数の家畜について、発情の兆候を判定し、発情を判定した前記特定の家畜の識別情報と、発情の兆候を判定した前記複数の家畜の識別情報を出力する発情報知方法、発情報知装置、発情報知プログラムが提案される。
【発明の効果】
【０００７】
本発明の一側面によれば、発情の兆候を示す家畜を効率的に把握することができるという効果を奏する。
【図面の簡単な説明】
【０００８】
【図１】図１は、本実施の形態の発情報知方法の一実施例を示す説明図である。
【図２】図２は、発情報知システム２００のシステム構成例を示す説明図である。
【図３】図３は、本実施の形態の通信機のハードウェア構成例を示すブロック図である。
【図４】図４は、中継機１０２のハードウェア構成例を示すブロック図である。
【図５】図５は、発情報知装置１０４等のハードウェア構成例を示すブロック図である。
【図６】図６は、計測結果情報テーブル２０１の記憶内容の一例を示す説明図である。
【図７】図７は、歩数ＤＢ２０２の記憶内容の一例を示す説明図である。
【図８】図８は、送信元ＤＢ２０３の記憶内容の一例を示す説明図である。
【図９】図９は、中継機ＤＢ２０４の記憶内容の一例を示す説明図である。
【図１０】図１０は、閾値ＤＢ２０５の記憶内容の一例を示す説明図である。
【図１１】図１１は、歩数積算テーブル１１００の記憶内容の一例を示す説明図である。
【図１２】図１２は、作業時間帯ＤＢ２０６の記憶内容の一例を示す説明図である。
【図１３】図１３は、発情報知装置１０４の機能的構成例を示すブロック図である。
【図１４】図１４は、クライアント装置１０５による表示例を示す説明図である。
【図１５】図１５は、通信機１０１の処理手順の一例を示すフローチャートである。
【図１６】図１６は、発情報知装置１０４の処理手順の一例を示すフローチャート（その１）である。
【図１７】図１７は、発情報知装置１０４の処理手順の一例を示すフローチャート（その２）である。
【図１８】図１８は、発情報知装置１０４の処理手順の一例を示すフローチャート（その３）である。
【図１９】図１９は、発情報知装置１０４の処理手順の一例を示すフローチャート（その４）である。
【発明を実施するための形態】
【０００９】
以下に添付図面を参照して、本発明にかかる発情報知方法、発情報知装置および発情報知プログラムの実施の形態を詳細に説明する。
【００１０】
図１は、本実施の形態の発情報知方法の一実施例を示す説明図である。図１において、作業者Ｗが管理する農場Ｆの敷地内では複数頭の家畜Ａが飼育されている。ここで、作業者Ｗとは、畜産業に従事する者である。農場Ｆとは、家畜Ａを放牧する放牧地などを有する施設である。家畜Ａとは、農場Ｆの敷地内、例えば農場Ｆの放牧地内を移動できる動物である。例えば、家畜Ａとしては、牛や豚や馬など、歩行により移動する動物を挙げることができる。
【００１１】
家畜Ａには、通信機１０１が装着されている。ここで、通信機１０１は、家畜Ａの歩数を計測する可搬型のコンピュータである。例えば、家畜Ａは、歩行の際に、まず、右前足を移動方向の地面に向けて送り出す。右前足が地面に着地すると、今度は左前足を移動方向の地面に向けて送り出す。左前足が地面に着地すると、再び、右前足を送り出すといったような動作を繰り返す。すなわち、家畜Ａの歩数は、家畜Ａが右前足または左前足を移動方向の地面に向けて送り出した回数とすることができる。
【００１２】
例えば、家畜Ａの状態変化、例えば、発情、疾病、出産、天敵の出現などにより、通常状態とは異なる異常状態になると、家畜Ａの単位時間当たりの歩数は、通常状態に比べて、増加したり減少したりする。ここで、発情とは、家畜Ａが生殖活動にともなう興奮状態であることをいう。疾病とは、家畜Ａの身体または精神に不調または不都合が生じた状態をいう。
【００１３】
家畜Ａに異常状態が生じた場合には家畜Ａの歩数が変化するということを利用し、家畜Ａの歩数を計測しておくことにより、作業者Ｗは、歩数の計測結果から家畜Ａに変化が生じていることを知ることができる。
【００１４】
通信機１０１は、農場Ｆの敷地内に設けられた複数の中継機１０２と通信可能になっている。ここで、中継機１０２は、通信機１０１および後述の発情報知装置１０４と通信可能なコンピュータである。複数の中継機１０２は、農場Ｆ内の、それぞれ異なる位置に設置されている。通信機１０１は、通信可能な中継機１０２に、計測結果を表す計測結果情報を発情報知装置１０４に送信する。
【００１５】
例えば、通信機１０１は、図１において符号１０２ａで例示する中継機１０２ａの通信エリア１０３ａ内に位置していれば、中継機１０２ａと通信可能である。また、通信機１０１は、図１において符号１０２ｂで例示する中継機１０２ｂの通信エリア１０３ｂ内に位置していれば、中継機１０２ｂと通信可能である。図１において符号１０２ｃで例示する中継機１０２ｃの通信エリア１０３ｃ内に位置していれば、中継機１０２ｃと通信可能である。通信エリアは、例えばそれぞれの中継機１０２を中心とした半径１５０ｍの範囲である。中継機１０２は、通信機１０１から計測結果情報を受信した場合、受信した計測結果情報を発情報知装置１０４に送信する。中継機１０２は、計測結果情報を発情報知装置１０４へ送信する際、自機の中継機識別情報もあわせて送信する。
【００１６】
発情報知装置１０４は、複数の中継機１０２と接続され、いずれかの中継機１０２を介して、通信機１０１の計測結果情報を受信可能なコンピュータである。また、例えば、発情報知装置１０４は、クライアント装置１０５と所定の回線を介して通信接続することが可能になっている。
【００１７】
クライアント装置１０５は、ディスプレイ１０６を有し、発情報知装置１０４と通信可能な可搬型のコンピュータである。クライアント装置１０５は、発情報知装置１０４から情報を受信した場合、受信した情報に基づく画像などをディスプレイ１０６に表示する。
【００１８】
ここで、放牧中の家畜Ａの異常状態を見つける手法として、例えばメス牛の発情を見つける手法について例示する。例えば、作業者Ｗが、定期的に放牧地に赴いて、発情しているメス牛の有無を実際に目視によって確かめる手法がある。この手法では、例えば、一辺が数百メートルから数キロにおよぶような広大な農場Ｆ内を作業者Ｗが探し回ることになるため、時間がかかるだけでなく、作業者Ｗの手間となり、結果として人件費が高くなってしまう。そのため、作業者Ｗによっては、放牧中には種付けをあきらめることがあるが、発情したメス牛に種付けを行わないことは、すなわち、受胎する可能性が高いときに種付けしないことは、経済的な損失となってしまう。
【００１９】
また、作業者Ｗによっては、メス牛を放牧する際に種牛も放牧し、自然交配を行わせることもある。ところが、種牛による自然交配は、より良い子孫を残すという現在の畜産経営の観点から好ましいものではなく、また、オス牛は獰猛であるため、慣れた作業者Ｗしかオス牛を扱うことができず有効なものではない。
【００２０】
また、発情したメス牛では歩数が増加するという性質を利用し、メス牛に歩数を計測する歩数計を装着するシステムがある。このシステムでは、メス牛に装着された歩数計が所定の送信間隔で計測結果を、放牧地内に設置された中継機を介して、サーバへ送信する。このため、計測結果を中継した中継機を作業者Ｗに通知することにより、作業者Ｗは発情したメス牛の位置の目星をつけることができるようになる。
【００２１】
しかしながら、上記のシステムでは、システム本来の目的がメス牛の発情を検知することとなっている。このため、歩数計は、例えば１時間間隔で計測結果を送信するように設定されている。ところが、作業者Ｗが牛舎の清掃など、他の作業を行っており、すぐには通知された中継機（すなわち、発情牛）の付近へ赴けないこともある。このような場合、作業者Ｗが通知された中継機付近に赴いたときには、刻々と移動する発情牛がすでにその付近を離れており、結局、作業者Ｗが放牧地内を探し回る必要があり、作業者Ｗの手間となる。
【００２２】
また、発情したメス牛の位置を把握するために、各メス牛にＧＰＳ機能を有した通信装置を装着する手法が考えられるが、各メス牛にＧＰＳ機能を有した通信装置を装着するにはコストがかかる。また、ＧＰＳ機能は常時電気信号を発信するものであるため、駆動電源となる電池の消耗が早く、頻繁に電池交換またはＧＰＳ機能を有した通信装置自体の交換が必要となる。したがって、この手法は、初期費用がかかるだけでなく、電池または装置の交換において作業者Ｗの手間となるため、実際の運用には適していない。
【００２３】
そこで、本実施の形態の発情報知方法では、家畜が発情したとしても作業時間外であるなどして、作業者がすぐに家畜の元へ赴けない場合は、必要最低限の情報を通知して、誤判定による悪影響を極力防止して、作業者Ｗの煩わしさを抑えたり、作業者Ｗが消耗してしまうことを抑えたりする。また、本実施の形態の発情報知方法では、作業者の作業時間帯であり、発情した家畜の元へ赴くことができる場合には、発情した家畜の確認作業と合わせて確認できる他の家畜に対しても、作業者の確認作業を促す。
【００２４】
以下、実施の形態の発情報知方法の一実施例について説明する。なお、本実施の形態では一例として、家畜Ａの異常状態として発情を例にして説明する。また、本実施の形態において、家畜Ａをメス牛として説明する。メス牛は発情すると、発情していないときに比べて、単位時間あたりの歩数が増加する性質があり、このようなメス牛の性質を利用している。
【００２５】
（１）通信機１０１は、家畜Ａの歩数を計測して、所定の送信間隔でいずれかの中継機１０２を介して、発情報知装置１０４に家畜Ａの歩数の計測結果を表す計測結果情報を送信する。例えば、ここで、所定の送信間隔とは、１時間間隔である。中継機１０２は、通信機１０１から計測結果情報を受信すると、受信した計測結果情報と自機の中継機識別情報を発情報知装置１０４に送信する。ここで、中継機識別情報は、複数の中継機１０２の中から１つの中継機１０２を特定可能な情報である。例えば、中継機識別情報は、各々の中継機１０２固有の中継機ＩＤを表す情報である。
【００２６】
（２）発情報知装置１０４は、中継機１０２を介して、計測結果情報を受信すると、受信した計測結果情報に基づいて、家畜Ａの歩数が所定条件（第１の判定条件）を満たすか否かを判定する。例えば、発情報知装置１０４は、図１中符号Ａ１で示す家畜Ａが第１の判定条件を満たす歩数が計測された家畜Ａと判定したとする。
【００２７】
つぎに、発情報知装置１０４は、現時点が作業者Ｗの作業時間帯に含まれるか否かを判定する。ここで、作業時間帯とは、作業者Ｗが作業に従事している時間帯として予め定められた時間帯である。例えば、発情報知装置１０４は、作業時間帯を表す情報を後述の作業時間帯ＤＢ２０６により記憶している。
【００２８】
発情報知装置１０４は、現時点が作業時間帯であると判定すると、第１の判定条件を満たした歩数が計測された家畜Ａ１の周囲の他の家畜Ａの中に、上記の第１の判定条件より緩い第２の判定条件を満たす家畜が存在するかを判定する。例えば、発情報知装置１０４は、家畜Ａ１と同じ中継機１０２ａの通信エリア１０３ａに位置する図１中符号Ａ２で示す家畜Ａが第２の判定条件を満たす歩数が計測された家畜Ａと判定したとする。
【００２９】
この場合、発情報知装置１０４は、第１の判定条件を満たした家畜Ａ１と、この家畜Ａの周囲に位置して第２の判定条件を満たした家畜Ａ２とを、作業者Ｗに通知する（図１（３））。一方、発情報知装置１０４は、現時点が作業時間帯でないと判定すると、第１の判定条件を満たした家畜Ａ１のみを作業者Ｗに通知する。なお、発情報知装置１０４は、現時点が作業時間帯でないと判定すると、第１の判定条件を満たした家畜Ａ１について作業者Ｗに通知しないようにしてもよい。
【００３０】
以上に説明したように、発情報知装置１０４は、家畜Ａが発情したとしても作業時間外であるなどして、作業者Ｗがすぐに発情した家畜Ａの元へ赴けない場合は、必要最低限の情報を通知して、誤判定による悪影響を極力防止して、作業者Ｗの煩わしさを抑えたり、作業者Ｗが消耗してしまうことを抑えたりする。一方、発情報知装置１０４は、作業者Ｗの作業時間帯であり、作業者Ｗが発情した家畜Ａの元へ赴くことができる場合には、発情した家畜Ａの確認作業と合わせて確認できる他の家畜Ａに対しても、作業者の確認作業を促し、作業者Ｗに他の家畜Ａの発情の兆候を早く気づかせることができる。
【００３１】
（発情報知システムのシステム構成例）
つぎに、本実施の形態の発情報知システムのシステム構成例について説明する。図２は、発情報知システム２００のシステム構成例を示す説明図である。図２において、発情報知システム２００は、単数または複数の通信機１０１と、複数の中継機１０２と、発情報知装置１０４と、を含む。
【００３２】
なお、図２に示すように、複数の通信機１０１を有する発情報知システムの場合、各々の通信機１０１は、計測結果情報を送信する際に、自装置の通信機識別情報も送信する。ここで、通信機識別情報は、複数の通信機１０１の中から１つの通信機１０１を特定可能な情報である。例えば、通信機識別情報は、各々の通信機１０１固有の通信機ＩＤを表す情報である。
【００３３】
発情報知システム２００において、通信機１０１および中継機１０２は、無線通信ネットワーク２１０を介して接続されている。通信機１０１および中継機１０２は、自装置を中心とした所定範囲（例えば自装置を中心とした半径１５０ｍの範囲）を、無線通信ネットワーク２１０による通信が可能な通信エリアとして有している。通信機１０１および中継機１０２は、通信可能な位置関係であった場合に無線通信ネットワーク２１０により接続される。例えば、無線通信ネットワーク２１０には、ＲＦＩＤ（Ｒａｄｉｏ  Ｆｒｅｑｕｅｎｃｙ  ＩＤｅｎｔｉｆｉｃａｔｉｏｎ）などの近距離無線通信を適用することができる。
【００３４】
また、中継機１０２、発情報知装置１０４およびクライアント装置１０５は、ネットワーク２２０を介して接続されている。例えば、ネットワーク２２０は、インターネット、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）などである。
【００３５】
通信機１０１は、計測結果情報テーブル２０１などを有しており、農場Ｆで飼育された各々の家畜Ａに装着された可搬型のコンピュータである。通信機１０１は、自装置が装着された家畜Ａの歩数を計測する計測機能、無線通信ネットワーク２１０による通信機能を有している。例えば、通信機１０１は、無線通信ネットワーク２１０による通信機能が付加された歩数計などを適用することができる。なお、計測結果情報テーブル２０１の記憶内容については図６を用いて後述する。
【００３６】
中継機１０２は、農場Ｆの敷地内に設置され、無線通信ネットワーク２１０による通信機能およびネットワーク２２０による通信機能を有するコンピュータである。複数の中継機１０２は、それぞれ異なる設置位置に設置されている。
【００３７】
発情報知装置１０４は、歩数ＤＢ２０２、送信元ＤＢ２０３、中継機ＤＢ２０４、閾値ＤＢ２０５などを有しており、ネットワーク２２０による通信機能を有するコンピュータである。例えば、発情報知装置１０４には、クラウドコンピューティングシステムに含まれるサーバや、農場Ｆの経営者や作業者Ｗによって使用されるＰＣ（パーソナル・コンピュータ）、ノートＰＣなどを適用することができる。なお、歩数ＤＢ２０２、送信元ＤＢ２０３、中継機ＤＢ２０４、閾値ＤＢ２０５の記憶内容については図７〜図１０を用いて後述する。
【００３８】
クライアント装置１０５は、各種情報に基づく画像などを表示するディスプレイ１０６や、ネットワーク２２０による通信機能を有するコンピュータである。例えば、クライアント装置１０５には、農場Ｆの作業者Ｗによって使用されるＰＣやノートＰＣ、携帯電話、スマートフォンなどを適用することができる。
【００３９】
（通信機のハードウェア構成例）
つぎに、通信機１０１のハードウェア構成例について説明する。図３は、本実施の形態の通信機のハードウェア構成例を示すブロック図である。図３において、通信機１０１は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）３０１と、メモリ３０２と、Ｉ／Ｆ（Ｉｎｔｅｒｆａｃｅ）３０３と、センサ３０４と、タイマ３０５とを有する。また、各構成部はバス３００によってそれぞれ接続されている。
【００４０】
ここで、ＣＰＵ３０１は、通信機１０１の全体の制御を司る。メモリ３０２は、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）およびフラッシュＲＯＭなどを含む。ＲＯＭおよびフラッシュＲＯＭは、例えば、ブートプログラムなどの各種プログラムを記憶する。ＲＡＭは、ＣＰＵ３０１のワークエリアとして使用される。
【００４１】
Ｉ／Ｆ３０３は、通信回線を通じて無線通信ネットワーク２１０に接続され、無線通信ネットワーク２１０を介して中継機１０２などの他の装置に接続される。そして、Ｉ／Ｆ３０３は、無線通信ネットワーク２１０と内部のインターフェースを司り、外部装置からのデータの入出力を制御する。
【００４２】
センサ３０４は、通信機１０１の挙動を検出するための情報を出力する。例えば、センサ３０４は、ジャイロセンサや３軸加速度センサなどによって実現され、通信機１０１に加速度が生じた場合に、生じた加速度に応じた情報を出力する。タイマ３０５は、計時機能を有する。例えば、タイマ３０５は、ＲＴＣ（Ｒｅａｌ  Ｔｉｍｅ  Ｃｌｏｃｋ）などによって実現され、実時間を計時する。また、タイマ３０５は、所定のタイミングからの経過時間を計時してもよい。また、タイマ３０５は、通信機１０１の外部に設けられ、通信機１０１は無線通信ネットワーク２１０を介して、タイマ３０５の計時結果を取得するようにしてもよい。
【００４３】
（中継機のハードウェア構成例）
つぎに、中継機１０２のハードウェア構成例について説明する。図４は、中継機１０２のハードウェア構成例を示すブロック図である。図４において、中継機１０２は、ＣＰＵ４０１と、メモリ４０２と、Ｉ／Ｆ４０３と、を有する。また、各構成部はバス４００によってそれぞれ接続されている。
【００４４】
ここで、ＣＰＵ４０１は、中継機１０２の全体の制御を司る。メモリ４０２は、ＲＯＭ、ＲＡＭおよびフラッシュＲＯＭなどを含む。ＲＯＭおよびフラッシュＲＯＭは、例えば、ブートプログラムなどの各種プログラムを記憶する。ＲＡＭは、ＣＰＵ４０１のワークエリアとして使用される。
【００４５】
Ｉ／Ｆ４０３は、通信回線を通じて無線通信ネットワーク２１０に接続され、無線通信ネットワーク２１０を介して通信機１０１などの他の装置に接続される。また、Ｉ／Ｆ４０３は、通信回線を通じてネットワーク２２０に接続され、ネットワーク２２０を介して、例えば発情報知装置１０４などの他の装置に接続される。そして、Ｉ／Ｆ４０３は、無線通信ネットワーク２１０およびネットワーク２２０と内部のインターフェースを司り、外部装置からのデータの入出力を制御する。
【００４６】
（発情報知装置およびクライアント装置のハードウェア構成例）
つぎに、発情報知装置１０４およびクライアント装置１０５のハードウェア構成例について説明する。ここでは、発情報知装置１０４およびクライアント装置１０５を、単に「発情報知装置１０４等」と表記する。
【００４７】
図５は、発情報知装置１０４等のハードウェア構成例を示すブロック図である。図４において、発情報知装置１０４等は、ＣＰＵ５０１と、ＲＯＭ５０２と、ＲＡＭ５０３と、磁気ディスクドライブ５０４と、磁気ディスク５０５と、光ディスクドライブ５０６と、光ディスク５０７と、ディスプレイ５０８と、Ｉ／Ｆ５０９と、キーボード５１０と、マウス５１１と、スキャナ５１２と、プリンタ５１３と、を有している。また、各構成部はバス５００によってそれぞれ接続されている。
【００４８】
ここで、ＣＰＵ５０１は、発情報知装置１０４等の全体の制御を司る。ＲＯＭ５０２は、ブートプログラムなどのプログラムを記憶している。ＲＡＭ５０３は、ＣＰＵ５０１のワークエリアとして使用される。磁気ディスクドライブ５０４は、ＣＰＵ５０１の制御にしたがって磁気ディスク５０５に対するデータのリード／ライトを制御する。磁気ディスク５０５は、磁気ディスクドライブ５０４の制御で書き込まれたデータを記憶する。
【００４９】
光ディスクドライブ５０６は、ＣＰＵ５０１の制御にしたがって光ディスク５０７に対するデータのリード／ライトを制御する。光ディスク５０７は、光ディスクドライブ５０６の制御で書き込まれたデータを記憶したり、光ディスク５０７に記憶されたデータをコンピュータに読み取らせたりする。
【００５０】
ディスプレイ５０８は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。ディスプレイ５０８としては、例えば、ＣＲＴ、ＴＦＴ液晶ディスプレイ、プラズマディスプレイなどを採用することができる。
【００５１】
Ｉ／Ｆ５０９は、通信回線を通じてネットワーク２２０に接続され、ネットワーク２２０を介して、例えば中継機１０２やクライアント装置１０５などの他の装置に接続される。そして、Ｉ／Ｆ５０９は、ネットワーク２２０と内部のインターフェースを司り、外部装置からのデータの入出力を制御する。Ｉ／Ｆ５０９には、例えば、モデムやＬＡＮアダプタなどを採用することができる。
【００５２】
キーボード５１０は、文字、数字、各種指示などの入力のためのキーを有し、データの入力を行う。また、タッチパネル式の入力パッドやテンキーなどであってもよい。マウス５１１は、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などを行う。ポインティングデバイスとして同様に機能を有するものであれば、トラックボールやジョイスティックなどであってもよい。
【００５３】
スキャナ５１２は、画像を光学的に読み取り、発情報知装置１０４内に画像データを取り込む。なお、スキャナ５１２は、ＯＣＲ（Ｏｐｔｉｃａｌ  Ｃｈａｒａｃｔｅｒ  Ｒｅａｄｅｒ）機能を持たせてもよい。また、プリンタ５１３は、画像データや文書データを印刷する。プリンタ５１３には、例えば、レーザプリンタやインクジェットプリンタを採用することができる。
【００５４】
なお、例えば、発情報知装置１０４は、上述した構成部のうち、光ディスクドライブ５０６や光ディスク５０７やディスプレイ５０８やマウス５１１やスキャナ５１２やプリンタ５１３を有していなくてもよい。また、クライアント装置１０５は、光ディスクドライブ５０６や光ディスク５０７やマウス５１１やスキャナ５１２やプリンタ５１３を有していなくてもよい。
【００５５】
（通信機が記憶している情報の一例）
つぎに、通信機１０１が記憶している情報の一例について説明する。上述したように、通信機１０１は計測結果情報テーブル２０１を記憶している。例えば、計測結果情報テーブル２０１は通信機１０１のメモリ３０２によって実現される。
【００５６】
＜計測結果情報テーブルの記憶内容の一例＞
図６は、計測結果情報テーブル２０１の記憶内容の一例を示す説明図である。図６において、計測結果情報テーブル２０１は、計測日時、計測値のフィールドを有する。これらのフィールドに情報が設定されることで、計測結果情報テーブル２０１には計測日時と計測値との組み合わせごとの計測結果情報がレコードとして記憶される。例えば、図６に示す例では、計測結果情報テーブル２０１に計測結果情報６００−１〜６００−６が記憶されている。
【００５７】
ここで、計測日時は、過去の計測結果情報の送信タイミングの日時を表す。本実施の形態の場合、一例として、計測日時は、直近の６回分の計測結果情報の送信タイミングの日時を表している。また、計測値は、過去の計測結果情報の送信タイミングの時点における家畜Ａの歩数の計測値を表す。本実施の形態の場合、一例として、計測値は、直近の６回分の計測結果情報の送信タイミングの時点における家畜Ａの歩数の計測値を表している。
【００５８】
例えば、通信機１０１は、計測値を「０」に設定したタイミングから現在に至るまでの家畜Ａの歩数を、現在の計測値として累積したものである。家畜Ａが１歩歩行するごとに、通信機１０１に瞬間的に加速度が生じる。通信機１０１は、この加速度をセンサ３０４により検出すると、現在の計測値を「＋１」カウントアップする。
【００５９】
そして、通信機１０１は、タイマ３０５の計時結果に基づいて、計測結果情報の送信タイミングとなると、この送信タイミングに対応する計測日時に、現在の計測値を関連づけた計測結果情報を記憶する。送信タイミングは、計測結果情報の送信間隔が１時間間隔である場合、例えば毎時００分としている。
【００６０】
例えば、図６において、計測結果情報６００−１は、「２０１２年２月２０日２時００分」の時点での計測値が「Ｃ６」であったことを表している。なお、ここで、「Ｃ６」は正の整数である。計測結果情報テーブル２０１に計測結果情報を記憶すると、通信機１０１は、計測結果情報テーブル２０１に記憶された各計測結果情報を、中継機１０２を介して、発情報知装置１０４に送信する。図６に示す例の場合、通信機１０１は、計測結果情報６００−１〜６００−６を送信する。
【００６１】
これによって、通信機１０１は、各計測結果情報を複数回送信することができる。例えば、計測結果情報６００−１は、「２０１２年２月１９日２１時００分」から「２０１２年２月２０日２時００分」まで、１時間間隔で計６回送信されることになる。したがって、通信機１０１は、今回の計測結果情報の送信タイミングでいずれの中継機１０２とも通信できず、計測結果情報の送信に失敗しても、その後の送信タイミングとなったときに、送信に失敗した計測結果情報を送信することができる。
【００６２】
なお、ここでは、通信機１０１は直近の６回分の計測結果情報を記憶している例を説明したが、これに限らない。通信機１０１は、過去の計測結果情報を記憶していなくてもよい。例えば、この場合、通信機１０１は、計測結果情報の送信タイミングとなると、現在の計測値を計測結果情報として送信し、当該計測結果情報を削除してもよい。このような構成にすることにより、計測結果情報の記憶にあたって、通信機１０１が記憶するデータ量を削減することができる。
【００６３】
また、ここでは、通信機１０１が計測結果情報テーブル２０１に記憶された各計測結果情報を送信するが、これに限らない。例えば、通信機１０１は、直近の１回分の計測結果情報のみを送信するようにしてもよい。具体的に、図６で示す例の場合、通信機１０１は、計測結果情報６００−１のみを送信するようにしてもよい。この場合、計測結果情報の送信にあたって、通信機１０１が送信するデータ量を削減することができる。
【００６４】
さらに、通信機１０１は、直近の１回分の計測結果情報と、過去の送信タイミングで送信に失敗した計測結果情報とを送信するようにしてもよい。例えば、この場合、中継機１０２は、通信機１０１から計測結果情報を受信すると、計測結果情報を受信したことを表す受信成功情報を通信機１０１に送信する。通信機１０１は、計測結果情報を送信してから所定期間内に受信成功情報を受信しなければ、この計測結果情報の送信に失敗したと判定する。
【００６５】
そして、この場合、通信機１０１は、送信に失敗したと判定した計測結果情報に、送信が失敗したことを表す情報を関連づけて記憶しておく。その後、計測結果情報の送信タイミングとなると、通信機１０１は、直近の１回分の計測結果情報と、送信に失敗した計測結果情報とを送信する。このような構成にすることにより、計測結果情報の送信にあたって、通信機１０１が送信するデータ量を削減しながら、計測結果情報を確実に中継機１０２に送信することができる。
【００６６】
（発情報知装置が記憶している情報の一例）
つぎに、発情報知装置１０４が記憶している情報の一例について説明する。まず、発情報知装置１０４が記憶している各種ＤＢ２０２，２０３，２０４，２０５の記憶内容の一例について説明する。例えば、以下で説明する各種ＤＢ２０２，２０３，２０４，２０５は、発情報知装置１０４のＲＯＭ５０２、ＲＡＭ５０３、磁気ディスク５０５、光ディスク５０７などの記憶装置によって実現される。
【００６７】
＜歩数ＤＢの記憶内容の一例＞
図７は、歩数ＤＢ２０２の記憶内容の一例を示す説明図である。図７において、歩数ＤＢ２０２は、日付、歩数、発情予兆フラグ、発情兆候フラグのフィールドを有する。これらの各フィールドに情報が設定されることで、歩数ＤＢ２０２には日付と歩数と発情予兆フラグと発情兆候フラグとの組み合わせごとの歩数情報がレコードとして記憶される。図７に示す例では、歩数ＤＢ２０２に歩数情報７００−１〜７００−３などが記憶されている。
【００６８】
ここで、日付は、歩数を計測された日付、例えば年月日を表す。歩数は、計数結果情報に基づく家畜Ａの歩数を表す。歩数のフィールドには、例えば、「０〜１時」、「１〜２時」、「２〜３時」、…、「２２〜２３時」、「２３〜２４時」といったように、時間帯フィールドが設けられている。各々の時間帯フィールドには、その時間帯における家畜Ａの歩数を表す情報が記憶される。例えば、発情報知装置１０４は、各々の時間帯フィールドの、末尾の時刻における計測値から先頭の時刻における計測値を減算した値を、家畜Ａの歩数として各々の時間帯フィールドに記憶する。
【００６９】
具体的に、例えば、「２０１２年２月２０日２時００分」の時点における計測値が「Ｃ６」であり、「２０１２年２月２０日１時００分」の時点における計測値が「Ｃ５」であったとする。なお、上述したように、「Ｃ６」は正の整数であり、「Ｃ５」は正の整数である。この場合、発情報知装置１０４は、日付が「２０１２年２月２０日」、「１〜２時」の時間帯フィールドに、「Ｃ６」から「Ｃ５」を減算した「Ｎ３０２（Ｎ３０２＝Ｃ６−Ｃ５）」を家畜Ａの歩数として記憶する。
【００７０】
発情予兆フラグおよび発情兆候フラグには、それぞれのフラグがＯＮかＯＦＦかを表す、ＯＮ／ＯＦＦフィールドが設けられている。本実施の形態の場合、一例として、それぞれのフラグがＯＮであれば、このフラグのＯＮ／ＯＦＦフィールドには「１」が設定される。それぞれのフラグがＯＦＦであれば、ＯＮ／ＯＦＦフィールドには「０」が設定される。また、発情予兆フラグおよび発情兆候フラグには、例えば、それぞれのフラグがＯＮに設定された際の日時が記憶される、フラグＯＮ日時フィールドも設けられている。
【００７１】
例えば、発情報知装置１０４は、所定条件を満たした場合に、発情予兆フラグや発情兆候フラグのＯＮ／ＯＦＦフィールドに「１」を記憶する。一方、発情報知装置１０４は、ＯＮ／ＯＦＦフィールドに「１」を記憶していないときには「０」を記憶しておく。なお、発情予兆フラグや発情兆候フラグの設定については図１５や図１６などを用いて後述する。
【００７２】
なお、歩数ＤＢ２０２では、各々の通信機１０１に対して上述した各フィールドが設けられている。例えば、図７には、「Ｇ０１」の通信機ＩＤを有する通信機１０１に対する歩数ＤＢ２０２の各フィールドを示している。発情報知装置１０４は、歩数ＤＢ２０２において、それぞれの通信機１０１ごとに、歩数情報を記憶したり、記憶された歩数情報に基づいて歩数が所定条件を満たしているかを判定したりする。
【００７３】
具体的に、例えば、通信機１０１は、計測結果情報の送信時に自機の通信機識別情報を送信する。発情報知装置１０４は、計測結果情報と通信機識別情報とを受信して、受信した通信機識別情報によりいずれの通信機ＩＤを有する通信機１０１から送信された計測結果情報であるかを特定する。発情報知装置１０４は、特定した通信機ＩＤに対する歩数ＤＢ２０２の各フィールドに、特定した通信機ＩＤと合わせて受信した計測結果情報に基づく歩数を算出して記憶する。そして、発情報知装置１０４は記憶した歩数が所定条件を満たすかを判定する。
【００７４】
また、図７に示すように、歩数ＤＢ２０２には、通信機ＩＤと各々の家畜Ａの識別情報である家畜ＩＤとを対応付けて記憶しておいてもよい。
【００７５】
＜送信元ＤＢの記憶内容の一例＞
つぎに、送信元ＤＢ２０３の記憶内容の一例について説明する。図８は、送信元ＤＢ２０３の記憶内容の一例を示す説明図である。図８において、送信元ＤＢ２０３は、通信機ＩＤ、送信元中継機ＩＤのフィールドを有する。これらのフィールドに情報が設定されることで、送信元ＤＢ２０３には通信機ＩＤと送信元中継機ＩＤとの組み合わせごとの送信元中継機情報がレコードとして記憶される。例えば、図８に示す例では、送信元ＤＢ２０３に送信元中継機情報８００−１〜８００−ｍなどが記憶されている。
【００７６】
通信機ＩＤは、それぞれの通信機１０１の識別子を表す。送信元中継機ＩＤは、通信機１０１により直近に送信された計測結果情報を、発情報知装置１０４に送信した送信元の中継機１０２の識別子を表す。例えば、図８において、送信元中継機情報８００−１は、通信機ＩＤ「Ｇ０１」の通信機１０１が直近に送信した計測結果情報が、中継機ＩＤ「Ｂ１」の中継機１０２を介して、発情報知装置１０４に送信されてきたことを表している。
【００７７】
本実施の形態の場合、送信元ＤＢ２０３によって、発情報知装置１０４は、各々の通信機１０１により直近に送信された計測結果情報が、いずれの中継機１０２を介して送信されてきたかを記憶している。このため、発情報知装置１０４は、例えば、作業者Ｗによって或る通信機１０１に対する送信元中継機情報の出力要求があった場合に、この送信元中継機情報をクライアント装置１０５などへ出力することができる。これによって、作業者Ｗは、所望の通信機１０１が直近の計測結果情報を送信した際にいずれの中継機１０２の通信エリア内に位置していたかを知ることができる。
【００７８】
＜中継機ＤＢの記憶内容＞
つぎに、中継機ＤＢ２０４の記憶内容の一例について説明する。図９は、中継機ＤＢ２０４の記憶内容の一例を示す説明図である。図９において、中継機ＤＢ２０４は、中継機ＩＤ、設置位置のフィールドを有する。これらのフィールドに情報が設定されることで、中継機ＤＢ２０４には中継機ＩＤと設置位置との組み合わせごとの設置位置情報がレコードとして記憶される。例えば、図９に示す例では、中継機ＤＢ２０４に設置位置情報９００−１〜９００−ｎが記憶されている。
【００７９】
ここで、中継機ＩＤは、それぞれの中継機１０２の識別子を表す。設置位置は、それぞれの中継機１０２の設置位置を表す設置位置情報である。設置位置情報は、地図上の一地点を特定可能な情報であり、例えば、緯度や経度を表す情報や、座標を表す情報などである。例えば、図９において、設置位置情報９００−１は、中継機ＩＤ「Ｂ１」の中継機１０２が「北緯ｘ１度、経度ｙ１度」で表される地点に設置されていることを表している。
【００８０】
＜閾値ＤＢの記憶内容＞
つぎに、閾値ＤＢ２０５の記憶内容の一例について説明する。図１０は、閾値ＤＢ２０５の記憶内容の一例を示す説明図である。図１０において、閾値ＤＢ２０５は、判定対象時間帯、閾値のフィールドを有する。これらのフィールドに情報が設定されることで、閾値ＤＢ２０５には判定対象時間帯と閾値との組み合わせごとの閾値情報がレコードとして記憶される。例えば、図１０に示す例では、閾値ＤＢ２０５に閾値情報１０００−１〜１０００−２４が記憶されている。
【００８１】
判定対象時間帯は、歩数ＤＢ２０２の各々の時間帯フィールドに記憶された歩数に対して、いずれの閾値を用いるかを特定するための情報である。判定対象時間帯は、歩数ＤＢ２０２の各々の時間帯フィールドに対応して設けられている。閾値は、通信機１０１が装着された家畜Ａが発情しているか否かを判定するための閾値を表す。例えば、発情報知装置１０４は、歩数ＤＢ２０２において時間帯フィールド「０〜１時」に記憶された歩数が、判定対象時間帯が「０〜１時」の閾値「Ｔｈ１」以上であるかを判定する。
【００８２】
例えば、それぞれの閾値Ｔｈ１〜Ｔｈ２４は異なる値であってもよいし、共通の値であってもよい。例えば、家畜Ａの生態を考慮した閾値Ｔｈ１〜Ｔｈ２４を定めた場合には、家畜Ａの生態による影響を低減でき、家畜Ａの発情の検出精度を高めることができる。具体的に、例えば、家畜Ａが夜行性の動物である場合、例えば２２時〜３時の閾値は他の時間帯の閾値よりも高くなるように設定する。
【００８３】
また、閾値Ｔｈ１〜Ｔｈ２４は、各々の家畜Ａによって異なる値としてもよいし、各々の家畜Ａで共通の値としてもよい。例えば、それぞれの家畜Ａごとに、過去に取得した歩数の履歴に基づいた閾値Ｔｈ１〜Ｔｈ２４を設定することで、各々の家畜Ａの個体差の影響を低減でき、各々の家畜Ａの発情の検出精度を高めることができる。具体的に、例えば、日頃から活発に歩行する家畜Ａに対しては、他の家畜Ａよりも閾値が高くなるように設定する。
【００８４】
上述したように、本実施の形態の場合、閾値ＤＢ２０５の閾値Ｔｈ１〜Ｔｈ２４は、１時間当たりの歩数に対して定めたものである。そこで、発情報知装置１０４は、計測結果情報が１０分間間隔で送信されてくる場合、１０分間当たりの歩数を６回分積算することで１時間当たりの歩数を算出する。そして、算出した１時間当たりの歩数と閾値ＤＢ２０５の閾値とを比較する。
【００８５】
＜歩数積算テーブルの記憶内容の一例＞
図１１は、歩数積算テーブル１１００の記憶内容の一例を示す説明図である。発情報知装置１０４は、図１１に示す歩数積算テーブル１１００を記憶している。例えば、歩数積算テーブル１１００は、発情報知装置１０４のＲＡＭ５０３、磁気ディスク５０５、光ディスク５０７などの記憶装置に記憶されている。
【００８６】
図１１において、歩数積算テーブル１１００は、計測日時、計測値、積算対象歩数のフィールドを有している。これらの各フィールドに情報が設定され、歩数積算テーブル１１００には計測日時、計測値、積算対象歩数の組み合わせごとの積算対象歩数情報が記憶される。図１１に示す例では、積算対象歩数情報１１００−１〜１１００−６が記憶されている。
【００８７】
ここで、計測日時は、受信した計測結果情報が表す日時を表す。計測値は、受信した計測結果情報が表す計測値を表す。積算対象歩数は、１０分間当たりの家畜Ａの歩数を表す。積算対象歩数は、歩数積算テーブル１１００において、連続する２つの計測値の後の計測値から、前の計測値を減算して求めることができる。
【００８８】
例えば、図１１に示すように、発情報知装置１０４は、計測日時が「１時１０分」、「１時２０分」、…、「１時５０分」、「２時００分」となっている計測結果情報を受信したとする。なお、ここで各計測結果情報の日付は同日であり、図１１に示す例では「２０１２年２月２０日」となっている。また、各計測結果情報が表す計測値は、「Ｃ１１」、「Ｃ１２」、…、「Ｃ１５」、「Ｃ１６」となっている。
【００８９】
この場合、例えば、「２時００分」の計測日時に対する積算対象歩数は、「Ｃ１６」から、この一つ前の計測日時である「１時５０分」の計測値「Ｃ１５」を減算した「Ｈ６」となる。具体的に、Ｈ６＝Ｃ１６−Ｃ１５である。「１時５０分」の計測日時に対する積算対象歩数は、「Ｃ１５」から、この一つ前の計測日時である「１時４０分」の計測値「Ｃ１４」を減算した「Ｈ５」となる。具体的に、Ｈ５＝Ｃ１５−Ｃ１４である。
【００９０】
そして、発情報知装置１０４は、Ｈ１からＨ６までを積算して求めた値を、日付「２０１２年２月２０日」の時間帯フィールド「１〜２時」に記憶する。図７で示した例では、日付「２０１２年２月２０日」の時間帯フィールド「１〜２時」には「Ｎ３０２」が記憶されている例を示した。例えば、図７における「Ｎ３０２」の値は、図１１における「Ｈ１〜Ｈ６」を積算した値である。
【００９１】
＜作業時間帯ＤＢの記憶内容の一例＞
図１２は、作業時間帯ＤＢ２０６の記憶内容の一例を示す説明図である。図１２において、作業時間帯ＤＢ２０６は、属性、作業時間帯のフィールドを有する。これらの各フィールドに情報が設定されることで、作業時間帯ＤＢ２０６には属性と作業時間帯ごとの作業時間帯情報がレコードとして記憶される。例えば、図１２に示す例では、作業時間帯ＤＢ２０６に作業時間帯情報１２００−１，１２００−２が記憶されている。
【００９２】
作業時間帯ＤＢ２０６において、属性は、作業日を特定するための情報である。例えば、図１２に示すように、属性として曜日などを用いることができる。作業時間帯情報１２００−１の属性は「月曜日〜金曜日」となっている。これは、作業時間帯情報１２００−１が、作業日が「月曜日〜金曜日」であるときの作業時間帯情報であることを表している。また、作業時間帯情報１２００−２の属性は「土曜日〜日曜日」となっている。これは、作業時間帯情報１２００−２が、作業日が「土曜日〜日曜日」であるときの作業時間帯情報であることを表している。なお、属性は、曜日に限らず、例えば、祝日や日付などであってもよい。
【００９３】
作業時間帯のフィールドには、関連づけられた作業日における作業時間帯を表す情報が記憶されている。例えば、「月曜日〜金曜日」の属性を有する作業時間帯情報１２００−１では、「５時００分〜７時００分」、「８時００分〜１２時００分」、「１３時００分〜１５時００分」、「１６時００分〜１８時００分」、「１９時００分〜２１時００分」が作業者Ｗの作業時間帯であることを表している。また、例えば、「土曜日〜日曜日」の属性を有する作業時間帯情報１２００−２では、「５時００分〜７時００分」、「８時００分〜１２時００分」、「１３時００分〜１５時００分」、「１６時００分〜１８時００分」が作業者Ｗの作業時間帯であることを表している。
【００９４】
発情報知装置１０４は、現時点が作業者Ｗの作業時間帯に含まれるか否かの判定を行う際に、現在の日時および曜日を取得する。そして、発情報知装置１０４は、取得した曜日が「月曜日〜金曜日」であった場合には、作業時間帯情報１２００−１の作業時間帯フィールドに記憶された情報と、取得した現在の日時とから、現時点が作業時間帯に含まれているか否かを判定する。
【００９５】
また、作業時間帯のフィールドには、各々の作業時間帯において、作業余裕時間があるか否かを表す情報が記憶される。図１２に示す例では、「月曜日〜金曜日」の「５時００分〜７時００分」の作業時間帯には作業余裕時間はなく、「月曜日〜金曜日」の「８時００分〜１２時００分」の作業時間帯には作業余裕時間があることを表している。例えば、作業者Ｗは、作業量が比較的少ない作業時間帯に対しては作業余裕時間があると予め設定しておく。逆に、作業者Ｗは、作業量が比較的多い作業時間帯に対しては作業余裕時間がないと予め設定しておく。
【００９６】
また、作業時間帯ＤＢ２０６には、複数の作業者Ｗに対して、それぞれの作業者Ｗごとに作業時間帯情報を記憶するようにしてもよい。例えば、複数の作業者Ｗは、それぞれ異なる家畜Ａを管理している。そこで、作業時間帯ＤＢ２０６において、通信機ＩＤと作業者Ｗの識別子である作業者ＩＤとを関連づけておくことにより、発情報知装置１０４は、それぞれの通信機１０１を管理する作業者Ｗの作業時間帯であるか否かを判定することが可能となる。
【００９７】
具体的に、例えば、図１２で示す例では、通信機ＩＤ「Ｇ０１」の通信機１０１が装着された家畜Ａを管理する作業者Ｗの作業時間帯情報を示している。例えば、発情報知装置１０４は、計測結果情報と通信機識別情報とを受信した場合に、受信した通信機識別情報から、いずれの作業者Ｗが管理する家畜Ａに装着された通信機１０１からの計測結果情報であるかを特定する。つぎに、発情報知装置１０４は、特定した通信機１０１から、この通信機１０１を管理する作業者Ｗの作業時間帯ＤＢ２０６から作業時間帯情報を取得し、現時点が作業時間帯であるかを判定する。
【００９８】
これによって、発情報知装置１０４は、例えば、各々の作業時間帯が異なる作業者Ｗに対して、各々が管理する通信機１０１の計測結果情報の送信間隔を短縮したり、短縮させなかったりすることができる。したがって、発情報知装置１０４は、各々の作業者Ｗに応じて、家畜Ａの追跡を支援することができるとともに、通信機１０１の電池消耗を抑えることができる。
【００９９】
（発情報知装置の機能的構成例）
図１３は、発情報知装置１０４の機能的構成例を示すブロック図である。図１３において、発情報知装置１０４は、取得部１３０１と、第１判定部１３０２と、第２判定部１３０３と、第３判定部１３０４と、出力部１３０５とを含む構成である。この制御部となる機能、すなわち、取得部１３０１〜出力部１３０５は、例えば、図５に示した磁気ディスク５０５などに記憶されたプログラムをＣＰＵ５０１に実行させることにより、または、Ｉ／Ｆ５０９や磁気ディスク５０５などにより、その機能を実現する。各機能部の処理結果は、例えば、ＲＡＭ５０３に記憶される。
【０１００】
取得部１３０１は、複数の家畜Ａそれぞれの歩数の計測結果、および、複数の家畜Ａそれぞれの位置情報を取得する機能を有する。例えば、取得部１３０１は、ネットワーク２２０を介して、それぞれの家畜Ａに装着された通信機１０１から計測結果情報を受信することにより、それぞれの家畜Ａの歩数の計測結果を取得する。また、取得部１３０１は、計測結果情報の受信時に、計測結果情報を中継した中継機１０２の中継機識別情報を受信し、受信した中継機識別情報を家畜Ａの位置情報として取得する。
【０１０１】
第１判定部１３０２は、取得部１３０１によって取得された歩数の計測結果に基づいて、複数の家畜Ａそれぞれについて第１の条件により発情しているかを判定する機能を有する。例えば、第１の判定条件で判定する場合、第１判定部１３０２は、歩数ＤＢ２０２に記憶された直近に計測された１時間ごとの歩数が３つ連続して、閾値ＤＢ２０５により定めた閾値以上となるか否かを判定し、３つ連続して閾値以上であれば発情したと判定する。
【０１０２】
第２判定部１３０３は、第１判定部１３０２により発情と判定された場合、作業者Ｗの作業時間帯を保持する記憶部を参照して、現時点が作業時間帯に含まれるか否かを判定する機能を有する。例えば、第２判定部１３０３は、第１判定部１３０２により発情と判定された際に、現在の日時を取得し、取得した現在の日時と作業時間帯ＤＢ２０６とを用いることにより現時点が作業時間帯に含まれるか否かを判定する。
【０１０３】
第３判定部１３０４は、第２判定部１３０３により現時点が作業時間帯に含まれると判定された場合、第１判定部１３０２により発情と判定された特定の家畜Ａの周囲に位置している他の家畜Ａについて、第２の判定条件により発情の兆候を示すか否かを判定する。例えば、第３判定部１３０４は、同一の中継機１０２を介して計測結果情報を送信してきた各々の通信機１０１を装着した各々の家畜Ａを同じ群れの家畜Ａとして特定する。つぎに、第３判定部１３０４は、歩数ＤＢ２０２を参照して、同じ群れのそれぞれの家畜Ａの歩数情報を取得し、取得した歩数情報が所定条件を満たすかを判定する。
【０１０４】
第３判定部１３０４は、第１判定部１３０２よりも緩い判定基準で発情の兆候を示す家畜Ａを判定する。例えば、第３判定部１３０４は、他の家畜Ａについて、歩数ＤＢ２０２に記憶された直近に計測された１時間ごとの歩数が２つ連続して、閾値ＤＢ２０５により定めた閾値以上となるか否かを判定し、２つ連続して閾値以上であれば発情の兆候を示すと判定する。また、例えば、第３判定部１３０４は、他の家畜Ａについて、第１判定部１３０２が判定の際に用いる閾値よりも低く定められた閾値を用いて、発情の兆候を示す家畜Ａを判定するようにしてもよい。
【０１０５】
出力部１３０５は、第１判定部１３０２により発情と判定された家畜Ａの識別情報と、第３判定部１３０４により発情の兆候を判定した複数の家畜Ａの識別情報を出力する機能を有する。例えば、出力部１３０５は、ネットワーク２２０を介し、第１判定部１３０２により発情と判定された家畜Ａに装着された通信機１０１の通信機識別情報、第３判定部１３０４により発情の兆候を示すと判定された家畜Ａに装着された通信機１０１の通信機識別情報をクライアント装置１０５に送信する。また、出力部１３０５は、第２判定部１３０３により現時点が作業時間帯に含まれないと判定された場合、第１判定部１３０２により発情と判定された家畜Ａに装着された通信機１０１の通信機識別情報のみをクライアント装置１０５に送信することにしてもよい。
【０１０６】
（クライアント装置の表示例）
つぎに、クライアント装置１０５による表示例について説明する。以下に説明する表示例は、例えば、クライアント装置１０５が発情報知装置１０４から通信機識別情報や中継機識別情報や設置位置情報を受信した場合に、ディスプレイ１０６に表示される。
【０１０７】
図１４は、クライアント装置１０５による表示例を示す説明図である。図１４において、ディスプレイ１０６には、例えば、発情報知装置１０４から受信した通信機識別情報を装着した家畜Ａが発情したことを作業者Ｗに示唆するメッセージ１４０１が表示される。また、メッセージ１４０１には、受信した中継機識別情報に対応する中継機１０２が、発情した家畜Ａの付近に位置する中継機１０２であることを作業者Ｗに示唆する内容が含まれている。例えば、発情したと判定された家畜Ａに装着された通信機１０１の通信機ＩＤが「Ｇ０１」で、この通信機１０１から直近に送信された計測結果情報を中継した中継機１０２の中継機ＩＤが「Ｂ１」であったとする。この場合、図１４に示すように、クライアント装置１０５は、「中継機ＩＤ「Ｂ１」の中継機付近にいる通信機「Ｇ０１」を装着した家畜が発情しています」といったメッセージ１４０１をディスプレイ１０６に表示する。
【０１０８】
メッセージ１４０１によって、作業者Ｗは、発情した家畜Ａがどこにいるのかの目星をつけることができる。したがって、作業者Ｗは、発情した家畜Ａを探すにあたり、探すべき範囲を絞り込むことができ、発情した家畜Ａを探す際の作業負荷や要する時間を低減することができる。
【０１０９】
また、発情報知装置１０４は、クライアント装置１０５に、発情した家畜Ａの周囲にいて発情の兆候を示している他の家畜Ａに装着された通信機１０１の通信機識別情報も送信する。クライアント装置１０５は、発情の兆候を示している他の家畜Ａに装着された通信機１０１の通信機識別情報を受信すると、この通信機識別情報を示唆する内容が含まれたメッセージ１４０１を表示してもよい。例えば、通信機ＩＤ「Ｇ０１」の通信機１０１を装着して発情した家畜Ａの周囲に、通信機ＩＤ「Ｇ０３」の通信機１０１を装着して発情の兆候を示している家畜Ａがいたとする。この場合、クライアント装置１０５は、「中継機ＩＤ「Ｂ１」の中継機付近にいる通信機「Ｇ０３」を装着した家畜も、発情する可能性があります。」といったメッセージ１４０１をディスプレイ１０６に表示する。これにより、発情した家畜Ａの確認作業と合わせて確認できる、発情する可能性がある他の家畜Ａについての作業者Ｗの確認作業を促すことができる。
【０１１０】
また、ディスプレイ１０６には、設置位置情報により特定される地点を作業者Ｗに示唆する設置位置画像１４０２が表示される。例えば、ここで、設置位置画像１４０２は、地図画像Ｍｐと、地点画像Ｐとを有する。ここで、地図画像Ｍｐは、設置位置情報により特定される地点を含む所定範囲の地図を表す画像である。地点画像Ｐは、地図画像Ｍｐ上において、設置位置情報により特定される地点を表す画像である。図１４に示すように、設置位置画像１４０２は、地図画像Ｍｐ上に地点画像Ｐを重層表示した画像となっている。
【０１１１】
さらに、クライアント装置１０５は、中継機１０２の通信エリアを表す通信エリア画像Ｅを表示してもよい。例えば、ここで、通信エリア画像Ｅは、設置位置情報により特定される地点を含む所定範囲を表す画像である。通信エリア画像Ｅは、中継機１０２の通信エリアを厳密に表している必要はない。例えば、通信エリア画像Ｅは、設置位置情報により特定される地点を中心に半径１５０ｍの範囲を表す画像などであってよい。
【０１１２】
例えば、クライアント装置１０５が地図データを記憶している場合、クライアント装置１０５は記憶している地図データと受信した設置位置情報とに基づいて、設置位置画像１４０２を表示するための画像データを生成する。また、発情報知装置１０４が地図データを記憶している場合、発情報知装置１０４は記憶している地図データと設置位置情報とに基づいて、設置位置画像１４０２を表示するための画像データを生成して、生成した画像データをクライアント装置１０５に送信するようにしてもよい。
【０１１３】
設置位置画像１４０２によって、中継機ＩＤから中継機１０２の位置がわからないような熟練度の低い作業者Ｗであっても、作業者Ｗは追跡対象の通信機１０１を装着した家畜Ａがどこにいるのかの目星をつけることができる。したがって、作業者Ｗは、追跡対象の通信機１０１を装着した家畜Ａを探すにあたり、探すべき範囲を絞り込むことができ、家畜Ａを探す際の作業負荷や要する時間を低減することができる。
【０１１４】
また、クライアント装置１０５は、家畜Ａの発情兆候フラグをＯＦＦに設定するためのフラグ解除ボタンをディスプレイ１０６に表示することにしてもよい。例えば、クライアント装置１０５は、作業者Ｗによりフラグ解除ボタンが押下されると、家畜Ａの発情兆候フラグをＯＦＦに設定するためのフラグ解除要求を発情報知装置１０４に送信する。発情報知装置１０４は、フラグ解除要求を受信することにより、フラグ解除操作を受け付けたと判断して家畜Ａの発情兆候フラグをＯＦＦに設定することができる。
【０１１５】
（通信機の処理手順）
つぎに、通信機１０１の処理手順について説明する。図１５は、通信機１０１の処理手順の一例を示すフローチャートである。図１５のフローチャートにおいて、まず、通信機１０１は、センサ３０４により通信機１０１に所定値以上の加速度が生じたかを判定する（ステップＳ１５０１）。通信機１０１は、所定値以上の加速度が生じていないと判定した場合（ステップＳ１５０１：Ｎｏ）、ステップＳ１５０３の処理へ移行する。
【０１１６】
また、通信機１０１は、所定値以上の加速度が生じたと判定した場合（ステップＳ１５０１：Ｙｅｓ）、現在の計測値を「＋１」カウントアップする（ステップＳ１５０２）。これにより、通信機１０１は、家畜Ａが歩行することにより通信機１０１に加速度が生じるたびに、現在の計測値を＋１ずつ累積していくことができる。つぎに、通信機１０１は、計測結果情報の送信タイミングになったかを判定する（ステップＳ１５０３）。例えば、上述したように、通信機１０１は、タイマ３０５により計時された時刻が所定時刻となったときに計測結果情報の送信タイミングになったと判定する。
【０１１７】
また、ステップＳ１５０３において、通信機１０１は設定している送信間隔ごとに異なる条件を用いて、計測結果情報の送信タイミングと判定する。具体的に、通信機１０１は、送信間隔を１時間間隔に設定している場合、タイマ３０５により計時された時刻が「０時００分」、「１時００分」…といったように、１時間間隔の所定時刻となったときに送信タイミングになったと判定する。
【０１１８】
一方、通信機１０１は、送信間隔を１０分間間隔に設定している場合、タイマ３０５により計時された時刻が「０時１０分」、「０時２０分」…といったように、１０分間間隔の所定時刻となったときに計測結果情報の送信タイミングになったと判定する。さらに、通信機１０１は、送信間隔を１分間間隔に設定している場合、タイマ３０５により計時された時刻が「０時０１分」、「０時０２分」…といったように、１分間間隔の所定時刻となったときに計測結果情報の送信タイミングになったと判定する。
【０１１９】
通信機１０１は、計測結果情報の送信タイミングになったと判定した場合（ステップＳ１５０３：Ｙｅｓ）、今回の計測結果情報の送信タイミングにおける日時と、現在の計測値とを関連づけた計測結果情報を計測結果情報テーブル２０１に記憶する（ステップＳ１５０４）。これにより、通信機１０１は、計測結果情報の送信タイミングとなるたびに、その時点における計測値を記憶することができる。
【０１２０】
そして、通信機１０１は、計測結果情報テーブル２０１に記憶された各計測結果情報および自機の通信機識別情報を中継機１０２に送信して（ステップＳ１５０５）、ステップＳ１５０６の処理へ移行する。これにより、通信機１０１は、所定の送信間隔で計測結果情報を送信することができる。
【０１２１】
なお、上述したように、中継機１０２は通信機１０１から計測結果情報および通信機識別情報を受信すると、受信した計測結果情報および通信機識別情報と、自装置の中継機識別情報とを、ネットワーク２２０を介して、発情報知装置１０４へ送信する。
【０１２２】
また、ステップＳ１５０３において、通信機１０１は、計測結果情報の送信タイミングになっていないと判定した場合（ステップＳ１５０３：Ｎｏ）、そのままステップＳ１５０６へ移行する。つぎに、通信機１０１は、中継機１０２から計測結果情報の送信間隔の変更指示を受信したかを判定する（ステップＳ１５０６）。送信間隔の変更指示を受信していない場合には（ステップＳ１５０６：Ｎｏ）、本フローチャートによる一連の処理を終了する。
【０１２３】
通信機１０１は、送信間隔の変更指示を受信した場合（ステップＳ１５０６：Ｙｅｓ）、受信した変更指示に応じた送信間隔に設定して（ステップＳ１５０７）、本フローチャートによる一連の処理を終了する。これにより、通信機１０１は、受信した変更指示に応じた送信間隔に変更することができる。
【０１２４】
また、通信機１０１は、所定のタイミングで計測値を「０」にリセットするようにしてもよい。例えば、通信機１０１は、所定時刻になったとき、例えば、毎日「０時００分」となったときに、計測値を「０」にリセットする。さらに、通信機１０１は、中継機１０２を介して、発情報知装置１０４から計測値を「０」にリセットする指示を受信した場合に、計測値を「０」にリセットしてもよい。
【０１２５】
（発情報知装置の処理手順）
つぎに、発情報知装置１０４の処理手順について説明する。図１６は、発情報知装置１０４の処理手順の一例を示すフローチャート（その１）である。例えば、発情報知装置１０４は、歩数ＤＢ２０２において「１」、すなわちＯＮに設定された発情予兆フラグおよび発情兆候フラグがないときに、図１６のフローチャートで示す処理を行う。
【０１２６】
図１６のフローチャートにおいて、まず、発情報知装置１０４は、計測結果情報、通信機識別情報および中継機識別情報を中継機１０２から受信したかを判定する（ステップＳ１６０１）。そして、発情報知装置１０４は、計測結果情報、通信機識別情報および中継機識別情報を受信するまで待つ（ステップＳ１６０１：Ｎｏ）。
【０１２７】
発情報知装置１０４は、計測結果情報、通信機識別情報および中継機識別情報を受信すると（ステップＳ１６０１：Ｙｅｓ）、受信した通信機識別情報および中継機識別情報に基づいて、送信元ＤＢ２０３の記憶内容を更新する（ステップＳ１６０２）。例えば、ステップＳ１６０２において、発情報知装置１０４は、受信した通信機識別情報が表す通信機ＩＤと、受信した中継機識別情報が表す中継機ＩＤとを関連づけた送信元中継機情報を送信元ＤＢ２０３に記憶する。
【０１２８】
つぎに、発情報知装置１０４は、ステップＳ１６０１で受信した通信機識別情報と計測結果情報とに基づいて、家畜Ａの歩数を算出し、算出した歩数を歩数ＤＢ２０２に記憶する（ステップＳ１６０３）。上述したように、ステップＳ１６０３において、発情報知装置１０４は、受信した通信機識別情報と計測結果情報とに基づいて、通信機１０１ごとに歩数を算出して、算出した歩数を記憶する。なお、受信した計測結果情報に基づく家畜Ａの歩数の算出については図６などを用いて説明したため、ここでの説明は省略する。
【０１２９】
つぎに、発情報知装置１０４は、ステップＳ１６０１で受信した通信機識別情報に対して歩数ＤＢ２０２に記憶された歩数のうち、直近に計測された２つの時間帯における歩数のそれぞれが、閾値ＤＢ２０５により定めた閾値以上であるかを判定する（ステップＳ１６０４）。
【０１３０】
発情報知装置１０４は、直近に計測された２つの時間帯における歩数のそれぞれが閾値以上であると判定した場合（ステップＳ１６０４：Ｙｅｓ）、現在の日時および曜日を取得する（ステップＳ１６０５）。例えば、発情報知装置１０４は、現在の日時および曜日を、自装置が有する時計機能により取得してもよいし、ネットワーク２２０を介して、例えばＮＴＰ（Ｎｅｔｗｏｒｋ  Ｔｉｍｅ  Ｐｒｏｔｏｃｏｌ）などにより取得してもよい。さらに、発情報知装置１０４は、受信した計測結果情報に含まれた計測日時のうち、最後の計測日時を現在の日時として取得してもよい。
【０１３１】
発情報知装置１０４は、現在の日時および曜日を取得すると、作業時間帯ＤＢ２０６から、取得した曜日により特定される作業時間帯情報を取得する（ステップＳ１６０６）。また、上述したように、発情報知装置１０４は、取得する作業時間帯情報を特定する際に受信した通信機識別情報を用いてもよい。これにより、発情報知装置１０４は、通信機１０１ごとに、通信機１０１を管理する作業者Ｗに応じた作業時間帯情報を取得することができる。
【０１３２】
つぎに、発情報知装置１０４は、取得した現在の日時および作業時間帯情報から、現時点が作業時間帯に含まれるか否かを判定する（ステップＳ１６０７）。また、上述したように、発情報知装置１０４は、ステップＳ１６０１で受信した通信機識別情報に基づいて、今回の計測結果情報を送信した作業者Ｗに応じて作業時間帯であるかを判定してもよい。現時点が作業時間帯でなければ（ステップＳ１６０７：Ｎｏ）、発情報知装置１０４は、本フローチャートによる一連の処理を終了する。
【０１３３】
一方、発情報知装置１０４は、現時点が作業時間帯であれば（ステップＳ１６０７：Ｙｅｓ）、発情予兆フラグを「１」に設定し、発情予兆フラグのフラグＯＮ日時を記憶する（ステップＳ１６０８）。例えば、発情報知装置１０４は、受信した計測結果情報の中で現在に直近の計測日時をフラグＯＮ日時として記憶する。また、例えば、発情報知装置１０４は、現在の日時を取得して、取得した現在の日時をフラグＯＮ日時として記憶してもよい。
【０１３４】
つぎに、発情報知装置１０４は、１時間間隔から１０分間間隔へ変更させる変更指示を中継機１０２に送信し（ステップＳ１６０９）、本フローチャートによる一連の処理を終了する。また、ステップＳ１６０４において閾値以上でないと判定した場合（ステップＳ１６０４：Ｎｏ）、発情報知装置１０４は、そのまま本フローチャートによる一連の処理を終了する。
【０１３５】
図１７は、発情報知装置１０４の処理手順の一例を示すフローチャート（その２）である。例えば、発情報知装置１０４は、歩数ＤＢ２０２において「１」、すなわちＯＮに設定された発情予兆フラグがある場合に、図１７のフローチャートで示す処理を行う。
【０１３６】
図１７のフローチャートにおいて、まず、発情報知装置１０４は、計測結果情報、通信機識別情報および中継機識別情報を中継機１０２から受信したかを判定する（ステップＳ１７０１）。そして、発情報知装置１０４は、計測結果情報、通信機識別情報および中継機識別情報を受信するまで待つ（ステップＳ１７０１：Ｎｏ）。
【０１３７】
発情報知装置１０４は、計測結果情報、通信機識別情報および中継機識別情報を受信すると（ステップＳ１７０１：Ｙｅｓ）、受信した通信機識別情報および中継機識別情報に基づいて、ステップＳ１６０２と同様に、送信元ＤＢ２０３の記憶内容を更新する（ステップＳ１７０２）。
【０１３８】
つぎに、発情報知装置１０４は、受信した中継機識別情報と中継機ＤＢ２０４とに基づいて、今回受信した計測結果情報の送信元の中継機１０２の設置位置情報を取得する（ステップＳ１７０３）。ステップＳ１７０３において、発情報知装置１０４は、中継機ＤＢ２０４の中から、受信した中継機識別情報の中継機ＩＤと関連づけられた設置位置情報を取得する。
【０１３９】
つぎに、発情報知装置１０４は、ステップＳ１７０１で受信した中継機識別情報およびステップＳ１７０３で取得した設置位置情報をクライアント装置１０５へ送信する（ステップＳ１７０４）。そして、発情報知装置１０４は、受信した計測結果情報に基づいて、この計測結果情報を送信した通信機１０１が装着された家畜Ａの歩数を算出し、算出した歩数を歩数積算テーブル１１００に記憶する（ステップＳ１７０５）。
【０１４０】
つぎに、発情報知装置１０４は、１０分間間隔で送信された計測結果情報に基づいて、１時間あたりの歩数が算出可能かを判定する（ステップＳ１７０６）。例えば、ステップＳ１７０６において、発情報知装置１０４は、歩数積算テーブル１１００に６つの積算対象歩数が記憶されているかを判定する。６つの積算対象歩数が記憶されている場合、発情報知装置１０４は、１時間あたりの歩数が算出可能であると判定する。１時間あたりの歩数が算出可能でなければ（ステップＳ１７０６：Ｎｏ）、発情報知装置１０４は、ステップＳ１７０１の処理へ移行する。
【０１４１】
発情報知装置１０４は、１時間あたりの歩数が算出可能と判定した場合（ステップＳ１７０６：Ｙｅｓ）、歩数積算テーブル１１００に記憶された６つの積算対象歩数を積算して１時間あたりの歩数を算出し、算出した歩数を歩数ＤＢ２０２に記憶する（ステップＳ１７０７）。これによって、発情報知装置１０４は、１０分間の送信間隔で送信される計測結果情報から、１時間あたりの歩数を算出して、この歩数を歩数ＤＢ２０２に記憶することができる。
【０１４２】
つぎに、発情報知装置１０４は、ステップＳ１６０７で算出した１時間あたりの歩数が閾値ＤＢ２０５で定めた閾値以上であるかを判定する（ステップＳ１７０８）。閾値以上であると判定した場合（ステップＳ１７０８：Ｙｅｓ）、発情報知装置１０４は、発情兆候フラグを「１」、すなわちＯＮに設定して、フラグＯＮ日時を記憶する（ステップＳ１７０９）。そして、発情報知装置１０４は、送信間隔を１０分間間隔から１分間間隔に変更するよう指示する変更指示を、中継機１０２を介して通信機１０１に送信し（ステップＳ１７１０）、本フローチャートによる一連の処理を終了する。
【０１４３】
一方、ステップＳ１７０７で算出した１時間あたりの歩数が閾値以上でないと判定した場合（ステップＳ１７０８：Ｎｏ）、発情報知装置１０４は、発情予兆フラグを「０」、すなわちＯＦＦに設定する（ステップＳ１７１１）。そして、発情報知装置１０４は、送信間隔を１０分間間隔から１時間間隔に変更するよう指示する変更指示を、中継機１０２を介して通信機１０１に送信し（ステップＳ１７１２）、本フローチャートによる一連の処理を終了する。なお、例えば、発情報知装置１０４は、ステップＳ１７１１で発情予兆フラグをＯＦＦに設定すると、歩数積算テーブル１１００の記憶内容をクリアする。
【０１４４】
図１８は、発情報知装置１０４の処理手順の一例を示すフローチャート（その３）である。例えば、発情報知装置１０４は、歩数ＤＢ２０２において「１」、すなわちＯＮに設定された発情兆候フラグがある場合、図１８のフローチャートで示す処理を行う。
【０１４５】
図１８のフローチャートにおいて、まず、発情報知装置１０４は、計測結果情報、通信機識別情報および中継機識別情報を中継機１０２から受信したかを判定する（ステップＳ１８０１）。そして、発情報知装置１０４は、計測結果情報、通信機識別情報および中継機識別情報を受信するまで待つ（ステップＳ１８０１：Ｎｏ）。
【０１４６】
発情報知装置１０４は、計測結果情報、通信機識別情報および中継機識別情報を受信したら（ステップＳ１８０１：Ｙｅｓ）、ステップＳ１６０５と同様に現在の日時および曜日を取得して、現在の日時が、作業時間帯ＤＢ２０６において作業余裕時間ありと設定された時間帯であるかを判定する（ステップＳ１８０２）。
【０１４７】
発情報知装置１０４は、作業余裕時間がないと設定された時間帯であれば（ステップＳ１８０２：Ｎｏ）、受信した通信機識別情報および中継機識別情報に基づいて、ステップＳ１７０２などと同様に、送信元ＤＢ２０３の記憶内容を更新する（ステップＳ１８０３）。つぎに、発情報知装置１０４は、受信した中継機識別情報と中継機ＤＢ２０４とに基づいて、ステップＳ１７０３と同様に、今回受信した計測結果情報の送信元の中継機１０２の設置位置情報を取得する（ステップＳ１８０４）。
【０１４８】
つぎに、発情報知装置１０４は、ステップＳ１８０１で受信した通信機識別情報や中継機識別情報、ステップＳ１８０４で取得した設置位置情報を、ネットワーク２２０を介して、クライアント装置１０５へ送信する（ステップＳ１８０５）。なお、ステップＳ１８０５では、発情報知装置１０４は、歩数ＤＢ２０２などを参照して、通信機識別情報の通信機ＩＤから家畜ＩＤを特定し、家畜ＩＤを作業者Ｗに送信するようにしてもよい。
【０１４９】
つぎに、発情報知装置１０４は、作業者Ｗによる発情兆候フラグをＯＦＦに設定するためのフラグ解除操作を受け付けたかを判定する（ステップＳ１８０６）。発情報知装置１０４は、フラグ解除操作を受け付けていなければ（ステップＳ１８０６：Ｎｏ）、ステップＳ１８０１の処理へ移行して、上述した各ステップの処理を繰り返す。
【０１５０】
フラグ解除操作を受け付けたら（ステップＳ１８０６：Ｙｅｓ）、発情報知装置１０４は、ＯＮに設定している発情兆候フラグをＯＦＦに設定して（ステップＳ１８０７）、送信間隔を１分間間隔から１時間間隔に変更するよう指示する変更指示を、中継機１０２を介して通信機１０１に送信し（ステップＳ１８０８）、本フローチャートによる一連の処理を終了する。これによって、発情報知装置１０４は、作業者Ｗの操作に応じて、通信機１０１の送信間隔を１時間間隔に戻すことができ、通信機１０１の電池消耗を抑えることができる。
【０１５１】
また、発情報知装置１０４は、ステップＳ１７０７と同様に、１分間間隔で送信される計測結果情報に基づいて、１時間あたりの歩数を算出し、算出した１時間あたりの歩数を歩数ＤＢ２０２に記憶してもよい。これにより、発情報知装置１０４は、通信機１０１に１分間間隔で計測結果情報を送信させている場合も、１０分間間隔で計測結果情報を送信させている場合と同様に歩数を算出して歩数ＤＢ２０２に記憶することができる。
【０１５２】
一方、発情報知装置１０４は、作業余裕時間ありと設定された時間帯であれば（ステップＳ１８０２：Ｙｅｓ）、発情兆候フラグがＯＮに設定された家畜Ａと同じ群れの家畜Ａの中で、発情予兆フラグがＯＮの他の家畜Ａがいるかを判定する（ステップＳ１８０９）。例えば、ステップＳ１８０９において、発情報知装置１０４は、送信元ＤＢ２０３を参照して、ステップＳ１８０１で受信した中継機識別情報が表す中継機ＩＤと、同一の中継機ＩＤが送信元中継機ＩＤとして対応付けられた通信機ＩＤを特定する。発情報知装置１０４は、通信機ＩＤを特定したら、歩数ＤＢ２０２を参照し、特定した各々の通信機ＩＤに対して発情予兆フラグがＯＮに設定されているかを判定する。ステップＳ１８０９の処理によって、発情報知装置１０４は、発情兆候フラグがＯＮに設定された家畜Ａ、すなわち、発情したと判定した家畜Ａの周囲に、近々発情する可能性のある他の家畜Ａがいるか否かを判定することができる。他の家畜Ａがいなければ（ステップＳ１８０９：Ｎｏ）、発情報知装置１０４は、ステップＳ１８０３の処理へ移行する。
【０１５３】
他の家畜Ａがいれば（ステップＳ１８０９：Ｙｅｓ）、発情報知装置１０４は、受信した通信機識別情報および中継機識別情報に基づいて、ステップＳ１８０３などと同様に、送信元ＤＢ２０３の記憶内容を更新する（ステップＳ１８１０）。つぎに、発情報知装置１０４は、受信した家畜番号と中継機識別情報と中継機ＤＢ２０４とに基づいて、ステップＳ１８０４と同様に、今回受信した計測結果情報の送信元の中継機１０２の設置位置情報を取得する（ステップＳ１８１１）。
【０１５４】
つぎに、発情報知装置１０４は、ステップＳ１８０１で受信した通信機識別情報や中継機識別情報、ステップＳ１８１１で取得した設置位置情報を、ネットワーク２２０を介して、クライアント装置１０５へ送信し（ステップＳ１８１２）、ステップＳ１８０６の処理へ移行する。なお、ステップＳ１８１２において、発情報知装置１０４は、ステップＳ１８０９で特定した他の家畜Ａに装着された通信機１０１の通信機識別情報もクライアント装置１０５へ送信する。ステップＳ１８１２の処理によって、発情報知装置１０４は、作業余裕時間において、発情した家畜Ａとともに、発情した家畜Ａの周囲にいる近々発情する可能性がある家畜Ａを作業者Ｗに通知することができる。
【０１５５】
なお、ステップＳ１８１２では、ステップＳ１８０５と同様に、発情報知装置１０４は、歩数ＤＢ２０２などを参照して、各通信機ＩＤから各家畜ＩＤを特定し、各家畜ＩＤを作業者Ｗに送信するようにしてもよい。
【０１５６】
また、上述した例では、家畜Ａの歩数が所定条件を満たさなくなった場合や、フラグ解除操作を受け付けた場合に、発情予兆フラグや発情兆候フラグをＯＦＦに設定し、送信間隔を１時間間隔に変更するよう指示する変更指示を送信したがこれに限らない。例えば、発情報知装置１０４は、発情予兆フラグや発情兆候フラグをＯＮに設定しているときに図１９に示すフローチャートの処理を行ってもよい。
【０１５７】
図１９は、発情報知装置１０４の処理手順の一例を示すフローチャート（その４）である。図１９に示すフローチャートにおいて、発情報知装置１０４は、まず、発情予兆フラグまたは発情兆候フラグがＯＮであるかを判定する（ステップＳ１９０１）。そして、発情報知装置１０４は、発情予兆フラグまたは発情兆候フラグがＯＮとなるまで待つ（ステップＳ１９０１：Ｎｏ）。
【０１５８】
発情予兆フラグまたは発情兆候フラグがＯＮとなれば（ステップＳ１９０１：Ｙｅｓ）、発情報知装置１０４は、現在の日時および曜日を取得する（ステップＳ１９０２）。つぎに、発情報知装置１０４は、作業時間帯ＤＢ２０６から、取得した曜日により特定される作業時間帯情報を取得する（ステップＳ１９０３）。
【０１５９】
つぎに、発情報知装置１０４は、取得した現在の日時および作業時間帯情報から、現時点が作業時間帯に含まれるか否かを判定する（ステップＳ１９０４）。現時点が作業時間帯に含まれる場合（ステップＳ１９０４：Ｙｅｓ）、発情報知装置１０４は、本フローチャートによる一連の処理を終了する。現時点が作業時間帯に含まれない場合（ステップＳ１９０４：Ｎｏ）、発情報知装置１０４は、発情予兆フラグおよび発情兆候フラグがＯＦＦに設定する（ステップＳ１９０５）。
【０１６０】
つぎに、発情報知装置１０４は、送信間隔を１時間間隔に変更するよう指示する変更指示を、中継機１０２を介して通信機１０１に送信し（ステップＳ１９０６）、本フローチャートによる一連の処理を終了する。例えば、ステップＳ１９０６において、発情報知装置１０４は、すべての通信機１０１に対して変更指示を送信する。また、ステップＳ１９０６において、発情報知装置１０４は、歩数ＤＢ２０２から発情予兆フラグまたは発情兆候フラグがＯＮに設定された通信機１０１を特定し、特定した通信機１０１に対して変更指示を送信してもよい。
【０１６１】
これによって、発情報知装置１０４は、通信機１０１の送信間隔を短縮させた際には作業時間帯であったものの、その後、送信間隔を短縮させている間に作業者Ｗの作業時間帯外になってしまった場合に、通信機１０１の送信間隔を１時間間隔に戻すことができる。したがって、発情報知装置１０４は、通信機１０１の電池消耗を抑えることができる。例えば、図１９に示す処理は、現時点が夜間であるなどして、今後、しばらく作業者Ｗが作業に従事できない場合に特に有効である。このため、例えば、発情報知装置１０４は、１日の最後の作業時間帯の終了時に、図１９のフローチャートに示す処理を行ってもよい。
【０１６２】
また、図１９のフローチャートにより示した処理で、発情報知装置１０４は、発情予兆フラグおよび発情兆候フラグをＯＦＦに設定する前に、現在の発情予兆フラグおよび発情兆候フラグの設定をＲＡＭ５０３や磁気ディスク５０５などにバックアップしてもよい。そして、発情報知装置１０４は、上記によりバックアップした情報に基づいて、作業時間帯に復帰した際に発情予兆フラグおよび発情兆候フラグをＯＮに設定し、フラグに応じた変更指示を通信機１０１に送信してもよい。これによって、発情報知装置１０４は、再度、作業時間帯となった場合に、作業者Ｗによる家畜Ａの追跡を支援することができ、作業者Ｗの作業負担を低減することができる。
【０１６３】
以上に説明したように、本実施の形態にかかる発情報知装置１０４は、発情した家畜Ａを検知した際に、作業者Ｗの作業時間帯であれば発情した家畜Ａの周囲に近々発情する可能性のある他の家畜Ａがいるかを判定する。そして、発情した家畜Ａの周囲に近々発情する可能性のある他の家畜Ａがいれば、発情報知装置１０４は、発情した家畜Ａおよび近々発情する可能性のある他の家畜Ａの識別情報を作業者Ｗに通知する。
【０１６４】
これにより、発情報知装置１０４によれば、家畜Ａが発情したとしても作業時間外であるなどして、作業者Ｗがすぐに発情した家畜Ａの元へ赴けない場合は、必要最低限の情報を通知して、誤判定による悪影響を極力防止することができる。そして、発情報知装置１０４は、作業者Ｗの煩わしさを抑えたり、作業者Ｗが消耗してしまうことを抑えたりすることができる。
【０１６５】
また、発情報知装置１０４は、作業者Ｗの作業時間帯であり、作業者Ｗが発情した家畜Ａの元へ赴くことができる場合には、発情した家畜Ａの確認作業と合わせて確認できる他の家畜Ａに対しても、作業者の確認作業を促すことができる。これにより、発情した家畜Ａだけでなく、発情の可能性がある他の家畜Ａの状態を作業者Ｗに確認させて、他の家畜Ａの発情の兆候を早く気づかせることができる。
【０１６６】
また、発情報知装置１０４によれば、家畜Ａの異常状態を検知し、且つ、現時点が作業時間帯に含まれる場合に、通信機１０１の計測結果情報の送信間隔を短縮させることができる。そして、発情報知装置１０４によれば、短縮された送信間隔で計測結果情報を受信するたびに、受信した計測結果情報を中継した中継機１０２の中継機ＩＤを作業者Ｗに通知することができる。
【０１６７】
これにより、発情報知装置１０４は、家畜Ａの異常状態を検知していない場合や現時点が作業時間帯でない場合、通信機１０１の計測結果情報の送信頻度を少なくすることができ、通信機１０１の電池消耗を抑え、作業者Ｗの作業負担を低減させることができる。
【０１６８】
また、発情報知装置１０４は、家畜Ａの異常状態を検知し、且つ、作業時間帯である場合、家畜Ａがいる位置の目安となる中継機識別情報を作業者Ｗに通知する間隔を短縮することができる。これによって、発情報知装置１０４は、作業者Ｗによる異常状態の家畜Ａの追跡を支援して、作業者Ｗの作業負担を低減させることができる。
【０１６９】
また、発情報知装置１０４によれば、家畜Ａの発情を検知し、且つ、作業者Ｗの作業時間帯である場合に、通信機１０１の計測結果情報の送信間隔を短縮させることができる。そして、発情報知装置１０４によれば、短縮された送信間隔で計測結果情報を受信するたびに、受信した計測結果情報を中継した中継機１０２の中継機ＩＤを作業者Ｗに通知することができる。これにより、発情報知装置１０４は、通信機１０１の電池消耗を抑えつつ、作業者Ｗによる発情した家畜Ａの追跡を支援することができる。
【０１７０】
さらに、発情報知装置１０４によれば、順次計測された異なる時間帯におけるそれぞれの歩数に基づいて、家畜Ａが発情しているかを判定することができる。これにより、発情報知装置１０４は、家畜Ａの発情の検知精度を高めることができ、誤判定により作業者Ｗに生じる作業負担を低減することができる。
【０１７１】
そして、発情報知装置１０４によれば、家畜Ａが発情していると検知した場合に、さらに通信機１０１の計測結果情報の送信間隔を短縮させることができる。これにより、発情報知装置１０４は、計測結果情報の送信間隔内で家畜Ａが移動可能な距離を短くすることができ、作業者Ｗによる発情した家畜Ａの追跡を支援することができる。
【０１７２】
また、発情報知装置１０４によれば、家畜Ａの発情が誤判定であると判定した場合に、通信機１０１の送信間隔を短縮された送信間隔から通常時の送信間隔に復帰させることができる。これにより、発情報知装置１０４は、通信機１０１の電池消耗を抑えて、作業者Ｗの作業負担を低減させることができる。
【０１７３】
さらに、発情報知装置１０４によれば、中継機１０２の設置位置を表す設置位置情報を作業者Ｗに通知することができる。これにより、発情報知装置１０４は、作業者Ｗによる家畜Ａの位置把握を容易にすることができ、家畜Ａの追跡の支援を図ることができる。
【０１７４】
なお、本実施の形態で説明した発情報知方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーションなどのコンピュータで実行することにより実現することができる。本発情報知プログラムは、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、本発情報知プログラムは、インターネットなどのネットワークを介して配布してもよい。
【符号の説明】
【０１７５】
１０１  通信機
１０２  中継機
１０４  発情報知装置
１０５  クライアント装置
【図１】
0005846297.tif 000002
【図２】
0005846297.tif 000003
【図３】
0005846297.tif 000004
【図４】
0005846297.tif 000005
【図５】
0005846297.tif 000006
【図６】
0005846297.tif 000007
【図７】
0005846297.tif 000008
【図８】
0005846297.tif 000009
【図９】
0005846297.tif 000010
【図１０】
0005846297.tif 000011
【図１１】
0005846297.tif 000012
【図１２】
0005846297.tif 000013
【図１３】
0005846297.tif 000014
【図１４】
0005846297.tif 000015
【図１５】
0005846297.tif 000016
【図１６】
0005846297.tif 000017
【図１７】
0005846297.tif 000018
【図１８】
0005846297.tif 000019
【図１９】
0005846297.tif 000020