JP2004133618A - Communication terminal, program, and recording medium - Google Patents

Communication terminal, program, and recording medium Download PDF

Info

Publication number
JP2004133618A
JP2004133618A JP2002296493A JP2002296493A JP2004133618A JP 2004133618 A JP2004133618 A JP 2004133618A JP 2002296493 A JP2002296493 A JP 2002296493A JP 2002296493 A JP2002296493 A JP 2002296493A JP 2004133618 A JP2004133618 A JP 2004133618A
Authority
JP
Japan
Prior art keywords
program
java
user
software
mobile phone
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.)
Granted
Application number
JP2002296493A
Other languages
Japanese (ja)
Other versions
JP4102639B2 (en
Inventor
Ayumi Shimizu
清水 あゆみ
Kazuhiro Yamada
山田 和宏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NTT Docomo Inc
Original Assignee
NTT Docomo Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NTT Docomo Inc filed Critical NTT Docomo Inc
Priority to JP2002296493A priority Critical patent/JP4102639B2/en
Publication of JP2004133618A publication Critical patent/JP2004133618A/en
Application granted granted Critical
Publication of JP4102639B2 publication Critical patent/JP4102639B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Landscapes

  • Mobile Radio Communication Systems (AREA)
  • Storage Device Security (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To prevent user's individual data from being transmitted to the outside of a communication terminal without the permission of a user. <P>SOLUTION: A cellphone 400, when downloading Java(R)-AP software from an AP software distribution server 100, lets the user know that the Java-AP is for sending individual data, and downloads the Java-AP software when the user permits its downloading. The cellphone 400, when executing the Java-AP software, lets the user know that the Java-AP is for sending individual data, and executes the Java-AP software when the user permits its execution. <P>COPYRIGHT: (C)2004,JPO

Description

【0001】
【発明の属する技術分野】
本発明は、個人に特有のデータを使用可能なアプリケーションプログラムの実行を制御する技術に関する。
【0002】
【従来の技術】
近年、インターネットに接続されたWWW(World Wide Web)サーバから、携帯電話機で実行可能なJava(登録商標)アプリケーションソフトウェアを配信することが広く行われている。Javaアプリケーションソフトウェアは、Javaプログラミング言語を用いて作成されたプログラムを含むJAR(Java Archive)ファイルと、当該JARファイルに関するデータを記述したADF(Application Descriptor File)とを有する。携帯電話機のユーザが、前述のファイルを携帯電話機にダウンロードさせ、携帯電話機にJavaアプリケーションソフトウェアの実行を指示することにより携帯電話機にてJavaアプリケーション(以下、Java−APとする)が実現されると、携帯電話機に様々な機能が付加される。
【0003】
携帯電話機のユーザは、インターネットに接続されている多数のWWWサーバの中から、所望のソフトウェアをダウンロードし、所望の機能を携帯電話機に付加させることができる。しかし、いかなる機能をも付加させることを可能とすると、例えば、悪意のソフトウェアにより、携帯電話機に記憶されているデータを破壊されたり、携帯電話機に記憶されている個人に特有のデータ(以下、個人データとする)を、ユーザの意図に反して携帯電話機の外部へ漏らされてしまう虞がある。
【0004】
そこで、Java−APソフトウェアを実行可能な携帯電話機は、Java−APソフトウェアを実行することにより実現されるJava−APの挙動を制限するように設計されている。例えば、Java−APが使用可能な記憶領域は、個人データが記憶されている記憶領域とは別の、特定の記憶領域に限られている。また、通信を行うJava−APは、Java−APソフトウェアを配信したサーバとしか通信できないようになっている。さらに、携帯電話機では、Java−APが、Java−APソフトウェアの提供元のサーバと通信を行う際にはユーザに通信の許否を問い合わせ、許可された場合にのみ通信を行い、ユーザの許否に応じた挙動しかJava−APに許容しないようになっている。
【0005】
なお、Java−APソフトウェアの実行に制限を加える技術が知られている(例えば、特許文献1参照。)。特許文献1には、プログラムの実行を許可するか否かをユーザに問い合わせ、ユーザの許可があった場合にのみプログラムを実行させる旨が記載されている。
【0006】
【特許文献1】
特開2001−117769号公報
【0007】
【発明が解決しようとする課題】
ところで、配信元のWWWサーバと通信を行うJava−APのソフトウェアを提供する提供者としては、サーバと通信中のJava−APのユーザを特定したい場合がある。しかし、従来のJava−APは、特定の記憶領域しか使用することができないため、Java−APのユーザを識別するための識別データなどの個人データを、ユーザからJava−APへ通知してもらい、通知してもらった識別データを、Java−APソフトウェア提供元のサーバへ送信することとなる。しかしながら、Java−APが、識別データを送信するたびに、ユーザが識別データをJava−APへ通知するのは、ユーザにとって面倒であると言える。
【0008】
ユーザの面倒を避けるために、ユーザが通知した識別データをJava−AP用の特定の記憶領域に書き込むことを許容する仕様とすることも考えられるが、この場合、ユーザが通知した識別データを特定の記憶領域に書き込んでしまうと、以後、Java−APは、ユーザの通知を必要とせずに、ユーザを識別するためのデータをサーバへ送信することが可能となってしまう。ユーザが、ユーザを識別するためのデータが常に送信されることを望む場合にはこのような仕様でも問題ないが、そうでないユーザの場合には、このような仕様ではユーザの意図に反する結果となってしまう。
【0009】
本発明は、上述した事情に鑑みてなされたものであり、通信端末のユーザの個人データがユーザの許可なしに通信端末から送信されるのを防止する、通信端末、アプリケーション実行方法、プログラムおよび記録媒体を提供することを目的とする。
【0010】
【課題を解決するための手段】
本発明は、上述した課題を解決するために、プログラムを記憶する第1の記憶手段と、前記第1の記憶手段に記憶されたプログラムを実行する実行手段と、前記実行手段がプログラムを実行することによって実現されるアプリケーションにより読み書きされるデータを記憶する第2の記憶手段と、前記アプリケーションが外部の装置へデータを送信するための送信手段とを有する通信端末において、使用者の指示を入力するための指示入力手段と、前記第1の記憶手段により記憶されたプログラムであって前記使用者の個人データを取得して外部の装置へ送信し得るアプリケーションを実現するためのプログラムを実行する旨の指示が前記指示入力手段により入力された場合に、当該プログラムの実行を許可するか否かを示す指示の入力を前記使用者に促す第1の確認手段と、前記指示入力手段により実行を許可する旨の指示が入力された場合にのみ、前記実行手段による当該プログラムの実行を許可する実行許可手段とを有する通信端末を提供する。
【0011】
また、本発明は、プログラムを記憶する第1の記憶手段と、前記第1の記憶手段に記憶されたプログラムを実行する実行手段と、前記実行手段がプログラムを実行することによって実現されるアプリケーションにより読み書きされるデータを記憶する第2の記憶手段と、前記アプリケーションが外部の装置へデータを送信するための送信手段とを有するコンピュータ装置を、使用者の指示を入力するための指示入力手段と、前記第1の記憶手段により記憶されたプログラムであって前記使用者の個人データを取得して外部の装置へ送信し得るアプリケーションを実現するためのプログラムを実行する旨の指示が前記指示入力手段により入力された場合に、当該プログラムの実行を許可するか否かを示す指示の入力を前記使用者に促す第1の確認手段と、前記指示入力手段により実行を許可する旨の指示が入力された場合にのみ、前記実行手段による当該プログラムの実行を許可する実行許可手段として機能させるためのプログラムを提供する。
【0012】
また、本発明は、プログラムを記憶する第1の記憶手段と、前記第1の記憶手段に記憶されたプログラムを実行する実行手段と、前記実行手段がプログラムを実行することによって実現されるアプリケーションにより読み書きされるデータを記憶する第2の記憶手段と、前記アプリケーションが外部の装置へデータを送信するための送信手段とを有するコンピュータ装置を、使用者の指示を入力するための指示入力手段と、前記第1の記憶手段により記憶されたプログラムであって前記使用者の個人データを取得して外部の装置へ送信し得るアプリケーションを実現するためのプログラムを実行する旨の指示が前記指示入力手段により入力された場合に、当該プログラムの実行を許可するか否かを示す指示の入力を前記使用者に促す第1の確認手段と、前記指示入力手段により実行を許可する旨の指示が入力された場合にのみ、前記実行手段による当該プログラムの実行を許可する実行許可手段として機能させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体を提供する。
【0013】
この発明によれば、通信端末は、使用者の個人データを取得して外部の装置へ送信し得るアプリケーションを実現するためのプログラムを実行する旨の指示が使用者から入力された場合に、プログラムの実行を許可するか否かを示す指示の入力を前記使用者に促し、使用者によりプログラムの実行を許可する旨の指示が入力された場合にのみプログラムの実行を許可する。
【0014】
【発明の実施の形態】
以下、図面を参照して本発明に係る実施形態について説明する。
【0015】
[1.実施形態の構成]
[1−1.全体構成]
図1は、本発明に係わる通信システム10の全体構成を例示する図である。通信システム10には多数の携帯電話機およびJava−APソフトウェア配信サーバが存在するが、図面が繁雑になるのを防ぐために、一つの携帯電話機400および一つのJava−APソフトウェア配信サーバ100のみが示されている。
【0016】
Java−APソフトウェア配信サーバ100は、Java−APソフトウェアを携帯電話機400へ配信する事業者によって運用されているサーバである。Java−APソフトウェア配信サーバ100は、パケット通信を行うことが可能であり、インターネット200に接続されている。Java−APソフトウェア配信サーバ100は、HTTP(HyperText Transfer Protocol)に従った通信を行うなど、一般的なWWWサーバが有する機能と同様の機能を有しており、ドメイン名が「www.abc.co.jp」となっている。Java−APソフトウェア配信サーバ100は、株価情報を表示するJava−APを実現させるためのソフトウェアを配信し、このソフトウェアをダウンロードした携帯電話機400に対して、株価情報を提供するサービスを行う。
【0017】
移動パケット通信網300は、移動体データ通信サービスを提供する通信網である。移動パケット通信網300は、移動パケット通信網300を運用する通信事業者との間で加入者契約を行った者が所有する携帯電話機400と無線通信を行う無線基地局と、無線基地局に接続された交換機と、交換機に接続された関門交換機とを有している。また、移動パケット通信網300は、関門交換機とインターネット200との間で行われる通信を中継するためのゲートウェイサーバを有している(いずれも図示略)。移動パケット通信網300は、移動パケット通信網300に設置されている前述の装置を用いて、移動パケット通信網300に収容されている携帯電話機400と、インターネット200に接続されているJava−APソフトウェア配信サーバ100等のWWWサーバとの間で行われるパケット通信を中継する。
【0018】
携帯電話機400は、図示を省略したユーザが所有する携帯電話機であり、移動パケット通信網300が提供する移動体データ通信サービス受けることができる。携帯電話機400は、パケット通信機能を有しており、移動パケット通信網300およびインターネット200を介して、インターネット200に接続されているJava−APソフトウェア配信サーバ100等のWWWサーバとの間でパケット通信を行うことができる。
【0019】
[1−2.Java−APソフトウェア配信サーバの構成]
[1−2−1.ハードウェア構成]
図2は、Java−APソフトウェア配信サーバ100のハードウェア構成を例示するブロック図である。図2に示したように、Java−APソフトウェア配信サーバ100の各部は、バス101に接続されており、このバス101を介して各部間でデータの授受が行われる。
【0020】
通信部102は、インターネット200を利用した通信を行うための通信インターフェースであり、インターネット200に接続されている。操作部103は、Java−APソフトウェア配信サーバ100を操作するための指示が入力されるものであり、図示を省略したキーボードおよびマウスを有している。操作部103は、Java−APソフトウェア配信サーバ100のユーザに操作されると、このユーザの操作内容を示す信号をCPU108へ出力する。表示部104は、図示を省略した液晶表示パネルおよび液晶表示パネルの表示制御を行う制御回路を有しており、CPU108の制御の下、文字やグラフィック画面、Java−APソフトウェア配信サーバ100を操作するためのメニュー画面等を表示する。
【0021】
記憶部105は、例えばハードディスク装置などの、データを永続的に記憶する装置(図示略)を有している。記憶部105には、HTTPに基づくデータの送受信機能など、Java−APソフトウェア配信サーバ100を一般的なWWWサーバとして機能させるための、サーバプログラムが記憶されている。また、記憶部105には、Javaプログラミング言語を用いて作成されたプログラムを含むJAR(Java Archive)ファイル105Cと、当該JARファイルに関するデータを記述したADF(Application Descriptor File)105Bと、当該JARファイル105CとADF105BからなるJava−APソフトウェアの内容をクライアントとなる携帯電話機のユーザに説明するための説明ファイル105Aとが記憶されている。また、記憶部105には、当該Java−APソフトウェア配信サーバ100が配信するJava−APソフトウェアをダウンロードした装置に対して、株価情報を提供するサービスを行うために、Java−AP利用者テーブル105Dと、株価情報テーブル105Eとを記憶している。株価情報テーブル105Eは、上場会社の株価が格納されているテーブルであり、図3に例示したように、株の銘柄名と個々の銘柄の株価とが対応づけて格納されている。Java−AP利用者テーブル105Dについては、後に説明する。
【0022】
ROM(Read Only Memory)106には、IPL(Initial Program Loader)が記憶されている。CPU108は、Java−APソフトウェア配信サーバ100のユーザにより、Java−APソフトウェア配信サーバ100の電源が入れられると、RAM(Random Access Memory)107を、作業エリアとし、ROM106からIPLを読み出し、CPU108およびJava−APソフトウェア配信サーバ100の各部の初期化を行う。CPU108は、初期化を終了すると記憶部105からサーバプログラムを読み出して実行する。
【0023】
[1−2−2.説明ファイル、ADF、JARファイル]
説明ファイル105Aは、図4に例示したように、マークアップ言語の一つであるCHTML(Compact HyperText Markup Language)により記述されており、URLが「http://www.abc.co.jp/java/kabuka.html」となっている。説明ファイル105Aは、CHTMLを解釈可能なWWWブラウザにより解釈されると、図5に示したように、Java−APソフトウェア配信サーバ100が提供するJava−APソフトウェアを紹介するページP01が表示される。このページP01には、Java−APソフトウェア配信サーバ100が提供するJava−APソフトウェアをダウンロードするためのハイパーリンクP01Aが表示される。
【0024】
説明ファイル105Aでは、クライアントとなる携帯電話機にJava−APソフトウェアをダウンロードさせるために、AタグとOBJECTタグが使用されている。Aタグは、ページにハイパーリンクを表示させるためのタグである。図4に示した説明ファイル105AがWWWブラウザにより解釈されると、「<A」と「/A>」の間にされた記述が、ハイパーリンクP01AとしてページP01に表示される。Aタグに記述されているijam属性は、Aタグにより表示されたハイパーリンクがクリックされた際にOBJECTタグを参照するようにするための属性である。OBJECTタグは、Java−APソフトウェアのADFを特定するために使用されるタグである。data属性は、Java−APソフトウェアのADFの記憶位置を示すURLを指定するためのものであり、説明ファイル105Aでは、ADF105BのURL「http://www.abc.co.jp/java/kabuka.jam」が記述されている。
【0025】
Java−APソフトウェア配信サーバ100からは、「株価情報」なる名称のJava−AP(以下、株価情報APとする)を実現するためのソフトウェアが配信される。この株価情報APソフトウェアは、クライアントとなる携帯電話機にて実行されると、株価情報APのユーザが指定した銘柄の株価情報を、当該株価情報APソフトウェアを配信したJava−APソフトウェア配信サーバ100から取得して表示させる機能を有している。
【0026】
JARファイル105Cは、Java−APを実現するために必要なクラスファイルやリソースファイルを一つにまとめたファイルであり、Java言語を用いて作成されたソフトウェアを配布する際に使用される。JARファイル105Cには、上述した株価情報APを実現するために必要となるクラスファイルやリソースファイルが格納されている。
【0027】
ADF105Bは、ADF105Bと対になるJARファイル105Cや、JARファイル105Cに格納されているクラスファイルおよびリソースファイルにより実現されるJava−APに関するデータが記述されるテキストファイルである。Java−APに関するデータとしては、例えば、図6に示したように、ADF105Bと対になるJARファイル105CのファイルサイズやJARファイル105Cが記憶されている位置を示すPackageURL(http://www.abc.co.jp/java/kabuka.jar)などが記述されている。また、Java−APが、クライアントとなる携帯電話機に記憶されている個人データの内の一つである端末識別子を携帯電話機の外部に送信する機能を有するJava−APである場合には、ADF105Bには、その旨を示す属性である「UsePersonal = utn」が記述される。Java−APソフトウェア配信サーバ100が配信する株価情報APソフトウェアによって実現される株価情報APがクライアントとなる携帯電話機で実行されると、クライアントとなる携帯電話機の個人データである端末識別子が携帯電話機から送信されるので、ADF105Bには、「UsePersonal = utn」が記述されている。
【0028】
[1−2−3.ファイルの配信]
Java−APソフトウェア配信サーバ100は、クライアントとなる携帯電話機からのHTTPリクエストに応じて、説明ファイル105A、ADF105B、JARファイル105Cをクライアントとなる携帯電話機へ送信する。
【0029】
Java−APソフトウェア配信サーバ100は、説明ファイル105AのURLをパラメータとするGETメソッドを用いたHTTPリクエストを受信した場合には、記憶部105から説明ファイル105Aを読み出す。Java−APソフトウェア配信サーバ100は、説明ファイル105Aを読み出すと、読み出した説明ファイル105Aを内包するHTTPレスポンスを生成し、このHTTPレスポンスを、HTTPリクエストを送信してきたクライアントとなる携帯電話機へ送信する。
【0030】
GETメソッドのパラメータであるURLがADF105BのURLである場合には、説明ファイル105Aの場合と同様に、記憶部105からADF105Bを読み出し、携帯電話機400へ読み出したADF105Bを送信する。また、GETメソッドのパラメータであるURLがJARファイル105CのURLである場合には、説明ファイル105Aの場合と同様に、記憶部105からJARファイル105Cを読み出し、クライアントとなる携帯電話機へ読み出したJARファイル105Cを送信する。
【0031】
[1−2−4.株価情報の配信]
ROM106に記憶されているサーバプログラムは、株価情報APを実行しているクライアントとなる携帯電話機と通信を行い、クライアントとなる携帯電話機へ株価情報を送信する機能を有している。
【0032】
株価情報APがクライアントとなる携帯電話機にて実行され、株価情報APのユーザが所望する株価情報の銘柄を登録する操作を行うと、クライアントとなる携帯電話機からは、ユーザが登録を希望する銘柄名とクライアントとなる携帯電話機の端末識別子とがJava−APソフトウェア配信サーバ100へ送信される。
【0033】
Java−APソフトウェア配信サーバ100のCPU108は、株価情報APを実行している携帯電話機400から送信される、ユーザが所望する株価情報の銘柄名と端末識別子とを内包する登録要求を受信すると、受信した端末識別子と会社名とを対応づけてJava−AP利用者テーブル105Dに格納する。Java−AP利用者テーブル105Dは、株価情報APの利用者を管理するためのテーブルであり、図7に例示したように、携帯電話機400から送信された携帯電話機の端末識別子と、ユーザが所望する株価情報の銘柄名と会社名とが対応づけられている。
【0034】
株価情報APがクライアントとなる携帯電話機にて実行され、株価情報APのユーザが登録した銘柄の株価情報を取得する操作を行うと、クライアントとなる携帯電話機からは、クライアントとなる携帯電話機の端末識別子がJava−APソフトウェア配信サーバ100へ送信される。
【0035】
Java−APソフトウェア配信サーバ100のCPU108は、株価情報APが実行されているクライアントとなる携帯電話機から送信される、端末識別子を内包した株価情報取得要求を受信すると、株価情報取得要求に内包されている端末識別子をキーにして記憶部105に記憶されているJava−AP利用者テーブル105Dを検索する。CPU108は、該当する端末識別子をJava−AP利用者テーブル105Dの中から見つけると、端末識別子に対応づけて記憶されている銘柄名を読み出す。次にCPU108は、読み出した銘柄名をキーにして株価情報テーブル105Eを検索し、銘柄名に対応づけて格納されている株価情報を株価情報テーブル105Eから読み出す。次にCPU108は、読み出した株価情報を内包する株価情報応答を生成し、端末識別子で識別されるクライアントとなる携帯電話機へ生成した応答を送信する。
【0036】
[1−3.携帯電話機の構成]
図8は、携帯電話機400のハードウェア構成を例示するブロック図である。図8に示したように、アンテナ403を除く携帯電話機400の各部は、バス401に接続されており、このバス401を介して各部間でデータの授受が行われる。
【0037】
通信部402は、アンテナ403を備えており、CPU409の制御の下、移動パケット通信網300に設置されている無線基地局との間で無線通信を行う。操作部404は、図示を省略したテンキーや操作指示などを入力するための複数のキーを有している。携帯電話機400のユーザが、操作部404を操作すると、ユーザの操作に応じて操作内容を示す信号が操作部404からCPU409へ出力される。表示部405は、例えば図示を省略した液晶表示パネルおよび液晶表示パネルの表示制御を行う制御回路を有しており、CPU409の制御の下、文字やグラフィック画面、携帯電話機400を操作するためのメニュー画面などを液晶ディスプレイに表示する。不揮発性メモリ406は、携帯電話機400を制御するためのデータや、Java−APソフトウェアを配信するサーバからダウンロードしたADFやJARファイルを記憶するものである。
【0038】
ROM407には、CPU409により実行される各種プログラムが記憶されており、例えば、IPLや携帯電話機400の全体を制御するOS(Operating System)ソフトウェア、CHTMLを解釈可能なWWWブラウザソフトウェア、携帯電話機400にてJava−APソフトウェアを実行するためのJava実行環境ソフトウェアなどが記憶されている。また、ROM407には、携帯電話機400を一意に識別するための識別子である端末識別子「MS0001」が記憶されている。RAM408は、CPU409の作業エリアとして使用され、CPU409が実行するプログラムが使用するデータが一時的に記憶される。
【0039】
CPU409は、携帯電話機400の電源が入れられると、電源が入れられたことを契機としてROM407からIPLを読み出して実行し、CPU409および携帯電話機400の各部の初期化を行う。CPU409は、初期化を終了するとROM407からOSソフトウェアを読み出し実行する。携帯電話機400のユーザが、操作部404を操作すると、OSソフトウェアを実行しているCPU409は、ユーザの操作に応じて操作部404から出力される信号と表示部404に表示されている画面とに基づいてユーザの指示を特定し、ユーザの指示に応じた処理を行う。
【0040】
[1−3−1.Java実行環境の説明]
図9は、携帯電話機400におけるJava−AP実行環境の構成を例示する図である。
【0041】
JARストレージは、JARファイル105Cを記憶するための記憶領域であり、JAM(Java Application Manager)によって不揮発性メモリ406に確保される。スクラッチパッドは、永続性を持つデータ(アプリケーションの終了後も保持され続けるデータ)を記憶するための記憶領域であり、不揮発性メモリ406に確保される。スクラッチパッドは、JAMによってJava−AP毎に、不揮発性メモリ406に確保される。
【0042】
JAMは、Java−APソフトウェアを管理するものである。JAMは、JARストレージに記憶されて実行可能となっているJava−APソフトウェアのリスト表示、Java−APソフトウェアの実行管理(Java−APソフトウェアの起動・強制終了)、Java−APソフトウェアのインストールや削除を行う機能を有している。
【0043】
またJAMは、Java−APが、当該Java−APが使用するスクラッチパッド以外の記憶領域に書き込まれているデータを読み出して、当該Java−APが使用するスクラッチパッドに書き込んだり、読み出したデータが携帯電話機400から送信されるのを監視する機能を有している。
【0044】
JAMは、ROM407に記憶されている端末識別子を読み出して、読み出した端末識別子をスクラッチパッドへ書き込む指示をJava−APから受けると、ROM407から端末識別子を読み出し、Java−APが使用するスクラッチパッドに読み出した端末識別子を書き込む。また、JAMは、参照したADFに「UsePersonal = utn」が記述されている場合、端末識別子を携帯電話機の外部へ送信する指示をJava−APから受けると、スクラッチパッドに書き込まれた端末識別子を読み出して携帯電話機の外部へ送信する。
【0045】
JAMは、参照したADFに、「UsePersonal = utn」が記述されていない場合には、ROM407に記憶されている端末識別子を読み出しスクラッチパッドへ書き込む指示をJava−APから受けても、端末識別子の読み出しおよび端末識別子のスクラッチパッドへの書き込みを行わない。また、JAMは、参照したADFに、「UsePersonal = utn」が記述されていない場合には、スクラッチパッドに書き込まれた端末識別子を読み出し携帯電話機の外部へ送信する指示をJava−APから受けても、端末識別子を携帯電話機から送信しない。
【0046】
KVM(K Virtual Machine)は、Javaバイトコードをネイティブコードに変換して実行するJVM(Java Virtual Machine)を小型組み込み向けデバイス向けに再設計したものであり、メモリやCPU能力、電池消費に制約があるデバイスで使用されるように設計されている。
【0047】
[1−3−2.Java−APソフトウェア取得時の処理]
次に、携帯電話機400が、Java−APソフトウェアをダウンロードする際に行う処理について説明する。
【0048】
[1−3−2−1.ブラウザ、Java実行環境の実行]
携帯電話機400のユーザが操作部404を操作して、WWWブラウザソフトウェアの実行を指示する操作を行うと、CPU409は、ROM407からWWWブラウザソフトウェアと、Java実行環境ソフトウェアを読み出して実行する。WWWブラウザソフトウェアが実行されると、表示部405がCPU409により制御され、図10に例示したユーザインターフェースとなるブラウザ画面が表示される。以後、CPU409は、ユーザインターフェースとなるブラウザ画面の状態と、操作部404から供給される信号とに基づいてユーザの指示を特定し、この指示に応じた処理を行う。また、Java実行環境ソフトウェアが実行され、Java−AP実行環境が実現される。
【0049】
[1−3−2−2.WWWページ取得]
携帯電話機400のユーザが、図10に示したブラウザ画面が表示されている携帯電話機400にて、WWWサーバが提供するページを表示させるためのファイルのURLを入力する操作を操作部404にて行うと、CPU409は、表示部405を制御して、入力されたURLをブラウザ画面に表示させる。ユーザが、入力したURLで指定されるページの表示を指示する操作、即ち図10に示したブラウザ画面の「表示」ボタンをクリックする操作を操作部404にて行った場合には、CPU409は、通信部402を制御して、当該URLで指定されるファイルを提供しているWWWサーバ装置との間にTCPコネクションを確立する。CPU409は、入力されたURLをパラメータとするGETメソッドを用いたHTTPリクエストを、確立されたTCPコネクションを介してWWWサーバ装置へ送信し、URLで指定されるファイルを要求する。また、CPU409は、このHTTPリクエストへの応答としてWWWサーバ装置から送信される、ファイルを内包したHTTPレスポンスを受信し、当該コネクションを切断する。
【0050】
[1−3−2−3.Java−APソフトウェアのダウンロード]
携帯電話機400のユーザが、Java−APソフトウェアをダウンロードするためのページが携帯電話機400に取得された後、Java−APソフトウェアのダウンロードを指示する操作を操作部404にて行うと、このユーザの指示が実行中のJAMに通知される。
【0051】
具体的には、以下のようにして携帯電話機400のユーザの指示がJAMに通知される。ユーザが、携帯電話機400に表示されたページのハイパーリンク部分をクリックする操作を行うと、WWWブラウザがページを表示させるためのファイルにおいて、ハイパーリンクを表示させるためのAタグにijam属性が記述されているか否かを判断する。WWWブラウザは、Aタグにijam属性が記述されていると判断した場合には、OBJECTタグのdata属性に記述されているURLを抽出する。WWWブラウザは、このURLがADFを指定する場合、即ち、URLが指定するファイルの拡張子がADFを示す「jar」である場合には、ユーザの指示が、Java−APソフトウェアのダウンロードを指示する旨であるとし、Java−APソフトウェアのダウンロードが要求されたことをJAMに通知する。
【0052】
JAMは、Java−APソフトウェアをダウンロードする要求が通知されると、OBJECTタグのdata属性に記述されているADFのURLを抽出する。JAMは、URLで指定されるサーバとの間にTCPコネクションを確立し、抽出したURLをパラメータとするGETメソッドを用いたHTTPリクエストを生成する。JAMは、生成したHTTPリクエストを、確立したTCPコネクションを介してURLで指定されるWWWサーバへ送信する。
【0053】
JAMは、HTTPリクエストへの応答としてWWWサーバから送信される、ADFを内包するHTTPレスポンスを受信する。JAMは、ADFを内包するHTTPレスポンスを受信すると、内包されているADFを参照し、Java−APソフトウェアを、不揮発性メモリ406に記憶させることができるか否かを判断する。具体的には、JAMは、ADFに記述されている、JARファイルのサイズを示す「AppSize」キーとJava−APが使用するスクラッチパッドのサイズを示す「SPsize」キーを参照する。JAMは、ADFに記述されているJava−APソフトウェアのサイズおよび使用するスクラッチパッドのサイズと、JARストレージおよびスクラッチパッドの空き容量を比較し、JARファイルをJARストレージに記憶させることができるか否かと、ダウンロードした後、Java−APが使用するスクラッチパッドの容量を確保できるか否かを判断する。
【0054】
JAMは、新たにJava−APソフトウェアをダウンロードすることが可能であると判断した場合には、ADFを参照し「UsePersonal = utn」がADFに記述されているか否かを判断する。JAMは、ADFに「UsePersonal = utn」が記述されているのを見つけた場合には、ダウンロードしようとしているJava−APソフトウェアを実行することにより実現されるJava−APは、携帯電話機400内に記憶されている個人データである端末識別子を携帯電話機400から送信するJava−APであると判断し、図11に例示する画面を表示部405に表示させる。JAMは、図11に例示した画面を表示させることにより、ダウンロードしようとしているJava−APソフトウェアによって実現されるJava−APが、端末識別子、即ち個人データを携帯電話機400から送信するJava−APであることをユーザに知らしめる。
【0055】
図11に例示した画面を見たユーザが、個人データが携帯電話機400の外部で使用されるのをおそれ、操作部404を操作してJava−APソフトウェアのダウンロードを中止する旨の指示を入力した場合には、JAMは、Java−APソフトウェアのダウンロードを中止する。
【0056】
図11に例示した画面を見たユーザが、個人データが携帯電話機400の外部で使用されるのを承知し、操作部404を操作してJava−APソフトウェアのダウンロードを行う旨の指示を入力した場合には、JAMは、Java−APソフトウェアのダウンロードを継続する。具体的には、JAMは、ADFに記述されている「PackageURL」キーを参照し、JARファイルが記憶されている位置を示すURLを抽出する。JAMは、URLを抽出すると、URLで指定されるWWWサーバとの間にTCPコネクションを確立し、このURLをパラメータとするGETメソッドを用いたHTTPリクエストを生成する。JAMは、生成したHTTPリクエストを、確立したTCPコネクションを介してサーバへ送信する。JAMは、HTTPリクエストへの応答としてサーバから送信される、JARファイルを内包するHTTPレスポンスを受信する。JAMは、JARファイルを内包したHTTPレスポンスを受信すると、このHTTPレスポンスからJARファイルを抽出し、抽出したJARファイルをJARストレージに記憶する。JAMは、ADFに記述されているスクラッチパッドのサイズを示す「SPsize」キーを参照し、「SPsize」キーに指定されてい容量を、ダウンロードしたJava−APソフトウェアによって実現されるJava−AP用にスクラッチパッドに確保する。
【0057】
[1−3−3.Java−APソフトウェア実行時の処理]
次に、携帯電話機400がJava−APソフトウェアの実行を指示された時に行う処理について、図12に示すフローチャートを用いて説明する。
【0058】
ユーザが、不揮発性メモリ406に記憶されて実行可能となっているJava−APソフトウェアのリストを表示させる旨の操作を操作部404にて行うと、CPU409は、ROM407からJava実行環境ソフトウェアを読み出して実行する(ステップSA1)。Java実行環境ソフトウェアが実行されることにより、携帯電話機400にJava−AP実行環境が実現される。Java−AP実行環境が実現されると、CPU409には、JAMおよびKVMの機能が付与される。JAMの機能が付与されたCPU409は、不揮発性メモリ406を参照して、不揮発性メモリ406に記憶されて実行可能となっているJava−APソフトウェアのリストを生成する。CPU409は、リストを生成すると、表示部405を制御して生成したリストを表示部405に表示させる(ステップステップSA2)。
【0059】
CPU409は、Java−APソフトウェアのリストを表示させた後、ユーザからJava−APソフトウェアの実行指示が入力されるのを待つ(ステップSA3)。ユーザが、表示部405に表示されているJava−APソフトウェアを選択し、選択したJava−APソフトウェアの実行を指示する旨の操作を操作部404にて行うと(ステップSA3:YES)、CPU409は、操作部404から出力された信号と、表示部405に表示されている画面とに基づいて、ユーザが実行を指示したJava−APソフトウェアを特定する。CPU409は、特定したJava−APソフトウェアのADFを不揮発性メモリ406から読み出す(ステップSA4)。
【0060】
CPU409は、読み出したADFを参照して、ADFに「UsePersonal = utn」属性が記述されているか否かを判断することにより、ユーザが実行を指示したJava−APソフトウェアにより実現されるJava−APが、携帯電話機400内に記憶されている端末識別子を携帯電話機400から送信するJava−APであるか否かを判断する(ステップSA5)。
【0061】
CPU409は、ユーザが実行を指示したJava−APソフトウェアにより実現されるJava−APが、携帯電話機400内に記憶されている端末識別子を携帯電話機400から送信しないJava−APであると判断した場合には(ステップSA5:NO)、CPU409は、不揮発性メモリ406からJARファイルを読み出して(ステップSA9)、実行する(ステップSA10)。
【0062】
CPU409は、ユーザが実行を指示したJava−APソフトウェアにより実現されるJava−APが、携帯電話機400内に記憶されている端末識別子を携帯電話機400から送信するJava−APであると判断した場合には(ステップSA5:YES)、表示部405に、ユーザに実行の許否の指示入力を促す画面を表示させ(ステップSA6)、当該Java−APソフトウェアを実行してもよいか否かをユーザに確認させる。CPU409は、実行の許否の指示入力を促す画面を表示させた後、ユーザからの指示が入力されるのを待つ(ステップSA7)。
【0063】
操作部404がユーザにより操作され、ユーザの操作内容を示す信号がCPU409に入力されると、CPU409は、ユーザが行った操作がJava−APソフトウェアの実行を指示するものであるか否かを判断する(ステップSA8)。ユーザの指示が、Java−APソフトウェアの実行の中止を指示するものである場合には(ステップSA8:NO)、CPU409は、Java−APソフトウェアを実行しない。
【0064】
ユーザの指示が、Java−APソフトウェアの実行を指示するものである場合には(ステップSA8:YES)、CPU409は、不揮発性メモリ406からJARファイルを読み出す(ステップSA9)。Java実行環境ソフトウェアが実行されることにより、KVMの機能が付与されているCPU409は、読み出したJARファイルに内包されているJavaバイトコードをネイティブコードに変換し、Java−APソフトウェアを実行する(ステップSA10)。
【0065】
CPU409は、Java−APソフトウェアを実行させた後、実行されているJava−APソフトウェアを終了させる指示が入力されるのを待つ(ステップSA11)。ユーザが操作部404を操作して、実行されているJava−APソフトウェアを終了させる旨の指示を入力すると、ユーザの操作内容を示す信号がCPU409に入力され、CPU409は、実行中のJava−APソフトウェアを終了する。
【0066】
[2.動作例]
[2−1.Java−APソフトウェアダウンロード時の動作例]
次に、Java−APソフトウェアが、Java−APソフトウェア配信サーバ100からダウンロードされる時の動作例について、図13に示すシーケンス図を用いて説明する。なお、携帯電話機400は、ユーザの操作によって電源が入れられ、WWWブラウザが既に実行されているものとする。なお、携帯電話機400に記憶されている、前述のOS、WWWブラウザ、JAM、KVM、Java−APが行う動作は、携帯電話機400の動作となることから、以降の説明では、動作の主体を携帯電話機400とする。
【0067】
Java−APソフトウェア配信サーバ100が提供するJava−APソフトウェアを携帯電話機400へインストールさせる動作は、携帯電話機400のユーザが、携帯電話機400を操作して、Java−APソフトウェア配信サーバ100に記憶されている説明ファイル105Aの取得を試みることから始まる。
【0068】
携帯電話機400のユーザが、携帯電話機400の操作部404を操作して、説明ファイル105AのURL(“http://www.abc.co.jp/java/kabuka.html”)を入力した後、図10に示した画面例に示されている「表示」ボタンをクリックする操作を行うと(ステップS101)、携帯電話機400では、説明ファイル105AのURLをパラメータとするGETメソッドを用いたHTTPリクエストが生成される(ステップS102)。このHTTPリクエストは、携帯電話機400から送信され、移動パケット通信網300、インターネット200を介して、Java−APソフトウェア配信サーバ100へ送信される(ステップS103)。
【0069】
Java−APソフトウェア配信サーバ100にてHTTPリクエストが受信されると、記憶部105から説明ファイル105Aが読み出され(ステップS104)、読み出された説明ファイル105Aを内包するHTTPレスポンスが生成される(ステップS105)。このHTTPレスポンスは、Java−APソフトウェア配信サーバ100から送信され、インターネット200、移動パケット通信網300を介して、携帯電話機400へ送信される(ステップS106)。
【0070】
携帯電話機400が、HTTPレスポンスを受信すると、このHTTPレスポンスに内包されている説明ファイル105AがWWWブラウザにより解釈され、説明ファイル105Aの内容に応じたユーザインターフェースが提供される。この結果、携帯電話機400の表示部405には、図5に示したページP01が表示される(ステップS107)。
【0071】
このページP01を見たユーザが、ページP01のハイパーリンクP01Aの部分をクリックする操作を行うと(ステップS108)、携帯電話機400では、説明ファイル105Aに記述されているアンカータグ(“<A”で始まるタグ)のijam属性が参照される。携帯電話機400では、ijam属性が記述されていることから、OBJECTタグが参照され、OBJECTタグのdata属性に記述されている、ADF105Bを取得するためのURL(“http://www.abc.co.jp/java/kabuka.jam”)が抽出される。次に、携帯電話機400では、抽出したURLをパラメータとするGETメソッドを用いたHTTPリクエストが生成され(ステップS109)、Java−APソフトウェア配信サーバ100へ送信される(ステップS110)。
【0072】
Java−APソフトウェア配信サーバ100にてHTTPリクエストが受信されると、このHTTPリクエストに応じてADF105Bが記憶部105から読み出される(ステップS111)。Java−APソフトウェア配信サーバ100では、読み出されたADF105Bを内包するHTTPレスポンスが生成され(ステップS112)、生成されたHTTPレスポンスが携帯電話機400へ送信される(ステップS113)。
【0073】
携帯電話機400が、ADF105Bを内包するHTTPレスポンスを受信すると、HTTPレスポンスに内包されているADF105Bが参照される。携帯電話機400では、ADF105Bに「UsePersonal = utn」が記述されていることから、端末識別子、即ち個人データを送信するJava−APソフトウェアのダウンロードを行うか否かをユーザに問い合わせるため、表示部405に図11に示した画面が表示される(ステップS114)。これにより、携帯電話機400は、ダウンロードされるJava−APソフトウェアを実行することにより実現されるJava−APが端末識別子、即ち個人データを送信するJava−APであることをユーザに知らしめ、ダウンロードを行うかを確認させる。
【0074】
図11に示した画面を見た携帯電話機400のユーザが、画面に示されている「OK」ボタンをクリックする操作を行うと(ステップS115)、携帯電話機400では、ADF105BからPackageURL(“http://www.abc.co.jp/java/kabuka.jar”)が抽出され、抽出されたPackageURLをパラメータとするGETメソッドを用いたHTTPリクエストが生成される(ステップS116)。生成されたHTTPリクエストは、携帯電話機400からJava−APソフトウェア配信サーバ100へ送信される(ステップS117)。
【0075】
Java−APソフトウェア配信サーバ100にて、PackageURLを内包したHTTPリクエストが受信されると、このHTTPリクエストに対応するJARファイル105Cが記憶部105から読み出される(ステップS118)。Java−APソフトウェア配信サーバ100では、JARファイル105Cが読み出されると、このJARファイル105Cを内包したHTTPレスポンスが生成される(ステップS119)。このHTTPレスポンスは、Java−APソフトウェア配信サーバ100から送信され(ステップS120)、携帯電話機400にて受信される。携帯電話機400にて、HTTPレスポンスが受信されると、HTTPレスポンスに内包されているJARファイル105Cと、既にダウンロードしてあるADF105Bとが不揮発性メモリ406に記憶される(ステップS121)。
【0076】
[2−2.株価情報APソフトウェアダウンロード中止時の動作例]
次に、携帯電話機400のユーザが、Java−APソフトウェアのダウンロードを中止する時の動作について、説明する。なお、ステップS101からステップS114までの動作は、上述したJava−APソフトウェアをダウンロードする時の動作と同様であるため、その説明を省略する。
【0077】
携帯電話機400のユーザが、図11に示した、ダウンロードを行うか否かをユーザに問い合わせるための画面を見た後、個人データが送信されるようなJava−APは使用したくないと考え、図11に示した画面に示されている「中止」ボタンをクリックする操作を行うと、携帯電話機400は、図14に例示する画面を表示部405に表示させ、Java−APソフトウェアのダウンロードを中止する。
【0078】
[2−3.株価情報AP実行時の動作例]
次に、株価情報APが携帯電話機400にて実行される時の動作例について説明する。なお、以下に述べる動作例の説明において、株価情報APソフトウェアは、既に上述した動作により携帯電話機400にダウンロードされているものとする。
【0079】
携帯電話機400のユーザにより、JARストレージに記憶されて実行可能となっているJava−APソフトウェアの一覧を表示させる旨の指示が入力されると、携帯電話機400では、Java−AP実行環境が実現される。携帯電話機400では、Java−AP実行環境が実現されると不揮発性メモリ406に記憶されているJava−APソフトウェアが参照され、実行可能なJava−APソフトウェアのリストが生成される。携帯電話機400では、この生成されたリストが表示部405に表示される。
【0080】
Java−APソフトウェアのリストを見たユーザが、既にダウンロードされて実行可能となっている株価情報APソフトウェアを選択し、選択した株価情報APソフトウェアの実行を指示する操作を行うと、携帯電話機400では、選択された株価情報APのADF105Bが参照される。携帯電話機400が参照したADF105Bには、「UsePersonal = utn」が記述されているため、携帯電話機400では、株価情報APが、個人データである端末識別子を携帯電話機400から送信するJava−APであると判断され、図15に例示したJava−APソフトウェアの実行を確認するための画面が表示される。
【0081】
図15に例示した画面を見たユーザが、携帯電話機400に記憶されている端末識別子、即ち個人データが携帯電話機400から送信されるのを了承し、Java−APソフトウェアの実行を指示する操作を行うと、株価情報APが実行される。
【0082】
株価情報APが実行されると、図16に例示した画面が携帯電話機400の表示部405に表示される。携帯電話機400のユーザが、株価情報を所望する銘柄を登録する操作ために、「銘柄の指定・削除」をクリックする操作を操作部404にて行うと、図17に例示した画面が表示部405に表示される。携帯電話機400のユーザが、携帯電話機400を操作し、情報を所望する銘柄として「ABC会社」を指定し、「登録」をクリックする操作を行うと、ROM407に記憶されている端末識別子「MS0001」が読み出され、株価情報AP用のスクラッチパッドに記憶される。端末識別子がスクラッチパッドに記憶されると、ユーザが指定した銘柄名「ABC会社」と携帯電話機400の端末識別子「MS0001」とを内包する銘柄登録要求が生成され、生成された銘柄登録要求がJava−APソフトウェア配信サーバ100へ送信される。
【0083】
銘柄登録要求を受信したJava−APソフトウェア配信サーバ100では、受信した銘柄登録要求に内包されている銘柄名「ABC会社」と端末識別子「MS0001」とが対応づけられて、記憶部105のJava−AP利用者テーブル105Eに図7に示したように格納される。
【0084】
次に、携帯電話機400のユーザが、指定した銘柄の株価情報を閲覧するために、表示部405に表示されている図16に示した画面の「株価情報の取得」をクリックする操作を操作部404にて行うと、株価情報AP用のスクラッチパッドに記憶されている端末識別子「MS0001」が読み出され、読み出された端末識別子を内包する株価情報取得要求が生成される。生成された株価情報取得要求は、携帯電話機400から送信され、移動パケット通信網300およびインターネット200を介してJava−APソフトウェア配信サーバ100へ送信される。
【0085】
Java−APソフトウェア配信サーバ100にて株価情報取得要求が受信されると、Java−APソフトウェア配信サーバ100では、株価取得要求に内包されている端末識別子「MS0001」をキーにして、記憶部105に記憶されているJava−AP利用者テーブル105Dが検索される。Java−APソフトウェア配信サーバ100では、該当する端末識別子がJava−AP利用者テーブル105Dの中から見つけられると、端末識別子「MS0001」に対応づけて記憶されている、携帯電話機400のユーザが登録した銘柄名「ABC会社」が読み出される。次にJava−APソフトウェア配信サーバ100では、読み出した銘柄名「ABC会社」をキーにして、記憶部105に記憶されている、図3に示した株価情報テーブル105Eが検索され、「ABC会社」の株価情報「100円」が読み出される。Java−APソフトウェア配信サーバ100では、読み出された「ABC会社」の株価情報「100円」を内包する株価情報応答が生成され、端末識別子「MS0001」で識別される携帯電話機400へ生成された株価情報応答が送信される。
【0086】
株価情報応答を受信した携帯電話機400では、当該応答に内包されている「ABC会社」の株価情報が抽出される。抽出された株価情報は、図18に例示したように、表示部405に表示される。
【0087】
以上説明したように、本実施形態によれば、Java−APソフトウェアをダウンロードしようとする者が、Java−APが携帯電話機400内部の個人データを携帯電話機400から送信するJava−APであることを確認した上でダウンロードを行うことになる。したがって、携帯電話機400内部の個人データが携帯電話機400から送信されることを望まないというユーザが、携帯電話機400内部の個人データを携帯電話機400から送信するJava−APソフトウェアをダウンロードしてしまう虞を無くすことができる。また、携帯電話機400においてJava−APソフトウェアが実行される際にも、Java−APソフトウェアが実行されることにより実現されるJava−APが携帯電話機400内部の個人データを携帯電話機400から送信するJava−APであることを携帯電話機400のユーザが確認した上でJava−APソフトウェアが実行されることになる。したがって、携帯電話機400内部の個人データが携帯電話機400から送信されることを望まないというユーザが、携帯電話機400内部の個人データを携帯電話機400の外部へ送信するJava−APを実現するためのJava−APソフトウェアを実行してしまう虞を無くすことができる。
【0088】
[3.変形例]
上述した実施形態では、Java−APソフトウェア配信サーバ100は、インターネット200を介して移動パケット通信網300に接続されているが、Java−APソフトウェア配信サーバ100を、専用線で移動パケット通信網300に接続するようにしてもよい。
【0089】
上述した実施形態では、携帯電話機400はJava−APが実現された際に、Java−APソフトウェアの配信元のサーバと通信を行うようになっているが、Java−APが実現されている携帯電話機400が通信を行うのは、Java−APソフトウェアの配信元のサーバに限定されるものではない。例えば、上述した実施形態において、株価情報を配信するWWWサーバを別に設け、株価情報APソフトウェアを実行している携帯電話機400が、新たに設けられた株価情報配信用のサーバと通信を行うことにより株価情報を得るようにしてもよい。
【0090】
上述した実施形態では、Java−APが実現されている携帯電話機400からJava−APソフトウェア配信サーバ100へ送信される個人データとして、携帯電話機を一意に識別するための端末識別子が用いられているが、Java−APが実現されている携帯電話機400から送信される個人データは、端末識別子に限定されるものではない。Java−APが実現されている携帯電話機400から送信される個人データは、携帯電話機400を所有しているユーザの電話番号など他の個人データであってもよい。
【0091】
また、上述した携帯電話機400と移動パケット通信網300が、IMT−2000(International Mobile Telecommunication 2000)に準拠したものであってもよい。IMT−2000に準拠した携帯電話機には、携帯電話機のユーザの契約者データを記録したUIM(User Identity Module)というICカードが使用される。Java−APが実現されている携帯電話機がIMT−2000に準拠した携帯電話機である場合、携帯電話機からJava−APソフトウェア配信サーバ100へ送信される個人データは、UIMに記憶されているUIMの識別番号や、UIMの識別番号と携帯電話機の端末識別子を組み合わせたものであってもよい。
【0092】
上述した実施形態では、携帯電話機400からJava−APソフトウェア配信サーバ100へ送られる個人データは平文で送信されているが、個人データを任意のアルゴリズムで変換し、この変換により得られるデータを送信するようにしてもよい。
【0093】
上述した実施形態では、携帯電話機400とJava−APソフトウェア配信サーバ100との間で行われる通信にHTTPが用いられているが、通信に用いられるプロトコルはこれに限定されるものではなく、HTTPS(Hypertext Transfer Protocol Security)などの暗号化機能を付加したプロトコルを用いて通信を行うようにしてもよい。
【0094】
上述した実施形態において、携帯電話機400が個人データをJava−APソフトウェア配信サーバ100へ送信する際に、個人データを送信しても良いか否かを携帯電話機400のユーザに問い合わせるようにしてもよい。
【0095】
上述した実施形態において、Java−APソフトウェアのダウンロード終了後、図19に例示するJava−APの詳細に関する設定画面を携帯電話機400の表示部405に表示させて、ダウンロードしたJava−APソフトウェアにより実現されるJava−APが個人データを送信するJava−APであることをユーザに再度確認させるようにしてもよい。
【0096】
上述した実施形態では、携帯電話機400は、株価情報APソフトウェアをJava−APソフトウェア配信サーバ100からダウンロードしているが、携帯電話機400の出荷時に予め携帯電話機400の記憶部に株価情報APソフトウェアを記憶させて出荷するようにしてもよい。
【0097】
端末識別子がスクラッチパッドに書き込まれるタイミングは、上述した実施形態に示したタイミングに限定されるものではない。端末識別子は、株価情報APの実行開始時にROM407から読み出され、スクラッチパッドに記憶されるようにしてもよい。
【0098】
上述した携帯電話機400のROM407に記憶されている各種ソフトウェアは、書き換えが可能なようにしてもよい。各種ソフトウェアを書き換える方法の一例としては、以下のような方法が挙げられる。例えば、各種ソフトウェアを記録したCD−ROM(Compact Disc Read Only Memory)などの記録媒体を、パーソナルコンピュータのCD−ROMドライブに挿入し、このパーソナルコンピュータと、ROM407に替えてフラッシュROMを用いている携帯電話機とをケーブルで接続する。パーソナルコンピュータが、CD−ROMに記録された各種ソフトウェアを読み取り、読み取ったソフトウェアをケーブルで接続されている携帯電話機へ送信する。そして、ソフトウェアを受信した携帯電話機が、受信したソフトウェアをフラッシュROMに書き込むことにより、携帯電話機に記憶されている各種ソフトウェアをバージョンアップすることが可能となる。
【0099】
上述した変形例では、各種ソフトウェアを記録した記録媒体としてCD−ROMを挙げているが、記録媒体はこれに限定されるものではない。DVD−ROMや、フラッシュROMを内蔵したICカード、フロッピーディスクなど他の記録媒体であってもよい。
【0100】
上述した実施形態では、携帯電話機のROM407に記憶されている端末識別子がROM407から読み出されて個人データとして送信されている、即ち、携帯電話機内に記憶されている個人データが読み出されて個人データとして送信されているが、携帯電話機400のユーザが操作部404を用いて入力した個人データをJava−APソフトウェア配信サーバ100へ送信するようにしてもよい。
【0101】
上述した実施形態では、Java実行環境およびJava−APが用いられているが、携帯電話機に記憶されている個人データが、携帯電話機の使用者の許可ない場合には送信されないようにするものであれば、アプリケーションソフトウェアの実行環境はJava実行環境に限定されない。またアプリケーションソフトウェアも、Javaプログラミング言語を用いて作成されたものに限定されず、他のプログラミング言語を用いて作成されたものでもよい。
【0102】
上述した実施形態では、個人データは、携帯電話機400のユーザがJava−APソフトウェアを実行している携帯電話機400を操作したことをトリガとして携帯電話機400から送信されているが、携帯電話機400がJava−APソフトウェア配信サーバ100から個人データを要求されたことをトリガとして、携帯電話機400から送信されるようにしてもよい。
【0103】
【発明の効果】
以上説明したように本発明によれば、通信端末においてアプリケーションソフトウェアを実行させる際に、通信端末のユーザの個人データがユーザの許可なしに通信端末から送信されるのを防止することが可能となる。
【図面の簡単な説明】
【図1】本発明の実施形態に係わる通信システムの全体構成を例示する図である。
【図2】本発明の実施形態に係わるJava−APソフトウェア配信サーバ100のハードウェア構成を例示するブロック図である。
【図3】株価情報テーブル105Eの内容を示す図である。
【図4】説明ファイル105Aの内容を示す図である。
【図5】Java−APソフトウェア配信サーバ100が配信するページを示す図である。
【図6】ADF105Bの内容を示す図である。
【図7】Java−AP利用者テーブル105Dの内容を示す図である。
【図8】本発明の実施形態に係わる携帯電話機400のハードウェア構成を例示する図である。
【図9】Java−AP実行環境の構成を例示する図である。
【図10】携帯電話機400にてWWWブラウザが実行された時に表示されるブラウザ画面を例示する図である。
【図11】個人データを送信するJava−APソフトウェアをダウンロードする際に表示されるメッセージを示す図である。
【図12】本発明の実施形態に係わる携帯電話機400が、Java−APソフトウェアを実行する時の処理の流れを例示するフローチャートである。
【図13】携帯電話機400がJava−APソフトウェアをダウンロードする時の動作例を示すシーケンス図である。
【図14】Java−APソフトウェアのダウンロードを中止した時に表示される画面を例示する図である。
【図15】個人データを携帯電話機400の外部へ送信するJava−APソフトウェアを実行する際に表示される警告メッセージを示す図である。
【図16】株価情報APの実行開始時に表示される画面を例示する図である。
【図17】株価情報APの実行開始時に表示される画面に示されている「銘柄の登録・削除」をクリックした後に表示される画面を例示する図である。
【図18】Java−APソフトウェア配信サーバ100から取得した株価情報を表示した画面を例示する図である。
【図19】実施形態の変形例において、携帯電話機400の表示部405に表示される、Java−APの詳細に関する設定画面を例示する図である。
【符号の説明】
100・・・Java−APソフトウェア配信サーバ、101・・・バス、102・・・通信部、103・・・操作部、104・・・表示部、105・・・記憶部、105A・・・説明ファイル、105B・・・ADF、105C・・・JARファイル、105D・・・Java−AP利用者テーブル、105E・・・株価情報テーブル、106・・・ROM、107・・・RAM、108・・・CPU
200・・・インターネット
300・・・移動パケット通信網
400・・・携帯電話機、401・・・バス、402・・・通信部、403・・・アンテナ、404・・・操作部、405・・・表示部、406・・・不揮発性メモリ、407・・・ROM、408・・・RAM、409・・・CPU
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a technique for controlling the execution of an application program that can use data unique to an individual.
[0002]
[Prior art]
2. Description of the Related Art In recent years, distribution of Java (registered trademark) application software executable on a mobile phone from a WWW (World Wide Web) server connected to the Internet has been widely performed. The Java application software has a JAR (Java Archive) file containing a program created using the Java programming language, and an ADF (Application Descriptor File) describing data related to the JAR file. When a user of the mobile phone downloads the file to the mobile phone and instructs the mobile phone to execute Java application software, the Java application (hereinafter, Java-AP) is realized on the mobile phone. Various functions are added to the mobile phone.
[0003]
A user of a mobile phone can download desired software from a number of WWW servers connected to the Internet and add a desired function to the mobile phone. However, if any function can be added, for example, data stored in the mobile phone may be destroyed by malicious software, or data specific to an individual stored in the mobile phone (hereinafter, individual Data) may be leaked out of the mobile phone against the intention of the user.
[0004]
Therefore, a mobile phone that can execute Java-AP software is designed to restrict the behavior of Java-AP that is realized by executing Java-AP software. For example, a storage area that can be used by Java-AP is limited to a specific storage area different from a storage area in which personal data is stored. Further, a Java-AP that performs communication can communicate only with a server that has distributed Java-AP software. Furthermore, in a mobile phone, when a Java-AP communicates with a server that provides Java-AP software, the Java-AP inquires of the user whether communication is permitted or not, and performs communication only when the communication is permitted. In this case, the Java-AP is allowed only to behave.
[0005]
In addition, a technique for restricting execution of Java-AP software is known (for example, refer to Patent Document 1). Patent Literature 1 describes that a user is inquired whether or not to permit execution of a program, and the program is executed only when the user has given permission.
[0006]
[Patent Document 1]
JP 2001-117770 A
[0007]
[Problems to be solved by the invention]
By the way, there is a case where a provider of Java-AP software that communicates with a distribution source WWW server wants to specify a user of the Java-AP communicating with the server. However, since the conventional Java-AP can use only a specific storage area, the user is required to notify the Java-AP of personal data such as identification data for identifying the user of the Java-AP. The notified identification data is transmitted to the server of the Java-AP software provider. However, it can be said that it is troublesome for the user to notify the identification data to the Java-AP every time the Java-AP transmits the identification data.
[0008]
In order to avoid trouble for the user, it is conceivable that the specification allows the writing of the identification data notified by the user to a specific storage area for Java-AP. In this case, the identification data notified by the user is specified. After that, the Java-AP can transmit the data for identifying the user to the server without requiring the notification of the user. If the user wants to always send data to identify the user, such a specification is acceptable, but for a user who does not, such a specification may be contrary to the user's intention. turn into.
[0009]
The present invention has been made in view of the circumstances described above, and prevents a personal data of a user of a communication terminal from being transmitted from the communication terminal without permission of the user, a communication terminal, an application execution method, a program, and recording. The purpose is to provide a medium.
[0010]
[Means for Solving the Problems]
In order to solve the above-described problems, the present invention provides a first storage unit that stores a program, an execution unit that executes the program stored in the first storage unit, and the execution unit executes the program. Inputting a user's instruction in a communication terminal having second storage means for storing data read and written by an application realized by the above, and transmission means for transmitting the data to an external device by the application. And an instruction input means for executing a program for realizing an application which is stored in the first storage means and which can acquire personal data of the user and transmit the personal data to an external device. When an instruction is input by the instruction input unit, the input of an instruction indicating whether to permit execution of the program is A communication terminal comprising: first confirmation means for prompting a user; and execution permission means for permitting execution of the program by the execution means only when an instruction to permit execution is input by the instruction input means. I will provide a.
[0011]
Also, the present invention provides a first storage unit for storing a program, an execution unit for executing the program stored in the first storage unit, and an application realized by executing the program by the execution unit. Instruction input means for inputting a user's instruction, a computer device having a second storage means for storing data to be read and written, and a transmission means for transmitting data to the external device by the application; An instruction to execute a program, which is a program stored by the first storage unit and realizes an application capable of acquiring personal data of the user and transmitting the personal data to an external device, is issued by the instruction input unit. When input, the first confirmation prompts the user to input an instruction indicating whether to permit execution of the program. Means, only when the instruction to allow the execution is input by said instruction input means to provide a program for functioning as an execution permission means for permitting execution of the program by the execution unit.
[0012]
Also, the present invention provides a first storage unit for storing a program, an execution unit for executing the program stored in the first storage unit, and an application realized by executing the program by the execution unit. Instruction input means for inputting a user's instruction, a computer device having a second storage means for storing data to be read and written, and a transmission means for transmitting data to the external device by the application; An instruction to execute a program, which is a program stored by the first storage unit and realizes an application capable of acquiring personal data of the user and transmitting the personal data to an external device, is issued by the instruction input unit. When input, the first confirmation prompts the user to input an instruction indicating whether to permit execution of the program. Means, and a computer-readable program storing a program for functioning as execution permission means for permitting execution of the program by the execution means only when an instruction to permit execution is input by the instruction input means. A recording medium is provided.
[0013]
According to the present invention, when the user inputs an instruction to execute a program for realizing an application capable of acquiring personal data of a user and transmitting the personal data to an external device, the communication terminal executes the program The user is prompted to input an instruction indicating whether or not execution of the program is permitted, and the execution of the program is permitted only when the user inputs an instruction to permit execution of the program.
[0014]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, embodiments of the present invention will be described with reference to the drawings.
[0015]
[1. Configuration of Embodiment]
[1-1. overall structure]
FIG. 1 is a diagram illustrating an overall configuration of a communication system 10 according to the present invention. Although a large number of mobile phones and a Java-AP software distribution server exist in the communication system 10, only one mobile phone 400 and one Java-AP software distribution server 100 are shown to prevent the drawing from becoming complicated. ing.
[0016]
The Java-AP software distribution server 100 is a server operated by a company that distributes Java-AP software to the mobile phone 400. The Java-AP software distribution server 100 is capable of performing packet communication, and is connected to the Internet 200. The Java-AP software distribution server 100 has functions similar to those of a general WWW server, such as performing communication in accordance with HTTP (HyperText Transfer Protocol), and has a domain name of “www.abc.co”. .Jp ". The Java-AP software distribution server 100 distributes software for realizing Java-AP for displaying stock price information, and provides a service of providing stock price information to the mobile phone 400 that has downloaded this software.
[0017]
The mobile packet communication network 300 is a communication network that provides mobile data communication services. The mobile packet communication network 300 is connected to a wireless base station that performs wireless communication with a mobile phone 400 owned by a person who has made a subscriber contract with a communication carrier that operates the mobile packet communication network 300, and a wireless base station. And a gateway exchange connected to the exchange. The mobile packet communication network 300 has a gateway server for relaying communication performed between the gateway exchange and the Internet 200 (both are not shown). The mobile packet communication network 300 uses the above-described device installed in the mobile packet communication network 300 and a mobile phone 400 accommodated in the mobile packet communication network 300 and Java-AP software connected to the Internet 200. It relays packet communication performed with a WWW server such as the distribution server 100.
[0018]
The mobile phone 400 is a mobile phone owned by a user (not shown) and can receive a mobile data communication service provided by the mobile packet communication network 300. The mobile phone 400 has a packet communication function, and performs packet communication between the mobile packet communication network 300 and the WWW server such as the Java-AP software distribution server 100 connected to the Internet 200 via the Internet 200. It can be performed.
[0019]
[1-2. Configuration of Java-AP software distribution server]
[1-2-1. Hardware configuration]
FIG. 2 is a block diagram illustrating a hardware configuration of the Java-AP software distribution server 100. As shown in FIG. 2, each unit of the Java-AP software distribution server 100 is connected to a bus 101, and data is exchanged between the units via the bus 101.
[0020]
The communication unit 102 is a communication interface for performing communication using the Internet 200, and is connected to the Internet 200. The operation unit 103 is for inputting an instruction for operating the Java-AP software distribution server 100, and has a keyboard and a mouse (not shown). When the operation unit 103 is operated by the user of the Java-AP software distribution server 100, the operation unit 103 outputs a signal indicating the operation contents of the user to the CPU 108. The display unit 104 includes a liquid crystal display panel (not shown) and a control circuit that controls display of the liquid crystal display panel. The display unit 104 operates a character or graphic screen and the Java-AP software distribution server 100 under the control of the CPU 108. To display a menu screen or the like.
[0021]
The storage unit 105 includes a device (not shown) that permanently stores data, such as a hard disk device. The storage unit 105 stores a server program for causing the Java-AP software distribution server 100 to function as a general WWW server, such as a data transmission / reception function based on HTTP. The storage unit 105 also stores a JAR (Java Archive) file 105C containing a program created using the Java programming language, an ADF (Application Descriptor File) 105B describing data related to the JAR file, and a JAR file 105C. And an explanation file 105A for explaining the contents of the Java-AP software including the ADF 105B to the user of the mobile phone serving as a client. Further, the storage unit 105 stores a Java-AP user table 105D in order to provide a service for providing stock price information to a device that has downloaded the Java-AP software distributed by the Java-AP software distribution server 100. , A stock price information table 105E. The stock price information table 105E is a table in which stock prices of listed companies are stored. As illustrated in FIG. 3, stock names of stocks and stock prices of individual stocks are stored in association with each other. The Java-AP user table 105D will be described later.
[0022]
The ROM (Read Only Memory) 106 stores an IPL (Initial Program Loader). When the user of the Java-AP software distribution server 100 turns on the power of the Java-AP software distribution server 100, the CPU 108 sets the RAM (Random Access Memory) 107 as a work area, reads the IPL from the ROM 106, reads the IPL from the ROM 106, and reads the CPU 108 and Java. -Initialize each unit of the AP software distribution server 100. When the initialization is completed, the CPU 108 reads out the server program from the storage unit 105 and executes it.
[0023]
[1-2-2. Explanation file, ADF, JAR file]
As illustrated in FIG. 4, the description file 105A is described in CHTML (Compact HyperText Markup Language), which is one of markup languages, and the URL is “http://www.abc.co.jp/java”. /Kabuka.html ". When the description file 105A is interpreted by a WWW browser capable of interpreting CHTML, a page P01 for introducing Java-AP software provided by the Java-AP software distribution server 100 is displayed as shown in FIG. On this page P01, a hyperlink P01A for downloading Java-AP software provided by the Java-AP software distribution server 100 is displayed.
[0024]
In the description file 105A, an A tag and an OBJECT tag are used in order to download a Java-AP software to a mobile phone as a client. The A tag is a tag for displaying a hyperlink on a page. When the description file 105A illustrated in FIG. 4 is interpreted by the WWW browser, the description between “<A” and “/ A>” is displayed on the page P01 as a hyperlink P01A. The ijam attribute described in the A tag is an attribute for referring to the OBJECT tag when the hyperlink displayed by the A tag is clicked. The OBJECT tag is a tag used to specify the ADF of Java-AP software. The data attribute is used to specify a URL indicating the storage location of the ADF of the Java-AP software. In the description file 105A, the URL of the ADF 105B is “http://www.abc.co.jp/java/kabuka. jam ”is described.
[0025]
From the Java-AP software distribution server 100, software for realizing Java-AP (hereinafter, referred to as stock price information AP) named “stock price information” is delivered. When the stock price information AP software is executed on a mobile phone serving as a client, the stock price information AP software obtains stock price information of a brand designated by a user of the stock price information AP from the Java-AP software distribution server 100 that has delivered the stock price information AP software. Display function.
[0026]
The JAR file 105C is a file in which class files and resource files necessary for realizing Java-AP are combined into one, and is used when distributing software created using the Java language. The JAR file 105C stores class files and resource files necessary to realize the above-described stock price information AP.
[0027]
The ADF 105B is a text file that describes a JAR file 105C that is paired with the ADF 105B and Java-AP data that is realized by a class file and a resource file stored in the JAR file 105C. As the data relating to the Java-AP, for example, as shown in FIG. 6, a package URL (http://www.abc) indicating the file size of the JAR file 105C paired with the ADF 105B and the position where the JAR file 105C is stored. .Co.jp / java / kabuka.jar). When the Java-AP is a Java-AP having a function of transmitting a terminal identifier, which is one of personal data stored in a mobile phone serving as a client, to the outside of the mobile phone, the ADF 105B stores Describes “UsePersonal = utn” which is an attribute indicating that. When the stock price information AP realized by the stock price information AP software distributed by the Java-AP software distribution server 100 is executed by a mobile phone serving as a client, a terminal identifier which is personal data of the mobile phone serving as a client is transmitted from the mobile phone. Therefore, "UsePersonal = utn" is described in the ADF 105B.
[0028]
[1-2-3. File Delivery]
The Java-AP software distribution server 100 transmits the description file 105A, ADF 105B, and JAR file 105C to the client mobile phone in response to an HTTP request from the client mobile phone.
[0029]
When receiving the HTTP request using the GET method using the URL of the description file 105A as a parameter, the Java-AP software distribution server 100 reads the description file 105A from the storage unit 105. Upon reading the description file 105A, the Java-AP software distribution server 100 generates an HTTP response including the read description file 105A, and transmits the HTTP response to a mobile phone serving as a client that has transmitted the HTTP request.
[0030]
When the URL that is the parameter of the GET method is the URL of the ADF 105B, the ADF 105B is read from the storage unit 105 and the read ADF 105B is transmitted to the mobile phone 400, as in the case of the description file 105A. If the URL that is the parameter of the GET method is the URL of the JAR file 105C, the JAR file 105C is read from the storage unit 105 and the JAR file read to the mobile phone serving as the client, as in the case of the description file 105A. Send 105C.
[0031]
[1-2-4. Distribution of Stock Price Information]
The server program stored in the ROM 106 has a function of communicating with a mobile phone serving as a client executing the stock price information AP and transmitting stock price information to the mobile phone serving as a client.
[0032]
When the stock price information AP is executed on the mobile phone serving as a client and the user of the stock price information AP performs an operation of registering the brand of the desired stock price information, the name of the brand desired by the user is registered from the mobile phone serving as the client. And the terminal identifier of the mobile phone serving as the client are transmitted to the Java-AP software distribution server 100.
[0033]
The CPU 108 of the Java-AP software distribution server 100 receives the registration request transmitted from the mobile phone 400 executing the stock price information AP and including the brand name and the terminal identifier of the stock price information desired by the user. The obtained terminal identifier and the company name are stored in the Java-AP user table 105D in association with each other. The Java-AP user table 105D is a table for managing users of the stock price information AP, and as illustrated in FIG. 7, the terminal identifier of the mobile phone transmitted from the mobile phone 400 and the user's desire. The brand name of the stock price information and the company name are associated with each other.
[0034]
When the stock price information AP is executed on the mobile phone serving as a client and the user of the stock price information AP performs an operation of acquiring stock price information of a brand registered, the terminal identifier of the mobile phone serving as the client is transmitted from the mobile phone serving as the client. Is transmitted to the Java-AP software distribution server 100.
[0035]
When the CPU 108 of the Java-AP software distribution server 100 receives a stock price information acquisition request including a terminal identifier transmitted from a mobile phone serving as a client on which the stock price information AP is executed, the CPU 108 is included in the stock price information acquisition request. The Java-AP user table 105D stored in the storage unit 105 is searched using the terminal identifier as a key. When finding the corresponding terminal identifier from the Java-AP user table 105D, the CPU 108 reads out the brand name stored in association with the terminal identifier. Next, the CPU 108 searches the stock price information table 105E using the read brand name as a key, and reads out the stock price information stored in association with the brand name from the stock price information table 105E. Next, the CPU 108 generates a stock price information response including the read stock price information, and transmits the generated response to the mobile phone serving as the client identified by the terminal identifier.
[0036]
[1-3. Configuration of Mobile Phone]
FIG. 8 is a block diagram illustrating a hardware configuration of the mobile phone 400. As shown in FIG. 8, each unit of the mobile phone 400 except the antenna 403 is connected to a bus 401, and data is exchanged between the units via the bus 401.
[0037]
The communication section 402 includes an antenna 403 and performs wireless communication with a wireless base station installed in the mobile packet communication network 300 under the control of the CPU 409. The operation unit 404 has ten keys (not shown) and a plurality of keys for inputting operation instructions and the like. When the user of the mobile phone 400 operates the operation unit 404, a signal indicating the operation content is output from the operation unit 404 to the CPU 409 according to the operation of the user. The display unit 405 includes, for example, a liquid crystal display panel (not shown) and a control circuit that controls display of the liquid crystal display panel. Under the control of the CPU 409, a character or graphic screen, a menu for operating the mobile phone 400, Display the screen etc. on the liquid crystal display. The non-volatile memory 406 stores data for controlling the mobile phone 400 and ADF and JAR files downloaded from a server that distributes Java-AP software.
[0038]
Various programs executed by the CPU 409 are stored in the ROM 407. For example, OS (Operating System) software for controlling the entirety of the IPL or the mobile phone 400, WWW browser software capable of interpreting CHTML, and the mobile phone 400 Stores Java execution environment software for executing Java-AP software. The ROM 407 stores a terminal identifier “MS0001” which is an identifier for uniquely identifying the mobile phone 400. The RAM 408 is used as a work area of the CPU 409, and temporarily stores data used by a program executed by the CPU 409.
[0039]
When the power of the mobile phone 400 is turned on, the CPU 409 reads and executes the IPL from the ROM 407 when the power is turned on, and initializes the CPU 409 and each unit of the mobile phone 400. Upon completion of the initialization, the CPU 409 reads the OS software from the ROM 407 and executes it. When the user of the mobile phone 400 operates the operation unit 404, the CPU 409 executing the OS software generates a signal output from the operation unit 404 in response to the user operation and a screen displayed on the display unit 404. Based on the instruction of the user based on the instruction, a process corresponding to the instruction of the user is performed.
[0040]
[1-3-1. Description of Java execution environment]
FIG. 9 is a diagram illustrating a configuration of the Java-AP execution environment in the mobile phone 400.
[0041]
The JAR storage is a storage area for storing the JAR file 105C, and is secured in the nonvolatile memory 406 by a JAM (Java Application Manager). The scratch pad is a storage area for storing persistent data (data that is maintained even after termination of the application), and is secured in the nonvolatile memory 406. The scratch pad is secured in the non-volatile memory 406 for each Java-AP by JAM.
[0042]
JAM manages Java-AP software. JAM displays a list of executable Java-AP software stored in the JAR storage, manages execution of Java-AP software (starts / forces termination of Java-AP software), and installs and deletes Java-AP software Has the function of performing
[0043]
In addition, the JAM reads data written in a storage area other than the scratch pad used by the Java-AP, writes the data in the scratch pad used by the Java-AP, and stores the read data in the portable memory. It has a function of monitoring transmission from the telephone 400.
[0044]
When the JAM reads the terminal identifier stored in the ROM 407 and receives an instruction to write the read terminal identifier to the scratch pad from the Java-AP, the JAM reads the terminal identifier from the ROM 407 and reads the terminal identifier to the scratch pad used by the Java-AP. Write the terminal identifier. Also, when “UsePersonal = utn” is described in the referenced ADF, the JAM reads the terminal identifier written in the scratchpad upon receiving an instruction from the Java-AP to transmit the terminal identifier to the outside of the mobile phone. Out of the mobile phone.
[0045]
If “UsePersonal = utn” is not described in the referenced ADF, the JAM reads the terminal identifier stored in the ROM 407 and reads the terminal identifier from the Java-AP even when receiving an instruction from the Java-AP to write the terminal identifier. And writing the terminal identifier to the scratchpad. Also, if “UsePersonal = utn” is not described in the referenced ADF, the JAM may receive an instruction from the Java-AP to read the terminal identifier written in the scratchpad and transmit the terminal identifier to the outside of the mobile phone. And the terminal identifier is not transmitted from the mobile phone.
[0046]
KVM (K Virtual Machine) is a redesigned Java Virtual Machine (JVM) that converts Java bytecodes into native codes and executes them for small embedded devices, and has limitations on memory, CPU capacity, and battery consumption. Designed to be used on some devices.
[0047]
[1-3-2. Processing at the time of acquiring Java-AP software]
Next, a process performed by the mobile phone 400 when downloading Java-AP software will be described.
[0048]
[1-3-2-1. Execution of browser and Java runtime environment]
When the user of the mobile phone 400 operates the operation unit 404 to instruct execution of the WWW browser software, the CPU 409 reads out the WWW browser software and the Java execution environment software from the ROM 407 and executes them. When the WWW browser software is executed, the display unit 405 is controlled by the CPU 409, and a browser screen serving as a user interface illustrated in FIG. 10 is displayed. Thereafter, the CPU 409 specifies a user's instruction based on the state of the browser screen serving as a user interface and a signal supplied from the operation unit 404, and performs processing according to the instruction. In addition, Java execution environment software is executed, and a Java-AP execution environment is realized.
[0049]
[1-3-2-2. WWW page acquisition]
The user of the mobile phone 400 uses the operation unit 404 to input a URL of a file for displaying a page provided by the WWW server on the mobile phone 400 on which the browser screen illustrated in FIG. 10 is displayed. Then, the CPU 409 controls the display unit 405 to display the input URL on the browser screen. When the user performs an operation of instructing display of a page specified by the input URL, that is, an operation of clicking a “display” button on the browser screen illustrated in FIG. The communication unit 402 is controlled to establish a TCP connection with the WWW server that provides the file specified by the URL. The CPU 409 transmits an HTTP request using a GET method with the input URL as a parameter to the WWW server device via the established TCP connection, and requests a file specified by the URL. In addition, the CPU 409 receives an HTTP response including a file transmitted from the WWW server device as a response to the HTTP request, and disconnects the connection.
[0050]
[1-3-2-3. Download of Java-AP software]
When the user of mobile phone 400 obtains a page for downloading Java-AP software on mobile phone 400 and then performs an operation to instruct download of Java-AP software on operation unit 404, the user's instruction Is notified to the running JAM.
[0051]
Specifically, the instruction of the user of the mobile phone 400 is notified to the JAM as follows. When the user performs an operation of clicking a hyperlink portion of the page displayed on the mobile phone 400, the ijam attribute is described in the A tag for displaying the hyperlink in the file for displaying the page by the WWW browser. It is determined whether or not. If the WWW browser determines that the i attribute is described in the A tag, the WWW browser extracts the URL described in the data attribute of the OBJECT tag. When the URL specifies the ADF, that is, when the extension of the file specified by the URL is “jar” indicating the ADF, the WWW browser instructs the user to download the Java-AP software. The JAM is notified that the download of the Java-AP software has been requested.
[0052]
When the JAM is notified of the request to download the Java-AP software, the JAM extracts the URL of the ADF described in the data attribute of the OBJECT tag. JAM establishes a TCP connection with the server specified by the URL and generates an HTTP request using a GET method using the extracted URL as a parameter. JAM transmits the generated HTTP request to the WWW server specified by the URL via the established TCP connection.
[0053]
The JAM receives an HTTP response including an ADF, which is transmitted from the WWW server as a response to the HTTP request. When the JAM receives the HTTP response including the ADF, the JAM refers to the included ADF and determines whether or not the Java-AP software can be stored in the nonvolatile memory 406. Specifically, the JAM refers to the “AppSize” key indicating the size of the JAR file and the “SPsize” key indicating the size of the scratchpad used by the Java-AP described in the ADF. JAM compares the size of the Java-AP software described in the ADF and the size of the scratchpad to be used with the free space of the JAR storage and the scratchpad, and determines whether the JAR file can be stored in the JAR storage. After downloading, it is determined whether or not the capacity of the scratch pad used by the Java-AP can be secured.
[0054]
When the JAM determines that it is possible to newly download Java-AP software, the JAM refers to the ADF and determines whether or not “UsePersonal = utn” is described in the ADF. When the JAM finds that “UsePersonal = utn” is described in the ADF, the Java-AP realized by executing the Java-AP software to be downloaded is stored in the mobile phone 400. It is determined that the terminal identifier, which is the personal data, is the Java-AP transmitted from the mobile phone 400, and the screen illustrated in FIG. 11 is displayed on the display unit 405. In the JAM, by displaying the screen illustrated in FIG. 11, the Java-AP realized by the Java-AP software to be downloaded is a Java-AP that transmits a terminal identifier, that is, personal data from the mobile phone 400. To the user.
[0055]
The user who has viewed the screen illustrated in FIG. 11 has input an instruction to stop the download of the Java-AP software by operating the operation unit 404 because there is a fear that personal data is used outside the mobile phone 400. In such a case, JAM stops downloading the Java-AP software.
[0056]
The user who saw the screen illustrated in FIG. 11 acknowledged that the personal data was used outside the mobile phone 400, and operated the operation unit 404 to input an instruction to download the Java-AP software. If so, the JAM continues downloading the Java-AP software. Specifically, the JAM refers to a “Package URL” key described in the ADF and extracts a URL indicating a location where the JAR file is stored. When the JAM extracts the URL, the JAM establishes a TCP connection with the WWW server specified by the URL, and generates an HTTP request using a GET method using the URL as a parameter. JAM sends the generated HTTP request to the server via the established TCP connection. JAM receives an HTTP response containing a JAR file, which is transmitted from the server as a response to the HTTP request. When receiving the HTTP response including the JAR file, the JAM extracts the JAR file from the HTTP response and stores the extracted JAR file in the JAR storage. JAM refers to the “SPsize” key indicating the size of the scratch pad described in the ADF, and changes the capacity designated by the “SPsize” key to the scratch size for Java-AP realized by the downloaded Java-AP software. Secure on the pad.
[0057]
[1-3-3. Processing at the time of execution of Java-AP software]
Next, a process performed when the mobile phone 400 is instructed to execute the Java-AP software will be described with reference to a flowchart illustrated in FIG.
[0058]
When the user performs an operation on the operation unit 404 to display a list of Java-AP software stored and executable in the non-volatile memory 406, the CPU 409 reads the Java execution environment software from the ROM 407 and reads the Java execution environment software. Execute (step SA1). By executing the Java execution environment software, a Java-AP execution environment is realized in the mobile phone 400. When the Java-AP execution environment is realized, the CPU 409 is provided with JAM and KVM functions. The CPU 409 having the JAM function refers to the non-volatile memory 406 and generates a list of Java-AP software stored in the non-volatile memory 406 and executable. After generating the list, the CPU 409 controls the display unit 405 to display the generated list on the display unit 405 (step SA2).
[0059]
After displaying the Java-AP software list, the CPU 409 waits for an input of an instruction to execute the Java-AP software from the user (step SA3). When the user selects the Java-AP software displayed on the display unit 405 and performs an operation to instruct execution of the selected Java-AP software on the operation unit 404 (step SA3: YES), the CPU 409 determines Based on the signal output from the operation unit 404 and the screen displayed on the display unit 405, the Java-AP software that the user instructed to execute is specified. The CPU 409 reads the ADF of the specified Java-AP software from the non-volatile memory 406 (Step SA4).
[0060]
The CPU 409 refers to the read ADF and determines whether or not the “UsePersonal = utn” attribute is described in the ADF, so that the Java-AP realized by the Java-AP software instructed by the user to execute is executed. Then, it is determined whether or not the terminal identifier stored in mobile phone 400 is a Java-AP transmitted from mobile phone 400 (step SA5).
[0061]
When the CPU 409 determines that the Java-AP realized by the Java-AP software instructed to be executed is a Java-AP that does not transmit the terminal identifier stored in the mobile phone 400 from the mobile phone 400, (Step SA5: NO), the CPU 409 reads the JAR file from the nonvolatile memory 406 (Step SA9) and executes it (Step SA10).
[0062]
When the CPU 409 determines that the Java-AP realized by the Java-AP software instructed to be executed by the user is the Java-AP that transmits the terminal identifier stored in the mobile phone 400 from the mobile phone 400, Is displayed (step SA5: YES), the display unit 405 displays a screen prompting the user to input an instruction to permit or reject execution (step SA6), and confirms with the user whether or not the Java-AP software can be executed. Let it. After displaying a screen for prompting input of an instruction to permit or reject execution, CPU 409 waits for an instruction from the user to be input (step SA7).
[0063]
When the operation unit 404 is operated by the user and a signal indicating the operation content of the user is input to the CPU 409, the CPU 409 determines whether the operation performed by the user is an instruction to execute the Java-AP software. (Step SA8). When the user's instruction is to instruct to stop the execution of the Java-AP software (step SA8: NO), the CPU 409 does not execute the Java-AP software.
[0064]
When the user's instruction is to instruct execution of the Java-AP software (step SA8: YES), the CPU 409 reads the JAR file from the nonvolatile memory 406 (step SA9). When the Java execution environment software is executed, the CPU 409 provided with the KVM function converts the Java bytecode contained in the read JAR file into native code, and executes the Java-AP software (step SA10).
[0065]
After executing the Java-AP software, the CPU 409 waits for an input of an instruction to end the executed Java-AP software (step SA11). When the user operates the operation unit 404 to input an instruction to end the Java-AP software being executed, a signal indicating the content of the user's operation is input to the CPU 409, and the CPU 409 executes the Java-AP software being executed. Exit the software.
[0066]
[2. Operation example]
[2-1. Operation example when downloading Java-AP software]
Next, an operation example when Java-AP software is downloaded from the Java-AP software distribution server 100 will be described with reference to a sequence diagram shown in FIG. It is assumed that the mobile phone 400 is powered on by a user operation and the WWW browser is already running. The operations performed by the OS, the WWW browser, the JAM, the KVM, and the Java-AP stored in the mobile phone 400 are operations of the mobile phone 400. It is assumed that the telephone is 400.
[0067]
The operation of installing the Java-AP software provided by the Java-AP software distribution server 100 on the mobile phone 400 is performed when the user of the mobile phone 400 operates the mobile phone 400 and is stored in the Java-AP software distribution server 100. The process starts by trying to obtain the description file 105A.
[0068]
After the user of the mobile phone 400 operates the operation unit 404 of the mobile phone 400 and inputs the URL (“http://www.abc.co.jp/java/kabuka.html”) of the description file 105A, When an operation of clicking a “display” button shown in the example of the screen shown in FIG. 10 is performed (step S101), the mobile phone 400 generates an HTTP request using a GET method with the URL of the description file 105A as a parameter. It is generated (step S102). This HTTP request is transmitted from the mobile phone 400 and transmitted to the Java-AP software distribution server 100 via the mobile packet communication network 300 and the Internet 200 (step S103).
[0069]
When the HTTP request is received by the Java-AP software distribution server 100, the explanation file 105A is read from the storage unit 105 (step S104), and an HTTP response including the read explanation file 105A is generated (step S104). Step S105). This HTTP response is transmitted from the Java-AP software distribution server 100, and transmitted to the mobile phone 400 via the Internet 200 and the mobile packet communication network 300 (Step S106).
[0070]
When the mobile phone 400 receives the HTTP response, the description file 105A included in the HTTP response is interpreted by the WWW browser, and a user interface corresponding to the contents of the description file 105A is provided. As a result, page P01 shown in FIG. 5 is displayed on display unit 405 of mobile phone 400 (step S107).
[0071]
When the user who has viewed the page P01 performs an operation of clicking on the hyperlink P01A of the page P01 (step S108), the mobile phone 400 causes the anchor tag (“<A”) described in the description file 105A to be displayed. (I.e., tag starting with) is referenced. In the mobile phone 400, since the ijam attribute is described, the OBJECT tag is referred to, and the URL for obtaining the ADF 105B described in the data attribute of the OBJECT tag (“http://www.abc.co.co.jp”). .Jp / java / kabuka.jam "). Next, in the mobile phone 400, an HTTP request using a GET method using the extracted URL as a parameter is generated (Step S109), and transmitted to the Java-AP software distribution server 100 (Step S110).
[0072]
When the HTTP request is received by the Java-AP software distribution server 100, the ADF 105B is read from the storage unit 105 in response to the HTTP request (Step S111). In the Java-AP software distribution server 100, an HTTP response including the read ADF 105B is generated (Step S112), and the generated HTTP response is transmitted to the mobile phone 400 (Step S113).
[0073]
When the mobile phone 400 receives the HTTP response including the ADF 105B, the ADF 105B included in the HTTP response is referred to. In the mobile phone 400, since "UsePersonal = utn" is described in the ADF 105B, the display unit 405 is displayed on the display unit 405 in order to ask the user whether to download the terminal identifier, that is, Java-AP software for transmitting personal data. The screen shown in FIG. 11 is displayed (Step S114). Thereby, the mobile phone 400 informs the user that the Java-AP realized by executing the Java-AP software to be downloaded is the terminal identifier, that is, the Java-AP transmitting the personal data, and performs the download. Ask them to do it.
[0074]
When the user of the mobile phone 400 who sees the screen shown in FIG. 11 performs an operation of clicking the “OK” button shown on the screen (step S115), the mobile phone 400 sends the package URL (“http: //Www.abc.co.jp/java/kabuka.jar ") is extracted, and an HTTP request is generated using a GET method using the extracted PackageURL as a parameter (step S116). The generated HTTP request is transmitted from mobile phone 400 to Java-AP software distribution server 100 (step S117).
[0075]
When the Java-AP software distribution server 100 receives the HTTP request including the Package URL, the JAR file 105C corresponding to the HTTP request is read from the storage unit 105 (Step S118). When the JAR file 105C is read, the Java-AP software distribution server 100 generates an HTTP response including the JAR file 105C (step S119). This HTTP response is transmitted from the Java-AP software distribution server 100 (step S120), and received by the mobile phone 400. When the mobile phone 400 receives the HTTP response, the JAR file 105C included in the HTTP response and the downloaded ADF 105B are stored in the nonvolatile memory 406 (step S121).
[0076]
[2-2. Example of operation when stock price information AP software download is stopped]
Next, an operation when the user of the mobile phone 400 stops downloading the Java-AP software will be described. Note that the operations from step S101 to step S114 are the same as the operations when downloading the Java-AP software described above, and thus the description thereof will be omitted.
[0077]
After the user of the mobile phone 400 sees the screen shown in FIG. 11 for asking the user whether or not to download, he does not want to use Java-AP in which personal data is transmitted, When the user clicks the “Cancel” button shown in the screen shown in FIG. 11, the mobile phone 400 displays the screen illustrated in FIG. 14 on the display unit 405, and stops downloading the Java-AP software. I do.
[0078]
[2-3. Operation example when executing stock price information AP]
Next, an operation example when the stock price information AP is executed by the mobile phone 400 will be described. In the following description of the operation example, it is assumed that the stock price information AP software has already been downloaded to the mobile phone 400 by the above-described operation.
[0079]
When a user of the mobile phone 400 inputs an instruction to display a list of Java-AP software stored and executable in the JAR storage, a Java-AP execution environment is realized in the mobile phone 400. You. In the mobile phone 400, when the Java-AP execution environment is realized, the Java-AP software stored in the nonvolatile memory 406 is referred to, and a list of executable Java-AP software is generated. In the mobile phone 400, the generated list is displayed on the display unit 405.
[0080]
When the user who has viewed the Java-AP software list selects the already downloaded and executable stock price information AP software and performs an operation of instructing execution of the selected stock price information AP software, the mobile phone 400 displays The ADF 105B of the selected stock price information AP is referred to. Since "UsePersonal = utn" is described in the ADF 105B referred to by the mobile phone 400, the stock price information AP of the mobile phone 400 is a Java-AP that transmits a terminal identifier, which is personal data, from the mobile phone 400. Is displayed, and a screen for confirming execution of the Java-AP software illustrated in FIG. 15 is displayed.
[0081]
The user who sees the screen illustrated in FIG. 15 acknowledges that the terminal identifier stored in the mobile phone 400, that is, the personal data is transmitted from the mobile phone 400, and performs an operation to instruct execution of the Java-AP software. Then, the stock price information AP is executed.
[0082]
When the stock price information AP is executed, the screen illustrated in FIG. 16 is displayed on the display unit 405 of the mobile phone 400. When the user of the mobile phone 400 performs an operation of clicking “designation / deletion of brand” on the operation unit 404 in order to register a brand for which stock price information is desired, the screen illustrated in FIG. Will be displayed. When the user of the mobile phone 400 operates the mobile phone 400, designates “ABC company” as a brand whose information is desired, and clicks “register”, the terminal identifier “MS0001” stored in the ROM 407 is obtained. Is read out and stored in the scratch pad for the stock price information AP. When the terminal identifier is stored in the scratch pad, a brand registration request including the brand name “ABC company” specified by the user and the terminal identifier “MS0001” of the mobile phone 400 is generated, and the generated brand registration request is Java. Transmitted to the AP software distribution server 100;
[0083]
In the Java-AP software distribution server 100 that has received the brand registration request, the brand name “ABC company” included in the received brand registration request is associated with the terminal identifier “MS0001”, and the Java-AP in the storage unit 105 is stored. It is stored in the AP user table 105E as shown in FIG.
[0084]
Next, the user of the mobile phone 400 performs an operation of clicking “acquire stock price information” on the screen shown in FIG. 16 displayed on the display unit 405 in order to view the stock price information of the designated brand. When the process is performed in 404, the terminal identifier “MS0001” stored in the scratch pad for the stock price information AP is read, and a stock price information acquisition request including the read terminal identifier is generated. The generated stock price information acquisition request is transmitted from the mobile phone 400 and transmitted to the Java-AP software distribution server 100 via the mobile packet communication network 300 and the Internet 200.
[0085]
When the Java-AP software distribution server 100 receives the stock price information acquisition request, the Java-AP software distribution server 100 stores the stock identifier in the storage unit 105 by using the terminal identifier “MS0001” included in the stock price acquisition request as a key. The stored Java-AP user table 105D is searched. In the Java-AP software distribution server 100, when the corresponding terminal identifier is found in the Java-AP user table 105D, the user of the mobile phone 400 registered in association with the terminal identifier “MS0001” has registered. The brand name “ABC company” is read. Next, the Java-AP software distribution server 100 searches the stock price information table 105E shown in FIG. 3 stored in the storage unit 105 using the read brand name “ABC company” as a key, and searches for “ABC company”. Is read out. In the Java-AP software distribution server 100, a stock price information response including the read stock price information "100 yen" of the "ABC company" is generated, and generated to the mobile phone 400 identified by the terminal identifier "MS0001". A stock quote response is sent.
[0086]
Upon receiving the stock price information response, the mobile phone 400 extracts the stock price information of “ABC company” included in the response. The extracted stock price information is displayed on the display unit 405 as illustrated in FIG.
[0087]
As described above, according to the present embodiment, the person who intends to download the Java-AP software recognizes that the Java-AP is a Java-AP that transmits personal data inside the mobile phone 400 from the mobile phone 400. It will be downloaded after confirming. Therefore, a user who does not want to transmit personal data inside the mobile phone 400 from the mobile phone 400 may download Java-AP software for transmitting the personal data inside the mobile phone 400 from the mobile phone 400. Can be eliminated. Also, when the Java-AP software is executed in the mobile phone 400, the Java-AP realized by executing the Java-AP software transmits the personal data inside the mobile phone 400 from the mobile phone 400. The Java-AP software is executed after the user of the mobile phone 400 confirms that it is the AP. Therefore, a user who does not want the personal data inside the mobile phone 400 to be transmitted from the mobile phone 400 can use a Java-AP for transmitting the personal data inside the mobile phone 400 to the outside of the mobile phone 400. -The possibility of executing the AP software can be eliminated.
[0088]
[3. Modification]
In the embodiment described above, the Java-AP software distribution server 100 is connected to the mobile packet communication network 300 via the Internet 200. However, the Java-AP software distribution server 100 is connected to the mobile packet communication network 300 by a dedicated line. You may make it connect.
[0089]
In the above-described embodiment, the mobile phone 400 communicates with the server of the Java-AP software distribution source when Java-AP is realized. The communication of the 400 is not limited to the server of the distribution source of the Java-AP software. For example, in the embodiment described above, a WWW server for distributing stock price information is separately provided, and the mobile phone 400 executing the stock price information AP software communicates with a newly provided server for stock price information distribution. Stock price information may be obtained.
[0090]
In the above-described embodiment, a terminal identifier for uniquely identifying a mobile phone is used as personal data transmitted from the mobile phone 400 in which Java-AP is realized to the Java-AP software distribution server 100. , Personal data transmitted from the mobile phone 400 in which the Java-AP is realized is not limited to the terminal identifier. The personal data transmitted from the mobile phone 400 in which the Java-AP is realized may be other personal data such as the telephone number of the user who owns the mobile phone 400.
[0091]
Further, the above-described mobile phone 400 and mobile packet communication network 300 may be based on IMT-2000 (International Mobile Telecommunication 2000). An IMT-2000 compliant mobile phone uses an IC card called UIM (User Identity Module) that records subscriber data of a user of the mobile phone. When the mobile phone on which the Java-AP is realized is a mobile phone based on IMT-2000, the personal data transmitted from the mobile phone to the Java-AP software distribution server 100 is the identification of the UIM stored in the UIM. It may be a combination of a number or a UIM identification number and a mobile phone terminal identifier.
[0092]
In the above-described embodiment, the personal data transmitted from the mobile phone 400 to the Java-AP software distribution server 100 is transmitted in plain text. However, the personal data is converted by an arbitrary algorithm, and the data obtained by the conversion is transmitted. You may do so.
[0093]
In the embodiment described above, HTTP is used for communication between the mobile phone 400 and the Java-AP software distribution server 100, but the protocol used for communication is not limited to this, and HTTPS ( The communication may be performed using a protocol to which an encryption function is added, such as Hypertext Transfer Protocol Security (Hypertext Transfer Protocol Security).
[0094]
In the above-described embodiment, when the mobile phone 400 transmits the personal data to the Java-AP software distribution server 100, the user of the mobile phone 400 may be asked whether the personal data may be transmitted. .
[0095]
In the above-described embodiment, after the download of the Java-AP software is completed, a setting screen related to the details of the Java-AP illustrated in FIG. The user may be reconfirmed that the Java-AP to be transmitted is the Java-AP for transmitting the personal data.
[0096]
In the above-described embodiment, the mobile phone 400 downloads the stock price information AP software from the Java-AP software distribution server 100, but stores the stock price information AP software in the storage unit of the mobile phone 400 before shipping the mobile phone 400. You may make it ship it.
[0097]
The timing at which the terminal identifier is written to the scratch pad is not limited to the timing described in the above-described embodiment. The terminal identifier may be read from the ROM 407 at the start of execution of the stock price information AP and stored in the scratchpad.
[0098]
The various software stored in the ROM 407 of the mobile phone 400 described above may be made rewritable. An example of a method of rewriting various software includes the following method. For example, a recording medium such as a CD-ROM (Compact Disc Only Memory) in which various software is recorded is inserted into a CD-ROM drive of a personal computer, and the personal computer and a portable computer using a flash ROM instead of the ROM 407 are used. Connect to the phone with a cable. A personal computer reads various software recorded on a CD-ROM, and transmits the read software to a mobile phone connected by a cable. Then, the mobile phone that has received the software writes the received software into the flash ROM, so that various types of software stored in the mobile phone can be upgraded.
[0099]
In the above-described modification, a CD-ROM is used as a recording medium on which various software is recorded, but the recording medium is not limited to this. Other recording media such as a DVD-ROM, an IC card with a built-in flash ROM, and a floppy disk may be used.
[0100]
In the above-described embodiment, the terminal identifier stored in the ROM 407 of the mobile phone is read from the ROM 407 and transmitted as personal data. That is, the personal data stored in the mobile phone is read and Although transmitted as data, personal data input by the user of the mobile phone 400 using the operation unit 404 may be transmitted to the Java-AP software distribution server 100.
[0101]
In the above-described embodiment, the Java execution environment and the Java-AP are used. However, the personal data stored in the mobile phone may not be transmitted without permission of the user of the mobile phone. For example, the execution environment of the application software is not limited to the Java execution environment. In addition, the application software is not limited to software created using the Java programming language, but may be software created using another programming language.
[0102]
In the above-described embodiment, the personal data is transmitted from the mobile phone 400 as a trigger when the user of the mobile phone 400 operates the mobile phone 400 running the Java-AP software. -The personal data may be requested from the AP software distribution server 100 and transmitted from the mobile phone 400 as a trigger.
[0103]
【The invention's effect】
As described above, according to the present invention, when executing application software in a communication terminal, it is possible to prevent personal data of the user of the communication terminal from being transmitted from the communication terminal without permission of the user. .
[Brief description of the drawings]
FIG. 1 is a diagram illustrating an overall configuration of a communication system according to an embodiment of the present invention.
FIG. 2 is a block diagram illustrating a hardware configuration of a Java-AP software distribution server 100 according to the embodiment of the present invention.
FIG. 3 is a diagram showing the contents of a stock price information table 105E.
FIG. 4 is a diagram showing the contents of an explanation file 105A.
FIG. 5 is a diagram showing a page distributed by the Java-AP software distribution server 100.
FIG. 6 is a diagram showing the contents of an ADF 105B.
FIG. 7 is a diagram showing the contents of a Java-AP user table 105D.
FIG. 8 is a diagram exemplifying a hardware configuration of a mobile phone 400 according to the embodiment of the present invention.
FIG. 9 is a diagram illustrating a configuration of a Java-AP execution environment.
FIG. 10 is a diagram exemplifying a browser screen displayed when a WWW browser is executed on mobile phone 400.
FIG. 11 is a diagram showing a message displayed when downloading Java-AP software for transmitting personal data.
FIG. 12 is a flowchart illustrating a processing flow when the mobile phone 400 according to the embodiment of the present invention executes Java-AP software.
FIG. 13 is a sequence diagram showing an operation example when the mobile phone 400 downloads Java-AP software.
FIG. 14 is a diagram illustrating a screen displayed when downloading of Java-AP software is stopped.
FIG. 15 is a diagram showing a warning message displayed when executing Java-AP software for transmitting personal data to the outside of the mobile phone 400.
FIG. 16 is a diagram exemplifying a screen displayed at the start of execution of stock price information AP.
FIG. 17 is a diagram exemplifying a screen displayed after clicking “register / delete brand” shown on the screen displayed at the start of execution of stock price information AP.
FIG. 18 is a diagram exemplifying a screen on which stock price information acquired from the Java-AP software distribution server 100 is displayed.
FIG. 19 is a diagram exemplifying a setting screen related to Java-AP details displayed on the display unit 405 of the mobile phone 400 in a modified example of the embodiment.
[Explanation of symbols]
100: Java-AP software distribution server, 101: bus, 102: communication unit, 103: operation unit, 104: display unit, 105: storage unit, 105A: explanation File, 105B: ADF, 105C: JAR file, 105D: Java-AP user table, 105E: Stock price information table, 106: ROM, 107: RAM, 108 ... CPU
200 ・ ・ ・ Internet
300: Mobile packet communication network
400 mobile phone, 401 bus, 402 communication unit, 403 antenna, 404 operation unit, 405 display unit, 406 nonvolatile memory, 407 ..ROM, 408 RAM, 409 CPU

Claims (10)

プログラムを記憶する第1の記憶手段と、前記第1の記憶手段に記憶されたプログラムを実行する実行手段と、前記実行手段がプログラムを実行することによって実現されるアプリケーションにより読み書きされるデータを記憶する第2の記憶手段と、前記アプリケーションが外部の装置へデータを送信するための送信手段とを有する通信端末において、
使用者の指示を入力するための指示入力手段と、
前記第1の記憶手段により記憶されたプログラムであって前記使用者の個人データを取得して外部の装置へ送信し得るアプリケーションを実現するためのプログラムを実行する旨の指示が前記指示入力手段により入力された場合に、当該プログラムの実行を許可するか否かを示す指示の入力を前記使用者に促す第1の確認手段と、
前記指示入力手段により実行を許可する旨の指示が入力された場合にのみ、前記実行手段による当該プログラムの実行を許可する実行許可手段と
を有することを特徴とする通信端末。
First storage means for storing a program, execution means for executing the program stored in the first storage means, and data read and written by an application realized by the execution means executing the program A communication terminal, comprising: a second storage unit for performing the transmission of data to the external device by the application;
An instruction input means for inputting an instruction of the user,
An instruction to execute a program, which is a program stored by the first storage unit and realizes an application capable of acquiring personal data of the user and transmitting the personal data to an external device, is issued by the instruction input unit. First confirmation means for prompting the user to input an instruction indicating whether or not to permit execution of the program,
A communication terminal comprising: an execution permitting unit that permits execution of the program by the execution unit only when an instruction to permit execution is input by the instruction input unit.
前記第1の確認手段は、さらに前記プログラムが個人データを取得して外部の装置へ送信し得るプログラムである旨を前記使用者へ通知すること
を特徴とする請求項1に記載の通信端末。
The communication terminal according to claim 1, wherein the first confirmation unit further notifies the user that the program is a program that can acquire personal data and transmit the personal data to an external device.
前記プログラムの特徴を示す情報を記憶する第3の記憶手段をさらに有し、
前記第1の確認手段は、前記第3の記憶手段により記憶された前記プログラムの特徴を示す情報に基づいて、前記プログラムが前記データを取得して外部の装置へ送信し得るプログラムか否かを判定し、送信し得るプログラムであると判定した場合に、前記プログラムの実行を許可するか否かを示す指示の入力を前記使用者に促すこと
を特徴とする請求項1に記載の通信端末。
A third storage unit that stores information indicating characteristics of the program;
The first confirmation unit determines whether the program is a program that can acquire the data and transmit the data to an external device based on information indicating characteristics of the program stored in the third storage unit. The communication terminal according to claim 1, wherein when determining that the program is a program that can be transmitted, the user is prompted to input an instruction indicating whether to permit execution of the program.
前記プログラムの特徴を示す情報を記憶する第3の記憶手段をさらに有し、
前記第1の確認手段は、前記第3の記憶手段により記憶された前記プログラムの特徴を示す情報に基づいて、前記プログラムが前記データを取得して外部の装置へ送信し得るプログラムか否かを判定し、送信し得ないプログラムであると判定した場合に、前記実行手段による当該プログラムの実行を許可すること
を特徴とする請求項1に記載の通信端末。
A third storage unit that stores information indicating characteristics of the program;
The first confirmation unit determines whether the program is a program that can acquire the data and transmit the data to an external device based on information indicating characteristics of the program stored in the third storage unit. 2. The communication terminal according to claim 1, wherein when the determination is made that the program cannot be transmitted, execution of the program by the execution unit is permitted.
前記プログラムと前記プログラムの特徴を示す情報とを配信するサーバ装置から通信網を介して前記プログラムの特徴を示す情報を取得する第1の取得手段と、
前記第1の取得手段にて取得した前記プログラムの特徴を示す情報に基づいて、前記プログラムの取得を許可するか否かを示す指示の入力を前記使用者に促す第2の確認手段と、
前記指示入力手段により前記プログラムの取得を許可する旨の指示が入力された場合にのみ、前記サーバから通信網を介して前記プログラムを取得する第2の取得手段と
を有することを特徴とする請求項3または請求項4のいずれかに記載の通信端末。
First acquisition means for acquiring information indicating the characteristics of the program from a server device that distributes the program and information indicating the characteristics of the program via a communication network;
A second confirmation unit that prompts the user to input an instruction indicating whether to permit acquisition of the program, based on the information indicating the characteristics of the program acquired by the first acquisition unit;
A second acquisition unit that acquires the program from the server via a communication network only when an instruction to permit acquisition of the program is input by the instruction input unit. The communication terminal according to claim 3 or 4.
前記通信網は、移動体通信網であり、前記通信端末は、携帯電話機であること
を特徴とする請求項5に記載の通信端末。
The communication terminal according to claim 5, wherein the communication network is a mobile communication network, and the communication terminal is a mobile phone.
前記個人データは、前記使用者を一意に識別可能なデータであること
を特徴とする請求項1に記載の通信端末。
The communication terminal according to claim 1, wherein the personal data is data capable of uniquely identifying the user.
前記プログラムは、Javaプログラミング言語で記述されたプログラムであること
を特徴とする請求項1に記載の通信端末。
The communication terminal according to claim 1, wherein the program is a program described in a Java programming language.
プログラムを記憶する第1の記憶手段と、前記第1の記憶手段に記憶されたプログラムを実行する実行手段と、前記実行手段がプログラムを実行することによって実現されるアプリケーションにより読み書きされるデータを記憶する第2の記憶手段と、前記アプリケーションが外部の装置へデータを送信するための送信手段とを有するコンピュータ装置を、
使用者の指示を入力するための指示入力手段と、
前記第1の記憶手段により記憶されたプログラムであって前記使用者の個人データを取得して外部の装置へ送信し得るアプリケーションを実現するためのプログラムを実行する旨の指示が前記指示入力手段により入力された場合に、当該プログラムの実行を許可するか否かを示す指示の入力を前記使用者に促す第1の確認手段と、
前記指示入力手段により実行を許可する旨の指示が入力された場合にのみ、前記実行手段による当該プログラムの実行を許可する実行許可手段と
して機能させるためのプログラム。
First storage means for storing a program, execution means for executing the program stored in the first storage means, and data read and written by an application realized by the execution means executing the program A computer device having a second storage unit for transmitting data and a transmission unit for the application to transmit data to an external device.
An instruction input means for inputting an instruction of the user,
An instruction to execute a program, which is a program stored by the first storage unit and realizes an application capable of acquiring personal data of the user and transmitting the personal data to an external device, is issued by the instruction input unit. First confirmation means for prompting the user to input an instruction indicating whether or not to permit execution of the program,
A program for functioning as execution permission means for permitting execution of the program by the execution means only when an instruction to permit execution is input by the instruction input means.
請求項9に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。A computer-readable recording medium on which the program according to claim 9 is recorded.
JP2002296493A 2002-10-09 2002-10-09 Communication terminal, program and recording medium Expired - Lifetime JP4102639B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002296493A JP4102639B2 (en) 2002-10-09 2002-10-09 Communication terminal, program and recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002296493A JP4102639B2 (en) 2002-10-09 2002-10-09 Communication terminal, program and recording medium

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2007204798A Division JP4336375B2 (en) 2007-08-06 2007-08-06 Communication terminal

Publications (2)

Publication Number Publication Date
JP2004133618A true JP2004133618A (en) 2004-04-30
JP4102639B2 JP4102639B2 (en) 2008-06-18

Family

ID=32286462

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002296493A Expired - Lifetime JP4102639B2 (en) 2002-10-09 2002-10-09 Communication terminal, program and recording medium

Country Status (1)

Country Link
JP (1) JP4102639B2 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007200348A (en) * 2007-03-26 2007-08-09 Ntt Docomo Inc Mobile communication terminal and application control method
US7784048B2 (en) 2004-06-14 2010-08-24 Ntt Docomo, Inc. Mobile communication terminal and application control method
JP2017045117A (en) * 2015-08-24 2017-03-02 富士通株式会社 Information processing apparatus and information processing program
CN111190492A (en) * 2019-12-25 2020-05-22 曙光信息产业(北京)有限公司 Method and device for starting KVM

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4164036B2 (en) * 2004-02-05 2008-10-08 トレンドマイクロ株式会社 Ensuring security on the receiving device for programs provided via the network
CN101846225B (en) * 2010-06-03 2012-08-22 浙江中财管道科技股份有限公司 Energy dissipator for architectural drainage system

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7784048B2 (en) 2004-06-14 2010-08-24 Ntt Docomo, Inc. Mobile communication terminal and application control method
JP2007200348A (en) * 2007-03-26 2007-08-09 Ntt Docomo Inc Mobile communication terminal and application control method
JP2017045117A (en) * 2015-08-24 2017-03-02 富士通株式会社 Information processing apparatus and information processing program
CN111190492A (en) * 2019-12-25 2020-05-22 曙光信息产业(北京)有限公司 Method and device for starting KVM
CN111190492B (en) * 2019-12-25 2023-07-18 曙光信息产业(北京)有限公司 Method and device for starting KVM

Also Published As

Publication number Publication date
JP4102639B2 (en) 2008-06-18

Similar Documents

Publication Publication Date Title
KR101296562B1 (en) Content distribution management device, terminal, program, and content distribution system
JP2004102698A (en) Downloading method, area management device, portable communication terminal, program, and recording medium
JP4141301B2 (en) Communication terminal
EP1416353B1 (en) Communication device, program and recording media
JP2007528064A (en) Running unverified programs in a wireless device operating environment
TW200405177A (en) Electronic machine, method, program and memory medium for management of data usage
TW584801B (en) Terminal and repeater
US20070197201A1 (en) Communication Terminal
JP2004153461A (en) Communication terminal, program, and storage medium
JP4102639B2 (en) Communication terminal, program and recording medium
JP2005004766A (en) Non-standard mime type support system and its method for mobile terminal
JP4180953B2 (en) Communication apparatus and program
JP6397200B2 (en) Management server, data processing method, and program
JP2006072956A (en) Mobile terminal device
JP4336375B2 (en) Communication terminal
JP4323304B2 (en) Application identification method and communication terminal
JP2004289818A (en) Communication terminal and electronic device
JP4007936B2 (en) Control server device
JP6070182B2 (en) Terminal device, content server, content browsing system, browsing history management method and program
JP2005165666A (en) Receiver and program
US20060048219A1 (en) Secure private information transmission program and secure private information receiving apparatus
JP4680485B2 (en) Terminal device, program, and recording medium
JP2002032286A (en) File acquisition system using portable phone and file acquisition method
JP2009169953A (en) Web launching system and web launching method
JP2002016724A (en) Mis-delivery preventing system and mis-delivery preventing method under environment for providing fax information delivery service utilizing portable telephone and its recording medium

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050407

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070313

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070510

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070605

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070806

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20070813

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: 20080318

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080324

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

Free format text: PAYMENT UNTIL: 20110328

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20110328

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120328

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120328

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130328

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20130328

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20140328

Year of fee payment: 6

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250