(57)【要約】  一部の実施形態では、非一時的なプロセッサ可読媒体が、クライアントアプリケーションについての要求を通信装置から受け取ること、及びその要求に応答し、クライアントアプリケーションに関連するアプリケーショントークンを含めるように、クライアントアプリケーションに関連するインストールファイルデータをプロビジョニングすることを、（例えばエンタープライズサーバ上の）プロセッサに行わせるコードを含む。このコードは、アプリケーショントークンを含むインストールファイルを通信装置に送ることをプロセッサに行わせるためのものであり、それにより通信装置は、インストールファイルを使用し、インストールファイルから抽出されるアプリケーショントークンを用いてアプリケーションモジュールに対して認証を行うクライアントアプリケーションをインストールする。
2015528168.tif 000002
【特許請求の範囲】
【請求項１】
プロセッサによって実行される命令を表すコードを記憶する非一時的なプロセッサ可読媒体であって、
前記コードは、
クライアントアプリケーションについての要求を通信装置から受け取ること、
前記クライアントアプリケーションに関連するアプリケーショントークンを含めるように、前記クライアントアプリケーションに関連するインストールファイルをプロビジョニングすること、及び
前記インストールファイルを前記通信装置に送ることであって、それにより前記通信装置は、前記インストールファイルを使用し、前記インストールファイルから抽出される前記アプリケーショントークンを用いてアプリケーションモジュールに対して認証を行う前記クライアントアプリケーションをインストールする、送ること
を前記プロセッサに行わせるコードを含む、非一時的なプロセッサ可読媒体。
【請求項２】
前記インストールファイルが、前記クライアントアプリケーションに関連するネイティブアプリケーションのバイナリインストールファイルである、請求項１に記載の非一時的なプロセッサ可読媒体。
【請求項３】
前記通信装置の利用者に関連するログイン要求を前記通信装置から受け取ること、及び
前記ログイン要求に基づいて前記通信装置を認証すること
を前記プロセッサに行わせるコードを更に含み、
前記アプリケーショントークンについての前記要求が、前記クライアントアプリケーション及び前記通信装置に関連する、
請求項１に記載の非一時的なプロセッサ可読媒体。
【請求項４】
前記アプリケーションモジュールがサービス型ソフトウェア（ＳａａＳ）ホスト内にある、請求項１に記載の非一時的なプロセッサ可読媒体。
【請求項５】
前記アプリケーションモジュールがエンタープライズホスト内にある、請求項１に記載の非一時的なプロセッサ可読媒体。
【請求項６】
前記アプリケーショントークンが、ＯＡｕｔｈアクセストークン又はＯＡｕｔｈリフレッシュトークンの少なくとも一方である、請求項１に記載の非一時的なプロセッサ可読媒体。
【請求項７】
ユーザトークン及び１組のクライアントアプリケーション識別情報についての要求を前記通信装置から受け取ること、
前記ユーザトークンに基づき、前記１組のクライアントアプリケーション識別情報を定めること、及び
前記１組のクライアントアプリケーション識別情報を前記通信装置に送ることであって、前記クライアントアプリケーションに関連する識別情報は前記１組のクライアントアプリケーション識別情報内にある、送ること
を前記プロセッサに行わせるコードを更に含む、請求項１に記載の非一時的なプロセッサ可読媒体。
【請求項８】
前記クライアントアプリケーションについての前記要求が、前記通信装置の利用者に関連するユーザトークンを含み、
前記コードが、
前記ユーザトークンに基づき、及び前記インストールファイルを前記プロビジョニングすることと、前記インストールファイルを前記送ることの前に、前記通信装置の前記利用者が前記クライアントアプリケーションを受け取る権限を与えられているかどうかを判定すること
を前記プロセッサに行わせるコードを更に含む、請求項１に記載の非一時的なプロセッサ可読媒体。
【請求項９】
前記クライアントアプリケーションについての前記要求を受け取ることに応答し、前記クライアントアプリケーションに関連する前記アプリケーショントークンについての要求をトークンモジュールに送ること、及び
前記アプリケーショントークンについての前記要求に応答し、前記アプリケーショントークンを受け取ること
を前記プロセッサに行わせるコードを更に含む、請求項１に記載の非一時的なプロセッサ可読媒体。
【請求項１０】
（１）通信装置の利用者の認証情報及び（２）クライアントアプリケーションに関連するトークンについての要求をトークンモジュールに送るように構成され、前記トークンについての前記要求に応答して前記トークンモジュールから前記トークンを受け取るように構成されるアプリケーション配布モジュールを含む機器であって、
前記アプリケーション配布モジュールは、前記アプリケーショントークンを含めるように前記クライアントアプリケーションに関連するインストールファイルをプロビジョニングするように構成され、前記インストールファイルを前記通信装置に送るように構成され、それにより前記通信装置は、前記インストールファイルを使用し、前記インストールファイルから抽出される前記アプリケーショントークンを用いてアプリケーションモジュールに対して認証を行う前記クライアントアプリケーションをインストールする、
機器。
【請求項１１】
前記アプリケーション配布モジュールが、（１）前記クライアントアプリケーションについての要求、及び（２）前記通信装置の前記利用者に関連する前記認証情報を前記通信装置から受け取るように構成され、前記クライアントアプリケーションについての前記要求に応答して前記トークンについての前記要求を送るように構成される、請求項１０に記載の機器。
【請求項１２】
前記アプリケーショントークンが、ＯＡｕｔｈアクセストークン又はＯＡｕｔｈリフレッシュトークンの少なくとも一方である、請求項１０に記載の機器。
【請求項１３】
前記インストールファイルが、前記クライアントアプリケーションに関連するネイティブアプリケーションのバイナリインストールファイルである、請求項１０に記載の機器。
【請求項１４】
前記アプリケーション配布モジュールが、最初の時点で前記通信装置から前記認証情報を受け取るように構成され、前記最初の時点よりも後の第２の時点において前記通信装置から前記クライアントアプリケーションについての要求を受け取るように構成される、請求項１０に記載の機器。
【請求項１５】
前記アプリケーション配布モジュールが、前記通信装置から前記認証情報を受け取るように構成され、前記認証情報に基づいて前記通信装置の前記利用者の役割を決めるように構成され、前記役割に関連する１組のクライアントアプリケーション識別情報を前記通信装置に送るように構成され、前記１組のクライアントアプリケーション識別情報は、前記クライアントアプリケーションに関連する識別情報を含む、請求項１０に記載の機器。
【請求項１６】
プロセッサによって実行される命令を表すコードを記憶する非一時的なプロセッサ可読媒体であって、
前記コードは、
クライアントアプリケーションについての要求をアプリケーション配布モジュールに送ること、
前記アプリケーション配布モジュールから、及び前記クライアントアプリケーションについての前記要求に応答し、前記クライアントアプリケーションに関連し且つ前記クライアントアプリケーションに関連するアプリケーショントークンを含むインストールファイルを受け取ること、
前記インストールファイルを使用し、前記クライアントアプリケーションを通信装置においてインストールすること、及び
前記インストールファイルから前記アプリケーショントークンを抽出することであって、それにより前記クライアントアプリケーションが、前記通信装置から離れたアプリケーションモジュールにおいて前記アプリケーショントークンを使用して認証されるように構成される、抽出すること
を前記プロセッサに行わせるコードを含む、非一時的なプロセッサ可読媒体。
【請求項１７】
前記インストールファイルが、前記クライアントアプリケーションに関連するネイティブアプリケーションのバイナリインストールファイルである、請求項１６に記載の非一時的なプロセッサ可読媒体。
【請求項１８】
利用者に関連するログイン要求を前記アプリケーション配布モジュールに送ることであって、それにより前記アプリケーション配布モジュールは、前記ログイン要求に基づいて前記利用者を認証し、前記アプリケーション配布モジュールが前記利用者を認証することに基づいて前記アプリケーショントークンが前記利用者に関連付けられる、送ること
を前記プロセッサに行わせるコードを更に含む、請求項１６に記載の非一時的なプロセッサ可読媒体。
【請求項１９】
前記アプリケーショントークンが、ＯＡｕｔｈアクセストークン又はＯＡｕｔｈリフレッシュトークンの少なくとも一方である、請求項１６に記載の非一時的なプロセッサ可読媒体。
【請求項２０】
前記アプリケーションモジュールがサービス型ソフトウェア（ＳａａＳ）ホストにある、請求項１６に記載の非一時的なプロセッサ可読媒体。
【請求項２１】
前記アプリケーションモジュールがエンタープライズホストにある、請求項１６に記載の非一時的なプロセッサ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本願は、参照によりその全体を本明細書に援用する、２０１２年７月９日に出願され、「モバイルアプリケーションに対して認証トークンを事前にプロビジョニングするための方法及び機器（Methods And Apparatus For Preprovisioning Authentication Tokens To Mobile Applications）」と題された米国特許出願第１３／５４４，５５３号の優先権を主張し、その継続である。
【０００２】
本願は、参照によりその全体を本明細書に援用する、２０１２年７月９日に出願され、「委譲された認証トークンの取得のための方法及び機器｛Methods And Apparatus For Delegated Authentication Token Retrieval」と題された米国特許出願第１３／５４４，５６５号に関する。
【背景技術】
【０００３】
背景
本明細書に記載する一部の実施形態は一般に、アプリケーション配布モジュールを使用して、クライアントアプリケーションに関連するインストールファイル内にアプリケーショントークンをプロビジョニングする（provision）ことに関する。これにより、他の装置への更なる承認要求を必要とすることなしに、クライアントアプリケーションを通信装置上にダウンロードし、インストールすることが可能になる。本明細書に記載する一部の実施形態は、アプリケーショントークンを要求し、各クライアントアプリケーションに関連するインストールファイル内にアプリケーショントークンをプロビジョニングする（provisioning）ために使用される方法及び機器にも関する。
【０００４】
ＯＡｕｔｈ（Open Authorization）は、承認のためのオープンスタンダードプロトコルであり、利用者（企業の従業員等）が自分のアカウント認証情報（例えばパスワード）を共有することなしに、所与の位置（例えば所与のウェブサイト上）に記憶されているその利用者に関連する情報、又はその利用者のデータの全範囲へのアクセス権をサードパーティアプリケーションに付与することを可能にする。一部の知られているシステムはＯＡｕｔｈトークンを使用し、様々な装置（例えばラップトップコンピュータ、携帯情報端末（ＰＤＡ:personal digital assistant）、標準的な携帯電話、タブレットパーソナルコンピュータ（ＰＣ）等）の利用者のためにアプリケーションを認証する。しかし、知られているそのようなシステムでは、各アプリケーションが適切なＯＡｕｔｈ承認サーバにトークンを別々に要求する。このような要求は、利用可能な帯域幅及びプロセッサ時間を著しく使用することを概して伴い、一般に利用者の使い勝手を損なう原因になる。加えて、アプリケーションにアプリケーショントークンを発行することに、従業員が働く企業が直接関与することはなく、従って利用者のアプリケーションへのアクセスに対する所望のポリシ管理水準から外れる。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
従って、各アプリケーションが適切なＯＡｕｔｈ承認サーバにトークンを別々に要求する必要なしに、通信装置上にインストールされた複数のアプリケーションを認証するための方法及び機器の需要がある。加えて、又は或いは、利用者のアプリケーションへのアクセスを管理する際の企業の関与を高めるための方法及び機器の需要がある。
【課題を解決するための手段】
【０００６】
概要
一部の実施形態では、非一時的なプロセッサ可読媒体が、クライアントアプリケーションについての要求を通信装置から受け取ること、及びその要求に応答し、クライアントアプリケーションに関連するアプリケーショントークンを含めるように、クライアントアプリケーションに関連するインストールファイルデータをプロビジョニングすることを、（例えばエンタープライズサーバ上の）プロセッサに行わせるコードを含む。このコードは、アプリケーショントークンを含むインストールファイルを通信装置に送ることをプロセッサに行わせるためのものであり、それにより通信装置は、インストールファイルを使用し、インストールファイルから抽出されるアプリケーショントークンを用いてアプリケーションモジュールに対して認証を行うクライアントアプリケーションをインストールする。
【図面の簡単な説明】
【０００７】
図面の簡単な説明
【図１】一実施形態による、クライアントアプリケーションのインストールファイル内にアプリケーショントークンをプロビジョニングするためのシステムの概略図であり、ネットワークを介してエンタープライズサーバ及びアプリケーションサーバに接続される通信装置を含む。
【図２】一実施形態による、利用者及び利用者に関連する通信装置上の承認済みクライアントアプリケーションを認証する方法を示すメッセージ流れ図である。
【図３】一実施形態による、アプリケーショントークンを含めるように、通信装置上のクライアントアプリケーションに関連するインストールファイルデータをプロビジョニングする方法を示す流れ図である。
【図４】一実施形態による、通信装置の利用者向けに承認されたクライアントアプリケーションの個々のインストールファイルを受け取る方法を示す流れ図である。
【発明を実施するための形態】
【０００８】
詳細な説明
一部の実施形態では、非一時的なプロセッサ可読媒体が、クライアントアプリケーションについての要求を通信装置から受け取ること、及びその要求に応答し、クライアントアプリケーションに関連するアプリケーショントークンを含めるように、クライアントアプリケーションに関連するインストールファイルデータをプロビジョニングすることを、（例えばエンタープライズサーバ上の）プロセッサに行わせるコードを含む。このコードは、アプリケーショントークンを含むインストールファイルを通信装置に送ることをプロセッサに行わせるためのものであり、それにより通信装置は、インストールファイルを使用し、インストールファイルから抽出されるアプリケーショントークンを用いてアプリケーションモジュールに対して認証を行うクライアントアプリケーションをインストールする。
【０００９】
この実施形態では、通信装置は、例えばデスクトップコンピュータ、ラップトップコンピュータ、携帯情報端末（ＰＤＡ）、標準的な携帯電話、タブレットパーソナルコンピュータ（ＰＣ）等のパーソナルコンピューティング装置とすることができる。通信装置は、メモリ及びプロセッサを含むことができる。通信装置上にインストールされるクライアントアプリケーションは、例えば会計アプリケーション、営業アプリケーション、給与支払アプリケーション等とすることができる。他の実施形態では、クライアントアプリケーションが、通信装置において実行するように構成される他の任意の企業アプリケーション又はサードパーティアプリケーションであり得る。一部の実施形態では、アプリケーション配布モジュールがハードウェアモジュール、及び／又はメモリ内に記憶され、エンタープライズサーバのプロセッサ内で実行されるソフトウェアモジュールであり得る。
【００１０】
一部の実施形態では、エンタープライズサーバ（企業サーバ）が、例えばウェブサーバ、アプリケーションサーバ、プロキシサーバ、テレネットサーバ、ファイル転送プロトコル（ＦＴＰ:file transfer protocol）サーバ、メールサーバ、リストサーバ、コラボレーションサーバ等であり得る。エンタープライズサーバは、メモリ及びプロセッサを含むことができる。エンタープライズサーバのメモリは、アプリケーション配布モジュール、トークンモジュール、及びアプリケーションモジュールに関連するデータを含むことができる。
【００１１】
エンタープライズサーバのアプリケーション配布モジュールは、通信装置におけるインストールクライアントから、ネットワークを介して１つ又は多数のクライアントアプリケーションについての要求を受け取るように構成され得る。ネットワークは、有線ネットワーク及び／又は無線ネットワークとして実装されるローカルエリアネットワーク（ＬＡＮ:local area network）、広域ネットワーク（ＷＡＮ:wide area network）、仮想ネットワーク、電気通信網等、任意の種類のネットワークとすることができる。この要求に応答し、アプリケーション配布モジュールは、クライアントアプリケーションに関連するアプリケーショントークンについての要求をトークンモジュールに送るように構成され得る。一部の実施形態では、トークンモジュールがハードウェアモジュール、及び／又はメモリ内に記憶され、エンタープライズサーバのプロセッサ内で実行されるソフトウェアモジュールであり得る。アプリケーショントークンについての要求に応答し、アプリケーション配布モジュールは、トークンモジュールからアプリケーショントークンを受け取るように構成され得る。一部の実施形態では、アプリケーション配布モジュールが、アプリケーショントークン（インストールファイル）を含めるために、クライアントアプリケーションに関連するインストールファイルデータをプロビジョニングするようにも構成され得る。そのような実施形態では、通信装置がインストールファイルを用いてクライアントアプリケーションをインストールできるように、アプリケーション配布モジュールが（アプリケーショントークンを含む）インストールファイルを通信装置に送るように構成され得る。一部の実施形態では、インストールファイルから抽出されるアプリケーショントークンを用いて、クライアントアプリケーションが、通信装置から離れたアプリケーションモジュールに対して認証を行うことができる。
【００１２】
そのような実施形態では、インストールクライアントがハードウェアモジュール、及び／又は通信装置のメモリ内に記憶され且つ／若しくは通信装置のプロセッサ内で実行されるソフトウェアモジュールであり得る。インストールクライアントは、１つ（又は複数）のクライアントアプリケーションについての１つ（又は複数）の要求を、エンタープライズサーバ上のアプリケーション配布モジュールにネットワークを介して送るように構成され得る。各クライアントアプリケーションの要求に応答し、インストールクライアントは、通信装置の利用者向けに承認されたクライアントアプリケーションの関連するアプリケーショントークンを使ってプロビジョンされたインストールファイルをアプリケーション配布モジュールから受け取るように構成され得る。インストールクライアントは、インストールファイルを使用してクライアントアプリケーションを通信装置においてインストールするように構成され得る。インストールクライアントは、インストールファイルからアプリケーショントークンを抽出するように構成されても良く、それによりクライアントアプリケーションは、そのアプリケーショントークンを用いて通信装置から離れたアプリケーションモジュールにおいて認証されるように構成され得る。
【００１３】
本明細書で使用するとき、文脈上そうでないことが明らかな場合を除き、単数形「a」、「an」、及び「the」は複数形の言及を含む。従って、例えば「モジュール（a module）」という用語は、単一のモジュール又はモジュールの組合せを意味することを意図する。
【００１４】
図１は、一実施形態による、クライアントアプリケーションのインストールファイル内にアプリケーショントークンをプロビジョニングするためのシステムの概略図であり、ネットワークを介してエンタープライズサーバ及びアプリケーションサーバに接続される通信装置を含む。アプリケーショントークンプロビジョニング対応のアプリケーション承認システム１００は、通信装置１１０、ネットワーク１２０、エンタープライズサーバ１３０、及びアプリケーションサーバ１５０を含む。ネットワーク１２０は、有線ネットワーク及び／又は無線ネットワークとして実装される任意の種類のネットワーク（例えばローカルエリアネットワーク（ＬＡＮ）、広域ネットワーク（ＷＡＮ）、仮想ネットワーク、電気通信網）とすることができる。本明細書で更に詳細に説明するように、一部の実施形態では、例えば通信装置１１０が、イントラネット、インターネットサービスプロバイダ（ＩＳＰ）、インターネット、セルラネットワーク（例えばネットワーク１２０）等を介してエンタープライズサーバ１３０及びアプリケーションサーバ１５０に接続され得る。
【００１５】
通信装置１１０は、デスクトップコンピュータ、ラップトップコンピュータ、携帯情報端末（ＰＤＡ）、標準的な携帯電話、タブレットパーソナルコンピュータ（ＰＣ）等のパーソナルコンピューティング装置とすることができる。通信装置１１０は、メモリ１１１及びプロセッサ１１２を含む。本明細書で更に詳細に説明するように、一部の実施形態では、通信装置１１０がエンタープライズサーバ１３０にクライアントアプリケーションを要求して受け取るように構成され、ネットワーク１２０を介して、エンタープライズサーバ１３０及び／又はアプリケーションサーバ１５０におけるアプリケーションモジュール（１４４及び／又は１５６）にアクセスすることができる。
【００１６】
メモリ１１１は、例えばランダムアクセスメモリ（ＲＡＭ:random access memory）、メモリバッファ、ハードドライブ、データベース、消去プログラム可能読取専用メモリ（ＥＰＲＯＭ:erasable programmable read-only memory）、電気的消去可能読取専用メモリ（ＥＥＰＲＯＭ:electrically erasable read-only memory）、読取専用メモリ（ＲＯＭ:read-only memory）等とすることができる。一部の実施形態では、かかるアプリケーショントークンプロビジョニング対応のアプリケーション承認システム１００に関連するモジュール、プロセス、及び／又は機能を実行することをプロセッサ１１２に行わせるための命令をメモリ１１１が記憶する。
【００１７】
プロセッサ１１２は、汎用プロセッサ、書替え可能ゲートアレイ（ＦＰＧＡ:field programmable gate array）、特定用途向け集積回路（ＡＳＩＣ:application specific integrated circuit）、デジタル信号プロセッサ（ＤＳＰ:digital signal processor）等とすることができる。プロセッサ１１２は、アプリケーショントークンプロビジョニング対応のアプリケーション承認システム１００に関連するユーザ承認プロセス、アプリケーション承認プロセス、他のモジュール、プロセス、及び／又は機能を起動し且つ／又は実行するように構成され得る。プロセッサ１１２は、インストールクライアント１１４、クライアントアプリケーション１１６、及びクライアントアプリケーション１１８を含む。
【００１８】
インストールクライアント１１４は、通信装置１１０上にインストールされるネイティブアプリケーションであり得る。インストールクライアント１１４は、ユーザ認証情報を送り、利用者向けに承認されたクライアントアプリケーションの一覧を要求し、個々のクライアントアプリケーション１１６及び１１８をアプリケーション配布モジュール１４０に要求する、（メモリ１１１内に記憶され且つ／又はプロセッサ１１２内で実行される）ハードウェアモジュール及び／又はソフトウェアモジュールとすることができる。一部の実施形態では、インストールクライアント１１４は、利用者が通信装置１１０上にインストールすることができる１組のアプリケーションを提示するように構成されるウェブブラウザ（例えばAndroidアプリケーションストア、Appleアプリケーションストア等のアプリケーションストア）を含むことができる。そのような実施形態では、利用者が１組のアプリケーションから（例えばリンクによって）アプリケーションを選択することができる。本明細書で更に詳細に説明するように、その選択に基づき、インストールクライアント１１４は、アプリケーションをインストールするのに使用されるインストールファイル（例えばAndroidアプリケーションパッケージファイル（ＡＰＫ:Android application package file））を受け取ることができる。
【００１９】
本明細書で更に詳細に説明するように、一部の実施形態では、インストールクライアント１１４が、ユーザ認証情報、利用者向けに承認されたクライアントアプリケーションの一覧、並びに／又はクライアントアプリケーション１１６及び１１８に関連する個々のインストールファイルを受け取るように構成され得る。一部の実施形態では、クライアントアプリケーション１１６及び１１８に関連するインストールファイルデータを、エンタープライズサーバ１３０上のアプリケーション配布モジュール１４０に関連するメモリ１３２の一部の中に記憶することができ、アプリケーショントークンを使ってプロビジョンし、インストールクライアント１１４上にダウンロードすることができる。他の実施形態では、クライアントアプリケーション１１６及び１１８に関連するインストールファイルデータを、エンタープライズサーバ１３０とは別であり、ネットワーク１２０を介してエンタープライズサーバ１３０に動作可能に結合される装置上に記憶することができる。そのような実施形態では、クライアントアプリケーション１１６又は１１８についての要求をインストールクライアント１１４から受け取ると、アプリケーション配布モジュール１４０は、クライアントアプリケーション１１６又は１１８に関連するインストールファイルデータが、アプリケーショントークンを使ってプロビジョンされ、インストールクライアント１１４上にダウンロードされる前に、ネットワーク１２０を介して記憶位置からアプリケーション配布モジュール１４０に転送されることを承認することができる。
【００２０】
クライアントアプリケーション１１６及び１１８は、クライアントアプリケーション１１６又は１１８に関連するインストールファイルからアプリケーショントークンを受け取るように構成される、ハードウェアモジュール及び／又は（メモリ１１１内に記憶され且つ／又はプロセッサ１１２内で実行される）ソフトウェアモジュールとすることができる。クライアントアプリケーション１１６及び１１８は、アプリケーショントークンを使い、通信装置１１０から離れたアプリケーションモジュール１４４又は１５６において認証されるように構成され得る。クライアントアプリケーション１１６及び１１８は、プロセッサ１１２に特定の操作を実行させるように構成され得る。例えば、クライアントアプリケーション１１６及び１１８は、企業内の特定の機能に関連することができる。例えば、アプリケーション１１６及び１１８は、会計アプリケーション、営業アプリケーション、給与支払アプリケーション等とすることができる。他の実施形態では、クライアントアプリケーション１１６及び１１８が、通信装置１１０において起動され且つ／又は実行されるように構成される他の任意の企業アプリケーション又はサードパーティアプリケーションであり得る。
【００２１】
エンタープライズサーバ１３０は、例えばウェブサーバ、アプリケーションサーバ、プロキシサーバ、テレネットサーバ、ファイル転送プロトコル（ＦＴＰ）サーバ、メールサーバ、リストサーバ、コラボレーションサーバ等であり得る。一部の実施形態では、エンタープライズサーバ１３０が通信装置１１０からユーザ認証要求及び／又はクライアントアプリケーション要求を受け取り、その要求に応答し、クライアントアプリケーションに関連するユーザ認証データ、アプリケーショントークン、及びインストールファイルを生成するように構成される。一部の実施形態では、エンタープライズサーバ１３０が、かかるアプリケーショントークンプロビジョニング対応のアプリケーション承認システム１００に関連するモジュール、プロセス、及び／又は機能を実行することもできる。
【００２２】
エンタープライズサーバ１３０は、メモリ１３２及びプロセッサ１３４を含む。メモリ１３２は、例えばランダムアクセスメモリ（ＲＡＭ）、メモリバッファ、ハードドライブ、データベース、消去プログラム可能読取専用メモリ（ＥＰＲＯＭ）、電気的消去可能読取専用メモリ（ＥＥＰＲＯＭ）、読取専用メモリ（ＲＯＭ）等とすることができる。一部の実施形態では、かかるアプリケーショントークンプロビジョニング対応のアプリケーション承認システム１００に関連するモジュール、プロセス、及び／又は機能を実行することをプロセッサ１３４に行わせるための命令をメモリ１３２が記憶する。
【００２３】
プロセッサ１３４は、汎用プロセッサ、書替え可能ゲートアレイ（ＦＰＧＡ）、特定用途向け集積回路（ＡＳＩＣ）、デジタル信号プロセッサ（ＤＳＰ）等とすることができる。一部の実施形態では、プロセッサ１３４は、かかるアプリケーショントークンプロビジョニング対応のアプリケーション承認システム１００に関連するアプリケーションモジュール、プロセス、及び／又は機能を起動し且つ／又は実行するように構成され得る。例えば、プロセッサ１３４は、ユーザ認証要求及びクライアントアプリケーション要求に関連する、又はそれらの要求に応答して、モジュール、プロセス、及び／又は機能を起動し且つ／又は実行するように構成され得る。プロセッサ１３４は、アプリケーション配布モジュール１４０、トークンモジュール１４２、及びアプリケーションモジュール１４４を含む。
【００２４】
アプリケーション配布モジュール１４０は、ネットワーク１２０を介して通信装置１１０から個々の利用者に関する（ｉ）ユーザ認証情報を受け取り、且つ／又は（ｉｉ）クライアントアプリケーション及び／若しくは承認済みクライアントアプリケーションの一覧を要求する、ハードウェアモジュール及び／又は（メモリ１３２内に記憶され且つ／又はプロセッサ１３４内で実行される）ソフトウェアモジュールとすることができる。一部の実施形態では、アプリケーション配布モジュール１４０は、通信装置１１０上のクライアントアプリケーション１１６及び１１８用のインストールファイルを生成し且つ／又は定めるように構成され得る。アプリケーション配布モジュール１４０は、通信装置１１０に関連する利用者のユーザ認証データを生成し且つ／又は定めるように構成されても良い。本明細書で更に詳細に説明するように、一部の実施形態では、アプリケーション配布モジュール１４０が、ユーザ認証信号（例えば、認証肯定応答及び／又は確認信号、承認済みの利用者に割り当てられている暗号され又は暗号化されていない形式の利用者識別番号、利用者のセキュリティ／アクセスレベルの識別情報等）、及び／又はアプリケーショントークンを使ってプロビジョンされたインストールファイルをインストールクライアント１１４に送信することもできる。
【００２５】
トークンモジュール１４２は、アプリケーション配布モジュール１４０からアプリケーショントークンについての要求を受け取る、ハードウェアモジュール及び／又は（メモリ１３２内に記憶され且つ／又はプロセッサ１３４内で実行される）ソフトウェアモジュールとすることができる。かかる要求に応答し、トークンモジュール１４２は、各クライアントアプリケーションのユニークユーザ用の一意のアプリケーショントークンを生成し且つ／又は定め、そのアプリケーショントークンをプロセッサバスを介してアプリケーション配布モジュール１４０に送るように構成され得る。例えば、トークンモジュール１４２は、同じクライアントアプリケーションの利用者ごとに異なるアプリケーショントークンを生成するように構成され得る。同様に、トークンモジュール１４２は、１人の利用者によって使用されるクライアントアプリケーションごとに異なるアプリケーショントークンを生成するように構成され得る。
【００２６】
アプリケーションモジュール１４４は、ネットワーク１２０を介してクライアントアプリケーション１１６及び／又は１１８にアプリケーションデータを与えるように構成される、ハードウェアモジュール及び／又は（メモリ１３２内に記憶され且つ／又はプロセッサ１３４内で実行される）ソフトウェアモジュールとすることができる。例えば、クライアントアプリケーション１１６が給与支払アプリケーションである例では、アプリケーションモジュール１４４が与えるアプリケーションデータは、従業員の給与、労働時間、税金や他の源泉徴収、支払方法等に関するデータを含み得る。一部の実施形態では、かかるアプリケーションデータは、アプリケーショントークンプロビジョニング対応のアプリケーション承認システム１００に関連するモジュール、プロセス、及び／又は機能を、クライアントアプリケーション１１６及び／又は１１８が実行することを可能にし得る。一部の実施形態では、及び本明細書で更に詳細に説明するように、アプリケーションモジュール１４４が、クライアントアプリケーション１１６及び／又は１１８にアプリケーションデータを与える前に、通信装置１１０からアプリケーショントークンを受け取り、検証することができる。
【００２７】
アプリケーションサーバ１５０は、エンタープライズサーバ１３０が関連するエンティティ（例えば企業）とは別のサードパーティサーバとすることができる。アプリケーションサーバ１５０は、例えばウェブサーバ、プロキシサーバ、テレネットサーバ、ファイル転送プロトコル（ＦＴＰ）サーバ、メールサーバ、リストサーバ、コラボレーションサーバ等とすることができる、サービス型ソフトウェア（ＳａａＳ:Software as a Service）ホストであり得る。
【００２８】
アプリケーションサーバ１５０は、メモリ１５２及びプロセッサ１５４を含む。メモリ１５２は、例えばランダムアクセスメモリ（ＲＡＭ）、メモリバッファ、ハードドライブ、データベース、消去プログラム可能読取専用メモリ（ＥＰＲＯＭ）、電気的消去可能読取専用メモリ（ＥＥＰＲＯＭ）、読取専用メモリ（ＲＯＭ）等とすることができる。一部の実施形態では、アプリケーショントークンプロビジョニング対応のアプリケーション承認システム１００内のアプリケーションサーバ１５０に関連するモジュール、プロセス、及び／又は機能を実行することをプロセッサ１５４に行わせるための命令をメモリ１５２が記憶する。
【００２９】
アプリケーションモジュール１５６は、ネットワーク１２０を介してクライアントアプリケーション１１６及び１１８にアプリケーションデータを与えるように構成される、ハードウェアモジュール及び／又は（メモリ１５２内に記憶され且つ／又はプロセッサ１５４内で実行される）ソフトウェアモジュールとすることができる。例えば、アプリケーションデータは、企業の製品に関する外部市場分析の結果等を含み得る。このアプリケーションデータは、例えば製品の小売価格を設定するために、製品の期待利益水準を計算するために、及び／又は製品のために利用可能な最良の小売業者の位置を求めるために等、クライアントアプリケーション１１４及び／又は１１６によって使用され得る。一部の実施形態では、アプリケーションモジュール１５６が、クライアントアプリケーション１１６及び／又は１１８にアプリケーションデータを送る前に、通信装置１１０からアプリケーショントークンを受け取り、検証することができる。かかるアプリケーションデータは、アプリケーショントークンプロビジョニング対応のアプリケーション承認システム１００に関連するモジュール、プロセス、及び／又は機能を、クライアントアプリケーション１１６及び１１８が実行することを可能にし得る。
【００３０】
図２は、一実施形態による、利用者及び利用者に関連する通信装置上の承認済みクライアントアプリケーションを認証する方法を示すメッセージ流れ図である。図２は、アプリケーショントークンプロビジョニング対応のアプリケーション承認システム１００に関して論じる。２１０で、インストールクライアント１１４が、ネットワーク１２０を介してユーザ認証情報を送ることにより、アプリケーション配布モジュール１４０における利用者の認証を開始する。一部の実施形態では、認証がインストールクライアント１１４によって開始されても良く、別の実施形態では認証が、通信装置１１０において動作しているモバイルブラウザウィンドウによって開始されても良い。より具体的には２１０で、ユーザ認証情報は、ＯＡｕｔｈ２．０プロトコルを使用する通信装置１１０の各利用者に固有の識別情報を含むことができる。各利用者に関連する識別情報は、例えばユーザログイン、ユーザパスワード、従業員ＩＤ番号、個人識別番号（ＰＩＮ:personal identification number）、バイオメトリク情報（例えば指紋走査、網膜走査等に関連するデータ）、従業員のセキュリティ／アクセスレベル、企業の部門コード等が含まれ得る、ユーザ認証情報とすることができる。
【００３１】
アプリケーション配布モジュール１４０が、ネットワーク１２０を介してユーザ認証情報をインストールクライアント１１４（又はモバイルブラウザウィンドウ）から受け取り、２１２でその利用者を認証する。一部の実施形態では、アプリケーション配布モジュール１４０が、エンタープライズサーバ１３０のメモリ１３２内に記憶されているユーザ認証データベース又はルックアップテーブル内の特定のエントリに対して、ユーザ認証情報を突き合わせることによって利用者を認証することができる。ユーザ認証データベースは、例えば従業員並びに従業員の対応する役職及びセキュリティ／アクセスレベル、社会保障番号、従業員の個人識別番号（ＰＩＮ）等の一覧を含み得る。他の実施形態では、ネットワーク１２０に動作可能に結合される別の装置（例えば不図示のサーバ）のメモリ内にユーザ認証データベースを記憶することができる。様々な実施形態において、アプリケーション配布モジュール１４０は、例えばセキュアソケットレイヤ（ＳＳＬ:Secure Sockets Layer）、セキュアシェル（ＳＳＨ:Secure Shell）、ケルベロス、セキュリティ表明マーク付け言語（ＳＡＭＬ:Security Assertion Markup Language）等の連合プロトコル等、任意の適切な認証プロトコルを使用して利用者を認証することができる。
【００３２】
一部の実施形態では、利用者の認証が成功すると、アプリケーション配布モジュール１４０が認証肯定応答信号を生成し且つ／又は定め、２１４で、ネットワーク１２０を介して認証肯定応答信号をインストールクライアント１１４に送ることができる。そのような実施形態では、例えば認証肯定応答信号が、例えば承認済みの利用者に割り当てられている暗号化された形式の利用者識別番号を含むことができる。他の実施形態では、認証肯定応答信号が、例えば利用者のセキュリティ／アクセスレベル、利用者の役職、通信装置の識別情報等、追加の暗号化され又は暗号化されていない利用者資格情報を含むことができる。更に他の実施形態では、認証肯定応答信号が、信号の信憑性を示すことができるデジタル署名を含んでも良い。
【００３３】
アプリケーション配布モジュール１４０から認証肯定応答信号を受け取ることに応答し、インストールクライアント１１４は、企業によって利用者向けに承認されたクライアントアプリケーションの一覧（この一覧は１つ又は複数のクライアントアプリケーションに関連する識別情報を含み得る）についての要求を、２１６で、アプリケーション配布モジュール１４０にネットワーク１２０を介して送ることができる。一部の実施形態では、クライアントアプリケーションの一覧についての要求が、アプリケーション配布モジュール１４０のアドレス、エンタープライズサーバ１３０のアドレス、要求が有効になる時間枠への参照、暗号化され又は暗号化されていない形式の利用者識別番号、利用者のセキュリティ／アクセスレベル、利用者の役職、通信装置の識別情報等を含み得る。
【００３４】
インストールクライアント１１４から承認済みクライアントアプリケーションの一覧についての要求を受け取ることに応答し、アプリケーション配布モジュール１４０は、２１８で、どのクライアントアプリケーションが企業によって通信装置１１０の利用者向けに承認されているのかを明らかにすることができる。一部の実施形態では、アプリケーション配布モジュール１４０が要求内に含まれる利用者識別番号を用いて、その利用者識別番号に関連するエントリについてエンタープライズサーバ１３０のメモリ１３２内に記憶されているクライアントアプリケーションデータベース又はルックアップテーブルに問い合わせ、どのアプリケーションが通信装置１１０の所与の利用者向けに承認されているのかを明らかにすることができる。他の実施形態では、利用者識別番号が要求に応じて直接搬送されなくても良い。そのような実施形態では、例えば利用者識別番号及び／又は他の情報を、例えば要求に含まれる、又は要求とは別のＯＡｕｔｈ（Open Authorization）トークンを使用して逆参照（dereference）し、且つ／又はかかるＯＡｕｔｈトークンから得ることができる。１つ又は複数のエントリが見つかる場合、アプリケーション配布モジュール１４０は、かかるエントリの有効性を確認し又は拒否し、企業によって利用者向けに承認されたクライアントアプリケーションの一覧を生成することができる。この一覧は、利用者に応じて単一の又は複数のエントリを含み得る。アプリケーション配布モジュール１４０は、クライアントアプリケーションデータベース内のどのアプリケーションが、通信装置１１０の利用者向けに承認されていないのかを明らかにすることもできる。他の実施形態では、ネットワーク１２０に動作可能に結合される別のサーバ（図１には不図示）のメモリ内にアプリケーション承認データベースを記憶することができる。様々な実施形態において、アプリケーション配布モジュール１４０は、例えばセキュアソケットレイヤ（ＳＳＬ）、セキュアシェル（ＳＳＨ）、ケルベロス等の任意の適切な認証プロトコルを使用して承認済みクライアントアプリケーションの一覧を認証することができる。通信装置１１０の利用者向けに承認されたクライアントアプリケーションの一覧を生成すると、アプリケーション配布モジュール１４０は、２２０で、ネットワーク１２０を介してその一覧をデータパッケージ（例えばＪＳＯＮ（JavaScript（登録商標） Object Notation）パッケージ）内でインストールクライアント１１４に送ることができる。
【００３５】
一部の実施形態では、インストールクライアント１１４が、アプリケーション配布モジュール１４０から受け取った一覧から、それぞれの承認済みクライアントアプリケーションに関連する一意識別子を抽出することができる。インストールクライアント１１４は、２２２で、クライアントアプリケーションについての要求をアプリケーション配布モジュール１４０にネットワーク１２０を介して送ることができる。クライアントアプリケーション要求は、要求されたクライアントアプリケーションに関連する一意識別子、承認済みの利用者に割り当てられている暗号化された形式の利用者識別番号、利用者のセキュリティ／アクセスレベル等の追加の暗号化され又は暗号化されていない利用者資格情報等を含むことができる。
【００３６】
インストールクライアント１１４からクライアントアプリケーション１１６についての要求を受け取ると、２２４で、アプリケーション配布モジュール１４０は、クライアントアプリケーション１１６に関連するアプリケーショントークンについての要求をトークンモジュール１４２にプロセッサバスを介して送ることができる。トークンモジュール１４２は、通信装置１１０上にインストールされる要求されたクライアントアプリケーション１１６用のアプリケーショントークンを、２２６で生成し且つ／又は定めることができる。アプリケーショントークンは、例えばＯＡｕｔｈアクセストークン、ＯＡｕｔｈリフレッシュトークン、ＳＡＭＬトークン、ＳｅｃｕｒＩＤトークン等とすることができる。一部の実施形態では、アプリケーショントークンが、暗号化され又は暗号化されていない形式の利用者の個人識別番号（ＰＩＮ）、利用者のセキュリティ／アクセスレベル、通信装置１１０の識別番号、インストールクライアント１１４のアドレス、要求されたアプリケーションに割り当てられたアプリケーション識別番号、関連するアプリケーションモジュール１４４又は１５６のアドレス等を含むことができる。他の実施形態では、アプリケーショントークンが、利用者向けに承認されているクライアントアプリケーションの特定の機能及び／又は資源、クライアントアプリケーショントークンの有効期間等、暗号化され又は暗号化されていない追加のクライアントアプリケーション資格情報を含むことができる。アプリケーショントークンを生成すると、トークンモジュール１４２は、２２８で、アプリケーショントークンをアプリケーション配布モジュール１４０にプロセッサバスを介して送ることができる。
【００３７】
アプリケーション配布モジュール１４０は、通信装置１１０の利用者のために、要求された各クライアントアプリケーション１１６に関連するインストールファイルデータを定め且つ／又は生成することができる。一部の実施形態では、クライアントアプリケーション１１６に関連するインストールファイルデータを、エンタープライズサーバ１３０内のアプリケーション配布モジュール１４０に関連するメモリ１３２の一部の中に記憶することができる。そのような実施形態では、アプリケーション配布モジュール１４０が、通信装置１１０の利用者のために、要求された各クライアントアプリケーション１１６に関連するインストールファイルデータにシステムバスを介してアクセスすることができる。他の実施形態では、クライアントアプリケーション１１６に関連するインストールファイルデータを、アプリケーショントークンプロビジョニング対応のアプリケーション承認システム１００内のエンタープライズサーバ１３０とは別の装置であり、ネットワーク１２０に動作可能に結合される装置上に記憶することができる。そのような実施形態では、アプリケーション配布モジュール１４０は、クライアントアプリケーション１１６に関連するインストールファイルデータが、ネットワーク１２０を介して記憶位置からアプリケーション配布モジュール１４０に転送されることを承認することができる。一部の実施形態では、インストールファイルデータが、暗号化され又は暗号化されていない形式の利用者の個人識別番号（ＰＩＮ）、利用者のセキュリティ／アクセスレベル、通信装置１１０の識別番号、インストールクライアント１１４のアドレス、要求されたアプリケーションに割り当てられたアプリケーション識別番号等を含むことができる。他の実施形態では、インストールファイルデータが、クライアントアプリケーションのリリース日、利用者向けに承認されているクライアントアプリケーションの特定の機能及び／又は資源等、暗号化され又は暗号化されていない追加のクライアントアプリケーション資格情報を含むことができる。２３０で、アプリケーション配布モジュール１４０が、トークンモジュール１４２から受け取ったアプリケーショントークンを含めるように、クライアントアプリケーション１１６に関連するインストールファイルデータをプロビジョニングすることができる。一部の実施形態では、アプリケーション配布モジュール１４０が、インストールファイルデータのバイナリ形式内にアプリケーショントークンを直接挿入することにより、アプリケーショントークンをプロビジョニングすることができる。他の実施形態では、アプリケーション配布モジュール１４０が、アプリケーショントークンをインストールファイルデータと連結することにより、アプリケーショントークンをプロビジョニングすることができる。アプリケーショントークンを使ってインストールファイルデータをプロビジョニングすると、アプリケーション配布モジュールは、２３２で、（今ではアプリケーショントークンを使ってプロビジョニングされている）インストールファイルを通信装置１１０上のインストールクライアント１１４にネットワークを介して送ることができる。
【００３８】
アプリケーショントークンを使ってプロビジョニングされたインストールファイルを受け取ると、インストールクライアント１１４は、２３４で、通信装置１１０上にクライアントアプリケーション１１６をインストールすることができる。一部の実施形態では、インストールクライアント１１４が、インストールファイルからアプリケーショントークンを抽出することができ、アプリケーショントークンから関連するアプリケーションモジュール１４４のアドレスを抽出することもできる。一部の実施形態では、アプリケーションモジュール１４４がエンタープライズサーバ１３０上にあっても良く、クライアントアプリケーション１１６が、２３６で、アプリケーショントークンをアプリケーションモジュール１４４にネットワーク１２０を介して送ることができる。他の実施形態では、アプリケーションモジュール１５６がサードパーティアプリケーションサーバ１５０上にあっても良く、クライアントアプリケーション１１６が、２３６で、アプリケーショントークンをアプリケーションモジュール１５６にネットワーク１２０を介して送ることができる。一部の実施形態では、アプリケーショントークンが、アプリケーションデータを得るための要求の一部としてアプリケーションモジュール１４４又は１５６に送られ得る。そのような実施形態では、例えばアプリケーショントークンをＲＥＳＴ（representation state transfer）呼出しの一部としてアプリケーションモジュール１４４又は１５６に送ることができる。
【００３９】
２３８で、アプリケーションモジュール１４４又は１５６が、アプリケーショントークンをクライアントアプリケーション１１６からネットワークを介して受け取ることができ、そのアプリケーショントークンの属性の有効性を評価し且つ／又は属性を確認することができる。一部の実施形態では、アプリケーションモジュール１４４又は１５６は、例えばデジタル署名を検査し且つ／又は確認することによってアプリケーショントークンを直接検証することができる。他の実施形態では、アプリケーショントークンに対応するエントリについて、エンタープライズサーバ１３０のメモリ１３２内に記憶されているデータベース又はルックアップテーブルに問い合わせることにより、アプリケーションモジュール１４４がこの確認を行うことができる。更に他の実施形態では、ネットワーク１２０に動作可能に結合される別のサーバのメモリ内にデータベース又はルックアップテーブルを記憶することができる。例えば、アプリケーションモジュール１４４は、通信装置１１０の承認済みの利用者のクライアントアプリケーション１１６のアプリケーショントークンが受け取られているかどうかを認識することができる。別の例では、アプリケーションモジュール１４４は、クライアントアプリケーション１１６の承認済みの機能が利用者のために活動化されているかどうかを認識することができる。更に別の例では、アプリケーションモジュール１４４は、アプリケーショントークン上のタイムスタンプが有効かどうか等を認識することができる。
【００４０】
アプリケーショントークンの検証に成功すると、アプリケーションモジュール１４４は、通信装置１１０上でのクライアントアプリケーション１１６の実行中に使用するためのアプリケーションデータを、２４０で、ネットワーク１２０を介してクライアントアプリケーション１１６に送ることができる。例えば、クライアントアプリケーション１１６が販売アプリケーションである場合、アプリケーションデータは、製品の単位の価格表現、１カ月に売れた単位数、未決注文に必要な単位数、１か月の全売上から生じる収入、１か月に儲けた利益等を含むことができる。一部の実施形態では、クライアントアプリケーション１１６は、利用者に表示するための表を埋めるためにアプリケーションデータを使用することができる。別の例では、クライアントアプリケーション１１６が人的資源（ＨＲ:human resource）アプリケーションである場合、アプリケーションデータは、利用者の従業員番号、利用者の社会保障番号、従業員の状態コード、有給休暇（ＰＴＯ:paid time off）の企業コード等を含むことができる。一部の実施形態では、クライアントアプリケーション１１６は、支払サイクル内で企業に請求され得る総労働時間数等を計算するために利用者がこのデータを使用することを可能にし得る。
【００４１】
図１及び図２に記載したアプリケーショントークンプロビジョニング対応のアプリケーション承認システムの実施形態は、要求されたクライアントアプリケーション１１６に関連するアプリケーショントークンを含めるように、アプリケーション配布モジュール１４０が、クライアントアプリケーション１１６に関連するインストールファイルデータをプロビジョニングすることを含むことに留意すべきである。これにより、クライアントアプリケーションを通信装置１１０上にダウンロードしてインストールできるようにすることができ、クライアントアプリケーションが通信装置１１０の利用者によって起動されると、クライアントアプリケーションによる他の装置への更なる承認要求が一切必要なくなる。インストールファイルを通信装置１１０上にダウンロードする前に、インストールファイルデータ内にアプリケーショントークンをプロビジョニングすることにより、ダウンロードされた各クライアントアプリケーション１１６がダウンロード後に（エンタープライズサーバ１３０によって）別々に承認されなければならないことを含む課題を克服することができる。インストールファイルデータをアプリケーショントークンによってこのようにプロビジョニングすることで、帯域幅及びプロセッサ時間の使用を減らすことができ、通信装置１１０の利用者の使い勝手の悪さを改善することができる。
【００４２】
一部の実施形態では、図２に示したステップの１つ又は複数を、アプリケーショントークンプロビジョニング対応のアプリケーション承認システム１００を実装するのに任意選択的とすることができる。例えば他の実施形態では、通信装置１１０の利用者向けに承認されたクライアントアプリケーションの一覧を自動生成し、承認済みクライアントアプリケーションに関連する記憶済みのインストールファイルデータを呼び出し、ユーザ認証肯定応答信号を２１４で送った直後に、関連するアプリケーショントークンをトークンモジュール１４２に要求して受け取るように、アプリケーション配布モジュール１４０を構成することができる。この実施形態では、アプリケーション配布モジュール１４０がアプリケーショントークンを使ってインストールファイルデータをプロビジョニングすることができ、２１４でユーザ認証肯定応答信号を送った直後の第２のデータパッケージ又はデータストリーム内でインストールファイルをインストールクライアント１１４に送ることができる。この実施形態は、２１６におけるクライアントアプリケーションの一覧についての要求、及び２２２におけるクライアントアプリケーションについての別の要求をインストールクライアント１１４から受け取るのを待つことに関連する遅延を防ぐことができる。
【００４３】
図３は、一実施形態による、アプリケーショントークンを含めるように、通信装置上のクライアントアプリケーションに関連するインストールファイルデータをプロビジョニングする方法を示す流れ図である。方法３００は、３０２で、クライアントアプリケーションについての要求を通信装置から受け取るステップを含む。このステップは、例えばエンタープライズサーバ上のアプリケーション配布モジュールによって実行され得る。上記のように、エンタープライズサーバは、例えばウェブサーバ、アプリケーションサーバ、プロキシサーバ、テレネットサーバ、ファイル転送プロトコル（ＦＴＰ）サーバ、メールサーバ、リストサーバ、コラボレーションサーバ等であり得る。更に上記のように、アプリケーション配布モジュールは、ハードウェアモジュール、及び／又はエンタープライズサーバのメモリ内に記憶され且つ／若しくはエンタープライズサーバのプロセッサ内で実行されるソフトウェアモジュールとすることができる。
【００４４】
クライアントアプリケーションについての要求に応答し、３０４で、要求されたクライアントアプリケーションに関連するアプリケーショントークンについての要求が、例えばアプリケーション配布モジュールからトークンモジュールに送られ得る。特定のクライアントアプリケーション用のアプリケーショントークンが、承認済みの利用者の通信装置上にインストール可能な１組の承認済みクライアントアプリケーションのうちの要求されたクライアントアプリケーションに一意に関連付けられる。
【００４５】
３０６で、アプリケーショントークンについての要求に応答し、要求されたアプリケーショントークンが、例えばトークンモジュールからアプリケーション配布モジュールによって受け取られ得る。上記のように、一部の実施形態では、アプリケーショントークンが、利用者の個人識別番号（ＰＩＮ）、利用者のセキュリティ／アクセスレベル、利用者向けに承認されているアプリケーションの特定の機能及び資源、関連するアプリケーションモジュールのアドレス、アプリケーショントークンの有効期間に関する指示、及びクライアントアプリケーションが通信装置上で効果的に実行され得るようにすることができる他の情報を含み得る。
【００４６】
一部の実施形態では、クライアントアプリケーションについての要求に応答し、クライアントアプリケーションに関連するインストールファイルデータを、例えばアプリケーション配布モジュールにおいて定め且つ／又は生成することができる。そのような実施形態では、アプリケーション配布モジュールに関連するエンタープライズサーバのメモリ内にインストールファイルデータを記憶することができる。他の実施形態では、クライアントアプリケーションについての要求を受け取る前に、各承認済みクライアントアプリケーションに関連するインストールファイルデータをアプリケーション配布モジュールにおいて定め且つ／又は生成することができる。そのような実施形態では、インストールファイルデータを、アプリケーション配布モジュールに関連するエンタープライズサーバのメモリ内に、又はエンタープライズサーバとは別の装置であり、ネットワークに動作可能に結合される装置上に記憶することができる。
【００４７】
３０８で、要求されたクライアントアプリケーションに関連するアプリケーショントークンを含めるように、例えばアプリケーション配布モジュールにおいてインストールファイルデータをプロビジョニングすることができる。上記のように、一部の実施形態では、インストールファイルデータが、暗号化され又は暗号化されていない形式の利用者の個人識別番号（ＰＩＮ）、利用者のセキュリティ／アクセスレベル、クライアントアプリケーションのバージョン、利用者向けに承認されているクライアントアプリケーションの特定の機能及び／又は資源、通信装置の識別番号、インストールクライアントのアドレス、要求されたアプリケーションに割り当てられたアプリケーション識別番号等を含むことができる。更に上記で説明したように、一部の実施形態では、例えばアプリケーション配布モジュールにおいて、インストールファイルデータのバイナリ形式内にアプリケーショントークンを直接挿入することにより、アプリケーショントークンを含めるようにインストールファイルデータをプロビジョニングすることができる。他の実施形態では、例えばアプリケーション配布モジュールにおいて、アプリケーショントークンをインストールファイルデータに連結することにより、アプリケーショントークンを含めるようにインストールファイルデータをプロビジョニングすることができる。
【００４８】
３１０で、アプリケーショントークンを使ってプロビジョニングされているインストールファイルを、例えばアプリケーション配布モジュールが通信装置に送ることができる。通信装置は、そのインストールファイルを使用してクライアントアプリケーションをインストールすることができる。インストールクライアントは、インストールファイルからアプリケーショントークンを抽出し、アプリケーショントークンからクライアントアプリケーションに関連するアプリケーションモジュールのアドレスを抽出することができる。また３１０で、クライアントアプリケーションは、抽出されるアドレスを用いてアプリケーションモジュールにアプリケーショントークンを送ることにより、関連するアプリケーションモジュールに対して認証を行うことができる。上記のように、例えば認証は、利用者向けに承認されたクライアントアプリケーションのアプリケーショントークンがクライアントアプリケーションからアプリケーションモジュールに送られたかどうかを確かめることを含み得る。別の例では、認証が、利用者に固有のクライアントアプリケーションの承認済み機能が活動化されているかどうかを確かめることを含み得る。更に別の例では、認証が、アプリケーショントークン上のタイムスタンプが有効かどうかを確かめることを含み得る。
【００４９】
図４は、一実施形態による、通信装置の利用者向けに承認されたクライアントアプリケーションの個々のインストールファイルを受け取る方法を示す流れ図である。方法４００は、４０２で、例えば通信装置上のインストールクライアントからエンタープライズサーバ上のアプリケーション配布モジュールに、クライアントアプリケーションについての要求を送るステップを含む。上記のように、一部の実施形態では、通信装置は、デスクトップコンピュータ、ラップトップコンピュータ、携帯情報端末（ＰＤＡ）、標準的な携帯電話、タブレットパーソナルコンピュータ（ＰＣ）等のパーソナルコンピューティング装置とすることができる。更に上記のように、一部の実施形態では、インストールクライアントが、通信装置上にインストールされるネイティブアプリケーションであり得る。インストールクライアントは、ハードウェアモジュール、及び／又は通信装置のメモリ内に記憶され且つ／若しくは通信装置のプロセッサ内で実行されるソフトウェアモジュールであり得る。
【００５０】
クライアントアプリケーションについての要求に応答し、４０４で、インストールクライアントは、例えばアプリケーション配布モジュールから、要求されたクライアントアプリケーションに関連するアプリケーショントークンを含む、クライアントアプリケーションに関連するインストールファイルを受け取ることができる。上記のように、一部の実施形態では、アプリケーショントークンが、利用者の個人識別番号（ＰＩＮ）、利用者のセキュリティ／アクセスレベル、アプリケーショントークンの有効期間に関する指示、関連するアプリケーションモジュールのアドレス、及びアプリケーションが通信装置上で効果的に実行され得るようにすることができる他の情報を含み得る。
【００５１】
４０６で、インストールクライアントは、インストールファイルを使用してクライアントアプリケーションを例えば通信装置上にインストールすることができる。上記のように、一部の実施形態では、インストールファイルが、利用者の個人識別番号（ＰＩＮ）、利用者のセキュリティ／アクセスレベル、インストールされるクライアントアプリケーションのバージョン、利用者向けに承認されているクライアントアプリケーションの特定の機能及び／又は資源、通信装置の識別番号、インストールクライアントのアドレス、要求されたアプリケーションに割り当てられたアプリケーション識別番号等を含むことができる。
【００５２】
４０８で、インストールクライアントは、インストールファイルから例えばアプリケーショントークン等のデータを抽出し、アプリケーショントークンからクライアントアプリケーションに関連するアプリケーションモジュールのアドレスを抽出することができる。また４０８で、クライアントアプリケーションは、抽出されるアドレスを用いてアプリケーションモジュールにアプリケーショントークンを送ることにより、例えば通信装置から離れた関連するアプリケーションモジュールに対して認証を行うように構成され得る。上記のように、例えば認証は、利用者向けに承認されたクライアントアプリケーションのアプリケーショントークンがクライアントアプリケーションからアプリケーションモジュールに送られたかどうかを確かめることを含み得る。別の例では、認証が、利用者に固有のクライアントアプリケーションの承認済み機能が活動化されているかどうかを確かめることを含み得る。更に別の例では、認証が、アプリケーショントークン上のタイムスタンプが有効かどうかを確かめることを含み得る。
【００５３】
本明細書に記載した一部の実施形態は、コンピュータに実装される様々な操作を実行するための命令又はコンピュータコードを有する、非一時的なコンピュータ可読媒体（非一時的なプロセッサ可読媒体と呼ぶこともできる）を有するコンピュータストレージ製品に関する。コンピュータ可読媒体（又はプロセッサ可読媒体）は、それ自体が一時的な伝搬信号（例えば空間やケーブル等の伝送媒体上で情報を運ぶ伝搬電磁波）を含まない点で非一時的である。媒体及びコンピュータコード（コードと呼ぶこともできる）は、特定の目的のために設計され構築されるものであり得る。非一時的なコンピュータ可読媒体の例には、これだけに限定されないが、ハードディスク、フロッピディスク、磁気テープ等の磁気記憶媒体、コンパクトディスク／デジタル映像ディスク（ＣＤ／ＤＶＤ）、コンパクトディスク−読取専用メモリ（ＣＤ−ＲＯＭ）、ホログラフィック装置等の光学記憶媒体、光ディスク等の光磁気記憶媒体、搬送波信号処理モジュール、及び特定用途向け集積回路（ＡＳＩＣ）、プログラム可能論理デバイス（ＰＬＤ:Programmable Logic Device）、読取専用メモリ（ＲＯＭ:Read-Only Memory）、ランダムアクセスメモリ（ＲＡＭ:Random-Access Memory）デバイス等、プログラムコードを記憶して実行するように特別に構成されるハードウェア装置が含まれる。
【００５４】
コンピュータコードの例には、これだけに限定されないが、マイクロコードやマイクロ命令、コンパイラによって生成されるもの等の機械命令、ウェブサービスを作り出すために使用されるコード、及びインタープリタを使用してコンピュータによって実行される高水準命令を含むファイルが含まれる。例えば、命令型プログラミング言語（例えばC、Fortran等）、関数型プログラミング言語（Haskell、Erlang等）、論理型プログラミング言語（例えばProlog）、オブジェクト指向プログラミング言語（例えばJava（登録商標）、C++等）、又は他の適切なプログラミング言語及び／若しくは開発ツールを使用して実施形態を実施することができる。コンピュータコードの更なる例には、これだけに限定されないが、制御信号、暗号化コード、及び圧縮コードが含まれる。
【００５５】
様々な実施形態を上記で説明してきたが、これらの実施形態は限定ではなく専ら例として提示してきたことを理解すべきである。上記の方法は、或る事象が特定の順序で生じることを示すが、特定の事象の順序は変えても良い。更に、事象のうちの一定のものは、上記のように逐次的に実行するだけでなく、可能な場合は並列処理で同時に実行しても良い。
【図１】
2015528168.tif 000003
【図２】
2015528168.tif 000004
【図３】
2015528168.tif 000005
【図４】
2015528168.tif 000006
【国際調査報告】
2015528168.tif 000007