JP2004302543A - 受信装置およびプログラム - Google Patents
受信装置およびプログラム Download PDFInfo
- Publication number
- JP2004302543A JP2004302543A JP2003091527A JP2003091527A JP2004302543A JP 2004302543 A JP2004302543 A JP 2004302543A JP 2003091527 A JP2003091527 A JP 2003091527A JP 2003091527 A JP2003091527 A JP 2003091527A JP 2004302543 A JP2004302543 A JP 2004302543A
- Authority
- JP
- Japan
- Prior art keywords
- program
- java
- data
- transmission source
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/72—Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
- H04M1/724—User interfaces specially adapted for cordless or mobile telephones
- H04M1/72403—User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/72—Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
- H04M1/724—User interfaces specially adapted for cordless or mobile telephones
- H04M1/72403—User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
- H04M1/72406—User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality by software upgrading or downloading
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Mobile Radio Communication Systems (AREA)
- Storage Device Security (AREA)
- Computer And Data Communications (AREA)
- Stored Programmes (AREA)
Abstract
【課題】受信装置が受信した複数のプログラムについて、セキュリティを確保しつつ、あるプログラムの実行時に使用することのできる該プログラム用のデータを、別のプログラムの実行時にも使用できるようにすること。
【解決手段】携帯電話機40は、起動元のJavaAPのダウンロード元を示すURLと起動先のJavaAPのダウンロード元を示すURLについて、FQDNが一致するか否かを判別し、FQDNが一致した場合にのみ、起動元のJavaAPを実行することによって得られたデータや、起動元のJavaAP用として用意されているデータを、起動先のJavaAPに従って行われる処理において使用することを許可する。
【選択図】 図8
【解決手段】携帯電話機40は、起動元のJavaAPのダウンロード元を示すURLと起動先のJavaAPのダウンロード元を示すURLについて、FQDNが一致するか否かを判別し、FQDNが一致した場合にのみ、起動元のJavaAPを実行することによって得られたデータや、起動元のJavaAP用として用意されているデータを、起動先のJavaAPに従って行われる処理において使用することを許可する。
【選択図】 図8
Description
【0001】
【発明の属する技術分野】
この発明は、あるプログラムを実行することによって得られたデータや該プログラム用に用意されたデータを、別のプログラムを実行する場合にも使用できるようにするための技術に関する。
【0002】
【従来の技術】
例えば、パーソナルコンピュータ等の電子機器は、当該電子機器にインストールされた各種のプログラムを実行することにより、文書データの作成やブラウジング、電子メールの送受信等に関する処理を行う。また、このような電子機器の中には、あるプログラムを実行することによって得られた、このプログラム用のデータを、別のプログラムの実行時にも使用できるようにしたものがある(例えば、特許文献1参照)。
【0003】
【特許文献1】
特開2002−312215号公報
【0004】
【発明が解決しようとする課題】
ところで、パケット通信機能を有する携帯電話機やパーソナルコンピュータ等の通信装置は、インターネットに接続されているWWW(World Wide Web)サーバから各種のプログラムをダウンロードすることができる。インターネット等のオープンネットワークは、世界中の様々な人々が自由に情報の公開やプログラムの提供を行うことができる反面、例えば、悪意の有る個人や団体が通信装置内に記憶されているデータを密かに盗み出すプログラムを提供していたり、あるいは悪意は無いものの、通信装置において動作させると不具合を引き起こしてしまうプログラムが提供されてしまうことがある。
【0005】
したがって、通信装置において、オープンネットワークを介して取得したプログラムについて何ら制限を設けずに、あるプログラムを実行することによって得られたデータや該プログラム用に用意されたデータを別のプログラムの実行時にも使用できるようにしてしまうと、例えば、あるプログラムの実行時にユーザが入力した個人情報が、悪意の有る個人や団体が提供したプログラムによってユーザの知らない間に通信装置から外部へ送信されてしまう、といった事態が生じるおそれがある。また、あるプログラム用に用意されたデータが、悪意の有る個人や団体が提供したプログラムによって不正に書き替えられてしまう、といった事態が生じるおそれがある。
【0006】
一方で、上述したようなセキュリティに関する問題に対処するため、通信装置において、あるプログラムの実行時に使用することのできる該プログラム用のデータを、他のプログラムの実行時には一切使用できないようにしてしまうと、通信装置の使い勝手が損なわれてしまう。
【0007】
本発明は、以上説明した事情に鑑みてなされたものであり、その目的は、受信装置が受信した複数のプログラムについて、セキュリティを確保しつつ、あるプログラムの実行時に使用することのできる該プログラム用のデータを、別のプログラムの実行時にも使用できるようにすることである。
【0008】
【課題を解決するための手段】
上記課題を解決するために、この発明は、プログラムを受信する受信手段と、
前記受信手段により受信されたプログラム毎に、当該プログラムと当該プログラムの送信元を示す送信元情報とを記憶する記憶手段と、
前記記憶手段に記憶された第1および第2のプログラムを含む複数のプログラムのうち、指定されたプログラムを実行する実行手段と、
前記実行手段により実行される前記第1のプログラムに従って行われる処理において使用することのできる、前記第1のプログラムと対応付けられたデータを、前記実行手段により実行される前記第2のプログラムに従って行われる処理において使用する旨が要求されると、前記記憶手段に記憶されている、前記第1のプログラムの送信元情報と前記第2のプログラムの送信元情報とを比較して、前記第1のプログラムと前記第2のプログラムの送信元が同じであるか否かを判定する判定手段と、
前記判定手段により前記第1のプログラムと前記第2のプログラムの送信元が同じであると判定された場合に、前記第2のプログラムに従って行われる処理において前記データを使用することを許可する許可手段と
を有する受信装置を提供する。
【0009】
また、この発明は、コンピュータを、
当該コンピュータによって受信されたプログラム毎に、当該プログラムと当該プログラムの送信元を示す送信元情報とをメモリに記憶する記憶手段、
前記記憶手段によりメモリに記憶された第1および第2のプログラムを含む複数のプログラムのうち、指定されたプログラムを実行する実行手段、
前記実行手段により実行される前記第1のプログラムに従って行われる処理において使用することのできる、前記第1のプログラムと対応付けられたデータを、前記実行手段により実行される前記第2のプログラムに従って行われる処理において使用する旨が要求されると、前記メモリに記憶されている、前記第1のプログラムの送信元情報と前記第2のプログラムの送信元情報とを比較して、前記第1のプログラムと前記第2のプログラムの送信元が同じであるか否かを判定する判定手段、および
前記判定手段により前記第1のプログラムと前記第2のプログラムの送信元が同じであると判定された場合に、前記第2のプログラムに従って行われる処理において前記データを使用することを許可する許可手段
として機能させるためのプログラムを提供する。
【0010】
勿論、このようなプログラムを記録媒体に記録して、この記録媒体を用いてプログラムを頒布するようにしてもよい。
【0011】
この発明によれば、受信装置(コンピュータ)は、ともに受信したプログラムである第1のプログラムと第2のプログラムの送信元が同じ場合にのみ、第1のプログラムに従って行われる処理において使用することのできる、第1のプログラムに対応付けられたデータを、第2のプログラムに従って行われる処理において使用することを許可する。
【0012】
【発明の実施の形態】
以下、図面を参照して本発明の実施形態について説明する。なお、各図において共通する部分には、同一の符号が付されている。
[A−1.実施形態の構成]
<1.通信システムの全体構成>
図1は、本発明の実施形態に係る通信システム1の構成を例示するブロック図である。同図に示すように通信システム1は、コンテンツサーバ10と、インターネット20と、移動パケット通信網30と、携帯電話機40とを有している。
【0013】
コンテンツサーバ10は、インターネット20および移動パケット通信網30を介して携帯電話機40とパケット通信を行う機能を有している。このコンテンツサーバ10には、携帯電話機40において実行可能なJava(登録商標)アプリケーションソフトウェア(以下、「JavaAP」と略称する)が記憶されている。
【0014】
移動パケット通信網30は、ゲートウェイサーバ31と、基地局32とを有している。ゲートウェイサーバ31は、移動パケット通信網30用の通信プロトコルとインターネット20用の通信プロトコル等、通信プロトコルの異なるデータを相互に変換し、移動パケット通信網30とインターネット20とのデータの授受を中継する。また、基地局32は、移動パケット通信網30の通信サービスエリア内に多数設置されており、自局32がカバーする無線セルに在圏している携帯電話機40と無線通信を行う。
【0015】
携帯電話機40は、移動パケット通信網30に収容される移動機である。この携帯電話機40は、自機40が在圏している無線セルをカバーする基地局32を介してコンテンツサーバ10とパケット通信を行い、コンテンツサーバ10から任意のJavaAPをダウンロードすることができる。
【0016】
<2.JavaAPの構成>
図2は、コンテンツサーバ10に記憶されているJavaAPの構成について例示する図である。同図に示すようにJavaAPは、JavaAPの本体プログラムおよびこの本体プログラムを実行する場合に使用される画像ファイルや音声ファイル等を1つにまとめたJAR(Java Archive)ファイルと、このJARファイルのインストールや起動、ネットワークアクセス等を制御するための各種制御情報が格納されたADF(Application Descriptor File)とを有している。
【0017】
ADFは、JARファイルの前に携帯電話機40にダウンロードされるデータファイルであって、このADFと対をなすJARファイルをADFに引き続いて携帯電話機40にダウンロードするため、インターネット20上におけるJARファイルの格納場所等を示すURL(Uniform Resource Locator)が“PackageURL”の項目データとして含まれている。この“PackageURL”の項目データは、JavaAPの提供者によって設定される。
【0018】
同図に示す例では、“PackageURL”の項目データとして“http://www.○○.co.jp/△△/JAR001”がADFに含まれている。したがって、このADFと対をなすJARファイル“JAR001”は、インターネット20上において、URL“http://www.○○.co.jp/△△/JAR001”によって特定されるWWWサーバ(コンテンツサーバ10)に記憶されていることがわかる。
【0019】
なお、以下、本明細書では、JARファイルとADFを特に区別する必要がない限り、これらを合わせて「JavaAP」と記載する。また、本明細書において、1つのJavaAPを構成するJARファイルおよびADFは、同じコンテンツサーバ10に記憶されているものとする。但し、JARファイルとADFは、各々別のサーバに記憶されていてもよい。
【0020】
<3.携帯電話機の構成>
図3は、携帯電話機40のハードウェア構成を例示するブロック図である。同図に示すように携帯電話機40は、CPU401と、ROM402と、RAM403と、無線通信部404と、操作入力部405と、通話処理部406と、液晶表示部407と、不揮発性メモリ408とを有しており、これらの各部はバス409により接続されている。
【0021】
CPU401は、ROM402や不揮発性メモリ408に記憶されている各種のプログラムを実行することにより、バス409を介して接続されている装置各部を制御する。ROM402には、装置各部の基本制御を司るプログラム等が記憶されている。また、RAM403は、CPU401のワークエリアとして用いられる。
【0022】
無線通信部404は、アンテナ404aを備え、基地局32との無線通信を制御する。この無線通信部404は、CPU401の制御の下、例えば、パケット通信用のデータや送話音声に関するデータ等を搬送波に重畳して送信信号を生成し、この信号を基地局32へ送信する。また、無線通信部404は、基地局32から送られてくる無線信号をアンテナ404aを介して受信し、この信号を復調して自機40宛のパケット通信用のデータや受話音声に関するデータ等を得る。
【0023】
操作入力部405は、数字や文字、操作指示等を入力するための複数のキーを有しており、これらのキーの操作に応じた操作信号をCPU401に出力する。通話処理部406は、例えば、マイクロフォンやスピーカ、音声処理部等を有しており、CPU401の制御の下、呼の接続や切断等を含む通話処理を行う。また、液晶表示部407は、液晶表示パネルと、この液晶表示パネルの表示制御を行う駆動回路とを有している。
【0024】
不揮発性メモリ408は、例えば、SRAM(Static−RAM)やEEPROM(Electrically Erasable Programmable−ROM)等であり、携帯電話機40のオペレーティングシステム(以下、「OS」と略称する)やWWWブラウザ用のソフトウェア、Java実行環境を構築するためのソフトウェア等が記憶されている。また、この不揮発性メモリ408には、コンテンツサーバ10からダウンロードされたJavaAP等が記憶される。
【0025】
この不揮発性メモリ408は、JARストレージ408aと、スクラッチパッド408bとを有している。JARストレージ408aには、図4に示すように、携帯電話機40にダウンロードされた各JavaAP毎にそのJARファイルが記憶される。同図に示す例では、JARストレージ408a内に3つのJARファイル“JARファイルA”,“JARファイルB”,“JARファイルC”が記憶されている。
【0026】
また、スクラッチパッド408bには、図5に示すように、JARストレージ408aに記憶された各JARファイル毎に、JARファイルの本体プログラムを実行することによって得られるデータ等を永続的に記憶するためのJARファイル用メモリ領域が設けられている。なお、JARファイルの本体プログラムを実行することによって得られるデータとは、例えば、JARファイルがビデオゲーム用のものであった場合、ビデオゲームを途中で終える際に保存しておくセーブデータ等である。
【0027】
<4.携帯電話機におけるソフトウェアの実行環境>
図6は、携帯電話機40におけるソフトウェアの実行環境を説明するための図である。同図において、KVM(K Virtual Machine)は、小型電子機器用に設計変更されたJVM(Java Virtual Machine)であって、JavaバイトコードをCPU401がOSを介して解釈/実行可能な命令コードに変換するためのソフトウェアである。また、API(Application Program Interface)は、例えば、CLDC(Connected Limited Device Configuration)によって規定されている機能や、携帯電話機40に特化した機能をJavaAPに対して提供するためのソフトウェアモジュールである。
【0028】
JAM(Java Application Manager)は、OSによる制御の下で、JavaAPのダウンロード/インストール/起動/終了/削除等を管理するためのソフトウェアである。このJAMは、例えば、図4に示したJARファイルAの本体プログラムが実行される場合に、この本体プログラムに従って行われる処理において、不揮発性メモリ408やROM402等を含む各種リソースに対するアクセスが要求されると、そのアクセス先が、JARストレージ408a内のJARファイルAが記憶されている領域、スクラッチパッド408b内のJARファイルA用のメモリ領域、JARファイルAを実行するためにRAM403内に割り当てられたアプリケーション実行メモリ領域、JARファイルAのダウンロード元となるコンテンツサーバ10、のいずれかである場合にのみアクセスを許可する。
【0029】
このようにJAMは、携帯電話機40にダウンロードされた各JavaAPについて、基本的に、あるJavaAPに従って行われる処理において他のJavaAP用のデータが使用されることのないよう、各JavaAPの実行時に各種リソースに対するアクセスを制限する機能を有している。
【0030】
なお、同図に示すように、電話帳機能やブラウザ機能、ネットワーク通信機能を実現するためのソフトウェアは、OSによる制御の下で直接動作する。
【0031】
[A−2.実施形態の動作]
次に、本実施形態の動作について説明する。
<1.ダウンロード処理>
図7は、JavaAPをダウンロードする場合の、携帯電話機40およびコンテンツサーバ10の動作を例示するシーケンスチャートである。なお、このダウンロードに関する処理において、ステップS103以降の携帯電話機40で行われる各処理は、CPU401がJAMに従って実行する処理である。
【0032】
まず、ユーザは、携帯電話機40の操作入力部405を操作してWWWブラウザを起動させる。次いで、ユーザは、操作入力部405を操作してコンテンツサーバ10への接続を指示する。これにより携帯電話機40からコンテンツサーバ10へ接続要求メッセージが送信される(ステップS101)。コンテンツサーバ10は、接続要求メッセージを受信すると、必要に応じて携帯電話機40の認証処理等を行なった後、サイトのメニュー情報を携帯電話機40へ送信する(ステップS102)。また、携帯電話機40は、メニュー情報を受信すると、このメニュー情報に基づく画像を液晶表示部407の液晶表示パネル(以下、「液晶画面」と記載する)に表示する。この後、携帯電話機40とコンテンツサーバ10の間では、メニューの選択等に関する情報が送受信される。
【0033】
そして、携帯電話機40において、ダウンロードするJavaAPが操作入力により選択されると、CPU401は、選択されたJavaAPのADFを携帯電話機40に対して送信することを要求するADF取得要求メッセージをコンテンツサーバ10へ送信する(ステップS103)。コンテンツサーバ10は、ADF取得要求メッセージを受信すると、このADF取得要求メッセージによって指定されるADFをメモリから読み出して携帯電話機40へ送信する(ステップS104)。
【0034】
携帯電話機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のダウンロードを中止する。
【0035】
一方、CPU401は、JARファイルのダウンロードできると判別した場合は(ステップS105:Yes)、次いで、ADFに含まれている“PackageURL”の項目データ、すなわちJARファイルの取得要求先等を示すURLを用いてJARファイル取得要求メッセージを生成し、当該JARファイル取得要求メッセージをコンテンツサーバ10へ送信する(ステップS106)。コンテンツサーバ10は、JARファイル取得要求メッセージを受信すると、このJARファイル取得要求メッセージによって指定されるJARファイルをメモリから読み出して携帯電話機40に送信する(ステップS107)。
【0036】
携帯電話機40のCPU401は、JARファイルを受信すると、まず、上記ステップS104において受信したADFから“AppSize”項目のサイズ情報を読み出す。そして、CPU401は、読み出したサイズ情報によって指定される容量のメモリ領域をJARストレージ408aに確保した後、このメモリ領域内に、受信したJARファイルをインストールする。また、CPU401は、ADFから“SPsize”項目のサイズ情報を読み出し、当該サイズ情報に従って、インストールされたJARファイル用のメモリ領域をスクラッチパッド408b内に確保する。また、CPU401は、上記ステップS104において受信したADFを、インストールされたJARファイルと対応付けて不揮発性メモリ408に格納する(ステップS108)。
【0037】
<2.JavaAPの起動>
次に、携帯電話機40においてCPU401は、例えば、画面表示されたJavaAPの一覧リストの中から、起動させるJavaAPが操作入力によって指定された場合等に、指定されたJavaAPの本体プログラムをJARストレージ408aから読み出して実行し、この本体プログラムに従って行われる処理を開始する。なお、JavaAPの起動を指示する形態は、操作入力に限定されず、例えば、予め設定された時刻になるとJavaAPの起動が指示される場合や、他のプログラムに従って行われている処理からJavaAPの起動が指示される場合、電子メール等を用いて携帯電話機40の外部からJavaAPの起動が指示される場合等もある。
【0038】
また、JavaAPを起動させる場合には、JARストレージ408aから読み出された本体プログラム等や、このJavaAPを実行するために必要となるオブジェクト等を記憶しておくためのアプリケーション実行メモリ領域がRAM403内に確保される。さらに、CPU401は、このようにして起動させたJavaAPに従って行われる処理において、他のJavaAP用のデータ等を使用することがないよう、前述したようにJAMに従ってアクセスを制限している。
【0039】
そして、CPU401は、このようにして起動させたJavaAPに従って行われる処理において、不揮発性メモリ408に記憶されている他のJavaAPを起動させる旨の起動要求が発生すると、以下に説明する起動APIに基づく処理を開始する。なお、起動APIを実行する場合には、RAM403内に、起動APIしかアクセスすることのできない起動API専用メモリ領域が確保される。
【0040】
<3.起動APIに基づく処理>
図8は、携帯電話機40においてCPU401により実行される起動APIに基づく処理の動作を例示するフローチャートである。
【0041】
同図に示すように、まず、CPU401は、他のJavaAPの起動を要求した実行中のJavaAP(以下、「起動元のJavaAP」という)について、不揮発性メモリ408に記憶されているADFから“PackageURL”の項目データ(ダウンロード元を示すURL)を取得する(ステップS201)。また、CPU401は、起動させる旨が要求されたJavaAP(以下、「起動先のJavaAP」という)についても、不揮発性メモリ408に記憶されているADFから“PackageURL”の項目データ(ダウンロード元を示すURL)を取得する(ステップS202)。
【0042】
次いで、CPU401は、上記ステップS201およびS202において取得した2つのURLについて、それぞれのFQDN(Fully Qualified Domain Name:完全修飾ドメイン名)を比較し(ステップS203)、両方のFQDNが一致するか否かを判別する(ステップS204)。すなわち、このステップS204においてCPU401は、起動元のJavaAPと起動先のJavaAPのダウンロード元が同じであるか否かを判定する。その結果、CPU401は、FQDNが一致しないと判別した場合は、セキュリティが確保できないため、起動先のJavaAPを実行することはできない旨のメッセージを液晶画面に表示するとともに(ステップS205)、起動先のJavaAPの実行を取り止め(ステップS206)、起動APIに基づく処理を終える。
【0043】
一方、CPU401は、両方のFQDNが一致すると判別した場合は(ステップS204:Yes)、次いで、起動先のJavaAPが、他のJavaAPとの連携が許可されたソフトウェアであるか否かを判別する(ステップS207)。このステップS207の処理について具体的に説明すると、まず、前提としてJavaAPのADFには、このJavaAPが他のJavaAPとの連携が許可されたソフトウェアであるか否かを示す情報“LaunchApp”が含まれている。この“LaunchApp”のデータは、JavaAPの提供者によって設定されるものであり、例えば、他のJavaAPとの連携を許可する場合に“1”が、他のJavaAPとの連携を許可しない場合に“0”が設定されている。勿論、このように、他のJavaAPとの連携を許可するか否かだけではなく、連携を許可するJavaAPを指定する情報がさらに含まれていてもよい。
【0044】
CPU401は、起動先のJavaAPについて、不揮発性メモリ408に記憶されているADFから“LaunchApp”のデータを取得し、当該データが“1”であるのか、それとも“0”であるのかに従って、このJavaAPが他のJavaAPとの連携が許可されたソフトウェアであるか否かを判別する。その結果、CPU401は、起動先のJavaAPが他のJavaAPとの連携が許可されたソフトウェアでないと判別した場合は(ステップS207:No)、起動しようとしているJavaAPが連携を許可しているソフトウェアではないため、このJavaAPを起動することはできない旨のメッセージを液晶画面に表示し(ステップS205)、起動先のJavaAPの実行を取り止め(ステップS206)、起動APIに基づく処理を終える。
【0045】
一方、CPU401は、起動先のJavaAPが他のJavaAPとの連携が許可されたソフトウェアであると判別した場合は(ステップS207:Yes)、次いで、起動元のJavaAPを実行する場合に使用することのできるデータを、起動先のJavaAPに従って行われる処理に引き渡すことが要求されているか否かを判別する(ステップS208)。なお、起動元のJavaAPを実行する場合に使用することのできるデータとは、例えば、起動元のJavaAPを実行することによって得られる処理結果や各種パラメータ値、起動元のJavaAPのJARファイル内に格納されている画像データや音声データ等である。
【0046】
CPU401は、上記ステップS208において、データの引き渡しが要求されていないと判別した場合は、起動元のJavaAPを終了させるとともに、起動先のJavaAPの本体プログラムをJARストレージ408aから読み出して起動した後(ステップS209)、起動APIに基づく処理を終える。一方、CPU401は、上記ステップS208において、データの引き渡しが要求されていると判別した場合は、次いで、データの引き渡しを許可するか否かをユーザに問うメッセージを液晶画面に表示する。
【0047】
この表示に応じて、データの引き渡しを許可しない旨が操作入力部405から入力された場合、あるいはメッセージの表示の後、予め定められた時間が経過してもデータの引き渡しを許可する旨が操作入力部405から入力されなかった場合(ステップS210:No)、CPU401は、ユーザの承認が得られなかったのでデータの引き渡しを行うことはできず、よって起動先のJavaAPの実行を中止する旨のメッセージを液晶画面に表示した後(ステップS205)、起動先のJavaAPの実行を取り止め(ステップS206)、起動APIに基づく処理を終える。なお、データの引き渡しの可否を問うメッセージは、例えば、音声メッセージとしてユーザに報知される形態であってもよい。
【0048】
一方、CPU401は、メッセージの表示の後、予め定められた時間内に操作入力部405からデータの引き渡しを許可する旨の入力があると(ステップS210:Yes)、まず、起動元のJavaAP用としてRAM403内に設けられたアプリケーション実行メモリ領域、あるいはスクラッチパッド408b内に設けられた起動元のJavaAP用のメモリ領域(JARファイル用メモリ領域)から、引き渡しの対象となるデータを取得し、当該データをRAM403の起動API専用メモリ領域に記憶する(ステップS211)。次いで、CPU401は、起動元のJavaAPを終了させ、RAM403のアプリケーション実行メモリ領域内のデータを消去した後、起動先のJavaAPの本体プログラムをJARストレージ408aから読み出して起動する(ステップS212)。
【0049】
このようにして起動先のJavaAPが実行(起動)されると、CPU401は、上記ステップS211において起動API専用メモリ領域に記憶しておいた、引き渡し対象となるデータを読み出す。そして、CPU401は、読み出したデータを、RAM403のアプリケーション実行メモリ領域、あるいはスクラッチパッド408b内に設けられている起動先のJavaAP用のメモリ領域に格納し(ステップS213)、起動APIに基づく処理を終える。
【0050】
これにより、起動元のJavaAPを実行する場合に使用することのできるデータが、起動先のJavaAPを実行する場合に、アプリケーション実行メモリ領域あるいはスクラッチパッド408b内の起動先のJavaAP用のメモリ領域に記憶されるので、当該データを起動先のJavaAPに従って行われる処理において使用することができるようになる。
【0051】
例えば、ユーザが、FQDNの一致するダウンロード元から野球ゲーム用の2つのJavaAP、すなわち野球の試合を行うためのJavaAP(以下、「試合用JavaAP」という)と、当該試合用JavaAPで使用可能なゲームキャラクタ(選手)を練習によって鍛え、選手に設定された各パラメータ値(例えば、打撃力、走力、投球スピード、投球可能球種等)をアップさせることのできるJavaAP(以下、「練習用JavaAP」という)とを携帯電話機40にダウンロードした場合、ユーザは、携帯電話機40において練習用JavaAPを実行することにより、選手の各パラメータ値をアップさせ、当該練習用JavaAPによって各パラメータ値をアップさせた選手を、試合用JavaAPにおいて使用することができるようになるのである。
【0052】
以上説明したように本実施形態によれば、携帯電話機40は、起動元のJavaAPと起動先のJavaAPのダウンロード元が同じ場合にのみ、起動元のJavaAPを実行することによって得られたデータや、起動元のJavaAP用として用意されているデータを、起動先のJavaAPの実行時にも使用できるようにする。
【0053】
したがって、仮に、悪意の有る個人や団体によって提供されたJavaAPが携帯電話機40において実行されたとしても、このJavaAPに対して、携帯電話機40にインストールされている、ダウンロード元が異なる他のJavaAP用のデータが引き渡されることはない。また、本実施形態によれば、ダウンロード元が同じJavaAP間であっても、データの引き渡しが行われる場合には必ずユーザに承認を得るようにしているので、ユーザの知らない間にデータが引き渡されてしまうようなことがない。
【0054】
なお、携帯電話機40(コンピュータ)は、ROM402や不揮発性メモリ408に記憶されているプログラムに従って、上述したダウンロード処理(図7参照)や起動APIに基づく処理(図8参照)を実行するが、このような本発明に係る処理を実行するためのプログラムを通信によって携帯電話機40に提供するようにしてもよい。あるいは、このようなプログラムを記録媒体に記録して提供するようにしてもよい。
【0055】
[B.変形例]
以上、本発明の実施形態について説明したが、本発明はその主要な特徴から逸脱することなく他の様々な形態で実施することが可能である。上述した実施形態は、本発明の一態様を例示したものに過ぎず、例えば、以下に示すような変形例が考えられる。
【0056】
<変形例1>
上述した起動APIに基づく処理(図8参照)において、起動元のJavaAPと起動先のJavaAPのダウンロード元が同じであることに加え、さらに起動元のJavaAPと起動先のJavaAPがデータの授受を許可するJavaAPとしてユーザによって事前に承認されている場合にのみ、データの引き渡しを許可するようにしてもよい。この場合、ユーザは、携帯電話機40にダウンロードされた各JavaAPについて、データの授受を許可する2以上のJavaAPを事前に指定して登録しておく必要がある。
【0057】
図9は、携帯電話機40においてCPU401により実行される登録処理の動作を例示するフローチャートである。この登録処理は、データの授受を許可する2以上のJavaAPを登録する旨が操作入力によって指示された場合に、CPU401により実行される。
【0058】
同図に示すように、まず、不揮発性メモリ408にインストールされている各Ja vaAPのうち、ユーザが操作入力により任意のJavaAPを選択すると(ステップS301)、CPU401は、選択されたJavaAPについて、そのADFに“PackageURL”の項目データとして含まれているURLからFQDNを取得する(ステップS302)。次いで、CPU401は、不揮発性メモリ408にインストールされている各JavaAPについて、ダウンロード元を示すURLのFQDNが上記ステップS302において取得したFQDNと一致するか否かを調べ、FQDNが一致するJavaAPを液晶画面にリスト表示する(ステップS303)。
【0059】
そして、CPU401は、リスト表示されたJavaAPの中から、上記ステップS301において選択されたJavaAPとのデータの授受を許可する1以上のJavaAPが操作入力によって選択されると(ステップS304)、当該ステップS304において選択されたJavaAPの識別情報(例えばJARファイルのファイル名)と、上記ステップS301において選択されたJavaAPの識別情報とを対応付けて、ユーザがデータの授受を許可したJavaAPに関する情報(設定データ)として不揮発性メモリ408に記憶し(ステップS305)、登録処理を終える。なお、登録処理において、他のJavaAPとのデータの授受を許可しないJavaAPを不揮発性メモリ408に登録しておくようにしてもよい。
【0060】
このようにして不揮発性メモリ408に記憶された設定データを用いて、上述した起動APIに基づく処理(図8参照)において、起動元のJavaAPと起動先のJavaAPのダウンロード元が同じであることに加え、起動元のJavaAPと起動先のJavaAPがデータの授受を許可するJavaAPとしてユーザによって事前に承認されている場合に、データの引き渡しを許可するようにしてもよい。このようにすれば、ダウンロード元が同じJavaAP間であっても、事前にユーザの承認を得ていなければデータの引き渡しが許可されないので、携帯電話機40におけるセキュリティをより高めることができる。
【0061】
<変形例2>
上述した実施形態では、図8に示したステップS201〜S213までの処理を起動APIの処理として行う場合について説明したが、上記ステップS201〜S213までの処理は、JAMやOSの処理として行われてもよい。
【0062】
<変形例3>
上述した起動APIに基づく処理(図8参照)のステップS203では、起動元のJavaAPの送信元を示すURLと、起動先のJavaAPの送信元を示すURLについて、FQDNが一致するか否かを判別するようにした。しかしながら、URLのうち比較対象とする部分は、FQDNに限定されるものではない。例えば、FQDNの代わりにドメイン名を用いてもよいし、あるいはURLを構成する文字列のうち、例えば、最初から25文字目までの部分等を比較対象としてもよい。このようにURLのうち比較対象とする部分は任意に設定可能である。
【0063】
また、このようにURLのうち比較対象とする部分が任意に設定可能であることから明らかとなるように、ダウンロード元が同じJavaAPであると判定されるのは、同一のコンテンツサーバ10からダウンロードされたJavaAPに限定されるものでない。上述したようにURLの一部が一致すればよい訳であるから、異なるコンテンツサーバ10からダウンロードされたJavaAPであってもダウンロード元が同じJavaAPと判定される場合もあるし、あるいは同一のコンテンツサーバ10であるだけではなく、JavaAPが記憶されていたフォルダが同じであること等、さらにより細かな条件が一致しなければ、同じダウンロード元とは判定されない場合もある。
【0064】
<変形例4>
上述した実施形態では、プログラムの送信元を示す情報としてURLを用いた場合について説明したが、プログラムの送信元を示す情報は、URLに限定されるものではない。例えば、プログラムの送信元となる通信装置に割り当てられているID(例えば、MACアドレスやメールアドレス等)や、プログラムの提供者毎に固有に割り当てられたID、あるいはプログラムの提供者が独自に設定した識別情報等を用いてもよい。
【0065】
また、プログラムの送信元を示す情報は、プログラム自体に付加されていなくともよい。この場合、受信装置は、プログラムの受信時に当該プログラムの送信元となる通信装置から、このプログラムの送信元情報(例えば、URLや通信装置の通信アドレス等)を取得して、受信したプログラムと対応付けてメモリに記憶すればよい。
【0066】
<変形例5>
上述した実施形態では、携帯電話機40にJavaAPをダウンロードする場合について説明したが、勿論、ダウンロードではなく、JavaAPが携帯電話機40に配信される場合についても本発明を適用することができる。また、本発明が適用可能な受信装置は、携帯電話機に限定されるものではない。例えば、PHS(Personal Handyphone System:登録商標)端末やパーソナルコンピュータ等の各種通信機器に本発明を適用することができる。勿論、プログラミング言語は、Javaに限定されるものではない。
【0067】
【発明の効果】
以上説明したように本発明によれば、受信装置が受信した複数のプログラムについて、セキュリティを確保しつつ、あるプログラムの実行時に使用することのできる該プログラム用のデータを、別のプログラムの実行時にも使用することができるようになる。
【図面の簡単な説明】
【図1】本発明の実施形態に係る通信システムの構成を例示するブロック図である。
【図2】同実施形態に係るJavaAPの構成について例示する図である。
【図3】同実施形態に係る携帯電話機のハードウェア構成を例示するブロック図である。
【図4】同実施形態に係るJARストレージの構成を例示する図である。
【図5】同実施形態に係るスクラッチパッドの構成を例示する図である。
【図6】同実施形態に係り、携帯電話機におけるソフトウェアの実行環境を説明するための図である。
【図7】同実施形態に係り、JavaAPをダウンロードする場合の、携帯電話機およびコンテンツサーバの動作を例示するシーケンスチャートである。
【図8】同実施形態に係る携帯電話機において、CPUにより実行される起動APIに基づく処理の動作を例示するフローチャートである。
【図9】本発明の変形例1に係り、携帯電話機においてCPUにより実行される登録処理の動作を例示するフローチャートである。
【符号の説明】
1……通信システム、10……コンテンツサーバ、20……インターネット、30……移動パケット通信網、31……ゲートウェイサーバ、32……基地局、40……携帯電話機、401……CPU、402……ROM、403……RAM、404……無線通信部、404a……アンテナ、405……操作入力部、406……通話処理部、407……液晶表示部、408……不揮発性メモリ、408a……JARストレージ、408b……スクラッチパッド、409……バス。
【発明の属する技術分野】
この発明は、あるプログラムを実行することによって得られたデータや該プログラム用に用意されたデータを、別のプログラムを実行する場合にも使用できるようにするための技術に関する。
【0002】
【従来の技術】
例えば、パーソナルコンピュータ等の電子機器は、当該電子機器にインストールされた各種のプログラムを実行することにより、文書データの作成やブラウジング、電子メールの送受信等に関する処理を行う。また、このような電子機器の中には、あるプログラムを実行することによって得られた、このプログラム用のデータを、別のプログラムの実行時にも使用できるようにしたものがある(例えば、特許文献1参照)。
【0003】
【特許文献1】
特開2002−312215号公報
【0004】
【発明が解決しようとする課題】
ところで、パケット通信機能を有する携帯電話機やパーソナルコンピュータ等の通信装置は、インターネットに接続されているWWW(World Wide Web)サーバから各種のプログラムをダウンロードすることができる。インターネット等のオープンネットワークは、世界中の様々な人々が自由に情報の公開やプログラムの提供を行うことができる反面、例えば、悪意の有る個人や団体が通信装置内に記憶されているデータを密かに盗み出すプログラムを提供していたり、あるいは悪意は無いものの、通信装置において動作させると不具合を引き起こしてしまうプログラムが提供されてしまうことがある。
【0005】
したがって、通信装置において、オープンネットワークを介して取得したプログラムについて何ら制限を設けずに、あるプログラムを実行することによって得られたデータや該プログラム用に用意されたデータを別のプログラムの実行時にも使用できるようにしてしまうと、例えば、あるプログラムの実行時にユーザが入力した個人情報が、悪意の有る個人や団体が提供したプログラムによってユーザの知らない間に通信装置から外部へ送信されてしまう、といった事態が生じるおそれがある。また、あるプログラム用に用意されたデータが、悪意の有る個人や団体が提供したプログラムによって不正に書き替えられてしまう、といった事態が生じるおそれがある。
【0006】
一方で、上述したようなセキュリティに関する問題に対処するため、通信装置において、あるプログラムの実行時に使用することのできる該プログラム用のデータを、他のプログラムの実行時には一切使用できないようにしてしまうと、通信装置の使い勝手が損なわれてしまう。
【0007】
本発明は、以上説明した事情に鑑みてなされたものであり、その目的は、受信装置が受信した複数のプログラムについて、セキュリティを確保しつつ、あるプログラムの実行時に使用することのできる該プログラム用のデータを、別のプログラムの実行時にも使用できるようにすることである。
【0008】
【課題を解決するための手段】
上記課題を解決するために、この発明は、プログラムを受信する受信手段と、
前記受信手段により受信されたプログラム毎に、当該プログラムと当該プログラムの送信元を示す送信元情報とを記憶する記憶手段と、
前記記憶手段に記憶された第1および第2のプログラムを含む複数のプログラムのうち、指定されたプログラムを実行する実行手段と、
前記実行手段により実行される前記第1のプログラムに従って行われる処理において使用することのできる、前記第1のプログラムと対応付けられたデータを、前記実行手段により実行される前記第2のプログラムに従って行われる処理において使用する旨が要求されると、前記記憶手段に記憶されている、前記第1のプログラムの送信元情報と前記第2のプログラムの送信元情報とを比較して、前記第1のプログラムと前記第2のプログラムの送信元が同じであるか否かを判定する判定手段と、
前記判定手段により前記第1のプログラムと前記第2のプログラムの送信元が同じであると判定された場合に、前記第2のプログラムに従って行われる処理において前記データを使用することを許可する許可手段と
を有する受信装置を提供する。
【0009】
また、この発明は、コンピュータを、
当該コンピュータによって受信されたプログラム毎に、当該プログラムと当該プログラムの送信元を示す送信元情報とをメモリに記憶する記憶手段、
前記記憶手段によりメモリに記憶された第1および第2のプログラムを含む複数のプログラムのうち、指定されたプログラムを実行する実行手段、
前記実行手段により実行される前記第1のプログラムに従って行われる処理において使用することのできる、前記第1のプログラムと対応付けられたデータを、前記実行手段により実行される前記第2のプログラムに従って行われる処理において使用する旨が要求されると、前記メモリに記憶されている、前記第1のプログラムの送信元情報と前記第2のプログラムの送信元情報とを比較して、前記第1のプログラムと前記第2のプログラムの送信元が同じであるか否かを判定する判定手段、および
前記判定手段により前記第1のプログラムと前記第2のプログラムの送信元が同じであると判定された場合に、前記第2のプログラムに従って行われる処理において前記データを使用することを許可する許可手段
として機能させるためのプログラムを提供する。
【0010】
勿論、このようなプログラムを記録媒体に記録して、この記録媒体を用いてプログラムを頒布するようにしてもよい。
【0011】
この発明によれば、受信装置(コンピュータ)は、ともに受信したプログラムである第1のプログラムと第2のプログラムの送信元が同じ場合にのみ、第1のプログラムに従って行われる処理において使用することのできる、第1のプログラムに対応付けられたデータを、第2のプログラムに従って行われる処理において使用することを許可する。
【0012】
【発明の実施の形態】
以下、図面を参照して本発明の実施形態について説明する。なお、各図において共通する部分には、同一の符号が付されている。
[A−1.実施形態の構成]
<1.通信システムの全体構成>
図1は、本発明の実施形態に係る通信システム1の構成を例示するブロック図である。同図に示すように通信システム1は、コンテンツサーバ10と、インターネット20と、移動パケット通信網30と、携帯電話機40とを有している。
【0013】
コンテンツサーバ10は、インターネット20および移動パケット通信網30を介して携帯電話機40とパケット通信を行う機能を有している。このコンテンツサーバ10には、携帯電話機40において実行可能なJava(登録商標)アプリケーションソフトウェア(以下、「JavaAP」と略称する)が記憶されている。
【0014】
移動パケット通信網30は、ゲートウェイサーバ31と、基地局32とを有している。ゲートウェイサーバ31は、移動パケット通信網30用の通信プロトコルとインターネット20用の通信プロトコル等、通信プロトコルの異なるデータを相互に変換し、移動パケット通信網30とインターネット20とのデータの授受を中継する。また、基地局32は、移動パケット通信網30の通信サービスエリア内に多数設置されており、自局32がカバーする無線セルに在圏している携帯電話機40と無線通信を行う。
【0015】
携帯電話機40は、移動パケット通信網30に収容される移動機である。この携帯電話機40は、自機40が在圏している無線セルをカバーする基地局32を介してコンテンツサーバ10とパケット通信を行い、コンテンツサーバ10から任意のJavaAPをダウンロードすることができる。
【0016】
<2.JavaAPの構成>
図2は、コンテンツサーバ10に記憶されているJavaAPの構成について例示する図である。同図に示すようにJavaAPは、JavaAPの本体プログラムおよびこの本体プログラムを実行する場合に使用される画像ファイルや音声ファイル等を1つにまとめたJAR(Java Archive)ファイルと、このJARファイルのインストールや起動、ネットワークアクセス等を制御するための各種制御情報が格納されたADF(Application Descriptor File)とを有している。
【0017】
ADFは、JARファイルの前に携帯電話機40にダウンロードされるデータファイルであって、このADFと対をなすJARファイルをADFに引き続いて携帯電話機40にダウンロードするため、インターネット20上におけるJARファイルの格納場所等を示すURL(Uniform Resource Locator)が“PackageURL”の項目データとして含まれている。この“PackageURL”の項目データは、JavaAPの提供者によって設定される。
【0018】
同図に示す例では、“PackageURL”の項目データとして“http://www.○○.co.jp/△△/JAR001”がADFに含まれている。したがって、このADFと対をなすJARファイル“JAR001”は、インターネット20上において、URL“http://www.○○.co.jp/△△/JAR001”によって特定されるWWWサーバ(コンテンツサーバ10)に記憶されていることがわかる。
【0019】
なお、以下、本明細書では、JARファイルとADFを特に区別する必要がない限り、これらを合わせて「JavaAP」と記載する。また、本明細書において、1つのJavaAPを構成するJARファイルおよびADFは、同じコンテンツサーバ10に記憶されているものとする。但し、JARファイルとADFは、各々別のサーバに記憶されていてもよい。
【0020】
<3.携帯電話機の構成>
図3は、携帯電話機40のハードウェア構成を例示するブロック図である。同図に示すように携帯電話機40は、CPU401と、ROM402と、RAM403と、無線通信部404と、操作入力部405と、通話処理部406と、液晶表示部407と、不揮発性メモリ408とを有しており、これらの各部はバス409により接続されている。
【0021】
CPU401は、ROM402や不揮発性メモリ408に記憶されている各種のプログラムを実行することにより、バス409を介して接続されている装置各部を制御する。ROM402には、装置各部の基本制御を司るプログラム等が記憶されている。また、RAM403は、CPU401のワークエリアとして用いられる。
【0022】
無線通信部404は、アンテナ404aを備え、基地局32との無線通信を制御する。この無線通信部404は、CPU401の制御の下、例えば、パケット通信用のデータや送話音声に関するデータ等を搬送波に重畳して送信信号を生成し、この信号を基地局32へ送信する。また、無線通信部404は、基地局32から送られてくる無線信号をアンテナ404aを介して受信し、この信号を復調して自機40宛のパケット通信用のデータや受話音声に関するデータ等を得る。
【0023】
操作入力部405は、数字や文字、操作指示等を入力するための複数のキーを有しており、これらのキーの操作に応じた操作信号をCPU401に出力する。通話処理部406は、例えば、マイクロフォンやスピーカ、音声処理部等を有しており、CPU401の制御の下、呼の接続や切断等を含む通話処理を行う。また、液晶表示部407は、液晶表示パネルと、この液晶表示パネルの表示制御を行う駆動回路とを有している。
【0024】
不揮発性メモリ408は、例えば、SRAM(Static−RAM)やEEPROM(Electrically Erasable Programmable−ROM)等であり、携帯電話機40のオペレーティングシステム(以下、「OS」と略称する)やWWWブラウザ用のソフトウェア、Java実行環境を構築するためのソフトウェア等が記憶されている。また、この不揮発性メモリ408には、コンテンツサーバ10からダウンロードされたJavaAP等が記憶される。
【0025】
この不揮発性メモリ408は、JARストレージ408aと、スクラッチパッド408bとを有している。JARストレージ408aには、図4に示すように、携帯電話機40にダウンロードされた各JavaAP毎にそのJARファイルが記憶される。同図に示す例では、JARストレージ408a内に3つのJARファイル“JARファイルA”,“JARファイルB”,“JARファイルC”が記憶されている。
【0026】
また、スクラッチパッド408bには、図5に示すように、JARストレージ408aに記憶された各JARファイル毎に、JARファイルの本体プログラムを実行することによって得られるデータ等を永続的に記憶するためのJARファイル用メモリ領域が設けられている。なお、JARファイルの本体プログラムを実行することによって得られるデータとは、例えば、JARファイルがビデオゲーム用のものであった場合、ビデオゲームを途中で終える際に保存しておくセーブデータ等である。
【0027】
<4.携帯電話機におけるソフトウェアの実行環境>
図6は、携帯電話機40におけるソフトウェアの実行環境を説明するための図である。同図において、KVM(K Virtual Machine)は、小型電子機器用に設計変更されたJVM(Java Virtual Machine)であって、JavaバイトコードをCPU401がOSを介して解釈/実行可能な命令コードに変換するためのソフトウェアである。また、API(Application Program Interface)は、例えば、CLDC(Connected Limited Device Configuration)によって規定されている機能や、携帯電話機40に特化した機能をJavaAPに対して提供するためのソフトウェアモジュールである。
【0028】
JAM(Java Application Manager)は、OSによる制御の下で、JavaAPのダウンロード/インストール/起動/終了/削除等を管理するためのソフトウェアである。このJAMは、例えば、図4に示したJARファイルAの本体プログラムが実行される場合に、この本体プログラムに従って行われる処理において、不揮発性メモリ408やROM402等を含む各種リソースに対するアクセスが要求されると、そのアクセス先が、JARストレージ408a内のJARファイルAが記憶されている領域、スクラッチパッド408b内のJARファイルA用のメモリ領域、JARファイルAを実行するためにRAM403内に割り当てられたアプリケーション実行メモリ領域、JARファイルAのダウンロード元となるコンテンツサーバ10、のいずれかである場合にのみアクセスを許可する。
【0029】
このようにJAMは、携帯電話機40にダウンロードされた各JavaAPについて、基本的に、あるJavaAPに従って行われる処理において他のJavaAP用のデータが使用されることのないよう、各JavaAPの実行時に各種リソースに対するアクセスを制限する機能を有している。
【0030】
なお、同図に示すように、電話帳機能やブラウザ機能、ネットワーク通信機能を実現するためのソフトウェアは、OSによる制御の下で直接動作する。
【0031】
[A−2.実施形態の動作]
次に、本実施形態の動作について説明する。
<1.ダウンロード処理>
図7は、JavaAPをダウンロードする場合の、携帯電話機40およびコンテンツサーバ10の動作を例示するシーケンスチャートである。なお、このダウンロードに関する処理において、ステップS103以降の携帯電話機40で行われる各処理は、CPU401がJAMに従って実行する処理である。
【0032】
まず、ユーザは、携帯電話機40の操作入力部405を操作してWWWブラウザを起動させる。次いで、ユーザは、操作入力部405を操作してコンテンツサーバ10への接続を指示する。これにより携帯電話機40からコンテンツサーバ10へ接続要求メッセージが送信される(ステップS101)。コンテンツサーバ10は、接続要求メッセージを受信すると、必要に応じて携帯電話機40の認証処理等を行なった後、サイトのメニュー情報を携帯電話機40へ送信する(ステップS102)。また、携帯電話機40は、メニュー情報を受信すると、このメニュー情報に基づく画像を液晶表示部407の液晶表示パネル(以下、「液晶画面」と記載する)に表示する。この後、携帯電話機40とコンテンツサーバ10の間では、メニューの選択等に関する情報が送受信される。
【0033】
そして、携帯電話機40において、ダウンロードするJavaAPが操作入力により選択されると、CPU401は、選択されたJavaAPのADFを携帯電話機40に対して送信することを要求するADF取得要求メッセージをコンテンツサーバ10へ送信する(ステップS103)。コンテンツサーバ10は、ADF取得要求メッセージを受信すると、このADF取得要求メッセージによって指定されるADFをメモリから読み出して携帯電話機40へ送信する(ステップS104)。
【0034】
携帯電話機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のダウンロードを中止する。
【0035】
一方、CPU401は、JARファイルのダウンロードできると判別した場合は(ステップS105:Yes)、次いで、ADFに含まれている“PackageURL”の項目データ、すなわちJARファイルの取得要求先等を示すURLを用いてJARファイル取得要求メッセージを生成し、当該JARファイル取得要求メッセージをコンテンツサーバ10へ送信する(ステップS106)。コンテンツサーバ10は、JARファイル取得要求メッセージを受信すると、このJARファイル取得要求メッセージによって指定されるJARファイルをメモリから読み出して携帯電話機40に送信する(ステップS107)。
【0036】
携帯電話機40のCPU401は、JARファイルを受信すると、まず、上記ステップS104において受信したADFから“AppSize”項目のサイズ情報を読み出す。そして、CPU401は、読み出したサイズ情報によって指定される容量のメモリ領域をJARストレージ408aに確保した後、このメモリ領域内に、受信したJARファイルをインストールする。また、CPU401は、ADFから“SPsize”項目のサイズ情報を読み出し、当該サイズ情報に従って、インストールされたJARファイル用のメモリ領域をスクラッチパッド408b内に確保する。また、CPU401は、上記ステップS104において受信したADFを、インストールされたJARファイルと対応付けて不揮発性メモリ408に格納する(ステップS108)。
【0037】
<2.JavaAPの起動>
次に、携帯電話機40においてCPU401は、例えば、画面表示されたJavaAPの一覧リストの中から、起動させるJavaAPが操作入力によって指定された場合等に、指定されたJavaAPの本体プログラムをJARストレージ408aから読み出して実行し、この本体プログラムに従って行われる処理を開始する。なお、JavaAPの起動を指示する形態は、操作入力に限定されず、例えば、予め設定された時刻になるとJavaAPの起動が指示される場合や、他のプログラムに従って行われている処理からJavaAPの起動が指示される場合、電子メール等を用いて携帯電話機40の外部からJavaAPの起動が指示される場合等もある。
【0038】
また、JavaAPを起動させる場合には、JARストレージ408aから読み出された本体プログラム等や、このJavaAPを実行するために必要となるオブジェクト等を記憶しておくためのアプリケーション実行メモリ領域がRAM403内に確保される。さらに、CPU401は、このようにして起動させたJavaAPに従って行われる処理において、他のJavaAP用のデータ等を使用することがないよう、前述したようにJAMに従ってアクセスを制限している。
【0039】
そして、CPU401は、このようにして起動させたJavaAPに従って行われる処理において、不揮発性メモリ408に記憶されている他のJavaAPを起動させる旨の起動要求が発生すると、以下に説明する起動APIに基づく処理を開始する。なお、起動APIを実行する場合には、RAM403内に、起動APIしかアクセスすることのできない起動API専用メモリ領域が確保される。
【0040】
<3.起動APIに基づく処理>
図8は、携帯電話機40においてCPU401により実行される起動APIに基づく処理の動作を例示するフローチャートである。
【0041】
同図に示すように、まず、CPU401は、他のJavaAPの起動を要求した実行中のJavaAP(以下、「起動元のJavaAP」という)について、不揮発性メモリ408に記憶されているADFから“PackageURL”の項目データ(ダウンロード元を示すURL)を取得する(ステップS201)。また、CPU401は、起動させる旨が要求されたJavaAP(以下、「起動先のJavaAP」という)についても、不揮発性メモリ408に記憶されているADFから“PackageURL”の項目データ(ダウンロード元を示すURL)を取得する(ステップS202)。
【0042】
次いで、CPU401は、上記ステップS201およびS202において取得した2つのURLについて、それぞれのFQDN(Fully Qualified Domain Name:完全修飾ドメイン名)を比較し(ステップS203)、両方のFQDNが一致するか否かを判別する(ステップS204)。すなわち、このステップS204においてCPU401は、起動元のJavaAPと起動先のJavaAPのダウンロード元が同じであるか否かを判定する。その結果、CPU401は、FQDNが一致しないと判別した場合は、セキュリティが確保できないため、起動先のJavaAPを実行することはできない旨のメッセージを液晶画面に表示するとともに(ステップS205)、起動先のJavaAPの実行を取り止め(ステップS206)、起動APIに基づく処理を終える。
【0043】
一方、CPU401は、両方のFQDNが一致すると判別した場合は(ステップS204:Yes)、次いで、起動先のJavaAPが、他のJavaAPとの連携が許可されたソフトウェアであるか否かを判別する(ステップS207)。このステップS207の処理について具体的に説明すると、まず、前提としてJavaAPのADFには、このJavaAPが他のJavaAPとの連携が許可されたソフトウェアであるか否かを示す情報“LaunchApp”が含まれている。この“LaunchApp”のデータは、JavaAPの提供者によって設定されるものであり、例えば、他のJavaAPとの連携を許可する場合に“1”が、他のJavaAPとの連携を許可しない場合に“0”が設定されている。勿論、このように、他のJavaAPとの連携を許可するか否かだけではなく、連携を許可するJavaAPを指定する情報がさらに含まれていてもよい。
【0044】
CPU401は、起動先のJavaAPについて、不揮発性メモリ408に記憶されているADFから“LaunchApp”のデータを取得し、当該データが“1”であるのか、それとも“0”であるのかに従って、このJavaAPが他のJavaAPとの連携が許可されたソフトウェアであるか否かを判別する。その結果、CPU401は、起動先のJavaAPが他のJavaAPとの連携が許可されたソフトウェアでないと判別した場合は(ステップS207:No)、起動しようとしているJavaAPが連携を許可しているソフトウェアではないため、このJavaAPを起動することはできない旨のメッセージを液晶画面に表示し(ステップS205)、起動先のJavaAPの実行を取り止め(ステップS206)、起動APIに基づく処理を終える。
【0045】
一方、CPU401は、起動先のJavaAPが他のJavaAPとの連携が許可されたソフトウェアであると判別した場合は(ステップS207:Yes)、次いで、起動元のJavaAPを実行する場合に使用することのできるデータを、起動先のJavaAPに従って行われる処理に引き渡すことが要求されているか否かを判別する(ステップS208)。なお、起動元のJavaAPを実行する場合に使用することのできるデータとは、例えば、起動元のJavaAPを実行することによって得られる処理結果や各種パラメータ値、起動元のJavaAPのJARファイル内に格納されている画像データや音声データ等である。
【0046】
CPU401は、上記ステップS208において、データの引き渡しが要求されていないと判別した場合は、起動元のJavaAPを終了させるとともに、起動先のJavaAPの本体プログラムをJARストレージ408aから読み出して起動した後(ステップS209)、起動APIに基づく処理を終える。一方、CPU401は、上記ステップS208において、データの引き渡しが要求されていると判別した場合は、次いで、データの引き渡しを許可するか否かをユーザに問うメッセージを液晶画面に表示する。
【0047】
この表示に応じて、データの引き渡しを許可しない旨が操作入力部405から入力された場合、あるいはメッセージの表示の後、予め定められた時間が経過してもデータの引き渡しを許可する旨が操作入力部405から入力されなかった場合(ステップS210:No)、CPU401は、ユーザの承認が得られなかったのでデータの引き渡しを行うことはできず、よって起動先のJavaAPの実行を中止する旨のメッセージを液晶画面に表示した後(ステップS205)、起動先のJavaAPの実行を取り止め(ステップS206)、起動APIに基づく処理を終える。なお、データの引き渡しの可否を問うメッセージは、例えば、音声メッセージとしてユーザに報知される形態であってもよい。
【0048】
一方、CPU401は、メッセージの表示の後、予め定められた時間内に操作入力部405からデータの引き渡しを許可する旨の入力があると(ステップS210:Yes)、まず、起動元のJavaAP用としてRAM403内に設けられたアプリケーション実行メモリ領域、あるいはスクラッチパッド408b内に設けられた起動元のJavaAP用のメモリ領域(JARファイル用メモリ領域)から、引き渡しの対象となるデータを取得し、当該データをRAM403の起動API専用メモリ領域に記憶する(ステップS211)。次いで、CPU401は、起動元のJavaAPを終了させ、RAM403のアプリケーション実行メモリ領域内のデータを消去した後、起動先のJavaAPの本体プログラムをJARストレージ408aから読み出して起動する(ステップS212)。
【0049】
このようにして起動先のJavaAPが実行(起動)されると、CPU401は、上記ステップS211において起動API専用メモリ領域に記憶しておいた、引き渡し対象となるデータを読み出す。そして、CPU401は、読み出したデータを、RAM403のアプリケーション実行メモリ領域、あるいはスクラッチパッド408b内に設けられている起動先のJavaAP用のメモリ領域に格納し(ステップS213)、起動APIに基づく処理を終える。
【0050】
これにより、起動元のJavaAPを実行する場合に使用することのできるデータが、起動先のJavaAPを実行する場合に、アプリケーション実行メモリ領域あるいはスクラッチパッド408b内の起動先のJavaAP用のメモリ領域に記憶されるので、当該データを起動先のJavaAPに従って行われる処理において使用することができるようになる。
【0051】
例えば、ユーザが、FQDNの一致するダウンロード元から野球ゲーム用の2つのJavaAP、すなわち野球の試合を行うためのJavaAP(以下、「試合用JavaAP」という)と、当該試合用JavaAPで使用可能なゲームキャラクタ(選手)を練習によって鍛え、選手に設定された各パラメータ値(例えば、打撃力、走力、投球スピード、投球可能球種等)をアップさせることのできるJavaAP(以下、「練習用JavaAP」という)とを携帯電話機40にダウンロードした場合、ユーザは、携帯電話機40において練習用JavaAPを実行することにより、選手の各パラメータ値をアップさせ、当該練習用JavaAPによって各パラメータ値をアップさせた選手を、試合用JavaAPにおいて使用することができるようになるのである。
【0052】
以上説明したように本実施形態によれば、携帯電話機40は、起動元のJavaAPと起動先のJavaAPのダウンロード元が同じ場合にのみ、起動元のJavaAPを実行することによって得られたデータや、起動元のJavaAP用として用意されているデータを、起動先のJavaAPの実行時にも使用できるようにする。
【0053】
したがって、仮に、悪意の有る個人や団体によって提供されたJavaAPが携帯電話機40において実行されたとしても、このJavaAPに対して、携帯電話機40にインストールされている、ダウンロード元が異なる他のJavaAP用のデータが引き渡されることはない。また、本実施形態によれば、ダウンロード元が同じJavaAP間であっても、データの引き渡しが行われる場合には必ずユーザに承認を得るようにしているので、ユーザの知らない間にデータが引き渡されてしまうようなことがない。
【0054】
なお、携帯電話機40(コンピュータ)は、ROM402や不揮発性メモリ408に記憶されているプログラムに従って、上述したダウンロード処理(図7参照)や起動APIに基づく処理(図8参照)を実行するが、このような本発明に係る処理を実行するためのプログラムを通信によって携帯電話機40に提供するようにしてもよい。あるいは、このようなプログラムを記録媒体に記録して提供するようにしてもよい。
【0055】
[B.変形例]
以上、本発明の実施形態について説明したが、本発明はその主要な特徴から逸脱することなく他の様々な形態で実施することが可能である。上述した実施形態は、本発明の一態様を例示したものに過ぎず、例えば、以下に示すような変形例が考えられる。
【0056】
<変形例1>
上述した起動APIに基づく処理(図8参照)において、起動元のJavaAPと起動先のJavaAPのダウンロード元が同じであることに加え、さらに起動元のJavaAPと起動先のJavaAPがデータの授受を許可するJavaAPとしてユーザによって事前に承認されている場合にのみ、データの引き渡しを許可するようにしてもよい。この場合、ユーザは、携帯電話機40にダウンロードされた各JavaAPについて、データの授受を許可する2以上のJavaAPを事前に指定して登録しておく必要がある。
【0057】
図9は、携帯電話機40においてCPU401により実行される登録処理の動作を例示するフローチャートである。この登録処理は、データの授受を許可する2以上のJavaAPを登録する旨が操作入力によって指示された場合に、CPU401により実行される。
【0058】
同図に示すように、まず、不揮発性メモリ408にインストールされている各Ja vaAPのうち、ユーザが操作入力により任意のJavaAPを選択すると(ステップS301)、CPU401は、選択されたJavaAPについて、そのADFに“PackageURL”の項目データとして含まれているURLからFQDNを取得する(ステップS302)。次いで、CPU401は、不揮発性メモリ408にインストールされている各JavaAPについて、ダウンロード元を示すURLのFQDNが上記ステップS302において取得したFQDNと一致するか否かを調べ、FQDNが一致するJavaAPを液晶画面にリスト表示する(ステップS303)。
【0059】
そして、CPU401は、リスト表示されたJavaAPの中から、上記ステップS301において選択されたJavaAPとのデータの授受を許可する1以上のJavaAPが操作入力によって選択されると(ステップS304)、当該ステップS304において選択されたJavaAPの識別情報(例えばJARファイルのファイル名)と、上記ステップS301において選択されたJavaAPの識別情報とを対応付けて、ユーザがデータの授受を許可したJavaAPに関する情報(設定データ)として不揮発性メモリ408に記憶し(ステップS305)、登録処理を終える。なお、登録処理において、他のJavaAPとのデータの授受を許可しないJavaAPを不揮発性メモリ408に登録しておくようにしてもよい。
【0060】
このようにして不揮発性メモリ408に記憶された設定データを用いて、上述した起動APIに基づく処理(図8参照)において、起動元のJavaAPと起動先のJavaAPのダウンロード元が同じであることに加え、起動元のJavaAPと起動先のJavaAPがデータの授受を許可するJavaAPとしてユーザによって事前に承認されている場合に、データの引き渡しを許可するようにしてもよい。このようにすれば、ダウンロード元が同じJavaAP間であっても、事前にユーザの承認を得ていなければデータの引き渡しが許可されないので、携帯電話機40におけるセキュリティをより高めることができる。
【0061】
<変形例2>
上述した実施形態では、図8に示したステップS201〜S213までの処理を起動APIの処理として行う場合について説明したが、上記ステップS201〜S213までの処理は、JAMやOSの処理として行われてもよい。
【0062】
<変形例3>
上述した起動APIに基づく処理(図8参照)のステップS203では、起動元のJavaAPの送信元を示すURLと、起動先のJavaAPの送信元を示すURLについて、FQDNが一致するか否かを判別するようにした。しかしながら、URLのうち比較対象とする部分は、FQDNに限定されるものではない。例えば、FQDNの代わりにドメイン名を用いてもよいし、あるいはURLを構成する文字列のうち、例えば、最初から25文字目までの部分等を比較対象としてもよい。このようにURLのうち比較対象とする部分は任意に設定可能である。
【0063】
また、このようにURLのうち比較対象とする部分が任意に設定可能であることから明らかとなるように、ダウンロード元が同じJavaAPであると判定されるのは、同一のコンテンツサーバ10からダウンロードされたJavaAPに限定されるものでない。上述したようにURLの一部が一致すればよい訳であるから、異なるコンテンツサーバ10からダウンロードされたJavaAPであってもダウンロード元が同じJavaAPと判定される場合もあるし、あるいは同一のコンテンツサーバ10であるだけではなく、JavaAPが記憶されていたフォルダが同じであること等、さらにより細かな条件が一致しなければ、同じダウンロード元とは判定されない場合もある。
【0064】
<変形例4>
上述した実施形態では、プログラムの送信元を示す情報としてURLを用いた場合について説明したが、プログラムの送信元を示す情報は、URLに限定されるものではない。例えば、プログラムの送信元となる通信装置に割り当てられているID(例えば、MACアドレスやメールアドレス等)や、プログラムの提供者毎に固有に割り当てられたID、あるいはプログラムの提供者が独自に設定した識別情報等を用いてもよい。
【0065】
また、プログラムの送信元を示す情報は、プログラム自体に付加されていなくともよい。この場合、受信装置は、プログラムの受信時に当該プログラムの送信元となる通信装置から、このプログラムの送信元情報(例えば、URLや通信装置の通信アドレス等)を取得して、受信したプログラムと対応付けてメモリに記憶すればよい。
【0066】
<変形例5>
上述した実施形態では、携帯電話機40にJavaAPをダウンロードする場合について説明したが、勿論、ダウンロードではなく、JavaAPが携帯電話機40に配信される場合についても本発明を適用することができる。また、本発明が適用可能な受信装置は、携帯電話機に限定されるものではない。例えば、PHS(Personal Handyphone System:登録商標)端末やパーソナルコンピュータ等の各種通信機器に本発明を適用することができる。勿論、プログラミング言語は、Javaに限定されるものではない。
【0067】
【発明の効果】
以上説明したように本発明によれば、受信装置が受信した複数のプログラムについて、セキュリティを確保しつつ、あるプログラムの実行時に使用することのできる該プログラム用のデータを、別のプログラムの実行時にも使用することができるようになる。
【図面の簡単な説明】
【図1】本発明の実施形態に係る通信システムの構成を例示するブロック図である。
【図2】同実施形態に係るJavaAPの構成について例示する図である。
【図3】同実施形態に係る携帯電話機のハードウェア構成を例示するブロック図である。
【図4】同実施形態に係るJARストレージの構成を例示する図である。
【図5】同実施形態に係るスクラッチパッドの構成を例示する図である。
【図6】同実施形態に係り、携帯電話機におけるソフトウェアの実行環境を説明するための図である。
【図7】同実施形態に係り、JavaAPをダウンロードする場合の、携帯電話機およびコンテンツサーバの動作を例示するシーケンスチャートである。
【図8】同実施形態に係る携帯電話機において、CPUにより実行される起動APIに基づく処理の動作を例示するフローチャートである。
【図9】本発明の変形例1に係り、携帯電話機においてCPUにより実行される登録処理の動作を例示するフローチャートである。
【符号の説明】
1……通信システム、10……コンテンツサーバ、20……インターネット、30……移動パケット通信網、31……ゲートウェイサーバ、32……基地局、40……携帯電話機、401……CPU、402……ROM、403……RAM、404……無線通信部、404a……アンテナ、405……操作入力部、406……通話処理部、407……液晶表示部、408……不揮発性メモリ、408a……JARストレージ、408b……スクラッチパッド、409……バス。
Claims (5)
- プログラムを受信する受信手段と、
前記受信手段により受信されたプログラム毎に、当該プログラムと当該プログラムの送信元を示す送信元情報とを記憶する記憶手段と、
前記記憶手段に記憶された第1および第2のプログラムを含む複数のプログラムのうち、指定されたプログラムを実行する実行手段と、
前記実行手段により実行される前記第1のプログラムに従って行われる処理において使用することのできる、前記第1のプログラムと対応付けられたデータを、前記実行手段により実行される前記第2のプログラムに従って行われる処理において使用する旨が要求されると、前記記憶手段に記憶されている、前記第1のプログラムの送信元情報と前記第2のプログラムの送信元情報とを比較して、前記第1のプログラムと前記第2のプログラムの送信元が同じであるか否かを判定する判定手段と、
前記判定手段により前記第1のプログラムと前記第2のプログラムの送信元が同じであると判定された場合に、前記第2のプログラムに従って行われる処理において前記データを使用することを許可する許可手段と
を有することを特徴とする受信装置。 - 操作部と、
前記第2のプログラムに従って行われる処理において前記データを使用することの可否を問うメッセージを報知する報知手段とをさらに有し、
前記許可手段は、前記操作部から、前記第2のプログラムに従って行われる処理において前記データを使用することを許可する旨の入力があり、かつ前記判定手段により前記第1のプログラムと前記第2のプログラムの送信元が同じであると判定された場合に、前記第2のプログラムに従って行われる処理において前記データを使用することを許可する
ことを特徴とする請求項1に記載の受信装置。 - 操作部と、
前記第2のプログラムに従って行われる処理において前記データを使用することの可否を前記操作部からの入力に応じて設定する設定手段とをさらに有し、
前記許可手段は、前記第2のプログラムに従って行われる処理において前記データの使用を許可する旨が前記設定手段により設定されており、かつ前記判定手段により前記第1のプログラムと前記第2のプログラムの送信元が同じであると判定された場合に、前記第2のプログラムに従って行われる処理において前記データを使用することを許可する
ことを特徴とする請求項1に記載の受信装置。 - 前記送信元情報は、プログラムの送信元となる通信装置の通信アドレスを含む
ことを特徴とする請求項1に記載の受信装置。 - コンピュータを、
当該コンピュータによって受信されたプログラム毎に、当該プログラムと当該プログラムの送信元を示す送信元情報とをメモリに記憶する記憶手段、
前記記憶手段によりメモリに記憶された第1および第2のプログラムを含む複数のプログラムのうち、指定されたプログラムを実行する実行手段、
前記実行手段により実行される前記第1のプログラムに従って行われる処理において使用することのできる、前記第1のプログラムと対応付けられたデータを、前記実行手段により実行される前記第2のプログラムに従って行われる処理において使用する旨が要求されると、前記メモリに記憶されている、前記第1のプログラムの送信元情報と前記第2のプログラムの送信元情報とを比較して、前記第1のプログラムと前記第2のプログラムの送信元が同じであるか否かを判定する判定手段、および
前記判定手段により前記第1のプログラムと前記第2のプログラムの送信元が同じであると判定された場合に、前記第2のプログラムに従って行われる処理において前記データを使用することを許可する許可手段
として機能させるためのプログラム。
Priority Applications (8)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2003091527A JP2004302543A (ja) | 2003-03-28 | 2003-03-28 | 受信装置およびプログラム |
| CNB2004100322321A CN1294491C (zh) | 2003-03-28 | 2004-03-26 | 在多个程序之间的数据共享的管理的方法 |
| DE602004007316T DE602004007316T2 (de) | 2003-03-28 | 2004-03-26 | Computer zur Verwaltung der gemeinsamen Nutzung von Daten zwischen Anwendungsprogrammen |
| ES04007460T ES2288228T3 (es) | 2003-03-28 | 2004-03-26 | Ordenador para gestionar comparticion de datos entre programas de aplicacion. |
| EP04007460A EP1462909B8 (en) | 2003-03-28 | 2004-03-26 | A computer for managing data sharing among application programs |
| TW093108393A TWI239219B (en) | 2003-03-28 | 2004-03-26 | A method for managing data sharing among application programs |
| AT04007460T ATE366433T1 (de) | 2003-03-28 | 2004-03-26 | Computer zur verwaltung der gemeinsamen nutzung von daten zwischen anwendungsprogrammen |
| US10/810,500 US20050021792A1 (en) | 2003-03-28 | 2004-03-26 | Method for managing data sharing among application programs |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2003091527A JP2004302543A (ja) | 2003-03-28 | 2003-03-28 | 受信装置およびプログラム |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2004302543A true JP2004302543A (ja) | 2004-10-28 |
Family
ID=32821607
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2003091527A Pending JP2004302543A (ja) | 2003-03-28 | 2003-03-28 | 受信装置およびプログラム |
Country Status (8)
| Country | Link |
|---|---|
| US (1) | US20050021792A1 (ja) |
| EP (1) | EP1462909B8 (ja) |
| JP (1) | JP2004302543A (ja) |
| CN (1) | CN1294491C (ja) |
| AT (1) | ATE366433T1 (ja) |
| DE (1) | DE602004007316T2 (ja) |
| ES (1) | ES2288228T3 (ja) |
| TW (1) | TWI239219B (ja) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2010051008A (ja) * | 2005-04-15 | 2010-03-04 | Kt Freetel Co Ltd | 移動通信端末機用コンテンツ提供方法 |
| JP2013513160A (ja) * | 2009-12-03 | 2013-04-18 | マイクロソフト コーポレーション | Webアプリケーションとブラウザーの外部のプロセスとの間の通信チャンネル |
Families Citing this family (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2003337716A (ja) * | 2002-05-20 | 2003-11-28 | Ntt Docomo Inc | 電子機器、データ共用方法、プログラム及び記憶媒体 |
| US8856279B2 (en) * | 2005-05-26 | 2014-10-07 | Citrix Systems Inc. | Method and system for object prediction |
| EP1967981A4 (en) * | 2005-12-27 | 2009-04-22 | Nec Corp | DEVICE, PROGRAM EXECUTION MONITORING METHOD, AND EXECUTION MONITORING PROGRAM |
| US20120005307A1 (en) * | 2010-06-30 | 2012-01-05 | Abhik Das | Storage virtualization |
| TWI488481B (zh) * | 2012-12-12 | 2015-06-11 | Asustek Comp Inc | 資料傳輸系統及方法 |
| US20150009152A1 (en) * | 2013-07-03 | 2015-01-08 | Htc Corporation | Method of sharing application and electronic device using the same |
| US9578596B1 (en) * | 2014-05-09 | 2017-02-21 | Amazon Technologies, Inc. | Adjusting data storage allocation for access point information |
| US10021123B2 (en) * | 2015-06-29 | 2018-07-10 | Qualcomm Incorporated | Customized network traffic models to detect application anomalies |
Family Cites Families (18)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6167520A (en) * | 1996-11-08 | 2000-12-26 | Finjan Software, Inc. | System and method for protecting a client during runtime from hostile downloadables |
| EP1211681B1 (en) * | 1998-01-20 | 2007-02-14 | Fujitsu Limited | Data storage device and control method therefor |
| JP2000003336A (ja) * | 1998-06-16 | 2000-01-07 | Nec Corp | 携帯型データ通信端末装置におけるユーザ認証方法及びユーザ認証システム |
| US6138235A (en) * | 1998-06-29 | 2000-10-24 | Sun Microsystems, Inc. | Controlling access to services between modular applications |
| US6499109B1 (en) * | 1998-12-08 | 2002-12-24 | Networks Associates Technology, Inc. | Method and apparatus for securing software distributed over a network |
| US6985887B1 (en) * | 1999-03-19 | 2006-01-10 | Suncrest Llc | Apparatus and method for authenticated multi-user personal information database |
| US6826690B1 (en) * | 1999-11-08 | 2004-11-30 | International Business Machines Corporation | Using device certificates for automated authentication of communicating devices |
| KR100455566B1 (ko) * | 2000-06-30 | 2004-11-09 | 인터내셔널 비지네스 머신즈 코포레이션 | 코드 갱신을 위한 장치 및 방법 |
| US6766353B1 (en) * | 2000-07-11 | 2004-07-20 | Motorola, Inc. | Method for authenticating a JAVA archive (JAR) for portable devices |
| EP1227386A1 (en) * | 2001-01-30 | 2002-07-31 | International Business Machines Corporation | Access control for computers |
| TWI256001B (en) * | 2001-05-14 | 2006-06-01 | Ntt Docomo Inc | System for managing program stored in storage block of mobile terminal |
| EP2530857A1 (en) * | 2001-08-15 | 2012-12-05 | Qualcomm Incorporated | Test enabled application execution |
| US7260726B1 (en) * | 2001-12-06 | 2007-08-21 | Adaptec, Inc. | Method and apparatus for a secure computing environment |
| US7194761B1 (en) * | 2002-01-22 | 2007-03-20 | Cisco Technology, Inc. | Methods and apparatus providing automatic client authentication |
| US7231657B2 (en) * | 2002-02-14 | 2007-06-12 | American Management Systems, Inc. | User authentication system and methods thereof |
| JP2003337716A (ja) * | 2002-05-20 | 2003-11-28 | Ntt Docomo Inc | 電子機器、データ共用方法、プログラム及び記憶媒体 |
| US7263610B2 (en) * | 2002-07-30 | 2007-08-28 | Imagictv, Inc. | Secure multicast flow |
| US7310307B1 (en) * | 2002-12-17 | 2007-12-18 | Cisco Technology, Inc. | System and method for authenticating an element in a network environment |
-
2003
- 2003-03-28 JP JP2003091527A patent/JP2004302543A/ja active Pending
-
2004
- 2004-03-26 AT AT04007460T patent/ATE366433T1/de not_active IP Right Cessation
- 2004-03-26 CN CNB2004100322321A patent/CN1294491C/zh not_active Expired - Fee Related
- 2004-03-26 ES ES04007460T patent/ES2288228T3/es not_active Expired - Lifetime
- 2004-03-26 DE DE602004007316T patent/DE602004007316T2/de not_active Expired - Lifetime
- 2004-03-26 TW TW093108393A patent/TWI239219B/zh not_active IP Right Cessation
- 2004-03-26 EP EP04007460A patent/EP1462909B8/en not_active Expired - Lifetime
- 2004-03-26 US US10/810,500 patent/US20050021792A1/en not_active Abandoned
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2010051008A (ja) * | 2005-04-15 | 2010-03-04 | Kt Freetel Co Ltd | 移動通信端末機用コンテンツ提供方法 |
| JP2010049704A (ja) * | 2005-04-15 | 2010-03-04 | Kt Freetel Co Ltd | 移動通信端末機用コンテンツ提供方法 |
| JP2013513160A (ja) * | 2009-12-03 | 2013-04-18 | マイクロソフト コーポレーション | Webアプリケーションとブラウザーの外部のプロセスとの間の通信チャンネル |
| US9390172B2 (en) | 2009-12-03 | 2016-07-12 | Microsoft Technology Licensing, Llc | Communication channel between web application and process outside browser |
Also Published As
| Publication number | Publication date |
|---|---|
| DE602004007316T2 (de) | 2008-03-13 |
| US20050021792A1 (en) | 2005-01-27 |
| TW200423784A (en) | 2004-11-01 |
| CN1534479A (zh) | 2004-10-06 |
| ES2288228T3 (es) | 2008-01-01 |
| DE602004007316D1 (de) | 2007-08-16 |
| EP1462909B1 (en) | 2007-07-04 |
| EP1462909A2 (en) | 2004-09-29 |
| ATE366433T1 (de) | 2007-07-15 |
| EP1462909A3 (en) | 2005-01-26 |
| EP1462909B8 (en) | 2007-09-19 |
| CN1294491C (zh) | 2007-01-10 |
| TWI239219B (en) | 2005-09-01 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| KR100582650B1 (ko) | 컨텐츠 전송 방법 및 컨텐츠 전송 시스템 | |
| US6292833B1 (en) | Method and apparatus for providing access control to local services of mobile devices | |
| TWI249927B (en) | Communication device, control method of communication device, program and communication method | |
| US8087078B2 (en) | Communication device | |
| JPWO2003083646A1 (ja) | 配信方法、配信システム及び端末装置 | |
| US7644444B2 (en) | Communication device, program and recording media | |
| JP4336051B2 (ja) | 無線通信端末、発呼制限方法及びプログラム | |
| JP2004302973A (ja) | 端末装置及びプログラム | |
| JP2004302543A (ja) | 受信装置およびプログラム | |
| JP2002342290A (ja) | 通信端末、通信装置、通信制御方法、通信制御プログラムおよび通信制御プログラムを記録した記録媒体 | |
| US7676575B2 (en) | Method and device for managing access to network | |
| JP4336383B2 (ja) | 端末装置およびプログラム | |
| JP3887176B2 (ja) | 中継装置、通信制御方法、プログラムおよび記録媒体 | |
| CN100505930C (zh) | 服务等级控制系统、服务等级控制服务器以及终端设备 | |
| JP4358478B2 (ja) | 通信端末のアクセス制御方法、コンテンツの提供方法、通信システムおよび中継装置 | |
| JP4580164B2 (ja) | 電子機器およびプログラム | |
| JP4361781B2 (ja) | 受信装置およびプログラム | |
| JP4323190B2 (ja) | 通信端末 | |
| JP4382049B2 (ja) | ネットワークへのアクセスを管理する方法および装置 | |
| JP2004295247A (ja) | 通信方法、通信システム、通信端末、サーバ、プログラムおよび記録媒体 | |
| JP4680485B2 (ja) | 端末装置、プログラムおよび記録媒体 | |
| JP2009284350A (ja) | 携帯型通信端末及び通信制御方法 | |
| JP2007213595A (ja) | データ処理装置、プログラムおよび記録媒体 | |
| JP2008152574A (ja) | 認証サーバ及び認証方法 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060425 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060622 |
|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20060725 |