JP2012524344A - ランタイムベースのアプリケーションビヘイビアの選択的使用 - Google Patents
ランタイムベースのアプリケーションビヘイビアの選択的使用 Download PDFInfo
- Publication number
- JP2012524344A JP2012524344A JP2012506180A JP2012506180A JP2012524344A JP 2012524344 A JP2012524344 A JP 2012524344A JP 2012506180 A JP2012506180 A JP 2012506180A JP 2012506180 A JP2012506180 A JP 2012506180A JP 2012524344 A JP2012524344 A JP 2012524344A
- Authority
- JP
- Japan
- Prior art keywords
- tag
- runtime
- application
- based application
- computing devices
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/161—Computing infrastructure, e.g. computer clusters, blade chassis or hardware partitioning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
-
- 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
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0241—Advertisements
-
- 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
- G06Q30/00—Commerce
- G06Q30/04—Billing or invoicing
-
- 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
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/0601—Electronic shopping [e-shopping]
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Finance (AREA)
- Accounting & Taxation (AREA)
- Development Economics (AREA)
- Strategic Management (AREA)
- General Engineering & Computer Science (AREA)
- Economics (AREA)
- Marketing (AREA)
- General Business, Economics & Management (AREA)
- Computer Hardware Design (AREA)
- Entrepreneurship & Innovation (AREA)
- Game Theory and Decision Science (AREA)
- Mathematical Physics (AREA)
- Stored Programmes (AREA)
- Telephonic Communication Services (AREA)
Abstract
中央位置から複数のリモートインストールサイトへソフトウエアを展開するためのシステム及び方法である。このシステムはネットワークアクセス可能サーバシステムと複数のコンピューティングデバイスとを含む。サーバシステムからの一般的なアプリケーションデリバラブルの配信に基づいて、ランタイムベースのアプリケーションがコンピューティングデバイスの各々にインストールされる。異なるタグがネットワークアクセス可能サーバシステムから配信され、コンピューティングデバイスにおいてランタイムベースのアプリケーションの種々の実装を行う。
Description
本発明は、複数のリモートインストールサイトにソフトウェアを展開するシステム及び方法に関する。
しばしばソフトウエアアプリケーションは、ネットワークを介してサーバシステムから種々のクライアントコンピュータに展開される。しかしながら、複数のクライアントコンピュータのサブセットが、異なるビヘイビア及び/または機能を有するソフトウエアを受信しなければならない場合、サーバシステムは、カスタマイズされた、若しくは別々のバージョンのソフトウエアアプリケーションを、各クライアントコンピュータのサブセットに配信する必要があることもある。異なるバージョンのソフトウエアアプリケーションを展開して維持することは、ソフトウエアアプリケーションの開発者にとって費用も時間もかかる作業である。
この「発明の概要」は、「発明を実施するための形態」において詳細に後述される本発明の技術思想の中から選択された技術思想を簡易な形で説明するものである。この「発明の概要」は、特許請求の範囲に記載された内容の重要な特徴や本質的な特徴を特定するためのものではなく、特許請求の範囲に記載された内容の範囲を限定するものでもない。また、特許請求の範囲に記載された内容は、本出願の開示に記載された課題のいずれか若しくは全てを解決する実装形態に限定されるものではない。
本明細書は、中央位置(central location)から複数のリモートインストールサイトにソフトウエアを展開するシステム及び方法を提供する。このシステムはネットワークアクセス可能サーバシステムと複数のリモートコンピューティングデバイスとを含む。各リモートデバイスは、ネットワークアクセス可能サーバシステムからの一般的なアプリケーションデリバラブル(deliverable)の配信を介してインストールされた初期実装を有するランタイムベースのアプリケーションを含む。ランタイムベースのアプリケーションは、ネットワークアクセス可能サーバシステムからタグを受信し、当該タグをインタプリト(interpret)し、これに応じて、ランタイムベースのアプリケーションの1つ若しくは複数の既存のアプリケーションビヘイビアを決定(dictate)し、ランタイムベースのアプリケーションの別の実装を作成する。下記において詳述するように、ランタイムベースのアプリケーションの異なる実装を作成するためにタグを使用することは、アプリケーションソフトウエアのインストール、メインテナンス、アップグレード及び選択的なバージョン展開/特徴展開に関する利点を提供する。
図1は、インストール可能なソフトウエアを複数のリモートインストールサイト(例えば、クライアントコンピューティングデバイス)に展開するためのシステム20を示している。図示されているように、システム20は、ネットワーク26を介して複数のコンピューティングデバイス24と相互に通信するように構成されたネットワークアクセス可能サーバシステム22を含む。コンピューティングデバイス24は、パーソナルコンピュータ、PDA、デジタルメデアプレーヤ、携帯電話等の、任意の適切なタイプのコンピューティングデバイスを含む。ネットワークアクセス可能サーバシステム22は、一般的なアプリケーションデリバラブル(図示せず)を、ネットワーク26を介してコンピューティングデバイス24に配信するように構成されている。一般的なアプリケーションデリバラブルは、受信されると各コンピューティングデバイス24にランタイムベースのアプリケーションの初期実装をインストールする(または、当該インストールを支援する)ように構成されている。他の場合、ランタイムベースのアプリケーションは、コンピューティングデバイス24に予めインストールされているか、及び/または、予め実装されている。このような場合、ネットワークアクセス可能サーバシステム22は、ネットワーク26を介してコンピューティングデバイス24にランタイムベースのアプリケーションのアップグレード版を配信することもできる。幾つかの場合、アップグレード版は、予めインストールされているか、及び/または、予め実装されているランタイムベースのアプリケーションをオーバーライドするように構成されている。
ネットワークアクセス可能サーバシステム22は、1つ若しくは複数のコンピューティングデバイスを含んでもよい。これらのコンピューティングデバイスは、個々にあるいは全体として、本明細書に記載されている種々の機能及び動作を実行するためのロジックサブシステム、メモリ/データストレージサブシステム等を含み、かつ/または規定する。上述した要素及び多くの他の要素は、本発明の開示の範囲から逸脱することなく実装され得る。
図1をさらに参照すると、ネットワークアクセス可能サーバシステム22はさらに、1つ若しくは複数のタグ(図示せず)をネットワーク26を介して前記コンピューティングデバイス24の各々に配信することができる。当該タグは、設定に応じて、本明細書においてはコンテクスチュアルモディファイアタグ(contextual modifier tag)、コンテクスチュアルモディファイア、若しくはモディファイアタグなどと称する。このようなタグは、例えばXMLベースのタグであり、ランタイムベースのアプリケーションによってインタプリト(interpret)することができる。幾つかの場合、複数のタグがコンピューティングデバイス24に別々に配信される。そのようにはせずに、1つ若しくは複数のタグを、コンピューティングデバイス24に配信されるXMLドキュメントに含めてもよい。この場合、当該タグを受信すると、各コンピューティングデバイス24のランタイムベースのアプリケーションはタグをインタプリトし、これに応じて、ランタイムベースのアプリケーションの1つ若しくは複数の予め存在しているアプリケーションビヘイビアを決定し、ランタイムベースのアプリケーションの別の実装を作成する。当初にインストールされたランタイムベースのアプリケーションは当該ビヘイビアを行う能力を備えているので、上記のようなビヘイビアはランタイムベースのアプリケーションに「予め存在している」と言える。尚、関連するイネーブリングタグ(enabling tag)がアプリケーションに提供されていないような特定の実装例では、当該ビヘイビアを行うようになっていない。
換言すると、ランタイムベースのアプリケーションのコードは例えば、アプリケーション内で採用され得る数百の予め存在している機能及び/またはビヘイビアを含む。タグは前記機能の各々を選択的に使用可能若しくは使用不可能にし、かつ/または、前記機能の動作の仕方を制御するものである。例として、タグは特定の機能がONとなるかOFFとなるかを示すことによりスイッチとして動作する。別の例では、タグは、構成パラメータおよび/または特定の機能に関する変数のストリングまたは整数による定義(string or integer definition)を提供する。これについては下記において詳述する。そのようなタグを受信すると、ランタイムベースのアプリケーションは当該タグを処理することにより当該タグを「インタプリト」して、当該タグによって示されるランタイムベースのアプリケーション内の機能を選択的に使用可能若しくは使用不可能にすることができる。従って、ソフトウエアパッチ(patches)が通常は新しいコードを提供するのに対して、本明細書の例示的なタグはランタイムベースのアプリケーション内に予め存在している機能を選択的に使用可能若しくは使用不可能するために使用されるという点において、上記のようなアプローチはソフトウエアパッチとは区別されるべきものである。
タグは例えば、数例に過ぎないが、最初のアプリケーションの機能を使用可能/使用不可能にすることによって、同様な機能を提供する代替機構を与えることによって、または代替レイアウト若しくは代替ユーザインターフェースレジーム(regime)を与えることによって、アプリケーションのビヘイビアを決定することができ、当該アプリケーションの他の実装を可能にする。例えば、タグは、ショッピングカート機能群を実装する多数の異なる所定の方法の中から1つ若しくは複数の方法を指定することによって、電子商取引アプリケーションにおけるアプリケーションビヘイビアを決定することができる。別の例として、携帯電話キャリアはタグを使用することによって、当該キャリアに特有の携帯電話ソフトウエアアプリケーションの特定の機能を使用可能にする。ランタイムベースのアプリケーションのアプリケーションビヘイビアを選択的に使用可能にすることについては、図2の方法40を参照して詳細に説明する。
幾つかの実施形態において、複数のコンピューティングデバイス24は複数のグループに分けられる。例えば、図1の破線長方形によって示されている第1の集団28と第2の集団30に分けられる。このような実施形態にあっては、集団若しくはサブグループは任意の適切な条件に基づいている。当該条件とは例えば、コンピューティングデバイスの地理的位置、コンピューティングデバイスのタイプ、ネットワークアクセス可能サーバとコンピューティングデバイスとの間のネットワーク接続を行うサービスプロバイダ等である。他の適切な条件の例としては、ユーザの嗜好(preference)、ユーザの言語設定、アプリケーションのバージョン、デバイスファームウエアのバージョン、ユーザ加入モデル/契約、ネットワークベアラ(bearer)/ネットワークバンド幅等がある。よってシステム20の1つの潜在的な利点は、一旦ランタイムベースのアプリケーションの当初の実装が複数のリモートインストールサイトに広く展開されると、タグを使用して異なるインストールサイトにおいて異なるアプリケーションビヘイビアを決定することができ、アプリケーションの異なる実装を行うことができることである。タグはアプリケーションの当初の実装をインストールしたデリバラブルよりもかなり小さく、より効率的な/速い伝送ができるだけでなく、タグを使用すると、他のソフトウエアのフルインストールをすることなく、アプリケーションビヘイビアをリモートインストールサイトの任意のサブセットに対して特にカスタマイズすることができる。
例えば、携帯電話キャリアのソフトウエアは通常、サービスプロバイダ及び/または地理的エリアに関連した特性を有している。システム20のようなシステムは全ての潜在的な機能を含む一般的なアプリケーションデリバラブルの効率的な配信を可能にする。この場合、1つのカスタマー集団への特定の実装が当該集団に対するタグを介して使用可能となるか、または起動(activate)される。そのような場合、各携帯電話キャリアは異なるタグを受信し、そのアプリケーションが他のキャリアの実装とは異なる特定の実装になるようにする。
さらに、システム20のようなシステムは、アプリケーションのアップデート及び/またはアップグレードに適用することができる。例えば、携帯電話の上記の例を用いると、キャリアは追加の機能を当該アプリケーションに加えることを決定することができる。その後、ネットワークアクセス可能サーバシステムは1つ若しくは複数のタグを送信し、これら追加の機能が既存のアプリケーションの中で起動できるようにする。その結果、当該アプリケーションの別の実装を作ることができる。アプリケーション全体の新たなインストールの配信を必要としないことにより、時間とリソースの節約ができる。
図2を参照すると、この図にはランタイムベースアプリケーションのアプリケーションビヘイビアを選択的に使用可能にする方法40が示されている。符号42において、方法40は一般的なアプリケーションデリバラブルを複数のリモートデバイスに配信することを含む。このような一般的なアプリケーションデリバラブルは、ランタイムベースアプリケーションのモジュール構造を含むコンテナアプリケーションなど、任意の適切な構成のものでよい。また、このような一般的なアプリケーションデリバラブルは、ランタイムベースアプリケーションを1つのコードベースから種々のプラットフォームに展開することもできる。幾つかの実施形態において、ネットワークアクセス可能サーバは、図1を参照して上述したネットワークアクセス可能サーバシステム22である。従って、複数のリモートデバイスは、例えば複数のコンピューティングデバイス24である。上記したように、幾つかの実施形態においてリモートデバイスの1つ若しくは複数は、携帯電話など、ポータブルなコンピューティングデバイスである。
一般的なアプリケーションデリバラブルは、複数のリモートデバイスの各々においてランタイムベースのアプリケーションの最初の実装のインストールをするか、またはインストールを支援することができる。このようなランタイムベースのアプリケーションは、ランタイム環境内で動作できるようになっている。一例として、ランタイムベースのアプリケーションは、オンラインミュージックストアなど、購入及び/またはダウンロードすることができるアイテムのオンライン製品カタログである。尚、このようなアプリケーションは例示であり、アプリケーションは任意の他の適切なアプリケーションであってよい。例えば、アプリケーションは、電話機能、ボイスメール、連絡先リスト、カレンダ、アラーム等の基本的コンポーネントを作動させるための携帯電話用のオペレーティングソフトウエアである。
符号44において方法40は、一般的なアプリケーションデリバラブルから得られるランタイムベースのアプリケーションの実装を制御するために、リモートデバイスの第1のグループについて、デバイスの各々に第1のタグを送信することを含む。リモートデバイスの第1のグループは、例えば、図1を参照して上述された任意の適切なグループ分けのコンピューティングデバイスの第1の集団である。例えば、集団のグループ分けは、コンピューティングデバイスの地理的位置、コンピューティングデバイスのタイプ、ネットワークアクセス可能サーバとコンピューティングデバイスとの間のネットワーク接続のサービスプロバイダ等の条件に基づいている。
第1のタグは、リモートデバイスの第1のグループ内の、各リモートデバイスのランタイムベースのアプリケーションによりインタプリト可能なXMLベースのモディファイアタグとすることができる。従って、第1のタグをインタプリトすると、当該タグはランタイムベースのアプリケーションの1つ若しくは複数のアプリケーションビヘイビアを決定し、ランタイムベースのアプリケーションの代替実装を作成する。よって、当該タグによれば、リモートデバイスの第1のグループのランタイムベースのアプリケーションの代替実装が、一般的なアプリケーションデリバラブルを介して受信されたランタイムベースのアプリケーションの当初の実装のビヘイビアとは異なるビヘイビアを行えるようになる。その結果、ランタイムベースのアプリケーションのアプリケーションビヘイビアを選択的に使用可能にする方法40は、ランタイムベースのアプリケーション全体の再展開及び/または再インストールをすることなく、デバイスのサブセットに特有なビヘイビアをカスタマイズすることができるという潜在的な利点を提供する。さらに、上述したように、タグは通常、一般的なアプリケーションデリバラブルよりかなり小さいので、リモートデバイスに容易に且つ/または速く送信することができる。幾つかの例において、タグの大きさは、アプリケーションそのものより小さいオーダーである。
第1のタグは、ランタイムベースのアプリケーションにおける任意の数のビヘイビアを決定することができる。ビヘイビア変更の1つの可能なカテゴリは、ユーザインターフェース変更を含む。このようなタグを介して変更されたビヘイビアは、ランタイムベースのアプリケーション内のカスタムビューを決定する。カスタムビューとは、アプリケーション内の広告バナーの表示レイアウト、アプリケーション内の要素の位置(例えば、検索バー)等である。例えば、アプリケーションは販売促進用ページを表示し、そこには販売促進用のオファーが、タグによって決定された所定のレイアウトで表示される。例えば、携帯電話プロバイダの場合、一般的なアプリケーションデリバラブルは当該プロバイダの全顧客に配信される。一方、当該プロバイダは、各契約レベルが機能の異なるセットを有する、ユーザ契約の2つの異なるレベルを提示する。一例として、低額な契約ならば大量の広告をユーザに提供し、高額な契約ならば広告を送信しないようにする。このような場合、一般的なアプリケーションデリバラブルの両方のバージョンがタグを介して実装され、当該タグは低額契約のユーザについてはアプリケーション内の広告機能を起動し、高額契約のユーザについては広告機能を停止する。尚、追加のビヘイビアを1つ若しくは複数の追加のタグにより決定することもできる。当該追加のタグは、バナー、サイドバー、ポップアップ等の広告コンテンツの表示を可能にし、及び/または制御するタグである。上述したように、このようなタグは、当該タグをパケット形式で送信するなど、任意の適切な方法で携帯電話に送信することができ、タグをXMLドキュメント内に含めることもできるし、タグを別個に送信することもできる。
別の例では、アプリケーションのホームページがアイテムのリストを表示することができる。この場合、当該リスト内おける「検索」アイテムの位置は、タグによって決定することができる。さらに別の例では、ホームページは、表示されるべきアイテムの数を規定する一般的なパラメータに基づいて、販売促進用アイテムのセットを表示することができる。この場合、アプリケーションは、タグに基づく当該パラメータの値にしたがって、表示されるべき複数のアイテムをランダムに選ぶことができる。
ビヘイビア変更に関する他の可能なカテゴリは、ビジネスロジックに関連するビヘイビアである。例えば、タグはコンピューティングデバイスとサーバとの間においてブックマークが付けられたアイテムの同期を行うこと、または行わないことを決定することができる。この場合、タグは、オンラインショッピングカタログアプリケーションにおける買い物かご及び/または欲しいものリストの同期を決定するのに使用することができる。例えば、図3は、ランタイムベースのショッピングアプリケーション52を具備しているコンピューティングデバイス50の概略図を示している。このアプリケーション52は、タグを利用して、ネットワーク58上におけるショッピングカート54とネットワークアクセス可能サーバシステム56との同期を可能にするように構成されている。
ビジネスロジックに関連するビヘイビアの他の例においては、タグは、ランタイムベースのアプリケーション内の課金機能を決定するのに使用され、例えば、タグは、アプリケーションがネットワークを介した電子商取引に参加するのに当該アプリケーション内部の課金システムを用いるのか、当該アプリケーションが外部の課金システムを利用するようにユーザに指示するのかを決定する。一例として、図4は、典型的な課金機能の起動を概略的に示している。携帯電話60及び62は、ネットワーク66を介してネットワークアクセス可能サーバシステム64と相互に通信することができる。携帯電話60及び62は共に、同じランタイムベースのアプリケーションで動作している。しかしながら、携帯電話60のアプリケーションは、タグによって起動される内部課金機能を有しており、携帯電話60のユーザは当該アプリケーションから直接アイテムを購入することができる。一例として、このようなユーザは、当該アプリケーションに関連付けられると共に、当該アプリケーションを介して直接アイテムを購入するための内部課金システム機能に関連付けられたユーザアカウントを有する。一方、携帯電話62のアプリケーションでは内部課金機能が起動されていない(すなわち、当該機能はタグによって停止される)。この場合、携帯電話62のユーザは、符号69によって示されているように外部課金機能を使用するように指示される。
さらに、タグは、アプリケーション内のプラグイン及び/または機能の起動を決定するのに使用することができる。換言すると、タグは、当該アプリケーション内に設けられているプラグインの起動または停止を決定することができる。一例として、上述したオンラインミュージックカタログの場合、タグはビヘイビアを決定するために使用することができ、アプリケーションが、ミュージック認識サービス及び/またはウエブラジオサービスを提供することを可能にする。別の例として、図5は、アプリケーション機能の典型的な起動を示す概略図である。図5は、ディスプレイスクリーン72を備える携帯電話70を示している。このディスプレイスクリーンは、ランタイムベースのアプリケーションのホームページ74を表示している。ホームページ74はアイコンとメニューを表示している。尚、このホームページ74は例示であり、実質的にいかなる他の画像、テキスト、アイコン、メニュー、検索バー、タスクバー等も表示することができる。携帯電話70で作動しているアプリケーションは、破線で示されたストア76という追加機能を有している。これは、タグに基づいて起動されるか、または停止される。このようなストアは例えば、ダウンロード及び/または購入することができるゲーム、音楽、着信音等のデジタルコンテンツアイテムを含む。一例として、携帯電話70のユーザは、料金前払いプランなど、当該ユーザの携帯電話サービスプロバイダとの関係において限定されたサービスプランを有する。このような場合、携帯電話70のアプリケーション内のストア76等の機能はタグによって停止される。代替例としては、エンハンスト(enhanced)データパッケージなど、携帯電話サービスプロバイダとの関係で拡張されたサービスプランを有する携帯電話70のユーザは、同じアプリケーションを使用することができるが、タグによってストア76が起動される。
さらに、タグは、ランタイムベースのアプリケーションの他のビヘイビアを決定するために使用され得る。例えば、タグによって、プラットフォームバグ(platform bug)対処策を提供すること、ラッパー実装戦略(wrapper implementation strategy)(つまり、オーディオストリームストラテジ)を提供すること、並びにハードウエア及びプラットフォームの微調整(例えば、キーコード、バッファサイズ、ドライブ名等)を行うことができる。
幾つかの実施形態において、タグは、1つ若しくは複数の構成パラメータの定義を示す。このような構成パラメータは、所望のビヘイビアを行わせるためにオン若しくはオフされる2進数の「スイッチ」として機能することができる。他の実施形態においては、構成パラメータは変数として機能する。例えば、当該パラメータは3つまたはそれ以上のオプションから選択されるべきものを示す。一例として、ストリングとして表現されている変数はコンピューティングデバイスに対し、3つまたはそれ以上の方法のうちのどれが当該デバイスのハードウエアに最も適するかを示す。例えば、「StreamBuffer(ストリームバッファ)」、「filebuffer(ファイルバッファ)」、「rtspwrapper(rtspラッパー)」、「audiostragety5(オーディオストラテジ5)」等とすることができるラッパー実装戦略がある。他の例として、整数として表現される変数は、コンピューティングデバイスの画面を予め規定されている画面{1、2、3、4}に適合させるために、販売促進用レイアウトが{2、4、6、8}から選択された値になるべきことを示すことができる。
幾つかの場合、変数は構成パラメータとして直接適用される。一例として、ストリングとして表現される変数はドライブ名を示し、ハードウエア製造者によって規定される任意の値となる。他の例として、整数として表現される変数はコンピューティングデバイス内の各動作(例えば、カーソルのアップダウン)についてのキーコードを示す。これは、当該動作に、ハードウエアによって提供される整数値を関連付けることによってなされる。幾つかの例において、整数値はデバイスによって異なる。さらに別の例においては、整数として表現される変数はバッファサイズが任意のバイトサイズになってよいことを示す。バイトサイズは、この種のコンピューティングデバイス/ハードウエアソリューションに対する最適値となるように決められている。
上述したように、ネットワークアクセス可能サーバは、異なるタグをリモートデバイスの異なる集団に送信し、一般的なデリバラブルによってインストールされたアプリケーションを変更することができる。その結果、アプリケーションの別の実装が可能となる。よって、符号46において方法40は、リモートデバイスの第2のグループについては、第2のタグをデバイスの各々に送信し、一般的なアプリケーションデリバラブルから得られたランタイムベースのアプリケーションの実装を制御する。第2のタグは、第1のタグについて上述したように、任意の適切なタイプのビヘイビアを決定することができる。従って、方法40は、ランタイムベースのアプリケーションの第1の代替インストールを第1のグループのリモートデバイスのグループに行い、ランタイムベースのアプリケーションの第2の代替インストールを第2のリモートデバイスのグループに行うことができる。
幾つかの実施形態において、上記方法及びプロセスは、コンピューティングシステムに関連付けられる。一例として図1は上記方法及びプロセスの1つ若しくは複数を実行することができるシステム20を概略的に示している。このシステム20はロジックサブシステムとデータ保持サブシステムを含んでいる。コンピューティングデバイス24は、図1には示されていないディスプレイサブシステム及び/または他のコンポーネントを含んでよい。
上述したように、中央サーバシステム及び/若しくはリモートデバイスは、典型的な場合、本明細書に記載された種々の機能を実行する処理サブシステム若しくは他のロジックサブシステムを採用する。さらに、データ保持サブシステム及びディスプレイサブシステムも採用され得る。ロジックサブシステムは1つ若しくは複数の命令を実行する1つ若しくは複数の物理的なデバイスを含んでもよい。例えば、当該ロジックサブシステムは1つ以上のプログラム、ルーチン、オブジェクト、コンポーネント、データ構造または他のロジック構成(logical constructs)の一部である1つ以上の命令を実行する。このような命令は、タスクを実行するため、データタイプを実装するため、1つ以上のデバイスの状態を変換するため、または所望の結果に到達するために実行される。ロジックサブシステムはソフトウエア命令を実行する1つ以上のプロセッサを含んでもよい。加えて、または代わりに、ロジックサブシステムはハードウエア命令若しくはファームウエア命令を実行する1つ以上のハードウエアロジックマシン若しくはファームウエアロジックマシンを含んでもよい。ロジックサブシステムは2つ以上のデバイスに分散される複数の個別コンポーネントを含むこともできる。これらデバイスは幾つかの実施形態においては離れた場所に設けられている。
データ保持サブシステムは、本明細書に記載された方法及びプロセスを実装するために、前記ロジックサブシステムによって実行可能なデータ及び/若しくは命令を保持する1つ以上の物理的なデバイスを含んでよい。このような方法及びプロセスが実行・実装されると、データ保持サブシステムの状態は変換され得る(例えば、異なるデータを保持するために)。データ保持サブシステムは取り外し可能な媒体及び/または内蔵されたデバイスを含んでもよい。データ保持サブシステムは光学メモリデバイス、半導体メモリデバイス及び/または磁気メモリデバイスを含んでもよい。データ保持サブシステムは下記の特徴の1つ若しくは複数を備えるデバイスを有してもよい。下記の特徴とは、揮発性であること、不揮発性であること、ダイナミックタイプであること、スタティックタイプであること、リード(読み出し)/ライト(書き込み)可能であること、リードオンリーであること、ランダムアクセスタイプであること、シーケンシャルアクセスタイプであること、アドレス指定できる位置であること、アドレス指定できるファイルであること、アドレス指定できるコンテンツであることである。幾つかの実施形態において、ロジックサブシステム及びデータ保持サブシステムは1つ若しくは複数の共通デバイス(例えば、アプリケーション専用の集積回路またはSoC(system on a chip))に統合されてもよい。
ディスプレイサブシステムが含まれる場合、当該ディスプレイサブシステムはデータ保持サブシステムによって保持されているデータの視覚的な表示を行うために使用される。本明細書において説明された方法及びプロセスはデータ保持サブシステムによって保持されたデータを変更し、当該データ保持サブシステムの状態を変更するので、ディスプレイサブシステムの状態も同じように変更されて、元のデータにおける変化を視覚的に表示する。ディスプレイサブシステムは、実質上任意のタイプの技術を用いる1つ若しくは複数のディスプレイデバイスを含んでよい。このようなディスプレイデバイスは共有エンクロージャの中でロジックサブシステム及び/またはデータ保持サブシステムに組み合わされてもよいし、このようなディスプレイデバイスは周辺ディスプレイデバイスであってもよい。
本明細書に記載された構成及び/または手法は例示であり、具体的な実施形態や例は限定的な意味で解釈されるべきものではない。なぜなら、多くの変更が可能であるからである。本明細書に記載された具体的なルーチン若しくは方法は任意の数の処理手法の1つ若しくは複数を示しているだけである。よって、図示された色々な動作は図示されたような順序で実行されることもあるし、他の順序で実行されることもあるし、並列的に実行されることもあるし、幾つかの例においては省略されることもある。同様に、上述したプロセスの順序も変更されることがあり得る。
本開示は、本明細書に記載された種々のプロセス、システム、構成、他の機能、動作及び/若しくは特性の新規で且つ非自明な組み合わせ及びサブコンビネーションの全てを包含すると共に、それらの均等物の全ても包含する。
Claims (15)
- 中央位置から複数のリモートインストールサイトへソフトウエアを展開するシステム(20)であって、
ネットワークアクセス可能サーバシステム(22)と、
複数のコンピューティングデバイス(24)であって、前記複数のコンピューティングデバイス(24)の各々は、前記ネットワークアクセス可能サーバシステム(22)からの一般的なアプリケーションデリバラブルの配信を介してインストールされる当初の実装を有するランタイムベースのアプリケーションを含み、前記ランタイムベースのアプリケーションは、ランタイム環境内で動作し、且つ、ネットワーク(26)を介して前記ネットワークアクセス可能サーバシステム(22)から1つ以上のタグを受信するように構成されている、複数のコンピューティングデバイスとを含み、
前記ランタイムベースのアプリケーションはさらに、前記ネットワークアクセス可能サーバシステム(22)からタグを受信すると、該タグをインタプリトし、該タグに応じて、前記ランタイムベースのアプリケーションの1つ以上の既存アプリケーションビヘイビアを決定することによって、前記ランタイムベースのアプリケーションの別の実装を形成するように構成されていることを特徴とするシステム。 - 前記複数のコンピューティングデバイスの各々は、第1のグループ若しくは第2のグループの一部であり、前記ネットワークアクセス可能サーバシステムは、第1のタグを前記第1のグループに配信し、前記第1のタグとは異なる第2のタグを前記第2のグループに配信し、このように異なるタグを提供することによって前記第1のグループのコンピューティングデバイスが、前記第2のグループのコンピューティングデバイスにより実行される前記ランタイムベースのアプリケーションとは異なる実装で動作するようにすることを特徴とする請求項1記載のシステム。
- 前記複数のコンピューティングデバイスの各々は、ポータブルコンピューティングデバイスであることを特徴とする請求項2記載のシステム。
- 前記複数のコンピューティングデバイスの各々は、携帯電話であり、異なるタグを提供することによって前記第1のグループの携帯電話が、前記第2のグループの携帯電話により実行されるオペレーティングソフトウエアとは異なるオペレーティングソフトウエアで動作することを特徴とする請求項3記載のシステム。
- 前記タグは課金機能を起動し、前記ランタイムベースのアプリケーションの代替実装が、前記ネットワークを介する電子商取引へ参加するために使用されることを可能にすることを特徴とする請求項1記載のシステム。
- 前記タグが、前記ランタイムベースのアプリケーションの代替実装において、前記当初の実装で採用されたユーザインターフェースとは異なるユーザインターフェースを起動させることを特徴とする請求項1記載のシステム。
- 前記ランタイムベースのアプリケーションは、電子カタログを提供するように構成され、前記タグが、前記ランタイムベースのアプリケーションの代替実装に、前記当初の実装で採用されたカタログディスプレイレイアウトとは異なるカタログディスプレイレイアウトを使用させることを特徴とする請求項1記載のシステム。
- 前記タグが、前記ランタイムベースのアプリケーションの代替実装において、広告コンテンツの表示を制御するように構成されていることを特徴とする請求項1記載のシステム。
- 前記タグが、前記ランタイムベースのアプリケーションの代替実装において、ショッピングカート機能の同期を制御するように構成されていることを特徴とする請求項1記載のシステム。
- 前記タグが、XMLベースのタグであることを特徴とする請求項1記載のシステム。
- ランタイムベースのアプリケーションのアプリケーションビヘイビアを選択的に使用可能にする方法(40)であって、
ネットワークアクセス可能サーバシステムから一般的なアプリケーションデリバラブルを複数のコンピューティングデバイスの各々に配信すること(42)であって、前記一般的なアプリケーションデリバラブルは、前記複数のコンピューティングデバイスの各々にランタイムベースのアプリケーションをインストールするように構成されていること、
前記ネットワークアクセス可能サーバシステムから第1のタグを前記複数のコンピューティングデバイスの第1のサブグループ内の各コンピューティングデバイスに配信すること(44)、
前記第1のタグに基づいて、前記第1のサブグループ内の各コンピューティングデバイスにおいて前記ランタイムベースのアプリケーションの第1の代替実装を起動すること、
前記ネットワークアクセス可能サーバシステムから、前記第1のタグとは異なる第2のタグを前記複数のコンピューティングデバイスの第2のサブグループ内の各コンピューティングデバイスに配信すること(46)、および、
前記第2のタグに基づいて、前記第2のサブグループ内の各コンピューティングデバイスにおいて前記ランタイムベースのアプリケーションの第2の代替実装を起動すること
を含むことを特徴とする方法。 - 前記複数のコンピューティングデバイスの各々は携帯電話であり、前記第1の代替実装および前記第2の代替実装は、携帯電話のオペレーティングソフトウエアの代替実装であることを特徴とする請求項11記載の方法。
- 前記第1の代替実装および前記第2の代替実装は、オンライン電子商取引を行うランタイムベースのアプリケーションを使用することに関連して採用される課金機能において異なることを特徴とする請求項11記載の方法。
- 前記ランタイムベースのアプリケーションは電子カタログを提供するように構成され、前記第1の代替実装および前記第2の代替実装は、異なるカタログディスプレイアイテムを提供することを特徴とする請求項11記載の方法。
- 前記第1のタグおよび前記第2のタグが、XMLベースのタグであることを特徴とする請求項11記載の方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/425,115 US8108497B2 (en) | 2009-04-16 | 2009-04-16 | Selective enablement of runtime-based application behaviors |
US12/425,115 | 2009-04-16 | ||
PCT/US2010/031097 WO2010120930A2 (en) | 2009-04-16 | 2010-04-14 | Selective enablement of runtime-based application behaviors |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2012524344A true JP2012524344A (ja) | 2012-10-11 |
Family
ID=42981696
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012506180A Withdrawn JP2012524344A (ja) | 2009-04-16 | 2010-04-14 | ランタイムベースのアプリケーションビヘイビアの選択的使用 |
Country Status (7)
Country | Link |
---|---|
US (1) | US8108497B2 (ja) |
EP (1) | EP2419835A4 (ja) |
JP (1) | JP2012524344A (ja) |
KR (2) | KR101700080B1 (ja) |
CN (1) | CN102395960B (ja) |
RU (1) | RU2011141852A (ja) |
WO (1) | WO2010120930A2 (ja) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100268735A1 (en) * | 2009-04-17 | 2010-10-21 | Microsoft Corporation | Online content service with catalog-based interaction |
US20110078678A1 (en) * | 2009-09-30 | 2011-03-31 | Open Kernel Labs | Methods and apparatus for producing cross-platform software applications |
US8732697B2 (en) | 2010-08-04 | 2014-05-20 | Premkumar Jonnala | System, method and apparatus for managing applications on a device |
US9154555B2 (en) | 2011-03-30 | 2015-10-06 | Paypal, Inc. | Device specific remote disabling of applications |
US9015576B2 (en) * | 2011-05-16 | 2015-04-21 | Microsoft Technology Licensing, Llc | Informed partitioning of data in a markup-based document |
US8732275B2 (en) * | 2011-08-01 | 2014-05-20 | Verizon Patent And Licensing Inc. | Methods and systems for delivering a personalized version of an executable application to a secondary access device associated with a user |
GB2495081A (en) * | 2011-09-23 | 2013-04-03 | Centrix Networking Ltd | Management system for delivering an application |
CN104067258A (zh) * | 2012-04-26 | 2014-09-24 | 惠普发展公司,有限责任合伙企业 | 平台运行时间抽象 |
US8990883B2 (en) | 2013-01-02 | 2015-03-24 | International Business Machines Corporation | Policy-based development and runtime control of mobile applications |
US10043164B2 (en) * | 2013-05-20 | 2018-08-07 | Mastercard International Incorporated | System and method for facilitating a transaction between a merchant and a cardholder |
US10338906B2 (en) * | 2015-09-29 | 2019-07-02 | Facebook, Inc. | Controlling feature release using gates |
US10341465B2 (en) | 2016-04-03 | 2019-07-02 | Microsoft Technology Licensing, Llc | Policy driven flight management |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5347629A (en) | 1992-04-07 | 1994-09-13 | International Business Machines Corporation | Graphical user interface including updating of multiple panels using what you see is what you get (WYSIWYG) editor |
US6578000B1 (en) | 1999-09-03 | 2003-06-10 | Cisco Technology, Inc. | Browser-based arrangement for developing voice enabled web applications using extensible markup language documents |
US6901431B1 (en) * | 1999-09-03 | 2005-05-31 | Cisco Technology, Inc. | Application server providing personalized voice enabled web application services using extensible markup language documents |
US6490564B1 (en) * | 1999-09-03 | 2002-12-03 | Cisco Technology, Inc. | Arrangement for defining and processing voice enabled web applications using extensible markup language documents |
US6990514B1 (en) * | 1999-09-03 | 2006-01-24 | Cisco Technology, Inc. | Unified messaging system using web based application server for management of messages using standardized servers |
US6952800B1 (en) * | 1999-09-03 | 2005-10-04 | Cisco Technology, Inc. | Arrangement for controlling and logging voice enabled web applications using extensible markup language documents |
US7013340B1 (en) | 2000-05-18 | 2006-03-14 | Microsoft Corporation | Postback input handling by server-side control objects |
US6961750B1 (en) | 2000-05-18 | 2005-11-01 | Microsoft Corp. | Server-side control objects for processing client-side user interface elements |
US6963930B2 (en) | 2001-02-15 | 2005-11-08 | Centric Software, Inc. | Automatic transfer and expansion of application-specific data for display at a website |
US7346840B1 (en) | 2001-02-26 | 2008-03-18 | Cisco Technology, Inc. | Application server configured for dynamically generating web forms based on extensible markup language documents and retrieved subscriber data |
JP2002268984A (ja) * | 2001-03-09 | 2002-09-20 | Tsubasa System Co Ltd | プログラム配信装置 |
US7406418B2 (en) | 2001-07-03 | 2008-07-29 | Apptera, Inc. | Method and apparatus for reducing data traffic in a voice XML application distribution system through cache optimization |
US7065706B1 (en) | 2001-08-06 | 2006-06-20 | Cisco Technology, Inc. | Network router configured for executing network operations based on parsing XML tags in a received XML document |
US7114148B2 (en) | 2002-09-30 | 2006-09-26 | Microsoft Corporation | Runtime services for network software platform |
CN1534503A (zh) * | 2003-03-27 | 2004-10-06 | 华硕电脑股份有限公司 | 实现网络游戏中实时影音会谈的方法、系统及储存媒体 |
US7614052B2 (en) | 2004-01-09 | 2009-11-03 | Nexaweb Technologies Inc. | System and method for developing and deploying computer applications over a network |
US7877744B2 (en) * | 2004-11-05 | 2011-01-25 | Qualcomm Incorporated | Method, software and apparatus for activating resident applications |
US7877329B2 (en) * | 2005-09-23 | 2011-01-25 | Business Objects Software Ltd. | Apparatus and method for processing license keys using dynamic field mapping |
US20080148298A1 (en) | 2006-12-18 | 2008-06-19 | Palm, Inc. | System and Methods for Providing Granular Security for Locally Running Scripted Environments and Web Applications |
-
2009
- 2009-04-16 US US12/425,115 patent/US8108497B2/en active Active
-
2010
- 2010-04-14 CN CN201080017848.5A patent/CN102395960B/zh active Active
- 2010-04-14 KR KR1020167027652A patent/KR101700080B1/ko active IP Right Grant
- 2010-04-14 EP EP10765124.2A patent/EP2419835A4/en not_active Withdrawn
- 2010-04-14 KR KR1020117024204A patent/KR20120016196A/ko not_active Application Discontinuation
- 2010-04-14 WO PCT/US2010/031097 patent/WO2010120930A2/en active Application Filing
- 2010-04-14 RU RU2011141852/08A patent/RU2011141852A/ru not_active Application Discontinuation
- 2010-04-14 JP JP2012506180A patent/JP2012524344A/ja not_active Withdrawn
Also Published As
Publication number | Publication date |
---|---|
US8108497B2 (en) | 2012-01-31 |
KR101700080B1 (ko) | 2017-01-26 |
WO2010120930A2 (en) | 2010-10-21 |
CN102395960B (zh) | 2014-02-05 |
US20100268581A1 (en) | 2010-10-21 |
RU2011141852A (ru) | 2013-04-20 |
KR20160121593A (ko) | 2016-10-19 |
KR20120016196A (ko) | 2012-02-23 |
EP2419835A2 (en) | 2012-02-22 |
CN102395960A (zh) | 2012-03-28 |
EP2419835A4 (en) | 2013-04-17 |
WO2010120930A3 (en) | 2011-01-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101700080B1 (ko) | 런타임 기반 애플리케이션 행동의 선택적 인에이블 | |
US10455071B2 (en) | Self-identification of brand and branded firmware installation in a generic electronic device | |
US9098368B1 (en) | Loading branded media outside system partition | |
US9280483B1 (en) | Rebranding a portable electronic device while maintaining user data | |
CN102089744B (zh) | 应用管理方法和系统 | |
US9301081B1 (en) | Delivery of oversized branding elements for customization | |
US20100145675A1 (en) | User interface having customizable text strings | |
US8000749B1 (en) | Access and use of ad content loaded onto wireless telephones | |
US20140282245A1 (en) | Dynamic icons | |
KR20070103736A (ko) | 무선 컴퓨팅 디바이스에 컨텐츠를 제공하는 방법 | |
CN102971688A (zh) | 跨平台应用程序框架 | |
CN103491111A (zh) | 无线应用发布、实现方法与装置 | |
CN104156243A (zh) | 一种应用分发和快速加载运行的系统及方法 | |
WO2014145933A2 (en) | Systems and methods of processing data involving presentation of information on android devices | |
US20130059613A1 (en) | System and method for providing end to end interactive mobile applications using sms | |
CN101436124A (zh) | 一种嵌入式设备kjava应用程序管理系统及方法 | |
US11146860B2 (en) | Service processing method, device, and intelligent terminal for obtaining and displaying data based on texture data corresponding to a target service | |
CN103677865A (zh) | 一种更新壁纸的方法及装置 | |
US9336027B2 (en) | System and method for modular business applications | |
US20090234714A1 (en) | Software distribution system with advertising revenue subsidy and method of operation thereof | |
KR101318346B1 (ko) | 모바일 단말 기반 광고 어플리케이션 제공 방법 | |
CN101185062B (zh) | 用于数据语言中变量的自动更新的方法和装置 | |
CN107885525A (zh) | 应用更新方法及相关装置 | |
CN102547630A (zh) | 移动终端业务多媒体显示方法、终端及系统 | |
CN108733444B (zh) | 一种页面的刷新方法、装置、存储介质及移动终端 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20121005 |