JP5217376B2 - 端末キャッシュ管理装置、端末キャッシュ管理方法及びプログラム - Google Patents

端末キャッシュ管理装置、端末キャッシュ管理方法及びプログラム Download PDF

Info

Publication number
JP5217376B2
JP5217376B2 JP2007297599A JP2007297599A JP5217376B2 JP 5217376 B2 JP5217376 B2 JP 5217376B2 JP 2007297599 A JP2007297599 A JP 2007297599A JP 2007297599 A JP2007297599 A JP 2007297599A JP 5217376 B2 JP5217376 B2 JP 5217376B2
Authority
JP
Japan
Prior art keywords
data
cache
user data
user
terminal
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2007297599A
Other languages
English (en)
Other versions
JP2009123047A (ja
Inventor
靖二 甲能
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2007297599A priority Critical patent/JP5217376B2/ja
Publication of JP2009123047A publication Critical patent/JP2009123047A/ja
Application granted granted Critical
Publication of JP5217376B2 publication Critical patent/JP5217376B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、ネットワークを介して接続された携帯端末のキャッシュを管理する端末キャッシュ管理サーバ、端末キャッシュ管理方法及びプログラムに関する。
近年の携帯電話システムは、単なる会話機能以外に、電子メールやインターネットのブラウザなどの機能が搭載され高機能化が図られている。次世代携帯電話システムでは、ゲームや動画配信を始めとする更に高機能で多彩なアプリケーションが搭載され、拡大する傾向にある。このような高速動作が必要な携帯電話においては、CPU内部等にキャッシュメモリが設けられる。キャッシュメモリに使用頻度の高いデータを蓄積しておくことにより、低速なメインメモリへのアクセスを減らすことができ、処理を高速化することができる。
ところで、特許文献1には、サービスコンテンツを効率的に更新するサーバが開示されている。この従来のサーバは、コンテンツ保持手段とコンテンツ管理手段と通信手段とを備える。コンテンツ保持手段はクライアント端末に提供する各種のサービスコンテンツを記憶するメモリである。また、コンテンツ管理手段は、キャッシュ識別子を付与するキャッシュ識別子付与手段を備えている。このキャッシュ識別し付与手段がサービスコンテンツの格納されたカテゴリに応じてキャッシュ識別を付与する。このキャッシュ識別子によりクライアント端末でコンテンツのキャッシュ状態が管理されている。
特開2004−133543号公報
しかしながら、従来、通常、携帯端末のキャッシュは携帯端末側でその状態が管理される。携帯端末のキャッシュを携帯端末側でのみ管理すると、サーバでデータが変更された場合に、新しいデータを携帯端末のキャッシュに自動的には反映することはできないため、古いデータが端末のキャッシュに残るという問題があった。また、携帯端末でのキャッシュ時にデータの有効期限を付加して期限切れのデータをキャッシュから削除することにより前述の問題に対処するものもあるが、データ変更が行われていないデータも削除されるため有効期限の設定が困難という問題があった。また、サーバ側で携帯端末のキャッシュ状況を把握できないため、サーバ側の判断でユーザデータを携帯端末のキャッシュに格納させることもできなかった。
本発明は、このような問題点を解決するためになされたものであり、携帯端末のキャッシュ状態の管理をサーバ側で行うことが可能な端末キャッシュ管理装置、端末キャッシュ管理方法及びプログラムを提供することを目的とする。
上述した課題を解決するために、本発明に係る端末キャッシュ管理装置は、キャッシュを有する携帯端末の当該キャッシュを管理するデータ管理サーバであって、前記携帯端末と通信する通信手段と、前記携帯端末からユーザデータのアクセスに関する要求を受け付けるデータアクセス管理手段と、前記携帯端末のキャッシュ状態を管理するキャッシュ状態管理手段と、前記携帯端末で使用するユーザデータを格納するユーザデータテーブルと、前記携帯端末毎にキャッシュ状態を管理するキャッシュ状態管理テーブルとを有し、前記アクセスに関する要求を受け付けた場合、前記キャッシュ状態管理手段が前記キャッシュ状態管理テーブルを参照し、前記携帯端末のキャッシュを最新のデータに更新する必要があるか否かのチェックし、必要に応じて前記携帯端末のキャッシュを更新するものである。
本発明にかかる端末キャッシュ管理方法は、キャッシュを有する携帯端末の当該キャッシュを管理するデータ管理方法であって、前記携帯端末からユーザデータのアクセスに関する要求を受け付けとり、前記携帯端末のキャッシュの状態を管理するキャッシュ状態管理テーブルを参照し、前記キャッシュのユーザデータを最新のユーザデータに更新する必要があるか否かのチェックをし、最新のユーザデータに更新する必要がある場合は、前記携帯端末のキャッシュデータを最新の状態に更新するべくユーザデータテーブルから読み出したユーザデータを前記携帯端末に送信する。
本発明にかかるプログラムは、キャッシュを有する携帯端末の当該キャッシュを管理する動作をコンピュータに実行させるためのプログラムであって、前記携帯端末からユーザデータのアクセスに関する要求を受け付けとり、前記携帯端末のキャッシュの状態を管理するキャッシュ状態管理テーブルを参照し、前記キャッシュのユーザデータを最新のユーザデータに更新する必要があるか否かのチェックをし、最新のユーザデータに更新する必要がある場合は、前記携帯端末のキャッシュデータを最新の状態に更新するべくユーザデータテーブルから読み出したユーザデータを前記携帯端末に送信するものである。
本発明によれば、携帯端末のキャッシュ状態の管理をサーバ側で行うことが可能な端末キャッシュ管理装置、端末キャッシュ管理方法及びプログラムを提供することができる。
先ず、本発明の概要について説明する。図1は、本発明の原理を説明するための端末キャッシュ管理サーバ(以下、データ管理サーバという。)を示す図である。データ管理サーバ1は、携帯端末とネットワークを介して接続され、携帯端末のキャッシュの状態を管理可能に構成される。
このデータ管理サーバ1は、データ管理ソフトウェア11とデータベース12とを有する。データ管理ソフトウェア11は、携帯端末と通信する通信部111と、携帯端末からユーザデータのアクセスに関する要求を受け付けるデータアクセス管理部112と、携帯端末のキャッシュ状態を管理するキャッシュ状態管理部115を有する。データベース12は、携帯端末で使用するユーザデータを格納するユーザデータテーブル123と、携帯端末毎にキャッシュ状態を管理するキャッシュ状態管理テーブル124とを有する。
このデータ管理サーバ1は、携帯端末からユーザデータのアクセスに関する要求を受け付けとり、キャッシュ状態管理テーブル124を参照し、携帯端末のキャッシュのユーザデータを最新のユーザデータに更新する必要があるか否かのチェックをする。そして、最新のユーザデータに更新する必要がある場合は、携帯端末のキャッシュデータを最新の状態に更新するべく、データアクセス管理部112がユーザデータテーブル123から読み出したユーザデータを、通信部111を介して携帯端末に送信する。以上により、データ管理サーバ1のキャッシュ状態管理テーブル124には、携帯端末の最新のキャッシュ状態が格納されることとなる。
以下、本発明を適用した具体的な実施例について、図面を参照しながら詳細に説明する。この実施例は、本発明を、携帯端末でキャッシュしているユーザデータの状態をサーバ側で管理できるデータ管理サーバに適用したものである。
本実施例においては、上述の構成を有するので、メールアドレス、スケジュール等のユーザデータ(項目)が携帯端末にキャッシュされているかどうかをデータ管理サーバ側で把握することが可能になり、ある携帯端末によるユーザデータの変更内容を、該当データをキャッシュしている同一ユーザが使用する他の携帯端末に自動的に反映することが可能となる。また、サーバ側の判断でユーザデータを携帯端末のキャッシュに格納させることも可能となる。
[第1の実施例]
図2は、本発明の第1の実施例にかかる端末キャッシュ状態管理システムを示す図である。図2を参照すると端末キャッシュ状態管理システム100は、データ管理サーバ1と、同一ユーザが使用する携帯端末2及び携帯端末3とから構成されている。データ管理サーバ1、携帯端末2及び携帯端末3はインターネットなどの通信回線4を介して接続され通信を行う。
データ管理サーバ1は、データ管理ソフトウェア11と、データベース12とを含む。
携帯端末2は、パケット通信などの通信機能を有していてインターネットなどの通信回線4に接続可能な携帯電話等であり、データ利用ソフトウェア21と、データアクセスソフトウェア22と、データアクセスソフトウェア22が利用可能なストレージ23とを含む。
携帯端末3は、携帯端末2と同一の構成であり、パケット通信などの通信機能を有していてインターネットなどの通信回線4に接続可能な携帯電話等であり、データ利用ソフトウェア31と、データアクセスソフトウェア32と、データアクセスソフトウェア32が利用可能なストレージ33とを含む。
図3は、データ管理サーバを示すブロック図である。図3を参照するとデータ管理ソフトウェア11は通信部111と、データアクセス管理部112と、データ参照部113と、データ変更部114と、キャッシュ状態管理部115と、プッシュ配信要求部116とを含む。
データベース12は、ユーザ情報テーブル121と、端末情報テーブル122と、ユーザデータテーブル123と、キャッシュ状態管理テーブル124とを含む。ユーザ情報テーブル121は、ユーザ毎にユーザIDやパスワード等のユーザ情報を管理する。ユーザデータには、項目ID、ユーザデータ種別が対応づけられる。項目IDは、個々のメールアドレスや、個々のスケジュールなどのユーザデータ毎にユーザデータを識別するためのIDである。ユーザデータ種別は、ユーザデータの種類を示し、メールアドレスやスケジュールなどが該当する。端末情報テーブル122は、ユーザを識別するユーザID及び同一ユーザが使用する1以上の携帯端末を識別する端末ID(以下、紐付け情報ともいう。)を管理する。ユーザデータテーブル123は、携帯端末が使用するユーザデータを、項目IDをキーとして格納する。キャッシュ状態管理テーブル124は、前述のユーザデータの携帯端末でのキャッシュ状態を管理する。
キャッシュ状態管理テーブル124には、同期済/未登録/未更新/未削除/削除/キャッシュ削除/プッシュ配信のいずれかの状態が記録されている。同期済は、携帯端末のキャッシュに最新のデータが格納されていることを示す。未登録は、携帯端末側にユーザデータが登録されていない状態であることを示す。未更新は、携帯端末のキャッシュのユーザデータがまだ更新されていない状態を示す。未削除は、データ管理サーバ1上では削除されているが、携帯端末のキャッシュにデータが残っている状態を示す。削除は、携帯端末のキャッシュからユーザデータが削除されている状態を示す。キャッシュ削除は、データ管理サーバ1上にはデータがあるが、例えばメモリ不足など携帯端末側の事情で携帯端末のキャッシュからデータが削除された状態を示す。プッシュ配信は、データ管理サーバ1側からデータを送信したい状態であることを示す。
なお、ユーザデータテーブル123とキャッシュ状態管理テーブル124はアドレスデータやスケジュールデータ等のユーザデータ種別毎に別々に用意するものであるが、キャッシュに関する処理は共通のものを使用する。図3においてユーザデータテーブル123とキャッシュ状態管理テーブル124は1セットしか記載していないが、ユーザデータ種別が複数であれば複数のセットが存在する。
図4は、携帯端末を示すブロック図である。図4を参照するとデータ利用ソフトウェア21は、アドレス帳やスケジューラ等のアプリケーションであり、データアクセスソフトウェア22を介してサーバで管理しているユーザデータにアクセスする。データアクセスソフトウェア22は、データアクセス部221と、サーバ通信部222と、キャッシュ管理部223とを含む。
ストレージ23は、ユーザ情報231と、ユーザデータキャッシュ232とを含む。ユーザ情報231は、ユーザIDや認証に使用するパスワードや端末IDを格納する。ユーザデータキャッシュ232は、サーバから取得したユーザデータをキャッシュする。なお、ユーザデータキャッシュ232はアドレスデータやスケジュールデータ等のユーザデータ種別毎に別々に用意するものであるが、キャッシュに関する処理は共通のものを使用する。図4においてユーザデータキャッシュ232は1つしか記載していないが、ユーザデータ種別が複数であれば複数のユーザデータキャッシュが存在する。図5は、携帯端末3を示すブロック図である。携帯端末3の構成は、携帯端末2と同一の構成である。
データ管理ソフトウェア11の各ブロックはそれぞれ概略つぎのように動作する。通信部111は、携帯端末2、3のデータアクセスソフトウェア22、32との通信に関する処理を行う。データアクセスソフトウェア22、32からメッセージを受信した場合、メッセージからユーザデータのアクセスに関する要求を取り出してデータアクセス管理部112に渡す。また、要求に対する応答をデータアクセス管理部112から受け取り送信元の携帯端末のデータアクセスソフトウェアに返信する。また、通信部111はメッセージに含まれるユーザ情報とデータベース12のユーザ情報テーブル121を使用して認証処理を行う。認証処理の方法に関しては、APサーバ(アプリケーションサーバ)で提供する既知の認証機能の利用や独自ソフトウェアの実装など特に手段を問わない。また、通信部111はメッセージに含まれるユーザ情報、端末ID及びデータベース12の端末情報テーブル122を使用してユーザIDと端末IDからなる紐付け情報の登録チェックも行う。
データアクセス管理部112は、通信部111から渡された要求から端末IDとユーザIDを取得しそれらをキーとしてデータベース12のキャッシュ状態管理テーブル124の検索を行い、同期が必要(最新のデータに更新が必要)なユーザデータが存在するかチェックする。また、受信した要求がデータ参照要求の場合はデータ参照部113に、データ変更要求、データ同期開始要求、及びデータ同期応答の場合はデータ変更部114に振り分ける。それ以外の要求の場合、その内容に基づいてデータ管理ソフトウェア11内のデータアクセスに関係のない他の手段(図示せず)に振り分ける。呼び出したブロックの処理が完了したら、処理結果から応答を生成して通信部111に返す。なお、上述したように、データアクセス管理部112がユーザデータテーブル123にアクセスしてデータを登録、更新又は削除するようにしてもよいが、本実施例のように、データ参照部113及びデータ変更部114を設けてユーザデータテーブル123にアクセスするようにしてもよい。
データ参照部113は、データ参照要求から取得したユーザデータ種別及び項目ID又は検索条件を使用してユーザデータテーブル123を検索してユーザデータを取得する。そして端末ID、ユーザID、ユーザデータ種別、項目ID及びアクセス種別をセットにしてキャッシュ状態管理部115に渡してキャッシュ状態管理テーブル124の該当レコードのキャッシュ状態の更新を依頼する。アクセス種別には参照(読込や検索)/登録/更新/削除/キャッシュ削除があり、データ参照部113は、データ参照要求からアクセス種別=参照を取得する。アクセス種別は、携帯端末がデータ管理サーバに対してどのような目的で要求を送信しているかを示し、キャッシュ状態管理部115の更新判断に使用される。キャッシュ状態管理部115の処理が終わったら、データアクセス管理部112に取得したユーザデータを返す。
データ変更部114は、データ変更要求からを受信した場合、キャッシュ状態管理部115に衝突発生有無の問合せを行い、衝突が発生していなければデータ変更要求の内容に応じてユーザデータテーブル123を変更し、キャッシュ状態管理テーブル124のキャッシュ状態の更新をキャッシュ状態管理部115に依頼する。衝突とは、携帯端末側2のユーザデータが、データ管理サーバ1のユーザデータテーブル123のユーザデータより古くなった状態で、携帯端末2において、該当ユーザデータの更新や削除などの変更が行われた場合を示す。また、データ変更部114は、データ同期開始要求を受信した場合、キャッシュ状態管理部115に同期が必要なユーザデータ問合せを行い、渡された項目ID及びアクセス種別に応じて同期情報を生成する。また、データ変更部114は、データ同期応答を受信した場合、キャッシュ状態管理部115にデータ同期応答の内容に応じてキャッシュ状態管理テーブル124のキャッシュ状態の変更をキャッシュ状態管理部115に依頼する。
キャッシュ状態管理部115は、データ参照部113やデータ変更部114から同期が必要なデータの有無を問い合わせされた場合、渡された端末IDとユーザIDとユーザデータ種別でキャッシュ状態管理テーブル124を検索して同期が必要なユーザデータが存在するかチェックして処理結果を返す。同期が必要なデータとは、処理対象のユーザデータと端末ID及びユーザIDが同じでかつキャッシュの状態が、未登録、未更新、未削除又はプッシュ配信である場合である。また、キャッシュ状態管理部115は、データ変更部114から衝突発生の有無を問い合わせされた場合、渡された端末ID、ユーザID、ユーザデータ種別及び項目IDでキャッシュ状態管理テーブル124を検索してアクセス種別に応じた衝突判定をして処理結果を返す。衝突は、処理対象のユーザデータのキャッシュ状態が、端末ID、ユーザID、ユーザデータ種別及び項目IDより検索した結果、未登録、未更新、又は未削除となっている場合である。また、キャッシュ状態管理部115は、キャッシュ状態管理テーブル124のキャッシュ状態の変更を要求された場合、渡された端末ID、ユーザID、ユーザデータ種別、項目ID、及びアクセス種別に応じてキャッシュ状態管理テーブル124の該当レコードのキャッシュ状態の変更を行う。
プッシュ配信要求部116は、サーバ側の判断でユーザデータを携帯端末のキャッシュに格納したい場合に使用する。データ管理ソフトウェア11内の管理者向け機能等の手段(図示せず)から要求を受けて、指定された端末ID、ユーザID、ユーザデータ種別、及び項目IDをセットにしてキャッシュ状態管理部115に渡してキャッシュ状態管理テーブル124の該当レコードのキャッシュ状態の更新を依頼する。
データアクセスソフトウェア22の手段はそれぞれ概略つぎのように動作する。データアクセス部221は、データ利用ソフトウェア21からのユーザデータへのアクセス要求を受け付ける。データ参照の場合、キャッシュ管理部223にユーザデータ種別と項目IDを渡してストレージ23のユーザデータキャッシュ232からのユーザデータ取得を試みる。そして、データを取得できない場合はサーバ通信部212を介してデータ管理サーバ1へデータ参照要求を行い、データ参照応答を受信したらキャッシュ管理部223にユーザデータキャッシュ232への反映を依頼する。なお、データ参照応答の処理結果が要データ同期の場合は、元のデータ参照要求を保留してデータ管理サーバ1にデータ同期開始要求を行い、データ同期要求を受信したらキャッシュ管理部223にユーザデータキャッシュ232への反映を依頼する。データ変更の場合、キャッシュ管理部223にユーザデータキャッシュ232の変更を依頼し、さらにサーバ通信部212を介してデータ管理サーバへデータ変更要求を行う。
サーバ通信部212は、他の手段から受信した処理要求の内容に基づいてデータ管理サーバ1のデータ管理ソフトウェア11に対して処理要求を送信し、返信されてきた応答を要求元の手段に返す。
キャッシュ管理部223は、ストレージ23のユーザデータキャッシュ232へのアクセス要求を処理する。データ参照の場合、渡されたユーザデータ種別と項目IDで該当するユーザデータを検索し、存在の有無と存在する場合のみユーザデータを返す。データ変更の場合、アクセス種別が登録の場合は渡されたユーザデータ種別、項目ID、及びユーザデータをキャッシュに格納し、アクセス種別が更新の場合は渡されたユーザデータ種別、項目ID及びユーザデータでキャッシュを更新し、アクセス種別が削除の場合は渡されたユーザデータ種別及び項目IDでキャッシュを削除する。
次に、本発明の第1の実施例の動作について詳細に説明する。まず、準備段階のシステムの動作について説明する。最初に、データ管理サーバ1において利用するユーザのユーザIDやパスワード等の情報をユーザ情報テーブル121に登録する。また、ユーザIDとユーザが使用する携帯端末の端末IDを紐付けて端末情報テーブル122に登録する。また、ユーザが使用するユーザデータ種別のスキーマ情報(データベースの構成情報)に従ってユーザデータテーブル123を生成し、ユーザデータテーブル123とセットでキャッシュ状態管理テーブル124を生成する。
次に、携帯端末2にはデータ利用ソフトウェア21とデータアクセスソフトウェア22を事前にインストールしておく。インストールはインターネットなどの通信回線4経由でデータ管理サーバ1からダウンロードしたり、図2には記載していないPCとケーブルで接続してダウンロードしたり、携帯端末2でインストールに使用可能な外部媒体を使用して行うものとする。
次に、データアクセスソフトウェア22はインストール時又はデータ利用ソフトウェア21による初期化要求時などに図示していない手段でユーザID、パスワード、及び端末ID等のユーザ情報を受け取り、ストレージ23のユーザ情報231として格納する。なお、ユーザ情報の入力手段としてユーザによる画面からの手入力、ソフトウェアと同時に情報をダウンロード等、手段を特に問わないものとする。また、携帯端末で提供するライブラリから端末IDを直接取得することが可能な場合、データアクセスソフトウェア22がライブラリを使用して端末IDを取得してユーザ情報231に格納する。携帯端末3は、携帯端末2と同一構成である。
(1)携帯端末のデータ利用ソフトウェアがユーザデータを参照する時のシステムの動作
図6は、携帯端末のデータ利用ソフトウェアがデータを参照する際の動作を示すフローチャートである。最初に、携帯端末2のデータ利用ソフトウェア21を起動して、ユーザが画面表示を確認してユーザデータの参照が必要となる操作を行う。そして、データ利用ソフトウェア21は参照したいユーザデータをユーザデータ種別及び項目ID又は検索条件で指定して、データアクセスソフトウェア22のデータアクセス部221に要求する(ステップS1)。
次に、データアクセス部221はキャッシュ管理部223に指定されたユーザデータ種別及び項目ID又は検索条件を渡す。そして、キャッシュ管理部223はストレージ23のユーザデータキャッシュ232にユーザデータが存在するかチェックする(ステップS2)。存在する場合、ユーザデータキャッシュ232からユーザデータを取得してデータアクセス部221に渡し、データアクセス部221はデータ利用ソフトウェア21にユーザデータを返して処理を終了する(ステップS3)。存在しない場合、データアクセス部221はサーバ通信部222を介してデータ管理サーバ1のデータ管理ソフトウェア11の通信部111へデータ参照要求を行う。データ参照要求には端末ID、ユーザID、パスワード、指定されたユーザデータ種別及び項目ID又は検索条件を設定する(ステップS4)。
次に、データ管理ソフトウェア11の通信部111はデータ参照要求のユーザ情報とデータベース12のユーザ情報テーブル121及び端末情報テーブル122を使用して認証処理を行い、認証結果が正常であればデータ参照要求をデータアクセス管理部112に渡す。データアクセス管理部112は、データ参照要求から端末ID、ユーザID及びユーザデータ種別を取得してキャッシュ状態管理部115に渡す。キャッシュ状態管理部115は、ユーザデータ種別と合致するキャッシュ状態管理テーブル124から端末IDとユーザIDが同じでかつキャッシュ状態が未登録/未更新/未削除/プッシュ配信の条件を満たすレコードを検索する。これらは、上述したように同期が必要なユーザデータである。そして、同期が必要なユーザデータの有無をデータアクセス管理部112に返す。同期が不要であればデータアクセス管理部112は、データ参照部113にデータ参照要求を渡す。同期が必要な場合の動作に関しては、後述する別のパターンにて説明する。データ参照部113は、データ参照要求からユーザデータ種別及び項目ID又は検索条件を取得する。そして、ユーザデータ種別が合致するユーザデータテーブル123から項目ID又は検索条件を使用してユーザデータを取得する。検索条件を使用した場合は、ユーザデータと共に項目IDも取得する(ステップS5)。
次に、データ参照部113は、端末ID、ユーザID、ユーザデータ種別、項目ID、及びアクセス種別=参照をセットにしてキャッシュ状態管理部115に渡す。キャッシュ状態管理部115は、ユーザデータ種別が合致するキャッシュ状態管理テーブル124を端末ID、ユーザID及び項目IDをキーとして検索して該当レコードを取得する。該当レコードのキャッシュ状態が同期済の場合はキャッシュ状態の更新を行わずにデータ参照部113に処理結果を正常として返す。該当レコードのキャッシュ状態がキャッシュ削除の場合は、キャッシュ状態を同期済に更新してデータ参照部113に処理結果を正常として返す。なお、アクセス種別が参照の場合、キャッシュ状態が未削除/削除となる項目IDは、既にユーザデータテーブル123から削除されているためキャッシュ状態管理部115に渡されることはない。図7は、キャッシュ状態管理テーブル124においてキャッシュ状態をキャッシュ削除から同期済に更新する例を示している(ステップS6、S7)。なお、処理中フラグは、携帯端末に反映されていないユーザデータがデータ管理サーバ1側にあり、変更情報を携帯端末に送ったときONになり、携帯端末側でデータを更新した場合にOFFになるフラグである。
次に、データ参照部113は取得したユーザデータをデータアクセス管理部112に返す。データアクセス管理部112は渡されたユーザデータと元のデータ参照要求からデータ参照応答を生成して通信部111に返す。通信部111は渡されたデータ参照応答を携帯端末2のデータアクセスソフトウェア22のサーバ通信部222に返信する。(ステップS8)。
次に、データアクセスソフトウェア22のサーバ通信部222は受け取ったデータ参照応答をデータアクセス部221に渡す。データアクセス部221はデータ参照応答からユーザデータ種別、項目ID及びユーザデータを取り出してキャッシュ管理部223に渡す。キャッシュ管理部223は渡されたユーザデータ種別と合致するユーザデータキャッシュ232に項目IDとユーザデータを格納し、データアクセス部221に正常として返す。(ステップS9)。
次に、データアクセス部221はデータ利用ソフトウェア21にユーザデータ種別、項目ID及びユーザデータを返す。データ利用ソフトウェア21は渡されたユーザデータを画面表示や操作等に利用する(ステップS10)。
(2)携帯端末のデータ利用ソフトウェアがユーザデータを登録する時のシステムの動作
図8は、携帯端末のデータ利用ソフトウェアがユーザデータを登録する際の動作を示すフローチャートである。最初に、携帯端末2のデータ利用ソフトウェア21を起動して、ユーザが画面表示を確認してユーザデータの登録操作を行う。そして、データ利用ソフトウェア21はユーザデータ種別と共にユーザデータの登録をデータアクセスソフトウェア22のデータアクセス部221に要求する(ステップS11)。
次に、データアクセス部221はキャッシュ管理部223に指定されたユーザデータ種別及びユーザデータを渡す。そして、キャッシュ管理部223は一時IDを採番してストレージ23のユーザデータ種別が合致するユーザデータキャッシュ232に一時IDとユーザデータを格納し、処理結果と一時IDを返す(ステップS12)。一時IDとは、携帯端末側でユーザデータに付される一時的な仮のIDである。当該一時IDが付されたユーザデータは、データ管理サーバ1にて項目IDを付される。データアクセス部221は一時IDを、後で項目IDに書き換えるために、内部のメモリ等に内部退避した後、サーバ通信部222を介してデータ管理サーバ1のデータ管理ソフトウェア11の通信部111へデータ変更要求を行う。データ変更要求には端末ID、ユーザID、パスワード、指定されたユーザデータ種別、ユーザデータ、及びアクセス種別=登録を設定する(ステップS13)。
次に、データ管理ソフトウェア11の通信部111はデータ変更要求のユーザ情報とデータベース12のユーザ情報テーブル121及び端末情報テーブル122を使用して認証処理を行い、認証結果が正常であればデータ変更要求をデータアクセス管理部112に渡す。そして、データアクセス管理部112はデータ変更要求をデータ変更部114に渡す。データ変更部114は、データ変更要求から取得したユーザデータ種別の項目IDを新たに採番し、その項目IDでユーザデータ種別と合致するユーザデータテーブル123にデータ変更要求から取得したユーザデータを登録する(ステップS14、S15)
次に、データ変更部114は端末ID、ユーザID、ユーザデータ種別、項目ID及びアクセス種別=登録をセットにしてキャッシュ状態管理部115に渡す。キャッシュ状態管理部115は、ユーザデータ種別と合致するキャッシュ状態管理テーブル124に端末ID、ユーザID及び項目IDをキーとしてキャッシュ状態を同期済でレコードを登録する。そして、ユーザIDをキーとして端末情報テーブル122の検索を行い、同一ユーザが使用する別の端末IDが存在するかチェックする。存在しない場合、データ変更部114に処理結果を正常として返す。存在する場合、キャッシュ状態管理テーブル124に別の端末ID、ユーザID及び項目IDをキーとしてキャッシュ状態を未登録でレコードを登録し、データ変更部114に処理結果を正常として返す。同一ユーザの別の携帯端末のキャッシュ状態を未登録としておくことで、当該別の携帯端末からデータ管理サーバにアクセスがあった際にこのキャッシュ状態に応じて別の携帯端末のキャッシュも更新されることになる。図9は、キャッシュ状態管理テーブル124において要求元の端末IDでキャッシュ状態を同期済でレコードを登録、及び同一ユーザが使用する別の端末IDでキャッシュ状態を未登録でレコードを登録する例を示している(ステップS16〜S18)
次に、データ変更部114は処理結果と採番した項目IDをデータアクセス管理部112に返す。データアクセス管理部112は渡された処理結果と項目IDと元のデータ変更要求からデータ変更応答を生成して通信部111に返す。通信部111は渡されたデータ変更応答を携帯端末2のデータアクセスソフトウェア22のサーバ通信部222に返信する(ステップS19)。
次に、データアクセスソフトウェア22のサーバ通信部222は受け取ったデータ変更応答をデータアクセス部221に渡す。データアクセス部221は、データ変更応答からユーザデータ種別と項目IDを取得し、内部退避していた一時IDと共にキャッシュ管理部223に渡す。キャッシュ管理部223は渡されたユーザデータ種別と合致するユーザデータキャッシュ232に格納されている一時IDを項目IDに更新し、データアクセス部221に正常として返す(ステップS20)。次に、データアクセス部221はデータ利用ソフトウェア21に処理結果を返す。データ利用ソフトウェア21は渡された処理結果を画面表示や操作等に利用する(ステップS21)。
(3)登録されたユーザデータを同一ユーザの別の携帯端末に反映する時のシステムの動作
図10は、登録されたユーザデータを同一ユーザの別の携帯端末に反映する際の動作を示すフローチャートである。最初に、携帯端末3のデータ利用ソフトウェア31を起動して、ユーザが画面表示を確認してユーザデータの参照が必要となる操作を行う。そして、データ利用ソフトウェア31は参照したいユーザデータをユーザデータ種別及び項目ID又は検索条件で指定して、データアクセスソフトウェア32のデータアクセス部321に要求する。データアクセス部321は、キャッシュ管理部323への問い合わせの結果、データ利用ソフトウェア31から渡されたユーザデータ種別及び項目ID又は検索条件に合致するユーザデータがユーザデータキャッシュ332に存在しないため、サーバ通信部322を介してデータ管理サーバ1のデータ管理ソフトウェア11の通信部111へデータ参照要求を行う。データ参照要求には端末ID、ユーザID、パスワード、指定されたユーザデータ種別及び項目ID又は検索条件を設定する(ステップS31)。
次に、データ管理ソフトウェア11の通信部111はデータ参照要求のユーザ情報とデータベース12のユーザ情報テーブル121及び端末情報テーブル122を使用して認証処理を行い、認証結果が正常であればデータ参照要求をデータアクセス管理部112に渡す。データアクセス管理部112は、データ参照要求から端末ID、ユーザID、及びユーザデータ種別を取得してキャッシュ状態管理部115に渡す。キャッシュ状態管理部115は、ユーザデータ種別と合致するキャッシュ状態管理テーブル124から端末ID及びユーザIDが同じでかつキャッシュ状態が未登録/未更新/未削除/プッシュ配信の条件を満たすレコードを検索する。これらは同期が必要なデータである。こうして同期が必要なユーザデータの有無をデータアクセス管理部112に返す(ステップS32、S33)。同期が不要であればデータアクセス管理部112は、データ参照部113にデータ参照要求を渡してステップS5〜S10と同一の処理を行い、以降に記載する処理は行わない。同期が必要であればデータアクセス管理部112は、データ同期要の処理結果と元のデータ参照要求からデータ参照応答を生成して通信部111に返す。通信部111は渡されたデータ参照応答を携帯端末3のデータアクセスソフトウェア32のサーバ通信部322に返信する(ステップS34)。
次に、データアクセスソフトウェア32のサーバ通信部322は受け取ったデータ参照応答を取り出してデータアクセス部321に渡す。データアクセス部321は、データ参照応答から取得した処理結果が、データ同期が必要なため、元のデータ参照要求を内部退避して保留中にし、サーバ通信部322を介してデータ管理サーバ1のデータ管理ソフトウェア11の通信部111へデータ同期開始要求を行う。データ同期開始要求には端末ID、ユーザID、パスワード、及び同期するユーザデータ種別を設定する(ステップS35)。
次に、データ管理ソフトウェア11の通信部111はデータ同期開始要求のユーザ情報とデータベース12のユーザ情報テーブル121及び端末情報テーブル122を使用して認証処理を行い、認証結果が正常であればデータ同期開始要求をデータアクセス管理部112に渡す。そして、データアクセス管理部112はデータ同期開始要求をデータ変更部114に渡す。データ変更部114は、データ同期開始要求から端末ID、ユーザID及び同期するユーザデータ種別を取得してキャッシュ状態管理部115に渡す。キャッシュ状態管理部115は、ユーザデータ種別と合致するキャッシュ状態管理テーブル124から端末ID及びユーザIDが同じでかつキャッシュ状態が未登録/未更新/未削除/プッシュ配信の条件を満たすレコードを検索する。本例においては、登録されたユーザデータを同一ユーザの別の携帯端末に反映する際の動作であるので、キャッシュ状態が未登録のレコードを取得する。キャッシュ状態管理部115は、該当レコードの処理中フラグをONに設定し、項目ID及びアクセス種別=登録をセットでデータ変更部114に返す(ステップS36)。
そしてデータ変更部114は、ユーザデータ種別が合致するユーザデータテーブル123から項目IDのユーザデータを取得し、ユーザデータ種別、項目ID、ユーザデータ及びアクセス種別=登録をセットにして同期情報としてデータアクセス管理部112に返す。データアクセス管理部112は、渡された同期情報と元のデータ同期開始要求からデータ同期要求を生成して通信部111に返す。通信部111は渡されたデータ同期要求を携帯端末3のデータアクセスソフトウェア32のサーバ通信部322に返信する(ステップS37)。
次に、データアクセスソフトウェア32のサーバ通信部322は受け取ったデータ同期要求をデータアクセス部321に渡す。データアクセス部321は、データ同期要求から同期情報を取得し、同期情報からユーザデータ種別、項目ID及びユーザデータを取り出してキャッシュ管理部323に渡す。キャッシュ管理部323は、渡されたユーザデータ種別と合致するユーザデータキャッシュ331に項目ID及びユーザデータを格納し、データアクセス部321に正常として返す。データアクセス部321は、サーバ通信部322を介してデータ管理サーバ1のデータ管理ソフトウェア11の通信部111へデータ同期応答と共に保留していたデータ参照要求を行う。データ同期応答には端末ID、ユーザID、認証に使用するパスワード、ユーザデータ種別、項目ID、及び処理結果を設定する。データ参照要求はステップS31と同一の内容である(ステップS38)。
次に、データ管理ソフトウェア11の通信部111はデータ同期応答のユーザ情報とデータベース12のユーザ情報テーブル121を使用して認証処理を行い、認証結果が正常であればデータ同期応答とデータ参照応答をデータアクセス管理部112に渡す。そして、データアクセス管理部112はデータ同期応答をデータ変更部114に渡す。データ変更部114は、データ同期応答から端末ID、ユーザID、ユーザデータ種別、及び項目IDを取得してキャッシュ状態管理部115に渡す。キャッシュ状態管理部115は、ユーザデータ種別が合致するキャッシュ状態管理テーブル124から端末ID、ユーザID及び項目IDをキーとして検索し、該当レコードのキャッシュ状態を同期済、処理中フラグをOFFに更新し、処理結果を正常でデータ変更部114に返す。そして、データ変更部114は、処理結果を正常でデータアクセス管理部112に返す。図11は、キャッシュ状態管理テーブル124においてキャッシュ状態が未登録のレコードを同期済に更新する例を示している(ステップS39)。次に、データアクセス管理部112は、データ同期応答と共に渡されたデータ参照要求の処理を開始し、以降はステップS5〜S10と同一の処理を行う(ステップS40)。
(4)携帯端末のデータ利用ソフトウェアがユーザデータを更新する時のシステムの動作
図12は、携帯端末のデータ利用ソフトウェアがユーザデータを更新する際の動作を示すフローチャートである。最初に、携帯端末2のデータ利用ソフトウェア21を起動して、ユーザが画面表示を確認してユーザデータの更新操作を行う。そして、データ利用ソフトウェア21はユーザデータ種別と共にユーザデータの更新をデータアクセスソフトウェア22のデータアクセス部221に要求する(ステップS41)。
次に、データアクセス部221はキャッシュ管理部223に指定されたユーザデータ種別、項目ID及びユーザデータを渡す。そして、キャッシュ管理部223はストレージ23のユーザデータ種別が合致するユーザデータキャッシュ232の項目IDに対応するユーザデータを更新し、処理結果を返す(ステップS42)。そして、データアクセス部221は、サーバ通信部222を介してデータ管理サーバ1のデータ管理ソフトウェア11の通信部111へデータ変更要求を行う。データ変更要求には端末ID、ユーザID、パスワード、指定されたユーザデータ種別、項目ID、ユーザデータ、及びアクセス種別=更新を設定する(ステップS43)。
次に、データ管理ソフトウェア11の通信部111はデータ変更要求のユーザ情報とデータベース12のユーザ情報テーブル121及び端末情報テーブル122を使用して認証処理を行い、認証結果が正常であればデータ変更要求をデータアクセス管理部112に渡す。そして、データアクセス管理部112はデータ変更要求をデータ変更部114に渡す。データ変更部114は、データ変更要求から端末ID、ユーザID、ユーザデータ種別、項目ID及びアクセス種別=更新を取得してキャッシュ状態管理部115に渡す。キャッシュ状態管理部115は、ユーザデータ種別と合致するキャッシュ状態管理テーブル124から端末ID、ユーザID及び項目IDをキーとしてレコードを取得し、キャッシュ状態が未登録/未更新/未削除の場合は衝突発生、それ以外の場合は正常でデータ変更部114に返す(ステップS44、S45)。
次に、衝突が発生していた場合、データ変更部114はユーザデータ種別が合致するユーザデータテーブル123から項目IDを使用してユーザデータを取得する(ステップS46)。データ変更部114は、衝突発生の処理結果と取得したユーザデータをデータアクセス管理部112に返す。データアクセス管理部112は渡された衝突発生の処理結果、ユーザデータ及び元のデータ変更要求からデータ変更応答を生成して通信部111に返す。通信部111は渡されたデータ変更応答を携帯端末2のデータアクセスソフトウェア22のサーバ通信部222に返信する(ステップS47)。データアクセスソフトウェア22のサーバ通信部222は受け取ったデータ変更応答をデータアクセス部221に渡す。データアクセス部221は、データ変更応答から処理結果を取得する。データアクセス部221は、処理結果が衝突発生なのでデータ変更応答からユーザデータ種別、項目ID及びユーザデータを取得してキャッシュ管理部223に渡す。キャッシュ管理部223は渡されたユーザデータ種別と合致するユーザデータキャッシュ232の項目IDに対応するユーザデータを更新し、データアクセス部221に正常として返す。データアクセス部221はデータ利用ソフトウェア21に処理結果を衝突発生で返す。データ利用ソフトウェア21は渡された処理結果を画面表示や操作等に利用し、以降に記載するステップS49〜S52の処理は行わない(ステップS48、S53)。
次に、衝突が発生していない場合、データ変更部114はデータ変更要求からユーザデータ種別、項目ID及びユーザデータを取得し、ユーザデータ種別と合致するユーザデータテーブル123の項目IDをキーとしてユーザデータを更新する(ステップS49)。次に、データ変更部114は端末ID、ユーザID、ユーザデータ種別、項目ID及びアクセス種別=更新をセットにしてキャッシュ状態管理部115に渡す。キャッシュ状態管理部115は、ユーザデータ種別と合致するキャッシュ状態管理テーブル124を端末ID、ユーザID及び項目IDをキーとして検索し、キャッシュ状態を同期済でレコードを更新する。そして、ユーザIDをキーとして端末情報テーブル122の検索を行い、同一ユーザが使用する別の端末IDが存在するかチェックする。存在しない場合、データ変更部114に処理結果を正常として返す。存在する場合、キャッシュ状態管理テーブル124を別の端末ID、ユーザID及び項目IDをキーとして検索し、キャッシュ状態を未更新に更新し、データ変更部114に処理結果を正常として返す。同一ユーザの別の携帯端末のキャッシュ状態の未更新としておくことで、当該別の携帯端末からデータ管理サーバにアクセスがあった場合、このキャッシュ状態に応じて、別の携帯端末のキャッシュを更新することができる。図13は、キャッシュ状態管理テーブル124において同一ユーザが使用する別の端末IDでャッシュ状態を未更新に更新する例を示している(ステップS50、S51)。
次に、データ変更部114は処理結果をデータアクセス管理部112に返す。データアクセス管理部112は渡された処理結果と元のデータ変更要求からデータ変更応答を生成して通信部111に返す。通信部111は渡されたデータ変更応答を携帯端末2のデータアクセスソフトウェア22のサーバ通信部222に返信する(ステップS52)。
次に、データアクセスソフトウェア22のサーバ通信部222は受け取ったデータ変更応答をデータアクセス部221に渡す。データアクセス部221は、データ変更応答からから取得した処理結果をデータ利用ソフトウェア21に返す。データ利用ソフトウェア21は渡された処理結果を画面表示や操作等に利用する(ステップS53)。
(5)更新されたユーザデータを同一ユーザの別の携帯端末に反映する時のシステムの動作
図14は、更新されたユーザデータを同一ユーザの別の携帯端末に反映する際の動作を示すフローチャートである。最初に、携帯端末3のデータ利用ソフトウェア31を起動して、ユーザが画面表示を確認してユーザデータの参照が必要となる操作を行う。そして、データ利用ソフトウェア31は参照したいユーザデータをユーザデータ種別及び項目ID又は検索条件で指定して、データアクセスソフトウェア32のデータアクセス部321に要求する。データアクセス部321は、キャッシュ管理部323への問い合わせの結果、データ利用ソフトウェア31から渡されたユーザデータ種別及び項目ID又は検索条件に合致するユーザデータがユーザデータキャッシュ332に存在しないため、サーバ通信部322を介してデータ管理サーバ1のデータ管理ソフトウェア11の通信部111へデータ参照要求を行う。データ参照要求には端末ID、ユーザID、認証のためのパスワード、指定されたユーザデータ種別及び項目ID又は検索条件を設定する(ステップS61)。
次に、データ管理ソフトウェア11の通信部111はデータ参照要求のユーザ情報とデータベース12のユーザ情報テーブル121及び端末情報テーブル122を使用して認証処理を行い、認証結果が正常であればデータ参照要求をデータアクセス管理部112に渡す。データアクセス管理部112は、データ参照要求から端末ID、ユーザID及びユーザデータ種別を取得してキャッシュ状態管理部115に渡す。キャッシュ状態管理部115は、ユーザデータ種別と合致するキャッシュ状態管理テーブル124から端末ID及びユーザIDが同じでかつキャッシュ状態が未登録/未更新/未削除/プッシュ配信の条件を満たすレコード(同期が必要なレコード)を検索して、同期が必要なユーザデータの有無をデータアクセス管理部112に返す(ステップS62、S63)。同期が不要であればデータアクセス管理部112は、データ参照部113にデータ参照要求を渡してステップS5〜S10と同一の処理を行い、以降に記載する処理は行わない。同期が必要であればデータアクセス管理部112は、データ同期要の処理結果と元のデータ参照要求からデータ参照応答を生成して通信部111に返す。通信部111は渡されたデータ参照応答を携帯端末3のデータアクセスソフトウェア32のサーバ通信部322に返信する。(ステップS64)。
次に、データアクセスソフトウェア32のサーバ通信部322は受け取ったデータ参照応答を取り出してデータアクセス部321に渡す。データアクセス部321は、データ参照応答から取得した処理結果が、データ同期が必要なので、元のデータ参照要求を内部退避して保留中にし、サーバ通信部322を介してデータ管理サーバ1のデータ管理ソフトウェア11の通信部111へデータ同期開始要求を行う。データ同期開始要求には端末ID、ユーザID、パスワード、及び同期するユーザデータ種別を設定する(ステップS65)。
次に、データ管理ソフトウェア11の通信部111はデータ同期開始要求のユーザ情報とデータベース12のユーザ情報テーブル121及び端末情報テーブル122を使用して認証処理を行い、認証結果が正常であればデータ同期開始要求をデータアクセス管理部112に渡す。そして、データアクセス管理部112はデータ同期開始要求をデータ変更部114に渡す。データ変更部114は、データ同期開始要求から端末ID、ユーザID及び同期するユーザデータ種別を取得してキャッシュ状態管理部115に渡す。キャッシュ状態管理部115は、ユーザデータ種別と合致するキャッシュ状態管理テーブル124から端末ID及びユーザIDが同じでかつキャッシュ状態が未登録/未更新/未削除/プッシュ配信の条件を満たすレコードを検索する。本例は、更新されたユーザデータを同一ユーザの別の携帯端末に反映する際の動作であるのでキャッシュ状態が未更新のレコードを取得する。キャッシュ状態管理部115は、該当レコードの処理中フラグをONに設定し、項目ID及びアクセス種別=更新をセットでデータ変更部114に返す(ステップS66)。
そしてデータ変更部114は、ユーザデータ種別が合致するユーザデータテーブル123から項目IDのユーザデータを取得し、ユーザデータ種別、項目ID、ユーザデータ、及びアクセス種別=更新をセットにして同期情報としてデータアクセス管理部112に返す。データアクセス管理部112は、渡された同期情報と元のデータ同期開始要求からデータ同期要求を生成して通信部111に返す。通信部111は渡されたデータ同期要求を携帯端末3のデータアクセスソフトウェア32のサーバ通信部322に返信する。(ステップE7)
次に、データアクセスソフトウェア32のサーバ通信部322は受け取ったデータ同期要求をデータアクセス部321に渡す。データアクセス部321は、データ同期要求から同期情報を取得し、同期情報からユーザデータ種別と項目ID及びユーザデータを取り出してキャッシュ管理部323に渡す。キャッシュ管理部323は、渡されたユーザデータ種別と合致するユーザデータキャッシュ331に項目IDに対応するユーザデータを更新し、データアクセス部321に正常として返す。データアクセス部321は、サーバ通信部322を介してデータ管理サーバ1のデータ管理ソフトウェア11の通信部111へデータ同期応答と共に保留していたデータ参照要求を行う。データ同期応答には端末ID、ユーザID、パスワード、ユーザデータ種別、項目ID及び処理結果を設定する。データ参照要求はステップS61と同一の内容である(ステップS68)。
次に、データ管理ソフトウェア11の通信部111はデータ同期応答のユーザ情報とデータベース12のユーザ情報テーブル121を使用して認証処理を行い、認証結果が正常であればデータ同期応答とデータ参照要求をデータアクセス管理部112に渡す。そして、データアクセス管理部112はデータ同期応答をデータ変更部114に渡す。データ変更部114は、データ同期応答から端末ID、ユーザID、ユーザデータ種別及び項目IDを取得してキャッシュ状態管理部115に渡す。キャッシュ状態管理部115は、ユーザデータ種別が合致するキャッシュ状態管理テーブル124から端末ID、ユーザID及び項目IDをキーとして検索し、該当レコードのキャッシュ状態を同期済、処理中フラグをOFFに更新し、処理結果を正常でデータ変更部114に返す。そして、データ変更部114は、処理結果を正常でデータアクセス管理部112に返す。図15は、キャッシュ状態管理テーブル124においてキャッシュ状態が未更新のレコードを同期済に更新する例を示している(ステップS69)。次に、データアクセス管理部112は、データ同期応答と共に渡されたデータ参照要求の処理を開始し、以降はステップS5〜S10と同一の処理を行う(ステップS70)。
(6)携帯端末のデータ利用ソフトウェアがユーザデータを削除する時のシステムの動作
図16は、携帯端末のデータ利用ソフトウェアがユーザデータを削除する際の動作を示すフローチャートである。最初に、携帯端末2のデータ利用ソフトウェア21を起動して、ユーザが画面表示を確認してユーザデータの削除操作を行う。そして、データ利用ソフトウェア21はユーザデータ種別と共にユーザデータの削除をデータアクセスソフトウェア22のデータアクセス部221に要求する(ステップS71)。
次に、データアクセス部221はキャッシュ管理部223に指定されたユーザデータ種別と項目IDを渡す。そして、キャッシュ管理部223はストレージ23のユーザデータ種別が合致するユーザデータキャッシュ232の項目ID及びユーザデータを削除し、処理結果を返す(ステップS72)。そして、データアクセス部221は、サーバ通信部222を介してデータ管理サーバ1のデータ管理ソフトウェア11の通信部111へデータ変更要求を行う。データ変更要求には端末ID、ユーザID、パスワード、指定されたユーザデータ種別と項目ID、及びアクセス種別=削除を設定する(ステップS73)。
次に、データ管理ソフトウェア11の通信部111はデータ変更要求のユーザ情報とデータベース12のユーザ情報テーブル121及び端末情報テーブル122を使用して認証処理を行い、認証結果が正常であればデータ変更要求をデータアクセス管理部112に渡す。そして、データアクセス管理部112はデータ変更要求をデータ変更部114に渡す。データ変更部114は、データ変更要求から端末ID、ユーザID、ユーザデータ種別、項目ID及びアクセス種別=削除を取得してキャッシュ状態管理部115に渡す。キャッシュ状態管理部115は、ユーザデータ種別と合致するキャッシュ状態管理テーブル124から端末ID、ユーザID、及び項目IDをキーとしてレコードを取得し、キャッシュ状態が未登録/未更新/未削除の場合は衝突発生、それ以外の場合は正常でデータ変更部114に返す(ステップS74、S75)。
次に、衝突が発生していた場合、データ変更部114はユーザデータ種別が合致するユーザデータテーブル123から項目IDを使用してユーザデータを取得する(ステップS76)。データ変更部114は、衝突発生の処理結果と取得したユーザデータをデータアクセス管理部112に返す。データアクセス管理部112は渡された衝突発生の処理結果とユーザデータと元のデータ変更要求からデータ変更応答を生成して通信部111に返す。通信部111は渡されたデータ変更応答を携帯端末2のデータアクセスソフトウェア22のサーバ通信部222に返信する(ステップS77)。データアクセスソフトウェア22のサーバ通信部222は受け取ったデータ変更応答をデータアクセス部221に渡す。データアクセス部221は、データ変更応答から処理結果を取得する。データアクセス部221は、処理結果が衝突発生なのでデータ変更応答からユーザデータ種別、項目ID及びユーザデータを取得してキャッシュ管理部223に渡す。キャッシュ管理部223は渡されたユーザデータ種別と合致するユーザデータキャッシュ232の項目ID及びユーザデータを格納し、データアクセス部221に正常として返す。データアクセス部221はデータ利用ソフトウェア21に処理結果を衝突発生で返す。データ利用ソフトウェア21は渡された処理結果を画面表示や操作等に利用し、以降に記載するステップS79〜S83の処理は行わない(ステップS78、S84)。
次に、衝突が発生していない場合、データ変更部114はデータ変更要求からユーザデータ種別と項目IDを取得し、ユーザデータ種別と合致するユーザデータテーブル123の項目IDをキーとして検索し、レコードを削除する(ステップS79)。次に、データ変更部114は端末ID、ユーザID、ユーザデータ種別、項目ID及びアクセス種別=削除をセットにしてキャッシュ状態管理部115に渡す。キャッシュ状態管理部115は、ユーザIDをキーとして端末情報テーブル122の検索を行い、同一ユーザが使用する別の端末IDが存在するかチェックする。存在しない場合、キャッシュ状態管理部115はユーザデータ種別と合致するキャッシュ状態管理テーブル124から端末IDとユーザIDと項目IDをキーとして検索してレコードを削除し、データ変更部114に処理結果を正常として返す。存在する場合、キャッシュ状態管理部115はキャッシュ状態管理テーブル124を要求元の端末ID、ユーザID及び項目IDをキーとして検索し、キャッシュ状態を削除でレコードを更新する。そして、キャッシュ状態管理部115はキャッシュ状態管理テーブル124を別の端末ID、ユーザID及び項目IDをキーとして検索し、キャッシュ状態を未削除でレコードを更新し、データ変更部114に処理結果を正常として返す。当該別の携帯端末のキャッシュ状態を未削除としておくことで、当該別の携帯端末がデータ管理サーバにアクセスした場合、キャッシュが更新される。
図17は、キャッシュ状態管理テーブル124において要求元の端末IDでキャッシュ状態を削除でレコードを更新、及び同一ユーザが使用する別の端末IDでキャッシュ状態を未削除でレコードを更新する例を示している(ステップS80〜S82)。
次に、データ変更部114は処理結果をデータアクセス管理部112に返す。データアクセス管理部112は渡された処理結果と元のデータ変更要求からデータ変更応答を生成して通信部111に返す。通信部111は渡されたデータ変更応答を携帯端末2のデータアクセスソフトウェア22のサーバ通信部222に返信する(ステップS83)。
次に、データアクセスソフトウェア22のサーバ通信部222は受け取ったデータ変更応答をデータアクセス部221に渡す。データアクセス部221は、データ変更応答から取得した処理結果をデータ利用ソフトウェア21に返す。データ利用ソフトウェア21は渡された処理結果を画面表示や操作等に利用する(ステップS84)。
(7)削除されたユーザデータを同一ユーザの別の携帯端末に反映する時のシステムの動作
図18は、削除されたユーザデータを同一ユーザの別の携帯端末に反映する際の動作を示すフローチャートである。最初に、携帯端末3のデータ利用ソフトウェア31を起動して、ユーザが画面表示を確認してユーザデータの参照が必要となる操作を行う。そして、データ利用ソフトウェア31は参照したいユーザデータをユーザデータ種別及び項目ID又は検索条件で指定して、データアクセスソフトウェア32のデータアクセス部321に要求する。データアクセス部321は、キャッシュ管理部323への問い合わせの結果、データ利用ソフトウェア31から渡されたユーザデータ種別及び項目ID又は検索条件に合致するユーザデータがユーザデータキャッシュ332に存在しないため、サーバ通信部322を介してデータ管理サーバ1のデータ管理ソフトウェア11の通信部111へデータ参照要求を行う。データ参照要求には端末ID、ユーザID、パスワード、指定されたユーザデータ種別及び項目ID又は検索条件を設定する(ステップS91)。
次に、データ管理ソフトウェア11の通信部111はデータ参照要求のユーザ情報とデータベース12のユーザ情報テーブル121及び端末情報テーブル122を使用して認証処理を行い、認証結果が正常であればデータ参照要求をデータアクセス管理部112に渡す。データアクセス管理部112は、データ参照要求から端末ID、ユーザID及びユーザデータ種別を取得してキャッシュ状態管理部115に渡す。キャッシュ状態管理部115は、ユーザデータ種別と合致するキャッシュ状態管理テーブル124から端末ID及びユーザIDが同じでかつキャッシュ状態が未登録/未更新/未削除/プッシュ配信の条件を満たすレコードを検索して、同期が必要なユーザデータの有無をデータアクセス管理部112に返す(ステップS92、S93)。同期が不要であればデータアクセス管理部112は、データ参照部113にデータ参照要求を渡してステップS5〜S10と同一の処理を行い、以降に記載する処理は行わない。同期が必要であればデータアクセス管理部112は、データ同期が必要の処理結果と元のデータ参照要求からデータ参照応答を生成して通信部111に返す。通信部111は渡されたデータ参照応答を携帯端末3のデータアクセスソフトウェア32のサーバ通信部322に返信する(ステップS94)。
次に、データアクセスソフトウェア32のサーバ通信部322は受け取ったデータ参照応答を取り出してデータアクセス部321に渡す。データアクセス部321は、データ参照応答から取得した処理結果が、データ同期が必要のため、元のデータ参照要求を内部退避して保留中にし、サーバ通信部322を介してデータ管理サーバ1のデータ管理ソフトウェア11の通信部111へデータ同期開始要求を行う。データ同期開始要求には端末ID、ユーザID、パスワード、及び同期するユーザデータ種別を設定する(ステップS95)。
次に、データ管理ソフトウェア11の通信部111はデータ同期開始要求のユーザ情報とデータベース12のユーザ情報テーブル121及び端末情報テーブル122を使用して認証処理を行い、認証結果が正常であればデータ同期開始要求をデータアクセス管理部112に渡す。そして、データアクセス管理部112はデータ同期開始要求をデータ変更部114に渡す。データ変更部114は、データ同期開始要求から端末ID及びユーザIDと同期するユーザデータ種別を取得してキャッシュ状態管理部115に渡す。キャッシュ状態管理部115は、ユーザデータ種別と合致するキャッシュ状態管理テーブル124から端末IDとユーザIDが同じでかつキャッシュ状態が未登録/未更新/未削除/プッシュ配信の条件を満たすレコードを検索する。本例は、削除されたユーザデータを同一ユーザの別の携帯端末に反映する際の動作であるのでキャッシュ状態が未削除のレコードを取得する。キャッシュ状態管理部115は、該当レコードの処理中フラグをONに設定し、項目ID及びアクセス種別=削除をセットでデータ変更部114に返す(ステップS96)。そしてデータ変更部114は、ユーザデータ種別及び項目IDとアクセス種別=削除をセットにして同期情報としてデータアクセス管理部112に返す。データアクセス管理部112は、渡された同期情報と元のデータ同期開始要求からデータ同期要求を生成して通信部111に返す。通信部111は渡されたデータ同期要求を携帯端末3のデータアクセスソフトウェア32のサーバ通信部322に返信する(ステップS97)。
次に、データアクセスソフトウェア32のサーバ通信部322は受け取ったデータ同期要求をデータアクセス部321に渡す。データアクセス部321は、データ同期要求から同期情報を取得し、同期情報からユーザデータ種別及び項目IDを取り出してキャッシュ管理部323に渡す。キャッシュ管理部323は、渡されたユーザデータ種別と合致するユーザデータキャッシュ331から項目IDに対応するユーザデータを削除し、データアクセス部321に正常として返す。データアクセス部321は、サーバ通信部322を介してデータ管理サーバ1のデータ管理ソフトウェア11の通信部111へデータ同期応答と共に保留していたデータ参照要求を行う。データ同期応答には端末ID、ユーザID、パスワード、ユーザデータ種別、項目ID、及び処理結果を設定する。データ参照要求はステップG1と同一の内容である(ステップS98)。
次に、データ管理ソフトウェア11の通信部111はデータ同期応答のユーザ情報とデータベース12のユーザ情報テーブル121を使用して認証処理を行い、認証結果が正常であればデータ同期応答及びデータ参照要求をデータアクセス管理部112に渡す。そして、データアクセス管理部112はデータ同期応答をデータ変更部114に渡す。データ変更部114は、データ同期応答から端末ID、ユーザID、ユーザデータ種別及び項目IDを取得してキャッシュ状態管理部115に渡す。キャッシュ状態管理部115は、ユーザデータ種別が合致するキャッシュ状態管理テーブル124から端末ID、ユーザID及び項目IDをキーとして検索し、該当レコードのキャッシュ状態を削除、処理中フラグをOFFに更新する。そして、キャッシュ状態管理部115はユーザデータ種別が合致するキャッシュ状態管理テーブル124からユーザIDと項目IDをキーとして検索し、キャッシュ状態が未削除のレコードが存在するかチェックする。
存在する場合、キャッシュ状態管理部115はそのまま処理結果を正常でデータ変更部114に返す。存在しない場合、キャッシュ状態管理部115はユーザデータ種別が合致するキャッシュ状態管理テーブル124からユーザIDと項目IDをキーとして検索し、該当するレコードを全て削除し、処理結果を正常でデータ変更部114に返す。そして、データ変更部114は、処理結果を正常でデータアクセス管理部112に返す。図19は、別端末のユーザデータキャッシュ331のユーザデータの削除が完了してキャッシュ状態管理テーブル124の全端末のレコードを削除する例を示している(ステップS99〜S101)。次に、データアクセス管理部112は、データ同期応答と共に渡されたデータ参照要求の処理を開始し、以降はステップS5〜S10と同一の処理を行う(ステップS102)。
(8)携帯端末のデータアクセスソフトウェアがユーザデータをキャッシュから削除する時のシステムの動作
図20は、携帯端末のデータアクセスソフトウェアがユーザデータをキャッシュから削除する際の動作を示すフローチャートである。最初に、携帯端末2のデータ利用ソフトウェア21を起動して、ユーザが画面表示を確認してユーザデータの参照が必要となる操作を行う。そして、データ利用ソフトウェア21は参照したいユーザデータをユーザデータ種別及び項目ID又は検索条件で指定して、データアクセスソフトウェア22のデータアクセス部221に要求する(ステップS111)。
次に、データアクセスソフトウェア22及びデータ管理ソフトウェアはステップS2〜S9の処理を行う。その時に、データアクセスソフトウェア22のストレージ23の容量不足等の要因でデータアクセスソフトウェア22のキャッシュ管理部223はユーザデータキャッシュ232から一部のユーザデータを削除する。ユーザデータのキャッシュ削除の判断方法に関しては、既知のLRUアルゴリズムの利用や独自アルゴリズムなど特に手法を問わない。そして、キャッシュ管理部223はデータアクセス部221にキャッシュから削除したユーザデータ種別及び項目IDを渡す。データアクセス部221は、キャッシュから削除されたユーザデータ種別及び項目IDを内部メモリ等に内部退避しておく(ステップS112)。
次に、データアクセス部221はデータ利用ソフトウェア21にユーザデータ種別、項目ID及びユーザデータを返す。データ利用ソフトウェア21は渡されたユーザデータを画面表示や操作等に利用する(ステップS113)。
次に、データアクセス部221は、サーバ通信部222を介してデータ管理サーバ1のデータ管理ソフトウェア11の通信部111へデータ変更要求を行う。データ変更要求には端末ID、ユーザID、パスワード、内部退避していたユーザデータ種別と項目ID、及びアクセス種別=キャッシュ削除を設定する(ステップS114)。
次に、データ管理ソフトウェア11の通信部111はデータ変更要求のユーザ情報とデータベース12のユーザ情報テーブル121及び端末情報テーブル122を使用して認証処理を行い、認証結果が正常であればデータ変更要求をデータアクセス管理部112に渡す。そして、データアクセス管理部112はデータ変更要求をデータ変更部114に渡す。データ変更部114は、データ変更要求から端末ID、ユーザID、ユーザデータ種別、項目ID及びアクセス種別=キャッシュ削除を取得してキャッシュ状態管理部115に渡す。キャッシュ状態管理部115は、ユーザデータ種別と合致するキャッシュ状態管理テーブル124から端末ID、ユーザID及び項目IDをキーとしてレコードを取得し、キャッシュ状態をキャッシュ削除に更新し、処理結果をデータ変更部114に返す。図21は、キャッシュ状態管理テーブル124において要求元の端末IDのレコードのキャッシュ状態をキャッシュ削除で更新する例を示している(ステップS115)。
次に、データ変更部114は処理結果をデータアクセス管理部112に返す。データアクセス管理部112は渡された処理結果と元のデータ変更要求からデータ変更応答を生成して通信部111に返す。通信部111は渡されたデータ変更応答を携帯端末2のデータアクセスソフトウェア22のサーバ通信部222に返信する(ステップS116)。次に、データアクセスソフトウェア22のサーバ通信部222は受け取ったデータ変更応答をデータアクセス部221に渡す。データアクセス部221は、データ変更応答から処理結果を取得する(ステップS117)。
(9)携帯端末へユーザデータをプッシュ配信する要求する時のシステムの動作
図22は、データ管理サーバのデータ管理ソフトがユーザデータのプッシュ配信を設定する際の動作を示すフローチャートである。最初に、データ管理ソフトウェア11内の管理者向け機能手段(図示せず)がプッシュ配信要求部116に携帯端末へプッシュ配信したい端末ID、ユーザID、ユーザデータ種別及び項目IDを渡す(ステップS121)。
次に、プッシュ配信要求部116は端末ID、ユーザID、ユーザデータ種別、項目ID及びアクセス種別=プッシュ配信をセットにしてキャッシュ状態管理部115に渡す。キャッシュ状態管理部115は、ユーザデータ種別と合致するキャッシュ状態管理テーブル124に端末ID、ユーザID及び項目IDをキーとして検索し、キャッシュ状態がキャッシュ削除のレコードが存在するかチェックする。存在しない場合、プッシュ配信要求部116に処理結果を正常として返す。存在する場合、該当レコードのキャッシュ状態をプッシュ配信で更新し、プッシュ配信要求部116に処理結果を正常として返す。図23は、キャッシュ状態管理テーブル124においてプッシュ配信対象の端末IDのレコードのキャッシュ状態をプッシュ配信で更新する例を示している(ステップS122〜S124)。
次に、プッシュ配信要求部116はデータ管理ソフトウェア11内の管理者向け機能手段(図示せず)へ処理結果を返す。以降は、プッシュ配信対象の携帯端末からのアクセスを待つ(ステップS125)。
(10)プッシュ配信が設定されたユーザデータを携帯端末に反映する時のシステムの動作
図24は、プッシュ配信が設定されたユーザデータを携帯端末に反映する際の動作を示すフローチャートである。最初に、携帯端末2のデータ利用ソフトウェア21を起動して、ユーザが画面表示を確認してユーザデータの参照が必要となる操作を行う。そして、データ利用ソフトウェア31は参照したいユーザデータをユーザデータ種別及び項目ID又は検索条件で指定して、データアクセスソフトウェア22のデータアクセス部221に要求する。データアクセス部221は、キャッシュ管理部223への問い合わせの結果、データ利用ソフトウェア21から渡されたユーザデータ種別及び項目ID又は検索条件に合致するユーザデータがユーザデータキャッシュ232に存在しないため、サーバ通信部222を介してデータ管理サーバ1のデータ管理ソフトウェア11の通信部111へデータ参照要求を行う。データ参照要求には端末ID、ユーザID、パスワード、指定されたユーザデータ種別及び項目ID又は検索条件を設定する(ステップS131)。
次に、データ管理ソフトウェア11の通信部111はデータ参照要求のユーザ情報とデータベース12のユーザ情報テーブル121及び端末情報テーブル122を使用して認証処理を行い、認証結果が正常であればデータ参照要求をデータアクセス管理部112に渡す。データアクセス管理部112は、データ参照要求から端末IDとユーザIDとユーザデータ種別を取得してキャッシュ状態管理部115に渡す。キャッシュ状態管理部115は、ユーザデータ種別と合致するキャッシュ状態管理テーブル124から端末ID及びユーザIDが同じでかつキャッシュ状態が未登録/未更新/未削除/プッシュ配信の条件を満たすレコードを検索して、同期が必要なユーザデータの有無をデータアクセス管理部112に返す(ステップS132、S133)。同期が不要であればデータアクセス管理部112は、データ参照部113にデータ参照要求を渡してステップS5〜S10と同一の処理を行い、以降に記載する処理は行わない。同期が必要であればデータアクセス管理部112は、データ同期が必要の処理結果と元のデータ参照要求からデータ参照応答を生成して通信部111に返す。通信部111は渡されたデータ参照応答を携帯端末3のデータアクセスソフトウェア22のサーバ通信部222に返信する(ステップS134)。
次に、データアクセスソフトウェア22のサーバ通信部222は受け取ったデータ参照応答を取り出してデータアクセス部221に渡す。データアクセス部221は、データ参照応答から取得した処理結果が、データ同期が必要なため、元のデータ参照要求を内部退避して保留中にし、サーバ通信部222を介してデータ管理サーバ1のデータ管理ソフトウェア11の通信部111へデータ同期開始要求を行う。データ同期開始要求には端末ID、ユーザID、パスワード、及び同期するユーザデータ種別を設定する(ステップS135)。
次に、データ管理ソフトウェア11の通信部111はデータ同期開始要求のユーザ情報とデータベース12のユーザ情報テーブル121及び端末情報テーブル122を使用して認証処理を行い、認証結果が正常であればデータ同期開始要求をデータアクセス管理部112に渡す。そして、データアクセス管理部112はデータ同期開始要求をデータ変更部114に渡す。データ変更部114は、データ同期開始要求から端末IDとユーザIDと同期するユーザデータ種別を取得してキャッシュ状態管理部115に渡す。キャッシュ状態管理部115は、ユーザデータ種別と合致するキャッシュ状態管理テーブル124から端末IDとユーザIDが同じでかつキャッシュ状態が未登録/未更新/未削除/プッシュ配信の条件を満たすレコードを検索する。本例においては、プッシュ配信が設定されたユーザデータを携帯端末に反映する際の動作であるのでキャッシュ状態がプッシュ配信のレコードを取得する。
キャッシュ状態管理部115は、該当レコードの処理中フラグをONに設定し、項目IDとアクセス種別=プッシュ配信をセットでデータ変更部114に返す(ステップS136)。そしてデータ変更部114は、ユーザデータ種別が合致するユーザデータテーブル123から項目IDのユーザデータを取得し、ユーザデータ種別及び項目IDとユーザデータとアクセス種別=プッシュ配信をセットにして同期情報としてデータアクセス管理部112に返す。データアクセス管理部112は、渡された同期情報と元のデータ同期開始要求からデータ同期要求を生成して通信部111に返す。通信部111は渡されたデータ同期要求を携帯端末2のデータアクセスソフトウェア22のサーバ通信部222に返信する(ステップS137)。
次に、データアクセスソフトウェア22のサーバ通信部222は受け取ったデータ同期要求をデータアクセス部221に渡す。データアクセス部221は、データ同期要求から同期情報を取得し、同期情報からユーザデータ種別と項目ID及びユーザデータを取り出してキャッシュ管理部223に渡す。キャッシュ管理部223は、渡されたユーザデータ種別と合致するユーザデータキャッシュ232に項目ID及びユーザデータを格納し、データアクセス部221に正常として返す。データアクセス部221は、サーバ通信部222を介してデータ管理サーバ1のデータ管理ソフトウェア11の通信部111へデータ同期応答と共に保留していたデータ参照要求を行う。データ同期応答には端末ID、ユーザID、パスワード、ユーザデータ種別、項目ID及び処理結果を設定する。データ参照要求はステップS131と同一の内容である(ステップS138)。
次に、データ管理ソフトウェア11の通信部111はデータ同期応答のユーザ情報とデータベース12のユーザ情報テーブル121を使用して認証処理を行い、認証結果が正常であればデータ同期応答とデータ参照要求をデータアクセス管理部112に渡す。そして、データアクセス管理部112はデータ同期応答をデータ変更部114に渡す。データ変更部114は、データ同期応答から端末ID、ユーザID、ユーザデータ種別、及び項目IDを取得してキャッシュ状態管理部115に渡す。キャッシュ状態管理部115は、ユーザデータ種別が合致するキャッシュ状態管理テーブル124から端末ID、ユーザID及び項目IDをキーとして検索し、該当レコードのキャッシュ状態を同期済、処理中フラグをOFFに更新し、処理結果を正常でデータ変更部114に返す。そして、データ変更部114は、処理結果を正常でデータアクセス管理部112に返す。図25は、キャッシュ状態管理テーブル124においてキャッシュ状態がプッシュ配信のレコードを同期済に更新する例を示している(ステップS139)。
次に、データアクセス管理部112は、データ同期応答と共に渡されたデータ参照要求の処理を開始し、以降はステップS5〜S10と同一の処理を行う(ステップS140)。
本第1の実施例では、携帯端末2、3として携帯電話を使用する場合について説明したが、PDA等の携帯可能、かつ通信機能を有していてインターネットなどの通信回線4に接続可能な端末についても適用可能である。
また、データ管理サーバ1と携帯端末2、3がインターネットなどの通信回線4で接続される場合について説明したが、セキュリティを高めるためにデータ管理サーバ1とインターネットとの間にファイアウォールを設置するように構成してもよい。
さらに、ユーザデータの格納にデータ管理サーバ1のデータベース12を利用する場合について説明したが、ファイルシステムを利用するように構成してもよい。
さらにまた、第1の実施例ではデータアクセスソフトウェア22、32からデータ管理サーバ1へ要求の都度、データ管理サーバ1のデータ管理ソフトウェア11の通信部111で認証処理を行う場合について説明したが、一度認証結果が正常であれば以降はAPサーバが提供する既知のセッション管理機能を利用して、セッションが有効な期間は認証処理を省略するように構成してもよい。
また、ユーザデータ種別毎にユーザデータテーブル123及びキャッシュ状態管理テーブル124をセットで用意する場合について説明したが、複数のユーザデータ種別を一組のユーザデータテーブル123とキャッシュ状態管理テーブル124で利用するように構成してもよい。その場合、ユーザデータテーブル123及びキャッシュ状態管理テーブル124にはユーザデータ種別がキーとして追加されることになる。
さらに、データ参照要求、データ変更要求、データ同期要求、及びデータ同期応答は一つの項目に関して処理を行う場合について説明したが、複数の項目に関する情報を処理するよう構成してもよい。
さらにまた、第1の実施例ではデータ参照要求、データ変更要求、データ同期開始要求、データ同期要求、及びデータ同期応答は1つのユーザデータ種別に関して処理を行う場合について説明したが、複数のユーザデータ種別を処理するよう構成してもよい。
また、変更されたユーザデータを同一ユーザの別の携帯端末に反映する時にデータアクセスソフトウェアからデータ参照要求を送信する場合について説明したが、特にデータ参照要求である必要はなく、例えば周期的なポーリング要求などの別のメッセージを利用するよう構成してもよい。
さらに、データ変更要求はユーザデータの変更が行われたタイミングでデータ管理サーバに送信する場合について説明したが、回線断等の理由で携帯端末とデータ管理サーバ間の通信が行えない場合はデータ変更要求を内部退避しておいて回線復旧後にデータ管理サーバへ送信するように構成してもよい。
次に、本実施例の効果について説明する。第1の効果は、サーバ側で携帯端末のユーザデータのキャッシュ状態を管理できることにある。例えば、ある携帯端末にはAさんのアドレスデータは最新のデータが格納されており、Bさんのアドレスデータはキャッシュから削除されているなどのキャッシュ状態をサーバ側で管理することができる。
その理由は、データ管理サーバのキャッシュ状態管理テーブルには端末、ユーザ、項目毎にキャッシュ状態の格納エリアを用意し、携帯端末からのユーザデータへのアクセス毎にキャッシュ状態テーブルのキャッシュ状態を更新して情報を最新に保っているためである。
第2の効果は、携帯端末によりユーザデータを変更した時に古いユーザデータをキャッシュに格納している同一ユーザが使用する別の携帯端末に変更の反映を行えることにある。例えば、携帯端末でスケジュールを更新した場合、古いスケジュールをキャッシュに格納している同一ユーザが使用する別の携帯端末がサーバにアクセスしたタイミングで別の携帯端末のキャッシュに変更を反映できる。
その理由は、キャッシュ状態管理テーブルのキャッシュ状態を、ユーザデータを変更した携帯端末だけでなく、同一ユーザが使用する別の携帯端末に関しても更新し、かつ別の携帯端末からサーバにアクセス時にキャッシュ状態管理テーブルをチェックしてデータ同期を行うことができるためである。
第3の効果は、サーバ側の判断によって携帯端末のキャッシュにユーザデータの格納が行えることにある。例えば、サーバに新しいスケジュールが登録されたが、スケジュールに関連するAさんのアドレスデータが携帯端末からキャッシュ削除されている場合、新しいスケジュールデータと共にAさんのアドレスデータを携帯端末のキャッシュに格納することができる。
その理由は、キャッシュ状態管理テーブルのキャッシュ状態をプッシュ配信に設定することにより、ユーザデータの変更が行われていなくてもデータ同期の対象として処理することができるためである。
[第2の実施例.]
次に、本発明の第2の実施例の構成について図面を参照して詳細に説明する。図26は、本発明の第2の実施例にかかる端末キャッシュ状態管理システムを示す図である。図26を参照すると端末キャッシュ状態管理システム101は、データ管理サーバ1と、同一ユーザが使用する携帯端末2と、携帯端末3と、PC5から構成されている。データ管理サーバ1、携帯端末2、携帯端末3、及びPC5はインターネットなどの通信回線4を介して接続され通信を行う。
データ管理サーバ1は、第1の実施例と同じ構成でありPC5からデータアクセスに関する要求を受信する点のみ異なる。携帯端末2、3は、第1の実施例と同一の構成である。PC5は、Webブラウザ51を含む。
図27は、本実施例にかかるデータ管理サーバを示すブロック図である。図27を参照するとデータ管理ソフトウェア11は、図3に示す第1の実施例に対してコンテンツ提供部117が追加されている。本実施例で追加されたデータ管理ソフトウェア11のコンテンツ提供部117は概略つぎのように動作する。
コンテンツ提供部117は、通信部111から渡されたPC5のWebブラウザ51からのコンテンツ取得要求に基づいてユーザデータの参照、登録、更新、及び削除の機能を利用でき、コンテンツを動的に生成して返す。コンテンツを動的に生成する機能はAPサーバの既知の手法を利用する。
次に、本発明の第2の実施例の動作について詳細に説明する。まず、準備段階のシステムの動作について説明する。データ管理サーバ1、携帯端末2、及び携帯端末3は第1の実施例と同様の動作となる。PC5にはWebブラウザ51を事前にインストールする。もしくは既にPC5にインストール済のWebブラウザを使用する。また、PC5の利用者にはデータ管理サーバ1のデータ管理ソフトウェア11にアクセスするためのURLを予め通知しておく。
携帯端末のデータ利用ソフトウェアがユーザデータを参照する時のシステムの動作については第1の実施例と同じ動作となる。
(11)PCのWebブラウザがユーザデータを参照する時のシステムの動作
図28は、PCのWebブラウザがユーザデータを参照する際の動作を示すフローチャートである。最初に、PC5のWebブラウザ51を起動してユーザデータへのアクセスに関するコンテンツをデータ管理サーバ1からダウンロードして表示し、データ参照と関連付けた画面部品を操作してデータ管理サーバ1のデータ管理ソフトウェア11の通信部111へデータ参照要求を行う。データ参照要求にはユーザID、パスワード、指定されたユーザデータ種別及び項目ID又は検索条件を設定する(ステップS141)。
次に、データ管理ソフトウェア11の通信部111はデータ参照要求のユーザ情報とデータベース12のユーザ情報テーブル121を使用して認証処理を行い、認証結果が正常であればデータ参照要求をデータアクセス管理部112に渡す。そして、データアクセス管理部112は、データ参照部113にデータ参照要求を渡す。データ参照部113は、データ参照要求からユーザデータ種別及び項目ID又は検索条件を取得する。そして、ユーザデータ種別が合致するユーザデータテーブル123から項目ID又は検索条件を使用してユーザデータを取得する。検索条件を使用した場合は、ユーザデータと共に項目IDも取得する(ステップS142)。
次に、データ参照部113は取得したユーザデータをデータアクセス管理部112に返す。データアクセス管理部112は渡されたユーザデータと元のデータ参照要求からデータ参照応答を生成して通信部111に返す。通信部111は渡されたデータ参照応答をPC5のWebブラウザ51に返信する(ステップS143)。
携帯端末のデータ利用ソフトウェアがユーザデータを登録する時のシステムの動作については第1の実施例と同じ動作となる。
(12)PCのWebブラウザがユーザデータを登録する時のシステムの動作
図29は、PCのWebブラウザがユーザデータを登録する際の動作を示すフローチャートである。最初に、PC5のWebブラウザ51を起動してユーザデータへのアクセスに関するコンテンツをデータ管理サーバ1からダウンロードして表示し、データ登録と関連付けた画面部品を操作してデータ管理サーバ1のデータ管理ソフトウェア11の通信部111へデータ変更要求を行う。データ変更要求にはユーザID、パスワード、指定されたユーザデータ種別、ユーザデータ、及びアクセス種別=登録を設定する(ステップ151)。
次に、データ管理ソフトウェア11の通信部111はデータ変更要求のユーザ情報とデータベース12のユーザ情報テーブル121を使用して認証処理を行い、認証結果が正常であればデータ変更要求をデータアクセス管理部112に渡す。そして、データアクセス管理部112は、データ変更部114にデータ変更要求を渡す。データ変更部114は、データ変更要求から取得したユーザデータ種別の項目IDを新たに採番し、その項目IDでユーザデータ種別と合致するユーザデータテーブル123にデータ変更要求から取得したユーザデータを登録する(ステップS152)。
次に、データ変更部114はユーザID、ユーザデータ種別、項目ID及びアクセス種別=登録をセットにしてキャッシュ状態管理部115に渡す。キャッシュ状態管理部115は、ユーザIDをキーとして端末情報テーブル122の検索を行い、ユーザIDが使用する端末IDが存在するかチェックする。存在しない場合、データ変更部114に処理結果を正常として返す。存在する場合、キャッシュ状態管理テーブル124に全端末に関して端末IDとユーザIDと項目IDをキーとしてキャッシュ状態を未登録でレコードを登録し、データ変更部114に処理結果を正常として返す。同一ユーザの携帯端末のキャッシュ状態を更新しておくことで、同様にキャッシュ管理ができ、また、当該携帯端末がデータ管理サーバにアクセスした際にデータ同期を行うことができる。図30は、キャッシュ状態管理テーブル124において同一ユーザが使用する全端末の端末IDでキャッシュ状態を未登録として登録する例を示している(ステップS153)。
次に、データ変更部114は処理結果と採番した項目IDをデータアクセス管理部112に返す。データアクセス管理部112は渡された処理結果と項目IDと元のデータ変更要求からデータ変更応答を生成して通信部111に返す。通信部111は渡されたデータ変更応答をPC5のWebブラウザ51に返信する(ステップS154)。
登録されたユーザデータを同一ユーザの別の携帯端末に反映する時のシステムの動作については第1の実施例と同じ動作となる。
携帯端末のデータ利用ソフトウェアがユーザデータを更新する時のシステムの動作については第1の実施例と同じ動作となる。
(13)PCのWebブラウザがユーザデータを更新する時のシステムの動作
図31は、PCのWebブラウザがユーザデータを更新する際の動作を示すフローチャートである。最初に、PC5のWebブラウザ51を起動してユーザデータへのアクセスに関するコンテンツをデータ管理サーバ1からダウンロードして表示し、データ更新と関連付けた画面部品を操作してデータ管理サーバ1のデータ管理ソフトウェア11の通信部111へデータ変更要求を行う。データ変更要求にはユーザID、パスワード、指定されたユーザデータ種別と項目ID、ユーザデータ、及びアクセス種別=更新を設定する(ステップS161)。
次に、データ管理ソフトウェア11の通信部111はデータ変更要求のユーザ情報とデータベース12のユーザ情報テーブル121を使用して認証処理を行い、認証結果が正常であればデータ変更要求をデータアクセス管理部112に渡す。そして、データアクセス管理部112は、データ変更部114にデータ変更要求を渡す。データ変更部114はデータ変更要求からユーザデータ種別、項目ID及びユーザデータを取得し、ユーザデータ種別と合致するユーザデータテーブル123の項目IDをキーとしてユーザデータを更新する(ステップS162)。
次に、データ変更部114はユーザID、ユーザデータ種別、項目ID、及びアクセス種別=更新をセットにしてキャッシュ状態管理部115に渡す。キャッシュ状態管理部115は、ユーザIDをキーとして端末情報テーブル122の検索を行い、ユーザIDが使用する端末IDが存在するかチェックする。存在しない場合、データ変更部114に処理結果を正常として返す。存在する場合、キャッシュ状態管理テーブル124に全端末に関して端末ID、ユーザID及び項目IDをキーとしてキャッシュ状態を未更新でレコードを更新し、データ変更部114に処理結果を正常として返す。同一ユーザの携帯端末のキャッシュ状態を更新しておくことで、同様にキャッシュ管理ができ、また、当該携帯端末がデータ管理サーバにアクセスした際にデータ同期を行うことができる。図32は、キャッシュ状態管理テーブル124において同一ユーザが使用する全端末の端末IDでキャッシュ状態を未更新でレコードを更新する例を示している(ステップS163)。
次に、データ変更部114は処理結果をデータアクセス管理部112に返す。データアクセス管理部112は渡された処理結果と元のデータ変更要求からデータ変更応答を生成して通信部111に返す。通信部111は渡されたデータ変更応答をPC5のWebブラウザ51に返信する(ステップS164)。
更新されたユーザデータを同一ユーザの別の携帯端末に反映する時のシステムの動作については第1の実施例と同じ動作となる。
携帯端末のデータ利用ソフトウェアがユーザデータを削除する時のシステムの動作については第1の実施例と同じ動作となる。
(14)PCのWebブラウザがユーザデータを削除する時のシステムの動作
図33は、PCのWebブラウザがユーザデータを削除する際の動作を示すフローチャートである。最初に、PC5のWebブラウザ51を起動してユーザデータへのアクセスに関するコンテンツをデータ管理サーバ1からダウンロードして表示し、データ削除と関連付けた画面部品を操作してデータ管理サーバ1のデータ管理ソフトウェア11の通信部111へデータ変更要求を行う。データ変更要求にはユーザID、パスワード、指定されたユーザデータ種別と項目ID、及びアクセス種別=削除を設定する(ステップS171)。
次に、データ管理ソフトウェア11の通信部111はデータ変更要求のユーザ情報とータベース12のユーザ情報テーブル121を使用して認証処理を行い、認証結果が正常であればデータ変更要求をデータアクセス管理部112に渡す。そして、データアクセス管理部112は、データ変更部114にデータ変更要求を渡す。データ変更部114はデータ変更要求からユーザデータ種別及び項目IDを取得し、ユーザデータ種別と合致するユーザデータテーブル123の項目IDをキーとして検索し、レコードを削除する(ステップS172)。
次に、データ変更部114はユーザID、ユーザデータ種別、項目ID、及びアクセス種別=削除をセットにしてキャッシュ状態管理部115に渡す。キャッシュ状態管理部115は、ユーザIDをキーとして端末情報テーブル122の検索を行い、ユーザIDが使用する端末IDが存在するかチェックする。存在しない場合、データ変更部114に処理結果を正常として返す。存在する場合、キャッシュ状態管理テーブル124に全端末に関して端末ID、ユーザID、及び項目IDをキーとしてキャッシュ状態を未削除でレコードを更新し、データ変更部114に処理結果を正常として返す。同一ユーザの携帯端末のキャッシュ状態を更新しておくことで、同様にキャッシュ管理ができ、また、当該携帯端末がデータ管理サーバにアクセスした際にデータ同期を行うことができる。図34は、キャッシュ状態管理テーブル124において同一ユーザが使用する全端末の端末IDでキャッシュ状態を未削除でレコードを更新する例を示している(ステップS173)。
次に、データ変更部114は処理結果をデータアクセス管理部112に返す。データアクセス管理部112は渡された処理結果と元のデータ変更要求からデータ変更応答を生成して通信部111に返す。通信部111は渡されたデータ変更応答をPC5のWebブラウザ51に返信する(ステップS174)。
削除されたユーザデータを同一ユーザの別の携帯端末に反映する時のシステムの動作については第1の実施例と同じ動作となる。
携帯端末のデータアクセスソフトウェアがユーザデータをキャッシュから削除する時のシステムの動作については第1の実施例と同じ動作となる。
携帯端末へユーザデータをプッシュ配信する要求する時のシステムの動作については第1の実施例と同じ動作となる。
プッシュ配信が設定されたユーザデータを携帯端末に反映する時のシステムの動作については第1の実施例と同じ動作となる。
本発明の第2の実施例では、PC5のWebブラウザ51を利用しているが、データ管理サーバ1のコンテンツ提供部117からダウンロードするコンテンツの処理が可能な専用アプリケーションを利用するように構成してもよい。
また、第2の実施例では、コンテンツ提供部117をデータ管理サーバ1のデータ管理ソフトウェア11内に配置しているが、コンテンツ提供部117のみ別サーバに配置して、データ管理サーバ1のデータ管理ソフトウェア11との通信を行うように構成してもよい。
なお、第1の実施例に他の構成として記載した内容は第2の実施例にも適用可能である。
本実施例においても、第1の実施例と同一の効果を奏する。さらに、コンテンツ提供部117は、通信部111から渡されたPC5のWebブラウザ51からのコンテンツ取得要求に基づいてユーザデータの参照、登録、更新、及び削除の機能を利用でき、コンテンツを動的に生成し、ユーザデータを更新する。この場合も、データ管理サーバ1から携帯端末のキャッシュの状態を適宜更新し、携帯端末のキャッシュのデータを更新すべき場合は更新することで、データ管理サーバ1にて携帯端末のキャッシュデータを管理することができる。
なお、本発明は上述した実施例のみに限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能であることは勿論である。例えば、上述の実施例では、ハードウェアの構成として説明したが、これに限定されるものではなく、任意の処理を、CPU(Central Processing Unit)にコンピュータプログラムを実行させることにより実現することも可能である。この場合、コンピュータプログラムは、記録媒体に記録して提供することも可能であり、また、インターネットその他の伝送媒体を介して伝送することにより提供することも可能である。
本発明の原理を説明するための端末キャッシュ管理サーバを示す図である。 本発明の第1の実施例にかかる端末キャッシュ状態管理システムを示す図である。 本発明の第1の実施例にかかる端末キャッシュ状態管理システムにおけるデータ管理サーバを示すブロック図である。 本発明の第1の実施例にかかる端末キャッシュ状態管理システムにおける携帯端末を示すブロック図である。 本発明の第1の実施例にかかる端末キャッシュ状態管理システムにおける携帯端末3を示すブロック図である。携帯端末3の構成は、携帯端末2と同一の構成である。 携帯端末のデータ利用ソフトウェアがデータを参照する際の動作を示すフローチャートである。 キャッシュ状態管理テーブル124においてキャッシュ状態をキャッシュ削除から同期済に更新する場合のキャッシュ状態管理テーブルを示す図である。 携帯端末のデータ利用ソフトウェアがユーザデータを登録する際の動作を示すフローチャートである。 要求元の端末IDでキャッシュ状態を同期済でレコードを登録、及び同一ユーザが使用する別の端末IDでキャッシュ状態を未登録でレコードを登録する場合のキャッシュ状態管理テーブルを示す図である。 登録されたユーザデータを同一ユーザの別の携帯端末に反映する際の動作を示すフローチャートである。 キャッシュ状態が未登録のレコードを同期済に更新する場合のキャッシュ状態管理テーブルを示す図である。 携帯端末のデータ利用ソフトウェアがユーザデータを更新する際の動作を示すフローチャートである。 同一ユーザが使用する別の端末IDでャッシュ状態を未更新に更新する場合のキャッシュ状態管理テーブルを示す図である。 更新されたユーザデータを同一ユーザの別の携帯端末に反映する際の動作を示すフローチャートである。 キャッシュ状態が未更新のレコードを同期済に更新する場合のキャッシュ状態管理テーブルを示す図である。 携帯端末のデータ利用ソフトウェアがユーザデータを削除する際の動作を示すフローチャートである。 要求元の端末IDでキャッシュ状態を削除でレコードを更新、及び同一ユーザが使用する別の端末IDでャッシュ状態を未削除でレコードを更新する場合のキャッシュ状態管理テーブルを示す図である。 削除されたユーザデータを同一ユーザの別の携帯端末に反映する際の動作を示すフローチャートである。 別端末のユーザデータキャッシュ331のユーザデータの削除が完了してキャッシュ状態管理テーブル124の全端末のレコードを削除する場合のキャッシュ状態管理テーブルを示す図である。 携帯端末のデータアクセスソフトウェアがユーザデータをキャッシュから削除する際の動作を示すフローチャートである。 要求元の端末IDのレコードのキャッシュ状態をキャッシュ削除で更新する場合のキャッシュ状態管理テーブルを示す図である。 データ管理サーバのデータ管理ソフトがユーザデータのプッシュ配信を設定する際の動作を示すフローチャートである。 キャッシュ状態管理テーブル124においてプッシュ配信対象の端末IDのレコードのキャッシュ状態をプッシュ配信で更新する場合のキャッシュ状態管理テーブルを示す図である。 プッシュ配信が設定されたユーザデータを携帯端末に反映する際の動作を示すフローチャートである。 キャッシュ状態がプッシュ配信のレコードを同期済に更新する場合のキャッシュ状態管理テーブルを示す図である。 本発明の第2の実施例にかかる端末キャッシュ状態管理システムを示す図である。 本発明の第2の実施例にかかる端末キャッシュ状態管理システムにおけるデータ管理サーバを示すブロック図である。 PCのWebブラウザがユーザデータを参照する際の動作を示すフローチャートである。 PCのWebブラウザがユーザデータを登録する際の動作を示すフローチャートである。 同一ユーザが使用する全端末の端末IDでキャッシュ状態を未登録でレコードを登録する場合のキャッシュ状態管理テーブルを示す図である。 PCのWebブラウザがユーザデータを更新する際の動作を示すフローチャートである。 同一ユーザが使用する全端末の端末IDでキャッシュ状態を未更新でレコードを更新する場合のキャッシュ状態管理テーブルを示す図である。 PCのWebブラウザがユーザデータを削除する際の動作を示すフローチャートである。 同一ユーザが使用する全端末の端末IDでキャッシュ状態を未削除でレコードを更新する場合のキャッシュ状態管理テーブルを示す図である。
符号の説明
1 データ管理サーバ
2 携帯端末
4 通信回線
11 データ管理ソフトウェア
12 データベース
21 データ利用ソフトウェア
22 データアクセスソフトウェア
23 ストレージ
31 データ利用ソフトウェア
32 データアクセスソフトウェア
33 ストレージ
51 ブラウザ
100、101 端末キャッシュ状態管理システム
111 通信部
112 データアクセス管理部
113 データ参照部
114 データ変更部
115 キャッシュ状態管理部
116 プッシュ配信要求部
117 コンテンツ提供部
121 ユーザ情報テーブル
122 端末情報テーブル
123 ユーザデータテーブル
124 キャッシュ状態管理テーブル
151 ステップ
212 サーバ通信部
221 データアクセス部
222 サーバ通信部
223 キャッシュ管理部
231 ユーザ情報
232 ユーザデータキャッシュ
321 データアクセス部
322 サーバ通信部
323 キャッシュ管理部
331 ユーザデータキャッシュ
332 ユーザデータキャッシュ

Claims (25)

  1. キャッシュを有する携帯端末の当該キャッシュを管理するデータ管理サーバであって、
    前記携帯端末と通信する通信手段と、
    前記携帯端末からユーザデータのアクセスに関する要求を受け付けるデータアクセス管理手段と、
    前記携帯端末のキャッシュ状態を管理するキャッシュ状態管理手段と、
    前記携帯端末で使用するユーザデータを格納するユーザデータテーブルと、
    前記携帯端末毎にキャッシュ状態を管理するキャッシュ状態管理テーブルと、
    前記ユーザデータテーブルのユーザデータを変更するデータ変更手段と、
    ユーザを識別するユーザID及び同一ユーザが使用する1以上の携帯端末を識別する端末IDが格納された端末情報テーブルと、を有し、
    前記アクセスに関する要求を受け付けた場合、前記キャッシュ状態管理手段が前記キャッシュ状態管理テーブルを参照し、前記携帯端末のキャッシュを最新のデータに更新する必要があるか否かのチェックし、必要に応じて前記携帯端末のキャッシュを更新し、
    前記アクセスに関する要求がユーザデータを登録するデータ登録要求の場合、
    前記データアクセス管理手段は、前記携帯端末から一時IDが付された登録用のユーザデータを受け取り、
    前記データ変更手段は、前記登録用のユーザデータに当該ユーザデータを識別する項目IDを付して前記ユーザデータテーブルに登録し、
    前記キャッシュ状態管理手段は、前記キャッシュ状態管理テーブルの該当するユーザデータのキャッシュ状態を、前記携帯端末のキャッシュデータが最新データであることを示す同期済みに更新し、
    前記キャッシュ状態管理手段は、前記端末情報テーブルを参照し、前記登録用のユーザデータを登録した携帯端末と同一ユーザが使用する他の端末IDがあるか否かチェックし、当該他の端末IDがある場合は、前記キャッシュ状態管理テーブルの該当するキャッシュ状態を、他の携帯端末のキャッシュに前記ユーザデータが登録されていない状態を示す未登録に設定する、端末キャッシュ管理装置。
  2. 前記アクセスに関する要求がユーザデータを読み出すデータ参照要求であって、前記携帯端末のキャッシュデータが最新データである場合、
    前記ユーザデータテーブルから、前記データ参照要求のあったユーザデータを読み出し、
    前記キャッシュ状態管理手段は、前記キャッシュ状態管理テーブルの該当するユーザデータのキャッシュ状態を、前記携帯端末のキャッシュデータが最新データであることを示す同期済みに更新する
    ことを特徴とする請求項1記載の端末キャッシュ管理装置。
  3. 前記キャッシュ状態管理テーブルに、前記携帯端末にまだ更新されていない未更新ユーザデータが存在することを示すキャッシュ状態未更新が存在する場合、
    前記データアクセス管理手段は、前記携帯端末からアクセスに関する要求を受け取り、
    前記キャッシュ状態管理手段が前記キャッシュ状態管理テーブルを参照して前記未更新ユーザデータを検出し、前記通信手段より前記未更新ユーザデータを前記携帯端末に送信した後、該当するユーザデータのキャッシュ状態を、前記携帯端末のキャッシュデータが最新データであることを示す同期済みに更新する
    ことを特徴とする請求項1又は2記載の端末キャッシュ管理装置。
  4. 前記キャッシュ状態管理テーブルに、前記携帯端末にまだ登録されていない未登録ユーザデータが存在することを示すキャッシュ状態未登録が存在する場合、
    前記データアクセス管理手段は、前記携帯端末からアクセスに関する要求を受け取り、
    前記キャッシュ状態管理手段が前記キャッシュ状態管理テーブルを参照して前記未登録ユーザデータを検出し、前記通信手段より前記未登録ユーザデータを前記携帯端末に送信した後、該当するユーザデータのキャッシュ状態を、前記携帯端末のキャッシュデータが最新データであることを示す同期済みに更新する
    ことを特徴とする請求項1乃至3のいずれか1項記載の端末キャッシュ管理装置。
  5. 前記キャッシュ状態管理テーブルに、前記携帯端末にまだ削除されていない未削除ユーザデータが存在することを示すキャッシュ状態未削除が存在する場合、
    前記データアクセス管理手段は、前記携帯端末からアクセスに関する要求を受け取り、
    前記キャッシュ状態管理手段が前記キャッシュ状態管理テーブルを参照して前記未削除ユーザデータを検出し、前記通信手段より前記未削除ユーザデータを前記携帯端末に送信した後、該当するユーザデータのキャッシュ状態を、前記携帯端末のキャッシュデータが最新データであることを示す同期済みに更新する
    ことを特徴とする請求項1乃至4のいずれか1項記載の端末キャッシュ管理装置。
  6. 前記アクセスに関する要求がユーザデータを更新するデータ更新要求の場合、
    前記データアクセス管理手段は、前記携帯端末から、ユーザデータの項目IDを含むデータ更新要求を受け取り、
    前記データ変更手段は、前記ユーザデータテーブルの、前記データ更新要求に含まれる項目IDのユーザデータを更新する
    ことを特徴とする請求項3記載の端末キャッシュ管理装置。
  7. 前記キャッシュ状態管理手段は、前記端末情報テーブルを参照し、前記ユーザデータを更新した携帯端末と同一ユーザが使用する他の端末IDがあるか否かチェックし、当該他の端末IDがある場合は、前記キャッシュ状態管理テーブルの該当するキャッシュ状態を、他の携帯端末のキャッシュに前記ユーザデータが更新されていない状態を示す未更新に設定する
    ことを特徴とする請求項6記載の端末キャッシュ管理装置。
  8. 前記アクセスに関する要求がユーザデータを更新するデータ更新要求の場合、
    前記データアクセス管理手段は、前記携帯端末からデータ更新要求を受け取り、
    前記キャッシュ状態管理手段が前記キャッシュ状態管理テーブルを参照して前記データ更新要求に含まれるユーザデータが最新データであることを示す同期済みであることを確認し、
    前記データ変更手段は、前記データ更新要求に含まれるユーザデータで前記ユーザデータテーブルを更新する
    ことを特徴とする請求項1乃至7のいずれか1項記載の端末キャッシュ管理装置。
  9. 前記アクセスに関する要求がユーザデータを削除するデータ削除要求の場合、
    前記データアクセス管理手段は、前記携帯端末から、ユーザデータの項目IDを含むデータ削除要求を受け取り、
    前記データ変更手段は、前記ユーザデータテーブルから前記データ削除要求に含まれる項目IDのユーザデータを削除し、
    前記キャッシュ状態管理手段は、前記キャッシュ状態管理テーブルの該当するユーザデータのキャッシュ状態を、前記携帯端末のキャッシュから削除済みを示す削除に更新する
    ことを特徴とする請求項1乃至8のいずれか1項記載の端末キャッシュ管理装置。
  10. 前記キャッシュ状態管理手段は、前記端末情報テーブルを参照し、前記ユーザデータを削除した携帯端末と同一ユーザが使用する他の端末IDがあるか否かチェックし、当該他の端末IDがある場合は、前記キャッシュ状態管理テーブルの該当するキャッシュ状態を、他の携帯端末のキャッシュの前記ユーザデータが削除されていない状態を示す未削除に設定する
    ことを特徴とする請求項9記載の端末キャッシュ管理装置。
  11. 前記アクセスに関する要求が、前記携帯端末がユーザデータをキャッシュから削除した状態を示すキャッシュ削除であることを通知するデータ変更要求である場合、
    前記データアクセス管理手段は、前記携帯端末から前記データ変更要求を受け取り、
    前記キャッシュ状態管理手段は、前記キャッシュ状態管理テーブルにおいて、前記データ変更要求に含まれる項目IDのキャッシュ状態を前記キャッシュ削除に更新する
    ことを特徴とする請求項1乃至10のいずれか1項記載の端末キャッシュ管理装置。
  12. 前記アクセスに関する要求が、前記ユーザデータテーブルに格納されているユーザデータを前記携帯端末にプッシュ配信するように設定するプッシュ配信要求である場合、
    前記データアクセス管理手段は、前記プッシュ配信要求を受け取り、
    前記キャッシュ状態管理手段は、前記プッシュ配信要求に含まれる項目IDのキャッシュ状態が、前記携帯端末のキャッシュからユーザデータが削除されている状態を示すキャッシュ削除である場合、当該キャッシュ状態をプッシュ配信状態に更新する
    ことを特徴とする請求項1乃至11のいずれか1項記載の端末キャッシュ管理装置。
  13. 前記アクセスに関する要求があった場合、前記キャッシュ状態管理手段が前記キャッシュ状態管理テーブルを参照し、キャッシュ状態がプッシュ配信である項目IDがあるかをチェックし、
    前記通信手段は、キャッシュ状態がプッシュ配信であるユーザデータを前記携帯端末に送信する
    ことを特徴とする請求項12項記載の端末キャッシュ管理装置。
  14. 前記ユーザデータテーブルは、ネットワークを介して接続されたコンピュータにより参照される
    ことを特徴とする請求項1乃至13のいずれか1項記載の端末キャッシュ管理装置。
  15. 前記ユーザデータテーブルは、前記コンピュータにより、ユーザデータを登録、更新、又は削除され、
    前記キャッシュ状態管理手段により、前記キャッシュ状態管理テーブルの該当するユーザデータのキャッシュ状態を、前記携帯端末のキャッシュにユーザデータが登録されていない状態を示す未登録、当該キャッシュのユーザデータが更新されていないことを示す未更新、当該キャッシュのユーザデータが削除されていないことを示す未削除に更新する
    ことを特徴とする請求項14項記載の端末キャッシュ管理装置。
  16. キャッシュを有する携帯端末の当該キャッシュを管理するデータ管理サーバにおけるデータ管理方法であって、
    前記データ管理サーバは、
    前記携帯端末からユーザデータのアクセスに関する要求を受け取り、
    前記携帯端末のキャッシュの状態を管理するキャッシュ状態管理テーブルを参照し、前記キャッシュのユーザデータを最新のユーザデータに更新する必要があるか否かのチェックをし、
    最新のユーザデータに更新する必要がある場合は、前記携帯端末のキャッシュデータを最新の状態に更新するべくユーザデータテーブルから読み出したユーザデータを前記携帯端末に送信し、
    前記アクセスに関する要求がユーザデータを登録するデータ登録要求の場合、
    前記携帯端末から一時IDが付された登録用のユーザデータを受け取り、
    前記登録用のユーザデータに当該ユーザデータを識別する項目IDを付して前記ユーザデータテーブルに登録し、
    前記キャッシュ状態管理テーブルの該当するユーザデータのキャッシュ状態を、前記携帯端末のキャッシュデータが最新データであることを示す同期済みに更新し、
    ユーザを識別するユーザID及び同一ユーザが使用する1以上の携帯端末を識別する端末IDが格納された端末情報テーブルを参照し、前記登録用のユーザデータを登録した携帯端末と同一ユーザが使用する他の端末IDがあるか否かチェックし、当該他の端末IDがある場合は、前記キャッシュ状態管理テーブルの該当するキャッシュ状態を、他の携帯端末のキャッシュに前記ユーザデータが登録されていない状態を示す未登録に設定する端末キャッシュ管理方法。
  17. 前記アクセスに関する要求には、当該ユーザデータの種別を示すユーザデータ種別、前記携帯端末を識別する端末ID、及び前記携帯端末のユーザを識別するユーザIDを含み、
    前記データ管理サーバは、前記携帯端末から、ユーザデータを読み出すデータ参照要求を受け取ると、前記ユーザデータ種別、端末ID及びユーザIDにより、前記キャッシュ状態管理テーブルを検索して前記最新のユーザデータに更新する必要があるか否かのチェックをする
    ことを特徴とする請求項16記載の端末キャッシュ管理方法。
  18. 前記アクセスに関する要求には、当該ユーザデータの種別を示すユーザデータ種別、前記携帯端末を識別する端末ID、前記携帯端末のユーザを識別するユーザID、及びユーザデータを識別する項目IDを含み、
    前記データ管理サーバは、前記携帯端末から、ユーザデータを読み出すデータ参照要求を受け取ると、前記ユーザデータ種別、端末ID、ユーザID及び項目IDにより、前記キャッシュ状態管理テーブルを検索して前記最新のユーザデータに更新する必要があるか否かのチェックをする
    ことを特徴とする請求項16記載の端末キャッシュ管理方法。
  19. 前記データ管理サーバは、
    前記アクセスに関する要求として、ユーザデータを読み出すためのデータ参照要求を受け取り、
    前記ユーザデータ種別、端末ID及びユーザIDにより、前記キャッシュ状態管理テーブルを検索して前記最新のユーザデータに更新する必要があるか否かのチェックし、
    更新する必要がない場合は、前記ユーザデータテーブルから該当するユーザデータを読み出し、
    前記キャッシュ状態管理テーブルの該当するユーザデータのキャッシュ状態を、前記携帯端末のキャッシュデータが最新データであることを示す同期済みに更新し、
    読み出したユーザデータを前記携帯端末に送信する
    ことを特徴とする請求項17又は18記載の端末キャッシュ管理方法。
  20. 前記データ管理サーバは、
    前記アクセスに関する要求として、ユーザデータを参照するためのデータ参照要求を受け取り、
    前記ユーザデータ種別、端末ID及びユーザIDにより、前記キャッシュ状態管理テーブルを検索して前記最新のユーザデータに更新する必要があるか否かのチェックし、
    更新する必要がある場合は前記携帯端末に同期が必要である旨を送信し、
    前記携帯端末からユーザデータの同期を行うデータ同期開始要求を受け取り、
    前記キャッシュ状態管理テーブルを参照して、ユーザデータテーブルから同期が必要なユーザデータを読み出し、
    前記携帯端末に当該ユーザデータを送信し、
    前記携帯端末から、前記ユーザデータによりキャッシュを更新したことを示すデータ同期応答及び前記データ参照要求を受け取り、
    前記キャッシュ状態管理テーブルの該当するユーザデータのキャッシュ状態を同期済みに更新し、
    前記データ参照要求の処理を実行する
    ことを特徴とする請求項19記載の端末キャッシュ管理方法。
  21. 前記データ管理サーバは、
    前記アクセスに関する要求として、ユーザデータを削除するデータ削除要求を受け取り、
    前記ユーザデータ種別、端末ID、ユーザID及び項目IDにより、前記キャッシュ状態管理テーブルを検索して前記最新のユーザデータに更新する必要があるか否かのチェックし、
    最新のユーザデータに更新する必要がない場合は、データ削除要求に含まれるユーザデータを識別する項目IDを使用し、前記ユーザデータテーブルの該当するユーザデータを削除し、
    前記キャッシュ状態管理テーブルの該当するユーザデータのキャッシュ状態を削除に更新する
    ことを特徴とする請求項18記載の端末キャッシュ管理方法。
  22. 前記データ管理サーバは、ユーザを識別するユーザID及び同一ユーザが使用する1以上の携帯端末を識別する端末IDが格納された端末情報テーブルを参照し、同一ユーザが使用する他の端末IDが存在する場合、前記キャッシュ状態管理テーブルの該当するユーザデータのキャッシュ状態を、他の携帯端末のキャッシュからユーザデータが削除されていない状態を示す未削除に更新する
    ことを特徴とする請求項21記載の端末キャッシュ管理方法。
  23. 前記データ管理サーバは、
    前記アクセスに関する要求として、ユーザデータを前記携帯端末のキャッシュから削除したことを示すキャッシュ削除を通知するデータ変更要求を受け取り、
    前記キャッシュ状態管理テーブルの該当するキャッシュ状態をキャッシュ削除に更新する
    ことを特徴とする請求項16乃至18のいずれか1項記載の端末キャッシュ管理方法。
  24. 前記データ管理サーバは、
    前記ユーザデータテーブルのユーザデータを、ネットワークを介して接続されたコンピュータにより登録、更新又は削除し、
    前記キャッシュ状態管理テーブルの該当するユーザデータのキャッシュ状態を、前記携帯端末のキャッシュにユーザデータが登録されていない状態を示す未登録、当該キャッシュのユーザデータが更新されていないことを示す未更新、当該キャッシュのユーザデータが削除されていないことを示す未削除に更新する
    ことを特徴とする請求項16乃至23のいずれか1項記載の端末キャッシュ管理方法。
  25. キャッシュを有する携帯端末の当該キャッシュを管理する動作をコンピュータに実行させるためのプログラムであって、
    前記携帯端末からユーザデータのアクセスに関する要求を受け取り、
    前記携帯端末のキャッシュの状態を管理するキャッシュ状態管理テーブルを参照し、前記キャッシュのユーザデータを最新のユーザデータに更新する必要があるか否かのチェックをし、
    最新のユーザデータに更新する必要がある場合は、前記携帯端末のキャッシュデータを最新の状態に更新するべくユーザデータテーブルから読み出したユーザデータを前記携帯端末に送信し、
    前記アクセスに関する要求がユーザデータを登録するデータ登録要求の場合、
    前記携帯端末から一時IDが付された登録用のユーザデータを受け取り、
    前記登録用のユーザデータに当該ユーザデータを識別する項目IDを付して前記ユーザデータテーブルに登録し、
    前記キャッシュ状態管理テーブルの該当するユーザデータのキャッシュ状態を、前記携帯端末のキャッシュデータが最新データであることを示す同期済みに更新し、
    ユーザを識別するユーザID及び同一ユーザが使用する1以上の携帯端末を識別する端末IDが格納された端末情報テーブルを参照し、前記登録用のユーザデータを登録した携帯端末と同一ユーザが使用する他の端末IDがあるか否かチェックし、当該他の端末IDがある場合は、前記キャッシュ状態管理テーブルの該当するキャッシュ状態を、他の携帯端末のキャッシュに前記ユーザデータが登録されていない状態を示す未登録に設定するプログラム。
JP2007297599A 2007-11-16 2007-11-16 端末キャッシュ管理装置、端末キャッシュ管理方法及びプログラム Active JP5217376B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007297599A JP5217376B2 (ja) 2007-11-16 2007-11-16 端末キャッシュ管理装置、端末キャッシュ管理方法及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007297599A JP5217376B2 (ja) 2007-11-16 2007-11-16 端末キャッシュ管理装置、端末キャッシュ管理方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2009123047A JP2009123047A (ja) 2009-06-04
JP5217376B2 true JP5217376B2 (ja) 2013-06-19

Family

ID=40815114

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007297599A Active JP5217376B2 (ja) 2007-11-16 2007-11-16 端末キャッシュ管理装置、端末キャッシュ管理方法及びプログラム

Country Status (1)

Country Link
JP (1) JP5217376B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5483561B2 (ja) * 2010-02-25 2014-05-07 楽天株式会社 ストレージ装置、サーバ装置、ストレージシステム、データベース装置、データの提供方法、及び、プログラム
JP5686046B2 (ja) * 2011-03-31 2015-03-18 富士通株式会社 アプリ提供システム、アプリ提供方法及びアプリ提供プログラム
JP6229689B2 (ja) * 2015-03-31 2017-11-15 日本電気株式会社 サーバ及び情報処理システム
JP7179487B2 (ja) * 2018-05-10 2022-11-29 キヤノン株式会社 サーバ装置、制御方法及びプログラム
CN115134134A (zh) * 2022-06-23 2022-09-30 中国民航信息网络股份有限公司 一种信息处理方法、装置及设备

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1078912A (ja) * 1996-09-02 1998-03-24 Matsushita Electric Ind Co Ltd データ入出力処理装置
JPH11345134A (ja) * 1998-06-03 1999-12-14 Hitachi Ltd オペレーティングシステム
JP2003030037A (ja) * 2001-07-19 2003-01-31 Nec Corp 事前予測処理システム及び方法
JP4227338B2 (ja) * 2002-02-07 2009-02-18 株式会社富士通ソーシアルサイエンスラボラトリ データキャッシュ方法、システム及びプログラム並びに記録媒体
JP2004280405A (ja) * 2003-03-14 2004-10-07 Sony Corp 情報提供システム及び情報提供方法、並びにコンピュータ・プログラム
JP2004320754A (ja) * 2003-04-04 2004-11-11 Matsushita Electric Ind Co Ltd デジタルコンテンツ再生装置、およびデジタルコンテンツ利用制御方法
EP1785880A4 (en) * 2004-06-24 2007-12-05 Nec Corp INFORMATION SERVICE SYSTEM, INFORMATION SERVER, PORTABLE TERMINAL, INFORMATION SERVICE CONTROL PROGRAM, AND PORTABLE TERMINAL CONTROL PROGRAM

Also Published As

Publication number Publication date
JP2009123047A (ja) 2009-06-04

Similar Documents

Publication Publication Date Title
KR101098621B1 (ko) 네트워킹된 환경에서 설치 컴포넌트들을 업데이트하는시스템 및 방법
JP5193056B2 (ja) 無線装置の最新データを維持するための方法及びシステム
US10242023B2 (en) Programming model for synchronizing browser caches across devices and web services
KR101130367B1 (ko) 소프트웨어 분산 서비스를 위한 시스템 및 방법
KR101150041B1 (ko) 델타 압축 패칭을 이용하여 파일을 업데이트하기 위한시스템 및 방법
JP3967806B2 (ja) リソースの位置を指名するためのコンピュータ化された方法及びリソース指名機構
KR101627873B1 (ko) 컴퓨팅 환경 표현
KR101098745B1 (ko) 소프트웨어 업데이트를 관리하고 통신하기 위한 시스템 및방법
US7383289B2 (en) Updating and maintaining data in a multi-system network using asynchronous message transfer
US8250102B2 (en) Remote storage and management of binary object data
KR20000028677A (ko) 클라이언트와 적응형 동기 및 변형 서버를 위한 방법,장치, 프로그램 저장장치
WO2004066362A2 (en) System and method for sharing objects among two or more electronic devices
US20060123121A1 (en) System and method for service session management
JP5217376B2 (ja) 端末キャッシュ管理装置、端末キャッシュ管理方法及びプログラム
KR20060044411A (ko) 컴퓨터 신원을 관리하는 방법, 시스템 및 장치
CN110795395B (zh) 文件部署系统和文件部署方法
JP6219547B2 (ja) コンテンツ配信ネットワーク(cdn)における無効化
JP2014209365A (ja) 装置へのコンテンツの分配を管理するシステムと方法とプログラムを提供する記憶媒体
JP4764193B2 (ja) 文書管理装置、該プログラム、及び該方法
US20150100545A1 (en) Distributed database system and a non-transitory computer readable medium
JP3638884B2 (ja) 情報個別管理システム、情報個別管理方法及び情報個別管理プログラム
JP6904452B2 (ja) プログラマブルデバイス適用認証システム及び認証方法
JPH11327989A (ja) データベース管理装置、および、そのプログラムが記録された記録媒体
JP2002278893A (ja) 情報配信システム、情報配信方法、プログラム
JPH11327987A (ja) データベース管理装置、および、そのプログラムが記録された記録媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20101012

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120810

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120821

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121022

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121113

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130115

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130205

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130218

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20160315

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5217376

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150