Patent Description:
This patent document contains information and material subject to copyright protection.

Aspects of the present invention relate in general to a system and methodology for data cognition that incorporates autonomous security protection. More particularly, the invention relates to system and methodology cognitive data that perform analyses, self-manage, secure its environment, evaluate behavior, detect security problems, adapt, alert the creator of an urgent situation, and provide traceability.

Society is bombarded with malicious cybercrime. Personal and corporate data theft as well as data alteration plague our reliance on computer technology. Security and Intelligent Documents Business Unit reported an estimated <NUM> people become victims of document and identity fraud every <NUM> seconds with almost seven million victims per year. Botnets and hackers compromise networks to steal data. Cybercrime is difficult to track. A computer criminal can use open cyber cafe computers, moving from server to server, changing Internet providers, using false information to register, and can steal service from unsecured wireless access points.

Once networks are penetrated, security means to protect data such as encryption, security protocols, data access, and authentication schemes are not enough. It is widely accepted that disk encryption protects sensitive data when misappropriated. However, researchers at Princeton University demonstrated that even when encrypted, the data can easily be read without physical access to the computer. Combating cybercrime and cyberterrorism is of daunting concern among federal officials who ask "when our networks are attacked and rendered useless, how do we regain access to our data?" The Pentagon alone logged <NUM>,<NUM> successful intrusions in <NUM>. Chinese hackers penetrated U. State Department computers of which hundreds had to be replaced or taken offline for months.

Company computer systems are protected by multiple layers of security including data encryption, Digital Rights Management (DRM), and Enterprise Rights Management (ERM). These server-centric solutions require access management infrastructure such as enterprise or licensing server communication to authorize data access. However, employee misconduct and unintentional actions like errors and omissions are the greatest cause of data security breaches. Criminal activity can and does occur inside corporations and agencies. A perpetrator has ready access beyond the security measures in place. Recent high-profile laptop thefts by insiders include a Veterans Administration computer containing information on <NUM> million veterans, and a University of California-Berkeley laptop with more than <NUM>,<NUM> graduate students' data, plus others.

In addition, emergency incidences that require first responders and other government agencies to resolve an incident at the national level as defined in the U. Department of Homeland Security Nation incident Management System (NIMS) may require classified data usage. Concerns in supporting NIMS are the loss of control of classified data instantiations that were shared during the incident.

Intelligent documents are interactive electronic documents that usually require Web or network server access. Network reliance makes these solutions vulnerable to security breaches. For, even if the user is authorized to access the data, is the data still may not be protected. Upon opening the data or document, the computer environment in which it will be opened may not be secure. This scheme still relies on the network security and third party software such as virus protectors, spyware, and firewall protection. Hackers could breach the network, third party solutions may not detect the latest cyber threat, or the user may not have the latest security update.

It is very desirable to provide users with the capability of limiting their exposure to cybercrime, data breaches, and to protect data where even if a perpetrator is successful in overcoming network security barriers and obtains an instantiation of the data, it will be to no avail. Instead of relying on outside resources in application server-centric architectures, there is a need for the data itself to be intelligent and autonomous. The data itself needs to evaluate its situation and employ cognition to advance to new degrees of security and capabilities. There is a need for data to evaluate and configure its environment before it opens, to analyze behavior, perform data-to-data relationship analysis, and to take necessary measures for self-protection, self-destruction, and in certain circumstances, report back to its creator. If the data itself knows who it is, where it is, and how it should interact, it can configure and monitor the computer environment to support its own needs. There exists a strong need for data that possesses cognition and this level of security. Data that can "think for itself' and reason based on its situation could greatly advance data security and become a major roadblock for cybercrime and cyberterrorism. <CIT> is part of the prior-art.

Accordingly, one object of the present invention is to provide a system and method for cognitive data to make decisions autonomously and not rely on network, Internet, or server resources to analyze and control the environment in which it resides, whereby the data self-protect, self-manage, and if need be, alert the data creator and self-destruct.

Another object of the present invention is to provide autonomous data security, severing reliance on network-centric solutions, systems administration, network management, and the creator to ensure the environment is free from unsafe conditions before accessing the data. Embedding autonomous security into the data itself mitigates potential security incidences and human errors.

Another object of the present invention is to provide a method and system for limiting the creator's exposure to undesired data breaches and malicious cyber activity that involves theft or unscrupulous means of obtaining data by implementing a new security means of data processing wherein autonomous security can be embedded in data comprising digital documents, digital databases, digital data files, digital media, and digital multimedia.

Another object of the present invention is to provide a method and system wherein only instantiations of data that the creator is aware of exists. Therefore, the creator retains control of their data.

Another object of the present invention is remove direct access to highly sensitive data by substitution of meaningful label fields thus stripping out the highly sensitive data to further protect it from breaches and erroneous handling.

Another object of the present invention is to provide a method and system for data-to-data interrelationships behavior wherein these data can analyze and reason among themselves enabling analyses, calculations, and evaluations, thus performing intelligent situational analyses, making conditional determinations and present higher-order data conclusions.

Another object of the present invention is to create a cognition engine to enable a foundation for data intelligence, adaptivity, and reasoning.

Another object of the present invention is to provide a method and system wherein the creator is alerted to an urgent or emergency situation wherein their data is compromised and/or obtained maliciously. This alerting could resolve serious infractions enabling the creator to respond immediately to protect their privacy against situations such as identity theft through the misappropriation of data.

One more object of the invention is to provide a methodology and system in which data are self-managed and self-controlled depending on the level of security the data needs, behavior evaluations the data performs, time-of-day, frequency accessed, age, access duration, security and/or sensitivity level, and data field attributes of the particular data created according to the creator preferences.

In one embodiment of the present invention, a method and system advantageously protects user's exposure to undesired and malicious activity by employing advanced control mechanisms implemented as an embedded data processing capability. The cognitive data methodology and system permits the creator to proactively take control of whom, how, when, and if another party may possess their data. Advantageously, the disclosed methodology transforms data from a passive file that can be obtained, compromised and misused by anyone to a cognitive data instantiation that possesses environmental control and self-management offering the creator protection, security, and advanced analyses. Upon the creator associating key words, key aspects, and/or key data body elements with labels and/or functions, these can be leveraged for analyses. This capability can customize cognitive data per the creator's priorities and needs to keep sensitive data private. It also provides an intelligent means for unique configuration of the environment based on data security requirements in order to self-protect while in use. Cognitive data are managed and controlled depending on the environment, state, security, trust, and the intelligence level of the particular cognitive data instantiation. The data can perform behavior analyses to support its needs and those of its creator or user. The creator is empowered to take control over and limit access to their private sensitive data. Artificial Intelligence is also implemented to create an adaptive data cognition capability.

A method and system is disclosed for the creation and processing of cognitive data. In one embodiment, the system is a framework that comprises a cognition engine, cognitive data structure, and supportive processes in a computational environment such as a computer. Creator preferences are selected from a plurality of cognition and security levels, access and data management controls, and permissions upon creation of cognitive data. A data stripper is used to extract and encrypt highly sensitive data which may be represented with associated data field labels. The associated data field labels and other data features can be leveraged to perform data-to-data evaluation and behavior analyses. The method includes monitoring the computational environment for a change of state in an instantiation of cognitive data, determining who originally created the data, if the current user is the creator, and if the user is permitted to possess the cognitive data instantiation. If the instantiation is permitted, the security requirements are determined. Then the environment is configured accordingly, finally granting the current user access to the data dependent on the creator controls and limitations. If the instantiation is not permitted, the cognitive data performs self-analysis and self-management which comprises the data's level of insecurity, behavior analysis, data-to-data analysis, and self-destruction. When the cognitive data detects misappropriation, it alerts the creator comprising the identity of the perpetrator and their environment enabling creator remote control of the cognitive data even after a breach situation.

The features of the invention believed to be novel are specifically set forth in the appended claims. However, the invention itself, both as to its structure and method of operation, may best be understood by referring to the following description and accompanying drawings.

The present invention includes a cognitive data system and method that enables the creator of sensitive and private data to maintain control even after an intrusive breach and malicious activity. This invention offers data privacy, security, and protection to the creator. Advantageously, the systems and methods of the present invention enable consumers to regain control of their digitally stored data accomplishing privacy and autonomous data security at a new level by embedding these enabling capabilities. Along with these advantages, the creator of the data can embed proactive preferences for data management and be alerted to another party acquiring their data and the status of said data. The creator can indicate if their said data should self-destruct, thus eliminating the instantiation of the misappropriated data. This capability enables the creator to maintain remote control of their data. This invention provides users with retroactive means upon the event of a data breach or cyber attack.

For purposes of illustration only, and not to limit generality, the cognitive data system and method will be explained with reference to its use in a digital computer environment. The terms cognitive data and intelligent data are equivalent and may be interchanged herein. The states, framework, creation, data and environment management, and processing of cognitive data comprises one example of this application. The cognitive data system and method includes automated control logic that intelligently integrates data control and management functions yielding a proactive system with embedded user control preferences and data cognition. This cognitive data system and method possesses data which can be in one of at least three states:.

The cognitive data system and method can exist in a plurality environments or domains. More particularly, <FIG> is a functional block diagram showing the overall relationship of the disclosed cognitive data system <NUM> and method relative to environments or domains in which the cognitive data can reside and function. Data can exist in a creator environment <NUM> which is the environment from which the data originated (i.e., original instantiation). Data may also reside in the network environment <NUM> (e.g., an internet or network server). Data can reside in a storage environment <NUM> (e.g., media storage means, hard drives, DVDs, CD-ROMs, disk drives, media sticks, etc.). This storage environment <NUM> can be accessed either via the creator environment <NUM> directly (i.e., the media device port communication with the creator environment port via hardware or wirelessly) or indirectly via a network environment <NUM> (e.g., a local network server or residing remotely via internet resources). Finally, the data may reside in a receiving party's environment <NUM> such as a receiving party's computer. Data can be received in the receiver environment <NUM> via a storage environment <NUM> means or via a network environment <NUM> means.

An cognitive data framework <NUM> is depicted in <FIG>. This framework <NUM> comprises an Cognitive Data Processor <NUM> which enables the overall cognitive data processing, creation, cognition, and control. The Cognitive Data Framework <NUM> also comprises an Environment Processor <NUM> to configure, secure and control environment resources upon a "state" change of the cognitive data. The Environment Processor <NUM> configures and controls ports, devices, resources, and processes <NUM>. Creator preferences and resources needed to create, support, and process cognitive data are provided and stored in the environment's Cognitive Data Resources and Memory Repository <NUM>. The Cognitive Data Processor <NUM> accesses the Data Structure Processor <NUM> to create and access cognitive data.

For a functional processing example, suppose a user of an environment decides to access the Internet while a high level of security cognitive data file is active; the Environment Processor <NUM> would close the high security cognitive data file then, open the ports and activate the processes <NUM> necessary for the user to access the Internet. Conversely, these ports would be closed in order to re-open the cognitive data file. Additionally, the Cognitive Data Resources and Repository <NUM> may comprise log information, Intelligent Agents (IA) instantiations to be used and/or associated with cognitive data, stripped data (i.e., data elements or fields extracted or stripped out of the main body of an cognitive data file), and additional metadata. Access to the Cognitive Data Resources and Repository <NUM> may be restricted to provide additional protection to secure the contents.

The Cognitive Data Processor <NUM> components in this embodiment comprise a Security Level Process, Intelligence Level Process, Access Process, Data Structure Process, Stripper Process, Environment Process, and a cognition engine produce by a Multi-Agent System (MAS). The cognition engine is incorporated into the cognitive data file. A comprehensive data structure is incorporated into this processing. This embodiment produces a cognitive data set wherein a cognitive data file is produced along with an associated stripped cognitive data file containing highly sensitive information.

Further examination of the cognitive data as it relates to self-protection management requires security level knowledge. <FIG> depicts the Cognitive Data Processor <NUM> for security level processing flow. A plurality of security levels can be implemented and supported. By way of example, this embodiment obtains a security level setting from the cognitive data creator via a keyboard and/or mouse inputs at a digital computer wherein the Cognitive Data Processor <NUM> reads the desired user security level setting <NUM> from a plurality of settings comprising low <NUM>, medium <NUM>, and high <NUM> security level selection possibilities. Then the Environment Processor is called in step <NUM> as the security level selection influences the environment settings required to access and activate cognitive data. For example, the medium <NUM> security level setting may require the environment close ports to the Internet while the cognitive data file is in the "active" state.

By way of example for this embodiment, the medium <NUM> security level will incorporate the environmental settings for the low <NUM> security level plus encrypt the resulting data. Encryption can be achieved via standardized commercially available software and/or operating system calls. For example, Microsoft's Windows Operating System's Data Protection Application Programming Interface (DPAPI) consists of a pair of function calls that provide Operating System-level data protection through data encryption. Since the data protection is part of the Operating System, securing data can be achieved without the need for any specific cryptographic code other than the function calls to DPAPI. The Cryptprotect_Promptstruct is the "prompt structure" and the protected data structure holds the protected data. The two functions comprise the protect data function CryptProtectData() and the unprotect function of CryptUnprotectData().

In this example, the high <NUM> security level selection incorporates all the security means of the medium <NUM> level of security as well as strips the data. (Data stripping will be discussed later. ) The security level selection is used as an input into the Environment Processor <NUM> which configures the environment to the appropriate level of protection. Once the Environment Processor is invoked and returns this process ends <NUM>.

The Cognitive Data Processor <NUM> also provides a means for the creator to select "how smart" the cognitive data should be. <FIG> depicts the Cognitive Data Processor <NUM> intelligence level processing flow. A plurality of intelligence levels can be implemented. By way of example, this embodiment obtains an intelligence level setting from the cognitive data creator via a keyboard and/or mouse inputs wherein the Cognitive Data Processor <NUM> reads the creator selected data intelligence level setting <NUM> that ranges from "somewhat smart" <NUM>, "smart" <NUM>, and "very smart" <NUM>. For the "somewhat smart" <NUM> case, the cognitive data is created <NUM> leveraging resources from the Cognitive Data Resources and Repository <NUM>. (The smart data structure is defined later. ) If the "smart" <NUM> level of intelligence is selected, a more cognitive creation of the cognitive data structure is created (e.g., additional data fields than those in the "somewhat smart" case are used). And finally, if the "very smart" <NUM> intelligence level is selected by the creator, the maximum intelligence that can be achieved is created (i.e., all the smart data structure fields are included). Once the cognitive data structure is created in step <NUM>, this process ends <NUM>.

The Cognitive Data Processor <NUM> also uses an Access Process that provides "access to" and/or "creation of" cognitive data. <FIG> depicts a flow diagram of the Cognitive Data Processor <NUM> access process. This process commences upon being called from the Cognitive Data Processor <NUM> MAS (the MAS will be discussed later), requesting user access to the cognitive data and passing the "user_request_type" argument in step <NUM>. The Data Structure Processor is called in step <NUM> to create and/or access the cognitive data. The Intelligence Level Process is called <NUM> and the intelligence level field is read <NUM>. Then the Security Level Process is called <NUM> to obtain the security level <NUM> required to access or create the cognitive data which subsequently calls the Environment Processor to configure the computer environment to meet the needs of the security level read from the data structure. Now Access Process is ready to execute the user_request_type in step <NUM> dependent on the prior processes controls, configuration, and parameters and returns to the calling process <NUM>.

The Data Structure Processor <NUM> relies on the cognitive data file or record contents and structure. Primarily, the cognitive data file or cognitive data record structure by way of example in this embodiment comprises the following fields, metadata, and elements. Greater data cognition can be achieved upon leveraging the additional data fields for the "very smart" and "smart" cases beyond the "somewhat smart" data fields. Fields that are marked with "(vs)" are included in the "very smart" intelligence level data structure; fields marked with "(s)" are included in the "smart" intelligence level data structure; and fields marked with "(ss)" are included in the "somewhat smart" intelligence level data structure wherein a subset of these data fields comprises a less cognitive data structure:.

Note that the "creator" is uniquely identified at the first instantiation of the cognitive data creation. All other instantiations check the identity of the "current user" to determine if the original creator is the current user. This distinction is necessary to afford the original creator control of their cognitive data even from a remote environment. It should also be noted that a log is created by an event tracking means (i.e., the Tracker Agent which will be discussed later). This log data is comprised of all the data structure fields except the body. These fields assist in providing traceability of the cognitive data.

The cognitive data file or cognitive data record set is implemented as an "intelligent document", "Intelligent document" is a general term to describe electronic documents with more functionality than a page designed to emulate paper. For example, the PDF from Adobe, InfoPath from Microsoft, Cardiff Software and XForms from W3C, and the non-programming solutions AjlDocs and Intelledox are intelligent documents and are based on using XML as a format for data. Intelligent documents are essentially interactive electronic documents. This capability is used to enable the cognitive data to respond to various state changes and events as well as interact with other processes disclosed herein.

To proceed, a "trust" parameter is introduced. "Trust" is a relative confidence parameter or measure where increased "trust" infers a qualifier of security. Conversely, the "trust" parameter can be decreased to infer risk. Additional user behavior cognition implemented in accordance with the present invention may increase and decrease the "trust" parameter accordingly. A degree of trust is established where a high degree of trust may be indicated with a relatively high number, and a low degree of trust may be indicated by a relatively lower number. While the below example indicates trust using a numerical degree of trust, of course other methods of indicating trust may also be used, such as indicating trust using textual information, key words, or other indicators. Implementation of "trust" in one example comprises a scale of <NUM> through <NUM> with the following discrete indications:.

The Data Structure Processor <NUM> creates new cognitive data and activates existing cognitive data. <FIG> and <FIG> depict the flow diagram of the Data Structure Process <NUM>. This process commences with reading the header and identifier data record fields in step <NUM>. Note that no data is present if this is a new cognitive data file (i.e., prior to the creator's initial saving or writing of the media into the environment's memory). If the data is newly created (i.e., not saved before) <NUM>, then the data structure record is created <NUM>, trust" is set to ten in step <NUM> and the current environment is set to the creator environment in step <NUM>. For the case of a pre-existing cognitive data file in step <NUM>, environmental data is compared to the pre-recorded data fields in step <NUM> to determine if the environment is the same. If the environment is determined to be the same in step <NUM>, "trust" is set to ten in step <NUM> and the current environment is set to the creator environment in step <NUM>. If the environment is determined to not be the creator environment in step <NUM>, then this is an instantiation of an existing cognitive data file in a non-creator environment and in step <NUM> the trust value from the stored record will be used. Once the environment and user/creator identity has been established, user authentication is performed using means such as user access passwords in step <NUM>. Then, a check is performed in step <NUM> to determine if the security level is "high". If the security level is "high", the Stripper process is called in step <NUM> to access a highly sensitive associated cognitive data and further validate the user/creator.

Processing continues in <FIG> wherein the intelligence level is read in step <NUM> (from the prior input process <NUM>). Processing for a plurality of intelligence levels commences with a check in step <NUM> to determine if the intelligence level is "very smart". If the intelligence level is "very smart," then the predetermined resources and data structure fields for this condition are applied to produce the cognitive data record in step <NUM>. If the intelligence level is "smart" as determined in step <NUM>, then the predetermined resources and data structure fields for this condition are applied to produce the cognitive data record in step <NUM>. For the "very smart" and "smart" cases, use restrictions are set in step <NUM> and time/event controls are obtained either from the stored data or the user/creator in step <NUM>. These input restriction preferences are used to manage and limit future use of the resulting data instantiation. And finally, if the intelligence level is not "very smart" or "smart" then "somewhat smart" resources and data structure fields are used in step <NUM>.

Cognitive level resources comprise additional functionality that incorporates "how smart does the data need to be?" For example, if the creator needs the cognitive data file set exist only during a response to an emergency incident wherein the data is being shared across government agencies to support interoperability, this data file could be constrained to self-destruct (i.e., delete the instantiation of the data set) upon the end of the interoperable communication session in which it is used. Another example may comprise an expiration time upon which the data file will self-destruct or an archive time wherein the data will automatically self-archive. Self-archiving could relate to the cognitive data file zipping itself and moving into a specific memory archive location which could be memory in the Cognitive Data Repository <NUM>.

Commencing with the step of "set use restrictions" in step <NUM>, the process comprises the creator indicating the resultant data file manipulation limitations such as limiting the number of times an cognitive data file can be opened, inhibiting modification (e.g., the subsequent user cannot edit the cognitive data) or setting the duration which a data file can be viewed at any time. Processing continues to obtain the environmental resource controls and accesses in step <NUM> dependent on security and intelligence levels to be employed. Then, in step <NUM> the cognitive data record set and associated resources are written into memory and the process returns to the calling procedure in step <NUM>.

In this embodiment, "high" security level requires the use of stripping out highly sensitive data from the document data and storing it in a separate cognitive data file. Samples of highly sensitive data could comprise identity numbers such as social security numbers, names, locations, financial numbers, pricing information, etc. The Stripper process flow diagram is depicted in <FIG>. Upon a call event in step <NUM>, a check is made to determine if the data file already exists or if a new data file is being created in step <NUM>. If the data file is preexisting, then another user authentication process is performed in step <NUM> prior to opening the stripped data file in step <NUM> to add another layer of security. If the data is new in step <NUM>, then this process obtains keyword entries from the creator via the keyboard and/or mouse in step <NUM> and writes said keywords and their associated labels into separate arrays in step <NUM> to store into separate memory. This process is iterated until all keywords and their associated labels are entered into the array by steps <NUM>, <NUM>. Once completed, the cognitive data record is created for the stripped key words and another cognitive data record is created for the associated labels in step <NUM>. Then the related data names are recorded in step <NUM> (the related data names will be discussed later), and processing ends in step <NUM>.

The Stripper process incorporates an additional field for the creator to utilize called an associated label. As an example of the associated label, consider the instance where the creator selects "<NUM>-<NUM>-000AA", their bank account number, to be stripped out of cognitive data being created. Along with this, the creator associates the text field: "my bank account number" as the associated label.

Using this data-to-data interrelationship permits the creator to achieve another order of security for highly sensitive data. Therefore, when viewing the final document in this example, the "my bank account number" would appear instead of "<NUM>-<NUM>-000AA" in the resulting document. Further, the data-to-data association capability can enable advanced processing.

The process flow for the "Related Data Names" fields can be supported with a process that requests the creator or user to supply names of other data files they wish to associate with the current cognitive data file, if any. This logic can also be used for "flagging" keywords in the body or context of the data file structure. This utility can be used to support advanced data-to-data analyses. By way of example, if a cognitive data instantiation contains financial fields from the prior day's revenue of a small business, if the current cognitive data file is associated to this prior data file, analyses could be enabled that calculates and derives financial conclusions.

The environment needs to be controlled to protect the data. This is accomplished using the Environment process <NUM> flow diagram depicted in <FIG>. The Environment process <NUM> is responsible for configuring the environment to protect the cognitive data. Environment controls and settings depend on the security level required while the cognitive data is in the "active" state. This process begins in step <NUM> by obtaining the security level from the Cognitive Data Processor <NUM>. If the security level is "high" in step <NUM>, then the "high" Environment Restriction conditions are invoked in step <NUM>. Restrictions to unnecessary resources are greatest for this level of security. The "high" security level in this example comprises:.

If the security level is "medium" in step <NUM>, then the "medium" environmental restrictions are used in step <NUM>. The "medium" level is not as constrained as the "high" level. More processes may be permitted to run in the background (e.g., email) and there may be more port access without the need to first close the data file (e.g., internet access). Finally, if the security level is "low" in step <NUM> then port control access could be permitted wherein slight access to an internet connect limitations could be configured (e.g., only "trusted" sites can be visited while the cognitive data is in an "active" state). Once environmental restrictions are determined based on the security level, the environment ports and accesses (e.g., remote access) are set accordingly in step <NUM>. Then, in steps <NUM> and <NUM>, processes controls and resource controls are configured, respectively. The environment is now secured for the "active" cognitive data to be accessed by the user/creator and this process ends in step <NUM>.

Note that schemes such as "port knocking" may be incorporated to further protect the environment while the cognitive data is in an "active" state. Port knocking is used to prevent an attacker from scanning a system for potentially exploitable services thus protecting ports so they will appear closed.

The Cognitive Data Processor <NUM> in this embodiment is implemented augmenting the previously described processes with a Multi-Agent System (MAS) comprising Intelligent Agents (IAs). <FIG> depicts fundamental elements of a simple IA wherein the Intelligent Agent <NUM> program is a function that implements the agent mapping from Precepts <NUM> into Actions <NUM>. Environment Precepts <NUM> are fed into the lA's Sensors <NUM>. The Status <NUM> is "what the world is like now" for the IA. Given the said Status <NUM> and applying the lA's Rules <NUM>, yields specific Actions <NUM> taken by the IA. In a simple case, by finding a Rule <NUM> that matches the current situation (as defined by the precept), perform the Action <NUM> associated with that particular Rule <NUM>. Actions <NUM> are the inputs into Actuators <NUM> resulting in Actions taken for the environment <NUM> of the IA. More complex IAs includes learning agents that may also be employed. The overall architecture of the Cognitive Data Framework <NUM> in this embodiment is supported by a collection of these specialized Agents or lAs. Cognition is realized as a set of representations and models that interchange information between these IAs and representations. Each unit functions as a cognitive mechanism to achieve a particular aspect of intelligence, such as upon perception of an event, select appropriate action(s), etc..

The MAS for this cognitive data invention is depicted in <FIG>. A primary purpose of the MAS is to ensure the cognitive data file itself is not compromised. This MAS is comprised of a plurality of lAs that reside in the cognitive data record and/or set of records. The Watcher IA <NUM> monitors environment actions <NUM> as they relate to access and manipulation of cognitive data, the cognitive data repository, and memory. The Tracker IA <NUM> logs all events that transpire with the cognitive data. The Tracker also interfaces with the Behavior IA <NUM>. The Behavior IA <NUM> performs behavior analysis wherein behavior analysis can be of environment events, user behavior, data-to-data behavior, etc. The Health IA <NUM> determines the "state of health" of the cognitive data file set and controls the existence of the particular instantiation of cognitive data. The Snitcher IA <NUM> gathers information and reports back to the cognitive data creator. The Snitcher IA enables creator control of their data even in a compromised situation. The Watcher Agent <NUM>, Tracker Agent <NUM>, Behavior Agent <NUM>, Health Agent <NUM> and Snitcher Agent <NUM> are embedded lAs that co-exist in the same physical file or record as the Cognitive Data Structure <NUM>. The Approver IA <NUM> reports to the creator and/or user. Along with reporting, it also provides the means to interact with the said creator and/or user to manage and control the associated cognitive data.

<FIG> depicts the Watcher IA process flow diagram. The primary purpose of the Watcher IA <NUM> is to monitor and detect a change in the state of the cognitive data file <NUM>. The Watcher cognitive Data state is initially set to "dormant" in step <NUM>. Monitoring of the digital computer environment user input means (i.e., IA sensors <NUM>) commences in step <NUM>. The Watcher Agent sensors comprise input/output capabilities such as the keyboard, mouse, port communication, and operating system commands. Precepts <NUM> from the environment comprise user requests such as the following:.

Assuming an initial dormant state and upon the user selection of the cognitive data file (e.g., "open" the cognitive data file selection detected via a "click" of the mouse input device), the status <NUM> of the cognitive data file is state change is detected in step <NUM>, and the status is changed to "active" in step <NUM>. The lA's Action <NUM> upon the cognitive data file becoming "active" is to call the Tracker IA in step <NUM> (which will log this event). The following Rule <NUM> applies: <MAT> wherein the actuator <NUM> calls the Tracker IA in step <NUM>. The resulting actions for Environment <NUM> comprise invoking the Tracker IA in step <NUM> and passing the current_state data and user_request parameters as process arguments. Processing returns to monitoring for a change in state of the cognitive data file of step <NUM> after temporary memory and registers are wiped in step <NUM>. Conversely, if the state change detected is to the dormant state in step <NUM>, then the Watcher <NUM> status is maintained as "dormant" in step <NUM> and the process returns to monitoring the cognitive data file for state changes in step <NUM> after temporary memory and registers are wiped in step <NUM>. Finally, if the status change has been detected <NUM> to "moving" in step <NUM>, then the rule <NUM> is as follows: <MAT> wherein the actuator <NUM> calls the Approver IA <NUM> in step <NUM>. The results of this function provide a means to an alert to the user to a "move data" request type. Upon processing returning to the Watcher Agent process, the environment resources that accessed the cognitive data need to have the temporary memory "wiped" or written over in step <NUM> so that stored highly sensitive data such as access codes and keys thus completing the process in step <NUM>.

Primarily, the Approver IA <NUM> performs authentication checks and accommodates creator action approvals. Precepts come from the Snitcher <NUM> and the Watcher <NUM>. The cognitive data file or cognitive data record fields except the actual data body comprise the Sensors <NUM> (i.e., metadata) and their values constitute the Status <NUM>. Actions taken are dependent on the Rules <NUM> which can comprise the following:.

wherein "security acceptable" equates to the current environment settings matching or exceeding the security level data value in the cognitive data record and the trust value; "security somewhat acceptable" is dependent on Snitcher logic (to be discussed later); and "security NOT acceptable" equates to the current user identity not matching the creator identity and the absence of a sense of "trust".

<FIG> depicts a flow diagram to further explain the Approver Agent <NUM> as it relates to the Watcher Agent <NUM> and Precept <NUM>. Processing commences upon receiving a call from the Watcher Agent <NUM> in step <NUM>. A check is performed in step <NUM> to determine if the current user is the creator of the cognitive data file by comparing the cognitive data record creator identity fields with the current user identity fields. If the creator identity equals the user identity then in step <NUM> a check is performed to determine if the user_request_type is permitted based on the stored cognitive data record field settings. If the user_request_type is permitted, in step <NUM> the Access process is called passing the user_request_type argument and the process terminates in step <NUM>. However, if the user_request type is not permitted in step <NUM>, then the user is alerted of the action attempt in step <NUM> and that the action is not permitted. Thus, the request will be denied in step <NUM>. This is followed by calling the Tracker Agent <NUM> in step <NUM> to log this event and the process ends in step <NUM>. Conversely, if the user_request_type is permitted in step <NUM> then the user_request_type is permitted and processed in step <NUM>.

For the case wherein the user identity is not the same as the creator identity as identified in step <NUM> then, the "trust" field is used in step <NUM>. "Trust" is the measure in which the Approver can determine if an cognitive data record set instantiation is acceptable to the creator. This gives control to the creator of the cognitive data set. If the current user of the cognitive data is not the creator identified in step <NUM>, then in step <NUM> a check is made to determine if "trust" is equal to ten. If "trust" is equal to ten in step <NUM> then, processing commences to determine if the user request type is permitted in step <NUM>, as already explained. If "trust" is not equal to ten, then in step <NUM> the Health Agent <NUM> is called, and the process ends in step <NUM>.

The purpose of the Snitcher <NUM> is to report to the creator of the cognitive data file set. By way of example, examine the case wherein the cognitive data record is resident in a receiver environment <NUM>. Then, conditions may exist where the Snitcher <NUM> infers a breach. This event needs to be reported to the creator. This way, the creator can become apprised as to who has a copy of their cognitive data file (the receiver environment and user identity), obtain a copy of the events log (what the receiving party has done with the data), and influence the health of the particular instantiation cognitive data record.

With this in mind, <FIG> depicts a flow diagram for the Creator's Approver Agent <NUM> process upon receiving inputs from an instantiation of the Snitcher Agent <NUM>, whereupon precept <NUM> is examined. Note that this Snitcher Agent does not initially reside in the creator's environment but with the instantiation being processed. Processing commences upon reception of a Snitcher Call Event in step <NUM>. The Approver <NUM> reads the user identity data in step <NUM>, the health data in step <NUM>, and the Tracker event log data in step <NUM>. Note the Tracker event log data will be appended if the size becomes too large to embed in the Snitcher. The Snitcher size needs to be feasible for transmission. In step <NUM>, the creator may be alerted via a message printed to the creator's screen that another instantiation of the cognitive data file exists, wherein step <NUM> the creator is presented the option to indicate this condition is okay. Similarly, an alternative method for this processing step in accordance with the present invention may be to log and record approved users of the cognitive data set so the creator does not have to physically process this acknowledgement. If the creator indicates that the additional instantiation is permissible in step <NUM>, then the Snitcher is returned with "trust" set equal to ten in step <NUM>, and the process ends in step <NUM>. If the creator selects the option of further examining the incident of the instantiation in step <NUM>, then the log information and record data are displayed for the creator to examine in step <NUM>. Once examined, the creator is again presented with the option in step <NUM> and indicates acceptance or not in step <NUM>. If the creator determines that the instantiation of the cognitive data file possessed by the user reported is not permissible, then "trust" is set to zero in the Snitcher in step <NUM>, and it is returned and the process ends in step <NUM>.

The Snitcher Agent <NUM> precepts <NUM> are from Approver Agent <NUM> and Health Agent <NUM>. The Snitcher Agent <NUM> reports back to the creator Approver Agent <NUM> instantiation upon detection the cognitive data set residing in a non-creator environment. The said Snitcher Agent <NUM> instantiation reporting back to the creator Approver Agent <NUM> provides a means of control for the creator for events such as misappropriated or breached data. This gives the creator a means to learn that the said data is misappropriated, the identity of the misappropriator, and a means to attempt removal of the said breached data. <FIG> is a process flow diagram of the Snitcher Agent for the Approver Agent <NUM> precept. Processing commences upon the event of the Snitcher Agent being called by the Approver Agent <NUM>. For the case of "trust" equal to zero in step <NUM>, the Health Agent is called in step <NUM> to delete the instantiation of the cognitive data. For the case where "trust" equals ten in step <NUM>, the Health Agent is called in step <NUM> accepting the instantiation from the creator. This event of the Snitcher contacting the creator may be removed from the tracking log in step <NUM> then, the process is terminated in step <NUM>.

Note that the Snitcher Agent needs to be transmitted between the creator environment and a non-creator environment where the instantiation of the cognitive data set resides. This can be accomplished by opening the network port of the current environment and sending the Snitcher to the creator environment network identity, Internet protocol address and computer identity. The Snitcher Agent possesses the Tracking Agent log data that can be leveraged along with the last known Snitcher environment readings (just prior to Snitcher transmission) to return the Snitcher back to the non-creator environment.

Next, the Snitcher Agent for the Health Agent <NUM> precept process flow diagram in <FIG> is examined. Processing commences upon a Health Agent call event in step <NUM>. For the case of "trust" equal to zero in step <NUM>, the Approver Agent is called in step <NUM> to notify the creator that the misappropriated instantiation of the cognitive data has been deleted, and the process ends in step <NUM>. For the case where "trust" equal five in step <NUM>, the Approver Agent is called in step <NUM> to determine if the cognitive data instantiation is acceptable to the creator. A check is made in step <NUM> to determine if a response is received from the creator. If the creator responds, the "trust" value provided in the creator response is read in step <NUM> and the Health Agent is called passing along the "trust" value in step <NUM> for further processing. If the creator has not responded in step <NUM> within a specified period of time, then the user request is denied in step <NUM>, and the process is terminated in step <NUM>.

Note that additional processing may be implemented for receiving an acknowledgement from the creator <NUM>, such as inserting a timer in the process. Said timers could be used in such a way as to continue the processing after a specified time lapse upon lack of creator acknowledgement reception. Additionally, the creator environment could implement a log of user identities that are permitted to possess an instantiation of the cognitive data to automate this process.

The Health Agent determines if the data is secure and protected or in a compromised situation. It can also determine the life of the data and cause the cognitive data to self-destruct. This is accomplished by monitoring the "trust" value and processing time functions based on restrictions decided by the creator. <FIG> depicts a flow diagram for the Health Agent <NUM>. Processing commences in step <NUM> upon receiving a call from a precept with a value for the "trust" parameter. The precepts for the Health Agent comprise the Snitcher, Tracker and Approver. In step <NUM>, a check is performed to determine if the "trust" value is equal to ten. If the "trust" value is equal to ten then the data timer is checked in step <NUM> against the current date/time. Another check is made in step <NUM> to determine if the cognitive data has expired. If expired, the data is deleted in step <NUM>, and the process ends in step <NUM>. If the data has not expired in step <NUM>, then a call is made to the Access Process in step <NUM> passing the "user_request_type upon which the process ends in step <NUM>. Note that this additional cognition is achieved for the "smart" and "very smart" cases wherein the "life" of the data can be determined based on an event or time.

The Tracker Agent <NUM> records all log data for the cognitive data file thus maintaining an event history of all events that occur with the cognitive data file. This is extremely valuable upon a security breach as it enables traceability. An advanced implementation of the Tracker could include reporting incidences in real-time to security or to other third party software such as virus or firewall protection software to provide immediate or considered remediation upon a breach.

Advanced cognition implementations can be incorporated into the systems and methods of the present invention. One valuable capability is to provide behavior cognition. An implementation may possess multiple Behavior Agents wherein these agents support particular behavior analysis. By way of example, user behavior cognition can be implemented wherein the cognition can make an inference regarding appropriate use of the data. This capability could aid in detection of employee misconduct and unintentional actions that are the greatest cause of data security breaches. This capability could thus help the user and the enterprise maintain security inside the enterprise.

Consider an enterprise employee that uses a notebook computer to work on the premises and at various remote locations. The flow diagram for the Tracker Agent <NUM> with the Watcher IA <NUM> precept in <FIG>. Processing commences in step <NUM> upon receiving a call from the Watcher Agent to log an event upon which a new entry into the cognitive data record log fields is recorded in step <NUM> along with the user virtual log data fields in step <NUM>. The Behavior Agent is called in step <NUM> (which will be discussed later). Recall that the log data is comprised of all the data structure fields except the "body" field. In this example, the user virtual log data fields records usage of an enterprise notebook computer relative to the employee's work schedule and any a priori data. Virtual log fields are as defined below:.

The Behavior Agent returns with a "trust" value which is read in step <NUM>. Then, the Health Agent <NUM> is called in step <NUM> passing the "trust" parameter and ending the process in step <NUM>.

The Behavior IA <NUM> process flow diagram is depicted in <FIG> determines if the user (i.e., an enterprise employee) can gain access to user_requested cognitive data from an enterprise environment. Assume enterprise security policy applies the following rules:.

Processing commences upon a Tracker call event in step <NUM>. A check is made in step <NUM> using the log data and data structure metadata to determine if the user_request for cognitive data access being invoked in the enterprise environment is during the user's normal work schedule. Logic to create rules may comprise:.

If step <NUM> determines yes, then another check is made in step <NUM> to determine if the access request is typical user behavior. To determine this, consider the simple case of reading the frequency field of the User Virtual log wherein a flag is updated per iteration of user access to the data instantiation. A sample of logic to build rules for the "typical user behavior" would be as follows:.

A priori log events can be used to determine if the user has accessed this data before. If the user behavior is determined to be "typical" then "trust" is equated to ten in step <NUM>, and the process ends in step <NUM>. If the user behavior is "not typical" in step <NUM> then "trust" is equated to zero in step <NUM>, and the process ends in step <NUM>. For the rest of the security policy, if the current time does not fall during the normal work schedule in step <NUM>, then another check is made in step <NUM> to determine the security level. If the security level is low in step <NUM>, then "trust" is equated to ten in step <NUM>, and the process ends <NUM>. However, if security is either "high" or "medium" in step <NUM>, then "trust" is equated to zero in step <NUM>, and the process ends in step <NUM>. Similar logic can be applied for the case of the employee working remotely (i.e., the notebook computer requesting access is not at the enterprise location). If the user is determined to perform breach or erroneous behavior, the creator is notified. This capability can be valuable for corporate or government agency environments that must ensure data security.

Another approach to software implementation is to create an adaptive capability, adaptive cognitive data, by employing Artificial Intelligence (Al) techniques and algorithms. These implementations replace or augment von Neumann processing disclosed earlier. Additional functionality and enhancements can be implemented based on how intelligent the creator desires the cognitive data to become, how adaptive does the cognitive data need to be, and what additional knowledge should the cognitive data have to meet the creator's needs.

Al can be implemented throughout the MAS. By way of example, consider the determination of "trust" wherein the cognitive data reasons "do I trust the user?" This adaptive reasoning can be implemented using a discipline of AI called Fuzzy Inference (FI) logic, which possesses the antecedents of the user's work schedule, the user's current environment location, and the user's historical use of the cognitive data instantiation, and the like. The following parameters may be employed to use the Fl system:.

The FI system can process these inputs to determine the level of trust, wherein trust is the output of the FI system. The FI crisp output values for trust are X(<NUM>, <NUM>, <NUM>) complying with the logic disclosed herein.

The FI membership functions are provided in <FIG>, and <FIG>. The degree of membership of these functions range from Y(<NUM>, <NUM>). In <FIG>, the work schedule membership classifies the membership functions based on the user's work hours (i.e., time of day). The function <NUM> from <NUM> a. until around <NUM> a. classifies a "not normal work time early in the day"; function <NUM> shows a range from around <NUM> a. until around <NUM> p. and is classified as "normal work time"; and the work time after around <NUM> p. shown as function <NUM> is considered "not a normal work time late in the day".

<FIG> implements the cognitive data's inference about its environment location based up a priori data on the location and frequency of the user's access from that location. The first function <NUM> represents not recognizing the remote user environment (i.e., by checking the IP address and network information and not finding it in the event log). The membership function <NUM> represents the remote location has never been used before and until the location has been used a couple of times. Once used on additional occasions, for about two to five times, the data "somewhat knows" the remote environment, and function <NUM> (per the membership function representation) is used to represent this instance. If the user continues to repeatedly utilize the remote location, after five times the environment becomes "known" to the data, and the function is represented as function <NUM>. Of course other labels and functions may be used to denote the degree to which the system recognizes the remote user environment, and different values and time frames may be used with which to arrive at the determinations of "not known remote", "remote somewhat known" and "known remote. " Additionally, if the location is at the enterprise where the user works, the data file "knows" the environment which is an inferred membership function as the frequency of use should be a high number.

Similarly, <FIG> implements the cognitive data's membership functions about how well the data knows the user. This is based upon the frequency of the user accessing the data. The data does not consider the user "known" if the user has accessed it less than around four times as shown by function <NUM>; the data considers the user "somewhat known" if the user accesses the data around four to seven times shown by function <NUM>; and the data considers the user "known" if the user accesses it more than around seven times shown by function <NUM>. As outlined above with regard to the remote location, other labels and functions may be used to denote the degree to which the system recognizes the user, and different values and access frequency may be used with which to arrive at the determinations of "user not known", "user somewhat known" and "user known. " In the above example, these Fl antecedents are used to apply the following rules:.

<FIG> depicts the flow diagram of the unique processing required to support Fl processing. It is noted that the same initial processing flow as depicted in <FIG> may be employed to monitor for a change of state event. Subsequently, upon a determination of "trust," the Fl processing of <FIG> can be invoked wherein the processing begins upon a request to determine "trust" in step <NUM>. In step <NUM>, the time_of_day is read from the environment's system clock; user_frequency of the user accessing the data is read from the virtual log; current_environment identifying information is read; and past instances of the current_environment logged into the event log is summed to obtain the crisp inputs into the Fl system.

In step <NUM>, a check is made to determine if the current environment identification is located in the enterprise facility network. If the identity is affirmed to be at the enterprise then the user_location value is set to <NUM> in step <NUM>. If not, another check is made in step <NUM> to determine if the current environment is in the event log. If the event log produced zero events of the user's current environment then the user -location is set to zero in step <NUM> indicating that the environment is not known to the data. Otherwise, the sum total of times the user accessed the data in their current environment is set in step <NUM>, and the process continues in step <NUM>.

The time_of_day, user_location, and user_frequency are the crisp inputs into the fuzzification process wherein the FI membership functions are generated in step <NUM>. Then the Fl Rules are applied in step <NUM>. The rule that yields the strongest result is considered the consequential functional operator determining the value for "trust". Once the strongest rule is applied, the crisp value for "trust" is obtained in step <NUM>, and the process ends in step <NUM>.

For the purpose of discussion, and not for the purpose of limitation, <FIG> depicts a high level hardware implementation of the <FIG> cognitive data system. A digital computational system <NUM> employs a processing unit <NUM>. However, the functions indicated in <FIG> can be integrated together or packaged separately in numerous configurations as described later. These configurations can range from microcontroller units to Personal Computer systems, enterprise workstations, servers, gateways, network systems, and/or other hardware that accepts and processes data.

With reference to <FIG>, one exemplary system for implementing the disclosed embodiment includes a computing device or computing modules, such as a digital computing device <NUM>. The basic configuration of the computing device <NUM> comprises at least one processing unit <NUM>, removable memory <NUM>, local fixed memory <NUM> which comprises Random Access Memory (RAM) and Read Only Memory (ROM) and hard drive system memory. System memory configurations vary but typically include the memory elements stated. The computing device also includes an operating system <NUM> and a plurality of applications and processes <NUM>. The computing device <NUM> may also comprise input/output (I/O) device(s) <NUM> such as keyboard, mouse, pen, and voice input device, touch input device, a display, speakers, printer, etc. Other digital devices <NUM> interface with the computing device <NUM> via the computing device communication ports <NUM>. These additional data storage devices (removable and/or non-removable) may comprise for example, magnetic disks or optical disks, printers, modems, etc. Computer storage media comprises, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can be accessed by computing device <NUM>. Any such computer storage media may be part of device <NUM>.

To clearly describe the hardware support functions required for the cognitive data system <NUM> of <FIG>, the following example of the steps performed upon utilizing the cognitive data framework is explained along with details as they relate to the hardware. The cognitive data system and method <NUM> comprises software or hardware modules coded according to the flow diagrams of <FIG>. This code is stored in memory within controller <NUM> in one embodiment and may be stored in a computer readable medium with instructions encoded thereon to be read by cognitive data system <NUM>. When executed by processing unit <NUM>, these instructions cause the processing unit to implement the steps set forth in the flow diagrams of <FIG>. Data is accessed and stored utilizing the removable memory <NUM> and/or local fixed memory <NUM> to execute cognitive data framework application software <NUM>, as well as other applications, and processes <NUM> (e.g. other software applications such as Windows Explorer, Microsoft Office software, and the like. The cognitive data framework may be implemented as a "standalone" software application or it may be "a plug-in" application. If the cognitive data framework is a "plug-in" application, the capability would be accessed via other third-party software applications <NUM>. For example, if the cognitive data framework application is a "plug-in" for the Microsoft Word processing product, it could provide the functionality disclosed herein offering an cognitive data option to the user.

The operating system <NUM> translates the instructions into executable actions that causes hardware of the system <NUM> and other devices <NUM> to respond and function in accordance to said executable code. Other digital devices <NUM> connect to the system <NUM> via communication ports <NUM> using hardware or wirelessly. The cognitive data framework software <NUM> monitors the hardware input/output ports <NUM>, such as a keyboard and/or mouse, for creator or user selection. Upon receiving a creator or user request from an input/output device <NUM>, the cognitive data framework software instructions <NUM> are invoked. The RAM/ROM <NUM> provides the memory necessary to support the load of the executable instructions and memory to support the real-time processing. The processing unit <NUM> executing the cognitive data framework code <NUM> accesses the data storage memory <NUM> to support software executions and execution of the instructions. In one embodiment, the cognitive data resources and repository is used to store cognitive data and resources as a section of memory <NUM>. Upon sensing creator or user selection, the state of cognitive data stored in memory <NUM> or other digital device memory capabilities <NUM>, changes from dormant to "active" or "moving". The computational environment configuration is compared and configured in accordance to the configuration indicated in the stored cognitive data record fields and metadata to support the intelligence level and security level indicated by said stored cognitive data. To achieve these levels of security and intelligence, resources may be shut-down or activated accordingly (e.g., the Internet port <NUM>/<NUM> may be shut down to achieve the indicated security level required to activate and access the stored cognitive data file resources). Ports are subsequently managed (i.e., opened and closed) to transmit software from one environment to another as is the case for transmission of the Snitcher software from a receiving environment to the creator environment and back thus providing remote control for the creator of an instantiation of their data in a non-creator environment.

The disclosed method and system advantageously protects user's exposure to undesired and malicious activity by employing advanced control mechanisms implemented at or near the computational device in one embodiment. The cognitive data methodology and system permits the consumer to proactively take control of whom, how, when, and if another party may possess their data. Advantageously, the disclosed methodology transforms data from a passive file that can be obtained, compromised and misused by anyone to an adaptive cognizant, self-controllable data file that enables self-management offering the creator protection and security. This capability can customize cognitive data per the creator's priorities. It also provides an intelligent means for unique configuration of the environment in order to protect the data while in use. Cognitive data are managed and controlled depending on the environment, state, security, health, and the intelligence level of the particular cognitive data instantiation. In this manner, the user is empowered to take control over and limit access to their data.

While only certain preferred features of the invention have been shown by way of illustration, many modifications and changes will occur to those skilled in the art. For example, another embodiment may only process select or stripped data as cognitive data while all other data may not be considered as necessary to become intelligent. This invention is intended to provide the foundation enabler for data cognition. Other advanced processes can be performed leveraging the disclosed cognition capability which may comprise additional !As to increase cognition features. It is, therefore, to be understood that the present claims are intended to cover all such modifications and changes which fall within the scope of the invention.

The devices and subsystems of the exemplary embodiments of <FIG> are for exemplary purposes, as many variations of the specific hardware used to implement the exemplary embodiments are possible, as will be appreciated by those skilled in the relevant arts. For example, the functionality of one or more of the devices and subsystems of the exemplary embodiments of <FIG> can be implemented via one or more programmed computer systems or devices.

To implement such variations as well as other variations, a single computer system can be programmed to perform the special purpose functions of one or more of the devices and subsystems of the exemplary embodiments of <FIG>. On the other hand, two or more programmed computer systems or devices can be substituted for any one of the devices and subsystems of the exemplary embodiments of <FIG>. Accordingly, principles and advantages of distributed processing, such as redundancy, replication, and the like, also can be implemented, as desired, to increase the robustness and performance of the devices and subsystems of the exemplary embodiments of <FIG>.

The devices and subsystems of the exemplary embodiments of <FIG> can store information relating to various processes described herein. This information can be stored in one or more memories, such as a hard disk, optical disk, magneto-optical disk, RAM, and the like, of the devices and subsystems of the exemplary embodiments of <FIG>. One or more databases of the devices and subsystems of the exemplary embodiments of <FIG> can store the information used to implement the exemplary embodiments of the present invention. The databases can be organized using data structures (e.g., records, tables, arrays, fields, graphs, trees, lists, and the like) included in one or more memories or storage devices listed herein. The processes described with respect to the exemplary embodiments of <FIG> can include appropriate data structures for storing data collected and/or generated by the processes of the devices and subsystems of the exemplary embodiments of <FIG> in one or more databases thereof.

All or a portion of the devices and subsystems of the exemplary embodiments of <FIG> can be conveniently implemented using one or more general purpose computer systems, microprocessors, digital signal processors, microcontrollers, and the like, programmed according to the teachings of the exemplary embodiments of the present invention, as will be appreciated by those skilled in the computer and software arts. Appropriate software can be readily prepared by programmers of ordinary skill based on the teachings of the exemplary embodiments, as will be appreciated by those skilled in the software art. Further, the devices and subsystems of the exemplary embodiments of <FIG> can be implemented on the World Wide Web. In addition, the devices and subsystems of the exemplary embodiments of <FIG> can be implemented by the preparation of application-specific integrated circuits or by interconnecting an appropriate network of conventional component circuits, as will be appreciated by those skilled in the electrical arts. Thus, the exemplary embodiments are not limited to any specific combination of hardware circuitry and/or software.

As stated above, the devices and subsystems of the exemplary embodiments of <FIG> can include computer readable media or memories for holding instructions programmed according to the teachings of the present invention and for holding data structures, tables, records, and/or other data described herein. Computer readable media can include any suitable medium that participates in providing instructions to a processor for execution. Such a medium can take many forms, including but not limited to, non-volatile media, volatile media, transmission media, and the like. Non-volatile media can include, for example, optical or magnetic disks, magneto-optical disks, and the like. Volatile media can include dynamic memories, and the like. Transmission media can include coaxial cables, copper wire, fiber optics, and the like. Transmission media also can take the form of acoustic, optical, electromagnetic waves, and the like, such as those generated during radio frequency (RF) communications, infrared (IR) data communications, and the like. Common forms of computer-readable media can include, for example, a floppy disk, a flexible disk, hard disk, magnetic tape, any other suitable magnetic medium, a CD-ROM, CDRW, DVD, any other suitable optical medium, punch cards, paper tape, optical mark sheets, any other suitable physical medium with patterns of holes or other optically recognizable indicia, a RAM, a PROM, an EPROM, a FLASH-EPROM, any other suitable memory chip or cartridge, a carrier wave, or any other suitable medium from which a computer can read.

Claim 1:
A method for autonomous and adaptive data security by processing data, comprising:
executing on a processor a cognitive data file, the cognitive data file being a computer file comprising autonomous security means embedded in data for securing the data, wherein the processor is configured to perform steps comprising:
establishing an initial dormant state for the data from a plurality of states including dormant, active, and moving;
monitoring for a state change event of the data to an active or moving state;
logging the state change event and data structure fields into memory along with metadata describing the data state, wherein the metadata contains at least data creator information, current user information, and current data environment information;
establishing an indication of degree of trust of a data instantiation based on said state change event and data structure fields, wherein the degree of trust includes at least one of a degree of certainty or level of confidence that the data instantiation is permitted;
determining and applying security requirements to permit a user access to contents of the data instantiation based on the degree of trust of the data instantiation; and
managing and controlling the computational environment of said data based on the security requirements.