A device for and method of secure computing that includes a computer system having a processor; an operating-system software program loaded onto the processor; a type-II virtual machine monitor software program loaded onto the operating-system software program; a user-definable number of non-sensitive virtual-machines; a user-definable number of sensitive virtual-machines, where each sensitive virtual-machine has a user-definable sensitivity level; a user-definable number of encryption virtual-machines, where each encryption virtual-machine is connected to one of said user-definable number of sensitive virtual-machines, and where each encryption virtual-machine includes at least one encryption algorithm capable of encrypting information from the corresponding sensitive virtual-machine according to the corresponding sensitivity level; and a router virtual-machine connected to each non-sensitive virtual-machine and each encryption virtual-machine.
|
1. A device for secure computing, comprising:
a) a computer system, where the computer system includes a processor;
b) an operating-system software-program loaded onto the processor of the computer system;
c) a type-II virtual-machine monitor software-program loaded onto the operating-system software-program of the computer system;
d) a user-definable number of non-sensitive virtual-machines;
e) a user-definable number of sensitive virtual-machines, where each sensitive virtual-machine has a user-definable sensitivity level;
f) a user-definable number of encryption virtual-machines, where each encryption virtual-machine is connected to one of said user-definable number of sensitive virtual-machines, and where each encryption virtual-machine includes at least one encryption algorithm capable of encrypting information from the corresponding sensitive virtual-machine according to the corresponding sensitivity level; and
g) a router virtual-machine connected to each non-sensitive virtual-machine and each encryption virtual-machine.
9. A method of secure computing, comprising the steps of:
a) acquiring a computer system, where the computer system includes a processor;
b) loading a host operating-system software program onto the processor of the computer system;
c) loading a type-II virtual machine monitor software program onto the operating system of the computer system;
d) creating a user-definable number of non-sensitive virtual-machines;
e) creating a user-definable number of sensitive virtual-machines, where each sensitive virtual-machine has a user-definable sensitivity level;
f) creating a user-definable number of encryption virtual-machines, where each encryption virtual-machine is connected to one of said user-definable number of sensitive virtual-machines, and where each encryption virtual-machine includes at least one encryption algorithm capable of encrypting information from the corresponding sensitive virtual-machine according to the corresponding sensitivity level; and
g) creating a router virtual-machine connected to each non-sensitive virtual-machine and each encryption virtual-machine.
2. The device of
3. The device of
4. The device of
5. The device of
6. The device of
7. The device of
8. The device of
10. The method of
11. The method of
12. The method of
13. The method of
14. The method of
|
The present invention relates, in general, to electrical computers and digital processing systems, processing systems for multiple computer or process coordinating and, in particular, to virtual machine task or process management.
There is a need to access remote computer systems in a secure manner. Some previous attempts to solve this problem involved integrating security modules as applications or operating system components. These approaches could not be trusted to work properly if a computer was infected by a virus or other malicious code. Other attempts to solve this problem involved the use of separate hardware devices. One or more of the separate hardware devices were often custom devices. Custom devices typically operate differently from commercial devices and require a user to learn new operating procedures. The user was often reluctant, or unable, to do this. Furthermore, the interface of a custom device was often tailored to a particular version of current commercial devices to which it communicated. If the commercial device changed due to an advance in technology then a design change to the custom device was required. If the design change was not made then the remote-access solution containing the custom device was made obsolete. Moreover, device specific approaches to secure remote access were often not interoperable with other equipment. Therefore, there is a need for secure remote-access to a computer system that does not quickly become obsolete as technology advances. In addition, users desire computers that work like the commercial computers to which they are accustomed.
The typical computer system includes hardware (e.g., processor, keyboard, hard disk, floppy-disk, etc.) and operating-system software that runs on the processor to control the components of the computer system. A virtual machine monitor (VMM) is another software program that runs on the processor of the computer system to create a user-definable number of computing platform environments.
There are two types of virtual machine monitors. A type-I VMM runs directly on the processor of the computer system and controls all of the components of the computer system and the computer processes created therein. A type-II VMM runs on top of the operating-system software (i.e., the host operating-system software) and allows the host operating-system software to control the components of the computer system. The type-II VMM is more relevant to the present invention than the type-I VMM. A commercial product by VMware is an example of a type-II VMM.
Each computing environment created by a VMM runs operating-system software (i.e., guest operating-system software) that is either the same or different from the host operating-system software. Each computing environment is configured in software to emulate a complete computer system. These computing environments are referred to as virtual machines because they appear to the software running in them and to the user as a real computer system. However, these computer environments only exist in the software, or electronic configuration, running on the computer system. Virtual machines are useful for running old operating-system software on computer systems built to run new operating-system software and for testing the operation of experimental operating-system software.
U.S. Pat. No. 5,504,814, entitled “EFFICIENT SECURITY KERNEL FOR THE 80960 EXTENDED ARCHITECTURE,” discloses a device for implementing the standards of “Department of Defense Trusted Computer System Evaluation Criteria,” DOD 5200.28-STD, December 1985. The device is a custom device that uses virtual machines to isolate security subjects and dedicated logical resources. The device uses a single processor computer system running a single operating system. The virtual machines in U.S. Pat. No. 5,504,814 communicate with one another so that total separation does not exist between the virtual machines. The device and method of the present invention is not disclosed in U.S. Pat. No. 5,504,814. U.S. Pat. No. 5,504,814 is hereby incorporated by reference into the specification of the present invention.
U.S. Pat. No. 5,201,049, entitled “SYSTEM FOR EXECUTING APPLICATIONS PROGRAMS CONCURRENTLY/SERIALLY ON DIFFERENT VIRTUAL MACHINES,” discloses a device for and method of executing predefined segments concurrently on different assigned virtual machines at the host processor by having a virtual machine manager create a pool of virtual machines at the host processor that are either run ready or idle, letting the virtual machine pool manager decide whether or not to send a segment to a run ready virtual machine for processing or to an idle virtual machine. The device and method of the present invention is not disclosed in U.S. Pat. No. 5,201,049. U.S. Pat. No. 5,201,049 is hereby incorporated by reference into the specification of the present invention.
U.S. Pat. No. 5,893,084, entitled “METHOD FOR CREATING SPECIFIC PURPOSE RULE-BASED N-BIT VIRTUAL MACHINES,” discloses a device for and a method of implementing a virtual machine to do one specific task such as data typing, encryption, compression, arbitrary precision arithmetic, pattern recognition, data conversion, artificial intelligence, device drivers, data storage, and retrieval and digital communications and using rule sets to receive an n-bit input and produce an n-bit output, where the input and the output do not have to agree in bit length. The device and method of the present invention is not disclosed in U.S. Pat. No. 5,893,084. U.S. Pat. No. 5,893,084 is hereby incorporated by reference into the specification of the present invention.
U.S. Pat. No. 5,850,449, entitled “SECURE NETWORK PROTOCOL SYSTEM AND METHOD,” discloses a device for and a method of securely transmitting objects containing executable programs in place of conventional data packets. U.S. Pat. No. 5,850,449 implements its device and method by encrypting all transmissions, which the present invention does not. U.S. Pat. No. 5,850,449 uses a virtual machine module to execute platform independent programs (e.g., JAVA programs). The device and method of the present invention is not disclosed in U.S. Pat. No. 5,850,449. U.S. Pat. No. 5,850,449 is hereby incorporated by reference into the specification of the present invention.
It is an object of the present invention to compute securely using commercially available computer technology.
It is another object of the present invention to compute securely using commercially available computer technology by moving security functions into separate virtual machines or into the host operating system to protect them from the end-user computing environment.
The present invention is a device for and a method of secure computing that includes a computer system on which a host operating-system software program controls resources of the computer system, and a type II virtual machine monitor that runs on top of the host operating-system software to create a user-definable number of virtual machines.
In the preferred embodiment, the virtual machines created on the present invention include a user-definable number of non-sensitive virtual-machines, a user-definable number of sensitive virtual-machines, a dedicated encryption virtual-machine connected to each sensitive virtual-machine, and a router virtual-machine connected to each non-sensitive virtual-machine and each encryption virtual-machine.
In an alternate embodiment, a server is added to the device and method described above, where the server is connected to each non-sensitive virtual-machine and each sensitive virtual-machine for facilitating the transfer of information from one virtual machine to another if appropriate.
In a second alternate embodiment, a checker implemented as either a computer or a virtual machine is added to check the operation of any virtual-machine and to disconnect the router virtual-machine, in the event of a malfunction of a virtual-machine, from any network to which it is connected.
The need for secure remote access continues to grow. Previous attempts to solve this problem were hardware specific, operated differently than commercial products, became obsolete with advances in commercial computer technology, or may not have been inter-operable with other equipment.
Users want the latest technology and want it to operate in a manner that is familiar to them (e.g., commercial computer systems).
The present invention is a device for and method of secure computing that is independent of the specific physical media used for network access and may be implemented in any commercially available computer system.
Running on the host operating-system software 1 is a type II virtual-machine monitor (VMM) 2. A type II VMM 2 runs on top of the host operating-system software 1 rather than directly on the system hardware and allows a user to create a user-definable number of virtual machines under the control of the host operating-system software 1. A virtual machine is a collection of programs and data that executes under the control of the VMM running on the host operating-system software and gives the user the impression of a real computer system running under the user's sole control.
Any operating-system software (i.e., guest operating-system software) or application may be run on a virtual machine, where the guest operating-system software may be the same as, or different from, the host operating-system software or the guest operating-system software of another virtual machine. This allows older operating system and applications software to be used as newer operating systems are developed. Examples of presently available operating-system software include Windows 95, Windows 98, Windows 2000, Windows ME, Windows NT, and Linux. Any other suitable operating-system software may be used in the present invention. A user-definable number of non-sensitive virtual-machines 3 are created for processing non-sensitive (e.g., unclassified) information, where each of the non-sensitive virtual-machines 3 is isolated from, and operates independently of, any other virtual machine in the present invention. Each non-sensitive virtual-machine 3 provides access to the transport network using the protocols of the Internet. The non-sensitive virtual-machines 3 are under the control of the host operating-system software 1. In the preferred embodiment, there is one non-sensitive virtual-machine 3.
A user-definable number of sensitive virtual-machines 4 are created for processing sensitive (e.g., classified) information, where each of the sensitive virtual-machines 4 is isolated from, and operates independently of, any other virtual machine in the present invention, and where each sensitive virtual-machine 4 may process information at a sensitivity level that is either the same as, or different from, that of another sensitive virtual-machine 4. Each sensitive virtual-machine 4 provides access to a secure area in a computer system (i.e., local or remote). A secure area in a computer system is an area that is accessible only through encrypted and/or authenticated connections.
The sensitive virtual-machines 4 are under the control of the host operating-system software 1. In the preferred embodiment, there is one sensitive virtual-machine 4 for each level of sensitive information to be processed.
An encryption virtual-machine 5 is created for, and is connected to, each sensitive virtual-machine 4 created, where each encryption machine 5 includes an encryption method sufficient to protect the sensitivity of the information of the corresponding sensitive virtual-machine 4 to which it is connected. The encryption virtual-machine 5 implements Internet Protocol Security (IPSec) standard. IPSec is a standard for security at the network or packet processing layer of network communication. The encryption virtual-machines 5 are under the control of the host operating-system software 1. Each encryption virtual-machine 5 may not only provide encryption capability but also digital signature capability and key exchange capability as well. Any suitable encryption method, key exchange method, and digital signature method may be used in the present invention.
The output of each non-sensitive virtual-machine 3 and each encryption virtual-machine 5 is connected to a router virtual-machine 6. The router virtual-machine 6 provides network access and routing for the other virtual machines according to a set of rules or filters.
The router virtual-machine 6 is under control of the host operating-system software 1. The router virtual-machine 6 routes and filters information between the present invention and another remote computer system.
The present invention provides the same level of security as does an architecture that uses separate components. However, the present invention achieves this level of security on a single computer component. This has previously been unattainable. In addition, the present invention saves the expense of having to purchase separate components. The present invention also allows for the use of old operating-system software as technology advances. New capabilities (e.g., virtual machines, operating systems, and applications software) can be installed in virtual machines without affecting the security provided. New network interface hardware can also be easily installed as the user desires.
Each of the virtual machines of the present invention can use non-persistent disk storage which does not retain changes made thereto during a session. This provides security because any successful attack by a hacker or malicious code during one session is only successful for that session. Any changes, including malicious ones, can be discarded so the attack would have to be repeated on each subsequent session, which may either not be successful or may be detected during the attempt.
Wagner, Grant M., Schneider, Mark S., Meushaw, Robert V., Simard, Donald N.
Patent | Priority | Assignee | Title |
10038567, | Sep 24 2004 | Fortinet, Inc. | Scalable IP-services enabled multicast forwarding with efficient resource utilization |
10200275, | Nov 18 2002 | Fortinet, Inc. | Hardware-accelerated packet multicasting |
10375088, | Jun 04 2015 | VM-Robot, Inc. | Routing systems and methods |
10630467, | Jan 04 2019 | BLUE RIDGE NETWORKS, INC | Methods and apparatus for quantum-resistant network communication |
10848426, | Oct 17 2007 | DISPERSIVE HOLDINGS, INC ; ASSET RECOVERY ASSOCIATES, LLC | Virtual dispersive networking systems and methods |
11095610, | Sep 19 2019 | BLUE RIDGE NETWORKS, INC | Methods and apparatus for autonomous network segmentation |
11689359, | Jan 04 2019 | Blue Ridge Networks, Inc. | Methods and apparatus for quantum-resistant network communication |
7272799, | Apr 19 2001 | Hitachi, LTD | Virtual machine system and virtual machine control method |
7386885, | Jul 03 2007 | Kaspersky Lab, ZAO | Constraint-based and attribute-based security system for controlling software component interaction |
7389358, | Sep 13 2000 | Fortinet, INC | Distributed virtual system to support managed, network-based services |
7415512, | May 24 2001 | Cisco Technology, Inc. | Method and apparatus for providing a general purpose computing platform at a router on a network |
7428636, | Apr 26 2001 | VMware, Inc.; VMWARE, INC | Selective encryption system and method for I/O operations |
7428754, | Aug 17 2004 | The MITRE Corporation | System for secure computing using defense-in-depth architecture |
7444398, | Sep 13 2000 | Fortinet, INC | System and method for delivering security services |
7499419, | Sep 24 2004 | COSINE COMMUNICATIONS, INC | Scalable IP-services enabled multicast forwarding with efficient resource utilization |
7522604, | Jun 04 2002 | GOOGLE LLC | Routing traffic through a virtual router-based network switch |
7539744, | Sep 13 2000 | Cisco Technology, Inc | Network operating system for maintaining redundant master control blade management information |
7574495, | Sep 13 2000 | Fortinet, INC | System and method for managing interworking communications protocols |
7580373, | Jun 28 2001 | Fortinet, Inc. | Identifying nodes in a ring network |
7587595, | May 13 2005 | TAHOE RESEARCH, LTD | Method and apparatus for providing software-based security coprocessors |
7587633, | Aug 29 2002 | GOOGLE LLC | Fault tolerant routing in a network routing system based on a passive replication approach |
7607011, | Jul 16 2004 | Rockwell Collins, Inc.; Rockwell Collins, Inc | System and method for multi-level security on a network |
7613921, | May 13 2005 | TAHOE RESEARCH, LTD | Method and apparatus for remotely provisioning software-based security coprocessors |
7636442, | May 13 2005 | TAHOE RESEARCH, LTD | Method and apparatus for migrating software-based security coprocessors |
7639632, | Sep 13 2000 | Fortinet, Inc. | System and method for managing and provisioning virtual routers |
7668087, | Jun 04 2002 | GOOGLE LLC | Hierarchical metering in a virtual router-based network switch |
7690033, | Sep 28 2004 | VIIRII, LLC | Electronic computer system secured from unauthorized access to and manipulation of data |
7720053, | Jun 04 2002 | Fortinet, Inc. | Service processing switch |
7720095, | Aug 27 2003 | Fortinet, INC | Heterogeneous media packet bridging |
7721285, | Apr 19 2001 | Hitachi, Ltd. | Virtual machine system and virtual machine control method |
7730535, | Jul 03 2007 | Kaspersky Lab, ZAO | Constraint-based and attribute-based security system for controlling software component interaction |
7748005, | Jan 28 2000 | VALTRUS INNOVATIONS LIMITED | System and method for allocating a plurality of resources between a plurality of computing domains |
7761743, | Aug 29 2002 | GOOGLE LLC | Fault tolerant routing in a non-hot-standby configuration of a network routing system |
7788713, | Jun 23 2004 | Intel Corporation | Method, apparatus and system for virtualized peer-to-peer proxy services |
7808904, | Nov 18 2004 | Fortinet, INC | Method and apparatus for managing subscriber profiles |
7843813, | Nov 18 2004 | Fortinet, INC | Managing hierarchically organized subscriber profiles |
7869361, | Nov 18 2004 | Fortinet, INC | Managing hierarchically organized subscriber profiles |
7876683, | Nov 18 2004 | Fortinet, INC | Managing hierarchically organized subscriber profiles |
7881244, | Sep 24 2004 | Fortinet, Inc. | Scalable IP-services enabled multicast forwarding with efficient resource utilization |
7885207, | Sep 13 2000 | Fortinet, Inc. | Managing and provisioning virtual routers |
7890663, | Jun 28 2001 | Fortinet, Inc. | Identifying nodes in a ring network |
7890754, | May 30 2003 | VMware, Inc. | Selective encryption system and method for I/O operations |
7895348, | Oct 17 2007 | DISPERSIVE HOLDINGS, INC ; ASSET RECOVERY ASSOCIATES, LLC | Virtual dispersive routing |
7912936, | Sep 13 2000 | Managing interworking communications protocols | |
7933269, | Nov 18 2002 | Fortinet, Inc. | Hardware-accelerated packet multicasting in a virtual routing system |
7961615, | Nov 18 2004 | Fortinet, INC | Managing hierarchically organized subscriber profiles |
8024727, | Jun 15 2006 | Microsoft Technology Licensing, LLC | Enhancing or replacing host operating system functionality by leveraging guest operating system functionality |
8060877, | Apr 26 2001 | VMware, Inc. | Undefeatable transformation for virtual machine I/O operations |
8064462, | Jun 04 2002 | Fortinet, Inc. | Service processing switch |
8064605, | Sep 27 2007 | Intel Corporation | Methods and apparatus for providing upgradeable key bindings for trusted platform modules |
8068613, | May 13 2005 | TAHOE RESEARCH, LTD | Method and apparatus for remotely provisioning software-based security coprocessors |
8069233, | Sep 13 2000 | Cisco Technology, Inc | Switch management system and method |
8085776, | Jun 04 2002 | Fortinet, Inc. | Methods and systems for a distributed provider edge |
8086873, | Jun 05 2006 | Lenovo PC International | Method for controlling file access on computer systems |
8111690, | Jun 04 2002 | GOOGLE LLC | Routing traffic through a virtual router-based network switch |
8151337, | Jun 30 2006 | Microsoft Technology Licensing, LLC | Applying firewalls to virtualized environments |
8176336, | Dec 19 2008 | EMC IP HOLDING COMPANY LLC | Software trusted computing base |
8208409, | Jun 28 2001 | Fortinet, Inc. | Identifying nodes in a ring network |
8213347, | Sep 24 2004 | Fortinet, Inc. | Scalable IP-services enabled multicast forwarding with efficient resource utilization |
8249257, | Sep 28 2007 | Intel Corporation | Virtual TPM keys rooted in a hardware TPM |
8250357, | Sep 13 2000 | Fortinet, INC | Tunnel interface for securing traffic over a network |
8260918, | Sep 13 2000 | Fortinet, Inc. | Packet routing system and method |
8306040, | Jun 04 2002 | Cisco Technology, Inc | Network packet steering via configurable association of processing resources and network interfaces |
8320279, | Sep 13 2000 | Fortinet, Inc. | Managing and provisioning virtual routers |
8341291, | Oct 17 2007 | DISPERSIVE HOLDINGS, INC ; ASSET RECOVERY ASSOCIATES, LLC | Network communications of application running on device utilizing virtual network connection and routing protocol based on application connection criteria |
8341292, | Oct 17 2007 | DISPERSIVE HOLDINGS, INC ; ASSET RECOVERY ASSOCIATES, LLC | Network communications of applications running on device utilizing different virtual network connections with different routing protocols |
8352636, | Oct 17 2007 | DISPERSIVE HOLDINGS, INC ; ASSET RECOVERY ASSOCIATES, LLC | Transmitting packets from device in network communications with other device utilizing multiple virtual network connections |
8369258, | Sep 24 2004 | Fortinet, Inc. | Scalable IP-services enabled multicast forwarding with efficient resource utilization |
8412982, | Aug 29 2002 | GOOGLE LLC | Fault tolerant routing in a non-hot-standby configuration of a network routing system |
8423664, | Oct 17 2007 | DISPERSIVE HOLDINGS, INC ; ASSET RECOVERY ASSOCIATES, LLC | Network communications of application running on device utilizing multiple virtual network connections |
8429226, | Oct 17 2007 | DISPERSIVE HOLDINGS, INC ; ASSET RECOVERY ASSOCIATES, LLC | Facilitating network communications with control server, hosting server, and devices utilizing virtual network connections |
8429293, | Oct 17 2007 | DISPERSIVE HOLDINGS, INC ; ASSET RECOVERY ASSOCIATES, LLC | IP server facilitating network communications between devices utilizing virtual network connections |
8433818, | Oct 17 2007 | DISPERSIVE HOLDINGS, INC ; ASSET RECOVERY ASSOCIATES, LLC | Network communications of application running on device utilizing virtual network connections with redundancy |
8433819, | Oct 17 2007 | DISPERSIVE HOLDINGS, INC ; ASSET RECOVERY ASSOCIATES, LLC | Facilitating download of requested data from server utilizing virtual network connections between client devices |
8437345, | Jul 09 2003 | Hitachi, LTD | Terminal and communication system |
8443364, | Apr 19 2001 | Hitachi, Ltd. | Virtual machine system and virtual machine control method |
8447882, | Oct 17 2007 | DISPERSIVE HOLDINGS, INC ; ASSET RECOVERY ASSOCIATES, LLC | Software router facilitating network communications between devices utilizing virtual network connections |
8503463, | Aug 27 2003 | Fortinet, Inc. | Heterogeneous media packet bridging |
8539098, | Oct 17 2007 | DISPERSIVE HOLDINGS, INC ; ASSET RECOVERY ASSOCIATES, LLC | Multiplexed client server (MCS) communications and systems |
8560634, | Oct 17 2007 | DISPERSIVE HOLDINGS, INC ; ASSET RECOVERY ASSOCIATES, LLC | Apparatus, systems and methods utilizing dispersive networking |
8565437, | May 13 2005 | TAHOE RESEARCH, LTD | Method and apparatus for remotely provisioning software-based security coprocessors |
8583800, | Sep 13 2000 | Fortinet, Inc. | Packet routing system and method |
8590005, | Jun 08 2011 | Adventium Enterprises, LLC | Multi-domain information sharing |
8650390, | Sep 13 2000 | Fortinet, Inc. | Tunnel interface for securing traffic over a network |
8677510, | Apr 06 2012 | GEE, KAROLYN | System, method, and device for communicating and storing and delivering data |
8819486, | Aug 29 2002 | GOOGLE LLC | Fault tolerant routing in a non-hot-standby configuration of a network routing system |
8848704, | Oct 17 2007 | DISPERSIVE HOLDINGS, INC ; ASSET RECOVERY ASSOCIATES, LLC | Facilitating network routing using virtualization |
8848718, | Jun 04 2002 | GOOGLE LLC | Hierarchical metering in a virtual router-based network switch |
8925064, | Jun 28 2012 | The United States of America as represented by the Secretary of the Navy | Covert high assurance personal computer with local network (CHAPLN) |
8941659, | Jan 28 2011 | DISPERSIVE HOLDINGS, INC | Medical symptoms tracking apparatus, methods and systems |
8953806, | May 13 2005 | TAHOE RESEARCH, LTD | Method and apparatus for remotely provisioning software-based security coprocessors |
8953807, | May 13 2005 | TAHOE RESEARCH, LTD | Method and apparatus for remotely provisioning software-based security coprocessors |
8955110, | Jan 14 2011 | DISPERSIVE HOLDINGS, INC ; ASSET RECOVERY ASSOCIATES, LLC | IP jamming systems utilizing virtual dispersive networking |
8959627, | Oct 17 2007 | DISPERSIVE HOLDINGS, INC ; ASSET RECOVERY ASSOCIATES, LLC | Quarantining packets received at device in network communications utilizing virtual network connection |
9003539, | Jun 27 2003 | Disney Enterprises, Inc. | Multi virtual machine architecture for media devices |
9055042, | Oct 17 2007 | DISPERSIVE HOLDINGS, INC ; ASSET RECOVERY ASSOCIATES, LLC | Providing network communications satisfying application requirements using virtualization |
9059975, | Oct 17 2007 | DISPERSIVE HOLDINGS, INC ; ASSET RECOVERY ASSOCIATES, LLC | Providing network communications using virtualization based on protocol information in packet |
9071607, | Oct 17 2007 | DISPERSIVE HOLDINGS, INC ; ASSET RECOVERY ASSOCIATES, LLC | Virtual dispersive networking systems and methods |
9100405, | Oct 17 2007 | DISPERSIVE HOLDINGS, INC ; ASSET RECOVERY ASSOCIATES, LLC | Apparatus, systems and methods utilizing dispersive networking |
9124555, | Sep 13 2000 | Fortinet, Inc. | Tunnel interface for securing traffic over a network |
9143351, | Jun 28 2001 | Fortinet, Inc. | Identifying nodes in a ring network |
9160716, | Sep 13 2000 | Fortinet, Inc. | Tunnel interface for securing traffic over a network |
9166805, | Sep 24 2004 | Fortinet, Inc. | Scalable IP-services enabled multicast forwarding with efficient resource utilization |
9167016, | Sep 24 2004 | Fortinet, Inc. | Scalable IP-services enabled multicast forwarding with efficient resource utilization |
9167025, | Oct 17 2007 | DISPERSIVE HOLDINGS, INC ; ASSET RECOVERY ASSOCIATES, LLC | Network communications of application running on device utilizing routing of data packets using virtual network connection |
9230129, | Dec 19 2008 | EMC IP HOLDING COMPANY LLC | Software trusted computing base |
9241025, | Oct 17 2007 | DISPERSIVE HOLDINGS, INC ; ASSET RECOVERY ASSOCIATES, LLC | Network communications of applications running on devices utilizing virtual network connections with asymmetrical network paths |
9241026, | Oct 17 2007 | DISPERSIVE HOLDINGS, INC ; ASSET RECOVERY ASSOCIATES, LLC | Facilitating network communications with control server and devices utilizing virtual network connections |
9246980, | Oct 17 2007 | DISPERSIVE HOLDINGS, INC ; ASSET RECOVERY ASSOCIATES, LLC | Validating packets in network communications |
9258280, | Sep 13 2000 | Fortinet, Inc. | Tunnel interface for securing traffic over a network |
9298948, | May 13 2005 | TAHOE RESEARCH, LTD | Method and apparatus for remotely provisioning software-based security coprocessors |
9311507, | May 13 2005 | TAHOE RESEARCH, LTD | Method and apparatus for remotely provisioning software-based security coprocessors |
9319303, | Sep 24 2004 | Fortinet, Inc. | Scalable IP-services enabled multicast forwarding with efficient resource utilization |
9350794, | Oct 17 2007 | DISPERSIVE HOLDINGS, INC ; ASSET RECOVERY ASSOCIATES, LLC | Transmitting packet from device after timeout in network communications utilizing virtual network connection |
9391964, | Sep 13 2000 | Fortinet, Inc. | Tunnel interface for securing traffic over a network |
9397856, | Dec 02 2005 | CA, INC | Virtual tunnel network router |
9407449, | Nov 18 2002 | Fortinet, Inc. | Hardware-accelerated packet multicasting |
9483662, | May 13 2005 | TAHOE RESEARCH, LTD | Method and apparatus for remotely provisioning software-based security coprocessors |
9501665, | May 13 2005 | TAHOE RESEARCH, LTD | Method and apparatus for remotely provisioning software-based security coprocessors |
9524400, | May 13 2005 | TAHOE RESEARCH, LTD | Method and apparatus for remotely provisioning software-based security coprocessors |
9602303, | Jun 28 2001 | Fortinet, Inc. | Identifying nodes in a ring network |
9667604, | Sep 13 2000 | Fortinet, Inc. | Tunnel interface for securing traffic over a network |
9853948, | Sep 13 2000 | Fortinet, Inc. | Tunnel interface for securing traffic over a network |
9998337, | Jun 28 2001 | Fortinet, Inc. | Identifying nodes in a ring network |
Patent | Priority | Assignee | Title |
5201049, | Sep 29 1988 | International Business Machines Corporation | System for executing applications program concurrently/serially on different virtual machines |
5504814, | Jul 10 1991 | Hughes Aircraft Company | Efficient security kernel for the 80960 extended architecture |
5522075, | Jun 28 1991 | HEWLETT-PACKARD DEVELOPMENT COMPANY, L P | Protection ring extension for computers having distinct virtual machine monitor and virtual machine address spaces |
5850449, | May 19 1997 | Oracle America, Inc | Secure network protocol system and method |
5893084, | Apr 07 1995 | STARGATE, LTD , A TEXAS CORPORATION | Method for creating specific purpose rule-based n-bit virtual machines |
20030037089, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
May 11 2001 | MEUSHAW, ROBERT V | UNITED STATES GOVERNMENT AS REPRESENTED BY THE NATIONAL SECURITY AGENCY, THE | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 011815 | /0372 | |
May 11 2001 | SCHNEIDER, MARK S | UNITED STATES GOVERNMENT AS REPRESENTED BY THE NATIONAL SECURITY AGENCY, THE | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 011815 | /0372 | |
May 11 2001 | SIMARD, DONALD N | UNITED STATES GOVERNMENT AS REPRESENTED BY THE NATIONAL SECURITY AGENCY, THE | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 011815 | /0372 | |
May 11 2001 | WAGNER, GRANT M | UNITED STATES GOVERNMENT AS REPRESENTED BY THE NATIONAL SECURITY AGENCY, THE | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 011815 | /0372 | |
May 14 2001 | The United States of America as represented by The National Security Agency | (assignment on the face of the patent) | / |
Date | Maintenance Fee Events |
Jul 28 2008 | M1551: Payment of Maintenance Fee, 4th Year, Large Entity. |
Jul 31 2012 | M1552: Payment of Maintenance Fee, 8th Year, Large Entity. |
Dec 21 2016 | M1553: Payment of Maintenance Fee, 12th Year, Large Entity. |
Date | Maintenance Schedule |
Jul 26 2008 | 4 years fee payment window open |
Jan 26 2009 | 6 months grace period start (w surcharge) |
Jul 26 2009 | patent expiry (for year 4) |
Jul 26 2011 | 2 years to revive unintentionally abandoned end. (for year 4) |
Jul 26 2012 | 8 years fee payment window open |
Jan 26 2013 | 6 months grace period start (w surcharge) |
Jul 26 2013 | patent expiry (for year 8) |
Jul 26 2015 | 2 years to revive unintentionally abandoned end. (for year 8) |
Jul 26 2016 | 12 years fee payment window open |
Jan 26 2017 | 6 months grace period start (w surcharge) |
Jul 26 2017 | patent expiry (for year 12) |
Jul 26 2019 | 2 years to revive unintentionally abandoned end. (for year 12) |