JP3851042B2 - 自動車用コンピュータ・システム - Google Patents
自動車用コンピュータ・システム Download PDFInfo
- Publication number
- JP3851042B2 JP3851042B2 JP36597999A JP36597999A JP3851042B2 JP 3851042 B2 JP3851042 B2 JP 3851042B2 JP 36597999 A JP36597999 A JP 36597999A JP 36597999 A JP36597999 A JP 36597999A JP 3851042 B2 JP3851042 B2 JP 3851042B2
- Authority
- JP
- Japan
- Prior art keywords
- component
- electronic control
- application
- javabea
- software
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
- G06F8/24—Object-oriented
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2113—Multi-level security, e.g. mandatory access control
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99941—Database schema or data structure
- Y10S707/99944—Object-oriented database structure
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Bioethics (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Stored Programmes (AREA)
Description
【発明の属する技術分野】
本発明は、自動車用コンピュータ・システムに係り、更に詳細には、自動車用コンピュータ・プラットフォーム上で実行されるアプリケーションに対し、自動車用装置機能及びソフトウェア・サービスを伝達するシステムを提供することに係る。
【0002】
【従来の技術】
歴史的に、コンピュータ・プログラムは、低レベルのハードウェア及びソフトウェア・サービスから構築され、これらのパーツを単一の実行可能なイメージに緊密に結合することにより構成された。このアプローチは、変化する要求に対して予想される変更及び適応化が非常に困難な、柔軟性の無いコンピュータ環境を生ぜしめた。これらの環境に対して作成されたアプリケーションは、他のコンピュータ環境に適応するのが非常に困難であった。異なるコンピュータ環境において同一の問題を解決するために、アプリケーション・ソフトウェアを再利用する機会が殆ど無かった。
【0003】
最近、コンピュータ・アーキテクチャは、コンポーネント・アプローチを組み込むようになった。これらのコンピュータ・アーキテクチャでは、体系的に一貫性を有する態様で、基本プラットフォームが低レベルのコンポーネントにより構成される。このアプローチは、ソフトウェア・プラットフォームに対するよりモジュール指向のアプローチを与え、任意のコンポーネントが同一のタスクを達成する別のコンポーネントにより置換されることを可能にする。コンポーネントのこの互換性を可能にするのは、ソフトウェア・インタフェースの標準化である。コンポーネントは1つ以上のインタフェースをサポートするように構築され、これらのサービスをコンピュータ・プラットフォームに提供する。これらのインタフェースを実現する任意の他のコンポーネントが置換として使用され得る。
【0004】
コンポーネント・アーキテクチャの幾つかの例が、現在登場している。これらの例には、マイクロソフト社により開発されたActiveXアーキテクチャ、及びサン・マイクロシステムズ社により開発されたJavaのためのJavaBeanコンポーネント・モデルが含まれる。
【0005】
1970年代後半以降、コンピュータは自動車に搭載されるようになった。今日、一般の車両は5個〜12個のマイクロプロセッサを含み、高級自動車では50個も含み得る。これらのプロセッサは、8ビット・マイクロコントローラから32ビット汎用プロセッサまで様々である。ソフトウェア・プログラムは、動力伝達装置、シャーシ、一体ボディ及び娯楽機能を制御し、500000行以上のコードを含み得る。オペレーティング・システム、言語、ライブラリ及び多数のプログラムを実現する技術は、一貫した設計方法が殆ど存在しないために極めて多様化している。歴史的に、これらのシステムの殆どは、互いに通信することがなかった。
【0006】
車両ソフトウェアの複雑度が増し、半導体技術が進歩すると、エレクトロニクス及びソフトウェアがより一層高度化する。最新の車両エレクトロニクス・システムは、ECU(電子制御ユニット)間通信を可能にするバス・アーキテクチャを含む。将来の車両コンピュータ環境は、一層この傾向を強め、複数のECUが共同作業を行い( collaborate )、多彩なアプリケーションに参加することを可能にするであろう。車両外通信を含むこれらのアプリケーションは、無線通信技術が一層浸透するにつれて、発展し続けることであろう。
【0007】
車両コストの増加要因としてのソフトウェアは、この発展の兆候である。この傾向は加速することが予測されるので、ソフトウェアが市場投入時期の重大な障害となるであろう。
【0008】
パーソナル・コンピュータ(PC)プラットフォームは、ハードウェア及びソフトウェア・サービスの標準の予測可能な構成を有する。この構成は、CPU、メモリ、キーボード、マウス、モニタ、シリアル・ポート、及び外部装置をPC上のコンピュータ・プラットフォームに接続するための少数の標準バス・アーキテクチャを含む。
【0009】
PCのために作成されたプログラムは、この標準の構成が使用可能であると想定し、この想定が破られる場合、しばしば適切に機能しなくなる。
【0010】
自動車組み込み型コンピュータは、PC及び他のパーベイシブ・コンピュータ状況と異なる。なぜなら、自動車は、スマート・ページャやセルラ電話などの単一目的適合装置、又は業界標準のPCにより定義される装置の高信頼度の構成とは異なり、複数の接続装置の複合体であるからである。
【0011】
アプリケーションは、自動車上の装置により伝達される機能へのアクセスを必要とし、例えば燃料計器の場合、それらの現ステータスがポーリングされ、無線アプリケーションに事前設定された無線局の場合、装置が操作される。装置群は、ディーラの及び売買後の装置の追加に基づき、個々の自動車ごとに変化し得るので、アプリケーションは、固定の標準の装置群に頼ることができない。その結果、アプリケーションは、装置実現及び装置構成とは独立に作成される必要がある。アプリケーションが、実現の詳細とは独立に、標準のAPIに作成される場合、それらは複数の自動車モデルに亘り、及びオプション/売買後の追加の装置群に亘り、移植可能となる。更に、アプリケーションは、低レベルの装置の実現の詳細に依存しなくなるため、より単純となる。
【0012】
更に、装置及びソフトウェア・サービス機能へのアクセスが、(その装置又はソフトウェア・サービスの特定の実現に特有の詳細を通してではなく)業界標準のアプリケーション・プログラミング・インタフェース(API)を通して行われるように、アプリケーションを構築する必要がある。こうすると、様々な装置構成や自動車用コンピュータ・プラットフォーム環境を全く変更しないか又は殆ど変更することなく、アプリケーションを実行することが可能になる。また、自動車の寿命が尽きるまで、アプリケーションを自動車用コンピュータ・プラットフォームに追加することが可能になり、特に、第3者ソフトウェア開発者が、自動車用コンピュータ・プラットフォーム上で実行するように、アプリケーションを構築することが可能になる。
【0013】
AutoPCは、マイクロソフト社により開発されたAPIセットであり、WinCEオペレーティング・システムを自動車産業に拡張するものである。WinCEオペレーティング・システムは、マイクロソフト社から提供されるオペレーティング・システムである。しかしながら、AutoPCは、1セットのデータ構造及びそれらを操作するための複数のAPIを提供するという、古典的な手続き的アプローチを使用する。
【0014】
自動車内の様々な装置へのアクセスの保護に関し、自動車上の特定の装置機能(現オイル圧の読出しなど)は寛容であり、殆どセキュリティ上の問題を有さない。一方、パワー・シートの調整、車のドアのロック解除、現GPSデータ、又はメーカの所有権に係る(所有権的)エンジン診断データなどの他の装置機能は、アクセス制限を必要とする。これらの装置又はソフトウェア・サービスへのアクセスは、特定のアプリケーションにとって重要であるが、任意のユーザによるこれらの装置へのインターネット(又は直接接続)を介するアクセスを放置すると、セキュリティ上のリスクを負うことになる。自動車業界は、(特定の地域では法律によって規制されているように)顧客の安全性及びセキュリティに関心を持っているので、搭載装置の機能への安全なアクセスは、自動車ネットワーク・コンピュータの要件である。
【0015】
【発明が解決しようとする課題】
従って、自動車用コンピュータ・プラットフォームのために作成されるアプリケーションを、モジュール化及びコンポーネント化するように設計及び構築する方法及び装置を提供することが有利である。
【0016】
【課題を解決するための手段】
本発明は、自動車用装置機能及びソフトウェア・サービスを、自動車用コンピュータ・プラットフォームのソフトウェア・コンポーネントとして表すための、自動車用コンピュータ環境において使用される方法及び装置を提供する。自動車用コンピュータ・プラットフォームは、Java言語により作成されたコンピュータ・プログラム命令を実行可能である。JavaBeanコンポーネントからJavaBeansとして作成された複数のプログラム・コンポーネントは、自動車用コンピュータ・プラットフォーム上で使用可能な装置機能及びソフトウェア・サービスを表すために使用される。コンポーネント・レポジトリが使用され、それによりソフトウェア・アプリケーションは、JavaBeanコンポーネントの使用可能性を決定でき、Java言語メソッド呼び出しを使用して、任意のコンポーネントの機能へのアクセスを確立できる。
【0017】
本発明は、コンポーネント・レポジトリを突き止めるためにアプリケーションにより使用される第1の機構を提供し、これはレポジトリ発見として知られる。第2の機構は、アプリケーションがコンポーネント・レポジトリにコンポーネントの使用可能性を決定するように問い合わせるために存在し、これはコンポーネント・ルックアップとして知られる。第3の機構は、アプリケーションがコンポーネント・レポジトリからコンポーネントへのアクセスを獲得するために使用可能である。
【0018】
【発明の実施の形態】
本発明は、車両内のアプリケーションと装置との間の通信を統合及び提供するための解決策を提供するものであり、ソフトウェア・システム開発のライフサイクルにおける幾つかの点で、即ち、1)装置及びソフトウェア・サービス・コンポーネント開発、2)アプリケーション開発、3)システム構成時間、及び4)システム実行時間に関して、Javaベースの自動車用コンピュータに影響を与える。
【0019】
本発明は、自動車用コンピュータ・プラットフォームで使用される方法及び装置を提供する。本発明の好適な実施例に従って、装置及びソフトウェア・サービスのための標準のJava APIが、自動車用コンピュータ・プラットフォーム上で使用可能である。これらの実現体は、JavaBeansの形式である。本発明は、JavaのためのJavaBeanコンポーネント・モデルを使用して、自動車用コンピュータ・プラットフォームのハードウェア及びソフトウェア・コンポーネントを表すための方法及び装置を提供する。
【0020】
自動車用コンピュータ・プラットフォームと相互作用する装置は、標準のAPIを使用する。APIは、自動車などの車両内に現れる全ての装置に適用される。更に、装置に問い合わせたり、装置を操作するための機構又は電子手段が存在する。後述の例では、これらの装置の標準APIは、Javaインタフェース定義に関して定義される。
【0021】
Javaにおける標準コンポーネント・モデルは、JavaBeanコンポーネント・モデルである。JavaBeanは、2つの部分を有する。第1の部分は、「パブリック・フェース」であり、自動車用装置又はソフトウェア・サービスを表す、標準のJavaインタフェースを実現するためのコミットメントである。これは、JavaBeanが互換性を有する、Java言語の或るタイプを定義する。第2の部分は、インタフェース実現コミットメントを履行する共同作業用Javaインスタンスのウェブである。このインスタンスのウェブは、Javaインタフェース定義のセマンティックスが正しく実現されるように、バス及び装置特有の実現の詳細を完成するように共同して作用する。
【0022】
車両外データ通信のためのネットワーク・スタック、又は自動車のスピーカを使用する音響出力サービスなどのソフトウェア・サービスも、JavaBeansとして表すことができる。
【0023】
JavaBeansは、幾つかの理由で、Javaアプリケーションに対して、自動車用装置及びソフトウェア・サービスを表すための優れたアプローチを提供する。第1に、コンポーネント・モデル・アプローチは、アプリケーションが自動車上に存在し得る様々な装置及びサービスに対処するための効率的な機構を提供する。更に、自動車の装置及びサービスの構成は、JavaBeansの直列化を通して、動的に又は静的に行われ得る。静的構成は、メモリ空間的に効率的であり、コスト効率がよい。
【0024】
更に、JavaBeanは、装置を代理するか又はサービスを伝達する、Javaインスタンスの共同作業用ウェブをユニットとして表すことができる。こうすると、装置インタフェースの実現体をオブジェクトの共同作業用セットから形成することが可能になり、それらのオブジェクトのあるものは他の装置の実現のために再利用される。例えば、アクセス機構を自動車用バスにカプセル化するゲートウェイ・オブジェクトは、バス上の各装置を代理するJavaBeanにサービスを提供できる。また、アプリケーションは、低レベルのコンポーネント構築ブロックから構成され得る。この構成は、実現に独立の態様で行われ、アプリケーションのより優れた移植性を提供する。
【0025】
JavaBeansによるコンポーネント化は、アプリケーション及びシステム構成をパッケージ化する際に、高度な柔軟性を提供する。
【0026】
後述の例では、様々なJavaBeanコンポーネントに対するアプリケーションのアクセスを提供するために、レジストリが使用される。更に、このレジストリは、認可レベルをキーとして、オブジェクトのセットによりレジストリ・エントリを索引付けする能力を強化され得る。特に、ルックアップ機構がレジストリをアクセスするために使用され、そこではルックアップ機構が要求元アプリケーションの認可証明書(authorization certificate)をパラメータとして含む。
【0027】
(例えば、公知の名前を用いて)レジストリのルックアップが行われるとき、その認可レベルは、認可レベルをキーとして索引付けされるエントリのセットと比較される。後述の例では、この認可は、X509証明書に基づいており、要求元エージェントをレジストリ内に記憶されるユーザ・プロファイルにマップするために使用される。ユーザ・プロファイルは、所有者、運転手、コンテント・プロバイダ、ISP、ディーラ、第3者機械工、メーカなどを含む。返されるオブジェクトは、所与の認可レベルとディレクトリ・エントリ内のコンポーネントの集合の1つとの合致に依存する。後述の例では、もし、コンポーネントの認可レベルとユーザの認可レベルとが合致しなければ、ユーザは、この特定のコンポーネントへのアクセスを許可されない。この場合、ユーザは、特定のコンポーネントが車両に存在しないと告げられる。
【0028】
図1には、本発明の好適な実施例に従った、自動車用コンピュータ・プラットフォーム(以下「プラットフォーム」と略記)が示されている。図示の自動車100は、プラットフォーム102を含み、これは中央処理ユニット(CPU)104及びメモリ106を含む。CPU104は、この例では、組み込み型プロセッサであるが、インテル社のペンティアム・プロセッサ(「ペンティアム」はイ ンテル社の商標)などの他のプロセッサを用いても実現され得る。メモリ106は、読出し専用メモリ(ROM)、ランダム・アクセス・メモリ(RAM)、不揮発性RAM又はフラッシュ・メモリの形態を有し得る。
【0029】
また、プラットフォーム102は、コンポーネント・レジストリ(以下「レジストリ」と略記)108を含む。オプションとして、大容量記憶装置110を設けてもよい。レジストリ108は、大容量記憶装置110上に記憶されるか、メモリ106及び大容量記憶装置110の両方に配置され得る。大容量記憶装置110は、ハード・ディスク・ドライブ又はCD−ROMドライブである。ソフトウェア・コンポーネント112は、プラットフォーム102と一緒に構成され、レジストリ108内に記憶される。ソフトウェア・アプリケーションもレジストリ108内に記憶され得る。
【0030】
エンジン室のセンサ、キャビン内のパワー・ドア・ロック、又は自動車100の燃料タンク内の現燃料レベル・センサなどの装置が、電子制御ユニット(ECU)114a〜114cとして組み込まれる。また、ECU114a〜114cは、自動車100内に導入されるステレオ・システム又は移動電話などの電子装置の形態を有し得る。
【0031】
これらのECUは、自動車100内の様々なアーキテクチャの1つ以上のデータ通信バス116を介して接続され得る。自動車業界は、コンピュータ業界で一般的なものとは異なるバス・アーキテクチャを使用する。自動車内で使用される自動車用バス・アーキテクチャの例には、コントローラ・エリア・ネットワーク(CAN)、J1850、インテリジェント・トランスポーテーション・システム・データ・バス(IDB)、マルチメディア・リンク(MML)、及びMOSTが含まれる。
【0032】
CANは、乗用車用に欧州で開発されたプロトコルであり、ISO11898の下で国際的に標準化されている。J1850は、様々な自動車メーカにより開発された自動車技術者協会(SAE)規格である。IDBは、SAEにより定義され、オープンで且つ非所有権的な標準アーキテクチャを作成するシリアル通信バスであり、複数の電子装置が任意の車両に容易に、費用に対し効率よく、更に安全に導入されることを可能にする。MMLは、Delco/Delphiにより開発されたバス・アーキテクチャである。エンジン室、シャーシ、及びキャビン内のECUをネットワーク接続するために、しばしば低速バス・アーキテクチャが使用される。高速バス・アーキテクチャは、例えばラジオとキャビン内スピーカの間など、自動車内の娯楽装置間でマルチメディア・データを伝送するときに使用される。各タイプのバスは、メッセージ・プロトコルの形式を定義し、そのメッセージ・プロトコルは、バスに接続される装置が通信し合うための機構を決定する。
【0033】
プラットフォーム102は、或る手段の電子接続を通して、1つ以上の自動車用バス、又は入出力(I/O)の個別のポイントに接続される。この接続は、ゲートウェイ118として知られる。ゲートウェイ118は、ハードウェア及びソフトウェアの組み合わせであり、プラットフォーム102上で実行されるコンポーネント及びアプリケーションが、ECU114a〜114cと通信し合うための機構を提供する。
【0034】
更に、プラットフォーム102は、コンピュータ業界においてより一般的に見いだされる他のバス・アーキテクチャをサポートし得る。シリアル接続又はユニバーサル・シリアル・バス(USB)120などの接続が、使用され得る。ゲートウェイ122は、バス116に対するゲートウェイ118に関連して説明したのと類似の機構を提供する。ラップトップ・コンピュータ124又はエンジン機能診断コンソール126などの接続装置が、このタイプのゲートウェイを使用してプラットフォーム102に接続され得る。更に、スマート・カード128がUSB120に接続され、車両の運転手又はユーザがログオンするために使用される。実施例に依存して、運転手又はユーザは、その車両を使用するためにログオンすることを要求され得る。かかる例では、特定の情報がスマート・カード12 8内に配置され得る。スマート・カード128は、証明書などの情報が配置される組み込み論理又はファームウェアを含む、回路ボード又は他の回路を備えた装置である。スマート・カード128は、一般に、クレジットカード・サイズの装置であるが、イグニション・キー内に組み込まれ、スマート・キーを形成してもよい。
【0035】
図1の例は、複数のバスによりコンポーネントに接続されるプラットフォーム102を示すが、他のタイプの接続も使用され得る。例えば、バス116の代わりに、プラットフォーム102と、ECU114a〜114cなどの様々なコンポーネントとの間の個別の接続が使用され得る。
【0036】
図2には、本発明の好適な実施例に従った、レジストリ108の部分が示されている。図面を通して、同一の参照番号は同一の要素を表す。レジストリ108は、コンポーネント202a〜202cを保持するコンポーネント・データベース200を含む。データベース200内で見いだされるコンポーネント202a〜202cは、例えば自動車100上で使用可能な装置のソフトウェア表現、ソフトウェア・サービス(車両外データ通信のためのデータ通信スタックなど)、又はアプリケーションなどである。
【0037】
レジストリ108は登録機構204を含み、これによりコンポーネントをデータベース200に挿入し、変更し、又はデータベース200から除去できる。また、レジストリ108は、アプリケーションがレジストリ108を突き止めるための発見機構206を含む。発見機構206は、多様な態様で実現され、例えば、プラットフォーム102に接続される1つ以上のバス・アーキテクチャ上の同報機構として実現され得る。代替的に、発見機構206は、プラットフォーム102のアーキテクチャ仕様で公開される公知のメモリ・アドレスにより、又はプラットフォーム102のデータ通信アドレス空間内の公知の名前により実現され得る。
【0038】
また、レジストリ108は、アプリケーションがコンポーネント・データベース200の内容を問い合わせ、1つ以上のコンポーネント202a〜202cの参照を獲得するためのルックアップ機構208を有する。ルックアップ機構208は、アプリケーションから、当該アプリケーションが必要とするコンポーネントの種類を指定する照会を受信する。この照会の実施例は、名前と値の対の任意の述語を含む。これは例示照会プログラムとして知られる。これはまた、コンポーネントがサポート又は実現しなければならない、必要とされるインタフェースに関して必要とされるコンポーネントを指定することによっても実現され得る。参照機構は、Javaプログラミング・モデルにより伝達される標準のオブジェクト参照モデルである。
【0039】
図3には、本発明の好適な実施例に従った、レジストリ108による、コンポーネントの作成及び登録を示すプロセスが示されている。このプロセスは、プログラマがECUソフトウェア・ドライバ300により伝達される機能の詳細を理解することから開始し、それらにはECUの外部APIの仕様、及びECUソフトウェア・ドライバ300により理解されるバス・メッセージ・プロトコルが含まれる。換言すると、プログラマは、このソフトウェア・ドライバ300が提供するAPIを理解する必要がある。
【0040】
また、プログラマは、その機能をアクセス可能にするための機構、及びプラットフォーム102をECUに接続する対応するゲートウェイ(図1のゲートウェイ118)により使用可能にされる設備の仕様を使用する。
【0041】
プログラマは、その装置に対して定義される任意の標準のJavaインタフェースの仕様を獲得する。Javaインタフェース302は、当該Javaインタフェース自身を定義するテキスト仕様又はソース・コードの形式で記述される。Java言語開発環境304は、例えば、或る装置又はソフトウェア・サービスに対応するJavaBeanを定義するために使用される。本発明の好適な実施例に従って、Java言語開発環境304は、IBM社から提供される「VisualAge for Java」を用いて実現される。ECUを表すJavaBeanの場合、そのECU API及びメッセージ・プログラミング・プロトコルの詳細が、このプロセスに入力される。一般に、JavaBeanは、例えば自動車用バス上にメッセージを送信するなど、低レベルのプログラミング構造体をアクセスするために、Javaネイティブ・インタフェース(JNI)を用いて構成される。かかる構造体は、通常、C言語などの低レベルの手続き的言語により実現される。JNIは、Javaネイティブ・メソッドを作成し且つJava仮想マシンをネイティブ・アプリケーションに組み込むための、標準のプログラミング・インタフェースである。このインタフェースの主な目標は、所与のプラットフォーム上の全てのJava仮想マシンに亘って、ネイティブ・メソッド・ライブラリのバイナリ互換性を提供することである。これらの詳細は、そのバスに通じるゲートウェイに完全に組み込まれ、この場合、JavaBeanは、如何なるネイティブ・コードも有する必要はない。もし、かかる規格が定義されなければ、JavaBeanは、その装置のための標準のインタフェースを実現しなければならない。これらのインタフェース規格は、開発環境304内に入力される。
【0042】
プログラマは、開発環境304を用いて、クラスのセットを作成し、これらのクラスが共同して作用し、JavaBeanを作成したり、プロパティ・シートを作成したり、オブジェクトをカストマイズ化し、システム・インテグレータがJavaBeanを特定のプラットフォームに適応化するための支援をする。
【0043】
開発環境304の出力は、JavaBeanコンポーネント306である。JavaBeanコンポーネント306は、一般に、1つ以上のJavaクラス・ファイルから構成され、しばしばJavaアーカイブ(JAR)ファイルの形式で伝達される。JavaBeanコンポーネント306は、図2の登録機構204を用いて、レジストリ108に入力される。登録機構204は、それ自身とコンポーネント・データベース310との間のインタフェース308を使用し、JavaBeanコンポーネント306をデータベース310に挿入する。この時、プラットフォーム102上の装置機能又はソフトウェア・サービスをアクセスするために、JavaBeanコンポーネント306がアプリケーションにとって使用可能になる。
【0044】
当業者には明らかなように、この登録プロセスは、いつでも発生し得る。一般に、プラットフォーム102の開発初期の段階中に、多くのコンポーネントがそのレジストリ108に登録される。しかしながら、これらのコンポーネントは、自動車が生産され、ディーラに出荷され、最終顧客に販売された後にも、レジストリ108に追加され得る。本発明によれば、コンポーネント登録が行われ得る時期を制限しないことにより、自動車への新たな装置をその売買後に追加することをサポートできる。
【0045】
図4には、自動車用ソフトウェア・アプリケーションが、本発明に従ったコンポーネント・モデルを用いて構築されるプロセスが示されている。このプロセスは、アプリケーションの意図された機能である、仕様400で開始する。仕様400は、通常、テキスト記述として組み込まれ、これは使用ケース、シナリオ、機能的要件、及び非機能的要件を含み得る。また、このプロセスには、レジストリ108の標準インタフェース402が入力される。本発明の好適な実施例に従って、標準インタフェース402は、Javaインタフェースであり、これは任意のプラットフォーム102上のレジストリ108への、標準のAPIを記述する。更に、Javaインタフェース404が、装置又はソフトウェア・サービスなどの自動車上のコンポーネントへの入力として使用される。本発明の好適な実施例に従って、Javaインタフェース404は、プラットフォーム102がインタフェースすべき全ての装置に対して、一様又は標準的であるのが好ましい。
【0046】
プログラマは、IBM社の「VisualAge for Java」などのJava言語開発環境406を使用する。プログラマは、アプリケーションにより必要とされる装置又はソフトウェア・サービス・コンポーネントへの標準インタフェースの他に、レジストリ108のインタフェースのための定義をインポートする。開発環境406の出力は、Javaアプリケーション又はJavaアプレットの形式を有す るアプリケーション408である。この出力の実施例は、Javaクラス・ファイル又はJavaアーカイブ(JAR)ファイルである。
【0047】
ビジュアル・プログラミングは、ソフトウェア開発において使用される重要な生産性ツールである。また、高度自動車用ソフトウェア開発環境は、自動車用アプリケーションの開発及びテストを加速するために、シミュレーション環境を統合できる。或る装置を表すJavaBeanは、シミュレーション環境に適した当該装置のグラフィック表現を含むように、装置メーカによりプログラムされ得る。アプリケーション開発者は、シミュレーション環境においてJavaBeanを使用することにより、自分のアプリケーションを開発及びテストできる。これらの一時的なグラフィック表現は、アプリケーションのパッケージ化オペレーションにより除去される。
【0048】
アプリケーション408は、多数の方法により、プラットフォーム102上にダウンロードされ得る。即ち、アプリケーション408は、プラットフォーム102自身と一緒に、その大容量記憶装置110内に記憶されるイメージとしてパッケージ化され得る。また、このパッケージ機構は、Javaアプリケーション・ファイルをROM内に存在し得るコードに変換するツールを使用することにより、アプリケーション408をメモリ106としてのROM内に配置し得る。代替的に、アプリケーション408は、前述の登録機構204を用いて、レジストリ108へのコンポーネントとして導入され得る。また、アプリケーション408は、ネットワークを介して動的に、しかしながら安全に、Javaアプレットとしてロードされ得る。
【0049】
当業者には明らかなように、アプリケーション408は、開発プロセス中の任意の時点で、プラットフォーム102に追加され得る。アプリケーション408は、プラットフォーム102の製造中にその一部として開発したり、その製造後にレジストリ108内のコンポーネントとして追加したり、又はデータ通信ネットワークを介するローディングのためのJavaの安全機構クラスを使用することにより、インターネットからダウンロードできる。
【0050】
図5には、本発明の好適な実施例に従った、プラットフォーム102上で実行中のアプリケーション500が、装置及びソフトウェア・サービス機能を表すコンポーネントをアクセスする機構が示されている。アプリケーション500は、前述の発見機構206を使用することにより、レジストリ108を発見できる。一旦アプリケーション500がレジストリ108の参照を有すると、アプリケーション500は、ルックアップ機構208を使用し、コンポーネント・データベース200に問い合わせて、必要とされる機能がレジストリ108に登録されたコンポーネントにより伝達されるか否かを決定できる。もし、かかるコンポーネントがレジストリ108内で使用可能であれば、ルックアップ機構208は、アプリケーション500にそのコンポーネントの参照を返す。この例では、かかるコンポーネントは、JavaBeanコンポーネント502である。一旦アプリケーション500がJavaBeanコンポーネント502の参照を有すると、アプリケーション500は、Javaメソッド呼び出しの通常の機構を使用し、JavaBeanコンポーネント502上のメソッドを呼び出すことにより、装置又はソフトウェア・サービス機能をアクセスできる。
【0051】
このように、各アプリケーションは、今日の自動車で見いだされる多彩な装置構成上で実行されるように構築され得る。
【0052】
図6には、本発明の好適な実施例に従った、セキュリティ機構により管理されるコンポーネント・ルックアップのために使用される、レジストリ108内のコンポーネントが示されている。アプリケーション600は、レジストリ108内のルックアップ機構208を使用し、データベース200から特定のプロパティ・セットを満足する(例えば、公知の名前に合致するか、又は所与のJavaインタフェースを実現する)或るコンポーネントを要求する。ルックアップ機構208は、アプリケーション600に認証トークン602を供給するように要求することにより、コンポーネントへのアクセスを制限する。説明中の例では、認証は、CCITT Xシリーズの証明書である、X509証明書を用いて達成され得る。CCITT Xシリーズは、公衆アクセス及び専用コンピュータ・ネットワークの両方で使用される機器及びプロトコルを標準化するために、以前のCCITTに当たる国際電気通信連合(ITU−T)及びISOにより採用された勧告である。証明書は、個人又は組織を識別するファイルである。証明書は、当該証明書の所有者の識別を証明するために使用される情報を暗号化し得る。説明中の例では、証明書は、それを保持するスマート・キー604から検索され得る。
【0053】
実施例に拘わらず、このトークンは、自動車の保有者から無数の方法で検索され得る。これらの方法には、顧客への引渡し前にディーラが車両を用意する間にイグニション・キー上にX509証明書を符号化すること、保有者にシステム・ログオンを実行するように要求すること(ユーザID/パスワードの組み合わせを認証として使用する)、及び保有者に関連付けられる音声パターンを記録し、プラットフォーム102により発行されるシステム・グリーティング/チャレンジに応答して、音声認識に基づき保有者を認識することなどが含まれる。
【0054】
レジストリ108内のデータベース604は、認証トークン(X509、音声認識、ユーザID/パスワード)の好適な実施例のインスタンスを、1つ以上のユーザ・プロファイルと突き合わせる。一意的なパスワード・プロファイルに加えて、標準のユーザ・プロファイルがプラットフォーム102に関連付けられ、それらにはゲスト、所有者、運転手、乗客、認可機械工、認可販売店機械工、認可工場技術者などが含まれる。また、プラットフォーム102上に導入されるシステム・サービス又は第3者アプリケーションにより定義され、それらに特有の他のユーザ・プロファイルも存在する。データベース604は、例えばX509公開キー連鎖などの多数の方法で実現され得る。
【0055】
ルックアップ機構208は、ルックアップ要求を、コンポーネント・データベース200内で見いだされる全ての適したコンポーネントと突き合わせる。
【0056】
説明中の例では、ルックアップ機構208は、ユーザ・プロファイルを保持するデータベース604を同時にアクセスし、アプリケーション600により提出されたルックアップ要求に関連付けられるユーザ・プロファイルを確立する。アプリケーション600により供給される認証トークン602に関連付けられるユーザ・プロファイルに基づき、ルックアップ機構208は、そのユーザ・プロファイルに関連付けられる特権に合致しないコンポーネントを除去することにより、提出された要求に合致するコンポーネントのセットを低減する。
【0057】
もし、照会要求及びユーザ・プロファイルに合致する任意のコンポーネントが存在すれば、コンポーネントの1つがアプリケーション600に返される。説明中の例では、もし、ユーザ・プロファイルの特権を満足し且つルックアップ基準に合致する2つ以上のコンポーネントが存在すれば、ルックアップ機構208は、最も多くの機能を保持するコンポーネントを返す。一方、これらの制限を満足するコンポーネントが全く存在しなければ、値ヌルがアプリケーション600に返され、如何なるコンポーネントも使用可能でないことを示す。合致が不在の場合、レジストリ108の応答は、幾つかの形式を取り得る。例えば、レジストリ108は、サービスが使用可能でないことを示す例外を発するか、又は装置を使用不能にすることがある(厳格なケースでは、これは、明白な攻撃に対する最善の応答である。なぜなら、ディーラ又は認可された管理者は、JavaBeanを再度「使用可能にする」ことを必要とするからである。)。代替的に、レジストリ108がJavaBeanをそのままに維持しつつ、(防御体制同様)それをアクセスするために要求されるセキュリティを増加するようにしてもよい。或いは、レジストリ108は、恰もデータベース200内に対応するエントリが存在しなかったかのように的確に応答し、そのためにアプリケーション600が、「装置が存在しない」ことと、「装置が存在するが、それを見る権限が無い」こととの違いを区別できないようにしてもよい。
【0058】
図7及び図8には、本発明の好適な実施例に従った、レジストリ108内に含まれるデータベース内のエントリを示すテーブルが示されている。図7のテーブル700は、データベース604内のユーザ・プロファイルに対するエントリを示すテーブルであり、図8のテーブル702は、データベース200内のコンポーネントに対するエントリを示す。テーブル702内の各エントリは、当該エントリに関連付けられるコンポーネントの参照(図示せず)を含む。この参照は、標準のJava参照である。テーブル700では、プロファイル名が認可レベルに関連付けられている。従って、ルックアップ機構208は、これを使用することにより、アプリケーション内の基準に合致する或るコンポーネントが、そのアプリケーションに返されるべきか否かを決定できる。説明中の例では、エントリ704は認可レベル6を有する運転手であり、エントリ706は認可レベル5を有する所有者であり、エントリ708は認可レベル4を有する第3者機械工であり、エントリ710は認可レベル3を有するディーラであり、エントリ712は認可レベル2を有するメーカであり、エントリ714は認可レベル1を有する設計者である。エントリ704内の運転手のプロファイルは、車両の各運転手ごとに一意的にすることができる。
【0059】
テーブル702では、コンポーネントが認可レベルに関連付けられている。従って、ルックアップ機構208は、テーブル700内のユーザ・プロファイル・エントリ内で定義されるユーザの認可レベルに基づき、コンポーネントをアプリケーション600に返すべきか否かを決定できる。説明中の例では、エントリ716は認可レベル6を有するステレオ・コンポーネントを含み、エントリ718は認可レベル6を有する燃料計器コンポーネントを含み、エントリ720は認可レベル4を有する燃料注入コンポーネントを含み、エントリ722は認可レベル6を有するパワー・シート・コンポーネントを含み、エントリ724は認可レベル4を有する標準エンジン診断コンポーネントを含み、エントリ726は認可レベル5を有するGPS(衛星航法システム)航行コンポーネントを含み、エントリ728は認可レベル1を有する所有権的エンジン診断コンポーネントを含む。この例では、もし、或るユーザの認可レベルが或るコンポーネントに関連付けられる認可レベル以下であれば、そのコンポーネントとそのユーザとの間の合致が発生する。
【0060】
実現され得る別の機構は、コンポーネント・タイプ及び要求との正確な合致を必要とするものであろう。即ち、そのタイプを実現する各コンポーネントが調査され、当該コンポーネントが有するアクセス権のリストを、要求を発するユーザの認可レベルと比較する、ということである。かかるケースでは、或るコンポーネント・タイプに対して多数のコンポーネントが存在し、各コンポーネントが異なる量の機能を提供し得る。例えば、図9には、本発明の好適な実施例に従った、或るオブジェクト又はコンポーネント・タイプに対する複数のオブジェクトを保持するテーブル730が示されている。図7及び図8のテーブル700及び702同様、このテーブル730はレジストリ108内に配置され得る。この例では、エントリ732〜742は全て、エンジン診断として識別されるコンポーネント・タイプに対するエントリである。各エントリは、このコンポーネント・タイプに加え、認可レベル、及びコンポーネントを表すオブジェクトの識別を保持する。説明中の例では、エンジン診断を要求したアプリケーションは、認可レベルに基づく結果を受信するであろう。もし、認可レベルが4以下であれば、このアプリケーションは、エントリ736〜742内で識別されるオブジェクトの1つを返されるであろう。エントリ736〜742内のこれらのオブジェクトは、同一のコンポーネントの異なるバージョンであり、異なる量の機能又は異なる数の機能へのアクセスを提供できる。代替的に、これらが完全に異なる機能を提供するようにしてもよい。
【0061】
もし、アプリケーション600の認可レベルが5又は6であれば、ヌル・パラメータがエントリ732及び734内で見いだされる。かかる例では、アプリケーション600は、要求に合致するソフトウェア・コンポーネントが存在しない、或いはそのコンポーネントへのアクセスが許可されないことを示す結果を返されるであろう。もし、認可レベルが2であれば、エンジン診断コンポーネントとして識別されるタイプを有するコンポーネントに対する要求に応答して、エントリ740内のオブジェクト3がアプリケーション600に返されるであろう。説明中の例では、アプリケーション600が認可レベルに基づき、2つ以上のコンポーネントをアクセスすることが許可される場合、最善のコンポーネント又は最も高いレベルの機能を有するコンポーネントが、アプリケーション600に返されるであろう。例えば、もし、アプリケーション600が2つのコンポーネントをアクセスすることを許可され、一方のコンポーネントが使用可能なより多くの機能又はメソッドを有していれば、そのコンポーネントがアプリケーション600に返されるであろう。
【0062】
ルックアップ機構208に拘わらず、装置又はサービス「JavaBean」により伝達される機能が、要求に関連付けられる認可レベルに依存して、制限されたサービス・レベルを有することがあるという要件が存在する。例えば、エンジン診断では、この情報を提供するサービスが、3つの認可レベル(即ち、所有者、車庫機械工、及びメーカ技術者)を有することがある。所有者の認可レベルに関連付けられるエンジン診断「JavaBean」は、全くアクセスを許可しない。車庫機械工に関連付けられるエンジン診断「JavaBean」は、全てのエンジン診断API定義を実現され得るが、それ以外のものはない。最後に、メーカ技術者の認可レベルに関連付けられる「JavaBean」は、標準のエンジン診断API全体に加え、専用の所有権的エンジン・データをアクセスする追加のメソッドを有するであろう。
【0063】
図10には、本発明の好適な実施例に従った、JavaBeanコンポーネントを作成するプロセスの流れ図が示されている。図示の例は、装置に対するJavaBeanコンポーネントの作成に関連するが、このプロセスはソフトウェア・サービスに対するJavaBeanコンポーネントの作成にも適用され得る。
【0064】
図10のプロセスは、JavaBeanコンポーネントが作成される装置を識別することにより開始する(ステップ800)。次に、その装置に対するJavaインタフェースが識別される(ステップ802)。ステップ802では、その装置が通信するインタフェースが識別される。殆どの場合、その装置が標準のJavaインタフェースを使用することが好ましい。もし、その装置により他のインタフェースが使用されるならば、JNIを介して当該JavaBeanコンポーネントと共に使用されるインタフェースを作成することが可能である。
【0065】
次に、そのJavaBeanコンポーネントが表すべきその装置の機能に基づいて、メソッドがそのJavaBeanコンポーネントに対して選択される(ステップ804)。JavaBeanコンポーネント内のメソッドは普通のJavaメソッドであり、他のコンポーネント又はスクリプト記述環境から呼び出すことができる。次に、そのJavaBeanコンポーネントに対して、プロパティがセットされる(ステップ806)。プロパティは、或るビーン(bean)に関連付けられる名前付き属性であり、当該ビーン上の適切なメソッドを呼び出すことにより読み書きされ得る。次に、そのJavaBeanコンポーネントに対してイベントが選択される(ステップ808)。イベントは、或るコンポーネントにとって、何か興味深いことが発生したことを他のコンポーネントに通知する一方法を提供する。これらのコンポーネントは、他のビーンであり得る。その後、そのJavaBeanコンポーネントが作成され(ステップ810)、その後プロセスは終了する。
【0066】
図11には、本発明の好適な実施例に従った、JavaBeanコンポーネント及び関連ユーザ・プロファイルのセットを登録するために使用されるプロセスの流れ図が示されている。例えば、自動車のエンジン診断を表すJavaBeanについて考えてみよう。エンジン診断「JavaBean」は、Javaで定義される標準のエンジン診断サービス・インタフェースに基づく。説明の便宜上、このインタフェースが12個のメソッドを定義するとしよう。
【0067】
エンジン診断サブシステムのメーカは、選択されたインタフェースを実現する1つ以上のJavaBeanコンポーネントを定義し得る(ステップ900)。ステップ900で開発される各JavaBeanコンポーネントは、標準のエンジン診断インタフェースを実現し、異なる機構を使用する。各JavaBeanコンポーネントは、或るユーザ・プロファイルに関連付けられる(ステップ902)。JavaBeanのプロパティを用いて、ユーザ・プロファイルの集合と、装置又はソフトウェア・サービス「JavaBean」との間の関連付けが行われる。
【0068】
例えば、そのメーカは、そのユーザ・プロファイルの「ゲスト」に関連して、1つのJavaBean実現体を作成し、更にそのユーザ・プロファイルの「所有者」に対して1つ、そのユーザ・プロファイルの「車庫機械工」に対して1つ、及びそのユーザ・プロファイルの「工場技術者」に対して1つのJavaBean実現体をそれぞれ作成するように決定する。「ゲスト」ユーザ・プロファイルに関連付けられる実現体は、例外「 UnsupportedOperationException 」を発するための、インタフェースの12個の全てのメソッドを実現する。「所有者」ユーザ・プロファイルに関連付けられるJavaBeanは、単純な読出し専用アルゴリズムを使用する6個のメソッドを実現し、他の6個のメソッドに対して「 UnsupportedOperationException 」を発する。「車庫機械工」バージョンは、2個のメソッドを除く全てを適切に実現され、最後の2個のメソッドは、詳細な所有権的エンジン診断データに関連付けられ、「 UnsupportedOperationException 」を発する。最後に、インタフェースの最も完全な実現体は、「工場技術者」に関連付けられ、12個のメソッドの完全で詳細な実現体を有する。
【0069】
JavaBeanのセットは、前述の登録機構204を用いてレジストリ108に登録される(ステップ904)。登録機構204は、各JavaBeanコンポーネントを、コンポーネント・データベース200に登録する(ステップ906)。セット内の各JavaBeanに対して、登録機構204は、そのJavaBeanのユーザ・プロファイルのプロパティを問い合わせ、もし、そのJavaBeanにより定義された新たなユーザ・プロファイルが存在すれば、ユーザ・プロファイルのデータベース604を更新する(ステップ908)。ステップ906及び908は、説明中の例では同時に実行される。
【0070】
図12には、本発明の好適な実施例に従った、前述のルックアップ機構208内で使用されるプロセスの流れ図が示されている。アプリケーションがルックアップ機構208を使用し、必要とされたインタフェースを実現するJavaBeanコンポーネントの参照を確立する。アプリケーションが車両内の装置又はサービスをアクセスすることを望むとき、そのアプリケーションは、その装置又はサービスに対するレジストリ108内のルックアップ機構208に要求を送信する。もし、その装置又はサービスに合致するコンポーネントがレジストリ108内に存在し、しかもそのアプリケーションがそのコンポーネントへのアクセスを許可されていれば、前記要求に応答して、そのコンポーネントの参照がそのアプリケーションに返されるであろう。
【0071】
このプロセスは、特定のインタフェースを実現するJavaBeanコンポーネントにより表される装置又はサービスに対する要求を受信することにより開始する(ステップ1000)。この要求は、特定の機能又はサービスに対するものである。説明中の例では、認証トークンがその要求の一部として受信される。次に、データがその認証トークンから抽出され、要求されたJavaBeanコンポーネントのためにユーザの認証を実行する(ステップ1002)。認証トークンから抽出されたこのデータは、ユーザ・プロファイル名を含む。認証トークンから抽出された情報を用いて、ユーザ・プロファイルを保持するデータベース604が照会される(ステップ1004)。結果がデータベース604から受信される(ステップ1006)。この結果は、図7に示されるような認可レベルを保持する。コンポーネントを保持するデータベース200も照会される(ステップ1008)。ステップ1004及び1008は、説明中の例では同時に実行される。結果がこの照会から受信される(ステップ1010)。この例では、結果は、要求された機能又はサービスに合致する1つ以上のコンポーネントである。
【0072】
ステップ1004及び1008からの結果を受信した後、JavaBeanコンポーネントをアプリケーションに返すべきか否かが決定される(ステップ1012)。この決定は、説明中の例では、ユーザ・プロファイルの認可レベルをJavaBeanコンポーネントに対して必要とされる認可レベルと比較することにより行われる。図7及び図8に示される認可レベルに基づき、合致が発生するのは、そのユーザの認可レベルがそのJavaBeanコンポーネントに関連付けられる認可レベル以下である場合である。もし、そのJavaBeanコンポーネントがアプリケーションに返されるのであれば、そのJavaBeanコンポーネントのJava参照がそのアプリケーションに送信され(ステップ1014)、このプロセスはその後終了する。もし、ステップ1010で、2つ以上のコンポーネントが返されたのであれば、最も多くのフィーチャを有する機能又は装置が返されるか、最も最近の改訂データを有する装置又は機能が返され得る。一方、JavaBeanコンポーネントがそのアプリケーションに返されないのであれば、ヌル値が返され(ステップ1016)、このプロセスはその後終了する。この値は、要求された装置又はサービスに対応するJavaBeanコンポーネントが、レジストリ108内に不在であることをそのアプリケーションに示すために使用される。
【0073】
図13には、本発明の好適な実施例に従った、車両のユーザ又は運転手がログオンするために使用するプロセスの流れ図が示されている。このプロセスは、車両のイグニションへのスマート・キーの挿入を検出することにより開始する(ステップ1100)。前述のように、スマート・キーは、証明書を記憶する回路を含む。認証情報がスマート・キーから受信される(ステップ1102)。次に、証明書から認証トークンが作成され(ステップ1104)、その後このプロセスは終了する。代替的に、ユーザは、ユーザ名及びパスワードを介して、又はこれらの入力が認証トークンを作成するために使用される音声認識システムを通してログオンしてもよい。
【0074】
従って、本発明は、装置機能及びソフトウェア・サービスをJavaベースのアプリケーションに効率的に受け渡す機構を提供する。本発明は、使用可能な可変の装置群及びソフトウェア・サービスを有し得る車両上のプラットフォーム内でJavaコンポーネントを使用する。このプラットフォームは、アプリケーションがこれらの装置を見いだし且つアクセスすることを可能にする。
【0075】
結果として、本発明は、自動車上の装置の機能及びソフトウェア・サービスが、プラットフォームのモジュール式コンポーネントとして設計され得る技術を提供する。本発明が提供する技術によれば、プラットフォームのアプリケーションは、ソフトウェア・コンポーネント・モデルを通して当該プラットフォーム上で使用可能な機能を発見し且つこれを利用するように設計され、構築され得る。本発明は、装置コンポーネントが標準API定義を使用する機構を通してこれらの利点を提供する。即ち、アプリケーションは、プラットフォームの特定の装置又はソフトウェア・サービスに特有の、低レベルの実現の詳細に基づくのではなしに、これらの標準インタフェースに基づき、装置及びソフトウェア・サービスをアクセスするように構築される。
【0076】
本発明は、完全機能型のデータ処理システムに関連して説明されてきたが、当業者であれば、本発明のプロセスが、命令のコンピュータ読取り可能媒体の形式及び様々な形態で分散され得ること、本発明がこの分散を実施するために実際に使用される特定タイプの信号担持媒体に拘わらず、同様に適用可能であることが理解できよう。コンピュータ読取り可能媒体の例には、フロッピー・ディスク、ハード・ディスク・ドライブ、RAM及びCD−ROMなどの記録型媒体、及びデジタル及びアナログ通信リンクなどの伝送型媒体が含まれる。
【0077】
本発明の説明は、例示のために提供されたものであり、本発明がここで開示された形態に限定されることを意図するものではない。当業者であれば、多くの変更及び変形が明らかであろう。例えば、図示の例は自動車に関連付けられたが、本発明のプロセス、装置及び命令は、他のタイプの車両にも適用され得る。例えば、本発明は、飛行機やヘリコプタなどの航空機において使用され得る。更に、本発明の装置、プロセス及び命令は、Java以外の他のプログラミング・システムにも適用され得る。例えば、本発明は、Smalltalkなどの、他のバイトコード・ベースのシステムにも適用され得る。ここで開示された実施例は、本発明の原理及び実際のアプリケーションを最も良く説明するために、また当業者が本発明を理解し、特定の使用に適した様々な変更を有する様々な実施例に対応するために選択されたものである。
以下に、本発明の内容を開示する。
(1) アプリケーション・プログラムを実行する自動車用コンピュータ・システムであって、
複数の電子制御ユニットと、
前記複数の電子制御ユニットに少なくとも1つのバスによって接続されたコンピュータ・プラットフォームと
を含み、
前記コンピュータ・プラットフォームは、
複数のJavaBeanと、
前記複数のJavaBeanをアクセスするルックアップ機構と、
前記複数のJavaBeanを保持するデータベースと、
前記ルックアップ機構と、前記データベースと発見機構とを含むレジストリと
を含み、
ここで前記複数の電子制御ユニットの各々は、当該複数の電子制御ユニットの各々用の異なるソフトウェア・ドライバを利用して、前記コンピュータ・プラットフォームと通信し、及び前記アプリケーション・プログラムは、前記複数の電子制御ユニットのいずれとも又は各電子制御ユニット用の前記ソフトウェア・ドライバのいずれとも直接的にインタフェースせず、
前記複数のJavaBeanの各々は、前記複数の電子制御ユニットのうちの1つの電子制御ユニットに関連付けられ且つ当該1つの電子制御ユニットの機能をそれぞれ表すものであり、当該1つの電子制御ユニットの前記機能へのアクセスは、当該1つの電子制御ユニットに関連付けられる当該JavaBeanを介して提供され、前記複数のJavaBeanの各々は、前記アプリケーション・プログラムと当該JavaBeanに関連付けられる1つの前記電子制御ユニット用のソフトウェア・ドライバとの間のソフトウェア・インタフェースであり、及び前記複数のJavaBeanの各々は、当該1つの電子制御ユニットとは直接的にインタフェースしないものであり、
前記コンピュータ・プラットフォームは、前記複数の電子制御ユニットのうちの1つの電子制御ユニットの前記機能をアクセスするための要求を受信すると、前記発見機構を使用して、前記レジストリを発見し及び参照し、次いで前記ルックアップ機構を使用して、該レジストリ内のデータベースに格納された、前記1つの電子制御ユニットに関連付けられる1つのJavaBeanを受け取って前記1つの電子制御ユニットに返す、前記自動車用コンピュータ・システム。
(2) 前記複数の電子制御ユニットの1つが燃料計器センサである、請求項1に記載の自動車用コンピュータ・システム。
【図面の簡単な説明】
【図1】本発明が実施され得る自動車上の典型的なコンピュータ環境を示すブロック図である。
【図2】自動車用コンピュータ・プラットフォーム上で見いだされるプログラム・コンポーネントのレポジトリを表すブロック図である。
【図3】JavaBeanコンポーネントが構築され、レポジトリに登録されるプロセスを示す図である。
【図4】ソフトウェア・アプリケーションがJavaBeansを用いて構築されるプロセスを示す図である。
【図5】ソフトウェア・アプリケーションが自動車用コンピュータ・プラットフォーム上のレジストリを発見し、このレジストリに必要とされたJavaBean機能を問い合わせ、装置機能又はソフトウェア・サービスを表すJavaBeanの参照を獲得するプロセスを示す図である。
【図6】本発明の好適な実施例に従った、セキュリティ機構により管理されるコンポーネント・ルックアップのために使用される、レジストリ内のコンポーネントを示す図である。
【図7】本発明の好適な実施例に従った、レジストリに含まれるデータベース内のエントリのテーブルを示す図である。
【図8】本発明の好適な実施例に従った、レジストリに含まれるデータベース内のエントリのテーブルを示す図である。
【図9】本発明の好適な実施例に従った、オブジェクト又はコンポーネント・タイプに対する複数のオブジェクトを含むテーブルを示す図である。
【図10】本発明の好適な実施例に従った、JavaBeanコンポーネントを作成するプロセスの流れ図である。
【図11】本発明の好適な実施例に従った、JavaBeanコンポーネント及び関連ユーザ・プロファイルのセットを登録するために使用されるプロセスの流れ図である。
【図12】本発明の好適な実施例に従った、レジストリ内のルックアップ機構内で使用されるプロセスの流れ図である。
【図13】本発明の好適な実施例に従った、車両のユーザ又は運転手がログオンするために使用されるプロセスの流れ図である。
【符号の説明】
100 自動車
102 コンピュータ・プラットフォーム
108 コンポーネント・レジストリ
112 ソフトウェア・コンポーネント
114a、114b、114c 電子制御ユニット(ECU)
126 エンジン機能診断コンソール
200 コンポーネント・データベース
202a、202b、202c コンポーネント
204 登録機構
206 発見機構
208 ルックアップ機構
Claims (2)
- アプリケーション・プログラムを実行する自動車用コンピュータ・システムであって、
複数の電子制御ユニットと、
前記複数の電子制御ユニットに少なくとも1つのバスによって接続されたコンピュータ・プラットフォームと
を含み、
前記コンピュータ・プラットフォームは、
複数のJavaBeanと、
前記複数のJavaBeanをアクセスするルックアップ機構と、
前記複数のJavaBeanを保持するデータベースと、
前記ルックアップ機構と、前記データベースと発見機構とを含むレジストリと
を含み、
ここで前記複数の電子制御ユニットの各々は、当該複数の電子制御ユニットの各々用の異なるソフトウェア・ドライバを利用して、前記コンピュータ・プラットフォームと通信し、及び前記アプリケーション・プログラムは、前記複数の電子制御ユニットのいずれとも又は各電子制御ユニット用の前記ソフトウェア・ドライバのいずれとも直接的にインタフェースせず、
前記複数のJavaBeanの各々は、前記複数の電子制御ユニットのうちの1つの電子制御ユニットに関連付けられ且つ当該1つの電子制御ユニットの機能をそれぞれ表すものであり、当該1つの電子制御ユニットの前記機能へのアクセスは、当該1つの電子制御ユニットに関連付けられる当該JavaBeanを介して提供され、前記複数のJavaBeanの各々は、前記アプリケーション・プログラムと当該JavaBeanに関連付けられる1つの前記電子制御ユニット用のソフトウェア・ドライバとの間のソフトウェア・インタフェースであり、及び前記複数のJavaBeanの各々は、当該1つの電子制御ユニットとは直接的にインタフェースしないものであり、
前記コンピュータ・プラットフォームは、前記複数の電子制御ユニットのうちの1つの電子制御ユニットの前記機能をアクセスするための要求を受信すると、前記発見機構を使用して、前記レジストリを発見し及び参照し、次いで前記ルックアップ機構を使用して、該レジストリ内のデータベースに格納された、前記1つの電子制御ユニットに関連付けられる1つのJavaBeanを受け取って前記1つの電子制御ユニットに返す、前記自動車用コンピュータ・システム。 - 前記複数の電子制御ユニットの1つが燃料計器センサである、請求項1に記載の自動車用コンピュータ・システム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/221,890 US6236909B1 (en) | 1998-12-28 | 1998-12-28 | Method for representing automotive device functionality and software services to applications using JavaBeans |
US09/221890 | 1998-12-28 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2000194565A JP2000194565A (ja) | 2000-07-14 |
JP3851042B2 true JP3851042B2 (ja) | 2006-11-29 |
Family
ID=22829843
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP36597999A Expired - Fee Related JP3851042B2 (ja) | 1998-12-28 | 1999-12-24 | 自動車用コンピュータ・システム |
Country Status (2)
Country | Link |
---|---|
US (1) | US6236909B1 (ja) |
JP (1) | JP3851042B2 (ja) |
Families Citing this family (67)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0825506B1 (en) | 1996-08-20 | 2013-03-06 | Invensys Systems, Inc. | Methods and apparatus for remote process control |
US6385763B1 (en) * | 1998-12-29 | 2002-05-07 | At&T Corp. | Methodology for mapping use cases to operations for operational profile development |
WO2000070417A1 (en) * | 1999-05-17 | 2000-11-23 | The Foxboro Company | Process control configuration system with parameterized objects |
US7089530B1 (en) | 1999-05-17 | 2006-08-08 | Invensys Systems, Inc. | Process control configuration system with connection validation and configuration |
US6788980B1 (en) | 1999-06-11 | 2004-09-07 | Invensys Systems, Inc. | Methods and apparatus for control using control devices that provide a virtual machine environment and that communicate via an IP network |
US6637021B1 (en) * | 1999-06-30 | 2003-10-21 | Sun Microsystems, Inc. | JavaBean activation framework-common desktop environment bridge |
GB2351588B (en) * | 1999-07-01 | 2003-09-03 | Ibm | Security for network-connected vehicles and other network-connected processing environments |
FI112427B (fi) * | 1999-11-05 | 2003-11-28 | Nokia Corp | Menetelmä langattoman päätelaitteen ominaisuuksien määrittämiseksi multimediasanoman välityspalvelussa, multimediasanoman välityspalvelu ja multimediapäätelaite |
US6895380B2 (en) * | 2000-03-02 | 2005-05-17 | Electro Standards Laboratories | Voice actuation with contextual learning for intelligent machine control |
US6971015B1 (en) * | 2000-03-29 | 2005-11-29 | Microsoft Corporation | Methods and arrangements for limiting access to computer controlled functions and devices |
FI112307B (fi) | 2000-08-02 | 2003-11-14 | Nokia Corp | Viestintäpalvelu |
US6449541B1 (en) * | 2000-10-17 | 2002-09-10 | Microsoft Corporation | Application-to-component communications helper in a vehicle computer system |
US20020112244A1 (en) * | 2000-12-19 | 2002-08-15 | Shih-Ping Liou | Collaborative video delivery over heterogeneous networks |
US20020138178A1 (en) * | 2001-03-21 | 2002-09-26 | Carsten Bergmann | Dynamic human-machine interface device and method |
DE10117410B4 (de) * | 2001-04-06 | 2004-11-18 | Daimlerchrysler Ag | Verfahren und Vorrichtung zur Ausgabe von Daten über eine Information eines Kraftfahrzeugs |
US7356840B1 (en) * | 2001-06-19 | 2008-04-08 | Microstrategy Incorporated | Method and system for implementing security filters for reporting systems |
CN100395715C (zh) * | 2001-11-30 | 2008-06-18 | 富士通天株式会社 | 微型计算机的逻辑开发装置 |
US7296262B2 (en) * | 2002-01-07 | 2007-11-13 | International Business Machines Corporation | Data processing system, method, and computer program product for generating a generic compilation interface from object-oriented code |
JP2003228640A (ja) * | 2002-02-01 | 2003-08-15 | J Tech Players:Kk | バーチャル・ゴルフトーナメント運営システム及びその運営方法 |
US20030167345A1 (en) * | 2002-02-25 | 2003-09-04 | Knight Alexander N. | Communications bridge between a vehicle information network and a remote system |
US7778750B2 (en) | 2002-02-25 | 2010-08-17 | Cummins Inc. | Vehicle communications network adapter |
US7313547B2 (en) * | 2002-03-22 | 2007-12-25 | Sun Microsystems, Inc. | Manager level device/service arbitrator and methods |
US7171345B2 (en) * | 2002-03-22 | 2007-01-30 | Sun Microsystems, Inc. | System and method for simulating an input to a telematics system |
JP2003280902A (ja) * | 2002-03-25 | 2003-10-03 | Fujitsu Ten Ltd | マイコンロジック開発システム及びそのプログラム |
US7131005B2 (en) * | 2002-06-28 | 2006-10-31 | Motorola, Inc. | Method and system for component authentication of a vehicle |
US20040003232A1 (en) * | 2002-06-28 | 2004-01-01 | Levenson Samuel M. | Method and system for vehicle component authentication of another vehicle component |
US7549046B2 (en) * | 2002-06-28 | 2009-06-16 | Temic Automotive Of North America, Inc. | Method and system for vehicle authorization of a service technician |
US7137001B2 (en) * | 2002-06-28 | 2006-11-14 | Motorola, Inc. | Authentication of vehicle components |
US7600114B2 (en) * | 2002-06-28 | 2009-10-06 | Temic Automotive Of North America, Inc. | Method and system for vehicle authentication of another vehicle |
US20040003234A1 (en) * | 2002-06-28 | 2004-01-01 | Jurgen Reinold | Method and system for vehicle authentication of a subassembly |
US7228420B2 (en) | 2002-06-28 | 2007-06-05 | Temic Automotive Of North America, Inc. | Method and system for technician authentication of a vehicle |
US20040003230A1 (en) * | 2002-06-28 | 2004-01-01 | Puhl Larry C. | Method and system for vehicle authentication of a service technician |
US20040001593A1 (en) * | 2002-06-28 | 2004-01-01 | Jurgen Reinold | Method and system for component obtainment of vehicle authentication |
US7127611B2 (en) * | 2002-06-28 | 2006-10-24 | Motorola, Inc. | Method and system for vehicle authentication of a component class |
US7325135B2 (en) * | 2002-06-28 | 2008-01-29 | Temic Automotive Of North America, Inc. | Method and system for authorizing reconfiguration of a vehicle |
US7181615B2 (en) * | 2002-06-28 | 2007-02-20 | Motorola, Inc. | Method and system for vehicle authentication of a remote access device |
US6775598B2 (en) * | 2002-08-08 | 2004-08-10 | Volkswagen Ag | Method and device for producing a display and control environment of a human/machine interface |
US20040044448A1 (en) * | 2002-08-27 | 2004-03-04 | Ford Motor Company | Vehicle systems controller with modular architecture |
JP2004192278A (ja) * | 2002-12-10 | 2004-07-08 | Sumitomo Electric Ind Ltd | 通信システム及び車載ゲートウェイ装置 |
DE602004030534D1 (de) * | 2003-01-28 | 2011-01-27 | Cellport Systems Inc | Ein System und ein Verfahren zum Steuern des Zugriffs von Anwendungen auf geschützte Mittel innerhalb eines sicheren Fahrzeugtelematiksystems |
EP1606708B1 (en) * | 2003-03-03 | 2007-05-09 | Snap-on Technologies Inc. | Method for providing a software module to an automotive vehicle control unit, and computer program for executing the method |
US7275027B2 (en) * | 2003-03-04 | 2007-09-25 | Microsoft Corporation | Facilitating communication with automotive vehicle buses |
US7516244B2 (en) * | 2003-07-02 | 2009-04-07 | Caterpillar Inc. | Systems and methods for providing server operations in a work machine |
US7983820B2 (en) | 2003-07-02 | 2011-07-19 | Caterpillar Inc. | Systems and methods for providing proxy control functions in a work machine |
US7562346B2 (en) * | 2003-09-02 | 2009-07-14 | Microsoft Corporation | Software componentization for building a software product |
US7584029B2 (en) * | 2003-12-31 | 2009-09-01 | Teradyne, Inc. | Telematics-based vehicle data acquisition architecture |
JP4635452B2 (ja) * | 2004-02-23 | 2011-02-23 | 日本電気株式会社 | 携帯端末の不具合調査システム,方法,携帯端末およびプログラム |
SE526829C2 (sv) * | 2004-03-30 | 2005-11-08 | Scania Cv Ab | Arrangemang, motorfordon, sätt och datorprogram för att ge tillträde till elektroniska styrenheter |
EP1730612B1 (de) * | 2004-04-01 | 2009-12-02 | Bayerische Motorenwerke Aktiengesellschaft | Verfahren zur feststellung von inkompatibilitäten in einem bussystem mit mehreren steurgeräten |
US7487361B2 (en) * | 2004-06-30 | 2009-02-03 | International Business Machines Corporation | Dynamic cache lookup based on dynamic data |
WO2006022228A1 (ja) * | 2004-08-24 | 2006-03-02 | Sharp Kabushiki Kaisha | シミュレーション装置、シミュレーションプログラム、シミュレーション方法 |
WO2006107243A1 (en) * | 2005-04-04 | 2006-10-12 | Volvo Lastvagnar Ab | Arrangement and method for programming motor vehicles |
JP2007253792A (ja) * | 2006-03-23 | 2007-10-04 | Denso Corp | 車両用電子制御装置のソフトウェアシステムおよびその設計方法 |
DE102006020562A1 (de) * | 2006-05-03 | 2007-11-08 | Siemens Ag | Anordnung und Verfahren zur Reprogrammierung von Steuergeräten |
US7873610B2 (en) * | 2006-05-26 | 2011-01-18 | Andrew S Poulsen | Meta-configuration of profiles |
US8161454B2 (en) | 2007-01-22 | 2012-04-17 | Ford Motor Company | Software architecture for developing in-vehicle software applications |
US20100205307A1 (en) * | 2007-07-31 | 2010-08-12 | Hiroyuki Sarugai | Communication control system |
EP2181879B1 (en) * | 2007-09-11 | 2013-10-23 | Sharp Kabushiki Kaisha | Instrument panel image forming device, instrument panel image forming method, vehicle, instrument panel image display device, instrument panel image display method, instrument panel image forming program, and a computer readable recording medium on which instrument panel image forming program is recorded |
US9299247B2 (en) | 2008-01-14 | 2016-03-29 | Caterpillar Inc. | System and method for adjusting machine parameters |
WO2009155483A1 (en) | 2008-06-20 | 2009-12-23 | Invensys Systems, Inc. | Systems and methods for immersive interaction with actual and/or simulated facilities for process, environmental and industrial control |
US8463964B2 (en) | 2009-05-29 | 2013-06-11 | Invensys Systems, Inc. | Methods and apparatus for control configuration with enhanced change-tracking |
US8127060B2 (en) | 2009-05-29 | 2012-02-28 | Invensys Systems, Inc | Methods and apparatus for control configuration with control objects that are fieldbus protocol-aware |
US8090824B2 (en) * | 2009-12-23 | 2012-01-03 | Honeywell International, Inc. | Gateway data proxy for embedded health management systems |
US20150081495A1 (en) * | 2013-09-19 | 2015-03-19 | Barclays Bank Plc | System and Method for Account Succession |
JP6652477B2 (ja) * | 2016-10-03 | 2020-02-26 | 日立オートモティブシステムズ株式会社 | 車載処理装置 |
WO2019224912A1 (ja) * | 2018-05-22 | 2019-11-28 | 三菱電機株式会社 | 車両通信装置、車両アクセス制御システム、管理装置、車両アクセス制御方法、および車両アクセス制御プログラム |
CN110430079B (zh) | 2019-08-05 | 2021-03-16 | 腾讯科技(深圳)有限公司 | 车路协同系统 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5416706A (en) * | 1984-04-27 | 1995-05-16 | Hagenbuch; Leroy G. | Apparatus for identifying containers from which refuse is collected and compiling a historical record of the containers |
DE69332476T2 (de) * | 1992-08-20 | 2003-05-08 | Toyota Jidosha K.K., Toyota | Kraftstoffeinspritzungsregler für Brennkraftmaschine. |
US6022315A (en) * | 1993-12-29 | 2000-02-08 | First Opinion Corporation | Computerized medical diagnostic and treatment advice system including network access |
US6021307A (en) * | 1994-04-07 | 2000-02-01 | Chan; Hark C. | Information distribution and processing system |
US6028537A (en) * | 1996-06-14 | 2000-02-22 | Prince Corporation | Vehicle communication and remote control system |
US5828840A (en) * | 1996-08-06 | 1998-10-27 | Verifone, Inc. | Server for starting client application on client if client is network terminal and initiating client application on server if client is non network terminal |
US6061721A (en) * | 1997-10-06 | 2000-05-09 | Sun Microsystems, Inc. | Bean-based management system |
US6038542A (en) * | 1998-04-28 | 2000-03-14 | Micron Electronics, Inc. | System for notifying an individual of a previously scheduled event |
US6085198A (en) * | 1998-06-05 | 2000-07-04 | Sun Microsystems, Inc. | Integrated three-tier application framework with automated class and table generation |
US6083276A (en) * | 1998-06-11 | 2000-07-04 | Corel, Inc. | Creating and configuring component-based applications using a text-based descriptive attribute grammar |
-
1998
- 1998-12-28 US US09/221,890 patent/US6236909B1/en not_active Expired - Lifetime
-
1999
- 1999-12-24 JP JP36597999A patent/JP3851042B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2000194565A (ja) | 2000-07-14 |
US6236909B1 (en) | 2001-05-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3851042B2 (ja) | 自動車用コンピュータ・システム | |
US6574734B1 (en) | Method and apparatus for securing access to automotive devices and software services | |
US20060036356A1 (en) | System and method of vehicle policy control | |
US7146307B2 (en) | System and method for testing telematics software | |
JP5789873B2 (ja) | 車両に関する情報を処理する方法、システム、モバイルデバイスおよびプログラム | |
EP1582961B1 (en) | Controlling data access to electronic control units in vehicles | |
US20090205037A1 (en) | Mobile terminal, resource access control system for mobile terminal, and resource access control method in mobile terminal | |
JP2019519853A (ja) | セキュアロックダウンを実装するように構成された関連装置を有する特別にプログラムされたコンピューティングシステムおよびその使用方法 | |
US9262617B2 (en) | Method for providing software to be used by a control unit of a vehicle | |
KR20090056071A (ko) | 상호재사용성과 구성이 용이한 오토사 서비스시스템 | |
CN113810446A (zh) | 一种车载网络的ecu的安全升级管理方法 | |
US20240069906A1 (en) | Server, software update system, distribution method, and non-transitory storage medium | |
CN111527389A (zh) | 一种车辆诊断方法及一种车辆诊断设备和存储介质 | |
US20220391192A1 (en) | Ota master, center, system, method, non-transitory storage medium, and vehicle | |
US20220308857A1 (en) | Control device and terminal device | |
CN113810462A (zh) | 一种跨域服务的调用方法及相关装置、系统和车辆 | |
US7748043B2 (en) | Method for authenticating, in particular, software components that can be loaded into a control unit of a motor vehicle | |
US8095926B2 (en) | Method for the installation of a program component | |
CN115208867B (zh) | 中心、分发控制方法以及非暂时性存储介质 | |
US11620125B2 (en) | Software update device, software update method, non-transitory storage medium, and vehicle | |
KR102275142B1 (ko) | 차량용 제어기의 업데이트 시스템 및 방법 | |
US20220253234A1 (en) | Electronic control unit, method, and program | |
CN114175706A (zh) | 使对于机动车辆计算机的诊断请求安全化的系统及方法 | |
JP6802279B2 (ja) | 自動車の表示装置への表示すべきメッセージの伝送 | |
CN112585038A (zh) | 用于激活功能的控制装置、具有控制装置的机动车和用于运行控制装置的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20051222 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20051228 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20060323 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20060731 Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060731 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20060828 |
|
RD14 | Notification of resignation of power of sub attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7434 Effective date: 20060828 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060831 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090908 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100908 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100908 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110908 Year of fee payment: 5 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110908 Year of fee payment: 5 |
|
R360 | Written notification for declining of transfer of rights |
Free format text: JAPANESE INTERMEDIATE CODE: R360 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110908 Year of fee payment: 5 |
|
R370 | Written measure of declining of transfer procedure |
Free format text: JAPANESE INTERMEDIATE CODE: R370 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110908 Year of fee payment: 5 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110908 Year of fee payment: 5 |
|
R360 | Written notification for declining of transfer of rights |
Free format text: JAPANESE INTERMEDIATE CODE: R360 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110908 Year of fee payment: 5 |
|
R371 | Transfer withdrawn |
Free format text: JAPANESE INTERMEDIATE CODE: R371 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110908 Year of fee payment: 5 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110908 Year of fee payment: 5 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120908 Year of fee payment: 6 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120908 Year of fee payment: 6 |
|
S202 | Request for registration of non-exclusive licence |
Free format text: JAPANESE INTERMEDIATE CODE: R315201 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120908 Year of fee payment: 6 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130908 Year of fee payment: 7 |
|
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 |