(57)【特許請求の範囲】
【請求項１】
メールクライアントプログラムが格納された書き込み可能な不揮発性メモリと、揮発性メモリと、処理装置と、表示装置とを備えたメール端末装置であって、
前記処理装置は、前記メールクライアントプログラムを実行することにより、
ヘッダ情報およびボディ情報からなるメッセージを、前記不揮発性メモリ上に設けられたアカウント毎のデータベースであるメールボックスに蓄積し、
前記メールクライアントプログラムの起動時に、デフォルトに設定されているアカウントのメールボックスからメッセージを取得して、当該取得したメッセージのヘッダ情報を前記揮発性メモリにキャッシュし、
前記揮発性メモリにキャッシュされたヘッダ情報を前記表示装置に表示させることを特徴とするメール端末装置。
【請求項２】
前記メールクライアントプログラムの起動時に、いずれのアカウントもデフォルトに設定されていない場合には、前記メールクライアントプログラムの起動後に選択されたアカウントのメールボックスからメッセージを取得して、当該取得したメッセージのヘッダ情報を前記揮発性メモリにキャッシュすることを特徴とする請求項１に記載のメール端末装置。
【請求項３】
前記メールクライアントプログラムの起動後にアカウントが切り替えられた場合には、当該切り替え前に前記揮発性メモリにキャッシュされた内容を破棄し、切り替え後のアカウントのメールボックスからメッセージを取得して、当該取得したメッセージのヘッダ情報を前記揮発性メモリにキャッシュすることを特徴とする請求項１または請求項２に記載のメール端末装置。
【請求項４】
前記メールボックスから前記揮発性メモリにキャッシュするメッセージの件数に上限値を設けることを特徴とする請求項１から請求項３のいずれか１項に記載のメール端末装置。
【請求項５】
前記メールボックスから前記揮発性メモリにキャッシュする容量に上限値を設けることを特徴とする請求項１から請求項４のいずれか１項に記載のメール端末装置。
【請求項６】
前記処理装置は、前記メールクライアントプログラムを実行することにより、
さらに、
前記メールボックスから取得したメッセージのボディ情報を前記不揮発性メモリ上のファイルに格納し、
前記不揮発性メモリ上のファイルに格納されたボディ情報を前記表示装置に表示させることを特徴とする請求項１から請求項５のいずれか１項に記載のメール端末装置。
【請求項７】
書き込み可能な不揮発性メモリと、揮発性メモリと、処理装置と、表示装置とを備えたメール端末装置で実行されるメールクライアントプログラムであって、
前記処理装置に、
ヘッダ情報およびボディ情報からなるメッセージを、前記不揮発性メモリ上に設けられたアカウント毎のデータベースであるメールボックスに蓄積するステップと、
当該メールクライアントプログラムの起動時に、デフォルトに設定されているアカウントのメールボックスからメッセージを取得して、当該取得したメッセージのヘッダ情報を前記揮発性メモリにキャッシュするステップと、
前記揮発性メモリにキャッシュされたヘッダ情報を前記表示装置に表示させるステップと、
を実行させることを特徴とするメールクライアントプログラム。
【請求項８】
前記揮発性メモリにキャッシュするステップは、当該メールクライアントプログラムの起動時に、いずれのアカウントもデフォルトに設定されていない場合には、当該メールクライアントプログラムの起動後に選択されたアカウントのメールボックスからメッセージを取得して、当該取得したメッセージのヘッダ情報を前記揮発性メモリにキャッシュすることを特徴とする請求項７に記載のメールクライアントプログラム。
【請求項９】
前記揮発性メモリにキャッシュするステップは、当該メールクライアントプログラムの起動後にアカウントが切り替えられた場合には、当該切り替え前に前記揮発性メモリにキャッシュされた内容を破棄し、切り替え後のアカウントのメールボックスからメッセージを取得して、当該取得したメッセージのヘッダ情報を前記揮発性メモリにキャッシュすることを特徴とする請求項７または請求項８に記載のメールクライアントプログラム。
【請求項１０】
前記揮発性メモリにキャッシュするステップでは、前記メールボックスから前記揮発性メモリにキャッシュするメッセージの件数に上限値を設けることを特徴とする請求項７から請求項９のいずれか１項に記載のメールクライアントプログラム。
【請求項１１】
前記揮発性メモリにキャッシュするステップでは、前記メールボックスから前記揮発性メモリにキャッシュする容量に上限値を設けることを特徴とする請求項７から請求項１０のいずれか１項に記載のメールクライアントプログラム。
【請求項１２】
前記処理装置に、
さらに、前記メールボックスから取得したメッセージのボディ情報を前記不揮発性メモリ上のファイルに格納するステップを実行させ、
前記表示装置に表示させるステップは、前記不揮発性メモリ上のファイルに格納されたボディ情報を前記表示装置に表示させることを特徴とする請求項７から請求項１１のいずれか１項に記載のメールクライアントプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】  本発明は、メール端末装置およびメールクライアントプログラムに関するものである。
【背景技術】
【０００２】  コンピュータネットワークを利用してメッセージを交換する方法として、電子メールは広く利用されている。また携帯電話端末ではＳＭＳ（Ｓｈｏｒｔ  Ｍｅｓｓａｇｅ  Ｓｅｒｖｉｃｅ）、ＭＭＳ（Ｍｕｌｔｉｍｅｄｉａ  Ｍｅｓｓａｇｉｎｇ  Ｓｅｒｖｉｃｅ）といったメッセージを交換するサービスが同じ通信事業者の契約端末間で提供されており、さらに携帯電話端末とインターネットに接続されたコンピュータまたは他通信事業者の契約端末との間では電子メールを交換することも広く行われている。【０００３】  個々のローカルネットワーク内で独自の通信方式（プロトコル）によって運用されていた電子メールは、インターネットが普及することにより、ＴＣＰ／ＩＰネットワーク上でＳＭＴＰ（Ｓｅｎｄ  Ｍａｉｌ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）、ＰＯＰ（Ｐｏｓｔ  Ｏｆｆｉｃｅ  Ｐｒｏｔｏｃｏｌ）、ＩＭＡＰ（Ｉｎｔｅｒｎｅｔ  Ｍｅｓｓａｇｅ  Ａｃｃｅｓｓ  Ｐｒｏｔｏｃｏｌ）、ＭＩＭＥ（Ｍｕｌｔｉｐｕｒｐｏｓｅ  Ｉｎｔｅｒｎｅｔ  Ｍａｉｌ  Ｅｘｔｅｎｓｉｏｎｓ）等のＲＦＣで定められた共通のプロトコルによって運用されている。【０００４】  携帯電話端末の電子メールも基本的には同様のプロトコルに沿って運用されているが、移動体通信事業者が提供しているネットワークやサービスに対応するため独自の拡張および修正が加えられている場合もある。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平１９９７−２６１３４４公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】  携帯電話端末でメッセージの作成、送受信、閲覧および管理を実現するためには、携帯電話端末上でＭＵＡ（Ｍａｉｌ  Ｕｓｅｒ  Ａｇｅｎｔ）のプログラム（以下、メーラー、メールクライアントと称する場合がある）を実行する必要がある。しかしながら、携帯電話端末はパーソナルコンピュータやサーバコンピュータ等の汎用コンピュータと比べて処理能力やメモリ容量が制限されており、またメモリの構成も異なっている。このため、携帯電話端末用のメールクライアントでは、携帯電話端末に固有の問題が生じる場合がある。【０００７】  例えば携帯電話のフラッシュメモリに電子メールのメッセージを蓄積すると、メッセージ一覧を表示するにはフラッシュメモリに格納された大量のデータを読み出す処理が必要となる。このためフラッシュメモリの読み書き速度が低速な場合、ユーザがメッセージ一覧を表示するためのコマンドを入力してから一覧画面が表示されるまでの間にタイムラグが発生し、ユーザのコマンド入力に対するレスポンスが遅延して快適に操作することが難しくなる。【０００８】  また、携帯電話端末のプラットフォームにデータベースＡＰＩが組み込まれている場合には、データベースＡＰＩを利用することによりメッセージやアドレスのデータ管理を簡単に行うことが可能である。しかし、データベースＡＰＩを利用することは関数の実行を介在させることになるため、データベースＡＰＩの使用もコマンド入力から画面表示までのレスポンスを遅延させる要因となる。【０００９】  そこで本発明は、大量のメッセージがフラッシュメモリに蓄積されていてもレスポンス良くメッセージ一覧画面を表示することの可能なメール端末装置およびメールクライアントプログラムを提供することを目的とする。さらに、データベースとしてメッセージが管理されていてもレスポンス良くメッセージ一覧画面を表示することの可能なメール端末装置およびメールクライアントプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記課題を解決するために、本発明の第１の観点は、メールクライアントプログラムが格納された書き込み可能な不揮発性メモリと、揮発性メモリと、処理装置と、表示装置とを備えたメール端末装置である。
このメール端末装置に用いられる処理装置は、メールクライアントプログラムを実行することにより、ヘッダ情報およびボディ情報からなるメッセージを、不揮発性メモリ上に設けられたアカウント毎のデータベースであるメールボックスに蓄積し、メールクライアントプログラムの起動時に、デフォルトに設定されているアカウントのメールボックスからメッセージを取得して、当該取得したメッセージのヘッダ情報を揮発性メモリにキャッシュする。そして、揮発性メモリにキャッシュされたヘッダ情報を表示装置に表示させることを特徴とする。
また、この処理装置は、メールクライアントプログラムの起動時に、いずれのアカウントもデフォルトに設定されていない場合には、メールクライアントプログラムの起動後に選択されたアカウントのメールボックスからメッセージを取得して、当該取得したメッセージのヘッダ情報を揮発性メモリにキャッシュすることを特徴とする。
また、この処理装置は、メールクライアントプログラムの起動後にアカウントが切り替えられた場合には、当該切り替え前に揮発性メモリにキャッシュされた内容を破棄し、切り替え後のアカウントのメールボックスからメッセージを取得して、当該取得したメッセージのヘッダ情報を揮発性メモリにキャッシュすることを特徴とする。
【００１１】
このメール端末装置の構成においては、メールボックスから揮発性メモリにキャッシュするメッセージの件数に上限値を設けることが好適である。また、メールボックスから揮発性メモリにキャッシュする容量に上限値を設けることが好適である。
【００１２】
また、処理装置は、メールクライアントプログラムを実行することにより、メールボックスから取得したメッセージのボディ情報を不揮発性メモリ上のファイルに格納し、不揮発性メモリ上の当該ファイルに格納されたボディ情報を表示装置に表示させる構成としても良い。
【００１３】
また、本発明の第２の観点は、書き込み可能な不揮発性メモリと、揮発性メモリと、処理装置と、表示装置とを備えたメール端末装置で実行されるメールクライアントプログラムである。このプログラムは、処理装置に、ヘッダ情報およびボディ情報からなるメッセージを、不揮発性メモリ上に設けられたアカウント毎のデータベースであるメールボックスに蓄積するステップと、当該メールクライアントプログラムの起動時に、デフォルトに設定されているアカウントのメールボックスからメッセージを取得して、当該取得したメッセージのヘッダ情報を揮発性メモリにキャッシュするステップと、揮発性メモリにキャッシュされたヘッダ情報を表示装置に表示させるステップとを実行させることを特徴とする。
また、このプログラムにおいて、揮発性メモリにキャッシュするステップは、当該メールクライアントプログラムの起動時に、いずれのアカウントもデフォルトに設定されていない場合には、当該メールクライアントプログラムの起動後に選択されたアカウントのメールボックスからメッセージを取得して、当該取得したメッセージのヘッダ情報を揮発性メモリにキャッシュすることを特徴とする。
また、このプログラムにおいて、揮発性メモリにキャッシュするステップは、当該メールクライアントプログラムの起動後にアカウントが切り替えられた場合には、当該切り替え前に揮発性メモリにキャッシュされた内容を破棄し、切り替え後のアカウントのメールボックスからメッセージを取得して、当該取得したメッセージのヘッダ情報を揮発性メモリにキャッシュすることを特徴とする。
【００１４】
上述のプログラムにおいて、揮発性メモリにキャッシュするステップでは、メールボックスから揮発性メモリにキャッシュするメッセージの件数に上限値を設けることが好適である。また、揮発性メモリにキャッシュするステップでは、メールボックスから揮発性メモリにキャッシュする容量に上限値を設けることが好適である。
【００１５】
また、処理装置に、メールボックスから取得したメッセージのボディ情報を不揮発性メモリ上のファイルに格納するステップを実行させ、表示装置に表示させるステップでは、不揮発性メモリ上のファイルに格納されたボディ情報を表示装置に表示させる構成としても良い。
【発明の効果】
【００１６】
本発明のメール端末装置およびメールクライアントプログラムによれば、書き換え可能な不揮発性メモリ上に設けられたアカウント毎のデータベースであるメールボックスにヘッダ情報およびボディ情報からなるメッセージを蓄積し、メールクライアントプログラムの起動時に、デフォルトに設定されているアカウントのメールボックスからメッセージを取得して、当該取得したメッセージのヘッダ情報を揮発性メモリにキャッシュするステップと、揮発性メモリにキャッシュされたヘッダ情報を表示装置に表示するステップとが実行される。したがって、コマンド入力から表示までの間には、アクセス速度の遅い書き換え可能な不揮発性メモリ（フラッシュメモリ）に対するアクセスが大量に発生することはなく、より高速な揮発性メモリ（ＲＡＭ）からメッセージのヘッダ情報を読み出してレスポンス良く表示を行うことができる。
【００１７】
ここで、最新のメッセージから所定件数のメッセージをキャッシュ対象とすること、および／または、最新のメッセージから所定容量を超えないようにメッセージをキャッシュ対象とすれば、揮発性メモリの消費量やキャッシュ処理のオーバーヘッドが過大とならないように抑制することできる。
【００１８】
また、本発明をヘッダ情報およびボディ情報からなるメッセージがアカウント毎のデータベースであるメールボックスに蓄積されているメール端末装置およびメールクライアントプログラムに適用した場合には、揮発性メモリにキャッシュされたヘッダ情報を、データベースＡＰＩを介在させずに読み出すことが可能となり、これによりデータベースＡＰＩを介在させるオーバーヘッドを軽減することができる。
【００１９】
この場合には、さらにメッセージのヘッダ情報の一部を揮発性メモリにキャッシュし、ボディ情報は不揮発性メモリ上のファイルに蓄積して、当該ファイルに蓄積されたメッセージのボディ情報を表示装置に表示することが好適である。メッセージのボディ情報はヘッダ情報と比べてサイズが大きく揮発性メモリの容量的にキャッシュすることが難しい場合もあるが、不揮発性メモリ上にファイルとして保持することで少なくともデータベースＡＰＩを使用することなくボディ情報を読み出して表示することが可能となる。
【図面の簡単な説明】
【００２０】
【図１】  本発明の一実施形態にかかる端末装置のハードウェアブロック図である。
【図２】  本発明の一実施形態にかかる端末装置のソフトウェアブロック図である。
【図３】  メールクライアントプログラムのブロック図である。
【図４】  （ａ）はフォルダ一覧表示部画面の一例、（ｂ）メッセージ一覧表示画面の一例、（ｃ）メッセージ個別表示画面の一例、（ｄ）メッセージ一覧表示画面の別の例をそれぞれ示す図面である。
【図５】  （ａ）はメッセージのデータ構造の一例を示す図面であり、（ｂ）はデータ構造の別の例を示す図面である。
【図６】  メール端末装置の動作例を示したフローチャートである。
【図７】  キャッシュ処理の動作例を示したフローチャートである。
【発明を実施するための形態】
【００２１】  以下、本発明にかかるメール端末装置およびプログラムの実施の形態について説明する。図１は本発明にかかるメール端末装置の一実施形態である通信端末装置１００のハードウェアブロック図である。この図では、標準的なハードウェア構成について示しており、機能ブロックの一部には本発明と関係ないものも併せて示されている。図１に示すように、この通信端末装置１００は、主として、処理装置であるアプリケーションプロセッサ１０１およびベースバンドプロセッサ１０２と、アプリケーションプロセッサ１０１に接続されたバッテリー１０３、揮発性メモリであるＲＡＭ１０４、書き込み可能な不揮発性メモリであるフラッシュメモリ１０５、メモリーカード端子１０６、ＧＰＳトランシーバ１０８、ＷｉＦｉ／Ｂｌｕｅｔｏｏｔｈトランシーバ１０９、キーパッド／ボタン１１０、ＬＣＤ／タッチパネル１１１、マイク１１２、スピーカ１１３、ＵＳＢ端子１１４およびカメラ１１５と、ベースバンドプロセッサ１０２に接続されたトランシーバ／ＵＳＩＭ１０７とから構成されている。以下、これらの構成について説明する。
【００２２】  アプリケーションプロセッサ１０１はＭＰＵないしＣＰＵであり、バッテリー１０３から電力の供給を受けて後述するフラッシュメモリ１０５に格納されたプログラムを実行することにより種々の機能を実現する部である。ベースバンドプロセッサ１０２は、無線通信の基本的な機能を実現するための信号処理を行うプロセッサである。これらアプリケーションプロセッサ１０１およびベースバンドプロセッサ１０２は一つのチップセットとして構成してもよいし、両者の機能を一つのプロセッサに統合したものであっても構わない。
【００２３】  バッテリー１０３は、各機能ブロックに電力を供給する部であり、必要に応じてバッテリーを制御するコントローラチップが併用される。
【００２４】  ＲＡＭ１０４は、揮発性メモリでありＳＲＡＭやＰＳＲＡＭ、各種ＤＲＡＭ等の半導体記憶装置が採用される。フラッシュメモリ１０５は、書き換え可能な不揮発性メモリであって、ＮＡＮＤ型であってもＮＯＲ型であってもよいし他の形式であっても構わない。ＲＡＭ１０４とフラッシュメモリ１０５とを比較すると、その読み出し時間および書き込み時間はいずれもＲＡＭ１０４がより高速である。また、通信端末装置１００にはメモリーカード端子１０６が設けられており、小型のフラッシュメモリモジュールを外部メモリとして接続することが可能である。
【００２５】  フラッシュメモリ１０５には、アプリケーションプロセッサ１０１およびベースバンドプロセッサ１０２で実行することにより通信端末装置１００で所定の機能を実現するための種々のプログラムおよびデータが格納されている。これらのプログラムおよび／またはデータは必要に応じてＲＡＭ１０４にロードされ、ＲＡＭ１０４上に確保されたヒープメモリを利用して実行される。
【００２６】  トランシーバ／ＵＳＩＭ１０７はベースバンドプロセッサ１０２と接続されており、装着されたＵＳＩＭ（Ｕｎｉｖｅｒｓａｌ  Ｓｕｂｓｃｒｉｂｅｒ  Ｉｄｅｎｔｉｔｙ  Ｍｏｄｕｌｅ）すなわち汎用加入者識別モジュールの情報に基づいて、ベースバンドプロセッサ１０２の制御により所定電波帯域で電波を送受信して通信を行う回路である。本実施形態における通信端末装置１００は、ベースバンドプロセッサ１０２とトランシーバ／ＵＳＩＭ１０７により移動体通信網に接続して通信を行う構成となっている。
【００２７】  ＧＰＳトランシーバ１０８は、通信端末装置１００の位置情報を取得するＧＰＳ信号を受信するための部であり、ＷｉＦｉ／Ｂｌｕｅｔｏｏｔｈトランシーバ１０９はＩＥＥＥ８０２．１１ａ，ＩＥＥＥ８０２，１１ｂ，ＩＥＥＥ８０２．１１ｇ，ＩＥＥＥ８０２．１１ｎ等で規定されたＷｉＦｉ（無線ＬＡＮ）技術を利用した通信およびＩＥＥＥ８０２．１５．１およびＢｌｕｅｔｏｏｔｈ規格で規定されたＢｌｕｅｔｏｏｔｈ技術を利用した通信を行う回路である。これらの回路は互いに独立したチップとして実装しても良いし、双方の回路を一つのチップに実装した構成であっても構わない。
【００２８】  キーパッド／ボタン１１０は、通信端末装置１００の筐体に設けられた入力装置であって、後述するＬＣＤ／タッチパネル１１１とともにユーザが通信端末装置１００を操作するための入力を受け付ける。
【００２９】  ＬＣＤ／タッチパネル１１１は、タッチパネル機能を備えた液晶ディスプレイ装置であって、通信端末装置１００はＬＣＤ／タッチパネル１１１の画面にアプリケーションの情報を表示するとともにＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）を表示してユーザの操作に供する。
【００３０】  さらに、マイク１１２およびスピーカ１１３は通信端末装置１００で音声の入出力を実現し、ＵＳＢ１１４は通信端末装置１００を別の機器に接続してデータを送受信したり機能を制御したりするために使用される。また、カメラ１１５は、通信端末装置１００で写真撮影する機能を提供する。
【００３１】  次に、以上のように構成された通信端末装置１００のフラッシュメモリ１０５に格納されたプログラムの構成について概略を説明する。図２は、通信端末装置１００の全体的なプログラム構成を示す図面である。
図２に示すように通信端末装置１００のプログラム構成は、主として、オペレーティングシステム２００、ミドルウェア２０２およびアプリケーション２０７の３層からなっている。これらのプログラムはフラッシュメモリ１０５に格納されており、実行時には必要に応じてＲＡＭ１０４を使用してアプリケーションプロセッサ１０１および／またはベースバンドプロセッサ１０２により実行されることにより各種機能を実現するものである。
【００３２】  オペレーティングシステム２００は、ハードウェアを制御するためのデバイスドライバ２０１を内蔵しており、ミドルウェア２０２およびアプリケーション２０７に入出力の制御、メモリ管理、プロセス管理等といったコンピュータシステムとしての基本的な機能を提供する。
【００３３】  ミドルウェア２０２は、例えばグラフィック処理を行うグラフィックライブラリ２０３、ＨＴＭＬファイルのレンダリング処理を行うＨＴＭＬレンダリングエンジン２０４、データベースを管理するためのデータベースＡＰＩを提供するデータベース管理システム２０５、Ｕｎｉｘ系ＯＳにおけるＩｉｂｃに代表される標準ライブラリ２０６を含み、アプリケーション２０７が利用する汎用的な機能を提供する。ここで、通信端末１００でＪａｖａ（登録商標）アプリケーションのように実行環境を必要とするプログラムを実行する場合には、ミドルウェア２０２として当該実行環境を実装する。
【００３４】  アプリケーション２０７は、Ｗｅｂページを取得してＨＴＭＬレンダリングエンジン２０４で作成した画面を表示するブラウザ２０８、後述するメールクライアントプログラム２０９、電話機能を提供する電話アプリケーション２１０等を含み、通信端末装置１００のユーザに各種機能を提供するものである。
【００３５】  以下、メールクライアントプログラム２０９について説明する。図３はメールクライアントプログラム２０９のソフトウェアブロック図に、フラッシュメモリ１０５に格納されたデータ類を併せて示した図面である。図３に示すようにメールクライアントプログラム２０９は、主としてメニュー表示部２２１、アカウント設定管理部２２２、アドレス管理部２２３、メッセージ管理部２２７およびキャッシュ管理部２３４から構成される。なお、図３には全ての機能ブロックがＲＡＭ１０４に配置された状態を示しているが、各機能ブロックは必要なタイミングでフラッシュメモリ１０５からロードされる構成としても構わない。また、データ類は、データベース管理システム２０５で管理されたアカウント情報２４１、アドレスデータ部２４２、メールボックスＡ２４３およびメールボックスＢ２４４（以下、メッセージボックスと総称する場合がある）と、ボディ情報格納ファイル２５０を含んでいる。
【００３６】  フォルダ一覧表示部２２１は、起動後に表示される画面をなすブロックであり、デフォルトに設定されているアカウントのメールボックスについて、設定されているフォルダの一覧を表示してユーザの選択に供する。また、アカウント切り替え、設定、メール作成、アドレス帳表示の各機能を呼び出すためのＵＩを併せて画面に表示する。図４（ａ）にフォルダ一覧表示部２２１のなす画面の一例を示す。
【００３７】  アカウント設定管理部２２２は、フォルダ一覧表示部表示部２２１のなす画面からアカウントの切り替えのＵＩまたは設定のＵＩを操作することで呼び出され、アカウント一覧を表示してユーザの選択したものにアカウントを切り替える機能、アカウントの設定を行う機能を提供する。アカウント管理部２２２が設定管理するユーザのアカウント情報は、データベース管理システム２０５によって管理されたアカウント情報部２４１に保存される。
【００３８】  アドレス管理部２２３は、フォルダ一覧表示部表示部２２１のなす画面からアドレス帳表示のＵＩを操作することで呼び出され、登録されたアドレスの一覧を表示するアドレス一覧表示部２２４、登録されたアドレスを個別に画面に表示するアドレス個別表示部２２５、アドレスの追加および登録されたアドレスの修正を行うアドレス追加修正部２２６を備え、アドレス帳に登録されたデータの利用および管理する処理を行う。アドレス管理部２２３が管理するアドレス帳のデータは、データベース管理システム２０５によって管理されたアドレスデータ部２４２に保存される。
【００３９】  メッセージ管理部２２７は、メッセージ（メールクライアントプログラム２０９が作成ないし送受信した個々のメールをいう）を一覧表示するメッセージ一覧表示部２３２およびメッセージを個別に表示するメッセージ個別表示部２３３を有するメッセージ表示部２２８、新規メッセージの作成編集を行うメッセージ作成編集部２２９、メールサーバに接続してメッセージの送信を行うメッセージ送信部２３０、メールサーバに接続してメッセージの受信を行うメッセージ受信部２３１を備え、これらにより新規メールを作成して送信し、新規メールを受信して管理し、また画面に表示する処理を行う。ここで、図４（ｂ）はメッセージ一覧表示部２３２が表示する画面の一例であり、図４（ｃ）はメッセージ個別表示部２３３が表示する画面の一例である。メッセージ管理部２２７が管理するメッセージを蓄積したメールデータは、データベース管理システム２０５によって管理されたメールボックスに保存されている。
【００４０】  以下、メッセージ管理部２２７が管理するメッセージおよびメールボックスのデータ形式について説明する。メールクライアントプログラムが送受信するメッセージは電子メールとして標準的なデータ形式をとるものであり、その構造は図５（ａ）および（ｂ）に示す通りである。図５（ａ）は添付ファイルが無いテキストメールのデータ構造を示しており、この場合のメッセージはヘッダ情報と、本文からなるボディ情報とが空行により分離された構造となっている。これに対して図５（ｂ）はファイルの添付されたマルチパートメールのデータ構造を示しており、この場合のメッセージはヘッダ情報と、本文のパートと添付ファイルのパートからなるボディ情報とが空行により分離された構造となっている。
【００４１】  メッセージ管理部２２７は、このようなメッセージから、受信した形態が（Ｔ０，ＣＣ，ＢＣＣ）のいずれかであるかを示す受信タイプ、Ｕｉｄ、タイトル、受信日、送信日、送信元、返信先、ボディ情報、コンテンツ形式およびＭＩＭＥタイプ等を抽出ないし判断し、さらにメッセージを格納するデータベース名、データベースのプライマリーキーとして使用するＩＤ、ユーティリティフラグ、フォルダ名、既読フラグ等を付与したメッセージオブジェクトをなし、当該メッセージオブジェクトの管理を行う。また、データベース管理システム２０５を利用してメールボックスＡ２４３またはメールボックスＢ２４４にメッセージオブジェクトを格納し、データベースとして管理する。
【００４２】  キャッシュ管理部２３４は、メッセージ管理部２２７が使用するメッセージオブジェクトをメールボックスＡ２４３またはＢ２４４から取得して、ボディ情報以外のデータをＲＡＭ１０４上のメッセージキャッシュ２３５に配置し、ボディ情報はフラッシュメモリ１０５上のボディ情報格納ファイル２５０に格納し、メッセージ管理部２２７の利用に供する。
【００４３】  すなわち、メッセージ管理部２２７がメッセージ表示部２２８、メッセージ一覧表示部２３２およびメッセージ個別表示部２３３によりメッセージを表示する際には、メールデータベースキャッシュ２３５から表示するメッセージのヘッダ情報等を読み出すとともに、ボディ情報をボディ情報格納ファイル２５０から読み出して表示画面を生成する。
【００４４】  これによりフラッシュメモリ１０５の読み出し量を低減することができ、かつ、データベース管理システム２０５を利用することのオーバーヘッドを軽減できるので、メッセージ表示をレスポンス良く行うことが可能となる。ただし、キャッシュ管理部２３４がメッセージをキャッシュするプロセスの負荷は依然として存在するので、メッセージのキャッシュは先読みの形で事前に開始しておくことが好ましい。例えば、起動後に表示するアカウントが決まっている場合には、起動時に当該アカウントについてメッセージのキャッシュを開始してバックグラウンドで実行することができる。この場合、ユーザがアカウント管理部２２２によりアカウントを切り替えた際には、それまでにキャッシュした内容を破棄して新しいアカウントについてメッセージのキャッシュを開始しなければならない。また、表示するアカウントを起動後に選択させる場合には、アカウントが選択された時点でメッセージのキャッシュを開始することができる。
【００４５】  ここで、キャッシュ管理部２３４は、メールボックスから取得したメッセージオブジェクトの全てをメッセージキャッシュ２３５に配置することも可能である。しかし、添付ファイルのあるメッセージでは、ボディ情報が添付ファイルのデータを含むために数メガバイトのサイズに達することもあり、メールクライアントプログラム２０９が利用できるＲＡＭ１０４の容量が制限されている場合にはメモリ不足となる懸念がある。このため、本実施形態ではボディ情報をフラッシュメモリ１０５上のボディ情報格納ファイル２５０に格納する構成とした。
【００４６】  また、メールボックスに大量のメッセージが蓄積された状態で全メッセージをキャッシュすると、キャッシュ処理に要する時間とＲＡＭ１０４の消費量が過大になるという問題がある。このため、本実施形態ではキャッシュするメッセージの件数に上限値（例えば５００件）を設け、さらにキャッシュ容量にも上限値（例えば１０ＭＢ）を設けるものとする。ただし、これらの制限は必須ではなく、メッセージ件数とキャッシュ容量のいずれかのみに上限値を設定する構成としてもよいし、上限値を設けない構成としてもよい。また、上限値はその他の値としても構わない。
【００４７】  メッセージ一覧表示部２３２は、画面に所定数のメッセージを一覧形式で表示し、画面をスクロール等することでメッセージの一覧は順に送られていく。したがって、スクロールを繰り返していると表示するメッセージがキャッシュされている範囲を超えてしまい、そのままではメッセージが表示できなくなる。このためキャッシュ管理部２３４は、表示するメッセージが常にキャッシュされているように画面のスクロールに応じてキャッシュするメッセージの範囲を移動させる必要がある。
【００４８】  また、メッセージ管理部２２７がメッセージ作成編集部２２９によりメッセージを作成または編集し場合、メッセージ送信部２３０によりメッセージを送信した場合およびメッセージ受信部２３１がメッセージを受信した場合には、まずメッセージキャッシュ２３５およびボディ情報格納ファイル２５０の内容を更新し、その後キャッシュ管理部２３４がメールボックスの内容を更新された内容に同期させる構成とすることができる。
【００４９】  アカウント情報部２４１は、メッセージの送受信に使用するメールサーバにログインするためのアカウント情報を格納したデータベースであり、フラッシュメモリ１０５上に設けられている。アカウント情報にはメールの送受信に使用するメールアドレスが含まれており、さらに当該メールアドレスで送受信されたメッセージの蓄積されたメールボックスが関連付けられている。
【００５０】  アドレスデータ部２４２は、メッセージを送受信する相手の情報を格納したデータベースであり、フラッシュメモリ１０５上に設けられている。アドレスデータ部２４２には、相手の名前、メールアドレス等が含まれている。
【００５１】  メールボックス２４３および２４４は、アカウント毎に送受信したメッセージの蓄積されたデータベースであり、フラッシュメモリ１０５上に設けられている。メールボックス２４３および２４４はメッセージ管理部２２７のメッセージ表示部２２８およびメッセージ作成編集部２２９よって読み出され、また、メールボックス登録部２３２によってメッセージ受信部２３１およびバックグラウンド受信部２３３が受信したメッセージが追加登録される。
【００５２】  ボディ情報格納ファイル２５０は、キャッシュ管理部２３４がメッセージボックスから取得したメッセージのボディ情報を格納するために、フラッシュメモリ１０５上に設けられるファイルである。
【００５３】  以下、以上のようなメールクライアントプログラム２０９の動作について、図面を参照しながら説明する。図６はメールクライアントプログラム２０９の動作を示すフローチャートであり、図７はキャッシュ処理の動作を示すフローチャートである。
【００５４】  この動作では、まずメールクライアントプログラム２０９が起動され（ＳＴ１０１）、続いてデフォルトのアカウント、すなわち起動してから何の指示もしない場合に使用されるアカウントが設定されているかが判断され（ＳＴ１０２）、設定されていない場合にはアカウント登録／デフォルトアカウント設定がなされる（ＳＴ１０３）。
【００５５】  ＳＴ１０２で設定されていると判断された場合には、デフォルトのアカウントに関連付けられたメールボックスのキャッシュ処理が開始される（ＳＴ１０４）。このキャッシュ処理は、例えばマルチスレッド機能を利用してＳＴ１０５以降の処理とは非同期に実行される。すなわち、メールクライアントプログラム２０９は、ＳＴ１０４のキャッシュ処理が完了することを待つことなく、キャッシュ処理と並行してＳＴ１０５以降の処理を進める動作を行う。
【００５６】  以下、ＳＴ１０４におけるキャッシュ処理の動作について、図７を参照しながら説明する。この動作では、まずＲＡＭ１０４上にメッセージキャッシュ２３５の領域が確保され（ＳＴ１２１）、フラッシュメモリ１０５上にボディ情報格納ファイル２５０が準備される（ＳＴ１２２）。次いでカウンタｋが１にセットされ（ＳＴ１２３）、対象メールボックス、すなわちデフォルトのアカウントと関連付けられたメールボックスの最新からｋ番目のメッセージが取得される（ＳＴ１２４）。ここでのメッセージの取得は、データベース管理システム２０５（データベースＡＰＩ）を介して実行される。
【００５７】  次にＳＴ１２４で取得したメッセージのヘッダ情報等、すなわちボディ情報以外の情報をメッセージキャッシュに格納し（ＳＴ１２５）、さらに同メッセージのボディ情報をボディ情報格納ファイル２５０に格納する（ＳＴ１２６）。これにより、メールクライアントプログラム２０９は、データベース管理システム２０５を介することなく、フラッシュメモリ１０５よりも高速なＲＡＭ１０４からメッセージのヘッダ情報等を読み出すことが可能となる。また、メッセージのボディ情報についてもデータベース管理システム２０５を介することなく読み出すことが可能となる。
【００５８】  続いてカウンタｋが上限値に達したかが判断され（ＳＴ１２７）、達していると判断された場合にはキャッシュ処理は終了する。ＳＴ１２７で達していないと判断された場合には、次にキャッシュの容量が上限値を超えたかが判断され（ＳＴ１２８）、超えていると判断された場合には同様にキャッシュ処理は終了する。一方、ＳＴ１２８で超えていないと判断された場合には、カウンタｋの値がインクリメントされ（ＳＴ１２９）、ＳＴ１２４以降の処理が繰り返される。
【００５９】  以下、上記キャッシュ処理と並行して行われる図６のＳＴ１０５以降の処理について説明する。まずデフォルトのアカウントに関連付けられたメールボックスからフォルダ情報が読み出され、これに基づいて図４（ａ）に例示される画面でメールボックス内のフォルダ一覧画面が表示される（ＳＴ１０５）。この画面表示後、ユーザによっていずれかのフォルダが選択されたかが判断され（ＳＴ１０６）、選択されていない場合には続いてアプリ終了が指示されているかが判断されて（ＳＴ１０７）、アプリ終了が指示されている場合には一連の処理を終了し、アプリ終了が指示されていない場合にはＳＴ１０６以降の処理を繰り返す。
【００６０】  一方、ＳＴ１０６でいずれかのフォルダが選択されていると判断された場合には、選択されたフォルダ内のメッセージにかかる情報がメッセージキャッシュ２３５から抽出される（ＳＴ１０８）。すなわち、この段階でメッセージキャッシュ２３５にはＳＴ１０４で開始されたキャッシュ処理によりメールボックスから取り出されたメッセージのヘッダ情報等が蓄積されているので、その中から選択されたフォルダに収容されているメッセージを抽出する。続いて抽出されたメッセージの情報からメッセージ一覧画面がレンダリングされ（ＳＴ１０９）、図４（ｂ）に例示される画面で選択されたフォルダ内のメッセージ一覧画面が表示される（ＳＴ１１０）。
【００６１】  一覧画面の表示後、ユーザによっていずれかのメッセージが選択されたかが判断され（ＳＴ１１１）、選択されていない場合には続いて一覧表示終了が指示されているかが判断される（ＳＴ１１２）。ここで一覧表示終了が指示されている場合にはＳＴ１０５のフォルダ一覧表示に戻り、一覧表示終了が指示されていない場合にはＳＴ１１１の判断が繰り返される。
【００６２】  一方、ＳＴ１１１でいずれかのメッセージが選択されていると判断された場合には、選択されたメッセージのボディ情報がボディ情報格納ファイル２５０から取得され（ＳＴ１１３）、これに基づいてメッセージ個別表示画面がレンダリングされて（ＳＴ１１４）、図４（ｃ）に例示されるメッセージ個別表示画面が表示される（ＳＴ１１５）。その後、ユーザにより個別表示画面終了が指示されたかが判断され（ＳＴ１１６）、指示されている場合にはＳＴ１１０のメッセージ一覧画面表示に戻り、指示されていない場合にはＳＴ１１６の判断が繰り返される。
【００６３】  以上のような動作では、ユーザがＳＴ１０５で表示されたフォルダ一覧から表示するフォルダを選択する前に、ＳＴ１０４で開始されたキャッシュ処理によりメッセージのヘッダ情報はＲＡＭ１０４上のメッセージキャッシュ２３５にキャッシュされている。そして、ユーザが表示するフォルダを選択すると、メッセージキャッシュ２３５から表示するフォルダ内のメッセージが抽出されて（ＳＴ１０８）、メッセージ一覧画面がレンダリングされ（ＳＴ１０９）、画面表示が行われる（ＳＴ１１０）。すなわち、ユーザが表示するフォルダを選択してから低速なフラッシュメモリ１０５上のメールボックス２４３，２４４からデータベース管理システム２０５を利用してメッセージを読み出す方式と異なり、フォルダ選択からメッセージ一覧表示までの間に低速なフラッシュメモリ１０５に対するアクセスが大量に発生することはなく、データベース管理システム２０５が介在することもない。したがって、フォルダ選択からメッセージ一覧表示までのタイムラグを効果的に短縮して、レスポンスを改善することが可能である。
【００６４】  また、ユーザがＳＴ１１０で表示されたメッセージ一覧から所定のメッセージを選択して個別表示を行う際には、フラッシュメモリ１０５上のボディ情報格納ファイル２５０から選択されたメッセージのボディ情報を読み出すので、フラッシュメモリ１０５に対するアクセスが最小限発生する。しかし、この場合もデータベース管理システム２０５を介在させることなくボディ情報を読み出すことができるので、メッセージ選択から個別表示までのタイムラグを短縮してレスポンスを改善することができる。
【００６５】  さらに、上記動作ではキャッシュ処理を非同期で実行しているため、メッセージ一覧画面はキャッシュ処理が完了する前に表示されるので、キャッシュ処理自体がオーバーヘッドとなることによるレスポンスの劣化は最小限に抑制されている。さらにまた、キャッシュするメッセージの件数および容量に上限値を設けているので、メッセージキャッシュ２５０によりＲＡＭ１０４の空き容量が圧迫されることもない。
【００６６】  また、メッセージによってはボディ情報が数ＭＢとなる場合も有り得るが、上記動作においてはメッセージのうちヘッダ情報はＲＡＭ１０４にキャッシュし、ボディ情報はフラッシュメモリ１０５上のファイルにキャッシュしているので、大容量のボディ情報によってＲＡＭ１０４の空き容量が圧迫されることはない。
【００６７】  以上、詳細に説明したように、本発明のメール端末装置およびメールクライアントプログラムによれば、大量のメッセージがフラッシュメモリに蓄積されていてもレスポンス良くメッセージ一覧画面を表示することができ、データベースとしてメッセージが管理されていてもレスポンス良くメッセージ一覧画面を表示することができる。
【００６８】  本発明は上記実施の形態に限られるものではなく、種々変形が可能である。例えば、図４（ａ）のメッセージ一覧画面および図４（ｂ）のメッセージ個別表示画面に代えて若しくは追加して、図４（ｄ）に示したように画面の上半分にメッセージの一覧を示して下半分にフォーカスが当たっているメッセージの本文を表示する画面を採用することも可能である。この場合もメッセージをキャッシュすることで、表示のレスポンスを改善することができる。
【００６９】  また、キャッシュ処理を開始するタイミングについても上記に限られるものではなく、メッセージが必要とされる以前であれば特に制限はない。ただし、メッセージが必要とされる時点で十分な量のメッセージをキャッシュしておく観点からは、表示対象とするアカウントが確定した時点でキャッシュ処理を開始することが望ましい。なお、メッセージのキャッシュ後にアカウントが切り替えられた場合には、それまでにキャッシュした内容を破棄してから、新しいアカウントのメッセージをキャッシュする必要がある。
【００７０】  また、メッセージキャッシュ２３５およびボディ情報格納ファイル２５０はいずれもメールクライアントプログラムの終了時に削除されることが望ましいが、メールクライアントプログラムが強制終了されると通常の終了処理を実施できない場合がある。そのような場合、メッセージキャッシュ２３５はアプリケーションのヒープ領域とともにＲＡＭ１０４から削除されるが、ボディ情報格納ファイル２５０はフラッシュ１０５に残ってしまう。これを回避するには、メールクライアントプログラム起動時に前回作成したボディ情報格納ファイル２５０が残っているかを確認し、残っている場合にはこれを削除する処理を行うことが好適である。
【００７１】  さらに、上記では移動体通信網に接続する携帯端末に本実施形態を適用した場合について示したが、本発明はフラッシュメモリ等にメッセージを蓄積するタイプのメール端末装置およびメールクライアントプログラムであれば広く適用することが可能である。
【符号の説明】
【００７２】１０４    ＲＡＭ
１０５    フラッシュメモリ
２０５    データベース管理システム
２２１    フォルダ一覧表示部
２２３    アドレス管理部
２２４    アドレス一覧表示部
２２５    アドレス個別表示部
２２６    アドレス追加修正部
２２７    メッセージ管理部
２２８    メッセージ表示部
２２９    メッセージ作成編集部
２３０    メッセージ送信部
２３１    メッセージ受信部
２３２    メッセージ一覧表示部
２３３    メッセージ個別表示部
２３４    キャッシュ管理部
２３５    メッセージキャッシュ
２４１    アカウント情報部
２４２    アドレスデータ部
２４３    メールボックスＡ
２４４    メールボックスＢ
２５０    ボディ情報格納ファイル
【図１】
0005722072.tif 000002
【図２】
0005722072.tif 000003
【図３】
0005722072.tif 000004
【図４】
0005722072.tif 000005
【図５】
0005722072.tif 000006
【図６】
0005722072.tif 000007
【図７】
0005722072.tif 000008