(57)【要約】      （修正有）【課題】電池モジュール間で識別子が重複していることを効率的に検出する。【解決手段】第１通信網３０２０は、各電池モジュール２０００−１〜２００−３を互いに通信可能に接続する。第２通信網３０４０は線形トポロジで構成される。各電池モジュールは、第２通信網上で隣接する他の電池モジュールと通信可能である。識別子情報送信部２０２０は、第１通信網を介して、他の全ての電池モジュールへ識別子情報を送信する。識別子情報受信部２０４０は、第１通信網を介して識別子情報を受信する。第１通知実行部２０６０は、第２通信網を介して第１通知を行う。第１通知検出部２０８０は、第２通信網を介して第１通知を検出する。判定部２１００は、当該電池モジュールの第１識別子が、他の電池モジュールの第１識別子と重複しているか否かを判定する。【選択図】図１
2018006940.tif 000002
【特許請求の範囲】
【請求項１】
複数の電池モジュールを有する情報処理システムであって、
各前記電池モジュールは、第１通信網によって他の全ての前記電池モジュールと通信可能であり、
各前記電池モジュールは、線形トポロジを構成する第２通信網を介して他の前記電池モジュールと通信可能であり、
前記電池モジュールは、
前記第１通信網を介し、他の全ての前記電池モジュールに対して識別子情報を送信する識別子情報送信手段を有し、
前記識別子情報は、その電池モジュールに設定されている前記第１通信網上の第１識別子を示すか、又はその電池モジュールに前記第１識別子が設定されていないことを示し、
他の前記電池モジュールによって送信された前記識別子情報を受信する識別子情報受信手段と、
前記第２通信網を介して、前記第２通信網上の第１方向において隣接する他の前記電池モジュールに対して第１通知を行う第１通知実行手段と、
前記第２通信網上の第２方向において隣接する他の前記電池モジュールによって行われる前記第１通知を検出する第１通知検出手段と、
全ての前記複数の電池モジュールの識別子情報送信手段によって識別子情報が送信されたことに応じ、他の各電池モジュールから受信した前記識別子情報を用いて、当該電池モジュールの前記第１識別子が、他の各電池モジュールの前記第１識別子と重複しているか否かを判定する判定手段と、を有し、
第１の前記電池モジュールの前記識別子情報送信手段は、当該第１の電池モジュールの前記第１通知検出手段によって前記第１通知が検出されたこと以外の所定の事象に応じて、前記識別子情報を送信し、
第１の前記電池モジュール以外の各前記電池モジュールの前記識別子情報送信手段は、前記第１通知検出手段によって前記第１通知が検出されたことに応じて、前記識別子情報を送信する、情報処理システム。
【請求項２】
前記電池モジュールは、その電池モジュールの前記第１識別子が他の前記電池モジュールの前記第１識別子と重複していると判定した場合に、所定のルールに従ってその電池モジュールの前記第１識別子を他の前記電池モジュールと重複しない値に決定する第１識別子決定手段を有する、請求項１に記載の情報処理システム。
【請求項３】
前記所定のルールは、前記電池モジュールが識別子情報を送信した時点又は前記電池モジュールの製造番号に基づいて、その電池モジュールに設定する前記第１識別子を決定するルールである、請求項２に記載の情報処理システム。
【請求項４】
前記電池モジュールは、
前記第２通信網を介して、前記第２通信網上の第２方向において隣接する他の前記電池モジュールに対して第２通知を行う第２通知実行手段と、
前記第２通信網上の第１方向において隣接する他の前記電池モジュールによって行われる前記第２通知を検出する第２通知検出手段と、を有し、
前記第２通信網において前記第１方向の終端に位置する第２の電池モジュールは、前記識別子情報を送信した後に、前記判定手段による前記判定と、前記第２通知実行手段による前記第２通知とを行い、
前記第２の電池モジュール以外の前記電池モジュールは、前記第２通知検出手段によって前記第２通知が検出されたことに応じて、前記判定手段による前記判定と、前記第２通知実行手段による前記第２通知とを行う、請求項２又は３に記載の情報処理システム。
【請求項５】
前記電池モジュールは、その電池モジュールの前記第１識別子が他の前記電池モジュールの前記第１識別子と重複していると判定した場合に警告を出力する変更手段を有する、請求項１に記載の情報処理システム。
【請求項６】
前記第１通知検出手段は、受信した前記識別子情報を識別子情報記憶手段に記憶させ、
前記判定手段は、前記識別子情報記憶手段に記憶されている識別子情報を利用する、請求項１乃至５いずれか一項に記載の情報処理システム。
【請求項７】
請求項１乃至６いずれか一項に記載の情報処理システムが有する電池モジュール。
【請求項８】
複数の電池モジュールを有する情報処理システムによって実行される制御方法であって、
各前記電池モジュールは、第１通信網によって他の全ての前記電池モジュールと通信可能であり、
各前記電池モジュールは、線形トポロジを構成する第２通信網を介して他の前記電池モジュールと通信可能であり、
前記電池モジュールが、前記第１通信網を介し、他の全ての前記電池モジュールに対して識別子情報を送信する識別子情報送信ステップを有し、
前記識別子情報は、その電池モジュールに設定されている前記第１通信網上の第１識別子を示すか、又はその電池モジュールに前記第１識別子が設定されていないことを示し、
前記電池モジュールが、他の前記電池モジュールによって送信された前記識別子情報を受信する識別子情報受信ステップと、
前記電池モジュールが、前記第２通信網を介して、前記第２通信網上の第１方向において隣接する他の前記電池モジュールに対して第１通知を行う第１通知実行ステップと、
前記電池モジュールが、前記第２通信網上の第２方向において隣接する他の前記電池モジュールによって行われる前記第１通知を検出する第１通知検出ステップと、
前記電池モジュールが、全ての前記複数の電池モジュールの識別子情報送信ステップによって識別子情報が送信されたことに応じ、他の各電池モジュールから受信した前記識別子情報を用いて、当該電池モジュールの前記第１識別子が、他の各電池モジュールの前記第１識別子と重複しているか否かを判定する判定ステップと、を有し、
第１の前記電池モジュールの前記識別子情報送信ステップでは、当該第１の電池モジュールの前記第１通知検出ステップにおいて前記第１通知が検出されたこと以外の所定の事象に応じて、前記識別子情報を送信し、
第１の前記電池モジュール以外の各前記電池モジュールの前記識別子情報送信ステップでは、前記第１通知検出ステップにおいて前記第１通知が検出されたことに応じて、前記識別子情報を送信する、制御方法。
【請求項９】
コンピュータに、請求項８に記載の制御方法の各ステップを実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は情報処理システム、電池モジュール、制御方法、及びプログラムに関する。
【背景技術】
【０００２】
蓄電池が様々な場面で利用されている。例えば蓄電池は、太陽光などの再生可能エネルギーを利用した発電によって得られた電力を蓄えるために利用される。
【０００３】
蓄電池には１つ以上の電池モジュールが含まれる。電池モジュールは、リチウムイオン電池などの二次電池を１つ以上まとめたものである。さらに電池モジュールには、他の電池モジュールと制御情報などのやりとりをするためのコントローラが内包されている。このコントローラは、BMU（Battery Management Unit）とも呼ばれる。電池モジュール間における通信は、例えば CAN（Controller Area Network）などの通信網を介して行われる。
【０００４】
通信網を介して制御情報などをやりとりする場合、各電池モジュールを識別するための識別子が必要となる。電池モジュールに識別子を設定する方法の１つとして、電池モジュールの管理者などが手動で識別子を設定するという方法がある。例えば、電池モジュールに、ディップスイッチなどの識別子設定用の回路を設けておく。そして、管理者が電池モジュールのディップスイッチなどを所望の設定に変更することで、所望の識別子を設定する。
【０００５】
特許文献１−３には、電池モジュールの識別子を自動で設定する技術が開示されている。特許文献１の発明では電池モジュールが直列につながれている。そしてこの発明では、各電池モジュールに対してその位置に応じた識別子が割り当てられる。例えば先頭の電池モジュールには「１」という識別子が割り当てられる。特許文献２及び３では、マスタとなる電池モジュールによって他の電池モジュールの識別子が決定され、他の電池モジュールに識別子が割り当てられる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１２−２４４７９４号公報
【特許文献２】特開２０１３−１０９６２８号公報
【特許文献３】特表２０１５−５０７４５１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
異なる電池モジュール間で識別子が重複している場合に、その重複を検出する必要がある。１つのネットワーク内に同じ識別子を持つ電池モジュールが複数存在すると、通信の衝突が発生し、正常な通信が行えなくなるためである。
【０００８】
通常、電池モジュールにはユニークな識別子が設定される。ところが実際には、電池モジュール間で識別子が重複してしまうことがある。例えば、電池モジュールの管理者が識別子の設定操作を誤った結果、異なる電池モジュールに同じ識別子が設定されてしまうことがある。また例えば、或るネットワークに含まれていた電池モジュールを別のネットワークへ移設した際に、その電池モジュールに設定されている識別子が、移設先のネットワークに含まれる他の電池モジュールの識別子と重複してしまうことがある。
【０００９】
前述の先行技術文献では、電池モジュールに設定されている識別子の重複については言及されていない。
【００１０】
本発明は、上記の課題に鑑みてなされたものである。本発明の目的は、電池モジュール間で識別子が重複していることを効率的に検出する技術を提供することである。
【課題を解決するための手段】
【００１１】
本発明の情報処理システムは複数の電池モジュールを有する。各前記電池モジュールは、第１通信網によって他の全ての前記電池モジュールと通信可能である。各前記電池モジュールは、線形トポロジを構成する第２通信網を介して他の前記電池モジュールと通信可能である。
前記電池モジュールは、（１）前記第１通信網を介し、他の全ての前記電池モジュールに対して識別子情報を送信する識別子情報送信手段を有する。前記識別子情報は、その電池モジュールに設定されている前記第１通信網上の第１識別子を示すか、又はその電池モジュールに前記第１識別子が設定されていないことを示す。
前記電池モジュールは、（２）他の前記電池モジュールによって送信された前記識別子情報を受信する識別子情報受信手段と、（３）前記第２通信網を介して、前記第２通信網上の第１方向において隣接する他の前記電池モジュールに対して第１通知を行う第１通知実行手段と、（４）前記第２通信網上の第２方向において隣接する他の前記電池モジュールによって行われる前記第１通知を検出する第１通知検出手段と、（５）全ての前記複数の電池モジュールの識別子情報送信手段によって識別子情報が送信されたことに応じ、他の各電池モジュールから受信した前記識別子情報を用いて、当該電池モジュールの前記第１識別子が、他の各電池モジュールの前記第１識別子と重複しているか否かを判定する判定手段と、を有する。
第１の前記電池モジュールの前記識別子情報送信手段は、当該第１の電池モジュールの前記第１通知検出手段によって前記第１通知が検出されたこと以外の所定の事象に応じて、前記識別子情報を送信する。第１の前記電池モジュール以外の各前記電池モジュールの前記識別子情報送信手段は、前記第１通知検出手段によって前記第１通知が検出されたことに応じて、前記識別子情報を送信する。
【００１２】
本発明の電池モジュールは、本発明の情報処理システムが有する電池モジュールである。
【００１３】
本発明の制御方法は、複数の電池モジュールを有する情報処理システムによって実行される制御方法である。
各前記電池モジュールは、第１通信網によって他の全ての前記電池モジュールと通信可能である。各前記電池モジュールは、線形トポロジを構成する第２通信網を介して他の前記電池モジュールと通信可能である。
当該制御方法は、（１）前記電池モジュールが、前記第１通信網を介し、他の全ての前記電池モジュールに対して識別子情報を送信する識別子情報送信ステップを有する。前記識別子情報は、その電池モジュールに設定されている前記第１通信網上の第１識別子を示すか、又はその電池モジュールに前記第１識別子が設定されていないことを示す。
さらに、当該制御方法は、（２）前記電池モジュールが、他の前記電池モジュールによって送信された前記識別子情報を受信する識別子情報受信ステップと、（３）前記電池モジュールが、前記第２通信網を介して、前記第２通信網上の第１方向において隣接する他の前記電池モジュールに対して第１通知を行う第１通知実行ステップと、（４）前記電池モジュールが、前記第２通信網上の第２方向において隣接する他の前記電池モジュールによって行われる前記第１通知を検出する第１通知検出ステップと、（５）前記電池モジュールが、全ての前記複数の電池モジュールの識別子情報送信ステップによって識別子情報が送信されたことに応じ、他の各電池モジュールから受信した前記識別子情報を用いて、当該電池モジュールの前記第１識別子が、他の各電池モジュールの前記第１識別子と重複しているか否かを判定する判定ステップと、を有する。
第１の前記電池モジュールの前記識別子情報送信ステップでは、当該第１の電池モジュールの前記第１通知検出ステップにおいて前記第１通知が検出されたこと以外の所定の事象に応じて、前記識別子情報を送信する。第１の前記電池モジュール以外の各前記電池モジュールの前記識別子情報送信ステップでは、前記第１通知検出ステップにおいて前記第１通知が検出されたことに応じて、前記識別子情報を送信する。
【００１４】
本発明のプログラムは、本発明の制御方法が有する各ステップをコンピュータに実行させる。
【発明の効果】
【００１５】
本発明によれば、電池モジュール間で識別子が重複していることを効率的に検出する技術が提供される。
【図面の簡単な説明】
【００１６】
【図１】実施形態１に係る情報処理システムを例示するブロック図である。
【図２】実施形態１の情報処理システムにおける処理の流れを例示するフローチャートである。
【図３】電池モジュールのハードウエア構成を例示する図である。
【図４】CAN 通信網における識別子情報のデータ構造を例示する図である。
【図５】識別子情報記憶部を有する電池モジュールを例示するブロック図である。
【図６】第２信号線を有する情報処理システムを例示するブロック図である。
【図７】第２通知の実行及び検出を行う機能を有する電池モジュール２０００を例示するブロック図である。
【図８】電池モジュールが新たな終端電池モジュールとして追加されるケースを表す図である。
【図９】電池モジュールが新たなスタータ電池モジュールとして追加されるケースを表す図である。
【図１０】追加される電池モジュールが新たな終端電池モジュールでも新たなスタータ電池モジュールでもないケースを表す図である。
【図１１】変形例１の情報処理システムを例示するブロック図である。
【図１２】実施形態２に係る電池モジュールを例示するブロック図である。
【図１３】識別子情報を送信した時点と候補集合 C との対応付けを例示する第１の図である。
【図１４】識別子情報を送信した時点と候補集合 C との対応付けを例示する第２の図である。
【図１５】電池モジュールの製造番号と候補集合との対応付けを例示する図である。
【図１６】実施形態３に係る電池モジュールを例示するブロック図である。
【図１７】実施形態４に係る電池モジュールを例示するブロック図である。
【図１８】具体例の情報処理システムの構成例を示す図である。
【発明を実施するための形態】
【００１７】
以下、本発明の実施の形態について、図面を用いて説明する。尚、すべての図面において、同様な構成要素には同様の符号を付し、適宜説明を省略する。
【００１８】
［実施形態１］
図１は、実施形態１に係る情報処理システム３０００を例示するブロック図である。図１において、各ブロックは、ハードウエア単位の構成ではなく、機能単位の構成を表している。
【００１９】
情報処理システム３０００は、第１通信網３０２０、第２通信網３０４０、及び複数の電池モジュール２０００を有する。第１通信網３０２０は、各電池モジュール２０００を互いに通信可能に接続する通信網である。各電池モジュール２０００は、第１通信網３０２０を介して、情報処理システム３０００に含まれる他の各電池モジュール２０００と互いに通信可能である。
【００２０】
第２通信網３０４０は線形トポロジで構成される通信網である。各電池モジュール２０００は、第２通信網３０４０上で隣接する他の電池モジュール２０００と通信可能である。互いに隣接する電池モジュール２０００は、信号線３０４１で接続されている。図１では、電池モジュール２０００−１は信号線３０４１−１を介して電池モジュール２０００−２と通信可能である。また電池モジュール２０００−２は、信号線３０４１−２を介して電池モジュール２０００−３と通信可能である。
【００２１】
なお、第１通信網３０２０のトポロジは、各電池モジュール２０００が互いに通信を行える任意のトポロジでよい。例えば第１通信網３０２０のトポロジはバス型のトポロジである。
【００２２】
電池モジュール２０００には、第１通信網３０２０を介した通信で利用される識別子が設定される。以下、この識別子を第１識別子と呼ぶ。電池モジュール２０００は、当該電池モジュール２０００の第１識別子が、その他の電池モジュール２０００の第１識別子と重複しているか否かを判定する機能を有する。そのために電池モジュール２０００は、識別子情報送信部２０２０、識別子情報受信部２０４０、第１通知実行部２０６０、第１通知検出部２０８０、及び判定部２１００を有する。
【００２３】
識別子情報送信部２０２０は、第１通信網３０２０を介して、他の全ての電池モジュール２０００へ識別子情報を送信する。或る電池モジュール２０００によって送信される識別子情報は、（１）その電池モジュール２０００に設定されている第１識別子を示すか、又は（２）その電池モジュール２０００に第１識別子が設定されていないことを示す。
【００２４】
識別子情報受信部２０４０は、第１通信網３０２０を介して、他の電池モジュール２０００によって送信された識別子情報を受信する。
【００２５】
第１通知実行部２０６０は、第２通信網３０４０を介して第１通知を行う。第１通知は、当該電池モジュール２０００の識別子情報送信部２０２０によって識別子情報が送信されたことの通知である。ここで第１通知実行部２０６０は、当該電池モジュール２０００と第２通信網３０４０上の第１方向３０４２において隣接する他の電池モジュール２０００に対して第１通知を行う。
【００２６】
第１通知検出部２０８０は、第２通信網３０４０を介して第１通知を検出する。この第１通知は、当該電池モジュール２０００と第２通信網３０４０上の第２方向３０４４において隣接する他の電池モジュール２０００によって行われた通知である。ここで、第１方向３０４２と第２方向３０４４は互いに逆の方向である。例えば電池モジュール２０００−２と第２通信網３０４０上の第２方向３０４４において隣接する電池モジュール２０００−１から見ると、電池モジュール２０００−２は第２通信網３０４０の第１方向３０４２に位置する。
【００２７】
判定部２１００は、当該電池モジュール２０００の第１識別子が、他の電池モジュール２０００の第１識別子と重複しているか否かを判定する。この判定は、全ての電池モジュール２０００によって識別子情報が送信されたことに応じて実行される。またこの判定には、他の電池モジュール２０００から受信した識別子情報が利用される。
【００２８】
情報処理システム３０００のうち、或る１つの電池モジュール２０００の識別子情報送信部２０２０は、その電池モジュール２０００の第１通知検出部２０８０によって第１通知が検出されたこと以外の所定の事象に応じて、識別子情報を送信する。以下、この電池モジュール２０００を、スタータ電池モジュールと呼ぶ。一方で、スタータ電池モジュール以外の電池モジュール２０００の識別子情報送信部２０２０は、その電池モジュール２０００の第１通知検出部２０８０によって第１通知が検出されたことに応じて、識別子情報を送信する。
【００２９】
ここで、前述した第１方向３０４２は、スタータ電池モジュールから遠ざかる方向である。一方、第２方向３０４４は、スタータ電池モジュールへ近づく方向である。よってスタータ電池モジュールは、第２通信網３０４０において第２方向３０４４に隣接する電池モジュール２０００を有さない。例えば図１では、電池モジュール２０００−１がスタータ電池モジュールである。そのため、電池モジュール２０００−１から電池モジュール２０００−２へ向かう方向、及び電池モジュール２０００−２から電池モジュール２０００−３へ向かう方向はいずれも第１方向３０４２である。一方、電池モジュール２０００−３から電池モジュール２０００−２へ向かう方向、及び電池モジュール２０００−２から電池モジュール２０００−１へ向かう方向はいずれも第２方向３０４４である。なお以下では、電池モジュール２０００−１のことを、スタータ電池モジュール２０００−１とも表記する。
【００３０】
＜処理の流れ＞
図２は、実施形態１の情報処理システム３０００における処理の流れを例示するフローチャートである。スタータ電池モジュールである電池モジュール２０００−１は、起動されたこと（Ｓ１０２）に応じて、識別子情報を送信する（Ｓ１０４）。電池モジュール２０００−２と電池モジュール２０００−３は、電池モジュール２０００−１によって送信された識別子情報を受信する（Ｓ１０６）。電池モジュール２０００−１は、信号線３０４１−１を介し、電池モジュール２０００−２に対して第１通知を行う（Ｓ１０８）。
【００３１】
電池モジュール２０００−２は、第１通知を検出したこと（Ｓ１１０）に応じて、識別子情報を送信する（Ｓ１１２）。電池モジュール２０００−１と電池モジュール２０００−３は、電池モジュール２０００−２によって送信された識別子情報を受信する（Ｓ１１４）。電池モジュール２０００−２は、信号線３０４１−２を介し、電池モジュール２０００−３に対して第１通知を行う（Ｓ１１６）。
【００３２】
電池モジュール２０００−３は、第１通知を検出したこと（Ｓ１１８）に応じて、識別子情報を送信する（Ｓ１２０）。電池モジュール２０００−１と電池モジュール２０００−２は、電池モジュール２０００−３によって送信された識別子情報を受信する（Ｓ１２２）。
【００３３】
各電池モジュール２０００は、自身の第１識別子が他の電池モジュール２０００の第１識別子と重複しているか否かを判定する（Ｓ１２４）。
【００３４】
なお、情報処理システム３０００によって行われる処理の流れは、図２に示す流れに限定されない。その他の処理の流れについては後述する。
【００３５】
＜作用・効果＞
本実施形態の情報処理システム３０００によれば、各電池モジュール２０００から送信される識別子情報を用いて、電池モジュール２０００間における識別子の重複が生じているか否かが自動で判定される。よって、電池モジュール２０００間における識別子の重複を効率的に検出することができる。
【００３６】
以下、本実施形態についてさらに詳細に説明する。
【００３７】
＜電池モジュール２０００のハードウエア構成例＞
電池モジュール２０００の各機能構成部は、各機能構成部を実現するハードウエア（例：ハードワイヤードされた電子回路など）で実現されてもよいし、ハードウエアとソフトウエアとの組み合わせ（例：電子回路とそれを制御するプログラムの組み合わせなど）で実現されてもよい。以下、電池モジュール２０００の各機能構成部がハードウエアとソフトウエアとの組み合わせで実現される場合について、さらに説明する。
【００３８】
図３は、電池モジュール２０００のハードウエア構成を例示する図である。電池モジュール２０００には、コントローラ１０００及び電池セル１０が含まれている。電池セル１０は、リチウムイオン電池などの二次電池である。コントローラ１０００は、電池セル１０の充電や放電の制御を行ったり、他の電池モジュール２０００が有するコントローラ１０００と制御情報のやりとりを行ったりする装置である。例えばコントローラ１０００は、BMU（Battery Management Unit）である。
【００３９】
コントローラ１０００は、バス１０２０、プロセッサ１０４０、メモリ１０６０、ストレージ１０８０、入出力インタフェース１１００、第１ネットワークインタフェース１１２０、及び第２ネットワークインタフェース１１４０を有する。バス１０２０は、プロセッサ１０４０、メモリ１０６０、ストレージ１０８０、入出力インタフェース１１００、及び第１ネットワークインタフェース１１２０が、相互にデータを送受信するためのデータ伝送路である。ただし、プロセッサ１０４０などを互いに接続する方法は、バス接続に限定されない。プロセッサ１０４０は、MPU（Micro Processing Unit）又は CPU（Central Processing Unit）などの演算処理装置である。メモリ１０６０は、RAM（Random Access Memory）や ROM（Read Only Memory）などのメモリである。ストレージ１０８０は、フラッシュメモリなどの記憶装置である。入出力インタフェース１１００は、コントローラ１０００と入出力デバイスとを接続するためのインタフェースである。
【００４０】
第１ネットワークインタフェース１１２０は、コントローラ１０００と第１通信網３０２０とを接続するインタフェースである。識別子情報送信部２０２０は、第１ネットワークインタフェース１１２０に識別子情報を出力させることで、識別子情報の送信を実現する。識別子情報送信部２０２０は、第１ネットワークインタフェース１１２０によって受信される識別子情報を取得することで、識別子情報の受信を実現する。第２ネットワークインタフェース１１４０は、コントローラ１０００と第２通信網３０４０とを接続するインタフェースである。送信通知の実現方法については後述する。
【００４１】
ストレージ１０８０は、電池モジュール２０００の各機能構成部を実現するプログラムモジュールを記憶している。プロセッサ１０４０は、これら各プログラムモジュールをメモリ１０６０に読み出して実行することで、そのプログラムモジュールに対応する各機能を実現する。
【００４２】
コントローラ１０００のハードウエア構成は図３に示した構成に限定されない。例えば、各プログラムモジュールはメモリ１０６０に格納されてもよい。この場合、コントローラ１０００は、ストレージ１０８０を備えていなくてもよい。
【００４３】
＜識別子情報について＞
電池モジュール２０００の識別子情報送信部２０２０によって送信される識別子情報は、第１通信網３０２０におけるその電池モジュール２０００の識別子を表す。例えば第１通信網３０２０が CAN 通信網である場合、識別子情報は CAN 通信網における ID（identifier）を表す。以下、CAN 通信網における ID を CAN-ID と表記する。
【００４４】
図４は、CAN 通信網における識別子情報のデータ構造を例示する図である。図４の識別子情報は、８バイトのデータである。識別子情報の０バイト目から３バイト目までは、電池モジュール２０００の製造番号を示している。識別子情報の４バイト目は、電池モジュール２０００の CAN-ID（第１識別子）を示している。識別子情報の５バイト目は、電池モジュール２０００のステータスデータを示している。識別子情報の６バイト目及び７バイト目に含まれるデータは任意である。
【００４５】
識別子情報のステータスデータの利用方法は様々である。例えば、スタータ電池モジュール２０００によって送信される識別子情報のステータスデータに、識別子情報の送信元がスタータ電池モジュール２０００であるか否かを示すようにする。例えば、ステータスデータの０ビット目を、送信元がスタータ電池モジュール２０００であるか否かを示すフラグとして用いる。
【００４６】
また例えば、第２通信網３０４０の第１方向３０４２方向において終端にある電池モジュール２０００（以下、終端電池モジュール２０００）によって送信される識別子情報のステータスデータには、識別子情報の送信元が終端電池モジュール２０００であるか否かを示すようにする。例えば、ステータスデータの１ビット目を、送信元がスタータ電池モジュール２０００であるか否かを示すフラグとして用いる。なお、図１において、終端電池モジュール２０００は電池モジュール２０００−３である。
【００４７】
なお、図４に示す識別子情報のデータ構造は、第１通信網３０２０が CAN 通信網以外である場合においても採用することが可能である。ただし、その通信網で利用される通信プロトコルによって第１識別子のサイズなどが異なることもある。その場合には、識別子情報のデータサイズを、通信プロトコルに合わせて適切に設定する。
【００４８】
＜識別子情報の送信：Ｓ１０４など＞
識別子情報送信部２０２０は、第１通信網３０２０において識別子情報を送信する。CAN 通信網などを介して情報を送信する技術には、既知の技術を利用することができる。
【００４９】
スタータ電池モジュール以外の電池モジュール２０００の識別子情報送信部２０２０は、第１通知検出部２０８０によって第１通知が検出されたことに応じて識別子情報の送信を行う。この場合、識別子情報送信部２０２０は、第１通知検出部２０８０によって第１通知が検出された時点で識別子情報の送信を行ってもよいし、第１通知検出部２０８０によって第１通知が検出された時点以降の任意の時点で識別子情報の送信を行ってもよい。第１通知が検出された後の任意の時点とは、例えば、第１通知が検出された時点から所定時間が経過した時点である。この所定時間は、識別子情報送信部２０２０に設定されていてもよいし、識別子情報送信部２０２０からアクセス可能な記憶装置に記憶されていてもよい。
【００５０】
一方で、スタータ電池モジュールは、第１通知検出部２０８０によって第１通知が検出されるという事象以外の所定の事象に応じて識別子情報の送信を行う。この所定の事象は、例えばスタータ電池モジュールが起動されるという事象である。つまりこの場合、スタータ電池モジュールは、起動時に識別子情報の送信を行う。前述した図２のフローチャートでは、スタータ電池モジュールは、起動されたことに応じて識別子情報を送信している。スタータ電池モジュールの起動は、電源スイッチをＯＮにする操作などに伴う通常の起動であってもよいし、停電などの異常からの復帰に伴う起動であってもよい。
【００５１】
なお、ここでいう起動時とは、起動直後である必要はない。例えばスタータ電池モジュールは、起動後に種々の初期設定を行った後に、識別子情報の送信を行う。また例えばスタータ電池モジュールは、初期設定を行った後、さらに所定時間経過した後に識別子情報を送信してもよい。スタータ電池モジュール以外の電池モジュール２０００が起動するタイミングは、スタータ電池モジュールが起動するタイミングより遅いこともありうる。この場合、スタータ電池モジュールの初期設定が完了した直後に識別子情報が送信されると、他の電池モジュール２０００の初期設定が完了しておらず、他の電池モジュール２０００が識別子情報を正常に受信できない可能性もある。スタータ電池モジュールで初期設定が完了してから所定時間経過するまで識別子情報の送信を遅延すれば、他の電池モジュール２０００が初期設定を行う時間が確保され、他の電池モジュール２０００が正常に識別子情報を受信できる確率が高くなる。
【００５２】
また、上記所定の事象は、例えば、スタータ電池モジュール内にある電池セル１０の充電の完了である。つまりこの場合、スタータ電池モジュールは、スタータ電池モジュール内にある電池セル１０の充電が完了したことに応じて識別子情報の送信を行う。なお、電池セル１０の充電が完了したことを検出する方法には、既存の技術を利用することができる。
【００５３】
また、上記所定の事象は、例えば、情報処理システム３０００に新たな電池モジュール２０００が追加されるという事象である。例えば、一度情報処理システム３０００において第１識別子の重複を判定するための一連の処理（例えば、図２の一連の処理）が行われた後に、情報処理システム３０００に対して新たに電池モジュール２０００が追加されたとする。この場合、新たに追加された電池モジュール２０００の第１識別子が、他の電池モジュール２０００の第１識別子と重複している可能性がある。そのため、情報処理システム３０００において再度第１識別子の重複の判定を行う必要がある。
【００５４】
そこで、スタータ電池モジュールは、情報処理システム３０００に新たな電池モジュール２０００が追加されたことに応じて、識別子情報の送信を行う。またこれに応じ、第１識別子の重複の判定に必要な残りの処理（例えば、図２のＳ１０６以降の処理）が順次行われる。その結果、新たに追加された電池モジュール２０００を含め、情報処理システム３０００に含まれる全ての電池モジュール２０００それぞれによって、第１識別子の重複が判定される。なお、情報処理システム３０００に新たな電池モジュール２０００が追加された場合における情報処理システム３０００の動作の詳細については後述する。
【００５５】
＜＜スタータ電池モジュールであるか否かの判定＞＞
各電池モジュール２０００は、所定のタイミングで、自身がスタータ電池モジュールであるか否かを判定する。そして、自身がスタータ電池モジュールであると判定した電池モジュール２０００の識別子情報送信部２０２０は、識別子情報の送信を行う。この所定のタイミングは、スタータ電池モジュールが識別子情報を送信するタイミング（起動時など）又はそれ以前のタイミングである。この所定のタイミングは、電池モジュール２０００に予め設定されていてもよいし、電池モジュール２０００からアクセス可能な記憶装置に記憶されていてもよい。
【００５６】
電池モジュール２０００がスタータ電池モジュールであるか否かを判定する方法は様々である。例えば電池モジュール２０００は、当該電池モジュール２０００と他の電池モジュール２０００との接続状態に基づいて、当該電池モジュール２０００がスタータ電池モジュールであるか否かを判定する。ここで、第２通信網３０４０の第１方向３０４２において隣接する電池モジュール２０００と当該電池モジュール２０００との間を結ぶ信号線３０４１が接続されるポートを第１ポートと呼び、第２通信網３０４０の第２方向３０４４において隣接する電池モジュール２０００と当該電池モジュール２０００との間を結ぶ信号線３０４１が接続されるポートを第２ポートと呼ぶ。例えば電池モジュール２０００−２の場合、信号線３０４１−２が接続されているポートが第１ポートであり、信号線３０４１−１が接続されているポートが第２ポートである。この場合、電池モジュール２０００は、第２ポートに信号線３０４１が接続されていない場合や、第２ポートに接続されている信号線３０４１が通電してない場合に、当該電池モジュール２０００がスタータ電池モジュールであると判定する。
【００５７】
＜識別子情報の受信：Ｓ１０６など＞
識別子情報受信部２０４０は識別子情報を受信する。CAN 通信網などを介して送信された情報を受信する技術には、既知の技術を利用することができる。
【００５８】
識別子情報受信部２０４０は、例えば、受信した識別子情報を記憶装置に記憶する。以下、識別子情報が記憶される記憶装置を識別子情報記憶部と呼ぶ。図５は、識別子情報記憶部を有する電池モジュール２０００を例示するブロック図である。識別子情報記憶部２１２０は、例えばメモリ１０６０やストレージ１０８０によって実現される。
【００５９】
＜第１通知の実行：Ｓ１０８など＞
第１通知実行部２０６０は、当該電池モジュール２０００によって識別子情報が送信されたことに応じて、第１通知を行う。第１通知は、第２通信網３０４０を利用して行われる。第１通知は、第２通信網３０４０を介して当該電池モジュール２０００と接続されている電池モジュール２０００が、当該電池モジュール２０００によって識別子情報が送信されたことを把握することができる任意の通知である。
【００６０】
例えば第１通知実行部２０６０は、当該電池モジュール２０００と通知先の電池モジュール２０００（第２通信網３０４０の第１方向３０４２において当該電池モジュール２０００と隣接している電池モジュール２０００）との間を接続している信号線３０４１の電圧を変化させることで、第１通知を行う。
【００６１】
より具体的には、第１通知実行部２０６０は、信号線３０４１の電圧を比較的低い値（以下、ロー値）と比較的高い値（以下、ハイ値）との間で切り替えることによって第１通知を行う。この場合、各電池モジュール２０００は起動後に、信号線３０４１の電圧をハイ値に設定する。その後、第１通知実行部２０６０は、信号線３０４１の電圧をロー値に変更することで第１通知を行う。信号線３０４１の電圧の値を変更する方法には、既知の技術を利用することができる。
【００６２】
なお、ハイ値とロー値は、ハイ値がロー値よりも大きく、なおかつこれらの電圧の間にこれらの電圧を区別可能な程度の差異がある値であれば、任意の値とすることができる。また、第１通知が行われる前の信号線３０４１の電圧をロー値としておき、信号線３０４１の電圧をハイ値に変更することで第１通知を行ってもよい。
【００６３】
＜第１通知の検出：Ｓ１１０など＞
第１通知検出部２０８０は、第２通信網３０４０の第２方向３０４４において隣接している電池モジュール２０００によって行われる第１通知を検出する。より具体的には、第１通知検出部２０８０は、第２通信網３０４０の第２方向３０４４において隣接している電池モジュール２０００と当該電池モジュール２０００との間を接続する信号線３０４１を利用して第１通知を検出する。
【００６４】
例えば前述した通り、第１通知は、信号線３０４１の電圧をハイ値からロー値へ変更することで行われる。この場合、第１通知検出部２０８０は、当該電池モジュール２０００と、第２通信網３０４０の第２方向３０４４において隣接している別の電池モジュール２０００との間を接続する信号線３０４１の電圧がハイ値からロー値に変更されたことを検出することで、第１通知を検出する。信号線３０４１の電圧の値が変更されたことを検出する方法には、既知の技術を利用することができる。
【００６５】
＜第１識別子の重複の判定：Ｓ１２４＞
判定部２１００は、他の各電池モジュール２０００から受信した識別子情報を用いて、当該電池モジュール２０００の識別子と他の電池モジュール２０００との間で第１識別子が重複しているか否かを判定する。具体的には、識別子情報記憶部２１２０に記憶されている識別子情報の中に、当該電池モジュール２０００と同じ第１識別子を示す識別子情報がある場合、判定部２１００は、その識別子情報に対応する電池モジュール２０００と当該電池モジュール２０００との間で第１識別子が重複していると判定する。一方、識別子情報記憶部２１２０に記憶されている識別子情報の中に、当該電池モジュール２０００と同じ第１識別子を示す識別子情報がない場合、判定部２１００は、当該電池モジュール２０００の第１識別子が、他のいずれの電池モジュール２０００の第１識別子とも重複しないないと判定する。
【００６６】
＜判定部２１００が動作するタイミング＞
判定部２１００は、全ての電池モジュール２０００によって識別子情報が送信されたことに応じて、当該電池モジュール２０００の第１識別子と他の電池モジュール２０００の第１識別子との間の重複を判定する。全ての電池モジュール２０００によって識別子情報が送信されたことを判定部２１００が把握する方法は様々である。以下、その把握方法をいくつか例示する。
【００６７】
＜＜把握方法１＞＞
終端電池モジュールの判定部２１００は、自身の識別子情報送信部２０２０によって識別子情報が送信されたことに応じて、全ての電池モジュール２０００によって識別子情報が送信されたことを把握する。一方、終端電池モジュール以外の電池モジュール２０００の判定部２１００は、終端電池モジュールによって送信された識別子情報を受信したことに応じて、全ての電池モジュール２０００によって識別子情報が送信されたことを把握する。
【００６８】
前述したように、例えば識別子情報には、その送信元が終端電池モジュールであるか否かを示すフラグが含まれる。そこで終端電池モジュールの識別子情報送信部２０２０によって送信される識別子情報では、このフラグの値が１に設定されるようにする。一方、終端電池モジュール以外の電池モジュール２０００の識別子情報送信部２０２０によって送信される識別子情報では、このフラグの値が０に設定されるにようにする。
【００６９】
終端電池モジュール２０００以外の電池モジュール２０００の判定部２１００は、上記フラグが１となっている識別子情報が受信されたことに応じて、全ての電池モジュール２０００によって識別子情報が送信されたことを把握する。
【００７０】
＜＜把握方法２＞＞
情報処理システム３０００に含まれる電池モジュール２０００の数が予め定められているとする。この場合、判定部２１００は、識別子情報受信部２０４０によって受信された識別子情報の数が、情報処理システム３０００に含まれる電池モジュール２０００の数から１を引いた数（当該電池モジュール２０００を除く電池モジュール２０００の総数）となった場合に、全ての電池モジュール２０００によって識別子情報が送信されたことを把握する。当該電池モジュール２０００を除く電池モジュール２０００の総数は、判定部２１００に予め設定されていてもよいし、判定部２１００からアクセス可能な記憶装置に記憶されていてもよい。
【００７１】
＜＜把握方法３＞＞
この方法では、第２通信網３０４０が、信号線３０４１に加えて第２信号線３０４６を有していることを想定する。図６は、第２信号線３０４６を有する情報処理システム３０００を例示するブロック図である。図６において、図を見やすくするため、電池モジュール２０００の内部構成は省略されている。
【００７２】
前述したように、信号線３０４１は、第２通信網３０４０の第１方向３０４２において隣接する他の電池モジュール２０００に対して各電池モジュール２０００が通知（第１通知）を行うために利用される。これに対し、第２信号線３０４６は、第２通信網３０４０の第２方向３０４４において隣接する他の電池モジュール２０００に対して各電池モジュール２０００が通知を行うために利用される。以下、さらに詳細に説明する。
【００７３】
第２通信網３０４０の第１方向３０４２において隣接する電池モジュール２０００が無い電池モジュール２０００（図６では電池モジュール２０００−４）は、識別子情報を送信した後に、第２信号線３０４６を介して通知を行う。この通知を第２通知と呼ぶ。第２通知は、第２通信網３０４０の第１方向３０４２において終端に位置する電池モジュール２０００によって識別子情報の送信が行われたことを表す通知である。言い換えれば、第２通知は、全ての電池モジュール２０００によって識別子情報が送信されたことを表す通知である。電池モジュール２０００は、第２通知を検出することにより、全ての電池モジュール２０００によって識別子情報の送信が行われたことを把握することができる。
【００７４】
第１方向３０４２において隣接する電池モジュール２０００によって行われた第２通知を検出した電池モジュール２０００は、同様に、第２方向３０４４において隣接する電池モジュール２０００に対して第２通知を行う。こうすることで、例えば図６では、電池モジュール２０００−４から電池モジュール２０００−３に対して第２通知が行われ、電池モジュール２０００−３から電池モジュール２０００−２に対して第２通知が行われ、電池モジュール２０００−２から電池モジュール２０００−１に対して第２通知が行われる。結果として、第１方向３０４２において終端に位置する電池モジュール２０００を除き、全ての電池モジュール２０００が第２通知を受けることとなる。よって、全ての電池モジュール２０００が、全ての電池モジュール２０００によって識別子情報が送信されたことを把握することができる。
【００７５】
なお、第２信号線３０４６を用いて第２通知を行う方法、及びその第２通知を検出する方法はそれぞれ、信号線３０４１を介して第１通知を行う方法、及びその第１通知を検出する方法と同様である。
【００７６】
図７は、第２通知の実行及び検出を行う機能を有する電池モジュール２０００を例示するブロック図である。第２通知実行部２１８０は、第２通信網３０４０の第２方向３０４４において隣接する他の電池モジュール２０００に対して第２通知を行う。第２通知検出部２２００は、第２通信網３０４０の第１方向３０４２において隣接する他の電池モジュール２０００によって行われた第２通知を検出する。
【００７７】
＜＜把握方法４＞＞
判定部２１００は、識別子情報受信部２０４０によって最初の識別子情報が受信されたタイミングから所定時間が経過した場合、又は第１通知検出部２０８０によって第１通知が検出されたタイミングから所定時間が経過した場合に、「全ての電池モジュール２０００によって識別子情報が送信された」と推測してもよい。この所定時間は、判定部２１００に予め設定されていてもよいし、判定部２１００からアクセス可能な記憶装置に記憶しておいてもよい。
【００７８】
＜新たに電池モジュール２０００が追加された際の動作＞
前述したように、スタータ電池モジュールは、情報処理システム３０００に新たな電池モジュール２０００が追加されたことに応じ、識別子情報の送信を行う。こうすることで、追加された電池モジュール２０００を含め、情報処理システム３０００に含まれる全ての電池モジュール２０００それぞれによって、第１識別子の重複が判定される。以下、新たに電池モジュール２０００が追加された際における情報処理システム３０００の動作を具体的に説明する。
【００７９】
各電池モジュール２０００は、第２ポート（その電池モジュール２０００と、その電池モジュール２０００から見て第２方向３０４４に位置する電池モジュール２０００とを接続する信号線３０４１が接続されるポート）の電圧を繰り返し監視する。そして、この電圧がロー値からハイ値に変化する（第１通知による変化とは逆に変化する）ことを検出した電池モジュール２０００は、第１通信網３０２０を介して所定のリクエストを送信する。なお、第２ポートの電圧の初期値はロー値であるとする。そして、スタータ電池モジュールは、この所定のリクエストを受信したことを契機に識別子情報を送信する。ここで、所定のリクエストについては後述する。
【００８０】
情報処理システム３０００の動作について、図を用いてさらに詳細に説明する。図８から図１０は、新たな電池モジュール２０００が追加される様子を例示する図である。これらの図の例ではいずれも、電池モジュール２０００−５（ドット柄の電池モジュール２０００）が、追加された電池モジュール２０００である。そして、電池モジュール２０００−１から電池モジュール２０００−４については、既に第１識別子の重複の判定が行われているものとする。
【００８１】
図８は、電池モジュール２０００が新たな終端電池モジュールとして追加されるケースを表す図である。ここで、終端電池モジュールの第１通知実行部２０６０は、識別子情報を送信した後に第１通知を実行しない。例えば図８の例では、電池モジュール２０００−１から電池モジュール２０００−４において第１識別子の重複が判定された際、電池モジュール２０００−１から電池モジュール２０００−３は第１通知を実行するが、電池モジュール２０００−４は第１通知を実行しない。そのため図８の例において、信号線３０４１−１から信号線３０４１−３の電圧はロー値である一方で、信号線３０４１−４の電圧はハイ値である。
【００８２】
そのため、信号線３０４１−４を介して電池モジュール２０００−４と電池モジュール２０００−５とが接続されることにより、電池モジュール２０００−５は、第２ポートの電圧がロー値からハイ値へ変化することを検出する。そのため、電池モジュール２０００−５が、前述した所定のリクエストの送信を行う。
【００８３】
図９は、電池モジュール２０００が新たなスタータ電池モジュールとして追加されるケースを表す図である。図９のケースでは、信号線３０４１−１から信号線３０４１−３の電圧は、第１通知によってロー値に変更されている。一方で、信号線３０４１−４の電圧はハイ値である。
【００８４】
そのため、信号線３０４１−４を介して電池モジュール２０００−１と電池モジュール２０００−５とが接続されることにより、電池モジュール２０００−１（以前のスタータ電池モジュール）は、第２ポートの電圧がロー値からハイ値に変化することを検出する。そのため、電池モジュール２０００−１が、前述した所定のリクエストの送信を行う。
【００８５】
図１０は、追加される電池モジュール２０００が新たな終端電池モジュールでも新たなスタータ電池モジュールでもないケースを表す図である。図１０のケースでも、信号線３０４１−１から信号線３０４１−３の電圧はロー値に変更されている一方で、信号線３０４１−４の電圧はハイ値である。
【００８６】
そのため、信号線３０４１−４を介して電池モジュール２０００−３と電池モジュール２０００−５とが接続されることにより、電池モジュール２０００−３は、第２ポートの電圧がロー値からハイ値に変化することを検出する。そのため、電池モジュール２０００−３が、前述した所定のリクエストの送信を行う。
【００８７】
なお、図９の例の図１０の例ではいずれも、所定のリクエストを送信する電池モジュール２０００は、追加された電池モジュール２０００から見て第１方向３０４２に位置する電池モジュール２０００となる。一方、図８の例では、所定のリクエストを送信する電池モジュール２０００は、追加された電池モジュール２０００となる。
【００８８】
＜＜所定のリクエストについて＞＞
上記所定のリクエストは、例えば第１通信網３０２０を介して送信されるデータ（以下、リクエストデータ）である。例えばリクエストデータは、図４に示した識別子情報と同じデータ構造を有するデータである。ただし、リクエストデータでは、ステータスデータの所定のビット（例えば２ビット目）が１となっている一方で、識別子情報ではステータスデータのこのビットが０となっているとする。スタータ電池モジュールは、このビットが１となっているデータ（リクエストデータ）を受信することによって、新たな電池モジュール２０００が追加されたことを検出する。
【００８９】
［実施形態１の変形例］
図１１は変形例１の情報処理システム３０００を例示するブロック図である。本変形例では、スタータ電池モジュール２０００−１に複数の電池モジュール２０００が接続されていることを想定する。なお、以下で説明する点を除き、変形例１の電池モジュール２０００が有する機能は実施形態１の電池モジュール２０００が有する機能と同様である。
【００９０】
以下の説明を簡単にするため、図１１において、電池モジュール２０００−２及び電池モジュール２０００−３をまとめてグループ１と呼び、電池モジュール２０００−４及び電池モジュール２０００−５をまとめてグループ２と呼ぶ。
【００９１】
＜スタータ電池モジュール２０００−１が第１通知を行うタイミング＞
スタータ電池モジュール２０００−１の第１通知実行部２０６０は、識別子情報の送信が完了した後に、いずれかの信号線３０４１を用いて第１通知を行う。例えば第１通知実行部２０６０が、識別子情報の送信が完了したタイミングで、電池モジュール２０００−２に対して第１通知を行うとする。この場合、スタータ電池モジュール２０００−１は、電池モジュール２０００−２に対して第１通知を行うタイミングとは別のタイミングで、電池モジュール２０００−４に対しても第１通知を行う。
【００９２】
具体的には、スタータ電池モジュール２０００−１の第１通知実行部２０６０は、グループ１に含まれる全ての電池モジュール２０００による識別子情報の送信が完了した後に、電池モジュール２０００−３に対して第１通知を行う。グループ１に含まれる全ての電池モジュール２０００による識別子情報の送信が完了したことを把握する方法は、実施形態１において全ての電池モジュール２０００によって識別子情報が送信されたことを把握する方法と同様である。例えばスタータ電池モジュール２０００−１の第１通知実行部２０６０は、識別子情報受信部２０４０によって受信された識別子情報の数が、グループ１に含まれる電池モジュール２０００の数となった場合に、グループ１に含まれる全ての電池モジュール２０００によって識別子情報が送信されたことを把握する。また例えば、スタータ電池モジュール２０００−１の第１通知実行部２０６０は、電池モジュール２０００−２から前述した第２通知を受けることで、グループ１に含まれる全ての電池モジュール２０００によって識別子情報が送信されたことを把握する。また例えば、スタータ電池モジュール２０００−１の第１通知実行部２０６０は、識別子情報受信部２０４０によって最初の識別子情報が受信されたタイミングから所定時間が経過した場合、又は第１通知検出部２０８０によって電池モジュール２０００−２による第１通知が検出されたタイミングから所定時間が経過した場合に、「グループ１に含まれる全ての電池モジュール２０００によって識別子情報が送信された」と推測してもよい。
【００９３】
＜第１識別子の重複の判定を行うタイミング＞
判定部２１００は、各グループに含まれる全ての電池モジュール２０００による識別子情報の送信が完了したことに応じて第１識別子の重複の判定を行う。ここで、スタータ電池モジュール２０００−１は、前述した種々の方法により、或るグループに含まれる全ての電池モジュール２０００によって識別子情報が送信されたことを把握することができる。そのため、スタータ電池モジュール２０００−１の判定部２１００は、前述した種々の方法を用い、全てのグループについて、そのグループに含まれる電池モジュール２０００によって識別子情報が送信されたことを把握した場合に、第１識別子の重複の判定を行う。
【００９４】
一方で、スタータ電池モジュール２０００−１以外の電池モジュール２０００の判定部２１００は、（１）受信した識別子情報の数、又は（２）所定時間の経過に応じて、第１識別子の重複の判定を行う。（１）の場合、より具体的には、判定部２１００は、識別子情報受信部２０４０によって受信された識別子情報の数が、情報処理システム３０００に含まれる電池モジュール２０００の総数から１を引いた値となったことに応じて、第１識別子の重複の判定を行う。（２）の場合、より具体的には、判定部２１００は、識別子情報受信部２０４０によって最初の識別子情報が受信されたタイミングから所定時間が経過したこと、又は第１通知検出部２０８０によって第１通知が検出されたタイミングから所定時間が経過したことに応じて、第１識別子の重複の判定を行う。
【００９５】
［実施形態２］
図１２は、実施形態２に係る電池モジュール２０００を例示するブロック図である。以下で説明する点を除き、実施形態２の電池モジュール２０００は、実施形態１の電池モジュール２０００と同様の機能を有する。
【００９６】
実施形態２の電池モジュール２０００は第１識別子決定部２１４０を有する。第１識別子決定部２１４０は、当該電池モジュール２０００の第１識別子が他の電池モジュール２０００の第１識別子と重複している場合に、当該電池モジュール２０００に設定する第１識別子を決定する処理を行う。こうすることで、当該電池モジュール２０００の第１識別子が、他の電池モジュール２０００の第１識別子と重複しないようにする。
【００９７】
ここで情報処理システム３０００の中に、第１識別子が他のいずれかの電池モジュール２０００と重複している電池モジュール２０００と、第１識別子が他のいずれの電池モジュール２０００とも重複していない電池モジュール２０００との両方が含まれているとする。この場合、第１識別子が他のいずれの電池モジュール２０００とも重複していない電池モジュール２０００の第１識別子決定部２１４０は、第１識別子の決定を行ってもよいし、行わなくてもよい。前者の場合、第１識別子が他のいずれの電池モジュール２０００とも重複していない電池モジュール２０００の第１識別子も変更される。一方後者の場合、第１識別子が他のいずれの電池モジュール２０００とも重複していない電池モジュール２０００の第１識別子は変更されない。
【００９８】
なお、第１識別子が設定されていない電池モジュール２０００の第１識別子決定部２１４０は、第１識別子が他の電池モジュール２０００と重複している電池モジュール２０００の第１識別子決定部２１４０と同様に、第１識別子の決定を行う。
【００９９】
第１識別子決定部２１４０による第１識別子の決定は、所定ルールに従って行われる。この所定ルールは、情報処理システム３０００に含まれる複数の電池モジュール２０００を互いに区別できる指標を用いて、電池モジュール２０００の第１識別子を決定することができる任意のルールである。以下、所定ルールをいくつか例示する。
【０１００】
＜所定ルール１＞
所定ルール１は、各電池モジュール２０００の識別子情報が送信されたタイミングを指標として、第１識別子を決定するルールである。実施形態１で説明したように、情報処理システム３０００に含まれる電池モジュール２０００は、互いに異なるタイミングで識別子情報を送信する。そのため、識別子情報が送信されたタイミングに基づいて、各電池モジュール２０００を互いに区別することができる。
【０１０１】
例えば判定部２１００は、情報処理システム３０００に含まれる電池モジュール２０００のうち、当該電池モジュール２０００が何番目に識別子情報を送信した電池モジュール２０００であるかを割り出す。具体的には、判定部２１００は、当該電池モジュール２０００が識別子情報を送信する前に、いくつの電池モジュール２０００から識別子情報を受信したかを割り出す。例えば当該電池モジュール２０００が識別子情報を送信した時点よりも前に、当該電池モジュール２０００の識別子情報受信部２０４０が２つの識別子情報を受信していたとする。この場合、当該電池モジュール２０００は、３番目に識別子情報を送信した電池モジュール２０００である。
【０１０２】
なお、このように識別子情報を送信した時点の順位（何番目に識別子情報を送信したか）を割り出せるようにするため、識別子情報記憶部２１２０には、識別子情報に対応づけてその識別子情報を受信した時点（例えば受信時刻）を記憶しておく。また、当該電池モジュール２０００が識別子情報を送信した時点も任意の記憶装置に記憶しておく。
【０１０３】
また例えば、電池モジュール２０００は、識別子情報を送信した際に、当該電池モジュール２０００が識別子情報を送信した時点の順位を割り出し、この順位を記憶装置に記憶しておいてもよい。具体的には、電池モジュール２０００は、識別子情報を送信する前に受信した識別子情報の個数に１を加えた数を、識別子情報を送信した時点の順位として記憶する。
【０１０４】
所定ルール１では、識別子情報を送信した時点の順位に、電池モジュール２０００の識別子が対応づけられる。ただし、識別子情報を送信した順位に対応づけることができる第１識別子は、（１）第１識別子が他のいずれの電池モジュール２０００とも重複していない電池モジュール２０００の第１識別子を変更しないケースと、（２）第１識別子が他のいずれの電池モジュール２０００とも重複していない電池モジュール２０００の第１識別子も変更するケースとで異なる。以下、それぞれのケースについて説明する。なお、（１）のケースでは、第１識別子が他の電池モジュール２０００と重複していない電池モジュール２０００の第１識別子決定部２１４０は、第１識別子の決定を行わない。一方、（２）のケースでは、全ての電池モジュール２０００の第１識別子決定部２１４０それぞれが、第１識別子の決定を行う。
【０１０５】
＜＜（１）のケース＞＞
（１）のケースでは、変更されずにそのまま利用され続ける第１識別子（いずれか１つの電池モジュール２０００のみに設定されている第１識別子）は、他の電池モジュール２０００によって新たに設定される第１識別子の候補から除く必要がある。そのために、例えば以下のように第１識別子を決定する。
【０１０６】
まず第１識別子決定部２１４０は、いずれか１つの電池モジュール２０００によってのみ利用されている第１識別子を割り出す。具体的には、第１識別子決定部２１４０は、当該電池モジュール２０００の第１識別子、及び識別子情報記憶部２１２０に記憶されている各識別子情報に示されている第１識別子の中から、他の第１識別子と重複していない第１識別子を割り出す。
【０１０７】
さらに第１識別子決定部２１４０は、電池モジュール２０００に設定可能な全ての第１識別子の集合から、他の第１識別子と重複していない第１識別子を除いた集合（以下、候補集合）を生成する。例えば第１識別子が１バイトの値で表され、なおかつ 0x00 と 0xFF は第１識別子としては利用しないように決められているとする。この場合、電池モジュール２０００に設定可能な第１識別子の集合 S は、S = {0x01, 0x02, ... , 0xFE} となる。
【０１０８】
また、第１識別子 0x02 は電池モジュール２０００−２のみに設定されており、第１識別子 0x04 は電池モジュール２０００−３のみに設定されているとする。この場合、候補集合 C は集合 S から 0x02 と 0x04 を除いた集合 C = {0x01, 0x03, 0x05, ..., 0xFE} となる。
【０１０９】
そして第１識別子決定部２１４０は、当該電池モジュール２０００が識別子情報を送信した時点の順位に応じて、候補集合に含まれる第１識別子の中から、当該電池モジュール２０００の第１識別子を決定する。例えば第１識別子決定部２１４０が、「当該電池モジュール２０００が識別子情報を送信した順位は３である」ということを割り出したとする。この場合、第１識別子決定部２１４０は、候補集合における３番目の第１識別子（上述の候補集合 C では 0x05）を、当該電池モジュール２０００の第１識別子として決定する。図１３は、識別子情報を送信した時点と候補集合 C との対応付けを例示する第１の図である。
【０１１０】
なお、ケース（２）において、第１識別子決定部２１４０によって決定された第１識別子が既に電池モジュール２０００に設定されている第１識別子と同じである場合、当該電池モジュール２０００の第１識別子を変更する処理を行う必要はない。
【０１１１】
＜＜（２）のケース＞＞
第１識別子が他のいずれの電池モジュール２０００とも重複していない電池モジュール２０００の第１識別子も変更するケースである。この場合、第１識別子決定部２１４０は、電池モジュール２０００に設定可能な識別子の集合をそのまま候補集合とする。例えば前述の例における集合 S が候補集合となる。
【０１１２】
そして第１識別子決定部２１４０は、当該電池モジュール２０００が識別子情報を送信した時点の順位に応じて、候補集合に含まれる第１識別子の中から、当該電池モジュール２０００の第１識別子を決定する。例えば当該電池モジュール２０００が、他の電池モジュール２０００から２つの識別子情報を受信した後に、識別子情報を送信していたとする。この場合、第１識別子決定部２１４０は、候補集合 S における３番目の第１識別子（上述の集合 S では 0x03）を、当該電池モジュール２０００の第１識別子として決定する。図１４は、識別子情報を送信した時点と候補集合 C との対応付けを例示する第２の図である。
【０１１３】
＜所定ルール２＞
所定ルール２は、各電池モジュール２０００の製造番号を指標として、第１識別子を決定するルールである。電池モジュール２０００の製造番号は、電池モジュール２０００が製造される時に、電池モジュール２０００に固有に割り当てられる識別子である。そのため、情報処理システム３０００に含まれる各電池モジュール２０００は、製造番号によって区別可能である。
【０１１４】
例えば第１識別子決定部２１４０は、情報処理システム３０００に含まれる電池モジュール２０００を製造番号の昇順に並べた場合における当該電池モジュール２０００の順位を割り出す。そして、第１識別子決定部２１４０は、当該電池モジュール２０００の製造番号の順位に応じて、当該電池モジュール２０００の第１識別子を決定する。なお、所定ルール２において電池モジュール２０００の製造番号の順位に応じてその電池モジュール２０００の第１識別子を決定する方法は、所定ルール１において電池モジュール２０００が識別子情報を送信した時点の順位に応じてその電池モジュール２０００の第１識別子を決定する方法と同様である。
【０１１５】
図１５は、電池モジュール２０００の製造番号と候補集合との対応付けを例示する図である。図１５（ａ）では、他のいずれの電池モジュール２０００とも第１識別子が重複していない電池モジュール２０００の第１識別子を変更しない。そのため、図１３と同様に、0x02 及び 0x04 が候補集合から除かれている。一方、図１５（ｂ）では、他のいずれの電池モジュール２０００とも第１識別子が重複していない電池モジュール２０００の第１識別子も変更される。
【０１１６】
＜ハードウエア構成の例＞
実施形態２の電池モジュール２０００は、実施形態１と同様にコントローラ１０００を用いて実現される（図３参照）。本実施形態において、前述したストレージ１０８０に記憶される各プログラムモジュールには、本実施形態の電池モジュール２０００の各機能を実現するプログラムが含まれる。
【０１１７】
＜作用・効果＞
電池モジュール２０００の識別子を管理者などが手動で設定する場合、設定ミスによって識別子の重複が発生してしまったり、管理者などの作業負担が大きくなってしまったりするという問題がある。さらに、手動で識別子を設定するためのスイッチ回路を電池モジュール２０００に設ける場合には、電池モジュール２０００の回路規模が大きくなってしまうという問題も生じる。
【０１１８】
これに対し、本実施形態の情報処理システム３０００によれば、電池モジュール２０００の間で第１識別子が重複している場合に、第１識別子の重複を解消するように、第１識別子の変更が自動で行われる。よって、上述した手動設定の際に生じる種々の問題を回避することができる。
【０１１９】
さらに本実施形態の情報処理システム３０００では、各電池モジュール２０００の第１識別子決定部２１４０が個々に第１識別子の決定を行う。そのため、或る１つの電池モジュール２０００が他の電池モジュール２０００の第１識別子を決定する方法と異なり、１つの電池モジュール２０００に処理負荷が集中してしまうことを防ぐことができる。
【０１２０】
［実施形態３］
図１６は、実施形態３に係る電池モジュール２０００を例示するブロック図である。以下で説明する点を除き、実施形態３の電池モジュール２０００は、実施形態１の電池モジュール２０００と同様の機能を有する。
【０１２１】
実施形態３の電池モジュール２０００は警告部２１６０を有する。警告部２１６０は、当該電池モジュール２０００の第１識別子が他の電池モジュール２０００の第１識別子と重複していると判定された場合に警告を出力する。この警告は、当該電池モジュール２０００の第１識別子が他の電池モジュール２０００の第１識別子と重複していることをユーザ（電池モジュール２０００の管理者など）に通知するための警告である。
【０１２２】
警告部２１６０が警告を出力する方法は様々である。例えば警告部２１６０は、LED（light emitting diode）ランプを点灯させることにより、警告を出力する。また例えば、警告部２１６０は、ブザーやスピーカに音を出力させることによって警告を出力してもよい。
【０１２３】
＜ハードウエア構成の例＞
実施形態３の電池モジュール２０００は、実施形態１と同様にコントローラ１０００を用いて実現される（図３参照）。さらに実施形態３の電池モジュール２０００は、警告部２１６０による警告の出力を実現するためのハードウエア（LED ランプなど）と入出力インタフェース１１００を介して接続されている。また本実施形態において、前述したストレージ１０８０に記憶される各プログラムモジュールには、本実施形態の電池モジュール２０００の各機能を実現するプログラムが含まれる。
【０１２４】
＜作用・効果＞
本実施形態の情報処理システム３０００によれば、或る電池モジュール２０００の第１識別子が他の電池モジュール２０００の第１識別子と重複している場合に警告が出力される。そのため、電池モジュール２０００の管理者等が、その電池モジュール２０００の第１識別子が他の第１識別子と重複していることを把握することができる。その結果、例えば電池モジュール２０００の管理者等が電池モジュール２０００の第１識別子を手動で変更するなどの対処をすることで、電池モジュール２０００の間における第１識別子の重複を解消することができる。なお、本実施形態のように電池モジュール２０００の間で第１識別子の重複があった場合に警告を出力する方法は、例えば電池モジュール２０００の第１識別子が自動で変更されてしまうことを好まない運用ポリシーの下で電池モジュール２０００が運用されているケースにおいて特に有用である。
【０１２５】
［実施形態４］
図１７は、実施形態４に係る電池モジュール２０００を例示するブロック図である。以下で説明する点を除き、実施形態４の電池モジュール２０００は、実施形態２の電池モジュール２０００と同様の機能を有する。
【０１２６】
実施形態４の電池モジュール２０００は、情報処理システム３０００からいずれかの電池モジュール２０００が取り除かれたことを検出する機能を有する。そのために、実施形態４の電池モジュール２０００は離脱検出部２２２０を有する。
【０１２７】
離脱検出部２２２０は、当該電池モジュール２０００に他の電池モジュール２０００と重複しない第１識別子が設定されている状態で動作する。具体的には、離脱検出部２２２０は、判定部２１００によって当該電池モジュール２０００の第１識別子が他の電池モジュール２０００と重複していないと判定されたか、又は第１識別子決定部２１４０によって決定された第１識別子が当該電池モジュール２０００に設定された後に動作する。以下、離脱検出部２２２０の具体的な動作を例示する。
【０１２８】
まず、情報処理システム３０００に含まれる各電池モジュール２０００の第１識別子の内で最小の第１識別子を持つ電池モジュール２０００において、離脱検出部２２２０は、識別子情報送信部２０２０に定期的に識別子情報を送信させる。
【０１２９】
例えばこの電池モジュール２０００は、判定部２１００によって当該電池モジュール２０００の第１識別子が他の電池モジュール２０００と重複していないと判定されたとき、又は第１識別子決定部２１４０によって決定された第１識別子が当該電池モジュール２０００に設定されたときに、所定時間後に離脱検出部２２２０を動作させるタイマ処理を設定する。またこの電池モジュール２０００は、このタイマ処理によって離脱検出部２２２０が動作した後にも、再度同様のタイマ処理を設定する。この所定時間は、電池モジュール２０００に予め設定されていてもよいし、電池モジュール２０００からアクセス可能な記憶装置に記憶されていてもよい。
【０１３０】
それ以外の電池モジュール２０００の離脱検出部２２２０は、所定条件を満たす識別子情報を受信したことに応じて、識別子情報送信部２０２０に識別子情報を送信させる。この所定条件は、「当該電池モジュール２０００の第１識別子よりも小さくなおかつ当該電池モジュール２０００の第１識別子に最も近い第１識別子を示す」という条件である。言い換えれば、或る識別子情報が送信された場合、その識別子情報に示される第１識別子の次に小さい第１識別子を持つ電池モジュール２０００の離脱検出部２２２０が動作する。そのため、情報処理システム３０００からいずれの電池モジュール２０００も取り除かれていなければ、全ての電池モジュール２０００によって順に識別子情報が送信される。
【０１３１】
一方で、或る電池モジュール２０００が情報処理システム３０００から取り除かれると、その電池モジュール２０００の次に小さい第１識別子を持つ電池モジュール２０００では、上記所定の条件を満たす識別子情報が受信されないために離脱検出部２２２０が動作しない。そこで離脱検出部２２２０を、「前述した所定条件を満たす識別子情報が受信されない場合、所定のタイミングで識別子情報を送信する」という構成とする。こうすることで、情報処理システム３０００から取り除かれた電池モジュール２０００以外の全ての電池モジュール２０００から識別子情報が送信されるようになる。上記所定のタイミングは、例えば、直近に受信した識別子情報の受信時点から所定時間経過したタイミングである。この所定時間は、電池モジュール２０００に予め設定されていてもよいし、電池モジュール２０００からアクセス可能な記憶装置に記憶されていてもよい。
【０１３２】
離脱検出部２２２０は、各電池モジュール２０００から受信した識別情報に示される第１識別子と、情報処理システム３０００に含まれる各電池モジュール２０００の第１識別子のリストを比較する（このリストの作成方法については後述する）。そして離脱検出部２２２０は、このリストに含まれている第１識別子の中に、受信したどの識別情報にも示されていない第１識別子がある場合、その第１識別子を持つ電池モジュール２０００が情報処理システム３０００から取り除かれたと判定する。このようにして、各電池モジュール２０００は、情報処理システム３０００から電池モジュール２０００が取り除かれたことを検出し、さらには取り除かれた電池モジュール２０００の第１識別子を割り出す。
【０１３３】
以下、具体例を用いて、本実施形態の電池モジュール２０００の動作を説明する。図１８は、具体例の情報処理システム３０００の構成例を示す図である。図１８（ａ）において、情報処理システム３０００には電池モジュール２０００−１から電池モジュール２０００−５が含まれている。ここで、電池モジュール２０００−１から電池モジュール２０００−５には順に、0x01, 0x02, 0x03, 0x04, 0x05 という第１識別子が設定されているとする。また、各電池モジュール２０００はそれぞれ、0x01 から 0x05 を示す第１識別子のリストを記憶しているとする。
【０１３４】
電池モジュール２０００−１から電池モジュール２０００−５の全てが情報処理システム３０００に含まれている場合（図１８（ａ）参照）、電池モジュール２０００−１から順に識別子情報が送信される。よって、上述した第１識別子のリストに示される各第１識別子は、いずれかの識別子情報に示されている。よって、各電池モジュール２０００の離脱検出部２２２０は、情報処理システム３０００から電池モジュール２０００が取り除かれていないと判定する。
【０１３５】
一方、図１８の情報処理システム３０００から電池モジュール２０００−３を取り除いたとする。この状況を図１８（ｂ）に示す。この場合、まず、電池モジュール２０００−１、電池モジュール２０００−２の順に識別子情報の送信が行われる。しかし、電池モジュール２０００−３からは識別子情報が送信されない。
【０１３６】
電池モジュール２０００−３によって送信されるはずだった識別子情報は、第１識別子として 0x03 を示す識別子情報である。そしてこの識別子情報は、電池モジュール２０００−４にとって上述した所定条件を満たす識別子情報である。そのため電池モジュール２０００−４の離脱検出部２２２０は、所定のタイミングで識別子情報を送信する。さらに電池モジュール２０００−５は、電池モジュール２０００−４によって送信された識別子情報を受信したことに応じて、識別子情報を送信する。
【０１３７】
そして、電池モジュール２０００−３以外によって送信された各識別子情報を受信した後、各電池モジュール２０００の離脱検出部２２２０は、受信した識別情報に示される第１識別子と、情報処理システム３０００に含まれる各電池モジュール２０００の第１識別子のリストを比較する。その結果、0x03 という第１識別子を示す識別子情報を受信していないことを割り出す。これにより、各電池モジュール２０００の離脱検出部２２２０は、電池モジュール２０００−３が情報処理システム３０００から取り除かれたことを検出する。
【０１３８】
＜第１識別子のリストについて＞
本実施形態では、前提として、各電池モジュール２０００がそれぞれ、情報処理システム３０００に含まれる各電池モジュール２０００に設定されている第１識別子が示されているリストを保持しているとする。このリストは、実施形態２で説明した第１識別子決定部２１４０によって作成される。なお、このリストは、第１識別子の一覧を示していれば
よく、第１識別子と電池モジュール２０００との対応付けを示している必要はない。
【０１３９】
実施形態１で説明したように、各電池モジュール２０００は、第１識別子を決定するための一連の処理において、他の各電池モジュール２０００から識別子情報を受信する。そして、第１識別子決定部２１４０は、情報処理システム３０００に含まれている電池モジュール２０００の個数を、受信した識別子情報の数（当該電池モジュール２０００を除く電池モジュール２０００の総数）に１を加えた数として算出することができる。つまり第１識別子決定部２１４０は、情報処理システム３０００に含まれている電池モジュール２０００の総数を把握することができる。
【０１４０】
そこで第１識別子決定部２１４０は、第１識別子の昇順にソートした候補集合に含まれる第１識別子のうち、先頭から上記総数の第１識別子を示すリストを、前述したリストとして作成する。
【０１４１】
＜作用・効果＞
本実施形態の情報処理システム３０００によれば、情報処理システム３０００から電池モジュール２０００が取り除かれたことを自動で把握することができる。
【０１４２】
以上、図面を参照して本発明の実施形態について述べたが、これらは本発明の例示であり、上記各実施形態の組み合わせ、又は上記以外の様々な構成を採用することもできる。
【０１４３】
以下、参考形態の例を付記する。
１．  複数の電池モジュールを有する情報処理システムであって、
各前記電池モジュールは、第１通信網によって他の全ての前記電池モジュールと通信可能であり、
各前記電池モジュールは、線形トポロジを構成する第２通信網を介して他の前記電池モジュールと通信可能であり、
前記電池モジュールは、
前記第１通信網を介し、他の全ての前記電池モジュールに対して識別子情報を送信する識別子情報送信手段を有し、
前記識別子情報は、その電池モジュールに設定されている前記第１通信網上の第１識別子を示すか、又はその電池モジュールに前記第１識別子が設定されていないことを示し、
他の前記電池モジュールによって送信された前記識別子情報を受信する識別子情報受信手段と、
前記第２通信網を介して、前記第２通信網上の第１方向において隣接する他の前記電池モジュールに対して第１通知を行う第１通知実行手段と、
前記第２通信網上の第２方向において隣接する他の前記電池モジュールによって行われる前記第１通知を検出する第１通知検出手段と、
全ての前記複数の電池モジュールの識別子情報送信手段によって識別子情報が送信されたことに応じ、他の各電池モジュールから受信した前記識別子情報を用いて、当該電池モジュールの前記第１識別子が、他の各電池モジュールの前記第１識別子と重複しているか否かを判定する判定手段と、を有し、
第１の前記電池モジュールの前記識別子情報送信手段は、当該第１の電池モジュールの前記第１通知検出手段によって前記第１通知が検出されたこと以外の所定の事象に応じて、前記識別子情報を送信し、
第１の前記電池モジュール以外の各前記電池モジュールの前記識別子情報送信手段は、前記第１通知検出手段によって前記第１通知が検出されたことに応じて、前記識別子情報を送信する、情報処理システム。
２．  前記電池モジュールは、その電池モジュールの前記第１識別子が他の前記電池モジュールの前記第１識別子と重複していると判定した場合に、所定のルールに従ってその電池モジュールの前記第１識別子を他の前記電池モジュールと重複しない値に決定する第１識別子決定手段を有する、１．に記載の情報処理システム。
３．  前記所定のルールは、前記電池モジュールが識別子情報を送信した時点又は前記電池モジュールの製造番号に基づいて、その電池モジュールに設定する前記第１識別子を決定するルールである、２．に記載の情報処理システム。
４．  前記電池モジュールは、
前記第２通信網を介して、前記第２通信網上の第２方向において隣接する他の前記電池モジュールに対して第２通知を行う第２通知実行手段と、
前記第２通信網上の第１方向において隣接する他の前記電池モジュールによって行われる前記第２通知を検出する第２通知検出手段と、を有し、
前記第２通信網において前記第１方向の終端に位置する第２の電池モジュールは、前記識別子情報を送信した後に、前記判定手段による前記判定と、前記第２通知実行手段による前記第２通知とを行い、
前記第２の電池モジュール以外の前記電池モジュールは、前記第２通知検出手段によって前記第２通知が検出されたことに応じて、前記判定手段による前記判定と、前記第２通知実行手段による前記第２通知とを行う、２．又は３．に記載の情報処理システム。
５．  前記電池モジュールは、その電池モジュールの前記第１識別子が他の前記電池モジュールの前記第１識別子と重複していると判定した場合に警告を出力する変更手段を有する、１．に記載の情報処理システム。
６．  前記第１通知検出手段は、受信した前記識別子情報を識別子情報記憶手段に記憶させ、
前記判定手段は、前記識別子情報記憶手段に記憶されている識別子情報を利用する、１．乃至５．いずれか一つに記載の情報処理システム。
７．  １．乃至６．いずれか一つに記載の情報処理システムが有する電池モジュール。
８．  複数の電池モジュールを有する情報処理システムによって実行される制御方法であって、
各前記電池モジュールは、第１通信網によって他の全ての前記電池モジュールと通信可能であり、
各前記電池モジュールは、線形トポロジを構成する第２通信網を介して他の前記電池モジュールと通信可能であり、
前記電池モジュールが、前記第１通信網を介し、他の全ての前記電池モジュールに対して識別子情報を送信する識別子情報送信ステップを有し、
前記識別子情報は、その電池モジュールに設定されている前記第１通信網上の第１識別子を示すか、又はその電池モジュールに前記第１識別子が設定されていないことを示し、
前記電池モジュールが、他の前記電池モジュールによって送信された前記識別子情報を受信する識別子情報受信ステップと、
前記電池モジュールが、前記第２通信網を介して、前記第２通信網上の第１方向において隣接する他の前記電池モジュールに対して第１通知を行う第１通知実行ステップと、
前記電池モジュールが、前記第２通信網上の第２方向において隣接する他の前記電池モジュールによって行われる前記第１通知を検出する第１通知検出ステップと、
前記電池モジュールが、全ての前記複数の電池モジュールの識別子情報送信ステップによって識別子情報が送信されたことに応じ、他の各電池モジュールから受信した前記識別子情報を用いて、当該電池モジュールの前記第１識別子が、他の各電池モジュールの前記第１識別子と重複しているか否かを判定する判定ステップと、を有し、
第１の前記電池モジュールの前記識別子情報送信ステップでは、当該第１の電池モジュールの前記第１通知検出ステップにおいて前記第１通知が検出されたこと以外の所定の事象に応じて、前記識別子情報を送信し、
第１の前記電池モジュール以外の各前記電池モジュールの前記識別子情報送信ステップでは、前記第１通知検出ステップにおいて前記第１通知が検出されたことに応じて、前記識別子情報を送信する、制御方法。
９．  前記電池モジュールが、その電池モジュールの前記第１識別子が他の前記電池モジュールの前記第１識別子と重複していると判定した場合に、所定のルールに従ってその電池モジュールの前記第１識別子を他の前記電池モジュールと重複しない値に決定する第１識別子決定ステップを有する、８．に記載の制御方法。
１０．  前記所定のルールは、前記電池モジュールが識別子情報を送信した時点又は前記電池モジュールの製造番号に基づいて、その電池モジュールに設定する前記第１識別子を決定するルールである、９．に記載の制御方法。
１１．  前記電池モジュールが、前記第２通信網を介して、前記第２通信網上の第２方向において隣接する他の前記電池モジュールに対して第２通知を行う第２通知実行ステップと、
前記電池モジュールが、前記第２通信網上の第１方向において隣接する他の前記電池モジュールによって行われる前記第２通知を検出する第２通知検出ステップと、を有し、
前記第２通信網において前記第１方向の終端に位置する第２の電池モジュールは、前記識別子情報を送信した後に、前記判定ステップによる前記判定と、前記第２通知実行ステップによる前記第２通知とを行い、
前記第２の電池モジュール以外の前記電池モジュールは、前記第２通知検出ステップによって前記第２通知が検出されたことに応じて、前記判定ステップによる前記判定と、前記第２通知実行ステップによる前記第２通知とを行う、８．又は９．に記載の制御方法。
１２．  前記電池モジュールが、その電池モジュールの前記第１識別子が他の前記電池モジュールの前記第１識別子と重複していると判定した場合に警告を出力する変更ステップを有する、８．に記載の制御方法。
１３．  前記第１通知検出ステップにおいて、受信した前記識別子情報を識別子情報記憶手段に記憶させ、
前記判定ステップにおいて、前記識別子情報記憶手段に記憶されている識別子情報を利用する、８．乃至１２．いずれか一つに記載の制御方法。
１４．  コンピュータに、８．乃至１３．いずれか一つに記載の制御方法の各ステップを実行させるプログラム。
【符号の説明】
【０１４４】
１０  電池セル
１０００  コントローラ
１０２０  バス
１０４０  プロセッサ
１０６０  メモリ
１０８０  ストレージ
１１００  入出力インタフェース
１１２０  第１ネットワークインタフェース
１１４０  第２ネットワークインタフェース
２０００  電池モジュール
２０２０  識別子情報送信部
２０４０  識別子情報受信部
２０６０  第１通知実行部
２０８０  第１通知検出部
２１００  判定部
２１２０  識別子情報記憶部
２１４０  第１識別子決定部
２１６０  警告部
２１８０  第２通知実行部
２２００  第２通知検出部
２２２０  離脱検出部
３０００  情報処理システム
３０２０  第１通信網
３０４０  第２通信網
３０４１  信号線
３０４２  第１方向
３０４４  第２方向
３０４６  第２信号線
【図１】
2018006940.tif 000003
【図２】
2018006940.tif 000004
【図３】
2018006940.tif 000005
【図４】
2018006940.tif 000006
【図５】
2018006940.tif 000007
【図６】
2018006940.tif 000008
【図７】
2018006940.tif 000009
【図８】
2018006940.tif 000010
【図９】
2018006940.tif 000011
【図１０】
2018006940.tif 000012
【図１１】
2018006940.tif 000013
【図１２】
2018006940.tif 000014
【図１３】
2018006940.tif 000015
【図１４】
2018006940.tif 000016
【図１５】
2018006940.tif 000017
【図１６】
2018006940.tif 000018
【図１７】
2018006940.tif 000019
【図１８】
2018006940.tif 000020