JP6495467B2 - REST(Representational State Transfer)準拠のクライアントを使用する異なる認証ドメインに位置するファイル・リポジトリ上での操作の実行 - Google Patents

REST(Representational State Transfer)準拠のクライアントを使用する異なる認証ドメインに位置するファイル・リポジトリ上での操作の実行 Download PDF

Info

Publication number
JP6495467B2
JP6495467B2 JP2017544294A JP2017544294A JP6495467B2 JP 6495467 B2 JP6495467 B2 JP 6495467B2 JP 2017544294 A JP2017544294 A JP 2017544294A JP 2017544294 A JP2017544294 A JP 2017544294A JP 6495467 B2 JP6495467 B2 JP 6495467B2
Authority
JP
Japan
Prior art keywords
authentication
client system
domain
initial
authentication domain
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.)
Expired - Fee Related
Application number
JP2017544294A
Other languages
English (en)
Other versions
JP2018514832A (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.)
Citrix Systems Inc
Original Assignee
Citrix Systems Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Citrix Systems Inc filed Critical Citrix Systems Inc
Publication of JP2018514832A publication Critical patent/JP2018514832A/ja
Application granted granted Critical
Publication of JP6495467B2 publication Critical patent/JP6495467B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/63Routing a service request depending on the request content or context
    • 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]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Information Transfer Between Computers (AREA)

Description

認証ドメイン(本明細書において単に「ドメイン」とも称される)は、要求側エンティティが、ドメイン内に安全に格納されているリソースへのアクセスを得る前に、認証されることを求めるリソースのセットである。たとえば、認証ドメインは、事業組織に属している情報技術(IT)リソース(たとえば、データ、サーバ・コンピュータ・システム、ソフトウェア・サービスなど)から成り、組織の従業員が、ドメインのセキュア・リソースのいずれかへのアクセス権限を与えられる前に、(たとえば、従業員のユーザ名およびパスワードでログインすることによって、またはその他の方式で)最初に認証されることを要求することがある。
認証ドメインは通常、個別のものであり、独立している。したがって、ユーザが複数の認証ドメインにアクセスすることができる場合、ユーザは、別個のトランザクションまたはプロセスを通じて認証ドメインの各々1つに対して認証する必要がある。加えて、異なる認証ドメインに単数または複数のユーザを認証するために異なる資格情報および/またはプロセスが必要になる場合もある。
異なる認証ドメインにわたり操作を実行するための以前のシステムは、重大な欠点を有していた。特に、以前のシステムが、クライアントに代わってさまざまな異なるドメインに認証することをサーバに許可したときに、問題が生じた。そのような認証は、スーパーユーザ・アカウントの使用によって、またはサーバ内でクライアントの認証資料をキャッシュすることによって達成されてきた。これらのシステムにより、クライアントが検索操作を実行するとき、中央サーバは、スーパーユーザ・アカウントによって提供された権限に基づいて、またはキャッシュされた認証資料を使用するクライアントとしての機能を果たすことによって、さまざまな認証ドメインに安全に格納されているデータにクライアントに代わってアクセスするよう機能する。このタイプの手法において、中央サーバは、安全に格納されているデータへの完全な可視性を有する。セキュア・ドメインの外部のエンティティに提供されるそのようなデータ可視性は、多くのコンテキストにおいて容認できないものである。特に、顧客のセキュア・データをサードパーティに公開すること(たとえば、クライアントに代わって機能する中央サーバ)は、多くのサービスとしてのソフトウェア(SaaS)顧客が有するデータ・プライバシー保護要件に反する。これらのデータ・プライバシー保護要件を満たすために、SaaSプロバイダは、顧客データにアクセスする能力を持たないことが必要である。加えて、クライアントが、ユーザに代わって機能することをサードパーティ・サーバに許可する場合は常に、否認防止は保持され得ない場合もあり、したがってユーザの名前で行なわれるアクションが実際にユーザによって実行されたという保証はない。
以前のシステムのその他の欠点は、異なる認証ドメインにわたり固有の操作を実行することに関する。たとえば、既存の検索サービスは通常、ワールドワイドウェブ全体にわたり格納されている情報にインデックス付けすることによって動作し、次いで結果として得られるインデックスに基づいて検索クエリに応答する。しかし、これらの既存の検索システムは、固有のユーザのコンテキストにおいて動作することはできず、したがって、エンドユーザ認証を必要とする情報にはアクセスすることができない。さらに、既存のシステムは、複数の認証ドメインにわたり検索結果を集約する能力に欠けている。複数のドメインに関して検索を実行しようとするユーザは、したがって、検索されるべき個々の認証ドメインの各々について個別の検索操作を発行して、1ドメインずつ検索を実行する必要がある。
加えて、異なるドメインにわたりコピー操作を実行するために一部の以前のシステムは、最初にソース・ドメインからクライアントにデータをダウンロードし、次いでクライアントからターゲット・ドメインにデータをアップロードしていた。この手法は、モバイル・デバイス経由で大容量ファイルを転送するサーバ間のコピー操作は実際的ではないので、クライアントがモバイル・デバイスである場合には効果的ではない。このマルチドメイン・コピーの手法は、主にクライアントにおいて操作を実行するためのビジネス論理を配置するので、「RESTful」なクライアント−サーバ手法を提供するという目標、つまりRepresentational State Transfer(REST)のアーキテクチャ原理に適合する目標、と矛盾する。対照的に、RESTfulに準拠する手法は、主にサーバ内で操作を実行するためのビジネス論理を配置するものである。
以前のシステムのこれらのおよびその他の短所に対処するため、異なる認証ドメインに位置するファイル・リポジトリ上で操作を実行するための新しいシステムが開示される。開示されるシステムにおいて、初期認証ドメインに位置する初期アプリケーション・プログラミング・インターフェイス(API)サーバは、クライアント・システムから要求された操作を受信する。初期サーバは、操作が、複数の異なる認証ドメインにわたり実行されることを検出する。次いで、初期サーバは、初期認証ドメインとは異なる1つまたは複数の認証ドメインに位置する複数のAPIサーバを指示するエントリを有するリダイレクション・リストを生成する。初期サーバは、リダイレクション・リストをパーシャル・レスポンスに格納し、パーシャル・レスポンスをクライアント・システムに返信する。パーシャル・レスポンスは、クライアント・システムに、リダイレクション・リストのエントリによって指示されるAPIサービスの各々にコマンドを実行するよう命令する。初期APIサーバは、オプションとして、クライアント・システムに送信する部分結果をリダイレクション・リストと共に含むことができる。
リダイレクション・リストのエントリによって指示されるAPIサーバが、クライアント・システムによって送信されたコマンドに応答する場合、クライアント・システムは、それらのレスポンスに含まれる部分結果が、要求された操作と一致する結果タイプであることを検証する。クライアント・システムはまた、適切な数の非ヌルの部分結果が受信されることを検証する。次いで、クライアント・システムは、受信したすべての部分結果を単一の最終結果に集約するが、この最終結果は、クライアント・システムのユーザ・インターフェイスでクライアント・システムのユーザに表示されてもよい。最終結果は、要求された操作に対して返された結果タイプであり、初期APIサーバまたはリダイレクション・リストによって指示されるAPIサーバの1つから受信されたリスト、または単一の項目であってもよい。さまざまな固有の操作が、開示されるシステムを使用して提供されてもよい。そのような操作の例は、クロスドメイン・コピー、マルチドメイン検索、および/またはマルチドメイン・ユーザ・アクティビティ・レポートを含むが、これらに限定されることはない。
有利なことに、および以前のシステムとは対照的に、クライアント・システムのみが、異なる認証ドメイン上で実行されている要求された操作の結果として取り出されたデータにアクセスすることができる。取り出されたデータは、認証ドメインからクライアント・システムに直接送信されるので、開示されるシステムは、認証済みの要求側クライアント・システムの外部への顧客データの公開を回避することにより、ひいてはデータ・プライバシー保護を提供することにより、以前のシステムにまさる改善をもたらす。したがって、以前の技術とは対照的に、開示されるシステムは、多くのサービスとしてのソフトウェア(SaaS)プロバイダ環境のような、データ・プライバシー保護要件を有するコンテキストにおける使用に適している。
開示されるシステムはまた、Representational State Transfer(REST)準拠のクライアントを使用するという点において、以前のシステムよりも有利である。リダイレクション・リストを処理するために、クライアントは、一連の非同期的に発行されるドメイン固有の操作を使用する必要があるだけで、リダイレクション・リストのエントリによって指示されるAPIサーバは、各自の認証ドメイン内のクライアント・システムから送信されるコマンドを処理する必要があるだけである。このようにして、開示されるシステムは、比較的軽量のクライアントを有するというRESTの目標を満足し、したがってRESTクライアント−サーバ・アーキテクチャの制約に適合する。
前述ならびにその他の特徴および利点は、さまざまな図表全体を通じて類似した参照符号が同じ部分を示す添付の図面に示されている本開示の特定の実施形態の以下の説明から明らかである。図面は、必ずしも一定の縮尺では示されていないが、本開示のさまざまな実施形態の原理を説明することに重点が置かれている。
開示されるシステムの例示的な実施形態におけるコンポーネントを示すブロック図である。 開示されるシステムの例示的な実施形態におけるクライアント・システムおよび初期アプリケーション・プログラミング・インターフェイス(API)サーバの構造を示すブロック図である。 開示されるシステムの例示的な実施形態における初期アプリケーション・プログラミング・インターフェイス(API)サーバによって生成され、このサーバから送信されるパーシャル・レスポンスの構造の少なくとも一部の例を示すブロック図である。 開示されるシステムの例示的な実施形態におけるリダイレクション・リスト・エントリの構造の例を示すブロック図である。 開示されるシステムの例示的な実施形態における異なる認証ドメインにわたる操作の要求を処理するために初期アプリケーション・プログラミング・インターフェイス(API)サーバによって実行されるステップの例を示す流れ図である。 開示されるシステムの例示的な実施形態における異なる認証ドメインにわたる操作を実行するためにRESTfulクライアント・システムによって実行されるステップの例を示す流れ図である。 ユーザが異なる認証ドメインにわたり実行されるべき操作を指定できるようにする、開示されるシステムの例示的な実施形態によって生成されるグラフィカル・ユーザ・インターフェイスの一部における特徴を示す簡略化されたスクリーンショットを示す図である。
本明細書において開示される特定の実施形態、例、および実施態様の個々の特徴は、技術に理に適う任意の望ましい方法で結合されてもよい。さらに、そのような特徴は、これによりすべての可能な組み合わせ、順列、変形を形成するためにこの方法で結合される。ただしそのような組み合わせ、順列、および/または変形が明示的に除外されているか、または実行不可能である場合を除く。そのような組み合わせ、順列、および変形のサポートは、本文書において存在するものと見なされる。
異なる認証ドメインに位置するファイル・リポジトリ上で操作を実行するための新しいシステムが開示されている。開示されたシステムにおいて、初期認証ドメインに位置する初期アプリケーション・プログラミング・インターフェイス(API)サーバは、クライアント・システムから要求された操作を受信する。初期サーバは、操作が、複数の異なる認証ドメインにわたり実行されることを検出する。次いで、初期サーバは、初期認証ドメインとは異なる1つまたは複数の認証ドメインに位置する複数のAPIサーバを指示するエントリを有するリダイレクション・リストを生成する。初期サーバは、クライアント・システムにリダイレクション・リストを送信し、次いでクライアント・システムに、リダイレクション・リストのエントリによって指示されるAPIサービスの各々にコマンドを実行するよう命令する。初期サーバは、オプションとして、クライアント・システムに送信する部分結果をリダイレクション・リストと共に含むことができる。リダイレクション・リストのエントリによって指示されるAPIサーバは、部分結果と共にクライアント・システムによって送信されたコマンドに応答し、クライアント・システムは、受信するすべての部分結果を単一の最終結果に集約する。最終結果はクライアント・システムのユーザ・インターフェイスでクライアント・システムのユーザに表示されてもよい。
図1は、開示されるシステムの例示的な実施形態におけるコンポーネントのブロック図である。図1に示されるコンポーネントの操作中に、クライアント・システム10は、要求された操作30を初期アプリケーション・プログラミング・インターフェイス(API)サーバ12に送信する。初期APIサーバ12は、初期認証ドメイン14に位置する。初期認証ドメイン14は、第1のセキュア・リソース16をさらに含む。
要求された操作30を受信したことに応じて、初期APIサーバ12は、クライアント・システム10が初期認証ドメイン14に認証されているかどうかを決定する。認証されていない場合、初期APIサーバ12は、たとえば、クライアント・システム10のユーザに初期認証ドメイン14の各自のユーザ名およびパスワードを入力するよう求めるチャレンジレスポンス認証プロトコルを通じて、または特定の実行環境に適切なその他の認証プロセスを通じて、クライアント・システム10に認証されるよう要求する。
クライアント・システム10が初期認証ドメイン14に認証された後、初期APIサーバ12は、要求された操作30を解析して、要求された操作30を完了するために、初期認証ドメイン14の外部からのリソース(つまり、第1のセキュア・リソース16以外のリソース)を必要とするかどうかを決定する。必要としない場合、初期APIサーバ12は、第1のセキュア・リソース16からのリソースを使用して初期認証ドメイン14内で要求された操作30を処理する。それ以外の場合、要求された操作30が初期認証ドメイン14以外の1つまたは複数の認証ドメインからのリソースを必要とする場合、初期APIサーバ12は、初期認証ドメイン14とは異なる1つまたは複数の認証ドメインに位置する複数のAPIサーバを指示するエントリを有するリダイレクション・リストを生成する。たとえば、要求された操作30が、認証ドメインA20に含まれる第2のセキュア・リソース22から、および認証ドメインB26に含まれる第3のセキュア・リソース28からのリソースを必要とする場合、初期APIサーバ12は、認証ドメインA20のAPIサーバA18を指示する第1のエントリ、および認証ドメインB26のAPIサーバB24を指示する第2のエントリを有するリダイレクション・リストを生成する。
次いで、初期APIサーバ12は、リダイレクション・リストをパーシャル・レスポンス32に格納する。初期APIサーバ12は、オプションとして、生成されたリダイレクション・リストと共に部分結果をパーシャル・レスポンス32に含むことができる。たとえば、要求された操作30が、第1のセキュア・リソース16の1つまたは複数のリソースにも適用可能である場合、初期APIサーバ12は、要求された操作30を第1のセキュア・リソース16に適用し、要求された操作30を第1のセキュア・リソース16に適用することで得られた任意の結果を、パーシャル・レスポンス30内に部分結果として格納する。代替として、要求された操作30が第1のセキュア・リソース16のリソースに適用されない場合、初期APIサーバ12は、パーシャル・レスポンス32の部分結果をヌルと等しく設定するか、または部分結果全体を省略することができる。次いで、初期APIサーバ12は、パーシャル・レスポンス32をクライアント・システム10に送信する。
クライアント・システム10はパーシャル・レスポンス32を受信し、パーシャル・レスポンス32および/またはリダイレクション・リスト自体は、クライアント・システム10に、リダイレクション・リストに含まれるエントリによって指示されるAPIサービスの各々でコマンドを実行するよう命令する。したがって、クライアント・システム10は、コマンド1 34を生成して、それを認証ドメインA20のAPIサーバA18に送信する。コマンド1 34は、パーシャル・レスポンス32に含まれるリダイレクション・リスト内に含まれるエントリに含まれる情報に基づいてクライアント・システム10によって生成される。コマンド1 34は、ドメイン固有のコマンドである、つまり第2のセキュア・リソース22内で完全に実行され得るコマンドである。APIサーバA18は、コマンド1 34を受信し、クライアント・システム10が認証ドメインA20に以前認証されているかどうかを最初に決定する。認証されていない場合、APIサーバA18は、たとえば、クライアント・システム10のユーザに認証ドメインA20の各自のユーザ名およびパスワードを入力するよう求めるチャレンジレスポンス認証プロトコルを通じて、または特定の実行環境に適切ないくつかのその他の認証プロセスを通じて、クライアント・システム10が認証ドメインA20に認証されるよう要求する。
クライアント・システム10が認証ドメインA20に認証された後、APIサーバA18は、第2のセキュア・リソース22でコマンド1 34を実行することにより部分結果を生成し、部分結果をレスポンス1 36に格納する。次いで、APIサーバA18は、レスポンス1 36をクライアント・システム10に送信する。
図1の例においてさらに、クライアント・システム10は、コマンド2 38を生成して、それを認証ドメインB26のAPIサーバA24に送信する。コマンド2 38は、パーシャル・レスポンス32に含まれるリダイレクション・リスト内に含まれる別のエントリに含まれる情報に基づいてクライアント・システム10によって生成される。コマンド2 38は、コマンド2 38がコマンド1 34に関して受信される任意のレスポンスに先立って送信され得るという点において、コマンド1 34に関して非同期的にクライアント・システム10によって送信されてもよい。コマンド2 38はまた、ドメイン固有のコマンド、つまり第3のセキュア・リソース28内で完全に実行され得るコマンドである。したがって、APIサーバB24は、第3のセキュア・リソース28でコマンド2 38を実行することにより部分結果を生成し、部分結果をレスポンス2 40に格納する。次いで、APIサーバB24は、レスポンス2 40をクライアント・システム10に送信する。
クライアント・システム10は、初期APIサーバ12から受信したレスポンス(つまり、パーシャル・レスポンス32)、APIサーバA18から受信したレスポンス(つまり、レスポンス1 36)、およびAPIサーバB24から受信したレスポンス(つまり、レスポンス2 40)を、受信した各部分結果のタイプが要求された操作30に返されると予想されるタイプと一致することを検証することによって部分的に処理する。たとえば、要求された操作30に返されると予想されるタイプが項目のフィードである場合、クライアント・システム10は、パーシャル・レスポンス32、レスポンス1 36、またはレスポンス2 40のいずれかに含まれる各部分結果オブジェクトが実際に項目のフィードであることを検証する。
同様に、クライアント・システム10はまた、APIサーバ12、APIサーバA18、およびAPIサーバB24から受信したレスポンスを、適切な数の部分結果が要求された操作30について受信されることを検証することによって処理することができる。たとえば、要求された操作30が単一の要素のみを受信すると予想される場合、クライアント・システム10は、APIサーバ12、APIサーバA18、およびAPIサーバB24から受信されたレスポンスのうちの1つだけが任意のコンテンツを含むことを検証する。たとえば、要求された操作30が単一の要素のレスポンスのみを予想する場合、クライアント・システム10は、1つを除くレスポンスのすべてがコンテンツを有していないこと(たとえば、HTTPタイプ204−コンテンツなし)を検証する。クライアント・システム10によって受信された部分結果オブジェクトのタイプおよび合計数が検証される場合、クライアント・システム10は、すべての受信された部分結果オブジェクトを単一の最終結果42に集約し、それが、たとえばクライアント・システム10のユーザ・インターフェイスで、クライアント・システム10のユーザに表示されてもよい。
最終結果10は、要求された操作に対して返された結果タイプであり、初期APIサーバまたはリダイレクション・リストによって指示されるAPIサーバの1つから受信されたオブジェクトのリスト、または単一のオブジェクトであってもよい。たとえば、要求された操作30が、第1のセキュア・リソース16、第2のセキュア・リソース22、および第3のセキュア・リソース28内のファイル・リポジトリの検索クエリと一致するファイルの検索(つまり、マルチドメイン検索操作)を実行するよう求める要求である場合、クライアント・システム10によって受信される各部分結果は、セキュア・リソースのそれぞれのセットにおいて検索クエリと一致するファイルのリストで構成される。具体的には、パーシャル・レスポンス32は、検索クエリと一致する第1のセキュア・リソース16内のすべてのファイルのリストである部分結果オブジェクトを含むことになり、レスポンス1 36は、検索クエリと一致する第2のセキュア・リソース22内のすべてのファイルのリストである部分結果オブジェクトを含むことになり、レスポンス2 40は、検索クエリと一致する第3のセキュア・リソース28内のすべてのファイルのリストである部分結果オブジェクトを含むことになる。次いで、クライアント・システム10は、受信した部分結果を、最終結果42としてユーザに表示するために、検索クエリと一致するファイルの単一のリストに集約する。
要求された操作30が、クロスドメイン・コピー操作である場合、たとえば、第1の認証ドメイン(たとえば、認証ドメインA20)から第2の認証ドメイン(たとえば、認証ドメインB26)にファイルをコピーするよう求める要求である場合、1つの部分結果のみが非ヌルとなる、つまりレスポンス2 40で受信される部分結果となり、これは第3のセキュア・リソース28内のファイルコピーの識別子を含み、コピー操作が正常であったことを指示する。次いで、クライアント・システム10による部分結果集約は、単一の結果オブジェクトを処理するステップ、たとえば新しいファイルコピーのビジュアル表示を第3のセキュア・リソース28内のその新しい場所に示すことによってコピー操作が正常であったことを、ユーザ・インターフェイスを通じてユーザにレポートするステップから成る。
もう1つの例において、要求された操作30は、複数の認証ドメイン(たとえば、認証ドメインA20と認証ドメインB26の両方)において実行される指定されたユーザのファイルに関連のあるアクティビティを記述するログ・データまたは同種のものを求める要求のような、マルチドメイン・ユーザ・アクティビティ・レポート要求であってもよい。そのようなユーザ・アクティビティ・データは、各認証ドメインによって非公開で保持され、ファイルアクセス、ファイル変更、ファイル削除などのような、複数の認証ドメインの各々1つに含まれるファイルに指定されたユーザによって実行された操作に関する、時間、ファイル名、およびその他の詳細のような情報を含むことができる。この場合、レスポンス1 36は、第2のセキュア・リソース22に含まれるファイルに関して指定されたユーザのアクションを記述するユーザ・アクティビティ・データを含む部分結果を含むことになり、レスポンス2 40は、第3のセキュア・リソース28に含まれるファイルに関して指定されたユーザのアクションを記述するユーザ・アクティビティ・データを含む部分結果を含むことになる。次いで、クライアント・システム10による部分結果集約は、たとえば、第2のセキュア・リソース22と第3のセキュア・リソース28の両方に含まれるファイルに関して指定されたユーザのすべてのファイル関連のアクティビティを示す、レポートまたは同様のものが(たとえば、クライアント・システム10のグラフィカル・ユーザ・インターフェイスを通じて)クライアント・システム10のユーザに提示されるように、レスポンス1 36およびレスポンス2 40からの部分結果データを最終結果42に結合するステップから成る。
簡潔な説明を目的として、図1では3つの認証ドメインのみが示されているが、開示されるシステムがそのように限定されないことを当業者であれば理解するであろう。したがって、開示されるシステムは、さまざまな認証ドメインの任意の固有の数がサポートされるように具現され操作されてもよい。
図1に示されるクライアント・システム10ならびにAPIサーバ12、18および24は、たとえば、各々処理回路(たとえば、1つまたは複数のプロセッサ)、メモリ、および/またはその他のプログラム・ストレージ、および1つまたは複数の入力/出力インターフェイスを有する、1つまたは複数のコンピュータ・システムとして、またはコンピュータ・システム内で具現されてもよい。本明細書において説明される操作は、ソフトウェア、ファームウェア、専用ハードウェア回路、および/またはその一部の組み合わせを使用するそのようなコンピュータ・システムにおいて具現されてもよい。同様に、当業者は、図1に示されるクライアント・システム10、ならびにAPIサーバ12、18、および24の1つまたは複数が、1つまたは複数の仮想マシンまたは同様のものとして、これらを含んで、またはこれらの中で具現されてもよいことが理解される。
図1に示されるクライアント・システム10、ならびにAPIサーバ12、18、および24の間の通信は、たとえば、1つまたは複数のローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、および/またはインターネットのような、1つまたは複数のコンピュータまたはその他のタイプの通信ネットワークを介して提供されてもよい。クライアント・システム10、ならびにAPIサーバ12、18、および24の間の通信は、ハイパーテキスト転送プロトコル(HTTP)を含むがこれに限定されないさまざまな固有の通信プロトコルを使用することができる。
図2は、開示されるシステムの例示的な実施形態におけるクライアント・システムおよび初期アプリケーション・プログラミング・インターフェイス(API)サーバの構造を示すブロック図である。図2の実施形態に示されているように、クライアント・システム10は、ディスプレイ・デバイス50、通信インターフェイス52、処理回路54、およびメモリ56として示されるプログラム・ストレージを含む。ディスプレイ・デバイス50は、情報を可視の形態で提示するように動作可能な任意の固有のタイプの出力デバイスを含むか、またはそのような出力デバイスで構成されてもよい。通信インターフェイス52は、たとえば、1つまたは複数のネットワーク・インターフェイス・カード(NIC)または同種のものを含むか、またはそのようなNICで構成されてもよい。処理回路54は、たとえば、1つまたは複数のマイクロプロセッサまたは同種のものを含むか、またはそのようなマイクロプロセッサで構成されてもよい。メモリ56は、たとえば、クライアント・システム10において使用するプログラム(命令のシーケンス)および/またはデータ(たとえば、プログラム状態情報)を格納するように動作可能な任意の固有のタイプの揮発性または不揮発性の半導体メモリまたは同種のものを含むか、またはそのような半導体メモリで構成されてもよい。
メモリ56は、処理回路54で実行するためのプログラム論理を格納する。図2の1つの実施形態において、メモリ56は、RESTfulクライアント58として示される、REST準拠のクライアント・アプリケーション・ソフトウェアを含む。RESTfulクライアント58は、グラフィカル・ユーザ・インターフェイスの少なくとも一部をディスプレイ・デバイス50内のクライアント・システム10のユーザに提供するためのクライアント・ユーザ・インターフェイス論理60を含む。認証論理および認証資料61は、たとえば認証ドメインに位置するAPIサーバを通じて、クライアント・システム10をさまざまな異なる認証ドメインに認証するためのプログラムコードおよび/または認証資料を含む。たとえば、認証論理および認証資料61は、クライアント・システム10が、リダイレクション・リストの処理中にコンタクトされたさまざまな認証ドメインの1つまたは複数に以前認証されたという証拠を含む1つまたは複数の「認証クッキー」のような認証資料を含むことができる。したがって、そのような「認証クッキー」は、クライアント・システム10が、リダイレクション・リストの処理中に認証ドメインのAPIサーバと通信しているときにその認証ドメインに以前認証されたことを証明するために、クライアント・システム10によって使用されてもよい。認証論理および認証資料61は同様に、または代替として、たとえばLANマネージャ、NT LANマネージャ(NTLM)、ケルベロス、または任意の他の固有の認証プロトコルのような、たとえば1つまたは複数の認証プロトコルを使用して、リダイレクション・リストの処理中にコンタクトされたさまざまな認証ドメインの1つまたは複数にクライアント・システム10を認証するためのプログラムコードおよび/または認証資格情報を含むこともできる。
操作要求/コマンド生成論理60は、図1に示される要求された操作30、コマンド1 34、およびコマンド2 38を含む、要求された操作および/またはコマンドを生成するため、およびそのような操作および/またはコマンドを通信インターフェイス52を使用して送信するためのプログラムコードを含む。レスポンス・ハンドラ66は、複数のレスポンス・ハンドラ・プログラムコード・モジュールを含み、これらは通信インターフェイス52を通じてRESTfulクライアント58のクライアント・システム10によって受信されたメッセージ(たとえば、レスポンス)を処理することに責任を負う。したがって、クライアント・システム10がRESTfulクライアント58のレスポンス(たとえば、図1に示されるパーシャル・レスポンス32、レスポンス1 36、またはレスポンス2 40のうちの1つ)を受信すると、RESTfulクライアント58は、レスポンスがパーシャル・レスポンスであるか、またはその他のタイプのレスポンスであるかを決定する。受信したレスポンスがパーシャル・レスポンスである場合、受信したレスポンスは、処理のためにパーシャル・レスポンス・ハンドラ64に渡される。RESTfulクライアント58のクライアント・システム10によって受信されたその他のレスポンスは、その他のレスポンス・ハンドラ66によって処理される。
図2の例示的な実施形態においてさらに、初期APIサーバ12は、通信インターフェイス84、処理回路82、およびメモリ80として示されるプログラム・ストレージを含む。通信インターフェイス84は、たとえば、1つまたは複数のネットワーク・インターフェイス・カード(NIC)または同種のものを含むか、またはそのようなNICで構成されてもよい。処理回路82は、たとえば、1つまたは複数のマイクロプロセッサまたは同種のものを含むか、またはそのようなマイクロプロセッサで構成されてもよい。メモリ80は、たとえば、初期APIサーバ12において使用するプログラム(命令のシーケンス)および/またはデータ(たとえば、プログラム状態情報)を格納するように動作可能な任意の固有のタイプの揮発性または不揮発性の半導体メモリまたは同種のものを含むか、またはそのような半導体メモリで構成されてもよい。
図2に示されるメモリ80は、要求およびコマンド処理論理90として示される、処理回路82で実行するためのプログラム論理、ならびに認証ドメイン・データベース88、およびユーザ・アカウント・データベース86を格納する。要求された操作(たとえば、図1の要求された操作30)が、通信インターフェイス84を通じて初期APIサーバ12によって受信される場合、要求は、要求およびコマンド解析論理92に渡される。要求およびコマンド解析論理92は、要求された操作を実行することが、ローカル認証ドメイン以外(たとえば、図1の初期認証ドメイン14以外)の1つまたは複数の認証ドメインに位置する1つまたは複数のリソースにアクセスすることを必要とするかどうかを決定する。必要とする場合、要求された操作は、処理のためにマルチ認証ドメイン操作要求処理論理94に渡される。それ以外の場合、受信した要求された操作が、ローカル認証ドメイン内に含まれる(たとえば、図1の初期認証ドメイン内に含まれる)リソースを使用して、完全に実行され得る場合には、要求された操作は、その他のコマンド処理論理96に渡される。
たとえば、要求およびコマンド解析論理92は、受信した要求された操作がローカル認証ドメインの外部に含まれるリソースの任意の指示を含むかどうかを決定するために、受信した要求された操作の内容を調べることができる。そのような指示は、たとえば、ローカル認証ドメイン以外の認証ドメインに位置する1つまたは複数のファイル・リポジトリ内の1つまたは複数のファイルまたはファイルの場所を指定する1つまたは複数のパスを含み得る。受信した要求された操作がローカル認証ドメイン外部に含まれるリソースの任意の指示を含む場合、受信した要求された操作は、処理のためにマルチ認証ドメイン操作要求処理論理94に渡される。
もう1つの例において、要求およびコマンド解析論理92は、受信した要求された操作に関連付けられているユーザが以前、ローカル認証ドメイン以外の1つまたは複数の認証ドメインにそのアカウントをリンクしていたかどうかを決定するために、ユーザ・アカウント・データベース86のコンテンツを調べることができる。以前ユーザのアカウントにリンクされたそのような認証ドメインの参照(名前、パス、URLなど)は、たとえば、ユーザに関連付けられ、ユーザ・アカウント・データベース86に含まれるエントリに格納されてもよい。受信した要求されたコマンドが、ユーザのアカウントにリンクされたすべての認証ドメインにわたりコマンドが実行されるべきであることを指示する場合、およびユーザのアカウントが、ローカル認証ドメイン以外の少なくとも1つの認証ドメインにリンクされている場合、受信した要求された操作は、処理のためにマルチ認証ドメイン操作要求処理論理94に渡される。
マルチ認証ドメイン操作要求処理論理94は、パーシャル・レスポンス(たとえば、図1のパーシャル・レスポンス32)を生成することによって、および要求された操作を送信したクライアント・システム(たとえば、クライアント・システム10)にパーシャル・レスポンスを送信することによって、要求された操作を処理する。マルチ認証ドメイン操作要求処理論理94によって生成されたパーシャル・レスポンスは、要求された操作を完了するために、要求側クライアント・システムによってコンタクトされるべき1つまたは複数のその他の認証ドメインを指示するエントリを有するダイレクトリストを含む。リダイレクション・リストの各エントリの内容は、認証ドメインがクライアント・システムによってコンタクトされる方法を指示する情報(たとえば、APIサーバのURL)を含む。所与の認証ドメインがコンタクトされる方法を指示するそのような情報は、認証ドメイン・データベース88からマルチ認証ドメイン操作要求処理論理94によって取得されてもよい。認証ドメイン・データベース88は、ローカル認証ドメイン以外の1つまたは複数の異なる認証ドメインを記述する情報を含む。そのような情報は、たとえば、各認証ドメインがクライアント・システム10のようなクライアント・システムによってコンタクトされる方法を記述する情報を含むことができる。所与の認証ドメインがクライアント・システムによってコンタクトされる方法を記述する情報は、たとえば、認証ドメイン内の、クライアント・システムからコマンドを受信することに責任を負うAPIサーバのURLを含むことができる。
マルチ認証ドメイン操作要求処理論理94はまた、オプションとして、パーシャル・レスポンスに含まれるべき部分結果を生成することによって、要求された操作を処理するように動作することもできる。たとえば、部分結果は、ローカル認証ドメイン内に含まれるリソースで要求された操作を実行することによって得られた結果を含むことができる。
図3は、開示されるシステムの例示的な実施形態における初期アプリケーション・プログラミング・インターフェイス(API)サーバによって生成され、このサーバから送信されるパーシャル・レスポンスの構造の少なくとも一部の例を示すブロック図である。図3に示されるように、パーシャル・レスポンス32は、HTTPレスポンス・タイプ150、アプリケーション・レスポンス・タイプ152、部分結果オブジェクト154、および例示の目的で示されるリダイレクション・リスト・エントリ1 156から、リダイレクション・リスト・エントリ2 158、リダイレクション・リスト・エントリ3 160、リダイレクション・リスト・エントリN 162に至る複数のリスト・エントリで構成されるリダイレクション・リスト155を含む。HTTPレスポンス・タイプのコンテンツは、たとえば、HTTPレスポンスステータス200のような、HTTPレスポンス・ステータスコードを含むことができる。アプリケーション・レスポンス・タイプ152のコンテンツは、たとえば、RESTfulクライアント58(図2)に関するレスポンスのタイプが「パーシャル・レスポンス」であるので、RESTfulクライアント58に、レスポンスをパーシャル・レスポンス・ハンドラ64に向けさせることを指示するコードまたは値を含むことができる。部分結果オブジェクト154は、オブションであり、存在する場合は、たとえば、初期APIサーバが位置する同じ認証ドメインに位置する1つまたは複数のリソースに要求された操作を適用した結果を含むことができる。
リダイレクション・リスト内の各エントリ156は、要求された操作を完了するために、クライアントが、クライアントによってコンタクトされるべきその他の認証ドメインの1つにコンタクトする方法を指示する。
図4の例示のリダイレクション・リスト・エントリ200によって示されるように、リダイレクション・リスト・エントリは、URL202、メソッド204、および本体206を含む。URL202は、リダイレクション・リスト・エントリ200の認証ドメインに位置するAPIサーバのWebアドレスであり、クライアントが認証ドメインにコンタクトする場合にクライアントによって使用されるものである。メソッド204は、たとえば、クライアントが認証ドメインにコンタクトする場合にクライアントによって使用されるHTTP要求メソッド(たとえば、GET、POSTなど)である。本体206は、たとえば、URL202によって指示されるAPIサーバにクライアント・システムによって送信された要求と共に含まれるべき、たとえばJavaScript Object Notation(JSON)ドキュメントのような、その他の情報を含む。
図5は、例示的な実施形態における異なる認証ドメインにわたる操作の要求を処理するために初期APIサーバによって実行されるステップの例を示す流れ図である。図5に示されるステップは、たとえば、図1および図2に示される初期APIサーバ12(「初期サーバ」)によって実行されてもよい。ステップ300において、初期サーバは、クライアント・システムから要求された操作を受信する。ステップ300において受信される操作は、たとえば、クロスドメイン・コピー、マルチドメイン検索、またはマルチドメイン・ユーザ・アクティビティ・レポート要求のような、任意の固有のマルチドメイン操作であってもよい。ステップ302において、初期サーバは、要求された操作を解析し、操作の完了には、ローカル認証ドメイン以外の認証ドメインからの少なくとも1つのリソースが必要であることを決定する。たとえば、初期サーバは、要求された操作を解析して、操作が、ローカル認証ドメインの外部に位置するファイル・リポジトリ内のファイルの場所を指示する1つまたは複数のパスを含むことを決定することができる。操作の完了には、ローカル認証ドメイン以外の1つまたは複数の認証ドメインからのリソースが必要であることを決定するステップに応じて、ステップ304において、初期サーバは、リダイレクション・リストを生成する。ステップ304において生成されたリダイレクション・リストは、クライアントが、要求された操作を完了するためにコンタクトすべき認証ドメインの各々に対するリスト・エントリを含む。たとえば、クロスドメイン・コピーの場合、リダイレクション・リストは、i)コピーされるべきファイルが現在位置しているソース認証ドメインのAPIサーバを指示する第1のエントリ、ii)ファイルがコピーされるべきターゲット認証ドメインのAPIサーバを指示する第2のエントリ、iii)ファイルをソース認証ドメイン内のその現在の場所からターゲット認証ドメイン内の場所にコピーするようクライアントによって命じられるべきAPIサーバを指示する第3のエントリ、(送信側APIサーバはソース、ターゲット、または一部のその他の認証ドメインのいずれかに位置してもよい)を含む。
もう1つの例において、マルチドメイン検索の場合、リダイレクション・リストは、元の要求された操作で指示された検索クエリと一致するファイルを検索されるべき異なる認証ドメインの各々に対するエントリを含む。およびさらなる例において、マルチドメイン・ユーザ・アクティビティ・レポート要求の場合、リダイレクション・リストは、指定されたユーザに関するファイルアクティビティ情報を取得されるべき異なる認証ドメインの各々に対するエントリを含む。
ステップ306において、初期サーバは、オプションとして、要求された操作をローカル認証ドメインに含まれるリソースに適用することによって、部分結果オブジェクトを生成する。たとえば、マルチドメイン検索の場合、初期サーバは、元の要求された操作からの検索クエリと一致するローカル認証ドメイン内に位置するすべてのファイルのリストである部分結果オブジェクトを作成することができる。
ステップ308において、初期サーバは、リダイレクション・リストおよび任意の部分結果オブジェクトを、ステップ310において初期サーバからクライアント・システムに送信するために、パーシャル・レスポンスに格納することができる。
図6は、開示されるシステムの例示的な実施形態における異なる認証ドメインにわたる操作を実行するためにRESTfulクライアント・システムによって実行されるステップの例を示す流れ図である。図6に示されるステップは、たとえば、図1および図2に示されるクライアント・システム10(「クライアント・システム」)によって実行されてもよい。ステップ400において、クライアント・システムは、マルチドメイン操作の要求を受信する。たとえば、クライアント・システムは、ステップ400において、クライアント・システムによって生成されたグラフィカル・ユーザ・インターフェイスで実行されるユーザアクションの指示を受信することができる。グラフィカル・ユーザ・インターフェイスで実行されるユーザアクションは、i)要求されるべき操作のタイプ(たとえば、検索、コピー、ユーザ・アクティビティ・レポート要求など)、およびii)操作が実行されるべき複数の認証ドメイン(たとえば、マルチドメイン検索で検索されるべきドメイン、クロスドメイン・コピーのためのソースおよびターゲット・ドメイン、アクティビティがマルチドメイン・ユーザ・アクティビティ・レポート要求のために取得されるべきドメインなど)を含むことができる。ステップ400において受信された要求に応じて、クライアント・システムは、要求された操作を生成する。操作が実行されるべき認証ドメインを識別する、パスまたは同種のもののような指示は、クライアント・システムが要求された操作を生成するとき、クライアント・システムによって要求された操作に格納される。あるいは、ユーザのアカウントに以前リンクされたすべての認証ドメインにわたり実行されるべき要求された操作の場合、クライアント・システムは、クライアント・システムが要求された操作を生成するときに要求された操作内のユーザのアカウントにリンクされたすべての認証ドメインにわたり要求された操作が実行されることを示す指示を含む。次いで、クライアント・システムは、ステップ402において、要求された操作を初期APIサーバに送信する。
クライアント・システムは、APIサーバからレスポンスを受信し、ステップ404において、レスポンスがパーシャル・レスポンスであることを決定して、パーシャル・レスポンスをパーシャル・レスポンス・ハンドラ(たとえば、図2のパーシャル・レスポンス・ハンドラ64)に渡す。パーシャル・レスポンスが部分結果オブジェクトを含む場合、クライアント・システムは、ステップ406において、パーシャル・レスポンスから部分結果オブジェクトを格納する。リダイレクション・リストに含まれている任意の部分結果オブジェクトは、要求された操作のドキュメント化されたレスポンス・タイプと同じであるタイプを有するはずである。たとえば、要求された操作が項目のフィードを返す場合、初期APIサーバからクライアント・システムに送信される任意の部分結果は、項目のフィードでなくてはならない。1つの実施形態において、初期APIサーバがクライアント・システムに送信する部分結果を有していない場合、初期APIサーバは、ヌルの値を有する部分結果をクライアント・システムに送信する。
ステップ408において、クライアント・システムは、リダイレクション・リストを処理する。410において、リダイレクション・リストの処理に応じて、リダイレクション・リストの各エントリについて、クライアント・システムは、コマンドを作成して、それをパーシャル・レスポンスを生成した初期APIサーバを含む認証ドメイン以外の認証ドメインのAPIサーバに送信する。ステップ410において送信されたコマンドは、各コマンドが、以前送信されたコマンドのいずれか1つに対して任意のレスポンスが受信される前に送信され得るという点において、非同期的に送信されてもよい。ステップ410において送信されたコマンドの各々は、クライアント・システムが、コマンドが送信された認証ドメインに認証されることが必要になるという結果をもたらし得る。たとえば、ステップ410において送信されたコマンドの1つまたは複数は、宛先APIサーバが、クライアント・システムとのチャレンジレスポンス認証プロトコルを実行するという結果をもたらし得る。そのような場合、APIサーバは、質問(「チャレンジ」)を提示し、クライアント・システムは、APIサーバを含む認証ドメインに認証されるために有効な回答(「レスポンス」)を提供する必要がある。チャレンジレスポンスプロトコルは、たとえば、パスワード認証を必要とすることがあるが、この場合、クライアント・システムは、クライアント・システムのユーザのパスワードから成る有効なレスポンスを提供することができる。その他のタイプの認証プロトコルは、クライアント・システムを、リダイレクション・リストのエントリによって指示される各認証ドメインに認証するために実行されてもよい。あるいは、クライアント・システムが、リダイレクション・リストのエントリによって指示される認証ドメインに以前認証されている場合、クライアント・システムは、たとえば認証クッキーまたは同種のもののような、クライアント・システムに以前格納された認証資料の形態の、その以前の認証の証拠を認証ドメインに含まれるAPIサーバに提供することができる。
ステップ412において、クライアント・システムは、初期APIサーバから、およびステップ410で発行されたコマンドへのレスポンスで受信した結果を、単一の最終結果に集約する。たとえば、要求された操作が「フィード」を返す場合、パーシャル・レスポンスおよび/またはステップ410で発行されたコマンドへのレスポンスにおけるすべての部分結果は、同じタイプのフィードでなければならず、クライアント・システムは、すべての受信した部分結果を、最終結果である単一のリストにそれらを連結することによって集約する。もう1つの例において、要求された操作が単一の要素レスポンスを返す場合、パーシャル・レスポンスまたはステップ410で発行されたコマンドへのレスポンスの1つのみが部分結果を含み、ステップ410で発行されたコマンドへのレスポンスのすべてのその他のレスポンスは、204−コンテンツなしのステータスコードを有する。次いで、クライアント・システムは、ステップ414において、アプリケーションのグラフィカル・ユーザ・インターフェイスを通じてクライアント・システムのユーザに最終結果を表示する。
図7は、ユーザが異なる認証ドメインにわたり実行されるべき操作を指定できるようにする、開示されるシステムの例示的な実施形態によって生成されるグラフィカル・ユーザ・インターフェイスの一部における特徴を示す簡略化されたスクリーンショットを示す図である。図7に示されるアプリケーション・ユーザ・インターフェイス500は、たとえば、ディスプレイ・デバイス50を通じてクライアント・ユーザ・インターフェイス論理60によってクライアント・システム10(図1および図2)のユーザに表示されてもよい。図7に示されるように、アプリケーション・ユーザ・インターフェイス500は、フォルダ1 504からフォルダ2 506、フォルダN 508に至るフォルダ表現502を含む。フォルダ表現502の各々は、異なる認証ドメインに位置するファイル・リポジトリ(たとえば、ファイル・サーバ・システムまたはファイル共有サービス)を表すことができる。たとえば、図1を参照すると、フォルダ1 504は、認証ドメインA20に位置するファイル・リポジトリを表すことができ、フォルダ2 506は、認証ドメインB26に位置するファイル・リポジトリを表すことができる。したがって、クライアント・システム10のユーザは、フォルダ1 504を選択する(たとえば、クリックする)ことによって認証ドメインA20に位置するファイル・リポジトリを選択することができる、および/またはフォルダ2 506を選択する(たとえば、クリックする)ことによって認証ドメインB26に位置するファイル・リポジトリを選択することができる。同様に、クライアント・システム10のユーザは、フォルダ1 504をダブルクリックすることによって認証ドメインA20に含まれるファイル・リポジトリに含まれるファイルからブラウズおよび選択することができ、フォルダ2 506をダブルクリックすることによって認証ドメインB26に含まれるファイル・リポジトリに含まれるファイルからブラウズおよび選択することができる。
ファイル・コマンド510は、コマンド1 512から、コマンド2 514、コマンド3 516、コマンドN 518までを含むことが示されている。ファイル・コマンド510は、1つまたは複数の現在選択されているファイル、ファイル・リポジトリなどに関して実行されるべき固有の要求された操作を指示するためにユーザが選択することができるユーザ・インターフェイス表示オブジェクト(たとえば、ボタン)の例である。たとえば、コマンド1 512をクリックすることで、1つまたは複数の現在選択されているファイル・リポジトリに関して検索操作をトリガーすることができる。したがって、ユーザが、フォルダ1 504およびフォルダ2 506を選択した後にコマンド1 512をクリックする場合、マルチドメイン検索操作は、検索項目と一致するファイルを探して、認証ドメインA20のファイル・リポジトリおよび認証ドメインB26のファイル・リポジトリを検索するよう開始されることになる。そのような要求された操作は、認証ドメインA20および認証ドメインB26を指示するパスを含む。
あるいは、コマンド1 512をクリックすることで、クライアント・システム10のユーザに関連付けられているアカウントに以前リンクされたすべての認証ドメインに位置するすべてのファイル・リポジトリに関して検索操作をトリガーすることができる。その場合、要求された操作は、検索操作が、ユーザに関連付けられているアカウントに以前リンクされたすべての認証ドメインのすべてのファイル・リポジトリにわたり実行されることを示す指示を含むように生成される。
もう1つの例において、コマンド2 514をクリックすることで、現在選択されているファイルを、続いて選択されるターゲット・ファイルの場所またはリポジトリにコピーするコピー操作をトリガーすることができる。したがって、ユーザが、フォルダ1 504内をブラウズしながら、認証ドメインA20に位置するファイル・リポジトリに含まれるファイルを選択し、次いでコマンド2 514をクリックし、次いで認証ドメインB26内のファイル・リポジトリがコピーのターゲットであることを指示する場合、クロスドメイン・コピー操作が、認証ドメインA20に位置するファイル・リポジトリから、認証ドメインB26に位置するファイル・リポジトリに選択されたファイルをコピーするように開始される。
およびもう1つの例において、コマンド3 516をクリックすることで、1つまたは複数の現在選択されているファイル・リポジトリにわたり以前指示されたユーザに関してユーザ・アクティビティ・レポート要求をトリガーすることができる。したがって、ユーザが、フォルダ1 504およびフォルダ2 506が選択されている間にコマンド3 516をクリックする場合、マルチドメイン・ユーザ・アクティビティ・レポート要求は、認証ドメインA20に位置するファイル・リポジトリと認証ドメインB26に位置するファイル・リポジトリの両方にわたり以前指示されたユーザによって実行されたすべてのファイル操作を記述するログ・データを収集するよう開始されることになる。あるいは、コマンド3 516をクリックすることで、クライアント・システム10のユーザに関連付けられているアカウントに以前リンクされたすべての認証ドメインに位置するすべてのファイル・リポジトリにわたり以前指示されたユーザに関してユーザ・アクティビティ・レポート要求をトリガーすることができる。
当業者であれば、図7に示される固有のユーザ・インターフェイス・オブジェクト(つまり、ボタン)が、簡便な例示および説明の目的のために提供されているに過ぎず、開示されるシステムが、それらの固有のユーザ・インターフェイス・オブジェクトを使用して、開示されるシステムによってサポートされるマルチドメイン操作にユーザアクセスを提供する実施形態に限定されないことを理解するであろう。任意の適切なタイプのグラフィカル制御要素(たとえば、ドロップダウンメニュー、ポップアップメニュー、コンテキストメニュー、サブメニューなど)は、ファイル・コマンド510に示されるボタンまたはフォルダ表現502に示されるフォルダの機能的な代替として使用されてもよい。さらに、アプリケーション・ユーザ・インターフェイス500自体は、簡略化された表現で示され、示されているもの以外のさまざまなユーザ・インターフェイス表示オブジェクトは、必要に応じて固有の実施形態に含まれるかまたは追加されてもよい。
このように、異なる認証ドメインに位置する複数のファイル・リポジトリ上で操作が実行されるようにする固有の特徴を有し、しかも以前のシステムにまさる大幅な改善をもたらす、操作を実行するための新しいシステムが開示される。開示されるシステムは、異なる認証ドメイン上で要求された操作を効果的に実行し、しかもクライアント・システムのみが異なるドメインで操作を実行した結果として異なるドメインから取り出されたデータにアクセスできるようにすることを含む、以前の手法にまさる固有の改善をもたらす。取り出されたデータは、それぞれの認証ドメインからクライアント・システムに直接送信されるので、開示されるシステムは、認証済みの要求側クライアント・システムの外部への顧客データの公開を回避することにより、ひいてはデータ・プライバシー保護を提供することにより、以前のシステムにまさる改善をもたらす。したがって、以前の手法とは対照的に、開示されるシステムは、多くのサービスとしてのソフトウェア(SaaS)プロバイダ環境のような、データ・プライバシー保護要件を有するコンテキストにおける使用に適している。
開示されるシステムはまた、Representational State Transfer(REST)準拠のクライアントを使用することによって以前のシステムにまさる改善をもたらす。開示されるシステムによって生成されるリダイレクション・リストを処理するために、クライアントは、有利なことに、一連の非同期的に発行されるドメイン固有の操作を使用する必要があるだけで、リダイレクション・リストのエントリによって指示されるAPIサーバは、各自の認証ドメイン内のクライアント・システムから送信されるコマンドを処理する必要があるだけである。このようにして、開示されるシステムは、比較的軽量のクライアントを有するという望ましいRESTの目標を満足し、したがってRESTクライアント−サーバ・アーキテクチャの制約に適合する。
上記の説明は、固有のシステム、デバイス、および/またはコンポーネントを指示するためにさまざまな固有の用語を使用して実施形態の例を提供するが、そのような用語は、例示的なものであり、利便性および簡潔な説明を目的として使用されているに過ぎない。開示されるシステムは、上記で使用される用語によって識別されるシステム、デバイスおよび/またはコンポーネントを含むかまたは伴う実施形態に限定されることはない。
当業者によって理解されるように、本発明の態様は、システム、方法、またはコンピュータ・プログラム製品として具現されてもよい。したがって、本発明の態様は、完全にハードウェアの実施形態、完全にソフトウェアの実施形態(ファームウェア、常駐ソフトウェア、マイクロコードなどを含む)、または本明細書においてすべてが概して「回路」、「モジュール」もしくは「システム」と称され得るソフトウェアおよびハードウェアの態様を組み合わせる実施形態の形をとることができる。さらに、本発明の態様は、コンピュータ可読プログラムコードを具現させた1つまたは複数の非一時的コンピュータ可読ストレージ媒体において具現されたコンピュータ・プログラム製品の形をとることができる。
1つまたは複数のコンピュータ可読ストレージ媒体の任意の組み合わせが使用されてもよい。コンピュータ可読ストレージ媒体は、たとえば、ポータブル・コンピュータ・ディスケット、ハードディスク、ランダムアクセスメモリ(RAM)、読取り専用メモリ(ROM)、消去可能プログラマブル読取り専用メモリ(EPROMまたはフラッシュメモリ)、ポータブルコンパクトディスク読取り専用メモリ(CD−ROM)、光ストレージ・デバイス、磁気ストレージ・デバイス、または前述のものの任意の適切な組み合わせであってもよいが、これらに限定されることはない。本文書のコンテキストにおいて、コンピュータ可読ストレージ媒体は、命令実行システム、装置、またはデバイスによって、またはこれらと接続して使用するプログラムを含むかまたは格納することができる任意の非一時的有形の媒体であってもよい。
開示されるシステムは、完全にソフトウェアベースの実施形態、完全にハードウェアベースの実施形態、またはソフトウェアおよびハードウェア要素を共に含む実施形態の形をとることができる。図面は、本発明の実施形態による方法、装置、およびコンピュータ・プログラム製品のブロック図および流れ図の説明図を含む。そのような図面の各ブロック、およびそれらのブロックの組み合わせが、コンピュータ・プログラム命令によって実施され得ることが理解されるであろう。これらのコンピュータ・プログラム命令は、コンピュータまたはその他のプログラマブル・データ処理装置上で実行する命令が、単一または複数のブロックにおいて指定される機能を実施するための手段を作成するように、コンピュータまたはその他のプログラマブル・データ処理装置にロードされてマシンを生成することができる。これらのコンピュータ・プログラム命令はまた、特定の方式で機能するようにコンピュータまたはその他のプログラマブル・データ処理装置を指図することができるコンピュータ可読メモリに格納されて、コンピュータ可読メモリに格納された命令が、単一または複数のブロックにおいて指定される機能を実施する命令手段を含む製造品を生成するようにされてもよい。コンピュータ・プログラム命令はまた、コンピュータまたはその他のプログラマブル・データ処理装置にロードされて、コンピュータまたはその他のプログラマブル装置上で実行する命令が、単一または複数のブロックにおいて指定される機能を実施するためのステップを提供するように、コンピュータ実施のプロセスを生成するためにコンピュータまたはその他のプログラマブル装置上で一連の操作ステップが実行されるようにすることができる。
当業者であれば、本発明の機能を定義するプログラムが、(a)非書き込み可能ストレージ媒体(たとえば、コンピュータI/Oアタッチメントによって読取り可能なROMまたはCD−ROMディスクのようなコンピュータ内の読取り専用メモリ・デバイス)に永続的に格納された情報、または(b)書き込み可能ストレージ媒体(たとえば、フロッピーディスクおよびハードドライブ)に変更可能に格納された情報を含むがこれらに限定されることはない多数の形態で、コンピュータに搬送され得ることを容易に理解すべきである。
本発明は、上記の例示的な実施形態を通じて説明されているが、開示される本明細書における発明の概念を逸脱することなく、例示される実施形態の変更および変形が行なわれてもよいことが当業者には理解されよう。

Claims (13)

  1. 異なる認証ドメインにわたり操作を実行する方法であって、
    初期認証ドメインに位置する初期サーバ・システムにより、クライアント・システムからメッセージで送信された要求された操作を受信するステップと、
    前記初期サーバ・システムにより、前記要求された操作が前記初期認証ドメイン以外の認証ドメインに位置する少なくとも1つのリソースを必要とすることを決定することに応じて、前記初期サーバ・システムにより、前記初期サーバ・システムのメモリにおいて、前記要求された操作を完了するために前記クライアント・システムによってコンタクトされるべき1つまたは複数のその他の認証ドメインを指示するリダイレクション・リストを作成するステップと、
    前記要求された操作を完了するために前記リダイレクション・リストにおいて指示される前記その他の認証ドメインにコンタクトするよう前記クライアント・システムに命令する、前記初期サーバ・システムから前記クライアント・システムに前記リダイレクション・リストを送信するステップとを備え
    前記リダイレクション・リストを作成するステップは、複数のリスト・エントリを作成するステップを含み、前記リスト・エントリの各々は、
    i)前記クライアント・システムによってコンタクトされるべき前記その他の認証ドメインのうちの対応する1つを記述し、
    ii)前記その他の認証ドメインのうちの前記対応する1つがどのように前記クライアント・システムによってコンタクトされるかを指示する方法。
  2. リスト・エントリは、
    i)前記クライアント・システムによってコンタクトされるべき前記その他の認証ドメインのうちの前記対応する1つのサーバ・システムを指示するユニフォーム・リソース・ロケータ(URL)と、
    ii)メソッドと、
    iii)本体とを含み、
    前記クライアント・システムは、各リスト・エントリについて、ハイパーテキスト転送プロトコル(HTTP)要求を前記その他の認証ドメインのうちの前記対応する1つの前記サーバ・システムに発行することによって前記その他の認証ドメインにコンタクトし、
    前記HTTP要求は、前記リスト・エントリに含まれる前記メソッド、前記URL、および前記本体を含む請求項1に記載の方法。
  3. 前記クライアント・システムにより、前記その他の認証ドメインから部分結果を受信するステップであって、前記その他の認証ドメインのそれぞれ1つから受信される各部分結果は、前記要求された操作をその認証ドメインに含まれる少なくとも1つのリソースに適用することによって得られる少なくとも1つの結果を備えるステップと、
    前記リダイレクション・リストに応じて前記クライアント・システムにより、前記その他の認証ドメインから受信された前記部分結果を単一の最終結果に集約するステップと、
    前記クライアント・システムにより、前記最終結果を前記クライアント・システムのユーザに表示するステップとをさらに備える請求項に記載の方法。
  4. 前記初期サーバ・システムにより、前記要求された操作を前記初期認証ドメインに含まれる少なくとも1つのリソースに適用することによって部分結果を生成するステップと、
    前記初期サーバ・システムにより、前記部分結果を前記クライアント・システムに送信するステップと、
    前記クライアント・システムにより、前記初期サーバ・システムから前記部分結果を受信するステップとをさらに備え、
    前記その他の認証ドメインから受信された前記部分結果を単一の最終結果に集約するステップは、前記初期サーバ・システムから受信された前記部分結果を、前記その他の認証ドメインから受信された前記部分結果と共に集約するステップを含む請求項1に記載の方法。
  5. 前記クライアント・システムにより、前記クライアント・システムのユーザ・インターフェイスを通じて前記クライアント・システムのユーザから、前記初期認証ドメイン以外の認証ドメインに位置する少なくとも1つのリソースの選択を受信するステップと、
    前記要求された操作における前記クライアント・システムにより、前記初期認証ドメイン以外の前記認証ドメインに位置する前記ユーザ選択のリソースの指示を格納するステップとをさらに備え、
    前記要求された操作が前記初期認証ドメイン以外の認証ドメインに位置する少なくとも1つのリソースを必要とすることを前記初期サーバ・システムにより決定することは、前記要求された操作において、前記初期認証ドメイン以外の前記認証ドメインに位置する前記ユーザ選択のリソースの前記指示を見出すことに応じ、
    前記リダイレクション・リストを作成するステップは、前記ユーザ選択のリソースが位置する前記認証ドメインに対応する前記リダイレクション・リストにエントリを作成するステップを含む請求項に記載の方法。
  6. 前記クライアント・システムのユーザ・インターフェイスを通じて前記クライアント・システムのユーザから、前記要求された操作が前記ユーザのアカウントにリンクされたすべての認証ドメインのすべてのリソースにわたり、前記クライアント・システムにより実行されることを示す指示を受信するステップと、
    前記初期サーバ・システムに格納されているアカウント情報に応じて、前記ユーザの前記アカウントに以前リンクされた認証ドメインを前記初期サーバ・システムにより識別するステップであって、前記ユーザの前記アカウントに以前リンクされた前記認証ドメインは、前記初期認証ドメイン以外であるステップとをさらに備え、
    前記要求された操作が前記初期認証ドメイン以外の認証ドメインに位置する少なくとも1つのリソースを必要とすることを前記初期サーバ・システムにより決定することは、前記ユーザの前記アカウントに以前リンクされた前記認証ドメインを識別することに応じ、
    前記リダイレクション・リストを作成するステップは、前記ユーザの前記アカウントに以前リンクされた前記認証ドメインに対応する前記リダイレクション・リストにエントリを作成するステップを含む請求項に記載の方法。
  7. 前記要求された操作は、少なくとも1つの検索クエリを含む検索操作を備え、
    前記その他の認証ドメインからの前記受信された部分結果の各々は、前記検索クエリと一致する前記その他の認証ドメインに格納されているドキュメントのリストを備え、
    前記クライアント・システムは、ドキュメントの前記リストを結合することによって前記部分結果を、前記検索クエリと一致するドキュメントの最終リストに集約することをさらに備える請求項に記載の方法。
  8. 前記初期サーバ・システムは、部分結果を前記クライアント・システムにさらに送信し、前記部分結果は、前記検索クエリと一致する前記初期認証ドメインに格納されているドキュメントのリストを備え、
    前記クライアント・システムは、前記初期サーバ・システムから受信された前記部分結果を前記その他の認証ドメインから受信された前記部分結果と結合して、前記検索クエリと一致するドキュメントの前記最終リストにする請求項に記載の方法。
  9. 前記要求された操作は、ソース・ファイル・リポジトリに格納されているファイルがターゲット・ファイル・リポジトリにコピーされることを指示するコピー操作を備え、
    前記ソース・ファイル・リポジトリは前記その他の認証ドメインのうちの第1の認証ドメインに位置し、
    前記ターゲット・ファイル・リポジトリは前記その他の認証ドメインのうちの第2の認証ドメインに位置し、
    前記リダイレクション・リストを作成するステップは、
    ソース・サーバのURLを格納する第1のリスト・エントリを作成するステップであって、前記ソース・サーバは前記その他の認証ドメインのうちの第1の認証ドメインに位置するステップと、
    ターゲット・サーバのURLを格納する第2のリスト・エントリを作成するステップであって、前記ターゲット・サーバは前記その他の認証ドメインのうちの第2の認証ドメインに位置するステップと、
    転送サーバのURLを格納する第3のリスト・エントリを作成するステップであって、前記転送サーバは前記ソース・ファイル・リポジトリから前記ターゲット・ファイル・リポジトリに前記ファイルをコピーすることの責任を負うステップとを含む請求項1に記載の方法。
  10. 前記初期認証ドメイン以外の前記認証ドメインに位置する前記ユーザ選択のリソースは、ファイル・リポジトリを備え、
    前記初期認証ドメイン以外の前記認証ドメインに位置する前記ユーザ選択のリソースの前記指示を格納するステップは、前記要求された操作において前記ファイル・リポジトリを指し示すパスを格納するステップを含む請求項に記載の方法。
  11. 異なる認証ドメインにわたり操作を実行するためのシステムであって、
    処理回路と、該処理回路に結合されたメモリとを備えるアプリケーション・プログラミング・インターフェイス(API)サーバであって、該メモリは、前記処理回路によって遂行されるとき、前記APIサーバに、
    クライアント・システムからメッセージで送信された要求された操作を受信することと、
    前記要求された操作が、前記APIサーバが位置する初期認証ドメイン以外の認証ドメインに位置する少なくとも1つのリソースを必要とすることを決定することと、
    前記APIサーバの前記メモリにおいて、前記操作が前記初期認証ドメイン以外の認証ドメインに位置する少なくとも1つのリソースを必要とすることの前記決定に応じて、前記要求された操作を完了するために前記クライアント・システムによってコンタクトされるべき1つまたは複数のその他の認証ドメインを指示するリダイレクション・リストを作成することと、
    前記APIサーバ・システムから前記クライアント・システムに前記リダイレクション・リストを送信することであって、前記リダイレクション・リストは、前記要求された操作を完了するために前記リダイレクション・リストにおいて指示される前記その他の認証ドメインにコンタクトするよう前記クライアント・システムに命令することと、を行わせる命令を格納するAPIサーバを備え
    前記リダイレクション・リストは複数のリスト・エントリを含み、
    前記リスト・エントリの各々は、
    i)前記クライアント・システムによってコンタクトされるべき前記その他の認証ドメインのうちの対応する1つを記述し、
    ii)前記その他の認証ドメインのうちの前記対応する1つが前記クライアント・システムによってコンタクトされる方法を指示することをさらに備えるシステム。
  12. リスト・エントリは、
    i)前記クライアント・システムによってコンタクトされるべき前記その他の認証ドメインのうちの前記対応する1つのサーバ・システムを指示するユニフォーム・リソース・ロケータ(URL)と、
    ii)メソッドと、
    iii)本体とを含み、
    前記リダイレクション・リストは、前記クライアント・システムに、各リスト・エントリについて、ハイパーテキスト転送プロトコル(HTTP)要求を前記その他の認証ドメインのうちの前記対応する1つの前記サーバ・システムに発行することによって前記その他の認証ドメインにコンタクトすることを行わせ、
    前記HTTP要求は、前記リスト・エントリに含まれる前記メソッド、前記URL、および前記本体を含む請求項11に記載のシステム。
  13. 前記クライアント・システムは、処理回路と、該処理回路に結合されたメモリとを備え、前記メモリは、前記処理回路によって遂行されるとき、前記クライアント・システムに、
    前記その他の認証ドメインから部分結果を受信させることであって、前記その他の認証ドメインのそれぞれ1つから受信される各部分結果が、前記要求された操作をその認証ドメインに含まれる少なくとも1つのリソースに適用することによって得られる少なくとも1つの結果を備えることと、
    前記その他の認証ドメインから受信された前記部分結果を単一の最終結果に集約することと、
    前記最終結果を前記クライアント・システムのユーザに表示することとを行わせる命令を格納することをさらに備える請求項12に記載のシステム。
JP2017544294A 2015-03-02 2016-02-26 REST(Representational State Transfer)準拠のクライアントを使用する異なる認証ドメインに位置するファイル・リポジトリ上での操作の実行 Expired - Fee Related JP6495467B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/635,663 2015-03-02
US14/635,663 US9485244B2 (en) 2015-03-02 2015-03-02 Executing an operation over file repositories located in different authentication domains using a representational state transfer (REST)-compliant client
PCT/US2016/019822 WO2016140882A1 (en) 2015-03-02 2016-02-26 Executing an operation over file repositories located in different authentication domains using a representational state transfer (rest)-compliant client

Publications (2)

Publication Number Publication Date
JP2018514832A JP2018514832A (ja) 2018-06-07
JP6495467B2 true JP6495467B2 (ja) 2019-04-03

Family

ID=55586402

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017544294A Expired - Fee Related JP6495467B2 (ja) 2015-03-02 2016-02-26 REST(Representational State Transfer)準拠のクライアントを使用する異なる認証ドメインに位置するファイル・リポジトリ上での操作の実行

Country Status (4)

Country Link
US (1) US9485244B2 (ja)
EP (1) EP3251048B1 (ja)
JP (1) JP6495467B2 (ja)
WO (1) WO2016140882A1 (ja)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113190495A (zh) 2014-12-08 2021-07-30 安博科技有限公司 从远程网络区域进行内容检索的系统及方法
US11711346B2 (en) 2015-01-06 2023-07-25 Umbra Technologies Ltd. System and method for neutral application programming interface
CN115834534A (zh) 2015-01-28 2023-03-21 安博科技有限公司 用于全局虚拟网络的系统
US10756929B2 (en) 2015-04-07 2020-08-25 Umbra Technologies Ltd. Systems and methods for providing a global virtual network (GVN)
EP3308504A4 (en) 2015-06-11 2019-01-02 Umbra Technologies Ltd. System and method for network tapestry multiprotocol integration
EP4236264A3 (en) 2015-12-11 2023-11-08 Umbra Technologies Ltd. System and method for information slingshot over a network tapestry and granularity of a tick
CN116112539A (zh) 2016-04-26 2023-05-12 安博科技有限公司 吊索路由逻辑与负载均衡
WO2018189352A1 (en) * 2017-04-14 2018-10-18 Koninklijke Kpn N.V. Transmitting and receiving an interest message specifying an aggregation parameter
US10579363B2 (en) 2017-11-29 2020-03-03 Citrix Systems, Inc. Cloud service automation of common image management
US11005891B2 (en) 2018-11-12 2021-05-11 Citrix Systems, Inc. Systems and methods for live SaaS objects
WO2020191455A1 (en) * 2019-03-27 2020-10-01 Xard Group Pty Ltd Security architecture on a digital payment device (dpd)
US10970419B1 (en) * 2020-07-31 2021-04-06 Snowflake Inc. Data clean room
US20230015789A1 (en) * 2021-07-08 2023-01-19 Vmware, Inc. Aggregation of user authorizations from different providers in a hybrid cloud environment

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE60130037T2 (de) 2000-11-09 2008-05-08 International Business Machines Corp. Verfahren und system zur web-basierten cross-domain berechtigung mit einmaliger anmeldung
US8671410B2 (en) * 2004-10-04 2014-03-11 Blackberry Limited System and method for allocation of threads to user objects in a computer system
JP2006323721A (ja) * 2005-05-20 2006-11-30 Fuji Xerox Co Ltd データ管理システム及びデータサーバ及びデータ管理方法
JP2008197973A (ja) * 2007-02-14 2008-08-28 Mitsubishi Electric Corp ユーザ認証システム
US20090132713A1 (en) 2007-11-20 2009-05-21 Microsoft Corporation Single-roundtrip exchange for cross-domain data access
US8024777B2 (en) * 2008-11-20 2011-09-20 Mark Kevin Shull Domain based authentication scheme
US20100268932A1 (en) * 2009-04-16 2010-10-21 Deb Priya Bhattacharjee System and method of verifying the origin of a client request
US9049182B2 (en) 2009-08-11 2015-06-02 Novell, Inc. Techniques for virtual representational state transfer (REST) interfaces
US8180768B2 (en) 2009-08-13 2012-05-15 Politecnico Di Milano Method for extracting, merging and ranking search engine results
WO2012094602A1 (en) * 2011-01-07 2012-07-12 Interdigital Patent Holdings, Inc. Client and server group sso with local openid
US9128764B2 (en) 2011-09-27 2015-09-08 Oracle International Corporation System and method for providing flexibility in configuring HTTP load balancing in a traffic director environment

Also Published As

Publication number Publication date
JP2018514832A (ja) 2018-06-07
US9485244B2 (en) 2016-11-01
WO2016140882A1 (en) 2016-09-09
EP3251048A1 (en) 2017-12-06
EP3251048B1 (en) 2019-04-17
US20160261575A1 (en) 2016-09-08

Similar Documents

Publication Publication Date Title
JP6495467B2 (ja) REST(Representational State Transfer)準拠のクライアントを使用する異なる認証ドメインに位置するファイル・リポジトリ上での操作の実行
US10708252B2 (en) Configuring credentials to faciltate sharing data in a secure manner
US9871662B2 (en) Systems and methods for digital certificate and encryption key management
CN106716404B (zh) 计算机子网内的代理服务器
US8898765B2 (en) Signing off from multiple domains accessible using single sign-on
US9124569B2 (en) User authentication in a cloud environment
US8844013B2 (en) Providing third party authentication in an on-demand service environment
US20210084019A1 (en) Secured rest execution inside headless web application
US11334529B2 (en) Recommending files for file sharing system
US10511584B1 (en) Multi-tenant secure bastion
US11544344B2 (en) Remote web browsing service
CN113170283A (zh) 基于到应用用户的消息触发事件通知
US9021558B2 (en) User authentication based on network context
EP3513316B1 (en) Personalized search environment
US9948648B1 (en) System and method for enforcing access control to publicly-accessible web applications
CA3167263A1 (en) Identifying an application for communicating with one or more individuals
US20230353466A1 (en) Systems and methods for routing remote application data
US11677562B2 (en) HASSH profiling mechanism
US11055079B2 (en) Systems and methods for just-in-time application implementation
US11290522B2 (en) File transfer control systems and methods
EP4303729A1 (en) Exposing standardized events within an api proxy system
WO2024011346A1 (en) Secure storage and maintenance of potentially sensitive file downloads
JP2016071464A (ja) クラウドコンピュータナビゲーションシステム

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180911

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20181106

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190201

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: 20190212

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190306

R150 Certificate of patent or registration of utility model

Ref document number: 6495467

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees