Method and apparatus for simultaneous viewing of two isolated data sources

A method and apparatus for simultaneously displaying data from different sources. A data processing system includes a display unit, data processing units, and data diodes. The display unit has controls that are capable of generating control signals and the display unit is capable of simultaneously displaying the data from the different sources. The data processing units are arranged in a hierarchy of rankings. Each data processing unit is capable of accessing one of the sources. The data diodes are in the connections carrying control signals from the controls to data processing units and are in connections from one data processing unit to another data processing unit. Data is capable of moving only from a lower ranked data processing unit to a higher ranked data processing unit. Data is prevented from moving from a higher ranked data processing unit from a lower ranked data processing unit.

BACKGROUND INFORMATION

The present disclosure relates generally to an improved data processing system and in particular to a method and apparatus for processing data. Still more particularly, the present disclosure relates to a method and apparatus for viewing information from different data sources.

The Internet is a global network of computers and networks joined together by means of gateways that handle data transfers. On the Internet, any computer may communicate with any other computer with information traveling over the Internet through a variety of languages, also referred to as protocols. The Internet has revolutionized communications and commerce and many businesses have presences online, in the form of websites. Further, many federal, state, and local government agencies also employ Internet sites for free information purposes and transacting business.

In addition to providing information, the Internet also is used for many commercial transactions as well as exchanging information. Businesses, government agencies, and other organizations maintain information that is considered confidential or trade secret. For example, information, such as credit information, financial information, health records, and classified government information are important to safeguard from unauthorized access.

The protection of this and other types of confidential or sensitive information becomes more and more important because of different threats that arise with increased connectivity between different computers and networks. Examples are hackers or other users who obtain unauthorized access to computer systems to steal, tamper with, or corrupt information. Further, in some cases, poor planning of networks results in an unintended dissemination or publication of information that may be considered confidential or trade secret.

Various commercial and government organizations recognize the presence of these and other threats to their information. One step taken to avoid these problems is to implement secure separated networks. These types of networks have no connection to other networks and as a result, provide a highest level of protection against data theft and maximize confidentiality of data. One draw back of an isolated network, however, is a user is prevented from exchanging messages with others outside of the private network and searching or accessing information outside of the network also is prevented. This situation may prevent users from performing valuable research on the Internet.

To gain access to other sources, current solutions include using separate computers for different levels of data. In other words, one computer may be connected to one network, while another computer is connected to the other network. These two computers have no ability to exchange data with each other. For example, one computer may display information from an unprotected source, such as the Internet, while another computer may display data that is present on a secure network that has no external access. With these two displays, a user is able to see both types of data and access information from different sources.

Other solutions include merging data onto a single computer, which creates a video display at the higher of the two security levels. In this type of system, software is used to manage the separation of unsecured and secured data.

By keeping data and video images separated on different computer display systems, more difficulty and time is needed to mentally correlate, understand, and interpret the meanings and implications of the separate data. Further, this type of solution requires two separate display systems.

Merging digital data onto a single computer system provides a possibility that the software system is unable to keep the data separate. In other words, an absence of confidence that sources of publicly available or unclassified data will not be accidentally contaminated with confidential classified data is present. Further, many government agencies and regulations do not authorize or allow for such a solution because of the potential for accidentally leaking classified data in an unclassified report.

Therefore, it would be advantageous to have a method and apparatus that provides for improved data security without the problems discussed above.

SUMMARY

The advantageous embodiments provide a method and apparatus for displaying data from different sources without allowing data from a higher ranked source to reach a lower ranked source. A data processing system includes a display unit, a plurality of data processing units, and a plurality of data diodes. The display unit has a set of controls in which the set of controls are capable of generating control signals and the display unit is capable of simultaneously displaying the data from the different sources. The data processing units are arranged in a hierarchy of rankings in which each data processing unit in the plurality of data processing units is capable of accessing one of the different sources. The plurality of data diodes are located in the connections carrying control signals from the set of controls to the plurality of data processing units and are located in connections from one data processing unit to another data processing unit such that data is capable of moving only from a lower ranked data processing unit to a higher ranked data processing unit and capable of preventing data from a higher ranked data processing unit from entering a lower ranked data processing unit in the different data processing units accessed by the different data processing units.

In another advantageous embodiment, a data processing system comprises a plurality of data processing units, a set of unidirectional links, a display and a set of user input devices. Each data processing unit in the plurality of data processing units is capable of accessing data in a different data domain in a plurality of hierarchically ranked data domains. A unidirectional link in the set of unidirectional links connects one data processing unit to another data processing unit in the plurality of data processing units such that one data processing unit in the plurality of data processing units is capable of sending data only in one direction to another data processing unit in the plurality of data processing units. The display is connected to a particular data processing unit in the plurality of data processing units capable of accessing information from a highest level data domain in the plurality of hierarchically ranked data domains.

In yet another advantageous embodiment, a method is present for processing data. Data is accessed from a plurality of data domains having a hierarchical ranking through a plurality of data processing units in which each data processing unit accesses an associated data domain in the plurality of data domains. Data is passed only in a single direction from a lower ranked data processing unit to a higher ranked data processing unit until a highest ranked data processing unit is reached. Selected data received is displayed from each lower ranked data processing unit on a display by the highest ranked data processing unit.

The features, functions, and advantages can be achieved independently in various embodiments or may be combined in yet other embodiments in which further details can be seen with reference to the following description and drawings.

DETAILED DESCRIPTION

With reference now to the figures, and in particular with reference toFIGS. 1-3, exemplary diagrams of data processing environments are provided in which illustrative embodiments may be implemented. It should be appreciated thatFIGS. 1-3are only exemplary and are not intended to assert or imply any limitation with regard to the environments in which different embodiments may be implemented. Many modifications to the depicted environments may be made.

FIG. 1depicts a representation of a network of clients in which illustrative embodiments may be implemented. Network data processing system100is a network of computers in which the illustrative embodiments may be implemented. Network data processing system100contains network102, which is the medium used to provide communications links between various devices and computers connected together within network data processing system100. Network102may include connections, such as wire, wireless communications links, or fiber optic cables.

In the depicted example, server104and server106connect to network102along with storage unit108. In addition, clients110,112, and114connect to network102. Clients110,112, and114may be, for example, personal computers or network computers. In the depicted example, server104provides data, such as boot files, operating system images, and applications to clients110,112, and114. Additionally, server104, server106, and storage108may provide repositories or collections of data that may be accessed. This access may include writing or reading data. Further, these servers also may provide services, such as access to programs or applications that may execute on the servers or that may be downloaded to clients110,112, and114.

In this example, another network data processing system is secure network116which includes server118and clients120and122. These network components only have connections to secure network116and do not have any communications or communications links with any other network. Further, client114also is a client of secure network116, in these examples. The data present in network102and secure network116are located in different “data domains”.

The different advantageous embodiments provide a client with an ability to display information from two sources, such as network102and secure network116simultaneously on the same display, while maintaining a physical separation between data in network102and data in secure network116. In these examples, the data may include, for example, word processing files, spreadsheets, graphics files, video, and voice communications. Network data processing system100may include additional servers, clients, and other devices not shown.

In recognizing the different problems associated with viewing information from different levels of security or confidentiality, the different advantageous embodiments provide a method and apparatus for displaying data from different domains. The data may be displayed simultaneously from the different data domains. In these examples, a data processing system includes data processing units, unidirectional data links, a display, and user input devices. The unidirectional links may be data diodes and the display may be a display integrating the user input devices. The data processing units are capable of accessing data in a different data domain from hierarchically ranked domains.

Further, the set of unidirectional data links are a set of one or more unidirectional data links. Each of these unidirectional data links connects one data processing to another data processing unit in a manner such that one data processing unit is capable of sending data only in one direction to another data processing unit. The display is connected to one of the data processing units that is capable of accessing information from a highest level domain in the hierarchically ranked domains.

The set of user input devices is a set of one or more user input devices and sends control signals or user input to the different data processing units. The arrangement of these different components is made in a manner that provides for an ability to transfer data from a lower data domain to a higher data domain, but prevents moving data from a higher data domain to a lower data domain.

With reference now toFIG. 2, a data processing system for simultaneously viewing two isolated data sources is depicted in accordance with an advantageous embodiment. In this example, data processing system200is an apparatus that provides for simultaneous viewing of data from two isolated data sources. Data processing system200includes display unit202, data processing unit204, and data processing unit206. Data processing unit204is connected to data processing unit206through link208, which includes data diode210. Display unit202may return user input to data processing unit204and data processing unit206through links212and214. These links include data diodes216and218, respectively. In these examples, a link provides a connection used to exchange information using a wired or wireless medium. Data processing unit206sends data in the form of video or other information to display unit202through link220.

A data diode is also referred to as a unidirectional link or connection. A data diode is a hardware device or apparatus that provides for the transfer of data in a single direction. A connection using a data diode or similar hardware is a unidirectional connection. In other words, data may be transmitted only in one direction using a particular link.

In these examples, a data diode may be hardware, such as a network cable or network card that is modified to allow data to travel in only one direction. For example, a fiber optic cable is an example of a wired link. With this type of link, one end of a fiber optic cable may be connected to a transmitter, while the other end is connected only to a receiver. This configuration provides for a transmission of data in only a single direction. A similar setup may be used for physical wire cables or wireless links such that data can only be transmitted in one direction.

Data diodes are commercially available and may be obtained from various sources, such as, for example, Tenix Pty Limited and Owl Computing Technologies, Inc. Of course, other types of unidirectional connections other than data diodes may be used, depending on the particular implementation, as long as these types of connections provide for unidirectional travel of data.

Data processing system200also includes cross domain guard222in data processing unit204and cross domain guard224in data processing unit206. These components provide protection against viruses and malware that may attempt to enter data processing unit204and data processing unit206. Cross domain guard222is designed to protect against viruses and other malware that may enter through connections to an unsecured network. Cross domain guard224is designed to protect against viruses and malware that may cross over from data processing unit204as well as from other sources within the secure network.

Also present in data processing unit204and data processing unit206, are software226and software228. This software may take various forms, depending on a particular implementation. For example, software226and software228may include applications or programs for performing searches for data, generating documents, generating spreadsheets, and performing analysis of data.

In these examples, data domain230and data domain232form a hierarchy of domains in which data domain230is the lowest level and data domain232is the higher level. In a similar fashion, data processing unit204and data processing unit206are ranked or part of a hierarchy based on their access to data domain230and data domain232. In these examples, the access may include reading and/or writing data. Further, data may include different forms of information. For example, data may include text files, spreadsheets, word processing files, video, images, programs, or audio.

Data processing unit204provides access to data domain230. In these examples, data domain230is, for example, unclassified or publicly available data. This data may be located on a hard drive connected to data processing unit204. In addition or alternatively, data domain230may be located on a remote source across a network.

Data processing unit206provides access to data domain232. In the depicted examples, data domain232is classified data or confidential. This data may be located on a storage device connected to data processing unit206and/or a remote data processing system across a network.

Further, data processing unit204may receive video input234. Video input234is unclassified video, which may be live or prerecorded. This type of video may be, for example, a video from a video conference or a news broadcast. Video input236provides access to classified confidential video. This video may be, for example, prerecorded or live video. This type of video may be, for example, a video of troop movements or a military operation. In this example, video access through video input234is part of data domain230. Video access through video input236is part of data domain232, in these examples.

In these examples, data diodes210,216and218provide for a unidirectional flow of data. The architecture of data processing system200provides a physical separation between data domain230and data domain232while allowing for simultaneous viewing of the data on display unit202. In this manner, unclassified reports may be generated by data processing systems having access to data domain230without possibility of contamination of those reports with classified information. For example, unclassified reports may be generated using data processing unit204, or some other computer having access to data domain230. Classified reports, which may include unclassified information, may be generated using data processing unit206or other computers having access to data domain232.

Further, the architecture illustrated inFIG. 2provides an ability to display information from data domain230and data domain232at the same time, on display unit202, while preventing data from data domain232from accidentally being sent into the data in data domain230.

The architecture illustrated for data processing system200inFIG. 2is presented for purposes of illustrating some advantageous embodiments. This illustration is not meant to limit the manner in which different features in different embodiments may be implemented. For example, data diodes216and218may be unnecessary if feedback is not sent from data processing unit204and data processing unit206back to display unit202.

In most cases, data sent back to pointing devices associated with display unit202may take the form of indicators, such as, a caps lock indicator, a scroll lock indicator, or initiating a sound to indicate that a user input has been received. This type of return data may not be a concern with respect to allowing data from one domain to cross into another domain. These data diodes, however, are included in these examples to provide additional redundancy.

In these examples, data diodes210,216, and218may be implemented in hardware in different components, such as within data processing unit204, data processing unit206and display unit202. In other implementations, these data diodes may be part of the cables connecting the different components. Further, additional redundancy may be achieved. For example, rather than including only data diode210, both data processing unit204and data processing unit206may include a data diode within their network or communications port connections between the data processing units.

In this manner, data processing unit204may only send data to data processing unit206over link208. Further, data processing unit206may only receive data and not return data over link208.

In these examples, the illustrations of data diodes210,216, and218are logical representations and not meant to limit the manner in which these data diodes may be implemented within the different components depicted inFIG. 2.

In this manner, the different advantageous embodiments provide an ability to display data on a single display unit from multiple separated information domains or sources without allowing data from a higher ranked source to reach a lower ranked source. A higher ranked data domain has data that is considered more sensitive, confidential, or important than a lower ranked data domain, in these examples.

Further, although only two domains, data domain230and data domain232, are shown to be separated to prevent data in data domain232from reaching data in data domain230, the different advantageous embodiments may be applied to other members of domains. For example, the different advantageous embodiments may be applied to managing three or four domains.

With reference now toFIG. 3, a diagram illustrating a data processing system for simultaneously viewing data from multiple isolated sources is depicted in accordance with an advantageous embodiment. In this example, data processing system300is capable of maintaining the separation of data from a higher level domain from a lower level domain. In this example, data processing system300includes display unit302, data processing unit304, data processing unit306and data processing unit308. As depicted, data processing system300also includes links310and312in which data diodes314and316are present. These connections provide communications links to send data from a lower data domain to an upper data domain through the different data processing units. In these examples, each data processing unit provides access to a different data domain. Each of the data domains has a different level of ranking, importance, confidentiality, classification, and/or security level.

Display unit302sends user input made to controls in or attached to display unit302back to data processing units304,306and308through links318,320, and322. Each of these links also includes data diodes324,326, and328, respectively. Data processing unit308provides a single display of data from all of the data processing units though link330.

Additionally, cross domain guards332,334, and336are found in data processing units304,306, and308, respectively. Software338,340, and342also are found in these data processing units.

Data processing unit304provides access to data domain344; data processing unit306provides access to data domain346; and data processing unit308provides access to data domain348. These different data domains are isolated sources of data, in these examples. In other words, each data domain is isolated from another data domain. In these examples, data domain344has the lowest ranking or security level. Data domain344may be data, such as that found in public sources on the Internet. Data domain346is a higher level or ranked data then data domain344. Data domain346may be, for example, company records, internal business processes, internal calendars, or other proprietary or non-public information for a business or other organization.

Data domain348has a higher classification of data domain then data domain346. Data domain348may include data that requires handling through government procedures, such as those in some defense projects. For example, data domain348may require a top secret clearance for access. Further, each of the data processing units may receive video inputs, such as video input350, video input352, and video input354.

As can be seen in this depicted example, data processing system300may maintain the separation of data between three data domains. Data from data domain344may be accessed by data processing unit304and sent to data processing unit308. In turn, data processing unit306may retrieve data from data domain346and pass the data from both data domains344and346to data processing unit308. Data processing unit308may access information from data domain348and process and/or combine data from these different data domains for display on display unit302.

The reverse transfer or movement of data, however, is physically prohibited through the use of the data diodes, in these examples. As a result, data from a high level domain, such as data domain348, cannot be transferred to data processing unit306. As a result, any possibility of information from data domain348reaching or being stored in data domain346or in data domain344is prevented. In a similar fashion, data from data domain346cannot be passed from data processing unit306back to data processing unit304for inclusion within data domain344. Of course, additional domains may be managed by adding additional data processing units and unidirectional connections.

Turning now toFIG. 4, a diagram of a data processing unit is depicted in accordance with an advantageous embodiment. In this illustrative example, data processing unit400includes communications fabric402, which provides communications between processor unit404, memory406, persistent storage408, communications unit410, input/output (I/O) unit412, and display adapter414. Data processing unit400is an example of a data processing unit that may be used to implement the different data processing units illustrated inFIGS. 2 and 3.

Memory406, in these examples, may be, for example, a random access memory. Persistent storage408may take various forms depending on the particular implementation. For example, persistent storage408may contain one or more components or devices. For example, persistent storage408may be a hard drive, a flash memory, a rewritable optical disk, a rewritable magnetic tape, or some combination of the above. The media used by persistent storage408also may be removable. For example, a removable hard drive may be used for persistent storage408.

Communications unit410, in these examples, provides for communications with other data processing systems or devices. In these examples, communications unit410is a network interface card. Communications unit410may provide communications through the use of either or both physical and wireless communications links. In these examples, communications unit410may include hardware to send data from one data processing unit to another data processing unit, such as from data processing unit204to data processing unit206inFIG. 2. In this type of implementation, communications unit410may include a data diode within the hardware to only allow data to be sent one way. For example, communications unit410may be located within data processing unit204inFIG. 2and only allow data to be sent to data processing unit206and not be turned in the other direction. In a different embodiment, data processing unit206inFIG. 2may include a data diode within the hardware that allows data to be received from data processing unit204inFIG. 2but not to be sent back in the other direction. In other embodiments, both data processing units may include a data diode for further redundancy. In yet another embodiment, the data diode may be hardware that is included in a physical cable connecting the two data processing units.

Input/output unit412allows for input and output of data with other devices that may be connected to data processing unit400. For example, input/output unit412may provide a connection for user input through a keyboard and mouse. In these examples, input/output unit412may have connections to a display unit having an integrated user input device, such as display unit202inFIG. 2or display unit302inFIG. 3. The user input device may be a touch screen or connections provided through the display unit for a keyboard or pointing device. In these examples, input/output unit412may include data diodes that only allow information to be received by data processing system400and not sent back to the user input devices. Further, input/output unit412may send output to a printer.

Display adapter414provides a mechanism to send display information to a user. In these examples, display adapter414may be used to simultaneously display information from multiple data domains on a display unit, such as display unit202inFIG. 2or display unit302inFIG. 3. In the depicted examples, display adapter414is not needed in every data processing unit within a data processing system. Only the data processing unit associated with or assigned to the highest data domain needs display adapter414. Other data processing units may include display adapter414, but those display adapters may not be used. Alternatively, the display adapters may be used to send the data from a lower domain to a higher domain in a display information format. For example, a display video signal, such as NTSC or RS-170 may be used.

Instructions for the operating system and applications or programs are located on persistent storage408. These instructions may be loaded into memory406for execution by processor unit404. The processes of the different embodiments may be performed by processor unit404using computer implemented instructions, which may be located in a memory, such as memory406. These instructions are referred to as computer usable program code or computer readable program code that may be read and executed by a processor in processor unit404.

The computer readable program code may be embodied on different physical or tangible computer readable media, such as memory406or persistent storage408.

Computer usable program code416is located in a functional form on computer readable media418and may be loaded onto or transferred to data processing system400. Computer usable program code416and computer readable media418form computer program product420in these examples. In one example, computer readable media418may be, for example, an optical or magnetic disc that is inserted or placed into a drive or other device that is part of persistent storage408for transfer onto a storage device, such as a hard drive that is part of persistent storage408. Computer readable media418also may take the form of a persistent storage, such as a hard drive or a flash memory that is connected to data processing system400.

Alternatively, computer usable program code416may be transferred to data processing unit400from computer readable media418through a communications link to communications unit410and/or through a connection to input/output unit412. The communications link and/or the connection may be physical or wireless in the illustrative examples. The computer readable media also may take the form of non-tangible media, such as communications links or wireless transmissions containing the computer readable program code.

The different components illustrated for data processing unit400are not meant to provide architectural limitations to the manner in which different embodiments may be implemented. For example, data processing unit400may be implemented using a work station, computer, or other appropriately configured computing device. The different illustrative embodiments may be implemented in a data processing system including components in addition to or in place of those illustrated for data processing system400. Other components shown inFIG. 4can be varied from the illustrative examples shown.

With reference now toFIG. 5, a flowchart of a process for accessing data located in different data domains is depicted in accordance with an advantageous embodiment. The process illustrated inFIG. 5may be implemented in a data processing system, such as data processing system200inFIG. 2or data processing system300inFIG. 3.

The process begins by accessing data from data domains having a hierarchical ranking through data processing units (operation500). In operation500, software, applications, and/or other types of code may be used to access data located at a particular data domain.

For example, a user input may be received to search for a particular key word in documents. This search may be performed by each data processing unit to identify documents corresponding to the request. Alternatively, the user input may be directed towards a document on a particular location and a particular data domain. Alternatively, the request may be for a particular video feed being input into a data processing unit in a particular domain. These data processing units have hierarchies as described above.

Next, data accessed in each data domain is passed in one direction from a lower ranked data processing unit to a higher ranked data processing unit until a highest rank data processing unit is reached (operation502). In this manner, data is passed only in one direction through the use of data diodes. With these unidirectional connections, data cannot be passed from a higher ranked domain to a lower ranked domain. As a result, more sensitive information may not enter a domain with less security or lower access restrictions. Consequently, unauthorized access from dissemination of high ranked or more secure information does not occur through the movement of data using the data processing system in the different embodiments.

When one data processing unit receives data from a lower ranked data domain, that data processing unit passes that data, plus any data that it accesses, to a higher ranked data domain. This occurs until the highest ranked data domain is reached. The data processing unit for the highest ranked data domain may then process all of the data as needed.

Thereafter, selective data received from each lower ranking data processing unit is displayed with data from a data domain associated with the highest ranked data unit on a display or display unit connected to the highest ranked data unit (operation504), with the process terminating thereafter. After processing all of the data received, plus any data accessed in the highest ranked domain, selected portions or results from the portions of that data may be displayed after being processed by the data processor unit. For example, portions of a document obtained from a lower ranked data domain may be used with text or documents in a higher ranked data domain and displayed on the display unit.

In another example, spreadsheet data from a lower ranked data domain may be received and processed with spreadsheet data from the higher ranked data domain. The results of this processing may be displayed on the display unit. In another example, weather data or video feeds from a lower ranked data domain may be presented or displayed in the display unit along with other information from the higher ranked data domain.

As a result, data from different ranked domains may be displayed on a single display, while maintaining the separation of data from a higher ranked domain and a lower ranked domain. In other words, although data from a lower ranked domain may be incorporated or placed into a higher ranked domain, data from a higher ranked domain cannot move the opposite direction and enter a lower ranked domain.

Turning now toFIG. 6, a flowchart of a process for handling user input from a set of controls is depicted in accordance with an advantageous embodiment. The process inFIG. 6may be implemented in a data processing system, such as data processing system200inFIG. 2or data processing system300inFIG. 3. In particular, this process may be implemented in each data processing unit found in a data processing system, such as the data processing units depicted inFIGS. 2 and 3. In particular, the process may be found or implemented in software executing on these data processing units.

The process begins by receiving the user input (operation600). In these examples, the user input is received through unidirectional connections from a set of controls. In these examples, the set of controls are integrated with a display. In other embodiments, the set of controls may be separate from the display.

Thereafter, a determination is made as to whether the user input is applicable to the data domain to which the user input is received (operation602). This determination is made, in this example, because the same user input is sent to each data processing unit in the data processing system. In some cases, the query may be applicable to all of the data processing units because the query may be made throughout each domain. For example, a query for a document having certain key words may be applicable to every domain accessed by the data processing system.

In other examples, the query may be only applicable to a particular data domain. For example, if a path, or location, is present in only a selected domain, then that query may be processed only in that data domain. In another example, the query may be processed in every data domain with no results, or errors, being generated, if the query is not applicable.

If the user input is applicable to the data domain, the process processes the user input (operation604). The processing may include, for example, executing a query, locating a video feed, or accessing some other data in the domain.

Thereafter, results are returned to a higher ranked data processing unit (operation606), with the process terminating thereafter. In these examples, results may be, for example, a document, a video feed, or some other file or form of data. As another example, the results may be a live voice or video conference with another user.

With reference again to operation602, if the user input is not applicable to the data domain, the process terminates. In this manner, each data processing unit may receive the same user input and access information in the domain.

With reference now toFIG. 7, a flowchart of a process for processing and displaying data is depicted in accordance with an advantageous embodiment. The process depicted inFIG. 7may be implemented in a data processing system, such as data processing system200inFIG. 2or data processing system300inFIG. 3. In particular, this process may be implemented in the highest ranked data processing unit, such as data processing unit206inFIG. 2and data processing unit308inFIG. 3. These processes may be implemented in software executing on these data processing units. Alternatively, these processes may be implemented using hardware or a combination of software or hardware.

The process begins by receiving data accessed from lower ranked data processing units (operation700). After receiving this data, the process processes this data and any other data that may have been accessed by the data processing unit associated with the highest ranked domain (operation702). Thereafter, results are displayed (operation704), with the process terminating thereafter.

In these depicted examples, the access of data has been described with respect for retrieving data for use and display in a data processing system. This access also may include the writing of data. With this type of processing of data, if the data is not present on a particular data processing unit, that data is not saved or stored on that data processing unit.

Thus, the different advantageous embodiments provide a method and apparatus for accessing data. Data may be accessed from different data domains through data processing units in which each data processing unit accesses an associated data domain. Data is passed only in a single direction from a lower ranked data processing unit to a higher ranked data processing unit until the highest ranked data processing unit is reached. Selected data, including the data received from each lower ranked data processing unit, is displayed on a display by the highest ranked data processing unit.

In this manner, data from lower ranked data domains may be accessed and used by a data processing unit in a higher ranked data domain in a manner that prevents data from higher ranked data domains from reaching or being incorporated into lower ranked data domains. As a result, with this type of architecture, inadvertent storing of data from higher data domains into lower data domains is avoided. Further, the different advantageous embodiment provide a user an ability to see data from the different data domains on a single screen, as well as processing and viewing results of different analysis of data from different data domains on a single display.

The description of different embodiments has been presented for purposes of illustration and description, and is not intended to be exhaustive or limited to the embodiments in the form disclosed. Many modifications and variations will be apparent to those of ordinary skill in the art. For example, although the different depicted embodiments integrate or attach controls for user input to the display, other embodiments may directly connect these controls to the control units in which data diodes may or may not be used. Further, different advantageous embodiments may provide different advantages as compared to other advantageous embodiments. The embodiment or embodiments selected are chosen and described in order to best explain the principles of the different advantageous embodiments, the practical application, and to enable others of ordinary skill in the art to understand the disclosure for various embodiments with various modifications as are suited to the particular use contemplated.