JP2017528844A - 企業システム内の装置の変更イベントの管理 - Google Patents

企業システム内の装置の変更イベントの管理 Download PDF

Info

Publication number
JP2017528844A
JP2017528844A JP2017516125A JP2017516125A JP2017528844A JP 2017528844 A JP2017528844 A JP 2017528844A JP 2017516125 A JP2017516125 A JP 2017516125A JP 2017516125 A JP2017516125 A JP 2017516125A JP 2017528844 A JP2017528844 A JP 2017528844A
Authority
JP
Japan
Prior art keywords
change event
action process
change
remote devices
remote
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
JP2017516125A
Other languages
English (en)
Other versions
JP6499281B2 (ja
JP2017528844A5 (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 JP2017528844A publication Critical patent/JP2017528844A/ja
Publication of JP2017528844A5 publication Critical patent/JP2017528844A5/ja
Application granted granted Critical
Publication of JP6499281B2 publication Critical patent/JP6499281B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/121Restricting unauthorised execution of programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/45Structures or tools for the administration of authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • 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/20Network management software packages
    • 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/28Restricting access to network management systems or functions, e.g. using authorisation function to access network configuration
    • 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/40Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using virtualisation of network functions or resources, e.g. SDN or NFV entities
    • 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/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/508Network service management, e.g. ensuring proper service fulfilment according to agreements based on type of value added network service under agreement
    • H04L41/5096Network service management, e.g. ensuring proper service fulfilment according to agreements based on type of value added network service under agreement wherein the managed service relates to distributed or central networked applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/125Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
    • 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/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • 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
    • 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/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • 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
    • 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
    • H04L63/101Access control lists [ACL]
    • 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
    • H04L63/102Entity profiles
    • 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
    • H04L63/104Grouping 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/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/105Multiple levels of security
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general
    • H04L63/205Network architectures or network communication protocols for network security for managing network security; network security policies in general involving negotiation or determination of the one or more network security mechanisms to be used, e.g. by negotiation between the client and the server or between peers or by selection according to the capabilities of the entities involved
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • 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/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • H04L67/303Terminal profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • H04L67/306User profiles
    • 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/52Network services specially adapted for the location of the user terminal
    • 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/55Push-based network services
    • 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/75Indicating network or usage conditions on the user display
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/085Secret sharing or secret splitting, e.g. threshold schemes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • H04L9/3268Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements using certificate validation, registration, distribution or revocation, e.g. certificate revocation list [CRL]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/30Security of mobile devices; Security of mobile applications
    • H04W12/33Security of mobile devices; Security of mobile applications using wearable devices, e.g. using a smartwatch or smart-glasses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/60Context-dependent security
    • H04W12/69Identity-dependent
    • H04W12/71Hardware identity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W16/00Network planning, e.g. coverage or traffic planning tools; Network deployment, e.g. resource partitioning or cells structures
    • H04W16/02Resource partitioning among network components, e.g. reuse partitioning
    • H04W16/06Hybrid resource partitioning, e.g. channel borrowing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/50Service provisioning or reconfiguring
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/60Subscription-based services using application servers or record carriers, e.g. SIM application toolkits
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/70Services for machine-to-machine communication [M2M] or machine type communication [MTC]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • G06F9/452Remote windowing, e.g. X-Window System, desktop virtualisation
    • 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/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • H04L41/082Configuration setting characterised by the conditions triggering a change of settings the condition being updates or upgrades of network functionality
    • 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/08Configuration management of networks or network elements
    • H04L41/0895Configuration of virtualised networks or elements, e.g. virtualised network function or OpenFlow elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/06Selective distribution of broadcast services, e.g. multimedia broadcast multicast service [MBMS]; Services to user groups; One-way selective calling services
    • H04W4/08User group management

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)
  • Multimedia (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Power Engineering (AREA)
  • Technology Law (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Computer And Data Communications (AREA)
  • Stored Programmes (AREA)
  • Telephonic Communication Services (AREA)
  • Information Transfer Between Computers (AREA)
  • Storage Device Security (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Human Computer Interaction (AREA)

Abstract

企業システムへのアクセス権の変更に関連する変更イベントに関する情報をリモート装置に伝達するための技術が開示される。装置アクセス管理システムは、変更イベントに関する情報をリモート装置に伝送することを促進することができる。変更イベントに関する情報は、変更イベントの種類(例えば、ポリシーの変更、アプリケーションの変更および設定の変更)に基づいて、変更イベントオブジェクトに保存されてもよい。変更イベントキューは、変更イベントに対応する情報を永続的に保存することができる。各変更イベントに対応するアクションプロセスを実行するように、変更イベントの種類に基づいて、1つ以上のコンピューティングノードをスケジューリングすることができる。コンピューティングノードは、変更イベントに関する情報(例えば、アクセス権の調整を実施するための命令)をリモート装置に伝送することができる。変更イベントは、全てのリモート装置に通知されるまで、キューに保持される。

Description

関連出願の相互参照
本出願は、2014年9月24日に出願され、「モバイルセキュリティマネージャ(MSM)」と題された米国仮特許出願第62/054544号の利益および優先権を主張し、2015年4月17日に出願され、「企業システム内の装置の変更イベントの管理」と題された米国非仮出願第14/690034号の利益および優先権を主張するものであり、両方の出願の全体があらゆる目的で参照により本開示に援用される。
背景
本開示は、一般的に、リモート装置を用いて企業(エンタープライズ)システムに対するアクセスに関連するイベントの管理に関する。より詳細には、企業システムへのアクセス権の変更に関連するイベントに関する情報をリモート装置に伝送するための技術が開示される。
モバイル装置を含む装置の普及に伴い、多くの企業は、BYOD(Bring Your Own Device)ポリシーを採用している。BYODによって、ユーザは、自分の装置を持ち込み、企業のシステムに接続して、企業により提供されたリソース(例えば、アプリケーションまたはデータ)にアクセスすることができる。BYODポリシーによって、ユーザは、自分の装置を個人使用のために引き続き使用することができる。企業システム内のユーザ所有装置のさまざまな用途(例えば、個人用途または企業用途)を管理することは、企業にとって最も重要な課題である。ユーザ所有装置による企業システムへのアクセス権を許可すると、新たなセキュリティリスクをもたらす可能性がある。ユーザ所有装置が企業システムへのアクセス権を取得すると、企業システムは、非遵守装置または装置の非遵守使用によるセキュリティリスクに曝される可能性がある。ユーザ所有装置が侵入(例えば、ハッキング、盗難、紛失)された場合、セキュリティ問題がより大きくなる。
企業システムにアクセスするユーザ所有装置および企業装置の管理を容易にするために、一部の企業は、モバイル装置管理(MDM)システムおよび/またはモバイルアプリケーション管理(MAM)システムを実装する。これらの管理システムは、企業システムへのアクセス権の管理および制御を促進することによって、企業システムおよび企業リソースの安全を確保することができる。企業システムへのアクセス権の管理および制御は、遵守およびリソースに関する情報の伝送、および企業システムへのアクセス権を維持するために取るべき措置を含む。
数千のユーザ(例えば、従業員、契約者および顧客)を所有する企業は、企業にアクセスする数千台の装置のアクセス権を管理する課題に直面する可能性がある。任意の時点において、企業は、企業システムへのアクセス権の変更を多くの装置に通知するために、これらの装置と通信する必要がある。情報を通信する必要のある装置の数によって、多大な負担が情報の伝送を管理するシステムにかかることになる。情報を装置に伝送することを促進するために利用されるシステムは、過負荷になることがあり、通知される必要のある装置の数によって応答しない場合もある。多くの場合、企業システムへのアクセス権の変更に関連する情報の伝送が遅れたり、配信されないことがある。より複雑なことに、多くの装置は、企業システムへのアクセス権に関連する複数の変更に影響される可能性があるため、これらの複数の変更に関する情報をこれらの装置に送信する必要がある。多くの場合、装置に発生したエラー(例えば、装置エラーまたは通信エラー)により、アクセス権の変更に関する情報が装置によって処理忘れまたは処理されなかったことがある。場合によって、以前にエラーが発生した装置に同様の変更に関する情報を通知するときに、エラーがこの装置に発生している可能性がある。そのため、一部の装置は、企業システムへのアクセス権の変更に関する情報を受信することができない。たとえば、あるアクセスポリシーがリソースへのアクセス権を取り消し、別のアクセスポリシーが取り消されたリソースへのアクセス権を提供する場合、最終的にそのリソースへのアクセス権が、アクセスポリシーに基づいたイベントの順序によって決定される。
メッセージングサービス、例えばJava(登録商標)メッセージングサービス(JMS)を実装することによって、出版-購読モデルをサポートすることができる。このモデルは、(出版者として機能する)企業システム内のアイテムの変更を、トピックの変更に興味ある全ての購読者に通知することができる。サーバクラスタ内の各ノードに1人のトピック購読者が存在する場合、メッセージングサービスは、購読者の間の変更処理を促進できなくなり、重複の作業または誤った配信順序をもたらす。メッセージングサービスは、鈍重であるため、企業システムへのアクセス権の変更に対応する新種または異種トピックを管理することができない。
上述した多くの通信課題によって、一部の装置は、企業システムへのアクセス権の変更に関する情報を受信できないことがある。企業は、企業システムにアクセスするユーザ所有装置および企業装置の両方を管理するための情報の伝送を改善する方法を模索している。
簡単な概要
本開示は、一般的に、リモート装置を用いて企業システムに対するアクセスに関連するイベントの管理に関する。より詳細には、企業システムへのアクセス権の変更に関連するイベントに関する情報をリモート装置に伝送するための技術が開示される。企業システムへのアクセス(アクセス権)は、リソースへのアクセスおよび/または企業システムへのアクセスを提供するリモート装置の安全な環境におけるアクションへのアクセスを含んでもよい。装置アクセス管理システムを実装して、企業システムにアクセスするリモート装置との通信を促進することができる。
装置アクセス管理システムは、変更イベント(例えば、企業システムへのアクセス権の変更)の種類に基づいて、変更イベントに関する情報を管理することができる。変更イベントの例としては、ポリシーの変更、アプリケーションの変更、および設定の変更を含むがこれらに限定されない。変更イベントに関する情報は、変更イベントの種類に基づいて、オブジェクト(「変更イベントオブジェクト」)、例えば普通のJava(登録商標)オブジェクトとして実装されたデータ構造に保存されてもよい。異なる種類の変更イベントに応じて、メタデータクラスを定義することができる。メタデータクラスは、そのメタデータクラスに基づいて定義された変更イベントオブジェクトに保存することができる1つ以上のフィールド情報を定義することができる。新規のまたは異なる種類の変更イベントが定義される場合、新たなメタデータクラスを定義することができる。変更イベントの種類に基づいて、変更イベントオブジェクトを作成して、変更イベントに関する情報を保存することができる。
変更イベントに関する情報を永続的ものにすることにより、変更イベントに影響されるリモート装置に情報を確実に伝送するために、装置アクセス管理システムは、キュー(変更イベントキュー)を実装することができる。変更イベントキューは、変更イベントに応じて、各変更イベントオブジェクトに対応する情報(例えば、変更イベントエントリ)を保存することができる。装置アクセス管理システムは、変更イベントオブジェクト内の情報をリモート装置に送信し、変更イベントを伝送することによって、変更イベントを装置に通知することができる。いくつかの実施形態において、装置アクセス管理システムは、通知サービス(例えば、プッシュ通知サービス)を用いて、変更イベントをリモート装置に伝送することができる。リモート装置は、通知サービスと通信することによって、変更イベントに関する通知を受信することができる。変更イベントエントリは、変更イベントが変更イベントエントリに対応する変更イベントに影響される全ての装置に通知されるまで、変更イベントキューに残されてもよい。いくつかの実施形態において、変更イベントの通信を再試行するために、変更イベントをリモート装置に再送信してもよい。
いくつかの実施形態において、変更イベントの種類に応じて、アクションプロセスを定義することができる。アクションプロセスは、アクションプロセスクラスによって定義されたルーチンであってもよい。アクションプロセスは、変更イベントの種類に応じて開始することができる。変更イベントの種類は、その種類の変更イベントを表すアクションプロセスクラスに対応する。アクションプロセスクラスは、変更イベント(例えば、変更イベントオブジェクト)に関する情報を、その変更イベントに対応する変更に影響されるリモート装置に伝送することを含むことができる。リモート装置に伝送された情報は、変更イベントに基づいてアクセス権を調整するようにリモート装置に指示する命令またはコマンドを含むことができる。
いくつかの実施形態において、装置アクセス管理システムは、変更イベントに対応するアクセスプロセスを実行するために、複数のコンピューティングノードを利用することができる。変更イベントが通知されるリモート装置の数が多い場合、複数のコンピューティングノードは、アクションプロセスを実行することができる。例えば、変更イベントに影響されるリモート装置が何千台もあると判断した場合、複数のコンピューティングノードは、変更イベントを異なるリモート装置に通知するアクションプロセスを実行するよう要請され得る。各コンピューティングノードは、アクションプロセスの異なるインスタンスを実装することによって、変更イベントを異なる組のリモート装置に伝送することができる。単一コンピューティングノードの上で全てのリモート装置のアクションプロセスを実行するのではなく、複数のコンピューティングノードを使用して、変更イベントに影響される異なるリモート装置に対応するアクションプロセスを実行する時の負荷を分散することができる。リモート装置に対応するアクションプロセスを実行するように指定されたコンピューティングノードは、各リモート装置が変更イベントに関する通知を受信するまで、変更イベントを管理することができる。いくつかの実施形態において、リモート装置は、変更イベントを承認したことを示す情報をコンピューティングノードに送信することができる。アクションプロセスを複数のコンピューティングノード間で分散することにより、変更イベントをリモート装置に伝送するパフォーマンス効率を改善することができる。アクションプロセスの処理負荷を複数のコンピューティングノード間に分散することができるため、単一のコンピューティングノードでは、変更イベントに影響される全てのリモート装置のアクションプロセスを実行しなくても済む。
本発明のいくつかの実施形態は、コンピューティングシステムによって実現することができる。コンピューティングシステムは、装置アクセス管理システムの一部として実装することができる。コンピューティングシステムは、方法および処理を実施することができる。少なくとも1つの実施形態において、コンピューティングシステムは、1つ以上のプロセッサと、命令を保存するメモリとを含み、これらの命令は、1つ以上のプロセッサによって実行されると、1つ以上のプロセッサに処理を実施させる。処理を実施することにより、方法を実行することができる。いくつかの実施形態において、非一時的なコンピュータ読取可能な媒体は、1つ以上のプロセッサによって実行されると、処理を実施させる命令を含むことができる。いくつかの実施形態において、非一時的なコンピュータ読取可能な媒体は、悪意コードを含む電子通信からコンピュータを保護することができる。一例において、1つ以上のプロセッサは、コンピュータ読取可能な媒体に保存された命令を実行すると、以下に説明する方法および処理を実施することができる。さらに他の実施形態は、以下に説明する方法および処理を実施するための命令を使用または保存するシステムおよび機械読取可能な有形記憶媒体に関する。
少なくとも1つの実施形態において、方法は、コンピュータシステムによって実施されてもよい。この方法は、複数のリモート装置のために、企業システムへのアクセス権の変更に対応する変更イベントの種類を判断するステップを含むことができる。この方法は、変更イベントの種類に関連付けられたアクションプロセスクラスを特定するステップを含むことができる。アクションプロセスクラスは、変更イベントの種類に応じて実行すべくアクションプロセスを定義することができる。この方法は、アクセス権の変更に応じてアクションプロセスを実行するように、複数のコンピューティングノードの各々の処理負荷に基づいて、複数のコンピューティングノードから一組のコンピューティングノードを選択するステップを含むことができる。この方法は、変更イベントの種類に基づいて、複数のリモート装置内の第1組のリモート装置のために、第1変更イベントオブジェクトを設定するステップを含む。変更イベントオブジェクトは、アクセス権の変更に関する情報を示すことができる。第1変更イベントオブジェクトを設定するステップは、第1組のリモート装置に対応する変更イベントエントリに基づいて、第1変更イベントオブジェクトをインスタンス化するステップを含むことができる。第1組のリモート装置の変更イベントエントリは、第1組のリモート装置の各リモート装置を特定する情報を含むことができる。第1変更イベントオブジェクトは、第1組のリモート装置の各リモート装置を特定する情報を含むことができる。この方法は、変更イベントの種類に基づいて、複数のリモート装置のうち第2組のリモート装置のために、第2変更イベントオブジェクトを設定するステップを含む。変更イベントオブジェクトおよびアクションオブジェクトは、通常のJava(登録商標)オブジェクト(POJO: plain old Java object)であってもよい。第1組のリモート装置の各リモート装置は、第2組のリモート装置の各リモート装置とは異なってもよい。
この方法は、一組のコンピューティングノードのうち第1コンピューティングノードによって、第1変更イベントオブジェクトを用いて、第1アクションプロセスオブジェクトに応じてアクションプロセスを開始するステップを含む。第1アクションプロセスオブジェクトは、アクションプロセスクラスに基づいて設定されてもよい。この方法は、一組のコンピューティングノードのうち第2コンピューティングノードによって、第2変更イベントオブジェクトを用いて、第2アクションプロセスオブジェクトに応じてアクションプロセスを開始するステップを含む。第2アクションプロセスオブジェクトは、アクションプロセスクラスに基づいて設定されてもよい。第1アクションプロセスオブジェクトに応じて開始されたアクションプロセスと、第2アクションプロセスオブジェクトに応じて開始されたアクションプロセスとは、並行(同時)に開始されてもよい。
いくつかの実施形態において、方法は、第1組のリモート装置および第2組のリモート装置の各リモート装置に対応する変更イベントエントリを変更イベントキューに追加するステップを含むことができる。変更イベントエントリは、アクセス権の変更および変更イベントの種類を示すことができる。この方法は、第1組のリモート装置の各リモート装置からの応答の受信に応じて、変更イベントキューから、第1組のリモート装置に対応する変更イベントエントリを削除するステップを含むことができる。上記の応答は、第1組のリモート装置の各リモート装置が変更イベントの種類に対応するアクセス権の変更を適用したことを示すことができる。
いくつかの実施形態において、第1変更イベントオブジェクトを用いて、第1アクションプロセスオブジェクトに応じてアクションプロセスを開始するステップは、第1変更イベントオブジェクトを用いてアクションプロセスクラスをインスタンス化することによって、第1アクションプロセスオブジェクトを設定するステップと、第1アクションプロセスオブジェクトを用いて、アクションプロセスを呼び出すステップとを含むことができる。
いくつかの実施形態において、第1アクションプロセスオブジェクトを用いて呼び出されたアクションプロセスは、アクセス権の変更を示す命令を第1組のリモート装置の各リモート装置に送信することを含む。命令は、アクセス権の変更を適用するように第1組のリモート装置の少なくとも1つのリモート装置に指示することができる。
いくつかの実施形態において、この方法は、複数のコンピューティングノードの各々の処理負荷を計算することを含むことができる。コンピューティングノードの処理負荷は、コンピューティングノードにより開始されたアクションプロセスの数に基づいて、計算されてもよい。第1コンピューティングノードは、アクションプロセス閾値に基づいて、一組のコンピューティングノード用に選択される。いくつかの実施形態において、一組のコンピューティングノードの各コンピューティングノードは、アクションプロセス閾値を満たす一組のコンピューティングノードの各コンピューティングノードの処理負荷に基づいて、選択される。
いくつかの実施形態において、この方法は、変更イベントの種類を特定するステップを含むことができる。変更イベントの種類は、ポリシーの変更を含み、ポリシーの変更は、遵守ポリシーの変更、登録ポリシーの変更、ワークスペースポリシーの変更、装置ポリシーの変更、またはそれらの組み合わせを含むことができる。一組のリモート装置に対して実行されたアクションプロセスは、一組のリモート装置の各リモート装置に指示して、ポリシーの変更を適用することを含むことができる。
いくつかの実施形態において、この方法は、変更イベントの種類を特定するステップを含むことができる。変更イベントの種類は、アプリケーションの変更を含み、アプリケーションの変更は、複数のリモート装置に利用可能なアプリケーションのカタログにアプリケーションの追加、カタログからアプリケーションの削除、カタログ内のアプリケーションのバージョンの変更、またはそれらの組み合わせを含むことができる。一組のリモート装置に対して実行されたアクションプロセスは、一組のリモート装置の各リモート装置に指示して、アプリケーションの変更を適用することを含むことができる。
いくつかの実施形態において、この方法は、変更イベントの種類を特定するステップを含むことができる。変更イベントの種類は、企業システムへのアクセス権に関連する同期設定の変更を含むことができる。一組のリモート装置に対して実行されたアクションプロセスは、一組のリモート装置の各リモート装置に指示して、同期設定の変更を適用することを含むことができる。
少なくとも1つの実施形態において、コンピュータシステムによって、別の方法を実施することができる。この方法は、複数のリモート装置上で実行されるアクションを判断するステップを含むことができる。この方法は、複数のリモート装置のうち、第1組のリモート装置および第2組のリモート装置の各リモート装置に対応する変更イベントエントリをキューに追加することによって、複数の変更イベントエントリをキューに追加するステップとを含むことができる。第1組のリモート装置の各リモート装置は、第2組のリモート装置の各リモート装置とは異なってもよい。この方法は、第1組のリモート装置のために、第1変更イベントエントリをキューから第1コンピューティングノードに割り当てるステップを含むことができる。この方法は、第1変更イベントエントリに応じて第1メタデータオブジェクトをインスタンス化し、第1組のリモート装置の各リモート装置を特定するメタデータを第1メタデータオブジェクトに保存するステップを含むことができる。第1メタデータオブジェクトのインスタンス化は、第1コンピューティングノード上で実行されてもよい。この方法は、第1コンピューティングノードから、第1メタデータオブジェクトに基づいて第1組のリモート装置の各リモート装置上で実行すべくアクションを指示するステップを含むことができる。この方法は、第2組のリモート装置のために、第2変更イベントエントリをキューから第2コンピューティングノードに割り当てるステップを含むことができる。この方法は、第2変更イベントエントリに応じて第2メタデータオブジェクトをインスタンス化し、第2組のリモート装置の各リモート装置を特定するメタデータを第2メタデータオブジェクトに保存するステップを含むことができる。この方法は、第2コンピューティングノードから、第2メタデータオブジェクトに基づいて第2組のリモート装置の各リモート装置上で実行すべくアクションを指示するステップを含むことができる。
上記の特徴および実施形態ならびに他の特徴および実施形態は、以下の明細書、特許請求の範囲および添付の図面を参照すればより明らかになるであろう。
以下、添付の図面を参照して、本発明の例示的な実施形態を詳細に説明する。
本発明のいくつかの実施形態に従って、企業システムへのアクセス権の変更の変更イベントを管理するための装置アクセス管理システムを含むコンピューティングシステムを高レベルで示す簡略図である。 本発明のいくつかの実施形態に従って、装置アクセス管理システムを高レベルでより詳細に示す図である。 本発明のいくつかの実施形態に従って、変更イベントに応じてアクションプロセスを開始するための処理シーケンスを示す図である。 本発明のいくつかの実施形態に従って、変更イベントに応じてアクションプロセスを開始するための処理シーケンスを示す図である。 本発明のいくつかの実施形態に従って、変更イベントに関する情報を保存するためのデータ構造の一例を示す図である。 本発明のいくつかの実施形態に従って、アクションプロセスオブジェクトを表すデータ構造の一例を示す図である。 本発明のいくつかの実施形態に従って、さまざまな種類の変更イベントオブジェクトを表すデータ構造の例を示す図である。 本発明のいくつかの実施形態に従って、変更イベントを企業システムにアクセスするリモート装置に伝送するプロセスを示すフローチャートである。 一実施形態を実施するための分散システムを示す簡略図である。 本開示の一実施形態に従って、サービスをクラウドサービスとして提供することができるシステム環境の1つ以上の構成要素を示す簡略ブロック図である。 本発明の一実施形態を実施するために使用され得る例示的なコンピュータシステムを示す図である。 本発明の一実施形態を実施するために使用され得る例示的なコンピュータシステムを示す図である。
詳細な説明
以下の記載において、本発明の実施形態を完全に理解するために、説明の目的で具体的な詳細を説明する。しかしながら、これらの具体的な詳細がなくても、さまざまな実施形態を実施できることは、明らかであろう。例えば、回路、システム、アルゴリズム、構造、技術、ネットワーク、プロセス、および他の構成要素は、実施形態を不必要な詳細により不明瞭にしないために、ブロック図の形式で要素として示されることがある。図面および説明は、限定的なものではない。
なお、各実施形態は、フローチャート、フロー図、データフロー図、構造図、またはブロック図として示されるプロセスとして説明されてもよい。フローチャートは、処理を連続プロセスとして記述しているが、複数の処理は、並行にまたは同時に実行されてもよい。また、処理の順序を改変してもよい。プロセスは、その処理が完了した時点で終了するが、図面に含まれていない追加ステップを含んでもよい。プロセスは、メソッド、関数、プロシージャ、サブルーチン、サブプログラムなどに対応してもよい。プロセスが関数に対応する場合、その終了は、その関数を呼び出し関数またはメイン関数にリターンすることに対応してもよい。
本開示は、一般的に、リモート装置を用いて企業システムに対するアクセスに関連するイベントの管理に関する。より詳細には、企業システムへのアクセス権の変更に関連するイベントに関する情報をリモート装置に伝送するための技術が開示される。企業システムへのアクセス(アクセス権)は、リソースへのアクセスおよび/または企業システムへのアクセスを提供するリモート装置の安全な環境におけるアクションへのアクセスを含んでもよい。装置アクセス管理システムを実装して、企業システムにアクセスするリモート装置との通信を促進することができる。
装置アクセス管理システムは、複数のコンピューティングシステムを利用して、変更イベントに関する情報をいくつかのリモート装置に伝送することができる。本発明のいくつかの実施形態の技術的利点は、さまざまな変更イベントを定義し、所定の時間で多数のリモート装置に変更イベントを通知することができるシステムを含む。メタデータクラスを用いて異なる変更イベントを定義することによって、変更イベントの通信を促進するために、コンピューティングシステムを追加または削除することができる。殆どまたは完全に設定する必要なく、コンピューティングシステムを追加して、変更イベントの種類に対応するメタデータクラスに応じて定義された変更イベントの種類に基づいて、変更イベントに関する情報を通信することができる。装置アクセス管理システムは、変更イベントの種類に基づいて、変更イベントに関する情報(例えば、企業システムへのアクセス権の変更)を管理することができる。変更イベントの種類の例として、ポリシーの変更、アプリケーションの変更、および設定の変更を含むがこれらに限定されない。変更イベントに関する情報は、変更イベントの種類に基づいて、オブジェクト(「変更イベントオブジェクト」)、例えば通常のJava(登録商標)オブジェクト(plain old Java object)として実装されたデータ構造に保存されてもよい。異なる変更イベントの種類に応じて、メタデータクラスを定義することができる。メタデータクラスは、そのメタデータクラスに基づいて定義された変更イベントオブジェクトに保存することができる1つ以上のフィールド情報を定義することができる。新規または異なる種類の変更イベントが定義される場合、新たなメタデータクラスを定義することができる。変更イベントの種類に基づいて、変更イベントオブジェクトを作成して、変更イベントに関する情報を保存することができる。
変更イベントに関する情報を永続的ものにすることにより、変更イベントに影響されるリモート装置に情報を確実に伝送するために、装置アクセス管理システムは、キュー(変更イベントキュー)を実装することができる。変更イベントキューは、変更イベントに応じて、各変更イベントオブジェクトに対応する情報(例えば、変更イベントエントリ)を保存することができる。装置アクセス管理システムは、変更イベントオブジェクト内の情報をリモート装置に送信し、変更イベントを伝送することによって、装置に変更イベントを通信することができる。いくつかの実施形態において、装置アクセス管理システムは、通知サービス(例えば、プッシュ通知サービス)を用いて、変更イベントをリモート装置に伝送することができる。リモート装置は、通知サービスと通信することによって、変更イベントに関する通知を受信することができる。変更イベントエントリは、変更イベントが変更イベントエントリに対応する変更イベントに影響される全ての装置に通知されるまで、変更イベントキューに残されてもよい。いくつかの実施形態において、変更イベントの通信を再試行するために、変更イベントをリモート装置に再送信してもよい。
本発明のいくつかの実施形態の技術的利点は、変更イベントに関する情報を、変更イベントに影響されるリモート装置に確実に配信することを含む。装置アクセス管理システムは、変更イベントキューを用いて、変更イベントおよび変更イベントの順序に関する情報を管理することができる。一部のリモート装置は、さまざまな理由で、企業システムとの接続を失うことがある。変更イベントに影響される全てのリモート装置が通知されるまで、変更イベントが変更イベントキューに残るため、リモート装置は、変更イベントを発生した後でも、変更イベントに関する情報を取得することができる。他の変更イベントの通信を遅らせることなく、定期的に変更イベントをリモート装置に通知することができる。
本発明のいくつかの実施形態の技術的利点は、変更イベントの種類に基づいて異なるアクションプロセスを定義することを可能にするシステムを含む。いくつかの実施形態において、変更イベントの種類に応じて、アクションプロセスを定義することができる。アクションプロセスは、アクションプロセスクラスによって定義されたルーチンであってもよい。アクションプロセスに応じてアクションプロセスクラスを定義することによって、変更イベントを管理するために追加されたコンピューティングリソースを拡張するためのコンピューティングシステムは、追加の手動設定をする必要なく、アクションプロセスを容易に判断することができる。システムにおいて通知される装置の数が増えた場合、わずかな手動設定でシステムを簡単に拡張することによって、変更イベントを処理することができ、リモート装置に変更イベントを伝送することができる。アクションプロセスは、変更イベントの種類に応じて開始することができる。変更イベントの種類は、その変更イベントの種類を表すアクションプロセスクラスに対応する。アクションプロセスクラスは、変更イベント(例えば、変更イベントオブジェクト)に関する情報を、その変更イベントに対応する変更に影響されるリモート装置に伝送することを含むことができる。リモート装置に伝送された情報は、変更イベントに基づいてアクセスを調整するようにリモート装置に指示する命令またはコマンドを含むことができる。
いくつかの実施形態において、装置アクセス管理システムは、変更イベントに対応するアクセスプロセスを実行するために、複数のコンピューティングノードを利用することができる。変更イベントが通知されるリモート装置の数が多い場合、複数のコンピューティングノードは、アクションプロセスを実行することができる。例えば、変更イベントに影響されるリモート装置が何千台もあると判断した場合、複数のコンピューティングノードに、変更イベントを異なるリモート装置に通知するアクションプロセスを実行することを要請することができる。各コンピューティングノードは、アクションプロセスの異なるインスタンスを実装することによって、変更イベントを異なる組のリモート装置に伝送することができる。複数のコンピューティングノードを使用すると、多くの技術的利点が得られる。単一コンピューティングノードで全てのリモート装置のアクションプロセスを実行するのではなく、複数のコンピューティングノードを使用することによって、変更イベントに影響される異なるリモート装置に対応するアクションプロセスを実行する時の負荷を分散することができる。リモート装置に対応するアクションプロセスを実行するように指定されたコンピューティングノードは、各リモート装置が変更イベントに関する通知を受信するまで、変更イベントを管理することができる。いくつかの実施形態において、リモート装置は、変更イベントを承認したことを示す情報をコンピューティングノードに送信することができる。アクションプロセスを複数のコンピューティングノード間で分散することにより、変更イベントをリモート装置に伝送するパフォーマンス効率を改善することができる。アクションプロセスの処理負荷を複数のコンピューティングノード間に分散することができるため、1つのコンピューティングノードは、変更イベントに影響される全てのリモート装置のアクションプロセスを実行しなくても済む。コンピューティングノードが変更イベントをリモート装置に通知できない場合、他のコンピューティングノードの処理に影響を及ぼすことなく、異なるコンピューティングノードを利用して、続けてリモート装置に通知することができる。したがって、クラスを用いて変更イベントおよびアクションプロセスを定義することによって、使用可能な処理リソースを有するコンピューティングノードは、変更イベントに関する情報を伝送することができる。
図1は、本発明のいくつかの実施形態に従って、企業システムへのアクセス権の変更の変更イベントを管理するための装置アクセス管理システムを含むコンピューティングシステム100を高レベルで示す簡略図である。具体的には、コンピューティングシステム100を実装することによって、企業システムに遠隔にアクセスする装置(例えば、リモート装置)との通信を管理することができ、企業システムへのアクセス権に関連する情報(例えば、変更イベント)をこれらの装置に通知することができる。図1に示された実施形態は、単なる例示であり、請求される本発明の実施形態を不当に限定することを意図していない。当業者であれば、多くの変形例、代替例および修正例の存在が分かるであろう。
コンピューティングシステム100は、企業に実装された企業システムの一部であってもよい。コンピューティングシステム100は、企業システムによって提供された1つ以上のリソースへのアクセスを提供する企業コンピュータシステム150を含むことができる。リソースの例は、アプリケーション、サービス、データ、またはこれらの組み合わせを含んでもよい。リソースは、企業コンピュータシステム150によって提供されてもよく、または第三者プロバイダにホストされ、企業コンピュータシステム150によってリモート装置に提供されてもよい。
ユーザは、1つ以上のリモート装置、例えばリモート装置108−1、108−2、・・・108−N(まとめてリモート装置108という)を用いて、企業コンピューティングシステム150にアクセスすることができる。リモート装置108を用いて企業コンピュータシステム150に対するアクセスは、装置アクセス管理システム120によって制御および管理することができる。リモート装置108の各々は、セキュアコンテナアプリケーションを含むことができる。セキュアコンテナアプリケーションは、企業コンピュータシステム150にアクセスするように、装置アクセス管理システム120と通信するための安全な実行環境を提供することができる。リモート装置108は、装置アクセス管理システム120と通信することによって、企業コンピュータシステム150により提供されたリソースへのアクセス権を取得することができる。装置アクセス管理システム120によって制御された企業コンピュータシステム150へのアクセスは、リモート装置上のリソースへのアクセスおよび/またはセキュアコンテナアプリケーションにおけるアクションを実行するためのアクセスを含むことができる。
装置アクセス管理システム120は、企業コンピュータシステム150にアクセスするためのリモート装置108の認証および登録を管理することができる。いくつかの実施形態において、装置アクセス管理システム120は、リモート装置108を用いて企業コンピュータシステム150へのアクセスに関連する変更イベントを管理することができる。具体的には、装置アクセス管理システム120は、リモート装置108による企業コンピュータシステム150へのアクセス権の変更に関連するイベントの情報をリモート装置108に通信することができる。
コンピューティングシステム100は、異なる通信ゾーンにそれぞれ対応する複数のゾーンに規定されてもよい。いくつかの実施形態において、リモート装置108は、外部通信ゾーン(「外部ゾーン」)102に配置されてもよい。装置アクセス管理システム120および企業コンピュータシステム150は、グリーン通信ゾーン(「グリーンゾーン」)106に配置されてもよい。グリーンゾーン106は、1つ以上の安全なネットワーク(例えば、企業ネットワーク)を含むことができる。グリーンゾーン106は、企業コンピューティング環境のファイアウォールの内側に配置されてもよい。外部ゾーン102は、非安全な外部ネットワーク(例えば、インターネット)の一部であってもよい。例えば、外部ゾーン102は、グリーンゾーン106のファイアウォールの外側に配置されてもよい。
いくつかの実施形態において、リモート装置108は、DMZ(Demilitarized Zone、非武装地帯)104に配置されたセキュリティアクセスシステム110を介して、グリーンゾーン106内のコンピュータシステムと通信することができる。DMZ104の例として、企業DMZが挙げられる。セキュリティアクセスシステム110は、リモート装置108と装置アクセス管理システム120との間の安全な通信を容易にすることができる。例えば、セキュリティアクセスシステム110は、リモート装置108および装置アクセス管理システム120のうちいずれか一方上のセキュアコンテナアプリケーションと、安全な通信接続(例えば、トンネル)を形成することができる。
セキュリティアクセスシステム110は、リモート装置のユーザを認証するサービスを提供することができる。セキュリティアクセスシステム110は、ユーザアクセス管理システム130と通信して、リモート装置のユーザを認証するための認証を取得することができる。例えば、セキュリティアクセスシステム110は、企業コンピュータシステム150によって提供されたリソースに対するシングルサインオン(SSO)認証を容易にするために、ユーザアクセス管理システム130から認証トークンを取得することができる。一例において、セキュリティアクセスシステム110は、Oracle(登録商標)モバイルセキュリティアクセスサーバに含まれてもよい。Oracleモバイルセキュリティアクセスサーバは、Oracle社により提供されるOracleモバイルセキュリティスイートの一部である。
リモート装置108は、エンドポイント装置、装着型装置(例えば、スマートウォッチ)、消費者装置(例えば、電気製品)、パーソナルコンピュータ、デスクトップ、IOT(Internet of Things:インターネット端末)装置、ラップトップ、携帯電話、タブレット、コンピュータ端末などのモバイル装置または携帯式装置、および他の種類の装置を含むがこれらに限定されないさまざまな種類の装置であってもよい。いくつかの実施形態において、リモート装置は、コンピューティング装置(例えば、モバイル装置、IOTゲートウェイまたはIOTエッジ装置)上にホストされたアプリケーションであってもよい。いくつかの実施形態において、リモート装置は、別の装置上で動作しているエンドポイント、例えばワークスペースであってもよい。ワークスペースは、ワークスペースを動かす装置上の企業データおよびアプリケーションへのアクセスを提供する制御環境であってもよい。例えば、セキュアコンテナアプリケーションは、1つ以上のリモート装置108上で動作することができる。リモート装置の例として、企業コンピュータシステム150に関連付けられた企業から支給される装置(すなわち、企業装置)、または企業コンピュータシステム150にアクセスするために使用されるユーザの個人装置(「BYOD装置」)を含むがこれらに限定されない。
リモート装置は、その識別に関する情報、例えばMAC(メディアアクセス制御)アドレス、一意の装置識別子(UDID)、または他の装置識別子を保存することができる。リモート装置は、そのリモート装置に関するメタデータ属性を保存することができる。リモート装置のメタデータ属性は、リモート装置上のオペレーティングシステムの種類、オペレーティングシステムのバージョン、リモート装置が他の装置上にホストされる場合のホスト識別子、装置の種類、IMEI(国際携帯電話端末識別)番号、リモート装置の型番、リモート装置のサービスプロバイダ(例えば、キャリア)、装置名、装置状態、またはリモート装置に関する他の情報を含むことができる。
特定の実施形態において、リモート装置は、1つ以上のアプリケーションを実施する(例えば、実行および動作する)ように構成することができる。例えば、1つ以上のリモート装置108は、「コンテナ化」アプリケーション、すなわち、特定のコンテナに安全に接続されたアプリケーションを保持するように設計されたセキュアコンテナアプリケーションを実行することができる。アプリケーションの例として、コンピュータアプリケーション、クライアントアプリケーション、専用クライアントアプリケーション、ワークスペース、コンテナなどを含むがこれらに限定されない。いくつかの実施形態において、1つ以上のネットワークを介して、リモート装置に実装されたアプリケーションにアクセスすることができ、またはそれを作動することができる。
リモート装置は、ハードウェア、ファームウェア、ソフトウェア、またはそれらの組み合わせを用いて実装され得るコンピューティング装置を含むことができる。リモート装置は、メモリと、1つ以上のプロセッサとを含むことができる。メモリは、プロセッサに結合されてもよく、命令を保存してもよい。これらの命令は、プロセッサによって実行されると、本開示に開示された1つ以上の処理、方法またはプロセスをプロセッサに実施させる。メモリは、コンピュータ読取可能な記憶媒体のような任意種類の永続記憶装置を用いて、実装されてもよい。
いくつかの実施形態において、リモート装置108は、1つ以上のさまざまな種類の通信ネットワークを介して、装置アクセス管理システム120および企業コンピュータシステム150に通信可能に接続されてもよい。通信ネットワークの例として、例えば、インターネット、ワイドアリアネットワーク(WAN)、ローカルエリアネットワーク(LAN)、イーサネット(登録商標)ネットワーク、公衆または私設ネットワーク、有線ネットワーク、無線ネットワーク、およびそれらの組み合わせを含むがこれらに限定されない。異なる通信プロトコルを用いて、IEEE 802.1XXプロトコルスイート、TCP/IP、IPX、SAN、AppleTalk、Bluetooth(登録商標)、および他のプロトコルのような有線プロトコルおよび無線プロトコルの両方を含む通信を促進することができる。
装置アクセス管理システム120は、コンピュータシステムに実装することができる。コンピュータシステムは、汎用コンピュータ、(例えば、PCサーバ、UNIX(登録商標)サーバ、ミッドレンジサーバ、メインフレームコンピュータ、およびラックマウントサーバなどを含む)専用サーバコンピュータ、サーバファーム、サーバクラスタ、分散型サーバ、または任意の他の適切な配置および/またはそれらの組み合わせであり得る1つ以上のコンピュータおよび/またはサーバを含むことができる。例えば、装置アクセス管理システム120は、サーバ122を含むことができる。全てまたは一部のサーバ122は、同様の地理上の位置または異なる地理上の位置に配置されてもよい。装置アクセス管理システム120を構成するコンピューティング装置は、任意のオペレーティングシステム、または、HTTPサーバ、FTPサーバ、CGIサーバ、Java(登録商標)サーバ、データベースサーバを含むさまざまな追加のサーバアプリケーションおよび/またはミッドティアアプリケーションのいずれかを実行することができる。例示的なデータベースサーバは、Oracle(登録商標)、Microsoft(登録商標)などから市販されているものを含むがこれらに限定されない。装置アクセス管理システム120は、ハードウェア、ファームウェア、ソフトウェア、またはそれらの組み合わせを用いて実装することができる。一例において、装置アクセス管理システム120は、Oracleモバイルセキュリティアクセスマネージャに含まれてもよい。Oracleモバイルセキュリティアクセスマネージャは、Oracle社により提供されるOracleモバイルセキュリティスイートの一部である。
装置アクセス管理システム120は、少なくとも1つのメモリ、1つ以上の処理ユニット(またはプロセッサ)、および記憶装置を含むことができる。処理ユニットは、ハードウェア、コンピュータ実行可能な命令、ファームウェア、またはそれらの組み合わせで、適切に実現されてもよい。処理ユニットのコンピュータ実行可能な命令またはファームウェア実装は、本開示に説明されたさまざまな処理、機能、方法および/またはプロセスを実行するのに任意の適切なプログラミング言語で書かれたコンピュータ実行可能な命令または機械実行可能な命令を含むことができる。装置アクセス管理システム120内のメモリは、処理ユニットにロード可能且つ実行可能なプログラム命令、およびこれらのプログラムの実行中に生成されたデータを保存することができる。メモリは、揮発性メモリ(例えば、ランダムアクセスメモリ(RAM))および/または不揮発性メモリ(例えば、読出専用メモリ(ROM)、フラッシュメモリなど)であってもよい。メモリは、コンピュータ読取可能な記憶媒体のような任意種類の永続記憶装置を用いて実現されてもよい。いくつかの実施形態において、コンピュータ読取可能な記憶媒体は、悪意コードを含む電子通信からコンピュータを保護するように構成されることができる。コンピュータ読取可能な記憶媒体は、プロセッサ上で実行されると、本開示に説明された処理をプロセッサに実行させる命令を保存することができる。
装置アクセス管理システム120は、追加記憶装置を含んでもよく、またはそれらに連接されてもよい。追加記憶装置としては、メモリ記憶装置または他の非一時的なコンピュータ読取可能な記憶媒体などの任意種類の永続記憶装置を用いて実現されてもよい。いくつかの実施形態において、ローカル記憶装置は、1つ以上のデータベース(例えば、文章データベース、関係データベース、または他の種類のデータベース)、1つ以上のファイルストア、1つ以上のファイルシステム、またはそれらの組み合わせを含んでもよく、それらを実装してもよい。例えば、装置アクセス管理システム120は、1つ以上のデータストア、例えばデータストア160に連接されてもよく、それを含んでもよい。メモリおよび追加記憶装置の両方は、コンピュータ読取可能な記憶媒体の例である。例えば、コンピュータ読取可能な記憶媒体は、コンピュータ読取可能な命令、データ構造、プログラムモジュールまたは他のデータなどの情報を保存するための任意の方法または技術で実現される揮発性または不揮発性媒体、取り外し可能または不可能な媒体を含むことができる。
いくつかの実施形態において、装置アクセス管理システム120は、企業コンピュータシステム150にアクセスするためのリモート装置108の登録および認証を管理することができる。企業システム120にアクセスするように登録されたユーザIDで、リモート装置108を登録することができる。ユーザIDを用いてユーザを認証すると同様に、リモート装置を認証するために使用されたID(識別子)を用いて、リモート装置を登録することができる。IDは、リモート装置に提供されてもよく、そのリモート装置からの全てのさらなる通信を認証するために使用されてもよい。
装置アクセス管理システム120は、リモート装置108に関する情報をデータストア160の装置レジストリ162に保存することができる。この情報は、ユーザのIDと、そのIDで企業コンピュータシステム150にアクセスするように登録された1つ以上のリモート装置の各リモート装置の識別子との間の関係を示すことができる。装置アクセス管理システム120は、企業コンピュータシステム150にアクセスするためのユーザIDでリモート装置を登録するために、リモート装置に証明書を発行することができる。要求がリモート装置のIDに関連付けられたユーザIDからのものである場合、装置アクセス管理システム120は、そのリモート装置がコンピュータシステム150にアクセスすることを許可する。
装置アクセス管理システム120は、ID管理システム140に通信可能に接続されてもよい。ID管理システム140は、企業コンピュータシステム150のユーザの存続期間および企業コンピュータシステム150からアクセスできるリソースのために設定された関連するアカウントの存続期間を管理することができる。ID管理システム140は、企業コンピュータシステム150にアクセスするために定義された役割(例えば、ユーザグループ)を管理することができる。いくつかの実施形態において、ID管理システム140は、企業コンピュータシステム150にアクセスするために定義された役割に関するポリシーを管理することができる。ID管理システム140の例は、Oracle社によって提供されたOracleIDマネージャを含むことができる。
ユーザアクセス管理システム130は、装置アクセス管理システム120に通信可能に接続されてもよい。ユーザアクセス管理システム130は、範囲の管理、認証トークンの発行、更新トークンの発行、およびアクセストークンの発行を処理することができる。例えば、ユーザアクセス管理システム130は、セキュリティアクセスシステム110からの、リモート装置108によるアクセス要求を処理することができる。いくつかの実施形態において、ユーザアクセス管理システム130は、企業コンピュータシステム150によって提供されたリソースにアクセスするためのアクセスポリシーを管理することができる。アクセス管理システム130は、Oracle社によって提供されたOracleアクセスマネージャを含むことができる。
いくつかの実施形態において、装置アクセス管理システム120は、企業コンピュータシステム150にアクセスするように登録されたリモート装置108の設定情報を管理することができる。設定情報の例としては、装置の設定情報、インストール設定情報、同期設定情報、通信設定情報、アプリケーションの設定情報、または企業システムのアクセスに関連するその他の設定情報を含むがこれらに限定されない。設定に関する情報は、データストア160の設定データストア168に保存されてもよい。一部の設定情報は、リモート装置108から受信した情報に対応することができる。一部のリモート装置108に関する設定情報(例えば、装置の設定情報およびインストール設定情報)は、登録のために検証され、登録されたリモート装置108としての準拠性がチェックされる。いくつかの実施形態において、設定情報(例えば、同期設定情報)を一部のリモート装置108に送信することによって、リモート装置108上のセキュアコンテナアプリケーションを用いて、装置アクセス管理システム120および企業コンピュータシステム150との同期通信を構成することができる。
リモート装置108を用いて企業コンピュータシステム150に対するアクセスは、1つ以上のポリシーを用いて管理することができる。ポリシーは、データストア160のポリシーストア170に保存され、そこからアクセスされてもよい。ポリシーの例としては、登録ポリシー、遵守ポリシー、ワークスペースポリシー、および装置ポリシーを含むがこれらに限定されない。企業システムの管理者が、ポリシーを定義することができる。装置アクセス管理システム120は、リモート装置108がポリシーを遵守しているか否かを判断することができる。これらのポリシーは、リモート装置による企業コンピュータシステム150のアクセスを規定することができる。いくつかの実施形態において、装置アクセス管理システム120は、ポリシーに基づいて、是正措置を実行して、リモート装置によるアクセスを調整することができる。装置アクセス管理システム120は、命令をリモート装置に送信することによって、リモート装置に指示して、ポリシーの遵守に応じて是正措置を取ることができる。通知をリモート装置108に送信することによって、これらのリモート装置に、ポリシーの遵守および/またはポリシーの違反および遵守期間を知らせることができる。
上述したように、装置アクセス管理システム120は、変更イベント(例えば、アクセス権の変更に関連するイベント)に関する情報を、企業コンピュータシステム150にアクセスするために登録されたリモート装置108に伝送することを管理することができる。変更イベントに関する情報は、データストア160の変更イベントデータストア164に保存され、そこからアクセスされてもよい。いくつかの実施形態において、変更イベントに関する情報は、企業コンピュータシステム150、ID管理システム140、および/またはユーザアクセス管理システム130から受信することができる。変更イベントに関する情報は、管理者が操作しているコンピューティングシステムから受信することができる。
変更イベントの特定に際し、装置アクセス管理システム120は、変更イベントの種類を特定することができる。装置アクセス管理システム120は、変更イベントデータストア164から利用された変更イベントに関する情報に基づいて、変更イベントの種類を判断することができる。変更イベントの種類の例として、ポリシーの変更、アプリケーションの変更、および設定の変更を含むがこれらに限定されない。変更イベントの種類の他の例として、リモート装置上で実行されるセキュアコンテナアプリケーション内のリモート装置上のリソースへのアクセスの変更、およびセキュアコンテナアプリケーション内に実行可能なアクションの変更を含むがこれらに限定されない。例えば、アクションは、セキュアコンテナアプリケーション内のアプリケーションからセキュアコンテナアプリケーションコンテナの外部のアプリケーションにコピーペースト処理を実行することを含むことができる。いくつかの実施形態において、変更イベントは、リモート装置(例えば、リモート装置上で実行するセキュアコンテナアプリケーション)上で実施され得るアクセス権の変更に対応し得る。リモート装置を変更せず、装置アクセス管理システム120によってアクセス権の変更を実施した場合、そのアクセス権の変更は、リモート装置に伝送されなくてもよい。したがって、変更イベントは、リモート装置上で実施できる変更に対応し得る。変更イベントの種類は、図5および図7を参照して後述される。装置アクセス管理システム120は、その変更に合致する変更イベントクラスに基づいて、変更に対応する変更イベントの種類を判断することができる。
装置アクセス管理システム120は、永続的な変更イベントキュー124を実装して、企業システムへのアクセス権の変更に対応する変更イベントを管理することができる。変更イベントに関する情報は、変更イベントキュー124上の変更イベントエントリに配置され、1つ以上のサーバ122によって処理される。サーバ122を利用して、変更イベントに応じて企業コンピュータシステム150へのアクセス権を管理するためのアクションプロセスを実行することができる。変更イベントエントリは、変更イベントに影響される各リモート装置に変更イベントが通知されるまで削除されないように、変更イベントキュー124上に永続的に残されてもよい。いくつかの実施形態において、リモート装置は、サーバ122のうち1つのサーバと通信することによって、変更イベントに関する通知を受信した承認を示すメッセージを送信することができる。リモート装置と通信するサーバは、通知を伝送したサーバである。承認は、変更イベントに関する通知を受信したことを示すことができる。装置アクセス管理システム120は、変更イベントキュー124を用いて、変更イベントに影響される各リモート装置に変更イベントを確実に通知するように、変更イベントを管理することができる。場合によって、リモート装置は、変更イベントに基づいて企業コンピュータシステム150へのアクセス権を調整したときに、変更イベントの受信を示す承認を通信することができる。
いくつかの実施形態において、変更イベントに応じて、変更イベントオブジェクト(例えば、通常のJava(登録商標)オブジェクト)をインスタンス化することができる。変更イベントの種類に応じて特定された変更イベントクラスに基づいて、変更イベントオブジェクトをインスタンス化することができる。変更イベントオブジェクトは、変更イベントに関する情報を保存することができる。変更イベントクラスは、変更イベントの種類に対応する変更イベントオブジェクトに保存される情報の種類を定義することができる。変更イベントクラスを特定する情報を用いて、リモート装置108を設定することができる。変更イベントクラスを定義することによって、リモート装置およびサーバ122は、変更イベントクラスによって定義された情報に基づいて、変更イベントの種類および変更イベントに対応する情報を特定することができる。
装置アクセス管理システム120は、変更イベントキュー124に特定された各変更イベントに応じてアクションプロセスを実行するように、1つ以上のサーバ122をスケジュールすることができる。アクションプロセスは、変更イベントに関する情報を、変更イベントに影響されるリモート装置に伝送することを含む。変更イベントに関する情報は、リモート装置に非同期に伝送されてもよい。場合によって、同一のリモート装置に影響する複数の変更イベントが発生することがある。この場合、非同期方式で各変更イベントを同一のリモート装置に伝送してもよい。しかしながら、各変更イベントは、変更イベントの発生順序に依存する場合、発生順序で伝送されてもよい。
数千のユーザが企業コンピュータシステム150にアクセスする場合、単一のサーバは、変更イベントに関する情報を全てまたは多くの変更イベントに影響されるリモート装置108に伝送することによって、過負荷になる可能性がある。装置アクセス管理システム120は、サーバ122の処理負荷を判断することによって、変更イベントに関する情報を伝送するために利用できる一組のサーバ122を決定することができる。アクションプロセスを実行するようにいくつかのサーバ122をスケジュールすることによって、他のアクションプロセスを処理することにより過負荷になっている一部のサーバ122の処理負荷を軽減することができる。
変更イベントを通信するための処理効率をさらに改善するために、装置アクセス管理システム120は、変更イベントに影響される異なる組のリモート装置のためのアクションプロセスを実行するように、サーバ122内の複数のサーバを要請することができる。サーバ122上のスケジューリング処理については、図2〜図4を参照して後述される。サーバ122に基づいて、複数のコンピューティングノードを作動することができる。図2〜図4は、企業システムへのアクセス権の変更に応じて、リモート装置上で措置を取るために使用され得る装置アクセス管理システム120および複数のコンピューティングノードを示している。図2〜図4を参照して説明される実施形態は、企業システムへのアクセス権の変更を通信し、これらの変更に応じてリモート装置上で措置を取る効率を改善するために、企業アクセス管理システム120が実施できる技術を示している。図2〜図4はさらに、変更をリモート装置に伝送するための時間を短縮するように、複数のコンピューティングノードの使用を実現する技術を示している。
変更イベントキュー124上の変更イベントエントリの各々に対して、装置アクセス管理システム120は、1つ以上のサーバ122に要請して、アクションプロセスを開始することができる。変更イベントエントリによって示される変更イベントの種類に基づいて、アクションプロセスを特定することができる。アクションプロセスは、アクションプロセスクラスによって定義されるルーチンであってもよい。アクションプロセスは、変更イベントの種類に応じて開始することができる。変更イベントの種類は、その種類の変更イベントを表すアクションプロセスクラスに対応する。アクションプロセスクラスは、変更イベント(例えば、変更イベントオブジェクト)に関する情報を、その変更イベントに対応する変更に影響されるリモート装置に伝送することを含むことができる。リモート装置に伝送される情報は、変更イベントに基づいて企業コンピュータシステム150へのアクセス権を調整するようにリモート装置に指示する命令またはコマンドを含むことができる。図6を参照して、アクションプロセスの例を説明する。
図2を参照して、図2は、実施形態に従って、装置アクセス管理システム120を高レベルでより詳細に示す図である。図2に示すように、装置アクセス管理システム120は、いくつかのサブシステムおよび/またはモジュール、例えば、変更イベントハンドラ232、アクションプロセッサ234、スケジューラ236、および装置マネージャ240を含むことができる。サブシステムおよび/またはモジュールは、ソフトウェア(例えば、プロセッサによって実行可能なプログラムコードおよび命令)、ハードウェア、またはそれらの組み合わせで実現されてもよい。いくつかの実施形態において、ソフトウェアは、メモリ(例えば、非一時的コンピュータ読取可能な媒体)、メモリ装置、または他の物理メモリに保存することができ、1つ以上の処理ユニット(例えば、1つ以上のプロセッサ、1つ以上のプロセッサコア、または1つ以上のGPU)によって実行することができる。
企業システム(例えば、企業コンピュータシステム150)へのアクセスを可能にするBYODを採用することによって、多くのユーザは、自分のリモート装置を用いて、企業システムにアクセスすることができる。例えば、第1ユーザは、エンドポイント装置210−1、・・・210−N(まとめてエンドポイント装置210という)を使用して、企業システムにアクセスすることができる。同様に、第2ユーザは、エンドポイント装置212−1、・・・212−N(まとめてエンドポイント装置212という)を使用して、企業システムにアクセスすることができる。図2は、企業システムにアクセスするために使用され得るいくつかのリモート装置を示しているが、数千のユーザは、何千台のリモート装置を用いて、企業システムにアクセスすることができる。装置アクセス管理システム120を含むコンピューティングシステム(例えば、コンピューティングシステム100)を用いて、企業システムへのアクセス権を管理することができる。何千台のリモート装置が企業システムにアクセスする場合、企業システムへのアクセス権の変更を管理することは困難である。変更を遵守することを確認するために、発生した各変更を複数の装置に通知する必要がある。
アクセス権の変更を多くのリモート装置に伝送するという難題を克服するために、装置アクセス管理システム120は、コンピューティングノード222−1、コンピューティングノード222−2、・・・コンピューティングノード222−N(まとめてコンピューティングノード222という)を利用することができる。コンピューティングノード222は、図1のサーバ122に実装されてもよい。図1のサーバ122を用いて、コンピューティングノード222を操作することができる。コンピューティングノード222の各々は、装置アクセス管理システム120に含まれてもよく、装置アクセス管理システム120に通信可能に接続されてもよい。以下で説明するように、複数のコンピューティングノードを利用して、異なるリモート装置に対して1つ以上のアクションプロセスを実行することができる。
装置マネージャ240は、企業システムにアクセスするリモート装置の登録および遵守を管理することができる。装置マネージャ240は、装置レジストリ162内のリモート装置に関する情報をチェックすることによって、変更イベントに影響されるリモート装置を監視および判断することができる。いくつかの実施形態において、装置マネージャ240は、企業システムにアクセスするリモート装置の登録に基づいて、リモート装置が変更イベントに影響されるか否かを判断することができる。
変更イベントハンドラ232は、リモート装置、例えばエンドポイント装置210およびエンドポイント装置212のために、企業システムへのアクセス権の変更に対応する変更イベントを判断することができる。変更イベントに関する情報は、変更イベントデータストア164から取得することができる。変更イベントハンドラ232は、変更に対応する変更イベントクラスに基づいて、変更イベントの種類を特定することができる。
変更イベントハンドラ232は、変更イベントに関する情報を保存するために、データ構造(例えば、変更イベントエントリ)を作成することができる。例えば、変更イベント1のために変更イベントエントリ202を作成し、変更イベント2のために変更イベントエントリ204を作成し、変更イベント3のために変更イベントエントリ206を作成することができる。変更イベント1〜3は、同一の時間に発生してもよく、異なる時間に発生してもよい。変更イベントエントリを変更イベントキュー124に追加することができる。1つ以上のコンピューティングノード222は、変更イベントに対応するアクションプロセスを実行するために、後でこの変更イベントキュー124を利用することができる。上記で説明したように、変更イベントを永続的に管理するように変更イベントキュー124を実装することによって、企業システムへのアクセス権の変更を、変更に影響されるリモート装置に確実に通知することができる。
変更イベントキュー124は、連結リスト行列、先入先出(FIFO)行列、または行列として実装される他の種類のデータ構造を含むがこれらに限定されない異なる種類の行列のうち1つまたはそれらの組み合せとして実装されてもよい。いくつかの実施形態において、変更イベントキュー124は、対応関係をもって変更イベントエントリを保存するデータベースとして実装されてもよい。いくつかの実施形態において、直列化法を用いて、変更イベントエントリを変更イベントキュー124に追加または削除することができる。直列化法の例として、拡張マークアップ言語(XML)直列化、または他の種類の直列化技術を含むがこれらに限定されない。
変更イベントエントリは、その変更イベントエントリによって特定される変更イベントに対応するアクションプロセスを実行するように1つ以上のコンピューティングノード222をスケジュールすることによって、処理されてもよい。いくつかの実施形態において、変更イベントキュー124は、変更イベントエントリを変更イベントキュー124に追加した順序に基づいたFIFO順序に従って、処理されてもよい。いくつかの実施形態において、複数の変更イベントエントリは、1つ以上のコンピューティングノード222によって、並列に処理されてもよい。例えば、変更イベントエントリ204は、変更イベントエントリ202を処理する前に処理されてもよい。変更イベントエントリ202に対応する変更イベントが変更イベントエントリ202に特定されたリモート装置に通知されていない可能性があるため、変更イベントエントリ202の前に、変更イベントエントリ204を処理してもよい。変更を変更イベントエントリに特定された各リモート装置に通知するまで、変更イベントエントリは、変更イベントキュー124に残されてもよい。
変更イベントエントリ内の情報は、変更イベントの種類、企業システムへのアクセス権の変更、および変更に影響されるリモート装置の装置識別子を含むことができる。変更イベントエントリは、変更イベントを通知すべく一組のリモート装置を示すことができる。変更イベントエントリの例は、図5を参照して後述される。以下でさらに説明するように、コンピューティングノードは、変更イベントに応じてアクションプロセスを実行するように要求されることがある。アクションプロセスを実行するときに、コンピューティングノードは、変更イベントキュー124の変更イベントエントリを利用して、変更イベントに関する情報を判断することができる。
アクションプロセッサ234は、変更イベントの種類に基づいて、実行すべくアクションプロセスを判断することができる。いくつかの実施形態において、1つ以上の変更イベントクラスに対応して、アクションプロセスクラスを定義することができる。変更イベントに対して、アクションプロセッサ234は、変更イベントクラスに基づいてアクションプロセスクラスを判断することができる。変更イベントクラスは、変更イベントの種類に基づいて判断されてもよい。いくつかの実施形態において、データストア160は、アクションプロセスクラスと一種類以上の変更イベントとの間の関連を示す情報を保存することができる。アクションプロセスをスケジュールするために、コンピューティングノードは、アクションプロセスクラスのインスタンス(例えば、図6を参照して後述するアクションプロセスオブジェクト)を設定することができる。アクションプロセスオブジェクトを使用して、アクションプロセスクラスに対応するアクションプロセス(例えば、ルーチン)を呼び出すことができる。
スケジューラ236は、変更イベントキュー124上の変更イベントに対応するアクションプロセスを実行するように、1つ以上のコンピューティングノード222に指示することができる。いくつかの実施形態において、スケジューラ236は、変更イベントキュー124上の各変更イベントに対応するアクションプロセスを実行するように、異なるコンピューティングノードを要請することができる。
いくつかの実施形態において、スケジューラ236は、各コンピューティングノード222の処理負荷を評価することができる。コンピューティングノードの処理負荷は、そのコンピューティングノードの処理能力および/またはそのコンピューティングノードによって処理される作業の現在量を示す値に基づいて定義することができる。いくつかの実施形態において、1つ以上の第三者システムを用いて、コンピューティングノードの処理負荷を示す値を決定することができる。例えば、1つ以上の負荷分散システムを実装して、コンピューティングノード222の負荷を決定することができる。
さまざまな測定値を計算することによって、処理負荷を決定することができる。これらの測定値は、個別にまたはまとめて、コンピューティングノードの処理負荷を示すことができる。一例において、コンピューティングノードが管理できる変更イベントの数を示す値を計算することによって、コンピューティングノードの処理負荷を決定することができる。別の例において、コンピューティングノードによって実行されているアクションプロセスの数を計算することによって、コンピューティングノードの処理負荷を決定することができる。コンピューティングノードと通信しているリモート装置の数に基づいて、コンピューティングノードの処理負荷を決定することができる。
スケジューラ236は、変更イベントエントリに対応するアクションプロセスを実行できる一組のコンピューティングノード(例えば、1つ以上のコンピューティングノード)を選択することができる。変更イベントに対応するアクションプロセスを実行するように、一組のコンピューティングノードから1つ以上のコンピューティングノードを選択することができる。複数のコンピューティングノードから、一組のコンピューティングノードを選択できる。一組のコンピューティングノードは、1つ以上のコンピューティングノードを含むことができる。例えば、装置アクセス管理システム120は、コンピューティングノード222から、一組のコンピューティングノード(例えば、コンピューティングノード222−1および222−2を含む一組のコンピューティングノード)を選択することができる。
複数のコンピューティングノードの各々の処理負荷に基づいて、一組のコンピューティングノードを選択することができる。処理負荷閾値に基づいて、一組のコンピューティングノードを構成する各コンピューティングノードを選択してもよい。いくつかの実施形態において、一組のコンピューティングノードに選択された各コンピューティングノードは、処理負荷閾値を満たす処理負荷を有することができる。一例において、コンピューティングノードが処理できる変更イベントの閾値数に基づいて、処理負荷閾値を定義することができる。別の例において、コンピューティングノードが開始した処理の閾値数として定義されたアクションプロセス閾値に基づいて、処理負荷閾値を定義することができる。この例において、一組のコンピューティングノードの各々の処理負荷がアクションプロセス閾値を満たすように、処理負荷閾値に基づいて、各コンピューティングノードを選択してもよい。
何千台のリモート装置にアクセスされる企業システムにおいて、いくつかのコンピューティングノードが要求によって過負荷になり、リモート装置からの処理する必要がある他のランタイムトラフィックに応答しなくなることがある。処理負荷に基づいて一組のコンピューティングノードを選択するによって、変更イベントをリモート装置に伝送する処理効率を改善することができる。より多くの利用可能なコンピューティングリソースを有するコンピューティングノードを利用して、変更イベントをリモート装置に伝送することができる。さらに、変更イベントの種類およびこれらの種類の変更イベントに対応するアクションプロセスに基づいて変更イベントを定義することによって、追加の設定を行わずにコンピューティングノードを追加することができ、異なる種類の変更イベントを処理することができる。新規種類の変更イベントが特定される場合、新規変更イベントおよび対応するアクションプロセスを定義することができる。
いくつかの実施形態において、変更イベントハンドラ232は、1つの変更イベントに応じて、複数の変更イベントエントリを作成することができる。複数のコンピューティングノードを利用して、変更イベントをその変更に影響されるリモート装置に伝送する変更プロセスを実行するための負荷を分散するために、複数の変更イベントエントリを作成することができる。作成され得る変更イベントエントリの数は、アクションプロセスを実行するために選択された一組のコンピューティングノードに依存する。変更イベントを伝送するために利用される各コンピューティングノードは、作成された変更イベントエントリのうち異なる変更イベントエントリを利用することができる。変更イベントエントリは、変更イベントを通知する一組のリモート装置を示すことができる。1つの変更イベントエントリに対応する一組のリモート装置内の各リモート装置は、同一の変更イベントのために作成された別の変更イベントエントリに対応する1組のリモート装置内の各リモート装置と異なってもよい。変更イベントに対応する1つの変更イベントエントリに対応する一組のリモート装置は、同一の変更イベントのために作成された別の変更イベントエントリに対応する別組のリモート装置と異なる数のリモート装置を含んでもよい。
さまざまな技術を用いて、変更イベントエントリに対応するリモート装置の数を選択することができる。例えば、メモリページ内の装置識別子の数に基づいて、変更イベントエントリに対応するリモート装置の数を選択することができる。メモリページは、装置識別子を装置レジストリ162に保存する。メモリページから特定された装置識別子は、変更イベントエントリに保存されてもよく、アクションプロセスを行うために登録されたリモート装置を特定するために、コンピュータノードによって使用されてもよい。いくつかの実施形態において、変更イベントエントリに対応するリモート装置の数は、アクションプロセスを実行するために選択されたコンピューティングノードの数に基づいて選択されてもよい。一組のコンピューティングノードは、各コンピューティングノード222の処理負荷に基づいて、コンピューティングノード222から選択されてもよい。コンピューティングノードの数に基づいて、変更イベントを通知するリモート装置を、変更イベントエントリの間に平均的に分散することができる。いくつかの実施形態において、変更イベントエントリに対応するリモート装置の数を決定するときに、一組のコンピューティングノードの各々の処理負荷を考慮してもよい。
変更イベントエントリによって特定された変更イベントに対応するアクションプロセスを実行するように1つ以上のコンピューティングノードを選択すると、選択されたコンピューティングノードは、リモート装置に変更イベントの通信を処理することができる。いくつかの実施形態において、装置アクセス管理システム120内のモジュールおよびサブシステムは、各コンピューティングノードにより作動されるように構成されてもよい。
各コンピューティングノード222は、通信システムを介してリモート装置と通信することができる。通信システムを介して、各コンピューティングノード222と、1つ以上のリモート装置、例えばエンドポイント装置210およびエンドポイント装置212との間で、メッセージを伝送することができる。通信システムは、メッセージを送信、受信、保存、および/または利用するサービスを提供することができる。「メッセージ」としては、メールメッセージ、インスタントメッセージ(例えば、さまざまな「チャット」サービスを用いて、ユーザ間に送信されるメッセージ)、SMS/MMSメッセージ(例えば、さまざまな移動通信データネットワークおよび他の無線データネットワークによってサポートされるショートメッセージングサービスおよび/またはマルチメディアメッセージングサービスプロトコルに準拠するメッセージ)、音声メッセージ、写真/画像メッセージ、ソーシャルネットワークメッセージなどが挙げられる。メッセージングサービスの例としては、Gmail(登録商標)(Google(登録商標)社のサービス)またはYahoo!(登録商標)Mail(Yahoo!社のサービス)などのメールサービスが挙げられる。他の例としては、Gmailのチャット機能またはFacebook(登録商標)(Facebook社のサービス)のチャット機能などのインスタントメッセージまたはチャットサービス、移動通信データキャリアによって提供されたSMS/MMSサービス、メッセージングコンポーネント(例えば、Facebook社またはLinkedIn(登録商標)社により提供されたソーシャルネットワーク)を備えるソーシャルネットワークサービスが挙げられる。通信システムは、装置アクセス管理システム120とリモート装置との間の通信を容易にするために、ウェブベースクライアントインターフェイス、専用アプリケーションプログラム、アプリケーションプログラムインターフェイス(API)、および/または他のツールを提供することができる。
通信システムは、1つ以上のさまざまな種類の通信ネットワークを介して、リモート装置と通信することができる。通信ネットワークの例として、例えば、インターネット、ワイドアリアネットワーク(WAN)、ローカルエリアネットワーク(LAN)、イーサネット(登録商標)ネットワーク、公衆または私設ネットワーク、有線ネットワーク、無線ネットワーク、およびそれらの組み合わせを含むがこれらに限定されない。異なる通信プロトコルを用いて、IEEE802.XXプロトコルスイート、TCP/IP、IPX、SAN、AppleTalk、Bluetooth(登録商標)、および他のプロトコルのような有線プロトコルおよび無線プロトコルの両方を含む通信を促進することができる。
いくつかの実施形態において、通信システムは、プッシュ通知サービス(例えば、Apple(登録商標)社により提供されたAppleプッシュ通知サービスまたはGoogle(登録商標)社により提供されたGoogle(登録商標)通知サービス)を実行することができる。プッシュ通知サービスは、リモート装置(例えば、エンドポイント装置210およびエンドポイント装置220)との通信を容易にすることができる。
変更イベントエントリに対して、変更イベントハンドラ232は、変更イベントエントリによって特定された変更イベントに基づいて、変更イベントオブジェクトをインスタンス化することができる。変更イベントオブジェクトは、変更イベントと変更イベントの通知対象であるリモート装置とを特定するメタデータを含むことができる。
アクションプロセッサ234は、変更イベントの種類に基づいて、実行すべくアクションプロセスを判断することができる。いくつかの実施形態において、1つ以上の変更イベントクラスに対応して、アクションプロセスクラスを定義することができる。変更イベントの場合、アクションプロセッサ234は、変更イベントクラスに基づいてアクションプロセスクラスを判断することができる。変更イベントクラスは、変更イベントの種類に基づいて判断されてもよい。いくつかの実施形態において、データストア160は、アクションプロセスクラスと一種類以上の変更イベントとの間の関連を示す情報を保存することができる。アクションプロセスをスケジュールするために、コンピューティングノードは、アクションプロセスクラスのインスタンス(例えば、図6を参照して後述するアクションプロセスオブジェクト)を設定することができる。アクションプロセスオブジェクトを使用して、アクションプロセスクラスに対応するアクションプロセス(例えば、ルーチン)を呼び出すことができる。アクションプロセスは、変更イベント(たとえば、変更イベントオブジェクト)に関する情報を1つ以上のリモート装置(例えば、エンドポイント装置210およびエンドポイント装置212)に通信することを含むことができる。
アクションプロセスを実行するときに、コンピューティングノードは、通信システムを用いて、変更イベントエントリによって特定された変更イベントに関する通知をリモート装置に送信することができる。通知は、リモート装置に非同期に送信されてもよい。リモート装置は、通信システムを定期的にチェックする(例えば、通信システムによって実装された通知サービスにプル要求を送信する)ことによって、リモート装置に影響を及ぼす変更イベントが発生したか否かを判断することができる。リモート装置は、通信システムにプル要求を送信することによって、変更イベントに関する情報を取得することができる。いくつかの実施形態において、通知は、エンドポイント装置を起動(例えば、スリープ解除)することによって、変更イベントに関する情報を取得させることができる。通信システムは、変更イベントキュー124内の変更イベントに対応する変更イベントエントリを利用することができる。いくつかの実施形態において、通信システムは、コンピューティングノード222のうち1つと通信することによって、エンドポイント装置からのプル要求によって示された変更イベントに対応する変更イベントエントリから情報を取得することができる。通信システムは、プル要求によって示された変更イベントに関する通知をエンドポイント装置に送信したコンピューティングノードと通信することができる。
各リモート装置は、コンピューティングノード222を含む装置アクセス管理システム120と通信するように構成されたセキュアコンテナアプリケーションを含むことができる。セキュアコンテナアプリケーションは、データストア160に含まれる情報、例えば変更イベントクラスおよびアクションプロセスクラスに関する情報を利用することができる。いくつかの実施形態において、セキュアコンテナアプリケーションは、コンピューティングノード222のうち1つから送信された変更イベントオブジェクトによって特定された変更イベントに応じて実行されるアクションプロセスを判断することができる。いくつかの実施形態において、コンピューティングノードからの変更イベントに関する指示に基づいて、セキュアコンテナアプリケーションは、1つ以上の処理(例えば、ポリシーの変更、アプリケーションの更新、または設定の調整)を実行するように構成されてもよい。セキュアコンテナアプリケーションは、通信システムと通信することによって変更イベントに関する通知を受信し、それに応答して、変更イベントに関する情報のプル要求を通信するように構成されてもよい。いくつかの実施形態において、セキュアコンテナアプリケーションは、通信システムをチェックして、変更イベントが発生したか否かを判断するように構成されてもよい。変更イベントがリモート装置に伝送されていない場合、通信システムは、変更イベントに関する情報をリモート装置に送信することができる。この情報は、変更イベントの要求に応答して送信されてもよい。
各々のコンピューティングノード222(例えば、コンピューティングノード222−1、コンピューティングノード222−2、・・・コンピューティングノード222−N)は、ランタイム環境(例えば、ランタイム224、ランタイム226、・・・ランタイム228)を具備することができる。ランタイム環境は、プロセスを実行するための複数の実行スレッド(例えば、スレッドプール)を含むことができる。図2に示す例において、コンピューティングノード222−1およびコンピューティングノード222−2は、異なる変更イベントに応じてアクションプロセスを並列に実行することができる。例えば、コンピューティングノード222−1およびコンピューティングノード222−2は、スレッド(例えば、スレッド1)上で、変更イベントキュー124上の変更イベントエントリ202に対応する変更イベント1に応じてアクションプロセス1を実行することができる。変更イベント1をエンドポイント装置210および212に通信するための処理効率を改善するために、エンドポイント装置210に対応するコンピューティングノード222−1上で、アクションプロセス1を実行し、エンドポイント装置212に対応するコンピューティングノード222−2上で、アクションプロセス1を実行することができる。変更イベント2を変更イベントキュー124に追加した場合、コンピューティングノード、例えばコンピューティングノード222−1は、変更イベント2に応じてアクションプロセス2を実行するようにスケジューリングされてもよい。アクションプロセス2は、スレッド1上で実行されるアクションプロセス1と並行して、スレッド2上で実行されてもよい。変更イベント3を変更イベントキュー124に追加した後、コンピューティングノード、例えばコンピューティングノード222−1は、変更イベント3に応じてアクションプロセス3を実行するようにスケジューリングされてもよい。アクションプロセス3は、スレッド1上で実行されるアクションプロセス1と並行して、スレッド2上で実行されてもよい。
コンピューティングノードは、変更イベントエントリで特定されたリモート装置のためのアクションプロセスを完了したときに、変更イベントキュー124から変更イベントエントリを削除することができる。変更イベントエントリで特定された全てのリモート装置のためのアクションプロセスが完了するまで、変更イベントエントリは、変更イベントキュー124上に永続に保持されてもよい。したがって、変更イベントエントリは、永続的であり、変更イベントキュー124上に保持される。一例において、変更イベントエントリは、全てのリモート装置が変更イベントエントリによって特定された変更イベントに関する情報を受信するまで、変更イベントキュー124上に保持される。別の例において、リモート装置が変更イベントエントリによって示された変更イベントを受信していない場合、またはリモート装置が承認を変更イベントに応じて呼び出されたアクションプロセスを開始したコンピュータノードに返送していない場合、変更イベントに対応する変更イベントエントリは、変更イベントキュー124上に保持される。変更イベントエントリを変更イベントキュー124に維持することにより、装置アクセス管理システム120は、全てのリモート装置が通知を受信し、変更イベントに対応するアクションを取ることを保証することができる。異なるリモート装置の異なるコンピューティングノード上で変更イベントに応じてアクションプロセスを開始することによって、処理遅延または実行遅延を回避することができる。リモート装置が応答しない(例えば、リモート装置が変更イベントを承認することができない、またはリモート装置が変更イベントに関する通知を受信することができない)ことによって、1つのコンピューティングノードを変更イベントエントリの処理から外すことはない。
図3は、本発明のいくつかの実施形態に従って、変更イベントに応じてアクションプロセスを開始するための処理シーケンス300を示す図である。この例において、企業システム、例えば企業コンピュータシステム150にアクセスするように、複数のリモート装置(例えば、エンドポイント装置312、314、316および318)を登録することができる。
装置アクセス管理システム120は、変更イベントキュー124を実装して、変更イベントに影響されるリモート装置が確実に通知されるように変更イベントを永続的に管理することができる。変更イベントキュー124上の各変更イベントエントリに対して、コンピューティングノード222は、変更イベントエントリによって示された変更イベントの種類に基づいて、アクションプロセスを開始することができる。アクションプロセスは、変更イベントの種類との関連付けに基づいて特定されてもよい。アクションプロセスは、変更イベントに影響されるリモート装置に通知すること、場合によって、リモート装置に指示して、変更イベントに基づいて企業システムへのアクセス権を調整することを含むことができる。アクションプロセスの例は、図6を参照して説明する。
処理シーケンス300は、装置アクセス管理システム120によって1つ以上の処理318を実行することにより開始されてもよい。装置アクセス管理システム120は、企業システムにアクセスするエンドポイント装置312、314、316および318の各々のアクセス権の変更に応じて発生した変更イベント(「変更イベント1」)を判断することができる。装置レジストリ(例えば、装置レジストリ162)にアクセスすることによって、企業システムにアクセスするために登録されたエンドポイント装置に関する情報を取得することができる。装置アクセス管理システム120は、登録されたエンドポイント装置に関する情報を用いて、変更イベントに影響されるエンドポイント装置を判断することができる。装置アクセス管理システム120は、アクセス権の変更の種類に対応している変更イベントの種類を特定することができる。変更イベントの種類を定義する情報を含む変更イベントデータストア164内の情報に基づいて、変更イベントの種類を判断することができる。
装置アクセス管理システム120は、変更イベントに関する情報を保存するために、データ構造(例えば、変更イベントエントリ)を作成することができる。いくつかの実施形態において、装置アクセス管理システム120は、1つの変更イベントに応じて複数の変更イベントエントリを作成することができる。例えば、変更イベント1に応じて変更イベントエントリ302および変更イベントエントリ304を作成することができる。変更イベントエントリ302は、エンドポイント装置312およびエンドポイント装置314を含む一組の装置306を示すことができる。変更イベントエントリ304は、エンドポイント装置316およびエンドポイント装置318を含む一組の装置308を示すことができる。変更イベントエントリ302および304の各々は、変更イベントキュー124に追加されてもよい。後で、コンピューティングノードは、この変更イベントキュー124を利用して、変更イベントに応じて開始するアクションプロセスを判断することができる。
いくつかの実施形態において、装置アクセス管理システム120は、変更イベント1に対応するアクションプロセス(「アクションプロセス1」)を実行するように、コンピューティングノード222から一組のコンピューティングノードを選択することができる。各コンピューティングノード222の処理負荷に基づいて、一組のコンピューティングノードを選択することができる。例えば、装置アクセス管理システム120は、コンピューティングノード222から、コンピューティングノード222−1および222−2を含む一組のコンピューティングノードを選択することができる。
装置アクセス管理システム120は、1つ以上の処理を実行して、選択された一組のコンピューティングノード(例えば、コンピューティングノード222−1およびコンピューティングノード222−2)により処理される変更イベント1をスケジュールすることができる。例えば、装置アクセス管理システム120は、変更イベントエントリ302を処理するようにコンピューティングノード222−1をスケジュールし(320)、変更イベントエントリ304を処理するようにコンピューティングノード222−2をスケジュールする(322)ことができる。
変更イベント1のスケジューリングによって、コンピューティングノード222−1および222−2の各々は、変更イベント1に対応する変更イベントエントリに対する処理を実行することができる。コンピューティングノード222−1は、変更イベントエントリ302に対する処理を実行することができ、コンピューティングノード222−2は、変更イベントエントリ304に対する処理を実行することができる。コンピューティングノード222−1は、コンピューティングノード222−2と並行に処理を実行することができる。
コンピューティングノード222−1およびコンピューティングノード222−2の各々は、変更イベントの種類に対応する変更イベントクラスに基づいて、変更イベント1に対応する変更イベントオブジェクトをインスタンス化することができる。変更イベント1用の変更イベントオブジェクトは、変更イベントエントリ(例えば、変更イベントエントリ302および変更イベントエントリ304)内の変更イベント1を定義する永続メタデータを含むことができる。換言すれば、変更イベント1に対応する変更イベントエントリに含まれた情報は、変更イベント1に応じてインスタンス化された変更イベントオブジェクトに含まれてもよい。例えば、変更イベントオブジェクトは、変更イベントエントリで特定された装置の装置識別子を含んでもよい。
コンピューティングノード222−1およびコンピューティングノード222−2の各々は、変更イベント1に応じてアクションプロセスオブジェクトを設定することができる。アクションプロセスクラスは、変更イベント1に対応する変更イベントエントリによって示された変更イベントの種類に基づいて、特定されてもよい。アクションプロセスクラスは、コンピューティングノードが実行すべきアクションプロセスを定義する実行ルーチン(例えば、run()ルーチン)を含むことができる。このルーチンは、コンピューティングノードによって、そのコンピューティングノードに利用可能な処理スレッド上で実行されてもよい。アクションプロセスは、変更イベントに関する情報を、変更イベントに対応する変更イベントオブジェクトで特定されたエンドポイント装置に伝送することを含むことができる。この情報は、変更イベントに応じて調整処理を行うように、エンドポイント装置によって実行される命令を含むことができる。アクションプロセスは、変更イベントに対応する変更イベントオブジェクトで特定された各エンドポイント装置に対して実行されてもよい。アクションプロセスは、複数のエンドポイント装置により並行に実行することができる。
コンピューティングノード222−1およびコンピューティングノード222−2の各々は、変更イベント1に応じてアクションプロセスオブジェクトをインスタンス化することができる。コンピューティングノードは、インスタンス化された変更イベントオブジェクトに応じて、アクションプロセスオブジェクトをインスタンス化することができる。アクションプロセスオブジェクトは、変更イベントの種類に対応するアクションプロセスクラスに基づいて、インスタンス化することができる。変更イベントオブジェクトをアクションプロセスオブジェクトのインスタンス化のために実行されているルーチンに渡すことができる。アクションプロセスオブジェクトおよびアクションプロセスクラスの例は、図6を参照して以下に説明される。
コンピューティングノード222−1および222−2の各々は、変更イベントの種類に基づいて特定されたアクションプロセスクラスに応じて実行ルーチンを呼び出すことによって、変更イベント1に対応するアクションプロセス1を開始することができる。コンピューティングノードは、インスタンス化したアクションオブジェクトの実行ルーチンを呼び出す。コンピューティングノード222−1は、装置組306内の各エンドポイント装置のためにアクションプロセス1を呼び出すことができる。コンピューティングノード222−2は、装置組308内の各エンドポイント装置のために、アクションプロセス1を呼び出すことができる。アクションプロセス1は、変更イベント1に関する情報を装置組内の各エンドポイント装置に送信することを含んでもよい。変更イベントに関する情報は、通知としてリモート装置に送信されてもよい。通知は、通知サービス(例えば、プッシュ通知サービス)をサポートする通信システムを介して送信されてもよい。いくつかの例において、通知は、図3に示される順序とは異なる順序で(例えば非同期的に)送信されてもよい。リモート装置は、通信システムと通信する(例えば、プル要求を送信する)ことによって、通知により特定された変更イベントに関する情報を取得することができる。コンピューティングノード222−1は、変更イベント1に関する情報を装置組306内の各エンドポイント装置に通知することができる(324、326)。コンピューティングノード222−2は、装置組308内の各エンドポイント装置に変更イベント1に関する情報を通知することができる(328、330)。エンドポイント装置に通知された情報は、変更イベントに従ってエンドポイント装置の動作を調整するための命令または情報を含むことができる。
いくつかの実施形態において、エンドポイント装置がアクションプロセスに関する処理を完了したときに、コンピューティングノードは、そのエンドポイント装置から通知を受信することができる。エンドポイント装置が変更イベントについて通知され、変更イベントに応じてアクセスを調整する措置を実行したときに、アクションプロセスに関する処理が完了したとする。例えば、コンピューティングノード222−1は、装置組306のエンドポイント装置314から、エンドポイント装置314がアクションプロセス1を完了したことを示す承認332を受信することができる。例えば、コンピューティングノード222−2は、装置組308のエンドポイント装置316およびエンドポイント装置318から、エンドポイント装置316、318がアクションプロセス1を完了したことをそれぞれ示す承認334および承認336を受信することができる。リモート装置からの通知(例えば、承認)は、異なるエンドポイント装置から通知を送信する順序と非同期に受信されてもよい。
コンピューティングノードは、変更イベントエントリで特定されたエンドポイント装置に対してアクションプロセスを完了したときに、変更イベントキュー124から変更イベントエントリを削除することができる。図3に示す例において、コンピューティングノード222−1は、処理340を実行することによって、アクションプロセスが装置組306内の各エンドポイント装置に対して完了したか否かを判断することができる。装置組306のエンドポイント装置312が変更イベント1に対する承認を通信していないため、コンピューティングノード222−1は、変更イベントキュー124から変更イベントエントリ302を削除しない。エンドポイント装置312が変更イベント1の承認を示すまで、変更イベントエントリ302は、変更イベントキュー124から削除されず、変更イベントキュー124上に保持される。
いくつかの実施形態において、コンピューティングノード222−1は、変更イベントエントリ302における変更イベントの状態を示すことができる。コンピューティングノード222−1は、応答しないエンドポイント装置(例えば、エンドポイント装置312)に対してアクションプロセス1の実行を再試行することができる。再試行の回数は、装置アクセス管理システム120によって定義された変更イベントエントリ302に基づいて決定されてもよい。アクションプロセスの実行を再試行するために再試行回数に達したと判断する場合、コンピューティングノード222−1は、変更イベントキュー124から変更イベントエントリ302を削除する(デキューする)。コンピューティングノード222−1は、エンドポイント装置312に対するアクションプロセスが完了しなかったことを示す情報を、エラーログ(例えば、サーバ監査記録)に保存することができる。
コンピューティングノード222−1は、変更イベント1に対応するアクションプロセス1の結果を示す結果情報342を送信することができる。結果情報342は、変更イベントエントリ302で特定されたエンドポイント装置に対するアクションプロセス1に関する承認の状態を示すことができる。例えば、結果情報342は、エンドポイント装置314から承認を受信しており、エンドポイント装置312から承認を受信しなかったことを示すことができる。結果情報342は、変更イベント1に関する通知を受信したエンドポイント装置を示すことができる。
いくつかの実施形態において、アクションプロセスを実行しようとする後続試行は、異なるコンピューティングノードによって実行されてもよい。結果情報342を受信すると、装置アクセス管理システム120は、変更イベント1に応じて完了しなかったアクションプロセス1の実行を再試行するように、別のコンピューティングノード(例えば、コンピューティングノード222−2)をスケジュールすることができる(344)。
エンドポイント装置組の各エンドポイント装置が変更イベントに対する承認を示したと判断した場合、コンピューティングノードは、変更イベントキュー124から変更イベントエントリを削除し、装置アクセス管理システム120に結果情報を送信することができる。例えば、コンピューティングノード222−2は、承認334、336を受信すると、変更イベントエントリ304を変更イベントキュー124から削除し、結果情報346を装置アクセス管理システム120に送信することができる。結果情報346は、変更イベントエントリ304に応じてアクションプロセス1が完了したことを示すことができる。
装置アクセス管理システム120は、処理348を実行することによって、企業システム内に発生する追加の変更イベントに応じてアクションプロセスを実行するように1つ以上のコンピューティングノード222をスケジュールすることができる。例えば、図4は、本発明のいくつかの実施形態に従って、変更イベントに応じてアクションプロセスを開始するための処理シーケンス400を示す図である。具体的には、図4は、装置アクセス管理システム120が変更イベント1を特定した後、特定する第2変更イベント(「変更イベント2」)の例を示している。図4に示された例において、処理400は、処理300を実行した後に実行されてもよい。いくつかの実施形態において、変更イベント2を特定した時間に基づいて、処理400の全てまたは一部は、処理300と並行に実行されてもよい。
図3の例に続き、変更イベントエントリ302で特定された全てのエンドポイント装置(例えば、エンドポイント装置312、314)が変更イベント1に関する情報を受信するまで、変更イベントエントリ302は、変更イベントキュー124に永続的に残ることができる。変更イベントエントリに対応する変更イベントに影響される全ての装置が変更イベントについて通知されるまで、変更イベントエントリは、変更イベントキューに残されてもよい。いくつかの実施形態において、変更イベントの通信を再試行するために、変更イベントをリモート装置に再送信してもよい。変更イベントエントリ302などの変更イベントエントリは、別の変更イベント(例えば、変更イベント2)が特定された後でも、変更イベントキュー124上に残されてもよい。装置アクセス管理システム120は、変更イベント2に影響されるリモート装置、例えば、エンドポイント装置314、316、318を通知するように処理を実行することができる。
コンピューティングノード222−1は、処理422を実行することによって変更イベント1に対するアクションプロセス1の実行を再試行して、変更イベント1をエンドポイント装置312に通知することができる。変更イベント1をエンドポイント装置312に通知する以前の試行ではエンドポイント装置312から承認を受信しなかったため、アクションプロセス1の実行を再試行することができる。アクションプロセス1は、変更イベント1に関する情報をエンドポイント装置1に通信すること424を含むことができる。
変更イベントに関する情報は、通知としてリモート装置に伝送されてもよい。通知は、通知サービス(例えば、プッシュ通知サービス)をサポートする通信システムを介して伝送されてもよい。いくつかの例において、通知は、図3に示される順序とは異なる順序で(例えば非同期的に)伝送されてもよい。リモート装置は、通信システムと通信する(例えば、プル要求を送信する)ことによって、通知により特定された変更イベントに関する情報を取得することができる。
処理400は、装置イベント管理システム120が変更イベント2を処理することによって、変更イベント2に影響されるエンドポイント装置314、316、318を通知することを含むことができる。この例において、装置アクセス管理システム120は、2つの変更イベントエントリ406、408を作成することによって、変更イベント2を通信するための処理負荷をエンドポイント装置314、316、318の間に分散することができる。変更イベントエントリ406は、エンドポイント装置314に対して作成されてもよい。変更イベントエントリ408は、エンドポイント装置316、318を含む一組のエンドポイント装置410に対して作成されてもよい。
装置アクセス管理システム120は、変更イベント2をエンドポイント装置314、316、318に通知するために、一組のコンピューティングノード(例えば、コンピューティングノード222−1、222−2)を選択することができる。装置アクセス管理システム120は、変更イベントエントリ406に応じてアクションプロセス(例えば、アクションプロセス2)を処理するようにコンピューティングノード222−1をスケジュールすることができ(430)、変更イベントエントリ408に応じてアクションプロセス2を処理するようにコンピューティングノード222−2をスケジュールすることができる(450)。いくつかの実施形態において、複数の変更イベントが互いに競合せずまたは互いに依存しない場合、コンピューティングノード222および装置アクセス管理システム120は、複数の変更イベントを並行に処理することができる。変更イベントは、たとえば、同一のポリシーの変更に関連する場合、競合する可能性がある。
変更イベント2のスケジューリングによって、コンピューティングノード222−1は、変更イベントエントリ406に関する処理を実行し、コンピューティングノード222−2は、変更イベントエントリ408に関する処理を実行することができる。コンピューティングノード222−1およびコンピューティングノード222−2の各々は、変更イベントの種類に対応する変更イベントクラスに基づいて、変更イベント2に応じて変更イベントオブジェクトをインスタンス化することができる。コンピューティングノード222−1およびコンピューティングノード222−2の各々は、変更イベント2に応じてアクションプロセスオブジェクトを設定することができる。
設定されたアクションプロセスオブジェクトを用いて、コンピューティングノード222−1は、エンドポイント装置314のために、アクションプロセス2を呼び出すことができ、コンピューティングノード222−2は、装置組410内の各エンドポイント装置のために、アクションプロセス2を呼び出すことができる。アクションプロセス2について、コンピューティングノード222−1は、変更イベント2に関する情報をエンドポイント装置314に伝送することができる(434)。コンピューティングノード222−2は、変更イベント2に関する情報を、装置組410内の各エンドポイント装置に伝送することができる(452、454)。コンピューティングノード222−1は、エンドポイント装置314から、エンドポイント装置314がアクションプロセス2を完了したことを示す承認440を受信することができる。コンピューティングノード222−2は、装置組410内のエンドポイント装置316、318から、エンドポイント装置316、318がアクションプロセス2を完了したことをそれぞれ示す承認456、458を受信することができる。リモート装置からの通知(例えば、承認)は、異なるエンドポイント装置から通知を送信する順序と非同期に受信されてもよい。
いくつかの実施形態において、コンピューティングノードは、異なるアクションプロセスを処理し始めた後、エンドポイント装置から1つのアクションプロセスに関する通信(例えば、承認)を受信してもよい。例えば、コンピューティングノード222−1は、アクションプロセス2を処理し始めた後、エンドポイント装置312から承認438を受信することができる。アクションプロセス1を再試行するために、承認438を受信することができる。承認438は、特定の順序を有すると示されているが、アクションプロセス2に応じて、コンピューティングノード222−1とエンドポイント装置314との間に行われた通信の前に、後に、または同時に受信されてもよい。
コンピューティングノード222−1は、エンドポイント装置312がアクションプロセス1を完了したか否かを判断することができる。承認438を受信すると、コンピューティングノード222−1は、変更イベントキュー124から変更イベントエントリ302を削除し、装置アクセス管理システム120に結果情報436を送信することができる。結果情報436は、変更イベントエントリ302に応じてアクションプロセス1が完了したことを示すことができる。
コンピューティングノード222−1は、エンドポイント装置314がアクションプロセス2を完了したか否かを判断することができる。承認440を受信すると、コンピューティングノード222−1は、変更イベントキュー124から変更イベントエントリ406を削除し、装置アクセス管理システム120に結果情報442を送信することができる。結果情報442は、変更イベントエントリ406に応じてアクションプロセス2が完了したことを示すことができる。
コンピューティングノード222−2は、エンドポイント装置316、318がアクションプロセス2を完了したか否かを判断することができる。承認456、458を受信すると、コンピューティングノード222−2は、変更イベントキュー124から変更イベントエントリ408を削除し、装置アクセス管理システム120に結果情報460を送信することができる。結果情報460は、変更イベントエントリ408に応じてアクションプロセス2が完了したことを示すことができる。
装置アクセス管理120は、変更イベントキュー124上に存在し得る追加の変更イベントエントリを処理するための処理462を実行することができる。処理400は、変更イベントキュー124が空になったときに終了する。
図5は、本発明のいくつかの実施形態に従って、変更イベントに関する情報を保存するためのデータ構造510の一例を示す図である。具体的に、データ構造510は、変更イベントエントリの情報を保存することができる。変更イベントエントリに保存されるデータは、変更イベントに関するメタデータを含むことができる。いくつかの実施形態において、異なる変更イベントの各々に応じて、データ構造510のインスタンス(「変更イベントオブジェクト」)を作成してもよい。上述したように、コンピューティングノードが変更イベントエントリによって示された変更イベントに応じてアクションを実行するために、変更イベントエントリは、キュー(例えば、変更イベントキュー124)で管理されてもよい。コンピューティングノードは、変更イベントエントリに保存された情報に基づいて、実行すべく処理(例えば、開始するアクションプロセス)を決定することができる。いくつかの実施形態において、変更イベントオブジェクトは、変更イベントエントリ用のデータ構造510に含まれる情報に基づいて作成されてもよい。変更イベントエントリの例は、変更イベントエントリ302、変更イベントエントリ304、変更イベントエントリ406、および変更イベントエントリ408を含むことができる。いくつかの実施形態において、変更イベントオブジェクトは、Java(登録商標)クラスに基づいて定義された通常のJava(登録商標)オブジェクトであってもよい。
いくつかの実施形態において、データ構造510は、メタデータクラス(「変更イベントクラス」)に基づいて定義されてもよい。メタデータクラスは、変更イベントに応じて保存される情報の種類を定義することができる。メタデータクラスは、一意的な変更イベントを特定するために、変更イベントに応じて、1つ以上の情報フィールドを定義することができる。メタデータクラスは、任意種類の変更イベントに応じて保存された情報の種類を定義するテンプレートクラスであってもよい。データ構造510は、さまざまな種類の変更イベントに応じて実装することができる。いくつかの実施形態において、異なる種類の変更イベントに応じて、メタデータクラスを各々定義することができる。変更イベントオブジェクトは、データ構造510によって表されるメタデータオブジェクトであってもよい。変更イベントオブジェクトのデータ構造510に保存されたデータは、メタデータを含むことができる。メタデータは、変更イベントエントリから得られたデータを含むことができる。変更イベントオブジェクトは、変更イベントの種類に応じて変更イベントクラスをインスタンス化することによって生成することができる。変更イベントオブジェクトを表すデータ構造510は、インスタンス化された変更イベントクラスによって定義された種類の情報を含むことができる。
データ構造510は、配列、レコード、関係データベーステーブル、ハッシュテーブル、リンクリスト、または他の種類のデータ構造を含むがこれらに限定されない異なる種類のデータ構造のうち1つのデータ構造またはそれらの組み合わせとして実現されてもよい。例示の目的のために、データ構造510は、特定の数のフィールドを有する構成で示されているが、示されたものよりも多いフィールドまたは少ないフィールドを有する異なる構成に定義されてもよい。データ構造510の各インスタンスは、例えば変更イベントデータストア164などのデータストアに保存されてもよい。
図5に示す例において、データ構造510は、変更イベントの種類を示す情報を含むフィールド512(「変更イベントの種類」)を含むことができる。変更イベントの種類の例としては、ポリシーの変更、アプリケーションの変更、または同期設定の変更を含むがこれらに限定されない。
データ構造510のフィールド514(「変更」)は、変更に関する詳細を示す情報を含むことができる。例えば、フィールド514は、ポリシーの変更により変更されたポリシーを示すことができる。いくつかの実施形態において、フィールド514は、変更に関連する情報を含むまたは参照することができる。例えば、ポリシーが変更された場合、フィールド514は、変更されたポリシーへの参照を含むことができる。フィールド514の情報は、変更イベントに応じて作成された変更イベントオブジェクトに含まれてもよい。
データ構造510は、変更イベントをリモート装置に伝送する状態を示す情報を含むフィールド516(「変更イベントの状態」)を含むことができる。コンピューティングノードは、フィールド516の情報を用いて、変更イベントに応じて実行されているアクションプロセスの状態を判断することができる。変更イベント状態の例として、保留、エラー、再試行、または承認済みを含むがこれらに限定されない。例えば、コンピューティングノードは、装置520によって特定されたリモート装置の各々が、アクションプロセスを行うためのリモート装置に伝送された変更イベントを承認したか否かを判断することができる。コンピューティングノードは、変更イベントの状態に基づいて、変更イベントに対応するアクションプロセスの実行を再試行するか否かを判断することができる。コンピューティングノードは、変更イベントの状態を示す情報でフィールド516を更新することができる。
データ構造510は、変更イベントに対応するアクションプロセスを実行するリモート装置組内の各リモート装置の装置情報(例えば、装置識別子)を含むフィールド518(「装置」)を含むことができる。リモート装置組内の各装置の装置情報は、装置レジストリから取得することができる。装置情報は、企業システムに登録されたユーザIDとの関連付けに基づいて特定されてもよい。
データ構造510は、変更イベントに応じてアクションプロセスを再試行するための設定を示すフィールド520(「再試行設定」)を含むことができる。再試行設定は、変更イベントの種類などのさまざまな要因に依存することができる。再試行設定は、アクションプロセスを試行する回数を示すことができる。コンピューティングノードおよび装置アクセス管理システム120は、再試行設定を用いて、リモート装置によって承認されなかった変更イベントに応じて、再びアクションプロセスを呼び出すか否かを判断することができる。
図6は、本発明のいくつかの実施形態に従って、アクションプロセスオブジェクトを表すデータ構造610の一例を示す図である。データ構造610は、変更イベントに対応するアクションプロセスに関する情報を保存することができる。データ構造610は、変更イベントに対応するアクションプロセスオブジェクトとして、インスタンス化されてもよい。いくつかの実施形態において、データ構造610は、クラス(「アクションプロセスクラス」)に基づいて、作成されてもよい。アクションプロセスクラスは、Java(登録商標)クラスとして定義されてもよい。アクションプロセスオブジェクトは、Java(登録商標)クラスとして定義されたアクションプロセスクラスに基づいてインスタンス化された通常のJava(登録商標)オブジェクトであってもよい。アクションプロセスクラスは、図1のアクションプロセスデータストア166などのデータストアに保存することができる。アクションプロセスクラスは、アクションプロセスクラスに基づいてインスタンス化されたアクションプロセスオブジェクトに保存することができる1つ以上のフィールド情報を定義することができる。
いくつかの実施形態において、変更イベントの種類に対応する異なるアクションプロセスに応じて、異なるアクションプロセスクラスを定義することができる。いくつかの実施形態において、異なる変更イベントの種類に応じて、異なるアクションプロセスクラスを定義することができる。1種類の変更イベントに応じて複数のアクションクラスを定義することができ、その種類の変更イベントに応じて異なるアクションプロセスを実行することができる。
データ構造610は、配列、レコード、関係データベーステーブル、ハッシュテーブル、リンクリスト、または他の種類のデータ構造を含むがこれらに限定されない異なる種類のデータ構造のうち1つのデータ構造またはそれらの組み合わせとして実現されてもよい。例示の目的のために、データ構造610は、特定の数のフィールドを有する構成で示されているが、示されたものよりも多いフィールドまたは少ないフィールドを有する異なる構成に定義されてもよい。データ構造610の各インスタンスは、例えばアクションプロセスデータストア166などのデータストアに保存されてもよい。
データ構造610のフィールド612は、アクションプロセスオブジェクトに対応するある変更イベントの種類に応じて実行されるアクションプロセスを特定する情報を含むことができる。アクション処理の例としては、ポリシーの変更処理、アプリケーションの変更処理および同期設定の変更処理を含むがこれに限定されない。変更イベントの種類によって、実行されるアクションプロセスが異なってもよい。いくつかの実施形態において、単一種類の変更イベントに応じて、異なるアクションプロセスを定義してもよく、その種類の変更イベントには、異なる変更を関連付けてもよい。
データ構造610は、変更イベントをリモート装置に伝送する状態を示す情報を含むフィールド614(「変更イベントの状態」)を含むことができる。コンピューティングノードは、フィールド614の情報を用いて、変更イベントに応じて実行されているアクションプロセスの状態を判断することができる。変更イベント状態の例として、保留、エラー、再試行、または承認済みを含むがこれらに限定されない。例えば、コンピューティングノードは、各リモート装置がアクションプロセスを行うためのリモート装置に伝送された変更イベントを承認したか否かを判断することができる。リモート装置は、開始時にアクションプロセスに渡された変更イベントオブジェクトによって特定されてもよい。コンピューティングノードは、変更イベントの状態に基づいて、変更イベントに対応するアクションプロセスの実行を再試行するか否かを判断することができる。
アクションプロセスは、アクションプロセスクラス内の1つ以上のルーチンによって定義されてもよい。ルーチンは、アクションプロセスを実行するためのコード(例えば、命令)を含むことができる。アクションプロセスクラスに基づいてインスタンス化されたアクションプロセスオブジェクトを用いて、ルーチンを呼び出すことができる。例えば、アクションプロセスクラスは、実行ルーチン(例えば、run()ルーチン)を含むことができる。このアクションプロセスクラスは、実行プロセスオブジェクトに応じて呼び出されると、ルーチンを実行し始める。いくつかの実施形態において、実行メソッドは、変更イベントに関する情報を示す変更イベントオブジェクトを受け入れることができる。実行メソッドは、変更イベントオブジェクト内の情報を用いて、変更イベントに応じてアクションプロセスを実行することができる。
アクションプロセスクラスは、変更イベントの種類に関連付けられたアクセス権の変更に特有である1つ以上のルーチンを含むことができる。一部のルーチンは、変更イベントに応じてアクションプロセスを実行するようにリモート装置に指示するコードを含み得る。ルーチンは、変更イベントをリモート装置に送信し、変更イベントに応じてアクションプロセスを実行するようリモート装置に指示するコードを含むことができる。例えば、フィールド612がポリシーの変更を示す場合、アクションプロセスは、リモート装置上のポリシーの変更を含むことができる。ルーチンは、変更イベントに関する情報およびリモート装置上で変更されるポリシーをリモート装置に送信することができる。
以下は、アクションプロセスクラスの一例である。
上記の例において、実行ルーチン(例えば、run())を呼び出すことによって、リモート装置上のポリシーの更新を含むアクションプロセスを開始することができる。実行ルーチンは、アクションクラスによって定義された他のルーチンを呼び出すことができる。いくつかの実施形態において、アクションプロセスクラスは、アクションプロセスに関連する1つ以上の追加ルーチンを備えたアプリケーションプログラミングインターフェイス(API)を含むことができる。ルーチンは、アクションプロセスクラスのためにインスタンス化されたアクションプロセスオブジェクトに対応するアクションプロセスクラスによって呼び出されてもよい。ルーチンの例は、「setTaskFailed()」および「setTaskCompleted()」を含むことができる。これらのルーチンによって、アクションプロセスに関する情報をデータ構造610に保存することができる。例えば、「setTaskFailed()」を呼び出すことによって、「エラー」という変更イベントの状態を示すアクションプロセスオブジェクトの情報をフィールド614に保存することができる。別の例において、「setTaskCompleted()」を呼び出すことによって、「承認済み」という変更イベントの状態を示す情報をフィールド614に保存することができる。実行メソッドは、実行メソッドを呼び出すために使用されたアクションプロセスオブジェクト内のフィールド614によって示された変更イベントの状態に基づいて、アクションプロセスの実行を判断することができる。
データ構造610は、変更イベントに応じてアクションプロセスを再試行するための設定を示すフィールド616(「再試行設定」)を含むことができる。再試行設定は、変更イベントの種類などのさまざまな要因に依存することができる。再試行設定は、アクションプロセスを試行する回数を示すことができる。コンピューティングノードおよび装置アクセス管理システム120は、再試行設定を用いて、リモート装置によって承認されなかった変更イベントに応じて、再びアクションプロセスを呼び出すか否かを判断することができる。
データ構造610のフィールド618は、変更イベントオブジェクトを含むことができる。フィールド618は、ストレージ内の変更イベントオブジェクトへの参照を示すことができ、または情報を変更イベントオブジェクト自体に含むことができる。フィールド618を用いて、実行メソッドに渡される変更イベントオブジェクトを保存することができる。コンピューティングノードは、フィールド618に参照される変更イベントオブジェクトの変更イベント状態を更新することができる。いくつかの実施形態において、アクションクラスの実行メソッドは、フィールド618から参照される変更イベントオブジェクト内の情報を利用することができる。
図7は、本発明のいくつかの実施形態に従って、さまざまな種類の変更イベントオブジェクトを表すデータ構造710、730および750の例を示す図である。データ構造710、730および750の各々は、企業システムへのアクセス権の変更に関する情報を含む変更イベントオブジェクトの例を表す。上述したように、変更イベントオブジェクトに関する情報は、変更イベントオブジェクトによって特定された変更イベントに影響される各リモート装置に送信されてもよい。いくつかの実施形態において、変更イベントオブジェクトを送信して、変更イベントに関する情報を提供することができる。変更イベントオブジェクト内の情報を用いて、変更イベントオブジェクトによって示された変更に従って企業システムへのアクセス権を調整するようにリモート装置が実行する処理を判断することができる。
メタデータクラスに基づいて、変更イベントオブジェクトを定義することができる。メタデータクラスに基づいて、変更イベントオブジェクトをインスタンス化することができる。データ構造710、730および750のようなデータ構造は、メタデータクラスに基づいてインスタンス化された変更イベントオブジェクトとして作成されてもよい。メタデータクラスは、そのメタデータクラスに基づいてインスタンス化された変更イベントオブジェクトに保存された情報の種類を定義することができる。各種類の変更イベントに応じて、異なるメタデータクラスを定義することができる。変更イベントオブジェクトは、変更イベントに関する1つ以上の情報フィールドを含むことができる。フィールドは、変更イベントオブジェクトをインスタンス化するメタデータクラスに基づいて定義されてもよい。したがって、変更イベントオブジェクトは、変更イベントの種類に応じて、メタデータクラスに基づいて定義されたフィールドを含むことができる。異なるメタデータクラスの例は、以下に説明される。いくつかの実施形態において、変更イベントオブジェクトは、Java(登録商標)クラスに基づいて定義された通常のJava(登録商標)オブジェクトであってもよい。
データ構造710、730および750の各々は、配列、レコード、関係データベーステーブル、ハッシュテーブル、リンクリスト、または他の種類のデータ構造を含むがこれらに限定されない異なる種類のデータ構造のうち1つのデータ構造またはそれらの組み合わせとして実現されてもよい。例示の目的のために、データ構造710、730および750の各々は、特定の数のフィールドを有する構成で示されているが、示されたものよりも多いフィールドまたは少ないフィールドを有する異なる構成に定義されてもよい。データ構造710、730および750の各々の各インスタンスは、例えば変更イベントデータストア164などのデータストアに保存されてもよい。
データ構造710は、ポリシーの変更として分類された一種の変更イベントに対応する変更イベントオブジェクトの例である。データ構造710のフィールド712(「変更イベントの種類」)は、「ポリシーの変更」を一種の変更イベントとして特定する情報を含むことができる。ポリシーの変更の例として、遵守ポリシーの変更、登録ポリシーの変更、ワークスペースポリシーの変更、および装置ポリシーの変更を含むがこれらに限定されない。
以下は、ポリシーの変更に応じて定義されたメタデータクラス(「ポリシー変更クラス」)の例である。
いくつかの実施形態において、メタデータクラスは、そのクラスに基づいてインスタンス化されたオブジェクトに保存された情報を取得するためのルーチンを含むことができる。たとえば、上記のポリシー変更クラスは、変更イベントオブジェクトに保存された情報を取得するためのルーチン、例えばgetEndpointIds()、setEndpointIds()およびgetType()を含むことができる。
フィールド714(「ポリシーの種類」)は、企業システムにアクセスするために変更されたポリシーの種類を示す情報を含む。ポリシーの種類は、データ構造710をインスタンス化するメタデータクラス内で定義することができる。ポリシーの種類の例として、登録ポリシー、遵守ポリシー、ワークスペースポリシー、および装置ポリシーを含むがこれらに限定されない。
いくつかの実施形態において、データ構造710は、変更されたポリシーに関する情報を示すポリシー情報フィールド716(「ポリシー情報」)を含むことができる。フィールド716は、変更されたポリシーのポリシー名、ポリシー、ポリシー識別子、およびそのポリシーを特定する他の情報を含むがこれらに限定されない。
データ構造710のフィールド718(「アプリケーション更新」)は、ポリシーの変更によって変更されたアプリケーションを特定する情報を含むことができる。いくつかの実施形態において、ポリシー変更クラスは、ポリシーに応じて追加または削除されたアプリケーションを定義することができる。
データ構造710のフィールド720(「設定の更新」)は、ポリシーの変更に応じて変更された設定(例えば、同期設定)を特定する情報を含むことができる。いくつかの実施形態において、ポリシー変更クラスは、ポリシーに応じて追加または削除された設定を定義することができる。
データ構造710のフィールド722(「グループの更新」)は、ポリシーの変更に応じて変更されたユーザグループを特定する情報を含むことができる。いくつかの実施形態において、ポリシー変更クラスは、ポリシーに応じて追加または削除されたグループを定義することができる。ユーザグループは、1つ以上の役割に関連付けられたユーザのグループとして定義されてもよい。
データ構造710のフィールド724(「装置識別子」)は、装置識別子などの装置情報を含むことができる。各装置識別子は、データ構造710によって表された変更に影響されるリモート装置を特定することができる。
データ構造730は、アプリケーションの変更として分類された一種の変更イベントに対応する変更イベントオブジェクトの一例である。データ構造730のフィールド732(「変更イベントの種類」)は、「アプリケーションの変更」を一種の変更イベントとして特定する情報を含むことができる。アプリケーションの変更の例として、複数のリモート装置に利用可能なアプリケーションのカタログにアプリケーションの追加、カタログからアプリケーションの削除、カタログ内のアプリケーションのバージョンの変更、アプリケーションへのアクセス権の変更、リモート装置にプッシュできるアプリケーションへのアクセス権の変更、または他の種類のアプリケーションの変更を含むがこれらに限定されない。
以下は、ポリシーの変更に応じて定義されたメタデータクラス(「ポリシー変更クラス」)の例である。
データ構造730のフィールド734(「アプリケーション識別子」)は、変更された1つ以上のアプリケーションの識別子に関する情報を含むことができる。アプリケーション識別子を使用して、ストレージ内のアプリケーションを参照することができる。
データ構造730のフィールド736(「旧バージョン」)は、変更前のアプリケーションのバージョン識別子を含むことができる。フィールド738(「新バージョン」)は、変更後のアプリケーションのバージョン識別子を含むことができる。リモート装置は、古いバージョンと新たなバージョンとの間のバージョン変更に基づいて、アプリケーションを更新するか否かを判断することができる。
データ構造730のフィールド738(「配信情報」)は、変更されたアプリケーションをさらに特定するために使用される配信識別子に関する情報を含むことができる。
データ構造730のフィールド740(「装置識別子」)は、装置識別子などの装置情報を含むことができる。各装置識別子は、データ構造730によって表された変更に影響されるリモート装置を特定することができる。
データ構造750は、同期設定の変更として分類された一種の変更イベントに対応する変更イベントオブジェクトの例である。データ構造750のフィールド752(「変更イベントの種類」)は、「同期設定の変更」を一種の変更イベントとして特定する情報を含むことができる。
データ構造750のフィールド754(「同期設定」)は、変更された1つ以上の同期設定(例えば、設定1、設定2など)に関する情報を含むことができる。設定の例として、セキュアなワークスペースの1つ以上のクライアント設定および/または1つ以上のリモート装置設定、例えば電子メール設定、ネットワーク設定(例えば、仮想プライベートネットワーク設定またはWifi(登録商標)設定)を含むがこれらに限定されない。いくつかの実施形態において、フィールド754は、変更された設定自体、または変更された設定を保存するストレージへの参照を含むことができる。
データ構造750のフィールド756(「更新」)は、同期設定に対する変更の種類に関する情報を含むことができる。変更の種類の例は、設定の追加、設定の削除、または設定の更新を含む。
データ構造750のフィールド758(「装置識別子」)は、装置識別子などの装置情報を含むことができる。各装置識別子は、データ構造750によって表された変更に影響されるリモート装置を特定することができる。
図8を参照して、本発明のいくつかの実施形態に従って、変更イベントを企業システムにアクセスするリモート装置に伝送するプロセスを示すフローチャート800である。いくつかの実施形態において、図8に示すプロセスは、図1〜図4に示された装置アクセス管理システム120および/または1つ以上のコンピューティングノードを用いて実施することができる。
フローチャート800に示されたプロセスは、1つ以上の処理ユニット(例えば、プロセッサコア)、ハードウェア、またはそれらの組み合わせによって実行されるソフトウェア(例えば、コード、命令、プログラム)に実施されてもよい。ソフトウェアは、(例えば、メモリ装置または非一時的なコンピュータ読取可能な記憶媒体上の)メモリに保存されてもよい。フローチャート800の特定の一連の処理ステップは、限定することを意図していない。別の実施形態に従って、他の一連のステップを実行することもできる。例えば、本発明の代替の実施形態は、異なる順序で上述したステップを実行することができる。さらに、図8に示された各ステップは、複数のサブステップを含み、これらの複数のサブステップは、各ステップに応じてさまざまな順序で実行されてもよい。さらに、特定のアプリケーションに応じて、ステップを追加してもよく、削除してもよい。図8に示された処理が企業システムへのアクセス権の単一の変更に関するものであるが、この処理は、企業システムへのアクセス権の複数の変更に応じて実行されてもよい。図8に示された処理が企業システムへのアクセス権に対応する単一種類の変更イベントに関するものであるが、この処理は、企業システムへのアクセス権に対応する複数種類の変更イベントに応じて実行されてもよい。当業者であれば、多くの変形例、変更例および代替例を認識するであろう。
フローチャート800の処理は、ステップ802において、複数のリモート装置のために、企業システムへのアクセス権の変更に対応する変更イベントの種類を判断することによって開始される。例えば、装置アクセス管理システム120は、企業コンピュータシステム150へのアクセス権の変更に対応する変更イベントを特定し、変更イベントの種類を判断することができる。装置アクセス管理システム120は、企業システムへのアクセス権を管理することができる。アクセスの管理は、リモート装置の遵守ポリシーの管理、リモート装置に配布されたアプリケーションの管理、および/またはリモート装置と企業システムとの通信に関する同期設定の管理を含む。
変更イベントの種類は、例えば、ポリシーの変更、アプリケーションの変更、企業システムへのアクセス権に関連する同期設定の変更、または企業システムへのアクセス権に関連する他の種類の特定可能な変更を含むことができる。変更イベントは、リモート装置を使用して企業システムへのアクセス権の変更に個別にまたは組み合わせで対応する1つ以上のイベントに対応することができる。いくつかの実施形態において、変更イベントは、複数種類の変更イベントに対応することができる。
1種類の変更イベントは、例えば、ポリシーの変更である。ポリシーの変更の例として、企業システムにアクセスするための遵守ポリシーの変更、企業システムにアクセスするようにリモート装置を登録するための登録ポリシーの変更、企業システムにアクセスするリモート装置上のワークスペースに関するワークスペースポリシーの変更、または企業システムにアクセスするリモート装置の装置ポリシーの変更を含むことができる。ポリシーの変更は、ポリシーが作成、更新または削除されるときに特定できる。ポリシーの変更は、変更イベントとして特定できる。リモート装置を用いて企業システムへのアクセス権に関連するポリシーが変更されたときに、変更イベントの種類を判断することができる。
例えば、別種類の変更イベントは、アプリケーションの変更である。アプリケーションの変更の例として、複数のリモート装置に利用可能なアプリケーションカタログにアプリケーションの追加、カタログからアプリケーションの削除、カタログ内のアプリケーションのバージョン変更、または、企業システムにアクセスするアプリケーションに関連する他の変更を含むことができる。アプリケーションが変更されまたは企業システムのユーザに利用可能なアプリケーショングループに追加される場合、アプリケーションの変更が変更イベントとして特定されてもよい。
さらに別種類の変更イベントは、例えば、企業システムへのアクセス権に関連する同期設定の変更である。同期設定の変更の例として、ポリシー同期期間の変更またはアプリケーション同期設定の変更を含むことができる。
ステップ804において、変更イベントの種類に関連付けられたアクションプロセスクラスを特定することができる。上述したように、アクションプロセスオブジェクトは、アクションプロセスクラスによって定義された情報を保存するデータ構造に対応することができる。アクションプロセスクラスは、一種類以上の変更イベントに関連付けられてもよい。アクションプロセスクラスは、アクションプロセスクラスに関連する一種類以上の変更イベントに応じてリモート装置上で実行すべくアクションプロセスを定義することができる。したがって、アクションプロセスオブジェクトは、アクションプロセスオブジェクトを定義するアクションプロセスクラスに関連付けられた一種類以上の変更イベントに関連付けられてもよい。アクションプロセスクラスは、変更イベントの種類(例えば、ステップ802に判断された変更イベントの種類)に基づいて特定することができる。
ステップ806において、1つ以上のコンピューティングノードの処理負荷を判断することができる。例えば、装置アクセス管理システム120は、各コンピューティングノード222の処理負荷を判断することができる。コンピューティングノードの処理負荷は、そのコンピューティングノードの処理能力および/またはそのコンピューティングノードによって処理される作業の現在量を示す値に対応してもよい。いくつかの実施形態において、1つ以上の第三者システムを用いて、コンピューティングノードの処理負荷を示す値を決定することができる。
さまざまな測定値を計算することによって、処理負荷を確定することができる。これらの測定値は、個別にまたはまとめて、コンピューティングノードの処理負荷を示すことができる。一例において、コンピューティングノードが管理できる変更イベントの数を示す値を計算することによって、コンピューティングノードの処理負荷を確定することができる。別の例において、コンピューティングノードによって実行されているアクションプロセス(例えば、アクションプロセスクラスに基づいて形成されたアクションプロセスオブジェクトを用いて開始されたアクションプロセス)の数を計算することによって、コンピューティングノードの処理負荷を確定することができる。
ステップ808において、アクセス変更に対応するアクションプロセスを実行する一組のコンピューティングノードを選択することができる。一組のコンピューティングノードは、複数のコンピューティングノードから選択できる。一組のコンピューティングノードは、1つ以上のコンピューティングノードを含むことができる。例えば、装置アクセス管理システム120は、コンピューティングノード222から、一組のコンピューティングノード(例えば、コンピューティングノード222−1および222−2を含む一組のコンピューティングノード)を選択することができる。
一組のコンピューティングノードは、複数のコンピューティングノードの各々の処理負荷(例えば、ステップ806で判断された処理負荷)に基づいて選択されてもよい。一組のコンピューティングノードの各コンピューティングノードは、処理負荷閾値に基づいてコンピューティングノード組に選択されてもよい。いくつかの実施形態において、一組のコンピューティングノードに選択された各コンピューティングノードは、処理負荷閾値を満たす処理負荷を有することができる。一例において、コンピューティングノードが処理できる変更イベントの閾値数に基づいて、処理負荷閾値を定義することができる。別の例において、コンピューティングノードが開始した処理の閾値数として定義されたアクションプロセス閾値に基づいて、処理負荷閾値を定義することができる。この例において、各コンピューティングノードの処理負荷がアクションプロセス閾値を満たすように、処理負荷閾値に基づいて、一組のコンピューティングノードの各コンピューティングノードを選択してもよい。
フローチャート800の処理は、1つ以上の後続プロセスフロー、例えばプロセスフロー820およびプロセスフロー830を含むことができる。アクションプロセス(たとえば、ステップ804で特定されたアクションプロセスクラスによって定義されたアクションプロセス)を各プロセスフローにおいて実施することができる。各プロセスフローは、企業システムにアクセスする複数のリモート装置のうち、変更された一組のリモート装置に対して実施されてもよい。プロセスフロー(例えば、プロセスフロー820)を行うための一組のリモート装置(例えば、装置組306)内の各リモート装置は、異なるプロセスフロー(例えば、プロセスフロー830)を行うための一組のリモート装置(例えば、装置組308)内の各リモート装置と異なってもよい。いくつかの実施形態において、これらのプロセスフローは、互いに並行して実行されてもよい。
図8の例において、プロセスフロー820は、ステップ802で変更イベントの種類を判断した複数のリモート装置のうち、第1組のリモート装置(例えば、装置組306)に対して実施することができる。ステップ810において、第1組のリモート装置の変更イベントオブジェクトを設定することができる。上述のように、変更イベントオブジェクトは、情報を保存するデータ構造に対応することができる。変更イベントオブジェクトに保存される情報は、変更イベントクラスに基づいて定義されてもよい。変更イベントオブジェクトは、企業システムへのアクセス権の変更に関する情報を示すことができる。複数種類の変更イベントの各々に応じて、異なる変更イベントクラスを定義することができる。変変更イベントの種類に基づいて、変更イベントオブジェクトを設定することができる。変更イベントの種類に対応する変更イベントクラスを用いて、変更イベントオブジェクトを設定することができる。
第1組の装置のアクセス変更に対応して、変更イベントオブジェクトを設定してもよい。アクセス権が変更された装置の組に対応する変更イベントエントリをキュー(例えば、図1の変更イベントキュー124)に配置してもよい。いくつかの実施形態において、変更イベントエントリをデータ構造として定義することができる。変更イベントエントリは、変更イベントの種類に対応する変更イベントに応じて保存された情報の種類を示すことができる。例えば、変更イベントオブジェクトと同様に、アクセス権の変更に対する変更イベントの種類に対応する変更イベントクラスに基づいて、変更イベントエントリを定義することができる。変更イベントエントリは、第1組の装置のアクセス権の変更を示す情報および変更イベントの種類を含むことができる。変更イベントエントリは、第1組のリモート装置の各リモート装置を特定する情報を含むことができる。変更イベントオブジェクトの設定は、キューに配置された第1組のリモート装置の変更イベントエントリに基づいて、変更イベントオブジェクトをインスタンス化することを含むことができる。いくつかの実施形態において、変更イベントオブジェクトは、一旦設定されると、変更イベントオブジェクトを設定した装置組を特定する情報を含むことができる。
ステップ812において、第1アクションプロセスオブジェクトに応じてアクションプロセスを開始する。アクションプロセスは、ステップ804で特定されたアクションプロセスクラスに応じて定義することができる。第1アクションプロセスオブジェクトに応じてアクションプロセスをインスタンス化することは、アクションプロセスクラスに基づいて第1アクションプロセスオブジェクトを設定することを含むことができる。第1アクションプロセスオブジェクトは、アクションプロセスクラスをインスタンス化することによって設定することができる。アクションプロセスクラスをインスタンス化する際に、変更イベントオブジェクト、例えば、ステップ810で設定された変更イベントオブジェクトは、アクションプロセスクラスに渡される。第1アクションプロセスオブジェクトに応じてアクションプロセスをインスタンス化することは、第1アクションプロセスオブジェクトを用いて、アクションプロセスを呼び出すことを含むことができる。アクションプロセスクラスで提供されたルーチンを呼び出すことによって、アクションプロセスを呼び出すことができる。アクションプロセスを呼び出すと、第1アクションプロセスオブジェクトをルーチンに渡すことができる。
プロセスフロー830は、第2組のリモート装置(例えば、装置組308)に対して実施することができる。ステップ814において、ステップ802で変更イベントの種類を判断した複数のリモート装置のうち、第2組のリモート装置の変更イベントオブジェクトを設定することができる。第2組のリモート装置のアクセス変更に応じて、変更イベントオブジェクトを設定することができる。
ステップ816において、第2アクションプロセスオブジェクトに応じてアクションプロセスを開始する。アクションプロセスは、ステップ804で特定されたアクションプロセスクラスに応じて定義することができる。第2アクションプロセスオブジェクトに応じてアクションプロセスをインスタンス化することは、アクションプロセスクラスに基づいて第2アクションプロセスオブジェクトを設定することを含むことができる。第2アクションプロセスオブジェクトは、アクションプロセスクラスをインスタンス化することによって設定することができる。アクションプロセスクラスをインスタンス化する際に、変更イベントオブジェクト、例えば、ステップ810で設定された変更イベントオブジェクトは、アクションプロセスクラスに渡される。第2アクションプロセスオブジェクトに応じてアクションプロセスをインスタンス化することは、第2アクションプロセスオブジェクトを用いて、アクションプロセスを呼び出すことを含むことができる。アクションプロセスクラスで提供されたルーチンを呼び出すことによって、アクションプロセスを呼び出すことができる。アクションプロセスを呼び出すと、第2アクションプロセスオブジェクトをルーチンに渡すことができる。いくつかの実施形態において、ステップ810で第1アクションプロセスオブジェクトに応じて開始されたアクションプロセスは、ステップ816で第2アクションプロセスオブジェクトに応じて開始されたアクションプロセスと並行に実行することができる。
フローチャート800の処理は、ステップ818で終了する。すなわち、プロセスフロー(例えば、プロセスフロー820およびプロセスフロー830)の各々は、処理を完了した後に終了する。
図9は、一実施形態を実施するための分散システム900を示す簡略図である。図示の実施形態において、分散システム900は、1つ以上のクライアントコンピューティング装置902、904、906および908を含む。クライアントコンピューティング装置902、904、906および908は、ネットワーク910を介して、ウェブブラウザまたは専用クライアント(例えば、Oracleフォーム)などのクライアントアプリケーションを実行および動作させるように構成される。サーバ912は、ネットワーク910を介して、リモートクライアントコンピューティング装置902、904、906および908と通信可能に接続されてもよい。
さまざまな実施形態において、サーバ912は、リモート装置を用いて企業システムへのアクセス権に関連するイベントを管理するための装置アクセス管理システムを実現することができる1つ以上のサービスまたはソフトウェアアプリケーションを実行するように構成されてもよい。特定の実施形態において、サーバ912は、非仮想環境および仮想環境を含むことができる他のサービスまたはソフトウェアアプリケーションを提供することができる。いくつかの実施形態において、これらのサービスは、クライアントコンピューティング装置902、904、906および/または908のユーザに対して、ウェブベースまたはクラウドサービスとして、またはSaaS(Software as a Service)モデルとして提供されてもよい。ユーザは、クライアントアプリケーション902、904、906および/または908を操作することによって、1つ以上のクライアントアプリケーションを利用して、サーバ912と情報交換して、これらの要素によって提供されたサービスを利用することができる。
図9に示された構成において、システム900のソフトウェア要素918、920および922は、サーバ912上に実装されたものとして示されている。他の実施形態において、システム900の1つ以上の構成要素および/またはこれらの構成要素によって提供されたサービスは、1つ以上のクライアントコンピューティング装置902、904、906および/または908によって実現されてもよい。クライアントコンピューティング装置を操作するユーザは、1つ以上のクライアントアプリケーションを利用して、これらの構成要素によって提供されたサービスを使用することができる。これらの構成要素は、ハードウェア、ファームウェア、ソフトウェア、またはそれらの組み合わせで実現されてもよい。理解すべきことは、分散型システム900と異なって、さまざまな異なるシステム構成が可能であることである。図9に示されたシステムは、実施形態を実施するための分散型システムの一例であり、限定することを意図していない。
クライアントコンピューティング装置902、904、906および/または908は、さまざまな種類のコンピューティングシステムを含むことができる。例えば、クライアントコンピューティング装置は、Microsoft Windows Mobile(登録商標)のようなソフトウェア、および/またはiOS、Windows Phone(登録商標)、Android(登録商標)、BlackBerry(登録商標)10、Palm OSなどのさまざまなモバイルオペレーティングシステムを実行する手持ち式携帯装置装置(例えば、iPhone(登録商標)、携帯電話、iPad(登録商標)、コンピューティングタブレット、携帯情報端末(PDA))または装着型装置(例えば、Google Glass(登録商標)ヘッドマウントディスプレイ)を含むことができる。これらの装置は、さまざまなアプリケーション、例えばさまざまなインターネット関連アプリケーション、メールアプリケーションおよびショートメッセージングサービス(SMS)アプリケーションをサポートすることができ、さまざまな他の通信プロトコルを使用することができる。また、例示として、Microsoft Windows(登録商標)オペレーティングシステム、Apple Macintosh(登録商標)オペレーティングシステムおよび/またはLinux(登録商標)オペレーティングシステムのさまざまなバージョンを動かすパーソナルコンピュータおよび/またはラップトップコンピュータを含む汎用のパーソナルコンピュータであってもよい。クライアントコンピューティング装置は、たとえば、さまざまなGNU/Linuxオペレーティングシステム、たとえば、Google Chrome OSを含むがこれに限定されない市販のUNIX(登録商標)またはUNIXに類似するさまざまなオペレーティングシステムを動かすワークステーションコンピュータであってもよい。さらに、クライアントコンピューティング装置は、ネットワーク910を介して通信可能な他の電子機器、例えばシンクライアントコンピュータ、インターネット対応のゲームシステム(たとえば、Kinect(登録商標)ジェスチャ入力装置を備えるまたは備えないMicrosoft Xboxゲームコンソール)、および/またはパーソナルメッセージング装置などであってもよい。
図9の分散システム900は、4つのクライアントコンピューティング装置を備えると示されているが、任意数のクライアントコンピューティング装置をサポートすることができる。他の装置、たとえばセンサを有する装置は、サーバ912と情報交換することができる。
分散型システム900のネットワーク910は、TCP/IP(伝送制御プロトコル/インターネットプロトコル)、SNA(システムネットワークアーキテクチャ)、IPX(インターネットパケット交換)、およびAppleTalkなどを含むがこれらに限定されないさまざまな市販プロトコルのいずれかを使用してデータ通信をサポートすることができ、当業者に熟知される任意種類のネットワークであってもよい。単なる例示として、ネットワーク910は、ローカルエリアネットワーク(LAN)、イーサネット(登録商標)に基づくネットワーク、トークンリング、広域ネットワーク、インターネット、仮想プライベートネットワーク(VPN)、イントラネット、エクストラネット、公衆交換電話網(PSTN)、赤外線ネットワーク、無線ネットワーク(たとえば、IEEE(Institute of Electrical and Electronic Engineers)802.11プロトコルスイート、Bluetooth(登録商標)、および/または任意の他の無線プロトコルの下で動作するネットワーク)および/またはこれらのネットワークと他のネットワークの組み合わせを含むことができる。
サーバ912は、1つ以上の汎用コンピュータ、専用サーバコンピュータ(例示として、PC(パーソナルコンピュータ)サーバ、UNIX(登録商標)サーバ、ミッドレンジサーバ、メインフレームコンピュータ、ラックマウントサーバを含む)、サーバファーム、サーバクラスタ、または任意の他の適切な構成および/または組み合わせから構成されてもよい。サーバ912は、仮想オペレーティングシステムを動かす1つ以上の仮想マシン、または仮想化に関与する他のコンピューティングアーキテクチャを含むことができる。論理記憶装置の1つ以上のフレキシブルプールを仮想化して、サーバの仮想記憶装置を維持することができる。仮想ネットワークは、ソフトウェア定義ネットワークを用いて、サーバ912によって制御することができる。さまざまな実施形態において、サーバ912は、前述の開示に記載された1つ以上のサービスまたはソフトウェアアプリケーションを実行するように構成することができる。例えば、サーバ912は、本開示の実施形態に従って上記に説明した処理を実行するためのサーバに対応することができる。
サーバ912は、上述したものいずれかを含むオペレーティングシステム、および任意の市販サーバオペレーティングシステムを動かすことができる。サーバ912は、HTTP(ハイパーテキスト転送プロトコル)サーバ、FTP(ファイル転送プロトコル)サーバ、CGI(共通ゲートウェイインターフェイス)サーバ、Java(登録商標)サーバ、データベースサーバなどを含むさまざまな追加サーバアプリケーションおよび/またはミッドティアアプリケーションのいずれかを実行することができる。例示的なデータベースサーバは、Oracle(登録商標)、Microsoft(登録商標)、Sybase(登録商標)、IBM(登録商標)などの会社から市販されているものを含むがこれらに限定されない。
いくつかの実現例において、サーバ912は、クライアントコンピューティング装置902、904,906、および908のユーザから受信したデータフィードおよび/またはイベント更新を分析および統合する1つ以上のアプリケーションを含んでもよい。例示として、データフィードおよび/またはイベント更新は、Twitter(登録商標)フィード、Facebook(登録商標)更新または1つ以上の第3情報源および連続データストリームから受信したリアルタイム更新を含むがこれらに限定されない。リアルタイム更新は、センサデータアプリケーション、金融相場表示機、ネットワーク性能測定ツール(たとえば、ネットワーク監視およびトラフィック管理アプリケーション)、ページ遷移(Clickstream)解析ツール、自動車交通監視装置などに関連するリアルタイムイベントを含むことができる。また、サーバ912は、クライアントコンピューティング装置902、904、906および908の1つ以上の表示装置を介して、データフィードおよび/またはリアルタイムイベントを表示するための1つ以上のアプリケーションを含むこともできる。
また、分散型システム900は、1つ以上のデータベース914および916を含むこともできる。これらのデータベースは、本発明の実施形態によって使用されるユーザ対話情報、使用パターン情報、適合ルール情報、および他の情報を保存するためのメカニズムを提供することができる。データベース914および916は、さまざまな場所に常駐することができる。例示として、1つ以上のデータベース914および916は、サーバ912の近く(および/またはその中)の非一時記憶媒体に常駐することができる。代替的には、データベース914および916は、リモートサーバ912から離れており、ネットワークに基づく接続または専用接続を介して、サーバ912と通信している。一組の実施形態において、データベース914および916は、保存領域ネットワーク(SAN)に常駐することができる。同様に、サーバ912に帰する機能を実行するための任意の必要なファイルは、必要に応じて、サーバ912上に/またはサーバ912から離れた場所に保存されてもよい。一組の実施形態において、データベース914および916は、たとえば、Oracleにより提供されるデータベースなどの関係データベースを含むことができる。これらの関係データベースは、SQLフォーマット命令に応じて、データを取得、保存および更新するように構成されている。
いくつかの実施形態において、クラウド環境は、リモート装置を用いて企業システムに対するアクセスに関するイベントを管理するための1つ以上のサービスを提供することができる。図10は、本開示の一実施形態に従って、サービスをクラウドサービスとして提供することができるシステム環境1000の1つ以上の構成要素を示す簡略ブロック図である。図10に示された実施形態において、システム環境1000は、1つ以上のクライアントコンピューティング装置1004、1006および1008を含む。ユーザは、これらのクライアントコンピューティング装置を用いて、クラウドインフラストラクチャシステム1002と情報交換することができる。クラウドインフラストラクチャシステム1002は、リモート装置を用いて企業システムに対するアクセスに関するイベントを管理するサービスを含むクラウドサービスを提供することができる。クラウドインフラストラクチャシステム1002は、サーバ1110について上述したものを含み得る1つ以上のコンピュータおよび/またはサーバを備えることができる。
理解すべきことは、図10に示されたクラウドインフラストラクチャシステム1002は、図示された構成要素以外の構成要素を備えてもよいことである。さらに、図10に示されたものは、本発明の実施形態を組み込むことができるクラウドインフラストラクチャシステムの一例に過ぎない。いくつかの他の実施形態において、クラウドインフラストラクチャシステム1002は、図示よりも多いまたは少ない構成要素を有してもよく、2つ以上の構成要素を組み合わせてもよく、または異なる構成または配置の構成要素を有してもよい。
クライアントコンピューティング装置1004、1006、および1008は、クライアントコンピューティング装置902、904、906、および908と同様であってもよい。クライアントコンピューティング装置1004、1006、および1008は、ウェブブラウザ、専用クライアントアプリケーション(たとえば、Oracleフォーム)または他のアプリケーションなどのクライアントアプリケーションを作動するように構成されることができる。ユーザは、クライアントアプリケーションを用いてクラウドインフラストラクチャシステム1002と情報交換することによって、クラウドインフラストラクチャシステム1002により提供されたサービスを利用することができる。例示的なシステム環境1000は、3つのクライアントコンピューティング装置を備えると示されているが、任意数のクライアントコンピューティング装置をサポートすることができる。他の装置、たとえばセンサを有する装置は、クラウドインフラストラクチャシステム1002と情報交換することができる。
ネットワーク1010は、クライアント1004、1006および1008とクラウドインフラストラクチャシステム1002との間のデータの通信および交換を促進することができる。各ネットワークは、上記でネットワーク910に関して説明したプロトコルをさまざまな市販プロトコルのいずれかを用いてデータ通信をサポートすることができ、当業者に熟知する任意種類のネットワークであってもよい。
特定の実施形態において、クラウドインフラストラクチャシステム1002によって提供されたサービスは、需要に応じて、クラウドインフラストラクチャシステムからユーザに提供できる多くのサービスを含んでよい。リモート装置を使用して企業システムに対するアクセスに関するイベントの管理に関連するサービスに加えて、オンラインデータの保存およびバックアップ、Webベースの電子メールサービス、ホストされたオフィススイートおよび文章連携サービス、データベース処理、管理された技術サポートサービスを含むがこれらに限定されないさまざまなサービスを提供することができる。クラウドインフラストラクチャシステムによって提供されるサービスは、ユーザのニーズを満たすように動的に拡張できる。
特定の実施形態において、クラウドインフラストラクチャシステム1002によって提供されたサービスの特定の例示は、本明細書において、「サービスインスタンス」と呼ばれる。一般的には、インターネットなどの通信ネットワークを介して、クラウドサービスプロバイダのシステムからユーザに提供できる任意のサービスは、「クラウドサービス」と呼ばれる。典型的には、パブリッククラウド環境において、クラウドサービスプロバイダのシステムを構成するサーバおよびシステムは、顧客のオンプレミスサーバおよびシステムとは異なる。たとえば、クラウドサービスプロバイダのシステムは、アプリケーションを提供することができ、ユーザは、必要に応じて、インターネットなどの通信ネットワークを介して、アプリケーションを注文し、使用することができる。
いくつかの例において、コンピュータネットワーククラウドインフラストラクチャ内のサービスは、保護されたコンピュータネットワークのストレージアクセス、ホストされたデータベース、ホストされたWebサーバ、ソフトウェアアプリケーション、またはクラウドベンダによってユーザに提供された他のサービス、または当該技術分野に知られている他のサービスを含むことができる。たとえば、サービスは、インターネットを介して、クラウド上のリモートストレージに対して、パスワードにより保護されたアクセスを含むことができる。別の例として、サービスは、Webサービスにホストされている関係データベースおよびネットワーク上の開発者により私的使用のためのスクリプト言語ミドルウェアエンジンを含むことができる。別の例として、サービスは、クラウドベンダのウェブサイト上でホストされている電子メールソフトウェアアプリケーションに対するアクセスを含むことができる。
特定の実施形態において、クラウドインフラストラクチャシステム1002は、セルフサービスのサブスクリプションに基づく、柔軟なスケーラビリティ、信頼性、高可用性および安全性を有する方法で、顧客に提供できる一連のアプリケーション、ミドルウェアおよびデータベースサービスを含むことができる。このようなクラウドインフラストラクチャシステムの例示として、本願譲受人により提供されたOracleパブリッククラウドが挙げられる。
クラウドインフラストラクチャシステム1002はまた、「ビッグデータ」に関連する計算および分析サービスを提供してもよい。「ビッグデータ」という用語は、一般的に非常に大きなデータセットを指す。分析者および研究者が、保存された「ビッグデータ」を利用して、大量のデータを視覚化し、傾向を検出し、および/またはデータと情報交換することができる。このようなビッグデータおよび関連するアプリケーションは、さまざまなレベルおよびさまざまな規模でインフラストラクチャシステムにホストされ、操作されることができる。並行に連結された数十、数百、または数千のプロセッサは、ビッグデータを処理することによって、データを表示することができ、もしくはデータまたはデータの表現に作用する外力をシミュレートすることができる。これらのデータセットは、これらのデータセットは、データベースに編成されたデータまたは構造化モデルに従って編成されたデータなどの構造化データおよび/または非構造化データ(例えば、電子メール、画像、データブロブ(バイナリ大型対象物)、ウェブページ、複合イベント処理)を含むことができる。実施形態の能力を活用して、より多くの(またはより少ない)コンピューティングリソースを比較的迅速に目的物に集中させることによって、クラウドインフラストラクチャシステムは、企業、政府機関、研究機関、個人、個人同士または組織同士のグループまたは他の実体からの需要に基づいて、大きなデータセットに関するタスクの実行により適切になる。
さまざまな実施形態において、クラウドインフラストラクチャシステム1002は、顧客から申込んだクラウドインフラストラクチャシステム1002のサービスを自動的に提供、管理および追跡するように構成されることができる。クラウドインフラストラクチャシステム1002は、さまざまな展開モデルを介して、クラウドサービスを提供することができる。たとえば、サービスは、クラウドサービスを販売する組織に所有された(たとえば、Oracleに所有された)クラウドインフラストラクチャシステム1002を有するパブリッククラウドモデルで提供され、一般人または異なる業界の企業に利用されることができる。別の例として、サービスは、単一の組織に専用されたクラウドインフラストラクチャシステム1002を有するプライベートクラウドモデルで提供され、組織内の1つ以上の実体に利用されることができる。また、クラウドサービスは、集団クラウドモデルで提供されてもよい。よって、クラウドインフラストラクチャシステム1002およびクラウドインフラストラクチャシステム1002により提供されたサービスは、関連する集団内の複数の組織によって共有される。また、クラウドサービスは、2つ以上の異なるモデルの組み合わせからなるハイブリッドクラウドモデルで提供されてもよい。
いくつかの実施形態において、クラウドインフラストラクチャシステム1002によって提供されたサービスは、SaaS(Software as a Service)カテゴリ、PaaS(Platform as a Service)カテゴリ、IaaS(Infrastructure as a Service)カテゴリ、またはハイブリッドサービスを含む他のカテゴリのサービスに準拠して提供された1つ以上のサービスを含むことができる。顧客は、サブスクリプションの申込みによって、クラウドインフラストラクチャシステム1002によって提供された1つ以上のサービスを注文することができる。これに応じて、クラウドインフラストラクチャシステム1002は、顧客のサブスクリプション申込書に含まれたサービスを提供する処理を行う。
いくつかの実施形態において、クラウドインフラストラクチャシステム1002によって提供されたサービスは、アプリケーションサービス、プラットフォームサービスおよびインフラストラクチャサービスを含むがこれらに限定されない。いくつかの例において、アプリケーションサービスは、SaaSプラットフォームを介して、クラウドインフラストラクチャシステムによって提供されてもよい。SaaSプラットフォームは、SaaSカテゴリに準拠するクラウドサービスを提供するように構成されてもよい。たとえば、SaaSプラットフォームは、統合の開発および展開プラットフォーム上でオンデマンドアプリケーションのスイートを構築し、提供するように、機能することができる。SaaSプラットフォームは、SaaSサービスを提供するために、基礎のソフトウェアおよびインフラストラクチャを管理し、制御することができる。SaaSプラットフォームにより提供されたサービスを利用することによって、顧客は、クラウドインフラストラクチャシステム上で動作するアプリケーションを利用することができる。顧客は、別々のライセンスおよびサポートを購入する必要なく、アプリケーションサービスを取得することができる。さまざまな異なるSaaSサービスを提供することができる。例示としては、販売実績管理、企業統合、および大規模組織のビジネス柔軟性に対する解決策を提供するサービスを含むがこれらに限定されない。
いくつかの実施形態において、プラットフォームサービスは、PaaSプラットフォームを介してクラウドインフラストラクチャシステム1002によって提供されてもよい。PaaSプラットフォームは、PaaSカテゴリに準拠するクラウドサービスを提供するように構成されてもよい。プラットフォームサービスの例としては、共有されている共通アーキテクチャ上で既存のアプリケーションを統合する能力、およびプラットフォームにより提供された共有サービスを活用する新規アプリケーションを構築する能力を組織(たとえば、Oracle)に与えるサービスを含むがこれに限定されない。PaaSプラットフォームは、PaaSサービスを提供するために、基礎のソフトウェアおよびインフラストラクチャを管理および制御することができる。顧客は、別々のライセンスおよびサポートを購入する必要なく、クラウドインフラストラクチャシステム1002によって提供されたPaaSサービスを取得することができる。プラットフォームサービスの例としては、oracle Javaクラウドサービス(JCS)、Oracleデータベースクラウドサービス(DBCS)およびその他を含むがこれらに限定されない。
PaaSプラットフォームにより提供されたサービスを利用することによって、顧客は、クラウドインフラストラクチャシステムにサポートされているプログラミング言語およびツールを利用することができ、展開されたサービスを制御することができる。いくつかの実施形態において、クラウドインフラストラクチャシステムによって提供されるプラットフォームサービスは、データベースクラウドサービス、ミドルウェアクラウドサービス(たとえば、Oracle Fusionミドルウェアサービス)、およびJavaクラウドサービスを含むことができる。一実施形態において、データベースクラウドサービスは、データベースリソースを蓄積する能力を組織に与えることができる共有サービス展開モデルをサポートすることができ、DBaaS(Database as a Service)をクラウドデータベースとして顧客に提供することができる。ミドルウェアクラウドサービスは、クラウドインフラストラクチャシステム上でさまざまなビジネスアプリケーションを開発および展開するためのプラットフォームを顧客に提供することができ、Javaクラウドサービスは、クラウドインフラストラクチャシステム上でJavaアプリケーションを展開するためのプラットフォームを顧客に提供することができる。
種々の異なるインフラストラクチャサービスは、IaaSプラットフォームによって、クラウドインフラストラクチャシステムに提供されてもよい。これらのインフラストラクチャサービスは、SaaSプラットフォームおよびPaaSプラットフォームにより提供されたサービスを利用する顧客のために、ストレージ、ネットワークおよびその他の基本的なコンピューティングリソースとしての基礎コンピューティングリソースの管理と制御を容易にする。
特定の実施形態において、クラウドインフラストラクチャシステム1002はまた、クラウドインフラストラクチャシステムを利用する顧客に、さまざまなサービスを提供するために使用されるリソースを提供するためのインフラストラクチャリソース1030を含むことができる。一実施形態において、インフラストラクチャリソース1030は、PaaSプラットフォームおよびSaaSプラットフォームによって提供されたサービスを実行するために、事前に統合され且つ最適化されたハードウェアの組み合わせ、例えばサーバリソース、ストレージリソースおよびネットワークリソース、および他のリソースを含んでもよい。
いくつかの実施形態において、クラウドインフラストラクチャシステム1002内のリソースは、複数のユーザに共有されることができ、各々の需要に応じて動的に再割り当てることができる。また、リソースは、異なるタイムゾーンでユーザに割り当てることができる。たとえば、クラウドインフラストラクチャシステム1002は、指定時間内でクラウドインフラストラクチャシステムのリソースを第一時間帯における第一グループのユーザに利用させ、その後、同様のリソースを異なる時間帯における別のグループのユーザに再配分することができ、リソースを最大に利用することができる。
特定の実施形態において、複数の内部共有サービス1032は、提供され、クラウドインフラストラクチャシステム1002の異なる構成要素またはモジュールに共有されおよびクラウドインフラストラクチャシステム1002によって提供されたサービスに共有されることができる。これらの内部共有サービスは、安全性および識別サービス、統合サービス、企業リポジトリサービス、企業管理サービス、ウイルススキャンおよびホワイトリストサービス、高可用性のバックアップおよびリカバリサービス、クラウドサポートを可能にするサービス、メールサービス、通知サービス、およびファイル転送サービスなどを含むがこれらに限定されない。
特定の実施形態において、クラウドインフラストラクチャシステム1002は、クラウドインフラストラクチャシステム内のクラウドサービス(たとえば、SaaSサービス、PaaSサービスおよびIaaSサービス)を包括的に管理する機能を提供することができる。一実施形態において、クラウド管理機能は、クラウドインフラストラクチャシステム1002などによって受信した顧客のサブスクリプションを提供、管理、および追跡する機能を含んでもよい。
一実施形態において、図10に示すように、クラウド管理機能は、1つ以上のモジュール、たとえば、オーダー管理モジュール1020、オーダーオーケストレーションモジュール1022、オーダー支給モジュール1024、オーダー管理監視モジュール1026、およびID管理モジュール1028によって提供される。これらのモジュールは、1つ以上のコンピュータおよび/またはサーバを含んでもよく、これらを用いて形成されてもよい。これらのコンピュータおよび/またはサーバは、汎用コンピュータ、専用サーバコンピュータ、サーバファーム、サーバクラスタ、または任意の他の適切な配置および/またはこれらの組み合わせであってもよい。
例示的な処理1034において、顧客は、クライアント装置、たとえば、クライアント装置1004、1006または1008を使用して、クラウドインフラストラクチャシステム1002により提供された1つ以上のサービスをリクエストし、クラウドインフラストラクチャシステム1002によって提供された1つ以上のサービスをオーダーすることによって、クラウドインフラストラクチャシステム1002と情報交換することができる。特定の実施形態において、顧客は、クラウドユーザインターフェイス(UI)、クラウドUI 1010、クラウドUI 1014および/またはクラウドUI 1016にアクセスし、これらのUIを介して、サブスクリプションをオーダーすることができる。クラウドインフラストラクチャシステム1002が顧客のオーダーに応答して受信したオーダー情報は、顧客と、クラウドインフラストラクチャシステム1002により提供され、顧客が購読しようとする1つ以上のサービスとを識別する情報を含むことができる。
ステップ1036において、顧客から受信したオーダー情報は、オーダーデータベース1018に保存することができる。このオーダーが新たなオーダーである場合、そのオーダーに新たなレコードを作成することができる。一実施形態において、オーダーデータベース1018は、クラウドインフラストラクチャシステム1018によって操作され、他のシステム要素と連動して操作されるいくつかのデータベースのうち1つであってもよい。
ステップ1038において、オーダー情報をオーダー管理モジュール1020に転送することができる。オーダー管理モジュール1020は、オーダーに関連する請求および会計機能、たとえば、オーダーの確認、および確認後オーダーの記入を実行するように構成されてもよい。
ステップ1040において、オーダーに関する情報をオーダーオーケストレーションモジュール1022に伝送することができる。オーダーオーケストレーションモジュール1022は、顧客がオーダーしたサービスおよびリソースの提供を準備するように構成される。いくつかの例において、オーケストレーションモジュール1022は、オーダー支給モジュール1024のサービスを使用して、支給を行うことができる。特定の実施形態において、オーケストレーションモジュール1022は、各オーダーに関連付けられたビジネスプロセスを管理することができ、ビジネスロジックを適用することによって、オーダーに対して支給をするか否かを判断することができる。
図10の実施形態に示すように、ステップ1042において、新規サブスクリプションのオーダーを受信すると、オーダーオーケストレーションモジュール1022は、リソースを割り当て、サブスクリプションオーダーを満たすために必要なリソースを構成するように、リクエストをオーダー支給モジュール1024に送信する。オーダー支給モジュール1024は、顧客がオーダーしたサービス用のリソースを割り当てることができる。オーダー支給モジュール1024は、クラウドインフラストラクチャシステム1000により提供されたクラウドサービスと、リクエストされたサービスを提供するためのリソースを供給するために使用される物理的な実装層との間の抽象化レベルを形成する。このように、オーダーオーケストレーションモジュール1022は、たとえば、サービスおよびリソースをその場で支給するかまたは事前に支給するか、リクエストに応じて割り当てる/与えるかなどの実装詳細から単離されることができる。
ステップ1044において、サービスおよびリソースを支給した後、要求されたサービスが現在使用可能であることを示す通知を加入顧客に送信することができる。場合によって、顧客が要求されたサービスの使用を開始できるように、情報(例えば、リンク)を顧客に送信することができる。
ステップ1046において、オーダー管理監視モジュール1026は、顧客のサブスクリプションオーダーを管理および追跡することができる。いくつかの例において、オーダー管理監視モジュール1026は、サブスクリプションオーダー内のサービスの利用統計、たとえば、ストレージの使用量、データの転送量、ユーザの数、システムの起動時間およびシステムの停止時間を収集するように構成されることができる。
特定の実施形態において、クラウドインフラストラクチャシステム1000は、ID管理モジュール1028を含むことができる。ID管理モジュール1028は、クラウドインフラストラクチャシステム1200において、識別サービス、たとえば、アクセス管理および認可サービスを提供するように構成することができる。いくつかの実施形態において、ID管理モジュール1028は、クラウドインフラストラクチャシステム1002によって提供されたサービスを利用したい顧客に関する情報を制御することができる。このような情報は、顧客のIDを承認する情報、およびさまざまなシステムリソース(たとえば、ファイル、ディレクトリ、アプリケーション、通信ポート、メモリセグメントなど)に対して許可された顧客の実行権限を記載する情報を含むことができる。また、ID管理モジュール1028は、各顧客に関する記述情報の管理、記述情報にアクセスおよび変更する方法の管理、および記述情報にアクセスおよび変更した顧客の管理を行うこともできる。
図11は、本発明のさまざまな実施形態を実現することができるコンピュータシステム1100の一例を示す図である。いくつかの実施形態において、コンピュータシステム1100を用いて、上述したさまざまなサーバおよびコンピュータシステムのいずれかを実現することができる。図11に示すように、コンピュータシステム1100は、さまざまなサブシステム、例えばバスサブシステム1102を介して、複数の周辺と通信する処理ユニット1104を含む。周辺サブシステムは、処理加速ユニット1106と、I/Oサブシステム1108と、記憶サブシステム1111と、通信サブシステム1124とを含むことができる。記憶サブシステム1111は、有形コンピュータ読取可能記憶媒体1122と、システムメモリ1110とを含む。
バスサブシステム1102は、コンピュータシステム1100のさまざまな構成要素およびサブシステムが必要に応じて相互通信させるための機構を形成する。図示には、バスサブシステム1102を単一のバスとして概略的に示しているが、代替的な実施形態において、バスサブシステムは、複数のバスを利用してもよい。バスサブシステム1102は、メモリバスまたはメモリコントローラ、周辺バス、およびさまざまなバスアーキテクチャのいずれかを使用するローカルバスを備えるいくつかの種類のバス構造のいずれかを有してもよい。たとえば、このようなアーキテクチャは、業界標準アーキテクチャ(ISA)バス、マイクロチャネルアーキテクチャ(MCA)バス、拡張ISA(EISA)バス、ビデオエレクトロニクス規格協会(VESA)ローカルバス、および周辺構成要素相互接続(PCI)バスを含むことができる。これらのバスは、IEEE P1386.1規格などに準拠した製造されたメザニンバスとして実現することができる。 処理サブシステム1104は、コンピュータシステム1100の動作を制御し、1つ以上の処理ユニット1132、1134などを含むことができる。処理ユニットは、1つ以上のプロセッサコア、例えば、単一コアプロセッサまたはマルチコアプロセッサ、またはそれらの組み合わせを含んでもよい。いくつかの実施形態において、処理サブシステム1104は、1つ以上の専用コプロセッサ、例えばグラフィックプロセッサ、デジタル信号プロセッサ(DSP)などを含むことができる。いくつかの実施形態において、処理サブシステム1104の処理ユニットの一部または全部は、特定用途向け集積回路(ASIC)またはフィールドプログラマブルゲートアレイ(FPGA)などの特装回路を用いて実現することができる。
いくつかの実施形態において、処理サブシステム1104内の処理ユニットは、システムメモリ1110またはコンピュータ読取可能な記憶媒体1122に保存された命令を実行することができる。さまざまな実施形態において、処理ユニットは、さまざまなプログラムまたはコード命令を実行することができ、複数のプログラムまたはプロセスを同時に実行することができる。任意の時点において、実行されるプログラムコードの一部または全部は、システムメモリ1110および/または1つ以上の記憶装置を潜在的に含むコンピュータ読取可能な記憶媒体1122に常駐することができる。適切なプログラミングによって、処理サブシステム1104は、リモート装置を使用して企業システムに対するアクセスに関するイベントを管理するための上述したさまざまな機能を提供することができる。
特定の実施形態において、コンピュータシステム1100によって実行された処理を全体的に加速するために、特定の処理または処理サブシステム1104によって実行される処理の一部をオフロードするように、処理加速ユニット1106を設けてもよい。
I/Oサブシステム1108は、コンピュータシステム1100に情報を入力するための装置および機構、および/またはコンピュータシステム1100からまたはコンピュータシステム1100を介して情報を出力するための装置および機構を含むことができる。一般的に、「入力装置」という用語を使用する場合、コンピュータシステム1100に情報を入力するために使用されるさまざまの可能な種類の装置および機構を含むことができる。ユーザインターフェイス入力装置は、キーボード、マウスまたはトラックボールなどのポインティング装置、ディスプレイに組み込まれたタッチパッドまたはタッチスクリーン、スクロールホイール、クリックホイール、ダイヤル、ボタン、スイッチ、キーパッド、音声命令認識システムを備える音声入力装置、マイクロフォン、および他の種類の入力装置を含んでもよい。また、ユーザインターフェイス入力装置は、たとえば、Microsoft Kinect(登録商標)モーションセンサのようなモーション検知および/またはジェスチャ認識装置を含んでもよい。Microsoft Kinect(登録商標)モーションセンサは、ジェスチャおよび音声命令を利用する自然ユーザインターフェース(NUI)を介して、Microsoft Xbox(登録商標)360ゲームコントローラなどの入力装置を制御することができ、それと対話することができる。また、ユーザインターフェイス入力装置は、Google Glass(登録商標)瞬き検出器のような眼球ジェスチャ認識装置を含むことができる。Google Glass(登録商標)瞬き検出器は、ユーザの眼球活動(たとえば、写真を撮るときおよび/またはメニューを選択するときの「瞬き」)を検出し、眼球活動を入力装置(たとえば、Google Glass(登録商標))に入力する入力に変換する。さらに、ユーザインターフェイス入力装置は、音声命令を介してユーザと音声認識システム(たとえば、Siri(登録商標)ナビゲータ)との対話を可能にする音声認識検出装置を含んでもよい。
ユーザインターフェイス入力装置の他の例として、三次元(3D)マウス、ジョイスティックまたはポインティングスティック、ゲームパッド、グラフィックタブレット、スピーカなどのオーディオ/ビジュアル装置、デジタルカメラ、デジタルビデオカメラ、ポータブルメディアプレーヤ、ウェブカメラ、イメージスキャナ、指紋スキャナ、バーコードリーダ、3Dスキャナ、3Dプリンタ、レーザ距離計、および視線追跡装置を含むがこれらに限定されない。さらに、ユーザインターフェイス入力装置は、たとえば、コンピュータ断層撮影装置、磁気共鳴像装置、超音波放射断層撮影装置、および医療用超音波装置などのような医用画像入力装置を含んでもよい。また、ユーザインターフェイス入力装置は、たとえば、MIDIキーボードおよび電子楽器などの音声入力装置を含んでもよい。
ユーザインターフェイス出力装置は、ディスプレイサブシステム、インジケータライト、またはオーディオ出力装置などの非視覚ディスプレイを含んでもよい。ディスプレイサブシステムは、たとえば、陰極線管(CRT)、液晶ディスプレイ(LCD)またはプラズマディスプレイを使用するフラットパネル装置、投射装置またはタッチスクリーンであってもよい。一般的に、「出力装置」という用語を使用する場合、コンピュータシステム1800から情報をユーザまたは他のコンピュータに出力するための全ての可能な種類の装置および機構を含むことを意図している。たとえば、ユーザインターフェイス出力装置は、文字、画像およびオーディオ/ビデオ情報を視覚的に伝送するさまざまな表示装置、たとえば、モニタ、プリンタ、スピーカ、ヘッドフォン、カーナビゲーションシステム、プロッタ、音声出力装置、およびモデムを含むがこれらに限定されない。
記憶サブシステム1118は、コンピュータシステム1100によって使用される情報を保存するためのリポジトリまたはデータストアを提供する。また、記憶サブシステム1118は、いくつかの実施例の機能を提供する基本的なプログラミングおよびデータ構造を保存するための有形のコンピュータ読取可能な記憶媒体を提供し得る。処理サブシステム1104によって実行されたときに上記の機能を提供するソフトウェア(プログラム、コードモジュール、命令)が記憶サブシステム1118に保存され得る。これらのソフトウェアモジュールまたは命令は、処理サブシステム1104の1つ以上の処理ユニットによって実行され得る。また、記憶サブシステム1118は、本発明に従って使用されるデータを保存するためのリポジトリを提供し得る。
記憶サブシステム1118は、揮発性メモリ装置および不揮発性メモリ装置を含む1つ以上の非一時的メモリ装置を含むことができる。図11に示すように、記憶サブシステム1118は、システムメモリ1110およびコンピュータ読取可能な記憶媒体1122を含む。システムメモリ1110は、いくつかのメモリ、例えばプログラム実行中に命令およびデータを保存するための揮発性メインランダムアクセスメモリ(RAM)および固定命令を保存する不揮発性読取専用メモリ(ROM)またはフラッシュメモリを含むことができる。いくつかの実現例では、始動中などにコンピュータシステム1100内の素子間で情報を転送することを助ける基本ルーチンを含む基本入力/出力システム(basic input/output system:BIOS)が、一般にROMに保存され得る。RAMは、一般的には、処理サブシステム1104によって現在に処理され、実行されているデータおよび/またはプログラムモジュールを含む。いくつかの実現例において、システムメモリ1110は、スタティックランダムアクセスメモリ(static random access memory:SRAM)またはダイナミックランダムアクセスメモリ(dynamic random access memory:DRAM)などの複数の異なるタイプのメモリを含むことができる。
限定ではなく一例として、図11に示すように、システムメモリ1110は、クライアントアプリケーション、ウェブブラウザ、ミッドティア(mid-tier)アプリケーション、関係データベース管理システム(relational database management system:RDBMS)などを含み得るアプリケーションプログラム1812、プログラムデータ1114およびオペレーティングシステム1116も示す。一例として、オペレーティングシステム1116は、さまざまなバージョンのMicrosoft Windows(登録商標)、Apple Machintosh(登録商標)および/もしくはLinuxオペレーティングシステム、さまざまな市販のUNIX(登録商標)もしくはUNIXライクオペレーティングシステム(さまざまなGNU/Linuxオペレーティングシステム、Google Chrome(登録商標)OSなどを含むが、これらに限定されるものではない)、および/または、iOS、Windows(登録商標)フォン、Android(登録商標)OS、BlackBerry(登録商標)10 OSおよびPalm(登録商標)OSオペレーティングシステムなどのモバイルオペレーティングシステムを含むことができる。
コンピュータ読取可能な記憶媒体1122は、いくつかの実施例の機能を提供するプログラミングおよびデータ構成を保存することができる。処理サブシステム1104のプロセッサによって実行されたときに上記の機能を提供するソフトウェア(プログラム、コードモジュール、命令)が記憶サブシステム1118に保存され得る。一例として、コンピュータ読取可能な記憶媒体1122は、取外し不可能な不揮発性磁気媒体から読取るまたは当該媒体に書込むハードディスクドライブ、取外し可能な不揮発性磁気ディスクから読取るまたは当該ディスクに書込む磁気ディスクドライブ、ならびに、CD ROM、DVDおよびBlu-Ray(登録商標)ディスクまたは他の光学式媒体などの取外し可能な不揮発性光学ディスクから読取るまたは当該ディスクに書込む光学式ディスクドライブを含み得る。コンピュータ読取可能な記憶媒体1122は、Zip(登録商標)ドライブ、フラッシュメモリカード、ユニバーサルシリアルバス(universal serial bus:USB)フラッシュドライブ、セキュアデジタル(secure digital:SD)カード、DVDディスク、デジタルビデオテープなどを含み得るが、これらに限定されるものではない。また、コンピュータ読取可能な記憶媒体1122は、フラッシュメモリベースのSSD、企業向けフラッシュドライブ、固体ROMなどの不揮発性メモリに基づく固体ドライブ(solid-state drive:SSD)、固体RAM、ダイナミックRAM、スタティックRAMなどの揮発性メモリに基づくSSD、DRAMベースのSSD、磁気抵抗RAM(magnetoresistive RAM:MRAM)SSD、およびDRAMとフラッシュメモリベースのSSDとの組み合わせを使用するハイブリッドSSDを含み得る。ディスクドライブおよびそれらの関連のコンピュータ読取可能な媒体1122は、コンピュータシステム1100のために、コンピュータ読取可能な命令、データ構造、プログラムモジュールおよび他のデータの保存を提供することができる。
特定の実施形態において、記憶サブシステム1100は、コンピュータ読取可能な記憶媒体1122にさらに接続可能なコンピュータ読取可能な記憶媒体リーダ1120を含み得る。コンピュータ読取可能な記憶媒体1122は、システムメモリ1110とともに、または必要に応じてシステムメモリ1110と組み合わせて、コンピュータ読取可能な情報を保存するための記憶媒体に加えて、リモート記憶装置、ローカル記憶装置、固定的な記憶装置および/または取外し可能な記憶装置を包括的に表すことができる。
特定の実施形態において、コンピュータシステム1100は、1つ以上の仮想マシンを実行するためのサポートを提供することができる。コンピュータシステム1100は、仮想マシンの構成および管理を容易にするために、ハイパーバイザなどのプログラムを実行することができる。各仮想マシンは、メモリ、コンピュータ(例えば、プロセッサ、コア)、I/O、およびネットワークリソースに割り当てられてもよい。各仮想マシンは、通常、独自のオペレーティングシステムを実行する。各仮想マシンのオペレーティングシステムは、コンピュータシステム1100によって実行される仮想マシンは、各々同一または異なるオペレーティングシステムを実行してもよい。したがって、コンピュータシステム1100は、複数のオペレーティングシステムを同時に実行することができる。各マシンは通常、他の仮想マシンから独立して動作する。
通信サブシステム1124は、他のコンピュータシステムおよびネットワークとのインターフェイスを提供する。通信サブシステム1124は、他のシステムからデータを受信し、コンピュータシステム1100から他のシステムにデータを送信するためのインターフェイスとして機能する。例えば、通信サブシステム1124によって、コンピュータシステム1100は、インターネットを介して1つ以上のクライアントコンピューティング装置との通信チャネルを形成し、クライアントコンピューティング装置との間に情報を送受信することができる。
通信サブシステム1124は、有線通信プロトコルおよび/または無線通信プロトコルの両方をサポートすることができる。例えば、特定の実施形態において、通信サブシステム1124は、(たとえば3G、4GまたはEDGE(enhanced data rates for global evolution)などの携帯電話技術、高度データネットワーク技術を用いて)無線音声および/またはデータネットワークにアクセスするための無線周波数(radio frequency:RF)トランシーバ素子、WiFi(IEEE 802.11ファミリ標準または他のモバイル通信技術またはそれらの任意の組み合わせ)(登録商標)、全地球測位システム(global positioning system:GPS)レシーバ素子、および/または、他の構成要素を含み得る。いくつかの実施例では、通信サブシステム1124は、無線インターフェイスに加えて、または無線インターフェイスの代わりに、有線ネットワーク接続(たとえばイーサネット)を提供することができる。
通信サブシステム1124は、さまざまな形態のデータを受信および送信することができる。例えば、いくつかの実施形態において、通信サブシステム1124は、構造化されたおよび/または構造化されていないデータフィード1126、イベントストリーム1128、イベント更新1130などの形態で入力通信を受信することができる。例えば、通信サブシステム1124は、ソーシャルメディアネットワークのユーザおよび/またはTwitter(登録商標)フィード、Facebook(登録商標)更新、RSS(Rich Site Summary)フィードなどのウェブフィードなどのデータフィード1126をソーシャルネットワークおよび/または他の通信サービスのユーザからリアルタイムで受信し、および/または、1つ以上の第三者情報源からリアルタイム更新を受信するように構成されてもよい。
特定の実施形態において、通信サブシステム1124は、連続的なデータストリームの形態でデータを受信するように構成され得て、当該データは、連続的である場合もあれば本質的に明確な端部を持たない状態で境界がない場合もあるリアルタイムイベントのイベントストリーム1128および/またはイベント更新1130を含み得る。連続的なデータを生成するアプリケーションの例としては、たとえばセンサデータアプリケーション、金融ティッカ、ネットワーク性能測定ツール(たとえばネットワークモニタリングおよびトラフィック管理アプリケーション)、クリックストリーム分析ツール、自動車交通モニタリングなどを含み得る。
また、通信サブシステム1124は、構造化されたおよび/または構造化されていないデータフィード1126、イベントストリーム1128、イベント更新1130などを、コンピュータシステム1100に連結された1つ以上のストリーミングデータソースコンピュータと通信し得る1つ以上のデータベースに出力するように構成されてもよい。
コンピュータシステム1100は、手持ち式携帯機器(たとえばiPhone(登録商標)携帯電話、iPad(登録商標)計算タブレット、PDA)、装着型装置(例えば、Google Glass(登録商標)ヘッドマウントディスプレイ)、PC、ワークステーション、メインフレーム、キオスク、サーバラックまたはその他のデータ処理システムを含むさまざまなタイプのうち、1つであってもよい。
コンピュータおよびネットワークが絶え間なく進化し続けるため、図11に示されているコンピュータシステム1100の説明は、特定の例として意図されているにすぎない。図11に示されているシステムよりも多くのまたは少ない数の構成要素を有する多くの他の構成が可能である。本明細書に提供された開示および教示に基づいて、当業者は、さまざまな実施例を実現するための他の手段および/または方法を理解するであろう。
図12は、本発明の一実施形態を実現するために使用され得る例示的なコンピュータシステム1200を示す図である。コンピューティングシステム1200は、機能ブロック図として示されている。上述した本発明の原理に従って、コンピュータシステム1200を設定することができる。コンピュータシステム1200の機能ブロックは、本発明の原理を実行するために、ハードウェア、ソフトウェア、またはハードウェアおよびソフトウェアの組み合わせで実装することができる。当業者であれば、図12に記載された機能ブロックを組み合せることによって、またはサブブロックに分割することによって、上述した本発明の原理を実施できることを理解することができる。したがって、本明細書の説明は、本明細書に記載された機能ブロックの任意の可能な組み合せまたは分離またはさらなる定義をサポートすることができる。図12に示すように、コンピュータシステム1200は、判断ユニット1202、識別ユニット1204、選択ユニット1206、設定ユニット1208、設定ユニット1210、および計算ユニット1212を含む。
判断ユニット1202は、複数のリモート装置のために、企業システムへのアクセス権の変更に対応する変更イベントの種類を判断することができる。識別ユニット1204は、変更イベントの種類に関連するアクションプロセスクラスを識別することができ、アクションプロセスクラスは、変更イベントの種類に応じて実行されるアクションプロセスを定義する。選択ユニット1206は、アクセス権の変更に応じてアクションプロセスを実行するように、複数のコンピューティングノードの各々の処理負荷に基づいて、複数のコンピューティングノードから一組のコンピューティングノードを選択するステップことができる。設定ユニット1208は、変更イベントの種類に基づいて、複数のリモート装置のうち第1組のリモート装置の第1変更イベントオブジェクトを設定することができ、変更イベントオブジェクトはアクセス権の変更に関する情報を示す。設定ユニット1210は、変更イベントの種類に基づいて、複数のリモート装置内の第2組のリモート装置に対する第2変更イベントオブジェクトを設定することができ、第1組のリモート装置の各リモート装置は、第2組のリモート装置の各リモート装置とは異なる。
特定の実施形態において、一組のコンピューティングノードのうち第1コンピューティングノードによって、第1変更イベントオブジェクトを用いて、第1アクションプロセスオブジェクトに応じてアクションプロセスを開始する。第1アクションプロセスオブジェクトは、アクションプロセスクラスに基づいて設定される。
特定の実施形態において、一組のコンピューティングノードのうち第2コンピューティングノードによって、第2変更イベントオブジェクトを用いて、第2アクションプロセスオブジェクトに応じてアクションプロセスを開始するステップを含み、第2アクションプロセスオブジェクトは、アクションプロセスクラスに基づいて設定される。
特定の実施形態において、計算ユニット1212は、複数のコンピューティングノードの各々の処理負荷を計算することができる。コンピューティングノードの処理負荷は、コンピューティングノードにより開始されたアクションプロセスの数に基づいて計算される。第1コンピューティングノードは、アクションプロセス閾値に基づいて、一組のコンピューティングノード用に選択される。一組のコンピューティングノードの各コンピューティングノードは、アクションプロセス閾値を満たす一組のコンピューティングノードの各コンピューティングノードの処理負荷に基づいて、選択される。
特定の実施形態において、第1アクションプロセスオブジェクトを用いて呼び出されたアクションプロセスは、アクセス権の変更を示す命令を第1組のリモート装置の各リモート装置に送信することを含み、命令は、アクセス権の変更を適用するように第1組のリモート装置の少なくとも1つのリモート装置に指示する。
少なくとも1つの例によれば、企業システムへのアクセス権の変更に対する変更イベントを管理するための装置が提供される。この装置は、複数のリモート装置上で実行されるアクションを判断するための手段と、複数のリモート装置のうち、第1組のリモート装置および第2組のリモート装置の各リモート装置に対応する変更イベントエントリをキューに追加することによって、複数の変更イベントエントリをキューに追加するための手段とを含み、第1組のリモート装置の各リモート装置は、第2組のリモート装置の各リモート装置とは異なり、第1組のリモート装置のために、第1変更イベントエントリをキューから第1コンピューティングノードに割り当てるための手段と、第1変更イベントエントリに応じて第1メタデータオブジェクトをインスタンス化し、第1組のリモート装置の各リモート装置を特定するメタデータを第1メタデータオブジェクトに保存するための手段と、第1コンピューティングノードから、第1メタデータオブジェクトに基づいて第1組のリモート装置の各リモート装置上で実行すべくアクションを指示するための手段と、第2組のリモート装置のために、第2変更イベントエントリをキューから第2コンピューティングノードに割り当てるための手段と、第2変更イベントエントリに応じて第2メタデータオブジェクトをインスタンス化し、第2組のリモート装置の各リモート装置を特定するメタデータを第2メタデータオブジェクトに保存するための手段と、第2コンピューティングノードから、第2メタデータオブジェクトに基づいて第2組のリモート装置の各リモート装置上で実行すべくアクションを指示するための手段を含むことができる。特定の実施形態において、第1メタデータオブジェクトのインスタンス化は、第1コンピューティングノード上で実行される。
本発明の特定の実施形態を説明してきたが、さまざまな変更、改変、代替構成、および同等物も本発明の範囲内に包含される。変更は、開示された特徴の任意の適切な組み合わせを含む。本発明の実施形態は、特定のデータ処理環境内で動作するのに限定されず、複数のデータ処理環境内で自由に動作することができる。さらに、一連の特定の処置およびステップを用いて本発明の実施形態を説明してきたが、本発明の範囲が説明された一連の処置およびステップに限定されないことは、当業者にとって明らかであろう。上述した実施形態のさまざまな特徴および態様は、個別にまたは共同で使用することができる。
さらに、ハードウェアおよびソフトウェアの特定の組み合わせを用いて本発明の実施形態を説明してきたが、ハードウェアおよびソフトウェアの他の組み合わせも本発明の範囲内に含まれることを認識すべきである。ハードウェアのみ、ソフトウェアのみ、またはそれらの組み合わせを用いて、本発明の実施形態を実現することができる。本開示に記載されたさまざまなプロセスは、同一のプロセッサまたは任意の組み合わせの異なるプロセッサ上で実行することができる。したがって、特定の処理を実行するように構成要素またはモジュールを構成すると説明する場合、その構成は、例えば、その処理を実行するように電子回路を設計することによって、その処理を実行するようにプログラム可能な電子回路(マイクロプロセッサなど)をプログラムすることによって、またはそれらの組み合わせによって実現することができる。プロセスは、プロセス間の通信を行う従来技術を含むがこれに限定されないさまざまな技術を用いて通信を行うことができる。異なる対のプロセスは、異なる技術を使用することができ、または同一対のプロセスは、異なる時間で異なる技術を使用することができる。
したがって、明細書および図面は、限定的な意味ではなく例示的な意味であるとみなすべきである。しかしながら、特許請求の範囲により定められた幅広い主旨および範囲から逸脱することなく、追加、削減、削除および他の修飾および変更を行ってもよいことは、明らかであろう。したがって、本発明の特定の実施形態を説明したが、これらの実施形態は、限定することを意図していない。さまざまな変更およびその等価物は、添付の特許請求の範囲に含まれる。

Claims (23)

  1. 方法であって、
    複数のリモート装置のために、企業システムへのアクセス権の変更に対応する変更イベントの種類を判断するステップと、
    前記変更イベントの種類に関連するアクションプロセスクラスを特定するステップとを含み、前記アクションプロセスクラスは、前記変更イベントの種類に応じて実行されるアクションプロセスを定義し、
    前記アクセス権の変更に応じて前記アクションプロセスを実行するように、複数のコンピューティングノードの各々の処理負荷に基づいて、前記複数のコンピューティングノードから一組のコンピューティングノードを選択するステップと、
    コンピュータシステムによって、前記変更イベントの種類に基づいて、前記複数のリモート装置のうち第1組のリモート装置のために、第1変更イベントオブジェクトを設定するステップとを含み、前記変更イベントオブジェクトは、前記アクセス権の変更に関する情報を示し、
    前記コンピュータシステムによって、前記変更イベントの種類に基づいて、前記複数のリモート装置のうち第2組のリモート装置のために、第2変更イベントオブジェクトを設定するステップを含み、前記第1組のリモート装置の各リモート装置は、前記第2組のリモート装置の各リモート装置とは異なり、
    前記一組のコンピューティングノードのうち第1コンピューティングノードによって、前記第1変更イベントオブジェクトを用いて、第1アクションプロセスオブジェクトに応じてアクションプロセスを開始するステップを含み、前記第1アクションプロセスオブジェクトは、前記アクションプロセスクラスに基づいて設定され、
    前記一組のコンピューティングノードのうち第2コンピューティングノードによって、前記第2変更イベントオブジェクトを用いて、第2アクションプロセスオブジェクトに応じてアクションプロセスを開始するステップを含み、前記第2アクションプロセスオブジェクトは、前記アクションプロセスクラスに基づいて設定される、方法。
  2. 前記第1組のリモート装置および前記第2組のリモート装置の各リモート装置に対応する変更イベントエントリを変更イベントキューに追加するステップをさらに含み、
    前記変更イベントエントリは、前記アクセス権の変更および前記変更イベントの種類を示す、請求項1に記載の方法。
  3. 前記第1変更イベントオブジェクトを設定するステップは、前記第1組のリモート装置に対応する変更イベントエントリに基づいて、前記第1変更イベントオブジェクトをインスタンス化するステップを含み、
    前記第1組のリモート装置に対応する前記変更イベントエントリは、前記第1組のリモート装置の各リモート装置を特定する情報を含む、請求項2に記載の方法。
  4. 前記第1組のリモート装置の各リモート装置からの応答の受信に応じて、前記変更イベントキューから、前記第1組のリモート装置に対応する前記変更イベントエントリを削除するステップをさらに含み、
    前記応答は、前記第1組のリモート装置の各リモート装置が前記変更イベントの種類に対応する前記アクセス権の変更を適用したことを示す、請求項2または3に記載の方法。
  5. 前記第1変更イベントオブジェクトは、前記第1組のリモート装置の各リモート装置を特定する情報を含む、請求項1〜4のいずれか1項に記載の方法。
  6. 前記第1変更イベントオブジェクトを用いて、第1アクションプロセスオブジェクトに応じて前記アクションプロセスを開始するステップは、
    前記第1変更イベントオブジェクトを用いて、前記アクションプロセスクラスをインスタンス化することによって、前記第1アクションプロセスオブジェクトを設定するステップと、
    前記第1アクションプロセスオブジェクトを用いて、前記アクションプロセスを呼び出すステップとを含む、請求項1〜4のいずれか1項に記載の方法。
  7. 前記第1アクションプロセスオブジェクトに応じて開始される前記アクションプロセスと、前記第2アクションプロセスオブジェクトに応じて開始される前記アクションプロセスとは、並行に開始される、請求項1〜6のいずれか1項に記載の方法。
  8. 前記変更イベントの種類は、ポリシーの変更を含み、
    前記ポリシーの変更は、遵守ポリシーの変更、登録ポリシーの変更、ワークスペースポリシーの変更、装置ポリシーの変更、またはそれらの組み合わせを含む、請求項1〜7のいずれか1項に記載の方法。
  9. 一組のリモート装置に対して実行される前記アクションプロセスは、前記一組のリモート装置の各リモート装置に指示して、前記ポリシーの変更を適用することを含む、請求項8に記載の方法。
  10. 前記変更イベントの種類は、アプリケーションの変更を含み、
    前記アプリケーションの変更は、前記複数のリモート装置に利用可能なアプリケーションのカタログにアプリケーションの追加、前記カタログからアプリケーションの削除、前記カタログ内のアプリケーションのバージョンの変更、またはそれらの組み合わせを含む、請求項1〜7のいずれか1項に記載の方法。
  11. 一組のリモート装置に対して実行される前記アクションプロセスは、前記一組のリモート装置の各リモート装置に指示して、前記アプリケーションの変更を適用することを含む、請求項10に記載の方法。
  12. 前記変更イベントの種類は、前記企業システムへのアクセス権に関連する同期設定の変更を含む、請求項1〜7のいずれか1項に記載の方法。
  13. 一組のリモート装置に対して実行される前記アクションプロセスは、前記一組のリモート装置の各リモート装置に指示して、前記同期設定の変更を適用することを含む、請求項1〜12のいずれか1項に記載の方法。
  14. 前記変更イベントオブジェクトおよび前記アクションプロセスオブジェクトは、通常のJava(登録商標)オブジェクトである、請求項1〜13のいずれか1項に記載の方法。
  15. 悪意コードを含む電子通信からコンピュータを保護するため、記憶された命令を含むコンピュータ読取可能な媒体であって、これらの命令は、プロセッサ上で実行されると、請求項1〜14のいずれか1項に記載のステップを実行する、コンピュータ読取可能な媒体。
  16. システムであって、
    1つ以上のプロセッサと
    命令を保存するメモリとを備え、前記命令は、前記1つ以上のプロセッサによって実行されると、前記1つ以上のプロセッサに指示して、
    複数のリモート装置のために、企業システムへのアクセス権の変更に対応する変更イベントの種類を判断し、
    前記変更イベントの種類に関連するアクションプロセスクラスを特定し、前記アクションプロセスクラスは、前記変更イベントの種類に応じて実行されるアクションプロセスを定義し、
    前記アクセス権の変更に応じて前記アクションプロセスを実行するように、複数のコンピューティングノードの各々の処理負荷に基づいて、前記複数のコンピューティングノードから一組のコンピューティングノードを選択し、
    前記変更イベントの種類に基づいて、前記複数のリモート装置内の第1組のリモート装置のための第1変更イベントオブジェクトを設定し、前記変更イベントオブジェクトは、前記アクセス権の変更に関する情報を示し、
    前記変更イベントの種類に基づいて、前記コンピュータシステムによって、前記複数のリモート装置のうち第2組のリモート装置のために、第2変更イベントオブジェクトを設定し、前記第1組のリモート装置の各リモート装置は、前記第2組のリモート装置の各リモート装置とは異なり、
    前記一組のコンピューティングノードのうち第1コンピューティングノードによって、前記第1変更イベントオブジェクトを用いて、第1アクションプロセスオブジェクトに応じてアクションプロセスを開始し、前記第1アクションプロセスオブジェクトは、前記アクションプロセスクラスに基づいて設定され、
    前記一組のコンピューティングノードのうち第2コンピューティングノードによって、前記第2変更イベントオブジェクトを用いて、第2アクションプロセスオブジェクトに応じてアクションプロセスを開始し、前記第2アクションプロセスオブジェクトは、前記アクションプロセスクラスに基づいて設定される、システム。
  17. 前記命令は、前記1つ以上のプロセッサによって実行されると、前記1つ以上のプロセッサに指示して、
    前記複数のコンピューティングノードの各コンピューティングノードの前記処理負荷を計算し、
    前記コンピューティングノードの前記処理負荷は、前記コンピューティングノードにより開始されたアクションプロセスの数に基づいて計算され、
    前記第1コンピューティングノードは、アクションプロセス閾値に基づいて、前記一組のコンピューティングノード用に選択され、
    前記一組のコンピューティングノードの各コンピューティングノードは、前記アクションプロセス閾値を満たす前記一組のコンピューティングノードの各コンピューティングノードの前記処理負荷に基づいて、選択される、請求項16に記載のシステム。
  18. 前記第1アクションプロセスオブジェクトを用いて呼び出される前記アクションプロセスは、前記アクセス権の変更を示す命令を前記第1組のリモート装置の各リモート装置に送信することを含み、
    前記命令は、前記アクセス権の変更を適用するように前記第1組のリモート装置の少なくとも1つのリモート装置に指示する、請求項16または17に記載のシステム。
  19. 方法であって、
    複数のリモート装置上で実行されるアクションを判断するステップと、
    前記複数のリモート装置のうち、第1組のリモート装置および第2組のリモート装置の各リモート装置に対応する変更イベントエントリをキューに追加することによって、複数の変更イベントエントリを前記キューに追加するステップとを含み、前記第1組のリモート装置の各リモート装置は、前記第2組のリモート装置の各リモート装置とは異なり、
    前記第1組のリモート装置のために、第1変更イベントエントリを前記キューから第1コンピューティングノードに割り当てるステップと、
    前記第1変更イベントエントリに応じて第1メタデータオブジェクトをインスタンス化し、前記第1組のリモート装置の各リモート装置を特定するメタデータを前記第1メタデータオブジェクトに保存するステップと、
    前記第1コンピューティングノードから、前記第1メタデータオブジェクトに基づいて前記第1組のリモート装置の各リモート装置上で実行すべくアクションを指示するステップと、
    前記第2組のリモート装置のために、第2変更イベントエントリを前記キューから第2コンピューティングノードに割り当てるステップと、
    前記第2変更イベントエントリに応じて第2メタデータオブジェクトをインスタンス化し、前記第2組のリモート装置の各リモート装置を特定するメタデータを前記第2メタデータオブジェクトに保存するステップと、
    前記第2コンピューティングノードから、前記第2メタデータオブジェクトに基づいて前記第2組のリモート装置の各リモート装置上で実行すべくアクションを指示するステップとを含む、方法。
  20. 前記第1メタデータオブジェクトのインスタンス化は、前記第1コンピューティングノード上で実行される、請求項19に記載の方法。
  21. システムであって、
    複数のコンピューティングノードと、
    コンピュータシステムとを備え、
    前記コンピュータシステムは、
    複数のリモート装置のために、企業システムへのアクセス権の変更に対応する変更イベントの種類を判断する処理と、
    前記変更イベントの種類に関連するアクションプロセスクラスを特定する処理とを実行するように構成され、前記アクションプロセスクラスは、前記変更イベントの種類に応じて実行されるアクションプロセスを定義し、
    前記アクセス権の変更に応じて前記アクションプロセスを実行するように、複数のコンピューティングノードの各々の処理負荷に基づいて、前記複数のコンピューティングノードから一組のコンピューティングノードを選択する処理と、
    前記変更イベントの種類に基づいて、前記複数のリモート装置内の第1組のリモート装置のための第1変更イベントオブジェクトを設定する処理とを実行するように構成され、前記変更イベントオブジェクトは、前記アクセス権の変更に関する情報を示し、
    前記変更イベントの種類に基づいて、前記コンピュータシステムによって、前記複数のリモート装置のうち第2組のリモート装置のために、第2変更イベントオブジェクトを設定する処理を実行するように構成され、前記第1組のリモート装置の各リモート装置は、前記第2組のリモート装置の各リモート装置とは異なり、
    前記一組のコンピューティングノードのうち第1コンピューティングノードによって、前記第1変更イベントオブジェクトを用いて、第1アクションプロセスオブジェクトに応じてアクションプロセスを開始する処理を実行するように構成され、前記第1アクションプロセスオブジェクトは、前記アクションプロセスクラスに基づいて設定され、
    前記一組のコンピューティングノードのうち第2コンピューティングノードによって、前記第2変更イベントオブジェクトを用いて、第2アクションプロセスオブジェクトに応じてアクションプロセスを開始する処理を実行するように構成され、前記第2アクションプロセスオブジェクトは、前記アクションプロセスクラスに基づいて設定される、システム。
  22. 前記コンピュータシステムはさらに、
    前記複数のコンピューティングノードの各コンピューティングノードの前記処理負荷を計算する処理を実行するように構成され、
    前記コンピューティングノードの前記処理負荷は、前記コンピューティングノードにより開始されたアクションプロセスの数に基づいて計算され、
    前記第1コンピューティングノードは、アクションプロセス閾値に基づいて、前記一組のコンピューティングノード用に選択され、
    前記一組のコンピューティングノードの各コンピューティングノードは、前記アクションプロセス閾値を満たす前記一組のコンピューティングノードの各コンピューティングノードの前記処理負荷に基づいて、選択される、請求項21に記載のシステム。
  23. 前記第1アクションプロセスオブジェクトを用いて、呼び出される前記アクションプロセスは、前記アクセス権の変更を示す命令を前記第1組のリモート装置の各リモート装置に送信することを含み、
    前記命令は、前記アクセス権の変更を適用するように前記第1組のリモート装置の少なくとも1つのリモート装置に指示する、請求項21または22に記載のシステム。
JP2017516125A 2014-09-24 2015-04-20 企業システム内の装置の変更イベントの管理 Active JP6499281B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201462054544P 2014-09-24 2014-09-24
US62/054,544 2014-09-24
US14/690,034 2015-04-17
US14/690,034 US9652212B2 (en) 2014-09-24 2015-04-17 Managing change events for devices in an enterprise system
PCT/US2015/026594 WO2016048414A1 (en) 2014-09-24 2015-04-20 Managing change events for devices in an enterprise system

Publications (3)

Publication Number Publication Date
JP2017528844A true JP2017528844A (ja) 2017-09-28
JP2017528844A5 JP2017528844A5 (ja) 2017-12-28
JP6499281B2 JP6499281B2 (ja) 2019-04-10

Family

ID=55525799

Family Applications (4)

Application Number Title Priority Date Filing Date
JP2017516071A Active JP6417035B2 (ja) 2014-09-24 2015-04-20 企業システム内の装置上のアプリケーションの統一準備
JP2017516125A Active JP6499281B2 (ja) 2014-09-24 2015-04-20 企業システム内の装置の変更イベントの管理
JP2017514681A Active JP6474890B2 (ja) 2014-09-24 2015-04-20 ルールベースのデバイスエンロールメント
JP2017515973A Active JP6646048B2 (ja) 2014-09-24 2015-04-20 異種の電子デバイスのためのアプリケーション配信の区分化

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2017516071A Active JP6417035B2 (ja) 2014-09-24 2015-04-20 企業システム内の装置上のアプリケーションの統一準備

Family Applications After (2)

Application Number Title Priority Date Filing Date
JP2017514681A Active JP6474890B2 (ja) 2014-09-24 2015-04-20 ルールベースのデバイスエンロールメント
JP2017515973A Active JP6646048B2 (ja) 2014-09-24 2015-04-20 異種の電子デバイスのためのアプリケーション配信の区分化

Country Status (6)

Country Link
US (12) US9781098B2 (ja)
EP (4) EP3198421B1 (ja)
JP (4) JP6417035B2 (ja)
KR (5) KR102300865B1 (ja)
CN (7) CN106605210B (ja)
WO (4) WO2016048417A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11089474B2 (en) 2014-09-24 2021-08-10 Oracle International Corporation Unified provisioning of applications on devices in an enterprise system

Families Citing this family (278)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100313262A1 (en) * 2009-06-03 2010-12-09 Aruba Networks, Inc. Provisioning remote access points
US9307386B2 (en) 2013-03-22 2016-04-05 Global Tel*Link Corporation Multifunction wireless device
US10681142B2 (en) 2014-01-09 2020-06-09 Comcast Cable Communications, Llc Network filter
US9954811B2 (en) * 2014-07-25 2018-04-24 International Business Machines Corporation Email notification on mobile devices
JP2016085641A (ja) * 2014-10-27 2016-05-19 キヤノン株式会社 権限移譲システム、権限移譲システムにて実行される方法、およびそのプログラム
US20160156614A1 (en) * 2014-11-28 2016-06-02 Hcl Technologies Limited Provisioning a device over an internet of things
US10404684B1 (en) * 2014-12-12 2019-09-03 Mobile Iron, Inc. Mobile device management registration
US9921819B2 (en) * 2014-12-29 2018-03-20 Airwatch Llc Persistent mobile device enrollment
US9684433B2 (en) * 2014-12-30 2017-06-20 Ebay Inc. Trusted device identification and event monitoring
US10341203B2 (en) * 2015-01-02 2019-07-02 Gigamon Inc. Policy tracking in a network that includes virtual devices
CN105897805B (zh) * 2015-01-04 2019-12-27 伊姆西公司 对多层架构的数据中心的资源进行跨层调度的方法和装置
US11171941B2 (en) * 2015-02-24 2021-11-09 Nelson A. Cicchitto Mobile device enabled desktop tethered and tetherless authentication
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
US9762585B2 (en) 2015-03-19 2017-09-12 Microsoft Technology Licensing, Llc Tenant lockbox
WO2016164057A1 (en) * 2015-04-08 2016-10-13 Hewlett Packard Enterprise Development Lp Managing cost related to usage of cloud resources
US11350254B1 (en) 2015-05-05 2022-05-31 F5, Inc. Methods for enforcing compliance policies and devices thereof
US10949841B2 (en) * 2015-05-07 2021-03-16 Visa International Service Association Provisioning of access credentials using device codes
US9817957B1 (en) * 2015-06-04 2017-11-14 EMC IP Holding Company LLC Access management based on active environment comprising dynamically reconfigurable sets of smart objects
US9912704B2 (en) 2015-06-09 2018-03-06 Intel Corporation System, apparatus and method for access control list processing in a constrained environment
US20160366183A1 (en) * 2015-06-09 2016-12-15 Ned M. Smith System, Apparatus And Method For Access Control List Processing In A Constrained Environment
US10931682B2 (en) * 2015-06-30 2021-02-23 Microsoft Technology Licensing, Llc Privileged identity management
US9900725B2 (en) * 2015-07-29 2018-02-20 Intel Corporation Technologies for an automated application exchange in wireless networks
US10643181B2 (en) * 2015-08-18 2020-05-05 Satish Ayyaswami System and method for a big data analytics enterprise framework
US10462122B2 (en) 2015-08-27 2019-10-29 Pivotal Software, Inc. Push notification aggregation
US10803437B2 (en) * 2015-08-28 2020-10-13 Ncr Corporation Self-service terminal technical state monitoring and alerting
US10193753B1 (en) * 2015-08-31 2019-01-29 EMC IP Holding Company LLC Automated configuration and deployment of internet of things platforms
US10171439B2 (en) * 2015-09-24 2019-01-01 International Business Machines Corporation Owner based device authentication and authorization for network access
US9912781B2 (en) * 2015-09-29 2018-03-06 International Business Machines Corporation Customized electronic product configuration
US9886292B2 (en) * 2015-10-26 2018-02-06 Dell Products L.P. Making user profile data portable across platforms
US11361000B2 (en) * 2015-10-27 2022-06-14 Talkcycle Llc Predictive and adaptive queue flushing for real-time data reconciliation between local and remote databases
WO2017076476A1 (en) * 2015-11-06 2017-05-11 Telefonaktiebolaget Lm Ericsson (Publ) Configuration technique for a network element in a communication network
CN107113307B (zh) * 2015-11-18 2019-10-01 深圳市大疆创新科技有限公司 外接设备的管理方法、装置、系统以及存储器、无人机
US11206699B2 (en) * 2015-12-09 2021-12-21 Quest Software Inc. Registering network devices using known host devices
US10567381B1 (en) 2015-12-17 2020-02-18 Amazon Technologies, Inc. Refresh token for credential renewal
US11757946B1 (en) 2015-12-22 2023-09-12 F5, Inc. Methods for analyzing network traffic and enforcing network policies and devices thereof
US10389847B1 (en) * 2015-12-23 2019-08-20 Mitel Networks, Inc. Provisioning resources in a communications system
US10156842B2 (en) 2015-12-31 2018-12-18 General Electric Company Device enrollment in a cloud service using an authenticated application
US10735557B2 (en) 2016-01-08 2020-08-04 Elo Touch Solutions, Inc. Device controller and viewer
US11178150B1 (en) 2016-01-20 2021-11-16 F5 Networks, Inc. Methods for enforcing access control list based on managed application and devices thereof
US10491632B1 (en) * 2016-01-21 2019-11-26 F5 Networks, Inc. Methods for reducing compliance violations in mobile application management environments and devices thereof
US10341325B2 (en) 2016-01-29 2019-07-02 Vmware, Inc. System and method for transferring device identifying information
US11290425B2 (en) * 2016-02-01 2022-03-29 Airwatch Llc Configuring network security based on device management characteristics
US10366243B2 (en) * 2016-02-04 2019-07-30 Airwatch, Llc Preventing restricted content from being presented to unauthorized individuals
US10432707B2 (en) * 2016-03-02 2019-10-01 International Business Machines Corporation Optimization of integration flows in cloud environments
US10171472B2 (en) * 2016-03-02 2019-01-01 Microsoft Technology Licensing, Llc Role-specific service customization
US11632710B2 (en) * 2016-03-02 2023-04-18 Blackberry Limited Provisioning a device in a network
US10637723B2 (en) * 2016-03-30 2020-04-28 Airwatch Llc Configuring enterprise workspaces
US10389705B2 (en) * 2016-03-30 2019-08-20 Airwatch Llc Associating user accounts with enterprise workspaces
US10445506B2 (en) 2016-03-30 2019-10-15 Airwatch Llc Detecting vulnerabilities in managed client devices
US11457487B2 (en) * 2016-04-01 2022-09-27 Comcast Cable Communications, Llc Methods and systems for connecting to a wireless network
US10084809B1 (en) * 2016-05-06 2018-09-25 Wells Fargo Bank, N.A. Enterprise security measures
US10673838B2 (en) * 2016-05-13 2020-06-02 MobileIron, Inc. Unified VPN and identity based authentication to cloud-based services
US10523660B1 (en) 2016-05-13 2019-12-31 MobileIron, Inc. Asserting a mobile identity to users and devices in an enterprise authentication system
US20170339160A1 (en) 2016-05-17 2017-11-23 International Business Machines Corporation Threat-aware provisioning and governance
US10701060B2 (en) 2016-05-20 2020-06-30 Avaya Inc. Public key infrastructure exchange using netconf for Openflow enabled switches
US10362021B2 (en) 2016-05-31 2019-07-23 Airwatch Llc Device authentication based upon tunnel client network requests
US10122761B2 (en) * 2016-05-31 2018-11-06 Airwatch Llc Device authentication based upon tunnel client network requests
US10326841B2 (en) * 2016-06-07 2019-06-18 Vmware Inc. Remote data securement on mobile devices
US10270815B1 (en) * 2016-06-07 2019-04-23 Amazon Technologies, Inc. Enabling communications between a controlling device and a network-controlled device via a network-connected device service over a mobile communications network
US9947069B2 (en) 2016-06-10 2018-04-17 Apple Inc. Providing variants of digital assets based on device-specific capabilities
US10003670B2 (en) * 2016-06-17 2018-06-19 Airwatch Llc Remote provisioning and enrollment of enterprise devices with on-premises domain controllers
EP3479222A4 (en) * 2016-06-29 2020-01-15 Duo Security, Inc. SYSTEMS AND METHODS FOR CLASSIFYING END POINT MANAGEMENT
GB2551813B (en) * 2016-06-30 2020-01-08 Sophos Ltd Mobile device policy enforcement
US10423914B2 (en) 2016-07-08 2019-09-24 International Business Machines Corporation Industrial setup composition
US10412562B2 (en) 2016-08-08 2019-09-10 At&T Intellectual Property I, L.P. Software defined IoT service network architecture
US10397303B1 (en) * 2016-08-29 2019-08-27 Amazon Technologies, Inc. Semantic annotation and translations for devices
US10484429B1 (en) * 2016-10-26 2019-11-19 Amazon Technologies, Inc. Automated sensitive information and data storage compliance verification
US10462212B2 (en) * 2016-10-28 2019-10-29 At&T Intellectual Property I, L.P. Hybrid clouds
US10505983B2 (en) * 2016-11-09 2019-12-10 Airwatch Llc Enforcing enterprise requirements for devices registered with a registration service
US20180139090A1 (en) * 2016-11-15 2018-05-17 John Geiger Method for secure enrollment of devices in the industrial internet of things
KR102539580B1 (ko) * 2016-12-01 2023-06-05 삼성전자주식회사 조건부 액션에 대한 정보를 공유하기 위한 방법 및 그 전자 장치
US10440134B1 (en) * 2016-12-07 2019-10-08 Microsoft Technology Licensing, Llc Systems and methods for compliance enforcement in internet-based social networks
US10374809B1 (en) 2016-12-13 2019-08-06 Amazon Technologies, Inc. Digital signature verification for asynchronous responses
US10353686B1 (en) * 2016-12-28 2019-07-16 Facebook, Inc. Application installation system
US10334067B2 (en) * 2017-01-02 2019-06-25 International Business Machines Corporation MQTT cluster shared subscription hub for fat-pipe cloud applications
US10374810B2 (en) * 2017-01-05 2019-08-06 Bank Of America Corporation Middleware system validation tool
US20180203707A1 (en) * 2017-01-19 2018-07-19 International Business Machines Corporation Context Based Configuration Management
US10454977B2 (en) 2017-02-14 2019-10-22 At&T Intellectual Property I, L.P. Systems and methods for allocating and managing resources in an internet of things environment using location based focus of attention
US10721624B2 (en) 2017-02-17 2020-07-21 Global Tel*Link Corporation Security system for inmate wireless devices
US11100232B1 (en) * 2017-02-23 2021-08-24 Ivanti, Inc. Systems and methods to automate networked device security response priority by user role detection
US11468532B2 (en) 2017-03-07 2022-10-11 Global Tel*Link Corporation Centralized offender management system for multiple jurisdictions
US10409619B2 (en) 2017-03-22 2019-09-10 Vmware, Inc. Persistent enrollment of a computing device using vendor autodsicovery
EP3596595B1 (en) * 2017-03-22 2023-05-03 VMware, Inc. Persistent enrollment of a computing device using vendor autodiscovery
US10740109B2 (en) 2017-03-22 2020-08-11 Vmware, Inc. Configuring a computing device using managed operating system images
US10620965B2 (en) 2017-03-22 2020-04-14 Vmware, Inc. Internet recovery of a windows configuration
US10635819B2 (en) 2017-03-22 2020-04-28 Vmware, Inc. Persistent enrollment of a computing device based on a temporary user
US10445106B2 (en) 2017-03-22 2019-10-15 Vmware, Inc. Persistent enrollment of a computing device using a BIOS
US11880493B2 (en) 2017-03-27 2024-01-23 Global Tel*Link Corporation Wearable devices in a controlled environment
US10289409B2 (en) 2017-03-29 2019-05-14 The Travelers Indemnity Company Systems, methods, and apparatus for migrating code to a target environment
US10951644B1 (en) * 2017-04-07 2021-03-16 Comodo Security Solutions, Inc. Auto-containment of potentially vulnerable applications
US9892242B1 (en) 2017-04-28 2018-02-13 Global Tel*Link Corporation Unified enterprise management of wireless devices in a controlled environment
US10091656B1 (en) * 2017-05-10 2018-10-02 Global Tel*Link Corporation Wireless system utilizing generic wireless devices in a controlled environment
US10623389B2 (en) * 2017-05-11 2020-04-14 International Business Machines Corporation Authenticating a device based on communication patterns in a group of devices
US10887306B2 (en) 2017-05-11 2021-01-05 International Business Machines Corporation Authenticating an unknown device based on relationships with other devices in a group of devices
US20180332012A1 (en) * 2017-05-12 2018-11-15 International Business Machines Corporation Post-compilation configuration management
US11343237B1 (en) 2017-05-12 2022-05-24 F5, Inc. Methods for managing a federated identity environment using security and access control data and devices thereof
US11122042B1 (en) 2017-05-12 2021-09-14 F5 Networks, Inc. Methods for dynamically managing user access control and devices thereof
US11233634B1 (en) 2017-06-23 2022-01-25 Wells Fargo Bank, N.A. Systems and methods for network authentication with a shared secret
US11012441B2 (en) * 2017-06-30 2021-05-18 Open Text Corporation Hybrid authentication systems and methods
CN107135234A (zh) * 2017-07-03 2017-09-05 福建六壬网安股份有限公司 一种数据流量监听控制的方法和装置
SE542688C2 (en) * 2017-07-17 2020-06-23 Beijer Electronics Ab Configuring an industrial automation system for internet-of-things accessibility
US10708268B2 (en) * 2017-07-31 2020-07-07 Airwatch, Llc Managing voice applications within a digital workspace
JP6640798B2 (ja) * 2017-07-31 2020-02-05 グリー株式会社 アプリケーション利用管理プログラム、アプリケーション利用管理方法、サーバ、管理用プログラム及び管理ユーザ端末
US10068398B1 (en) 2017-08-03 2018-09-04 Global Tel*Link Corporation Release monitoring through check-in and tethering system
US10705875B2 (en) * 2017-08-09 2020-07-07 Servicenow, Inc. Systems and methods for recomputing services
US10097490B1 (en) 2017-09-01 2018-10-09 Global Tel*Link Corporation Secure forum facilitator in controlled environment
WO2019074481A1 (en) * 2017-10-09 2019-04-18 Hewlett-Packard Development Company, L.P. DEVICE INSTALLATIONS WITHOUT DISPLAY
US10585663B1 (en) 2017-10-13 2020-03-10 State Farm Mutual Automobile Insurance Company Automated data store access source code review
US10592391B1 (en) 2017-10-13 2020-03-17 State Farm Mutual Automobile Insurance Company Automated transaction and datasource configuration source code review
US20190141026A1 (en) * 2017-11-07 2019-05-09 General Electric Company Blockchain based device authentication
CN108111374B (zh) * 2017-11-16 2019-09-20 百度在线网络技术(北京)有限公司 同步设备列表的方法、装置、设备和计算机存储介质
CN110019267A (zh) * 2017-11-21 2019-07-16 中国移动通信有限公司研究院 一种元数据更新方法、装置、系统、电子设备及存储介质
US10057243B1 (en) * 2017-11-30 2018-08-21 Mocana Corporation System and method for securing data transport between a non-IP endpoint device that is connected to a gateway device and a connected service
US10657261B2 (en) * 2017-11-30 2020-05-19 Mocana Corporation System and method for recording device lifecycle transactions as versioned blocks in a blockchain network using a transaction connector and broker service
EP3503092A1 (en) 2017-12-21 2019-06-26 Thomson Licensing Method for establishing a link between a device and a speaker in a gateway, corresponding computer program computer and apparatus
US10417232B2 (en) * 2017-12-22 2019-09-17 Microsoft Technology Licensing, Llc Associating hardware to store applications
CN108076069A (zh) * 2017-12-28 2018-05-25 武汉虹旭信息技术有限责任公司 基于Android平台的移动办公安全系统及其方法
US11164172B2 (en) * 2017-12-29 2021-11-02 Square, Inc. Application programming interfaces for structuring distributed systems
US11010739B2 (en) 2017-12-29 2021-05-18 Square, Inc. Application programming interfaces for structuring distributed systems
US10346284B1 (en) * 2018-01-11 2019-07-09 Microsoft Technology Licensing, Llc Feature usage prediction using shell application feature telemetry
US11138251B2 (en) 2018-01-12 2021-10-05 Samsung Electronics Co., Ltd. System to customize and view permissions, features, notifications, and updates from a cluster of applications
CN108377258A (zh) * 2018-01-16 2018-08-07 广州市信富信息科技有限公司 一种基于云服务器的远程多端协作方法及系统
CN110059475A (zh) * 2018-01-18 2019-07-26 伊姆西Ip控股有限责任公司 用于数据保护的方法、设备和计算机程序产品
US11539748B2 (en) 2018-01-23 2022-12-27 Zeronorth, Inc. Monitoring and reporting enterprise level cybersecurity remediation
US11121872B2 (en) 2018-01-23 2021-09-14 Zeronorth, Inc. Trusted verification of cybersecurity remediation
US10645094B2 (en) * 2018-02-16 2020-05-05 Integrity Security Services Llc Systems, methods, and devices for provisioning and processing geolocation information for computerized devices
KR102652092B1 (ko) * 2018-02-16 2024-03-27 인테그리티 시큐리티 서비시즈 엘엘씨 V2x 디바이스용 위치 정보 프로비저닝 및 처리를 위한 시스템, 방법 및 디바이스
US10812276B2 (en) * 2018-02-23 2020-10-20 International Business Machines Corporation Secure trust based distribution of digital certificates
CN108363585A (zh) * 2018-03-16 2018-08-03 福建深空信息技术有限公司 一种软件的升级文件网络下载方法
FR3079380A1 (fr) * 2018-03-26 2019-09-27 Orange Gestion securitaire d'un reseau de communication local comprenant au moins un objet communicant.
US10817598B2 (en) 2018-03-27 2020-10-27 Bank Of America Corporation Enhanced biometric data and systems for processing events using enhanced biometric data
US10826896B2 (en) 2018-03-27 2020-11-03 Bank Of America Corporation Enhanced biometric data and systems for processing events using enhanced biometric data
US10848552B2 (en) * 2018-03-29 2020-11-24 Hewlett Packard Enterprise Development Lp Determining whether to perform address translation to forward a service request or deny a service request based on blocked service attributes in an IP table in a container-based computing cluster management system
US11128530B2 (en) 2018-03-29 2021-09-21 Hewlett Packard Enterprise Development Lp Container cluster management
JP7081273B2 (ja) 2018-03-30 2022-06-07 ブラザー工業株式会社 プログラム及び通信システム
US11121942B2 (en) * 2018-04-04 2021-09-14 International Business Machines Corporation Orchestration engine facilitating management of dynamic connection components
JP7131044B2 (ja) 2018-04-13 2022-09-06 ブラザー工業株式会社 プログラム及び通信システム
JP7131045B2 (ja) 2018-04-13 2022-09-06 ブラザー工業株式会社 プログラム及び通信システム
JP7172108B2 (ja) 2018-04-13 2022-11-16 ブラザー工業株式会社 プログラム及び通信システム
US20190324743A1 (en) * 2018-04-24 2019-10-24 Cloud66 Inc. Configuration file management
CA3098344A1 (en) 2018-04-24 2019-10-31 Spectrum Brands, Inc. Certificate provisioning for electronic lock authentication to a server
US11513910B2 (en) * 2018-04-26 2022-11-29 EMC IP Holding Company LLC Compliance as a service for multi-cloud backup systems
EP3564883B1 (en) * 2018-04-30 2023-09-06 Hewlett Packard Enterprise Development LP System and method of decentralized management of device assets outside a computer network
EP3564873B1 (en) 2018-04-30 2022-11-30 Hewlett Packard Enterprise Development LP System and method of decentralized machine learning using blockchain
EP3565218B1 (en) 2018-04-30 2023-09-27 Hewlett Packard Enterprise Development LP System and method of decentralized management of multi-owner nodes using blockchain
FR3080967A1 (fr) * 2018-05-02 2019-11-08 Orange Procede d'envoi d'une information et de reception d'une information pour la gestion de reputation d'une ressource ip
CN108769149B (zh) * 2018-05-14 2022-02-25 上海掌门科技有限公司 应用分区的处理方法、设备及计算机可读存储介质
CN112205015B (zh) * 2018-05-29 2023-09-05 上海诺基亚贝尔股份有限公司 用于策略分发的方法、装置和计算机可读介质
US11122071B2 (en) * 2018-06-29 2021-09-14 Forescout Technologies, Inc. Visibility and scanning of a variety of entities
US10318412B1 (en) * 2018-06-29 2019-06-11 The Travelers Indemnity Company Systems, methods, and apparatus for dynamic software generation and testing
CN108881456A (zh) * 2018-06-29 2018-11-23 郑州云海信息技术有限公司 一种数据交互系统、服务端及其数据交互方法及系统
US10992680B2 (en) * 2018-06-29 2021-04-27 Sap Se Authorization client management in a distributed computing environment
EP3591525A1 (de) * 2018-07-05 2020-01-08 Siemens Aktiengesellschaft Verteilen von unteranwendungen einer bestimmten anwendung auf rechner von plattformen zumindest zweier verschiedener ebenen
US20200028879A1 (en) * 2018-07-17 2020-01-23 Microsoft Technology Licensing, Llc Queryless device configuration determination-based techniques for mobile device management
US10797965B2 (en) * 2018-07-30 2020-10-06 Dell Products L.P. Dynamically selecting or creating a policy to throttle a portion of telemetry data
JP7326667B2 (ja) * 2018-07-31 2023-08-16 マーベル アジア ピーティーイー、リミテッド ストレージエッジにおけるメタデータ生成
US11184223B2 (en) 2018-07-31 2021-11-23 Microsoft Technology Licensing, Llc Implementation of compliance settings by a mobile device for compliance with a configuration scenario
CN109242252B (zh) * 2018-08-03 2020-09-04 张继升 一种智能服务平台及方法
US10915334B2 (en) * 2018-08-21 2021-02-09 Microsoft Technology Licensing, Llc Enforcement of role-based constraints on the modification of components of a multi-user aware computing device
US11243753B2 (en) * 2018-09-24 2022-02-08 Salesforce.Com, Inc. Mobile app publishing for a responsive community experience
US11138680B1 (en) 2018-11-21 2021-10-05 Square, Inc. Updating menus based on predicted efficiencies
US10740085B2 (en) * 2018-11-30 2020-08-11 Target Brands, Inc. Webserver interface for deployment management tool
US11595217B2 (en) 2018-12-06 2023-02-28 Digicert, Inc. System and method for zero touch provisioning of IoT devices
CN109547259A (zh) * 2018-12-07 2019-03-29 东软集团股份有限公司 应用配置方法、装置、存储介质和电子设备
US20220026882A1 (en) * 2018-12-12 2022-01-27 Siemens Aktiengesellschaft Application configuration method, apparatus, system of industrial internet of things solution, computer software product, and readable medium
CN109639688B (zh) * 2018-12-18 2021-03-19 清创网御(合肥)科技有限公司 一种物联网安全防护系统及其防护方法
CN113170331A (zh) * 2018-12-19 2021-07-23 瑞典爱立信有限公司 服务的用户配置
US10467426B1 (en) * 2018-12-26 2019-11-05 BetterCloud, Inc. Methods and systems to manage data objects in a cloud computing environment
US10965547B1 (en) * 2018-12-26 2021-03-30 BetterCloud, Inc. Methods and systems to manage data objects in a cloud computing environment
CN109617698B (zh) * 2019-01-09 2021-08-03 腾讯科技(深圳)有限公司 发放数字证书的方法、数字证书颁发中心和介质
CN111479261B (zh) * 2019-01-24 2022-11-18 成都鼎桥通信技术有限公司 一种ota流量自适应管理方法和设备
WO2020154120A1 (en) * 2019-01-25 2020-07-30 Hubbell Incorporated System and method for providing notifications
US11627049B2 (en) * 2019-01-31 2023-04-11 Hewlett Packard Enterprise Development Lp Failsafe firmware upgrade for cloud-managed devices
RU2724796C1 (ru) 2019-02-07 2020-06-25 Акционерное общество "Лаборатория Касперского" Система и способ защиты автоматизированных систем при помощи шлюза
RU2746105C2 (ru) 2019-02-07 2021-04-07 Акционерное общество "Лаборатория Касперского" Система и способ конфигурирования шлюза для защиты автоматизированных систем
US11966818B2 (en) 2019-02-21 2024-04-23 Hewlett Packard Enterprise Development Lp System and method for self-healing in decentralized model building for machine learning using blockchain
US11968240B2 (en) * 2019-03-04 2024-04-23 Cisco Technology, Inc. Network posture based suggestion of applications and services
US10470059B1 (en) 2019-03-04 2019-11-05 Cisco Technology, Inc. Dynamic network device selection for containerized application deployment
US11288148B2 (en) 2019-03-27 2022-03-29 Nutanix, Inc. Global entity distribution
US10514905B1 (en) * 2019-04-03 2019-12-24 Anaconda, Inc. System and method of remediating and redeploying out of compliance applications and cloud services
US11290439B1 (en) 2019-04-03 2022-03-29 Snap Inc. Multiple application list prioritization
US12075246B2 (en) 2019-04-29 2024-08-27 Sonicwall Inc. Securing transmission paths in a mesh network
US12022295B2 (en) * 2019-04-29 2024-06-25 Sonicwall Inc. Streamlined creation and expansion of a wireless mesh network
US10798084B1 (en) * 2019-04-30 2020-10-06 Sailpoint Technologies, Inc. System and method for identity management of cloud based computing services in identity management artificial intelligence systems
CN110166561B (zh) * 2019-05-24 2022-04-15 北京旷视科技有限公司 可穿戴设备的数据处理方法、装置、系统、设备及介质
US10924353B2 (en) * 2019-05-29 2021-02-16 Cisco Technology, Inc. Progressive refinement of device classifications using colored device and policy trees
JP7298311B2 (ja) * 2019-06-03 2023-06-27 ブラザー工業株式会社 プログラム、情報処理装置、及び通信システム
JP7363106B2 (ja) 2019-06-03 2023-10-18 ブラザー工業株式会社 プログラム、情報処理装置、通信システム、及び通知情報の出力方法
GB2589661B (en) 2019-06-10 2024-06-05 Fisher Rosemount Systems Inc Virtualized real-time I/O in process control systems
US11231701B2 (en) 2019-06-10 2022-01-25 Fisher-Rosemount Systems, Inc. Publish/subscribe protocol for real-time process control
GB2623651A (en) 2019-06-10 2024-04-24 Fisher Rosemount Systems Inc Automatic load balancing and performance leveling of virtual nodes running real-time control in process control systems
US11537112B2 (en) 2019-06-10 2022-12-27 Fisher-Rosemount Systems, Inc. Automatic load balancing and performance leveling of virtual nodes running real-time control in process control systems
GB2621485B (en) 2019-06-10 2024-08-28 Fisher Rosemount Systems Inc Ease of node switchovers in process control systems
US11249464B2 (en) 2019-06-10 2022-02-15 Fisher-Rosemount Systems, Inc. Industrial control system architecture for real-time simulation and process control
US10848966B1 (en) 2019-06-12 2020-11-24 Caterpillar Inc. Wireless access system for controlling access to a device
US11032381B2 (en) * 2019-06-19 2021-06-08 Servicenow, Inc. Discovery and storage of resource tags
CN110225050B (zh) * 2019-06-20 2022-05-03 四川长虹电器股份有限公司 Jwt令牌的管理方法
US10942728B2 (en) 2019-07-15 2021-03-09 Vmware, Inc. Deploying device campaign updates to IoT devices
US11537381B2 (en) * 2019-07-15 2022-12-27 International Business Machines Corporation Quantum software developer kit and framework
US10581851B1 (en) * 2019-07-17 2020-03-03 Capital One Services, Llc Change monitoring and detection for a cloud computing environment
US11645659B2 (en) 2019-07-31 2023-05-09 Nutanix, Inc. Facilitating customers to define policies for their clouds
CN110427751A (zh) * 2019-08-06 2019-11-08 一号商机(北京)科技有限公司 一种数据管理系统
US11178110B2 (en) * 2019-08-20 2021-11-16 International Business Machines Corporation Controlling compliance remediations
US11770411B2 (en) * 2019-09-23 2023-09-26 Kyndryl, Inc. Prioritize endpoint selection based on criteria
EP3798754A1 (de) * 2019-09-27 2021-03-31 Siemens Schweiz AG Verfahren zum automatischen anmelden eines benutzers an einem feldgerät und automationssystem
US11258738B1 (en) * 2019-09-27 2022-02-22 Snap Inc. Messaging system with circumstance configuration framework
JP7363305B2 (ja) 2019-09-30 2023-10-18 ブラザー工業株式会社 インストールパッケージ生成プログラム及びインストーラ
JP7434789B2 (ja) 2019-09-30 2024-02-21 ブラザー工業株式会社 端末管理システム
JP2021057773A (ja) 2019-09-30 2021-04-08 ブラザー工業株式会社 中継処理プログラム、端末管理処理プログラム、中継装置、端末管理装置及び端末管理システム
WO2021070142A1 (en) * 2019-10-10 2021-04-15 Waters Technologies Ireland Limited Application hub for applications for an analytical services platform
US11190403B2 (en) * 2019-10-22 2021-11-30 Vmware, Inc. Configuration management for co-management
US11308050B2 (en) * 2019-11-15 2022-04-19 Bank Of America Corporation Conversion mechanism for complex cohabitation databases
US11792184B2 (en) 2019-12-05 2023-10-17 Microsoft Technology Licensing, Llc Autopilot re-enrollment of managed devices
US11290576B2 (en) * 2019-12-27 2022-03-29 Snap Inc. Messaging system with circumstance configuration framework for hardware
US11443320B2 (en) 2020-01-07 2022-09-13 Bank Of America Corporation Intelligent systems for identifying transactions associated with an institution impacted by an event using a dashboard
US11238459B2 (en) 2020-01-07 2022-02-01 Bank Of America Corporation Intelligent systems for identifying transactions associated with an institution impacted by an event
JP7456160B2 (ja) 2020-01-08 2024-03-27 ブラザー工業株式会社 仲介プログラム、管理プログラム及びデバイス管理システム
JP7384039B2 (ja) 2020-01-08 2023-11-21 ブラザー工業株式会社 端末管理処理プログラム、端末管理装置及び端末管理システム
JP7521189B2 (ja) 2020-01-08 2024-07-24 ブラザー工業株式会社 端末管理処理プログラム、端末管理装置及び端末管理システム
US11748835B2 (en) 2020-01-27 2023-09-05 Hewlett Packard Enterprise Development Lp Systems and methods for monetizing data in decentralized model building for machine learning using a blockchain
US11218293B2 (en) 2020-01-27 2022-01-04 Hewlett Packard Enterprise Development Lp Secure parameter merging using homomorphic encryption for swarm learning
US11106452B2 (en) * 2020-02-04 2021-08-31 Arm Limited Infrastructure for validating updates via a network of IoT-type devices
US11533320B2 (en) * 2020-03-04 2022-12-20 Pulse Secure, Llc Optimize compliance evaluation of endpoints
CN111405058B (zh) * 2020-03-24 2023-05-02 浪潮通用软件有限公司 一种多移动终端多租户应用通知方法、装置、设备和介质
US11150972B1 (en) 2020-05-12 2021-10-19 International Business Machines Corporation Self-reporting and self-upgrading of enterprise systems
US11947659B2 (en) 2020-05-28 2024-04-02 Red Hat, Inc. Data distribution across multiple devices using a trusted execution environment in a mobile device
US11971980B2 (en) * 2020-05-28 2024-04-30 Red Hat, Inc. Using trusted execution environments to perform a communal operation for mutually-untrusted devices
CN112019495B (zh) * 2020-05-28 2021-11-19 北京航空航天大学 广域虚拟数据空间账户动态映射机制与数据安全管控方法
US12093371B2 (en) 2020-05-28 2024-09-17 Red Hat, Inc. Data distribution using a trusted execution environment in an untrusted device
US11456917B2 (en) * 2020-06-01 2022-09-27 Cisco Technology, Inc. Analyzing deployed networks with respect to network solutions
US11676158B2 (en) * 2020-06-02 2023-06-13 Kyndryl, Inc. Automatic remediation of non-compliance events
US11520573B2 (en) * 2020-07-08 2022-12-06 Vmware, Inc. Guided application rollback and migration
US20230161604A1 (en) * 2020-07-16 2023-05-25 aiden technologies, Inc. Automatic machine deployment and configuration
CN111859139A (zh) * 2020-07-27 2020-10-30 中国工商银行股份有限公司 应用程序推荐方法、装置、计算设备和介质
WO2022040145A1 (en) 2020-08-18 2022-02-24 Edera L3C Change management system and method
US11019106B1 (en) 2020-09-22 2021-05-25 Netskope, Inc. Remotely accessed controlled contained environment
US11848924B2 (en) * 2020-10-12 2023-12-19 Red Hat, Inc. Multi-factor system-to-system authentication using secure execution environments
US11537705B2 (en) * 2020-10-27 2022-12-27 Dell Products L.P. Device access control system
US11829493B2 (en) * 2020-10-27 2023-11-28 Dell Products L.P. Device access control system
US11693934B2 (en) * 2020-11-27 2023-07-04 EMC IP Holding Company LLC Device protection using configuration lockdown mode
US11516087B2 (en) * 2020-11-30 2022-11-29 Google Llc Connecting processors using twisted torus configurations
WO2022132941A1 (en) * 2020-12-15 2022-06-23 ClearVector, Inc. Activity verification within a network computing environment
US11595445B2 (en) * 2021-02-02 2023-02-28 Sap Se Unified authorization with data control language for cloud platforms
CN113162905A (zh) * 2021-02-26 2021-07-23 山东浪潮通软信息科技有限公司 一种企业移动设备的管控方法、设备及介质
US11956274B1 (en) * 2021-03-02 2024-04-09 Keysight Technologies, Inc. System and method for implementing a secure configuration of controllers and instruments in a networked system
US11620363B1 (en) 2021-03-15 2023-04-04 SHAYRE, Inc. Systems and methods for authentication and authorization for software license management
US11363050B1 (en) 2021-03-25 2022-06-14 Bank Of America Corporation Information security system and method for incompliance detection in data transmission
US11632362B1 (en) * 2021-04-14 2023-04-18 SHAYRE, Inc. Systems and methods for using JWTs for information security
US11706209B2 (en) * 2021-04-29 2023-07-18 Delinea Inc. Method and apparatus for securely managing computer process access to network resources through delegated system credentials
EP4330879A1 (en) 2021-04-30 2024-03-06 People Center, Inc. Improved management of computing devices via reference to linked employee records
US11184239B1 (en) 2021-04-30 2021-11-23 People Center, Inc. Management of computing devices via reference to linked employee records
US11893548B2 (en) 2021-04-30 2024-02-06 People Center, Inc. Management of computing devices using employee records
US11294929B1 (en) 2021-06-09 2022-04-05 Aeec Smart water data analytics
EP4109837A1 (en) * 2021-06-22 2022-12-28 Nokia Technologies Oy Device verification using binary message service messages
US11621830B1 (en) 2021-06-28 2023-04-04 SHAYRE, Inc. Systems and methods for facilitating asynchronous secured point-to-point communications
US11863539B2 (en) * 2021-07-30 2024-01-02 Zoom Video Communications, Inc. Encryption-based device enrollment
CN113591068B (zh) * 2021-08-03 2023-07-21 北京奇艺世纪科技有限公司 一种在线登录设备管理方法、装置及电子设备
US11785070B2 (en) * 2021-10-22 2023-10-10 Slcket, Inc. Connected cloud applications
WO2023101660A1 (en) * 2021-11-30 2023-06-08 Hewlett-Packard Development Company, L.P. Encrypted side-band communications
CN114356958B (zh) * 2021-12-06 2024-09-13 山东有人物联网股份有限公司 设备数据查询方法、装置、服务器及计算机可读存储介质
CN114327389B (zh) * 2021-12-24 2023-03-24 商派软件有限公司 应用管理方法、账号管理插件以及应用管理系统
US11956635B2 (en) * 2022-01-20 2024-04-09 Hewlett Packard Enterprise Development Lp Authenticating a client device
US11861376B2 (en) 2022-01-26 2024-01-02 Red Hat, Inc. Live edit of configuration management execution
US11750470B2 (en) * 2022-02-10 2023-09-05 Twilio Inc. Update compliance information while in provisional state
US20230266960A1 (en) * 2022-02-24 2023-08-24 Whirlpool Corporation Systems and methods of offline over the air (ota) programming of appliances
US20230291735A1 (en) * 2022-03-14 2023-09-14 Juniper Networks, Inc. Closed-loop network provisioning based on network access control fingerprinting
US11750459B1 (en) 2022-04-13 2023-09-05 International Business Machines Corporation Compliance checking for a multi-cloud platform
CN115016785B (zh) * 2022-08-09 2022-11-11 杭州湛联科技有限公司 一种用于多环境共用的前端项目打包方法及装置
US20240073030A1 (en) * 2022-08-26 2024-02-29 Motorola Solutions, Inc. Certificate entitlement licenses for authenticating public key infrastructure certificate enrollment
US11985032B2 (en) 2022-08-31 2024-05-14 6Connect, Inc Metadata-aware templating engine for assigning internet protocol address space in an organization
US11695825B1 (en) * 2022-12-01 2023-07-04 Productiv, Inc. SaaS application recommendation, approval, and fulfillment in a SaaS management platform
WO2024118245A1 (en) * 2022-12-01 2024-06-06 Productiv, Inc. Saas application recommendation, approval, and fulfillment in a saas management platform
US11652823B1 (en) 2022-12-19 2023-05-16 Uab 360 It Systems and methods for controlling access
KR102644495B1 (ko) * 2023-01-04 2024-03-06 김홍석 SaaS 어플리케이션 통합 관리 시스템 및 방법
US20240311123A1 (en) * 2023-03-13 2024-09-19 A-Dec, Inc. Selective firmware updates for dental equipment
US20240313956A1 (en) * 2023-03-15 2024-09-19 Open Text Holdings, Inc. Security for identity and access management in iot systems
WO2024199773A1 (en) * 2023-03-29 2024-10-03 British Telecommunications Public Limited Company Method of operating a telecommunications system and a telecommunications system
US12041059B1 (en) * 2023-07-11 2024-07-16 HYPR Corp. Device enrollment identity verification

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010128824A (ja) * 2008-11-27 2010-06-10 Hitachi Software Eng Co Ltd ポリシーグループ識別子を利用したクライアント制御システム
JP2012083880A (ja) * 2010-10-08 2012-04-26 Nomura Research Institute Ltd モジュール配布システム
WO2014032051A1 (en) * 2012-08-24 2014-02-27 Vmware, Inc. Method and system for facilitating isolated workspace for applications

Family Cites Families (136)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6272545B1 (en) * 1997-10-24 2001-08-07 Microsoft Corporation System and method for interaction between one or more desktop computers and one or more mobile devices
MXPA01010270A (es) * 1999-04-09 2002-10-23 Henry B Steen Iii Control de sistema y acceso de datos remotos.
US6996720B1 (en) 1999-12-17 2006-02-07 Microsoft Corporation System and method for accessing protected content in a rights-management architecture
US7080078B1 (en) 2000-05-09 2006-07-18 Sun Microsystems, Inc. Mechanism and apparatus for URI-addressable repositories of service advertisements and other content in a distributed computing environment
US20050203673A1 (en) * 2000-08-18 2005-09-15 Hassanayn Machlab El-Hajj Wireless communication framework
AU2002354789B2 (en) * 2001-07-06 2007-09-20 Computer Associates Think, Inc. Business process policy object
JP2004062417A (ja) * 2002-07-26 2004-02-26 Nippon Telegr & Teleph Corp <Ntt> 認証サーバ装置、サーバ装置、およびゲートウェイ装置
US20040054676A1 (en) 2002-09-16 2004-03-18 Mcnally Jay M. Systems and methods for automatically processing text information
GB0314908D0 (en) * 2003-06-26 2003-07-30 Ibm User access to a registry of business entity definitions
US7448080B2 (en) * 2003-06-30 2008-11-04 Nokia, Inc. Method for implementing secure corporate communication
US7801851B2 (en) * 2003-06-30 2010-09-21 Gravic, Inc. Method for ensuring referential integrity in multi-threaded replication engines
GB2408415B (en) 2003-11-19 2008-04-09 Vodafone Plc Networks
US7409463B2 (en) * 2003-12-04 2008-08-05 International Business Machines Corporation On-demand active role-based software provisioning
US7711796B2 (en) 2006-06-12 2010-05-04 Icontrol Networks, Inc. Gateway registry methods and systems
WO2005107161A1 (fr) 2004-04-28 2005-11-10 Beijing Jiaxun Feihong Electrical Co., Ltd. Systeme et procede de communications d'un reseau de telecommunications ip et leur application
US7925729B2 (en) 2004-12-07 2011-04-12 Cisco Technology, Inc. Network management
US20060048142A1 (en) 2004-09-02 2006-03-02 Roese John J System and method for rapid response network policy implementation
US7620001B2 (en) 2004-10-13 2009-11-17 Good Technology, Inc. Communication system and method with mobile devices
US20100115581A1 (en) 2008-11-06 2010-05-06 Trust Digital System method and device for mediating connections between policy source servers, corporate respositories, and mobile devices
US8818331B2 (en) 2005-04-29 2014-08-26 Jasper Technologies, Inc. Method for enabling a wireless device for geographically preferential services
CA2615659A1 (en) 2005-07-22 2007-05-10 Yogesh Chunilal Rathod Universal knowledge management and desktop search system
US20070055752A1 (en) 2005-09-08 2007-03-08 Fiberlink Dynamic network connection based on compliance
WO2007030796A2 (en) * 2005-09-09 2007-03-15 Salesforce.Com, Inc. Systems and methods for exporting, publishing, browsing and installing on-demand applications in a multi-tenant database environment
EP1934731A4 (en) * 2005-09-21 2009-09-16 Qwikker Inc CONTENT DELIVERY COMPATIBLE WITH THE DEVICE
US20070093243A1 (en) 2005-10-25 2007-04-26 Vivek Kapadekar Device management system
US7761503B2 (en) * 2006-01-06 2010-07-20 Microsoft Corporation Peer distribution point feature for system management server
US8296450B2 (en) * 2006-03-21 2012-10-23 Fortinet, Inc. Delegated network management system and method of using the same
US20090254392A1 (en) 2006-03-30 2009-10-08 Zander Van S Method and system for enterprise network access control and management for government and corporate entities
US8548452B2 (en) * 2006-04-13 2013-10-01 Blackberry Limited System and method for controlling device usage
US20080059631A1 (en) * 2006-07-07 2008-03-06 Voddler, Inc. Push-Pull Based Content Delivery System
US7647324B2 (en) 2006-08-01 2010-01-12 Sentillion, Inc. Methods and apparatus for managing user access to a computing environment
US9798789B2 (en) * 2006-09-12 2017-10-24 Facebook, Inc. Method and system for tracking changes to user content in an online social network
US8037093B2 (en) * 2006-09-12 2011-10-11 Facebook, Inc. Feeding updates to landing pages of users of an online social network from external sources
EP1914957B1 (en) * 2006-10-19 2012-10-03 Research In Motion Limited Method, system and apparatus for automatic notification to a plurality of communication nodes
US8761895B2 (en) 2008-03-20 2014-06-24 Greatbatch Ltd. RF activated AIMD telemetry transceiver
US8180735B2 (en) 2006-12-29 2012-05-15 Prodea Systems, Inc. Managed file backup and restore at remote storage locations through multi-services gateway at user premises
US7805403B2 (en) 2007-01-07 2010-09-28 Apple Inc. Synchronization methods and systems
JP5182282B2 (ja) * 2007-02-22 2013-04-17 富士通株式会社 監視装置、監視方法、監視プログラム
US8595186B1 (en) 2007-06-06 2013-11-26 Plusmo LLC System and method for building and delivering mobile widgets
CN101075316A (zh) * 2007-06-25 2007-11-21 陆航程 一种电子票证交易认证管理方法、载体结构、系统、终端
WO2009001447A1 (ja) * 2007-06-27 2008-12-31 Fujitsu Limited 認証方法、認証システム、認証装置及びコンピュータプログラム
EP2015179A1 (en) * 2007-07-13 2009-01-14 Alcatel Lucent A remote management system and method for service objects
US8103763B2 (en) * 2007-08-24 2012-01-24 Tibbo Technology System for remote configuration, control, and monitoring of devices over computer network using central server
JP5080912B2 (ja) * 2007-09-06 2012-11-21 キヤノン株式会社 画像形成装置およびネットワークデバイス管理方法及び画像形成装置管理システムとプログラム
US8788589B2 (en) * 2007-10-12 2014-07-22 Watchitoo, Inc. System and method for coordinating simultaneous edits of shared digital data
US8607304B2 (en) * 2008-03-07 2013-12-10 At&T Mobility Ii Llc System and method for policy-enabled mobile service gateway
JP2009238191A (ja) * 2008-03-28 2009-10-15 Mitsubishi Electric Corp Webアプリケーションシステム
US8438559B2 (en) 2008-04-18 2013-05-07 Oracle America, Inc. Method and system for platform-agnostic software installation
US8402526B2 (en) 2008-05-27 2013-03-19 Open Invention Network Llc System integrating an identity selector and user-portable device and method of use in a user-centric identity management system
US8924469B2 (en) * 2008-06-05 2014-12-30 Headwater Partners I Llc Enterprise access control and accounting allocation for access networks
US20100114618A1 (en) 2008-10-30 2010-05-06 Hewlett-Packard Development Company, L.P. Management of Variants of Model of Service
KR101647144B1 (ko) * 2008-11-03 2016-08-23 삼성전자주식회사 원격 유저 인터페이스 서비스에서 리소스에 대한 제어 방법, 장치 및 그 저장 매체
US8615581B2 (en) 2008-12-19 2013-12-24 Openpeak Inc. System for managing devices and method of operation of same
US8713173B2 (en) 2008-12-19 2014-04-29 Openpeak Inc. System and method for ensuring compliance with organizational policies
US8650290B2 (en) 2008-12-19 2014-02-11 Openpeak Inc. Portable computing device and method of operation of same
US8494641B2 (en) 2009-04-22 2013-07-23 Autonomic Technologies, Inc. Implantable neurostimulator with integral hermetic electronic enclosure, circuit substrate, monolithic feed-through, lead assembly and anchoring mechanism
US10057775B2 (en) 2009-01-28 2018-08-21 Headwater Research Llc Virtualized policy and charging system
US8086233B2 (en) 2009-03-31 2011-12-27 Cisco Technology, Inc. Detecting cloning of network devices
US8254890B2 (en) * 2009-04-08 2012-08-28 Research In Motion Limited System and method for managing items in a list shared by a group of mobile devices
US8725745B2 (en) * 2009-04-13 2014-05-13 Microsoft Corporation Provision of applications to mobile devices
US20110019626A1 (en) 2009-07-24 2011-01-27 Jeyhan Karaoguz Method and system for network resource allocation based on a usage pattern
US8842815B2 (en) 2009-07-29 2014-09-23 Comcast Cable Communications, Llc Identity management and service access for local user group based on network-resident user profiles
CN101989197A (zh) * 2009-07-31 2011-03-23 中兴通讯股份有限公司 一种可实现web程序权限复用的系统及生成和访问此程序的方法
US20120106399A1 (en) 2009-08-27 2012-05-03 Nokia Siemens Networks Oy Identity management system
CN101651743B (zh) * 2009-09-10 2014-04-09 华耀(中国)科技有限公司 一种面向手机终端用户的远程桌面接入方法
US8606889B2 (en) * 2010-01-21 2013-12-10 Microsoft Corporation Roaming application settings across multiple computing devices
EP2553872A1 (en) 2010-04-01 2013-02-06 Research In Motion Limited Methods and apparatus to collboratively manage a client using multiple servers
US8676756B2 (en) * 2010-05-17 2014-03-18 Invensys Systems, Inc. Replicating time-series data values for retrieved supervisory control and manufacturing parameter values in a multi-tiered historian server environment
US8997196B2 (en) * 2010-06-14 2015-03-31 Microsoft Corporation Flexible end-point compliance and strong authentication for distributed hybrid enterprises
US8364642B1 (en) * 2010-07-07 2013-01-29 Palantir Technologies, Inc. Managing disconnected investigations
US8812685B2 (en) 2010-07-16 2014-08-19 At&T Intellectual Property I, L.P. Advanced gateway device
CA2715146C (en) * 2010-09-17 2011-11-22 Guest Tek Interactive Entertainment Ltd. Configuration apparatus and method of configuring one or more devices having hidden configuration settings
EP2651072A3 (en) 2010-09-20 2013-10-23 Security First Corp. Systems and methods for secure data sharing
GB201019618D0 (en) 2010-10-19 2010-12-29 Data Encryption Systems Ltd Method of and appartus for distributing software objects
US8359016B2 (en) 2010-11-19 2013-01-22 Mobile Iron, Inc. Management of mobile applications
US8959492B2 (en) * 2010-12-14 2015-02-17 Ngmoco, Llc Communication protocol between a high-level language and a native language
WO2012091948A2 (en) * 2010-12-28 2012-07-05 Citrix Systems, Inc. Systems and methods for database proxy request switching
WO2012096963A1 (en) 2011-01-10 2012-07-19 Fiberlink Communications Corporation System and method for extending cloud services into the customer premise
US20120191769A1 (en) * 2011-01-25 2012-07-26 Microsoft Corporation Site-aware distributed file system access from outside enterprise network
KR101885133B1 (ko) * 2011-02-01 2018-08-03 삼성전자주식회사 디지털 디바이스에서 어플리케이션 자동 인스톨 기능을 제공하기 위한 장치 및 방법
US8644800B2 (en) 2011-02-15 2014-02-04 Blackberry Limited System and method for identity management for mobile devices
JP5678751B2 (ja) * 2011-03-18 2015-03-04 株式会社リコー 検疫ネットワークシステム
US10187494B2 (en) 2011-04-26 2019-01-22 Acumera, Inc. Gateway device application development system
GB201107978D0 (en) * 2011-05-13 2011-06-29 Antix Labs Ltd Method of distibuting a multi-user software application
GB2491392B (en) 2011-06-02 2015-06-24 Truphone Ltd Identity management for mobile devices
CN102262552B (zh) 2011-07-06 2015-08-19 惠州Tcl移动通信有限公司 一种应用程序跨设备同步方法及系统
GB2494710B (en) 2011-09-19 2015-06-24 Truphone Ltd Managing mobile device identities
US8744980B2 (en) * 2011-09-21 2014-06-03 Dell Products Lp Systems and methods for analysis of network equipment command line interface (CLI) and runtime management of user interface (UI) generation for same
US20140032733A1 (en) 2011-10-11 2014-01-30 Citrix Systems, Inc. Policy-Based Application Management
US20140053234A1 (en) 2011-10-11 2014-02-20 Citrix Systems, Inc. Policy-Based Application Management
US8886925B2 (en) 2011-10-11 2014-11-11 Citrix Systems, Inc. Protecting enterprise data through policy-based encryption of message attachments
KR20140135147A (ko) 2011-10-29 2014-11-25 스윗 스팟 인크. 위치-기반, 대화형 소비자 참여 플랫폼용 시스템 및 방법
US9172608B2 (en) * 2012-02-07 2015-10-27 Cloudera, Inc. Centralized configuration and monitoring of a distributed computing cluster
US20130219307A1 (en) 2012-02-21 2013-08-22 Artisan Mobile, Inc. System and method for runtime user interface management
US20130232229A1 (en) * 2012-03-02 2013-09-05 Ilya Firman Distribution of Application Files
US9094309B2 (en) 2012-03-13 2015-07-28 International Business Machines Corporation Detecting transparent network communication interception appliances
US9356933B2 (en) 2012-03-23 2016-05-31 Netapp, Inc. Implementing policies for an enterprise network using policy instructions that are executed through a local policy framework
CA2791935A1 (en) 2012-03-30 2013-09-30 Disternet Technology, Inc. Transcoding system and method
US8997038B2 (en) 2012-03-30 2015-03-31 Anypresence, Inc. Systems and methods for building and deploying mobile applications
US9106661B1 (en) * 2012-04-11 2015-08-11 Artemis Internet Inc. Computing resource policy regime specification and verification
US9609456B2 (en) * 2012-05-14 2017-03-28 Qualcomm Incorporated Methods, devices, and systems for communicating behavioral analysis information
US10541926B2 (en) 2012-06-06 2020-01-21 The Trustees Of Columbia University In The City Of New York Unified networking system and device for heterogeneous mobile environments
US9210619B2 (en) 2012-06-20 2015-12-08 Ofinno Technologies, Llc Signalling mechanisms for wireless device handover
US8943197B1 (en) * 2012-08-16 2015-01-27 Amazon Technologies, Inc. Automated content update notification
US9451403B2 (en) 2012-08-30 2016-09-20 Ebay Inc. Systems and method for configuring mobile device applications based on location
US9197498B2 (en) 2012-08-31 2015-11-24 Cisco Technology, Inc. Method for automatically applying access control policies based on device types of networked computing devices
EP3499839B1 (en) 2012-09-18 2021-03-17 Citrix Systems, Inc. Mobile device management and security
IL221975A (en) * 2012-09-19 2015-02-26 Tufin Software Technologies Ltd A method and device for managing connectivity between resources in a computer network
US9792004B2 (en) * 2012-10-08 2017-10-17 Fisher-Rosemount Systems, Inc. Derived and linked definitions with override
US9942753B2 (en) 2012-10-22 2018-04-10 Pervasive Group, Inc. Method and system for monitoring and restricting use of mobile devices
CN102984209B (zh) * 2012-11-06 2016-01-27 王玉娇 一种应用程序的分发方法及其终端
EP2827621B1 (en) * 2012-11-22 2017-06-07 Huawei Technologies Co., Ltd. Application program distribution method, terminal and server
US10235383B2 (en) 2012-12-19 2019-03-19 Box, Inc. Method and apparatus for synchronization of items with read-only permissions in a cloud-based environment
RU2523113C1 (ru) * 2012-12-25 2014-07-20 Закрытое акционерное общество "Лаборатория Касперского" Система и способ целевой установки сконфигурированного программного обеспечения
US10089582B2 (en) * 2013-01-02 2018-10-02 Qualcomm Incorporated Using normalized confidence values for classifying mobile device behaviors
EP2757471A3 (en) 2013-01-21 2015-03-11 Samsung Electronics Co., Ltd Computing system with support for ecosystem mechanism and method of operation thereof
US9245128B2 (en) 2013-03-06 2016-01-26 Microsoft Technology Licensing, Llc Limiting enterprise applications and settings on devices
US9158518B2 (en) * 2013-03-11 2015-10-13 Blackberry Limited Collaborative application development environment using a connected device
US9400678B2 (en) 2013-03-12 2016-07-26 International Business Machines Corporation Systems for selectively enabling and disabling hardware features
US9413736B2 (en) * 2013-03-29 2016-08-09 Citrix Systems, Inc. Providing an enterprise application store
US9723058B2 (en) * 2013-05-28 2017-08-01 Vmware, Inc. Dynamic registration of an application with an enterprise system
US9607278B2 (en) 2013-06-12 2017-03-28 Cloudon Ltd. Systems and methods for supporting social productivity using relevancy scoring
JP6161436B2 (ja) * 2013-07-03 2017-07-12 キヤノン株式会社 印刷装置及びその制御方法、プログラム
CN103442049B (zh) * 2013-08-22 2016-08-31 浪潮电子信息产业股份有限公司 一种面向构件的混合型云操作系统体系结构及其通信方法
US9652362B2 (en) * 2013-12-06 2017-05-16 Qualcomm Incorporated Methods and systems of using application-specific and application-type-specific models for the efficient classification of mobile device behaviors
KR20150068811A (ko) * 2013-12-12 2015-06-22 삼성디스플레이 주식회사 표시 패널의 구동 방법 및 이를 수행하는 표시 장치
US9210183B2 (en) 2013-12-19 2015-12-08 Microsoft Technology Licensing, Llc Detecting anomalous activity from accounts of an online service
US9454434B2 (en) * 2014-01-17 2016-09-27 Netapp, Inc. File system driven raid rebuild technique
US9432405B2 (en) 2014-03-03 2016-08-30 Microsoft Technology Licensing, Llc Communicating status regarding application of compliance policy updates
US9942152B2 (en) 2014-03-25 2018-04-10 A10 Networks, Inc. Forwarding data packets using a service-based forwarding policy
SG11201605786SA (en) * 2014-03-31 2016-10-28 Oracle Int Corp Infrastructure for synchronization of mobile device with mobile cloud service
WO2016045901A1 (en) 2014-09-22 2016-03-31 Asml Netherlands B.V. Process window identifier
US9781098B2 (en) 2014-09-24 2017-10-03 Oracle International Corporation Generic server framework for device authentication and management and a generic framework for endpoint command dispatch
WO2016046415A1 (en) 2014-09-26 2016-03-31 Dreica Ag An apparatus for lifting and holding a human limb
CN107427683B (zh) 2015-01-09 2019-06-21 艾克索尼克斯调制技术股份有限公司 用于可植入神经刺激器的改进天线和使用方法
US9882726B2 (en) 2015-05-22 2018-01-30 Motorola Solutions, Inc. Method and apparatus for initial certificate enrollment in a wireless communication system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010128824A (ja) * 2008-11-27 2010-06-10 Hitachi Software Eng Co Ltd ポリシーグループ識別子を利用したクライアント制御システム
JP2012083880A (ja) * 2010-10-08 2012-04-26 Nomura Research Institute Ltd モジュール配布システム
WO2014032051A1 (en) * 2012-08-24 2014-02-27 Vmware, Inc. Method and system for facilitating isolated workspace for applications

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11089474B2 (en) 2014-09-24 2021-08-10 Oracle International Corporation Unified provisioning of applications on devices in an enterprise system

Also Published As

Publication number Publication date
KR20170063757A (ko) 2017-06-08
CN111541768B (zh) 2021-05-25
CN106605210A (zh) 2017-04-26
JP2017534104A (ja) 2017-11-16
KR102505010B1 (ko) 2023-03-03
CN111541768A (zh) 2020-08-14
CN107113326B (zh) 2020-10-02
US9535675B2 (en) 2017-01-03
US20170374061A1 (en) 2017-12-28
CN107431721B (zh) 2021-07-23
EP3198420B1 (en) 2021-02-24
KR102300865B1 (ko) 2021-09-14
JP6417035B2 (ja) 2018-10-31
CN112040004A (zh) 2020-12-04
US20190052624A1 (en) 2019-02-14
US9749311B2 (en) 2017-08-29
CN106664323B (zh) 2020-05-15
US11089474B2 (en) 2021-08-10
US9729542B2 (en) 2017-08-08
EP3198422B1 (en) 2018-04-04
CN106605210B (zh) 2019-01-04
US10142327B2 (en) 2018-11-27
CN109828761A (zh) 2019-05-31
EP3198419A1 (en) 2017-08-02
KR102368195B1 (ko) 2022-02-28
JP2017536598A (ja) 2017-12-07
US20160088026A1 (en) 2016-03-24
JP6474890B2 (ja) 2019-02-27
KR20170060105A (ko) 2017-05-31
US9813407B2 (en) 2017-11-07
US20170257362A1 (en) 2017-09-07
KR20170063788A (ko) 2017-06-08
US20170207985A1 (en) 2017-07-20
EP3198419B1 (en) 2018-02-28
EP3198420A1 (en) 2017-08-02
US20180034808A1 (en) 2018-02-01
US9781098B2 (en) 2017-10-03
US20160088021A1 (en) 2016-03-24
US10075429B2 (en) 2018-09-11
EP3198421A1 (en) 2017-08-02
WO2016048417A1 (en) 2016-03-31
WO2016048415A1 (en) 2016-03-31
US10116647B2 (en) 2018-10-30
KR20220026607A (ko) 2022-03-04
US9692748B2 (en) 2017-06-27
WO2016048416A1 (en) 2016-03-31
KR20170063792A (ko) 2017-06-08
EP3198422A1 (en) 2017-08-02
JP6499281B2 (ja) 2019-04-10
CN107431721A (zh) 2017-12-01
JP6646048B2 (ja) 2020-02-14
US20170063846A1 (en) 2017-03-02
KR102295830B1 (ko) 2021-09-01
CN107113326A (zh) 2017-08-29
US10129109B2 (en) 2018-11-13
US20160087955A1 (en) 2016-03-24
CN106664323A (zh) 2017-05-10
JP2017529627A (ja) 2017-10-05
CN109828761B (zh) 2022-04-05
US9652212B2 (en) 2017-05-16
CN112040004B (zh) 2021-09-28
WO2016048414A1 (en) 2016-03-31
US20160085533A1 (en) 2016-03-24
EP3198421B1 (en) 2020-02-19
US20160087854A1 (en) 2016-03-24
US20160087956A1 (en) 2016-03-24
KR102313789B1 (ko) 2021-10-19

Similar Documents

Publication Publication Date Title
JP6499281B2 (ja) 企業システム内の装置の変更イベントの管理
JP6449896B2 (ja) モバイルクラウドサービスのためのオンプレミス・エージェント
US9935959B2 (en) Cloud service custom execution environment
US9723025B2 (en) Dependent entity provisioning
US20160043968A1 (en) Placement policy-based allocation of computing resources
US9672123B2 (en) Deploying services on application server cloud with high availability
US10291626B2 (en) Managing temporal aspects of accounts and entitlements
JP6404911B2 (ja) ネットワーク通信環境における仲介主体のための信頼できるメッセージングのための手法
US10482404B2 (en) Delegated privileged access grants
US11120108B2 (en) Managing security artifacts for multilayered applications
JP2023511117A (ja) 分散バージョン制御システムにおけるコードの更新
US12007957B2 (en) Database connection refresh for server instances and live database updates
US9430319B2 (en) Traffic capacity based optimization of SOA fault recovery using linear programming model
US20230034196A1 (en) Techniques for providing synchronous and asynchronous data processing
US20230359508A1 (en) Remote cloud function invocation service
WO2023219773A1 (en) Remote cloud function invocation service

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171113

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20171113

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20181024

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20181106

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190206

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190314

R150 Certificate of patent or registration of utility model

Ref document number: 6499281

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