JP4589113B2 - ミドルウェア・アプリケーション・メッセージ/イベント・モデル - Google Patents

ミドルウェア・アプリケーション・メッセージ/イベント・モデル Download PDF

Info

Publication number
JP4589113B2
JP4589113B2 JP2004537143A JP2004537143A JP4589113B2 JP 4589113 B2 JP4589113 B2 JP 4589113B2 JP 2004537143 A JP2004537143 A JP 2004537143A JP 2004537143 A JP2004537143 A JP 2004537143A JP 4589113 B2 JP4589113 B2 JP 4589113B2
Authority
JP
Japan
Prior art keywords
message
application
module
mode
platform
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2004537143A
Other languages
English (en)
Other versions
JP2006500649A (ja
Inventor
ヨナス ハンッソン,
ビェルン ビャッレ,
チ, ス レ,
ラルス イスベルイ,
Original Assignee
テレフオンアクチーボラゲット エル エム エリクソン(パブル)
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
Priority claimed from US10/665,834 external-priority patent/US7584471B2/en
Priority claimed from US10/664,618 external-priority patent/US7350211B2/en
Application filed by テレフオンアクチーボラゲット エル エム エリクソン(パブル) filed Critical テレフオンアクチーボラゲット エル エム エリクソン(パブル)
Publication of JP2006500649A publication Critical patent/JP2006500649A/ja
Application granted granted Critical
Publication of JP4589113B2 publication Critical patent/JP4589113B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • H04M1/72406User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality by software upgrading or downloading
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates

Landscapes

  • Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)
  • Telephonic Communication Services (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Information Transfer Between Computers (AREA)
  • Telephone Function (AREA)
  • Debugging And Monitoring (AREA)

Description

本発明は一般に無線遠隔通信の分野に関し、より詳細には、例えば無線遠隔通信システムの移動端末中のアプリケーション・ソフトウェアとプラットフォームのソフトウェア・サービス・コンポーネントとの間など、第1と第2のソフトウェア・コンポーネント間でメッセージを送受信するためのシステムおよび方法に関する。
1980年代にセルラー遠隔通信システムが初めて導入されて以来、システム中で利用される移動端末(移動局)は、ますます複雑になってきている。当初、移動端末は主に音声電話サービスの提供、すなわち音声通信の送受信のために設計されていた。後年になって、音声電話通話のユーザ・データとは関係のないユーザ・データを転送する能力をも備える移動端末が開発された。このようなユーザ・データには、例えば、パーソナル・コンピュータ(PC)によって開始されたダイヤルアップ・ネットワーキング接続を介して転送されるデータが含まれる。
将来の移動遠隔通信システムに向けて、現在、いわゆる「第3世代」(3G)システムが開発されている。3Gシステムは、高速インターネット・アクセスを従来の音声通信と組み合わせ、音声通信に加えてインターネット閲覧、ストリーミング・オーディオ/ビデオ、測位、ビデオ会議、およびその他多くの機能へのアクセスをユーザに提供することになる。
世界中で開発されている複数の3Gシステム間での互換性を保証するために、第3世代パートナーシップ・プロジェクト(3GPP)が設立された。音声、データ、マルチメディアを世界中どこでも送達することのできる地上および衛星システムを含む3Gシステムを提供するために、3GPPによってユニバーサル・モバイル・テレコミュニケーション・システム(UMTS)が開発されている。
3GPP標準化によってセルラー遠隔通信システムに備わりつつある機能の激増は、システム中で使用されることになる移動端末の開発者に対してかなりの要求を課してきた。この要求は、移動端末がサイズ、メモリ、電力に限りのある「リソース不十分な」環境であるということによって悪化する。
従来、移動端末の製造業者は、市場のニーズに対する彼らの認識に基づいて、基本的な端末操作に必要なすべてのハードウェアおよびソフトウェア、ならびに製造業者または特定ユーザによって望まれる特徴および機能を提供するのに必要なハードウェアおよびソフトウェアを備えた、ほぼ完全な移動端末システムを設計し、製作し、市場に出してきた。このような手法は、市場の需要の変化に素早く適応するための柔軟性、または複数の出資者の多様な要件を満たすための柔軟性をもたらさない。
移動端末の設計および製作における従来手順の欠点を認識して、複数のユーザに対して1つのユニットとして市場に出すことのできる機能的に補完する複数のソフトウェア・ユニットおよびハードウェア・ユニットを備えた、移動端末プラットフォーム・アセンブリが開発された。この場合、各ユーザは、ユーザ自身のアプリケーション・ソフトウェアをアセンブリにインストールし、ロードし、実行して、ユーザ自身の特定のニーズを満たす個別仕様の移動端末用プラットフォーム・システムを提供することができる。この移動端末プラットフォーム・アセンブリおよびプラットフォーム・システムは、本願の譲受人に譲渡される米国特許出願第10/359911号および10/359835号に詳細に記載されており、この開示内容は参照により本明細書に組み込れ、本願の内容をなすものである。
前述のようなプラットフォーム・システムでは、移動端末プラットフォーム・アセンブリ・ソフトウェアとアプリケーション・ソフトウェアとが別々に開発され、その後、アプリケーション・ソフトウェアが移動端末プラットフォーム・アセンブリ中でインストールされロードされ実行されることによって結合されるが、このようなプラットフォーム・システムでは、サービス要求から発生した結果メッセージ(イベント情報の送達を含む場合もある)が、プラットフォーム・アセンブリ中のソフトウェアからプラットフォーム・アセンブリ中のインターフェースを介してアプリケーションに送られる必要がある。このようなメッセージは、スタック/プロシージャベースの手法(すなわちコールバック・モード)と直列ベースの手法(すなわち完全メッセージ・モード)のどちらかを使用して送ることができる。
コールバック・モードは、アプリケーションがアプリケーション特有の機能に的を絞り、基本的および複雑な機構関係の処理はプラットフォームまたはフレームワークに任せることができるようにする、単純で十分に立証された技法である。ソフトウェア開発者は、メッセージを結果のハンドラ(関数/プロシージャ/メソッド)に直接にルーティングすることが可能である。例えば、開発者/ユーザは、例えばウィンドウ・マネージャがユーザ対話イベント情報またはメッセージ情報を保持するメッセージを明確に定義されたハンドラに渡した場合に、ユーザ・インターフェース・アプリケーションを開始することができる。ユーザ・コードの呼出しは、完全にウィンドウ・マネージャによって決定される。開発者は付加価値機能へのアクセスまたは付加価値機能の利用が可能だが、ユーザからはメッセージ・ループおよびメッセージ開放は見えない。したがって、開発者は、様々なメッセージをプログラムの専用部分にルーティングする必要はなく、また開発者は、システムのグレードを下げることはできない。このため、コールバック・モードでは、アプリケーション・コードは、あるメッセージをいつどの順序で処理するかについて制御を持たない。状況によっては、アプリケーションは、メッセージの処理順序または特定のメッセージを処理する時を制御する必要がある場合もある(すなわち優先処理)。
したがって、完全メッセージ・モードとして示す別の技法を、コールバック・モードの代替として利用することができる。完全メッセージ・モードは、例えばアプリケーション・スレッドにおいて、メッセージをキューに入れる。次いで、キューに入れられたメッセージは、アプリケーションによる処理を待機する。キューに入れられたメッセージは、FIFO技法などで順番に処理することもでき、あるいは並列または優先順に処理することもできる。この場合、アプリケーション・コードは、メッセージ・ループの完全な制御を有する。
PalmOSやBrewの環境に組み込まれているものなど現在の解決法では、ユーザは、コールバック・モードと完全メッセージ・モードのどちらかを使用することができるが、ユーザまたはアプリケーション・ソフトウェアは、着呼メッセージを受け取る際のモードを自由に選択することができない。コールバック・モードまたは完全メッセージ・モードがアプリケーションに対してあらかじめ決まっている。
米国特許出願第10/359911号 米国特許出願第10/359835号 米国特許出願第10/359772号
したがって、コールバック・モードと完全メッセージ・モードのどちらかでメッセージを受け取る選択をユーザ(アプリケーション・ソフトウェア)に提供するメッセージ・モデルが必要とされている。ユーザは、どちらのメッセージ・モードが問題に最も適合するかを、個々の場合ごとに選択することができる。
本発明の一実施形態では、製品のプラットフォーム領域とアプリケーション領域の間でメッセージを伝送するためのシステムは、ソフトウェア・コンポーネントとインターフェース・コンポーネントとを有するプラットフォーム領域を備える。インターフェース・コンポーネントは、ソフトウェア・コンポーネントへのアクセスをアプリケーション領域中のアプリケーションまたはモジュールに提供するための少なくとも1つのインターフェースと、このインターフェースを介してプラットフォーム領域とアプリケーション領域の間でメッセージを伝送するためのメッセージ伝送機構とを有する。メッセージ伝送機構は、アプリケーション領域中のアプリケーションまたは別のモジュールがプラットフォーム領域からメッセージを受け取るためにコールバック・モードと完全メッセージ・モードの間で選択または切替えができるようにするためのメッセージ・モデルを備える。メッセージ伝送モデルは、選択されたモードに従ってメッセージングをルーティングするためのメッセージ・ハンドラも備える。
本発明の別の実施形態では、プラットフォーム領域がソフトウェア・コンポーネントとインターフェース・コンポーネントとを有し、インターフェース・コンポーネントは、ソフトウェア・コンポーネントへのアクセスをアプリケーション領域中のアプリケーションまたはモジュールに提供するための少なくとも1つのインターフェースを有する。アプリケーション領域とプラットフォーム領域の間でメッセージを伝送する方法は、アプリケーション領域中のアプリケーションまたは別のモジュールがコールバック・モードと完全メッセージ・モードとのどちらかを選択するか、あるいはコールバック・モードと完全メッセージ・モードの間で切り替えることを含む。これらのモードは、プラットフォーム領域からメッセージを受け取るためのモードである。メッセージ・ハンドラが、選択されたモードに従ってメッセージングをルーティングする。
第1と第2のソフトウェア・コンポーネント間でメッセージを伝送するためのメッセージ伝送機構は、第1と第2のソフトウェア・コンポーネントのうちの一方がコールバック・モードと完全メッセージ・モードのどちらかを選択することができるように、またはコールバック・モードと完全メッセージ・モードの間で切り替えることができるようにする、メッセージ・モデルを備える。これらのモードは、第1と第2のソフトウェア・コンポーネント間でメッセージを受け取るためのモードである。この機構は、選択されたモードに従ってメッセージングをルーティングするためのメッセージ・ハンドラも備える。
本発明のこれ以上の利点および具体的詳細は、図面と共に以下に提供する詳細な記述から、下記において明らかになるであろう。
図1は、本発明の原理の説明を助けるための、無線遠隔通信システムの移動端末用のプラットフォーム・システムを概略的に示すブロック図である。このプラットフォーム・システムは参照番号10で一般に示されており、移動端末プラットフォーム・アセンブリ12と、移動端末プラットフォーム・アセンブリ中でインストールされロードされ実行された1つまたは複数のアプリケーション(すなわちアプリケーション・ソフトウェア)14とを備える。プラットフォーム・システム10は、破線16で一般に示す移動端末に組み込まれるように適合されている。
移動端末プラットフォーム・アセンブリ12は、ソフトウェア・サービス・コンポーネント22、ハードウェア・コンポーネント24、インターフェース・コンポーネント26を備える。ソフトウェア・サービス・コンポーネント22は、インターフェース・コンポーネント26を介してユーザに提供されるサービスを提供するための、適切に構造化された複数の機能ソフトウェア・ユニットを含む。ユーザには、プラットフォーム・ユーザ(例えば電話機の製造業者)およびエンド・ユーザ(例えば電話機のユーザ)が含まれる。図1に示す例示的なシステムでは、複数のソフトウェア・ユニットには、垂直に配向された複数の機能ソフトウェア・スタック30〜38が含まれる。
ハードウェア・コンポーネント24はハードウェア・ユニットのセットを含み、これらのハードウェア・ユニットは、それぞれの機能ソフトウェア・スタックに関連し、それぞれの機能ソフトウェア・スタックによって制御される。図1に示す例示的なシステムでは、ハードウェア・ユニットは、ソフトウェア・スタック30〜38に関連する種々のハードウェア・ブロック40〜48である。
インターフェース・コンポーネント26は、移動端末プラットフォーム・アセンブリ12中で1つまたは複数のアプリケーションをインストールしロードし実行するための少なくとも1つのアプリケーション・プログラミング・インターフェース(API)を備えるミドルウェア・サービス・レイヤを含み、このミドルウェア・サービス・レイヤは、移動端末プラットフォーム・アセンブリ12を使用するアプリケーションから移動端末プラットフォーム・アセンブリ12を隔離し、また、その他の様々なサービスをアプリケーション14に提供する。ミドルウェア・サービス・レイヤの具体的な詳細については後述する。
移動端末プラットフォーム・アセンブリ12は、後でプラットフォーム・システム10の機能を拡張するために、アプリケーション・ソフトウェア14とは別個の完全な閉鎖型ユニットとして設計、実装(組立)、テストされるよう適合されている(本明細書で使用する用語「アプリケーション・ソフトウェア」は、ユーザが利用可能にしたいと思う機能を提供する任意のソフトウェアとすることができる)。したがって、移動端末の製造業者、および開発能力を有するその他の関係者は、独自のアプリケーション・ソフトウェアを開発するかまたは他の方法で獲得することができ、このソフトウェアを後で移動端末プラットフォーム・アセンブリ12に追加して、プラットフォーム・システム10を個別仕様にすることができる。したがって、移動端末プラットフォーム・アセンブリ12を複数の異なるユーザに販売するかまたは他の方法で譲渡することができ、各ユーザは、プラットフォーム・システムに対するユーザ自身の特定の要件を満たすために、ユーザ自身のアプリケーション・ソフトウェアをアセンブリ中でインストールしロードし実行することによって、プラットフォーム・システム10を個別仕様にすることができる。
図2は、本発明の原理の理解をさらに助けるための、図1の移動端末プラットフォーム・システム12の展開図の一例を概略的に示すブロック図である。図2に示すように、移動端末プラットフォーム・アセンブリ12は、メインCPU50中で実行されるソフトウェアを介して制御される。メインCPU50は、マイクロプロセッサ、マイクロ・プログラマブル・プロセッサ、DSP(デジタル信号プロセッサ)など、1つまたは複数のプロセッサを含むことができる。ソフトウェア・サービス・コンポーネント22のソフトウェア・スタック30〜38はそれぞれ、各スタックに関連するハードウェア・ユニットを操作するためのハードウェア・ドライバ・ソフトウェア60〜68を備える。移動端末プラットフォーム・アセンブリ12およびプラットフォーム・システム10に関するこれ以上の詳細は、前述の本願の譲受人に譲渡される米国特許出願第10/359835号に提供されている。
移動端末プラットフォーム・アセンブリ12に組み込まれるソフトウェアは、より容易に設計でき、より容易にアップグレードできるかまたは他の方法で修正できるように、ソフトウェア組織を理解しやすくするようにして構成されることが好ましい。図3は、本発明の原理の説明をさらに助けるための、移動端末プラットフォーム・アセンブリ12のソフトウェア・アーキテクチャを概略的に示すブロック図である。
図3に示すように、ソフトウェア・サービス・コンポーネント22は、前述のように複数の垂直な機能ソフトウェア・スタックに構成されるのに加えて、複数の水平レイヤを定義するようにも構成され、それにより、ミドルウェア・サービス・レイヤのソフトウェアとソフトウェア・サービス・コンポーネント22のソフトウェアは共に、参照番号70で一般に示される階層型アーキテクチャを定義する。この階層型アーキテクチャ中では、レイヤは、より高レベルのサービス・レイヤからより低レベルのサービス・レイヤへと降順で構成される。
このソフトウェア・アーキテクチャは、垂直区分化された複数のソフトウェア・レイヤを補完する水平区分化された複数の機能ソフトウェア・ユニットを含むという点で、標準ISO/OSI(ISOオープン・システムズ・インターコネクション)モデルとは異なる。水平区分化は、独立したモジュール式(サービス)コンポーネントを生み出すのに大きく寄与する。
階層型アーキテクチャの最上レイヤは、ミドルウェア・サービス・レイヤである。ソフトウェア・サービス・コンポーネント22のレイヤは、アプリケーション・サービスを提供するためのアプリケーション・サーバ・レイヤ80と、アプリケーションにプラットフォーム特有サービスを提供するためのプラットフォーム・サービス・レイヤ82と、セッション・プロトコルおよびアプリケーション特有プロトコルを提供するためのプラットフォーム・プロトコル・レイヤ84と、オーディオ・アクセス/制御やデータコム・トランスポート・プロトコルやメッセージング・トランスポート・プロトコルなどを提供するためのトランスポート・レイヤ86と、外部データIFアクセスや構造化記憶サービスやその他の低レベルのプラットフォーム・サポート・サービスを提供するためのデータ・アクセス・レイヤ88と、ハードウェア依存性をカプセル化する論理ドライバ・レイヤ90および物理ドライバ・レイヤ92とを含む。さらに、ソフトウェア・サービス・コンポーネント22は、プラットフォーム・アセンブリによって必要とされる一般的なサービスを提供する基本システム・サービス・レイヤ94も含む。
下の2つのレイヤ90および92は、ソフトウェアとハードウェアとの間の依存性を隔離するハードウェア抽象化レイヤ(HAL)を構成する。物理ドライバ・レイヤだけが、ハードウェアの詳細(すなわち、ASICハードウェア中のどのレジスタがアドレス指定されるか)に関係がある。論理ドライバ・レイヤ90は、ハードウェアへの論理マッピングを提供する。すなわち、このレイヤは、移動端末プラットフォーム・アセンブリ12のハードウェア部分とソフトウェア部分の間のブリッジを提供する。
ソフトウェア自体は複数のソフトウェア・モジュールに構成され、図3では、モジュール102、104、106が具体的に示されている。ソフトウェア・サービス・コンポーネント22中で、単一のモジュールは、1つの垂直機能スタック中だけで、そのスタック内の1つの水平レイヤだけに存在することができる。各レイヤは、1つのモジュールから多くのモジュールまでを含むことができ、特定スタック中の特定レイヤにあるすべてのモジュールは、同じ抽象化レベルを有する。様々なモジュール間の通信は、ソフトウェア・モジュール間アクセスに関する基本規則のセットに従うソフトウェア・バックプレーン(SwBP)112を介して達成される。これらの規則は、以下のように要約することができる。
− ソフトウェア・モジュールは、それ自体のレイヤよりも下にあるすべてのレイヤ・インターフェース中の機能を呼び出すことができる。
− 直列化されたデータ・フローの方向に制限はない。これらはどの方向に行くこともできる。
− ソフトウェア・モジュールは、それ自体のレイヤよりも上にあるレイヤ・インターフェース中(SwBP112中)の機能を、そのレイヤの属するモジュールから独立して呼び出すことはできない。
− ソフトウェア・モジュールは、同じ垂直スタック中のそれ自体のレイヤにあるレイヤ・インターフェース中の機能を呼び出すことができる。
− ソフトウェア・モジュールは、別の垂直スタック中の同じレイヤにあるソフトウェア・モジュール中の機能を呼び出すことができる(この機能は、垂直スタック中のレイヤの数を制限するために許可される)。
SwBP112中の様々なモジュールおよびインターフェースの間には、ハード結合はない。この結果、インターフェースに対するクライアントにどんな影響も及ぼさずに、モジュールおよび/またはインターフェース実装を自由に変更することができる。これは、プラットフォーム・アセンブリ中の他のモジュールに影響を及ぼさずに個々のモジュールを追加、削除、または変更することを可能にするので、重要な機能である。
移動端末プラットフォーム・アセンブリ内のモジュール間の内部通信を可能にするSwBPソフトウェア構造を含めた階層型アーキテクチャに関するこれ以上の詳細は、前述の本願の譲受人に譲渡される米国特許出願第10/359911号に記載されている。
ミドルウェア・サービス・レイヤは、移動端末プラットフォーム・アセンブリ12中のソフトウェアと、プラットフォーム・アセンブリ中でインストールされロードされ実行されることになるアプリケーション・ソフトウェア14との間に、明確に定義されたインターフェースを提供するように機能する。さらに、ミドルウェア・サービス・レイヤは、移動端末プラットフォーム・アセンブリ12をカプセル化し、ミドルウェア・サービス・レイヤを介してアセンブリをアプリケーション14から隔離し、その他の様々なサービスをアプリケーション14に提供する。
図4は、ミドルウェア・サービス・レイヤの詳細を概略的に示すブロック図である。図4に示すように、ミドルウェア・サービス・レイヤは、非ネイティブ環境、例えばJava(登録商標)実行(Java(登録商標) Exe)環境API領域202、オープン・アプリケーション・フレームワーク(OAF)API領域204、オープン・プラットフォームAPI(OPA)領域206、UIツールキットAPI領域208を含めた、複数のAPI領域を備える。
ミドルウェア・サービス・レイヤ中のAPIを介して、移動端末プラットフォーム・アセンブリ12は複数のアプリケーション環境をサポートする。図4では、ミドルウェア・サービス・レイヤは、ネイティブ・アプリケーション(すなわち特定のプロセッサおよびその命令セットと共に実行されるようにコンパイルされたアプリケーション)と、非ネイティブ・アプリケーション(例えばJava(登録商標) J2ME CLDC/MIDP(Java(登録商標)2 Micro Edition Connected Limited Device Configuration/Mobile Information Device Profile)アプリケーションなど)のための環境をサポートする。各アプリケーション環境は、独自の特徴を有し、以下のように定義される。
− アプリケーションの開発方法(プログラミング言語サポート、コンパイル、リンケージ)
− アプリケーションの実行方法(例えば解釈やネイティブ・コード実行)
− 提供される機能サービス
− 使用時に課される可能性のある制限
複数の代替アプリケーション環境を提供することにより、コスト、使い易さ、市場に出す時期、機能セット、サイズ、可搬性などについて異なる要求を有する幅広い製品が促進される。
ミドルウェア・サービス・レイヤに関するこれ以上の詳細は、本願の譲受人に譲渡される米国特許出願第10/359772号に記載されており、この開示内容は参照により本明細書に組み込れ、本願の内容をなすものである。
図5は、本発明の原理による、オープン・プラットフォーム(OPA)領域206の主要なソフトウェア・モジュールを概略的に示すブロック図である。図示のように、OPA領域206は5つのモジュールを含む。すなわち、ネイティブ環境管理(NEM)モジュール230、ネイティブ・アプリケーション・コア(NAC)モジュール232、OPAインターフェースおよびハンドラ・モジュール234、ミドルウェア・サポート・サービス・モジュール236、ネイティブ拡張プラグイン・モジュール238である。ネイティブ環境管理モジュール230は、プラットフォーム・システム10中のネイティブ・アプリケーションを制御することを担い、アプリケーション・マネージャからのネイティブ・アプリケーションに関する制御コマンドの受領側であり、システム中で現在実行されているネイティブ・アプリケーションを常に把握している。ミドルウェア・サポート・サービス・モジュール236は、例えばオブジェクト管理やリソース監視など、様々なハンドラに共通のサービス、または集中化させる必要のあるサービスをOPA領域に提供する。
ネイティブ拡張プラグイン・モジュール238は、OPAインターフェースおよびハンドラ・モジュール234を介した、プラットフォーム・アセンブリ機能のオプション拡張と見なすことができる。NEプラグイン・モジュール238は、OPAインターフェースおよびハンドラ・モジュール234を統治するのと同じ、およびOPAインターフェースおよびハンドラ・モジュール234に適用されるのと同じガイドライン、パラダイム、機構に従う。OPAネイティブ拡張プラグイン・モジュール238は、OPAインターフェースおよびハンドラ・モジュール234を介してプラットフォーム機能にアクセスする。
ネイティブ・アプリケーション・コア・モジュール232は、通常ならアプリケーション自体が対処しなければならないスレッディングおよびメッセージ処理の複雑性を管理および処理する。また、メッセージ・ルーティング/フィルタリングおよびメッセージ関連リソース処理を含めたランタイム複雑性からアプリケーションを解放するために、OSの実装詳細を隠蔽することによってOSの独立性を達成する目的にも役立つ。ネイティブ・アプリケーション・コア・モジュール232の主要な任務の1つは、アプリケーション14の起動およびシャットダウンの段階の詳細と、メッセージ処理における詳細を隠蔽することである。
図6に、本発明の原理による、アプリケーション14がコールバック・モードと完全メッセージ・モードのどちらかを利用してプラットフォーム・アセンブリ12のソフトウェア・サービス・コンポーネント22からミドルウェア・サービス・レイヤを介してメッセージを受け取ることに関係するコンポーネントおよびシグナリングを示す。メッセージ・モデル250は、アプリケーション14がその現在の動作および状況にとって何が最も有益であるかに応じてコールバック・モード252と完全メッセージ・モード254の間で選択できるようにする。アプリケーション14が所望のモードに入ると、メッセージ・モデル250は、選択されたモードすなわちコールバック・モードまたは完全メッセージ・モード254に関連するシグナリング規約を開始する。NACモジュール232は、選択されたモードがわかっており、必要なシグナリング規約に従ってメッセージを処理する。
アプリケーション14がコールバック・モード252に入ることを選択した場合は、NACモジュール232は、メッセージをOPAインターフェースおよびハンドラ・モジュール234中の適切なハンドラに向け、次いでこのハンドラは、メッセージをコールバック・モードに従ってフォーマットする。コールバック・モード252では、ソフトウェア開発者は、一般関数や専用関数など、関数/プロシージャ/メソッド中で直接に結果を受け取ることが可能である。コールバック・モード252に入るのは、アプリケーション14がコールバックの実行後に実行制御をミドルウェア・サービス・レイヤに返すときである。アプリケーション14が制御をミドルウェア・サービス・レイヤに返した後は、他のコールバック関数をトリガすることが可能である。ただし、コールバック関数の実行中は、アプリケーション14は他のメッセージを完全メッセージ・モード254を使用して処理することができる。
アプリケーション14が完全メッセージ・モード254に入ることを選択した場合は、NACモジュール232は、メッセージを完全メッセージ・モード254に従って適切なアプリケーション・メッセージ・キューに向ける。ソフトウェア開発者はこの場合、メッセージ・ループの完全な制御を有する。完全メッセージ・モード254はデフォルト・モードであり、アプリケーション14がそれ自体のスレッドを制御しているときにアクティブである。この場合、アプリケーション14は、いつでもミドルウェア・サービス・レイヤへの明示的な要求によってメッセージ・キューをポーリングすることを選択することができる。完全メッセージ・モード254でメッセージを受け取るために、いくつかのオプションが利用可能である。例えば、ユーザまたはソフトウェア開発者は、任意選択でタイムアウト付きで、メッセージが利用可能になるまで呼出しスレッドがブロックされるよう要求することを選択することもでき、あるいは、スレッドをブロックせず、メッセージがあるかどうかチェックすることを選択することもできる。また、フィルタ・パラメータを使用することもでき、それにより、重要度の低いメッセージは後で処理されるようフィルタアウトして、何らかの順番でメッセージに応答するのを可能にすることができる。完全メッセージ・モード254では、アプリケーション・コードがメッセージの解放を担う。したがって、状況によっては、アプリケーション14は、受け取ったメッセージを解放して再び割り振る必要なしに別のアプリケーション14に転送することを選択することができ、これにより性能が向上する。
完全メッセージ・モード254からコールバック・モード252に切り替えるとき、ソフトウェア開発者は、ミドルウェア・サービス・レイヤのソフトウェアが適切なコールバック関数を呼び出すことができるようにする。さらに、アプリケーション14は、コールバック・モード252と完全メッセージ・モード254の間でいつでも、リアルタイムでも変更することができる。したがって、アプリケーション14は、個々の問題に最も適合するメッセージ受領モードをいつでも選択することができる。コールバック・モード252と完全メッセージ・モード254は、アプリケーション・ソフトウェア領域のソフトウェア・エンティティのどんな組合せにおいても共存することができる。
図7は、本発明の原理による、完全メッセージ・モードまたはコールバック・モードの呼出しを示す流れ図である。ステップ300で、アプリケーション14は、システムが起動されてから初めてその主要スレッドに対する制御を得る。ステップ302で示すように、アプリケーション14は、ミドルウェア・サービス・レイヤからのメッセージを待機すると決定するまで、この制御を維持する。次いでアプリケーション14は、メッセージをコールバック・モードで待機するか完全メッセージ・モードで待機するかの決定304を行う。決定がコールバック・モードであった場合は、アプリケーション14はリターン文を実行し、これにより、316で示すようにアプリケーション・スレッドの制御はNACモジュール232に移る。次いでNACモジュール232は、318で示すように、メッセージが存在するかどうかこのスレッドのメッセージ・キューをポーリングする。NACモジュール232は、メッセージが見つかるまでキューをポーリングし続け、メッセージが見つかると、320で示すようにキューからメッセージを取得し、314で示すようにメッセージをコールバック・フォーマットに変換し、前にアプリケーション14によって指定されたコールバック・メソッドを呼び出してメッセージを処理する。これによりループは終了し、アプリケーション14は、304で示すように、コールバック・モードに入るか完全メッセージ・モードに入るかの決定を再び行うことができる。
完全メッセージ・モードが選択された場合は、アプリケーション14は、306で示すように、ブロッキング・モードに入るか非ブロッキング・モードに入るかを決定しなければならない。アプリケーション14は、ミドルウェア・サービス・レイヤ中のOPAインターフェースおよびハンドラ・モジュール234にメッセージを要求することによってこれを行う。要求のタイプはまた、要求が非ブロッキングであるべきかブロッキングであるべきかも指示する。非ブロッキング要求が発行された場合は、要求は、308で示すようにアプリケーション・スレッドの制御をNACモジュール232に移す。次いでNACモジュール232は、要求の明細に従って、メッセージが存在するかどうかこのスレッドのメッセージ・キューをポーリングする(310)。合致するメッセージが見つかった場合は、このメッセージをメッセージ・キューから取り除き(312)、アプリケーション14に返す。メッセージが見つからなかった場合は、NACモジュール232は、どんなメッセージも渡さずにスレッドの制御をアプリケーション14に返す。これによりループは終了し、アプリケーション14は再び、304で示すように、コールバック・モードに入るか完全メッセージ・モードに入るかの決定を行うことができる。
完全メッセージ・モードが選択された場合は、アプリケーション14は再び、306で示すように、ブロッキング・モードに入るか非ブロッキング・モードに入るかを決定しなければならない。前に非ブロッキング・モードの場合で述べたように、アプリケーション14は、ミドルウェア・サービス・レイヤ中のOPAインターフェースおよびハンドラ・モジュール234にメッセージを要求することによってこれを行う。この場合もやはり、要求のタイプは、要求が非ブロッキングであるべきかブロッキングであるべきかを指示する。ブロッキング要求が発行された場合は、要求は、322で示すようにアプリケーション14のスレッドの制御をNACに移す。次いでNACモジュール232は、要求の明細に従って、メッセージが存在するかどうかこのスレッドのメッセージ・キューをポーリングする。メッセージが見つからなかった場合は、NACモジュール232は、メッセージが見つかるまで、または指定されている場合のあるタイムアウト期間を超えるまで、要求されたメッセージがあるかどうかメッセージ・キューをポーリングし続ける(324で示す)。合致するメッセージが見つかるとすぐに、このメッセージをメッセージ・キューから取り除き(312で示す)、アプリケーション14に返す。これによりループは終了し、アプリケーション14は再び、304で示すように、コールバック・モードに入るか完全メッセージ・モードに入るかの決定を行うことができる。
以上の記述は本発明の例示的な実施形態を構成するが、本発明はその範囲を逸脱することなく多くの形で変更することができることを理解されたい。例えば、本発明を主に無線遠隔通信システムの移動端末用の特定プラットフォーム・システム中でのメッセージ伝送に関して述べたが、本発明は、移動端末用の他のプラットフォーム中での、および他の製品用のプラットフォーム中でのメッセージ伝送について使用することもできる。本発明は多くの形で変更することができるので、本発明は、添付の特許請求の範囲によって必要とされる範囲内でのみ限定されるべきであると理解されたい。
本発明の原理の説明を助けるための、無線遠隔通信システムの移動端末用のプラットフォーム・システムを概略的に示すブロック図である。 本発明の原理の説明をさらに助けるための、図1のプラットフォーム・システムの移動端末プラットフォーム・アセンブリの展開図を概略的に示すブロック図である。 本発明の原理の説明をさらに助けるための、図1および2の移動端末プラットフォーム・アセンブリのソフトウェア・アーキテクチャを概略的に示すブロック図である。 本発明の原理の説明をさらに助けるための、図1〜3のミドルウェア・サービス・レイヤの詳細を概略的に示すブロック図である。 本発明の原理による、図4のミドルウェア・サービス・レイヤのOPA領域の詳細を概略的に示すブロック図である。 本発明の原理による、完全メッセージ・モードまたはコールバック・モードを制御する際に利用されるシグナリングおよびコンポーネントを概略的に示すブロック図である。 本発明の原理による、完全メッセージ・モードまたはコールバック・モードの呼出しを示す流れ図である。

Claims (7)

  1. 製品のプラットフォーム領域とアプリケーション領域の間でメッセージを伝送するためのシステムであって、
    プロセッサとソフトウェア・コンポーネントとインターフェース・コンポーネントとを有するプラットフォーム領域を備え、前記インターフェース・コンポーネントは、前記ソフトウェア・コンポーネントへのアクセスを前記アプリケーション領域中のアプリケーションまたはモジュールに提供するための少なくとも1つのインターフェースを有し、
    前記プロセッサが前記ソフトウェア・コンポーネントと前記インターフェース・コンポーネントと前記アプリケーションまたはモジュールとを実行することにより、
    前記アプリケーションまたはモジュールが自己の主要スレッドに対して制御を取得し、
    前記アプリケーションまたはモジュールがコールバック・モードまたは完全メッセージ・モードを選択し、
    前記コールバック・モードが選択された場合、前記アプリケーションまたはモジュールが、前記プラットフォーム領域からのメッセージを処理するコールバック関数をメッセージ・ハンドラに対して指定し、リターン文を実行することにより前記制御を前記メッセージ・ハンドラへ移し、前記完全メッセージ・モードが選択された場合、前記アプリケーションまたはモジュールが、前記メッセージ・ハンドラに対して前記メッセージを要求することにより前記制御を前記メッセージ・ハンドラへ移し、
    前記メッセージ・ハンドラがメッセージをポーリングし、
    前記メッセージが発見されると、前記コールバック・モードの場合は、前記メッセージ・ハンドラが、前記メッセージを伴って前記コールバック関数を呼び出すことにより前記制御を前記アプリケーションまたはモジュールへ移し、前記完全メッセージ・モードの場合は、前記メッセージ・ハンドラが、前記要求に対する応答として前記メッセージを前記アプリケーションまたはモジュールへ返すことにより前記制御を前記アプリケーションまたはモジュールへ移す
    とを特徴とするシステム。
  2. 前記メッセージ・ハンドラは前記プラットフォーム領域に含まれることを特徴とする請求項1に記載のシステム。
  3. 前記インターフェースはミドルウェア・サービス・レイヤを備え、
    前記メッセージ・ハンドラは、前記ミドルウェア・サービス・レイヤに含まれるルータとして働くネイティブ・アプリケーション・コア・モジュールを備えることを特徴とする請求項2に記載のシステム。
  4. 前記ネイティブ・アプリケーション・コア・モジュールは前記ミドルウェア・サービス・レイヤのオープン・プラットフォームAPI(OPA)領域に含まれることを特徴とする請求項3に記載のシステム。
  5. 前記プラットフォーム領域は無線遠隔通信システムの移動端末用のプラットフォームを備えることを特徴とする請求項1に記載のシステム。
  6. アプリケーション領域とプラットフォーム領域の間でメッセージを伝送する方法であって、前記プラットフォーム領域はソフトウェア・コンポーネントおよびインターフェース・コンポーネントを有し、前記インターフェース・コンポーネントは前記ソフトウェア・コンポーネントへのアクセスを前記アプリケーション領域中のアプリケーションまたはモジュールに提供するための少なくとも1つのインターフェースを有し、前記ソフトウェア・コンポーネントと前記インターフェース・コンポーネントと前記アプリケーションまたはモジュールは、プロセッサによって実行され、前記方法は、
    前記アプリケーションまたはモジュールが自己の主要スレッドに対して制御を取得するステップと、
    記アプリケーションまたはモジュールがコールバック・モードまたは完全メッセージ・モードを選択するステップと、
    前記コールバック・モードが選択された場合、前記アプリケーションまたはモジュールが、前記プラットフォーム領域からのメッセージを処理するコールバック関数をメッセージ・ハンドラに対して指定し、リターン文を実行することにより前記制御を前記メッセージ・ハンドラへ移し、前記完全メッセージ・モードが選択された場合、前記アプリケーションまたはモジュールが、前記メッセージ・ハンドラに対して前記メッセージを要求することにより前記制御を前記メッセージ・ハンドラへ移すステップと、
    前記メッセージ・ハンドラがメッセージをポーリングするステップと、
    前記メッセージが発見されると、前記コールバック・モードの場合は、前記メッセージ・ハンドラが、前記メッセージを伴って前記コールバック関数を呼び出すことにより前記制御を前記アプリケーションまたはモジュールへ移し、前記完全メッセージ・モードの場合は、前記メッセージ・ハンドラが、前記要求に対する応答として前記メッセージを前記アプリケーションまたはモジュールへ返すことにより前記制御を前記アプリケーションまたはモジュールへ移すステップと、
    含むことを特徴とする方法。
  7. 前記プラットフォーム領域は無線遠隔通信システムの移動端末用のプラットフォームを備えることを特徴とする請求項に記載の方法。
JP2004537143A 2002-09-23 2003-09-22 ミドルウェア・アプリケーション・メッセージ/イベント・モデル Expired - Fee Related JP4589113B2 (ja)

Applications Claiming Priority (15)

Application Number Priority Date Filing Date Title
US41275602P 2002-09-23 2002-09-23
US41290202P 2002-09-23 2002-09-23
US41290102P 2002-09-23 2002-09-23
US41276902P 2002-09-23 2002-09-23
US60/412,902 2002-09-23
US60/412,756 2002-09-23
US60/412,901 2002-09-23
US60/412,769 2002-09-23
US10/665,834 2003-09-19
US10/666,699 2003-09-19
US10/665,834 US7584471B2 (en) 2002-09-23 2003-09-19 Plug-in model
US10/666,699 US7478395B2 (en) 2002-09-23 2003-09-19 Middleware application message/event model
US10/664,618 US7350211B2 (en) 2002-09-23 2003-09-19 Middleware application environment
US10/664,618 2003-09-19
PCT/EP2003/010515 WO2004028125A1 (en) 2002-09-23 2003-09-22 Middleware application message/event model

Publications (2)

Publication Number Publication Date
JP2006500649A JP2006500649A (ja) 2006-01-05
JP4589113B2 true JP4589113B2 (ja) 2010-12-01

Family

ID=32034540

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2004537142A Pending JP2006511100A (ja) 2002-09-23 2003-09-22 プラグイン・ソフトウエアを用いて移動体プラットフォームの機能を拡張するための方法及びシステム
JP2004537143A Expired - Fee Related JP4589113B2 (ja) 2002-09-23 2003-09-22 ミドルウェア・アプリケーション・メッセージ/イベント・モデル

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2004537142A Pending JP2006511100A (ja) 2002-09-23 2003-09-22 プラグイン・ソフトウエアを用いて移動体プラットフォームの機能を拡張するための方法及びシステム

Country Status (8)

Country Link
EP (2) EP1547351B1 (ja)
JP (2) JP2006511100A (ja)
KR (2) KR101047278B1 (ja)
CN (2) CN100450122C (ja)
AT (2) ATE477667T1 (ja)
AU (1) AU2003277881A1 (ja)
DE (2) DE60333768D1 (ja)
WO (2) WO2004028125A1 (ja)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100375464C (zh) * 2004-09-29 2008-03-12 上海宝信软件股份有限公司 网络互连时各终端的数据通信方法
US7630687B2 (en) * 2004-12-03 2009-12-08 Microsoft Corporation Extensible framework for mitigating interference problems in wireless networking
US8549049B2 (en) 2005-04-13 2013-10-01 Sharp Laboratories Of America, Inc. Systems and methods for updating an application on a mobile information device
KR100683061B1 (ko) * 2005-10-27 2007-02-15 주식회사 케이티프리텔 모바일 플랫폼의 수정없이 신규 모바일 기능을 추가하는 방법, 이를 적용한 모바일 장치 및 컴퓨터로 판독가능한 기록매체
KR100703804B1 (ko) * 2006-01-20 2007-04-09 삼성전자주식회사 플러그 앤 인스톨 시스템 및 방법
KR100934221B1 (ko) * 2006-12-01 2009-12-28 한국전자통신연구원 플러그인 기반 관리 애플리케이션 시스템 및 이를 이용한관리 방법
JP2008191786A (ja) 2007-02-01 2008-08-21 Canon Inc プログラム管理装置、プログラム管理方法及びプログラム
US8464212B2 (en) 2007-07-27 2013-06-11 Canon Kabushiki Kaisha Method, apparatus and storage medium for customizing application
KR100955775B1 (ko) * 2007-10-24 2010-04-30 아주대학교산학협력단 커뮤니티 컴퓨팅 방법 및 커뮤니티 멤버 구성 방법
CN101500334A (zh) * 2008-02-02 2009-08-05 德信智能手机技术(北京)有限公司 一种基于Windows Mobile操作系统平台下的实现特殊通知服务功能系统
KR101405990B1 (ko) * 2008-12-22 2014-06-11 삼성전자주식회사 화상형성장치 및 서비스 제공 방법
US20110302274A1 (en) * 2009-02-27 2011-12-08 Joon Hui Lee Architecture of a network device for processing applications, and control method for the network device
JP2011024126A (ja) * 2009-07-17 2011-02-03 National Institute Of Information & Communication Technology 無線通信デバイス,無線通信方法,無線通信システム,及び無線通信デバイス用のインターフェイス
US20110105094A1 (en) * 2009-10-29 2011-05-05 Microsoft Corporation Location integration in software defined radio
JP5699435B2 (ja) 2010-03-10 2015-04-08 株式会社リコー 画像処理装置
CN101924775B (zh) * 2010-09-08 2012-10-10 北京大学 一种Android应用构件的透明加载方法及系统
CN102402456B (zh) * 2010-09-17 2014-07-09 金蝶软件(中国)有限公司 一种服务请求处理方法、装置及服务系统
EP2604175B1 (en) 2011-12-13 2019-11-20 EndoChoice Innovation Center Ltd. Removable tip endoscope
CN103793240B (zh) * 2012-11-02 2017-08-18 腾讯科技(深圳)有限公司 接口扫描方法、接口扫描装置及相应的插件更新方法
KR102271265B1 (ko) 2014-01-21 2021-07-01 오라클 인터내셔날 코포레이션 어플리케이션 서버, 클라우드 또는 다른 환경에서 멀티 테넌시를 지원하기 위한 시스템 및 방법
US10084723B2 (en) * 2014-09-25 2018-09-25 Oracle International Corporation System and method for providing an end-to-end lifecycle in a multitenant application server environment
CN104572316A (zh) * 2014-12-31 2015-04-29 福建天晴数码有限公司 游戏程序与运行平台交互的方法和系统
US11075799B2 (en) 2017-08-24 2021-07-27 Oracle International Corporation System and method for provisioning in a multi-tenant application server environment
CN117519783B (zh) * 2024-01-08 2024-04-26 利尔达科技集团股份有限公司 一种产品开发包与操作系统和硬件分离的方法及系统

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0629960B1 (en) * 1993-06-17 2000-05-24 Sun Microsystems, Inc. Extendible file system
JPH08263309A (ja) * 1994-11-17 1996-10-11 Texas Instr Inc <Ti> ソフトウェア・アプリケーション・プログラム・オブジェクト間のイベント通知方法及び装置
JPH09101901A (ja) * 1995-10-06 1997-04-15 N T T Data Tsushin Kk マルチプロセスで動作するパーソナルコンピュータ上で行われるプロセス間のメッセージ通信方式及びメッセージ通信方法
US5815707A (en) * 1995-10-19 1998-09-29 Hewlett-Packard Company Dynamic function replacement for streams framework
JPH09319580A (ja) * 1996-05-29 1997-12-12 Oki Electric Ind Co Ltd ネットワークマネージメント方法
US6212574B1 (en) * 1997-04-04 2001-04-03 Microsoft Corporation User mode proxy of kernel mode operations in a computer operating system
US6052739A (en) * 1998-03-26 2000-04-18 Sun Microsystems, Inc. Method and apparatus for object-oriented interrupt system
CA2346891A1 (en) * 1998-10-19 2000-04-27 General Instrument Corporation Television set-top box with configurable functionality
GB9903032D0 (en) * 1999-02-11 1999-03-31 Symbian Ltd Messaging architecture
US6571389B1 (en) * 1999-04-27 2003-05-27 International Business Machines Corporation System and method for improving the manageability and usability of a Java environment
KR100748394B1 (ko) * 1999-05-07 2007-08-10 모픽스 테크놀로지 아이엔씨 재프로그램가능한 디지털 무선 통신 장치 및 그 동작 방법
US20030037174A1 (en) * 2000-10-02 2003-02-20 David Lavin Common adapter/connector architecture
JP2002269063A (ja) * 2001-03-07 2002-09-20 Toshiba Corp メッセージングプログラム、及び分散システムにおけるメッセージング方法、並びにメッセージングシステム

Also Published As

Publication number Publication date
DE60333768D1 (de) 2010-09-23
CN100525340C (zh) 2009-08-05
EP1547351A1 (en) 2005-06-29
EP1550332A1 (en) 2005-07-06
CN1685693A (zh) 2005-10-19
JP2006500649A (ja) 2006-01-05
WO2004028182A1 (en) 2004-04-01
KR101047278B1 (ko) 2011-07-07
KR20050056214A (ko) 2005-06-14
CN1685751A (zh) 2005-10-19
EP1547351B1 (en) 2007-05-09
ATE477667T1 (de) 2010-08-15
KR20050059185A (ko) 2005-06-17
ATE362270T1 (de) 2007-06-15
CN100450122C (zh) 2009-01-07
DE60313787D1 (de) 2007-06-21
DE60313787T2 (de) 2008-01-24
AU2003277881A1 (en) 2004-04-08
JP2006511100A (ja) 2006-03-30
EP1550332B1 (en) 2010-08-11
WO2004028125A1 (en) 2004-04-01

Similar Documents

Publication Publication Date Title
JP4589113B2 (ja) ミドルウェア・アプリケーション・メッセージ/イベント・モデル
US7478395B2 (en) Middleware application message/event model
US7415270B2 (en) Middleware services layer for platform system for mobile terminals
JP5192118B2 (ja) 移動体端末用プラットフォーム・システム
Becker et al. Base-a micro-broker-based middleware for pervasive computing
JP2010152917A (ja) 周辺デバイスとワイアレス・デバイスとの間の通信を確立するためのシステム及び方法
US8234628B2 (en) Layered architecture for mobile terminals
US20080092149A1 (en) Modular architecture for a device interface component
EP1233343A2 (en) Method and radio interface layer comprising a set of application programming interfaces (APIs)
US20050193137A1 (en) Protocol stack with modification facility
KR20040047889A (ko) 저 레벨 계층을 고객 소프트웨어 프로그램에 개방하는메인 소프트웨어 프로그램과 저 레벨 계층을 구동하는무선통신 모듈

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060915

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090914

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20091214

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20091221

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20091222

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20100105

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100305

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100827

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100909

R150 Certificate of patent or registration of utility model

Ref document number: 4589113

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20130917

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees