(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024048095
(43)【公開日】2024-04-08
(54)【発明の名称】区間抽出装置、区間抽出方法、プログラム、及びデータ構造
(51)【国際特許分類】
G06Q 10/0833 20230101AFI20240401BHJP
【FI】
G06Q10/08 306
【審査請求】有
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2022153959
(22)【出願日】2022-09-27
(71)【出願人】
【識別番号】000102717
【氏名又は名称】NTTテクノクロス株式会社
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(72)【発明者】
【氏名】小森 絵未
(72)【発明者】
【氏名】宮崎 泰彦
【テーマコード(参考)】
5L049
【Fターム(参考)】
5L049AA16
(57)【要約】
【課題】占有者移転履歴と環境情報とを効率的に対応付けることが可能な技術を提供すること。
【解決手段】区間抽出装置が、サプライチェーンにおける物の占有者の移転履歴を表す占有移転履歴データに基づいて、前記物の環境情報を対応付ける区間として、前記占有者が同時に占有する物の総量の変化によって区切られる区間を表すセグメントを抽出するように構成されているセグメント抽出部、を有する。
【選択図】
図2
【特許請求の範囲】
【請求項1】
サプライチェーンにおける物の占有者の移転履歴を表す占有移転履歴データに基づいて、前記物の環境情報を対応付ける区間として、前記占有者が同時に占有する物の総量の変化によって区切られる区間を表すセグメントを抽出するように構成されているセグメント抽出部、
を有する区間抽出装置。
【請求項2】
前記セグメント抽出部によって抽出されたセグメント毎に、前記セグメントに対して、該セグメントで前記占有者が同時に占有する物の環境情報を対応付けるように構成されている対応付け部を有する請求項1に記載の区間抽出装置。
【請求項3】
前記セグメントと、該セグメントに対応付けられている環境情報とを可視化するように構成されている可視化部を有する請求項2に記載の区間抽出装置。
【請求項4】
前記環境情報は、前記サプライチェーン中で前記物が存在する空間全体を点としてセンサにより計測した点情報であり、
前記対応付け部は、
前記環境情報の時系列が与えられた場合、前記セグメント抽出部によって抽出されたセグメント毎に、前記セグメントに対して、与えられた前記環境情報の時系列のうち前記セグメントが表す区間に含まれる環境情報の時系列を対応付けるように構成されている請求項2又は3に記載の区間抽出装置。
【請求項5】
前記環境情報は、前記サプライチェーン中で前記物が存在する空間全体の所定の量をセンサにより計測した量情報であり、
前記対応付け部は、
前記環境情報の時系列の積算値が与えられた場合、前記セグメント抽出部によって抽出されたセグメント毎に、与えられた積算値から前記セグメントが表す区間の前記量を算出し、前記セグメントに対して、前記量を対応付けるように構成されている請求項2又は3に記載の区間抽出装置。
【請求項6】
前記セグメントで前記占有者が同時に占有する物の総量を用いて、前記セグメントの商品毎の前記量を算出するように構成されている第1の算出部を有する請求項5に記載の区間抽出装置。
【請求項7】
前記セグメントの商品毎の前記量を用いて、前記占有者が前記物を占有している区間を表す占有区間における前記物の前記量を算出するように構成されている第2の算出部を有する請求項6に記載の区間抽出装置。
【請求項8】
サプライチェーンにおける物の占有者の移転履歴を表す占有移転履歴データに基づいて、前記物の環境情報を対応付ける区間として、前記占有者が同時に占有する物の総量の変化によって区切られる区間を表すセグメントを抽出するように構成されているセグメント抽出手順、
をコンピュータが実行する区間抽出方法。
【請求項9】
サプライチェーンにおける物の占有者の移転履歴を表す占有移転履歴データに基づいて、前記物の環境情報を対応付ける区間として、前記占有者が同時に占有する物の総量の変化によって区切られる区間を表すセグメントを抽出するように構成されているセグメント抽出手順、
をコンピュータに実行させるプログラム。
【請求項10】
サプライチェーンにおける物の環境情報と時間的な区間とをコンピュータが対応付けるための処理に用いられる前記区間のデータ構造であって、前記サプライチェーンにおける前記物の占有者が同時に占有する物の総量の変化によって区切られる区間のデータ構造。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、区間抽出装置、区間抽出方法、プログラム、及びデータ構造に関する。
【背景技術】
【0002】
近年、サプライチェーン分野では、商品や製品等といった何等かの物品(以下、これらを総称して「商品」という。)の不具合時のトレーサビリティ確保を目的として、占有者移転履歴をステークホルダ間で共有することの重要性が認識されている。占有者移転履歴とは、例えば、何が、いつ、どこからどこへ移動したのかを1商品単位で記録したもの(つまり、1商品単位で各商品がいつどの占有者からどの占有者に移転したのかを記録したもの)のことである。
【0003】
例えば、従来技術の1つとして、特許文献1には、複数のノードで構成されるブロックチェーンにより資源物のトレーサビリティシステムを実現することが記載されている。
【0004】
また、不具合発生時の解析・分析やコスト削減・業務効率化等といった目的のために、IoT(Internet of Things)センサを輸送車や倉庫等に設置して、それらのIoTセンサによって計測される情報(以下、環境情報ともいう。)をモニタリングする取り組みも普及しつつある。例えば、近年、国際的に脱炭素化の機運が高まる中で、IoTセンサで計測されたCO2排出量等といった環境情報を可視化する取り組みに関心が高まりつつある。
【0005】
このため、今後、1商品単位の占有者移転履歴とIoTセンサによって計測された環境情報とを対応付けることにより、商品のサプライチェーンにおいて、1商品単位の詳細な環境情報の可視化が可能になっていくことが期待されている。
【先行技術文献】
【特許文献】
【0006】
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、占有者移転履歴は1商品単位に大量に存在するため、それらの占有者移転履歴に対して環境情報を単純に対応付けた場合、データ量が膨大となってしまう。このため、1商品単位の詳細な環境情報を可視化した際にその可視化結果が煩雑となり、その結果、例えば、不具合発生時の解析・分析等に多くの時間を要する可能性がある。
【0008】
本開示は、上記の点に鑑みてなされたもので、占有者移転履歴と環境情報とを効率的に対応付けることが可能な技術を提供することを目的とする。
【課題を解決するための手段】
【0009】
本開示の一態様による区間抽出装置は、サプライチェーンにおける物の占有者の移転履歴を表す占有移転履歴データに基づいて、前記物の環境情報を対応付ける区間として、前記占有者が同時に占有する物の総量の変化によって区切られる区間を表すセグメントを抽出するように構成されているセグメント抽出部、を有する。
【発明の効果】
【0010】
占有者移転履歴と環境情報とを効率的に対応付けることが可能な技術が提供される。
【図面の簡単な説明】
【0011】
【
図1】占有者移転履歴の一例を説明するための図である。
【
図2】量情報タイプの環境情報に関する処理の流れの一例を説明するための図(その1)である。
【
図3】量情報タイプの環境情報に関する処理の流れの一例を説明するための図(その2)である。
【
図4】量情報タイプの環境情報の可視化結果の一例を示す図である。
【
図5】セグメント化判定閾値の一例を説明するための図である。
【
図6】点情報タイプの環境情報に関する処理の流れの一例を説明するための図である。
【
図7】実施例1における環境情報管理装置のハードウェア構成の一例を示す図である。
【
図8】実施例1における環境情報管理装置の機能構成の一例を示す図である。
【
図9】実施例1における環境情報管理装置の処理フローの一例を示す図である。
【
図10】実施例1におけるセグメント抽出処理の一例を示す図である。
【
図11】実施例1における占有区間抽出処理の一例を示す図である。
【
図12】実施例2における環境情報管理装置の機能構成の一例を示す図である。
【
図13】実施例2における環境情報管理装置の処理フローの一例を示す図である。
【発明を実施するための形態】
【0012】
以下、本発明の一実施形態について説明する。
【0013】
<占有者移転履歴>
占有者移転履歴とは、1商品単位で各商品がいつどの占有者からどの占有者に移転したのかを記録したもののことである。占有者移転履歴が記録されることで、商品の物流に関するトレーサビリティ(以下、単に物流トレーサビリティともいう。)が確保される。
【0014】
また、占有者とは、商品(モノ)やサービス(無形)を一時的又は非一時的に支配・管理している自然人や法人、又はその支配・管理下にある空間等の支配・管理対象のことである。以下では、一例として、占有者は商品を一時的又は非一時的に支配・管理している空間であるものとして説明する。
【0015】
占有者の具体例としては、例えば、荷台等により商品を運搬可能なトラック等といった輸送車、商品を運搬可能な列車、商品を保管可能な倉庫や工場、商品を販売等する店舗等が挙げられる。なお、1台のトラックや1台の列車、1つの倉庫、1つの店舗等に複数の占有者が含まれていてもよい。例えば、倉庫内に複数の部屋が存在する場合、各部屋のそれぞれを1つの占有者としてもよいし、所定の2つ以上の部屋を1つの占有者としてもよい。同様に、倉庫内に複数のフロアが存在する場合、各フロアのそれぞれを1つの占有者としてもよいし、所定の2つ以上のフロアを1つの占有者としてもよい。輸送車が複数の荷台を備えている場合や列車が複数の車両で構成されている場合等についても同様である。
【0016】
以下、占有者移転履歴を表すデータのことを「占有者移転履歴レコード」といい、占有者移転履歴レコードで構成されるテーブル形式のデータを「占有者移転履歴テーブル」というものとする。占有者移転履歴レコードは、或る1つの商品がいつどの占有者からどの占有者に移転したかを表している。占有者移転履歴レコードは、例えば、以下のようなデータ形式で表される。
【0017】
(商品個別ID,移転日時,移転元ID,移転先ID,商品量)
ここで、商品個別IDは、商品のサプライチェーンの中で商品を一意に識別する識別子(例えば、製造固有番号等)である。移転日時は、商品の移転(ただし、生産・製造等により商品を原始取得した場合、販売や処分、消尽等により商品を譲渡した場合等も含む。)が発生した日時のことである。移転元IDは、移転元の占有者を一意に識別する識別子である。移転先IDは、移転先の占有者を一意に識別する識別子である。商品量は、商品の大きさや量、重量、体積、個数等を表す情報である。なお、生産・製造等により商品が原始取得された場合は、移転元IDには、商品が原始取得されたことを表す或る所定の識別子が設定される。一方で、販売等により商品を譲渡した場合等は、移転先IDには、商品が譲渡されたこと等を表す或る所定の識別子が設定される。以下、占有者移転履歴テーブルにおけるプライマリキー(主キー)は(商品個別ID,移転日時)であるものとする。
【0018】
一例として、占有者移転履歴レコードをブロックチェーン(Ethereum(登録商標))の代替不可能トークン(例えば、ERC721トークン等)により実現した場合を
図1に示す。
図1に示す例では、工場(占有者ID:0x111)で或る商品(商品個別ID:item1)が製造され、占有者移転履歴レコード(商品個別ID,移転日時,移転元ID,移転先ID,商品量)=(item1,2022/1/1 12:00,0x0,0x111,1)が生成されてブロックチェーンの分散台帳(以下、BCとも略記する。)に記録される。なお、
図1に示す例では、商品が原始取得されたことを表す識別子(アドレス)を0x0(無効なアドレス)としている。
【0019】
その後、
図1に示す例では、トラック1(占有者ID:0x222)に占有者移転が発生し、占有者移転履歴レコード(商品個別ID,移転日時,移転元ID,移転先ID,商品量)=(item1,2022/1/2 15:30,0x111,0x222,1)がBCに記録される。以降も同様に、その後、倉庫(占有者ID:0x333)に占有者移転が発生し、占有者移転履歴レコード(商品個別ID,移転日時,移転元ID,移転先ID,商品量)=(item1,2022/1/2 18:00,0x222,0x333,1)がBCに記録される。同様に、その後、トラック2(占有者ID:0x444)に占有者移転が発生し、占有者移転履歴レコード(商品個別ID,移転日時,移転元ID,移転先ID,商品量)=(item1,2022/1/3 13:00,0x333,0x444,1)がBCに記録される。同様に、その後、店舗(占有者ID:0x555)に占有者移転が発生し、占有者移転履歴レコード(商品個別ID,移転日時,移転元ID,移転先ID,商品量)=(item1,2022/1/4 9:00,0x444,0x555,1)がBCに記録される。最後に、店舗(占有者ID:0x555)で商品(商品個別ID:item1)が販売され、占有者移転履歴レコード(商品個別ID,移転日時,移転元ID,移転先ID,商品量)=(item1,2022/1/4 16:00,0x555,0x0,1)がBCに記録される。なお、
図1に示す例では、商品が販売されたことを表す識別子(アドレス)を0x0(無効なアドレス)としている。
【0020】
このように、占有者移転履歴レコードにより、商品の生産・製造から流通、販売までの一連の物流サプライチェーンにおけるトレーサビリティ(物流トレーサビリティ)が確保される。なお、
図1に示す例では物流トレーサビリティを確保するためのシステム(物流トレーサビリティシステム)をブロックチェーンにより実現したが、これは一例である。ブロックチェーン以外にも、例えば、商品単位で占有者移転履歴を保管できれば、センタ管理型のデータベースシステムによって物流トレーサビリティが確保されてもよい。本実施形態が適用可能な物流トレーサビリティシステムは特定の物流トレーサビリティシステムに限定されるものではなく、IDやバーコード、RFID(Radio Frequency Identification)タグ等によって管理対象を特定した上で占有者移転履歴レコードを管理可能な仕組みであれば任意の物流トレーサビリティシステムに対して適用可能である。
【0021】
<環境情報>
環境情報とは、或る空間(占有者が一時的又は非一時的に支配・管理している空間も含む。)に設置等されたIoTセンサによって計測される情報のことである。本実施形態では、物流サプライチェーン上の少なくとも一部の占有者が支配・管理している空間内で何等かの環境情報がIoTセンサによって計測されているものとする。
【0022】
環境情報の具体例としては、例えば、GPS(Global Positioning System)情報(つまり、GPS受信機で受信した電波を利用して測位された位置情報)、温度、湿度、電力使用量、燃料使用量、CO2排出量等が挙げられる。
【0023】
環境情報は、点情報タイプと量情報タイプに分類することができる。点情報タイプの環境情報としては、例えば、GPS情報、温度、湿度等が挙げられる。一方で、量情報タイプの環境情報としては、例えば、電力使用量、燃料使用量、CO2排出量等が挙げられる。
【0024】
点情報タイプの環境情報は、IoTセンサの計測空間内に複数の商品が存在していても、各商品の環境情報は同一(同一とみなすことができる場合も含む)となる。また、点情報タイプの環境情報は、時系列に存在する1点1点が強い意味を持つ情報であり、環境情報同士を足したり割ったりすることはない。一方で、量情報タイプの環境情報では、IoTセンサの計測空間内に複数の商品が存在する場合、商品の総量や属性等を考慮して1商品毎の環境情報を求めることが期待される。具体的には、例えば、商品の総量や属性等を考慮した按分計算によって1商品毎の消費電力量や燃料使用量、CO2排出量等を求めることが期待される。
【0025】
また、占有者移転履歴と環境情報とを対応付けることにより、物流サプライチェーン上における1商品単位の詳細な環境情報(つまり、占有者毎の1商品単位の環境情報)の可視化が期待される。一方で、占有者移転履歴は1商品単位に大量に存在するため、占有者移転履歴と環境情報とを単純に対応付けた場合、データ量が膨大となってしまうという課題がある。
【0026】
更に、量情報タイプの環境情報に関して按分計算を行う場合、単純な按分計算では1商品単位の環境情報が不正確になるという課題もある。例えば、環境情報としてCO2排出量を考え、或るトラックが倉庫から出発して複数の拠点に商品を配送するものとする。このとき、その配送経路中のCO2排出量を単純に商品総量で按分した場合、先に積み下ろした商品のCO2排出量が実際よりも多く算出される一方で、後に積み下ろした商品のCO2排出量が実際よりも少なく算出されることになる。
【0027】
そこで、以下では、上記の2つの課題を解決するために「セグメント」と呼ばれる区間を導入し、セグメントを利用して占有者移転履歴と環境情報とを効率的に対応付けると共に、量情報タイプの環境情報に関しては1商品単位のより正確な環境情報を計算可能とする手法(提案手法)について説明する。
【0028】
なお、量情報タイプの環境情報に関して1商品単位のより正確な環境情報が計算できれば、例えば、温室効果ガス(GHG:Greenhouse Gas)プロトコルで定められている物流サプライチェーンにおけるScope3 カテゴリ4と9(輸送、配送)に関するCO2排出量をより正確に計算することが可能となる。
【0029】
<提案手法の概略>
・量情報タイプの環境情報について
或る期間(例えば、現在日時までの所定の期間等)の占有者移転履歴レコードで構成された占有者移転履歴テーブルが与えられているものとする。また、量情報タイプの環境情報に関しては、占有者毎の時系列の環境情報の積算値が得られているものとする。以下、一例として、量情報タイプの環境情報はCO2排出量であるものとし、占有者毎の時系列のCO2排出量の積算値(以下、積算CO2排出量ともいう。)が得られているものとする。
【0030】
このとき、本提案手法では、以下の(1-1)~(1-6)の処理を実行する。
【0031】
(1-1)セグメント抽出
占有者移転履歴テーブルに格納されている占有者移転履歴レコードの移転日時等に基づいて、占有者毎のセグメントを抽出する。セグメントとは、占有者が同時に占有する商品の総量の変化によって区切られる区間のことである。セグメントは、占有者に対応付けられた区間となる。ここで、商品の総量とは、そのセグメントに対応付けられた占有者が同時に占有する商品の商品量の合計のことである。この商品の総量は、量情報タイプの環境情報を按分するために用いられる。大きさや量、重量、体積、個数等のいずれを商品量とするかは、例えば、その商品の属性や性質等によって決定される。なお、セグメント抽出の具体的な方法については後述する。
【0032】
(1-2)占有区間抽出
占有者移転履歴テーブルに格納されている占有者移転履歴レコードの移転元ID及び移転先ID等に基づいて、商品毎の占有区間を抽出する。占有区間とは、商品を占有する占有者の変化によって区切られる区間のことである。占有区間は、商品に対応付けられた区間となる。なお、占有区間抽出の具体的な方法については後述する。
【0033】
(1-3)セグメント毎CO2排出量算出
セグメント毎CO2排出量を算出する。例えば、セグメントの開始日時を「セグメント開始日時」、終了日時を「セグメント終了日時」として、各セグメントに関して、セグメント終了日時に最も近い日時の積算CO2排出量(以下、第1の積算CO2排出量という。)と、セグメント開始日時に最も近い日時の積算CO2排出量(以下、第2の積算CO2排出量という。)とを取得する。そして、第1の積算CO2排出量から第2の積算CO2排出量を減算した値を当該セグメントのセグメント毎CO2排出量として算出する。ただし、この算出方法は一例であって、セグメント毎CO2排出量の算出方法はこれに限られるものではない。
【0034】
(1-4)セグメント毎商品単位CO2排出量算出
例えば、各セグメントに関して、セグメント毎商品単位CO2排出量=セグメント毎CO2排出量×商品量/(当該セグメントで占有者が同時に占有する商品の総量)により当該セグメントの各商品に関するセグメント毎商品単位CO2排出量を算出する。
【0035】
(1-5)占有区間毎商品単位CO2排出量算出
例えば、占有区間の占有者と同一のセグメントであって、当該占有区間の開始日時以前で最も近いセグメント開始日時を持つセグメントから当該占有区間の終了日時以降で最も近いセグメント終了日時を持つセグメントまでの間に含まれるセグメントのセグメント毎商品単位CO2排出量の総和を、当該占有区間の占有区間毎商品単位CO2排出量として算出する。
【0036】
(1-6)可視化
占有区間毎商品単位CO2排出量やセグメント毎商品単位CO2排出量等を可視化(例えば、ディスプレイ等に表示)する。
【0037】
セグメント毎CO2排出量と占有区間毎商品単位CO2排出量とを算出する場合の具体例について、
図2及び
図3を参照しながら説明する。例えば、
図2に示すように、或る日のトラック1(占有者)の輸送経路が以下であったものとする。
【0038】
・12:00に倉庫aで商品A、Bを積み、
・13:00に倉庫bで商品C、Dを積み、
・14:00に店舗cで商品B、C、Dを下ろし、
・15:00に店舗dで商品Aを下ろす。
【0039】
また、商品A、Bの商品量(重量)は5kg、商品C、Dの商品量(重量)は3kgであったものとする。
【0040】
このとき、
図3に示すように、トラック1のセグメントは、12:00~13:00が「セグメント1」、13:00~14:00が「セグメント2」、14:00~15:00が「セグメント3」となる。また、商品Aのトラック1に関する占有区間は12:00~15:00、商品Bのトラック1に関する占有区間は12:00~14:00、商品Cのトラック1に関する占有区間は13:00~14:00、商品Dのトラック1に関する占有区間は13:00~14:00となる。
【0041】
また、
図2に示すように、セグメント毎CO2排出量を算出した結果は以下のようになったものとする。
【0042】
セグメント1に関するセグメント毎CO2排出量:100
セグメント2に関するセグメント毎CO2排出量:100
セグメント3に関するセグメント毎CO2排出量:100
以上の場合、トラック1の各セグメントの各商品に関するセグメント毎商品単位CO2排出量は以下により算出される。
【0043】
セグメント1の商品Aに関するセグメント毎商品単位CO2排出量:100×5/10
セグメント1の商品Bに関するセグメント毎商品単位CO2排出量:100×5/10
セグメント2の商品Aに関するセグメント毎商品単位CO2排出量:100×5/16
セグメント2の商品Bに関するセグメント毎商品単位CO2排出量:100×5/16
セグメント2の商品Cに関するセグメント毎商品単位CO2排出量:100×3/16
セグメント2の商品Dに関するセグメント毎商品単位CO2排出量:100×3/16
セグメント3の商品Aに関するセグメント毎商品単位CO2排出量:100×5/5
したがって、占有区間毎商品単位CO2排出量は以下により算出される。
【0044】
トラック1の占有区間に関する商品Aの占有区間毎商品単位CO2排出量:100×5/10+100×5/16+100×5/5≒181
トラック1の占有区間に関する商品Bの占有区間毎商品単位CO2排出量:100×5/10+100×5/16≒81
トラック1の占有区間に関する商品Cの占有区間毎商品単位CO2排出量:100×3/16≒19
トラック1の占有区間に関する商品Dの占有区間毎商品単位CO2排出量:100×3/16≒19
これにより、セグメント毎商品単位CO2排出量と占有区間毎商品単位CO2排出量とが得られる。このため、これらを可視化し、例えば、不具合発生時の解析・分析やコスト削減・業務効率化等といった目的に利用することができる。
【0045】
また、このとき、各商品のCO2排出量が占有区間やセグメントに対応付けられるため、単純に占有者移転履歴に対してCO2排出量を対応付ける場合と比較してデータ量を大幅に削減することができる。このため、例えば、不具合発生時の解析・分析等といった処理をセグメント単位に実行することが可能となり、その結果、処理時間の大幅な削減が期待できる。
【0046】
更に、各商品に関してセグメント単位にCO2排出量を求めた上で、それを積み上げて占有区間単位のCO2排出量が算出されるため、単純な按分計算と比較してより正確なCO2排出量を算出することが可能となる。
【0047】
ここで、セグメント毎商品単位CO2排出量と占有区間毎商品単位CO2排出量とを可視化した結果の一例を
図4に示す。
図4に示す例では、各占有区間に関する或る商品(商品個別ID:item1)の占有区間毎商品単位CO2排出量(CO2排出量(kg-CO2))とそれに関連する情報(商品個別ID、占有者、占有区間開始日時、占有区間終了日時、合計等)とが表示欄1000上に可視化されている。また、
図4に示す例では、或るセグメントの当該商品に関するセグメント毎商品単位CO2排出量(1商品当たりのCO2排出量(kg-CO2))とそれに関連する情報(商品個別ID、重量、占有者、セグメント開始日時、セグメント終了日時、セグメントのCO2排出量(kg-CO2)、同時占有商品総量(kg)、合計等)とが表示欄1100上に可視化されている。なお、表示欄1100は、例えば、表示欄1000上でユーザ等によって所望のセグメントが選択されることによって表示されてもよい。
【0048】
・点情報タイプの環境情報について
或る期間(例えば、現在日時までの所定の期間等)の占有者移転履歴レコードで構成された占有者移転履歴テーブルが与えられているものとする。また、点情報タイプの環境情報に関しては、占有者毎の時系列の環境情報が得られているものとする。以下、一例として、点情報タイプの環境情報はGPS情報であるものとし、占有者毎の時系列のGPS情報が得られているものとする。
【0049】
このとき、本提案手法では、以下の(2-1)~(2-3)の処理を実行する。
【0050】
(2-1)セグメント抽出
これは上記の(1-1)と同様である。すなわち、占有者移転履歴テーブルに格納されている占有者移転履歴レコードの移転日時等に基づいて、占有者毎のセグメントを抽出する。ただし、点情報タイプでは商品の総量で環境情報を按分する必要がないため、商品量としては、例えば、商品の個数等を用いればよい。なお、セグメント抽出の具体的な方法については後述する。
【0051】
・セグメント化判定閾値について
例えば、複数の商品を或る倉庫に同時に入庫したり、或る倉庫から複数の商品を同時に出庫したりする場合であっても、これら複数の商品に関して占有者移転履歴レコード上の移転日時が完全に同一になるとは限らない。これは、例えば、トラックから商品を積み下ろした順に占有者移転履歴レコードの移転日時が更新される場合があるためである。また、例えば、ブロックチェーンの代替不可能トークンにより占有者移転履歴レコードを実現した場合、占有者移転履歴レコードを更新するためのトランザクションが同一のブロックに記録されるとは限らないためである。
【0052】
このため、厳密に商品総量の変化によってセグメントを区切った場合、セグメントが細かくなり過ぎて、意味のあるセグメントとならない可能性がある。そこで、同一占有者に関する移転に関して、移転日時が異なっていても、それらの差が一定未満であれば1つのセグメントと見做すように閾値(以下、この閾値を「セグメント化判定閾値」と呼ぶことにする。)を設ける。これにより、セグメントが細かくなり過ぎることが防止される。なお、セグメント化判定閾値は適切な値に予め設定される。
【0053】
例えば、
図5に示すように、トラック1から或る占有者(例えば、倉庫や店舗等)に対して商品A~商品D(いずれも商品量は「1kg」であるものとする。)がほぼ同時に順に移転されたものとする。このとき、厳密に商品総量の変化によってセグメントを区切った場合、
図5の上図に示すように、セグメント1(商品の総量「1kg」)、セグメント2(商品の総量「2kg」)、セグメント3(商品の総量「3kg」)、セグメント4(商品の総量「4kg」)が順に得られるが、これらは非常に細かいセグメントとなり、処理量が膨大となるだけで意味のあるセグメントとはいえない。このため、
図5の下図に示すように、同時に占有する商品の総量が変化しても移転日時間の差がセグメント化判定閾値未満であれば同一のセグメントとする。これにより、例えば、セグメント化判定閾値が3分である場合、
図5の下図に示すように、ほぼ同時に移転された商品A~商品Cはセグメント1(商品の総量「3kg」)で当該占有者が同時に占有していた商品として扱うことができる。
【0054】
(2-2)セグメント毎にGPS情報を対応付け
各セグメントとGPS情報とを対応付ける。例えば、各セグメントに関して、セグメント開始日時とセグメント終了日時との間に存在するGPS情報を取得し、これら取得したGPS情報を当該セグメントと対応付ければよい。
【0055】
(2-3)可視化
セグメント毎にそのセグメントに対応付けられているGPS情報を可視化(例えば、ディスプレイ等に表示)する。
【0056】
セグメント毎にGPS情報を対応付ける場合の具体例について、
図6を参照しながら説明する。例えば、
図6に示すように、或る日のトラック1(占有者)の輸送経路が以下であったものとする。
【0057】
・12:00に倉庫aで商品を200個積み、
・13:00に倉庫bで商品を200個積み、
・14:00に店舗cで商品を300個下ろし、
・15:00に店舗dで商品を100個下ろす。
【0058】
このとき、トラック1のセグメントは、12:00~13:00が「セグメント1」、13:00~14:00が「セグメント2」、14:00~15:00が「セグメント3」となる。
【0059】
このため、セグメント1には、12:00~13:00の間のGPS情報が対応付けられる。同様に、セグメント2には、13:00~14:00の間のGPS情報が対応付けられる。同様に、セグメント3には、14:00~15:00の間のGPS情報が対応付けられる。
【0060】
これにより、各セグメントとGPS情報とが対応付けが得られる。このため、これらを可視化し、例えば、不具合発生時の解析・分析やコスト削減・業務効率化等といった目的に利用することができる。
【0061】
また、このとき、GPS情報がセグメントに対応付けられるため、単純に占有者移転履歴に対してGPS情報を対応付ける場合と比較してデータ量を大幅に削減することができる。このため、例えば、不具合発生時の解析・分析等といった処理をセグメント単位に実行することが可能となり、その結果、処理時間の大幅な削減が期待できる。
【0062】
なお、セグメントに対応付けられているGPS情報の可視化結果の具体例については省略するが、例えば、セグメント毎に、そのセグメントに対応付けられているGPS情報を可視化(又は、それらのGPS情報のうちの1又は複数の代表的なGPS情報のみを可視化)すればよい。
【0063】
[実施例1]
以下、本実施形態の実施例1について説明する。実施例1では、環境情報がCO2排出量である場合を想定し、上記の(1-1)~(1-6)の処理を実行する環境情報管理装置10について説明する。ただし、環境情報がCO2排出量であることは一例であって、以下で説明する実施例1はCO2排出量以外の量情報タイプの環境情報(例えば、電力使用量、燃料使用量等)に対しても同様に適用可能である。
【0064】
<実施例1における環境情報管理装置10のハードウェア構成例>
実施例1における環境情報管理装置10のハードウェア構成例を
図7に示す。
図7に示すように、実施例1における環境情報管理装置10は一般的なコンピュータ又はコンピュータシステムのハードウェア構成により実現され、例えば、入力装置101と、表示装置102と、外部I/F103と、通信I/F104と、RAM(Random Access Memory)105と、ROM(Read Only Memory)106と、補助記憶装置107と、プロセッサ108とを有する。また、これらの各ハードウェアは、それぞれがバス109を介して通信可能に接続されている。
【0065】
入力装置101は、例えば、キーボード、マウス、タッチパネル、物理ボタン等である。表示装置102は、例えば、ディスプレイ、表示パネル等である。なお、環境情報管理装置10は、例えば、入力装置101及び表示装置102のうちの少なくとも一方を有していなくてもよい。
【0066】
外部I/F103は、記録媒体103a等の外部装置とのインタフェースである。環境情報管理装置10は、外部I/F103を介して、記録媒体103aの読み取りや書き込み等を行うことができる。記録媒体103aとしては、例えば、フレキシブルディスク、CD(Compact Disc)、DVD(Digital Versatile Disk)、SDメモリカード(Secure Digital memory card)、USB(Universal Serial Bus)メモリカード等が挙げられる。
【0067】
通信I/F104は、環境情報管理装置10が通信ネットワーク等に接続するためのインタフェースである。RAM105は、プログラムやデータを一時保持する揮発性の半導体メモリ(記憶装置)である。ROM106は、電源を切ってもプログラムやデータを保持することができる不揮発性の半導体メモリ(記憶装置)である。補助記憶装置107は、例えば、HDD(Hard Disk Drive)、SSD(Solid State Drive)、フラッシュメモリ等のストレージ装置(記憶装置)である。プロセッサ108は、CPU(Central Processing Unit)等の演算装置である。
【0068】
実施例1における環境情報管理装置10は、
図7に示すハードウェア構成を有することにより、後述する各種処理を実現することができる。なお、
図7に示すハードウェア構成は一例であって、環境情報管理装置10のハードウェア構成はこれに限られるものではない。例えば、環境情報管理装置10は、複数の補助記憶装置107や複数のプロセッサ108を有していてもよいし、図示したハードウェアの一部を有していなくてもよいし、図示したハードウェア以外の様々なハードウェアを有していてもよい。
【0069】
<実施例1における環境情報管理装置10の機能構成例>
実施例1における環境情報管理装置10の機能構成例を
図8に示す。
図8に示すように、実施例1における環境情報管理装置10は、セグメント抽出部201と、占有区間抽出部202と、セグメント毎CO2排出量算出部203と、セグメント毎商品単位CO2排出量算出部204と、占有区間毎商品単位CO2排出量算出部205と、可視化部206とを有する。これら各部は、例えば、環境情報管理装置10にインストールされた1以上のプログラムが、プロセッサ108等に実行させる処理により実現される。また、実施例1における環境情報管理装置10は、占有者移転履歴記憶部301と、積算CO2排出量記憶部302と、セグメント毎CO2排出量記憶部303と、占有区間毎商品単位CO2排出量記憶部304とを有する。これら各部は、例えば、補助記憶装置107等の記憶装置により実現される。
【0070】
セグメント抽出部201は、上記の(1-1)の処理を実行する。すなわち、セグメント抽出部201は、占有者移転履歴テーブルに格納されている占有者移転履歴レコードの移転日時等に基づいて、占有者毎のセグメントを抽出する。
【0071】
占有区間抽出部202は、上記の(1-2)の処理を実行する。すなわち、占有区間抽出部202は、占有者移転履歴テーブルに格納されている占有者移転履歴レコードの移転元ID及び移転先ID等に基づいて、商品毎の占有区間を抽出する。
【0072】
セグメント毎CO2排出量算出部203は、上記の(1-3)の処理を実行する。すなわち、セグメント毎CO2排出量算出部203は、セグメント毎CO2排出量を算出する。なお、これは、各セグメントに対して、そのセグメントにおけるCO2排出量を対応付けているともいえる。
【0073】
セグメント毎商品単位CO2排出量算出部204は、上記の(1-4)の処理を実行する。すなわち、セグメント毎商品単位CO2排出量算出部204は、セグメント毎商品単位CO2排出量を算出する。
【0074】
占有区間毎商品単位CO2排出量算出部205は、上記の(1-5)の処理を実行する。すなわち、占有区間毎商品単位CO2排出量算出部205は、占有区間毎商品単位CO2排出量を算出する。
【0075】
可視化部206は、上記の(1-6)の処理を実行する。すなわち、可視化部206は、占有区間毎商品単位CO2排出量やセグメント毎商品単位CO2排出量等を可視化する。
【0076】
占有者移転履歴記憶部301は、与えられた占有者移転履歴レコード(例えば、現在日時をT、或る所定の時間幅をΔTとして、T-ΔTからTまでの期間における占有者移転履歴レコード)で構成される占有者移転履歴テーブルを記憶する。これらの占有者移転履歴レコードは、例えば、物流トレーサビリティシステムから与えられる。
【0077】
積算CO2排出量記憶部302は、占有者毎の積算CO2排出量(例えば、T-ΔTからTまでの期間における占有者毎の積算CO2排出量)を記憶する。占有者毎の積算CO2排出量は、例えば、各占有者が一時的又は非一時的に支配・管理している空間に設置等されているIoTセンサを管理するIoT基盤システム等から与えられる。
【0078】
ただし、例えば、占有者毎の時系列のCO2排出量がIoT基盤システム等から与えられてもよい。この場合、占有者毎の積算CO2排出量は、例えば、環境情報管理装置10が備える積算CO2排出量算出部(不図示)により算出される。
【0079】
セグメント毎CO2排出量記憶部303は、セグメント抽出部201によって抽出されたセグメント、セグメント毎CO2排出量算出部203によって算出されたセグメント毎CO2排出量等を記憶する。以下、セグメント毎CO2排出量を表すデータのことを「セグメント毎CO2排出量レコード」といい、セグメント毎CO2排出量レコードで構成されるテーブル形式のデータを「セグメント毎CO2排出量テーブル」というものとする。セグメント毎CO2排出量レコードは、或る占有者の或るセグメントにおけるCO2排出量と当該占有者が当該セグメントで同時に占有していた商品の総量とを表している。セグメント毎CO2排出量レコードは、例えば、以下のようなデータ形式で表される。
【0080】
(占有者ID,セグメント開始日時,セグメント終了日時,セグメントCO2排出量,セグメント商品総量)
ここで、占有者IDは、占有者を一意に識別する識別子である。セグメント開始日時は、セグメントの開始日時である。セグメント終了日時は、セグメントの終了日時である。セグメントCO2排出量は、セグメントにおけるCO2排出量(つまり、そのセグメントに関するセグメント毎CO2排出量)である。セグメント商品総量は、占有者がセグメントで同時に占有している商品の総量である。以下、セグメント毎CO2排出量テーブルにおけるプライマリキーは(占有者ID,セグメント開始日時)であるものとする。
【0081】
占有区間毎商品単位CO2排出量記憶部304は、占有区間抽出部202によって抽出された占有区間、占有区間毎商品単位CO2排出量算出部205によって算出された占有区間毎商品単位CO2排出量等を記憶する。以下、占有区間毎商品単位CO2排出量を表すデータのことを「占有区間毎商品単位CO2排出量レコード」といい、占有区間毎商品単位CO2排出量レコードで構成されるテーブル形式のデータを「占有区間毎商品単位CO2排出量テーブル」というものとする。占有区間毎商品単位CO2排出量レコードは、或る占有区間における或る商品のCO2排出量とその商品の商品量とを表している。占有区間毎商品単位CO2排出量レコードは、例えば、以下のようなデータ形式で表される。
【0082】
(商品個別ID,占有者ID,占有区間開始日時,占有区間終了日時,商品単位CO2排出量,商品量)
ここで、商品個別IDは、商品のサプライチェーンの中で商品を一意に識別する識別子(例えば、製造固有番号等)である。占有者IDは、占有者を一意に識別する識別子である。占有区間開始日時は、占有区間の開始日時である。占有区間終了日時は、占有区間の終了日時である。商品単位CO2排出量は、占有区間における商品のCO2排出量(つまり、その占有区間における当該商品に関する占有区間毎商品単位CO2排出量)である。商品量は、商品の大きさや量、重量、体積、個数等を表す情報である。以下、占有区間毎商品単位CO2排出量テーブルにおけるプライマリキーは(商品個別ID,占有者ID,占有区間開始日時)であるものとする。
【0083】
<実施例1における環境情報管理装置10の処理フロー例>
実施例1における環境情報管理装置10の処理フロー例について、
図9を参照しながら説明する。
図9のステップS101~ステップS106は、例えば、或る所定の時間幅毎に繰り返し実行される。
【0084】
セグメント抽出部201は、占有者移転履歴テーブルに格納されている占有者移転履歴レコードの移転日時等に基づいて、占有者毎のセグメントを抽出する(ステップS101)。これにより、例えば、(占有者ID,セグメント開始日時,セグメント終了日時,セグメント商品総量)というデータ形式のセグメントが抽出される。以下では、セグメントは、セグメントCO2排出量が未設定のセグメント毎CO2排出量レコード(占有者ID,セグメント開始日時,セグメント終了日時,セグメントCO2排出量,セグメント商品総量)として抽出されるものとする。なお、本ステップの処理の詳細については後述する。
【0085】
次に、占有区間抽出部202は、占有者移転履歴テーブルに格納されている占有者移転履歴レコードの移転元ID及び移転先ID等に基づいて、商品毎の占有区間を抽出する(ステップS102)。これにより、例えば、(商品個別ID,占有者ID,占有区間開始日時,占有区間終了日時,商品量)というデータ形式の占有区間が抽出される。以下では、占有区間は、商品単位CO2排出量が未設定の占有区間毎商品単位CO2排出量レコード(商品個別ID,占有者ID,占有区間開始日時,占有区間終了日時,商品単位CO2排出量,商品量)として抽出されるものとする。なお、本ステップの処理の詳細については後述する。
【0086】
以下のステップS103~ステップS105は、例えば、上記のステップS101~ステップS102で新たに抽出されたセグメント及び占有区間に関して実行される。
【0087】
次に、セグメント毎CO2排出量算出部203は、セグメント毎CO2排出量を算出する(ステップS103)。すなわち、セグメント毎CO2排出量算出部203は、各占有者の各セグメントに関して、セグメント終了日時に最も近い日時の当該占有者の積算CO2排出量(第1の積算CO2排出量)と、セグメント開始日時に最も近い日時の当該占有者の積算CO2排出量(第2の積算CO2排出量)とを取得する。そして、セグメント毎CO2排出量算出部203は、第1の積算CO2排出量から第2の積算CO2排出量を減算した値を、セグメント毎CO2排出量レコードのセグメントCO2排出量として算出する。これにより、セグメント毎CO2排出量レコード(占有者ID,セグメント開始日時,セグメント終了日時,セグメントCO2排出量,セグメント商品総量)が得られる。なお、これは、各セグメントに対して、そのセグメントのCO2排出量(つまり、セグメントCO2排出量)を対応付けているともいえる。
【0088】
次に、セグメント毎商品単位CO2排出量算出部204は、セグメント毎商品単位CO2排出量を算出する(ステップS104)。すなわち、セグメント毎商品単位CO2排出量算出部204は、例えば、各セグメントで占有者が占有している各商品に関して、セグメント毎商品単位CO2排出量=(セグメント毎CO2排出量レコードに含まれるセグメントCO2排出量)×(当該商品の商品量)/(セグメント毎CO2排出量レコードに含まれるセグメント商品総量)によりセグメント毎商品単位CO2排出量を算出する。
【0089】
次に、占有区間毎商品単位CO2排出量算出部205は、占有区間毎商品単位CO2排出量を算出する(ステップS105)。すなわち、占有区間毎商品単位CO2排出量算出部205は、例えば、占有区間の占有者IDと同一の占有者IDを持つセグメントであって、当該占有区間の開始日時以前で最も近いセグメント開始日時を持つセグメントから当該占有区間の終了日時以降で最も近いセグメント終了日時を持つセグメントまでの間に含まれるセグメントのセグメント毎商品単位CO2排出量の総和を、当該占有区間の占有区間毎商品単位CO2排出量として算出する。これにより、占有区間毎商品単位CO2排出量レコード(商品個別ID,占有者ID,占有区間開始日時,占有区間終了日時,商品単位CO2排出量,商品量)が得られる。
【0090】
そして、可視化部206は、占有区間毎商品単位CO2排出量やセグメント毎商品単位CO2排出量等を可視化(例えば、ディスプレイ等に表示)する(ステップS106)。すなわち、可視化部206は、例えば、
図4に示すような表示欄1000及び表示欄1100の少なくとも一方を表示装置102上に表示する。
【0091】
<実施例1におけるセグメント抽出処理例>
セグメント抽出部201によるセグメント抽出処理は、次のように実施できる。
【0092】
占有者移転履歴テーブルに格納されている占有者移転履歴レコードの移転先IDを占有者IDとして、占有者IDの重複なしリストを取得する。次に、セグメント抽出部201は、取得したリストに含まれる占有者ID毎に当該占有者IDが移転元ID又は移転先IDとなっている占有者移転履歴レコードを移転日時順に取得する。この移転日時順の占有者移転履歴レコードに対して、以下の処理を行う。
【0093】
直近のセグメント終了日時とその時点における商品総量を直近の処理結果(本処理を最初に起動し、直近がない場合、日時は十分古い日時、商品総量は0等で、適切に初期化をしておく)から取得する。このとき、次に生成されるセグメントとしては、
・開始日時は直近のセグメントの終了日時
・終了日時は順次処理される当該レコードの移転日時
・商品総量はこの順次処理されるレコードの商品量を増加(当該占有者が移転先の場合)又は減少(当該占有者が移転元の場合)した商品量(なお、同一日時のレコードが複数ある場合は該当する全レコード分に対して増減処理を繰り返す)
とすればよい。
【0094】
ただし、この実施方法では、数秒、数分内に複数の占有者移転履歴レコードが存在する場合、複数の占有者移転履歴レコードに応じて相対的に短い時間間隔の細かいセグメントが発生する可能性が高い。このような細かいセグメントの発生を回避するためのより適切な処理方法も考えられる。
【0095】
その回避方法の1つは、レコードの日時を、適切なレベルで丸めてから処理する方法である。例えば、「12:00:00」のレコードと「12:00:15」のレコードが存在する場合、秒単位を切り捨てて処理すると、この2つのレコードは同一日時とみなされるので、1分未満のセグメントが発生することが無くなる。
【0096】
他の回避方法としては、セグメント化判定閾値を設けて、このセグメント化判定閾値未満での占有者移転履歴について、1つのセグメントとして繋いでいく方法がある。この方法によるセグメント抽出処理例について、以下に詳述する。
【0097】
図9のステップS101におけるセグメント抽出処理例について、
図10を参照しながら説明する。
【0098】
セグメント抽出部201は、占有者移転履歴テーブルに格納されている占有者移転履歴レコードの移転先IDを占有者IDとして、占有者IDの重複なしリストを取得する(ステップS201)。
【0099】
次に、セグメント抽出部201は、上記のステップS201で取得したリストに含まれる占有者ID毎にステップS211~ステップS214を繰り返す(ステップS202)。以下、或る占有者IDに関するステップS211~ステップS214について説明する。
【0100】
セグメント抽出部201は、当該占有者IDが移転元ID又は移転先IDとなっている占有者移転履歴レコードを移転日時順に取得する(ステップS211)。ただし、このとき、セグメント抽出部201は、セグメント毎CO2排出量テーブルに格納されているセグメント毎CO2排出量レコードのセグメント開始日時の最大値よりも後の移転日時が含まれる占有者移転履歴レコードを取得する。これは、セグメント抽出処理が前回実行されたときの続きからセグメント抽出を開始させるためである。なお、日時の最大値とは、最新の日時のことである。
【0101】
セグメント抽出部201は、仮セグメント開始日時、仮セグメント終了日時及び仮セグメント商品総量に初期値を設定する(ステップS212)。セグメント抽出部201は、例えば、仮セグメント開始日時、仮セグメント終了日時及び仮セグメント商品総量に対して以下により初期値を設定する。なお、仮セグメント開始日時、仮セグメント終了日時及び仮セグメント商品総量はいずれもセグメント抽出に用いられる一時的な変数である。
【0102】
仮セグメント開始日時:セグメント毎CO2排出量テーブルに格納されているセグメント毎CO2排出量レコードのうち、当該占有者IDが含まれるセグメント毎CO2排出量レコードのセグメント開始日時の最大値を設定する。ただし、当該占有者IDが含まれるセグメント毎CO2排出量レコードが存在しない場合は、NULL(空値)を設定する。
【0103】
仮セグメント終了日時:NULLを設定する。
【0104】
仮セグメント商品総量:当該占有者IDが含まれるセグメント毎CO2排出量レコードのうち、最大のセグメント開始日時を取るセグメント毎CO2排出量レコードのセグメント商品総量を設定する。ただし、当該占有者IDが含まれるセグメント毎CO2排出量レコードが存在しない場合は、0を設定する。
【0105】
セグメント抽出部201は、上記のステップS211で占有者移転履歴レコードを取得した順に、当該占有者移転履歴レコードに関してステップS221~ステップS223を繰り返す(ステップS213)。以下、或る占有者移転履歴レコードに関するステップS221~ステップS223について説明する。
【0106】
セグメント抽出部201は、仮セグメント開始日時がNULLである場合、当該占有者移転履歴レコードの移転日時を仮セグメント開始日時に設定する(ステップS221)。なお、仮セグメント開始日時がNULLでない場合、本ステップは実行されない。
【0107】
セグメント抽出部201は、当該占有者移転履歴レコードの移転日時と仮セグメント終了日時の差分がセグメント化判定閾値未満であるか否かに応じて、セグメント確定を行う(ステップS222)。具体的には、セグメント抽出部201は、以下の(3-1)又は(3-2)を実行する。
【0108】
(3-1)仮セグメント終了日時がNULLである場合、又は、当該占有者移転履歴レコードの移転日時と仮セグメント終了日時との差がセグメント化判定閾値未満である場合
この場合、セグメント抽出部201は、(3-1-1)~(3-1-2)を実行する。
【0109】
(3-1-1)セグメント抽出部201は、当該占有者移転履歴レコードの移転日時を仮セグメント終了日時に設定する。
【0110】
(3-1-2)セグメント抽出部201は、当該占有者移転履歴レコードが、上記のステップS213において当該占有者IDに関する最後のレコードである場合、以下の(3-1-2-1)~(3-1-2-3)を実行する。一方で、セグメント抽出部201は、当該占有者移転履歴レコードが、上記のステップS213において当該占有者IDに関する最後のレコードでない場合、ステップS223に進む。
【0111】
(3-1-2-1)セグメント抽出部201は、当該占有者IDが、当該占有者移転履歴レコードの移転元IDと一致するか否かに応じて、仮セグメント商品総量を増減させる。すなわち、セグメント抽出部201は、当該占有者IDが当該移転元IDと一致する場合、仮セグメント商品総量から、当該占有者移転履歴レコードの商品量を減算する。一方で、セグメント抽出部201は、当該占有者IDが当該移転元IDと一致しない場合(つまり、当該占有者IDが、当該占有者移転履歴レコードの移転先IDと一致する場合)、仮セグメント商品総量に対して、当該占有者移転履歴レコードの商品量を加算する。
【0112】
(3-1-2-2)セグメント抽出部201は、現在の仮セグメント開始日時、仮セグメント終了日時及び仮セグメント商品総量を用いて、当該占有者IDのセグメントを確定する。すなわち、セグメント抽出部201は、現在の仮セグメント開始日時をセグメント開始日時、現在の仮セグメント終了日時をセグメント終了日時、現在の仮セグメント商品総量をセグメント商品総量として、当該占有者IDのセグメント(占有者ID,セグメント開始日時,セグメント終了日時,セグメント商品総量)を確定する。
【0113】
(3-1-2-3)セグメント抽出部201は、上記の(3-1-2―2)で確定したセグメントの情報を、セグメント毎CO2排出量レコードとしてセグメント毎CO2排出量テーブルに格納する。すなわち、セグメント抽出部201は、上記の(3-1-2―2)で確定したセグメントの情報(占有者ID、セグメント開始日時、セグメント終了日時及びセグメント商品総量)をセグメント毎CO2排出量レコードとしてセグメント毎CO2排出量テーブルに格納する。このとき、セグメント抽出部201は、プライマリキーが一致するセグメント毎CO2排出量レコードがセグメント毎CO2排出量テーブルに既に存在する場合は既に存在するセグメント毎CO2排出量レコードをUpdateし、そうでない場合はセグメント毎CO2排出量レコードをセグメント毎CO2排出量テーブルにInsertする。その後、セグメント抽出部201は、ステップS214に進む。
【0114】
(3-2)上記の(3-1)以外である場合
この場合、セグメント抽出部201は、以下の(3-2-1)~(3-2-4)を実行する。
【0115】
(3-2-1)セグメント抽出部201は、当該占有者移転履歴レコードの移転日時を仮セグメント終了日時に設定する。
【0116】
(3-2-2)セグメント抽出部201は、現在の仮セグメント開始日時、仮セグメント終了日時及び仮セグメント商品総量を用いて、当該占有者IDのセグメントを確定する。すなわち、セグメント抽出部201は、現在の仮セグメント開始日時をセグメント開始日時、現在の仮セグメント終了日時をセグメント終了日時、現在の仮セグメント商品総量をセグメント商品総量として、当該占有者IDのセグメント(占有者ID,セグメント開始日時,セグメント終了日時,セグメント商品総量)を確定する。
【0117】
(3-2-3)セグメント抽出部201は、上記の(3-2-2)で確定したセグメントの情報を、セグメント毎CO2排出量レコードとしてセグメント毎CO2排出量テーブルに格納する。すなわち、セグメント抽出部201は、上記の(3-2-2)で確定したセグメントの情報(占有者ID、セグメント開始日時、セグメント終了日時及びセグメント商品総量)をセグメント毎CO2排出量レコードとしてセグメント毎CO2排出量テーブルに格納する。このとき、セグメント抽出部201は、プライマリキーが一致するセグメント毎CO2排出量レコードがセグメント毎CO2排出量テーブルに既に存在する場合は既に存在するセグメント毎CO2排出量レコードをUpdateし、そうでない場合はセグメント毎CO2排出量レコードをセグメント毎CO2排出量テーブルにInsertする。
【0118】
(3-2-4)セグメント抽出部201は、仮セグメント終了日時を仮セグメント開始日時に設定する。
【0119】
セグメント抽出部201は、当該占有者IDが、当該占有者移転履歴レコードの移転元IDと一致するか否かに応じて、仮セグメント商品総量を増減させる(ステップS223)。すなわち、セグメント抽出部201は、当該占有者IDが当該移転元IDと一致する場合、仮セグメント商品総量から、当該占有者移転履歴レコードの商品量を減算する。一方で、セグメント抽出部201は、当該占有者IDが当該移転元IDと一致しない場合(つまり、当該占有者IDが、当該占有者移転履歴レコードの移転先IDと一致する場合)、仮セグメント商品総量に対して、当該占有者移転履歴レコードの商品量を加算する。
【0120】
なお、上記のステップS223が実行された後、当該占有者IDに関する次の占有者移転履歴レコードがある場合、上記のステップS221に戻り、当該次の占有者移転履歴レコードに関してステップS221~ステップS222の繰り返し処理が実行される。一方で、当該占有者IDに関する次の占有者移転履歴レコードがない場合、ステップS214が実行される。
【0121】
セグメント抽出部201は、仮セグメント開始日時及び仮セグメント終了日時に値を設定し、今回のセグメント抽出処理における最終セグメントを確定する(ステップS214)。具体的には、セグメント抽出部201は、以下の(4-1)~(4-3)を実行する。
【0122】
(4-1)セグメント抽出部201は、仮セグメント開始日時及び仮セグメント終了日時を以下のように設定する。
【0123】
仮セグメント開始日時:現在の仮セグメント終了日時を設定する。
【0124】
仮セグメント終了日時:現在の仮セグメント終了日時以降の日時、例えば、今回のセグメント抽出処理の実行時のシステム日時を設定する。
【0125】
(4-2)セグメント抽出部201は、現在の仮セグメント開始日時、仮セグメント終了日時及び仮セグメント商品総量を用いて、今回のセグメント抽出処理における当該占有者IDの最終セグメントを確定する。すなわち、セグメント抽出部201は、現在の仮セグメント開始日時をセグメント開始日時、現在の仮セグメント終了日時をセグメント終了日時、現在の仮セグメント商品総量をセグメント商品総量として、今回のセグメント抽出処理における当該占有者IDの最終セグメント(占有者ID,セグメント開始日時,セグメント終了日時,セグメント商品総量)を確定する。
【0126】
(4-3)セグメント抽出部201は、上記の(4-2)で確定した最終セグメントの情報を、セグメント毎CO2排出量レコードとしてセグメント毎CO2排出量テーブルに格納する。すなわち、セグメント抽出部201は、上記の(4-2)で確定した最終セグメントの情報(占有者ID、セグメント開始日時、セグメント終了日時及びセグメント商品総量)をセグメント毎CO2排出量レコードとしてセグメント毎CO2排出量テーブルに格納する。
【0127】
なお、上記のステップS201で取得したリスト内に次の占有者IDが存在する場合、ステップS211に戻り、当該次の占有者IDに関してステップS211~ステップS214の繰り返し処理が実行される。一方で、上記のステップS201で取得したリスト内に次の占有者IDが存在しない場合、セグメント抽出処理を終了する。
【0128】
上記のセグメント抽出処理では、占有者移転履歴レコードの移転日時をセグメント開始日時として設定しているが、例えば、当該占有者移転履歴レコードの直後の占有者移転履歴レコードの移転日時をセグメント開始日時として設定したり、又は、当該占有者移転履歴レコードの移転日時と、当該占有者移転履歴レコードに関連する占有者移転履歴レコードの移転日時との間の日時をセグメント開始日時として設定したりしてもよい。また、このとき、セグメント開始日時に応じて、セグメント終了日時に設定される日時が適宜変更されてもよいし、セグメント抽出処理の一部の処理が適宜変更されてもよい。
【0129】
<実施例1における占有区間抽出処理例>
図9のステップS102における占有区間抽出処理例について、
図11を参照しながら説明する。
【0130】
占有区間抽出部202は、占有者移転履歴テーブルに格納されている占有者移転履歴レコードから商品個別IDの重複なしリストを取得する(ステップS301)。
【0131】
次に、占有区間抽出部202は、上記のステップS301で取得したリストに含まれる商品個別ID毎にステップS311~ステップS313とステップS314又はステップS315とを繰り返す(ステップS302)。以下、或る商品個別IDに関するステップS311~ステップS313とステップS314又はステップS315とについて説明する。
【0132】
占有区間抽出部202は、当該商品個別IDが含まれる占有者移転履歴レコードを移転日時順に取得する(ステップS311)。ただし、このとき、占有区間抽出部202は、占有区間毎商品単位CO2排出量テーブルに格納されている占有区間毎商品単位CO2排出量レコードの占有区間開始日時の最大値よりも後の移転日時が含まれる占有者移転履歴レコードを取得する。なお、占有区間毎商品単位CO2排出量テーブルに格納されている占有区間毎商品単位CO2排出量レコードが存在しない場合、占有区間抽出部202は、当該商品個別IDが含まれる全ての占有者移転履歴レコードを移転日時順に取得する。
【0133】
占有区間抽出部202は、仮占有区間開始日時及び仮占有者IDに初期値を設定する(ステップS312)。占有区間抽出部202は、例えば、仮占有区間開始日時及び仮占有者IDに対して以下により初期値を設定する。なお、仮占有区間開始日時及び仮占有者IDはいずれも占有区間抽出に用いられる一時的な変数である。
【0134】
仮占有区間開始日時:上記のステップS311で最初に取得した占有者移転履歴レコードの移転日時を設定する。
【0135】
仮占有者ID:上記のステップS311で最初に取得した占有者移転履歴レコードの移転先IDを設定する。
【0136】
占有区間抽出部202は、上記のステップS311で取得した占有者移転履歴レコードが2つ以上存在するか否かを判定する(ステップS313)。
【0137】
上記のステップS311で取得した占有者移転履歴レコードが2つ以上存在しない場合(つまり、上記のステップS311で取得した占有者移転履歴レコードが1つのみである場合)、占有区間抽出部202は、占有区間確定を行う(ステップS314)。すなわち、占有区間抽出部202は、以下の(5-1)~(5-2)を実行する。
【0138】
(5-1)占有区間抽出部202は、仮占有区間開始日時及び仮占有者IDを用いて、当該商品個別IDの占有区間を確定する。すなわち、占有区間抽出部202は、現在の仮占有者IDを占有者ID、現在の仮占有区間開始日時を占有区間開始日時、NULLを占有区間終了日時として、当該商品個別IDの占有区間(商品個別ID,占有者ID,占有区間開始日時,占有区間終了日時,商品量)を確定する。ただし、占有区間の商品量には、当該占有者移転履歴レコードに含まれる商品量を設定する。
【0139】
(5-2)占有区間抽出部202は、上記の(5-1)で確定した占有区間の情報を、占有区間毎商品単位CO2排出量レコードとして占有区間毎商品単位CO2排出量テーブルに格納する。すなわち、占有区間抽出部202は、上記の(5-1)で確定した占有区間の情報(商品個別ID、占有者ID、占有区間開始日時、占有区間終了日時及び商品量)を占有区間毎商品単位CO2排出量レコードとして占有区間毎商品単位CO2排出量テーブルに格納する。このとき、占有区間抽出部202は、プライマリキーが一致する占有区間毎商品単位CO2排出量レコードが占有区間毎商品単位CO2排出量テーブルに既に存在する場合は既に存在する占有区間毎商品単位CO2排出量レコードをUpdateし、そうでない場合は占有区間毎商品単位CO2排出量レコードを占有区間毎商品単位CO2排出量テーブルにInsertする。
【0140】
ただし、占有区間に含まれる占有者IDが、商品が原始取得(生産・製造等)されたことを表す識別子である場合、商品等が販売や処分、消尽等により譲渡(占有者移転)が完結したこと等を表す識別子である場合には、上記の(5-2)は実行されない。例えば、
図1に示す例では、占有者IDが「0x0」である場合、商品が生産・製造等、又は、商品の譲渡(占有者移転)が完結したものとして、上記の(5-2)は実行されない。
【0141】
一方で、上記のステップS311で取得した占有者移転履歴レコードが2つ以上存在する場合、占有区間抽出部202は、2つ目の占有者移転履歴レコードから順にステップS321を繰り返す(ステップS321)。以下、或る占有者移転履歴レコードに関するステップS321について説明する。
【0142】
占有区間抽出部202は、仮占有者IDが、当該占有者移転履歴レコードの移転元IDと一致するか否かに応じて、占有区間確定を行うか又はエラーとする(ステップS321)。すなわち、占有区間抽出部202は、以下の(6-1)又は(6-2)を実行する。
【0143】
(6-1)仮占有者IDが、当該占有者移転履歴レコードの移転元IDと一致する場合
この場合、占有区間抽出部202は、以下の(6-1-1)~(6-1-3)を実行する。
【0144】
(6-1-1)占有区間抽出部202は、仮占有区間開始日時及び仮占有者IDを用いて、当該商品個別IDの占有区間を確定する。すなわち、占有区間抽出部202は、現在の仮占有者IDを占有者ID、現在の仮占有区間開始日時を占有区間開始日時、当該占有者移転履歴レコードの移転日時を占有区間終了日時として、当該商品個別IDの占有区間(商品個別ID,占有者ID,占有区間開始日時,占有区間終了日時,商品量)を確定する。ただし、占有区間の商品量には、当該占有者移転履歴レコードに含まれる商品量を設定する。
【0145】
(6-1-2)占有区間抽出部202は、上記の(6-1-1)で確定した占有区間の情報を、占有区間毎商品単位CO2排出量レコードとして占有区間毎商品単位CO2排出量テーブルに格納する。すなわち、占有区間抽出部202は、上記の(6-1-1)で確定した占有区間の情報(商品個別ID、占有者ID、占有区間開始日時、占有区間終了日時及び商品量)を占有区間毎商品単位CO2排出量レコードとして占有区間毎商品単位CO2排出量テーブルに格納する。このとき、占有区間抽出部202は、プライマリキーが一致する占有区間毎商品単位CO2排出量レコードが占有区間毎商品単位CO2排出量テーブルに既に存在する場合は既に存在する占有区間毎商品単位CO2排出量レコードをUpdateし、そうでない場合は占有区間毎商品単位CO2排出量レコードを占有区間毎商品単位CO2排出量テーブルにInsertする。
【0146】
ただし、占有区間に含まれる占有者IDが、商品が原始取得(生産・製造等)されたことを表す識別子である場合、商品等が販売や処分、消尽等により譲渡(占有者移転)が完結したこと等を表す識別子である場合には、上記の(6-1-2)は実行されない。例えば、
図1に示す例では、占有者IDが「0x0」である場合、商品が生産・製造等、又は、商品の譲渡(占有者移転)が完結したものとして、上記の(6-1-2)は実行されない。
【0147】
(6-1-3)占有区間抽出部202は、仮占有区間開始日時及び仮占有者IDを以下のように設定する。
【0148】
仮占有区間開始日時:当該占有者移転履歴レコードの移転日時を設定する。
【0149】
仮占有者ID:当該占有者移転履歴レコードの移転先IDを設定する。
【0150】
(6-2)仮占有者IDが、当該占有者移転履歴レコードの移転元IDと一致しない場合
この場合、占有区間抽出部202は、例外としてエラーを出力し、占有区間抽出処理を終了する。
【0151】
[実施例2]
以下、本実施形態の実施例2について説明する。実施例2では、環境情報がGPS情報である場合を想定し、上記の(2-1)~(2-3)の処理を実行する環境情報管理装置10について説明する。ただし、環境情報がGPS情報であることは一例であって、以下で説明する実施例2はGPS情報以外の点情報タイプの環境情報(例えば、温度、湿度等)に対しても同様に適用可能である。
【0152】
<実施例2における環境情報管理装置10のハードウェア構成例>
実施例1における環境情報管理装置10と同様としてよい。このため、以下では、実施例2における環境情報管理装置10のハードウェア構成は実施例1と同様であるものとし、その説明を省略する。
【0153】
<実施例2における環境情報管理装置10の機能構成例>
実施例2における環境情報管理装置10の機能構成例を
図12に示す。
図12に示すように、実施例2における環境情報管理装置10は、セグメント抽出部201と、セグメント毎GPS情報対応付け部207と、可視化部206とを有する。これら各部は、例えば、環境情報管理装置10にインストールされた1以上のプログラムが、プロセッサ108等に実行させる処理により実現される。また、実施例2における環境情報管理装置10は、占有者移転履歴記憶部301と、GPS情報記憶部305と、セグメント毎GPS情報記憶部306とを有する。これら各部は、例えば、補助記憶装置107等の記憶装置により実現される。
【0154】
セグメント抽出部201は、上記の(2-1)の処理を実行する。すなわち、セグメント抽出部201は、占有者移転履歴テーブルに格納されている占有者移転履歴レコードの移転日時等に基づいて、占有者毎のセグメントを抽出する。ただし、点情報タイプでは商品の総量で環境情報を按分する必要がないため、セグメント抽出の際に、按分に必要な情報を得るための処理は不要となる。
【0155】
セグメント毎GPS情報対応付け部207は、上記の(2-2)の処理を実行する。すなわち、セグメント毎GPS情報対応付け部207は、例えば、各セグメントに関して、セグメント開始日時とセグメント終了日時との間に存在するGPS情報を取得し、これら取得したGPS情報を当該セグメントと対応付ける。
【0156】
可視化部206は、上記の(2-3)の処理を実行する。すなわち、可視化部206は、セグメント毎にそのセグメントに対応付けられているGPS情報を可視化する。
【0157】
占有者移転履歴記憶部301は、与えられた占有者移転履歴レコード(例えば、現在日時をT、或る所定の時間幅をΔTとして、T-ΔTからTまでの期間における占有者移転履歴レコード)で構成される占有者移転履歴テーブルを記憶する。これらの占有者移転履歴レコードは、例えば、物流トレーサビリティシステムから与えられる。
【0158】
GPS情報記憶部305は、占有者毎の時系列のGPS情報(例えば、T-ΔTからTまでの期間における占有者毎の時系列のGPS情報)を記憶する。占有者毎の時系列のGPS情報は、例えば、各占有者が一時的又は非一時的に支配・管理している空間に設置等されているIoTセンサ(例えば、トラック等の車載GPS受信機等)を管理するIoT基盤システム等から与えられる。
【0159】
セグメント毎GPS情報記憶部306は、セグメント抽出部201によって抽出されたセグメント、セグメント毎GPS情報対応付け部207によってセグメントとGPS情報とを対応付けた情報であるセグメント毎GPS情報を記憶する。以下、セグメント毎GPS情報を表すデータのことを「セグメント毎GPS情報レコード」といい、セグメント毎GPS情報レコードで構成されるテーブル形式のデータを「セグメント毎GPS情報テーブル」というものとする。セグメント毎GPS情報レコードは、或る占有者の或るセグメントに対応付けられた時系列のGPS情報を表している。セグメント毎GPS情報レコードは、例えば、以下のようなデータ形式で表される。
【0160】
(占有者ID,セグメント開始日時,セグメント終了日時,セグメントGPS情報)
ここで、占有者IDは、占有者を一意に識別する識別子である。セグメント開始日時は、セグメントの開始日時である。セグメント終了日時は、セグメントの終了日時である。セグメントGPS情報は、セグメントに対応付けられた時系列のGPS情報である。以下、セグメント毎GPS情報テーブルにおけるプライマリキーは(占有者ID,セグメント開始日時)であるものとする。
【0161】
<実施例2における環境情報管理装置10の処理フロー例>
実施例2における環境情報管理装置10の処理フロー例について、
図13を参照しながら説明する。
図13のステップS401~ステップS403は、例えば、或る所定の時間幅毎に繰り返し実行される。
【0162】
セグメント抽出部201は、占有者移転履歴テーブルに格納されている占有者移転履歴レコードの移転日時等に基づいて、占有者毎のセグメントを抽出する(ステップS401)。これにより、例えば、(占有者ID,セグメント開始日時,セグメント終了日時)というデータ形式のセグメントが抽出される。以下では、セグメントは、セグメントGPS情報が未設定のセグメント毎GPS情報レコードとして抽出されるものとする。なお、本ステップの処理の詳細については後述する。
【0163】
以下のステップS402は、例えば、上記のステップS401で新たに抽出されたセグメントに関して実行される。
【0164】
セグメント毎GPS情報対応付け部207は、各セグメントに関して、セグメント開始日時とセグメント終了日時との間に存在するGPS情報を取得し、これら取得したGPS情報をセグメントGPS情報として当該セグメントと対応付ける(ステップS402)。これにより、セグメント毎GPS情報レコード(占有者ID,セグメント開始日時,セグメント終了日時,セグメントGPS情報)が得られる。
【0165】
そして、可視化部206は、セグメント毎にそのセグメントに対応付けられているGPS情報を可視化(例えば、ディスプレイ等に表示)する(ステップS403)。なお、可視化部206は、例えば、ユーザによって指定されたセグメントに対応付けられているGPS情報等を可視化してもよいし、ユーザによって指定された占有者の各セグメントに対応付けられているGPS情報等を可視化してもよい。
【0166】
<実施例2におけるセグメント抽出処理例>
図13のステップS401におけるセグメント抽出処理では、環境情報の按分に必要な情報を得るための処理が不要である。具体的には、実施例2におけるセグメント抽出処理では、以下の(a)及び(b)が不要である点が実施例1と異なる。
【0167】
(a)「仮セグメント商品総量」及び「セグメント商品総量」
(b)ステップS223の処理
上記の(a)及び(b)以外は、「セグメント毎CO2排出量レコード」を「セグメント毎GPS情報レコード」、「セグメント毎CO2排出量テーブル」を「セグメント毎GPS情報テーブル」、「CO2排出量」を「GPS情報」とそれぞれ読み替えれば、実施例1と同様である。
【0168】
<まとめ>
以上のように、本実施形態に係る環境情報管理装置10は、占有者が同時に占有する商品の総量の変化によって区切られるセグメントと呼ばれる区間を導入し、これらのセグメント毎に、商品の物流サプライチェーン中で得られた環境情報又はそれらの環境情報から計算された値を管理する。これにより、本実施形態に係る環境情報管理装置10では、物流サプライチェーンにおける占有者移転履歴と環境情報とを効率的に対応付けることが可能となる。このため、環境情報が量情報タイプ又は点情報タイプのいずれであっても、例えば、不具合発生時の解析・分析やコスト削減・業務効率化等といった目的のために占有者移転履歴と環境情報とを対応付ける際のデータ量を大幅に削減することが可能となる。また、環境情報が量情報タイプである場合、商品毎の環境情報を算出する際に、単純な按分計算と比較してより正確な環境情報を算出することが可能となる。
【0169】
本発明は、具体的に開示された上記の実施形態に限定されるものではなく、特許請求の範囲の記載から逸脱することなく、種々の変形や変更、既知の技術との組み合わせ等が可能である。
【符号の説明】
【0170】
10 環境情報管理装置
101 入力装置
102 表示装置
103 外部I/F
103a 記録媒体
104 通信I/F
105 RAM
106 ROM
107 補助記憶装置
108 プロセッサ
109 バス
201 セグメント抽出部
202 占有区間抽出部
203 セグメント毎CO2排出量算出部
204 セグメント毎商品単位CO2排出量算出部
205 占有区間毎商品単位CO2排出量算出部
206 可視化部
207 セグメント毎GPS情報対応付け部
301 占有者移転履歴記憶部
302 積算CO2排出量記憶部
303 セグメント毎CO2排出量記憶部
304 占有区間毎商品単位CO2排出量記憶部
305 GPS情報記憶部
306 セグメント毎GPS情報記憶部