Reconfigurable data distribution system

Systems, methods and computer programs products for a reconfigurable data distribution system are described herein. An embodiment includes a stream generator that receives analog data from a plurality of sensors. Data received from sensors, for example, may include video data received from an externally mounted camera on an armored vehicle. The stream generator converts analog data received from the sensors into a digital format that can be transmitted to a router. The router forwards the data in the digital format to a display processor. The display processor formats the data received from the router for display on a display device. The display processor may also receive data from other peripherals, including but not limited to, a touch screen device or a keypad. Furthermore, the display processor may communicate with the sensors and includes all operational information needed to operate the sensors that provide data to the stream generator, regardless of the sensors' operational platform.

BACKGROUND

1. Field of the Invention

The present invention is generally directed to networking technology, and particularly to networking of sensors for military applications.

2. Background Art

Armored vehicles are increasingly using several hardware and software components to meet evolving complex combat conditions.

Where both software and hardware components are tightly coupled to their proprietary platforms, systems in armored vehicles are not able to keep pace with rapid fielding of new components and capabilities as combat conditions evolve. Furthermore, the use of different proprietary operational platforms by each component vendor leads to increased system integration costs and decreased operational situational awareness.

Also, changing requirements of systems used in armored vehicles, created by emerging threats, have resulted in unacceptable delays and system performance failures in an attempt to field new technologies in such vehicles. The result is significant programmatic cost growth and an ill equipped force unable to adequately defend against a determined enemy.

The need for a comprehensive networked system approach is growing in importance and scope due to the increasing cost of integrating subsystems into armored vehicles, particularly because these vehicles have a need to access remote sensor assets and control robotic and autonomous systems. Furthermore, the United States Department of Defense has recognized a need for an open-networked system design that incorporates multiple modular sensors, communication devices, and weapon systems into a single networked architectural solution for armored vehicles, such as the Mine Resistant Armor Protected (MRAP) vehicle.

Accordingly, systems, methods and computer program products are needed that overcome limitations with existing system integration techniques used in military applications in general, and armored vehicles in particular.

BRIEF SUMMARY

Briefly stated, the invention includes system, method, computer program product embodiments and combinations and sub-combinations thereof for reconfigurable data distribution and system integration in armored vehicles.

An embodiment includes a stream generator that receives analog data from a plurality of sensors. Data received from sensors, for example, may include video data received from an externally mounted camera on an armored vehicle. Data received from the sensors may also include analog data received from temperature, pressure or mechanical sensors. The stream generator then converts analog data received from the sensors into a digital format that can be transmitted to a router. The router forwards the data in the digital format to a display processor. The display processor formats the data received from the router for display on a display device. The display processor may also receive data from other peripherals, including but not limited to, a touch screen device or a keypad. Furthermore, the display processor may communicate with the sensors and includes all operational information needed to operate the sensors that provide data to the stream generator, regardless of the sensors' operational platform.

In this way, embodiments of the invention receive and process analog data from a plurality of sensors that may be configured to operate on vendor specific platforms. This allows embodiments of the invention to format and integrate data provided by the sensors for display on a single display console for efficient sensor and system control. Furthermore, any number of additional sensors of any type may be added to provide data to the stream generator and allow vehicles and their operators to keep pace with rapid fielding of new capabilities as combat conditions evolve. Additionally, embodiments of the invention satisfy the need of United States Department of Defense for an open-networked system design that incorporates multiple modular sensors, communication devices, and weapon systems into a single networked architectural solution for armored vehicles with accessibility at the touch of a button.

The features and advantages of the present invention will become more apparent from the detailed description set forth below when taken in conjunction with the drawings. In the drawings, like reference numbers generally indicate identical, functionally similar, and/or structurally similar elements. Generally, the drawing in which an element first appears is indicated by the leftmost digit(s) in the corresponding reference number.

DETAILED DESCRIPTION

System

FIG. 1Aillustrates a reconfigurable data distribution system, according to an embodiment of the invention. (While the following is described in terms of armored vehicles, combat environments and video data, the invention is not limited to this embodiment. The invention is applicable to any device having generally the structure ofFIG. 1, or that would benefit from the functionality as described herein.)

In an embodiment, sensors110A-N include sensors that measure any analog parameter, including but not limited to, temperature, pressure and speed. Sensors110A-N can also include cameras that generate video data. In another embodiment, sensors110A-N can function as ‘shot detectors’ and can be used to detect mortar fire or gun shots in surrounding areas. Sensors110A-N can also be mounted on motors or actuators that allow sensors110A-N to be positioned (e.g. rotated) by display processor140based on input received from sensors110A-N. In yet another embodiment, sensors110A-N can be engine and embedded platform data loggers (e.g. 1939 CAN (controller-area-network) based sensors). CAN buses and CAN based sensors are known to those skilled in the art. CAN is a vehicle bus standard designed to allow microcontrollers and devices to communicate with each other within a vehicle without a host computer.FIG. 1Gillustrates exemplary 1939 CAN based sensors, the output of which is processed by system100and displayed on display192according to methods described below. The invention is not limited to the example sensors mentioned herein, but instead is applicable to sensors of any type.

As an example, not intended to limit the invention, sensors110A-N can be mounted externally on an armored vehicle. Furthermore, sensors110A-N may wirelessly provide data to other modules in system100. In an embodiment, sensors110A-N provide data directly to stream generator120using RS-232C connectors and BNC (Bayonet Neill-Concelman) connectors.

In an embodiment, stream generator120receives analog data from sensors110A-N. Stream generator120then converts the analog data received from sensors110A-N to a stream of data over the internet protocol (IP). The stream of data includes one or more IP packets that further include digital data that corresponds to the analog data received from sensors110A-N. The IP is well known to those skilled in the art and is a protocol used for communicating data across a packet-switched network using the Internet Protocol Suite, also referred to as TCP/IP.

IP is the primary protocol in the internet layer of the internet protocol suite and has the task of delivering protocol datagrams (packets) from a source host to a destination host solely based on their addresses. For this purpose, the Internet Protocol defines addressing methods and structures for datagram encapsulation.

Therefore, in embodiments where stream generator120uses the IP protocol, both sensors110A-N and stream generator120can each be associated with unique JP addresses. Other modules in system100, such as router130, display processor140and video distributor190may also have IP addresses assigned to them.

Although the following description is described in terms of IP, it is to be appreciated that any other protocol for transmitting data provided by sensors110A-N may be used by stream generator120. In an embodiment, stream generator120may also encrypt the data received from sensors110A-N prior to transmitting the data over IP to router130. Exemplary encryption algorithms used by stream generator120, include, but are not limited to the FIPS-140 standard for cryptographic modules which include both hardware and software components for use by departments and agencies of the United States federal government.

Router130routes IP packets (or data transmitted in any other network protocol) to other modules in system100, such as display processor140. Router130may use a routing table to determine the most efficient way to route IP packets provided by stream generator120. AlthoughFIG. 1illustrates a single router130, it is to be appreciated that a system100is scalable and a plurality of routers may exist to expand the capabilities of system100.

Display processor140formats the data received from router130for display on display device192. As an example, display device192is a touch screen monitor. Display processor140may also receive data from other peripherals, including but not limited to, a touch screen device or a keypad.

In an embodiment, display processor140may communicate with sensors110A-N and includes all operational information needed to operate sensors110A-N that provide data to stream generator120. As an example, not intended to limit the invention, if sensors110A-N are cameras and generate video signals (e.g. RS-170 video signals) as output, display processor140receives data in those video signals from stream generator120digitized and encapsulated in IP packets. Display processor140then processes data encapsulated in these IP packets for display on display device192.

FIG. 1Bis an exemplary screenshot illustrating outputs from a plurality of sensors on display192, according to an embodiment of the invention.FIGS. 1C and 1Dare also exemplary screenshots of images displayed on display192, according to embodiments of the invention.FIG. 1Cillustrates a plurality of outputs from a plurality of sensors in a manner that allows cycling through different outputs. For example, and as illustrated inFIG. 1Can output being currently viewed by an operator is placed in ‘parallel’ to the display screen. Other image outputs that are available from sensors110A-N, but not being viewed by an operator, are displayed at an angle to display192. Such an arrangement of displays is intuitive, and may greatly increase user performance, especially in combat situations.

Referring toFIG. 1D, outputs from the plurality of sensors are displayed adjacent to each other, in a manner that allows an operator of system100to view multiple (or all) sensor outputs simultaneously. The exemplary display arrangement illustrated inFIG. 1Dmay be used by operators that prefer to view more than one sensor output simultaneously. It is to be appreciated that the user interfaces illustrated inFIGS. 1C and 1Dare purely illustrative and other arrangements may be used. Furthermore, a user may be able to configure any other display arrangement.

Returning to the operation of display processor140, in an embodiment, display processor140receives IP packets which include MPEG frames from IP stream generator120. Display processor140then processes and displays these MPEG frames to a user using display device192. MPEG is a well known standard for audio and video compression and transmission. As an example, display processor140may display the MPEG frames at a rate of 30 frames per second. Although the following operation is described in terms of MPEG, it is to be appreciated that any other compression or transmission algorithm may be used by embodiments of the invention.

In an embodiment, display processor140processes each MPEG frame, that corresponds to video output from sensors110A-N, using an image-processing algorithm that includes edge, motion, black and white and similarity detection techniques. Other image processing techniques may also be used by display processor140prior to providing the MPEG frames to display192.

In this way, display processor140processes all MPEG frames and allows a user to select a video generated by displaying the processed MPEG frames. For example, a user operating system100may require video distinctly displaying edges of items of interest. Using embodiments of the invention, the user may select the appropriate image processing algorithm (e.g. edge detection) to view an edge detected video on display192. Edge detection algorithms are known to those skilled in the art and include various edge detection techniques using filters such as the Sobel filter and the Canny edge detection filter.

In the embodiment where sensors110A-N are cameras, a sensor's output may include both infra-red and night vision output in addition to a generic video signal output. In such an embodiment where sensors110A-N produce at least three distinct outputs (e.g. night vision infra-red and generic video signal), display processor140may receive separate MPEG frames corresponding to each of the distinct outputs. As described earlier, display processor140may receive MPEG frames from sensors110A-N through IP packets from stream generator120. When display processor140receives separate MPEG frames corresponding to each of the distinct outputs (e.g. night vision infra-red and generic video signal), display processor140overlays and combines the MPEG frames to produce a composite output. As a purely illustrative example, display processor140provides a composite output that includes MPEG frames from both night vision and infrared outputs and can display both outputs simultaneously on display192.

In an embodiment, display processor140may analyze the data received from stream generator120for real time control of sensors110A-N. As a purely illustrative example, display processor140may analyze data received from sensors110A-N to determine a geographical location from which a shot or artillery was fired. Once the location of a fired shot has been determined, display processor140can reposition sensor110A-N to retrieve images or videos from the geographical location from which the shot or artillery was fired. As an example, display processor140can reposition sensors110A-N by providing one or more commands to actuators associated with sensors110A-N. Furthermore, display processor140may share its analysis of data received from sensors110A-N with a user using display192to aid situational awareness of the user.

FIG. 1Eillustrates an exemplary screenshot of a shot detection system's user interface according to an embodiment. As illustrated inFIG. 1E, whenever sensors110A-N detect artillery fire or similar events, a ‘shots detected’ alert is displayed on the user interface of the shot detection system. Additionally, the latitude, longitude, elevation, date, occurrence and other such parameters associated with a fired shot are also displayed on the user interface shown inFIG. 1E. In addition, the user interface may display a satellite map and a two dimensional circular grid illustrating location of the shots fired.

In an embodiment, display processor140can populate display192with parametric data received from sensors110A-N. As an example, such data received from sensors110A-N can be overlaid on any MPEG video stream generated by display processor140. For example, temperature data from thermometric sensors can be displayed textually within an MPEG video stream by embedding the textual temperature data into each MPEG frame received from stream generator120.

In another embodiment, display processor140can ‘tag’ or embed user generated content (UGC) or any other content within content received from sensors110A-N. As an example, embedding of content may be achieved by embedding an MPEG frame associated with UGC into MPEG frames generated by stream generator120.

In an embodiment, display processor140generates panoramic views of geographical regions surveyed by sensors110A-N. As an example, panoramic views can be generated by stitching a plurality of images retrieved from sensors110A-N. Image stitching techniques are well known to those skilled in the art. In another embodiment, display processor may perform image stitching between images received from sensors110A-N and images received from external devices180A-N.

In this way, an operator of an armored vehicle can obtain panoramic visual images of a combat area without exiting the armored vehicle because panoramic projections can be displayed on display192located inside the armored vehicle.

In an embodiment, display processor140may detect a similarity between a video retrieved by sensors110A-N and a video provided by external devices180A-N. As an example, display processor140can detect a similarity between a video retrieved by sensors110A-N and a video provided by external devices180A-N by comparing MPEG frames associated with the videos. In an embodiment, if a similarity is detected between MPEG frames, display processor140can tag (or embed) a MPEG frame received from external devices180A-N with information (e.g. GPS co-ordinates, temperature or barometric data) received from sensors110A-N related to the MPEG frame received from external devices180A-N. Alternatively, display processor140can tag (or embed) a MPEG frame received from sensors110A-N with information received from external devices180A-N related to the MPEG frame received from sensors110A-N.

Data repository150can be used to store any form of data associated with system100. As an example, data repository150can store video data received from sensors110A-N. In an embodiment, not intended to limit the invention, a SATA based hard disk drive is used as data repository150.

Switch160can be used to allow a user to control a plurality of sensors110A-N using input devices194A-N and display192. As an example, switch160can be a keyboard-video-mouse (KVM) switch. KVM switches are known to those skilled in the art and allow a user to control multiple computers from a single keyboard, video monitor and mouse. In another example, switch160can be a ‘KVM over IP’ device that uses video capture hardware to capture video, keyboard, and mouse signals, compress and convert them into IP packets, and send them over an Ethernet link to display processor140that unpacks and reconstitutes a dynamic graphical image. In an embodiment, switch160is NSA certified and allows classified units to be interfaced with system100through switch160. Switch160also allows a user to view any output generated by external devices180A-N using display192.

In an embodiment, a user may provide input (e.g. keyboard input) using input devices194A-N to switch160for controlling sensors110A-N. For example, a user may control sensors110A-N by using an API (Application Program Interface) associated with sensors110A-N. By providing appropriate commands to switch160in accordance with the respective APIs of the sensors110A-N, the user can re-configure (or re-purpose) or otherwise control sensors110A-N. Also, the user is able to view any output associated with sensors110A-N on display192. In this way, by using switch160, a user can control a plurality of sensors110A-N by providing appropriate commands to their APIs using input devices194A-N.

In an embodiment, if an API associated with sensors110A-N is not available (i.e. not known or no API exists), switch160translates inputs received from input devices194A-N into appropriate control voltage (or other electrical or digital signal) levels that are applied directly to sensors110A-N. As an example, not intended to limit the invention, such control voltage levels may be based on a conversion table that maps keyboard inputs to appropriate control voltage levels. Such keyboard input may be from the operator or user manual of the sensor110A-N. For example, if it is desired to activate a sensor, and the keyboard command (from the sensor's user manual) to activate the sensor is “<control>A”, then switch160can be controlled to send a “<control>A” signal to the sensor. This embodiment may be particularly useful in rapidly evolving combat scenarios where there may not be sufficient time to program APIs for sensors110A-N. Furthermore, combat personnel can rapidly interface any sensor regardless of their native (or proprietary) API to system100.

Several external military units (e.g. robotic units) include a dedicated processor unit to allow a user to easily dismount from an armored vehicle and carry the external military unit. In an embodiment, switch160allows such external units (or any other classified units) to be interfaced with system100allowing a user to view outputs from these units on display192.

Video Data Generator170

In an embodiment, video data generator170converts an input VGA (Video Graphics Array) signal received from switch160into an NTSC/PAL (National Television System Committee/Phase Alternating Line) video signal. Other video signal formats known to those skilled in the art may also be used. In an embodiment, the VGA signal received by video data generator170corresponds to the data being displayed on display192. Video data generator170also outputs a duplicate VGA signal simultaneously that corresponds to the data being displayed on display192.

In this way, video data generator170allows any signal generated by system100to be displayed in both PC compatible (i.e. VGA) and/or TV (i.e. NTSC or PAL) compatible formats allowing the display output for system100to be connected to a VGA monitor or a projector/TV requiring NTSC signals.

In an embodiment, video distributor190receives a combination of USB & VGA data from external devices180A-N. As an example, such video data may correspond to data being displayed on displays (not shown) associated with external devices180A-N.

Video distributor190may then split the VGA signals received from external devices180A-N into one or more VGA output signals and a plurality of NTSC/PAL signals.

External devices180A-N can be any external device that a user wants to interface with system100. As an example, external devices180A-N can be laptop computers or any computing device producing an output video signal. External devices180A-N can be classified or unclassified.

FIG. 1Fis a diagram illustrating an exemplary external device180A, the output of which is displayed on display192via video distributor190. As shown in theFIG. 1F, the video output of external device180A (e.g. a iROBOT® control console), is displayed on display192along with a plurality of other video streams from sensors110A-N.

In an embodiment, external devices180A-N can be connected to system100using an Ethernet port (e.g. RJ-45) associated with system100.

In an embodiment, system100can gain access to video data from external modules180A-N using protocols, including, but not limited to IP. In another embodiment, system100can communicate with external devices180A-N using a wireless medium (e.g. WiFi).

Exemplary Operation of Stream Generator

An exemplary operation of stream generator120, according to an embodiment of the invention, will now be described in detail with reference toFIG. 2.FIG. 2illustrates method200.

Method200begins with stream generator120receiving analog data from sensors110A-N (step202). As an example, not intended to limit the invention, stream generator120may receive analog video signals from sensors110A-N. In another example, stream generator120may receive temperature, barometric and pressure data from sensors110A-N.

In step204, stream generator120converts analog information received from sensors110A-N into IP packets that include a digitized representation of the analog data received in step202. As an example, stream generator120may receive analog video data from sensors110A-N and then convert the analog video data into digital MPEG frames that are carried by IP packets across system100.

In this way, stream generator120converts analog data received from sensors110A-N into digital data carried by IP packets across system100. Stream generator120thus allows a user to connect a plurality of sensors110A-N that produce analog signals to system100. Such operation of stream generator120is useful in constantly changing combat environments where armed personnel need to rapidly deploy new systems (e.g. sensors) to existing infrastructure. Such operation also helps in satisfying the need of the United States Department of Defense for an open-networked system design that incorporates multiple modular sensors, communication devices, and weapon systems into one networked architectural solution for armored vehicles.

Exemplary Operation of Display Processor

An exemplary operation of display processor140, according to an embodiment of the invention, will now be described in detail with reference toFIG. 3.FIG. 3illustrates method300.

Method300begins with display processor140receiving one or more IP packets as from stream generator120via router130(step302). As an example, IP packets received from stream generator120may include a plurality of MPEG frames associated with video data retrieved from sensors110A-N. Although method300is described in terms of IP, it is to be appreciated that any other protocol for transmitting data provided by sensors110A-N may be used by stream generator120. Furthermore, any other form of digital data other than MPEG frames can be transmitted.

In step304, display processor140processes the IP packets received from stream generator120. As described earlier, display processor140processes each MPEG frame using an image-processing algorithm that includes edge, motion, black and white and/or similarity detection techniques. Other image processing techniques may also be used by display processor140prior to providing the MPEG frames to display192.

In step306, display processor140provides the output of step304(e.g. image processed MPEG frames) to switch160and display192. As an example, display processor140can provide the MPEG frames to display192at a configurable frame rate (e.g. 30 frames per second) to display a video on display192.

In this way, display processor140processes data received from stream generator120for display. By processing data (or embedding information received from sensors110A-N into MPEG frames), display processor140allows armed personnel to efficiently view information retrieved from a plurality of sensors110A-N on a single display192. For example, if sensor110A is a video camera and sensor110B is an altimeter, display processor can display both video information from sensor110A and altitude information from sensor110B in a single display. Alternatively, altitude information from sensor110B can be embedded within video information from sensor110A as described above. Furthermore, a user can plug-in any sensor device that has been sent to the user while the user is deployed in combat, allowing for system100to be reconfigurable.

Exemplary Operation of Video Distributor

An exemplary operation of video distributor190, according to an embodiment of the invention, will now be described in detail with reference toFIG. 4.FIG. 4illustrates method400.

Method400begins with video distributor190receiving analog video data (e.g. VGA signal) from external devices180A-N (step402). As an example, external devices180A-N can be any external device(s) that a user wants to interface with system100. As an example, external devices180A-N can be laptop computers or any computing device producing an output video signal. External devices180A-N, for example, can provide analog VGA signals to video distributor190. In another example, video distributor190can receive a combination of USB & VGA signals from external devices180A-N.

In step404, video distributor190converts input VGA signals into output NTSC/PAL signals. Additionally, video distributor190generates duplicate VGA signals.

In step406, video distributor190may split the VGA signals into one or more VGA output signals and NTSC/PAL signals. This can allow multiple outputs for video distributor190.

In step408, video distributor190provides both VGA and NTSC/PAL signals to switch160. In an embodiment, switch160may provide the VGA and NTSC/PAL signals received from video distributor190to display processor140. Display processor140may then display the video data corresponding to the VGA (or NTSC/PAL) signals on display192.

In this way, video distributor190receives analog data from external devices180A-N and provides video signals (e.g. VGA and NTSC/PAL) signals to display processor140through switch160. Thus, video distributor190allows external devices180A-N to be interfaced with system100such that video data from external devices180A-N as well as sensors110A-N is displayed on a single display192.

Such operation of video distributor190is useful in constantly changing combat environments where armed personnel need to rapidly deploy new systems (e.g. laptops, sensors etc.) to existing infrastructure. Such operation also helps in satisfying the need of United States Department of Defense for an open-networked system design that incorporates multiple modular sensors, communication devices, and weapon systems into one networked architectural solution for armored vehicles.

Exemplary Operation of Video Data Generator

An exemplary operation of video data generator170, according to an embodiment of the invention, will now be described in detail with reference toFIG. 5.FIG. 5illustrates method500.

Method500begins with video data generator170receiving a VGA signal from switch160(step502). In an embodiment, this VGA signal corresponds to data displayed on display192by system100.

In step504, video data generator170converts the input VGA (or PC) signal received in step502into an PAL/NTSC (or TV) video signal. Video data generator170also simultaneously outputs a duplicate VGA signal corresponding to the input VGA signal.

In this way, video data generator170allows any video signal generated by system100to be displayed in both PC compatible and /or TV compatible formats. This allows video signals from system100to be connected to both VGA monitors or projector/TVs requiring NTSC signals.

Example Computer Embodiment

In an embodiment of the present invention, the system and components of embodiments described herein are implemented using well known computers, such as computer602shown inFIG. 6. For example, stream generator120or display processor140can be implemented using computer(s)602.

The computer602can be any commercially available and well known computer capable of performing the functions described herein, such as computers available from International Business Machines, Apple, Sun, HP, Dell, Compaq, Digital, Cray, etc.

The computer602includes one or more processors (also called central processing units, or CPUs), such as a processor606. The processor606is connected to a communication bus604.

The computer602also includes a main or primary memory608, such as random access memory (RAM). The primary memory608has stored therein control logic628A (computer software), and data.

The computer602also includes one or more secondary storage devices610. The secondary storage devices610include, for example, a hard disk drive612and/or a removable storage device or drive614, as well as other types of storage devices, such as memory cards and memory sticks. The removable storage drive614represents a floppy disk drive, a magnetic tape drive, a compact disk drive, an optical storage device, tape backup, etc.

The removable storage drive614interacts with a removable storage unit616. The removable storage unit616includes a computer useable or readable storage medium624having stored therein computer software628B (control logic) and/or data. Removable storage unit616represents a floppy disk, magnetic tape, compact disk, DVD, optical storage disk, or any other computer data storage device. The removable storage drive614reads from and/or writes to the removable storage unit616in a well known manner.

The computer602further includes a communication or network interface618. The network interface618enables the computer602to communicate with remote devices. For example, the network interface618allows the computer602to communicate over communication networks or mediums624B (representing a form of a computer useable or readable medium), such as LANs, WANs, the Internet, etc. The network interface618may interface with remote sites or networks via wired or wireless connections.

Control logic628C may be transmitted to and from the computer602via the communication medium624B. More particularly, the computer602may receive and transmit carrier waves (electromagnetic signals) modulated with control logic630via the communication medium624B.

Any apparatus or manufacture comprising a computer useable or readable medium having control logic (software) stored therein is referred to herein as a computer program product or program storage device. This includes, but is not limited to, the computer602, the main memory608, secondary storage devices610, the removable storage unit616and the carrier waves modulated with control logic630. Such computer program products, having control logic stored therein that, when executed by one or more data processing devices, cause such data processing devices to operate as described herein, represent embodiments of the invention.

The invention can work with software, hardware, and/or operating system implementations other than those described herein. Any software, hardware, and operating system implementations suitable for performing the functions described herein can be used.

Conclusion