JP4580164B2 - 電子機器およびプログラム - Google Patents

電子機器およびプログラム Download PDF

Info

Publication number
JP4580164B2
JP4580164B2 JP2003412398A JP2003412398A JP4580164B2 JP 4580164 B2 JP4580164 B2 JP 4580164B2 JP 2003412398 A JP2003412398 A JP 2003412398A JP 2003412398 A JP2003412398 A JP 2003412398A JP 4580164 B2 JP4580164 B2 JP 4580164B2
Authority
JP
Japan
Prior art keywords
program
data
access
stored
jar
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2003412398A
Other languages
English (en)
Other versions
JP2005173939A (ja
Inventor
大 神谷
和宏 山田
隆 近藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
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 JP2003412398A priority Critical patent/JP4580164B2/ja
Publication of JP2005173939A publication Critical patent/JP2005173939A/ja
Application granted granted Critical
Publication of JP4580164B2 publication Critical patent/JP4580164B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

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

Description

本発明は、あるプログラムを実行することによって得られたデータや該プログラム用に用意されたデータを、別のプログラムを実行する場合にも使用できるようにするための技術に関する。
パーソナルコンピュータ等の電子機器は、当該電子機器にインストールされた各種のプログラムを実行することにより、文書データの作成やブラウジング、電子メールの送受信等に関する処理を行う。また、このような電子機器の中には、あるプログラムを実行することによって得られた、このプログラム用のデータを、別のプログラムの実行時にも使用できるようにしたものがある(例えば、特許文献1参照)。
特開2002−312215号公報
ところで、パケット通信機能を有する携帯電話機やパーソナルコンピュータ等の通信装置は、インターネットに接続されているWWW(World Wide Web)サーバから各種のプログラムをダウンロードすることができる。インターネット等のオープンネットワークは、世界中の様々な人々が自由に情報の公開やプログラムの提供を行うことができる反面、例えば、悪意の有る個人や団体が通信装置内に記憶されているデータを密かに盗み出すプログラムを提供していたり、あるいは悪意は無いものの、通信装置において動作させると不具合を引き起こしてしまうプログラムが提供されてしまうことがある。
したがって、通信装置において、オープンネットワークを介して取得したプログラムについて何ら制限を設けずに、あるプログラムを実行することによって得られたデータや該プログラム用に用意されたデータを別のプログラムの実行時にも使用できるようにしてしまうと、例えば、あるプログラムの実行時にユーザが入力した個人情報が、悪意の有る個人や団体が提供したプログラムによってユーザの知らない間に通信装置から外部へ送信されてしまう、といった事態が生じるおそれがある。また、通信機能を有していない電子機器であっても、当該電子機器にインストールされている各プログラムの信頼性が保証されていない限り、例えば、あるプログラム用に用意されたデータが、悪意の有る個人や団体が提供したプログラムによって不正に書き替えられてしまう、といった事態が生じるおそれがある。
一方で、上述したようなセキュリティに関する問題に対処するため、通信装置や電子機器において、あるプログラムの実行時に使用することのできる該プログラム用のデータを、他のプログラムの実行時には一切使用できないようにしてしまうと、通信装置や電子機器の使い勝手が損なわれてしまう。
本発明は、以上説明した事情に鑑みてなされたものであり、その目的は、電子機器(受信装置)において、セキュリティを確保しつつ、あるプログラムの実行時に使用することのできる該プログラム用のデータを、別のプログラムの実行時にも使用できるようにすることである。
上記課題を解決するため、本発明は、プログラムを実行する場合に使用される前記プログラム用のデータを記憶する記憶手段と、前記記憶手段に記憶されたデータを処理するためのプログラムとして定められた第1のプログラムと、当該第1のプログラムの他に前記記憶手段に記憶されたデータを使用することが許可された第2のプログラムのダウンロード元と、を示すプログラム情報を登録する登録手段と、前記第1または前記第2のプログラムを実行する実行手段と、前記実行手段が前記第1のプログラムを実行することによって前記記憶手段に記憶されたデータに対する、前記第2のプログラムを実行する前記実行手段によるアクセスが、前記登録手段に登録されたプログラム情報により示されるダウンロード元からダウンロードされたプログラムに従って行われる処理からのアクセスである場合に、該アクセスを許可する許可手段と、前記第1のプログラムとしてダウンロードされたプログラムが当該電子機器にインストールされた場合に、当該第1のプログラムの他に前記データを使用することが許可されたプログラムである前記第2のプログラムが当該電子機器にインストールされているか否かを判別する判別手段と、前記判別手段により前記第2のプログラムがインストールされていると判別された場合に、当該第2のプログラムに対し、前記データに対するアクセスを要求するために必要となる情報を通知する通知手段とを有することを特徴とする電子機器を提供する。
また、制御情報が格納されたADF(Application Descriptor File)であって、前記第1のプログラムが格納されたJAR(Java Archive)ファイルのダウンロード元を示す第1のURL(Uniform Resource Locator)と、当該第1のプログラムの他に前記記憶手段に記憶されたデータを使用することが許可された第2のプログラムのダウンロード元を示す第2のURLとが格納されたADFを受信し、当該ADFに格納されている前記第1のURLから、前記第1のプログラムが格納されたJARファイルを受信する受信手段を備え、
前記登録手段は、前記第1のプログラムの他に前記記憶手段に記憶されたデータを使用することが許可された第2のプログラムのダウンロード元として、前記ADFに格納された前記第2のURLを示すプログラム情報を登録するようにしてもよい。
また、本発明は、コンピュータに、記憶手段に記憶されたデータを処理するためのプログラムとして定められた第1のプログラムと、当該第1のプログラムの他に前記記憶手段に記憶されたデータを使用することが許可された第2のプログラムのダウンロード元と、を示すプログラム情報を登録する第1の過程と、前記第1のプログラムを実行する第2の過程と、前記第2のプログラムを実行する第3の過程と、前記第3の過程にて実行された第2のプログラムに従って行われる処理から要求された、前記第2の過程にて前記記憶手段に記憶されたデータに対するアクセスが、前記第1の過程にて登録されたプログラム情報により示されるダウンロード元からダウンロードされたプログラムに従って行われる処理からのアクセスである場合に、該アクセスを許可し、前記第1のプログラムとしてダウンロードされたプログラムが当該コンピュータにインストールされた場合に、当該第1のプログラムの他に前記データを使用することが許可されたプログラムである前記第2のプログラムが当該コンピュータにインストールされているか否かを判別し、前記第2のプログラムがインストールされていると判別された場合に、当該第2のプログラムに対し、前記データに対するアクセスを要求するために必要となる情報を通知する第4の過程とを実行させるためのプログラムを提供する。
本発明によれば、電子機器(受信装置)は、記憶手段に記憶されたプログラム用のデータに対するアクセスが、予め登録されたプログラム情報により示される複数のプログラムのうちのいずれかに従って行われる処理からのアクセスである場合に、該アクセスを許可する。
本発明によれば、電子機器(受信装置)において、セキュリティを確保しつつ、あるプログラムの実行時に使用することのできる該プログラム用のデータを、別のプログラムの実行時にも使用することができるようになる。
以下、図面を参照して本発明の実施形態について説明する。なお、各図において共通する部分には、同一の符号が付されている。
[A−1.実施形態の構成]
<1.通信システムの全体構成>
図1は、本発明の実施形態に係る通信システム1の構成を例示するブロック図である。同図に示すように通信システム1は、コンテンツサーバ10と、インターネット20と、移動パケット通信網30と、携帯電話機40とを有している。
コンテンツサーバ10は、インターネット20および移動パケット通信網30を介して携帯電話機40とパケット通信を行う機能を有している。このコンテンツサーバ10には、携帯電話機40において実行可能なJava(登録商標)アプリケーションソフトウェア(以下、「JavaAP」と記載する)が記憶されている。
移動パケット通信網30は、ゲートウェイサーバ31と、基地局32とを有している。ゲートウェイサーバ31は、移動パケット通信網30用の通信プロトコルとインターネット20用の通信プロトコル等、通信プロトコルの異なるデータを相互に変換し、移動パケット通信網30とインターネット20とのデータの授受を中継する。また、基地局32は、移動パケット通信網30の通信サービスエリア内に多数設置されており、自局32がカバーする無線セルに在圏している携帯電話機40と無線通信を行う。
携帯電話機40は、移動パケット通信網30に収容される移動機である。この携帯電話機40は、自機40が在圏している無線セルをカバーする基地局32を介してコンテンツサーバ10とパケット通信を行い、コンテンツサーバ10から任意のJavaAPをダウンロードすることができる。
<2.JavaAPの構成>
図2は、コンテンツサーバ10に記憶されているJavaAPの構成について例示する図である。同図に示すようにJavaAPは、JavaAPの本体プログラムおよびこの本体プログラムを実行する場合に使用される画像ファイルや音声ファイル等を1つにまとめたJAR(Java Archive)ファイルと、このJARファイルのインストールや起動、ネットワークアクセス等を制御するための各種制御情報が格納されたADF(Application Descriptor File)とを有している。
また、同図に示すようにADFは、このADFと対をなすJARファイルが、当該JARファイル(詳細にはJARファイル内の本体プログラム)を実行することにより得られるデータや当該JARファイル内の画像ファイルや音声ファイルの使用を、他のプログラムに対して許可しているか否かを示す情報が格納される“LaunchAPP”項目と、上述したJARファイル用のデータの使用が許可された他のプログラムを示す情報が格納される“PermissionAPP”項目とを有している。これらの“LaunchAPP”項目や“PermissionAPP”項目のデータは、JavaAPの提供者によって設定される。
“LaunchAPP”項目には、このADFと対をなすJARファイルが、このJARファイル用のデータの使用を他のプログラムに対して許可している場合に“1”が、そうでない場合に“0”が格納される。また、“LaunchAPP”項目が“1”の場合、“PermissionAPP”項目には、JARファイル用のデータの使用を許可する他のプログラムを示す情報として、例えば、JARファイルのファイル名(プログラム名)が格納されている。なお、ここで言う他のプログラムには、携帯電話機40が移動パケット通信網30やインターネット20を介して取得した他のJavaAPや、携帯電話機40に予めインストールされているプログラム等が含まれる。
また、“PermissionAPP”項目に格納されるデータは、ファイル名等に限定されず、例えば、プログラムのダウンロード元を示すURL(Uniform Resource Locator)であってもよい。さらに、JARファイル用のデータの使用が許可される他のプログラムは、1つであってもよいし複数であってもよい。図2に示す例では、“PermissionAPP”項目のデータとして計3つのJARファイル名“JAR002”,“JAR003”,“JAR012”が格納されている。したがって、同図に示すJARファイル“JAR001”は、JARファイル“JAR002”,“JAR003”,“JAR012”に対してJARファイル“JAR001”用のデータの使用を許可している。
なお、以下、本明細書では、JARファイルとADFを特に区別する必要がない限り、これらを合わせて「JavaAP」と記載する。また、本明細書において、1つのJavaAPを構成するJARファイルおよびADFは、同じコンテンツサーバ10に記憶されているものとする。但し、JARファイルとADFは、各々別のサーバに記憶されていてもよい。
<3.携帯電話機の構成>
図3は、携帯電話機40のハードウェア構成を例示するブロック図である。同図に示すように携帯電話機40は、CPU401と、ROM402と、RAM403と、無線通信部404と、操作入力部405と、通話処理部406と、液晶表示部407と、不揮発性メモリ408とを有しており、これらの各部はバス409により接続されている。
CPU401は、ROM402や不揮発性メモリ408に記憶されている各種のプログラムを実行することにより、バス409を介して接続されている装置各部を制御する。ROM402には、装置各部の基本制御を司るプログラム等が記憶されている。また、RAM403は、CPU401のワークエリアとして用いられる。
無線通信部404は、アンテナ404aを備え、基地局32との無線通信を制御する。この無線通信部404は、CPU401の制御の下、例えば、パケット通信用のデータや送話音声に関するデータ等を搬送波に重畳して送信信号を生成し、この信号を基地局32へ送信する。また、無線通信部404は、基地局32から送られてくる無線信号をアンテナ404aを介して受信し、この信号を復調して自機40宛のパケット通信用のデータや受話音声に関するデータ等を得る。
操作入力部405は、数字や文字、操作指示等を入力するための複数のキーを有しており、これらのキーの操作に応じた操作信号をCPU401に出力する。通話処理部406は、例えば、マイクロフォンやスピーカ、音声処理部等を有しており、CPU401の制御の下、呼の接続や切断等を含む通話処理を行う。また、液晶表示部407は、液晶表示パネルと、この液晶表示パネルの表示制御を行う駆動回路とを有している。
不揮発性メモリ408は、例えば、SRAM(Static−RAM)やEEPROM(Electrically Erasable Programmable−ROM)等であり、携帯電話機40のオペレーティングシステム(以下、「OS」と記載する)やWWWブラウザ用のソフトウェア、Java実行環境を構築するためのソフトウェア等が記憶されている。また、この不揮発性メモリ408には、コンテンツサーバ10からダウンロードされたJavaAP等が記憶される。
この不揮発性メモリ408は、JARストレージ408aと、スクラッチパッド408bと、アクセス管理テーブル408cとを有している。JARストレージ408aには、図4に示すように、携帯電話機40にダウンロードされた各JavaAP毎にそのJARファイルが記憶される。同図に示す例では、JARストレージ408a内に3つのJARファイル“JAR004”,“JAR012”,“JAR001”が記憶されている。
スクラッチパッド408bには、図5に示すように、JARストレージ408aに記憶された各JARファイル毎に、JARファイルを実行することによって得られるデータ等を永続的に記憶するためのJARファイル用メモリ領域が設けられている。なお、JARファイルを実行することによって得られるデータとは、例えば、JARファイルがビデオゲーム用のものであった場合、ビデオゲームを途中で終える際に保存しておくセーブデータ等である。
アクセス管理テーブル408cには、図6に示すように、JARストレージ408aに記憶された各JARファイル毎に、JARファイルのファイル名と、JARファイルが記憶されたJARストレージ408a内のメモリ領域を示すメモリアドレス(始点アドレス〜終点アドレス)と、このJARファイルに対して割り当てられたスクラッチパッド408b内のJARファイル用メモリ領域を示すメモリアドレス(始点アドレス〜終点アドレス)と、このJARファイルと対をなすADFから取得した“LaunchAPP”項目と“PermissionAPP”項目のデータとが登録される。
<4.携帯電話機におけるソフトウェアの実行環境>
図7は、携帯電話機40におけるソフトウェアの実行環境を説明するための図である。同図において、KVM(K Virtual Machine)は、小型電子機器用に設計変更されたJVM(Java Virtual Machine)であって、JavaバイトコードをCPU401がOSを介して解釈/実行可能な命令コードに変換するためのソフトウェアである。また、API(Application Program Interface)は、例えば、CLDC(Connected Limited Device Configuration)によって規定されている機能や、携帯電話機40に特化した機能をJavaAPに対して提供するためのソフトウェアモジュールである。
JAM(Java Application Manager)は、OSによる制御の下で、JavaAPのダウンロード/インストール/起動/終了等を管理するためのソフトウェアである。また、JAMは、図6に示したアクセス管理テーブル408cに対するデータの追加や削除等の更新処理を行う機能を有するとともに、このアクセス管理テーブル408cに基づいて、各JavaAPに従って行われる処理から要求されるアクセスを制限する機能を有している。
なお、同図に示すように、電話帳機能やブラウザ機能、ネットワーク通信機能を実現するためのソフトウェアは、OSによる制御の下で直接動作する。
[A−2.実施形態の動作]
次に、本実施形態の動作について説明する。
<1.ダウンロード処理>
図8は、JavaAPをダウンロードする場合の、携帯電話機40およびコンテンツサーバ10の動作を例示するシーケンスチャートである。なお、このダウンロードに関する処理において、ステップS103以降の携帯電話機40で行われる各処理は、CPU401がJAMに従って実行する処理である。
まず、ユーザは、携帯電話機40の操作入力部405を操作してWWWブラウザを起動させる。次いで、ユーザは、操作入力部405を操作してコンテンツサーバ10への接続を指示する。これにより携帯電話機40からコンテンツサーバ10へ接続要求メッセージが送信される(ステップS101)。コンテンツサーバ10は、接続要求メッセージを受信すると、必要に応じて携帯電話機40の認証処理等を行なった後、サイトのメニュー情報を携帯電話機40へ送信する(ステップS102)。また、携帯電話機40は、メニュー情報を受信すると、このメニュー情報に基づく画像を、液晶表示部407の液晶表示パネル(以下、「液晶画面」と記載する)に表示する。この後、携帯電話機40とコンテンツサーバ10の間では、メニューの選択等に関する情報が送受信される。
そして、携帯電話機40において、ダウンロードするJavaAPが操作入力により選択されると、CPU401は、選択されたJavaAPのADFを携帯電話機40に対して送信することを要求するADF取得要求メッセージをコンテンツサーバ10へ送信する(ステップS103)。コンテンツサーバ10は、ADF取得要求メッセージを受信すると、このADF取得要求メッセージによって指定されるADFをメモリから読み出して携帯電話機40へ送信する(ステップS104)。
携帯電話機40のCPU401は、ADFを受信すると、まず、ADFのファイル内容を確認し、このADFと対をなすJARファイルを携帯電話機40にダウンロードできるか否かを判別する(ステップS105)。具体的には、CPU401は、ADFから“AppSize”項目と“SPsize”項目のデータを読み出すとともに、JARストレージ408aおよびスクラッチパッド408bの空きメモリ容量を確認する。なお、“AppSize”項目には、ダウンロードを予定しているJARファイルのサイズ(JARファイルをJARストレージ408aに記憶するために必要となるメモリ容量)を示すサイズ情報が格納されている。また、“SPsize”項目には、ダウンロードを予定しているJARファイルに対してスクラッチパッド408b内に割り当てるJARファイル用メモリ領域のサイズを示すサイズ情報が格納されている。CPU401は、JARストレージ408aまたはスクラッチパッド408bの空きメモリ容量が不足している場合に、JARファイルをダウンロードできないと判別し、その旨を示すメッセージを液晶画面に表示してJavaAPのダウンロードを中止する。
一方、CPU401は、JARファイルがダウンロードできると判別した場合は(ステップS105:Yes)、次いで、ADFに含まれている、JARファイルの取得要求先を示すURLを用いてJARファイル取得要求メッセージを生成し、当該JARファイル取得要求メッセージをコンテンツサーバ10へ送信する(ステップS106)。コンテンツサーバ10は、JARファイル取得要求メッセージを受信すると、このJARファイル取得要求メッセージによって指定されるJARファイルをメモリから読み出して携帯電話機40に送信する(ステップS107)。
携帯電話機40のCPU401は、JARファイルを受信すると、まず、上記ステップS104において受信したADFから“AppSize”項目のサイズ情報を読み出す。そして、CPU401は、読み出したサイズ情報によって指定される容量のメモリ領域をJARストレージ408aに確保した後、このメモリ領域内に、受信したJARファイルをインストールする。また、CPU401は、ADFから読み出した“SPsize”項目のサイズ情報に従って、インストールされたJARファイルに割り当てるJARファイル用メモリ領域をスクラッチパッド408b内に確保する。そして、CPU401は、上記ステップS104において受信したADFを、インストールされたJARファイルと対応付けて不揮発性メモリ408に格納する(ステップS108)。
次いで、携帯電話機40のCPU401は、インストールされたJavaAPについて、JARファイルのファイル名と、JARストレージ408a内のJARファイルが記憶されたメモリ領域を示すメモリアドレスと、スクラッチパッド408b内に割り当てられたJARファイル用メモリ領域を示すメモリアドレスと、“LaunchAPP”項目および“PermissionAPP”項目のデータとを取得する。勿論、“LaunchAPP”項目や“PermissionAPP”項目のデータは、上記ステップS104において受信したADFから取得される。そして、CPU401は、このようにして取得したデータを用いて図6に示したアクセス管理テーブル408cを更新する(ステップS109)。
例えば、図2に示したJavaAPが不揮発性メモリ408にインストールされた場合、アクセス管理テーブル408cには、図6に示すように、“ファイル名”項目に“JAR001”が、“保存領域”項目には、JARストレージ408a内のJARファイル“JAR001”が記憶されたメモリ領域を示すメモリアドレス(始点アドレス〜終点アドレス)が、“割り当て領域”項目には、スクラッチパッド408b内に割り当てられたJARファイル“JAR001”用のメモリ領域を示すメモリアドレスが、“LaunchAPP”項目には“1”が、“PermissionAPP”項目には“JAR002”,“JAR003”,“JAR012”が追加登録される。
なお、JavaAPが不揮発性メモリ408からアンインストールされた場合、CPU401は、JAMに従って、アンインストールされたJavaAPに関するデータをアクセス管理テーブル408cから削除する。また、アクセス管理テーブル408cには、JAMに従って行われる処理のみでしかアクセスすることができない。
<2.JavaAPの起動>
次に、携帯電話機40においてCPU401は、例えば、画面表示されたJavaAPの一覧リストの中から、起動させるJavaAPが操作入力によって指定された場合等に、指定されたJavaAPの本体プログラムをJARストレージ408aから読み出して実行し、この本体プログラムに従って行われる処理を開始する。なお、JavaAPの起動を指示する形態は、操作入力に限定されず、例えば、予め設定された時刻になるとJavaAPの起動が指示される場合や、他のプログラムに従って行われている処理からJavaAPの起動が指示される場合、電子メール等を用いて携帯電話機40の外部からJavaAPの起動が指示される場合等もある。
そして、CPU401は、このようにして起動させたJavaAPに従って行われる処理において、不揮発性メモリ408に対するアクセスが要求されると、以下に説明するアクセス管理処理を開始する。なお、JAMは、JavaAPを実行する場合に、不揮発性メモリ408以外の各種のリソースに対するアクセスについても、これを制限する機能を有しており、不揮発性メモリ408以外の各種のリソースに対するアクセスについては、JavaAPを実行するためにRAM403内に割り当てられたアプリケーション実行メモリ領域に対するアクセスと、JavaAPのダウンロード元となるコンテンツサーバ10に対するアクセスのみを許可する。
<3.アクセス管理処理>
図9は、携帯電話機40においてCPU401により実行されるアクセス管理処理の動作を例示するフローチャートである。このアクセス管理処理は、JAMの機能としてCPU401により実行される。
同図に示すように、まず、CPU401は、JavaAPに従って行われる処理から要求されたアクセスについて、アクセスの要求元となる処理を司るJavaAPと、アクセス先のメモリアドレスとを特定する(ステップS201,S202)。具体的には、CPU401は、アクセスの要求元となる処理を司るJARファイルのファイル名と、アクセス先のメモリアドレスを示すアドレス情報を取得する。次いで、CPU401は、アクセス管理テーブル408cを参照し(ステップS203)、上記ステップS201,S202において取得したファイル名とアドレス情報とに従って、このアクセスを許可するか否かを判定する(ステップS204)。
例えば、図6に示したアクセス管理テーブル408cに登録されているJARファイル“JAR004”が実行され、このJARファイル“JAR004”に従って行われる処理において不揮発性メモリ408に対するアクセスが要求されると、CPU401は、アクセス管理テーブル408cを参照し、アクセス先のメモリアドレスが、JARストレージ408a内のJARファイル“JAR004”が記憶されたメモリ領域を示している場合と、スクラッチパッド408b内のJARファイル“JAR004”用のメモリ領域を示している場合にのみ、このアクセスを許可する。
すなわち、JARファイル“JAR004”の場合は、図6に示したアクセス管理テーブル408cの“PermissionAPP”項目に示すように、このJARファイル“JAR004”に対してデータの使用を許可する他のJARファイルが全く登録されていない。したがって、JARファイル“JAR004”に従って行われる処理においてCPU401がアクセスすることのできる不揮発性メモリ408内のメモリ領域は、JARストレージ408a内のJARファイル“JAR004”が記憶されたメモリ領域と、スクラッチパッド408b内のJARファイル“JAR004”用のメモリ領域のみに制限される。
一方、図6に示したアクセス管理テーブル408cに登録されているJARファイル“JAR012”が実行され、このJARファイル“JAR012”に従って行われる処理において不揮発性メモリ408に対するアクセスが要求されると、CPU401は、アクセス管理テーブル408cを参照し、アクセス先のメモリアドレスが、JARストレージ408a内のJARファイル“JAR012”,“JAR001”が記憶された2つのメモリ領域のいずれかを示している場合と、スクラッチパッド408b内のJARファイル“JAR012”,“JAR001”用の2つのメモリ領域のいずれかを示している場合に、このアクセスを許可する。
すなわち、JARファイル“JAR012”の場合は、図6に示したアクセス管理テーブル408cの“PermissionAPP”項目に示すように、このJARファイル“JAR012”に対してデータの使用を許可する他のJARファイルとして、JARファイル“JAR001”が登録されている。したがって、JARファイル“JAR012”に従って行われる処理においてCPU401がアクセスすることのできる不揮発性メモリ408内のメモリ領域は、JARストレージ408a内のJARファイル“JAR012”,“JAR001”が記憶された2つのメモリ領域と、スクラッチパッド408b内のJARファイル“JAR012”,“JAR001”用の2つのメモリ領域となるのである。
また、図6に示したアクセス管理テーブル408cに登録されているJARファイル“JAR001”は、“PermissionAPP”項目のデータから明らかとなるように、JARストレージ408aやスクラッチパッド408bに記憶されているJARファイル“JAR001”用のデータの使用を、JARファイル“JAR002”,“JAR003”,“JAR012”に対して許可している。したがって、CPU401は、JARファイル“JAR001”に従って行われる処理からのアクセスは勿論、JARファイル“JAR002”,“JAR003”,“JAR012”に従って行われる処理からのアクセスについても、JARストレージ408a内のJARファイル“JAR001”が記憶されたメモリ領域や、スクラッチパッド408b内のJARファイル“JAR001”用のメモリ領域へのアクセスを許可する。
図9に戻り、CPU401は、上記ステップS204における判定結果に従ってアクセスを許可しない場合は(ステップS205:No)、実行中のJavaAPが不正なアクセスをしようとしたため、このアクセスを認めなかった旨のメッセージを液晶画面に表示する(ステップS206)。そして、CPU401は、アクセスの要求元となる処理に対してアクセスを拒否する旨を通知した後、アクセス管理処理を終える。一方、CPU401は、上記ステップS204における判定結果に従ってアクセスを許可する場合は(ステップS205:Yes)、アクセスの要求元となる処理に対してアクセスを許可する旨を通知した後、アクセス管理処理を終える。
アクセス管理処理を終えた後、CPU401は、JavaAPに従って行われる処理に復帰し、JAMからアクセスを許可する旨が通知されている場合は、許可されたアクセスによってJARストレージ408aやスクラッチパッド408bから読み出したデータを用いて処理を継続する一方、JAMからアクセスを拒否する旨が通知されている場合は、要求したアクセスを行わずに処理を中止する。
したがって、図6に示したアクセス管理テーブル408cが不揮発性メモリ408に格納されている場合、CPU401は、JARファイル“JAR004”に従って行われる処理において、JARストレージ408aやスクラッチパッド408bに記憶されているJARファイル“JAR004”用のデータしか使用することができないが、JARファイル“JAR012”に従って行われる処理においては、JARストレージ408aやスクラッチパッド408bに記憶されている、JARファイル“JAR012”用のデータとJARファイル“JAR001”用のデータを使用することができる。
以上説明したように本実施形態によれば、携帯電話機40は、JARストレージ408aやスクラッチパッド408bに記憶された、あるJavaAP用のデータに対するアクセスが、このJavaAPに従って行われる処理から要求されたアクセスである場合と、このJavaAPのADFに記述された“PermissionAPP”項目のデータにより示される他のJavaAPに従って行われる処理から要求されたアクセスである場合に、このアクセスを許可する。したがって、仮に、悪意の有る個人や団体によって提供されたJavaAPが携帯電話機40において実行されたとしても、このようなJavaAPに対して他のプログラム用のデータが引き渡されることがない。
また、コンテンツプロバイダは、携帯電話機40に提供するJavaAPについて、ADF内の“LaunchAPP”項目や“PermissionAPP”項目のデータを設定することで、このJavaAP用のデータの使用を他のプログラムに対して許可するか否かや、このJavaAP用のデータの使用を許可する他のプログラムを指定することができる。
なお、携帯電話機40(コンピュータ)は、ROM402や不揮発性メモリ408に記憶されているプログラムに従って、上述したダウンロード処理(図8参照)における端末側の処理や、アクセス管理処理(図9参照)を実行するが、このような本発明に係る処理を実行するためのプログラムを通信によって携帯電話機40に提供するようにしてもよい。あるいは、このようなプログラムを記録媒体に記録して提供するようにしてもよい。
[B.変形例]
以上、本発明の実施形態について説明したが、上述した各実施形態は、本発明の一態様を例示したものに過ぎず、例えば、以下に示すような変形例が考えられる。
<変形例1>
図8に示したダウンロード処理のステップS109を終えた後、以下に説明する通知処理を行う構成としてもよい。
図10は、携帯電話機40においてCPU401により実行される通知処理の動作を例示するフローチャートである。この通知処理は、上述したダウンロード処理において、不揮発性メモリ408にJavaAPがインストールされ、ステップS109に示す処理を終えた後に、JAMの機能としてCPU401により実行される。
同図に示すように、まず、CPU401は、ダウンロード処理によって今回インストールされたJavaAPについて、このJavaAPのADFを参照し、“LaunchAPP”項目のデータが“1”であるか否かを判別する(ステップS301)。その結果、CPU401は、“LaunchAPP”項目のデータが“1”でなかった場合は、通知処理を終える。
一方、CPU401は、“LaunchAPP”項目のデータが“1”であった場合は、次いで、このJavaAPのADFから“PermissionAPP”項目のデータを取得し(ステップS302)、このJavaAP用のデータの使用を許可している他のプログラムを特定する。そして、CPU401は、特定した他のプログラムが不揮発性メモリ408にインストールされているか否かを判別し(ステップS303)、該当するプログラムが不揮発性メモリ408にインストールされていなかった場合は、通知処理を終える。
また、CPU401は、該当するプログラムが不揮発性メモリ408にインストールされていると判別した場合は、ダウンロード処理によって今回インストールされたJavaAPについて、JARファイルのファイル名と、JARストレージ408a内のJARファイルが記憶されたメモリ領域を示すメモリアドレスと、スクラッチパッド408b内に割り当てられたJARファイル用メモリ領域を示すメモリアドレスとを取得する(ステップS304)。これらのデータは、例えば、図6に示したアクセス管理テーブル408cから取得される。次いで、CPU401は、上記ステップS304において取得したファイル名およびアドレス情報を、このJavaAP用のデータの使用を許可している他のプログラムに対して通知した後(ステップS305)、通知処理を終える。
この通知処理を行なうことにより、他のプログラムに対してデータの使用を許可しているJavaAPが不揮発性メモリ408にインストールされると、このJARファイルのファイル名や、このJavaAP用のデータが記憶された、JARストレージ408a内やスクラッチパッド408b内のメモリ領域を示すアドレス情報等の、このJavaAP用のデータにアクセスする際に必要となる情報が、このJavaAP用のデータを使用することが許可された他のプログラムに対して直ちに通知できる。
なお、JARストレージ408a内やスクラッチパッド408b内に設けられた各メモリ領域に対して、各々のメモリ領域を識別するためのID番号を割り当てて、データの使用が許可された他のプログラムに対してアドレス情報の代わりにID番号を通知し、このID番号を用いてJARストレージ408a内やスクラッチパッド408b内の各メモリ領域にアクセスするようにしてもよい。
<変形例2>
例えば、図6に示したアクセス管理テーブル408cが不揮発性メモリ408に格納されている場合、CPU401は、JARファイル“JAR012”に従って行われる処理において、JARストレージ408aやスクラッチパッド408bに記憶されているJARファイル“JAR001”用の全てのデータにアクセスすることができる。
しかしながら、例えば、コンテンツプロバイダが、自身の提供するJARファイル“JAR001”用のデータの使用を、別のコンテンツプロバイダが提供するJARファイル“JAR012”に対して許可する場合に、JARファイル“JAR001”用の全てのデータの使用を許可するのではなく、そのうちの一部のみの使用を許可したい場合がある。そこで、図11に示すアクセス管理テーブル408dのように、“PermissionAPP”項目に格納されたJavaAP毎に、このJavaAPに対してアクセスを許可する一部の領域(アクセス許可領域)を示すアドレス情報をさらに登録するようにしてもよい。
また、JARストレージ408aやスクラッチパッド408bにおいて、JavaAP用のデータが記憶されるメモリ領域を予め複数の領域に区分しておき、“PermissionAPP”項目に格納されたJavaAP毎に、アクセスを許可する区分領域を示すアドレス情報や、各区分領域に対して割り当てられたID番号を登録するようにしてもよい。
<変形例3>
図9に示したアクセス管理処理のステップS205以降で以下に説明する処理を行う構成としてもよい。
すなわち、CPU401は、ステップS205においてアクセスが許可された場合であっても、このアクセスを直ちに許可するのではなく、まず、JavaAPに従って行われる処理から要求されたアクセスが、他のJavaAP用のデータに対するアクセスであるか否かを判別する。その結果、CPU401は、他のJavaAP用のデータに対するアクセスであると判別した場合は、このアクセスの可否をユーザに問い合わせるメッセージを液晶画面に表示し、アクセスを許可する旨が操作入力部405から入力された場合に、このアクセスを許可する。なお、アクセスの可否をユーザに問い合わせるメッセージは音声メッセージであってもよい。また、CPU401は、上記メッセージの表示に応じて、アクセスを許可しない旨が操作入力部405から入力された場合、またはメッセージの表示の後、予め定められた時間が経過してもデータの使用を許可する旨が操作入力部405から入力されなかった場合は、このアクセスを不許可とする。一方、CPU401は、他のJavaAP用のデータに対するアクセスでないと判別した場合には、このアクセスを許可する。
このような構成とすれば、JavaAPに従って行われる処理において他のプログラム用のデータを使用する際には必ずユーザの承認が必要となる。よって、ユーザの知らない間にJavaAPに対して他のプログラム用のデータが引き渡されてしまうようなことがない。
<変形例4>
図8に示したダウンロード処理において、ステップS108に示した処理を終えた後、以下に説明する処理を行う構成としてもよい。
まず、CPU401は、インストールされたJavaAPのADFを参照して“LaunchAPP”項目のデータが“1”であるか否かを判別する。その結果、CPU401は、“LaunchAPP”項目のデータが“1”である場合に、このJavaAP用のデータの使用を、ADF内の“PermissionAPP”項目のデータにより示される他のJavaAPに対して許可してよいか否かをユーザに問い合わせるメッセージを液晶画面に表示する。勿論、このメッセージは音声メッセージであってもよい。
そして、CPU401は、データの使用を許可する旨が操作入力部405から入力された場合に、図8に示したダウンロード処理のステップS109に移行して、インストールされたJavaAPに関するデータを取得し、アクセス管理テーブル408cに登録する。一方、CPU401は、メッセージの表示に応じて、データの使用を許可しない旨が操作入力部405から入力された場合、またはメッセージの表示の後、予め定められた時間が経過してもデータの使用を許可する旨が操作入力部405から入力されなかった場合は、インストールされたJavaAPについて、JARファイルのファイル名と、JARストレージ408a内のJARファイルが記憶されたメモリ領域を示すメモリアドレスと、スクラッチパッド408b内に割り当てられたJARファイル用メモリ領域を示すメモリアドレスのみをアクセス管理テーブル408cに登録する。この場合、“LaunchAPP”項目や“PermissionAPP”項目のデータがアクセス管理テーブル408cに登録されないので、インストールされたJavaAPについては、このJavaAP用のデータが他のプログラムの実行時に使用されることはない。
このような構成とすれば、コンテンツプロバイダが、自身の提供するJavaAPについて、このJavaAP用のデータの使用を他のプログラムに対して許可しても、携帯電話機40のユーザの承認が無ければ、このJavaAP用のデータが他のプログラムの実行時に使用されることはない。
<変形例5>
上述した実施形態では、JavaAPをダウンロードする場合について説明したが、勿論、ダウンロードではなく、携帯電話機40に対してJavaAPを配信する場合であっても本発明を適用することができる。また、上述した実施形態では、ダウンロード処理(図8参照)における端末側の処理や、アクセス管理処理(図9参照)を、携帯電話機40においてJAMの機能として実行する場合について説明したが、勿論、これらの処理は、携帯電話機40のOSの機能として実行されてもよい。
また、本発明が適用可能な電子機器は、携帯電話機に限定されるものではない。例えば、PHS(Personal Handyphone System:登録商標)端末やパーソナルコンピュータ等の各種通信装置に本発明を適用することができる。また、通信機能を有しておらず、例えば、CD−ROMやメモリカード等の記録媒体を介してプログラムをインストールするパーソナルコンピュータ等に対しても本発明を適用することができる。なお、記録媒体を介して電子機器にプログラムをインストールする場合には、上述した実施形態において説明した“LaunchAPP”項目や“PermissionAPP”項目のデータに相当する情報が、プログラムとともに記録媒体に記録されていればよい。
本発明の実施形態に係る通信システムの構成を例示するブロック図である。 同実施形態に係るJavaAPの構成について例示する図である。 同実施形態に係る携帯電話機のハードウェア構成を例示するブロック図である。 同実施形態に係るJARストレージの構成を例示する図である。 同実施形態に係るスクラッチパッドの構成を例示する図である。 同実施形態に係るアクセス管理テーブルのデータ構成を例示する図である。 同実施形態に係り、携帯電話機におけるソフトウェアの実行環境を説明するための図である。 同実施形態に係り、JavaAPをダウンロードする場合の、携帯電話機およびコンテンツサーバの動作を例示するシーケンスチャートである。 同実施形態に係り、携帯電話機においてCPUにより実行されるアクセス管理処理の動作を例示するフローチャートである。 本発明の変形例1に係り、携帯電話機においてCPUにより実行される通知処理の動作を例示するフローチャートである。 本発明の変形例2に係るアクセス管理テーブルのデータ構成を例示する図である。
符号の説明
1…通信システム、10…コンテンツサーバ、20…インターネット、30…移動パケット通信網、31…ゲートウェイサーバ、32…基地局、40…携帯電話機、401…CPU、402…ROM、403…RAM、404…無線通信部、404a…アンテナ、405…操作入力部、406…通話処理部、407…液晶表示部、408…不揮発性メモリ、408a…JARストレージ、408b…スクラッチパッド、408c,408d…アクセス管理テーブル、409…バス。

Claims (3)

  1. プログラムを実行する場合に使用される前記プログラム用のデータを記憶する記憶手段と、
    前記記憶手段に記憶されたデータを処理するためのプログラムとして定められた第1のプログラムと、当該第1のプログラムの他に前記記憶手段に記憶されたデータを使用することが許可された第2のプログラムのダウンロード元と、を示すプログラム情報を登録する登録手段と、
    前記第1または前記第2のプログラムを実行する実行手段と、
    前記実行手段が前記第1のプログラムを実行することによって前記記憶手段に記憶されたデータに対する、前記第2のプログラムを実行する前記実行手段によるアクセスが、前記登録手段に登録されたプログラム情報により示されるダウンロード元からダウンロードされたプログラムに従って行われる処理からのアクセスである場合に、該アクセスを許可する許可手段と
    前記第1のプログラムとしてダウンロードされたプログラムが当該電子機器にインストールされた場合に、当該第1のプログラムの他に前記データを使用することが許可されたプログラムである前記第2のプログラムが当該電子機器にインストールされているか否かを判別する判別手段と、
    前記判別手段により前記第2のプログラムがインストールされていると判別された場合に、当該第2のプログラムに対し、前記データに対するアクセスを要求するために必要となる情報を通知する通知手段と
    を有することを特徴とする電子機器。
  2. 制御情報が格納されたADF(Application Descriptor File)であって、前記第1のプログラムが格納されたJAR(Java Archive)ファイルのダウンロード元を示す第1のURL(Uniform Resource Locator)と、当該第1のプログラムの他に前記記憶手段に記憶されたデータを使用することが許可された第2のプログラムのダウンロード元を示す第2のURLとが格納されたADFを受信し、当該ADFに格納されている前記第1のURLから、前記第1のプログラムが格納されたJARファイルを受信する受信手段を備え、
    前記登録手段は、前記第1のプログラムの他に前記記憶手段に記憶されたデータを使用することが許可された第2のプログラムのダウンロード元として、前記ADFに格納された前記第2のURLを示すプログラム情報を登録する
    ことを特徴とする請求項1記載の電子機器。
  3. コンピュータに、
    記憶手段に記憶されたデータを処理するためのプログラムとして定められた第1のプログラムと、当該第1のプログラムの他に前記記憶手段に記憶されたデータを使用することが許可された第2のプログラムのダウンロード元と、を示すプログラム情報を登録する第1の過程と、
    前記第1のプログラムを実行する第2の過程と、
    前記第2のプログラムを実行する第3の過程と、
    前記第3の過程にて実行された第2のプログラムに従って行われる処理から要求された、前記第2の過程にて前記記憶手段に記憶されたデータに対するアクセスが、前記第1の過程にて登録されたプログラム情報により示されるダウンロード元からダウンロードされたプログラムに従って行われる処理からのアクセスである場合に、該アクセスを許可し、前記第1のプログラムとしてダウンロードされたプログラムが当該コンピュータにインストールされた場合に、当該第1のプログラムの他に前記データを使用することが許可されたプログラムである前記第2のプログラムが当該コンピュータにインストールされているか否かを判別し、前記第2のプログラムがインストールされていると判別された場合に、当該第2のプログラムに対し、前記データに対するアクセスを要求するために必要となる情報を通知する第4の過程と
    を実行させるためのプログラム。
JP2003412398A 2003-12-10 2003-12-10 電子機器およびプログラム Expired - Fee Related JP4580164B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003412398A JP4580164B2 (ja) 2003-12-10 2003-12-10 電子機器およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003412398A JP4580164B2 (ja) 2003-12-10 2003-12-10 電子機器およびプログラム

Publications (2)

Publication Number Publication Date
JP2005173939A JP2005173939A (ja) 2005-06-30
JP4580164B2 true JP4580164B2 (ja) 2010-11-10

Family

ID=34732851

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003412398A Expired - Fee Related JP4580164B2 (ja) 2003-12-10 2003-12-10 電子機器およびプログラム

Country Status (1)

Country Link
JP (1) JP4580164B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5631334B2 (ja) * 2009-12-14 2014-11-26 パナソニック株式会社 情報処理装置
KR101549164B1 (ko) 2013-08-08 2015-09-03 주식회사 넥시아 디바이스 엠에이치엘 인터페이스를 통한 문자 송수신 방법

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001117769A (ja) * 1999-10-20 2001-04-27 Matsushita Electric Ind Co Ltd プログラム実行装置
JP2002073196A (ja) * 2000-09-05 2002-03-12 Dainippon Printing Co Ltd 共有アクセス管理機能を備えた携帯可能な情報処理装置
JP2003264748A (ja) * 2002-03-07 2003-09-19 Nec Corp デジタル放送受信機

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001117769A (ja) * 1999-10-20 2001-04-27 Matsushita Electric Ind Co Ltd プログラム実行装置
JP2002073196A (ja) * 2000-09-05 2002-03-12 Dainippon Printing Co Ltd 共有アクセス管理機能を備えた携帯可能な情報処理装置
JP2003264748A (ja) * 2002-03-07 2003-09-19 Nec Corp デジタル放送受信機

Also Published As

Publication number Publication date
JP2005173939A (ja) 2005-06-30

Similar Documents

Publication Publication Date Title
US6591095B1 (en) Method and apparatus for designating administrative responsibilities in a mobile communications device
JP4598354B2 (ja) 通信システム、中継装置及び通信制御方法
JP3921057B2 (ja) アクセス方法および通信端末
US8087078B2 (en) Communication device
EP1271902B1 (en) Method and device for limiting call accompanying execution of application
KR20040075041A (ko) 컨텐츠 전송 방법 및 컨텐츠 전송 시스템
US7644444B2 (en) Communication device, program and recording media
JP2005222341A (ja) 情報機器上および伝送経路上でのプログラム分析によるセキュリティの確保
JP4142287B2 (ja) 通信端末、コンテンツの使用制限方法およびプログラムの実行制限方法
JP4203300B2 (ja) 通信端末、プログラム及び記憶媒体
JP2002342290A (ja) 通信端末、通信装置、通信制御方法、通信制御プログラムおよび通信制御プログラムを記録した記録媒体
JP2003337630A (ja) 通信端末、プログラム、記録媒体、通信端末のアクセス制御方法およびコンテンツの提供方法
EP1462909B1 (en) A computer for managing data sharing among application programs
CA2398443C (en) Method and device for controlling network access
JP4512083B2 (ja) ネットワークを介して通信端末に提供されるプログラムに対する伝送経路上でのセキュリティの確保
JP4580164B2 (ja) 電子機器およびプログラム
JP4358478B2 (ja) 通信端末のアクセス制御方法、コンテンツの提供方法、通信システムおよび中継装置
JP3887176B2 (ja) 中継装置、通信制御方法、プログラムおよび記録媒体
JP4361781B2 (ja) 受信装置およびプログラム
JP3899361B1 (ja) 携帯通信システム並びにそれに用いる通信端末及び通信制御プログラム
JP2005277602A (ja) サービスクラス制御システム、サービスクラス制御装置、端末装置、サービスクラス制御方法及びプログラム
JP4382049B2 (ja) ネットワークへのアクセスを管理する方法および装置
JP2008118668A (ja) 通信端末、通信システムおよび通信制御方法
JP4612010B2 (ja) データ処理装置、プログラムおよび記録媒体
JP2002262352A (ja) データ管理システム、データ管理装置及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060406

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090630

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090707

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090907

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100420

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100611

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100827

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

Free format text: PAYMENT UNTIL: 20130903

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4580164

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

LAPS Cancellation because of no payment of annual fees