JP2013545152A - シンアプリケーション、リモートアプリケーション、およびSaaSアプリケーションのための統合ワークスペース - Google Patents

シンアプリケーション、リモートアプリケーション、およびSaaSアプリケーションのための統合ワークスペース Download PDF

Info

Publication number
JP2013545152A
JP2013545152A JP2013527132A JP2013527132A JP2013545152A JP 2013545152 A JP2013545152 A JP 2013545152A JP 2013527132 A JP2013527132 A JP 2013527132A JP 2013527132 A JP2013527132 A JP 2013527132A JP 2013545152 A JP2013545152 A JP 2013545152A
Authority
JP
Japan
Prior art keywords
application
user
saas
provisioning
applications
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2013527132A
Other languages
English (en)
Other versions
JP5837597B2 (ja
JP2013545152A5 (ja
Inventor
ピュー、ウィリアム
イークス、マイケル
ベルナンデル、オイヴィン
グンダバラム、プラデュムナ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
VMware LLC
Original Assignee
VMware LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by VMware LLC filed Critical VMware LLC
Publication of JP2013545152A publication Critical patent/JP2013545152A/ja
Publication of JP2013545152A5 publication Critical patent/JP2013545152A5/ja
Application granted granted Critical
Publication of JP5837597B2 publication Critical patent/JP5837597B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/41User authentication where a single sign-on provides access to a plurality of computers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/105Arrangements for software license management or administration, e.g. for managing licenses at corporate level
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0815Network architectures or network communication protocols for network security for authentication of entities providing single-sign-on or federations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network

Abstract

アプリケーション管理ソフトウェアは、チャネルを介してクライアント機器のユーザを認証する。認証オペレーションはディレクトリ・サービスを使用して実行される。アプリケーション管理ソフトウェアは、クライアント機器で表示されるグラフィカル・ユーザインタフェース(GUI)に複数のアプリケーションを提示する。複数のアプリケーションは、認証、クライアント機器、及びチャネルによって決まり、シンアプリケーションとサービス型ソフトウェア(SaaS)アプリケーションとを含む。アプリケーション管理ソフトウェアは、アプリケーションに関する選択をユーザから受け取る。アプリケーション管理ソフトウェアは、選択がSaaSアプリケーションについてのものである場合、SaaSアプリケーションのプロビジョニングを実施し、選択がシンアプリケーションについてのものである場合、シンアプリケーションを起動する。

Description

本開示は、シンアプリケーション、リモートアプリケーション、およびSaaSアプリケーションのための統合ワークスペースに関する。
エンタープライズ・レベルでソフトウェア・アプリケーションをデプロイするコンテキストにおいて、「エンタイトルメント」という用語は、ユーザによるアプリケーションへのアクセスを許可するかどうかを、例えばライセンス契約またはカンパニーポリシーに従って決定するプロセスを指している。「プロビジョニング」という用語は、実際にユーザにアプリケーションを提供するか、またはユーザによるアクセスを可能にするプロセスを指している。プロビジョニングは、一般に、エンタイトルメントが決定した後にのみ発生する。
従来、デスクトップアプリケーションのエンタイトルメントおよびプロビジョニングは、アプリケーションを使用するライセンス/権限を持つユーザに関連付けられたコンピューティング・システム(例えば、プラットフォームソフトウェアを備えるハードウェアデバイス)にアプリケーションをインストールするためのインストーラプログラムまたはスクリプトを実行することにより行われていた。多くの場合、そのようなインストールは自動化することができる。
本明細書で「シンアプリケーション」と呼ぶ、ある種のアプリケーションは、ユーザのコンピューティング・システムでの本格的なインストール(例えば、レジストリ設定を含む)を必要とすることなく、ユーザのディスクに単にコピーするだけでよい簡単な実行可能ファイルから実行することができる。例えば、シンアプリケーションには、カリフォルニア州パロアルトのヴイエムウェア社(VMware,Inc.)から入手可能なThinApp(登録商標)を使用して仮想化されたものなど、多くの仮想化されたアプリケーションが含まれる。同様に、他のアプリケーションとして、ネットワークを介してリモートからアクセスできるものであって、ユーザのデバイスのカスタマイズは必要であるとしても極めて少ないものがある。例えば、リモート仮想マシンからデスクトップへのリモート処理を行うシステムであって、ユーザにより直接アクセスされるシンクライアントを含むデスクトップ・リモーティング・システム、VMware View(登録商標)などの仮想デスクトップ・インフラストラクチャ(VDI:Virtual Desktop Infrastructure)ソリューションなどを使用して、アプリケーションにリモートからアクセスすることができる。別の例では、ブラウザまたは他のシンクライアントを使用して、ターミナルサーバホスティング・ユーザアプリケーションにアクセスすることができる。
同様に、その性質上、クラウド型アプリケーションである、サービス型ソフトウェア(SaaS:Software as a Service)アプリケーションは、一般に、ユーザのシステムまたはデバイスのインストールまたは変更を必要としない。SaaSアプリケーションは、一般に、ウェブベースのものであり、例えばウェブブラウザを通してアクセスおよび使用される。これによって、プロビジョニングは簡単になるが、認証およびエンタイトルメントの実施は複雑になることがある。SaaSアプリケーションの場合、通常、ユーザが、例えばユーザ識別子とパスワードの組み合わせを提供することにより、SaaSプロバイダによる認証を受けた後に、SaaSは、ユーザをそのアカウントに接続し、特定のアプリケーションへのアクセスを許可する。
ソフトウェア開発が、従来のアプリケーションから、仮想化されたアプリケーション、リモートアプリケーション、およびSaaSアプリケーションに移行するにつれて、増加する多くのアクセスチャネルを用いるますます多くのクライアント機器(例えば、Wi‐Fiネットワークを用いるスマートフォンなどのモバイル機器)について、そのようなアプリケーションのエンタイトルメントおよびプロビジョニングを管理するための集中型アプローチが必要となる。
例示的な態様において、ユーザにアプリケーションを提供するため、プロセッサにより実行される方法について記載する。この方法によれば、アプリケーション管理ソフトウェアにより、チャネルを介してクライアント機器のユーザを認証する。この認証オペレーションは、ディレクトリ・サービスを使用して実行される。アプリケーション管理ソフトウェアにより、クライアント機器で表示されるグラフィカル・ユーザインタフェース(GUI)内に、複数のアプリケーションを提示する。これら複数のアプリケーションは、少なくとも部分的に、認証、クライアント機器、およびチャネルによって決まる。また、これら複数のアプリケーションには、シンアプリケーションとサービス型ソフトウェア(SaaS)アプリケーションとが含まれる。アプリケーション管理ソフトウェアにより、アプリケーションに関する選択をユーザから受け取る。その選択がSaaSアプリケーションについてのものである場合は、アプリケーション管理ソフトウェアにより、そのSaaSアプリケーションのプロビジョニングを実施する。このプロビジョニングには、シングル・サインオンを使用して、そのSaaSアプリケーションのプロバイダのアカウントにユーザを自動的にログオンさせること、ユーザがSaaSアプリケーションとやり取りできるようにユーザをアカウントに接続させることが含まれる。選択がシンアプリケーションについてのものである場合は、アプリケーション管理ソフトウェアにより、そのシンアプリケーションを起動する。
他の例示的な態様では、装置について、すなわち、ユーザにアプリケーションを提供するためのプログラムを永続的に記憶するコンピュータ読み取り可能な記憶媒体について記載する。そのプログラムにより、チャネルを介してクライアント機器のユーザを認証する。この認証オペレーションは、ディレクトリ・サービスを使用して実行される。プログラムにより、クライアント機器で表示されるGUI内に、複数のアプリケーションを提示する。これら複数のアプリケーションは、少なくとも部分的に、認証、クライアント機器、およびチャネルによって決まる。また、これら複数のアプリケーションには、シンアプリケーションとサービス型ソフトウェア(SaaS)アプリケーションとが含まれる。プログラムにより、アプリケーションに関する選択をユーザから受け取る。その選択がSaaSアプリケーションについてのものである場合は、プログラムにより、そのSaaSアプリケーションのプロビジョニングを実施する。このプロビジョニングには、シングル・サインオンを使用して、そのSaaSアプリケーションのプロバイダのアカウントにユーザを自動的にログオンさせること、ユーザがSaaSアプリケーションとやり取りできるようにユーザをアカウントに接続させることが含まれる。選択がシンアプリケーションについてのものである場合は、プログラムにより、そのシンアプリケーションを起動する。
他の例示的な態様は、同じく、ユーザにアプリケーションを提供するため、プロセッサにより実行される方法に関するものである。この方法によれば、アプリケーション管理ソフトウェアにより、チャネルを介してクライアント機器のユーザを認証する。この認証オペレーションは、ディレクトリ・サービスを使用して実行される。アプリケーション管理ソフトウェアにより、クライアント機器で表示されるGUI内に、複数のアプリケーションを提示する。これら複数のアプリケーションは、少なくとも部分的に、認証、クライアント機器、およびクライアント機器のジオロケーションによって決まる。また、これら複数のアプリケーションには、サンドボックス・アプリケーションとサービス型ソフトウェア(SaaS)アプリケーションとが含まれる。アプリケーション管理ソフトウェアにより、アプリケーションに関する選択をユーザから受け取る。その選択がSaaSアプリケーションについてのものである場合は、アプリケーション管理ソフトウェアにより、そのSaaSアプリケーションのプロビジョニングを実施する。このプロビジョニングには、シングル・サインオンを使用して、そのSaaSアプリケーションのプロバイダのアカウントにユーザを自動的にログオンさせること、ユーザがSaaSアプリケーションとやり取りできるようにユーザをアカウントに接続させることが含まれる。選択がサンドボックス・アプリケーションについてのものである場合は、アプリケーション管理ソフトウェアにより、そのサンドボックス・アプリケーションを起動する。
本発明の他の態様および効果は、発明の原理を例によって示す添付の図面を併用して行われる以下の詳細な説明から、明らかになるであろう。
例示的な一実施形態により、認証、エンタイトルメント、およびプロビジョニングを管理するシステムのアーキテクチャを示すシステム概略図である。 例示的な一実施形態により、認証、エンタイトルメント、およびプロビジョニングを管理するシステムにおける機能モジュールの図である。 例示的な一実施形態によるSSOのシナリオを示すシーケンス図である。 例示的な一実施形態によるSSOの別のシナリオを示すシーケンス図である。 例示的な一実施形態によるSSOの別のシナリオを示すシーケンス図である。 例示的な一実施形態による、新規のSaaSアカウントのエンタイトルメントおよびプロビジョニングのプロセスを示すシーケンス図である。 例示的な一実施形態により、プロビジョニング・タスクを保存するプロセスを示すフローチャートである。 例示的な一実施形態により、プロビジョニング・タスクを決定するプロセスを示すフローチャートである。 例示的な一実施形態により、アプリケーションのプロビジョニングを実施するプロセスを示すフローチャートである。 例示的な一実施形態により、Mozyアプリケーションのプロビジョニングを実施するプロセスを示すフローチャートである。 例示的な一実施形態により、セッションで、SaaSアプリケーションに対しユーザを認証するプロセスを示すフローチャートである。 例示的な一実施形態により、セッションで、SaaSアプリケーションに対しユーザを認証するプロセスを示すフローチャートである。 例示的な一実施形態により、管理者ウェブポータルで表示されるダッシュボード・タブのGUIビューを示している。 例示的な一実施形態により、管理者ウェブポータルで表示されるユーザ・タブのGUIビューを示している。 例示的な一実施形態により、管理者ウェブポータルで表示されるユーザ編集ダイアログのGUIビューを示している。 例示的な一実施形態により、管理者ウェブポータルで表示されるグループ・タブのGUIビューを示している。 例示的な一実施形態により、管理者ウェブポータルで表示されるグループ編集ダイアログのGUIビューを示している。 例示的な一実施形態により、管理者ウェブポータルで表示されるエンタイトルメント編集ダイアログのGUIビューを示している。 例示的な一実施形態により、管理者ウェブポータルで表示されるアプリケーション・タブのGUIビューを示している。 例示的な一実施形態により、アプリケーションを追加するためのダイアログのGUIビューを示している。 例示的な一実施形態により、Windowsデスクトップアプリケーションを編集するための編集ダイアログのGUIビューを示している。 例示的な一実施形態により、公開(またはリモート)アプリケーションを編集するための編集ダイアログのGUIビューを示している。 例示的な一実施形態により、管理者ウェブポータルで表示されるライセンス・タブのGUIビューを示している。 例示的な一実施形態により、管理者ウェブポータルで表示されるポリシー・タブのGUIビューを示している。 例示的な一実施形態により、ユーザウェブポータルで表示されるGUIビューを示している。 例示的な一実施形態により、ユーザウェブポータルで表示される別のGUIビューを示している。
以下の説明では、例示的な実施形態についての完全な理解を与えるため、様々な具体的詳細について記載している。しかし、本明細書に記載の例示的な実施形態は、それら特定の詳細の一部を省いても実施することができることに留意すべきである。また、既に周知のプロセスの運用および実装の細部については詳細に記載していない。
全体として、本明細書で記載する例示的な実施形態は、(ローカルとリモートの両方の)デスクトップアプリケーション、サービス型ソフトウェア(SaaS)アプリケーション、およびデータのための統合ワークスペースを提供するものである。エンドユーザには、アプリケーションにアクセスする種々のクライアント機器にわたって機能する単一のワークスペースが提供される一方、管理者には、アプリケーションのエンタイトルメントとプロビジョニングを管理するための単一の場所が提供される。
図1は、例示的な一実施形態により、認証、エンタイトルメント、およびプロビジョニングを管理するシステム100のアーキテクチャを示すシステム概略図である。この図に示すように、システムは、アプリケーション・マネージャ101を備え、これは、数ある中でも特に、(1)管理者が、ユーザ、アプリケーション、およびアカウントを管理するための接続を(例えば、管理者ポータルを通して)行うことと、(2)エンドユーザが、(a)比較的シームレスにアプリケーションを起動すること、または(b)自身がエンタイトルメントを付与されているアプリケーションを有効/無効にすること、および(c)クライアント機器を用いてユーザ/デバイスごとのアプリケーション・エンタイトルメントのリストを取得するための接続をRESTフルなAPIによって行うこと、が可能な場所に、(例えば、ユーザポータルを通して)接続することと、を可能にするものである。言うまでもなく、“REST”は、“REpresentational State Transfer”の頭字語であり、“API”は、“Application Programming Interface”の頭字語である。また、言うまでもなく、RESTフルなAPIは、通常、インターネットメディアタイプ(例えば、JSON(JavaScript Object Notation:ジャバスクリプトによるオブジェクト記法)、XML(eXtensible Markup Language:拡張マークアップ言語)、またはYAML)での、HTTP(HyperText Transfer Protocol:ハイパーテキスト転送プロトコル)操作(例えば、POST、GET、PUT、またはDELETE)をサポートしている。
図1に示すように、アプリケーション・マネージャ101は、システムでサポートされるSaaSアプリケーション・プロバイダ(Salesforce.com:セールスフォース・ドットコム、Google:グーグルなど)であるサードパーティSaaS 102と、(例えば、インターネットまたは他のWANを含み得るネットワークを介して)通信する。アプリケーション・マネージャ101は、サードパーティSaaS 102の新規のユーザアカウントのプロビジョニングを実施し、シングル・サインオン(SSO:Single Sign‐On)を提供することが可能である。例示的な一実施形態では、サードパーティSaaS 102は、プロビジョニングAPIを有していることがあり、さらに/またはSAML(Security Assertion Markup Language:セキュリティ・アサーション・マークアップ言語)をサポートしていることがある。SAMLは、SSO認証を可能にするための周知の規格である。SAMLをサポートしていないか、またはプロビジョニングAPIを持たないサードパーティSaaS 102プロバイダには、アプリケーション・マネージャ101は、新規のユーザアカウントのプロビジョニングを可能にするための下位レベルのスクリーンスクレイピング(screen scraping)APIを提供する場合がある。
さらに図1に示すように、アプリケーション・マネージャ101は、サポートされているクライアント機器と、(例えば、その全体または一部がワイヤレスであり得るインターネットまたは他のWANを介して)通信し、それらのクライアント機器には、限定するものではない例として、(1)Windowsクライアント103a(例えば、Microsoft Windows(登録商標)オペレーティングシステムを実行するインテル(Intel)x86系マイクロプロセッサを含むプラットフォームを有するもの)と、(2)Macクライアント103b(例えば、MacOS(登録商標)オペレーティングシステムを実行するインテルx86系マイクロプロセッサを含むプラットフォームを有するもの)と、(3)iPad(登録商標)クライアント103c(例えば、iOS(登録商標)オペレーティングシステムを実行するARMマイクロプロセッサを含むプラットフォームを有するもの)と、が含まれる。例示的な一実施形態では、この通信は、サポートされているクライアント機器上のネイティブ・エージェントによる上記RESTフルなAPIへの呼び出しによって行われる。例えば、ネイティブ・エージェントは、周期的に、RESTフルなAPIを用いて、(a)クライアント機器のオペレーティングシステム(およびパッチ)と、(b)ウイルス防止/ファイアウォール/アンチスパイウェアがインストールされているかどうかと、(c)クライアント機器が接続されているドメインと、(d)自動更新がインストールされているかどうかと、に関するデバイス構成情報を送信する場合がある。レスポンスで、ネイティブ・エージェントは、アプリケーション・マネージャ101からエンタイトルメントのリストを受け取ることになる。そして、ネイティブ・エージェントは、それらのエンタイトルメントを、現在インストールされているものと比較し、適当なインストール、アップグレード、および/またはアンインストール処理を実行する。
シンアプリケーションとネイティブアプリケーションの場合には、インストールは、MSI(Windowsインストーラ)をインストールすることを伴うことがある。リモートアプリケーションの場合には、インストールは、RDP(Remote Desktop Protocol:リモートデスクトップ・プロトコル)の設定を伴うことがある。SaaSアプリケーションの場合には、インストールは、アプリケーションへのURLショートカットの設定を伴うことがある。ショートカットは、ユーザのデスクトップにインストールすることができ、そしてアイコンとして表示されて、これをダブルクリックによって起動させることが可能である。このショートカットのURL(Uniform Resource Locator:ユニフォームリソースロケータ)は、SaaSアプリケーションのURLのリダイレクト部分によって、アプリケーション・マネージャ101にアクセスするために、ユーザのブラウザを起動させるものである。より具体的には、SaaSショートカットをユーザがクリックすると、ショートカットのURLは、SSO接続を開始するために、アプリケーション・マネージャ101に誘導する。SSOセッションが作成された後に、アプリケーション・マネージャ101は、SAML IdP開始SSOプロファイルで規定される適切な認証情報によって、ユーザのブラウザをサードパーティSaaS 102にリダイレクトする。
さらに図1に示すように、アプリケーション・マネージャ101は、ウェブブラウザ103d(例えば、HTML5、Adobe Flash(アドビ・フラッシュ)などをサポートしているブラウザ)と通信することもできる。例示的な一実施形態では、システムは、ネイティブ・エージェントによってではなく、システムプラグインを持つウェブブラウザで直接アクセスすることができるユーザポータルを提供する。そのようなシステムプラグインに含まれる機能は、例えば、(1)SAML(または他のIDプロトコルの規格)をサポートしていない下位レベルのSaaSアプリケーションへのSSOを可能にし得る、さらに(2)SaaSアプリケーションの使用についてのメトリクスをシステムに提供し、さらに/または管理者に報告するためのジオロケーション(地理的位置)を提供し得るものである。ここで、言うまでもなく、ジオロケーション情報は、例示的な一実施形態において、ウェブブラウザでW3CジオロケーションAPIまたは類似のAPIを用いて、クライアント機器から得ることができる。
さらに、図1は、アプリケーション・マネージャ101が、ファイアウォール104を介してエンタープライズ・コネクタ105と通信することを示している。例示的な一実施形態において、エンタープライズ・コネクタ105は、アプリケーション・マネージャ101がエンタープライズ・コネクタ105にコマンドを送信することができるように、アプリケーション・マネージャ101へのセキュア接続を開始する場合がある。また、エンタープライズ・コネクタ105は、例示的な一実施形態において、仮想アプライアンスとすることができる。エンタープライズ・コネクタ105は、既存のコーポレートプロセスおよびディレクトリと統合するための、エンタープライズへのブリッジを提供する。カンパニーがファイアウォールに穴を開けざるを得なくなることを防ぐため、エンタープライズ・コネクタ105は、ファイアウォール104の背後にインストールされて、アプリケーション・マネージャ101に接続され、このとき、例えば、セキュア接続が使用されるか、またはローカルエリアネットワーク(LAN)もしくは広域ネットワーク(WAN)が使用され、その全体または一部はワイヤレスであり得るが、ただし、識別情報を保証するためのセキュリティ対策が採用される。そのようなセキュリティ対策の一例は、アプリケーション・マネージャ101がエンタープライズ・コネクタ105の身元を確認することができるように、エンタープライズ・コネクタ105にインストールされ、アプリケーション・マネージャ101に登録された証明書である。
例示的な一実施形態において、エンタープライズ・コネクタ105は、SSOのためのアイデンティティ・プロバイダ(IdP)として機能することがある。このような立場で、エンタープライズ・コネクタ105は、アクティブディレクトリ(“AD”:Active Directory)サーバ106のような内部LDAP(Lightweight Directory Access Protocol:ライトウェイト・ディレクトリアクセス・プロトコル)サーバに対する認証を、パスワードを公開することなく提供することがある。このような実施形態では、言うまでもなく、ADサーバ106は、コーポレートユーザ識別情報の「真実の情報源(source of truth)」であり、よって、コーポレートユーザ識別情報の更新を受け取るとともに、レポートする。エンタープライズ・コネクタ105が存在しない別の例示的実施形態では、アプリケーション・マネージャ101は、認証、およびユーザ更新を伴う処理を実行するときに、セキュア接続またはセキュリティ対策を採用している接続を使用して、ADサーバ106に直接接続する場合がある。
さらに、エンタープライズ・コネクタ105は、ファイアウォール104の背後で、既存のワークフローおよびライセンシング・プロセスと統合するためのステージング領域として機能することがある。このような立場で、エンタープライズ・コネクタ105は、例えば、WS‐BPEL(Web Services Business Process Execution Language:ウェブサービス・ビジネスプロセス実行言語)で構築されたカスタムワークフロー、または管理ツールに組み込まれたカスタムワークフローを用いて、既存の管理ツールおよびプロセス107へのプロビジョニング・コールアウトを行うことがある。このようなプロビジョニング・コールアウトを行うときには、エンタープライズ・コネクタ105は、既存のライセンス追跡システム、資産管理システムなどからの情報を利用する。
同様に、エンタープライズ・コネクタ105は、ファイアウォール104の内側で、SAML、またはIT実行SaaS 108により公開されるプロビジョニングAPIを用いて、SaaSプロビジョニングを実行することがある。IT実行SaaS 108には、Oracle Apps、Outlook Web App(OWA)などのSaaSアプリケーションが含まれる場合がある。例示的な一実施形態において、これらの内部SaaSアプリケーションの一部またはすべてが、ADサーバ106に対してはプロビジョニングされないことがある。
エンタープライズ・コネクタ105は、追加のアプリケーションをサポートするためのシステム100の拡張を可能にするものであってもよい。例えば、システム100のユーザは、豪州シドニーのアトラシアン社(Atlassian Pty Ltd.)から入手できる課題およびプロジェクト追跡アプリケーションであるJira(登録商標)を使用したいことがあるが、システム100は、そのような使用をサポートするドライバを提供していない。このような場合、ユーザは、エンタープライズ・コネクタ105において、自身のドライバを作成し、それらを例えばプラグインまたは拡張機能としてインストールすることができる。その後、ドライバは、Jiraにかかわるプロビジョニング処理の一部として実行される。
例示的な一実施形態において、図1に示すシステムは、分散コンピューティング・ソフトウェア(Apache’s Hadoop(アパッチのハドゥープ)、またはMap‐Reduce(マップリデュース)および/もしくはGoogle File System(グーグル・ファイルシステム)に基づく他のソフトウェアを含む)を実行し得るクラスタまたは他の分散システムで、相互にネットワーク(例えば、LANまたはWAN)で接続された複数のサーバ上で、仮想化ソフトウェア(例えば、VMware(ヴイエムウェア社)、Citrix(シトリックス社)、Microsoft(マイクロソフト社)などにより提供されるようなもの)、負荷分散ソフトウェア、データベース・ソフトウェア(例えば、SQL、NoSQLなど)、ウェブサーバ・ソフトウェアなどを実行する場合がある。そして、その分散システムは、認証、エンタイトルメント、およびプロビジョニングに関するデータを(例えば、データベースまたは他のファイルに)記憶する永続ストレージに、(例えば、ストレージエリア・ネットワーク(SAN:Storage Area Network)によって)接続されることがある。それらのサーバ自体は、(1)1つまたは複数のマイクロプロセッサ(例えば、x86系のもの)、揮発性ストレージ(例えば、RAM)、および永続ストレージ(例えば、ハードディスクまたはソリッドステート・ドライブ)から構成されるハードウェアと、(2)そのハードウェア上で実行されるオペレーティングシステム(例えば、Linux、Windows Server、Mac OS Serverなど)と、を含み得る。
図2は、例示的な一実施形態により、認証、エンタイトルメント、およびプロビジョニングを管理するシステム200における機能モジュールの図である。この図に示すように、機能モジュールのうち2つはクライアント機器上にあり、それらは、(1)ウェブブラウザ103dとインタフェースして、上記のように、システムによるロギングおよびレポーティングのために使用状況をRESTフルなAPI 203に報告するブラウザ・プラグイン(またはエージェント)103eと、(2)同じく上記のように、x86プラットフォーム(例えば、WindowsもしくはMacのラップトップもしくはデスクトップ)またはARMプラットフォーム(例えば、iPhone、iPad、Androidスマートフォン、Androidタブレットなど)を持つクライアント機器にインストールされたネイティブ・エージェント(またはクライアント)103である。
図2に示すように、システムのサーバ側モジュールには、クライアント側モジュールとインタフェースする4つのモジュールが含まれる。これらのモジュールのうち1つは、管理用ウェブUI(ユーザインタフェース)201であり、これにアクセスすることによって、管理者は、数ある中でも特に、(1)アプリケーションおよびアプリケーション群(例えば、この場合、「群」とは、1つのアプリケーションのいくつかの異なるバージョンからなる群ではなく、一まとまりのものとして管理することができるアプリケーションの任意のグループである)と、(2)エンドユーザと、(3)クライアント機器およびクライアント機器に関連するポリシーと、(4)エンタイトルメントと、を管理することができる。また、管理者は、例示的な一実施形態において、使用状況および/またはジオロケーションに関するレポートを管理用ウェブUI 201で閲覧できる場合もある。本開示の他の部分では、管理用ウェブUI 201は、「管理者ウェブポータル」と呼ばれる。
さらに、図2に示すように、システムのサーバ側モジュールには、ユーザウェブUI 202が含まれており、これにアクセスすることによって、ユーザは、比較的シームレスにアプリケーションを起動することができ、また、エンタイトルメントを持つアプリケーションで無効化されているものを有効にすることができる。さらに、システムのサーバ側モジュールには、RESTフルAPI 203が含まれており、これは、APIのセットを含むことができ、また、システムがどのように実装および/または構成されているのかに応じて、システムの機能の一部またはすべてへのアクセスを提供する。別の例示的実施形態では、システムの機能へのアクセスには、全体的または部分的に、SOAP(Simple Object Access Protocol:簡易オブジェクト・アクセス・プロトコル)プロトコル、またはプロセス間通信のための他の何らかのプロトコルが使用され得る。本開示の他の部分では、ユーザウェブUI 202は、「ユーザウェブポータル」と呼ばれる。
さらに図2に示すように、システムのサーバ側モジュールには、SAMLフロントエンド204が含まれており、これは、SAMLを解釈し、また、SSO認証に関する実際の処理の多くを実行するため、SSOサービス211を使用してSAMLセッションを作成する。
クライアント側モジュールとインタフェースしている4つのサーバ側モジュールの下には、サーバ側モジュール201〜204が通信のためとバックエンド機能を提供するサーバ側モジュールへのアクセスのために使用する内部Java API 205がある。内部Java API 205は、例示的な一実施形態において、そのすべてのAPIコールのログをロギング/解析ストア215に記録することがある。そして、この情報は、使用状況および/またはジオロケーションについてのレポートを作成するために用いられる場合がある。
バックエンド機能を提供するサーバ側モジュールには、システムの購入者がシステムを配給しているエンティティ(すなわち、VMware)と対話するためのAPIを提供するアカウント管理用のモジュール206が含まれる。バックエンド機能を提供するサーバ側モジュールには、さらに、アプリケーション・エンタイトルメント・ストア(AES:Application Entitlement Store)オブジェクトストア214のオブジェクトを検索するための検索インタフェースを提供する検索モジュール207が含まれる。例示的な一実施形態において、AESオブジェクトストア214のオブジェクトは、検索に備えて、Solr(ソーラ)インデックスでインデックス化される場合がある。Solrは、ApacheのLucene(ルシーン)プロジェクトからのオープンソースのエンタープライズ検索プラットフォームである。
バックエンド機能を提供する他のサーバ側モジュールは、ユーザレポート用のモジュール208である。このモジュール208は、管理者のためのレポートを作成する。例示的な一実施形態において、モジュール208は、数ある中でも特にロギング/解析ストア215とAESオブジェクトストア214から、レポートのためのデータを取得する。レポートは、ライセンス、アプリケーションの使用状況、アクセス場所(例えば、ジオロケーション)、ユーザおよび/またはタイプおよび/または構成ごとのデバイス、などを対象として含んでいる場合がある。例示的な一実施形態において、ロギング/解析ストア215からのレポートは、ApacheのHadoop(例えば、Hadoopジョブ)を使用して作成されることがある。さらに、例示的な一実施形態において、レポートは、OLAP(OnLine Analytical Processing:オンライン分析処理)キューブのようなキューブを生成することがあり、この場合、キューブは、数ある中でも特に、(a)ユーザ、(b)グループ/タグ、(c)アプリケーション、(d)日付/時刻、および(e)デバイスタイプについての次元を持ち得る。これらの次元の各々は、当然のことながら、同じレポートで同じキューブに生成されないことがある。例示的な一実施形態において、ユーザレポートは、さらに、アプリケーション・プロビジョニング数、使用時間、ある場所での使用時間、ログインの数、などに関するメトリクスを含むことがある。
バックエンド機能を提供するサーバ側モジュールには、プロビジョニング用のモジュール209が含まれる。例示的な一実施形態において、モジュール209は、様々なタイプのアプリケーションのためのカスタムロジック(または、プロビジョニング・ドライバ)を有する場合がある。例えば、SaaSアプリケーション220について、プロビジョニング・ドライバは、表1で規定するプロセスに従って動作し得る。
例えば、SalesforceのSaaSは、JITプロビジョニングを採用しているので、ユーザがSalesforceのSaaSアプリケーションにアクセスしようとすると、Salesforceは、即時プロビジョニング決定のために、システムとコンタクトをとる。
フォーム記入は、SaaSプロバイダがSAML(または他のSSOスキーム)をサポートしていない場合に、SaaSアプリケーション220に対する認証のために用いられる。つまり、モジュール209は、プロビジョニングの際にパスワードを設定する。例示的な一実施形態において、シングルパスワードを洩らすことでシステムを危険にさらすことがないように、パスワードはランダムに生成されることがある。ユーザがパスワードにアクセスすることを防ぐことができる。ユーザにパスワードを提供しないことによって、システムは、ユーザがシステム・エージェントを使用することなくSaaSアプリケーションにアクセスすることを防いでいる。
シンアプリケーションおよび/またはネイティブアプリケーションの場合には、プロビジョニング・ドライバは、(1)何らかのライセンシング・アカウンティングを実施することがあり、さらに(2)そのアプリケーションをダウンロードできるようにすることがある。リモートアプリケーションの場合には、プロビジョニング・ドライバは、(1)何らかのライセンシング・アカウンティングを実施することがあり、さらに(2)例えば、リモートデスクトップ・プロトコル(RDP)ファイル、VMware View(登録商標)ファイルなど、関連するファイルを取得することがある。別の例示的実施形態では、これらの処理の一部またはすべてが、(例えば、上記のようなプロビジョニング・コールアウトに応答して)既存のワークフローおよびライセンシング・プロセスによって実行される場合がある。
言うまでもなく、例示的な一実施形態において、シンアプリケーションは、例えば、アプリケーションによってレジストリおよび/またはファイルシステムに加えられる実行時の変更を保持するためのサンドボックスを提供するVMware ThinApp(登録商標)などにより、仮想化されたアプリケーションであり得る。また、言うまでもなく、そのようなサンドボックスは、数ある中でも特に、DLL(Dynamically Linked Libraries:ダイナミックリンク・ライブラリ)の上書きを防ぐのに有用である。同様に、例示的な一実施形態において、リモートアプリケーションは、リモートサーバ上の仮想化層(例えば、ハイパーバイザ)によって提供される仮想マシン上のゲストオペレーティングシステムの上で実行されるVMware Viewアプリケーションのような、デスクトップ仮想化アプリケーションであり得る。
さらに、例示的な一実施形態において、アプリケーションのためのプロビジョニング・ドライバは、次のような操作をサポートしている場合がある:(1)ユーザを追加/削除する、(2)ユーザ・ステータスを取得する。一般に、追加/削除操作は、ユーザごとに一度実行される。アプリケーションがSaaSアプリケーションである場合には、プロビジョニング・ドライバは、ユーザの追加を、管理者がSaaSプロバイダから既に取得したアカウントにそのユーザの認証情報を関連付けることによって行う場合がある。アプリケーションがシンアプリケーションまたはリモートアプリケーションである場合は、プロビジョニング・ドライバは、何らかのライセンシング・アカウンティングを実施することにより、ユーザを追加する場合がある。
言うまでもなく、取得されたユーザ・ステータスは、SaaSアプリケーションのユーザの期待されるプロビジョニング状態と実際のプロビジョニング状態との差異を特定するために用いられることがある。
さらに図2に示すように、バックエンド機能を提供するサーバ側モジュールには、エンタイトルメント用のモジュール210が含まれる。例示的な一実施形態において、このモジュールは、エンタイトルメントに基づいて、システムのアプリケーションへのアクセスを制御する。例示的な一実施形態において、エンタイトルメントは、<ユーザ,デバイス,アプリケーション,ユーザタグのセット,デバイス構成,認証タイプ>などの要素を持つタプルとして表されることがある。
エンタイトルメントは、数ある中でも特に、ネイティブ・クライアント103により表示されるGUIデスクトップ上に、どのアプリケーションのショートカット(例えば、アイコンで表されるようなもの)を提示するのかを定める。同様に、これらのエンタイトルメントをチェックすることで、ユーザウェブUI 202により表示されるGUIに、どのアプリケーションのショートカット(例えば、アイコンで表されるようなもの)を提示するのかが決定される。また、アプリケーションに対するSSO処理のたびに、モジュール210は、エンタイトルメントをチェックすることで、SSOを進めることができるか確認し、セッション・タイムアウトを設定する。エンタイトルメントが変更されると、モジュール210は、何らかのプロビジョニング/デプロビジョニング処理を実行すべきかどうか、さらには、いずれかのSSOセッションを終了させるべきかどうか判断する。
バックエンド機能を提供する別のサーバ側モジュールは、SSO用のモジュール211である。例示的な一実施形態において、モジュール211は、異なるアプリケーションの間で共有される認証セッションを追跡する。当然のことながら、セッションの開始は、ユーザ認証を伴う。例示的な一実施形態において、ユーザがファイアウォール104の内側にいる場合には、認証は、エンタープライズ・コネクタ105を通してアクセスすることにより、ADサーバ106(または他のディレクトリ・サービス)に対して行われることがある。ユーザがファイアウォール104の外側にいる場合は、認証は、アプリケーション・マネージャ101とエンタープライズ・コネクタ105の両方を通してアクセスすることにより、ADサーバ106(または他のディレクトリ・サービス)に対して行われることがある。あるいは、ホステッド・アイデンティティを提供するSaaSプロバイダ(例えば、Google Apps)または他のプロバイダ(例えば、Yahoo!)であって、SAMLまたはOAuth(Open Authorization:オープン認証)を用いてアクセスされるプロバイダに、システムは認証を委任することがある。
他の例では、認証は、ディレクトリとかかわらない場合がある。つまり、認証は、SAMLによって行われることがある。あるいは、下位レベルのアプリケーションの場合、認証は、上記のようにフォーム記入によって処理されることがあり、それは、ウェブブラウザ103dでGUIによって、ユーザからのユーザ名および/またはパスワードを要求するものであり得る。
バックエンド機能を提供するサーバ側モジュールには、さらに、ユーザ更新用のモジュール212が含まれる。このモジュールは、例えば、(1)管理者ウェブUI 201を通して行われた操作の結果としての変化、(2)RESTフルAPI 203に由来する変化、または(3)例えばAD更新ツール、Yahoo!更新ツール、Google更新ツールなどの同期ツールによってディレクトリストア219から伝えられた変化に基づいて、ユーザデータを更新する。
バックエンド機能を提供する他のサーバ側モジュールは、課金サービス213であり、これは、システムによりプロビジョニングされたアプリケーションのライセンス料金/支払いの会計、および会計の確認を行う自動化されたサードパーティ・サービスであり得る。例示的な一実施形態において、システムは、APIを用いて課金サービス213にアクセスする場合がある。
バックエンド機能を提供するサーバ側モジュールには、さらに、AESオブジェクトストア214が含まれる。例示的な一実施形態において、AESオブジェクトストア214は、システムのオブジェクト(例えば、ユーザ、アプリケーション、グループ、アプリケーション群、エンタイトルメント、アカウントの有効化などに関するもの)をデータベースに記憶するスケーラブル・オブジェクトストアである。言うまでもなく、システムの他の部分は、トランザクション・セマンティクスを用いて、これらのオブジェクトの様々なバージョンで動作する。例示的な一実施形態において、AESオブジェクトストア214は、オプティミスティック同時実行制御およびアトミック操作を提供する。また、例示的な一実施形態において、AESオブジェクトストア214は、エンタープライズ組織構造に基づき、いくつかのデータベースに分散される場合がある。
バックエンド機能を提供する他のサーバ側モジュールは、ロギング/解析ストア215である。例示的な一実施形態において、ロギング/解析ストア215は、(1)APIコール、(2)プロビジョニング処理、(3)アプリケーション使用状況のデータ(例えば、ネイティブ・クライアントまたはブラウザ・プラグインから受け取る)、のためのスケーラブルな永続ストレージを(例えば、ログの形で)提供するものであり得る。ロギング/解析ストア215は、さらにジョブインタフェースを提供し、これは、ユーザレポート208がログの解析を実行して、レポートおよびキューブを作成することを可能にするものである。
バックエンド機能を提供するサーバ側モジュールには、さらに、BLOB(Binary Large OBject:バイナリ・ラージ・オブジェクト)ストア216、キーチェーンストア217、およびユーザキーストア218が含まれる。BLOBストア216は、ネイティブアプリケーション、シンアプリケーションなどのための画像を記憶する。図2に示すように、BLOBストア216は、サードパーティによって提供されたものであり得る。例示的な一実施形態において、システムは、APIを用いてBLOBストア216にアクセスする場合がある。キーチェーンストア217は、下位の認証で使用される暗号化されたパスワードを記憶する。そして、ユーザキーストア218は、キーチェーンストア217の中の暗号化されたパスワードを解読するのに使用されるユーザごとのキーを記憶する。
言うまでもなく、例示的な一実施形態において、上記のサーバ側モジュールは、上記のアプリケーション・マネージャ101の一部であり得る。これに代えて、別の例示的実施形態では、上記のサーバ側モジュールのうちの一部は、エンタープライズ・コネクタ105がインストールされているのであれば、その一部であり得る。あるいは、サーバ側モジュールの機能は、クライアント側モジュールに移転される場合があり、またその逆もあり得る。すなわち、上記のモジュールは、いずれかの適当な方法でシステム全体に分散させることが可能である。
表2は、例示的な実施形態によるSSOのいくつかのシナリオを示している。当然のことながら、これらのシナリオは、限定するものではなく、例示的なものである。1型エンタープライズの列かつモダンSaaSアプリケーションの行に示す第1のシナリオでは、ユーザはファイアウォールの内側にいるが、2つのセキュアトークンサービス(STS)があり、例えば、アプリケーション・マネージャ・サーバは、ファイアウォールの内側へのセキュア接続を持たない。このようなシナリオを図3Aに示しており、この場合、STS 302はオンサイトにあって(例えば、DMZにあるアクティブディレクトリ連携サービス(ADFS:Active Directory Federation Service))、ADサーバに対してユーザを認証して、SAMLトークンを生成することが可能である。これを、図3Aで、クライアント機器301とSTS 302との間に、オペレーション303として示している。もう一方のSTSであるSTS 304は、オープンセッションに基づき、STS 302により生成されたSAMLトークンを使用して、SAMLトークンを生成することができる。これを、図3Aで、クライアント機器301とアプリケーションポータル306(例えば、上記のユーザウェブポータル)との間に、オペレーション305で示している。そして、この図でオペレーション307に示すように、クライアント機器301は、STS 304により生成されたSAMLトークンを使用して、モダン(SAML対応)SaaSアプリケーションサーバ308に接続し、SaaSアプリケーションへのアクセスを得る。
表2の1型エンタープライズの列かつレガシSaaSアプリケーションの行に示す第2のシナリオでは、STSは1つのみである。例えば、アプリケーション・マネージャ・サーバは、ファイアウォールの内側へのセキュア接続を持ち得る。STSは、アプリケーション・マネージャ・サーバ上にあって、これは、ADサーバに対してユーザを認証することが可能であり、また、HTTP連携(HTTP Federation)を使用して、クライアント機器とレガシSaaSアプリケーションサーバとの間の接続をプロキシする。この場合、言うまでもなく、アプリケーション・マネージャ・サーバは、ユーザの代わりに、従来のユーザ名とパスワードの組み合わせを使用して、認証を行う。別の例示的実施形態において、システムは、上記の表に示すシナリオのいずれかで、SAML対応のSaaSアプリケーションサーバとの接続に、同じくHTTP連携を使用し得る。
表2の1型変形例の列かつモダンSaaSアプリケーションの行に示す第3のシナリオでは、ユーザがファイアウォールの外側にいて、STSは1つのみであり、例えば、アプリケーション・マネージャ・サーバは、ファイアウォールの内側へのセキュア接続を持つ。このようなシナリオを図3Bに示しており、この場合、アプリケーション・マネージャ・サーバは、STS 304を含み、これは、上記のエンタープライズ・コネクタ105のようなディレクトリ・コネクタ310(例えば、DMZにあるADコネクタ)の使用によって、ADサーバ309に対してユーザを認証して、SAMLトークンを生成することが可能である。これを、クライアント機器301とアプリケーションポータル306(例えば、上記のユーザウェブポータル)との間にオペレーション305で、さらに、STS 304とディレクトリ・コネクタ310との間にオペレーション311で、示している。そして、この図にオペレーション307で示すように、クライアント機器は、そのSAMLトークンを使用して、SAML対応のSaaSアプリケーションサーバ308に接続し、SaaSアプリケーションへのアクセスを得る。
表2の1型(変形例)の列かつレガシSaaSアプリケーションの行に示す第4のシナリオでは、STSはなく、アプリケーション・マネージャに対してネイティブ認証が行われる。そして、認証マネージャは、オンプレミスのアイデンティティ・ストアに対してユーザを認証することが可能であり、これが、HTTP連携(HTTP Fed)を使用して、クライアント機器とレガシSaaSアプリケーションサーバとの間の接続をプロキシする。上記の表に示すように、この同じシナリオが、2型エンタープライズの列かつレガシSaaSアプリケーションの行のセル6で発生する。
表2の2型エンタープライズの列かつモダンSaaSアプリケーションの行に示す第5のシナリオでは、ファイアウォールはなく、STSは1つである。このようなシナリオを図3Cに示しており、この場合、アプリケーション・マネージャ・サーバは、STS 304を含み、これは、アイデンティティ・ストアに対してユーザを認証し、そして、独自のコネクタを使用してアクセスされる(例えば、GoogleまたはSalesforceの)ホステッド・アイデンティティ・ストアにより生成されたSAMLトークンからSAMLトークンを生成することが可能である。これを、クライアント機器301とアプリケーションポータル306(例えば、上記のユーザウェブポータル)との間にオペレーション305で、さらに、アプリケーション・マネージャ312とホステッド・アイデンティティ・マネージャ313との間にオペレーション314で、示している。そして、オペレーション307で、クライアント機器301は、そのSAMLトークンを使用して、SAML対応のSaaSアプリケーションサーバ308に接続し、SaaSアプリケーションへのアクセスを得る。
図4は、例示的な一実施形態による、新規のSaaSアカウントのエンタイトルメントおよびプロビジョニングのプロセスを示すシーケンス図である。エンタイトルメントは、特定のユーザまたはユーザグループを、特定のアプリケーションまたはアプリケーション群に関連付ける許可であることが想起されよう。エンタイトルメントがSaaSアプリケーションについてのものである場合には、それがサードパーティによりホストされているものであるか、エンタープライズ独自のネットワーク内のものであるかにかかわらず、エンタイトルメントが作成されるときに、ユーザごとに、そのSaaSプロバイダのアカウントが作成される。図示のように、例示的な一実施形態において、このプロセスは、図2に示すモジュールのうちいくつかによって実行され得る。
プロセスのオペレーション401で、システムは、例えば管理者からのGUIコマンドの結果として、SaaSアプリケーションへのエンタイトルメントをユーザまたはユーザグループ用に追加するためのコールを、管理者ウェブポータル(管理者UI)から受け取る。このコールは、システムのエンタイトルメント・モジュールに送られる。このコールは、内部Java APIを利用する他のコールと同様に、ロギング/解析ストアに記録される。そして、オペレーション402で、エンタイトルメント・モジュールは、関係するユーザのAESオブジェクトストアのオブジェクトに、エンタイトルメントおよび期待されるプロビジョニング状態を追加する。オペレーション403で、エンタイトルメント・モジュールは、プロビジョニングを要するアカウントのプロビジョニングを実施するため、(例えば、内部Java APIを通して)プロビジョニング・モジュールをコールする。さらに、オペレーション404で、プロビジョニング・モジュールは、ユーザまたはユーザグループのSaaSアカウントのプロビジョニングを実施するため、(例えば、プロビジョニングAPIを通して)サードパーティSaaSプロバイダ(またはベンダ)にコールする。オペレーション405で、プロビジョニング・モジュールは、AESオブジェクトストアの中の関係するオブジェクトを、プロビジョニングの状態で更新し、また、必要であれば、SaaSアプリケーションのライセンス数を変更する。そして、オペレーション406で、プロビジョニング・モジュールは、ロギング/解析ストアを、プロビジョニングの進行状況(または失敗)で更新する。オペレーション407で、ユーザウェブポータル(ユーザウェブUI)は、例えばユーザ(またはユーザグループのユーザのうちの一人)からのGUIコマンドの結果として、ユーザの新規のエンタイトルメントがあるかどうか特定するため、(例えば、内部Java APIを通して)エンタイトルメント・モジュールをコールする。そして、エンタイトルメント・モジュールは、追加されたエンタイトルメントをユーザウェブポータルに表示させる。あるいは、オペレーション408で、ネイティブ・クライアント(例えば、iPadなどのデバイス上で実行されるもの)が、例えばユーザ(またはユーザグループのユーザのうちの一人)からのGUIコマンドの結果として、そのユーザの新規のエンタイトルメントがあるかどうかを特定するため、(例えば、内部Java APIを通して)エンタイトルメント・モジュールをコールする。そして、エンタイトルメント・モジュールは、追加されたエンタイトルメントをネイティブ・クライアントに表示させる。
図5は、例示的な一実施形態により、プロビジョニング・タスクを保存するプロセスを示すフローチャートである。例示的な一実施形態において、このプロセスの処理は、システムのエンタイトルメント・モジュールによって実行され得る。プロセスは、オペレーション501で、アプリケーション(例えば、シンアプリケーション、リモートアプリケーション、またはSaaSアプリケーション)へのエンタイトルメントをユーザまたはユーザグループ用に作成する処理によって、開始する。オペレーション502で、エンタイトルメント・モジュールは、例えばライセンス数を変更することなど、どのプロビジョニング・タスク(または処理)が実行されるべきか決定する。そして、オペレーション503で、エンタイトルメント・モジュールは、(1)そのエンタイトルメントと、(2)そのプロビジョニング・タスクとを、AESオブジェクトストアまたは他のデータベースに追加する。オペレーション504で、エンタイトルメント・モジュールは、その新規のプロビジョニング・タスクについて、例えば内部Java APIを通してプロビジョニング・モジュールに通知する。
図6は、例示的な一実施形態により、プロビジョニング・タスクを決定するプロセスを示すフローチャートである。例示的な一実施形態において、このプロセスの処理は、システムのエンタイトルメント・モジュールによって実行され得る。プロセスは、オペレーション601で、例えば<アプリケーションまたはアプリケーション群,ユーザ/グループ/表現式,デバイスポリシー>であるタプルを受け取ることによって、開始する。表現式によって、管理者は、ユーザまたはユーザグループをポリシーの適用から除外すること、および複数のグループまたは一部のグループにポリシーを適用すること、が可能である。オペレーション602で、エンタイトルメント・モジュールは、エンタイトルメントが何についてのものであるのか判断する。エンタイトルメントがアプリケーションについてのものである場合、エンタイトルメント・モジュールは、オペレーション603で、そのアプリケーションをその中に含むアプリケーションリストを作成する。エンタイトルメントがアプリケーション群についてのものである場合、エンタイトルメント・モジュールは、オペレーション604で、アプリケーション群のアプリケーションの閉包(または数学的閉包)でアプリケーションリストを作成する。オペレーション605で、エンタイトルメント・モジュールは、エンタイトルメントが誰に対するものであるのか判断する。エンタイトルメントがシングルユーザに対するものである場合、エンタイトルメント・モジュールは、オペレーション606で、シングルユーザでユーザリストを作成する。エンタイトルメントがグループまたは表現式に対するものである場合、エンタイトルメント・モジュールは、オペレーション607で、タプル要素であるユーザ/グループ/表現式の全員の閉包(または数学的閉包)でユーザリストを作成する。そして、オペレーション608で、エンタイトルメント・モジュールは、アプリケーションリストとユーザリストのクロス積から、プロビジョニング・タスク(または処理)を生成する。本例では、すべてのプロビジョニング・タスク(または処理)は、同じデバイスポリシーを持つ。オペレーション609で、エンタイトルメント・モジュールは、例えば<ユーザ,アプリケーション,デバイスポリシー>のタプルの形で、プロビジョニング・タスク(または処理)のリストを返す。
図7は、例示的な一実施形態により、アプリケーションのプロビジョニングを実施するプロセスを示すフローチャートである。例示的な一実施形態において、このプロセスの処理は、システムのプロビジョニング・モジュールによって実行され得る。オペレーション701で、プロビジョニング・モジュールは、例えばエンタイトルメント・モジュールによりプロビジョニング・タスクが保存されたデータベース(またはAESオブジェクトストア713)において、処理するプロビジョニングタスク(または処理)があるかどうか特定する。そのようなタスクがない場合には、プロビジョニング・モジュールは、そのようなタスクを待って、ビジーループにとどまる。処理するプロビジョニング・タスクがある場合は、プロビジョニング・モジュールは、オペレーション702で、そのプロビジョニング・タスクに示されているアプリケーション・タイプ(例えば、シンアプリケーション、リモートアプリケーション、SaaSアプリケーションなど)に基づいて、どのプロビジョニング・ドライバを使用するか決定する。そして、オペレーション703で、プロビジョニング・モジュールは、コールアウト・フラグが設定されているかどうか、例えば、そのプロビジョニング・タスクが例えば既存のワークフローおよびライセンシング・プロセスと統合するプロビジョニング・コールアウトを使用するかどうか、判断する。コールアウト・フラグが設定されている場合、プロビジョニング・モジュールは、オペレーション704で、エンタープライズ・コネクタがインストール(またはセットアップ)されているかどうか判断する。エンタープライズ・コネクタがインストールされている場合には、プロビジョニング・モジュールは、オペレーション705で、エンタープライズ・コネクタを通してプロビジョニング・コールアウトを発する。エンタープライズ・コネクタがインストールされていない場合には、プロビジョニング・モジュールは、オペレーション706で、プロビジョニング・コールアウトを自身で発する。オペレーション707で、プロビジョニング・モジュールは、例えば既存のワークフローおよびライセンシング・プロセスによって、プロビジョニング・コールアウトが正常に完了されたかどうか判断する。正常に完了されなかった場合は、プロビジョニング・モジュールは、オペレーション708でエラーをログに記録し、プロセスの最初のオペレーション701に戻る。
プロビジョニング・コールアウトに成功した場合、またはプロビジョニング・コールアウトが使用されなかった場合は、プロビジョニング・モジュールは、オペレーション709で、プロビジョニング・タスク・データを用いて適当なプロビジョニング・ドライバをコールする。そして、オペレーション710で、プロビジョニング・モジュールは、コール(またはプロビジョニング)に成功したかどうか判断する。成功していない場合は、プロビジョニング・モジュールは、オペレーション711で、その失敗を示すように、AESオブジェクトストア713の中のプロビジョニング・オブジェクトを更新して、そのエラーをログに記録し、オペレーション701に戻る。プロビジョニング・ドライバのコールに成功した場合は、プロビジョニング・モジュールは、オペレーション712で、完了を示すように、AESオブジェクトストア713の中のプロビジョニング・オブジェクトを更新して、オペレーション701に戻る。
図8は、例示的な一実施形態により、SAMLをサポートしていないアプリケーションのプロビジョニングのために、プロビジョニング・ドライバにより実行されるプロセスを示すフローチャートである。本例のアプリケーションは、ウェブブラウザではなくローカルクライアントを介してアクセスおよび使用することが可能である。このSaaSアプリケーションはSAMLをサポートしていないので、システムは、オペレーション801で、ランダムなパスワードを生成して、暗号化し、それを保存する。その後、このパスワードは、ユーザの目に触れることはないが、アプリケーションへのSSOに使用することができる。また、これによって、このパスワードが他のいずれのパスワードとも相関しないものとされることで、このパスワードが破られても、その特定のユーザのアカウントの特定のSaaSアプリケーション以外のものへのアクセスは可能にはならない。
オペレーション802で、プロビジョニング・ドライバは、(例えば、APIを介して)SaaSアプリケーションを呼び出して、ユーザのアカウントを作成する。プロビジョニング・ドライバは、オペレーション803で、Mozyアカウント用のSaaSアカウントをAESオブジェクトストア808内に作成する。そして、オペレーション804で、プロビジョニング・ドライバは、<ユーザ名,パスワード,SaaSアプリケーション名>のようなタプルで、(例えば、内部Java APIを使用したコールによって)SSOサービスを更新し、この場合、ユーザ名は、そのSaaSアプリケーション・アカウントでのユーザ名であり、パスワードは、そのSaaSアプリケーション・アカウントでのパスワード、例えばランダムなパスワードである。オペレーション805で、SSOサービスは、そのパスワードで、キーチェーンストアを更新する。プロビジョニング・ドライバは、オペレーション806で、そのSaaSアプリケーションに対するユーザのプロビジョニングを、デフォルトグループで実施する。そして、オペレーション807で、プロビジョニング・ドライバは、そのプロビジョニングの結果として得られる新規のプロビジョニングキーで、AESオブジェクトストア内にSaaSアカウントを作成する。
図9Aおよび9Bは、例示的な一実施形態により、セッションからSaaSアプリケーションに対しユーザを認証するプロセスを示すフローチャートである。ユーザが、SaaSアプリケーションへのアクセスとその使用のためのSSOセッションを開始させるために、システムにアクセスすると、システムは、まず最初に、既存のセッションに基づいて、SaaSアプリケーション用のトークンを作成しようとする。このため、システムは、図9Aのオペレーション901で、セッションをルックアップし、オペレーション902で、セッションが有効であるかどうか判断する。セッションが有効でない場合は、システムは、エラーメッセージで、リダイレクトによってSaaSサービス(例えば、アプリケーション・マネージャ)に誘導する。セッションが有効である場合、システムは、オペレーション903で、セッションが生きているかどうか判断する。生きていない場合は、システムは、オペレーション904で、最初のSSO要求のデバイス情報によってセッション・オブジェクトを作成し、オペレーション905で、ユーザ名とパスワードによる認証ログインのため、リダイレクトによってログインページに誘導する。セッションが生きている場合には、システムは、オペレーション906で、そのSaaSアプリケーションに対するユーザのエンタイトルメントをルックアップして、オペレーション907で、デバイスポリシーまたはアプリケーションポリシーをエンタイトルメントから確認する。オペレーション908で、システムは、現在のセッションがそれらのポリシーを満たすかどうか判断する。満たさない場合は、システムは、エラーメッセージで、リダイレクトによってSaaSサービス(例えば、アプリケーション・マネージャ)に誘導する。現在のセッションがポリシーを満たしている場合は、図9Aのオペレーション910で、システムは、有効なセッショントークンで、リダイレクトによってSaaSサービス(例えば、アプリケーション・マネージャ)に誘導する。
前述のように、セッションが生きていない場合には、オペレーション904で、システムは、リダイレクトによりログインページに誘導する。例示的な一実施形態において、このリダイレクトは、(リダイレクト・バインディングによる)SAML SP(Service Provider:サービスプロバイダ)開始SSOプロファイルによって発生し得る。エンタープライズ・コネクタがシステムにインストールされている場合には、リダイレクトによってエンタープライズ・コネクタに誘導し、そしてこれが、内部LDAPストア(例えば、AD)に対するIdPとして機能する。クライアント機器上のブラウザは、認証プロトコル(例えば、ケルベロス(Kerberos))をネゴシエートして、ユーザを認証する。その後、エンタープライズ・コネクタは、認証されたユーザを、(リダイレクト・バインディングによる)SAML SP開始SSOプロファイルの応答部分で、アプリケーション・マネージャに戻すようにリダイレクトする。そして、アプリケーション・マネージャは、SaaSアプリケーション用のSSOセッションを作成する。
図9Bは、オペレーション911で、IdP(アイデンティティ・プロバイダ)から認証応答を受け取るシステムを取り上げている。オペレーション912で、システムは、認証応答に関して、ユーザ/デバイス・セッションをルックアップする。認証に失敗した場合、システムは、オペレーション913で、その失敗をセッションに追加し、そしてオペレーション914で、エラーメッセージによって、開始SaaSサービス(例えば、アプリケーション・マネージャ)にリダイレクトする。認証に成功した場合、システムは、オペレーション915で、SAML SSO応答からのセッション有効期限データを、セッションに追加する。そして、オペレーション916で、システムは、SAML SSO応答からのアサーションを、セッションに追加する。さらに、オペレーション917で、システムは、SAML SSO応答からの属性を、セッションに追加する。オペレーション918で、システムは、セッションからの、SaaSアプリケーション・プロバイダに対するユーザの認証を完了させる。
図10は、例示的な一実施形態により、管理者ウェブポータルで表示されるダッシュボード・タブのGUIビューを示している。この図に示すように、管理者ポータルのGUIビューは、例えば、ダッシュボード、ユーザ、グループ、アプリケーション、ライセンス、およびポリシーの、複数のタブで構成され得る。ダッシュボード・タブ1001は、数ある中でも特に、管理されているユーザ、管理されているSaaSアプリケーション、管理されているデスクトップアプリケーション、および使用ストレージのGBについてのカウント数を表示する。例示的な一実施形態において、デスクトップアプリケーションは、VMware ThinApp(登録商標)を用いて仮想化されたアプリケーションのようなシンアプリケーションと、VMware View(登録商標)によってアクセスされるリモートアプリケーションと、を含み得ることが想起されよう。ダッシュボード・タブは、さらに、システムにより作成されたレポートのリスト1002を表示し、(1)最もアクティブなアプリケーション、(2)経時的なアプリケーション使用状況、(3)最もアクティブなユーザ、(4)最もアクティブな場所(例えば、ジオロケーション)、(5)最近の場所(例えば、ジオロケーション)、(6)システム利用率、(7)使用中のライセンスの料金、(8)オーバサブスクリプションのライセンスの料金、(9)ライセンスの料金(テーブル)、(10)ライセンスの料金(チャート)、のレポートを含んでいる。
図11は、例示的な一実施形態により、管理者ウェブポータルで表示されるユーザ・タブのGUIビューを示している。ユーザ・タブ1101は、数ある中でも特に、システムにより管理されるユーザに関するデータのテーブルを表示する。テーブルの列として、(1)名前、(2)ユーザ名、(3)グループ、(4)役割、が含まれる。ユーザ・タブ1101は、さらに、ユーザに関連するレポート1102を表示し、また、管理者がユーザを追加することを可能にするGUIコントロール(例えば、ボタン)1103を含んでいる。
図12は、例示的な一実施形態により、管理者ウェブポータルで表示されるユーザ編集ダイアログのGUIビューを示している。例示的な一実施形態において、このダイアログは、例えば管理者がユーザ・タブ1101でユーザ名をクリックすると、ユーザ・タブ1101に表示されることがある。ユーザ編集ダイアログ1201は、ユーザの姓と名の編集を可能にする編集ボックス1202と、ユーザを管理者にすることを可能にするチェックボックス1203と、を含んでいる。ユーザ編集ダイアログ1201は、さらに、ユーザをSalesおよびFinanceなどのグループの一員にすることを可能にするチェックボックス1204を含んでいる。
また、例示的な一実施形態において、ユーザ編集ダイアログ1201は、ユーザがエンタイトルメントを付与されているアプリケーションを、テーブル1205にリストアップする。テーブル1205は、列として、アプリケーション名、デバイス(例えば、クライアント機器)ポリシー、およびデプロイメント、を含んでいる。この場合、例えば、名前がRegis Gormanであるユーザは、Salesforceアプリケーションをすべてのデバイスで使用するエンタイトルメントを付与されており、そのデプロイメントは自動である。ユーザ編集ダイアログ1201は、さらに、エンタイトルメントを追加するためのGUIコントロール(例えば、ボタン)1206と、エンタイトルメントを拒否するためのGUIコントロール(例えば、ボタン)1207と、を含んでいる。さらに、ユーザ編集ダイアログ1201は、あるアプリケーションに対するエンタイトルメントを削除するためのGUIコントロール(例えば、ボタン)1208と、編集による変更を保存するためのGUIコントロール(例えば、ボタン)1209と、を含んでいる。
図13は、例示的な一実施形態により、管理者ウェブポータルで表示されるグループ・タブのGUIビューを示している。グループ・タブ1301は、数ある中でも特に、システムにより管理されるグループに関するデータのテーブルを表示する。テーブルの列として、(1)名前、(2)ユーザ数、(3)アプリケーション・エンタイトルメント数、が含まれる。グループ・タブ1301は、さらに、グループに関連するレポート1302(例えば、最もアクティブなユーザ、最もアクティブな場所、最近の場所)を表示し、また、管理者がグループを追加することを可能にするGUIコントロール(例えば、ボタン)1303を含んでいる。
図14は、例示的な一実施形態により、管理者ウェブポータルで表示されるグループ編集ダイアログのGUIビューを示している。例示的な一実施形態において、このダイアログは、例えば管理者がグループ・タブ1301でグループ名をクリックすると、グループ・タブ1301に表示されることがある。グループ編集ダイアログ1401は、グループ名の編集を可能にする編集ボックス1402を含んでいる。グループ編集ダイアログ1401は、さらに、グループにユーザを追加することを可能にするGUIコントロール(例えば、ボタン)1403と、ユーザをグループから外すことを可能にするGUIコントロール(例えば、ボタン)1404と、を含んでいる。
また、例示的な一実施形態において、グループ編集ダイアログ1401は、グループがエンタイトルメントを付与されているアプリケーションを、テーブル1405にリストアップする。テーブル1405は、列として、アプリケーション名、デバイス(例えば、クライアント機器)ポリシー、およびデプロイメント、を含んでいる。この場合、例えば、名前がComapny Xであるグループは、Salesforceアプリケーションをすべてのデバイスで使用するエンタイトルメントを付与されており、そのデプロイメントは自動である。グループ編集ダイアログ1401は、さらに、例えばアプリケーションのアイコンをクリックすることで、グループにエンタイトルメントを追加するための、スクロールバー1407を備えたGUIコントロール(例えば、ツリービュー)1406を含んでいる。さらに、グループ編集ダイアログ1401は、グループのエンタイトルメントの編集を可能にするGUIコントロール1408と、グループのエンタイトルメントの削除を可能にするGUIコントロール(例えば、ボタン)1409と、を含んでいる。グループ編集ダイアログ1401は、編集による変更を保存するためのGUIコントロール(例えば、ボタン)1410を含んでいる。
図15は、例示的な一実施形態により、管理者ウェブポータルで表示されるエンタイトルメント編集ダイアログのGUIビューを示している。例示的な一実施形態において、このダイアログは、管理者がグループ編集ダイアログ1401でGUIコントロール(例えば、GUIコントロール1408)をクリックすると、表示されることがある。このエンタイトルメント編集ダイアログ1501は、アプリケーションBox.netに対する“Comapny X”グループのエンタイトルメントの編集を可能にするものである。編集ダイアログ1501は、エンタイトルメントに含まれるデバイス(例えば、クライアント機器)の変更を可能にするドロップダウンリスト1502と、エンタイトルメントのデプロイメントの変更を可能にするドロップダウンリスト1503と、を含んでいる。さらに、エンタイトルメント編集ダイアログ1501は、編集による変更を保存するためのGUIコントロール(例えば、ボタン)1504を含んでいる。
図16は、例示的な一実施形態により、管理者ウェブポータルで表示されるアプリケーション・タブのGUIビューを示している。アプリケーション・タブ1601は、数ある中でも特に、システムにより管理されるアプリケーションに関するデータのテーブルを表示する。テーブルの列として、(1)名前と説明、(2)タイプ(例えば、リモートアプリケーション、ネイティブ、Google Appsなど)、(3)ライセンス要件および/または使用、が含まれる。アプリケーション・タブ1601は、さらに、アプリケーションに関連するレポート1602を表示し、また、管理者がアプリケーションを追加すること可能にするGUIコントロール(例えば、ボタン)1603を含んでいる。アプリケーション・タブ1601は、さらに、ユーザへのヒントを表示するテキストフィールド1604を含んでいる。
図17は、例示的な一実施形態により、アプリケーションを追加するためのダイアログのGUIビューを示している。例示的な一実施形態において、このダイアログは、例えば管理者がアプリケーションを追加するためのGUIコントロール(例えば、ボタン)1603をクリックすると、管理者ウェブポータルのアプリケーション・タブ1601に表示されることがある。ダイアログ1701は、アプリケーションの名前の編集ボックス1702と、アプリケーションの説明の編集ボックス1703と、を含んでいる。ダイアログ1701は、さらに、ライセンスが必要かどうかを示すためのチェックボックス1704を含んでいる。
また、ダイアログ1701は、アプリケーションのアプリケーション・タイプを特定するラジオボタンのリスト1705を含んでおり、それらのアプリケーション・タイプは、(1)電子メールおよびデータ同期サービスを含む、事前設定されたアプリケーション、(2)VMware ThinAppで仮想化されたアプリケーションまたはネイティブMSI(Windowsインストーラ)アプリケーションを含む、Windowsデスクトップアプリケーション、(3)WorkdayまたはSalesforceのようなウェブベースのアプリケーションであるSaaSアプリケーション、および(4)Microsoftターミナルサービス(RDS)アプリケーションまたはCitrix XenAppアプリケーションのような公開(またはリモート)アプリケーション、である。図17に示す例では、リスト1705の一番上のラジオボタンがチェックされていることが分かるであろう。その結果として、システムにより管理されている4つの事前設定されたアプリケーションである、(A)VMware View、(B)Mozy、(C)Google Apps、(D)Box.net、および(E)Salesforce、を表すアイコン1706がダイアログ1701に表示される。ダイアログ1701は、さらに、編集による変更を保存するためのGUIコントロール(例えば、ボタン)1707を含んでいる。
図18は、例示的な一実施形態により、Windowsデスクトップアプリケーションを編集するための編集ダイアログのGUIビューを示している。例示的な一実施形態において、このダイアログは、例えばユーザがダイアログ1701のラジオボタンのリスト1705でWindowsデスクトップアプリケーションのラジオボタンを選択したときに表示されるアプリケーションのアイコンを管理者がクリックすると、管理者ウェブポータルのアプリケーション・タブ1601に表示されることがある。編集ダイアログ1801は、Windowsデスクトップアプリケーションの名前の編集を可能にする編集ボックス1802と、Windowsデスクトップアプリケーションの説明の編集を可能にする編集ボックス1803と、を含んでいる。編集ダイアログ1801は、さらに、ライセンスが必要かどうかを示すためのチェックボックス1804を含んでいる。さらに、編集ダイアログ1801は、アプリケーション群にWindowsデスクトップアプリケーションを追加するためのGUIコントロール(例えば、ボタン)1805と、アプリケーション・タイプを編集するためのGUIコントロール(例えば、ボタン)1806と、を含んでいる。
また、編集ダイアログ1801は、例えばWindowsデスクトップアプリケーションを使用するエンタイトルメントを付与されたユーザのホストコンピュータであるローカルホストコンピュータによりアップロードされるファイルを、管理者が選択することを可能にするGUIコントロール(例えば、ボタン)1807を含んでいる。GUIコントロール1807をクリックすると、ポップアップダイアログ1808が表示され、これによって、管理者は、マウスおよび/またはキーボードを用いて、ディレクトリのファイルのリスト1809からファイルを選択することが可能である。ポップアップダイアログ1808によって、さらに、管理者は、マウスおよび/またはキーボードを用いて、場所(例えば、デバイス、共有、およびプレース)のリスト1810から場所を選択することが可能である。さらに、ポップアップダイアログ1808は、ファイル選択操作のキャンセルを可能にするGUIコントロール(例えば、ボタン)を含んでいる。
図19は、例示的な一実施形態により、公開(またはリモート)アプリケーションを編集するための編集ダイアログのGUIビューを示している。例示的な一実施形態において、このダイアログは、例えばダイアログ1701のラジオボタンのリスト1705でユーザが公開アプリケーションのラジオボタンを選択したときに表示されるアプリケーションのアイコンを管理者がクリックすると、管理者ウェブポータルのアプリケーション・タブ1601に表示されることがある。編集ダイアログ1901は、公開アプリケーションの名前の編集を可能にする編集ボックス1902と、公開アプリケーションの説明の編集を可能にする編集ボックス1903と、を含んでいる。編集ダイアログ1901は、さらに、ライセンスが必要かどうかを示すためのチェックボックス1904を含んでいる。さらに、編集ダイアログ1901は、アプリケーション群に公開アプリケーションを追加するためのGUIコントロール(例えば、ボタン)1905と、アプリケーション・タイプを編集するためのGUIコントロール(例えば、ボタン)1906と、を含んでいる。また、編集ダイアログ1901は、プログラム名の編集ボックス1907と、サーバ識別子の編集ボックス1908と、サーバポートの編集ボックス1909と、を含んでいる。
図20は、例示的な一実施形態により、管理者ウェブポータルで表示されるライセンス・タブのGUIビューを示している。ライセンス・タブ2001は、数ある中でも特に、アプリケーション管理システムにより管理されるライセンスに関するデータのテーブルを表示する。テーブルの列として、(1)ライセンスされたアプリケーション、(2)ライセンス数、(3)ライセンスごとの料金、が含まれる。ライセンス・タブ2001は、さらに、ライセンスに関連するレポート2002を表示する。
図21は、例示的な一実施形態により、管理者ウェブポータルで表示されるポリシー・タブのGUIビューを示している。ポリシー・タブ2101は、数ある中でも特に、管理者がクライアント機器に関するポリシーを設定することを可能にするものであり、この設定によって、アプリケーションのエンタイトルメントが決定される。ポリシー・タブ2101は、3つのチェックボックスと、クライアント機器によるリモートアクセスのポリシーを設定するための編集ボックスと、を表示する。チェックボックス2102は、チェックされた場合、クライアント機器がADドメイン上のコーポレート所有のものでなければならないことを示している。このようなポリシーは、当然のことながら、人事記録または医療記録などの機密記録にアクセスするアプリケーションに適用され得る。関連する編集ボックス2103によって、ADドメインを特定することが可能である。チェックボックス2104は、チェックされた場合、クライアント機器にウイルス防止機能がインストールされていなければならないことを示している。チェックボックス2105は、チェックされた場合、更新が自動的にクライアント機器にインストールされる必要があることを示している(例えば、Windowsオペレーティングシステムの更新、ウイルス定義ファイルの更新など)。
このようなポリシーは、例示的なものであって、限定するものではない。別のデバイスポリシーは、Windowsがインストールされていることを要求するものであり得る。あるいは、デバイスポリシーは、ADドメインへのアクセスに使用されるチャネル(または接続)に関するものである場合があり、例えば、LAN、WAN、名前とパスワードによる保護、セキュアIDによる保護、などである。さらに、デバイスポリシーは、ジオロケーションに関するものである場合もあり、例えば、クライアント機器が特定の政府機関の管轄区域内に位置している場合にのみ、そのクライアント機器でのアプリケーションの使用が可能となる。
さらに、ポリシー・タブ2101は、管理者が新規のポリシーを追加することを可能にするGUIコントロール(例えば、ボタン)2106と、ユーザへのヒントを表示するテキストフィールド2107と、を含んでいる。さらに、ポリシー・タブ2101は、編集による変更を保存するためのGUIコントロール(例えば、ボタン)2108を含んでいる。
図22は、例示的な一実施形態により、ユーザウェブポータルで表示されるGUIビューを示している。例示的な一実施形態において、このビューは、ユーザ(例えば、Regis Gorman)がログインした後に、システムによって表示されることがある。このビュー2201は、そのユーザにエンタイトルメントが付与されているアプリケーションのうち、有効化されているアプリケーションのアイコンを、並べて表示する。ユーザがアイコンをクリックすると、アプリケーションは比較的シームレスに起動する。
当然のことながら、GUIビュー2201は、限定するものではなく、例示的なものである。クライアント機器がWindowsデバイスである場合、ユーザにシームレスな感覚を与えるため、GUIビュー2201は、さらに、スタートメニューに追加されたアイコンを含むことがあり、また、アプリケーションについての状態通知をステータスバーに含むことがある。言うまでもなく、Appleデバイスに表示される場合も、シームレス化を図るため、同様の性質の強化がGUIビュー2201に施されることがある。
図23は、例示的な一実施形態により、ユーザウェブポータルで表示される別のGUIビューを示している。例示的な一実施形態において、このビューは、ユーザ(例えば、Regis Gorman)がログインした後に、アプリケーション管理システムによって表示されることがある。このビュー2301は、例えばSalesforceのように、そのユーザにエンタイトルメントが付与され、かつ有効化されているアプリケーションのアイコンだけではなく、例えばWorkdayのように、そのユーザにエンタイトルメントが付与されているが、有効化されていないアプリケーションのアイコンも、ともに並べて表示する。例示的な一実施形態において、ユーザは、インストール・ボタンをクリックすることにより、アプリケーションをインストールすることができる。
本明細書に記載の、本発明の一部をなすオペレーションは、いずれも有用なマシンオペレーションである。また、本発明は、これらのオペレーションを実行するためのデバイスまたは装置に関するものである。装置は、上記キャリアネットワークのような、所要の目的のために特別に構築されたものとすることができ、あるいはコンピュータに格納されたコンピュータプログラムによって選択的に起動または設定される汎用コンピュータとすることができる。特に、様々な汎用機を、本明細書の教示に従って書かれたコンピュータプログラムと共に用いることができ、あるいは所要のオペレーションを実行するために、より特化した装置を構築するほうが、利便性が高い場合がある。
また、本発明は、コンピュータ読み取り可能な媒体上のコンピュータ読み取り可能なコードとして具現化することができる。コンピュータ読み取り可能な媒体は、データを保存することができるデータ記憶装置であって、後にコンピュータシステムによりそのデータを読み出すことが可能なものである。コンピュータ読み取り可能な媒体の例には、ハードドライブ、ネットワーク接続ストレージ(NAS)、読み取り専用メモリ、ランダムアクセスメモリ、CD‐ROM、CD‐R、CD‐RW、DVD、フラッシュ、磁気テープ、および他の光学式および非光学式のデータ記憶装置が含まれる。コンピュータ読み取り可能な媒体は、コンピュータシステムに接続されたネットワーク上に分散させることもでき、これにより、コンピュータ読み取り可能なコードは分散的に記憶および実行される。
例示的な実施形態について、明確な理解を目的として、ある程度詳細に記載したが、以下の請求項の範囲内でいくらかの変更および変形を実施することができることは明らかであろう。例えば、本明細書に記載のプロセスは、サービス型ソフトウェア(SaaS)、シンアプリケーション、リモートアプリケーションなどの他に、サービス型プラットフォーム(PaaS:Platform as a Service)またはサービス型インフラストラクチャ(IaaS:Infrastructure as a Service)のプロビジョニングに用いることもできる。上記のプロセスオペレーションは、いずれかの適当な方法で、順序付け、モジュール化、および/または分散させることができる。
よって、これらの実施形態は例示とみなされるべきであって、限定するものではなく、また、本発明は、本明細書で提示した詳細に限定されるものではなく、以下の請求項の範囲内および均等物の範囲内で変更することができる。以下の請求項において、要素および/または手順は、請求項に明記されない限り、または開示により暗黙的に規定されない限り、特定のオペレーション順序を意味するものではない。

Claims (20)

  1. ユーザにアプリケーションを提供する方法であって、
    チャネルを介してクライアント機器のユーザを認証するオペレーションであって、該認証するオペレーションは、ディレクトリ・サービスを使用して実行される、前記認証するオペレーションと、
    前記クライアント機器により表示されるグラフィカル・ユーザインタフェース(GUI)において、複数のアプリケーションを提示するオペレーションであって、該複数のアプリケーションは、少なくとも部分的に、前記認証、前記クライアント機器、および前記チャネルによって決まり、該複数のアプリケーションは、シンアプリケーションと、サービス型ソフトウェア(SaaS)アプリケーションとを含む、前記提示するオペレーションと、
    アプリケーションに関する選択を前記ユーザから受け取るオペレーションと、
    前記選択がSaaSアプリケーションについてのものである場合に、該SaaSアプリケーションのプロビジョニングを実施するオペレーションであって、該プロビジョニングは、シングル・サインオン・プロトコルを用いて、該SaaSアプリケーションのプロバイダのアカウントに前記ユーザを自動的にログオンさせること、前記ユーザが該SaaSアプリケーションとやり取りできるように前記ユーザを前記アカウントに接続させることを含む、前記プロビジョニングを実施するオペレーションと、
    前記選択がシンアプリケーションについてのものである場合に、該シンアプリケーションを起動させるオペレーションと
    を含み、該方法の各オペレーションは、1つまたは複数のプロセッサにより実行される、方法。
  2. 前記シンアプリケーションは、サンドボックス・アプリケーションである、請求項1に記載の方法。
  3. 前記複数のアプリケーションは、さらに、リモートアプリケーションを含む、請求項1に記載の方法。
  4. 前記リモートアプリケーションは、デスクトップ仮想化アプリケーションである、請求項3に記載の方法。
  5. 前記SaaSアプリケーションは、ウェブアプリケーションである、請求項1に記載の方法。
  6. 前記ユーザに表示される複数のアプリケーションは、少なくとも部分的に、前記ユーザのジオロケーションによって決まる、請求項1に記載の方法。
  7. 前記ユーザに表示される前記複数のアプリケーションの使用、および該使用のジオロケーションに関する統計を収集するオペレーションをさらに含む、請求項6に記載の方法。
  8. 前記プロビジョニングするオペレーションは、ジャストインタイム(JIT)で実行される、請求項1に記載の方法。
  9. 前記ディレクトリ・サービスは、アクティブディレクトリ(AD)サービスである、請求項1に記載の方法。
  10. プログラムを格納している非一時的なコンピュータ読み取り可能な記憶媒体であって、該プログラムは、実行されることで、1つまたは複数のプロセッサに、
    チャネルを介してクライアント機器のユーザを認証するオペレーションであって、該認証するオペレーションは、ディレクトリ・サービスを使用して実行される、前記認証するオペレーションと、
    前記クライアント機器により表示されるグラフィカル・ユーザインタフェース(GUI)において、複数のアプリケーションを提示するオペレーションであって、該複数のアプリケーションは、少なくとも部分的に、前記認証、前記クライアント機器、および前記チャネルによって決まり、該複数のアプリケーションは、シンアプリケーションと、サービス型ソフトウェア(SaaS)アプリケーションとを含む、前記提示するオペレーションと、
    アプリケーションに関する選択を前記ユーザから受け取るオペレーションと、
    前記選択がSaaSアプリケーションについてのものである場合に、該SaaSアプリケーションのプロビジョニングを実施するオペレーションであって、該プロビジョニングは、シングル・サインオンを使用して、該SaaSアプリケーションのプロバイダのアカウントに前記ユーザを自動的にログオンさせること、前記ユーザが該SaaSアプリケーションとやり取りできるように前記ユーザを前記アカウントに接続させることを含む、前記プロビジョニングを実施するオペレーションと、
    前記選択がシンアプリケーションについてのものである場合に、該シンアプリケーションを起動させるオペレーションと
    を実行するように命令する、コンピュータ読み取り可能な記憶媒体。
  11. 前記シンアプリケーションは、サンドボックス・アプリケーションである、請求項10に記載のコンピュータ読み取り可能な記憶媒体。
  12. 前記複数のアプリケーションは、さらに、リモートアプリケーションを含む、請求項10に記載のコンピュータ読み取り可能な記憶媒体。
  13. 前記リモートアプリケーションは、デスクトップ仮想化アプリケーションである、請求項12に記載のコンピュータ読み取り可能な記憶媒体。
  14. 前記SaaSアプリケーションは、ウェブアプリケーションである、請求項10に記載のコンピュータ読み取り可能な記憶媒体。
  15. 前記ユーザに表示される複数のアプリケーションは、少なくとも部分的に、前記ユーザのジオロケーションによって決まる、請求項10に記載のコンピュータ読み取り可能な記憶媒体。
  16. 前記ユーザに表示される前記複数のアプリケーションの使用、および該使用のジオロケーションに関する統計を収集するオペレーションをさらに含む、請求項15に記載のコンピュータ読み取り可能な記憶媒体。
  17. 前記プロビジョニングするオペレーションは、ジャストインタイム(JIT)で実行される、請求項10に記載のコンピュータ読み取り可能な記憶媒体。
  18. 前記ディレクトリ・サービスは、アクティブディレクトリ(AD)サービスである、請求項10に記載のコンピュータ読み取り可能な記憶媒体。
  19. ユーザにアプリケーションを提供する方法であって、
    チャネルを介してクライアント機器のユーザを認証するオペレーションであって、該認証するオペレーションは、ディレクトリ・サービスを使用して実行される、前記認証するオペレーションと、
    前記クライアント機器により表示されるグラフィカル・ユーザインタフェース(GUI)において、複数のアプリケーションを提示するオペレーションであって、該複数のアプリケーションは、少なくとも部分的に、前記ユーザの認証、前記クライアント機器、および前記クライアント機器のジオロケーションによって決まり、該複数のアプリケーションは、サンドボックス・アプリケーションと、サービス型ソフトウェア(SaaS)アプリケーションとを含む、前記提示するオペレーションと、
    アプリケーションに関する選択を前記ユーザから受け取るオペレーションと、
    前記選択がSaaSアプリケーションについてのものである場合に、該SaaSアプリケーションのプロビジョニングを実施するオペレーションであって、該プロビジョニングは、シングル・サインオンを使用して、該SaaSアプリケーションのプロバイダのアカウントに前記ユーザを自動的にログオンさせること、前記ユーザが該SaaSアプリケーションとやり取りできるように前記ユーザを前記アカウントに接続させることを含む、前記プロビジョニングを実施するオペレーションと、
    前記選択がサンドボックス・アプリケーションについてのものである場合に、該サンドボックス・アプリケーションを起動させるオペレーションと
    を含み、該方法の各オペレーションは、1つまたは複数のプロセッサにより実行される、方法。
  20. 前記ユーザに表示される複数のアプリケーションは、さらに、仮想化されたデスクトップアプリケーションを含む、請求項19に記載の方法。
JP2013527132A 2010-08-30 2011-08-25 シンアプリケーション、リモートアプリケーション、およびSaaSアプリケーションのための統合ワークスペース Active JP5837597B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US37829410P 2010-08-30 2010-08-30
US61/378,294 2010-08-30
PCT/US2011/049174 WO2012030624A1 (en) 2010-08-30 2011-08-25 Unified workspace for thin, remote, and saas applications

Publications (3)

Publication Number Publication Date
JP2013545152A true JP2013545152A (ja) 2013-12-19
JP2013545152A5 JP2013545152A5 (ja) 2014-07-24
JP5837597B2 JP5837597B2 (ja) 2015-12-24

Family

ID=44583472

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013527132A Active JP5837597B2 (ja) 2010-08-30 2011-08-25 シンアプリケーション、リモートアプリケーション、およびSaaSアプリケーションのための統合ワークスペース

Country Status (5)

Country Link
US (6) US8990699B2 (ja)
EP (1) EP2612272B1 (ja)
JP (1) JP5837597B2 (ja)
AU (1) AU2011296303B2 (ja)
WO (1) WO2012030624A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101792357B1 (ko) * 2015-11-27 2017-11-20 울산대학교 산학협력단 사용자 정의 협업 워크스페이스 지원 시스템
JP2019525370A (ja) * 2016-07-29 2019-09-05 スパロー カンパニー リミテッド クラウド基盤のサービス提供方法
JP6998497B1 (ja) 2018-11-12 2022-01-24 サイトリックス システムズ,インコーポレイテッド ライブsaasオブジェクトのためのシステムおよび方法

Families Citing this family (87)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10181953B1 (en) 2013-09-16 2019-01-15 Amazon Technologies, Inc. Trusted data verification
US9330134B2 (en) * 2005-05-31 2016-05-03 Fairwarning Ip, Llc User identity mapping system and method of use
EP2443055A1 (en) * 2008-06-17 2012-04-25 Digigage Ltd. System for altering virtual views
US9324098B1 (en) 2008-07-22 2016-04-26 Amazon Technologies, Inc. Hosted payment service system and method
US9747621B1 (en) 2008-09-23 2017-08-29 Amazon Technologies, Inc. Widget-based integration of payment gateway functionality into transactional sites
WO2012030624A1 (en) 2010-08-30 2012-03-08 Vmware, Inc. Unified workspace for thin, remote, and saas applications
US9237155B1 (en) 2010-12-06 2016-01-12 Amazon Technologies, Inc. Distributed policy enforcement with optimizing policy transformations
WO2012142263A2 (en) 2011-04-12 2012-10-18 Applied Science, Inc. Systems and methods for managing blood donations
US10230564B1 (en) * 2011-04-29 2019-03-12 Amazon Technologies, Inc. Automatic account management and device registration
US8769642B1 (en) 2011-05-31 2014-07-01 Amazon Technologies, Inc. Techniques for delegation of access privileges
US20130086669A1 (en) * 2011-09-29 2013-04-04 Oracle International Corporation Mobile application, single sign-on management
US9178701B2 (en) 2011-09-29 2015-11-03 Amazon Technologies, Inc. Parameter based key derivation
US9203613B2 (en) 2011-09-29 2015-12-01 Amazon Technologies, Inc. Techniques for client constructed sessions
US9197409B2 (en) 2011-09-29 2015-11-24 Amazon Technologies, Inc. Key derivation techniques
JP6199297B2 (ja) 2011-10-17 2017-09-20 インタートラスト テクノロジーズ コーポレイション ゲノム及び他の情報を保護及び管理するシステム及び方法
US8949938B2 (en) * 2011-10-27 2015-02-03 Cisco Technology, Inc. Mechanisms to use network session identifiers for software-as-a-service authentication
US9215076B1 (en) 2012-03-27 2015-12-15 Amazon Technologies, Inc. Key generation for hierarchical data access
US8739308B1 (en) 2012-03-27 2014-05-27 Amazon Technologies, Inc. Source identification for unauthorized copies of content
US8892865B1 (en) 2012-03-27 2014-11-18 Amazon Technologies, Inc. Multiple authority key derivation
US20130298187A1 (en) * 2012-05-04 2013-11-07 Ca, Inc. Managing virtual identities
US9660972B1 (en) 2012-06-25 2017-05-23 Amazon Technologies, Inc. Protection from data security threats
US9258118B1 (en) 2012-06-25 2016-02-09 Amazon Technologies, Inc. Decentralized verification in a distributed system
US9152781B2 (en) 2012-08-09 2015-10-06 Cisco Technology, Inc. Secure mobile client with assertions for access to service provider applications
US8745718B1 (en) * 2012-08-20 2014-06-03 Jericho Systems Corporation Delivery of authentication information to a RESTful service using token validation scheme
US9276942B2 (en) * 2012-09-07 2016-03-01 Oracle International Corporation Multi-tenancy identity management system
US9021479B2 (en) 2012-10-10 2015-04-28 International Business Machines Corporation Enforcing machine deployment zoning rules in an automatic provisioning environment
US9009804B2 (en) * 2012-11-30 2015-04-14 Ca, Inc. Method and system for hybrid software as a service user interfaces
US9077759B2 (en) * 2013-01-18 2015-07-07 Apple Inc. Conflict resolution for keychain syncing
US10200351B2 (en) 2013-03-14 2019-02-05 Google Llc System for managing remote software applications
US9354983B1 (en) * 2013-03-15 2016-05-31 Entreda, Inc. Integrated it service provisioning and management
US9727351B2 (en) * 2013-04-08 2017-08-08 Xiaomi Inc. Method and device for setting status of application
US9407440B2 (en) 2013-06-20 2016-08-02 Amazon Technologies, Inc. Multiple authority data security and access
US9521000B1 (en) 2013-07-17 2016-12-13 Amazon Technologies, Inc. Complete forward access sessions
US9311500B2 (en) 2013-09-25 2016-04-12 Amazon Technologies, Inc. Data security using request-supplied keys
US9237019B2 (en) 2013-09-25 2016-01-12 Amazon Technologies, Inc. Resource locators with keys
CN103560902A (zh) * 2013-10-10 2014-02-05 中兴通讯股份有限公司 服务器、智能终端及其远程管理方法
CN104580074B (zh) 2013-10-14 2018-08-24 阿里巴巴集团控股有限公司 客户端应用的登录方法及其相应的服务器
US9218494B2 (en) 2013-10-16 2015-12-22 Citrix Systems, Inc. Secure client drive mapping and file storage system for mobile device management type security
US10243945B1 (en) * 2013-10-28 2019-03-26 Amazon Technologies, Inc. Managed identity federation
US9420007B1 (en) 2013-12-04 2016-08-16 Amazon Technologies, Inc. Access control using impersonization
US9374368B1 (en) 2014-01-07 2016-06-21 Amazon Technologies, Inc. Distributed passcode verification system
US9369461B1 (en) 2014-01-07 2016-06-14 Amazon Technologies, Inc. Passcode verification using hardware secrets
US9292711B1 (en) 2014-01-07 2016-03-22 Amazon Technologies, Inc. Hardware secret usage limits
US9270662B1 (en) 2014-01-13 2016-02-23 Amazon Technologies, Inc. Adaptive client-aware session security
US10656971B2 (en) * 2014-01-31 2020-05-19 Dell Products L.P. Agile framework for vertical application development and delivery
US10771255B1 (en) 2014-03-25 2020-09-08 Amazon Technologies, Inc. Authenticated storage operations
US9443072B2 (en) * 2014-03-28 2016-09-13 Sony Corporation Methods and devices for granting access to and enabling passcode protection for a file
KR102594025B1 (ko) 2014-05-30 2023-10-24 어플라이드 사이언스, 인코포레이티드 헌혈을 관리하기 위한 시스템들 및 방법들
US9258117B1 (en) 2014-06-26 2016-02-09 Amazon Technologies, Inc. Mutual authentication with symmetric secrets and signatures
US10326597B1 (en) 2014-06-27 2019-06-18 Amazon Technologies, Inc. Dynamic response signing capability in a distributed system
US9134963B1 (en) * 2014-07-03 2015-09-15 U3D Limited Method of unifying information and tool from a plurality of information sources
CN106663007B (zh) * 2014-07-03 2020-07-03 阿贝尔环球国际有限公司 使工具运作于作业环境的方法以及应用该方法的机器
US20160182314A1 (en) * 2014-12-17 2016-06-23 Nbcuniversal Media, Llc Streamlined provisioning system and method
US10862747B2 (en) * 2015-03-25 2020-12-08 Airwatch Llc Single user device staging
US10333778B2 (en) 2015-03-25 2019-06-25 Airwatch, Llc Multiuser device staging
US10122692B2 (en) 2015-06-16 2018-11-06 Amazon Technologies, Inc. Handshake offload
US10122689B2 (en) 2015-06-16 2018-11-06 Amazon Technologies, Inc. Load balancing with handshake offload
FR3043294A1 (fr) * 2015-11-04 2017-05-05 Evidian Procede d'acces a un service par un client utilisant un terminal via une interface de programmation multi-clients, procede de configuration d'une application cliente pour l'acces audit service
US9923929B2 (en) 2015-11-20 2018-03-20 Nasdaq, Inc. Systems and methods for in-session refresh of entitlements associated with web applications
US10592287B2 (en) * 2015-11-20 2020-03-17 Red Hat, Inc. API and user interface for MapReduce jobs
US20170371519A1 (en) * 2016-06-22 2017-12-28 Vmware, Inc. Automatic Document Handling with On-Demand Application Mounting
US10116440B1 (en) 2016-08-09 2018-10-30 Amazon Technologies, Inc. Cryptographic key management for imported cryptographic keys
EP3501156B1 (en) * 2016-08-22 2021-10-20 Akamai Technologies, Inc. Providing single sign-on (sso) in disjoint networks with non-overlapping authentication protocols
US10931452B2 (en) * 2016-08-22 2021-02-23 Akamai Technologies, Inc. Providing single sign-on (SSO) in disjoint networks with non-overlapping authentication protocols
US10375053B2 (en) 2016-09-09 2019-08-06 Microsoft Technology Licensing, Llc Cross-platform single sign-on accessibility of a productivity application within a software as a service platform
WO2018226764A1 (en) 2017-06-05 2018-12-13 Everest Networks, Inc. Antenna systems for multi-radio communications
US11677822B2 (en) * 2017-10-03 2023-06-13 Servicenow, Inc. Portal management
US11599369B1 (en) * 2018-03-08 2023-03-07 Palantir Technologies Inc. Graphical user interface configuration system
US10897466B2 (en) * 2018-03-30 2021-01-19 Microsoft Technology Licensing, Llc System and method for externally-delegated access control and authorization
US10879627B1 (en) 2018-04-25 2020-12-29 Everest Networks, Inc. Power recycling and output decoupling selectable RF signal divider and combiner
US11050470B1 (en) 2018-04-25 2021-06-29 Everest Networks, Inc. Radio using spatial streams expansion with directional antennas
US11005194B1 (en) 2018-04-25 2021-05-11 Everest Networks, Inc. Radio services providing with multi-radio wireless network devices with multi-segment multi-port antenna system
US11089595B1 (en) 2018-04-26 2021-08-10 Everest Networks, Inc. Interface matrix arrangement for multi-beam, multi-port antenna
US11522835B2 (en) * 2018-07-03 2022-12-06 Vmware, Inc. Context based firewall service for agentless machines
US11245683B2 (en) * 2018-07-06 2022-02-08 Citrix Systems, Inc. Single-sign-on for third party mobile applications
CN109672754A (zh) * 2019-01-23 2019-04-23 金蝶蝶金云计算有限公司 SaaS化平台
US10863333B2 (en) * 2019-02-15 2020-12-08 Cisco Technology, Inc. Federated insertion of 3rd party software as a service for network slices
US11528511B2 (en) 2019-03-27 2022-12-13 Panasonic Avionics Corporation Methods and systems for loading data onto transportation vehicles
US11128676B2 (en) * 2019-04-16 2021-09-21 Citrix Systems, Inc. Client computing device providing predictive pre-launch software as a service (SaaS) sessions and related methods
US10866794B1 (en) * 2019-05-21 2020-12-15 Talkdesk Inc. Automatic application installation and integration at an enterprise level based on a single install request
US11368373B2 (en) * 2020-06-16 2022-06-21 Citrix Systems, Inc. Invoking microapp actions from user applications
US11552943B2 (en) * 2020-11-13 2023-01-10 Cyberark Software Ltd. Native remote access to target resources using secretless connections
CN112269516B (zh) * 2020-11-16 2022-06-17 Oppo广东移动通信有限公司 桌面元数据的显示方法、访问方法及相关装置
US20220294788A1 (en) * 2021-03-09 2022-09-15 Oracle International Corporation Customizing authentication and handling pre and post authentication in identity cloud service
CN117716682A (zh) * 2021-06-24 2024-03-15 阿韦瓦软件有限责任公司 运营生产力软件系统、服务器和方法
US20230229794A1 (en) 2022-01-17 2023-07-20 Kongsberg Defence & Aerospace As Method and system for operating a safety-critical device via a non-secure network and for providing reliable disengagement of operations of the device
KR102639244B1 (ko) * 2023-08-04 2024-02-21 (주)그리드텍 Sso에 기반한 통합 인증 솔루션을 제공하는 방법, 서버및 시스템

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7802174B2 (en) * 2000-12-22 2010-09-21 Oracle International Corporation Domain based workflows
US8910241B2 (en) * 2002-04-25 2014-12-09 Citrix Systems, Inc. Computer security system
KR100581590B1 (ko) * 2003-06-27 2006-05-22 주식회사 케이티 이중 요소 인증된 키 교환 방법 및 이를 이용한 인증방법과 그 방법을 포함하는 프로그램이 저장된 기록매체
US7665127B1 (en) * 2004-06-30 2010-02-16 Jp Morgan Chase Bank System and method for providing access to protected services
WO2007075846A2 (en) * 2005-12-19 2007-07-05 Propero Ltd. Method and system for providing virtualized application workspaces
US20080034412A1 (en) * 2006-08-02 2008-02-07 Informed Control Inc. System to prevent misuse of access rights in a single sign on environment
TWI366375B (en) * 2006-08-22 2012-06-11 Interdigital Tech Corp Method and apparatus for providing trusted single sign-on access to applications and internet-based services
US8104076B1 (en) * 2006-11-13 2012-01-24 Jpmorgan Chase Bank, N.A. Application access control system
US20080168539A1 (en) * 2007-01-05 2008-07-10 Joseph Stein Methods and systems for federated identity management
US8943189B2 (en) * 2007-05-18 2015-01-27 Microsoft Corporation Standard based detection and launch of client applications
WO2009018584A1 (en) * 2007-08-02 2009-02-05 Fugen Solutions, Inc. Method and apparatus for multi-domain identity interoperability and certification
US10007767B1 (en) * 2007-12-21 2018-06-26 EMC IP Holding Company LLC System and method for securing tenant data on a local appliance prior to delivery to a SaaS data center hosted application service
US8418238B2 (en) * 2008-03-30 2013-04-09 Symplified, Inc. System, method, and apparatus for managing access to resources across a network
US20100010894A1 (en) * 2008-07-08 2010-01-14 International Business Machines Corporation Software-as-a-service ad content
JP5536067B2 (ja) * 2008-09-08 2014-07-02 セールスフォース ドット コム インコーポレイティッド データを暗号化および処理するための装置、システム、方法および対応するソフトウエアコンポーネント
US8453224B2 (en) * 2009-10-23 2013-05-28 Novell, Inc. Single sign-on authentication
US8689110B2 (en) * 2010-04-08 2014-04-01 Oracle International Corporation Multi-channel user interface architecture
US9461996B2 (en) * 2010-05-07 2016-10-04 Citrix Systems, Inc. Systems and methods for providing a single click access to enterprise, SAAS and cloud hosted application
US20110313950A1 (en) * 2010-06-16 2011-12-22 Jayasimha Nuggehalli Methods and apparatus for management of software applications utilizing volume pricing
US8539078B2 (en) * 2010-07-08 2013-09-17 International Business Machines Corporation Isolating resources between tenants in a software-as-a-service system using the estimated costs of service requests
WO2012030624A1 (en) 2010-08-30 2012-03-08 Vmware, Inc. Unified workspace for thin, remote, and saas applications

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101792357B1 (ko) * 2015-11-27 2017-11-20 울산대학교 산학협력단 사용자 정의 협업 워크스페이스 지원 시스템
JP2019525370A (ja) * 2016-07-29 2019-09-05 スパロー カンパニー リミテッド クラウド基盤のサービス提供方法
US11157597B2 (en) 2016-07-29 2021-10-26 Fasoo Co., Ltd. Method for providing cloud-based service
US11636184B2 (en) 2016-07-29 2023-04-25 Sparrow Co., Ltd Method for providing cloud-based service
JP6998497B1 (ja) 2018-11-12 2022-01-24 サイトリックス システムズ,インコーポレイテッド ライブsaasオブジェクトのためのシステムおよび方法
JP2022513596A (ja) * 2018-11-12 2022-02-09 サイトリックス システムズ,インコーポレイテッド ライブsaasオブジェクトのためのシステムおよび方法

Also Published As

Publication number Publication date
US20190014118A1 (en) 2019-01-10
US10771465B2 (en) 2020-09-08
AU2011296303B2 (en) 2015-01-22
US8990699B2 (en) 2015-03-24
US11343250B2 (en) 2022-05-24
JP5837597B2 (ja) 2015-12-24
US20120054625A1 (en) 2012-03-01
US20150195285A1 (en) 2015-07-09
EP2612272B1 (en) 2017-10-11
US20230216854A1 (en) 2023-07-06
WO2012030624A1 (en) 2012-03-08
US20220255939A1 (en) 2022-08-11
AU2011296303A1 (en) 2013-04-11
US20200382507A1 (en) 2020-12-03
EP2612272A1 (en) 2013-07-10
US11637833B2 (en) 2023-04-25
US10063552B2 (en) 2018-08-28

Similar Documents

Publication Publication Date Title
US11637833B2 (en) Unified workspace for thin, remote, and SAAS applications
US10827008B2 (en) Integrated user interface for consuming services across different distributed networks
US11228574B2 (en) System for managing remote software applications
Tuecke et al. Globus Auth: A research identity and access management platform
EP3047629B1 (en) Web-based interface integration for single sign-on
US9426155B2 (en) Extending infrastructure security to services in a cloud computing environment
US9712514B2 (en) Super-session access to multiple target services
KR20130007373A (ko) 가상 데스크탑 서비스를 위한 방법 및 아키텍처
US11924210B2 (en) Protected resource authorization using autogenerated aliases
US20220294788A1 (en) Customizing authentication and handling pre and post authentication in identity cloud service
US11893405B2 (en) Workspace resiliency with multi-feed status resource caching
US10977359B2 (en) Automatic takeover of applications installed on client devices in an enterprise network
US20230139695A1 (en) User authentication techniques
US11627206B2 (en) System and methods for providing user analytics and performance feedback for web applications
US20230155830A1 (en) Cloud to cloud test set up for authentication and monitoring
Edge et al. Identity and Device Trust

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140604

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140604

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20151006

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20151105

R150 Certificate of patent or registration of utility model

Ref document number: 5837597

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350