JP2005031975A - 情報提供システム - Google Patents

情報提供システム Download PDF

Info

Publication number
JP2005031975A
JP2005031975A JP2003196014A JP2003196014A JP2005031975A JP 2005031975 A JP2005031975 A JP 2005031975A JP 2003196014 A JP2003196014 A JP 2003196014A JP 2003196014 A JP2003196014 A JP 2003196014A JP 2005031975 A JP2005031975 A JP 2005031975A
Authority
JP
Japan
Prior art keywords
application
module
java
function module
application management
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
Application number
JP2003196014A
Other languages
English (en)
Inventor
Atsushi Kono
篤 河野
Masaharu Umetsu
正春 梅津
Mitsuo Shitaya
光生 下谷
Kazuma Kaneko
和磨 金子
Fumitaka Satou
史尚 佐藤
Yosuke Asai
陽介 浅井
Tetsuo Kamikawa
哲生 上川
Harumi Minemura
治実 峯村
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2003196014A priority Critical patent/JP2005031975A/ja
Priority to US10/885,751 priority patent/US20050010932A1/en
Priority to DE102004033371A priority patent/DE102004033371A1/de
Priority to CNB2004100636507A priority patent/CN1324472C/zh
Publication of JP2005031975A publication Critical patent/JP2005031975A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44594Unloading
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/656Updates while running

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)
  • Navigation (AREA)

Abstract

【課題】リソースの競合を招くことなく、複数のサービスアプリケーションを同時に動作させることができる情報提供システムを得ることを目的とする。
【解決手段】拡張機能モジュール27上で同時に動作する複数のJava(登録商標、以下同じ)アプリ28,29が組み込まれた場合、アプリ管理モジュール32,34が複数のJavaアプリ28,29の動作を管理する。これにより、情報提供システムのリソースの競合を招くことなく、複数のJavaアプリ28,29を同時に動作させることができる。
【選択図】 図2

Description

【0001】
【発明の属する技術分野】
この発明は、各種の情報サービスを提供する情報提供システムに関するものである。
【0002】
【従来の技術】
従来の情報提供システムは、ナビゲーションサービスのような基本機能モジュールと、Java(登録商標、以下同じ)仮想マシン(JavaVM(Virtual Machine))上で動作するJavaアプリのような拡張機能モジュールとから構成され、その基本機能モジュール及び拡張機能モジュールが相手側と通信するインタフェースを備えることにより、その基本機能モジュールと拡張機能モジュールが相互に連携して動作できるようにしている(例えば、特許文献1参照)。
【0003】
【特許文献1】
特開2002−318702号公報(段落番号[0008]、図2)
【0004】
【発明が解決しようとする課題】
従来の情報提供システムは以上のように構成されているので、基本機能モジュールとJavaアプリを連携して動作させることができる。しかし、Javaアプリの動作を管理するモジュールが存在しないため、Java仮想マシン上で同時に動作する複数のJavaアプリが組み込まれると、複数のJavaアプリがシステムのリソースを競合してしまうことがあるなどの課題があった。
【0005】
この発明は上記のような課題を解決するためになされたもので、リソースの競合を招くことなく、複数のサービスアプリケーションを同時に動作させることができる情報提供システムを得ることを目的とする。
【0006】
【課題を解決するための手段】
この発明に係る情報提供システムは、拡張機能モジュール上で同時に動作するアプリ管理モジュールが複数のサービスアプリケーションの動作を管理するようにしたものである。
【0007】
【発明の実施の形態】
以下、この発明の実施の一形態を説明する。
実施の形態1.
図1はこの発明の実施の形態1による情報提供システムを示すハードウェア構成図であり、図において、ROM1は基本機能モジュール及び拡張機能モジュールのプログラムを記録している。外部記憶メディア2は例えばDVD−ROMやCD−ROMやハードディスクから構成され、地図データベースや拡張車載サービスアプリを記憶している。外部記憶装置ドライブ3は外部記憶メディア2から例えば地図データを読み出し、その地図データを外部記憶装置I/F4を介してCPU9に出力する。
周辺機器5は例えばGPS受信機、ジャイロ、車速パルスセンサ、スピーカ、携帯電話などであり、例えばGPS信号を周辺機器I/F6を介してCPU9に出力する。
【0008】
ユーザ操作部7は例えばリモコン、各種スイッチ、タッチパネルなどであり、例えば操作信号を操作部I/F8を介してCPU9に出力する。CPU9はユーザ操作部7から出力された操作信号にしたがって、例えば地図データやGPS信号を参照しながら基本機能モジュールや拡張機能モジュールのプログラムを実行する。RAM10にはCPU9がプログラムを実行する際に使用するデータ等が一時的に格納される。
グラフィック制御回路11はCPU9から出力される描画命令にしたがって画像をディスプレイ12に描画する。
【0009】
図2はこの発明の実施の形態1による情報提供システムを示すソフトウェア構成図であり、図において、H/W21は図1の情報提供システムのハードウェアに相当する。デバイスドライバ22はH/W21の各処理部(例えば、CPU9、外部記憶装置ドライブ3)を制御する。OS23はデバイスドライバ22を用いてH/W21の各処理部を制御するとともに、基本機能モジュール24や拡張機能モジュール27の動作環境を提供してプログラムを実行する。
基本機能モジュール24は基本的な車載情報サービスとして、例えば車両の現在位置や施設情報を提供するナビゲーションサービス25から構成されている。Javaモジュール26はナビゲーションサービス25がJavaアプリ28,29と連携を図る際、JavaVM30内のアプリ管理モジュールインタフェースモジュール31と通信を実施する。
【0010】
拡張機能モジュール27はJava言語でプログラミングされたサービスアプリケーションであるJavaアプリ28,29が組み込まれると、基本機能モジュール24と連携を図りながらJavaアプリ28,29を起動させるJava仮想マシン(JavaVM)30から構成されている。ここでのJavaVM30は、例えばサンマイクロシステムズにより定義されているCDC(Connected Device Configuration)及びFP(Foundation Profile)を満たすJava仮想マシンであり、Javaアプリ28,29がJavaVM30のプロセス内でのスレッドとして動作することによって実現される。
Javaアプリ28は例えば天気予報を行うサービスアプリケーションであり、Javaアプリ29は例えば運勢を占うサービスアプリケーションである。
【0011】
アプリ管理モジュール32は基本機能モジュール24のサブモジュールとして搭載され、JavaVM30内のアプリ管理モジュールインタフェースモジュール31と通信を実施するJavaVMI/Fモジュール33を備えている。アプリ管理モジュール34は拡張機能モジュール27に組み込まれるJavaアプリの1つとして搭載されている。なお、基本機能モジュール24と拡張機能モジュール27に分散して配置されているアプリ管理モジュール32,34は、相互に連携してJavaアプリ28,29の動作を管理する。
アプリ管理モジュール32,34は下記の管理機能を有している。
(1)Javaアプリの登録(追加)/削除/更新
(2)Javaアプリの起動/停止/状態管理
(3)Javaアプリへの入力管理
(4)Javaアプリからの画面出力管理
【0012】
次に動作について説明する。
(1)Javaアプリの追加/削除/更新について
Javaアプリの追加/削除/更新は、拡張機能モジュール27に配置されているアプリ管理モジュール34が行う。図5はJavaアプリの追加処理を示すフローチャートである。
まず、アプリ管理モジュール34は、内蔵しているアプリ管理テーブルの初期化を行う(ステップST1)。
ここで、アプリ管理テーブルは、図6に示すように、情報提供システムに組み込まれるJavaアプリの名称と、Javaアプリクラス名と、Javaアプリクラスが配置されているRAM10のアドレス(Javaアプリクラスへのポインタ)とが記述されるテーブルである。この実施の形態1では、説明を簡単にするため、各Javaアプリクラスのメモリサイズを一定サイズにしているが、不定サイズであっても構わない。
【0013】
次に、アプリ管理モジュール34は、予め設定された追加アプリリスト(図7を参照)に記載されたJavaアプリ(Javaアプリクラス)を外部記憶メディア2から読み出し(ステップST2)、そのJavaアプリクラスをH/W21上のRAM10に配置するように、JavaVM30に対して要求する(ステップST3)。
これにより、JavaVM30は、JavaアプリクラスをH/W21上のRAM10に配置し、そのJavaアプリクラスのRAMアドレス(ポインタ)をアプリ管理モジュール34に返信する。
ここで、追加アプリリストは、図7に示すように、Javaアプリの名称と、Javaアプリクラス名と、Javaアプリクラスが格納されている場所を示すディレクトリ名とが記述されているテーブルであり、アプリ管理モジュール34は、追加アプリリストを参照することにより、追加するJavaアプリの格納場所を把握する。
【0014】
アプリ管理モジュール34は、JavaVM30からJavaアプリクラスのRAMアドレス(ポインタ)を受けると、そのJavaアプリのアプリ名称、Javaアプリクラス名、JavaアプリクラスのRAMアドレス(ポインタ)をアプリ管理テーブルに追加記述することにより、アプリ管理テーブルを更新する(ステップST4)。
なお、アプリ管理テーブルの更新方法については、アプリ管理テーブルの最後の行に逐次追加記述することにより実現可能である。即ち、追加アプリリストを参照して、更に追加すべきJavaアプリがあるか否かを判断し(ステップST5)、更に追加するJavaアプリがある場合には、ステップST2のJavaアプリの読出処理に戻って処理を繰り返し実行し、追加するJavaアプリがない場合には、追加処理を終了する。
なお、上記の説明では、追加するJavaアプリを予め設定した追加アプリリストに記載されたJavaアプリとしているが、外部記憶メディア2からJavaアプリクラスを検索し、動的に追加アプリリストを作成して追加処理を実施してもよい。
【0015】
図8はJavaアプリの削除処理を示すフローチャートである。
アプリ管理モジュール34は、削除対象のJavaアプリの指定を受けるため、図9に示すようなメニュー画面をディスプレイ12に表示する。
情報提供システムのユーザは、メニュー画面に表示されているJavaアプリの中から、削除対象のJavaアプリを指定する。例えば、ユーザ操作部7であるタッチパネルを使用して削除対象のJavaアプリを指定する(ステップST11)。図9の例では、“Javaアプリ1”が削除対象のJavaアプリとして指定されている。
アプリ管理モジュール34は、ユーザ操作部7の操作内容から削除対象のJavaアプリを認識すると、アプリ管理テーブルから削除対象のJavaアプリ(Javaアプリ名称)に対応するJavaアプリクラス名を検索し(ステップST12)、そのJavaアプリクラスを削除するように、JavaVM30に対して要求する(ステップST13)。
【0016】
これにより、JavaVM30は、アプリ管理テーブルから削除対象のJavaアプリが記述されている行を削除し、その削除した行の下にある行を上に詰める処理を実施して、削除処理を終了する(ステップST14)。
この実施の形態1では、ユーザが削除対象のJavaアプリを指定するものについて示したが、他のJavaアプリが削除対象のJavaアプリを指定するようにしてもよい。また、基本機能モジュール24のナビゲーションサービス25が削除対象のJavaアプリを指定するようにしてもよい。指定方法としては、Javaアプリ名称を指定する方法、Javaアプリクラス名を指定する方法がある。
【0017】
Javaアプリの更新処理は次のように実施される。
アプリ管理モジュール34は、更新対象のJavaアプリが削除対象のJavaアプリと同様にして指定されると、更新対象のJavaアプリを削除対象のJavaアプリと同様にして削除する。
その後、アプリ管理モジュール34は、外部記憶メディア2から更新対象のJavaアプリを検索し、そのJavaアプリを上記の方法で追加することにより更新処理を完了する。
なお、ここでは、外部記憶メディア2から更新対象のJavaアプリを検索しているが、周辺機器5である携帯電話を使用して、例えば、ネットワーク上のサーバ装置等から更新対象のJavaアプリをダウンロードして追加してもよい。また、ROM上に記録されたJavaアプリを検索し、追加しても構わない。
【0018】
(2)Javaアプリの起動/停止/状態管理について
Javaアプリの起動/停止/状態管理は、拡張機能モジュール27に配置されているアプリ管理モジュール34が各Javaアプリのメソッド(関数、以下同じ)を呼び出すことによって実現する。図10はJavaアプリの起動処理を示すフローチャートである。
アプリ管理モジュール34は、起動対象のJavaアプリが削除対象のJavaアプリと同様にして指定されると(ステップST21)、アプリ管理テーブルから起動対象のJavaアプリのJavaアプリクラス名と、JavaアプリクラスのRAMアドレス(ポインタ)とを検索する(ステップST22)。
【0019】
次に、アプリ管理モジュール34は、Javaアプリクラスの先頭に記述されているJavaクラス情報から、各Javaアプリの開始メソッドとして定義しているstartメソッドが配置されているRAMアドレスに対する開始アドレスからのオフセット値を読み取り(ステップST23)、そのstartメソッドのRAMアドレスからJavaプログラムを実行するように、JavaVM30に対して依頼して(ステップST24)、Javaアプリの起動処理を終了する。
【0020】
ここでは、startメソッドのRAMアドレスをJavaアプリクラス情報から読み取るようにしているが、ある一定のオフセット値のアドレスにstartメソッドを配置するようにしてもよい。
上記の説明は、Javaアプリの起動方法であるが、基本的には、サービスアプリであるJavaアプリのメソッドを呼び出すことによって、Javaアプリの停止(定義:stopメソッド)や、Javaアプリの状態管理(定義:isAliveメソッド)を同様の方法で実現することができる。
なお、JavaアプリのisAliveメソッドは、Javaアプリが正常に動作しているか否かを示す情報をアプリ管理モジュール34に返信する。
【0021】
(3)Javaアプリへの入力管理について
情報提供システムに対するユーザの入力は、ナビゲーションサービス25などの基本機能モジュール24に対する入力と、Javaアプリ28,29などの拡張機能モジュール27に対する入力があるため、入力管理処理は、アプリ管理モジュール32,34の双方が連携して行う。
最初に、基本機能モジュール24に配置されているアプリ管理モジュール32の入力管理処理について説明する。図11はアプリ管理モジュール32の入力管理処理を示すフローチャートである。
ただし、ここでは、図1におけるユーザ操作部7がタッチパネルであるとし、操作部I/F8ではユーザがタッチパネルをタッチした場所の座標をCPU9に対して渡すものとする(タッチパネルの処理については、既に周知技術であるタッチパネル機能付きカーナビのタッチパネルの動作と同様であるため説明を省略する)。
【0022】
まず、アプリ管理モジュール32は、デバイスドライバ22及びOS23を介して、操作部I/F8がCPU9に渡す座標を受信する(ステップST31)。
次に、アプリ管理モジュール32は、現在、画面を出力しているモジュールがナビゲーションサービス25などの基本機能モジュール24であるのか、Javaアプリ28,29などの拡張機能モジュール27であるのかを判断する(ステップST32)。画面出力管理方法については後述する。
【0023】
仮に、画面を出力しているモジュールがナビゲーションサービス25であれば、その受信した座標をナビゲーションサービス25に与える(ステップST33)。
一方、画面を出力しているモジュールがJavaアプリ28,29などの拡張機能モジュール27であれば、JavaVMI/Fモジュール33及びアプリ管理モジュールインタフェースモジュール31を利用して、その受信した座標をアプリ管理モジュール34に送信する(ステップST34)。
以降、アプリ管理モジュール32は座標の受信処理に戻る(ステップST31)。
【0024】
次に、拡張機能モジュール27に配置されているアプリ管理モジュール34の入力管理処理について説明する。図12はアプリ管理モジュール34の入力管理処理を示すフローチャートである。
アプリ管理モジュール34は、基本機能モジュール24のアプリ管理モジュール32から送信される座標を受信すると(ステップST41)、現在画面表示しているJavaアプリを検索する(ステップST42)。
例えば、現在画面表示しているJavaアプリがJavaアプリ28であれば、その受信した座標をJavaアプリ28に与える(ステップST43)。Javaアプリ28に対する座標の送信処理については、Javaプログラムのイベント処理を用いることで実現可能である。
以降、アプリ管理モジュール34は、アプリ管理モジュール32から送信される座標の受信処理に戻る(ステップST41)。
【0025】
上記の説明では、画面出力しているのは、基本機能モジュール24、あるいは、拡張機能モジュール27のいずれかであるものについて示したが、図13に示すように、基本機能モジュール24のナビゲーションサービス25と拡張機能モジュール27のJavaアプリ28等が同時に画面出力してもよい。画面管理方法については後述する。
この場合、座標に応じて送信対象のモジュールを変更すればよい。また、拡張機能モジュール27側でも同様に、単一のJavaアプリのみが画面表示しているだけではなく、複数のJavaアプリが同時に画面表示してもよい(図14を参照)。
【0026】
また、上記の説明では、入力したタッチパネルの座標が先に基本機能モジュール24に配置されているアプリ管理モジュール32に与えられるものについて示したが、逆に拡張機能モジュール27に配置されているアプリ管理モジュール34に先に与えられるようにしてもよい。
また、上記の説明では、ユーザ操作部7としてタッチパネルを採用しているが、現在のカーナビのユーザ操作部7として一般的に利用されているジョイスティックを採用しても同様のことが可能である(画面出力で、どのモジュールが出力対象となっているかをハイライト表示する)。
【0027】
(4)Javaアプリからの画面出力管理について
サービスアプリの画面出力については、基本機能モジュール24と拡張機能モジュール27の両方から画面出力されるので、入力管理と同様に、出力管理処理は、アプリ管理モジュール32,34の双方が連携して行う。
なお、画面出力処理については、基本機能モジュール24、拡張機能モジュール27の各モジュールが、OS23及びデバイスドライバ22を介して、H/W21のグラフィック制御回路11を制御することによって画面出力することができる。
【0028】
最初に、基本機能モジュール24に配置されているアプリ管理モジュール32の画面出力管理について説明する。図15はアプリ管理モジュール32の出力管理処理を示すフローチャートである。
アプリ管理モジュール32は、ナビゲーションサービス25などの基本機能モジュール24が画面出力しているのか、あるいは、Javaアプリ28,29などの拡張機能モジュール27が画面出力しているのかの管理を行う。
アプリ管理モジュール32は、デフォルト(情報提供システム起動後)においては、基本機能モジュール24のナビゲーションサービス25の画面出力を有効にする。
【0029】
その後、拡張機能モジュール27のJavaVM30がJavaアプリ28,29から画面の出力要求を受けると、拡張機能モジュール27のアプリ管理モジュール34が画面出力許可要求を基本機能モジュール24のアプリ管理モジュール32に発行する。
基本機能モジュール24のアプリ管理モジュール32は、拡張機能モジュール27から画面出力許可要求を受信すると(ステップST51)、ナビゲーションサービス25に対して画面出力変更許可伺いを出力する(ステップST52)。基本機能モジュール24のアプリ管理モジュール32は、ナビゲーションサービス25から画面出力変更を許可しない旨の応答を受けると(ステップST53)、画面出力変更却下通知を拡張機能モジュール27のアプリ管理モジュール34に送信する(ステップST54)。
【0030】
基本機能モジュール24のアプリ管理モジュール32は、ナビゲーションサービス25から画面出力変更を許可する旨の応答を受けると(ステップST53)、画面出力変更許可通知を拡張機能モジュール27のアプリ管理モジュール34に送信する(ステップST55)。
基本機能モジュール24のアプリ管理モジュール32は、画面出力変更許可通知を送信すると、現在画面出力モジュール情報(現在、どのモジュールが画面出力しているのかを管理する情報)を変更する(ステップST56)。即ち、現在画面出力モジュール情報を基本機能モジュール24のナビゲーションサービス25から拡張機能モジュール27のJavaVM30に変更する。
【0031】
なお、拡張機能モジュール27のアプリ管理モジュール34は、アプリ管理モジュール34自身が画面出力する場合、基本機能モジュール24のアプリ管理モジュール32から画面出力変更許可通知を受信した時のみOS23に対して画面出力処理を行う。
逆に、拡張機能モジュール27のJavaVM30が画面出力している場合において、基本機能モジュール24のナビゲーションサービス25が画面出力を希望する場合についても、上記と同様の処理によって画面出力変更を行う。
【0032】
次に、拡張機能モジュール27に配置されているアプリ管理モジュール34の出力管理処理について説明する。図16はアプリ管理モジュール34の出力管理処理を示すフローチャートである。
ただし、基本機能モジュール24との画面出力切替については、上記の説明の通りであるため、ここでは、拡張機能モジュール27のアプリ管理モジュール34が、同時動作している複数のJavaアプリ28,29のうち、どのJavaアプリが画面出力しているかの管理処理について説明する。
【0033】
同時動作している複数のJavaアプリ28,29のうち、例えば、Javaアプリ28が画面出力を希望すると、Javaアプリ28は、画面出力要求をアプリ管理モジュール34に発行する(ステップST61)。
拡張機能モジュール27のアプリ管理モジュール34は、現在、JavaVM30が画面出力していない場合、即ち、基本機能モジュール24のナビゲーションサービス25が画面出力している場合(ステップST62)、上述したように、拡張機能モジュール27側で画面出力できるようにするために、画面出力許可要求を基本機能モジュール24のアプリ管理モジュール32に送信する(ステップST63)。
これにより、拡張機能モジュール27のアプリ管理モジュール34は、基本機能モジュール24のアプリ管理モジュール32から画面出力変更許可通知を受けると(ステップST64)、画面出力要求を発行したJavaアプリ28に対して画面出力許可通知を出力する(ステップST67)。
【0034】
拡張機能モジュール27のアプリ管理モジュール34は、現在、JavaVM30が画面出力をしている場合(ステップST62)、画面出力Javaアプリ情報(現在、どのJavaアプリが画面出力をしているかを示す情報(Java(登録商標、以下同じ)アプリ名称で管理))を参照して、現在画面出力しているJavaアプリを特定する。ここでは、説明の便宜上、Javaアプリ29が現在画面出力しているJavaアプリであるとする。
拡張機能モジュール27のアプリ管理モジュール34は、現在画面出力しているJavaアプリ29に対して画面出力を他のJavaアプリに変更してもよいかを問い合わせる(ステップST65)。
【0035】
拡張機能モジュール27のアプリ管理モジュール34は、現在画面出力しているJavaアプリ29から画面出力変更を許可する旨の応答を受けると(ステップST66)、画面出力要求を発行したJavaアプリ28に対して画面出力許可通知を出力する(ステップST67)。
一方、現在画面出力しているJavaアプリ29から画面出力変更を許可しない旨の応答を受けると(ステップST66)、画面出力要求を発行したJavaアプリ28に対して画面出力却下通知を出力する(ステップST68)。
【0036】
なお、上記の説明では、Javaアプリ間で画面出力しているJavaアプリを変更する場合、現在画面出力しているJavaアプリに変更許可を問い合わせるようにしているが、問い合わせずに強制的に切り替えても構わない。また、Javaアプリにプライオリティ(優先度)を持たせておき、アプリ管理テーブルにプライオリティを加えておくことによって、優先度の高いJavaアプリからの画面出力要求を優先するようにしてもよい。
【0037】
以上で明らかなように、この実施の形態1によれば、拡張機能モジュール27上で同時に動作する複数のJavaアプリ28,29が組み込まれた場合、アプリ管理モジュール32,34が複数のJavaアプリ28,29の動作を管理するように構成したので、情報提供システムのリソースの競合を招くことなく、複数のJavaアプリ28,29を同時に動作させることができる効果を奏する。したがって、複数のJavaアプリ28,29が連携して起動/停止することが可能となり、拡張車載情報サービスの価値が向上する。例えば、ゲームを起動する前にディーラサービス等の広告を表示する宣伝アプリを表示させることが容易に実現することができる。
【0038】
また、この実施の形態1によれば、アプリ管理モジュール32,34が拡張機能モジュール27に対するJavaアプリの追加処理、削除処理及び更新処理を実施するように構成したので、同一のJavaアプリを重複することなく、情報提供システムに組み込むことが可能になり、余計なリソース(RAM容量およびもしくはディスク容量)の使用を回避することができる効果を奏する。
【0039】
また、この実施の形態1によれば、アプリ管理モジュール32,34が基本機能モジュール24のナビゲーションサービス25又はJavaアプリ28,29から画面出力要求を受けると、その画面出力要求に応じて基本機能モジュール24のナビゲーションサービス25又はJavaアプリ28,29に画面出力許可を与えるように構成したので、複数のJavaアプリ28,29が画面出力する場合において、所望のJavaアプリの画面出力を実現することができる効果を奏する。
【0040】
さらに、この実施の形態1によれば、アプリ管理モジュール32,34がユーザから与えられる入力情報にしたがって複数のJavaアプリ28,29の動作を管理するように構成したので、複数のJavaアプリ28,29が動作しているときでも、ユーザが所望のJavaアプリに対して入力することができる効果を奏する。
【0041】
なお、この実施の形態1では、全画面を基本機能モジュール24あるいは拡張機能モジュール27が表示する場合の他に、基本機能モジュール24と拡張機能モジュール27間で画面分割するものも示しているが(図13を参照)、この場合、拡張機能モジュール27のアプリ管理モジュール34から画面分割要求を発行し、前述の処理と同様に許可/却下によって処理を変更すればよい(ナビゲーションサービス25は分割表示可能とする)。
また、分割表示した時のお互いの表示領域として、左上と右下の座標を図17のように管理しておけば、前述の入力管理処理において、タッチパネルのタッチ位置がどちらのモジュールに対する入力なのかを区別することが可能となる。
【0042】
また、拡張機能モジュール27のJavaVM30側も分割画面表示してもよいことを上述したが(図14を参照)、その処理は、上述の基本機能モジュール24の処理と同様であるので説明を省略する。なお、Javaアプリ側もタッチパネルのタッチ位置からどのJavaアプリに対する入力なのかを判別するために、図18に示すような画面出力Javaアプリ情報を管理する。
【0043】
実施の形態2.
上記の実施の形態1では、(3)の入力管理及び(4)の画面出力管理を基本側・拡張側の双方に持つとしているのが、基本機能モジュール24側に全ての機能を置いても構わない。この場合、拡張機能モジュール27上で動作するJavaアプリ28,29がナビゲーションサービス25と同様に、基本機能モジュール24のアプリ管理モジュール32で管理されることを意味する(図19及び図20を参照)。ただし、図20において、ステップST71は基本機能モジュール24のアプリ管理モジュール32における画面出力要求の受信処理を意味し、ステップST72はアプリ管理モジュール32における画面出力要求元の判断処理を意味している。また、ステップST73はナビゲーションサービス25に対する許可通知処理を意味し、ステップST74はナビゲーションサービス25に対する却下通知処理を意味する。
逆に、(3)の入力管理及び(4)の画面出力管理について、全てを拡張機能モジュール27側で行ってもよい。この場合、ナビゲーションサービス25がJavaアプリ28,29と同様に(Javaアプリと同列に)、拡張機能モジュール27のアプリ管理モジュール34で管理されることを意味する。
【0044】
さらに、(1)の登録処理等や(2)の起動処理等に関しても、全て基本機能モジュール24のアプリ管理モジュール32で管理しても構わない(追加・削除、起動・停止・状態管理に必要なI/Fを各インタフェースモジュールに配置すればよい)。この場合、全てのアプリ管理を基本機能モジュール24のアプリ管理モジュール32が行うことになり、ソフトウェア構成は例えば図3のようになる。
これにより、基本機能モジュール24を拡張機能モジュール27より優先的に動作させるようにすれば、優先的に動作する基本機能モジュール24がJavaアプリ28,29を管理するので、Javaアプリ28,29の起動/停止を早めることができる効果を奏する。
【0045】
逆に、全ての処理等を拡張機能モジュール27のアプリ管理モジュール34で管理しても構わない。この場合、全てのアプリ管理を拡張機能モジュール27のアプリ管理モジュール34が行うことになり、ソフトウェア構成は例えば図4のようになる。
これにより、アプリ管理を拡張機能モジュール27のアプリ管理モジュール34がJavaアプリ28,29を管理するので、基本機能モジュール24と拡張機能モジュール27間の通信を省略することができる効果を奏する。
【0046】
実施の形態3.
上記実施の形態1では、拡張機能モジュール27がJavaアプリ28,29を起動させるJavaVM30から構成されているものについて示したが、これに限るものではなく、例えば、図21に示すように、OS23上にLinuxOS41を搭載し、LinuxOS41をプロセスとして動作させることにより、JavaVM30と同様の機能を果たすことができる。この場合、Linuxアプリ42,43がサービスアプリケーションに相当し、アプリ管理モジュール44がLinuxアプリ42,43の動作を管理する。また、LinuxI/Fモジュール45はアプリ管理モジュールインタフェースモジュール31と通信を行う。
【0047】
実施の形態4.
上記実施の形態1では、ユーザ操作部7がタッチパネルやジョイスティックなどのデバイスであるものについて示したが、ユーザ操作部7がマイクを備え、ユーザ操作I/F部8がマイクより入力されたユーザの音声を所定の音声入力コマンドに変換する音声認識エンジンを備えるようにしてもよい。
なお、ハードウェア構成は、マイク以外は上記実施の形態1と同様とする。
【0048】
図22はこの発明の実施の形態4による情報提供システムを示すソフトウェア構成図であり、図において、図2と同一符号は同一または相当部分を示すので説明を省略する。
音声認識エンジンモジュール51は基本機能モジュールとして動作し、ユーザの音声を認識する。JavaVMI/Fモジュール52は音声認識エンジンモジュール51がJavaアプリ28,29と連携を図る際、JavaVM30内の音声認識エンジンモジュールインタフェースモジュール53と通信を実施する。
【0049】
次に動作について説明する。
この実施の形態2における音声認識エンジンモジュール51は、初期設定において登録された音声認識コマンドに対して、コマンドを追加・削除できるものとする。なお、音声認識エンジンモジュール51自体の動作については、現状のカーナビゲーションシステムにおける音声認識エンジンと同様の処理で構わないので説明を省略する。なお、コマンド追加・削除に関しても現状のシステムで、ナビゲーションサービス25が登録地点をデータベースに登録・削除する際に、登録地点コマンドを追加・削除する場合と同様であるため説明を省略する。
ここでは、下記の2つの音声認識エンジンの制御について説明する。
(1)Javaアプリ追加時のJavaアプリ起動コマンドの追加
(2)Javaアプリ起動時のJavaアプリ内で使用する音声認識コマンドの追加
【0050】
(1)Javaアプリ起動コマンドの追加について
図23はJavaアプリ起動コマンドの追加処理を示すフローチャートであり、図24はコマンド認識処理を示すフローチャートである。
まず、拡張機能モジュール27のアプリ管理モジュール34は、上記実施の形態1におけるJavaアプリの追加処理において、Javaアプリを読み出す際(図5のステップST2)、読み出し対象のJavaアプリの付加情報として、アプリ起動コマンド情報(例えば、読み出し対象のJavaアプリが天気予報を行うアプリであれば「テンキヨホウ」のように読み仮名が書かれた情報)も同時に読み出し(ステップST81)、RAM10への展開処理時に読み出したアプリ起動コマンド情報とアプリ起動コマンドID(アプリ管理テーブルの何行目のアプリかを示す情報)を、音声認識エンジンモジュールインタフェースモジュール53とJavaVMI/Fモジュール52を介して、基本機能モジュール24の音声認識エンジンモジュール51に送信する(ステップST82)。
【0051】
音声認識エンジンモジュール51は、アプリ管理モジュール34からアプリ起動コマンド情報とアプリ起動コマンドIDを受信すると(ステップST83)、そのアプリ起動コマンドとアプリ起動コマンドIDとJavaアプリの起動コマンドであることを示す識別フラグ(例えば、JAVA_CMDのような文字列)を音声認識データベースに登録する。
音声認識エンジンモジュール51は、ユーザがマイクに対して発話した音声コマンドが登録されたコマンドである場合には(ステップST91,ST92)、インタフェースモジュールを介して、アプリ起動コマンドIDと識別フラグを拡張機能モジュール27のアプリ管理モジュール34に送信する(ステップST93)。なお、音声コマンドが拡張機能モジュールのアプリ管理モジュール34より登録されたコマンドでない場合、その認識結果をナビゲーションサービス25に送信する(ステップST94)。
拡張機能モジュール27のアプリ管理モジュール34は、その識別フラグがアプリ起動コマンドであることを判断した上で、受信したアプリ起動コマンドIDに対応するJavaアプリを上記実施の形態1と同様の方法で起動する。
【0052】
なお、Javaアプリが削除される場合は、拡張機能モジュール27のアプリ管理モジュール34が音声認識エンジンモジュール51に対して、アプリ起動コマンドとアプリ起動IDの削除依頼を、インタフェースモジュールを介して音声認識エンジンモジュール51に送信し、音声認識エンジンモジュール51が音声認識データベースより起動コマンドを削除することによって実現する。
【0053】
(2)音声認識コマンドの追加について
拡張機能モジュール27のアプリ管理モジュール34は、上記実施の形態1におけるJavaアプリの画面管理において、Javaアプリに画面出力許可を送信する際に、Javaアプリが保有しているアプリ音声コマンド情報(例えば、Javaアプリが天気予報を行うアプリであれば、「オオサカ」とか「ヒョウゴケンナンブ」といった地方名と、「キョウ」とか「アシタ」といった日時を示す文字列)とアプリ音声コマンドID(音声コマンド文字列を指し示すためのID)の読出処理を実施する。
【0054】
拡張機能モジュール27のアプリ管理モジュール34は、その読み出したアプリ音声コマンド情報と、その読み出したアプリ音声コマンドの一つ一つを識別するためのアプリ音声コマンドIDと、登録するコマンドがアプリ音声コマンドであることを示す識別フラグ(例えば、JAVA_APL_CMDといった文字列)を、インタフェースモジュールを介して、音声認識エンジンモジュール51に送信する。
音声認識エンジンモジュール51は、アプリ音声コマンド情報とアプリ音声コマンドIDと識別フラグとを受信すると、これらの情報を音声認識データベースに登録する。
【0055】
音声認識エンジンモジュール51は、ユーザがマイクに対して発話した音声コマンドが拡張機能モジュール27のアプリ管理モジュール34より登録されたコマンドである場合には、インタフェースモジュールを介して、識別フラグと音声コマンドIDを拡張機能モジュール27のアプリ管理モジュール34に送信する。
拡張機能モジュール27のアプリ管理モジュール34は、音声認識エンジンモジュール51から送信された識別フラグがアプリ音声コマンドであることを判別した後に、その受信した音声コマンドIDを画面出力しているJavaアプリに送信する。その後、Javaアプリは、受信した音声コマンドIDに応じた処理を行う。
なお、Javaアプリが画面出力を停止、あるいは、他のJavaアプリに変更になった場合には、登録した全てのアプリ音声コマンドを消去するように音声認識エンジンモジュール51に通知し、その音声認識エンジンモジュール51が音声コマンドを音声認識データベースより消去する。
【0056】
上記の説明では、画面出力するJavaアプリが1つであるものについて示したが、2つ以上のJavaアプリが同時に画面表示する場合には、読み出したアプリ音声コマンドIDに、アプリ管理テーブルの何行目にあるかを示すアプリID(上述のアプリ起動コマンドIDと同じ)を加えたIDをコマンドIDとすれば(例えば、音声コマンドIDが0x0001(2バイトデータ)であり、アプリIDが0x0002(2バイトデータ)である場合には、0x00020001のように4バイトデータとすればよい)、同時表示しているJavaアプリにおいて、どのJavaアプリに対する音声認識コマンドなのかを区別することが可能となる。
なお、上述の起動コマンド追加処理及び音声認識コマンド追加処理を、基本機能モジュール24のアプリ管理モジュール32で行っても構わない。
【0057】
以上で明らかなように、この実施の形態4によれば、アプリ管理モジュール34がユーザの音声を認識する音声認識エンジンモジュール51を利用して、Javaアプリが使用する音声入力コマンドの登録を受け付けるように構成したので、ユーザが音声を発するだけでJavaアプリを操作することができる効果を奏する。
【0058】
実施の形態5.
複数のJavaアプリ28,29が同時に動作することにより、限られたメモリリソースで動作している情報提供システムでは、メモリ不足になる可能性がある。そのため、アプリ管理モジュール34では、Javaアプリ28,29が使用するメモリリソースを管理し、メモリ不足になる可能性が発生すると、任意のJavaアプリを停止させる等の制御を実施する。
具体的には下記の通りである。図25はメモリ不足時のアプリ停止処理を示すフローチャートである。
【0059】
ただし、ハードウェア構成及びソフトウェア構成は上記実施の形態1と同様であるとする。また、JavaVM30は、起動時に所定量のメモリリソースを確保するものとし、Javaアプリから出力されるクラス生成などの要求に応じて、JavaVM30が使用している総メモリリソースをメモリ使用量情報として有するものとする。
また、拡張機能モジュール27のアプリ管理モジュール34からJavaVM30が確保しているメモリリソースの空き容量を獲得するためのAPIとして、getFreeMemoryという関数を用意し、JavaVM30がこの関数を呼び出したJavaアプリに対して、起動時に確保したメモリリソースから使用している総メモリリソースを引いた値を返す処理を行うものとする。
【0060】
まず、拡張機能モジュール27のアプリ管理モジュール34は、所定の時間毎(例えば、1分おき)に、上記関数を呼び出して、メモリリソースの空き容量情報を獲得する(ステップST101,ST102)。
拡張機能モジュール27のアプリ管理モジュール34は、メモリリソースの空き容量情報を獲得すると、メモリリソースの空き容量が所定のメモリ容量以下であるか否かを判断し(ステップST103)、メモリリソースの空き容量が所定のメモリ容量以下である場合には、任意のJavaアプリを上記実施の形態1と同様の方法で停止させることにより、メモリ不足を回避するようにする(ステップST104)。
【0061】
以上で明らかなように、この実施の形態5によれば、アプリ管理モジュール34が使用可能なリソースを考慮して、複数のJavaアプリ28,29の動作を管理するように構成したので、情報提供システムの動作を安定化することができる効果を奏する。
【0062】
上記の説明では、JavaVM30が確保しているメモリリソースを対象としているが、情報提供システム全体のメモリリソース(DRAM全容量)を対象としても構わない。この場合、JavaVM30は、OS23上にJavaVM30と同様のメモリリソース空き容量を獲得するためのAPIを用意しておき、JavaアプリからJavaVM30のAPIを呼び出した時に、JavaVM30が上記APIを介して情報提供システムの空きメモリ容量を獲得することにより実現する。
【0063】
また、上記の説明では、任意のJavaアプリを停止するとしているが、Javaアプリを起動した順番を情報として記憶しておき、最後に起動したJavaアプリ、あるいは、最初に起動したJavaアプリを停止しても構わない。また、上記実施の形態1と同様に、Javaアプリに優先度を持たせておき、優先度の低いJavaアプリから停止するようにしてもよい。
また、上記の説明では、ある所定のメモリ容量以下であったらJavaアプリを停止するとしているが、メモリ容量に余裕が発生した場合、強制停止させたJavaアプリを再起動するようにしてもよい。
【0064】
さらに、上記の説明では、対象となる情報提供システムのリソースがメモリリソースのみであったが、ハードディスクドライブのような記録メディアに対する書き込みであっても構わない。その場合、ハードディスク容量が不足した場合には、Javaアプリに対して、Javaアプリが使用しているファイルを削除するように依頼すればよい。
なお、この実施の形態5では、拡張機能モジュール27のアプリ管理モジュール34がJavaアプリの停止処理を行うものについて示したが、基本機能モジュール24のアプリ管理モジュール32がインタフェースモジュールを介してメモリリソースの空き容量を獲得することによって、Javaアプリの停止処理を行うようにしてもよい。
【0065】
実施の形態6.
上記実施の形態1では、アプリ管理モジュール32,34が各Javaアプリを削除・追加することにより、Javaアプリの更新を行うようにしているが、アプリ管理モジュール自体を更新するようにしてもよい。
具体的には下記の通りである。図26はJavaVMの自動更新処理を示すフローチャートであり、図27はアプリ管理モジュール34の自動更新処理を示すフローチャートである。
【0066】
ただし、ハードウェア構成及びソフトウェア構成は、上記実施の形態1と同様であるものとし、JavaVM30には、Javaアプリのポインタ(DRAMアドレス)と読み込み先(DVD−ROM等)を引数として、自動更新用のAPIを用意する。このAPIが呼ばれた場合には、指定されたポインタのJavaアプリを停止させるとともに、DRAM上から削除し(ステップST111,ST112)、また、指定された読み込み先からJavaアプリを読み出し、DRAM上に展開したのち(ステップST113)、展開したJavaアプリを起動する(ステップST114)。
【0067】
拡張機能モジュール27のアプリ管理モジュール34は、管理モジュール更新要求を受信すると(ステップST121)、管理している全てのJavaアプリを停止させて(ステップST122)、アプリ管理テーブルを所定の場所に記録する(ステップST123)。
その後、this変数を用いて自分自身のポインタをJavaVM30より獲得し(ステップST124)、その獲得した自分自身のポインタと所定の読み込み先を、上記APIの引数としてJavaVM30に送信する(ステップST125)。
JavaVM30は、上記の処理手順によって、アプリ管理モジュール34を更新して自動起動する。起動後、アプリ管理モジュール34は、所定の場所に記録されたアプリ管理テーブルを読み出してアプリ管理処理を開始する。
【0068】
以上で明らかなように、この実施の形態6によれば、拡張機能モジュール27のJavaVM30がアプリ管理モジュール34を更新するように構成したので、Javaアプリの管理方法を用意に拡張することができる効果を奏する。
なお、上記の説明では、更新されるアプリ管理モジュール34の読み込み先を所定の読み出し先としているが、ユーザに入力させても構わない。また、上記実施の形態1と同様に、読み出し先は外部記録メディア2に限らず、接続された携帯電話等のネットワーク接続機器を介して、ネットワーク上に置かれたアプリ管理モジュールをダウンロードしてもよい。
【0069】
【発明の効果】
以上のように、この発明によれば、拡張機能モジュール上で同時に動作するアプリ管理モジュールが複数のサービスアプリケーションの動作を管理するように構成したので、情報提供システムのリソースの競合を招くことなく、複数のサービスアプリケーションを同時に動作させることができる効果がある。
【図面の簡単な説明】
【図1】この発明の実施の形態1による情報提供システムを示すハードウェア構成図である。
【図2】この発明の実施の形態1による情報提供システムを示すソフトウェア構成図である。
【図3】この発明の実施の形態2による情報提供システムを示すソフトウェア構成図である。
【図4】この発明の実施の形態2による情報提供システムを示すソフトウェア構成図である。
【図5】Javaアプリの追加処理を示すフローチャートである。
【図6】アプリ管理テーブルの一例を示す説明図である。
【図7】追加アプリリストの一例を示す説明図である。
【図8】Javaアプリの削除処理を示すフローチャートである。
【図9】メニュー画面の一例を示す説明図である。
【図10】Javaアプリの起動処理を示すフローチャートである。
【図11】アプリ管理モジュールの入力管理処理を示すフローチャートである。
【図12】アプリ管理モジュールの入力管理処理を示すフローチャートである。
【図13】モジュール分割画面の一例を示す説明図である。
【図14】Javaアプリ分割画面の一例を示す説明図である。
【図15】アプリ管理モジュールの出力管理処理を示すフローチャートである。
【図16】アプリ管理モジュールの出力管理処理を示すフローチャートである。
【図17】分割表示時の画面出力表示領域の管理情報を示す説明図である。
【図18】分割表示時のJavaアプリ画面出力表示領域の管理情報を示す説明図である。
【図19】アプリ管理モジュールの入力管理処理を示すフローチャートである。
【図20】アプリ管理モジュールの出力管理処理を示すフローチャートである。
【図21】この発明の実施の形態3による情報提供システムを示すソフトウェア構成図である。
【図22】この発明の実施の形態4による情報提供システムを示すソフトウェア構成図である。
【図23】Javaアプリ起動コマンドの追加処理を示すフローチャートである。
【図24】コマンド認識処理を示すフローチャートである。
【図25】メモリ不足時のアプリ停止処理を示すフローチャートである。
【図26】JavaVMの自動更新処理を示すフローチャートである。
【図27】アプリ管理モジュールの自動更新処理を示すフローチャートである。
【符号の説明】
1 ROM、2 外部記憶メディア、3 外部記憶装置ドライブ、4 外部記憶装置I/F、5 周辺機器、6 周辺機器I/F、7 ユーザ操作部、8 操作部I/F、9 CPU、10 RAM、11 グラフィック制御回路、12 ディスプレイ、21 H/W、22 デバイスドライバ、23 OS、24 基本機能モジュール、25 ナビゲーションサービス、26 JavaVMI/Fモジュール、27 拡張機能モジュール、28,29 Javaアプリ(サービスアプリケーション)、30 JavaVM、31 アプリ管理モジュールインタフェースモジュール、31a ナビゲーションサービスインタフェースモジュール、32 アプリ管理モジュール、33 JavaVMI/Fモジュール、34 アプリ管理モジュール、41 LinuxOS、42,43 Linuxアプリ、44 アプリ管理モジュール、45 LinuxI/Fモジュール、51音声認識エンジンモジュール、52 JavaVMI/Fモジュール、53 音声認識エンジンモジュールインタフェースモジュール。

Claims (12)

  1. 基本的な情報サービスを提供する基本機能モジュールと、上記基本機能モジュールにはない拡張機能を提供するサービスアプリケーションが組み込まれると、上記基本機能モジュールと連携を図りながら上記サービスアプリケーションを起動させる拡張機能モジュールとを備えた情報提供システムにおいて、上記拡張機能モジュール上で同時に動作する複数のサービスアプリケーションの動作を管理するアプリ管理モジュールを搭載したことを特徴とする情報提供システム。
  2. 基本機能モジュールのサブモジュールとしてアプリ管理モジュールを搭載したことを特徴とする請求項1記載の情報提供システム。
  3. 拡張機能モジュールに組み込まれるサービスアプリケーションの1つとしてアプリ管理モジュールを搭載したことを特徴とする請求項1記載の情報提供システム。
  4. 拡張機能モジュールがアプリ管理モジュールを更新することを特徴とする請求項3記載の情報提供システム。
  5. 基本機能モジュールのサブモジュールとしてアプリ管理モジュールを搭載するとともに、拡張機能モジュールに組み込まれるサービスアプリケーションの1つとしてアプリ管理モジュールを搭載し、双方のアプリ管理モジュールが連携して複数のサービスアプリケーションの動作を管理することを特徴とする請求項1記載の情報提供システム。
  6. アプリ管理モジュールは、拡張機能モジュールに対するサービスアプリケーションの追加処理、削除処理及び更新処理を実施することを特徴とする請求項1から請求項5のうちのいずれか1項記載の情報提供システム。
  7. アプリ管理モジュールは、基本機能モジュール又はサービスアプリケーションから画面出力要求を受けると、その画面出力要求に応じて基本機能モジュール又はサービスアプリケーションに画面出力許可を与えることを特徴とする請求項1から請求項6のうちのいずれか1項記載の情報提供システム。
  8. アプリ管理モジュールは、ユーザから与えられる入力情報にしたがって複数のサービスアプリケーションの動作を管理することを特徴とする請求項1から請求項7のうちのいずれか1項記載の情報提供システム。
  9. アプリ管理モジュールは、ユーザの音声を認識する音声認識エンジンを利用して、サービスアプリケーションが使用する音声入力コマンドの登録を受け付けることを特徴とする請求項1から請求項8のうちのいずれか1項記載の情報提供システム。
  10. アプリ管理モジュールは、使用可能なリソースを考慮して、複数のサービスアプリケーションの動作を管理することを特徴とする請求項1から請求項9のうちのいずれか1項記載の情報提供システム。
  11. アプリ管理モジュールは、複数のサービスアプリケーションの優先度を考慮して、複数のサービスアプリケーションの動作を管理することを特徴とする請求項1から請求項9のうちのいずれか1項記載の情報提供システム。
  12. アプリ管理モジュールは、使用可能なリソースと複数のサービスアプリケーションの優先度を考慮して、複数のサービスアプリケーションの動作を管理することを特徴とする請求項1から請求項9のうちのいずれか1項記載の情報提供システム。
JP2003196014A 2003-07-11 2003-07-11 情報提供システム Pending JP2005031975A (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2003196014A JP2005031975A (ja) 2003-07-11 2003-07-11 情報提供システム
US10/885,751 US20050010932A1 (en) 2003-07-11 2004-07-08 Information providing system
DE102004033371A DE102004033371A1 (de) 2003-07-11 2004-07-09 Informationslieferungssystem
CNB2004100636507A CN1324472C (zh) 2003-07-11 2004-07-09 信息提供系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003196014A JP2005031975A (ja) 2003-07-11 2003-07-11 情報提供システム

Publications (1)

Publication Number Publication Date
JP2005031975A true JP2005031975A (ja) 2005-02-03

Family

ID=33562566

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003196014A Pending JP2005031975A (ja) 2003-07-11 2003-07-11 情報提供システム

Country Status (4)

Country Link
US (1) US20050010932A1 (ja)
JP (1) JP2005031975A (ja)
CN (1) CN1324472C (ja)
DE (1) DE102004033371A1 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007299333A (ja) * 2006-05-02 2007-11-15 Sony Computer Entertainment Inc 情報処理システム、コンピュータの制御方法及びプログラム
US8438567B2 (en) 2007-11-07 2013-05-07 Ricoh Company, Ltd. Information processing device and image processing apparatus
JP2013152627A (ja) * 2012-01-25 2013-08-08 Denso Corp 車載端末、及び、アプリケーション実行環境プログラム
WO2014034284A1 (ja) * 2012-08-28 2014-03-06 住友電気工業株式会社 被遠隔管理装置、被遠隔管理方法および被遠隔管理プログラム
US9535719B2 (en) 2006-05-02 2017-01-03 Sony Corporation Information processing system and computer control method for calculating and allocating computer resources
JP7294554B1 (ja) * 2023-02-16 2023-06-20 凸版印刷株式会社 信号処理装置、信号処理方法、及びプログラム

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006170769A (ja) * 2004-12-15 2006-06-29 Aisin Aw Co Ltd 案内情報提供方法、案内情報提供システム、ナビゲーション装置及び入出力装置
TW200837597A (en) * 2007-03-09 2008-09-16 Abig Inc Speech control apparatus and method
US8434093B2 (en) * 2008-08-07 2013-04-30 Code Systems Corporation Method and system for virtualization of software applications
US8776038B2 (en) 2008-08-07 2014-07-08 Code Systems Corporation Method and system for configuration of virtualized software applications
US8954958B2 (en) 2010-01-11 2015-02-10 Code Systems Corporation Method of configuring a virtual application
US8959183B2 (en) 2010-01-27 2015-02-17 Code Systems Corporation System for downloading and executing a virtual application
US9104517B2 (en) 2010-01-27 2015-08-11 Code Systems Corporation System for downloading and executing a virtual application
US10397639B1 (en) 2010-01-29 2019-08-27 Sitting Man, Llc Hot key systems and methods
US9229748B2 (en) 2010-01-29 2016-01-05 Code Systems Corporation Method and system for improving startup performance and interoperability of a virtual application
US8763009B2 (en) 2010-04-17 2014-06-24 Code Systems Corporation Method of hosting a first application in a second application
US8782106B2 (en) 2010-07-02 2014-07-15 Code Systems Corporation Method and system for managing execution of virtual applications
US9021015B2 (en) 2010-10-18 2015-04-28 Code Systems Corporation Method and system for publishing virtual applications to a web server
US9209976B2 (en) 2010-10-29 2015-12-08 Code Systems Corporation Method and system for restricting execution of virtual applications to a managed process environment
SG11201407199YA (en) * 2012-05-11 2014-12-30 Mitsubishi Electric Corp Control apparatus, control method, and control program
CN103424117A (zh) * 2012-05-23 2013-12-04 昆达电脑科技(昆山)有限公司 导航装置
EP3087484B1 (en) 2013-12-23 2019-06-19 Koninklijke KPN N.V. Binding smart objects
US10230796B2 (en) * 2014-05-30 2019-03-12 Apple Inc. Intelligent disk space manager
US10585588B2 (en) * 2017-11-15 2020-03-10 Microsoft Technology Licensing, Llc Virtual storage free space management

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3546680B2 (ja) * 1998-01-26 2004-07-28 トヨタ自動車株式会社 ナビゲーション装置
JP3927304B2 (ja) * 1998-02-13 2007-06-06 トヨタ自動車株式会社 ナビゲーション用地図データアクセス方法
US6442565B1 (en) * 1999-08-13 2002-08-27 Hiddenmind Technology, Inc. System and method for transmitting data content in a computer network
JP2001235334A (ja) * 2000-02-24 2001-08-31 Toyota Motor Corp ナビゲーション装置
US7231642B2 (en) * 2001-03-19 2007-06-12 Mitsubishi Denki Kasbushiki Kaisha Vehicle-mounted multimedia device
JP2002318702A (ja) * 2001-04-19 2002-10-31 Mitsubishi Electric Corp 車載情報システム

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007299333A (ja) * 2006-05-02 2007-11-15 Sony Computer Entertainment Inc 情報処理システム、コンピュータの制御方法及びプログラム
US9535719B2 (en) 2006-05-02 2017-01-03 Sony Corporation Information processing system and computer control method for calculating and allocating computer resources
US8438567B2 (en) 2007-11-07 2013-05-07 Ricoh Company, Ltd. Information processing device and image processing apparatus
JP2013152627A (ja) * 2012-01-25 2013-08-08 Denso Corp 車載端末、及び、アプリケーション実行環境プログラム
WO2014034284A1 (ja) * 2012-08-28 2014-03-06 住友電気工業株式会社 被遠隔管理装置、被遠隔管理方法および被遠隔管理プログラム
JP2014044634A (ja) * 2012-08-28 2014-03-13 Sumitomo Electric Ind Ltd 被遠隔管理装置、被遠隔管理方法および被遠隔管理プログラム
US10033571B2 (en) 2012-08-28 2018-07-24 Sumitomo Electric Industries, Ltd. Remotely-managed device, method for being remotely managed, and program for being remotely managed
JP7294554B1 (ja) * 2023-02-16 2023-06-20 凸版印刷株式会社 信号処理装置、信号処理方法、及びプログラム

Also Published As

Publication number Publication date
CN1581087A (zh) 2005-02-16
CN1324472C (zh) 2007-07-04
DE102004033371A1 (de) 2005-02-10
US20050010932A1 (en) 2005-01-13

Similar Documents

Publication Publication Date Title
JP2005031975A (ja) 情報提供システム
US6442475B1 (en) Extendable on-vehicle information system
JP4839049B2 (ja) 情報処理装置および表示画面制御方法
JP5137781B2 (ja) 移動機及びアプリケーションの切替方法
EP2437570A1 (en) Method for managing application information implemented by a mobile phone and application manager
JP2008117181A (ja) 携帯端末およびその表示制御方法
US20060095916A1 (en) Mobile phone terminal, program management method, and computer program for the same
US7231642B2 (en) Vehicle-mounted multimedia device
JP2001208547A (ja) ナビゲーション装置および記録媒体
WO2023273350A1 (zh) 一种应用授权方法、装置和终端设备
CN114047867A (zh) 一种悬浮窗显示方法及电子设备
CN114138139A (zh) 应用程序卡片的管理方法、电子设备、产品及介质
CN112119378A (zh) 一种应用的安装方法及终端
CN113448643B (zh) 配置数据管理系统及方法
US20110173627A1 (en) Information-processing device and program
JP4902713B2 (ja) 情報処理方法、情報処理装置及びプログラム
JPH09223063A (ja) ハイパーメディア文書管理装置
JP2001056694A (ja) 対話型ユーザインタフェース装置
JP3907604B2 (ja) 情報処理装置および情報処理方法ならびに記憶媒体、プログラム
KR20100010736A (ko) 이동통신 단말기에서 이종 어플리케이션을 관리하는 방법및 이를 이용한 이동통신 단말 장치
CN114172925A (zh) 配网方法及设备
CN117555462B (zh) 车载终端的控制方法、车载终端的控制装置及存储介质
US20230418445A1 (en) Method for migrating display element across applications and electronic device
US7222164B1 (en) Device and method to load commands in an integrated circuit card
JP2009146206A (ja) マルチアプリケーション実行装置、マルチアプリケーション実行支援方法、およびプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060406

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20071019

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20071019

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20071019

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20080710

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090618

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090630

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20091027