JP2017507592A - モバイルクラウドサービスアーキテクチャ - Google Patents

モバイルクラウドサービスアーキテクチャ Download PDF

Info

Publication number
JP2017507592A
JP2017507592A JP2016550594A JP2016550594A JP2017507592A JP 2017507592 A JP2017507592 A JP 2017507592A JP 2016550594 A JP2016550594 A JP 2016550594A JP 2016550594 A JP2016550594 A JP 2016550594A JP 2017507592 A JP2017507592 A JP 2017507592A
Authority
JP
Japan
Prior art keywords
computer system
enterprise
cloud
security
request
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
JP2016550594A
Other languages
English (en)
Other versions
JP6364496B2 (ja
Inventor
バン・デ・ルー,カイ
Original Assignee
オラクル・インターナショナル・コーポレイション
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 オラクル・インターナショナル・コーポレイション filed Critical オラクル・インターナショナル・コーポレイション
Publication of JP2017507592A publication Critical patent/JP2017507592A/ja
Application granted granted Critical
Publication of JP6364496B2 publication Critical patent/JP6364496B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • 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
    • G06F21/6236Protecting 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 between heterogeneous systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/02Standardisation; Integration
    • H04L41/0226Mapping or translating multiple network management protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/029Firewall traversal, e.g. tunnelling or, creating pinholes
    • 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
    • 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
    • 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/0853Network architectures or network communication protocols for network security for authentication of entities using an additional device, e.g. smartcard, SIM or a different communication terminal
    • 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/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/14Session management
    • H04L67/141Setup of application sessions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/08Protocols for interworking; Protocol conversion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/30Security of mobile devices; Security of mobile applications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0281Proxies
    • 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/0884Network architectures or network communication protocols for network security for authentication of entities by delegation of authentication, e.g. a proxy authenticates an entity to be authenticated on behalf of this entity vis-à-vis an authentication entity
    • 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/56Provisioning of proxy services
    • H04L67/565Conversion or adaptation of application format or content
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/08Access security
    • H04W12/084Access security using delegated authorisation, e.g. open authorisation [OAuth] protocol
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/60Context-dependent security
    • H04W12/63Location-dependent; Proximity-dependent
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/18Information format or content conversion, e.g. adaptation by the network of the transmitted or received information for the purpose of wireless delivery to users or terminals

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Databases & Information Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Strategic Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Human Resources & Organizations (AREA)
  • Economics (AREA)
  • General Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Tourism & Hospitality (AREA)
  • Quality & Reliability (AREA)
  • Operations Research (AREA)
  • Data Mining & Analysis (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Telephonic Communication Services (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

コンピューティングデバイス(例えばモバイルコンピューティングデバイス)とエンタープライズコンピュータシステムとの間における通信を容易にするようにクラウドコンピュータシステムを実現するための技術が記載されている。特定の実施の形態では、クラウドコンピュータシステムは、エンタープライズコンピュータシステムによって提供されるサービスに対する要求をコンピューティングデバイスから受信してもよい。クラウドコンピュータシステムは、要求されたサービスに対するユーザのセキュリティ認証を判断してもよい。要求されたエンタープライズコンピュータシステムに対してセキュリティプロトコルが決定されてもよく、決定されたセキュリティプロトコルに従って要求に対してセキュリティトークンが生成されてもよい。要求は、要求されたエンタープライズコンピュータシステムに送信されてもよい。いくつかの実施の形態では、エンタープライズコンピュータシステムに対する要求に関するセキュリティ認証は、以前の認証に基づいて判断されてもよい。クラウドコンピュータシステムは、いくつかの異なるエンタープライズコンピュータシステムと、それらのサポートされるプロトコル(例えば通信プロトコルおよび/またはセキュリティプロトコル)に従って通信するよう構成されてもよい。

Description

関連出願の相互参照
本願は、「モバイルクラウドサービスアーキテクチャ(MOBILE CLOUD SERVICE ARCHITECTURE)」と題される2014年9月2日に出願された米国出願番号第14/475,285号の優先権および利益を主張し、米国出願番号第14/475,285号は、「モバイルクラウドサービス(MOBILE CLOUD SERVICE:MCS)」と題される2014年2月7日に出願された米国仮出願番号第61/937,316号の優先権および利益を主張し、上記の特許出願の内容全体は、すべての目的で引用によって本明細書に援用される。
著作権
この特許文書の開示の一部は、著作権保護の対象である資料を含んでいる。著作権者は何人による特許文書または特許情報開示の、それが特許商標庁の特許のファイルまたは記録に現れるとおりのファクシミリ複製に異議を申し立てることはないが、他の場合にはいかなるときもすべての著作権を保有する。
技術分野
本開示は、一般にコンピュータインフラストラクチャの分野に関する。具体的に提示されるのは、クラウドコンピュータシステムを介したモバイルコンピューティングデバイスとエンタープライズコンピュータシステムとの間における通信を容易にするための技術である。
背景
企業は、電子モバイルデバイスをエンタープライズコンピュータシステムに接続する方法を見つけようと懸命に努力している。外出中の従業員が、エンタープライズコンピュータシステム上の情報の記憶場所から遠く離れた場所から情報にアクセスすることができるようになるからである。したがって、従業員は、どこにいようと、あたかもオフィスにいるかのように情報を管理することができる。そのような機能により、販売員は路上で仕事をすることができるようになり、修理技術者は顧客現場にいながら部品を探すことができるようになり、他の従業員は家で仕事をすることができるようになる。
同様に、いくつかの企業は、多くの場合バックエンドコンピュータシステムを用いて実現されるエンタープライズコンピュータシステムから最終顧客がデータにアクセスできるようにしたいであろう。そのようなアクセスは、企業とその競合他社とを区別し、カスタマーエクスペリエンスを向上させ、企業のコストを削減することができる。例えば、特定の店舗では、顧客が店頭在庫から商品を探すことができる。このタイプのセルフサービスは、顧客が自分の思うがままに、暇をみて買い物できるようにすることによってカスタマーエクスペリエンスを向上させ、販売員、オペレータおよび他のスタッフの必要性を下げる。
多くのスマートフォンおよび他の電子モバイル通信デバイスには、一般に「アプリ」と称されるモバイルデバイスアプリケーションが存在する。アプリのタイプまたはアプリによって使用されるデータのタイプによっては、アプリは、さまざまなエンタープライズコンピュータシステムと接続および同期する必要がある可能性がある。多くのエンタープライズコンピュータシステムは、アプリケーションおよびデータのタイプによって異なり得るさまざまなバックエンドコンピュータシステムによってサポートされるであろう。したがって、さまざまなバックエンドエンタープライズシステムは、データをデバイスに通信するためにさまざまな通信プロトコルおよび機構を使用し得る。したがって、さまざまなアプリを実行するさまざまなモバイルコンピューティングデバイスは、エンタープライズコンピュータシステムをサポートするさまざまなバックエンドコンピュータシステムとの通信について課題に直面する可能性がある。
アプリと特定のエンタープライズコンピューティングシステムとの間における通信を可能にする際の課題に加えて、エンタープライズの内部コンピュータシステムへのアクセスを可能にする際にはセキュリティが大きな懸案事項になる可能性がある。モバイルコンピューティングデバイスとエンタープライズコンピュータシステムとの間におけるサポートされる通信プロトコルの違いは、モバイルコンピューティングデバイスとエンタープライズコンピュータシステムとの間における通信でのアクセス保護の管理をさらに複雑にするおそれがある。アプリケーションの認証を確実にして所有権付きセキュリティプロトコルに従って特定のエンタープライズコンピュータシステムにアクセスするように、さまざまな機構が実現されてもよい。いくつかの機構は、既製の消費者モバイルデバイスを企業のバックエンドエンタープライズシステムと接続することによって、セキュリティに関するそのような整合性の問題に対処しようとしてきた。これらのデバイスは、エンタープライズコンピュータシステムをサポートするバックエンドコンピュータシステムとの通信に専用の特別なポータルを介してエンタープライズのネットワークに接続するよう構成されたアプリケーションまたはオペレーティングシステムを備えてもよい。
モバイルデバイスの製造者、アプリケーション開発者およびエンタープライズは、モバイルデバイスをエンタープライズのバックエンドコンピュータシステムに接続するためのよりフレキシブルかつ堅固な技術の恩恵を受けることができる。
簡潔な概要
コンピューティングデバイス(例えばモバイルコンピューティングデバイス)とエンタープライズコンピュータシステムとの間における通信を容易にするようにクラウドコンピュータシステムを実現するための技術が記載されている。特定の実施の形態では、クラウドコンピュータシステムは、エンタープライズコンピュータシステムによって提供されるサービスに対する要求をコンピューティングデバイスから受信してもよい。クラウドコンピュータシステムは、要求されたサービスに対するユーザのセキュリティ認証を判断してもよい。要求されたエンタープライズコンピュータシステムに対してセキュリティプロトコルが決定されてもよく、決定されたセキュリティプロトコルに従って要求に対してセキュリティトークンが生成されてもよい。要求は、要求されたエンタープライズコンピュータシステムに送信されてもよい。いくつかの実施の形態では、エンタープライズコンピュータシステムに対する要求に関するセキュリティ認証は、以前の認証に基づいて判断されてもよい。クラウドコンピュータシステムは、いくつかの異なるエンタープライズコンピュータシステムと、それらのサポートされるプロトコル(例えば通信プロトコルおよび/またはセキュリティプロトコル)に従って通信するよう構成されてもよい。
特定の実施の形態では、クラウドコンピュータシステムは、コンピューティングデバイスから要求を受信するために1つ以上の呼出可能インターフェイスを提供してもよい。要求は、呼出可能インターフェイスによってサポートされる1つのフォーマット(例えば規格、スタイル、プロトコルなど)に従って受信されてもよい。クラウドコンピュータシステムは、要求を、要求されたエンタープライズコンピュータシステムによってサポートされる別のフォーマット(例えば規格、スタイル、プロトコルなど)に変換または翻訳してもよい。これらのフォーマットは、異なってもよい。いくつかの実施の形態では、エンタープライズコンピュータシステムは、エンタープライズのオンプレミスに位置するエージェントコンピューティングシステムを含んでもよい。エージェントコンピューティングシステムは、クラウドコンピュータシステムと通信するよう構成されてもよい。エージェントコンピューティングシステムは、バックエンドサーバによってサポートされるプロトコルまたは規格に従って要求を翻訳もしくは変換してもよく、および/または要求をそれらのバックエンドサーバに仕向けてもよい。
少なくとも1つの例に従って、モバイルコンピューティングデバイスとエンタープライズコンピュータシステムとの間における通信を容易にするための技術が提供されてもよい。そのような技術は、コンピュータシステム(例えばクラウドコンピュータシステム)によって実現されてもよい。コンピュータシステムは、1つ以上のプロセッサと、1つ以上のプロセッサと結合され、1つ以上のプロセッサによって読取可能な1つ以上のメモリ装置とを含んでもよい。例えば、コンピューティングシステムは、クラウドサーバコンピュータを含んでもよい。1つ以上のメモリ装置は、命令の組を記憶してもよく、当該命令の組は、1つ以上のプロセッサによって実行されると、1つ以上のプロセッサに本明細書に開示される技術を実行させる。当該技術は、コンピュータによって実行される方法を含み得る。当該方法は、クラウドコンピュータシステムによって、エンタープライズコンピュータシステムからのサービスに対する要求をモバイルコンピューティングデバイスから受信するステップを含んでもよい。特定の実施の形態では、モバイルコンピューティングデバイスから受信される要求およびエンタープライズコンピュータシステムに送信される要求は、異なるレプレゼンテーショナル・ステート・トランスファー(REST)アーキテクチャスタイルに準拠してもよい。特定の実施の形態では、モバイルコンピューティングデバイスから受信される要求は、第1のハイパーテキスト転送プロトコル(HTTP)メッセージを含み、エンタープライズコンピュータシステムに送信される要求は、第2のHTTPメッセージを含む。特定の実施の形態では、要求は、ユーザのユーザアイデンティティ情報を含んでもよい。クラウドコンピュータシステムは、エンタープライズコンピュータシステムの第2の地理的位置とは異なる第1の地理的位置に位置してもよい。クラウドコンピュータシステムおよびエンタープライズコンピュータシステムは、公衆通信網を介して通信してもよい。当該方法はさらに、要求に関連付けられたモバイルコンピューティングデバイスのユーザに関して、セキュリティ認証を取得して、クラウドコンピュータシステムを介して少なくとも1つのサービスを取得するステップを含んでもよい。当該方法は、ユーザのセキュリティ認証を判断するためにアイデンティティ管理システムに要求を送信するステップを含んでもよい。当該方法はさらに、セキュリティ認証を示す情報を記憶するステップを含んでもよい。当該方法はさらに、ユーザのセキュリティ認証に基づいて、クラウドコンピュータシステムを介してユーザがアクセス可能な複数のエンタープライズコンピュータシステムを識別するステップを含んでもよい。特定の実施の形態では、複数のエンタープライズコンピュータシステムのうちの少なくとも1つは、複数のエンタープライズコンピュータシステムのうちの異なる1つとは異なるセキュリティプロトコルを用いて通信してもよい。当該方法はさらに、エンタープライズコンピュータシステムが、ユーザがアクセス可能な複数のエンタープライズコンピュータシステムに含まれることを確認するステップを含んでもよい。特定の実施の形態では、複数のエンタープライズコンピュータシステムは、オンプレミスエージェントシステムを有するエンタープライズコンピュータシステムを含んでもよい。オンプレミスエージェントシステムは、複数のサーバコンピュータを含んでもよく、各サーバコンピュータは、異なるエンタープライズサービスを提供する。オンプレミスエージェントシステムは、公衆通信網を介してクラウドコンピュータシステムと通信してもよい。特定の実施の形態では、クラウドコンピュータシステムは、アプリケーションプログラミングインターフェイス(API)を提供する。APIは、第1の通信プロトコルを用いてサービスに対する要求を受信してもよい。APIは、モバイルコンピューティングデバイスのユーザによって構成可能であってもよい。特定の実施の形態では、クラウドコンピュータシステムは、APIの1つ以上の構成に対応するメタデータを記憶するデータベースを含む。複数のエンタープライズコンピュータシステムの各エンタープライズコンピュータシステムは、第2の通信プロトコルを用いてサービスに対する要求を受信してもよい。第2の通信プロトコルは、第1の通信プロトコルとは異なってもよい。特定の実施の形態では、第1の通信プロトコルおよび第2の通信プロトコルは、HTTPに準拠する。特定の実施の形態では、複数のエンタープライズコンピュータシステムの各エンタープライズコンピュータシステムは、サービスに対する要求を受信するための異なる第2の通信プロトコルをサポートする。特定の実施の形態では、当該方法は、第1の通信プロトコルのフォーマットから第2の通信プロトコルに対応する異なるフォーマットに要求を変換するステップを含んでもよい。変換された要求は、エンタープライズコンピュータシステムに送信されてもよい。当該方法はさらに、エンタープライズコンピュータシステムからサービスを要求するためのセキュリティプロトコルを決定するステップを含んでもよい。当該方法はさらに、エンタープライズコンピュータシステムのための決定されたセキュリティプロトコルに対応するセキュリティトークンを生成するステップを含んでもよい。セキュリティトークンは、ユーザのセキュリティ認証を示す情報に基づいて生成されてもよい。特定の実施の形態では、セキュリティトークンは、セキュリティ・アサーション・マークアップ言語(SAML)を用いたフォーマットで構造化されてもよい。当該方法はさらに、要求されたサービスに対する要求をエンタープライズコンピュータシステムに送信するステップを含んでもよい。要求は、生成されたセキュリティトークンを含んでもよい。特定の実施の形態では、当該方法は、要求されたサービスに対する応答をエンタープライズコンピュータシステムから受信するステップと、第2の通信プロトコルのフォーマットから第1の通信プロトコルのフォーマットに応答を変換するステップと、変換された応答をモバイルコンピューティングデバイスに提供するステップとを含んでもよい。応答は、エンタープライズコンピュータシステムの第2の通信プロトコルのフォーマットを有してもよい。
少なくとも1つの例に従って、モバイルコンピューティングデバイスとエンタープライズコンピュータシステムとの間における通信を容易にするためのクラウドコンピュータシステムが提供される。クラウドコンピュータシステムは、1つ以上のプロセッサと、1つ以上のプロセッサと結合され、1つ以上のプロセッサによって読取可能な1つ以上のメモリ装置と、通信モジュールと、プロトコルトランスレータと、セキュリティサービスとを含んでもよい。通信モジュールは、第1の通信プロトコルを用いてサービスに対する要求をモバイルコンピューティングデバイスから受信してもよく、サービスは、エンタープライズコンピュータシステムによって提供され、エンタープライズコンピュータシステムは、コンピュータシステムの第2の地理的位置とは異なる第1の地理的位置に位置し、コンピュータシステムおよびエンタープライズコンピュータシステムは、公衆通信網を介して通信する。通信モジュールは、第2の通信プロトコルを用いてサービスに対する要求をエンタープライズコンピュータシステムに送信してもよく、第2の通信プロトコルは、第1の通信プロトコルとは異なる。通信モジュールは、サービスに対する要求への応答を第2の通信プロトコルを介してエンタープライズコンピュータシステムから受信してもよい。通信モジュールは、受信された応答をモバイルコンピューティングデバイスに送信してもよい。プロトコルトランスレータは、モバイルコンピューティングデバイスから受信された要求を変換してもよく、要求は、第1の通信プロトコルの第1のフォーマットから第2の通信プロトコルの第2のフォーマットに変換される。プロトコルトランスレータは、エンタープライズコンピュータシステムから受信された応答を変換してもよく、応答は、第2の通信プロトコルの第2のフォーマットから第1の通信プロトコルの第1のフォーマットに変換され、変換された応答は、モバイルコンピューティングデバイスに対する応答として送信される。セキュリティサービスは、要求に関連付けられたモバイルコンピューティングデバイスのユーザに関して、セキュリティ認証を取得して、クラウドコンピュータシステムを介して少なくとも1つのサービスを取得してもよい。セキュリティサービスは、セキュリティ認証を示す情報を記憶してもよい。セキュリティサービスは、ユーザのセキュリティ認証に基づいて、クラウドコンピュータシステムを介してユーザがアクセス可能な複数のエンタープライズコンピュータシステムを識別してもよい。セキュリティサービスは、エンタープライズコンピュータシステムが、ユーザがアクセス可能な複数のエンタープライズコンピュータシステムに含まれることを確認してもよい。セキュリティサービスは、エンタープライズコンピュータシステムからサービスを要求するためのセキュリティプロトコルを決定してもよい。セキュリティサービスは、エンタープライズコンピュータシステムのための決定されたセキュリティプロトコルに対応するセキュリティトークンを生成してもよく、セキュリティトークンは、ユーザのセキュリティ認証を示す情報に基づいて生成され、生成されたセキュリティトークンは、エンタープライズコンピュータシステムに送信される要求に含まれる。
少なくとも1つの例に従って、モバイルコンピューティングデバイスとオンプレミスエンタープライズコンピュータシステムとの間における通信を容易にするためのクラウドコンピュータシステムが提供される。クラウドコンピュータシステムは、クラウドコンピュータデバイスを含んでもよく、クラウドコンピュータデバイスは、第1のアーキテクチャスタイルに準拠するHTTPメッセージをアプリケーションプログラミングインターフェイス(API)を介してモバイルコンピューティングデバイスから受信し、第2のアーキテクチャスタイルに準拠するHTTPメッセージを生成して、エージェントに送信するよう構成される。クラウドコンピュータシステムは、クラウドコンピュータデバイスと接続されたファイアウォールを含んでもよく、内部ネットワークおよび外部ネットワークは、ファイアウォールによって分離され、ファイアウォールは、第1のアーキテクチャスタイルに準拠するHTTPメッセージの、モバイルコンピューティングデバイスとクラウドコンピューティングデバイスとの間における通信を許可し、第2のアーキテクチャスタイルに準拠するHTTPメッセージの、クラウドコンピュータデバイスとエージェントとの間における通信を許可するよう構成される。クラウドコンピュータシステムは、クラウドコンピュータデバイスと接続されたメタデータリポジトリを含んでもよく、メタデータリポジトリは、APIを実現するためのメタデータを記憶するよう構成され、実現することは、第1のアーキテクチャスタイルと第2のアーキテクチャスタイルとの間で翻訳することを含み、メタデータリポジトリは、外部ネットワークを介して、認証されたユーザによって変更可能である。
この概要は、主張される主題の鍵となる、または本質的な特徴を識別するように意図されるものではなく、主張される主題の範囲を判断するよう独立して用いられるように意図されるものでもない。主題は、この特許の明細書全体の適切な部分、いずれかまたはすべての図面、および各請求項への参照によって理解されるべきである。
以下の詳細な説明は、添付の図面とともに、本発明の性質および利点のよりよい理解を提供する。
図面の簡単な説明
本発明の例示的な実施の形態が、以下の図面を参照して以下に詳細に記載される。
本発明のいくつかの実施の形態に従ってモバイルコンピューティングデバイスとエンタープライズコンピュータシステムとの間における通信を容易にするためのコンピューティング環境のブロック図を示す。 本発明のいくつかの実施の形態に従ってモバイルコンピューティングデバイスとエンタープライズコンピュータシステムとの間における通信を容易にするためのコンピューティング環境のブロック図を示す。 本発明のいくつかの実施の形態に従ってコンピューティングデバイスとエンタープライズコンピュータシステムとの間における通信を容易にするためのプロセスのシーケンス図を示す。 本発明のいくつかの実施の形態に従ってモバイルコンピューティングデバイスとエンタープライズコンピュータシステムとの間における通信を容易にするためのプロセスを示すフローチャートである。 実施の形態の1つを実現するための分散型システムの簡略図を示す。 本開示の実施の形態に従って、実施の形態のシステムのコンポーネントによって提供されるサービスがクラウドサービスとして提供されてもよいシステム環境のコンポーネントの簡略ブロック図を示す。 本発明のさまざまな実施の形態が実現されてもよい例示的なコンピュータシステムを示す。
詳細な説明
以下の記載では、説明の目的のため、多数の具体的な詳細が、本発明のさまざまな実施の形態の十分な理解を与えるために述べられる。しかしながら、当業者には、本発明の実施の形態はこれらの具体的な詳細の一部を伴わずに実施されてもよいことが理解される。他の例では、周知の構造および装置がブロック図形式で示される。
具体的な詳細が、以下の説明において、実施の形態の十分な理解を与えるよう与えられる。しかしながら、当業者には、実施の形態はこれらの具体的な詳細なしに実施されてもよいことが理解される。例えば、回路、システム、ネットワーク、プロセスおよび他のコンポーネントは、実施の形態を不必要な詳細において曖昧にしないように、ブロック図形式におけるコンポーネントとして示され得る。他の例では、周知の回路、プロセス、アルゴリズム、構造および技術は、実施の形態を曖昧にすることを回避するために、不必要な詳細なしに示され得る。
さらに、個々の実施の形態は、フローチャート、フロー図、データフロー図、構造図またはブロック図として示されるプロセスとして記載され得ることが注記される。フローチャートは動作をシーケンシャルなプロセスとして記載するかもしれないが、動作の多くは並列または同時に実行され得る。加えて、動作の順序は再構成されてもよい。プロセスは、その動作が完了されるときに終結されるが、図に含まれない追加のステップを含み得る。プロセスは、方法、関数、手順、サブルーチン、サブプログラムなどに対応し得る。プロセスが関数に対応する場合では、その終結は、その関数が呼出関数または主関数に戻ることに対応し得る。
「機械読取可能記憶媒体」という語は、命令および/またはデータを記憶するか、含むか、または担持することができるポータブルまたは非ポータブルの記憶装置、光記憶装置、およびさまざまな他の媒体を含むが、それらに限定はされない。機械読取可能媒体は、データが記憶されることができ、無線または結線接続をわたって伝搬する搬送波および/または一時的な電子信号を含まない、非一時的な媒体を含んでもよい。非一時的な媒体の例は、磁気ディスクもしくはテープ、コンパクトディスク(CD)もしくはデジタル多用途ディスク(DVD)などの光記憶媒体、フラッシュメモリ、メモリまたはメモリデバイスを含んでもよいが、それらに限定はされない。コンピュータプログラムプロダクトは、手順、関数、サブプログラム、プログラム、ルーチン、サブルーチン、モジュール、ソフトウェアパッケージ、クラス、または命令、データ構造もしくはプログラムステートメントの任意の組み合わせを表現してもよい、コードおよび/または機械実行可能命令を含んでもよい。コードセグメントは、情報、データ、引数、パラメータ、またはメモリコンテンツを渡す、および/または受取ることによって、別のコードセグメントまたはハードウェア回路に結合されてもよい。情報、引数、パラメータ、データなどは、メモリ共有、メッセージ受渡し、トークン受渡し、ネットワーク伝送などを含む任意の好適な手段を介して渡されるか、転送されるか、または送信されてもよい。
さらに、実施の形態は、ハードウェア、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語、またはそれらの任意の組み合わせによって実現されてもよい。ソフトウェア、ファームウェア、ミドルウェアまたはマイクロコードにおいて実現される場合には、必要なタスクを実行するプログラムコードまたはコードセグメント(例えばコンピュータプログラムプロダクト)を機械読取可能媒体に記憶してもよい。プロセッサは必要なタスクを実行してもよい。
図面のいくつかにおいて示されるシステムは、さまざまな構成において与えられてもよい。いくつかの実施の形態では、システムは、システムの1つ以上のコンポーネントがクラウドコンピュータシステムにおける1つ以上のネットワークにわたって分散される分散型システムとして構成されてもよい。
コンピューティングデバイス(例えば、モバイルコンピューティングデバイス)とエンタープライズコンピュータシステムとの間における通信を容易にするようにクラウドコンピュータシステムを実現するための技術が記載されている。特定の実施の形態では、クラウドコンピュータシステムは、エンタープライズコンピュータシステムによって提供されるサービスに対する要求をコンピューティングデバイスから受信してもよい。クラウドコンピュータシステムは、要求されたサービスについてのユーザのセキュリティ認証を判断してもよい。要求されたエンタープライズコンピュータシステムについてセキュリティプロトコルが判断されてもよく、判断されたセキュリティプロトコルに従って当該要求についてセキュリティトークンが生成されてもよい。当該要求は、要求されたエンタープライズコンピュータシステムに送られてもよい。いくつかの実施の形態では、エンタープライズコンピュータシステムに対する要求についてのセキュリティ認証は、以前の認証に基づいて判断されてもよい。クラウドコンピュータシステムは、サポートされるプロトコル(例えば、通信プロトコルおよび/またはセキュリティプロトコル)に従っていくつかの異なるエンタープライズコンピュータシステムと通信するよう構成されてもよい。
特定の実施の形態では、クラウドコンピュータシステムは、コンピューティングデバイスから要求を受信するために1つ以上の呼出可能インターフェイスを提供してもよい。要求は、呼出可能インターフェイスによってサポートされる1つのフォーマット(例えば、規格、スタイル、プロトコルなど)に従って受信されてもよい。クラウドコンピュータシステムは、要求を、要求されたエンタープライズコンピュータシステムによってサポートされる別のフォーマット(例えば、規格、スタイル、プロトコルなど)に変換または翻訳してもよい。これらのフォーマットは、異なってもよい。いくつかの実施の形態では、エンタープライズコンピュータシステムは、エンタープライズ(enterprise)のオンプレミスにあるエージェントコンピューティングシステムを含んでもよい。エージェントコンピューティングシステムは、クラウドコンピュータシステムと通信するよう構成されてもよい。エージェントコンピューティングシステムは、それらのバックエンドサーバによってサポートされるプロトコルまたは規格に従って、要求を翻訳または変換してもよく、および/または、要求をバックエンドサーバに仕向けてもよい。
図1は、本発明のいくつかの実施の形態に従ってモバイルコンピューティングデバイスとエンタープライズコンピュータシステムとの間における通信を容易にするためのコンピューティング環境100のブロック図を示す。説明の目的のため、さまざまな例が、本明細書において、モバイルコンピューティングデバイス(例えば、コンピューティングデバイス102)がクラウドエンタープライズコンピュータシステム140(例えば、「serviceprovider.com」)およびオンプレミスのエンタープライズコンピュータシステム150などのような1つ以上のエンタープライズコンピュータシステムと通信することを可能にするための技術を記載するよう、与えられる。そのような通信は、エンタープライズデータを交換もしくは転送すること、エンタープライズコンピュータシステムによって与えられるサービスを要求すること、メッセージを通信すること、またはそれらの組み合わせであってもよい。
メッセージは、サービス呼出メッセージ、結果メッセージ、要求メッセージ、内部で通信される他のメッセージ、コンピューティングデバイスとエンタープライズコンピュータシステムとの間において通信される他のメッセージ、またはそれらの組み合わせを含んでもよい。メッセージは、メッセージタイプ(例えば、共有されるタイプ定数の組からのタイプ値)、相関id(例えば、このメッセージを1つ以上の他のメッセージと相関付けるよう用いられるid)、優先順位に基づくメッセージキューに対するサポートをする優先順位情報、タイムアウト、メッセージデータ分離をサポートする秘密度表示子、メッセージ源(例えば、送信側の統一的資源識別子)、メッセージ宛先(例えば、宛先を一意に識別する統一的資源識別子)、要求コンテキスト(例えば、ディスパッチャからの要求情報)、および/またはメッセージペイロードを含んでもよい。ペイロードは、パラメータデータおよび結果データなどのような、送信されているメッセージのタイプによって、異なる属性を有してもよい。
本明細書に記載されるエンタープライズデータは、エンタープライズコンピュータシステムから受信されるデータ、エンタープライズコンピュータシステムに送信されるデータ、エンタープライズコンピュータシステムによって処理されるデータ、またはそれらの組み合わせを含んでもよい。エンタープライズデータは、消費者アプリケーションおよび/またはサービスに対するデータとは区別可能であってもよい。いくつかの実施の形態では、例えば、エンタープライズデータはエンタープライズデータの適用または使用に基づいて変化してもよく、一方、消費者アプリケーションに対するデータ(例えば、消費者データ)は使用を通して静的なままであってもよい。特定の実施の形態では、エンタープライズデータは、エンタープライズデータを記憶、使用および/または管理することに対する基準を示すルールを含むかまたはそのようなルールと関連付けられてもよい。例えば、エンタープライズデータは、エンタープライズデータを記憶、使用および/または管理することに対する1つ以上のポリシーを示すポリシー情報と関連付けられてもよい。特定の実施の形態では、ポリシー情報は、エンタープライズデータに含まれてもよい。特定の実施の形態では、エンタープライズデータは、エンタープライズコンピュータシステムにおいて実行されるアプリケーションまたはサービスによって処理、記憶、使用または通信されるデータを含んでもよい。例えば、エンタープライズデータは、エンタープライズアプリケーションからのJSON(JavaScript(登録商標) Object表記法)フォーマット化データ、構造化されたデータ(例えば、キー値ペア)、非構造化データ(例えば、アプリケーションによって処理または用いられる内部データ、JSONフォーマットにおけるデータ、ソーシャルポスト、カンバセーションストリーム、アクティビティフィードなど)、バイナリラージオブジェクト(BLOB)、ドキュメント、システムフォルダ(例えば、サンドボックス環境におけるアプリケーション関連フォルダ)、レプレゼンテーショナル・ステート・トランスファー(REST)技術(本明細書では「RESTフルなデータ」と称される)を用いるデータ(例えば、RESTエンドポイントによって利用可能にされる同期データ)、システムデータ、構成データ、同期データ、またはそれらの組み合わせなどのビジネスデータ(例えば、ビジネスオブジェクト)を含んでもよい。いくつかの実施の形態では、エンタープライズデータは、RESTフォーマット化されたエンタープライズデータを含んでもよい。RESTフォーマット化されたエンタープライズデータは、RESTフルなデータを含んでもよい。RESTフォーマット化されたデータは、エンタープライズコンピュータシステムによって実現されるREST技術に従ってフォーマットされるデータを含んでもよい。構成または同期データは、バージョン、履歴、統合データなどのようなエンタープライズデータの同期のために用いられるデータを含んでもよい。エンタープライズデータにおけるドキュメントは、拡張マークアップ言語(XML)ファイル、ビジュアルアセット、構成ファイル、メディアアセットなどを含んでもよい。BLOBは、画像、マルチメディアオブジェクト、もしくは実行可能コード、またはそうでなければ当該技術分野において公知のような、データベース管理システムにおいて単一のエンティティとして記憶されるバイナリデータの収集物を含んでもよい。
エンタープライズコンピュータシステムは、エンティティまたはエンタープライズのために動作するよう構成されるさまざまなコンピューティングシステムを含んでもよい。例えば、エンタープライズコンピュータシステムは、サービスに対する要求を処理するよう、エンタープライズサーバコンピュータ(例えば、バックエンドサーバコンピュータ)などのような、1つ以上のコンピュータシステムを含んでもよい。エンタープライズコンピュータシステムは、エンタープライズデータを用いて処理および/または動作が可能なアプリケーションおよび/またはサービスを含んでもよい。例えば、エンタープライズコンピュータシステム150は、エンタープライズを管理または動作させるための1つ以上のサービスおよび/またはアプリケーションを提供してもよい。サービスは、制約なしに、顧客関係性管理(CRM)、人的資本管理(HCM)、人的資源(HR)管理、サプライチェーン管理、エンタープライズ通信、電子メール通信、業務サービス、他のエンタープライズ管理サービスもしくはアプリケーション、またはそれらの組み合わせを含んでもよい。エンタープライズコンピュータシステム150は、1つ以上のサービスを提供することに対して専用である1つ以上のコンピュータシステムを含んでもよい。いくつかの実施の形態では、あるサービスを提供する各異なるコンピュータシステムは、エンタープライズのオンプレミスにあってもよく、またはエンタープライズから遠隔地にあってもよい。いくつかの実施の形態では、異なるサービスをサポートする複数の異なるコンピュータシステムは、エンタープライズのオンプレミスなどのような、単一の地理的な位置にあってもよい。図1に示される例では、オンプレミスのエンタープライズコンピュータシステム150は、HRシステム154およびCRMシステム156を含んでもよく、それらの両方がエンタープライズのオンプレミスに位置してもよい。いくつかの実施の形態では、エンタープライズコンピュータシステム140は、エージェントシステム152を含むかまたは実現することによって、クラウドコンピュータシステム110と1つ以上のエンタープライズシステム154,156との間における通信を容易にするかまたは処理してもよい。クラウドエンタープライズコンピュータシステム140およびオンプレミスエンタープライズコンピュータシステム150などのようなエンタープライズコンピュータシステムについて、以下にさらに詳細に記載する。
コンピュータ環境100は、コンピューティングデバイス102と1つ以上のエンタープライズコンピュータシステムとの間における通信を容易にしてもよいセキュリティ上安全な仲介コンピューティング環境として動作するよう実現されるモバイルクラウドサービス(「MCS」)112を含んでもよく、なぜならば、コンピューティングデバイス102は、そのようなエンタープライズコンピュータシステムと通信するようには構成されないかもしれないからである。例えば、いくつかのエンタープライズコンピュータシステムは、レガシーまたはバックエンドコンピュータシステムによってサポートされてもよい。そのようなシステムは、異なる通信および/またはセキュリティプロトコルを用いて動作するよう構成されてもよい。そのようなエンタープライズコンピュータシステムによってサポートされるプロトコルは、モバイルコンピューティングデバイスによってサポートされるものとは異なってもよい。MCS112は、異なるタイプのモバイルコンピューティングデバイスとの通信をサポートしてもよい。したがって、MCS112は、エンタープライズコンピュータシステムとモバイルコンピューティングデバイスとの間における通信を容易にするよう、技術を実現して、それらが、フォーマットまたは通信プロトコル間における違いなどのような、それらの通信における非互換性にも係わらず、互いと通信できるようにしてもよい。例えば、MCS112は、モバイルコンピューティングデバイスとエンタープライズコンピュータシステムとの間において通信プロトコルを翻訳してもよい。
クラウドコンピュータシステム110はMCS112をサポートしてもよい。クラウドコンピュータシステム110は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの組み合わせを用いて実現されてもよい。例えば、クラウドコンピュータシステム110は、サーバコンピュータなどのような1つ以上のコンピューティングデバイスを含んでもよい。クラウドコンピュータシステム110は1つ以上のメモリ記憶装置および1つ以上のプロセッサを含んでもよい。メモリ記憶装置は、プロセッサにとってアクセス可能であり得、そこに記憶される命令を含むことができ、それらは、プロセッサによって実行されると、プロセッサに本明細書に開示される1つ以上の動作を実行させる。いくつかの実施の形態では、メモリ記憶装置はローカルストレージ(たとえばキャッシュ)として動作してもよい。クラウドコンピュータシステム110は異なる種類のオペレーティングシステムを含んでもよい。メモリ記憶装置はプロセッサにとってアクセス可能であってもよく、そこに記憶される命令を含んでもよく、それらは、プロセッサによって実行されると、プロセッサに本明細書に開示される1つ以上の動作、方法またはプロセスを実行させる。メモリ記憶装置はローカルストレージとして動作してもよい。ローカルストレージは、メモリ記憶装置または他のコンピュータ読取可能記憶媒体などのような任意のタイプの永続的な記憶装置を用いて実現されてもよい。いくつかの実施の形態では、ローカルストレージは、1つ以上のデータベース(例えばドキュメントデータベース、リレーショナルデータベースまたは他のタイプのデータベース)、1つ以上のファイルストア、1つ以上のファイルシステム、またはそれらの組み合わせを含むかまたは実現してもよい。ローカルストレージはエンタープライズデータを記憶してもよい。
特定の実施の形態では、クラウドコンピュータシステム110は、メタデータリポジトリ124、診断法ストア126および解析論ストア128などの1つ以上のデータストアを含んでもよい。データストア124,126,128は、クラウドコンピュータシステム110における任意のコンポーネントによってアクセス可能であってもよい。
メタデータリポジトリ124は、MCS112に関連付けられるすべてのメタデータを記憶してもよい。この情報は、実行時データおよび設計時間データの両方からなってもよく、それらの各々は利用可能性および性能の両方においてそれら自身の要件を有する。MCS112のテナントまたは利用者は任意の数のアプリケーションを有してもよい。各アプリケーションはバージョン化されてもよく、それらの資源アプリケーションプログラミングインターフェイス(API)が契約する、関連付けられる0以上のバージョン化された資源APIおよび0以上のバージョン化されたサービスインプリメンテーションを有してもよい。これらのエンティティは、実行時が使用して仮想要求(mAPI)を具体的なサービスインプリメンテーション(サービス)にマッピングするものである。このマッピングは、モバイル開発者に対して、モバイル開発者が自身のアプリケーションを設計および構築する際に実際のインプリメンテーションサービスを知る必要がないという贅沢を与える。すべてのサービスバグ修正において新たなアプリケーションを再発行する必要はないことと並んで。メタデータリポジトリ124は1つ以上の呼出可能インターフェイスを記憶してもよく、それらはコンピューティングデバイス(例えばコンピューティングデバイス102)によって呼出されてもよい。呼出可能インターフェイスは、MCS112との通信を容易にするよう、アプリケーションのユーザ(たとえば開発者)によってカスタマイズ可能であってもよい。メタデータリポジトリ124は、呼出可能インターフェイスの1つ以上の構成に対応するメタデータを記憶してもよい。メタデータリポジトリ124は、呼出可能インターフェイスを実現するためのメタデータを記憶するよう構成されてもよい。呼出可能インターフェイスは、通信のための1つのフォーマット、プロトコルまたはアーキテクチャのスタイルと通信のための他のフォーマット、プロトコルまたはアーキテクチャのスタイルとの間において翻訳するよう実現されてもよい。メタデータリポジトリ124は、認証されたユーザによって、外部のネットワークを介して修正可能であってもよい。
診断法ストア126は、MCS112において生じる処理についての診断法情報を記憶してもよい。診断法ストア126は、MCS112を介して通信されるメッセージおよびログ情報を記憶してもよい。解析論ストア128は、システムにおける処理中に捕捉されたロギングおよび解析論データを記憶してもよい。
MCS112を代表して、クラウドコンピュータシステム110はその計算資源を利用してカスタムコード116(例えば動作、アプリケーション、メソッド、ファンクション、ルーチンなど)の実行を可能にしてもよい。計算資源は、使用のために、MCS112の利用者またはテナントとして関連付けられる特定のユーザに関して、割当てられてもよい。資源は、ユーザ、デバイス、アプリケーション、または利用者に関係付けられる他の基準に関して割当てられてもよい。MCS112は、エンタープライズコンピュータシステムと通信することを求めるモバイルコンピューティングデバイスの要望によって、スケールインまたはスケールアウトされてもよい。MCS112は、モバイルコンピューティングデバイスとエンタープライズコンピュータシステムとの間における通常のトラフィックよりも高いサージおよび一時的な期間を処理するよう柔軟性があるように構成されることができる。いくつかの実施の形態では、MCS112は、通信における要望を満足させるようコンポーネントが追加または置換されてもよいようにスケーラビリティをサポートする要素を含んでもよい。
コンピューティングデバイス102は、エンタープライズコンピュータシステムによって提供されるサービスを要求するようにMCS112と通信してもよい(例えば要求メッセージを送信してもよい)。コンピューティングデバイス102(例えばモバイルコンピューティングデバイス)は、ハードウェア、ファームウェア、ソフトウェアまたはそれらの組み合わせを用いて実現されてもよい。コンピューティングデバイス102はエンタープライズコンピュータシステム140,150とMCS112を介して通信してもよい。コンピューティングデバイス102は、エンドポイントデバイス、携帯情報端末(PDA)、タブレットコンピュータ、ラップトップコンピュータ、モバイルコンピューティングデバイス、デスクトップコンピュータ、ウェアラブルコンピュータ、ページャなどを含むかまたはそれらとして実現されてもよい。コンピューティングデバイス102は、1つ以上のメモリ記憶装置および1つ以上プロセッサを含んでもよい。コンピューティングデバイス102は、異なる種類のオペレーティングシステムを含んでもよい。メモリ記憶装置はプロセッサにとってアクセス可能であってもよく、そこに記憶される命令を含んでもよく、それらは、プロセッサによって実行されると、プロセッサに本明細書に開示される1つ以上の動作、方法またはプロセスを実行させる。メモリ記憶装置はローカルストレージとして動作してもよい。ローカルストレージは、メモリ記憶装置または他のコンピュータ読取可能記憶媒体などのような任意のタイプの永続的な記憶装置を用いて実現されてもよい。いくつかの実施の形態では、ローカルストレージは、1つ以上のデータベース(例えばドキュメントデータベース、リレーショナルデータベースまたは他のタイプのデータベース)、1つ以上のファイルストア、1つ以上のファイルシステム、またはそれらの組み合わせを含むかまたは実現してもよい。ローカルストレージはエンタープライズデータを記憶してもよい。
さまざまな実施の形態では、コンピューティングデバイス102は、ウェブブラウザ、クライアントアプリケーション、所有権付きクライアントアプリケーションなどのような1つ以上のアプリケーションを実行および動作させるよう構成されてもよい。アプリケーションは、エンタープライズコンピュータシステムによって提供されるエンタープライズデータおよび/またはサービスに対して構成される特定のアプリケーションを含むことができる。クライアントアプリケーションは1つ以上のネットワークを介してアクセス可能であるかまたは動作されてもよい。アプリケーションは、アプリケーションを動作させるためのグラフィカルユーザインターフェイス(GUI)を含んでもよい。
コンピューティングデバイス102は、MCS112と、1つ以上の通信ネットワークを介して、無線通信を用いて通信してもよい。通信ネットワークの例は、モバイルネットワーク、無線ネットワーク、セルラーネットワーク、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、他の無線通信ネットワーク、またはそれらの組み合わせを含んでもよい。特定の実施の形態では、コンピューティングデバイス102は、MCS112との通信接続114を、カスタム通信プロトコル(たとえばカスタムプロトコル)を用いて確立してもよい。接続114は、MCS112と、クラウドコンピュータシステム110を介して確立されてもよい。カスタムプロトコルはHTTPベースのプロトコルであってもよい。カスタム通信プロトコルを利用することによって、コンピューティングデバイス102は任意のコンピューティングデバイスプラットフォーム上で動作してクラウドコンピュータシステム110と通信してもよい。
コンピューティングデバイス102は、例えばアプリケーションプログラミングインターフェイス(API)である、1つ以上の呼出可能インターフェイスを介して、クラウドコンピュータシステム110と通信してもよい。呼出可能インターフェイスはコンピューティングデバイス102上において実現されてもよい。呼出可能インターフェイスは、MCS112と通信することができるカスタムアプリケーションに対して実現されてもよい。いくつかの実施の形態では、呼出可能インターフェイスはMCS112に対して開発されてもよい。呼出可能インターフェイスは、アプリケーションが、プロトコル(例えば通信もしくは開発プロトコル)および/またはアーキテクチャのスタイルもしくはフォーマットにおける違いに適合する必要なく、MCS112と通信することを可能にしてもよい。
MCS112は、要求を処理しカスタムコード116を実行するようセキュリティ上安全な環境を与えるように1つ以上のファイアウォール104,130によって保護されてもよい。コンピューティングデバイス102とMCS112との間における通信は、外部通信ファイアウォール104によって分離されてもよい。ファイアウォール104は、MCS112へのセキュリティ上安全なアクセスを容易にするようにクラウドコンピュータシステム110と接続されてもよい。ファイアウォール104は、クラウドコンピュータシステム110とコンピューティングデバイス(例えばコンピューティングデバイス102)との間におけるメッセージの通信を許可してもよい。そのようなメッセージ(例えばHTTPメッセージまたはRESTメッセージ)は、呼出可能インターフェイスによってサポートされてもよい通信プロトコル(例えばHTTPまたはREST)に準拠してもよい。別の例では、クラウドコンピュータシステム110とコンピューティングデバイス102との間におけるメッセージは、Speedy(SPDY)などの通信プロトコルに準拠してもよい。MCS112は、クラウドコンピュータシステム110とエンタープライズコンピュータシステム140,150との間における通信をセキュリティ上安全にするようにファイアウォール130を管理してもよい。ファイアウォール130は、クラウドコンピュータシステム110とコンピューティングデバイス(例えばコンピューティングデバイス102)との間におけるメッセージの通信を許可してもよい。そのようなメッセージ(例えばSPDYメッセージ、HTTPメッセージまたはRESTメッセージ)は、通信プロトコル(例えばSPDY、HTTPまたはREST)に準拠してもよい。コンピューティングデバイス102とエンタープライズコンピュータシステム140,150との間における通信はMCS112を介する二方向であってもよい。
コンピューティングデバイス102およびエンタープライズコンピュータシステム140,150との通信がセキュリティ上安全ではないパブリックなネットワークを介して行われ得るので、ファイアウォール104,130は、MCS112へのおよびMCS112からの通信に対して保護の追加の層を与える。ファイアウォール104,130は、MCS112が、その内部ネットワークと、コンピューティングデバイス102およびエンタープライズコンピュータシステム140,150を接続する外部ネットワークとを区別することを可能にしてもよい。いくつかの実施の形態では、ファイアウォール104,130は、2つの別個のファイアウォールとして示されるが、MCS112を封入する単一のファイアウォールとして実現されてもよい。
クラウドコンピュータシステム110は、さらに、一部が異なる通信プロトコルを有してもよいエンタープライズコンピュータシステムと通信することによって仲介コンピューティング環境として動作してもよい。そのような通信プロトコルは、クラウドコンピュータシステム110との通信において、あるアプリケーションまたはサービスに対してカスタムであるかまたは特定であってもよい。さらにクラウドコンピュータシステム110は、エンタープライズコンピュータシステムと通信して、エンタープライズサービスを提供し、および/または、エンタープライズコンピュータシステムによってサポートされるフォーマットに従ってエンタープライズデータを交換してもよい。クラウドコンピュータシステム110は、エンタープライズデータのローカルストレージ(例えばローカルキャッシュ)を維持してもよく、そのローカルストレージを用いてモバイルコンピューティングデバイスとエンタープライズコンピュータシステム140,150との間におけるエンタープライズデータの同期を管理してもよい。
コンピューティングデバイス102は、MCS112と通信(例えば要求メッセージを送信)して、エンタープライズコンピュータシステムによって提供されるサービスを要求してもよい。ファイアウォール104を介して受信された要求は、最初にセキュリティサービス132によって処理されてもよい。セキュリティサービス132は、要求に関連付けられるユーザに関してセキュリティ認証を管理してもよい。したがって、クラウドコンピュータシステムは、顧客通信およびエンタープライズデータの保全性を保護してもよい、本明細書に記載されるセキュリティ機構を提供することを含む技術的利点を提供してもよい。クラウドコンピュータシステムの技術的利点は、損なわれた通信および/またはデータが損なわれることを防止または低減することを含んでもよく、認証が最初に生じて、アクセスを、必要とされる資格情報を有するもののみに対して制限してもよい。クラウドコンピュータシステムの技術的利点は、サービスおよびサービス呼出フローが、要求が入来するとそれらはそれらが承認されるサービスにアクセスすることのみが許されてもよいように構造化されることを含んでもよい。システム処理の他の部分から承認を切り離すことによって、別の技術的利点は、「何が誰によってなされ得るか」を承認するタスクが、何であれさらなるカスタムセキュリティ手段が特定の法人顧客によって必要とされることをサポートするよう拡張されてもよい専用のプロビジョニングされたセキュリティサブシステム(例えばアイデンティティ管理システム)に委任されることを含んでもよい。いくつかの実施の形態では、セキュリティ認証は、要求、セッション、ユーザ、デバイス、ユーザに関係付けられる他の基準、またはそれらの組み合わせに対して判断されてもよい。セキュリティ認証は、受信される各要求ごとに実行されてもよい。いくつかの実施の形態では、セキュリティサービス132は、以前の要求の検証に基づいて認証を判断してもよい。セキュリティ認証は、ユーザまたは装置に関して、異なるエンタープライズコンピュータシステム140,150に対する要求が単一のセキュリティ検証に基づいて認証されてもよいように、判断されてもよい。
本発明のさらなる技術的利点は、一部が異なったように実現されてもよいさまざまなエンタープライズコンピュータシステムとコンピューティングデバイスが通信することをクラウドコンピュータシステムが可能にすることを含んでもよい。例えば、コンピューティングデバイス302、クラウドコンピュータシステム110およびエンタープライズコンピュータシステム150は、互いから物理的に分離された異なる地理的位置に位置してもよい。したがって、コンピューティングデバイス302は、エンタープライズコンピュータシステム150とそれらの位置にかかわらず通信することができる。技術的利点は、1つ以上の別個のセキュリティプロトコルをサポートしてもよいエンタープライズコンピュータシステムにサービスに対する要求をコンピューティングデバイスが通信することをクラウドコンピュータシステムが可能にすることを含んでもよい。場合によっては、エンタープライズコンピュータシステムは、異なるセキュリティプロトコルに容易に適合可能ではないバックエンドシステムによってサポートされてもよい。場合によっては、アプリケーションの開発者が、そのようなセキュリティプロトコルの知識なしにサービスを要求することができるようにアプリケーションを実現できることが望ましいであろう。同様に、エンタープライズコンピュータシステムのユーザ(例えば管理者または設計者)が、異なるタイプのアプリケーション、セキュリティプロトコルおよび規格に対応することなく要求を受信できることも望ましいであろう。技術的利点は、要求されているさまざまなエンタープライズコンピュータシステムのセキュリティ対策を要求が満たすことができるようにセキュリティ認証を処理することができる本明細書に記載されるクラウドコンピュータシステムを実現することによって、そのような要望が満たされることを可能にしてもよい。
いくつかの実施の形態では、セキュリティサービス132は、要求されたエンタープライズコンピュータシステムについてのセキュリティプロトコルを判断して、それに応じて、そのようなセキュリティプロトコルに従ってセキュリティトークンを生成してもよい。セキュリティトークンは、生成されたセキュリティトークンに基づいてエンタープライズコンピュータシステムが認証を検証することを可能にするために、要求とともに当該エンタープライズコンピュータシステムに渡されてもよい。エンタープライズコンピュータシステムは、異なるセキュリティプロトコルをサポートしてもよい。セキュリティプロトコルは、セキュリティが判断される規格であってもよい。セキュリティは、セキュリティサービス132によって生成されるセキュリティトークンに基づいて検証されてもよい。セキュリティサービス132は、要求に対して識別されるエンタープライズコンピュータシステムのためのセキュリティプロトコルを判断してもよい。いくつかの実施の形態では、エンタープライズコンピュータシステム150は、MCS112によってサポートされるカスタムまたは特定のセキュリティプロトコルに従って構成または実現されてもよいエージェントシステム152を有してもよい。したがって、MCS112は、そのようなカスタムセキュリティプロトコルに従ってセキュリティトークンを生成してもよい。セキュリティサービスについては、図2および図3を参照して以下で説明する。
クラウドコンピュータシステム110は、1つ以上の負荷分散システム106,108を含み、実現し、および/またはそれ(ら)と通信してもよい。セキュリティ認証を判断すると、クラウドコンピュータシステム110は負荷分散システム106,108のうちの任意の1つに対して、それが受信する要求を調べ、要求がどのサービスに向けられているかを検出するよう要求してもよい。MCS112は、負荷分散部106,108とともに構成されてもよく、起動される資源で更新されてもよく、したがって、要求が入来すると、負荷分散部106,108は要求される負荷を異なる資源にわたって分散させることができる。
クラウドコンピュータシステム110は、要求を処理し、それらを適切なサービスに発送してもよいディスパッチャ118を含んでもよい。要求は、発送で、適切なサービスにルーティングされてもよい。いくつかの実施の形態では、サービスそれ自体が、内部の要求を、MCS112またはエンタープライズコンピュータシステムにおける別の内部のサービスにルーティングしてもよい。いくつかの実施の形態では、ディスパッチャ118は要求を解決して、その宛先を、要求の統一的資源識別子(URI)および/またはユニフォームリソースロケータ(URL)において識別される宛先の位置(たとえばアドレス)に基づいて判断してもよい。ディスパッチャ118は要求およびそのヘッダを構文解析して、以下の情報:テナント識別子、サービス識別子、アプリケーション名、アプリケーションバージョン、要求資源、動作およびパラメータなどの1つ以上を抽出してもよい。ディスパッチャ118は、構文解析された情報を用いて、メタデータリポジトリ124における参照を実行することができる。ディスパッチャ118は対応するアプリケーションメタデータを検索取得してもよい。ディスパッチャ118は、目標のサービスを、要求された資源およびメタデータにおけるマッピングに基づいて判断してもよい。最初は非常に基本的なマッピングであるが、メタデータを向上させて、より洗練された、ルールに基づく発送を与えることができる。ディスパッチャ118は、任意のディスパッチャ特定ロギング、メトリック収集などを実行してもよい。ディスパッチャ118は、次いで、初期承認をアプリケーションメタデータに従って実行してもよい。ディスパッチャ118は、インバウンドの要求および任意の他の必要な情報をフォーマットし、メッセージをさらなる処理のためにルーティングバス120上に置いてもよい。ディスパッチャ118は、要求をキュー上に置いて、対応の応答を待ってもよい。ディスパッチャ118は、ルーティングバス120から受信される応答を処理し、応答をコンピューティングデバイス102に返してもよい。
外部の要求に対する発送を処理することに加えて、ディスパッチャ118は、さらに、内部の要求を発送することにおいても役割を果たしてもよい。そのような内部の要求は、サービスに対する合成サービスまたはカスタムコード呼出の形式で来ることができる。両方の場合において、呼出元は、アプリケーション内において定義される論理上のサービス名を用い得る。ディスパッチャ118は、現在の実行コンテキストを用いてアプリケーションを判断し、その論理名を用いて呼出すべき適切なサービスを判断してもよい。
クラウドコンピュータシステム110は、ルーティングバス120に登録された宛先に対するメッセージの配送を管理するようルーティングバス120を含んでもよい。ルーティングバス120は、クラウドサービス112において通信を管理するための中央システムとして動作してもよい。ルーティングバス120を介して通信されるデータは、そのデータを捕捉および記憶するよう処理されてもよい。ルーティングバス120は、フレームワークを与えて、さらなる中央集中化されたサービス(さらなる承認、デバッグなど)が必要に応じて容易にプラグインされ得るようにしてもよい。ルーティングバス120によって捕捉されたデータは診断法ストア126および/または解析論ストア128に記憶されてもよい。
ルーティングバス120はメッセージを1つ以上の宛先にルーティングしてもよい。いくつかの実施の形態では、メッセージは、カスタムコード116を実行する要求を含んでもよい。そのような実施の形態では、ルーティングバス120は、カスタムコード116を呼出すよう要求してもよい(134)。いくつかの実施の形態では、ルーティングバス120は、要求における情報によって識別される宛先エンタープライズコンピュータシステムに要求を渡してもよい。ルーティングバス120は、必要であればアダプタインターフェイス122に対して翻訳を実行するよう要求して(136)、要求をエンタープライズコンピュータシステム、例えばエンタープライズコンピュータシステム140またはエンタープライズコンピュータシステム150に渡してもよい。
特定の実施の形態では、クラウドコンピュータシステム110は、アダプタインターフェイス122を含むかまたはそれを実現して、メッセージを、受信側エンタープライズコンピュータシステムによってサポートされるプロトコルに翻訳または変換してもよい。アダプタインターフェイス122は、エンタープライズコンピュータシステム140,150の各々と、別々の通信接続を確立してもよい。クラウドコンピュータシステム110は、エンタープライズコンピュータシステム140,150と、1つ以上のネットワーク(図示せず)を介して通信するよう構成されてもよい。通信ネットワークの例は、インターネット(登録商標)、モバイルネットワーク、パブリックネットワーク、無線ネットワーク、セルラーネットワーク、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、他の通信ネットワーク、またはそれらの組み合わせを含んでもよい。特定の実施の形態では、通信接続は、高速通信トランクを用いて容易にされる高速通信接続であってもよい。エンタープライズコンピュータシステム140,150との通信はファイアウォール130を通過してもよく、それによって、外部ネットワークとの通信はそのような通信を介するMCS112への承認されないアクセスを妨げるようセキュリティ上安全であることが確実とされる。
いくつかの実施の形態では、クラウドコンピュータシステム110はコンピューティングデバイス102のユーザに対する通知を容易にしてもよい。クラウドコンピュータシステム110は、ユーザとのステートフルな対話をサポートする警報管理サービスを含んで、例えば、ユーザの好みに基づく警報を1つ以上のチャネルを介して送り、応答を待ち、その応答に基づくアクションを取ってもよい。1つのチャネルで送られた警報に対する応答は、サービスが取扱うことができる必要のある別のチャネルを介して受信されてもよい。プラットフォームは、人気のある対話パターンのためのビルトインの状態モデルとともに生じて、新たな状態モデルと拡張可能であってもよい。いくつかの警報チャネルは、一方向であれ二方向であれ、公知の通信資源を含んでもよい。例は、SMS、Twitter(登録商標)、プッシュ通知、およびGoogle Cloud Messaging(登録商標)を含む。
いくつかの実施の形態では、クラウドコンピュータシステム110は、コンピューティングデバイスが、オブジェクトストアサービス、データベースサービス、アクセスウェブサービス、ソーシャルサービス、リソースサービス、またはそれらの組み合わせなどの1つ以上のサービスにアクセスするおよび/またはそれらを要求することを可能にしてもよい。
クラウドコンピュータシステム110は、BLOBのためのストレージファシリティを提供してもよいオブジェクトストアサービスを提供してもよい。基本的な記憶の単位はテキストであり得、読取動作および書込動作を伴う。JSONオブジェクトに対する基本的なクエリーファシリティも提供されてもよい。
クラウドコンピュータシステム110は、データベースサービスを提供して、クエリーまたは書込を実行するために、運営管理されるデータベースへの接続性を可能にしてもよい。必要とされるパラメータ化は、データベースに対する十分な接続ストリング、実行すべきSQLストリングまたは記憶される手順、任意のパラメータおよびおそらくは資格情報を必要としてもよい。必要な情報は、実行時に与えられるかまたはアプリケーションメタデータにおいて予め構成されることができる。
クラウドコンピュータシステム110は、シンプル・アクセス・オブジェクト・プロトコル(SOAP)ウェブサービスなどのウェブサービスへのアクセスを提供してもよい。クラウドコンピュータシステム110は、任意のREST資源への接続性などのRESTサービスへのアクセスを提供してもよい。
クラウドコンピュータシステム110は、ソーシャルサービスへのアクセスを提供してもよく、それは、Facebook(登録商標)、Twitter(登録商標)などのような人気のあるソーシャルサイトの多くとの基本的な統合を与えてもよい。これらのサービスは、それらのサイトからのユーザの資格情報を用いる第三者認証およびそれらのサービスに対するアクセスを可能にしてもよい。例は、ツィートを送信するかまたは貴方のステータスを更新することを含む。
クラウドコンピュータシステム110は、パブリッククラウドサービスを提供して、ユーザが通信を簡単にして最適化することを可能にしてもよい。例えば、サービス開発者は、MCS112の包括的なウェブサービスを用いて、クラウドコンピュータシステム110のクラウドサービスを用いて運営管理される資源に話し掛けてもよい。
本明細書に記載されるものなどのクラウドコンピュータシステムは、コンピューティング資源における違いにもかかわらずモバイルコンピューティングデバイスがエンタープライズコンピュータシステムと通信することを可能にしてもよい。クラウドコンピュータシステムは、頻繁に通信してエンタープライズデータを受信するために、より多くの資源およびエンタープライズコンピュータシステムとのより高速で信頼性のある接続を備えてもよい。クラウドコンピュータシステムは、エンタープライズコンピュータシステムからのサービスに対する要求を管理および調整してもよい。要求をメッセージの受信側によってサポートされるプロトコルに翻訳することによって、クラウドコンピュータシステムは、異なるタイプのバックエンドコンピュータシステムとの通信のためのアプリケーションを構成するための開発者に対する負担を低減する。エンタープライズは、モバイルデバイスについてサポートされる通信プロトコルの進歩または変化に対応する必要なく、それらのバックエンドシステムを維持することができる。異なるエンタープライズコンピュータシステムは、処理される要求のタイプおよび提供されるサービスのタイプに基づいて、異なるセキュリティプロトコルをサポートしてもよい。異なるエンタープライズコンピュータシステムへのアクセスについて中央集中化された態様でセキュリティ認証を管理することによって、エンタープライズコンピュータシステムは、セキュリティプロトコルにおける違いに適合する必要がなくなる。クラウドコンピュータシステムのユーザを認証することによって、処理要求はより効率的になることができる。なぜなら、認証はすべてのインスタンスでは実行されないかもしれないからである。
ここで図2を参照して、本発明のいくつかの実施の形態に従ってモバイルコンピューティングデバイスとエンタープライズコンピュータシステムとの間における通信を容易にしてもよいコンピューティング環境200のブロック図が示される。コンピューティング環境200はクラウドコンピュータシステム110を含んでもよい。特定の実施の形態では、クラウドコンピュータシステム110は、コンピューティングデバイス(例えばモバイルコンピューティングデバイス202およびモバイルコンピューティングデバイス212)とエンタープライズコンピュータシステム(例えばエンタープライズコンピュータシステム282およびエンタープライズコンピュータシステム292)との間における通信を容易にするためにさまざまな動作を実行するよう構成される1つ以上のファンクションブロックまたはモジュールとして実現されてもよい。クラウドコンピュータシステム110は、通信モジュール230、呼出可能インターフェイス250、セキュリティサービス132、ディスパッチャ118、ルーティングバス120、およびプロトコルトランスレータ252を含んでもよい。
クラウドコンピュータシステム110は、キャッシュ220などの1つ以上のメモリ記憶装置(「ローカルストレージ」)を含んでもよい。キャッシュ220は、エンタープライズデータ224および認証情報222を記憶するために使用されてもよい。エンタープライズデータ224はエンタープライズコンピュータシステム282,292もしくはモバイルコンピューティングデバイス202,212から受信されてもよく、またはクラウドコンピュータシステム110によって変換されるエンタープライズデータを含んでもよく、またはそれらの組み合わせであってもよい。認証情報222は、アイデンティティ管理システムから受信されてもよく、および/または、クラウドコンピュータシステム110によって生成されてもよい。いくつかの実施の形態では、認証情報222は、サービスに対する要求に関してユーザのセキュリティ認証を示す情報を含んでもよい。
通信モジュール230は、クラウドコンピュータシステム110と複数のエンタープライズコンピュータシステム、例えばエンタープライズコンピュータシステム282,292との間における通信を管理するよう構成されてもよい。通信を容易にするために、通信モジュール230は、受信機232、送信機234、またはそれらの組み合わせのような、通信を可能にするハードウェアを備えてもよい。
エンタープライズコンピュータシステム282,292などのようなエンタープライズコンピュータシステムは、クラウドコンピュータシステム110のファイアウォール(例えばファイアウォール130)を越えて、クラウドコンピュータシステム110とは異なる地理的位置(例えば遠隔の地理的位置)に物理的に位置してもよい。いくつかの実施の形態では、エンタープライズコンピュータシステム282はエンタープライズコンピュータシステム292と異なってもよい。いくつかの実施の形態では、エンタープライズコンピュータシステム282およびエンタープライズコンピュータシステム292は、単一のコンピュータシステムの一部であってもよい。エンタープライズコンピュータシステム282,292の各々は、異なる通信プロトコルを用いてクラウドコンピュータシステム110と通信してもよい。エンタープライズコンピュータシステム282およびエンタープライズコンピュータシステム292は、同一のセキュリティプロトコルをサポートしてもよく、または異なるセキュリティプロトコルをサポートしてもよい。いくつかの実施の形態では、エンタープライズコンピュータシステム282および/またはエンタープライズコンピュータシステム292は、複数のエンタープライズコンピュータシステムとの通信を処理するよう、エージェントシステム(例えばエージェントシステム152)を含んでもよいエンタープライズコンピュータシステム150として実現されてもよい。いくつかの実施の形態では、通信モジュール230は、ファイアウォール104および/またはファイアウォール130などのファイアウォールを介して通信を送信および受信するよう構成されてもよい。
特定の実施の形態では、エンタープライズコンピュータシステム282,292の1つ以上は1つ以上の異なるプロトコルを用いてクラウドコンピュータシステム110と通信してもよい。プロトコルは、SPDYなどの通信プロトコルを含んでもよい。プロトコルは、HTTPベースのプロトコルなどのアプリケーションプロトコルを含んでもよい。いくつかの実施の形態では、エンタープライズコンピュータシステム282,292はRESTまたはSOAP通信プロトコルを用いてクラウドコンピュータシステム110と通信してもよい。例えば、RESTプロトコルはURIまたはURLを含むフォーマットをサポートしてもよい。RESTプロトコルを用いる通信のためにフォーマットされるエンタープライズデータは、JSON、コンマ区切り形式(CSV)、およびreally simple syndication(RSS)などのようなデータフォーマットに容易に変換されてもよい。エンタープライズコンピュータシステム282,292およびクラウドコンピュータシステム110は遠隔手続呼出(RPC)(例えばXML RPC)などのような他のプロトコルを用いて通信してもよい。
いくつかの実施の形態では、クラウドコンピュータシステム110およびエンタープライズコンピュータシステム282,292は、高速通信をサポートする通信接続を用いて通信してもよい。通信モジュール230は高速通信接続を維持してもよく、クラウドコンピュータシステム110がエンタープライズコンピュータシステム282,292との継続中の複数の通信を維持することを可能にし、エンタープライズデータを交換するかまたは要求されたサービスを配送するよう通信を管理および/または同期させてもよい。高速通信接続は、クラウドコンピュータシステム110に対して、エンタープライズコンピュータシステムとの複数通信を処理する能力を与えて、エンタープライズデータを十分に同期させてもよく、一方、モバイルコンピューティングデバイスは、エンタープライズデータを常に受信するよう無線通信接続の帯域幅において制限されてもよい。クラウドコンピュータシステム110とエンタープライズコンピュータシステムとの間における通信接続は、クラウドコンピュータシステム110がエンタープライズデータを中断がほとんどまたは全くない状態で同期させるよう通信を送受するように信頼性があってもよい。
いくつかの実施の形態では、通信モジュール230は、エンタープライズコンピュータシステムとの通信をサポートするよう構成されるアダプタインターフェイス122を含んでもよく、その一部は通信のために異なるプロトコルまたは技術をサポートしてもよい。アダプタインターフェイス122は1つ以上のアダプタ、例えばアダプタ242またはアダプタ244を含んでもよく、それらの各々は、通信プロトコル、あるエンタープライズコンピュータシステムのタイプ、あるアプリケーションのタイプ、あるサービスのタイプ、またはそれらの組み合わせに従って通信するよう構成されてもよい。アダプタによってサポートされる通信プロトコルは1つ以上のエンタープライズコンピュータシステムに対して特定であってもよい。例えば、通信モジュール230は、エンタープライズコンピュータシステム282によってサポートされる特定のプロトコルを用いるエンタープライズコンピュータシステム282との通信に対して構成されるアダプタ242を含んでもよい。別の例では、通信モジュール230は、エンタープライズコンピュータシステム292によってサポートされる特定のプロトコルを用いるエンタープライズコンピュータシステム292との通信に対して構成されるアダプタ244を含んでもよい。アダプタインターフェイス122は、エンタープライズコンピュータシステム282,292の各々との別々の通信接続を確立してもよい。いくつかの実施の形態では、アダプタインターフェイス122はエージェントシステム(例えばエージェントシステム152)と通信するよう構成されてもよく、それはエンタープライズコンピュータシステムによって含まれるかまたは実現されてもよい。アダプタインターフェイス122におけるアダプタは、エージェントシステムとの通信に対して用いられるカスタムプロトコルに従って通信するよう構成されてもよい。カスタムプロトコルは、あるエージェントシステムのタイプ、またはエージェントシステムがサポートするエンタープライズコンピュータシステムに特定であってもよい。アダプタインターフェイスは、アプリ、例えばアプリ204またはアプリ214を具体的に開発して特定のエンタープライズコンピュータシステムとの通信をサポートする必要性を低減するかまたは除去してもよい。
クラウドコンピュータシステム110は通信モジュール230を用いてモバイルコンピューティングデバイス、例えばモバイルコンピューティングデバイス202,212と通信してもよい。モバイルコンピューティングデバイスは、クラウドコンピュータシステム110とは異なる地理的位置に位置してもよい。例えば、モバイルコンピューティングデバイス202,212は、クラウドコンピュータシステム110のファイアウォール(例えばファイアウォール104)を越えて、クラウドコンピュータシステム110とは異なる地理的位置(例えば遠隔の地理的位置)に物理的に位置してもよい。モバイルコンピューティングデバイス202,212の各々は異なる通信プロトコルを用いてクラウドコンピュータシステム110と通信してもよい。特定の実施の形態では、モバイルコンピューティングデバイス202,212の1つ以上は1つ以上の異なるプロトコルを用いてクラウドコンピュータシステム110と通信してもよい。プロトコルは、SPDYなどの通信プロトコルを含んでもよい。プロトコルは、HTTPベースのプロトコルなどのアプリケーションプロトコルを含んでもよい。いくつかの実施の形態では、通信モジュール230はカスタム通信プロトコルを用いてモバイルコンピューティングデバイスと通信してもよい。カスタム通信プロトコルはHTTPベースの通信プロトコルであってもよい。モバイルコンピューティングデバイス202,212間における通信のために用いられる通信プロトコルは、モバイルコンピューティングデバイス202,212およびクラウドコンピュータシステム110によって容易に読取可能であってもよい異なるフォーマット(例えばJSONフォーマット)において構造化されるエンタープライズデータの通信をサポートしてもよい。
特定の実施の形態では、モバイルコンピューティングデバイス202,212は、クラウドコンピュータシステム110と通信するよう特定のユーザインターフェイスを提供することができるアプリケーション(「アプリ」)を各々実現してもよい。ある具体的なUIを、ある具体的な通信プロトコルを用いて通信するよう構成してもよい。いくつかの実施の形態では、具体的なUIは、クラウドコンピュータシステム110と通信するよう呼出されてもよい呼出可能インターフェイス、関数、ルーチン、方法および/または動作を含んでもよい。具体的なUIは、入力として、エンタープライズデータのためにエンタープライズコンピュータシステムと通信するための、および/または、サービスを要求するよう、パラメータを受入れてもよい。いくつかの実施の形態では、アプリ204,214を介する通信は、カスタム通信プロトコルを用いる通信に対して変換されてもよい。特定の実施の形態では、具体的なUIは同期マネージャ110によって含まれるかまたは実現されてもよい。いくつかの実施の形態では、具体的なUIはアプリケーションにおけるカスタムクライアントに対応してもよい。
クラウドコンピュータシステム110は1つ以上の呼出可能インターフェイス250、例えばアプリケーションプログラミングインターフェイス(API)を含んでもよい。呼出可能インターフェイス250はモバイルコンピューティングデバイス上のアプリがMCS112に要求を通信することを可能にしてもよい。呼出可能インターフェイス250は共通または標準インターフェイスをサポートしてもよく、それはそれらのパラメータを含む要求が標準化されたプロトコル、アーキテクチャのスタイルおよび/またはフォーマット(例えばRESTプロトコル)に従ってアプリから受信されることを可能にしてもよい。呼出可能インターフェイス250はコンピューティングデバイス202,212のうちの任意の1つのユーザによって構成可能であってもよい。呼出可能インターフェイス250はサービスに対する要求を通信プロトコルに従って受信してもよい。例えば、呼出可能インターフェイス250はRESTプロトコルに従って要求をサポートするREST APIであってもよい。いくつかの実施の形態では、呼出可能インターフェイス250はモバイルコンピューティングデバイスからメッセージを受信してもよい。呼出可能インターフェイス250は、呼出可能インターフェイス250によってサポートされるフォーマットに従ってモバイルコンピューティングデバイスから受信されるメッセージを翻訳または変換するよう構成されてもよい。デバイスアプリケーション開発者は彼らのカスタムアプリケーションのためにMCS112に接続し得る。いくつかの実施の形態では、呼出可能インターフェイス250は、アプリを開発する同じ人によって構成されて、その人がカスタムアプリを実現してMCS112と通信できるようにしてもよい。
呼出可能インターフェイス250は、エンタープライズコンピュータシステムが、標準化されたプロトコルまたはフォーマットに従ってMCS112と通信することを可能にしてもよい。アプリケーション開発者と同様に、エンタープライズコンピュータシステムを管理する者は、MCS112と呼出可能インターフェイス250を介して通信するよう構成されるコード(例えばエージェントシステム)を実現することができる。呼出可能インターフェイス250は、あるコンピューティングデバイスのタイプ、あるエンタープライズコンピュータシステムのタイプ、アプリ、エージェントシステム、サービス、プロトコル、または他の基準に基づいて実現されてもよい。いくつかの実施の形態では、呼出可能インターフェイス250は、認証、圧縮、暗号化、カーソルでのページ付け、クライアントに基づくスロットル、非否認、ロギング、およびメトリック収集を含むサービスに対する要求をサポートしてもよい。いくつかの実施の形態では、呼出可能インターフェイス250は、認証、ポリシー実施、応答のキャッシング、MCS112に対する呼出のスロットル、非同期および同期パターン間の翻訳、基底サービスに対する呼出のロギング、またはそれらの組み合わせなどのような、カスタムビジネス関連サービスに対して実現されてもよい。いくつかの実施の形態では、呼出可能インターフェイス250は、ユーザが、クラウドコンピュータシステム110による実現のためにカスタムコード(例えばカスタムコード116)をロードすることを可能にしてもよい。カスタムコードは、ユーザがカスタムサービスにアクセスすることができることを可能にする、クラウドコンピュータシステム110に対する1つ以上の呼出可能インターフェイス250を実現してもよい。
プロトコルトランスレータ252は、メッセージを処理して、メッセージに対する通信プロトコルを判断し、および/または、メッセージを宛先のための通信プロトコルに変換してもよい。プロトコルトランスレータ252はモバイルコンピューティングデバイス202,212から受信される要求を変換してもよい。要求は、コンピューティングデバイス202,212によってサポートされる通信プロトコルのフォーマットから、エンタープライズコンピュータシステム282,292によってサポートされる通信プロトコルのフォーマットに変換されてもよい。プロトコルトランスレータ252はエンタープライズコンピュータシステム282、292から受信される応答を変換してもよい。応答は、エンタープライズコンピュータシステム282,292によってサポートされる通信プロトコルのフォーマットから、モバイルコンピューティングデバイス202,212によってサポートされる通信プロトコルのフォーマットに変換されてもよい。いくつかの実施の形態では、プロトコルトランスレータ252によって実行される動作のすべてまたはいくつかを呼出可能インターフェイス250および/またはアダプタインターフェイス222において実現してもよい。
セキュリティサービス132は、モバイルコンピューティングデバイス202,212のいずれかから受信される要求に関するセキュリティ認証を管理してもよい。先に説明したように、セキュリティサービス132は、顧客プロセスおよびエンタープライズデータの保全性を保護してもよい。システムが損なわれることを防止するために、セキュリティ認証は、要求がモバイルコンピューティングデバイス202,212から受信されると行われてもよい。セキュリティ認証は、要求が発送されてクラウドコンピュータシステム110によって処理される前に実行されてもよい。ユーザに関して判断されるセキュリティ認証は、モバイルコンピューティングデバイスに関連付けられたユーザが、MCS112を介してサービスを要求する認証を有することを可能にしてもよい。セキュリティ認証は、ユーザが、MCS112を介して要求されるさまざまな要求および/またはサービスについて認証する努力を低減してもよい。セキュリティサービス132は、要求のセキュリティを認証するさまざまな動作を実行するよう構成された1つ以上のファンクションブロックまたはモジュールとして実現されてもよい。セキュリティサービス132は、認証マネージャ262と、セキュリティプロトコル決定部264と、セキュリティトークン生成部266とを含んでもよい。
認証マネージャ262は、モバイルコンピューティングデバイス202,212から受信される要求に関するセキュリティ認証を管理してもよい。認証マネージャ262は、要求をMCS112に送信するコンピューティングデバイスに関連付けられたユーザに関してセキュリティ認証を判断してもよい。セキュリティ認証は、アプリの動作(例えばアプリの起動)に結び付けられ得る時間期間、要求、コンピューティングデバイス、エンタープライズコンピュータシステム、要求に関連する他の基準、またはそれらの組み合わせに基づいて判断されてもよい。セキュリティ認証は、個々の要求、1つ以上のエンタープライズコンピュータシステム、特定のサービス、あるタイプのサービス、ユーザ、コンピューティングデバイス、セキュリティ認証を判断するための他の基準、またはそれらの組み合わせなどのうちの任意の1つに関して検証および付与されてもよい。いくつかの実施の形態では、クラウドコンピュータシステム110は、エンタープライズコンピュータシステムまたはエンタープライズコンピュータシステムをサポートする認証システムから受信されるユーザの認証情報を記憶してもよい。クラウドコンピュータシステム110は、要求に関連付けられたユーザのアイデンティティがそのような要求を行なう権限があるか否かを判断するために参照機能を実行することによって認証を判断してもよい。記憶された認証情報は、ユーザがアクセスする権限を与えられてもよい要求のタイプ、機能、エンタープライズコンピュータシステム、エンタープライズデータなどの情報を含んでもよい。いくつかの実施の形態では、クラウドコンピュータシステム110は、要求しているコンピューティングデバイスとの通信を開始して、認証を判断してもよい。認証マネージャ262は、セキュリティ認証情報(例えば認証情報)をキャッシュ220に記憶してもよい。
いくつかの実施の形態では、セキュリティ認証は、サービスを要求するユーザに関連付けられた役割に基づいて判断されてもよい。役割は、MCS112へのアクセスを要求するユーザに関連付けられてもよい。いくつかの実施の形態では、ユーザは、MCS112によって提供される資源および/またはサービスへのアクセスを付与されてもよいMCS112の利用者またはテナントとしてサービスを要求してもよい。認証は、MCSに対するユーザのサブスクリプションに対応してもよく、ユーザは、利用者としてMCS112を介してサービスを要求する権限を与えられてもよい。いくつかの実施の形態では、サブスクリプションは、MCS112によって提供される資源の特定の組に限定されてもよい。セキュリティ認証は、MCS112のユーザがアクセス可能な資源および/またはサービスに基づいてもよい。いくつかの実施の形態では、要求は、「実行時環境」と呼ばれる実行中にテンプレートをプロビジョニングされてもよい。実行時環境は、要求、ユーザまたはデバイスに割当てられる資源に関連付けられてもよい。
いくつかの実施の形態では、認証マネージャ262は、アイデンティティ管理システムがユーザに関してセキュリティ認証を判断するよう要求してもよい。アイデンティティ管理システムは、クラウドコンピュータシステム110によって、またはクラウドコンピュータシステム110に外付けの別のコンピュータシステムによって実現されてもよい。アイデンティティ管理システムは、ユーザの役割またはMCS112にアクセスするためのサブスクリプションに基づいてユーザのセキュリティ認証を判断してもよい。役割またはサブスクリプションは、エンタープライズコンピュータシステム、エンタープライズコンピュータシステムによって提供されるサービス、エンタープライズコンピュータシステムの機能もしくは特徴、エンタープライズコンピュータシステムへのアクセスを制御するための他の基準、またはそれらの組み合わせに関して特権および/または資格を割当てられてもよい。
いくつかの実施の形態では、認証マネージャ262は、要求に関連付けられたユーザが当該要求のための特定のエンタープライズコンピュータシステムにアクセスすることを認証されたか否かを判断してもよい。認証マネージャ262は、要求されたエンタープライズコンピュータシステムが、ユーザがアクセス可能なエンタープライズコンピュータシステムのうちの1つであるか否かを判断してもよい。
セキュリティプロトコル決定部264は、エンタープライズコンピュータシステムからサービスを要求するためのセキュリティプロトコルを決定してもよい。クラウドコンピュータシステム110は、クラウドコンピュータシステム110がアクセス可能な異なるエンタープライズコンピュータシステムのためのセキュリティプロトコルを示すセキュリティプロトコル情報を記憶してもよい。いくつかの実施の形態では、セキュリティプロトコル情報は、セキュリティプロトコルを選択するための1つ以上の基準を示してもよい。そのような基準は、エンタープライズコンピュータシステムのタイプ、要求のタイプ、要求側のタイプ、通信接続のタイプ、クラウドコンピュータシステム110と要求されたエンタープライズコンピュータシステムとの間の通信接続に関連する他の基準、またはそれらの組み合わせを含んでもよい。いくつかの実施の形態では、要求は、ユーザのセキュリティ認証を判断するために使用される情報および/またはユーザのセキュリティ認証を含んでもよい。クラウドコンピュータシステム110は、1つ以上のセキュリティプロトコル(例えばSAMLに基づくプロトコル)を示す情報を記憶してもよい。セキュリティプロトコル決定部264は、エンタープライズコンピュータシステムのためのセキュリティプロトコルを決定するために参照動作を実行してもよい。
セキュリティトークン生成部266は、要求に関連付けられたユーザのセキュリティ認証に基づいてセキュリティトークンを生成してもよい。セキュリティトークンは、アクセスのレベル、アクセス可能なサービス、および/または、セキュリティ認証に関連付けられたユーザについての他の識別情報を含むセキュリティ認証を含んでもよい。セキュリティトークンは、エンタープライズコンピュータシステムがユーザの認証を検証することを可能にするためにエンタープライズコンピュータシステムに送信される要求に含まれてもよい。セキュリティトークンは、要求されたエンタープライズコンピュータシステムのために決定されたセキュリティプロトコルに従って生成されてもよい。
ここで図3を参照して、本発明のいくつかの実施の形態に従って1つ以上のコンピューティングデバイス、例えばコンピューティングデバイス302と1つ以上のエンタープライズコンピュータシステム、例えばエンタープライズコンピュータシステム150との間における通信を容易にするためのプロセス300のシーケンス図が示される。コンピューティングデバイス302とエンタープライズコンピュータシステム150との間における通信は、クラウドコンピュータシステム、例えばクラウドコンピュータシステム110によって容易にされてもよい。いくつかの実施の形態では、コンピューティングデバイス302、クラウドコンピュータシステム110およびエンタープライズコンピュータシステム150は、互いから物理的に分離された異なる地理的位置に位置してもよい。したがって、コンピューティングデバイス302は、エンタープライズコンピュータシステム150とそれらの位置にかかわらず通信することができる。以下でさらに詳細に説明するように、クラウドコンピュータシステム110は、コンピューティングデバイス302が、1つ以上の別個のセキュリティプロトコルをサポートしてもよいエンタープライズコンピュータシステムにサービスに対する要求を通信することを可能にすることができる。場合によっては、エンタープライズコンピュータシステムは、異なるセキュリティプロトコルに容易に適合可能ではないバックエンドシステムによってサポートされてもよい。場合によっては、アプリケーションの開発者が、そのようなセキュリティプロトコルの知識なしにサービスを要求することができるようにアプリケーションを実現できることが望ましいであろう。同様に、エンタープライズコンピュータシステムのユーザ(例えば管理者または設計者)が、異なるタイプのアプリケーション、セキュリティプロトコルおよび規格に対応することなく要求を受信できることも望ましいであろう。プロセス300は、要求され得るさまざまなエンタープライズコンピュータシステムのセキュリティ対策を要求が満たすことができるようにセキュリティ認証を処理することができるクラウドコンピュータシステム110を実現することによって、そのような要望が満たされることを可能にすることができる。
プロセス300を開始するために、コンピューティングデバイス302は、エンタープライズデータ310をクラウドコンピュータシステム110に送信してもよい。エンタープライズデータは、エンタープライズコンピュータシステム150などのエンタープライズコンピュータシステムからのサービスに対する要求を含んでもよい。エンタープライズデータは、エンタープライズコンピュータシステムへの通信のために送信されてもよい。いくつかの実施の形態では、エンタープライズデータは、複数の要求を含んでもよい。各要求は、同一のサービスに対するものであってもよく、または異なるサービスに対するものであってもよい。各々の要求されたサービスは、同一のまたはエンタープライズコンピュータシステムによって提供されてもよい。エンタープライズデータは、ユーザ識別情報、資格情報、アカウント情報などの認証情報を含んでもよく、それらの一部またはすべては、コンピューティングデバイス302に関連付けられたユーザのセキュリティ認証を判断することに有用であってもよい。エンタープライズデータは、要求が初めてクラウドコンピュータシステム110および/またはエンタープライズコンピュータシステム150に送信されるときの認証情報を含んでもよい。いくつかの実施の形態では、エンタープライズデータ310は、要求されたサービスおよび当該要求されたサービスを提供できる1つ以上のエンタープライズコンピュータシステムを識別する情報を含んでもよい。コンピューティングデバイス302とクラウドコンピュータシステム110との間における通信は、カスタム通信プロトコル114を使用することによって容易にされてもよい。
プロセス300は、クラウドコンピュータシステム110がエンタープライズデータ310を受信することを含んでもよい。データ310の通信は、ファイアウォール104を介して受信されてもよく、ファイアウォール104は、クラウドコンピュータシステム110の内部資源を保護するためにセキュリティを提供してもよい。クラウドコンピュータシステム110は、セキュリティサービス132と、ルーティングバス120と、アダプタインターフェイス122とを含んでもよい。
プロセス300は、セキュリティサービス132がエンタープライズデータ310のための1つ以上の動作320を実行することを含んでもよい。セキュリティサービス132は、さらなる処理が実行される前に、ユーザの認証を判断する要求を最初に処理してもよい。クラウドコンピュータシステム110は、エンタープライズデータ310をクラウドコンピュータシステム110のローカルストレージ、例えばキャッシュに記憶してもよい。1つの動作320は、エンタープライズデータ310に含まれるサービスに対する要求に関してセキュリティ認証を判断することを含んでもよい。セキュリティ認証は、コンピューティングデバイス302に関連付けられたユーザに関して判断されてもよい。異なるタイプのセキュリティ認証が実行されてもよい。セキュリティ認証は、個々の要求、1つ以上のエンタープライズコンピュータシステム、特定のサービス、あるタイプのサービス、ユーザ、コンピューティングデバイス、セキュリティ認証を判断するための他の基準、またはそれらの組み合わせなどのうちの任意の1つに関して判断されてもよい。いくつかの実施の形態では、セキュリティ認証は、ユーザに関連付けられた役割に基づいて判断されてもよい。クラウドコンピュータシステム110は、エンタープライズコンピュータシステムが要求されたサービスを提供すると判断することを含んでもよい。いくつかの実施の形態では、エンタープライズデータ310は、エンタープライズコンピュータシステムを示してもよい。別の動作320は、ユーザからの要求によって識別されるエンタープライズコンピュータシステムに関してセキュリティ認証が判断されているか否かを判断することを含んでもよい。動作320は、セキュリティサービス132がセキュリティ認証を示す情報をクラウドコンピュータシステム110に記憶することを含んでもよい。
いくつかの実施の形態では、セキュリティサービス132は、アイデンティティ管理システムがユーザに関するセキュリティ認証を判断するよう要求してもよい。アイデンティティ管理システムは、クラウドコンピュータシステム110によって実現されてもよい。アイデンティティ管理システムは、クラウドコンピュータシステム110に外付けの別のコンピュータシステムによって実現されてもよい。アイデンティティ管理システムは、要求を提出したときにユーザに関連付けられた役割に基づいてユーザのセキュリティ認証を判断してもよい。役割は、エンタープライズコンピュータシステム、エンタープライズコンピュータシステムによって提供されるサービス、エンタープライズコンピュータシステムの機能もしくは特徴、エンタープライズコンピュータシステムへのアクセスを制御するための他の基準、またはそれらの組み合わせに関して特権および/または資格を割当てられてもよい。
いくつかの実施の形態では、セキュリティサービス132によって実行される動作320は、クラウドコンピュータシステム110を介してユーザがアクセス可能なエンタープライズコンピュータシステムを識別することを含んでもよい。エンタープライズコンピュータシステムは、セキュリティ認証を処理することによって識別されてもよい。ユーザがエンタープライズコンピュータシステム150からサービスを要求するためのセキュリティ認証を有しているか否かを判断するために、プロセス300は、要求されたエンタープライズコンピュータシステムが、ユーザがアクセス可能であると識別されるエンタープライズコンピュータシステムに含まれることをセキュリティサービス132が検証することを含んでもよい。
セキュリティサービス132は、要求されたエンタープライズコンピュータシステム(例えばエンタープライズコンピュータシステム150)からサービスを要求するためのセキュリティプロトコルを決定するための動作302を実行してもよい。いくつかの実施の形態では、要求は、ユーザのセキュリティ認証を判断するために使用される情報および/またはユーザのセキュリティ認証を含んでもよい。クラウドコンピュータシステム110は、1つ以上のセキュリティプロトコル(例えばSAMLに基づくプロトコル)を示す情報を記憶してもよい。サービスに対する要求の通信のためにサポートされるセキュリティプロトコルは、要求されるサービスのタイプ、要求されるエンタープライズコンピュータシステム、ユーザのセキュリティ認証に関連する基準、またはそれらの組み合わせに基づいて選択されてもよい。セキュリティサービス132は、要求されたエンタープライズコンピュータシステムを含む要求されたサービスについての情報および要求されるサービスのタイプに基づいてセキュリティプロトコルを判断してもよい。
いくつかの実施の形態では、エンタープライズコンピュータシステム150は、エンタープライズのオンプレミスに位置してもよいエージェントシステム152を含んでもよい。エージェントシステム152は、サービスに対する要求をエンタープライズコンピュータシステムのエンタープライズコンピュータサーバコンピュータに処理(例えば翻訳または変換)してもよい。エージェントシステム152は、サービスに対して要求されるエンタープライズコンピュータシステムのタイプにかかわらず、共通のセキュリティプロトコルに従ってクラウドコンピュータシステム110から要求を受信してもよい。そのような実施の形態では、セキュリティサービス132は、ユーザからの要求を要求されたエンタープライズコンピュータシステムに送信するための共通のセキュリティプロトコルを判断してもよい。クラウドコンピュータシステム110は、エンタープライズコンピュータシステムおよび/またはエンタープライズコンピュータシステムをサポートするオンプレミスのエージェントシステムによってサポートされるセキュリティプロトコルを示す情報を記憶してもよい。共通のセキュリティプロトコルは、要求されるエンタープライズコンピュータシステムに基づいて判断されてもよい。
プロセス300は、セキュリティサービス132が、エンタープライズコンピュータシステムから要求されるサービスについてのセキュリティトークンを生成することを含んでもよい。セキュリティトークンは、サービスを要求したユーザのセキュリティ認証についての情報を含んでもよい。上記のように、要求されたエンタープライズコンピュータシステムは、生成されたセキュリティトークンを使用して、要求に関連付けられたユーザがサービスを要求する権限を与えられるか否かを検証してもよい。セキュリティトークンは、要求に関して決定されるセキュリティプロトコル、要求されるエンタープライズコンピュータシステムのタイプ、要求されるサービス、ユーザのセキュリティ認証、要求されたサービスに基づく他の基準、またはそれらの組み合わせのうちの1つ以上に基づいて生成されてもよい。いくつかの実施の形態では、セキュリティトークンは、要求に関して決定されるセキュリティプロトコルに対応するフォーマットに対応して生成されてもよい。プロセス300は、セキュリティサービス132が、生成されたセキュリティトークンをクラウドコンピュータシステム110に記憶することを含んでもよい。
プロセス300は、ディスパッチャ(例えばディスパッチャ118)に渡されるセキュリティ認証情報を含む要求を含んでもよい。プロセス300は、要求がルーティングバス120にルーティングされること(322)を含んでもよい。ルーティングバス120は、当該要求をアダプタインターフェイス122に転送して、サービスに対して要求されるエンタープライズコンピュータシステム、例えばエンタープライズコンピュータシステム150に配送する要求を処理してもよい。プロセス300は、アダプタインターフェイス122が、要求をエンタープライズコンピュータシステム150によってサポートされる通信プロトコルに翻訳する要求を処理することを含んでもよい。
プロセス300は、エンタープライズデータ330をエンタープライズコンピュータシステム150に送信することを含んでもよい。エンタープライズデータ330は、要求を含んでもよく、エンタープライズコンピュータシステム150によってサポートされる通信プロトコルを使用して送信されてもよい。当該要求は、コンピューティングデバイス302から受信される要求に対応してもよい。エンタープライズデータ330は、クラウドコンピュータシステム110によって記憶されるエンタープライズデータなどの上記のエンタープライズデータを含んでもよい。エンタープライズデータ330は、要求について生成されるセキュリティトークンを含んでもよい。エンタープライズデータ330は、複数の要求を含んでもよく、各々は、コンピューティングデバイス302から受信される要求に対応する。いくつかの実施の形態では、エンタープライズデータ330は、コンピューティングデバイス302から受信される単一の要求に基づいて選択される複数の要求を含んでもよい。複数の要求を含む場合、エンタープライズデータ330は、各要求に対応するセキュリティトークンを含んでもよい。図3に示される例では、エンタープライズデータ330は、複数の要求を示してもよく、各々は、異なる要求されたサービスに対応する。各々の要求されたサービスは、エンタープライズコンピュータシステム150またはエンタープライズコンピュータシステム150がアクセス可能な他のエンタープライズコンピュータシステムによって提供されてもよい。いくつかの実施の形態では、エンタープライズデータ330は、エージェントシステム152に向けられてもよい。上記のように、エージェントシステム152は、サービスに対する要求を処理するための共通のセキュリティプロトコルをサポートしてもよい。エンタープライズデータ330は、共通のセキュリティプロトコルに従ってフォーマットされてもよい。
プロセス300は、エンタープライズコンピュータシステム150がエンタープライズデータ330を受信することを含んでもよい。いくつかの実施の形態では、エンタープライズデータ330は、エージェントシステム152によって受信されてもよい。エージェントシステム152は、エンタープライズデータ330を受信すると1つ以上の動作を実行してもよい。1つの動作342は、エンタープライズデータ330をエンタープライズコンピュータシステム150またはエージェントシステム152に記憶することを含んでもよい。別の動作342は、要求されたサービスを判断するようにエンタープライズデータ330を処理することを含んでもよい。エンタープライズデータ330は、エンタープライズコンピュータシステム150によってサポートされるプロトコルに対応するフォーマットに基づいて変換されてもよい。
いくつかの実施の形態では、エージェントシステム152によって実行される別の動作342は、要求されたサービスについてのセキュリティプロトコルを決定するようにエンタープライズデータ330を処理することを含んでもよい。セキュリティプロトコルは、エージェントシステム152によってサポートされる共通のセキュリティプロトコルに対応してもよい。エンタープライズデータ330は、サポートされたセキュリティプロトコルに対応するフォーマットで要求が提示されるか否かを判断するように処理されてもよい。
さらに別の動作342では、エージェントシステム152は、要求されたサービスについてのセキュリティトークンを決定するようにエンタープライズデータ330を処理してもよい。エンタープライズデータ330は、セキュリティトークンに基づいてユーザの認証を検証するように処理されてもよい。エージェントシステム152は、サービスを要求するためにユーザの認証を判断してもよい。エンタープライズデータ330における各要求は、ユーザの認証を判断するように処理されてもよい。いくつかの実施の形態では、エージェントシステム152は、エンタープライズデータ330に含まれるセキュリティトークンに基づいてエンタープライズデータ330におけるすべての要求について認証を判断してもよい。例えば、エージェントシステム152は、認証情報が、エンタープライズコンピュータシステム150によって記憶される認証情報と一致するか否かを判断してもよい。認証情報は、エンタープライズコンピュータシステム150によって記憶される認証情報と比較されて、情報が基準と一致するまたは基準を満たすか否かを判断してもよい。
別の動作342は、エンタープライズデータを1つ以上のエンタープライズサーバコンピュータ、例えばエンタープライズサーバコンピュータ304およびエンタープライズサーバコンピュータ306に送信することを含んでもよい。エンタープライズコンピュータシステム150によって受信されるエンタープライズデータ330は、複数の要求を含んでもよく、各々は、エンタープライズサーバコンピュータ304,306のうちの異なる1つによって提供される異なるサービスに向けられる。エンタープライズサーバコンピュータ304およびエンタープライズサーバコンピュータ306は、単一のサービスを提供してもよく、または異なるサービスを提供してもよい。いくつかの実施の形態では、エンタープライズサーバコンピュータ304,306の各々は、1つ以上の他のエンタープライズコンピュータシステムを容易にしてもよく、または1つ以上の他のエンタープライズコンピュータシステムに関連付けられてもよい。そのような実施の形態では、エージェントシステム152は、エンタープライズサーバコンピュータ304,306のうちの1つまたは両方を介して要求をエンタープライズコンピュータシステムに通信するよう構成されてもよい。いくつかの実施の形態では、エージェントシステム152、エンタープライズサーバコンピュータ304およびエンタープライズサーバコンピュータ306のうちの1つ以上は、単一のコンピュータシステムに含まれてもよい。代替的に、エージェントシステム152、エンタープライズサーバコンピュータ304およびエンタープライズサーバコンピュータ306のうちの1つ以上は、互いから物理的に分離された異なる地理的位置に位置する異なるコンピュータシステムに含まれてもよい。
図3に示される一例では、エージェントシステム152は、1つの要求のためにエンタープライズデータ340をエンタープライズサーバコンピュータ304に送信してもよく、別の要求のためにエンタープライズデータ344をエンタープライズサーバコンピュータ306に送信してもよい。エンタープライズサーバコンピュータに送信されるエンタープライズデータ(例えばエンタープライズデータ340またはエンタープライズデータ344)は、エンタープライズサーバコンピュータによってサポートされるプロトコル(例えばセキュリティプロトコル)にフォーマットされた要求を含んでもよい。エンタープライズデータ340およびエンタープライズデータ344は、エンタープライズサーバコンピュータ304およびエンタープライズサーバコンピュータ306にそれぞれ同時に送信されてもよい。
プロセス300は、エンタープライズコンピュータシステム150が、エンタープライズサーバコンピュータ304,306の各々から受信された1つ以上の応答を処理することを含んでもよい。応答は、サービスに対する要求に対する応答、サービスを要求した結果、要求されたサービスについてのエラー情報、要求されたサービスのためのエンタープライズデータ、要求されたサービスを提供するための他のエンタープライズデータ、またはそれらの組み合わせのうちの1つ以上を示すエンタープライズデータを含んでもよい。エージェントシステム152は、エンタープライズサーバコンピュータ304,306から受信された応答の処理を管理してもよい。例えば、エージェントシステム152は、エンタープライズサーバコンピュータ304から応答350を受信してもよく、エンタープライズサーバコンピュータ306から応答370を受信してもよい。応答(例えば応答350および応答370)は、同時に受信されてもよく、または異なる時間期間に受信されてもよい。通信が進む距離、ネットワーク遅延、要求を処理するための資源、サービスを提供するために必要とされる時間、またはそれらの組み合わせのために、応答は、異なる時間期間中に受信されてもよい。
いくつかの実施の形態では、応答(例えば応答350または応答370)を処理することは、応答(例えば応答350および応答370)におけるエンタープライズデータを、クラウドコンピュータシステム110によってサポートされるフォーマットに変換することを含んでもよい。フォーマットは、クラウドコンピュータシステム110によってサポートされる通信プロトコルに対応してもよい。いくつかの実施の形態では、エージェントシステム152はエンタープライズコンピュータシステム150を代表してクラウドコンピュータシステム110と通信するよう構成されてもよいので、エージェントシステム152が変換プロセスを実行してもよい。
プロセス300は、エンタープライズコンピュータシステム150が、1つ以上の応答(例えば応答352または応答372)をクラウドコンピュータシステム110に送信することを含んでもよい。応答は、エンタープライズサーバコンピュータからの応答において受信されるエンタープライズデータを含んでもよい。エンタープライズデータは、クラウドコンピュータシステム110によってサポートされる通信プロトコルに従ってフォーマットされてもよい。応答は、エンタープライズサーバコンピュータから受信される各応答ごとに送信されてもよい。例えば、応答352は、応答350から受信されるエンタープライズデータを含んでもよく、応答372は、応答370から受信されるエンタープライズデータを含んでもよい。エンタープライズコンピュータシステム150は、応答がエンタープライズサーバコンピュータから受信されると応答を送信してもよく、または応答は、収集された複数の応答から受信されるエンタープライズデータを含んでもよい。そのような技術は、通信を最小化し、および/または、通信の効率を向上させることに対して有用であってもよい。いくつかの実施の形態では、複数の応答は、エンタープライズデータを受信して要求されたサービスを提供するために収集されてもよい。したがって、エンタープライズコンピュータシステム150は、複数の応答をクラウドコンピュータシステム110に送信して、要求されたサービスに関連するエンタープライズデータを提供してもよい。
プロセス300は、ルーティングバス120が、エンタープライズコンピュータシステム150から受信された応答352,372を処理することを含んでもよい。クラウドコンピュータシステム110は、応答352,372を受信したことに応答して1つ以上の動作354,374を実行してもよい。1つの動作は、応答において受信されたエンタープライズデータを記憶することを含んでもよい。別の動作は、応答(例えば応答352または応答372)において受信されたエンタープライズデータを処理することを含んでもよい。応答において受信されるエンタープライズデータは、要求されたサービスに関する結果または通知を含んでもよい。エンタープライズデータは、当該結果または通知を識別するように処理されてもよい。エンタープライズデータは、構文解析されて、要求されたサービスに対する関連のエンタープライズデータを抽出してもよい。いくつかの実施の形態では、応答において受信されるエンタープライズデータは、サービスを要求するモバイルコンピューティングデバイスに記憶された既存のエンタープライズデータと比較されてもよい。エンタープライズデータの違いは、当該比較に基づいて識別されてもよい。違いは、コンピューティングデバイス302に記憶および/または通信されてもよい。いくつかの実施の形態では、クラウドコンピュータシステム110は、応答においてコンピューティングデバイス302に提供されることができるエンタープライズデータを判断してもよい。
プロセス300は、クラウドコンピュータシステム110が1つ以上の応答(例えば応答360または応答380)をコンピューティングデバイス302に送信することを含んでもよい。応答360および応答380は、それぞれ応答352および応答372からのエンタープライズデータを含んで送信されてもよい。いくつかの実施の形態では、応答360または応答380は、両方に含まれるエンタープライズデータを含んで送信されてもよい。いくつかの実施の形態では、クラウドコンピュータシステムは、記憶されたエンタープライズデータを、応答352または応答372の一方または両方において受信されたエンタープライズデータと併合してもよい。応答360および/または応答380は、最初にクラウドコンピュータシステム110に送信されたデータ310についての通知を含んでもよい。
コンピューティングデバイスとエンタープライズコンピュータシステムとの間における通信は、クラウドコンピュータシステムを介して行われるとより効率的であることができる。ユーザは、さまざまなエンタープライズコンピュータシステムによってサポートされるさまざまな認証システムのためのセキュリティ認証をコンピューティングデバイスが管理する必要なしにさまざまな異なるタイプのエンタープライズコンピュータシステムと通信することができる。いくつかの例では、セキュリティ認証は、ある時間期間にわたって有効なままであってもよく、それによって、後続の要求に対する認証を無くすことができるので、要求を処理するための応答時間を向上させることを可能にすることを向上させる。
図4には、本発明のいくつかの実施の形態に従ってモバイルコンピューティングデバイスとエンタープライズコンピュータシステムとの間における通信を容易にするためのプロセス400を示すフローチャートが示される。具体的には、プロセス400は、モバイルコンピューティングデバイス(例えばモバイルスマートフォン)がエンタープライズコンピュータシステムと通信して、エンタープライズコンピュータシステムからサービスを要求する、および/または、エンタープライズコンピュータシステムとエンタープライズデータを交換することを可能にする。特定の実施の形態では、プロセス400は、1つ以上のエンタープライズコンピュータシステムにアクセスすることに関するユーザに対するセキュリティ認証を管理してもよい。いくつかの実施の形態では、プロセス400は、ユーザに関するセキュリティ認証の検証に基づいてエンタープライズコンピュータシステムへのアクセスを可能にしてもよい。ユーザのセキュリティ認証に基づいて、プロセス400は、エンタープライズコンピュータシステムによってサポートされるセキュリティプロトコルに従ってセキュリティ認証情報を要求されたエンタープライズコンピュータシステムに通信してもよい。いくつかの実施の形態では、クラウドコンピュータシステムによって管理されるユーザのセキュリティ認証を用いて、プロセス400は、要求されたエンタープライズコンピュータシステムのセキュリティプロトコルによってサポートされる態様またはフォーマットでセキュリティトークンを生成してもよい。そのような技術については、図4を参照して以下で説明する。特定の実施の形態では、クラウドコンピュータシステム(例えばクラウドコンピュータシステム110)がプロセス400を実現してもよい。
プロセス400は論理フロー図として示されており、その動作は、ハードウェア、コンピュータ命令またはそれらの組み合わせにおいて実現されてもよい動作を表わす。コンピュータ命令の文脈においては、動作は、1つ以上のコンピュータ読取可能記憶媒体に記憶されるコンピュータ実行可能命令を表わし、コンピュータ実行可能命令は、1つ以上のプロセッサによって実行されると、記載される動作を実行する。一般的に、コンピュータ実行可能命令は、特定の機能を実行するかまたは特定のデータタイプを実現するルーチン、プログラム、アプリケーション、オブジェクト、コンポーネント、データ構造などを含む。動作が記述される順序は限定として解釈されるよう意図されるものではなく、任意の数の記述される動作が、任意の順序で、および/または、並列に組み合わされてプロセスを実現してもよい。
ブロック405から始まって、プロセス400は、エンタープライズコンピュータシステム(例えばエンタープライズコンピュータシステム150)からのサービスに対する要求をモバイルコンピューティングデバイス(例えばコンピューティングデバイス102)から受信することを含んでもよい。いくつかの実施の形態では、要求は、要求されたサービス、サービスに対して要求されるエンタープライズコンピュータシステム、要求に含まれるエンタープライズデータ、またはそれらの組み合わせを示す情報を含んでもよい。要求は、クラウドコンピュータシステム(例えばクラウドコンピュータシステム110)によって受信されてもよい。そのようなクラウドコンピュータシステムは、エンタープライズコンピュータシステムの第2の地理的位置とは異なる第1の地理的位置に位置してもよい。クラウドコンピュータシステムおよびエンタープライズコンピュータシステムは、パブリック通信ネットワークを介して通信する。
ブロック410において、プロセス400は、クラウドコンピュータシステムを介して少なくとも1つのサービスを取得するために、要求に関連付けられたモバイルコンピューティングデバイスのユーザに関してセキュリティ認証を取得することを含んでもよい。セキュリティ認証は、ユーザに関連付けられた情報に基づいて取得されてもよい。モバイルコンピューティングデバイスから受信された要求は、ユーザ名、連絡先情報(例えば住所、電子メールアドレスまたは電話番号)、ユーザ識別子、ユーザを識別する他の情報、またはそれらの組み合わせなどのユーザ識別情報を含んでもよい。ユーザ識別情報は、要求に基づいて決定されるモバイルコンピューティングデバイスについての情報に基づいて識別されてもよい。上記のように、セキュリティ認証は、MCS112にアクセスするユーザに関して取得されてもよい。認証は、モバイルコンピューティングデバイス上でのアプリの動作などのさまざまな条件に結び付けられた時間期間にわたって継続してもよい。いくつかの実施の形態では、ユーザに関するセキュリティ認証は、要求の処理中に予め取得された後にメモリ(例えば認証情報222)に記憶されてもよい。
ブロック415において、プロセス400は、セキュリティ認証を示す情報を記憶することを含んでもよい。当該情報は、コンピューティングデバイス、例えばプロセス400を実行するコンピューティングデバイスのキャッシュに記憶されてもよい。当該情報は、ユーザがエンタープライズコンピュータシステムからアクセスする権限を与えられてもよい1つ以上のサービス、ユーザがエンタープライズコンピュータシステムからアクセスする権限を与えられる1つ以上のタイプのサービス、エンタープライズコンピュータシステムと交換されることができる1つ以上のタイプのエンタープライズデータ、エンタープライズコンピュータシステムによって提供されるサービスに関連する他の基準、またはそれらの組み合わせなどのセキュリティ認証についての詳細を含んでもよい。いくつかの実施の形態では、セキュリティ認証を示す情報は、エンタープライズコンピュータシステムからアクセス可能なエンタープライズデータのタイプ、機能などを含んでもよい。いくつかの実施の形態では、セキュリティ認証は、要求されたエンタープライズコンピュータシステムとの通信に使用するためのセキュリティプロトコルまたは規格を示してもよい。当該情報は、ユーザがアクセスする権限を与えられてもよい動作、ファンクション、メソッドなどを含んでもよい。セキュリティ認証を示す情報は、ある時間期間にわたって記憶されたままであってもよい。当該時間期間は、ユーザに関連付けられたコンピューティングデバイスにおけるアプリケーションの使用、コンピューティングデバイスにおけるアプリケーションの動作、要求されたサービスの使用、要求されたサービスと交換されるエンタープライズデータの秘密度、クラウドサービスにアクセスするための時間期間、エンタープライズコンピュータシステムにアクセスするための時間期間、要求されたサービスの使用に関連する他の基準、クラウドサービスへのアクセスに関連する他の基準、またはそれらの組み合わせのうちの1つ以上に基づいてもよい。いくつかの実施の形態では、セキュリティ認証を示す情報は、要求されたエンタープライズコンピュータシステムにアクセスする以前の要求から既に記憶されていてもよい。
ブロック420において、プロセス400は、ユーザのセキュリティ認証に基づいて、クラウドコンピュータシステム(例えばクラウドコンピュータシステム110)を介してユーザがアクセス可能な複数のエンタープライズコンピュータシステムを識別することを含んでもよい。いくつかの実施の形態では、ユーザのセキュリティ認証は、クラウドコンピュータシステムを介してアクセス可能なエンタープライズコンピュータシステムのうちのいずれか1つにユーザがアクセスすることを許可してもよい。いくつかの実施の形態では、ユーザのセキュリティ認証は、要求されたサービスについてアクセスされてもよいエンタープライズコンピュータシステムに対して実行されてもよい。上記のように、ユーザのセキュリティ認証は、サービスに対する要求を送信したときのユーザの役割に基づいていてもよい。したがって、ユーザがアクセス可能であってもよいエンタープライズコンピュータシステムは、ユーザの役割がアクセス可能なエンタープライズコンピュータシステムに結び付けられてもよい。セキュリティ認証は、ユーザがアクセス可能な1つ以上のエンタープライズコンピュータシステムを示す情報を含んでもよく、または当該情報に関連付けられてもよい。
ブロック425において、プロセス400は、エンタープライズコンピュータシステムが、ユーザがアクセス可能な複数のエンタープライズコンピュータシステムに含まれることを検証することを含んでもよい。プロセス400は、エンタープライズコンピュータシステムの識別子が要求に含まれるか否かを判断することによってエンタープライズコンピュータシステムを検証し、含まれる場合には、識別子が識別されたエンタープライズコンピュータシステムのうちの1つに対応するか否かを判断してもよい。いくつかの実施の形態では、サービスに対する要求は、要求されたエンタープライズコンピュータシステムを決定するように処理されてもよい。次いで、プロセス400は、要求されたエンタープライズコンピュータシステムが、識別されたエンタープライズコンピュータシステムのうちの1つであるか否かを判断してもよい。
ブロック430において、プロセス400は、エンタープライズコンピュータシステムからサービスを要求するためのセキュリティプロトコルを決定することを含んでもよい。いくつかの実施の形態では、複数のエンタープライズコンピュータシステムのうちの少なくとも1つは、複数のエンタープライズコンピュータシステムのうちの異なる1つとは異なるセキュリティプロトコルを使用して通信してもよい。セキュリティプロトコルは、通信(例えばサービスに対する要求)が向けられるエンタープライズコンピュータシステム、要求されるエンタープライズコンピュータシステムのタイプ、要求されるサービスのタイプ、要求の秘密度もしくは性質、またはそれらの組み合わせに基づいて決定されてもよい。セキュリティプロトコルは、要求されたエンタープライズコンピュータシステムと通信するための通信プロトコル、要求されたエンタープライズコンピュータシステムとの通信に使用される通信接続および/もしくはネットワークのタイプ、またはそれらの組み合わせに基づいて決定されてもよい。いくつかの実施の形態では、セキュリティプロトコルは、SAMLなどの認証のオープンスタンダードに基づいてもよい。セキュリティプロトコルは、2つのシステム間のエンタープライズデータの認証のための1つ以上のプロトコルまたは規格に基づいてもよい。
いくつかの実施の形態では、セキュリティプロトコルは、エンタープライズのオンプレミスのエージェントシステム(例えばエージェントシステム152)へのアクセスを可能にするためのセキュリティプロトコルであってもよい。エージェントシステムは、セキュリティプロトコルを使用して要求を受信するよう構成されてもよく、そのような要求されたエンタープライズコンピュータシステムによってサポートされる特定のセキュリティプロトコルに従って要求をエンタープライズコンピュータシステムに通信してもよい。そのようにして、クラウドコンピュータシステムは、単一のセキュリティプロトコルに関する認証を管理することができ、エンタープライズコンピュータシステムによってサポートされるさまざまなセキュリティプロトコルに関する認証を管理する必要性を回避することができる。
ブロック435において、プロセス400は、エンタープライズコンピュータシステムのための決定されたセキュリティプロトコルに対応するセキュリティトークンを生成することを含んでもよい。セキュリティトークンは、セキュリティプロトコルに対応するフォーマットまたは規格に従って生成されてもよい。例えば、セキュリティトークンは、SAMLを使用するフォーマットで構造化されてもよく、当該フォーマットは、この例では、SAMLに基づくセキュリティプロトコルに対応する。
いくつかの実施の形態では、セキュリティトークンは、ユーザのセキュリティ認証を示す情報に基づいて生成されてもよい。上記のように、セキュリティ認証は、ユーザに許可されるアクセスを示してもよい。したがって、セキュリティトークンは、ユーザが要求されたサービスにアクセスすることを許可され得ることを示すそのような情報に基づいて生成されてもよい。セキュリティトークンは、資格情報、ユーザについての情報、要求されたサービスに対するユーザのアクセスに関連する他の情報、またはそれらの組み合わせを含んでもよい。いくつかの実施の形態では、セキュリティトークンは、ユーザがアクセス可能なサービスのタイプもしくは機能、または、ユーザの認証に基づく要求されたサービスに対する他のタイプの限定に基づいて生成されてもよい。
ブロック440において、プロセス400は、要求されたサービスに対する要求をエンタープライズコンピュータシステムに送信することを含んでもよい。エンタープライズコンピュータシステムへの要求は、生成されたセキュリティトークンを含んでもよい。いくつかの実施の形態では、プロセス400は、要求されたサービスに対する要求をエージェントシステムに送信して、当該要求を1つ以上のエンタープライズコンピュータシステムに通信してもよい。いくつかの実施の形態では、要求されたサービスは、エンタープライズコンピュータシステムの組み合わせによって提供されてもよい。したがって、要求は、エージェントシステムによって分散されてもよい。いくつかの実施の形態では、モバイルコンピューティングデバイスからの要求は、複数のサービスを示してもよい。そのような場合には、プロセス400は、要求を異なるエンタープライズコンピュータシステムに送信してもよく、各要求は、複数のサービスのうちの1つに対応する。生成されたトークンは、各要求に含まれてもよい。プロセス400は、ブロック445において終了してもよい。
プロセス400は例示的であること、ならびに変形および修正が可能であることが理解される。シーケンシャルに記載されるステップは並列に実行されてもよく、ステップの順序は変動してもよく、およびステップは修正され、組み合わされ、追加されまたは省略されてもよい。特定の実施の形態では、プロセス400は、エンタープライズデータがネットワークとの無線通信接続を介して受信される場合に実現されてもよい。例えば、プロセス400は、モバイルコンピューティングデバイスから受信されるサービスに対する各要求に対して実行されてもよい。なお、プロセス400は、モバイルコンピューティングデバイスから複数の通信において受信される要求に対して同時に実行されることができる。特定の実施の形態では、ブロック410および415は、要求に関して判断される異なるセキュリティ認証に対して実現されてもよい。特定の実施の形態では、ブロック425および430は、サービスが要求される異なるエンタープライズコンピュータシステムに対して実現されてもよい。したがって、ブロック435および440は、各々のエンタープライズコンピュータシステムが異なるセキュリティプロトコルを有するときに決定される各々の別個のセキュリティプロトコルに対して実行されてもよい。ブロック440は、異なるエンタープライズコンピュータシステムに通信される各要求に対して実行されることができる。
図5は、実施の形態の1つを実現するための分散型システム500の簡略図を示す。分散型システム500は、コンピューティング環境100のすべてもしくは一部の要素、コンピューティング環境200のすべてもしくは一部の要素、コンピューティングデバイス302、またはそれらの組み合わせを実現することができる。分散型システム500は、動作、方法および/またはプロセス(例えば図3のプロセス300および図4のプロセス400)を実現することができる。示される実施の形態では、分散型システム500は1つ以上のクライアントコンピューティングデバイス502,504,506および508を含み、それらは、1つ以上のネットワーク510にわたってウェブブラウザ、所有権付きクライアント(例えばOracle Forms)などのようなクライアントアプリケーションを実行および動作させるよう構成される。特定の実施の形態では、1つ以上のクライアントコンピューティングデバイス502〜508は図1のクラウドコンピュータシステム110、コンピューティングデバイス102またはコンピューティングデバイス302を含むかまたは実現することができる。サーバ512はリモートクライアントコンピューティングデバイス502,504,506および508とネットワーク510を介して通信可能に結合されてもよい。サーバ512は、コンピューティングデバイス102、クラウドコンピュータシステム110またはコンピューティングデバイス302を含むことができる。
さまざまな実施の形態では、サーバ512は、システムの1つ以上のコンポーネントによって提供される1つ以上のサービスまたはソフトウェアアプリケーションを実行するように適合されてもよい。サービスまたはソフトウェアアプリケーションは非仮想および仮想環境を含むことができる。仮想環境は、二次元表現であれ三次元(3D)表現であれ、ページに基づく論理環境、またはその他であれ、仮想イベント、トレードショー、シミュレータ、クラスルーム、ショッピング交換、およびエンタープライズに対して用いられるものを含むことができる。いくつかの実施の形態では、これらのサービスは、ウェブに基づくサービスもしくはクラウドサービスとして、またはSoftware as a Service(SaaS)モデルの下で、クライアントコンピューティングデバイス502,504,506および/または508のユーザに対して提供されてもよい。クライアントコンピューティングデバイス502,504,506および/または508を動作させるユーザは、次いで、1つ以上のクライアントアプリケーションを利用してサーバ512と対話して、これらのコンポーネントによって提供されるサービスを利用してもよい。
図に示される構成では、システム500のソフトウェアコンポーネント518,520および522はサーバ512上において実現されるとして示される。他の実施の形態では、システム500のコンポーネントの1つ以上および/またはこれらのコンポーネントによって提供されるサービスは、クライアントコンピューティングデバイス502,504,506および/または508の1つ以上によって実現されてもよい。クライアントコンピューティングデバイスを動作させるユーザは、次いで、1つ以上のクライアントアプリケーションを利用して、これらのコンポーネントによって提供されるサービスを用いてもよい。これらのコンポーネントは、ハードウェア、ファームウェア、ソフトウェア、またはそれらの組み合わせにおいて実現されてもよい。分散型システム500とは異なってもよいさまざまな異なるシステム構成が可能であることが理解されるべきである。図に示される実施の形態は、したがって、実施の形態のシステムを実現するための分散型システムの一例であり、限定的であるようには意図されない。
クライアントコンピューティングデバイス502,504,506および/または508は、携帯可能な手持ち式の装置(例えばiPhone(登録商標)、セルラー電話、iPad(登録商標)、計算タブレット、携帯情報端末(PDA))またはウェアラブルデバイス(例えばGoogle Glass(登録商標)頭部装着型ディスプレイ)であってもよく、Microsoft Windows Mobile(登録商標)などのようなソフトウェア、および/もしくは、iOS、Windows Phone、Android、BlackBerry 10、Palm OSなどのようなさまざまなモバイルオペレーティングシステムを動作させ、インターネット、電子メール、ショートメッセージサービス(SMS)、Blackberry(登録商標)または他の通信プロトコルで可能化される。クライアントコンピューティングデバイスは汎用パーソナルコンピュータであることができ、例えば、Microsoft Windows(登録商標)、Apple Macintosh(登録商標)および/またはLinux(登録商標)オペレーティングシステムのさまざまなバージョンを動作させるパーソナルコンピュータおよび/またはラップトップコンピュータを含む。クライアントコンピューティングデバイスは、例えばGoogle Chrome OSなどのようなさまざまなGNU/Linuxオペレーティングシステムを限定なく含む、さまざまな市場で入手可能なUNIX(登録商標)またはUNIXのようなオペレーティングシステムの任意のものを動作させるワークステーションコンピュータであり得る。代替的に、または加えて、クライアントコンピューティングデバイス502,504,506および508は、ネットワーク510を介して通信することができる、シンクライントコンピュータ、インターネットにより可能化されるゲームシステム(例えばKinect(登録商標)ジェスチャ入力装置を伴うかまたは伴わないMicrosoft Xboxゲームコンソール)および/または個人メッセージ伝達装置などのような任意の他の電子装置であってもよい。
例示的な分散型システム500は4つのクライアントコンピューティングデバイスとともに示されているが、任意の数のクライアントコンピューティングデバイスがサポートされてもよい。センサを伴うデバイスなど、他のデバイスがサーバ512と対話してもよい。
分散型システム500におけるネットワーク510は、TCP/IP(伝送制御プロトコル/インターネットプロトコル)、SNA(システムネットワーク体系)、IPX(インターネットパケット交換)、AppleTalkなどを限定なしに含む、さまざまな市場で入手可能なプロトコルのうちの任意のものを用いてデータ通信をサポートすることができる、当業者が精通している任意のタイプのネットワークであってもよい。単なる例示として、ネットワーク510は、イーサネット(登録商標)、トークンリングなどに基づくものなどのような、ローカルエリアネットワーク(LAN)であり得る。ネットワーク510はワイドエリアネットワークおよびインターネットであり得る。それは、仮想プライベートネットワーク(VPN)、イントラネット、エクストラネット、公衆交換電話網(PSTN)、赤外線ネットワーク、無線ネットワーク(例えば米国電気電子学会(IEEE)802.11のプロトコル一式、Bluetooth(登録商標)、および/もしくは任意の他の無線プロトコルのいずれかの下で動作するネットワーク)を限定なしに含む仮想ネットワーク;ならびに/またはこれらの任意の組み合わせおよび/もしくは他のネットワークを含み得る。
サーバ512は、1つ以上の汎用コンピュータ、特別化されたサーバコンピュータ(例えばPC(パーソナルコンピュータ)サーバ、UNIX(登録商標)サーバ、平均的なサーバ、メインフレームコンピュータ、ラックマウント型サーバなどを含む)、サーバファーム、サーバクラスタ、または任意の他の適切な構成および/もしくは組み合わせからなってもよい。サーバ512は、仮想オペレーティングシステムを動作させる1つ以上の仮想マシン、または仮想化を伴う他のコンピューティングアーキテクチャを含むことができる。1つ以上の論理記憶装置からなる柔軟なプールを仮想化してサーバのために仮想記憶装置を維持することができる。仮想ネットワークを、サーバ512によって、ソフトウェア定義のネットワーク接続を用いて制御することができる。さまざまな実施の形態において、サーバ512は、前述の開示に記載される1つ以上のサービスまたはソフトウェアアプリケーションを実行するように適合されてもよい。例えば、サーバ512は、本発明の実施の形態に従って上記の処理を実行するためのサーバに対応してもよい。
サーバ512は、上に論じられたもののうちの任意のものを含むオペレーティングシステム、および任意の市場で入手可能なサーバオペレーティングシステムを動作させてもよい。サーバ512は、さらに、HTTPサーバ、FTPサーバ、CGI(コモンゲートウェイインターフェイス)サーバ、JAVA(登録商標)サーバ、データベースサーバなどを含むさまざまなさらなるサーバアプリケーションおよび/または中間層アプリケーションのうちの任意のものを動作させてもよい。例示的なデータベースサーバは、限定なしに、Oracle、Microsoft、Sybase、IBM(インターナショナルビジネスマシンズ)などから市場で入手可能なものを含む。
いくつかの実現例では、サーバ512は、1つ以上のアプリケーションを含んで、クライアントコンピューティングデバイス502,504,506および508のユーザから受信されるデータフィードおよび/またはイベント更新を解析および整理統合してもよい。一例として、データフィードおよび/またはイベント更新は、センサデータアプリケーション、金融株式相場表示板、ネットワーク性能計量ツール(例えばネットワーク監視およびトラフィック管理アプリケーション)、クリックストリーム解析ツール、自動車交通監視などに関係する実時間イベントを含んでもよい、1つ以上の第三者情報源および連続的なデータストリームから受信される、Twitter(登録商標)フィード、Facebook(登録商標)更新または実時間更新を含んでもよいが、それらに限定はされない。サーバ512は、さらに、1つ以上のアプリケーションを含んで、データフィードおよび/または実時間イベントをクライアントコンピューティングデバイス502,504,506および508の1つ以上の表示装置を介して表示してもよい。
分散型システム500は、さらに、1つ以上のデータベース514および516を含んでもよい。データベース514および516はさまざまな位置にあってもよい。例として、データベース514および516の1つ以上はサーバ512に局在する(および/またはサーバ512に常駐する)非一時的な記憶媒体にあってもよい。代替的に、データベース514および516は、サーバ512から遠隔にあり、ネットワークに基づくかまたは専用の接続を介してサーバ512と通信状態にあってもよい。1組の実施の形態では、データベース514および516は記憶域ネットワーク(SAN)にあってもよい。同様に、サーバ512に帰する機能を実行するための任意の必要なファイルが、適切に、サーバ512上においてローカルに、および/または遠隔で記憶されてもよい。1組の実施の形態では、データベース514および516はOracleによって提供されるデータベースのような、SQLフォーマットされたコマンドに応答してデータを記憶、更新および検索取得するように適合されるリレーショナルデータベースを含んでもよい。1つ以上のデータベース514および516はデータベース114を含むかまたはデータベース114として実現されることができる。
図6は、本発明の実施の形態に従って、実施の形態のシステムの1つ以上のコンポーネントによって提供されるサービスがクラウドサービスとして提供されてもよいシステム環境600の1つ以上のコンポーネントの簡略ブロック図である。システム環境600は、コンピューティング環境100のすべてもしくは一部の要素、コンピューティング環境200のすべてもしくは一部の要素、またはそれらの組み合わせを含むかまたは実現することができる。システム環境600は動作、方法、および/またはプロセス(例えば図3のプロセス300または図4のプロセス400)を実現することができる。示される実施の形態では、システム環境600は、クラウドサービスを提供するクラウドインフラストラクチャシステム602と対話するようユーザによって用いられてもよい1つ以上のクライアントコンピューティングデバイス604,606および608を含む。クライアントコンピューティングデバイスは、クラウドインフラストラクチャシステム602と対話して、クラウドインフラストラクチャシステム602によって提供されるサービスを用いるよう、クライアントコンピューティングデバイスのユーザによって用いられてもよい、ウェブブラウザ、所有権付きクライアントアプリケーション(例えばOracle Forms)または何らかの他のアプリケーションなどのようなクライアントアプリケーションを動作させるよう構成されてもよい。
図に示されるクラウドインフラストラクチャシステム602は図示されるもの以外のコンポーネントを有してもよいことが理解されるべきである。さらに、図に示される実施の形態は、本発明の実施の形態を組み込んでもよいクラウドインフラストラクチャシステムの一例に過ぎない。例えば、クラウドインフラストラクチャシステム602はクラウドコンピュータシステム110のすべてまたは一部を含むかまたは実現することができる。いくつかの他の実施の形態では、クラウドインフラストラクチャシステム602は、図に示されるよりも多いかもしくは少ないコンポーネントを有してもよく、2つ以上のコンポーネントを組み合わせてもよく、またはコンポーネントの異なる構成もしくは配置を有してもよい。
クライアントコンピューティングデバイス604,606および608は、クライアントコンピューティングデバイス502,504,506および508に対して上記されたものと同様のデバイスであってもよい。
例示的なシステム環境600は3つのクライアントコンピューティングデバイスとともに示されているが、任意の数のクライアントコンピューティングデバイスがサポートされてもよい。センサを伴うデバイスなどのような他のデバイスがクラウドインフラストラクチャシステム602と対話してもよい。
ネットワーク610はクライアント604,606および608とクラウドインフラストラクチャシステム602との間におけるデータの通信および交換を容易にしてもよい。各ネットワークは、ネットワーク510に対して上記されたものを含む、さまざまな市場で入手可能なプロトコルの任意のものを用いてデータ通信をサポートすることができる、当業者が精通している任意のタイプのネットワークであってもよい。
クラウドインフラストラクチャシステム602は、サーバ512に対して上記されたものを含んでもよい1つ以上のコンピュータおよび/またはサーバを備えてもよい。
特定の実施の形態では、クラウドインフラストラクチャシステムによって提供されるサービスは、オンラインデータストレージおよびバックアップソリューション、ウェブに基づくeメールサービス、運営管理されるオフィススイートおよびドキュメントコラボレーションサービス、データベース処理、管理される技術サポートサービスなどのような、オンデマンドでクラウドインフラストラクチャシステムのユーザに利用可能にされるサービスのホストを含んでもよい。クラウドインフラストラクチャシステムによって提供されるサービスは動的にスケーリングしてそのユーザのニーズを満たすことができる。クラウドインフラストラクチャシステムによって提供されるあるサービスのある具体的なインスタンス化は本明細書では「サービスインスタンス」と称される。一般的に、クラウドサービスプロバイダのシステムからインターネットなどのような通信ネットワークを介してユーザに利用可能にされる任意のサービスは「クラウドサービス」と称される。典型的には、パブリックなクラウド環境においては、クラウドサービスプロバイダのシステムを形成するサーバおよびシステムは顧客自身のオンプレミスのサーバおよびシステムとは異なる。例えば、クラウドサービスプロバイダのシステムはアプリケーションを運営管理してもよく、ユーザは、インターネットなどのような通信ネットワークを介して、オンデマンドで、アプリケーションをオーダーし使用してもよい。
いくつかの例では、コンピュータネットワーククラウドインフラストラクチャにおけるサービスは、ストレージ、運営管理されるデータベース、運営管理されるウェブサーバ、ソフトウェアアプリケーション、またはクラウドベンダーによってユーザに提供されるかもしくは他の態様で当該技術分野において公知であるような他のサービスに対する保護されたコンピュータネットワークアクセスを含んでもよい。例えば、サービスは、クラウド上の遠隔ストレージに対するインターネットを介してのパスワード保護されたアクセスを含むことができる。別の例として、サービスは、ネットワーク接続された開発者による個人的な使用のために、ウェブサービスに基づく運営管理されたリレーショナルデータベースおよびスクリプト言語ミドルウェアエンジンを含むことができる。別の例として、サービスは、クラウドベンダーのウェブサイトにおいて運営管理されるeメールソフトウェアアプリケーションに対するアクセスを含むことができる。
特定の実施の形態では、クラウドインフラストラクチャシステム602は、セルフサービスの、サブスクリプションに基づく、順応性を持ってスケーラブルで、信頼性があり、非常に利用可能性があり、およびセキュリティ上安全な態様で顧客に対して配送されるアプリケーションの組、ミドルウェア、データベースサービス提供を含んでもよい。そのようなクラウドインフラストラクチャシステムの一例は本譲受人によって提供されるOracle Public Cloudである。
時としてビッグデータとも称される大量のデータは、インフラストラクチャシステムによって、多数のレベルにおいて、および異なるスケールで運営管理および/または操作され得る。そのようなデータは、非常に大きくかつ複雑であるため典型的なデータベース管理ツールまたは従来のデータ処理アプリケーションを用いて処理することが困難であり得るデータセットを含み得る。例えば、テラバイトのデータはパーソナルコンピュータまたはそれらのラックベースの対応物を用いて記憶、検索取得および処理することは難しいかもしれない。そのようなサイズのデータは、最も流通しているリレーショナルデータベース管理システムおよびデスクトップ統計および視覚化パッケージを用いて扱うことは困難であり得る。それらは、データを許容可能な経過時間内に捕捉しキュレーションし管理し処理するよう、一般的に用いられるソフトウェアツールの構造を超えて、何千ものサーバコンピュータを動作させる巨大に並列な処理ソフトウェアを必要とし得る。
極端に大きなデータセットは、解析および研究者によって記憶および操作されることにより、大量のデータを視覚化し、傾向を検出し、および/または他の態様でデータと対話することができる。並列にリンクされた何十、何百または何千ものプロセッサが、そのようなデータに作用して、それを呈示するか、またはそのデータもしくはそれが表現するものに対する外部の力をシミュレーションすることができる。これらのデータセットは、エンタープライズデータ、データベースにおけるかまたは他の態様で構造化されたモデルに従って編成されたもののような構造化されたデータ、および/または構造化されないデータ(例えばeメール、画像、データブロブ(バイナリラージオブジェクト)、ウェブページ、複雑なイベント処理)を伴い得る。より多い(またはより少ない)計算資源を目標に相対的に迅速に集中させるある実施の形態の能力をてこ入れすることによって、クラウドインフラストラクチャシステムは、ビジネス、行政機関、研究組織、私人、同じ意見の個人もしくは組織のグループ、または他のエンティティからの要望に基づいて大きなデータセットに対してタスクを実行するよう、よりよく利用可能であってもよい。
さまざまな実施の形態では、クラウドインフラストラクチャシステム602は、クラウドインフラストラクチャシステム602によって提供されるサービスに対する顧客のサブスクリプションを自動的にプロビジョニングし、管理し、およびトラッキングするように適合されてもよい。クラウドインフラストラクチャシステム602はクラウドサービスを異なる展開モデルを介して提供してもよい。例えば、サービスは、クラウドインフラストラクチャシステム602が(例えばOracleによって所有される)クラウドサービスを販売する組織によって所有され、サービスが一般大衆または異なる業界エンタープライズに対して利用可能にされるパブリッククラウドモデルの下で提供されてもよい。別の例として、サービスは、クラウドインフラストラクチャシステム602が単一の組織に対してのみ動作され、その組織内における1つ以上のエンティティに対してサービスを提供してもよい、プライベートクラウドモデルの下で提供されてもよい。クラウドサービスは、さらに、クラウドインフラストラクチャシステム602およびクラウドインフラストラクチャシステム602によって提供されるサービスが関係付けられるコミュニティにおけるいくつかの組織によって共有されるコミュニティクラウドモデルの下で提供されてもよい。クラウドサービスは、さらに、2つ以上の異なるモデルの組み合わせであるハイブリッドクラウドモデルの下で提供されてもよい。
いくつかの実施の形態では、クラウドインフラストラクチャシステム602によって提供されるサービスは、Software as a Service(SaaS)カテゴリ、Platform as a Service(PaaS)カテゴリ、Infrastructure as a Service(IaaS)カテゴリ、またはハイブリッドサービスを含む他のサービスのカテゴリの下で提供される、1つ以上のサービスを含んでもよい。顧客は、サブスクリプションオーダーを介して、クラウドインフラストラクチャシステム602によって提供される1つ以上のサービスをオーダーしてもよい。クラウドインフラストラクチャシステム602は、次いで、処理を実行して、顧客のサブスクリプションオーダーにおけるサービスを提供する。
いくつかの実施の形態では、クラウドインフラストラクチャシステム602によって提供されるサービスは、限定を伴わずに、アプリケーションサービス、プラットフォームサービスおよびインフラストラクチャサービスを含んでもよい。いくつかの例では、アプリケーションサービスはクラウドインフラストラクチャシステムによってSaaSプラットフォームを介して提供されてもよい。SaaSプラットフォームは、SaaSカテゴリに入るクラウドサービスを提供するよう構成されてもよい。例えば、SaaSプラットフォームは、一式のオンデマンドアプリケーションを統合された開発および展開プラットフォーム上で構築し配送する能力を提供してもよい。SaaSプラットフォームは、SaaSサービスを提供するための基底のソフトウェアおよびインフラストラクチャを管理および制御してもよい。SaaSプラットフォームによって提供されるサービスを利用することによって、顧客はクラウドインフラストラクチャシステムにおいて実行されるアプリケーションを利用することができる。顧客は、別のライセンスおよびサポートを購入する必要なくアプリケーションサービスを獲得することができる。さまざまな異なるSaaSサービスが提供されてもよい。その例は、限定を伴うことなく、大きな組織に対する売上実績管理、エンタープライズ統合、および事業柔軟性に対するソリューションを提供するサービスを含む。
いくつかの実施の形態では、プラットフォームサービスはクラウドインフラストラクチャシステムによってPaaSプラットフォームを介して提供されてもよい。PaaSプラットフォームはPaaSカテゴリの下におけるクラウドサービスを提供するよう構成されてもよい。プラットフォームサービスの例は、限定を伴わずに、(Oracleなどのような)組織が既存のアプリケーションを共有される共通のアーキテクチャにおいて整理統合することができるサービス、およびプラットフォームによって提供される共有されるサービスをてこ入れする新たなアプリケーションを構築する能力を含んでもよい。PaaSプラットフォームはPaaSサービスを提供するための基底のソフトウェアおよびインフラストラクチャを管理および制御してもよい。顧客は、クラウドインフラストラクチャシステムによって提供されるPaaSサービスを、別のライセンスおよびサポートを購入する必要なく獲得することができる。プラットフォームサービスの例は、限定を伴わずに、Oracle Java Cloud Service(JCS)、Oracle Database Cloud Service(DBCS)などを含む。
PaaSプラットフォームによって提供されるサービスを利用することによって、顧客は、クラウドインフラストラクチャシステムによってサポートされるプログラミング言語およびツールを使用することができ、展開されたサービスを制御することができる。いくつかの実施の形態では、クラウドインフラストラクチャシステムによって提供されるプラットフォームサービスは、データベースクラウドサービス、ミドルウェアクラウドサービス(例えばOracle Fusion Middlewareサービス)、およびJavaクラウドサービスを含んでもよい。一実施の形態では、データベースクラウドサービスは、組織がデータベース資源をプールし、顧客にDatabase as a Serviceをデータベースクラウドの形式で提供することを可能にする、共有されるサービス展開モデルをサポートしてもよい。ミドルウェアクラウドサービスは、顧客のためのプラットフォームを提供してさまざまなビジネスアプリケーションを開発および展開してもよく、Javaクラウドサービスは顧客のためのプラットフォームを提供してJavaアプリケーションをクラウドインフラストラクチャシステムにおいて展開してもよい。
さまざまな異なるインフラストラクチャサービスがIaaSプラットフォームによってクラウドインフラストラクチャシステムにおいて提供されてもよい。インフラストラクチャサービスは、SaaSプラットフォームおよびPaaSプラットフォームによって提供されるサービスを利用する顧客に対するストレージ、ネットワーク、他の基礎的計算資源などのような基底の計算資源の管理および制御を容易にする。
特定の実施の形態では、クラウドインフラストラクチャシステム602は、さらに、クラウドインフラストラクチャシステムの顧客に対してさまざまなサービスを提供するよう用いられる資源を提供するためのインフラストラクチャ資源630を含んでもよい。一実施の形態では、インフラストラクチャ資源630は、PaaSプラットフォームおよびSaaSプラットフォームによって提供されるサービスを実行するよう、サーバ、ストレージおよびネットワーク接続資源などのような、ハードウェアの予め統合され最適化された組み合わせを含んでもよい。
いくつかの実施の形態では、クラウドインフラストラクチャシステム602における資源は、複数のユーザによって共有され、要望に付き動的に再割当てされてもよい。加えて、資源はユーザに対して異なる時間ゾーンで割当てられてもよい。例えば、クラウドインフラストラクチャシステム630は、第1の時間ゾーンにおける第1の組のユーザがクラウドインフラストラクチャシステムの資源をある特定化された時間数の間利用することを可能にし、次いで、異なる時間ゾーンに位置する別の組のユーザに対する同じ資源の再割当てを可能にし、それによって、資源の利用を最大限にしてもよい。
特定の実施の形態では、クラウドインフラストラクチャシステム602の異なるコンポーネントまたはモジュール、およびクラウドインフラストラクチャシステム602によって提供されるサービスによって共有される、ある数の内部の共有されるサービス632が提供されてもよい。これらの内部の共有されるサービスは、限定を伴うことなく、セキュリティおよびアイデンティティサービス、統合サービス、エンタープライズリポジトリサービス、エンタープライズマネージャサービス、ウイルススキャンおよびホワイトリストサービス、高可用性、バックアップおよびリカバリサービス、クラウドサポートを可能にするためのサービス、eメールサービス、通知サービス、ファイル転送サービスなどを含んでもよい。
特定の実施の形態では、クラウドインフラストラクチャシステム602は、クラウドインフラストラクチャシステムにおいてクラウドサービス(例えばSaaS、PaaS、およびIaaSサービス)の包括的な管理を提供してもよい。一実施の形態では、クラウド管理機能は、クラウドインフラストラクチャシステム602によって受信される顧客のサブスクリプションをプロビジョニングし、管理し、およびトラッキングする能力などを含んでもよい。
一実施の形態では、図に示されるように、クラウド管理機能は、オーダー管理モジュール620、オーダーオーケストレーションモジュール622、オーダープロビジョニングモジュール624、オーダー管理および監視モジュール626、ならびにアイデンティティ管理モジュール628などのような1つ以上のモジュールによって提供されてもよい。これらのモジュールは、1つ以上のコンピュータおよび/またはサーバを含むかもしくはそれらを用いて提供されてもよく、それらは汎用コンピュータ、特殊化されたサーバコンピュータ、サーバファーム、サーバクラスタ、または任意の他の適切な構成および/もしくは組み合わせであってもよい。
例示的な動作634においては、クライアントデバイス604、606または608などのようなクライアントデバイスを用いる顧客は、クラウドインフラストラクチャシステム602によって提供される1つ以上のサービスを要求すること、およびクラウドインフラストラクチャシステム602によって提供される1つ以上のサービスに対するサブスクリプションに対するオーダーを行なうことによって、クラウドインフラストラクチャシステム602と対話してもよい。特定の実施の形態では、顧客は、クラウドユーザインターフェイス(UI)、クラウドUI612、クラウドUI614および/またはクラウドUI616にアクセスし、サブスクリプションオーダーをこれらのUIを介して行ってもよい。顧客がオーダーを行なうことに応答してクラウドインフラストラクチャシステム602によって受取られるオーダー情報は、顧客を識別する情報、およびクラウドインフラストラクチャシステム602によって提供される、その顧客が利用することを意図する1つ以上のサービスを含んでもよい。
オーダーが顧客によってなされた後、オーダー情報はクラウドUI612、614および/または616を介して受取られてもよい。
動作636において、オーダーはオーダーデータベース618に保存される。オーダーデータベース618は、クラウドインフラストラクチャシステム618によって動作されるいくつかのデータベースの1つであり得、他のシステム要素との関連において動作され得る。
動作638で、オーダー情報はオーダー管理モジュール620に転送される。いくつかの例では、オーダー管理モジュール620は、オーダーを検証すること、および検証でそのオーダーを予約することなど、オーダーに関係付けられる請求および課金機能を実行するよう構成されてもよい。
動作640で、オーダーに関する情報がオーダーオーケストレーションモジュール622に通信される。オーダーオーケストレーションモジュール622は、オーダー情報を利用して、顧客によってなされたオーダーに対してサービスおよび資源のプロビジョニングをオーケストレーションしてもよい。いくつかの例では、オーダーオーケストレーションモジュール622は、資源のプロビジョニングをオーケストレーションして、利用されるサービスを、オーダープロビジョニングモジュール624のサービスを用いてサポートしてもよい。
特定の実施の形態では、オーダーオーケストレーションモジュール622は、各オーダーに関連付けられるビジネスプロセスの管理を可能にし、ビジネスロジックを適用して、オーダーがプロビジョニングに進むべきかどうかを判断する。動作642で、新たなサブスクリプションに対するオーダーが受取られると、オーダーオーケストレーションモジュール622は、オーダープロビジョニングモジュール624に対して、資源を割当て、サブスクリプションオーダーを満たすよう必要とされる資源を構成するよう、要求を送る。オーダープロビジョニングモジュール624は、顧客によってオーダーされたサービスに対する資源の割当てを可能にする。オーダープロビジョニングモジュール624は、クラウドインフラストラクチャシステム600によって提供されるクラウドサービスと、要求されたサービスを提供するための資源をプロビジョニングするよう用いられる物理的インプリメンテーション層との間におけるある抽象レベルを与える。オーダーオーケストレーションモジュール622は、したがって、サービスおよび資源がオンザフライで実際にプロビジョニングされるか、または予めプロビジョニングされ、要求でのみ割当て/分配されるかどうかなど、インプリメンテーション詳細から隔離されてもよい。
動作644で、サービスおよび資源がプロビジョニングされると、提供されるサービスの通知が、クラウドインフラストラクチャシステム602のオーダープロビジョニングモジュール624によってクライアントデバイス604、606および/または608における顧客に送信されてもよい。
動作646で、顧客のサブスクリプションオーダーはオーダー管理および監視モジュール626によって管理およびトラッキングされてもよい。いくつかの例では、オーダー管理および監視モジュール626は、用いられるストレージの量、転送されるデータ量、ユーザの数、システムアップ時間およびシステムダウン時間の量などのような、サブスクリプションオーダーにおけるサービスに対する使用統計を収集するよう構成されてもよい。
特定の実施の形態では、クラウドインフラストラクチャシステム600はアイデンティティ管理モジュール628を含んでもよい。アイデンティティ管理モジュール628は、クラウドインフラストラクチャシステム600におけるアクセス管理および承認サービスなどのようなアイデンティティサービスを提供するよう構成されてもよい。いくつかの実施の形態では、アイデンティティ管理モジュール628は、クラウドインフラストラクチャシステム602によって提供されるサービスを利用することを望む顧客についての情報を制御してもよい。そのような情報は、そのような顧客のアイデンティティを認証する情報、およびそれらの顧客がさまざまなシステム資源(例えばファイル、ディレクトリ、アプリケーション、通信ポート、メモリセグメントなど)に対してどのアクションを実行するよう承認されるかを記述する情報を含むことができる。アイデンティティ管理モジュール628は、さらに、各顧客についての記述的情報およびどのように誰によってその記述的情報がアクセスおよび修正され得るかの管理を含んでもよい。
図7は、本発明のさまざまな実施の形態が実現されてもよい例示的なコンピュータシステム700を示す。システム700は、上に記載されるコンピュータシステムの任意のものを実現するよう用いられてもよい。例えば、コンピュータ環境100のすべてもしくは一部の要素、コンピューティング環境200のすべてもしくは一部の要素、またはそれらの組み合わせがシステム700において含まれるかまたは実現され得る。システム700は、動作、方法および/またはプロセス(例えば図3のプロセス300または図4のプロセス400)を実現することができる。図に示されるように、コンピュータシステム700は、多数の周辺サブシステムとバスサブシステム702を介して通信する処理ユニット704を含む。これらの周辺サブシステムは、処理加速ユニット706、I/Oサブシステム708、ストレージサブシステム718および通信サブシステム724を含んでもよい。ストレージサブシステム718は有形のコンピュータ読取可能記憶媒体722およびシステムメモリ710を含む。
バスサブシステム702は、コンピュータシステム700のさまざまなコンポーネントおよびサブシステムに意図されるように互いと通信させるための機構を提供する。バスサブシステム702は概略的に単一のバスとして図示されているが、バスサブシステムの代替的実施の形態は複数のバスを利用してもよい。バスサブシステム702は、さまざまなバスアーキテクチャのうちの任意のものを用いるメモリバスまたはメモリコントローラ、周辺バスおよびローカルバスを含むいくつかのタイプのバス構造のうちの任意のものであってもよい。例えば、そのようなアーキテクチャは、産業標準アーキテクチャ(ISA)バス、マイクロチャネルアーキテクチャ(MCA)バス、エンハンストISA(EISA)バス、ビデオエレクトロニクス標準組織(VESA)ローカルバス、および周辺コンポーネントインターコネクト(PCI)バス、を含んでもよく、IEEE P1386.1規格に従って製造される中二階バスとして実現され得る。
処理ユニット704は、1つ以上の統合された回路(例えば従来のマイクロプロセッサまたはマイクロコントローラ)として実現されることができ、コンピュータシステム700の動作を制御する。1つ以上のプロセッサが処理ユニット704に含まれてもよい。これらのプロセッサは単一コアまたはマルチコアプロセッサを含んでもよい。特定の実施の形態では、処理ユニット704は、1つ以上の独立した処理ユニット732および/または734として、単一または複数コアのプロセッサが各処理ユニットに含まれる状態で実現されてもよい。他の実施の形態では、処理ユニット704は、さらに、2つのデュアルコアプロセッサを単一のチップに統合することによって形成されるクワッドコア処理ユニットとして実現されてもよい。
さまざまな実施の形態では、処理ユニット704はさまざまなプログラムをプログラムコードに応答して実行することができ、複数の同時に実行されるプログラムまたはプロセスを維持することができる。任意の所与の時間において、実行されるべきプログラムコードの一部またはすべてがプロセッサ704および/またはストレージサブシステム718に常駐することができる。好適なプログラミングを介して、プロセッサ704は上記のさまざまな機能を提供することができる。コンピュータシステム700はさらに処理加速ユニット706を含んでもよく、それはデジタル信号プロセッサ(DSP)、特殊目的プロセッサなどを含むことができる。
I/Oサブシステム708はユーザインターフェイス入力装置およびユーザインターフェイス出力装置を含んでもよい。ユーザインターフェイス入力装置は、キーボード、マウスまたはトラックボールなどのポインティングデバイス、ディスプレイに組み込まれるタッチパッドまたはタッチスクリーン、スクロールホイール、クリックホイール、ダイアル、ボタン、スイッチ、キーパッド、音声コマンド認識システムを伴う音声入力装置、マイクロフォン、および他のタイプの入力装置を含んでもよい。ユーザインターフェイス入力装置は、例えば、ユーザがジェスチャおよび話し言葉コマンドを用いて自然なユーザインターフェイスを介してMicrosoft Xbox(登録商標)360ゲームコントローラなどのような入力装置を制御しそれと対話することを可能にするMicrosoft Kinect(登録商標)モーションセンサなどのようなモーション感知および/またはジェスチャ認識装置を含んでもよい。ユーザインターフェイス入力装置は、さらに、ユーザから目の活動(例えば写真を撮る、および/またはメニュー選択を行なっている間の「瞬き」)を検出し、目の動きを入力装置(例えばGoogle Glass(登録商標))への入力として変換するGoogle Glass(登録商標)瞬き検出器などのような目のジェスチャ認識装置を含んでもよい。さらに、ユーザインターフェイス入力装置は、ユーザが音声コマンドを介して音声認識システム(例えばSiri(登録商標)ナビゲータ)と対話することを可能にする音声認識感知装置を含んでもよい。
ユーザインターフェイス入力装置は、さらに、限定を伴わずに、三次元(3D)マウス、ジョイスティックまたはポインティングスティック、ゲームパッドおよびグラフィックタブレット、ならびにスピーカ、デジタルカメラ、デジタルカムコーダ、ポータブルメディアプレーヤ、ウェブカム、画像スキャナ、指紋スキャナ、バーコードリーダ3Dスキャナ、3Dプリンタ、レーザレンジファインダ、および視線追跡装置などのような聴覚/視覚装置を含んでもよい。加えて、ユーザインターフェイス入力装置は、例えば、コンピュータ断層撮影、磁気共鳴撮像、ポジションエミッショントモグラフィー、医療超音波検査装置などのような医療画像化入力装置を含んでもよい。ユーザインターフェイス入力装置は、さらに、例えば、MIDIキーボード、デジタル音楽機器などのような音声入力装置を含んでもよい。
ユーザインターフェイス出力装置は、ディスプレイサブシステム、インジケータライト、または音声出力装置のような非ビジュアルディスプレイなどを含んでもよい。ディスプレイサブシステムは、陰極線管(CRT)、液晶ディスプレイ(LCD)またはプラズマディスプレイを使うもののようなフラットパネルデバイス、投影装置、タッチスクリーンなどであってもよい。一般に、「出力装置」という語の使用は、コンピュータシステム700からユーザまたは他のコンピュータに情報を出力するためのすべての考えられ得るタイプの装置および機構を含むよう意図される。例えばユーザインターフェイス出力装置は、限定を伴うことなく、モニタ、プリンタ、スピーカ、ヘッドフォン、自動車ナビゲーションシステム、プロッタ、音声出力装置およびモデムなどのような、テキスト、グラフィックスおよび音声/映像情報を視覚的に伝えるさまざまな表示装置を含んでもよい。
コンピュータシステム700は、システムメモリ710内に現在位置するとして示される、ソフトウェア要素を含むストレージサブシステム718を含んでもよい。システムメモリ710は、処理ユニット704においてロード可能および実行可能であるプログラム命令、ならびにこれらのプログラムの実行中に生成されるデータを記憶してもよい。
コンピュータシステム700の構成およびタイプによっては、システムメモリ710は(ランダムアクセスメモリ(RAM))など揮発性であってもよく、および/または(リードオンリメモリ(ROM)、フラッシュメモリなど)不揮発性であってもよい。RAMは典型的には、処理ユニット704に即座にアクセス可能であり、および/もしくは処理ユニット704によって現在動作および実行されている、データならびに/またはプログラムモジュールを含む。いくつかの実現例では、システムメモリ710は、スタティックランダムアクセスメモリ(SRAM)またはダイナミックランダムアクセスメモリ(DRAM)などのような複数の異なるタイプのメモリを含んでもよい。いくつかの実現例では、起動中などのように、コンピュータシステム700内における要素間において情報の転送を助ける基本的なルーチンを含む基本的な入力/出力システム(BIOS)が、典型的にはROMに記憶されてもよい。例として、限定ではなく、システムメモリ710は、さらに、アプリケーションプログラム712を示し、それは、クライアントアプリケーション、ウェブブラウザ、中間層アプリケーション、リレーショナルデータベース管理システム(RDBMS)など、プログラムデータ714およびオペレーティングシステム716を含んでもよい。例として、オペレーティングシステム716は、Microsoft Windows(登録商標)、Apple Macintosh(登録商標)および/もしくはLinux(登録商標)オペレーティングシステムのさまざまなバージョン、さまざまな市場で入手可能なUNIX(登録商標)またはUNIXのようなオペレーティングシステム(さまざまなGNU/Linuxオペレーティングシステム、Google Chrome(登録商標)OSなどを含むが限定されない)、ならびに/またはiOS、Windows(登録商標) Phone、Android(登録商標) OS、BlackBerry(登録商標) 10 OS、およびPalm(登録商標) OSなどのようなモバイルオペレーティングシステムを含んでもよい。
ストレージサブシステム718は、さらに、いくつかの実施の形態の機能を提供する基本的なプログラミングおよびデータ構造を記憶するための有形のコンピュータ読取可能記憶媒体を提供してもよい。プロセッサによって実行されると上記の機能を提供するソフトウェア(プログラム、コードモジュール、命令)がストレージサブシステム718に記憶されてもよい。これらのソフトウェアモジュールまたは命令は処理ユニット704によって実行されてもよい。ストレージサブシステム718は、さらに、本発明に従って用いられるデータを記憶するためのリポジトリを提供してもよい。
ストレージサブシステム700は、さらに、コンピュータ読取可能記憶媒体722にさらに接続され得るコンピュータ読取可能記憶媒体リーダ720を含んでもよい。システムメモリ710とともに、およびオプションとしてシステムメモリ710との組み合わせで、コンピュータ読取可能記憶媒体722は、コンピュータ読取可能情報を一時的および/またはより永続的に含み、記憶し、送信し、および検索取得するための、遠隔の、ローカルな、固定された、および/またはリムーバブルな記憶装置に記憶媒体を加えたものを包括的に表現してもよい。
コードまたはコードの一部を含むコンピュータ読取可能記憶媒体722は、さらに、情報の記憶および/または送信のための任意の方法または技術において実現される揮発性および不揮発性の、リムーバブルおよび非リムーバブルな媒体などであるがそれらに限定はされない、記憶媒体および通信媒体を含む、当該技術分野において公知であるかまたは用いられる任意の適切な媒体を含むことができる。これは、RAM、ROM、電子的に消去可能なプログラマブルROM(EEPROM)、フラッシュメモリもしくは他のメモリ技術、CD−ROM、デジタル多用途ディスク(DVD)、もしくは他の光記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶もしくは他の磁気記憶装置、または他の有形のコンピュータ読取可能媒体などのような、有形の、非一時的なコンピュータ読取可能記憶媒体を含むことができる。指定される場合には、これは、さらに、所望の情報を送信するよう用いられることができ、コンピューティングシステム700によってアクセスされることができる、データ信号、データ伝送または任意の他の媒体のような、非有形の一時的なコンピュータ読取可能媒体を含むことができる。
例として、コンピュータ読取可能記憶媒体722は、非リムーバブルの、不揮発性磁気媒体において読出または書込を行なうハードディスクドライブ、リムーバブルの不揮発性磁気ディスクにおいて読出または書込を行なう磁気ディスクドライブ、およびCD ROM、DVD、およびブルーレイ(登録商標)ディスク、もしくは他の光媒体などのようなリムーバブルの不揮発性光ディスクにおいて読出または書込を行なう光ディスクドライブを含んでもよい。コンピュータ読取可能記憶媒体722は、Zip(登録商標)ドライブ、フラッシュメモリカード、ユニバーサルシリアルバス(USB)フラッシュドライブ、セキュアデジタル(SD)カード、DVDディスク、デジタルビデオテープなどを含んでもよいがそれらに限定はされない。コンピュータ読取可能記憶媒体722は、さらに、フラッシュメモリに基づくSSDなどのような不揮発性メモリ、エンタープライズフラッシュドライブ、ソリッドステートROMなどに基づくソリッドステートドライブ(SSD)、ソリッドステートRAM、ダイナミックRAM、スタティックRAM、DRAMに基づくSSD、磁気抵抗RAM(MRAM)SSDなどのような揮発性メモリに基づくSSD、ならびにDRAMおよびフラッシュメモリに基づくSSDの組み合わせを用いるハイブリッドSSDを含んでもよい。ディスクドライブおよびそれらの関連のコンピュータ読取可能媒体は、コンピュータシステム700のためのコンピュータ読取可能命令、データ構造、プログラムモジュールおよび他のデータの不揮発性記憶を提供してもよい。
通信サブシステム724は、他のコンピュータシステムおよびネットワークへのインターフェイスを与える。通信サブシステム724は、他のシステムとコンピュータシステム700との間のデータの送受のためのインターフェイスとして働く。例えば、通信サブシステム724は、コンピュータシステム700がインターネットを介して1つ以上の装置に接続することを可能にしてもよい。いくつかの実施の形態では、通信サブシステム724は、(例えばセルラー電話技術、3G、4GもしくはEDGE(グローバル進化のための高速データレート)などのような先進データネットワーク技術、WiFi(IEEE802.11ファミリー規格、もしくは他のモバイル通信技術、またはそれらの任意の組み合わせを用いて)無線音声および/またはデータネットワークにアクセスするための無線周波数(RF)送受信機コンポーネント、グローバルポジショニングシステム(GPS)受信機コンポーネント、ならびに/または他のコンポーネントを含むことができる。いくつかの実施の形態では、通信サブシステム724は無線インターフェイスに加えて、またはそれに代わって、有線ネットワーク接続(たとえばイーサネット)を提供することができる。
いくつかの実施の形態では、通信サブシステム724は、さらに、コンピュータシステム700を用い得る1人以上のユーザのために、入力通信を、構造化されたデータフィードおよび/または構造化されないデータフィード726、イベントストリーム728、イベント更新730などの形式で受信してもよい。
例として、通信サブシステム724は、データフィード726を、実時間で、Twitter(登録商標)フィード、Facebook(登録商標)更新、Rich Site Summary(RSS)フィードなどのようなウェブフィード、および/もしくは1つ以上の第三者情報源からの実時間更新などのようなソーシャルメディアネットワークおよび/または他の通信サービスのユーザから受信するよう構成されてもよい。
加えて、通信サブシステム724は、さらに、データを、明示的な端部を有さない本質的に連続的または無限であってもよい、実時間イベントのイベントストリーム728および/またはイベント更新730を含んでもよい、連続データストリームの形式で受信するよう構成されてもよい。連続データを生成するアプリケーションの例は、例えば、センサデータアプリケーション、金融株式相場表示板、ネットワーク性能測定ツール(例えばネットワーク監視およびトラフィック管理アプリケーション)、クリックストリーム解析ツール、自動車交通監視などを含んでもよい。
通信サブシステム724は、さらに、構造化されたデータフィードおよび/または構造化されないデータフィード726、イベントストリーム728、イベント更新730などを、コンピュータシステム700に結合される1つ以上のストリーミングデータソースコンピュータとの通信状態にあってもよい1つ以上のデータベースに出力するよう構成されてもよい。
コンピュータシステム700は、手持ち式の携帯装置(例えばiPhone(登録商標)セルラーフォン、iPad(登録商標)コンピューティングタブレット、PDA)、ウェアラブルデバイス(Google Glass(登録商標)頭部装着型ディスプレイ)、PC、ワークステーション、メインフレーム、キオスク、サーバラック、または任意の他のデータ処理システムを含む、さまざまなタイプのもののうちの1つであり得る。
常に変化するコンピュータおよびネットワークの性質のため、図に示されるコンピュータシステム700の記載は具体的な例としてのみ意図される。図に示されるシステムより多いかまたは少ないコンポーネントを有する数多くの他の構成が可能である。例えば、カスタマイズされたハードウェアも用いられるかもしれず、および/または特定の要素がハードウェア、ファームウェア、ソフトウェア(アプレットを含む)、またはある組み合わせにおいて実現されるかもしれない。さらに、ネットワーク入力/出力装置などのような他のコンピューティングデバイスへの接続も用いられてもよい。ここに与えられる開示および教示に基づいて、当業者はさまざまな実施の形態を実現する他の態様および/または方法を理解する。
前述の明細書において、本発明の実施の形態はその特定の実施の形態を参照して記載されているが、当業者は本発明がそれに限定されないことを認識する。上記の発明のさまざまな特徴および実施の形態は個別に、または併せて用いられてもよい。さらに、実施の形態は、明細書のより広い精神および範囲から逸脱することなく、本明細書に記載されるものを超えて、任意の数の環境および適用例において利用することができる。明細書および図面は、したがって、限定的ではなく、例示的として見なされるべきである。

Claims (20)

  1. 方法であって、
    クラウドコンピュータシステムによって、エンタープライズコンピュータシステムからのサービスに対する要求をモバイルコンピューティングデバイスから受信するステップを備え、前記クラウドコンピュータシステムは、前記エンタープライズコンピュータシステムの第2の地理的位置とは異なる第1の地理的位置に位置し、前記クラウドコンピュータシステムおよび前記エンタープライズコンピュータシステムは、公衆通信網を介して通信し、前記方法はさらに、
    前記クラウドコンピュータシステムによって、前記要求に関連付けられた前記モバイルコンピューティングデバイスのユーザに関して、セキュリティ認証を取得して、前記クラウドコンピュータシステムを介して少なくとも1つのサービスを取得するステップと、
    前記クラウドコンピュータシステムによって、前記セキュリティ認証を示す情報を記憶するステップと、
    前記クラウドコンピュータシステムによって、前記ユーザの前記セキュリティ認証に基づいて、前記クラウドコンピュータシステムを介して前記ユーザがアクセス可能な複数のエンタープライズコンピュータシステムを識別するステップと、
    前記クラウドコンピュータシステムによって、前記エンタープライズコンピュータシステムが、前記ユーザがアクセス可能な前記複数のエンタープライズコンピュータシステムに含まれることを確認するステップと、
    前記クラウドコンピュータシステムによって、前記エンタープライズコンピュータシステムから前記サービスを要求するためのセキュリティプロトコルを決定するステップと、
    前記クラウドコンピュータシステムによって、前記エンタープライズコンピュータシステムのための前記決定されたセキュリティプロトコルに対応するセキュリティトークンを生成するステップとを備え、前記セキュリティトークンは、前記ユーザの前記セキュリティ認証を示す前記情報に基づいて生成され、前記方法はさらに、
    前記クラウドコンピュータシステムによって、前記要求されたサービスに対する要求を前記エンタープライズコンピュータシステムに送信するステップを備え、前記要求は、前記生成されたセキュリティトークンを含む、方法。
  2. 前記複数のエンタープライズコンピュータシステムのうちの少なくとも1つは、前記複数のエンタープライズコンピュータシステムのうちの異なる1つとは異なるセキュリティプロトコルを用いて通信する、請求項1に記載の方法。
  3. 前記モバイルコンピューティングデバイスから受信される前記要求および前記エンタープライズコンピュータシステムに送信される前記要求は、異なるレプレゼンテーショナル・ステート・トランスファー(REST)アーキテクチャスタイルに準拠する、請求項1または2に記載の方法。
  4. 前記モバイルコンピューティングデバイスから受信される前記要求は、第1のハイパーテキスト転送プロトコル(HTTP)メッセージを含み、前記エンタープライズコンピュータシステムに送信される前記要求は、第2のHTTPメッセージを含む、請求項1または2に記載の方法。
  5. 前記モバイルコンピューティングデバイスから受信される前記要求は、前記ユーザのユーザアイデンティティ情報を含む、請求項1〜4のいずれか1項に記載の方法。
  6. 前記ユーザの前記セキュリティ認証を判断するためにアイデンティティ管理システムに要求を送信するステップをさらに備える、請求項1〜5のいずれか1項に記載の方法。
  7. 前記セキュリティトークンは、セキュリティ・アサーション・マークアップ言語(SAML)を用いたフォーマットで構造化される、請求項1〜6のいずれか1項に記載の方法。
  8. 前記複数のエンタープライズコンピュータシステムは、オンプレミスエージェントシステムを有するエンタープライズコンピュータシステムを含み、前記オンプレミスエージェントシステムは、複数のサーバコンピュータを含み、各サーバコンピュータは、異なるエンタープライズサービスを提供し、前記オンプレミスエージェントシステムは、前記公衆通信網を介して前記クラウドコンピュータシステムと通信する、請求項1〜7のいずれか1項に記載の方法。
  9. 前記クラウドコンピュータシステムは、アプリケーションプログラミングインターフェイス(API)を提供し、前記APIは、第1の通信プロトコルを用いてサービスに対する要求を受信し、前記複数のエンタープライズコンピュータシステムの各エンタープライズコンピュータシステムは、第2の通信プロトコルを用いてサービスに対する要求を受信し、前記第2の通信プロトコルは、前記第1の通信プロトコルとは異なる、請求項1〜8のいずれか1項に記載の方法。
  10. 前記第1の通信プロトコルおよび前記第2の通信プロトコルは、ハイパーテキスト転送プロトコル(HTTP)に準拠する、請求項9に記載の方法。
  11. 前記複数のエンタープライズコンピュータシステムの各エンタープライズコンピュータシステムは、サービスに対する要求を受信するための異なる第2の通信プロトコルをサポートする、請求項9または10に記載の方法。
  12. 前記APIは、前記モバイルコンピューティングデバイスのユーザによって構成可能である、請求項9〜11のいずれか1項に記載の方法。
  13. 前記クラウドコンピュータシステムは、前記APIの1つ以上の構成に対応するメタデータを記憶するデータベースを含む、請求項9〜12のいずれか1項に記載の方法。
  14. 前記第1の通信プロトコルのフォーマットから前記第2の通信プロトコルに対応する異なるフォーマットに前記要求を変換するステップをさらに備え、前記変換された要求は、前記エンタープライズコンピュータシステムに送信される、請求項9〜13のいずれか1項に記載の方法。
  15. 前記要求されたサービスに対する応答を前記エンタープライズコンピュータシステムから受信するステップをさらに備え、前記応答は、前記エンタープライズコンピュータシステムの前記第2の通信プロトコルのフォーマットを有し、さらに、
    前記第2の通信プロトコルの前記フォーマットから前記第1の通信プロトコルのフォーマットに前記応答を変換するステップと、
    前記変換された応答を前記モバイルコンピューティングデバイスに提供するステップとを備える、請求項9〜14のいずれか1項に記載の方法。
  16. コンピュータシステムであって、
    1つ以上のプロセッサと、
    前記1つ以上のプロセッサに結合された1つ以上のメモリ装置とを備え、前記1つ以上のメモリ装置は、命令を含み、前記命令は、前記1つ以上のプロセッサにおいて実行されると、前記1つ以上のプロセッサに、
    第1の通信プロトコルを用いてサービスに対する要求をモバイルコンピューティングデバイスから受信させ、前記サービスは、エンタープライズコンピュータシステムによって提供され、前記エンタープライズコンピュータシステムは、前記コンピュータシステムの第2の地理的位置とは異なる第1の地理的位置に位置し、前記エンタープライズコンピュータシステムおよび前記コンピュータシステムは、公衆通信網を介して通信し、
    前記命令は、さらに、前記1つ以上のプロセッサにおいて実行されると、前記1つ以上のプロセッサに、
    前記要求に関連付けられた前記モバイルコンピューティングデバイスのユーザに関して、セキュリティ認証を取得して、前記コンピュータシステムを介して少なくとも1つのサービスを取得させ、
    前記セキュリティ認証を示す情報を記憶させ、
    前記ユーザの前記セキュリティ認証に基づいて、前記クラウドコンピュータシステムを介して前記ユーザがアクセス可能な複数のエンタープライズコンピュータシステムを識別させ、
    前記エンタープライズコンピュータシステムが、前記ユーザがアクセス可能な前記複数のエンタープライズコンピュータシステムに含まれることを確認させ、
    前記エンタープライズコンピュータシステムから前記サービスを要求するためのセキュリティプロトコルを決定させ、
    エンタープライズコンピュータシステムのための前記決定されたセキュリティプロトコルに対応するセキュリティトークンを生成させ、前記セキュリティトークンは、前記ユーザの前記セキュリティ認証を示す前記情報に基づいて生成され、前記生成されたセキュリティトークンは、前記エンタープライズコンピュータシステムに送信される前記要求に含まれ、
    前記命令は、さらに、前記1つ以上のプロセッサにおいて実行されると、前記1つ以上のプロセッサに、
    前記モバイルコンピューティングデバイスから受信された前記要求を変換させ、前記要求は、第1の通信プロトコルの第1のフォーマットから第2の通信プロトコルの第2のフォーマットに変換され、前記第2の通信プロトコルは、前記第1の通信プロトコルとは異なり、
    前記命令は、さらに、前記1つ以上のプロセッサにおいて実行されると、前記1つ以上のプロセッサに、
    前記変換された要求を前記エンタープライズコンピュータシステムに送信させ、
    前記サービスに対する前記変換された要求への応答を前記第2の通信プロトコルを介して前記エンタープライズコンピュータシステムから受信させ、
    前記エンタープライズコンピュータシステムから受信された前記応答を変換させ、前記応答は、前記第2の通信プロトコルの前記第2のフォーマットから前記第1の通信プロトコルの前記第1のフォーマットに変換され、
    前記命令は、さらに、前記1つ以上のプロセッサにおいて実行されると、前記1つ以上のプロセッサに、
    前記変換された応答を前記モバイルコンピューティングデバイスに送信させる、コンピュータシステム。
  17. 前記エンタープライズコンピュータシステムは、オンプレミスエージェントシステムを含み、前記オンプレミスエージェントシステムは、エンティティのオンプレミスローカルエリアネットワークに関連付けられ、前記オンプレミスエージェントシステムは、複数のサーバコンピュータを含み、各サーバコンピュータは、異なるエンタープライズサービスを提供し、前記オンプレミスエージェントシステムは、前記公衆通信網を介して前記コンピュータシステムと通信する、請求項16に記載のコンピュータシステム。
  18. 前記コンピュータシステムと接続されたファイアウォールをさらに備え、内部ネットワークおよび外部ネットワークは、前記ファイアウォールによって分離され、前記ファイアウォールは、
    前記第1の通信プロトコルに準拠して、前記モバイルコンピューティングデバイスと前記コンピュータシステムとの間における通信を許可するよう構成され、
    前記第2の通信プロトコルに準拠して、前記コンピュータシステムと前記オンプレミスエージェントシステムとの間における通信を許可するよう構成される、請求項17に記載のコンピュータシステム。
  19. モバイルコンピューティングデバイスとオンプレミスエンタープライズコンピュータシステムとの間における通信を容易にするためのクラウドコンピュータシステムであって、
    クラウドコンピュータデバイスを備え、前記クラウドコンピュータデバイスは、
    第1のアプリケーションプロトコルの第1のフォーマットに準拠するメッセージをアプリケーションプログラミングインターフェイス(API)を介してモバイルコンピューティングデバイスから受信するよう構成され、
    第2のアプリケーションプロトコルの第2のフォーマットに準拠するメッセージを生成して、エージェントに送信するよう構成され、
    前記クラウドコンピュータシステムはさらに、
    前記クラウドコンピュータデバイスと接続されたファイアウォールを備え、内部ネットワークおよび外部ネットワークは、前記ファイアウォールによって分離され、前記ファイアウォールは、
    前記第1のアプリケーションプロトコルの前記第1のフォーマットに準拠するメッセージの、前記モバイルコンピューティングデバイスと前記クラウドコンピューティングデバイスとの間における通信を許可するよう構成され、
    前記第2のアプリケーションプロトコルの前記第2のフォーマットに準拠するメッセージの、前記クラウドコンピュータデバイスと前記エージェントとの間における通信を許可するよう構成され、
    前記クラウドコンピュータシステムはさらに、
    前記クラウドコンピュータデバイスと接続されたメタデータリポジトリを備え、前記メタデータリポジトリは、前記APIを実現するためのメタデータを記憶するよう構成され、前記実現することは、前記第1のフォーマットと前記第2のフォーマットとの間で翻訳することを含み、前記メタデータリポジトリは、前記外部ネットワークを介して、認証されたユーザによって変更可能である、クラウドコンピュータシステム。
  20. オンプレミスエージェントシステムは、複数のサーバコンピュータを含み、各サーバコンピュータは、異なるエンタープライズサービスを提供し、前記オンプレミスエージェントシステムは、公衆通信網を介して前記コンピュータシステムと通信する、請求項19に記載のクラウドコンピュータシステム。
JP2016550594A 2014-02-07 2014-09-02 モバイルクラウドサービスアーキテクチャ Active JP6364496B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201461937316P 2014-02-07 2014-02-07
US61/937,316 2014-02-07
US14/475,285 2014-09-02
US14/475,285 US9231946B2 (en) 2014-02-07 2014-09-02 Mobile cloud service architecture
PCT/US2014/053747 WO2015119658A1 (en) 2014-02-07 2014-09-02 Mobile cloud service architecture

Publications (2)

Publication Number Publication Date
JP2017507592A true JP2017507592A (ja) 2017-03-16
JP6364496B2 JP6364496B2 (ja) 2018-07-25

Family

ID=52103149

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2016550594A Active JP6364496B2 (ja) 2014-02-07 2014-09-02 モバイルクラウドサービスアーキテクチャ
JP2016550510A Active JP6449896B2 (ja) 2014-02-07 2014-09-10 モバイルクラウドサービスのためのオンプレミス・エージェント

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2016550510A Active JP6449896B2 (ja) 2014-02-07 2014-09-10 モバイルクラウドサービスのためのオンプレミス・エージェント

Country Status (8)

Country Link
US (4) US9231946B2 (ja)
EP (2) EP3103238B1 (ja)
JP (2) JP6364496B2 (ja)
KR (3) KR102247410B1 (ja)
CN (3) CN105900396B (ja)
CA (2) CA2936358C (ja)
SG (2) SG11201605659SA (ja)
WO (2) WO2015119658A1 (ja)

Families Citing this family (204)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5932837B2 (ja) 2011-01-19 2016-06-08 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation コードを更新および認証するための方法およびシステム、プログラムの完全性を試験する方法およびシステム
US8769031B1 (en) * 2013-04-15 2014-07-01 Upfront Media Group, Inc. System and method for implementing a subscription-based social media platform
EP2851833B1 (en) 2013-09-20 2017-07-12 Open Text S.A. Application Gateway Architecture with Multi-Level Security Policy and Rule Promulgations
US9979751B2 (en) 2013-09-20 2018-05-22 Open Text Sa Ulc Application gateway architecture with multi-level security policy and rule promulgations
US10824756B2 (en) 2013-09-20 2020-11-03 Open Text Sa Ulc Hosted application gateway architecture with multi-level security policy and rule promulgations
US9935959B2 (en) 2014-02-07 2018-04-03 Oracle International Corporation Cloud service custom execution environment
US9529658B2 (en) 2014-02-07 2016-12-27 Oracle International Corporation Techniques for generating diagnostic identifiers to trace request messages and identifying related diagnostic information
US9529657B2 (en) 2014-02-07 2016-12-27 Oracle International Corporation Techniques for generating diagnostic identifiers to trace events and identifying related diagnostic information
JP6364496B2 (ja) 2014-02-07 2018-07-25 オラクル・インターナショナル・コーポレイション モバイルクラウドサービスアーキテクチャ
KR102196894B1 (ko) 2014-03-31 2020-12-31 오라클 인터내셔날 코포레이션 모바일 디바이스와 모바일 클라우드 서비스 간의 동기화를 위한 인프라스트럭처
US10050935B2 (en) 2014-07-09 2018-08-14 Shape Security, Inc. Using individualized APIs to block automated attacks on native apps and/or purposely exposed APIs with forced user interaction
GB2528672B (en) * 2014-07-25 2017-02-08 Canon Kk Push-based transmission of resources and correlated network quality estimation
US9756135B2 (en) 2014-07-31 2017-09-05 Ca, Inc. Accessing network services from external networks
US9729506B2 (en) * 2014-08-22 2017-08-08 Shape Security, Inc. Application programming interface wall
US9851968B2 (en) * 2014-09-26 2017-12-26 Oracle International Corporation High performant iOS template based application build system
US9858174B2 (en) * 2014-09-26 2018-01-02 Oracle International Corporation Updatable native mobile application for testing new features
US9826045B2 (en) 2014-09-26 2017-11-21 Oracle International Corporation Efficient means to test server generated applications on mobile device
US9762676B2 (en) * 2014-09-26 2017-09-12 Intel Corporation Hardware resource access systems and techniques
US10073679B2 (en) 2014-09-26 2018-09-11 Oracle International Corporation Efficient and intuitive databinding for mobile applications
US10290133B2 (en) 2014-09-26 2019-05-14 Oracle International Corporation High fidelity interactive screenshots for mobile applications
US9672260B2 (en) * 2014-10-07 2017-06-06 Google Inc. Systems and methods for updating data across multiple network architectures
US10049141B2 (en) 2014-10-10 2018-08-14 salesforce.com,inc. Declarative specification of visualization queries, display formats and bindings
US9600548B2 (en) * 2014-10-10 2017-03-21 Salesforce.Com Row level security integration of analytical data store with cloud architecture
US9767145B2 (en) 2014-10-10 2017-09-19 Salesforce.Com, Inc. Visual data analysis with animated informational morphing replay
US10101889B2 (en) 2014-10-10 2018-10-16 Salesforce.Com, Inc. Dashboard builder with live data updating without exiting an edit mode
US9449188B2 (en) 2014-10-10 2016-09-20 Salesforce.Com, Inc. Integration user for analytical access to read only data stores generated from transactional systems
US9985953B2 (en) 2014-11-10 2018-05-29 Amazon Technologies, Inc. Desktop application fulfillment platform with multiple authentication mechanisms
EP3041187B1 (en) * 2014-12-30 2022-05-04 Accenture Global Services Limited Method and mobile device for communicating information between a mobile device and an enterprise system
US10063661B2 (en) 2015-01-14 2018-08-28 Oracle International Corporation Multi-tenant cloud-based queuing systems
US11122034B2 (en) * 2015-02-24 2021-09-14 Nelson A. Cicchitto Method and apparatus for an identity assurance score with ties to an ID-less and password-less authentication system
US11171941B2 (en) 2015-02-24 2021-11-09 Nelson A. Cicchitto Mobile device enabled desktop tethered and tetherless authentication
US10848485B2 (en) 2015-02-24 2020-11-24 Nelson Cicchitto Method and apparatus for a social network score system communicably connected to an ID-less and password-less authentication system
US20160292601A1 (en) * 2015-03-30 2016-10-06 Oracle International Corporation Delegation of tasks to other personnel in an erp application
US9667657B2 (en) * 2015-08-04 2017-05-30 AO Kaspersky Lab System and method of utilizing a dedicated computer security service
US11102313B2 (en) * 2015-08-10 2021-08-24 Oracle International Corporation Transactional autosave with local and remote lifecycles
US10582001B2 (en) 2015-08-11 2020-03-03 Oracle International Corporation Asynchronous pre-caching of synchronously loaded resources
US10387171B2 (en) * 2015-08-13 2019-08-20 PositiveEdge Solutions LLC Configurable development platform integrating heterogeneous persistence systems
US10419514B2 (en) 2015-08-14 2019-09-17 Oracle International Corporation Discovery of federated logins
US10013668B2 (en) 2015-08-14 2018-07-03 Oracle International Corporation Secure storage of enterprise certificates for cloud services
US10452497B2 (en) 2015-08-14 2019-10-22 Oracle International Corporation Restoration of UI state in transactional systems
US10115213B2 (en) 2015-09-15 2018-10-30 Salesforce, Inc. Recursive cell-based hierarchy for data visualizations
US10089368B2 (en) 2015-09-18 2018-10-02 Salesforce, Inc. Systems and methods for making visual data representations actionable
US9832199B2 (en) * 2015-09-25 2017-11-28 International Business Machines Corporation Protecting access to hardware devices through use of a secure processor
US10582012B2 (en) 2015-10-16 2020-03-03 Oracle International Corporation Adaptive data transfer optimization
WO2017070575A1 (en) * 2015-10-23 2017-04-27 Oracle International Corporation Self describing configuration with support for sharing data tables
US11593075B2 (en) 2015-11-03 2023-02-28 Open Text Sa Ulc Streamlined fast and efficient application building and customization systems and methods
US20170149915A1 (en) * 2015-11-25 2017-05-25 Sap Se System and method of feed data transmission
US10038551B2 (en) * 2015-11-29 2018-07-31 International Business Machines Corporation Securing enterprise data on mobile devices
US10491477B2 (en) * 2015-12-18 2019-11-26 Privops Llc Hybrid cloud integration fabric and ontology for integration of data, applications, and information technology infrastructure
DE102015016616A1 (de) * 2015-12-22 2017-06-22 Giesecke & Devrient Gmbh Vorrichtung und Verfahren zur Verbindung einer Produktionsvorrichtung mit einem Netzwerk
US11102188B2 (en) * 2016-02-01 2021-08-24 Red Hat, Inc. Multi-tenant enterprise application management
US20190052643A1 (en) * 2016-02-11 2019-02-14 Hewlett Packard Enterprise Development Lp Cloud access rule translation for hybrid cloud computing environments
US10567184B2 (en) 2016-02-19 2020-02-18 Vertigo Media, Inc. System and method for group stream broadcasting with stateless queuing feature
US11388037B2 (en) 2016-02-25 2022-07-12 Open Text Sa Ulc Systems and methods for providing managed services
CN107203541B (zh) * 2016-03-17 2020-04-14 台达电子企业管理(上海)有限公司 页面加载方法及其页面加载装置
WO2017171932A1 (en) * 2016-03-28 2017-10-05 Oracle International Corporation Pre-formed instructions for a mobile cloud service
US10713376B2 (en) 2016-04-14 2020-07-14 Salesforce.Com, Inc. Fine grain security for analytic data sets
US10511683B2 (en) * 2016-04-15 2019-12-17 Open Text GXS ULC Proxy framework, systems and methods for electronic data interchange through information exchange platform
CN105930288A (zh) * 2016-04-28 2016-09-07 江苏理工学院 一种多功能计算机通讯***
US10291428B2 (en) * 2016-05-03 2019-05-14 Hall Labs Llc System and method for cloud-networked stand-alone dual modulation LAN
US10878079B2 (en) 2016-05-11 2020-12-29 Oracle International Corporation Identity cloud service authorization model with dynamic roles and scopes
US10341410B2 (en) 2016-05-11 2019-07-02 Oracle International Corporation Security tokens for a multi-tenant identity and data security management cloud service
US10454940B2 (en) 2016-05-11 2019-10-22 Oracle International Corporation Identity cloud service authorization model
US10581820B2 (en) 2016-05-11 2020-03-03 Oracle International Corporation Key generation and rollover
US9838377B1 (en) 2016-05-11 2017-12-05 Oracle International Corporation Task segregation in a multi-tenant identity and data security management cloud service
US10425386B2 (en) 2016-05-11 2019-09-24 Oracle International Corporation Policy enforcement point for a multi-tenant identity and data security management cloud service
US10536557B2 (en) * 2016-06-10 2020-01-14 Here Global B.V. Method, apparatus, and computer program product for implementing customizable caching strategy based on traffic pattern to optimize memory footprint and reduce latency
US9900302B2 (en) * 2016-06-22 2018-02-20 FinancialForce.com, Inc. Seamless authentication for an application development platform
US10721237B2 (en) 2016-08-05 2020-07-21 Oracle International Corporation Hierarchical processing for a virtual directory system for LDAP to SCIM proxy service
US10516672B2 (en) 2016-08-05 2019-12-24 Oracle International Corporation Service discovery for a multi-tenant identity and data security management cloud service
US10255061B2 (en) 2016-08-05 2019-04-09 Oracle International Corporation Zero down time upgrade for a multi-tenant identity and data security management cloud service
US10530578B2 (en) 2016-08-05 2020-01-07 Oracle International Corporation Key store service
US10585682B2 (en) 2016-08-05 2020-03-10 Oracle International Corporation Tenant self-service troubleshooting for a multi-tenant identity and data security management cloud service
US10735394B2 (en) 2016-08-05 2020-08-04 Oracle International Corporation Caching framework for a multi-tenant identity and data security management cloud service
US10263947B2 (en) 2016-08-05 2019-04-16 Oracle International Corporation LDAP to SCIM proxy service
US10484382B2 (en) 2016-08-31 2019-11-19 Oracle International Corporation Data management for a multi-tenant identity cloud service
US10331693B1 (en) * 2016-09-12 2019-06-25 Amazon Technologies, Inc. Filters and event schema for categorizing and processing streaming event data
US10846390B2 (en) 2016-09-14 2020-11-24 Oracle International Corporation Single sign-on functionality for a multi-tenant identity and data security management cloud service
US10511589B2 (en) 2016-09-14 2019-12-17 Oracle International Corporation Single logout functionality for a multi-tenant identity and data security management cloud service
US10594684B2 (en) 2016-09-14 2020-03-17 Oracle International Corporation Generating derived credentials for a multi-tenant identity cloud service
WO2018053258A1 (en) 2016-09-16 2018-03-22 Oracle International Corporation Tenant and service management for a multi-tenant identity and data security management cloud service
US10445395B2 (en) 2016-09-16 2019-10-15 Oracle International Corporation Cookie based state propagation for a multi-tenant identity cloud service
US10341354B2 (en) 2016-09-16 2019-07-02 Oracle International Corporation Distributed high availability agent architecture
US10484243B2 (en) 2016-09-16 2019-11-19 Oracle International Corporation Application management for a multi-tenant identity cloud service
US10567364B2 (en) 2016-09-16 2020-02-18 Oracle International Corporation Preserving LDAP hierarchy in a SCIM directory using special marker groups
US10791087B2 (en) 2016-09-16 2020-09-29 Oracle International Corporation SCIM to LDAP mapping using subtype attributes
US10904074B2 (en) 2016-09-17 2021-01-26 Oracle International Corporation Composite event handler for a multi-tenant identity cloud service
US11307735B2 (en) 2016-10-11 2022-04-19 Ricoh Company, Ltd. Creating agendas for electronic meetings using artificial intelligence
US10510051B2 (en) 2016-10-11 2019-12-17 Ricoh Company, Ltd. Real-time (intra-meeting) processing using artificial intelligence
US10860985B2 (en) 2016-10-11 2020-12-08 Ricoh Company, Ltd. Post-meeting processing using artificial intelligence
US10572858B2 (en) 2016-10-11 2020-02-25 Ricoh Company, Ltd. Managing electronic meetings using artificial intelligence and meeting rules templates
US10311047B2 (en) 2016-10-19 2019-06-04 Salesforce.Com, Inc. Streamlined creation and updating of OLAP analytic databases
EP3328016A1 (de) 2016-11-29 2018-05-30 Siemens Aktiengesellschaft Verfahren zum verbinden von geräten mit der sogenannten cloud, computerprogramm mit einer implementation des verfahrens und verarbeitungseinheit zur ausführung des verfahrens
US10623450B2 (en) * 2016-12-01 2020-04-14 Accenture Global Solutions Limited Access to data on a remote device
US11323427B2 (en) 2016-12-02 2022-05-03 Carrier Corporation Mixed-mode cloud on-premise secure communication
CN106713283B (zh) * 2016-12-03 2019-12-17 浙江广播电视集团 一种基于PaaS媒体技术的网间安全交互的***及其方法
US10375130B2 (en) * 2016-12-19 2019-08-06 Ricoh Company, Ltd. Approach for accessing third-party content collaboration services on interactive whiteboard appliances by an application using a wrapper application program interface
US10298635B2 (en) 2016-12-19 2019-05-21 Ricoh Company, Ltd. Approach for accessing third-party content collaboration services on interactive whiteboard appliances using a wrapper application program interface
US10250592B2 (en) 2016-12-19 2019-04-02 Ricoh Company, Ltd. Approach for accessing third-party content collaboration services on interactive whiteboard appliances using cross-license authentication
US10341117B2 (en) * 2016-12-22 2019-07-02 Arris Enterprises Llc Cloud authentication of layer 2-connected member devices via an IP-connected active device
US20180191718A1 (en) * 2016-12-29 2018-07-05 Ingram Micro Inc. Technologies for securely extending cloud service apis in a cloud service marketplace
US10496467B1 (en) 2017-01-18 2019-12-03 Amazon Technologies, Inc. Monitoring software computations of arbitrary length and duration
US10395405B2 (en) 2017-02-28 2019-08-27 Ricoh Company, Ltd. Removing identifying information from image data on computing devices using markers
US10984348B2 (en) 2017-03-01 2021-04-20 Gateway Ticketing Systems, Inc. Cloud-based data integration system
US10261836B2 (en) 2017-03-21 2019-04-16 Oracle International Corporation Dynamic dispatching of workloads spanning heterogeneous services
US20180276287A1 (en) * 2017-03-22 2018-09-27 International Business Machines Corporation Generating contextual insights from deployed applications in multiple computing devices
CN107070914A (zh) * 2017-04-11 2017-08-18 北京小米移动软件有限公司 基于可穿戴设备的授权方法、装置和设备
CN107231290A (zh) * 2017-04-19 2017-10-03 中国建设银行股份有限公司 一种即时通信方法和***
US10630668B2 (en) * 2017-04-28 2020-04-21 Amazon Technologies, Inc. Single sign-on registration
US10454915B2 (en) 2017-05-18 2019-10-22 Oracle International Corporation User authentication using kerberos with identity cloud service
US20180338018A1 (en) * 2017-05-18 2018-11-22 Hcl Technologies Limited Hybrid middleware device for facilitating communication amongst devices operating on a distinct communication protocols
US10652267B2 (en) 2017-06-02 2020-05-12 DigitSec, Inc. SAAS configuration and security analysis engine
JP6902630B2 (ja) 2017-07-31 2021-07-14 デジパーツ, インコーポレーテッドDigiparts, Inc. リアルタイム車両管制サービスのためのコネクテッドゲートウェイサーバシステム
US10701161B2 (en) * 2017-08-28 2020-06-30 Citrix Systems, Inc. Wrapping continuation tokens to support paging for multiple servers across different geolocations
US10348858B2 (en) 2017-09-15 2019-07-09 Oracle International Corporation Dynamic message queues for a microservice based cloud service
CN109525624B (zh) * 2017-09-20 2022-01-04 腾讯科技(深圳)有限公司 一种容器登录方法、装置及存储介质
US10831789B2 (en) 2017-09-27 2020-11-10 Oracle International Corporation Reference attribute query processing for a multi-tenant cloud service
US11271969B2 (en) 2017-09-28 2022-03-08 Oracle International Corporation Rest-based declarative policy management
US10834137B2 (en) * 2017-09-28 2020-11-10 Oracle International Corporation Rest-based declarative policy management
US10705823B2 (en) 2017-09-29 2020-07-07 Oracle International Corporation Application templates and upgrade framework for a multi-tenant identity cloud service
US10956875B2 (en) 2017-10-09 2021-03-23 Ricoh Company, Ltd. Attendance tracking, presentation files, meeting services and agenda extraction for interactive whiteboard appliances
US10552546B2 (en) 2017-10-09 2020-02-04 Ricoh Company, Ltd. Speech-to-text conversion for interactive whiteboard appliances in multi-language electronic meetings
US11062271B2 (en) 2017-10-09 2021-07-13 Ricoh Company, Ltd. Interactive whiteboard appliances with learning capabilities
US11030585B2 (en) 2017-10-09 2021-06-08 Ricoh Company, Ltd. Person detection, person identification and meeting start for interactive whiteboard appliances
US10553208B2 (en) 2017-10-09 2020-02-04 Ricoh Company, Ltd. Speech-to-text conversion for interactive whiteboard appliances using multiple services
CN107613020B (zh) 2017-10-16 2020-04-24 北京东土科技股份有限公司 一种设备管理方法及装置
US20190190986A1 (en) * 2017-12-19 2019-06-20 Avaya Inc. Long polling for clustered application load balancing
CN110086838A (zh) * 2018-01-26 2019-08-02 北京云点联动科技发展有限公司 一种支付稳定性的方法
US10715564B2 (en) 2018-01-29 2020-07-14 Oracle International Corporation Dynamic client registration for an identity cloud service
US10503497B2 (en) * 2018-01-30 2019-12-10 Microsoft Technology Licensing, Llc Techniques for utilizing an expression language in service configuration files
US10757148B2 (en) 2018-03-02 2020-08-25 Ricoh Company, Ltd. Conducting electronic meetings over computer networks using interactive whiteboard appliances and mobile devices
US10956533B1 (en) * 2018-03-20 2021-03-23 Amdocs Development Limited System, method, and computer program for real-time HTML rendering of windows applications
US10931656B2 (en) 2018-03-27 2021-02-23 Oracle International Corporation Cross-region trust for a multi-tenant identity cloud service
CN110324280A (zh) * 2018-03-29 2019-10-11 西门子公司 工业云中的协议配置***、装置和方法
JP7081273B2 (ja) 2018-03-30 2022-06-07 ブラザー工業株式会社 プログラム及び通信システム
US10798165B2 (en) 2018-04-02 2020-10-06 Oracle International Corporation Tenant data comparison for a multi-tenant identity cloud service
US11165634B2 (en) 2018-04-02 2021-11-02 Oracle International Corporation Data replication conflict detection and resolution for a multi-tenant identity cloud service
US11258775B2 (en) 2018-04-04 2022-02-22 Oracle International Corporation Local write for a multi-tenant identity cloud service
US11546645B2 (en) * 2018-04-10 2023-01-03 Cbs Interactive Inc. Systems, methods, and storage media for authenticating a remote viewing device for rendering digital content
US20210084109A1 (en) * 2018-04-16 2021-03-18 Hewlett-Packard Development Company, L.P. Content management system
US11429446B2 (en) 2018-04-24 2022-08-30 Hewlett-Packard Development Company, L.P. Device data collector agent component on cloud computing network
US11102296B2 (en) * 2018-04-30 2021-08-24 International Business Machines Corporation Big bang approach in datacenter migrations
US11012444B2 (en) 2018-06-25 2021-05-18 Oracle International Corporation Declarative third party identity provider integration for a multi-tenant identity cloud service
US10764273B2 (en) 2018-06-28 2020-09-01 Oracle International Corporation Session synchronization across multiple devices in an identity cloud service
CN108965283A (zh) * 2018-07-06 2018-12-07 中国电力财务有限公司 一种通讯方法、装置、应用服务器及通讯***
US10771283B2 (en) * 2018-07-06 2020-09-08 Sap Se Virtual cloud node
CA3107422A1 (en) * 2018-07-25 2020-01-30 Blues Inc. Data system on a module (dsom) for connecting computing devices and cloud-based services
CN109104477A (zh) * 2018-07-31 2018-12-28 佛山市甜慕链客科技有限公司 一种使用混合云计算***进行通信的方法
WO2020061812A1 (en) * 2018-09-26 2020-04-02 Beijing Didi Infinity Technology And Development Co., Ltd. Method and system for data exchange
US11144309B2 (en) * 2018-10-12 2021-10-12 Bentley Systems, Incorporated Changeset conflict rebasing
US11693835B2 (en) 2018-10-17 2023-07-04 Oracle International Corporation Dynamic database schema allocation on tenant onboarding for a multi-tenant identity cloud service
US11321187B2 (en) 2018-10-19 2022-05-03 Oracle International Corporation Assured lazy rollback for a multi-tenant identity cloud service
CN111131351B (zh) * 2018-10-31 2022-09-27 ***通信集团广东有限公司 一种物联网设备型号的确认方法及装置
US11310204B2 (en) * 2018-11-13 2022-04-19 Sap Se Centralized access to data repository from a multi-cloud computing environment
US10897497B2 (en) * 2018-11-13 2021-01-19 International Business Machines Corporation Automated infrastructure updates in a cluster environment that includes containers
CN109639767A (zh) * 2018-11-20 2019-04-16 中国人民解放军总医院 一种业务网关数据处理方法、装置、设备
US11375049B2 (en) * 2018-11-29 2022-06-28 Avaya Inc. Event-based multiprotocol communication session distribution
US11489730B2 (en) 2018-12-18 2022-11-01 Storage Engine, Inc. Methods, apparatuses and systems for configuring a network environment for a server
US10887382B2 (en) 2018-12-18 2021-01-05 Storage Engine, Inc. Methods, apparatuses and systems for cloud-based disaster recovery
US11178221B2 (en) 2018-12-18 2021-11-16 Storage Engine, Inc. Methods, apparatuses and systems for cloud-based disaster recovery
US10958720B2 (en) 2018-12-18 2021-03-23 Storage Engine, Inc. Methods, apparatuses and systems for cloud based disaster recovery
US11252019B2 (en) 2018-12-18 2022-02-15 Storage Engine, Inc. Methods, apparatuses and systems for cloud-based disaster recovery
US11176002B2 (en) 2018-12-18 2021-11-16 Storage Engine, Inc. Methods, apparatuses and systems for cloud-based disaster recovery
US10983886B2 (en) 2018-12-18 2021-04-20 Storage Engine, Inc. Methods, apparatuses and systems for cloud-based disaster recovery
US11082451B2 (en) * 2018-12-31 2021-08-03 Citrix Systems, Inc. Maintaining continuous network service
US11651357B2 (en) 2019-02-01 2023-05-16 Oracle International Corporation Multifactor authentication without a user footprint
US11061929B2 (en) 2019-02-08 2021-07-13 Oracle International Corporation Replication of resource type and schema metadata for a multi-tenant identity cloud service
US11321343B2 (en) 2019-02-19 2022-05-03 Oracle International Corporation Tenant replication bootstrap for a multi-tenant identity cloud service
US11669321B2 (en) 2019-02-20 2023-06-06 Oracle International Corporation Automated database upgrade for a multi-tenant identity cloud service
US11792226B2 (en) 2019-02-25 2023-10-17 Oracle International Corporation Automatic api document generation from scim metadata
US11423111B2 (en) 2019-02-25 2022-08-23 Oracle International Corporation Client API for rest based endpoints for a multi-tenant identify cloud service
US11700241B2 (en) * 2019-02-27 2023-07-11 Sevitech, Llc Isolated data processing modules
US11075904B2 (en) 2019-03-04 2021-07-27 Visa International Service Association Biometric interaction manager
CN110070331A (zh) * 2019-03-12 2019-07-30 深圳壹账通智能科技有限公司 企业服务导航方法、装置和计算机设备
US11829277B2 (en) * 2019-03-21 2023-11-28 Dish Network Technologies India Private Limited Systems and methods for remote debugging
CN112055039B (zh) * 2019-06-06 2022-07-26 阿里巴巴集团控股有限公司 数据访问方法、装置、***及计算设备
US11206185B2 (en) * 2019-06-23 2021-12-21 Juniper Networks, Inc. Rules driven software deployment agent
WO2021028052A1 (en) * 2019-08-14 2021-02-18 Huawei Technologies Co., Ltd. Method and apparatus for cloud-based console service in a cloud network
DE102019213707A1 (de) * 2019-09-10 2021-03-11 Carl Zeiss Meditec Ag Computer-Hardware für ein computergesteuertes Medizingerät und Verfahren zur Steuerung eines computergesteuerten Medizingeräts
US11687378B2 (en) 2019-09-13 2023-06-27 Oracle International Corporation Multi-tenant identity cloud service with on-premise authentication integration and bridge high availability
US11870770B2 (en) 2019-09-13 2024-01-09 Oracle International Corporation Multi-tenant identity cloud service with on-premise authentication integration
US11237881B2 (en) 2019-09-17 2022-02-01 Kyndryl, Inc. Message connector as a service to migrate streaming applications into cloud nativity
US11157241B2 (en) 2019-09-18 2021-10-26 Servicenow, Inc. Codeless specification of software as a service integrations
US11784874B2 (en) 2019-10-31 2023-10-10 Juniper Networks, Inc. Bulk discovery of devices behind a network address translation device
US11159370B2 (en) * 2019-10-31 2021-10-26 Juniper Networks, Inc. Bulk discovery of devices behind a network address translation device
CN111078736A (zh) * 2019-11-06 2020-04-28 用友网络科技股份有限公司 一种数据聚合处理方法、装置、终端及存储介质
US11611548B2 (en) 2019-11-22 2023-03-21 Oracle International Corporation Bulk multifactor authentication enrollment
KR102341376B1 (ko) * 2019-11-27 2021-12-21 주식회사 가토랩 딥러닝 프라이빗 클라우드 서비스의 계층 전환 장치
JP7419771B2 (ja) * 2019-11-29 2024-01-23 株式会社リコー ネットワークシステム及び接続方法
KR102347153B1 (ko) 2020-04-21 2022-01-04 국방과학연구소 클라우드 컴퓨팅 환경에 적합한 보안 아키텍처가 적용된 국방 지휘통제체계(c4i) 시스템 및 그의 인증, 인가 제어 방법
CN111917742B (zh) * 2020-07-15 2022-07-08 北京钛星数安科技有限公司 终端网页浏览隔离保护***
US11558189B2 (en) * 2020-11-30 2023-01-17 Microsoft Technology Licensing, Llc Handling requests to service resources within a security boundary using a security gateway instance
CN112580028A (zh) * 2020-12-26 2021-03-30 重庆扬成大数据科技有限公司 通过分布式计算进行农业信息化数据安全优化方法
JP2022104000A (ja) * 2020-12-28 2022-07-08 シャープ株式会社 情報処理システム、情報処理方法、及び情報処理プログラム
US11818202B2 (en) * 2021-03-12 2023-11-14 Ceretax, Inc. System and method for high availability tax computing
JP2022175989A (ja) * 2021-05-14 2022-11-25 株式会社日立製作所 ジョブ実行システム及びジョブ実行方法
CN113595991A (zh) * 2021-07-07 2021-11-02 河北远东通信***工程有限公司 一种http接口网关、通信***及通信方法
CN113938282A (zh) * 2021-09-26 2022-01-14 用友网络科技股份有限公司 混合云的私有化部署数据获取方法、电子设备和存储介质
CN113905081B (zh) * 2021-09-29 2024-02-27 鼎捷软件股份有限公司 数据闸道***以数据互通方法
JP2023061144A (ja) * 2021-10-19 2023-05-01 横河電機株式会社 制御システム、制御方法、およびプログラム
JP7440177B1 (ja) 2023-02-06 2024-02-28 Necプラットフォームズ株式会社 サービス提供システム、ゲートウェイ装置、サービス提供システム構築方法およびプログラム
KR102590117B1 (ko) 2023-05-26 2023-10-17 (주)옥타솔루션 해외계좌 보고대상 추출 서비스를 제공하기 위한 해외계좌 보고대상 추출 시스템
KR102590120B1 (ko) 2023-05-26 2023-10-17 (주)옥타솔루션 해외계좌 보고대상 추출 및 보안 방법
KR102640624B1 (ko) 2023-05-26 2024-02-23 박만성 자금세탁방지(AML) 서비스를 제공하기 위한 클라우드 기반 SaaS형 자금세탁방지 시스템

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004537125A (ja) * 2001-07-24 2004-12-09 ポロズニ,バリー 無線アクセスのシステム、方法、信号、及びコンピュータプログラム製品
JP2008199377A (ja) * 2007-02-14 2008-08-28 Ntt Docomo Inc コンテンツ流通管理装置、端末装置、プログラム及びコンテンツ流通システム
WO2012170237A2 (en) * 2011-06-10 2012-12-13 Microsoft Corporation Web-browser based desktop and application remoting solution
US20130219176A1 (en) * 2012-01-06 2013-08-22 Venkata Sastry Akella Secure Virtual File Management System

Family Cites Families (79)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4788715A (en) 1986-10-16 1988-11-29 American Telephone And Telegraph Company At&T Bell Laboratories Announcing waiting times in queuing systems
FR2782435B1 (fr) * 1998-08-13 2000-09-15 Bull Cp8 Procede de communication entre une station d'utilisateur et un reseau, notamment de type internet, et architecture de mise en oeuvre
US7349955B1 (en) * 2000-02-11 2008-03-25 Goamerica, Inc. Method of and system for transferring data over a wireless communications network
US20020002611A1 (en) * 2000-04-17 2002-01-03 Mark Vange System and method for shifting functionality between multiple web servers
US6970935B1 (en) * 2000-11-01 2005-11-29 International Business Machines Corporation Conversational networking via transport, coding and control conversational protocols
US7730528B2 (en) * 2001-06-01 2010-06-01 Symantec Corporation Intelligent secure data manipulation apparatus and method
JP4315696B2 (ja) * 2002-03-29 2009-08-19 富士通株式会社 ホスト端末エミュレーションプログラム、中継用プログラムおよびホスト端末エミュレーション方法
US7363363B2 (en) * 2002-05-17 2008-04-22 Xds, Inc. System and method for provisioning universal stateless digital and computing services
US7440940B2 (en) * 2002-12-02 2008-10-21 Sap Ag Web service agent
US20040162823A1 (en) * 2003-02-13 2004-08-19 Van De Loo Kaj Message translation using adaptive agents
US7430290B2 (en) 2003-10-23 2008-09-30 Telefonaktiebolaget Lm Ericsson (Publ) Virtual queuing support system and method
US20050132351A1 (en) * 2003-12-12 2005-06-16 Randall Roderick K. Updating electronic device software employing rollback
US7421698B2 (en) 2003-12-22 2008-09-02 Sun Microsystems, Inc. System and method for dynamically and persistently tracking incremental profiling data in a process cloning application environment
US7823192B1 (en) * 2004-04-01 2010-10-26 Sprint Communications Company L.P. Application-to-application security in enterprise security services
US8615601B2 (en) * 2004-05-21 2013-12-24 Oracle International Corporation Liquid computing
KR100644616B1 (ko) * 2004-06-10 2006-11-10 세종대학교산학협력단 마크업 랭귀지 기반의 단일인증 방법 및 이를 위한 시스템
US7698375B2 (en) * 2004-07-21 2010-04-13 International Business Machines Corporation Method and system for pluggability of federation protocol runtimes for federated user lifecycle management
US20060112127A1 (en) 2004-11-23 2006-05-25 Microsoft Corporation Method for efficiently mapping error messages to unique identifiers
US7523491B2 (en) * 2005-01-03 2009-04-21 Nokia Corporation System, apparatus, and method for accessing mobile servers
US8015051B2 (en) * 2005-03-11 2011-09-06 Sap Ag System and method for business process integration
CN101180829B (zh) * 2005-07-07 2011-05-18 株式会社东芝 认证***、设备和程序
US8117459B2 (en) * 2006-02-24 2012-02-14 Microsoft Corporation Personal identification information schemas
US8429300B2 (en) * 2006-03-06 2013-04-23 Lg Electronics Inc. Data transferring method
US20090170557A1 (en) * 2006-10-02 2009-07-02 Prashant Chauhan Systems and methods for enabling communication features utilizing various bearer media
US8695015B2 (en) * 2006-12-06 2014-04-08 International Business Machines Corporation Application message conversion using a feed adapter
US8831963B2 (en) 2007-03-08 2014-09-09 Ab Inventio, Llc Electronic queuing systems and methods
US20090012817A1 (en) * 2007-07-06 2009-01-08 Squires Charles S System and method for facilitating cross enterprise data sharing in a healthcare setting
US8312475B2 (en) * 2007-09-26 2012-11-13 Microsoft Corporation Remote control of computing devices via two disparate networks
US20090158302A1 (en) * 2007-12-13 2009-06-18 Fiberlink Communications Corporation Api translation for network access control (nac) agent
EP2173078A1 (en) * 2008-10-01 2010-04-07 Thomson Licensing Network device and method for setting up an IPTV session
JP4803266B2 (ja) * 2009-02-12 2011-10-26 ソニー株式会社 通信装置、サーバ、プログラム及び通信システム
US9049182B2 (en) * 2009-08-11 2015-06-02 Novell, Inc. Techniques for virtual representational state transfer (REST) interfaces
US9639619B2 (en) * 2009-10-28 2017-05-02 Verizon Patent And Licensing Inc. Network architecture and method for reducing the number of resource requests
CN102640449B (zh) * 2009-11-06 2016-03-16 瑞典爱立信有限公司 用于web应用通信的***和方法
US20110173443A1 (en) * 2010-01-12 2011-07-14 Phion Ag Secure extranet server
US20110203006A1 (en) * 2010-02-15 2011-08-18 Openwave Systems Inc. Method and system for delivering closed-audience content to a closed mobile audience
US20110202989A1 (en) * 2010-02-18 2011-08-18 Nokia Corporation Method and apparatus for providing authentication session sharing
CN101800753B (zh) * 2010-03-16 2012-07-18 中国电子科技集团公司第三十研究所 基于一体化网络安全服务架构的综合安全防护方法
US8799413B2 (en) 2010-05-03 2014-08-05 Panzura, Inc. Distributing data for a distributed filesystem across multiple cloud storage systems
US8752047B2 (en) 2010-05-28 2014-06-10 Bromium, Inc. Automated management of virtual machines to process untrusted data based on client policy information
CA2806557C (en) 2010-07-26 2014-10-07 Michael Luna Mobile application traffic optimization
US8504837B2 (en) * 2010-10-15 2013-08-06 Rockwell Automation Technologies, Inc. Security model for industrial devices
US8626718B2 (en) 2010-10-29 2014-01-07 Verizon Patent And Licensing Inc. Content caching based on refresh and expiration times
JP2012118733A (ja) * 2010-11-30 2012-06-21 Canon Inc 印刷システム、印刷方法、およびプログラム
US8725896B2 (en) * 2010-12-16 2014-05-13 Openet Telecom Ltd. Methods, systems and devices for forked routing
US8675659B2 (en) * 2010-12-16 2014-03-18 Openet Telecom Ltd. Methods, systems and devices for multiphase decoding
US8725820B2 (en) * 2010-12-16 2014-05-13 Openet Telecom Ltd. Methods, systems and devices for horizontally scalable high-availability dynamic context-based routing
US8880726B2 (en) * 2010-12-16 2014-11-04 Openet Telecom Ltd. Methods, systems and devices for dynamic context-based routing using a topology tree
US8943221B2 (en) * 2010-12-16 2015-01-27 Openet Telecom Ltd. Methods, systems and devices for pipeline processing
JP5624525B2 (ja) * 2011-08-15 2014-11-12 株式会社東芝 情報処理装置、リソース提供装置および情報処理システム
US8908531B2 (en) * 2011-08-25 2014-12-09 At&T Mobility Ii Llc Communication gateway for facilitating communications with a supervisory control and data aquisition system
US20130086669A1 (en) * 2011-09-29 2013-04-04 Oracle International Corporation Mobile application, single sign-on management
WO2013071087A1 (en) * 2011-11-09 2013-05-16 Unisys Corporation Single sign on for cloud
WO2013086211A2 (en) * 2011-12-06 2013-06-13 Mercury And Associates, Structure Ii, Llc Multilayer hybrid games
US8978023B2 (en) 2011-12-29 2015-03-10 Oracle International Corporation Canonical mechanism for securely assembling features into a mobile application
CN102546800B (zh) * 2012-01-06 2015-03-25 华为技术有限公司 一种网关握手、通信方法、网关及Web通信***
MX342909B (es) * 2012-02-21 2016-10-18 Zih Corp Metodos, aparatos y productos de programas para computadora para implementar impresoras conectadas a la nube y un marco adaptable de aplicacion basado en la impresora.
CN103297445B (zh) * 2012-02-22 2017-06-20 ***通信集团公司 一种基于IP多媒体网络的Web终端通信方法和***
JP5945916B2 (ja) * 2012-03-02 2016-07-05 日本電気株式会社 情報処理システム、情報処理方法、携帯端末、サーバ、それらの制御方法および制御プログラム
US20130275492A1 (en) * 2012-04-13 2013-10-17 Microsoft Corporation Enabling Web Clients to Provide Web Services
JP6140937B2 (ja) * 2012-05-23 2017-06-07 キヤノン株式会社 ネットワークデバイス、プログラム、システムおよび方法
JP6053364B2 (ja) * 2012-07-19 2016-12-27 キヤノン株式会社 情報処理システム、サーバ装置、クライアント装置および制御方法
US20140075541A1 (en) * 2012-09-11 2014-03-13 Orion Energy Systems, Inc. Systems and methods for accessing resources through a firewall
US9734220B2 (en) * 2012-12-04 2017-08-15 Planet Os Inc. Spatio-temporal data processing systems and methods
US8826332B2 (en) * 2012-12-21 2014-09-02 Ustudio, Inc. Media distribution and management platform
US20140280494A1 (en) * 2013-03-14 2014-09-18 Microsoft Corporation Relay Service for Different Web Service Architectures
US9037735B1 (en) * 2013-03-15 2015-05-19 Kaazing Corporation Establishing websocket protocol extensions
CN103227788B (zh) * 2013-04-17 2016-02-03 广州市和声信息技术有限公司 实现网页应用程序与sip设备进行通信的方法和***
US20150052256A1 (en) * 2013-08-15 2015-02-19 Unisys Corporation Transmission of network management data over an extensible scripting file format
US9473562B2 (en) * 2013-09-12 2016-10-18 Apple Inc. Mediated data exchange for sandboxed applications
US9641335B2 (en) * 2013-09-16 2017-05-02 Axis Ab Distribution of user credentials
EP3047629B1 (en) * 2013-09-20 2019-11-06 Oracle International Corporation Web-based interface integration for single sign-on
US9934323B2 (en) * 2013-10-01 2018-04-03 Facebook, Inc. Systems and methods for dynamic mapping for locality and balance
KR102223034B1 (ko) * 2013-11-14 2021-03-04 삼성전자주식회사 조명 시스템 및 그를 위한 신호 변환 장치
US9529657B2 (en) 2014-02-07 2016-12-27 Oracle International Corporation Techniques for generating diagnostic identifiers to trace events and identifying related diagnostic information
US9529658B2 (en) 2014-02-07 2016-12-27 Oracle International Corporation Techniques for generating diagnostic identifiers to trace request messages and identifying related diagnostic information
US9935959B2 (en) 2014-02-07 2018-04-03 Oracle International Corporation Cloud service custom execution environment
JP6364496B2 (ja) 2014-02-07 2018-07-25 オラクル・インターナショナル・コーポレイション モバイルクラウドサービスアーキテクチャ
KR102196894B1 (ko) 2014-03-31 2020-12-31 오라클 인터내셔날 코포레이션 모바일 디바이스와 모바일 클라우드 서비스 간의 동기화를 위한 인프라스트럭처

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004537125A (ja) * 2001-07-24 2004-12-09 ポロズニ,バリー 無線アクセスのシステム、方法、信号、及びコンピュータプログラム製品
JP2008199377A (ja) * 2007-02-14 2008-08-28 Ntt Docomo Inc コンテンツ流通管理装置、端末装置、プログラム及びコンテンツ流通システム
WO2012170237A2 (en) * 2011-06-10 2012-12-13 Microsoft Corporation Web-browser based desktop and application remoting solution
US20130219176A1 (en) * 2012-01-06 2013-08-22 Venkata Sastry Akella Secure Virtual File Management System

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
MARC CHANLIAU: "Oracle Enterprise Gatewayを使用したSOAおよびWebサービスの保護", ORACLEホワイト・ペーパー, JPN6017046740, April 2011 (2011-04-01) *

Also Published As

Publication number Publication date
US20160028688A1 (en) 2016-01-28
US9231946B2 (en) 2016-01-05
EP3103240A1 (en) 2016-12-14
CA2936358C (en) 2021-09-07
EP3103240B1 (en) 2020-02-26
JP2017506387A (ja) 2017-03-02
CN110995727B (zh) 2022-03-01
CN105900397A (zh) 2016-08-24
WO2015119658A1 (en) 2015-08-13
US9712511B2 (en) 2017-07-18
CN105900396B (zh) 2019-05-31
KR102103622B1 (ko) 2020-04-23
CA2936358A1 (en) 2015-08-13
KR20210050589A (ko) 2021-05-07
KR20160119193A (ko) 2016-10-12
CA2936074A1 (en) 2015-08-13
US20180007027A1 (en) 2018-01-04
KR102288858B1 (ko) 2021-08-11
WO2015119529A1 (en) 2015-08-13
SG11201605615TA (en) 2016-08-30
CN105900396A (zh) 2016-08-24
KR20160119189A (ko) 2016-10-12
US10193877B2 (en) 2019-01-29
JP6449896B2 (ja) 2019-01-09
CN110995727A (zh) 2020-04-10
EP3103238B1 (en) 2021-06-23
KR102247410B1 (ko) 2021-05-04
EP3103238A1 (en) 2016-12-14
CA2936074C (en) 2021-04-06
US20160072789A1 (en) 2016-03-10
CN105900397B (zh) 2019-12-10
US20150229638A1 (en) 2015-08-13
JP6364496B2 (ja) 2018-07-25
SG11201605659SA (en) 2016-08-30
US9769139B2 (en) 2017-09-19

Similar Documents

Publication Publication Date Title
JP6364496B2 (ja) モバイルクラウドサービスアーキテクチャ
JP6412943B2 (ja) クラウドサービスカスタム実行環境
US9529658B2 (en) Techniques for generating diagnostic identifiers to trace request messages and identifying related diagnostic information
US9529657B2 (en) Techniques for generating diagnostic identifiers to trace events and identifying related diagnostic information
US10306023B2 (en) Pre-formed instructions for a mobile cloud service
US20150227749A1 (en) Access management in a data storage system
JP2019501431A (ja) コンテナ間における信頼性の確立

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20171031

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20171212

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180301

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180702

R150 Certificate of patent or registration of utility model

Ref document number: 6364496

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