(58)【調査した分野】(Int.Cl.,DB名)
前記第1のベース移動時間値は、前記車両が前記第1の作業現場から前記第2の作業現場まで移動するのにかかる最小時間を表し、前記第1の倍率値は、1以下である、請求項1に記載の方法。
前記第1のパターンインデックス値に対応付けられた第1の道路利用パターン、および前記第1のベース移動時間値は、少なくとも、前記第1の作業現場から前記第2の作業現場まで移動することに関連する道路地図データから得られる、請求項1から3のいずれか1項に記載の方法。
前記アドレス指定手段は、前記第1の作業現場識別子、前記第2の作業現場識別子、および前記レベルインデックス値を、複数の車両が作業現場間を移動するように予定を組むように構成されたスケジューラー・アプリケーションから受信する、請求項7に記載のコンピュータシステム。
【発明を実施するための形態】
【0011】
良いタイミングで効率よくアクセスできる限られたまたは低減された量のメモリに作業現場間を移動する車両に関するデータを格納するためのシステム、方法、およびその他の実施形態を開示する。低減された量のメモリは、作業現場間の車両の走行の予定を組むためのスケジューラー・アプリケーションが走るコンピュータシステムの一部である。低減された量のメモリは、データベース・システムの一部ではない。そのため、低減された量は、データベース・システムにアクセスすることに関連した遅延に悩まされることなく、スケジューリング・アプリケーションによって良いタイミングでアクセスできる。
【0012】
一実施形態において、走行データ構造および補償データ構造を生成するメモリ使用量低減ロジックを提供する。走行データ構造および補償データ構造は、ともに、コンピューティングデバイス内のメモリ使用量を制限するように構成される。走行データ構造および補償データ構造は、最小限のコンピュータメモリを使用して車両の作業現場間の移動時間の最新の予測を効率よく生成、格納、およびアクセスできるように構成される。これに代えて、大量の走行シナリオについての移動時間を旧来の方法で格納すると、膨大な量のメモリをすぐに使い果たしてしまい、管理できないだろう。
【0013】
以下の用語は、本明細書において、さまざまな実施形態に関して使用される。
用語「次元」は、本明細書で使用するとき、データ構造の態様を指す。たとえば、データ構造は、第1パラメータを表す横方向の次元および第2パラメータを表す縦方向の次元という2つの次元を有するマトリックス形式であってもよい。
【0014】
用語「データセル」は、本明細書で使用するとき、データを格納するデータ構造のフィールドを指す。データは、データ構造次元をアドレス指定することによってデータセルから取り出されてもよい。たとえば、2次元データ構造は、第1の次元の関連するパラメータおよび第2の次元の関連するパラメータを提供することによってアドレス指定されてもよい。
【0015】
用語「移動時間」は、本明細書で使用するとき、1つの場所から別の場所に(たとえば、1つの作業現場から別の作業現場まで)移動するのにかかる時間を指す。
【0016】
図1は、良いタイミングで効率よくアクセスできる限られた量のメモリにおいて作業現場間を移動する車両に関するデータを生成および格納するためのメモリ使用量低減ロジック110を有して構成されるコンピューティングデバイス105を有するコンピュータシステム100の一実施形態を示す図である。一実施形態において、メモリ使用量低減ロジック110は、コンピュータアプリケーションの動作の完全性に影響を与えることなく、コンピュータアプリケーション(たとえば、スケジューラー・アプリケーション)と連動するように構成される。一実施形態において、システム100は、企業組織のためのアプリケーションまたは分散アプリケーションの集まりを含むコンピューティング/データ処理システムである。アプリケーションおよびコンピュータシステム100は、クラウドベース・ネットワーキングシステム、Software−as−a−service(SaaS)アーキテクチャ、もしくはその他の種類のコンピューティングソリューションとともに動作するように構成されてもよく、または、クラウドベース・ネットワーキングシステム、Software−as−a−service(SaaS)アーキテクチャ、もしくはその他の種類のコンピューティングソリューションとして実装されてもよい。
【0017】
メモリ使用量低減ロジック110は、データベース・システムの一部ではなく、且つ、スケジューラー・アプリケーションがアクセスできる低減されたメモリ構成に走行情報を格納する処理をコンピュータ化するように構成される。一実施形態において、2つのデータ構造がメモリ内に形成され、これらは、走行情報を、同様の情報を格納する旧式の手段よりも大幅に少ないメモリを使用して格納するように構成される。
【0018】
図1を参照すると、一実施形態において、メモリ使用量低減ロジック110は、コンピューティングデバイス105上に実装され、メモリ使用量低減ロジック110のさまざまな機能的側面を実現するためのロジックまたはモジュールを含む。一実施形態において、メモリ使用量低減ロジック110は、走行ロジック/モジュール112と、補償ロジック/モジュール114と、アドレス指定ロジック/モジュール116と、乗算ロジック/モジュール118とを含む。
【0019】
その他の実施形態は、
図1のメモリ使用量低減ロジック110と同一または同様の機能を提供する他のロジックまたはロジックの組み合わせを提供してもよい。一実施形態において、メモリ使用量低減ロジック110は、ロジックの機能を実行するように構成されたアルゴリズムおよび/またはプログラムモジュールを含む実行可能なアプリケーションである。アプリケーションは、非一時的なコンピュータ記憶媒体に格納される。つまり、一実施形態において、メモリ使用量低減ロジック110のさまざまなロジックは、コンピュータ読み取り可能な媒体上に格納される命令のモジュールとして実現される。
【0020】
また、コンピュータシステム100は、コンピューティングデバイス105上で動作するように構成されたスケジューラー・アプリケーション120を含む。スケジューラー・アプリケーション120は、作業現場間の車両の走行の予定を組むように構成されるコンピュータアプリケーションである。一実施形態において、スケジューラー・アプリケーション120は、前から存在するまたは旧式のコンピュータアプリケーションであり、メモリ使用量低減ロジック110は、前から存在するコンピュータアプリケーションと互換性があるように構成される。別の実施形態において、スケジューラー・アプリケーション120は、メモリ使用量低減ロジック110と連動するように設計された新規のコンピュータアプリケーションであってもよい。
【0021】
また、コンピュータシステム100は、複数の車両通信装置を含み、そのうちの1つ(車両通信装置130)が
図1に示されている。本明細書において前述したように、スケジューラー・アプリケーション120は、作業現場間の車両の走行の予定を組むように構成されたコンピュータアプリケーションである。一実施形態によると、フィールドの各車両は、車両通信装置130を備える。コンピューティングデバイス105上で実装されるスケジューラー・アプリケーション120は、各車両の乗員に次に移動する先の作業現場および移動ルートを伝えるよう、各車両通信装置130と通信するように構成される。スケジューラー・アプリケーション120は、作業現場間の移動時間を最小限に抑える方法で車両を配車しようとして、現在の移動状況とともにフィールドのすべての車両の状況を考慮する。
【0022】
一実施形態において、スケジューラー・アプリケーション120は、車両通信装置130とワイヤレスに(たとえば、無線通信を介して)通信する。たとえば、一実施形態において、車両通信装置は、車両の乗組員のうちの一人が使用するセルラー電話機であってもよい。たとえば、セルラー電話機は、スケジューラー・アプリケーション120から受信した入力情報を現在の作業現場から次の作業現場まで誘導するために利用するように構成されるナビゲーションアプリケーションを実行中の「スマートフォン」デバイスであってもよい。
【0023】
一実施形態において、コンピューティングデバイス105は、少なくとも本明細書に開示の機能を提供し、且つ、コンピュータネットワークを通じてその他のサービスから情報を受信する集中サーバ側アプリケーションである。たとえば、コンピューティングデバイス105は、移動状況、作業現場間のルート、および車両状況に関する情報を、その他のサービスからネットワーク通信を介して受信できる。このような情報は、スケジューラー・アプリケーション120によって処理し、メモリ使用量低減ロジック110によって格納することができる。
【0024】
図2は、
図1のコンピュータシステム100を用いて、良いタイミングで効率よくアクセスできる限られた量のメモリにおいて作業現場間を移動する車両に関するデータを生成および格納するためのデータ構造構成200の一実施形態を示す図である。データ構造構成200は、走行データ構造210と、補償データ構造220とを含む。
【0025】
図1を再び参照すると、一実施形態において、走行ロジック112は、コンピューティングデバイス105の第1メモリに格納される走行データ構造210を生成するように構成される。走行データ構造210は、第1の作業現場識別子と第2の作業現場識別子の次元を有する2次元配列またはマトリックスである。つまり、走行データ構造210の第1の次元(たとえば、X軸)は、第1の作業現場セットを識別する識別子に対応し、走行データ構造210の第2の次元(たとえば、Y軸)は、第2の作業現場セットを識別する識別子に対応する。その結果、走行データ構造210に走行情報を格納でき、走行情報は、作業現場セット内の任意の作業現場から別の任意の作業現場まで行くことに関する情報に相当する。
【0026】
走行データ構造210は、1つの作業現場から別の作業現場(たとえば、
図2に示す、作業現場Xから作業現場Y)まで行くことに関する走行情報を格納する複数の走行データセルを有する。一意の走行データセル(たとえば、
図2に示すセルC)を、メモリに格納されたその走行データセルの走行情報を取り出すためにアドレス指定する(つまり、アクセスする)ことができる。そのため、作業現場識別子の対によって、走行データ構造210の走行データセルをアドレス指定することが可能になる。一実施形態によると、コンピューティングデバイスは、走行情報をパターンインデックス値およびベース移動時間値として生成し、各走行データセルに格納する。パターンインデックス値は、1つの作業現場から別の作業現場まで行くことに関する道路利用パターンを表す。ベース移動時間値は、(たとえば、理想的な状況である場合の)一方の作業現場から他方の作業現場まで移動するのにかかる最小時間を表す。
【0027】
一実施形態において、補償ロジック114は、コンピューティングデバイス105の第2メモリに格納される補償データ構造220を生成するように構成される。補償データ構造220は、パターンインデックス値とレベルインデックス値の次元を有する2次元配列またはマトリックスである。つまり、補償データ構造220の第1の次元(たとえば、X軸)は、道路利用パターンを識別するパターンインデックス値に対応し、補償データ構造220の第2の次元(たとえば、Y軸)は、道路利用状況レイヤを識別するレベルインデックス値に対応する。一実施形態において、レベルインデックス値は、作業現場間の考えられる移動状況、および当該作業現場間を移動するように割り当てられた車両の考えられる車両状況から得られる。その結果、現在の状況に基づいて移動時間を調整することに関する情報に対応する補償データ構造220にスケーリング情報(scaling information)を格納できる。
【0028】
補償データ構造220は、1つの作業現場から別の作業現場まで(たとえば、
図2に示す、作業現場Xから作業現場Yまで)のベース移動時間を調整することに関する補償情報を格納する複数の補償データセルを有する。一意の補償データセル(たとえば、
図2に示すセルZ)を、メモリに格納されたその補償データセルの補償情報を取り出すためにアドレス指定する(つまり、アクセスする)ことができる。そのため、走行データ構造からのパターンインデックス値、および外部からの(たとえば、スケジューラー・アプリケーションまたは別のサービスからの)レベルインデックス値によって、補償データ構造220の補償データセルをアドレス指定することが可能になる。一実施形態によると、各補償データセルは、ベース移動時間値を調整するための倍率値を表す1バイト(8ビット)のデータを格納する。一実施形態において、倍率値は、理想的な状況から外れている可能性のある現在の状況をより正確に反映するよう、走行データ構造210からアクセスされるベース移動時間値を大きくするために使用される。
【0029】
一実施形態において、アドレス指定ロジック116は、第1の作業現場を識別する第1の作業現場識別子と、第2の作業現場を識別する第2の作業現場識別子と、レベルインデックス値とを受信するように構成される。レベルインデックス値は、第1の作業現場から第2の作業現場まで移動することに関連する現在の移動状況、および第1の作業現場から第2の作業現場まで移動するように割り当てられた車両に関連する現在の車両状況から得られる。一実施形態によると、第1の作業現場識別子、第2の作業現場識別子、およびレベルインデックス値は、スケジューラー・アプリケーション120によって提供される。さらに、レベルインデックス値は、たとえば、ネットワーク通信を介して外部のコンピュータ化されたサービスからスケジューラー・アプリケーションが得た現在の移動状況および現在の車両状況に基づいて、スケジューラー・アプリケーション120によって得られてもよい。
【0030】
さらに、一実施形態において、アドレス指定ロジック116は、第1のベース移動時間値および第1のパターンインデックス値を取り出すために(たとえば、走行データ構造210の作業現場Xおよび作業現場Yをアドレス指定することによってベース移動時間値およびパターンインデックス値をセルCから取り出すために)、第1の作業現場識別子および第2の作業現場識別子に基づいて走行データ構造210をアドレス指定するように構成される。また、アドレス指定ロジック116は、第1の倍率値を取り出すよう、第1のパターンインデックス値(走行データ構造から取り出される)およびレベルインデックス値(スケジューラー・アプリケーション120から受信される)に基づいて補償データ構造220をアドレス指定するように構成される。
【0031】
一実施形態において、倍率値は、たとえば、1.0、1.1、1.2、1.3、1.4、1.5、1.6、1.7、1.8、または1.9など、1以上の数値である。さらに、一実施形態によると、乗算ロジック118は、車両が第1の作業現場と第2の作業現場との間を移動するのにかかる最新移動時間を表す補償された移動時間値を生成するように構成される。乗算ロジック118は、第1のベース移動時間値に第1の倍率値を乗じることによって、補償された移動時間値を生成するように構成される。例として、第1のベース移動時間値が30分(理想的な状況において車両が作業現場Xから作業現場Yまでたどり着くのにかかる最小移動時間を表す)であり、第1倍率値が1.3である場合、補償された移動時間値は、30分×1.3=39分と演算される。別の実施形態において、倍率値は、1以下とすることができ、乗算ロジック118は、ベース移動時間に倍率値の逆数を乗じることができる。
【0032】
その結果、考えられる移動状況のセットおよび考えられる車両状況のセットごとに別々の移動時間値を生成し、考えられる作業現場の対ごとにメモリに格納する必要がない。このように移動時間を格納するによって、作業現場、移動状況、および車両状況の数が増えるにつれて、とてつもない量のメモリを使用してしまう可能性がある。代わりに、本明細書に記載のように構成されてアドレス指定される走行データ構造および補償データ構造によって、使用されるメモリ量を低減することができる。パターン自体ではなく移動パターンへのインデックスを利用して、同一パターンを再利用できるようにし、メモリ空間を節約する。さらに、各倍率の物理的なサイズは、1バイト(8ビット)に制限され、さらにメモリ空間を節約することができる。
【0033】
一実施形態において、スケジューラー・アプリケーション120は、補償された移動時間値を乗算ロジック118から受信し、電子メッセージを生成するように構成される。電子メッセージは、車両が第1の作業現場から第2の作業現場まで、補償された移動時間値によって表される最新移動時間の間移動するように割り当てられたことを示す。さらに、車両の乗員(たとえば、作業メンテナンス班)に次に移動する先を知らせるよう、スケジューラー・アプリケーション120は、コンピューティングデバイス105の通信装置125と協働して、車両に関連付けられた通信装置に電子メッセージをワイヤレス送信するように構成される。
【0034】
このように、メモリ使用量低減ロジック110によって、既知の車両を使用して既知の作業現場間を移動することに関連するすべての考えられる状況を反映した走行データの効率的な格納が可能になる。さらに、メモリ使用量低減ロジック110によって、現在の状況に基づいてスケジューラー・アプリケーション120によって補償される移動時間への高速かつリアルタイムのアクセスが容易になる。この結果、スケジューリング・アプリケーション120は、車両が最適な方法で作業現場間を移動するように予定を組む(割り当てる)ことができ、全体的な移動時間を減らすことができる。
【0035】
図3は、良いタイミングで効率よくアクセスできる限られた量のメモリにおいて作業現場間を移動する車両に関するデータを生成および格納するための、
図1のコンピュータシステム100が実行できる方法300の一実施形態を示す図である。方法300は、メモリ使用量低減ロジック110の動作を記述し、
図1のメモリ使用量低減ロジック110によってまたは方法300のアルゴリズムを有して構成されるコンピューティングデバイスによって実行されるように実現される。たとえば、一実施形態において、方法300は、コンピュータアプリケーションを実行するように構成されたコンピューティングデバイスによって実現される。コンピュータアプリケーションは、電子データを処理するように構成され、方法300の機能を実行する実行可能な格納された命令を含む。
【0036】
同等の代表数の補償された移動時間値を直接格納するために使用される場合よりも少ないメモリ(たとえば、少なくとも2桁の大きさ分少ないメモリ)を使用して、効率的な方法で走行データを生成、格納、およびアクセスできるようにするメモリ使用量低減ロジック110が提供される、という観点から方法300を説明する。また、スケジューリング・コンピュータアプリケーション120の動作の完全性に影響を与えることなく、メモリ使用量低減ロジック110がスケジューリング・コンピュータアプリケーション120とともに利用できるという観点から方法300を説明する。
【0037】
方法300を開始すると、ブロック310において走行データ構造210を生成し、ブロック320において補償データ構造220を生成する。走行データ構造210および補償データ構造220は、ともに、コンピューティングデバイス105内のメモリ使用量を制限するように構成される。一実施形態において、走行データ構造210は走行ロジック112によって生成され、補償データ構造220は補償ロジック114によって生成される。走行データ構造210も補償データ構造220もデータベース・システムの一部として格納されない。データへのアクセス時間を容認できないレベルまで増やしてしまう可能性があるためである。
【0038】
走行データ構造は、コンピューティングデバイス105の第1メモリに格納され、走行データ構造の複数の走行データセルをアドレス指定することを可能にするために、第1の複数の作業現場識別子と第2の複数の作業現場識別子の次元を有する。複数の走行データセルの各々は、道路利用パターンを表すパターンインデックス値と、2つの作業現場間の最小移動時間を表すベース移動時間値とを格納する。
【0039】
補償データ構造は、コンピューティングデバイス105の第2メモリに格納され、補償データ構造の複数の補償データセルをアドレス指定することを可能にするために、複数のパターンインデックス値と複数のレベルインデックス値の次元を有する。複数の補償データセルの各々は、ベース移動時間値を調整するための倍率値を表す1バイト(たとえば、8ビット)のデータを格納する。一実施形態によると、1バイトのデータは、第1の倍率値を表すことについて0.2パーセントの精度を有する。
【0040】
ブロック330において、第1の作業現場を識別する第1の作業現場識別子、第2の作業現場を識別する第2の作業現場識別子、およびレベルインデックス値を受信する。レベルインデックス値は、第1の作業現場と第2の作業現場との間の現在の移動状況、および第1の作業現場から第2の作業現場まで移動するように少なくとも暫定的に割り当てられた車両の現在の車両状況から得られる。一実施形態によると、第1の作業現場識別子、第2の作業現場識別子、およびレベルインデックス値は、メモリ使用量低減ロジック110によってスケジューラー・アプリケーション120から受信される。
【0041】
現在の移動状況は、時刻、曜日、日付、または休日、のうちの少なくとも1つを考慮する。現在の車両状況は、車両タイプおよび車両荷物の少なくとも一方を考慮する。車両タイプは、たとえば、メンテナンス・バン、ダンプカー、ミキサー車、またはいくつかの別の車両タイプのうちのいずれかに相当し得る。車両荷物は、車両が第1の作業現場から第2の作業現場まで運ぶ資材または産出物(たとえば、土、コンクリート、砂利など)の量に相当する。車両荷物は、たとえば、満載、3/4積載、1/2積載、3/1積載、または積載なし(つまり、車両は積荷がない)に相当してもよい。
【0042】
ブロック340において、第1のベース移動時間値および 第1のパターンインデックス値を取り出すよう、第1の作業現場識別子および第2の作業現場識別子に基づいて走行データ構造210をアドレス指定する。走行データ構造210をアドレス指定することは、一実施形態において、アドレス指定ロジック116によって達成される。第1のベース移動時間値は、車両が第1の作業現場から第2の作業現場まで移動するのにかかる最小時間を表す。第1のパターンインデックス値は、第1の道路利用パターンに対応付けられる。
【0043】
一実施形態によると、第1のベース移動時間値および第1のパターンインデックス値は、少なくとも、第1の作業現場から第2の作業現場まで移動することに関連する道路地図データから得られる。一実施形態によると、道路地図データは、たとえば、スケジューラー・アプリケーション120によって、コンピュータ化されたネットワーク通信を介して外部の地図作成データベースから取得されてもよい。
【0044】
ブロック350において、第1の倍率値を取り出すよう、走行データ構造210からの第1のパターンインデックス値、およびレベルインデックス値に基づいて補償データ構造220をアドレス指定する。ここでもまた、第1のパターンインデックス値は、第1の道路利用パターンに対応付けられ、レベルインデックス値は、第1の作業現場と第2の作業現場との間の現在の移動状況と、第1の作業現場から第2の作業現場まで移動するように少なくとも暫定的に割り当てられた車両の現在の車両状況から得られる。補償データ構造220をアドレス指定することは、一実施形態において、アドレス指定ロジック116によって達成される。一実施形態によると、第1倍率値は、1以上の数値である(たとえば、1.00、1.05、1.10、1.15、1.20など)。
【0045】
ブロック360において、第1倍率値を使用して、車両が第1の作業現場から第2の作業現場まで移動するのにかかる最新移動時間を表す補償された移動時間値を生成する。一実施形態において、補償された移動時間値は、乗算ロジック118によって、第1のベース移動時間値に第1の倍率値を乗じることによって生成される。補償された移動時間値は、ベース移動時間値を増やすことによって、理想的な状況から外れた現在の移動状況および車両状況を補償する。
【0046】
ブロック370において、スケジューリングアルゴリズム120は、車両が第1の作業現場から第2の作業現場まで、最新移動時間の間移動するように割り当てられたことを示す電子メッセージを生成する。ブロック380において、スケジューリングアルゴリズム120は、コンピューティングデバイス105の通信装置125と協働して、車両に関連付けられた通信装置130に電子メッセージをワイヤレス送信する。
【0047】
このように、方法300は、スケジューリング・コンピュータアプリケーション120をホストしているコンピューティングデバイス105上に実装されてもよい。方法300は、移動時間を格納するために従来の方法よりも大幅に少ないメモリを使用するデータ構造を生成する。現在の状況を反映した調整後の移動時間を取得するよう、スケジューリング・アプリケーション120は、メモリ使用量低減ロジック110を介して、データ構造に効率よくアクセスできる。
【0048】
コンピューティングデバイスの実施形態
図4は、本明細書に記載の例示的なシステムおよび方法、ならびに/または均等物のうちの1つ以上を有して構成および/またはプログラムされた、例示的なコンピューティングデバイスを示す図である。
図4は、メモリ使用量低減ロジックの実施形態が実装され得るコンピューティングデバイスの1つの例示的な実施形態を示す。例示的なコンピューティングデバイスは、プロセッサ402と、メモリ404と、バス408によって動作可能に接続された入出力ポート410とを備えるコンピュータ400であってもよい。
【0049】
一例において、コンピュータ400は、走行データ構造および補償データ構造を生成するように構成されたメモリ使用量低減ロジック430(
図1のメモリ使用量低減ロジック110に相当する)を含んでもよい。走行データ構造および補償データ構造は、ともに、コンピュータ内のメモリ使用量を制限するように構成される。別の例において、ロジック430は、ハードウェア、命令を格納した非一時的なコンピュータ読み取り可能な媒体、ファームウェア、および/またはそれらの組み合わせに実装してもよい。ロジック430は、バス408に取り付けられたハードウェアコンポーネントとして図示されているが、その他の実施形態において、ロジック430は、プロセッサ402、メモリ404に格納されたモジュール、またはディスク406に格納されたモジュールに実装できることがわかる。
【0050】
一実施形態において、ロジック430またはコンピュータ400は、記載のアクションを実行する手段である(たとえば、構造体:ハードウェア、非一時的なコンピュータ読み取り可能な媒体、ファームウェア)。いくつかの実施形態において、コンピューティングデバイスは、クラウド・コンピュータシステムにおいて動作するサーバ、Software as a Service(SaaS)アーキテクチャ、スマートフォン、ラップトップ、タブレットコンピューティングデバイスなどにおいて構成されるサーバであってもよい。
【0051】
手段は、たとえば、ともに、コンピュータ内のメモリ使用量を制限するように構成される走行データ構造および補償データ構造を生成するようにプログラムされたASICとして実現されてもよい。また、手段は、メモリ404に一時的に格納されてからプロセッサ402によって実行されるデータ416としてコンピュータ400に提示される、コンピュータによって実行可能な格納された命令として実装されてもよい。
【0052】
また、ロジック430は、ともに、コンピュータ内のメモリ使用量を制限するように構成される、走行データ構造および補償データ構造を生成するための手段(たとえば、ハードウェア、実行可能な命令を格納する非一時的なコンピュータ読み取り可能な媒体、ファームウェア)を提供してもよい。
【0053】
コンピュータ400の例示的な構成を全体的に説明すると、プロセッサ402は、デュアルマイクロプロセッサおよびその他のマルチプロセッサアーキテクチャを含むさまざまなプロセッサであってもよい。メモリ404は、揮発性メモリおよび/または不揮発性メモリを含んでもよい。不揮発性メモリは、たとえば、ROMやPROMなどを含んでもよい。揮発性メモリは、たとえば、RAM、SRAM、DRAMなどを含んでもよい。
【0054】
記憶ディスク406は、たとえば、入出力インターフェース(たとえば、カード、デバイス)418および入出力ポート410を介してコンピュータ400に動作可能に接続されてもよい。ディスク406は、たとえば、磁気ディスクドライブ、ソリッドステートディスクドライブ、フロッピー(登録商標)ディスクドライブ、テープドライブ、Zipドライブ、フラッシュメモリカード、メモリースティックなどであってもよい。さらに、ディスク406は、CD−ROMドライブ、CD−Rドライブ、CD−RWドライブ、DVD ROMなどであってもよい。メモリ404は、たとえば、プロセス414および/またはデータ416を記憶できる。ディスク406および/またはメモリ404は、コンピュータ400のリソースを制御および割り当てるオペレーティングシステムを記憶できる。
【0055】
コンピュータ400は、I/Оインターフェース418および入出力ポート410を介して入出力装置とインタラクトしてもよい。入出力装置は、たとえば、キーボード、マイクロフォン、ポインティング‐選択デバイス、カメラ、ビデオカード、ディスプレイ、ディスク406、ネットワーク機器420などであってもよい。入出力ポート410は、たとえば、シリアルポート、パラレルポート、およびUSBポートを含んでもよい。
【0056】
コンピュータ400は、ネットワーク環境で動作できるので、I/Оインターフェース418、および/またはI/Оポート410を介してネットワーク機器420に接続されてもよい。ネットワーク機器420を通して、コンピュータ400は、ネットワークとインタラクトしてもよい。ネットワークを通して、コンピュータ400は、リモートコンピュータに論理的に接続されてもよい。コンピュータ400がインタラクトし得るネットワークは、LAN、WAN、およびその他のネットワークを含み得るが、これらに限定されない。
【0057】
良いタイミングで効率よくアクセスできる限られたまたは低減された量のメモリに作業現場間を移動する車両に関するデータを格納するように構成されたシステム、方法、およびその他の実施形態を説明した。一実施形態において、走行データ構造および補償データ構造が生成され、走行データ構造および補償データ構造は、ともに、コンピューティングデバイス内のメモリ使用量を制限するように構成される。走行データ構造は、コンピューティングデバイスの第1メモリに格納され、走行データ構造の複数の走行データセルをアドレス指定することを可能にするために、いくつかの第1の作業現場識別子といくつかの第2の作業現場識別子の次元を有する。各走行データセルは、道路利用パターンを表すパターンインデックス値と、2つの作業現場間の最小移動時間を表すベース移動時間値とを格納する。補償データ構造は、コンピューティングデバイスの第2メモリに格納され、補償データ構造の複数の補償データセルをアドレス指定することを可能にするために、いくつかのパターンインデックス値といくつかのレベルインデックス値の次元を有する。各補償データセルは、ベース移動時間値を調整するための倍率値を表す1バイトのデータを格納する。
【0058】
定義およびその他の実施形態
別の実施形態において、記載の方法および/またはそれらの均等物は、コンピュータにより実行可能な命令を有して実装される。したがって、一実施形態において、非一時的なコンピュータ読み取り可能な/記憶媒体は、アルゴリズム/実行可能なアプリケーションのコンピュータにより実行可能な格納された命令を有して構成され、命令は、機械(複数の機械)によって実行されると、機械(複数の機械)(および/または関連するコンポーネント)に方法を実行させる。機械としては、プロセッサ、コンピュータ、クラウドコンピューティングシステムにおいて動作するサーバ、Software as a Service(SaaS)アーキテクチャにおいて構成されるサーバ、スマートフォンなどがあるが、これらに限定されない。一実施形態において、コンピューティングデバイスは、開示の方法を実行するように構成された1つ以上の実行可能なアルゴリズムを有して実装される。
【0059】
1つ以上の実施形態において、開示の方法またはそれらの均等物は、方法を実行するように構成されたコンピュータハードウェア、または方法を実行するように構成された実行可能なアルゴリズムを含む非一時的なコンピュータ読み取り可能な媒体に組み込まれたコンピュータソフトウェアのいずれかによって実行される。
【0060】
説明をわかり易くする目的のため、図示した技法をアルゴリズムの一連のブロックとして図示および説明したが、技法は、ブロックの順序に限定されないことがわかる。いくつかのブロックは、図示および説明された順序とは異なる順序起こり得、および/またはその他のブロックと同時に起こり得る。また、例示的な技法を実装するために、図示された全ブロックよりも少ない数のブロックを使用してもよい。ブロックは、複数のアクション/コンポーネントに組み合わされるまたは分けられてもよい。さらに、追加および/または代替的な技法は、ブロックに示されていない追加アクションを使用できる。本明細書に記載の方法は、法定の主題に限定される。
【0061】
以下は、本明細書において使用される選定された用語の定義を含む。定義は、用語の範囲に含まれ、且つ、実装のために使用され得るさまざまな例および/または形態のコンポーネントを含む。例は、限定するものではない。単数形および複数形の用語も定義の範囲に含まれる。
【0062】
「一実施形態」、「実施形態」、「一例」、「例」などは、そのようにして説明される実施形態(複数の実施形態)または例(複数の例)が特定の特徴、構成、特性、性質、構成要素、または限定を含み得ることを示し、実施形態または例のすべてがその特定の特徴、構成、特性、性質、構成要素、または限定を必ずしも含むわけではないことを示す。さらに、表現「一実施形態において」を繰り返し使用することは、同じ実施形態を指し得るが、必ずしもそうではない。
【0063】
ASIC:特定用途向け集積回路。
CD:コンパクトディスク。
【0064】
CD−R:1回だけデータ書込み可能なCD。
CD−RW:データ書換え可能なCD。
【0065】
DVD:デジタル多用途ディスクおよび/またはデジタルビデオディスク。
HTTP:ハイパーテキスト転送プロトコル。
【0066】
LAN:ローカルエリアネットワーク。
RAM:ランダムアクセスメモリ。
【0067】
DRAM:ダイナミックRAM。
SRAM:同期RAM。
【0068】
ROM:読み出し専用メモリ。
PROM:プログラマブルROM。
【0069】
EPROM:消去可能PROM。
EEPROM:電気的消去可能PROM。
【0070】
USB:ユニバーサル・シリアル・バス。
WAN:ワイドエリアネットワーク。
【0071】
「動作可能な接続」、またはエンティティが「動作可能に接続される」接続は、信号、物理的通信、および/または論理的通信が送信および/または受信され得る接続である。動作可能な接続は、物理インターフェース、電気インターフェース、および/またはデータインターフェースを含み得る。動作可能な接続は、操作可能な制御を可能にするのに十分なインターフェースおよび/または接続の異なる組み合わせを含み得る。たとえば、2つのエンティティを、直接または1つ以上の中間エンティティ(たとえば、プロセッサ、オペレーティングシステム、ロジック、非一時的なコンピュータ読み取り可能な媒体)を介して互いに信号を通信するように動作可能に接続できる。動作可能な接続は、1つのエンティティがデータを生成し、メモリに格納することと、別のエンティティが、たとえば、命令制御によってメモリからそのデータを受信することとを含み得る。動作可能な接続を作るために、論理的および/または物理的通信チャネルを使用できる。
【0072】
「データ構造」は、本明細書で使用するとき、メモリに格納されたコンピューティングシステム、記憶装置、またはその他のコンピュータ化されたシステムにおけるデータの構成である。データ構造は、たとえば、データフィールド、データファイル、データ配列、データレコード、データベース、データテーブル、グラフ、ツリー、連結リストなどのうちの任意の1つであり得る。データ構造は、多くの他のデータ構造から形成されてもよく、それらを含んでもよい(たとえば、データベースは、多くのデータレコードを含む)。その他の実施形態によると、データ構造のその他の例も可能である。
【0073】
「コンピュータ読み取り可能な媒体」または「コンピュータ記憶媒体」は、本明細書で使用するとき、実行されると開示の機能のうちの1つ以上を実行するように構成された命令および/またはデータを格納する非一時的な媒体を指す。コンピュータ読み取り可能な媒体は、不揮発性媒体、および揮発性媒体などの形式を取り得るが、これらに限定されない。不揮発性媒体は、たとえば、光ディスク、磁気ディスクなどを含み得る。揮発性媒体は、たとえば、半導体メモリ、ダイナミックメモリなどを含み得る。コンピュータ読み取り可能な媒体の一般的な形式は、フロッピー(登録商標)ディスク、フレキシブルディスク、ハードディスク、磁気テープ、その他の磁気媒体、特定用途向け集積回路(ASIC)、プログラマブル・ロジック・デバイス、CD(Compact Disk)、その他の光学媒体、RAM(Random Access Memory)、ROM(Read Only Memory)、メモリチップもしくはカード、メモリースティック、SSD(ソリッドステート記憶装置)、フラッシュドライブ、およびコンピュータ、プロセッサ、またはその他の電子デバイスがともに機能できるその他の媒体を含み得るが、これらに限定されない。各種の媒体は、一実施形態において実装用に選択された場合、開示および/または請求項に記載の機能のうちの1つ以上を実行するように構成されたアルゴリズムの格納された命令を含み得る。
【0074】
「ロジック」は、本明細書で使用するとき、本明細書に開示の機能もしくはアクションを実行するための、ならびに/または別のロジック、方法、および/もしくはシステムからの機能もしくはアクションを本明細書に開示の通りに実行させるための、コンピュータもしくは電気ハードウェア、実行可能なアプリケーションもしくはプログラムモジュールの格納された命令を有する非一時的な媒体、および/またはこれらの組み合わせを有して実現される部品を表す。同等のロジックが、ファームウェア、アルゴリズムがプログラムされたマイクロプロセッサ、離散ロジック(たとえば、ASIC)、少なくとも1つの回路、アナログ回路、デジタル回路、プログラムされた論理回路、アルゴリズムの命令を含むメモリ素子などを含んでもよく、これらは、いずれも、開示の機能のうちの1つ以上を実行するように構成され得る。一実施形態において、ロジックは、1つ以上のゲート、ゲートの組み合わせ、または開示の機能のうちの1つ以上を実行するように構成されたその他の回路部品を含み得る。複数のロジックが説明されている箇所は、複数のロジックを1つのロジックに組み込むことが可能である。同様に、1つのロジックが説明されている箇所は、当該1つのロジックを複数のロジックに分散することが可能である。一実施形態において、これらのロジックのうちの1つ以上は、開示および/または請求項に記載の機能を実行することに関連付けられた対応する構造である。実装するロジックの選択は、所望のシステム条件または仕様に基づいてよい。たとえば、より速い速度を求める場合、機能を実装するために、ハードウェアが選ばれる。低コストを求める場合、機能を実装するために、格納された命令/実行可能なアプリケーションが選ばれる。
【0075】
開示の実施形態をかなり詳しく図示および説明したが、添付の請求の範囲をこのような詳細に制限または限定する意図はまったくない。主題のさまざまな態様を説明する目的のために構成要素または技法の考えられるすべての組み合わせを説明することは、当然、不可能である。そのため、本開示は、図示および説明した詳細または例示的な実施例に限定されない。したがって、本開示は、添付の請求の範囲に含まる代替例、変更例、および変形例を包含するものとし、特許の対象となるのにふさわしい発明に要求される法定の主題要件を満たす。
【0076】
用語「含む(includes)」または「含む(including)」が詳細な説明または請求の範囲において使用される範囲において、当該用語は、用語「備える(comprising)」が請求の範囲において移行句として使用されたときに解釈されるのと同様に、他を包含する意図がある。
【0077】
用語「または(or)」が詳細な説明または請求の範囲において使用される範囲において(たとえば、AまたはB)、当該用語は、「AまたはBまたはその両方」を意味する意図がある。出願人が、「AまたはBのどちらかのみであって両方ではない」ことを示す意図がある場合、表現「AまたはBのどちらかのみであって両方ではない」が使用される。したがって、本明細書における用語「または」の使用は、包含的であって限定的ではない使用である。
【0078】
表現「A、B、およびCのうちの1つ以上」が本明細書において使用される範囲において、(たとえば、A、B、およびCのうちの1つ以上を格納するように構成されたデータストア)当該表現は、A、B、C、AB、AC、BC、および/またはABCの可能性のセットを伝える意図がある(たとえば、データストアは、Aのみ、Bのみ、Cのみ、AおよびB、AおよびC、BおよびC、ならびに/またはAおよびBおよびCを格納し得る)。Aのうちの1つ、Bのうちの1つ、およびCのうちの1つが必要である意図はない。出願人が、「Aのうちの少なくとも1つ、Bのうちの少なくとも1つ、およびCのうちの少なくとも1つ」を示す意図がある場合、表現「Aのうちの少なくとも1つ、Bのうちの少なくとも1つ、およびCのうちの少なくとも1つ」が使用される。