JP2004537804A - ダウンロード可能なソフトウェアのネットワーク経由での配信 - Google Patents
ダウンロード可能なソフトウェアのネットワーク経由での配信 Download PDFInfo
- Publication number
- JP2004537804A JP2004537804A JP2003517751A JP2003517751A JP2004537804A JP 2004537804 A JP2004537804 A JP 2004537804A JP 2003517751 A JP2003517751 A JP 2003517751A JP 2003517751 A JP2003517751 A JP 2003517751A JP 2004537804 A JP2004537804 A JP 2004537804A
- Authority
- JP
- Japan
- Prior art keywords
- software
- downloading
- download
- file
- chunk
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 claims description 66
- 238000012544 monitoring process Methods 0.000 claims description 4
- 230000004044 response Effects 0.000 claims description 2
- 238000010586 diagram Methods 0.000 abstract description 7
- 230000005540 biological transmission Effects 0.000 description 7
- 238000011900 installation process Methods 0.000 description 6
- 230000004622 sleep time Effects 0.000 description 4
- 230000007958 sleep Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 229920000117 poly(dioxanone) Polymers 0.000 description 2
- 241000270730 Alligator mississippiensis Species 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- Tourism & Hospitality (AREA)
- Health & Medical Sciences (AREA)
- Economics (AREA)
- General Health & Medical Sciences (AREA)
- Human Resources & Organizations (AREA)
- Marketing (AREA)
- Primary Health Care (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Information Transfer Between Computers (AREA)
- Stored Programmes (AREA)
Abstract
1実施形態において、第1段階のソフトウェア(124)は、第1のサーバコンピュータ(103)から入手可能な第1のダウンロード可能ソフトウェアと共にバンドルされる。該第1段階のソフトウェアには、第2のサーバコンピュータ(102)から入手可能な第2のダウンロード可能ソフトウェアをダウンロードするコンピュータ命令が含まれている。エンドユーザが第1のダウンロード可能ソフトウェアのダウンロードを希望すると、第2のダウンロード可能ソフトウェアもエンドユーザに提示される。その提示を受け入れると、第1段階のソフトウェアにより、第2のダウンロード可能ソフトウェアがエンドユーザのクライアントコンピュータ(101)にダウンロードされる。1実施形態において、第2のダウンロード可能ソフトウェアは、複数のチャンク(125)単位でダウンロードされる。
【選択図】図1
【選択図】図1
Description
【技術分野】
【0001】
本発明は、一般にコンピュータソフトウェアに関し、より詳細にはコンピュータソフトウェアのネットワーク経由での配信に関する。
【背景技術】
【0002】
周知のごとく、コンピュータは「ソフトウェア」として一般に知られている一組の命令に従うことによって、特定のタスクを実行する。ソフトウェアは、フロッピーディスクまたはコンパクトディスクなどの取り外し可能な記憶媒体に格納され、その記憶媒体をユーザに入手可能とすることで、エンドユーザに配信可能となる。通常記憶媒体には、インストールするソフトウェアとインストーラとが含まれる。インストーラは、インストール工程でユーザを支援するようになされた専用ソフトウェアである。ユーザは、コンピュータの記憶媒体リーダ(例えばフロッピードライブ、CD−ROMドライブなど)に記憶媒体を挿入し、次いでインストーラを呼び出すことによって、インストール工程を開始する。オペレーティングシステムによっては、記憶媒体をリーダに挿入するとすぐにインストーラが自動的に呼び出されるものもある。インストーラはユーザにファイル格納場所、インストールするファイルの容量、デフォルト設定などの選好に関する一連の質問をする。次いでインストーラは記憶媒体からコンピュータの大容量記憶装置(例えばハードディスクドライブ)へソフトウェアをコピーし、ユーザの選好に従って任意の必要な構成変更を行う。
【0003】
ソフトウェアをネットワーク経由でダウンロード可能とすることにより、配信することも可能である。この場合、ソフトウェアはネットワークに接続されたサーバに格納される。ソフトウェアを入手したいユーザは、自身のコンピュータをネットワークに接続し、サーバから自身のコンピュータへソフトウェアをダウンロードする。何時でもソフトウェアが入手可能であるという利便性およびインターネットなどのパブリックネットワークの広範な利用により、ダウンロード可能なソフトウェアは普及するようになった。
【0004】
ネットワーク経由でソフトウェアをダウンロードすることに問題がない訳ではない。例えば、ソフトウェアベンダーは、インターネット上で何とかして特定のソフトウェアがダウンロードで入手可能であると、潜在的なユーザに通知しなくてはならない。広告のコストおよびインターネットで入手可能な競合するソフトウェアの数を考慮すると、潜在的なユーザにダウンロード可能なソフトウェアの存在を通知し、そのソフトウェアをダウンロードさせる効果的な技術が強く望まれている。
【0005】
ネットワーク経由でソフトウェアをダウンロードするために要する時間が、正常にダウンロードを行う確率およびユーザがダウンロードを完了させる確率に影響を及ぼしている。大きなソフトウェアまたは低速なネットワーク接続などによりダウンロード処理が長時間に及ぶ場合、ユーザはダウンロードを完了前にキャンセルする傾向がある。さらに悪い場合、ダウンロード中に伝送エラーが起こる可能性がある。それゆえ、ダウンロードを完全に、かつ正常に行う確率を高める技術も強く望まれている。
【発明の開示】
【発明が解決しようとする課題】
【0006】
本発明は、ネットワーク経由でダウンロード可能なソフトウェアをダウンロードし、配信する、改善された技術に関する。本発明は、インターネット経由でのソフトウェアの配信を含む各種のアプリケーションで使用することができる。
【課題を解決するための手段】
【0007】
1実施形態において、第1段階のソフトウェアは、第1のサーバコンピュータから入手可能な第1のダウンロード可能ソフトウェアと共にバンドルされる。該第1段階のソフトウェアには、第2のサーバコンピュータから入手可能な第2のダウンロード可能ソフトウェアをダウンロードするコンピュータ命令が含まれている。エンドユーザが第1のダウンロード可能ソフトウェアのダウンロードを希望すると、第2のダウンロード可能ソフトウェアもエンドユーザに提示される。その提示を受け入れると、第1段階のソフトウェアにより、第2のダウンロード可能ソフトウェアがエンドユーザのクライアントコンピュータにダウンロードされる。
【発明の効果】
【0008】
1実施形態において、第1段階のソフトウェアは比較的小さな実行ファイルであり、それによって、第1段階のソフトウェアは、自身のソフトウェアを他社のものとバンドルすることに積極的でないパートナーにとってより魅力的なものとなる。
【0009】
1実施形態において、第2のソフトウェアは、個別にクライアントコンピュータにダウンロード可能な複数のチャンクに分割される。これにより、エンドユーザがダウンロード完了前にキャンセルする、あるいはダウンロード中に伝送エラーが発生する確率が低くなる。
【0010】
本発明のこれらのまたは他の特徴および利点は、本開示(添付図面および特許請求の範囲)全体を読めば、当業者には容易に明らかになるであろう。
【発明を実施するための最良の形態】
【0011】
複数の図面に同一の参照ラベルを用いている場合は、同一または類似の構成要素であることを示している。
図1を参照すると、本発明の実施形態に係るコンピュータネットワークの概略図が示されている。コンピュータネットワーク100は、クライアントコンピュータ101、ベンダーサイト102、パートナーサイト103、他のコンピュータ(具体的に示していない)を連結する。ネットワーク100には、任意の型式のコンピュータネットワークを使用してよく、本実施形態ではインターネット等のパブリックネットワークを使用している。
【0012】
クライアントコンピュータ101には、エンドユーザにネットワークへのアクセスを提供する任意の型式のコンピュータを使用してよい。本実施形態において、クライアントコンピュータ101は、マイクロソフトウィンドウズ(商標)、アップルマッキントッシュ(商標)、リナックス、ユニックスの何れかのオペレーティングシステムで動作するパーソナルコンピュータを使用する。クライアントコンピュータ101には、マイクロソフトインターネットエクスプローラ(商標)、ネットスケープナビゲータ(商標)などのウェブブラウザ112が含まれる。クライアントコンピュータ101のエンドユーザは、ウェブブラウザ112を用いてネットワーク100上の様々なサイトに格納されたウェブページを閲覧する。
【0013】
ベンダーサイト102は、ウェブページ104、1つまたは複数のベンダーダウンロード可能ソフトウェア105、インストーラ106が含まれたウェブサイトである。ベンダーサイト102および本開示における他のサイトは、サン・マイクロシステムズ(商標)、ヒューレットパッカード・カンパニー(商標)、IBM(商標)などから入手可能なサーバコンピュータを用いて実装してよいことは理解できるであろう。ウェブページ104には、ウェブブラウザを用いてネットワーク100経由で閲覧可能な情報が含まれる。ウェブページ104には、例えばニュース、地図、クーポン、無料サービス、ディレクトリ、エンドユーザをベンダーサイト102に引きつける他のタイプの情報が含まれてよい。図1に示されるように、ベンダーダウンロード可能ソフトウェア(VDS)105をベンダーサイト102からダウンロードすることが可能である。VDS105には、アプリケーションソフトウェアが含まれた任意のタイプのソフトウェアを使用してよい。例えばVDS105には、スクリーンセーバ、ビデオゲーム、デバイスドライバ、音楽、壁紙、電子書籍、またはインターネット上の電子フォームおよびログインスクリーンに記入するためのソフトウェアを使用してよい。VDS105および本開示における他のダウンロード可能なソフトウェアは、ベンダーサイト102またはベンダーサイト102にリンクされた他のサイトに格納されてよい。VDS105および本開示における他のダウンロード可能ソフトウェアは、単一のファイルまたはファイルグループから構成されてよい。
【0014】
様々な理由から、VDS105はエンドユーザによりダウンロードされることが望ましい。1つの理由としては、VDSを利用するエンドユーザはライセンス料を支払わねばならないからである。他の理由は、エンドユーザのコンピュータでVDSを使用することは、広告のある種の形態になり得るからである。更に他の理由としては、ベンダーサイト102を運営するベンダーがVDS105をたまたま所有した別のベンダーに、エンドユーザがVDS105をダウンロードするたびに料金を請求できるからである。如何なる理由であっても、VDS105をできる限り多くのエンドユーザに配信することが望ましい。
【0015】
インストーラ106も同様にベンダーサイト102からダウンロード可能である。インストーラ106は、ベンダーサイト102から入手可能な様々なVDS105をインストールし、かつ構成する際にエンドユーザを支援する。インストーラ106は、図1に示すように単独で、またはVDS105の一部としてダウンロード可能である。即ち、インストーラ106および本開示における他のインストーラを、対応するVDS105に組み込むことができる。
【0016】
パートナーサイト103は、自身のウェブページ一式(ウェブページ121)、ダウンロード可能なソフトウェア(パートナーダウンロード可能ソフトウェア122)、インストーラ(インストーラ123)が含まれたウェブサイトである。VDS105を潜在的なエンドユーザへより多く公開するために、ベンダーサイト102を運営するベンダー(以下「ベンダー」とする)は、パートナーサイト103を運営するベンダー(以下「パートナー」とする)と契約し、パートナーサイト103からダウンロード可能な第1段階のソフトウェア(FSS)124を作成する。以下に記載するように、FSS124は、VDS105をネットワーク100上の任意のコンピュータにダウンロードすることを容易とする。原則的に、パートナーは、ウェブページ121を閲覧するエンドユーザ、またはパートナーサイト103からパートナーダウンロード可能ソフトウェア(PDS)122のダウンロードを希望するエンドユーザにVDS105を提供することに合意する。
【0017】
PDS122、FSS124、インストーラ123はパッケージファイル125に含まれ得る。本実施形態において、パッケージファイル125は圧縮された実行ファイルであり、該パッケージファイル125にはクライアントコンピュータ上でPDS122をインストールし、かつ実行するために必要なすべてのファイルが含まれ、それによりダウンロード工程が簡略化される。勿論、PDS122、FSS124、インストーラ123は単独で格納され、別々にダウンロードされてもよい。
【0018】
図2Aから2Jは、クライアントコンピュータ101上でエンドユーザによって閲覧されるスクリーンショットの例であり、本発明の実施形態に応じたダウンロード工程を示している。ここで図2Aから2Jのスクリーンショットは単に図示のために提示したものであり、本開示の譲受人であるGator.com(商標)と、このスクリーンショットの著作権者との間におけるビジネス関係を意図したものではないことに留意されたい。更に、本発明の理解に不要な中間のスクリーンショットは簡略化のために示していない。図2Aには、複数のPDS122を提供するパートナーサイト103から提供されるウェブページの例が示されており、本例ではPDS122はウォールペーパおよびスクリーンセーバである。ハイパーリンクメッセージ201をクリックすると、図2Bに示されたウェブページに移動する。図2Bに示すように、選択対象の複数のPDS122がエンドユーザに提示される。任意の選択肢をクリックすると、選択されたPDS122が含まれたパッケージファイル125がクライアントコンピュータ101へダウンロードされ始める。パッケージファイル125は、直接パートナーサイト103から、またはパートナーサイト103にリンクされた他のサイトからダウンロードされてもよい。図2Cにおいて、エンドユーザはパートナーサイト103からパッケージファイル125を実行するか、あるいはクライアントコンピュータ101にパッケージファイル125をセーブするかの選択が与えられる。セーブを選択すると、パッケージファイル125がクライアントコンピュータ101にダウンロードされ、エンドユーザは後でパッケージファイル125を実行することができる。パートナーサイト103から実行オプションを選択すると、パッケージファイル125はクライアントコンピュータ101にダウンロードされ、ダウンロードが終了するとすぐにパッケージファイル125が実行される。図2Dは、パッケージファイル125のダウンロードを示すスクリーンショットの例である。
【0019】
図2Eにおいて、エンドユーザはインストール工程をキャンセルする選択が与えられる。エンドユーザがインストールを進めると、該エンドユーザに図2Fに示すような選択したPDS122の使用および所有権を網羅したライセンス契約が提示される。一方、エンドユーザがキャンセルをするとインストール工程は停止する。図2Gおいて、エンドユーザは、選択したPDS122のインストール先である、コンピュータ101内の場所を指定する
【0020】
ベンダーとパートナーとの間の契約に従い、図2Hに示すようにVDS105がエンドユーザに提示される。エンドユーザは、チェックボックス202にチェックマークを入れてVDS105を入手することに同意する。エンドユーザがVDS105を入手することに同意した場合、エンドユーザに図21に示すようなVDS105の使用および所有権を網羅したライセンス契約が提示される。このライセンス契約に合意すると、選択したPDS122およびVDS105がクライアントコンピュータ101へインストールされ始める。図2Jにおいて、インストール工程が完了すると、その旨がエンドユーザへ通知される。
【0021】
再び図1を参照すると、VDS105ではなく、FSS124がパッケージファイル125内のPDS122にバンドルされている。本実施形態において、FSS124は比較的小さな(例えば圧縮時に約100Kバイト未満のファイルサイズ)実行ファイルであり、ネットワーク100に接続された任意のコンピュータにVDS105をダウンロードする。FSS124は比較的小さなサイズのため、パートナーサイトでダウンロード可能ソフトウェアとバンドルするには理想的である。換言すると、パートナーはVDS105よりも、FSS124を自身のソフトウェアにバンドルすることに合意する可能性が高い。これは比較的大きなサイズのVDS105により、パートナーのPDS122のダウンロードが減速され、このためエンドユーザがダウンロード工程を完了前にキャンセルする、あるいは途中で伝送エラーが起こる可能性を高めてしまうからである。パートナーがFSS124を自身のダウンロード可能なソフトウェアとバンドルすることに合意すればするほど、VDS105がより多くのエンドユーザに配信されることになる。
【0022】
また、FSS124をPDS122とバンドルすることによって配信工程が簡略化される。FSS124はVDS105の一部ではなく、単に特定の(1つまたは複数の)ファイルをベンダーサイト102からダウンロードするものであり、FSS124を更新する必要無しにVDS105を更新することができる。更に、FSS124のサイズは、ダウンロードされるVDS105のサイズや数に依存せず、比較的小さなまま維持される。
【0023】
他の実施形態において、パートナーのソフトウェアは例えばCD−ROMなどの取り外し可能な記録媒体で配信される。この場合、パートナーのソフトウェアがインストールされている最中に、エンドユーザにVDS105が提示される。エンドユーザがVDS105を受け取る場合、FSS124はCD−ROMからエンドユーザのコンピュータにコピーされ、次いでベンダーサイト102からVDS105をダウンロードするために該FSS124が実行される。
【0024】
図3Aには、本発明の実施形態に係るFSS124が概略的に示されている。図3Aに示すように、FSS124にはクライアント−サーバ間インターフェース302とダウンロードマネージャ303とが含まれる。クライアント−サーバ間インターフェース302によって、クライアントコンピュータ101上で動作するFSS124が、本実施形態でサーバコンピュータであるベンダーサイト102と通信可能となる。クライアント−サーバ間インターフェース302には、クライアントとサーバとの間の通信を行い、ベンダーサイト102にチェックインし、認証するためのコンピュータ命令が含まれる。チェックイン時にFSS124によってベンダーサイト102へ渡される情報には、(例えば、請求目的のための)該情報の発信先のパートナーサイトのアイデンティティと、該情報のバージョン番号とが含まれる。
【0025】
図3Aに示すように、FSS124には、ベンダーサイト102から、またはベンダーサイト102にリンクされた他のサイトから1つまたは複数のVDS105をダウンロードするダウンロードマネージャ303も含まれる。ダウンロードマネージャ303はダウンロードするVDS105の名称およびその位置を入手する。ダウンロードマネージャ303には、VDS105をベンダーサイト102(またはベンダーサイト102にリンクされた他のサイト)の位置からクライアントコンピュータ101の位置にコピーするためのコンピュータ命令が含まれる。ダウンロードマネージャ303は、VDS105の全体が含まれた単一のファイル、またはそれぞれにVDS105の一部が含まれた一連の小部分をダウンロードしてよい。
【0026】
図3Bには、本発明の実施形態の係るVDS105が示されている。VDS105は一連の小部分に分割され、本明細書ではそれぞれをチャンク301(即ち、301A,301B、・・・301n)とする。本実施形態において、ダウンロードマネージャ303はチャンク301を逐次別々にダウンロードする。即ち、まずダウンロードマネージャ303はチャンク301Aをクライアントコンピュータ101にダウンロードし、次いでチャンク301B、チャンク301C等々をダウンロードする。すべてのチャンク301がクライアントコンピュータ101にダウンロードされると、それからダウンロードマネージャ303はチャンク301をVDS105に再構築する。クライアントコンピュータ101内でのチャンク301の再構築は、複数の方法で行われてよい。例えば、ダウンロードマネージャ303によって最初にダウンロードされるチャンクである、チャンク301Aを制御チャンクとし、チャンク301Aにチャンク301B、301C、301D、・・・301nを構築するための情報を含める。チャンク301Aには、VDS105の残りをダウンロードするための、より複雑な(かつ大きな)一組のコンピュータ命令も含まれ得る。別の方法は、それぞれのチャンク301にヘッダーを含めることである。ここで、それぞれのヘッダーは現行のチャンクの順序番号、その前後のチャンクの順序番号などの再構築情報を有する。この場合、チャンクがクライアントコンピュータ101内で再構築される時に、ヘッダーはダウンロードマネージャによって取り除かれる。チャンク単位でソフトウェアをダウンロードする別の方法が、本発明の利点を損なうことなしに使用され得ることは理解できるであろう。ソフトウェアを一連の小部分に分割し、別々にそれぞれの小部分をコンピュータにダウンロードし、コンピュータ内でソフトウェアを再構築する技術(「トリックル」としても知られている)は、概して当該技術において既知であることに留意されたい。
【0027】
ダウンロードマネージャ303は、例えばクライアントコンピュータ101のネットワーク接続における利用可能な帯域、1日の内の時間帯、あるいはエンドユーザの必要性に依存して、それぞれのチャンク301をダウンロードするように構成され得る。例えば、ネットワーク接続が28KBPSダイアルアップ接続の場合は一度に1つのチャンク301をダウンロードし、ネットワーク接続がT1回線の場合は一度に3つのチャンク301をダウンロードするようにダウンロードマネージャ303を構成できる。別の例としては、ダウンロードマネージャ303を1週間に渡り、あるいは今から2時間後にチャンク301をダウンロードするように構成することができる。更に別の例として、ダウンロードマネージャを最も都合のよい時間(例えば深夜)にダウンロードをスケジュール設定するように構成することができる。
【0028】
チャンク単位でVDS105をダウンロードする自由度が、ダウンロード工程の信頼性をより高めていることは理解できるであろう。更に、チャンク単位でのダウンロードはクライアントコンピュータ101を拘束せず、エンドユーザにダウンロードが行われていることをほとんど意識させないように適時ダウンロードを分散させることができる。
【0029】
図4において、本発明の実施形態に応じてVDS105を配信する方法が示されている。動作402において、パートナーサイト103からPDS122をダウンロードするために、該PDS122を選択する。動作404において、選択されたPDS122はパートナーサイト103からエンドユーザのクライアントコンピュータ101へダウンロードされる。パートナーとベンダーとのバンドル契約の一部として、FSS124もパートナーサイト103からクライアントコンピュータ101にダウンロードされる(動作404参照)。動作406において、ベンダーのVDS105がエンドユーザに提示される。エンドユーザがVDS105を有することに合意した場合、動作410の説明のようにFSS124がクライアントコンピュータ101にインストールされる。このインストール工程の一部として、FSS124が圧縮解除され(圧縮されている場合)、次いで自動的に呼び出され、実装形態に依存した単一ファイルまたは複数のチャンク単位でVDS105をダウンロードする。動作412において、選択されたPDS122はクライアントコンピュータ101にインストールされる。オプションとして、エンドユーザがVDS105を有することに同意しなかった場合、FSS124はクライアントコンピュータ101から削除される。いずれにせよ、FSS124は小さく、クライアントコンピュータ101の記憶容量に影響を与えない。
【0030】
図5には、本発明の実施形態による、VDS105をダウンロードする方法が示されている。動作502において、先にインストールしたFSS124がクライアントコンピュータ101上で動作する。動作504において、FSS124はベンダーサイト102にチェックインする。チェックイン処理の間にFSS124はベンダーサイト102からデータ(ファイルを含む)をダウンロードする権限を有するクライアントとして認証される。動作506において、FSS124はより新しいバージョンのFSS124が入手可能かどうかを判断する。入手可能と判断した場合、動作508の説明のように、新しいFSS124がクライアントコンピュータ101にインストールされ、古いFSS124に代わって動作する。
【0031】
動作510において、FSS124によってVDS105がクライアントコンピュータ101にダウンロードされる。VDS105は、実装形態に依存して単一のファイルまたは複数のチャンク単位でダウンロードされる。更に、VDS105をサポートする他のソフトウェア(例えばインストーラ(ただしVDS105に含まれていない場合))も同時にダウンロードされる。動作512において、FSS124はエンドユーザに提示され、エンドユーザによって選択された他のVDS105が存在するかどうかを判断する。存在すると判断した場合、動作514の説明のように、FSS124は他のVDS105のダウンロードへ進む。動作516において、すべてのダウンロードされたVDS105がクライアントコンピュータ101にインストールされる。
【0032】
ここで図6を参照すると、本発明の別の実施形態に係る第1段階のソフトウェア(FSS)601の概略図が示されている。FSS601は比較的小さな(例えば、圧縮時に100Kバイト)ソフトウェアであり、クライアントコンピュータへファイルを容易にダウンロードさせる。FSS601は、クライアントコンピュータ101などのクライアントコンピュータ内で動作する。FSS601は、サーバコンピュータからダウンロード可能なパートナーソフトウェアと、あるいは取り外し可能記憶媒体で配布されるパートナーソフトウェアとバンドルされてよい。しかしながら、FSS601はファイルのダウンロードを要する任意のアプリケーションに使用してよく、必ずしもソフトウェアをバンドルするアプリケーションに限定する必要はないことは理解されよう。
【0033】
FSS601には、クライアント−サーバ間インターフェース602と、ダウンロードマネージャ603と、ランチャー604と、統計モジュール605とが含まれる。クライアント−サーバ間インターフェース602にはコンピュータ命令が含まれ、この命令によりFSS601はベンダーサイト102などのサーバコンピュータと通信可能となる。
【0034】
ダウンロードマネージャ603には、FSS601が動作しているクライアントコンピュータに1つまたは複数のファイル(例えば、VDS105およびサポートソフトウェア)をサーバコンピュータからダウンロードするためのコンピュータ命令が含まれている。本実施形態において、ダウンロードマネージャ603は、ハイパーテキスト転送プロトコル(HTTP)を用いてファイルをダウンロードする。ダウンロードマネージャ603は、単一のファイルを一括でダウンロードしてもよいし、小部分に分けて単一のファイルをダウンロードしてもよい。ここで本発明の態様を図7Aと共に説明する。
【0035】
図7Aにおいて、チャンク701A、701B、701C、・・・701nにより単一のファイルが構成されている。ダウンロードマネージャ603は、HTTPを用いてサーバコンピュータに単一のファイルの特定の部分をダウンロードするように要求する。例えば、ダウンロードマネージャ603はサーバにVDS105のバイト1から500を要求し、VDS105のバイト1から500に相当する部分をチャンク701Aと指定し、VDS105のバイト501から532に相当する部分をチャンク701Bと指定し、VDS105のバイト533から600に相当する部分をチャンク701Cと指定してよい。それぞれのチャンクのサイズはバイト範囲を変えることにより変更することができる。それゆえ、ダウンロードマネージャ603は単一のファイルをチャンク単位でダウンロードする機能を有する。ダウンロードする複数のファイルが存在する場合、すべてのファイルがダウンロードされるまで、それぞれのファイルはチャンク単位でダウンロードされる。
【0036】
図7Bにおいて、本発明の実施形態による、ダウンロードマネージャ603によって使用される時分割多重技術が概略的に示されている。本実施形態において、ダウンロードマネージャ603はダウンロードしているファイルのチャンク(701A、701B、701C、701n)をリクエストする。それぞれのチャンクは、ダウンロードマネージャ603が想定する最大接続伝送速度でダウンロードされる。チャンクのダウンロード時間は見積もられる。チャンク701Aのダウンロード時間はT701Aとして示すことができる。ダウンロードに使用可能な帯域が総帯域の25%であると仮定すると、この使用可能なパーセントをpctとして示すことができる。チャンク701A全体が受け取られると、DM603は(T701A/pct)×(1−pct)に相当する時間をスリープする。例えば、T701Aが500ミリ秒とすると、ファイルの最初のチャンクをダウンロードするのに500ミリ秒かかることを意味し、pctが25%では、チャンクのダウンロードに利用可能な総帯域の25%を使用し、そして701A全体が受け取られるとダウンロードマネージャ603が(T701A/pct)×(1−pct)=(500×0.25)×(1−0.25)=1500ミリ秒間スリープすることを意味する。それゆえ、ダウンロードにはタイムスライスの25%、即ち500ミリ秒かかり、スリープには残りの75%、即ち1500ミリ秒かかる。
【0037】
実際のダウンロード時間およびスリープ時間は、それぞれの一連のチャンクのダウンロード時間に依存して常時変化するが、ダウンロードマネージャ603は常に平均で帯域の25%しか使用しない(ある時間の25%に100%の帯域を使用し、該時間の75%に0%の帯域を使用する)。別のアプリケーション(例えば、インターネット電話通信)が帯域を使用始めると、T701x(ダウンロードマネージャがファイル701xの或る任意のチャンクをダウンロードする時間)が500ミリ秒からより大きい数値となり、および/またはチャンクサイズが小さくなる。そしてスリープ時間が比例して変化するが、ダウンロードマネージャ603はそれでも利用可能な帯域を平均で約25%使用する。該別のアプリケーションが帯域の使用を中止した場合、T701のダウンロード時間は短縮し、それゆえそれぞれのスリープ時間が短縮する。この実施形態を明確にするために高速道路のオンランプのメータリングライトを例として用いることができる。このメータリングライトに関し、青信号の間隔は道路の混み具合に反比例する。
【0038】
ダウンロードマネージャ603はHTTPリクエストからの応答を受け取るまでの時間をミリ秒単位で測定することにより、送信時間を決定する。それによりDNS解決、レイテンシ、サーバ負荷などのすべてのネットワーク変数が割り当てられる。ダウンロードマネージャ603の1実施形態では、或る任意のHTTPサーバを使用することができる。本実施形態において、ダウンロードマネージャ603が上述のモニタ方法を行う場合には、サーバは転送時間をモニタする必要はない。
【0039】
前述に基づき、テストデータ751を送ることによって、ダウンロードマネージャ603はエンドユーザにより現行使用されている帯域の量を算出することができる。これにより、ダウンロードマネージャ603はチャンク701のサイズおよび一連のチャンク701をダウンロードする際にかかる時間を調整することができ、その結果エンドユーザは自身のクライアントコンピュータへダウンロードが行われていることをほとんど意識することがない。
【0040】
図7Bを参照すると送信状態の例が示されており、600Kbpsから1.2Mbpsのダウンロード速度で動作するケーブルモデム上で、別のアプリケーションが帯域を使用していない状態で64Kバイトのチャンクをダウンロードすると、500から1200ミリ秒かかる。ダウンロードマネージャ603は8Kバイトのチャンクから開始し、妥当な速度と判断するまでチャンクサイズを大きくする。例えば、56Kモデム接続上のチャンクサイズは8Kから16Kバイトの範囲であるが、データマネージャ603で許容可能な64Kバイトまで急激かつ段階的にチャンクサイズを大きくする。
【0041】
ダウンロードマネージャ603には、既にクライアントコンピュータにダウンロードされたチャンク701を常時監視するためのコンピュータ命令が更に含まれる。これにより、ダウンロードマネージャ603が正常にダウンロードした最後のチャンク701を判定することができ、このチャンクは(例えば接続障害により)ダウンロードエラーが生じた際に有益な情報となる。この場合、ダウンロードマネージャ603は、初めから再びダウンロード工程を開始する必要はなく、正常にダウンロードした最後のチャンク701の次のチャンクからダウンロードを再開してよい。
【0042】
ダウンロードマネージャ603には、更にクライアントコンピュータ内ですべてのダウンロードしたチャンク701を再構築するためのコンピュータ命令が含まれる。
【0043】
本発明の本実施形態に応じて単一のファイルをチャンク単位でダウンロードすることにより、ダウンロードが正常に完了する確率が高まり、エンドユーザへのダウンロード工程の影響が最小限となり、低速のネットワーク接続を用いてのダウンロードが可能となることは理解できるであろう。
【0044】
図6を再び参照すると、FSS601には、ダウンロードマネージャ603によってダウンロードされたソフトウェアを実行するためのランチャー604が更に含まれる。統計モジュール605は、FSS601の使用に関する統計情報を常時監視する。この統計モジュールはクライアントマシン内に常駐してよい。それゆえ、統計モジュールによって生成された統計データは、ネットワーク経由のベンダーサーバへの周期的な送信器となる。1実施形態において、統計モジュール605には、ソフトウェアの特定部分がサーバからダウンロードされた回数と、ダウンロードの成功と失敗の回数と、失敗したダウンロードに関するエラーコードと、FSS601などをバンドルしたパートナーのアイデンティティとを常時監視するコンピュータ命令が含まれる。このような情報により、例えばパートナーに対しダウンロードが成功する毎に支払う、または請求することができ、ソフトウェア開発者はダウンロード工程を最適化することができる。
【0045】
図8には、本発明の実施形態に応じて、FSS601によりサーバコンピュータからダウンロードされた例示のファイルが概略的に示されている。FSS601は、ベンダーダウンロード可能ソフトウェア(VDS)に加えて、構成ファイル802、インストーラ803、カスタマイゼーションファイル804もダウンロードする。
【0046】
1実施形態において、構成ファイル802はFSS601によってダウンロードされる最初のファイルである。構成ファイル802には、サーバコンピュータからダウンロードを要するファイルのリストが含まれている。本実施形態において、構成ファイル802には、VDS801のファイル名および位置、インストーラ803、カスタマイゼーションファイル804が含まれる。更にファイルをリストに加えてもよい。FSS601を更新しなくても、構成ファイル802によってVDS801およびそのサポートファイルを更新できることに理解されたい。これは、FSS601をソフトウェアと既にバンドルした多数のベンダーにFSS601を提供する状況において特に有益となる。
【0047】
構成ファイル802には、帯域利用値が更に含まれる。本実施形態において、帯域利用値は、ダウンロードマネージャ603がファイルをダウンロードする際に使用する帯域の量を示す。例えば、所望の帯域利用が15%の場合、ダウンロードマネージャ603はチャンクのサイズおよび/または一連のチャンクのダウンロードにかかる時間を調整し、クライアントサーバとサーバコンピュータとの間のネットワーク接続上で利用可能な帯域における約15%を利用するようにする。
【0048】
図8を再び参照すると、FSS601はサーバコンピュータからインストーラ803もダウンロードする。インストーラ803には、FSS601が実行されるクライントコンピュータにダウンロードされるソフトウェアをインストールするためのコンピュータ命令が含まれる。
【0049】
FSS601によって、カスタマイゼーションファイル804もサーバコンピュータからダウンロードされてもよい。本実施形態において、カスタマイゼーションファイル804には、パートナーのユーザインターフェース(例えば、パートナーダウンロード可能ソフトウェアをインストールするためのユーザインターフェース)をカスタマイズするためのダイナミックリンク・ライブラリ(DLL)データが含まれる。これにより、すべてのパートナーがそれぞれの顧客に同一のVDS801を提示しても、該それぞれのパートナーは自身のソフトウェアに対して独自の表示および操作感覚を有することができる。
【0050】
図9には、本発明の実施形態による、ファイルをダウンロードする方法が示されている。動作902において、ダウンロードマネージャ603によって構成ファイル802がダウンロードされる。動作904において、ダウンロードマネージャ603が構成ファイル802に示された帯域利用値を読み取ることによって所望の帯域利用を決定する。動作906において、ダウンロードマネージャ603は、構成ファイル802内のリストからダウンロードが必要なファイルを決定する。動作908において、ダウンロードマネージャ603はダウンロードが必要なすべてのファイルをチャンク単位でダウンロードする。
【0051】
図10には、本発明の実施形態による、チャンク単位でファイルをダウンロードする方法が示されている。動作1002において、ダウンロードマネージャ603は、ダウンロードするファイルが含まれているサーバコンピュータにテストデータを送る。動作1004において、ダウンロードマネージャ603はテストデータの伝送時間を算出する。
【0052】
動作1006において、ダウンロードマネージャ603は、ダウンロードするファイルのそれぞれのチャンクのサイズおよび/または一連のチャンクをダウンロードする際にかかる時間(例えばダウンロード時間)を調整し、所望の帯域利用と合わせる。例えば、所望の帯域利用がネットワーク接続で利用可能な帯域の25%の場合、64Kバイトのチャンクのデータを送信することにより、ダウンロードに700ミリ秒かかり、2100ミリ秒(2.1秒)のチャンク間スリープ時間を伴うこととなる。
【0053】
動作1008において、ダウンロードマネージャ603は、適切なサイズのチャンクを送るか、あるいは所望の帯域利用に求められる所定の期間内に一連のチャンクを送る。動作1010において、ファイルのすべてのチャンクがダウンロードされるまで、前述の動作が繰り返される。動作1012において、すべてのチャンクがダウンロードされた後、クライアントコンピュータ内でチャンクが再構築される。
【0054】
ネットワーク経由でダウンロード可能なソフトウェアをダウンロードし、かつ配信する、改善された技術を開示する。特定の実施形態を提供しているが、これらの実施形態は説明のためであり、限定するものではないことを理解されたい。多くの添付の実施形態は、当業者が本開示を読むことによって理解されるであろう。それゆえ、本発明は添付の特許請求の範囲によってのみ限定されるものとする。
【図面の簡単な説明】
【0055】
【図1】本発明の実施形態によるコンピュータネットワークの概略図である。
【図2A】本発明の実施形態によるダウンロード工程を示す、クライアントコンピュータでエンドユーザが見るスクリーンショットの例である。
【図2B】本発明の実施形態によるダウンロード工程を示す、クライアントコンピュータでエンドユーザが見るスクリーンショットの例である。
【図2C】本発明の実施形態によるダウンロード工程を示す、クライアントコンピュータでエンドユーザが見るスクリーンショットの例である。
【図2D】本発明の実施形態によるダウンロード工程を示す、クライアントコンピュータでエンドユーザが見るスクリーンショットの例である。
【図2E】本発明の実施形態によるダウンロード工程を示す、クライアントコンピュータでエンドユーザが見るスクリーンショットの例である。
【図2F】本発明の実施形態によるダウンロード工程を示す、クライアントコンピュータでエンドユーザが見るスクリーンショットの例である。
【図2G】本発明の実施形態によるダウンロード工程を示す、クライアントコンピュータでエンドユーザが見るスクリーンショットの例である。
【図2H】本発明の実施形態によるダウンロード工程を示す、クライアントコンピュータでエンドユーザが見るスクリーンショットの例である。
【図2I】本発明の実施形態によるダウンロード工程を示す、クライアントコンピュータでエンドユーザが見るスクリーンショットの例である。
【図2J】本発明の実施形態によるダウンロード工程を示す、クライアントコンピュータでエンドユーザが見るスクリーンショットの例である。
【図3A】本発明の実施形態による第1段階のソフトウェアを概略的に示した図である。
【図3B】本発明の実施形態による、一連の部分に分割されたダウンロード可能なソフトウェアを概略的に示した図である。
【図4】本発明の実施形態による、ダウンロード可能なソフトウェアを配信する方法を示す図である。
【図5】本発明の実施形態による、ダウンロード可能なソフトウェアをダウンロードする方法を示す図である。
【図6】本発明の別の実施形態による、第1段階のソフトウェアを概略的に示す図である。
【図7A】本発明の実施形態による、チャンク単位のファイル分割を概略的に示す図である。
【図7B】本発明の実施形態による、ファイルをダウンロードするために多重化された時間領域を概略的に示す図である。
【図8】本発明の実施形態による、サーバコンピュータからダウンロードされたファイルの例を概略的に示す図である。
【図9】本発明の実施形態による、ファイルをダウンロードする方法を示す図である。
【図10】本発明の実施形態による、チャンク単位でファイルをダウンロードする方法を示す図である。
【0001】
本発明は、一般にコンピュータソフトウェアに関し、より詳細にはコンピュータソフトウェアのネットワーク経由での配信に関する。
【背景技術】
【0002】
周知のごとく、コンピュータは「ソフトウェア」として一般に知られている一組の命令に従うことによって、特定のタスクを実行する。ソフトウェアは、フロッピーディスクまたはコンパクトディスクなどの取り外し可能な記憶媒体に格納され、その記憶媒体をユーザに入手可能とすることで、エンドユーザに配信可能となる。通常記憶媒体には、インストールするソフトウェアとインストーラとが含まれる。インストーラは、インストール工程でユーザを支援するようになされた専用ソフトウェアである。ユーザは、コンピュータの記憶媒体リーダ(例えばフロッピードライブ、CD−ROMドライブなど)に記憶媒体を挿入し、次いでインストーラを呼び出すことによって、インストール工程を開始する。オペレーティングシステムによっては、記憶媒体をリーダに挿入するとすぐにインストーラが自動的に呼び出されるものもある。インストーラはユーザにファイル格納場所、インストールするファイルの容量、デフォルト設定などの選好に関する一連の質問をする。次いでインストーラは記憶媒体からコンピュータの大容量記憶装置(例えばハードディスクドライブ)へソフトウェアをコピーし、ユーザの選好に従って任意の必要な構成変更を行う。
【0003】
ソフトウェアをネットワーク経由でダウンロード可能とすることにより、配信することも可能である。この場合、ソフトウェアはネットワークに接続されたサーバに格納される。ソフトウェアを入手したいユーザは、自身のコンピュータをネットワークに接続し、サーバから自身のコンピュータへソフトウェアをダウンロードする。何時でもソフトウェアが入手可能であるという利便性およびインターネットなどのパブリックネットワークの広範な利用により、ダウンロード可能なソフトウェアは普及するようになった。
【0004】
ネットワーク経由でソフトウェアをダウンロードすることに問題がない訳ではない。例えば、ソフトウェアベンダーは、インターネット上で何とかして特定のソフトウェアがダウンロードで入手可能であると、潜在的なユーザに通知しなくてはならない。広告のコストおよびインターネットで入手可能な競合するソフトウェアの数を考慮すると、潜在的なユーザにダウンロード可能なソフトウェアの存在を通知し、そのソフトウェアをダウンロードさせる効果的な技術が強く望まれている。
【0005】
ネットワーク経由でソフトウェアをダウンロードするために要する時間が、正常にダウンロードを行う確率およびユーザがダウンロードを完了させる確率に影響を及ぼしている。大きなソフトウェアまたは低速なネットワーク接続などによりダウンロード処理が長時間に及ぶ場合、ユーザはダウンロードを完了前にキャンセルする傾向がある。さらに悪い場合、ダウンロード中に伝送エラーが起こる可能性がある。それゆえ、ダウンロードを完全に、かつ正常に行う確率を高める技術も強く望まれている。
【発明の開示】
【発明が解決しようとする課題】
【0006】
本発明は、ネットワーク経由でダウンロード可能なソフトウェアをダウンロードし、配信する、改善された技術に関する。本発明は、インターネット経由でのソフトウェアの配信を含む各種のアプリケーションで使用することができる。
【課題を解決するための手段】
【0007】
1実施形態において、第1段階のソフトウェアは、第1のサーバコンピュータから入手可能な第1のダウンロード可能ソフトウェアと共にバンドルされる。該第1段階のソフトウェアには、第2のサーバコンピュータから入手可能な第2のダウンロード可能ソフトウェアをダウンロードするコンピュータ命令が含まれている。エンドユーザが第1のダウンロード可能ソフトウェアのダウンロードを希望すると、第2のダウンロード可能ソフトウェアもエンドユーザに提示される。その提示を受け入れると、第1段階のソフトウェアにより、第2のダウンロード可能ソフトウェアがエンドユーザのクライアントコンピュータにダウンロードされる。
【発明の効果】
【0008】
1実施形態において、第1段階のソフトウェアは比較的小さな実行ファイルであり、それによって、第1段階のソフトウェアは、自身のソフトウェアを他社のものとバンドルすることに積極的でないパートナーにとってより魅力的なものとなる。
【0009】
1実施形態において、第2のソフトウェアは、個別にクライアントコンピュータにダウンロード可能な複数のチャンクに分割される。これにより、エンドユーザがダウンロード完了前にキャンセルする、あるいはダウンロード中に伝送エラーが発生する確率が低くなる。
【0010】
本発明のこれらのまたは他の特徴および利点は、本開示(添付図面および特許請求の範囲)全体を読めば、当業者には容易に明らかになるであろう。
【発明を実施するための最良の形態】
【0011】
複数の図面に同一の参照ラベルを用いている場合は、同一または類似の構成要素であることを示している。
図1を参照すると、本発明の実施形態に係るコンピュータネットワークの概略図が示されている。コンピュータネットワーク100は、クライアントコンピュータ101、ベンダーサイト102、パートナーサイト103、他のコンピュータ(具体的に示していない)を連結する。ネットワーク100には、任意の型式のコンピュータネットワークを使用してよく、本実施形態ではインターネット等のパブリックネットワークを使用している。
【0012】
クライアントコンピュータ101には、エンドユーザにネットワークへのアクセスを提供する任意の型式のコンピュータを使用してよい。本実施形態において、クライアントコンピュータ101は、マイクロソフトウィンドウズ(商標)、アップルマッキントッシュ(商標)、リナックス、ユニックスの何れかのオペレーティングシステムで動作するパーソナルコンピュータを使用する。クライアントコンピュータ101には、マイクロソフトインターネットエクスプローラ(商標)、ネットスケープナビゲータ(商標)などのウェブブラウザ112が含まれる。クライアントコンピュータ101のエンドユーザは、ウェブブラウザ112を用いてネットワーク100上の様々なサイトに格納されたウェブページを閲覧する。
【0013】
ベンダーサイト102は、ウェブページ104、1つまたは複数のベンダーダウンロード可能ソフトウェア105、インストーラ106が含まれたウェブサイトである。ベンダーサイト102および本開示における他のサイトは、サン・マイクロシステムズ(商標)、ヒューレットパッカード・カンパニー(商標)、IBM(商標)などから入手可能なサーバコンピュータを用いて実装してよいことは理解できるであろう。ウェブページ104には、ウェブブラウザを用いてネットワーク100経由で閲覧可能な情報が含まれる。ウェブページ104には、例えばニュース、地図、クーポン、無料サービス、ディレクトリ、エンドユーザをベンダーサイト102に引きつける他のタイプの情報が含まれてよい。図1に示されるように、ベンダーダウンロード可能ソフトウェア(VDS)105をベンダーサイト102からダウンロードすることが可能である。VDS105には、アプリケーションソフトウェアが含まれた任意のタイプのソフトウェアを使用してよい。例えばVDS105には、スクリーンセーバ、ビデオゲーム、デバイスドライバ、音楽、壁紙、電子書籍、またはインターネット上の電子フォームおよびログインスクリーンに記入するためのソフトウェアを使用してよい。VDS105および本開示における他のダウンロード可能なソフトウェアは、ベンダーサイト102またはベンダーサイト102にリンクされた他のサイトに格納されてよい。VDS105および本開示における他のダウンロード可能ソフトウェアは、単一のファイルまたはファイルグループから構成されてよい。
【0014】
様々な理由から、VDS105はエンドユーザによりダウンロードされることが望ましい。1つの理由としては、VDSを利用するエンドユーザはライセンス料を支払わねばならないからである。他の理由は、エンドユーザのコンピュータでVDSを使用することは、広告のある種の形態になり得るからである。更に他の理由としては、ベンダーサイト102を運営するベンダーがVDS105をたまたま所有した別のベンダーに、エンドユーザがVDS105をダウンロードするたびに料金を請求できるからである。如何なる理由であっても、VDS105をできる限り多くのエンドユーザに配信することが望ましい。
【0015】
インストーラ106も同様にベンダーサイト102からダウンロード可能である。インストーラ106は、ベンダーサイト102から入手可能な様々なVDS105をインストールし、かつ構成する際にエンドユーザを支援する。インストーラ106は、図1に示すように単独で、またはVDS105の一部としてダウンロード可能である。即ち、インストーラ106および本開示における他のインストーラを、対応するVDS105に組み込むことができる。
【0016】
パートナーサイト103は、自身のウェブページ一式(ウェブページ121)、ダウンロード可能なソフトウェア(パートナーダウンロード可能ソフトウェア122)、インストーラ(インストーラ123)が含まれたウェブサイトである。VDS105を潜在的なエンドユーザへより多く公開するために、ベンダーサイト102を運営するベンダー(以下「ベンダー」とする)は、パートナーサイト103を運営するベンダー(以下「パートナー」とする)と契約し、パートナーサイト103からダウンロード可能な第1段階のソフトウェア(FSS)124を作成する。以下に記載するように、FSS124は、VDS105をネットワーク100上の任意のコンピュータにダウンロードすることを容易とする。原則的に、パートナーは、ウェブページ121を閲覧するエンドユーザ、またはパートナーサイト103からパートナーダウンロード可能ソフトウェア(PDS)122のダウンロードを希望するエンドユーザにVDS105を提供することに合意する。
【0017】
PDS122、FSS124、インストーラ123はパッケージファイル125に含まれ得る。本実施形態において、パッケージファイル125は圧縮された実行ファイルであり、該パッケージファイル125にはクライアントコンピュータ上でPDS122をインストールし、かつ実行するために必要なすべてのファイルが含まれ、それによりダウンロード工程が簡略化される。勿論、PDS122、FSS124、インストーラ123は単独で格納され、別々にダウンロードされてもよい。
【0018】
図2Aから2Jは、クライアントコンピュータ101上でエンドユーザによって閲覧されるスクリーンショットの例であり、本発明の実施形態に応じたダウンロード工程を示している。ここで図2Aから2Jのスクリーンショットは単に図示のために提示したものであり、本開示の譲受人であるGator.com(商標)と、このスクリーンショットの著作権者との間におけるビジネス関係を意図したものではないことに留意されたい。更に、本発明の理解に不要な中間のスクリーンショットは簡略化のために示していない。図2Aには、複数のPDS122を提供するパートナーサイト103から提供されるウェブページの例が示されており、本例ではPDS122はウォールペーパおよびスクリーンセーバである。ハイパーリンクメッセージ201をクリックすると、図2Bに示されたウェブページに移動する。図2Bに示すように、選択対象の複数のPDS122がエンドユーザに提示される。任意の選択肢をクリックすると、選択されたPDS122が含まれたパッケージファイル125がクライアントコンピュータ101へダウンロードされ始める。パッケージファイル125は、直接パートナーサイト103から、またはパートナーサイト103にリンクされた他のサイトからダウンロードされてもよい。図2Cにおいて、エンドユーザはパートナーサイト103からパッケージファイル125を実行するか、あるいはクライアントコンピュータ101にパッケージファイル125をセーブするかの選択が与えられる。セーブを選択すると、パッケージファイル125がクライアントコンピュータ101にダウンロードされ、エンドユーザは後でパッケージファイル125を実行することができる。パートナーサイト103から実行オプションを選択すると、パッケージファイル125はクライアントコンピュータ101にダウンロードされ、ダウンロードが終了するとすぐにパッケージファイル125が実行される。図2Dは、パッケージファイル125のダウンロードを示すスクリーンショットの例である。
【0019】
図2Eにおいて、エンドユーザはインストール工程をキャンセルする選択が与えられる。エンドユーザがインストールを進めると、該エンドユーザに図2Fに示すような選択したPDS122の使用および所有権を網羅したライセンス契約が提示される。一方、エンドユーザがキャンセルをするとインストール工程は停止する。図2Gおいて、エンドユーザは、選択したPDS122のインストール先である、コンピュータ101内の場所を指定する
【0020】
ベンダーとパートナーとの間の契約に従い、図2Hに示すようにVDS105がエンドユーザに提示される。エンドユーザは、チェックボックス202にチェックマークを入れてVDS105を入手することに同意する。エンドユーザがVDS105を入手することに同意した場合、エンドユーザに図21に示すようなVDS105の使用および所有権を網羅したライセンス契約が提示される。このライセンス契約に合意すると、選択したPDS122およびVDS105がクライアントコンピュータ101へインストールされ始める。図2Jにおいて、インストール工程が完了すると、その旨がエンドユーザへ通知される。
【0021】
再び図1を参照すると、VDS105ではなく、FSS124がパッケージファイル125内のPDS122にバンドルされている。本実施形態において、FSS124は比較的小さな(例えば圧縮時に約100Kバイト未満のファイルサイズ)実行ファイルであり、ネットワーク100に接続された任意のコンピュータにVDS105をダウンロードする。FSS124は比較的小さなサイズのため、パートナーサイトでダウンロード可能ソフトウェアとバンドルするには理想的である。換言すると、パートナーはVDS105よりも、FSS124を自身のソフトウェアにバンドルすることに合意する可能性が高い。これは比較的大きなサイズのVDS105により、パートナーのPDS122のダウンロードが減速され、このためエンドユーザがダウンロード工程を完了前にキャンセルする、あるいは途中で伝送エラーが起こる可能性を高めてしまうからである。パートナーがFSS124を自身のダウンロード可能なソフトウェアとバンドルすることに合意すればするほど、VDS105がより多くのエンドユーザに配信されることになる。
【0022】
また、FSS124をPDS122とバンドルすることによって配信工程が簡略化される。FSS124はVDS105の一部ではなく、単に特定の(1つまたは複数の)ファイルをベンダーサイト102からダウンロードするものであり、FSS124を更新する必要無しにVDS105を更新することができる。更に、FSS124のサイズは、ダウンロードされるVDS105のサイズや数に依存せず、比較的小さなまま維持される。
【0023】
他の実施形態において、パートナーのソフトウェアは例えばCD−ROMなどの取り外し可能な記録媒体で配信される。この場合、パートナーのソフトウェアがインストールされている最中に、エンドユーザにVDS105が提示される。エンドユーザがVDS105を受け取る場合、FSS124はCD−ROMからエンドユーザのコンピュータにコピーされ、次いでベンダーサイト102からVDS105をダウンロードするために該FSS124が実行される。
【0024】
図3Aには、本発明の実施形態に係るFSS124が概略的に示されている。図3Aに示すように、FSS124にはクライアント−サーバ間インターフェース302とダウンロードマネージャ303とが含まれる。クライアント−サーバ間インターフェース302によって、クライアントコンピュータ101上で動作するFSS124が、本実施形態でサーバコンピュータであるベンダーサイト102と通信可能となる。クライアント−サーバ間インターフェース302には、クライアントとサーバとの間の通信を行い、ベンダーサイト102にチェックインし、認証するためのコンピュータ命令が含まれる。チェックイン時にFSS124によってベンダーサイト102へ渡される情報には、(例えば、請求目的のための)該情報の発信先のパートナーサイトのアイデンティティと、該情報のバージョン番号とが含まれる。
【0025】
図3Aに示すように、FSS124には、ベンダーサイト102から、またはベンダーサイト102にリンクされた他のサイトから1つまたは複数のVDS105をダウンロードするダウンロードマネージャ303も含まれる。ダウンロードマネージャ303はダウンロードするVDS105の名称およびその位置を入手する。ダウンロードマネージャ303には、VDS105をベンダーサイト102(またはベンダーサイト102にリンクされた他のサイト)の位置からクライアントコンピュータ101の位置にコピーするためのコンピュータ命令が含まれる。ダウンロードマネージャ303は、VDS105の全体が含まれた単一のファイル、またはそれぞれにVDS105の一部が含まれた一連の小部分をダウンロードしてよい。
【0026】
図3Bには、本発明の実施形態の係るVDS105が示されている。VDS105は一連の小部分に分割され、本明細書ではそれぞれをチャンク301(即ち、301A,301B、・・・301n)とする。本実施形態において、ダウンロードマネージャ303はチャンク301を逐次別々にダウンロードする。即ち、まずダウンロードマネージャ303はチャンク301Aをクライアントコンピュータ101にダウンロードし、次いでチャンク301B、チャンク301C等々をダウンロードする。すべてのチャンク301がクライアントコンピュータ101にダウンロードされると、それからダウンロードマネージャ303はチャンク301をVDS105に再構築する。クライアントコンピュータ101内でのチャンク301の再構築は、複数の方法で行われてよい。例えば、ダウンロードマネージャ303によって最初にダウンロードされるチャンクである、チャンク301Aを制御チャンクとし、チャンク301Aにチャンク301B、301C、301D、・・・301nを構築するための情報を含める。チャンク301Aには、VDS105の残りをダウンロードするための、より複雑な(かつ大きな)一組のコンピュータ命令も含まれ得る。別の方法は、それぞれのチャンク301にヘッダーを含めることである。ここで、それぞれのヘッダーは現行のチャンクの順序番号、その前後のチャンクの順序番号などの再構築情報を有する。この場合、チャンクがクライアントコンピュータ101内で再構築される時に、ヘッダーはダウンロードマネージャによって取り除かれる。チャンク単位でソフトウェアをダウンロードする別の方法が、本発明の利点を損なうことなしに使用され得ることは理解できるであろう。ソフトウェアを一連の小部分に分割し、別々にそれぞれの小部分をコンピュータにダウンロードし、コンピュータ内でソフトウェアを再構築する技術(「トリックル」としても知られている)は、概して当該技術において既知であることに留意されたい。
【0027】
ダウンロードマネージャ303は、例えばクライアントコンピュータ101のネットワーク接続における利用可能な帯域、1日の内の時間帯、あるいはエンドユーザの必要性に依存して、それぞれのチャンク301をダウンロードするように構成され得る。例えば、ネットワーク接続が28KBPSダイアルアップ接続の場合は一度に1つのチャンク301をダウンロードし、ネットワーク接続がT1回線の場合は一度に3つのチャンク301をダウンロードするようにダウンロードマネージャ303を構成できる。別の例としては、ダウンロードマネージャ303を1週間に渡り、あるいは今から2時間後にチャンク301をダウンロードするように構成することができる。更に別の例として、ダウンロードマネージャを最も都合のよい時間(例えば深夜)にダウンロードをスケジュール設定するように構成することができる。
【0028】
チャンク単位でVDS105をダウンロードする自由度が、ダウンロード工程の信頼性をより高めていることは理解できるであろう。更に、チャンク単位でのダウンロードはクライアントコンピュータ101を拘束せず、エンドユーザにダウンロードが行われていることをほとんど意識させないように適時ダウンロードを分散させることができる。
【0029】
図4において、本発明の実施形態に応じてVDS105を配信する方法が示されている。動作402において、パートナーサイト103からPDS122をダウンロードするために、該PDS122を選択する。動作404において、選択されたPDS122はパートナーサイト103からエンドユーザのクライアントコンピュータ101へダウンロードされる。パートナーとベンダーとのバンドル契約の一部として、FSS124もパートナーサイト103からクライアントコンピュータ101にダウンロードされる(動作404参照)。動作406において、ベンダーのVDS105がエンドユーザに提示される。エンドユーザがVDS105を有することに合意した場合、動作410の説明のようにFSS124がクライアントコンピュータ101にインストールされる。このインストール工程の一部として、FSS124が圧縮解除され(圧縮されている場合)、次いで自動的に呼び出され、実装形態に依存した単一ファイルまたは複数のチャンク単位でVDS105をダウンロードする。動作412において、選択されたPDS122はクライアントコンピュータ101にインストールされる。オプションとして、エンドユーザがVDS105を有することに同意しなかった場合、FSS124はクライアントコンピュータ101から削除される。いずれにせよ、FSS124は小さく、クライアントコンピュータ101の記憶容量に影響を与えない。
【0030】
図5には、本発明の実施形態による、VDS105をダウンロードする方法が示されている。動作502において、先にインストールしたFSS124がクライアントコンピュータ101上で動作する。動作504において、FSS124はベンダーサイト102にチェックインする。チェックイン処理の間にFSS124はベンダーサイト102からデータ(ファイルを含む)をダウンロードする権限を有するクライアントとして認証される。動作506において、FSS124はより新しいバージョンのFSS124が入手可能かどうかを判断する。入手可能と判断した場合、動作508の説明のように、新しいFSS124がクライアントコンピュータ101にインストールされ、古いFSS124に代わって動作する。
【0031】
動作510において、FSS124によってVDS105がクライアントコンピュータ101にダウンロードされる。VDS105は、実装形態に依存して単一のファイルまたは複数のチャンク単位でダウンロードされる。更に、VDS105をサポートする他のソフトウェア(例えばインストーラ(ただしVDS105に含まれていない場合))も同時にダウンロードされる。動作512において、FSS124はエンドユーザに提示され、エンドユーザによって選択された他のVDS105が存在するかどうかを判断する。存在すると判断した場合、動作514の説明のように、FSS124は他のVDS105のダウンロードへ進む。動作516において、すべてのダウンロードされたVDS105がクライアントコンピュータ101にインストールされる。
【0032】
ここで図6を参照すると、本発明の別の実施形態に係る第1段階のソフトウェア(FSS)601の概略図が示されている。FSS601は比較的小さな(例えば、圧縮時に100Kバイト)ソフトウェアであり、クライアントコンピュータへファイルを容易にダウンロードさせる。FSS601は、クライアントコンピュータ101などのクライアントコンピュータ内で動作する。FSS601は、サーバコンピュータからダウンロード可能なパートナーソフトウェアと、あるいは取り外し可能記憶媒体で配布されるパートナーソフトウェアとバンドルされてよい。しかしながら、FSS601はファイルのダウンロードを要する任意のアプリケーションに使用してよく、必ずしもソフトウェアをバンドルするアプリケーションに限定する必要はないことは理解されよう。
【0033】
FSS601には、クライアント−サーバ間インターフェース602と、ダウンロードマネージャ603と、ランチャー604と、統計モジュール605とが含まれる。クライアント−サーバ間インターフェース602にはコンピュータ命令が含まれ、この命令によりFSS601はベンダーサイト102などのサーバコンピュータと通信可能となる。
【0034】
ダウンロードマネージャ603には、FSS601が動作しているクライアントコンピュータに1つまたは複数のファイル(例えば、VDS105およびサポートソフトウェア)をサーバコンピュータからダウンロードするためのコンピュータ命令が含まれている。本実施形態において、ダウンロードマネージャ603は、ハイパーテキスト転送プロトコル(HTTP)を用いてファイルをダウンロードする。ダウンロードマネージャ603は、単一のファイルを一括でダウンロードしてもよいし、小部分に分けて単一のファイルをダウンロードしてもよい。ここで本発明の態様を図7Aと共に説明する。
【0035】
図7Aにおいて、チャンク701A、701B、701C、・・・701nにより単一のファイルが構成されている。ダウンロードマネージャ603は、HTTPを用いてサーバコンピュータに単一のファイルの特定の部分をダウンロードするように要求する。例えば、ダウンロードマネージャ603はサーバにVDS105のバイト1から500を要求し、VDS105のバイト1から500に相当する部分をチャンク701Aと指定し、VDS105のバイト501から532に相当する部分をチャンク701Bと指定し、VDS105のバイト533から600に相当する部分をチャンク701Cと指定してよい。それぞれのチャンクのサイズはバイト範囲を変えることにより変更することができる。それゆえ、ダウンロードマネージャ603は単一のファイルをチャンク単位でダウンロードする機能を有する。ダウンロードする複数のファイルが存在する場合、すべてのファイルがダウンロードされるまで、それぞれのファイルはチャンク単位でダウンロードされる。
【0036】
図7Bにおいて、本発明の実施形態による、ダウンロードマネージャ603によって使用される時分割多重技術が概略的に示されている。本実施形態において、ダウンロードマネージャ603はダウンロードしているファイルのチャンク(701A、701B、701C、701n)をリクエストする。それぞれのチャンクは、ダウンロードマネージャ603が想定する最大接続伝送速度でダウンロードされる。チャンクのダウンロード時間は見積もられる。チャンク701Aのダウンロード時間はT701Aとして示すことができる。ダウンロードに使用可能な帯域が総帯域の25%であると仮定すると、この使用可能なパーセントをpctとして示すことができる。チャンク701A全体が受け取られると、DM603は(T701A/pct)×(1−pct)に相当する時間をスリープする。例えば、T701Aが500ミリ秒とすると、ファイルの最初のチャンクをダウンロードするのに500ミリ秒かかることを意味し、pctが25%では、チャンクのダウンロードに利用可能な総帯域の25%を使用し、そして701A全体が受け取られるとダウンロードマネージャ603が(T701A/pct)×(1−pct)=(500×0.25)×(1−0.25)=1500ミリ秒間スリープすることを意味する。それゆえ、ダウンロードにはタイムスライスの25%、即ち500ミリ秒かかり、スリープには残りの75%、即ち1500ミリ秒かかる。
【0037】
実際のダウンロード時間およびスリープ時間は、それぞれの一連のチャンクのダウンロード時間に依存して常時変化するが、ダウンロードマネージャ603は常に平均で帯域の25%しか使用しない(ある時間の25%に100%の帯域を使用し、該時間の75%に0%の帯域を使用する)。別のアプリケーション(例えば、インターネット電話通信)が帯域を使用始めると、T701x(ダウンロードマネージャがファイル701xの或る任意のチャンクをダウンロードする時間)が500ミリ秒からより大きい数値となり、および/またはチャンクサイズが小さくなる。そしてスリープ時間が比例して変化するが、ダウンロードマネージャ603はそれでも利用可能な帯域を平均で約25%使用する。該別のアプリケーションが帯域の使用を中止した場合、T701のダウンロード時間は短縮し、それゆえそれぞれのスリープ時間が短縮する。この実施形態を明確にするために高速道路のオンランプのメータリングライトを例として用いることができる。このメータリングライトに関し、青信号の間隔は道路の混み具合に反比例する。
【0038】
ダウンロードマネージャ603はHTTPリクエストからの応答を受け取るまでの時間をミリ秒単位で測定することにより、送信時間を決定する。それによりDNS解決、レイテンシ、サーバ負荷などのすべてのネットワーク変数が割り当てられる。ダウンロードマネージャ603の1実施形態では、或る任意のHTTPサーバを使用することができる。本実施形態において、ダウンロードマネージャ603が上述のモニタ方法を行う場合には、サーバは転送時間をモニタする必要はない。
【0039】
前述に基づき、テストデータ751を送ることによって、ダウンロードマネージャ603はエンドユーザにより現行使用されている帯域の量を算出することができる。これにより、ダウンロードマネージャ603はチャンク701のサイズおよび一連のチャンク701をダウンロードする際にかかる時間を調整することができ、その結果エンドユーザは自身のクライアントコンピュータへダウンロードが行われていることをほとんど意識することがない。
【0040】
図7Bを参照すると送信状態の例が示されており、600Kbpsから1.2Mbpsのダウンロード速度で動作するケーブルモデム上で、別のアプリケーションが帯域を使用していない状態で64Kバイトのチャンクをダウンロードすると、500から1200ミリ秒かかる。ダウンロードマネージャ603は8Kバイトのチャンクから開始し、妥当な速度と判断するまでチャンクサイズを大きくする。例えば、56Kモデム接続上のチャンクサイズは8Kから16Kバイトの範囲であるが、データマネージャ603で許容可能な64Kバイトまで急激かつ段階的にチャンクサイズを大きくする。
【0041】
ダウンロードマネージャ603には、既にクライアントコンピュータにダウンロードされたチャンク701を常時監視するためのコンピュータ命令が更に含まれる。これにより、ダウンロードマネージャ603が正常にダウンロードした最後のチャンク701を判定することができ、このチャンクは(例えば接続障害により)ダウンロードエラーが生じた際に有益な情報となる。この場合、ダウンロードマネージャ603は、初めから再びダウンロード工程を開始する必要はなく、正常にダウンロードした最後のチャンク701の次のチャンクからダウンロードを再開してよい。
【0042】
ダウンロードマネージャ603には、更にクライアントコンピュータ内ですべてのダウンロードしたチャンク701を再構築するためのコンピュータ命令が含まれる。
【0043】
本発明の本実施形態に応じて単一のファイルをチャンク単位でダウンロードすることにより、ダウンロードが正常に完了する確率が高まり、エンドユーザへのダウンロード工程の影響が最小限となり、低速のネットワーク接続を用いてのダウンロードが可能となることは理解できるであろう。
【0044】
図6を再び参照すると、FSS601には、ダウンロードマネージャ603によってダウンロードされたソフトウェアを実行するためのランチャー604が更に含まれる。統計モジュール605は、FSS601の使用に関する統計情報を常時監視する。この統計モジュールはクライアントマシン内に常駐してよい。それゆえ、統計モジュールによって生成された統計データは、ネットワーク経由のベンダーサーバへの周期的な送信器となる。1実施形態において、統計モジュール605には、ソフトウェアの特定部分がサーバからダウンロードされた回数と、ダウンロードの成功と失敗の回数と、失敗したダウンロードに関するエラーコードと、FSS601などをバンドルしたパートナーのアイデンティティとを常時監視するコンピュータ命令が含まれる。このような情報により、例えばパートナーに対しダウンロードが成功する毎に支払う、または請求することができ、ソフトウェア開発者はダウンロード工程を最適化することができる。
【0045】
図8には、本発明の実施形態に応じて、FSS601によりサーバコンピュータからダウンロードされた例示のファイルが概略的に示されている。FSS601は、ベンダーダウンロード可能ソフトウェア(VDS)に加えて、構成ファイル802、インストーラ803、カスタマイゼーションファイル804もダウンロードする。
【0046】
1実施形態において、構成ファイル802はFSS601によってダウンロードされる最初のファイルである。構成ファイル802には、サーバコンピュータからダウンロードを要するファイルのリストが含まれている。本実施形態において、構成ファイル802には、VDS801のファイル名および位置、インストーラ803、カスタマイゼーションファイル804が含まれる。更にファイルをリストに加えてもよい。FSS601を更新しなくても、構成ファイル802によってVDS801およびそのサポートファイルを更新できることに理解されたい。これは、FSS601をソフトウェアと既にバンドルした多数のベンダーにFSS601を提供する状況において特に有益となる。
【0047】
構成ファイル802には、帯域利用値が更に含まれる。本実施形態において、帯域利用値は、ダウンロードマネージャ603がファイルをダウンロードする際に使用する帯域の量を示す。例えば、所望の帯域利用が15%の場合、ダウンロードマネージャ603はチャンクのサイズおよび/または一連のチャンクのダウンロードにかかる時間を調整し、クライアントサーバとサーバコンピュータとの間のネットワーク接続上で利用可能な帯域における約15%を利用するようにする。
【0048】
図8を再び参照すると、FSS601はサーバコンピュータからインストーラ803もダウンロードする。インストーラ803には、FSS601が実行されるクライントコンピュータにダウンロードされるソフトウェアをインストールするためのコンピュータ命令が含まれる。
【0049】
FSS601によって、カスタマイゼーションファイル804もサーバコンピュータからダウンロードされてもよい。本実施形態において、カスタマイゼーションファイル804には、パートナーのユーザインターフェース(例えば、パートナーダウンロード可能ソフトウェアをインストールするためのユーザインターフェース)をカスタマイズするためのダイナミックリンク・ライブラリ(DLL)データが含まれる。これにより、すべてのパートナーがそれぞれの顧客に同一のVDS801を提示しても、該それぞれのパートナーは自身のソフトウェアに対して独自の表示および操作感覚を有することができる。
【0050】
図9には、本発明の実施形態による、ファイルをダウンロードする方法が示されている。動作902において、ダウンロードマネージャ603によって構成ファイル802がダウンロードされる。動作904において、ダウンロードマネージャ603が構成ファイル802に示された帯域利用値を読み取ることによって所望の帯域利用を決定する。動作906において、ダウンロードマネージャ603は、構成ファイル802内のリストからダウンロードが必要なファイルを決定する。動作908において、ダウンロードマネージャ603はダウンロードが必要なすべてのファイルをチャンク単位でダウンロードする。
【0051】
図10には、本発明の実施形態による、チャンク単位でファイルをダウンロードする方法が示されている。動作1002において、ダウンロードマネージャ603は、ダウンロードするファイルが含まれているサーバコンピュータにテストデータを送る。動作1004において、ダウンロードマネージャ603はテストデータの伝送時間を算出する。
【0052】
動作1006において、ダウンロードマネージャ603は、ダウンロードするファイルのそれぞれのチャンクのサイズおよび/または一連のチャンクをダウンロードする際にかかる時間(例えばダウンロード時間)を調整し、所望の帯域利用と合わせる。例えば、所望の帯域利用がネットワーク接続で利用可能な帯域の25%の場合、64Kバイトのチャンクのデータを送信することにより、ダウンロードに700ミリ秒かかり、2100ミリ秒(2.1秒)のチャンク間スリープ時間を伴うこととなる。
【0053】
動作1008において、ダウンロードマネージャ603は、適切なサイズのチャンクを送るか、あるいは所望の帯域利用に求められる所定の期間内に一連のチャンクを送る。動作1010において、ファイルのすべてのチャンクがダウンロードされるまで、前述の動作が繰り返される。動作1012において、すべてのチャンクがダウンロードされた後、クライアントコンピュータ内でチャンクが再構築される。
【0054】
ネットワーク経由でダウンロード可能なソフトウェアをダウンロードし、かつ配信する、改善された技術を開示する。特定の実施形態を提供しているが、これらの実施形態は説明のためであり、限定するものではないことを理解されたい。多くの添付の実施形態は、当業者が本開示を読むことによって理解されるであろう。それゆえ、本発明は添付の特許請求の範囲によってのみ限定されるものとする。
【図面の簡単な説明】
【0055】
【図1】本発明の実施形態によるコンピュータネットワークの概略図である。
【図2A】本発明の実施形態によるダウンロード工程を示す、クライアントコンピュータでエンドユーザが見るスクリーンショットの例である。
【図2B】本発明の実施形態によるダウンロード工程を示す、クライアントコンピュータでエンドユーザが見るスクリーンショットの例である。
【図2C】本発明の実施形態によるダウンロード工程を示す、クライアントコンピュータでエンドユーザが見るスクリーンショットの例である。
【図2D】本発明の実施形態によるダウンロード工程を示す、クライアントコンピュータでエンドユーザが見るスクリーンショットの例である。
【図2E】本発明の実施形態によるダウンロード工程を示す、クライアントコンピュータでエンドユーザが見るスクリーンショットの例である。
【図2F】本発明の実施形態によるダウンロード工程を示す、クライアントコンピュータでエンドユーザが見るスクリーンショットの例である。
【図2G】本発明の実施形態によるダウンロード工程を示す、クライアントコンピュータでエンドユーザが見るスクリーンショットの例である。
【図2H】本発明の実施形態によるダウンロード工程を示す、クライアントコンピュータでエンドユーザが見るスクリーンショットの例である。
【図2I】本発明の実施形態によるダウンロード工程を示す、クライアントコンピュータでエンドユーザが見るスクリーンショットの例である。
【図2J】本発明の実施形態によるダウンロード工程を示す、クライアントコンピュータでエンドユーザが見るスクリーンショットの例である。
【図3A】本発明の実施形態による第1段階のソフトウェアを概略的に示した図である。
【図3B】本発明の実施形態による、一連の部分に分割されたダウンロード可能なソフトウェアを概略的に示した図である。
【図4】本発明の実施形態による、ダウンロード可能なソフトウェアを配信する方法を示す図である。
【図5】本発明の実施形態による、ダウンロード可能なソフトウェアをダウンロードする方法を示す図である。
【図6】本発明の別の実施形態による、第1段階のソフトウェアを概略的に示す図である。
【図7A】本発明の実施形態による、チャンク単位のファイル分割を概略的に示す図である。
【図7B】本発明の実施形態による、ファイルをダウンロードするために多重化された時間領域を概略的に示す図である。
【図8】本発明の実施形態による、サーバコンピュータからダウンロードされたファイルの例を概略的に示す図である。
【図9】本発明の実施形態による、ファイルをダウンロードする方法を示す図である。
【図10】本発明の実施形態による、チャンク単位でファイルをダウンロードする方法を示す図である。
Claims (28)
- ネットワーク経由でソフトウェアを受け取る方法であって、
ネットワークに接続された第1のウェブサイトからアプリケーションソフトウェアを選択するステップと、
前記ネットワークに接続されたクライアントコンピュータにパッケージファイルをダウンロードするステップであって、該パッケージファイルは前記選択されたアプリケーションソフトウェアと比較的小さな第1段階のソフトウェアとを含み、該第1段階のソフトウェアは、前記ネットワークに接続された第2のウェブサイトから別のアプリケーションソフトウェアをダウンロードする命令を含む、ダウンロードするステップと、
前記別のアプリケーションソフトウェアを前記第2のウェブサイトから前記クライアントコンピュータへダウンロードすることを承認するステップと、
前記第1段階のソフトウェアを実行するステップと、
前記別のアプリケーションソフトウェアを前記クライアントコンピュータにダウンロードするステップと、
を含む方法。 - 前記別のアプリケーションソフトウェアは複数のチャンクに分割され、該複数のチャンクのそれぞれは前記クライアントコンピュータに逐次ダウンロードされる、請求項1に記載の方法。
- 前記第1段階のソフトウェアのサイズは、圧縮時に約100Kバイト未満である、請求項1に記載の方法。
- 前記ネットワークはインターネットを含む、請求項1に記載の方法。
- 前記第1段階のソフトウェアは、前記第1のウェブサイトの運営者と、前記別のアプリケーションソフトウェアの配信を推進する必要がある別の運営者との間の契約の一部として、前記パッケージファイルに含まれる、請求項1に記載の方法。
- ネットワーク経由でソフトウェアを取得する方法であって、
第1のソフトウェアを第1のサイトから選択するステップと、
前記第1のソフトウェアをクライアントコンピュータにダウンロードするステップと、
前記第1のソフトウェアの前記選択に応じて、比較的小さな第2のソフトウェアを前記クライアントコンピュータにダウンロードするステップであって、前記第2のソフトウェアは前記第1のサイトとは異なるサイトから第3のソフトウェアのダウンロードを開始する命令を含む、ダウンロードするステップと、
前記第3のソフトウェアを、個別にダウンロード可能な一連の部分として前記クライアントコンピュータにダウンロードするステップと、
を含む方法。 - 前記第3のソフトウェアは、第3のサイトにリンクされた第2のサイトに配置され、前記第2のソフトウェアは、前記第3のサイトを前記第3のソフトウェアの送信元として識別する命令を含む、請求項6に記載の方法。
- 前記ネットワークはインターネットを含む、請求項6に記載の方法。
- 前記第3のソフトウェアはアプリケーションソフトウェアを含む、請求項6に記載の方法。
- 前記第2段階のソフトウェアのファイルサイズは、圧縮時に約100Kバイト未満である、請求項6に記載の方法。
- ソフトウェアを配信するシステムであって、
一組のウェブページと第1のダウンロード可能なソフトウェアとを有する第1のサーバコンピュータと、
別の一組のウェブページと、第2のダウンロード可能なソフトウェアと、比較的小さな第1段階のソフトウェアとを有する第2のサーバコンピュータと、
ウェブブラウザを有し、前記第2のダウンロード可能なソフトウェアをダウンロードすることによって前記第1段階のソフトウェアを受け取り、かつ該第1段階のソフトウェアに含まれた命令に従うことによって前記第1のダウンロード可能なソフトウェアをチャンク単位で受け取るように構成される、クライアントコンピュータと、
前記第1のサーバコンピュータと、前記第2のサーバコンピュータと、前記クライアントコンピュータとを連結するネットワークと、
を備えるシステム。 - 前記ネットワークはインターネットを含む、請求項11に記載のシステム。
- 前記第2のダウンロード可能なソフトウェアと前記第1段階のソフトウェアとは、単一のファイルにバンドルされる、請求項11に記載のシステム。
- 前記第2のダウンロード可能なソフトウェアと前記第1段階のソフトウェアは、別々のファイルに存在する、請求項11に記載のシステム。
- 前記第1段階のソフトウェアは、第3のサーバコンピュータを前記第1のソフトウェアの送信元として識別し、前記第3のサーバコンピュータは前記第1のサーバコンピュータにリンクされる、請求項11に記載のシステム。
- ネットワーク経由でソフトウェアを配信する方法であって、
第1段階のソフトウェアを第1のサーバコンピュータからダウンロード可能な第1のアプリケーションソフトウェアとバンドルするステップと、
第2のアプリケーションソフトウェアを第2のサーバコンピュータに格納するステップであって、該第2のアプリケーションソフトウェアは前記第1のアプリケーションソフトウェアのダウンロードを希望するエンドユーザに提示される、格納するステップと、
前記第2のアプリケーションソフトウェアをダウンロードすることに同意したエンドユーザに、前記第2のアプリケーションソフトウェアをチャンク単位でダウンロードするステップであって、該第2のアプリケーションソフトウェアは前記第1段階のソフトウェアに含まれた命令に従ってダウンロードされる、ダウンロードするステップと、
を含む方法。 - 前記ネットワークはインターネットを含む、請求項16に記載の方法。
- 前記第2のアプリケーションソフトウェアをダウンロードするステップの前に、前記第1段階のソフトウェアの新しいバージョンが存在するかどうかをチェックするステップを更に含む、請求項16に記載の方法。
- 第3のアプリケーションソフトウェアを前記第1のアプリケーションソフトウェアのダウンロードを希望するエンドユーザに提示するステップと、
前記第3のアプリケーションソフトウェアのダウンロードに同意したエンドユーザへ、該第3のアプリケーションソフトウェアをチャンク単位でダウンロードするステップと、
を更に含む、請求項16に記載の方法。 - 前記第1段階のソフトウェアは比較的小さい、請求項16に記載の方法。
- 前記第1段階のソフトウェアのファイルサイズは、圧縮時に約100Kバイト未満である、請求項20に記載の方法。
- サーバコンピュータからファイルをダウンロードする方法であって、
ダウンロードする少なくとも第1のファイルを識別する構成ファイルをダウンロードするステップと、
前記第1のファイルをチャンク単位で、かつ所望の帯域利用率に従ってダウンロードするステップと、
を含む方法。 - 前記所望の帯域利用は前記構成ファイルに含まれる、請求項22に記載の方法。
- 前記第1のファイルを受け取るように指定されたクライアントコンピュータにダウンロードされたそれぞれのチャンクを常時監視するステップと、
ダウンロードエラー発生時に、前記クライアントコンピュータに正常にダウンロードされたチャンクの次のチャンクをダウンロードして、前記第1のファイルのダウンロードアクションを再開するステップと、
を更に含む、請求項22に記載の方法。 - ネットワーク経由でファイルをダウンロードする方法であって、
テストデータを送信するステップと、
前記テストデータの送信にかかる時間を算出し、帯域消費値を生成するステップと、
前記帯域消費値と所望の帯域利用とに基づいて前記ファイルのチャンクをダウンロードするステップと、
を含む方法。 - 前記ファイルを受け取るように指定されたクライアントコンピュータにダウンロードされるそれぞれのチャンクを常時監視するステップと、
ダウンロードエラー発生時に、前記クライアントコンピュータに正常にダウンロードされたチャンクの次のチャンクをダウンロードして、前記ファイルのダウンロードを再開するステップと、
を更に含む、請求項25に記載の方法。 - 前記帯域消費値と所望の帯域利用とに基づいて前記ファイルのチャンクをダウンロードする前記アクションは、前記チャンクのサイズを調整するステップを含む、請求項25に記載の方法。
- 前記帯域消費値と所望の帯域利用とに基づいて前記ファイルのチャンクをダウンロードする前記アクションは、前記チャンクを送信するために割り当てられた時間を調整するステップを含む、請求項25に記載の方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US30963401P | 2001-08-01 | 2001-08-01 | |
US10/056,955 US20030028870A1 (en) | 2001-08-01 | 2002-01-25 | Distribution of downloadable software over a network |
PCT/US2002/024515 WO2003012641A1 (en) | 2001-08-01 | 2002-08-01 | Distribution of downloadable software over a network |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004537804A true JP2004537804A (ja) | 2004-12-16 |
Family
ID=26735891
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003517751A Pending JP2004537804A (ja) | 2001-08-01 | 2002-08-01 | ダウンロード可能なソフトウェアのネットワーク経由での配信 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20030028870A1 (ja) |
EP (1) | EP1421487A4 (ja) |
JP (1) | JP2004537804A (ja) |
KR (1) | KR20040040436A (ja) |
CA (1) | CA2455948A1 (ja) |
WO (1) | WO2003012641A1 (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008152762A (ja) * | 2006-11-21 | 2008-07-03 | Brother Ind Ltd | プログラムのインストール装置 |
JP2008310777A (ja) * | 2007-06-18 | 2008-12-25 | Square Enix Holdings Co Ltd | 情報処理装置、複数部分処理の実行方法、並びにプログラム及び記録媒体 |
US9011902B2 (en) | 2006-01-25 | 2015-04-21 | Polichem Sa | Composition for vaginal use |
JP2016071422A (ja) * | 2014-09-26 | 2016-05-09 | ブラザー工業株式会社 | ソフトウエア提供システム及びインストールプログラム |
Families Citing this family (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7475404B2 (en) | 2000-05-18 | 2009-01-06 | Maquis Techtrix Llc | System and method for implementing click-through for browser executed software including ad proxy and proxy cookie caching |
US8086697B2 (en) | 2005-06-28 | 2011-12-27 | Claria Innovations, Llc | Techniques for displaying impressions in documents delivered over a computer network |
US20040083474A1 (en) * | 2001-10-18 | 2004-04-29 | Mckinlay Eric | System, method and computer program product for initiating a software download |
US7480862B2 (en) * | 2001-11-27 | 2009-01-20 | Claria Corporation | Method and apparatus for providing information regarding computer programs |
US7200388B2 (en) * | 2002-05-31 | 2007-04-03 | Nokia Corporation | Fragmented delivery of multimedia |
EP1369804B1 (en) * | 2002-06-03 | 2007-11-14 | Thomson Licensing | Method for controlling the propagation of metadata items |
US7603341B2 (en) | 2002-11-05 | 2009-10-13 | Claria Corporation | Updating the content of a presentation vehicle in a computer network |
US7702723B2 (en) * | 2003-08-01 | 2010-04-20 | Turbine, Inc. | Efficient method for providing game content to a client |
US20050066324A1 (en) * | 2003-09-22 | 2005-03-24 | Microsoft Corporation | Method and system for distributing and installing software |
US8170912B2 (en) | 2003-11-25 | 2012-05-01 | Carhamm Ltd., Llc | Database structure and front end |
US20050198315A1 (en) * | 2004-02-13 | 2005-09-08 | Wesley Christopher W. | Techniques for modifying the behavior of documents delivered over a computer network |
US8255413B2 (en) | 2004-08-19 | 2012-08-28 | Carhamm Ltd., Llc | Method and apparatus for responding to request for information-personalization |
US20060041881A1 (en) * | 2004-08-19 | 2006-02-23 | Adkasthala Bheema P | Universal upgrade architecture |
US8078602B2 (en) | 2004-12-17 | 2011-12-13 | Claria Innovations, Llc | Search engine for a computer network |
US20060053048A1 (en) * | 2004-09-03 | 2006-03-09 | Whenu.Com | Techniques for remotely delivering shaped display presentations such as advertisements to computing platforms over information communications networks |
US7693863B2 (en) | 2004-12-20 | 2010-04-06 | Claria Corporation | Method and device for publishing cross-network user behavioral data |
WO2006096700A2 (en) * | 2005-03-07 | 2006-09-14 | Claria Corporation | Method for quantifying the propensity to respond to an advertisement |
US8645941B2 (en) | 2005-03-07 | 2014-02-04 | Carhamm Ltd., Llc | Method for attributing and allocating revenue related to embedded software |
US8073866B2 (en) | 2005-03-17 | 2011-12-06 | Claria Innovations, Llc | Method for providing content to an internet user based on the user's demonstrated content preferences |
JP2008547136A (ja) * | 2005-06-28 | 2008-12-25 | クラリア コーポレイション | メディアストリームを制御し適合させるための方法及びシステム |
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 |
KR100790053B1 (ko) * | 2006-06-05 | 2008-01-02 | 주식회사 대우일렉트로닉스 | 마스터 장치의 번들 처리 장치 및 방법 |
US8620952B2 (en) | 2007-01-03 | 2013-12-31 | Carhamm Ltd., Llc | System for database reporting |
US20080201705A1 (en) | 2007-02-15 | 2008-08-21 | Sun Microsystems, Inc. | Apparatus and method for generating a software dependency map |
WO2009039418A1 (en) * | 2007-09-21 | 2009-03-26 | Sony Computer Entertainment Inc. | Network delivery of entertainment software |
US20090124369A1 (en) * | 2007-11-09 | 2009-05-14 | Bally Gaming, Inc. | Reconfigurable Gaming Machine Method |
KR20090054110A (ko) * | 2007-11-26 | 2009-05-29 | 삼성전자주식회사 | 휴대단말의 콘텐츠 권리객체 획득 방법 및 장치 |
KR20100086677A (ko) * | 2009-01-23 | 2010-08-02 | 삼성전자주식회사 | 커뮤니티 위젯 제공 방법 및 장치 |
US9373121B1 (en) * | 2012-08-09 | 2016-06-21 | Sprint Communications Company L.P. | User communication device control with operating system action request messages |
US8930957B2 (en) | 2012-09-13 | 2015-01-06 | International Business Machines Corporation | System, method and program product for cost-aware selection of stored virtual machine images for subsequent use |
EP2955629B1 (en) * | 2014-06-11 | 2021-10-27 | Home Control Singapore Pte. Ltd. | System for installing new firmware on a small-memory device |
Family Cites Families (33)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5446919A (en) * | 1990-02-20 | 1995-08-29 | Wilkins; Jeff K. | Communication system and method with demographically or psychographically defined audiences |
US6026368A (en) * | 1995-07-17 | 2000-02-15 | 24/7 Media, Inc. | On-line interactive system and method for providing content and advertising information to a targeted set of viewers |
US5845077A (en) * | 1995-11-27 | 1998-12-01 | Microsoft Corporation | Method and system for identifying and obtaining computer software from a remote computer |
US5823879A (en) * | 1996-01-19 | 1998-10-20 | Sheldon F. Goldberg | Network gaming system |
US6049671A (en) * | 1996-04-18 | 2000-04-11 | Microsoft Corporation | Method for identifying and obtaining computer software from a network computer |
US5940074A (en) * | 1996-06-03 | 1999-08-17 | Webtv Networks, Inc. | Remote upgrade of software over a network |
US6151643A (en) * | 1996-06-07 | 2000-11-21 | Networks Associates, Inc. | Automatic updating of diverse software products on multiple client computer systems by downloading scanning application to client computer and generating software list on client computer |
US5752042A (en) * | 1996-06-07 | 1998-05-12 | International Business Machines Corporation | Server computer for selecting program updates for a client computer based on results of recognizer program(s) furnished to the client computer |
US5907621A (en) * | 1996-11-15 | 1999-05-25 | International Business Machines Corporation | System and method for session management |
US6067416A (en) * | 1997-06-03 | 2000-05-23 | Fraser; Robert E. | Method for dynamically wrapping files for downloading |
JPH1153184A (ja) * | 1997-08-08 | 1999-02-26 | Seta:Kk | データ配信方法および装置 |
US6061733A (en) * | 1997-10-16 | 2000-05-09 | International Business Machines Corp. | Method and apparatus for improving internet download integrity via client/server dynamic file sizes |
US6202207B1 (en) * | 1998-01-28 | 2001-03-13 | International Business Machines Corporation | Method and a mechanism for synchronized updating of interoperating software |
US6133916A (en) * | 1998-04-08 | 2000-10-17 | International Business Machines Corporation | Graphical user interface providing access to files downloaded over a network |
US6167567A (en) * | 1998-05-05 | 2000-12-26 | 3Com Corporation | Technique for automatically updating software stored on a client computer in a networked client-server environment |
US20030101092A1 (en) * | 1998-05-27 | 2003-05-29 | William Fuller | Method for software distribution and compensation with replenishable advertisements |
US6381742B2 (en) * | 1998-06-19 | 2002-04-30 | Microsoft Corporation | Software package management |
US6353926B1 (en) * | 1998-07-15 | 2002-03-05 | Microsoft Corporation | Software update notification |
US6804251B1 (en) * | 1998-11-12 | 2004-10-12 | Broadcom Corporation | System and method for multiplexing data from multiple sources |
US6297819B1 (en) * | 1998-11-16 | 2001-10-02 | Essential Surfing Gear, Inc. | Parallel web sites |
US6604238B1 (en) * | 1999-07-26 | 2003-08-05 | Hewlett-Packard Development Company, L.P. | Method and system for installing software |
WO2001011466A2 (en) * | 1999-08-11 | 2001-02-15 | Ethos Technologies, Inc. | Download manager |
US6473792B1 (en) * | 2000-01-18 | 2002-10-29 | Lory Suby | Method of simulating broadband internet content downloads |
US6842861B1 (en) * | 2000-03-24 | 2005-01-11 | Networks Associates Technology, Inc. | Method and system for detecting viruses on handheld computers |
US20020120507A1 (en) * | 2000-04-04 | 2002-08-29 | George Chanos | Feature rich advertisments including consumer requests for additional information |
US20020016736A1 (en) * | 2000-05-03 | 2002-02-07 | Cannon George Dewey | System and method for determining suitable breaks for inserting content |
JP2002077092A (ja) * | 2000-09-01 | 2002-03-15 | Sony Corp | 多重装置、受信装置及び多重伝送方法 |
US20020174422A1 (en) * | 2000-09-28 | 2002-11-21 | The Regents Of The University Of California | Software distribution system |
US6950804B2 (en) * | 2001-02-26 | 2005-09-27 | Pika Media | Systems and methods for distributing targeted multimedia content and advertising |
US7188342B2 (en) * | 2001-04-20 | 2007-03-06 | Microsoft Corporation | Server controlled branding of client software deployed over computer networks |
US6956836B2 (en) * | 2001-05-17 | 2005-10-18 | Ericsson, Inc. | Asymmetric frequency allocation for packet channels in a wireless network |
US20040025155A1 (en) * | 2001-05-18 | 2004-02-05 | Sedlack Derek J. | Method, computer program product, and system for configuring a software image for installation into a computer system |
US8086559B2 (en) * | 2002-09-24 | 2011-12-27 | Google, Inc. | Serving content-relevant advertisements with client-side device support |
-
2002
- 2002-01-25 US US10/056,955 patent/US20030028870A1/en not_active Abandoned
- 2002-08-01 KR KR10-2004-7001288A patent/KR20040040436A/ko not_active Application Discontinuation
- 2002-08-01 EP EP02750397A patent/EP1421487A4/en not_active Withdrawn
- 2002-08-01 WO PCT/US2002/024515 patent/WO2003012641A1/en not_active Application Discontinuation
- 2002-08-01 JP JP2003517751A patent/JP2004537804A/ja active Pending
- 2002-08-01 CA CA002455948A patent/CA2455948A1/en not_active Abandoned
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9011902B2 (en) | 2006-01-25 | 2015-04-21 | Polichem Sa | Composition for vaginal use |
JP2008152762A (ja) * | 2006-11-21 | 2008-07-03 | Brother Ind Ltd | プログラムのインストール装置 |
JP2008310777A (ja) * | 2007-06-18 | 2008-12-25 | Square Enix Holdings Co Ltd | 情報処理装置、複数部分処理の実行方法、並びにプログラム及び記録媒体 |
JP4658092B2 (ja) * | 2007-06-18 | 2011-03-23 | 株式会社スクウェア・エニックス | 情報処理装置、複数部分処理の実行方法、並びにプログラム及び記録媒体 |
JP2016071422A (ja) * | 2014-09-26 | 2016-05-09 | ブラザー工業株式会社 | ソフトウエア提供システム及びインストールプログラム |
Also Published As
Publication number | Publication date |
---|---|
WO2003012641A1 (en) | 2003-02-13 |
CA2455948A1 (en) | 2003-02-13 |
KR20040040436A (ko) | 2004-05-12 |
EP1421487A1 (en) | 2004-05-26 |
EP1421487A4 (en) | 2007-03-21 |
US20030028870A1 (en) | 2003-02-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2004537804A (ja) | ダウンロード可能なソフトウェアのネットワーク経由での配信 | |
RU2386221C2 (ru) | Подписки мобильных устройств через эфир | |
US6256668B1 (en) | Method for identifying and obtaining computer software from a network computer using a tag | |
US6073214A (en) | Method and system for identifying and obtaining computer software from a remote computer | |
US6539429B2 (en) | Method and apparatus for transmitting and displaying information between a remote network and a local computer | |
US5752042A (en) | Server computer for selecting program updates for a client computer based on results of recognizer program(s) furnished to the client computer | |
EP1018084B1 (en) | Web serving system with primary and secondary servers | |
US7620948B1 (en) | Client side software updating | |
US7577751B2 (en) | Software streaming system and method | |
US7143406B2 (en) | Asynchronous software update | |
US7584470B2 (en) | Method and system for peer-to-peer software distribution with a package builder | |
AU2004279202B2 (en) | System and method for updating installation components in a networked environment | |
AU2005267858B2 (en) | Methods and apparatus for subscribing to multimedia delivery services in a data network | |
CA2257692C (en) | Use of polymorphic package files to update software components | |
US20020178232A1 (en) | Method of background downloading of information from a computer network | |
US7539631B1 (en) | Method, system and program for providing subscription-based virtual computing services | |
WO2007089283A2 (en) | System and method for providing computer services | |
JP2002269151A (ja) | イベント連動型情報表示システム及びイベント連動型情報表示方法 | |
WO2010036454A2 (en) | System and method for verifying delivered software | |
CA2290036C (en) | Software for seamless interconnectivity between active program modules on integrated arrangement of cd drive, data server and pc hard disk drive | |
EP1300761A1 (en) | Methods for upgrading or updating data and software on computers | |
CN102904763B (zh) | 控制补丁包下载的方法、***、客户端及服务器 | |
EP1242922A1 (en) | Method of background downloading of information from a computer network |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050609 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20061213 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20070509 |