(57)【要約】中央位置から複数のリモートインストールサイトへソフトウエアを展開するためのシステム及び方法である。このシステムはネットワークアクセス可能サーバシステムと複数のコンピューティングデバイスとを含む。サーバシステムからの一般的なアプリケーションデリバラブルの配信に基づいて、ランタイムベースのアプリケーションがコンピューティングデバイスの各々にインストールされる。異なるタグがネットワークアクセス可能サーバシステムから配信され、コンピューティングデバイスにおいてランタイムベースのアプリケーションの種々の実装を行う。
2012524344.tif 000002
【特許請求の範囲】
【請求項１】
中央位置から複数のリモートインストールサイトへソフトウエアを展開するシステム（２０）であって、
ネットワークアクセス可能サーバシステム（２２）と、
複数のコンピューティングデバイス（２４）であって、前記複数のコンピューティングデバイス（２４）の各々は、前記ネットワークアクセス可能サーバシステム（２２）からの一般的なアプリケーションデリバラブルの配信を介してインストールされる当初の実装を有するランタイムベースのアプリケーションを含み、前記ランタイムベースのアプリケーションは、ランタイム環境内で動作し、且つ、ネットワーク（２６）を介して前記ネットワークアクセス可能サーバシステム（２２）から１つ以上のタグを受信するように構成されている、複数のコンピューティングデバイスとを含み、
前記ランタイムベースのアプリケーションはさらに、前記ネットワークアクセス可能サーバシステム（２２）からタグを受信すると、該タグをインタプリトし、該タグに応じて、前記ランタイムベースのアプリケーションの１つ以上の既存アプリケーションビヘイビアを決定することによって、前記ランタイムベースのアプリケーションの別の実装を形成するように構成されていることを特徴とするシステム。
【請求項２】
前記複数のコンピューティングデバイスの各々は、第１のグループ若しくは第２のグループの一部であり、前記ネットワークアクセス可能サーバシステムは、第１のタグを前記第１のグループに配信し、前記第１のタグとは異なる第２のタグを前記第２のグループに配信し、このように異なるタグを提供することによって前記第１のグループのコンピューティングデバイスが、前記第２のグループのコンピューティングデバイスにより実行される前記ランタイムベースのアプリケーションとは異なる実装で動作するようにすることを特徴とする請求項１記載のシステム。
【請求項３】
前記複数のコンピューティングデバイスの各々は、ポータブルコンピューティングデバイスであることを特徴とする請求項２記載のシステム。
【請求項４】
前記複数のコンピューティングデバイスの各々は、携帯電話であり、異なるタグを提供することによって前記第１のグループの携帯電話が、前記第２のグループの携帯電話により実行されるオペレーティングソフトウエアとは異なるオペレーティングソフトウエアで動作することを特徴とする請求項３記載のシステム。
【請求項５】
前記タグは課金機能を起動し、前記ランタイムベースのアプリケーションの代替実装が、前記ネットワークを介する電子商取引へ参加するために使用されることを可能にすることを特徴とする請求項１記載のシステム。
【請求項６】
前記タグが、前記ランタイムベースのアプリケーションの代替実装において、前記当初の実装で採用されたユーザインターフェースとは異なるユーザインターフェースを起動させることを特徴とする請求項１記載のシステム。
【請求項７】
前記ランタイムベースのアプリケーションは、電子カタログを提供するように構成され、前記タグが、前記ランタイムベースのアプリケーションの代替実装に、前記当初の実装で採用されたカタログディスプレイレイアウトとは異なるカタログディスプレイレイアウトを使用させることを特徴とする請求項１記載のシステム。
【請求項８】
前記タグが、前記ランタイムベースのアプリケーションの代替実装において、広告コンテンツの表示を制御するように構成されていることを特徴とする請求項１記載のシステム。
【請求項９】
前記タグが、前記ランタイムベースのアプリケーションの代替実装において、ショッピングカート機能の同期を制御するように構成されていることを特徴とする請求項１記載のシステム。
【請求項１０】
前記タグが、ＸＭＬベースのタグであることを特徴とする請求項１記載のシステム。
【請求項１１】
ランタイムベースのアプリケーションのアプリケーションビヘイビアを選択的に使用可能にする方法（４０）であって、
ネットワークアクセス可能サーバシステムから一般的なアプリケーションデリバラブルを複数のコンピューティングデバイスの各々に配信すること（４２）であって、前記一般的なアプリケーションデリバラブルは、前記複数のコンピューティングデバイスの各々にランタイムベースのアプリケーションをインストールするように構成されていること、
前記ネットワークアクセス可能サーバシステムから第１のタグを前記複数のコンピューティングデバイスの第１のサブグループ内の各コンピューティングデバイスに配信すること（４４）、
前記第１のタグに基づいて、前記第１のサブグループ内の各コンピューティングデバイスにおいて前記ランタイムベースのアプリケーションの第１の代替実装を起動すること、
前記ネットワークアクセス可能サーバシステムから、前記第１のタグとは異なる第２のタグを前記複数のコンピューティングデバイスの第２のサブグループ内の各コンピューティングデバイスに配信すること（４６）、および、
前記第２のタグに基づいて、前記第２のサブグループ内の各コンピューティングデバイスにおいて前記ランタイムベースのアプリケーションの第２の代替実装を起動すること
を含むことを特徴とする方法。
【請求項１２】
前記複数のコンピューティングデバイスの各々は携帯電話であり、前記第１の代替実装および前記第２の代替実装は、携帯電話のオペレーティングソフトウエアの代替実装であることを特徴とする請求項１１記載の方法。
【請求項１３】
前記第１の代替実装および前記第２の代替実装は、オンライン電子商取引を行うランタイムベースのアプリケーションを使用することに関連して採用される課金機能において異なることを特徴とする請求項１１記載の方法。
【請求項１４】
前記ランタイムベースのアプリケーションは電子カタログを提供するように構成され、前記第１の代替実装および前記第２の代替実装は、異なるカタログディスプレイアイテムを提供することを特徴とする請求項１１記載の方法。
【請求項１５】
前記第１のタグおよび前記第２のタグが、ＸＭＬベースのタグであることを特徴とする請求項１１記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のリモートインストールサイトにソフトウェアを展開するシステム及び方法に関する。
【背景技術】
【０００２】
しばしばソフトウエアアプリケーションは、ネットワークを介してサーバシステムから種々のクライアントコンピュータに展開される。しかしながら、複数のクライアントコンピュータのサブセットが、異なるビヘイビア及び／または機能を有するソフトウエアを受信しなければならない場合、サーバシステムは、カスタマイズされた、若しくは別々のバージョンのソフトウエアアプリケーションを、各クライアントコンピュータのサブセットに配信する必要があることもある。異なるバージョンのソフトウエアアプリケーションを展開して維持することは、ソフトウエアアプリケーションの開発者にとって費用も時間もかかる作業である。
【発明の概要】
【０００３】
この「発明の概要」は、「発明を実施するための形態」において詳細に後述される本発明の技術思想の中から選択された技術思想を簡易な形で説明するものである。この「発明の概要」は、特許請求の範囲に記載された内容の重要な特徴や本質的な特徴を特定するためのものではなく、特許請求の範囲に記載された内容の範囲を限定するものでもない。また、特許請求の範囲に記載された内容は、本出願の開示に記載された課題のいずれか若しくは全てを解決する実装形態に限定されるものではない。
【０００４】
本明細書は、中央位置（ｃｅｎｔｒａｌ  ｌｏｃａｔｉｏｎ）から複数のリモートインストールサイトにソフトウエアを展開するシステム及び方法を提供する。このシステムはネットワークアクセス可能サーバシステムと複数のリモートコンピューティングデバイスとを含む。各リモートデバイスは、ネットワークアクセス可能サーバシステムからの一般的なアプリケーションデリバラブル（ｄｅｌｉｖｅｒａｂｌｅ）の配信を介してインストールされた初期実装を有するランタイムベースのアプリケーションを含む。ランタイムベースのアプリケーションは、ネットワークアクセス可能サーバシステムからタグを受信し、当該タグをインタプリト（ｉｎｔｅｒｐｒｅｔ）し、これに応じて、ランタイムベースのアプリケーションの１つ若しくは複数の既存のアプリケーションビヘイビアを決定（ｄｉｃｔａｔｅ）し、ランタイムベースのアプリケーションの別の実装を作成する。下記において詳述するように、ランタイムベースのアプリケーションの異なる実装を作成するためにタグを使用することは、アプリケーションソフトウエアのインストール、メインテナンス、アップグレード及び選択的なバージョン展開／特徴展開に関する利点を提供する。
【図面の簡単な説明】
【０００５】
【図１】中央位置から複数のリモートインストールサイトへソフトウエアを展開するためのシステムの実施形態のブロック図である。
【図２】ランタイムベースのアプリケーションのアプリケーションビヘイビアを選択的に使用可能にする例示的な方法のフローチャートである。
【図３】サーバシステムとコンピューティングデバイスの間の例示的な同期の概略図である。
【図４】課金機能を起動するための例示的な方法及びシステムの概略図である。
【図５】アプリケーション機能を起動する例示的な方法及びシステムの概略図である。
【発明を実施するための形態】
【０００６】
図１は、インストール可能なソフトウエアを複数のリモートインストールサイト（例えば、クライアントコンピューティングデバイス）に展開するためのシステム２０を示している。図示されているように、システム２０は、ネットワーク２６を介して複数のコンピューティングデバイス２４と相互に通信するように構成されたネットワークアクセス可能サーバシステム２２を含む。コンピューティングデバイス２４は、パーソナルコンピュータ、ＰＤＡ、デジタルメデアプレーヤ、携帯電話等の、任意の適切なタイプのコンピューティングデバイスを含む。ネットワークアクセス可能サーバシステム２２は、一般的なアプリケーションデリバラブル（図示せず）を、ネットワーク２６を介してコンピューティングデバイス２４に配信するように構成されている。一般的なアプリケーションデリバラブルは、受信されると各コンピューティングデバイス２４にランタイムベースのアプリケーションの初期実装をインストールする（または、当該インストールを支援する）ように構成されている。他の場合、ランタイムベースのアプリケーションは、コンピューティングデバイス２４に予めインストールされているか、及び／または、予め実装されている。このような場合、ネットワークアクセス可能サーバシステム２２は、ネットワーク２６を介してコンピューティングデバイス２４にランタイムベースのアプリケーションのアップグレード版を配信することもできる。幾つかの場合、アップグレード版は、予めインストールされているか、及び／または、予め実装されているランタイムベースのアプリケーションをオーバーライドするように構成されている。
【０００７】
ネットワークアクセス可能サーバシステム２２は、１つ若しくは複数のコンピューティングデバイスを含んでもよい。これらのコンピューティングデバイスは、個々にあるいは全体として、本明細書に記載されている種々の機能及び動作を実行するためのロジックサブシステム、メモリ／データストレージサブシステム等を含み、かつ／または規定する。上述した要素及び多くの他の要素は、本発明の開示の範囲から逸脱することなく実装され得る。
【０００８】
図１をさらに参照すると、ネットワークアクセス可能サーバシステム２２はさらに、１つ若しくは複数のタグ（図示せず）をネットワーク２６を介して前記コンピューティングデバイス２４の各々に配信することができる。当該タグは、設定に応じて、本明細書においてはコンテクスチュアルモディファイアタグ（ｃｏｎｔｅｘｔｕａｌ  ｍｏｄｉｆｉｅｒ  ｔａｇ）、コンテクスチュアルモディファイア、若しくはモディファイアタグなどと称する。このようなタグは、例えばＸＭＬベースのタグであり、ランタイムベースのアプリケーションによってインタプリト（ｉｎｔｅｒｐｒｅｔ）することができる。幾つかの場合、複数のタグがコンピューティングデバイス２４に別々に配信される。そのようにはせずに、１つ若しくは複数のタグを、コンピューティングデバイス２４に配信されるＸＭＬドキュメントに含めてもよい。この場合、当該タグを受信すると、各コンピューティングデバイス２４のランタイムベースのアプリケーションはタグをインタプリトし、これに応じて、ランタイムベースのアプリケーションの１つ若しくは複数の予め存在しているアプリケーションビヘイビアを決定し、ランタイムベースのアプリケーションの別の実装を作成する。当初にインストールされたランタイムベースのアプリケーションは当該ビヘイビアを行う能力を備えているので、上記のようなビヘイビアはランタイムベースのアプリケーションに「予め存在している」と言える。尚、関連するイネーブリングタグ（ｅｎａｂｌｉｎｇ  ｔａｇ）がアプリケーションに提供されていないような特定の実装例では、当該ビヘイビアを行うようになっていない。
【０００９】
換言すると、ランタイムベースのアプリケーションのコードは例えば、アプリケーション内で採用され得る数百の予め存在している機能及び／またはビヘイビアを含む。タグは前記機能の各々を選択的に使用可能若しくは使用不可能にし、かつ／または、前記機能の動作の仕方を制御するものである。例として、タグは特定の機能がＯＮとなるかＯＦＦとなるかを示すことによりスイッチとして動作する。別の例では、タグは、構成パラメータおよび／または特定の機能に関する変数のストリングまたは整数による定義（ｓｔｒｉｎｇ  ｏｒ  ｉｎｔｅｇｅｒ  ｄｅｆｉｎｉｔｉｏｎ）を提供する。これについては下記において詳述する。そのようなタグを受信すると、ランタイムベースのアプリケーションは当該タグを処理することにより当該タグを「インタプリト」して、当該タグによって示されるランタイムベースのアプリケーション内の機能を選択的に使用可能若しくは使用不可能にすることができる。従って、ソフトウエアパッチ（ｐａｔｃｈｅｓ）が通常は新しいコードを提供するのに対して、本明細書の例示的なタグはランタイムベースのアプリケーション内に予め存在している機能を選択的に使用可能若しくは使用不可能するために使用されるという点において、上記のようなアプローチはソフトウエアパッチとは区別されるべきものである。
【００１０】
タグは例えば、数例に過ぎないが、最初のアプリケーションの機能を使用可能／使用不可能にすることによって、同様な機能を提供する代替機構を与えることによって、または代替レイアウト若しくは代替ユーザインターフェースレジーム（ｒｅｇｉｍｅ）を与えることによって、アプリケーションのビヘイビアを決定することができ、当該アプリケーションの他の実装を可能にする。例えば、タグは、ショッピングカート機能群を実装する多数の異なる所定の方法の中から１つ若しくは複数の方法を指定することによって、電子商取引アプリケーションにおけるアプリケーションビヘイビアを決定することができる。別の例として、携帯電話キャリアはタグを使用することによって、当該キャリアに特有の携帯電話ソフトウエアアプリケーションの特定の機能を使用可能にする。ランタイムベースのアプリケーションのアプリケーションビヘイビアを選択的に使用可能にすることについては、図２の方法４０を参照して詳細に説明する。
【００１１】
幾つかの実施形態において、複数のコンピューティングデバイス２４は複数のグループに分けられる。例えば、図１の破線長方形によって示されている第１の集団２８と第２の集団３０に分けられる。このような実施形態にあっては、集団若しくはサブグループは任意の適切な条件に基づいている。当該条件とは例えば、コンピューティングデバイスの地理的位置、コンピューティングデバイスのタイプ、ネットワークアクセス可能サーバとコンピューティングデバイスとの間のネットワーク接続を行うサービスプロバイダ等である。他の適切な条件の例としては、ユーザの嗜好（ｐｒｅｆｅｒｅｎｃｅ）、ユーザの言語設定、アプリケーションのバージョン、デバイスファームウエアのバージョン、ユーザ加入モデル／契約、ネットワークベアラ（ｂｅａｒｅｒ）／ネットワークバンド幅等がある。よってシステム２０の１つの潜在的な利点は、一旦ランタイムベースのアプリケーションの当初の実装が複数のリモートインストールサイトに広く展開されると、タグを使用して異なるインストールサイトにおいて異なるアプリケーションビヘイビアを決定することができ、アプリケーションの異なる実装を行うことができることである。タグはアプリケーションの当初の実装をインストールしたデリバラブルよりもかなり小さく、より効率的な／速い伝送ができるだけでなく、タグを使用すると、他のソフトウエアのフルインストールをすることなく、アプリケーションビヘイビアをリモートインストールサイトの任意のサブセットに対して特にカスタマイズすることができる。
【００１２】
例えば、携帯電話キャリアのソフトウエアは通常、サービスプロバイダ及び／または地理的エリアに関連した特性を有している。システム２０のようなシステムは全ての潜在的な機能を含む一般的なアプリケーションデリバラブルの効率的な配信を可能にする。この場合、１つのカスタマー集団への特定の実装が当該集団に対するタグを介して使用可能となるか、または起動（ａｃｔｉｖａｔｅ）される。そのような場合、各携帯電話キャリアは異なるタグを受信し、そのアプリケーションが他のキャリアの実装とは異なる特定の実装になるようにする。
【００１３】
さらに、システム２０のようなシステムは、アプリケーションのアップデート及び／またはアップグレードに適用することができる。例えば、携帯電話の上記の例を用いると、キャリアは追加の機能を当該アプリケーションに加えることを決定することができる。その後、ネットワークアクセス可能サーバシステムは１つ若しくは複数のタグを送信し、これら追加の機能が既存のアプリケーションの中で起動できるようにする。その結果、当該アプリケーションの別の実装を作ることができる。アプリケーション全体の新たなインストールの配信を必要としないことにより、時間とリソースの節約ができる。
【００１４】
図２を参照すると、この図にはランタイムベースアプリケーションのアプリケーションビヘイビアを選択的に使用可能にする方法４０が示されている。符号４２において、方法４０は一般的なアプリケーションデリバラブルを複数のリモートデバイスに配信することを含む。このような一般的なアプリケーションデリバラブルは、ランタイムベースアプリケーションのモジュール構造を含むコンテナアプリケーションなど、任意の適切な構成のものでよい。また、このような一般的なアプリケーションデリバラブルは、ランタイムベースアプリケーションを１つのコードベースから種々のプラットフォームに展開することもできる。幾つかの実施形態において、ネットワークアクセス可能サーバは、図１を参照して上述したネットワークアクセス可能サーバシステム２２である。従って、複数のリモートデバイスは、例えば複数のコンピューティングデバイス２４である。上記したように、幾つかの実施形態においてリモートデバイスの１つ若しくは複数は、携帯電話など、ポータブルなコンピューティングデバイスである。
【００１５】
一般的なアプリケーションデリバラブルは、複数のリモートデバイスの各々においてランタイムベースのアプリケーションの最初の実装のインストールをするか、またはインストールを支援することができる。このようなランタイムベースのアプリケーションは、ランタイム環境内で動作できるようになっている。一例として、ランタイムベースのアプリケーションは、オンラインミュージックストアなど、購入及び／またはダウンロードすることができるアイテムのオンライン製品カタログである。尚、このようなアプリケーションは例示であり、アプリケーションは任意の他の適切なアプリケーションであってよい。例えば、アプリケーションは、電話機能、ボイスメール、連絡先リスト、カレンダ、アラーム等の基本的コンポーネントを作動させるための携帯電話用のオペレーティングソフトウエアである。
【００１６】
符号４４において方法４０は、一般的なアプリケーションデリバラブルから得られるランタイムベースのアプリケーションの実装を制御するために、リモートデバイスの第１のグループについて、デバイスの各々に第１のタグを送信することを含む。リモートデバイスの第１のグループは、例えば、図１を参照して上述された任意の適切なグループ分けのコンピューティングデバイスの第１の集団である。例えば、集団のグループ分けは、コンピューティングデバイスの地理的位置、コンピューティングデバイスのタイプ、ネットワークアクセス可能サーバとコンピューティングデバイスとの間のネットワーク接続のサービスプロバイダ等の条件に基づいている。
【００１７】
第１のタグは、リモートデバイスの第１のグループ内の、各リモートデバイスのランタイムベースのアプリケーションによりインタプリト可能なＸＭＬベースのモディファイアタグとすることができる。従って、第１のタグをインタプリトすると、当該タグはランタイムベースのアプリケーションの１つ若しくは複数のアプリケーションビヘイビアを決定し、ランタイムベースのアプリケーションの代替実装を作成する。よって、当該タグによれば、リモートデバイスの第１のグループのランタイムベースのアプリケーションの代替実装が、一般的なアプリケーションデリバラブルを介して受信されたランタイムベースのアプリケーションの当初の実装のビヘイビアとは異なるビヘイビアを行えるようになる。その結果、ランタイムベースのアプリケーションのアプリケーションビヘイビアを選択的に使用可能にする方法４０は、ランタイムベースのアプリケーション全体の再展開及び／または再インストールをすることなく、デバイスのサブセットに特有なビヘイビアをカスタマイズすることができるという潜在的な利点を提供する。さらに、上述したように、タグは通常、一般的なアプリケーションデリバラブルよりかなり小さいので、リモートデバイスに容易に且つ／または速く送信することができる。幾つかの例において、タグの大きさは、アプリケーションそのものより小さいオーダーである。
【００１８】
第１のタグは、ランタイムベースのアプリケーションにおける任意の数のビヘイビアを決定することができる。ビヘイビア変更の１つの可能なカテゴリは、ユーザインターフェース変更を含む。このようなタグを介して変更されたビヘイビアは、ランタイムベースのアプリケーション内のカスタムビューを決定する。カスタムビューとは、アプリケーション内の広告バナーの表示レイアウト、アプリケーション内の要素の位置（例えば、検索バー）等である。例えば、アプリケーションは販売促進用ページを表示し、そこには販売促進用のオファーが、タグによって決定された所定のレイアウトで表示される。例えば、携帯電話プロバイダの場合、一般的なアプリケーションデリバラブルは当該プロバイダの全顧客に配信される。一方、当該プロバイダは、各契約レベルが機能の異なるセットを有する、ユーザ契約の２つの異なるレベルを提示する。一例として、低額な契約ならば大量の広告をユーザに提供し、高額な契約ならば広告を送信しないようにする。このような場合、一般的なアプリケーションデリバラブルの両方のバージョンがタグを介して実装され、当該タグは低額契約のユーザについてはアプリケーション内の広告機能を起動し、高額契約のユーザについては広告機能を停止する。尚、追加のビヘイビアを１つ若しくは複数の追加のタグにより決定することもできる。当該追加のタグは、バナー、サイドバー、ポップアップ等の広告コンテンツの表示を可能にし、及び／または制御するタグである。上述したように、このようなタグは、当該タグをパケット形式で送信するなど、任意の適切な方法で携帯電話に送信することができ、タグをＸＭＬドキュメント内に含めることもできるし、タグを別個に送信することもできる。
【００１９】
別の例では、アプリケーションのホームページがアイテムのリストを表示することができる。この場合、当該リスト内おける「検索」アイテムの位置は、タグによって決定することができる。さらに別の例では、ホームページは、表示されるべきアイテムの数を規定する一般的なパラメータに基づいて、販売促進用アイテムのセットを表示することができる。この場合、アプリケーションは、タグに基づく当該パラメータの値にしたがって、表示されるべき複数のアイテムをランダムに選ぶことができる。
【００２０】
ビヘイビア変更に関する他の可能なカテゴリは、ビジネスロジックに関連するビヘイビアである。例えば、タグはコンピューティングデバイスとサーバとの間においてブックマークが付けられたアイテムの同期を行うこと、または行わないことを決定することができる。この場合、タグは、オンラインショッピングカタログアプリケーションにおける買い物かご及び／または欲しいものリストの同期を決定するのに使用することができる。例えば、図３は、ランタイムベースのショッピングアプリケーション５２を具備しているコンピューティングデバイス５０の概略図を示している。このアプリケーション５２は、タグを利用して、ネットワーク５８上におけるショッピングカート５４とネットワークアクセス可能サーバシステム５６との同期を可能にするように構成されている。
【００２１】
ビジネスロジックに関連するビヘイビアの他の例においては、タグは、ランタイムベースのアプリケーション内の課金機能を決定するのに使用され、例えば、タグは、アプリケーションがネットワークを介した電子商取引に参加するのに当該アプリケーション内部の課金システムを用いるのか、当該アプリケーションが外部の課金システムを利用するようにユーザに指示するのかを決定する。一例として、図４は、典型的な課金機能の起動を概略的に示している。携帯電話６０及び６２は、ネットワーク６６を介してネットワークアクセス可能サーバシステム６４と相互に通信することができる。携帯電話６０及び６２は共に、同じランタイムベースのアプリケーションで動作している。しかしながら、携帯電話６０のアプリケーションは、タグによって起動される内部課金機能を有しており、携帯電話６０のユーザは当該アプリケーションから直接アイテムを購入することができる。一例として、このようなユーザは、当該アプリケーションに関連付けられると共に、当該アプリケーションを介して直接アイテムを購入するための内部課金システム機能に関連付けられたユーザアカウントを有する。一方、携帯電話６２のアプリケーションでは内部課金機能が起動されていない（すなわち、当該機能はタグによって停止される）。この場合、携帯電話６２のユーザは、符号６９によって示されているように外部課金機能を使用するように指示される。
【００２２】
さらに、タグは、アプリケーション内のプラグイン及び／または機能の起動を決定するのに使用することができる。換言すると、タグは、当該アプリケーション内に設けられているプラグインの起動または停止を決定することができる。一例として、上述したオンラインミュージックカタログの場合、タグはビヘイビアを決定するために使用することができ、アプリケーションが、ミュージック認識サービス及び／またはウエブラジオサービスを提供することを可能にする。別の例として、図５は、アプリケーション機能の典型的な起動を示す概略図である。図５は、ディスプレイスクリーン７２を備える携帯電話７０を示している。このディスプレイスクリーンは、ランタイムベースのアプリケーションのホームページ７４を表示している。ホームページ７４はアイコンとメニューを表示している。尚、このホームページ７４は例示であり、実質的にいかなる他の画像、テキスト、アイコン、メニュー、検索バー、タスクバー等も表示することができる。携帯電話７０で作動しているアプリケーションは、破線で示されたストア７６という追加機能を有している。これは、タグに基づいて起動されるか、または停止される。このようなストアは例えば、ダウンロード及び／または購入することができるゲーム、音楽、着信音等のデジタルコンテンツアイテムを含む。一例として、携帯電話７０のユーザは、料金前払いプランなど、当該ユーザの携帯電話サービスプロバイダとの関係において限定されたサービスプランを有する。このような場合、携帯電話７０のアプリケーション内のストア７６等の機能はタグによって停止される。代替例としては、エンハンスト（ｅｎｈａｎｃｅｄ）データパッケージなど、携帯電話サービスプロバイダとの関係で拡張されたサービスプランを有する携帯電話７０のユーザは、同じアプリケーションを使用することができるが、タグによってストア７６が起動される。
【００２３】
さらに、タグは、ランタイムベースのアプリケーションの他のビヘイビアを決定するために使用され得る。例えば、タグによって、プラットフォームバグ（ｐｌａｔｆｏｒｍ  ｂｕｇ）対処策を提供すること、ラッパー実装戦略（ｗｒａｐｐｅｒ  ｉｍｐｌｅｍｅｎｔａｔｉｏｎ  ｓｔｒａｔｅｇｙ）（つまり、オーディオストリームストラテジ）を提供すること、並びにハードウエア及びプラットフォームの微調整（例えば、キーコード、バッファサイズ、ドライブ名等）を行うことができる。
【００２４】
幾つかの実施形態において、タグは、１つ若しくは複数の構成パラメータの定義を示す。このような構成パラメータは、所望のビヘイビアを行わせるためにオン若しくはオフされる２進数の「スイッチ」として機能することができる。他の実施形態においては、構成パラメータは変数として機能する。例えば、当該パラメータは３つまたはそれ以上のオプションから選択されるべきものを示す。一例として、ストリングとして表現されている変数はコンピューティングデバイスに対し、３つまたはそれ以上の方法のうちのどれが当該デバイスのハードウエアに最も適するかを示す。例えば、「ＳｔｒｅａｍＢｕｆｆｅｒ（ストリームバッファ）」、「ｆｉｌｅｂｕｆｆｅｒ（ファイルバッファ）」、「ｒｔｓｐｗｒａｐｐｅｒ（ｒｔｓｐラッパー）」、「ａｕｄｉｏｓｔｒａｇｅｔｙ５（オーディオストラテジ５）」等とすることができるラッパー実装戦略がある。他の例として、整数として表現される変数は、コンピューティングデバイスの画面を予め規定されている画面｛１、２、３、４｝に適合させるために、販売促進用レイアウトが｛２、４、６、８｝から選択された値になるべきことを示すことができる。
【００２５】
幾つかの場合、変数は構成パラメータとして直接適用される。一例として、ストリングとして表現される変数はドライブ名を示し、ハードウエア製造者によって規定される任意の値となる。他の例として、整数として表現される変数はコンピューティングデバイス内の各動作（例えば、カーソルのアップダウン）についてのキーコードを示す。これは、当該動作に、ハードウエアによって提供される整数値を関連付けることによってなされる。幾つかの例において、整数値はデバイスによって異なる。さらに別の例においては、整数として表現される変数はバッファサイズが任意のバイトサイズになってよいことを示す。バイトサイズは、この種のコンピューティングデバイス／ハードウエアソリューションに対する最適値となるように決められている。
【００２６】
上述したように、ネットワークアクセス可能サーバは、異なるタグをリモートデバイスの異なる集団に送信し、一般的なデリバラブルによってインストールされたアプリケーションを変更することができる。その結果、アプリケーションの別の実装が可能となる。よって、符号４６において方法４０は、リモートデバイスの第２のグループについては、第２のタグをデバイスの各々に送信し、一般的なアプリケーションデリバラブルから得られたランタイムベースのアプリケーションの実装を制御する。第２のタグは、第１のタグについて上述したように、任意の適切なタイプのビヘイビアを決定することができる。従って、方法４０は、ランタイムベースのアプリケーションの第１の代替インストールを第１のグループのリモートデバイスのグループに行い、ランタイムベースのアプリケーションの第２の代替インストールを第２のリモートデバイスのグループに行うことができる。
【００２７】
幾つかの実施形態において、上記方法及びプロセスは、コンピューティングシステムに関連付けられる。一例として図１は上記方法及びプロセスの１つ若しくは複数を実行することができるシステム２０を概略的に示している。このシステム２０はロジックサブシステムとデータ保持サブシステムを含んでいる。コンピューティングデバイス２４は、図１には示されていないディスプレイサブシステム及び／または他のコンポーネントを含んでよい。
【００２８】
上述したように、中央サーバシステム及び／若しくはリモートデバイスは、典型的な場合、本明細書に記載された種々の機能を実行する処理サブシステム若しくは他のロジックサブシステムを採用する。さらに、データ保持サブシステム及びディスプレイサブシステムも採用され得る。ロジックサブシステムは１つ若しくは複数の命令を実行する１つ若しくは複数の物理的なデバイスを含んでもよい。例えば、当該ロジックサブシステムは１つ以上のプログラム、ルーチン、オブジェクト、コンポーネント、データ構造または他のロジック構成（ｌｏｇｉｃａｌ  ｃｏｎｓｔｒｕｃｔｓ）の一部である１つ以上の命令を実行する。このような命令は、タスクを実行するため、データタイプを実装するため、１つ以上のデバイスの状態を変換するため、または所望の結果に到達するために実行される。ロジックサブシステムはソフトウエア命令を実行する１つ以上のプロセッサを含んでもよい。加えて、または代わりに、ロジックサブシステムはハードウエア命令若しくはファームウエア命令を実行する１つ以上のハードウエアロジックマシン若しくはファームウエアロジックマシンを含んでもよい。ロジックサブシステムは２つ以上のデバイスに分散される複数の個別コンポーネントを含むこともできる。これらデバイスは幾つかの実施形態においては離れた場所に設けられている。
【００２９】
データ保持サブシステムは、本明細書に記載された方法及びプロセスを実装するために、前記ロジックサブシステムによって実行可能なデータ及び／若しくは命令を保持する１つ以上の物理的なデバイスを含んでよい。このような方法及びプロセスが実行・実装されると、データ保持サブシステムの状態は変換され得る（例えば、異なるデータを保持するために）。データ保持サブシステムは取り外し可能な媒体及び／または内蔵されたデバイスを含んでもよい。データ保持サブシステムは光学メモリデバイス、半導体メモリデバイス及び／または磁気メモリデバイスを含んでもよい。データ保持サブシステムは下記の特徴の１つ若しくは複数を備えるデバイスを有してもよい。下記の特徴とは、揮発性であること、不揮発性であること、ダイナミックタイプであること、スタティックタイプであること、リード（読み出し）／ライト（書き込み）可能であること、リードオンリーであること、ランダムアクセスタイプであること、シーケンシャルアクセスタイプであること、アドレス指定できる位置であること、アドレス指定できるファイルであること、アドレス指定できるコンテンツであることである。幾つかの実施形態において、ロジックサブシステム及びデータ保持サブシステムは１つ若しくは複数の共通デバイス（例えば、アプリケーション専用の集積回路またはＳｏＣ（ｓｙｓｔｅｍ  ｏｎ  ａ  ｃｈｉｐ））に統合されてもよい。
【００３０】
ディスプレイサブシステムが含まれる場合、当該ディスプレイサブシステムはデータ保持サブシステムによって保持されているデータの視覚的な表示を行うために使用される。本明細書において説明された方法及びプロセスはデータ保持サブシステムによって保持されたデータを変更し、当該データ保持サブシステムの状態を変更するので、ディスプレイサブシステムの状態も同じように変更されて、元のデータにおける変化を視覚的に表示する。ディスプレイサブシステムは、実質上任意のタイプの技術を用いる１つ若しくは複数のディスプレイデバイスを含んでよい。このようなディスプレイデバイスは共有エンクロージャの中でロジックサブシステム及び／またはデータ保持サブシステムに組み合わされてもよいし、このようなディスプレイデバイスは周辺ディスプレイデバイスであってもよい。
【００３１】
本明細書に記載された構成及び／または手法は例示であり、具体的な実施形態や例は限定的な意味で解釈されるべきものではない。なぜなら、多くの変更が可能であるからである。本明細書に記載された具体的なルーチン若しくは方法は任意の数の処理手法の１つ若しくは複数を示しているだけである。よって、図示された色々な動作は図示されたような順序で実行されることもあるし、他の順序で実行されることもあるし、並列的に実行されることもあるし、幾つかの例においては省略されることもある。同様に、上述したプロセスの順序も変更されることがあり得る。
【００３２】
本開示は、本明細書に記載された種々のプロセス、システム、構成、他の機能、動作及び／若しくは特性の新規で且つ非自明な組み合わせ及びサブコンビネーションの全てを包含すると共に、それらの均等物の全ても包含する。
【図１】
2012524344.tif 000003
【図２】
2012524344.tif 000004
【図３】
2012524344.tif 000005
【図４】
2012524344.tif 000006
【図５】
2012524344.tif 000007
【国際調査報告】
2012524344.tif 000008
2012524344.tif 000009