(81)【指定国】
AP(BW,GH,GM,KE,LR,LS,MW,MZ,NA,RW,SD,SL,SZ,TZ,UG,ZM,ZW),EA(AM,AZ,BY,KG,KZ,RU,TJ,TM),EP(AL,AT,BE,BG,CH,CY,CZ,DE,DK,EE,ES,FI,FR,GB,GR,HR,HU,IE,IS,IT,LT,LU,LV,MC,MK,MT,NL,NO,PL,PT,RO,RS,SE,SI,SK,SM,TR),OA(BF,BJ,CF,CG,CI,CM,GA,GN,GQ,GW,KM,ML,MR,NE,SN,TD,TG),AE,AG,AL,AM,AO,AT,AU,AZ,BA,BB,BG,BH,BN,BR,BW,BY,BZ,CA,CH,CL,CN,CO,CR,CU,CZ,DE,DK,DM,DO,DZ,EC,EE,EG,ES,FI,GB,GD,GE,GH,GM,GT,HN,HR,HU,ID,IL,IN,IR,IS,JP,KE,KG,KN,KP,KR,KZ,LA,LC,LK,LR,LS,LT,LU,LY,MA,MD,ME,MG,MK,MN,MW,MX,MY,MZ,NA,NG,NI,NO,NZ,OM,PA,PE,PG,PH,PL,PT,QA,RO,RS,RU,RW,SA,SC,SD,SE,SG,SK,SL,SM,ST,SV,SY,TH,TJ,TM,TN,TR,TT,TZ,UA,UG,US
エンタプライズシステムにアプリケーションを自動的に登録するコンピュータ実装方法は、エンタプライズシステムに関連するアプリケーションを取得するステップを含み、このアプリケーションは、後にエンタプライズシステムに登録するように事前設定され、登録によってアプリケーションとエンタプライズシステムとの間に信用関係が確立するようになっている。この方法は、アプリケーションをホスト機器にインストールするステップと、アプリケーションをインストールするステップに関連して、エンタプライズシステムへのアプリケーションの登録を自動的に要求するステップと、をさらに含む。
前記自動的に生成された登録要求を受け取ることが、製品識別情報、機器識別情報、要求されるアクセス権限、およびリダイレクト ユニフォーム リソース ロケータ(URL)のうちの1つまたは複数をさらに含む、請求項5に記載のコンピュータ実装方法。
前記ホスト機器を前記関連付けから削除することによって前記ホスト機器の前記エンタプライズシステムへの登録を解除することをさらに備える請求項11に記載のコンピュータ実装方法。
前記アプリケーションの前記エンタプライズシステムへの登録を、前記アプリケーションに関連するアプリケーションアクセステンプレートを削除することによって解除することをさらに備える請求項11に記載のコンピュータ実装方法。
【発明を実施するための形態】
【0010】
本発明の利点は、以下の詳細な説明を、本発明の原理を例として示している添付の図面と併せて読むことになり明らかとなるであろう。
添付の図面は本明細書の中に組み込まれ、その一部をなし、各種の実施形態を示しており、「実施形態の説明」と共に後述の原理を説明するのに役立つ。図面の簡単な説明の中で言及される図面は、特にことわりがないかぎり、正確な縮尺で描かれていないと理解するべきである。
【0011】
ここで、各種の実施形態を詳しく見ていくが、その例が添付の図面に示されている。本明細書において各種の実施形態について論じるが、当然のことながら、これらは限定的ではない。反対に、提供する実施形態は付属の特許請求項で定義される各種の実施形態の主旨と範囲の中に含まれうる代替案、改変、均等物をカバーするものとする。さらに、この「実施形態の説明」では、十分に理解できるように多数の具体的な詳細点を示す。しかしながら、実施形態はこれらの具体的な詳細点の1つまたは複数がなくても実施できる。また別の場合には、よく知られた方法、手順、構成要素、回路については、説明する実施形態の態様を不必要に不明瞭にしないように、詳細には説明していない。
【0012】
図1は、各種の実施形態によるエンタプライズシステム(enterprise system)110を示すブロック図を描いたものである。一般に、エンタプライズシステム110はコンピュータハードウェアとソフトウェアの組み合わせを含む会社システムまたはネットワークである。会社または企業はハードウェアとソフトウェアの組み合わせを利用してその業務を組織化し、実行できる。例えば、エンタプライズシステムは例えば、これらに限定されないが、情報技術(IT)、セキュリティ、電子メール等の様々なニーズのための各種のコンピューティングリソースを提供できる。
【0013】
各種の実施形態において、エンタプライズシステム110は複数の機器、例えば機器118を含む。機器はあらゆる数の物理的および/または仮想マシンである。例えば、1つの実施形態において、エンタプライズシステム110は会社コンピューティング環境であり、これには何万台もの物理的および/または仮想マシンが含まれる。当然のことながら、仮想マシンは物理的コンピューティングマシンの1つまたはいくつかの組み合わせで実施される。
【0014】
物理的および/または仮想マシンは様々なアプリケーション(例えば、オペレーティングシステム、ワードプロセシング等)を含む。物理的および/または仮想マシンは、インストールされた同じアプリケーションを有していても、インストールされた異なるアプリケーションまたはソフトウェアを有していてもよい。インストールされたソフトウェアは、1つまたは複数のベンダからの1つまたは複数のソフトウェアアプリケーションであってもよい。
【0015】
仮想マシンはゲストオペレーティングシステムを含んでいてもよい。ゲストオペレーティングシステムは、例えばマイクロソフト ウィンドウズ(商標)等のコモディティオペレーティングシステム(commodity operating system)であっても、特に仮想化ソフトウェア(例えばハイパーバイザ)と動作するよう設計された特殊化オペレーティングシステム(「準仮想化OS」と呼ばれることもある)であってもよく、これについては後でより詳しく説明する。
【0016】
各種の実施形態において、エンタプライズシステム110はクラウド環境であってもよい。エンタプライズシステム110は、インターネットで接続されたデータセンタまたは、1つまたは複数のパブリックおよび/またはプライベートネットワークに接続されたプライベートクラウドコンピューティングセンタの中にあってもよい。エンタプライズシステム110は、1つの実施形態において、一般的に、コンピューティング環境の中の仮想または物理的エンティティにネットワーク接続を通じて接続され、この接続はパブリックネットワーク接続でも、プライベートネットワーク接続でも、それらのある組み合わせであってもよい。例えば、ユーザは、仮想または物理的エンティティでエンタプライズシステム110によって提示されるウェブページまたはアプリケーションにアクセスすることにより、インターネット接続を介してエンタプライズシステム110に接続してもよい。
【0017】
詳しくは、エンタプライズシステム110は、機器/アプリケーションの動的登録を可能にするように構成される。動的登録によってエンタプライズシステム110のスケーラブルで安全な管理が可能となり、これについては後でより詳しく説明する。
【0018】
エンタプライズシステム110は、認証サーバ112とリソースサーバ120を含む。認証サーバ112は認証機能を提供し、リソースサーバ120は企業リソースへのアクセスを提供し、これらについては後でより詳しく説明する。
【0019】
認証サーバ112とリソースサーバ120は図のように別々のサーバであってもよく、またはこれらサーバを分散させてもよい。リソースサーバ120および/または認証サーバ112は1つの仮想マシンでも、複数の仮想マシンの組み合わせでもよい。これに加えて、リソースサーバ120と認証サーバ112は単独のサーバとして一緒に動作してもよい。
【0020】
各種の実施形態において、非エンタプライズ機器140がエンタプライズシステム110に登録され、これらの機器がエンタプライズシステム110により制御される各種のリソースにアクセスできるようになる。非エンタプライズ機器140、例えば機器150と機器160は様々なモバイル機器であってもよい。モバイル機器は、これらに限定されないが、スマートフォン、コンピュータタブレット、携帯情報端末(PDA)、その他とすることができる。
【0021】
例えば、機器の様々なユーザは、エンタプライズシステム110を利用し、制御する会社の社員であってもよい。一般に、ユーザは会社のリソース(例えばリソース122)に、会社ドメインまたはファイアウォール内の登録済み/許可済みの機器(例えば機器118であって、これはデスクトップまたはラップトップコンピューティングシステムであってよい)にインストールされたアプリケーションを介してアクセスする。一般に、ファイアウォールはエンタプライズシステム110のセキュリティ保護を容易にする。ファイアウォールは出入りするネットワークトラフィックを、例えばデータパケットを分析し、そのトラフィックがファイアウォールを通過するのを許可するべきか否かを判断することによって制御する。
【0022】
機器118は、エンタプライズシステム110を介して制御、管理される。詳しくは、機器118はエンタプライズシステム110に登録され、認証されて、機器118が利用するアプリケーションが各種の会社リソース(例えばリソース122)にアクセスできる。
【0023】
しかしながら、企業の社員またはエンタプライズシステム110のユーザは、自分自身の私的な機器、例えば非エンタプライズ機器140を使って企業リソースにアクセスしたいと望むかもしれない。例えばユーザは、自分が家にいて、ファイアウォール中にある機器を介してリソース122にアクセスできないため、ユーザの所有するモバイル機器(例えば機器150と機器160)からリソース122にアクセスしたいと希望する。他の例では、ユーザは社内ファイアウォールの中にあるデスクトップコンピュータからではなく、自分自身の私的なモバイル機器を使って素早くリソース122にアクセスしたいと希望する。
【0024】
したがって、非エンタプライズ機器140とインストールされたアプリケーションはエンタプライズシステム110に動的に登録されて、アプリケーションは、非エンタプライズ機器140が社内ファイアウォールの中または外のいずれにあっても、リソース122に安全にアクセスできる。さらに、動的登録によって、エンタプライズシステム110のスケーラブルで安全な管理が可能となり、これについては後でより詳しく説明する。
例示的な動作方法
以下の説明は、実施形態のいくつかの例示的な動作方法の動作を詳しく示す。
図3、4、5、6、7、8を参照すると、フロー
図300、400、500、600、700、800は各種の実施形態で使用される例示的な手順を示す。フロー
図300、400、500、600、700、800は、各種の実施形態において、プロセッサがコンピュータ可読およびコンピュータ実行可能命令の制御の下で実行するいくつかの手順を含む。このようにして、本明細書の中で、フロー
図300、400、500、600、700、800に関連して説明する手順は、各種の実施形態において、コンピュータを使って実施され、または実施されてもよい。コンピュータ可読およびコンピュータ実行可能命令は、あらゆる有形のコンピュータ可読記憶媒体に記憶させることができる。有形のコンピュータ可読記憶媒体のいくつかの非限定的な例には、ランダムアクセスメモリ、リードオンリメモリ、磁気ディスク、ソリッドステートドライブ/「ディスク」、および光ディスクが含まれ、これらはいずれも、またはすべて、コンピュータ環境および/またはクラウド環境(例えばエンタプライズシステム110)に利用できる。有形のコンピュータ可読記憶媒体上に記憶されたコンピュータ可読およびコンピュータ実行可能命令は、例えばコンピュータ環境および/またはクラウド環境のプロセッサの1つまたは、ある組み合わせに関連する制御または動作のために使用される。当然のことながら、プロセッサは物理的でも、仮想でも、ある組み合わせでもよい(また、仮想プロセッサは物理的ハードウェア上で実施されることも理解するべきである)。具体的な手順がフロー
図300、400、500、600、700および/または800の中に示されているが、このような手順は例である。すなわち、実施形態は、フロー
図300、400、500、600、700および/または800に記載された手順以外の様々な手順またはそれらの変形版を実行するのにもよく適している。同様に、いくつかの実施形態において、フロー
図300、400、500、600、700および/または800の中の手順は、開示されたものとは異なる順序で実行してもよく、および/またはこれらのフロー図の中の1つまたは複数で説明された手順の必ずしも全部を実行しなくてもよい。さらに、当然のことながら、フロー
図300、400、500、600、700および/または800で説明された手順は、ハードウェア、またはハードウェアとファームウェアおよび/またはソフトウェアとの組み合わせで実施してもよい。
【0025】
図3は、各種の実施形態による機器/アプリケーションの動的登録のためのプロセスフロー図を示す。機器/アプリケーションの動的登録に関する以下の説明では、少なくとも
図1〜3を参照する。
【0026】
305で、アプリケーションアクセステンプレート(application access templates)が生成される。例えば、情報技術(IT)の熟練者(例えば、組織管理者)が1つまたは複数のアプリケーションアクセステンプレート、例えばアプリケーションアクセステンプレート114〜114nを生成する。1つの実施形態において、アプリケーションアクセステンプレート114〜114nは認証サーバ112の中に保存される。
【0027】
アプリケーションアクセステンプレートは、エンタプライズシステム110で利用できるアプリケーションごとの情報またはパラメータを含む。詳しくは、アプリケーションアクセステンプレートは、エンタプライズシステム110で利用される各アプリケーションのために生成される。例えば、アプリケーションアクセステンプレート114はアプリケーション131のために生成され、アプリケーションアクセステンプレート114nはアプリケーション131nのために生成される。
【0028】
各アプリケーションアクセステンプレートは、エンタプライズシステム110への特定のアプリケーションの登録/認証を容易にする情報を含む。詳しくは、各アプリケーションアクセステンプレートは、リソースサーバ120へのアプリケーションの登録/認証を容易にする。
【0029】
アプリケーションアクセステンプレートは、その後の動的登録/認証とエンタプライズ管理に利用され、これについては後でより詳しく説明する。
これに加えて、アプリケーションアクセステンプレートはアプリケーションを事前承認する。すなわち、アプリケーションは、エンタプライズシステム110に登録し、ある程度までエンタプライズシステム110内のリソースにアクセスできると仮定される。これに対して、対応するアプリケーションアクセステンプレートを持たないアプリケーションはいずれも、エンタプライズシステム110内のリソースへのアクセスが認められない。
【0030】
1つの実施形態において、アプリケーションアクセステンプレートは基本的な認証プロトコル情報、例えば、これに限定されないが、OAuth 2.0データを規定する。一般に、OAuth 2.0は、第三者のアプリケーションがハイパーテキスト トランスファー プロトコル(HTTP)サービスにアクセスできるようにするオープンソース認証プロトコルである。
【0031】
図2は、アプリケーションアクセステンプレート214のある実施形態を示している。例えば、アプリケーションアクセステンプレート214は、これらに限定されないが、アプリケーションID、アプリケーション名、アプリケーションアイコン、リダイレクトURL(redirect URL)、リソースアクセス権限、属性等を含んでいてもよい。
【0032】
1つの実施形態において、アプリケーションID(またはアプリケーション製品ID)は各アプリケーションに固有である。
他の実施形態において、属性は、これらに限定されないが、リフレッシュトークンを発行するか否か、アクセストークン有効期限(TTL)、リフレッシュトークンTTL等を含んでいてもよい。
【0033】
リダイレクトURL(またはリダイレクト ユニフォーム リソース アイデンティファイア(URI))は、特定のアプリケーションがエンタプライズシステム110からの、例えばリソースサーバ120および/または認証サーバ112からの応答の受信を聞く(listen)エンドポイントである。各アプリケーションは異なるリダイレクトURLを有する。
【0034】
各種の実施形態において、リソースアクセス権限は各アプリケーションに関して異なっていてもよい。例えば、電子メールアプリケーションはユーザの電子メールに関するアクセス権限を有していてもよく、ワードプロセシングアプリケーション(word processing application)は各種のリソースへのアクセスを有していてもよい。
【0035】
307では、1つまたは複数のアプリケーションにアクセスする。例えば、機器150のユーザがエンタプライズアプリケーションストア130からの1つまたは複数のアプリケーションにアクセスし、ユーザは1つまたは複数のアプリケーションを介してエンタプライズシステム110からリソースにアクセスできる。
【0036】
詳しくは、非エンタプライズ機器のユーザはエンタプライズアプリケーションストア130からのアプリケーション131(例えばApple(商標)のPages(商標))にアクセスし、このアプリケーションを機器にダウンロードしてインストールする。例えば、機器150(例えばiPhone(商標))と機器160(例えばiPad(商標))のユーザがエンタプライズアプリケーションストア130からのワードプロセシングアプリケーションをインストールし、アプリケーション151(例えばPages(商標))を機器150に、アプリケーション161(例えば、Pages(商標))を機器160にインストールする。
【0037】
エンタプライズアプリケーションストア130は、アプリケーション(例えばアプリケーション131〜131n)を保存するためのあらゆるアプリケーションリポジトリ(application repository)(例えばGoogle Play(商標))であり、このアプリケーションは後にエンタプライズシステム110からリソースにアクセスするために使用してもよい。1つの実施形態において、エンタプライズアプリケーションストア130は、エンタプライズシステム110の中にあってもよい。
【0038】
前述のように、アプリケーション131〜131nはあらゆるクライアントアプリケーションであり、これは適正に登録された時に、エンタプライズシステム100のリソースにアクセスするために利用できる。1つの実施形態において、1つまたは複数のアプリケーションは、第三者のベンダにより開発された市販のアプリケーションである。このようなアプリケーションは、後のエンタプライズシステム110への登録および/またはユーザ認証を容易にするように変更または補強されてもよく、これについては後でより詳しく説明する。
【0039】
他の実施形態において、アプリケーションのうちの1つまたは複数は、エンタプライズシステム110との特定の使用のためのカスタムアプリケーションである。例えば、このようなアプリケーションは第三者のベンダによって開発されても、エンタプライズシステムの当事者により開発されてもよい。
【0040】
ステップ305と307は、前述のように、逐次的に実行する必要がないことを理解するべきである。すなわち、305でアプリケーションアクセステンプレートを生成するステップと、307でアプリケーションにアクセスするステップは、平行して行ってもよい。また、1つの実施形態において、307でアプリケーションにアクセスするステップは、305でアプリケーションアクセステンプレートを生成するステップの前に行ってもよい。
【0041】
310で、エンタプライズシステム110への登録が自動的に要求される。1つの実施形態において、自動登録要求はエンタプライズシステム110に転送される。例えば、登録要求は認証サーバ112の登録済みのエンドポイントに送信される。
【0042】
各種の実施形態において、自動登録要求は機器(例えば機器150)へのアプリケーション(例えばアプリケーション151)のインストールに関連して提供される。
本明細書で規定されるように、「インストールに関連した自動登録要求」という語句は、機器へのアプリケーションのインストールに関連付けられる自動登録要求を意味する。例えば、自動登録要求はインストール中に、例えばアプリケーションのインストールに応答して例えばリアルタイムまたは動的に行われてもよい。他の例では、自動登録要求は、インストール後に、およびそのアプリケーションの初期実行または「起動」に応答して行われてもよい。
【0043】
自動登録要求は、クライアントアプリケーションと機器に関する属性を含む。登録要求は、これらに限定されないが、製品ID、機器ID、要求されるアクセス権限、リダイレクトURL等を含んでいてもよい。
【0044】
したがって、クライアントアプリケーションと機器は、アプリケーションアクセステンプレート中の属性が、少なくとも部分的に登録要求の中で提供された属性と一致した場合に、動的に登録される。
【0045】
本明細書で使用されるかぎり、「クライアント」という用語はエンタプライズシステム110の中のリソース(例えば保護されたリソース)を要求する、アプリケーション等のエンティティとして広く解釈されるものとする。
【0046】
1つの実施形態において、自動登録要求のリダイレクトURLは、アプリケーションアクセステンプレート内で提供されるものと同じリダイレクトURLである。したがって、リダイレクトURLが相互に一致するために登録が認められる。反対に、リダイレクトURLが相互に一致しない場合は、登録が拒否される。
【0047】
これに加えて、カスタムスキームがインストールに関連して登録される。例えば、アプリケーションエンドポイントは、モバイル機器のオペーティングシステム(OS)に登録される。
【0048】
ステップ310〜372に示される通信は、後述のように、エンタプライズシステム110の認証機能、例えば認証サーバ112に関連していることを理解するべきである。
320で、ブラウザがユーザログインにリダイレクトされる。例えば、認証サーバ112は機器150のブラウザ152および/または機器160のブラウザ162をユーザログインウィンドウにリダイレクトする。各種の実施形態において、ブラウザ152とブラウザ162は、それぞれ機器150と160の内蔵または外部ブラウザである。
【0049】
310でクライアントアプリケーションを登録すると、その後のユーザ登録は認証サーバ112、例えば識別情報プロバイダ(IDP)によって提供されることがわかる。認証サーバ112は、エンタプライズシステム110の中にあっても、エンタプライズシステム110の外にあってもよい。
【0050】
ユーザに対して表示されるログインプロンプト(login prompt)は、これらに限定されないが、ログインIDとパスワードを含んでいてもよい。ユーザを認証できるようにするためのどのような検証システムを用いてもよいことを理解するべきである。
【0051】
322で、ユーザはログイン(認証)情報を提供する。例えば、ユーザはログインIDとパスワードを提供する。それに加えて、またはその代わりに、ユーザは多要素認証、例えばスマートカード、またはSecureID(登録商標)コード、またはある生体情報検証を、パスワードまたは個人識別番号(PIN)のほかに送信してもよい。ユーザログイン情報は認証サーバ112に提供される。ログイン情報が認証サーバ112によって検証されると、検証結果がリソースサーバ120に送信され、ユーザはエンタプライズシステム110のリソース122にアクセスする許可を得る。
【0052】
330で、ブラウザがアプリケーション許可ページにリダイレクトされる。すなわち、ユーザは、アプリケーションがエンタプライズシステム110内のリソースにアクセスする許可を提供するように促される。
【0053】
例えば、ユーザは、機器150にダウンロードされたアプリケーション151がアプリケーション登録および/またはアプリケーションアクセステンプレートの中で規定されたアクセス権限に従ってリソースサーバ120の中のリソース122にアクセスできることを確認するように促されるであろう。
【0054】
アプリケーション許可の要求は、クライアントアプリケーションと機器の登録に関係するセキュリティをより強化する。
332で、ユーザはアプリケーションがアプリケーション登録および/またはアプリケーションアクセステンプレートの中で規定されたアクセス権限に従ってリソースにアクセスする許可を付与する。
【0055】
これに対して、ユーザが許可を付与しなければ、このアプリケーションはエンタプライズシステム110の中のリソースにアクセスできない。例えば、アプリケーションは、エンタプライズシステム110中のリソースに不正な意図でアクセスするために利用されるかもしれない。したがって、アプリケーションを、そのアプリケーションを介してリソースにアクセスするために使おうとしていないユーザは、アプリケーションがリソースにアクセスするのを許可しないであろう。
【0056】
340で、各種のセキュリティコードが生成される。例えば、認証サーバ112は、リソースにアクセスするために後にアプリケーションが使用するクライアント識別子とクライアントシークレット(client secret)を生成する。
【0057】
クライアント識別子は、クライアントアプリケーションが提供する登録情報を表す固有のストリングである。クライアント識別子は、アプリケーション認証のためのユーザ名として使用してもよい。
【0058】
クライアントシークレットは、アプリケーション認証に関連するパスワードとして使用してもよい固有のストリングである。
認証サーバ112はまた、後にリソースにアクセスするためにアプリケーションが使用する認証コードを生成する。詳しくは、認証コードはアクセストークンとリフレッシュトークンを取得するために使用され、これについては後でより詳しく説明する。
【0059】
また、340では機器とアプリケーションと認証コードが機器のユーザに関連付けられる。例えば、機器160とアプリケーション161とアプリケーション161のための認証コードが機器160のユーザに関連付けられる。このような関連付けは、
図1において関連付け情報116として示されている。
【0060】
関連付け情報116は、あらゆる非エンタプライズ機器のユーザと、それぞれの機器とアプリケーション、認証コードとの間のあらゆる数の様々な関連付けを含む。関連付け情報116は、エンタプライズシステム110内の関連付けを維持することと両立する、どのような関係データ構造(例えば、ルックアップテーブル、リンクリスト等)であってもよい。
【0061】
さらに、関連付け情報116は、エンタプライズシステム管理、例えば、これらに限定されないが、ユーザ管理、機器管理、アプリケーションと管理、ポリシ管理等のための基礎を提供し、これらについては後でより詳しく説明する。
【0062】
例えば、関連付け情報116はまた、紐付けと呼んでもよい。それゆえ、関連付け情報116は、少なくとも機器と機器のユーザとアプリケーションとの間の紐付けを生成させて、エンタプライズシステム110をスケーラブルに管理できるようにする。より具体的には、少なくとも機器とアプリケーションと機器のユーザの間の関連付けによって、エンタプライズシステムと、機器、機器のユーザ、アプリケーションとの間の信用関係が確立する。
【0063】
350で、コードがリダイレクトURLを介して機器に提供される。例えば、ワンタイムアクセスコード(one time-access code)(またはワンタイムアクティベーションコード(one-time activation code))と認証コードが機器150のブラウザ152に送られる。
【0064】
1つの実施形態において、350では状態パラメータがリダイレクトURLを介して機器に提供される。一般に状態パラメータは、クライアントアプリケーションが要求とコールバックの間の状態を保持するために使用する数値である。
【0065】
360で、ワンタイムアクティベーションコードがクライアントアプリケーションから認証サーバに送られる。例えば、350で認証サーバからクライアントアプリケーションに提供されたワンタイムアクティベーションコードが、クライアントアプリケーションからレプリゼンテイショナル ステート トランスファ(Representational State Transfer)(REST)アプリケーションプログラミングインタフェース(API)を介して認証サーバに送り返される。REST APIはセキュリティをさらに強化するために利用されるプロトコルである。例えば、REST APIを介して送信される情報は平文では(in the clear)送信されない。その結果、REST APIを介して送信される情報は、情報が平文で送信される場合と比較して、より安全である。
【0066】
362で、クライアントIDとクライアントシークレットがクライアントアプリケーションに送信される。例えば、350でワンタイムアクティベーションコードを受け取ったことに応答して、認証サーバ112がクライアントIDとクライアントシークレットを、RESTコールを介してアプリケーション151に送信する。
【0067】
機器は、クライアントIDとクライアントシークレットを安全に保存(または保持)することができる。これによって、登録されたアプリケーションと機器は、とりわけクライアントIDとクライアントシークレットを1回で受け取ることができる。これに加えて、クライアントIDとクライアントシークレットは、332でユーザによる1回の認証ログインに基づいて生成される。
【0068】
例えば、アプリケーション151が登録され、上述のようにクライアントIDとクライアントシークレットを受け取る。アプリケーションがオフにされ、その後、後の時点で再びオンにされると、アプリケーション151は依然として、保存されたクライアントIDとクライアントシークレットを使ってリソースにアクセスしてもよく、332でユーザログイン等、登録/認証ステップをもう一度行う必要がない。
【0069】
370で、クライアントID、クライアントシークレットおよび認証コードがアプリケーションからエンタプライズシステム110に送られる。例えば、クライアントID、クライアントシークレットおよび認証コードは、RESTコールを介して認証サーバ112に送られる。これは、アクセストークンまたはリフレッシュトークンを認証サーバから取得するために行われる。
【0070】
372で、アクセストークンまたはリフレッシュトークンがアプリケーションに送られる。例えば、認証サーバ112は、クライアントID、クライアントシークレットおよび認証コードをアプリケーションから受け取ったことに応答して、アプリケーション151にアクセストークンを送る。
【0071】
アクセストークンは、保護されたリソースにアクセスするために使用される認証情報である。アクセストークンは、クライアントアプリケーションに発行された認証を表すストリングである。トークンは、リソースのオーナーによって付与された具体的なアクセス権限と期間を表し、リソースサーバと認証サーバによって実施される。
【0072】
同様に、リフレッシュトークンはアクセストークンを取得するために使用される認証情報である。リフレッシュトークンは、認証サーバによってクライアントアプリケーションに発行され、現在のアクセストークンが無効になった、または失効した時に新しいアクセストークンを取得するために、または同じまたはより範囲の追加のアクセストークンを取得するために使用される(アクセストークンは、リソースオーナーによって認められたものより寿命が短く、許可の数が少ないかもしれない)。
【0073】
アクセストークン/リフレッシュトークンは機器で保存または保持される。これによって、登録されたアプリケーションと機器は、とりわけユーザによる1回のログインに基づいてアクセスまたはリフレッシュトークンをリソースサーバに提供できる。
【0074】
例えば、アプリケーション151がオフにされ、その後、後の時点で再びオンにされると、アプリケーション151は依然として、保存されたトークンを使ってリソースにアクセスしてもよく、332でユーザログイン等、登録/認証ステップをもう一度行う必要がない。
【0075】
380で、アクセストークンまたはリフレッシュトークンがリソースサーバに送信される。例えば、クライアント機器に保存されたアクセストークンまたはリフレッシュトークンは、RESTコールを介してリソースサーバ120に送信される。
【0076】
382で、アプリケーションがリソースにアクセスする。例えば、アクセストークンをリソースサーバ120に提供することにより、アプリケーション151は保護されたリソース122にアクセスできる。
【0077】
図3に示される機器/アプリケーションの動的登録のプロセスステップにより、エンタプライズシステム110のダイナミックで、スケーラブルで、安全な管理が可能となる。例えば、いくつのアプリケーションでもアプリケーションアクセステンプレート114〜114nを介して事前登録できる。したがって、あらゆる数の機器(例えばモバイル機器)があらゆる数のアプリケーションを含むことができ、これらは、動的に登録されると、エンタプライズシステムのリソースにアクセスできる。動的登録は自動登録要求に基づいて実行されてもよく、これはアプリケーションと機器の登録のための手作業による介入を削減する。さらに、ユーザ認証には、例えば332での1回のログインが必要である。
【0078】
これに加えて、エンタプライズシステム110の管理は動的に構成され、スケーラブルであってもよい。1つの実施形態において、いずれかの機器(例えば機器150と機器160)がなくなった場合、それらの機器のためのアクセストークンを取り消してもよい。例えば、関連付け情報116の中で機器150と機器160の検索を行う。関連付け情報116の中で機器150と機器160にアクセスされたら、機器150と機器160を関連付け情報116から削除し、それらの機器のために生成されたトークンを取り消す。その結果、これらの機器とインストールされたアプリケーションはリソース122にアクセスできない。
【0079】
他の実施形態において、いずれかのアプリケーションによるリソースへのアクセスを取り消してもよい。例えば、アプリケーション151は当初、リソース122へのアクセスが許可される。しかしながら、アプリケーション151は壊れるかもしれない(例えばウイルス、バグ等)。したがって、アプリケーション151に関連するアプリケーションアクセステンプレート(例えばアプリケーションアクセステンプレート114)を認証サーバ112から削除してもよい。その結果、アプリケーション151のいずれのインスタンスも登録が解除され、リソース122にアクセスできない。
【0080】
フロー
図300に関して上述した手順のいずれも、ハードウェア、またはハードウェアとファームウェアおよび/またはソフトウェアとの組み合わせで実行してもよいことがわかる。例えば、手順のいずれも、クラウド環境および/またはコンピューティング環境(例えば非エンタプライズ機器140、エンタプライズシステム110等)のプロセッサによって実施される。
【0081】
図4は、各種の実施形態による、アプリケーションをエンタプライズシステムに自動的に登録する方法のフロー図を示す。
ここで
図4を参照すると、410で、エンタプライズシステムに関連するアプリケーションが取得され、このアプリケーションは後にエンタプライズシステムに登録するように事前設定される。
【0082】
例えば、アプリケーションは、機器150にインストールするためにエンタプライズアプリケーションストア130から選択される。1つまたは複数のアプリケーションの選択は、1つの実施形態において、ユーザが機器にインストールするべき1つまたは複数のアプリケーションを選択したことに応答して行われてもよい。
【0083】
登録要求は、これらに限定されないが、製品識別情報、機器識別情報、要求されるアクセス権限、アプリケーションリダイレクトURLを含んでいてもよいと理解するべきである。さらに、登録によってアプリケーションとエンタプライズシステムとの間に信用関係が確立する。具体的には、完了した登録プロセスによって、少なくとも非エンタプライズ機器と非エンタプライズ機器のユーザと非エンタプライズ機器にインストールされたアプリケーションとの間の関連付けまたは紐付けが行われる。
【0084】
420で、アプリケーションがホスト機器にインストールされる。例えば、アプリケーション151は機器150にインストールされる。インストールは、1つの実施形態において、ユーザがエンタプライズアプリケーションストア130からアプリケーションを選択したことに応答して行われてもよい。他の実施形態において、インストールは、機器150がエンタプライズアプリケーションストア130に通信的に接続されたことに応答して自動的に行われてもよい。
【0085】
422で、モバイルアプリケーションがモバイル機器にインストールされる。例えば、アプリケーション151(例えばマイクロソフト アウトルック(商標))が機器150(例えばiPhone(商標))にインストールされる。
【0086】
430で、アプリケーションのインストールに関連して、アプリケーションはエンタプライズシステムへの登録を自動的に要求する。例えば、アプリケーション151が機器150にインストールされると、アプリケーション151はエンタプライズシステム110への登録を自動的に要求する。
【0087】
他の実施形態において、アプリケーションは、非エンタプライズ機器上のアプリケーションの初期実行時に自動的に登録を要求してもよい。
432で、1つの実施形態においては、アプリケーションがリソースサーバへの登録を自動的に要求する。例えば、モバイル機器150にインストールされた複数のモバイルアプリケーションは(認証サーバ112を介して)リソースサーバ120への登録を自動的に要求し、複数のモバイルアプリケーションがリソースサーバ120により制御、管理される保護されたリソース122にアクセスできるようにする。
【0088】
440で、エンタプライズシステム内のリソースにアクセスするための許可が受け取られる。例えば、モバイル機器150にインストールされた複数のアプリケーションが、リソース122にアクセスするための許可を受け取る。詳しくは、許可は、アプリケーション登録のパラメータがそれぞれのアプリケーションアクセステンプレートのパラメータと一致したことに基づいて受け取られる。
【0089】
450で、ワンタイムアクセスコードが認証サーバに送られる。例えば、ワンタイムアクティベーションコードが認証サーバからクライアントアプリケーションに提供される。ワンタイムアクティベーションコードはその後、RESTコールを介してクライアントアプリケーションから認証サーバに送り返される。
【0090】
460で、クライアント識別情報およびクライアントシークレットが認証サーバから受け取られる。例えば、アプリケーション151からワンタイムアクティベーションコードを受け取ったことに応答して、認証サーバ112がクライアントIDとクライアントシークレットを、RESTコールを介してアプリケーション151に送信する。
【0091】
470で、アクセストークンがエンタプライズシステム内のリソースにアクセスするために提供される。例えば、認証サーバ112は、アプリケーションからクライアントID、クライアントシークレットおよび認証コードを受け取ったことに応答して、アプリケーション151と161にアクセストークンを送る。
【0092】
480で、リソースがモバイル機器によって安全にアクセスされ、このモバイル機器はエンタプライズシステムのファイアウォールの外にある。例えば、モバイル機器160はエンタプライズシステム110のファイアウォールの外にある。さらに、モバイル機器160とアプリケーション161はエンタプライズシステム110に適正に登録、認証され、アプリケーション161もまたリソース122に安全にアクセスできる。
【0093】
フロー
図400に関して上述した手順のいずれも、ハードウェア、またはハードウェアとファームウェアおよび/またはソフトウェアとの組み合わせで実行してもよいことがわかる。例えば、手順のいずれもクラウド環境および/またはコンピューティング環境のプロセッサによって実施される。
【0094】
図5は、各種の実施形態による、エンタプライズシステムにアプリケーションを自動的に登録する方法のフロー図を示す。
ここで
図5を参照すると、510で、アプリーションをエンタプライズシステムに登録することに対する、自動的に生成された要求が受け取られる。この要求は、アプリケーションをホスト機器にインストールしたことに関連して受け取られ、このアプリケーションはエンタプライズシステムに登録する要求を自動的に生成するように事前設定されている。例えば、アプリケーション161からの自動的に生成された登録要求がエンタプライズシステム110で受け取られる。モバイルアプリケーション161は、モバイル機器160にインストールされることに関連して登録要求を自動的に送るように事前設定されている。
【0095】
1つの実施形態において、登録要求は、製品識別情報、機器識別情報、要求されるアクセス権限、およびアプリケーションリダイレクトURLのうちの1つまたは複数を含む。さらに、登録によってアプリケーションとエンタプライズシステムとの間に信用関係が確立する。
【0096】
512で、モバイルアプリケーションを登録することに対する自動的に生成された要求が受け取られる。例えば、アプリケーション161(例えばワードプロセシングアプリケーション)が自動的に生成した登録要求が認証サーバ112によって受け取られる。
【0097】
520で、アプリケーションがエンタプライズシステムに登録される。例えば、登録要求の1つまたは複数の属性が、それぞれアプリケーションアクセステンプレートの1つまたは複数の属性と一致した場合、そのアプリケーションがエンタプライズシステムに登録される。
【0098】
522で、1つの実施形態おいては、モバイルアプリケーションがリソースサーバに登録される。例えば、あるモバイル機器にインストールされた複数のモバイルアプリケーションが(認証サーバ112を介して)リソースサーバ120に登録される。
【0099】
530で、モバイルアプリケーションからのワンタイムアクセスコードが受け取られる。例えば、ワンタイムアクセスコードまたはアクティベーションコードが、モバイル機器にインストールされたモバイルアプリケーションから認証サーバ112に送信される。1つの実施形態において、ワンタイムアクセスコードがRESTコールを介して送られる。
【0100】
540で、クライアント識別情報とクライアントシークレットがモバイルアプリケーションに送られる。例えば、クライアント識別情報とクライアントシークレットがエンタプライズシステム110によって生成される。クライアント識別情報とクライアントシークレットは次に、登録されたモバイルアプリケーション、例えばモバイルアプリケーション151に送られる。
【0101】
550で、アプリケーションからアクセストークンが受けられ、アプリケーションはエンタプライズシステムの中のリソースにアクセスできる。例えば、アクセストークンは登録されたモバイルアプリケーションから送られ、認証サーバ112によって受け取られて、登録されたモバイルアプリケーションは保護されたリソース122にアクセスできる。
【0102】
560で、モバイル機器がリソースに安全にアクセスすることが可能とされ、このモバイル機器はエンタプライズシステムのファイアウォールの外にある。例えば、モバイルアプリケーション151がエンタプライズシステム110のファイアウォールの外にあるモバイル機器150にインストールされる。モバイルアプリケーション151とモバイル機器150はエンタプライズシステム110に適正に登録、認証されて、モバイルアプリケーション151は保護されたリソース122にアクセスできる。
【0103】
フロー
図500に関して上述した手順のいずれも、ハードウェア、またはハードウェアとファームウェアおよび/またはソフトウェアとの組み合わせで実行してもよいことがわかる。例えば、手順のいずれもクラウド環境および/またはコンピューティング環境のプロセッサによって実施される。
【0104】
図6は、各種の実施形態による、エンタプライズシステムにアプリケーションを登録することに係る手作業による入力を削減するための方法のフロー図を示す。
610で、アプリケーションへのアクセスが許可され、このアプリケーションは、アプリケーションがホスト機器にインストールされることに関連してエンタプライズシステムへの登録を自動的に要求するように事前設定されている。例えば、アプリケーション131〜131nはエンタプライズアプリケーションストア130の中にあり、後に非エンタプライズ機器140にダウンロードされるためにアクセス可能である。アプリケーション131〜131nは、これらが非エンタプライズ機器140へのインストールに関連してエンタプライズシステム110への登録を自動的に要求するように構成されている。
【0105】
各種の実施形態において、登録要求は製品識別情報、機器識別情報、要求されるアクセス権限、およびアプリケーションリダイレクトURLを含む。さらに、登録によってアプリケーションとエンタプライズシステムとの間に信用関係が確立する。
【0106】
1つの実施形態において、612では、複数のアプリケーションへのアクセスが許可される。例えば、モバイルアプリケーション131〜131nはエンタプライズアプリケーションストア130の中にあり、後に各種のモバイル機器、例えばモバイル機器150とモバイル機器160にダウンロードされるためにアクセス可能である。
【0107】
620で、自動登録要求によるアプリケーションの登録に係る手作業による入力が削減される。例えば、非エンタプライズ機器へのアプリケーションのインストールに関連してアプリケーションをエンタプライズシステム110に自動的に登録することによって、アプリケーションの登録に係るユーザのいずれかの入力が排除される。例えばユーザは、機器識別情報、登録コード等のいずれの登録情報も手作業により入力する必要がない。
【0108】
622では、1つの実施形態において、手作業による入力はモバイル機器にインストールされたモバイルアプリケーションを登録するステップに関連して削減される。例えば、あるモバイル機器のユーザは、モバイル機器にインストールされたモバイルアプリケーションの登録のためのいずれの登録情報も手作業により入力する必要がない。
【0109】
図7は、各種の実施形態によるエンタプライズシステムのスケーラブルな管理のための方法のフロー図を示す。
710で、アプリケーションとホスト機器がエンタプライズシステムに動的に登録され、このアプリケーションはホスト機器にインストールされる。例えば、アプリケーション151と機器150は、ひとつに、機器150へのインストールに関連したアプリケーションの自動登録に基づいてエンタプライズシステム110に動的に登録される。
【0110】
各種の実施形態において、登録要求は、製品識別情報、機器識別情報、要求されるアクセス権限、およびアプリケーションリダイレクトURLからなる群から選択された登録情報を含む。さらに、登録によってアプリケーションとエンタプライズシステムとの間に信用関係が確立する。
【0111】
720で、ホスト機器のユーザはエンタプライズシステムに認証される。例えば、認証サーバ112は機器150のブラウザ152をユーザログインウィンドウにリダイレクトする。ユーザログインウィンドウで、ユーザはログイン情報(例えばログイン名、パスワード等)を提供する。ログイン情報が認証サーバ112によって検証されると、検証結果がリソースサーバ120に送信され、ユーザはエンタプライズシステム110のリソース122にアクセスする許可を得る。
【0112】
730で、アプリケーションとホスト機器とホスト機器のユーザが相互に関連付けられ、エンタプライズシステムを信用関係に基づいてスケーラブルに管理することが可能となる。例えば、エンタプライズシステム110は、アプリケーションとホスト機器と認証コードのホストユーザとの関連付けまたは紐付けを含む関連付け情報116を生成する。
【0113】
関連付け情報116によってエンタプライズシステム110のスケーラブルな管理が可能となる。例えば、関連付け情報116は、追加の関連付けがなされた時には規模を大きくでき、関連付けが削除された時には規模を小さくできる。
【0114】
740で、ホスト機器は、そのホスト機器を関連付けから削除することによって、エンタプライズシステムへの登録が解除される。例えば、機器150がなくなった場合、機器150を関連付け情報116から削除してもよい。その結果、機器150はエンタプライズシステムへの登録が解除され、エンタプライズシステム110内の保護されたリソースにアクセスできない。
【0115】
750で、アプリケーションのエンタプライズへの登録が、前記アプリケーションに関連するアプリケーションアクセステンプレートを削除することによって解除される。例えば、アプリケーション151が壊れた場合(例えばウイルス)、アプリケーション151に関連するアプリケーションアクセステンプレートを削除してもよい。その結果、アプリケーション151はエンタプライズシステム110への登録が解除され、いずれのモバイル機器にインストールされたアプリケーション151のいずれのインスタンスもエンタプライズシステム110内のリソースにアクセスできない。さらに、アプリケーション151が関連付け情報116から削除される。
【0116】
760で、ホスト機器のユーザのエンタプライズシステムへの登録が解除される。例えば、その企業を辞めたユーザは関連付け情報116から削除される。したがって、そのユーザはリソース122にアクセスできない。
【0117】
図8は、各種の実施形態による、エンタプライズシステムへの動的な登録を可能にする方法のフロー図を示す。
810で、アプリケーションアクセステンプレートにアクセスされ、このアプリケーションアクセステンプレートは、アプリケーションのエンタプライズシステムへのアクセス権限を規定するように構成される。例えば、アプリケーションアクセテンプレート114は、ひとつに、エンタプライズシステム110内の保護されたリソースへのアプリケーションのアクセス権限を規定するように生成される。さらに、アプリケーションアクセステンプレート114は、例えばエンタプライズサーバによってアクセス可能となり、エンタプライズシステム110へのアプリケーションの登録が容易になる。
【0118】
812で、アプリケーションアクセステンプレートのパラメータがアプリケーションによる自動登録要求のパラメータと比較される。例えば、アプリケーションアクセステンプレートのパラメータ(例えばリダイレクトURL)がアプリケーションによる自動登録要求のパラメータ(例えばリダイレクトURL)と比較される。
【0119】
820で、アプリケーションがエンタプライズシステムに登録される。例えば、機器150にインストールされたアプリケーション151がエンタプライズシステム110に登録される。
【0120】
登録要求は、これらに限定されないが、製品識別情報、機器識別情報、要求されるアクセス権限、およびアプリケーションリダイレクトURLを含むことを理解するべきである。さらに、登録によってアプリケーションとエンタプライズシステムとの間に信用関係が確立する。
【0121】
822で、アプリケーションアクセステンプレートのパラメータがアプリケーションによる自動登録要求のパラメータと一致した場合にアプリケーションが、登録される。例えば、アプリケーションアクセステンプレートのパラメータ(例えばリダイレクトURL)が自動登録要求のパラメータ(例えばリダイレクトURL)と一致した場合、アプリケーションがエンタプライズシステム110に登録される。
【0122】
830で、アプリケーションアクセステンプレートの中で規定されたアクセス権限がアプケーションに付与される。例えば、特定のアプリケーションのためのアクセス権限は、アプリケーションアクセステンプレートによって規定される。規定されたアクセス権限は、アプリケーションのエンタプライズシステム110への登録時にアプリケーションに付与される。
例示的なホストコンピュータシステム
図9は、本発明の1つまたは複数の実施形態を実行するように構成された仮想化コンピュータシステムを示す概略図である。仮想化コンピュータシステムは、ハードウェアプラットフォーム930を含むホストコンピュータシステム900で実装される。1つの実施形態において、ホストコンピュータシステム900は従来の、一般的にサーバクラスのハードウェアプラットフォーム上に構築される。
【0123】
ハードウェアプラットフォーム930は1つまたは複数の中央処理ユニット(CPU)932と、システムメモリ934と、ストレージ936と、を含む。ハードウェアプラットフォーム930はまた、ホストコンピュータシステム900をネットワークに接続する1つまたは複数のネットワークインタフェースコントローラ(NIC)と、ホストコンピュータシステム900を永続的ストレージユニットに接続する1つまたは複数のホストバスアダプタ(HBA)も含んでいてよい。
【0124】
ハイパーバイザ920は、ハードウェアプラットフォーム930の上にインストールされ、仮想マシン実行空間をサポートし、その中で1つまたは複数の仮想マシン(VM)が同時にインスタンス化され、実行される。各仮想マシンは、アプリケーションを実行できるゲストオペレーティングシステム(OS)のインストールをサポートする仮想ハードウェアプラットフォームを実装する。例えば、仮想マシン922の仮想ハードウェア924は、仮想マシン910内でアプリケーション912を実行できるゲストOS 914のインストールをサポートする。
【0125】
ゲストOS 914は、よく知られたコモディティオペレーティングシステム、例えばマイクロソフト ウィンドウズ(商標)、Linux(商標)、その他のいずれでもよく、ネイティブファイルシステムレイヤ、例えばNTFSまたはext3FS型のファイルシステムレイヤを含む。ゲストOS 914によってネイティブファイルシステムレイヤを通じて発行されるIOは、ゲストOS 916にとって、仮想マシン910のためにプロビジョニングされた(provisioned)1つまたは複数の仮想ディスクに送られて最終的に実行されるように見えるが、このようなIOは実際には、ハイパーバイザ920のIOスタック926によって再処理され、再処理されたIOが例えばHBAを通じてストレージシステムに発行される。
【0126】
仮想マシンモニタ(Virtual machine monitor : VMM)922と922nは仮想マシンとハイパーバイザ920の間の別々の仮想化コンポーネントと考えてもよく(これは、このような考えでは、それ自体が仮想「カーネル」コンポーネントと考えてもよい)、それは、インスタンス化された各VMのための別々のVMMがあるからである。あるいは、各VMMは、これらのVMMが仮想マシンのためのハードウェアエミュレーションコンポーネントを含むことから、その対応する仮想マシンのコンポーネントと考えてもよい。本明細書で説明した技術はまた、ホストの仮想化コンピュータシステムにも適用可能であることも理解するべきである。さらに、実現される利点は異なるかもしれないが、本明細書で説明した技術は特定の非仮想化コンピュータシステムに適用してもよい。
【0127】
本明細書で説明した各種の実施形態は、ハンドヘルド機器、マイクロプロセッサシステム、マイロクプロセッサに基づく、またはプログラム可能な民生用電子機器、ミニコンピュータ、メインフレームコンピュータ、その他を含む他のコンピュータシステム構成でも実施できる。
【0128】
本発明の1つまたは複数の実施形態は、1つまたは複数のコンピュータプログラムとして、または1つまたは複数のコンピュータ可読媒体に埋め込まれた1つまたは複数のコンピュータプログラムモジュールとして実装してもよい。コンピュータ可読媒体という用語は、後にコンピュータシステムに入力できるデータを保存可能なすべてのデータ記憶機器を指し、すなわちコンピュータ可読媒体は、コンピュータによる読み取りが可能な方法でコンピュータプログラムを具現化するための既存の、または今後開発されるあらゆる技術に基づいていてもよい。コンピュータ可読媒体の例には、ハードドライブ、ネットワークアタッチトストレージ(NAS)、リードオンリメモリ、ランダムアクセスメモリ(例えばフラッシュメモリデバイス)、CD(コンパクトディスク)、例えばCD−ROM、CD−RまたはCD−RW、DVD(デジタル多用途ディスク)、磁気テープ、およびその他の光および光以外のデータ記憶機器が含まれる。コンピュータ可読媒体はまた、ネットワークで接続されたコンピュータステムに分散させることもでき、それによってコンピュータ可読コードが分散された状態で保存され、実行される。
【0129】
本発明の1つまたは複数の実施形態を、明瞭に理解できるようにある程度詳しく説明したが、特定の変更や改変を特許請求の範囲内で行えることが明らかであろう。したがって、説明した実施形態は例示的であって限定的ではないと考えるべきであり、特許請求の範囲は本明細で説明した詳細事項に限定されず、特許請求の範囲と均等物の中で改変してもよい。特許請求項において、要素および/またはステップは、特許請求の範囲で明確に述べられていないかぎり、特定の動作の順番は一切黙示していない。
【0130】
各種の実施形態による仮想化システムは、ホストされた実施形態でも、ホストされていない実施形態でも、またはそれら2つの間の区別を曖昧にする傾向のある実施形態でも実装でき、これらはすべて想定されている。さらに、各種の仮想化動作は全部または部分的にハードウェアで実装してもよい。例えば、ハードウェア実装では、ストレージアクセス要求を変更するためにルックアップテーブルを利用して、ディスク以外のデータを保護してもよい。
【0131】
仮想化の程度に関係なく、多くの変更、改変、追加、改良が可能である。仮想化ソフトウェアはしたがって、仮想化機能を実行するホスト、コンソールまたはゲストオペレーティングシステムのコンポーネントを含むことができる。本明細書において単独のインスタンスとして説明されたコンポーネント、動作または構造に、複数のインスタンスを提供してもよい。最後に、各種のコンポーネント、動作、データストア間の境界は幾分任意であり、特定の動作は具体的な例示的構成に関して示されている。機能のその他の割り当ても想定され、本発明の中に含めてもよい。一般に、例示的構成の中で別々のコンポーネントとして示された構造と機能は、組み合わされた構造またはコンポーネントとして実装してもよい。同様に、単独のコンポーネントとして示された構造と機能は別々のコンポーネントとして実装してもよい。これらおよびその他の変更、改変、追加、改良も付属の特許請求の範囲の中に含めてもよい。
【0132】
要約すれば、この説明は少なくとも以下のような広い概念を示している。
概念1。エンタプライズシステムにアプリケーションを自動的に登録するコンピュータ実装方法であって、
前記エンタプライズシステムに関連する前記アプリケーションを取得するステップであって、
前記アプリケーションが、後に前記エンタプライズシステムに登録されるように事前設定されており、
前記登録によって前記アプリケーションと前記エンタプライズシステムとの間に信用関係が確立するように、前記登録のための要求が、
製品識別情報、
機器識別情報
要求されるアクセス権限、および
アプリケーションリダイレクト ユニフォーム リソース ロケータ(URL)を含む、前記エンタプライズシステムに関連する前記アプリケーションを取得するステップと、
前記アプリケーションをホスト機器にインストールするステップと、
前記アプリケーションをインストールする前記ステップに関連して、前記アプリケーションの前記エンタプライズシステムへの前記登録を自動的に要求するステップと、
を含む。
概念2。概念1のコンピュータ実装方法において、前記アプリケーションをホスト機器にインストールするステップは、
モバイルアプリケーションをモバイル機器にインストールするステップをさらに含む。
概念3。概念1のコンピュータ実装方法において、前記アプリケーションの前記登録を自動的に要求するステップは、
前記アプリケーションの認証サーバへの登録を自動的に要求するステップをさらに含む。
概念4。概念1のコンピュータ実装方法において、
前記エンタプライズシステム内のリソースにアクセスする許可を受け取るステップをさらに含む。
概念5。概念1のコンピュータ実装方法において、
認証サーバにワンタイムアクセスコードを送るステップをさらに含む。
概念6。概念1のコンピュータ実装方法において
認証サーバからクライアント識別情報とクライアントシークレットを受け取るステップをさらに含む。
概念7。概念1のコンピュータ実装方法において、
前記エンタプライズシステム内のリソースにアクセスするためのアクセストークンを提供するステップをさらに含む。
概念8。概念1のコンピュータ実装方法において、
モバイル機器によってリソースに安全にアクセスするステップをさらに含み、前記モバイル機器は前記エンタプライズシステムのファイアウォールの外にある。
概念9。エンタプライズシステムにアプリケーションを自動的に登録するコンピュータ実装方法であって、
前記アプリケーションを前記エンタプライズシステムに登録することに対する、自動的に生成された要求を受け取るステップであって、前記登録によって前記アプリケーションと前記エンタプライズシステムとの間に信用関係が確立するように、前記要求が製品識別情報、機器識別情報、要求されるアクセス権限、およびアプリケーションリダイレクト ユニフォーム リソース ロケータ(URL)のうちの1つまたは複数を含み、前記要求はホスト機器への前記アプリケーションのインストールに関連して受け取られ、前記アプリケーションは前記エンタプライズシステムに登録することに対する前記要求を自動的に生成するように事前設定されている、前記要求を受け取るステップと、
前記アプリケーションを前記エンタプライズシステムに登録するステップと、
を含む。
概念10。概念9のコンピュータ実装方法において、前記アプリケーションを登録することに対する、自動的に生成された要求を受け取るステップは、
モバイルアプリケーションを登録することに対する、自動的に生成された要求を受け取るステップをさらに含む。
概念11。概念9のコンピュータ実装方法において、自動的に生成された登録要求を受け取るステップは、製品識別情報、機器識別情報、要求されるアクセス権限、およびリダイレクト ユニフォーム リソース ロケータ(URL)のうちの1つまたは複数をさらに含む。
概念12。概念9のコンピュータ実装方法において、前記アプリケーションを前記エンタプライズシステムに登録するステップは、
モバイルアプリケーションを認証サーバに登録するステップをさらに含む。
概念13。概念9のコンピュータ実装方法において、
モバイルアプリケーションからワンタイムアクセスコードを受け取るステップをさらに含む。
概念14。概念9のコンピュータ実装方法において、
クライアント識別情報とクライアントシークレットをモバイルアプリケーションに送るステップをさらに含む。
概念15。概念9のコンピュータ実装方法において、
前記アプリケーションからアクセストークンを受け取り、前記アプリケーションが前記エンタプライズシステム内のリソースにアクセスすることを可能にするステップをさらに含む。
概念16。概念9のコンピュータ実装方法において、
モバイル機器によるリソースへのアクセスを安全に可能にするステップであって、前記モバイル機器が前記エンタプライズシステムのファイアウォールの外にあるようなステップをさらに含む。
概念17。エンタプライズシステムへのアプリケーションの登録に係る手作業による入力を削減する方法であって、
アプリケーションへのアクセスを許可するステップであって、前記アプリケーションが、前記アプリケーションをホスト機器にインストールするステップに関連して前記エンタプライズシステムへの登録を自動的に要求するように事前設定され、前記事前設定されたアプリケーションには、ユーザが前記登録情報を手作業により入力する必要がなくなるように登録情報が事前に含まれ、前記登録情報が、前記登録によって前記アプリケーションと前記エンタプライズシステムとの間に信用関係が確立するように、製品識別情報、機器識別情報、要求されたアクセス権限、およびアプリケーションリダイレクト ユニフォーム リソース ロケータ(URL)を含む、前記アプリケーションへのアクセスを許可するステップと、
前記ユーザが前記登録情報を手作業により入力する必要がなくなることに基づいて、前記アプリケーションを登録する前記ステップに係る手作業による入力を削減するステップと、
を含む。
概念18。概念17の方法において、アプリケーションへのアクセスを許可するステップは、
複数のモバイルアプリケーションへのアクセスを許可するステップをさらに含む。
概念19。概念17の方法において、登録する前記ステップに係る手作業による入力を削減するステップが、
モバイル機器にインストールされたモバイルアプリケーションを登録するステップに係る手作業による入力を削減するステップをさらに含む。
概念20。エンタプライズシステムをスケーラブルに管理するためのコンピュータ実装方法であって、
アプリケーションとホスト機器をエンタプライズシステムに動的に登録するステップであって、登録要求が、前記登録によって前記エンタプライズシステムと、前記アプリケーションおよび前記機器の両方との間に信用関係が確立するように、製品識別情報、機器識別情報、要求されたアクセス権限、およびアプリケーションリダイレクト ユニフォーム リソース ロケータ(URL)からなる群から選択された登録情報を含み、前記アプリケーションが前記ホスト機器にインストールされる、前記アプリケーションとホスト機器をエンタプライズシステムに動的に登録するステップと、
前記ホスト機器のユーザを前記エンタプライズシステムに認証するステップと、
前記エンタプライズシステムを前記信用関係に基づいてスケーラブルに管理できるように、前記アプリケーションと前記ホスト機器と前記ユーザを関連付けるステップと、
を含む。
概念21。概念20のコンピュータ実装方法は、
前記ホスト機器を前記関連付けから削除することによって前記ホスト機器の前記エンタプライズシステムへの登録を解除するステップをさらに含む。
概念22。概念20のコンピュータ実装方法において、
前記アプリケーションの前記エンタプライズシステムへの登録を、前記アプリケーションに関連するアプリケーションアクセステンプレートを削除することによって解除するステップをさらに含む。
概念23。概念20のコンピュータ実装方法において、
ユーザの前記エンタプライズシステムへの登録を、前記ユーザを前記関連付けから削除することによって解除するステップをさらに含む。
概念24。エンタプライズシステムへの動的登録を可能にするコンピュータ実装方法において、前記コンピュータ実装方法は、
前記エンタプライズシステムへのアプリケーションのアクセス権限を規定するように構成されたアプリケーションアクセステンプレートにアクセスするステップと、
前記アプリケーションを前記エンタプライズシステムに登録するステップであって、
登録するステップによって前記アプリケーションと前記エンタプライズシステムとの間に信用関係が確立するように、前記登録に対する要求が、
製品識別情報、
機器識別情報、
要求されたアクセス権限、および
アプリケーションリダイレクト ユニフォーム リソース ロケータ(URL)を含む、前記アプリケーションを前記エンタプライズシステムに登録するステップと、
前記アプリケーションアクセステンプレートの中で規定された前記アクセス権限を前記アプリケーションに付与するステップと、
を含む。
概念25。概念24のコンピュータ実装方法において、前記アプリケーションアクセステンプレートにアクセスするステップは、
前記アプリケーションアクセステンプレートのパラメータを前記アプリケーションにより要求された自動登録のパラメータと比較するステップをさらに含む。
概念26。概念24のコンピュータ実装方法において、前記アプリケーションを登録するステップが、
前記アプリケーションアクセステンプレートのパラメータが前記アプリケーションによって要求された自動登録のパラメータと一致した時に前記アプリケーションを登録するステップをさらに含む。
【0133】
本願の主旨の例示的実施形態をこれまで説明した。各種の実施形態を構造的特徴および/または方法論的行為に特有の文言で説明したが、当然のことながら、付属の特許請求項は上述の具体的な特徴または行為に不必要に限定されない。むしろ、上述の具体的な特徴と行為は、特許請求項とその均等物を実施するための例示的な形態として開示されている。