説明

メール端末装置およびメールクライアントプログラム

【課題】 大量のメッセージがフラッシュメモリに蓄積されていてもレスポンス良くメッセージ一覧画面を表示することの可能なメール端末装置およびメールクライアントプログラムを提供すること。
【解決手段】 書き込み可能な不揮発性メモリと、揮発性メモリと、処理装置と、表示装置とを備えたメール端末装置であって、前記不揮発性メモリは、処理装置で実行することによりメール機能を提供するメールクライアントプログラムと、ヘッダ情報およびボディ情報からなるメッセージを蓄積したメールデータとを格納し、前記メールクライアントプログラムは、前記処理装置で実行されることにより、前記メールデータの少なくとも一部を前記揮発性メモリにキャッシュし、当該キャッシュされたメールデータを表示装置に表示する処理を行う。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、メール端末装置およびメールクライアントプログラムに関するものである。
【背景技術】
【0002】
コンピュータネットワークを利用してメッセージを交換する方法として、電子メールは広く利用されている。また携帯電話端末ではSMS(Short Message Service)、MMS(Multimedia Messaging Service)といったメッセージを交換するサービスが同じ通信事業者の契約端末間で提供されており、さらに携帯電話端末とインターネットに接続されたコンピュータまたは他通信事業者の契約端末との間では電子メールを交換することも広く行われている。
【0003】
個々のローカルネットワーク内で独自の通信方式(プロトコル)によって運用されていた電子メールは、インターネットが普及することにより、TCP/IPネットワーク上でSMTP(Send Mail Transfer Protocol)、POP(Post Office Protocol)、IMAP(Internet Message Access Protocol)、MIME(Multipurpose Internet Mail Extensions)等のRFCで定められた共通のプロトコルによって運用されている。
【0004】
携帯電話端末の電子メールも基本的には同様のプロトコルに沿って運用されているが、移動体通信事業者が提供しているネットワークやサービスに対応するため独自の拡張および修正が加えられている場合もある。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開平1997−261344公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
携帯電話端末でメッセージの作成、送受信、閲覧および管理を実現するためには、携帯電話端末上でMUA(Mail User Agent)のプログラム(以下、メーラー、メールクライアントと称する場合がある)を実行する必要がある。しかしながら、携帯電話端末はパーソナルコンピュータやサーバコンピュータ等の汎用コンピュータと比べて処理能力やメモリ容量が制限されており、またメモリの構成も異なっている。このため、携帯電話端末用のメールクライアントでは、携帯電話端末に固有の問題が生じる場合がある。
【0007】
例えば携帯電話のフラッシュメモリに電子メールのメッセージを蓄積すると、メッセージ一覧を表示するにはフラッシュメモリに格納された大量のデータを読み出す処理が必要となる。このためフラッシュメモリの読み書き速度が低速な場合、ユーザがメッセージ一覧を表示するためのコマンドを入力してから一覧画面が表示されるまでの間にタイムラグが発生し、ユーザのコマンド入力に対するレスポンスが遅延して快適に操作することが難しくなる。
【0008】
また、携帯電話端末のプラットフォームにデータベースAPIが組み込まれている場合には、データベースAPIを利用することによりメッセージやアドレスのデータ管理を簡単に行うことが可能である。しかし、データベースAPIを利用することは関数の実行を介在させることになるため、データベースAPIの使用もコマンド入力から画面表示までのレスポンスを遅延させる要因となる。
【0009】
そこで本発明は、大量のメッセージがフラッシュメモリに蓄積されていてもレスポンス良くメッセージ一覧画面を表示することの可能なメール端末装置およびメールクライアントプログラムを提供することを目的とする。さらに、データベースとしてメッセージが管理されていてもレスポンス良くメッセージ一覧画面を表示することの可能なメール端末装置およびメールクライアントプログラムを提供することを目的とする。
【課題を解決するための手段】
【0010】
上記課題を解決するために、本発明の第1の観点は、書き込み可能な不揮発性メモリと、揮発性メモリと、処理装置と、表示装置とを備えたメール端末装置であって、
前記不揮発性メモリは、処理装置で実行することによりメール機能を提供するメールクライアントプログラムと、ヘッダ情報およびボディ情報からなるメッセージを蓄積したメールデータとを格納し、
前記メールクライアントプログラムは、前記処理装置で実行されることにより、
前記メールデータの少なくとも一部を前記揮発性メモリにキャッシュするステップと、当該キャッシュされたメールデータを表示装置に表示するステップとを実行することを特徴とするメール端末装置を提供する。
【0011】
上記構成においては、前記メールデータからキャッシュするメッセージの件数に上限値を設けることが好適である。また、前記メールデータからキャッシュする容量に上限値を設けることが好適である。
【0012】
また、前記メールデータを前記不揮発性メモリ上のデータベースにメッセージを格納した構成とした場合には、データベースから取得したメッセージをオブジェクトとしてキャッシュすることが好適である。この場合には、前記メールデータのうちメッセージのヘッダ情報の一部を揮発性メモリにキャッシュすることが好ましい。さらに、ボディ情報を不揮発性メモリ上のファイルに蓄積し、当該ファイルに蓄積されたメッセージのボディ情報を表示装置に表示する構成としても良い。
【0013】
また、本発明の第2の観点は、書き込み可能な不揮発性メモリと、前記不揮発性メモリよりも高速な揮発性メモリと、処理装置と、表示装置とを備えたメール端末装置で実行されることにより、ヘッダ情報およびボディ情報からなるメッセージを蓄積したメールデータを前記不揮発性メモリに格納するメールクライアントプログラムであって、
前記処理装置で実行されることにより、
前記メールデータを前記揮発性メモリにキャッシュするステップと、当該キャッシュされたメールデータを表示装置に表示するステップとを行うことを特徴とするメールクライアントプログラムを提供する。
【0014】
上記構成においては、前記メールデータからキャッシュするメッセージの件数に上限値を設けることが好適である。また、前記メールデータからキャッシュする容量に上限値を設けることが好適である。
【0015】
また、前記メールデータを前記不揮発性メモリ上のデータベースにメッセージを格納した構成とした場合には、データベースから取得したメッセージをオブジェクトとしてキャッシュすることが好適である。この場合には、前記メールデータのうちメッセージのヘッダ情報の一部を揮発性メモリにキャッシュすることが好ましい。さらに、ボディ情報を不揮発性メモリ上のファイルに蓄積し、当該ファイルに蓄積されたメッセージのボディ情報を表示装置に表示する構成としても良い。
【発明の効果】
【0016】
本発明のメール端末装置およびメールクライアントプログラムによれば、書き換え可能な不揮発性メモリに格納されたメールデータの少なくとも一部を揮発性メモリにキャッシュするステップと、当該キャッシュされたメールデータを表示装置に表示するステップとが実行される。したがって、コマンド入力から表示までの間には、アクセス速度の遅い書き換え可能な不揮発性メモリ(フラッシュメモリ)に対するアクセスが大量に発生することはなく、より高速な揮発性メモリ(RAM)からメールデータを読み出してレスポンス良く表示を行うことができる。
【0017】
ここで、メールデータのうち最新のメッセージから所定件数のメッセージをキャッシュ対象とすること、および/または、メールデータのうち最新のメッセージから所定容量を超えないようにメッセージをキャッシュ対象とすれば、揮発性メモリの消費量やキャッシュ処理のオーバーヘッドが過大とならないように抑制することできる。
【0018】
また、本発明をメールデータがデータベースとして管理されているメール端末装置およびメールクライアントプログラムに適用した場合には、キャッシュされたメールデータはデータベースAPIを介在させずにメールデータを読み出すことが可能となり、これによりデータベースAPIを介在させるオーバーヘッドを軽減することができる。
【0019】
この場合には、さらにメールデータのうちメッセージのヘッダ情報の一部を揮発性メモリにキャッシュし、ボディ情報は不揮発性メモリ上のファイルに蓄積して、当該ファイルに蓄積されたメッセージのボディ情報を表示装置に表示することが好適である。メッセージのボディ情報はヘッダ情報と比べてサイズが大きく揮発性メモリの容量的にキャッシュすることが難しい場合もあるが、不揮発性メモリ上にファイルとして保持することで少なくともデータベースAPIを使用することなくボディ情報を読み出して表示することが可能となる。
【図面の簡単な説明】
【0020】
【図1】 本発明の一実施形態にかかる端末装置のハードウェアブロック図である。
【図2】 本発明の一実施形態にかかる端末装置のソフトウェアブロック図である。
【図3】 メールクライアントプログラムのブロック図である。
【図4】 (a)はフォルダ一覧表示部画面の一例、(b)メッセージ一覧表示画面の一例、(c)メッセージ個別表示画面の一例、(d)メッセージ一覧表示画面の別の例をそれぞれ示す図面である。
【図5】 (a)はメッセージのデータ構造の一例を示す図面であり、(b)はデータ構造の別の例を示す図面である。
【図6】 メール端末装置の動作例を示したフローチャートである。
【図7】 キャッシュ処理の動作例を示したフローチャートである。
【発明を実施するための形態】
【0021】
以下、本発明にかかるメール端末装置およびプログラムの実施の形態について説明する。図1は本発明にかかるメール端末装置の一実施形態である通信端末装置100のハードウェアブロック図である。この図では、標準的なハードウェア構成について示しており、機能ブロックの一部には本発明と関係ないものも併せて示されている。図1に示すように、この通信端末装置100は、主として、処理装置であるアプリケーションプロセッサ101およびベースバンドプロセッサ102と、アプリケーションプロセッサ101に接続されたバッテリー103、揮発性メモリであるRAM104、書き込み可能な不揮発性メモリであるフラッシュメモリ105、メモリーカード端子106、GPSトランシーバ108、WiFi/Bluetoothトランシーバ109、キーパッド/ボタン110、LCD/タッチパネル111、マイク112、スピーカ113、USB端子114およびカメラ115と、ベースバンドプロセッサ102に接続されたトランシーバ/USIM107とから構成されている。以下、これらの構成について説明する。
【0022】
アプリケーションプロセッサ101はMPUないしCPUであり、バッテリー103から電力の供給を受けて後述するフラッシュメモリ105に格納されたプログラムを実行することにより種々の機能を実現する部である。ベースバンドプロセッサ102は、無線通信の基本的な機能を実現するための信号処理を行うプロセッサである。これらアプリケーションプロセッサ101およびベースバンドプロセッサ102は一つのチップセットとして構成してもよいし、両者の機能を一つのプロセッサに統合したものであっても構わない。
【0023】
バッテリー103は、各機能ブロックに電力を供給する部であり、必要に応じてバッテリーを制御するコントローラチップが併用される。
【0024】
RAM104は、揮発性メモリでありSRAMやPSRAM、各種DRAM等の半導体記憶装置が採用される。フラッシュメモリ105は、書き換え可能な不揮発性メモリであって、NAND型であってもNOR型であってもよいし他の形式であっても構わない。RAM104とフラッシュメモリ105とを比較すると、その読み出し時間および書き込み時間はいずれもRAM104がより高速である。また、通信端末装置100にはメモリーカード端子106が設けられており、小型のフラッシュメモリモジュールを外部メモリとして接続することが可能である。
【0025】
フラッシュメモリ105には、アプリケーションプロセッサ101およびベースバンドプロセッサ102で実行することにより通信端末装置100で所定の機能を実現するための種々のプログラムおよびデータが格納されている。これらのプログラムおよび/またはデータは必要に応じてRAM104にロードされ、RAM104上に確保されたヒープメモリを利用して実行される。
【0026】
トランシーバ/USIM107はベースバンドプロセッサ102と接続されており、装着されたUSIM(Universal Subscriber Identity Module)すなわち汎用加入者識別モジュールの情報に基づいて、ベースバンドプロセッサ102の制御により所定電波帯域で電波を送受信して通信を行う回路である。本実施形態における通信端末装置100は、ベースバンドプロセッサ102とトランシーバ/USIM107により移動体通信網に接続して通信を行う構成となっている。
【0027】
GPSトランシーバ108は、通信端末装置100の位置情報を取得するGPS信号を受信するための部であり、WiFi/Bluetoothトランシーバ109はIEEE802.11a,IEEE802,11b,IEEE802.11g,IEEE802.11n等で規定されたWiFi(無線LAN)技術を利用した通信およびIEEE802.15.1およびBluetooth規格で規定されたBluetooth技術を利用した通信を行う回路である。これらの回路は互いに独立したチップとして実装しても良いし、双方の回路を一つのチップに実装した構成であっても構わない。
【0028】
キーパッド/ボタン110は、通信端末装置100の筐体に設けられた入力装置であって、後述するLCD/タッチパネル111とともにユーザが通信端末装置100を操作するための入力を受け付ける。
【0029】
LCD/タッチパネル111は、タッチパネル機能を備えた液晶ディスプレイ装置であって、通信端末装置100はLCD/タッチパネル111の画面にアプリケーションの情報を表示するとともにGUI(Graphical User Interface)を表示してユーザの操作に供する。
【0030】
さらに、マイク112およびスピーカ113は通信端末装置100で音声の入出力を実現し、USB114は通信端末装置100を別の機器に接続してデータを送受信したり機能を制御したりするために使用される。また、カメラ115は、通信端末装置100で写真撮影する機能を提供する。
【0031】
次に、以上のように構成された通信端末装置100のフラッシュメモリ105に格納されたプログラムの構成について概略を説明する。図2は、通信端末装置100の全体的なプログラム構成を示す図面である。
図2に示すように通信端末装置100のプログラム構成は、主として、オペレーティングシステム200、ミドルウェア202およびアプリケーション207の3層からなっている。これらのプログラムはフラッシュメモリ105に格納されており、実行時には必要に応じてRAM104を使用してアプリケーションプロセッサ101および/またはベースバンドプロセッサ102により実行されることにより各種機能を実現するものである。
【0032】
オペレーティングシステム200は、ハードウェアを制御するためのデバイスドライバ201を内蔵しており、ミドルウェア202およびアプリケーション207に入出力の制御、メモリ管理、プロセス管理等といったコンピュータシステムとしての基本的な機能を提供する。
【0033】
ミドルウェア202は、例えばグラフィック処理を行うグラフィックライブラリ203、HTMLファイルのレンダリング処理を行うHTMLレンダリングエンジン204、データベースを管理するためのデータベースAPIを提供するデータベース管理システム205、Unix系OSにおけるIibcに代表される標準ライブラリ206を含み、アプリケーション207が利用する汎用的な機能を提供する。ここで、通信端末100でJava(登録商標)アプリケーションのように実行環境を必要とするプログラムを実行する場合には、ミドルウェア202として当該実行環境を実装する。
【0034】
アプリケーション207は、Webページを取得してHTMLレンダリングエンジン204で作成した画面を表示するブラウザ208、後述するメールクライアントプログラム209、電話機能を提供する電話アプリケーション210等を含み、通信端末装置100のユーザに各種機能を提供するものである。
【0035】
以下、メールクライアントプログラム209について説明する。図3はメールクライアントプログラム209のソフトウェアブロック図に、フラッシュメモリ105に格納されたデータ類を併せて示した図面である。図3に示すようにメールクライアントプログラム209は、主としてメニュー表示部221、アカウント設定管理部222、アドレス管理部223、メッセージ管理部227およびキャッシュ管理部234から構成される。なお、図3には全ての機能ブロックがRAM104に配置された状態を示しているが、各機能ブロックは必要なタイミングでフラッシュメモリ105からロードされる構成としても構わない。また、データ類は、データベース管理システム205で管理されたアカウント情報241、アドレスデータ部242、メールボックスA243およびメールボックスB244(以下、メッセージボックスと総称する場合がある)と、ボディ情報格納ファイル250を含んでいる。
【0036】
フォルダ一覧表示部221は、起動後に表示される画面をなすブロックであり、デフォルトに設定されているアカウントのメールボックスについて、設定されているフォルダの一覧を表示してユーザの選択に供する。また、アカウント切り替え、設定、メール作成、アドレス帳表示の各機能を呼び出すためのUIを併せて画面に表示する。図4(a)にフォルダ一覧表示部221のなす画面の一例を示す。
【0037】
アカウント設定管理部222は、フォルダ一覧表示部表示部221のなす画面からアカウントの切り替えのUIまたは設定のUIを操作することで呼び出され、アカウント一覧を表示してユーザの選択したものにアカウントを切り替える機能、アカウントの設定を行う機能を提供する。アカウント管理部222が設定管理するユーザのアカウント情報は、データベース管理システム205によって管理されたアカウント情報部241に保存される。
【0038】
アドレス管理部223は、フォルダ一覧表示部表示部221のなす画面からアドレス帳表示のUIを操作することで呼び出され、登録されたアドレスの一覧を表示するアドレス一覧表示部224、登録されたアドレスを個別に画面に表示するアドレス個別表示部225、アドレスの追加および登録されたアドレスの修正を行うアドレス追加修正部226を備え、アドレス帳に登録されたデータの利用および管理する処理を行う。アドレス管理部223が管理するアドレス帳のデータは、データベース管理システム205によって管理されたアドレスデータ部242に保存される。
【0039】
メッセージ管理部227は、メッセージ(メールクライアントプログラム209が作成ないし送受信した個々のメールをいう)を一覧表示するメッセージ一覧表示部232およびメッセージを個別に表示するメッセージ個別表示部233を有するメッセージ表示部228、新規メッセージの作成編集を行うメッセージ作成編集部229、メールサーバに接続してメッセージの送信を行うメッセージ送信部230、メールサーバに接続してメッセージの受信を行うメッセージ受信部231を備え、これらにより新規メールを作成して送信し、新規メールを受信して管理し、また画面に表示する処理を行う。ここで、図4(b)はメッセージ一覧表示部232が表示する画面の一例であり、図4(c)はメッセージ個別表示部233が表示する画面の一例である。メッセージ管理部227が管理するメッセージを蓄積したメールデータは、データベース管理システム205によって管理されたメールボックスに保存されている。
【0040】
以下、メッセージ管理部227が管理するメッセージおよびメールボックスのデータ形式について説明する。メールクライアントプログラムが送受信するメッセージは電子メールとして標準的なデータ形式をとるものであり、その構造は図5(a)および(b)に示す通りである。図5(a)は添付ファイルが無いテキストメールのデータ構造を示しており、この場合のメッセージはヘッダ情報と、本文からなるボディ情報とが空行により分離された構造となっている。これに対して図5(b)はファイルの添付されたマルチパートメールのデータ構造を示しており、この場合のメッセージはヘッダ情報と、本文のパートと添付ファイルのパートからなるボディ情報とが空行により分離された構造となっている。
【0041】
メッセージ管理部227は、このようなメッセージから、受信した形態が(T0,CC,BCC)のいずれかであるかを示す受信タイプ、Uid、タイトル、受信日、送信日、送信元、返信先、ボディ情報、コンテンツ形式およびMIMEタイプ等を抽出ないし判断し、さらにメッセージを格納するデータベース名、データベースのプライマリーキーとして使用するID、ユーティリティフラグ、フォルダ名、既読フラグ等を付与したメッセージオブジェクトをなし、当該メッセージオブジェクトの管理を行う。また、データベース管理システム205を利用してメールボックスA243またはメールボックスB244にメッセージオブジェクトを格納し、データベースとして管理する。
【0042】
キャッシュ管理部234は、メッセージ管理部227が使用するメッセージオブジェクトをメールボックスA243またはB244から取得して、ボディ情報以外のデータをRAM104上のメッセージキャッシュ235に配置し、ボディ情報はフラッシュメモリ105上のボディ情報格納ファイル250に格納し、メッセージ管理部227の利用に供する。
【0043】
すなわち、メッセージ管理部227がメッセージ表示部228、メッセージ一覧表示部232およびメッセージ個別表示部233によりメッセージを表示する際には、メールデータベースキャッシュ235から表示するメッセージのヘッダ情報等を読み出すとともに、ボディ情報をボディ情報格納ファイル250から読み出して表示画面を生成する。
【0044】
これによりフラッシュメモリ105の読み出し量を低減することができ、かつ、データベース管理システム205を利用することのオーバーヘッドを軽減できるので、メッセージ表示をレスポンス良く行うことが可能となる。ただし、キャッシュ管理部234がメッセージをキャッシュするプロセスの負荷は依然として存在するので、メッセージのキャッシュは先読みの形で事前に開始しておくことが好ましい。例えば、起動後に表示するアカウントが決まっている場合には、起動時に当該アカウントについてメッセージのキャッシュを開始してバックグラウンドで実行することができる。この場合、ユーザがアカウント管理部222によりアカウントを切り替えた際には、それまでにキャッシュした内容を破棄して新しいアカウントについてメッセージのキャッシュを開始しなければならない。また、表示するアカウントを起動後に選択させる場合には、アカウントが選択された時点でメッセージのキャッシュを開始することができる。
【0045】
ここで、キャッシュ管理部234は、メールボックスから取得したメッセージオブジェクトの全てをメッセージキャッシュ235に配置することも可能である。しかし、添付ファイルのあるメッセージでは、ボディ情報が添付ファイルのデータを含むために数メガバイトのサイズに達することもあり、メールクライアントプログラム209が利用できるRAM104の容量が制限されている場合にはメモリ不足となる懸念がある。このため、本実施形態ではボディ情報をフラッシュメモリ105上のボディ情報格納ファイル250に格納する構成とした。
【0046】
また、メールボックスに大量のメッセージが蓄積された状態で全メッセージをキャッシュすると、キャッシュ処理に要する時間とRAM104の消費量が過大になるという問題がある。このため、本実施形態ではキャッシュするメッセージの件数に上限値(例えば500件)を設け、さらにキャッシュ容量にも上限値(例えば10MB)を設けるものとする。ただし、これらの制限は必須ではなく、メッセージ件数とキャッシュ容量のいずれかのみに上限値を設定する構成としてもよいし、上限値を設けない構成としてもよい。また、上限値はその他の値としても構わない。
【0047】
メッセージ一覧表示部232は、画面に所定数のメッセージを一覧形式で表示し、画面をスクロール等することでメッセージの一覧は順に送られていく。したがって、スクロールを繰り返していると表示するメッセージがキャッシュされている範囲を超えてしまい、そのままではメッセージが表示できなくなる。このためキャッシュ管理部234は、表示するメッセージが常にキャッシュされているように画面のスクロールに応じてキャッシュするメッセージの範囲を移動させる必要がある。
【0048】
また、メッセージ管理部227がメッセージ作成編集部229によりメッセージを作成または編集し場合、メッセージ送信部230によりメッセージを送信した場合およびメッセージ受信部231がメッセージを受信した場合には、まずメッセージキャッシュ235およびボディ情報格納ファイル250の内容を更新し、その後キャッシュ管理部234がメールボックスの内容を更新された内容に同期させる構成とすることができる。
【0049】
アカウント情報部241は、メッセージの送受信に使用するメールサーバにログインするためのアカウント情報を格納したデータベースであり、フラッシュメモリ105上に設けられている。アカウント情報にはメールの送受信に使用するメールアドレスが含まれており、さらに当該メールアドレスで送受信されたメッセージの蓄積されたメールボックスが関連付けられている。
【0050】
アドレスデータ部242は、メッセージを送受信する相手の情報を格納したデータベースであり、フラッシュメモリ105上に設けられている。アドレスデータ部242には、相手の名前、メールアドレス等が含まれている。
【0051】
メールボックス243および244は、アカウント毎に送受信したメッセージの蓄積されたデータベースであり、フラッシュメモリ105上に設けられている。メールボックス243および244はメッセージ管理部227のメッセージ表示部228およびメッセージ作成編集部229よって読み出され、また、メールボックス登録部232によってメッセージ受信部231およびバックグラウンド受信部233が受信したメッセージが追加登録される。
【0052】
ボディ情報格納ファイル250は、キャッシュ管理部234がメッセージボックスから取得したメッセージのボディ情報を格納するために、フラッシュメモリ105上に設けられるファイルである。
【0053】
以下、以上のようなメールクライアントプログラム209の動作について、図面を参照しながら説明する。図6はメールクライアントプログラム209の動作を示すフローチャートであり、図7はキャッシュ処理の動作を示すフローチャートである。
【0054】
この動作では、まずメールクライアントプログラム209が起動され(ST101)、続いてデフォルトのアカウント、すなわち起動してから何の指示もしない場合に使用されるアカウントが設定されているかが判断され(ST102)、設定されていない場合にはアカウント登録/デフォルトアカウント設定がなされる(ST103)。
【0055】
ST102で設定されていると判断された場合には、デフォルトのアカウントに関連付けられたメールボックスのキャッシュ処理が開始される(ST104)。このキャッシュ処理は、例えばマルチスレッド機能を利用してST105以降の処理とは非同期に実行される。すなわち、メールクライアントプログラム209は、ST104のキャッシュ処理が完了することを待つことなく、キャッシュ処理と並行してST105以降の処理を進める動作を行う。
【0056】
以下、ST104におけるキャッシュ処理の動作について、図7を参照しながら説明する。この動作では、まずRAM104上にメッセージキャッシュ235の領域が確保され(ST121)、フラッシュメモリ105上にボディ情報格納ファイル250が準備される(ST122)。次いでカウンタkが1にセットされ(ST123)、対象メールボックス、すなわちデフォルトのアカウントと関連付けられたメールボックスの最新からk番目のメッセージが取得される(ST124)。ここでのメッセージの取得は、データベース管理システム205(データベースAPI)を介して実行される。
【0057】
次にST124で取得したメッセージのヘッダ情報等、すなわちボディ情報以外の情報をメッセージキャッシュに格納し(ST125)、さらに同メッセージのボディ情報をボディ情報格納ファイル250に格納する(ST126)。これにより、メールクライアントプログラム209は、データベース管理システム205を介することなく、フラッシュメモリ105よりも高速なRAM104からメッセージのヘッダ情報等を読み出すことが可能となる。また、メッセージのボディ情報についてもデータベース管理システム205を介することなく読み出すことが可能となる。
【0058】
続いてカウンタkが上限値に達したかが判断され(ST127)、達していると判断された場合にはキャッシュ処理は終了する。ST127で達していないと判断された場合には、次にキャッシュの容量が上限値を超えたかが判断され(ST128)、超えていると判断された場合には同様にキャッシュ処理は終了する。一方、ST128で超えていないと判断された場合には、カウンタkの値がインクリメントされ(ST129)、ST124以降の処理が繰り返される。
【0059】
以下、上記キャッシュ処理と並行して行われる図6のST105以降の処理について説明する。まずデフォルトのアカウントに関連付けられたメールボックスからフォルダ情報が読み出され、これに基づいて図4(a)に例示される画面でメールボックス内のフォルダ一覧画面が表示される(ST105)。この画面表示後、ユーザによっていずれかのフォルダが選択されたかが判断され(ST106)、選択されていない場合には続いてアプリ終了が指示されているかが判断されて(ST107)、アプリ終了が指示されている場合には一連の処理を終了し、アプリ終了が指示されていない場合にはST106以降の処理を繰り返す。
【0060】
一方、ST106でいずれかのフォルダが選択されていると判断された場合には、選択されたフォルダ内のメッセージにかかる情報がメッセージキャッシュ235から抽出される(ST108)。すなわち、この段階でメッセージキャッシュ235にはST104で開始されたキャッシュ処理によりメールボックスから取り出されたメッセージのヘッダ情報等が蓄積されているので、その中から選択されたフォルダに収容されているメッセージを抽出する。続いて抽出されたメッセージの情報からメッセージ一覧画面がレンダリングされ(ST109)、図4(b)に例示される画面で選択されたフォルダ内のメッセージ一覧画面が表示される(ST110)。
【0061】
一覧画面の表示後、ユーザによっていずれかのメッセージが選択されたかが判断され(ST111)、選択されていない場合には続いて一覧表示終了が指示されているかが判断される(ST112)。ここで一覧表示終了が指示されている場合にはST105のフォルダ一覧表示に戻り、一覧表示終了が指示されていない場合にはST111の判断が繰り返される。
【0062】
一方、ST111でいずれかのメッセージが選択されていると判断された場合には、選択されたメッセージのボディ情報がボディ情報格納ファイル250から取得され(ST113)、これに基づいてメッセージ個別表示画面がレンダリングされて(ST114)、図4(c)に例示されるメッセージ個別表示画面が表示される(ST115)。その後、ユーザにより個別表示画面終了が指示されたかが判断され(ST116)、指示されている場合にはST110のメッセージ一覧画面表示に戻り、指示されていない場合にはST116の判断が繰り返される。
【0063】
以上のような動作では、ユーザがST105で表示されたフォルダ一覧から表示するフォルダを選択する前に、ST104で開始されたキャッシュ処理によりメッセージのヘッダ情報はRAM104上のメッセージキャッシュ235にキャッシュされている。そして、ユーザが表示するフォルダを選択すると、メッセージキャッシュ235から表示するフォルダ内のメッセージが抽出されて(ST108)、メッセージ一覧画面がレンダリングされ(ST109)、画面表示が行われる(ST110)。すなわち、ユーザが表示するフォルダを選択してから低速なフラッシュメモリ105上のメールボックス243,244からデータベース管理システム205を利用してメッセージを読み出す方式と異なり、フォルダ選択からメッセージ一覧表示までの間に低速なフラッシュメモリ105に対するアクセスが大量に発生することはなく、データベース管理システム205が介在することもない。したがって、フォルダ選択からメッセージ一覧表示までのタイムラグを効果的に短縮して、レスポンスを改善することが可能である。
【0064】
また、ユーザがST110で表示されたメッセージ一覧から所定のメッセージを選択して個別表示を行う際には、フラッシュメモリ105上のボディ情報格納ファイル250から選択されたメッセージのボディ情報を読み出すので、フラッシュメモリ105に対するアクセスが最小限発生する。しかし、この場合もデータベース管理システム205を介在させることなくボディ情報を読み出すことができるので、メッセージ選択から個別表示までのタイムラグを短縮してレスポンスを改善することができる。
【0065】
さらに、上記動作ではキャッシュ処理を非同期で実行しているため、メッセージ一覧画面はキャッシュ処理が完了する前に表示されるので、キャッシュ処理自体がオーバーヘッドとなることによるレスポンスの劣化は最小限に抑制されている。さらにまた、キャッシュするメッセージの件数および容量に上限値を設けているので、メッセージキャッシュ250によりRAM104の空き容量が圧迫されることもない。
【0066】
また、メッセージによってはボディ情報が数MBとなる場合も有り得るが、上記動作においてはメッセージのうちヘッダ情報はRAM104にキャッシュし、ボディ情報はフラッシュメモリ105上のファイルにキャッシュしているので、大容量のボディ情報によってRAM104の空き容量が圧迫されることはない。
【0067】
以上、詳細に説明したように、本発明のメール端末装置およびメールクライアントプログラムによれば、大量のメッセージがフラッシュメモリに蓄積されていてもレスポンス良くメッセージ一覧画面を表示することができ、データベースとしてメッセージが管理されていてもレスポンス良くメッセージ一覧画面を表示することができる。
【0068】
本発明は上記実施の形態に限られるものではなく、種々変形が可能である。例えば、図4(a)のメッセージ一覧画面および図4(b)のメッセージ個別表示画面に代えて若しくは追加して、図4(d)に示したように画面の上半分にメッセージの一覧を示して下半分にフォーカスが当たっているメッセージの本文を表示する画面を採用することも可能である。この場合もメッセージをキャッシュすることで、表示のレスポンスを改善することができる。
【0069】
また、キャッシュ処理を開始するタイミングについても上記に限られるものではなく、メッセージが必要とされる以前であれば特に制限はない。ただし、メッセージが必要とされる時点で十分な量のメッセージをキャッシュしておく観点からは、表示対象とするアカウントが確定した時点でキャッシュ処理を開始することが望ましい。なお、メッセージのキャッシュ後にアカウントが切り替えられた場合には、それまでにキャッシュした内容を破棄してから、新しいアカウントのメッセージをキャッシュする必要がある。
【0070】
また、メッセージキャッシュ235およびボディ情報格納ファイル250はいずれもメールクライアントプログラムの終了時に削除されることが望ましいが、メールクライアントプログラムが強制終了されると通常の終了処理を実施できない場合がある。そのような場合、メッセージキャッシュ235はアプリケーションのヒープ領域とともにRAM104から削除されるが、ボディ情報格納ファイル250はフラッシュ105に残ってしまう。これを回避するには、メールクライアントプログラム起動時に前回作成したボディ情報格納ファイル250が残っているかを確認し、残っている場合にはこれを削除する処理を行うことが好適である。
【0071】
さらに、上記では移動体通信網に接続する携帯端末に本実施形態を適用した場合について示したが、本発明はフラッシュメモリ等にメッセージを蓄積するタイプのメール端末装置およびメールクライアントプログラムであれば広く適用することが可能である。
【符号の説明】
【0072】
104 RAM
105 フラッシュメモリ
205 データベース管理システム
221 フォルダ一覧表示部
223 アドレス管理部
224 アドレス一覧表示部
225 アドレス個別表示部
226 アドレス追加修正部
227 メッセージ管理部
228 メッセージ表示部
229 メッセージ作成編集部
230 メッセージ送信部
231 メッセージ受信部
232 メッセージ一覧表示部
233 メッセージ個別表示部
234 キャッシュ管理部
235 メッセージキャッシュ
241 アカウント情報部
242 アドレスデータ部
243 メールボックスA
244 メールボックスB
250 ボディ情報格納ファイル

【特許請求の範囲】
【請求項1】
書き込み可能な不揮発性メモリと、揮発性メモリと、処理装置と、表示装置とを備えたメール端末装置であって、
前記不揮発性メモリは、処理装置で実行することによりメール機能を提供するメールクライアントプログラムと、ヘッダ情報およびボディ情報からなるメッセージを蓄積したメールデータとを格納し、
前記メールクライアントプログラムは、前記処理装置で実行されることにより、
前記メールデータの少なくとも一部を前記揮発性メモリにキャッシュし、当該キャッシュされたメールデータを表示装置に表示する処理を行うこと特徴とするメール端末装置。
【請求項2】
前記メールデータからキャッシュするメッセージの件数に上限値を設けることを特徴とする請求項1に記載のメール端末装置。
【請求項3】
前記メールデータからキャッシュする容量に上限値を設けることを特徴とする請求項1または請求項2に記載のメール端末装置。
【請求項4】
前記メールデータは前記不揮発性メモリ上のデータベースにメッセージを格納してなり、
データベースから取得したメッセージをオブジェクトとしてキャッシュすることを特徴とする請求項1から請求項3のいずれか1項に記載のメール端末装置
【請求項5】
前記メールデータのうちメッセージのヘッダ情報の一部を揮発性メモリにキャッシュすることを特徴とする請求項4に記載のメール端末装置
【請求項6】
前記メールクライアントプログラムは、前記処理装置で実行されることにより、
さらに、ボディ情報を不揮発性メモリ上のファイルに蓄積し、当該ファイルに蓄積されたメッセージのボディ情報を表示装置に表示することを特徴とする請求項4または請求項5に記載のメール端末装置。
【請求項7】
書き込み可能な不揮発性メモリと、前記不揮発性メモリよりも高速な揮発性メモリと、処理装置と、表示装置とを備えたメール端末装置で実行されることにより、ヘッダ情報およびボディ情報からなるメッセージを蓄積したメールデータを前記不揮発性メモリに格納するメールクライアントプログラムであって、
前記処理装置で実行されることにより、
前記メールデータを前記揮発性メモリにキャッシュするステップと、当該キャッシュされたメールデータを表示装置に表示するステップとを行うことを特徴とするメールクライアントプログラム。
【請求項8】
前記メールデータからキャッシュするメッセージの件数に上限値を設けることを特徴とする請求項7に記載のメールクライアントプログラム。
【請求項9】
前記メールデータからキャッシュする容量に上限値を設けることを特徴とする請求項7または請求項8に記載のメールクライアントプログラム。
【請求項10】
前記メールデータは前記不揮発性メモリ上のデータベースにメッセージを格納してなり、
データベースから取得したメッセージをオブジェクトとしてキャッシュすることを特徴とする請求項7から請求項9のいずれか1項に記載のメールクライアントプログラム。
【請求項11】
前記メールデータのうちメッセージのヘッダ情報の一部を揮発性メモリにキャッシュすることを特徴とする請求項10に記載のメールクライアントプログラム。
【請求項12】
前記メールクライアントプログラムは、前記処理装置で実行されることにより、
さらに、ボディ情報を不揮発性メモリ上のファイルに蓄積し、当該ファイルに蓄積されたメッセージのボディ情報を表示装置に表示することを特徴とする請求項10または請求項11に記載のメールクライアントプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate


【公開番号】特開2012−160152(P2012−160152A)
【公開日】平成24年8月23日(2012.8.23)
【国際特許分類】
【出願番号】特願2011−32574(P2011−32574)
【出願日】平成23年1月31日(2011.1.31)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.Bluetooth
2.UNIX
【出願人】(394020376)ガイアホールディングス株式会社 (51)
【Fターム(参考)】