JP5542796B2 - モバイル・デバイス・ソフトウェアの管理方法及び装置 - Google Patents

モバイル・デバイス・ソフトウェアの管理方法及び装置 Download PDF

Info

Publication number
JP5542796B2
JP5542796B2 JP2011503416A JP2011503416A JP5542796B2 JP 5542796 B2 JP5542796 B2 JP 5542796B2 JP 2011503416 A JP2011503416 A JP 2011503416A JP 2011503416 A JP2011503416 A JP 2011503416A JP 5542796 B2 JP5542796 B2 JP 5542796B2
Authority
JP
Japan
Prior art keywords
software module
software
handler
mobile device
event
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
JP2011503416A
Other languages
English (en)
Other versions
JP2011516987A5 (ja
JP2011516987A (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
Application filed by テレフオンアクチーボラゲット エル エム エリクソン(パブル) filed Critical テレフオンアクチーボラゲット エル エム エリクソン(パブル)
Publication of JP2011516987A publication Critical patent/JP2011516987A/ja
Publication of JP2011516987A5 publication Critical patent/JP2011516987A5/ja
Application granted granted Critical
Publication of JP5542796B2 publication Critical patent/JP5542796B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment

Landscapes

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

Description

本発明は一般に、モバイル・デバイス・ソフトウェアに関し、特にモバイル・デバイス・ソフトウェアの管理に関する。
モバイル・デバイス・ソフトウェアは従来、モノリシック・エンティティとして取り扱われる。モバイル・デバイス・ソフトウェアのこのような取り扱いは、しばしばビルド時間及びビルド・バリアント数の増加を招く。というのも、ソフトウェアのすべてのコンポーネントは、典型的にはビルド時に互いにリンクされるためである。それ故、コンポーネントの追加、削除、又は他の何らかの修正が発生するたびに、ソフトウェア・パッケージ全体の再リンクを行わなければならない。ソフトウェアの署名付けは、典型的には修正が発生するたびにソフトウェア・パッケージ全体に対して施されるので、このような署名付けに要する時間も長くなる。また、モバイル・デバイスは、ソフトウェアに変更が加えられるたびにモノリシック・ソフトウェア・パッケージ全体を処理しなければならないので、従来のソフトウェア・パッケージのダウンロード及びインストールに必要なモバイル・デバイス・リソースも増大する。
モバイル・デバイス・ソフトウェアの更新用にロードされるコード量を減少させる従来の一手法は、モノリシック・ソフトウェア・パッケージの現在のバージョンと当該ソフトウェアの新しいバージョンとの差を識別するものである。モバイル・デバイス上には、この差に対応する分のコードだけがダウンロード及びインストールされる。この手法は、帯域幅が制限される状況のFOTA(Firmware Over The Air)アップグレードに使用されている。しかしながら、モバイル・デバイスの構成可能性は益々高まっている。この傾向は、モバイル・デバイスの多機能化が進むにつれて強くなる。今日の多くのモバイル・デバイスは、デバイス・セットアップ及び動作の様々な側面を独自に構成する能力を提供する。したがって、モバイル・デバイス・ソフトウェアの管理に関してもエンド・ユーザの固有性が益々高まっている。このため、多種多様なエンド・ユーザ固有のモバイル・デバイス構成を管理するために、FOTAサーバに過度の負担が課されている。
モノリシック・パッケージをより小さいコンポーネントに分割してそれらを個別に管理するソフトウェアのモジュール化は、モバイル・デバイス環境ではまだ広く採用されていない。OMAソフトウェア・コンポーネント管理オブジェクト標準化団体では、モバイル・デバイス・ソフトウェアを個別に管理されるコンポーネントのグループとしてインストール及び実行する手法の実現に向けた取り組みがなされている。しかしながら、異種ソフトウェア・コンポーネント間の互換性の問題はまだ対処されていない。互換性のないソフトウェア・コンポーネントは、モバイル・デバイスの性能を低下させ、誤動作が発生しやすくなる恐れがある。例えば、モバイル・デバイス・プラットフォーム・プロバイダによってインストールされるソフトウェアは、典型的にはサード・パーティ・ベンダやプラットフォーム・プロバイダの顧客といった他のソースから提供されるソフトウェアとは異なるフレームワークで管理される。その結果、コード及びデータが最適な形で管理されない一貫性のないソフトウェア環境がもたらされる。このため、実行時又はインストール時に異なるソフトウェア・コンポーネント間の相互依存性が適切に解決されない限り、非効率的なデバイス動作あるいはエラーが生じやすいデバイス動作となる可能性がある。従来のモバイル・デバイス・ソフトウェアのモジュール化技法は、高度な調整を要するとともに多くの制約も伴うため、様々なタイプのモバイル・デバイス・ソフトウェアを適切に管理することが困難である。
本明細書に教示される方法及び装置によれば、異なるソースから提供される異種ソフトウェア・モジュールが同じモジュール化又はコンポーネント化フレームワークで管理される。モバイル・デバイス・ソフトウェアは、個別に管理可能なモジュールに分割される。モバイル・デバイス・ソフトウェアの追加、削除、又は他の変更は、ソフトウェア・パッケージ全体ではなく対応するモジュール(1つ又は複数)を修正することによって行うことができる。ソフトウェア・モジュール・ハンドラは、ソフトウェア・モジュールを管理して一貫性及び信頼性のあるモバイル・デバイス動作を保証する。ソフトウェア・モジュール・ハンドラは、ソフトウェア・モジュールのインストール、削除、アクティブ化、修正等のソフトウェア・イベントに応答して1つ又は複数のアクションを実行する。これらのアクションは、発生したイベント及び関与するモジュール(1つ又は複数)に関連するものである。ソフトウェア・モジュール・ハンドラによって実行されるアクションにより、各モジュールは、後に呼び出されたときにそれぞれの設計された機能を提供することが可能となる。例えば、これらのハンドラは、互換性検査を実行すること、実行時環境を適切にセットアップすること、ソフトウェア・モジュール・コンポーネントをそれぞれ適切な位置にデプロイすること等が可能である。それ故、これらのモジュール・ハンドラは、ソフトウェア・モジュールがモバイル・デバイス上にインストールされたときに互いに適切な形で相互作用することを保証する。
一実施形態では、複数のソフトウェア・モジュール・ハンドラと複数のソフトウェア・モジュールとの間のインターフェースを提供することによってモバイル・デバイス・ソフトウェアの管理が行われる。前記インターフェースは、ソフトウェア・モジュールのインストール、削除、アクティブ化、修正等のソフトウェア・モジュール・イベントに応答して呼び出される。前記インターフェースは、ソフトウェア・モジュール・イベントに関連する前記ソフトウェア・モジュール及び対応する属性リストを識別するのに使用される。前記属性リストは、識別された前記ソフトウェア・モジュールが呼び出し時に1つ又は複数の機能を提供することを可能にする、前記ソフトウェア・モジュール・ハンドラのうちの少なくとも1つによって実行される1つ又は複数のアクションを指定する。前記属性リストは、前記リスト内で識別される各ソフトウェア・モジュール・ハンドラに提供され、前記リスト内で指定される各アクションは、対応する前記ソフトウェア・モジュール・ハンドラによって実行される。このようにして、前記インターフェースは、前記モジュールによって提供される特定の機能あるいは前記ハンドラによって実行される特定のアクションを認識する必要なく、様々な前記ソフトウェア・モジュールを信頼性のある形で管理する。前記インターフェースは、ソフトウェア・モジュール・イベントを処理のために適切なハンドラ(1つ又は複数)に送ることにより、モバイル・デバイス・ソフトウェアの互換性及び相互運用性を保証する高レベルのソフトウェア管理メカニズムを提供する。
本発明は、上記の特徴及び利点に限定されないことは言うまでもない。以下の詳細な説明を添付の図面と併せて読めば、追加的な特徴及び利点が当業者には理解されるだろう。
ソフトウェア・モジュール・マネージャを含むモバイル・デバイスの一実施形態を示すブロック図である。 モバイル・デバイス・ソフトウェアを管理する処理ロジックの一実施形態を示す論理フロー図である。 モバイル・デバイス・ソフトウェア・モジュール・マネージャを含むリモート・コンピュータ・システムの一実施形態を示すブロック図である。 複数のモバイル・デバイス・ソフトウェア・モジュールと、複数のソフトウェア・モジュール・ハンドラとの間のインターフェースをとるソフトウェア・モジュール・マネージャの一実施形態を示すブロック図である。 モバイル・デバイス・ソフトウェア・モジュール・マネージャによって構文解析(parse)されるファイルの一実施形態を示す図である。
図1は、携帯電話、ポータブル・コンピューティング・デバイス、ハンドヘルド電子デバイス等のモバイル・デバイス100の一実施形態を示す。モバイル・デバイス100は、ソフトウェア、ハードウェア、あるいはそれらの任意の組み合わせの形で実施可能なソフトウェア(SW)・モジュール・マネージャ110を含む。SWモジュール・マネージャ110は、複数の異種モバイル・デバイス・ソフトウェア(SW)・モジュール120と、複数のソフトウェア(SW)・モジュール・ハンドラ130との間のインターフェースとして働く。モバイル・デバイス100上にインストールされるソフトウェア・アプリケーションは、SWモジュール120のうちの1つ又は複数を利用する。SWモジュール120は、モバイル・デバイス・プラットフォーム・プロバイダ、サード・パーティ・ベンダ、プラットフォーム・プロバイダの顧客等、様々なエンティティによって設計される可能性がある。それ故、SWモジュール120は、コード、データ、ファイル、1つ又は複数のモバイル・デバイス・アプリケーションをサポートする他の任意のタイプの情報又はリソース等、様々なコンポーネントを有する可能性がある。
各SWモジュール120は、呼び出し時に1つ又は複数のモバイル・デバイス機能をイネーブルする。SWモジュール・ハンドラ130は、SWモジュール・マネージャ110によって呼び出されたときに様々なアクションを実行する。また、SWモジュール・ハンドラ130は、ソフトウェア、ハードウェア、あるいはそれらの任意の組み合わせの形で実施可能である。SWモジュール・ハンドラ130によって実行されるアクションは、SWモジュール120がデバイス100上に適切にインストールされ、互いに相互運用可能となることを保証する。したがって、モバイル・デバイス・アプリケーションをサポートするためにSWモジュール120のうちの1つ又は複数が後に呼び出されたときも、モジュール120は、モバイル・デバイス動作に悪影響を与えることはなく、誤動作を引き起こすこともない。
SWモジュール・マネージャ110は、例えば図2のステップ200で示されるように、モジュール120によって提供される特定の機能あるいはSWモジュール・ハンドラ130によって実行される特定のアクションを認識する必要なく、様々なSWモジュール120の信頼性のある管理を実現するインターフェースを提供する。SWモジュール・マネージャ110は、ソフトウェア・モジュール・イベントが発生したときに適切なSWモジュール・ハンドラ130(1つ又は複数)をアクティブ化してそれらのイベントをサービスすることにより、モバイル・デバイス・ソフトウェアの高レベルの互換性及び相互運用性を保証する。ソフトウェア・モジュール・イベントとしては、FOTAイベント、ソフトウェア・アプリケーション管理イベント、SWモジュール管理イベント等のアクションを挙げることができる。広義には、各ソフトウェア・モジュール・イベントは、例えば図2のステップ202で示されるようにSWモジュール120のうちの1つ又は複数のインストール、削除、アクティブ化、又は修正を行うものである。SWモジュール・マネージャ110は、例えば図2のステップ204で示されるように、ソフトウェア・モジュール・イベントに関連するSWモジュール120及び対応する属性リスト140を識別する。リスト140は、SWモジュール・ハンドラ130のうちの少なくとも1つによって実行される1つ又は複数のアクションを識別する。識別されたSWモジュール・ハンドラ130によって実行されるアクション(1つ又は複数)により、対応するSWモジュール120は、後に呼び出されたときに1つ又は複数の機能を提供することが可能となる。リスト140は、例えば図2のステップ206で示されるように、リスト140内で識別される各SWモジュール・ハンドラ130に提供される。リスト140内で識別される各アクションは、例えば図2のステップ208で示されるように、対応するSWモジュール・ハンドラ130によって実行される。一実施形態によれば、SWモジュール・ハンドラ130は、デバイス100に含まれるSWモジュール・マネージャ110によってローカル呼び出しされる。別の実施形態では、SWモジュール・ハンドラ130は、SWモジュール120がモバイル・デバイス100に転送される前にリモート呼び出しされる。
図3は、SWモジュール・マネージャ110と、SWモジュール・ハンドラ130のうちの少なくともいくつかと、を含むパーソナル・コンピュータ、ポータブル・コンピュータ、サーバ等のコンピュータ・システム300の一実施形態を示す。SWモジュール・マネージャ110及びハンドラ130は、モバイル・デバイス100のリモートに位置する可能性もある。かかる一構成は、モバイル・デバイス製造業者によって利用されることも、サービス・プロバイダによって利用されることも、モバイル・デバイス100にアクセス可能な他のリモート・エンティティによって利用されることもある。したがって、SWモジュール120は、モバイル・デバイス100に転送する前に検査することができる。これにより、モバイル・デバイス100に課される処理需要が低減される。また、これによってリモート・エンティティがSWモジュール120をデプロイ前にテストすることも可能となる。モバイル・デバイス100は、モバイル・デバイス・ソフトウェア管理の追加的なレイヤを提供するSWモジュール・マネージャ110及びハンドラ130も含むことができる。モバイル・デバイス100に含まれるSWモジュール・マネージャ110は、モバイル・デバイス100を対象とするソフトウェア・モジュール・イベントに応答し、現在のデバイス・セットアップ記述をリモート・コンピュータ300上に存在するSWモジュール・マネージャ110に提供する。SWモジュール・マネージャ110及びハンドラ130をコンピュータ300とモバイル・デバイス100の両方に含めることにより、コンピュータ・システム300以外のソース(例えばメモリ・カード又は他のソース)からデバイス100に転送されるソフトウェアの適切な管理及び維持が保証される。このようにすることで、SW互換性検査の追加的なレイヤも提供される。
コンピュータ・システム300は、無線又は有線通信ネットワーク310を介してモバイル・デバイス100にアクセスする。SWモジュール・マネージャ110は、コンピュータ300によって維持されるSWモジュール・ハンドラ130と、モバイル・デバイスSWモジュール120との間のインターフェースを提供する。SWモジュール120の中には、デバイス100上に既にロードされているものもあれば、まだインストールされていないものもある可能性がある。いずれにせよ、SWモジュール・マネージャ110は、ソフトウェア・モジュール・イベントを認識し、そのイベントに関連するSWモジュール120及び対応する属性リスト140を識別する。SWモジュール・マネージャ110は、該当するSWモジュール120がデバイス100上に既にロードされている場合には、通信ネットワーク310を介してモバイル・デバイス100からリスト140を取得する。そうでない場合には、リスト140は、コンピュータ300によってローカルで検索される。いずれにせよ、リスト140は、コンピュータ300によってローカルで維持されるSWモジュール・ハンドラ130のうちの1つ又は複数によって実行されるアクション(1つ又は複数)を識別する。SWモジュール・マネージャ110は、識別されるアクションが対応するSWモジュール・ハンドラ130によって実行可能となるように、リスト140をリスト140内で識別される各SWモジュール・ハンドラ130に提供する。SWモジュール・ハンドラ130を追加、削除、又は他の方法で変更することにより、SWモジュール120の管理及び維持手法を修正することができる。
図4は、モバイル・デバイス100又はコンピュータ・システム300あるいはその両方に含まれるSWモジュール・ハンドラ130の一実施形態を示す。本実施形態によれば、SWモジュール・マネージャ110は、SWモジュール120と、「type」ハンドラ400、「parts」ハンドラ410、「provided」ハンドラ420、「required」ハンドラ430、及び「list parser」ハンドラ440のうちの1つ又は複数のインスタンスとの間のインターフェースとして働く。ソフトウェア・モジュール・イベントに応答してSWモジュール・マネージャ110によって「type」ハンドラ400が呼び出されたときは、「type」ハンドラ400は、そのイベントに関連するSWモジュール120(1つ又は複数)の実行時特性を管理する。「type」ハンドラ400は、必ずしもそれだけに限定されるわけではないが、SWモジュール120のアクティブ化又は非アクティブ化、SWモジュール120の動的リンク、SWモジュール120間の相互依存性の解決、メモリ管理等、任意の所望の実行時アクションを実行する。
「parts」ハンドラ410は、新しくインストールされた又は既存のSWモジュール120に含まれるコンポーネントのデプロイを管理する。このような管理には、必ずしもそれだけに限定されるわけではないが、コード、データ、ファイル・システム・リソース情報等のSWモジュール・コンポーネントをモバイル・デバイス100内の適切な位置に記憶するアクション等が含まれ得る。「provided」ハンドラ420及び「required」ハンドラ430は共に、ソフトウェアの互換性を管理する。このようにして、様々なエンティティから提供されるソフトウェアをSWモジュール・マネージャ110によって普遍的に管理することが可能となる。「provided」ハンドラ420及び「required」ハンドラ430は、必ずしもそれだけに限定されるわけではないが、異なるSWモジュール120間のバージョン比較や、モバイル・デバイス・ソフトウェア・プラットフォームのあるSWモジュール・バージョンと現在のバージョンとの比較等のアクションを実行することができる。したがって、互換性のあるSWモジュール120だけがモバイル・デバイス100で維持される。一実施形態では、SWモジュール・ハンドラ130によって実行されるアクションを指定する属性リスト140は、対応するSWモジュール120と共に追加的なコンポーネントとして含まれる。SWモジュール・マネージャ110は、「list parser」ハンドラ440を呼び出して属性リスト140を当該リスト140のフォーマットに基づいて適切に読み取る。属性リストの内容に基づいてSWモジュール120を処理する他の種類のハンドラ130を提供することも可能である。
一実施形態では、属性リスト140は、各SWモジュール120に含まれるファイルである。SWモジュール・マネージャ110は、ソフトウェア・イベントが発生したときに当該イベントに関連するSWモジュール120からこのファイルを抽出する。SWモジュール・マネージャ110は、ファイルを構文解析する「list parser」ハンドラ440を呼び出して、ファイル内でコール・アウトされた各SWモジュール・ハンドラ130を識別する。次に、構文解析されたファイルは、処理のために識別された各SWモジュール・ハンドラ130に渡される。一実施形態では、ファイルは、該当する各SWモジュール・ハンドラ130に送られるセクションを含む。各セクションは、対応するSWモジュール・ハンドラ130によって実行されるアクションを識別する。ファイルを受信した各SWモジュール・ハンドラ130は、ファイルの構文解析を行って当該ハンドラ130宛てのセクション位置を突き止める。次に、各SWモジュール・ハンドラ130は、ファイル内のそれぞれのセクションで指定された1つ又は複数のアクションを実行する。したがって、SWモジュール・マネージャ110は、SWモジュール・ハンドラ130によって実行されるアクションも、SWモジュール120によって提供される機能も認識する必要がない。その代わりに、SWモジュール・マネージャ110は、ファイルの構文解析を行い、当該ファイルをファイル内で識別されるSWモジュール・ハンドラ130に渡す。その後、識別されたSWモジュール・ハンドラ130は、指定されたタスクを実行する。一実施形態によれば、ファイル・フォーマットは、拡張マークアップ言語(XML)に基づくものである。
図5は、SWモジュール120のうちの1つから抽出されたXMLファイル500の一実施形態を示す。XMLファイル500の第1行は、XMLファイルのバージョン(例えば図5では1.0)と、サポートされるエンコード・タイプ(例えば図5ではUTF‐8)とを識別する。「list parser」ハンドラ440は、XMLファイル500の特定のXMLフォーマットを考慮してファイル500を読み取り、関連する内容をSWモジュール・マネージャ110に通知する。呼び出し対象となる他のSWモジュール・ハンドラ130は、開始タグ及び終了タグを使用してXMLファイル500内で識別される。例えば、XMLファイル500の第2行は、「type」ハンドラ400を識別する属性タイプ「dpu」を含む。第3行は、「parts」ハンドラ410を識別する開始タグ<parts>を含む。第4行は、「load_module」と呼ばれる「parts」ハンドラ410を識別する「parts」ハンドラ410の参照がSWモジュール・マネージャ110に通知されると、SWモジュール・マネージャ110は、XMLファイルを処理のためにload_module「parts」ハンドラ410に渡す。XMLファイルが受信されると、load_module「parts」ハンドラ410は、XMLファイル500の第4行で指定されたアクションを実行する。この例示的な実施形態では、load_module「parts」ハンドラ410は、指定されたELFファイルをデプロイする。XMLファイル500では「resource」という名前の「parts」ハンドラ410も識別されている。この参照がSWモジュール・マネージャ110に通知されると、SWモジュール・マネージャ110は、XMLファイル500を処理のためにresource「parts」ハンドラ410に渡す。resource「parts」ハンドラ410は、第5行及び第6行で指定されたアクションを実行する。XMLファイル500の第7行は、「parts」ハンドラ・セクションの終了を示す終了タグ</parts>を含む。
XMLファイル500は、開始タグ<provides>で示されるように、「provided」ハンドラ420に割り振られるセクションも有する。この参照がSWモジュール・マネージャ110に通知されると、SWモジュール・マネージャ110は、ファイル500を処理のために「provided」ハンドラ420に渡す。「provided」ハンドラ420は、XMLファイル500の開始タグ<provides>と終了タグ</provides>の間の部分を処理する。具体的には、第9行は、XML500の取得元であるSWモジュール120のバージョン(2.0)、ベンダ(EMP)、及び名前(SampleSuite)を指定する。「provided」ハンドラ420は、これらのパラメータを使用してSWモジュール120と他のSWモジュール120との互換性の有無を判定する。一実施形態では、「provided」ハンドラ420は、ファイル500から対応するSWモジュール120の現在のバージョン(2.0)を抽出する。次に、「provided」ハンドラ420は、SWモジュール120の現在のバージョンと、他の1つ又は複数のSWモジュール120の現在のバージョンとを比較する。一方、XMLファイル500の第10〜13行は、これらの行で指定されたアクションを実行する「application」という名前の「provided」ハンドラ420を参照している。XMLファイル500の第14行及び第15行は、「provided」ハンドラ・セクションの終了を示す終了タグを含む。
XMLファイル500は、開始タグ<requires>で示されるように、「required」ハンドラ430に割り振られるまた別のセクションも含む。ファイル500のこのセクションは、第17行で「required_components」という名前の「required」ハンドラ430を参照する。第18〜20行は、「cid」という名前の「required」ハンドラ430に3つのタスクを委譲(relegate)する。XMLファイル500の最後の3行は、それぞれ「required」ハンドラ・セクション及びSWモジュール・マネージャ・セクションの終了を示す終了タグを含む。本明細書に開示される様々な実施形態では、他のSWモジュール・ハンドラ・セクション及びタスクも予期されることは言うまでもない。したがって、図5に示したXMLの実施形態は、例示的且つ非限定的なものと見なすべきである。ソフトウェア・モジュール・イベントに応答してどのSWモジュール・ハンドラ130を呼び出し、どのタスクを実行すべきかを指示するにあたっては、他のファイル拡張子、実装環境、あるいは手法を使用することも可能である。
上記の様々な変形例及び応用例を念頭に置けば、本発明が上記の説明あるいは添付の図面によって限定されないことが理解されるはずである。そうではなく、本発明は、特許請求の範囲に記載される各請求項及びそれらの法律上の等価物によってのみ限定されるものである。

Claims (25)

  1. モバイル・デバイス・ソフトウェアを管理する方法であって、
    ソフトウェア・モジュール・マネージャが、異なるアクションをそれぞれ実行するように動作可能な複数のソフトウェア・モジュール・ハンドラと複数の異種ソフトウェア・モジュールとの間のインターフェースを提供するステップ(200)と、
    前記ソフトウェア・モジュール・マネージャが、1つ又は複数のソフトウェア・モジュールのインストール、削除、アクティブ化、または修正に対応するソフトウェア・モジュール・イベントに応答して前記インターフェースを呼び出すステップ(202)と、
    前記ソフトウェア・モジュール・マネージャが、前記インターフェースを使用して前記ソフトウェア・モジュール・イベントに関連する前記ソフトウェア・モジュール及び対応する属性リストを識別するステップ(204)であって、前記属性リストは、識別された前記ソフトウェア・モジュールが呼び出し時に1つ又は複数の機能を提供することを可能にする、前記ソフトウェア・モジュール・ハンドラのうちの少なくとも1つによって実行される1つ又は複数のアクションを指定する、ステップと、
    前記ソフトウェア・モジュール・マネージャが、前記属性リストを前記属性リスト内で識別される各ソフトウェア・モジュール・ハンドラに提供するステップ(206)と、
    複数のソフトウェア・モジュールの相互運用性を保証するために、前記属性リスト内で指定される各アクションを対応する前記ソフトウェア・モジュール・ハンドラによって実行するステップ(208)と、
    を含む方法。
  2. 複数のソフトウェア・モジュール・ハンドラと複数のソフトウェア・モジュールとの間のインターフェースを提供する前記ステップは、
    前記ソフトウェア・モジュール・マネージャが、第1のソフトウェア・プラットフォームに関連する第1の複数のソフトウェア・モジュール・ハンドラと第1の複数のソフトウェア・モジュールとの間の第1のインターフェースを提供するステップと、
    前記ソフトウェア・モジュール・マネージャが、第2のソフトウェア・プラットフォームに関連する第2の複数のソフトウェア・モジュール・ハンドラと第2の複数のソフトウェア・モジュールとの間の第2のインターフェースを提供するステップと、
    を含む、請求項1に記載の方法。
  3. 前記第1及び第2の複数のソフトウェア・モジュール・ハンドラのうちの1つ又は複数は、共通である、請求項2に記載の方法。
  4. 前記ソフトウェア・モジュール・イベントは、ファームウェア無線通信(Firmware Over The Air)アップデートイベント、ソフトウェア・アプリケーション管理イベント、またはソフトウェア・モジュール管理イベントである、請求項1に記載の方法。
  5. 前記インターフェースを使用して前記ソフトウェア・モジュール・イベントに関連する前記ソフトウェア・モジュール及び対応する属性リストを識別する前記ステップは、
    前記ソフトウェア・モジュール・マネージャが、前記ソフトウェア・モジュール・イベントに関連する前記ソフトウェア・モジュールからファイルを抽出するステップと、
    前記ソフトウェア・モジュール・マネージャが、前記ファイルを構文解析して前記ファイル内で指定される各ソフトウェア・モジュール・ハンドラを識別するように構成された前記ソフトウェア・モジュール・ハンドラを呼び出すステップと、
    を含む、請求項1に記載の方法。
  6. 前記ファイルを抽出する前記ステップは、前記ソフトウェア・モジュール・マネージャが、拡張マークアップ言語ファイルを抽出するステップを含む、請求項5に記載の方法。
  7. 前記属性リストを前記属性リスト内で識別される各ソフトウェア・モジュール・ハンドラに提供する前記ステップは、前記ソフトウェア・モジュール・マネージャが、前記インターフェースから前記ファイル内で識別される各ソフトウェア・モジュール・ハンドラに前記ファイルを渡すステップを含む、請求項5に記載の方法。
  8. 複数のソフトウェア・モジュールの相互運用性を保証するために、前記属性リスト内で指定される各アクションを対応する前記ソフトウェア・モジュール・ハンドラによって実行する前記ステップは、前記ソフトウェア・モジュール・ハンドラによって、前記ソフトウェア・モジュールのうち、前記ソフトウェア・モジュール・イベントに関連する前記ソフトウェア・モジュールと、1つ又は複数の異なるソフトウェア・モジュールとの互換性の有無を判定するステップを含む、請求項1に記載の方法。
  9. 前記ソフトウェア・モジュールのうち、前記ソフトウェア・モジュール・イベントに関連する前記ソフトウェア・モジュールと、前記1つ又は複数の異なるソフトウェア・モジュールとの互換性の有無を判定する前記ステップは、
    前記ソフトウェア・モジュール・ハンドラが、前記ソフトウェア・モジュールの現在のバージョンを対応する前記属性リストから抽出するステップと、
    前記ソフトウェア・モジュール・ハンドラが、前記ソフトウェア・モジュールの前記現在のバージョンと、前記1つ又は複数の異なるソフトウェア・モジュールの現在のバージョンとを比較するステップと、
    を含む、請求項8に記載の方法。
  10. 複数のソフトウェア・モジュールの相互運用性を保証するために、前記属性リスト内で指定される各アクションを対応する前記ソフトウェア・モジュール・ハンドラによって実行する前記ステップは、前記ソフトウェア・モジュール・ハンドラが、前記ソフトウェア・モジュール・イベントに関連する前記ソフトウェア・モジュールの1つ又は複数の実行時特性を実行するステップを含む、請求項1に記載の方法。
  11. 複数のソフトウェア・モジュールの相互運用性を保証するために、前記属性リスト内で指定される各アクションを対応する前記ソフトウェア・モジュール・ハンドラによって実行する前記ステップは、前記ソフトウェア・モジュール・ハンドラが、前記ソフトウェア・モジュール・イベントに関連する前記ソフトウェア・モジュールの1つ又は複数の異なるコンポーネントをデプロイするステップを含む、請求項1に記載の方法。
  12. モバイル・デバイス(100)であって、
    対応するソフトウェア・モジュールが呼び出し時に1つ又は複数の機能を提供することを可能にするために実行される1つ又は複数のアクションを指定する属性リスト(140)をそれぞれ有する複数の異種ソフトウェア・モジュール(120)と、
    前記属性リストによって指定される前記アクションのうちの異なるアクションをそれぞれ実行するように動作可能な複数のソフトウェア・モジュール・ハンドラ(130)と、
    前記ソフトウェア・モジュール・ハンドラと前記ソフトウェア・モジュールとの間に配設されるインターフェースであって、1つ又は複数のソフトウェア・モジュールのインストール、削除、アクティブ化、または修正に対応するソフトウェア・モジュール・イベントに応答して呼び出され、前記ソフトウェア・モジュール・イベントに関連する前記ソフトウェア・モジュール及び対応する前記属性リストを識別し、複数のソフトウェア・モジュールの相互運用性を保証するために、前記属性リスト内で指定される各アクションが対応する前記ソフトウェア・モジュール・ハンドラによって実行可能となるように、前記属性リストを前記属性リスト内で識別される各ソフトウェア・モジュール・ハンドラに提供するように動作可能なインターフェース(110)と、
    を備えるモバイル・デバイス。
  13. 前記インターフェースは、
    第1のソフトウェア・プラットフォームに関連する第1の複数のソフトウェア・モジュール・ハンドラと第1の複数のソフトウェア・モジュールとの間に配設される第1のインターフェースと、
    第2のソフトウェア・プラットフォームに関連する第2の複数のソフトウェア・モジュール・ハンドラと第2の複数のソフトウェア・モジュールとの間に配設される第2のインターフェースと、
    を備える、請求項12に記載のモバイル・デバイス。
  14. 前記第1及び第2の複数のソフトウェア・モジュール・ハンドラのうちの1つ又は複数は、共通である、請求項13に記載のモバイル・デバイス。
  15. 前記インターフェース(110)は、前記ソフトウェア・モジュール・イベントに関連する前記ソフトウェア・モジュールからファイルを抽出し、前記ファイルを構文解析して前記ファイル内で指定される各ソフトウェア・モジュール・ハンドラを識別するように構成された前記ソフトウェア・モジュール・ハンドラ(440)を呼び出すように動作可能である、請求項12に記載のモバイル・デバイス。
  16. 前記インターフェース(110)は、前記ソフトウェア・モジュール・イベントに関連する前記ソフトウェア・モジュールから拡張マークアップ言語ファイルを抽出するように動作可能である、請求項15に記載のモバイル・デバイス。
  17. 前記インターフェース(110)は、前記ファイル内で識別される各ソフトウェア・モジュール・ハンドラ(130)に前記ファイルを渡すように動作可能である、請求項15に記載のモバイル・デバイス。
  18. 前記ソフトウェア・モジュール・ハンドラ(130)のうちの1つ又は複数は、前記ソフトウェア・モジュールのうち、前記ソフトウェア・モジュール・イベントに関連する前記ソフトウェア・モジュールと、1つ又は複数の異なるソフトウェア・モジュールとの互換性の有無を判定する(420,430)ように動作可能である、請求項12に記載のモバイル・デバイス。
  19. 前記ソフトウェア・モジュール・ハンドラのうちの1つ又は複数は、前記ソフトウェア・モジュールの現在のバージョンを対応する前記属性リストから抽出し、前記ソフトウェア・モジュールの前記現在のバージョンと、前記1つ又は複数の異なるソフトウェア・モジュールの現在のバージョンとを比較する(420,430)ように動作可能である、請求項18に記載のモバイル・デバイス。
  20. 前記ソフトウェア・モジュール・ハンドラのうちの1つ又は複数は、前記ソフトウェア・モジュール・イベントに関連する前記ソフトウェア・モジュールの1つ又は複数の実行時特性(400)を実行するように動作可能である、請求項12に記載のモバイル・デバイス。
  21. 前記ソフトウェア・モジュール・ハンドラのうちの1つ又は複数は、前記ソフトウェア・モジュール・イベントに関連する前記ソフトウェア・モジュールの1つ又は複数の異なるコンポーネントをデプロイする(410)ように動作可能である、請求項12に記載のモバイル・デバイス。
  22. コンピュータ・システムであって、
    複数の異なる異種モバイル・デバイス・ソフトウェア・モジュールが呼び出し時にそれぞれ1つ又は複数の機能を提供することを可能にする1つ又は複数の異なるアクションを実行するように動作可能な複数のソフトウェア・モジュール・ハンドラ(130)と、
    ソフトウェア・モジュール・マネージャ(110)であって、
    前記ソフトウェア・モジュール・ハンドラ(130)と前記モバイル・デバイス・ソフトウェア・モジュール(120)との間のインターフェースを提供し(200)、
    1つ又は複数のソフトウェア・モジュールのインストール、削除、アクティブ化、または修正に対応するソフトウェア・モジュール・イベントを認識し(202)、
    前記ソフトウェア・モジュール・イベントに関連する前記モバイル・デバイス・ソフトウェア・モジュール(120)と、前記ソフトウェア・モジュール・ハンドラのうちの少なくとも1つによって実行される1つ又は複数のアクションを指定する対応する属性リスト(140)と、を識別し(204)、
    複数のソフトウェア・モジュールの相互運用性を保証するために、前記属性リスト(140)内で指定される各アクションが対応する前記ソフトウェア・モジュール・ハンドラ(130)によって実行可能となるように(208)、前記属性リストを前記属性リスト内で識別される各ソフトウェア・モジュール・ハンドラに提供するように動作可能なソフトウェア・モジュール・マネージャと、
    を備えるコンピュータ・システム。
  23. 前記ソフトウェア・モジュール・ハンドラのうちの1つ又は複数は、前記モバイル・デバイス・ソフトウェア・モジュールのうち、前記ソフトウェア・モジュール・イベントに関連する前記モバイル・デバイス・ソフトウェア・モジュールと、1つ又は複数の異なるモバイル・デバイス・ソフトウェア・モジュールとの互換性の有無を判定する(420,430)ように動作可能である、請求項22に記載のコンピュータ・システム。
  24. 前記ソフトウェア・モジュール・ハンドラのうちの1つ又は複数は、前記ソフトウェア・モジュール・イベントに関連する前記モバイル・デバイス・ソフトウェア・モジュールの1つ又は複数の実行時特性(400)を実行するように動作可能である、請求項22に記載のコンピュータ・システム。
  25. 前記ソフトウェア・モジュール・ハンドラのうちの1つ又は複数は、前記ソフトウェア・モジュール・イベントに関連する前記モバイル・デバイス・ソフトウェア・モジュールの、呼び出し時にデプロイ(410)すべき1つ又は複数の異なるコンポーネントを識別するように動作可能である、請求項22に記載のコンピュータ・システム。
JP2011503416A 2008-04-10 2009-04-06 モバイル・デバイス・ソフトウェアの管理方法及び装置 Expired - Fee Related JP5542796B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/100,648 US8762977B2 (en) 2008-04-10 2008-04-10 Mobile device software management method and apparatus
US12/100,648 2008-04-10
PCT/EP2009/054101 WO2009124915A1 (en) 2008-04-10 2009-04-06 Mobile device software management method and apparatus

Publications (3)

Publication Number Publication Date
JP2011516987A JP2011516987A (ja) 2011-05-26
JP2011516987A5 JP2011516987A5 (ja) 2012-05-31
JP5542796B2 true JP5542796B2 (ja) 2014-07-09

Family

ID=40765811

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011503416A Expired - Fee Related JP5542796B2 (ja) 2008-04-10 2009-04-06 モバイル・デバイス・ソフトウェアの管理方法及び装置

Country Status (4)

Country Link
US (1) US8762977B2 (ja)
EP (1) EP2277108A1 (ja)
JP (1) JP5542796B2 (ja)
WO (1) WO2009124915A1 (ja)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9134989B2 (en) * 2002-01-31 2015-09-15 Qualcomm Incorporated System and method for updating dataset versions resident on a wireless device
US20040068724A1 (en) * 2002-08-30 2004-04-08 Gardner Richard Wayne Server processing for updating dataset versions resident on a wireless device
US9092286B2 (en) * 2002-12-20 2015-07-28 Qualcomm Incorporated System to automatically process components on a device
US8626146B2 (en) 2003-10-29 2014-01-07 Qualcomm Incorporated Method, software and apparatus for performing actions on a wireless device using action lists and versioning
BRPI0812543A2 (pt) 2007-06-19 2015-09-29 Qualcomm Inc métodos e aparelho para sincronização de conjunto de dados em um ambiente sem fio
EP2264597B1 (en) * 2009-06-18 2012-02-22 Research In Motion Limited Backing up and/or restoring a software application so as to facilitate compatibility checking with a target device prior to application restore
JP5419675B2 (ja) * 2009-12-22 2014-02-19 三菱電機株式会社 エレベータ制御装置
US8438541B2 (en) * 2010-06-15 2013-05-07 International Business Machines Corporation Software change management extension for uniformly handling artifacts with relaxed contraints
US9262745B2 (en) 2012-03-28 2016-02-16 Sap Portals Israel Ltd. Generating roles for a platform based on roles for an existing platform
US9858321B2 (en) 2013-09-20 2018-01-02 Oracle International Corporation Accessing application services from forms
US10127023B2 (en) * 2013-09-20 2018-11-13 Oracle International Corporation Computer-aided development of native mobile application code
US9588742B2 (en) 2013-09-20 2017-03-07 Oracle International Corporation Rule-based automatic class generation from a JSON message
KR102043245B1 (ko) * 2017-11-28 2019-12-02 한국건설기술연구원 개방형 운영관리시스템 및 그 시스템을 사용한 운영 방법
CN116541034A (zh) * 2022-01-26 2023-08-04 瑞昱半导体股份有限公司 基于显示端口界面的多流传输模式的固件升级方法及固件升级系统

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6167564A (en) * 1998-09-17 2000-12-26 Unisys Corp. Software system development framework
US6311321B1 (en) * 1999-02-22 2001-10-30 Intel Corporation In-context launch wrapper (ICLW) module and method of automating integration of device management applications into existing enterprise management consoles
EP1250643A2 (en) * 1999-08-23 2002-10-23 Koninklijke Philips Electronics N.V. Generic interface for a software module
US6880086B2 (en) * 2000-05-20 2005-04-12 Ciena Corporation Signatures for facilitating hot upgrades of modular software components
US6825719B1 (en) 2000-05-26 2004-11-30 Intel Corporation RF power amplifier and methods for improving the efficiency thereof
US6993760B2 (en) * 2001-12-05 2006-01-31 Microsoft Corporation Installing software on a mobile computing device using the rollback and security features of a configuration manager
WO2003083688A1 (en) 2002-03-22 2003-10-09 Sun Microsystems, Inc. Mobile download system
US7146609B2 (en) * 2002-05-17 2006-12-05 Sun Microsystems, Inc. Method, system and article of manufacture for a firmware image
US7478395B2 (en) * 2002-09-23 2009-01-13 Telefonaktiebolaget L M Ericsson (Publ) Middleware application message/event model
US20040117785A1 (en) * 2002-12-13 2004-06-17 Samsung Electronics Co., Ltd. Component download manager for a wireless mobile station and method of operation
US7478385B2 (en) * 2003-01-17 2009-01-13 National Instruments Corporation Installing software using programmatic component dependency analysis
US7069553B2 (en) * 2003-03-03 2006-06-27 Computer Associates Think, Inc. Universal deployment tool
US7562346B2 (en) * 2003-09-02 2009-07-14 Microsoft Corporation Software componentization for building a software product
US20050097574A1 (en) * 2003-10-30 2005-05-05 Microsoft Corporation Modular, robust, component user interface framework
US20050257093A1 (en) * 2004-04-21 2005-11-17 Johnson Stephen L Dynamic update of pluggable modules using a reference manager
JP2006031261A (ja) * 2004-07-14 2006-02-02 Matsushita Electric Ind Co Ltd マルチメディア処理システム
US7389505B2 (en) * 2004-07-30 2008-06-17 Extreme Networks, Inc. Method and apparatus for modifying software
EP1851622A4 (en) 2005-02-22 2008-06-04 Nextair Corp ENLARGEMENT ACCESS TO LOCAL SOFTWARE OF A WIRELESS INSTALLATION
US7895566B2 (en) * 2005-03-10 2011-02-22 Research In Motion Limited System and method for building a deployable component based application
US7941784B2 (en) * 2005-03-14 2011-05-10 Research In Motion Limited System and method for generating component based applications
CN1863095A (zh) * 2005-03-21 2006-11-15 奔峰电子(北京)有限公司 一种电子设备及其管理系统
US7797636B2 (en) * 2005-08-19 2010-09-14 Joseph Carter System and method for administering pluggable user interactive system applications
US7698684B2 (en) * 2005-09-28 2010-04-13 Sap Ag Method and system for generating schema to Java mapping descriptors and direct mapping of XML schema and Java interfaces
US7698685B2 (en) * 2005-10-12 2010-04-13 Microsoft Corporation Discovery, qualification, and activation of software add-in components
EP1816562A1 (en) * 2006-02-03 2007-08-08 Research In Motion Limited System and method for extending a component-based application platform with custom services
EP1818820A1 (en) * 2006-02-03 2007-08-15 Research In Motion Limited System and method for installing custom services on a component-based application platform
US7890930B2 (en) * 2006-12-11 2011-02-15 International Business Machines Corporation Method and system for allowing an eclipse feature to create/remove/update program groups and shortcuts, via an eclipse install handler
US7941810B2 (en) * 2006-12-28 2011-05-10 Intel Corporation Extensible and flexible firmware architecture for reliability, availability, serviceability features
US20080196024A1 (en) * 2007-02-08 2008-08-14 Ibm Corporation Method and Apparatus for Changing Software Components in an Information Handling System

Also Published As

Publication number Publication date
WO2009124915A1 (en) 2009-10-15
US20090259990A1 (en) 2009-10-15
EP2277108A1 (en) 2011-01-26
US8762977B2 (en) 2014-06-24
JP2011516987A (ja) 2011-05-26

Similar Documents

Publication Publication Date Title
JP5542796B2 (ja) モバイル・デバイス・ソフトウェアの管理方法及び装置
US10705811B2 (en) Method and system for automated, static instrumentation for applications designed for execution in environments with restricted resources, like mobile devices or TV set top boxes
US7996830B2 (en) Programming model generic application deployment
CN105657191B (zh) 一种基于Android系统的应用增量升级方法及系统
US9063725B2 (en) Portable management
JP5282677B2 (ja) 互換性評価装置、互換性評価方法、及びプログラム
US20150220308A1 (en) Model-based development
US10656971B2 (en) Agile framework for vertical application development and delivery
US20070282801A1 (en) Dynamically creating and executing an application lifecycle management operation
US8312446B2 (en) Dependency management when upgrading application components
US20040088397A1 (en) System and method for management of software applications
US10628173B1 (en) Remotely invoking dynamic classes on a computing device
KR102052776B1 (ko) 병행가능하고 신뢰성 있는 설치를 위한 설치 엔진 및 패키지 포맷
CN104699503A (zh) 一种替换安卓系统中函数的执行逻辑的方法及装置
CN112685020A (zh) 动态创建服务接口的方法、装置、电子设备及存储介质
CN108228266B (zh) 一种Android插件框架下不同插件间启动Fragment组件的方法和装置
CN114490103A (zh) 一种操作系统接口调用方法、装置以及电子设备
US20140173634A1 (en) Method and integration component for integrating osgi environments into a service-oriented architecture
JP5574017B2 (ja) 情報処理装置、互換性評価方法、及びプログラム
CN111694578A (zh) 一种获取基于WinSW的系统安装包的方法及装置
CN113050962A (zh) 移动服务升级方法、装置和终端
KR101771438B1 (ko) 이동통신 단말기 및 이의 어플리케이션 설치 방법
CN106502754B (zh) Activity组件加载方法及装置
JP2014102604A (ja) 機器管理装置、機器管理システム、及びプログラム
CN112346732A (zh) 应用程序的跨语言调用方法、装置、电子设备及存储介质

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120404

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120404

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130328

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130402

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130701

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131220

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140314

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140507

R150 Certificate of patent or registration of utility model

Ref document number: 5542796

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees