[go: up one dir, main page]

JP2008502067A - コンピュータ装置においてプラグイン・コード・モジュールを選択する方法 - Google Patents

コンピュータ装置においてプラグイン・コード・モジュールを選択する方法 Download PDF

Info

Publication number
JP2008502067A
JP2008502067A JP2007526542A JP2007526542A JP2008502067A JP 2008502067 A JP2008502067 A JP 2008502067A JP 2007526542 A JP2007526542 A JP 2007526542A JP 2007526542 A JP2007526542 A JP 2007526542A JP 2008502067 A JP2008502067 A JP 2008502067A
Authority
JP
Japan
Prior art keywords
plug
module
code module
score
code
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.)
Withdrawn
Application number
JP2007526542A
Other languages
English (en)
Inventor
カール マクドワル,
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Symbian Software Ltd
Original Assignee
Symbian Software Ltd
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 Symbian Software Ltd filed Critical Symbian Software Ltd
Publication of JP2008502067A publication Critical patent/JP2008502067A/ja
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • G06F9/44526Plug-ins; Add-ons

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Communication Control (AREA)
  • Computer And Data Communications (AREA)

Abstract

コンピュータ装置上のアプリケーションにより実行されるプラグインは、利用可能な複数のプラグインに対して、各プラグインが先のプラグインよりアプリケーションにより要求された基準に適合するかを連続して問い合わせることをサーバが繰り返すように構成することにより選択される。基準に最も適合するプラグインは、アプリケーションにより実行される。

Description

本発明は、コンピュータ装置を動作させる方法に関し、特に、装置が多くのプラグインのうち装置上の要求アプリケーションにより特定される属性に最も適合するプラグインを得ることができるように装置を動作させる方法に関する。
本明細書において使用される用語「コンピュータ装置」は、任意の形態のコンピュータ装置を含むように広範囲に解釈され、任意の形態のデータ記録装置、ハンドヘルドコンピュータ及びパーソナルコンピュータを含む任意の種類又は形態のコンピュータ、並びに、単一装置内で通信、画像の記録と再生との少なくともいずれか、及び演算機能性を組み合わせた移動電話、スマートフォン、通信機及び他の形態の無線/有線情報装置を含む任意の形態の通信装置を含む。
プラグインは、実行時にプラグインをロード又は呼び出し可能な疎結合アプリケーションに対して特定のサービスを提供する実行可能コードの置換可能な項目として定義される。プラグインは、通常、ダイナミック・リンク・ライブラリ(DLL)又は同様の種類のモジュールとしてロードされる。それらモジュールは、個別のプロセスとして生成及び実行されてもよいが、それらモジュールを呼び出すアプリケーションと同じプロセス空間内で実行する。
プラグインは、多くのオペレーティングシステムにおいて広く使用され、また、多くのアプリケーションにより広く使用される。この技術の主な利点は以下の通りである:
・新しい機能が要求された時にプラグインモジュールを追加又は置換できるため、プラグインを使用できるアプリケーションは本質的に拡張可能である。
・プラグインの動作コードは、要望に応じてのみアプリケーションによりロードされるため、プログラムによるデバイスメモリの要求量が少なくなり、起動が迅速になる。
この技術は、特許文献1(Eolas特許として周知である)の主題であったMicrosoft Internet Explorer及びNetscape等のウェブブラウザにおけるプラグインの一般的な組込みを通して、コンピュータ装置の殆どのユーザによく知られている。プラグインの使用を示す最も一般的なものには、ブラウザ内でJava(登録商標)アプレットを実行する基本原理の他に、ブラウザアプリケーションがプラグインに依存して特定の種類のコンテンツを提供することがある。マルチメディアファイルに関連してプラグインを使用することは、特に一般に普及している。
プラグインは、定義上、プラグインをロードするアプリケーションに本質的に依存しないため、プラグイン技術を使用する全てのシステムは、アプリケーションに対して、利用可能なプラグインを認識させるとともに、それらプラグインをロード又は呼び出す方法を知らせる機構を提供する必要がある。
MicrosoftのOLE技術のみに依存するWindows(登録商標)アプリケーションにより使用される機構のような初期の機構は、プラグイン名及びその位置に対するハードコーディングされたリンクを必要とした。これは、プラグインの置換のみを可能にし、別のプラグインコンポーネントの追加を可能にするためにホストアプリケーションの更新を必要とするため、満足のいくものではなかった。
次の機構は、プラグインの名前及び位置をレジストリ又はプラグイン・データベースに格納する。これは、柔軟性(flexibility)があり拡張可能であるため、名前のハードコーディングより優れていると考えられる。柔軟性を最大限にするとともに、同じプラグインが異なるアプリケーションにより使用されるように、そのようなレジストリ又はデータベースは、通常、アプリケーション別のものではなくシステム全体にわたるものである。従って、アプリケーションと共通のサービスを提供するプラグインとの間に1つ以上の中間層が提供されるのが一般的である。共通のサービスは、以下のことを含む。
・アプリケーションに対する適切な登録プラグインの位置。
・可能なプラグイン候補のうち呼び出されるべきプラグインを決定する。
・アプリケーションの代わりにプラグインをインスタンス化する。
Microsoftのコンポーネント・オブジェクト・モデル(COM)は、これを行なう周知の方法の1つである。この方法により、オペレーティングシステムは、レジストリにおいてプラグインモジュールの位置を特定し、インスタンス化を処理し、さらに呼び出しをアプリケーションからプラグイン・インスタンスにリダイレクト(redirect)する中間層を提供する。COMは、ソフトウェア製造業者が既存のアプリケーションの再構築を必要とせずに新しいアクセサリを既存のアプリケーションにプラグインできるように開発された。従って、COMコンポーネントは、ローカル・インプロセス(local in-process)DLLであってもリモートサーバ実行ファイルであっても、交換可能なプラグインとして設計されるべきである。
Sun Microsystemsの特許文献2において、「プログラムオブジェクトを発見及び結合するためのシステム及び方法(A System and Method for discovering and binding a program object)」が説明される。これにより、中間層は、レジストリを使用してプラグインを発見及びインスタンス化し、アプリケーションがプラグインと直接通信できるようにインスタンスに対する参照をアプリケーションに返す。
このようなシステム全体にわたる機構は、アプリケーション別のプラグイン・マネージャ等のより一般的ではない中間レベルと組み合わされるか、あるいは複数の同時アプリケーションを提供するためにプラグインが使用されることを可能にする専用サーバと組み合わされることが多い。
現在の技術に対する1つの課題は、多くのプラグイン候補が存在する場合、最適なプラグインを選択することは高度な技術的処理であり、それは、最適な選択を行なうために潜在的に複雑な意思決定機能又はアルゴリズムを必要とすることである。
そのような決定を行なう中間層に基づく任意の方法は、可能性として複雑な状態情報を維持するとともに、専門情報(specialised information)に関係することを必要とする。中間層がどの程度一般的であるかに依存して、全ての種類の既存のプラグインに対するルーチンを含むことにより不必要に肥大化したコードを得る可能性がある。これは、アーキテクチャに関して、プラグインの位置の特定及びインスタンス化等の共通のサービスを提供することに限定するべきである一般的なサービス層の役割と相反する。従って、全ての種類の中間層は、中間層が作成された時に認識されていなかった新しい種類のプラグインに対処するには不十分であろう。
これらの問題を示す1つの特定の例は、移動電話等の無線情報装置の位置情報サービス(LBS:Location Based Services)の実現例である。LBSは、位置に基づく情報、位置による課金、緊急サービス及び位置追跡を含む。これらの全ての特徴は、どこに存在することができるかを知らせることができる(ポジショニング:positioning)移動電話に依存する。しかし、ポジショニング情報を取得する多くの異なる方法が存在する。最も広く認識されるシステムは、全地球測位システム(GPS)を使用する。セルの三角測量等の別の技術も使用されるが、それら技術のうちの多くはネットワークに基づく技術である。ポジショニング情報を取得するために利用可能な方法は、今後拡張すると考えられている。例えば、欧州のガリレオプロジェクトは、最終的にはGPSに代わるシステムを提供するだろう。
アプリケーションがポジショニング情報を取得するために任意の方法を使用できるようにするLBSを実現するプラグイン設計は、非常に適切であり、重大な利点を提供することを当業者は認識するだろう。これは、以下の理由による:
・上述の全てのポジショニング技術は、同一の情報の種類を提供する。
・これらは、同じアプリケーション・プログラミング・インタフェース(API)に正確に適合(conform)するように作成することができる。
・一般に、アプリケーションは、これらのうちのいずれかのみを使用する必要がある。
しかし、位置を取得する上記技術は、精度、必要な電力、ユーザに対するコスト、及び位置測位情報取得時間など、非常に異なる特性を有する。従って、呼び出す技術を選択することは、多くの要因に依存する複雑な技術である。プラグインを呼び出す中間層は、それら要因を全て考慮することはできない。最悪の場合、ポジショニング情報を取得する方法について適切な決定を行なえないため、単純な「最終適合」機構を使用することになり、それにより、適切なAPIに適合する最後にインストールされた適合するプラグインがインスタンス化される。
特定の状況に対して特定のプラグインを選択することが好都合となる十分に異なる方法で特定のタスクを実行できる利用可能な複数のプラグインを装置が有する状況において、使用されるべきプラグインを自動的に判定する柔軟性のある拡張可能な方法は、現在存在しないことは明らかである。
米国特許第5,838,906号公報 国際公開第00/67114号パンフレット
従って、本発明の目的は、コンピュータ装置においてプラグインを選択するための改良された方法を提供することである。
本発明の第1の側面によれば、コンピュータ装置上で実行するソフトウェア・アプリケーションがコード・モジュールの集合のうち最適なコード・モジュールを実行させることを可能にする方法であって、
a)前記最適なコード・モジュールが有するべき特性又はプロパティを識別する工程と、
b)直接又は1つ以上の中間層を介して、前記特性又はプロパティを機能的に互換性のある可能なコード・モジュールの各々に渡す工程と、
c)前記コード・モジュールを使用して、前記コード・モジュールが前記特性又はプロパティにどの程度適合するかの決定論的計算をそれぞれ実行し、前記ソフトウェア・アプリケーション又は中間層に数値のスコアの結果を返す工程と、
d)前記ソフトウェア・アプリケーションにより直接に、又は、中間層により実行されるインスタンス化を介して、最良のスコアを有するモジュールを実行する工程と、を備える方法が提供される。
本発明の第2の側面によれば、第1の側面の方法に従って動作するように構成されるコンピュータ装置が提供される。
本発明の第3の側面によれば、第1の側面の方法に従って第2の側面によるコンピュータ装置を動作させるオペレーティングシステムが提供される。
LondonのSymbian Software Ltdにより作成された移動電話用のSymbian OS(商標)オペレーティングシステムは、1997年の最初のリリース以来、プラグインを広範囲にわたり使用してきた。プラグインは、従来、上述の中間層の種類によりロードされるポリモーフィック(polymorphic:多形の)DLLに基づいていたが、自身のプロセス空間で実行する実行ファイルとして実現することが多く提案されつつある。本発明は、いずれの種類のプラグインに対しても適用可能である。
本明細書で説明される本発明は、LBSに関して先に概要を説明した問題の解決方法を説明するが、本発明に基づく原理が可能なプラグイン間で選択を行なう必要のある任意の状況に同等に適用可能であることは、当業者には容易に理解されるだろう。従って、LBSの例は、例示する目的で使用されるものであり、他の分野において本発明の範囲又は適用性を限定するものとして解釈されるべきではない。同様に、当業者には明らかであるように、本明細書において説明されるようなSymbian OS(商標)オペレーティングシステムは、例示する目的で使用されるものであり、他のオペレーティングシステムに対して本発明の範囲又は適用性を限定するものとして解釈されるべきではない。
Symbian OS(商標)オペレーティングシステムの位置情報サービス・ポジショニング・サブシステムは、クライアント/サーバ・フレームワーク・アーキテクチャを採用し、複数のクライアント(アプリケーション)が複数のロケーション技術から装置の位置の周期的な更新データを検索できるようにする。
このアーキテクチャは、技術非依存であり、一貫したアプリケーション・プログラム・インタフェース(API)を介してアクセスされる、シングルトン(singleton)・ロケーション・サーバを含む。APIは、上述した任意の方法に適切な技術非依存の抽象層を提供する。
サーバは、ロケーション技術別のモジュールに対するアクセス権を管理する。モジュールは、プラグインとして実現される。モジュールは、オペレーティングシステムに動的に追加又はオペレーティングシステムから動的に除去され、クライアント・アプリケーションが知る必要なくロケーション・サーバにより検出されて使用される。
クライアントがロケーション・サーバに接続する場合、クライアントは、使用されるロケーション技術の所望のプロパティ又は必要とするプロパティを特定するために基準オブジェクトを提供できる。それら基準オブジェクトは、抽象APIにおいて特定され、水平精度、垂直精度又は初期測位時間等のサービス品質(QoS)パラメータを特定することを可能にする。費用及び電力消費等のアプリケーションにとって関心のある可能性がある他のパラメータも更に特定される。
本発明を使用して、ロケーション・サーバは、利用可能な複数のプラグインに対して、各プラグインが先のプラグインよりクライアントにより特定された基準に適合するかを連続して問い合わせることを繰り返す。ロケーション・サーバ自体は、「より適切である/適切でない」の結果がプラグインからプラグインへ搬送される方法を知らない。
本願において説明された方法は、プラグインが特定のQoS基準にどの程度適合するかを反映するスコアの決定論的(deterministic)計算を実行できる各プラグインに基づく。この計算では、各プラグインが知る「次の測位までの時間」等の属性の現在の値を使用する。計算は決定論的であり、各プラグインは適正さを保証するために同じルールに従い、正確な決定が常に行なわれる。最終的な選択を行なう多くの異なるアルゴリズム又は方法が可能である。その例は以下の通りである:。
1.サーバコンポーネントは、各プラグインをクエリして、最大の(すなわち、最も適合する)スコアを返すプラグインを常に監視し、全てのプラグインがクエリされると、最大のスコアを有するプラグインを選択する。
2.サーバコンポーネントは、各プラグインを順にクエリし、その時点までの最大のスコアを各プラグインに渡す。プラグインがそのスコアに「勝つ」ことができない場合、プラグインは、自身を考慮すべきものから除去する。プラグインがそのスコアに勝つ場合、プラグインは、最大のスコアを有することをサーバに知らせる。
これらの方法のうち第1の方法は、サーバコンポーネントによるある限定された意思決定を必要とし、第2の方法は、サーバが全く関係しないような意思決定を真に受け継ぐものである。しかし、本発明は、これら2つの方法に限定されず、当業者が考案する任意のアルゴリズムと協働するだろう。
本発明は、スコアを計算する(すなわち、決定論的計算に対する発行されたルールに従う)時に正常に挙動するプラグインに依存する。全ての場合において、呼び出すプラグインが適切に挙動することをアプリケーションが信頼する必要があるため、これは、関係する原理が不足するとは考えられず、追加の危険性もない。しかし、プラグインがよく考慮されずに信頼されるべきではないと決定された場合、プラグインがインストールされる時、テストされる時、検証(verify)される時、又は署名される時等、適切な時点で各プラグインの挙動をチェックすることが依然として可能である。あるいは、アプリケーションは、ウォッチドッグ(watchdog)又は他の機構により、実行時にプラグインの挙動の動的なチェックを実行してもよい。
本発明は、以下の利点を提供すると考えられる:
・アプリケーションが同等のサービスを提供する複数のプラグインを利用できる場合、本発明は、全てのアーキテクチャに適用可能である。
・本発明は、アプリケーション及びオペレーティングシステムのプラグインアーキテクチャの全ての中間レベルにおいて、潜在的に複雑な意思決定機能の必要性をなくす。
・本発明は、プラグインの選択を最適化する役割がプラグイン自体に効果的に渡される方法を説明する。
・本発明は、中間層とそれらが提供するプラグインモジュールとの間の不必要な依存性の発生を回避することにより、適切な設計を実現する。
本発明は、要求アプリケーションにより特定される所望のプロパティの集合に最も適合するプラグインを利用可能なプラグインの集合から得ることを可能にする方法及び装置を特定する。
プラグインの集合の各メンバ(member)は、所望のプロパティの集合にどの程度適合するかの決定論的計算を実行し、数字のスコアの結果を返すように要求される。
これにより、装置を制御するソフトウェアの任意の他の部分による明らかな介入又はソフトウェアの任意の他の部分における意思決定機能を必要とせずに最適なモジュールを選択できる。
本発明は、特定の実施形態を参照して説明されたが、添付の請求の範囲により規定されるように、本発明の範囲から逸脱せずに変更が行なわれてもよいことが理解されるだろう。

Claims (12)

  1. コンピュータ装置上で実行するソフトウェア・アプリケーションがコード・モジュールの集合のうち最適なコード・モジュールを実行させることを可能にする方法であって、
    a)前記最適なコード・モジュールが有するべき特性又はプロパティを識別する工程と、
    b)直接又は1つ以上の中間層を介して、前記特性又はプロパティを機能的に互換性のある可能なコード・モジュールの各々に渡す工程と、
    c)前記コード・モジュールを使用して、前記コード・モジュールが前記特性又はプロパティにどの程度適合するかの決定論的計算をそれぞれ実行し、前記ソフトウェア・アプリケーション又は中間層に数値のスコアの結果を返す工程と、
    d)前記ソフトウェア・アプリケーションにより直接に、又は、中間層により実行されるインスタンス化を介して、最良のスコアを有するモジュールを実行する工程と、を備える方法。
  2. 前記最適なコード・モジュールは、前記ソフトウェア・アプリケーションと同じプロセスにおいて実行される請求項1記載の方法。
  3. 前記最適なコード・モジュールは、中間層と同じプロセスにおいて実行される請求項1記載の方法。
  4. 前記最適なコード・モジュールは、自身のプロセスにおいて実行される請求項1記載の方法。
  5. 前記モジュールが中間層により実行される場合、前記中間層はシングルトン・サーバを備える請求項1から4のいずれか1項に記載の方法。
  6. 前記コード・モジュールは、前記コンピュータ装置に動的に追加されうるか又は前記コンピュータ装置から動的に除去されうるプラグインと、前記ソフトウェア・アプリケーションが前記モジュールの存在又は位置を知ることなく前記中間層により動的に検出されうるプラグインと、の少なくともいずれかから構成される請求項1から5のいずれか1項に記載の方法。
  7. 1つ以上のコード・モジュールの実行を要求し、前記中間層及び前記コード・モジュールの各々に渡すために、識別された特性又はプロパティを単一オブジェクトへ収集することによって、前記コンピュータ装置において、前記特性又はプロパティは、前記ソフトウェア・アプリケーション又は他のエンティティにより少なくとも部分的に識別される、請求項1から6のいずれか1項に記載の方法。
  8. 前記最良のスコアを有する前記コード・モジュールは、
    a)機能的に互換性のある独立したコード・モジュールの集合から各メンバをクエリし、各々に対するスコアを記録することと、
    b)あるいは、ゼロの高いスコアから開始して現在の最大のスコアをコード・モジュールの集合の各メンバに渡し、各メンバに対するスコアが前記現在の最大のスコアより良いかをクエリすることと、
    のいずれかによって識別される、請求項1から7のいずれか1項に記載の方法。
  9. コード・モジュールが前記特性又はプロパティに対して適合するか否かを判定するのに使用されるアルゴリズムに対する前記モジュールの挙動は、前記モジュールが前記コンピュータ装置にインストールされた時に検証されるか、あるいはインストール前に信頼機関により検証される、請求項1から8のいずれか1項に記載の方法。
  10. 前記コード・モジュールは、位置に基づくサービスを可能にするための、ポジショニング技術又はアルゴリズムを実現するのに使用される請求項1から9のいずれか1項に記載の方法。
  11. 請求項1から10のいずれか1項に記載の方法に従って動作するように構成されるコンピュータ装置。
  12. 請求項1から10のいずれか1項に記載の方法に従ってコンピュータ装置を動作させる前記コンピュータ装置のためのオペレーティングシステム。
JP2007526542A 2004-06-09 2005-06-08 コンピュータ装置においてプラグイン・コード・モジュールを選択する方法 Withdrawn JP2008502067A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB0413060A GB2415066A (en) 2004-06-09 2004-06-09 Selecting most suitable plug-in
PCT/GB2005/002250 WO2005121955A1 (en) 2004-06-09 2005-06-08 A method for selecting plug-in code modules in a computing device

Publications (1)

Publication Number Publication Date
JP2008502067A true JP2008502067A (ja) 2008-01-24

Family

ID=32732331

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007526542A Withdrawn JP2008502067A (ja) 2004-06-09 2005-06-08 コンピュータ装置においてプラグイン・コード・モジュールを選択する方法

Country Status (9)

Country Link
US (1) US8225296B2 (ja)
EP (1) EP1759286B1 (ja)
JP (1) JP2008502067A (ja)
CN (1) CN100561432C (ja)
AT (1) ATE387661T1 (ja)
DE (1) DE602005005052T2 (ja)
ES (1) ES2301015T3 (ja)
GB (1) GB2415066A (ja)
WO (1) WO2005121955A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013065155A (ja) * 2011-09-16 2013-04-11 Konica Minolta Business Technologies Inc 通信システム、通信装置およびプログラム

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060181540A1 (en) * 2005-02-12 2006-08-17 Patrick Loo Image editor with plug-in capability for editing images in a mobile communication device
US7706020B2 (en) * 2005-08-24 2010-04-27 Microsoft Corporation Extensible system for color management
WO2008033913A2 (en) * 2006-09-12 2008-03-20 Wayport, Inc. Providing location-based services without access point control
WO2009032548A2 (en) * 2007-09-06 2009-03-12 Microsoft Corporation Session broker extensibility application program iinterface
US8489576B2 (en) 2007-10-30 2013-07-16 Motorola Mobility Llc Methods and apparatus for using information regarding actions performed using traceable objects
US9060245B2 (en) 2007-10-30 2015-06-16 Google Technology Holdings LLC Methods and apparatus for collecting and using information regarding location object-based actions
US8250666B2 (en) * 2008-07-03 2012-08-21 Sap Ag Method and apparatus for improving security in an application level virtual machine environment
CN101645019A (zh) * 2008-08-04 2010-02-10 优诺威讯国际有限公司 虚拟操作系统创建方法
EP2239658A1 (en) * 2009-04-08 2010-10-13 Siemens Aktiengesellschaft Custom command line switch
EP2270658A1 (en) * 2009-06-22 2011-01-05 Clayster Asia Ltd. Method and computer system for introducing client devices into a client-server network
US20120036496A1 (en) * 2010-08-05 2012-02-09 Computer Associates Think, Inc. Plug-in based high availability application management framework (amf)
CN101937353B (zh) * 2010-09-20 2014-11-05 中兴通讯股份有限公司 一种插件部署和加载的方法及装置
US8856740B2 (en) * 2012-07-31 2014-10-07 Hewlett-Packard Development Company, L.P. Implementing multiple versions of a plug-in concurrently
US10089254B2 (en) * 2016-06-20 2018-10-02 Telefonaktiebolaget Lm Ericsson (Publ) Methods and apparatus for dynamically selecting an instruction set
CN107894882B (zh) * 2017-11-21 2021-02-09 南京硅基智能科技有限公司 一种移动终端的语音输入方法
US11776699B2 (en) * 2019-07-12 2023-10-03 Agfa Healthcare Nv Systems and methods for integrating healthcare applications
US20230388272A1 (en) * 2022-05-31 2023-11-30 Microsoft Technology Licensing, Llc Multiple Virtual Private Network Active Connection Management

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5838906A (en) 1994-10-17 1998-11-17 The Regents Of The University Of California Distributed hypermedia method for automatically invoking external application providing interaction and display of embedded objects within a hypermedia document
US6006279A (en) * 1997-01-21 1999-12-21 Canon Information Systems, Inc. Plug-in module host framework
US7355608B1 (en) * 1998-10-28 2008-04-08 International Business Machines Corporation Method for priority transmission and display of key areas of image data
US6279030B1 (en) * 1998-11-12 2001-08-21 International Business Machines Corporation Dynamic JAVA™ class selection and download based on changeable attributes
US6513153B1 (en) * 1999-03-03 2003-01-28 Cisco Technology, Inc. Automatically integrating and executing application software modules
WO2000067114A2 (en) 1999-05-03 2000-11-09 Sun Microsystems, Inc. System and method for discovering and binding a program object
US6742176B1 (en) * 1999-06-14 2004-05-25 Lycos, Inc. Secure flexible plugin software architecture
US6651084B1 (en) * 1999-11-29 2003-11-18 International Business Machines Corporation System and method for adding plug-ins to a web browser
US7747782B2 (en) * 2000-04-26 2010-06-29 Novarra, Inc. System and method for providing and displaying information content
US7299291B1 (en) * 2000-05-18 2007-11-20 Akamai Technologies, Inc. Client-side method for identifying an optimum server
US6834297B1 (en) * 2000-10-06 2004-12-21 Redline Networks, Inc. Web resource transfer acceleration system and method
JP2004530959A (ja) * 2000-12-18 2004-10-07 カルゴ、インコーポレイテッド コンテンツのモバイル装置への配信システム及び配信方法
WO2002086709A2 (en) 2001-04-23 2002-10-31 Artesia Technologies, Inc. Method and system for plug-in mapper
US7769895B1 (en) * 2001-08-17 2010-08-03 Corda Technologies, Inc. System and method for ensuring that a web browser displays the highest ranked image format possible for an image
US20030192041A1 (en) * 2002-04-03 2003-10-09 Mentze Duane E. software distribution system and method
US6941179B2 (en) * 2002-04-04 2005-09-06 Matsushita Electric Industrial Co., Ltd. Device control system, network constructed by the system, and program executed on device constructing the system
US7292531B1 (en) * 2002-12-31 2007-11-06 Packeteer, Inc. Methods, apparatuses and systems facilitating analysis of the performance of network traffic classification configurations
AU2005246320B2 (en) * 2004-05-14 2013-01-10 Mobilaps, Llc Method of providing a web page with inserted content

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013065155A (ja) * 2011-09-16 2013-04-11 Konica Minolta Business Technologies Inc 通信システム、通信装置およびプログラム

Also Published As

Publication number Publication date
CN1969257A (zh) 2007-05-23
EP1759286A1 (en) 2007-03-07
CN100561432C (zh) 2009-11-18
DE602005005052T2 (de) 2009-03-12
US20070234321A1 (en) 2007-10-04
DE602005005052D1 (de) 2008-04-10
US8225296B2 (en) 2012-07-17
ES2301015T3 (es) 2008-06-16
GB0413060D0 (en) 2004-07-14
ATE387661T1 (de) 2008-03-15
WO2005121955A1 (en) 2005-12-22
EP1759286B1 (en) 2008-02-27
GB2415066A (en) 2005-12-14

Similar Documents

Publication Publication Date Title
JP2008502067A (ja) コンピュータ装置においてプラグイン・コード・モジュールを選択する方法
KR101503209B1 (ko) 휴대용 컴퓨팅 디바이스의 스위치 패브릭들 내에서 그리고 스위치 패브릭들에 걸쳐 마스터-슬레이브 쌍들을 동적으로 생성하고 서비스하는 방법 및 시스템
US10540160B2 (en) Techniques for deploying virtual software applications on computers
US7779409B2 (en) Device-to-device software distribution
JP5026430B2 (ja) ソフトウェア・アドイン・コンポーネントの発見、資格認定、および起動すること
US9317275B2 (en) Computer system and program restoring method thereof
US9124609B2 (en) Ensuring consistency over time of data gathered by distinct software applications
JP2012520504A (ja) デバイスおよびウェブ・サービスにわたってブラウザー・キャッシュを同期させるためのプログラミング・モデル
WO2007070295A1 (en) Metadata driven deployment of applications
CN110990339B (zh) 分布式存储的文件读写方法、装置、平台及可读存储介质
US8087015B2 (en) Assignment of application models to deployment targets
WO2008069431A1 (en) Download server and method for installing and updating application program using partitioning of shared library
US11392391B2 (en) Selectively updating a bios image
US20200372084A1 (en) Efficient freshness crawl scheduling
US8291406B2 (en) Data imaging system and methods
US8510423B2 (en) Install system and install method
US20180059650A1 (en) Techniques for multiple application banks in a welding or cutting system
US20020052908A1 (en) Information processing method and information
JP5804192B2 (ja) 情報処理装置、情報処理方法および情報処理システム
US20230350658A1 (en) Deployment of a computing environment
US20030018962A1 (en) System and method for accessing streaming data
CN112889247A (zh) Vnf服务实例化方法及装置
US20080301686A1 (en) Method and apparatus for extending operations of an application in a data processing system
US20090287711A1 (en) Information search system and its method
Schill et al. Architectural Design and Performance Aspects of Developing Applications Based on Middleware

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080513

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20090309

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20090319

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20090319

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20100818