JP2010512603A - クライアント駆動サーバ側インストールのための装置及び方法 - Google Patents

クライアント駆動サーバ側インストールのための装置及び方法 Download PDF

Info

Publication number
JP2010512603A
JP2010512603A JP2009541483A JP2009541483A JP2010512603A JP 2010512603 A JP2010512603 A JP 2010512603A JP 2009541483 A JP2009541483 A JP 2009541483A JP 2009541483 A JP2009541483 A JP 2009541483A JP 2010512603 A JP2010512603 A JP 2010512603A
Authority
JP
Japan
Prior art keywords
application
server
identifier
response
receiving
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.)
Granted
Application number
JP2009541483A
Other languages
English (en)
Other versions
JP5237298B2 (ja
Inventor
ケリー、ブライアン・ハロルド
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Publication of JP2010512603A publication Critical patent/JP2010512603A/ja
Application granted granted Critical
Publication of JP5237298B2 publication Critical patent/JP5237298B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/258Data format conversion from or to a database
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/564Enhancement of application control based on intercepted application data

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)

Abstract

クライアントデバイスに応答して必要なアプリケーションを自動的にインストールするサーバが説明される。サーバは、識別子を備える第1の信号をクライアントデバイスから受信するように構成されたインタフェースエージェントを備える。検索アプリケーションは、識別子に対応する実行可能アプリケーションを取得するように構成され、インストーラアプリケーションは、実行可能アプリケーションを取得する検索アプリケーションに応答して、実行可能アプリケーションをインストールするように構成される。インタフェースエージェントは、インストールした実行可能アプリケーションを実行するように構成される。

Description

技術の進歩は、より小さくパワフルなパーソナル・コンピューティング・デバイスをもたらした。例えば昨今は、小さく、軽量で、ユーザが容易に持ち運べる、例えばポータブル無線電話、携帯情報端末(PDA)、及びページングデバイスのような様々なポータブル・パーソナル・コンピューティング・デバイスが存在する。より詳しくは、ポータブル無線電話は例えば、無線ネットワークを介して音声及びデータパケットを通信するセルラー電話を更に含む。更に、多くのそのようなセルラー電話は、コンピューティング機能が比較的大きく増加して製造されており、小さなパーソナルコンピュータ及びハンドヘルドPDAと同等になりつつある。しかし、これらの小さくパワフルなパーソナル・コンピューティング・デバイスは通常、厳しいリソース制約を受ける。例えば、スクリーンサイズ、利用可能なメモリ及びファイルシステム空間の量、入出力機能及び処理機能の量は、それぞれ、デバイスの小さいサイズによって制限される。このような厳しいリソース制約のために、一般に、例えば、ソフトウェアアプリケーションの限られたサイズ及び量と、例えばクライアントデバイスのような遠隔パーソナル・コンピューティング・デバイスに存在するその他の情報とを保持することがしばしば望ましい。
例えば無線電話及びその他のポータブル無線ハンドヘルド電子デバイスのような無線デバイスは、例えばアプリケーションソフトウェアのような様々なタイプの実行可能コンテンツをダウンロードし、実行することができる。いくつかの例において、無線デバイスのユーザは、例えばパーソナルコンピュータ又はその他のプロセッサや論理ベースのデバイスのような処理デバイスと互いにコンテンツを転送することを望む。
多くの例において、転送されるコンテンツは、無線デバイスと通信するために、及び/又は処理デバイスの無線デバイスによって要求されたアクティビティを実行するために、処理デバイスの特定のアプリケーションが必要である。
局面は、クライアント駆動サーバ側インストールのための命令をベアリングするシステム、方法、及びコンピュータ読取可能媒体を提供する。
クライアントデバイスに応答して必要なアプリケーションを自動的にインストールするサーバ局面は、クライアント無線デバイスからの、識別子を備える第1の信号を受信するように構成されたインタフェースエージェントと、識別子に対応する実行可能アプリケーションを取得するように構成された検索アプリケーションと、検索アプリケーションの実行可能アプリケーションの取得に応答して、実行可能アプリケーションをインストールするように構成されたインストーラアプリケーションとを備え、インタフェースエージェントは、インストールされた実行可能アプリケーションを実行するように構成される。
サーバで必要なアプリケーションのインストールを要求するクライアント無線デバイス局面は、アプリケーション識別子を備える実行可能アプリケーションと、アプリケーション識別子に対応する識別子を備えるインストール要求をサーバへ送信するように構成されたインタフェースエージェントとを備える。
クライアントデバイスに応答して必要なアプリケーションを自動的にインストールする方法局面は、クライアントデバイスからの識別子を備えるインストール要求を受信することと、識別子の少なくとも一部に基づいて判定されたアプリケーションをインストールすることと、識別子の受信に応答してアプリケーションを実行することと、アプリケーションに対するアクション要求の受信に応答して結果を生成することと、生成した結果をクライアントデバイスへ送信することとを備える。
サーバで必要なアプリケーションのインストールを要求し、アプリケーションとインタラクトする方法局面は、アプリケーション識別子に対応する識別子を備えるインストール要求をサーバへ送信することと、インストール要求に応答するアクノレッジメントメッセージの受信に応答して、アクション要求をサーバへ送信することと、アクション要求に応答するサーバからの結果を受信することとを備える。
プロセッサ局面は、クライアントデバイスからの識別子を備えるインストール要求を受信することと、識別子の少なくとも一部に基づいて判定されたアプリケーションをインストールすることと、識別子の受信に応答してアプリケーションを実行することと、アプリケーションに対するアクション要求の受信に応答して結果を生成することと、生成した結果をクライアントデバイスへ送信することとのアクションを実行するように構成された少なくとも1つのプロセッサを備える。
別のプロセッサ局面は、アプリケーション識別子に対応する識別子を備えるインストール要求をサーバへ送信することと、インストール要求に応答するアクノレッジメントメッセージの受信に応答して、アクション要求をサーバへ送信することと、アクション要求に応答するサーバからの結果を受信することとのアクションを実行するように構成された少なくとも1つのプロセッサを備える。
命令群を格納して備えた機械読取可能媒体局面は、クライアントデバイスからの、識別子を備えるインストール要求を受信する第1の命令のセットと、識別子の少なくとも一部に基づいて判定されたアプリケーションをインストールする第2の命令のセットと、識別子の受信に応答してアプリケーションを実行する第3の命令のセットと、アプリケーションに対するアクション要求の受信に応答して結果を生成する第4の命令のセットと、生成した結果をクライアントデバイスへ送信する第5の命令のセットとを備える。
命令群を格納して備えた別の機械読取可能媒体局面は、アプリケーション識別子に対応する識別子を備えるインストール要求をサーバへ送信する第1の命令のセットと、インストール要求に応答するアクノレッジメントメッセージの受信に応答してアクション要求をサーバへ送信する第2の命令のセットと、アクション要求に応答するサーバからの結果を受信する第3の命令のセットとを備える。
クライアントデバイスに応答して必要なアプリケーションを自動的にインストールするサーバデバイス局面は、クライアントデバイスからの、識別子を備えるインストール要求を受信する手段と、識別子の少なくとも一部に基づいて判定されたアプリケーションをインストールする手段と、識別子の受信に応答してアプリケーションを実行する手段と、アプリケーションに対するアクション要求の受信に応答して結果を生成する手段と、生成した結果をクライアントデバイスへ送信する手段とを備える。
サーバで必要なアプリケーションのインストールを要求し、アプリケーションとインタラクトするクライアントデバイス局面は、アプリケーション識別子に対応する識別子を備えるインストール要求をサーバへ送信する手段と、インストール要求に応答するアクノレッジメントメッセージの受信に応答してアクション要求をサーバへ送信する手段と、アクション要求に応答するサーバからの結果を受信する手段とを備える。
好適な局面が、意図される最適なモードの例示によって簡略に示され説明される、以下の発明を実施する形態から、その他の利点も当業者には容易に明らかになるであろう。理解されるように、他の局面及び異なる局面が可能であり、様々な明確な観点において、いくつかの詳細の修正が、範囲を逸脱することなく可能である。
図1は、本システムの1つの局面のアーキテクチャの高レベルブロック図である。 図2Aは、局面に従うインストール要求のブロック図である。 図2Bは、局面に従うインストール要求のブロック図である。 図2Cは、局面に従うインストール要求のブロック図である。 図2Dは、局面に従うインストール要求のブロック図である。 図3は、局面に従う高レベルメッセージシーケンス図である。 図4は、別の局面に従う高レベルメッセージシーケンス図である。 図5は、局面に従う高レベル処理フロー図である。 図6は、局面に関して用いることができるシステムの高レベル機能ブロック図である。 図7は、本システムのベルの局面の高レベルブロック図である。
発明を実施する形態
説明される局面は、同一の参照符号を有する要素が全体を通して同一の要素を表す添付図面の図における限定ではなく例によって示される。
図1は、局面に従うシステムアーキテクチャ100の高レベルブロック図を示す。システムアーキテクチャ100は、(クライアントデバイスとも称される)無線クライアントデバイス102、サーバ104、データ記憶装置106、及び、クライアントデバイスと、サーバと、データ記憶装置とを通信可能に接続しているネットワーク108を備える。クライアントデバイス102は、サーバ104に、予め定められたアプリケーションを用いてアクションを実行するように要求する。この要求は、サーバ104がアクションを実行するために用いるように要求された、予め定められたアプリケーションを指定する識別子を含む。予め定められたアプリケーションがサーバ104にインストールされていない場合、サーバは、予め定められたアプリケーションをデータ記憶装置106から検索し、アプリケーションをインストールし、クライアントデバイス102と通信するためにアプリケーションを実行する。
クライアントデバイス102は、サーバ104と通信するインタフェースエージェント110、既存のクライアントアプリケーション112、及びダウンロード済(D/L)クライアントアプリケーション114を備える。
クライアントアプリケーション(既存のアプリケーション112及び/又はD/Lアプリケーション114)は、クライアントデバイス102によって実行されると、サーバ104と共に、クライアントデバイスに、例えば遠隔ファイルの閲覧及び/又は編集、ウェブカメラの制御及び閲覧、デスクトップコンピュータでのeメールのブラウジング、電話又はその他のモバイルデバイスからのカーステレオのプレイリストの編集等のような予め定められた機能を実行する。既存のクライアントアプリケーション112及びD/Lクライアントアプリケーション114の各々は、特定のクライアントアプリケーションをユニークに識別するクライアントアプリケーション識別子(ID)116を備える。クライアントデバイス102もまた、そのクライアントデバイスをユニークに識別する、例えばシリアル番号、モデル番号等のようなデバイスID118をオプション的に備える。
少なくともいくつかの局面において、既存のクライアントアプリケーション112は、プリインストールされうるクライアントアプリケーション及び/又はクライアントデバイス102に存在する実行可能命令の一部を備える。D/Lクライアントアプリケーション114は、クライアントデバイス102へアップロード、ダウンロード、又は転送されることができ、更新済の既存のクライアントアプリケーション112及び/又はそのようなクライアントアプリケーションへの拡張を更に備える。少なくともいくつかの局面において、クライアントアプリケーションID116は、例えば遠隔ファイル閲覧アプリケーション等のようなアプリケーションタイプをユニークに識別する。
クライアントアプリケーション112、114は、インストール要求200(図2)を生成し、インタフェースエージェント110を介してサーバ104へ送信する。インストール要求200は、インストール要求を生成するクライアントアプリケーション112、114が要求した機能を実行することができるサーバに、対応するサーバアプリケーションがインストールされているかをサーバ104に判定させる。
インタフェースエージェント110は、ネットワーク108を介してクライアントデバイス102とサーバ104との間の通信を確立する。少なくともいくつかの局面において、インタフェースエージェント110は、オペレーティングシステムの一部、実行時環境の一部としての実行可能命令のセット、及び例えばクライアントアプリケーション112、114のような実行可能命令のセットのうちの1つであることができる。
クライアントアプリケーション112、114から受け取ったインストール要求200(図2)に応答して、インタフェースエージェント110は、インタフェースエージェントが通信を確立した接続済のサーバ104へインストール要求を送信する。サーバ104からのアクノレッジメントの受信後、インタフェースエージェント110は、受信したアクノレッジメントを適切なクライアントアプリケーション112、114へ送る。インタフェースエージェント110は、クライアントアプリケーション112、114からの受信メッセージをサーバ104へ送信し、サーバ104からの受信メッセージをクライアントアプリケーションへ送る。
少なくともいくつかの局面において、インタフェースエージェント110は、クライアントアプリケーションがサーバ104と直接通信することを可能にするために、クライアントアプリケーション112、114へ通信情報を提供する。少なくともいくつかの局面において、インタフェースエージェント110は、クライアントアプリケーション112、114とサーバ104との間の更なる通信を可能にするためにサーバ104の認証及び許可を必要とするセキュリティ機能を備える。セキュリティ機能は、パスワード交換、電子署名及び/又は電子証明書、暗号、公開―秘密鍵ペアリング、及びその他のセキュリティメカニズムを用いて実現されうる。
サーバ104は、例えばプロセッサ、又は例えばパーソナルコンピュータ、ラップトップ、デスクトップ、サーバ等のようなその他の論理ベースデバイスのような処理デバイスである。サーバ104は、クライアントデバイス102と通信するインタフェースエージェント120、インストールエージェント122、検索エージェント124、及び既存のサーバアプリケーション126を備える。サーバ104は、D/Lサーバアプリケーション128をオプション的に備える。サーバアプリケーション126、128の各々は、特定のサーバアプリケーションをユニークに識別するサーバアプリケーションID130を備える。サーバ104はまた、クライアントデバイス102に関する上述したようなデバイスID118もオプション的に備える。
少なくともいくつかの局面において、既存のサーバアプリケーション126は、サーバ104のプリインストールされた実行可能命令及び/又は既存の実行可能命令の一部でありうるサーバアプリケーションを備える。D/Lサーバアプリケーション126は、サーバ104へアップロード、ダウンロード、あるいは転送され、更新済の既存のサーバアプリケーション126及び/又はそのようなサーバアプリケーションへの拡張を更に備えることができる。少なくともいくつかの局面において、サーバアプリケーションID130は、例えば遠隔ファイル閲覧サーバアプリケーション等のようなアプリケーションタイプをユニークに識別する。
インタフェースエージェント120は、インタフェースエージェント110に応答し、ネットワーク108を介してクライアントデバイス102との通信を確立する。少なくともいくつかの局面において、インタフェースエージェント120は、オペレーティングシステムの一部、実行時環境の一部としての実行可能命令のセット、及び例えばサーバアプリケーション126、128のような実行可能命令のセットのうちの1つであることができる。
クライアントデバイス102からのインストール要求200(図2)の受信に応答して、インタフェースエージェント120は、対応するサーバアプリケーション126、128がサーバ104にインストールされたかを判定する。対応するサーバアプリケーション126、128がサーバ104にインストールされている場合、インタフェースエージェント120は、サーバアプリケーションが実行しているかを判定する。対応するサーバアプリケーション126、128が実行していない場合、インタフェースエージェント120は、サーバアプリケーションを実行し、アクノレッジメントをクライアントデバイス102へ送信する。対応するサーバアプリケーション126、128がサーバ104にインストールされ、実行中である場合、インタフェースエージェント120は、アクノレッジメントをクライアントデバイス102へ送信する。
対応するサーバアプリケーション126、128がサーバ104にインストールされていない場合、インタフェースエージェント120は、アプリケーション検索要求を検索エージェント124へ送る。以下に説明するように、検索エージェント124は、特定のD/Lサーバアプリケーション126、128を取得し、インストールエージェント122に、D/Lサーバアプリケーションをインストールさせる。インストールエージェント122からのサーバアプリケーションインストール完了メッセージに応答して、インタフェースエージェント120は、インストールしたアプリケーションの実行を開始する。D/Lサーバアプリケーション128のインストール後、インタフェースエージェント120は、アクノレッジメントをクライアントデバイス102へ送信する。
少なくともいくつかの局面において、サーバ104、例えば検索エージェント124及び/又はインストールエージェント122は、サーバでのD/Lサーバアプリケーションのダウンロード及び/又はインストールを可能にするために、D/Lサーバアプリケーション128の認証及び許可を必要とするセキュリティ機能を備える。セキュリティ機能は、パスワード交換、電子署名及び/又は電子証明書、暗号、公開―秘密鍵ペアリング、及びその他のセキュリティメカニズムを用いて実現することができる。サーバ104は、検索エージェント124及び/又はインストールエージェント122のうちの1つ又は両方によって、D/Lサーバアプリケーション128が信頼できるソースからであり、サーバによる実行を許可されるかを確認する。少なくともいくつかの局面において、サーバ104は、予め定められた数の署名機関を信頼し、データ記憶装置106は、D/Lサーバアプリケーション128とともに電子証明書をサーバへ送信する。少なくともいくつかの局面において、サーバ104とD/Lサーバアプリケーション128の署名機関との間の信頼関係は、サーバとデータ記憶装置106との間の信頼関係とは論理的に異なる。
インタフェースエージェント120は、クライアントデバイス102からの受信メッセージをサーバアプリケーション126、128へ送り、サーバアプリケーション126、128から受け取ったメッセージをクライアントデバイスへ送信する。少なくともいくつかの局面において、インタフェースエージェント120は、サーバアプリケーションがクライアントデバイス102と直接通信することを可能にするために、通信情報をサーバアプリケーション126、128へ提供する。少なくともいくつかの局面において、インタフェースエージェント120は、サーバアプリケーション126、128とクライアントデバイストの間の更なる通信を可能にするために、クライアントデバイス102の認証及び許可を必要とするセキュリティ機能を備える。セキュリティ機能は、パスワード交換、暗号、公開―秘密鍵ペアリング、及びその他のセキュリティメカニズムを用いて実現することができる。
インタフェースエージェント120から受け取ったアプリケーション検索要求に応答して、検索エージェント124は、ネットワーク108を介してデータ記憶装置106と通信し、インストール要求200(図2)の少なくとも一部に基づいて、D/Lサーバアプリケーション128を取得する。少なくともいくつかの局面において、検索エージェント124は、適切なD/Lサーバアプリケーション128を識別するために、データ記憶装置106へ問合せを送信する。検索エージェント124は、データ記憶装置106からD/Lサーバアプリケーション128をダウンロードすることができ、及び/又は、データ記憶装置はD/Lサーバアプリケーションを検索エージェントへアップロードすることができる。
D/Lサーバアプリケーション128が検索エージェント124によって検索された後、検索エージェントは、サーバアプリケーションインストール要求をインストールエージェント122へ送る。少なくともいくつかの局面において、サーバアプリケーションインストール要求は、D/Lサーバアプリケーション128が検索されたことと、アプリケーションのインストールをインストールエージェント122に要求していることとを示すインジケーションを備える。少なくともいくつかの更なる局面において、サーバアプリケーションインストール要求は、検索されたD/Lサーバアプリケーション128と、アプリケーションをインストールする要求とを備える。
検索エージェント124から受け取ったサーバアプリケーションインストール要求に応答して、インストールエージェント122は、D/Lサーバアプリケーション128をインストールし、サーバアプリケーションインストール完了メッセージをインタフェースエージェント120へ送る。
少なくともいくつかの局面において、インストールエージェント122及び検索エージェント124は、単一のエージェントに結合される。少なくともいくつかの更なる局面において、インストールエージェント122、検索エージェント124、及びインタフェースエージェント120のうちの2つ又はそれ以上は、1つ又は複数のエージェントに結合される。
データ記憶装置106は、例えばプロセッサ、あるいは例えばパーソナルコンピュータ、ラップトップ、デスクトップ、サーバ等のようなその他の論理ベースデバイスのような処理デバイスを備える。データ記憶装置106は、サーバ104へ転送するために利用可能な1つ又は複数のD/Lサーバアプリケーション128を備える。
少なくともいくつかの局面において、データ記憶装置106は、受信した、特定のD/Lサーバアプリケーション128に関するサーバ104からの問合せに応答する機能を含む。
ネットワーク108は、無線及び/又は有線通信接続を備える。少なくともいくつかの局面において、クライアントデバイス102は、有線及び/又は無線接続を介してサーバ104へ直接接続することができる。
図2A乃至図2Dは、本システムに関する利点のために用いることができるインストール要求200のそれぞれ異なる局面のブロック図を示す。図2Aは、サーバアプリケーションID130を備えるインストール要求200を示す。図2Aの局面の場合、インストール要求200は、クライアントデバイス102が通信するであろう特定のサーバアプリケーションを指定する。少なくともいくつかの局面において、サーバアプリケーションID130は、例えば名前又はその他の識別子によって、タイプによって、ファイル拡張によって、統一資源ロケータ(URL)によって、及び/又はアプリケーションを指定するその他のメカニズムによって特定のサーバアプリケーションを指定する。タイプ、ファイル拡張、又はその他の包含的仕様による指定の受信に応答して、サーバ104は、何れのサーバアプリケーション16、128が、指定された包含的仕様に対応するかを判定する。上述したように、対応するサーバアプリケーション126、128がサーバ104にインストールされていない場合、サーバは、データ記憶装置106からのアプリケーションの検索を試みる。
少なくともいくつかの更なる局面において、サーバアプリケーションID130は、クライアントデバイス102がそれに従ってサーバ104と通信するであろう特定のプロトコルを指定することができる。プロトコル指定の受信に応答して、サーバ104は、何れのサーバアプリケーション126、128が、指定されたプロトコルに対応するかを判定する。
少なくともいくつかの更なる局面において、サーバアプリケーションID130は、クライアントデバイス102とサーバ104との間で通信するために用いられる、例えばXML及び/又は別の構成されたデータ言語のような特定のデータ交換言語を指定することができる。
図2Bは、クライアントアプリケーションID116を備えるインストール要求200を示す。図2Bの局面の場合、インストール要求200は、サーバ104が通信するであろう要求元クライアントアプリケーション112、114を指定する。少なくともいくつかの局面において、クライアントアプリケーションID116は、例えば名前又はその他の識別子によって、英数字識別子によって、タイプによって、ファイル拡張によって、URLによって、及び/又はアプリケーションを指定するその他のメカニズムによって特定のクライアントアプリケーション112、114を指定する。タイプ、ファイル拡張、又はその他の包含的仕様による指定の受信に応答して、サーバ104は、何れのサーバアプリケーション16、128が、指定された包含的仕様に対応するかを判定する。上述したように、対応するサーバアプリケーション126、128がサーバ104にインストールされていない場合、サーバは、データ記憶装置106からのアプリケーションの検索を試みる。
図2Cは、サーバアプリケーションID130及びクライアントアプリケーションID116を備えるインストール要求200を示す。サーバアプリケーションID130及びクライアントアプリケーションID116の両方又は何れかは、図2A及び/又は図2Bの局面に関して上述されたものと同様であることができる。図2A及び図2Bの局面と同様に、図2Cの局面のインストール要求200を用いた動作は、図2A及び/又は図2Bに関して上述した機能のうちの1つ又は両方に沿って進行する。
図2Dは、サーバアプリケーションID130、クライアントアプリケーションID116、及びデバイスID118を備えるインストール要求200を示す。サーバアプリケーションID130及びクライアントアプリケーションID116の両方又は何れかは、図2Cの局面に関して上述したものと同様であることができる。
図3は、局面に従う動作の高レベルメッセージシーケンス図である。時間は、ページの下方へ向かって進行する。最初に、クライアントデバイス102及びサーバ104はそれぞれ、インストールされたインタフェースエージェント110及びインタフェースエージェント120を備える。図示するように、クライアントデバイス102は、データ記憶装置106からD/Lクライアントアプリケーション114をダウンロードする(シーケンス300)。クライアントデバイス102は、クライアントデバイス102と通信するためにサーバアプリケーション(126、128)をインストール及び/又は実行することをサーバに要求するインストール要求200をサーバ104へ送信する(シーケンス302)。
少なくともいくつかの局面において、インストール要求200は、図2A乃至図2Dに関して上述した局面のうちの1つ、2つ又はそれ以上の組み合わせ、あるいは1つ又は複数の変形例に従うインストール要求であることができる。
インストール要求200の受信後、サーバ104は、インストール要求の少なくとも一部に基づいて、要求されたサーバアプリケーション(126、128)がサーバにインストールされていないと判定し、適切なサーバアプリケーションに対する要求をデータ記憶装置106へ送信する(シーケンス304)。サーバ104からのアプリケーション要求の受信後、データ記憶装置106は、アプリケーション要求の少なくとも一部に基づいて、要求されたD/Lサーバアプリケーション128を判定し、そのD/Lサーバアプリケーションをサーバへ送信する(シーケンス306)。少なくともいくつかの局面において、サーバ104は、受信したインストール要求200の少なくとも一部をデータ記憶装置106へ送信する。
要求されたD/Lサーバアプリケーション128の受信後、サーバ104は、アプリケーションをインストール及び実行し、アクノレッジメントメッセージ(ACK)をクライアントデバイス102へ送信する(シーケンス308)。サーバ104からのアクノレッジメントメッセージの受信後、クライアントデバイス102は、D/Lサーバアプリケーション128を用いてサーバ104によって実行されるように要求されたアクションを送信する(シーケンス310)。
クライアントデバイス102からのアクション要求の受信後、サーバ104、詳しくはD/Lサーバアプリケーション128は、要求されたアクションを実行する(シーケンス312)。サーバ104は、要求されたアクションを実行した後、アクションの結果をクライアントデバイス102へ送信する。
少なくともいくつかの局面において、クライアントデバイス102によって要求されたアクションは、一回の応答、定期的な応答、及び/又は予め定められた継続ベースでの応答を必要としうる。例えばクライアントアプリケーション(112、114)は、例えばサーバ状態等のようなサーバ104からの情報の継続的な更新を要求することができる。別の非限定的例において、クライアントアプリケーション(112、114)は、情報の変更に基づいてサーバ104からの情報の更新を要求することができる。少なくともいくつかの更なる局面において、クライアントデバイス102によって要求されたアクションは、クライアントデバイスへの応答の提供を必要としないことがある。
少なくともいくつかの局面において、インタフェースエージェント110、120は、例えば製造時に、クライアントデバイス102及びサーバ104にそれぞれプリインストールすることができる。少なくともいくつかの他の局面において、インタフェースエージェント110、120のうちの1つ又は両方は、製造後にダウンロードされうる。
少なくともいくつかの局面において、サーバ104で実行されるアクションを要求しているクライアントアプリケーションは、クライアントデバイス104の既存のアプリケーション112であることができる。少なくともいくつかの局面において、クライアントデバイス102及び/又はサーバ104は、要求を認証及び/又は許可するために、メッセージ転送の一部として、又はメッセージ転送以外、例えばユーザ入力によって、デバイスID118を他へ転送することを必要としうる。
図4は、別の局面に従う動作の高レベルメッセージシーケンス図を示す。最初に、クライアントデバイス102及びサーバ104は、インストールされたインタフェースエージェント110及びインタフェースエージェント120をそれぞれ備える。更に、図4の局面において、サーバ104は、サーバにインストールされた、クライアントデバイス102から要求されたアクションを実行することができる適切なサーバアプリケーション126、128を備える。
メッセージシーケンスは、図3に関して上述したように進行するが、クライアントデバイス102からのインストール要求200の受信(シーケンス302)後、サーバ104は、適切なサーバアプリケーション126、128がサーバにインストールされたかを判定し、(未だ実行していない場合)アプリケーションを実行し、アクノレッジメントメッセージをクライアントデバイスへ送信する(シーケンス308)。フローは、図3に関して上述したように続く。
図5は、局面に従うサーバ104の処理フロー部分400の高レベル処理フロー図を示す。処理フロー400は、サーバ104の待機状態402で開始する。インストール要求200の受信に応答して、フローは、インストール要求の少なくとも一部に対応するサーバアプリケーション126、128がサーバ104にインストールされたかを判定する(アプリケーション判定状態404)ように進む。
サーバアプリケーション126、128がインストールされている場合、サーバ104はアクノレッジメントメッセージを送信し、フローは待機状態402へ戻る。サーバアプリケーション126、128がインストールされていない場合、フローは、サーバアプリケーション128をデータ記憶装置106から取得しようと試みる(アプリケーション検索状態406)ように進む。アプリケーション検索状態406の間、サーバ104は、サーバアプリケーション128をデータ記憶装置106から取得しようと試みる。
サーバ104が、D/Lサーバアプリケーション128をデータ記憶装置106から取得することができた場合、フローは、D/Lサーバアプリケーションをサーバにインストールする(アプリケーションのインストール408)ように進む。サーバ104へのD/Lサーバアプリケーション128のインストール後、サーバ104は、アクノレッジメントメッセージをクライアントデバイス102へ送信し、フローは待機状態402へ戻る。少なくともいくつかの局面において、サーバ104がD/Lサーバアプリケーションの信頼性を確立することができた場合、すなわち特定のD/Lサーバアプリケーション128の署名機関を検査及び/又は確認することができた場合、サーバは、上述したように、アクノレッジメントメッセージをクライアントデバイス102へ送信する。
サーバ104がD/Lサーバアプリケーション128をデータ記憶装置106から取得できなかった場合、サーバ104は、ネガティブ・アクノレッジメント・メッセージをクライアントデバイス102へ送信し、フローは待機状態402へ戻る。ネガティブ・アクノレッジメント・メッセージは、サーバ104が、クライアントデバイス102からの要求に応答できないことを示す。少なくともいくつかの局面において、サーバ104が、D/Lサーバアプリケーション128の信頼性を確立できない場合、サーバは、上述したように、ネガティブ・アクノレッジメント・メッセージをクライアントデバイス102へ送信する。
クライアントデバイス102からのアクションに対する要求の受信に応答して、フローは、要求されたアクションを実行する、すなわち、サーバアプリケーション126、128が、要求されたアクションを実行する(アクション実行状態410)ように進む。要求されたアクションの実行後、サーバ104は、アクション結果をクライアントデバイス102へ送信し、フローは待機状態402へ戻る。少なくともいくつかの局面において、サーバ104は、アクション結果をクライアントデバイス102へ送信し、フローは、アクション実行状態410へ戻る(アクション結果の点線)。この局面によると、点線で示されたアクション結果遷移は、アクション結果をクライアントデバイス102へ提供するために、定期的に、又は予め定められたベースで1回又は複数回実行されうる。
パーソナル・コンピューティング・デバイスのうちのいくつかは、自身のローカル・コンピュータ・プラットフォームにインストールされ、例えばデバイス専用リソースの汎用化コールを提供することによってそのようなデバイスの動作を簡略化するために用いられる、しばしば実行時環境及びソフトウェアプラットフォームと称されるアプリケーション・プログラミング・インタフェース(API)を用いる。更に、いくつかのそのようなAPIは、そのようなデバイスで完全に実行可能であるソフトウェアアプリケーションを作成する能力をソフトウェア開発者に提供することでも知られている。加えて、そのようなAPIのうちのいくつかは、ソフトウェア開発者が特定のコンピューティング・デバイス・システム・ソース・コードを有する必要なく、機能をコンピュート処理するコンピューティングデバイスが、ソフトウェアアプリケーションに利用可能となるように、コンピューティング・デバイス・システム・ソフトウェアとソフトウェアアプリケーションとの間に動作的に位置づけられることでも知られている。更に、いくつかのAPIは、そのようなパーソナルデバイス(すなわちクライアント)と遠隔デバイス(すなわちサーバ)との間の、暗号情報を用いた安全通信のためのメカニズムを提供することでも知られている。
いくつかが以下で更に詳しく説明されるこのようなAPIの例は、カリフォルニア州サンディエゴのQualcomm社によって開発されたBinary Runtime Environment for Wireless(登録商標)(BREW(登録商標))のバージョンを含む。BREWはしばしば、コンピューティングデバイス(一般的には無線セルラー電話)のオペレーティングシステム上に存在する薄いベニヤとして説明される。これは、他の機能とともに、特にパーソナル・コンピューティング・デバイスに見られる、ハードウェア機能とのインタフェースを提供する。BREWは、そのようなデバイスリソースの需要に関して、またBREW APIを含むデバイスに消費者が支払う値段に関して、比較的低コストでそのようなパーソナル・コンピューティング・デバイスに提供されることができるという少なくとも1つの利点によって更に特徴付けられる。BREWに関して知られているその他の特徴は、無線サービスオペレータ、ソフトウェア開発者、及びコンピューティングデバイス消費者に様々な利益を提供するエンド・ツー・エンド・ソフトウェア分散プラットフォームを含む。少なくとも1つのそのような現在利用可能なエンド・ツー・エンド・ソフトウェア分散プラットフォームは、サーバが、例えば課金機能、セキュリティ機能、及びアプリケーション割当機能を実行し、クライアントが、例えばアプリケーション実行機能、セキュリティ機能、及びユーザインタフェース機能を実行するサーバクライアントアーキテクチャ全体に分散されたロジックを含む。
1つ又は複数の局面が、コンピューティングデバイスで実行する実行時環境又はアプリケーション・プログラミング・インタフェース(API)に関連して用いられる。1つのこのような実行時環境又はAPIは、上記のBinary Runtime Environment for Wireless(BREW)ソフトウェアである。しかし、説明される局面の1つ又は複数は、例えば無線クライアント・コンピューティング・デバイスでアプリケーションの実行を制御するように動作する他のタイプの実行時環境/APIによって用いることができる。
図6は、無線システム600の1つの典型的な局面のブロック図を示す。システム600は、無線通信ポータル、又は例えばネットワーク108のような無線ネットワーク604へのその他のデータアクセスを介して、ソフトウェアアプリケーション及びソフトウェア構成要素を無線デバイスへ選択的に送信する例えばデータ記憶装置106のような少なくとも1つのアプリケーション・ダウンロード・サーバ606と、無線ネットワーク604を介して通信中の例えばセルラー電話602のようなクライアント無線デバイスを含むことができる。ここに示すように、無線(クライアント)デバイスは、セルラー電話602、携帯情報端末608、ここでは双方向テキストページャとして示されるページャ610、又は無線通信ポータルを有する個別のコンピュータプラットフォーム612であることができる。例えば無線デバイス102は、データを送受信する通信デバイス又はトランシーバと、命令を実行し、無線デバイスの動作を制御するプロセッサと、実行可能命令、クライアントアプリケーション112、114、デバイスID 118、及びインタフェースエージェント110を格納するメモリとを含む。従ってこの局面は、例えば無線モデム、PCMCIA、カード、パーソナルコンピュータ、アクセス端末、電話、又はそれらの組み合わせやサブコンビネーションを限定せず含む通信デバイスのような無線通信ポータルを含む任意の形式のクライアントデバイスで実現することができる。
アプリケーション・ダウンロード・サーバ606は、ここでは、無線ネットワーク604と通信中である他のコンピュータ要素とともにネットワーク616に示される。ネットワーク616にはスタンド・アローン・サーバ622も存在することができ、各サーバは、無線ネットワーク604を介して、別々のサービス及び処理をクライアントデバイス602、608、610、612へ提供する。システム600は、サーバ622によってダウンロード可能である、例えばD/Lサーバアプリケーション128及びD/Lクライアントアプリケーション114のようなソフトウェアアプリケーションを保持する、例えばデータ記憶装置106のような少なくとも1つの格納済アプリケーションデータベース618も含むことができる(D/Lサーバアプリケーションは、サーバへダウンロード可能であることが点線によって示され、D/Lクライアントアプリケーションは、クライアントデバイスへダウンロード可能であることが点線によって示される)。しかし当業者は、図6に示す構成がただの典型例であることを理解するであろう。従って、他の局面も、各々が上述した機能全てを実行し、必要なハードウェア及びソフトウェア全てを含むことができるか、又は選択された機能のみを含むことができる1つ又は複数のサーバを含むことができる。
図7には、無線ネットワーク604の構成要素と、典型的な局面の要素間の相関関係とを含む、システム600をより完全に図示するブロック図が示される。システム600は典型例であり、例えば無線クライアント・コンピューティング・デバイス602、608、610、612のような遠隔クライアントデバイスが、無線ネットワークキャリア及び/又はサーバに限定されないがそれらを含む無線ネットワーク604を介して接続された構成要素間で、及び/又は、互いに無線で通信する任意のシステムを含むことができる。アプリケーション・ダウンロード・サーバ606及び格納済アプリケーションデータベース618は、例えばインターネット、セキュアLAN、WAN、又はその他のネットワークを介してキャリアネットワーク700と通信する。格納済アプリケーションデータベース618は、無線クライアント・コンピュータ・デバイス602、608、610、612の各々へダウンロードするための、上記局面に従うD/Lクライアントアプリケーション114を含む。無線クライアント・コンピュータ・デバイス602、608、610、612は、D/Lクライアントアプリケーション114のコピー(点線内)を格納済アプリケーションデータベース618からダウンロードする。図示された局面において、サーバ620は、アプリケーション・ダウンロード・サーバ606、分散型サーバ622、及び格納済アプリケーションデータベース618を含むことができる。しかし、これらのサーバは、独立型デバイスであることもできる。
また図7を参照すると、キャリアネットワーク700が、メッセージング・サービス・コントローラ(MSC)702へ送信された、(一般にデータパケットである)メッセージを制御する。キャリアネットワーク700は、例えば別のネットワーク、インターネット、及び/又はPOTS(plain ordinary telephone system)のような別の通信リンクを介してMSC702と通信する。一般に、キャリアネットワーク700とMSC702との間のネットワーク接続又はインターネット接続はデータを転送し、POTSは音声情報を転送する。MSC702は、例えば、データ転送のためのデータネットワーク及び/又はインターネットと、音声情報のためのPOTSとの両方を含む少なくとも1つの通信リンクによって、複数の基地局(BTS)704に接続することができる。BTS704は最終的に、例えばショート・メッセージング・サービス(SMS)等のような無線プロトコルによって、例えばセルラー電話602のような無線通信デバイスへ無線でメッセージをブロードキャストする。
図7の局面において、例えばセルラー電話602のような各無線デバイスは、ソフトウェアアプリケーションを受信及び実行し、コンピュータシステム620又はその他のネットワークサーバ622から送信されたデータを表示することができるコンピュータプラットフォーム706を含むことができる。コンピュータプラットフォーム706は、特定用途向け集積回路(ASIC)708、又はその他のチップセット、プロセッサ、マイクロプロセッサ、論理回路、あるいはその他のデータ処理デバイスを含むことができる。ASIC708は、セルラー電話602の製造時にインストールすることができる。ASIC708又はその他のプロセッサは、無線デバイスのメモリ712内の例えばD/Lクライアントアプリケーション114のような任意の常駐プログラムとのインタフェースとなるアプリケーション・プログラミング・インタフェース(API)層710を実行することができる。API710は、コンピューティングデバイス、あるいはこの場合セルラー電話602で実行する実行時環境である。1つのこのような実行時環境は、Binary Runtime Environment for Wireless(BREW)ソフトウェアであるが、例えば無線コンピューティングデバイスのアプリケーションの実行を制御するように動作する他の実行時環境も用いられうる。メモリ712は例えば、読取専用メモリ及びランダム・アクセス・メモリ(RAM及びROM)、EPROM、EEPROM、フラッシュカード、及びコンピュータプラットフォームに共通の任意のメモリのうちの少なくとも1つから成ることができる。コンピュータプラットフォーム706はまた、例えばD/Lクライアントアプリケーション114、ファイル、又はメモリ712内でアクティブに用いられないデータのようなソフトウェアアプリケーションを保持することができるローカルデータベース714を含むこともできる。ローカルデータベース714は、フラッシュメモリセル、磁気媒体、EPROM、EEPROM、光媒体、テープ、ソフトディスク、ハードディスク、及びその他任意のタイプの二次メモリ又は三次メモリのうちの少なくとも1つを含むことができる。従って、図7の局面において、各セルラー電話602は、例えばシステム600に従うコンピュータシステム620からのデータ及び/又はD/Lクライアントアプリケーション114のようなアプリケーションをロードされうる。
本明細書に開示された局面に関連して記載された、様々な例示的ロジック、論理ブロック、モジュール、及び回路は、汎用プロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールド・プログラマブル・ゲート・アレイ(FPGA)あるいはその他のプログラマブル論理デバイス、ディスクリートゲートあるいはトランジスタロジック、ディスクリートハードウェア部品、又は上述された機能を実現するために設計された上記何れかの組み合わせを用いて実現又は実行されうる。汎用プロセッサとしてマイクロプロセッサを用いることが可能であるが、代わりに、従来技術によるプロセッサ、コントローラ、マイクロコントローラ、あるいは状態機器を用いることも可能である。プロセッサは、例えばDSPとマイクロプロセッサとの組み合わせ、複数のマイクロプロセッサ、DSPコアに接続された1つ又は複数のマイクロプロセッサ、又はこのような任意の構成である計算デバイスの組み合わせとして実現することも可能である。
更に、本明細書に開示された局面に関連して記述された方法又はアルゴリズムのステップ及び/又はアクションは、ハードウェアによって直接的に、プロセッサによって実行されるソフトウェアモジュールによって、又は、これらの組み合わせによって具現化されうる。ソフトウェアモジュールは、RAMメモリ、フラッシュメモリ、ROMメモリ、EPROMメモリ、EEPROMメモリ、レジスタ、ハードディスク、CD−ROM、あるいは当該技術分野で知られているその他の形式の記憶媒体に収納されうる。典型的な記憶媒体は、プロセッサがそこから情報を読み取り、またそこに情報を書き込むことができるようにプロセッサに結合されうる。または、記憶媒体はプロセッサに統合されうる。更に、いくつかの局面において、このプロセッサと記憶媒体とはASIC内に存在することができる。更にASICは、ユーザ端末内に存在することができる。あるいはこのプロセッサと記憶媒体とは、ユーザ端末内のディスクリート部品として存在することができる。更に、いくつかの局面において、方法又はアルゴリズムのステップ及び/又はアクションは、機械読取可能媒体及び/又はコンピュータ読取可能媒体の命令のうちの1つあるいは命令の組み合わせ又はセットとして存在することができる。
上記開示は、例示的局面及び/又は実施形態を示すが、特許請求の範囲によって定義されるように、説明された局面及び/又は実施形態の範囲を逸脱することなく様々な変更及び修正がなされうることが留意されるべきである。更に、説明された局面の要素は、単数形で説明又は特許請求されうるが、単数形への限定が明確に記載されない限り、複数形も意図されている。更に、任意の局面及び/又は実施形態の全て又は一部は、他のように記載されない限り、任意の他の局面及び/または実施形態の全て又は一部とともに用いることができる。

Claims (20)

  1. クライアント無線デバイスに応答して必要なアプリケーションを自動的にインストールするサーバであって、
    識別子を備える第1の信号をクライアント無線デバイスから受信するように構成されたインタフェースエージェントと、
    前記識別子に対応する実行可能アプリケーションを取得するように構成された検索アプリケーションと、
    前記検索アプリケーションの前記実行可能アプリケーションの取得に応答して、前記実行可能アプリケーションをインストールするように構成されたインストーラアプリケーションとを備え、
    前記インタフェースエージェントは、前記インストールされた実行可能アプリケーションを実行するように構成されるサーバ。
  2. 前記識別子は、前記実行可能アプリケーションのネットワークアドレスを備える請求項1に記載のサーバ。
  3. 前記識別子は、前記クライアント無線デバイスの対応する実行可能アプリケーションの識別子を備える請求項1に記載のサーバ。
  4. 各々がアプリケーション識別子を備える1つ又は複数の実行可能アプリケーションを備えるデータ記憶装置を更に備える請求項1に記載のサーバ。
  5. 1つ又は複数のアプリケーション識別子は、前記識別子に対応する請求項1に記載のサーバ。
  6. 前記検索アプリケーションは更に、取得した実行可能アプリケーションを認証するように構成される請求項1に記載のサーバ。
  7. サーバで必要なアプリケーションのインストールを要求するクライアント無線デバイスであって、
    アプリケーション識別子を備える実行可能アプリケーションと、
    前記アプリケーション識別子に対応する識別子を備えるインストール要求を前記サーバへ送信するように構成されたインタフェースエージェントと
    を備えるクライアント無線デバイス。
  8. 前記実行可能アプリケーションは、予めインストールされたアプリケーションとダウンロードされたアプリケーションのうちの少なくとも1つを備える請求項7に記載のクライアント無線デバイス。
  9. デバイス識別子を更に備える請求項7に記載のクライアント無線デバイス。
  10. 前記インストール要求は更に、前記デバイス識別子を備える請求項9に記載のクライアント無線デバイス。
  11. 前記識別子は、別のアプリケーション識別子を備える請求項7に記載のクライアント無線デバイス。
  12. クライアントデバイスに応答して必要なアプリケーションを自動的にインストールする方法であって、
    識別子を備えるインストール要求をクライアントデバイスから受信することと、
    前記識別子の少なくとも一部に基づいて判定されたアプリケーションをインストールすることと、
    前記識別子の受信に応答して前記アプリケーションを実行することと、
    前記アプリケーションに対するアクション要求の受信に応答して結果を生成することと、
    前記生成した結果を前記クライアントデバイスへ送信することと
    を備えた方法。
  13. 前記インストールすることは、前記アプリケーションの実行前に前記アプリケーションを認証することを備える請求項12に記載の方法。
  14. 必要なアプリケーションのインストールをサーバに要求し、前記アプリケーションとインタラクトする方法であって、
    アプリケーション識別子に対応する識別子を備えるインストール要求を前記サーバへ送信することと、
    前記インストール要求に応答するアクノレッジメントメッセージの受信に応答して、アクション要求を前記サーバへ送信することと、
    前記アクション要求に応答する前記サーバからの結果を受信することと
    を備えた方法。
  15. 識別子を備えるインストール要求をクライアントデバイスから受信することと、
    前記識別子の少なくとも一部に基づいて判定されたアプリケーションをインストールすることと、
    前記識別子の受信に応答してアプリケーションを実行することと、
    前記アプリケーションに対するアクション要求の受信に応答して結果を生成することと、
    前記生成した結果を前記クライアントデバイスへ送信することと
    の各アクションを実行するように構成された少なくとも1つのプロセッサ。
  16. アプリケーション識別子に対応する識別子を備えるインストール要求をサーバへ送信することと、
    前記インストール要求に応答するアクノレッジメントメッセージの受信に応答して、アクション要求をサーバへ送信することと、
    前記アクション要求に応答する前記サーバからの結果を受信することと
    のアクションを実行するように構成された少なくとも1つのプロセッサ。
  17. 識別子を備えるインストール要求をクライアントデバイスから受信する第1の命令のセットと、
    前記識別子の少なくとも一部に基づいて判定されたアプリケーションをインストールする第2の命令のセットと、
    前記識別子の受信に応答してアプリケーションを実行する第3の命令のセットと、
    前記アプリケーションに対するアクション要求の受信に応答して結果を生成する第4の命令のセットと、
    前記生成した結果を前記クライアントデバイスへ送信する第5の命令のセットと
    を備える命令群を格納して備えた機械読取可能媒体。
  18. アプリケーション識別子に対応する識別子を備えるインストール要求をサーバへ送信する第1の命令のセットと、
    前記インストール要求に応答するアクノレッジメントメッセージの受信に応答して、アクション要求を前記サーバへ送信する第2の命令のセットと、
    前記アクション要求に応答する前記サーバからの結果を受信する第3の命令のセットと
    を備えた命令群を格納して備えた機械読取可能媒体。
  19. クライアントデバイスに応答して必要なアプリケーションを自動的にインストールするサーバデバイスであって、
    識別子を備えるインストール要求をクライアントデバイスから受信する手段と、
    前記識別子の少なくとも一部に基づいて判定されたアプリケーションをインストールする手段と、
    前記識別子の受信に応答してアプリケーションを実行する手段と、
    前記アプリケーションに対するアクション要求の受信に応答して結果を生成する手段と、
    前記生成した結果を前記クライアントデバイスへ送信する手段と
    を備えたサーバデバイス。
  20. 必要なアプリケーションのインストールをサーバに要求し、前記アプリケーションとインタラクトするクライアントデバイスであって、
    アプリケーション識別子に対応する識別子を備えるインストール要求をサーバへ送信する手段と、
    前記インストール要求に応答するアクノレッジメントメッセージの受信に応答して、アクション要求を前記サーバへ送信する手段と、
    前記アクション要求に応答する前記サーバからの結果を受信する手段と
    を備えたクライアントデバイス。
JP2009541483A 2006-12-12 2007-12-05 クライアント駆動サーバ側インストールのための装置及び方法 Expired - Fee Related JP5237298B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/609,462 2006-12-12
US11/609,462 US8645948B2 (en) 2006-12-12 2006-12-12 Apparatus and methods for client-driven server-side installation
PCT/US2007/086545 WO2008073787A1 (en) 2006-12-12 2007-12-05 Apparatus and methods for client-driven server-side installation

Publications (2)

Publication Number Publication Date
JP2010512603A true JP2010512603A (ja) 2010-04-22
JP5237298B2 JP5237298B2 (ja) 2013-07-17

Family

ID=39203522

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009541483A Expired - Fee Related JP5237298B2 (ja) 2006-12-12 2007-12-05 クライアント駆動サーバ側インストールのための装置及び方法

Country Status (6)

Country Link
US (1) US8645948B2 (ja)
EP (1) EP2102745A1 (ja)
JP (1) JP5237298B2 (ja)
KR (1) KR101089353B1 (ja)
CN (1) CN101558381A (ja)
WO (1) WO2008073787A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012079061A (ja) * 2010-09-30 2012-04-19 Toshiba Corp 通信装置、および管理方法
JP2020119409A (ja) * 2019-01-28 2020-08-06 キヤノンマーケティングジャパン株式会社 プログラム、情報処理装置及び処理方法

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007064822A2 (en) 2005-12-01 2007-06-07 Ruckus Wireless, Inc. On-demand services by wireless base station virtualization
US9769655B2 (en) 2006-04-24 2017-09-19 Ruckus Wireless, Inc. Sharing security keys with headless devices
US7788703B2 (en) 2006-04-24 2010-08-31 Ruckus Wireless, Inc. Dynamic authentication in secured wireless networks
US9071583B2 (en) * 2006-04-24 2015-06-30 Ruckus Wireless, Inc. Provisioned configuration for automatic wireless connection
US8335501B1 (en) * 2007-11-21 2012-12-18 At&T Mobility Ii Llc Controlling functions of mobile communications devices
US20090158273A1 (en) * 2007-12-18 2009-06-18 Thanabalan Thavittupitchai Paul Systems and methods to distribute software for client receivers of a content distribution system
US20090288079A1 (en) * 2008-05-13 2009-11-19 Google Inc. Automatic installation of a software product on a device
EP2340485A1 (de) 2008-09-25 2011-07-06 Siemens Enterprise Communications GmbH & Co. KG Verfahren zur konfiguration einer applikation
WO2010050923A1 (en) * 2008-10-27 2010-05-06 Hewlett-Packard Development Company, L.P. Imaging process
US8346847B2 (en) * 2009-06-03 2013-01-01 Apple Inc. Installing applications based on a seed application from a separate device
US20110126192A1 (en) * 2009-10-26 2011-05-26 Simon Frost Systems and methods for providing and updating a unified client
US8621457B2 (en) * 2009-11-12 2013-12-31 Nintendo Co., Ltd. System and method for installing software applications
US8881134B2 (en) * 2010-04-29 2014-11-04 International Business Machines Corporation Updating elements in data storage facility using predefined state machine over extended time period
SG187534A1 (en) * 2010-08-29 2013-03-28 Vascode Technologies Ltd A system and methods for multi-tasking in a clientless mobile phone
US9106980B2 (en) * 2011-01-13 2015-08-11 Imergy Power Systems, Inc. Communications system
EP2575383A4 (en) * 2011-04-26 2013-06-26 Huawei Device Co Ltd METHOD AND SERVER FOR SERVICE PROCESSING
US8856506B2 (en) 2011-04-27 2014-10-07 Hewlett-Packard Development Company, L.P. Process for joining a computer to a directory based on either a newly created computer account or renewed computer account depending on a unique identifier associated with an end-user
US9792188B2 (en) 2011-05-01 2017-10-17 Ruckus Wireless, Inc. Remote cable access point reset
US10089093B1 (en) 2011-05-24 2018-10-02 BlueStack Systems, Inc. Apparatuses, systems and methods of switching operating systems
US8924958B1 (en) * 2011-05-24 2014-12-30 BlueStack Systems, Inc. Application player
US9544353B2 (en) * 2011-06-16 2017-01-10 Microsoft Technology Licensing, Llc Dynamic activation of web applications
US9171314B2 (en) * 2011-06-16 2015-10-27 Microsoft Technology Licensing, Llc Cloud based management of an in-store device experience
WO2013023440A1 (zh) * 2011-08-15 2013-02-21 联想(北京)有限公司 一种应用管理方法及设备
US8756668B2 (en) 2012-02-09 2014-06-17 Ruckus Wireless, Inc. Dynamic PSK for hotspots
US9672574B2 (en) * 2012-03-20 2017-06-06 Facebook, Inc. Bypass login for applications on mobile devices
US9092610B2 (en) 2012-04-04 2015-07-28 Ruckus Wireless, Inc. Key assignment for a brand
US9661054B2 (en) * 2013-12-04 2017-05-23 PowWow, Inc. Systems and methods to configure applications
US9953299B2 (en) 2013-12-04 2018-04-24 PowWow, Inc. Systems and methods for sharing image data
WO2015167592A1 (en) * 2014-04-30 2015-11-05 Hewlett-Packard Development Company, L.P. Using a single deployer agent to deploy a plurality of programs on a server
US9747097B2 (en) * 2014-09-30 2017-08-29 Qardio, Inc. Devices, systems and methods for segmented device behavior
CN104537283A (zh) * 2014-12-17 2015-04-22 安徽清新互联信息科技有限公司 一种基于网络的软件授权控制装置
WO2017071924A1 (en) * 2015-10-30 2017-05-04 British Telecommunications Public Limited Company Mobile information processing
US11109339B2 (en) * 2019-02-21 2021-08-31 At&T Intellectual Property I, L.P. Pre-provisioned access management containers for wireless services

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000172657A (ja) * 1998-12-08 2000-06-23 Fujitsu Ltd 分散処理システム、分散処理方法、その方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体、サーバ装置およびクライアント装置
JP2001337816A (ja) * 2000-05-26 2001-12-07 Nec Corp アプリケーション実行システム、アプリケーション実行方法、および記録媒体
JP2002140532A (ja) * 2000-10-31 2002-05-17 Toshiba Eng Co Ltd ソフトウェア販売システム、ソフトウェア販売方法、ソフトウェア販売を行うためのプログラムを記憶した記録媒体
JP2004213612A (ja) * 2003-01-02 2004-07-29 Samsung Electronics Co Ltd アプリケーション管理システム及び方法
JP2004264957A (ja) * 2003-02-28 2004-09-24 Hitachi Ltd 異なる計算機環境におけるジョブ実行方法及びそのプログラム

Family Cites Families (56)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0887460A (ja) * 1994-09-19 1996-04-02 Seiko Epson Corp インストールシステム
US6282712B1 (en) * 1995-03-10 2001-08-28 Microsoft Corporation Automatic software installation on heterogeneous networked computer systems
US6049671A (en) * 1996-04-18 2000-04-11 Microsoft Corporation Method for identifying and obtaining computer software from a network computer
US5931909A (en) * 1996-04-19 1999-08-03 Sun Microsystems, Inc. System for multiple-client software installation and upgrade
US5950010A (en) * 1996-11-25 1999-09-07 J.D. Edwards World Source Co. System and method for customized application package building and installation
US6125384A (en) 1996-12-23 2000-09-26 International Business Machines Corporation Computer apparatus and method for communicating between software applications and computers on the world-wide web
US5953532A (en) * 1997-01-03 1999-09-14 Ncr Corporation Installation and deinstallation of application programs
EP1411429A3 (en) 1998-12-29 2007-12-26 Citrix Systems, Inc. An apparatus and method for determining a program neighbourhood for a client node in a client-server network
US6427227B1 (en) * 1999-03-03 2002-07-30 Microsoft Corporation System, method, and computer-readable medium for repairing an application program that has been patched
US7062765B1 (en) * 1999-05-25 2006-06-13 Realnetworks, Inc. System and method for updating information via a network
US6223345B1 (en) * 1999-08-30 2001-04-24 J.D. Edwards World Source Company System and method for building client and server application packages
US6578199B1 (en) * 1999-11-12 2003-06-10 Fujitsu Limited Automatic tracking system and method for distributable software
US6751794B1 (en) * 2000-05-25 2004-06-15 Everdream Corporation Intelligent patch checker
JP2002027027A (ja) * 2000-07-10 2002-01-25 Toshiba Corp 計算機システム、計算機管理システム及びシステム管理方法
US6865737B1 (en) * 2000-08-23 2005-03-08 Microsoft Corporation Remote software installation and maintenance
US6725453B1 (en) * 2000-08-23 2004-04-20 Microsoft Corporation Remote software installation and maintenance
JP2002236590A (ja) * 2000-12-08 2002-08-23 Seiko Epson Corp ソフトウェアのインストール方法
US7143406B2 (en) * 2001-01-23 2006-11-28 Wildtangent, Inc. Asynchronous software update
WO2002078385A1 (fr) * 2001-03-23 2002-10-03 Tatsuya Fujii Systeme de mise a jour des parametres d'un appareil
US6925481B2 (en) 2001-05-03 2005-08-02 Symantec Corp. Technique for enabling remote data access and manipulation from a pervasive device
US20060020688A1 (en) * 2001-05-14 2006-01-26 At&T Corp. System having generalized client-server computing
US7055149B2 (en) * 2001-07-25 2006-05-30 Lenovo (Singapore) Pte Ltd. Method and apparatus for automating software upgrades
EP1284550A1 (en) 2001-08-13 2003-02-19 Red-M (Communications) Limited Automatic information transfer
WO2003029971A1 (en) * 2001-10-04 2003-04-10 Accretive Technology Group, Inc. Incentive system for distributing software over a computer network
JP2003173246A (ja) * 2001-12-05 2003-06-20 Ricoh Co Ltd デバイス情報収集方法、プログラム、サーバ装置及び記憶媒体
KR20020029029A (ko) 2002-03-25 2002-04-17 서진석 온라인 상에서 웹응용프로그램을 제공하는 시스템 및 방법
US7412495B2 (en) * 2002-04-26 2008-08-12 Sun Microsystems, Inc. Method, system, and article of manufacture for a server side application
US7203940B2 (en) * 2002-04-29 2007-04-10 Hewlett-Packard Development Company, Lp. Automated installation of an application
US7089552B2 (en) * 2002-08-29 2006-08-08 Sun Microsystems, Inc. System and method for verifying installed software
US20040088700A1 (en) * 2002-10-31 2004-05-06 Chung-I Lee System and method for automatically installing software on client computers via a network
JP2004171107A (ja) * 2002-11-18 2004-06-17 Sony Corp ソフトウエア提供システム、ソフトウエア提供装置および方法、記録媒体、並びにプログラム
US7815100B2 (en) * 2004-04-30 2010-10-19 Research In Motion Limited System and method of owner application control of electronic devices
US7287068B1 (en) * 2002-12-13 2007-10-23 Bmc Software, Inc. System and method for updating devices that execute an operating system or application program directly from nonvolatile storage
US7703091B1 (en) * 2002-12-31 2010-04-20 Emc Corporation Methods and apparatus for installing agents in a managed network
US7587715B1 (en) * 2002-12-31 2009-09-08 Emc Corporation System and method for selective installation of one or more components for a data storage management system
US7584467B2 (en) * 2003-03-17 2009-09-01 Microsoft Corporation Software updating system and method
WO2004084068A1 (en) * 2003-03-19 2004-09-30 British Telecommunications Public Limited Company Flexible multi-agent system architecture
US7249354B2 (en) * 2003-10-14 2007-07-24 Microsoft Corporation System and method for deploying a software build from a plurality of software builds to a target computer
US7409463B2 (en) * 2003-12-04 2008-08-05 International Business Machines Corporation On-demand active role-based software provisioning
US7546594B2 (en) * 2003-12-15 2009-06-09 Microsoft Corporation System and method for updating installation components using an installation component delta patch in a networked environment
US7480699B2 (en) * 2004-01-20 2009-01-20 International Business Machines Corporation System and method for replacing an application on a server
JP2006079415A (ja) * 2004-09-10 2006-03-23 Konica Minolta Business Technologies Inc プログラム更新システムおよびプログラム更新方法
US7810089B2 (en) * 2004-12-30 2010-10-05 Citrix Systems, Inc. Systems and methods for automatic installation and execution of a client-side acceleration program
US7793284B2 (en) * 2005-03-25 2010-09-07 Microsoft Corporation Role based server installation and configuration
US7661108B2 (en) * 2005-08-12 2010-02-09 Bea Systems, Inc. Messaging component configuration and deployment in an archived form
US20070106984A1 (en) * 2005-11-09 2007-05-10 Microsoft Corporation Application suite installer with automatic detection of content and configurable options
KR100755697B1 (ko) * 2005-11-09 2007-09-05 삼성전자주식회사 소프트웨어 설치 방법, 장치, 및 시스템
US20070234345A1 (en) * 2006-02-22 2007-10-04 Microsoft Corporation Integrated multi-server installation
US7853945B2 (en) * 2006-02-22 2010-12-14 Michael Kramer Integrated computer server imaging
US20070240150A1 (en) * 2006-03-08 2007-10-11 Oracle International Corporation Simplifying installation of a suite of software products
US7971202B2 (en) * 2006-03-14 2011-06-28 International Business Machines Corporation Method for advanced management of software distribution tasks
JP4842690B2 (ja) * 2006-04-14 2011-12-21 富士通株式会社 アプリケーション管理プログラム、アプリケーション管理方法およびアプリケーション管理装置
WO2007124095A2 (en) * 2006-04-21 2007-11-01 Us Biometrics Corporation System and method for remote management and facilitating installation and registration of software
US20090254900A1 (en) * 2006-07-13 2009-10-08 Seiko Epson Corporation Network system, computers, and method and program for providing and executing applications in network system
US7770165B2 (en) * 2006-08-25 2010-08-03 Microsoft Corporation Providing firmware updates to portable media devices
US8166472B2 (en) * 2006-10-12 2012-04-24 Apple Inc. Installation utility system and method

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000172657A (ja) * 1998-12-08 2000-06-23 Fujitsu Ltd 分散処理システム、分散処理方法、その方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体、サーバ装置およびクライアント装置
JP2001337816A (ja) * 2000-05-26 2001-12-07 Nec Corp アプリケーション実行システム、アプリケーション実行方法、および記録媒体
JP2002140532A (ja) * 2000-10-31 2002-05-17 Toshiba Eng Co Ltd ソフトウェア販売システム、ソフトウェア販売方法、ソフトウェア販売を行うためのプログラムを記憶した記録媒体
JP2004213612A (ja) * 2003-01-02 2004-07-29 Samsung Electronics Co Ltd アプリケーション管理システム及び方法
JP2004264957A (ja) * 2003-02-28 2004-09-24 Hitachi Ltd 異なる計算機環境におけるジョブ実行方法及びそのプログラム

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
CSND200100673031; 高橋秀和 外1名: 'ターミナル・サービスの活用法 PartI 概要と仕組み' Windows2000徹底活用術 , 20000101, p.133-137, 日経BP社 *
JPN6013007659; 高橋秀和 外1名: 'ターミナル・サービスの活用法' Windows2000徹底活用術 初版, 20000101, p.133-137, 日経BP社 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012079061A (ja) * 2010-09-30 2012-04-19 Toshiba Corp 通信装置、および管理方法
JP2020119409A (ja) * 2019-01-28 2020-08-06 キヤノンマーケティングジャパン株式会社 プログラム、情報処理装置及び処理方法
JP7227468B2 (ja) 2019-01-28 2023-02-22 キヤノンマーケティングジャパン株式会社 プログラム、情報処理システムとその制御方法装置及びプログラム処理方法

Also Published As

Publication number Publication date
KR20090101230A (ko) 2009-09-24
US20080141244A1 (en) 2008-06-12
EP2102745A1 (en) 2009-09-23
US8645948B2 (en) 2014-02-04
WO2008073787A1 (en) 2008-06-19
JP5237298B2 (ja) 2013-07-17
KR101089353B1 (ko) 2011-12-02
CN101558381A (zh) 2009-10-14

Similar Documents

Publication Publication Date Title
JP5237298B2 (ja) クライアント駆動サーバ側インストールのための装置及び方法
US11424943B2 (en) System and method for interapplication communications
KR100944065B1 (ko) 다중 크리덴셜 인증 프로토콜을 제공하는 시스템 및 방법
KR100929282B1 (ko) 무선 장치의 콘텐츠 전송 제어
RU2439856C2 (ru) Серверная обработка интерактивных экранов для беспроводного устройства
US10555147B2 (en) Systems and methods for facilitating service provision between applications
US20060085517A1 (en) Download user agent plug-in for facilitating over-the-air downloading of media objects
KR101735102B1 (ko) 이동통신 시스템에서 응용 서비스를 제공하는 방법 및 장치
JP2007510235A (ja) アプリケーション信任状を供給するための方法および装置
JP2007528064A (ja) 無線装置オペレーティング環境における未検証プログラムの実行
US20220330021A1 (en) Network Profile Anti-spoofing On Wireless Gateways
US20040229598A1 (en) Method for managing transfer of a content
EP2533150B1 (en) Methods and devices for controlling access to computing resources
JP4991952B2 (ja) 無線デバイスのためピアツービアデータネットワーキングを提供する方法及び装置
TWI425786B (zh) 一種網路系統及使用其提供網路服務的方法

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120111

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120117

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120411

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121106

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130129

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130226

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130328

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 5237298

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20160405

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees