(57)【特許請求の範囲】
【請求項１】
コンピュータによって実行されるデータ管理方法であって、
データが格納されている前記コンピュータが備える第１データ記憶手段から前記データの少なくとも一部を読みだし、読み出したデータを前記コンピュータが備える第２データ記憶手段上に起動された１つ以上のメモリ展開タスクに割り当てて格納するデータ格納段階と、
前記１つ以上のメモリ展開タスクに割り当てて格納したデータの割当情報を作成して割当情報記憶手段に格納する割当情報作成段階と、
クライアントから要求されたデータが前記メモリ展開タスクに割り当てられていれば前記クライアントから供給されたデータを、前記割当情報に基づき前記１つ以上のメモリ展開タスクから取得して前記クライアントに供給し、前記メモリ展開タスクに割り当てられていなければ前記クライアントから要求されたデータを割り当てた新たな前記メモリ展開タスクを起動させたあと、該起動させた前記メモリ展開タスクから前記クライアントから供給されたデータを取得して前記クライアントに供給するデータ取得供給段階と、
前記１つ以上のメモリ展開タスクへのアクセス頻度を判定し、アクセス頻度の高い前記メモリ展開タスクがあり、且つ、前記第２データ記憶手段の記憶容量に空きがある場合に前記アクセス頻度の高い前記メモリ展開タスクに割り当てられている前記データを割り当てた新たな前記メモリ展開タスクを起動させ、同一の前記データを保持した前記メモリ展開タスクが複数あり、且つ、同一の前記データを保持した前記メモリ展開タスクへのアクセス頻度が低い場合に同一の前記データを保持した前記メモリ展開タスクの一部を削除するメモリ展開タスク監視段階と
を有することを特徴とするデータ管理方法。
【請求項２】
前記割当情報は、前記データと、該データを割り当てて格納する前記メモリ展開タスクとを対応付けると共に、同一の前記データを保持した前記メモリ展開タスクとを対応付ける
ことを特徴とする請求項１記載のデータ管理方法。
【請求項３】
前記割当情報は、前記データの状態として、前記データが存在しないこと、前記データが前記メモリ展開タスクに割り当てられていないこと、前記データが前記メモリ展開タスクに割り当てられていること、前記メモリ展開タスクに割り当てられている前記データへのアクセスの回数、及び、前記メモリ展開タスクに割り当てられている前記データがアクセス中であること、の何れかを表す情報を更に有する
ことを特徴とする請求項２記載のデータ管理方法。
【請求項４】
前記データ格納段階は、前記コンピュータの起動時に前記第１データ記憶手段から前記データの少なくとも一部をパラメータに応じて読み出し、読み出したデータを前記１つ以上のメモリ展開タスクに割り当てて格納する
ことを特徴とする請求項１乃至３何れか一項記載のデータ管理方法。
【請求項５】
前記データ取得供給段階は、前記クライアントから要求されたデータを、前記割当情報に基づき前記１つ以上のメモリ展開タスクから取得して前記クライアントに供給する一方、
前記クライアントから要求されたデータの内容を記録情報として記録情報記憶手段に格納しておく
ことを特徴とする請求項１乃至４何れか一項記載のデータ管理方法。
【請求項６】
第１データ記憶手段及び第２データ記憶手段を備え、クライアントから要求されたデータを前記クライアントに供給するデータ管理サーバであって、
前記データが格納されている第１データ記憶手段から読み出された前記データの少なくとも一部を格納する前記第２データ記憶手段上に起動される１つ以上のメモリ展開タスクと、
前記１つ以上のメモリ展開タスクに割り当てて格納したデータの割当情報を記録する割当情報記録手段と、
クライアントから要求されたデータが前記メモリ展開タスクに割り当てられていれば前記クライアントから供給されたデータを、前記割当情報に基づき前記１つ以上のメモリ展開タスクから取得して前記クライアントに供給し、前記メモリ展開タスクに割り当てられていなければ前記クライアントから要求されたデータを割り当てた新たな前記メモリ展開タスクを起動させたあと、該起動させた前記メモリ展開タスクから前記クライアントから供給されたデータを取得して前記クライアントに供給するデータ取得供給手段と、
前記１つ以上のメモリ展開タスクへのアクセス頻度を判定し、アクセス頻度の高い前記メモリ展開タスクがあり、且つ、前記第２データ記憶手段の記憶容量に空きがある場合に前記アクセス頻度の高い前記メモリ展開タスクに割り当てられている前記データを割り当てた新たな前記メモリ展開タスクを起動させ、同一の前記データを保持した前記メモリ展開タスクが複数あり、且つ、同一の前記データを保持した前記メモリ展開タスクへのアクセス頻度が低い場合に同一の前記データを保持した前記メモリ展開タスクの一部を削除するメモリ展開タスク監視手段と
を有することを特徴とするデータ管理サーバ。
【請求項７】
１つ以上のクライアントと、前記クライアントにネットワークを介して接続されるデータ管理サーバとを用いて、前記クライアントから要求されたデータを前記データ管理サーバからクライアントに供給するデータ管理システムが実行するデータ管理方法であって、
前記データ管理サーバが、
前記データが格納されている前記データ管理サーバが備える第１データ記憶手段から前記データの少なくとも一部を読みだし、読み出したデータを前記データ管理サーバが備える第２データ記憶手段上に起動された１つ以上のメモリ展開タスクに割り当てて格納するデータ格納段階と、
前記１つ以上のメモリ展開タスクに割り当てて格納したデータの割当情報を作成して割当情報記憶手段に格納する割当情報作成段階と、
クライアントから要求されたデータが前記メモリ展開タスクに割り当てられていれば前記クライアントから供給されたデータを、前記割当情報に基づき前記１つ以上のメモリ展開タスクから取得して前記クライアントに供給し、前記メモリ展開タスクに割り当てられていなければ前記クライアントから要求されたデータを割り当てた新たな前記メモリ展開タスクを起動させたあと、該起動させた前記メモリ展開タスクから前記クライアントから供給されたデータを取得して前記クライアントに供給するデータ取得供給段階と、
前記１つ以上のメモリ展開タスクへのアクセス頻度を判定し、アクセス頻度の高い前記メモリ展開タスクがあり、且つ、前記第２データ記憶手段の記憶容量に空きがある場合に前記アクセス頻度の高い前記メモリ展開タスクに割り当てられている前記データを割り当てた新たな前記メモリ展開タスクを起動させ、同一の前記データを保持した前記メモリ展開タスクが複数あり、且つ、同一の前記データを保持した前記メモリ展開タスクへのアクセス頻度が低い場合に同一の前記データを保持した前記メモリ展開タスクの一部を削除するメモリ展開タスク監視段階と
を有することを特徴とするデータ管理方法。
【請求項８】
コンピュータに、
データが格納されている前記コンピュータが備える第１データ記憶手段から前記データの少なくとも一部を読みだし、読み出したデータを前記コンピュータが備える第２データ記憶手段上に起動された１つ以上のメモリ展開タスクに割り当てて格納するデータ格納手順と、
前記１つ以上のメモリ展開タスクに割り当てて格納したデータの割当情報を作成して割当情報記憶手段に格納する割当情報作成手順と、
クライアントから要求されたデータが前記メモリ展開タスクに割り当てられていれば前記クライアントから供給されたデータを、前記割当情報に基づき前記１つ以上のメモリ展開タスクから取得して前記クライアントに供給し、前記メモリ展開タスクに割り当てられていなければ前記クライアントから要求されたデータを割り当てた新たな前記メモリ展開タスクを起動させたあと、該起動させた前記メモリ展開タスクから前記クライアントから供給されたデータを取得して前記クライアントに供給するデータ取得供給手順と、
前記１つ以上のメモリ展開タスクへのアクセス頻度を判定し、アクセス頻度の高い前記メモリ展開タスクがあり、且つ、前記第２データ記憶手段の記憶容量に空きがある場合に前記アクセス頻度の高い前記メモリ展開タスクに割り当てられている前記データを割り当てた新たな前記メモリ展開タスクを起動させ、同一の前記データを保持した前記メモリ展開タスクが複数あり、且つ、同一の前記データを保持した前記メモリ展開タスクへのアクセス頻度が低い場合に同一の前記データを保持した前記メモリ展開タスクの一部を削除するメモリ展開タスク監視手順と
を実行させるためのデータ管理プログラム。
【請求項９】
コンピュータに、
データが格納されている前記コンピュータが備える第１データ記憶手段から前記データの少なくとも一部を読みだし、読み出したデータを前記コンピュータが備える第２データ記憶手段上に起動された１つ以上のメモリ展開タスクに割り当てて格納するデータ格納手順と、
前記１つ以上のメモリ展開タスクに割り当てて格納したデータの割当情報を作成して割当情報記憶手段に格納する割当情報作成手順と、
クライアントから要求されたデータが前記メモリ展開タスクに割り当てられていれば前記クライアントから供給されたデータを、前記割当情報に基づき前記１つ以上のメモリ展開タスクから取得して前記クライアントに供給し、前記メモリ展開タスクに割り当てられていなければ前記クライアントから要求されたデータを割り当てた新たな前記メモリ展開タスクを起動させたあと、該起動させた前記メモリ展開タスクから前記クライアントから供給されたデータを取得して前記クライアントに供給するデータ取得供給手順と、
前記１つ以上のメモリ展開タスクへのアクセス頻度を判定し、アクセス頻度の高い前記メモリ展開タスクがあり、且つ、前記第２データ記憶手段の記憶容量に空きがある場合に前記アクセス頻度の高い前記メモリ展開タスクに割り当てられている前記データを割り当てた新たな前記メモリ展開タスクを起動させ、同一の前記データを保持した前記メモリ展開タスクが複数あり、且つ、同一の前記データを保持した前記メモリ展開タスクへのアクセス頻度が低い場合に同一の前記データを保持した前記メモリ展開タスクの一部を削除するメモリ展開タスク監視手順と
を実行させるためのデータ管理プログラム
を記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、データ管理方法，データ管理サーバ，データ管理プログラム及び記録媒体に係り、特に容量の大きいデータを取り扱うデータ管理方法，データ管理サーバ，データ管理プログラム及び記録媒体に関する。
【０００２】
【従来の技術】
例えば、コンピュータ上で地図データを取り扱うシステムの一例として、地図情報システム（Geographic Information System：以下、ＧＩＳシステムと略称する）が知られている。近年、インターネットの発展に伴い、このＧＩＳシステムをインターネット上で利用する試みが進んでいる。
【０００３】
図１は、ＧＩＳシステムの一例の構成図を示す。図１のＧＩＳシステムは、インターネットに接続されたデータ管理サーバ１００と１つ以上のクライアント１１０とを含むように構成されている。データ管理サーバ１００は、クライアント１１０からのアクセス要求に応じてアプリケーションタスク１０２を起動し、必要な地図データを地図ＤＢ１０１から読み出す。
【０００４】
例えば１つ以上のクライアント１１０からアクセス要求があると、データ管理サーバ１００は夫々のクライアント１１０に対応させて１つ以上のアプリケーションタスク１０２を起動していた。なお、地図ＤＢ１０１は、地図データのデータ量の大きさに基づいてハードディスクなどの記憶容量の大きな補助記憶装置により構成されていた。
【０００５】
【発明が解決しようとする課題】
しかしながら、クライアント１１０からデータ管理サーバ１００に要求される地図データは、類似した地図データであることが多い。例えばＡ市のユーザが操作する１つ以上のクライアント１１０から最初に要求される地図データは、Ａ市に関係する地図データである場合が多い。
【０００６】
したがって、データ管理サーバ１００で起動される１つ以上のアプリケーションタスク１０２は、類似した地図データを地図ＤＢ１０１からメモリ上に読み出す為、データ管理サーバ１００のメモリ容量を圧迫する。その結果、データ管理サーバ１００の性能が低下するという問題があった。
【０００７】
また、地図データがハードディスクなどの記憶容量の大きな補助記憶装置に格納されている為、地図データの読み出し等に時間が掛かり、データ管理サーバ１００の処理時間が長くなるという問題があった。
【０００８】
さらに、地図データの更新は、地図ＤＢ１０１に格納されている地図データを更新する必要がある。つまり、地図データの更新には、ＧＩＳシステムを停止する必要があった。しかしながら、ＧＩＳシステムをインターネット上で利用する場合、サービスを停止することは極力避ける必要があるという問題があった。
【０００９】
本発明は、上記の点に鑑みなされたもので、安定性を保ちつつ性能を向上させることができ、データを容易に更新することが可能なデータ管理方法，データ管理サーバ，データ管理プログラム及び記録媒体を提供することを目的とする。
【００１０】
【課題を解決するための手段】
そこで、上記課題を解決するため、本発明は、コンピュータによって実行されるデータ管理方法であって、データが格納されている前記コンピュータが備える第１データ記憶手段から前記データの少なくとも一部を読みだし、読み出したデータを前記コンピュータが備える第２データ記憶手段上に起動された１つ以上のメモリ展開タスクに割り当てて格納するデータ格納段階と、前記１つ以上のメモリ展開タスクに割り当てて格納したデータの割当情報を作成して割当情報記憶手段に格納する割当情報作成段階と、クライアントから要求されたデータが前記メモリ展開タスクに割り当てられていれば前記クライアントから供給されたデータを、前記割当情報に基づき前記１つ以上のメモリ展開タスクから取得して前記クライアントに供給し、前記メモリ展開タスクに割り当てられていなければ前記クライアントから要求されたデータを割り当てた新たな前記メモリ展開タスクを起動させたあと、該起動させた前記メモリ展開タスクから前記クライアントから供給されたデータを取得して前記クライアントに供給するデータ取得供給段階と、前記１つ以上のメモリ展開タスクへのアクセス頻度を判定し、アクセス頻度の高い前記メモリ展開タスクがあり、且つ、前記第２データ記憶手段の記憶容量に空きがある場合に前記アクセス頻度の高い前記メモリ展開タスクに割り当てられている前記データを割り当てた新たな前記メモリ展開タスクを起動させ、同一の前記データを保持した前記メモリ展開タスクが複数あり、且つ、同一の前記データを保持した前記メモリ展開タスクへのアクセス頻度が低い場合に同一の前記データを保持した前記メモリ展開タスクの一部を削除するメモリ展開タスク監視段階とを有することを特徴とする。
【００１１】
また、本発明は、第１データ記憶手段及び第２データ記憶手段を備え、クライアントから要求されたデータを前記クライアントに供給するデータ管理サーバであって、前記データが格納されている第１データ記憶手段から読み出された前記データの少なくとも一部を格納する前記第２データ記憶手段上に起動される１つ以上のメモリ展開タスクと、前記１つ以上のメモリ展開タスクに割り当てて格納したデータの割当情報を記録する割当情報記録手段と、クライアントから要求されたデータが前記メモリ展開タスクに割り当てられていれば前記クライアントから供給されたデータを、前記割当情報に基づき前記１つ以上のメモリ展開タスクから取得して前記クライアントに供給し、前記メモリ展開タスクに割り当てられていなければ前記クライアントから要求されたデータを割り当てた新たな前記メモリ展開タスクを起動させたあと、該起動させた前記メモリ展開タスクから前記クライアントから供給されたデータを取得して前記クライアントに供給するデータ取得供給手段と、前記１つ以上のメモリ展開タスクへのアクセス頻度を判定し、アクセス頻度の高い前記メモリ展開タスクがあり、且つ、前記第２データ記憶手段の記憶容量に空きがある場合に前記アクセス頻度の高い前記メモリ展開タスクに割り当てられている前記データを割り当てた新たな前記メモリ展開タスクを起動させ、同一の前記データを保持した前記メモリ展開タスクが複数あり、且つ、同一の前記データを保持した前記メモリ展開タスクへのアクセス頻度が低い場合に同一の前記データを保持した前記メモリ展開タスクの一部を削除するメモリ展開タスク監視手段とを有することを特徴とする。
【００１２】
また、本発明は、１つ以上のクライアントと、前記クライアントにネットワークを介して接続されるデータ管理サーバとを用いて、前記クライアントから要求されたデータを前記データ管理サーバからクライアントに供給するデータ管理システムが実行するデータ管理方法であって、前記データ管理サーバが、前記データが格納されている前記データ管理サーバが備える第１データ記憶手段から前記データの少なくとも一部を読みだし、読み出したデータを前記データ管理サーバが備える第２データ記憶手段上に起動された１つ以上のメモリ展開タスクに割り当てて格納するデータ格納段階と、前記１つ以上のメモリ展開タスクに割り当てて格納したデータの割当情報を作成して割当情報記憶手段に格納する割当情報作成段階と、クライアントから要求されたデータが前記メモリ展開タスクに割り当てられていれば前記クライアントから供給されたデータを、前記割当情報に基づき前記１つ以上のメモリ展開タスクから取得して前記クライアントに供給し、前記メモリ展開タスクに割り当てられていなければ前記クライアントから要求されたデータを割り当てた新たな前記メモリ展開タスクを起動させたあと、該起動させた前記メモリ展開タスクから前記クライアントから供給されたデータを取得して前記クライアントに供給するデータ取得供給段階と、前記１つ以上のメモリ展開タスクへのアクセス頻度を判定し、アクセス頻度の高い前記メモリ展開タスクがあり、且つ、前記第２データ記憶手段の記憶容量に空きがある場合に前記アクセス頻度の高い前記メモリ展開タスクに割り当てられている前記データを割り当てた新たな前記メモリ展開タスクを起動させ、同一の前記データを保持した前記メモリ展開タスクが複数あり、且つ、同一の前記データを保持した前記メモリ展開タスクへのアクセス頻度が低い場合に同一の前記データを保持した前記メモリ展開タスクの一部を削除するメモリ展開タスク監視段階とを有することを特徴とする。
【００１３】
また、本発明は、コンピュータに、データが格納されている前記コンピュータが備える第１データ記憶手段から前記データの少なくとも一部を読みだし、読み出したデータを前記コンピュータが備える第２データ記憶手段上に起動された１つ以上のメモリ展開タスクに割り当てて格納するデータ格納手順と、前記１つ以上のメモリ展開タスクに割り当てて格納したデータの割当情報を作成して割当情報記憶手段に格納する割当情報作成手順と、クライアントから要求されたデータが前記メモリ展開タスクに割り当てられていれば前記クライアントから供給されたデータを、前記割当情報に基づき前記１つ以上のメモリ展開タスクから取得して前記クライアントに供給し、前記メモリ展開タスクに割り当てられていなければ前記クライアントから要求されたデータを割り当てた新たな前記メモリ展開タスクを起動させたあと、該起動させた前記メモリ展開タスクから前記クライアントから供給されたデータを取得して前記クライアントに供給するデータ取得供給手順と、前記１つ以上のメモリ展開タスクへのアクセス頻度を判定し、アクセス頻度の高い前記メモリ展開タスクがあり、且つ、前記第２データ記憶手段の記憶容量に空きがある場合に前記アクセス頻度の高い前記メモリ展開タスクに割り当てられている前記データを割り当てた新たな前記メモリ展開タスクを起動させ、同一の前記データを保持した前記メモリ展開タスクが複数あり、且つ、同一の前記データを保持した前記メモリ展開タスクへのアクセス頻度が低い場合に同一の前記データを保持した前記メモリ展開タスクの一部を削除するメモリ展開タスク監視手順とを実行させるためのデータ管理プログラムであることを特徴とする。
【００１４】
また、本発明は、コンピュータに、データが格納されている前記コンピュータが備える第１データ記憶手段から前記データの少なくとも一部を読みだし、読み出したデータを前記コンピュータが備える第２データ記憶手段上に起動された１つ以上のメモリ展開タスクに割り当てて格納するデータ格納手順と、前記１つ以上のメモリ展開タスクに割り当てて格納したデータの割当情報を作成して割当情報記憶手段に格納する割当情報作成手順と、クライアントから要求されたデータが前記メモリ展開タスクに割り当てられていれば前記クライアントから供給されたデータを、前記割当情報に基づき前記１つ以上のメモリ展開タスクから取得して前記クライアントに供給し、前記メモリ展開タスクに割り当てられていなければ前記クライアントから要求されたデータを割り当てた新たな前記メモリ展開タスクを起動させたあと、該起動させた前記メモリ展開タスクから前記クライアントから供給されたデータを取得して前記クライアントに供給するデータ取得供給手順と、前記１つ以上のメモリ展開タスクへのアクセス頻度を判定し、アクセス頻度の高い前記メモリ展開タスクがあり、且つ、前記第２データ記憶手段の記憶容量に空きがある場合に前記アクセス頻度の高い前記メモリ展開タスクに割り当てられている前記データを割り当てた新たな前記メモリ展開タスクを起動させ、同一の前記データを保持した前記メモリ展開タスクが複数あり、且つ、同一の前記データを保持した前記メモリ展開タスクへのアクセス頻度が低い場合に同一の前記データを保持した前記メモリ展開タスクの一部を削除するメモリ展開タスク監視手順とを実行させるためのデータ管理プログラムを記録したコンピュータ読み取り可能な記録媒体であることを特徴とする。
【００１８】
なお、前述のデータ管理プログラムを記録した記録媒体は、ＣＤ−ＲＯＭ、フレキシブルディスク、光磁気ディスク（ＭＯ）等の様に情報を光学的，電気的或いは磁気的に記録する記録媒体、ＲＯＭ、フラッシュメモリ等の様に情報を電気的に記録する半導体メモリ等、様々なタイプの記録媒体を用いることができる。
【００１９】
【発明の実施の形態】
次に、本発明の実施の形態について図面に基づいて説明する。なお、本実施例では、データ管理サーバが管理するデータの一例として地図データを取り扱う例について説明するが、如何なるデータでもよい。
【００２０】
図２は、本発明によるデータ管理システムの一実施例の構成図を示す。例えばＧＩＳシステム等のデータ管理システム１は、データ管理サーバ１０，管理用クライアント１１，クライアント１２ａ〜１２ｎが、例えばインターネット等のネットワーク１３を介して接続される。
【００２１】
管理用クライアント１１は、例えばデータ管理システム１のオペレータが使用する端末であって、データ管理サーバ１０に対する各種管理を行う。クライアント１２ａ〜１２ｎは、ユーザが使用する端末であって、データ管理サーバ１００に地図データを要求し、要求した地図データを受信して画面上に表示する。
【００２２】
データ管理サーバ１０は、クライアント１２ａ〜１２ｎに提供する可能性のある全ての地図データを管理しており、クライアント１２ａ〜１２ｎからの要求に応じた地図データをクライアント１２ａ〜１２ｎに送信する。データ管理サーバ１０は、地図データを縮尺毎に異なる所定の地域（面積）で表した図郭と、行政界，交通施設，建物などの表示要素（レイヤ）とに基づき管理している。１つの図郭が表す地域は、例えば１／５００の縮尺で０．１２ｋｍ２となり、１／２５００の縮尺で３．０ｋｍ２となる。
【００２３】
また、クライアント１２ａ〜１２ｎが一画面上に表示する地図データは、１つ以上の図郭及びレイヤの一部分又は全部により構成される。例えば１つの市を表示するための地図データは、１／５００の縮尺の場合、数百〜数千枚の図郭及びレイヤの一部又は全部により構成される。
【００２４】
なお、本実施例では、クライアント１２ａ〜１２ｎのアプリケーションソフトが地図データを要求し、要求した地図データを受信して画面上に表示する例について説明しているが、データ管理サーバ１０のアプリケーションソフトであっても同様に適用できる。
【００２５】
図３は、本発明のデータ管理サーバを実現するコンピュータシステムの一実施例の構成図を示す。図３のコンピュ−タシステムは、それぞれバスＢで相互に接続されている入力装置２１と，表示装置２２と，ドライブ装置２３と，記録媒体２４と，補助記憶装置２５と，メモリ装置２６と，演算処理装置２７と，インターフェース装置２８と，データベース（以下、ＤＢという）２９とを含むように構成される。
【００２６】
入力装置２１は、コンピュータシステムの利用者が操作するキーボード及びマウスなどで構成され、コンピュータシステムに各種操作信号を入力するために用いられる。表示装置２２は、コンピュータシステムを操作するのに必要な各種ウインドウやデータ等を表示する。インターフェース装置２８は、コンピュータシステムをネットワーク１３に接続する為のインターフェースであり、例えばモデム等で構成される。ＤＢ２９は、地図データを管理する為に必要な情報，例えば地図ＤＢ，ログＤＢ等を格納している。なお、地図ＤＢ，ログＤＢの詳細については後述する。
【００２７】
データ管理プログラムは、ＣＤ−ＲＯＭ等の記録媒体２４によって提供されている。データ管理プログラムを記録した記録媒体２４は、ドライブ装置２３にセットされ、データ管理プログラムが記録媒体２４からドライブ装置２３を介して補助記憶装置２５にインストールされる。
【００２８】
補助記憶装置２５は、インストールされたデータ管理プログラムを格納すると共に、必要なファイル，データ等を格納する。メモリ装置２６は、コンピュータシステムの起動時に補助記憶装置２５からデータ管理プログラムを読み出して格納する。演算処理装置２７は、メモリ装置２６に読み出され格納されたデータ管理プログラムに従って、データ管理サーバ１０に係る処理を実行する。
【００２９】
データ管理サーバ１０は、メモリ装置２６に読み出され格納されたデータ管理プログラムに従って処理を実行することにより、図４のような機能を有するように構成される。
【００３０】
図４は、データ管理サーバの一実施例の構成図を示す。図４のデータ管理サーバ１０は、アプリケーションタスク（以下、アプリタスクという）３０ａ〜３０ｎ，スタータ３１，割当テーブル３２，アクセスコンポーネントコントローラ３３，アクセスコンポーネント３４ａ〜３４ｎ，ログコレクタ３５，パトローラ３６，メモリ展開タスク３７ａ〜３７ｍ，ログＤＢ３８，地図ＤＢ３９を含むように構成される。
【００３１】
なお、データ管理サーバ１０は、アプリタスク３０ａ〜３０ｎを備えるサーバと、スタータ３１，割当テーブル３２，アクセスコンポーネントコントローラ３３，アクセスコンポーネント３４ａ〜３４ｎ，ログコレクタ３５，パトローラ３６，メモリ展開タスク３７ａ〜３７ｍ，ログＤＢ３８，地図ＤＢ３９を備えるサーバとで構成してもよい。
【００３２】
アプリタスク３０ａ〜３０ｎは、クライアント１２ａ〜１２ｎに一対一に対応して起動し、クライアント１２ａ〜１２ｎから要求のあった地図データをアクセスコンポーネントコントローラ３３に要求する。また、アプリタスク３０ａ〜３０ｎは、アクセスコンポーネントコントローラ３３に要求した地図データをアクセスコンポーネントコントローラ３３から受信し、受信した地図データをクライアント１２ａ〜１２ｎに表示させる。
【００３３】
スタータ３１は、地図ＤＢ３９から必要な地図データを読み出させ、メモリ装置２６上にメモリ展開タスク３７ａ〜３７ｍを起動させる。メモリ展開タスク３７ａ〜３７ｍの起動は、デフォルトパラメータ（割当テーブル３２の初期値、或いはその簡略値）に応じてデータ管理サーバ１０の起動時に行う場合と、必要に応じて保存しておきたい状態の割当テーブル（或いはその簡略値）を保存しておき、その保存した割当テーブルに応じて元のメモリ展開状況を再現する場合とがある。例えばメモリ展開タスク３７ａ〜３７ｍの起動を必要に応じて行う場合としては、アクセスコンポーネント３４ａ〜３４ｎ，パトローラ３６からの要求に応じて行う場合がある。
【００３４】
スタータ３１は、起動させたメモリ展開タスク３７ａ〜３７ｍの内容および状態を表した割当テーブル３２を作成する。なお、メモリ展開タスク３７ａ〜３７ｍは、同一の地図データを１つ以上のメモリ展開タスク３７ａ〜３７ｍで起動することもできる。例えば、クライアント１２ａ〜１２ｎから要求される割合の高い地図データを１つ以上のメモリ展開タスク３７ａ〜３７ｍに起動させておくことにより、負荷分散を行うことができる。
【００３５】
アクセスコンポーネントコントローラ３３は、アプリタスク３０ａ〜３０ｎから要求を受信し、受信した要求をアクセスコンポーネント３４ａ〜３４ｎに振り分ける。なお、アクセスコンポーネントコントローラ３３は、アプリタスク３０ａ〜３０ｎとアクセスコンポーネント３４ａ〜３４ｎとを対応付けている。アクセスコンポーネント３４ａ〜３４ｎは、アプリタスク３０ａ〜３０ｎから要求のあった地図データをメモリ展開タスク３７ａ〜３７ｍから受信し、受信した地図データをアプリタスク３０ａ〜３０ｎに振り分ける。
【００３６】
また、アクセスコンポーネントコントローラ３３は、アクセス負荷量に応じてアクセスコンポーネント３４ａ〜３４ｎの生成および削除を行う。アクセスコンポーネントコントローラ３３は、単位時間当たりのアクセス量に応じてアクセス負荷量を判定し、アクセスコンポーネント３４ａ〜３４ｎの数がアクセス負荷量に応じた適正な数となるように調整する。
【００３７】
アクセスコンポーネント３４ａ〜３４ｎは、アプリタスク３０ａ〜３０ｎからのアクセスを実際に処理するものである。アクセスコンポーネント３４ａ〜３４ｎは、アプリタスク３０ａ〜３０ｎからのアクセスがあった時点で、要求された地図データが展開されているメモリ展開タスク３７ａ〜３７ｍを判定し、判定したメモリ展開タスク３７ａ〜３７ｍに地図データを要求する。
【００３８】
なお、複数のアクセスコンポーネント３４ａ〜３４ｎから同一のメモリ展開タスク３７ａ〜３７ｍに対してアクセスがあった場合、アクセスコンポーネント３４ａ〜３４ｎは同一の地図データを展開するメモリ展開タスク３７ａ〜３７ｍの有無を確認する。
【００３９】
同一の地図データを展開するメモリ展開タスク３７ａ〜３７ｍがあれば、アクセスコンポーネント３４ａ〜３４ｎは、そのメモリ展開タスク３７ａ〜３７ｍにアクセスする。なお、同一の地図データを展開するメモリ展開タスク３７ａ〜３７ｍがなく、メモリ展開タスク３７ａ〜３７ｍが空いていなければ、アクセスコンポーネント３４ａ〜３４ｎは、アクセス中のメモリ展開タスク３７ａ〜３７ｍが空くまで待機する。
【００４０】
アクセスコンポーネント３４ａ〜３４ｎは、要求された地図データが展開されているメモリ展開タスク３７ａ〜３７ｍが無いと判定すると、スタータ３１に新たなメモリ展開タスク３７ａ〜３７ｍの起動を要求する。そして、新たなメモリ展開タスク３７ａ〜３７ｍの起動した後に、アクセスコンポーネント３４ａ〜３４ｎは新たなメモリ展開タスク３７ａ〜３７ｍにアクセスする。
【００４１】
また、アクセスコンポーネント３４ａ〜３４ｎは、アクセスコンポーネント３４ａ〜３４ｎとメモリ展開タスク３７ａ〜３７ｍとのアクセス内容をログＤＢ３８に書き込む。
【００４２】
メモリ展開タスク３７ａ〜３７ｍは、スタータ３１からの指示により地図ＤＢ３９から必要な地図データを読み出し、読み出した地図データをメモリ装置２６上に展開する。なお、要求された地図データが図郭の範囲より小さい場合、メモリ展開タスク３７ａ〜３７ｍはクリッピング処理を行いながら地図データをアクセスコンポーネント３４ａ〜３４ｎに供給する。
【００４３】
ログコレクタ３５は、メモリ展開タスク３７ａ〜３７ｍからログを受信し、受信したログをログＤＢ３８に格納する。ログＤＢ３８に格納されたログを解析することにより、デフォルトパラメータの最適化やメモリ展開タスク３７ａ〜３７ｍを起動させる数の適正化が可能となる。
【００４４】
パトローラ３６は、メモリ展開タスク３７ａ〜３７ｍの稼動状態や地図データの保持状態を監視する。また、パトローラ３６は、例えばログＤＢ３８を参照してメモリ展開タスク３７ａ〜３７ｍへのアクセス頻度を判定する。アクセス頻度が高いメモリ展開タスク３７ａ〜３７ｍがあり、メモリ装置２６のメモリ容量に空きがある場合に、パトローラ３６は新たなメモリ展開タスク３７ａ〜３７ｍを起動させる。
【００４５】
また、同一の地図データを保持したメモリ展開タスク３７ａ〜３７ｍが複数あって、同一の地図データを保持したメモリ展開タスク３７ａ〜３７ｍへのアクセス頻度が低い場合に、パトローラ３６は重複する地図データを保持したメモリ展開タスク３７ａ〜３７ｍの一部を削除する。なお、パトローラ３６は、メモリ展開タスク３７ａ〜３７ｍからの要求に応じてメモリ展開タスク３７ａ〜３７ｍを停止させることができる。
【００４６】
なお、データ管理サーバ１０は、ネットワーク１３を介して接続される管理用クライアント１１により各種管理がなされる。管理用クライアント１１は、システム管理ソフトウェア，地図データ修正ソフトウェアなどが実行される。システム管理ソフトウェアは、メモリ展開タスク３７ａ〜３７ｍへの地図データの割り当て状況や、メモリ展開タスク３７ａ〜３７ｍへのアクセス頻度の状況などを情報として取得し、取得した情報を管理用クライアント１１に表示する。
【００４７】
管理用クライアント１１を操作するオペレータは、システム管理ソフトウェアを利用することで、表示された情報に基づきスタータ３１やアクセスコンポーネントコントローラ３３にメモリ展開タスク３７ａ〜３７ｍの起動および消去を要求できる。また、システム管理ソフトウェアは、スタータ３１，アクセスコンポーネントコントローラ３３，ログコレクタ３５，パトローラ３６を起動，停止および再起動させることができる。地図データ修正ソフトウェアは、地図ＤＢ３９の修正を行うものである。
【００４８】
データ管理サーバ１０では、事前に地図ＤＢ３９から地図データを読み出し、読み出した地図データによりメモリ展開タスク３７ａ〜３７ｍを起動しておく一方、管理用クライアント１１の地図データ修正ソフトウェアを使い、地図ＤＢ３９に直接或いはアクセスコンポーネントコントローラ３３，メモリ展開タスク３７ａ〜３７ｍ等を経由せずに接続する。そして、管理用クライアント１１のメモリ上で修正したい地図データ部分を修正後、修正した地図データを地図ＤＢ３９に書き出すことにより、データ管理サーバ１０の処理を停止することなく地図ＤＢ３９の修正を行うことが可能である。
【００４９】
なお、図４では、地図ＤＢ３９が１つのサーバに設けられている例を表しているが、地図ＤＢ３９が複数のサーバに分散されて設けられていてもよい。この場合、地図ＤＢ３９を維持管理する複数の分散地図ＤＢサーバは、メモリ展開タスク３７ａ〜３７ｍと，地図ＤＢ３９とを有するように構成される。
【００５０】
データ管理サーバ１０の割当テーブル３２は、分散地図ＤＢサーバのマシン名およびインデックスが格納される。スタータ３１は、分散地図ＤＢサーバのメモリ展開タスク３７ａ〜３７ｍを起動する。なお、データ管理サーバ１０と分散地図ＤＢサーバとは、互いに通信する為の通信手段を有している。
【００５１】
図５は、割当テーブルおよびログの一例のイメージ図を示す。割当テーブルは各地図，図郭およびレイヤ単位に例えば▲１▼〜▲６▼の値と、対応するメモリ展開タスク３７ａ〜３７ｍの番号を持つ。▲１▼〜▲６▼の値は、例えば以下のような状態を管理するものである。
【００５２】
▲１▼の値は、地図データそのものが元来存在しないことを表す。▲２▼の値は、地図データがあるがメモリ展開タスク３７ａ〜３７ｍに割り当てられていないことを表す。▲３▼の値は、地図データがメモリ展開タスク３７ａ〜３７ｍに割り当てられていることを表す。▲４▼の値は、地図データがメモリ展開タスク３７ａ〜３７ｍに割り当てられているが、まだアクセスされていないことを表す。▲５▼の値は、地図データがメモリ展開タスク３７ａ〜３７ｍに割り当てられており、且つｎ回アクセスされたことを表す。また、▲６▼の値は、地図データがアクセス中であることを表す。
【００５３】
また、ログは各地図，図郭およびレイヤ単位に例えば▲１▼〜▲５▼の値を持つ。▲１▼〜▲５▼の値は、例えば以下のような状態を管理するものである。▲１▼の値は、アクセスしようとしたが他のアクセスコンポーネント３４ａ〜３４ｎがアクセス中であったことを表す。▲２▼の値は、最終アクセスが例えば「ＸＸＸＸ年ＸＸ月ＸＸ日ＸＸ時ＸＸ分ＸＸ．Ｘ秒」であったことを表す。▲３▼の値は、アクセスされたが元来地図データが無かったことを表す。▲４▼の値は、アクセスされたときにメモリ展開タスク３７ａ〜３７ｍに地図データが割り当てられていなかったので新たなメモリ展開タスク３７ａ〜３７ｍを起動したことを表す。▲５▼の値は、アクセスが無かったのでメモリ展開タスク３７ａ〜３７ｍの割り当てを削除したことを表す。
【００５４】
また、割当テーブル３２は、対応するメモリ展開タスクの番号を図６のような情報項目により表している。図６は、割当テーブルが持つ情報項目の詳細について説明する一例の図を示す。
【００５５】
割当テーブルが持つ情報項目は、対応タスク番号，拡張タスクキー，拡張タスク数，状態フラグを含む。対応タスク番号は、対応するメモリ展開タスクの番号を表す。拡張タスクキーは、同一データに複数のタスクが割り当てられた場合の番号を表す。拡張タスク数は、同一の対応タスク番号と対応付けられた拡張タスクキーの数４２を表す。状態フラグは、図５を用いて前述したような状態を表す。なお、拡張タスクキーは、拡張タスク割当テーブル４１により対応タスク番号と対応付けられている。
【００５６】
さらに、メモリ展開タスク３７ａ〜３７ｍの展開時には、図７のようなレイヤグループ定義と図郭グループ定義とを参照しつつ展開を行う。図７は、レイヤグループ定義および図郭グループ定義について説明する一例の図を示す。
【００５７】
レイヤグループ定義は、同一のレイヤグループに含まれるレイヤを表すものである。また、図郭グループ定義は、同一の図郭グループに含まれる図郭を表すものである。
【００５８】
以下、前述したデータ管理サーバ１０の処理についてフローチャートを参照しつつ説明していく。図８は、アプリタスクとアクセスコンポーネントとの処理の一例のフローチャートを示す。
【００５９】
ステップＳ１では、例えばアプリタスク３０ａからの地図区分参照要求がアクセスコンポーネントコントローラ３３に供給される。アクセスコンポーネントコントローラ３３は、使用されていない例えばアクセスコンポーネント３４ａにアプリタスク３０ａからの地図区分参照要求を供給する。
【００６０】
ステップＳ１に続いてステップＳ２に進み、アクセスコンポーネント３４ａは使用可能な地図区分一覧表をアプリタスク３０ａに供給することでアプリタスク３０ａとの接続を確立する。
【００６１】
ステップＳ２に続いてステップＳ３に進み、アプリタスク３０ａは地図情報参照要求をアクセスコンポーネント３４ａに供給する。ステップＳ３に続いてステップＳ４に進み、アクセスコンポーネント３４ａは使用可能な地図領域，保持レイヤなどの地図情報をアプリタスク３０ａに供給する。
【００６２】
ステップＳ４に続いてステップＳ５に進み、アプリタスク３０ａは地図データの要求をアクセスコンポーネント３４ａに供給する。ステップＳ５に続いてステップＳ６に進み、アクセスコンポーネント３４ａは供給された地図データの要求を解析すると共に、割当テーブル３２を参照することにより、その地図データが展開されている例えばメモリ展開タスク３７ａを選択する。アクセスコンポーネント３４ａは、選択したメモリ展開タスク３７ａから地図データを取得し、取得した地図データをアプリタスク３０ａに供給する。
【００６３】
図９は、スタータの処理の一例のフローチャートを示す。図９中、ステップＳ１１では、デフォルトパラメータを読み込む。デフォルトパラメータは、地図区分，図郭，レイヤなどが含まれる。
【００６４】
ステップＳ１１に続いてステップＳ１２に進み、スタータ３１はデフォルトパラメータに応じてメモリ展開タスク３７ａ〜３７ｍをメモリ装置２６上に起動すると共に、割当テーブル３２を生成する。ステップＳ１２に続いてステップＳ１３に進み、スタータ３１はアクセスコンポーネント３４，パトローラ３６などからメモリ展開タスク３７ａ〜３７ｍの起動要求があるまで待機状態となる。
【００６５】
アクセスコンポーネント３４，パトローラ３６などからメモリ展開タスク３７ａ〜３７ｍの起動要求があると、パトローラ３６は例えばメモリ展開タスク３７ｍ＋１をメモリ装置２６上に起動すると共に、割当テーブル３２を更新する。なお、データ管理サーバ１０の終了時などにスタータ３１は処理を終了する。
【００６６】
図１０は、メモリ展開タスクの処理の一例のフローチャートを示す。図１０のフローチャートはスタータ３１からの指示により起動し、ステップＳ２１の処理を開始する。ステップＳ２１では、メモリ展開タスクがデフォルトパラメータを読み込む。ステップＳ２１に続いてステップＳ２２に進み、メモリ展開タスクは読み込んだデフォルトパラメータに応じた地図データを地図ＤＢ３９から読み込み、メモリ装置２６上に起動する。そして、デフォルトパラメータに応じた地図データの読み込みが終了すると、スタータ３１にその旨を通知する。
【００６７】
ステップＳ２２に続いてステップＳ２３に進み、メモリ展開タスクはアプリタスクからの地図データ要求，言い換えればアクセスコンポーネント３４からの地図データ要求があるまで待機状態となる。また、メモリ展開タスクはシステム管理ソフトウェアからの終了指示があるまでの待機状態となる。
【００６８】
アクセスコンポーネント３４からの地図データ要求があると、ステップＳ２３に続いてステップＳ２４に進み、その地図データ要求に対応する地図データをアクセスコンポーネント３４に供給する。なお、地図データ要求が図郭の範囲より小さい場合、メモリ展開タスクはクリッピング処理を行いながら地図データをアクセスコンポーネント３４に送信する。
【００６９】
また、システム管理ソフトウェアからの終了指示があると、メモリ展開タスクは処理を終了する。なお、アクセスコンポーネント３４に送信した地図データについての情報は、パトローラ３６に通知される。
【００７０】
図１１は、パトローラの処理の一例のフローチャートを示す。図１１中、ステップＳ３１では、パトローラがデフォルトパラメータを読み込み、読み込んだデフォルトパラメータから監視時間間隔を取得する。
【００７１】
ステップＳ３１に続いてステップＳ３２に進み、パトローラは取得した監視時間間隔の間、待機状態となる。また、パトローラは待機状態の間、メモリ展開タスク３７ａ〜３７ｍからの要求やシステム管理ソフトウェアからの終了指示に対する待機状態となる。
【００７２】
監視時間間隔が経過すると、パトローラはステップＳ３２に続いてステップＳ３３に進む。パトローラは、メモリ展開タスク３７ａ〜３７ｍのアクセス頻度を割当テーブル３２やログ３８に応じて判定する一方、メモリ装置２６上の空き容量を判定する。例えばアクセス頻度の高いメモリ展開タスク３７ａ〜３７ｍがあり、メモリ装置２６のメモリ容量に空きがある場合に、パトローラ３６は新たなメモリ展開タスク３７ｍ＋１〜３７ｍ＋２を起動させる。
【００７３】
なお、メモリ展開タスク３７ａ〜３７ｍからの停止要求が供給されると、パトローラはステップＳ３２に続いてステップＳ３４に進む。パトローラは、停止要求に応じたメモリ展開タスク３７ａ〜３７ｍの何れかを停止させる。また、システム管理ソフトウェアからの終了指示があると、パトローラは処理を終了する。
【００７４】
図１２は、ログコレクタの処理の一例のフローチャートを示す。ステップＳ４１では、ログコレクタがスタータ３１，アクセスコンポーネント３４，メモリ展開タスク３７およびパトローラ３６からメッセージが供給されるまで待機状態となる。また、ログコレクタはシステム管理ソフトウェアからの終了指示に対する待機状態となる。
【００７５】
スタータ３１，アクセスコンポーネント３４，メモリ展開タスク３７およびパトローラ３６からメッセージが供給されると、ログコレクタはステップＳ４２に進み、供給されたメッセージからログを解析し、解析したログをログＤＢ３８に格納する。また、システム管理ソフトウェアからの終了指示があると、ログコレクタは処理を終了する。
【００７６】
以上、本発明によるデータ管理システム１では、地図ＤＢ３９へのアクセスを最小限に抑えることにより、読み出し速度などの性能を向上させることが可能である。また、管理用クライアントの地図データ修正ソフトウェアを使用して地図ＤＢを直接修正することにより、サービス運用中の地図データの更新が可能となる。さらに、パトローラ３６がメモリ展開タスク３７ａ〜３７ｍの状態を監視することにより、局所的なビジー状態の緩和，不要なメモリ展開タスク３７ａ〜３７ｍの削除，地図データの欠落の防止などが可能となり、データ管理システム１の安定性を保ちつつ性能を向上させることができる。
【００７７】
【発明の効果】
上述の如く、本発明によれば、安定性を保ちつつ性能を向上させることができ、データを容易に更新することが可能なデータ管理方法，データ管理サーバ，データ管理プログラム及び記録媒体が実現できる。
【００８１】
【図面の簡単な説明】
【図１】ＧＩＳシステムの一例の構成図である。
【図２】本発明によるデータ管理システムの一実施例の構成図である。
【図３】本発明のデータ管理サーバを実現するコンピュータシステムの一実施例の構成図である。
【図４】データ管理サーバの一実施例の構成図である。
【図５】割当テーブルおよびログの一例のイメージ図である。
【図６】割当テーブルが持つ情報項目の詳細について説明する一例の図である。
【図７】レイヤグループ定義および図郭グループ定義について説明する一例の図である。
【図８】アプリタスクとアクセスコンポーネントとの処理の一例のフローチャートである。
【図９】スタータの処理の一例のフローチャートである。
【図１０】メモリ展開タスクの処理の一例のフローチャートである。
【図１１】パトローラの処理の一例のフローチャートである。
【図１２】ログコレクタの処理の一例のフローチャートである。
【符号の説明】
１    データ管理システム
１０    データ管理サーバ
１１    管理用クライアント
１２ａ〜１２ｎ    クライアント
１３    ネットワーク
２１    入力装置
２２    表示装置
２３    ドライブ装置
２４    記録媒体
２５    補助記憶装置
２６    メモリ装置
２７    演算処理装置
２８    インターフェース装置
２９    データベース（ＤＢ）
３０ａ〜３０ｎ    アプリケーションタスク
３１    スタータ
３２    割当テーブル
３３    アクセスコンポーネントコントローラ
３４ａ〜３４ｎ    アクセスコンポーネント
３５    ログコレクタ
３６    パトローラ
３７ａ〜３７ｍ    メモリ展開タスク
３８    ログＤＢ
３９    地図ＤＢ
Ｂ    バス
【図１】
0004694744.tif 000002
【図２】
0004694744.tif 000003
【図３】
0004694744.tif 000004
【図４】
0004694744.tif 000005
【図５】
0004694744.tif 000006
【図６】
0004694744.tif 000007
【図７】
0004694744.tif 000008
【図８】
0004694744.tif 000009
【図９】
0004694744.tif 000010
【図１０】
0004694744.tif 000011
【図１１】
0004694744.tif 000012
【図１２】
0004694744.tif 000013