Claims
- 1. A method, comprising:
arranging instructions for an agent to execute an information management process in a metadirectory, wherein the instructions are arranged into a profile separate from the agent; and executing the information management process according to the profile.
- 2. The method as recited in claim 1, further comprising arranging instructions into the profile to execute multiple information management processes.
- 3. The method as recited in claim 1, wherein the instructions further comprise steps, each step corresponding to a segment of an information management process.
- 4. The method as recited in claim 3, wherein the steps are rearrangeable into different sequences of steps corresponding to different information management processes.
- 5. The method as recited in claim 1, further comprising establishing the agent to execute the information management process between the metadirectory and an information source.
- 6. The method as recited in claim 5, further comprising providing the profile to the agent to execute the information management process.
- 7. The method as recited in claim 6, wherein the profile is provided as a parameter of an execute function of the agent.
- 8. The method as recited in claim 6, wherein the profile is stored as part of a configuration file of the agent.
- 9. The method as recited in claim 1, wherein the information management process is an information transfer from an information source to the metadirectory.
- 10. The method as recited in claim 9, wherein the information management process is an information transfer from an information source to a buffer of the metadirectory.
- 11. The method as recited in claim 1, wherein the information management process is creation of an information file.
- 12. The method as recited in claim 11, wherein the information management process is an information transfer from the information file to a buffer of the metadirectory.
- 13. The method as recited in claim 1, wherein the information management process is an information transfer to a core of the metadirectory.
- 14. The method as recited in claim 1, wherein the information management process is creation of an audit trail for auditing execution of information transfers.
- 15. The method as recited in claim 14, further comprising creating a profile from the audit trail.
- 16. The method as recited in claim 1, wherein the information management process is an information transfer from a buffer of the metadirectory to an information source outside the metadirectory.
- 17. The method as recited in claim 14, further comprising creating an audit file during the information transfer.
- 18. The method as recited in claim 15, further comprising resuming an information transfer to the information source outside the metadirectory from the audit file.
- 19. The method as recited in claim 1, wherein the information management process is a synchronization between information in a buffer of the metadirectory and a core of the metadirectory.
- 20. The method as recited in claim 1, wherein the information management process is an attribute flow between information objects.
- 21. The method as recited in claim 1, wherein the information management process is an evaluation of attribute flow in a buffer of the metadirectory.
- 22. The method as recited in claim 1, wherein the information management process is an evaluation of attribute flow in a buffer of the metadirectory associated with the agent.
- 23. The method as recited in claim 1, wherein the profile is stored as metadata for a configuration file of the agent on a computing device.
- 24. The method as recited in claim 1, wherein the profile is expressed in an extensible markup language.
- 25. The method as recited in claim 24, wherein the extensible markup language is a version of XML.
- 26. The method as recited in claim 1, further comprising instructions to stop an information management process after its completion.
- 27. An information system, comprising:
a rules layer for defining the information system; a storage layer having a buffer and a core defined by rules in the rules layer, wherein the buffet includes information from at least one of multiple information sources and wherein the core holds core information from the buffer; a services layer having agents defined by the rules for performing information management processes; and a profile in the rules layer for controlling execution of an agent.
- 28. The information system as recited in claim 27, wherein the profile is stored separately from the agent.
- 29. The information system as recited in claim 27, wherein the profile is stored separately from a configuration file of the agent.
- 30. The information system as recited in claim 29, wherein the profile controls the agent without reconfiguration of the agent.
- 31. The information system as recited in claim 29, wherein the profile controls the agent to execute multiple information management processes without reconfiguration of the agent.
- 32. The information system as recited in claim 27, further comprising an auditor for creating an audit trail of the execution of an agent, wherein a rule creates a profile from the audit trail.
- 33. The information system as recited in claim 27, wherein the auditor creates an audit trail comprising executable code.
- 34. The information system as recited in claim 33, wherein a profile is created from at least part of the executable code.
- 35. The information system as recited in claim 27, further comprising an auditor for creating an audit trail of information management processes, wherein a rule may create a profile from the audit trail.
- 36. An information management engine, comprising:
an agent controller, wherein an agent performs at least part of an information management process in a metadirectory system having a rules layer, a storage layer having a buffer and a core, the buffer storing information from at least one of multiple information sources and the core storing information from the buffer, and a services layer having agents for performing information management processes; and a run profile producer, wherein a run profile controls execution of an agent.
- 37. The information management engine as recited in claim 36, further comprising execution step instructions, wherein the profile is made of execution steps arranged in a sequence from the execution step instructions.
- 38. The information management engine as recited in claim 36, further comprising an execution auditor to create an audit trail of execution steps performed in the metadirectory.
- 39. The information management engine as recited in claim 38, wherein the run profile producer uses the audit trail to produce a profile.
- 40. The information management engine as recited in claim 37, wherein an execution step comprises transferring information from an information source to the buffer and from the buffer to the core.
- 41. The information management engine as recited in claim 37, wherein an execution step comprises creating a drop file.
- 42. The information management engine as recited in claim 37, wherein an execution step comprises creating an audit file or an audit trail.
- 43. The information management engine as recited in claim 37, wherein an execution step comprises stopping an information management process.
- 44. The information management engine as recited in claim 43, wherein an execution step comprises resuming the information management process using a drop file.
- 45. The information management engine as recited in claim 37, wherein an execution step comprises transferring information from an information source to the buffer and stopping before beginning another execution step.
- 46. The information management engine as recited in claim 37, wherein an execution step comprises transferring information from an information source to the buffer and from the buffer to the core.
- 47. The information management engine as recited in claim 37, wherein an execution step comprises transferring information from the buffer to an information source outside the metadirectory.
- 48. The information management engine as recited in claim 37, wherein an execution step comprises transferring information from an information source to the buffer and from the buffer to the core.
- 49. The information management engine as recited in claim 37, wherein an execution step comprises attempting to synchronize information in the core with information in the buffer.
- 50. The information management engine as recited in claim 37, wherein an execution step comprises attempting to evaluate information attribute flow for information in the buffer.
- 51. The information management engine as recited in claim 50, wherein an execution step comprises attempting to evaluate information attribute flow for information in the buffer relative to an agent associated with the execution step.
- 52. A data structure, comprising:
a run profile for a metadirectory management agent.
- 53. The data structure as recited in claim 52, further comprising a sequence of step elements in the run profile for executing the agent, wherein the agent controls at least one information transfer in the metadirectory.
- 54. The data structure as recited in claim 53, wherein the step elements describe segments of an overall information management process of the metadirectory.
- 55. The data structure as recited in claim 53, wherein the step elements can be rearranged to execute various parts of the information management process of the metadirectory.
- 56. The data structure as recited in claim 53, wherein the run profile is metadata for the management agent.
- 57. The data structure as recited in claim 56, wherein the metadata is stored separately from configuration data of the management agent.
- 58. The data structure as recited in claim 54, further comprising a sequence of step elements for a management agent that performs an information management process associated with an information source having one data partition.
- 59. The data structure as recited in claim 54, further comprising a sequence of step elements for a management agent that performs an information management process associated with an information source having multiple data partitions.
- 60. The data structure as recited in claim 59, further comprising “n” groups of steps “n” for “n” partitions, each group having one step for each partition, wherein the one step is one of an information import from an information source into the metadirectory, an information export from the metadirectory, or an application of a metadirectory rule.
- 61. The data structure as recited in claim 59, further comprising “n” groups of steps “n” for “n” partitions, each group having two steps comprising an information import into the metadirectory and an information export from the metadirectory.
- 62. The data structure as recited in claim 59, further comprising “n” groups of steps “n” for “n” partitions, each group having either one step or two steps, wherein if a group has one step the one step is one of an information import from an information source into the metadirectory, an information export from the metadirectory, or an application of a metadirectory rule, and if a group has two steps the two steps are an information import into the metadirectory and an information export from the metadirectory.
- 63. The data structure as recited in claim 52, wherein at least some elements of the data structure are obtained from an executable code produced as a runtime record of an information process in the metadirectory.
- 64. An executable instruction, comprising:
logic for controlling at least part of an execution of a management agent in a metadirectory system, wherein the management agent performs at least part of an information management process; and logic for connecting in a rearrangeable logic pattern with other executable instructions having logic for controlling at least part of an execution of a management agent.
- 65. The executable instruction as recited in claim 64, wherein the logic of the executable instruction controls the management agent to perform different types of information management processes without reconfiguration of the management agent.
- 66. A management agent for a metadirectory system, comprising:
a means for establishing a data communications connection between an information source and a metadirectory; a means for obtaining processing logic from one or more rules for performing one or more information management processes; an execution function to read, a run profile having execution logic for executing the processing logic.
- 67. The management agent as recited in claim 66, wherein the management agent is capable of performing multiple information management processes in a sequence without changing a configuration of the management agent, including without changing a configuration of the means for establishing a data communications connection and without changing a configuration of the processing logic.
- 68. One or more computer readable media containing instructions that are executable by a computer to perform actions, comprising:
arranging execution steps for an agent to execute an information transfer in a directory, wherein the execution steps are arranged into a profile separate from the agent; and executing the information transfer according to the profile.
- 69. The one or more computer readable media as recited in claim 68, further comprising instructions for arranging the execution steps into the profile to execute multiple information transfers in a sequence.
- 70. The one or more computer readable media as recited in claim 68, wherein each execution step corresponds to a segment of an overall information management process of the directory.
- 71. The one or more computer readable media as recited in claim 70, wherein the execution steps are rearrangeable into different sequences corresponding to performing segments of the overall information management process in different sequences.
- 72. The one or more computer readable media as recited in claim 68, wherein the profile is usable with different agents.
- 73. A method, comprising:
configuring a set of instructions for executing each mode of an information management process to be performed between at least two information sources, wherein the information management process has multiple modes; and storing each set of instructions, wherein each set of instructions can be unstored and executed as a step to perform a mode of the information management process.
- 74. The method as recited in claim 73, further comprising creating a profile of steps to perform a sequence of modes of the information management process.
- 75. The method as recited in claim 74, further comprising rearranging the steps to create different profiles.
- 76. The method as recited in claim 75, further comprising selecting a profile to execute a sequence of modes of the information management process.
- 77. The method as recited in claim 73, wherein each set of instructions executes a mode selected from a group modes, consisting of a full synchronizing mode, a partial synchronizing mode, an importing mode, an exporting mode, a buffering mode, a staging mode, an auditing mode, a data aggregating mode, an accounts managing mode, an attributes importing mode, an attributes exporting mode, a joining mode, a projecting mode, a data transforming mode, a provisioning mode, and a deprovisioning mode.
- 78. The method as recited in claim 73, wherein one of the at least two information sources is a database.
- 79. The method as recited in claim 73, wherein one of the at least two information sources is a table in a multitable database.
- 80. The method as recited in claim 73, wherein one of the at least two information sources is a directory.
- 81. The method as recited in claim 73, wherein one of the at least two information sources is a file.
- 82. The method as recited in claim 73, wherein one of the at least two information sources is an account.
- 83. The method as recited in claim 73, wherein a set of instructions includes connectivity information for communicating with a particular information source.
- 84. The method as recited in claim 73, wherein a set of instructions includes threshold information for qualifying a mode of the information management process.
- 85. The method as recited in claim 73, wherein a set of instructions includes partition information for specifying a data partition of an information source having multiple partitions.
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] The instant application is related to co-pending U.S. Patent Application Ser. No.______, Applicant Docket No. MS1-1532, entitled “Attribute Value Selection for Entity Objects,” by Kim Cameron, Max L. Benson, Matthias Leibmann, Edward H. Wayt, Kevin Miller and James Booth; U.S. Patent Application Ser. No.______, Applicant Docket No. MS1-1535, entitled “Declarative Rules for Metadirectory,” by Kim Cameron, Max L. Benson, and James Booth; U.S. Patent Application Ser. No.______, Applicant Docket No. MS1-1576 entitled “Relational Directory,” by Kim Cameron, James Booth, Matthias Leibmann, Max L. Benson and Mark Brown; U.S. Patent Application Ser. No.______, Applicant Docket No. MS1-1534, entitled “Associating and Using Information in a Metadirectory,” by Max L. Benson; U.S. Patent Application Ser. No.______, Applicant Docket No. MS1-1533, entitled “Preview Mode,” by Kim Cameron, Max L. Benson, Derek Murman, Edward H. Wayt, Jeffrey Bisset, Jie Liu, and Jing Wu; U.S. Patent Application Ser. No. ______, Applicant Docket No. MS1-1554, entitled “Rules Customization and Related Methods,” by Max L. Benson, Michael Jerger, Edward H. Wayt, Kenneth Mark, Kim Cameron, Matthias Leibmann, and Jing Wu; all of which are filed concurrently herewith, assigned to the assignee of the present invention, and incorporated herein by reference for all that they teach and disclose.