# Patent

## Title
Monitoring delegated operations in information management systems

## Abstract

Information management is provided. Information management may include a method of monitoring the information management processes. The method may include delegating one or more information management processing operations to one or more external computing resources. The information management processing operations require intelligence provided by an information management server. Monitoring information received from the external computing resources indicates that the external computing resources are performing the one or more delegated information management processing operations. An analysis of a subset of data objects from the information management system is performed to ensure that the delegated information management process operations have been performed on the data objects.

## Background
CROSS-REFERENCE TO RELATED APPLICATIONS
Not applicable.
BACKGROUND OF THE INVENTION
1. The Field of the Invention
The present invention relates to information management. More particularly, embodiments of the invention relate to systems and methods for monitoring the delegated information management functions in a computing environment.
2. The Relevant Technology
The world is slowly and continually moving from being paper-based to being electronic-based and this is becoming apparent in a wide variety of different systems. Businesses, schools, and even home life are transitioning to electronic systems. For example, email is becoming a primary means of communication rather than sending regular mail. Bills are paid online. Airlines often prefer electronic ticketing and online check-in. The list goes on. There are several reasons for this transition, one of which is the convenience and accessibility of electronic systems. Email, for example, often arrives shortly after sending it.
As entities become more centered on electronic data, the ability to manage the electronic data becomes crucial for a wide variety of different reasons. Much of the electronic data maintained by an entity or organization often relates to different aspects of the entity and often is subject to various considerations.
Further, much of the data is unstructured at least in the sense that the data's value to the entity is not readily known and the services required for the data are not necessarily known. For example, an entity may have a file storage system that it backs up on a regular basis. However, there may be many files on the file storage system that have little or no value to the entity. As a result, the entity is often paying for services that are not required. Further, there may be files that contain certain information that subjects those files to certain regulations. Because the content of those files is unknown, the files are not receiving adequate services, thereby subjecting the entity to potential liability.
More generally, there are a number of different factors that may determine how certain data is handled or that determine the services that are needed for the data. Some of the factors or considerations include data security, data backup, data retention, data access control, regulatory compliance, corporate compliance, and the like or any combination thereof.
Various information management systems and methods exist, some of which may address these and other factors and considerations. Notably, however, the amount of electronic data that can be managed by an information management system is often limited by the physical limits of the hardware implementing the information management system. For instance, an information management server is necessarily limited in the amount of electronic data it can manage by, among other things, its processors and other hardware. Thus, the scalability of an information management system is an important consideration for entities desiring to implement information management in a network.
Two conventional scaling solutions often implemented include scaling up and scaling out. Scaling up, for example, includes implementing the information management system in a server with faster hardware. Often, however, the cost of scaling up can be prohibitively high. Scaling out includes implementing the information management system in multiple homogeneous, equal, or peer servers, with each server managing a subset of a network, or partitioning/separating out low-level information management functions to other servers. In the case of the former, the use of multiple information management servers can present integration difficulties and in the case of the latter, high-level functions not partitioned to the other servers still require significant computing resources from the information management server.
In sum, the data of an entity is an important asset and should be properly safeguarded. This means that services such as backup, retention, encryption, etc., need to be obtained and orchestrated such that entities have neither too little nor too many services for their data. Furthermore, in some situations, depending on the size of an entities computing environment, a more scalable information management system is needed.



BRIEF DESCRIPTION OF THE DRAWINGS
In order to describe the manner in which the above-recited and other advantages and features of the invention can be obtained, a more particular description of the invention briefly described above will be rendered by reference to specific embodiments thereof which are illustrated in the appended drawings. Understanding that these drawings depict only typical embodiments of the invention and are not therefore to be considered to be limiting of its scope, the invention will be described and explained with additional specificity and detail through the use of the accompanying drawings.
FIG. 1 illustrates an exemplary environment for implementing embodiments of the invention;
FIG. 2 illustrates one embodiment of a system for delegating information management processing operations in a network;
FIG. 3 illustrates another embodiment of a system for delegating information management processing operations;
FIG. 4 illustrates an embodiment of a method for delegating an information management processing operation to an external computing resource; and
FIG. 5 illustrates a method for monitoring the delegated information management processes in external computing resources according to an aspect of the invention.



DETAILED DESCRIPTION OF THE INVENTION
Embodiments of the invention relate to information or data management and more particularly to systems and methods for delegating information management processing operations to external computing resources. The delegation of processing operations to external computing resources increases the scalability of the information management service.
I. Information Management
Information management can be implemented in a variety of different computer or computing systems. A computer system, by way of example only, may refer to a single computer and/or to multiple computers (including clients and/or server computers, and other devices) that are connected with a network. Objects of a computer system can include servers, applications, services, data, files, and the like or any combination thereof.
Implementing information management in accordance with the present invention requires an understanding of the computer system or of servers operating on the computer system, services operating on the computer system, and of the data (files, information, emails, etc.) that exists in or is accessible by clients, servers, and services on the computer system. This knowledge can be obtained through discovery of the computer system, which provides the information management system with an understanding of the relationships that may exist between the various servers (and other devices) on the computer system and the data that is accessible over the computer system. The discovery of a computer system provides the information management system with information that can be used to classify the computer system and the data in the computer system.
After the computer system (infrastructure and data) has been discovered, it is useful to classify the data that is in the computer system. Classification is a process that enables each object to be grouped with other objects or to be examined in a manner that enables the needed services for that object to be identified. For example, all objects that need a particular service may be grouped. Alternatively, embodiments of the invention enable each object to be categorized and classified individually. As a result, the service needs of each object are considered. Thus, the groupings identified herein are distinct from coarse groupings that fail to consider the service needs of the objects individually. An object can be any data (e.g., file), server, service, application or the like in the network. Classification typically assigns each object to one or more categories. If available, information management enables each object to receive the services that each object requires. More commonly, services are typically provided in packages. As a result, the service level objects as identified by the assigned categories are often matched to the best available service package. Embodiments of the invention, however, are not so limited.
Once classification is complete, service level management is performed using the assigned categories. Service level management provides methods for modeling/mapping the results of discovery and classification to service levels. After service levels have been identified, the various services can be orchestrated and executed. Advantageously, the services can be carried out with respect to individual objects rather than on shares or drives. As a result, an entity may only pay for the services that are actually needed rather than pay for services that may not be needed. Further, unstructured data is categorized and can be provided with the services based on its value to the entity. In one embodiment, classification is a way for an entity to automatically place a value on the various objects of data.
Information management is also a process that can be ongoing. In most computer systems, objects are continually added and those objects typically require certain services. In addition to new objects, many objects also have a lifecycle associated with them. As a result, the status or need for services for certain objects can change over time. Information management incorporates lifecycle aspects such that data that grows old or stale can have the various services changed as needed.
Also, embodiments of the invention include reports, auditing, gap analysis, and the like to ensure that the services being provided are adequate. This protective ability ensures, for example, that a company complies with any applicable rule or regulation. The detection of a gap in service, for example, can lead to a change in service levels.
II. Network Environment
FIG. 1 illustrates an example environment for implementing embodiments of the invention. FIG. 1 is intended to illustrate that, while many systems often have similar functions, the actual implementation from one network to the next can vary significantly. The variability in network configurations is one of the aspects that have hindered conventional attempts at information management. The variability may be related, for example, to the type of software installed, the hardware selected for the network, the configuration of the hardware/software and the like. As previously described, this is one of the reasons that discovery of a network is not limited to the data objects in the network but also includes discovery of the servers and services that are operating in the network. An understanding of the servers and services can improve the ease and accuracy with which objects are classified.
In this example, the system 100 represents a network such as a local area network, a wide area network, and the like or any combination thereof. The connections in the system or network 100 can be wired and/or wireless. In this case, the network 100 typically includes clients 102 that have access to various servers 104 and to data 114. Various services are typically provided by the servers 104 and, in some embodiments, access to some or all of the data 114 is controlled by the various servers 104. Some of the data 114 (e.g., backed up data) is not necessarily available to the clients 102.
Examples of the servers 104 may include a file server 106, an email server 110, a backup server 108, and an information management server 112 and the like or any combination thereof. Each of the servers 104 resides in or is accessible over the network 100. The data 114 may include file storage 118, a database 116, and the like. The file storage 118 and database 116 can be implemented in various ways using different software, different configurations, and the like. The hardware used to store the data 114 can include network attached storage (NAS) systems, and any other system known to one of skill in the art.
The data 114 can also be partitioned in different ways as well for different lines of business within the entity. For example, the data 114 may include a share for home directories, a shared area, an engineering share, a marketing and sales share, and the like. Each share may be in its own domain to allow fine grain management by the respective line of business. One advantage of having different shares is that the corresponding files can be owned by different users.
One of skill in the art can appreciate that the clients 102, servers 104, and data 114 can be connected in a wide variety of configurations using various types of connections. Further, the software that operates on the servers 104, clients 102, and on the data 114 in some instances, may have certain properties or configurations. As previously discussed, it is this variability that can often complicate the ability to manage the information in a network.
III. Information Management in a Networked Environment
Information management according to embodiments of the invention has several components that work together to provide an understanding of the value of an entity's information. In some instances, the entity itself can provide or define some of the logic or rules that are used to classify or categorize the objects. Embodiments of the invention enable an entity to control some or all of the logic used for classification. Advantageously, this illustrates one way that embodiments of the invention enable an entity to better value its data. Objects can be classified or categorized individually using the entity's own logic. As a result, the service levels ultimately identified for those objects reflect the entity's perception of the objects' worth.
For example, an entity may want to retain objects that were authored by a particular person for a long time. A rule to that effect that is processed for the objects of the entity can then help classify the objects in an automated manner and the entity is assured that all objects that satisfy that requirement are receiving the appropriate services. More generally, an information management system can examine all business objectives for files, not just one at a time. For example, some of the files authored by a particular person may contain personal data on employees who have left the entity. Such files often fall under laws that require their destruction after a certain time period. Thus, some of the files authored by the person may need to be retained for a shorter length of time due to a more pressing consideration (e.g., regulations). One embodiment of information management can thus consider both the desire to retain files written by the author and consider regulations at the same time, for each object. Embodiments of information management can recognize conflicting service goals, as in this example, and then resolve the conflict. At the same time, some of the business objects may be additive. For instance, the entity may also desire to index all files written by the specific person.
Information management also reduces various risks (such as non-compliance) often associated with unstructured data. As described below, embodiments of the invention provide a system for classifying data such that the appropriate services can be provided to the entity's data. Embodiments of the invention also enable services that are required by an entity to be effectively identified and orchestrated. Examples of the services often required by entities includes backup services, retention services, corporate compliance services, regulatory compliance, data accessibility, data deletion, and the like or any combination thereof.
Methods and systems for managing information in a computer system are disclosed in greater detail in U.S. patent application Ser. No. 11/528,900, filed Sep. 27, 2006 and entitled “Information Management,” which application is incorporated herein by reference in its entirety.
Turning now to FIG. 2, an example system 200 for information management of data including unstructured data files or objects is illustrated. The system 200 typically includes an information management service 212 communicably connectable to one or more intelligent managers 204, 205, 206, 207 and 208. According to one embodiment of the invention, the information management service 212 is installed in and operates on one server (e.g., an information management server) while the intelligent managers 204-208 are installed in and operate on one or more computing resources external to the information management server (e.g., external computing resources).
The information management service 212 comprises a plurality of information management modules 214-218, including an environment discovery module 214, a file discovery module 215, a classification module 216, a service level mapping module 217 and an orchestration module 218. Each of the information management modules 214-218 and the information management processing operations performed by each will be described in turn.
A. Discovery in Information Management
Discovery is often the first element of information management. According to embodiments of the invention, discovery includes both a discovery of the environment/infrastructure using the environment discovery module 214 and a discovery of data in the network using the file discovery module 215.
The environment discovery module 214 can be used, for example, to discover all IP devices on the computer system 100 of FIG. 1 that appear to act as a server. In addition to discovering these servers, the environment discovery module 214 can discover services as well. The environment discovery module 214 can also discover devices, applications that offer services, what kinds of service each offers, and what levels of service or capabilities are supported by that service provider. According to one embodiment, after performing an initial environmental discovery on the computer system 100, the environment discovery module 214 can monitor the system 100 and identify any environmental changes on a regular and/or irregular basis, such as weekly or immediately upon detecting a change.
The file discovery module 215 can be used, for example, to discover all data residing in the system 100. According to one embodiment, the file discovery module 215 identifies modified and/or new data in the system 100 on a regular and/or irregular basis.
The discovery of the objects in a computer system, such as the system 100, can be done in a variety of ways. The discovery of the environment/infrastructure, for example, may involve an examination or analysis of all IP addresses existing in a network. Devices that act as a server can thus be identified. Once these servers are identified, additional information can then be sought from those servers. Applications can also be identified. For example, many entities often have a payroll application that includes a software program working in conjunction with a database. The database can be examined and may have certain table or logs when acting, for example, as source for payroll. The traffic on the network can also be decoded to examine headers to extract information that can characterize the network for the information management server. In this manner, the applications can be discovered. The discovery of an application can be used as additional input when categorizing the objects or data used by the payroll (or any other) application. For example, certain data or objects used by a payroll application may require special service levels that are not needed by other data or objects.
Methods and systems for discovering objects in a computer system are disclosed in greater detail in U.S. patent application Ser. No. 11/694,753, filed Mar. 30, 2007 and entitled “Environment Classification And Service Analysis,” which application is incorporated herein by reference in its entirety.
B. Classification in Information Management
Classification is typically the next step in information management and may be performed by a classification module 216. Classification is the process of identifying or associating data or objects with categories. One result of classification is to associate objects being classified with certain categories. More particularly, the information collected during discovery by the environment discovery module 214 and/or file discovery module 215 can be used during classification. The resulting categories assigned to objects in the computer system can be used in subsequent parts of information management as described below.
Classification, however, is not limited to the information collected during discovery. Classification can also include, for example, applying sets of rules to the objects in a network. The rules can be default rules or rules that are selected according to a line of business of the entity or for any other reason. For example, objects that include social security numbers may have to be retained for some period of time per governmental regulations. Alternatively, objects whose owner is a member of marketing may only be retained for a few years, but may require full indexing.
In addition to applying rules to the objects of the entity, classification also includes the generation of metadata as well as the use of existing metadata. Generated metadata includes values that are derived from information objects rather than having been collected during discovery. For example, hash values can be generated and then used to identify duplicate objects. Another example of generated metadata is the case where the objects are examined for specified keywords and/or patterns. The generated metadata, or metadata derived from an object being analyzed, are useful during the classification process.
Existing metadata, on the other hand, can be collected from the objects or from the environment. For example, the owner, size, share, etc., of an object can be collected and used to automatically categorize an object. The collected metadata (such as file owner) can be used by rules to categorize the content of the object or the object itself. In some embodiments, a particular object may be associated with more than one category.
In another embodiment, aging considerations can be a consideration when classifying an object. On the other hand, aging considerations can be a component of service level mapping as discussed below. The aging characteristics or other lifecycle information of a particular object may also be used during the classification process. For example, an annual report is always an annual report. However, newer annual reports may require different services than older annual reports. This aging or lifecycle consideration can be part of classification and/or it can be considered during service level mapping.
Methods and systems for classifying objects in a computer system are disclosed in greater detail in U.S. patent application Ser. No. 11/528,772, filed Sep. 27, 2006 and entitled “Information Classification,” which application is incorporated herein by reference in its entirety.
C. Service Level Management in Information Management
After the objects have been categorized during classification, service level objectives can then be identified for the various objects by the service level mapping module 217, which can also perform the other functions identified herein. A category can be mapped through configuration data to one or more service level objectives. A category can also be mapped to a lifecycle, each of whose stages may have different service level objectives. There may be several categories involved in the analysis of a single information object, resulting in a variety of service level objectives or possibly conflicting service level objectives. Information management can also resolve conflicts, for example, using user supplied logic.
In other words, the classification module 216 has already assigned categories to each of the objects. During the classification process, some of the various categories are assigned to each object as applicable. These categories can then be used by the service level mapping module 217 to identify the service level objectives that may apply to the various objects. The discovery, for example, may have identified a particular object as an annual report and the classification of the annual report assigned a category of business critical. The information management system may be configured to map annual reports to lifecycle L1. If the object in question has aged enough to be in the second stage of that lifecycle, then a service level objective for that stage may dictate that the file needs to be retained for a specific period of time. Alternatively, the classification of the object may also indicate that the object should be retained for some specified period of time.
In this manner, the service level mapping module 217 processes the object that has been classified (using the assigned categories and/or lifecycle information) to identify the various service level objectives that should apply to the object. The service level objectives can then be bundled together into a target bundle that collectively represents the service level objectives that are desired for the object. Next, service level mapping includes matching the target bundle of services with service packages that are actually provided from service providers. If the service level objectives do not match or are not satisfied by the best matching actual service package, then a service gap is present.
The use of packages is often used by some entities that manage some or all of their services by restricting the offerings to a number of supported combinations of service levels. In other words, the particular combination of service level objects may not represent a supported package (also referred to herein as a service bundle). Embodiments of the invention contemplate logic that is used to find a suitable service package that is close enough to what the object needs. The information management system may be able to report that no existing service bundle or service package was sufficient.
D. Service Orchestration in Information Management
In information management, orchestration is the process by which the services are orchestrated. Orchestration can automate multiple service actions and translate an end user service level request to provider action. The workflows needed to execute the services are coordinated during orchestration by the orchestration module 218.
IV. Delegation of Information Management Functions
Many of the information management processing operations described herein and performed by the information management modules 214-218 require a significant amount of processing power from the information management server executing the information management service 212. Consequently, the network size that can be efficiently managed by the information management service is necessarily limited by the processing capabilities of the information management server. However, embodiments of the invention contemplate the delegation of the intelligence required to perform any one or more of these information management processing operations to one or more of the intelligent managers 204-208. This offloads work from the information management server, enabling the information management service to manage relatively larger networks.
Accordingly, a topology manager 204 can be provided for performing environment/infrastructure discovery, a file manager 205 can be provided for performing file discovery; a classifier 206 can be provided for performing classification, a service manager 207 can be provided for performing service level mappings, and an orchestration module can be provided for orchestrating the execution of services. As previously mentioned, these intelligent managers 204-208 are installed in and operate on one or more external computing resources, thereby reducing the processing power required by the information management service 212.
The information management service 212 delegates the intelligence required to perform the information management processing operations to the intelligent managers 204-208. In this manner, the intelligent managers 204-208 can provide high-level data to the information management service 212 that the information management service 212 can use in coordinating each of the intelligent managers 204-208. For instance, rather than constantly or periodically monitoring the environment/infrastructure of the system 100 to identify changes, the information management service 212 provides the intelligence necessary to do so to the topology manager 204. When the topology manager 204 identifies changes in the environment/structure of the system 100, the topology manager 204 can notify the information management service 212 of the changes.
As another example, the information management service 212 may provide the logic and rules necessary for classification to the classifier 206. Not only can the classifier 206 perform low-level functions, such as identifying objects that satisfy particular logic and/or rules (e.g., file X contains the word Y), the classifier can also perform high-level functions, such as categorizing the objects (e.g., file X belongs to category Z because it contains word Y) and provide a list of categorized objects to the information management service 212. Receiving high level data rather than low level data significantly reduces the processing power required by the information management service 212.
It is contemplated by the invention that one or more of the intelligent managers 204-208 may be configured differently than the information management service 212. For this reason, the information management service 212 may communicate with one or more of the intelligent managers 204-208 using adapters 224-228. In effect, the adapters 224-228 translate communications between the intelligent managers 204-208 and the information management service 212. Thus, the intelligent managers 204-208 can communicate directly with the information management service 212 in a common language, or the intelligent managers 204-208 can communicate through adapters 224-228 in different languages.
By delegating one or more processing operations to the intelligent managers, the total amount of data that can be managed by the information management service 212 increases while the amount of processing power required to manage a given amount of data decreases.
With reference now to FIG. 3, an example system 300 for delegating particular information management processing operations to an intelligent manager is illustrated. The system 300 includes an information management service 312 for managing data, a client system 302 for configuring the information management service 312, a database 316 for storing configuration data, and an intelligent manager 306 for performing one or more processing operations. In particular, the intelligent manager 306 may be a classifier, corresponding to the classifier 206 of FIG. 2. Optionally, the information management service 312 may communicate with the classifier 306 using an adapter 326.
The information management service 312 is provided in a network environment and configured through a user interface such as a client computer 302. A system administrator or other user can use the client computer 302 to specify configuration data for the information management service 312, including rules to apply during the classification process (such as attributes and content to look for and applicable categories based on attributes and content), applicable service levels for given categories, and/or policies to implement during the orchestration process. For example, configuration data may specify that if certain content (e.g., the term “medical”) is found in an object with certain attributes (e.g., having extension “.doc”), the object belongs to a certain category (e.g., HIPAA files), requiring a certain service level (e.g., three year retention). The policies implemented during the orchestration process may require that files within the HIPAA category be moved between different tiers of storage at various stages in their lifecycles.
While the configuration data (e.g., rules, service levels, policies, etc.) can be user-specified, default configuration data can also be used. In another embodiment of the invention, the information management service 312 can include a plurality of user-selectable configurations. Each of the user-selectable configurations can be directed to a particular industry, such as healthcare, legal, energy, high tech, etc. Typically, the configuration data—whether user-specified, user-selectable, or default—is stored in the database 316.
The configuration data necessary for performing classification operations is provided to the classifier 306. If the classifier 306 does not share a common language with the information management service 312, an adapter 326 can be provided to the classifier 306 to translate the configuration data for the classifier 306 and to translate the network information generated by the classifier 306 for the information management service 312. Optionally, the database 316 can include a library of adapters such that the information management service can delegate the classification process to any one of a plurality of classifiers. Alternately or additionally, the adapters may be downloadable from a network.
In operation, the information management service 312 obtains a list of objects 310 in need of classification. The list of objects 310 may be generated by a file discovery module within the information management service 312 or by a file manager external to the information management service 312. In either case, the information management service coordinates and synchronizes the information management processing operations, including the discovery of files and classification thereof.
For example, the information management service 312 receives the list of objects 310 from the file manager and forwards the list of objects 310 to the classifier 306. The classifier uses the configuration data received from the information management service 312 to classify the objects 310, assigning each object to one or more categories. The classifier 306 then reports classification information back to the information management system. Generally speaking, the classification information identifies objects and one or more corresponding categories.
Upon receiving the classification information from the classifier 306, the information management service 312 can use the classification information to perform service level mapping and/or orchestration operations. Alternately, one or both of these processing operations can be delegated to one or more intelligent managers (e.g., service manager and/or orchestration manager).
While the intelligent manager 306 has been described as a classifier, the intelligent manager 306 can also be a topology manager, file manager, service manager, and/or orchestration manager operating in an external computing resource. In particular, an intelligent manager 306 such as an orchestration manager can implement policies defined by a system administrator or other user of the information management service 312. For instance, lifecycle management policies can be defined that include moving objects that qualify as inactive documents between tiers of a tiered storage system at certain points in the objects' life cycles (e.g., move files inactive for 30 days or more to cheaper storage). As another example, policies can be defined that include encrypting objects that qualify as confidential objects. Such an encryption policy can include monitoring encrypted objects to ensure that such encrypted objects remain encrypted.
Intelligent delegation in the case of orchestration (e.g., delegating intelligence to an orchestration manager) can be implemented at one of three levels: delegation of treatment, delegation of policy, and injection of policy. For purposes of the present discussion, a policy identifies a filter (or category) and a treatment or action to take with respect to data objects identified by the filter (or objects within the category).
Delegation of treatment involves instructing an orchestration manager 306 to take an action with respect to one or more files. For instance, the information management service 312 can instruct a retention server 306 to store a given file for a period of time and then delete it at the end of that period of time.
Delegation of policy involves translating a policy into terms that can be understood by the orchestration manager 306 and providing the translated policy to the orchestration manager for execution. For example, a policy dictating that all files within a certain category (e.g., files of specified types in specified directories) be indexed can be translated by the adapter 326 and provided to an index server 306 for execution.
The distinction between delegation of policy and injection of policy is a subtle one. While the former involves translating a policy into terms that the orchestration manager understands, the latter involves instructing the orchestration manager 306 to “delegate upwards” the filter logic back to the information management system 312 by invoking a specified function every time it needs a decision on whether to apply the specified treatment. For instance, the information management system 312 can instruct a data leakage prevention tool (e.g., an email blocker on an email server) to monitor attachments on outgoing emails and to test each attachment by invoking a specified callback function. Attachments that fail the test process would then be blocked, or prevented from being sent.
According to one embodiment of the invention, the information management service 312 delegates one or more information management processing operations (and the required intelligence) to one or more intelligent managers and monitors the one or more intelligent managers to ensure that they are properly performing the processing operations delegated to them. Optionally, the information management service can delegate monitoring operations to a supervisory intelligent manager. In this case, the information management service 312 can monitor a single intelligent manager (e.g., the supervisory intelligent manager) rather than monitoring a plurality of intelligent managers.
A method 400 for delegating one or more information management processing operations to one or more intelligent managers will now be described with respect to FIGS. 3 and 4. The method 400 begins by receiving 405 configuration data for an information management service 312 in a network. The configuration data 405 may be stored in a database 316. Receiving the configuration data 405 may include receiving user input (i.e., through a client computer 302) configuring the information management service 312.
After receiving the configuration data, the information management service 312 delegates 410 the intelligence required to perform an information management processing operation to an external computing resource. Delegating the intelligence can include providing all or a subset of the configuration data to an intelligent manager 306. Delegating the intelligence can further include providing an adapter to the intelligent manager 306 such that the intelligent manager understands the configuration data received from the information management service 312 in the event the intelligent manager 306 and the information management service 312 do not share a common language.
Next, the delegated processes 415 are performed by the intelligent manager(s). Then, the method 400 continues by receiving 420 network information from the intelligent manager 306 after the intelligent manager performs the processing operation delegated to it. As used herein, network information includes information relating to objects within the network. For instance, the information management service 312 can receive discovery information identifying objects in the network (e.g., data, servers, services, and applications operating in the network) from the topology manager and/or the file manager, classifying information including categories assigned to each object from the classifier, service level information including service levels mapped to the assigned categories from the service manager, and orchestration information including services and/or actions proposed and/or executed for one or more objects from the orchestration manager. Optionally, the received network information can be stored by the information management service 312 in the database 316.
One important aspect of any system where the processing operations have been delegated to external computing devices is the ability to monitor the performance of the operations to ensure that the operations are performing correctly. Thus, one aspect of the invention is the ability to monitor the delegated operations without requiring a large amount of processing time.
FIG. 5 illustrates a method for monitoring the performance of delegated processing operations. First, the processing operations are delegated 505 to a series of external computers using the process and configuration described above. At the conclusion of various steps in the processing operations, monitoring information 510 is sent to the information management system indicating that an operation has performed correctly. For example, at the conclusion of the environment discovery and information classification processes, information is sent to the information management system including identifying the categories associated with the data objects in the system. By receiving this information, the information management system is able to determine that the two operations are functioning properly. Similarly, at the conclusion of the service orchestration process, the information management system may instruct the file manager to send information to the information management system indicating that the data objects have received the appropriate services.
In order to ensure that the external computing devices are actually performing their delegated tasks correctly rather than just reporting their completion, the information management system then analyzes 515 a subset of data objects to ensure the processing operations have been successful. In some situations, this may comprise performing a series of redundant information management processes on the data objects in the information management system and comparing the results of the redundant processes to the results of the processes performed in the external computing devices. For example, in configurations where the information classification has been delegated to an external computing device, monitoring the delegated process may comprise reviewing a subset of data objects to determine if the data objects contain the keywords or other information that the external computing device discovered during the delegated information classification process. In another example, a subset of the objects discovered during the environment discovery process can be analyzed to determine if they were correctly categorized. In each of these examples, the redundant processes may be compared to the results of the delegated processes and if the results differ, then the information management system may determine that at least one of the delegated processes is not operating correctly.
In other situations, a different approach may be used to determine if the delegated processes are operating correctly, wherein a subset of data objects are tested in order to determine if the correct action was applied to the files. For example, in situations where the service orchestration process has been delegated to an external device, the system may check the logic of the external device. Thus, in situations where the service orchestration should have moved a file to another location, the information management system may monitor the system to determine the location of the file to ensure that it was properly relocated. Similarly, in situations where a file should have been deleted during service orchestration, the information management system may check to ensure that the file no longer exists in the computing environment.
Advantageously, this enables the information management system to delegate processing operations to external computing devices while ensuring that the operations are functioning properly. While this method may require the information management system to perform a number of redundant operations, the information management system is able to delegate the majority of its processing operations while effectively monitoring the accuracy of the operations.
The subset of data objects may be chosen using any number of methods known in the art. Examples of data selection processes may include random selection methods, user-defined selections of subsets of data objects in specific categories of data objects, or any other selection process known in the art. Additionally, the number of data objects analyzed may be chosen so as to maximize the monitoring and detection capabilities of the system, while delegating as much processing operations as possible.
Finally, the method of monitoring the delegation of processing operations in the information management system of the invention may include generating 520 a report of the results of the analysis of the subset of data objects. Advantageously, this permits a system administrator or other user to, for example, identify the types of services currently being provided and the specific data for which such identified services are being provided. This enables a user to make better decisions about how data is stored. Thus, the user can change service levels or at least be aware of services being provided to the data. Additionally, the report enables an administrator to identify any faulty processes or operations in the system.
Information management enhances the ability of a system to manage its unstructured data across domains or enhances the ability of users to manage their data including unstructured data, across varying lines of business, and by identifying services that best meet the system's or entity's requirements. Furthermore, delegating information management processing operations to external computing resources permits an information management system to efficiently manage more information than would be possible without the delegation.
The embodiments described herein may include the use of a special purpose or general-purpose computer including various computer hardware or software modules, as discussed in greater detail below.
Embodiments within the scope of the present invention also include computer-readable media for carrying or having computer-executable instructions or data structures stored thereon. Such computer-readable media can be any available media that can be accessed by a general purpose or special purpose computer. By way of example, and not limitation, such computer-readable media can comprise RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to carry or store desired program code means in the form of computer-executable instructions or data structures and which can be accessed by a general purpose or special purpose computer. When information is transferred or provided over a network or another communications connection (either hardwired, wireless, or a combination of hardwired and wireless) to a computer, the computer properly views the connection as a computer-readable medium. Thus, any such connection is properly termed a computer-readable medium. Combinations of the above should also be included within the scope of computer-readable media.
Computer-executable instructions comprise, for example, instructions and data which cause a general purpose computer, special purpose computer, or special purpose processing device to perform a certain function or group of functions. Although the subject matter has been described in language specific to structural features and/or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are disclosed as example forms of implementing the claims.
As used herein, the term “module” or “component” can refer to software objects or routines that execute on the computing system. The different components, modules, engines, and services described herein may be implemented as objects or processes that execute on the computing system (e.g., as separate threads). While the system and methods described herein are preferably implemented in software, implementations in hardware or a combination of software and hardware are also possible and contemplated. In this description, a “computing entity” may be any computing system as previously defined herein, or any module or combination of modulates running on a computing system.
The present invention may be embodied in other specific forms without departing from its spirit or essential characteristics. The described embodiments are to be considered in all respects only as illustrative and not restrictive. The scope of the invention is, therefore, indicated by the appended claims rather than by the foregoing description. All changes which come within the meaning and range of equivalency of the claims are to be embraced within their scope.

## Claims

1. In an information management system including a series of computing resources performing a plurality of delegated information management processes, a method of performing information management, the method comprising:
performing, by an information management system, information management processing operations including:
discovering data objects in a computing system;
classifying the data objects by assigning categories to each of the data objects;
mapping the data objects to service level based on the assigned categories, wherein each of the data objects is considered individually according to the assigned categories; and
orchestrating services for the data objects based on the service levels, wherein the services are individualized for each of the data objects, wherein orchestrating services includes executing actions for one or more of the data objects and;
delegating, by the information management system, one or more of at least some of the information management processing operations to one or more external computing resources;
providing, by the information management system, the external computing resources with access to configuration data required to perform the delegated information management processing operations, wherein the external computing resources perform the delegated information management processing operations using the configuration data;
receiving network information from the external computing resources, the network information including results of the delegated information management processing operations performed by the external computing resources, wherein the information management system uses the network information in performing the information processing operations;
receiving monitoring information from the one or more external computing resources indicating that the one or more external computing resources are performing the one or more delegated information management processing operations; and
performing an analysis of a subset of data objects on which the delegated information management processing operations were performed from the information management system to ensure that the delegated information management process operations have been performed on the data objects, wherein performing an analysis of a subset of data objects includes reviewing the actions executed for at least some the subset of data objects in order to discover or detect any incomplete or incorrect processing operations.

2. The method of claim 1, wherein performing an analysis of a subset of data objects comprises performing redundant information management processing operations on the subset of data objects in order to discover or detect any incomplete or incorrect processing operations.

3. The method of claim 1, wherein the delegated information management processing operations comprise:
classifying objects according to their location in the network, the objects including data, servers and services operating in the network;
assigning categories to each of the data objects according to a series of rules;
mapping service levels, wherein each service level includes one or more services; or
orchestrating services, wherein actions proposed or actions are executed for one or more objects.

4. The method of claim 1, further comprising generating a report of the analysis of the subset of data objects indicating whether the delegated information management processing operations have been performed on the subset of data objects.

5. The method of claim 1, wherein the subset of data objects is selected randomly from the set of all data objects in the system.

6. The method of claim 4, wherein the subset of data objects is selected from the set of data objects in a category of data objects.

7. An information management system for managing information in a computing environment, the system comprising:
an information management server having at least one processor configured to perform information management, the information management server including:
an environment discovery module configured for discovering the configuration and state of environment objects within the computing environment;
a classification module configured for categorizing objects, including environment objects and data objects;
an orchestration module configured for executing policies in regard to the categorized objects, wherein the orchestration module executes actions for one or more of the data objects,
wherein the information management server:
delegates at least some operations performed by one of the environment discovery module, the classification module or the orchestration module to an external computing resource; and
provides configuration data for performing the delegated operations to the external computing resource; and
an information management module capable of performing an analysis of the delegated operations performed by the external computing resource by performing an analysis on a subset of data objects on which the delegated operations were performed,
wherein the information management system ensures that operations of the environment discovery module, classification module, and orchestration module delegated to the external computing resource are functioning properly and performs an analysis of a subset of data objects, which analysis includes reviewing the actions executed for at least some of the subset of data objects in order to discover or detect any incomplete or incorrect processing operation,
wherein the information management servers uses network information returned by the external computing resource in performing the information management in the computing environment, the network information including results of the delegated operations.

8. The system of claim 7, wherein the information management module, when performing an analysis of a subset of data objects in the information management system, performs redundant information management processing operations on the subset of data objects in order to discover or detect any incomplete or incorrect processing operations.

9. The system of claim 7, wherein the information management module generates a report of the analysis of the subset of data objects indicating whether environment discovery module, classification module, and orchestration module are functioning properly.

10. The system of claim 7, wherein the subset of data objects is selected randomly from the set of all data objects in the system.

11. The system of claim 7, wherein the subset of data objects is selected from the set of data objects in a category of objects.

12. An information management system for managing information in a computing environment, the system comprising:
an information management server having at least one processor and configured to perform information management in the computing environment, wherein performing information management includes performing operations including:
discovery operations,
information classification operations,
service level mapping operations, and
service orchestration operations,
the information management server including:
an environment discovery module configured to perform the discovery operations which include discovering a configuration and state of environment objects within the computing environment;
a classification module configured to perform the information classification operations which include categorizing objects including environment objects and data objects;
an orchestration module configured to perform the service orchestration operations which include executing policies in regard to the categorized objects and execute actions for one or more of the data objects;
wherein at least some of the discovery operations, information classification operations, service level mapping operations or service orchestration operations are delegated to an external computing resource; and
an information management module capable of performing an analysis of a subset of data objects on which the delegated operations were performed to ensure that the policies in regard to the data objects have been properly executed, wherein the analysis includes reviewing the actions executed for at least some of the subset of data objects in order to discover or detect any incomplete or incorrect processing operations,
wherein the information management module ensures that the policies in regard to the data objects have been properly executed by the external computing resource.

13. The system of claim 12, wherein the analysis of a subset of data objects in the information management system includes performing redundant information management processing operations on the subset of data objects in order to determine if the environment discovery module, classification module, and orchestration module are functioning properly.

14. The system of claim 12, wherein the analysis of a subset of data objects in the information management system includes reviewing the actions executed for a data object in order to discover or detect any incomplete or incorrect processing operations.

15. The system of claim 13, further comprising the information management module generating a report of the analysis of the subset of data objects indicating whether environment discovery module, classification module, and orchestration module are functioning properly.

16. The system of claim 13, wherein the subset of data objects is selected randomly from the set of all data objects in the system.

17. The system of claim 13, wherein the subset of data objects is selected from the set of data objects in a category of objects.