プログラム実行方法
【課題】 移動体端末の位置を利用して、直ちにその位置に対応する前述のプログラムを検出して適切な通信順でRAMにロードするプログラム実行方法を得る。
【解決手段】 移動体情報受信部23a、移動体初期位置登録部23c、プログラム位置更新部23d、初期位置−メモリアドレス定義部23e、検索条件設定部23f、実行プログラム定義部23gを備えて、移動体がある一定エリアを移動したときに、その移動にあわせて、移動体に割り付けられている仮想空間上のアバタ−プログラムを移動させて、ある一定エリアに存在したアバタ−プログラム同士のみを通信可能に定義する。
【解決手段】 移動体情報受信部23a、移動体初期位置登録部23c、プログラム位置更新部23d、初期位置−メモリアドレス定義部23e、検索条件設定部23f、実行プログラム定義部23gを備えて、移動体がある一定エリアを移動したときに、その移動にあわせて、移動体に割り付けられている仮想空間上のアバタ−プログラムを移動させて、ある一定エリアに存在したアバタ−プログラム同士のみを通信可能に定義する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、プログラム実行方法に関する。
【背景技術】
【0002】
近年は殆どの自動車にカーナビが搭載されている。カーナビは、GPS受信機を備えて、地図上に目的地点までのル−トを表示して、このルート上に現在の位置をリアルタイム表示することで目的地点まで案内するものである。
【0003】
例えば、特許文献1(特開2009−145234号公報)には、携帯端末であるGPS機能を有する端末装置と、サーバとを通信ネットワークで接続して、端末装置から位置情報をサーバ(センター)が受信し、受信した位置のエリアに存在する店舗情報を端末装置に提供することが開示されている。
【0004】
また、特許文献2(特開2003−240592号公報)には、車椅子にGPS機能付きの端末機を備え、この端末機から位置情報をセンターに送信し、センターが位置に応じたバリアフリー地図を端末機に送信することが開示されている。
【0005】
また、特許文献3(特開2009−145234号公報)は、地図上に目的のレストラン情報を表示して、このレストランへのルートを案内することが開示されている。
【0006】
一方、引用文献4(特開平11−250393号公報)には、GPS機能付き移動端末(クライアント)と、サーバとからなるシステムにおいて、所定位置に対応させたプログラムを予め記憶しておいて、移動端末がその所定位置にきたときに、その位置に対応したプログラム(予め決められている共通処理をするプログラム)を提供することが開示されている。
【0007】
また、特許文献5(特開2005−122491号公報)には、利用者が携帯する物品(オブジェクト:携帯端末)と、サーバとを接続し、サーバがオブジェクトのIDに対応した状況適応型アプリケーションを備え、オブジェクトの状況に応じたプログラム(例えば、テレビ会議用の画面操作のプログラム)を提供することが記載されている。
【先行技術文献】
【特許文献】
【0008】
【特許文献1】特開2009−145234号公報
【特許文献2】特開2003−240592号公報
【特許文献3】特開2009−145234号公報
【特許文献4】特開平11−250393号公報
【特許文献5】特開2005−122491号公報
【発明の概要】
【発明が解決しようとする課題】
【0009】
上記の特許文献1は、GPS機能を有する移動体端末からセンターに位置情報を送信して、センターがこの位置を中心とする所定のエリア内に存在する店情報を送信するものであるから、予めエリアの位置と、店情報とを対応させて記憶していることになる。
【0010】
また、特許文献2は、センターが端末から送信された位置に応じた地図を端末に送信するものであるから、予め地図には位置が割り付けられていることになる。
【0011】
また、特許文献3はルート上に目的のレストラン情報をセンターから提供するものであるから、ルートの所定位置にレストラン情報が対応づけられて登録されていることになる。
【0012】
つまり、センターは移動端末の位置に対応した或いは含む、予め記憶されている何らかの固定的な情報を送信するものである。
【0013】
しかしながら、移動端末を携帯するユーザは、常に情報の取得を意図している。そして、この情報の取得は、ユーザによって様々である。
【0014】
従って、センターから移動端末を携帯するユーザに応じた、ユーザが欲する情報に関連する情報を収集し、その位置に応じた適切な情報を作成して提供するのが望ましい。
【0015】
しかしながら、上記のような引用文献1、2、3のようなシステムは、移動端末の位置に応じた予め記憶されている固定的な情報を提供するだけであるから、ユーザが欲する情報に関連する情報を収集し、その位置に応じた適切な情報を作成して提供するものではなかった。
【0016】
一方、引用文献4は、移動体端末が所定位置にきたときに、その所定位置に対応させて記憶している予め決められている共通処理をするプログラムを提供するものであり、ユーザが欲する情報に関連する情報を収集し、その位置に応じた適切な情報を作成して提供するものではなかった。
【0017】
また、特許文献5は、オブジェクトのIDに対応した状況適応型アプリケーションを提供するものであるから、ユーザが欲する情報に関連する情報を収集し、その位置に応じた適切な情報を作成して提供するものではなかった。
【0018】
すなわち、引用文献4、5は、移動体の位置に応じた固定的なプログラムを移動体端末に送信するものであり、ユーザが欲する情報に関連する情報を収集し、その位置に応じた適切な情報を作成して提供するものではなかった。
【0019】
一方、一般にプログラムの実行は、ROMからRAMにロードし、RAMに記憶されたアドレス順で実行されるので、例えば移動体端末が非常に多く存在している場合に、これら移動体端末1台毎に対応する相手と自分に対しての状況から自分に対して適切な情報を提供するプログラムをセンター側のROMに記憶した場合には、移動体端末の位置は検出できても、この移動体端末に対応するプログラムを検索してRAMにロードするのに多くの時間を要してしまう。このため、直に相手に適切な情報を提供できないことになる。
【0020】
従って、センター側で移動体端末、1台毎に前述のようなプログラムを保持している場合には、移動体端末の位置を利用して、直ちにその位置に対応する前述のプログラムを検出して適切な通信順でRAMにロードすることで、相手に直に適切な情報を提供することが望ましい。
【課題を解決するための手段】
【0021】
プログラム実行用のRAMに記憶されたプログラムをメモリアドレス順に演算手段で実行するプログラム実行方法において、
識別番号と前記プログラムとを対応させて記憶したROMと、
を備え、
コンピュータが、
前記識別情報と該識別情報の位置座標と時刻情報とを識別物位置情報として第1の記憶手段に記憶するステップと、
前記識別物位置情報が前記第1の記憶手段に記憶される毎に、該識別物位置情報を読み込むステップと、
前記読み込んだ識別体位置情報に含まれている識別番号を読み込むステップと、
前記読み込んだ識別体位置情報に含まれている前記識別番号を有するレコードを前記ROMから検索するステップと、
該検索したROMのレコードの前記プログラムの格納アドレスを読み込むステップと、
前記読み込んだ格納アドレスに前記読み込んだ識別体位置情報(識別番号、位置座標、時刻)とを対応させて、これをプログラム仮想位置情報として第2の記憶手段に記憶するステップと、
前記第2の記憶手段に記憶されたプログラム仮想位置情報の格納アドレスに対応する前記プログラムを前記ROMから引き当て、これを実行用のプログラムとして前記プログラム実行用のRAMにロードするステップと
を行なうことを要旨とする。
【発明の効果】
【0022】
以上のように本発明によれば、識別されたものに対して、識別された物に割り付けられているプログラムを識別されたものの位置で管理するので、これらの位置に影響する他の位置のプログラムをRAMにロードすることができる。
【図面の簡単な説明】
【0023】
【図1】本実施の形態1の地理空間上移動体のプログラム移動システムの概略構成図である。
【図2】地理空間上移動体のプログラム移動方法のブロック図である。
【図3】本実施の形態のプログラムの移動を説明する説明図である。
【図4】プログラム管理テーブルAを説明する説明図である。
【図5】メモリ31を説明する説明図である。
【図6】プログラム管理テーブルBを説明する説明図である。
【図7】メモリ30を説明する説明図である。
【図8】プログラム管理テーブルBの位置情報の更新を説明する説明図である。
【図9】アバタ−プログラムの移動を説明する説明図である。
【図10】プログラム実行テーブルを説明する説明図である。
【図11】本実施の形態の検索条件設定部23fを説明するフローチャートである。
【図12】検索メッシュを説明する説明図である。
【図13】ルートRi上の検索メッシュKi(Ka1、ka2・・・)の設定を説明する説明図である。
【図14】アバタ−プログラムの一例を説明するフローチャートである。
【図15】本実施の形態のアバタ−プログラムによる表示端末への表示を説明する説明図である。
【図16】本実施の形態の多次元表示を説明する説明図である。
【発明を実施するための形態】
【0024】
本実施の形態は、地理空間上の移動体の位置に応じて移動体に関連付けられているプログラムを移動させる(以下地理空間上移動体のプログラム移動方法という)。
【0025】
次に、図面を参照して、本発明の実施の形態を説明する。以下の図面の記載において、同一または類似の部分には同一または類似の符号を付している。但し、図面は模式的なものであり、装置やシステムの構成等は現実のものとは異なることに留意すべきである。
【0026】
したがって、具体的な構成は以下の説明を参酌して判断すべきものである。また、図面相互間においても互いの構成の異なる部分が含まれていることは勿論である。
【0027】
また、以下に示す本発明の実施の形態は、本発明の技術的思想を具体化するための装置や方法を例示するものであって、本発明の技術的思想は、構成部品の材質、形状、構造、配置等を下記のものに特定するものではない。本発明の技術的思想は、特許請求の範囲に記載された技術的範囲内において、種々の変更を加えることができる。
【0028】
<実施の形態1>
識別位置情報は、移動体端末、画面の地図上(緯度経度、高さ又はx,y若しくはxyzが割りあてられている)において指定された点、地物、線(道路)、立体を含み、これらにプログラムと時刻とが対応させられている情報をいう。
【0029】
本実施の形態では、GPS機能を有する移動体端末を一例にして説明する。
【0030】
移動体端末(携帯電話機、カーナビ、携帯端末)が非常に多く存在している場合に、移動端末を有するユーザの分身となる移動体用のプログラム(以下アバタ−プログラムと称する:自分に対して相手がどのような状況か、その状況からどのように行動するべきかを提供するプログラム)を、センターのサーバに移動体端末1台毎に備えているとして説明する。
【0031】
そして、サーバが移動体端末から送信された位置を利用して、直ちにその位置に対応する前述のプログラムを検出して適切な通信順でRAMにロードすることで、相手に直に適切な情報を提供する。
【0032】
つまり、移動体がある一定エリアを移動したときに、その移動にあわせて、移動体に割り付けられている仮想空間上のアバタ−プログラムを移動させて、ある一定エリアに存在したアバタ−プログラム同士のみを通信可能に定義する。
【0033】
一般に、プログラムというのは、ROMにおいて、各プログラムの識別子(プログラムID),開始メモリアドレス等を格納したテーブル(プログラム管理テーブルA)を用いて管理される。
【0034】
本実施の形態1は、図1に示すように、GPS付き移動端末10(10a〜10n)とセンターのサーバ20とを通信ネットワーク30を介して接続したシステムにおいて、サーバ10に、CPU22と、ROM23と、プログラム管理テーブルAであるROM24と、プログラムテーブルBであるアバタ−プログラム実行用メモリ25(RAM)と、他のプログラム実行用のメモリ26(RAM)と、ワーキング用メモリ27(RAM)と、三次元空間用メモリ28(RAM)、位置情報受信用のメモリ29、移動位置管理用メモリ30と、移動体初期位置用のメモリ31と、初期位置―メモリアドレス用のメモリ32(プログラム管理テーブルB)等を備えている。
【0035】
ROM23には、移動体情報受信部23aと、地理座標空間定義部23bと、移動体初期位置登録部23cと、プログラム位置更新部23dと、初期位置−メモリアドレス定義部23eと、検索条件設定部23fと、実行プログラム定義部23gと、出力部23h等のプログラムを備えて、CPU22はプログラム管理テーブルA(ROM24)のアバタ−プログラムPi(Pa、Pb・・・)をアバタ−プログラム実行用メモリ25にロードして、そのプログラムを実行する。
【0036】
また、CPU22は、ROM23のプログラムをプログラム実行用メモリ26にロードして、そのプログラムを実行する。
【0037】
図2はサーバにおける地理空間上移動体のプログラム移動方法のブロック図である。
【0038】
なお、本実施の形態では位置は位置座標は、緯度、経度、高さとし、これらをx、y、zと記載して説明する。但し、が図面にはx,yだけを示して説明する。
【0039】
プログラム管理テーブルA(メモリ24)には、端末識別番号Mi(Ma、Mb、Mc、・・・)に対応させられて、そのアバタ−プログラムPi(Pa、Pb、・・・:実際のプログラム)が記憶されている。また、これらのアバタ−プログラムPiはメモリアドレス(ada、adb、・・・)で管理されている。
【0040】
移動体情報受信部23aは、移動体端末10(10a、10b・・・)からの移動体情報Ei(緯度、経度、端末識別番号Mi、時刻ti、起動オン(車輌の場合はイグニッションオン時、・・)を受信して、これをメモリ29に順次記憶する。
【0041】
移動体初期位置登録部23cは、移動体位置情報Eiが電源オン後の初めての位置情報(初期起動を示す)を示している場合は、移動体初期位置用のメモリ31にメモリ29にの位置(x,y,z)に端末識別番号Miを付加し、かつ受信時刻ti(受信時刻でなくとも移動体位置情報Eiに含まれている時刻(年月日、時間)であってもよい)を付加して記憶する。つまり、メモリ31には、初期における各移動体端末の識別番号と初期の位置座標と時刻とが記憶される(識別体位置情報)。
【0042】
初期位置−メモリアドレス定義部23eは、メモリ31の先頭のレコードを順に引き当て、このレコードに含まれている端末識別番号Mi及び位置(x、y、z)を読み込む。そして、このレコードの端末識別番号Mi有するレコードをメモリ24から引き当て、このメモリ24のレコードのメモリアドレスadi(ada、adb、・・・)を読み込む。
【0043】
次に、このメモリアドレスadi(ada、adb、・・・)にメモリ31のレコードの端末識別番号Miと位置(xyz:緯度、経度、高さのバイナリコード)とを対応させてメモリ32(プログラム管理テーブルB:第2の記憶手段)に記憶する(プログラム仮想位置情報)。
【0044】
プログラム位置更新部23dは、メモリ31(プログラム管理テーブルB:第2の記憶手段)を監視し、メモリ31に端末識別番号Miと位置(xyz)と時刻tiとが対応させられて記憶される毎に、この端末識別番号Mi(Ma、Mb、Mc、・・・)毎の移動位置管理用メモリ30(30a、30b・・・)を生成する。
【0045】
そして、メモリ31の端末識別番号Miを有するメモリ30a、30b、・・を引き当て、このメモリ30a、30b、・・にメモリ31(プログラム管理テーブルB:第2の記憶手段)の位置(xyz)と時刻tiとを順次記憶する。
【0046】
そして、以後はメモリ29に新たに端末識別番号Miが定義される毎(移動、停止含む)に、この端末識別番号Miを有するメモリ30a、30b・・に、新たな位置(xyz)と時刻tiとを対応させて記憶する。
【0047】
さらに、プログラム位置更新部23dは、新たな位置位置(xyz)と時刻tiとがメモリ30a、30b・・・に記憶する毎に、メモリ30a、30b・・の端末識別番号Mi(Ma、Mb、Mc・・)を有するレコードをメモリ32(プログラム管理テーブルB)から引き当てる。
【0048】
そして、この引き当てたレコードの位置(xyz)と時刻tiとを、新たな移動体位置(xyz)と時刻tiとに更新する。
【0049】
すなわち、移動体端末の移動に伴って、その移動体端末のアバタ−プログラムのROM上のメモリアドレスadiがその新たな移動体位置で対応付けられることになるから、アバタ−プログラムは、3次元空間上を移動体の移動に対応して移動したことになる(図3参照)。
【0050】
検索条件設定部23fは、移動体端末の目的地点が入力すると、例えば自分を中心として50mの検索メッシュKiをその移動体端末の現在位置から目的地点まで一定間隔で三次元空間メモリ28(地図)に設定し、この検索メッシュKi内に現在存在する移動体端末識別番号Mipをメモリ30a、30b・・から順次、抽出(自分を含む)する。
【0051】
そして、検索メッシュKiが設定される毎に、その検索メッシュ内において、自分の移動方向(道路上)に対して影響がある移動体端末識別番号Mipを三次元空間メモリから抽出して、これらを実行プログラム定義部23gに設定する(自分を先頭にする)。
【0052】
実行プログラム定義部23gは、設定された移動体端末識別番号Mipを有するアバタ−プログラムをプログラムテーブルAから検索して、これをアバタ−プログラム実行メモリ25(プログラムテーブルB)にロードする。
【0053】
すなわち、自分が移動した場合に、その移動位置にアバタ−プログラムのメモリアドレスを対応させて管理し、検索メッシュKi内に存在し、かつ移動体の進行方向に影響があるアバタ−プログラムのみを順次、プログラム実行メモリにロードしてCPU22にこのプログラムを実行させている。また、検索メッシュKi毎に自分のアバタ−プログラムを先頭にロードさせているので、自分のアバタ−プログラムを次の検索メッシュに引き渡していることになる。
【0054】
出力部23は、プログラム実行メモリ25にロードされた自分のアバタ−プログラムの実行結果を自分の移動体端末のファイル形式に変換して送信する。
【0055】
すなわち、本実施の形態1は、会員となった移動体端末を有するユーザのアバタ−プログラムを移動体端末識別子を付加してプログラム管理テーブルAに全て予め記憶しておく。
【0056】
例えば、図4に示すように、移動体端末識別番号Mi(i:a、b、c・・)をアバタ−名として、アバタ−の実プログラムPi(Pa、Pb、・・・)に対応させて保存しておく。このとき、当然、メモリアドレスada、adb、・・・実プログラムPi(Pa、Pb、・・・)は管理される。
【0057】
そして、GPS機能を有する移動体端末の起動(電源オン)に伴って、移動体端末の位置情報( 緯度、経度、移動体端末識別子等を含む)をセンターのサーバに送信させ、このサーバが位置(緯度、経度)を地理座標空間(三次元メモリ)に定義し、この地理座標空間における移動体端末の位置( x, y, z)を算出して、この位置( x, y, z)と共に取得時刻(t)を付加し(以下総称して初期位置情報という)、かつ移動体端末識別子(Mi:Ma、Mb、Mc・・・)を付加してメモリ31に記憶する(図5参照)。この初期位置情報は、プログラム位置更新部23dによってメモリ30a、30b・・・に記憶される。
【0058】
そして、プログラム管理テーブルA[開始アドレスと終了アドレスと(プログラム格納アドレス)、実際のアバタ−プログラム、アバタ−プログラムID(移動体端末識別子Miと同じにするのが好ましい)]に記憶されている移動体端末識別子Miに関連付けられているアバタ−プログラムのプログラム格納アドレスadi(ada、adb、・・)をプログラム管理テーブルBに定義する(初期位置情報(x, y, z, t)と、移動体識別子Miと、プログラム管理アドレスadiとが対応させられている:図6参照)。
【0059】
そして、以後は、移動体端末からの位置情報をメモリ29に記憶する毎に、この今回の位置情報(x+1, y+1, z+1, t+1)をプログラム位置更新部23dが該当のメモリ30a、30b・・に記憶する(図7参照)。
【0060】
そして、プログラム位置更新部23dがメモリ30a、30b・・・に新たに位置情報が記憶される毎に、プログラム管理テーブルBの前回の位置情報(x, y, z,t)を今回の位置情報(x+1, y+1, z+1, t+1)に更新する(図8参照)。
【0061】
つまり、アバタ−プログラムの格納アドレスに関連付けられている位置情報が移動体の移動に伴って変わるので、図9に示すように、アバタ−プログラムが移動体の移動に伴ってあたかも三次元空間上を移動させたことになる。
【0062】
そして、いずれかの移動体端末が何らかの要求をしてきた場合(検索条件設定部)に、その位置情報(x+1, y+1, z+1, t+1)と移動体識別子Miを有するレコード並びにその要求に対して関連する位置情報を有するレコードをプログラム管理テーブルBから引き当て、これらのレコードに含まれている移動体識別子Miを有するレコードをプログラム管理テーブルAから引き当て、プログラム実行テーブルに、そのレコード内のアバタ−プログラムをロードする(図10参照)。
【0063】
従って、複数の移動体端末のアバタ−プログラムがプログラム管理テーブルAに非常に多く記憶されている場合に、要求をしてきた移動体端末及び関連する移動端末のアバタ−プログラムを先頭から順次探し出してプログラム実行テーブルにロードしなくとも、移動体識別子Miに対応する位置をキーとして、要求をしてきた移動体端末及び関連する移動体端末のアバタ−プログラムを直にプログラム管理テーブルAから検索してプログラム実行テーブルにロードされるので、結果としてアバタ−プログラムを実行させる時間が早くなる。
【0064】
上記のように構成されたシステムについて以下に動作を詳細に説明する。本実施の形態1は移動体端末10a、10b・・は、移動体端末はカーナビとし、それぞれのカーナビは地図上に自分の位置及びルート案内を表示する機能と、センターのサーバからの指示に応じて他のルートも同時表示する機能を有するとし、移動体位置情報Eiに緯度、経度、移動体端末識別番号Mi、目的地、ルート等を含ませて送信し、移動体情報受信部23aがメモリ29に順次、保存する(受信順)。なお、移動体端末10a、10b・・・は、起動時点では緯度経度、移動体端末識別番号Miのみを移動体位置情報Eiとして送信し、以後は目的地点ルートを含ませて送信するとする。
【0065】
また、メモリ29に移動体位置情報Eiが記憶される毎に毎(移動、停止含む)に、この端末識別番号Miを有するメモリ30a、30b・・に、新たな位置(xyz)と時刻tiとを対応させて記憶されているとする。
【0066】
初めに検索条件設定部23fについて図11のフローチャートを用いて詳細に説明する。
【0067】
検索条件設定部23fは、メモリ29のレコード番号を設定し、このレコードの移動体端末識別番号Miの移動体位置情報Eiに目的地点とルートRiが含まれている場合は、その目的地点RipとルートRiとを読み込む(S1)。
【0068】
次に、検索条件設定部23fは、移動体端末位置情報Eiに含まれている時刻ti、移動体端末識別番号Miを有するレコードをメモリ30(30a、30b・・)を引き当て、このレコード内の位置(x、y、z)を現在位置とし、この現在位置を中心にして、例えば100m×100mの検索メッシュKiを地理座標空間メモリ28の地図上(道路)に定義する(S2:図12参照)。
【0069】
次に、検索メッシュKiにおいて移動体端末識別番号Miが初めに到達する交差点hiに接続されているリンクFiを読み込む(S3)。
【0070】
次に、このリンクFi上に移動体が存在するかどうかを判断する(S4)。
【0071】
存在する場合は、移動体端末識別番号Miに最も距離が近く、かつ移動体識別番号Miの進行方向に対して影響がある移動体端末識別番号Mipを地理座標空間メモリ28から検索する(S5)。
【0072】
次に、移動体がリンクFi上に他にあるかどうかを判定する(S6)。
【0073】
ステップS6において、移動体が他にあると判断した場合は、移動体端末識別番号Miに次に距離が近く、かつ移動体識別番号Miの進行方向に対して影響がある移動体端末識別番号Mip+1を地理座標空間メモリ28から検索して処理をステップS6に戻す(S7)。
【0074】
図5においては、検索メッシュKa1内において、Maに対してMbとMcとが検索されることになる。
【0075】
ステップS6において、移動体が他にないと判断した場合は検索した移動体端末識別番号(Mi、Mip、Mip+1、・・・)を実行プログラム定義部23gに知らせる(S8)。次に、検索メッシュKiが他にあるかどうかを判断し(S9)、他にあると判断した場合は、検索メッシュの番号を更新して、処理をステップS3に戻す(S10)。
【0076】
つまり、図13に示すように、ルートRi上に検索メッシュKi(Ka1、ka2・・・)を設定して、これらのメッシュ内に存在する影響のある移動体を目的地まで検索して、メッシュ毎に実行プログラム設定部23gに影響のある移動体を知らせている。
【0077】
次に、アバタ−プログラムの一例を図14を用いて説明する。本実施の形態では目的地点までのルートが混雑する場合に、他のルートを案内するカーナビ用のアバタ−として説明する。
【0078】
図14に示すように、アバタ−(移動体端末番号Mi)は、実行プログラム定義部に知らせられた検索メッシュ内のMip、Mip+1、・・・の内で、最初のMipを最も影響があるアバタ−名として読み込む(S20)。
【0079】
次に、アバタ−(移動体端末番号Mi)はMipのアバタ−と通信を行って、目的地、ルート、速度を聞き出す(S21a)。
【0080】
次に、自分(アバタ−(移動体端末番号Mi))と目的地、ルートが同じかどうかを判断する(S21b)。
【0081】
ステップS21において、同じと判断した場合は、Mipのアバタ−の速度を読み、自分のルートにおいて次の交差点に何分後にはいるかどうかを計算する(S22)。
【0082】
このとき、メモリ30に記憶されているプローブ情報、信号機の現在の状況、交差点情報等を読み出して、何分後に入るかを計算するのが好ましい。
【0083】
そして、Mipは自分(Ma)よりも後に、交差点に入るかどうかを判断する(S23a)。ステップS23aにおいて、自分より先に交差点に入らないと判定した場合は、次に営業があるアバタ−を引き当て、ステップS21に戻す(S23b)。
【0084】
また、ステップS23において、自分より先に入ると判断した場合は、混雑数Liに+1する(S24)。
【0085】
次に、新たな検索メッシュKi+1が入力したかどうかを判定する(S25)。ステップS25において、新たな検索メッシュKi+1が入力したと判定した場合は処理をステップs20に戻す。
【0086】
また、ステップS25において、新たな検索メッシュKi+1の入力がないと判定した場合は基準の混雑係数を用いて混雑度を判定する(S26)。
【0087】
ステップS26において、混雑すると判定した場合は、新たに次の最短ルートRi+1を計算して(S27)、この新たな最短ルートRi+1をMaの移動体端末に送信する(S28)。
【0088】
すなわち、Maの移動体端末には図15に示すように新たな最短ルートRi+1が表示される。
【0089】
なお、上記実施の形態では、移動体端末として説明したが、事象の位置を観測または計測するレーザプロファイラ,カメラであってもよい。
【0090】
また、移動体端末からの位置情報を用いないで、画面に表示した地図において、マウス,キーボード等から位置座標を入力するようにして、仮想的に位置を移動させて、この位置をプログラムのメモリアドレスに対応させてもよい。
【0091】
このようにすると、地図上の位置を指定するだけで、その位置に対応したプログラムを実行用のRAMにロードすることができる。
【0092】
このため、地図上において、複数の移動体を指定すると、これらの移動体のプログラムだけを起動させて通信させることができる。
【0093】
また、位置に代えて時空間上の領域(例えば、津波の領域、放射能の領域)を入力して、この領域内に存在する或いは近くに存在する移動体の位置をプログラム管理テーブルBに記憶してもよい。
【0094】
さらに、地図や地球儀等の地理空間情報を入力し、地理空間情報上に、単一または複数プログラムの位置や移動軌跡を重畳し多次元的に表示してもよい。
【0095】
画面の表示領域に応じた範囲のプログラム位置や移動軌跡を表示することができるため表示領域以外の表示処理を行う必要がなく、表示処理を効率的に行うことができる。
【0096】
膨大な数のプログラムを効率良く処理する技術に、クラウド・コンピューティング等で用いられるグリッド・コンピューティング技術や超並列計算機の利用等がある。これらの技術を用いる場合、プログラム群をどのようなグループに分割して各処理装置に割り当てるか、各処理装置間でどのように情報共有してプログラム群全体の状態を整合させるかが課題となる。
【0097】
本技術においても、プログラム数が膨大になる場合は、グリッド・コンピューティング技術や超並列計算機の利用が必要となる。
【0098】
プログラムの位置や移動軌跡のデータ量およびプログラムの処理量に応じて、プログラムのグルーピングと時空間の領域分割を等間隔または不等間隔に行い、各時空間領域の処理量が均一化するように分割し、その状態を「時空間領域管理テーブル」に記録する。「時空間領域管理装置」は、各時空間領域に存在するプログラム等の処理を、グリッド・コンピューティングや超並列計算機の各処理装置に割り当て、処理を効率化する。
【0099】
プログラムの移動による時空間領域の越境を監視し、それに伴う「プログラム管理テーブルA」,「プログラム管理テーブルB」の更新と時空間領域間での共有化、各領域に存在するプログラム間の情報交換の仲介(橋渡し)、「情報共有メモリ」を介した各時空間領域に対応する処理装置間の情報共有を行う。
【符号の説明】
【0100】
10 移動体端末
20 サーバ
23a 移動体情報受信部
23c 移動体初期位置登録部
23d プログラム位置更新部
23e 初期位置−メモリアドレス定義部
23f 検索条件設定部
23g 実行プログラム定義部
【技術分野】
【0001】
本発明は、プログラム実行方法に関する。
【背景技術】
【0002】
近年は殆どの自動車にカーナビが搭載されている。カーナビは、GPS受信機を備えて、地図上に目的地点までのル−トを表示して、このルート上に現在の位置をリアルタイム表示することで目的地点まで案内するものである。
【0003】
例えば、特許文献1(特開2009−145234号公報)には、携帯端末であるGPS機能を有する端末装置と、サーバとを通信ネットワークで接続して、端末装置から位置情報をサーバ(センター)が受信し、受信した位置のエリアに存在する店舗情報を端末装置に提供することが開示されている。
【0004】
また、特許文献2(特開2003−240592号公報)には、車椅子にGPS機能付きの端末機を備え、この端末機から位置情報をセンターに送信し、センターが位置に応じたバリアフリー地図を端末機に送信することが開示されている。
【0005】
また、特許文献3(特開2009−145234号公報)は、地図上に目的のレストラン情報を表示して、このレストランへのルートを案内することが開示されている。
【0006】
一方、引用文献4(特開平11−250393号公報)には、GPS機能付き移動端末(クライアント)と、サーバとからなるシステムにおいて、所定位置に対応させたプログラムを予め記憶しておいて、移動端末がその所定位置にきたときに、その位置に対応したプログラム(予め決められている共通処理をするプログラム)を提供することが開示されている。
【0007】
また、特許文献5(特開2005−122491号公報)には、利用者が携帯する物品(オブジェクト:携帯端末)と、サーバとを接続し、サーバがオブジェクトのIDに対応した状況適応型アプリケーションを備え、オブジェクトの状況に応じたプログラム(例えば、テレビ会議用の画面操作のプログラム)を提供することが記載されている。
【先行技術文献】
【特許文献】
【0008】
【特許文献1】特開2009−145234号公報
【特許文献2】特開2003−240592号公報
【特許文献3】特開2009−145234号公報
【特許文献4】特開平11−250393号公報
【特許文献5】特開2005−122491号公報
【発明の概要】
【発明が解決しようとする課題】
【0009】
上記の特許文献1は、GPS機能を有する移動体端末からセンターに位置情報を送信して、センターがこの位置を中心とする所定のエリア内に存在する店情報を送信するものであるから、予めエリアの位置と、店情報とを対応させて記憶していることになる。
【0010】
また、特許文献2は、センターが端末から送信された位置に応じた地図を端末に送信するものであるから、予め地図には位置が割り付けられていることになる。
【0011】
また、特許文献3はルート上に目的のレストラン情報をセンターから提供するものであるから、ルートの所定位置にレストラン情報が対応づけられて登録されていることになる。
【0012】
つまり、センターは移動端末の位置に対応した或いは含む、予め記憶されている何らかの固定的な情報を送信するものである。
【0013】
しかしながら、移動端末を携帯するユーザは、常に情報の取得を意図している。そして、この情報の取得は、ユーザによって様々である。
【0014】
従って、センターから移動端末を携帯するユーザに応じた、ユーザが欲する情報に関連する情報を収集し、その位置に応じた適切な情報を作成して提供するのが望ましい。
【0015】
しかしながら、上記のような引用文献1、2、3のようなシステムは、移動端末の位置に応じた予め記憶されている固定的な情報を提供するだけであるから、ユーザが欲する情報に関連する情報を収集し、その位置に応じた適切な情報を作成して提供するものではなかった。
【0016】
一方、引用文献4は、移動体端末が所定位置にきたときに、その所定位置に対応させて記憶している予め決められている共通処理をするプログラムを提供するものであり、ユーザが欲する情報に関連する情報を収集し、その位置に応じた適切な情報を作成して提供するものではなかった。
【0017】
また、特許文献5は、オブジェクトのIDに対応した状況適応型アプリケーションを提供するものであるから、ユーザが欲する情報に関連する情報を収集し、その位置に応じた適切な情報を作成して提供するものではなかった。
【0018】
すなわち、引用文献4、5は、移動体の位置に応じた固定的なプログラムを移動体端末に送信するものであり、ユーザが欲する情報に関連する情報を収集し、その位置に応じた適切な情報を作成して提供するものではなかった。
【0019】
一方、一般にプログラムの実行は、ROMからRAMにロードし、RAMに記憶されたアドレス順で実行されるので、例えば移動体端末が非常に多く存在している場合に、これら移動体端末1台毎に対応する相手と自分に対しての状況から自分に対して適切な情報を提供するプログラムをセンター側のROMに記憶した場合には、移動体端末の位置は検出できても、この移動体端末に対応するプログラムを検索してRAMにロードするのに多くの時間を要してしまう。このため、直に相手に適切な情報を提供できないことになる。
【0020】
従って、センター側で移動体端末、1台毎に前述のようなプログラムを保持している場合には、移動体端末の位置を利用して、直ちにその位置に対応する前述のプログラムを検出して適切な通信順でRAMにロードすることで、相手に直に適切な情報を提供することが望ましい。
【課題を解決するための手段】
【0021】
プログラム実行用のRAMに記憶されたプログラムをメモリアドレス順に演算手段で実行するプログラム実行方法において、
識別番号と前記プログラムとを対応させて記憶したROMと、
を備え、
コンピュータが、
前記識別情報と該識別情報の位置座標と時刻情報とを識別物位置情報として第1の記憶手段に記憶するステップと、
前記識別物位置情報が前記第1の記憶手段に記憶される毎に、該識別物位置情報を読み込むステップと、
前記読み込んだ識別体位置情報に含まれている識別番号を読み込むステップと、
前記読み込んだ識別体位置情報に含まれている前記識別番号を有するレコードを前記ROMから検索するステップと、
該検索したROMのレコードの前記プログラムの格納アドレスを読み込むステップと、
前記読み込んだ格納アドレスに前記読み込んだ識別体位置情報(識別番号、位置座標、時刻)とを対応させて、これをプログラム仮想位置情報として第2の記憶手段に記憶するステップと、
前記第2の記憶手段に記憶されたプログラム仮想位置情報の格納アドレスに対応する前記プログラムを前記ROMから引き当て、これを実行用のプログラムとして前記プログラム実行用のRAMにロードするステップと
を行なうことを要旨とする。
【発明の効果】
【0022】
以上のように本発明によれば、識別されたものに対して、識別された物に割り付けられているプログラムを識別されたものの位置で管理するので、これらの位置に影響する他の位置のプログラムをRAMにロードすることができる。
【図面の簡単な説明】
【0023】
【図1】本実施の形態1の地理空間上移動体のプログラム移動システムの概略構成図である。
【図2】地理空間上移動体のプログラム移動方法のブロック図である。
【図3】本実施の形態のプログラムの移動を説明する説明図である。
【図4】プログラム管理テーブルAを説明する説明図である。
【図5】メモリ31を説明する説明図である。
【図6】プログラム管理テーブルBを説明する説明図である。
【図7】メモリ30を説明する説明図である。
【図8】プログラム管理テーブルBの位置情報の更新を説明する説明図である。
【図9】アバタ−プログラムの移動を説明する説明図である。
【図10】プログラム実行テーブルを説明する説明図である。
【図11】本実施の形態の検索条件設定部23fを説明するフローチャートである。
【図12】検索メッシュを説明する説明図である。
【図13】ルートRi上の検索メッシュKi(Ka1、ka2・・・)の設定を説明する説明図である。
【図14】アバタ−プログラムの一例を説明するフローチャートである。
【図15】本実施の形態のアバタ−プログラムによる表示端末への表示を説明する説明図である。
【図16】本実施の形態の多次元表示を説明する説明図である。
【発明を実施するための形態】
【0024】
本実施の形態は、地理空間上の移動体の位置に応じて移動体に関連付けられているプログラムを移動させる(以下地理空間上移動体のプログラム移動方法という)。
【0025】
次に、図面を参照して、本発明の実施の形態を説明する。以下の図面の記載において、同一または類似の部分には同一または類似の符号を付している。但し、図面は模式的なものであり、装置やシステムの構成等は現実のものとは異なることに留意すべきである。
【0026】
したがって、具体的な構成は以下の説明を参酌して判断すべきものである。また、図面相互間においても互いの構成の異なる部分が含まれていることは勿論である。
【0027】
また、以下に示す本発明の実施の形態は、本発明の技術的思想を具体化するための装置や方法を例示するものであって、本発明の技術的思想は、構成部品の材質、形状、構造、配置等を下記のものに特定するものではない。本発明の技術的思想は、特許請求の範囲に記載された技術的範囲内において、種々の変更を加えることができる。
【0028】
<実施の形態1>
識別位置情報は、移動体端末、画面の地図上(緯度経度、高さ又はx,y若しくはxyzが割りあてられている)において指定された点、地物、線(道路)、立体を含み、これらにプログラムと時刻とが対応させられている情報をいう。
【0029】
本実施の形態では、GPS機能を有する移動体端末を一例にして説明する。
【0030】
移動体端末(携帯電話機、カーナビ、携帯端末)が非常に多く存在している場合に、移動端末を有するユーザの分身となる移動体用のプログラム(以下アバタ−プログラムと称する:自分に対して相手がどのような状況か、その状況からどのように行動するべきかを提供するプログラム)を、センターのサーバに移動体端末1台毎に備えているとして説明する。
【0031】
そして、サーバが移動体端末から送信された位置を利用して、直ちにその位置に対応する前述のプログラムを検出して適切な通信順でRAMにロードすることで、相手に直に適切な情報を提供する。
【0032】
つまり、移動体がある一定エリアを移動したときに、その移動にあわせて、移動体に割り付けられている仮想空間上のアバタ−プログラムを移動させて、ある一定エリアに存在したアバタ−プログラム同士のみを通信可能に定義する。
【0033】
一般に、プログラムというのは、ROMにおいて、各プログラムの識別子(プログラムID),開始メモリアドレス等を格納したテーブル(プログラム管理テーブルA)を用いて管理される。
【0034】
本実施の形態1は、図1に示すように、GPS付き移動端末10(10a〜10n)とセンターのサーバ20とを通信ネットワーク30を介して接続したシステムにおいて、サーバ10に、CPU22と、ROM23と、プログラム管理テーブルAであるROM24と、プログラムテーブルBであるアバタ−プログラム実行用メモリ25(RAM)と、他のプログラム実行用のメモリ26(RAM)と、ワーキング用メモリ27(RAM)と、三次元空間用メモリ28(RAM)、位置情報受信用のメモリ29、移動位置管理用メモリ30と、移動体初期位置用のメモリ31と、初期位置―メモリアドレス用のメモリ32(プログラム管理テーブルB)等を備えている。
【0035】
ROM23には、移動体情報受信部23aと、地理座標空間定義部23bと、移動体初期位置登録部23cと、プログラム位置更新部23dと、初期位置−メモリアドレス定義部23eと、検索条件設定部23fと、実行プログラム定義部23gと、出力部23h等のプログラムを備えて、CPU22はプログラム管理テーブルA(ROM24)のアバタ−プログラムPi(Pa、Pb・・・)をアバタ−プログラム実行用メモリ25にロードして、そのプログラムを実行する。
【0036】
また、CPU22は、ROM23のプログラムをプログラム実行用メモリ26にロードして、そのプログラムを実行する。
【0037】
図2はサーバにおける地理空間上移動体のプログラム移動方法のブロック図である。
【0038】
なお、本実施の形態では位置は位置座標は、緯度、経度、高さとし、これらをx、y、zと記載して説明する。但し、が図面にはx,yだけを示して説明する。
【0039】
プログラム管理テーブルA(メモリ24)には、端末識別番号Mi(Ma、Mb、Mc、・・・)に対応させられて、そのアバタ−プログラムPi(Pa、Pb、・・・:実際のプログラム)が記憶されている。また、これらのアバタ−プログラムPiはメモリアドレス(ada、adb、・・・)で管理されている。
【0040】
移動体情報受信部23aは、移動体端末10(10a、10b・・・)からの移動体情報Ei(緯度、経度、端末識別番号Mi、時刻ti、起動オン(車輌の場合はイグニッションオン時、・・)を受信して、これをメモリ29に順次記憶する。
【0041】
移動体初期位置登録部23cは、移動体位置情報Eiが電源オン後の初めての位置情報(初期起動を示す)を示している場合は、移動体初期位置用のメモリ31にメモリ29にの位置(x,y,z)に端末識別番号Miを付加し、かつ受信時刻ti(受信時刻でなくとも移動体位置情報Eiに含まれている時刻(年月日、時間)であってもよい)を付加して記憶する。つまり、メモリ31には、初期における各移動体端末の識別番号と初期の位置座標と時刻とが記憶される(識別体位置情報)。
【0042】
初期位置−メモリアドレス定義部23eは、メモリ31の先頭のレコードを順に引き当て、このレコードに含まれている端末識別番号Mi及び位置(x、y、z)を読み込む。そして、このレコードの端末識別番号Mi有するレコードをメモリ24から引き当て、このメモリ24のレコードのメモリアドレスadi(ada、adb、・・・)を読み込む。
【0043】
次に、このメモリアドレスadi(ada、adb、・・・)にメモリ31のレコードの端末識別番号Miと位置(xyz:緯度、経度、高さのバイナリコード)とを対応させてメモリ32(プログラム管理テーブルB:第2の記憶手段)に記憶する(プログラム仮想位置情報)。
【0044】
プログラム位置更新部23dは、メモリ31(プログラム管理テーブルB:第2の記憶手段)を監視し、メモリ31に端末識別番号Miと位置(xyz)と時刻tiとが対応させられて記憶される毎に、この端末識別番号Mi(Ma、Mb、Mc、・・・)毎の移動位置管理用メモリ30(30a、30b・・・)を生成する。
【0045】
そして、メモリ31の端末識別番号Miを有するメモリ30a、30b、・・を引き当て、このメモリ30a、30b、・・にメモリ31(プログラム管理テーブルB:第2の記憶手段)の位置(xyz)と時刻tiとを順次記憶する。
【0046】
そして、以後はメモリ29に新たに端末識別番号Miが定義される毎(移動、停止含む)に、この端末識別番号Miを有するメモリ30a、30b・・に、新たな位置(xyz)と時刻tiとを対応させて記憶する。
【0047】
さらに、プログラム位置更新部23dは、新たな位置位置(xyz)と時刻tiとがメモリ30a、30b・・・に記憶する毎に、メモリ30a、30b・・の端末識別番号Mi(Ma、Mb、Mc・・)を有するレコードをメモリ32(プログラム管理テーブルB)から引き当てる。
【0048】
そして、この引き当てたレコードの位置(xyz)と時刻tiとを、新たな移動体位置(xyz)と時刻tiとに更新する。
【0049】
すなわち、移動体端末の移動に伴って、その移動体端末のアバタ−プログラムのROM上のメモリアドレスadiがその新たな移動体位置で対応付けられることになるから、アバタ−プログラムは、3次元空間上を移動体の移動に対応して移動したことになる(図3参照)。
【0050】
検索条件設定部23fは、移動体端末の目的地点が入力すると、例えば自分を中心として50mの検索メッシュKiをその移動体端末の現在位置から目的地点まで一定間隔で三次元空間メモリ28(地図)に設定し、この検索メッシュKi内に現在存在する移動体端末識別番号Mipをメモリ30a、30b・・から順次、抽出(自分を含む)する。
【0051】
そして、検索メッシュKiが設定される毎に、その検索メッシュ内において、自分の移動方向(道路上)に対して影響がある移動体端末識別番号Mipを三次元空間メモリから抽出して、これらを実行プログラム定義部23gに設定する(自分を先頭にする)。
【0052】
実行プログラム定義部23gは、設定された移動体端末識別番号Mipを有するアバタ−プログラムをプログラムテーブルAから検索して、これをアバタ−プログラム実行メモリ25(プログラムテーブルB)にロードする。
【0053】
すなわち、自分が移動した場合に、その移動位置にアバタ−プログラムのメモリアドレスを対応させて管理し、検索メッシュKi内に存在し、かつ移動体の進行方向に影響があるアバタ−プログラムのみを順次、プログラム実行メモリにロードしてCPU22にこのプログラムを実行させている。また、検索メッシュKi毎に自分のアバタ−プログラムを先頭にロードさせているので、自分のアバタ−プログラムを次の検索メッシュに引き渡していることになる。
【0054】
出力部23は、プログラム実行メモリ25にロードされた自分のアバタ−プログラムの実行結果を自分の移動体端末のファイル形式に変換して送信する。
【0055】
すなわち、本実施の形態1は、会員となった移動体端末を有するユーザのアバタ−プログラムを移動体端末識別子を付加してプログラム管理テーブルAに全て予め記憶しておく。
【0056】
例えば、図4に示すように、移動体端末識別番号Mi(i:a、b、c・・)をアバタ−名として、アバタ−の実プログラムPi(Pa、Pb、・・・)に対応させて保存しておく。このとき、当然、メモリアドレスada、adb、・・・実プログラムPi(Pa、Pb、・・・)は管理される。
【0057】
そして、GPS機能を有する移動体端末の起動(電源オン)に伴って、移動体端末の位置情報( 緯度、経度、移動体端末識別子等を含む)をセンターのサーバに送信させ、このサーバが位置(緯度、経度)を地理座標空間(三次元メモリ)に定義し、この地理座標空間における移動体端末の位置( x, y, z)を算出して、この位置( x, y, z)と共に取得時刻(t)を付加し(以下総称して初期位置情報という)、かつ移動体端末識別子(Mi:Ma、Mb、Mc・・・)を付加してメモリ31に記憶する(図5参照)。この初期位置情報は、プログラム位置更新部23dによってメモリ30a、30b・・・に記憶される。
【0058】
そして、プログラム管理テーブルA[開始アドレスと終了アドレスと(プログラム格納アドレス)、実際のアバタ−プログラム、アバタ−プログラムID(移動体端末識別子Miと同じにするのが好ましい)]に記憶されている移動体端末識別子Miに関連付けられているアバタ−プログラムのプログラム格納アドレスadi(ada、adb、・・)をプログラム管理テーブルBに定義する(初期位置情報(x, y, z, t)と、移動体識別子Miと、プログラム管理アドレスadiとが対応させられている:図6参照)。
【0059】
そして、以後は、移動体端末からの位置情報をメモリ29に記憶する毎に、この今回の位置情報(x+1, y+1, z+1, t+1)をプログラム位置更新部23dが該当のメモリ30a、30b・・に記憶する(図7参照)。
【0060】
そして、プログラム位置更新部23dがメモリ30a、30b・・・に新たに位置情報が記憶される毎に、プログラム管理テーブルBの前回の位置情報(x, y, z,t)を今回の位置情報(x+1, y+1, z+1, t+1)に更新する(図8参照)。
【0061】
つまり、アバタ−プログラムの格納アドレスに関連付けられている位置情報が移動体の移動に伴って変わるので、図9に示すように、アバタ−プログラムが移動体の移動に伴ってあたかも三次元空間上を移動させたことになる。
【0062】
そして、いずれかの移動体端末が何らかの要求をしてきた場合(検索条件設定部)に、その位置情報(x+1, y+1, z+1, t+1)と移動体識別子Miを有するレコード並びにその要求に対して関連する位置情報を有するレコードをプログラム管理テーブルBから引き当て、これらのレコードに含まれている移動体識別子Miを有するレコードをプログラム管理テーブルAから引き当て、プログラム実行テーブルに、そのレコード内のアバタ−プログラムをロードする(図10参照)。
【0063】
従って、複数の移動体端末のアバタ−プログラムがプログラム管理テーブルAに非常に多く記憶されている場合に、要求をしてきた移動体端末及び関連する移動端末のアバタ−プログラムを先頭から順次探し出してプログラム実行テーブルにロードしなくとも、移動体識別子Miに対応する位置をキーとして、要求をしてきた移動体端末及び関連する移動体端末のアバタ−プログラムを直にプログラム管理テーブルAから検索してプログラム実行テーブルにロードされるので、結果としてアバタ−プログラムを実行させる時間が早くなる。
【0064】
上記のように構成されたシステムについて以下に動作を詳細に説明する。本実施の形態1は移動体端末10a、10b・・は、移動体端末はカーナビとし、それぞれのカーナビは地図上に自分の位置及びルート案内を表示する機能と、センターのサーバからの指示に応じて他のルートも同時表示する機能を有するとし、移動体位置情報Eiに緯度、経度、移動体端末識別番号Mi、目的地、ルート等を含ませて送信し、移動体情報受信部23aがメモリ29に順次、保存する(受信順)。なお、移動体端末10a、10b・・・は、起動時点では緯度経度、移動体端末識別番号Miのみを移動体位置情報Eiとして送信し、以後は目的地点ルートを含ませて送信するとする。
【0065】
また、メモリ29に移動体位置情報Eiが記憶される毎に毎(移動、停止含む)に、この端末識別番号Miを有するメモリ30a、30b・・に、新たな位置(xyz)と時刻tiとを対応させて記憶されているとする。
【0066】
初めに検索条件設定部23fについて図11のフローチャートを用いて詳細に説明する。
【0067】
検索条件設定部23fは、メモリ29のレコード番号を設定し、このレコードの移動体端末識別番号Miの移動体位置情報Eiに目的地点とルートRiが含まれている場合は、その目的地点RipとルートRiとを読み込む(S1)。
【0068】
次に、検索条件設定部23fは、移動体端末位置情報Eiに含まれている時刻ti、移動体端末識別番号Miを有するレコードをメモリ30(30a、30b・・)を引き当て、このレコード内の位置(x、y、z)を現在位置とし、この現在位置を中心にして、例えば100m×100mの検索メッシュKiを地理座標空間メモリ28の地図上(道路)に定義する(S2:図12参照)。
【0069】
次に、検索メッシュKiにおいて移動体端末識別番号Miが初めに到達する交差点hiに接続されているリンクFiを読み込む(S3)。
【0070】
次に、このリンクFi上に移動体が存在するかどうかを判断する(S4)。
【0071】
存在する場合は、移動体端末識別番号Miに最も距離が近く、かつ移動体識別番号Miの進行方向に対して影響がある移動体端末識別番号Mipを地理座標空間メモリ28から検索する(S5)。
【0072】
次に、移動体がリンクFi上に他にあるかどうかを判定する(S6)。
【0073】
ステップS6において、移動体が他にあると判断した場合は、移動体端末識別番号Miに次に距離が近く、かつ移動体識別番号Miの進行方向に対して影響がある移動体端末識別番号Mip+1を地理座標空間メモリ28から検索して処理をステップS6に戻す(S7)。
【0074】
図5においては、検索メッシュKa1内において、Maに対してMbとMcとが検索されることになる。
【0075】
ステップS6において、移動体が他にないと判断した場合は検索した移動体端末識別番号(Mi、Mip、Mip+1、・・・)を実行プログラム定義部23gに知らせる(S8)。次に、検索メッシュKiが他にあるかどうかを判断し(S9)、他にあると判断した場合は、検索メッシュの番号を更新して、処理をステップS3に戻す(S10)。
【0076】
つまり、図13に示すように、ルートRi上に検索メッシュKi(Ka1、ka2・・・)を設定して、これらのメッシュ内に存在する影響のある移動体を目的地まで検索して、メッシュ毎に実行プログラム設定部23gに影響のある移動体を知らせている。
【0077】
次に、アバタ−プログラムの一例を図14を用いて説明する。本実施の形態では目的地点までのルートが混雑する場合に、他のルートを案内するカーナビ用のアバタ−として説明する。
【0078】
図14に示すように、アバタ−(移動体端末番号Mi)は、実行プログラム定義部に知らせられた検索メッシュ内のMip、Mip+1、・・・の内で、最初のMipを最も影響があるアバタ−名として読み込む(S20)。
【0079】
次に、アバタ−(移動体端末番号Mi)はMipのアバタ−と通信を行って、目的地、ルート、速度を聞き出す(S21a)。
【0080】
次に、自分(アバタ−(移動体端末番号Mi))と目的地、ルートが同じかどうかを判断する(S21b)。
【0081】
ステップS21において、同じと判断した場合は、Mipのアバタ−の速度を読み、自分のルートにおいて次の交差点に何分後にはいるかどうかを計算する(S22)。
【0082】
このとき、メモリ30に記憶されているプローブ情報、信号機の現在の状況、交差点情報等を読み出して、何分後に入るかを計算するのが好ましい。
【0083】
そして、Mipは自分(Ma)よりも後に、交差点に入るかどうかを判断する(S23a)。ステップS23aにおいて、自分より先に交差点に入らないと判定した場合は、次に営業があるアバタ−を引き当て、ステップS21に戻す(S23b)。
【0084】
また、ステップS23において、自分より先に入ると判断した場合は、混雑数Liに+1する(S24)。
【0085】
次に、新たな検索メッシュKi+1が入力したかどうかを判定する(S25)。ステップS25において、新たな検索メッシュKi+1が入力したと判定した場合は処理をステップs20に戻す。
【0086】
また、ステップS25において、新たな検索メッシュKi+1の入力がないと判定した場合は基準の混雑係数を用いて混雑度を判定する(S26)。
【0087】
ステップS26において、混雑すると判定した場合は、新たに次の最短ルートRi+1を計算して(S27)、この新たな最短ルートRi+1をMaの移動体端末に送信する(S28)。
【0088】
すなわち、Maの移動体端末には図15に示すように新たな最短ルートRi+1が表示される。
【0089】
なお、上記実施の形態では、移動体端末として説明したが、事象の位置を観測または計測するレーザプロファイラ,カメラであってもよい。
【0090】
また、移動体端末からの位置情報を用いないで、画面に表示した地図において、マウス,キーボード等から位置座標を入力するようにして、仮想的に位置を移動させて、この位置をプログラムのメモリアドレスに対応させてもよい。
【0091】
このようにすると、地図上の位置を指定するだけで、その位置に対応したプログラムを実行用のRAMにロードすることができる。
【0092】
このため、地図上において、複数の移動体を指定すると、これらの移動体のプログラムだけを起動させて通信させることができる。
【0093】
また、位置に代えて時空間上の領域(例えば、津波の領域、放射能の領域)を入力して、この領域内に存在する或いは近くに存在する移動体の位置をプログラム管理テーブルBに記憶してもよい。
【0094】
さらに、地図や地球儀等の地理空間情報を入力し、地理空間情報上に、単一または複数プログラムの位置や移動軌跡を重畳し多次元的に表示してもよい。
【0095】
画面の表示領域に応じた範囲のプログラム位置や移動軌跡を表示することができるため表示領域以外の表示処理を行う必要がなく、表示処理を効率的に行うことができる。
【0096】
膨大な数のプログラムを効率良く処理する技術に、クラウド・コンピューティング等で用いられるグリッド・コンピューティング技術や超並列計算機の利用等がある。これらの技術を用いる場合、プログラム群をどのようなグループに分割して各処理装置に割り当てるか、各処理装置間でどのように情報共有してプログラム群全体の状態を整合させるかが課題となる。
【0097】
本技術においても、プログラム数が膨大になる場合は、グリッド・コンピューティング技術や超並列計算機の利用が必要となる。
【0098】
プログラムの位置や移動軌跡のデータ量およびプログラムの処理量に応じて、プログラムのグルーピングと時空間の領域分割を等間隔または不等間隔に行い、各時空間領域の処理量が均一化するように分割し、その状態を「時空間領域管理テーブル」に記録する。「時空間領域管理装置」は、各時空間領域に存在するプログラム等の処理を、グリッド・コンピューティングや超並列計算機の各処理装置に割り当て、処理を効率化する。
【0099】
プログラムの移動による時空間領域の越境を監視し、それに伴う「プログラム管理テーブルA」,「プログラム管理テーブルB」の更新と時空間領域間での共有化、各領域に存在するプログラム間の情報交換の仲介(橋渡し)、「情報共有メモリ」を介した各時空間領域に対応する処理装置間の情報共有を行う。
【符号の説明】
【0100】
10 移動体端末
20 サーバ
23a 移動体情報受信部
23c 移動体初期位置登録部
23d プログラム位置更新部
23e 初期位置−メモリアドレス定義部
23f 検索条件設定部
23g 実行プログラム定義部
【特許請求の範囲】
【請求項1】
プログラム実行用のRAMに記憶されたプログラムをメモリアドレス順に演算手段で実行するプログラム実行方法において、
識別番号と前記プログラムとを対応させて記憶したROMと、
を備え、
コンピュータが、
前記識別情報と該識別情報の位置座標と時刻情報とを識別物位置情報として第1の記憶手段に記憶するステップと、
前記識別物位置情報が前記第1の記憶手段に記憶される毎に、該識別物位置情報を読み込むステップと、
前記読み込んだ識別体位置情報に含まれている識別番号を読み込むステップと、
前記読み込んだ識別体位置情報に含まれている前記識別番号を有するレコードを前記ROMから検索するステップと、
該検索したROMのレコードの前記プログラムの格納アドレスを読み込むステップと、
前記読み込んだ格納アドレスに前記読み込んだ識別体位置情報(識別番号、位置座標、時刻)とを対応させて、これをプログラム仮想位置情報として第2の記憶手段に記憶するステップと、
前記第2の記憶手段に記憶されたプログラム仮想位置情報の格納アドレスに対応する前記プログラムを前記ROMから引き当て、これを実行用のプログラムとして前記プログラム実行用のRAMにロードするステップと
を行なうことを特徴とするプログラム実行方法。
【請求項2】
前記コンピュータは、
前記読み込んだ識別体位置情報に含まれている識別番号を有する識別体位置情報が前記第1の記憶手段に既に存在するかどうかを判断するステップと、
既に存在する場合は、該既に存在する識別体位置情報の識別番号を有するプログラム仮想位置情報を前記第2の記憶手段から検索するステップと、
前記第2の記憶手段の前記検索したプログラム仮想位置情報に含まれている位置座標、時刻情報を、前記読み込んだ識別体位置情報の位置座標、時刻情報に更新するステップと、
を行なうことを特徴とする請求項1記載のプログラム実行方法。
【請求項3】
前記コンピュータは、
前記第1の記憶手段の識別体位置情報のいずれかの識別体位置情報に対して、一定範囲に入る他の識別体位置情報を検索し、該他の識別体位置情報に含まれている識別番号を有するプログラム仮想位置情報を前記第2の記憶手段から前記一定範囲内における関連するプログラム仮想位置情報として検索すると共に、前記いずれかの識別体位置情報に含まれている識別番号を有するプログラム仮想位置情報を基準のプログラム仮想位置情報として前記第2の記憶手段から検索するステップと、
前記検索された基準のプログラム仮想位置情報、前記一定範囲内における関連するプログラム仮想位置情報の各々に含まれている前記格納アドレスのレコードのみを前記ROMから検索し、該検索したレコードの前記プログラムを前記実行用のプログラムとするステップと
を行なうことを特徴とする請求項1又は2記載のプログラム実行方法。
【請求項4】
前記位置座標は、緯度、経度又は緯度、経度、高さ若しくは平面直角座標のx、yあるいは該x、yとzとからなることを特徴とする請求項1、2又は3記載のプログラム実行方法。
【請求項5】
前記移動体は、GPS機能を有する移動体端末又は地図上に指定された逐次移動する領域であることを特徴とする請求項1乃至4のいずれかに記載のプログラム実行方法。
【請求項1】
プログラム実行用のRAMに記憶されたプログラムをメモリアドレス順に演算手段で実行するプログラム実行方法において、
識別番号と前記プログラムとを対応させて記憶したROMと、
を備え、
コンピュータが、
前記識別情報と該識別情報の位置座標と時刻情報とを識別物位置情報として第1の記憶手段に記憶するステップと、
前記識別物位置情報が前記第1の記憶手段に記憶される毎に、該識別物位置情報を読み込むステップと、
前記読み込んだ識別体位置情報に含まれている識別番号を読み込むステップと、
前記読み込んだ識別体位置情報に含まれている前記識別番号を有するレコードを前記ROMから検索するステップと、
該検索したROMのレコードの前記プログラムの格納アドレスを読み込むステップと、
前記読み込んだ格納アドレスに前記読み込んだ識別体位置情報(識別番号、位置座標、時刻)とを対応させて、これをプログラム仮想位置情報として第2の記憶手段に記憶するステップと、
前記第2の記憶手段に記憶されたプログラム仮想位置情報の格納アドレスに対応する前記プログラムを前記ROMから引き当て、これを実行用のプログラムとして前記プログラム実行用のRAMにロードするステップと
を行なうことを特徴とするプログラム実行方法。
【請求項2】
前記コンピュータは、
前記読み込んだ識別体位置情報に含まれている識別番号を有する識別体位置情報が前記第1の記憶手段に既に存在するかどうかを判断するステップと、
既に存在する場合は、該既に存在する識別体位置情報の識別番号を有するプログラム仮想位置情報を前記第2の記憶手段から検索するステップと、
前記第2の記憶手段の前記検索したプログラム仮想位置情報に含まれている位置座標、時刻情報を、前記読み込んだ識別体位置情報の位置座標、時刻情報に更新するステップと、
を行なうことを特徴とする請求項1記載のプログラム実行方法。
【請求項3】
前記コンピュータは、
前記第1の記憶手段の識別体位置情報のいずれかの識別体位置情報に対して、一定範囲に入る他の識別体位置情報を検索し、該他の識別体位置情報に含まれている識別番号を有するプログラム仮想位置情報を前記第2の記憶手段から前記一定範囲内における関連するプログラム仮想位置情報として検索すると共に、前記いずれかの識別体位置情報に含まれている識別番号を有するプログラム仮想位置情報を基準のプログラム仮想位置情報として前記第2の記憶手段から検索するステップと、
前記検索された基準のプログラム仮想位置情報、前記一定範囲内における関連するプログラム仮想位置情報の各々に含まれている前記格納アドレスのレコードのみを前記ROMから検索し、該検索したレコードの前記プログラムを前記実行用のプログラムとするステップと
を行なうことを特徴とする請求項1又は2記載のプログラム実行方法。
【請求項4】
前記位置座標は、緯度、経度又は緯度、経度、高さ若しくは平面直角座標のx、yあるいは該x、yとzとからなることを特徴とする請求項1、2又は3記載のプログラム実行方法。
【請求項5】
前記移動体は、GPS機能を有する移動体端末又は地図上に指定された逐次移動する領域であることを特徴とする請求項1乃至4のいずれかに記載のプログラム実行方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【公開番号】特開2013−3838(P2013−3838A)
【公開日】平成25年1月7日(2013.1.7)
【国際特許分類】
【出願番号】特願2011−134238(P2011−134238)
【出願日】平成23年6月16日(2011.6.16)
【出願人】(591074161)アジア航測株式会社 (48)
【Fターム(参考)】
【公開日】平成25年1月7日(2013.1.7)
【国際特許分類】
【出願日】平成23年6月16日(2011.6.16)
【出願人】(591074161)アジア航測株式会社 (48)
【Fターム(参考)】
[ Back to top ]