CN104520821A - 动态目录控制 - Google Patents
动态目录控制 Download PDFInfo
- Publication number
- CN104520821A CN104520821A CN201380026034.1A CN201380026034A CN104520821A CN 104520821 A CN104520821 A CN 104520821A CN 201380026034 A CN201380026034 A CN 201380026034A CN 104520821 A CN104520821 A CN 104520821A
- Authority
- CN
- China
- Prior art keywords
- control
- directory
- database
- application
- response
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/45—Network directories; Name-to-address mapping
- H04L61/4505—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
- H04L61/4523—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using lightweight directory access protocol [LDAP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/252—Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computational Linguistics (AREA)
- Storage Device Security (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Stored Programmes (AREA)
Abstract
介绍了用于通过例如登记控制来扩展目录处理器的能力的系统和方法。该控制可以是非本地控制或者是对本地控制的修改。进一步地,本公开描述了用于执行目录操作的系统和方法的实施例,该目录操作可包括一个或多个控制。该一个或多个控制中的至少一些可以是非本地控制或者动态控制。在一些情况下,该控制中的一些可以是本地控制。
Description
相关申请
本公开要求于2012年3月29日递交的名为“DYNAMIC DIRECTORYCONTROLS”的美国临时申请号61/617,471的优先权,其公开的全部内容以引用的方式明确结合于此。本公开也要求于2012年12月20日递交的名为“DYNAMIC DIRECTORY CONTROL EXECUTION”的美国专利申请号13/721769的优先权,其公开的全部内容以引用的方式明确结合于此。此外,本公开要求于2012年12月20日递交的名为“DYNAMIC DIRECTORYCONTROL REGISTRATION”的美国专利申请号13/721811的优先权,其公开的全部内容以引用的方式明确结合于此。
技术领域
本公开涉及目录(directories)的领域,特别地,本公开涉及动态目录控制的登记和使用。
背景技术
许多现代应用被设计为用于和大量数据一起工作。通常该数据可包括大量的形式类似但内容不同的数据条目。例如,公司地址簿可能包括成千的条目,每个条目包括姓名、地址、电话号码和电邮地址。在许多情况下,该数据被作为目录存储。
帮助管理目录的应用已经被开发出来。许多目录和相关的应用都是基于协议集(诸如X.500协议或者轻量目录存取协议(LDAP)的。这些协议可能包括作为协议定义的一部分的目录操作集。例如,协议可指定用于更新目录中的数据的命令集。
发明内容
本公开描述了用于通过例如登记控制来扩展目录处理器的能力的系统和方法的实施例。该控制可以是非本地控制,或者是对本地控制的修改。进一步地,本公开描述了用于执行目录操作的系统和方法的实施例,其可包括一个或多个控制。该一个或多个控制中的至少一些可以是非本地或者动态控制。在一些情况下,该控制中的一些可以是本地控制。
在一些实施方式中,用于执行目录操作的方法可由包括一个或多个处理器的计算系统来执行。该方法可包括系统在目录处理器处接收包括控制的目录操作。该系统能确定该控制是否为已登记的控制。响应于确定该控制是已登记的控制,该系统可标识被配置成处理该控制的目录应用。该系统可将该控制提供给目录应用来进行处理,从而使得目录操作包括所述目录处理器本被本地配置执行的一个或多个控制。进一步地,该系统能执行该目录操作。
在某些实施方式中,响应于确定该控制是已登记的控制,系统将该控制从目录操作中移除。在一些情况下,在执行目录操作前该控制从目录操作中被移除。在某些实施方式中,响应于确定该控制是已登记的控制,系统修改目录操作的控制。
在一些实施方式中,响应于向目录应用提供该控制,系统可从该目录应用接收响应。然后,系统可基于接收到的响应执行目录操作。在一些情况下,该响应可包括经修改的目录操作。在一些情况下,执行目录操作可包括执行经修改的目录操作。
在一些实施方式中,响应于确定该控制为本地控制,系统执行与该本地控制相关联的操作。然后,系统能在不从该目录中移除该控制的情况下执行该目录操作。在一些情况下,该系统可基于该控制执行目录操作。
对于某些实施方式,系统向目录应用提供处理目录操作的结果,从而使得该目录应用能够基于处理目录操作的结果处理该控制。
在一些实施方式中,响应于确定该控制是已登记的控制,系统执行与目录操作相关联的第一过程以获取第一目录操作结果。系统可将该第一目录操作结果提供给目录应用,从而使得目录应用能够将该第一目录操作结果用于处理该控制。进一步地,系统能从目录应用接收控制结果。然后,系统可基于该控制结果执行与该目录操作相关联的第二过程,以获取第二目录操作结果。
在一些实施方式中,用于扩展目录处理器的能力的方法可由包括一个或多个处理器的计算系统执行。该方法可包括系统接收控制定义。系统可存取与该控制定义相关联的控制标识符。进一步地,系统可确定该控制标识符是否存在于与目录处理器相关联的控制数据库中。响应于确定该控制标识符不存在于该控制数据库中,系统可向该控制数据库登记该控制定义。
在一些实施方式中,向该控制数据库登记该控制定义包括系统将该控制标识符添加至该目录处理器。在一些情况下,向该控制数据库登记该控制定义包括存取与该目录处理器相关联的应用程序接口(API)。
在一些实施方式中,系统标识与该控制定义相关联的目录应用。然后,系统能向该控制数据库登记该目录应用,其中该目录应用在该控制数据库处与该控制定义相关联。
在一些变形中,响应于确定该控制标识符存在于该控制数据库中,系统确定该控制定义的提供者是否被授权修改现有控制定义。响应于确定该提供者被授权修改现有控制定义,系统基于接收到的控制定义修改现有控制定义。修改现有控制定义包括系统用接收到的控制定义替换现有控制定义。
在一些实施方式中,控制数据库被配置成存储与非本地控制相关联的控制定义。进一步地,确定该控制标识符是否存在于该控制数据库中包括系统确定该控制标识符是否存在于本地控制数据库中。该本地控制数据库能被配置成存储本地控制的特性。
在一些情况下,向该控制数据库登记该控制定义包括在与该控制定义相关联的操作被执行时,系统进行登记。
附图说明
在附图中重复使用的参考标记用于指示参考元素之间的对应关系。提供附图以举例说明本文所描述的发明主题的实施方式,但其不用于限定本发明的范围。
图1示出了根据本公开的一些实施方式的目录服务环境的实施例。
图2显示了根据本公开的一些实施方式的控制登记过程的实施例的流程图。
图3显示了根据本公开的一些实施方式的用于执行目录操作的过程的实施例的流程图。
图4显示了根据本公开的一些实施方式的在用于执行目录操作的过程的执行期间目录服务环境的操作的示例流程图。
具体实施方式
概述
目录的使用提供了一种将大量数据分类和提供对大量数据的存取的方法。虽然目录不限于大量数据,但目录使得数据能够以便于对大量数据条目或记录进行管理和存取的结构被组织和排序。一种传统的目录示例是电话目录。今天,电子目录或者在一个或多个计算机系统上实施的目录已普遍用于组织数据。电子目录的一些示例包括电子电话簿、地址簿、电邮系统和文件组织系统。除非另有说明,否则本文使用的术语“目录”用于指电子目录。
多个目录存取协议能用于实施目录和提供对目录的存取。例如,一些目录是基于X.500协议的。而且,多个这样的基于X.500的协议提供在目录中的条目的层次组织。
一些目录存取协议,就算其是可扩展的,也不易于扩展。因此,一些目录存取协议受限于协议所定义的或者包括在协议中的操作或者目录操作。
一种用于扩展操作的功能的方法是通过对控制的使用。存取协议信息可以包括目录操作和控制。该控制能使得对操作的执行进行修改。为了简化讨论,存取协议信息一般被描述为涉及单个目录操作,并且该目录操作一般被描述为包括单个控制。然而,本公开不限于单个目录操作或控制。本领域的技术人员应当理解存取协议信息能包括一个或多个目录操作。进一步地,本领域的技术人员应当理解目录操作可包括一个或多个控制,或者与一个或多个控制相关联。
在一些情况下,控制的选择受限于由目录实施的协议所指定的控制。例如,实施轻量目录存取协议(LDAP)的目录能处理控制以扩展操作功能。这些控制和操作可被包括作为LDAP信息的一部分。然而,LDAP通常不支持动态添加新的服务器控制。进一步地,LDAP通常不允许任意信息被包括在LDAP操作中,从而限制了针对扩展LDAP操作功能的选项。
本文描述了通过使用动态控制使得目录系统的功能能够被扩展的系统和相关的过程。这些动态控制可包括可以是应用专用的和/或可能未被包括在目录的初始实施中的控制。例如,动态控制可在目录被实施后创建。在这种情况下,配置成存取该目录的目录处理器可能不能够处理该控制。在一些实施方式中,现有控制可被用新的控制定义替换或修改。现有控制一般包括非本地控制或者动态控制。然而,在一些情况下,现有控制可包括本地控制。进一步地,在一些情况下,现有控制可被移除或注销。或者,在一些情况下,现有控制可被空控制替换或者被配置成使得无动作被执行从而实际上移除该控制的控制所替换。
目录服务环境的实施例
图1示出了根据本公开的一些实施方式的目录服务环境100的实施例。目录服务环境100包括目录服务系统104。可使用任意类型的计算系统实施目录服务系统104。例如,可使用服务器、多个网络型服务器或者配置软件以充当服务器的客户端计算系统来实施目录服务系统104。进一步地,目录服务系统104可包括一个或多个数据库系统或者资料库(repositories)。
而且,目录服务系统104可被配置成提供目录服务,该目录服务包括但不限于分布式目录服务。通常,目录服务可提供对记录集的存取。可以按照诸如层次结构的专用结构来组织这些记录。目录服务的一些非限制性实施例包括电子邮件目录(例如公司电邮目录)、电话目录(例如电子的公司地址簿)和诸如客户关系管理(CRM)系统可使用的客户目录。
进一步地,该记录可存储在目录114中。目录114可包括数据库、资料库、物理存储介质或者被配置成存储该记录的其他存储系统。虽然被描述为目录服务系统104的一部分,但是在一些实施方式中,目录114可以作为单独的系统被实施或者在单独的存储设备上被实施。
目录服务系统104可被配置成使用多个不同的协议来通过网络140存取和维护目录服务。例如,目录服务系统104可被配置成使用目录存取协议(DAP)、LDAP应用协议或者任意其他类型的基于X.500的协议,来使得客户端102能够通过网络140存取目录114。进一步地,在一些情况下,目录服务系统104可被配置成使用基于非X.500的协议。
如在图1中所示,目录服务系统104可包括多个附加系统,该多个附加系统中的一些可使得便于存取目录114。例如,可以以软件或者软件和硬件结合的形式实施的目录处理器106能包括用于处理与目录114相关联的操作或者目录操作(例如,目录操作130)的任意系统。目录操作可包括与目录114的交互有关的任何类型的命令。例如,仅举几例,这些目录操作可包括用于修改目录114(例如,添加、删除或者修改目录114中的条目)的命令、用于存取目录114(例如在目录114中搜索条目或者比较条目的属性)的命令以及与目录114的通信有关的命令(例如,指定LDAP协议版本的绑定命令)。在一些实施中,目录操作130可以是LDAP操作。
进一步地,目录处理器106也可处理控制(例如,控制132),该控制可被包括在目录操作130中。该控制能包括和应该如何处理该操作有关的信息并且能用于扩展该操作。例如,排序控制可和搜索操作一起提供,以使得根据在该控制中标识的属性对搜索操作的结果进行排序。在一些实施方式中,控制132可以是LDAP控制。
在一些实施方式中,操作可包括多个控制。进一步地,虽然本说明书中的许多内容集中于作为目录操作130的一部分的由客户端102提供给目录服务系统104的控制(例如,LDAP请求控制),但是在一些情况下,包括在目录服务系统104中的控制作为对操作的响应的一部分(例如,LDAP响应控制)供应给客户端102也是可能的。例如,响应于用户的初始操作,目录服务系统104可使得控制被发送回给与该用户相关联的客户端102,以指示该用户的密码必须在任意操作完成之前被改变。
控制可包括多个元素,该多个元素标识该控制并且指定该控制的操作。例如,如在图1中的控制132所示,控制能包括标识符、与该控制相关联的数据和关键标签。该标识符能包括用于标识该控制的任意类型的标识符,该标识符包括例如对象标识符(OID)。基于该标识符,延伸运行时模块(extension runtime module)110能确定该控制是否被存储在登记控制资料库112中的或者其标识符被存储在登记控制资料库112中的已登记的控制。已登记的控制一般可以包括在初始开发或制造时未预配置目录服务系统104或目录处理器106执行的非本地控制。因此,在一些情况下,已登记的控制可以是售后控制。类似地,目录处理器106能确定该控制是否存储在本地服务器控制资料库108中的本地控制,或者其标识符被存储在本地服务器控制资料库108中的本地控制。
数据可包括可用于指定如何处理该控制132和/或包括该控制132的操作130的任何类型的数据。关键标签可指定控制132是否关键的。在一些实施方式中,关键控制是必须由接收该控制的系统(例如,目录处理器106)处理的控制。如果该系统不能处理该控制,则包括该控制的操作被拒绝。如果该控制不是关键的,或者非紧急的,则无论系统是否能标识或者处理包括在该操作中的该控制,系统会继续处理包括该控制的该操作。
客户端102可向目录服务系统104提供具有或不具有控制132的目录操作130。从目录操作130引出的虚线表示目录操作130通过在客户端102和网络140间建立的通信信道被提供。然而,目录操作130的通信不限于此。目录操作130可经由使用任意类型的通信协议的任意类型的有线或者无线网络(例如,网络140)被提供。进一步地,在一些实施方式中,目录操作130可经由客户端102和目录服务系统104之间的直接通信连接被传输。
在某些实施方式中,目录处理器106包括本地服务器控制资料库108。本地服务器控制资料库108可包括能存储可标识目录处理器106所支持的控制的列表或其他数据结构的任何系统。这些支持的控制,或者本地控制,可包括目录处理器106的开发者和制造商设计目录处理器106支持的控制。进一步地,本地控制可以是为诸如LDAP协议的目录存取协议的一部分的控制。用于存储所支持的控制的特性的系统可以是基于硬件(例如,存储设备)的、基于软件(例如,数据库)的或者这二者的结合的。
目录处理器106还可包括延伸运行时模块110。该延伸运行时模块110一般可以包括被配置成标识已向延伸运行时模块110登记的控制的任意模块。这些已登记的控制的特性可存储在登记控制资料库112中。可使用任意将软件模块添加到现有的软件系统中的过程来将延伸运行时模块110添加到目录处理器106中。例如,可使用公司的Detours将延伸运行时模块110添加到目录处理器106。
在一些实施方式中,目录处理器106可包括使得用户或者应用能够将延伸运行时模块110添加到目录处理器106的一组工具。或者,目录处理器106可包括使得延伸运行时模块110能够与目录处理器106交互或者通信而无需被添加到目录处理器106中的一组工具。可使得该组工具作为应用程序接口(API)、库或者其他使得应用能够与目录处理器106交互的系统的一部分使用。进一步地,在一些情况下,该工具可以是使得用户能够与目录处理器106交互的暴露接口的一部分,诸如命令行接口(CLI)或者图形用户接口(GUI)。在一些实施方式中,API或者其他工具组可被包括以代替延伸运行时模块110或在延伸运行时模块110之外加入。
在一些实施方式中,控制登记系统118可将延伸运行时模块110添加到目录处理器106中。进一步地,控制登记系统118可被配置成向延伸运行时模块110提供将要向延伸运行时模块110登记的控制或者控制的特性。这些控制,或其特性,随后可存储在登记控制资料库112中。控制登记系统118可包括服务器控制资料库120,服务器控制资料库120能存储将要被添加到目录处理器106中的控制模板或者控制的副本,或者被延伸运行时模块110标识的控制的特性。进一步地,在一些情况下,服务器控制资料库120可包括存储在本地服务器控制资料库108中的本地控制的特性。
在一些实施方式中,控制登记系统118可被配置成确定将要向延伸运行时模块110登记的控制是否在之前已登记,或者是否与之前已登记的控制共享标识符。如果是的话,控制登记系统118可以拒绝或阻止该控制被登记或者被重新登记。或者,控制登记系统118可使得之前已登记的控制能够被重写。
在一些实施方式中,延伸运行时模块110能向与由延伸运行时模块110标识的控制相关联的目录应用116提供操作和控制中的一个或多个。通常,已登记的控制,或者在登记控制资料库112中标识的控制,不同于在本地服务器控制资料库108中标识的控制。然而,在一些实施方式中,登记控制资料库112和本地服务器控制资料库108所标识的控制存在一些重叠。例如,想要改动本地控制的功能的用户(例如,管理员)可创建具有与本地控制相同的标识符的新控制。该用户随后能使得控制登记系统118能够向延伸运行时模块110的登记控制资料库112登记该新控制。
目录服务系统104可包括任意数量的目录应用116。这些目录应用116可以包括被设计为存取目录114的任意类型的应用。进一步地,目录应用116包括被设计为执行或者实行延伸运行时模块110所登记的一个或多个控制的任意应用。因此,在一些情况下,目录应用116能被配置成处理由目录应用116或者用户(例如,管理员)生成的目录处理器106所登记的控制。
例如,目录应用116可被配置成处理批准控制以确定操作是否应当由目录处理器106执行,该批准控制用于分析批准信息(例如,用户标识、用户认证信息、用户许可等)。然后目录应用116能基于对该批准信息的分析来允许或者阻止该操作的执行。
作为第二示例,目录应用116可被配置成处理关键对象控制(criticalobject control),该关键对象控制用于确定正在请求对被指定为关键的目录114中的对象或者条目的修改是否包括安全令牌。然后目录应用116能根据安全令牌是否存在来允许或阻止该操作的执行。
在第三示例中,目录应用116可被配置成基于动态添加至目录处理器106的用户定义控制来执行应用专用审计。有利地,在某些实施方式中,通过使得用户能够定义控制,用户能创建应用专用审计过程,该应用专用审计过程可不同于可作为或不作为目录处理器106使用的目录存取协议的一部分存在的审计控制过程,或对其进行扩展。
网络140能包括任意类型的有线或无线网络。例如,仅举几例,网络140包括LAN、WAN、蜂窝网络、因特网和其结合。
客户端102可包括能通过例如向目录服务系统104提供目录操作130来与目录服务系统104交互的任意类型的计算设备。例如,客户端102包括笔记本电脑、台式机、平板电脑、移动通信设备(例如,智能机)等。客户端102可与目录服务系统104直接通信或者经由网络140与其通信。
控制登记过程的示例
图2显示了根据本公开的一些实施方式的控制登记过程200的实施例的流程图。过程200可以由能向目录处理器106登记控制的任意系统实施。例如过程200的全部或部分可以由控制登记系统118或者目录应用116实施,目录应用116可包括或不包括控制登记系统118。虽然任意数量的系统能实施过程200的全部或部分,但为了简化讨论,过程200被描述为通常由控制登记系统118实施。
过程200在块202处开始,例如,在块202处控制登记系统118接收对登记控制的请求。通常,该控制包括不是本地的或者由目录服务系统104、目录处理器106和/或目录114实施的目录存取协议(例如,LDAP)定义的任意类型的控制。可从客户端102、目录应用116、与控制登记系统118交互的用户或者能生成控制登记请求的任意其他系统或应用接收对登记该控制的请求。
在块204处,控制登记系统118能存取与该控制相关联的标识符。该标识符可包括OID或者可用来唯一地标识控制的任意其他类型的标识符。在决策块206处,控制登记系统118确定是否存在之前已登记的与该标识符相关联的控制。控制登记系统118可通过存取服务器控制资料库120进行该确定,服务器控制资料库120可包括之前已登记的控制的特性。在一些情况下,服务器控制资料库120也可包括目录服务系统104、目录处理器106和/或目录114被配置成支持的本地控制的特性。
如果控制登记系统118在决策块206处确定该控制或者与相同的标识符相关联的其他控制在之前已登记,或者在一些情况下,其作为本地控制存在,则在决策块207处控制登记系统118确定请求者(例如,在块202处提供请求的用户或应用)是否具有替换之前已登记的控制的许可。在一些情况下,决策块207包括确定请求者是否具有替换本地控制的许可。如果请求者不具有替换控制的许可,在块208处控制登记系统118拒绝该登记请求。拒绝该登记请求可以包括向在块202处向控制登记系统118提供该登记请求或者发起该登记请求的用户或系统提供信息、警告或者其他响应。在一些实施方式中,块207是可选的。因此,在一些实施方式中,如果存在之前已登记的与该标识符相关联的控制,则在块208处控制登记系统118拒绝该登记请求,而不考虑请求者的许可。
如果控制登记系统118在块206处确定之前已登记的与相同的标识符相关联的控制不存在,或者未被登记,则控制登记系统118在块210处登记该控制。类似地,如果控制登记系统118在决策块207处确定请求者具有替换之前已登记的控制或者本地控制的许可,则控制登记系统118在块210处登记该控制。登记该控制包括将该控制、与该控制相关联的模板和/或该控制的特性存储在服务器控制资料库120处。进一步地,登记该控制可以包括标识一个或多个目录应用116,该一个或多个目录应用116能够处理该控制并且将该一个或多个应用116的特性存储在服务器控制资料库120处。
在块212处,控制登记系统118将该控制添加至目录处理器106。添加该控制包括将该控制的副本、与该控制相关联的模板和/或该控制的标识符(例如,OID)添加至目录处理器106和/或延伸运行时模块110。进一步地,添加该控制可以包括将该控制的副本、与该控制相关联的模板以及该控制的标识符中的一个或多个存储在登记控制资料库112处。此外,添加该控制可以包括添加能够处理该控制的一个或多个应用116的特性。该一个或多个应用116的特性能被存储在登记控制资料库112处。在某些情况下,延伸运行时模块110可确定应用116中的哪个用于处理被添加的控制。在一些情况下,该控制可指定应用116中的哪个用于处理被添加的控制。
在一些实施方式中,过程200可被修改以使得控制能够被注销。例如,块202可包括接收对注销该控制的请求。然后该控制的标识符可在块204处被标识。在决策块206处,控制登记系统118能确定该控制是否之前已登记或者该控制是否未被登记。如果该控制未被登记,或者不是之前已登记的,则拒绝对注销该控制的请求。或者,在一些情况下,由于缺少对注销的控制,该请求可被标识为已完成或者非必要。如果该控制是之前已登记的,控制登记系统118可以从服务器控制资料库120中注销或者移除该控制的特性、该控制和/或该控制模板。进一步地,控制登记系统118能使得延伸运行时模块110从登记控制资料库112中移除该控制的特性、该控制和/或该控制模板。
在一些实施方式中,注销该控制包括确定该控制是否本地控制或被用户或者应用登记的控制。如果该控制是本地控制,则拒绝对注销该控制的请求。如果该控制不是本地控制,则控制登记系统118能继续进行注销该控制的过程。
在一些情况下,过程200可用于用新控制替换或者更新之前已登记的控制。在该实施方式中,块206、207和208是可选的。在这样的实施方式中,块206、207和208是可选的。在一些实施方式中,如果控制登记系统118在决策块206处确定存在之前已登记的与该标识符相关联的控制,则控制登记系统118不拒绝该登记请求,而是用与该新的或者更新的控制相关联的信息替换与之前已登记的控制相关联的信息。例如,控制登记系统118可以用与新的或者更新的控制相关联的控制模板替换与之前已登记的控制相关联的控制模板。
在一些实施方式中,过程200可用于更新或替换除动态或者已登记的控制之外的本地控制。在一些这样的实施方式中,过程200可包括通知用户已登记的控制和本地控制共享一个标识符。然后用户确认是否替换该本地控制。在某些实施方式中,替换本地控制可包括针对试图修改或替换本地控制的用户和/或应用对用户进行认证,确认用户的存取许可和/或确认应用的存取许可。例如,在一些情况下,替换本地控制可能仅限于管理员或者其他被授权的人员。
在一些实施方式中,过程200可用以移除或者禁用本地控制。在一些情况下,为了安全,本地控制可被禁用或者移除,以限制可使用的控制。在一些实施方式中,包括已被移除或者禁用的本地控制的目录操作可被修改,以从该目录操作中移除该本地控制。或者,包括禁用的本地控制的目录操作可被拒绝。
执行目录操作的过程的示例
图3显示了根据本公开的一些实施方式的用于执行目录操作的过程300的实施例的流程图。过程300由能执行或实行与目录相关联的控制的任意系统实施。例如,过程300的全部或部分能由目录服务系统104、目录处理器106、延伸运行时模块110、目录114和目录应用116中的一个或多个实施。虽然任意数量的系统能实施过程300的全部或者部分,为了简化讨论,过程300将被描述为通常由目录服务系统104实施。
过程300在块302处开始,其中例如,目录服务系统104从客户端102接收目录操作130。在一些实施方式中,块302可包括向目录处理器106和延伸运行时模块110中的一个或多个提供目录操作130。
在决策块304处,使用例如延伸运行时模块110的目录服务系统104确定目录操作(例如,目录操作130)是否包括控制(例如,控制132)。如果延伸运行时模块110确定该目录操作不包括控制,使用例如目录处理器106的目录服务系统104在块306处执行或实行目录操作。
如果延伸运行时模块110确定该目录操作包括控制,延伸运行时模块在决策块308处确定该控制是否本地控制。确定该控制是否本地控制可以包括存取本地服务器控制资料库108,以确定与该控制相关联的标识符(例如,OID)是否被可以包括在本地服务器控制资料库106中。或者,或此外,确定该控制是否本地控制可以包括存取登记控制资料库112,以确定该标识符是否被存储在该资料库中。
如果延伸运行时模块110确定该控制是本地控制,使用例如目录处理器106的目录服务系统104在块306处执行或者实行该目录操作。在一些情况下,块306可包括执行与包括在该目录操作中的控制相关联的过程和/或基于该控制对该操作的执行进行修改。
如果延伸运行时模块110确定该控制不是本地控制,则延伸运行时模块110在决策块310处确定该控制是否已登记的控制。已登记的控制可以包括非本地的任意控制,或者非基于目录存取协议(例如,LDAP)被设计或被设计成用目录存取协议(例如,LDAP)操作的目录处理器106的操作中固有的任意控制。进一步地,已登记的控制包括已使用过程200向目录服务系统104或目录处理器106登记的任意控制。确定该控制是否已登记的控制包括存取登记控制资料库112,以确定与该控制相关联的标识符是否存储在该资料库中。
如果延伸运行时模块110确定该控制不是已登记的控制,则在决策块312处,延伸运行时模块110使得目录处理器106拒绝该目录操作。或者,在一些实施方式中,延伸运行时模块110可从该目录操作中去掉或移除该控制,并且随后转到块306,从而使得目录处理器106能够执行无该控制的目录操作。进一步地,在一些情况下,延伸运行时模块110可根据该控制是否与关键标签相关联或者与该控制相关联的关键标签是否指示该控制为关键,来确定使得目录操作被拒绝还是使得无该控制的目录操作被执行。
如果延伸运行时模块110确定该控制是已登记的控制,则在块314处该延伸运行时模块110确定何时执行与该已登记的控制相关联的过程。在一些实施方式中,块314是可选的。在块316处,目录服务系统104使用目录应用116执行与该已登记的控制相关联的过程。在一些情况下,在块316处,与该已登记的控制相关联的多个过程可被执行。执行与该已登记的控制相关联的过程可以包括向目录应用116提供该控制、该目录操作和/或与该控制或者该目录操作相关联的信息。进一步地,在一些情况下,执行与该已登记的控制相关联的过程可以包括从一组目录应用116中选择目录应用以基于包括在该目录操作中的该控制执行该过程。如下文的进一步描述,在一些实施方式中,块316可以是可选的或者可不被执行。进一步地,在一些实施方式中,可对一些已登记的控制执行块316,而对其他的不执行。
在决策块318处,使用例如延伸运行时模块110或者目录应用116的目录服务系统104确定与该已登记的控制相关联的过程的结果是否指示该目录操作被拒绝或者未被执行。如果是的话,在块312处该目录操作被拒绝。拒绝该操作可以包括使得与该过程的结果相关联的信息被提供给使得该目录操作被提供给目录服务系统104的用户或者应用,该过程与该控制相关联。进一步地,拒绝该操作可以包括使得与拒绝该目录操作相关联的信息被提供给使得该目录操作被提供给目录服务系统104的用户或者应用。在一些实施方式中,决策块318可以是可选的或者可不被执行。例如,如果在块314处的决定指示与该控制相关联的过程在该目录操作被实行或者执行之后才执行,则决策块318可不被执行。
如果与已登记的控制相关联的过程的结果不与拒绝该目录操作相关联,则在块320处延伸运行时模块110从该目录操作中去掉或者移除该控制。在一些实施方式中,块320可以是可选的。例如,如果该控制是本地控制,或者如果目录处理器106能够处理或者忽略已登记的控制,在块320处该控制可不从该目录操作中被移除。在块322处,使用例如目录处理器106的目录服务系统104使用该控制被移除的目录操作的实例在块322处执行或实行目录操作。在一些实施方式中,使用包括该控制的目录操作执行块322。在这样的实施方式中,目录处理器106可将该控制认作为不被认可的控制而将其忽略。在一些实施方式中,执行目录操作的过程可能依赖于在块316处执行的过程的结果。例如,如果目录操作是添加新条目操作,则在块316处执行的过程的结果可确定该新条目被添加在目录114中的哪个位置、在其被添加后移除或者修改该条目所需的安全许可或两者皆可。
在块324处,目录服务系统104使用目录应用116执行与已登记的控制相关联的过程。在一些实施方式中,以上所描述的关于块316的实施方式中的一些或者全部可应用于块324。进一步地,如块316一样,在一些实施方式中,块324可以是可选的或者可不被执行。在一些情况下,可对一些已登记的控制执行块324,而对其他的不执行。
在一些情况下,与已登记的控制相关联的过程可在块316处执行一部分并且在块324处执行一部分。例如,可在块316处发起该过程并且在块324处完成该过程。对于一些控制,块324是否被执行可取决于块322的结果。例如,基于在块322处执行的目录操作的结果,与块324相关联的过程可包括用于确认或者提交(commit)在块316处执行的过程的提交过程。类似的,基于在块322处执行的目录操作的结果,与块324相关联的过程可包括退回(roll back)或还原过程。
在一些情况下,基于在块314中的确定,与已登记的控制相关联的过程可在块316和块324两者之一处运行。因此,在一些实例中,块316和块324中的一者是可选的。例如,如果在块314处延伸运行时模块110确定与该控制相关联的过程将要在该目录操作之后被执行,则在完成了与块314相关联的过程后,过程300可转到块320。进一步地,在一些实例中,块316和块324中的一个或多个可以和块322并行执行。在块314是可选的或者不被执行的实施方式中,目录服务系统104可被配置成默认执行块316和块324中的一者。在一些实施方式中,块322可以是可选的。在另一些实施方式中,块322可在控制集被执行之后或者响应于包括提交命令的控制被执行。有利地,在某些实施方式中,在目录操作作为批处理的一部分被执行前,多个控制能被执行和/或多个目录操作可被排队。在一些情况下,执行作为批处理的目录操作能通过例如限制对目录资料库114的存取的数量来改善目录处理器106的性能。
在块326处,目录服务系统104向客户端102传输执行该目录操作的结果。在一些情况下,块326可包括传输执行与该控制相关联的过程的结果。进一步地,在一些实施方式中,块326可以是可选的。
图3示出了用于执行过程300的一种示例顺序。然而,过程300不限于在该图中示出的和如上所述的顺序。例如,在一些情况下,决策块310能与决策块308并行执行或者先于决策块308执行。有利地,在一些实施方式中,通过先于决策块308执行决策块310,过程300能使用已被实施的控制以通过使用和本地控制相同的控制标识符来覆盖或者重新定义本地控制。
在一些实施方式中,过程300不依赖于该控制是否本地控制或者已登记的控制。在这样的实施方式中,决策块308和决策块310可被合并为用于确定已登记的控制或本地控制是否与延伸运行时模块110所识别的标识符(例如,存储在登记控制资料库112或者本地服务器控制资料库108中的标识符)相关联的单个决策块。如果该控制未被延伸运行时模块110识别,过程300可转到块312并且拒绝相关的目录操作。或者,延伸运行时模块110可去掉该控制并且转到块306,在块306中该目录操作被执行。
目录服务环境的示例操作
图4示出了根据本公开的一些实施方式的在实行用于执行目录操作的过程300期间目录服务环境100的操作的示例流程图400。在图4中示出的示例流程图400中,客户端102可将具有控制的目录操作传输给目录服务系统104,目录服务系统104包括延伸运行时模块110、目录应用116和目录处理器106。在该示例流程图400中,包括在目录操作中的控制是非本地控制。本领域的技术人员应该认识到示例流程图400可被修改以处理本地控制。下面描述的示例流程图400涉及与图4中示出的圆圈中的数字相关联的“事件”。使用这些事件以便于对示例流程图400进行解释,并且这些事件不用于限制示例流程图400。例如,在一些情况下,事件可被分离为更多数量的独立过程、合并为更少数量的独立过程、或者并行执行。
示例流程图400在客户端102向目录服务系统104提供具有控制的目录操作的事件1处开始,其中该目录操作由延伸运行时模块110接收。在某些实施方式中,客户端102可能不知晓延伸运行时模块110。因此,在一些情况下,延伸运行时模块110可在具有控制的目录操作被目录服务系统104接收时将其拦截,而无论客户端102是否将该目录操作导向至延伸运行时模块110。
在事件2期间,延伸运行时模块110确定该控制是否已登记的控制。如果是的话,延伸运行时模块110向目录应用116提供具有控制的目录操作。然后,目录应用116在事件3处处理该控制。随后,处理该控制的结果可被提供给延伸运行时模块110。该结果包括关于对该控制的处理是成功或失败的指示。此外,或或者,该结果可指示是否继续进行对该目录操作的处理。在一些实施方式中,该目录应用116可在事件3处修改该目录操作和/或控制参数。然后,经修改的目录操作可在事件6期间被执行,将在下文中对其进行讨论。进一步地,经修改的控制可在事件8期间被处理,将在下文中对其进行讨论。在一些情况下,修改目录操作和/或控制可包括用新的目录操作和/或控制替换该目录操作和/或控制。然后,经修改的目录操作和/或控制可作为结果的一部分被提供给延伸运行时模块110。
如之前参考图3所描述的,在一些情况下,该控制可在目录操作之后被处理。在该情况下,事件3可能不发生。进一步地,在一些情况下,该控制的一部分可在事件3处被处理而一部分可在示例流程400中后面的点(例如,事件8)处被处理。
在事件4期间,延伸运行时模块110确定是否继续进行对目录操作和/或控制的处理。该确定可基于从事件3处的目录应用116接收到的结果,或基于在事件2处该控制是否被确定为已登记的控制。如果延伸运行时模块110确定不继续进行对该目录操作的处理,则在事件4处,延伸运行时模块110可使目录服务系统104报告处理目录操作和/或控制是成功或失败。该报告可包括用于指示处理目录操作和/或控制是成功或失败的原因的信息。如果延伸运行时模块110确定继续处理目录操作,延伸运行时模块110在事件5处从该目录操作中移除该控制。在该控制是本地控制的情况下,延伸运行时模块110可以从或不从该目录操作中移除该控制。
延伸运行时模块110向目录处理器106提供无该控制的目录操作,其在事件6处处理该目录操作。随后,目录处理器106可向延伸运行时模块110提供处理该目录操作的结果。该结果可包括关于该目录操作是否被成功完成或执行的指示。进一步地,该结果可包括与该目录操作相关联的任意数据。例如,如果该目录操作是搜索操作,该结果可包括通过执行该搜索操作而识别的数据。在一些情况下,延伸运行时模块110可不移除该控制(例如,当该控制是本地控制时)。在这种情况下,延伸运行时模块110可向目录处理器106提供具有该控制的目录操作。
与事件2类似,在事件7处,延伸运行时模块110确定该控制是否已登记的控制。如果是的话,延伸运行时模块110向目录应用116提供具有该控制的目录操作。在一些实施方式中,延伸运行时模块110也可将在事件6后接收到的处理该目录操作的结果和该目录操作一起提供给目录应用116。然后,目录应用116在事件8处处理该控制。在一些情况下,处理该控制可基于从延伸运行时模块110接收到的处理该目录操作的结果。随后,处理该控制的结果可被提供给延伸运行时模块110。该结果包括关于处理该控制是成功或失败的指示。
如之前参考图3所描述的,在一些情况下,该控制可在目录操作前被处理。在这样的情况下,事件8可能不发生。进一步地,在一些情况下,该控制的一部分可在事件8处被处理而一部分可在示例流程400的更早的点(例如,事件3)处被处理。
在一些实施方式中,延伸运行时模块110确定该控制将要何时被执行。在这样的实施方式中,延伸运行时模块110将在事件2处和在事件7处确定具有已登记的控制的目录操作是否应当被提供给目录应用116。或者,在一些实施方式中,目录应用116确定该控制何时被执行。在这样的实施方式中,延伸运行时模块110可在事件2处向目录应用116提供具有已登记的控制的目录操作。然后,目录应用116能确定是否在事件3处、事件8处或者部分地在事件3处和部分地在事件8处处理该控制。进一步地,在事件7处,延伸运行时模块110可向目录应用116提供具有已登记的控制的目录操作、关于该目录操作已被处理的指示和/或目录操作的结果。
在事件9处,延伸运行时模块110能提供执行该目录操作的结果。提供该结果可包括或不包括提供执行该控制的结果。
在一些情况中,延伸运行时模块110可根据在事件6处处理该目录操作之后由目录处理器106提供的结果来确定是否执行事件7。例如,如果该结果指示该目录操作未被成功处理,延伸运行时模块110可向客户端112报告该目录操作失败并且停止对该目录操作和/或包括在该目录操作中的控制进行任何进一步处理。在一些情况下,如果处理该目录操作的结果指示该处理是不成功的,则该控制可被处理。例如,如果该控制涉及审计或记录,无论该目录操作是否被成功执行,该控制都可被执行,或者在一些情况下,仅当目录操作未能执行或者未被成功执行,该控制才可被执行。
术语
在本公开中描述了多个计算系统。对这些系统的描述不用于限定本公开的内容和适用性。进一步地,所示出的系统中的各种部件的处理是跨多个机器、网络和其他计算资源的分布式的。例如,目录处理器106和控制登记系统118每一者能被作为单独的计算系统实施,或或者,作为一个服务器或者计算系统实施。此外,系统中的两个或更多部件能被合并成更少的部件。进一步地,所示出的系统中的各种部件能在一个或多个虚拟机器中实施,而非在专用计算机硬件系统中实施。同样地,示出的数据资料库能表示物理和/或逻辑数据存储(例如,包括存储区域网络或者其他分布式存储系统)。而且,在一些实施方式中,示出的部件间的连接表示数据流的可能路径,而非硬件间的实际连接。虽然示出了可能的连接中的一些示例,但示出的部件的任意子集能以各种实施形式与部件中的任意其他子集通信。
依赖于实施方式,本文描述的某些行为、事件或者任意算法的功能能以不同顺序被执行,能被添加、合并或者完全忽略(例如,针对算法的实践,所描述的行为或者事件不是全都是必须的)。而且,在某些实施方式中,例如通过多线程处理、中断处理、或者多处理器或处理器核或在其他并行架构上,行为或事件能被同时执行而非顺序执行。虽然将某些计算机实施任务描述为由特定实体执行,但这些任务由不同实体执行的其他实施方式也是可能的。
各个示出的系统中的每一者可被实施为计算系统,该计算系统是被编程的或者被配置成执行本文描述的各种功能。该计算系统可包括通过网络通信和进行交互操作以执行所描述的功能的多个不同的计算机或者计算设备(例如,物理服务器、工作站、存储阵列等)。典型地,每个这样的计算设备包括执行存储在存储器或者其他非临时计算机可读存储介质中的模块或者编程指令的处理器(例如多处理器)。本文公开的各种功能可以以这样的编程指令的形式来体现,虽然可选地,本公开的功能中的一些或全部也可以在专用应用电路(例如,ASIC或者FPGA)中实施。在该计算系统包括多个计算设备的情况下,这些设备可以并置,但这不是必须的。可通过将物理存储设备(诸如固态存储芯片和/或磁盘)转换为不同状态,持久存储本公开的方法和任务的结果。描述的每种服务(诸如图3中所示出的那些)可由一个或多个计算系统(诸如用关联服务器代码编程的一个或多个物理服务器)实施。
本文使用的条件语句(尤其诸如“能”“可能”“可/可以”、“例如”等),如无特别说明,或在所使用的上下文中另有理解,则通常用于表达某些实施方式包括而另一些实施方式不包括的某些特征、元素和/或状态。因此,该条件语句通常不用于以任何方式暗示该特征、元素和/或状态是针对一个或多个实施方式所需的,或者一个或多个实施方式必须包括用于决定(在具有或不具有作者的输入或提示的情况下)这些特征、元素和/或状态在任意特定实施方式中被包括或执行的逻辑。
虽然以上的说明已示出、描述了并且指出了应用于各种实施方式的新颖特征,但应该理解的是,在不偏离本公开的主旨的情况下,可对示出的设备或算法的形式和细节进行各种省略、置换和变化。如所认识到的,因为一些特征能和另一些特征分开使用或实践,本文描述的过程能以不提供本文列出的全部特征和优点的形式体现。保护范围由随附的权利要求书而非前述说明书限定。落在与权利要求书等效的含义和范围内所有变化被包括在权利要求书的范围内。
Claims (50)
1.一种用于通过包括一个或多个处理器的计算系统执行目录操作的方法,该方法包括:
在目录处理器处接收包括控制的目录操作;
确定所述控制是否已登记的控制;以及
响应于确定所述控制是已登记的控制:
标识被配置成处理所述控制的目录应用;
向所述目录应用提供所述控制以进行处理,从而使得目录操作包括所述目录处理器未被本地配置执行的一个或多个控制;以及
执行所述目录处理。
2.根据权利要求1所述的方法,其中,响应于确定所述控制是已登记的控制,该方法还包括从所述目录操作中移除所述控制。
3.根据权利要求2所述的方法,其中在执行所述目录操作之前,所述控制从所述目录操作中被移除。
4.根据权利要求1所述的方法,其中,响应于确定所述控制是已登记的控制,所述方法还包括修改所述目录操作的所述控制。
5.根据权利要求1所述的方法,其中所述已登记的控制包括非本地控制。
6.根据权利要求1所述的方法,还包括,响应于向所述目录应用提供所述控制,从所述目录应用接收响应。
7.根据权利要求6所述的方法,还包括基于所述响应执行所述目录操作。
8.根据权利要求6所述的方法,其中所述响应包括经修改的目录操作,并且其中执行所述目录操作还包括执行所述经修改的目录操作。
9.根据权利要求1所述的方法,其中,响应于确定所述控制是本地控制,该方法还包括:
执行与所述本地控制相关联的操作;以及
在不从所述目录操作中移除所述控制的情况下执行所述目录操作。
10.根据权利要求9所述的方法,还包括基于所述控制执行所述目录操作。
11.根据权利要求1所述的方法,还包括向所述目录应用提供处理所述目录操作的结果,从而使得所述目录应用能够基于处理所述目录操作的所述结果处理所述控制。
12.根据权利要求1所述的方法,其中,响应于确定所述控制是已登记的控制,该方法还包括:
执行与所述目录操作相关联的第一过程以获取第一目录操作结果;
向所述目录应用提供所述第一目录操作结果,从而使得所述目录应用能够将所述第一目录操作结果用于处理所述控制;
从所述目录应用接收控制结果;以及
基于所述控制结果执行与所述目录操作相关联的第二过程,以获取第二目录操作结果。
13.一种非临时物理计算机存储器,其包括指示计算系统执行用于执行目录操作的方法的计算机可执行指令,该方法包括:
在目录处理器处接收包括控制的目录操作;
确定所述控制是否已登记的控制;以及
响应于确定所述控制是已登记的控制:
标识被配置成处理所述控制的目录应用;
向所述目录应用提供所述控制以进行处理;以及
执行所述目录处理。
14.根据权利要求13所述的非临时物理计算机存储器,其中,响应于确定所述控制是已登记的控制,该方法还包括在执行所述目录操作之前从所述目录操作中移除所述控制。
15.根据权利要求13所述的非临时物理计算机存储器,其中,响应于向所述目录应用提供所述控制,该方法还包括从所述目录应用接收响应。
16.根据权利要求15所述的非临时物理计算机存储器,其中该方法还包括基于所述响应执行所述目录操作。
17.根据权利要求15所述的非临时物理计算机存储器,其中所述响应包括经修改的目录操作,并且其中执行所述目录操作还包括执行所述经修改的目录操作。
18.根据权利要求13所述的非临时物理计算机存储器,其中,响应于确定所述控制是本地控制,该方法还包括:
执行与所述本地控制相关联的操作;以及
在不从所述目录操作中移除所述控制的情况下执行所述目录操作。
19.根据权利要求18所述的非临时物理计算机存储器,其中该方法还包括基于所述控制执行所述目录操作。
20.根据权利要求13所述的非临时物理计算机存储器,其中该方法还包括向所述目录应用提供处理所述目录操作的结果,从而使得所述目录应用能够基于处理所述目录操作的所述结果处理所述控制。
21.根据权利要求13所述的非临时物理计算机存储器,其中,响应于确定所述控制是已登记的控制,该方法还包括:
执行与所述目录操作相关联的第一过程以获取第一目录操作结果;
向所述目录应用提供所述第一目录操作结果,从而使得所述目录应用能够将所述第一目录操作结果用于处理所述控制;
从所述目录应用接收控制结果;以及
基于所述控制结果执行与所述目录操作相关联的第二过程,以获取第二目录操作结果。
22.一种用于执行目录操作的系统,该系统包括:
目录处理器,被配置成接收包括控制的目录操作并且执行所述目录操作;以及
延伸运行时模块,被配置成确定所述控制是否已登记的控制,以及响应于确定所述控制是已登记的控制,所述延伸运行时模块还被配置成:
标识被配置成处理所述控制的目录应用;以及
向所述目录应用提供所述控制以进行处理。
23.根据权利要求22所述的系统,其中所述目录处理器包括所述延伸运行时模块。
24.根据权利要求22所述的系统,其中所述延伸运行时模块还被配置成从所述目录操作中移除所述控制。
25.根据权利要求22所述的系统,其中所述目录处理器还被配置成基于对所述目录应用接收所述控制的响应执行所述目录操作。
26.根据权利要求22所述的系统,其中所述控制包括本地控制并且其中所述目录处理器还被配置成:
执行与所述本地控制相关联的操作;以及
执行具有所述本地控制的所述目录操作。
27.一种用于扩展由计算系统执行的目录处理器的能力的方法,该计算系统包括一个或多个处理器,该方法包括:
接收控制定义;
存取与所述控制定义相关联的控制标识符;
确定所述控制标识符是否存在于和目录处理器相关联的控制数据库中;以及
响应于确定所述控制标识符不存在于所述控制数据库中,向所述控制数据库登记所述控制定义。
28.根据权利要求27所述的方法,其中向所述控制数据库登记所述控制定义还包括将所述控制标识符添加到所述目录处理器中。
29.根据权利要求27所述的方法,其中向所述控制数据库登记所述控制定义还包括存取与所述目录处理器相关联的应用程序接口API。
30.根据权利要求27所述的方法,还包括:
标识与所述控制定义相关联的目录应用;以及
向所述控制数据库登记所述目录应用,其中所述目录应用在所述控制数据库处与所述控制定义相关联。
31.根据权利要求27所述的方法,其中,响应于确定所述控制标识符存在于所述控制数据库中,该方法还包括:
确定所述控制定义的提供者是否被授权修改现有控制定义;以及
响应于确定所述提供者被授权修改所述现有控制定义,基于接收到的所述控制定义修改所述现有控制定义。
32.根据权利要求31所述的方法,其中修改所述现有控制定义包括用接收到的所述控制定义替换所述现有控制定义。
33.根据权利要求27所述的方法,其中所述控制数据库被配置成存储与非本地控制相关联的控制定义。
34.根据权利要求33所述的方法,其中确定所述控制标识符是否存在于所述控制数据库中还包括确定所述控制标识符是否存在于本地控制数据库中,其中所述本地控制数据库被配置成存储本地控制的特性。
35.根据权利要求27所述的方法,其中向所述控制数据库登记所述控制定义还包括在与所述控制定义相关联的操作被执行时进行登记。
36.一种非临时物理计算机存储器,其包括指示计算系统执行用于扩展目录处理器的能力的方法的计算机可执行指令,该方法包括:
接收控制定义;
存取与所述控制定义相关联的控制标识符;
确定所述控制标识符是否存在于和目录处理器相关联的控制数据库中;以及
响应于确定所述控制标识符不存在于所述控制数据库中,向所述控制数据库登记所述控制定义。
37.根据权利要求36所述的非临时物理计算机存储器,其中向所述控制数据库登记所述控制定义还包括将所述控制标识符添加到所述目录处理器中。
38.根据权利要求36所述的非临时物理计算机存储器,其中向所述控制数据库登记所述控制定义还包括存取与所述目录处理器相关联的应用程序接口API。
39.根据权利要求36所述的非临时物理计算机存储器,其中该方法还包括:
标识与所述控制定义相关联的目录应用;以及
向所述控制数据库登记所述目录应用,其中所述目录应用在所述控制数据库处与所述控制定义相关联。
40.根据权利要求36所述的非临时物理计算机存储器,其中,响应于确定所述控制标识符存在于所述控制数据库中,该方法还包括:
确定所述控制定义的提供者是否被授权修改现有控制定义;以及
响应于确定所述提供者被授权修改所述现有控制定义,基于接收到的所述控制定义修改所述现有控制定义。
41.根据权利要求40所述的非临时物理计算机存储器,其中修改所述现有控制定义包括用接收到的所述控制定义替换所述现有控制定义。
42.根据权利要求36所述的非临时物理计算机存储器,其中所述控制数据库被配置成存储与非本地控制相关联的控制定义。
43.根据权利要求42所述的非临时物理计算机存储器,其中确定所述控制标识符是否存在于所述控制数据库中还包括确定所述控制标识符是否存在于本地控制数据库中,其中所述本地控制数据库被配置成存储本地控制的特性。
44.根据权利要求36所述的非临时物理计算机存储器,其中向所述控制数据库登记所述控制定义还包括在与所述控制定义相关联的操作被执行时进行登记。
45.一种用于扩展目录处理器的能力的系统,该系统包括:
目录处理器,被配置成执行目录操作;
控制数据库,被配置成存储一个或多个控制定义,所述控制数据库与所述目录处理器相关联;以及
控制登记系统,被配置成:
接收控制;
存取与所述控制定义相关联的控制标识符;
确定所述控制标识符是否存在于所述控制数据库中;以及
响应于确定所述控制标识符不存在于所述控制数据库中,向所述控制数据库登记所述控制定义。
46.根据权利要求45所述的系统,其中所述控制登记系统还被配置成将所述控制标识符添加到所述目录处理器中。
47.根据权利要求45所述的系统,其中所述控制登记系统还被配置成:
标识与所述控制定义相关联的目录应用;以及
向所述控制数据库登记所述目录应用,其中所述目录应用在所述控制数据库处与所述控制定义相关联。
48.根据权利要求45所述的系统,其中,响应于确定所述控制标识符存在于所述控制数据库中,所述控制登记系统还被配置成:
确定所述控制定义的提供者是否被授权修改现有控制定义;以及
响应于确定所述提供者被授权修改所述现有控制定义,基于接收到的所述控制定义修改所述现有控制定义。
49.根据权利要求45所述的系统,其中所述控制数据库还被配置成存储与非本地控制相关联的控制定义,并且其中确定所述控制标识符是否存在于所述控制数据库中还包括确定所述控制标识符是否存在于本地控制数据库中,所述本地控制数据库被配置成存储本地控制的特性。
50.根据权利要求45所述的系统,其中向所述控制数据库登记所述控制定义还包括在与所述控制定义相关联的操作被执行时进行登记。
Applications Claiming Priority (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201261617471P | 2012-03-29 | 2012-03-29 | |
US61/617,471 | 2012-03-29 | ||
US13/721,769 US9122718B2 (en) | 2012-03-29 | 2012-12-20 | Dynamic directory control execution |
US13/721,811 US9165027B2 (en) | 2012-03-29 | 2012-12-20 | Dynamic directory control registration |
US13/721,769 | 2012-12-20 | ||
US13/721,811 | 2012-12-20 | ||
PCT/US2013/034339 WO2013148995A1 (en) | 2012-03-29 | 2013-03-28 | Dynamic directory controls |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104520821A true CN104520821A (zh) | 2015-04-15 |
Family
ID=49236476
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201380026034.1A Pending CN104520821A (zh) | 2012-03-29 | 2013-03-28 | 动态目录控制 |
Country Status (5)
Country | Link |
---|---|
US (2) | US9122718B2 (zh) |
EP (1) | EP2831742A4 (zh) |
CN (1) | CN104520821A (zh) |
IN (1) | IN2014DN08657A (zh) |
WO (1) | WO2013148995A1 (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9122718B2 (en) | 2012-03-29 | 2015-09-01 | Dell Software Inc. | Dynamic directory control execution |
US9892134B2 (en) | 2013-03-13 | 2018-02-13 | International Business Machines Corporation | Output driven generation of a combined schema from a plurality of input data schemas |
US9323793B2 (en) * | 2013-03-13 | 2016-04-26 | International Business Machines Corporation | Control data driven modifications and generation of new schema during runtime operations |
US10025758B2 (en) * | 2015-04-27 | 2018-07-17 | Microsoft Technology Licensing, Llc | Support for non-native file types in web application environment |
CN104868924A (zh) * | 2015-05-07 | 2015-08-26 | 广东电网有限责任公司电力科学研究院 | 用于Nucleus系统PowerPC架构新型远动装置的文件压缩及解压方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050080791A1 (en) * | 2003-10-09 | 2005-04-14 | Ghatare Sanjay P. | Translating data access requests |
US7013456B1 (en) * | 1999-01-28 | 2006-03-14 | Ati International Srl | Profiling execution of computer programs |
US7577092B2 (en) * | 1995-06-07 | 2009-08-18 | Microsoft Corporation | Directory service for a computer network |
US7725507B1 (en) * | 2005-01-07 | 2010-05-25 | Symantec Operating Corporation | Dynamic directories |
CN101720548A (zh) * | 2007-04-10 | 2010-06-02 | 阿珀蒂奥有限公司 | 网络数据存储库中的变量条目 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3026249A (en) | 1960-06-30 | 1962-03-20 | Eastman Kodak Co | Preparation of stable aqueous isomeric vitamin a compositions |
JP3792419B2 (ja) | 1998-11-27 | 2006-07-05 | 株式会社日立製作所 | ディレクトリデータ変換方法、ディレクトリデータ変換プログラムが記憶された記憶媒体、およびディレクトリ変換サーバ |
US7111290B1 (en) | 1999-01-28 | 2006-09-19 | Ati International Srl | Profiling program execution to identify frequently-executed portions and to assist binary translation |
DE10102649B4 (de) | 2000-03-30 | 2006-05-24 | International Business Machines Corp. | System und Verfahren für die Realisierung von Transaktionen mit Unterstützung durch ein Verzeichniszugriffs-LDAP-Protokoll |
US20040098615A1 (en) | 2002-11-16 | 2004-05-20 | Mowers David R. | Mapping from a single sign-in service to a directory service |
US7562087B2 (en) | 2005-09-30 | 2009-07-14 | Computer Associates Think, Inc. | Method and system for processing directory operations |
WO2007130975A2 (en) | 2006-05-01 | 2007-11-15 | Approva Corporation | Managing controls wtthin a heterogeneous enterprise environment |
US7844710B2 (en) | 2007-02-27 | 2010-11-30 | Novell, Inc. | Proxy caching for directory services |
US8782085B2 (en) * | 2007-04-10 | 2014-07-15 | Apertio Limited | Variant entries in network data repositories |
US8886669B2 (en) | 2008-03-21 | 2014-11-11 | Trimble Navigation Limited | File access via conduit application |
US8196207B2 (en) | 2008-10-29 | 2012-06-05 | Bank Of America Corporation | Control automation tool |
US9122718B2 (en) | 2012-03-29 | 2015-09-01 | Dell Software Inc. | Dynamic directory control execution |
-
2012
- 2012-12-20 US US13/721,769 patent/US9122718B2/en active Active
- 2012-12-20 US US13/721,811 patent/US9165027B2/en active Active
-
2013
- 2013-03-28 CN CN201380026034.1A patent/CN104520821A/zh active Pending
- 2013-03-28 EP EP13767521.1A patent/EP2831742A4/en not_active Withdrawn
- 2013-03-28 WO PCT/US2013/034339 patent/WO2013148995A1/en active Application Filing
-
2014
- 2014-10-16 IN IN8657DEN2014 patent/IN2014DN08657A/en unknown
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7577092B2 (en) * | 1995-06-07 | 2009-08-18 | Microsoft Corporation | Directory service for a computer network |
US7013456B1 (en) * | 1999-01-28 | 2006-03-14 | Ati International Srl | Profiling execution of computer programs |
US20050080791A1 (en) * | 2003-10-09 | 2005-04-14 | Ghatare Sanjay P. | Translating data access requests |
US7725507B1 (en) * | 2005-01-07 | 2010-05-25 | Symantec Operating Corporation | Dynamic directories |
CN101720548A (zh) * | 2007-04-10 | 2010-06-02 | 阿珀蒂奥有限公司 | 网络数据存储库中的变量条目 |
Also Published As
Publication number | Publication date |
---|---|
US9122718B2 (en) | 2015-09-01 |
US9165027B2 (en) | 2015-10-20 |
US20130263158A1 (en) | 2013-10-03 |
EP2831742A4 (en) | 2016-03-23 |
EP2831742A1 (en) | 2015-02-04 |
WO2013148995A1 (en) | 2013-10-03 |
US20130262496A1 (en) | 2013-10-03 |
IN2014DN08657A (zh) | 2015-05-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10795643B2 (en) | System and method for resource reconciliation in an enterprise management system | |
US9558218B2 (en) | Truncating data associated with objects in a multi-tenant database | |
JP2021500658A (ja) | インタラクティブ・ワークフローを実行するコンピュータ実施方法、システム、およびコンピュータ・プログラム製品、ならびにコンピュータ・プログラム | |
US10552779B2 (en) | Cognitive learning workflow execution | |
CN104520821A (zh) | 动态目录控制 | |
US20150213272A1 (en) | Conjoint vulnerability identifiers | |
CN108416199A (zh) | 一种应用的用户权限控制方法、装置及服务器 | |
CN111047434B (zh) | 一种操作记录生成方法、装置、计算机设备和存储介质 | |
US9552443B2 (en) | Information processing apparatus and search method | |
US20040260699A1 (en) | Access management and execution | |
US11394748B2 (en) | Authentication method for anonymous account and server | |
CN105893445A (zh) | 数据处理的方法、服务器和终端设备 | |
US20140019439A1 (en) | Systems and methods for performing smart searches | |
JP2005332049A (ja) | ポリシ変換方法、ポリシ移行方法およびポリシ評価方法 | |
JP4731928B2 (ja) | データ管理装置、データ管理システム、データ処理装置、データ管理方法、プログラム、及び記憶媒体 | |
JP5980421B2 (ja) | アクセス制御装置及びアクセス制御方法及びプログラム | |
US9477821B2 (en) | Generic feature-licensing framework | |
CN112632616A (zh) | 数据处理方法、装置、电子设备以及计算机可读存储介质 | |
JP2007257603A (ja) | リスト登録対象情報取得システム、方法、プログラム及び装置 | |
CN117112654B (zh) | 城市数据展示方法、装置、计算机设备和存储介质 | |
CN114115853B (zh) | 一种动态控制api接口访问的方法及系统 | |
US20240168972A1 (en) | Data Distribution and Access within a Multi-Zone Computing Platform | |
US20220043783A1 (en) | Method for managing virtual file, apparatus for the same, computer program for the same, and recording medium storing computer program thereof | |
JP2007257352A (ja) | アクセス制御装置、アクセス制御シミュレーション方法及びアクセス制御シミュレーションプログラム | |
CN114253731A (zh) | 一种虚拟机分配方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20150415 |