(57)【特許請求の範囲】
【請求項１】
方法であって、
コンピュータシステムが、企業システムのユーザのＩＤに関連付けられたユーザ役割を特定するステップと、
前記コンピュータシステムが、前記企業システムにアクセスするように前記ＩＤに登録された第１リモート装置の装置情報を検索するステップと、
前記コンピュータシステムが、前記ユーザ役割に基づいて、前記企業システム内のアクセス可能な第１リソースへのアクセス権を前記ＩＤに与えるアカウントを決定するステップとを含み、前記第１リソースは、前記ユーザ役割でアクセス可能な複数のアプリケーションのうち、第１アプリケーションを用いて、前記第１リモート装置からアクセス可能であり、
前記コンピュータシステムが、第１リモート装置を用いて前記アカウントの前記第１リソースにアクセスするように第１アプリケーションを設定するステップを含み、前記第１アプリケーションは、前記第１リソースを提供する第１ターゲットシステムに接続するように、接続情報を用いて設定され、前記第１アプリケーションは、前記アカウントの前記第１リソースにアクセスするように、アクセス情報を用いて設定され、
前記コンピュータシステムが、前記第１アプリケーションを設定したとき、当該第１アプリケーションを前記第１リモート装置に送信するステップを含む、方法。
【請求項２】
前記コンピュータシステムが、前記企業システムにアクセスするように前記ＩＤに登録された複数のリモート装置のうち、第２リモート装置を検出するステップと、
前記コンピュータシステムが、前記第１アプリケーションを設定したとき、当該第１アプリケーションを前記第２リモート装置に送信するステップとをさらに含む、請求項１に記載の方法。
【請求項３】
前記コンピュータシステムが、第１ユーザ役割から第２ユーザ役割に変更する前記ユーザ役割の変更を検出するステップと、
前記コンピュータシステムが、前記第２ユーザ役割に基づいて、前記ＩＤによる前記第１リソースへのアクセス権の変更を判断するステップと、
前記コンピュータシステムが、前記アクセス権の変更に基づいて前記第１アプリケーションのコンフィグレーションを変更するように、第１リモート装置に指示するステップとをさらに含む、請求項１または２に記載の方法。
【請求項４】
前記コンピュータシステムが、前記企業システムにアクセスするように前記ＩＤに登録された複数のリモート装置を検出するステップと、
前記コンピュータシステムが、前記第１アプリケーションを設定したとき、当該第１アプリケーションを前記複数のリモート装置に送信するステップと、
前記コンピュータシステムが、前記アクセス権の変更に基づいて前記第１アプリケーションのコンフィグレーションを変更するように、前記複数のリモート装置の各々に指示するステップとをさらに含む、請求項３に記載の方法。
【請求項５】
前記第１リソースへの前記アクセス権の変更は、前記第１リソースへのアクセス権の取消を含み、
前記第１アプリケーションの変更は、前記第１アプリケーションのために設定された前記接続情報および前記アクセス情報の削除を含む、請求項３または４に記載の方法。
【請求項６】
前記第１リソースへの前記アクセス権の変更は、前記第１リソースへのアクセス権の取消を含み、
前記第１アプリケーションの変更は、前記第１リモート装置から前記第１アプリケーションを削除することを含む、請求項３から５のいずれか１項に記載の方法。
【請求項７】
前記第１アプリケーションの変更は、前記第１アプリケーションのために設定された前記アクセス情報の調整を含む、請求項３から６のいずれか１項に記載の方法。
【請求項８】
前記コンピュータシステムが、第１ユーザ役割から第２ユーザ役割に変更する前記ユーザ役割の変更を検出するステップと、
前記コンピュータシステムが、前記第２ユーザ役割に基づいて、前記第２ユーザ役割でアクセス可能な前記複数のアプリケーションのうち、第２アプリケーションを検出するステップと、
前記コンピュータシステムが、前記ＩＤを用いて前記第１リモート装置からアクセスするように、前記第２アプリケーションを設定するステップとを含み、前記第２アプリケーションは、第２ターゲットシステムによって提供された第２リソースにアクセスするように、情報を用いて設定され、
前記コンピュータシステムが、前記第２アプリケーションを第１リモート装置に送信するステップをさらに含む、請求項１から７のいずれか１項に記載の方法。
【請求項９】
前記装置情報は、前記第１リモート装置のオペレーティングシステム構成および前記第１リモート装置のハードウェア構成を表す前記第１リモート装置の構成を示し、
前記第１アプリケーションは、前記第１リモート装置の前記構成を用いて設定される、請求項１〜８のいずれか１項に記載の方法。
【請求項１０】
前記接続情報は、前記第１ターゲットシステムのポートアドレス、前記第１ターゲットシステムのホストアドレス、および前記第１ターゲットシステムのライトウェイトディレクトリアクセスプロトコル（ＬＤＡＰ）を含む、請求項１から９のいずれか１項に記載の方法。
【請求項１１】
前記コンピュータシステムが、前記ユーザ役割に基づいて、前記複数のアプリケーションのうち、前記ユーザが前記ユーザ役割を実行することを可能にする第２アプリケーションを特定するステップと、
前記コンピュータシステムが、前記企業システム内の第２リソースにアクセスするように前記第２アプリケーションを準備するステップと、
前記コンピュータシステムが、前記第１リモート装置から前記第２リソースにアクセスするように前記第２アプリケーションを設定するステップと、
前記コンピュータシステムが、前記第２アプリケーションを設定したとき、当該第２アプリケーションを送信するステップとをさらに含む、請求項１から１０のいずれか１項に記載の方法。
【請求項１２】
前記コンピュータシステムが、前記アカウントを決定するステップは、
前記アカウントが前記第１ターゲットシステムの前記第１リソースにアクセスするように準備されているか否かを判断するステップと、
前記アカウントが前記第１リソースにアクセスするように準備されていないと判断した場合、前記第１ターゲットシステムの前記第１リソースへのアクセス権を前記ＩＤに与えるように前記アカウントを準備するステップと、
前記アカウントが前記ＩＤに準備されていると判断した場合、前記アカウントに関するアカウント情報を検索するステップとを含む、請求項１から１１のいずれか１項に記載の方法。
【請求項１３】
プロセッサに請求項１から１２のいずれか１項に記載の方法を実行させるためのプログラム。
【請求項１４】
システムであって、
１つ以上のプロセッサと
命令を記憶するメモリとを備え、前記命令は、前記１つ以上のプロセッサによって実行されると、前記１つ以上のプロセッサに指示して、
企業システムのユーザのＩＤに関連付けられたユーザ役割を特定し、
前記企業システムにアクセスするように前記ＩＤに登録された第１リモート装置の装置情報を検索し、
前記ユーザ役割に基づいて、前記企業システム内のアクセス可能な第１リソースへのアクセス権を前記ＩＤに与えるアカウントを決定し、前記第１リソースは、前記ユーザ役割でアクセス可能な複数のアプリケーションのうち、第１アプリケーションを用いて、前記第１リモート装置からアクセス可能であり、
コンピュータシステムによって、第１リモート装置を用いて前記アカウントの第１リソースにアクセスするように、第１アプリケーションを設定し、前記第１アプリケーションは、前記第１リソースを提供する第１ターゲットシステムに接続するように、接続情報を用いて設定され、前記第１アプリケーションは、前記アカウントの前記第１リソースにアクセスするように、アクセス情報を用いて設定され、
前記第１アプリケーションを設定したとき、当該第１アプリケーションを前記第１リモート装置に送信する、システム。
【請求項１５】
前記第１アプリケーションを設定するステップは、前記複数のリモート装置の各々のために、前記第１アプリケーションのインスタンスを設定するステップを含み、
前記第１アプリケーションの前記インスタンスは、リモート装置のコンフィグレーションに基づいて、前記リモート装置用に設定される、請求項１４に記載のシステム。
【請求項１６】
前記リモート装置の前記コンフィグレーションは、前記リモート装置の装置コンフィグレーションまたはオペレーティングシステムコンフィグレーションの一方または両方を含む、請求項１５に記載のシステム。
【請求項１７】
前記第１アプリケーションの前記インスタンスは、前記複数のリモート装置のうち、第１リモート装置および第２リモート装置に対してそれぞれ異なるように設定され、
前記第１リモート装置のコンフィグレーションは、前記第２リモート装置のコンフィグレーションと異なる、請求項１５または１６に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本出願は、２０１４年９月２４日に出願され、「モバイルセキュリティマネージャ（ＭＳＭ）」と題された米国仮特許出願第６２／０５４５４４号の利益および優先権を主張し、２０１５年４月１７日に出願され、「企業システム内の装置上のアプリケーションの統一準備」と題された米国非仮出願第１４／６９００６２号の利益および優先権を主張主張するものであり、両方の出願の全体があらゆる目的で参照により本開示に援用される。
【０００２】
背景
本開示は、一般的に、リモート装置を用いて企業（エンタープライズ）システムに対するアクセスの管理に関する。より詳細には、企業システムへのアクセスを可能にするために、リモート装置およびユーザＩＤの管理を統一するための技術が開示される。企業システム内のリソースにアクセスするように、リモート装置上のアプリケーションの準備を管理するための技術が開示される。
【背景技術】
【０００３】
モバイル装置を含む装置の普及に伴い、多くの企業は、ＢＹＯＤ（Bring Your Own Device）ポリシーを採用している。ＢＹＯＤによって、ユーザは、自分の装置を持ち込み、企業のシステムに接続して、企業により提供されたリソース（例えば、アプリケーションまたはデータ）にアクセスすることができる。ＢＹＯＤポリシーによって、ユーザは、自分の装置を個人使用のために引き続き使用することができる。企業システム内のユーザ所有装置のさまざまな用途（例えば、個人用途または企業用途）を管理することは、企業にとって最も重要な課題である。ユーザ所有装置による企業システムへのアクセス権を許可すると、新たなセキュリティリスクをもたらす可能性がある。ユーザ所有装置が企業システムへのアクセス権を取得すると、企業システムは、非遵守装置または装置の非遵守使用によるセキュリティリスクに曝される可能性がある。企業システムは、ユーザ所有装置上の個人データと企業データとを切り離す方法を見付け出す課題に直面する。ユーザ所有装置は、個人情報および特別なプライバシを含むことがある。多くのユーザ所有装置は、企業システムに統合されるための企業セキュリティ管理を欠いている。ユーザ所有装置が侵入（例えば、ハッキング、盗難、紛失）された場合、セキュリティ問題がより大きくなる。セキュリティおよび遵守の理由で、企業は、ユーザ所有装置を企業のＩＤ管理およびアクセス管理インフラストラクチャに統合するための新たな改良方法を模索している。
【０００４】
企業システムにアクセスするユーザ所有装置および企業装置の管理を容易にするために、一部の企業は、モバイル装置管理（ＭＤＭ）システムおよび／またはモバイルアプリケーション管理（ＭＡＭ）システムを実装する。これらの管理システムは、企業システムへのアクセス権の管理および制御を促進することによって、企業システムおよび企業リソースの安全を確保することができる。企業システムへのアクセス権の管理および制御は、遵守およびリソースに関する情報の伝達、および企業システムへのアクセス権を維持するために取るべき措置を含む。
【０００５】
数千人のユーザ（例えば、従業員、契約者および顧客）を所有する企業は、企業にアクセスする数千台の装置のアクセス権および遵守を管理する課題に直面する可能性がある。ユーザは、異なる装置を操作する可能性があり、企業システムにアクセスするための異なる役割を有する可能性がある。多くのユーザは、企業システムのアクセスおよび遵守を管理する負担があり、しばしば複雑になる。さらに複雑なことに、ユーザは、異なる種類の装置を登録しており、アプリケーションに応じて一部の装置を異なって設定（configure：コンフィギュア）する必要がある。例えば、アプリケーションをサポートする装置および／またはプラットフォーム（例えば、オペレーティングシステム）の種類に基づいて、アプリケーションを異なって設定ることがある。複数の装置を操作するユーザに対し、これらのユーザは、企業システム内のリソースにアクセスするアプリケーションのコンフィグレーション（configuration：設定内容）に影響を与えるさまざまな要素を把握する課題に直面することがある。企業は、ユーザにポリシーを遵守させ、企業により提供されるリソースにアクセスするアプリケーションを設定することが困難である。さらに複雑なことに、ユーザが個人使用によって異なる方法で装置を操作する可能性があるため、企業は、ユーザに関連付けられた各装置が企業により提供されたリソースにアクセスできるように保証する課題に直面する。
【０００６】
企業システムにアクセスする装置の管理が複雑であるため、企業によって提供されたリソースにアクセスする企業およびユーザは、アプリケーションのコンフィグレーションを常に管理することができない。企業システムへのアクセス権が侵害されないように保証するために、企業は、リソースにアクセスするアプリケーションのコンフィグレーションが変更されたときに、企業システムへのアクセス権を完全に制限または禁止することがある。そのような変更は、ユーザ役割の変更、または企業にアクセスするためのポリシー（例えば、アクセスポリシーまたは遵守ポリシー）の変更によって引き起こすことがある。遵守のために、一部のアプリケーションを手動で設定する必要がある。その結果、ユーザは、各々の装置上のアプリケーションのコンフィグレーションを各々調整する必要がある。企業は、装置が企業システム内のリソースにアクセスすることを可能にするアプリケーションのコンフィグレーションを管理する方法を模索している。
【発明の概要】
【課題を解決するための手段】
【０００７】
簡単な概要
本開示は、一般的に、リモート装置を用いて企業システムに対するアクセスの管理に関する。より詳細には、企業システムへのアクセスを可能にするために、リモート装置およびユーザＩＤ（身元・識別子）の管理を統一するための技術が開示される。企業システム内のリソースにアクセスするように、リモート装置上のアプリケーションの準備を管理するための技術が開示される。具体的には、リモート装置を用いて企業システム内のリソースにアクセスするように、アクセス情報（例えば、アカウント情報）および接続情報を用いて、アプリケーションを自動的に設定することができる。設定されたアプリケーションを用いて、リモート装置のユーザは、リソースにアクセスすることができ、リソースにアクセスするように手動でアプリケーションを設定する必要がない。
【０００８】
いくつかの実施形態において、装置アクセス管理システムを実装することによって、リモート装置を用いてリソースにアクセスするようにアプリケーションを設定することができる。ユーザにリモート装置の登録、リソースにアクセスする要求の受信、新たなリソースへのアクセスに対する許可の検出、または新たなアプリケーションの検出を含むいくつかの理由で、アプリケーションを自動的に設定する必要がある。アプリケーションの設定は、アプリケーションを用いてリソースにアクセスするためのアカウントの決定を含むことができる。アプリケーションを設定する対象のリモート装置に関連付けられたユーザに対しアカウントを決めることができる。アカウントがリソースにアクセスするように準備されていない場合、ユーザ役割に基づいて、リソースにアクセスするようにアカウントを準備することができる。いくつかの実施形態において、リソースへのアクセス権は、ユーザ役割に基づいて変化することができる。ユーザのアカウントを決定することによって、ユーザは、リソースにアクセスするようにアプリケーションを設定する前に、アカウント情報の取得またはアカウントの要求などの追加プロセスを行う必要がない。
【０００９】
装置アクセス管理システムは、アプリケーションを自動的に設定することによって、ユーザがアプリケーションを設定するために使用されるプロセスを低減するまたは無くすことができる。多くの場合、リモート装置の属性（例えば、装置の種類および装置のプラットフォームの種類）が変更する場合がある。装置の属性に応じて、アプリケーションを設定することは、異なるプロセスに関与する。ユーザは、アプリケーションを設定するためのさまざまなプロセスに精通していない可能性がある。複数のリモート装置を所有するユーザにとって、これらのリモート装置の各々にアプリケーションを設定する必要があるため、負担になる。同様に、企業として、ユーザに登録された各リモート装置にアプリケーションが適切に設定されていることを保証するメカニズムを提供する必要があり、負担になる。装置アクセス管理システムは、ユーザに登録された各リモート装置の少なくともアクセス情報（例えば、アカウント情報）および接続情報（例えば、ポートアドレス、ホストアドレス、またはデータアクセスプロトコル）を用いて、アプリケーションを自動的に設定することができる。いくつかの実施形態において、アプリケーションの機能に関連し設定される１つ以上の内容を設定することができる。ユーザの役割またはユーザの嗜好に基づいて、当該内容を設定することができる。アプリケーションが設定されると、そのアプリケーションを実行してリソースにアクセスすることができる。ユーザは、設定されたアプリケーションを用いてリソースにアクセスするために、機密アクセス情報（例えば、パスワード）を提供する必要がある。ユーザおよび企業のいずれも、リソースにアクセスするために、アプリケーションを手動で設定する必要がない。
【００１０】
アプリケーションを設定したとき、装置アクセス管理システムは、アプリケーションを設定する対象のリモート装置に、設定がなされたアプリケーションを送信することができる。いくつかの実施形態において、プッシュ通知サービスを用いて、設定がなされたアプリケーションをリモート装置に送信してもよい。設定がなされたアプリケーションは、受信されると、リモート装置に自動的にインストールされる。その後、アプリケーションを実行することによって、リソースにアクセスすることができる。いくつかの実施形態において、設定がなされたアプリケーションをデータストア（例えば、アプリケーションカタログ）に記憶することができ、リモート装置は、記憶されたアプリケーションを読出しおよび／または検索して取得することができる。リモート装置は、データストア内の利用できるアプリケーションに関する通知を受信することができる。いくつかの実施形態において、設定がなされたアプリケーションそのものではなく、アプリケーションのコンフィグレーションのみをリモート装置に送信することができる。リモート装置は、受信したコンフィグレーションに基づいて、アプリケーションを設定することができる。
【００１１】
異なるユーザに登録された複数のリモート装置のために、アプリケーションを設定することができる。同様に、１人のユーザに登録された複数のリモート装置のために、アプリケーションを設定し、装置アクセス管理システムは、設定がなされたアプリケーションを各リモート装置に送信してもよい。ユーザごとにアプリケーションを設定することによって、企業は、最新のアプリケーションがリモート装置に提供されていることを保証することができ、ユーザは、各リモート装置のアプリケーションを確認および取得する必要がない。アプリケーションを複数の装置用に設定することによって、企業システムに送信されるアプリケーションを要求する要求の数を減らし、アプリケーション配信の処理効率を改善することができる。
【００１２】
企業システム内のリソースへのアクセス権の変更を検出すると、装置アクセス管理システムは、リソースへのアクセスを提供するアプリケーションのコンフィグレーションを自動的に変更することができる。アクセス権の変更は、１人または複数のユーザの役割の変更、アプリケーションの更新、ポリシー遵守の変更、およびリモート装置の構成の変更を含むがこれらに限定されない任意数の変更イベントによって、引き起こされ得る。装置アクセス管理システムは、変更に応じて、変更により影響を受ける１つ以上のリモート装置上のアプリケーションのコンフィグレーションを変更することができる。例えば、リソースへのアクセス権が取消された場合、その設定内容をを削除するようにアプリケーションのコンフィグレーションを変更することができる。いくつかの実施形態において、装置アクセス管理システムは、変更により影響を受けるリモート装置に命令を送信することができる。命令は、受信されると、リモート装置に指示して、アクセス権の変更に応じてアプリケーションのコンフィグレーションを変更することができる。リソースへのアクセス権が取消された場合、命令は、リモート装置に指示して、そのリソースへのアクセスを提供するアプリケーションを削除することができる。新たなリソースへのアクセスが許可されたことを検出すると、検出されたリソースへのアクセスを許可したユーザに登録されたリモート装置用のために、アプリケーションを設定することができる。新たに設定がなされたアプリケーションは、設定がなされたアプリケーションのインストールが許可されたリモート装置に送信されてもよい。
【００１３】
本発明のいくつかの実施形態は、コンピューティングシステムによって実現することができる。コンピューティングシステムは、装置アクセス管理システムの一部として実装することができる。コンピューティングシステムは、方法および処理を実施することができる。少なくとも１つの実施形態において、コンピューティングシステムは、１つ以上のプロセッサと、命令を記憶するメモリとを含み、これらの命令は、１つ以上のプロセッサによって実行されると、１つ以上のプロセッサに処理を実施させる。処理を実施することにより、方法を実行することができる。いくつかの実施形態において、非一時的なコンピュータ読取可能な媒体は、１つ以上のプロセッサによって実行されると、処理を実施させる命令を含むことができる。いくつかの実施形態において、非一時的なコンピュータ読取可能な媒体は、悪意コードを含む電子通信からコンピュータを保護することができる。一例において、１つ以上のプロセッサは、コンピュータ読取可能な媒体に記憶された命令を実行すると、以下に説明する方法および処理を実施することができる。さらに他の実施形態は、以下に説明する方法および処理を実施するための命令を使用または記憶するシステムおよび機械読取可能な有形記憶媒体に関する。
【００１４】
少なくとも１つの実施形態において、コンピュータシステムを用いて、方法を実施することができる。この方法は、企業システムのユーザのＩＤに関連付けられたユーザ役割を特定するステップを含むことができる。この方法は、企業システムにアクセスするように前述ＩＤで登録された第１リモート装置の装置情報を検索することができる。この方法は、ユーザ役割に基づいて、企業システム内のアクセス可能な第１リソースへのアクセス権を上記ＩＤに与えるアカウントを決定するステップを含むことができる。第１リソースは、ユーザ役割でアクセス可能な複数のアプリケーションのうち、第１アプリケーションを用いて、第１リモート装置からアクセス可能である。この方法は、第１リモート装置を用いて前述のアカウントの第１リソースにアクセスするように第１アプリケーションを設定するステップを含むことができる。第１アプリケーションは、第１リソースを提供する第１ターゲットシステムに接続するように、接続情報を用いて設定されてもよく、アカウントの第１リソースにアクセスするように、アクセス情報を用いて設定されてもよい。この方法は、第１アプリケーションを設定したとき、第１アプリケーションを第１リモート装置に送信するステップを含むことができる。
【００１５】
いくつかの実施形態において、装置情報は、第１リモート装置の構成を表し、構成は、第１リモート装置上のオペレーティングシステム構成および第１リモート装置のハードウェア構成を表す。第１リモート装置の構成を用いて、第１アプリケーションを設定することができる。
【００１６】
いくつかの実施形態において、接続情報は、第１ターゲットシステムのポートアドレス、第１ターゲットシステムのホストアドレス、および第１ターゲットシステムのＬＤＡＰ（Lightweight Directory Access Protocol）を含む。
【００１７】
いくつかの実施形態において、この方法は、企業システムにアクセスするように上記ＩＤに登録された複数のリモート装置のうち、第２リモート装置を検出するステップを含むことができる。この方法は、第１アプリケーションを設定したとき、当該第１アプリケーションを第２リモート装置に送信するステップを含むことができる。
【００１８】
いくつかの実施形態において、この方法は、第１ユーザ役割から第２ユーザ役割に変更するユーザ役割の変更を検出することを含むことができる。この方法は、第２ユーザ役割に基づいて、上記ＩＤによる第１リソースへのアクセス権の変更を判断するステップを含むことができる。第１リソースへのアクセス権の変更は、第１リソースへのアクセス権の取消を含むことができる。第１アプリケーションの変更は、第１アプリケーションのために設定された接続情報およびアクセス情報の削除を含むことができる。第１アプリケーションの変更は、第１リモート装置から第１アプリケーションの削除を含むことができる。第１アプリケーションの変更は、第１アプリケーションのために設定されたアクセス情報の調整を含むことができる。この方法は、アクセス権の変更に基づいて、第１アプリケーションのコンフィグレーションを変更するように、第１リモート装置に指示するステップを含むことができる。少なくとも１つの実施形態において、この方法は、企業システムにアクセスするためにＩＤに登録された複数のリモート装置を検出するステップを含むことができる。この方法は、第１アプリケーションを設定したとき、当該第１アプリケーションを複数のリモート装置に送信するステップを含むことができる。この方法は、アクセス権の変更に基づいて、第１アプリケーションのコンフィグレーションを変更するように、複数のリモート装置の各々に指示するステップを含むことができる。
【００１９】
いくつかの実施形態において、この方法は、第１ユーザ役割から第２ユーザ役割に変更するユーザ役割の変更を検出するステップを含むことができる。この方法は、第２ユーザ役割に基づいて、第２ユーザ役割でアクセス可能な複数のアプリケーションのうち、第２アプリケーションを検出するステップを含むことができる。この方法は、ＩＤを用いて第１リモート装置からアクセスするように、第２アプリケーションを構成するステップを含むことができる。第２アプリケーションは、第２ターゲットシステムによって提供された第２リソースにアクセスするように、情報を用いて設定されてもよい。この方法は、第２アプリケーションを第１リモート装置に送信するステップを含むことができる。
【００２０】
いくつかの実施形態において、この方法は、ユーザ役割に基づいて、複数のアプリケーションのうち、ユーザがユーザ役割を実行することを可能にする第２アプリケーションを特定するステップことができる。この方法は、企業システム内の第２リソースにアクセスするように第２アプリケーションを準備するステップことができる。この方法は、第１リモート装置から第２リソースにアクセスするように第２アプリケーションを設定するステップことができる。この方法は、第２アプリケーションを設定したとき、第２アプリケーションを送信するステップを含むことができる。
【００２１】
いくつかの実施形態において、アカウントを決定するステップは、アカウントが第１ターゲットシステムの第１リソースにアクセスするように準備されているか否かを判断するステップと、アカウントが第１リソースにアクセスするように準備されていないと判断した場合、第１ターゲットシステムの第１リソースへのアクセスをＩＤに与えるアカウントを準備するステップと、アカウントがＩＤを提供するように準備されていると判断した場合、アカウントに関するアカウント情報を検索するステップを含む。
【００２２】
少なくとも１つの実施形態において、コンピュータシステムを用いて、別の方法を実施することができる。この方法は、企業システムのユーザのＩＤに関連付けられたユーザ役割を特定するステップを含むことができる。この方法は、企業システムにアクセスするように前述のＩＤで登録された第１リモート装置の装置情報を検索することができる。この方法は、ユーザ役割に基づいて、企業システム内のアクセス可能な第１リソースへのアクセス権を上記ＩＤに与えるアカウントを決定するステップを含むことができる。第１リソースは、ユーザ役割でアクセス可能な複数のアプリケーションのうち、第１アプリケーションを用いて、第１リモート装置からアクセス可能である。この方法は、第１リモート装置を用いて前述アカウントの第１リソースにアクセスするように第１アプリケーションを設定するステップを含むことができる。第１アプリケーションは、第１リソースを提供する第１ターゲットシステムに接続するように、接続情報を用いて設定されてもよく、アカウントの第１リソースにアクセスするように、アクセス情報を用いて設定されてもよい。この方法は、第１アプリケーションを設定したとき、当該第１アプリケーションを第１リモート装置に送信するステップを含むことができる。いくつかの実施形態において、第１アプリケーションを設定するステップは、複数のリモート装置の各々のために、当該第１アプリケーションのインスタンスを設定するステップを含むことができる。第１アプリケーションのインスタンスは、リモート装置の構成に基づいて、リモート装置用に設定されてもよい。リモート装置の構成は、リモート装置の装置構成またはオペレーティングシステム構成の一方または両方を含むことができる。第１アプリケーションのインスタンスは、複数のリモート装置のうち、第１リモート装置および第２リモート装置の各々に対して異なるように設定されてもよい。第１リモート装置の構成は、第２リモート装置の構成と異なってもよい。
【００２３】
少なくとも１つの実施形態において、別の方法は、コンピュータシステムを用いて実施することができる。この方法は、企業システムのユーザのＩＤに関連付けられたユーザ役割を特定するステップを含むことができる。この方法は、企業システムにアクセスするように上記ＩＤに登録された第１リモート装置の装置情報を検索するステップを含むことができる。この方法は、ユーザ役割に基づいて、複数のアプリケーションへのアクセス権を上記ＩＤに与えるステップを含むことができる。複数のアプリケーションの各々は、第１リモート装置を用いて企業システム内の異なるリソースにアクセスように設定されてもよい。この方法は、第１リモート装置から第１リソースにアクセスするように、コンピュータシステムによって、第１接続情報および第１アクセス情報を用いて、複数のアプリケーションのうち第１アプリケーションを設定するステップを含むことができる。この方法は、第１リモート装置から第２リソースにアクセスするように、コンピュータシステムによって、第２接続情報および第２アクセス情報を用いて、複数のアプリケーションのうち第２アプリケーションを設定するステップを含むことができる。この方法は、第１アプリケーションを設定したとき、当該第１アプリケーションを第１リモート装置に送信するステップを含むことができる。この方法は、第２アプリケーションを設定したとき、第２アプリケーションを第１リモート装置に送信するステップを含むことができる。
【００２４】
いくつかの実施形態において、この方法は、第１ユーザ役割から第２ユーザ役割に変更するユーザ役割の変更を検出するステップを含むことができる。この方法は、ユーザ役割の変更に基づいて、上記ＩＤによる第２リソースへのアクセス権が取消され、上記ＩＤによる第３リソースへのアクセスが許可されていることを判断するステップを含むことができる。第１リソース、第２リソースおよび第３リソースは、互いに異なる。この方法は、第２リソースへのアクセス権が取消されたという判断に基づいて、第２アプリケーションを削除するように第１リモート装置に指示するステップを含むことができる。この方法は、第２ユーザ役割に基づいて、第１リモート装置から企業システムの第３リソースへのアクセスを提供する第３アプリケーションへのアクセス権を上記ＩＤに与えるステップを含むことができる。この方法は、第１リモート装置から第３リソースにアクセスするように、第３接続情報および第３アクセス情報を用いて、複数のアプリケーションのうち第３アプリケーションを設定するステップを含むことができる。この方法は、第３アプリケーションを設定した後、第３アプリケーションを第１リモート装置に送信するステップを含むことができる。アプリケーションへのアクセス権を上記ＩＤに与えるステップは、アプリケーションによってアクセス可能なリソースへのアクセス権を上記ＩＤに与えるアカウントを準備するステップを含むことができる。
【００２５】
上記の特徴および実施形態ならびに他の特徴および実施形態は、以下の明細書、特許請求の範囲および添付の図面を参照すればより明らかになるであろう。
【００２６】
以下、添付の図面を参照して、本発明の例示的な実施形態を詳細に説明する。
【図面の簡単な説明】
【００２７】
【図１】本発明のいくつかの実施形態に従って、リモート装置を用いて企業システムに対するアクセスを管理するための装置アクセス管理システムを含むコンピューティングシステムを高レベルで示す簡略図である。
【図２】本発明のいくつかの実施形態に従って、装置アクセス管理システムを高レベルでより詳細に示す図である。
【図３】本発明のいくつかの実施形態に従って、アプリケーションをリモート装置に提供するための処理シーケンスを示す図である。
【図４】本発明のいくつかの実施形態に従って、アプリケーションをリモート装置に提供するための処理シーケンスを示す図である。
【図５】本発明のいくつかの実施形態に従って、企業システム内の役割によりアクセス可能なリソースを示す情報を記憶するためのデータ構造の一例を示す図である。
【図６】本発明のいくつかの実施形態に従って、企業システム内の異なるリソースにアクセスするためのアプリケーションのコンフィグレーションを特定する情報を記憶するデータ構造の一例を示す図である。
【図７】本発明のいくつかの実施形態に従って、企業システムにアクセスするように登録されたリモート装置に関する情報を記憶するためのデータ構造の一例を示す図である。
【図８】本発明のいくつかの実施形態に従って、リモート装置のアプリケーションの設定状態を特定する情報を記憶するためのデータ構造の一例を示す図である。
【図９】本発明のいくつかの実施形態に従って、アプリケーションをリモート装置に提供するためのプロセスを示すフローチャートである。
【図１０】本発明のいくつかの実施形態に従って、アプリケーションをリモート装置に提供するためのプロセスを示すフローチャートである。
【図１１】一実施形態を実現するための分散システムを示す簡略図である。
【図１２】本開示の一実施形態に従って、サービスをクラウドサービスとして提供することができるシステム環境の１つ以上の構成要素を示す簡略ブロック図である。
【図１３】本発明の一実施形態を実現するために使用され得る例示的なコンピュータシステムを示す図である。
【発明を実施するための形態】
【００２８】
詳細な説明
以下の記載において、本発明の実施形態を完全に理解するために、説明の目的で具体的な詳細を説明する。しかしながら、これらの具体的な詳細がなくても、さまざまな実施形態を実施できることは、明らかであろう。例えば、回路、システム、アルゴリズム、構造、技術、ネットワーク、プロセス、および他の構成要素は、実施形態を不必要な詳細により不明瞭にしないために、ブロック図の形式で要素として示されることがある。図面および説明は、限定的なものではない。
【００２９】
なお、各実施形態は、フローチャート、フロー図、データフロー図、構造図、またはブロック図として示されるプロセスとして説明されてもよい。フローチャートは、処理を連続プロセスとして記述しているが、複数の処理は、並行にまたは同時に実行されてもよい。また、処理の順序を改変してもよい。プロセスは、その処理が完了した時点で終了するが、図面に含まれていない追加ステップを含んでもよい。プロセスは、メソッド、関数、プロシージャ、サブルーチン、サブプログラムなどに対応してもよい。プロセスが関数に対応する場合、その終了は、その関数を呼び出し関数またはメイン関数にリターンすることに対応してもよい。
【００３０】
本開示は、一般的に、リモート装置を用いて企業システムに対するアクセスの管理に関する。より詳細には、企業システムへのアクセスを可能にするために、リモート装置およびユーザＩＤの管理を統一するための技術が開示される。企業システム内のリソースにアクセスするリモート装置上のアプリケーションの準備を管理するための技術が開示される。具体的には、リモート装置を用いて企業システム内のリソースにアクセスするように、アクセス情報（例えば、アカウント情報）および接続情報を用いて、アプリケーションを自動的に設定することができる。設定がなされたアプリケーションを用いて、リモート装置のユーザは、リソースにアクセスすることができ、リソースにアクセスするように手動でアプリケーションを設定する必要がない。
【００３１】
いくつかの実施形態において、装置アクセス管理システムを実装して、リモート装置を用いてリソースにアクセスするアプリケーションを設定することができる。ユーザにリモート装置の登録、リソースにアクセスする要求の受信、新たなリソースにアクセスする許可の検出、または新たなアプリケーションの検出を含むいくつかの理由で、アプリケーションを自動的に設定することができる。アプリケーションの設定は、アプリケーションを用いてリソースにアクセスするためのアカウントの決定を含むことができる。アプリケーションを設定する対象のリモート装置に関連付けられたユーザにアカウントを決めることができる。アカウントがリソースにアクセスするように準備されていない場合、ユーザ役割に基づいて、リソースにアクセスするようにアカウントを準備することができる。いくつかの実施形態において、リソースへのアクセス権は、ユーザ役割に基づいて変化することができる。ユーザのアカウントを決定することによって、ユーザは、リソースにアクセスするアプリケーションを設定する前に、アカウント情報の取得またはアカウントの要求などの追加プロセスを行う必要がない。
【００３２】
装置アクセス管理システムは、アプリケーションを自動的に設定することによって、ユーザがアプリケーションを設定するために使用されるプロセスを低減するまたは無くすことができる。多くの場合、リモート装置の属性（例えば、装置の種類および装置のプラットフォームの種類）が変更することがある。装置の属性に応じて、アプリケーションを設定することは、異なるプロセスに関与することになる。ユーザは、アプリケーションを設定するためのさまざまなプロセスに精通していない可能性がある。複数のリモート装置を有するユーザにとって、これらのリモート装置の各々にアプリケーションを設定する必要があるため、負担になる。同様に、企業として、ユーザに登録された各リモート装置上のアプリケーションが適切に設定されていることを保証するメカニズムを提供必要があり、負担になる。装置アクセス管理システムは、ユーザに登録された各リモート装置の少なくともアクセス情報（例えば、アカウント情報）および接続情報（例えば、ポートアドレス、ホストアドレス、またはデータアクセスプロトコル）を用いて、アプリケーションを自動的に設定することができる。いくつかの実施形態において、アプリケーションの機能に関連して設定される１つ以上の設定情報を設定することができる。ユーザの役割またはユーザの嗜好に基づいて、当該設定情報を設定することができる。アプリケーションが設定されると、そのアプリケーションを実行してリソースにアクセスすることができる。ユーザは、設定がなされたアプリケーションを用いてリソースにアクセスするために、機密アクセス情報（例えば、パスワード）を提供しなければならない。ユーザおよび企業のいずれも、リソースにアクセスするために、アプリケーションを手動で設定する必要がない。
【００３３】
アプリケーションを設定したとき、装置アクセス管理システムは、当該アプリケーションを設定する対象のリモート装置に、設定がなされた当該アプリケーションを送信することができる。いくつかの実施形態において、プッシュ通知サービスを用いて、設定がなされたアプリケーションをリモート装置に送信してもよい。設定がなされたアプリケーションは、受信されると、リモート装置に自動的にインストールされる。その後、アプリケーションを実行することによって、リソースにアクセスすることができる。いくつかの実施形態において、設定がなされたアプリケーションをデータストア（例えば、アプリケーションカタログ）に記憶することができ、リモート装置は、記憶されたアプリケーションを読出すおよび／または検索し取り出すことができる。リモート装置は、データストア内の利用できるアプリケーションに関する通知を受信することができる。いくつかの実施形態において、設定がなされたアプリケーションそのものではなく、アプリケーションのコンフィグレーションのみをリモート装置に送信することができる。リモート装置は、受信したコンフィグレーションに基づいて、アプリケーションを設定することができる。
【００３４】
異なるユーザに登録された複数のリモート装置用のために、アプリケーションを設定することができる。同様に、１人のユーザに登録された複数のリモート装置のために、アプリケーションを設定し、装置アクセス管理システムは、設定がなされたアプリケーションを各リモート装置に送信してもよい。ユーザごとにアプリケーションを設定することによって、企業は、最新のアプリケーションがリモート装置に提供されていることを保証することができ、ユーザは、各リモート装置のアプリケーションを確認および取得する必要がない。アプリケーションを複数の装置用に設定することによって、企業システムに送信されるアプリケーションを要求する要求の数を減らし、アプリケーション配信の処理効率を改善することができる。
【００３５】
企業システム内のリソースへのアクセス権の変更を検出すると、装置アクセス管理システムは、リソースへのアクセスを提供するアプリケーションのコンフィグレーションを自動的に変更することができる。アクセス権の変更は、１人または複数のユーザの役割の変更、アプリケーションの更新、ポリシー遵守の変更、およびリモート装置の構成の変更を含むがこれらに限定されない任意数の変更イベントによって、引き起こされ得る。装置アクセス管理システムは、変更に応じて、変更により影響を受ける１つ以上のリモート装置上のアプリケーションのコンフィグレーションを変更することができる。例えば、リソースへのアクセス権が取消された場合、その設定内容を削除するようにアプリケーションのコンフィグレーションを変更することができる。いくつかの実施形態において、装置アクセス管理システムは、変更により影響を受けるリモート装置に命令を送信することができる。命令は、受信されると、リモート装置に指示して、アクセス権の変更に応じてアプリケーションのコンフィグレーションを変更することができる。リソースへのアクセス権が取消された場合、命令は、リモート装置に指示して、そのリソースへのアクセスを提供するアプリケーションを削除することができる。新たなリソースへのアクセスが許可されたことを検出すると、検出されたリソースへのアクセスを許可したユーザに登録されたリモート装置用のために、アプリケーションを設定することができる。新たに設定がなされたされたアプリケーションは、設定がなさされたアプリケーションのインストールが許可されたリモート装置に送信されてもよい。
【００３６】
図１は、本発明のいくつかの実施形態に従って、リモート装置を用いて企業システムに対するアクセスを管理するための装置アクセス管理システムを含むコンピューティングシステム１００を高レベルで示す簡略図である。具体的には、コンピューティングシステム１００は、企業システムへのアクセスを可能にするために、リモート装置およびユーザＩＤの管理を統一することができる。コンピューティングシステム１００は、企業システム内のリソースにアクセスするように、アプリケーションをリモート装置に提供することを容易にすることができる。図１に示された実施形態は、単なる例示であり、請求される本発明の実施形態を不当に限定することを意図していない。当業者であれば、多くの変形例、代替例および修正例の存在が分かるであろう。
【００３７】
コンピューティングシステム１００は、企業に実装された企業システムの一部であってもよい。コンピューティングシステム１００は、企業システムによって提供された１つ以上のリソースへのアクセスを提供する企業コンピュータシステム１５０を含むことができる。リソースの例は、ハードウェアリソース、ソフトウェアリソース（例えば、アプリケーション）、データリソース、サービスリソース、場所、オブジェクトなどを含むことができる。リソースは、企業コンピュータシステム１５０によって提供されてもよく、または第三者プロバイダにホストされ、企業コンピュータシステム１５０によってリモート装置に提供されてもよい。いくつかの実施形態において、リソースは、企業コンピュータシステム１５０または第三者プロバイダによって実装される１つ以上のターゲットシステムによって提供されてもよい。例えば、メールサービスは、メールサービスシステムによってリモート装置のユーザに提供されてもよい。メールサービスは、メールサービスシステムと通信するように構成されたアプリケーションを用いて、リモート装置からアクセスされてもよい。メールサービスシステムは、企業コンピュータシステム１５０に含まれてもよく、企業コンピュータシステム１５０からアクセスしてもよい。
【００３８】
ユーザは、１つ以上のリモート装置、例えばリモート装置１０８−１、１０８−２、・・・１０８−Ｎ（合わせてリモート装置１０８という）を用いて、企業コンピューティングシステム１５０にアクセスすることができる。リモート装置１０８を用いて企業コンピュータシステム１５０に対するアクセスは、装置アクセス管理システム１２０によって制御および管理することができる。リモート装置１０８の各々は、セキュアコンテナアプリケーションを含むことができる。セキュアコンテナアプリケーションは、企業コンピュータシステム１５０にアクセスするように、装置アクセス管理システム１２０と通信するための安全な実行環境を提供することができる。リモート装置１０８は、装置アクセス管理システム１２０と通信することによって、企業コンピュータシステム１５０により提供されたリソースへのアクセス権を取得することができる。
【００３９】
装置アクセス管理システム１２０は、企業コンピュータシステム１５０にアクセスするためのリモート装置１０８の認証および登録を管理することができる。企業システム１２０にアクセスするように登録されたユーザＩＤで、リモート装置１０８を登録することができる。ユーザＩＤを用いてユーザを認証すると同様に、リモート装置を認証するために使用されたＩＤ（識別子）を用いて、リモート装置を登録することができる。ＩＤは、リモート装置に提供されてもよく、そのリモート装置からのすべてのさらなる通信を認証するために使用されてもよい。データストア１６０内のユーザ情報データストア１７２は、企業コンピュータシステム１５０にアクセスするように登録されたユーザに関する情報を含むことができる。ユーザ情報は、ユーザに関するユーザＩＤ情報を含むことができる。ユーザ情報の例は、図５を参照して説明される。
【００４０】
企業コンピュータシステム１５０にアクセスするように登録されたユーザは、企業コンピュータシステム１５０にアクセスするように１つ以上のリモート装置１０８を登録することができる。装置アクセス管理システム１２０は、インターフェイスを提供して、リモート装置を企業コンピュータシステム１５０の１つのＩＤに登録することができる。例えば、装置アクセス管理システム１２０は、グラフィカルユーザインターフェイス（ＧＵＩ）をリモート装置のユーザに提供することができる。リモート装置のユーザは、このＧＵＩを介して、企業コンピュータシステム１５０にアクセスするように登録されたユーザのＩＤに関連するリモート装置に関する情報を登録することができる。装置アクセス管理システム１２０は、企業コンピュータシステム１５０にアクセスするためのユーザＩＤでリモート装置の登録を行うために、リモート装置に証明書を発行することができる。要求がリモート装置のＩＤに関連付けられたユーザＩＤからのものである場合、装置アクセス管理システム１２０は、そのリモート装置からコンピュータシステム１５０へのアクセスを許可する。
【００４１】
装置アクセス管理システム１２０は、リモート装置に関する装置情報を「装置記録」に記憶することができる。装置記録は、リモート装置を登録するユーザのＩＤを示すユーザ情報に関連して記憶されてもよい。ユーザ情報は、ユーザ情報データストア１７２に記憶されてもよい。いくつかの実施形態において、リモート装置は、複数のＩＤに登録されてもよく、各ＩＤは、単一のユーザまたは異なるユーザに関連付けられてもよい。装置記録は、装置レジストリ１６２に記憶されてもよい。ユーザ情報の例および装置記録の例は、図７を参照して説明される。
【００４２】
企業コンピュータシステム１５０にアクセスするためのユーザ情報（例えば、ＩＤ）に関連して装置情報を記憶することによって、統一の方法でリモート装置１０８およびＩＤを管理することができる。企業コンピュータシステム１５０にアクセスするためのリモート装置は、リモート装置の装置記録とユーザＩＤとの間の関連に基づいて、ユーザＩＤを用いて特定されてもよい。後述するように、リモート装置１０８と１つ以上のＩＤとの間の関連は、リモート装置１０８を用いて企業コンピュータシステム１５０に対するアクセス権の管理を改善することができる。
【００４３】
いくつかの実施形態において、１つ以上のリモート装置１０８は、リソースにアクセスするように設定されたアプリケーションを用いて、企業コンピュータシステム１５０によって提供されたリソースにアクセスすることができる。装置アクセス管理システム１２０は、ユーザＩＤに関連付けられたリモート装置のために、アプリケーションを準備することができる。以下でさらに説明するように、装置アクセス管理システム１２０は、企業コンピュータシステム１５０と通信するために準備されたアプリケーションを設定して、リソースにアクセスすることができ、またはそのリソースを提供するターゲットシステムと直接通信することができる。アプリケーションは、ユーザのＩＤに登録されたリモート装置上で動作するように設定されてもよい。例えば、企業コンピュータシステム内のリソースにアクセスするために、コンピューティングシステム（例えば、ターゲットシステムのコンピューティングシステム）に接続するためのアクセス情報（例えば、ユーザＩＤ、アクセストークン、または他の認証情報）および接続情報（例えば、ホストサーバ、ポートアドレス、通信情報、または他のプロトコル）を用いて、アプリケーションを設定することができる。リソースへのアクセスを提供するアプリケーションを準備することは、リモート装置からリソースにアクセスするユーザＩＤにアカウントを決定することを含むことができる。アカウントがユーザのＩＤに準備されていない場合、企業コンピュータシステム１５０は、リソースにアクセスするようにアカウントを準備することができる。ユーザのＩＤ用のために設定されたアプリケーションは、そのＩＤで登録されたリモート装置に送信されてもよい。そのＩＤに関連付けられたユーザは、設定がなされたアプリケーションを操作して、準備されたアカウントのリソースにアクセスすることができる。
【００４４】
コンピューティングシステム１００は、異なる通信ゾーンにそれぞれ対応する複数のゾーンに規定されてもよい。いくつかの実施形態において、リモート装置１０８は、外部通信ゾーン（「外部ゾーン」）１０２に配置されてもよい。装置アクセス管理システム１２０および企業コンピュータシステム１５０は、グリーン通信ゾーン（「グリーンゾーン」）１０６に配置されてもよい。グリーンゾーン１０６は、１つ以上の安全なネットワーク（例えば、企業ネットワーク）を含むことができる。グリーンゾーン１０６は、企業コンピューティング環境のファイアウォールの内側に配置されてもよい。外部ゾーン１０２は、非安全な外部ネットワーク（例えば、インターネット）の一部であってもよい。例えば、外部ゾーン１０２は、グリーンゾーン１０６のファイアウォールの外側に配置されてもよい。
【００４５】
いくつかの実施形態において、リモート装置１０８は、ＤＭＺ（Demilitarized Zone、非武装地帯）１０４に配置されたセキュリティアクセスシステム１１０を介して、グリーンゾーン１０６内のコンピュータシステムと通信することができる。ＤＭＺ１０４の例として、企業ＤＭＺが挙げられる。セキュリティアクセスシステム１１０は、リモート装置１０８と装置アクセス管理システム１２０との間の安全な通信を容易にすることができる。例えば、セキュリティアクセスシステム１１０は、リモート装置１０８および装置アクセス管理システム１２０のうちいずれか一方上のセキュアコンテナアプリケーションと、安全な通信接続（例えば、トンネル）を形成することができる。
【００４６】
セキュリティアクセスシステム１１０は、リモート装置のユーザを認証するサービスを提供することができる。セキュリティアクセスシステム１１０は、ユーザアクセス管理システム１３０と通信して、リモート装置のユーザを認証するための認証を取得することができる。例えば、セキュリティアクセスシステム１１０は、企業コンピュータシステム１５０によって提供されたリソースに対するシングルサインオン（ＳＳＯ）認証を容易にするために、ユーザアクセス管理システム１３０から認証トークンを取得することができる。一例において、セキュリティアクセスシステム１１０は、Oracle（登録商標）モバイルセキュリティアクセスサーバに含まれてもよい。Oracleモバイルセキュリティアクセスサーバは、Oracle社により提供されるOracleモバイルセキュリティスイートの一部である。
【００４７】
リモート装置１０８は、エンドポイント装置、装着型装置（例えば、スマートウォッチ）、消費者装置（例えば、電気製品）、パーソナルコンピュータ、デスクトップ、ＩＯＴ（Internet of Things：インターネット端末）装置、ラップトップ、携帯電話、タブレット、コンピュータ端末などのモバイル装置または携帯式装置、および他の種類の装置を含むがこれらに限定されないさまざまな種類の装置であってもよい。いくつかの実施形態において、リモート装置は、コンピューティング装置（例えば、モバイル装置、ＩＯＴゲートウェイまたはＩＯＴエッジ装置）上にホストされたアプリケーションであってもよい。いくつかの実施形態において、リモート装置は、別の装置上で動作しているエンドポイント、例えばワークスペースであってもよい。ワークスペースは、ワークスペースを動かす装置上の企業データおよびアプリケーションへのアクセスを提供する制御環境であってもよい。例えば、セキュアコンテナアプリケーションは、１つ以上のリモート装置１０８上で動作することができる。リモート装置の例として、企業コンピュータシステム１５０に関連付けられた企業から支給される装置（すなわち、企業装置）、または企業コンピュータシステム１５０にアクセスするために使用されるユーザの個人装置（「ＢＹＯＤ装置」）を含むがこれらに限定されない。
【００４８】
リモート装置は、その識別に関する情報、例えばＭＡＣ（メディアアクセス制御）アドレス、一意の装置識別子（ＵＤＩＤ）、または他の装置識別子を記憶することができる。リモート装置は、そのリモート装置に関するメタデータ属性を記憶することができる。リモート装置のメタデータ属性は、リモート装置上のオペレーティングシステムの種類、オペレーティングシステムのバージョン、リモート装置が他の装置上にホストされる場合のホスト識別子、装置の種類、ＩＭＥＩ（国際携帯電話端末識別）番号、リモート装置の型番、リモート装置のサービスプロバイダ（例えば、キャリア）、装置名、装置状態、遵守状況、またはリモート装置に関する他の情報を含むことができる。
【００４９】
いくつかの実施形態において、リモート装置は、そのリモート装置に関する装置情報を判断するように構成されてもよい。装置情報は、リモート装置の稼働状態を含むことができる。稼働状態は、アプリケーションのインストール、実行および／または削除、リモート装置内のハードウェアおよび／またはソフトウェアの変更、アプリケーションに関する情報（例えば、アプリケーションのパスワード）、リモート装置の使用に関連する活動状態または非活動状態、またはリモート装置の実行または使用に関する他の情報を含むことができる。装置アクセス管理システム１２０と通信するようにリモート装置を構成することができる。例えば、リモート装置は、装置アクセス管理システム１２０と周期的に同期（「装置同期」）することによって、リモート装置に関する装置情報を装置アクセス管理システム１２０に提供することができる。いくつかの実施形態において、装置アクセス管理システム１２０は、リモート装置から受信した情報または受信していなかった情報に基づいて、リモート装置に関する情報を判断することができる。
【００５０】
特定の実施形態において、リモート装置は、１つ以上のアプリケーションを実施する（例えば、実行および動作する）ように構成することができる。例えば、１つ以上のリモート装置１０８は、「コンテナ化」アプリケーション、すなわち、特定のコンテナに安全に接続されたアプリケーションを保持するように設計されたセキュアコンテナアプリケーションを実行することができる。アプリケーションの例として、コンピュータアプリケーション、クライアントアプリケーション、専用クライアントアプリケーション、ワークスペース、コンテナなどを含むがこれらに限定されない。いくつかの実施形態において、１つ以上のネットワークを介して、リモート装置に実装されたアプリケーションにアクセスすることができ、またはそれを作動することができる。リソースにアクセスするように、企業コンピュータシステム１５０によって設定され、企業コンピュータシステム１５０から受信されたアプリケーションは、セキュアコンテナアプリケーションにインストールされ、実行されることができる。セキュアコンテナアプリケーションは、装置アクセス管理システム１２０から受信した命令に基づいて、アプリケーションのコンフィグレーションを変更するように設定され得る。
【００５１】
リモート装置は、ハードウェア、ファームウェア、ソフトウェア、またはそれらの組み合わせを用いて実装され得るコンピューティング装置を含むことができる。リモート装置は、メモリと、１つ以上のプロセッサとを含むことができる。メモリは、プロセッサに結合されてもよく、命令を記憶してもよい。これらの命令は、プロセッサによって実行されると、本開示に開示された１つ以上の処理、方法またはプロセスをプロセッサに実施させる。メモリは、コンピュータ読取可能な記憶媒体のような任意種類の永続記憶装置を用いて、実装されてもよい。
【００５２】
いくつかの実施形態において、リモート装置１０８は、１つ以上のさまざまな種類の通信ネットワークを介して、装置アクセス管理システム１２０および企業コンピュータシステム１５０に通信可能に接続されてもよい。通信ネットワークの例として、例えば、インターネット、ワイドアリアネットワーク（ＷＡＮ）、ローカルエリアネットワーク（ＬＡＮ）、イーサネット（登録商標）ネットワーク、公衆または私設ネットワーク、有線ネットワーク、無線ネットワーク、およびそれらの組み合わせを含むがこれらに限定されない。異なる通信プロトコルを用いて、IEEE 802.XXプロトコルスイート、ＴＣＰ／ＩＰ、ＩＰＸ、ＳＡＮ、AppleTalk、Bluetooth（登録商標）、および他のプロトコルのような有線プロトコルおよび無線プロトコルの両方を含む通信を促進することができる。
【００５３】
装置アクセス管理システム１２０は、コンピュータシステムに実装することができる。コンピュータシステムは、汎用コンピュータ、（例えば、ＰＣサーバ、ＵＮＩＸ（登録商標）サーバ、ミッドレンジサーバ、メインフレームコンピュータ、およびラックマウントサーバなどを含む）専用サーバコンピュータ、サーバファーム、サーバクラスタ、分散型サーバ、または任意の他の適切な配置および／またはそれらの組み合わせであり得る１つ以上のコンピュータおよび／またはサーバを含むことができる。例えば、装置アクセス管理システム１２０は、サーバを含むことができる。全てのサーバまたは一部のサーバは、同様の地理上の位置または異なる地理上の位置に配置されてもよい。装置アクセス管理システム１２０を構成するコンピューティング装置は、任意のオペレーティングシステム、または、ＨＴＴＰサーバ、ＦＴＰサーバ、ＣＧＩサーバ、Ｊａｖａ（登録商標）サーバ、データベースサーバを含むさまざまな追加のサーバアプリケーションおよび／またはミッドティアアプリケーションのいずれかを実行することができる。例示的なデータベースサーバは、Oracle、Microsoft（登録商標）などから市販されているものを含むがこれらに限定されない。装置アクセス管理システム１２０は、ハードウェア、ファームウェア、ソフトウェア、またはそれらの組み合わせを用いて実装することができる。一例において、装置アクセス管理システム１２０は、Oracleモバイルセキュリティアクセスマネージャに含まれてもよい。Oracleモバイルセキュリティアクセスマネージャは、Oracle社により提供されるOracleモバイルセキュリティスイートの一部である。
【００５４】
装置アクセス管理システム１２０は、少なくとも１つのメモリ、１つ以上の処理ユニット（またはプロセッサ）、および記憶装置を含むことができる。処理ユニットは、ハードウェア、コンピュータ実行可能な命令、ファームウェア、またはそれらの組み合わせで、適切に実現されてもよい。処理ユニットのコンピュータ実行可能な命令またはファームウェア実装は、本開示に説明されたさまざまな処理、機能、方法および／またはプロセスを実行するのに任意の適切なプログラミング言語で書かれたコンピュータ実行可能な命令または機械実行可能な命令を含むことができる。装置アクセス管理システム１２０内のメモリは、処理ユニットにロード可能且つ実行可能なプログラム命令、およびこれらのプログラムの実行中に生成されたデータを記憶することができる。メモリは、揮発性メモリ（例えば、ランダムアクセスメモリ（ＲＡＭ））および／または不揮発性メモリ（例えば、読出専用メモリ（ＲＯＭ）、フラッシュメモリなど）であってもよい。メモリは、コンピュータ読取可能な記憶媒体のような任意種類の永続記憶装置を用いて実現されてもよい。いくつかの実施形態において、コンピュータ読取可能な記憶媒体は、悪意コードを含む電子通信からコンピュータを保護するように構成されることができる。コンピュータ読取可能な記憶媒体は、プロセッサ上で実行されると、本開示に説明された処理をプロセッサに実行させる命令を記憶することができる。
【００５５】
装置アクセス管理システム１２０は、追加記憶装置を含んでもよく、またはそれらに連接されてもよい。追加記憶装置としては、メモリ記憶装置または他の非一時的なコンピュータ読取可能な記憶媒体などの任意種類の永続記憶装置を用いて実現されてもよい。いくつかの実施形態において、ローカル記憶装置は、１つ以上のデータベース（例えば、文章データベース、関係データベース、または他の種類のデータベース）、１つ以上のファイルストア、１つ以上のファイルシステム、またはそれらの組み合わせを含んでもよく、それらを実装してもよい。例えば、装置アクセス管理システム１２０は、１つ以上のデータストア、例えばデータストア１６０に連接されてもよく、それを含んでもよい。メモリおよび追加記憶装置の両方は、コンピュータ読取可能な記憶媒体の例である。例えば、コンピュータ読取可能な記憶媒体は、コンピュータ読取可能な命令、データ構造、プログラムモジュールまたは他のデータなどの情報を記憶するための任意の方法または技術で実現される揮発性または不揮発性媒体、取り外し可能または不可能な媒体を含むことができる。
【００５６】
装置アクセス管理システム１２０は、ＩＤ管理システム１４０に通信可能に接続されてもよい。ＩＤ管理システム１４０は、企業コンピュータシステム１５０のユーザの存続期間および企業コンピュータシステム１５０からアクセスできるリソースのために設定された関連するアカウントの存続期間を管理することができる。ＩＤ管理システム１４０は、企業コンピュータシステム１５０にアクセスするために定義された役割（例えば、ユーザグループ）を管理することができる。いくつかの実施形態において、ＩＤ管理システム１４０は、企業コンピュータシステム１５０にアクセスするために定義された役割に関するポリシーを管理することができる。ユーザ情報データストア１７２は、ＩＤ管理システム１４０から取得したユーザ情報を記憶することができる。ユーザ情報は、ユーザのＩＤに関連付けられた１つ以上のユーザ役割を含むことができる。ＩＤ管理システム１４０は、企業コンピュータシステム１５０にアクセスするために定義された役割を管理することができる。ＩＤ管理システム１４０の例は、Oracle社によって提供されたOracleＩＤマネージャを含むことができる。
【００５７】
ユーザアクセス管理システム１３０は、装置アクセス管理システム１２０に通信可能に接続されてもよい。ユーザアクセス管理システム１３０は、範囲の管理、認証トークンの発行、更新トークンの発行、およびアクセストークンの発行を処理することができる。例えば、ユーザアクセス管理システム１３０は、セキュリティアクセスシステム１１０からの、リモート装置１０８によるアクセス要求を処理することができる。いくつかの実施形態において、ユーザアクセス管理システム１３０は、企業コンピュータシステム１５０によって提供されたリソースにアクセスするためのアクセスポリシーを管理することができる。アクセス管理システム１３０は、Oracle社によって提供されたOracleアクセスマネージャを含むことができる。
【００５８】
いくつかの実施形態において、装置アクセス管理システム１２０は、企業コンピュータシステム１５０にアクセスするように登録されたリモート装置１０８の設定情報を管理することができる。設定情報の例としては、装置の設定情報、インストール設定情報、同期設定情報、通信設定情報、アプリケーションの設定情報、または企業システムのアクセスに関連するその他の設定情報を含むがこれらに限定されない。設定に関する情報は、データストア１６０に記憶されてもよい。一部の設定情報は、リモート装置１０８から受信した情報に対応することができる。一部のリモート装置１０８に関する設定情報（例えば、装置の設定情報およびインストール設定情報）は、登録のために検証され、登録されたリモート装置１０８としての準拠性がチェックされる。いくつかの実施形態において、設定情報（例えば、同期設定情報）を一部のリモート装置１０８に送信することによって、リモート装置１０８上のセキュアコンテナアプリケーションを用いて、装置アクセス管理システム１２０および企業コンピュータシステム１５０との同期通信を構成することができる。
【００５９】
リモート装置１０８を用いて企業コンピュータシステム１５０に対するアクセスは、１つ以上のポリシーを用いて管理することができる。ポリシーは、データストア１６０のポリシーデータストア１６４に記憶され、そこからアクセスされてもよい。ポリシーの例としては、登録ポリシー、遵守ポリシー、ワークスペースポリシー、および装置ポリシーを含むがこれらに限定されない。いくつかの実施形態において、遵守ポリシーに関する情報は、企業コンピュータシステム１５０、ＩＤ管理システム１４０、および／またはユーザアクセス管理システム１３０から受信することができる。１つ以上のポリシーは、装置アクセス管理システム１２０の技師（例えば、管理者）から受信した入力に基づいて、設定されてもよい。装置アクセス管理システム１２０は、リモート装置１０８がポリシーを遵守しているか否かを判断することができる。ポリシーは、リモート装置を用いた企業コンピュータシステム１５０に対するアクセスを規定することができる。いくつかの実施形態において、装置アクセス管理システム１２０は、ポリシーに基づいて、是正措置を実行して、リモート装置によるアクセスを調整することができる。装置アクセス管理システム１２０は、命令をリモート装置に送信することによって、リモート装置に指示して、ポリシーの遵守に応じて是正措置を取ることができる。通知をリモート装置１０８に送信することによって、これらのリモート装置に、ポリシーの遵守および／またはポリシーの違反および遵守期間を知らせることができる。
【００６０】
装置アクセス管理システム１２０は、企業コンピュータシステム１５０内の１つ以上のリソースへのアクセスを可能にする１つ以上のアプリケーションを管理することができる。アプリケーションは、アプリケーションデータストア１６６に記憶されてもよい。リモート装置上で実行するセキュアコンテナアプリケーションは、アプリケーションデータストア１６６にアクセスすることができる。アプリケーションは、企業コンピュータシステム１５０内の１つ以上のリソースにアクセスすることができる。例えば、メールアプリケーションは、企業コンピュータシステム１５０によって提供されたメールサービスへのアクセスを提供することができる。別の例において、人事資源（ＨＲ）アプリケーションは、企業コンピュータシステム１５０によって管理される人事資源データにアクセスすることができる。
【００６１】
以下でさらに説明するように、ユーザに登録された１つ以上のリモート装置１０８に、アプリケーションを提供することができる。さまざまな理由で、アプリケーションを設定することができる。例えば、ユーザのリモート装置の登録、リソースにアクセスする要求の受信、新たなリソースにアクセスする許可の検出、または新たなアプリケーションの検出を含むいくつかの理由で、アプリケーションを設定することができる。アプリケーションを設定することは、このアプリケーションを用いてリソースにアクセスするようにアプリケーションを自動的に設定することを含んでもよい。
【００６２】
アプリケーションを準備するために、装置アクセス管理システム１２０は、ユーザに登録されたリモート装置１０８の各々の情報のうち、少なくともアクセス情報（例えば、アカウント情報）および接続情報（例えば、ポートアドレス、ホストアドレス、またはデータアクセスプロトコル）を用いて、アプリケーションを自動的に設定することができる。アクセス情報は、データストア１６０のアクセス情報データストア１６８に管理されてもよい。接続情報は、データストア１６０の接続情報データストア１７０に管理されてもよい。いくつかの実施形態において、アプリケーションの機能に関連する１つ以上の情報を設定することができる。ユーザの役割またはユーザの嗜好に基づいて、当該情報を設定することができる。装置アクセス管理システム１２０は、設定がなされたアプリケーションをアプリケーションデータストア１６６に記憶することができる。いくつかの実施形態において、アプリケーションのコンフィグレーションをアプリケーションコンフィグレーション１７４に記憶することができる。
【００６３】
いくつかの実施形態において、アプリケーションを設定することは、アプリケーションを用いてリソースにアクセスするためのアカウントを決定することを含むことができる。アプリケーションを設定する対象のリモート装置に関連付けられたユーザに、アカウントを決めることができる。アカウントがリソースにアクセスするように準備されていない場合、装置アクセス管理システム１２０は、ユーザ役割に基づいて、リソースにアクセスするようにアカウントを設定することができる。
【００６４】
装置アクセス管理システム１２０は、さまざまな技術を用いて、アプリケーションを設定する対象のリモート装置に、設定がなされたアプリケーションを自動的に提供することができる。いくつかの実施形態において、装置アクセス管理システム１２０は、アプリケーションの全体ではなく、アプリケーションの設定情報のみをリモート装置に提供することができる。いくつかの実施形態において、装置アクセス管理システム１２０は、プッシュ通知サービスを用いて、設定がなされたアプリケーションをリモート装置に提供することができる。アプリケーションは、設定がなされたアプリケーションまたはリモート装置に提供されたアプリケーションの設定情報に従って、自動的にリモート装置にインストールすることができる。
【００６５】
設定がなされたアプリケーションをリモート装置のユーザに提供することによって、ユーザは、リソースにアクセスするために各々のアプリケーションを管理する必要がない。さらに、新たなアプリケーションが利用可能になる場合、ユーザは、新たなアプリケーションを自動的に受け取ることができる。企業システムの場合、アプリケーションの個別要求をなくすことによって、処理負荷を軽減することができる。複数のリモート装置がユーザに登録された場合、アカウント情報を含む設定がなされたアプリケーションを各リモート装置に提供することができる。企業は、アプリケーションをリモート装置に提供することによって、企業システムにアクセスするリモート装置が、企業のアクセスポリシーを満たすアプリケーションで構成されることを保証することができる。企業システムへのアクセス権が変更する場合、リモート装置の遵守を評価するおよびリソースへのアクセス権を判断することなく、変更されたアプリケーションを用いてリモート装置を自動的に更新することができる。何千台のリモート装置を有する企業システムにおいて、一度アプリケーションを複数のリモート装置上で使用するように構成すれば、複数のリモート装置に効率的に配信することができる。
【００６６】
図２を参照して、図２は、実施形態に従って、装置アクセス管理システム１２０を高レベルでより詳細に示す図である。図２に示すように、装置アクセス管理システム１２０は、いくつかのサブシステムおよび／またはモジュール、例えば、アカウントハンドラ２３２、アプリケーション設定マネージャ２３４、通信ハンドラ２３６、アクセスマネージャ２３８、および装置マネージャ２４０を含むことができる。サブシステムおよび／またはモジュールは、ソフトウェア（例えば、プロセッサによって実行可能なプログラムコードおよび命令）、ハードウェア、またはそれらの組み合わせで実現されてもよい。いくつかの実施形態において、ソフトウェアは、メモリ（例えば、非一時的コンピュータ読取可能な媒体）、メモリ装置、または他の物理メモリに記憶することができ、１つ以上の処理ユニット（例えば、１つ以上のプロセッサ、１つ以上のプロセッサコア、または１つ以上のＧＰＵ）によって実行することができる。
【００６７】
企業システム（例えば、企業コンピュータシステム１５０）へのアクセスを可能にするＢＹＯＤを採用することによって、多くのユーザは、自分のリモート装置を用いて、企業システムにアクセスすることができる。１つ以上のリモート装置、例えばエンドポイント装置２１０−１、・・・２１０−Ｎ（合わせてエンドポイント装置２１０という）を操作して、企業コンピュータシステム１５０にアクセスすることができる。図２において、いくつかのリモート装置を使用して、企業コンピュータシステム１５０にアクセスしていると示されているが、数千人のユーザは、何千台のリモート装置を用いて、企業コンピュータシステム１５０にアクセスすることができる。装置アクセス管理システム１２０を含むコンピューティングシステム（例えば、コンピューティングシステム１００）を用いて、企業システムへのアクセスを管理することができる。リモート装置を用いて、企業コンピュータシステム１５０内の１つ以上のリソースにアクセスすることができる。
【００６８】
図２に示す例において、企業コンピュータシステム１５０は、１つ以上のターゲットシステム、例えばターゲットシステム２５０およびターゲットシステム２６０を含んでもよく、またはそれらに通信可能に接続されてもよい。ターゲットシステム２５０および２６０の各々は、企業コンピュータシステム１５０にリソースを形成することができる。例えば、ターゲットシステム２５０は、リソース２５２を形成することができ、ターゲットシステム２６０は、リソース２６２を形成することができる。リソース２５２および２６２の各々に対するアクセスは、各々のリソースにアクセスするために準備されたアカウントによって制御されてもよい。
【００６９】
各エンドポイント装置２１０は、装置アクセス管理システム１２０と通信するように構成されたセキュアコンテナアプリケーションを含むことができる。セキュアコンテナアプリケーション２７０は、リモート装置上で実行する他のアプリケーション（例えば、外部ブラウザ２８０）と異なってもよい。例えば、エンドポイント装置２１０−２は、エンドポイント装置２１０−２上で実行するセキュアコンテナアプリケーション２７０を含むことができる。セキュアコンテナアプリケーション２７０は、装置アクセス管理システム１２０と通信するように構成されてもよい。いくつかの実施形態において、セキュアコンテナアプリケーション２７０は、企業コンピュータシステム１５０にアクセスするための１つ以上のポリシーに基づいて、企業コンピュータシステム１５０に対するアクセスを管理するように構成されてもよい。装置アクセス管理システム１２０によって構成されたアプリケーションを実行するように、セキュアコンテナアプリケーション２７０を構成することができる。
【００７０】
エンドポイント装置２１０−２は、装置同期通信（「装置同期」）を実行して、エンドポイント装置２１０−２に関する装置情報を装置アクセス管理システム１２０に送信することができる。エンドポイント装置２１０−２は、装置アクセス管理システム１２０と定期的に同期することができる。いくつかの実施形態において、装置アクセス管理システム１２０は、１つ以上のリモート装置、例えばエンドポイント装置２１０との装置同期を開始することができる。
【００７１】
いくつかの実施形態において、各エンドポイント装置２１０は、データストア１６０に記憶された情報を利用して、リモート装置からリソースにアクセスするようにアプリケーションを設定することができる。いくつかの実施形態において、装置アクセス管理システム１２０からの指示に基づいて、１つ以上の処理（例えば、企業コンピュータシステム１５０のリソースにアクセスするようにアプリケーションを設定する処理）を実行するように、セキュアコンテナアプリケーション２７０を構成することができる。
【００７２】
何千台のリモート装置が企業システムにアクセスする場合、企業システム内のリソースにアクセスするようにリモート装置用のアプリケーションを設定することは、困難である。リソースへのアクセスを可能にするアプリケーションは、企業コンピュータシステム１５０内のリソースのアクセスを管理する１つ以上のポリシーを遵守するように、設定される必要がある。リソースへのアクセスを可能にするアプリケーションは、装置の属性、接続の属性、ユーザの役割、またはアクセスされるリソースの種類を含むがこれらに限定されない１つ以上の要因に基づいて、異なって設定される必要がある。したがって、アプリケーションは、ユーザに登録された複数のリモート装置のうち１つ以上の装置に対して、異なって設定される必要がある。さらに困難な点は、企業システムに発生する変更イベントに基づいて、リソースにアクセスするアプリケーションの設定を調整することである。
【００７３】
リソースへのアクセス権は、企業コンピュータシステム１５０内に変更イベントの発生に基づいて変動し得る。変更イベントは、企業システムへのアクセス権の変更に関連するイベントに対応し得る。リソース（例えば、リソース２５２またはリソース２６２）へのアクセス権は、変更イベントに対応するアクセス権の変更に基づいて、変動し得る。変更イベントの例としては、ポリシーの違反に基づいて企業コンピュータシステム１５０へのアクセスの変更、リモート装置の変更（例えば、リモート装置上のハードウェアまたはソフトウェアの変更）、リモート装置に関連付けられたユーザ役割の変更、企業コンピュータシステム１５０内のリソースへのアクセス許可の変更、および企業コンピュータシステム１５０へのアクセスに影響を与える他の変更を含むがこれらに限定されない。数千台のリモート装置を構成する時に直面する難題を克服するために、装置アクセス管理システム１２０は、リモート装置が企業コンピュータシステム１５０内のリソースにアクセスすることを可能にするように、アプリケーションを自動的に構成することができる。アプリケーションを使用してリソースにアクセスすることに影響を与える変更イベントに基づいて、アプリケーションの設定情報を変更することができる。
【００７４】
装置マネージャ２４０は、企業コンピュータシステム１５０にアクセスするリモート装置（例えば、エンドポイント装置２１０）のアクセスを管理することができる。具体的には、装置マネージャ２４０は、１つ以上の登録ポリシーに基づいて、企業コンピュータシステム１５０にアクセスするリモート装置の登録を管理することができる。装置マネージャ２４０は、リモート装置の通信を処理することができる。通信は、リモート装置と装置アクセス管理システム１２０との間の同期（「装置同期」）を含むことができる。装置同期は、リモート装置に関する装置情報をリモート装置から装置アクセス管理システム１２０に送信することを含むことができる。装置情報は、装置記録として装置レジストリ１６２に記憶される。リモート装置の装置情報を用いて、そのリモート装置上で実行するアプリケーションを設定することができる。装置マネージャ２４０は、企業コンピュータシステム１５０にアクセスするように登録された新たなリモート装置を検出することができる。
【００７５】
装置情報が登録されたリモート装置の変更に対応する変更イベントを示しているときに、装置マネージャ２４０は、それを検出することができる。リモート装置の変更の例としては、リモート装置上のハードウェアの構成の調整、またはリモート装置上のアプリケーションのインストールまたは削除を含むがこれらに限定されない。装置マネージャ２４０は、リモート装置が企業コンピュータシステム１５０へのアクセスを管理する１つ以上のポリシーを遵守しているか否かを判断することができる。
【００７６】
アクセスマネージャ２３８は、ＩＤ管理システム、例えばＩＤ管理システム１４０との通信、およびユーザアクセス管理システム、例えばユーザアクセス管理システム１３０との通信を実現するまたは促進することができる。ユーザＩＤに関連付けられた役割を含むユーザ情報は、識別管理システム１４０から取得することができる。アクセスマネージャ２３８は、企業コンピュータシステム１５０へのアクセス権の変更に関連する変更イベントに関する情報を受信することができる。例えば、アクセスマネージャ２３８は、ＩＤ管理システム１４０から、１つのユーザ役割から別のユーザ役割に変更するユーザ役割の変更を示す情報を受信することができる。ユーザ役割の変更は、ユーザＩＤにユーザ役割の関連、またはユーザＩＤからユーザ役割の分離に対応してもよい。
【００７７】
アクセスマネージャ２３８は、ユーザアクセス管理システム１３０から、企業コンピュータシステム１５０へのアクセス権の変更を示す情報を受信することができる。アクセス権の変更は、リソースのアクセス権が取消されまたは許可されたというアクセス権の変更に対応することができる。リソースへのアクセス権は、ポリシーの変更に基づいて変更する可能性がある。アクセス権の変更は、１つ以上の役割に対するアクセス権の変更に対応してもよい。リソースへのアクセス権の変更は、ユーザのアクセス権に影響するため、そのユーザに登録されたリモート装置からリソースに対するアクセス権に影響し得る。いくつかの実施形態において、リソースへのアクセス権に関する情報は、図５を参照して説明される技術を用いて記憶することができる。これらの情報は、ユーザアクセス管理システム１３０から取得することができる。情報は、１つ以上のユーザ役割に応じて許可または禁止されたリソースを示すことができる。アクセスマネージャ２３８は、その情報を用いて、ユーザ役割に基づいてリソースへのアクセス権を決定することができる。
【００７８】
通信ハンドラ２３６は、装置アクセス管理システム１２０とエンドポイント装置２１０などのリモート装置との間のメッセージ（例えば、メッセージ２０８）の通信を管理することができる。通信ハンドラ２３６は、エンドポイント装置２１０からの要求を受信することができる。要求は、ターゲットシステムのリソースにアクセスするための要求、またはターゲットシステムのリソースにアクセスするようにアプリケーションからの要求を含むことができる。通信ハンドラ２３６は、装置同期のためにエンドポイント装置２１０から送信された情報を受信することができる。情報は、リモート装置の遵守の変更もしくは処理または構成の変更などの変更イベントを示す装置情報を含むことができる。
【００７９】
エンドポイント装置２１０と装置アクセス管理システム１２０との間のメッセージ（例えば、要求）の通信は、通信システム２９０を介して容易にすることができる。通信システム２９０は、メッセージを送信、受信、記憶、および／または利用するサービスを提供することができる。「メッセージ」としては、メールメッセージ、インスタントメッセージ（例えば、さまざまな「チャット」サービスを用いて、ユーザ間に送信されるメッセージ）、ＳＭＳ／ＭＭＳメッセージ（例えば、さまざまな移動通信データネットワークおよび他の無線データネットワークによってサポートされるショートメッセージサービスおよび／またはマルチメディアメッセージサービスプロトコルに準拠するメッセージ）、音声メッセージ、写真／画像メッセージ、ソーシャルネットワークメッセージなどが挙げられる。メッセージサービスの例としては、Gmail（登録商標）（Google（登録商標）社のサービス）またはYahoo!（登録商標）Mail（Yahoo!社のサービス）などのメールサービスが挙げられる。他の例としては、Gmailのチャット機能またはFacebook（登録商標）（Facebook社のサービス）のチャット機能などのインスタントメッセージまたはチャットサービス、移動通信データキャリアによって提供されたＳＭＳ／ＭＭＳサービス、メッセージングコンポーネント（例えば、Facebook社またはLinkedIn（登録商標）社により提供されたソーシャルネットワーク）を備えるソーシャルネットワークサービスが挙げられる。通信システム２９０は、装置アクセス管理システム１２０とエンドポイント装置２１０との間の通信を容易にするために、ウェブベースクライアントインターフェイス、専用アプリケーションプログラム、アプリケーションプログラムインターフェイス（ＡＰＩ）、および／または他のツールを提供することができる。
【００８０】
通信システム１２０は、１つ以上のさまざまな種類の通信ネットワーク（例えば、ネットワーク２９２）を介して、エンドポイント装置と通信することができる。通信ネットワークの例として、例えば、インターネット、ワイドアリアネットワーク（ＷＡＮ）、ローカルエリアネットワーク（ＬＡＮ）、イーサネット（登録商標）ネットワーク、公衆または私設ネットワーク、有線ネットワーク、無線ネットワーク、およびそれらの組み合わせを含むがこれらに限定されない。異なる通信プロトコルを用いて、IEEE802.XXプロトコルスイート、ＴＣＰ／ＩＰ、ＩＰＸ、ＳＡＮ、AppleTalk、Bluetooth（登録商標）、および他のプロトコルのような有線プロトコルおよび無線プロトコルの両方を含む通信を促進することができる。
【００８１】
アプリケーションを設定するために、アカウントハンドラ２３２は、ユーザのＩＤに対応するリソースにアクセスするためのアカウントがユーザに提供されているか否かを判断することができる。アカウントハンドラ２３２は、ユーザ情報データストア１７２にアクセスすることによって、（アカウントが存在する場合）リソースにアクセス許可を有する各ＩＤのアカウントを確認することができる。アカウントがユーザに提供されていないと判断する場合、アカウントハンドラ２３２は、企業コンピュータシステム１５０と通信して、アカウントをユーザに提供することができる。いくつかの実施形態において、アカウントハンドラ２３２は、ターゲットシステムと直接通信することによって、アカウントを提供することができる。アカウントに関する情報は、アプリケーション内に設定されてもよい。
【００８２】
アプリケーション設定マネージャ２３４は、リソース２６２またはリソース２７２などのリソースにアクセスするようにアプリケーションを設定するか否かを判断することができる。アプリケーションを用いてアクセス可能なリソースにアクセスするリモート装置からの要求の受信、新たなリモート装置の登録、およびリソースへのアクセス権の変更を含むがこれらに限定されない多くの異なる状況によって、アプリケーションをリモート装置用に設定することができる。例えば、ユーザ役割の変更によって、そのユーザは、１つ以上のリソースにアクセスすることができる。場合によって、複数のアプリケーションは、役割に関連付けられたグループとして定義されてもよい。複数のアプリケーションは、グループに関連付けられた役割が与えられたユーザに提供されてもよい。いくつかの実施形態において、リモート装置に変更イベントを検出することに応じて、アプリケーションをリモート装置用に設定することができる。変更イベントは、リモート装置の不遵守、またはリモート装置の動作または使用の変更（例えば、リモート装置構成の調整）に対応することができる。一度設定がなされると、アプリケーションを用いてリソースに対するアクセス権の後続変更に関する判断に応じて、アプリケーションのコンフィグレーションを修正することができる。リソースへのアクセスを提供するアプリケーションは、リソースに許可されたアクセスに基づいて、異なるユーザ用に異なって設定されてもよい。
【００８３】
アプリケーション設定マネージャ２３４は、アプリケーションデータストア１６６にアクセスして、ユーザＩＤに応じてリソースへのアクセス権を提供するように、設定する対象のアプリケーションを取り出すことができる。リソースへのアクセス権を提供するまたはリソースへのアクセス権を取消すように、アプリケーションを設定することができる。アプリケーション設定マネージャ２３４は、アプリケーションコンフィグレーションデータストア１７４にアクセスして、１つ以上のアプリケーションのコンフィグレーションを特定することができる。装置の属性、リソース、ユーザ役割、機能および設定を含むがこれらに限定されないさまざまな基準で、アプリケーションのコンフィグレーションを規定することができる。いくつかの実施形態において、上記１つ以上の基準に基づいて、アプリケーションのコンフィグレーションを事前に規定してもよい。例えば、リソースを提供するコンピューティングシステムに基づいて、アプリケーションの接続情報を事前に規定してもよい。
【００８４】
アプリケーション設定マネージャ２３４は、アプリケーションを用いてアクセス可能なリソースに許可されたアクセス権に基づいて、ユーザに登録された１つ以上のリモート装置のアプリケーションを設定することができる。アプリケーションは、さまざまな手法を用いて設定することができる。アプリケーションのコンフィグレーションの一部を事前に規定することができる。アプリケーションコンフィグレーションデータストア１７４は、アプリケーションのコンフィグレーションを記憶することができる。アプリケーション設定マネージャ２３４は、図６を参照して説明する技術を用いて、アプリケーションのコンフィグレーションを記憶することができる。
【００８５】
技術上、リソースを提供するコンピューティングシステム（例えば、ターゲットシステム）への接続を形成するための１つ以上の接続属性を表すアプリケーションのコード（例えば、実行コード）を変更することを含むことができる。例えば、コンピューティングシステムからリソースにアクセスすることを示すＵＲＬ（Uniform Resource Locator）を有するように、アプリケーションのコードを設定することができる。ＵＲＬは、コンピューティングシステムに接続するために使用される１つ以上の接続属性を表すことができる。いくつかの実施形態において、アプリケーションは、アプリケーションの変更されたコードに基づいて再作成されてもよい。接続属性の例としては、コンピューティングシステムのポートアドレス、コンピューティングシステムのホストアドレス、コンピューティングシステムによってサポートされる１つ以上のアクセスプロトコル、またはコンピューティングシステムとの接続を規定する他の属性を含むがこれらに限定されない。いくつかの実施形態において、アプリケーションによってアクセスされるコンフィグレーションファイルは、１つ以上の接続属性値を有するように構成されてもよい。コンフィグレーションファイルは、実行中にアプリケーションにアクセス可能なメモリに記憶されてもよく、アプリケーションのコードに含まれてもよい。いくつかの実施形態において、アプリケーションのコンフィグレーションを記憶するアプリケーションコンフィグレーションデータストア１７４に、アプリケーションの設定情報を参照することができる。いくつかの実施形態において、アプリケーションは、アプリケーションの動的設定を行うためのインターフェイス（例えば、アプリケーションプログラミングインターフェイス）を提供することができる。インターフェイスは、アプリケーションを設定するための１つ以上の属性を受入れることができる。
【００８６】
アプリケーション設定マネージャ２３４は、アプリケーションの１つ以上のアクセス属性を設定することができる。アクセス属性を用いて、アプリケーションからリソースに対するアクセス権を判断することができる。アプリケーションは、上述した１つ以上の設定技術を用いて、１つ以上のアクセス属性に関するアクセス情報を有するように設定されてもよい。アクセス属性の例としては、アカウント識別子、ユーザのアクセストークン、認証情報、およびリソースのアクセスを判断するために使用される他の情報を含むがこれらに限定されない。アクセスマネージャ２３８は、登録されたユーザによるリソースへのアクセスに関するアクセス情報を取得することができる。
【００８７】
いくつかの実施形態において、アプリケーション設定マネージャ２３４は、アプリケーションに設定する１つ以上の情報（設定情報）を設定することができる。アプリケーションの設定情報は、アプリケーションの１つ以上の機能に対応することができる。上述した１つ以上の設定技術を用いて、設定情報を設定することができる。ユーザに許可されたリソースへのアクセスに応じて、設定情報を設定することができる。例えば、リソースに許可されたアクセス権に基づいて、アプリケーションの機能を有効または無効にするように、１つ以上の設定情報を設定することができる。別の例において、１つ以上の装置属性に基づいて、アプリケーションの設定情報を設定することができる。いくつかの実施形態において、装置の属性、例えばリモート装置の種類またはリモート装置上のプラットフォームに基づいて、アプリケーションの設定情報を異なって設定することができる。
【００８８】
アプリケーション設定マネージャ２３４は、変更イベントが発生した（例えば、アプリケーションによるリソースへのアクセスが変更された）と判断した場合、アプリケーションのコンフィグレーションを変更することができる。アプリケーション設定マネージャ２３４は、リソースへのアクセス権の変更に関する変更イベントを検出した場合、リソースへのアクセス権を調整するまたは取消すことができる。アクセス権の変更に基づいて、１つ以上の接続属性、１つ以上のアクセス属性、および／または１つ以上の設定情報を設定することができる。上述した１つ以上の技術を用いて、アプリケーションの設定情報を変更することができる。例えば、アプリケーションを使用してリソースに対するアクセス権が取消された場合、アプリケーションに設定された１つ以上の接続属性および／または１つ以上のアクセス属性を削除することができる。いくつかの実施形態において、リソースへのアクセス権が取消された場合、リモート装置からアプリケーションを完全に削除してもよい。アプリケーション設定マネージャ２３４は、通信ハンドラ２３６を利用して、リモート装置に命令を送信することによって、アプリケーションを削除するようリモート装置に要請することができる。他の例において、リソースへのアクセスが許可された場合、同様に、そのリソースにアクセスするようにアプリケーションを設定することができる。いくつかの実施形態において、１つ以上の設定情報を有するようにアプリケーションの設定を変更することによって、追加リソースへのアクセス権を提供する機能を有効にすることができる。
【００８９】
アプリケーション設定マネージャ２３４は、図８を参照して説明する技術を用いて、リモート装置の設定がなされたアプリケーションの状態を管理することができる。アプリケーションの設定状態を用いて、アプリケーションの設定情報を変更するか否かを判断することができる。
【００９０】
アプリケーションは、設定がなされたとき、さまざまな技術を用いてリモート装置に提供することができる。いくつかの実施形態において、設定がなされたアプリケーションの全体をユーザに登録された１つ以上のリモート装置に送信することができる。通信ハンドラ２３６は、設定がなされたアプリケーションを１つ以上のリモート装置に送信することができる。例えば、通信ハンドラ２３６は、１つ以上の設定がなされたアプリケーション２０４をエンドポイント装置２１０−２に送信し、１つ以上の設定がなされたアプリケーション２０６をエンドポイント装置２１０−１に送信することができる。設定がなされたアプリケーション２０４および設定がなされたアプリケーション２０６は各々、同一のリソースまたは異なるリソースにアクセスするように構成されてもよい。
【００９１】
いくつかの実施形態において、通信ハンドラ２３６は、通信システム２９０を介して、設定がなされたアプリケーションをリモート装置に提供することができる。通信システム２９０は、プッシュ通知サービス（例えば、Apple（登録商標）社により提供されたAppleプッシュ通知サービスまたはGoogle（登録商標）社により提供されたGoogle（登録商標）通知サービス）を実行することができる。プッシュ通知サービスは、ネットワーク２９２を介して、リモート装置（例えば、エンドポイント装置２１０）との通信を容易にすることができる。プッシュ通知サービスは、設定がなされたアプリケーションをエンドポイント装置に配信することができる。エンドポイント装置２１０は、ネットワーク２９２内にプッシュ通知の有無をチェックし、設定がなされたアプリケーションに関する通知を含むプッシュ通知を取得するように構成することができる。
【００９２】
いくつかの実施形態において、アプリケーションの全体ではなく、アプリケーションのコンフィグレーションのみをエンドポイント装置２１０に提供することができる。上述した技術を用いて、通信ハンドラ２３６は、アプリケーションのコンフィグレーションを示す通知またはアプリケーションコンフィグレーションデータストア１７４からアプリケーションのコンフィグレーションを利用できることを示す通知を送信することによって、アプリケーションのコンフィグレーションをエンドポイント装置に送信することができる。エンドポイント装置上で実行しているセキュアコンテナアプリケーションは、このコンフィグレーションを使用または利用することができ、このコンフィグレーションに基づいてアプリケーションを設定することができる。いくつかの実施形態において、アプリケーションがエンドポイント装置にインストールされていない場合、セキュアコンテナアプリケーションは、まずアプリケーションを取り出し、次にアプリケーションを設定することができる。いくつかの実施形態において、通知は、設定がなされたアプリケーションがデータストア１６０に記憶されていることを示す情報と共に送信されてもよい。例えば、設定がなされたアプリケーションは、インターフェイス（例えば、アプリケーションカタログ）を介してアクセスできるアプリケーションデータストア１６６に記憶されてもよい。通知をエンドポイント装置に通信することによって、利用可能な１つ以上の設定がなされたアプリケーションがアプリケーションデータストア１６６内に存在していることをエンドポイント装置に知らせることができる。エンドポイント装置上のセキュアコンテナアプリケーションは、アプリケーションデータストア１６６にアクセスして、設定がなされたアプリケーションを取り出すことができる。
【００９３】
図２に示す例において、エンドポイント装置２１０−２は、設定がなされたアプリケーション２０４を受信することができる。セキュアコンテナアプリケーション２７０は、セキュアコンテナアプリケーション２７０内で実行するように設定がなされたアプリケーション２０４をインストールすることができる。設定がなされたアプリケーション２０４は、１つ以上の接続属性（例えば、ターゲットシステムのポートアドレスおよびターゲットシステムのホストアドレス）の値を示す接続情報２１２を有するように、設定されてもよい。設定がなされたアプリケーション２０４は、１つ以上のアクセス属性（例えば、リソースおよびアクセストークンのアカウント情報）を示すアクセス情報２０８を有するように、設定されてもよい。エンドポイント装置２１０−２に関連付けられたユーザは、エンドポイント装置２１０−２を操作して、設定がなされたアプリケーション２０４を用いて、接続情報によって特定されたターゲットシステム内のリソースにアクセスすることができる。いくつかの実施形態において、ユーザは、アクセス情報２０８に従って設定されたアカウントを用いてリソースにアクセスするために、認証情報を提供する必要がある。
【００９４】
図３を参照して、図３は、本発明のいくつかの実施形態に従って、アプリケーションをリモート装置に提供するための処理シーケンスを示す例である。この例において、複数のリモート装置（例えば、エンドポイント装置３０２、３０４および３０６）は、企業システム、例えば企業コンピュータシステム１５０にアクセスするように登録することができる。図３に示す例において、エンドポイント装置３０２、３０４および３０６の各々は、企業システムのユーザＩＤを用いて登録されたものとする。
【００９５】
処理シーケンス３００は、企業システムにアクセスするユーザのＩＤで登録されたリモート装置（例えば、エンドポイント装置３０２）からの要求３１０によって開始される。要求３１０は、企業システム内のリソースまたはアプリケーションにアクセスするために、送信されてもよい。
【００９６】
装置アクセス管理システム１２０は、要求３１０に応答して、処理３１２を実行することができる。装置アクセス管理システム１２０は、要求３１０により指定された１つ以上のアプリケーションまたは要求３１０により指定された１つ以上のリソースへのアクセスを提供する１つ以上のアプリケーションを特定することができる。要求３１０に関連付けられたリモート装置を用いて企業システム内のリソースにアクセスするように、特定されたアプリケーションを設定することができる。あるアカウントが企業システム内のリソースにアクセスすることを可能にするアクセス情報を用いて、アプリケーションを設定することができる。アプリケーションを実行するリモート装置がリソースへのアクセスを提供するターゲットシステムに接続することを可能にする接続情報を用いて、アプリケーションを設定することができる。いくつかの実施形態において、リモート装置のコンフィグレーション（例えば、リモート装置の種類またはリモート装置のプラットフォーム）に基づいて、リモート装置用にアプリケーションを設定することができる。いくつかの実施形態において、リソースへのアクセスを可能にするアプリケーションは、異なるバージョンを有することができる。各バージョンは、リモート装置の異なるコンフィグレーションに対応する。
【００９７】
図３に示す例において、設定がなされたアプリケーションは、要求３１０を送信したユーザのＩＤで登録された複数のエンドポイント装置に提供されてもよい。ユーザのＩＤで登録されたエンドポイント装置から、要求、例えば要求３１０を受信することに応答して、設定がなされたアプリケーションをそのＩＤで登録されたリモート装置に配信することができる。例えば、要求３１０に応じて装置アクセス管理システム１２０によって設定がなされたアプリケーションを、エンドポイント装置３０２およびエンドポイント装置３０４にそれぞれ送信することができる（３１４、３１６）。ユーザは、そのユーザに登録された各リモート装置上でアプリケーションを個別に要求および設定する必要なく、登録されたすべてのリモート装置用に設定されたアプリケーションを受信することができるという利点を受けることができる。アプリケーションは、登録された各リモート装置の設定に基づいて、特異的に設定されてもよい。ユーザは、登録されたリモート装置のいずれかを操作し、設定がなされたアプリケーションを用いて、リソースにアクセスすることができる。企業システムは、各登録された装置からの個別要求の数を減らすことによって、アプリケーションの処理効率を改善することができる。代替的に、装置アクセス管理システム１２０は、アプリケーションを一度設定して、設定がなされたアプリケーションをすべてのリモート装置に配信することができる。
【００９８】
いくつかの実施形態において、装置アクセス管理システム１２０は、ユーザのＩＤ（例えば、エンドポイント装置３０２、３０４を登録するＩＤ）で企業システムに登録された１つ以上のリモート装置（例えば、リモート装置３０６）を検出することができる（３２０）。装置レジストリ１６２内に追加された装置情報（例えば、装置記録）によって、リモート装置を検出することができる。装置情報をユーザＩＤに関連付けることができる。アプリケーションを設定して、同一のＩＤで登録された他のリモート装置に送信した後、リモート装置を検出することができる。例えば、ユーザＩＤで登録された他のリモート装置に設定がなされたアプリケーションを送信した後に、新たに登録されたリモート装置をユーザＩＤで登録されたものとして検出することができる。
【００９９】
登録されたリモート装置を検出すると、以前に他のリモート装置のために設定がなされたアプリケーションは、検出されたリモート装置に送信される（３２２）。いくつかの実施形態において、装置アクセス管理システム１２０は、上述の技術を用いて、検出されたリモート装置用にアプリケーションを設定することができる。
【０１００】
いくつかの実施形態において、装置アクセス管理システム１２０は、企業システム内の変更イベントを検出することができる（３３０）。変更イベントは、ユーザのＩＤによるリソースのアクセス権に影響を及ぼすものであってもよい。例えば、変更イベントは、あるユーザ役割から別のユーザ役割に変更するユーザ役割の変更に対応することができる。別の例において、変更イベントは、ユーザ役割に対するアクセスポリシーの変更に対応することができる。したがって、リソースへのアクセス権は、変更イベントに基づいて変更する可能性がある。リソースへのアクセス権の変更の例としては、リソースへのアクセス権の取消、新たなリソースへのアクセスの許可などを含むがこれらに限定されない。ＩＤによるリソースへのアクセス権の変更に基づいて、そのＩＤで登録されたリモート装置のために、リソースへのアクセスを提供するアプリケーションのコンフィグレーションを変更する必要がある。例えば、リソースへのアクセス権が取消された場合、アプリケーションのコンフィグレーションを変更して、リソースにアクセスできるようにアプリケーションを有効にする接続情報を削除する必要がある。いくつかの実施形態において、以前に設定がなされ、リモート装置に送信されたアプリケーションは、変更イベントに基づいてそのコンフィグレーションを変更することができる。図３の例において、処理３１２によって以前に設定がなされたアプリケーションは、アクセス権の変更に基づいてそのコンフィグレーションを変更してもよい。装置アクセス管理システム１２０は、アプリケーションのコンフィグレーションに対する変更をエンドポイント装置３０２、エンドポイント装置３０４およびエンドポイント装置３０６にそれぞれ送信することができる（３３４、３３６、３３８）。いくつかの実施形態において、アプリケーションを再設定することができ、アプリケーションの全体をエンドポイント装置３０２、３０４、３０６に送信することができる。
【０１０１】
いくつかの実施形態において、装置アクセス管理システム１２０は、企業システムにアクセスする１つ以上のアプリケーションを検出することができる（３４０）。例えば、装置アクセス管理システム１２０は、ＩＤに割り当てられた１つ以上のユーザ役割にアクセス可能なリソースへのアクセスを提供することができるアプリケーションを検出することができる。別の例において、装置アクセス管理システム１２０は、新たなリソースへのアクセスを可能にする新たなアプリケーションを検出することができる。
【０１０２】
装置アクセス管理システム１２０は、処理３４２を実行して、装置アクセス管理システム１２０によって検出されたアプリケーション３４０を設定することができる。いくつかの実施形態において、アプリケーションが以前にアクセスできないリソースへのアクセスを可能にした場合、装置アクセス管理システム１２０は、リソースにアクセスするように、エンドポイント装置３０２、３０４、３０６に関連付けられたＩＤにアカウントを提供することができる。アカウントは、ＩＤに関連付けられた１つ以上のユーザ役割に基づいて、提供されてもよい。リソースへのアクセスは、１つ以上のユーザ役割に基づいて決定されてもよい。いくつかの実施形態において、装置アクセス管理システム１２０は、検出されたアプリケーションを用いてアクセス可能なリソースへのアクセスを提供するアカウントを特定することができる。ＩＤで登録されたリモート装置（例えば、エンドポイント装置３０２、３０４、３０６）を用いてリソースにアクセスするように、検出されたアプリケーションを設定することができる。
【０１０３】
装置アクセス管理システム１２０は、検出されたアプリケーションを設定した後、設定がなされたアプリケーションを送信することができる。設定がなされたアプリケーションは、ユーザのＩＤで登録されたエンドポイント装置３０２、エンドポイント装置３０４およびエンドポイント装置３０６にそれぞれ送信される（３４４、３４６、３４８）。
【０１０４】
いくつかの実施形態において、装置アクセス管理システム１２０は、企業システム内に発生したさまざまな種類の変更イベントに基づいて、アプリケーションのコンフィグレーションを変更することができる。図３の例に続けて、図４は、本発明のいくつかの実施形態に従って、装置アクセス管理システム１２０がアプリケーションをリモート装置に提供するための例示的な処理シーケンス４００を示している。具体的には、図４の例は、装置アクセス管理１２０が、企業システムへのアクセスを影響し得る変更イベントに基づいてアプリケーションを設定するために実行し得る処理を示している。企業システムにアクセスするように登録されたリモート装置から受信した情報から、変更イベントを検出することができる。変更イベントは、企業システムまたは企業システムをサポートする１つ以上の他のシステム（例えば、ＩＤ管理システム１４０およびユーザアクセス管理システム１３０）から受信した情報に基づいて、装置アクセス管理システム１２０によって検出されてもよい。図４に示す例において、処理４００は、処理３００を実行した後に実行される。いくつかの実施形態において、変更イベントの検出時間に基づいて、処理４００のすべてまたは一部は、処理３００と同時に行われてもよい。
【０１０５】
装置アクセス管理システム１２０は、１つ以上のリモート装置から、変更イベント（例えば、遵守イベントまたは装置イベント）を示す情報を受信することができる。例えば、装置アクセス管理システム１２０は、エンドポイント装置３０４から、装置イベント４２０に関する情報を受信することができる。情報４２０は、企業システムへのアクセスに影響を及ぼすエンドポイント装置３０４の変更を示すことができる。いくつかの実施形態において、情報４２０は、エンドポイント装置３０４の変更を特定するために使用され得る装置情報を含むことができる。例えば、エンドポイント装置３０４の変更は、エンドポイント装置３０４のハードウェアの変更（例えば、エンドポイント装置３０４上で行われた脱獄（jail-breaking））、エンドポイント装置３０４のソフトウェアの変更（例えば、ブラックリストに載せられたアプリケーションのインストールまたはサポートされていないオペレーティングシステムへの更新）、またはエンドポイント装置３０４の操作および／または使用における他の変更を含むことができる。別の例において、装置アクセス管理システム１２０は、エンドポイント装置３０２から、遵守イベント４２２に関する情報を受信することができる。情報４２２は、リモート装置上で実行するセキュアコンテナアプリケーションによって判断されてもよい。遵守イベント４２２に関する情報は、リモート装置の遵守を評価するために使用され得る装置同期情報を含んでもよい。いくつかの実施形態において、遵守イベントに関する情報は、リモート装置の遵守または違反を示すことができる。
【０１０６】
装置アクセス管理システム１２０は、処理４３０を実行して、１つ以上のリモート装置（例えば、エンドポイント装置３０２、３０４および３０６）の変更イベントを検出することができる。変更イベントは、リモート装置から受信した情報（例えば、情報４２０または情報４２２）に基づいて、検出されてもよい。いくつかの実施形態において、装置アクセス管理システム１２０は、企業システムからまたは企業システムをサポートする１つ以上の他のシステム（例えば、ＩＤ管理システム１４０およびユーザアクセス管理システム１３０）から受信した情報に基づいて、変更イベントを検出することができる。この情報は、変更イベントを示すことができ、またはこの情報を使用して、変更イベントを検出することができる。例えば、この情報は、エンドポイント装置３０２、３０４および３０６に登録されたユーザＩＤに関連付けられたユーザ役割の変更を示すことができる。別の例において、この情報は、リソースのアクセスポリシーの変更を示すことができる。変更イベントは、企業システムへのアクセス権の変更を引き起こす可能性がある。アクセス権の変更は、ユーザに登録されたリモート装置からアクセス可能なリソースへのアクセス権の変更を引き起こす可能性がある。
【０１０７】
検出された変更イベントによって影響されたリソースへのアクセスを調整するように、リモート装置上のアプリケーションのコンフィグレーションを変更することができる。アクセス権の変更は、リソースまたはリソースの１つ以上の機能に対するアクセス権の許可または拒否を含む。装置アクセス管理システム１２０は、変更イベントに基づいたアクセス権を反映するようにエンドポイント装置３０２、３０４および３０６のいずれかのアプリケーションのコンフィグレーションを変更する必要があるか否かを決定するために、処理４３２を実行することができる。いくつかの実施形態において、ユーザに登録されたすべてのまたは一部のリモート装置上でアプリケーションのコンフィグレーションを変更してもよい。一例において、変更イベントが遵守ポリシーによって定義された不遵守に関連する遵守イベントである場合、装置アクセス管理システム１２０は、遵守ポリシーに基づいて、リソースへのアクセス権を決定することができる。
【０１０８】
装置アクセス管理システム１２０は、アクセス可能なリソースに基づいて、エンドポイント装置３０２、３０４および３０６の各々に登録されたＩＤに関連付けられたユーザ役割でアクセス可能なリソースにアクセスするように構成できるアプリケーションを決定することができる。一部のリモート装置は、変更イベントの影響を受けるアプリケーションを有しないため、変更イベントに影響されない。エンドポイント装置にインストールされたアプリケーションに対し、装置アクセス管理システム１２０は、ユーザ役割に許可されたアクセス権に従って、アプリケーションのコンフィグレーションを自動的に変更することができる。アプリケーションにアクセスされるリソースへのアクセスを許可または拒否するように、アプリケーションのコンフィグレーションを変更することができる。アクセス情報、接続情報、またはアプリケーションの設定に関する他の情報を追加または削除することによって、アプリケーションのコンフィグレーションを変更することができる。いくつかの実施形態において、変更イベントにより許可されたアクセス権に基づいて、リソースにアクセスする新たなアプリケーションを設定することができる。アプリケーションのコンフィグレーションの変更は、リモート装置にインストールされていない新たなアプリケーションのコンフィグレーションの変更を含んでもよい。新たなアプリケーションのコンフィグレーションは、アクセス情報および接続情報を含むように変更されてもよい。
【０１０９】
アプリケーションのコンフィグレーションを変更したとき（後）、装置アクセス管理システム１２０は、変更がなされたアプリケーションまたは変更がなされたコンフィグレーションを変更イベントに影響されたリモート装置に送信することができる。いくつかの実施形態において、ユーザに登録されたすべてのリモート装置（例えば、エンドポイント装置３０２、３０４および３０６）は、変更イベントに影響された可能性がある。例えば、装置アクセス管理システム１２０は、変更されたアプリケーションのコンフィグレーションをエンドポイント装置３０２、エンドポイント装置３０４、およびエンドポイント装置３０６にそれぞれ送信することができる（４３４、４３６、４３８）。
【０１１０】
変更イベントに基づいてアプリケーションのコンフィグレーションを自動的に変更し、変更されたコンフィグレーションを用いてリモート装置を更新することによって、ユーザは、変更イベントに基づいて、手動で最新のアプリケーションを要求する必要がない。いくつかの実施形態において、ユーザは、変更イベントを知っておらず、リモート装置上のアプリケーションを利用するときに、アクセスが許可されていないことを発見することがある。変更されたコンフィグレーションを自動的に提供することによって、ユーザは、リソースにアクセスする許可を有する場合、自動的に設定されたアプリケーションを用いて、リソースにアクセスすることができる。ユーザは、異なる種類のリモート装置を登録しており、そのうちの一部が同一のアプリケーションに対して異なって設定されている可能性があるため、変更イベントに影響されたアプリケーションの各インスタンスを取得し、個別に設定する必要がない。
【０１１１】
図５は、本発明のいくつかの実施形態に従って、企業システム（例えば、企業コンピュータシステム１５０）内の役割によりアクセス可能なリソースを示す情報を記憶するためのデータ構造５１０の一例を示す図である。データ構造５１０内の情報は、企業システムにアクセスするために規定された１つ以上のユーザ役割に許可および／または拒否された１つ以上のリソースを示すことができる。データ構造５１０内の情報を使用して、データ構造５１０に特定されたリソースへのアクセスを提供するアプリケーションのコンフィグレーションを決定することができる。
【０１１２】
データ構造５１０は、配列、レコード、関係データベーステーブル、ハッシュテーブル、リンクリスト、または他の種類のデータ構造を含むがこれらに限定されない異なる種類のデータ構造のうち１つのデータ構造またはそれらの組み合わせとして実現されてもよい。例示の目的のために、データ構造５１０は、特定の数のフィールド（例えば、フィールド５１２および５１４）を有する構成で示されているが、示されたものよりも多いフィールドまたは少ないフィールドを有する異なる構成に定義されてもよい。データ構造５１０の各インスタンスは、アクセス情報データストア１６８に記憶されてもよい。
【０１１３】
データ構造５１０のフィールド５１２（「ユーザ役割」）は、企業システムにアクセスするために規定された１つ以上のユーザ役割を示す情報を含むことができる。フィールド５１４（「許可リソース」）は、フィールド５１２に示されたユーザ役割によるアクセスが許可された１つ以上のリソースを示す情報を含むことができる。いくつかの実施形態において、データ構造５１０は、１つ以上のユーザ役割によるアクセスが拒否された１つ以上のリソースを示す情報を含むことができる。いくつかの実施形態において、リソースによって提供された機能へのアクセスは、ユーザ役割に基づいて制御されてもよい。データ構造５１０は、１つ以上のユーザ役割に応じて許可または拒否される機能を示すことができる。いくつかの実施形態において、データ構造５１０内の情報は、１つ以上のポリシー、例えば遵守ポリシーに基づいて、決定されてもよい。いくつかの実施形態において、ポリシーを利用して、ユーザ役割に応じて許可される１つ以上のリソースへのアクセス権を決定することができる。
【０１１４】
図５に示す例において、データ構造５１０のエントリ５２０は、フィールド５１２の「管理者」役割を示し、「ＶＰＮサービス」、「Outlook（登録商標）メールサービス」および「人事資源サービス」を含む許可リソース５１４を示すことができる。データ構造５１０のエントリ５３０は、フィールド５１２の「幹部」役割を示し、「Outlookメールサービス」および「人事資源サービス」を含む許可リソース５１４を示すことができる。データ構造５１０のエントリ５４０は、フィールド５１２の「従業員」役割を示し、「Outlookメールサービス」を含む許可リソース５１４を示すことができる。
【０１１５】
図６は、本発明のいくつかの実施形態に従って、企業システム（例えば、企業コンピュータシステム１５０）内の異なるリソースにアクセスするためのアプリケーションのコンフィグレーションを特定する情報を記憶するデータ構造６１０の一例を示す図である。
【０１１６】
データ構造６１０は、配列、レコード、関係データベーステーブル、ハッシュテーブル、リンクリスト、または他の種類のデータ構造を含むがこれらに限定されない異なる種類のデータ構造のうち１つのデータ構造またはそれらの組み合わせとして実装されてもよい。例示の目的のために、データ構造６１０は、特定の数のフィールド（例えば、フィールド６１２〜６１６）を有する構成で示されているが、示されたものよりも多いフィールドまたは少ないフィールドを有する異なる構成に定義されてもよい。データ構造６１０の各インスタンスは、アプリケーションコンフィグレーションデータストア１７４に記憶されてもよい。装置アクセス管理システム１２０は、アプリケーションコンフィグレーションデータストア１７４にアクセスして、設定されるアプリケーションのコンフィグレーションを取り出すことができる。
【０１１７】
データ構造６１０内の情報は、企業システム内のリソースへのアクセスを提供する１つ以上のアプリケーションを示すことができる。データ構造６１０は、リソースへのアクセスを提供するアプリケーションの接続情報のコンフィグレーションを示す接続情報を含む。いくつかの実施形態において、企業システム内のＩＤ用のアプリケーションのコンフィグレーションを記憶するために、データ構造６１０のインスタンスを作成することができる。
【０１１８】
図示されていないが、データ構造６１０は、リモート装置に特有の１つ以上の基準に特有のアプリケーションのコンフィグレーションに関する接続情報を含むことができる。例えば、アプリケーションのコンフィグレーションに関する接続情報は、リモート装置の種類、リモート装置上でサポートされるプラットフォーム、リモート装置のハードウェア構成、リモート装置のソフトウェア構成、またはリモート装置の操作および／または使用に関する他の情報に基づいて、規定されてもよい。
【０１１９】
いくつかの実施形態において、データ構造６１０は、アプリケーションを用いてアクセス可能なリソースに対してアプリケーションの１つ以上の設定情報を含むことができる。設定情報は、リソースへのアクセスを提供するアプリケーションの機能に対応することができる。いくつかの実施形態において、アプリケーションを使用してリソースにアクセスする１つ以上のユーザ役割に応じて、設定情報を設定することができる。
【０１２０】
データ構造６１０のフィールド６１２（「アプリケーション」）は、データ構造６１０に記憶されるコンフィグレーションのアプリケーションを示す情報を含むことができる。フィールド６１４（「リソース」）は、フィールド６１２に示されたアプリケーションを用いてアクセス可能であるリソースを示す情報を含むことができる。
【０１２１】
データ構造６１０のフィールド６１６（「接続情報」）は、フィールド６１２に示されたアプリケーションの設定に関する１つ以上の接続属性を示す情報を含むことができる。いくつかの実施形態において、接続属性は、装置特有の基準、例えば装置種類またはリモート装置のプラットフォームに基づいて規定することができる。いくつかの実施形態において、異なるアプリケーションの接続情報は、接続情報データストア１７０に記憶することができる。接続情報は、アプリケーションの設定に関する１つ以上の接続属性の値を示すことができる。接続情報は、装置特有の基準に基づいて、接続属性の値を示すことができる。データ構造６１０の各インスタンスは、アクセス情報データストア１７４に記憶することができる。
【０１２２】
図６に示す例において、データ構造６１０のエントリ６２０は、「Outlookメールサービス」（フィールド６１４）用の「メールアプリケーション」（フィールド６１２）の構成を示すことができる。フィールド６１６は、メールアプリケーション用の接続情報を示すことができる。フィールド６１６の接続情報は、メールサービスを提供するメールサービスシステムのポートアドレス、メールサービスシステムのホストアドレス、およびメールサービスシステムのＬＤＡＰなどの接続属性の値を示すことができる。
【０１２３】
データ構造６１０のエントリ６３０は、「ＶＰＮサービス」（フィールド６１４）用の「ＶＰＮアプリケーション」（フィールド６１２）のコンフィグレーションを示すことができる。フィールド６１６は、ＶＰＮアプリケーションの接続情報を示すことができる。フィールド６１６の接続情報は、ＶＰＮサービスを提供するＶＰＮサービスシステムのポートアドレスおよびＶＰＮサービスシステムのホストアドレスなどの接続属性の値を示すことができる。
【０１２４】
データ構造６１０のエントリ６４０は、「人事資源（ＨＲ）サービス」（フィールド６１４）用の「ＨＲアプリケーション」（フィールド６１２）のコンフィグレーションを示すことができる。フィールド６１６は、ＨＲアプリケーションの接続情報を示すことができる。フィールド６１６の接続情報は、ＨＲサービスを提供するＨＲサービスシステムのポートアドレスおよびＨＲサービスシステムのホストアドレスなどの接続属性の値を示すことができる。
【０１２５】
図７を参照して、図７は、データ構造７１０の一例を示している。データ構造７１０は、本発明のいくつかの実施形態に従って、企業システムにアクセスするように登録されたリモート装置に関する情報を記憶することができる。データ構造７１０のような１つ以上のデータ構造を作成して、複数のリモート装置に関する情報を記憶することができる。データ構造７１０に記憶されたリモート装置の情報は、リモート装置用のアプリケーションを設定するために考慮されてもよい。データ構造７１０は、データ構造７１０内に特定された各リモート装置用の１つ以上のアプリケーションのコンフィグレーションに関する情報を記憶することができる。
【０１２６】
データ構造７１０は、配列、レコード、関係データベーステーブル、ハッシュテーブル、リンクリスト、または他の種類のデータ構造を含むがこれらに限定されない異なる種類のデータ構造のうち、１つのデータ構造またはそれらの組み合わせとして実装されてもよい。例示の目的のために、データ構造７１０は、特定の数のフィールド（例えば、フィールド７１２〜７２８）を有する構成で示されているが、示されたものよりも多いフィールドまたは少ないフィールドを有する異なる構成に定義されてもよい。データ構造７１０の各インスタンスは、装置レジストリ１６２などのデータストアに記憶されてもよい。
【０１２７】
データ構造７１０は、企業システムにアクセスするように登録された各リモート装置の装置記録を記憶することができる。各エントリ（例えば、エントリ７３０およびエントリ７４０）は、装置記録であってもよい。
【０１２８】
フィールド７１２（「装置識別子」）は、リモート装置の装置識別子を示すことができる。装置識別子の例としては、リモート装置のハードウェア識別子、リモート装置を企業システムに登録するために生成されたトークン、ＵＤＩＤ、またはリモート装置に関連付けられ且つ登録されている他のリモート装置からリモート装置を一意的に識別することができる他の種類の識別子を含むがこれらに限定されない。エントリ７３０は、企業システムにアクセスするように登録された第１リモート装置の装置識別子（例えば、「ＡＸ１７５９ＵＧＪＫＹ」）を含み、エントリ７４０は、企業システムにアクセスするように登録された第２リモート装置の装置識別子（例えば、「ＡＸ１７５９ＵＧＪＫＫ」）を含むことができる。
【０１２９】
フィールド７１４（「プラットフォームバージョン」）は、リモート装置に構成されたプラットフォームのバージョンを特定する情報を含むことができる。プラットフォームバージョンの例としては、リモート装置にインストールされたオペレーティングシステム（OS）バージョン、リモート装置にインストールされたハードウェアプラットフォーム、またはリモート装置を動作させるためにリモート装置にインストールされた他のソフトウェアを含むがこれらに限定されない。フィールド７１４のエントリ７３０は、リモート装置上のOSバージョン（「iOS 7.0.1」）を示し、フィールド７１４のエントリ７４０は、別のリモート装置上のOSバージョン（「Android 5.0.1」）を示すことができる。
【０１３０】
フィールド７１６（「地理上の位置」）は、リモート装置の地理上の位置を示すことができる。例えば、フィールド７１６のエントリ７３０、７４０は、各々のエントリに対応するリモート装置の最新の物理的な地理上の位置の座標（例えば、経緯度座標）を示す情報を含むことができる。地理上の位置は、リモート装置に含まれるまたはリモート装置にアクセス可能な全地球測位システム（ＧＰＳ）によって決定されてもよい。
【０１３１】
フィールド７１８（「ホスト識別子」）は、ホストシステムの識別子を示すことができる。例えば、リモート装置が別の装置（「ホスト装置」）上でホストされるエンドポイントである場合、ホスト識別子は、ホスト装置の識別子を示すことができる。ホスト装置の装置識別子は、ホスト識別子の一例である。いくつかの実施形態において、リモート装置用にホスト装置を登録し、ホスト装置の遵守に基づいて、リモート装置の遵守を評価することができる。
【０１３２】
データ構造７１０の１つ以上のフィールドは、リモート装置の記述情報を含むことができる。例えば、フィールド７２０（「表示名」）のエントリ７３０は、エントリ７３０に対応するリモート装置の表示名（例えば、「ユーザ１＿装置１」）を示し、フィールド７２０のエントリ７４０は、エントリ７４０に対応するリモート装置の表示名（例えば、「ユーザ２＿装置２」）を示すことができる。リモート装置に関する記述情報は、リモート装置の登録時に形成されてもよい。記述情報を用いて、あるユーザに登録された１つのリモート装置をそのユーザに登録された他のリモート装置から区別することができる。フィールド７２２（「装置種類」）は、装置記録に対応するリモート装置の種類を示すことができる。装置種類の例は、携帯電話、テーブルコンピュータ、スマートフォンまたは装着型装置を含むことができる。
【０１３３】
いくつかの実施形態において、装置記録は、企業システムにアクセスするために設立されたユーザＩＤ情報に関連付けられてもよい。上述したように、リモート装置は、企業システムにアクセスする１つ以上のユーザＩＤによって使用されるように登録されてもよい。リモート装置を登録するために使用されたユーザＩＤは、そのリモート装置の装置記録に関連付けられてもよい。例えば、フィールド７２４は、企業システムにアクセスするために設立された１つ以上のユーザＩＤとのユーザ関連を示す情報を含むことができる。フィールド７２４は、ユーザＩＤ情報を記憶する場所を示すことを含むことができる。図７に示す例において、フィールド７２４のエントリ７３０、７４０は、データ構造７６０を記憶するメモリ内の場所への参照を各々含むことができる。データ構造７６０は、エントリ７３０、７４０の各々によって特定されるリモート装置に関連するユーザＩＤに対応するユーザＩＤ情報を含むことができる。
【０１３４】
ユーザＩＤは、ＩＤ管理システム（例えば、ＩＤ管理システム１４０）により制定されてもよい。データ構造７６０は、ＩＤ管理システムによって作成され、管理されてもよい。データ構造７６０は、装置アクセス管理システム１２０にアクセス可能なユーザ情報データストア１７２に記憶されることができる。いくつかの実施形態において、装置アクセス管理システム１２０は、ＩＤ管理システム１４０と通信して、リモート装置に関連付けられたユーザＩＤ情報を取得することができる。図７は、ユーザＩＤに関するデータを記憶するデータ構造７６０の一例を示している。データ構造７６０は、ユーザＩＤ（例えば、ユーザ＿１）を示すフィールド７６２（「ユーザＩＤ」）を含むことができる。また、データ構造７６０は、ユーザＩＤの登録に関連するデータを含むことができる。例えば、データ構造７６０のフィールド７６４は、ユーザＩＤに関連する１つ以上の役割を示すことができる。データ構造７６０は、１つ以上のリソースにアクセスするための１つ以上のアカウントを示すフィールド７６６を含むことができる。各アカウントは、ユーザＩＤに登録されてもよい。例えば、アカウント７６６は、メールサービスへのアクセスを提供するアカウントのユーザＩＤ（例えば、ユーザ＿ＩＤ）を示すことができる。
【０１３５】
フィールド７２４に示されたユーザＩＤ関連に基づいて、データ構造７６０のリモート装置に関連付けられたユーザＩＤから、１つ以上の役割を決定することができる。役割を用いて、リモート装置の遵守を判断することができる。
【０１３６】
いくつかの実施形態において、リモート装置の遵守情報は、データ構造７１０に記憶されることができる。遵守情報は、企業システムにアクセスするリモート装置の遵守に関連する。データ構造７１０のフィールド７２６は、遵守状況情報を含むことができる。遵守状況情報は、データ構造７１０によって特定されたリモート装置の遵守状況を示すことができる。
【０１３７】
フィールド７２８は、データ構造７１０内の記録によって特定されたリモート装置上のアプリケーションのコンフィグレーションに関する情報を含むことができる。例えば、フィールド７２８は、リモート装置上のアプリケーションの設定状態を示すことができる。別の例において、フィールド７２８は、リモート装置上の各アプリケーションのコンフィグレーションを示す情報を含むことができる。例えば、フィールド７２８のエントリ７３０は、エントリ７３０によって特定されたリモート装置上のメールアプリケーションのコンフィグレーションを示すことができ、ＶＰＮアプリケーションがそのリモート装置上で設定されていないことを示すことができる。フィールド７２８のエントリ７５０は、エントリ７３０によって特定されたリモート装置上のメールアプリケーションが削除されたことを示すことができ、ＶＰＮアプリケーションがそのリモート装置上で設定がなされていないことを示すことができる。いくつかの実施形態において、フィールド７２８は、リモート装置上の１つ以上のアプリケーションのコンフィグレーションを含む別のデータ構造（例えば、以下に説明する図８のデータ構造）を記憶するメモリの場所への参照を示す情報を含むことができる。
【０１３８】
図８は、本発明のいくつかの実施形態に従って、リモート装置のアプリケーションの設定状態を特定する情報を記憶するためのデータ構造８１０の一例を示す図である。データ構造８１０のような１つ以上のデータ構造を作成して、複数のリモート装置上のアプリケーションのコンフィグレーションに関する情報を記憶することができる。データ構造８１０は、ユーザＩＤで登録された１つ以上のリモート装置上の１つ以上のアプリケーションのコンフィグレーションおよび／または設定状態を示す情報を記憶することができる。いくつかの実施形態において、ユーザが複数のユーザ役割を有する場合、アプリケーションのコンフィグレーションに関する情報は、ユーザに関連付けられた異なるユーザ役割に基づいて特定されてもよい。
【０１３９】
データ構造８１０は、配列、レコード、関係データベーステーブル、ハッシュテーブル、リンクリスト、または他の種類のデータ構造を含むがこれらに限定されない異なる種類のデータ構造のうち１つのデータ構造またはそれらの組み合わせとして実装されてもよい。例示の目的のために、データ構造８１０は、特定の数のフィールド（例えば、フィールド８１２〜８１８）を有する構成で示されているが、示されたものよりも多いフィールドまたは少ないフィールドを有する異なる構成に定義されてもよい。データ構造８１０の各インスタンスは、装置レジストリ１６２またはアプリケーションコンフィグレーションデータストア１７４などのデータストアに記憶することができる。
【０１４０】
フィールド８１２は、リモート装置上のアプリケーションの設定の状態を示す情報を含むことができる。設定状態は、アプリケーションがリモート装置にインストールされているか否かを示し、リモート装置にインストールされている場合に、そのアプリケーションが設定がなされているか否かを示すことができる。
【０１４１】
フィールド８１４は、フィールド８１２に特定されたアプリケーションのために構成されたアクセス情報を含むことができる。アクセス情報の例としては、ユーザＩＤ、アクセストークン、またはフィールド８１２に示されたアプリケーションを用いてアクセス可能なリソースにアクセスするための他の情報を含むがこれらに限定されない。
【０１４２】
フィールド８１６は、１つ以上のユーザ役割を示すことができる。フィールド８１２に特定されたアプリケーションは、これらのユーザ役割に基づいて設定される。いくつかの実施形態において、フィールド８１６に示されたユーザ役割がアプリケーションによって提供されたリソースへのアクセス許可を有しない場合、アプリケーションは、設定がなされなくてもよく、または削除されてもよい。
【０１４３】
フィールド８１８は、フィールド８１８に示されたアプリケーションに関する接続情報を含むことができる。接続情報は、フィールド８１２に特定されたアプリケーションのために構成された１つ以上の接続属性の各々の値を示すことができる。アプリケーションがリモート装置上で設定がなされていない場合、フィールド８１８は、接続情報を示さなくてもよい。
【０１４４】
図８は、ユーザＩＤで登録されたリモート装置のために、データ構造８１０に記憶された情報の例を示している。一例において、フィールド８１２のエントリ８２０は、リモート装置上でメールアプリケーションが構成されていることを示している。このメールアプリケーションは、幹部役用に構成されている。このメールアプリケーションは、アクセス情報８１４（例えば、メールサービスのユーザ＿ＩＤ）および接続情報８１８を有するように設定されている。エントリ８２０に対応する接続情報８１８は、メールサービスシステムのポートアドレス、メールサービスシステムのホストアドレス、およびメールサービスシステムのＬＤＡＰを示している。別の例において、フィールド８１２のエントリ８３０は、リモート装置に登録されたＩＤに関連付けられた役割が幹部役であるため、ＶＰＮアプリケーションがリモート装置から削除されたことを示している。ＶＰＮが削除されたため、アクセス情報８１４および接続情報８１８は、空値を有する。
【０１４５】
図９は、本発明のいくつかの実施形態に従って、アプリケーションをリモート装置に提供するためのプロセスを示すフローチャート９００である。いくつかの実施形態において、図９に示されたプロセスは、本開示に説明した装置アクセス管理システム１２０を用いて実施することができる。
【０１４６】
フローチャート９００に示されたプロセスは、１つ以上の処理ユニット（例えば、プロセッサコア）、ハードウェア、またはそれらの組み合わせによって実行されるソフトウェア（例えば、コード、命令、プログラム）に実施されてもよい。ソフトウェアは、（例えば、メモリ装置または非一時的なコンピュータ読取可能な記憶媒体上の）メモリに記憶されてもよい。フローチャート９００の特定の一連の処理ステップは、限定することを意図していない。別の実施形態に従って、他の一連のステップを実行することもできる。例えば、本発明の代替の実施形態は、異なる順序で上述したステップを実行することができる。さらに、図９に示された各ステップは、複数のサブステップを含み、これらの複数のサブステップは、各ステップに応じてさまざまな順序で実行されてもよい。さらに、特定のアプリケーションに応じて、ステップを追加してもよく、削除してもよい。図９に示された処理が企業システム内のリソースにアクセスする単一のアプリケーションに対応するものであるが、この処理は、リソースへのアクセスを可能にする任意数のアプリケーションまたは任意数のリソースにアクセス可能なアプリケーションによって実行されてもよい。図９に示された処理がユーザＩＤに関連付けられた単一の役割に対応するものであるが、この処理は、ＩＤに関連付けられた複数の役割に対して実行されてもよい。当業者であれば、多くの変形例、変更例および代替例を認識するであろう。
【０１４７】
フローチャート９００の処理は、ステップ９０２において、企業システムのユーザのＩＤに関連付けられたユーザ役割を特定することによって開始される。例えば、装置アクセス管理システム１２０は、ユーザ情報データストア１７４にアクセスして、ユーザＩＤに関連付けられたユーザ役割を判断することができる。ユーザ情報データストア１７４のユーザ情報は、企業システムにアクセスするためにユーザに提供された１つ以上のＩＤおよびこれらのＩＤに割り当てられた１つ以上の役割を示すことができる。１つのユーザＩＤに１つ以上の役割を割り当てることができる。ユーザに割り当てられた役割に基づいて、企業システムへのアクセスを規定することができる。ユーザは、リモート装置を操作して企業システムにアクセスしている人物であってもよい。例えば、ユーザは、リモート装置を操作して、企業システム内のリソースへのアクセスを要求することができる。別の例において、ユーザは、企業システムにアクセスするようにリモート装置を登録した人物であってもよい。
【０１４８】
ステップ９０４において、企業システムにアクセスするように登録された１つ以上のリモート装置の装置情報を検索することができる。リモート装置は、企業システムの登録ユーザのＩＤ（例えば、ステップ９０２で特定されたユーザ役割に関連付けられたＩＤ）で登録されている。例えば、装置アクセス管理システム１２０は、装置レジストリ１６２にアクセスして、企業システムにアクセスするＩＤで登録された１つ以上のリモート装置に関する装置情報を取得することができる。装置情報は、ユーザのＩＤで登録されたリモート装置の構成を示すことができる。構成は、リモート装置上のオペレーティングシステム構成およびリモート装置のハードウェア構成を示すことができる。リモート装置の構成を使用して、リソースにアクセスするアプリケーションを設定することができる。
【０１４９】
ステップ９０６において、企業システム内のアクセス可能なリソースへのアクセス権をＩＤに与えるアカウントを決定することができる。アカウントは、そのＩＤに関連付けられたユーザ役割（例えば、ステップ９０２で特定されたユーザ役割）に基づいて、決定されてもよい。アカウントは、企業システム内の１つ以上のリソースにアクセスできるように構成されてもよい。リソースへのアクセス権は、ＩＤに関連付けられたユーザ役割に基づいて決定されてもよい。リソースへのアクセス権をＩＤに与えるアカウントの場合、そのＩＤで登録された１つ以上のリモート装置は、リソースにアクセスすることができる。１つ以上のアプリケーションを用いて、リソースにアクセスすることができる。ユーザ役割にアクセス可能なリソースに基づいて、アプリケーションは、ユーザ役割にアクセスすることができる。
【０１５０】
いくつかの実施形態において、アクセス情報データストア（例えば、アクセス情報データストア１６８）にアクセスして、ターゲットシステムによって提供されたリソースにアクセスするためのユーザＩＤにアカウントを提供したか否かを判断することができる。上述のように、企業システム内のリソースは、ターゲットシステムによって提供されてもよい。アカウントがユーザＩＤに提供されたと判断する場合、アクセス情報データストアからアカウント情報を取り出すことができる。アカウント情報は、ユーザＩＤに提供されたアカウントを特定する。アカウントがユーザのＩＤに提供されていないと判断する場合、ターゲットシステムによって提供されたリソースへのアクセスをＩＤに与えるために、アカウントを設定することができる。
【０１５１】
ステップ９０８において、そのユーザのＩＤで登録された１つ以上のリモート装置を用いて、アカウントに対応するリソース（例えば、ステップ９０６で提供されたアカウント用のリソース）にアクセスするように、アプリケーションを設定することができる。リモート装置は、ステップ９０４で検索された装置情報から特定されてもよい。ユーザは、アプリケーションを用いて、ユーザのＩＤに登録されたリモート装置からリソースにアクセスすることができる。例えば、アカウントに関連付けられたユーザに登録されたリモート装置を用いてメッセージングアカウントのメッセージサービスにアクセスするように、メッセージングアプリケーションを設定することができる。接続情報を用いて、リソースを提供するターゲットシステムに接続するようにアプリケーションを設定することができる。接続情報の例としては、ターゲットシステムのポートアドレス、ターゲットシステムのホストアドレス、およびターゲットシステムのＬＤＡＰが挙げられる。アカウントを用いてリソースにアクセスするように、アクセス情報を用いてアプリケーションを設定することができる。アクセス情報の例としては、ユーザＩＤ、アクセストークン、またはアクセス関連情報を特定する他の情報が挙げられる。
【０１５２】
アプリケーションを設定した後、ステップ９１０において、設定がなされたアプリケーションをリモート装置に送信することができる。いくつかの実施形態において、アプリケーションアクセスするまたはアプリケーションを用いてアクセス可能なリソースにアクセスする要求があった場合、アプリケーションをリモート装置に送信することができる。例えば、リモート装置にアクセス可能な１つ以上のアプリケーションを特定するアプリケーションカタログから選択を行った場合、アプリケーションをリモート装置に送信することができる。アプリケーションは、装置アクセス管理システムによって記憶され、要求に応じて送信されてもよい。
【０１５３】
ステップ９１２において、ＩＤに関連するユーザ役割（例えば、ステップ９０２で特定されたユーザ役割）における変更を検出する。そのＩＤは、リモート装置が登録されているユーザに属してもよい。ユーザ役割の変更は、あるユーザ役割から別のユーザ役割への変更に対応してもよい。例えば、ユーザ役割の変更は、ユーザＩＤに新たなユーザ役割の割り当てに対応してもよい。ユーザ役割の変更は、ユーザＩＤから割り当てられたユーザ役割の削除に対応してもよい。ユーザ情報データストア１７２内のユーザ情報にアクセスして、ユーザに関連するユーザ役割を判断することができる。いくつかの実施形態において、ＩＤ管理システム１４０から、ユーザ役割の変更に関する情報を取得することができる。
【０１５４】
ステップ９１４において、ＩＤによるリソースへのアクセス権の変更を判断することができる。ユーザ役割の変更に基づいて、アクセス権の変更を判断することができる。リソースにアクセスするように許可されたユーザ役割に基づいて、リソースへのアクセス権を提供することができる。ＩＤによるリソースへのアクセス権は、ユーザ役割の変更に応じて変更される可能性がある。例えば、ユーザ役割（例えば、管理者役割）の喪失に基づいて、リソース（例えば、人事資源アプリケーション）へのアクセス権を取消すまたは制限することができる。別の例において、リソースへのアクセスを許可する新たなユーザ役割（例えば、管理者役割）の割り当てに基づいて、リソース（例えば、人事資源アプリケーション）へのアクセス権を付与することができる。
【０１５５】
ステップ９１６において、アクセス権の変更（例えば、ステップ９１４で判断したアクセス権の変更）に基づいてアプリケーションのコンフィグレーションを変更するように、１つ以上のリモート装置（例えば、ユーザＩＤで登録されたリモート装置）に指示することができる。アプリケーションを用いてアクセス可能なリソースへのアクセス権は、ユーザＩＤに関連付けられたユーザ役割の変更に基づいて変更される可能性がある。リソースへのアクセス権の変更に従って、リソースへのアクセス権を提供するアプリケーションのコンフィグレーションを変更しなければならない。ユーザ役割の変更によって影響されたＩＤに関連付けられたリモート装置上のアプリケーションのコンフィグレーションを変更することができる。リソースへのアクセスを調整するようにまたはリソースへのアクセスを拒否するように、コンフィグレーションを変更することができる。
【０１５６】
多くの方法でアプリケーションのコンフィグレーションを変更することができる。リソースにアクセスするアプリケーションのアクセス情報、接続情報、または使用に関連する他の設定に応じて、アプリケーションのコンフィグレーションを変更することができる。例えば、変更は、リソースへのアクセスを防止するようにアプリケーションから接続情報の削除を含むことができる。アプリケーションのコンフィグレーションを変更するようリモート装置に指示することは、コンフィグレーションの変更を示す命令を含むメッセージをリモート装置に送信することを含むことができる。リモート装置は、命令に従ってコンフィグレーションを変更することができる。いくつかの実施形態において、アプリケーションのコンフィグレーションを変更するようにリモート装置に指示することは、アクセス権の変更に対応する変更に従ってアプリケーションを設定すること、および設定がなされたアプリケーションをリモート装置に送信することを含んでもよい。リモート装置は、設定がなされたアプリケーションに従って、装置上のアプリケーションを変更する。
【０１５７】
フローチャート９００の処理は、ステップ９１８で終了する。
図１０は、本発明のいくつかの実施形態に従って、アプリケーションをリモート装置に提供するためのプロセスを示すフローチャート１０００である。いくつかの実施形態において、図１０に示すプロセスは、本開示に説明した装置アクセス管理システム１２０を用いて実施することができる。
【０１５８】
フローチャート１０００に示されたプロセスは、１つ以上の処理ユニット（例えば、プロセッサコア）、ハードウェア、またはそれらの組み合わせによって実行されるソフトウェア（例えば、コード、命令、プログラム）に実施されてもよい。ソフトウェアは、（例えば、メモリ装置または非一時的なコンピュータ読取可能な記憶媒体上の）メモリに記憶されてもよい。フローチャート１０００の特定の一連の処理ステップは、限定することを意図していない。別の実施形態に従って、他の一連のステップを実行することもできる。例えば、本発明の代替の実施形態は、異なる順序で上述したステップを実行することができる。さらに、図１０に示された各ステップは、複数のサブステップを含み、これらの複数のサブステップは、各ステップに応じてさまざまな順序で実行されてもよい。さらに、特定のアプリケーションに応じて、ステップを追加してもよく、削除してもよい。図１０に示された処理が企業システム内のリソースにアクセスする単一のアプリケーションに対応するものであるが、この処理は、リソースへのアクセスを可能にする任意数のアプリケーションまたは任意数のリソースにアクセス可能なアプリケーションによって実行されてもよい。図１０に示された処理がユーザＩＤに関連付けられた単一の役割に対応するものであるが、この処理は、ＩＤに関連付けられた複数の役割に対して実行されてもよい。当業者であれば、多くの変形例、変更例および代替例を認識するであろう。
【０１５９】
フローチャート１０００の処理は、ステップ１００２において、企業システムのユーザのＩＤに関連するユーザ役割を特定することによって開始される。ステップ１００４において、企業システムにアクセスするように登録された１つ以上のリモート装置の装置情報を検索することができる。
【０１６０】
ステップ１００６において、複数のアプリケーションへのアクセス権をＩＤに与える。複数のアプリケーションの各々は、企業システムにアクセスするように登録されたリモート装置を用いて、企業システム内の異なるリソースにアクセスするように設定される。異なるリソースの各々は、そのＩＤにアクセス可能である。異なるリソースは、ＩＤに関連する特定のユーザ役割にアクセス可能なリソースとして特定されてもよい。複数のアプリケーションの各々は、異なるリソースのうち１つへのアクセスを提供するアプリケーションとして特定されてもよい。
【０１６１】
アプリケーションへのアクセスを提供することは、アプリケーションにアクセス可能なリソースへのアクセス権を提供するアカウントをそのＩＤに提供することを含むことができる。企業システムは、アプリケーションにアクセス可能な異なるリソースの各々に対するアクセスを提供するよう要求されることがある。いくつかの実施形態において、リソースへのアクセス権を提供するターゲットシステムは、そのＩＤにアカウントを提供するように要求されることがある。人事資源システムは、リソースの提供を容易にすることができる。リソースは、そのＩＤで特定されたユーザ役割にアクセス可能である。
【０１６２】
ステップ１００８において、リモート装置を用いてアプリケーションからリソースにアクセスするように、接続情報およびアクセス情報を用いて、アクセス権を有する複数のアプリケーションを各々設定することができる。リソースを提供するターゲットシステムに接続するように、接続情報を用いてアプリケーションを設定することができる。リソースにアクセスするために提供されたアカウントを用いてリソースにアクセスするように、アクセス情報を用いてアプリケーションを設定することができる。
【０１６３】
ステップ１０１０において、企業システムにアクセスするように登録されたリモート装置に、設定された複数のアプリケーションの各々を送信することができる。一例において、設定がなされたアプリケーションは、メモリ（例えば、アプリケーションカタログに関連付けられた記憶装置）に記憶されるように送信され、リモート装置は、メモリからアプリケーションを取り出すことができる。別の例において、設定がなされたアプリケーションは、当該アプリケーションが設定される対象のリモート装置に送信されてもよい。
【０１６４】
ステップ１０１２において、ＩＤによる１つ以上のリソースへのアクセス権の変更を判断することができる。アクセス権の変更は、ユーザ役割の変更に基づいて判断することができる。リソースへのアクセス権は、そのリソースへのアクセスが許可されているユーザ役割に基づいて提供することができる。ＩＤによるリソースへのアクセス権は、そのＩＤに関連付けられたユーザ役割の変更に応じて変更する可能性がある。例えば、ユーザのＩＤに割り当てられたユーザ役割に応じて、リソースへのアクセス権を取消すことができる。別の例において、ユーザのＩＤに割り当てられたユーザ役割に応じて、新たなリソースへのアクセスを許可することができる。
【０１６５】
ステップ１０１４において、アクセス権の変更（例えば、ステップ１０１４で判断したアクセス権の変更）に基づいてアプリケーションのコンフィグレーションを変更するように、１つ以上のリモート装置（例えば、ユーザＩＤで登録されたリモート装置）に指示することができる。例えば、アプリケーションのコンフィグレーションを変更して、ユーザ役割の変更に基づいて取消されたリソースへのアクセスを防止するように、リモート装置に指示することができる。
【０１６６】
いくつかの実施形態において、リモート装置は、アクセス権をユーザのＩＤに与えた新たなリソースへのアクセスを提供するアプリケーションを備えていない場合がある。ステップ１０１６において、ユーザ役割の変更に基づいて、新たなアプリケーションへのアクセス権をそのユーザのＩＤに提供することができる。上述したように、ユーザ役割が変更された場合、リソースは、そのユーザのＩＤにアクセス可能であり得る。このように、そのユーザＩＤによるリソースへのアクセスを可能にする新たなアプリケーションを特定することができる。新たなアプリケーションへのアクセスをＩＤに与えることは、そのＩＤに新たなアプリケーションへのアクセスを提供するアカウントを提供することを含む。ステップ１０１８において、ＩＤに登録されたリモート装置を用いてアプリケーションからリソースにアクセスするように、接続情報およびアクセス情報を用いて新たなアプリケーションを設定することができる。ステップ１０２０において、設定がなされた新たなアプリケーションは、リモート装置に送信されてもよい。
【０１６７】
フローチャート１０００の処理は、ステップ１０２２で終了する。
図１１に示された構成において、システム１１００のソフトウェア要素１１１８、１１２０および１１２２は、サーバ１１１２上に実装されたものとして示されている。他の実施形態において、システム１１００の１つ以上の構成要素および／またはこれらの構成要素によって提供されたサービスは、１つ以上のクライアントコンピューティング装置１１０２、１１０４、１１０６および／または１１０８によって実現されてもよい。クライアントコンピューティング装置を操作するユーザは、１つ以上のクライアントアプリケーションを利用して、これらの構成要素によって提供されたサービスを使用することができる。これらの構成要素は、ハードウェア、ファームウェア、ソフトウェア、またはそれらの組み合わせで実現されてもよい。理解すべきことは、分散型システム１１００と異なって、さまざまな異なるシステム構成が可能であることである。図１１に示されたシステムは、実施形態を実現するための分散型システムの一例であり、限定することを意図していない。
【０１６８】
クライアントコンピューティング装置１１０２、１１０４、１１０６および／または１１０８は、さまざまな種類のコンピューティングシステムを含むことができる。例えば、クライアントコンピューティング装置は、Microsoft Windows Mobile（登録商標）のようなソフトウェア、および／またはiOS、Windows Phone（登録商標）、Android（登録商標）、BlackBerry（登録商標）１０、Palm OSなどのさまざまなモバイルオペレーティングシステムを実行する手持ち式携帯装置装置（例えば、iPhone（登録商標）、携帯電話、iPad（登録商標）、コンピューティングタブレット、携帯情報端末（ＰＤＡ））または装着型装置（例えば、Google Glass（登録商標）ヘッドマウントディスプレイ）を含むことができる。これらの装置は、さまざまなアプリケーション、例えばさまざまなインターネット関連アプリケーション、メールアプリケーションおよびショートメッセージサービス（ＳＭＳ）アプリケーションをサポートすることができ、さまざまな他の通信プロトコルを使用することができる。また、例示として、Microsoft Windows（登録商標）オペレーティングシステム、Apple Macintosh（登録商標）オペレーティングシステムおよび／またはＬｉｎｕｘ（登録商標）オペレーティングシステムのさまざまなバージョンを動かすパーソナルコンピュータおよび／またはラップトップコンピュータを含む汎用のパーソナルコンピュータであってもよい。クライアントコンピューティング装置は、たとえば、さまざまなＧＮＵ/Ｌｉｎｕｘオペレーティングシステム、たとえば、Google Chrome OSを含むがこれに限定されない市販のＵＮＩＸ（登録商標）またはＵＮＩＸに類似するさまざまなオペレーティングシステムを動かすワークステーションコンピュータであってもよい。さらに、クライアントコンピューティング装置は、ネットワーク１１１０を介して通信可能な他の電子機器、例えばシンクライアントコンピュータ、インターネット対応のゲームシステム（たとえば、Kinect（登録商標）ジェスチャ入力装置を備えるまたは備えないMicrosoft Xboxゲームコンソール）、および／またはパーソナルメッセージング装置などであってもよい。
【０１６９】
図１１の分散システム１１００は、４つのクライアントコンピューティング装置を備えると示されているが、任意数のクライアントコンピューティング装置をサポートすることができる。他の装置、たとえばセンサを有する装置は、サーバ１１１２と情報交換することができる。
【０１７０】
分散型システム１１００のネットワーク１１１０は、ＴＣＰ／ＩＰ（伝送制御プロトコル／インターネットプロトコル）、ＳＮＡ（システムネットワークアーキテクチャ）、ＩＰＸ（インターネットパケット交換）、およびAppleTalkなどを含むがこれらに限定されないさまざまな市販プロトコルのいずれかを使用してデータ通信をサポートすることができ、当業者に熟知される任意種類のネットワークであってもよい。単なる例示として、ネットワーク１１１０は、ローカルエリアネットワーク（ＬＡＮ）、イーサネット（登録商標）に基づくネットワーク、トークンリング、広域ネットワーク、インターネット、仮想プライベートネットワーク（ＶＰＮ）、イントラネット、エクストラネット、公衆交換電話網（ＰＳＴＮ）、赤外線ネットワーク、無線ネットワーク（たとえば、IEEE（Institute of Electrical and Electronic Engineers）802.11プロトコルスイート、Bluetooth（登録商標）、および／または任意の他の無線プロトコルの下で動作するネットワーク）および／またはこれらのネットワークと他のネットワークの組み合わせを含むことができる。
【０１７１】
サーバ１１１２は、１つ以上の汎用コンピュータ、専用サーバコンピュータ（例示として、ＰＣ（パーソナルコンピュータ）サーバ、ＵＮＩＸ（登録商標）サーバ、ミッドレンジサーバ、メインフレームコンピュータ、ラックマウントサーバを含む）、サーバファーム、サーバクラスタ、または任意の他の適切な構成および／または組み合わせから構成されてもよい。サーバ１１１２は、仮想オペレーティングシステムを動かす１つ以上の仮想マシン、または仮想化に関与する他のコンピューティングアーキテクチャを含むことができる。論理記憶装置の１つ以上のフレキシブルプールを仮想化して、サーバの仮想記憶装置を維持することができる。仮想ネットワークは、ソフトウェア定義ネットワークを用いて、サーバ１１１２によって制御することができる。さまざまな実施形態において、サーバ１１１２は、前述の開示に記載された１つ以上のサービスまたはソフトウェアアプリケーションを実行するように構成することができる。例えば、サーバ１１１２は、本開示の実施形態に従って上記に説明した処理を実行するためのサーバに対応することができる。
【０１７２】
サーバ１１１２は、上述したものいずれかを含むオペレーティングシステム、および任意の市販サーバオペレーティングシステムを動かすことができる。サーバ１１１２は、ＨＴＴＰ（ハイパーテキスト転送プロトコル）サーバ、ＦＴＰ（ファイル転送プロトコル）サーバ、ＣＧＩ（共通ゲートウェイインターフェイス）サーバ、Ｊａｖａ（登録商標）サーバ、データベースサーバなどを含むさまざまな追加サーバアプリケーションおよび／またはミッドティアアプリケーションのいずれかを実行することができる。例示的なデータベースサーバは、Oracle（登録商標）、Microsoft（登録商標）、Sybase（登録商標）、IBM（登録商標）などの会社から市販されているものを含むがこれらに限定されない。
【０１７３】
いくつかの実現例において、サーバ１１１２は、クライアントコンピューティング装置１１０２、１１０４，１１０６、および１１０８のユーザから受信したデータフィードおよび／またはイベント更新を分析および統合する１つ以上のアプリケーションを含んでもよい。例示として、データフィードおよび／またはイベント更新は、Twitter（登録商標）フィード、Facebook（登録商標）更新または１つ以上の第３情報源および連続データストリームから受信したリアルタイム更新を含むがこれらに限定されない。リアルタイム更新は、センサデータアプリケーション、金融相場表示機、ネットワーク性能測定ツール（たとえば、ネットワーク監視およびトラフィック管理アプリケーション）、ページ遷移（Clickstream）解析ツール、自動車交通監視装置などに関連するリアルタイムイベントを含むことができる。また、サーバ１１１２は、クライアントコンピューティング装置１１０２、１１０４、１１０６および１１０８の１つ以上の表示装置を介して、データフィードおよび／またはリアルタイムイベントを表示するための１つ以上のアプリケーションを含むこともできる。
【０１７４】
また、分散型システム１１００は、１つ以上のデータベース１１１４および１１１６を含むこともできる。これらのデータベースは、本発明の実施形態によって使用されるユーザ対話情報、使用パターン情報、適合ルール情報、および他の情報を記憶するためのメカニズムを提供することができる。データベース１１１４および１１１６は、さまざまな場所に常駐することができる。例示として、１つ以上のデータベース１１１４および１１１６は、サーバ１１１２の近く（および／またはその中）の非一時記憶媒体に常駐することができる。代替的には、データベース１１１４および１１１６は、リモートサーバ１１１２から離れており、ネットワークに基づく接続または専用接続を介して、サーバ１１１２と通信している。一組の実施形態において、データベース１１１４および１１１６は、記憶領域ネットワーク（ＳＡＮ）に常駐することができる。同様に、サーバ１１１２に帰する機能を実行するための任意の必要なファイルは、必要に応じて、サーバ１１１２上に／またはサーバ１１１２から離れた場所に保存されてもよい。一組の実施形態において、データベース１１１４および１１１６は、たとえば、Oracleにより提供されるデータベースなどの関係データベースを含むことができる。これらの関係データベースは、ＳＱＬフォーマット命令に応じて、データを取得、保存および更新するように構成されている。
【０１７５】
いくつかの実施形態において、クラウド環境は、リモート装置を用いて企業システムに対するアクセスを管理するための１つ以上のサービスを提供することができる。図１２は、本開示の一実施形態に従って、サービスをクラウドサービスとして提供することができるシステム環境１２００の１つ以上の構成要素を示す簡略ブロック図である。図１２に示された実施形態において、システム環境１２００は、１つ以上のクライアントコンピューティング装置１２０４、１２０６および１２０８を含む。ユーザは、これらのクライアントコンピューティング装置を用いて、クラウドインフラストラクチャシステム１２０２と情報交換することができる。クラウドインフラストラクチャシステム１２０２は、リモート装置を用いて企業システムに対するアクセスを管理するサービスを含むクラウドサービスを提供することができる。クラウドインフラストラクチャシステム１２０２は、サーバ１１１２について上述したものを含み得る１つ以上のコンピュータおよび／またはサーバを備えることができる。
【０１７６】
理解すべきことは、図１２に示されたクラウドインフラストラクチャシステム１２０２は、図示された構成要素以外の構成要素を備えてもよいことである。さらに、図１２に示されたものは、本発明の実施形態を組み込むことができるクラウドインフラストラクチャシステムの一例に過ぎない。いくつかの他の実施形態において、クラウドインフラストラクチャシステム１２０２は、図示よりも多いまたは少ない構成要素を有してもよく、２つ以上の構成要素を組み合わせてもよく、または異なる構成または配置の構成要素を有してもよい。
【０１７７】
クライアントコンピューティング装置１２０４、１２０６、および１２０８は、クライアントコンピューティング装置１１０２、１１０４、１１０６、および１１０８と同様であってもよい。クライアントコンピューティング装置１２０４、１２０６、および１２０８は、ウェブブラウザ、専用クライアントアプリケーション（たとえば、オラクルフォーム）または他のアプリケーションなどのクライアントアプリケーションを作動するように構成されることができる。ユーザは、クライアントアプリケーションを用いてクラウドインフラストラクチャシステム１２０２と情報交換することによって、クラウドインフラストラクチャシステム１２０２により提供されたサービスを利用することができる。例示的なシステム環境１２００は、３つのクライアントコンピューティング装置を備えると示されているが、任意数のクライアントコンピューティング装置をサポートすることができる。他の装置、たとえばセンサを有する装置は、クラウドインフラストラクチャシステム１２０２と情報交換することができる。
【０１７８】
ネットワーク１２１０は、クライアント１２０４、１２０６および１２０８とクラウドインフラストラクチャシステム１２０２との間のデータの通信および交換を促進することができる。各ネットワークは、上記でネットワーク１１１０に関して説明したプロトコルをさまざまな市販プロトコルのいずれかを用いてデータ通信をサポートすることができ、当業者に熟知する任意種類のネットワークであってもよい。
【０１７９】
特定の実施形態において、クラウドインフラストラクチャシステム１２０２によって提供されたサービスは、需要に応じて、クラウドインフラストラクチャシステムからユーザに提供できる多くのサービスを含んでよい。リモート装置を使用して企業システムに対するアクセスの管理に関連するサービスに加えて、オンラインデータの記憶およびバックアップ、Ｗｅｂベースの電子メールサービス、ホストされたオフィススイートおよび文章連携サービス、データベース処理、管理された技術サポートサービスを含むがこれらに限定されないさまざまなサービスを提供することができる。クラウドインフラストラクチャシステムによって提供されるサービスは、ユーザのニーズを満たすように動的に拡張できる。
【０１８０】
特定の実施形態において、クラウドインフラストラクチャシステム１２０２によって提供されたサービスの特定の例示は、本明細書において、「サービスインスタンス」と呼ばれる。一般的には、インターネットなどの通信ネットワークを介して、クラウドサービスプロバイダのシステムからユーザに提供できる任意のサービスは、「クラウドサービス」と呼ばれる。典型的には、パブリッククラウド環境において、クラウドサービスプロバイダのシステムを構成するサーバおよびシステムは、顧客のオンプレミスサーバおよびシステムとは異なる。たとえば、クラウドサービスプロバイダのシステムは、アプリケーションを提供することができ、ユーザは、必要に応じて、インターネットなどの通信ネットワークを介して、アプリケーションを注文し、使用することができる。
【０１８１】
いくつかの例において、コンピュータネットワーククラウドインフラストラクチャ内のサービスは、保護されたコンピュータネットワークのストレージアクセス、ホストされたデータベース、ホストされたＷｅｂサーバ、ソフトウェアアプリケーション、またはクラウドベンダによってユーザに提供された他のサービス、または当該技術分野に知られている他のサービスを含むことができる。たとえば、サービスは、インターネットを介して、クラウド上のリモートストレージに対して、パスワードにより保護されたアクセスを含むことができる。別の例として、サービスは、Ｗｅｂサービスにホストされている関係データベースおよびネットワーク上の開発者により私的使用のためのスクリプト言語ミドルウェアエンジンを含むことができる。別の例として、サービスは、クラウドベンダのウェブサイト上でホストされている電子メールソフトウェアアプリケーションに対するアクセスを含むことができる。
【０１８２】
特定の実施形態において、クラウドインフラストラクチャシステム１２０２は、セルフサービスのサブスクリプションに基づく、柔軟なスケーラビリティ、信頼性、高可用性および安全性を有する方法で、顧客に提供できる一連のアプリケーション、ミドルウェアおよびデータベースサービスを含むことができる。このようなクラウドインフラストラクチャシステムの例示として、本願譲受人により提供されたOracleパブリッククラウドが挙げられる。
【０１８３】
クラウドインフラストラクチャシステム１２０２はまた、「ビッグデータ」に関連する計算および分析サービスを提供してもよい。「ビッグデータ」という用語は、一般的に非常に大きなデータセットを指す。分析者および研究者が、記憶された「ビッグデータ」を利用して、大量のデータを視覚化し、傾向を検出し、および／またはデータと情報交換することができる。このようなビッグデータおよび関連するアプリケーションは、さまざまなレベルおよびさまざまな規模でインフラストラクチャシステムにホストされ、操作されることができる。並行に連結された数十、数百、または数千のプロセッサは、ビッグデータを処理することによって、データを表示することができ、もしくはデータまたはデータの表現に作用する外力をシミュレートすることができる。これらのデータセットは、これらのデータセットは、データベースに編成されたデータまたは構造化モデルに従って編成されたデータなどの構造化データおよび／または非構造化データ（例えば、電子メール、画像、データブロブ（バイナリ大型対象物）、ウェブページ、複合イベント処理）を含むことができる。実施形態の能力を活用して、より多くの（またはより少ない）コンピューティングリソースを比較的迅速に目的物に集中させることによって、クラウドインフラストラクチャシステムは、企業、政府機関、研究機関、個人、個人同士または組織同士のグループまたは他の実体からの需要に基づいて、大きなデータセットに関するタスクの実行により適切になる。
【０１８４】
さまざまな実施形態において、クラウドインフラストラクチャシステム１２０２は、顧客から申込んだクラウドインフラストラクチャシステム１２０２のサービスを自動的に提供、管理および追跡するように構成されることができる。クラウドインフラストラクチャシステム１２０２は、さまざまな展開モデルを介して、クラウドサービスを提供することができる。たとえば、サービスは、クラウドサービスを販売する組織に所有された（たとえば、Oracleに所有された）クラウドインフラストラクチャシステム１２０２を有するパブリッククラウドモデルで提供され、一般人または異なる業界の企業に利用されることができる。別の例として、サービスは、単一の組織に専用されたクラウドインフラストラクチャシステム１２０２を有するプライベートクラウドモデルで提供され、組織内の１つ以上の実体に利用されることができる。また、クラウドサービスは、集団クラウドモデルで提供されてもよい。よって、クラウドインフラストラクチャシステム１２０２およびクラウドインフラストラクチャシステム１２０２により提供されたサービスは、関連する集団内の複数の組織によって共有される。また、クラウドサービスは、２つ以上の異なるモデルの組み合わせからなるハイブリッドクラウドモデルで提供されてもよい。
【０１８５】
いくつかの実施形態において、クラウドインフラストラクチャシステム１２０２によって提供されたサービスは、SaaS（Software as a Service）カテゴリ、PaaS（Platform as a Service）カテゴリ、IaaS（Infrastructure as a Service）カテゴリ、またはハイブリッドサービスを含む他のカテゴリのサービスに準拠して提供された１つ以上のサービスを含むことができる。顧客は、サブスクリプションの申込みによって、クラウドインフラストラクチャシステム１２０２によって提供された１つ以上のサービスを注文することができる。これに応じて、クラウドインフラストラクチャシステム１２０２は、顧客のサブスクリプション申込書に含まれたサービスを提供する処理を行う。
【０１８６】
いくつかの実施形態において、クラウドインフラストラクチャシステム１２０２によって提供されたサービスは、アプリケーションサービス、プラットフォームサービスおよびインフラストラクチャサービスを含むがこれらに限定されない。いくつかの例において、アプリケーションサービスは、SaaSプラットフォームを介して、クラウドインフラストラクチャシステムによって提供されてもよい。SaaSプラットフォームは、SaaSカテゴリに準拠するクラウドサービスを提供するように構成されてもよい。たとえば、SaaSプラットフォームは、統合の開発および展開プラットフォーム上でオンデマンドアプリケーションのスイートを構築し、提供するように、機能することができる。SaaSプラットフォームは、SaaSサービスを提供するために、基礎のソフトウェアおよびインフラストラクチャを管理し、制御することができる。SaaSプラットフォームにより提供されたサービスを利用することによって、顧客は、クラウドインフラストラクチャシステム上で動作するアプリケーションを利用することができる。顧客は、別々のライセンスおよびサポートを購入する必要なく、アプリケーションサービスを取得することができる。さまざまな異なるSaaSサービスを提供することができる。例示としては、販売実績管理、企業統合、および大規模組織のビジネス柔軟性に対する解決策を提供するサービスを含むがこれらに限定されない。
【０１８７】
いくつかの実施形態において、プラットフォームサービスは、PaaSプラットフォームを介してクラウドインフラストラクチャシステム１２０２によって提供されてもよい。PaaSプラットフォームは、PaaSカテゴリに準拠するクラウドサービスを提供するように構成されてもよい。プラットフォームサービスの例としては、共有されている共通アーキテクチャ上で既存のアプリケーションを統合する能力、およびプラットフォームにより提供された共有サービスを活用する新規アプリケーションを構築する能力を組織（たとえば、Oracle）に与えるサービスを含むがこれに限定されない。PaaSプラットフォームは、PaaSサービスを提供するために、基礎のソフトウェアおよびインフラストラクチャを管理および制御することができる。顧客は、別々のライセンスおよびサポートを購入する必要なく、クラウドインフラストラクチャシステム１２０２によって提供されたPaaSサービスを取得することができる。プラットフォームサービスの例としては、oracle Ｊａｖａクラウドサービス（JCS）、Oracleデータベースクラウドサービス（DBCS）およびその他を含むがこれらに限定されない。
【０１８８】
PaaSプラットフォームにより提供されたサービスを利用することによって、顧客は、クラウドインフラストラクチャシステムにサポートされているプログラミング言語およびツールを利用することができ、展開されたサービスを制御することができる。いくつかの実施形態において、クラウドインフラストラクチャシステムによって提供されるプラットフォームサービスは、データベースクラウドサービス、ミドルウェアクラウドサービス（たとえば、Oracle Fusionミドルウェアサービス）、およびＪａｖａクラウドサービスを含むことができる。一実施形態において、データベースクラウドサービスは、データベースリソースを蓄積する能力を組織に与えることができる共有サービス展開モデルをサポートすることができ、DBaaS（Database as a Service）をクラウドデータベースとして顧客に提供することができる。ミドルウェアクラウドサービスは、クラウドインフラストラクチャシステム上でさまざまなビジネスアプリケーションを開発および展開するためのプラットフォームを顧客に提供することができ、Ｊａｖａクラウドサービスは、クラウドインフラストラクチャシステム上でＪａｖａアプリケーションを展開するためのプラットフォームを顧客に提供することができる。
【０１８９】
種々の異なるインフラストラクチャサービスは、IaaSプラットフォームによって、クラウドインフラストラクチャシステムに提供されてもよい。これらのインフラストラクチャサービスは、SaaSプラットフォームおよびPaaSプラットフォームにより提供されたサービスを利用する顧客のために、ストレージ、ネットワークおよびその他の基本的なコンピューティングリソースとしての基礎コンピューティングリソースの管理と制御を容易にする。
【０１９０】
特定の実施形態において、クラウドインフラストラクチャシステム１２０２はまた、クラウドインフラストラクチャシステムを利用する顧客に、さまざまなサービスを提供するために使用されるリソースを提供するためのインフラストラクチャリソース１２３０を含むことができる。一実施形態において、インフラストラクチャリソース１２３０は、PaaSプラットフォームおよびSaaSプラットフォームによって提供されたサービスを実行するために、事前に統合され且つ最適化されたハードウェアの組み合わせ、例えばサーバリソース、ストレージリソースおよびネットワークリソース、および他のリソースを含んでもよい。
【０１９１】
いくつかの実施形態において、クラウドインフラストラクチャシステム１２０２内のリソースは、複数のユーザに共有されることができ、各々の需要に応じて動的に再割り当てることができる。また、リソースは、異なるタイムゾーンでユーザに割り当てることができる。たとえば、クラウドインフラストラクチャシステム１２０２は、指定時間内でクラウドインフラストラクチャシステムのリソースを第一時間帯における第一グループのユーザに利用させ、その後、同様のリソースを異なる時間帯における別のグループのユーザに再配分することができ、リソースを最大に利用することができる。
【０１９２】
特定の実施形態において、複数の内部共有サービス１２３２は、提供され、クラウドインフラストラクチャシステム１２０２の異なる構成要素またはモジュールに共有されおよびクラウドインフラストラクチャシステム１２０２によって提供されたサービスに共有されることができる。これらの内部共有サービスは、安全性および識別サービス、統合サービス、企業リポジトリサービス、企業管理サービス、ウイルススキャンおよびホワイトリストサービス、高可用性のバックアップおよびリカバリサービス、クラウドサポートを可能にするサービス、メールサービス、通知サービス、およびファイル転送サービスなどを含むがこれらに限定されない。
【０１９３】
特定の実施形態において、クラウドインフラストラクチャシステム１２０２は、クラウドインフラストラクチャシステム内のクラウドサービス（たとえば、SaaSサービス、PaaSサービスおよびIaaSサービス）を包括的に管理する機能を提供することができる。一実施形態において、クラウド管理機能は、クラウドインフラストラクチャシステム１２０２などによって受信した顧客のサブスクリプションを提供、管理、および追跡する機能を含んでもよい。
【０１９４】
一実施形態において、図１２に示すように、クラウド管理機能は、１つ以上のモジュール、たとえば、オーダー管理モジュール１２２０、オーダーオーケストレーションモジュール１２２２、オーダー支給モジュール１２２４、オーダー管理監視モジュール１２２６、およびＩＤ管理モジュール１２２８によって提供される。これらのモジュールは、１つ以上のコンピュータおよび／またはサーバを含んでもよく、これらを用いて形成されてもよい。これらのコンピュータおよび／またはサーバは、汎用コンピュータ、専用サーバコンピュータ、サーバファーム、サーバクラスタ、または任意の他の適切な配置および／またはこれらの組み合わせであってもよい。
【０１９５】
例示的な処理１２３４において、顧客は、クライアント装置、たとえば、クライアント装置１２０４、１２０６または１２０８を使用して、クラウドインフラストラクチャシステム１２０２により提供された１つ以上のサービスをリクエストし、クラウドインフラストラクチャシステム１２０２によって提供された１つ以上のサービスをオーダーすることによって、クラウドインフラストラクチャシステム１２０２と情報交換することができる。特定の実施形態において、顧客は、クラウドユーザインターフェイス（ＵＩ）、クラウドＵＩ  １２１２、クラウドＵＩ  １２１４および／またはクラウドＵＩ  １２１６にアクセスし、これらのＵＩを介して、サブスクリプションをオーダーすることができる。クラウドインフラストラクチャシステム１２０２が顧客のオーダーに応答して受信したオーダー情報は、顧客と、クラウドインフラストラクチャシステム１２０２により提供され、顧客が購読しようとする１つ以上のサービスとを識別する情報を含むことができる。
【０１９６】
ステップ１２３６において、顧客から受信したオーダー情報は、オーダーデータベース１２１８に記憶することができる。このオーダーが新たなオーダーである場合、そのオーダーに新たなレコードを作成することができる。一実施形態において、オーダーデータベース１２１８は、クラウドインフラストラクチャシステム１２１８によって操作され、他のシステム要素と連動して操作されるいくつかのデータベースのうち１つであってもよい。
【０１９７】
ステップ１２３８において、オーダー情報をオーダー管理モジュール１２２０に転送することができる。オーダー管理モジュール１２２０は、オーダーに関連する請求および会計機能、たとえば、オーダーの確認、および確認後オーダーの記入を実行するように構成されてもよい。
【０１９８】
ステップ１２４０において、オーダーに関する情報をオーダーオーケストレーションモジュール１２２２に伝達することができる。オーダーオーケストレーションモジュール１２２２は、顧客がオーダーしたサービスおよびリソースの提供を準備するように構成される。いくつかの例において、オーケストレーションモジュール１２２２は、オーダー支給モジュール１２２４のサービスを使用して、支給を行うことができる。特定の実施形態において、オーケストレーションモジュール１２２２は、各オーダーに関連付けられたビジネスプロセスを管理することができ、ビジネスロジックを適用することによって、オーダーに対して支給をするか否かを判断することができる。
【０１９９】
図１２の実施形態に示すように、ステップ１２４２において、新規サブスクリプションのオーダーを受信すると、オーダーオーケストレーションモジュール１２２２は、リソースを割り当て、サブスクリプションオーダーを満たすために必要なリソースを構成するように、リクエストをオーダー支給モジュール１２２４に送信する。オーダー支給モジュール１２２４は、顧客がオーダーしたサービス用のリソースを割り当てることができる。オーダー支給モジュール１２２４は、クラウドインフラストラクチャシステム１２００により提供されたクラウドサービスと、リクエストされたサービスを提供するためのリソースを供給するために使用される物理的な実装層との間の抽象化レベルを形成する。このように、オーダーオーケストレーションモジュール１７２２は、たとえば、サービスおよびリソースをその場で支給するかまたは事前に支給するか、リクエストに応じて割り当てる／与えるかなどの実装詳細から単離されることができる。
【０２００】
ステップ１２４４において、サービスおよびリソースを支給した後、要求されたサービスが現在使用可能であることを示す通知を加入顧客に送信することができる。場合によって、顧客が要求されたサービスの使用を開始できるように、情報（例えば、リンク）を顧客に送信することができる。
【０２０１】
ステップ１２４６において、オーダー管理監視モジュール１２２６は、顧客のサブスクリプションオーダーを管理および追跡することができる。いくつかの例において、オーダー管理監視モジュール１２２６は、サブスクリプションオーダー内のサービスの利用統計、たとえば、ストレージの使用量、データの転送量、ユーザの数、システムの起動時間およびシステムの停止時間を収集するように構成されることができる。
【０２０２】
特定の実施形態において、クラウドインフラストラクチャシステム１２００は、ＩＤ管理モジュール１２２８を含むことができる。ＩＤ管理モジュール１２２８は、クラウドインフラストラクチャシステム１２００に、識別サービス、たとえば、アクセス管理および認可サービスを提供するように構成することができる。いくつかの実施形態において、ＩＤ管理モジュール１２２８は、クラウドインフラストラクチャシステム１２０２によって提供されたサービスを利用したい顧客に関する情報を制御することができる。このような情報は、顧客のＩＤを承認する情報、およびさまざまなシステムリソース（たとえば、ファイル、ディレクトリ、アプリケーション、通信ポート、メモリセグメントなど）に対して許可された顧客の実行権限を記載する情報を含むことができる。また、ＩＤ管理モジュール１２２８は、各顧客に関する記述情報の管理、記述情報にアクセスおよび変更する方法の管理、および記述情報にアクセスおよび変更した顧客の管理を行うこともできる。
【０２０３】
図１３は、本発明のさまざまな実施形態を実現することができるコンピュータシステム１３００の一例を示す図である。いくつかの実施形態において、コンピュータシステム１３００を用いて、上述したさまざまなサーバおよびコンピュータシステムのいずれかを実現することができる。図１３に示すように、コンピュータシステム１３００は、さまざまなサブシステム、例えばバスサブシステム１３０２を介して、複数の周辺と通信する処理ユニット１３０４を含む。周辺サブシステムは、処理加速ユニット１３０６と、Ｉ／Ｏサブシステム１３０８と、記憶サブシステム１３１３と、通信サブシステム１３２４とを含むことができる。記憶サブシステム１３１３は、有形コンピュータ読取可能記憶媒体１３２２と、システムメモリ１３１０とを含む。
【０２０４】
バスサブシステム１３０２は、コンピュータシステム１３００のさまざまな構成要素およびサブシステムが必要に応じて相互通信させるための機構を形成する。図示には、バスサブシステム１３０２を単一のバスとして概略的に示しているが、代替的な実施形態において、バスサブシステムは、複数のバスを利用してもよい。バスサブシステム１３０２は、メモリバスまたはメモリコントローラ、周辺バス、およびさまざまなバスアーキテクチャのいずれかを使用するローカルバスを備えるいくつかの種類のバス構造のいずれかを有してもよい。たとえば、このようなアーキテクチャは、業界標準アーキテクチャ（ISA）バス、マイクロチャネルアーキテクチャ（MCA）バス、拡張ISA（EISA）バス、ビデオエレクトロニクス規格協会（VESA）ローカルバス、および周辺構成要素相互接続（PCI）バスを含むことができる。これらのバスは、IEEE P1386.1規格などに準拠した製造されたメザニンバスとして実現することができる。
【０２０５】
処理サブシステム１３０４は、コンピュータシステム１３００の動作を制御し、１つ以上の処理ユニット１３３２、１３３４などを含むことができる。処理ユニットは、１つ以上のプロセッサコア、例えば、単一コアプロセッサまたはマルチコアプロセッサ、またはそれらの組み合わせを含んでもよい。いくつかの実施形態において、処理サブシステム１３０４は、１つ以上の専用コプロセッサ、例えばグラフィックプロセッサ、デジタル信号プロセッサ（ＤＳＰ）などを含むことができる。いくつかの実施形態において、処理サブシステム１３０４の処理ユニットの一部または全部は、特定用途向け集積回路（ＡＳＩＣ）またはフィールドプログラマブルゲートアレイ（ＦＰＧＡ）などの特装回路を用いて実現することができる。
【０２０６】
いくつかの実施形態において、処理サブシステム１３０４内の処理ユニットは、システムメモリ１３１０またはコンピュータ読取可能な記憶媒体１３２２に記憶された命令を実行することができる。さまざまな実施形態において、処理ユニットは、さまざまなプログラムまたはコード命令を実行することができ、複数のプログラムまたはプロセスを同時に実行することができる。任意の時点において、実行されるプログラムコードの一部または全部は、システムメモリ１３１０および／または１つ以上の記憶装置を潜在的に含むコンピュータ読取可能な記憶媒体１３２２に常駐することができる。適切なプログラミングによって、処理サブシステム１３０４は、リモート装置を使用して企業システムに対するアクセスを管理するための上述したさまざまな機能を提供することができる。
【０２０７】
特定の実施形態において、コンピュータシステム１３００によって実行された処理を全体的に加速するために、特定の処理または処理サブシステム１３０４によって実行される処理の一部をオフロードするように、処理加速ユニット１３０６を設けてもよい。
【０２０８】
Ｉ／Ｏサブシステム１３０８は、コンピュータシステム１３００に情報を入力するための装置および機構、および／またはコンピュータシステム１３００からまたはコンピュータシステム１３００を介して情報を出力するための装置および機構を含むことができる。一般的に、「入力装置」という用語を使用する場合、コンピュータシステム１３００に情報を入力するために使用されるさまざまの可能な種類の装置および機構を含むことができる。ユーザインターフェイス入力装置は、キーボード、マウスまたはトラックボールなどのポインティング装置、ディスプレイに組み込まれたタッチパッドまたはタッチスクリーン、スクロールホイール、クリックホイール、ダイヤル、ボタン、スイッチ、キーパッド、音声命令認識システムを備える音声入力装置、マイクロフォン、および他の種類の入力装置を含んでもよい。また、ユーザインターフェイス入力装置は、たとえば、Microsoft Kinect（登録商標）モーションセンサのようなモーション検知および／またはジェスチャ認識装置を含んでもよい。Microsoft Kinect（登録商標）モーションセンサは、ジェスチャおよび音声命令を利用する自然ユーザインターフェース（NUI）を介して、Microsoft Xbox（登録商標）３６０ゲームコントローラなどの入力装置を制御することができ、それと対話することができる。また、ユーザインターフェイス入力装置は、Google Glass（登録商標）瞬き検出器のような眼球ジェスチャ認識装置を含むことができる。Google Glass（登録商標）瞬き検出器は、ユーザの眼球活動（たとえば、写真を撮るときおよび／またはメニューを選択するときの「瞬き」）を検出し、眼球活動を入力装置（たとえば、Google Glass（登録商標））に入力する入力に変換する。さらに、ユーザインターフェイス入力装置は、音声命令を介してユーザと音声認識システム（たとえば、Siri（登録商標）ナビゲータ）との対話を可能にする音声認識検出装置を含んでもよい。
【０２０９】
ユーザインターフェイス入力装置の他の例として、三次元（３Ｄ）マウス、ジョイスティックまたはポインティングスティック、ゲームパッド、グラフィックタブレット、スピーカなどのオーディオ／ビジュアル装置、デジタルカメラ、デジタルビデオカメラ、ポータブルメディアプレーヤ、ウェブカメラ、イメージスキャナ、指紋スキャナ、バーコードリーダ、３Ｄスキャナ、３Ｄプリンタ、レーザ距離計、および視線追跡装置を含むがこれらに限定されない。さらに、ユーザインターフェイス入力装置は、たとえば、コンピュータ断層撮影装置、磁気共鳴像装置、超音波放射断層撮影装置、および医療用超音波装置などのような医用画像入力装置を含んでもよい。また、ユーザインターフェイス入力装置は、たとえば、ＭＩＤＩキーボードおよび電子楽器などの音声入力装置を含んでもよい。
【０２１０】
ユーザインターフェイス出力装置は、ディスプレイサブシステム、インジケータライト、またはオーディオ出力装置などの非視覚ディスプレイを含んでもよい。ディスプレイサブシステムは、たとえば、陰極線管（ＣＲＴ）、液晶ディスプレイ（ＬＣＤ）またはプラズマディスプレイを使用するフラットパネル装置、投射装置またはタッチスクリーンであってもよい。一般的に、「出力装置」という用語を使用する場合、コンピュータシステム１３００から情報をユーザまたは他のコンピュータに出力するためのすべての可能な種類の装置および機構を含むことを意図している。たとえば、ユーザインターフェイス出力装置は、文字、画像およびオーディオ／ビデオ情報を視覚的に伝達するさまざまな表示装置、たとえば、モニタ、プリンタ、スピーカ、ヘッドフォン、カーナビゲーションシステム、プロッタ、音声出力装置、およびモデムを含むがこれらに限定されない。
【０２１１】
記憶サブシステム１３１８は、コンピュータシステム１３００によって使用される情報を記憶するためのリポジトリまたはデータストアを提供する。また、記憶サブシステム１３１８は、いくつかの実施例の機能を提供する基本的なプログラミングおよびデータ構造を記憶するための有形のコンピュータ読取可能な記憶媒体を提供し得る。処理サブシステム１３０４によって実行されたときに上記の機能を提供するソフトウェア（プログラム、コードモジュール、命令）が記憶サブシステム１３１８に記憶され得る。これらのソフトウェアモジュールまたは命令は、処理サブシステム１３０４の１つ以上の処理ユニットによって実行され得る。また、記憶サブシステム１３１８は、本発明に従って使用されるデータを記憶するためのリポジトリを提供し得る。
【０２１２】
記憶サブシステム１３１８は、揮発性メモリ装置および不揮発性メモリ装置を含む１つ以上の非一時的メモリ装置を含むことができる。図１３に示すように、記憶サブシステム１３１８は、システムメモリ１３１０およびコンピュータ読取可能な記憶媒体１３２２を含む。システムメモリ１３１０は、いくつかのメモリ、例えばプログラム実行中に命令およびデータを記憶するための揮発性メインランダムアクセスメモリ（ＲＡＭ）および固定命令を記憶する不揮発性読取専用メモリ（ＲＯＭ）またはフラッシュメモリを含むことができる。いくつかの実現例では、始動中などにコンピュータシステム１３００内の素子間で情報を転送することを助ける基本ルーチンを含む基本入力／出力システム（basic input/output system：ＢＩＯＳ）が、一般にＲＯＭに記憶され得る。ＲＡＭは、一般的には、処理サブシステム１３０４によって現在に処理され、実行されているデータおよび／またはプログラムモジュールを含む。いくつかの実現例において、システムメモリ１３１０は、スタティックランダムアクセスメモリ（static random access memory：ＳＲＡＭ）またはダイナミックランダムアクセスメモリ（dynamic random access memory：ＤＲＡＭ）などの複数の異なるタイプのメモリを含むことができる。
【０２１３】
限定ではなく一例として、図１３に示すように、システムメモリ１３１０は、クライアントアプリケーション、ウェブブラウザ、ミッドティア（mid-tier）アプリケーション、関係データベース管理システム（relational database management system：ＲＤＢＭＳ）などを含み得るアプリケーションプログラム１３１２、プログラムデータ１３１４およびオペレーティングシステム１３１６も示す。一例として、オペレーティングシステム１３１６は、さまざまなバージョンのMicrosoft Windows（登録商標）、Apple Macintosh（登録商標）および／もしくはＬｉｎｕｘオペレーティングシステム、さまざまな市販のＵＮＩＸ（登録商標）もしくはＵＮＩＸライクオペレーティングシステム（さまざまなＧＮＵ／Ｌｉｎｕｘオペレーティングシステム、Google Chrome（登録商標）ＯＳなどを含むが、これらに限定されるものではない）、および／または、ｉＯＳ、Windows（登録商標）フォン、Android（登録商標）ＯＳ、BlackBerry（登録商標）10 ＯＳおよびPalm（登録商標）ＯＳオペレーティングシステムなどのモバイルオペレーティングシステムを含むことができる。
【０２１４】
コンピュータ読取可能な記憶媒体１３２２は、いくつかの実施例の機能を提供するプログラミングおよびデータ構成を記憶することができる。プロセッサによって実行されたときに上記の機能を提供するソフトウェア（プログラム、コードモジュール、命令）が記憶サブシステム１３１８に記憶され得る。一例として、コンピュータ読取可能な記憶媒体１３２２は、取外し不可能な不揮発性磁気媒体から読取るまたは当該媒体に書込むハードディスクドライブ、取外し可能な不揮発性磁気ディスクから読取るまたは当該ディスクに書込む磁気ディスクドライブ、ならびに、ＣＤ  ＲＯＭ、ＤＶＤおよびBlu-Ray（登録商標）ディスクまたは他の光学式媒体などの取外し可能な不揮発性光学ディスクから読取るまたは当該ディスクに書込む光学式ディスクドライブを含み得る。コンピュータ読取可能な記憶媒体１３２２は、Zip（登録商標）ドライブ、フラッシュメモリカード、ユニバーサルシリアルバス（universal serial bus：ＵＳＢ）フラッシュドライブ、セキュアデジタル（secure digital：ＳＤ）カード、ＤＶＤディスク、デジタルビデオテープなどを含み得るが、これらに限定されるものではない。また、コンピュータ読取可能な記憶媒体１３２２は、フラッシュメモリベースのＳＳＤ、企業向けフラッシュドライブ、固体ＲＯＭなどの不揮発性メモリに基づく固体ドライブ（solid-state drive：ＳＳＤ）、固体ＲＡＭ、ダイナミックＲＡＭ、スタティックＲＡＭなどの揮発性メモリに基づくＳＳＤ、ＤＲＡＭベースのＳＳＤ、磁気抵抗ＲＡＭ（magnetoresistive RAM：ＭＲＡＭ）ＳＳＤ、およびＤＲＡＭとフラッシュメモリベースのＳＳＤとの組み合わせを使用するハイブリッドＳＳＤを含み得る。ディスクドライブおよびそれらの関連のコンピュータ読取可能な媒体は、コンピュータ読取可能な命令、データ構造、プログラムモジュールおよび他のデータの不揮発性記憶装置をコンピュータシステム１３００に提供することができる。
【０２１５】
特定の実施形態において、記憶サブシステム１３００は、コンピュータ読取可能な記憶媒体１３２２にさらに接続可能なコンピュータ読取可能な記憶媒体リーダ１３２０を含み得る。コンピュータ読取可能な記憶媒体１３２２は、システムメモリ１３１０とともに、または必要に応じてシステムメモリ１３１０と組み合わせて、コンピュータ読取可能な情報を記憶するための記憶媒体に加えて、リモート記憶装置、ローカル記憶装置、固定的な記憶装置および／または取外し可能な記憶装置を包括的に表すことができる。
【０２１６】
特定の実施形態において、コンピュータシステム１３００は、１つ以上の仮想マシンを実行するためのサポートを提供することができる。コンピュータシステム１３００は、仮想マシンの構成および管理を容易にするために、ハイパーバイザなどのプログラムを実行することができる。各仮想マシンは、メモリ、コンピュータ（例えば、プロセッサ、コア）、Ｉ／Ｏ、およびネットワークリソースに割り当てられてもよい。各仮想マシンは、通常、独自のオペレーティングシステムを実行する。各仮想マシンのオペレーティングシステムは、コンピュータシステム１３００によって実行される仮想マシンは、各々同一または異なるオペレーティングシステムを実行してもよい。したがって、コンピュータシステム１３００は、複数のオペレーティングシステムを同時に実行することができる。各マシンは通常、他の仮想マシンから独立して動作する。
【０２１７】
通信サブシステム１３２４は、他のコンピュータシステムおよびネットワークとのインターフェイスを提供する。通信サブシステム１３２４は、他のシステムからデータを受信し、コンピュータシステム１３００から他のシステムにデータを送信するためのインターフェイスとして機能する。例えば、通信サブシステム１３２４によって、コンピュータシステム１３００は、インターネットを介して１つ以上のクライアント装置との通信チャネルを形成し、クライアント装置との間に情報を送受信することができる。
【０２１８】
通信サブシステム１３２４は、有線通信プロトコルおよび／または無線通信プロトコルの両方をサポートすることができる。例えば、特定の実施形態において、通信サブシステム１３２４は、（たとえば３Ｇ、４ＧまたはＥＤＧＥ（enhanced data rates for global evolution）などの携帯電話技術、高度データネットワーク技術を用いて）無線音声および／またはデータネットワークにアクセスするための無線周波数（radio frequency：ＲＦ）トランシーバ素子、WiFi（IEEE 802.11ファミリ標準または他のモバイル通信技術またはそれらの任意の組み合わせ）（登録商標）、全地球測位システム（global positioning system：ＧＰＳ）レシーバ素子、および／または、他の構成要素を含み得る。いくつかの実施例では、通信サブシステム１３２４は、無線インターフェイスに加えて、または無線インターフェイスの代わりに、有線ネットワーク接続（たとえばイーサネット）を提供することができる。
【０２１９】
通信サブシステム１３２４は、さまざまな形態のデータを受信および送信することができる。例えば、いくつかの実施形態において、通信サブシステム１３２４は、構造化されたおよび／または構造化されていないデータフィード１３２６、イベントストリーム１３２８、イベント更新１３３０などの形態で入力通信を受信することができる。例えば、通信サブシステム１３２４は、ソーシャルメディアネットワークのユーザおよび／またはTwitter（登録商標）フィード、Facebook（登録商標）更新、ＲＳＳ（Rich Site Summary）フィードなどのウェブフィードなどのデータフィード１３２６をソーシャルネットワークおよび／または他の通信サービスのユーザからリアルタイムで受信し、および／または、１つ以上の第三者情報源からリアルタイム更新を受信するように構成されてもよい。
【０２２０】
特定の実施形態において、通信サブシステム１３２４は、連続的なデータストリームの形態でデータを受信するように構成され得て、当該データは、連続的である場合もあれば本質的に明確な端部を持たない状態で境界がない場合もあるリアルタイムイベントのイベントストリーム１３２８および／またはイベント更新１３３０を含み得る。連続的なデータを生成するアプリケーションの例としては、たとえばセンサデータアプリケーション、金融ティッカ、ネットワーク性能測定ツール（たとえばネットワークモニタリングおよびトラフィック管理アプリケーション）、クリックストリーム分析ツール、自動車交通モニタリングなどを含み得る。
【０２２１】
また、通信サブシステム１３２４は、構造化されたおよび／または構造化されていないデータフィード１３２６、イベントストリーム１３２８、イベント更新１３３０などを、コンピュータシステム１３００に連結された１つ以上のストリーミングデータソースコンピュータと通信し得る１つ以上のデータベースに出力するように構成されてもよい。
【０２２２】
コンピュータシステム１３００は、手持ち式携帯機器（たとえばiPhone（登録商標）携帯電話、iPad（登録商標）計算タブレット、ＰＤＡ）、装着型装置（例えば、Google Glass（登録商標）ヘッドマウントディスプレイ）、ＰＣ、ワークステーション、メインフレーム、キオスク、サーバラックまたはその他のデータ処理システムを含むさまざまなタイプのうち、１つであってもよい。
【０２２３】
コンピュータおよびネットワークが絶え間なく進化し続けるため、図１３に示されているコンピュータシステム１３００の説明は、特定の例として意図されているにすぎない。図１３に示されているシステムよりも多くのまたは少ない数の構成要素を有する多くの他の構成が可能である。本明細書に提供された開示および教示に基づいて、当業者は、さまざまな実施例を実現するための他の手段および／または方法を理解するであろう。
【０２２４】
本発明の一実施形態によれば、コンピューティングシステムにおける装置アクセス管理システムが提供される。本実施形態の装置アクセス管理システムは、前述の実施形態に説明した装置アクセス管理システム１２０であってもよい。さらに、装置アクセス管理システムおよびその構成要素は、前述の実施形態に説明した本発明の原理に基づいて、いずれかの処理を適切に実行することができる。
【０２２５】
この実施形態の例において、装置アクセス管理システムは、アカウントハンドラと、アプリケーション構成マネージャと、通信ハンドラと、アクセスマネージャと、装置マネージャとを含むことができる。アクセスマネージャは、企業システムのユーザのＩＤに関連付けられたユーザ役割を特定することができる。装置マネージャは、企業システムにアクセスするように、そのＩＤで登録された第１リモート装置の装置情報を検索ことができる。アカウントハンドラは、ユーザ役割に基づいて、企業システムのアクセス可能な第１リソースへのアクセスをＩＤに与えるアカウントを決定することができ、第１リソースは、ユーザ役割でアクセス可能な複数のアプリケーションのうち、第１アプリケーションを用いて、第１リモート装置からアクセス可能である。アプリケーション構成マネージャは、第１リモート装置を用いてアカウントの第１リソースにアクセスするように第１アプリケーションを設定することができ、第１アプリケーションは、第１リソースを提供する第１ターゲットシステムに接続するように、接続情報を用いて設定され、第１アプリケーションは、アカウントの第１リソースにアクセスするように、アクセス情報を用いて設定される。さらに、通信ハンドラは、第１アプリケーションを構成した後、第１アプリケーションを第１リモート装置に送信することができる。
【０２２６】
この実施形態の例において、装置マネージャは、企業システムにアクセスするようにＩＤで登録された複数のリモート装置のうち、第２リモート装置を検出することができる。この例において、通信ハンドラは、第１アプリケーションを設定した後、第１アプリケーションを第２リモート装置に送信することができる。
【０２２７】
この実施形態の例において、アクセスマネージャは、第１ユーザ役割から第２ユーザ役割に変更するユーザ役割の変更を検出し、第２ユーザ役割に基づいて、ＩＤによる第１リソースへのアクセス権の変更を判断することができる。アプリケーション構成マネージャは、アクセス権の変更に基づいて、第１アプリケーションの設定を変更するように、第１リモート装置に指示することができる。
【０２２８】
この実施形態の例において、装置マネージャは、企業システムにアクセスするようにＩＤで登録された複数のリモート装置を検出することができる。通信ハンドラは、第１アプリケーションを設定した後、第１アプリケーションを複数のリモート装置に送信することができる。アプリケーション構成マネージャは、アクセス権の変更に基づいて、第１アプリケーションの設定を変更するように、複数のリモート装置の各々に指示することができる。
【０２２９】
この実施形態の一例において、第１リソースへのアクセス権の変更は、第１リソースへのアクセスの取消を含み、第１アプリケーションの変更は、第１アプリケーションに設定された接続情報およびアクセス情報の削除を含む。
【０２３０】
この実施形態の一例において、第１リソースへのアクセス権の変更は、第１リソースへのアクセスの取消を含み、第１アプリケーションの変更は、第１リモート装置から第１アプリケーションの削除を含む。
【０２３１】
この実施形態の例において、第１アプリケーションの変更は、第１アプリケーションに構成されたアクセス情報の調整を含む。
【０２３２】
この実施形態の例において、アクセスマネージャは、第１ユーザ役割から第２ユーザ役割に変更するユーザ役割の変更を検出することができる。アカウントハンドラは、第２ユーザ役割に基づいて、第２ユーザ役割でアクセス可能な複数のアプリケーションのうち、第２アプリケーションを検出することができる。アプリケーション構成マネージャは、ＩＤを用いて第１リモート装置からアクセスように、第２アプリケーションを設定することができる。第２アプリケーションは、第２ターゲットシステムによって提供された第２リソースにアクセスするように、情報を用いて設定される。通信ハンドラは、第２アプリケーションを第１リモート装置に送信することができる。
【０２３３】
本実施形態の一例において、装置情報は、第１リモート装置のオペレーティングシステム構成および第１リモート装置のハードウェア構成を表す第１リモート装置の構成を示し、第１アプリケーションは、第１リモート装置の構成を用いて設定される。
【０２３４】
この実施形態の例において、接続情報は、第１ターゲットシステムのポートアドレス、第１ターゲットシステムのホストアドレス、および第１ターゲットシステムの軽量ディレクトリアクセスプロトコル（ＬＤＡＰ）を含む。
【０２３５】
この実施形態の例において、アカウントハンドラは、ユーザ役割に基づいて、複数のアプリケーションのうち、ユーザがユーザ役割を実行することを可能にする第２アプリケーションを特定することができる。アカウントハンドラは、企業システム内の第２リソースにアクセスするように、第２アプリケーションを準備することができる。アプリケーション構成マネージャは、第１リモート装置から第２リソースにアクセスするように第２アプリケーションを設定することができる。通信ハンドラは、第２アプリケーションを設定したとき、第２アプリケーションを送信することができる。
【０２３６】
この実施形態の一例において、アカウントハンドラによるアカウントの決定は、アカウントが前記第１ターゲットシステムの前記第１リソースにアクセスするように準備されているか否かを判断するステップと、アカウントが第１リソースにアクセスするように準備されていないと判断した場合、第１ターゲットシステムの第１リソースへのアクセスをＩＤに与えるようにアカウントを準備するステップと、アカウントがＩＤに準備されていると判断した場合、アカウントに関するアカウント情報を検索するステップを含む。
【０２３７】
本発明の別の実施形態によれば、コンピューティングシステムにおける別の装置アクセス管理システムが提供される。本実施形態の装置アクセス管理システムは、前述の実施形態に説明した装置アクセス管理システム１２０であってもよい。さらに、装置アクセス管理システムおよびその構成要素は、前述の実施形態に説明した本発明の原理に基づいて、いずれかの処理を適切に実行することができる。
【０２３８】
この実施形態の例において、装置アクセス管理システムは、アカウントハンドラと、アプリケーション構成マネージャと、通信ハンドラと、アクセスマネージャと、装置マネージャとを含むいくつかのサブシステムおよび／またはモジュールを含むことができる。アクセスマネージャは、企業システムのユーザのＩＤに関連付けられたユーザ役割を識別することができる。装置マネージャは、企業システムにアクセスするように、そのＩＤで登録された第１リモート装置の装置情報を検索ことができる。アカウントハンドラは、ユーザ役割に基づいて、企業システムでアクセス可能な第１リソースへのアクセスをＩＤに与えるアカウントを決定することができ、第１リソースは、ユーザ役割でアクセス可能な複数のアプリケーションのうち第１アプリケーションを用いて、第１リモート装置からアクセス可能である。アプリケーション構成マネージャは、第１リモート装置を用いてアカウントの第１リソースにアクセスするように第１アプリケーションを設定することができ、第１アプリケーションは、第１リソースを提供する第１ターゲットシステムに接続するように、接続情報を用いて設定され、第１アプリケーションは、第１リソースにアクセスするように、アカウントのアクセス情報を用いて設定される。さらに、通信ハンドラは、第１アプリケーションを設定したとき、第１アプリケーションを第１リモート装置に送信することができる。
【０２３９】
この実施形態の一例において、アクセスマネージャは、第１ユーザ役割から第２ユーザ役割に変更するユーザ役割の変更を検出し、ユーザ役割の変更に基づいて、ＩＤによる第２リソースへのアクセス権が取消され、ＩＤによる第３リソースへのアクセスが許可されていることを判断することができる。第１リソース、第２リソースおよび第３リソースは、互いに異なる。アプリケーション構成マネージャは、第２リソースへのアクセス権が取消されたという判断に基づいて、第２アプリケーションを削除するように第１リモート装置に指示し、第１リモート装置から第３リソースにアクセスするように、第３接続情報および第３アクセス情報を用いて、複数のアプリケーションのうち第３アプリケーションを設定することができる。アカウントハンドラは、第２ユーザ役割に基づいて、第１リモート装置から企業システム内の第３リソースへのアクセスを提供する第３アプリケーションへのＩＤのアクセスを提供することができる。この例において、通信ハンドラは、第３アプリケーションを構成したとき、第３アプリケーションを第１リモート装置に送信することができる。
【０２４０】
この実施形態の一例において、アプリケーションへのアクセス権をＩＤに与えるステップは、アプリケーションによってアクセス可能なリソースへのアクセス権をそのＩＤに提供するアカウントを構成するステップを含む。
【０２４１】
本発明の特定の実施形態を説明してきたが、さまざまな変更、改変、代替構成、および同等物も本発明の範囲内に包含される。変更は、開示された特徴の任意の適切な組み合わせを含む。本発明の実施形態は、特定のデータ処理環境内で動作するのに限定されず、複数のデータ処理環境内で自由に動作することができる。さらに、一連の特定の処置およびステップを用いて本発明の実施形態を説明してきたが、本発明の範囲が説明された一連の処置およびステップに限定されないことは、当業者にとって明らかであろう。上述した実施形態のさまざまな特徴および態様は、個別にまたは共同で使用することができる。
【０２４２】
さらに、ハードウェアおよびソフトウェアの特定の組み合わせを用いて本発明の実施形態を説明してきたが、ハードウェアおよびソフトウェアの他の組み合わせも本発明の範囲内に含まれることを認識すべきである。ハードウェアのみ、ソフトウェアのみ、またはそれらの組み合わせを用いて、本発明の実施形態を実現することができる。本開示に記載されたさまざまなプロセスは、同一のプロセッサまたは任意の組み合わせの異なるプロセッサ上で実行することができる。したがって、特定の処理を実行するように構成要素またはモジュールを構成すると説明する場合、その構成は、例えば、その処理を実行するように電子回路を設計することによって、その処理を実行するようにプログラム可能な電子回路（マイクロプロセッサなど）をプログラムすることによって、またはそれらの組み合わせによって実現することができる。プロセスは、プロセス間の通信を行う従来技術を含むがこれに限定されないさまざまな技術を用いて通信を行うことができる。異なる対のプロセスは、異なる技術を使用することができ、または同一対のプロセスは、異なる時間で異なる技術を使用することができる。
【０２４３】
したがって、明細書および図面は、限定的な意味ではなく例示的な意味であるとみなすべきである。しかしながら、特許請求の範囲により定められた幅広い主旨および範囲から逸脱することなく、追加、削減、削除および他の修飾および変更を行ってもよいことは、明らかであろう。したがって、本発明の特定の実施形態を説明したが、これらの実施形態は、限定することを意図していない。さまざまな変更およびその等価物は、添付の特許請求の範囲に含まれる。
【図１】
0006417035.tif 000002
【図２】
0006417035.tif 000003
【図３】
0006417035.tif 000004
【図４】
0006417035.tif 000005
【図５】
0006417035.tif 000006
【図６】
0006417035.tif 000007
【図７】
0006417035.tif 000008
【図８】
0006417035.tif 000009
【図９】
0006417035.tif 000010
【図１０】
0006417035.tif 000011
【図１１】
0006417035.tif 000012
【図１２】
0006417035.tif 000013
【図１３】
0006417035.tif 000014