(57)【要約】  場所間の走行情報を低減された量のコンピュータメモリに効率よく格納するための、コンピュータ化された実施形態を開示する。一実施形態において、走行データ構造および補償データ構造が生成され、コンピュータのメモリに格納される。走行データ構造は、走行データ構造の走行データセルをアドレス指定できるようにする、第１の作業現場識別子と第２の作業現場識別子の次元を有する。各走行データセルは、道路利用パターンを表すパターンインデックス値、および２つの作業現場間の最小移動時間を表すベース移動時間値を格納する。補償データ構造は、補償データ構造の補償データセルをアドレス指定できるようにする、パターンインデックス値とレベルインデックス値の次元を有する。レベルインデックス値は、移動状況および車両状況から得られる。各補償データセルは、ベース移動時間値を調整するための１バイトのデータを格納する。
2019512117.tif 000002
【特許請求の範囲】
【請求項１】
メモリからの命令を実行するための少なくとも１つのプロセッサを含むコンピューティングデバイスによって実行される、コンピュータにより実現される方法であって、
走行データ構造を生成することと、補償データ構造を生成することによって、作業現場間の予測移動時間を格納するための、コンピューティングデバイス内のメモリ使用量を制限するステップを含み、
前記走行データ構造は、前記コンピューティングデバイスの第１メモリに格納され、前記走行データ構造の複数の走行データセルをアドレス指定することを可能にするために、第１の複数の作業現場識別子と第２の複数の作業現場識別子の次元を有するように構成され、前記複数の走行データセルの各々は、道路利用パターンを表すパターンインデックス値、および２つの作業現場間の最小移動時間を表すベース移動時間値を格納し、
前記補償データ構造は、前記コンピューティングデバイスの第２メモリに格納され、前記補償データ構造の複数の補償データセルをアドレス指定することを可能にするために、複数のパターンインデックス値と複数のレベルインデックス値の次元を有するように構成され、前記複数のレベルインデックス値は、作業現場間を移動するように割り当てられた車両の移動状況および車両状況から得られ、前記複数の補償データセルの各々は、ベース移動時間値を調整するための倍率値を表す１バイトのデータを格納する、方法。
【請求項２】
第１の作業現場を識別する第１の作業現場識別子、第２の作業現場を識別する第２の作業現場識別子、ならびに前記第１の作業現場から前記第２の作業現場まで移動するように割り当てられた車両の現在の移動状況および現在の車両状況から得られるレベルインデックス値を受信するステップと、
第１のベース移動時間値および第１のパターンインデックス値を取り出すよう、前記第１の作業現場識別子および前記第２の作業現場識別子に基づいて前記走行データ構造をアドレス指定するステップと、
第１の倍率値を取り出すよう、前記第１のパターンインデックス値および前記レベルインデックス値に基づいて前記補償データ構造をアドレス指定するステップと、
前記コンピューティングデバイスの少なくとも１つのプロセッサによって前記第１のベース移動時間値に前記第１倍率値を乗じることによって、前記車両が前記第１の作業現場と前記第２の作業現場との間を移動するのにかかる最新移動時間を表す補償された移動時間値を生成するステップと、
前記車両が前記第１の作業現場から前記第２の作業現場まで、前記最新移動時間の間移動するように割り当てられたことを示す電子メッセージを生成するステップと、
前記車両に関連付けられた通信装置に前記電子メッセージをワイヤレス送信するステップとをさらに含む、請求項１に記載の方法。
【請求項３】
前記現在の移動状況は、時刻、曜日、日付、休日、車両タイプ、または車両荷物、のうちの少なくとも１つを考慮する、請求項２に記載の方法。
【請求項４】
前記第１のベース移動時間値は、前記車両が前記第１の作業現場から前記第２の作業現場まで移動するのにかかる最小時間を表し、前記第１倍率値は、１以下である、請求項２に記載の方法。
【請求項５】
前記１バイトのデータは、８ビットバイトであり、前記第１の倍率値を表す際に０．２パーセントの精度を有する、請求項２に記載の方法。
【請求項６】
前記走行データ構造および前記補償データ構造は、同等の代表数の前記補償された移動時間値を直接格納する場合と比べて、少なくとも２桁の大きさ分少ないメモリを使用する、請求項２に記載の方法。
【請求項７】
前記第１のパターンインデックス値に対応付けられた第１の道路利用パターン、および前記第１のベース移動時間値は、少なくとも、前記第１の作業現場から前記第２の作業現場まで移動することに関連する道路地図データから得られる、請求項２に記載の方法。
【請求項８】
実行されるとプロセッサにコンピュータシステムの第１メモリに格納される走行データ構造を生成させる命令を含む非一時的なコンピュータ読み取り可能な媒体に格納される走行モジュールを備え、
前記走行データ構造は、前記走行データ構造の複数の走行データセルをアドレス指定することを可能にするために、第１の複数の作業現場識別子と第２の複数の作業現場識別子の次元を有し、
前記複数の走行データセルの各々は、道路利用パターンを表すパターンインデックス値と、２つの作業現場間の最小移動時間を表すベース移動時間値とを格納し、さらに、
実行されると前記プロセッサに前記コンピュータシステムの第２メモリに格納される補償データ構造を生成させる命令を含む前記非一時的なコンピュータ読み取り可能な媒体に格納される補償モジュールを備え、前記補償データ構造は、前記走行データ構造とともに、前記コンピュータシステム内のメモリ使用量を制限するように構成され、
前記補償データ構造は、前記補償データ構造の複数の補償データセルをアドレス指定することを可能にするために、複数のパターンインデックス値と複数のレベルインデックス値の次元を有し、
前記複数のレベルインデックス値は、作業現場間を移動するように割り当てられた車両の移動状況および車両状況から得られ、
前記複数の補償データセルの各々は、ベース移動時間値を調整するための倍率値を表す１バイトのデータを格納する、コンピュータシステム。
【請求項９】
実行されると前記プロセッサに、
第１の作業現場を識別する第１の作業現場識別子、第２の作業現場を識別する第２の作業現場識別子、ならびに前記第１の作業現場から前記第２の作業現場まで移動するように割り当てられた車両の現在の移動状況および現在の車両状況から得られるレベルインデックス値を受信させ、
第１のベース移動時間値および第１のパターンインデックス値を取り出すよう、前記第１の作業現場識別子および前記第２の作業現場識別子に基づいて前記走行データ構造をアドレス指定させ、
第１の倍率値を取り出すよう、前記第１のパターンインデックス値および前記レベルインデックス値に基づいて前記補償データ構造をアドレス指定させる命令、を含む前記非一時的なコンピュータ読み取り可能な媒体に格納されるアドレス指定モジュールをさらに備える、請求項８に記載のコンピュータシステム。
【請求項１０】
前記アドレス指定モジュールは、前記第１の作業現場識別子、前記第２の作業現場識別子、および前記レベルインデックス値を、複数の車両が作業現場間を移動するように予定を組むように構成されたスケジューラー・アプリケーションから受信するように構成される、請求項９に記載のコンピュータシステム。
【請求項１１】
実行されると前記プロセッサに、前記車両が前記第１の作業現場と前記第２の作業現場との間を移動するのにかかる最新移動時間を表す補償された移動時間値を、前記第１のベース移動時間値に前記第１の倍率値を乗じることによって生成させる命令、を含む前記非一時的なコンピュータ読み取り可能な媒体に格納される乗算モジュールをさらに備える、請求項９または１０に記載のコンピュータシステム。
【請求項１２】
前記乗算モジュールから前記補償された移動時間値を受信し、
前記車両が前記第１の作業現場から前記第２の作業現場まで、前記補償された移動時間値によって表される前記最新移動時間の間移動するように割り当てられたことを示す電子メッセージを生成し、
前記車両に関連付けられた通信装置に前記電子メッセージをワイヤレス送信するように構成された、スケジューラー・アプリケーションをさらに備える、請求項９、１０、または１１に記載のコンピュータシステム。
【請求項１３】
コンピューティングデバイスの１つ以上のプロセッサによって実行されると、前記コンピューティングデバイスに、少なくとも、
コンピュータの第１メモリに格納される走行データ構造を生成させ、
前記コンピュータの第２メモリに格納される補償データ構造を生成させる命令、を格納し、前記補償データ構造は、前記走行データ構造とともに、前記コンピュータ内のメモリ使用量を制限するように構成され、
前記走行データ構造は、前記走行データ構造の複数の走行データセルをアドレス指定することを可能にするために、第１の複数の作業現場識別子と第２の複数の作業現場識別子の次元を有し、
前記複数の走行データセルの各々は、道路利用パターンを表すパターンインデックス値と、２つの作業現場間の最小移動時間を表すベース移動時間値とを格納し、
前記補償データ構造は、前記補償データ構造の複数の補償データセルをアドレス指定することを可能にするために、複数のパターンインデックス値と複数のレベルインデックス値の次元を有し、
前記複数のレベルインデックス値は、作業現場間を移動するように割り当てられた車両の移動状況および車両状況から得られ、
前記複数の補償データセルの各々は、ベース移動時間値を調整するための倍率値を表す１バイトのデータを格納する、非一時的なコンピュータ読み取り可能な媒体。
【請求項１４】
前記命令は、前記１つ以上のプロセッサによって実行されると、前記コンピューティングデバイスに、
第１の作業現場を識別する第１の作業現場識別子、第２の作業現場を識別する第２の作業現場識別子、ならびに前記第１の作業現場から前記第２の作業現場まで移動するように割り当てられた車両の現在の移動状況および現在の車両状況から得られるレベルインデックス値を受信させ、
第１のベース移動時間値および第１のパターンインデックス値を取り出すよう、前記第１の作業現場識別子および前記第２の作業現場識別子に基づいて前記走行データ構造をアドレス指定させ、
第１の倍率値を取り出すよう、前記第１のパターンインデックス値および前記レベルインデックス値に基づいて前記補償データ構造をアドレス指定させる命令、をさらに含む、請求項１３に記載の非一時的なコンピュータ読み取り可能な媒体。
【請求項１５】
前記命令は、前記１つ以上のプロセッサによって実行されると、前記コンピューティングデバイスに、
前記第１のベース移動時間値に前記第１の倍率値を乗じることによって、前記車両が前記第１の作業現場と前記第２の作業現場との間を移動するのにかかる最新移動時間を表す補償された移動時間値を生成させ、
前記車両が前記第１の作業現場から前記第２の作業現場まで、前記補償された移動時間値によって表される前記最新移動時間の間移動するように割り当てられたことを示す電子メッセージを生成させ、
前記車両に関連付けられた通信装置に前記電子メッセージをワイヤレス送信させる命令、をさらに含む、請求項１３または１４に記載の非一時的なコンピュータ読み取り可能な媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
背景
【背景技術】
【０００２】
特定の業界（たとえば、建設、サービスメンテナンス、荷物配達）では、１つの場所から別の場所にたくさんの車両が絶え間なく配車される。配車センターは、車両の使用を最大限に活用し、且つ、車両の移動時間を最小限に抑えようとして、１つの場所から別の場所への各車両の走行の予定を組むためにスケジューリングアルゴリズムを使用する。移動時間および／または場所間の移動距離が予測されて、データベース・システムの一部であるメモリ内の移動マトリックスのセルに格納される。場所数、移動状況、および車両状況が大きくなるにつれて、移動マトリックスは非常に大きくなり得る。その結果、データベース・システムのコンピュータメモリが非常に大きくなってしまう可能性がある（たとえば、大きすぎて実現または管理できない）。さらに、データベース・システムの移動マトリックスにアクセスすることに関連した時間遅延を許容できなくなる可能性があり、システムの配車パフォーマンスに悪影響を与える。
【発明の概要】
【０００３】
概要
【発明が解決しようとする課題】
【０００４】
一実施形態によると、メモリからの命令を実行するための少なくとも１つのプロセッサを含むコンピューティングデバイスによって実行される、コンピュータにより実現される方法が開示される。方法は、走行データ構造を生成することと、補償データ構造を生成することによって、作業現場間の予測移動時間を格納するための、コンピューティングデバイス内のメモリ使用量を制限するステップを含み、走行データ構造は、コンピューティングデバイスの第１メモリに格納され、走行データ構造の複数の走行データセルをアドレス指定することを可能にするために、第１の複数の作業現場識別子と第２の複数の作業現場識別子の次元を有するように構成され、複数の走行データセルの各々は、道路利用パターンを表すパターンインデックス値、および２つの作業現場間の最小移動時間を表すベース移動時間値を格納し、補償データ構造は、コンピューティングデバイスの第２メモリに格納され、補償データ構造の複数の補償データセルをアドレス指定することを可能にするために、複数のパターンインデックス値と複数のレベルインデックス値の次元を有するように構成され、複数のレベルインデックス値は、作業現場間を移動するように割り当てられた車両の移動状況および車両状況から得られ、複数の補償データセルの各々は、ベース移動時間値を調整するための倍率値を表す１バイトのデータを格納する。
【０００５】
別の実施形態によると、コンピューティングデバイスの１つ以上のプロセッサによって実行されると、コンピューティングデバイスに、少なくとも、上記に要約したコンピュータにより実現される方法および／または本明細書に記載の開示の機能を実行させる命令を格納する非一時的なコンピュータ読み取り可能な媒体が開示される。
【０００６】
別の実施形態によると、方法は、第１の作業現場を識別する第１の作業現場識別子、第２の作業現場を識別する第２の作業現場識別子、ならびに第１の作業現場から第２の作業現場まで移動するように割り当てられた車両の現在の移動状況および現在の車両状況から得られるレベルインデックス値を受信するステップと、第１のベース移動時間値および第１のパターンインデックス値を取り出すよう、第１の作業現場識別子および第２の作業現場識別子に基づいて走行データ構造をアドレス指定するステップと、第１の倍率値を取り出すよう、第１のパターンインデックス値およびレベルインデックス値に基づいて補償データ構造をアドレス指定するステップと、コンピューティングデバイスの少なくとも１つのプロセッサによって第１のベース移動時間値に第１倍率値を乗じることによって、車両が第１の作業現場と第２の作業現場との間を移動するのにかかる最新移動時間を表す補償された移動時間値を生成するステップと、車両が第１の作業現場から第２の作業現場まで、最新移動時間の間移動するように割り当てられたことを示す電子メッセージを生成するステップと、車両に関連付けられた通信装置に電子メッセージをワイヤレス送信するステップとをさらに含む。
【０００７】
別の実施形態によると、実行されるとプロセッサにコンピュータシステムの第１メモリに格納される走行データ構造を生成させる命令を含む非一時的なコンピュータ読み取り可能な媒体に格納される走行モジュールを備え、走行データ構造は、走行データ構造の複数の走行データセルをアドレス指定することを可能にするために、第１の複数の作業現場識別子と第２の複数の作業現場識別子の次元を有し、複数の走行データセルの各々は、道路利用パターンを表すパターンインデックス値と、２つの作業現場間の最小移動時間を表すベース移動時間値とを格納するコンピュータシステムが開示される。コンピュータシステムは、実行されるとプロセッサにコンピュータシステムの第２メモリに格納される補償データ構造を生成させる命令を含む非一時的なコンピュータ読み取り可能な媒体に格納される補償モジュールをさらに備え、補償データ構造は、走行データ構造とともに、コンピュータシステム内のメモリ使用量を制限するように構成され、補償データ構造は、補償データ構造の複数の補償データセルをアドレス指定することを可能にするために、複数のパターンインデックス値と複数のレベルインデックス値の次元を有し、複数のレベルインデックス値は、作業現場間を移動するように割り当てられた車両の移動状況および車両状況から得られ、複数の補償データセルの各々は、ベース移動時間値を調整するための倍率値を表す１バイトのデータを格納する。
【０００８】
本明細書に組み込まれ、且つ、本明細書の一部を構成する添付の図面は、本開示のさまざまなシステム、方法、およびその他の実施形態を示す。図示された構成要素の境界（たとえば、枠、枠群、またはその他の形状）は、境界の一実施形態を表すことがわかる。いくつかの実施形態において、１つの構成要素は、複数の構成要素として設計されてもよく、複数の構成要素は、１つの構成要素として設計されてもよい。いくつかの実施形態において、別の構成要素の内蔵コンポーネントとして示される構成要素は、外付けコンポーネントとして実装されてもよく、その逆も然りである。さらに、構成要素は、縮尺通りに描かれていない場合がある。
【図面の簡単な説明】
【０００９】
【図１】良いタイミングで効率よくアクセスできる限られた量のメモリにおいて作業現場間を移動する車両に関するデータを生成および格納するためのメモリ使用量低減ロジックを有して構成されるコンピューティングデバイスを有するコンピュータシステムの一実施形態を示す図である。
【図２】図１のコンピュータシステムを用いて、良いタイミングで効率よくアクセスできる限られた量のメモリに作業現場間を移動する車両に関するデータを格納するためのデータ構造の構成を示す図である。
【図３】良いタイミングで効率よくアクセスできる限られた量のメモリにおいて作業現場間を移動する車両に関するデータを生成および格納するための、図１のコンピュータシステムが実行できる方法の一実施形態を示す図である。
【図４】コンピュータシステムのメモリ使用量低減ロジックが実装され得るコンピューティングデバイスの例示的な実施形態を示す図である。
【００１０】
詳細な説明
【発明を実施するための形態】
【００１１】
良いタイミングで効率よくアクセスできる限られたまたは低減された量のメモリに作業現場間を移動する車両に関するデータを格納するためのシステム、方法、およびその他の実施形態を開示する。低減された量のメモリは、作業現場間の車両の走行の予定を組むためのスケジューラー・アプリケーションが走るコンピュータシステムの一部である。低減された量のメモリは、データベース・システムの一部ではない。そのため、低減された量は、データベース・システムにアクセスすることに関連した遅延に悩まされることなく、スケジューリング・アプリケーションによって良いタイミングでアクセスできる。
【００１２】
一実施形態において、走行データ構造および補償データ構造を生成するメモリ使用量低減ロジックを提供する。走行データ構造および補償データ構造は、ともに、コンピューティングデバイス内のメモリ使用量を制限するように構成される。走行データ構造および補償データ構造は、最小限のコンピュータメモリを使用して車両の作業現場間の移動時間の最新の予測を効率よく生成、格納、およびアクセスできるように構成される。これに代えて、大量の走行シナリオについての移動時間を旧来の方法で格納すると、膨大な量のメモリをすぐに使い果たしてしまい、管理できないだろう。
【００１３】
以下の用語は、本明細書において、さまざまな実施形態に関して使用される。
用語「次元」は、本明細書で使用するとき、データ構造の態様を指す。たとえば、データ構造は、第１パラメータを表す横方向の次元および第２パラメータを表す縦方向の次元という２つの次元を有するマトリックス形式であってもよい。
【００１４】
用語「データセル」は、本明細書で使用するとき、データを格納するデータ構造のフィールドを指す。データは、データ構造次元をアドレス指定することによってデータセルから取り出されてもよい。たとえば、２次元データ構造は、第１の次元の関連するパラメータおよび第２の次元の関連するパラメータを提供することによってアドレス指定されてもよい。
【００１５】
用語「移動時間」は、本明細書で使用するとき、１つの場所から別の場所に（たとえば、１つの作業現場から別の作業現場まで）移動するのにかかる時間を指す。
【００１６】
図１は、良いタイミングで効率よくアクセスできる限られた量のメモリにおいて作業現場間を移動する車両に関するデータを生成および格納するためのメモリ使用量低減ロジック１１０を有して構成されるコンピューティングデバイス１０５を有するコンピュータシステム１００の一実施形態を示す図である。一実施形態において、メモリ使用量低減ロジック１１０は、コンピュータアプリケーションの動作の完全性に影響を与えることなく、コンピュータアプリケーション（たとえば、スケジューラー・アプリケーション）と連動するように構成される。一実施形態において、システム１００は、企業組織のためのアプリケーションまたは分散アプリケーションの集まりを含むコンピューティング／データ処理システムである。アプリケーションおよびコンピュータシステム１００は、クラウドベース・ネットワーキングシステム、Ｓｏｆｔｗａｒｅ−ａｓ−ａ−ｓｅｒｖｉｃｅ（ＳａａＳ）アーキテクチャ、もしくはその他の種類のコンピューティングソリューションとともに動作するように構成されてもよく、または、クラウドベース・ネットワーキングシステム、Ｓｏｆｔｗａｒｅ−ａｓ−ａ−ｓｅｒｖｉｃｅ（ＳａａＳ）アーキテクチャ、もしくはその他の種類のコンピューティングソリューションとして実装されてもよい。
【００１７】
メモリ使用量低減ロジック１１０は、データベース・システムの一部ではなく、且つ、スケジューラー・アプリケーションがアクセスできる低減されたメモリ構成に走行情報を格納する処理をコンピュータ化するように構成される。一実施形態において、２つのデータ構造がメモリ内に形成され、これらは、走行情報を、同様の情報を格納する旧式の手段よりも大幅に少ないメモリを使用して格納するように構成される。
【００１８】
図１を参照すると、一実施形態において、メモリ使用量低減ロジック１１０は、コンピューティングデバイス１０５上に実装され、メモリ使用量低減ロジック１１０のさまざまな機能的側面を実現するためのロジックまたはモジュールを含む。一実施形態において、メモリ使用量低減ロジック１１０は、走行ロジック／モジュール１１２と、補償ロジック／モジュール１１４と、アドレス指定ロジック／モジュール１１６と、乗算ロジック／モジュール１１８とを含む。
【００１９】
その他の実施形態は、図１のメモリ使用量低減ロジック１１０と同一または同様の機能を提供する他のロジックまたはロジックの組み合わせを提供してもよい。一実施形態において、メモリ使用量低減ロジック１１０は、ロジックの機能を実行するように構成されたアルゴリズムおよび／またはプログラムモジュールを含む実行可能なアプリケーションである。アプリケーションは、非一時的なコンピュータ記憶媒体に格納される。つまり、一実施形態において、メモリ使用量低減ロジック１１０のさまざまなロジックは、コンピュータ読み取り可能な媒体上に格納される命令のモジュールとして実現される。
【００２０】
また、コンピュータシステム１００は、コンピューティングデバイス１０５上で動作するように構成されたスケジューラー・アプリケーション１２０を含む。スケジューラー・アプリケーション１２０は、作業現場間の車両の走行の予定を組むように構成されるコンピュータアプリケーションである。一実施形態において、スケジューラー・アプリケーション１２０は、前から存在するまたは旧式のコンピュータアプリケーションであり、メモリ使用量低減ロジック１１０は、前から存在するコンピュータアプリケーションと互換性があるように構成される。別の実施形態において、スケジューラー・アプリケーション１２０は、メモリ使用量低減ロジック１１０と連動するように設計された新規のコンピュータアプリケーションであってもよい。
【００２１】
また、コンピュータシステム１００は、複数の車両通信装置を含み、そのうちの１つ（車両通信装置１３０）が図１に示されている。本明細書において前述したように、スケジューラー・アプリケーション１２０は、作業現場間の車両の走行の予定を組むように構成されたコンピュータアプリケーションである。一実施形態によると、フィールドの各車両は、車両通信装置１３０を備える。コンピューティングデバイス１０５上で実装されるスケジューラー・アプリケーション１２０は、各車両の乗員に次に移動する先の作業現場および移動ルートを伝えるよう、各車両通信装置１３０と通信するように構成される。スケジューラー・アプリケーション１２０は、作業現場間の移動時間を最小限に抑える方法で車両を配車しようとして、現在の移動状況とともにフィールドのすべての車両の状況を考慮する。
【００２２】
一実施形態において、スケジューラー・アプリケーション１２０は、車両通信装置１３０とワイヤレスに（たとえば、無線通信を介して）通信する。たとえば、一実施形態において、車両通信装置は、車両の乗組員のうちの一人が使用するセルラー電話機であってもよい。たとえば、セルラー電話機は、スケジューラー・アプリケーション１２０から受信した入力情報を現在の作業現場から次の作業現場まで誘導するために利用するように構成されるナビゲーションアプリケーションを実行中の「スマートフォン」デバイスであってもよい。
【００２３】
一実施形態において、コンピューティングデバイス１０５は、少なくとも本明細書に開示の機能を提供し、且つ、コンピュータネットワークを通じてその他のサービスから情報を受信する集中サーバ側アプリケーションである。たとえば、コンピューティングデバイス１０５は、移動状況、作業現場間のルート、および車両状況に関する情報を、その他のサービスからネットワーク通信を介して受信できる。このような情報は、スケジューラー・アプリケーション１２０によって処理し、メモリ使用量低減ロジック１１０によって格納することができる。
【００２４】
図２は、図１のコンピュータシステム１００を用いて、良いタイミングで効率よくアクセスできる限られた量のメモリにおいて作業現場間を移動する車両に関するデータを生成および格納するためのデータ構造構成２００の一実施形態を示す図である。データ構造構成２００は、走行データ構造２１０と、補償データ構造２２０とを含む。
【００２５】
図１を再び参照すると、一実施形態において、走行ロジック１１２は、コンピューティングデバイス１０５の第１メモリに格納される走行データ構造２１０を生成するように構成される。走行データ構造２１０は、第１の作業現場識別子と第２の作業現場識別子の次元を有する２次元配列またはマトリックスである。つまり、走行データ構造２１０の第１の次元（たとえば、Ｘ軸）は、第１の作業現場セットを識別する識別子に対応し、走行データ構造２１０の第２の次元（たとえば、Ｙ軸）は、第２の作業現場セットを識別する識別子に対応する。その結果、走行データ構造２１０に走行情報を格納でき、走行情報は、作業現場セット内の任意の作業現場から別の任意の作業現場まで行くことに関する情報に相当する。
【００２６】
走行データ構造２１０は、１つの作業現場から別の作業現場（たとえば、図２に示す、作業現場Ｘから作業現場Ｙ）まで行くことに関する走行情報を格納する複数の走行データセルを有する。一意の走行データセル（たとえば、図２に示すセルＣ）を、メモリに格納されたその走行データセルの走行情報を取り出すためにアドレス指定する（つまり、アクセスする）ことができる。そのため、作業現場識別子の対によって、走行データ構造２１０の走行データセルをアドレス指定することが可能になる。一実施形態によると、コンピューティングデバイスは、走行情報をパターンインデックス値およびベース移動時間値として生成し、各走行データセルに格納する。パターンインデックス値は、１つの作業現場から別の作業現場まで行くことに関する道路利用パターンを表す。ベース移動時間値は、（たとえば、理想的な状況である場合の）一方の作業現場から他方の作業現場まで移動するのにかかる最小時間を表す。
【００２７】
一実施形態において、補償ロジック１１４は、コンピューティングデバイス１０５の第２メモリに格納される補償データ構造２２０を生成するように構成される。補償データ構造２２０は、パターンインデックス値とレベルインデックス値の次元を有する２次元配列またはマトリックスである。つまり、補償データ構造２２０の第１の次元（たとえば、Ｘ軸）は、道路利用パターンを識別するパターンインデックス値に対応し、補償データ構造２２０の第２の次元（たとえば、Ｙ軸）は、道路利用状況レイヤを識別するレベルインデックス値に対応する。一実施形態において、レベルインデックス値は、作業現場間の考えられる移動状況、および当該作業現場間を移動するように割り当てられた車両の考えられる車両状況から得られる。その結果、現在の状況に基づいて移動時間を調整することに関する情報に対応する補償データ構造２２０にスケーリング情報（ｓｃａｌｉｎｇ  ｉｎｆｏｒｍａｔｉｏｎ）を格納できる。
【００２８】
補償データ構造２２０は、１つの作業現場から別の作業現場まで（たとえば、図２に示す、作業現場Ｘから作業現場Ｙまで）のベース移動時間を調整することに関する補償情報を格納する複数の補償データセルを有する。一意の補償データセル（たとえば、図２に示すセルＺ）を、メモリに格納されたその補償データセルの補償情報を取り出すためにアドレス指定する（つまり、アクセスする）ことができる。そのため、走行データ構造からのパターンインデックス値、および外部からの（たとえば、スケジューラー・アプリケーションまたは別のサービスからの）レベルインデックス値によって、補償データ構造２２０の補償データセルをアドレス指定することが可能になる。一実施形態によると、各補償データセルは、ベース移動時間値を調整するための倍率値を表す１バイト（８ビット）のデータを格納する。一実施形態において、倍率値は、理想的な状況から外れている可能性のある現在の状況をより正確に反映するよう、走行データ構造２１０からアクセスされるベース移動時間値を大きくするために使用される。
【００２９】
一実施形態において、アドレス指定ロジック１１６は、第１の作業現場を識別する第１の作業現場識別子と、第２の作業現場を識別する第２の作業現場識別子と、レベルインデックス値とを受信するように構成される。レベルインデックス値は、第１の作業現場から第２の作業現場まで移動することに関連する現在の移動状況、および第１の作業現場から第２の作業現場まで移動するように割り当てられた車両に関連する現在の車両状況から得られる。一実施形態によると、第１の作業現場識別子、第２の作業現場識別子、およびレベルインデックス値は、スケジューラー・アプリケーション１２０によって提供される。さらに、レベルインデックス値は、たとえば、ネットワーク通信を介して外部のコンピュータ化されたサービスからスケジューラー・アプリケーションが得た現在の移動状況および現在の車両状況に基づいて、スケジューラー・アプリケーション１２０によって得られてもよい。
【００３０】
さらに、一実施形態において、アドレス指定ロジック１１６は、第１のベース移動時間値および第１のパターンインデックス値を取り出すために（たとえば、走行データ構造２１０の作業現場Ｘおよび作業現場Ｙをアドレス指定することによってベース移動時間値およびパターンインデックス値をセルＣから取り出すために）、第１の作業現場識別子および第２の作業現場識別子に基づいて走行データ構造２１０をアドレス指定するように構成される。また、アドレス指定ロジック１１６は、第１の倍率値を取り出すよう、第１のパターンインデックス値（走行データ構造から取り出される）およびレベルインデックス値（スケジューラー・アプリケーション１２０から受信される）に基づいて補償データ構造２２０をアドレス指定するように構成される。
【００３１】
一実施形態において、倍率値は、たとえば、１．０、１．１、１．２、１．３、１．４、１．５、１．６、１．７、１．８、または１．９など、１以上の数値である。さらに、一実施形態によると、乗算ロジック１１８は、車両が第１の作業現場と第２の作業現場との間を移動するのにかかる最新移動時間を表す補償された移動時間値を生成するように構成される。乗算ロジック１１８は、第１のベース移動時間値に第１の倍率値を乗じることによって、補償された移動時間値を生成するように構成される。例として、第１のベース移動時間値が３０分（理想的な状況において車両が作業現場Ｘから作業現場Ｙまでたどり着くのにかかる最小移動時間を表す）であり、第１倍率値が１．３である場合、補償された移動時間値は、３０分×１．３＝３９分と演算される。別の実施形態において、倍率値は、１以下とすることができ、乗算ロジック１１８は、ベース移動時間に倍率値の逆数を乗じることができる。
【００３２】
その結果、考えられる移動状況のセットおよび考えられる車両状況のセットごとに別々の移動時間値を生成し、考えられる作業現場の対ごとにメモリに格納する必要がない。このように移動時間を格納するによって、作業現場、移動状況、および車両状況の数が増えるにつれて、とてつもない量のメモリを使用してしまう可能性がある。代わりに、本明細書に記載のように構成されてアドレス指定される走行データ構造および補償データ構造によって、使用されるメモリ量を低減することができる。パターン自体ではなく移動パターンへのインデックスを利用して、同一パターンを再利用できるようにし、メモリ空間を節約する。さらに、各倍率の物理的なサイズは、１バイト（８ビット）に制限され、さらにメモリ空間を節約することができる。
【００３３】
一実施形態において、スケジューラー・アプリケーション１２０は、補償された移動時間値を乗算ロジック１１８から受信し、電子メッセージを生成するように構成される。電子メッセージは、車両が第１の作業現場から第２の作業現場まで、補償された移動時間値によって表される最新移動時間の間移動するように割り当てられたことを示す。さらに、車両の乗員（たとえば、作業メンテナンス班）に次に移動する先を知らせるよう、スケジューラー・アプリケーション１２０は、コンピューティングデバイス１０５の通信装置１２５と協働して、車両に関連付けられた通信装置に電子メッセージをワイヤレス送信するように構成される。
【００３４】
このように、メモリ使用量低減ロジック１１０によって、既知の車両を使用して既知の作業現場間を移動することに関連するすべての考えられる状況を反映した走行データの効率的な格納が可能になる。さらに、メモリ使用量低減ロジック１１０によって、現在の状況に基づいてスケジューラー・アプリケーション１２０によって補償される移動時間への高速かつリアルタイムのアクセスが容易になる。この結果、スケジューリング・アプリケーション１２０は、車両が最適な方法で作業現場間を移動するように予定を組む（割り当てる）ことができ、全体的な移動時間を減らすことができる。
【００３５】
図３は、良いタイミングで効率よくアクセスできる限られた量のメモリにおいて作業現場間を移動する車両に関するデータを生成および格納するための、図１のコンピュータシステム１００が実行できる方法３００の一実施形態を示す図である。方法３００は、メモリ使用量低減ロジック１１０の動作を記述し、図１のメモリ使用量低減ロジック１１０によってまたは方法３００のアルゴリズムを有して構成されるコンピューティングデバイスによって実行されるように実現される。たとえば、一実施形態において、方法３００は、コンピュータアプリケーションを実行するように構成されたコンピューティングデバイスによって実現される。コンピュータアプリケーションは、電子データを処理するように構成され、方法３００の機能を実行する実行可能な格納された命令を含む。
【００３６】
同等の代表数の補償された移動時間値を直接格納するために使用される場合よりも少ないメモリ（たとえば、少なくとも２桁の大きさ分少ないメモリ）を使用して、効率的な方法で走行データを生成、格納、およびアクセスできるようにするメモリ使用量低減ロジック１１０が提供される、という観点から方法３００を説明する。また、スケジューリング・コンピュータアプリケーション１２０の動作の完全性に影響を与えることなく、メモリ使用量低減ロジック１１０がスケジューリング・コンピュータアプリケーション１２０とともに利用できるという観点から方法３００を説明する。
【００３７】
方法３００を開始すると、ブロック３１０において走行データ構造２１０を生成し、ブロック３２０において補償データ構造２２０を生成する。走行データ構造２１０および補償データ構造２２０は、ともに、コンピューティングデバイス１０５内のメモリ使用量を制限するように構成される。一実施形態において、走行データ構造２１０は走行ロジック１１２によって生成され、補償データ構造２２０は補償ロジック１１４によって生成される。走行データ構造２１０も補償データ構造２２０もデータベース・システムの一部として格納されない。データへのアクセス時間を容認できないレベルまで増やしてしまう可能性があるためである。
【００３８】
走行データ構造は、コンピューティングデバイス１０５の第１メモリに格納され、走行データ構造の複数の走行データセルをアドレス指定することを可能にするために、第１の複数の作業現場識別子と第２の複数の作業現場識別子の次元を有する。複数の走行データセルの各々は、道路利用パターンを表すパターンインデックス値と、２つの作業現場間の最小移動時間を表すベース移動時間値とを格納する。
【００３９】
補償データ構造は、コンピューティングデバイス１０５の第２メモリに格納され、補償データ構造の複数の補償データセルをアドレス指定することを可能にするために、複数のパターンインデックス値と複数のレベルインデックス値の次元を有する。複数の補償データセルの各々は、ベース移動時間値を調整するための倍率値を表す１バイト（たとえば、８ビット）のデータを格納する。一実施形態によると、１バイトのデータは、第１の倍率値を表すことについて０．２パーセントの精度を有する。
【００４０】
ブロック３３０において、第１の作業現場を識別する第１の作業現場識別子、第２の作業現場を識別する第２の作業現場識別子、およびレベルインデックス値を受信する。レベルインデックス値は、第１の作業現場と第２の作業現場との間の現在の移動状況、および第１の作業現場から第２の作業現場まで移動するように少なくとも暫定的に割り当てられた車両の現在の車両状況から得られる。一実施形態によると、第１の作業現場識別子、第２の作業現場識別子、およびレベルインデックス値は、メモリ使用量低減ロジック１１０によってスケジューラー・アプリケーション１２０から受信される。
【００４１】
現在の移動状況は、時刻、曜日、日付、または休日、のうちの少なくとも１つを考慮する。現在の車両状況は、車両タイプおよび車両荷物の少なくとも一方を考慮する。車両タイプは、たとえば、メンテナンス・バン、ダンプカー、ミキサー車、またはいくつかの別の車両タイプのうちのいずれかに相当し得る。車両荷物は、車両が第１の作業現場から第２の作業現場まで運ぶ資材または産出物（たとえば、土、コンクリート、砂利など）の量に相当する。車両荷物は、たとえば、満載、３／４積載、１／２積載、３／１積載、または積載なし（つまり、車両は積荷がない）に相当してもよい。
【００４２】
ブロック３４０において、第１のベース移動時間値および 第１のパターンインデックス値を取り出すよう、第１の作業現場識別子および第２の作業現場識別子に基づいて走行データ構造２１０をアドレス指定する。走行データ構造２１０をアドレス指定することは、一実施形態において、アドレス指定ロジック１１６によって達成される。第１のベース移動時間値は、車両が第１の作業現場から第２の作業現場まで移動するのにかかる最小時間を表す。第１のパターンインデックス値は、第１の道路利用パターンに対応付けられる。
【００４３】
一実施形態によると、第１のベース移動時間値および第１のパターンインデックス値は、少なくとも、第１の作業現場から第２の作業現場まで移動することに関連する道路地図データから得られる。一実施形態によると、道路地図データは、たとえば、スケジューラー・アプリケーション１２０によって、コンピュータ化されたネットワーク通信を介して外部の地図作成データベースから取得されてもよい。
【００４４】
ブロック３５０において、第１の倍率値を取り出すよう、走行データ構造２１０からの第１のパターンインデックス値、およびレベルインデックス値に基づいて補償データ構造２２０をアドレス指定する。ここでもまた、第１のパターンインデックス値は、第１の道路利用パターンに対応付けられ、レベルインデックス値は、第１の作業現場と第２の作業現場との間の現在の移動状況と、第１の作業現場から第２の作業現場まで移動するように少なくとも暫定的に割り当てられた車両の現在の車両状況から得られる。補償データ構造２２０をアドレス指定することは、一実施形態において、アドレス指定ロジック１１６によって達成される。一実施形態によると、第１倍率値は、１以上の数値である（たとえば、１．００、１．０５、１．１０、１．１５、１．２０など）。
【００４５】
ブロック３６０において、第１倍率値を使用して、車両が第１の作業現場から第２の作業現場まで移動するのにかかる最新移動時間を表す補償された移動時間値を生成する。一実施形態において、補償された移動時間値は、乗算ロジック１１８によって、第１のベース移動時間値に第１の倍率値を乗じることによって生成される。補償された移動時間値は、ベース移動時間値を増やすことによって、理想的な状況から外れた現在の移動状況および車両状況を補償する。
【００４６】
ブロック３７０において、スケジューリングアルゴリズム１２０は、車両が第１の作業現場から第２の作業現場まで、最新移動時間の間移動するように割り当てられたことを示す電子メッセージを生成する。ブロック３８０において、スケジューリングアルゴリズム１２０は、コンピューティングデバイス１０５の通信装置１２５と協働して、車両に関連付けられた通信装置１３０に電子メッセージをワイヤレス送信する。
【００４７】
このように、方法３００は、スケジューリング・コンピュータアプリケーション１２０をホストしているコンピューティングデバイス１０５上に実装されてもよい。方法３００は、移動時間を格納するために従来の方法よりも大幅に少ないメモリを使用するデータ構造を生成する。現在の状況を反映した調整後の移動時間を取得するよう、スケジューリング・アプリケーション１２０は、メモリ使用量低減ロジック１１０を介して、データ構造に効率よくアクセスできる。
【００４８】
コンピューティングデバイスの実施形態
図４は、本明細書に記載の例示的なシステムおよび方法、ならびに／または均等物のうちの１つ以上を有して構成および／またはプログラムされた、例示的なコンピューティングデバイスを示す図である。図４は、メモリ使用量低減ロジックの実施形態が実装され得るコンピューティングデバイスの１つの例示的な実施形態を示す。例示的なコンピューティングデバイスは、プロセッサ４０２と、メモリ４０４と、バス４０８によって動作可能に接続された入出力ポート４１０とを備えるコンピュータ４００であってもよい。
【００４９】
一例において、コンピュータ４００は、走行データ構造および補償データ構造を生成するように構成されたメモリ使用量低減ロジック４３０（図１のメモリ使用量低減ロジック１１０に相当する）を含んでもよい。走行データ構造および補償データ構造は、ともに、コンピュータ内のメモリ使用量を制限するように構成される。別の例において、ロジック４３０は、ハードウェア、命令を格納した非一時的なコンピュータ読み取り可能な媒体、ファームウェア、および／またはそれらの組み合わせに実装してもよい。ロジック４３０は、バス４０８に取り付けられたハードウェアコンポーネントとして図示されているが、その他の実施形態において、ロジック４３０は、プロセッサ４０２、メモリ４０４に格納されたモジュール、またはディスク４０６に格納されたモジュールに実装できることがわかる。
【００５０】
一実施形態において、ロジック４３０またはコンピュータ４００は、記載のアクションを実行する手段である（たとえば、構造体：ハードウェア、非一時的なコンピュータ読み取り可能な媒体、ファームウェア）。いくつかの実施形態において、コンピューティングデバイスは、クラウド・コンピュータシステムにおいて動作するサーバ、Ｓｏｆｔｗａｒｅ  ａｓ  ａ  Ｓｅｒｖｉｃｅ（ＳａａＳ）アーキテクチャ、スマートフォン、ラップトップ、タブレットコンピューティングデバイスなどにおいて構成されるサーバであってもよい。
【００５１】
手段は、たとえば、ともに、コンピュータ内のメモリ使用量を制限するように構成される走行データ構造および補償データ構造を生成するようにプログラムされたＡＳＩＣとして実現されてもよい。また、手段は、メモリ４０４に一時的に格納されてからプロセッサ４０２によって実行されるデータ４１６としてコンピュータ４００に提示される、コンピュータによって実行可能な格納された命令として実装されてもよい。
【００５２】
また、ロジック４３０は、ともに、コンピュータ内のメモリ使用量を制限するように構成される、走行データ構造および補償データ構造を生成するための手段（たとえば、ハードウェア、実行可能な命令を格納する非一時的なコンピュータ読み取り可能な媒体、ファームウェア）を提供してもよい。
【００５３】
コンピュータ４００の例示的な構成を全体的に説明すると、プロセッサ４０２は、デュアルマイクロプロセッサおよびその他のマルチプロセッサアーキテクチャを含むさまざまなプロセッサであってもよい。メモリ４０４は、揮発性メモリおよび／または不揮発性メモリを含んでもよい。不揮発性メモリは、たとえば、ＲＯＭやＰＲＯＭなどを含んでもよい。揮発性メモリは、たとえば、ＲＡＭ、ＳＲＡＭ、ＤＲＡＭなどを含んでもよい。
【００５４】
記憶ディスク４０６は、たとえば、入出力インターフェース（たとえば、カード、デバイス）４１８および入出力ポート４１０を介してコンピュータ４００に動作可能に接続されてもよい。ディスク４０６は、たとえば、磁気ディスクドライブ、ソリッドステートディスクドライブ、フロッピー（登録商標）ディスクドライブ、テープドライブ、Ｚｉｐドライブ、フラッシュメモリカード、メモリースティックなどであってもよい。さらに、ディスク４０６は、ＣＤ−ＲＯＭドライブ、ＣＤ−Ｒドライブ、ＣＤ−ＲＷドライブ、ＤＶＤ  ＲＯＭなどであってもよい。メモリ４０４は、たとえば、プロセス４１４および／またはデータ４１６を記憶できる。ディスク４０６および／またはメモリ４０４は、コンピュータ４００のリソースを制御および割り当てるオペレーティングシステムを記憶できる。
【００５５】
コンピュータ４００は、Ｉ／Оインターフェース４１８および入出力ポート４１０を介して入出力装置とインタラクトしてもよい。入出力装置は、たとえば、キーボード、マイクロフォン、ポインティング‐選択デバイス、カメラ、ビデオカード、ディスプレイ、ディスク４０６、ネットワーク機器４２０などであってもよい。入出力ポート４１０は、たとえば、シリアルポート、パラレルポート、およびＵＳＢポートを含んでもよい。
【００５６】
コンピュータ４００は、ネットワーク環境で動作できるので、Ｉ／Оインターフェース４１８、および／またはＩ／Оポート４１０を介してネットワーク機器４２０に接続されてもよい。ネットワーク機器４２０を通して、コンピュータ４００は、ネットワークとインタラクトしてもよい。ネットワークを通して、コンピュータ４００は、リモートコンピュータに論理的に接続されてもよい。コンピュータ４００がインタラクトし得るネットワークは、ＬＡＮ、ＷＡＮ、およびその他のネットワークを含み得るが、これらに限定されない。
【００５７】
良いタイミングで効率よくアクセスできる限られたまたは低減された量のメモリに作業現場間を移動する車両に関するデータを格納するように構成されたシステム、方法、およびその他の実施形態を説明した。一実施形態において、走行データ構造および補償データ構造が生成され、走行データ構造および補償データ構造は、ともに、コンピューティングデバイス内のメモリ使用量を制限するように構成される。走行データ構造は、コンピューティングデバイスの第１メモリに格納され、走行データ構造の複数の走行データセルをアドレス指定することを可能にするために、いくつかの第１の作業現場識別子といくつかの第２の作業現場識別子の次元を有する。各走行データセルは、道路利用パターンを表すパターンインデックス値と、２つの作業現場間の最小移動時間を表すベース移動時間値とを格納する。補償データ構造は、コンピューティングデバイスの第２メモリに格納され、補償データ構造の複数の補償データセルをアドレス指定することを可能にするために、いくつかのパターンインデックス値といくつかのレベルインデックス値の次元を有する。各補償データセルは、ベース移動時間値を調整するための倍率値を表す１バイトのデータを格納する。
【００５８】
定義およびその他の実施形態
別の実施形態において、記載の方法および／またはそれらの均等物は、コンピュータにより実行可能な命令を有して実装される。したがって、一実施形態において、非一時的なコンピュータ読み取り可能な／記憶媒体は、アルゴリズム／実行可能なアプリケーションのコンピュータにより実行可能な格納された命令を有して構成され、命令は、機械（複数の機械）によって実行されると、機械（複数の機械）（および／または関連するコンポーネント）に方法を実行させる。機械としては、プロセッサ、コンピュータ、クラウドコンピューティングシステムにおいて動作するサーバ、Ｓｏｆｔｗａｒｅ  ａｓ  ａ  Ｓｅｒｖｉｃｅ（ＳａａＳ）アーキテクチャにおいて構成されるサーバ、スマートフォンなどがあるが、これらに限定されない。一実施形態において、コンピューティングデバイスは、開示の方法を実行するように構成された１つ以上の実行可能なアルゴリズムを有して実装される。
【００５９】
１つ以上の実施形態において、開示の方法またはそれらの均等物は、方法を実行するように構成されたコンピュータハードウェア、または方法を実行するように構成された実行可能なアルゴリズムを含む非一時的なコンピュータ読み取り可能な媒体に組み込まれたコンピュータソフトウェアのいずれかによって実行される。
【００６０】
説明をわかり易くする目的のため、図示した技法をアルゴリズムの一連のブロックとして図示および説明したが、技法は、ブロックの順序に限定されないことがわかる。いくつかのブロックは、図示および説明された順序とは異なる順序起こり得、および／またはその他のブロックと同時に起こり得る。また、例示的な技法を実装するために、図示された全ブロックよりも少ない数のブロックを使用してもよい。ブロックは、複数のアクション／コンポーネントに組み合わされるまたは分けられてもよい。さらに、追加および／または代替的な技法は、ブロックに示されていない追加アクションを使用できる。本明細書に記載の方法は、法定の主題に限定される。
【００６１】
以下は、本明細書において使用される選定された用語の定義を含む。定義は、用語の範囲に含まれ、且つ、実装のために使用され得るさまざまな例および／または形態のコンポーネントを含む。例は、限定するものではない。単数形および複数形の用語も定義の範囲に含まれる。
【００６２】
「一実施形態」、「実施形態」、「一例」、「例」などは、そのようにして説明される実施形態（複数の実施形態）または例（複数の例）が特定の特徴、構成、特性、性質、構成要素、または限定を含み得ることを示し、実施形態または例のすべてがその特定の特徴、構成、特性、性質、構成要素、または限定を必ずしも含むわけではないことを示す。さらに、表現「一実施形態において」を繰り返し使用することは、同じ実施形態を指し得るが、必ずしもそうではない。
【００６３】
ＡＳＩＣ：特定用途向け集積回路。
ＣＤ：コンパクトディスク。
【００６４】
ＣＤ−Ｒ：１回だけデータ書込み可能なＣＤ。
ＣＤ−ＲＷ：データ書換え可能なＣＤ。
【００６５】
ＤＶＤ：デジタル多用途ディスクおよび／またはデジタルビデオディスク。
ＨＴＴＰ：ハイパーテキスト転送プロトコル。
【００６６】
ＬＡＮ：ローカルエリアネットワーク。
ＲＡＭ：ランダムアクセスメモリ。
【００６７】
ＤＲＡＭ：ダイナミックＲＡＭ。
ＳＲＡＭ：同期ＲＡＭ。
【００６８】
ＲＯＭ：読み出し専用メモリ。
ＰＲＯＭ：プログラマブルＲＯＭ。
【００６９】
ＥＰＲＯＭ：消去可能ＰＲＯＭ。
ＥＥＰＲＯＭ：電気的消去可能ＰＲＯＭ。
【００７０】
ＵＳＢ：ユニバーサル・シリアル・バス。
ＷＡＮ：ワイドエリアネットワーク。
【００７１】
「動作可能な接続」、またはエンティティが「動作可能に接続される」接続は、信号、物理的通信、および／または論理的通信が送信および／または受信され得る接続である。動作可能な接続は、物理インターフェース、電気インターフェース、および／またはデータインターフェースを含み得る。動作可能な接続は、操作可能な制御を可能にするのに十分なインターフェースおよび／または接続の異なる組み合わせを含み得る。たとえば、２つのエンティティを、直接または１つ以上の中間エンティティ（たとえば、プロセッサ、オペレーティングシステム、ロジック、非一時的なコンピュータ読み取り可能な媒体）を介して互いに信号を通信するように動作可能に接続できる。動作可能な接続は、１つのエンティティがデータを生成し、メモリに格納することと、別のエンティティが、たとえば、命令制御によってメモリからそのデータを受信することとを含み得る。動作可能な接続を作るために、論理的および／または物理的通信チャネルを使用できる。
【００７２】
「データ構造」は、本明細書で使用するとき、メモリに格納されたコンピューティングシステム、記憶装置、またはその他のコンピュータ化されたシステムにおけるデータの構成である。データ構造は、たとえば、データフィールド、データファイル、データ配列、データレコード、データベース、データテーブル、グラフ、ツリー、連結リストなどのうちの任意の１つであり得る。データ構造は、多くの他のデータ構造から形成されてもよく、それらを含んでもよい（たとえば、データベースは、多くのデータレコードを含む）。その他の実施形態によると、データ構造のその他の例も可能である。
【００７３】
「コンピュータ読み取り可能な媒体」または「コンピュータ記憶媒体」は、本明細書で使用するとき、実行されると開示の機能のうちの１つ以上を実行するように構成された命令および／またはデータを格納する非一時的な媒体を指す。コンピュータ読み取り可能な媒体は、不揮発性媒体、および揮発性媒体などの形式を取り得るが、これらに限定されない。不揮発性媒体は、たとえば、光ディスク、磁気ディスクなどを含み得る。揮発性媒体は、たとえば、半導体メモリ、ダイナミックメモリなどを含み得る。コンピュータ読み取り可能な媒体の一般的な形式は、フロッピー（登録商標）ディスク、フレキシブルディスク、ハードディスク、磁気テープ、その他の磁気媒体、特定用途向け集積回路（ＡＳＩＣ）、プログラマブル・ロジック・デバイス、ＣＤ（Ｃｏｍｐａｃｔ  Ｄｉｓｋ）、その他の光学媒体、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、メモリチップもしくはカード、メモリースティック、ＳＳＤ（ソリッドステート記憶装置）、フラッシュドライブ、およびコンピュータ、プロセッサ、またはその他の電子デバイスがともに機能できるその他の媒体を含み得るが、これらに限定されない。各種の媒体は、一実施形態において実装用に選択された場合、開示および／または請求項に記載の機能のうちの１つ以上を実行するように構成されたアルゴリズムの格納された命令を含み得る。
【００７４】
「ロジック」は、本明細書で使用するとき、本明細書に開示の機能もしくはアクションを実行するための、ならびに／または別のロジック、方法、および／もしくはシステムからの機能もしくはアクションを本明細書に開示の通りに実行させるための、コンピュータもしくは電気ハードウェア、実行可能なアプリケーションもしくはプログラムモジュールの格納された命令を有する非一時的な媒体、および／またはこれらの組み合わせを有して実現される部品を表す。同等のロジックが、ファームウェア、アルゴリズムがプログラムされたマイクロプロセッサ、離散ロジック（たとえば、ＡＳＩＣ）、少なくとも１つの回路、アナログ回路、デジタル回路、プログラムされた論理回路、アルゴリズムの命令を含むメモリ素子などを含んでもよく、これらは、いずれも、開示の機能のうちの１つ以上を実行するように構成され得る。一実施形態において、ロジックは、１つ以上のゲート、ゲートの組み合わせ、または開示の機能のうちの１つ以上を実行するように構成されたその他の回路部品を含み得る。複数のロジックが説明されている箇所は、複数のロジックを１つのロジックに組み込むことが可能である。同様に、１つのロジックが説明されている箇所は、当該１つのロジックを複数のロジックに分散することが可能である。一実施形態において、これらのロジックのうちの１つ以上は、開示および／または請求項に記載の機能を実行することに関連付けられた対応する構造である。実装するロジックの選択は、所望のシステム条件または仕様に基づいてよい。たとえば、より速い速度を求める場合、機能を実装するために、ハードウェアが選ばれる。低コストを求める場合、機能を実装するために、格納された命令／実行可能なアプリケーションが選ばれる。
【００７５】
開示の実施形態をかなり詳しく図示および説明したが、添付の請求の範囲をこのような詳細に制限または限定する意図はまったくない。主題のさまざまな態様を説明する目的のために構成要素または技法の考えられるすべての組み合わせを説明することは、当然、不可能である。そのため、本開示は、図示および説明した詳細または例示的な実施例に限定されない。したがって、本開示は、添付の請求の範囲に含まる代替例、変更例、および変形例を包含するものとし、特許の対象となるのにふさわしい発明に要求される法定の主題要件を満たす。
【００７６】
用語「含む（ｉｎｃｌｕｄｅｓ）」または「含む（ｉｎｃｌｕｄｉｎｇ）」が詳細な説明または請求の範囲において使用される範囲において、当該用語は、用語「備える（ｃｏｍｐｒｉｓｉｎｇ）」が請求の範囲において移行句として使用されたときに解釈されるのと同様に、他を包含する意図がある。
【００７７】
用語「または（ｏｒ）」が詳細な説明または請求の範囲において使用される範囲において（たとえば、ＡまたはＢ）、当該用語は、「ＡまたはＢまたはその両方」を意味する意図がある。出願人が、「ＡまたはＢのどちらかのみであって両方ではない」ことを示す意図がある場合、表現「ＡまたはＢのどちらかのみであって両方ではない」が使用される。したがって、本明細書における用語「または」の使用は、包含的であって限定的ではない使用である。
【００７８】
表現「Ａ、Ｂ、およびＣのうちの１つ以上」が本明細書において使用される範囲において、（たとえば、Ａ、Ｂ、およびＣのうちの１つ以上を格納するように構成されたデータストア）当該表現は、Ａ、Ｂ、Ｃ、ＡＢ、ＡＣ、ＢＣ、および／またはＡＢＣの可能性のセットを伝える意図がある（たとえば、データストアは、Ａのみ、Ｂのみ、Ｃのみ、ＡおよびＢ、ＡおよびＣ、ＢおよびＣ、ならびに／またはＡおよびＢおよびＣを格納し得る）。Ａのうちの１つ、Ｂのうちの１つ、およびＣのうちの１つが必要である意図はない。出願人が、「Ａのうちの少なくとも１つ、Ｂのうちの少なくとも１つ、およびＣのうちの少なくとも１つ」を示す意図がある場合、表現「Ａのうちの少なくとも１つ、Ｂのうちの少なくとも１つ、およびＣのうちの少なくとも１つ」が使用される。
【図１】
2019512117.tif 000003
【図２】
2019512117.tif 000004
【図３】
2019512117.tif 000005
【図４】
2019512117.tif 000006
【国際調査報告】
2019512117.tif 000007
2019512117.tif 000008
2019512117.tif 000009