(57)【特許請求の範囲】
【請求項１】
データを有するデータ管理サーバと、前記データ管理サーバとネットワークを介して相互に接続されている携帯端末とを備え、前記データ管理サーバから取得したデータを前記携帯端末のキャッシュに格納するキャッシュシステムであって、
前記携帯端末が、
当該携帯端末で使用するデータの項目のフィールド毎の優先度を管理する端末側フィールド優先度情報テーブルと、
当該携帯端末で使用するデータを項目単位で優先度別にキャッシュ格納状態を管理するキャッシュ格納状態情報テーブルと、
当該携帯端末で使用するデータを項目単位で優先度別に該当するフィールドのみ格納するフィールドキャッシュと、
アクセスを要求されたデータの前記端末側フィールド優先度情報テーブルを参照して最も高い優先度から段階的に項目のフィールドの取得を前記データ管理サーバに要求する第１のキャッシュ制御手段と、
前記データ管理サーバから受信した応答から項目のフィールドを取得して優先度に対応する前記フィールドキャッシュに格納する第２のキャッシュ制御手段と、
前記第２のキャッシュ制御手段が最も高い優先度の項目のフィールドを対応する前記フィールドキャッシュに格納した時点でデータの項目のフィールド単位でのアクセスを可能とするフィールドデータ取得手段と、を備え、
前記データ管理サーバが、
前記携帯端末で使用するデータの項目のフィールド毎の優先度を管理するサーバ側フィールド優先度情報テーブルと、
前記携帯端末で使用するデータを項目単位で全フィールド格納するデータテーブルと、
前記サーバ側フィールド優先度情報テーブルを参照し前記携帯端末から指定された優先度に属するフィールドの一覧を取得するフィールド優先度情報取得手段と、
前記データテーブルから優先度に属するフィールドの一覧に含まれるフィールドのみ取得して前記携帯端末に送信するデータ参照手段と、
を備えることを特徴とするキャッシュシステム。
【請求項２】
請求項１に記載のキャッシュシステムであって、項目のフィールドの名前を指定してフィールドの値を要求された場合、前記フィールドデータ取得手段は指定されたフィールドの名前を前記第１のキャッシュ制御手段に渡し、前記第１のキャッシュ制御手段は前記端末側フィールド優先度情報テーブルを参照して指定された前記フィールドの優先度を取得して前記キャッシュ格納状態情報テーブルの指定された前記フィールドの優先度に対応する格納状態をチェックし、格納状態が格納済であれば前記第１のキャッシュ制御手段は優先度に対応するフィールドキャッシュからフィールドの値を取得して要求元に返し、格納状態が要求中であれば前記第１のキャッシュ制御手段は前記データ管理サーバから応答を受信するまで待機して優先度に対応するフィールドキャッシュに要求された前記フィールドが格納された時点でフィールドの値を取得して要求元に返し、格納状態が未格納であれば前記第１のキャッシュ制御手段は指定された前記フィールドの優先度で前記データ管理サーバにフィールドの取得を要求して応答を受信するまで待機して優先度に対応するフィールドキャッシュに格納された時点でフィールドの値を取得して要求元に返すことを特徴とするキャッシュシステム。
【請求項３】
請求項１又は２に記載のキャッシュシステムであって、
前記フィールドキャッシュが優先度に応じて格納件数の上限が異なり、かつ前記第２のキャッシュ制御手段が最も高い優先度の項目のフィールドを対応する前記フィールドキャッシュに格納した場合、前記第１のキャッシュ制御手段がより低い優先度の前記フィールドキャッシュの未使用レコードを確保してから、より低い優先度のフィールドを前記データ管理サーバに要求し、前記第２のキャッシュ制御手段が前記データ管理サーバから受信した応答から項目のフィールドを取得して優先度に対応する前記フィールドキャッシュに格納し、前記フィールドキャッシュの格納件数が上限に達した時点で該当優先度のフィールドの取得を中止し、更により低い優先度のフィールドの取得に処理を移行することを特徴とするキャッシュシステム。
【請求項４】
請求項１乃至３の何れか１項に記載のキャッシュシステムであって、
前記フィールドデータ取得手段で指定されたフィールドの優先度が最も高い優先度ではない場合、前記第１のキャッシュ制御手段が指定された前記フィールドの属する優先度のフィールドを前記データ管理サーバに要求して、前記第２のキャッシュ制御手段が前記データ管理サーバから受信した応答から項目のフィールドを取得して優先度に対応する前記フィールドキャッシュの格納件数が上限に達しているかチェックを行い、上限に達していれば前記フィールドキャッシュの格納済の項目を削除し、新たに取得したフィールドを前記フィールドキャッシュに格納することを特徴とするキャッシュシステム。
【請求項５】
データを有するデータ管理サーバと、前記データ管理サーバとネットワークを介して相互に接続されている携帯端末とを備え、前記データ管理サーバから取得したデータを前記携帯端末のキャッシュに格納するシステムにおけるキャッシュ方法であって、
前記携帯端末の端末側フィールド優先度情報テーブルにより、当該携帯端末で使用するデータの項目のフィールド毎の優先度を管理するステップと、
前記携帯端末のキャッシュ格納状態情報テーブルにより、当該携帯端末で使用するデータを項目単位で優先度別にキャッシュ格納状態を管理するステップと、
前記携帯端末のフィールドキャッシュに、当該携帯端末で使用するデータを項目単位で優先度別に該当するフィールドのみ格納するステップと、
前記携帯端末の第１のキャッシュ制御手段が、アクセスを要求されたデータの前記端末側フィールド優先度情報テーブルを参照して最も高い優先度から段階的に項目のフィールドの取得を前記データ管理サーバに要求するステップと、
前記データ管理サーバのサーバ側フィールド優先度情報テーブルにより、前記携帯端末で使用するデータの項目のフィールド毎の優先度を管理するステップと、
前記データ管理サーバのデータテーブルに、前記携帯端末で使用するデータを項目単位で全フィールド格納するステップと、
前記データ管理サーバが、前記サーバ側フィールド優先度情報テーブルを参照し前記携帯端末から指定された優先度に属するフィールドの一覧を取得するフィールド優先度情報取得ステップと、
前記データ管理サーバが、前記データテーブルから優先度に属するフィールドの一覧に含まれるフィールドのみ取得して前記携帯端末に送信するデータ参照ステップと、
前記携帯端末の第２のキャッシュ制御手段が、前記データ管理サーバから受信した応答から項目のフィールドを取得して優先度に対応する前記フィールドキャッシュに格納するステップと、
前記携帯端末が、前記第２のキャッシュ制御ステップが最も高い優先度の項目のフィールドを対応する前記フィールドキャッシュに格納した時点でデータの項目のフィールド単位でのアクセスを可能とするフィールドデータ取得ステップと、
を備えることを特徴とするキャッシュ方法。
【請求項６】
請求項５に記載のキャッシュ方法であって、項目のフィールドの名前を指定してフィールドの値を要求された場合、前記フィールドデータ取得ステップは指定されたフィールドの名前を前記第１のキャッシュ制御手段に渡し、前記第１のキャッシュ制御手段は前記端末側フィールド優先度情報テーブルを参照して指定された前記フィールドの優先度を取得して前記キャッシュ格納状態情報テーブルの指定された前記フィールドの優先度に対応する格納状態をチェックし、格納状態が格納済であれば前記第１のキャッシュ制御手段は優先度に対応するフィールドキャッシュからフィールドの値を取得して要求元に返し、格納状態が要求中であれば前記第１のキャッシュ制御手段は前記データ管理サーバから応答を受信するまで待機して優先度に対応するフィールドキャッシュに要求された前記フィールドが格納された時点でフィールドの値を取得して要求元に返し、格納状態が未格納であれば前記第１のキャッシュ制御手段は指定された前記フィールドの優先度で前記データ管理サーバにフィールドの取得を要求して応答を受信するまで待機して優先度に対応するフィールドキャッシュに格納された時点でフィールドの値を取得して要求元に返すことを特徴とするキャッシュ方法。
【請求項７】
請求項５又は６に記載のキャッシュ方法であって、
前記フィールドキャッシュが優先度に応じて格納件数の上限が異なり、かつ前記第２のキャッシュ制御手段が最も高い優先度の項目のフィールドを対応する前記フィールドキャッシュに格納した場合、前記第１のキャッシュ制御手段がより低い優先度の前記フィールドキャッシュの未使用レコードを確保してから、より低い優先度のフィールドを前記データ管理サーバに要求し、前記第２のキャッシュ制御手段が前記データ管理サーバから受信した応答から項目のフィールドを取得して優先度に対応する前記フィールドキャッシュに格納し、前記フィールドキャッシュの格納件数が上限に達した時点で該当優先度のフィールドの取得を中止し、更により低い優先度のフィールドの取得に処理を移行することを特徴とするキャッシュ方法。
【請求項８】
請求項５乃至７の何れか１項に記載のキャッシュ方法であって、
前記フィールドデータ取得ステップで指定されたフィールドの優先度が最も高い優先度ではない場合、前記第１のキャッシュ制御手段が指定された前記フィールドの属する優先度のフィールドを前記データ管理サーバに要求して、前記第２のキャッシュ制御手段が前記データ管理サーバから受信した応答から項目のフィールドを取得して優先度に対応する前記フィールドキャッシュの格納件数が上限に達しているかチェックを行い、上限に達していれば前記フィールドキャッシュの格納済の項目を削除し、新たに取得したフィールドを前記フィールドキャッシュに格納することを特徴とするキャッシュ方法。
【請求項９】
データを有するデータ管理サーバと、前記データ管理サーバとネットワークを介して相互に接続されている携帯端末とを備え、前記データ管理サーバから取得したデータを前記携帯端末のキャッシュに格納するキャッシュシステムにおける前記携帯端末であって、
当該携帯端末で使用するデータの項目のフィールド毎の優先度を管理する端末側フィールド優先度情報テーブルと、
当該携帯端末で使用するデータを項目単位で優先度別にキャッシュ格納状態を管理するキャッシュ格納状態情報テーブルと、
当該携帯端末で使用するデータを項目単位で優先度別に該当するフィールドのみ格納するフィールドキャッシュと、
アクセスを要求されたデータの前記端末側フィールド優先度情報テーブルを参照して最も高い優先度から段階的に項目のフィールドの取得を前記データ管理サーバに要求する第１のキャッシュ制御手段と、
前記データ管理サーバから受信した応答から項目のフィールドを取得して優先度に対応する前記フィールドキャッシュに格納する第２のキャッシュ制御手段と、
前記第２のキャッシュ制御手段が最も高い優先度の項目のフィールドを対応する前記フィールドキャッシュに格納した時点でデータの項目のフィールド単位でのアクセスを可能とするフィールドデータ取得手段と、
を備えることを特徴とする携帯端末。
【請求項１０】
請求項９に記載の携帯端末であって、項目のフィールドの名前を指定してフィールドの値を要求された場合、前記フィールドデータ取得手段は指定されたフィールドの名前を前記第１のキャッシュ制御手段に渡し、前記第１のキャッシュ制御手段は前記端末側フィールド優先度情報テーブルを参照して指定された前記フィールドの優先度を取得して前記キャッシュ格納状態情報テーブルの指定された前記フィールドの優先度に対応する格納状態をチェックし、格納状態が格納済であれば前記第１のキャッシュ制御手段は優先度に対応するフィールドキャッシュからフィールドの値を取得して要求元に返し、格納状態が要求中であれば前記第１のキャッシュ制御手段は前記データ管理サーバから応答を受信するまで待機して優先度に対応するフィールドキャッシュに要求された前記フィールドが格納された時点でフィールドの値を取得して要求元に返し、格納状態が未格納であれば前記第１のキャッシュ制御手段は指定された前記フィールドの優先度で前記データ管理サーバにフィールドの取得を要求して応答を受信するまで待機して優先度に対応するフィールドキャッシュに格納された時点でフィールドの値を取得して要求元に返すことを特徴とする携帯端末。
【請求項１１】
請求項９又は１０に記載の携帯端末であって、
前記フィールドキャッシュが優先度に応じて格納件数の上限が異なり、かつ前記第２のキャッシュ制御手段が最も高い優先度の項目のフィールドを対応する前記フィールドキャッシュに格納した場合、前記第１のキャッシュ制御手段がより低い優先度の前記フィールドキャッシュの未使用レコードを確保してから、より低い優先度のフィールドを前記データ管理サーバに要求し、前記第２のキャッシュ制御手段が前記データ管理サーバから受信した応答から項目のフィールドを取得して優先度に対応する前記フィールドキャッシュに格納し、前記フィールドキャッシュの格納件数が上限に達した時点で該当優先度のフィールドの取得を中止し、更により低い優先度のフィールドの取得に処理を移行することを特徴とする携帯端末。
【請求項１２】
請求項９乃至１１の何れか１項に記載の携帯端末であって、前記フィールドデータ取得手段で指定されたフィールドの優先度が最も高い優先度ではない場合、前記第１のキャッシュ制御手段が指定された前記フィールドの属する優先度のフィールドを前記データ管理サーバに要求して、前記第２のキャッシュ制御手段が前記データ管理サーバから受信した応答から項目のフィールドを取得して優先度に対応する前記フィールドキャッシュの格納件数が上限に達しているかチェックを行い、上限に達していれば前記フィールドキャッシュの格納済の項目を削除し、新たに取得したフィールドを前記フィールドキャッシュに格納することを特徴とする携帯端末。
【請求項１３】
データを有するデータ管理サーバと、前記データ管理サーバとネットワークを介して相互に接続されている携帯端末とを備え、前記データ管理サーバから取得したデータを前記携帯端末のキャッシュに格納するキャッシュシステムにおける前記データ管理サーバであって、
前記携帯端末で使用するデータの項目のフィールド毎の優先度を管理するサーバ側フィールド優先度情報テーブルと、
前記携帯端末で使用するデータを項目単位で全フィールド格納するデータテーブルと、
前記サーバ側フィールド優先度情報テーブルを参照し前記携帯端末から指定された優先度に属するフィールドの一覧を取得するフィールド優先度情報取得手段と、
前記データテーブルから優先度に属するフィールドの一覧に含まれるフィールドのみ取得して前記携帯端末に送信するデータ参照手段と、
を備えることを特徴とするデータ管理サーバ。
【請求項１４】
データを有するデータ管理サーバと、前記データ管理サーバとネットワークを介して相互に接続されている携帯端末とを備え、前記データ管理サーバから取得したデータを前記携帯端末のキャッシュに格納するキャッシュシステムにおける前記携帯端末としてコンピュータを機能させるためのプログラムであって、
当該携帯端末で使用するデータの項目のフィールド毎の優先度を管理する端末側フィールド優先度情報テーブルと、
当該携帯端末で使用するデータを項目単位で優先度別にキャッシュ格納状態を管理するキャッシュ格納状態情報テーブルと、
当該携帯端末で使用するデータを項目単位で優先度別に該当するフィールドのみ格納するフィールドキャッシュと、
アクセスを要求されたデータの前記端末側フィールド優先度情報テーブルを参照して最も高い優先度から段階的に項目のフィールドの取得を前記データ管理サーバに要求する第１のキャッシュ制御手段と、
前記データ管理サーバから受信した応答から項目のフィールドを取得して優先度に対応する前記フィールドキャッシュに格納する第２のキャッシュ制御手段と、
前記第２のキャッシュ制御手段が最も高い優先度の項目のフィールドを対応する前記フィールドキャッシュに格納した時点でデータの項目のフィールド単位でのアクセスを可能とするフィールドデータ取得手段と、
を備えることを特徴とする携帯端末としてコンピュータを機能させるためのプログラム。
【請求項１５】
請求項１４に記載のプログラムであって、前記携帯端末は、項目のフィールドの名前を指定してフィールドの値を要求された場合、前記フィールドデータ取得手段は指定されたフィールドの名前を前記第１のキャッシュ制御手段に渡し、前記第１のキャッシュ制御手段は前記端末側フィールド優先度情報テーブルを参照して指定された前記フィールドの優先度を取得して前記キャッシュ格納状態情報テーブルの指定された前記フィールドの優先度に対応する格納状態をチェックし、格納状態が格納済であれば前記第１のキャッシュ制御手段は優先度に対応するフィールドキャッシュからフィールドの値を取得して要求元に返し、格納状態が要求中であれば前記第１のキャッシュ制御手段は前記データ管理サーバから応答を受信するまで待機して優先度に対応するフィールドキャッシュに要求された前記フィールドが格納された時点でフィールドの値を取得して要求元に返し、格納状態が未格納であれば前記第１のキャッシュ制御手段は指定された前記フィールドの優先度で前記データ管理サーバにフィールドの取得を要求して応答を受信するまで待機して優先度に対応するフィールドキャッシュに格納された時点でフィールドの値を取得して要求元に返すことを特徴とするプログラム。
【請求項１６】
請求項１４又は１５に記載のプログラムであって、前記携帯端末は、前記フィールドキャッシュが優先度に応じて格納件数の上限が異なり、かつ前記第２のキャッシュ制御手段が最も高い優先度の項目のフィールドを対応する前記フィールドキャッシュに格納した場合、前記第１のキャッシュ制御手段がより低い優先度の前記フィールドキャッシュの未使用レコードを確保してから、より低い優先度のフィールドを前記データ管理サーバに要求し、前記第２のキャッシュ制御手段が前記データ管理サーバから受信した応答から項目のフィールドを取得して優先度に対応する前記フィールドキャッシュに格納し、前記フィールドキャッシュの格納件数が上限に達した時点で該当優先度のフィールドの取得を中止し、更により低い優先度のフィールドの取得に処理を移行することを特徴とするプログラム。
【請求項１７】
請求項１４乃至１６の何れか１項に記載のプログラムであって、前記携帯端末は、
前記フィールドデータ取得手段で指定されたフィールドの優先度が最も高い優先度ではない場合、前記第１のキャッシュ制御手段が指定された前記フィールドの属する優先度のフィールドを前記データ管理サーバに要求して、前記第２のキャッシュ制御手段が前記データ管理サーバから受信した応答から項目のフィールドを取得して優先度に対応する前記フィールドキャッシュの格納件数が上限に達しているかチェックを行い、上限に達していれば前記フィールドキャッシュの格納済の項目を削除し、新たに取得したフィールドを前記フィールドキャッシュに格納することを特徴とするプログラム。
【請求項１８】
データを有するデータ管理サーバと、前記データ管理サーバとネットワークを介して相互に接続されている携帯端末とを備え、前記データ管理サーバから取得したデータを前記携帯端末のキャッシュに格納するキャッシュシステムにおける前記データ管理サーバとしてコンピュータを機能させるためのプログラムであって、
前記携帯端末で使用するデータの項目のフィールド毎の優先度を管理するサーバ側フィールド優先度情報テーブルと、
前記携帯端末で使用するデータを項目単位で全フィールド格納するデータテーブルと、
前記サーバ側フィールド優先度情報テーブルを参照し前記携帯端末から指定された優先度に属するフィールドの一覧を取得するフィールド優先度情報取得手段と、
前記データテーブルから優先度に属するフィールドの一覧に含まれるフィールドのみ取得して前記携帯端末に送信するデータ参照手段と、
を備えることを特徴とするデータ管理サーバとしてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、項目のフィールドの優先度別に格納できる、端末キャッシュ格納システム、端末キャッシュ格納方法及び端末キャッシュ格納プログラムに関する。
【背景技術】
【０００２】
本発明と関連するキャッシュ格納システムの一例が、特許文献１に記載されている。特許文献１に記載のキャッシュ格納システムは、サーバとクライアントを有している。サーバは、共有データ算出処理手段と応答処理手段とを有する。クライアントは、要求メッセージ送信処理手段と応答メッセージ受信処理手段とを有する。サーバで管理する共有データには共有データ識別子が割り当てられている。クライアントの要求メッセージ送信処理手段ではこの共有データ識別子を指定して、サーバの応答処理手段に要求を行う。サーバの応答処理手段は共有データ識別子を共有データ算出処理手段に渡して、返された共有データをクライアントの応答メッセージ受信処理手段に返す。クライアントの応答メッセージ受信処理手段は、受信した共有データを共有データ識別子と共にキャッシュに格納する。共有データの中に複数のフィールドが存在する場合であっても、全フィールドを同時にサーバから取得してキャッシュに格納される。
【特許文献１】特開２００３−２１６４７６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
上述した本発明と関連するキャッシュ格納システムには、以下の問題点があった。
【０００４】
第１の問題点は、特定フィールドのサイズが大きいデータをキャッシュする場合にデータアクセスのレスポンスが低下するということである。なぜならば、常にサーバからデータの全フィールドを取得して端末キャッシュに格納することによりサーバとの通信量が増大し、その処理が完了するまでデータアクセスが可能とならないためである。
【０００５】
第２の問題点は、特定フィールドのみ利用頻度が高いデータをキャッシュに格納する場合にキャッシュの利用効率が低下するということである。
【０００６】
その理由は、常にデータの全フィールドを端末キャッシュに格納することにより利用頻度の低いフィールドであっても、項目の数だけ格納されるためである。
【０００７】
そこで、本発明は特定フィールドのサイズが大きいデータをキャッシュする場合に、データアクセスのレスポンス向上させることが可能な、フィールド優先度別端末キャッシュ格納システム、端末キャッシュ方法及び端末キャッシュプログラムを提供することを目的とする。
【０００８】
更に、本発明は他の目的として、特定フィールドのみ利用頻度が高いデータをキャッシュに格納する場合にキャッシュの利用効率を向上させることが可能な、フィールド優先度別端末キャッシュ格納システム、端末キャッシュ方法及び端末キャッシュプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明の第１の観点によれば、システムとしてデータを有するデータ管理サーバと、前記データ管理サーバとネットワークを介して相互に接続されている携帯端末とを備え、前記データ管理サーバから取得したデータを前記携帯端末のキャッシュに格納するキャッシュシステムであって、前記携帯端末が、当該携帯端末で使用するデータの項目のフィールド毎の優先度を管理する端末側フィールド優先度情報テーブルと、当該携帯端末で使用するデータを項目単位で優先度別にキャッシュ格納状態を管理するキャッシュ格納状態情報テーブルと、当該携帯端末で使用するデータを項目単位で優先度別に該当するフィールドのみ格納するフィールドキャッシュと、アクセスを要求されたデータの前記端末側フィールド優先度情報テーブルを参照して最も高い優先度から段階的に項目のフィールドの取得を前記データ管理サーバに要求する第１のキャッシュ制御手段と、前記データ管理サーバから受信した応答から項目のフィールドを取得して優先度に対応する前記フィールドキャッシュに格納する第２のキャッシュ制御手段と、前記第２のキャッシュ制御手段が最も高い優先度の項目のフィールドを対応する前記フィールドキャッシュに格納した時点でデータの項目のフィールド単位でのアクセスを可能とするフィールドデータ取得手段と、を備え、前記データ管理サーバが、前記携帯端末で使用するデータの項目のフィールド毎の優先度を管理するサーバ側フィールド優先度情報テーブルと、前記携帯端末で使用するデータを項目単位で全フィールド格納するデータテーブルと、前記サーバ側フィールド優先度情報テーブルを参照し前記携帯端末から指定された優先度に属するフィールドの一覧を取得するフィールド優先度情報取得手段と、前記データテーブルから優先度に属するフィールドの一覧に含まれるフィールドのみ取得して前記携帯端末に送信するデータ参照手段と、を備えることを特徴とするキャッシュシステムが提供される。
【００１０】
本発明の第２の観点によれば、方法としてデータを有するデータ管理サーバと、前記データ管理サーバとネットワークを介して相互に接続されている携帯端末とを備え、前記データ管理サーバから取得したデータを前記携帯端末のキャッシュに格納するシステムにおけるキャッシュ方法であって、前記携帯端末の端末側フィールド優先度情報テーブルにより、当該携帯端末で使用するデータの項目のフィールド毎の優先度を管理するステップと、前記携帯端末のキャッシュ格納状態情報テーブルにより、当該携帯端末で使用するデータを項目単位で優先度別にキャッシュ格納状態を管理するステップと、前記携帯端末のフィールドキャッシュに、当該携帯端末で使用するデータを項目単位で優先度別に該当するフィールドのみ格納するステップと、前記携帯端末の第１のキャッシュ制御手段が、アクセスを要求されたデータの前記端末側フィールド優先度情報テーブルを参照して最も高い優先度から段階的に項目のフィールドの取得を前記データ管理サーバに要求するステップと、前記データ管理サーバのサーバ側フィールド優先度情報テーブルにより、前記携帯端末で使用するデータの項目のフィールド毎の優先度を管理するステップと、前記データ管理サーバのデータテーブルに、前記携帯端末で使用するデータを項目単位で全フィールド格納するステップと、前記データ管理サーバが、前記サーバ側フィールド優先度情報テーブルを参照し前記携帯端末から指定された優先度に属するフィールドの一覧を取得するフィールド優先度情報取得ステップと、前記データ管理サーバが、前記データテーブルから優先度に属するフィールドの一覧に含まれるフィールドのみ取得して前記携帯端末に送信するデータ参照ステップと、前記携帯端末の第２のキャッシュ制御手段が、前記データ管理サーバから受信した応答から項目のフィールドを取得して優先度に対応する前記フィールドキャッシュに格納するステップと、前記携帯端末が、前記第２のキャッシュ制御ステップが最も高い優先度の項目のフィールドを対応する前記フィールドキャッシュに格納した時点でデータの項目のフィールド単位でのアクセスを可能とするフィールドデータ取得ステップと、を備えることを特徴とするキャッシュ方法が提供される。
【００１１】
本発明の第３の観点によれば、携帯端末としてデータを有するデータ管理サーバと、前記データ管理サーバとネットワークを介して相互に接続されている携帯端末とを備え、前記データ管理サーバから取得したデータを前記携帯端末のキャッシュに格納するキャッシュシステムにおける前記携帯端末であって、当該携帯端末で使用するデータの項目のフィールド毎の優先度を管理する端末側フィールド優先度情報テーブルと、当該携帯端末で使用するデータを項目単位で優先度別にキャッシュ格納状態を管理するキャッシュ格納状態情報テーブルと、当該携帯端末で使用するデータを項目単位で優先度別に該当するフィールドのみ格納するフィールドキャッシュと、アクセスを要求されたデータの前記端末側フィールド優先度情報テーブルを参照して最も高い優先度から段階的に項目のフィールドの取得を前記データ管理サーバに要求する第１のキャッシュ制御手段と、前記データ管理サーバから受信した応答から項目のフィールドを取得して優先度に対応する前記フィールドキャッシュに格納する第２のキャッシュ制御手段と、前記第２のキャッシュ制御手段が最も高い優先度の項目のフィールドを対応する前記フィールドキャッシュに格納した時点でデータの項目のフィールド単位でのアクセスを可能とするフィールドデータ取得手段と、を備えることを特徴とする携帯端末が提供される。
【００１２】
本発明の第４の観点によれば、サーバとしてデータを有するデータ管理サーバと、前記データ管理サーバとネットワークを介して相互に接続されている携帯端末とを備え、前記データ管理サーバから取得したデータを前記携帯端末のキャッシュに格納するキャッシュシステムにおける前記データ管理サーバであって、前記携帯端末で使用するデータの項目のフィールド毎の優先度を管理するサーバ側フィールド優先度情報テーブルと、前記携帯端末で使用するデータを項目単位で全フィールド格納するデータテーブルと、前記サーバ側フィールド優先度情報テーブルを参照し前記携帯端末から指定された優先度に属するフィールドの一覧を取得するフィールド優先度情報取得手段と、前記データテーブルから優先度に属するフィールドの一覧に含まれるフィールドのみ取得して前記携帯端末に送信するデータ参照手段と、を備えることを特徴とするデータ管理サーバが提供される。
【００１３】
本発明の第５の観点によれば、第１のプログラムとしてデータを有するデータ管理サーバと、前記サーバとネットワークを介して相互に接続されている携帯端末とを備え、前記データ管理サーバから取得したデータを前記携帯端末のキャッシュに格納するキャッシュシステムにおける前記携帯端末としてコンピュータを機能させるためのプログラムであって、当該携帯端末で使用するデータの項目のフィールド毎の優先度を管理する端末側フィールド優先度情報テーブルと、当該携帯端末で使用するデータを項目単位で優先度別にキャッシュ格納状態を管理するキャッシュ格納状態情報テーブルと、当該携帯端末で使用するデータを項目単位で優先度別に該当するフィールドのみ格納するフィールドキャッシュと、アクセスを要求されたデータの前記端末側フィールド優先度情報テーブルを参照して最も高い優先度から段階的に項目のフィールドの取得を前記データ管理サーバに要求する第１のキャッシュ制御手段と、前記データ管理サーバから受信した応答から項目のフィールドを取得して優先度に対応する前記フィールドキャッシュに格納する第２のキャッシュ制御手段と、前記第２のキャッシュ制御手段が最も高い優先度の項目のフィールドを対応する前記フィールドキャッシュに格納した時点でデータの項目のフィールド単位でのアクセスを可能とするフィールドデータ取得手段と、を備えることを特徴とする携帯端末としてコンピュータを機能させるためのプログラムが提供される。
【００１４】
本発明の第６の観点によれば、第２のプログラムとしてデータを有するデータ管理サーバと、前記サーバとネットワークを介して相互に接続されている携帯端末とを備え、前記データ管理サーバから取得したデータを前記携帯端末のキャッシュに格納するキャッシュシステムにおける前記データ管理サーバとしてコンピュータを機能させるためのプログラムであって、前記携帯端末で使用するデータの項目のフィールド毎の優先度を管理するサーバ側フィールド優先度情報テーブルと、前記携帯端末で使用するデータを項目単位で全フィールド格納するデータテーブルと、
前記サーバ側フィールド優先度情報テーブルを参照し前記携帯端末から指定された優先度に属するフィールドの一覧を取得するフィールド優先度情報取得手段と、前記データテーブルから優先度に属するフィールドの一覧に含まれるフィールドのみ取得して前記携帯端末に送信するデータ参照手段と、を備えることを特徴とするデータ管理サーバとしてコンピュータを機能させるためのプログラムが提供される。
【発明の効果】
【００１５】
本発明によれば、優先度の高いフィールドを取得した時点でフィールド単位でのデータアクセスが可能となることから、データアクセスが可能となるまでのサーバとの通信量が低減され、データアクセスのレスポンスを向上させることが可能となる。
【発明を実施するための最良の形態】
【００１６】
［実施形態１］
次に、発明を実施するための最良の形態について図面を参照して詳細に説明する。
【００１７】
図１を参照すると本発明の第１の実施形態は、データ管理サーバ１と、ユーザが使用する携帯端末２とを有する。
【００１８】
データ管理サーバ１と携帯端末２は、通信回線３を介して接続され通信を行う。通信回線３の例としては、例えばインターネットが挙げられる。
【００１９】
データ管理サーバ１は、データ管理ソフトウェア１１と、データベース１２とを有する。
【００２０】
携帯端末２は、パケット通信などの通信機能を有していており、インターネットなどの通信回線３に接続可能な携帯電話等である。
【００２１】
携帯端末２は、データ利用ソフトウェア２１と、データアクセスソフトウェア２２と、データアクセスソフトウェア２２が生成するアクセッサ２３と、データアクセスソフトウェア２２が利用可能なストレージ２４とを有する。
【００２２】
図２はデータ管理サーバ１の構成例を示す図である。図２を参照するとデータ管理ソフトウェア１１は通信手段１１１と、データ参照手段１１２と、フィールド優先度情報取得手段１１３とを有する。
【００２３】
データベース１２は、データの項目のフィールド毎に優先度を管理するフィールド優先度情報テーブル１２１と、携帯端末２が使用するデータを、項目ＩＤをキーとして格納するデータテーブル１２２とを有する。
【００２４】
また、フィールド優先度情報テーブル１２１とデータテーブル１２２は、データを、「メールデータ」、「アドレスデータ」、「スケジュールデータ」等のデータ種別毎に別々に用意するものである。なお、図２ではフィールド優先度情報テーブル１２１とデータテーブル１２２が１セットしか記載していないが、データ種別が複数の場合は、複数のセットが存在する。
【００２５】
図３は携帯端末２の構成例を示す図である。図３を参照するとデータ利用ソフトウェア２１はメーラーやアドレス帳やスケジューラ等のアプリケーションであり、データアクセスソフトウェア２２を介してサーバで管理しているデータにアクセスする。
【００２６】
データアクセスソフトウェア２２は、アクセッサ取得手段２２１と、キャッシュ制御手段２２２と、サーバ通信手段２２３とを有する。アクセッサ２３は、フィールドデータ取得手段２３１を有する。
【００２７】
ストレージ２４は、フィールド優先度情報テーブル２４１と、キャッシュ格納状態情報テーブル２４２と、優先フィールドキャッシュ２４３と、通常フィールドキャッシュ２４４とを有する。
【００２８】
フィールド優先度情報テーブル２４１は、データのフィールド毎に優先度を管理する。キャッシュ格納状態情報テーブル２４２は、項目ＩＤをキーとして優先度毎にキャッシュ格納状態を管理する。優先フィールドキャッシュ２４３は、サーバから取得したデータのうち「優先度＝優先」のフィールドをキャッシュする。通常フィールドキャッシュ２４４は、サーバから取得したデータのうち「優先度＝通常」のフィールドをキャッシュする。
【００２９】
フィールド優先度情報テーブル２４１は、データ管理サーバ１のフィールド優先度情報テーブル１２１と同一の内容となる。キャッシュ格納状態情報テーブル２４２の格納状態は優先度毎に、格納済／要求中／未格納のいずれかの状態が記録されている。また、本実施形態では優先フィールドキャッシュ２４３と通常フィールドキャッシュ２４４の項目の格納件数は同一とする。また、フィールド優先度情報テーブル２４１とキャッシュ格納状態情報テーブル２４２と優先フィールドキャッシュ２４３と通常フィールドキャッシュ２４４は、データを、「メールデータ」、「アドレスデータ」、「スケジュールデータ」等のデータ種別毎に別々に用意するものである。なお、図３ではこれらのキャッシュやテーブルを１セットしか記載していないが、データ種別が複数であれば複数のセットが存在する。
【００３０】
データ管理ソフトウェア１１の各手段はそれぞれ概略つぎのように動作する。
【００３１】
通信手段１１１は、携帯端末２のデータアクセスソフトウェア２２との通信に関する処理を行う。データアクセスソフトウェア２２から要求を受信した場合、受信した要求が、データ参照要求であればデータ参照手段１１２に渡し、データ参照手段１１２から返されたデータ参照応答を携帯端末２に返信する。
【００３２】
データ参照手段１１２は、通信手段１１１から渡されたデータ参照要求から取得したデータ種別と優先度をフィールド優先度情報取得手段１１３に渡し、優先度に対応するフィールド一覧を取得する。そして、優先度に対応するフィールド一覧とデータ種別とデータ参照要求から取得した項目ＩＤ若しくは検索条件を使用してデータ種別に対応するデータテーブル１２２を検索する。そして、優先度に対応するフィールドのみを取得してデータ参照応答を生成し、通信手段１１１に返す。
【００３３】
フィールド優先度情報取得手段１１３は、渡されたデータ種別に対応するフィールド優先度情報テーブル１２１を検索対象とする。そして、検索対象としたフィールド優先度情報テーブル１２１内の渡された優先度と一致するフィールドを検索し、要求元にフィールド一覧を返す。
【００３４】
データアクセスソフトウェア２２の各手段はそれぞれ概略つぎのように動作する。
【００３５】
アクセッサ取得手段２２１は、データ利用ソフトウェア２１からのデータへのアクセス要求を受け付けて、キャッシュ制御手段２２２にデータ種別と、項目ＩＤ若しくは検索条件を渡して処理が完了するのを待つ。そして、キャッシュ制御手段２２２の処理が完了したら、データ種別と項目ＩＤに対応するアクセッサ２３を生成し、データ利用ソフトウェア２１に返す。アクセッサ２３は生成時に紐付けられたデータ種別と項目ＩＤのフィールドへのアクセスに使用される。
【００３６】
キャッシュ制御手段２２２は、アクセッサ取得手段２２１から渡されたのがデータ種別及び項目ＩＤの場合、データ種別に対応するキャッシュ格納状態情報テーブル２４２を項目ＩＤをキーとし検索し、レコードが存在しかつ優先フィールドが格納済であれば処理完了としてアクセッサ取得手段２２１に返す。一方、それ以外の場合は、サーバ通信手段２２３を介してデータ管理サーバ１へ「優先度＝優先」のデータ参照要求を行う。
【００３７】
一方、アクセッサ取得手段２２１から渡されたのがデータ種別及び検索条件の場合、キャッシュ格納状態情報テーブル２４２をチェックせずにサーバ通信手段２２３を介してデータ管理サーバ１へデータ参照要求を行う。その後、データ管理サーバ１からデータ参照応答を受信した場合、データ参照応答から「優先度＝優先」とデータ種別と項目ＩＤを取得し、データ種別に対応するキャッシュ格納状態情報テーブル２４２に項目ＩＤのレコードを登録し、優先フィールドの格納状態を格納済に、通常フィールドの格納状態を未格納に設定する。また、データ種別に対応する優先フィールドキャッシュ２４３に項目ＩＤのレコードを登録し、データ参照要求から優先フィールドの値を取得して該当するフィールドに設定し、項目ＩＤをアクセッサ取得手段２２１に返す。
【００３８】
更に、キャッシュ制御手段２２２は、フィールドデータ取得手段２３１からデータ種別と項目ＩＤとフィールドの名前を渡された場合、データ種別に対応するフィールド優先度情報２４１を検索して指定フィールドの優先度を取得し、データ種別に対応するキャッシュ格納状態情報テーブル２４２を項目ＩＤをキーとして検索し、優先度に対応する格納状態を取得する。格納状態が格納済であれば優先度に対応するフィールドキャッシュからフィールドの値を取得してフィールドデータ取得手段２３１に返す。格納状態が要求中であればデータ管理サーバ１からデータ参照応答を受信するのを待つ。格納状態が未格納であればサーバ通信手段２２３を介してデータ管理サーバ１へ優先度に応じたデータ参照要求を行う。
【００３９】
サーバ通信手段２２３は、データアクセスソフトウェア２２内の他の手段から受信した要求をデータ管理サーバ１のデータ管理ソフトウェア１１に対して送信し、データ管理ソフトウェア１１から返信されてきた応答を要求元の手段に返す。
【００４０】
アクセッサ２３のフィールドデータ取得手段はそれぞれ概略つぎのように動作する。
【００４１】
フィールドデータ取得手段２３１は、データ利用ソフトウェア２１からデータのフィールドへのアクセス要求を受け付けて、キャッシュ制御手段２２２にアクセッサ２３と紐付けられたデータ種別と項目ＩＤと指定されたフィールドを渡してフィールドの値を受け取り、データ利用ソフトウェア２１に返す。
【００４２】
次に、図１乃至図８及び図９、図１０のフローチャートを参照して本発明の第１の実施形態の動作について詳細に説明する。
【００４３】
まず、準備段階のシステムの動作について説明する。
【００４４】
最初に、データ管理サーバ１において利用するデータ種別の項目のフィールド毎に優先度を決定して、フィールド優先度情報テーブル１２１に登録する。図４は、メールデータの場合のフィールド優先度の設定例を示している。また、データ種別のスキーマ情報に従ってデータテーブル１２２を生成し、データを登録する。
【００４５】
次に、携帯端末２にはデータ利用ソフトウェア２１とデータアクセスソフトウェア２２を事前にインストールしておく。インストールは通信回線３経由でデータ管理サーバ１からダウンロードしたり、図１には記載していないＰＣ（Personal Computer）とケーブル等で接続してダウンロードしたり、携帯端末２で使用可能な外部媒体を使用して行うものとする。
【００４６】
次に、データアクセスソフトウェア２２はインストール時の情報を利用して、ストレージ２４にフィールド優先度情報テーブル２４１とキャッシュ格納状態情報テーブル２４２と優先フィールドキャッシュ２４３と通常フィールドキャッシュ２４４を生成する。
【００４７】
本実施形態では優先フィールドキャッシュ２４３と通常フィールドキャッシュ２４４の項目の格納件数は同一とする。なお、優先フィールドキャッシュ２４３と通常フィールドキャッシュ２４４において項目の格納可能な件数が上限に達し、新しい項目を格納するために格納済の項目を削除することになる場合が考えられる。この際、削除する項目を判断するための方法に関しては、既知のＬＲＵ（Least Recently Used）アルゴリズムを利用してもよく、その他、独自アルゴリズムを利用するなどしてもよく特に手法を問わない。
【００４８】
ここからは、携帯端末２のデータ利用ソフトウェア２１がアクセッサ２３を取得する時のシステムの動作について説明する。
【００４９】
最初に、携帯端末２のデータ利用ソフトウェア２１を起動して、ユーザが画面表示を確認してデータの参照が必要となる操作を行う。そして、データ利用ソフトウェア２１は参照したいデータをデータ種別と、項目ＩＤ若しくは検索条件で指定して、データアクセスソフトウェア２２のアクセッサ取得手段２２１に要求する（ステップＡ１）。
【００５０】
次に、アクセッサ取得手段２２１はキャッシュ制御手段２２２に指定されたデータ種別と、項目ＩＤ若しくは検索条件を渡す。
【００５１】
そして、キャッシュ制御手段２２２は渡されたのがデータ種別と項目ＩＤの場合、データ種別に対応するキャッシュ格納状態情報テーブル２４２を項目ＩＤをキーとし検索し、レコードが存在しかつ優先フィールドが格納済であれば項目ＩＤをアクセッサ取得手段２２１に返し、ステップＡ３乃至ステップＡ５の処理を行わずにステップＡ６の処理に移行する。
【００５２】
一方、アクセッサ取得手段２２１から渡されたのがデータ種別と検索条件の場合、キャッシュ格納状態情報テーブル２４２をチェックせずにステップＡ３の処理に移行する（ステップＡ２）。
【００５３】
次に、キャッシュ制御手段２２２はサーバ通信手段２２３を介してデータ管理サーバ１のデータ管理ソフトウェア１１の通信手段１１１へデータ参照要求を行う。データ参照要求には優先度として「優先」を設定し、指定されたデータ種別と項目ＩＤ若しくは検索条件を設定する（ステップＡ３）。
【００５４】
次に、データ管理ソフトウェア１１の通信手段１１１は受信したデータ参照要求をデータ参照手段１１２に渡す。データ参照手段１１２は、通信手段１１１から渡されたデータ参照要求から取得したデータ種別と「優先度＝優先」という情報をフィールド優先度情報取得手段１１３に渡し、「優先度＝優先」のフィールド一覧を取得する。そして「優先度＝優先」のフィールド一覧とデータ種別と、データ参照要求から取得した項目ＩＤ若しくは検索条件を使用してデータ種別に対応するデータテーブル１２２を検索する。そして、「優先度＝優先」のフィールドのみ取得し、データ参照応答を生成して通信手段１１１に返す。通信手段１１１は渡されたデータ参照応答を携帯端末２のデータアクセスソフトウェア２２のサーバ通信手段２２３に返信する（ステップＡ４）。
【００５５】
次に、データアクセスソフトウェア２２のサーバ通信手段２２３は受け取ったデータ参照応答をキャッシュ制御手段２２２に渡す。キャッシュ制御手段２２２はデータ参照応答から「優先度＝優先」とデータ種別と項目ＩＤを取得し、データ種別に対応するキャッシュ格納状態情報テーブル２４２に項目ＩＤのレコードを登録し、優先フィールドの格納状態を格納済に、通常フィールドの格納状態を未格納に設定する。また、データ種別に対応する優先フィールドキャッシュ２４３に項目ＩＤのレコードを登録し、データ参照要求から優先フィールドの値を取得して該当するフィールドに設定し、項目ＩＤをアクセッサ取得手段２２１に返す。図５は、メールデータで項目ＩＤが１０１、１０２，１０３の「優先度＝優先」のフィールドを格納したときの例を示している（ステップＡ５）。
【００５６】
次に、アクセッサ取得手段２２１はデータ種別と項目ＩＤに対応するアクセッサ２３を新規に生成してデータ利用ソフトウェア２１に返す（ステップＡ６）。
【００５７】
次に、キャッシュ制御手段２２２は並行してデータ種別に対応するキャッシュ格納状態情報テーブル２４２で、通常フィールドの格納状態が「未格納」となっているレコードを取得し、格納状態を「要求中」に更新する。そして、キャッシュ制御手段２２２は、サーバ通信手段２２３を介してデータ管理サーバ１のデータ管理ソフトウェア１１の通信手段１１１へデータ参照要求を行う。データ参照要求には優先度に「通常」を設定し、データ種別と項目ＩＤを設定する（ステップＡ７）。
【００５８】
次に、データ管理ソフトウェア１１の通信手段１１１は受信したデータ参照要求をデータ参照手段１１２に渡す。データ参照手段１１２は、通信手段１１１から渡されたデータ参照要求から取得したデータ種別と「優先度＝通常」をフィールド優先度情報取得手段１１３に渡し、「優先度＝通常」のフィールド一覧を取得する。そして「優先度＝通常」のフィールド一覧とデータ種別と、データ参照要求から取得した項目ＩＤ若しくは検索条件を使用してデータ種別に対応するデータテーブル１２２を検索し、「優先度＝通常」のフィールドのみ取得してデータ参照応答を生成して通信手段１１１に返す。通信手段１１１は渡されたデータ参照応答を携帯端末２のデータアクセスソフトウェア２２のサーバ通信手段２２３に返信する（ステップＡ８）。
【００５９】
次に、データアクセスソフトウェア２２のサーバ通信手段２２３は受け取ったデータ参照応答をキャッシュ制御手段２２２に渡す。キャッシュ制御手段２２２はデータ参照応答から「優先度＝通常」という情報とデータ種別と項目ＩＤを取得し、データ種別に対応するキャッシュ格納状態情報テーブル２４２から項目ＩＤのレコードを取得し、通常フィールドの格納状態を「格納済」に設定する。また、データ種別に対応する通常フィールドキャッシュ２４４に項目ＩＤのレコードを登録し、データ参照要求から通常フィールドの値を取得して該当するフィールドに設定する（ステップＡ９）。
【００６０】
次に、キャッシュ制御手段２２２はデータ種別に対応するキャッシュ格納状態情報テーブル２４２で通常フィールドの格納状態が「未格納」のレコードが存在するかチェックし、存在しなければ処理を終了する。格納状態が「未格納」のレコードが存在する場合、ステップＡ７乃至Ａ９の処理を繰り返し行う。
【００６１】
図６は、メールデータで項目ＩＤが１０１の「優先度＝通常」のフィールドを格納し、項目ＩＤが１０２の「優先度＝通常」のフィールドをサーバへ要求しているときの例を示している。また図７は、メールデータで項目ＩＤが１０１、１０２、１０３の「優先度＝通常」のフィールドを格納し、格納状態が「未格納」のレコードが存在しないときの例を示している。また図８は、データ利用ソフトウェア２１から新たなデータ参照の要求があり、メールデータで項目ＩＤ１０１、１０２のレコードを削除し、項目ＩＤ９１、９２の「優先度＝優先」のフィールドを格納したときの例を示している（ステップＡ１０）。
【００６２】
ここからは、携帯端末２のデータ利用ソフトウェア２１がアクセッサ２３を使用してフィールドの値を取得する時のシステムの動作について説明する。
【００６３】
最初に、携帯端末２のデータ利用ソフトウェア２１はフィールドを指定して、アクセッサ２３のフィールドデータ取得手段２３１に要求する（ステップＢ１）。
【００６４】
次に、フィールドデータ取得手段２３１は、アクセッサ２３と紐付けられたデータ種別と項目ＩＤと指定されたフィールドをキャッシュ制御手段２２２に渡す。キャッシュ制御手段２２２は、渡されたフィールドをキーとしてデータ種別に対応するフィールド優先度情報テーブル２４１を検索して指定フィールドの優先度を取得する。「優先度＝優先」の場合はステップＢ３の処理に移行し、「優先度＝通常」の場合はステップＢ４の処理に移行する（ステップＢ２）。
【００６５】
次に、キャッシュ制御手段２２２はデータ種別に対応する優先フィールドキャッシュ２４３を項目ＩＤをキーとして検索し、指定フィールドの値を取得してフィールドデータ取得手段２３１に返し、ステップＢ４〜ステップＢ９の処理を行わずにステップＢ１０の処理に移行する（ステップＢ３）。
【００６６】
次に、キャッシュ制御手段２２２はデータ種別に対応するキャッシュ格納状態情報テーブル２４２を項目ＩＤをキーとして検索し、「優先度＝通常」に対応する格納状態を取得する。格納状態が「格納済」の場合はステップＢ９の処理に移行し、格納状態が「要求中」の場合はステップＢ８の処理に移行し、格納状態が「未格納」の場合はステップＢ６の処理に移行する（ステップＢ４、Ｂ５）。
【００６７】
次に、キャッシュ制御手段２２２はデータ種別に対応するキャッシュ格納状態情報テーブル２４２の処理中の項目ＩＤのレコードの格納状態を「要求中」に更新する。そしてサーバ通信手段２２３を介してデータ管理サーバ１のデータ管理ソフトウェア１１の通信手段１１１へデータ参照要求を行う。データ参照要求には優先度に通常を設定し、データ種別と項目ＩＤを設定する（ステップＢ６）。
【００６８】
次に、データ管理ソフトウェア１１の通信手段１１１は受信したデータ参照要求をデータ参照手段１１２に渡す。データ参照手段１１２は、通信手段１１１から渡されたデータ参照要求から取得したデータ種別と「優先度＝通常」という情報をフィールド優先度情報取得手段１１３に渡し、「優先度＝通常」のフィールド一覧を取得する。そして「優先度＝通常」のフィールド一覧とデータ種別とデータ参照要求から取得した項目ＩＤ若しくは検索条件を使用してデータ種別に対応するデータテーブル１２２を検索し、「優先度＝通常」のフィールドのみ取得してデータ参照応答を生成して通信手段１１１に返す。通信手段１１１は渡されたデータ参照応答を携帯端末２のデータアクセスソフトウェア２２のサーバ通信手段２２３に返信する（ステップＢ７）。
【００６９】
次に、データアクセスソフトウェア２２のサーバ通信手段２２３は受け取ったデータ参照応答をキャッシュ制御手段２２２に渡す。キャッシュ制御手段２２２はデータ参照応答から「優先度＝通常」という情報とデータ種別と項目ＩＤを取得し、データ種別に対応するキャッシュ格納状態情報２４２に項目ＩＤのレコードの格納状態を「格納済」に更新する。また、データ種別に対応する通常フィールドキャッシュ２４４に項目ＩＤのレコードを登録し、データ参照要求から通常フィールドの値を取得して該当するフィールドに設定する（ステップＢ８）。
次に、キャッシュ制御手段２２２はデータ種別に対応する通常フィールドキャッシュ２４４を項目ＩＤをキーとして検索し、指定フィールドの値を取得してフィールドデータ取得手段２３１に返す（ステップＢ９）。
【００７０】
次に、フィールドデータ取得手段２３１はキャッシュ制御手段２２２からフィールドの値を受け取り、データ利用ソフトウェア２１に返す。データ利用ソフトウェア２１は渡されたフィールドの値を画面表示や操作等に利用する（ステップＢ１０）。
【００７１】
上述した第１の実施形態では携帯端末２として携帯電話を使用する場合について説明したが、ＰＤＡ（Personal Digital Assistant）等の携帯可能であって、かつ通信機能を有していてインターネットなどの通信回線３に接続可能な端末についても適用可能である。
【００７２】
また、第１の実施形態ではデータ管理サーバ１と携帯端末２がインターネット（通信回線３）で接続される場合について説明したが、セキュリティを高めるためにデータ管理サーバ１とインターネット（通信回線３）との間にファイアウォールを設置するように構成してもよい。
【００７３】
また、第１の実施形態ではデータの格納にデータ管理サーバ１のデータベース１２を利用する場合について説明したが、ファイルシステムを利用するように構成してもよい。
【００７４】
また、第１の実施形態ではデータ種別毎にフィールド優先度情報テーブル１２１を用意する場合について説明したが、複数のデータ種別を一つのフィールド優先度情報テーブル１２１で利用するように構成してもよい。その場合、フィールド優先度情報テーブル１２１にはデータ種別がキーとして追加されることになる。
【００７５】
また、第１の実施形態ではデータ種別毎にフィールド優先度情報テーブル２４１とキャッシュ格納状態情報テーブル２４２を用意する場合について説明したが、複数のデータ種別を、一つのフィールド優先度情報テーブル２４１とキャッシュ格納状態情報テーブル２４２で利用するように構成してもよい。その場合、フィールド優先度情報テーブル２４１とキャッシュ格納状態情報テーブル２４２にはデータ種別がキーとして追加されることになる。
【００７６】
また、第１の実施形態では優先度を優先／通常の二段階に設定する場合について説明したが、優先度を数値で表現することにより多段階の優先度を使用するように構成してもよい。その場合、フィールド優先度情報テーブル１２１、２４１の優先度情報を数値で優先度を設定することになる。また、キャッシュ格納状態情報のレコードは、優先フィールド、通常フィールドという列ではなく、使用する優先度の数に応じて優先度１〜Ｎの列を用意して格納状態を管理することになる。また、フィールドのデータを格納するキャッシュも優先フィールドキャッシュ２４３、通常フィールドキャッシュ２４４という構成ではなく、使用する優先度の数に応じて優先度１フィールドキャッシュ〜優先度Ｎフィールドキャッシュを用意して対応するフィールドの値を格納することになる。
【００７７】
また、第１の実施形態ではステップＡ７乃至Ａ９においてキャッシュ格納状態情報テーブル２４２で通常フィールドの格納状態が未格納となっている項目ＩＤに関して、一つの項目毎に処理を行っているが、複数の項目ＩＤをまとめて処理するように構成してもよい。その場合、携帯端末２とデータ管理サーバ１間で送受信可能なメッセージサイズ以下となるよう項目数を算出することとなる。
【００７８】
また、第１の実施形態ではデータ利用ソフトウェア２１から一つの項目にアクセスする場合について説明したが、複数の項目にアクセスするよう構成してもよい。その場合、データ利用ソフトウェア２１からアクセッサ取得手段２２１へはデータ種別と項目ＩＤリストを渡して、処理結果としてアクセッサ２３のリストを受け取ることになる。また、データ利用ソフトウェア２１はアクセッサ２３のリストから利用したい項目ＩＤに対応するアクセッサ２３を選択して、該当するアクセッサ２３のフィールドデータ取得手段２３１を使用することになる。また、データアクセスソフトウェア２２からデータ管理ソフトウェア１１へデータ参照要求は複数の項目ＩＤに関して処理するようになる。このように構成する場合は、携帯端末２とデータ管理サーバ１間で送受信可能なメッセージサイズ以下となるよう項目数を算出することとなる。
【００７９】
次に、本実施の形態の効果について説明する。本実施例の効果は、「優先度＝優先」のフィールドを取得した時点でフィールド単位でのデータアクセスが可能となることにある。この結果、データアクセスが可能となるまでのサーバとの通信量が低減され、データアクセスのレスポンスも向上する。
【００８０】
その理由は、最初に「優先度＝優先」のフィールドをサーバから取得してキャッシュに格納した時点でデータへのアクセスをフィールド単位で可能とし、並行して「優先度＝通常」のフィールドの取得を行うためである。特に、データの一覧表示などのデータアクセスの初期段階では使用されない、サイズの大きいフィールドの優先度を低く設定することにより、データアクセスが可能となる時間が短縮される。
【００８１】
［実施形態２］
次に、本発明の第２の実施形態の構成について図面を参照して詳細に説明する。
【００８２】
本発明の第２の実施形態は、第１の実施形態と同じ構成である。データ管理サーバ１は、第１の実施形態と同じ構成である。
【００８３】
携帯端末２は、第１の実施形態と同じ構成であるが、優先フィールドキャッシュ２４３の項目の格納件数が通常フィールドキャッシュ２４４の項目の格納件数より多い点のみ異なる。
【００８４】
データ管理ソフトウェア１１の手段は、第１の実施形態と同じ動作を行う。
データアクセスソフトウェア２２の手段は、第１の実施形態と同じ動作に加えてキャッシュ制御手段２２２に新しい動作が追加されている。
【００８５】
キャッシュ制御手段２２２は、データ管理サーバ１から該当項目の「優先度＝通常」のフィールドを取得する前に通常フィールドキャッシュ２４４の未使用レコードを確保するために格納済の項目を削除する。また、第１の実施形態では要求された項目の「優先度＝優先」のフィールド格納後にアクセッサ２３を要求元に返すのと並行して、要求された全ての項目の「優先度＝通常」のフィールドをデータ管理サーバ１から取得して格納しているが、本実施形態では通常フィールドキャッシュ２４４の項目の格納件数が上限に達した時点で「優先度＝通常」のフィールドの取得を中止する。また、アクセッサを使用して要求された項目のフィールドの「優先度＝通常」で、かつデータ管理サーバ１から該当項目の「優先度＝通常」のフィールドを取得した場合、通常フィールドキャッシュ２４４の項目の格納件数が上限に達していれば格納済の項目を削除して新たに取得した項目の「優先度＝通常」のフィールドを格納する。なお、通常フィールドキャッシュ２４４から削除する項目の判断方法に関しては既知のＬＲＵアルゴリズムの利用や独自アルゴリズムなど特に手法を問わない。
【００８６】
次に、図１乃至図３、図１１乃至図１６及び図１７，図１８のフローチャートを参照して本発明の第２の実施形態の動作について詳細に説明する。
【００８７】
まず、準備段階のシステムの動作について説明する。
【００８８】
データ管理サーバ１の動作は、第１の実施形態の動作と同じである。図１１にデータ種別が、アドレスデータの場合のフィールド優先度の設定例を示している。
【００８９】
携帯端末２は、優先フィールドキャッシュ２４３の項目の格納件数が通常フィールドキャッシュ２４４の項目の格納件数より多い点のみ第１の実施形態と異なる。図１２は、アドレスデータで項目ＩＤが２０１、２０２の「優先度＝優先、通常」のフィールドが両方とも格納されているときの例を示している。
【００９０】
ここからは、携帯端末２のデータ利用ソフトウェア２１がアクセッサ２３を取得する時のシステムの動作について説明する。
【００９１】
最初に、携帯端末２のデータ利用ソフトウェア２１を起動して、ユーザが画面表示を確認してデータの参照が必要となる操作を行ってから、アクセッサ２３を新規に生成してデータ利用ソフトウェア２１に返すまでの動作は第１の実施形態のステップＡ１乃至Ａ６と同じ動作となる。図１３は、ステップＣ５においてアドレスデータで項目ＩＤが２０３、２０４、２０５の「優先度＝優先」のフィールドを新たに格納したときの例を示している（ステップＣ１乃至Ｃ６）。
【００９２】
次に、キャッシュ制御手段２２２は並行してデータ種別に対応する通常フィールドキャッシュ２４４の、未使用レコードを確保するために、ステップＣ５で受け取ったデータ参照応答から項目ＩＤの数を取得し、通常フィールドキャッシュ２４４の未使用レコードの数と格納件数の上限を使用してチェックする。
【００９３】
通常フィールドキャッシュ２４４の未使用レコードの数が項目ＩＤの数より大きい場合、ステップＣ８の処理に移行する。
【００９４】
通常フィールドキャッシュ２４４の未使用レコードの数が項目ＩＤの数より小さく、かつ通常フィールドキャッシュ２４４の格納件数の上限が項目ＩＤの数より大きい場合、未使用レコードの数が項目ＩＤの数と一致するまで通常フィールドキャッシュ２４４から格納済の項目を削除する。
【００９５】
通常フィールドキャッシュ２４４の未使用レコード数が項目ＩＤの数より小さく、かつ通常フィールドキャッシュ２４４の格納件数の上限が項目ＩＤの数より小さい場合、通常フィールドキャッシュ２４４から全ての格納済の項目を削除する。
【００９６】
図１４は、通常フィールドキャッシュ２４４の未使用レコード数が項目ＩＤの数より小さく、かつ通常フィールドキャッシュ２４４の格納件数の上限が項目ＩＤの数より小さい場合に全ての格納済の項目を削除したときの例を示している（ステップＣ７）。
【００９７】
次に、データ管理サーバ１のデータ管理ソフトウェア１１へデータ参照要求を行ってから、携帯端末２のデータアクセスソフトウェア２２がデータ参照応答を受け取って項目の通常フィールドの値を通常フィールドキャッシュ２４４に格納するまでの動作は第１の実施形態のステップＡ７〜Ａ９と同じ動作となる（ステップＣ８〜Ｃ１０）。
【００９８】
次に、キャッシュ制御手段２２２はデータ種別に対応するキャッシュ格納状態情報テーブル２４２で、通常フィールドの格納状態が「未格納」のレコードが存在するかチェックし、存在しなければ処理を終了する。一方、格納状態が「未格納」のレコードが存在する場合、ステップＣ１２の処理に移行する（ステップＣ１１）。
【００９９】
次に、キャッシュ制御手段２２２はデータ種別に対応する通常フィールドキャッシュ２４４の項目の格納件数が上限に達しているかチェックし、格納件数が上限に達していれば処理を終了する。一方、格納件数が上限に達していない場合、ステップＣ８〜Ｃ１１の処理を繰り返し行う。図１５は、アドレスデータで項目ＩＤが２０３、２０４の「優先度＝通常」のフィールドを格納し、格納件数が上限に達しているときの例を示している（ステップＣ１２）。
【０１００】
ここからは、携帯端末２のデータ利用ソフトウェア２１がアクセッサ２３を使用してフィールドの値を取得する時のシステムの動作について説明する。
【０１０１】
最初に、携帯端末２のデータ利用ソフトウェア２１が指定フィールドの値を要求してから、データ管理サーバ１のデータ管理ソフトウェア１１が「優先度＝通常」のデータ参照応答を返信するまでの動作は第１の実施形態のステップＢ１乃至Ｂ７と同じ動作となる（ステップＤ１乃至Ｄ７）。
【０１０２】
次に、データアクセスソフトウェア２２のサーバ通信手段２２３は受け取ったデータ参照応答をキャッシュ制御手段２２２に渡す。キャッシュ制御手段２２２は、データ種別に対応する通常フィールドキャッシュ２４４の格納件数が上限に達しているかチェックし、格納件数が上限に達していない場合はステップＤ１０の処理に移行する。一方、格納件数が上限に達している場合、通常フィールドキャッシュ２４４から格納済の項目を削除する（ステップＤ８、Ｄ９）。
【０１０３】
次に、キャッシュ制御手段２２２はデータ参照応答から「優先度＝通常」という情報とデータ種別と項目ＩＤを取得し、データ種別に対応するキャッシュ格納状態情報２４２に項目ＩＤのレコードの格納状態を格納済に更新する。また、データ種別に対応する通常フィールドキャッシュ２４４に項目ＩＤのレコードを登録し、データ参照要求から通常フィールドの値を取得して該当するフィールドに設定する。図１６は、アドレスデータで通常フィールドキャッシュ２４４から項目ＩＤが２０３のレコードを削除し、項目ＩＤが２０５の「優先度＝通常」のフィールドを新たに格納するときの例を示している（ステップＤ１０）。
【０１０４】
次に、データアクセスソフトウェア２２が、指定フィールドの値をデータ利用ソフトウェア２１に返して、データ利用ソフトウェア２１が渡されたフィールドの値を画面表示や操作等に利用するまでの動作は第１の実施形態のステップＢ９及びＢ１０と同じ動作となる（ステップＤ１１、Ｄ１２）。
【０１０５】
第１の実施形態に他の構成として記載した内容は第２の実施形態にも適用可能である。
【０１０６】
本実施形態においても、第１の実施形態と同一の効果を奏する。さらに、本実施形態の効果は、データのフィールドに設定する優先度毎に異なる格納件数で別々のキャッシュに格納できることにある。この結果、キャッシュ内に「優先度＝優先」のフィールドを多く格納することが可能となり、キャッシュの利用効率が向上する。
【０１０７】
その理由は、優先度フィールドキャッシュの格納件数を多くし、通常フィールドキャッシュの格納件数を少なくし、利用頻度の高いフィールドを「優先度＝優先」に設定することにより、利用頻度の高いフィールドのキャッシュ内に占める割合が増えるためである。
【０１０８】
上述した本発明の実施形態は以下の効果を奏する。
【０１０９】
第１の効果は、優先度の高いフィールドを取得した時点でフィールド単位でのデータアクセスが可能となることにある。この結果、データアクセスが可能となるまでのサーバとの通信量が低減され、データアクセスのレスポンスも向上する。
【０１１０】
その理由は、最初に最も高い優先度のフィールドをサーバから取得してキャッシュに格納した時点でデータへのアクセスをフィールド単位で提供すると共に、並行して段階的により低い優先度のフィールドの取得を行うためである。特に、データの一覧表示などのデータアクセスの初期段階では使用されない、サイズの大きいフィールドの優先度を低く設定することにより、データアクセスが可能となる時間が短縮される。
【０１１１】
第２の効果は、キャッシュ格納状態情報テーブルを参照すれば項目データの優先度毎のキャッシュ格納状態を把握できることである。
【０１１２】
その理由は、キャッシュ格納状態が変更されるたびに、キャッシュ格納状態情報テーブルの内容を、「未格納」、「要求中」、「格納済み」と逐次更新するからである。
【０１１３】
第３の効果は、データのフィールドに設定する優先度毎に異なる格納件数で別々のキャッシュに格納できることにある。この結果、キャッシュ内に優先度の高いフィールドを多く格納することが可能となり、キャッシュの利用効率が向上する。
【０１１４】
その理由は、優先度の高いキャッシュの格納件数を多くし、優先度の低いキャッシュの格納件数を少なくし、利用頻度の高いフィールドに高い優先度を与えることにより、利用頻度の高いフィールドのキャッシュ内に占める割合が増えるためである。
【０１１５】
なお、本発明の実施形態であるフィールド優先度別端末キャッシュ格納システム、システムを構成する携帯端末及びサーバは、ハードウェア、ソフトウェア又はこれらの組合せにより実現することができる。
【産業上の利用可能性】
【０１１６】
本発明によれば、サーバでデータを管理し、端末でデータをキャッシュして参照するといった用途に適用できる。管理及びキャッシュの対象とするデータとしては例えば、ＰＩＭ（Personal Information Manager）データが好適である。特に、サイズが大きいフィールドを持つＰＩＭデータや、フィールド毎の利用頻度の差が大きいＰＩＭデータをキャッシュして参照するようなケースについて有効である。
【図面の簡単な説明】
【０１１７】
【図１】本発明の第１の実施形態にかかる端末キャッシュ格納システムを示す図である。
【図２】本発明の第１の実施形態にかかる端末キャッシュ格納システムにおけるデータ管理サーバを示すブロック図である。
【図３】本発明の第１の実施形態にかかる端末キャッシュ格納システムにおける携帯端末を示すブロック図である。
【図４】本発明の第１の実施形態においてフィールド優先度情報テーブル１２１、２４１においてメールデータの場合のフィールド優先度の設定例を示す図である。
【図５】本発明の第１の実施形態において「優先度＝優先」のフィールドを格納する場合のキャッシュ格納状態情報テーブル２４２と、優先フィールドキャッシュ２４３と、通常フィールドキャッシュ２４４とを示す図である。
【図６】本発明の第１の実施形態において「優先度＝通常」のフィールドをデータ管理サーバ１へ要求中の場合のキャッシュ格納状態情報テーブル２４２と、優先フィールドキャッシュ２４３と、通常フィールドキャッシュ２４４とを示す図である。
【図７】本発明の第１の実施形態において「優先度＝通常」のフィールドで格納状態が未格納のレコードが存在しない場合のキャッシュ格納状態情報テーブル２４２と、優先フィールドキャッシュ２４３と、通常フィールドキャッシュ２４４とを示す図である。
【図８】本発明の第１の実施形態において格納済の項目を削除してデータ管理サーバ１から取得した新たな項目の「優先度＝優先」のフィールドを格納する場合のキャッシュ格納状態情報テーブル２４２と、優先フィールドキャッシュ２４３と、通常フィールドキャッシュ２４４とを示す図である。
【図９】本発明の第１の実施形態において携帯端末のデータ利用ソフトウェアがアクセッサを取得する際の動作を示すフローチャートである。
【図１０】本発明の第１の実施形態において携帯端末のデータ利用ソフトウェアがアクセッサを使用してフィールドの値を取得する際の動作を示すフローチャートである。
【図１１】本発明の第２の実施形態においてフィールド優先度情報テーブル１２１、２４１においてアドレスデータの場合のフィールド優先度の設定例を示す図である。
【図１２】本発明の第２の実施形態において準備段階のキャッシュ格納状態情報テーブル２４２と、優先フィールドキャッシュ２４３と、通常フィールドキャッシュ２４４とを示す図である。
【図１３】本発明の第２の実施形態において「優先度＝優先」のフィールドを格納する場合のキャッシュ格納状態情報テーブル２４２と、優先フィールドキャッシュ２４３と、通常フィールドキャッシュ２４４とを示す図である。
【図１４】本発明の第２の実施形態において通常フィールドキャッシュ２４４の未使用レコードを確保する場合のキャッシュ格納状態情報テーブル２４２と、優先フィールドキャッシュ２４３と、通常フィールドキャッシュ２４４とを示す図である。
【図１５】本発明の第２の実施形態において「優先度＝通常」のフィールドを格納し、格納件数が上限に達している場合のキャッシュ格納状態情報テーブル２４２と、優先フィールドキャッシュ２４３と、通常フィールドキャッシュ２４４とを示す図である。
【図１６】本発明の第２の実施形態において通常フィールドキャッシュ２４４から格納済の項目を削除してデータ管理サーバ１から取得した新たな項目の「優先度＝通常」のフィールドを格納する場合のキャッシュ格納状態情報テーブル２４２と、優先フィールドキャッシュ２４３と、通常フィールドキャッシュ２４４とを示す図である。
【図１７】本発明の第２の実施形態において携帯端末のデータ利用ソフトウェアがアクセッサを取得する際の動作を示すフローチャートである。
【図１８】本発明の第２の実施形態において携帯端末のデータ利用ソフトウェアがアクセッサを使用してフィールドの値を取得する際の動作を示すフローチャートである。
【符号の説明】
【０１１８】
１  データ管理サーバ
２  携帯端末
３  通信回線
１１  データ管理ソフトウェア
１２  データベース
２１  データ利用ソフトウェア
２２  データアクセスソフトウェア
２３  アクセッサ
２４  ストレージ
１１１  通信手段
１１２  データ参照手段
１１３  フィールド優先度情報取得手段
１２１  フィールド優先度情報テーブル
１２２  データテーブル
２２１  アクセッサ取得手段
２２２  キャッシュ制御手段
２２３  サーバ通信手段
２３１  フィールドデータ取得手段
２４１  フィールド優先度情報テーブル
２４２  キャッシュ格納状態情報テーブル
２４３  優先フィールドキャッシュ
２４４  通常フィールドキャッシュ
【図１】
0005093757.tif 000002
【図２】
0005093757.tif 000003
【図３】
0005093757.tif 000004
【図４】
0005093757.tif 000005
【図５】
0005093757.tif 000006
【図６】
0005093757.tif 000007
【図７】
0005093757.tif 000008
【図８】
0005093757.tif 000009
【図９】
0005093757.tif 000010
【図１０】
0005093757.tif 000011
【図１１】
0005093757.tif 000012
【図１２】
0005093757.tif 000013
【図１３】
0005093757.tif 000014
【図１４】
0005093757.tif 000015
【図１５】
0005093757.tif 000016
【図１６】
0005093757.tif 000017
【図１７】
0005093757.tif 000018
【図１８】
0005093757.tif 000019