JP2005531049A - アプリケーションの自動インストール - Google Patents

アプリケーションの自動インストール Download PDF

Info

Publication number
JP2005531049A
JP2005531049A JP2004502145A JP2004502145A JP2005531049A JP 2005531049 A JP2005531049 A JP 2005531049A JP 2004502145 A JP2004502145 A JP 2004502145A JP 2004502145 A JP2004502145 A JP 2004502145A JP 2005531049 A JP2005531049 A JP 2005531049A
Authority
JP
Japan
Prior art keywords
installation
application
plug
client
media
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
JP2004502145A
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.)
Hewlett Packard Development Co LP
Original Assignee
Hewlett Packard Development Co LP
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 Hewlett Packard Development Co LP filed Critical Hewlett Packard Development Co LP
Publication of JP2005531049A publication Critical patent/JP2005531049A/ja
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • G06F9/44526Plug-ins; Add-ons
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2379Updates performed during online database operations; commit processing

Landscapes

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

Abstract

【課題】 クライアントにおいて適当なアプリケーションの自動コンテンツダウンロードおよびインストールのための方法などを提供する。
【解決手段】 本発明にかかる方法は、ネットワーク(116)に連結されたサーバ(109)と、サーバに保持され、ネットワーク(116)に連結されたクライアント(103)によってアクセス可能なネットワークページ(206)とを備える。ネットワークページは、メディア要素(209)とメディアアクチュエータ(213)へのリンクを有する。メディアアクチュエータは、クライアントに対しインストールプラグイン(156)の実行を提供するリンクを有し、インストールプラグインは、クライアントにおいてアプリケーション(153)の自動インストールを実行し、アプリケーションは、メディアコンテンツをレンダリングするために使用される。

Description

本発明は、アプリケーションの自動インストールに関する。
[背景]
インターネットは、ユーザが、リモートウェブサイトからクライアント装置にコンテンツをダウンロードしそこに含まれるコンテンツを表示しまたは他の方法でかかるコンテンツと対話することができるようにする。
多くの場合、たとえばAdobe Acrobat文書、Microsoft Paint文書またはビデオコンテンツ等、コンテンツの特定の項目を閲覧しまたはそれと対話するためには、特別なアプリケーションが必要である。
かかる場合、ユーザは、コンテンツ項目をダウンロードするように試みるが、結局自身のクライアント装置に、ダウンロードしたコンテンツ項目を表示しまたはそれと対話するために必要なアプリケーションがないことが分かる場合がある。
そして、その必要なアプリケーションをダウンロードし、インストールするか否かはユーザ次第である。
国際公開第01/53937号 米国特許第6347398号 米国特許出願公開第2002/007357号 国際公開第01/27824号 国際公開第01/11466号 米国特許第6052732号 米国特許第6078951号
不都合なことに、すべてのウェブアプリケーションのダウンロードのうちの50%に及ぶものが複数の理由で失敗すると推定される。
したがって、かかる状況では、ユーザは、所望のコンテンツにアクセスしまたは他の方法でそれを享受することができない。
本発明を、以下の図面を参照して理解することができる。
図面の構成要素は、必ずしも一定比例尺になっていない。
また、図面において、同様の参照数字は各図面を通して対応する部分を示す。
[詳細な説明]
図1を参照すると、本発明の態様によるクライアント/サーバネットワーク100が示されている。
クライアント/サーバネットワーク100は、クライアント103と、情報サーバ106と、メディアサーバ109と、アプリケーションサーバ113と、を有し、それらはすべてネットワーク116に連結されている。
ネットワーク116は、たとえば、インターネット、イントラネット、広域ネットワーク(WAN)、ローカルエリアネットワーク、無線ネットワークまたは他の適当なネットワーク等もしくは2つ以上のかかるネットワークの任意の組合せを含んでもよい。
クライアント103とサーバ106、109および113とは、ネットワーク116との間のデータ通信を容易にするために、当業者には既知の多数の方法のうちの1つによってネットワーク116に連結されている。
これに関して、クライアント103とサーバ106、109および113を、たとえばネットワークカード、モデム、ルータまたは他のかかる通信装置等のさまざまなデバイスを介してネットワーク116にリンクさせてもよい。
クライアント/サーバネットワーク100に含まれるさまざまなデバイスは、本発明によりネットワーク116によるクライアント103へのアプリケーションの自動インストールを容易にする。
クライアント/サーバネットワーク100におけるさまざまなデバイスの動作を詳細に説明する前に、まず、さまざまなデバイスの物理的態様を詳細に説明する。
その後、ネットワーク116によるクライアント103へのアプリケーションの自動インストールを容易にするさまざまなデバイスの動作について説明する。
クライアント103は、コンピュータシステムまたは同様の機能を有する他のデバイスを備える。
これに関して、クライアント103は、ともにローカルインタフェース129に連結されたプロセッサ123とメモリ126とを備えるプロセッサ回路を有する。
ローカルインタフェース129は、たとえば、当業者には一般に既知であるように、制御/アドレスバスが付随するデータバスであってもよい。
クライアント103は、表示装置133と、マウス136と、キーボード139と、プリンタ143と、を有する。
クライアント103で使用してもよい他の周辺機器には、たとえば、キーパッド、タッチパッド、タッチスクリーン、マイクロフォン、スキャナ、ジョイスティックもしくは1つまたは複数の押ボタン等があってもよい。
周辺機器にはまた、表示灯、スピーカ等があってもよい。
表示装置133は、たとえば、ブラウン管(CRT)、液晶ディスプレイスクリーン、ガスプラズマベースのフラットパネルディスプレイまたは他のタイプの表示装置等であってもよい。
当業者は理解することができるように、クライアント103は、ネットワーク116に連結される多数のクライアント装置の代表的なものである。
当業者は理解することができるように、情報サーバ106と、メディアサーバ109と、アプリケーションサーバ113と、は、各々、クライアント103について説明したものと同様のさまざまな周辺機器を有してもよい。
クライアント103はまた、メモリ126に格納されプロセッサ123が実行可能な複数のソフトウェアコンポーネントを有する。
これらのソフトウェアコンポーネントには、オペレーティングシステム146と、ブラウザ149と、後述するようにクライアント103にインストールされるアプリケーション153と、がある。
後述するように、クライアント103へのアプリケーション153のインストール中に、ブラウザ149に対し、インストールプラグイン156を実施するように命令してもよい。
インストールプラグイン156は、たとえば、ブラウザプラグイン、ActiveXコントロールまたは他のプログラムであってもよい。
これに関して、アプリケーション153は、クライアント103にインストールされるものであって、クライアント103に初めから存在しなくてもよい。
当業者は理解することができるように、実行時、ブラウザ149は、表示装置133上に例示的なGUI149a等のブラウザグラフィカルユーザインタフェース(GUI)を生成する。
情報サーバ106もまた、ともにローカルインタフェース169に連結されるプロセッサ163とメモリ166とを備えるプロセッサ回路を有する、コンピュータシステムまたは他の同様のデバイスであってもよい。
ローカルインタフェース169は、たとえば、当業者は理解することができるように、制御/アドレスバスが付随するデータバスであってもよい。
情報サーバ106は、メモリ166に格納されプロセッサ163が実行可能ないくつかのソフトウェアコンポーネントを含む。
これらのコンポーネントには、オペレーティングシステム173と、インストール情報システム176と、インストールプラグイン156と、プラグインエグゼキュータ179aと、プラグインインストーラ179bと、がある。
インストール情報システム176は、アプリケーションテーブル183を含む。
インストールプラグイン156と、インストール情報システム176と、プラグインインストーラ179bとは、後述するように、クライアント103へのアプリケーション153のインストールのプロセス中に使用される。
プラグインエグゼキュータ179aは、後述するように、インストールプラグイン156がクライアント103に先にインストールされた場合にそれを実行するために使用される。
クライアントサーバネットワーク100はまた、コンピュータシステムまたは同様の機能を有する他のデバイスであってもよいメディアサーバ109を有する。
これに関して、メディアサーバ109は、ともにローカルインタフェース199に連結されたプロセッサ193とメモリ196とを備えるプロセッサ回路を有する。
ローカルインタフェース199は、たとえば、当業者には一般に既知であるように、制御/アドレスバスが付随するデータバスであってもよい。
メディアサーバ109は、たとえばオペレーティングシステム203等、メモリ196に格納されプロセッサ193によって実行可能なソフトウェアコンポーネントを含む。
メディアサーバ109はまた、ネットワークページ206とメディア要素209とを有する。
ネットワークページ206は、必要に応じてたとえば、ハイパーテキスト・マークアップ言語(HTML)または拡張可能マークアップ言語(XML)または他のマークアップ言語によって表現されるウェブページであってもよい。
別法として、必要に応じてネットワークページ206を生成するために、マークアップ言語以外の他の言語を使用してもよい。
ネットワークページ206は、後述するように、クライアント103にアプリケーション153をインストールするために実施されるさまざまな機能を含むメディアアクチュエータ213を有する。
これに関して、クライアント103のブラウザ149は、ネットワークページ206にアクセスしそのネットワークページを表示装置においてレンダリングされたネットワークページ206aとして表示してもよい。
これに関して、メディアサーバ109はまた、当業者には一般に既知であるように、たとえばハイパーテキスト転送プロトコル(HTTP)または他の適当なプロトコル等の適当なプロトコルに従って、ネットワーク116を通してネットワークページ206および/またはメディア要素209をクライアント103へダウンロードするのを容易にするサーバソフトウェアも有する。
ネットワークページ206をレンダリングする際、ブラウザ149はまた、必要に応じて表示装置133においてグラフィカルメディアアクチュエータ213aまたは他のアクチュエータとメディア要素リンク209aとを生成する。
メディア要素リンク209aは、たとえば、ユーザ入力または命令に応じるレンダリングされたウェブページのハイパーリンクまたは他の領域であってもよい。
メディア要素209は、たとえばビデオファイル、音声ファイル、マクロメディアフラッシュファイル、画像ファイル、スライドショー、仮想現実設計言語(VRML)ファイルもしくは他の何らかのマルチメディアファイル、文書または他のメディア等、任意のタイプの文書または他のファイルであってもよい。
クライアントサーバネットワーク100はまた、アプリケーション153が配置されクライアント103によってアクセス可能となるアプリケーションサーバ113も有する。
これに関して、アプリケーションサーバ113は、コンピュータシステムまたは同様の機能を有する他のデバイスであってもよい。
したがって、アプリケーションサーバ113は、ともにローカルインタフェース229に連結されるプロセッサ223とメモリ226とを備えるプロセッサ回路を有する。
ローカルインタフェースは、たとえば、当業者には一般に既知であるように、制御/アドレスバスが付随するデータバスであってもよい。
アプリケーションサーバ113は、メモリ226に格納されプロセッサ223によって実行可能なオペレーティングシステム233を有する。
アプリケーション153もまた、メモリ226に格納され、ネットワーク116を通してクライアント103にダウンロードされることが可能になる。
これに関して、アプリケーションサーバ113はまた、ネットワーク116を通してアプリケーション153をクライアント103へダウンロードするのを容易にする、メディアサーバ109のものと同様のサーバソフトウェアを有する。
別々のサーバ106、193および223が、ネットワーク116に連結されているように示されるが、当業者が理解することができるように、これらのサーバの各々の中のさまざまなコンポーネントは移植可能であり、単一サーバ上で結合するかまたは分散した異なるサーバ間で分散することが可能である、ということが理解される。
メモリ126、166、196および226の各々を、本明細書では、揮発性および不揮発性両方のメモリおよびデータ記憶コンポーネントとして定義する。
揮発性コンポーネントは、電源の喪失時にデータ値を保持しないものである。
不揮発性コンポーネントは、電源の喪失時にデータを保持するものである。
したがって、メモリ126、166、196および226の各々は、たとえば、ランダムアクセスメモリ(RAM)、リードオンリメモリ(ROM)、ハードディスクドライブ、関連するフロッピーディスク(登録商標)ドライブを介してアクセスされるフロッピーディスク、コンパクトディスクドライブを介してアクセスされるコンパクトディスク、適当なテープドライブを介してアクセスされる磁気テープおよび/または他のメモリコンポーネント、もしくはこれらのメモリコンポーネントのうちの任意の2つ以上の組合せを含んでもよい。
さらに、RAMは、たとえば、スタティックランダムアクセスメモリ(SRAM)、ダイナミックランダムアクセスメモリ(DRAM)または磁気ランダムアクセスメモリ(MRAM)および他のかかるデバイスを含んでもよい。
ROMは、たとえば、プログラマブルリードオンリメモリ(PROM)、消去可能プログラマブルリードオンリメモリ(EPROM)、電気的に消去可能プログラマブルリードオンリメモリ(EEPROM)または他の同様のメモリデバイスを含んでもよい。
また、プロセッサ123、163、193および223の各々は、複数のプロセッサを表してもよく、メモリ126、166、193および223の各々は、それぞれ並列処理回路で動作する複数のメモリを表してもよい。
かかる場合、ローカルインタフェース129、169、199および229の各々は、複数のプロセッサのうちの任意の2つの間、任意のプロセッサとメモリのうちの任意のものとの間、またはメモリのうちの任意の2つの間等の通信を容易にする適当なネットワークであってもよい。
プロセッサ123、163、193および223は、本質的に電気的であっても光学的であってもよい。
オペレーティングシステム146、173、203および233の各々を、クライアント103およびサーバ106、109、113における、メモリ、処理時間および周辺機器等のハードウェア資源の割当ておよび使用を制御するように実行する。
このように、オペレーティングシステム146、173、203および233の各々は、当業者には一般に既知であるように、アプリケーションが依存する基礎としての役割を果たす。
次に、本発明の動作を例示するために、クライアント/サーバネットワーク100のさまざまなコンポーネントの動作を説明する。
まず、クライアント103のユーザが、ブラウザ149を操作してメディアサーバ109からネットワークページ206をダウンロードするものとする。
ネットワークページ206は、メディア要素209に対するリンクを含む。
また、クライアント103には、メディア要素209をレンダリングするために必要なアプリケーション153がないものとする。
本明細書で使用する「レンダリング」という用語は、ユーザが理解可能な方法でメディア要素209の提示を達成するタスクを実行することとして定義する。
これに関し、レンダリングの行為は、たとえば、テキストまたは画像の表示またはプリント、音声ファイルの再生およびユーザに対する提示を達成する他の任意のタスクであってもよい。
クライアント103にメディア要素209をレンダリングするアプリケーション153がないため、ユーザは、クライアント103において所望のレンダリングを実行するために必要なアプリケーション153をインストールする必要がある。
これを達成するために、ユーザは、表示装置133においてネットワークページ206aの一部として示されるメディアアクチュエータ213aをクライアント103にクリックし、メディア要素209をレンダリングする際に用いるアプリケーション153を自動的にインストールする。
メディアアクチュエータ213の機能は、ユーザによってメディアアクチュエータ213aが操作される時に実行される。
これに関し、メディアアクチュエータ213aは、表示装置133に表示され、レンダリングされたメディアアクチュエータ213aと対話するユーザによって操作される、トリガメカニズムとして作用する。
ネットワークページ206に関連するメディアアクチュエータ213は、クライアント103においてインストールプラグイン156がすでにインストールされているか否かを検出する、たとえばActiveXコントロール、Java(登録商標)ScriptまたはVisual Basic Script(VBScript)等のロジックまたはコードを含む。
実行時、メディアアクチュエータ213は、クライアント103においてインストールプラグイン156が目下インストールされているか否かを判断する。
インストールプラグイン156がそのようにインストールされている場合、メディアアクチュエータ213は、情報サーバ106から、インストールプラグイン156を実行しクライアント103へのアプリケーション153の結果としてのダウンロードおよびインストールの進行状況を監視するプラグインエグゼキュータ179aをダウンロードする。
プラグインエグゼキュータ179aは、表示装置133において、たとえばクライアント103へのアプリケーション153の結果としてのダウンロードおよびインストールの進行状況に関する指示を提供してもよい。
別法として、メディアアクチュエータ213は、クライアント103にインストールプラグイン156がインストールされていないと判断すると、情報サーバ106からプラグインインストーラ179bをダウンロードする。
そして、プラグインインストーラ179bは、情報サーバ106からインストールプラグイン156をダウンロードし、その後、クライアント103においてインストールプラグイン156をインストールし実行する。
これに関して、プラグインインストーラ179bは、ダウンロードを容易にするためにインストールプラグイン156のユニフォームリソース識別子(uniform resource identifier)(URI)を含む。
プラグインインストーラ179bはまた、アプリケーション153のインストールにおける進行状況を監視し、表示装置133においてかかる進行状況を示してもよい。
インストールプラグイン156を実行する際、プラグインエグゼキュータ179aおよび/またはプラグインインストーラ179bは、ブラウザ149に対してインストールプラグイン156を実行するように命令してもよく、あるいは他の何らかの手法を使用してもよい。
メディアアクチュエータ213は、プラグインエグゼキュータ179aまたはプラグインインストーラ179bのいずれかをダウンロードするために、プラグインアクチュエータ179aへのリンクとプラグインインストーラ179bへのリンクとを含むスクリプトを使用する。
これに関して、メディアアクチュエータ213は、インストールプラグイン156の実行もしくはダウンロード、インストールおよび実行のいずれかを容易にする。
インストールプラグイン156を実行する場合、プラグインエグゼキュータ179aまたはプラグインインストーラ179bのいずれかは、インストールプラグイン156に対してアプリケーション識別子を提供する。
アプリケーション識別子は、メディア要素209をレンダリングするためにクライアント103にインストールされる対応するアプリケーション153に関連する。
これに関して、アプリケーション識別子は、たとえば、メディア要素209のファイル拡張子、アプリケーション153のファイル名およびバージョン、もしくは情報サーバ106においてアプリケーション153の所望のバージョンを表すニックネームであってもよい。
また、これらのパラメータのすべての組合せを、同様に提供してもよい。
さらに、メディアアクチュエータ213は、メディア要素209をダウンロードするために使用されるべきインストールプラグイン156に対しメディア要素209のユニフォームリソース識別子(URI)を提供する。
インストールプラグイン156は、クライアント103で実行されている時、情報サーバ106のインストール情報システム176に送信されるべき、アプリケーション153に対するセキュアな要求を生成する。
インストールプラグイン156は、セキュアな要求に、インストール情報システム176に対しいずれのアプリケーション153が望まれているかを正確に通知するアプリケーション識別子を含む。
セキュアな要求は、ネットワーク116上のアプリケーション153の位置を識別するユニフォームリソース識別子(URI)に対する、インストール情報システム176への要求である。
セキュアな要求を、たとえばハイパーテキスト転送プロトコルセキュア(hypertext transfer protocol secure)(HTTPS)等の任意の適当なセキュアな伝送プロトコルまたはメカニズムを使用して作成してもよい。
また、当業者は理解することができるように、さまざまな暗号化および認証システムを使用してもよい。
さらに、インストールプラグイン156によって生成されるセキュアな要求以外の本明細書で説明する他のすべての伝送が、セキュアな伝送であってもよい。
情報サーバ106は、セキュアな要求を受信し、それを、処理するためにインストール情報システム176に通信する。
これに関して、それぞれのデバイスにおいてデータを「受信する」という行為には、ネットワーク116からデータを受け入れること、およびさらに処理するためにデバイスに関連付けられたメモリにデータを格納すること、が伴う。
次に、インストール情報システム176は、アプリケーションテーブル183を調べてアプリケーション識別子に関連するアプリケーション153を探す。
これに関して、アプリケーションテーブル183は、それぞれのアプリケーション識別子をアプリケーション153のユニフォームリソース識別子にマッピングする情報を含む。
アプリケーションテーブル183はまた、アプリケーション識別子をそれぞれのアプリケーション153に関連するハッシュ合計にマッピングする。
ハッシュ合計を、アプリケーション153から計算し、アプリケーション153がクライアント103において望まれたアプリケーションであることを確実にするために認証手段として使用する。
特に、ハッシュ合計を、適当なハッシュシステムを使用してアプリケーション153から計算する。
たとえば、ハッシュ合計は、MD5ハッシュかまたは等価物であってもよい。
インストール情報システム176は、アプリケーション153に関連するユニフォームリソース識別子と対応するハッシュ合計とを取得すると、そのアプリケーションのユニフォームリソース識別子とハッシュ合計とを含むセキュアな応答を生成し、それをクライアント103に送信する。
別の実施形態では、上記要求および応答は、セキュアな伝送でなくてもよい。
所望のアプリケーション153に関連するユニフォームリソース識別子とハッシュ合計とを受け取ると、インストールプラグイン156は、アプリケーション153のユニフォームリソース識別子(indicator→identifierとして訳)を使用してアプリケーション153に対する要求を送信する。
ユニフォームリソース識別子は、アプリケーションサーバ113におけるアプリケーション153の位置を識別する。
これに応じて、アプリケーションサーバ113は、クライアント103にアプリケーション153のインストールバージョンを送信する。
アプリケーション153のインストールバージョンを、後にクライアント103にインストールすることができる形態で提供し、これはまた、当業者は一般に理解することができるように、「インストーラ」として知られている。
そして、インストールプラグイン156は、アプリケーション153のインストーラを受け取ると、アプリケーション153のインストーラからハッシュ合計を計算することによりそれが真正であることを検証してもよいが、不要であると考えられる場合、この検証ステップをスキップしてもよい。
検証を実行すると想定すると、インストールプラグイン156は、ハッシュ計算システムを実行してハッシュ合計を生成してもよい。
このハッシュ計算システムは、情報サーバ106のアプリケーションテーブル183に格納されるハッシュ合計を生成するために使用したハッシュ計算システムと同じである。
そして、この新たに生成されたハッシュ合計をインストール情報システム176から受け取ったハッシュ合計と比較することにより、アプリケーション153のインストーラが真正であるか否かを判断してもよい。
アプリケーション153のインストーラが真正であると想定すると、インストールプラグイン156は、クライアント103へのアプリケーション153のインストールを実行する。
そうする際、インストールプラグイン156は、インストールプロセスのステータスをユーザに通知する1つまたは複数のGUIが表示装置133に表示されるようにしてもよい。
別法として、プラグインエグゼキュータ179aまたはインストーラ179bが、ユーザに対し、上述したようにインストールプロセスの進行状況に関して通知してもよい。
アプリケーション153のインストール中、当業者は理解することができるように、たとえば、適当なインストールが確実に発生するようにするためにクライアント103で開いているすべてのアプリケーションをシャットダウンすることを含む、1つまたは複数のタスクを実行するようにユーザに命令してもよい。
その後、アプリケーション153がクライアント103に正しくインストールされたと想定すると、インストールプラグイン156は、メディアサーバ109からメディア要素209をダウンロードする。
クライアント103においてメディア要素209が受け取られると、インストールプラグイン156は、アプリケーション153を実行しメディア要素209をレンダリングし始める。
要求に対する任意の期待された応答が期待された時に受け取られなかったという事実等、インストールプラグイン156の動作中に任意の障害が発生するかまたは他のエラーが発生すると、インストールプラグイン156は、表示装置133において、ユーザに対しかかるエラーを通知するGUIを生成する。
かかる状況では、アプリケーション153のインストールおよび/またはクライアント103におけるメディア要素209のレンダリングは、通常は打ち切られる。
図2を参照すると、本発明の態様による、表示装置133(図1)において生成される例示的なブラウザGUI149aが示されている。
図示するように、ブラウザGUI149aは、メディアサーバ109(図1)かまたはネットワーク116(図1)に連結された別のサーバに格納された1つまたは複数のメディア要素209(図1)を参照する複数のメディア要素リンク209aを含むネットワークページ206aを示す。
これに関して、メディア要素リンク209aは、たとえば、ハイパーテキストリンクまたは他のリンクもしくはアドレスを含んでもよい。
しかしながら、ブラウザGUI149aの内容は、単に例示的なものであり、他のグラフィカル要素を使用してもよいこと等が理解される。
ユーザがメディア要素リンク209aのうちの1つをクリックするようにGUIと対話し、アプリケーション153(図1)がクライアント103(図1)にインストールされていないとすれば、クライアント103にダウンロードされたいかなるメディア要素209もレンダリングすることができない。
そうである場合、ユーザは、メディア要素リンク209aに関連ししたがってメディア要素209に関連するメディアアクチュエータ213をクリックしてもよい。
このように、メディア要素209のみがダウンロードされるのではなく、メディア要素209をレンダリングするために必要なアプリケーション153もまたクライアント103にダウンロードされインストールされる。
その後、インストールされたアプリケーション153は実行され、メディア要素209は、それ以上のユーザ入力なしに自動的にレンダリングされる。
状況によっては、ユーザに対し、アプリケーション153のインストール中に、たとえばクライアント103で開いているすべてのアプリケーションを閉じること等のさまざまなタスクを実行するように促してもよい。
図3を参照すると、本発明の実施形態による、メディアアクチュエータ213の動作を示すフローチャートが示されている。
別法として、図3のフローチャートを、メディアアクチュエータ213に関連しクライアント103(図1)で実施される方法のステップを示すものとして見てもよい。
ボックス253で開始して、メディアアクチュエータ213a(図2)へのユーザのクリック動作により実行されると、メディアアクチュエータ213はまず、クライアント103にインストールプラグイン156(図1)が存在するか否かを判断する。
存在する場合、メディアアクチュエータ213はボックス256に進む。
そうでない場合、メディアアクチュエータ213はボックス259にジャンプする。
ボックス256において、メディアアクチュエータ213は、たとえばウェブページに組み込まれていてもよいプラグインエグゼキュータ179aをダウンロードする。
そして、プラグインエグゼキュータ179aが実行されることにより、先にダウンロードされたインストールプラグイン156が実行される。
さらに、ボックス256において、メディアアクチュエータ213は、ユーザに対し、アプリケーションダウンロードの進行状況とメディア要素209のダウンロードの進行状況とを示す。
その後、メディアアクチュエータ213は終了する。
ボックス259において、メディアアクチュエータ213は、たとえばウェブページに組み込まれていてもよいプラグインインストーラ179bをダウンロードする。
そして、プラグインインストーラ179bが実行されることにより、インストールプラグイン156がダウンロードされ、インストールされ、実行される。
さらに、ボックス259において、メディアアクチュエータ213は、ユーザに対し、アプリケーションダウンロードの進行状況とメディア要素209のダウンロード進行状況とを示す。
その後、メディアアクチュエータ213は終了する。
次に図4Aを参照すると、本発明の実施形態によるプラグインエグゼキュータ179aの動作のフローチャートが示されている。
別法として、図4Aのフローチャートを、クライアント103(図1)においてインストールプラグイン156を実行するために、本発明の態様によりクライアント103において実施される方法のステップを示すものとして見てもよい。
プラグインエグゼキュータ179aを、たとえば、ハイパーテキスト・マークアップ言語(HTML)と、たとえばActiveXコントロール、JavaScript、Visual Basic Script(VBScript)または他の言語等のロジックまたはコードと、を使用して作成してもよい。
ボックス261で開始して、プラグインエグゼキュータ179aはまず、クライアント103において既存のインストールプラグイン156を実行する。
そうする際、プラグインエグゼキュータ179aは、インストールプラグイン156に対し、アプリケーション識別子とメディア要素209のユニフォームリソース識別子とを提供してもよく、かかる情報は、メディアアクチュエータ213によって提供されている。
別法として、かかる情報を、メディアアクチュエータ213によりインストールプラグイン156自体に直接提供してもよい。
その後、ボックス263において、プラグインエグゼキュータ179aは、クライアント103におけるアプリケーション153(図1)とメディア要素209(図1)とのダウンロードの進行状況を監視し、かかる進行状況を表示装置133において指示してもよい。
別法として、かかる指示を、インストールプラグイン156自体によって生成してもよい。
次に図4Bを参照すると、本発明の実施形態によるプラグインインストーラ179bの動作のフローチャートが示されている。
別法として、図4Bのフローチャートを、情報サーバ106からインストールプラグイン156をダウンロードしそれをクライアント103(図1)においてインストールし実行するために、本発明の態様によりクライアント103において実施される方法のステップを示すものとして見てもよい。
プラグインインストーラ179bを、たとえば、ハイパーテキスト・マークアップ言語(HTML)と、たとえばActiveXコントロール、JavaScript、Visual Basic Script(VBScript)または他の言語等のロジックまたはコードと、を使用して生成してもよい。
ボックス266で開始して、プラグインインストーラ179bは、情報サーバ106からインストールプラグイン156をダウンロードし、それをクライアント103においてインストールする。
その後、ボックス269において、プラグインインストーラ179bは、クライアント103においてインストールプラグイン156を実行する。
そうする際、プラグインインストーラ179bは、インストールプラグイン156に対し、アプリケーション識別子とメディア要素209のユニフォームリソース識別子とを提供してもよく、かかる情報は、メディアアクチュエータ213によって提供されている。
別法として、かかる情報を、メディアアクチュエータ213によりインストールプラグイン156自体に直接提供してもよい。
その後、ボックス271(図面では271になっています)において、プラグインインストーラ179bは、クライアント103においてアプリケーション153(図1)のダウンロードおよび実行の進行状況を監視し、かかる進行状況を表示装置133において指示してもよい。
別法として、かかる指示を、インストールプラグイン156自体によって生成してもよい。
図5を参照すると、本発明の実施形態によるインストールプラグイン156の動作のフローチャートが示されている。
別法として、図5のフローチャートを、メディア要素209(図1)をレンダリングするためにアプリケーション153をクライアント103(図1)にインストールするために、本発明の態様によりクライアント103において実施される方法のステップを示すものとして見てもよい。
ボックス273で開始して、インストールプラグイン156がクライアント103にダウンロードされインストールされており、ブラウザ140によって実行されるものと想定すると、インストールプラグイン156はまず、アプリケーション153の要求されたバージョンがクライアント103にインストールされているか否かを判断する。
アプリケーションの特定のバージョンは、メディア要素209と互換性がありまたはそれをレンダリングすることができるいかなるバージョンであってもよい。
その後、ボックス276において、アプリケーション153の要求されたバージョンがインストールされている場合、インストールプラグイン156はボックス279にジャンプし、そうでない場合、インストールプラグイン156はボックス283に進む。
ボックス283では、表示装置133(図1)において、アプリケーション153のダウンロードの進行状況を指示するステータスボックスを表示する。
さらに、クライアント103へのアプリケーション153のインストールの進行状況のステータスもまた、当業者は理解することができるように、そのステータスボックスにまたは異なるステータスボックスに示してもよい。
次に、ボックス286において、セキュアな要求を生成し情報サーバ106(図1)のインストール情報システム176(図1)に送信する。
セキュアな要求には、アプリケーション識別子が含まれる。
その後、ボックス289において、インストールプラグイン156は、情報サーバ106のインストール情報システム176からセキュアな応答を受け取るのを待つ。
セキュアな応答を受け取る前にタイムアウト期間が経過する(toll)と、インストールプラグイン156は、エラーが発生したと想定し、ボックス291に進んで、表示装置133においてエラーまたは障害指示を生成する。
これは、アプリケーション153のインストールが失敗し、クライアント103においてメディア要素209をレンダリングすることができない、ということをユーザに通知する。
その後、インストールプラグイン156は終了する。
しかしながら、ブロック289において、インストール情報システム176からセキュアな応答を受け取ると、インストールプラグイン156は、ボックス293に進み、HTTP等の適当な通信プロトコルを使用してアプリケーション153に対する要求をアプリケーションサーバ113に送信する。
アプリケーションサーバ113から取得される実際のファイルは、クライアント103におけるアプリケーション153のインストール中に実施することができるアプリケーション153のインストーラバージョンである。
要求を、ボックス289においてインストール情報システム176から先に取得されたアプリケーション153のユニフォームリソース識別子に送信する。
そして、ボックス296において、インストールプラグイン156は、要求に応じてアプリケーションサーバ113からアプリケーション153を受け取るのを待つ。
アプリケーションを受け取ることなく所定期間が経過すると、インストールプラグイン156は、エラーが発生したと想定し、ボックス291に進んで表示装置133においてユーザにエラーを通知する。
一方、ボックス296においてアプリケーションサーバ113からアプリケーション153のインストールバージョンが受け取られると想定すると、ボックス299において、インストールプラグイン156は、アプリケーション153のインストールバージョンのハッシュ値を計算する。
そして、ボックス303において、アプリケーション153のインストールバージョンから計算されたハッシュ合計が、ボックス296において送信された要求に応じてアプリケーションサーバ113から受け取られたハッシュ合計と一致する場合、インストールプラグイン156はボックス306に進む。
そうでない場合、インストールプラグイン156はボックス291に移動し、表示装置113においてアプリケーション153のインストールが失敗したことを示す。
ボックス303においてハッシュ合計が一致したと想定すると、ボックス306において、インストールプラグイン156は、クライアント103においてアプリケーション153のインストールを実行する。
そうする際、インストールプラグイン156は、たとえばアプリケーション153に関連するインストーラを実行してもよい。
その後、ボックス279において、メディアサーバ109から所望のメディア要素209をダウンロードし、それとともにアプリケーション153を実行する。
このように、メディア要素209をユーザに対してレンダリングする。
その後、インストールプラグイン156は終了する。
図6を参照すると、本発明の別の態様による情報サーバ106(図1)で実施されるインストール情報システム176の動作のフローチャートが示されている。
別法として、図6のフローチャートを、情報サーバ106で実施される方法のステップを示すものとして見てもよい。
ボックス323で開始すると、インストール情報システム176は、アプリケーションテーブル183(図1)においてアプリケーション識別子を探すことにより、アプリケーション153の関連するユニフォームリソース識別子と、それに関連するハッシュ合計と、を確定する。
その後、ボックス326において、アプリケーション153のユニフォームリソース識別子と対応するハッシュ合計とを含むセキュアな応答を生成する。
そして、セキュアな応答をクライアント103に送信する。
その後、インストール情報システム176は終了する。
メディアアクチュエータ213とインストールプラグイン156とインストール情報システム176と本発明の他のロジックとを、上述したように汎用ハードウェアで実行されるソフトウェアまたはコードで具体化しているが、代替形態として、それらを、専用ハードウェアまたはソフトウェア/汎用ハードウェアおよび専用ハードウェアの組合せで具体化してもよい。
専用ハードウェアで具体化される場合、メディアアクチュエータ213とインストールプラグイン156とインストール情報システム176と本明細書で説明した他のロジックとを、複数の技術のうちの任意の1つまたは組合せを使用する回路または状態機械として実施してもよい。
これらの技術には、限定されないが、1つまたは複数のデータ信号が与えられるとさまざまな論理機能を実施する論理ゲートを有するディスクリート論理回路、適当な論理ゲートを有する特定用途向け集積回路、プログラマブルゲートアレイ(PGA)、フィールドプログラマブルゲートアレイ(FPGA)または他のコンポーネント等があってもよい。
かかる技術は、一般に当業者には既知であり、したがって、それらについて本明細書では詳細に説明しない。
図3、図4Aおよび図4B、図5ならびに図6のフローチャートは、メディアアクチュエータ213とインストールプラグイン156とインストール情報システム176と他のロジックとの実施態様のアーキテクチャ、機能および動作を示す。
ソフトウェアで具体化する場合、各ブロックは、指定された論理機能(複数可)を実施するプログラム命令を含むモジュール、セグメントまたはコードの一部を表してもよい。
プログラム命令を、コンピュータシステムまたは他のシステムにおけるプロセッサ等の適当な実行システムによって認識可能な多数の命令を含むプログラミング言語または機械コードで書かれた人間が読取可能なステートメントを含むソースコードの形態で具体化してもよい。
機械コードを、ソースコード等から変換してもよい。
ハードウェアで具体化する場合、各ブロックは、指定された論理機能(複数可)を実施する1つの回路または複数の相互接続された回路を表してもよい。
図3、図4Aおよび図4B、図5ならびに図6のフローチャートは、特定の実行の順序を示すが、実行の順序は図示したものと異なってもよい、ということが理解される。
たとえば、2つ以上のブロックの実行の順序を、図示する順序に対して並べ替えてもよい。
また、図3、図4Aおよび図4B、図5ならびに図6において連続して示す2つ以上のブロックを、同時にまたは部分的に同時に実行してもよい。
さらに、ユーティリティの向上、アカウンティング、パフォーマンス測定または障害追跡支援を提供する等の目的で、本明細書で説明した論理フローに対し、任意の数のカウンタ、状態変数、警告セマフォまたはメッセージを追加してもよい。
かかる変形形態は本発明の範囲内にあることが理解される。
また、メディアアクチュエータ213、インストールプラグイン156またはインストール情報システム176がソフトウェアまたはコードからなる場合、各々をたとえばコンピュータシステムまたは他のシステムのプロセッサ等の命令実行システムによるかまたはそれに関連して使用される任意のコンピュータ読取可能媒体で具体化してもよい。
これに関し、ロジックは、たとえば、コンピュータ読取可能媒体からフェッチし命令実行システムによって実行することができる命令および宣言を含むステートメントを有してもよい。
本発明の文脈では、「コンピュータ読取可能媒体」は、命令実行システムによるかまたはそれに関連して使用される、メディアアクチュエータ213、インストールプラグイン156およびインストール情報システム176を含み、格納し、または保持することができる任意の媒体であってもよい。
コンピュータ読取可能媒体は、たとえば、電子、磁気、光、電磁気、赤外線または半導体媒体等の多くの物理媒体のうちの任意のものであってもよい。
適当なコンピュータ読取可能媒体のより特定の例には、限定されないが、磁気テープ、磁気フロッピーディスケット、磁気ハードドライブまたはコンパクトディスクがある。
また、コンピュータ読取可能媒体は、たとえばスタティックランダムアクセスメモリ(SRAM)およびダイナミックランダムアクセスメモリ(DRAM)もしくは磁気ランダムアクセスメモリ(MRAM)を含むランダムアクセスメモリ(RAM)であってもよい。
さらに、コンピュータ読取可能媒体は、リードオンリメモリ(ROM)、プログラマブルリードオンリメモリ(PROM)、消去可能プログラマブルリードオンリメモリ(EPROM)、電気的に消去可能プログラマブルリードオンリメモリ(EEPROM)または他のタイプのメモリデバイスであってもよい。
本発明を、いくつかの好ましい実施形態に関して図示し説明しているが、本明細書を読み理解した当業者が等価形態および変更形態を思いつくであろうということは明らかである。
本発明は、かかる等価形態および変更形態をすべて含み、特許請求の範囲によってのみ限定される。
クライアントにおけるアプリケーションの自動インストールを容易にするデバイスを含む、本発明の実施形態によるクライアント/サーバネットワークの図である。 図1のクライアント/サーバネットワークにおけるクライアントの表示装置において示される例示的なネットワークページに対応する例示的なグラフィカルユーザインタフェースの図である。 図1のクライアント/サーバネットワークにおけるクライアントにおいて実行される、本発明の実施形態によるメディアアクチュエータの動作を示すフローチャートである。 クライアントにおいて先にインストールされた図1のアプリケーションを実行する、図1のクライアント/サーバネットワークにおけるクライアントにおいて実行される本発明の実施形態によるプラグインエグゼキュータの動作を示すフローチャートである。 クライアントにおけるアプリケーションのインストールおよび実行を開始する、図1のクライアント/サーバネットワークにおけるクライアントにおいて実行される本発明の実施形態によるプラグインインストーラの動作を示すフローチャートである。 図1のクライアント/サーバネットワークにおけるクライアントにおいて実行される、本発明の実施形態によるインストールプラグインのフローチャートである。 図1のクライアント/サーバネットワークにおける情報サーバにおいて実行される、本発明の実施形態によるインストール情報システムのフローチャートである。
符号の説明
103・・・クライアント,
106・・・情報サーバ,
109・・・メディアサーバ,
113・・・アプリケーションサーバ,
116・・・ネットワーク,
123,163,193,223・・・プロセッサ,
126,166,196,226・・・メモリ,
143・・・プリンタ,
146,173,203,233・・・オペレーティングシステム,
149・・・ブラウザ,
153・・・アプリケーション,
156・・・インストールプラグイン,
176・・・インストール情報システム,
179a・・・プラグインエグゼキュータ,
179b・・・プラグインインストーラ,
183・・・アプリケーションテーブル,
206・・・ネットワークページ,
209・・・メディア要素,
213・・・メディアアクチュエータ,

Claims (10)

  1. ネットワーク(116)に連結されたサーバ(109)と、
    このサーバ(109)に保持され、前記ネットワーク(116)に連結されたクライアント(103)によってアクセス可能であり、メディア要素(209)を含むネットワークページ(206)と、
    前記クライアント(103)において、インストールプラグイン(156)を実行するために提供される第2のリンクを含む、前記ネットワークページ(206)のメディアアクチュエータ(213)であって、前記インストールプラグイン(156)は、前記クライアント(103)においてアプリケーション(153)の自動インストールを実行するようになっており、前記アプリケーション(153)は前記メディア要素(209)をレンダリングするために使用されるメディアアクチュエータと
    を具備するインストールシステム。
  2. 前記第2のリンクは、前記インストールプラグイン(156)の前記クライアント(103)へのダウンロードと、このクライアント(103)におけるインストールとをさらに提供する
    請求項1に記載のインストールシステム。
  3. 前記メディアアクチュエータ(213)は、前記インストールプラグイン(156)の実行に関連して、このインストールプラグインにアプリケーション識別子を提供するロジック
    をさらに備え、
    前記アプリケーション識別子は、前記クライアント(103)にインストールされる前記アプリケーション(153)に関連する
    請求項1に記載のインストールシステム。
  4. 前記アプリケーション識別子は、前記メディア要素(209)のファイル拡張子
    をさらに含む請求項3に記載のインストールシステム。
  5. 前記アプリケーション識別子は、前記アプリケーション(153)の名前と、このアプリケーション(153)のバージョンと
    をさらに含む
    請求項3に記載のインストールシステム。
  6. 前記アプリケーション識別子は、
    前記アプリケーション(153)に関連するニックネーム
    をさらに含む
    請求項3に記載のインストールシステム。
  7. 自動インストール方法であって、
    コンピュータシステム(103)においてインストールプラグイン(156)がインストールされているか否かを検出することであって、前記インストールプラグイン(156)は、前記コンピュータシステム(103)においてアプリケーション(153)の自動インストールを実行するようになっていることと、
    前記インストールプラグイン(156)が前記コンピュータシステム(103)にインストールされていない場合、前記インストールプラグイン(156)をリモートサーバ(106)からダウンロードすることと、
    前記コンピュータシステム(103)において前記インストールプラグイン(156)を実行することと
    を含む自動インストール方法。
  8. 表示装置(133)においてトリガメカニズム(213a)を生成することと、
    ユーザによる前記トリガメカニズム(213a)の操作時に、前記インストールプラグイン(156)の存在の検出を実施することと
    をさらに含む請求項7に記載の自動インストール方法。
  9. ネットワーク(116)における前記インストールプラグイン(156)の位置を識別するユニフォームリソース識別子を提供すること
    をさらに含む請求項7に記載の自動インストール方法。
  10. 前記インストールプラグイン(156)にアプリケーション識別子を提供すること
    をさらに含み、
    前記アプリケーション識別子は、前記インストールプラグイン(156)によって前記コンピュータシステム(103)にインストールされる前記アプリケーション(153)に関連する
    請求項7に記載の自動インストール方法。
JP2004502145A 2002-04-29 2003-04-28 アプリケーションの自動インストール Withdrawn JP2005531049A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/134,766 US7203940B2 (en) 2002-04-29 2002-04-29 Automated installation of an application
PCT/US2003/013225 WO2003093990A2 (en) 2002-04-29 2003-04-28 Automated installation of an application

Publications (1)

Publication Number Publication Date
JP2005531049A true JP2005531049A (ja) 2005-10-13

Family

ID=29249291

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004502145A Withdrawn JP2005531049A (ja) 2002-04-29 2003-04-28 アプリケーションの自動インストール

Country Status (5)

Country Link
US (1) US7203940B2 (ja)
EP (1) EP1499966A2 (ja)
JP (1) JP2005531049A (ja)
AU (1) AU2003223765A1 (ja)
WO (1) WO2003093990A2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011517867A (ja) * 2008-02-20 2011-06-16 ナブト・エーピーエス インターネットに接続されているクライアント間に接続性を提供するための方法およびシステム
JP2013025592A (ja) * 2011-07-21 2013-02-04 Canon Inc 情報処理装置およびその制御方法およびプログラム

Families Citing this family (70)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040070600A1 (en) * 2002-09-27 2004-04-15 Morrisroe Lawrence E. System and method for displaying images and video within a web page
AU2003283322A1 (en) * 2002-11-28 2004-06-18 International Business Machines Corporation Method and systems for hyperlinking files
FR2849704A1 (fr) * 2003-01-02 2004-07-09 Thomson Licensing Sa Dispositifs et procedes de decision conditionnelle d'execution de services recus et de constitution de messages d'informations associes a des services, et produits associes
US7401105B2 (en) * 2003-10-02 2008-07-15 International Business Machines Corporation Method, system, and program product for retrieving file processing software
US7421688B1 (en) 2003-02-26 2008-09-02 American Megatrends, Inc. Methods and systems for updating the firmware on a plurality of network-attached computing devices
US7430743B2 (en) * 2003-02-27 2008-09-30 Microsoft Corporation System and method for hosting an application in one of a plurality of execution environments
US7475408B2 (en) 2003-02-27 2009-01-06 Microsoft Corporation Hosting an application in one of a plurality of execution environments
US20040237082A1 (en) * 2003-05-22 2004-11-25 Alcazar Mark A. System, method, and API for progressively installing software application
US7395534B2 (en) * 2003-05-22 2008-07-01 Microsoft Corporation System and method for progressively installing a software application
US8930944B2 (en) * 2003-11-18 2015-01-06 Microsoft Corporation Application model that integrates the web experience with the traditional client application experience
US20060026119A1 (en) * 2004-08-02 2006-02-02 Apple Computer, Inc. Method and system for sharing information about media items
US20060059174A1 (en) * 2004-09-16 2006-03-16 International Business Machines Corporation Apparatus, system, and method for locating an application compatible with a file
EP1815362A2 (en) * 2004-11-16 2007-08-08 Broadramp, Inc. System for rapid delivery of digital content via the internet
JP2006178912A (ja) * 2004-12-24 2006-07-06 Fujitsu Ltd 情報処理方法及びプログラム
US20060155672A1 (en) * 2005-01-13 2006-07-13 Filmloop, Inc. Systems and methods for single input installation of an application
US7567565B2 (en) 2005-02-01 2009-07-28 Time Warner Cable Inc. Method and apparatus for network bandwidth conservation
US20070016638A1 (en) * 2005-06-30 2007-01-18 Ian Elbury System and method of application provisioning
US8214827B2 (en) * 2005-12-05 2012-07-03 Flash Networks, Ltd Method and system for improving user confidence and experience in content purchasing via a service provider premises
US8170065B2 (en) 2006-02-27 2012-05-01 Time Warner Cable Inc. Methods and apparatus for selecting digital access technology for programming and data delivery
US8718100B2 (en) 2006-02-27 2014-05-06 Time Warner Cable Enterprises Llc Methods and apparatus for selecting digital interface technology for programming and data delivery
US8458753B2 (en) 2006-02-27 2013-06-04 Time Warner Cable Enterprises Llc Methods and apparatus for device capabilities discovery and utilization within a content-based network
US7916755B2 (en) * 2006-02-27 2011-03-29 Time Warner Cable Inc. Methods and apparatus for selecting digital coding/decoding technology for programming and data delivery
US8863221B2 (en) * 2006-03-07 2014-10-14 Samsung Electronics Co., Ltd. Method and system for integrating content and services among multiple networks
US8115869B2 (en) 2007-02-28 2012-02-14 Samsung Electronics Co., Ltd. Method and system for extracting relevant information from content metadata
US8843467B2 (en) * 2007-05-15 2014-09-23 Samsung Electronics Co., Ltd. Method and system for providing relevant information to a user of a device in a local network
US8510453B2 (en) * 2007-03-21 2013-08-13 Samsung Electronics Co., Ltd. Framework for correlating content on a local network with information on an external network
US8209724B2 (en) * 2007-04-25 2012-06-26 Samsung Electronics Co., Ltd. Method and system for providing access to information of potential interest to a user
US8200688B2 (en) 2006-03-07 2012-06-12 Samsung Electronics Co., Ltd. Method and system for facilitating information searching on electronic devices
US8806476B2 (en) * 2006-03-14 2014-08-12 International Business Machines Corporation Implementing a software installation process
US7970745B2 (en) * 2006-06-21 2011-06-28 Oracle International Corp Schema version management for database management
US20080040386A1 (en) * 2006-08-10 2008-02-14 Taiwan Semiconductor Manufacturing Company, Ltd. Shared personalized auto-open work scheduler system and method
US8935269B2 (en) * 2006-12-04 2015-01-13 Samsung Electronics Co., Ltd. Method and apparatus for contextual search and query refinement on consumer electronics devices
WO2008070050A2 (en) * 2006-12-04 2008-06-12 Swarmcast, Inc. Automatic configuration of embedded media player
US8645948B2 (en) * 2006-12-12 2014-02-04 Qualcomm Incorporated Apparatus and methods for client-driven server-side installation
GB2444305B (en) * 2007-01-26 2010-12-22 Key Criteria Connect Ltd Method of identifying devices in mobile and desktop environments
GB2445991B (en) * 2007-01-26 2009-04-01 Key Criteria Connect Ltd Method of loading software in mobile and desktop environments
US20090055393A1 (en) * 2007-01-29 2009-02-26 Samsung Electronics Co., Ltd. Method and system for facilitating information searching on electronic devices based on metadata information
US8819668B2 (en) * 2007-02-08 2014-08-26 Microsoft Corporation Accessible limited distribution release software change catalog
US20080235746A1 (en) 2007-03-20 2008-09-25 Michael James Peters Methods and apparatus for content delivery and replacement in a network
US9286385B2 (en) 2007-04-25 2016-03-15 Samsung Electronics Co., Ltd. Method and system for providing access to information of potential interest to a user
US8561116B2 (en) 2007-09-26 2013-10-15 Charles A. Hasek Methods and apparatus for content caching in a video network
US9071859B2 (en) 2007-09-26 2015-06-30 Time Warner Cable Enterprises Llc Methods and apparatus for user-based targeted content delivery
US8099757B2 (en) 2007-10-15 2012-01-17 Time Warner Cable Inc. Methods and apparatus for revenue-optimized delivery of content in a network
US8176068B2 (en) 2007-10-31 2012-05-08 Samsung Electronics Co., Ltd. Method and system for suggesting search queries on electronic devices
US8813143B2 (en) 2008-02-26 2014-08-19 Time Warner Enterprises LLC Methods and apparatus for business-based network resource allocation
US8938465B2 (en) * 2008-09-10 2015-01-20 Samsung Electronics Co., Ltd. Method and system for utilizing packaged content sources to identify and provide information based on contextual information
US8532714B2 (en) * 2009-01-29 2013-09-10 Qualcomm Incorporated Dynamically provisioning a device with audio processing capability
GB0906004D0 (en) * 2009-04-07 2009-05-20 Omnifone Ltd MusicStation desktop
US9866609B2 (en) 2009-06-08 2018-01-09 Time Warner Cable Enterprises Llc Methods and apparatus for premises content distribution
US20110126192A1 (en) * 2009-10-26 2011-05-26 Simon Frost Systems and methods for providing and updating a unified client
US9277022B2 (en) 2010-01-15 2016-03-01 Endurance International Group, Inc. Guided workflows for establishing a web presence
US9883008B2 (en) 2010-01-15 2018-01-30 Endurance International Group, Inc. Virtualization of multiple distinct website hosting architectures
US20130204746A1 (en) * 2012-01-11 2013-08-08 Endurance International Group, Inc. Automatic web presence feature deployment
US8762484B2 (en) 2010-01-15 2014-06-24 Endurance International Group, Inc. Unaffiliated web domain hosting service based on a common service architecture
US8881134B2 (en) 2010-04-29 2014-11-04 International Business Machines Corporation Updating elements in data storage facility using predefined state machine over extended time period
US8484100B2 (en) * 2010-10-19 2013-07-09 Apple Inc. Method, medium, and system for an integrated application store for a user device
US10114660B2 (en) 2011-02-22 2018-10-30 Julian Michael Urbach Software application delivery and launching system
KR20120135809A (ko) * 2011-06-07 2012-12-17 삼성전자주식회사 과금장치 및 화상형성장치와 그 과금 방법
US9348430B2 (en) * 2012-02-06 2016-05-24 Steelseries Aps Method and apparatus for transitioning in-process applications to remote devices
CN102830989B (zh) * 2012-06-26 2016-08-03 腾讯科技(深圳)有限公司 阅读器提供服务的方法、阅读器及终端
US9854280B2 (en) 2012-07-10 2017-12-26 Time Warner Cable Enterprises Llc Apparatus and methods for selective enforcement of secondary content viewing
US9131283B2 (en) 2012-12-14 2015-09-08 Time Warner Cable Enterprises Llc Apparatus and methods for multimedia coordination
US9455972B1 (en) * 2013-09-30 2016-09-27 Emc Corporation Provisioning a mobile device with a security application on the fly
US9959125B2 (en) * 2015-08-05 2018-05-01 Samsung Electronics Co., Ltd. Field update of boot loader using regular device firmware update procedure
US10687115B2 (en) 2016-06-01 2020-06-16 Time Warner Cable Enterprises Llc Cloud-based digital content recorder apparatus and methods
US10911794B2 (en) 2016-11-09 2021-02-02 Charter Communications Operating, Llc Apparatus and methods for selective secondary content insertion in a digital network
CN107329743B (zh) * 2017-06-14 2021-09-28 北京小米移动软件有限公司 应用页面的展示方法、装置及存储介质
US11109290B2 (en) 2017-08-04 2021-08-31 Charter Communications Operating, Llc Switching connections over frequency bands of a wireless network
US10939142B2 (en) 2018-02-27 2021-03-02 Charter Communications Operating, Llc Apparatus and methods for content storage, distribution and security within a content distribution network
US11797569B2 (en) * 2019-09-13 2023-10-24 Pure Storage, Inc. Configurable data replication

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5630066A (en) 1994-12-20 1997-05-13 Sun Microsystems, Inc. System and method for locating object view and platform independent object
US6078951A (en) 1996-11-27 2000-06-20 Intel Corporation Method and apparatus for automating a software delivery system by locating, downloading, installing, and upgrading of viewer software
US6347398B1 (en) 1996-12-12 2002-02-12 Microsoft Corporation Automatic software downloading from a computer network
US6216152B1 (en) * 1997-10-27 2001-04-10 Sun Microsystems, Inc. Method and apparatus for providing plug in media decoders
US6477550B1 (en) * 1999-03-16 2002-11-05 Mcafee.Com Corporation Method and system for processing events related to a first type of browser from a second type of browser
WO2001011466A2 (en) 1999-08-11 2001-02-15 Ethos Technologies, Inc. Download manager
WO2001027824A1 (en) 1999-10-11 2001-04-19 Kim Ho Hyun Advertising method using a download window
US6546554B1 (en) 2000-01-21 2003-04-08 Sun Microsystems, Inc. Browser-independent and automatic apparatus and method for receiving, installing and launching applications from a browser on a client computer
US7246351B2 (en) * 2001-02-20 2007-07-17 Jargon Software System and method for deploying and implementing software applications over a distributed network
JP2002318692A (ja) * 2001-04-19 2002-10-31 Sony Corp インストール支援システム、インストール支援装置、インストール支援方法、インストールを支援するためのプログラムおよびそのプログラムを記録した記録媒体

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011517867A (ja) * 2008-02-20 2011-06-16 ナブト・エーピーエス インターネットに接続されているクライアント間に接続性を提供するための方法およびシステム
US8972483B2 (en) 2008-02-20 2015-03-03 Nabto Aps Method and system for providing connectivity between clients connected to the internet
JP2013025592A (ja) * 2011-07-21 2013-02-04 Canon Inc 情報処理装置およびその制御方法およびプログラム

Also Published As

Publication number Publication date
US20030204843A1 (en) 2003-10-30
EP1499966A2 (en) 2005-01-26
WO2003093990A2 (en) 2003-11-13
WO2003093990A3 (en) 2004-07-29
US7203940B2 (en) 2007-04-10
AU2003223765A1 (en) 2003-11-17

Similar Documents

Publication Publication Date Title
JP2005531049A (ja) アプリケーションの自動インストール
US11467816B1 (en) Method and system of running an application
US8924943B2 (en) Browser emulator system
TWI402751B (zh) 頁內安裝器
US10353718B2 (en) Providing access to a remote application via a web client
RU2466450C2 (ru) Способ и система для создания ит-ориентированных серверных сетевых приложений
US7673180B1 (en) Method and apparatus for dispatching a remote debugging agent in a distributed computing environment
US9384005B2 (en) Systems and methods for dynamic configuration of client-side development environments through use of application servers
US8201143B2 (en) Dynamic mating of a modified user interface with pre-modified user interface code library
CN108287836B (zh) 一种资源缓存方法及装置
JP5171790B2 (ja) 情報処理装置、通信システムおよびプログラム
US20110154305A1 (en) System and method for remotely compiling multi-platform native applications for mobile devices
US20080209405A1 (en) Distributed debugging for a visual programming language
US9454388B2 (en) Information processing device, information processing system, and recording medium
US9122460B2 (en) Application development using middleware platform
JP2005532612A (ja) アプリケーションのセキュアな送信およびインストール
US20120226784A1 (en) Automated server controlled client-side logging
CN106257418B (zh) 用于通过使用辅助应用来评价应用的技术
JP5936103B2 (ja) クライアントでJavaメソッドを呼び出すシステム、コンピュータ、方法及びプログラム
US6785884B1 (en) Symbolic debug interface for register transfer simulator debugger
US9026997B2 (en) Systems and methods for executing object-oriented programming code invoking pre-existing objects
US20030121003A1 (en) Application launcher testing framework
US10996963B2 (en) Integrating web-based tutorials into websites using a tag manager
Syme et al. Building mobile web applications
WO2013088534A1 (ja) クライアントからネットワークを介して携帯端末にアクセスするためのサーバ、方法、及び、コンピュータを該サーバとして機能させるプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050707

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20071011

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20080108

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20080116

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080130

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20080327