JP4656359B2 - 送信装置および方法、記録媒体、プログラム、並びに通信システム - Google Patents
送信装置および方法、記録媒体、プログラム、並びに通信システム Download PDFInfo
- Publication number
- JP4656359B2 JP4656359B2 JP2001097509A JP2001097509A JP4656359B2 JP 4656359 B2 JP4656359 B2 JP 4656359B2 JP 2001097509 A JP2001097509 A JP 2001097509A JP 2001097509 A JP2001097509 A JP 2001097509A JP 4656359 B2 JP4656359 B2 JP 4656359B2
- Authority
- JP
- Japan
- Prior art keywords
- script
- data
- pda
- transmission
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Information Transfer Between Computers (AREA)
- Telephone Function (AREA)
Description
【発明の属する技術分野】
本発明は、送信装置および方法、記録媒体、並びに通信システムに関し、特に、電子メールを送信または受信する送信装置および方法、記録媒体、並びに通信システムに関する。
【0002】
【従来の技術】
ネットワーク等を介して、テキストを基にしたデータを送受信するシステム、いわゆる電子メールシステムが広く利用されている。
【0003】
電子メール(以下、単にメールとも称する)を受信した受信装置は、受信したメールをテキストで表示する。
【0004】
電子メールシステムは、アニメーションを表示させるためのデータ、または音楽を再生させるためのデータを添付したメールを送信、または受信することができる。
【0005】
【発明が解決しようとする課題】
しかしながら、メールを開いたとき、アニメーションを表示するか、または音楽を再生させるには、メールの受け手において、メールを開いた後、さらにメールに添付されたデータを開くなどの所定の操作が必要である。
【0006】
また、メールの受け手は、メールに添付されたデータを処理できる、アニメーションを表示させるアプリケーションプログラム、または音楽を再生させるアプリケーションプログラムを予め用意しなければならないという問題点があった。
【0007】
本発明はこのような状況に鑑みてなされたものであり、メールを開いたとき、簡単に、アニメーション、または音楽などのコンテンツを再生できるようにすることを目的とする。
【0014】
【課題を解決するための手段】
本発明の送信装置は、受信側でコンテンツを再生させるためのスクリプトを読み出す読み出し手段と、読み出されたスクリプトを実行して、コンテンツを再生させるためのデータ、およびメールの本文を取得する取得手段と、メールに格納され、メールの受信側でコンテンツを再生させるスクリプトとして、読み出し手段により読み出されたスクリプトと同一のスクリプトを生成する生成手段と、取得された本文を含むメールを生成し、メールに生成手段により生成されたスクリプトおよびデータを格納する格納手段と、スクリプトおよびデータが格納されたメールの送信を制御する送信制御手段とを含むことを特徴とする。
【0015】
生成手段は、受信側で動画像のコンテンツを再生させるスクリプトを生成するようにすることができる。
【0016】
生成手段は、受信側で音声のコンテンツを再生させるスクリプトを生成するようにすることができる。
【0017】
本発明の送信方法、記録媒体のプログラム、またはプログラムは、受信側でコンテンツを再生させるためのスクリプトを読み出す読み出しステップと、読み出されたスクリプトを実行して、コンテンツを再生させるためのデータ、およびメールの本文を取得する取得ステップと、メールに格納され、メールの受信側でコンテンツを再生させるスクリプトとして、読み出しステップにより読み出されたスクリプトと同一のスクリプトを生成する生成処理ステップと、取得された本文を含むメールを生成し、メールに生成処理ステップにより生成されたスクリプトおよびデータを格納する格納処理ステップと、スクリプトおよびデータが格納されたメールの送信を制御する送信制御処理ステップとを含むことを特徴とする。
【0020】
本発明の通信システムは、送信装置が、受信装置でコンテンツを再生させるためのスクリプトを読み出す読み出し手段と、読み出されたスクリプトを実行して、コンテンツを再生させるためのデータ、およびメールの本文を取得する取得手段と、メールに格納され、受信装置でコンテンツを再生させるスクリプトとして、読み出し手段により読み出されたスクリプトと同一のスクリプトを生成する生成手段と、取得された本文を含むメールを生成し、メールに生成手段により生成されたスクリプトおよびデータを格納する格納手段と、スクリプトおよびデータが格納されたメールの送信を制御する送信制御手段とを含み、受信装置が、メールの開封指示に連動して、メールに添付ファイルとして付加されているスクリプトおよびデータを抽出する抽出手段と、抽出されたスクリプトを実行し、抽出されたデータを基に、コンテンツの再生を制御する再生制御手段とを含むことを特徴とする。
【0022】
本発明の送信装置および方法、記録媒体、並びにプログラムにおいては、受信側でコンテンツを再生させるためのスクリプトが読み出され、読み出されたスクリプトが実行されて、コンテンツを再生させるためのデータ、およびメールの本文が取得され、メールに格納され、メールの受信側でコンテンツを再生させるスクリプトとして、読み出されたスクリプトと同一のスクリプトが生成され、取得された本文を含むメールが生成され、メールに生成されたスクリプトおよびデータが格納され、スクリプトおよびデータが格納されたメールの送信が制御される。
【0023】
本発明の通信システムにおいては、受信装置でコンテンツを再生させるためのスクリプトが読み出され、読み出されたスクリプトが実行されて、コンテンツを再生させるためのデータ、およびメールの本文が取得され、メールに格納され、受信装置でコンテンツを再生させるスクリプトとして、読み出されたスクリプトと同一のスクリプトが生成され、取得された本文を含むメールが生成され、メールに生成されたスクリプトおよびデータが格納され、スクリプトおよびデータが格納されたメールの送信が制御され、メールの開封指示に連動して、メールに添付ファイルとして付加されているスクリプトおよびデータが抽出され、抽出されたスクリプトが実行され、抽出されたデータを基に、コンテンツの再生が制御される。
【0024】
【発明の実施の形態】
図1は、本発明に係るメール送受信システムの一実施の形態を示す図である。
PDA(Personal Digital Assistant)1−1は、クレードル2−1に装着され、クレードル2−1を介して、パーソナルコンピュータ3−1に接続されている。
【0025】
PDA1−1は、クレードル2−1、パーソナルコンピュータ3−1、インターネット4、メールサーバ5−1および5−2、並びにDNS(Domain Name System)サーバ6−1および6−2を介して、PDA1−2にメールを送信する。PDA1−2は、メールを受信した場合、メールにスクリプト(例えば、Javaにより記述されているスクリプト)が含まれているとき、スクリプトを抽出して、抽出したスクリプトを実行する。
【0026】
PDA1−2は、クレードル2−2に装着され、クレードル2−2を介して、パーソナルコンピュータ3−2に接続されている。
【0027】
PDA1−2は、クレードル2−2、パーソナルコンピュータ3−2、インターネット4、メールサーバ5−1および5−2、並びにDNSサーバ4−1および6−2を介して、PDA1−1にメールを送信する。PDA1−1は、メールを受信した場合、メールにスクリプトが含まれているとき、スクリプトを抽出して、スクリプトを実行する。
【0028】
クレードル2−1は、USB(Universal Serial Bus)、またはRS-232-Cなどの規格に基づくシリアル通信により、PDA1−1およびパーソナルコンピュータ3−1と接続される。クレードル2−1は、PDA1−1と接続するための端子、およびパーソナルコンピュータ3−1と接続するためのケーブル等が設けられ、装着されているPDA1−1とパーソナルコンピュータ3−1とのメールの送受信を実行する。また、クレードル2−1は、装着されているPDA1−1に電源を供給する。
【0029】
パーソナルコンピュータ3−1は、クレードル2−1を介して、PDA1−1に接続されるとともに、図示せぬ公衆電話回線、およびインターネット接続サービスプロバイダなどを介して、インターネット4に接続されている。パーソナルコンピュータ3−1は、インターネット4を介して、PDA1−1から供給されたメールをメールサーバ5−1に送信すると共に、メールサーバ5−1から受信したメールをPDA1−1に送信する。
【0030】
クレードル2−2は、USB、またはRS-232-Cなどの規格に基づくシリアル通信により、PDA1−2およびパーソナルコンピュータ3−2と接続される。クレードル2−2は、PDA1−2と接続するための端子、およびパーソナルコンピュータ3−2と接続するためのケーブル等が設けられ、装着されているPDA1−2とパーソナルコンピュータ3−2とのメールの送受信を実行する。また、クレードル2−2は、装着されているPDA1−2に電源を供給する。
【0031】
パーソナルコンピュータ3−2は、クレードル2−2を介して、PDA1−2に接続されるとともに、図示せぬ公衆電話回線、およびインターネット接続サービスプロバイダなどを介して、インターネット4に接続されている。パーソナルコンピュータ3−2は、インターネット4を介して、PDA1−2から供給されたメールをメールサーバ5−2に送信すると共に、メールサーバ5−2から受信したメールをPDA1−2に送信する。
【0032】
メールサーバ5−1は、インターネット4を介して、PDA1−1または1−2からメールを受信し、受信したメールのあて先のドメインが自分に対応していないとき、他のメールサーバ、例えば、メールサーバ5−2にメールを転送する。メールサーバ5−1は、インターネット4を介して、メールサーバ5−2から転送されたメールを受信し、受信したメールのあて先のドメインが自分に対応していない場合、図示せぬ他のメールサーバにメールを転送する。
【0033】
メールサーバ5−1は、インターネット4を介して、PDA1−1若しくは1−2、またはメールサーバ5−2から受信したメールのあて先のドメインが自分に対応しているとき、受信したメールをスプールと称するメールボックスに格納する。
【0034】
メールサーバ5−2は、インターネット4を介して、PDA1−1または1−2からメールを受信し、受信したメールのあて先のドメインが自分に対応していない場合、他のメールサーバ、例えば、メールサーバ5−1にメールを転送する。メールサーバ5−2は、インターネット4を介して、メールサーバ5−1から転送されたメールを受信し、受信したメールのあて先のドメインが自分に対応していない場合、他のメールサーバにメールを転送する。
【0035】
メールサーバ5−2は、インターネット4を介して、PDA1−1若しくは1−2、またはメールサーバ5−1から受信したメールのあて先のドメインが自分に対応しているとき、受信したメールをスプールと称するメールボックスに格納する。
【0036】
DNSサーバ6−1は、PDA1−1若しくは1−2、メールサーバ5−1若しくは5−2からホスト名を受信したとき、受信したホスト名に対応するIP(Internet Protocol)アドレスをホスト名を送信した相手に送信する。
【0037】
DNSサーバ6−1は、メールサーバ5−1または5−2からドメイン名を受信したとき、受信したドメイン名に対応するメールサーバ(例えば、メールサーバ5−1または5−2)のホスト名を送信した相手に送信する。
【0038】
DNSサーバ6−2は、PDA1−1若しくは1−2、メールサーバ5−1若しくは5−2からホスト名を受信したとき、受信したホスト名に対応するIPアドレスをホスト名を送信した相手に送信する。
【0039】
DNSサーバ6−2は、メールサーバ5−1または5−2からドメイン名を受信したとき、受信したドメイン名に対応するメールサーバ(例えば、メールサーバ5−1または5−2)のホスト名を送信した相手に送信する。
【0040】
以下、PDA1−1または1−2を個々に区別する必要がないとき、単にPDA1と称する。以下、クレードル2−1または2−2を個々に区別する必要がないとき、単にクレードル2と称する。以下、パーソナルコンピュータ3−1または3−2を個々に区別する必要がないとき、単にパーソナルコンピュータ3と称する。
【0041】
次に、インターネット4を介した、メールの送受信について説明する。
【0042】
インターネット4を介して、メールを送信または受信する仕組みは、はがきなどの手紙を届ける郵便の仕組みに非常によく似ている。郵便の場合、1.手紙を書く、2.ポストへ投函する、3.郵便局間で転送する、4.郵便受けに配達する、という4つのステップを経て、1通の手紙が相手に届く。
【0043】
インターネット4を介した、メールの場合、1.メール送受信プログラム上でメールを書く、2.メール送受信プログラムの送信ボタンを押す、3.メールサーバ間で転送する、4.メール送受信プログラムの受信ボタンを押す、という4つのステップを経て、メールが相手に届く。
【0044】
メール送受信プログラムは、メールを書いて相手に送る、または相手が送ったメールを受信するプログラムである。メール送受信プログラムは、メーラとも呼ばれ、ポストと郵便受けとに対応する機能を有する。
【0045】
ほとんどのメール送受信プログラムは、メールを画面に表示させ、またはメールを書くためのエディタ機能を有する。使用者は、メール送受信プログラムを操作して、メールを送信し、または受信する。
【0046】
代表的なメール送受信プログラムとして、米マイクロソフト社のOutlookExpress(商標)、米クアルコム社のEudora Pro(商標)、フリーソフトウェアであるBecky!InternetMailまたはAl-Mail32などがある。
【0047】
メールサーバは、いわば郵便局の役割を有する。メールサーバは、メール送受信プログラムが送信したメールを受信し、メールをメール送受信プログラムに送信する。代表的なメールサーバプログラムとして、米センドメール社のsendmail(商標)などがある。
【0048】
メールサーバの主な役割は、3つある。第1は、メール送受信プログラムから受信したメールを、適切に、他のメールサーバに送信することである。第2は、他のメールサーバから受信したメールをあて先(使用者)別に整理して、管理することである。第3は、管理しているメールをメール送受信プログラムの要求に応じてメール送受信プログラムに送信することである。
【0049】
メール送受信プログラムがメールサーバにメールを送信する処理の手続は、メールサーバがメール送受信プログラムにメールを送信する処理の手続と異なり、通信の手順が異なる。
【0050】
通信の手順は、プロトコルと呼ばれている。メール送受信プログラムがメールサーバにメールを送信する処理、およびメールサーバがメールサーバにメールを送信する処理としては、SMTP(Simple Mail Transfer Protocol)が広く利用されている。
【0051】
メール送受信プログラムがメールサーバからメールを受信する処理としては、POP3(Post Office Protocol Version3)が広く利用されている。
【0052】
メールサーバにおける、SMTPに対応するポートと、POP3に対応するポートは、それぞれ異なる。メール送受信プログラムは、メールを送信するとき、メールサーバと、SMTPに対応するポートを介して、通信し、メールを受信するとき、メールサーバと、POP3に対応するポートを介して、通信する。
【0053】
郵便の場合、外国から送信した手紙は、通過した国毎に消印を押される。同様に、メールも、消印が付されている。
【0054】
メールを送信すると、メールサーバを通過する度に、メール本文の先頭部分には消印情報が次々追記される。先頭に付くことから、この消印情報は、ヘッダと呼ばれる。
【0055】
ヘッダは、大きく3つのブロックで構成される。最も下の部分(本文に近い部分)には、メール送受信プログラムが付するブロックが配置され、その上の2つの部分には、メールサーバが付するブロックが配置される。
【0056】
ヘッダは、上部ほど、新しい情報を格納する。
【0057】
メール送受信プログラムが付するヘッダ情報は、手紙の宛名と同様の情報から構成される。Fromには、送信元のメールアドレスが格納され、Toには、宛先のメールアドレスが格納され、Subjectには、題名が格納される。
【0058】
メールサーバが付するブロックのうち、Receivedには、タイムスタンプが格納される。formは、通過したメールサーバの名称を格納する。
【0059】
メールサーバは、通過するメールに、このReceivedのブロックを付する。従って、Receivedのブロックの記載を下から上に順に確認することにより、メールが通過したメールサーバを知ることができる。
【0060】
次に、メール送受信プログラムの設定について説明する。メールを送信するために正確に設定しなければならない情報は、メール送受信プログラムに対応する電子メールアドレス、およびSMTPに対応するメールサーバのホスト名である。
【0061】
メール送受信プログラムに対応する電子メールアドレスは、差出人名に対応する、送信元のアドレスである。メール送受信プログラムに対応する電子メールアドレスが設定されないとき、メールを受信した相手が差出人を知ることができず、また、宛て先が不明だったとき、メールの差し戻しをすることができなくなる。
【0062】
メール送受信プログラムは、メール送受信プログラムに対応する電子メールアドレスを、ヘッダ中のFromの行に挿入する。メール送受信プログラムに対応する電子メールアドレスは、相手が返事を書くときの宛先としても利用される。メール送受信プログラムによっては、返信アドレスの項目を設定することにより、返事の受け取り先を変更することができる。
【0063】
SMTPに対応するメールサーバのホスト名には、メール送受信プログラムがメールを送信するメールサーバのホスト名が設定される。メール送受信プログラムは、メールを送信するとき、SMTPに対応するメールサーバのホスト名を基に、メールサーバにメールを送信する。ホスト名は、例えば、mailserver.so-net.ne.jpなどと記述される。
【0064】
電子メールアドレスおよびホスト名は、ドメイン名に基づいて、表記される。
ドメイン名においては、国名、組織の種類、会社名を「.」が接続されて表記される。ドメイン名において、大きい区分ほど、後ろに配置される。
【0065】
電子メールアドレスは、使用者の名前に、区切り文字としての「@」を付して、更に、ドメイン名を接続して、表記される。
【0066】
ホスト名は、サーバ名に、区切り文字としての「.」を付して、更に、ドメイン名を接続して、表記される。
【0067】
電子メールアドレスまたはホスト名は、上述したように表記されることにより、一意のメールアドレスまたはホスト名とされる。
【0068】
電子メールアドレスおよびホスト名のドメイン名には、大文字と小文字が使われるが、これらは区別されない。
【0069】
次に、メール送受信プログラムによるメールサーバへのメールの送信について説明する。メール送受信プログラムは、メールの送信にあたって、ホスト名に対応するIPアドレスを取得しなければならない。IPアドレスは、例えば、192.168.0.1などのように、数字および「.」の組み合わせで記述される。
【0070】
DNSは、ホスト名をIPアドレスに変換するシステムである。インターネット4には、いくつものDNSサーバが設置されている。いずれかの、DNSサーバにホスト名を送信すると、そのDNSサーバは、ホスト名に対応するIPアドレスを返信する。
【0071】
例えば、図1のDNSサーバ6−1は、ホスト名Aに対応させて、IPアドレスa.a.a.aを記録している。
【0072】
メール送受信プログラムは、メールサーバにアクセスする直前に、DNSサーバからメールサーバのIPアドレスを教えてもらう。
【0073】
次に、メール送受信プログラムからメールサーバへのメールの送信の手順について説明する。メール送受信プログラムおよびメールサーバは、SMTPの手順に従って、メール送受信プログラムからメールサーバにメールを送信する。
【0074】
SMTPの手順は、TCP(Transmission Control Protocol)のセットアップ、メールサーバの呼び出し、送信の準備、宛先の通知、本文の送信、終了確認、およびTCPの終了の処理から構成される。メールサーバの呼び出し、送信の準備、宛先の通知、本文の送信、および終了確認の処理は、いずれも、メール送受信プログラムからの要求とメールサーバの返答で構成される。
【0075】
SMTPの処理において、メール送受信プログラムおよびメールサーバは、コマンド文および返信コードにより、通信する。例えば、コマンド文”RCPT from:y@so-net.ne.jp"において、RCPTがメールの宛先を通知するコマンドであり、そのメールの宛先がy@so-net.ne.jpである。
【0076】
返信コードにおいて、例えば、「はい」が250である。返信コードのいくつかを説明すると、251は、"そのようなユーザは存在しません"を示し、450は、"メールボックスが使用中です”を示し、451は、"エラーが発生し異常終了しました”を示し、452は、"処理に必要なリソースが不足しています"を示し、501は、”コマンドの文法が間違っています”を示し、502は、"コマンドが使えません”を示し、550は、"メールボックスが存在しません"を示す。
【0077】
メールには、一斉同報機能がある。一生同報機能は、同じ文面のメールを何人にも送る機能である。
【0078】
例えば、ヘッダのToの行に、複数のメールアドレスを記載すると、メール送受信プログラムは、RCPTコマンドを送信する処理を、メールアドレスに記載された、それぞれアドレスについて繰り返す。
【0079】
なお、Cc(カーボンコピー)行またはBcc(ブラインドカーボンコピー)行といった専用のヘッダを利用しても一斉同報をすることができる。
【0080】
Cc行またはBcc行を利用してメールを送信した場合、メールを受信した相手は、ヘッダのTo行に自分のアドレスが記載されていないことから、メールのコピーを受信したことを知ることができる。
【0081】
Cc行を利用してメールを送信した場合、ヘッダには、相手のメールアドレスが格納されている。Bcc行を利用してメールを送信した場合、メール送受信プログラムは、RCPTコマンドを送信する処理の後、ヘッダからBcc行を削除して、本文を送信する。Bcc行を利用したメールの送信は、相手に同報した宛先をあえて知らせたくないとき、有効である。
【0082】
次に、メールサーバが、宛先ちかくのメールサーバを探して転送する処理について説明する。メールサーバからメールサーバにメールを転送する処理は、SMTPの手順に従って実行される。
【0083】
メールサーバからメールサーバにメールを転送する処理において、メールを送信するメールサーバは、メールの送り先からドメイン名を切り出して、切り出したドメイン名をDNSサーバに送信する。
【0084】
DNSサーバは、ドメイン名とメールサーバのホスト名との関係をMXレコードとして記録しているので、ドメイン名に対応するメールサーバのホスト名を、ドメイン名を送信したメールサーバに送信する。
【0085】
例えば、図1のDNSサーバ6−2は、ドメイン名B.B.Bに対応させて、ホスト名Bを記録している。
【0086】
ホスト名を受信したメールサーバは、そのホスト名をDNSサーバに送信する。
【0087】
DNSサーバは、ホスト名とIPアドレスとの関係をAレコードとして記録しているので、ホスト名に対応するIPアドレスを、ホスト名を送信したメールサーバに送信する。
【0088】
例えば、図1のDNSサーバ6−2は、ホスト名Bに対応させて、IPアドレスb.b.b.bを記録している。
【0089】
IPアドレスを送信したメールサーバは、上述したSMTPの手順に基づき、メールを、メールの送り先のドメイン名に対応するメールサーバに送信する。
【0090】
メールサーバは、メーリングリストを利用して、メールを同報することができる。メーリングリストを利用して、メールを同報するとき、エイリアス機能が使用される。
【0091】
エイリアス機能を利用するメールサーバは、所定のメールアドレス(代表アドレス)に対応して、予め複数のアドレスをグループ化して、記録している。メールサーバは、代表アドレス宛のメールを受信すると、代表アドレスに対応して記録されている複数のアドレスの全てに対して、メールのコピーを再送信する。メールサーバは、ヘッダを書き換えることなく、登録しているメールアドレスに宛てて次々にメールを送信する。
【0092】
ドメイン名に対応するメールサーバは、受信したメールをスプールと呼ばれるメールボックスに保存する。メールサーバは、使用者ごとにメールを管理し、宛先に対応する使用者のメール送受信プログラムの受信ボタンが押されたとき、メールを配信する。
【0093】
メールサーバが、メール送受信プログラムにSMTPに基づいてメールを送信しないのは、メール送受信プログラムを実行している装置が動作していない、またはインターネット4に接続されていない可能性があるためである。
【0094】
メールサーバは、メール送受信プログラムにPOP3に基づいてメールを送信する。POP3の手順は、TCPのセットアップ、メールサーバの呼び出し、使用者の認証、メールボックスの内容確認、着信数のチェック、本文の受信、削除の依頼、終了確認、およびTCPの終了の処理から構成される。メールサーバの呼び出し、使用者の認証、メールボックスの内容確認、着信数のチェック、本文の受信、削除の依頼、および終了確認の処理は、いずれも、メール送受信プログラムからの要求とメールサーバの返答で構成される。
【0095】
POP3におけるコマンド文および返信コードは、SMTPにおけるコマンド文および返信コードと異なる。
【0096】
POP3においては、予めメールサーバに登録しているユーザIDおよびパスワードにより使用者を認証しない限り、メールの受信の処理は実行されない。
【0097】
図2乃至図4は、PDA1の外観を説明する図である。図2は、把持されたときのPDA1の斜視図である。図3は、クレードル2に装着されたPDA1の斜視図である。図4は、PDA1の正面図である。
【0098】
PDA1は、片手で把持、および操作が可能な大きさに、その筐体が形成されている。PDA1の上部には、半導体メモリが内蔵されているメモリースティック(商標)11が挿入されるスロットが設けられている。
【0099】
PDA1は、PDA1の下面とクレードル2の上面に接するようにクレードルに装着される。PDA1の下面には、クレードル2と接続するためのUSB(Universal Serial Bus)ポート(図示せず)等が設けられている。
【0100】
PDA1には、表示部21、キー22、およびジョグダイヤル23などが設けられている。
【0101】
表示部21は、液晶表示装置などの薄型の表示装置で構成され、アイコン、サムネイル、またはテキストなどの画像を表示する。表示部21の上側には、タッチパッドが設けられている。タッチパッドを指またはペンなどで押圧することにより、PDA1に所定のデータまたは動作指示が入力される。
【0102】
キー22は、入力キーなどから構成され、表示部21に表示されたアイコンまたはサムネイルの選択などを入力する。
【0103】
ジョグダイヤル23は、回転操作または本体側への押圧操作に対応して、表示部21に表示されたアイコンまたはサムネイルの選択などを入力する。
【0104】
図5は、PDA1の構成を説明する図である。CPU(Central Processing Unit)31は、発振器32から供給されるクロック信号に同期して、Flash ROM(Read-only Memory)33またはEDO DRAM(Extended Data Out Dynamic Random-Access Memory)34に格納されているオペレーティングシステム、または開発されたアプリケーションプログラムなどの各種のプログラムを実行する。
【0105】
Flash ROM33は、EEPROM(Electrically Erasable Programmable Read-Only Memory)の一種であるフラッシュメモリで構成され、一般的には、CPU31が使用するプログラムや演算用のパラメータのうちの基本的に固定のデータを格納する。EDO DRAM34は、CPU31の実行において使用するプログラムや、その実行において適宜変化するパラメータを格納する。
【0106】
メモリースティックインターフェース35は、PDA1に装着されているメモリースティック11からデータを読み出すとともに、CPU31から供給されたデータをメモリースティック11に書き込む。
【0107】
USB(Universal Serial Bus)インターフェース36は、発振器37から供給されるクロック信号に同期して、接続されているUSB機器であるドライブ51からデータまたはプログラムを入力するとともに、CPU31から供給されたデータをドライブ51に供給する。USBインターフェース36は、発振器37から供給されるクロック信号に同期して、接続されているUSB機器であるクレードル2からデータまたはプログラムを入力するとともに、CPU31から供給されたデータをクレードル2に供給する。
【0108】
ドライブ51は、装着されている磁気ディスク61、光ディスク62、光磁気ディスク63、または半導体メモリ64に記録されているデータまたはプログラムを読み出して、そのデータまたはプログラムを、USBインターフェース36を介して、接続されているCPU31またはEDO DRAM34に供給する。また、ドライブ51は、装着されている磁気ディスク61、光ディスク62、光磁気ディスク63、または半導体メモリ64にデータまたはプログラムを記録させる。
【0109】
Flash ROM33,EDO DRAM34、メモリースティックインターフェース35、およびUSBインターフェース36は、アドレスバスおよびデータバスを介して、CPU31に接続されている。
【0110】
表示部21は、LCDバスを介して、CPU31からデータを受信し、受信したデータに対応する画像または文字などを表示する。タッチパッド制御部38は、表示部21の上側に設けられたタッチパッドが操作されたとき、操作に対応したデータ(例えば、タッチされた座標を示す)を表示部21から受信し、受信したデータに対応する信号をシリアルバスを介してCPU31に供給する。
【0111】
EL(Electroluminescence)ドライバ39は、表示部21の液晶表示部の裏側に設けられている電界発光素子を動作させ、表示部21の表示の明るさを制御する。
【0112】
赤外線通信部40は、UART(Universal asynchronous receiver-transmitter)を介して、CPU31から受信したデータを赤外線を媒体として、図示せぬ他の機器に送信するとともに、他の機器から送信された赤外線を媒体とするデータを受信して、CPU31に供給する。また、PDA1は、UARTを介して、他の機器と通信することができる。
【0113】
音声再生部42は、スピーカ、および音声のデータの復号回路などから構成され、予め記憶している音声のデータ、またはインターネット4を介して受信した音声のデータなどを復号して、再生し、音声を出力する。例えば、音声再生部42は、バッファ41を介して、CPU31から供給された音声のデータを再生して、データに対応する音声を出力する。
【0114】
キー22は、入力キーなどで構成され、CPU31に各種の指令を入力するとき、使用者により操作される。
【0115】
ジョグダイヤル23は、回転操作または本体側への押圧操作に対応するデータをCPU31に供給する。
【0116】
電源回路43は、装着されているバッテリ52または接続されているAC(Alternating current)アダプタ53から供給される電源の電圧を変換して、電源をCPU31乃至音声再生部42のそれぞれに供給する。
【0117】
次に、PDA1−1が送信したメールがPDA1−2に受信されるまでの手順を図6を参照して説明する。PDA1−1は、クレードル2−1、パーソナルコンピュータ3−1、およびインターネット4を介して、DNSサーバ6−1にメールサーバ5−1のホスト名を送信する。DNSサーバ6−1は、インターネット4を介して、受信したホスト名に対応させてAレコードに格納されているメールサーバ5−1のIPアドレスをPDA1−1に送信する。
【0118】
PDA1−1は、DNSサーバ6−1から受信したメールサーバ5−1のIPアドレスを基に、クレードル2−1、パーソナルコンピュータ3−1、およびインターネット4を介して、SMTP(Simple Mail Transfer Protocol)の手順に基づき、メールをメールサーバ5−1に送信する。
【0119】
メールサーバ5−1は、受信したメールのあて先を確認して、メールのあて先のドメイン名が自分のドメインに対応しない場合、インターネット4を介して、DNSサーバ6−2にドメイン名を送信する。DNSサーバ6−2は、インターネット4を介して、受信したドメイン名に対応させてMXレコードに格納されているメールサーバ5−2のホスト名をメールサーバ5−1に送信する。
【0120】
メールサーバ5−1は、インターネット4を介して、DNSサーバ6−2から受信したメールのあて先に対応するメールサーバ5−2のホスト名をDNSサーバ6−2に送信する。DNSサーバ6−2は、インターネット4を介して、受信したホスト名に対応させてAレコードに格納されている、メールサーバ5−2のIPアドレスをメールサーバ5−1に送信する。
【0121】
メールサーバ5−1は、インターネット4を介して、受信したIPアドレスを基に、SMTPの手順に基づき、メールをメールサーバ5−2に転送する。メールサーバ5−2は、受信したメールのあて先を確認して、あて先のドメイン名が自分のドメインに対応する場合、メールをスプールと称するメールボックスに格納する。
【0122】
PDA1−2は、クレードル2−2、パーソナルコンピュータ3−2、およびインターネット4インターネット4を介して、DNSサーバ6−2にメールサーバ5−2のホスト名を送信する。DNSサーバ6−2は、インターネット4を介して、受信したホスト名に対応する、メールサーバ5−2のIPアドレスをPDA1−2に送信する。
【0123】
PDA1−2は、受信したメールサーバ5−2のIPアドレスを基に、クレードル2−2、パーソナルコンピュータ3−2、およびインターネット4を介して、POP3(Post Office Protocol Version3)の手順に基づき、メールサーバ5−2にメールを要求する。PDA1−2は、クレードル2−2、パーソナルコンピュータ3−2、およびインターネット4を介して、POP3の手順に基づき、メールサーバ5−2からメールを受信する。
【0124】
図7は、メールを送信するPDA1が実行するプログラムを説明する図である。オペレーティングシステム(以下、OSと称する)101は、PDA1の基本的な動作を制御するプログラムである。
【0125】
ドライバ102−1は、表示部11の表示を制御するプログラムである。ドライバ102−2は、タッチパッド制御部38の動作を制御するプログラムである。ドライバ102−3は、音声再生部42の音声の再生を制御するプログラムである。ドライバ102−4は、ジョグダイヤル23の入力に対応した処理を実行するプログラムである。
【0126】
ライブラリ103は、メール送受信プロクラム104などのアプリケーションプログラムが利用する複数の処理ルーチンが格納されている。
【0127】
メール送受信プロクラム104は、クレードル2−1若しくは2−2、パーソナルコンピュータ3−1若しくは3−2、およびインターネット4を介して、メールを送信し、または受信するプログラムである。
【0128】
なお、図7に示すプログラムの構成は、従来のメールを送受信する機器のプロクラムの構成と同様である。
【0129】
図8は、メールを送信するか、またはメールを受信するPDA1が実行するプログラムを説明する図である。メール送受信プロクラム104は、メールサーバ5−2からメールを受信するとき、例えば、図9に例を示す画像を表示部11に表示させる。メール送受信プログラム104は、受信したメールを表示するとき、受信したメールをインタプリタ106に供給する。
【0130】
ライブラリ105は、インタプリタ106がスクリプトを実行するとき利用されるルーチンを格納する。
【0131】
インタプリタ106は、メール送受信プロクラム104にプラグインされたプログラムであり、メールに含まれているスクリプトを抽出して、抽出したスクリプトを実行する。例えば、インタプリタ106は、スクリプトの実行に対応して、ドライバ102−1に、所定の画像を表示部11に表示させ、ドライバ102−3に、所定の音声を音声再生部42に再生させる。
【0132】
インタプリタ106は、表示部11または音声再生部42などに対応するドライバ102−1乃至102−4に、表示または音声の再生などを実行させるので、PDA1の機種の違いなどにより、表示部11または音声再生部42が異なるものであったとしても、インタプリタ106による表示または音声の再生は、確実に、かつ正確に実行される。
【0133】
また、インタプリタ106は、表示部11または音声再生部42などのデバイスに対応するドライバ102−1乃至102−4に、表示または音声の再生などの処理を実行させるので、スクリプトの実行内容に対応して動作させる多種のデバイスがPDA1に組み込まれていても、インタプリタ106によるデバイスの制御は、確実に、かつ正確に実行される。
【0134】
なお、メール送受信プログラム104は、表示しようとしたメールにスクリプトが含まれているとき、インタプリタ106を起動するとともに、ライブラリ105をロードするようにしてもよい。
【0135】
図10は、インタプリタ106のより詳細な構造を説明する図である。インタプリタ106は、構文解析モジュール121、実行モジュール122、および出力モジュール123から構成される。
【0136】
構文解析モジュール121は、例えば、図11に示すように、メール送受信プログラム104がメール151を表示しようとするとき、メール送受信プログラム104からメール151を受け取り、受け取ったメール151に含まれているスクリプトを抽出して、抽出したスクリプトを実行モジュール122に供給する。
【0137】
図12は、PDA1が送信するか、または受信するメール151の構造の例を示す図である。メール151は、スクリプトを格納しているとき、メール本文に続いて、スクリプトを格納する。メール151は、格納しているスクリプトがデータを必要とする場合、スクリプトに続いて、インタプリタ106によるスクリプトの実行に必要なデータを格納する。
【0138】
構文解析モジュール121は、メール151にスクリプトと共にデータが格納されているとき、スクリプトと共にデータを抽出して、抽出したデータをスクリプトと共に実行モジュール122に供給する。
【0139】
図13は、メール151がスクリプトを格納している場合のインタプリタ106の処理の流れを説明する図である。構文解析モジュール121は、メール151からスクリプトを抽出したとき、抽出したスクリプトを実行モジュール122に供給する。
【0140】
スクリプトの供給を受けた実行モジュール122は、スクリプトを実行する。
出力モジュール123は、スクリプトの実行の結果に対応して、画像を表示するか、音声を出力するか、または出力データ171を、例えば、EDO DRAM34に記憶させる。
【0141】
一方、構文解析モジュール121が、メール151からスクリプトを抽出しなかったとき(メール151にスクリプトがふくまれていないとき)、図14に示すように、構文解析モジュール121は、以後の処理をメール送受信プログラム104に実行させ、通常のメールの処理が実行される。このとき、メール送受信プログラム104は、メール151の本文に対応するテキストデータ191をドライバ102−1に供給する。ドライバ102−1は、テキストデータ191を基に、メール151の本文を表示部11に表示させる。
【0142】
図15は、オセロを実行するメール151の例を示す図である。図15に示す例において、メール151は、本文およびスクリプトにより構成されている。図15に示すメール151に含まれるスクリプトは、MIME(Multi Purpose Internet Mail Extension)方式により記述されたapplication/x-emmaである。
【0143】
図15に示すメール151において、”TO:"Someone"<someone@sony.co.jp>"乃至”Othelloの2手目です。"が本文に対応し、"------=_NextPart_000_0011_01BFA9E7.2EE28580"乃至"----Next_Part(Wed_Apr_19_11:42:48_2000_705)----"がスクリプトに対応する。
【0144】
図16は、スクリプトの実行を模式的に示す図である。スクリプトの実行は、入力部および実行部に分類される。
【0145】
入力部においては、構文解析モジュール121により、メール151からスクリプトが抽出される。
【0146】
実行部は、更に、データ入力部、処理実行部、および出力部から構成されている。データ入力部において、実行モジュール122は、例えば、ドライバ102−1に、入力用の画像を表示部11に表示させ、ドライバ102−2に、タッチパッド制御部38からの入力を制御させる。
【0147】
データ入力部における、入力は、実行モジュール122が、例えば、タブレット、キー22、ジョグダイヤル23、センサ、メモリースティックインターフェース35、外付けキーボード、モデム、USBインターフェース36、赤外線通信部40、またはドライブ52などに対応するドライバを制御することにより実行される。
【0148】
処理実行部において、実行モジュール122は、スクリプトの処理ロジックを実行する。
【0149】
出力部において、出力モジュール123は、処理実行部における処理に対応して、例えば、ドライバ102−1に、処理の結果の画像を表示部11に表示させ、ドライバ102−3に、処理の結果の音声を音声再生部42に出力させる。
【0150】
出力部における、出力は、出力モジュール123が、例えば、表示部11、モデム、音声再生部42、メモリースティックインターフェース35、USBインターフェース36、赤外線通信部40、またはドライブ52などに対応するドライバを制御することにより実行される。
【0151】
図17は、オセロゲームを実行するスクリプトの例を示す図である。図17に示すスクリプトがインタプリタ106に読み込まれたとき、実行モジュール122は、onload()メソッドを起動して、図18に例を示すように、show()メソッドによりオセロ盤とそのときのコマを表示部11に表示させる。
【0152】
図19に例を示すように、使用者が新しい手を入力すると、実行モジュール122は、ontap()メソッドにより、新しい手が入力されたオセロ盤上の座標を取得する。実行モジュール12は、check()メソッドにより、新しい手に対応する座標がオセロのルールに規定される要件を満たしているか否かを判定し、オセロのルールに規定される要件を満たしていないと判定された場合、confirm()メソッドにより、エラーである旨を通知し(表示部11にエラーメッセージを表示する)、ontap()メソッドの実行を繰り返す。
【0153】
新しい手がオセロのルールに規定される要件を満たしていると判定された場合、実行モジュール122は、図20に例を示すように、update()メソッドにより、コマの面を更新する。出力モジュール123は、図21に例を示すように、sendmail()メソッドにより、メールを相手に送信する処理を実行して、exit()メソッドにより処理は終了する。
【0154】
次に、図22のフローチャートを参照して、メール送受信プログラム104を実行するPDA1によるメール送信の処理を説明する。ステップS11において、メール送受信プログラム104は、USBインターフェース36に、クレードル2、パーソナルコンピュータ3、およびインターネット4を介して、メールサーバ5−1に対応するホスト名をDNSサーバ6−1に送信させ、DNSサーバ6−1からメールサーバ5−1に対応するIPアドレスを取得する。
【0155】
ステップS12乃至ステップS18の処理は、例えば、SMTPの手順に基づいて実行される。
【0156】
ステップS12において、メール送受信プログラム104は、USBインターフェース36に、クレードル2、パーソナルコンピュータ3、およびインターネット4を介して、IPアドレスを指定させてメールサーバ5−1と接続させる。ステップS13において、メール送受信プログラム104は、USBインターフェース36に、クレードル2、パーソナルコンピュータ3、およびインターネット4を介して、メールサーバ5−1を呼び出させる(メールサーバ5−1が実行するメールサーバプログラム(例えば、sendmail(商標)など)を呼び出す)。
【0157】
ステップS14において、メール送受信プログラム104は、USBインターフェース36に、メールの送信の準備をメールサーバ5−1にさせる(メールサーバ5−1が実行するメールサーバプログラムに、メールを送信する手続きを実行する旨を通知する)。ステップS15において、メール送受信プログラム104は、USBインターフェース36に、送信するメールのあて先(メールアドレス)をメールサーバ5−1に通知する。
【0158】
ステップS16において、メール送受信プログラム104は、USBインターフェース36に、メールをメールサーバ5−1に送信させる。ステップS17において、メール送受信プログラム104は、USBインターフェース36に、メールサーバ5−1との処理の終了確認をさせる。
【0159】
ステップS17において、メール送受信プログラム104は、USBインターフェース36に、メールサーバ5−1との接続を切断させ、処理は終了する。
【0160】
このように、PDA1は、メールサーバ5−1にメールを送信することができる。
【0161】
なお、メールサーバ5−1がメールサーバ5−2にメールを転送する処理は、メールのあて先に対応するホスト名の取得の処理を除いて、メール送信の処理と同様なので、その説明は省略する。
【0162】
次に、図23のフローチャートを参照して、メール送受信プログラム104を実行するPDA1によるメール受信の処理を説明する。ステップS31において、メール送受信プログラム104は、USBインターフェース36に、クレードル2、パーソナルコンピュータ3、およびインターネット4を介して、メールサーバ5−2に対応するホスト名をDNSサーバ6−2に送信させ、DNSサーバ6−2からメールサーバ5−2に対応するIPアドレスを取得する。
【0163】
ステップS32乃至ステップS40の処理は、例えば、POP3の手順に基づいて実行される。
【0164】
ステップS32において、メール送受信プログラム104は、USBインターフェース36に、クレードル2、パーソナルコンピュータ3、およびインターネット4を介して、IPアドレスを指定させてメールサーバ5−2と接続させる。ステップS33において、メール送受信プログラム104は、USBインターフェース36に、クレードル2、パーソナルコンピュータ3、およびインターネット4を介して、メールサーバ5−2を呼び出させる。
【0165】
ステップS34において、メール送受信プログラム104は、USBインターフェース36に、PDA1の使用者のユーザIDおよびパスワードを、クレードル2、パーソナルコンピュータ3、およびインターネット4を介して、メールサーバ5−2に送信させ、メールサーバ5−2に使用者の認証の処理を実行させる。
【0166】
ステップS35において、メール送受信プログラム104は、USBインターフェース36に、メールボックス(PDA1の使用者宛てのメールが格納されている)の内容確認をメールサーバ5−2にさせる。
【0167】
ステップS36において、メール送受信プログラム104は、USBインターフェース36に、PDA1の使用者宛のメールの着信数をメールサーバ5−2に送信させ、メールの着信数を受信する。
【0168】
ステップS37において、メール送受信プログラム104は、USBインターフェース36に、メールサーバ5−2にPDA1の使用者宛のメールを送信させ、送信されたメールを受信させる。ステップS38において、メール送受信プログラム104は、USBインターフェース36に、PDA1の使用者宛のメールの削除をメールサーバ5−2に依頼させる。メールサーバ5−2は、PDA1の使用者宛のメールを削除する。
【0169】
ステップS39において、メール送受信プログラム104は、USBインターフェース36に、メールサーバ5−2との処理の終了確認をさせる。
【0170】
ステップS40において、メール送受信プログラム104は、USBインターフェース36に、メールサーバ5−2との接続を切断させ、処理は終了する。
【0171】
このように、PDA1は、メールサーバ5−2から、PDA1の使用者宛のメールを受信することができる。
【0172】
次に、メール送受信プログラム104が受信したメールを表示するとき実行される、メール送受信プログラム104およびインタプリタ106を実行するPDA1のスクリプトの処理を、図24のフローチャートを参照して説明する。ステップS51において、メール送受信プログラム104は、受信したメール151を読み込む。
【0173】
ステップS52において、メール送受信プログラム104は、読み込んだメール151にスクリプトが含まれているか否かを判定し、スクリプトが含まれていると判定された場合、ステップS53に進み、インタプリタ106を起動する。メール送受信プログラム104は、読み込んだメール151をインタプリタ106に供給する。
【0174】
なお、インタプリタ106は、メール送受信プログラム104と共に、予め起動させておくようにしてもよい。
【0175】
ステップS54において、インタプリタ106の構文解析モジュール121は、メール151の記述を基に、メール151に含まれるスクリプトを抽出する。
ステップS55において、インタプリタ106の実行モジュール122は、抽出したスクリプトを実行する。
【0176】
ステップS56において、インタプリタ106の出力モジュール123は、スクリプトの実行の結果に対応して、表示または音声の出力の処理を実行する。ステップS57において、メール送受信プログラム104は、インタプリタ106を終了させ、処理は終了する。
【0177】
ステップS51において、スクリプトが含まれていないと判定された場合、スクリプトに対応する処理は必要ないので、ステップS53乃至ステップS57の処理はスキップされて、処理は終了する。
【0178】
このように、PDA1は、メール151にスクリプトが含まれているとき、インタプリタ106を起動して、スクリプトに対応した処理を実行する。
【0179】
なお、ステップS52の処理は、予め起動しているインタプリタ106の構文解析モジュール121により実行されるようにしてもよい。
【0180】
次に、スクリプトの実行のより具体的な例であるオセロの処理を、図25のフローチャートを参照して説明する。ステップS71において、メール送受信プログラム104は、受信したメール151を読み込む。
【0181】
ステップS72において、メール送受信プログラム104は、インタプリタ106を起動する。ステップS73において、インタプリタ106の出力モジュール123は、表示部11にオセロ盤とコマを表示させる。
【0182】
ステップS74において、実行モジュール122は、新たな手が入力されたか否かを判定し、新たな手が入力されていないと判定された場合、新たな手が入力されるまで、ステップS74に戻り判定の処理を繰り返す。
【0183】
ステップS74において、新たな手が入力されたと判定された場合、ステップS75に進み、実行モジュール122は、新たな手の座標(オセロ盤上の位置を示す)を読み取る。ステップS76において、実行モジュール122は、新たな手がオセロのルールに規定される要件を満たしているか否かを判定し、新たな手がオセロのルールに規定される要件を満たしていると判定された場合、ステップS77に進み、新たな手に対応するオセロ盤の位置にコマをおく。
【0184】
ステップS78において、実行モジュール122は、所定のコマを裏返すなど、コマの面を更新する。ステップS79において、出力モジュール123は、表示部11にオセロ盤とコマを表示させる。
【0185】
ステップS80において、出力モジュール123は、USBインターフェース36に、新たな手を相手に通信させる。ステップS81において、メール送受信プログラム104は、インタプリタ106を終了させ、処理は終了する。
【0186】
ステップS76において、新たな手がオセロのルールに規定される要件を満たしていないと判定された場合、ステップS82に進み、出力モジュール123は、表示部11にエラーの表示をさせて、使用者にエラーを通知し、手続きは、ステップS74に戻り、新たな手の入力から処理を繰り返す。
【0187】
このように、PDA1は、メール151に含まれるスクリプトに基づき、オセロの処理を実行する。
【0188】
以上のように、PDA1は、使用者がメール151を読もうとするとき、メール151の送り手が所望するアクションを実行する。PDA1は、使用者がメール151を読まないとき、メール151に含まれるスクリプトを実行しないので、スクリプトの処理の負荷を最小とすることができる。
【0189】
PDA1は、インタプリタ106を実行するだけで、スクリプトの記述に対応する種々の処理を実行することができるので、メールにデータを添付して送信する場合に比較して、添付されたデータの種類に対応する、多数のアプリケーションプログラムを格納しておく必要がない。
【0190】
また、インタプリタ106がスクリプトを実行するので、インタプリタ106をセキュアに実装すれば、メールに添付された実行プログラムをそのまま実行する場合に比較して、より安全に処理を実行させることができる。
【0191】
次に、本発明に係るメール送受信システムの第2の実施の形態について説明する。
【0192】
図26は、本発明に係るメール送受信システムの第2の実施の形態を示す図である。公衆回線網202には、通信サービスの提供エリアを所望の広さに分割したセルにそれぞれ配置されている、固定無線局である基地局201−1乃至201−4を介して、PDA1−1若しくは1−2、またはカメラ付きデジタル携帯電話機301−1および301−2が接続されている。
【0193】
基地局201−1乃至201−4は、移動無線局であるPDA1−1および1−2、並びにカメラ付きデジタル携帯電話機301−1および301−2を、例えば、W-CDMA(Wideband-Code Division Multiple Access)と呼ばれる符号分割多元接続により無線接続し、移動無線局であるPDA1−1および1−2、並びにカメラ付きデジタル携帯電話機301−1および301−2と、2GHzの周波数帯域を利用して最大2Mbpsのデータ転送速度で大容量データを高速にデータ通信できる。
【0194】
PDA1−1および1−2、並びにカメラ付きデジタル携帯電話機301−1および301−2は、基地局201−1乃至201−4とW-CDMA方式により大容量データを高速にデータ通信できるので、音声通話に限らず、電子メールの送受信、簡易ホームページの閲覧、画像の送受信等の多種に及ぶデータ通信を実行し得る。
【0195】
また、基地局201−1乃至201−4は、有線回線を介して、公衆回線網202に接続されている。公衆回線網202には、インターネット4、図示せぬ加入者有線端末装置、コンピュータネットワーク、および企業内ネットワーク等が接続されている。
【0196】
インターネットサービスプロバイダのアクセスサーバ203は、公衆回線網202に接続されており、更に、インターネットサービスプロバイダが保有するコンテンツサーバ204に接続されている。
【0197】
コンテンツサーバ204は、加入者有線端末装置、PDA1−1若しくは1−2、またはカメラ付きデジタル携帯電話機301−1若しくは301−2からの要求に対応して、例えば、簡易ホームページ等のコンテンツを、コンパクトHTML(Hypertext Markup Language)方式のファイルとして提供する。
【0198】
インターネット4には、多数のWWW(World Wide Web)サーバ205−1乃至205−Nが接続されている。WWWサーバ205−1乃至205−Nは、TCP(Transmission Control Protocol)/IP(Internet Protocol)のプロトコルに従って、加入者有線端末装置、PDA1−1および1−2、並びにカメラ付きデジタル携帯電話機301−1および301−2からアクセスされる。
【0199】
因みに、PDA1−1および1−2、並びにカメラ付きデジタル携帯電話機301−1および301−2は、基地局201−1乃至201−4までを2Mbpsの簡易トランスポートプロトコルで通信し、基地局201−1乃至201−4から、インターネット4、およびWWWサーバ205−1乃至205−NまでをTCP/IPで通信する。
【0200】
なお、管理制御装置206は、公衆回線網202を介して、加入者有線端末装置、PDA1−1および1−2、並びにカメラ付きデジタル携帯電話機301−1および301−2に接続され、加入者有線端末装置、PDA1−1および1−2、並びにカメラ付きデジタル携帯電話機301−1および301−2に対する認証処理または課金処理などを実行する。
【0201】
カメラ付きデジタル携帯電話機301−1および301−2は、公衆回線網202およびインターネット4を介して、上述した、PDA1と同様の処理でメールを送信するか、または受信する。カメラ付きデジタル携帯電話機301−1および301−2は、受信したメールにスクリプトが含まれているとき、インタプリタ106を起動して、スクリプトを実行する。
【0202】
以下、カメラ付きデジタル携帯電話機301−1および301−2を個々に区別する必要がないとき、単に、カメラ付きデジタル携帯電話機301と称する。
【0203】
次に本発明を適用したカメラ付デジタル携帯電話機301の外観構成について説明する。図27に示すようにカメラ付デジタル携帯電話機301は、表示部302および本体303で構成され、中央のヒンジ部304により折り畳み可能に形成されている。
【0204】
表示部302は、上端左部に引出しまたは収納可能な送受信用のアンテナ305を有する。カメラ付デジタル携帯電話機301は、アンテナ305を介して、固定無線局である基地局201−1乃至201−4のいずれかとの間で電波を送受信する。
【0205】
また、表示部302は、上端中央部にほぼ180度の角度範囲で回動自在なカメラ部306を有する。カメラ付デジタル携帯電話機301は、カメラ部306のCCDカメラ307によって所望の撮像対象を撮像する。
【0206】
カメラ部306が使用者によってほぼ180度回動されて位置決めされた場合、図28に示すように、表示部302は、カメラ部306の背面側中央に設けられたスピーカ308が正面側に位置する状態となる。これにより、カメラ付デジタル携帯電話機301は、通常の音声通話状態に切り換わる。
【0207】
さらに、表示部302の正面に液晶ディスプレイ309が設けられている。液晶ディスプレイ309は、電波の受信状態、電池残量、電話帳として登録されている相手先名や電話番号および発信履歴等の他、電子メールの内容、簡易ホームページ、カメラ部306のCCDカメラ307で撮像した画像などを表示する。
【0208】
一方、本体303には、その表面に「0」乃至「9」の数字キー、発呼キー、リダイヤルキー、終話及び電源キー、クリアキー及び電子メールキー等の操作キー310が設けられている。操作キー310の操作に対応した各種指示が、カメラ付デジタル携帯電話機301に入力される。
【0209】
また、本体303の操作キー310の下部にメモボタン311およびマイクロフォン312が設けられている。カメラ付デジタル携帯電話機301は、メモボタン311が操作されたとき、通話中の相手の音声を録音する。カメラ付デジタル携帯電話機301は、マイクロフォン312によって通話時の使用者の音声を集音する。
【0210】
さらに、本体303の操作キー310の上部に回動自在なジョグダイヤル313が、本体303の表面から僅かに突出した状態で設けられている。カメラ付デジタル携帯電話機301は、ジョグダイヤル313に対する回動操作に応じて、液晶ディスプレイ309に表示されている電話帳リスト若しくは電子メールのスクロール動作、簡易ホームページのページ捲り動作、または画像の送り動作等の種々の動作を実行する。
【0211】
例えば、本体303は、使用者によるジョグダイヤル313の回動操作に応じて液晶ディスプレイ309に表示された電話帳リストの複数の電話番号の中から所望の電話番号を選択し、ジョグダイヤル313が本体303の内部方向に押圧されたとき、選択されている電話番号を確定して、確定した電話番号に対して自動的に発呼処理を行う。
【0212】
なお、本体303は、背面側に図示しないバッテリパックが装着されており、終話/電源キーがオン状態になると、バッテリパックから各回路部に対して電力が供給されて動作可能な状態に起動する。
【0213】
ところで、本体303の左側面上部に抜差自在なメモリースティック11を装着するためのメモリースティックスロット314が設けられている。カメラ付デジタル携帯電話機301は、メモボタン311が押下されると、通話中の相手の音声を装着されているメモリースティック11に記録する。カメラ付デジタル携帯電話機301は、使用者の操作に応じて、電子メール、簡易ホームページ、CCDカメラ307で撮像した画像を、装着されているメモリースティック11に記録する。
【0214】
メモリースティック11は、本願出願人であるソニー株式会社によって開発されたフラッシュメモリカードの一種である。このメモリースティック11は、縦21.5×横50×厚さ2.8[mm]の小型薄型形状のプラスチックケース内に電気的に書換えや消去が可能な不揮発性メモリであるEEPROM(Electrically Erasable and Programmable Read Only Memory )の一種であるフラッシュメモリ素子を格納したものであり、10ピン端子を介して画像や音声、音楽等の各種データの書き込み及び読み出しが可能となっている。
【0215】
またメモリースティック11は、大容量化等による内蔵フラッシュメモリの仕様変更に対しても、使用する機器で互換性を確保することができる独自のシリアルプロトコルを採用し、最大書込速度1.5[MB/S]、最大読出速度2.45[MB/S]の高速性能を実現していると共に、誤消去防止スイッチを設けて高い信頼性を確保している。
【0216】
従って、カメラ付デジタル携帯電話機301は、このようなメモリースティック11を装着可能に構成されているために、メモリースティック11を介して、他の電子機器との間でデータの共有化を図ることができる。
【0217】
図29に示すように、カメラ付デジタル携帯電話機301は、表示部302および本体303の各部を統括的に制御する主制御部351に対して、電源回路部352、操作入力制御部353、画像エンコーダ354、カメラインターフェース部355、LCD(Liquid Crystal Display)制御部356、画像デコーダ357、多重分離部358、記憶再生部363、変復調回路部359、および音声コーデック360がメインバス361を介して互いに接続されると共に、画像エンコーダ354、画像デコーダ357、多重分離部358、変復調回路部359、および音声コーデック360が同期バス362を介して互いに接続されて構成されている。
【0218】
電源回路部352は、使用者の操作により終話/電源キーがオン状態にされると、バッテリパックから各部に対して電力を供給することによりカメラ付デジタル携帯電話機301を動作可能な状態に起動する。
【0219】
カメラ付デジタル携帯電話機301は、CPU、ROMおよびRAM等でなる主制御部351の制御に基づいて、音声通話モードにおいて、マイクロフォン312で集音した音声信号を音声コーデック360によってデジタル音声データに変換する。カメラ付デジタル携帯電話機301は、デジタル音声データを変復調回路部359でスペクトラム拡散処理し、送受信回路部364でデジタルアナログ変換処理および周波数変換処理を施した後にアンテナ305を介して送信する。
【0220】
また、カメラ付デジタル携帯電話機301は、音声通話モードにおいて、アンテナ305で受信した受信信号を増幅して周波数変換処理およびアナログデジタル変換処理を施し、変復調回路部359でスペクトラム逆拡散処理し、音声コーデック360によってアナログ音声信号に変換する。カメラ付デジタル携帯電話機301は、アナログ音声信号に対応する音声をスピーカ308に出力させる。
【0221】
さらに、カメラ付デジタル携帯電話機301は、データ通信モードにおいて、電子メールを送信する場合、操作キー310およびジョグダイヤル313の操作によって入力された電子メールのテキストデータを操作入力制御部353を介して主制御部351に送出する。
【0222】
主制御部351は、テキストデータを変復調回路部359でスペクトラム拡散処理し、送受信回路部364でデジタルアナログ変換処理及び周波数変換処理を施した後にアンテナ305を介して基地局へ送信する。
【0223】
これに対してカメラ付デジタル携帯電話機301は、データ通信モードにおいて、電子メールを受信する場合、アンテナ305を介して基地局CS3から受信した受信信号を変復調回路部359でスペクトラム逆拡散処理して、元のテキストデータを復元した後、LCD制御部356を介して液晶ディスプレイ309に電子メールとして表示する。
【0224】
主制御部351は、データ通信モードにおいて、電子メールを送信または受信する場合、メール送受信プログラム104およびインタプリタ106を実行する。
【0225】
LCD制御部356は、フレキシブルプリント配線板11と同様に、パネルID設定部を有するフレキシブルプリント配線板を介して、液晶ディスプレイ309に接続されている。
【0226】
この後、カメラ付デジタル携帯電話機301は、使用者の操作に応じて受信した電子メールを記憶再生部363を介してメモリースティック11に記録することも可能である。
【0227】
カメラ付デジタル携帯電話機301は、データ通信モードにおいて画像データを送信する場合、CCDカメラ307で撮像された画像データをカメラインターフェース部355を介して画像エンコーダ354に供給する。
【0228】
因みにカメラ付デジタル携帯電話機301は、画像データを送信しない場合には、CCDカメラ307で撮像した画像データをカメラインターフェース部355およびLCD制御部356を介して液晶ディスプレイ309に直接表示することも可能である。
【0229】
画像エンコーダ354は、CCDカメラ307から供給された画像データを、例えば、MPEG(Moving Picture Experts Group )2またはMPEG4等の所定の符号化方式によって圧縮符号化することにより符号化画像データに変換し、これを多重分離部358に送出する。
【0230】
このとき同時にカメラ付デジタル携帯電話機301は、CCDカメラ307で撮像中にマイクロフォン312で集音した音声を音声コーデック360を介してデジタルの音声データとして多重分離部358に送出する。
【0231】
多重分離部358は、画像エンコーダ354から供給された符号化画像データと音声コーデック360から供給された音声データとを所定の方式で多重化し、その結果得られる多重化データを変復調回路部359でスペクトラム拡散処理し、送受信回路部364でデジタルアナログ変換処理及び周波数変換処理を施した後にアンテナ305を介して送信する。
【0232】
これに対してカメラ付デジタル携帯電話機301は、データ通信モードにおいて、例えば、簡易ホームページ等にリンクされた動画像ファイルのデータを受信する場合、アンテナ305を介して基地局から受信した受信信号を変復調回路部359でスペクトラム逆拡散処理し、その結果得られる多重化データを多重分離部358に送出する。
【0233】
多重分離部358は、多重化データを符号化画像データと音声データとに分離し、同期バス362を介して、符号化画像データを画像デコーダ357に供給すると共に、音声データを音声コーデック360に供給する。
【0234】
画像デコーダ357は、符号化画像データをMPEG2またはMPEG4等の所定の符号化方式に対応した復号方式でデコードすることにより再生動画像データを生成し、これをLCD制御部356を介して液晶ディスプレイ309に供給する。これにより、カメラ付デジタル携帯電話機301は、例えば、簡易ホームページにリンクされた動画像ファイルに含まれる動画データを表示する。
【0235】
このとき同時に音声コーデック360は、音声データをアナログ音声信号に変換した後、これをスピーカ308に供給する。これにより、カメラ付デジタル携帯電話機301は、例えば、簡易ホームページにリンクされた動画像ファイルに含まる音声データを再生する。
【0236】
この場合も電子メールの場合と同様に、カメラ付デジタル携帯電話機301は、受信した簡易ホームページ等にリンクされたデータを使用者の操作により記憶再生部363を介してメモリースティック11に記録することが可能である。
【0237】
なお、本発明は、PDA1、カメラ付デジタル携帯電話機301に限らず、ノート型のパーソナルコンピュータ、PHS(Personal Handyphone System)の端末装置、またはカーナビゲーションシステムなどメールを送信し、または受信する装置全般に適用することができる。
【0238】
次に、インタプリタ106のより詳細な構成について説明する。
【0239】
図30は、インタプリタ106のより詳細な構成の一例を示す図である。
【0240】
図30のメール構文解析部502、デコーダ503、構文解析部505、データ構成部517、エンコーダ518、およびメール生成部519は、図10の構文解析モジュール121に対応する。
【0241】
図30のスクリプトインタプリタ506、認証暗号化部507、リソースアクセスマネージャ508、およびストレージモジュール511は、図10の実行モジュール122に対応する。
【0242】
図30のI/O(Input/Output)モジュール510は、図10の出力モジュール123に対応する。
【0243】
メール送受信プログラム104は、メール送受信プログラムプラグインインターフェース501を介して、開こうとするメール151をメール構文解析部502に供給するか、またはメール生成部519から生成されたメール151を取得する。
【0244】
メール構文解析部502は、メール送受信プログラムプラグインインターフェース501を介して、メール送受信プログラム104から供給されたメール151の構文を解析して、メール151からスクリプトおよびデータを抽出する。メール構文解析部502は、メール151から抽出したスクリプトおよびデータをデコーダ503に供給する。
【0245】
スクリプトとは、英数字コードなどの文字コードにより、処理手順が記述されている、1連の命令群から成るプログラムの1種である。
【0246】
デコーダ503は、例えば、Base64などの方式により符号化されているデータを復号する。Base64は、7ビットのデータのみを伝送するネットワークを介して、データまたはプログラムなどを伝送するため、データまたはプログラムなどを64種類のASCIIコードの列に変換する2進データのエンコード方法である。
【0247】
なお、デコーダ503は、符号化されているスクリプトを復号するようにしてもよい。
【0248】
デコーダ503は、インターフェース504を介して、スクリプトを構文解析部505に供給し、復号されたデータをスクリプトインタプリタ506に供給する。
【0249】
構文解析部505は、スクリプトに含まれる所定の文字列を、スクリプトインタプリタ506が処理可能な中間コード(intermediate code)に置換する。ここで、中間コードを大別すると、一般的には、(1)字句解析の結果や生成される字句の列などの字句の列、(2)構文解析の結果として生成される解析木や構文木、ポーランド記法などの木構造、(3)3つ組、4つ組とよばれる仮想機械コードなどの機械語に近い形式に分類されるが、本明細書においては、この中間コードを解析木の意味で使用する。
【0250】
なお、Java言語では、上記の(3)を「バイトコード」と呼んでいる。
【0251】
中間コードとは、ソフトウェアプログラムにおいて、元のソースコードから最終的な実行形式に変換する過程で、便宜上、一時的に作成される中間形式のコードをいう。このようにソースからターゲットへの変換プロセスを細かく分離することにより、複数のプラットフォーム(ターゲット)に言語処理系を対応させることが容易となる。
【0252】
たとえばJavaにおいて、ソースコードは、一旦、バイトコードと呼ばれる中間コードに変換され、変換された中間コードがWWWサーバに保存される。WWWサーバは、クライアント側のWWWブラウザに、このバイトコードを送信し、クライアント側のJava VM(Java Virtual Machine)は、バイトコードを解釈して実行する。この場合、各プラットフォームの違い(CPUやオペレーティングシステムの違い)を、Java VMが吸収するので、バイトコード自身は特定のプラットフォームに依存しない。こうしてJavaにおいて、実行時にかかる負担(バイトコードから実行コードへの変換)を抑えながら、プラットフォームに依存しないプログラム環境が実現される。
【0253】
また、その他の高級言語コンパイラにおいても、ソースコードを実行プログラム(通常はCPUが解釈できるバイナリコード)に直接変換するのではなく、実際のマシンよりも抽象度が高い中間的なコードに変換し(実際のマシンアーキテクチャの制限などに煩わされずにすむので、コードの最適化作業などがやりやすくなる)、その後、最終的な実行形式のバイナリコードを生成する方式がとられることも多い。
【0254】
構文解析部505は、所定の文字列を中間コードに置換したスクリプトをスクリプトインタプリタ506に供給する。
【0255】
スクリプトインタプリタ506は、スクリプトを認証暗号化部507に供給し、認証暗号化部507に、スクリプトの正当性を判定させる。
【0256】
認証暗号化部507は、例えば、スクリプトにMD(Message Digest)5などのハッシュ関数を適用して、スクリプトに対応するハッシュ値を算出する。認証暗号化部507は、算出されたハッシュ値とスクリプトに含まれている認証用のデータとが同一であるか否かを判定する。
【0257】
図31に、認証用のデータが格納されているスクリプトを含むメール151の例を示す。
【0258】
図31に示すメール151において、”<SIGNATURE>”および”</SIGNATURE>”の間に配置されている”347a9d8684ab96533fb6b51906fdacf9”などのデータが、認証用のデータである。
【0259】
なお、メール151に電子署名または証明書を格納して、認証暗号化部507に、電子署名または証明書を基に、認証させるようにしてもよい。
【0260】
認証暗号化部507は、算出されたハッシュ値と認証用のデータとが同一であると判定された場合、スクリプトが改変されていないので、スクリプトが正当であることを示すデータをスクリプトインタプリタ506に供給する。
【0261】
認証暗号化部507は、算出されたハッシュ値と認証用のデータとが同一でないと判定された場合、スクリプトが改変されているので、スクリプトが正当でないことを示すデータをスクリプトインタプリタ506に供給する。
【0262】
スクリプトインタプリタ506は、スクリプトが正当でないことを示すデータが認証暗号化部507から供給されたとき、そのスクリプトを実行しない。
【0263】
スクリプトインタプリタ506は、スクリプトが正当であることを示すデータが認証暗号化部507から供給されたとき、デコーダ503から供給されたデータを基に、そのスクリプトを実行する。
【0264】
このように、スクリプトインタプリタ506は、正当なスクリプトのみを実行するので、本発明に係るメール送受信システムにおいては、改変された不正なスクリプトによる攻撃が排除され、スクリプトの実行における安全性が保証される。
【0265】
スクリプトインタプリタ506は、表示部21に画像を表示するか、またはタッチパッドから入力されたデータを取得するとき、リソースアクセスマネージャ508に画像の表示またはデータの取得の処理を実行させる。
【0266】
スクリプトインタプリタ506は、Flash ROM33またはEDO DRAM34などにデータを記憶させるか、またはFlash ROM33またはEDO DRAM34に記憶されているデータを取得するとき、リソースアクセスマネージャ508にデータの記憶またはデータの取得の処理を実行させる。
【0267】
スクリプトインタプリタ506は、スケジュール帳プログラム512、アドレス帳プログラム513、メモ帳プログラム514、TODO帳プログラム515、またはアプリケーションプログラム516にアクセスするとき、リソースアクセスマネージャ508にスケジュール帳プログラム512、アドレス帳プログラム513、メモ帳プログラム514、TODO帳プログラム515、またはアプリケーションプログラム516にアクセスさせる。
【0268】
リソースアクセスマネージャ508は、スクリプトインタプリタ506から、表示部21への画像の表示が要求されたか、またはタッチパッドから入力されたデータの取得が要求されたとき、プラットフォームリソースアクセスインターフェース509を介して、I/Oモジュール510に、表示部21に画像を表示させるか、またはI/Oモジュール510に、タッチパッドから入力されたデータを取得させる。I/Oモジュール510が取得した、タッチパッドから入力されたデータは、プラットフォームリソースアクセスインターフェース509を介して、リソースアクセスマネージャ508に供給される。
【0269】
リソースアクセスマネージャ508は、I/Oモジュール510により取得された、タッチパッドから入力されたデータをスクリプトインタプリタ506に供給する。
【0270】
リソースアクセスマネージャ508は、スクリプトインタプリタ506から、Flash ROM33またはEDO DRAM34などへのデータの記憶が要求されたか、またはFlash ROM33またはEDO DRAM34に記憶されているデータの取得が要求されたとき、プラットフォームリソースアクセスインターフェース509を介して、ストレージモジュール511に、Flash ROM33またはEDO DRAM34などにデータを記憶させるか、またはストレージモジュール511に、Flash ROM33またはEDO DRAM34に記憶されているデータを取得させる。ストレージモジュール511が取得した、Flash ROM33またはEDO DRAM34に記憶されているデータは、プラットフォームリソースアクセスインターフェース509を介して、リソースアクセスマネージャ508に供給される。
【0271】
リソースアクセスマネージャ508は、ストレージモジュール511により取得された、Flash ROM33またはEDO DRAM34に記憶されているデータをスクリプトインタプリタ506に供給する。
【0272】
リソースアクセスマネージャ508は、スクリプトインタプリタ506から、スケジュール帳プログラム512、アドレス帳プログラム513、メモ帳プログラム514、TODO帳プログラム515、またはアプリケーションプログラム516へのアクセスが要求されたとき、プラットフォームリソースアクセスインターフェース509を介して、スケジュール帳プログラム512、アドレス帳プログラム513、メモ帳プログラム514、TODO帳プログラム515、またはアプリケーションプログラム516にアクセスする。
【0273】
スケジュール帳プログラム512は、スケジュール帳にスケジュールを記録するか、または、記録されているスケジュールを表示するアプリケーションプログラムである。
【0274】
メモ帳プログラム514は、メモ帳にメモを記録するか、または、記録されているメモを表示するアプリケーションプログラムである。
【0275】
TODO帳プログラム515は、使用者が行うべきことを記録するか、または記録されている使用者が行うべきことを表示するアプリケーションプログラムである。
【0276】
アプリケーションプログラム516は、所定の処理を実行するアプリケーションプログラムである。
【0277】
データ構成部517は、所望のデータをメール151に添付して送信するとき、スクリプトインタプリタ506から供給された、メール151に添付するデータを、所定のデータ構造に変換する。
【0278】
例えば、スクリプトインタプリタ506は、実行しているスクリプトを中断し、スクリプトの実行状態を示すデータをメール151に添付して送信するとき、プログラムカウンタの値、またはプッシュダウンスタックに格納されているデータなどの、スクリプトの実行状態を示すデータをデータ構成部517に供給する。
【0279】
データ構成部517は、スクリプトインタプリタ506から供給された、スクリプトの実行状態を示すデータを所定のデータ構造に変換する。
【0280】
データ構成部517は、所定のデータ構造とされたデータを、インターフェース504を介して、エンコーダ518に供給する。
【0281】
スクリプトインタプリタ506は、所望のスクリプトをメール151に添付して送信するとき、インターフェース504を介して、スクリプトをエンコーダ518に供給する。
【0282】
エンコーダ518は、データ構成部517から供給された、所定の構造のデータを、例えば、Base64などの方式により符号化する。エンコーダ518は、符号化したデータをメール生成部519に供給する。エンコーダ518は、スクリプトインタプリタ506から供給されたスクリプトをそのままメール生成部509に供給する。
【0283】
なお、エンコーダ518は、スクリプトを符号化するようにしてもよい。
【0284】
メール生成部519は、エンコーダ518から供給された符号化されたデータまたはスクリプトを格納したメール151を生成する。メール生成部519は、メール送受プログラムプラグインインターフェース501を介して、生成したメール151をメール送受信プログラム104に供給する。
【0285】
メール送受信プログラム104は、メール生成部519から供給されたメール151を送信する。
【0286】
スクリプトランチャ520は、表示部21のタッチパッドからの入力を基に、スクリプトデータベース521に記憶されている、例えば、オセロゲームスクリプト531、回覧メールスクリプト532、自動削除メールスクリプト533、アニメーションメールスクリプト534、またはアップデートメールスクリプト535などのスクリプトのうちの1つのスクリプトを選択して、選択したスクリプトをインターフェース504を介して、構文解析部505に供給する。
【0287】
例えば、図32に示すように、表示部21に表示されているアイコンのうち、オセロと名前が付されたアイコンがタップされたとき、スクリプトランチャ520は、タップされたアイコンに対応するオセロゲームスクリプト531をスクリプトデータベース521から読み出して、オセロゲームスクリプト531をインターフェース504を介して、構文解析部505に供給する。
【0288】
表示部21に表示されているアイコンのうち、回覧メールと名前が付されたアイコンがタップされたとき、スクリプトランチャ520は、タップされたアイコンに対応する回覧メールスクリプト532をスクリプトデータベース521から読み出して、回覧メールスクリプト532をインターフェース504を介して、構文解析部505に供給する。
【0289】
構文解析部505は、スクリプトランチャ520から供給された、オセロゲームスクリプト531、回覧メールスクリプト532、自動削除メールスクリプト533、アニメーションメールスクリプト534、またはアップデートメールスクリプト535などのスクリプトに含まれる所定の文字列を、スクリプトインタプリタ506が処理可能な中間コードに置換する。構文解析部505は、文字列を中間コードに置換したスクリプトをスクリプトインタプリタ506に供給する。
【0290】
スクリプトインタプリタ506は、構文解析部505から供給された、文字列が中間コードに置換された、オセロゲームスクリプト531、回覧メールスクリプト532、自動削除メールスクリプト533、アニメーションメールスクリプト534、またはアップデートメールスクリプト535などのスクリプトを実行する。
【0291】
このように、図30に構成を示すインタプリタ106は、メール151が開かれたとき、メール151に添付されたスクリプトを実行して、例えば、所定の画像を表示部21に表示させる、表示部21のタッチパッドの操作に対応した処理を実行する、所望のデータをFlash ROM33またはEDO DRAM34などに記憶させる、またはFlash ROM33またはEDO DRAM34に記憶されているデータを取得するなどの処理を実行することができる。
【0292】
従って、所定の処理を実行させるスクリプトをメール151に添付すれば、メール151の送り手は、迅速に、かつ確実に、メール151の読み手に、所望するアクションを実行させることができるようになる。
【0293】
例えば、メール151の受け手が小型の端末装置を使用し、返信の操作に手間が掛かるときであっても、メール151の送り手は、迅速に、かつ確実に、メール151の読み手に、返信させることができるようになる。
【0294】
インタプリタ106は、メール送受信プログラム104がメール151を開こうとするとき、メール151に添付されているスクリプトを実行するので、メールの読み手は、メール151の受信に先立って、対応するスクリプトを入手しておく必要がない。
【0295】
新たに生成されたスクリプトが、メール151に添付されて伝送されるので、メール151の読み手は、スクリプトを迅速に取得することができ、新たに生成されたスクリプトを迅速に実行することができる。
【0296】
また、図30に構成を示すインタプリタ106は、記憶しているスクリプトを実行して、例えば、所定の画像を表示部21に表示させる、表示部21のタッチパッドの操作に対応した処理を実行する、所望のデータをFlash ROM33またはEDO DRAM34などに記憶させる、またはFlash ROM33またはEDO DRAM34に記憶されているデータを取得するなどの処理を実行することができる。
【0297】
さらに、図30に構成を示すインタプリタ106は、記憶しているスクリプトを実行して、所望のスクリプトを格納しているメール151を生成し、生成したメール151をメール送受信プログラム104に送信させることができる。
【0298】
次に、プラットフォームの変更、およびスクリプトの伝送媒体の変更について説明する。
【0299】
図33は、例えば、OS101をWindows CE(米国マイクロソフト社の商標)などの他のオペレーティングシステムに変更するなど、プラットフォームを変更したときの、インタプリタ106の構成の変更を説明する図である。
【0300】
図33のスクリプト処理部551は、プラットフォーム依存部561、スクリプト実行部562、および電子メール変換部563から構成されている。
【0301】
プラットフォーム依存部561は、I/Oモジュール510、ストレージモジュール511、およびアプリケーションプログラム516などから構成されている。
【0302】
スクリプト実行部562は、図30の構文解析部505、スクリプトインタプリタ506、認証暗号化部507、リソースアクセスマネージャ508、およびデータ構成部517に対応する。
【0303】
電子メール変換部563は、図30のメール送受信プログラムプラグインインターフェース501、メール構文解析部502、デコーダ503、インターフェース504、エンコーダ518、およびメール生成部519に対応する。
【0304】
通信部552は、クレードル2およびインターネット4を介して、メール151を受信する、図5のUSBインターフェース36に対応する。
【0305】
例えば、OS101などのプラットフォームが変更されたとき、変更されたプラットフォームに対応するスクリプト処理部571は、プラットフォーム依存部561からプラットフォーム依存部581に変更される。スクリプト実行部562および電子メール変換部563は、変更されない。
【0306】
プラットフォーム依存部581は、変更されたプラットフォームに対応するI/Oモジュール591、ストレージモジュール592、およびアプリケーションプログラム593などから構成されている。
【0307】
このように、プラットフォームを変更しても、プラットフォームに依存する部分のみを変更すれば、その全てを変更することなく、インタプリタ106は、メール151に添付されているスクリプトを実行することができる。
【0308】
図34は、例えば、Bluetoothなどの仕様に準拠した通信により、スクリプト自身を伝送するなど、スクリプトの伝送媒体を変更したときの、インタプリタ106の構成の変更を説明する図である。
【0309】
スクリプトの伝送媒体を変更したときのスクリプト処理部601は、プラットフォーム依存部561、スクリプト実行部562、および変換部611から構成されている。
【0310】
送受信プログラム602は、Bluetoothなどの仕様に準拠した通信を実行する通信部603に、スクリプトおよびデータの受信または送信を実行させるプログラムである。送受信プログラム602は、通信部603に受信させたスクリプトおよびデータを取得し、取得したスクリプトおよびデータをプラットフォーム依存部561の変換部611に供給する。
【0311】
また、送受信プログラム602は、通信部603に、変換部611から供給されたスクリプトおよびデータを送信させる。
【0312】
変換部611は、送受信プログラム602から供給されたスクリプトの所定の文字列を変換して、変換したスクリプトをスクリプト実行部562に供給する。また、変換部611は、スクリプト実行部562から供給されたスクリプトおよびデータを変換して、変換したスクリプトおよびデータを送受信プログラム602に供給する。
【0313】
スクリプト実行部562は、変換部611から供給されたスクリプトを実行する。
【0314】
このように、スクリプトの伝送媒体を変更しても、伝送媒体に依存する部分のみを変更すれば、全体を変更することなく、インタプリタ106は、スクリプトを実行することができる。
【0315】
次に、図35乃至図37のフローチャートを参照して、図30に構成を示すインタプリタ106による、電子メールに添付されたスクリプトの実行の処理を説明する。
【0316】
ステップS501において、メール送受信プログラム104は、スクリプトが添付されているメール151を表示しようとしているか否かを判定し、スクリプトが添付されているメール151を表示しようとしていないと判定された場合、ステップS501に戻り、判定の処理を繰り返す。
【0317】
ステップS501において、スクリプトが添付されているメール151を表示しようとしていると判定された場合、ステップS502に進み、メール送受信プログラム104は、開こうとしているメール151を、メール送受信プログラムプラグインインターフェース501を介して、メール構文解析部502に供給する。
【0318】
ステップS503において、メール構文解析部502は、メール送受信プログラム104から取得したメール151から、スクリプトおよびスクリプトの実行に必要なデータを抽出する。スクリプトの実行に必要なデータは、例えば、スクリプトが中断されたときのスクリプトの実行状態を示す、プログラムカウンタの値若しくはスタックポインタの値に対応するデータ、オセロゲームのコマの配置を示すデータ、アニメーションを描画するためのデータ、プログラムをアップデートするためのデータ、または電子メールの回覧の状態を示すデータなどである。
【0319】
メール構文解析部502は、抽出したスクリプトおよびスクリプトの実行に必要なデータをデコーダ503に供給する。
【0320】
ステップS504において、デコーダ503は、メール構文解析部502から供給されたスクリプトの実行に必要なデータを、Base64などの方式により復号する。
【0321】
ステップS505において、デコーダ503は、インターフェース504を介して、スクリプトを構文解析部505に供給する。
【0322】
ステップS506において、デコーダ503は、インターフェース504を介して、スクリプトの実行に必要なデータをスクリプトインタプリタ506に供給する。
【0323】
ステップS507において、構文解析部505は、デコーダ503から供給されたスクリプトの所定の文字列を、スクリプトインタプリタ506が解釈可能な中間コードに置き換える。構文解析部505は、所定の文字列を中間コードに置き換えたスクリプトをスクリプトインタプリタ506に供給する。
【0324】
ステップS508において、スクリプトインタプリタ506は、スクリプトを認証暗号化部507に供給し、認証暗号化部507に、スクリプトの正当性を確認させる。認証暗号化部507は、例えば、スクリプトインタプリタ506から供給されたスクリプトに含まれている認証用データを抽出すると共に、スクリプトに、ハッシュ関数を適用して、ハッシュ値を生成する。認証暗号化部507は、抽出した認証用データと、生成したハッシュ値とが同一であるか否かを基に、スクリプトの正当性を判定する。
【0325】
認証暗号化部507は、スクリプトが正当であるか否かを示すデータを、スクリプトインタプリタ506に供給する。
【0326】
ステップS509において、スクリプトインタプリタ506は、認証暗号化部507から供給されたデータを基に、スクリプトが正当であるか否かを判定し、スクリプトが正当でないと判定された場合、スクリプトが改変されているので、スクリプトを実行しないで、処理は終了する。
【0327】
ステップS509において、スクリプトが正当であると判定された場合、ステップS510に進み、スクリプトインタプリタ506は、スクリプトを実行する。
【0328】
ステップS511において、スクリプトインタプリタ506は、スクリプトの実行により、入出力、情報の記憶若しくは読み出し、または外部のアプリケーションプログラムのアクセスが要求されたか否かを判定し、スクリプトの実行により、入出力、情報の記憶若しくは読み出し、または外部のアプリケーションプログラムのアクセスが要求されたと判定された場合、ステップS512に進み、スクリプトインタプリタ506は、リソースアクセスマネージャ508に、入出力、情報の記憶若しくは読み出し、または外部のアプリケーションプログラムのアクセスを実行させる。
【0329】
ステップS513において、リソースアクセスマネージャ508は、入出力が要求されたか否かを判定し、入出力が要求されたと判定された場合、ステップS514に進み、I/Oモジュール510に、入出力を実行させるか否かを使用者に入力させるダイアログボックスを、表示部21に表示させ、使用者の操作を基に、入出力を実行するか否かを判定する。
【0330】
ステップS514において、入出力を実行すると判定された場合、ステップS515に進み、リソースアクセスマネージャ508は、I/Oモジュール510に、画像を表示させるなどの入出力の処理を実行させ、手続きは、ステップS516に進む。
【0331】
ステップS513において、入出力が要求されていないと判定された場合、入出力の処理は必要ないので、ステップS514およびステップS515の処理はスキップされ、手続きは、ステップS516に進む。
【0332】
ステップS514において、入出力を実行しないと判定された場合、入出力の処理を実行してはならないので、ステップS515の処理はスキップされ、手続きは、ステップS516に進む。
【0333】
ステップS516において、リソースアクセスマネージャ508は、情報の記憶または読み出しが要求されたか否かを判定し、情報の記憶または読み出しが要求されたと判定された場合、ステップS517に進み、I/Oモジュール510に、情報の記憶または読み出しを実行させるか否かを使用者に入力させるダイアログボックスを、表示部21に表示させ、使用者の操作を基に、情報の記憶または読み出しを実行するか否かを判定する。
【0334】
ステップS517において、情報の記憶または読み出しを実行すると判定された場合、ステップS518に進み、リソースアクセスマネージャ508は、ストレージモジュール511に、Flash ROM33にデータを記憶させるなどの情報の記憶または読み出しの処理を実行させ、手続きは、ステップS519に進む。
【0335】
ステップS516において、情報の記憶または読み出しが要求されていないと判定された場合、情報の記憶または読み出しの処理は必要ないので、ステップS517およびステップS518の処理はスキップされ、手続きは、ステップS519に進む。
【0336】
ステップS517において、情報の記憶または読み出しを実行しないと判定された場合、情報の記憶または読み出しの処理を実行してはならないので、ステップS518の処理はスキップされ、手続きは、ステップS519に進む。
【0337】
ステップS519において、リソースアクセスマネージャ508は、スケジュール帳プログラム512、アドレス帳プログラム513、メモ帳プログラム514、TODO帳プログラム515、またはアプリケーションプログラム516などの外部のアプリケーションプログラムへのアクセスが要求されたか否かを判定し、外部のアプリケーションプログラムへのアクセスが要求されたと判定された場合、ステップS520に進み、I/Oモジュール510に、外部のアプリケーションプログラムへのアクセスを実行させるか否かを使用者に入力させるダイアログボックスを表示部21に表示させ、使用者の操作を基に、外部のアプリケーションプログラムへのアクセスを実行するか否かを判定する。
【0338】
ステップS520において、外部のアプリケーションプログラムへのアクセスを実行すると判定された場合、ステップS521に進み、リソースアクセスマネージャ508は、外部のアプリケーションプログラムにアクセスし、手続きは、ステップS522に進む。
【0339】
ステップS519において、外部のアプリケーションプログラムへのアクセスが要求されていないと判定された場合、外部のアプリケーションプログラムへのアクセスの処理は必要ないので、ステップS520およびステップS521の処理はスキップされ、手続きは、ステップS522に進む。
【0340】
ステップS520において、外部のアプリケーションプログラムへのアクセスを実行しないと判定された場合、外部のアプリケーションプログラムへのアクセスの処理を実行してはならないので、ステップS521の処理はスキップされ、手続きは、ステップS522に進む。
【0341】
ステップS522において、リソースアクセスマネージャ508は、スクリプトインタプリタ506に、入出力、情報の記憶若しくは読み出し、または外部のアプリケーションプログラムのアクセスの結果を供給する。
【0342】
ステップS523において、スクリプトインタプリタ506は、使用者の操作またはスクリプトの記述などを基に、スクリプトの実行結果を電子メールで送信するか否かを判定し、スクリプトの実行結果を電子メールで送信すると判定された場合、ステップS524に進み、スクリプトインタプリタ506は、データ構成部517に、電子メールに添付するデータであって、スクリプトの実行状態を示すデータなどの、所定の形式に成形する必要のあるデータを供給する。
【0343】
ステップS525において、データ構成部517は、スクリプトインタプリタ506から供給されたデータを所定の形式に成形する。データ構成部517は、インターフェース504を介して、成形したデータをエンコーダ518に供給する。
【0344】
ステップS526において、スクリプトインタプリタ506は、インターフェース504を介して、エンコーダ518に、電子メールに添付するスクリプトまたはデータを供給する。スクリプトインタプリタ506がエンコーダ518に直接供給するデータは、データ構成部517において、成形の必要のないデータである。
【0345】
ステップS527において、エンコーダ518は、データ構成部517から供給されたデータ、またはスクリプトインタプリタ506から供給されたデータを、例えば、Base64などの方式により符号化する。エンコーダ518は、符号化したデータおよびスクリプトをメール生成部519に供給する。
【0346】
ステップS528において、メール生成部519は、エンコーダ518から供給されたスクリプトまたはデータを基に、スクリプトまたはデータを添付したメール151を生成する。メール生成部519は、メール送受信プログラムプラグインインターフェース501を介して、生成したメール151をメール送受信プログラム104に供給する。
【0347】
ステップS529において、メール送受信プログラム104は、メール生成部519から供給されたメール151を送信し、処理は終了する。
【0348】
ステップS511において、入出力、情報の記憶若しくは読み出し、または外部のアプリケーションプログラムのアクセスが要求されていないと判定された場合、入出力、情報の記憶若しくは読み出し、または外部のアプリケーションプログラムのアクセスの処理は不要なので、ステップS512乃至ステップS522の処理はスキップされ、手続きは、ステップS523に進み、スクリプトの実行結果を電子メールで送信するか否かの判定を実行する。
【0349】
ステップS523において、スクリプトの実行結果を電子メールで送信しないと判定された場合、電子メールを送信する処理は不要なので、ステップS524乃至ステップS529の処理はスキップされ、処理は終了する。
【0350】
このように、図30に構成を示すインタプリタ106は、スクリプトが添付されたメール151を表示しようとするとき、メール151に添付されたスクリプトを抽出して、実行することができる。
【0351】
図30に構成を示すインタプリタ106は、メール151に添付されたスクリプトの実行により、入出力、情報の記憶若しくは読み出し、または外部のアプリケーションプログラムのアクセスが要求されたとき、要求された、入出力、情報の記憶若しくは読み出し、または外部のアプリケーションプログラムのアクセスを実行することができる。
【0352】
また、図30に構成を示すインタプリタ106は、スクリプトの実行結果の電子メールでの送信が要求されたとき、スクリプトの実行結果に対応して、スクリプトまたはデータを添付したメール151を送信することができる。
【0353】
次に、図38乃至図40のフローチャートを参照して、図30に構成を示すインタプリタ106による、スクリプトデータベース521に記憶されているスクリプトの実行の処理を説明する。
【0354】
ステップS601において、スクリプトランチャ520は、タッチパッドからの入力を基に、スクリプトデータベース521に記憶されている、例えば、オセロゲームスクリプト531、回覧メールスクリプト532、自動削除メールスクリプト533、アニメーションメールスクリプト534、またはアップデートメールスクリプト535などのスクリプトから1つのスクリプトを選択して、選択したスクリプトをインターフェース504を介して、構文解析部505に供給する。
【0355】
ステップS602乃至ステップS624の処理のそれぞれは、ステップS507乃至ステップS529の処理のそれぞれと同一なので、その説明は省略する。
【0356】
このように、図30に構成を示すインタプリタ106は、選択された、記憶されているスクリプトを実行することができる。
【0357】
図30に構成を示すインタプリタ106は、選択された、記憶されているスクリプトの実行により、入出力、情報の記憶若しくは読み出し、または外部のアプリケーションプログラムのアクセスが要求されたとき、要求された、入出力、情報の記憶若しくは読み出し、または外部のアプリケーションプログラムのアクセスを実行することができる。
【0358】
また、図30に構成を示すインタプリタ106は、選択された、記憶されているスクリプトの実行により、スクリプトまたはデータを添付したメール151を送信することができる。
【0359】
次に、自動的に削除されるメール151の送信の処理、およびメール151の自動削除の処理について説明する。
【0360】
図32に例を示す自動削除メールと名前が付されたアイコンがタップされたとき、PDA1のスクリプトランチャ520は、スクリプトデータベース521から自動削除メールスクリプト533を読み出す。PDA1のスクリプトランチャ520は、インターフェース504を介して、読み出した自動削除メールスクリプト533を構文解析部505に供給する。
【0361】
PDA1の構文解析部505は、自動削除メールスクリプト533の所定の文字列を中間コードに変換して、所定の文字列が中間コードとされたスクリプトをスクリプトインタプリタ506に供給する。
【0362】
PDA1のスクリプトインタプリタ506は、構文解析部505から供給されたスクリプトの実行の処理により、例えば、図41に示す、PDA1の使用者により入力された電子メールの本文を取得する。スクリプトインタプリタ506は、インターフェース504およびエンコーダ518を介して、取得した本文をメール生成部519に供給する。
【0363】
PDA1のスクリプトインタプリタ506は、他のPDA1にメール151を削除させるスクリプトを生成する。
【0364】
例えば、スクリプトインタプリタ506は、自動削除メールスクリプト533と同一のスクリプトを生成する。スクリプトインタプリタ506は、自動削除メールスクリプト533に含まれる1連の命令群の一部の命令群からなるスクリプトを生成する。
【0365】
または、スクリプトインタプリタ506は、表示部21からの入力に基づいて、自動削除メールスクリプト533に含まれる命令を変更することによりスクリプトを生成する。
【0366】
スクリプトインタプリタ506は、このように生成したスクリプトを、インターフェース504を介して、エンコーダ518に供給する。エンコーダ518は、スクリプトをそのままメール生成部519に供給する。
【0367】
なお、スクリプトインタプリタ506は、他のPDA1に送信する電子メールに添付するスクリプトをスクリプトデータベース521から取得し、取得したスクリプトをエンコーダ518に供給するようにしてもよい。
【0368】
また、PDA1のメール生成部519は、スクリプトインタプリタ506により指定された、他のPDA1に送信する電子メールに添付するスクリプトをスクリプトデータベース521から取得し、取得したスクリプトをメール151に格納するようにしてもよい。
【0369】
PDA1のメール生成部519は、エンコーダ518から供給されたスクリプトを基に、本文およびスクリプトを格納したメール151を生成する。PDA1のメール生成部519は、生成したメール151をメール送受信プログラム104に供給する。
【0370】
PDA1のメール送受信プログラム104は、インターネット4を介して、スクリプトおよびデータを格納したメール151を他のPDA1に送信する。
【0371】
次に、メール151を受信したPDA1による、メール151を自動的に削除する処理を図41乃至図43を参照して説明する。
【0372】
自動的にメール151を削除させるスクリプトを格納したメール151を受信したPDA1のメール送受信プログラム104は、図41に示すように、メール151を開き、本文を表示部21に表示する。
【0373】
メール151が開かれたとき、PDA1のメール送受信プログラム104は、メール送受信プログラムプラグインインターフェース501を介して、メール151をメール構文解析部502に供給する。
【0374】
PDA1のメール構文解析部502は、メール151から、スクリプトを抽出し、抽出したスクリプトをデコーダ503に供給する。デコーダ503は、インターフェース504を介して、スクリプトをそのまま構文解析部505に供給する。
【0375】
PDA1の構文解析部505は、デコーダ503から供給されたスクリプトの所定の文字列を中間コードに変換して、所定の文字列が中間コードとされたスクリプトをスクリプトインタプリタ506に供給する。
【0376】
PDA1のスクリプトインタプリタ506は、構文解析部505から供給されたスクリプトを実行し、リソースアクセスマネージャ508にダイアログボックスの表示を要求する。リソースアクセスマネージャ508は、スクリプトインタプリタ506からの要求に対応して、プラットフォームリソースアクセスインターフェース509を介して、I/Oモジュール510に、ダイアログボックスの表示を要求する。
【0377】
PDA1のI/Oモジュール510は、図42に示すように、表示部21に、メール151を削除する旨のダイアログボックスを表示させる。削除する旨のダイアログボックスには、”OK”と名前が付されたボタンのみが設けられている。
【0378】
PDA1の表示部21に、ダイアログボックスが表示されているとき、PDA1の使用者により、表示部21のタッチパッドがタップされた場合、I/Oモジュール510は、表示部21のタッチパッドからタップされた座標を示すデータを取得する。PDA1のI/Oモジュール510は、タップされた座標を示すデータを、プラットフォームリソースアクセスインターフェース509を介して、リソースアクセスマネージャ508に供給する。リソースアクセスマネージャ508は、I/Oモジュール510から供給された、タップされた座標を示すデータを、スクリプトインタプリタ506に供給する。
【0379】
PDA1のスクリプトインタプリタ506は、リソースアクセスマネージャ508から、タップされた座標を示すデータが供給されたとき、供給されたデータを基に、ダイアログボックスの”OK”と名前が付されているボタンがタップされたか否かを判定し、ダイアログボックスの”OK”と名前が付されているボタンがタップされたと判定された場合、開いているメール151を特定するメールIDと共に、メールを削除する旨のコマンドをメール送受信プログラム104に供給する。
【0380】
ダイアログボックスの”OK”と名前が付されているボタンがタップされていないと判定された場合、スクリプトインタプリタ506は、判定の処理を繰り返す。
【0381】
メール送受信プログラム104は、スクリプトインタプリタ506から供給されたメールIDを基に、開いているメール151を削除する。メール送受信プログラム104は、メール151を削除した旨のデータをスクリプトインタプリタ506に供給する。
【0382】
メール151を削除する旨のダイアログボックスが表示部21に表示され、ダイアログボックスには”OK”と名前が付されているボタンのみが設けられているので、メールの送り手の意志が、メールの読み手に確実に伝達されると共に、確実に、メール151は削除される。
【0383】
スクリプトインタプリタ506は、リソースアクセスマネージャ508にダイアログボックスの表示を要求する。リソースアクセスマネージャ508は、スクリプトインタプリタ506からの要求に対応して、プラットフォームリソースアクセスインターフェース509を介して、I/Oモジュール510に、ダイアログボックスの表示を要求する。
【0384】
PDA1のI/Oモジュール510は、図43に示すように、表示部21に、メール151を削除した旨のダイアログボックスを表示させる。
【0385】
PDA1の表示部21に、ダイアログボックスが表示されているとき、PDA1の使用者により、表示部21のタッチパッドがタップされた場合、I/Oモジュール510は、表示部21のタッチパッドからタップされた座標を示すデータを取得する。PDA1のI/Oモジュール510は、タップされた座標を示すデータを、プラットフォームリソースアクセスインターフェース509を介して、リソースアクセスマネージャ508に供給する。リソースアクセスマネージャ508は、I/Oモジュール510から供給された、タップされた座標を示すデータを、スクリプトインタプリタ506に供給する。
【0386】
PDA1のスクリプトインタプリタ506は、リソースアクセスマネージャ508から、タップされた座標を示すデータが供給されたとき、供給されたデータを基に、ダイアログボックスの”OK”と名前が付されているボタンがタップされたか否かを判定し、ダイアログボックスの”OK”と名前が付されているボタンがタップされたと判定された場合、リソースアクセスマネージャ508にダイアログボックスの消去を要求する。
【0387】
このように、メール151を削除させるスクリプトを格納したメール151を受信したPDA1は、メール151を自動的に削除する。
【0388】
図44のフローチャートを参照して、自動削除メールスクリプト533を実行するPDA1による、自動的に削除される電子メールの送信の処理を説明する。
【0389】
ステップS701において、スクリプトインタプリタ506は、リソースアクセスマネージャ508またはI/Oモジュール510を介して、本文を取得する。スクリプトインタプリタ506は、例えば、表示部21のタッチパッドから入力された電子メールの本文を取得するか、またはFlash ROM33などに予め記憶している本文を取得する。
【0390】
ステップS702において、スクリプトインタプリタ506は、メール151(スクリプトを格納しているメール151自身)を削除するスクリプトを生成する。例えば、スクリプトインタプリタ506は、実行している自動削除メールスクリプト533と同一のスクリプトを生成する。または、スクリプトインタプリタ506は、自動削除メールスクリプト533に含まれる1連の命令群の一部の命令群からなるスクリプトを生成する。
【0391】
スクリプトインタプリタ506は、生成したスクリプトをインターフェース504およびエンコーダ518を介して、メール生成部519に供給する。
【0392】
ステップS703において、メール生成部519は、本文と共に、生成されたスクリプトを格納したメール151を生成する。メール生成部519は、メール送受信プログラムプラグインインタフェース501を介して、生成したメール151をメール送受信プログラム104に供給する。
【0393】
ステップS704において、メール送受信プログラム104は、スクリプトが格納されているメール151を相手に送信して、処理は終了する。
【0394】
次に、図45のフローチャートを参照して、メール151を削除させるスクリプトを格納したメール151を受信したPDA1による、メール151の削除の処理を説明する。
【0395】
ステップS721において、メール151を受信したメール送受信プログラム104は、本文を表示部21に表示する。本文を表示したとき、メール送受信プログラム104は、メール送受信プログラムプラグインインタフェース501を介して、メール151をメール構文解析部502に供給する。
【0396】
ステップS722において、メール構文解析部502は、メール送受信プログラム104から供給されたメール151から、スクリプトを抽出する。メール構文解析部502は、デコーダ503およびインターフェース504を介して、抽出したスクリプトを構文解析部505に供給する。構文解析部505は、スクリプトの所定の文字列を中間コードに変換し、所定の文字列が中間コードとされたスクリプトをスクリプトインタプリタ506に供給する。
【0397】
ステップS723において、スクリプトインタプリタ506は、所定の文字列が中間コードに変換されたスクリプトを実行する。
【0398】
以下のステップS724およびステップS730の処理は、スクリプトの実行に基づく処理である。
【0399】
ステップS724において、スクリプトインタプリタ506は、メール送受信プログラム104が電子メールの本文を表示してから、所定の時間が経過したか否かを判定し、所定の時間が経過していないと判定された場合、ステップS724に戻り、判定の処理を繰り返す。
【0400】
ステップS724において、所定の時間が経過したと判定された場合、ステップS725に進み、スクリプトインタプリタ506は、表示部21に、電子メールを削除する旨のダイアログボックスを表示させる。
【0401】
ステップS726において、スクリプトインタプリタ506は、表示部21に表示されているダイアログボックスの”OK”と名前が付されたボタンがタップされたか否かを判定し、ダイアログボックスの”OK”と名前が付されたボタンがタップされていないと判定された場合、ステップS726に戻り、判定の処理を繰り返す。
【0402】
ステップS726において、ダイアログボックスの”OK”と名前が付されたボタンがタップされたと判定された場合、ステップS727に進み、スクリプトインタプリタ506は、メールのIDを指定して、メール送受信プログラム104にメール151を消去させる。
【0403】
ステップS728において、スクリプトインタプリタ506は、表示部21に、電子メールを削除した旨のダイアログボックスを表示させる。
【0404】
ステップS729において、スクリプトインタプリタ506は、表示部21に表示されているダイアログボックスの”OK”と名前が付されたボタンがタップされたか否かを判定し、ダイアログボックスの”OK”と名前が付されたボタンがタップされていないと判定された場合、ステップS729に戻り、判定の処理を繰り返す。
【0405】
ステップS729において、ダイアログボックスの”OK”と名前が付されたボタンがタップされたと判定された場合、ステップS730に進み、スクリプトインタプリタ506は、ダイアログボックスを消去させ、処理は終了する。
【0406】
このように、メール151を削除させるスクリプトを格納したメール151を受信したPDA1は、メール151を自動的に削除することができる。
【0407】
図46のフローチャートを参照して、メール151の削除の他の処理を説明する。
【0408】
ステップS741乃至ステップS743の処理のそれぞれは、ステップS721乃至ステップS723の処理のそれぞれと同様なので、その説明は省略する。
【0409】
ステップS744において、スクリプトインタプリタ506は、メール送受信プログラム104が電子メールの本文を閉じようとしているか否かを判定し、メール送受信プログラム104が電子メールの本文を閉じようとしていないと判定された場合、ステップS744に戻り、判定の処理を繰り返す。
【0410】
ステップS744において、メール送受信プログラム104が電子メールの本文を閉じようとしていると判定された場合、ステップS745に進み、スクリプトインタプリタ506は、表示部21に、電子メールを削除する旨のダイアログボックスを表示させる。
【0411】
ステップS746乃至ステップS750の処理のそれぞれは、ステップS726乃至ステップS730の処理のそれぞれと同様なので、その説明は省略する。
【0412】
このように、図46のフローチャートに示す処理により、メール151を削除させるスクリプトを格納したメール151を受信したPDA1は、メール151を自動的に削除することができる。
【0413】
メール151が開かれたとき、削除の処理が実行されるので、受け手のみがメールの内容を知ると共に、誤操作などにより、メールの内容を他の人に知られてしまう可能性を完全に無くすことができる。
【0414】
次に、受信側の所定のプログラム(以下、ターゲットプログラムと称する)をアップデートさせるメール151の送信の処理、およびメール151を受信し、ターゲットプログラムをアップデートする処理について説明する。
【0415】
まず、ターゲットプログラムをアップデートさせるメール151の送信の処理について説明する。
【0416】
図32に例を示すアップデートメールと名前が付されたアイコンがタップされたとき、PDA1のスクリプトランチャ520は、スクリプトデータベース521からアップデートメールスクリプト535を読み出す。PDA1のスクリプトランチャ520は、インターフェース504を介して、読み出したアップデートメールスクリプト535を構文解析部505に供給する。
【0417】
PDA1の構文解析部505は、アップデートメールスクリプト535の所定の文字列を中間コードに変換して、所定の文字列が中間コードとされたスクリプトをスクリプトインタプリタ506に供給する。
【0418】
PDA1のスクリプトインタプリタ506は、構文解析部505から供給された、所定の文字列が中間コードとされたスクリプトの実行の処理により、ターゲットプログラムをアップデートさせるためのデータを取得する。アップデートされるターゲットプログラムは、メール151の受信側の、例えば、メール送受信プログラム104、スクリプトインタプリタ506、スケジュール帳プログラム512、アドレス帳プログラム513、メモ帳プログラム514、TODO帳プログラム515、またはアプリケーションプログラム516などとすることができる。
【0419】
スクリプトインタプリタ506は、取得した、ターゲットプログラムをアップデートさせるためのデータを、インターフェース504を介して、エンコーダ518に供給する。
【0420】
エンコーダ518は、ターゲットプログラムをアップデートさせるためのデータを、Base64などの方式により符号化し、符号化したデータをメール生成部519に供給する。
【0421】
PDA1のスクリプトインタプリタ506は、他のPDA1にターゲットプログラムをアップデートさせるスクリプトを生成する。
【0422】
例えば、スクリプトインタプリタ506は、アップデートメールスクリプト535と同一のスクリプトを生成する。スクリプトインタプリタ506は、アップデートメールスクリプト535に含まれる1連の命令群の一部の命令群からなるスクリプトを生成する。
【0423】
または、スクリプトインタプリタ506は、表示部21からの入力に基づいて、アップデートメールスクリプト535に含まれる命令を変更することによりスクリプトを生成する。
【0424】
スクリプトインタプリタ506は、このように生成したスクリプトを、インターフェース504を介して、エンコーダ518に供給する。
【0425】
なお、スクリプトインタプリタ506は、他のPDA1に送信する電子メールに添付するスクリプトをスクリプトデータベース521から取得し、取得したスクリプトをエンコーダ518に供給するようにしてもよい。
【0426】
また、PDA1のメール生成部519は、スクリプトインタプリタ506により指定された、他のPDA1に送信する電子メールに添付するスクリプトをスクリプトデータベース521から取得し、取得したスクリプトをメール151に格納するようにしてもよい。
【0427】
エンコーダ518は、スクリプトインタプリタ506から供給されたスクリプトをそのままメール生成部519に供給する。
【0428】
PDA1のメール生成部519は、エンコーダ518から供給されたスクリプトおよびデータを基に、スクリプトおよびデータを格納したメール151を生成する。PDA1のメール生成部519は、生成したメール151をメール送受信プログラム104に供給する。
【0429】
PDA1のメール送受信プログラム104は、インターネット4を介して、スクリプトおよびデータを格納したメール151を他のPDA1に送信する。
【0430】
次に、メール151を受信したPDA1による、ターゲットプログラムをアップデートする処理を図47乃至図50を参照して説明する。
【0431】
ターゲットプログラムをアップデートさせるスクリプトを格納したメール151が受信されたとき、PDA1のメール送受信プログラム104は、図47に例を示すダイアログボックスを表示部21に表示する。
【0432】
ダイアログボックスの”YES”と名前が付されたボタンがタップされたとき、メール送受信プログラム104は、メール151を開き、例えば、図48に示す本文を表示部21に表示させる。
【0433】
受信されたメール151が開かれたとき、PDA1のメール送受信プログラム104は、メール送受信プログラムプラグインインターフェース501を介して、メール151をメール構文解析部502に供給する。
【0434】
PDA1のメール構文解析部502は、メール151から、スクリプトおよびデータを抽出し、抽出したスクリプトおよびデータをデコーダ503に供給する。
【0435】
デコーダ503は、Base64などの方式により符号化されているデータを復号し、復号したデータをスクリプトインタプリタ506に供給する。デコーダ503は、インターフェース504を介して、スクリプトをそのまま構文解析部505に供給する。
【0436】
PDA1の構文解析部505は、デコーダ503から供給されたスクリプトの所定の文字列を中間コードに変換して、所定の文字列が中間コードとされたスクリプトをスクリプトインタプリタ506に供給する。
【0437】
PDA1のスクリプトインタプリタ506は、デコーダ503から供給された、復号されたデータを基に、構文解析部505から供給された、所定の文字列が中間コードとされたスクリプトを実行する。
【0438】
スクリプトインタプリタ506は、リソースアクセスマネージャ508にダイアログボックスの表示を要求する。リソースアクセスマネージャ508は、スクリプトインタプリタ506からの要求に対応して、プラットフォームリソースアクセスインターフェース509を介して、I/Oモジュール510に、ダイアログボックスの表示を要求する。
【0439】
PDA1のI/Oモジュール510は、図49に示すように、表示部21に、ターゲットプログラムをアップデートする旨のダイアログボックスを表示させる。
【0440】
PDA1の表示部21に、ダイアログボックスが表示されているとき、PDA1の使用者により、表示部21のタッチパッドがタップされた場合、I/Oモジュール510は、表示部21のタッチパッドからタップされた座標を示すデータを取得する。PDA1のI/Oモジュール510は、タップされた座標を示すデータを、プラットフォームリソースアクセスインターフェース509を介して、リソースアクセスマネージャ508に供給する。リソースアクセスマネージャ508は、I/Oモジュール510から供給された、タップされた座標を示すデータを、スクリプトインタプリタ506に供給する。
【0441】
PDA1のスクリプトインタプリタ506は、リソースアクセスマネージャ508から、タップされた座標を示すデータが供給されたとき、供給されたデータを基に、ダイアログボックスの”YES”と名前が付されているボタンがタップされたか否かを判定し、ダイアログボックスの”YES”と名前が付されているボタンがタップされたと判定された場合、抽出されたデータを基に、ターゲットプログラムをアップデートする。
【0442】
例えば、PDA1のスクリプトインタプリタ506は、メール151から抽出されたデータを基に、メール送受信プログラム104をアップデートする。
【0443】
ダイアログボックスの”NO”と名前が付されているボタンがタップされたと判定された場合、スクリプトインタプリタ506は、ターゲットプログラムをアップデートしない。
【0444】
スクリプトインタプリタ506は、ターゲットプログラムのアップデートの処理が終了したとき、リソースアクセスマネージャ508にダイアログボックスの表示を要求する。リソースアクセスマネージャ508は、スクリプトインタプリタ506からの要求に対応して、プラットフォームリソースアクセスインターフェース509を介して、I/Oモジュール510に、ダイアログボックスの表示を要求する。
【0445】
PDA1のI/Oモジュール510は、図50に示すように、表示部21に、ターゲットプログラムをアップデートした旨のダイアログボックスを表示させる。
【0446】
PDA1の表示部21に、ダイアログボックスが表示されているとき、PDA1の使用者により、表示部21のタッチパッドがタップされた場合、I/Oモジュール510は、表示部21のタッチパッドからタップされた座標を示すデータを取得する。PDA1のI/Oモジュール510は、タップされた座標を示すデータを、プラットフォームリソースアクセスインターフェース509を介して、リソースアクセスマネージャ508に供給する。リソースアクセスマネージャ508は、I/Oモジュール510から供給された、タップされた座標を示すデータを、スクリプトインタプリタ506に供給する。
【0447】
PDA1のスクリプトインタプリタ506は、リソースアクセスマネージャ508から、タップされた座標を示すデータが供給されたとき、供給されたデータを基に、ダイアログボックスの”OK”と名前が付されているボタンがタップされたか否かを判定し、ダイアログボックスの”OK”と名前が付されているボタンがタップされたと判定された場合、リソースアクセスマネージャ508にダイアログボックスの消去を要求する。
【0448】
このように、ターゲットプログラムをアップデートするスクリプトおよびデータを格納したメール151を受信したPDA1は、ターゲットプログラムをアップデートすることができる。
【0449】
図51のフローチャートを参照して、アップデートメールスクリプト535を実行するPDA1による、ターゲットプログラムをアップデートさせる電子メールの送信の処理を説明する。
【0450】
ステップS801において、スクリプトインタプリタ506は、リソースアクセスマネージャ508またはI/Oモジュール510を介して、本文を取得する。スクリプトインタプリタ506は、例えば、表示部21のタッチパッドから入力された電子メールの本文を取得するか、またはFlash ROM33などに予め記憶している本文を取得する。
【0451】
ステップS802において、スクリプトインタプリタ506は、ターゲットプログラムのアップデートのためのデータを取得する。スクリプトインタプリタ506は、取得したデータを、インターフェース504およびエンコーダ518を介して、メール生成部519に供給する。
【0452】
ステップS803において、スクリプトインタプリタ506は、ターゲットプログラムをアップデートするスクリプトを生成する。例えば、スクリプトインタプリタ506は、実行しているアップデートメールスクリプト535と同一のスクリプトを生成する。スクリプトインタプリタ506は、アップデートメールスクリプト535に含まれる1連の命令群の一部の命令群からなるスクリプトを生成する。
【0453】
スクリプトインタプリタ506は、生成したスクリプトをインターフェース504およびエンコーダ518を介して、メール生成部519に供給する。
【0454】
ステップS804において、メール生成部519は、取得されたデータ、および生成されたスクリプトを格納したメール151を生成する。メール生成部519は、メール送受信プログラムプラグインインタフェース501を介して、生成したメール151をメール送受信プログラム104に供給する。
【0455】
ステップS805において、メール送受信プログラム104は、スクリプトおよびデータが格納されているメール151を相手に送信して、処理は終了する。
【0456】
このように、PDA1は、受信した相手にターゲットプログラムをアップデートさせるメール151を送信することができる。
【0457】
次に、図52のフローチャートを参照して、メール151を受信したPDA1による、ターゲットプログラムのアップデートの処理を説明する。
【0458】
ステップS821において、メール151を受信したメール送受信プログラム104は、本文を表示部21に表示する。本文を表示したとき、メール送受信プログラム104は、メール送受信プログラムプラグインインタフェース501を介して、メール151をメール構文解析部502に供給する。
【0459】
ステップS822において、メール構文解析部502は、メール送受信プログラム104から供給されたメール151から、データおよびスクリプトを抽出する。
【0460】
メール構文解析部502は、デコーダ503およびインターフェース504を介して、抽出したスクリプトを構文解析部505に供給する。メール構文解析部502は、抽出したデータをデコーダ503に供給する。
【0461】
デコーダ503は、抽出された、Base64などの方式により符号化されているデータを復号し、復号したデータをスクリプトインタプリタ506に供給する。
【0462】
構文解析部505は、スクリプトの所定の文字列を中間コードに変換し、所定の文字列が中間コードとされたスクリプトをスクリプトインタプリタ506に供給する。
【0463】
ステップS823において、スクリプトインタプリタ506は、デコーダ503から供給されたデータを基に、所定の文字列が中間コードに変換されたスクリプトを実行する。
【0464】
以下のステップS825およびステップS829の処理は、スクリプトの実行に基づく処理である。
【0465】
ステップS824において、スクリプトインタプリタ506は、ターゲットプログラムをアップデートする旨のダイアログボックスを表示部21に表示させる。
【0466】
ステップS825において、スクリプトインタプリタ506は、表示部21に表示されているダイアログボックスの”YES”と名前が付されたボタンがタップされたか否かを判定し、ダイアログボックスの”YES”と名前が付されたボタンがタップされたと判定された場合、ステップS826に進み、スクリプトインタプリタ506は、データを基に、ターゲットプログラムをアップデートする。
【0467】
ステップS827において、スクリプトインタプリタ506は、表示部21に、ターゲットプログラムをアップデートした旨のダイアログボックスを表示させる。
【0468】
ステップS828において、スクリプトインタプリタ506は、表示部21に表示されているダイアログボックスの”OK”と名前が付されたボタンがタップされたか否かを判定し、ダイアログボックスの”OK”と名前が付されたボタンがタップされていないと判定された場合、ステップS828に戻り、判定の処理を繰り返す。
【0469】
ステップS828において、ダイアログボックスの”OK”と名前が付されたボタンがタップされたと判定された場合、ステップS829に進み、スクリプトインタプリタ506は、ダイアログボックスを消去させ、処理は終了する。
【0470】
ステップS825において、ダイアログボックスの”NO”と名前が付されたボタンがタップされたと判定された場合、ステップS829に進み、スクリプトインタプリタ506は、ターゲットプログラムをアップデートしないで、ダイアログボックスを消去させ、処理は終了する。
【0471】
このように、PDA1は、受信したメール151を基に、ターゲットプログラムをアップデートすることができる。
【0472】
PDA1の使用者は、ターゲットプログラムをアップデートするファイルをダウンロードするなどの操作を必要とせず、受信したメール151を開くだけで、迅速に、ターゲットプログラムをアップデートすることができる。本発明においては、受信したメール151を開くだけで、ターゲットプログラムをアップデートすることができるので、誤ったファイルを取得したり、アップデートを忘れたりすることが防止される。
【0473】
次に、コンテンツを相手に再生させるメール151を送信し、メール151を受信して、コンテンツを再生する処理について説明する。メール151を受信したPDA1が再生するコンテンツには、音楽を含む音声、静止画像、またはアニメーションを含む動画像などが含まれる。
【0474】
以下において、アニメーションの表示および音楽の再生を、コンテンツの再生の一例として説明する。
【0475】
まず、アニメーションを表示させるメール151の送信の処理について説明する。
【0476】
図32に例を示すアニメーションメールと名前が付されたアイコンがタップされたとき、PDA1のスクリプトランチャ520は、スクリプトデータベース521からアニメーションメールスクリプト534を読み出す。PDA1のスクリプトランチャ520は、インターフェース504を介して、読み出したアニメーションメールスクリプト534を構文解析部505に供給する。
【0477】
PDA1の構文解析部505は、アニメーションメールスクリプト534の所定の文字列を中間コードに変換して、所定の文字列が中間コードとされたスクリプトをスクリプトインタプリタ506に供給する。
【0478】
PDA1のスクリプトインタプリタ506は、構文解析部505から供給された、所定の文字列が中間コードとされたスクリプトの実行の処理により、本文およびアニメーションを表示させるためのデータを取得する。スクリプトインタプリタ506は、取得した、本文およびアニメーションを表示させるためのデータを、インターフェース504を介して、エンコーダ518に供給する。
【0479】
エンコーダ518は、アニメーションを表示させるためのデータを、Base64などの方式により符号化し、符号化したデータをメール生成部519に供給する。
エンコーダ518は、本文をそのままメール生成部519に供給する。
【0480】
PDA1のスクリプトインタプリタ506は、他のPDA1にアニメーションを表示させるスクリプトを生成する。
【0481】
例えば、スクリプトインタプリタ506は、アニメーションメールスクリプト534と同一のスクリプトを生成する。スクリプトインタプリタ506は、アニメーションメールスクリプト534に含まれる1連の命令群の一部の命令群からなるスクリプトを生成する。
【0482】
または、スクリプトインタプリタ506は、表示部21からの入力に基づいて、アニメーションメールスクリプト534に含まれる命令を変更することによりスクリプトを生成する。
【0483】
スクリプトインタプリタ506は、このように生成したスクリプトを、インターフェース504を介して、エンコーダ518に供給する。
【0484】
なお、スクリプトインタプリタ506は、他のPDA1に送信する電子メールに添付するスクリプトをスクリプトデータベース521から取得し、取得したスクリプトをエンコーダ518に供給するようにしてもよい。
【0485】
また、PDA1のメール生成部519は、スクリプトインタプリタ506により指定された、他のPDA1に送信する電子メールに添付するスクリプトをスクリプトデータベース521から取得し、取得したスクリプトをメール151に格納するようにしてもよい。
【0486】
エンコーダ518は、スクリプトインタプリタ506から供給されたスクリプトをそのままメール生成部519に供給する。
【0487】
PDA1のメール生成部519は、エンコーダ518から供給されたスクリプトおよびデータを基に、スクリプトおよびデータを格納したメール151を生成する。PDA1のメール生成部519は、生成したメール151をメール送受信プログラム104に供給する。
【0488】
PDA1のメール送受信プログラム104は、インターネット4を介して、スクリプトおよびデータを格納したメール151を他のPDA1に送信する。
【0489】
図53および図54は、メール151を受信したPDA1による、アニメーションを表示する処理を説明する図である。
【0490】
アニメーションを表示させるスクリプトを格納したメール151が受信されたとき、PDA1のメール送受信プログラム104は、図53に例を示すダイアログボックスを表示部21に表示する。
【0491】
ダイアログボックスの”YES”と名前が付されたボタンがタップされたとき、メール送受信プログラム104は、メール151を開き、例えば、図54に示す本文を表示部21に表示させる。
【0492】
受信されたメール151が開かれたとき、PDA1のメール送受信プログラム104は、メール送受信プログラムプラグインインターフェース501を介して、メール151をメール構文解析部502に供給する。
【0493】
PDA1のメール構文解析部502は、メール151から、スクリプトおよびデータを抽出し、抽出したスクリプトおよびデータをデコーダ503に供給する。
【0494】
デコーダ503は、Base64などの方式により符号化されているデータを復号し、インターフェース504を介して、復号されたデータをスクリプトインタプリタ506に供給する。
【0495】
デコーダ503は、インターフェース504を介して、スクリプトをそのまま構文解析部505に供給する。
【0496】
PDA1の構文解析部505は、デコーダ503から供給されたスクリプトの所定の文字列を中間コードに変換して、所定の文字列が中間コードとされたスクリプトをスクリプトインタプリタ506に供給する。
【0497】
PDA1のスクリプトインタプリタ506は、復号されたデータを基に、構文解析部505から供給された、所定の文字列が中間コードとされたスクリプトを実行し、リソースアクセスマネージャ508にアニメーションの表示を要求する。リソースアクセスマネージャ508は、スクリプトインタプリタ506からの要求に対応して、プラットフォームリソースアクセスインターフェース509を介して、I/Oモジュール510に、アニメーションの表示を要求する。
【0498】
PDA1のI/Oモジュール510は、例えば、図54に示すように、表示部21に、本文と共に、アニメーションを表示させる。
【0499】
このように、PDA1は、受信したメール151を基に、アニメーションを表示することができる。
【0500】
図55のフローチャートを参照して、アニメーションメールスクリプト534を実行するPDA1による、アニメーションを表示させる電子メールの送信の処理を説明する。
【0501】
ステップS901において、スクリプトインタプリタ506は、リソースアクセスマネージャ508またはI/Oモジュール510を介して、本文を取得する。スクリプトインタプリタ506は、例えば、表示部21のタッチパッドから入力された電子メールの本文を取得するか、またはFlash ROM33などに予め記憶している本文を取得する。
【0502】
ステップS902において、スクリプトインタプリタ506は、アニメーションを表示させるためのデータを取得する。スクリプトインタプリタ506は、取得したデータを、インターフェース504およびエンコーダ518を介して、メール生成部519に供給する。
【0503】
ステップS903において、スクリプトインタプリタ506は、アニメーションを表示させるスクリプトを生成する。例えば、スクリプトインタプリタ506は、実行しているアニメーションメールスクリプト534と同一のスクリプトを生成する。または、スクリプトインタプリタ506は、アニメーションメールスクリプト534に含まれる1連の命令群の一部の命令群からなるスクリプトを生成する。
【0504】
スクリプトインタプリタ506は、生成したスクリプトをインターフェース504およびエンコーダ518を介して、メール生成部519に供給する。
【0505】
ステップS904において、メール生成部519は、取得されたデータ、および生成されたスクリプトを格納したメール151を生成する。メール生成部519は、メール送受信プログラムプラグインインタフェース501を介して、生成したメール151をメール送受信プログラム104に供給する。
【0506】
ステップS905において、メール送受信プログラム104は、スクリプトおよびデータが格納されているメール151を相手に送信して、処理は終了する。
【0507】
次に、図56のフローチャートを参照して、メール151を受信したPDA1による、アニメーションの表示の処理を説明する。
【0508】
ステップS921において、メール送受信プログラム104は、メール151を表示しようとしているか否かを判定し、メール151を表示しようとしていないと判定された場合、ステップS921に戻り、判定の処理を繰り返す。
【0509】
ステップS921において、メール151を表示しようとしていると判定された場合、ステップS922に進み、メール構文解析部502は、メール送受信プログラム104から供給されたメール151から、データおよびスクリプトを抽出する。
【0510】
メール構文解析部502は、抽出したデータをデコーダ503に供給する。デコーダ503は、抽出された、Base64などの方式により符号化されているデータを復号する。デコーダ503は、復号されたデータをスクリプトインタプリタ506に供給する。
【0511】
メール構文解析部502は、デコーダ503およびインターフェース504を介して、抽出したスクリプトを構文解析部505に供給する。構文解析部505は、スクリプトの所定の文字列を中間コードに変換し、所定の文字列が中間コードとされたスクリプトをスクリプトインタプリタ506に供給する。
【0512】
ステップS923において、スクリプトインタプリタ506は、デコーダ503から供給されたデータを基に、所定の文字列が中間コードに変換されたスクリプトを実行する。
【0513】
ステップS924において、スクリプトインタプリタ506は、アニメーションを表示させるためのデータを基に、表示部21にアニメーションを表示させ、処理は終了する。
【0514】
このように、PDA1は、メール151を基に、アニメーションを表示することができる。本発明に係るPDA1は、アニメーションを表示させるためのプログラムを取得したり、またはメールの添付ファイルをいちいち開いたりする必要がなく、受信したメール151を開いたとき、アニメーションが表示される。
【0515】
次に、音楽を再生させるメール151の送信の処理、およびメール151に基づく、音楽の再生の処理について説明する。
【0516】
図32に例を示すアニメーションメールと名前が付されたアイコンがタップされたとき、PDA1のスクリプトランチャ520は、スクリプトデータベース521からアニメーションメールスクリプト534を読み出す。PDA1のスクリプトランチャ520は、インターフェース504を介して、読み出したアニメーションメールスクリプト534を構文解析部505に供給する。
【0517】
PDA1の構文解析部505は、アニメーションメールスクリプト534の所定の文字列を中間コードに変換して、所定の文字列が中間コードとされたスクリプトをスクリプトインタプリタ506に供給する。
【0518】
PDA1のスクリプトインタプリタ506は、構文解析部505から供給された中間コードとされたスクリプトの実行の処理により、本文と共に、音楽を再生させるためのデータを取得する。スクリプトインタプリタ506は、取得した、音楽を再生させるためのデータを、インターフェース504を介して、エンコーダ518に供給する。
【0519】
エンコーダ518は、音楽を再生させるためのデータを、Base64などの方式により符号化し、符号化したデータをメール生成部519に供給する。
【0520】
PDA1のスクリプトインタプリタ506は、他のPDA1に音楽を再生させるスクリプトを生成する。
【0521】
例えば、スクリプトインタプリタ506は、アニメーションメールスクリプト534と同一のスクリプトを生成する。スクリプトインタプリタ506は、アニメーションメールスクリプト534に含まれる1連の命令群の一部の命令群からなるスクリプトを生成する。
【0522】
または、スクリプトインタプリタ506は、表示部21からの入力に基づいて、アニメーションメールスクリプト534に含まれる命令を変更することによりスクリプトを生成する。
【0523】
スクリプトインタプリタ506は、このように生成したスクリプトを、インターフェース504を介して、エンコーダ518に供給する。
【0524】
なお、スクリプトインタプリタ506は、他のPDA1に送信する電子メールに添付するスクリプトをスクリプトデータベース521から取得し、取得したスクリプトをエンコーダ518に供給するようにしてもよい。
【0525】
また、PDA1のメール生成部519は、スクリプトインタプリタ506により指定された、他のPDA1に送信する電子メールに添付するスクリプトをスクリプトデータベース521から取得し、取得したスクリプトをメール151に格納するようにしてもよい。
【0526】
エンコーダ518は、スクリプトインタプリタ506から供給されたスクリプトをそのままメール生成部519に供給する。
【0527】
PDA1のメール生成部519は、エンコーダ518から供給されたスクリプトおよびデータを基に、スクリプトおよびデータを格納したメール151を生成する。PDA1のメール生成部519は、生成したメール151をメール送受信プログラム104に供給する。
【0528】
PDA1のメール送受信プログラム104は、インターネット4を介して、スクリプトおよびデータを格納したメール151を他のPDA1に送信する。
【0529】
次に、メール151を受信したPDA1による、音楽を再生する処理を図57を参照して説明する。
【0530】
メール送受信プログラム104は、メール151を開き、例えば、図57に示すように、本文を表示部21に表示させる。
【0531】
メール151が開かれたとき、PDA1のメール送受信プログラム104は、メール送受信プログラムプラグインインターフェース501を介して、メール151をメール構文解析部502に供給する。
【0532】
PDA1のメール構文解析部502は、メール151から、スクリプトおよびデータを抽出し、抽出したスクリプトおよびデータをデコーダ503に供給する。
【0533】
デコーダ503は、Base64などの方式により符号化されているデータを復号し、インターフェース504を介して、復号したデータをスクリプトインタプリタ506に供給する。
【0534】
デコーダ503は、インターフェース504を介して、スクリプトをそのまま構文解析部505に供給する。
【0535】
PDA1の構文解析部505は、デコーダ503から供給されたスクリプトの所定の文字列を中間コードに変換して、所定の文字列が中間コードとされたスクリプトをスクリプトインタプリタ506に供給する。
【0536】
PDA1のスクリプトインタプリタ506は、復号されたデータを基に、構文解析部505から供給された、所定の文字列が中間コードとされたスクリプトを実行し、リソースアクセスマネージャ508に音楽の再生を要求する。リソースアクセスマネージャ508は、スクリプトインタプリタ506からの要求に対応して、プラットフォームリソースアクセスインターフェース509を介して、I/Oモジュール510に、音楽の再生を要求する。
【0537】
PDA1のI/Oモジュール510は、図57に示すように、スピーカなどからなる、図示せぬ音声再生部に、音楽を再生させる。
【0538】
このように、PDA1は、メール151を基に、音声を再生することができる。
【0539】
図58のフローチャートを参照して、アニメーションメールスクリプト534を実行するPDA1による、音楽を再生させる電子メールの送信の処理を説明する。
【0540】
ステップS941において、スクリプトインタプリタ506は、リソースアクセスマネージャ508またはI/Oモジュール510を介して、本文を取得する。スクリプトインタプリタ506は、例えば、表示部21のタッチパッドから入力された電子メールの本文を取得するか、またはFlash ROM33などに予め記憶している本文を取得する。
【0541】
ステップS942において、スクリプトインタプリタ506は、音楽を再生させるためのデータを取得する。スクリプトインタプリタ506は、取得したデータを、インターフェース504およびエンコーダ518を介して、メール生成部519に供給する。
【0542】
ステップS943において、スクリプトインタプリタ506は、音楽を再生させるスクリプトを生成する。例えば、スクリプトインタプリタ506は、実行しているアニメーションメールスクリプト534と同一のスクリプトを生成する。スクリプトインタプリタ506は、アニメーションメールスクリプト534に含まれる1連の命令群の一部の命令群からなるスクリプトを生成する。
【0543】
スクリプトインタプリタ506は、生成したスクリプトをインターフェース504およびエンコーダ518を介して、メール生成部519に供給する。
【0544】
ステップS944において、メール生成部519は、取得されたデータ、および生成されたスクリプトを格納したメール151を生成する。メール生成部519は、メール送受信プログラムプラグインインタフェース501を介して、生成したメール151をメール送受信プログラム104に供給する。
【0545】
ステップS945において、メール送受信プログラム104は、スクリプトおよびデータが格納されているメール151を相手に送信して、処理は終了する。
【0546】
次に、図59のフローチャートを参照して、メール151を受信したPDA1による、音楽の再生の処理を説明する。
【0547】
ステップS961において、メール送受信プログラム104は、メール151を表示しようとしているか否かを判定し、メール151を表示しようとしていないと判定された場合、ステップS961に戻り、判定の処理を繰り返す。
【0548】
ステップS961において、メール151を表示しようとしていると判定された場合、ステップS962に進み、メール構文解析部502は、メール送受信プログラム104から供給されたメール151から、データおよびスクリプトを抽出する。
【0549】
メール構文解析部502は、抽出したデータをデコーダ503に供給する。デコーダ503は、抽出された、Base64などの方式により符号化されているデータを復号する。デコーダ503は、復号されたデータをスクリプトインタプリタ506に供給する。
【0550】
メール構文解析部502は、デコーダ503およびインターフェース504を介して、抽出したスクリプトを構文解析部505に供給する。構文解析部505は、スクリプトの所定の文字列を中間コードに変換し、所定の文字列が中間コードに変換されたスクリプトをスクリプトインタプリタ506に供給する。
【0551】
ステップS963において、スクリプトインタプリタ506は、デコーダ503から供給されたデータを基に、所定の文字列が中間コードに変換されたスクリプトを実行する。
【0552】
ステップS964において、スクリプトインタプリタ506は、復号された、音楽を再生させるためのデータを基に、音楽を再生させ、処理は終了する。
【0553】
このように、PDA1は、メール151を開いたとき、音楽を再生することができる。本発明に係るPDA1は、音楽を再生させるためのプログラムを取得したり、またはメールの添付ファイルをいちいち開いたりする必要がなく、受信したメール151を開いたとき、音楽が再生される。
【0554】
以上のように、PDA1は、アニメーション、または音楽などのコンテンツを相手に再生させるメール151を送信し、メール151を受信したPDA1は、コンテンツを再生することができる。
【0555】
上述した一連の処理は、ハードウェアにより実行させることもできるが、ソフトウェアにより実行させることもできる。一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、記録媒体からインストールされる。
【0556】
コンピュータにインストールされ、コンピュータによって実行可能な状態とされるプログラムを記録する記録媒体は、図5に示すように、磁気ディスク61(フロッピディスクを含む)、光ディスク62(CD-ROM(Compact Disc-Read Only Memory)、DVD(Digital Versatile Disc)を含む)、光磁気ディスク63(MD(Mini-Disc)を含む)、若しくは半導体メモリ64などよりなるパッケージメディア、または、プログラムが一時的若しくは永続的に格納されるFlash ROM33や、ハードディスクなどにより構成される。記録媒体へのプログラムの記録は、必要に応じてルータ、モデムなどのインターフェースを介して、公衆回線網202、ローカルエリアネットワーク、インターネット4、デジタル衛星放送といった、有線または無線の通信媒体を利用して行われる。
【0557】
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【0558】
また、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
【0559】
【発明の効果】
本発明によれば、メールを開いたとき、簡単に、コンテンツを再生できるようになる。
【図面の簡単な説明】
【図1】本発明に係るメール送受信システムの一実施の形態を示す図である。
【図2】 PDA1の外観を示す図である。
【図3】クレードル2に装着されているPDA1の外観を示す図である。
【図4】 PDA1の外観を示す図である。
【図5】 PDA1の構成を説明する図である。
【図6】 PDA1が送信したメールがPDA1に受信されるまでの手順を説明する図である。
【図7】メールを送信するPDA1が実行するプログラムを説明する図である。
【図8】メールを送信するか、またはメールを受信するPDA1が実行するプログラムを説明する図である。
【図9】 PDA1の表示の例を示す図である。
【図10】インタプリタ106のより詳細な構造を説明する図である。
【図11】インタプリタ106の動作を説明する図である。
【図12】メール151の構造の例を示す図である。
【図13】インタプリタ106の動作を説明する図である。
【図14】インタプリタ106の動作を説明する図である。
【図15】メール151の例を示す図である。
【図16】スクリプトの実行を説明する図である。
【図17】スクリプトの例を示す図である。
【図18】 PDA1の表示の例を示す図である。
【図19】 PDA1の表示の例を示す図である。
【図20】 PDA1の表示の例を示す図である。
【図21】 PDA1の表示の例を示す図である。
【図22】メール送信の処理を説明するフローチャートである。
【図23】メール受信の処理を説明するフローチャートである。
【図24】スクリプトの処理を説明するフローチャートである。
【図25】オセロの処理を説明するフローチャートである。
【図26】本発明に係るメール送受信システムの第2の実施の形態を示す図である。
【図27】カメラ付デジタル携帯電話機301の外観を示す図である。
【図28】カメラ付デジタル携帯電話機301の表示部302の外観を示す図である。
【図29】カメラ付デジタル携帯電話機301の構成を示すブロック図である。
【図30】インタプリタ106のより詳細な構成の一例を示す図である。
【図31】認証用のデータが格納されているスクリプトを含むメール151の例を示す図である。
【図32】表示部21が表示するアイコンの例を説明する図である。
【図33】プラットフォームを変更したときの、インタプリタ106の構成の変更を説明する図である。
【図34】スクリプトの伝送媒体を変更したときの、インタプリタ106の構成の変更を説明する図である。
【図35】図30に構成を示すインタプリタ106による、電子メールに添付されたスクリプトの実行の処理を説明するフローチャートである。
【図36】図30に構成を示すインタプリタ106による、電子メールに添付されたスクリプトの実行の処理を説明するフローチャートである。
【図37】図30に構成を示すインタプリタ106による、電子メールに添付されたスクリプトの実行の処理を説明するフローチャートである。
【図38】図30に構成を示すインタプリタ106による、スクリプトデータベース521に記憶されているスクリプトの実行の処理を説明するフローチャートである。
【図39】図30に構成を示すインタプリタ106による、スクリプトデータベース521に記憶されているスクリプトの実行の処理を説明するフローチャートである。
【図40】図30に構成を示すインタプリタ106による、スクリプトデータベース521に記憶されているスクリプトの実行の処理を説明するフローチャートである。
【図41】メール151の本文の表示を説明する図である。
【図42】ダイアログボックスの表示を説明する図である。
【図43】ダイアログボックスの表示を説明する図である。
【図44】自動的に削除される電子メールの送信の処理を説明するフローチャートである。
【図45】電子メールの削除の処理を説明するフローチャートである。
【図46】電子メールの削除の他の処理を説明するフローチャートである。
【図47】メール151を受信したときの表示を説明する図である。
【図48】メール151の本文の表示を説明する図である。
【図49】ダイアログボックスの表示を説明する図である。
【図50】ダイアログボックスの表示を説明する図である。
【図51】ターゲットプログラムをアップデートさせる電子メールの送信の処理を説明するフローチャートである。
【図52】ターゲットプログラムのアップデートの処理を説明するフローチャートである。
【図53】メール151を受信したときの表示を説明する図である。
【図54】アニメーションの表示を説明する図である。
【図55】アニメーションを表示させる電子メールの送信の処理を説明するフローチャートである。
【図56】アニメーションの表示の処理を説明するフローチャートである。
【図57】音楽の再生を説明する図である。
【図58】音楽を再生させる電子メールの送信の処理を説明するフローチャートである。
【図59】音楽の再生の処理を説明するフローチャートである。
【符号の説明】
1−1および1−2 PDA, 2−1および2−2 クレードル, 3−1および3−2 パーソナルコンピュータ, 4 インターネット4−1および5−2 メールサーバ, 6−1および6−2 DNSサーバ, 11 メモリースティック, 21 表示部, 22 キー, 23 ジョグダイヤル, 31 CPU, 33 Flash ROM, 34 EDO DRAM, 35 メモリースティックインターフェース, 36 USBインターフェース, 61 磁気ディスク, 62 光ディスク, 63 光磁気ディスク, 64 半導体メモリ, 101 OS, 102−1乃至102−4 ドライバ, 104 メール送受信プログラム, 106 インタプリタ, 151 メール, 201−1乃至201−4 基地局, 202 公衆回線網, 203 アクセスサーバ, 204 コンテンツサーバ, 205−1乃至205−N WWWサーバ, 301−1および301−2 カメラ付デジタル携帯電話機, 309 液晶ディスプレイ, 351 主制御部, 364 送受信回路部, 501 メール送受信プログラムプラグインインターフェース, 502 メール構文解析部, 503 デコーダ, 504 インターフェース, 505 構文解析部, 506 スクリプトインタプリタ, 507 認証暗号化部, 508 リソースアクセスマネージャ, 509 プラットフォームリソースアクセスインターフェース, 510 I/Oモジュール, 511 ストレージモジュール, 517 データ構成部, 518 エンコーダ, 519 メール生成部, 520 スクリプトランチャ, 521 スクリプトデータベース, 531 オセロゲームスクリプト, 532 回覧メールスクリプト, 533 自動削除メールスクリプト, 534 アニメーションメールスクリプト, 535 アップデートメールスクリプト, 571 スクリプト処理部, 581 プラットフォーム依存部, 591 I/Oモジュール, 592 ストレージモジュール, 593アプリケーションプログラム, 601 スクリプト処理部, 602 送受信プログラム, 603 通信部, 611 変換部
Claims (7)
- メールを送信する送信装置において、
受信側でコンテンツを再生させるためのスクリプトを読み出す読み出し手段と、
読み出された前記スクリプトを実行して、前記コンテンツを再生させるためのデータ、および前記メールの本文を取得する取得手段と、
前記メールに格納され、前記メールの受信側で前記コンテンツを再生させる前記スクリプトとして、前記読み出し手段により読み出された前記スクリプトと同一のスクリプトを生成する生成手段と、
取得された前記本文を含む前記メールを生成し、前記メールに前記生成手段により生成された前記スクリプトおよび前記データを格納する格納手段と、
前記スクリプトおよび前記データが格納された前記メールの送信を制御する送信制御手段と
を含むことを特徴とする送信装置。 - 前記生成手段は、受信側で動画像の前記コンテンツを再生させる前記スクリプトを生成する
ことを特徴とする請求項1に記載の送信装置。 - 前記生成手段は、受信側で音声の前記コンテンツを再生させる前記スクリプトを生成する
ことを特徴とする請求項1に記載の送信装置。 - メールを送信する送信装置の送信方法において、
受信側でコンテンツを再生させるためのスクリプトを読み出す読み出しステップと、
読み出された前記スクリプトを実行して、前記コンテンツを再生させるためのデータ、および前記メールの本文を取得する取得ステップと、
前記メールに格納され、前記メールの受信側で前記コンテンツを再生させる前記スクリプトとして、前記読み出しステップにより読み出された前記スクリプトと同一のスクリプトを生成する生成処理ステップと、
取得された前記本文を含む前記メールを生成し、前記メールに前記生成処理ステップにより生成された前記スクリプトおよび前記データを格納する格納処理ステップと、
前記スクリプトおよび前記データが格納された前記メールの送信を制御する送信制御処理ステップと
を含むことを特徴とする送信方法。 - メールを送信する送信処理用のプログラムであって、
受信側でコンテンツを再生させるためのスクリプトを読み出す読み出しステップと、
読み出された前記スクリプトを実行して、前記コンテンツを再生させるためのデータ、および前記メールの本文を取得する取得ステップと、
前記メールに格納され、前記メールの受信側で前記コンテンツを再生させる前記スクリプトとして、前記読み出しステップにより読み出された前記スクリプトと同一のスクリプトを生成する生成処理ステップと、
取得された前記本文を含む前記メールを生成し、前記メールに前記生成処理ステップにより生成された前記スクリプトおよび前記データを格納する格納処理ステップと、
前記スクリプトおよび前記データが格納された前記メールの送信を制御する送信制御処理ステップと
を含むことを特徴とする処理をコンピュータに実行させるプログラムが記録されている記録媒体。 - メールを送信する送信装置を制御するコンピュータに、
受信側でコンテンツを再生させるためのスクリプトを読み出す読み出しステップと、
読み出された前記スクリプトを実行して、前記コンテンツを再生させるためのデータ、および前記メールの本文を取得する取得ステップと、
前記メールに格納され、前記メールの受信側で前記コンテンツを再生させる前記スクリプトとして、前記読み出しステップにより読み出された前記スクリプトと同一のスクリプトを生成する生成処理ステップと、
取得された前記本文を含む前記メールを生成し、前記メールに前記生成処理ステップにより生成された前記スクリプトおよび前記データを格納する格納処理ステップと、
前記スクリプトおよび前記データが格納された前記メールの送信を制御する送信制御処理ステップと
を実行させるプログラム。 - メールを送信する送信装置、および前記メールを受信する受信装置からなる通信システムにおいて、
前記送信装置は、
前記受信装置でコンテンツを再生させるためのスクリプトを読み出す読み出し手段と、
読み出された前記スクリプトを実行して、前記コンテンツを再生させるためのデータ、および前記メールの本文を取得する取得手段と、
前記メールに格納され、前記受信装置で前記コンテンツを再生させる前記スクリプトとして、前記読み出し手段により読み出された前記スクリプトと同一のスクリプトを生成する生成手段と、
取得された前記本文を含む前記メールを生成し、前記メールに前記生成手段により生成された前記スクリプトおよび前記データを格納する格納手段と、
前記スクリプトおよび前記データが格納された前記メールの送信を制御する送信制御手段と
を含み、
前記受信装置は、
前記メールの開封指示に連動して、前記メールに添付ファイルとして付加されている前記スクリプトおよび前記データを抽出する抽出手段と、
抽出された前記スクリプトを実行し、抽出された前記データを基に、前記コンテンツの再生を制御する再生制御手段と
を含むことを特徴とする通信システム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001097509A JP4656359B2 (ja) | 2001-03-29 | 2001-03-29 | 送信装置および方法、記録媒体、プログラム、並びに通信システム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001097509A JP4656359B2 (ja) | 2001-03-29 | 2001-03-29 | 送信装置および方法、記録媒体、プログラム、並びに通信システム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002297521A JP2002297521A (ja) | 2002-10-11 |
JP4656359B2 true JP4656359B2 (ja) | 2011-03-23 |
Family
ID=18951289
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001097509A Expired - Fee Related JP4656359B2 (ja) | 2001-03-29 | 2001-03-29 | 送信装置および方法、記録媒体、プログラム、並びに通信システム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4656359B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20240039899A1 (en) * | 2019-02-04 | 2024-02-01 | Meixler Technologies, Inc. | System and method for web-browser based end-to-end encrypted messaging and for securely implementing cryptography using client-side scripting in a web browser |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5171527B2 (ja) * | 2008-10-06 | 2013-03-27 | キヤノン株式会社 | メッセージの受信装置およびデータ抽出方法 |
JP4782884B1 (ja) * | 2010-08-09 | 2011-09-28 | 大日本印刷株式会社 | 情報処理端末、情報処理方法、プログラム |
JP2013037447A (ja) * | 2011-08-04 | 2013-02-21 | Gree Inc | アニメーション再生システム、サーバ装置、端末装置、再生方法、情報処理方法及びプログラム |
JP5926826B2 (ja) * | 2015-01-16 | 2016-05-25 | グリー株式会社 | アニメーション再生システム、端末装置、再生方法、及びプログラム |
JP6118439B2 (ja) * | 2016-04-22 | 2017-04-19 | グリー株式会社 | サーバ、端末装置、再生方法、及びプログラム |
-
2001
- 2001-03-29 JP JP2001097509A patent/JP4656359B2/ja not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20240039899A1 (en) * | 2019-02-04 | 2024-02-01 | Meixler Technologies, Inc. | System and method for web-browser based end-to-end encrypted messaging and for securely implementing cryptography using client-side scripting in a web browser |
Also Published As
Publication number | Publication date |
---|---|
JP2002297521A (ja) | 2002-10-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4595228B2 (ja) | 受信装置および方法、送信装置および方法、記録媒体、並びに通信システム | |
US6997809B2 (en) | Method, system, and computer program product for playing a game over electronic mail | |
EP1246103A2 (en) | Information processing apparatus and method, recording medium, and program | |
US6658456B1 (en) | Electric mail transferring apparatus and electric mail transferring method | |
US7930354B2 (en) | System and method for reviewing attachment content on a mobile device | |
JP2008544629A (ja) | 文字メッセージに含まれている電話番号にハイパーリンク機能を提供する移動通信端末機及びその方法 | |
JP4656359B2 (ja) | 送信装置および方法、記録媒体、プログラム、並びに通信システム | |
JP2003022008A (ja) | 情報処理装置および方法、記録媒体、並びにプログラム | |
JP4589281B2 (ja) | 情報処理装置 | |
KR101147689B1 (ko) | 컨텐츠 메시지를 송수신하기 위한 방법과 그를 위한시스템, 서버, 이동통신 단말기 및 컴퓨터로 읽을 수 있는기록매체 | |
JP4581280B2 (ja) | 受信装置および方法、送信装置および方法、通信システム、記録媒体、並びにプログラム | |
JP2002297515A (ja) | 受信装置および方法、送信装置および方法、通信システム、記録媒体、並びにプログラム | |
JP2002297520A (ja) | 受信装置および方法、送信装置および方法、記録媒体、プログラム、並びに通信システム | |
JP2002297519A (ja) | 受信装置および方法、送信装置および方法、記録媒体、プログラム、並びに通信システム | |
JP2002297513A (ja) | 受信装置および方法、送信装置および方法、記録媒体、プログラム、通信システム、並びにプログラム生成方法 | |
JP2002366492A (ja) | 送信装置および方法、受信装置および方法、通信システム、記録媒体、並びにプログラム | |
JP2002297489A (ja) | 情報提供装置および方法、情報処理装置および方法、情報処理システム、記録媒体、並びにプログラム | |
JP2004005759A (ja) | 電子機器、通信方法、記録媒体、プログラム、および通信システム | |
JP2002297512A (ja) | 受信装置および方法、送信装置および方法、通信システム、記録媒体、並びにプログラム | |
JP2002132680A (ja) | 受信装置および方法、送信装置および方法、通信システム、並びにプログラム格納媒体 | |
JP2002297406A (ja) | 送信装置および方法、受信装置および方法、通信システム、記録媒体、並びにプログラム | |
JP2003016013A (ja) | 送信装置および方法、情報処理装置および方法、受信装置および方法、情報処理システム、記録媒体、並びにプログラム | |
JP2002297400A (ja) | 情報処理装置および方法、記録媒体、並びにプログラム | |
JP2002297509A (ja) | 情報処理装置および方法、記録媒体、並びにプログラム | |
JP2002300218A (ja) | 受信装置および方法、送信装置および方法、記録媒体、プログラム、並びに通信システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080109 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100914 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20101104 |
|
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: 20101202 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20101215 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140107 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140107 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |