CN109828761A - 为企业系统中的设备管理改变事件 - Google Patents

为企业系统中的设备管理改变事件 Download PDF

Info

Publication number
CN109828761A
CN109828761A CN201811528638.7A CN201811528638A CN109828761A CN 109828761 A CN109828761 A CN 109828761A CN 201811528638 A CN201811528638 A CN 201811528638A CN 109828761 A CN109828761 A CN 109828761A
Authority
CN
China
Prior art keywords
change
event
remote equipment
change event
action process
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
CN201811528638.7A
Other languages
English (en)
Other versions
CN109828761B (zh
Inventor
B·K·贾扬提文卡塔
H·玛赫什瓦里
S·达斯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Oracle International Corp
Original Assignee
Oracle International Corp
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 Oracle International Corp filed Critical Oracle International Corp
Publication of CN109828761A publication Critical patent/CN109828761A/zh
Application granted granted Critical
Publication of CN109828761B publication Critical patent/CN109828761B/zh
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)
  • Telephonic Communication Services (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)
  • Storage Device Security (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Human Computer Interaction (AREA)

Abstract

本申请涉及为企业系统中的设备管理改变事件。公开了用于向远程设备传送关于与对企业系统的访问的改变相关的改变事件的信息的技术。设备访问管理系统可以便于向远程设备传送改变事件。关于改变事件的信息可以基于改变事件的类型(例如,策略改变、应用改变和设置改变)而被存储在改变事件对象中。改变事件队列可以持久地存储对应于改变事件的信息。一个或多个计算节点可以被调度,以基于改变事件的类型执行针对每个改变事件的动作过程。计算节点可以向远程设备传送关于改变事件的信息(例如,实现调整访问的指令)。改变事件可以保持在队列上,直到所有远程设备得到关于改变事件的通知。

Description

为企业系统中的设备管理改变事件
本申请是申请日为2015年4月20日、申请号为201580045976.3、名称为“为企业系统中的设备管理改变事件”的发明专利申请的分案申请。
对相关申请的交叉引用
本申请要求于2015年4月17日提交的标题为“MANAGING CHANGE EVENTS FORDEVICES IN AN ENTERPRISE SYSTEM(为企业系统中的设备管理改变事件)”的美国非临时申请No.14/690,034的权益和优先权,该非临时申请要求于2014年9月24日提交的标题为“Mobile Security Manager(MSM)(移动安全管理器)”的美国临时申请No.62/054,544的权益和优先权。出于所有目的将上述专利申请的全部内容通过引用并入本文。
技术领域
本公开一般涉及管理与利用远程设备访问企业系统相关的事件。更具体地,公开了用于向远程设备传送关于与对企业系统的访问的改变相关的事件的信息的技术。
背景技术
随着设备(包括移动设备)的激增,许多企业正在采用“自带设备”(BYOD)策略。BYOD使得用户能够带来他们自己的设备以连接到企业的系统,以便访问由企业提供的资源(例如,应用或数据)。BYOD策略可以允许用户出于个人用途而继续使用他们自己的设备。管理企业系统中用户拥有的设备的不同用途(例如,个人用途和公司用途)成为企业的首要关注点。允许用户自己的设备访问企业系统可能带来新的安全风险。一旦用户拥有的设备获得对企业系统的访问,则企业系统可能面临来自非合规(non-compliant)设备和设备的非合规使用的安全风险。当用户拥有的设备受到威胁(例如,被黑、被盗或丢失)时,安全性变得更加令人关注。
为了便于对访问企业系统的用户拥有的设备和公司设备的管理,一些企业可以实现移动设备管理(MDM)系统和/或移动应用管理(MAM)系统。这样的系统可以便于对企业系统的访问的管理和控制,以确保企业系统及其资源是受保护的。对企业系统的访问的管理和控制可以包括传送关于合规性和资源的信息,以及为了维持对企业系统的访问而必须采取的动作。
具有成千上万的用户(例如,雇员、承包商和客户)的企业可能面临为访问企业的成千上万的设备管理访问的任务。在任何给定时间,企业可能必须与许多设备通信,以向这些设备通知对企业系统的访问的改变。由于需要向其传送信息的设备的数量较多,可能对管理这样的信息的传送的(一个或多个)系统施加巨大的负担。由于需要被通知的设备的数量较多,因此用于便于向设备传送信息的系统可能变得过载,并且有时没有响应。很多时候,与对企业系统的访问的改变相关的信息的传送可能被延迟或不被递送。使事情进一步复杂化的是,许多设备可能受到与访问企业系统相关的多个改变的影响,以使得关于多个改变的信息必须被传送到设备。在许多情况下,由于设备遇到的错误(例如,设备错误或通信错误),关于访问的改变的信息可能被设备忘记或不被设备处理。有时候,当关于同一改变的信息被传送到先前遇到错误的设备时,设备可能遇到错误。因此,一些设备可能接收不到关于对企业系统的访问的改变的信息。例如,如果一个访问策略撤销对资源的访问,而另一个访问策略提供对被撤销的资源的访问,则基于访问策略的事件的顺序确定对该资源的最终访问。
消息传送服务(诸如消息传送服务(JMS))可以被实现,以支持发布-订阅模型。这样的模型可以允许由企业系统(充当发布者)向改变的主题的所有感兴趣的订阅者通知企业系统中的工件(artifact)的改变。在服务器集群中的每个节点上存在一个主题订阅者的实例中,消息传送服务可能不能便于在订阅者之间处理改变,从而导致工作的重复或者可能导致不正确的递送顺序。消息传送服务可能太繁重,以至于不能实现对与对企业系统的访问的改变对应的新的或不同类型的主题的管理。
作为上文描述的对于通信的许多挑战的结果,一些设备可能不能接收关于对企业系统的访问的改变的信息。企业正在寻求改进信息的传送的方式,以用于管理访问企业系统的用户拥有的设备和企业设备二者。
发明内容
本公开一般涉及管理与利用远程设备访问企业系统相关的事件。更具体地,公开了用于向远程设备传送关于与对企业系统的访问的改变相关的事件的信息的技术。对企业系统的访问可以包括对资源的访问和/或提供对企业系统的访问的远程设备的安全环境中的动作。可以实现设备访问管理系统,以便于与访问企业系统的远程设备通信。
设备访问管理系统可以基于改变事件的类型来管理关于改变事件(例如,对企业系统的访问的改变)的信息。改变事件的类型的示例可以包括但不限于策略改变、应用改变和设置改变。关于改变事件的信息可以基于改变事件的类型被存储在被实现为对象(“改变事件对象”)(例如,普通的老式对象)的数据结构中。可以为每个不同类型的改变事件定义元数据类。元数据类可以定义可以被存储在基于该元数据类定义的改变事件对象中的信息的一个或多个字段。当定义新的或不同类型的改变事件时,可以定义新的元数据类。基于改变事件的类型,可以创建改变事件对象以存储关于该改变事件的信息。
为了确保关于改变事件的信息是持久的,以使得为受改变事件影响的远程设备确保向这些远程设备的信息传送,设备访问管理系统可以实现队列(“改变事件队列”)。改变事件队列可以为改变事件存储对应于每个改变事件对象的信息(例如,改变事件条目)。设备访问管理系统可以通过将改变事件对象中的信息发送到远程设备来向设备传送改变事件,以向它们通知改变事件。在一些实施例中,设备访问管理系统可以利用通知服务(例如,推送通知服务)向远程设备传送改变事件。远程设备可以与通知服务通信,以接收关于改变事件的通知。改变事件条目可以保留在改变事件队列上,直到受对应于该改变事件条目的改变事件影响的所有设备已经得到关于该改变事件的通知。在一些实施例中,可以向远程设备重新发送改变事件,以重试改变事件的传送。
在一些实施例中,可以为每种类型的改变事件定义动作过程。动作过程可以是由动作过程类定义的例程。可以为某一类型的改变事件发起与用于该类型的改变事件的动作过程类对应的动作过程。动作过程类可以包括向受对应于改变事件的改变影响的远程设备传送关于改变事件(例如,改变事件对象)的信息。被传送到远程设备的信息可以包括使远程设备基于改变事件调整访问的指令或命令。
在一些实施例中,设备访问管理系统可以利用多个计算节点来执行对应于改变事件的访问过程。当要向其通知改变事件的远程设备的数量可能很大时,多个计算节点可以实现动作过程的执行。例如,在确定成千上万的远程设备受改变事件的影响时,可以征用(enlist)多个计算节点来执行动作过程,以向不同的远程设备通知改变事件。每个计算节点将实现动作过程的不同实例,以处理向不同的远程设备集合传送改变事件。多个计算节点的使用可以平衡针对受改变事件影响的不同远程设备执行动作过程的负载,而不是对所有远程设备在单个计算节点上执行动作过程。被指定为对远程设备执行动作过程的计算节点可以处理改变事件的管理,直到这些远程设备中的每个远程设备接收到关于改变事件的通知。在一些实施例中,远程设备可以向计算节点发送指示改变事件已被确认的讯息。通过将动作过程分布在多个计算节点之间,可以提高用于向远程设备传送改变事件的性能效率。用于动作过程的处理负载可以在多个计算节点之间被平衡,以使得一个计算节点不会为了对受改变事件影响的所有远程设备执行动作过程而不堪重负。
本发明的一些实施例可以由计算系统实现。计算系统可以被实现为设备访问管理系统的一部分。计算系统可以实现方法和操作。在至少一个实施例中,计算系统可以包括一个或多个处理器和存储指令的存储器,当这些指令由该一个或多个处理器执行时,使得该一个或多个处理器实现操作。可以实现操作以执行方法。在一些实施例中,非暂态计算机可读介质可以包括当由一个或多个处理器执行时使得操作被执行的指令。在一些实施例中,非暂态计算机可读介质可以保护计算机免于包含恶意代码的电子通信。在一个示例中,存储在计算机可读介质上的指令在由一个或多个处理器执行时,可以使得下文描述的方法和操作被实现。还有其它实施例涉及采用或存储用于下文描述的方法和操作的指令的系统和机器可读有形存储介质。
在至少一个实施例中,一种方法可以由计算机系统实现。该方法可以包括为多个远程设备确定与对企业系统的访问的改变对应的改变事件的类型。该方法可以包括识别与改变事件的类型相关联的动作过程类。动作过程类可以定义针对该类型的改变事件要执行的动作过程。该方法可以包括基于多个计算节点中的每个计算节点的处理负载来选择多个计算节点中的计算节点集合以执行针对访问的改变的动作过程。该方法包括基于改变事件的类型来建立用于多个远程设备中的第一远程设备集合的第一改变事件对象。改变事件对象可以指示关于访问的改变的信息。建立第一改变事件对象可以包括基于用于第一远程设备集合的改变事件条目来实例化第一改变事件对象。用于第一远程设备集合的改变事件条目可以包括识别第一远程设备集合中的每个远程设备的信息。第一改变事件对象可以包括识别第一远程设备集合中的每个远程设备的信息。该方法包括基于改变事件的类型来建立用于多个远程设备中的第二远程设备集合的第二改变事件对象。改变事件对象和操作对象可以是普通的老式对象(plain oldobject)。第一远程设备集合中的每个远程设备可以不同于第二远程设备集合中的每个远程设备。
该方法包括由计算节点集合中的第一计算节点利用第一改变事件对象发起用于第一动作过程对象的动作过程。第一动作过程对象可以基于动作过程类来建立。该方法包括由计算节点集合中的第二计算节点利用第二改变事件对象发起用于第二动作过程对象的动作过程。第二动作过程对象可以基于动作过程类来建立。为第一动作过程对象发起的动作过程可以与为第二动作过程对象发起的动作过程并发地发起。
在一些实施例中,该方法可以包括向改变事件队列添加用于第一远程设备集合和第二远程设备集合中的每个远程设备的改变事件条目。改变事件条目可以指示访问的改变和改变事件的类型。该方法可以包括在从第一远程设备集合中的每个远程设备接收到响应时从改变事件队列中移除用于第一远程设备集合的改变事件条目。该响应可以指示第一远程设备集合中的每个远程设备已经应用了与改变事件的类型对应的访问的改变。
在一些实施例中,利用第一改变事件对象发起用于第一动作过程对象的动作过程可以包括:通过利用第一改变事件对象来实例化动作过程类而建立第一动作过程对象;以及利用第一动作过程对象调用动作过程。
在一些实施例中,为第一动作过程对象调用的动作过程包括向第一远程设备集合中的每个远程设备发送指示访问的改变的指令。该指令可以使第一远程设备集合中的至少一个远程设备应用访问的改变。
在一些实施例中,该方法可以包括计算多个计算节点中的每个计算节点的处理负载。计算节点的处理负载可以基于计算节点已发起的动作过程的数量来计算。基于动作过程阈值为计算节点集合选择第一计算节点。在一些实施例中,基于计算节点集合中的每个计算节点的处理负载满足动作过程阈值来选择计算节点集合中的每个计算节点。
在一些实施例中,该方法可以包括识别改变事件的类型。改变事件的类型可以包括策略改变,该策略改变包括合规性策略的改变、登记策略的改变、工作空间策略的改变、设备策略的改变或其组合。为远程设备集合执行的动作过程可以包括指示远程设备集合中的每个远程设备应用策略改变。
在一些实施例中,该方法可以包括识别改变事件的类型。改变事件的类型可以包括应用改变,该应用改变包括将应用添加到多个远程设备可访问的应用的目录、从目录中移除应用、修改目录中的应用的版本或其组合。为远程设备集合执行的动作过程可以包括指示远程设备集合中的每个远程设备应用应用改变。
在一些实施例中,该方法可以包括识别改变事件的类型。改变事件的类型可以包括与访问企业系统相关的同步设置的改变。为远程设备集合执行的动作过程可以包括指示远程设备集合中的每个远程设备应用同步设置的改变。
在至少一个实施例中,另一种方法可以由计算机系统实现。该方法可以包括确定要对多个远程设备执行的动作。该方法可以包括在队列上添加用于多个远程设备中的第一远程设备集合和第二远程设备集合中的每个远程设备的改变事件条目,从而将多个改变事件条目添加到队列。第一远程设备集合中的每个远程设备可以不同于第二远程设备集合中的每个远程设备。该方法可以包括从队列向第一计算节点指派对应于第一远程设备集合的第一改变事件条目。该方法可以包括实例化用于第一改变事件条目的第一元数据对象以及将识别第一远程设备集合中的每个远程设备的元数据存储在第一元数据对象中。第一元数据对象的实例化可以在第一计算节点上执行。该方法可以包括从第一计算节点基于第一元数据对象来指示要对第一远程设备集合中的每个远程设备采取的动作。该方法可以包括从队列向第二计算节点指派对应于第二远程设备集合的第二改变事件条目。该方法可以包括实例化用于第二改变事件条目的第二元数据对象以及将识别第二远程设备集合中的每个远程设备的元数据存储在第二元数据对象中。该方法可以包括从第二计算节点基于第二元数据对象来指示要对第二远程设备集合中的每个远程设备采取的动作。
通过参考以下说明书、权利要求和附图,前述内容以及其它特征和实施例将变得更加明显。
附图说明
下文参考以下附图详细描述本发明的说明性实施例:
图1绘出了根据本发明的一些实施例的、包括用于管理用于对企业系统的访问的改变的改变事件的设备访问管理系统的计算系统的简化高级示意图。
图2示出了根据本发明的一些实施例的设备访问管理系统的更详细的高级示意图。
图3示出了根据本发明的一些实施例的用于发起针对改变事件的动作过程的一系列操作。
图4示出了根据本发明的一些实施例的用于发起针对改变事件的动作过程的一系列操作。
图5绘出了根据本发明的一些实施例的用于存储关于改变事件的信息的数据结构的示例。
图6绘出了根据本发明的一些实施例的表示动作过程对象的数据结构的示例。
图7绘出了根据本发明的一些实施例的表示不同类型的改变事件对象的数据结构的示例。
图8是示出根据本发明的一些实施例的用于向访问企业系统的远程设备传送改变事件的过程的流程图。
图9绘出了用于实现实施例的分布式系统的简化图。
图10是根据本公开的实施例的、其中服务可以作为云服务被提供的系统环境的一个或多个组件的简化框图。
图11示出了可以被用来实现本发明的实施例的示例性计算机系统。
图12示出了可以被用来实现本发明的实施例的示例性计算机系统。
具体实施方式
在下面的描述中,出于解释的目的,阐述了具体细节,以便提供对本发明的实施例的透彻理解。然而,将明显的是,可以在没有这些具体细节的情况下实践各种实施例。例如,电路、系统、算法、结构、技术、网络、过程和其它组件可以被示为以框图形式的组件,以免以不必要的细节使实施例模糊。附图和描述不旨在是限制性的。
另外,要注意的是,单独的实施例可以被描述为被描绘为流程图、流图、数据流图、结构图或框图的过程。虽然流程图可以将操作描述为顺序的过程,但是操作中的许多操作可以并行地或并发地执行。此外,操作的顺序可以被重新安排。过程在其操作完成时终止,但是可以具有未包括在附图中的附加步骤。过程可以对应于方法、函数、流程、子例程、子程序等。当过程对应于函数时,它的终止可以对应于函数返回到调取函数(callingfunction)或主函数。
本公开一般涉及管理与利用远程设备访问企业系统相关的事件。更具体地,公开了用于向远程设备传送关于与对企业系统的访问的改变相关的事件的信息的技术。对企业系统的访问可以包括对资源的访问和/或在提供对企业系统的访问的远程设备的安全环境中的动作。可以实现设备访问管理系统,以便于与访问企业系统的远程设备通信。
设备访问管理系统可以利用多个计算系统向若干远程设备传送关于改变事件的信息。本发明的一些实施例的技术优点包括使得不同的改变事件能够被定义以使得在任何给定时间能够向大量远程设备传送改变事件的系统。通过利用元数据类定义不同的改变事件,可以添加或移除计算系统,以便于改变事件的传送。可以利用很少配置或者在没有配置的情况下添加计算系统,以基于为与改变事件的类型对应的元数据类定义的改变事件的类型来传送关于改变事件的信息。设备访问管理系统可以基于改变事件的类型来管理关于改变事件(例如,对企业系统的访问的改变)的信息。改变事件的类型的示例可以包括但不限于策略改变、应用改变和设置改变。关于改变事件的信息可以基于改变事件的类型被存储在被实现为对象(“改变事件对象”)(例如,普通的老式对象)的数据结构中。可以为每种不同类型的改变事件定义元数据类。元数据类可以定义可以被存储在基于该元数据类定义的改变事件对象中的一个或多个信息字段。当定义新的或不同类型的改变事件时,可以定义新的元数据类。基于改变事件的类型,可以创建改变事件对象以存储关于该改变事件的信息。
为了确保关于改变事件的信息是持久的,以使得为受改变事件影响的远程设备确保向这些远程设备的信息传送,设备访问管理系统可以实现队列(“改变事件队列”)。改变事件队列可以存储与用于改变事件的每个改变事件对象对应的信息(例如,改变事件条目)。设备访问管理系统可以通过向远程设备发送改变事件对象中的信息来向设备传送改变事件,以通知它们改变事件。在一些实施例中,设备访问管理系统可以利用通知服务(例如,推送通知服务)向远程设备传送改变事件。远程设备可以与通知服务通信,以接收关于改变事件的通知。改变事件条目可以保留在改变事件队列上,直到受对应于该改变事件条目的改变事件影响的所有设备已经得到关于该改变事件的通知。在一些实施例中,可以向远程设备重新发送改变事件,以重试改变事件的传送。
本发明的一些实施例的技术优点包括确保关于改变事件的信息被递送到受这些改变事件影响的远程设备。改变事件队列可以使得设备访问管理系统能够管理关于改变事件的信息和这些改变事件的顺序。由于各种原因,一些远程设备可能失去与企业系统的连接。因为改变事件可以保留在改变事件队列上,直到所有受该改变事件影响的远程设备都被通知,所以远程设备可能在改变事件发生之后很久才获得关于改变事件的信息。可以周期性地向远程设备通知改变事件,而不引起其它改变事件的传送的延迟。
本发明的一些实施例的技术优点包括使得能够基于改变事件的类型来定义不同动作过程的系统。在一些实施例中,可以为每种类型的改变事件定义动作过程。动作过程可以是由动作过程类定义的例程。通过为动作过程定义动作过程类,被添加以扩展用于管理改变事件的计算资源的计算系统可以容易地确定动作过程,而无需附加的手动配置。在要通知的设备的数量增加的系统中,可以利用很少的手动配置容易地扩展系统,以使得系统能够处理改变事件到远程设备的处理和传送。可以为某一类型的改变事件发起与用于该类型的改变事件的动作过程类对应的动作过程。动作过程类可以包括向受对应于改变事件的改变影响的远程设备传送关于该改变事件(例如,改变事件对象)的信息。向远程设备传送的信息可以包括使远程设备基于改变事件来调整访问的指令或命令。
在一些实施例中,设备访问管理系统可以利用多个计算节点来执行对应于改变事件的访问过程。当要向其通知改变事件的远程设备的数量可能很大时,多个计算节点可以实现动作过程的执行。例如,在确定成千上万的远程设备受改变事件影响时,可以征用多个计算节点以执行动作过程,以便向不同的远程设备通知改变事件。每个计算节点将实现动作过程的不同实例,以处理向不同的远程设备集合传送改变事件。多个计算节点的使用可以提供许多技术优点。计算节点可以平衡对受改变事件影响的不同远程设备执行动作过程的负载,而不是对所有远程设备在单个计算节点上执行动作过程。被指定为对远程设备执行动作过程的计算节点可以处理改变事件的管理,直到这些远程设备中的每个远程设备接收到关于改变事件的通知。在一些实施例中,远程设备可以向计算节点发送指示改变事件已被确认的讯息。通过将动作过程分布在多个计算节点之间,可以提高用于向远程设备传送改变事件的性能效率。用于动作过程的处理负载可以在多个计算节点之间被平衡,以使得一个计算节点不会为了对受改变事件影响的所有远程设备执行动作过程而不堪重负。在计算节点不能向远程设备通知改变事件的实例中,可以利用不同的计算节点继续通知远程设备而不影响其它计算节点的处理。因此,通过利用类来定义改变事件和动作过程,具有可用处理资源的计算节点可以处理关于改变事件的信息的传送。
图1绘出了根据本发明的一些实施例的、用于管理用于对企业系统的访问的改变的改变事件的计算系统100的简化高级示意图。特别地,计算系统100可以被实现为管理与远程访问企业系统的设备(例如,远程设备)的通信,以向这些设备通知与访问企业系统相关的信息(例如,改变事件)。图1中绘出的实施例仅仅是示例并且不旨在不适当地限制本发明的要求保护的实施例。本领域普通技术人员将认识到许多变化、替代和修改。
计算系统100可以是为企业实现的企业系统的一部分。计算系统100可以包括企业计算机系统150,企业计算机系统150提供对由企业计算机系统150提供的一个或多个资源的访问。资源的示例可以包括应用、服务、数据或其组合,这些资源中的任何资源可以由第三方提供商托管并且由企业计算机系统150提供给远程设备。
用户可以利用诸如远程设备108-1、108-2、…108-N(统称为远程设备108)之类的一个或多个远程设备来访问企业计算系统150。利用远程设备108对企业计算机系统150的访问可以由设备访问管理系统120控制和管理。远程设备108中的每个远程设备可以包括安全容器应用。安全容器应用可以提供用于与设备访问管理系统120通信以访问企业计算机系统150的安全执行环境。远程设备108可以与设备访问管理系统120通信,以获得对由企业计算机系统150提供的资源(例如,应用)的访问。由设备访问管理系统120控制的对企业计算机系统150的访问可以包括对远程设备上的资源的访问和/或用来在安全容器应用中执行动作的访问。
设备访问管理系统120可以针对访问企业计算机系统150来管理远程设备108的认证和登记(enrollment)。在一些实施例中,设备访问管理系统120可以管理与利用远程设备108访问企业计算机系统150相关的改变事件。具体而言,设备访问管理系统120可以向远程设备108传送关于与这些远程设备108对企业计算机系统150的访问的改变相关的事件的信息。
计算系统100可以由多个区定义,每个区对应于不同的通信区。在一些实施例中,远程设备108可以位于外部通信区(“外部区”)102中。设备访问管理系统120和企业计算机系统150可以位于绿色通信区(“绿色区”)106中。绿色区106可以包括一个或多个安全网络(例如,公司网络)。绿色区106可以位于企业计算环境的防火墙内部。外部区102可以是外部网络(例如,因特网)的一部分,外部网络可能是不安全的。例如,外部区102可以位于绿色区106的防火墙外部。
在一些实施例中,远程设备108可以通过位于非军事区(DMZ)104中的安全访问系统110与绿色区106中的计算机系统通信。DMZ104的示例可以是公司DMZ。安全访问系统110可以便于远程设备108和设备访问管理系统120之间的安全通信。例如,安全访问系统110可以在远程设备108中的任何远程设备上的安全容器应用和设备访问管理系统120之间提供安全通信连接(例如,隧道)。
安全访问系统110可以提供认证远程设备的用户的服务。安全访问系统110可以与用户访问管理系统130通信,以获得对远程设备的用户的授权。例如,安全访问系统110可以从用户访问管理系统130获得授权令牌,以便于对由企业计算机系统150提供的资源的单点登录(SSO)认证。在一个示例中,安全访问系统110可以被包括在Oracle Mobile SecurityAccess Server(Oracle移动安全访问服务器)中,Oracle Mobile Security AccessServer是由公司提供的Oracle Mobile Security Suite(Oracle移动安全套件)的一部分。
远程设备108可以具有各种不同类型,包括但不限于端点设备、可穿戴设备(例如,智能手表)、消费者设备(例如,电器)、个人计算机、台式机、物联网(IOT)设备、移动设备或手持设备(诸如膝上型计算机、移动电话、平板电脑、计算机终端等)、以及其它类型的设备。在一些实施例中,远程设备可以是计算设备(例如,移动设备、IOT网关或IOT边缘设备)上托管的应用。在一些实施例中,远程设备可以是在另一设备上运行的端点,诸如工作空间。工作空间可以是受控环境,以提供对在运行该工作空间的设备上的企业数据和应用的访问。例如,安全容器应用可以在远程设备108中的一个或多个远程设备上运行。远程设备的示例可以包括但不限于由与企业计算机系统150相关联的企业发布的设备(例如,公司设备)或者用来访问企业计算机系统150的用户的个人设备(“BYOD设备”)。
远程设备可以存储关于其身份的信息,例如MAC(介质访问控制)地址、唯一设备标识符(UDID)或其它设备标识符。远程设备可以存储关于远程设备的元数据属性,包括远程设备上的操作系统的类型、操作系统的版本、主机标识符(如果远程设备在另一设备上托管的话)、设备类型、IMEI(国际移动设备身份)号码、远程设备的型号、远程设备的服务提供商(例如,运营商)、设备名称、设备状态或关于远程设备的其它信息。
在某些实施例中,远程设备可以被配置为实现(例如,执行和操作)一个或多个应用。例如,远程设备108中的一个或多个远程设备可以执行被设计为保存“容器化”应用(即,已经安全地链接到其具体容器的应用)的安全容器应用。应用的示例可以包括但不限于计算机应用、客户端应用、专有客户端应用、工作空间、容器等。在一些实施例中,由远程设备实现的应用可以是经由一个或多个网络可访问的或者经由一个或多个网络操作。
远程设备可以包括可以利用硬件、固件、软件或其组合来实现的计算设备。远程设备可以包括存储器和一个或多个处理器。存储器可以耦接到(一个或多个)处理器并且可以包括存储在其上的指令,当这些指令由(一个或多个)处理器执行时,使得(一个或多个)处理器实现本文公开的一个或多个操作、方法或过程。存储器可以利用诸如计算机可读存储介质之类的任何类型的持久存储设备来实现。
在一些实施例中,远程设备108可以经由具有各种类型的一个或多个通信网络可通信地耦接到设备访问管理系统120和企业计算机系统150。通信网络的示例包括但不限于因特网、广域网(WAN)、局域网(LAN)、以太网、公共或专用网络、有线网络、无线网络等、及其组合。可以使用包括有线协议和无线协议(诸如IEEE802.XX协议组、TCP/IP、IPX、SAN、AppleTalk、和其它协议)的不同的通信协议以便于通信。
设备访问管理系统120可以在计算机系统中实现,计算机系统可以包括一个或多个计算机和/或服务器,该一个或多个计算机和/或服务器可以是通用计算机、专用服务器计算机(举例来说,包括PC服务器、UNIX服务器、中型服务器、大型计算机、机架安装式服务器等)、服务器场、服务器集群、分布式服务器、或任何其它适当的布置和/或其组合。例如,设备访问管理系统120可以包括服务器122。服务器122中的全部或一些可以位于相同的地理位置或不同的地理位置。构成设备访问管理系统120的计算设备可以运行操作系统中的任何操作系统或各种附加的服务器应用和/或中间层应用,包括HTTP服务器、FTP服务器、CGI服务器、Java服务器、数据库服务器等。示例性数据库服务器包括但不限于来自Oracle、Microsoft等的商用数据库服务器。设备访问管理系统120可以利用硬件、固件、软件或其组合来实现。在一个示例中,设备访问管理系统120可以被包括在Oracle移动安全管理器中,Oracle移动安全管理器是由Oracle公司提供的Oracle移动安全套件的一部分。
设备访问管理系统120可以包括至少一个存储器、一个或多个处理单元(或(一个或多个)处理器)和存储装置。(一个或多个)处理单元可以适当地在硬件、计算机可执行指令、固件或其组合中实现。(一个或多个)处理单元的计算机可执行指令或固件实现可以包括以任何合适的编程语言编写以执行本文描述的各种操作、功能、方法和/或过程的计算机可执行指令或机器可执行指令。设备访问管理系统120中的存储器可以存储可在(一个或多个)处理单元上加载和执行的程序指令以及在这些程序的执行期间生成的数据。存储器可以是易失性的(诸如随机存取存储器(RAM))和/或非易失性的(诸如只读存储器(ROM)、闪存存储器等)。存储器可以利用诸如计算机可读存储介质之类的任何类型的持久存储设备来实现。在一些实施例中,计算机可读存储介质可以被配置为保护计算机免于包含恶意代码的电子通信。计算机可读存储介质可以包括存储在其上的指令,这些指令当在处理器上被执行时,执行本文描述的操作。
设备访问管理系统120还可以包括附加的存储装置或被耦接到附加的存储装置,该附加存储装置可以利用任何类型的持久存储设备(诸如存储器存储设备或其它非暂态计算机可读存储介质)来实现。在一些实施例中,本地存储装置可以包括或者实现一个或多个数据库(例如,文档数据库、关系数据库或其它类型的数据库)、一个或多个文件仓库(store)、一个或多个文件系统或其组合。例如,设备访问管理系统120可以被耦接到一个或多个数据仓库或者可以包括一个或多个数据仓库,例如数据仓库160。存储器和附加存储装置都是计算机可读存储介质的示例。例如,计算机可读存储介质可以包括以用于存储诸如计算机可读指令、数据结构、程序模块或其它数据之类的信息的任何方法或技术实现的易失性或非易失性、可移动或不可移动介质。
在一些实施例中,设备访问管理系统120可以管理远程设备108的登记和认证,以访问企业计算机系统150。远程设备108可以登记被注册以访问企业系统120的用户身份。正如用户身份被用来认证用户一样,远程设备可以用被用来认证远程设备的身份进行注册。身份可以被提供给远程设备并且可以被用来认证来自该远程设备的所有进一步的通信。
设备访问管理系统120可以将关于远程设备108的信息存储在数据仓库160的设备注册表162中。该信息可以指示用户的身份与针对该身份被注册以访问企业计算机系统150的一个或多个远程设备中的每个远程设备的身份之间的关系。为了远程设备利用用于访问企业计算机系统150的用户身份来登记,设备访问管理系统120可以向该远程设备发布证书。如果请求来自与远程设备的身份相关联的用户身份,则设备访问管理系统120可以允许该远程设备访问企业计算机系统150。
设备访问管理系统120可以可通信地耦接到身份管理系统140。身份管理系统140可以管理企业计算机系统150的用户以及为从企业计算机系统150访问的资源供应的他们的相关联的帐户的生命周期。身份管理系统140可以管理为访问企业计算机系统150而定义的角色(例如,用户组)。在一些实施例中,身份管理系统140可以实现用于为访问企业计算机系统150定义的角色的管理策略。身份管理系统140的示例可以包括由公司提供的Oracle Identity Manager(Oracle身份管理器)。
用户访问管理系统130可以可通信地耦接到设备访问管理系统120。用户访问管理系统130可以处理范围管理、授权令牌的发布、刷新令牌的发布以及访问令牌的发布。例如,用户访问管理系统130可以处理来自安全访问系统110的对由远程设备108进行访问的请求。在一些实施例中,用户访问管理系统130可以管理用于访问由企业计算机系统150提供的资源的访问策略。用户访问管理系统130的示例可以包括由公司提供的Oracle访问管理器。
在一些实施例中,设备访问管理系统120可以管理登记以访问企业计算机系统150的远程设备108的设置。设置的示例可以包括但不限于设备设置、安装设置、同步设置、通信设置、应用设置或者与访问企业系统相关的其它设置。关于设置的信息可以被存储在数据仓库160的设置数据仓库168中。一些设置可以对应于从远程设备108接收的信息。用于一些远程设备108的设置(例如,设备设置和安装设置)可以由登记的远程设备108针对登记而被验证并且针对合规性而被检查。在一些实施例中,设置(例如,同步设置)可以被传送到一些远程设备108,以使得远程设备108上的安全容器应用能够配置与设备访问管理系统120和企业计算机系统150的通信的同步。
利用远程设备108对企业计算机系统150的访问可以利用一个或多个策略来管理。策略可以被存储在数据仓库160中的策略仓库170中并且可以从策略仓库170访问。策略的示例可以包括但不限于登记策略、合规性策略、工作空间策略和设备策略。策略可以由企业系统的管理员定义。设备访问管理系统120可以确定远程设备108是否与定义它们对企业计算机系统150的访问的策略合规。在一些实施例中,设备访问管理系统120可以基于策略来执行补救动作,以调整远程设备的访问。设备访问管理系统120可以向远程设备传送指令,以指示远程设备根据策略响应于合规性来采取补救动作。通知可以被发送到远程设备108,以通知它们与策略的合规和/或不合规以及合规的时间段。
如上文所解释的,设备访问管理系统120可以管理关于改变事件(例如,与访问的改变相关的事件)的信息到登记以访问企业计算机系统150的远程设备108的传送。关于改变事件的信息可以被存储在数据仓库160中的改变事件数据仓库164中并且可以从改变事件数据仓库164访问。在一些实施例中,关于改变事件的信息可以从企业计算机系统150、身份管理系统140和/或用户访问管理系统130接收。关于改变事件的信息可以从由管理员操作的计算系统接收。
在识别改变事件时,设备访问管理系统120可以识别改变事件的类型。改变事件的类型可以由设备访问管理系统120基于关于从改变事件数据仓库164访问的改变事件的信息来确定。改变事件的类型的示例可以包括但不限于策略改变、应用改变和设置改变。改变事件的类型的其它示例可以包括但不限于在远程设备上执行的安全容器应用中对远程设备上的资源的访问的改变以及可以在安全容器应用中执行的动作的改变。例如,动作可以包括执行从安全容器应用中的应用到安全容器应用容器外部的应用的拷贝-粘贴操作。在一些实施例中,改变事件可以对应于可以在远程设备(例如,在远程设备上执行的安全容器应用)上实施的访问的改变。在访问的改变可以由设备访问管理系统120实施而无需在远程设备处的改变的情况下,访问的改变可以不被传送到远程设备。照此,改变事件可以对应于在远程设备处可实施的改变。下文参考图5和图7进一步描述改变事件的类型。设备访问管理系统120可以基于与改变匹配的改变事件类来确定针对该改变的改变事件的类型。
设备访问管理系统120可以实现持久改变事件队列124,以管理对应于对企业系统的访问的改变的改变事件。关于改变事件的信息可以被放在改变事件队列124上的改变事件条目中,以供服务器122中的一个或多个服务器处理。服务器122可以被用来执行动作过程,以用于响应于改变事件来管理对企业计算机系统150的访问。改变事件条目可以以持久的方式保留在改变事件队列124上,以使得直到受改变事件影响的每个远程设备已经得到关于改变事件的通知,改变事件条目才被移除。在一些实施例中,远程设备可以与服务器122中的一个服务器通信,以发送指示对于接收关于改变事件的通知的确认的消息。远程设备与其通信的服务器是传送通知的服务器。确认可以指示已经接收到关于改变事件的通知。改变事件队列124可以使得设备访问管理系统120能够管理改变事件,以确保受这些改变事件中的每个改变事件影响的远程设备得到关于这些改变事件的通知。在一些情况下,当远程设备已经基于改变事件调整了对企业计算机系统150的访问时,远程设备可以传送指示接收到改变事件的确认。
在一些实施例中,可以为改变事件实例化改变事件对象(例如,普通的老式对象)。改变事件对象可以基于为某一类型的改变事件识别的改变事件类来实例化。改变事件对象可以存储关于改变事件的信息。改变事件类可以定义要在用于某一类型的改变事件的改变事件对象中存储的信息的类型。远程设备108可以被配置为具有识别改变事件类的信息。通过定义改变事件类,远程设备和服务器122可以基于由改变事件类定义的信息来识别改变事件的类型和对应于改变事件的信息。
设备访问管理系统120可以调度一个或多个服务器122以便为在改变事件队列124上识别出的每个改变事件执行动作过程。动作过程可以包括向受该改变事件影响的远程设备传送关于改变事件的信息。可以向远程设备异步地传送关于改变事件的信息。在一些实例中,影响同一远程设备的多个改变事件可能发生。在这些实例中,可以以异步方式向同一远程设备传送改变事件中的每个改变事件。然而,当改变事件依赖于这些改变事件的发生顺序时,改变事件中的每个改变事件可以按发生的顺序传送。
随着成千上万的用户访问企业计算机系统150,单个服务器可能过载,以将关于改变事件的信息传送到受改变事件影响的远程设备108中的全部或许多远程设备。设备访问管理系统120可以确定服务器122的处理负载,以确定可以被用来传送关于改变事件的信息的服务器122的集合。通过调度服务器122中的一些服务器来执行动作过程,可以减少由于处理其它动作过程而过载的一些服务器122上的处理负载。
为了进一步提高传送改变事件的处理效率,设备访问管理系统120可以请求服务器122中的多个服务器对受改变事件影响的不同远程设备集合执行动作过程。参考图2-4进一步描述对服务器122上的处理的调度。可以基于服务器122操作多个计算节点。图2-4绘出了可以被用来针对访问企业系统的改变而对远程设备实现的动作的设备访问管理系统120和多个计算节点。参考图2-4描述的实施例示出了设备访问管理系统120可以实现以提高传送对企业系统的访问的改变以及响应于这些改变而对远程设备执行动作的效率的技术。图2-4进一步示出了用于实现多个计算节点的使用以减少向远程设备传送改变的时间的技术。
对于改变事件队列124上的改变事件条目中的每个改变事件条目,设备访问管理系统120可以请求服务器122中的一个或多个服务器来发起动作过程。动作过程可以基于由改变事件条目指示的改变事件的类型来识别。动作过程可以是由动作过程类定义的例程。可以为某一类型的改变事件发起与用于该类型的改变事件的动作过程类对应的动作过程。动作过程类可以包括向受对应于改变事件的改变影响的远程设备传送关于改变事件(例如,改变事件对象)的信息。向远程设备传送的信息可以包括使远程设备基于改变事件来调整对企业计算机系统150的访问的指令或命令。参考图6描述动作过程的示例。
现在转到图2,示出了根据本发明的一些实施例的设备访问管理系统120的更详细的高级示意图。如图2中所示,设备访问管理系统120可以包括若干子系统和/或模块,这些子系统和/或模块包括改变事件处理机(handler)232、动作处理器234、调度器236和设备管理器240。这些子系统和模块可以在软件(例如,程序代码、可由处理器执行的指令)中、在硬件中或在其组合中实现。在一些实施例中,软件可以被存储在存储器(例如,非暂态计算机可读介质)中、存储设备或某些其它物理存储器上,并且可以由一个或多个处理单元(例如,一个或多个处理器、一个或多个处理器核心、一个或多个GPU等)执行。
随着为了实现对企业系统(例如,企业计算机系统150)的访问而采用BYOD,许多用户可以利用他们的远程设备来访问企业系统。例如,第一用户可以使用端点设备210-1、…210-N的集合(统称为端点设备210)来访问企业系统。第二用户可以使用端点设备212-1、...212-N的集合(统称为端点设备212)来同样访问企业系统。虽然图2绘出了被用来访问企业系统的一些远程设备,但是成千上万的用户可以利用成千上万的设备来访问企业系统。对企业系统的访问可以通过包括设备访问管理系统120的计算系统(例如,计算系统100)来控制。在成千上万的远程设备访问企业系统的情况下,管理对企业系统的访问的改变可能是困难的。发生的每个改变可能需要向多个设备传送,以确保它们与改变合规。
为了克服向许多远程设备传送访问的改变的障碍,设备访问管理系统120可以采用计算节点222-1、计算节点222-2、...计算节点222-N(统称为计算节点222)。可以为图1的服务器122实现计算节点222。可以利用图1的服务器122来操作计算节点222。计算节点222中的每个计算节点可以被包括在设备访问管理系统120中或可通信地耦接到设备访问管理系统120。如下文所解释的,可以利用多个计算节点来对不同的远程设备执行一个或多个动作过程。
设备管理器240可以管理访问企业系统的远程设备的登记和合规性。设备管理器240可以通过检查设备注册表162中关于远程设备的信息来监视和确定受改变事件影响的远程设备。在一些实施例中,设备管理器240可以基于远程设备对访问企业系统的登记来确定远程设备是否受改变事件的影响。
改变事件处理机232可以为远程设备(例如,端点设备210和端点设备212)确定与对企业系统的访问的改变对应的改变事件。关于改变事件的信息可以从改变事件数据仓库164访问。改变事件处理机232可以基于改变的改变事件类来识别改变事件的类型。
改变事件处理机232可以创建用于存储关于改变事件的信息的数据结构(例如,改变事件条目)。例如,可以为改变事件1创建改变事件条目202,可以为改变事件2创建改变事件条目204,并且可以为改变事件3创建改变事件条目206。改变事件1-3中的每一个可以同时发生或在不同的时间发生。改变事件条目可以被添加到改变事件队列124,在改变事件队列124中它可以稍后由计算节点222中的一个或多个计算节点访问,以用于执行对应于改变事件的动作过程。如上文所解释的,改变事件队列124可以被实现为以持久的方式管理改变事件,以确保受改变影响的远程设备得到关于对企业系统的访问的改变的通知。
改变事件队列124可以被实现为不同类型的队列中的一个或不同类型的队列的组合,该不同类型的队列包括但不限于链表队列、先进先出(FIFO)队列或者被实现为队列的其它类型的数据结构。在一些实施例中,改变事件队列124可以被实现为以关系方式存储改变事件条目的数据库。在一些实施例中,利用序列化从改变事件队列124添加和移除改变事件条目。序列化的示例可以包括但不限于扩展标记语言(XML)序列化或其它类型的序列化技术。
可以通过调度计算节点222中的一个或多个计算节点以执行针对由改变事件条目识别出的改变事件的动作过程来处理改变事件条目。在一些实施例中,可以基于改变事件条目被添加到改变事件队列124的顺序以FIFO顺序来处理改变事件队列124。在一些实施例中,多个改变事件条目可以由计算节点222中的一个或多个计算节点并发地处理。例如,可以在处理改变事件条目202之前处理改变事件条目204。改变事件条目204可以在改变事件条目202之前被处理,是因为改变事件条目202中识别出的每个远程设备可能未得到对应于改变事件条目202的改变事件的通知。改变事件条目可以保留在改变事件队列124上,直到改变事件条目中识别出的每个远程设备得到关于改变的通知。
改变事件条目中的信息可以包括改变事件的类型、对企业系统的访问的改变、以及受改变影响的远程设备的设备标识符。改变事件条目可以指示要向其通知改变事件的远程设备集合。下文参考图5描述改变事件条目的示例。如下文将进一步解释的,可以请求计算节点执行针对改变事件的动作过程,并且在这样做时计算节点可以从改变事件队列124访问改变事件条目,以确定关于改变事件的信息。
动作处理器234可以基于改变事件的类型来确定要执行的动作过程。在一些实施例中,可以为一个或多个改变事件类定义动作过程类。对于改变事件,动作处理器234可以基于改变事件类来确定动作过程类,该改变事件类可以基于改变事件的类型来确定。在一些实施例中,数据仓库160可以存储指示动作过程类与改变事件的一个或多个类型之间的关联的信息。为了调度动作过程,计算节点可以建立动作过程类的实例(例如,下文参考图6描述的动作过程对象)。动作过程对象可以被用来调用用于动作过程的动作过程(例如,例程)。
调度器236可以指示计算节点222中的一个或多个计算节点执行针对改变事件队列124上的改变事件的动作过程。在一些实施例中,调度器236可以请求不同的计算节点执行针对改变事件队列124上的每个改变事件条目的动作过程。
在一些实施例中,调度器236可以评估计算节点222中的每个计算节点的处理负载。计算节点的处理负载可以基于指示该计算节点的处理能力和/或由该计算节点处理的当前工作量的值来定义。在一些实施例中,一个或多个第三方系统可以被用来确定指示计算节点的处理负载的值。例如,可以实现一个或多个负载平衡器系统,以确定计算节点222的负载。
可以通过计算各种度量(measurement)来确定处理负载。度量可以单独地或共同地指示计算节点的处理负载。在一个示例中,可以通过计算指示计算节点可以管理的改变事件的数量的值来确定计算节点的处理负载。在另一个示例中,可以通过计算正由计算节点执行的动作过程的数量来确定计算节点的处理负载。可以基于计算节点正在与其通信的远程设备的数量来确定计算节点的处理负载。
调度器236可以选择可以执行针对改变事件条目的动作过程的计算节点集合(例如,一个或多个计算节点)。可以选择来自该计算节点集合的一个或多个计算节点来执行针对改变事件的动作过程。该计算节点集合可以从多个计算节点中选择。该计算节点集合可以包括一个或多个计算节点。例如,设备访问管理系统120可以从计算节点222中选择计算节点集合(例如,包括计算节点222-1和222-2的计算节点集合)。
计算节点集合可以基于多个计算节点中的每个计算节点的处理负载来选择。计算节点集合中的每个计算节点可以基于处理负载阈值为该集合来选择。在一些实施例中,为计算节点集合选择的计算节点中的每个计算节点可以具有满足处理负载阈值的处理负载。在一个示例中,处理负载阈值可以基于计算节点可以处理的改变事件的阈值数量来定义。在另一个示例中,处理负载阈值可以基于被定义为计算节点已发起的动作处理的阈值数量的动作过程阈值来定义。在这个示例中,计算节点集合中的每个计算节点可以基于处理负载阈值来选择,以使得计算节点集合中的每个计算节点的处理负载满足动作过程阈值。
在有成千上万的远程设备访问企业系统的企业系统中,一些计算节点可能被请求过载,并且可能对来自远程设备的、它需要处理的其它运行时业务无响应。基于处理负载选择计算节点集合可以提高向远程设备传送改变事件的处理效率。具有更多可用计算资源的计算节点可以被用来向远程设备传送改变事件。此外,通过基于改变事件的类型和与改变事件的这些类型对应的动作过程来定义改变事件,可以添加计算节点而无需附加配置,以使得这些计算节点能够处理不同类型的改变事件的处理。当新类型的改变事件被识别时,新的改变事件和对应的动作过程可以被定义。
在一些实施例中,改变事件处理机232可以为一个改变事件创建多个改变事件条目。为了利用多个计算节点来平衡执行动作过程以向受该改变影响的远程设备传送改变事件的负载,可以创建多个改变事件条目。改变事件条目的数量可以基于被选择为执行动作过程的计算节点的集合来创建。被用来传送改变事件的计算节点中的每个计算节点可以访问所创建的改变事件条目中的不同条目。改变事件条目可以指示要向其通知改变事件的远程设备集合。针对一个改变事件条目的远程设备集合中的远程设备中的每一个可以与针对为同一改变事件创建的另一个改变事件条目的远程设备集合中的远程设备中的每一个不同。由用于改变事件的一个改变事件条目指示的一个远程设备集合可以包含与针对用于同一改变事件的另一个改变事件条目的另一个远程设备集合不同数量的远程设备。
可以利用各种技术来选择改变事件条目中指示的远程设备的数量。例如,用于改变事件条目的远程设备集合中的远程设备的数量可以基于存储器页面中的设备标识符的数量来选择。存储器页面可以对应于设备注册表162中的设备标识符的存储。在存储器页面中识别出的设备标识符可以被存储在改变事件条目中,并且可以由计算节点用来为动作过程识别注册的远程设备。在一些实施例中,针对改变事件条目的远程设备的数量可以基于被选择为执行动作过程的计算节点的数量来选择。计算节点的集合可以基于计算节点222中的每个计算节点的处理负载来从计算节点222中选择。基于计算节点的数量,要向其通知改变事件的远程设备可以在改变事件条目之间均匀分布。在一些实施例中,当确定要在改变事件条目中指示的远程设备的数量时,可以考虑计算节点集合中每个计算节点的处理负载。
在选择一个或多个计算节点来执行针对由改变事件条目识别出的改变事件的动作过程时,所选择的计算节点可以处理向远程设备的改变事件的传送。在一些实施例中,设备访问管理系统120中的模块和子系统可以被配置为由计算节点中的每个计算节点操作。
计算节点222中的每个计算节点可以通过通信系统与远程设备通信。通过通信系统,消息可以在计算节点222中的每个计算节点与一个或多个远程设备(例如,端点设备210和端点设备212)之间传送。通信系统可以提供发送、接收、存储和/或访问消息的服务,其中“消息”可以包括由发送者生成并且被指引到一个或多个接收者的任何电子讯息,诸如电子邮件消息、即时消息(例如,在利用各种“聊天”服务的用户之间发送的消息)、SMS/MMS消息(例如,符合由各种蜂窝网络和其它无线数据网络支持的短消息传送服务和/或多媒体消息传送服务协议的消息)、语音消息、照片/图像消息、社交网络消息,等等。消息传送服务的示例可以包括诸如GmailTM(Google公司的服务)和Mail(Yahoo!公司的服务)之类的电子邮件服务。其它示例可以包括诸如Gmail的聊天特征(feature)或Facebook的聊天(Facebook公司的服务)之类的即时消息传送或聊天服务、由蜂窝数据运营商提供的SMS/MMS服务、具有消息传送组件的社交网络服务(例如,由Facebook公司或LinkedIn公司提供的社交网络)。通信系统可以提供用于便于设备访问管理系统120和远程设备之间的通信的基于web的客户端接口、专用应用程序、应用程序接口(API)和/或其它工具。
通信系统可以经由具有各种类型的一个或多个通信网络与远程设备通信。通信网络的示例包括但不限于因特网、WAN、LAN、以太网网络、公共或专用网络、有线网络、无线网络等、及其组合。包括有线协议和无线协议(诸如IEEE 802.XX协议组、TCP/IP、IPX、SAN、AppleTalk、和其它协议)的不同的通信协议可以被用来便于通信。
在一些实施例中,通信系统可以实现或使用推送通知服务(例如,由公司提供的Apple推送通知服务或由公司提供的Google通知服务)。推送通知服务可以便于与远程设备(例如,端点设备210和端点设备220)的通信。
对于改变事件条目,改变事件处理机232可以基于由改变事件条目识别出的改变事件来实例化改变事件对象。改变事件对象可以包括识别改变事件和要向其通知改变事件的远程设备的元数据。
动作处理器234可以基于改变事件的类型来确定要执行的动作过程。在一些实施例中,可以为一个或多个改变事件类定义动作过程类。对于改变事件,动作处理器234可以基于改变事件类来确定动作过程类,该改变事件类可以基于改变事件的类型来确定。在一些实施例中,数据仓库160可以存储指示动作过程类与改变事件的一个或多个类型之间的关联的信息。为了调度动作过程,计算节点可以建立动作过程类的实例(例如,下文参考图6描述的动作过程对象)。动作过程对象可以被用来调用用于动作过程的动作过程(例如,例程)。动作过程可以包括向一个或多个远程设备(例如,端点设备210和端点设备212)传送关于改变事件(例如,改变事件对象)的信息。
当执行动作过程时,计算节点可以使用通信系统来向远程设备发送关于由改变事件条目识别出的改变事件的通知。可以向远程设备异步地发送通知。远程设备可以定期与通信系统核实(例如,向由通信系统实现的通知服务发送拉取请求),以确定是否发生了影响远程设备的任何改变事件。远程设备可以向通信系统传送拉取请求,以获得关于改变事件的信息。在一些实施例中,通知可以激活(例如,唤醒)端点设备,以使它获得关于改变事件的信息。通信系统可以从改变事件队列124访问对应于改变事件的改变事件条目。在一些实施例中,通信系统可以与计算节点222中的一个计算节点通信,以从与来自端点设备的拉取请求所指示的改变事件对应的改变事件条目获得信息。通信系统可以与向端点设备发送关于拉取请求所指示的改变事件的通知的计算节点通信。
每个远程设备可以包括被配置为与包括计算节点222的设备访问管理系统120通信的安全容器应用。安全容器应用可以访问包括在数据仓库160中的信息,诸如关于改变事件类和动作过程类的信息。在一些实施例中,安全容器应用可以确定要针对由从计算节点222中的一个计算节点发送的改变事件对象识别出的改变事件而实现的动作过程。在一些实施例中,安全容器应用可以被配置为基于来自计算节点的关于改变事件的指令来执行一个或多个操作(例如,改变策略、更新应用或调整设置)。安全容器应用可以被配置为与通信系统通信以接收关于改变事件的通知,并且作为响应,传送对关于改变事件的信息的拉取请求。在一些实施例中,安全容器应用可以被配置为与通信系统核实,以确定是否发生了任何改变事件。如果改变事件还没有被传送到远程设备,则通信系统可以向远程设备发送关于改变事件的信息。信息可以响应于对改变事件的请求而被发送。
计算节点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的处理效率,动作过程1可以在用于端点设备210的计算节点222-1上执行,并且动作过程1可以在用于端点设备212的计算节点222-2上执行。在改变事件2被添加到改变事件队列124之后,计算节点(诸如计算节点222-1)可以被调度,以针对改变事件2执行动作过程2。与动作过程1在线程1上执行并发地,动作过程2可以在线程2上执行。在改变事件3被添加到改变事件队列124之后,计算节点(诸如计算节点222-2)可以被调度,以针对改变事件3执行动作过程3。与动作过程1在线程1上执行并发地,动作过程3可以在线程2上执行。
当计算节点已经完成针对在改变事件条目中识别出的远程设备的动作过程时,该计算节点可以从改变事件队列124中移除该改变事件条目。改变事件条目可以保持在改变事件队列124上,直到针对在该改变事件条目中识别出的所有远程设备的动作过程已经完成。以这种方式,改变事件条目是持久的并且保留在改变事件队列124上。在一个示例中,改变事件条目可以保留在改变事件队列124上,直到远程设备中的所有远程设备已经接收到关于由该改变事件条目识别出的改变事件的信息。在另一个示例中,在远程设备未接收到改变事件条目所指示的改变事件或者远程设备未向发起针对改变事件而被调用的动作过程的计算节点返回确认的情况下,对应于该改变事件的改变事件条目保留在改变事件队列124上。通过维持改变事件队列124上的改变事件条目,设备访问管理系统120可以确保所有远程设备接收到通知并且对改变事件采取动作。通过为不同远程设备在不同计算节点上发起针对改变事件的动作过程,可以避免处理延迟或执行延迟。一个计算节点不会由于未响应的远程设备(例如,不能确认改变事件的远程设备或不能接收关于改变事件的通知的远程设备)而被阻止处理改变事件条目。
图3示出了根据本发明的一些实施例的用于发起针对改变事件的动作过程的一系列操作300。在这个示例中,多个远程设备(例如,端点设备312、314、316、318)可以登记以访问企业系统,例如企业计算机系统150。
设备访问管理系统120可以实现改变事件队列124,以便以持久的方式管理改变事件,以确保受改变事件影响的远程设备得到通知。对于改变事件队列124上的改变事件条目中的每个改变事件条目,计算节点222中的一个计算节点可以基于由改变事件条目指示的改变事件的类型来发起动作过程。动作过程可以基于与改变事件的类型的关联来识别。动作过程可以包括通知受改变事件影响的远程设备,并且在一些实例中使远程设备基于改变事件来调整它们对企业系统的访问。参考图6描述动作过程的示例。
一系列操作300可以被发起由设备访问管理系统120执行一个或多个操作318。设备访问管理系统120可以为端点设备312、314、316、318中的每一个确定针对访问企业系统的改变已发生改变事件(“改变事件1”)。可以访问设备注册表(例如,设备注册表162)以获得关于被注册以访问企业系统的端点设备的信息。设备访问管理系统120可以使用关于注册的端点设备的信息来确定受改变事件影响的端点设备。设备访问管理系统120可以识别与访问的改变的类型对应的改变事件的类型。改变事件的类型可以基于改变事件数据仓库164中的信息来确定,改变事件数据仓库164包括定义改变事件的类型的信息。
设备访问管理系统120可以创建用于存储关于改变事件的信息的数据结构(例如,改变事件条目)。在一些实施例中,设备访问管理系统120可以为一个改变事件创建多个改变事件条目。例如,可以为改变事件1创建改变事件条目302和改变事件条目304。改变事件条目302可以指示包括端点设备312和端点设备314的设备集合306。改变事件条目304可以指示包括端点设备316和端点设备318的设备集合308。改变事件条目302、304中的每一个可以被添加到改变事件队列124,在改变事件队列124中它可以稍后被计算节点访问,以用于确定要针对改变事件发起的动作过程。
在一些实施例中,设备访问管理系统120可以从计算节点222中选择计算节点集合,以执行针对改变事件1的动作过程(“动作过程1”)。计算节点集合可以基于计算节点222中的每个计算节点的处理负载来选择。例如,设备访问管理系统120可以从计算节点222中选择包括计算节点222-1和222-2的计算节点集合。
设备访问管理系统120可以执行一个或多个操作,以调度改变事件1以用于由所选择的计算节点集合(例如,计算节点222-1和计算节点222-2)处理。例如,设备访问管理系统120可以调度320计算节点222-1来处理改变事件条目302,并且可以调度322计算节点222-2来处理改变事件条目304。
在调度改变事件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的持久(persisted)元数据。换句话说,在用于改变事件1的改变事件条目中包括的信息可以被包括在为改变事件1实例化的改变事件对象中。例如,改变事件对象可以包括在改变事件条目中识别出的设备的设备标识符。
计算节点222-1和计算节点222-2中的每一个可以为改变事件1建立动作过程对象。动作过程类可以基于由用于改变事件1的改变事件条目指示的改变事件的类型来识别。动作过程类可以包括定义计算节点要执行的动作过程的执行例程(例如,run()例程)。该例程可以由计算节点在对于该计算节点来说可用的处理线程上执行。动作过程可以包括向在用于改变事件条目的改变事件对象中识别出的端点设备传送关于改变事件的信息。该信息可以包括端点设备要执行以针对改变事件调整操作的指令。可以为在用于改变事件的改变事件对象中识别出的每个端点设备执行动作过程。动作过程可以对多个端点设备并发地执行。
计算节点222-1和计算节点222-2中的每一个可以为改变事件1实例化动作过程对象。计算节点可以为由该计算节点实例化的改变事件对象实例化动作过程对象。动作过程对象可以基于与改变事件的类型对应的动作过程类来实例化。改变事件对象可以被传递到为了动作过程对象的实例化而被执行的例程。下文参考图6描述动作过程对象和动作过程类的示例。
计算节点222-1和222-2中的每一个可以通过调用用于基于改变事件的类型识别出的动作过程类的执行例程来为改变事件1发起动作过程1。该执行例程可以由如下计算节点调用:该计算节点为由该计算节点实例化的动作对象调取该执行例程。动作过程1可以由计算节点222-1为设备集合306中的每个端点设备调用。动作过程1可以由计算节点222-2为设备集合308中的每个端点设备调用。动作过程1可以包括向设备集合中的每个端点设备传送关于改变事件1的信息。关于改变事件的信息可以作为通知向远程设备传送。可以通过支持通知服务(例如,推送通知服务)的通信系统来传送通知。在一些示例中,可以按照与图3中示出的顺序不同的顺序(例如,异步地)传送通知。远程设备可以与通信系统通信(例如,发送拉取请求),以获得关于由通知识别出的改变事件的信息。计算节点222-1可以向设备集合306中的每个端点设备传送324、326关于改变事件1的信息。计算节点222-2可以向设备集合308中的每个端点设备传送328、330关于改变事件1的信息。向端点设备传送的信息可以包括用于根据改变事件来调整端点设备的操作的指令或信息。
在一些实施例中,当端点设备已经完成动作过程的操作时,计算节点可以从端点设备接收讯息。当已经向端点设备通知了改变事件并且端点设备已经执行动作以针对改变事件调整访问时,动作过程的操作可以完成。例如,计算节点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可以抑制(refrain from)从改变事件队列124中移除改变事件条目302。改变事件条目302不从改变事件队列124中移除并且保持在改变事件队列124上,直到端点设备312指示对改变事件1的确认。
在一些实施例中,计算节点222-1可以指示改变事件条目302中的改变事件的状态。计算节点222-1可以尝试对无响应的端点设备(例如,端点设备312)重试动作过程1的执行。重试的次数可以基于由设备访问管理系统120定义的改变事件条目302来确定。在确定重试动作过程的执行已经达到重试的次数时,计算节点222-1可以从改变事件队列124移除改变事件条目302(例如,使改变事件条目302出列)。计算节点222-1可以在指示对于端点设备312没有完成动作过程的错误日志(例如,服务器审计记录)中存储信息。
计算节点222-1可以发送指示用于改变事件1的动作过程1的结果的结果信息342。结果信息342可以指示关于针对在改变事件条目302中识别出的端点设备的动作过程1的确认的状态。例如,结果信息342可以指示从端点设备314接收到确认并且没有从端点设备312接收到确认。结果信息342可以指示已经接收到关于改变事件1的通知的端点设备。
在一些实施例中,可以由不同的计算节点执行重试动作过程的执行的后续尝试。在接收到结果信息342时,设备访问管理系统120可以调度344另一个计算节点(例如,计算节点222-2)以重试对于改变事件1没有完成的动作过程1的执行。
在确定端点设备集合中的每个端点设备已经指示对改变事件的确认时,计算节点可以从改变事件队列124中移除改变事件条目并且将结果信息发送到设备访问管理系统120。例如,在接收到确认334、336时,计算节点222-2可以从改变事件队列124中移除改变事件条目304,并且可以将结果信息346发送到设备访问管理系统120。结果信息346可以指示对于改变事件条目304已经完成了动作过程1。
设备访问管理系统120可以执行操作348,以调度一个或多个计算节点222来执行针对在企业系统中发生的附加改变事件的动作过程。例如,图4示出了根据本发明的一些实施例的用于发起针对改变事件的动作过程的一系列操作400。特别地,图4示出了在设备访问管理系统120识别出改变事件1之后由设备访问管理系统120识别出的第二改变事件(“改变事件2”)的示例。在这个示例中,操作400可以在操作300已经在图4所示的示例中被执行之后发生。在一些实施例中,基于何时确定改变事件2,操作400中的全部或一些可以与操作300并发地发生。
从图3中的示例继续,改变事件条目302可以持久地保持在改变事件队列124上,直到在改变事件条目302中识别出的所有端点设备(例如,端点设备312、314)已经接收到关于改变事件1的信息。改变事件条目可以保留在改变事件队列上,直到受与该改变事件条目对应的改变事件影响的所有设备得到关于改变事件的通知。在一些实施例中,可以将改变事件重新发送到远程设备,以重试改变事件的传送。即使在识别出另一个改变事件(例如,改变事件2)之后,改变事件条目(诸如改变事件条目302)也可以保留在改变事件队列124上。设备访问管理系统120可以执行处理,以通知受改变事件2影响的远程设备,例如端点设备314、316、318。
计算节点222-1可以执行操作422,以重试针对改变事件1的动作过程1的执行,以便向端点设备312通知改变事件1。由于在向端点设备312通知改变事件1的先前尝试时没有从端点设备312接收到确认,因此可以重试动作过程1的执行。动作过程1可以包括向端点设备1传送424关于改变事件1的信息。
关于改变事件的信息可以作为通知向远程设备传送。通知可以通过支持通知服务(例如,推送通知服务)的通信系统来传送。在一些示例中,通知可以按照与图3中示出的顺序不同的顺序(例如,异步地)传送。远程设备可以与通信系统通信(例如,发送拉取请求),以获得关于由通知识别出的改变事件的信息。
操作400可以包括设备访问管理系统120处理改变事件2,以通知受改变事件2影响的端点设备314、316、318。在这个示例中,设备访问管理系统120可以创建两个改变事件条目406、408,以平衡用于向端点设备314、316、318传送改变事件2的过程负载。可以为端点设备314创建改变事件条目406。可以为包括端点设备316、318的端点设备集合410创建改变事件条目408。
设备访问管理系统120可以选择计算节点的集合(例如,计算节点222-1、222-2),以向端点设备314、316、318通知改变事件2。设备访问管理系统120可以调度430计算节点222-1来处理针对改变事件条目406的动作过程(例如,动作过程2),并且可以调度450计算节点222-2来处理针对改变事件条目408的动作过程2。在一些实施例中,当多个改变事件不冲突或不彼此依赖时,计算节点222和设备访问管理系统120可以并发地处理对这些改变事件的处理。例如,当改变事件与同一策略的改变相关时,改变事件可能产生冲突。
在调度改变事件2时,计算节点222-1可以执行处理,以处理改变事件条目406,而计算节点222-2可以执行处理,以处理改变事件条目408。计算节点222-1和计算节点222-2中的每一个可以基于与改变事件2的改变事件类型对应的改变事件类来实例化改变事件对象。计算节点222-1和计算节点222-2中的每一个可以为改变事件2建立动作过程对象。
利用所建立的动作过程对象,动作过程2可以由计算节点222-1针对端点设备314调用,并且可以由计算节点222-2针对设备集合410中的每个端点设备调用。对于动作过程2,计算节点222-1可以向端点设备314传送434关于改变事件2的信息。计算节点222-2可以向设备集合410中的每个端点设备传送452、454关于改变事件2的信息。计算节点222-1可以从端点设备314接收指示已经针对端点设备314完成动作过程2的确认440。计算节点222-2可以分别从设备集合410中的端点设备316、318接收已经针对端点设备316、318完成动作过程2的确认456、458。来自远程设备的讯息(例如,确认)可以按照从不同端点设备发送讯息的顺序异步地被接收。
在一些实施例中,计算节点可以在该计算节点已经开始对不同动作过程的处理之后从端点设备接收关于一个动作过程的讯息(例如,确认)。例如,计算节点222-1可以在计算节点222-1已经开始对动作过程2的处理之后从端点设备312接收确认438。可以接收对动作过程1的重试的确认438。虽然被示为按照特定顺序,但是可以在计算节点222-1和端点设备314之间针对动作过程2的通信之前、之后或并发地接收确认438。
计算节点222-1可以确定对于端点设备312是否已完成动作过程1。在接收到确认438时,计算节点222-1可以从改变事件队列124中移除改变事件条目302,并且可以将结果信息436发送到设备访问管理系统120。结果信息436可以指示针对改变事件条目302完成了动作过程1。
计算节点222-1可以确定对于端点设备314是否已完成动作过程2。在接收到确认440时,计算节点222-1可以从改变事件队列124中移除改变事件条目406,并且可以将结果信息442发送到设备访问管理系统120。结果信息442可以指示针对改变事件条目406完成了动作过程2。
计算节点222-2可以确定对于端点设备316、318是否已完成动作过程2。在接收到确认456、458时,计算节点222-2可以从改变事件队列124中移除改变事件条目408,并且可以将结果信息460发送到设备访问管理系统120。结果信息460可以指示动作过程2得到针对改变事件条目408的通知。
设备访问管理系统120可以执行操作462,以处理对改变事件队列124上的附加改变事件条目(如果有的话)的处理。当改变事件队列124为空时,操作400可以结束。
图5绘出了根据本发明的一些实施例的用于存储关于改变事件的信息的数据结构510的示例。特别地,数据结构510可以存储用于改变事件条目的信息。被存储在改变事件条目中的数据可以包括关于改变事件的元数据。在一些实施例中,可以为每个不同的改变事件创建数据结构510的实例(“改变事件对象”)。如上文所解释的,可以在用于计算节点的队列(例如,改变事件队列124)上管理改变事件条目,以便执行针对由改变事件条目指示的改变事件的动作。计算节点可以基于存储在改变事件条目中的信息来确定要执行的操作(例如,发起动作过程)。在一些实施例中,可以基于包括在用于改变事件条目的数据结构510中的信息来创建改变事件对象。改变事件条目的示例可以包括改变事件条目302、改变事件条目304、改变事件条目406和改变事件条目408。在一些实施例中,改变事件对象可以是基于类定义的普通的老式对象。
在一些实施例中,可以基于元数据类(“改变事件类”)来定义数据结构510。元数据类可以定义为改变事件存储的信息的类型。元数据类可以定义用于改变事件的信息的一个或多个字段,以识别唯一的改变事件。元数据类可以是定义为任何类型的改变事件存储的信息的类型的模板类。可以为不同类型的改变事件实现数据结构510。在一些实施例中,可以为每种不同类型的改变事件定义元数据类。改变事件对象可以是由数据结构510表示的元数据对象。为改变事件对象存储在数据结构510中的数据可以包括元数据。元数据可以包括从改变事件条目获得的数据。可以通过实例化用于某一类型的改变事件的改变事件类来创建改变事件对象。表示改变事件对象的数据结构510可以包括由被实例化的改变事件类定义的信息的类型。
数据结构510可以被实现为不同类型的数据结构中的一个或不同类型的数据结构的组合,该不同类型的数据结构包括但不限于数组、记录、关系数据库表、散列表、链表或其它类型的数据结构。出于说明的目的,数据结构510以具有特定数量字段的布置示出;然而,数据结构510可以由与示出的不同的布置中的更多或更少字段定义。数据结构510的每个实例可以被存储在诸如改变事件164之类的数据仓库中。
在图5所示的示例中,数据结构510可以包括字段512(“改变事件的类型”),字段512包括指示改变事件的类型的信息。改变事件的类型的示例可以包括但不限于策略改变、应用改变或同步设置改变。
数据结构510中的字段514(“改变”)可以包括指示关于改变的细节的信息。例如,字段514可以指示针对策略改变而改变的策略。在一些实施例中,字段514可以包括或引用与改变相关的信息。例如,当策略已经改变时,字段514可以包括对已经改变的经修订的策略的引用。字段514中的信息可以被包括在为改变事件创建的改变事件对象中。
数据结构510可以包括字段516(“改变事件状态”),字段516包括指示向远程设备传送改变事件的状态的信息。计算节点可以使用字段516中的信息来确定针对改变事件执行的动作过程的状态。改变事件状态的示例可以包括但不限于未决、错误、重试或已确认。例如,计算节点可以确定由设备520识别出的远程设备中的每个远程设备是否已经确认针对动作过程而向远程设备传送的改变事件。计算节点可以基于改变事件状态来确定是否重试发起针对改变事件的动作过程。计算节点可以用指示改变事件的状态的信息来更新字段516。
数据结构510可以包括字段518(“(一个或多个)设备”),字段518包括要针对更改事件对其执行动作过程的远程设备集合中的每个远程设备的设备信息(例如,设备标识符)。设备信息可以从用于远程设备集合中的每个远程设备的设备注册表获得。设备信息可以基于与向企业系统注册的用户的身份的关联来识别。
数据结构510可以包括指示用于重试针对改变事件的动作过程的配置的字段520(“重试配置”)。重试配置可以基于各种因素,诸如改变事件的类型。重试配置可以指示可以尝试动作过程的次数。计算节点和设备访问管理系统120可以使用重试配置来确定是否针对尚未由远程设备确认的改变事件再次调用动作过程。
图6绘出了根据本发明的一些实施例的表示动作过程对象的数据结构610的示例。数据结构610可以存储关于针对改变事件的动作过程的信息。数据结构610可以被实例化为对应于改变事件的动作过程对象。在一些实施例中,可以基于类(“动作过程类”)来创建数据结构610。动作过程类可以被定义为类。动作过程对象可以是基于被定义为类的动作过程类来实例化的普通老式对象。动作过程类可以被存储在诸如图1的动作过程数据仓库166之类的数据仓库中。动作过程类可以定义可以被存储在基于动作过程类而被实例化的动作过程对象中的信息的一个或多个字段。
在一些实施例中,可以为对应于改变事件的类型的每个不同的动作过程定义不同的动作过程类。在一些实施例中,可以为每个不同类型的改变事件定义不同的动作过程类。可以为单个类型的改变事件定义多个动作类,其中可以针对该类型的改变事件执行不同的动作过程。
数据结构610可以被实现为不同类型的数据结构中的一个或不同类型的数据结构的组合,该不同类型的数据结构包括但不限于数组、记录、关系数据库表、散列表、链表或其它类型的数据结构。出于说明的目的,数据结构610以具有特定数量的字段的布置示出;然而,数据结构610可以由与示出的不同的布置中的更多或更少字段来定义。数据结构610的每个实例可以被存储在诸如动作过程数据仓库166之类的数据仓库中。
数据结构610中的字段612可以包括识别要针对与动作过程对象对应的某一类型的改变事件执行的动作过程的信息。动作过程的示例可以包括但不限于策略改变过程、应用改变过程和同步设置改变。动作过程可以依赖于针对其执行动作过程的改变事件的类型而不同。在一些实施例中,可以为单一类型的改变事件定义不同的动作过程,其中不同的改变可以与改变事件的类型相关联。
数据结构610可以包括字段614(“改变事件状态”),字段614包括指示向远程设备传送改变事件的状态的信息。计算节点可以使用字段614中的信息来确定针对改变事件执行的动作过程的状态。改变事件状态的示例可以包括但不限于未决、错误、重试和已确认。例如,计算节点可以确定远程设备中的每个远程设备是否已经确认针对动作过程而向远程设备传送的改变事件。远程设备可以由在发起时被传递到动作过程的改变事件对象来识别。计算节点可以基于改变事件状态来确定是否重试发起针对改变事件的动作过程。
动作过程可以由动作过程类中的一个或多个例程定义。例程可以包括执行动作过程的代码(例如,指令)。可以利用基于动作过程类实例化的动作过程对象来调用例程。例如,动作过程类可以包括执行例程(例如,run()例程),该例程在为动作过程对象而被调用时发起执行例程。在一些实施例中,执行方法可以接受指示关于改变事件的信息的改变事件对象。执行方法可以使用改变事件对象中的信息来执行针对改变事件的动作过程。
动作过程类可以包括特定于与改变事件类型相关联的访问的改变的一个或多个例程。一些例程可以包括指示远程设备要针对改变事件执行的动作过程的代码。一个例程可以包括用于向远程设备发送改变事件并且指示远程设备执行针对改变事件的动作过程的代码。例如,当字段612指示策略改变时,动作过程可以包括改变远程设备上的策略。一个例程可以向远程设备发送关于改变事件的信息以及远程设备上要改变的策略。
以下是动作过程类的示例:
在上面的示例中,调用执行例程(例如,run())可以发起包括更新远程设备处的策略的动作过程。执行例程可以调用由动作类定义的其它例程。在一些实施例中,动作过程类可以包括具有与动作过程相关的一个或多个附加例程的应用编程接口(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中的任何数据结构之类的数据结构可以基于被实例化的元数据类而被创建为改变事件对象。元数据类可以定义被存储在基于该元数据类实例化的改变事件对象中的信息的类型。可以为每种类型的改变事件定义不同的元数据类。改变事件对象可以包括关于改变事件的信息的一个或多个字段。字段可以基于从其实例化改变事件对象的元数据类来定义。照此,改变事件对象可以包括基于用于改变事件的类型的元数据类来定义的字段。下文描述不同元数据类的示例。在一些实施例中,改变事件对象可以是基于类来定义的普通老式对象。
数据结构710、730、750中的每一个可以被实现为不同类型的数据结构中的一个或不同类型的数据结构的组合,该不同类型的数据结构包括但不限于数组、记录、关系数据库表、散列表、链表或其它类型的数据结构。出于说明的目的,数据结构710、730、750以具有特定数量的字段的布置示出;然而,数据结构710、730、750可以由与示出的不同的布置中的更多或更少字段来定义。数据结构710、730、750中的一个数据结构的每个实例可以被存储在诸如改变事件数据仓库164之类的数据仓库中。
数据结构710是用于被分类为策略改变的某一类型的改变事件的改变事件对象的示例。数据结构710中的字段712(“改变事件的类型”)可以包括将“策略改变”识别为一种类型的改变事件的信息。策略改变的示例可以包括但不限于合规性策略的改变、登记策略的改变、工作空间策略的改变和设备策略的改变。
下面是为策略改变定义的元数据类(“策略改变类”)的示例:
在一些实施例中,元数据类可以包括用于获得存储在基于该类被实例化的对象中的信息的例程。例如,上面的策略改变类可以包括诸如getEndpointIds()、setEndpointIds()和getType()之类的例程,以获得存储在改变事件对象中的信息。
字段714(“策略类型”)包括指示对于访问企业系统已改变的策略的类型的信息。策略类型可以在从其实例化数据结构710的元数据类中定义。策略类型的示例包括但不限于登记策略、合规性策略、工作空间策略和设备策略。
在一些实施例中,数据结构710可以包括策略信息字段716(“策略信息”),策略信息字段716指示关于已改变的策略的信息。字段716可以包括但不限于已改变的策略的策略名称、策略、策略的策略标识符以及识别策略的任何其它信息。
数据结构710中的字段718(“应用更新”)可以包括识别针对策略改变而已经改变的应用的信息。在一些实施例中,策略改变类可以定义为策略添加或移除的应用。
数据结构710中的字段720(“设置更新”)可以包括识别针对策略改变而已经改变的设置(例如,同步设置)的信息。在一些实施例中,策略改变类可以定义为策略添加或移除的设置。
数据结构710中的字段722(“组更新”)可以包括识别针对策略改变而已经改变的用户组的信息。在一些实施例中,策略改变类可以定义为策略添加或移除的组。用户组可以被定义为与一个或多个角色相关联的一组用户。
数据结构710中的字段724(“设备标识符”)可以包括设备信息,诸如设备标识符,设备标识符中的每个设备标识符识别受由数据结构710表示的改变影响的远程设备。
数据结构730是用于被分类为应用改变的某一类型的改变事件的改变事件对象的示例。数据结构730中的字段732(“改变事件的类型”)可以包括将“应用改变”识别为一种类型的改变事件的信息。应用改变的示例可以包括但不限于将应用添加到多个远程设备可访问的应用的目录、从目录中移除应用、修改目录中的应用的版本、改变对应用的访问、改变对可以被推送到远程设备的应用的访问、或对应用的其它类型的改变。
以下是为策略改变定义的元数据类(“策略改变类”)的示例:
数据结构730中的字段734(“应用标识符”)可以包括关于已经改变的一个或多个应用的标识符的信息。应用标识符可以被用来引用存储装置中的应用。
数据结构730中的字段736(“旧版本”)可以包括在应用改变之前的应用版本的标识符。字段738(“新版本”)包括应用改变之后的应用版本的标识符。远程设备可以基于旧版本与新版本之间的版本改变来确定是否更新应用。
数据结构730中的字段738(“分布信息”)可以包括关于被用来进一步识别已经改变的应用的分布标识符的信息。
数据结构730中的字段740(“设备标识符”)可以包括设备信息,诸如设备标识符,设备标识符中的每个设备标识符识别受由数据结构730表示的改变影响的远程设备。
数据结构750是用于被分类为同步设置改变的某一类型的改变事件的改变事件对象的示例。数据结构750中的字段752(“改变事件的类型”)可以包括将“同步设置改变”识别为一种类型的改变事件的信息。
数据结构750中的字段754(“同步设置”)可以包括关于已经改变的一个或多个同步设置(例如,设置1、设置2等)的信息。设置的示例可以包括但不限于用于安全工作空间的一个或多个客户端设置和/或一个或多个远程设备设置,诸如电子邮件设置、网络设置(例如,虚拟专用网络设置或Wifi设置)。在一些实施例中,字段754可以包括已经改变的设置本身或者对存储设置的改变的存储装置的引用。
数据结构750中的字段756(“更新”)可以包括关于同步设置的改变类型的信息。改变类型的示例包括添加设置、移除设置或更新设置。
数据结构750中的字段758(“设备标识符”)可以包括设备信息,诸如设备标识符,设备标识符中的每个设备标识符识别受由数据结构750表示的改变影响的远程设备。
现在转向图8,示出了根据本发明的一些实施例的用于向访问企业系统的远程设备传送改变事件的过程的流程图800。在一些实施例中,可以利用图1-4中绘出的设备访问管理系统120和/或一个或多个计算节点来实现图8中绘出的过程。
由流程图800绘出的过程可以在由一个或多个处理单元(例如,处理器核心)执行的软件(例如,代码、指令、程序)、硬件或其组合中实现。软件可以被存储在存储器中(例如,在存储器设备上、在非暂态计算机可读存储介质上)。流程图800的处理步骤的特定序列不旨在是限制性的。根据替代实施例还可以执行其它步骤序列。例如,本发明的替代实施例可以以不同的顺序执行上文概述的步骤。另外,图8中示出的步骤可以包括多个子步骤,这些子步骤可以以对各个步骤适当的各种顺序执行。此外,依赖于特定应用可以添加或移除附加步骤。虽然图8中绘出的处理是关于对企业系统的访问的单个改变,但是可以针对访问企业系统的多个改变执行处理。虽然图8中绘出的处理是关于与对企业系统的访问的改变对应的单一类型的改变事件,但是可以针对与对企业系统的访问的改变对应的多种类型的改变事件执行处理。本领域普通技术人员将认识到许多变化、修改和替代物。
在步骤802处,通过为多个远程设备确定与对企业系统的访问的改变对应的改变事件的类型,发起流程图800中的处理。例如,设备访问管理系统120可以识别与对企业计算机系统150的访问的改变对应的改变事件,并且可以确定改变事件的类型。设备访问管理系统120可以管理对企业系统的访问。管理访问可以包括管理用于远程设备的合规性策略、管理分布到远程设备的应用和/或管理用于由远程设备与企业系统通信的设置的同步。
改变事件的类型可以包括例如策略改变、应用改变、与访问企业系统相关的同步设置的改变或者与访问企业系统相关的其它类型的可识别的改变。改变事件可以对应于一个或多个事件,该一个或多个事件单独地或组合地与利用远程设备对企业系统的访问的改变对应。在一些实施例中,改变事件可以对应于多种类型的改变事件。
一种类型的改变事件例如是策略改变。策略改变的示例可以包括用于访问企业系统的合规性策略的改变、用于注册远程设备以访问企业系统的登记策略的改变、用于访问企业系统的远程设备上的工作空间的工作空间策略的改变、或者访问企业系统的远程设备的设备策略的改变。当策略被创建、更新或移除时,可以识别策略的改变。策略的改变可以被识别为改变事件,并且当与利用远程设备对企业系统的访问相关的策略已经改变时,可以确定改变事件的类型。
另一种类型的改变事件例如是应用改变。应用改变的示例可以包括将应用添加到多个远程设备可访问的应用的目录、从目录中移除应用、修改目录中的应用的版本、或者与访问企业系统的应用相关的其它改变。当应用改变或者应用被添加到企业系统的用户可访问的一组应用时,应用中的改变可以被识别为改变事件。
又一种类型的改变事件例如是与访问企业系统相关的同步设置的改变。同步设置的改变的示例可以包括用于策略同步的时间段的改变或应用同步设置的改变。
在步骤804处可以识别与改变事件的类型相关联的动作过程类。如上文所解释的,动作过程对象可以对应于存储由动作过程类定义的信息的数据结构。动作过程类可以与一种或多种类型的改变事件相关联。动作过程类可以定义针对与动作过程类相关联的一种或多种类型的改变事件要在远程设备上执行的动作过程。照此,动作过程对象可以与一种或多种类型的改变事件相关联,该一种或多种类型的改变事件与从其定义动作过程对象的动作过程类相关联。动作过程类可以基于改变事件的类型(例如,在步骤802处确定的改变事件的类型)来识别。
在步骤806处,可以确定一个或多个计算节点的处理负载。例如,设备访问管理系统120可以确定计算节点222中的每个计算节点的处理负载。计算节点的处理负载可以对应于指示该计算节点的处理能力和/或由该计算节点处理的当前工作量的值。在一些实施例中,一个或多个第三方系统可以被用来确定指示计算节点的处理负载的值。
可以通过计算各种度量来确定处理负载。度量可以单独地或共同地指示计算节点的处理负载。在一个示例中,可以通过计算指示计算节点可以管理的改变事件的数量的值来确定处理负载。在另一个示例中,可以通过计算由计算节点发起的动作过程(例如,利用基于动作过程类建立的动作过程对象发起的动作过程)的数量来确定处理负载。
在步骤808处,可以选择计算节点集合来执行用于访问的改变的动作过程。可以从多个计算节点中选择计算节点集合。该计算节点集合可以包括一个或多个计算节点。例如,设备访问管理系统120可以从计算节点222中选择计算节点集合(例如,包括计算节点222-1和222-2的计算节点集合)。
可以基于多个计算节点中的每个计算节点的处理负载(例如,在步骤806处确定的处理负载)来选择计算节点集合。可以基于处理负载阈值为该计算节点集合选择该集合中的每个计算节点。在一些实施例中,为计算节点集合选择的计算节点中的每个计算节点可以具有满足处理负载阈值的处理负载。在一个示例中,可以基于计算节点可以处理的改变事件的阈值数量来定义处理负载阈值。在另一个示例中,可以基于被定义为计算节点已经发起的动作处理的阈值数量的动作过程阈值来定义处理负载阈值。在这个示例中,可以基于处理负载阈值来选择计算节点集合中的每个计算节点,以使得计算节点集合中的每个计算节点的处理负载满足动作过程阈值。
流程图800的处理可以继续到一个或多个过程流,例如过程流820和过程流830。动作过程(例如,由在步骤804处识别出的动作过程类定义的动作过程)可以为每个过程流实现。可以为多个远程设备中对企业系统的访问已改变的远程设备集合实现每个过程流。过程流(例如,过程流820)的远程设备集合(例如,设备集合306)中的每个远程设备可以与对应于不同流(例如,过程流830)的远程设备集合(例如,设备集合308)中的每个远程设备不同。在一些实施例中,过程流可以彼此并发地执行。
在图8的示例中,可以为在步骤802处为其确定了改变事件的类型的多个远程设备中的第一远程设备集合(例如,设备集合306)实现过程流820。在步骤810处,可以为第一远程设备集合建立改变事件对象。如上文所解释的,改变事件对象可以对应于存储信息的数据结构。被存储在改变事件对象中的信息可以基于改变事件类来定义。改变事件对象可以指示关于对企业系统的访问的改变的信息。可以为多种类型的改变事件中的每一种定义不同的改变事件类。可以基于改变事件的类型来建立改变事件对象。对应于改变事件的类型的改变事件类可以被用来建立改变事件对象。
可以针对第一设备集合的访问的改变来建立改变事件对象。改变事件条目可以被放在用于其访问已经改变的设备集合的队列(例如,图1的改变事件队列124)上。在一些实施例中,改变事件条目可以被定义为数据结构。改变事件条目可以指示针对与改变事件的类型对应的改变事件要存储的信息的类型。例如,就像改变事件对象一样,可以基于与用于访问的改变的改变事件的类型对应的改变事件类来定义改变事件条目。改变事件条目可以包括指示第一设备集合的访问的改变和改变事件的类型的信息。改变事件条目可以包括识别第一远程设备集合中的每个远程设备的信息。建立改变事件对象可以包括基于放在队列上的用于第一远程设备集合的改变事件条目来实例化改变事件对象。在一些实施例中,改变事件对象一旦被建立就可以包括识别为其建立改变事件对象的设备集合的信息。
在步骤812处,可以发起用于第一动作过程对象的动作过程。可以为在步骤804处识别出的动作过程类定义动作过程。为第一动作过程对象实例化动作过程可以包括基于动作过程类来建立第一动作过程对象。第一动作过程对象可以通过实例化动作过程类来建立。在动作过程类的实例化期间,改变事件对象(例如,在步骤810处建立的改变事件对象)被传递到动作过程类。实例化用于第一动作过程对象的动作过程可以包括利用第一动作过程对象来调用该动作过程。可以通过调取在动作过程类中提供的例程来调用动作过程。当动作过程被调用时,第一动作过程对象可以被传递到例程。
可以为第二远程设备集合(例如,设备集合308)实现过程流830。在步骤814处,可以为在步骤802处为其确定了改变事件的类型的多个远程设备中的第二远程设备集合建立改变事件对象。可以为第二设备集合的访问的改变建立改变事件对象。
在步骤816处,可以发起用于第二动作过程对象的动作过程。可以为在步骤804处识别出的动作过程类定义动作过程。为第二动作过程对象实例化动作过程可以包括基于动作过程类来建立第二动作过程对象。第二动作过程对象可以通过实例化动作过程类来建立。在动作过程类的实例化期间,改变事件对象(例如,在步骤810处建立的改变事件对象)被传递到动作过程类。实例化用于第二动作过程对象的动作过程可以包括利用第二动作过程对象来调用动作过程。可以通过调取在动作过程类中提供的例程来调用动作过程。当动作过程被调用时,第二动作过程对象可以被传递到例程。在一些实施例中,在步骤810处为第一动作过程对象启动的动作过程可以与在步骤816处为第二动作过程对象启动的动作过程并发地启动。
流程图800的处理可以在步骤818处结束,在步骤818处,处理流(例如,处理流820和处理流830)中的每个处理流在完成其执行之后结束。
图9绘出了用于实现实施例的分布式系统900的简化图。在所示的实施例中,分布式系统900包括一个或多个客户端计算设备902、904、906和908,该一个或多个客户端计算设备被配置为经一个或多个网络910执行和操作客户端应用,诸如web浏览器、专有客户端(例如,Oracle Forms)等。服务器912可以经由网络910与远程客户端计算设备902、904、906和908可通信地耦接。
在各种实施例中,服务器912可以适于运行一个或多个服务或软件应用,诸如可以实现用于管理与利用远程设备访问企业系统相关的事件的设备访问管理系统的服务和应用。在某些实施例中,服务器912还可以提供其它服务或者软件应用,可以包括非虚拟环境和虚拟环境。在一些实施例中,这些服务可以作为基于web的服务或云服务或者在软件即服务(SaaS)模型下向客户端计算设备902、904、906和/或908的用户提供。操作客户端计算设备902、904、906和/或908的用户进而可以利用一个或多个客户端应用与服务器912交互,以利用由这些组件提供的服务。
在图9所绘出的配置中,系统900的软件组件918、920和922被示为在服务器912上实现。在其它实施例中,系统900的组件中的一个或多个组件和/或由这些组件提供的服务还可以由客户端计算设备902、904、906和/或908中的一个或多个实现。然后,操作客户端计算设备的用户可以利用一个或多个客户端应用来使用由这些组件提供的服务。这些组件可以在硬件、固件、软件或其组合中实现。应当理解的是,可以不同于分布式系统900的各种不同的系统配置是可能的。因此,图9中示出的实施例是用于实现实施例系统的分布式系统的一个示例,并且不旨在是限制性的。
客户端计算设备902、904、906和/或908可以包括各种类型的计算系统。例如,客户端计算设备可以包括运行诸如Microsoft Windows之类的软件和/或诸如iOS、Windows Phone、Android、BlackBerry 10,Palm OS等之类的各种移动操作系统的便携式手持设备(例如,蜂窝电话、计算平板、个人数字助理(PDA))或可穿戴设备(例如,头戴式显示器)。设备可以支持各种应用(诸如各种因特网相关的应用、电子邮件、短消息服务(SMS)应用),并且可以使用各种其它通信协议。客户端计算设备还可以包括通用个人计算机,举例来说,该通用个人计算机包括运行各种版本的MicrosoftApple和/或Linux操作系统的个人计算机和/或膝上型计算机。客户端计算设备可以是运行包括但不限于各种GNU/Linux操作系统(诸如像Google Chrome OS)的各种商用的或类UNIX操作系统中的任何操作系统的工作站计算机。客户端计算设备还可以包括能够经(一个或多个)网络910通信的电子设备,诸如瘦客户端计算机、启用因特网的游戏系统(例如,具有或不具有姿势输入设备的Microsoft Xbox游戏机)和/或个人消息传送设备。
虽然图9中的分布式系统900被示为具有四个客户端计算设备,但是任何数量的客户端计算设备可以被支持。诸如具有传感器的设备等之类的其它设备可以与服务器912交互。
分布式系统900中的(一个或多个)网络910可以是本领域技术人员熟悉的可以利用各种可用协议中的任何可用协议来支持数据通信的任何类型的网络,其中各种可用协议包括但不限于TCP/IP(传输控制协议/因特网协议)、SNA(系统网络架构)、IPX(因特网分组交换)、AppleTalk等。仅仅作为示例,(一个或多个)网络910可以是局域网(LAN)、基于以太网的网络、令牌环、广域网、因特网、虚拟网络、虚拟专用网络(VPN)、内联网、外联网、公共交换电话网络(PSTN)、红外网络、无线网络(例如,在电气和电子协会(IEEE)802.11协议组中的任何协议、和/或任何其它无线协议下操作的网络)和/或这些网络和/或其它网络的任何组合。
服务器912可以由包括一个或多个通用计算机、专用服务器计算机(举例来说,包括PC(个人计算机)服务器、服务器、中型服务器、大型计算机、机架安装式服务器等)、服务器场、服务器集群或任何其它适当的布置和/或组合。服务器912可以包括运行虚拟操作系统的一个或多个虚拟机或涉及虚拟化的其它计算架构。一个或多个灵活的逻辑存储设备池可以被虚拟化,以维护用于服务器的虚拟存储设备。虚拟网络可以由服务器912利用软件定义网络来控制。在各种实施例中,服务器912可以适于运行在前述公开内容中描述的一个或多个服务或软件应用。例如,服务器912可以对应于根据本公开的实施例的用于执行如上文所描述的处理的服务器。
服务器912可以运行包括上文讨论的操作系统中的任何操作系统的操作系统以及任何商用的服务器操作系统。服务器912还可以运行各种附加的服务器应用和/或中间层应用中的任何附加的服务器应用和/或中间层应用,这些附加的服务器应用和/或中间层应用包括HTTP(超文本传输协议)服务器、FTP(文件传输协议)服务器、CGI(公共网关接口)服务器、服务器、数据库服务器等。示例性数据库服务器包括但不限于来自Oracle、Microsoft、Sybase、IBM(国际商业机器)等的商用数据库服务器。
在一些实施方式中,服务器912可以包括一个或多个应用,以分析和整合从客户端计算设备902、904、906和908的用户接收到的数据馈送和/或事件更新。作为示例,数据馈送和/或事件更新可以包括但不限于从一个或多个第三方信息源和持续数据流接收到的馈送、更新或实时更新,该持续数据流可以包括与传感器数据应用、金融报价机(ticker)、网络性能测量工具(例如,网络监视和业务管理应用)、点击流分析工具、汽车交通监视等相关的实时事件。服务器912还可以包括经由客户端计算设备902、904、906和908的一个或多个显示设备显示数据馈送和/或实时事件的一个或多个应用。
分布式系统900还可以包括一个或多个数据库914和916。这些数据库可以提供用于存储信息的机制,所述信息诸如用户交互信息、使用模式信息、适配规则信息、以及由本发明的实施例使用的其它信息。数据库914和916可以驻留在各种位置中。作为示例,数据库914和916中的一个或多个可以驻留在服务器912本地(和/或驻留在服务器912中)的非暂态存储介质上。可替代地,数据库914和916可以远离服务器912,并且经由基于网络的连接或专用的连接与服务器912通信。在一组实施例中,数据库914和916可以驻留在存储区域网络(SAN)中。类似地,用于执行属于服务器912的功能的任何必要的文件可以适当地在服务器912本地存储和/或远程存储。在一组实施例中,数据库914和916可以包括适于响应于SQL格式的命令来存储、更新和检索数据的关系数据库,诸如由Oracle提供的数据库。
在一些实施例中,云环境可以提供用于管理与利用远程设备访问企业系统相关的事件的一个或多个服务。图10是根据本公开的实施例的其中服务可以作为云服务被提供的系统环境1000的一个或多个组件的简化框图。在图10所示的实施例中,系统环境1000包括一个或多个客户端计算设备1004、1006和1008,该一个或多个客户端计算设备可以被用户用来与提供云服务(包括用于管理与利用远程设备访问企业系统相关的事件的服务)的云基础设施系统1002交互。云基础设施系统1002可以包括一个或多个计算机和/或服务器,该一个或多个计算机和/或服务器可以包括上文针对服务器912所描述的计算机和/或服务器。
应当理解的是,图10中所绘出的云基础设施系统1002可以具有除了所绘出的组件之外的其它组件。此外,图10中示出的实施例仅仅是可以结合本发明的实施例的云基础设施系统的一个示例。在一些其它实施例中,云基础设施系统1002可以具有比图中示出的更多或更少的组件、可以组合两个或更多个组件,或者可以具有不同的组件配置或布置。
客户端计算设备1004、1006和1008可以是与上文针对客户端计算设备902、904、906和908描述的设备类似的设备。客户端计算设备1004、1006和1008可以被配置为操作客户端应用(诸如web浏览器、专有客户端应用(例如,Oracle Forms)或一些其它应用),该客户端应用可以由客户端计算设备的用户用来与云基础设施系统1002交互,以使用由云基础设施系统1002提供的服务。虽然示例性系统环境1000被示为具有三个客户端计算设备,但是任何数量的客户端计算设备可以被支持。诸如具有传感器的设备等之类的其它设备可以与云基础设施系统1002交互。
(一个或多个)网络1010可以便于客户端计算设备1004、1006和1008与云基础设施系统1002之间的通信和数据交换。每个网络可以是本领域技术人员熟悉的可以支持利用各种商用协议中的任何商用协议的数据通信的任何类型的网络,所述各种商用协议包括上文针对(一个或多个)网络910所描述的商用协议。
在某些实施例中,由云基础设施系统1002提供的服务可以包括按需对云基础设施系统的用户可用的许多服务。除了与管理与利用远程设备访问企业系统相关的事件相关的服务之外,还可以提供各种其它服务,包括但不限于在线数据存储和备份解决方案、基于Web的电子邮件服务、托管的办公套件和文档协作服务、数据库处理、受管理的技术支持服务等。由云基础设施系统提供的服务可以动态地缩放,以满足其用户的需求。
在某些实施例中,由云基础设施系统1002提供的服务的具体实例化在本文中可以被称为“服务实例”。一般而言,从云服务提供商的系统经由通信网络(诸如因特网)对用户可用的任何服务被称为“云服务”。通常,在公共云环境中,构成云服务提供商的系统的服务器和系统不同于客户自己的本地服务器和系统。例如,云服务提供商的系统可以托管应用,并且用户可以经由诸如因特网之类的通信网络按需订购和使用应用。
在一些示例中,计算机网络云基础设施中的服务可以包括对由云供应商向用户提供或者如本领域中已知的以其它方式提供的存储装置、托管的数据库、托管的web服务器、软件应用或者其它服务的受保护的计算机网络访问。例如,服务可以包括通过因特网对云上的远程存储装置的受密码保护的访问。作为另一个示例,服务可以包括基于web服务的托管的关系数据库和脚本语言中间件引擎,以供联网的开发者私人使用。作为另一个示例,服务可以包括对在云供应商的网站上托管的电子邮件软件应用的访问。
在某些实施例中,云基础设施系统1002可以包括以自助服务、基于订阅、弹性可扩展、可靠、高度可用和安全的方式向客户交付的一套应用、中间件和数据库服务提供物。这样的云基础设施系统的示例是由本受让人提供的Oracle公共云。
云基础设施系统1002还可以提供与“大数据”相关的计算和分析服务。术语“大数据”一般用来指可以由分析员和研究者存储和操纵以使大量数据可视化、检测趋势和/或以其它方式与数据交互的极大数据集。这种大数据和相关应用可以由基础设施系统在许多级别和不同规模上托管和/或操纵。并行链接的数十个、数百个或成千上万个处理器可以作用于这样的数据,以便呈现该数据或者模拟对数据或它代表的内容的外力。这些数据集可以涉及结构化数据(诸如在数据库中组织或根据结构化模型以其它方式组织的数据)和/或者非结构化数据(例如,电子邮件、图像、数据blob(二进制大对象)、网页、复杂事件处理)。通过利用实施例相对快速地将更多的(或更少的)计算资源集中在目标上的能力,云基础设施系统可以更好地可用于基于来自企业、政府机构、研究组织、私人个人、一群志同道合的个人或组织或者其它实体的需求而对大数据集执行任务。
在各种实施例中,云基础设施系统1002可以适于自动地供应、管理和跟踪客户对由云基础设施系统1002提供的服务的订阅。云基础设施系统1002可以经由不同的部署模型提供云服务。例如,服务可以在公共云模型下被提供,在公共云模型中云基础设施系统1002由销售云服务的组织拥有(例如,由Oracle公司拥有),并且使服务对一般公众或不同的工业企业可用。作为另一个示例,服务可以在私有云模型下被提供,在私有云模型中云基础设施系统1002仅针对单个组织操作,并且可以为该组织内的一个或多个实体提供服务。云服务还可以在社区云模型下被提供,在社区云模型中云基础设施系统1002和由云基础设施系统1002提供的服务由相关社区中的若干组织共享。云服务还可以在混合云模型下被提供,该混合云模型是两个或更多个不同模型的组合。
在一些实施例中,由云基础设施系统1002提供的服务可以包括在软件即服务(SaaS)类别、平台即服务(PaaS)类别、基础设施即服务(IaaS)类别或包括混合服务的其它服务类别下提供的一个或多个服务。客户可以经由订阅订单订购由云基础设施系统1002提供的一个或多个服务。然后云基础设施系统1002执行处理,以提供客户的订阅订单中的服务。
在一些实施例中,由云基础设施系统1002提供的服务可以包括但不限于应用服务、平台服务和基础设施服务。在一些示例中,应用服务可以由云基础设施系统经由SaaS平台提供。SaaS平台可以被配置为提供落入SaaS类别下的云服务。例如,SaaS平台可以提供在集成的开发和部署平台上构建和交付按需应用套件的能力。SaaS平台可以管理和控制用于提供SaaS服务的底层软件和基础设施。通过利用由SaaS平台提供的服务,客户可以利用在云基础设施系统上执行的应用。客户可以获取应用服务,而无需客户购买分开的许可和支持。可以提供各种不同的SaaS服务。示例包括但不限于为大型组织提供用于销售业绩管理、企业集成和业务灵活性的解决方案的服务。
在一些实施例中,平台服务可以由云基础设施系统1002经由PaaS平台提供。PaaS平台可以被配置为提供落入PaaS类别下的云服务。平台服务的示例可以包括但不限于使得组织(诸如Oracle)能够在共享的共同架构上整合现有应用以及具有利用由平台提供的共享服务构建新应用的能力的服务。PaaS平台可以管理和控制用于提供PaaS服务的底层软件和基础设施。客户可以获取由云基础设施系统1002提供的PaaS服务,而无需客户购买分开的许可和支持。平台服务的示例包括但不限于Oracle Java云服务(JCS)、Oracle数据库云服务(DBCS)以及其它平台服务。
通过利用由PaaS平台提供的服务,客户可以采用由云基础设施系统支持的编程语言和工具,并且还可以控制所部署的服务。在一些实施例中,由云基础设施系统提供的平台服务可以包括数据库云服务、中间件云服务(例如,Oracle Fusion Middleware服务)和Java云服务。在一个实施例中,数据库云服务可以支持共享服务部署模型,该共享服务部署模型使得组织能够汇集数据库资源并且以数据库云的形式向客户提供数据库即服务。在云基础设施系统中,中间件云服务可以为客户提供开发和部署各种业务应用的平台,而Java云服务可以为客户提供部署Java应用的平台。
各种不同的基础设施服务可以由云基础设施系统中的IaaS平台提供。基础设施服务便于利用由SaaS平台和PaaS平台提供的服务的客户对底层计算资源(诸如存储装置、网络和其它基本计算资源)的管理和控制。
在某些实施例中,云基础设施系统1002还可以包括基础设施资源1030,以用于提供用来向云基础设施系统的客户提供各种服务的资源。在一个实施例中,基础设施资源1030可以包括用来执行由PaaS平台和SaaS平台提供的服务的硬件(诸如服务器、存储装置和联网资源)的预先集成和优化的组合以及其它资源。
在一些实施例中,云基础设施系统1002中的资源可以由多个用户共享并且根据需求被动态地重新分配。此外,资源可以被分配给在不同时区中的用户。例如,云基础设施系统1002可以使第一时区内的第一用户集合能够利用云基础设施系统的资源指定的小时数,然后实现向位于不同时区的另一用户集合重新分配同一资源,由此最大化资源的利用率。
在某些实施例中,可以提供若干内部共享服务1032,这些内部共享服务由云基础设施系统1002的不同组件或模块共享,以使得云基础设施系统1002能够供应服务。这些内部共享服务可以包括但不限于安全和身份服务、集成服务、企业储存库服务、企业管理器服务、病毒扫描和白名单服务、高可用性、备份和恢复服务、用于启用云支持的服务、电子邮件服务、通知服务、文件传输服务等。
在某些实施例中,云基础设施系统1002可以在云基础设施系统中提供对云服务(例如,SaaS、PaaS和IaaS服务)的综合管理。在一个实施例中,云管理功能可以包括用于供应、管理和跟踪由云基础设施系统1002接收到的客户的订阅的能力等。
在一个实施例中,如图10中所绘出的,云管理功能可以由诸如订单管理模块1020、订单编排模块1022、订单供应模块1024、订单管理和监视模块1026以及身份管理模块1028之类的一个或多个模块提供。这些模块可以包括一个或多个计算机和/或服务器或者可以利用一个或多个计算机和/或服务器来提供,该一个或多个计算机和/或服务器可以是通用计算机、专用服务器计算机、服务器场,服务器集群或任何其它适当的布置和/或组合。
在示例性操作中,在步骤1034处,使用客户端设备(诸如客户端计算设备1004、1006或1008)的客户可以通过请求由云基础设施系统1002提供的一个或多个服务并且对由云基础设施系统1002提供的一个或多个服务的订阅下订单来与云基础设施系统1002交互。在某些实施例中,客户可以访问云用户界面(UI)(诸如云UI 1012、云UI 1014和/或云UI1016)并且经由这些UI下订阅订单。响应于客户下订单而由云基础设施系统1002接收到的订单信息可以包括识别客户和客户旨在订阅的由云基础设施系统1002提供的一个或多个服务的信息。
在步骤1036处,从客户接收到的订单信息可以被存储在订单数据库1018中。如果这是新订单,则可以为该订单创建新记录。在一个实施例中,订单数据库1018可以是由云基础设施系统1018操作以及与其它系统元素结合操作的若干数据库中的一个数据库。
在步骤1038处,订单信息可以被转发到订单管理模块1020,订单管理模块1020可以被配置为执行与订单相关的计费和记帐功能(诸如验证订单),并且在通过验证时,预订订单。
在步骤1040处,关于订单的信息可以被传送到订单编排模块1022,订单编排模块1022被配置为编排用于客户所下的订单的服务和资源的供应。在一些实例中,订单编排模块1022可以使用订单供应模块1024的服务以用于供应。在某些实施例中,订单编排模块1022实现对与每个订单相关联的业务过程的管理,并且应用业务逻辑来确定订单是否应当继续供应。
如图10中绘出的实施例中所示,在步骤1042处,在接收到对新订阅的订单时,订单编排模块1022向订单供应模块1024发送分配资源和配置履行订购订单所需的资源的请求。订单供应模块1024实现用于由客户订购的服务的资源分配。订单供应模块1024提供由云基础设施系统1000提供的云服务和用来供应用于提供所请求服务的资源的物理实现层之间的抽象级别。这使得订单编排模块1022能够与诸如服务和资源实际上是实时供应还是预先供应并且仅在请求时才被分配/指派之类的实现细节隔离。
在步骤1044处,一旦供应了服务和资源,就可以向订阅的客户发送指示所请求的服务现在准备好使用的通知。在一些实例中,可以向客户发送使得客户能够开始使用所请求的服务的信息(例如,链接)。
在步骤1046处,客户的订阅订单可以由订单管理和监视模块1026来管理和跟踪。在一些实例中,订单管理和监视模块1026可以被配置为收集关于所订阅的服务的客户使用的使用统计数据。例如,可以针对所使用的存储装置量、传送的数据量、用户的数量以及系统启动时间和系统停机时间的量等来收集统计数据。
在某些实施例中,云基础设施系统1000可以包括身份管理模块1028,身份管理模块1028被配置为提供身份服务,诸如云基础设施系统1000中的访问管理和授权服务。在一些实施例中,身份管理模块1028可以控制关于希望利用由云基础设施系统1002提供的服务的客户的信息。这样的信息可以包括认证这些客户的身份的信息和描述这些客户被授权相对于各种系统资源(例如,文件、目录、应用、通信端口、存储器段等)执行的动作的信息。身份管理模块1028还可以包括对关于每个客户的描述性信息以及关于如何和由谁来访问和修改描述性信息的管理。
图11示出了可以被用来实现本发明的实施例的示例性计算机系统1100。在一些实施例中,计算机系统1100可以被用来实现上文描述的各种服务器和计算机系统中的任何服务器和计算机系统。如图11中所示,计算机系统1100包括各种子系统,这些子系统包括经由总线子系统1102与若干外围子系统通信的处理单元1104。这些外围子系统可以包括处理加速单元1106、I/O子系统1108、存储子系统1118和通信子系统1124。存储子系统1118可以包括有形的计算机可读存储介质1122和系统存储器1110。
总线子系统1102提供用于使计算机系统1100的各种组件和子系统按照预期彼此通信的机制。虽然总线子系统1102被示意性地示为单条总线,但是总线子系统的替代实施例可以利用多条总线。总线子系统1102可以是使用各种总线架构中的任何总线架构的若干类型的总线结构中的任何总线结构,包括存储器总线或存储器控制器、外围总线和本地总线。例如,这样的架构可以包括工业标准架构(ISA)总线、微通道架构(MCA)总线、增强型ISA(EISA)总线、视频电子标准协会(VESA)本地总线和外围组件互连(PCI)总线等,其中PCI总线可以被实现为根据IEEE P1386.1标准制造的夹层(Mezzanine)总线。
处理子系统1104控制计算机系统1100的操作并且可以包括一个或多个处理单元1132、1134等。处理单元可以包括一个或多个处理器,该一个或多个处理器包括单核或多核处理器、处理器的一个或多个核心、或其组合。在一些实施例中,处理子系统1104可以包括一个或多个专用协处理器,诸如图形处理器、数字信号处理器(DSP)等。在一些实施例中,处理子系统1104的处理单元中的一些或全部可以利用诸如专用集成电路(ASIC)或现场可编程门阵列(FPGA)之类的定制电路来实现。
在一些实施例中,处理子系统1104中的处理单元可以执行存储在系统存储器1110中或计算机可读存储介质1122上的指令。在各种实施例中,处理单元可以执行各种程序或代码指令,并且可以维护多个并发执行程序或进程。在任何给定时间,要执行的程序代码中的一些或全部可以驻留在系统存储器1110中和/或在计算机可读存储介质1122上(潜在地包括在一个或多个存储设备上)。通过适当的编程,处理子系统1104可以提供上文描述的各种功能,以用于管理与利用远程设备访问企业系统相关的事件。
在某些实施例中,可以提供处理加速单元1106,以用于执行定制处理或用于卸载由处理子系统1104执行的处理中的一些处理,以便加速由计算机系统1100执行的整体处理。
I/O子系统1108可以包括用于向计算机系统1100输入信息和/或用于输出来自计算机系统1100的信息或经由计算机系统1100输出信息的设备和机制。一般而言,术语“输入设备”的使用旨在包括用于向计算机系统1100输入信息的所有可能类型的设备和机构。用户接口输入设备可以包括例如键盘、诸如鼠标或轨迹球之类的指向设备、结合到显示器中的触摸板或触摸屏、滚轮、点击轮、拨号盘、按钮、开关、键板、具有语音命令识别系统的音频输入设备、麦克风以及其它类型的输入设备。用户接口输入设备还可以包括运动感测设备和/或姿势识别设备,诸如使得用户能够控制输入设备并且与其交互的Microsoft运动传感器、Microsoft360游戏控制器、提供用于接收使用姿势和口头命令的输入的接口的设备。用户接口输入设备还可以包括眼部姿势识别设备,诸如检测用户的眼睛活动(例如,当拍摄图片和/或进行菜单选择时的“眨眼”)并且将眼部姿势变换为到输入设备(例如,Google)中的输入的Google眨眼检测器。附加地,用户接口输入设备可以包括使得用户能够通过语音命令与语音识别系统(例如,导航器)交互的语音识别感测设备。
用户接口输入设备的其它示例包括但不限于三维(3D)鼠标、操纵杆或指向杆、游戏板和图形平板、以及音频/视频设备,诸如扬声器、数字照相机、数字摄像机、便携式媒体播放器、网络摄像机、图像扫描仪、指纹扫描仪、条形码读取器3D扫描仪、3D打印机、激光测距仪、以及视线跟踪设备。附加地,用户接口输入设备可以包括例如医疗成像输入设备,诸如计算机断层扫描设备、磁共振成像设备部、正电子发射断层扫描设备、医疗超声扫描设备。用户接口输入设备还可以包括例如音频输入设备,诸如MIDI键盘、数字乐器等。
用户接口输出设备可以包括显示子系统、指示灯或诸如音频输出设备之类的非视觉显示器等。显示子系统可以是阴极射线管(CRT)、诸如使用液晶显示器(LCD)或等离子显示器的平板设备之类的平板设备、投影设备、触摸屏等。一般而言,术语“输出设备”的使用旨在包括用于向用户或其它计算机输出来自计算机系统1100的信息的所有可能类型的设备和机构。例如,用户接口输出设备可以包括但不限于可视地传达文本、图形和音频/视频信息的各种显示设备,诸如监视器、打印机、扬声器、耳机、汽车导航系统、绘图仪、语音输出设备和调制解调器。
存储子系统1118提供用于存储由计算机系统1100使用的信息的储存库或数据仓库。存储子系统1118提供有形的非暂态计算机可读存储介质,以用于存储提供一些实施例的功能的基本编程和数据结构体。当由处理子系统1104执行时提供上文描述的功能的软件(程序、代码模块、指令)可以被存储在存储子系统1118中。软件可以由处理子系统1104的一个或多个处理单元执行。存储子系统1118还可以提供用于存储根据本发明使用的数据的储存库。
存储子系统1118可以包括一个或多个非暂态存储器设备,该一个或多个非暂态存储器设备包括易失性和非易失性存储器设备。如图11中所示,存储子系统1118包括系统存储器1110和计算机可读存储介质1122。系统存储器1110可以包括若干存储器,这些存储器包括用于在程序执行期间存储指令和数据的易失性主随机存取存储器(RAM)和其中存储固定指令的非易失性只读存储器(ROM)或闪存存储器。在一些实施方式中,包含帮助诸如在启动期间在计算机系统1100内的元件之间传送信息的基本例程的基本输入/输出系统(BIOS)通常可以被存储在ROM中。RAM通常包含当前由处理子系统1104操作和执行的数据和/或程序模块。在一些实施方式中,系统存储器1110可以包括多个不同类型的存储器,诸如静态随机存取存储器(SRAM)或动态随机存取存储器(DRAM)。
作为示例而非限制,如在图11中绘出的,系统存储器1110可以存储应用程序1112、程序数据1114和操作系统1116,应用程序1112可以包括客户端应用、Web浏览器、中间层应用、关系数据库管理系统(RDBMS)等。作为示例,操作系统1116可以包括各种版本的MicrosoftApple和/或Linux操作系统、各种商用的或类UNIX操作系统(包括但不限于各种GNU/Linux操作系统、GoogleOS等)和/或诸如iOS、Phone、OS、10OS和OS操作系统之类的移动操作系统。
计算机可读存储介质1122可以存储提供一些实施例的功能的编程和数据结构体。当由处理子系统1104执行时使处理器提供上文描述的功能的软件(程序、代码模块、指令)可以被存储在存储子系统1118中。作为示例,计算机可读存储介质1122可以包括非易失性存储器,诸如硬盘驱动器、磁盘驱动器、诸如CD ROM、DVD、Blu-(蓝光)盘或其它光学介质之类的光盘驱动器。计算机可读存储介质1122可以包括但不限于驱动器、闪存存储器卡、通用串行总线(USB)闪存驱动器、安全数字(SD)卡、DVD盘、数字视频带等。计算机可读存储介质1122还可以包括基于非易失性存储器的固态驱动器(SSD)(诸如基于闪存存储器的SSD、企业闪存驱动器、固态ROM等)、基于易失性存储器的SSD(诸如固态RAM、动态RAM、静态RAM、基于DRAM的SSD、磁阻RAM(MRAM)SSD)、以及使用基于DRAM的SSD和基于闪存存储器的SSD的组合的混合SSD。计算机可读介质1122可以为计算机系统1100提供计算机可读指令、数据结构、程序模块和其它数据的存储。
在某些实施例中,存储子系统1100还可以包括计算机可读存储介质读取器1120,计算机可读存储介质读取器1120可以被进一步连接到计算机可读存储介质1122。与系统存储器1110一起并且可选地与系统存储器1110组合,计算机可读存储介质1122可以全面地表示远程存储设备、本地存储设备、固定存储设备和/或可移动存储设备加上用于存储计算机可读信息的存储介质。
在某些实施例中,计算机系统1100可以提供对执行一个或多个虚拟机的支持。计算机系统1100可以执行诸如管理程序之类的程序,以便于虚拟机的配置和管理。每个虚拟机可以被分配存储器资源、计算资源(例如,处理器、核心)、I/O资源和网络资源。每个虚拟机通常运行可以与由计算机系统1100执行的其它虚拟机执行的操作系统相同或不同的它自己的操作系统。相应地,多个操作系统可以潜在地由计算机系统1100并发地运行。每个虚拟机一般独立于其它虚拟机运行。
通信子系统1124提供到其它计算机系统和网络的接口。通信子系统1124充当用于接收来自计算机系统1100的其它系统的数据以及向计算机系统1100的其它系统发送数据的接口。例如,通信子系统1124可以使得计算机系统1100能够经由因特网建立到一个或多个客户端计算设备的通信信道,以用于接收来自客户端设备的信息以及向客户端计算设备发送信息。
通信子系统1124可以支持有线通信协议和/或无线通信协议两者。例如,在某些实施例中,通信子系统1124可以包括用于(例如,使用蜂窝电话技术、诸如3G、4G或EDGE(全球演进的增强数据速率)之类的先进数据网络技术、WiFi(IEEE 802.11族标准)、或其它移动通信技术、或其任何组合)访问无线语音网络和/或数据网络的射频(RF)收发器组件、全球定位系统(GPS)接收器组件和/或其它组件。在一些实施例中,除了无线接口之外或者作为无线接口的替代,通信子系统1124可以提供有线网络连接(例如,以太网)。
通信子系统1124可以接收和发送以各种形式的数据。例如,在一些实施例中,通信子系统1124可以接收以结构化和/或非结构化数据馈送1126、事件流1128、事件更新1130等形式的输入通信。例如,通信子系统1124可以被配置为实时接收(或发送)来自社交媒体网络和/或其它通信服务的用户的数据馈送1126和/或来自一个或多个第三方信息源的实时更新,其中数据馈送1126诸如馈送、更新、诸如丰富站点摘要(RSS)馈送之类的web馈送。
在某些实施例中,通信子系统1124可以被配置为接收没有明确结束的本质上可以是连续的或无界的连续数据流形式的数据,其中连续数据流可以包括实时事件的事件流1128和/或事件更新1130。生成连续数据的应用的示例可以包括例如传感器数据应用、金融报价机、网络性能测量工具(例如,网络监视和流量管理应用)、点击流分析工具、汽车交通监视等。
通信子系统1124还可以被配置为向一个或多个数据库输出结构化和/或非结构化的数据馈送1126、事件流1128、事件更新1130等,其中该一个或多个数据库可以与耦接到计算机系统1100的一个或多个流数据源计算机通信。
计算机系统1100可以是各种类型中的一种,这些类型包括手持便携式设备(例如,蜂窝电话、计算平板、PDA)、可穿戴设备(例如,Google头戴式显示器)、个人计算机、工作站、大型机、信息亭、服务器机架或任何其它数据处理系统。
由于计算机和网络不断变化的性质,对图11中绘出的计算机系统1100的描述旨在仅仅作为具体示例。具有比图11中绘出的系统更多或更少的组件的许多其它配置是可能的。基于本文提供的公开内容和教导,本领域普通技术人员将理解实现各种实施例的其它方式和/或方法。
图12示出了可以被用来实现本发明的实施例的示例性计算机系统1200。计算系统1200被示为功能框图。计算机系统1200可以根据如上文所描述的本发明的原理来配置。计算机系统1200的功能框可以由硬件、软件或硬件和软件的组合来实现,以实施本发明的原理。本领域技术人员要理解的是,图12中描述的功能框可以被组合或分成子框,以实现如上文所描述的本发明的原理。因此,本文的描述可以支持本文描述的功能框的任何可能的组合或分开或进一步的定义。如图12中所示,计算机系统1200包括确定单元1202、识别单元1204、选择单元1206、建立单元1208、建立单元1210和计算单元1212。
确定单元1202可以为多个远程设备确定与对企业系统的访问的改变对应的改变事件的类型。识别单元1204可以识别与改变事件的类型相关联的动作过程类,其中该动作过程类定义针对该改变事件的类型要执行的动作过程。选择单元1206可以基于多个计算节点中的每个计算节点的处理负载来选择多个计算节点中的计算节点集合,以执行针对访问的改变的动作过程。建立单元1208可以基于改变事件的类型建立用于多个远程设备中的第一远程设备集合的第一改变事件对象,其中改变事件对象指示关于访问的改变的信息。建立单元1210可以基于改变事件的类型来建立用于多个远程设备中的第二远程设备集合的第二改变事件对象,其中第一远程设备集合中的每个远程设备与第二远程设备集合中的每个远程设备不同。
在某些实施例中,用于第一动作过程对象的动作过程由计算节点集合中的第一计算节点利用第一改变事件对象发起,并且第一动作过程对象基于动作过程类建立。
在某些实施例中,用于第二动作过程对象的动作过程由计算节点集合中的第二计算节点利用第二改变事件对象发起,并且第二动作过程对象基于动作过程类建立。
在某些实施例中,计算单元1212可以为多个计算节点中的每个计算节点计算处理负载,其中计算节点的处理负载是基于计算节点已经发起的动作过程的数量来计算的,并且其中基于动作过程阈值来为计算节点集合选择第一计算节点,并且其中基于计算节点集合中的每个计算节点的处理负载满足动作过程阈值来选择该计算节点集合中的每个计算节点。
在某些实施例中,利用第一动作过程对象调用的动作过程包括向第一远程设备集合中的每个远程设备发送指示访问的改变的指令,并且其中该指令使得第一远程设备集合中的至少一个远程设备应用访问的改变。
根据至少一个示例,可以提供用于管理针对访问企业系统的改变的改变事件的设备。该设备可以包括:用于确定要对多个远程设备执行的动作的装置;用于在队列上添加用于多个远程设备中的第一远程设备集合和第二远程设备集合中的每个远程设备的改变事件条目,从而将多个改变事件条目添加到队列的装置,其中第一远程设备集合中的每个远程设备不同于第二远程设备集合中的每个远程设备;用于从队列向第一计算节点指派对应于第一远程设备集合的第一改变事件条目的装置;用于为第一改变事件条目实例化第一元数据对象并且将识别第一远程设备集合中的每个远程设备的元数据存储在第一元数据对象中的装置;用于从第一计算节点基于第一元数据对象指示要对第一远程设备集合中的每个远程设备采取的动作的装置;用于从队列向第二计算节点指派对应于第二远程设备集合的第二改变事件条目的装置;用于为第二改变事件条目实例化第二元数据对象并且将识别第二远程设备集合中的每个远程设备的元数据存储在第二元数据对象中的装置;以及用于从第二计算节点基于第二元数据对象指示要对第二远程设备集合中的每个远程设备采取的动作的装置。在某些实施例中,实例化第一元数据对象在第一计算节点上执行。
虽然已经描述了本发明的具体实施例,但是各种修改、更改、替代构造和等价物也包含在本发明的范围之内。修改包括所公开的特征的任何相关组合。本发明的实施例不限于某些具体数据处理环境内的操作,而是可以在多个数据处理环境内自由操作。此外,虽然已利用特定系列的事务和步骤描述了本发明的实施例,但是对本领域技术人员应当明显的是,本发明的范围不限于所描述的系列的事务和步骤。上文描述的实施例的各种特征和方面可以被单独使用或结合使用。
另外,虽然已经利用硬件和软件的特定组合描述了本发明的实施例,但是应当认识到,硬件和软件的其它组合也在本发明的范围之内。本发明的实施例可以仅在硬件中、或仅在软件中、或利用其组合来实现。本文描述的各种过程可以在同一处理器上实现或者以任何组合在不同处理器上实现。相应地,在组件或模块被描述为被配置为执行某些操作的情况下,这样的配置可以例如通过设计电子电路来执行操作、通过对可编程电子电路(诸如微处理器)进行编程来执行操作、或其任何组合来实现。进程可以利用包括但不限于用于进程间通信的常规技术的各种技术来通信,并且不同的进程对可以使用不同的技术,或者同一对进程可以在不同时间使用不同的技术。
相应地,应当在说明性的意义而不是限制性的意义上考虑说明书和附图。然而,将明显的是,在不背离比权利要求中阐述的更广泛精神和范围的情况下,可以对其进行添加、减少、删除以及其它修改和改变。因此,虽然已描述了具体的发明实施例,但是这些实施例不旨在是限制性的。各种修改和等价物在以下权利要求的范围之内。

Claims (10)

1.一种方法,包括:
为多个远程设备确定与对企业系统的访问的改变的改变事件对应的改变事件的类型;
识别与所述改变事件的类型相关联的动作过程类,其中所述动作过程类定义针对所述改变事件的类型要执行的动作过程;
基于多个计算节点中的每个计算节点的处理负载来选择所述多个计算节点中的计算节点集合以执行针对所述访问的改变的所述动作过程;
由计算机系统基于所述改变事件的类型建立第一改变事件对象,所述第一改变事件对象包括关于对企业系统的访问的改变的所述改变事件的信息并且包括识别所述多个远程设备中的要向其通知所述改变事件的第一远程设备集合中的每个远程设备的第一信息;
由所述计算机系统基于所述改变事件的类型建立第二改变事件对象,所述第二改变事件对象包括关于对企业系统的访问的改变的所述改变事件的信息并且包括识别所述多个远程设备中的要向其通知所述改变事件的第二远程设备集合中的每个远程设备的第二信息,并且其中所述第一远程设备集合中的每个远程设备与所述第二远程设备集合中的每个远程设备不同;
由所述计算节点集合中的第一计算节点利用所述第一改变事件对象发起用于第一动作过程对象的动作过程,其中所述第一动作过程对象是基于所述动作过程类建立的,其中所述第一动作过程对象使得第一指令被发送给由所述第一改变事件对象中的第一信息识别的所述第一远程设备集合中的每个远程设备,并且其中对于所述第一远程设备集合中的每个远程设备,在接收到所述第一指令后,所述第一远程设备集合中的每个远程设备根据所述第一指令基于所述改变事件来调整对企业系统的访问;以及
由所述计算节点集合中的第二计算节点利用所述第二改变事件对象发起用于第二动作过程对象的动作过程,其中所述第二动作过程对象是基于所述动作过程类建立的,其中所述第二动作过程对象使得第二指令被发送给由所述第二改变事件对象中的第二信息识别的所述第二远程设备集合中的每个远程设备,并且其中对于所述第二远程设备集合中的每个远程设备,在接收到所述第二指令后,所述第二远程设备集合中的每个远程设备根据所述第二指令基于所述改变事件来调整对企业系统的访问。
2.如权利要求1所述的方法,还包括:
向改变事件队列添加用于所述第一远程设备集合和所述第二远程设备集合中的每一个的改变事件条目,其中所述改变事件条目指示所述访问的改变和所述改变事件的类型。
3.如权利要求2所述的方法,其中建立所述第一改变事件对象包括基于所述改变事件队列上的用于所述第一远程设备集合的第一改变事件条目来实例化所述第一改变事件对象,并且其中用于所述第一远程设备集合的第一改变事件条目包括识别所述第一远程设备集合中的每个远程设备的信息。
4.如权利要求2所述的方法,还包括:
在从所述第一远程设备集合中的每个远程设备接收到响应时,从所述改变事件队列中移除用于所述第一远程设备集合的第一改变事件条目,所述响应指示所述第一远程设备集合中的每个远程设备已经应用了所述第一改变事件对象中指示的与所述改变事件的类型对应的访问的改变。
5.如权利要求1所述的方法,其中利用所述第一改变事件对象发起用于第一动作过程对象的动作过程包括:
通过利用所述第一改变事件对象实例化所述动作过程类来建立所述第一动作过程对象;以及
利用所述第一动作过程对象来调用所述动作过程。
6.如权利要求1所述的方法,其中所发起的用于所述第一动作过程对象的动作过程和所发起的用于所述第二动作过程对象的动作过程被并发地发起。
7.如权利要求1所述的方法,其中所述改变事件的类型包括策略改变,所述策略改变包括合规性策略的改变、登记策略的改变、工作空间策略的改变、设备策略的改变或其组合。
8.如权利要求7所述的方法,其中要针对远程设备集合执行的所述动作过程包括指示所述远程设备集合中的每个远程设备应用所述策略改变。
9.如权利要求1所述的方法,其中所述改变事件的类型包括应用改变,所述应用改变包括将应用添加到所述多个远程设备可访问的应用的目录、从所述目录中移除应用、修改所述目录中的应用的版本或其组合。
10.如权利要求9所述的方法,其中要针对远程设备集合执行的所述动作过程包括指示所述远程设备集合中的每个远程设备应用所述应用改变。
CN201811528638.7A 2014-09-24 2015-04-20 为企业系统中的设备管理改变事件的方法、系统和介质 Active CN109828761B (zh)

Applications Claiming Priority (6)

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
CN201580045976.3A CN106605210B (zh) 2014-09-24 2015-04-20 为企业系统中的设备管理改变事件

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201580045976.3A Division CN106605210B (zh) 2014-09-24 2015-04-20 为企业系统中的设备管理改变事件

Publications (2)

Publication Number Publication Date
CN109828761A true CN109828761A (zh) 2019-05-31
CN109828761B CN109828761B (zh) 2022-04-05

Family

ID=55525799

Family Applications (7)

Application Number Title Priority Date Filing Date
CN201580047019.4A Active CN106664323B (zh) 2014-09-24 2015-04-20 企业系统中的设备上的应用的统一供应
CN202010940313.0A Active CN112040004B (zh) 2014-09-24 2015-04-20 用于基于规则的设备注册的方法、系统和介质
CN201580045294.2A Active CN107431721B (zh) 2014-09-24 2015-04-20 划分用于不同电子设备的应用分发的方法、系统和介质
CN202010319947.4A Active CN111541768B (zh) 2014-09-24 2015-04-20 企业系统中的设备上的应用的统一供应
CN201811528638.7A Active CN109828761B (zh) 2014-09-24 2015-04-20 为企业系统中的设备管理改变事件的方法、系统和介质
CN201580045976.3A Active CN106605210B (zh) 2014-09-24 2015-04-20 为企业系统中的设备管理改变事件
CN201580045296.1A Active CN107113326B (zh) 2014-09-24 2015-04-20 用于基于规则的设备注册的方法、系统和介质

Family Applications Before (4)

Application Number Title Priority Date Filing Date
CN201580047019.4A Active CN106664323B (zh) 2014-09-24 2015-04-20 企业系统中的设备上的应用的统一供应
CN202010940313.0A Active CN112040004B (zh) 2014-09-24 2015-04-20 用于基于规则的设备注册的方法、系统和介质
CN201580045294.2A Active CN107431721B (zh) 2014-09-24 2015-04-20 划分用于不同电子设备的应用分发的方法、系统和介质
CN202010319947.4A Active CN111541768B (zh) 2014-09-24 2015-04-20 企业系统中的设备上的应用的统一供应

Family Applications After (2)

Application Number Title Priority Date Filing Date
CN201580045976.3A Active CN106605210B (zh) 2014-09-24 2015-04-20 为企业系统中的设备管理改变事件
CN201580045296.1A Active CN107113326B (zh) 2014-09-24 2015-04-20 用于基于规则的设备注册的方法、系统和介质

Country Status (6)

Country Link
US (12) US9692748B2 (zh)
EP (4) EP3198419B1 (zh)
JP (4) JP6499281B2 (zh)
KR (5) KR102295830B1 (zh)
CN (7) CN106664323B (zh)
WO (4) WO2016048417A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110225050A (zh) * 2019-06-20 2019-09-10 四川长虹电器股份有限公司 Jwt令牌的管理方法

Families Citing this family (267)

* 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
US9692748B2 (en) 2014-09-24 2017-06-27 Oracle International Corporation Unified provisioning of applications on devices in an enterprise system
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 伊姆西公司 对多层架构的数据中心的资源进行跨层调度的方法和装置
US11122034B2 (en) 2015-02-24 2021-09-14 Nelson A. Cicchitto Method and apparatus for an identity assurance score with ties to an ID-less and password-less authentication system
US11171941B2 (en) * 2015-02-24 2021-11-09 Nelson A. Cicchitto Mobile device enabled desktop tethered and tetherless authentication
US9762585B2 (en) 2015-03-19 2017-09-12 Microsoft Technology Licensing, Llc Tenant lockbox
US20180077029A1 (en) * 2015-04-08 2018-03-15 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
WO2017035540A1 (en) 2015-08-27 2017-03-02 Pivotal Software, Inc. Notification system for providing a network service
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
US20180295019A1 (en) * 2015-11-06 2018-10-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
US10445506B2 (en) 2016-03-30 2019-10-15 Airwatch Llc Detecting vulnerabilities in managed client devices
US10389705B2 (en) * 2016-03-30 2019-08-20 Airwatch Llc Associating user accounts with enterprise workspaces
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
US10523660B1 (en) 2016-05-13 2019-12-31 MobileIron, Inc. Asserting a mobile identity to users and devices in an enterprise authentication system
WO2017197400A1 (en) * 2016-05-13 2017-11-16 Mobile Iron, Inc. Unified vpn and identity based authentication to cloud-based services
US20170339160A1 (en) 2016-05-17 2017-11-23 International Business Machines Corporation Threat-aware provisioning and governance
US10666639B2 (en) * 2016-05-20 2020-05-26 Avaya, Inc. Customer-centric workflow for initial on-boarding of an OpenFlow enabled switch
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
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
US10326841B2 (en) * 2016-06-07 2019-06-18 Vmware Inc. Remote data securement on mobile devices
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
EP3596595B1 (en) * 2017-03-22 2023-05-03 VMware, Inc. Persistent enrollment of a computing device using vendor autodiscovery
US10445106B2 (en) 2017-03-22 2019-10-15 Vmware, Inc. Persistent enrollment of a computing device using a BIOS
US10635819B2 (en) 2017-03-22 2020-04-28 Vmware, Inc. Persistent enrollment of a computing device based on a temporary user
US10620965B2 (en) 2017-03-22 2020-04-14 Vmware, Inc. Internet recovery of a windows configuration
US10740109B2 (en) 2017-03-22 2020-08-11 Vmware, Inc. Configuring a computing device using managed operating system images
US10409619B2 (en) 2017-03-22 2019-09-10 Vmware, Inc. Persistent enrollment of a computing device using vendor autodsicovery
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
US11122042B1 (en) 2017-05-12 2021-09-14 F5 Networks, Inc. Methods for dynamically managing user access control and devices thereof
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
US20180332012A1 (en) * 2017-05-12 2018-11-15 International Business Machines Corporation Post-compilation configuration management
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
JP6640798B2 (ja) * 2017-07-31 2020-02-05 グリー株式会社 アプリケーション利用管理プログラム、アプリケーション利用管理方法、サーバ、管理用プログラム及び管理ユーザ端末
US10708268B2 (en) * 2017-07-31 2020-07-07 Airwatch, Llc Managing voice applications within a digital workspace
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 中国移动通信有限公司研究院 一种元数据更新方法、装置、系统、电子设备及存储介质
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
US10505920B2 (en) * 2017-11-30 2019-12-10 Mocana Corporation System and method of device identification for enrollment and registration of a connected endpoint device, and blockchain 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
KR102537712B1 (ko) * 2018-02-16 2023-05-26 인테그리티 시큐리티 서비시즈 엘엘씨 컴퓨터화 디바이스용 위치 정보 프로비저닝 및 처리를 위한 시스템, 방법 및 디바이스
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
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.
US10826896B2 (en) 2018-03-27 2020-11-03 Bank Of America Corporation Enhanced biometric data and systems for processing events using enhanced biometric data
US10817598B2 (en) 2018-03-27 2020-10-27 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 ブラザー工業株式会社 プログラム及び通信システム
JP7172108B2 (ja) 2018-04-13 2022-11-16 ブラザー工業株式会社 プログラム及び通信システム
JP7131045B2 (ja) 2018-04-13 2022-09-06 ブラザー工業株式会社 プログラム及び通信システム
CA3098344A1 (en) 2018-04-24 2019-10-31 Spectrum Brands, Inc. Certificate provisioning for electronic lock authentication to a server
US20190324743A1 (en) * 2018-04-24 2019-10-24 Cloud66 Inc. Configuration file management
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
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
EP3564873B1 (en) 2018-04-30 2022-11-30 Hewlett Packard Enterprise Development LP System and method of decentralized machine learning using blockchain
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
US10992680B2 (en) * 2018-06-29 2021-04-27 Sap Se Authorization client management in a distributed computing environment
CN108881456A (zh) * 2018-06-29 2018-11-23 郑州云海信息技术有限公司 一种数据交互系统、服务端及其数据交互方法及系统
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
WO2020117549A1 (en) 2018-12-06 2020-06-11 Mocana Corporation System and method for zero touch provisioning of iot devices
CN109547259A (zh) * 2018-12-07 2019-03-29 东软集团股份有限公司 应用配置方法、装置、存储介质和电子设备
CN113039566A (zh) * 2018-12-12 2021-06-25 西门子股份公司 工业物联网解决方案的应用程序配置方法、装置、系统、计算机软件产品以及可读介质
CN109639688B (zh) * 2018-12-18 2021-03-19 清创网御(合肥)科技有限公司 一种物联网安全防护系统及其防护方法
EP3900404A4 (en) * 2018-12-19 2021-12-01 Telefonaktiebolaget LM Ericsson (publ) USER CONFIGURATION OF SERVICES
US10965547B1 (en) 2018-12-26 2021-03-30 BetterCloud, Inc. Methods and systems to manage data objects in a cloud computing environment
US10467426B1 (en) * 2018-12-26 2019-11-05 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
US10470059B1 (en) 2019-03-04 2019-11-05 Cisco Technology, Inc. Dynamic network device selection for containerized application deployment
US11968240B2 (en) * 2019-03-04 2024-04-23 Cisco Technology, Inc. Network posture based suggestion of applications and services
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
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 ブラザー工業株式会社 プログラム、情報処理装置、通信システム、及び通知情報の出力方法
US11599100B2 (en) 2019-06-10 2023-03-07 Fisher-Rosemount Systems, Inc. Ease of node switchovers in process control systems
GB2624788A (en) 2019-06-10 2024-05-29 Fisher Rosemount Systems Inc Virtualized real-time I/O in process control systems
GB2625653A (en) 2019-06-10 2024-06-26 Fisher Rosemount Systems Inc Automatic load balancing and performance leveling of virtual nodes running real-time control in process control systems
US11231701B2 (en) 2019-06-10 2022-01-25 Fisher-Rosemount Systems, Inc. Publish/subscribe protocol for real-time process control
GB2621485A (en) 2019-06-10 2024-02-14 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
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 ブラザー工業株式会社 インストールパッケージ生成プログラム及びインストーラ
JP2021057773A (ja) 2019-09-30 2021-04-08 ブラザー工業株式会社 中継処理プログラム、端末管理処理プログラム、中継装置、端末管理装置及び端末管理システム
JP7434789B2 (ja) 2019-09-30 2024-02-21 ブラザー工業株式会社 端末管理システム
CN114556280A (zh) * 2019-10-10 2022-05-27 沃特世科技爱尔兰有限公司 用于分析服务平台的应用程序的应用集线器
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
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
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
JP2021111846A (ja) 2020-01-08 2021-08-02 ブラザー工業株式会社 端末管理処理プログラム、端末管理装置及び端末管理システム
JP7456160B2 (ja) 2020-01-08 2024-03-27 ブラザー工業株式会社 仲介プログラム、管理プログラム及びデバイス管理システム
JP7384039B2 (ja) 2020-01-08 2023-11-21 ブラザー工業株式会社 端末管理処理プログラム、端末管理装置及び端末管理システム
US11218293B2 (en) 2020-01-27 2022-01-04 Hewlett Packard Enterprise Development Lp Secure parameter merging using homomorphic encryption for swarm learning
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
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
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 北京航空航天大学 广域虚拟数据空间账户动态映射机制与数据安全管控方法
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
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
CN111859139A (zh) * 2020-07-27 2020-10-30 中国工商银行股份有限公司 应用程序推荐方法、装置、计算设备和介质
EP4200773A1 (en) 2020-08-18 2023-06-28 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
US11829493B2 (en) * 2020-10-27 2023-11-28 Dell Products L.P. Device access control system
US11537705B2 (en) * 2020-10-27 2022-12-27 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
US20220191211A1 (en) * 2020-12-15 2022-06-16 ClearVector, Inc. Computer-implemented methods, systems comprising computer-readable media, and electronic devices for resource preservation and intervention 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
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
AU2022202863A1 (en) 2021-04-30 2022-11-17 People Center, Inc. Improved Management of Computing Devices Via Reference to Linked 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
US20230171241A1 (en) * 2021-11-30 2023-06-01 Bmc Software Israel Ltd Security profile management for multi-cloud agent registration with multi-tenant, multi-cell service
CN114356958A (zh) * 2021-12-06 2022-04-15 山东有人物联网股份有限公司 设备数据查询方法、装置、服务器及计算机可读存储介质
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
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
WO2024118245A1 (en) * 2022-12-01 2024-06-06 Productiv, Inc. Saas application recommendation, approval, and fulfillment in a saas management platform
US11695825B1 (en) * 2022-12-01 2023-07-04 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 어플리케이션 통합 관리 시스템 및 방법

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1354847A (zh) * 1999-04-09 2002-06-19 亨利·B·史蒂恩三世 远程数据访问和系统控制
CA2452730A1 (en) * 2001-07-06 2003-01-16 Computer Associates Think, Inc. Business process policy object
US20050125509A1 (en) * 2003-12-04 2005-06-09 International Business Machines Corporation On-demand active role-based software provisioning
CN101291486A (zh) * 2006-10-19 2008-10-22 捷讯研究有限公司 自动通知多个通信节点的方法、系统及装置
CN101383728A (zh) * 2007-09-06 2009-03-11 佳能株式会社 网络设备、网络设备管理方法以及网络设备管理系统
CN102571972A (zh) * 2011-01-25 2012-07-11 微软公司 从外部企业网络进行站点知晓的分布式文件系统访问
US8364642B1 (en) * 2010-07-07 2013-01-29 Palantir Technologies, Inc. Managing disconnected investigations
US20130031234A1 (en) * 2010-04-01 2013-01-31 Research In Motion Limited Methods and apparatus to collaboratively manage a client using multiple servers
US20140007084A1 (en) * 2011-07-06 2014-01-02 Yang Ding Method and system for synchronizing application programs across devices

Family Cites Families (130)

* 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
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
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
CA2472887A1 (en) * 2003-06-30 2004-12-30 Gravic, Inc. Methods for ensuring referential integrity in multithreaded replication engines
US7448080B2 (en) * 2003-06-30 2008-11-04 Nokia, Inc. Method for implementing secure corporate communication
GB2408415B (en) 2003-11-19 2008-04-09 Vodafone Plc Networks
US7711796B2 (en) 2006-06-12 2010-05-04 Icontrol Networks, Inc. Gateway registry methods and systems
US7894458B2 (en) 2004-04-28 2011-02-22 Beijing Jiaxun Feihong Electrical Co., Ltd. System and communication method of IP telecommunication network and its 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
EP1920393A2 (en) 2005-07-22 2008-05-14 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
US7949684B2 (en) 2005-09-09 2011-05-24 Salesforce.Com, Inc. Systems and methods for exporting, publishing, browsing and installing on-demand applications in a multi-tenant database environment
WO2007035918A2 (en) * 2005-09-21 2007-03-29 Qwikker, Inc. Device-aware content delivery
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
WO2008060320A2 (en) 2006-03-30 2008-05-22 Major Gadget Software, Inc. 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
US8761895B2 (en) 2008-03-20 2014-06-24 Greatbatch Ltd. RF activated AIMD telemetry transceiver
US8856289B2 (en) 2006-12-29 2014-10-07 Prodea Systems, Inc. Subscription management of applications and services provided through user premises gateway devices
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
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
US20090300714A1 (en) 2008-05-27 2009-12-03 Open Invention Network Llc Privacy engine 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 삼성전자주식회사 원격 유저 인터페이스 서비스에서 리소스에 대한 제어 방법, 장치 및 그 저장 매체
JP2010128824A (ja) * 2008-11-27 2010-06-10 Hitachi Software Eng Co Ltd ポリシーグループ識別子を利用したクライアント制御システム
US8650290B2 (en) 2008-12-19 2014-02-11 Openpeak Inc. Portable computing device and method of operation of same
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
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程序权限复用的系统及生成和访问此程序的方法
WO2011023228A1 (en) 2009-08-27 2011-03-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
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
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
CN103609059B (zh) 2010-09-20 2016-08-17 安全第一公司 用于安全数据共享的系统和方法
JP5574905B2 (ja) * 2010-10-08 2014-08-20 株式会社野村総合研究所 モジュール配布システム
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
EP2663954B1 (en) 2011-01-10 2019-05-01 International Business Machines Corporation System and method for extending cloud services into the customer premise
KR101885133B1 (ko) * 2011-02-01 2018-08-03 삼성전자주식회사 디지털 디바이스에서 어플리케이션 자동 인스톨 기능을 제공하기 위한 장치 및 방법
EP2676497B1 (en) 2011-02-15 2018-04-18 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
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
US9043480B2 (en) 2011-10-11 2015-05-26 Citrix Systems, Inc. Policy-based application management
US9143530B2 (en) * 2011-10-11 2015-09-22 Citrix Systems, Inc. Secure container for protecting enterprise data on a mobile device
US20140032733A1 (en) 2011-10-11 2014-01-30 Citrix Systems, Inc. Policy-Based Application Management
AU2012328446A1 (en) 2011-10-29 2014-06-19 Sweet Spot Inc. System and method for location-based, interactive consumer engagement platform
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
WO2013142849A1 (en) 2012-03-23 2013-09-26 Clu Acquisition Llc 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
US9087191B2 (en) * 2012-08-24 2015-07-21 Vmware, Inc. Method and system for facilitating isolated workspace for applications
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
CN108600251B (zh) 2012-09-18 2021-09-17 思杰系统有限公司 移动设备管理和安全
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
CN104838324B (zh) * 2012-10-08 2017-09-12 费希尔-罗斯蒙特系统公司 动态可重用类
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 王玉娇 一种应用程序的分发方法及其终端
CN103703741B (zh) * 2012-11-22 2018-06-05 华为技术有限公司 应用程序分发方法、终端及服务器
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
US9369449B2 (en) * 2013-03-29 2016-06-14 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
EP3127008B1 (en) * 2014-03-31 2020-06-03 Oracle International Corporation Infrastructure for synchronization of mobile device with mobile cloud service
CN107077077B (zh) 2014-09-22 2019-03-12 Asml荷兰有限公司 过程窗口识别符
US9692748B2 (en) 2014-09-24 2017-06-27 Oracle International Corporation Unified provisioning of applications on devices in an enterprise system
WO2016046415A1 (en) 2014-09-26 2016-03-31 Dreica Ag An apparatus for lifting and holding a human limb
CA2973192C (en) 2015-01-09 2023-04-04 Axonics Modulation Technologies, Inc. Improved antenna and methods of use for an implantable nerve stimulator
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 (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1354847A (zh) * 1999-04-09 2002-06-19 亨利·B·史蒂恩三世 远程数据访问和系统控制
CA2452730A1 (en) * 2001-07-06 2003-01-16 Computer Associates Think, Inc. Business process policy object
US20050125509A1 (en) * 2003-12-04 2005-06-09 International Business Machines Corporation On-demand active role-based software provisioning
CN101291486A (zh) * 2006-10-19 2008-10-22 捷讯研究有限公司 自动通知多个通信节点的方法、系统及装置
CN101383728A (zh) * 2007-09-06 2009-03-11 佳能株式会社 网络设备、网络设备管理方法以及网络设备管理系统
US20130031234A1 (en) * 2010-04-01 2013-01-31 Research In Motion Limited Methods and apparatus to collaboratively manage a client using multiple servers
US8364642B1 (en) * 2010-07-07 2013-01-29 Palantir Technologies, Inc. Managing disconnected investigations
CN102571972A (zh) * 2011-01-25 2012-07-11 微软公司 从外部企业网络进行站点知晓的分布式文件系统访问
US20140007084A1 (en) * 2011-07-06 2014-01-02 Yang Ding Method and system for synchronizing application programs across devices

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
DAVID VILLA等: "A_dynamically_reconfigurable_architecture_for_smart_grids", 《HTTPS://IEEEXPLORE.IEEE.ORG/DOCUMENT/5955174》 *
李国东等: "移动计算环境中应用程序感知适应性的设计", 《南京大学学报(自然科学版)》 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110225050A (zh) * 2019-06-20 2019-09-10 四川长虹电器股份有限公司 Jwt令牌的管理方法

Also Published As

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

Similar Documents

Publication Publication Date Title
CN106605210B (zh) 为企业系统中的设备管理改变事件
JP7228668B2 (ja) インターネットクラウドでホストされる自然言語による対話型メッセージングシステムサーバ連携
CN105900396B (zh) 移动云服务体系架构
US10778542B2 (en) Rule based subscription cloning
US10142174B2 (en) Service deployment infrastructure request provisioning
CN107690623B (zh) 自动异常检测和解决系统
CN109478266A (zh) 对于数据库供应的资源分配
CN109155749A (zh) 互联网云托管的自然语言交互式消息传送系统会话器
CN106664321A (zh) 基于放置策略的计算资源分配
CN109076010A (zh) 互联网云托管的自然语言交互式消息传送系统用户解析器
CN107924411A (zh) 事务系统中ui状态的恢复
US10229122B2 (en) Extensible customization migration via pluggable interface
CN106462577A (zh) 用于移动设备和移动云服务的同步的基础设施
CN106576114A (zh) 基于策略的资源管理和分配系统
CN107533680A (zh) 代理指派的多维方法
EP3245781A1 (en) Recommended roster based on customer relationship management data
CN105637842B (zh) 用于网络通信环境中的中介的可靠消息传送的方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant