US20100191961A1 - Method and system achieving individualized protected space in an operating system - Google Patents
Method and system achieving individualized protected space in an operating system Download PDFInfo
- Publication number
- US20100191961A1 US20100191961A1 US12/648,792 US64879209A US2010191961A1 US 20100191961 A1 US20100191961 A1 US 20100191961A1 US 64879209 A US64879209 A US 64879209A US 2010191961 A1 US2010191961 A1 US 2010191961A1
- Authority
- US
- United States
- Prior art keywords
- hardware
- programming
- operating system
- utilizing
- ace
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
- G06F21/53—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7867—Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/468—Specific access rights for resources, e.g. using capability register
Definitions
- the present invention relates to robust operating system protection.
- an operating system acts as the layer between the hardware and the software providing several important functions.
- the functionality of an O/S includes device management, process management, communication between processes, memory management, and file systems.
- certain utilities are standard for operating systems that allow common tasks to be performed, such as file access and organization operations and process initiation and termination.
- FIG. 1 illustrates an example diagram of a typical layered structure, such as for the Windows NT operating system.
- the applications 10 lie above the O/S 20 , where each application typically resides in its own memory space.
- the micro-kernel 30 interacts with a hardware abstraction layer 40 (e.g., with device drivers) associated with hardware layer 50 .
- the line 60 represents a demarcation line indicating the separation between which normally is considered the user space of the applications, and the protected space of the operating system.
- An approach to avoiding such vulnerability is to limit which software is trusted within an operating system and utilizing control mechanisms that check all other programming prior to processing. Relying on software to perform such checks reduces the ability to limit the amount of software that is trusted.
- a hardware solution would be preferable, but, heretofore, has been prohibitive due to the level of instantaneous hardware machine generation that would be necessary.
- aspects for achieving individualized protected space in an operating system include performing on demand hardware instantiation via an ACE (an adaptive computing engine), and utilizing the hardware for monitoring predetermined software programming to protect an operating system.
- ACE an adaptive computing engine
- FIG. 1 illustrates a diagram of operating system layers of the prior art.
- FIG. 2 is a block diagram illustrating an adaptive computing engine.
- FIG. 3 is a block diagram illustrating, in greater detail, a reconfigurable matrix of the adaptive computing engine.
- FIG. 4 illustrates an overall block flow diagram illustrates a process for achieving individualized protected space in an operating system in accordance with the present invention.
- the present invention relates to achieving individualized protected space in an operating system via an adaptive computing engine (ACE).
- ACE adaptive computing engine
- the processing core of an embedded system is achieved through an adaptive computing engine (ACE).
- ACE adaptive computing engine
- a more detailed discussion of the aspects of an ACE are provided in co-pending U.S. patent application Ser. No. 10/384,486, entitled ADAPTIVE INTEGRATED CIRCUITRY WITH HETEROGENEOUS AND RECONFIGURABLE MATRICES OF DIVERSE AND ADAPTIVE COMPUTATIONAL UNITS HAVING FIXED, APPLICATION SPECIFIC COMPUTATIONAL ELEMENTS, filed Mar. 7, 2003, assigned to the assignee of the present invention, and incorporated herein in its entirety.
- the ACE provides a significant departure from the prior art for achieving processing in an embedded system, in that data, control and configuration information are transmitted between and among its elements, utilizing an interconnection network, which may be configured and reconfigured, in real-time, to provide any given connection between and among the elements.
- an interconnection network which may be configured and reconfigured, in real-time, to provide any given connection between and among the elements.
- FIG. 2 is a block diagram illustrating an adaptive computing engine (“ACE”) 106 that includes a controller 120 , one or more reconfigurable matrices 150 , such as matrices 150 A through 150 N as illustrated, a matrix interconnection network 110 , and preferably also includes a memory 140 .
- ACE adaptive computing engine
- the controller 120 is preferably implemented as a reduced instruction set (“RISC”) processor, controller or other device or IC capable of performing the two types of functionality discussed below.
- RISC reduced instruction set
- matrix controller (“MARC”) 130 is illustrated as matrix controller (“MARC”) 130 .
- FIG. 3 is a block diagram illustrating, in greater detail, a reconfigurable matrix 150 with a plurality of computation units 200 (illustrated as computation units 200 A through 200 N), and a plurality of computational elements 250 (illustrated as computational elements 250 A through 250 Z), and provides additional illustration of the preferred types of computational elements 250 and a useful summary of aspects of the present invention.
- any matrix 150 generally includes a matrix controller 230 , a plurality of computation (or computational) units 200 , and as logical or conceptual subsets or portions of the matrix interconnect network 110 , a data interconnect network 240 and a Boolean interconnect network 210 .
- the Boolean interconnect network 210 provides the reconfigurable interconnection capability between and among the various computation units 200
- the data interconnect network 240 provides the reconfigurable interconnection capability for data input and output between and among the various computation units 200 . It should be noted, however, that while conceptually divided into reconfiguration and data capabilities, any given physical portion of the matrix interconnection network 110 , at any given time, may be operating as either the Boolean interconnect network 210 , the data interconnect network 240 , the lowest level interconnect 220 (between and among the various computational elements 250 ), or other input, output, or connection functionality.
- computational elements 250 included within a computation unit 200 are a plurality of computational elements 250 , illustrated as computational elements 250 A through 250 Z (collectively referred to as computational elements 250 ), and additional interconnect 220 .
- the interconnect 220 provides the reconfigurable interconnection capability and input/output paths between and among the various computational elements 250 .
- Each of the various computational elements 250 consist of dedicated, application specific hardware designed to perform a given task or range of tasks, resulting in a plurality of different, fixed computational elements 250 .
- the fixed computational elements 250 may be reconfigurably connected together to execute an algorithm or other function, at any given time.
- the various computational elements 250 are designed and grouped together, into the various reconfigurable computation units 200 .
- computational elements 250 which are designed to execute a particular algorithm or function, such as multiplication
- other types of computational elements 250 are also utilized in the preferred embodiment.
- computational elements 250 A and 250 B implement memory, to provide local memory elements for any given calculation or processing function (compared to the more “remote” memory 140 ).
- computational elements 250 I, 250 J, 250 K and 250 L are configured (using, for example, a plurality of flip-flops) to implement finite state machines, to provide local processing capability, especially suitable for complicated control processing.
- a first category of computation units 200 includes computational elements 250 performing linear operations, such as multiplication, addition, finite impulse response filtering, and so on.
- a second category of computation units 200 includes computational elements 250 performing non-linear operations, such as discrete cosine transformation, trigonometric calculations, and complex multiplications.
- a third type of computation unit 200 implements a finite state machine, such as computation unit 200 C as illustrated in FIG. 3 , particularly useful for complicated control sequences, dynamic scheduling, and input/output management, while a fourth type may implement memory and memory management, such as computation unit 200 A as illustrated in FIG. 3 .
- a fifth type of computation unit 200 may be included to perform bit-level manipulation, such as for encryption, decryption, channel coding, Viterbi decoding, and packet and protocol processing (such as Internet Protocol processing).
- the ability to configure the elements of the ACE relies on a tight coupling (or interdigitation) of data and configuration (or other control) information, within one, effectively continuous stream of information.
- the continuous stream of data can be characterized as including a first portion that provides adaptive instructions and configuration data and a second portion that provides data to be processed.
- This coupling or comingling of data and configuration information referred to as a “silverware” module, helps to enable real-time reconfigurability of the ACE 106 , and in conjunction with the real-time reconfigurability of heterogeneous and fixed computational elements 250 , to form different and heterogenous computation units 200 and matrices 150 , enables the ACE 106 architecture to have multiple and different modes of operation.
- the ACE 106 when included within a hand-held device, given a corresponding silverware module, the ACE 106 may have various and different operating modes as a cellular or other mobile telephone, a music player, a pager, a personal digital assistant, and other new or existing functionalities. In addition, these operating modes may change based upon the physical location of the device; for example, when configured as a CDMA mobile telephone for use in the United States, the ACE 106 may be reconfigured as a GSM mobile telephone for use in Europe.
- a particular configuration of computational elements as the hardware to execute a corresponding algorithm, may be viewed or conceptualized as a hardware analog of “calling” a subroutine in software which may perform the same algorithm.
- the data for use in the algorithm is immediately available as part of the silverware module.
- the immediacy of the data, for use in the configured computational elements provides a one or two clock cycle hardware analog to the multiple and separate software steps of determining a memory address and fetching stored data from the addressed registers.
- the functions of the KARC 125 may be explained with reference to a silverware module.
- the ACE 100 may be configured or reconfigured to perform a new or additional function, such as an upgrade to a new technology standard or the addition of an entirely new function, such as the addition of a music function to a mobile communication device.
- a silverware module may be stored in memory 140 , or may be input from an external (wired or wireless) source through, for example, matrix interconnection network 110 .
- FIG. 4 an overall block flow diagram illustrates a process for achieving individualized protected space in an operating system in accordance with the present invention. As shown in FIG. 4 , the process initiates with on demand instantiation of hardware via the ACE in response to a processing call outside of the trusted space of operating system programming (step 1100 ).
- a hardware “machine” is formed by appropriate computational elements.
- one of the matrices 150 is configured to decrypt a module and verify its validity, for security purposes.
- the machine monitors the operations of the processing (step 1200 ).
- the controller 120 prior to any configuration or reconfiguration of existing ACE 100 resources, the controller 120 , through the KARC 125 , checks and verifies that the configuration or reconfiguration may occur without adversely affecting any pre-existing functionality.
- the machine is configured to perform several checks to protect against invalid operations by the device driver.
- the machine performs address checking, i.e., it ensures that the device driver interacts with a valid memory address range associated with that driver.
- the machine may also monitor for resource restriction violations, i.e., it ensures that limits on transfer time are not violated.
- the protocol for the processing is monitored, i.e., it ensures that the hardware interacted with is left in a good state through proper communication of ‘start’, ‘stop’, and ‘end’ signalling. Of course, other types of monitoring may be performed as needed for particular elements, as is well appreciated by those skilled in the art.
- the system requirements for the configuration or reconfiguration are included within the silverware module for use by the KARC 125 in performing this evaluative function. If the configuration or reconfiguration may occur without adverse affects, the silverware module is allowed to load into memory 140 , with the KARC 125 setting up the DMA engines within the memory 140 . If the configuration or reconfiguration would or may have such adverse affects, the KARC 125 does not allow the new module to be incorporated within the ACE 100 .
- DMA Direct Memory Addressing
- a device driver can be “protected” by uniquely special hardware to protect the system from the device driver.
- hardware will ensure that device driver performs correctly.
- an exception is generated to the OS indicating the failure condition as well as the specific device driver that failed.
- the OS then has the ability to either terminated the device driver, restart the device driver, resume the device driver from a check pointed (device driver may occasionally save state and thus has a copy of a known good configuration) copy of the device driver, pass the exception upwards to be handled at a higher system level, or even notify the user and request corrective action.
- the ACE can:
- DMA Direct Memory Addressing
Abstract
Aspects for achieving individualized protected space in an operating system are provided. The aspects include performing on demand hardware instantiation via an ACE (an adaptive computing engine), and utilizing the hardware for monitoring predetermined software programming to protect an operating system.
Description
- The present invention relates to robust operating system protection.
- As is generally understood in computing environments, an operating system (O/S) acts as the layer between the hardware and the software providing several important functions. For example, the functionality of an O/S includes device management, process management, communication between processes, memory management, and file systems. Further, certain utilities are standard for operating systems that allow common tasks to be performed, such as file access and organization operations and process initiation and termination.
- Within the O/S, the kernel is responsible for all other operations and acts to control the operations following the initialization functions performed by the O/S upon boot-up. The traditional structure of a kernel is a layered system. Some operating systems use a micro-kernel to minimize a size of the kernel while maintaining a layered system, such as the Windows NT operating system.
FIG. 1 illustrates an example diagram of a typical layered structure, such as for the Windows NT operating system. As shown, theapplications 10 lie above the O/S 20, where each application typically resides in its own memory space. The micro-kernel 30 interacts with a hardware abstraction layer 40 (e.g., with device drivers) associated withhardware layer 50. Theline 60 represents a demarcation line indicating the separation between which normally is considered the user space of the applications, and the protected space of the operating system. - While the typical structure provides a well-understood model for an operating system, some problems remain. One such problem is the potential for crashing the machine once access below the
demarcation line 60 is achieved. For example, bugs in programs that are written for performing processes below the demarcation line, e.g., device drivers that interact with the hardware abstraction layer, protocol stacks between the kernel and the applications, etc., can bring the entire machine down. While some protection is provided in operating systems with the generation of exceptions in response to certain illegal actions, such as memory address violations or illegal instructions, which trigger the kernel and kill the application raising the exception, there exists an inability by operating systems to protect against the vulnerability to fatal access. - An approach to avoiding such vulnerability is to limit which software is trusted within an operating system and utilizing control mechanisms that check all other programming prior to processing. Relying on software to perform such checks reduces the ability to limit the amount of software that is trusted. A hardware solution would be preferable, but, heretofore, has been prohibitive due to the level of instantaneous hardware machine generation that would be necessary.
- Accordingly, what is needed is an ability to achieve a protected operating system through on demand hardware monitoring. The present invention addresses such a need.
- Aspects for achieving individualized protected space in an operating system are provided. The aspects include performing on demand hardware instantiation via an ACE (an adaptive computing engine), and utilizing the hardware for monitoring predetermined software programming to protect an operating system.
- Through the present invention, all elements outside a system's own code for operating, e.g., all the stacks, abstraction layers, and device drivers, can be readily and reliably monitored. In this manner, the vulnerability present in most current operating systems due to unchecked access below the demarcation line is successfully overcome. Further, the reconfigurability of the ACE architecture allows the approach to adjust as desired with additions/changes to an operating system environment. These and other advantages will become readily apparent from the following detailed description and accompanying drawings.
-
FIG. 1 illustrates a diagram of operating system layers of the prior art. -
FIG. 2 is a block diagram illustrating an adaptive computing engine. -
FIG. 3 is a block diagram illustrating, in greater detail, a reconfigurable matrix of the adaptive computing engine. -
FIG. 4 illustrates an overall block flow diagram illustrates a process for achieving individualized protected space in an operating system in accordance with the present invention. - The present invention relates to achieving individualized protected space in an operating system via an adaptive computing engine (ACE). The following description is presented to enable one of ordinary skill in the art to make and use the invention and is provided in the context of a patent application and its requirements. Various modifications to the preferred embodiment and the generic principles and features described herein will be readily apparent to those skilled in the art. Thus, the present invention is not intended to be limited to the embodiment shown but is to be accorded the widest scope consistent with the principles and features described herein.
- In a preferred embodiment, the processing core of an embedded system is achieved through an adaptive computing engine (ACE). A more detailed discussion of the aspects of an ACE are provided in co-pending U.S. patent application Ser. No. 10/384,486, entitled ADAPTIVE INTEGRATED CIRCUITRY WITH HETEROGENEOUS AND RECONFIGURABLE MATRICES OF DIVERSE AND ADAPTIVE COMPUTATIONAL UNITS HAVING FIXED, APPLICATION SPECIFIC COMPUTATIONAL ELEMENTS, filed Mar. 7, 2003, assigned to the assignee of the present invention, and incorporated herein in its entirety. Generally, the ACE provides a significant departure from the prior art for achieving processing in an embedded system, in that data, control and configuration information are transmitted between and among its elements, utilizing an interconnection network, which may be configured and reconfigured, in real-time, to provide any given connection between and among the elements. In order to more fully illustrate the aspects of the present invention, portions of the discussion of the ACE from the application incorporated by reference are included in the following.
-
FIG. 2 is a block diagram illustrating an adaptive computing engine (“ACE”) 106 that includes acontroller 120, one or morereconfigurable matrices 150, such asmatrices 150A through 150N as illustrated, amatrix interconnection network 110, and preferably also includes amemory 140. - The
controller 120 is preferably implemented as a reduced instruction set (“RISC”) processor, controller or other device or IC capable of performing the two types of functionality discussed below. The first control functionality, referred to as “kernal” control, is illustrated as kernal controller (“KARC”) 125, and the second control functionality, referred to as “matrix” control, is illustrated as matrix controller (“MARC”) 130. -
FIG. 3 is a block diagram illustrating, in greater detail, areconfigurable matrix 150 with a plurality of computation units 200 (illustrated ascomputation units 200A through 200N), and a plurality of computational elements 250 (illustrated ascomputational elements 250A through 250Z), and provides additional illustration of the preferred types of computational elements 250 and a useful summary of aspects of the present invention. As illustrated inFIG. 3 , anymatrix 150 generally includes amatrix controller 230, a plurality of computation (or computational)units 200, and as logical or conceptual subsets or portions of thematrix interconnect network 110, adata interconnect network 240 and aBoolean interconnect network 210. TheBoolean interconnect network 210 provides the reconfigurable interconnection capability between and among thevarious computation units 200, while thedata interconnect network 240 provides the reconfigurable interconnection capability for data input and output between and among thevarious computation units 200. It should be noted, however, that while conceptually divided into reconfiguration and data capabilities, any given physical portion of thematrix interconnection network 110, at any given time, may be operating as either theBoolean interconnect network 210, thedata interconnect network 240, the lowest level interconnect 220 (between and among the various computational elements 250), or other input, output, or connection functionality. - Continuing to refer to
FIG. 3 , included within acomputation unit 200 are a plurality of computational elements 250, illustrated ascomputational elements 250A through 250Z (collectively referred to as computational elements 250), andadditional interconnect 220. Theinterconnect 220 provides the reconfigurable interconnection capability and input/output paths between and among the various computational elements 250. Each of the various computational elements 250 consist of dedicated, application specific hardware designed to perform a given task or range of tasks, resulting in a plurality of different, fixed computational elements 250. Utilizing theinterconnect 220, the fixed computational elements 250 may be reconfigurably connected together to execute an algorithm or other function, at any given time. - In a preferred embodiment, the various computational elements 250 are designed and grouped together, into the various
reconfigurable computation units 200. In addition to computational elements 250 which are designed to execute a particular algorithm or function, such as multiplication, other types of computational elements 250 are also utilized in the preferred embodiment. As illustrated inFIG. 3 ,computational elements computational elements - With the various types of different computational elements 250 which may be available, depending upon the desired functionality of the ACE 106, the
computation units 200 may be loosely categorized. A first category ofcomputation units 200 includes computational elements 250 performing linear operations, such as multiplication, addition, finite impulse response filtering, and so on. A second category ofcomputation units 200 includes computational elements 250 performing non-linear operations, such as discrete cosine transformation, trigonometric calculations, and complex multiplications. A third type ofcomputation unit 200 implements a finite state machine, such ascomputation unit 200C as illustrated inFIG. 3 , particularly useful for complicated control sequences, dynamic scheduling, and input/output management, while a fourth type may implement memory and memory management, such ascomputation unit 200A as illustrated inFIG. 3 . Lastly, a fifth type ofcomputation unit 200 may be included to perform bit-level manipulation, such as for encryption, decryption, channel coding, Viterbi decoding, and packet and protocol processing (such as Internet Protocol processing). - The ability to configure the elements of the ACE relies on a tight coupling (or interdigitation) of data and configuration (or other control) information, within one, effectively continuous stream of information. The continuous stream of data can be characterized as including a first portion that provides adaptive instructions and configuration data and a second portion that provides data to be processed. This coupling or comingling of data and configuration information, referred to as a “silverware” module, helps to enable real-time reconfigurability of the
ACE 106, and in conjunction with the real-time reconfigurability of heterogeneous and fixed computational elements 250, to form different andheterogenous computation units 200 andmatrices 150, enables theACE 106 architecture to have multiple and different modes of operation. For example, when included within a hand-held device, given a corresponding silverware module, theACE 106 may have various and different operating modes as a cellular or other mobile telephone, a music player, a pager, a personal digital assistant, and other new or existing functionalities. In addition, these operating modes may change based upon the physical location of the device; for example, when configured as a CDMA mobile telephone for use in the United States, theACE 106 may be reconfigured as a GSM mobile telephone for use in Europe. - As an analogy, for the reconfiguration possible via the silverware modules, a particular configuration of computational elements, as the hardware to execute a corresponding algorithm, may be viewed or conceptualized as a hardware analog of “calling” a subroutine in software which may perform the same algorithm. As a consequence, once the configuration of the computational elements has occurred, as directed by the configuration information, the data for use in the algorithm is immediately available as part of the silverware module. The immediacy of the data, for use in the configured computational elements, provides a one or two clock cycle hardware analog to the multiple and separate software steps of determining a memory address and fetching stored data from the addressed registers.
- Referring again to
FIG. 2 , the functions of theKARC 125 may be explained with reference to a silverware module. As indicated above, through a silverware module, the ACE 100 may be configured or reconfigured to perform a new or additional function, such as an upgrade to a new technology standard or the addition of an entirely new function, such as the addition of a music function to a mobile communication device. Such a silverware module may be stored inmemory 140, or may be input from an external (wired or wireless) source through, for example,matrix interconnection network 110. - While the ability to configure and reconfigure computational elements in real-time is achieved through the ACE, the present invention applies that ability to provide a more robust operating system configuration. In accordance with the present invention, a core amount of programming, such as the kernel space, is the only so-called trusted space within the operating system. All other elements of the operating system that normally would fall within the protected space of the operating system model now receive individualized monitoring. Referring to
FIG. 4 , an overall block flow diagram illustrates a process for achieving individualized protected space in an operating system in accordance with the present invention. As shown inFIG. 4 , the process initiates with on demand instantiation of hardware via the ACE in response to a processing call outside of the trusted space of operating system programming (step 1100). By way of example, when a device driver is input via a silverware module to perform a function on behalf of the operating system, such as a SCSI driver to perform a data transfer to memory, a hardware “machine” is formed by appropriate computational elements. Thus, in the preferred embodiment, one of thematrices 150 is configured to decrypt a module and verify its validity, for security purposes. Next, the machine then monitors the operations of the processing (step 1200). Thus prior to any configuration or reconfiguration of existing ACE 100 resources, thecontroller 120, through theKARC 125, checks and verifies that the configuration or reconfiguration may occur without adversely affecting any pre-existing functionality. In the SCSI driver example, the machine is configured to perform several checks to protect against invalid operations by the device driver. For example, the machine performs address checking, i.e., it ensures that the device driver interacts with a valid memory address range associated with that driver. The machine may also monitor for resource restriction violations, i.e., it ensures that limits on transfer time are not violated. Additionally, the protocol for the processing is monitored, i.e., it ensures that the hardware interacted with is left in a good state through proper communication of ‘start’, ‘stop’, and ‘end’ signalling. Of course, other types of monitoring may be performed as needed for particular elements, as is well appreciated by those skilled in the art. - In the preferred embodiment, the system requirements for the configuration or reconfiguration are included within the silverware module for use by the
KARC 125 in performing this evaluative function. If the configuration or reconfiguration may occur without adverse affects, the silverware module is allowed to load intomemory 140, with theKARC 125 setting up the DMA engines within thememory 140. If the configuration or reconfiguration would or may have such adverse affects, theKARC 125 does not allow the new module to be incorporated within the ACE 100. - Basic operations that device drivers perform can be broken down into:
- Memory Reads and Writes
-
- Reads and Writes to main memory address space to set, clear and check status of CSR (control status registers) of devices
- Reads and Writes to Input/Output address space to set, clear and check status of CSR (control status registers) of devices
- Hardware Interrupts
-
- Setting up interrupt vectors to point to an interrupt service routine
- Servicing interrupt
- Disabling and enabling interrupts
- Setting and Clearing an interrupt
- Direct Memory Addressing (DMA)
-
- Setting up a DMA transfer by Memory Reads and Writes to DMA CSRs or Memory Mapped CSRs
- Setting Callback routine to be executed when DMA completes
- Setting Interrupt level to be asserted when DMA completes
- Setting up Memory Tables for scatter and gather operations by reads and writes
- Computational Cycles
-
- Execution of device driver code consumes clock cycles of some processor
- Memory Utilization
-
- Device driver code requires a certain amount of memory for temporary buffers, scratch pad working space, stacks, constants, data buffers, control sequences, etc. . . .
- Bandwidth
-
- Device driver code requires a certain amount of bandwidth, typically bus bandwidth, link bandwidth, bandwidth between computation units such as register files, memories, hardware units, as well as bandwidth between low level component building blocks required to construct larger structures such as multipliers, adders, shifters, etc. . . .
Depending on the nature of the device driver, the physical characteristics of the hardware under control of the device driver some to all of the above operations are utilized. Device driver code which has defects (bugs) either intentionally (as in virus) or un-intentionally can effect the system the device driver is installed since device drivers run at the protected kernel level and can thus effect the integrity of the system leading to crashes, freezes, failure to perform as specified, as well as unintentional side effects of other software and hardware in the system.
- Device driver code requires a certain amount of bandwidth, typically bus bandwidth, link bandwidth, bandwidth between computation units such as register files, memories, hardware units, as well as bandwidth between low level component building blocks required to construct larger structures such as multipliers, adders, shifters, etc. . . .
- In an ACE system, with the ability to construct specialized hardware from lower level building blocks a device driver can be “protected” by uniquely special hardware to protect the system from the device driver. Thus there is no need to trust that the device driver will perform as specified, hardware will ensure that device driver performs correctly. On failure an exception is generated to the OS indicating the failure condition as well as the specific device driver that failed. The OS then has the ability to either terminated the device driver, restart the device driver, resume the device driver from a check pointed (device driver may occasionally save state and thus has a copy of a known good configuration) copy of the device driver, pass the exception upwards to be handled at a higher system level, or even notify the user and request corrective action. Specifically for each of the above basic device operators the ACE can:
- Memory Reads and Writes
-
- Reads and Writes to main memory address space to set, clear and check status of CSR (control status registers) of devices
- The ACE produces a hardware memory range checking hardware to insure that the address of the memory read/writes are allowed and do not touch any memory that is out of bounds or range. This can range from sophistication from a simple address range checker (ALU) to multiple addresses for scattered CSR addresses (sophisticated multiple ALUs to perform in parallel range checking as well as insuring either read or write protection) to a full Customized MMU (memory management unit for block based address checking). Multiple address checking allows very specific and customized protection above and beyond what traditional MMU systems can provide.
- Reads and Writes to Input/Output address space to set, clear and check status of CSR (control status registers) of devices
- The ACE produces a hardware memory range checking hardware to insure that the address of the Input/Output (I/O) read/writes are allowed and do not touch any memory that is out of bounds or range. This can range from sophistication from a simple address range checker (ALU) to multiple addresses for scattered CSR addresses (sophisticated multiple ALUs to perform in parallel range checking as well as insuring either read or write protection) to a full Customized MMU (memory management unit for block based address checking). Multiple address checking allows very specific and customized protection above and beyond what traditional MMU systems can provide.
- Reads and Writes to main memory address space to set, clear and check status of CSR (control status registers) of devices
- Hardware Interrupts
-
- Setting up interrupt vectors to point to an interrupt service routine
- The ACE can adapt hardware to produce hardware protection checking to insure that only a specific vector or group of specific vectors may be read or written.
- Servicing interrupt
- The ACE can adapt hardware to produce hardware protection checking to insure that if the device driver does not service the interrupt that a hardware default device driver is executed.
- Disabling and enabling interrupts
- The ACE can adapt hardware to produce hardware protection checking to insure that if the device driver can only enable or disable the interrupt that it has permission for.
- Setting and Clearing an interrupt
- The ACE can adapt hardware to produce hardware protection checking to insure that only the specific CSR bits are read or written by the device driver. In addition, if required, a watchdog timer can be configured to insure that strict timing durations are met in terms of duration of interrupt allowed.
- Setting up interrupt vectors to point to an interrupt service routine
- Direct Memory Addressing (DMA)
-
- Setting up a DMA transfer by Memory Reads and Writes to DMA CSRs or Memory Mapped CSRs
- The ACE can adapt hardware to produce hardware protection checking to insure that only the specific CSRs or portions of CSRs as well as read/write protection is allowed by the device driver.
- Setting Callback routine to be executed when DMA completes
- The ACE can adapt hardware to produce hardware protection checking to insure that no other code can change the callback routine address to insure that the specific device driver intended to be called back is.
- Setting Interrupt level to be asserted when DMA completes
- The ACE can adapt hardware to produce hardware watchdog timers to insure that the DMA completes.
- Setting up Memory Tables for scatter and gather operations by reads and writes
- The ACE can adapt hardware to produce hardware protection checking to insure that the specific addresses (either in memory or I/O space) are accessed thereby precluding the device driver from accessing memory that it does not have authorization for.
- Setting up a DMA transfer by Memory Reads and Writes to DMA CSRs or Memory Mapped CSRs
- Computational Cycles
-
- Execution of device driver code consumes clock cycles of some processor
- The ACE can adapt hardware to produce hardware cycle count checking to insure that the device driver does not exceed the specified maximum number of cycles. This can be used to terminate run-away tasks, or operations that are taking too long and may begin to effect system operation.
- Execution of device driver code consumes clock cycles of some processor
- Memory Utilization
-
- Device driver code requires a certain amount of memory for temporary buffers, scratch pad working space, stacks, constants, data buffers, control sequences, etc. . . .
- The ACE produces a hardware memory range checking hardware to insure that the address of the memory read/writes are allowed and do not touch any memory that is out of bounds or range. This can range from sophistication from a simple address range checker (ALU) to multiple addresses for scattered CSR addresses (sophisticated multiple ALUs to perform in parallel range checking as well as insuring either read or write protection) to a full Customized MMU (memory management unit for block based address checking). Multiple address checking allows very specific and customized protection above and beyond what traditional MMU systems can provide.
- This may include if required hardware resource checking on the amount of memory space used to see if it will exceed a maximum specified limit (for example if the upper limit on stack space is exceeded)
- Device driver code requires a certain amount of memory for temporary buffers, scratch pad working space, stacks, constants, data buffers, control sequences, etc. . . .
- Bandwidth
-
- Device driver code requires a certain amount of bandwidth, typically bus bandwidth, link bandwidth, bandwidth between computation units such as register files, memories, hardware units, as well as bandwidth between low level component building blocks required to construct larger structures such as multipliers, adders, shifters, etc. . . .
- The ACE produces a hardware bandwidth checker to insure that the specified amount of bandwidth used on the MIN is not exceeded. This can be as simple as a total number of bytes transferred limit, to an average rate not to exceed limit.
The advantage here is that only the hardware protection that is required for a particular execution of the device driver needs to consume resources. For example, if no DMA is used then no ACE circuitry protecting the DMA is required. Even more resource efficient is if between to different calls to the device driver which use differing levels of operators then only the exact hardware protection is required—e.g. in a single execution no I/O read/writes are used and thus no hardware protection is required, in a second execution there is I/O read/writes and thus hardware protection is instantiated (hardware is configured and reconfigured from lower building block hardware to construct the exact hardware that is required). In a conventional hardware architecture without the ability to reconfigure the hardware the overhead for all this protection circuitry must be paid—by using only what is required during a particular time window (or execution) the ACE can provide exactly what is needed.
- The ACE produces a hardware bandwidth checker to insure that the specified amount of bandwidth used on the MIN is not exceeded. This can be as simple as a total number of bytes transferred limit, to an average rate not to exceed limit.
- Device driver code requires a certain amount of bandwidth, typically bus bandwidth, link bandwidth, bandwidth between computation units such as register files, memories, hardware units, as well as bandwidth between low level component building blocks required to construct larger structures such as multipliers, adders, shifters, etc. . . .
- Thus, through the present invention, all elements outside a system's own code for operating, e.g., all the stacks, abstraction layers, and device drivers, can be readily and reliably monitored. In this manner, the vulnerability present in most current operating systems due to unchecked access below the demarcation line is successfully overcome. Further, the reconfigurability of the ACE architecture allows the approach to adjust as desired with additions/changes to an operating system environment.
- From the foregoing, it will be observed that numerous variations and modifications may be effected without departing from the spirit and scope of the novel concept of the invention. Further, it is to be understood that no limitation with respect to the specific methods and apparatus illustrated herein is intended or should be inferred. It is, of course, intended to cover by the appended claims all such modifications as fall within the scope of the claims.
Claims (17)
1. A method for achieving individualized protected space in an operating system, the method comprising the steps of:
(a) instantiating hardware on demand via an an adaptive computing engine (ACE); and
(b) utilizing the hardware for monitoring predetermined software programming to protect an operating system.
2. The method of claim 1 wherein the utilizing step (b) further comprises the step of (b1), utilizing the hardware to perform memory address range checking.
3. The method of claim 1 wherein the utilizing step (b) further comprises the step of (b1) utilizing the hardware to perform resource restriction checking.
4. The method of claim 3 wherein the resource restriction further comprises a time duration restriction.
5. The method of claim 1 wherein the utilizing step (b) further comprises the step of (b1) monitoring protocol processing programming.
6. The method of claim 1 wherein the utilizing step (b) further comprises the step of (b1) monitoring device driver programming.
7. The method of claim 1 wherein the utilizing step (b) further comprises the step of (b1) monitoring hardware abstraction layer programming.
8. The method of claim 1 wherein step (b) further comprises the step of (b1), utilizing the hardware to monitor only of the portions of the software programming that is used from run to run.
9. A system for achieving individualized protected space in an operating system, the system comprising:
memory for storing trusted operating system programming; and
an adaptive computing engine (ACE) for providing on demand hardware instantiation to individually monitor predetermined software programming interacting with the trusted operating system programming.
10. The system of claim 9 wherein the trusted operating system programming further comprises a kernel level of programming.
11. The system of claim 9 wherein the predetermined software programming further comprises device drivers.
12. The system of claim 9 wherein the predetermined software programming further comprises abstraction layers.
13. The system of claim 9 wherein the predetermined software programming further comprises communication protocol stacks.
14. The system of claim 9 wherein the on-demand hardware instantiation performs memory address range checking.
15. The system of claim 9 wherein the on-demand hardware instantiation performs resource restriction checking.
16. The system of claim 15 wherein the resource restriction further comprises a time duration restriction.
17. A system for achieving individualized protected space in an operating system, the system comprising:
memory for storing trusted operating system programming, wherein the trusted operating system programming further comprises a kernel level of programming and a plurality of device drivers; and
an adaptive computing engine (ACE) for providing on demand hardware instantiation to individually monitor predetermined software programming interacting with the trusted operating system programming, wherein the predetermined software programming further comprises abstraction layers and communication protocol stacks wherein the on-demand hardware instantiation performs memory address range checking and resource restriction checking; and wherein the resource restriction further comprises a time duration restriction.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/648,792 US20100191961A1 (en) | 2002-05-13 | 2009-12-29 | Method and system achieving individualized protected space in an operating system |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US38087702P | 2002-05-13 | 2002-05-13 | |
US10/437,855 US7660984B1 (en) | 2003-05-13 | 2003-05-13 | Method and system for achieving individualized protected space in an operating system |
US12/648,792 US20100191961A1 (en) | 2002-05-13 | 2009-12-29 | Method and system achieving individualized protected space in an operating system |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/437,855 Continuation US7660984B1 (en) | 2002-05-13 | 2003-05-13 | Method and system for achieving individualized protected space in an operating system |
Publications (1)
Publication Number | Publication Date |
---|---|
US20100191961A1 true US20100191961A1 (en) | 2010-07-29 |
Family
ID=41646548
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/437,855 Active 2026-05-01 US7660984B1 (en) | 2002-05-13 | 2003-05-13 | Method and system for achieving individualized protected space in an operating system |
US12/648,792 Abandoned US20100191961A1 (en) | 2002-05-13 | 2009-12-29 | Method and system achieving individualized protected space in an operating system |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/437,855 Active 2026-05-01 US7660984B1 (en) | 2002-05-13 | 2003-05-13 | Method and system for achieving individualized protected space in an operating system |
Country Status (1)
Country | Link |
---|---|
US (2) | US7660984B1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018056997A1 (en) * | 2016-09-23 | 2018-03-29 | Intel Corporation | Method and apparatus for implementing a programmable security unit for a computer system |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8214296B2 (en) * | 2006-02-14 | 2012-07-03 | Microsoft Corporation | Disaggregated secure execution environment |
US7779099B2 (en) * | 2006-03-16 | 2010-08-17 | Us Beverage Net Inc. | Distributed intelligent systems and methods therefor |
US8755515B1 (en) | 2008-09-29 | 2014-06-17 | Wai Wu | Parallel signal processing system and method |
Citations (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3409175A (en) * | 1966-11-10 | 1968-11-05 | Thomas M. Byrne | Liquid dispensing device |
US3666143A (en) * | 1970-06-22 | 1972-05-30 | Murray Weston | Automatic fluid dispensing apparatus with manual override |
US3906298A (en) * | 1974-01-28 | 1975-09-16 | Teradyne Inc | Protective apparatus for digital logic circuits |
US3949903A (en) * | 1973-11-07 | 1976-04-13 | General Motors Corporation | Water and beverage concentrate dispenser |
US3995441A (en) * | 1973-08-20 | 1976-12-07 | The Cornelius Company | Beverage dispensing system |
US4143793A (en) * | 1977-06-13 | 1979-03-13 | The Cornelius Company | Apparatus and method for dispensing a carbonated beverage |
US4174872A (en) * | 1978-04-10 | 1979-11-20 | The Cornelius Company | Beverage dispensing machine and cabinet therefor |
US4181242A (en) * | 1978-05-30 | 1980-01-01 | The Cornelius Company | Method and apparatus for dispensing a beverage |
US4237536A (en) * | 1978-10-12 | 1980-12-02 | M.R.E. Enterprises, Inc. | System for indicating and controlling dispensing of beverages |
US4302775A (en) * | 1978-12-15 | 1981-11-24 | Compression Labs, Inc. | Digital video compression system and methods utilizing scene adaptive coding with rate buffer feedback |
US4377246A (en) * | 1977-06-13 | 1983-03-22 | The Cornelius Company | Apparatus for dispensing a carbonated beverage |
US4413752A (en) * | 1979-01-04 | 1983-11-08 | The Cornelius Company | Apparatus for dispensing a carbonated beverage |
US4549675A (en) * | 1982-09-07 | 1985-10-29 | The Cornelius Co. | Beverage dispensing valve |
US4577782A (en) * | 1983-05-02 | 1986-03-25 | The Cornelius Company | Beverage dispensing station |
US4633386A (en) * | 1983-04-09 | 1986-12-30 | Schlumberger Measurement & Control (U.K.) Ltd. | Digital signal processor |
US4658988A (en) * | 1984-04-02 | 1987-04-21 | The Cornelius Company | Multiple flavor post-mix beverage dispensing apparatus |
US4694416A (en) * | 1985-02-25 | 1987-09-15 | General Electric Company | VLSI programmable digital signal processor |
US4711374A (en) * | 1985-09-13 | 1987-12-08 | The Coca-Cola Company | Low-cost post-mix beverage dispenser and syrup supply system therefor |
US5396609A (en) * | 1989-01-19 | 1995-03-07 | Gesellschaft Fur Strahlen- Und Umweltforschung Mbh (Gsf) | Method of protecting programs and data in a computer against unauthorized access and modification by monitoring address regions |
US6199181B1 (en) * | 1997-09-09 | 2001-03-06 | Perfecto Technologies Ltd. | Method and system for maintaining restricted operating environments for application programs or operating systems |
US20040015970A1 (en) * | 2002-03-06 | 2004-01-22 | Scheuermann W. James | Method and system for data flow control of execution nodes of an adaptive computing engine (ACE) |
Family Cites Families (524)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
USRE30301E (en) | 1972-03-10 | 1980-06-10 | The Cornelius Company | Beverage mixing and dispensing apparatus |
US3960298A (en) | 1972-10-25 | 1976-06-01 | The Cornelius Company | Container assembly for use with a separator dispenser |
US6556044B2 (en) | 2001-09-18 | 2003-04-29 | Altera Corporation | Programmable logic device including multipliers and configurations thereof to reduce resource utilization |
US3991911A (en) | 1973-09-07 | 1976-11-16 | American Beverage Control | Automatic drink dispensing apparatus having programming means |
US3938639A (en) | 1973-11-28 | 1976-02-17 | The Cornelius Company | Portable dispenser for mixed beverages |
US3967062A (en) | 1975-03-05 | 1976-06-29 | Ncr Corporation | Method and apparatus for encoding data and clock information in a self-clocking data stream |
US4076145A (en) | 1976-08-09 | 1978-02-28 | The Cornelius Company | Method and apparatus for dispensing a beverage |
US4252253A (en) | 1978-02-21 | 1981-02-24 | Mcneil Corporation | Drink dispenser having central control of plural dispensing stations |
US4172669A (en) | 1978-07-27 | 1979-10-30 | The Cornelius Company | Mixing and dispensing machine |
US4222972A (en) | 1979-01-29 | 1980-09-16 | Caldwell Michael C | Method and means for carbonating liquids in situ |
US4218014A (en) | 1979-02-21 | 1980-08-19 | The Cornelius Company | Multiple flavor post-mix beverage dispensing head |
GB2067800B (en) | 1979-04-03 | 1983-10-12 | Lewin G F | Adding device |
US4380046A (en) | 1979-05-21 | 1983-04-12 | Nasa | Massively parallel processor computer |
US4523697A (en) | 1979-07-11 | 1985-06-18 | Cadbury Schweppes Limited | Liquid dispensing package |
USRE32179E (en) | 1979-10-12 | 1986-06-10 | The Coca-Cola Company | Post-mix beverage dispensing system syrup package, valving system, and carbonator therefor |
US4333587A (en) | 1980-01-31 | 1982-06-08 | The Coca-Cola Company | Beverage dispenser |
US4354613A (en) | 1980-05-15 | 1982-10-19 | Trafalgar Industries, Inc. | Microprocessor based vending apparatus |
US4393468A (en) | 1981-03-26 | 1983-07-12 | Advanced Micro Devices, Inc. | Bit slice microprogrammable processor for signal processing applications |
US4560089A (en) | 1981-05-11 | 1985-12-24 | The Cornelius Company | Apparatus for dispensing a carbonated beverage |
JPS5916053A (en) | 1982-07-16 | 1984-01-27 | Nec Corp | Pipeline arithmetic device |
US4936488A (en) | 1982-09-07 | 1990-06-26 | The Cornelius Company | Beverage dispensing valve |
US5129549A (en) | 1982-09-07 | 1992-07-14 | Imi Cornelius Inc. | Beverage dispensing valve |
US4509690A (en) | 1982-12-06 | 1985-04-09 | The Cornelius Company | Carbonated beverage mixing nozzle for a dispenser |
US4475448A (en) | 1983-02-22 | 1984-10-09 | General Foods Corporation | Reactant/gas separation means for beverage carbonation device |
US4466342A (en) | 1983-02-22 | 1984-08-21 | General Foods Corporation | Carbonation chamber with sparger for beverage carbonation |
US4458584A (en) | 1983-02-22 | 1984-07-10 | General Foods Corporation | Beverage carbonation device |
US4578799A (en) | 1983-10-05 | 1986-03-25 | Codenoll Technology Corporation | Method and apparatus for recovering data and clock information from a self-clocking data stream |
US4553573A (en) | 1983-10-20 | 1985-11-19 | Pepsico Inc. | Bulk syrup delivery system |
US4824075A (en) | 1984-02-14 | 1989-04-25 | Walter Holzboog | Tilt action dispensing valve assembly |
US4870302A (en) | 1984-03-12 | 1989-09-26 | Xilinx, Inc. | Configurable electrical circuit having configurable logic elements and configurable interconnects |
DK279985A (en) | 1984-06-25 | 1985-12-26 | Isoworth Ltd | METHOD AND APPARATUS FOR CARBONIZATION |
US4706216A (en) | 1985-02-27 | 1987-11-10 | Xilinx, Inc. | Configurable logic element |
US4967340A (en) | 1985-06-12 | 1990-10-30 | E-Systems, Inc. | Adaptive processing system having an array of individually configurable processing components |
US4713755A (en) | 1985-06-28 | 1987-12-15 | Hewlett-Packard Company | Cache memory consistency control with explicit software instructions |
US4765513A (en) | 1985-08-26 | 1988-08-23 | The Cornelius Company | Post-mix beverage dispenser with nozzle |
US4993604A (en) | 1985-09-13 | 1991-02-19 | The Coca-Cola Company | Low-cost post-mix beverage dispenser and syrup supply system therefor |
US4747516A (en) | 1985-12-23 | 1988-05-31 | Liquid Motion Industries, Co. | Soft drink maker |
US4748585A (en) | 1985-12-26 | 1988-05-31 | Chiarulli Donald M | Processor utilizing reconfigurable process segments to accomodate data word length |
US4974643A (en) | 1986-01-31 | 1990-12-04 | The Cornelius Company | Method of and apparatus for dispensing beverage into a tilted receptacle with automatic level responsive shut off |
GB2186265B (en) | 1986-02-10 | 1989-11-01 | Isoworth Ltd | Beverage dispensing apparatus |
US4982876A (en) | 1986-02-10 | 1991-01-08 | Isoworth Limited | Carbonation apparatus |
US4960261A (en) | 1986-03-17 | 1990-10-02 | Isoworth Limited | Gas cylinder connector |
GB2218767A (en) | 1988-05-17 | 1989-11-22 | Isoworth Ltd | Gas cylinder connector |
US5021947A (en) | 1986-03-31 | 1991-06-04 | Hughes Aircraft Company | Data-flow multiprocessor architecture with three dimensional multistage interconnection network for efficient signal and data processing |
US4760525A (en) | 1986-06-10 | 1988-07-26 | The United States Of America As Represented By The Secretary Of The Air Force | Complex arithmetic vector processor for performing control function, scalar operation, and set-up of vector signal processing instruction |
US4760544A (en) | 1986-06-20 | 1988-07-26 | Plessey Overseas Limited | Arithmetic logic and shift device |
US4811214A (en) | 1986-11-14 | 1989-03-07 | Princeton University | Multinode reconfigurable pipeline computer |
US5165023A (en) | 1986-12-17 | 1992-11-17 | Massachusetts Institute Of Technology | Parallel processing system with processor array and network communications system for transmitting messages of variable length |
US4766548A (en) | 1987-01-02 | 1988-08-23 | Pepsico Inc. | Telelink monitoring and reporting system |
US4781309A (en) | 1987-02-19 | 1988-11-01 | The Cornelius Company | Dispenser with improved carbonated water manifold |
US4856684A (en) | 1987-04-06 | 1989-08-15 | William Gerstung | Valve for a pressurized dispensing can containing flowable materials |
US5381546A (en) | 1987-04-13 | 1995-01-10 | Gte Laboratories Incorporated | Control process for allocating services in communications systems |
US5818603A (en) | 1996-03-29 | 1998-10-06 | Ricoh Company, Ltd. | Method and system for controlling and communicating with machines using multiple communication formats |
US4800492A (en) | 1987-05-13 | 1989-01-24 | The Coca-Cola Company | Data logger for a post-mix beverage dispensing system |
US4827426A (en) | 1987-05-18 | 1989-05-02 | The Coca-Cola Company | Data acquisition and processing system for post-mix beverage dispensers |
US4850269A (en) | 1987-06-26 | 1989-07-25 | Aquatec, Inc. | Low pressure, high efficiency carbonator and method |
GB2210441B (en) | 1987-10-01 | 1992-03-04 | Isoworth Ltd | Pressure vessel |
JPH03501070A (en) | 1987-11-05 | 1991-03-07 | ザ、プレイカウント、カンパニー | Video cassette rental system and method, and recording playback counting device therefor |
US4921315A (en) | 1987-12-21 | 1990-05-01 | Whirlpool Corporation | Refrigerator door structure |
US5428754A (en) | 1988-03-23 | 1995-06-27 | 3Dlabs Ltd | Computer system with clock shared between processors executing separate instruction streams |
US4905231A (en) | 1988-05-03 | 1990-02-27 | American Telephone And Telegraph Company, At&T Bell Laboratories | Multi-media virtual circuit |
US5572572A (en) | 1988-05-05 | 1996-11-05 | Transaction Technology, Inc. | Computer and telephone apparatus with user friendly interface and enhanced integrity features |
US4932564A (en) | 1988-05-20 | 1990-06-12 | The Cornelius Company | Multiple flavor post-mix beverage dispensing head |
JPH03500461A (en) | 1988-07-22 | 1991-01-31 | アメリカ合衆国 | Data flow device for data-driven calculations |
US4901887A (en) | 1988-08-08 | 1990-02-20 | Burton John W | Beverage dispensing system |
DE3829831A1 (en) | 1988-09-02 | 1990-03-15 | Hansa Metallwerke Ag | DEVICE FOR TAPING A SELECTABLE QUANTITY OF LIQUID, IN PARTICULAR QUANTITY OF WATER |
US4930666A (en) | 1988-10-28 | 1990-06-05 | The Coca-Cola Company | Juice dispensing system for a refrigerator door |
US6986142B1 (en) | 1989-05-04 | 2006-01-10 | Texas Instruments Incorporated | Microphone/speaker system with context switching in processor |
US5240144A (en) | 1989-01-06 | 1993-08-31 | Joseph Feldman | Beverage dispensing apparatus |
US5090015A (en) | 1989-02-06 | 1992-02-18 | Motorola, Inc. | Programmable array logic self-checking system |
DE69031233T2 (en) | 1989-02-24 | 1997-12-04 | At & T Corp | Adaptive work sequence planning for multiple processing systems |
US5007560A (en) | 1989-03-01 | 1991-04-16 | Sassak John J | Beer dispensing and monitoring method and apparatus |
JP3144686B2 (en) | 1989-06-23 | 2001-03-12 | アイソウォース リミテッド | Beverage production or release equipment |
US5261099A (en) | 1989-08-24 | 1993-11-09 | International Business Machines Corp. | Synchronous communications scheduler allowing transient computing overloads using a request buffer |
US5193151A (en) | 1989-08-30 | 1993-03-09 | Digital Equipment Corporation | Delay-based congestion avoidance in computer networks |
US5163131A (en) | 1989-09-08 | 1992-11-10 | Auspex Systems, Inc. | Parallel i/o network file server architecture |
US4961533A (en) | 1989-09-27 | 1990-10-09 | Viac Inc. | Inventory control system |
GB2236736A (en) | 1989-09-27 | 1991-04-17 | Isoworth Ltd | Carbonation apparatus for dispensing drinks, with plural carbonation chambers |
US5044171A (en) | 1989-11-06 | 1991-09-03 | Eli Farkas | Counter with integral carbonated beverage dispenser |
US5450557A (en) | 1989-11-07 | 1995-09-12 | Loral Aerospace Corp. | Single-chip self-configurable parallel processor |
GB2237908B (en) | 1989-11-08 | 1993-06-16 | British Aerospace | Method and apparatus for parallel processing data |
US5428793A (en) | 1989-11-13 | 1995-06-27 | Hewlett-Packard Company | Method and apparatus for compiling computer programs with interproceduural register allocation |
WO1991012991A1 (en) | 1990-02-27 | 1991-09-05 | The Coca-Cola Company | Multiple fluid space dispenser and monitor |
JP3210319B2 (en) | 1990-03-01 | 2001-09-17 | 株式会社東芝 | Neurochip and neurocomputer using the chip |
US5099418A (en) | 1990-06-14 | 1992-03-24 | Hughes Aircraft Company | Distributed data driven process |
US5203474A (en) | 1990-06-16 | 1993-04-20 | Alco Standard Corporation | Beverage dispensing nozzle |
US5303846A (en) | 1990-09-17 | 1994-04-19 | Abcc/Techcorp. | Method and apparatus for generating and dispensing flavoring syrup in a post mix system |
US5274832A (en) | 1990-10-04 | 1993-12-28 | National Semiconductor Corporation | Systolic array for multidimensional matrix computations |
US5190189A (en) | 1990-10-30 | 1993-03-02 | Imi Cornelius Inc. | Low height beverage dispensing apparatus |
US5144166A (en) | 1990-11-02 | 1992-09-01 | Concurrent Logic, Inc. | Programmable logic cell and array |
US5245227A (en) | 1990-11-02 | 1993-09-14 | Atmel Corporation | Versatile programmable logic cell for use in configurable logic arrays |
US5218240A (en) | 1990-11-02 | 1993-06-08 | Concurrent Logic, Inc. | Programmable logic cell and array with bus repeaters |
US5156301A (en) | 1990-12-17 | 1992-10-20 | Imi Cornelius Inc. | Constant ratio post-mix beverage dispensing valve |
US5202993A (en) | 1991-02-27 | 1993-04-13 | Sun Microsystems, Inc. | Method and apparatus for cost-based heuristic instruction scheduling |
US5301100A (en) | 1991-04-29 | 1994-04-05 | Wagner Ferdinand H | Method of and apparatus for constructing a control system and control system created thereby |
US5156871A (en) | 1991-05-01 | 1992-10-20 | Imi Cornelius Inc. | Low cost beverage carbonating apparatus and method |
US5193718A (en) | 1991-06-25 | 1993-03-16 | Imi Cornelius Inc. | Quick electronic disconnect for a beverage dispensing valve |
US5440752A (en) | 1991-07-08 | 1995-08-08 | Seiko Epson Corporation | Microprocessor architecture with a switch network for data transfer between cache, memory port, and IOU |
US5317209A (en) | 1991-08-29 | 1994-05-31 | National Semiconductor Corporation | Dynamic three-state bussing capability in a configurable logic array |
US5339428A (en) | 1991-09-04 | 1994-08-16 | Digital Equipment Corporation | Compiler allocating a register to a data item used between a use and store of another data item previously allocated to the register |
WO1994009595A1 (en) | 1991-09-20 | 1994-04-28 | Shaw Venson M | Method and apparatus including system architecture for multimedia communications |
US5625669A (en) | 1991-09-27 | 1997-04-29 | Telemac Cellular Corporation | Mobile phone with internal call accounting controls |
JP3124074B2 (en) | 1991-09-30 | 2001-01-15 | 富士通株式会社 | Information vending machine |
CA2073516A1 (en) | 1991-11-27 | 1993-05-28 | Peter Michael Kogge | Dynamic multi-mode parallel processor array architecture computer system |
US5278986A (en) | 1991-12-13 | 1994-01-11 | Thinking Machines Corporation | System and method for compiling a source code supporting data parallel variables |
WO1993013603A1 (en) | 1991-12-23 | 1993-07-08 | Intel Corporation | Circuitry for decoding huffman codes |
US5522070A (en) | 1992-03-19 | 1996-05-28 | Fujitsu Limited | Computer resource distributing method and system for distributing a multiplicity of processes to a plurality of computers connected in a network |
US5269442A (en) | 1992-05-22 | 1993-12-14 | The Cornelius Company | Nozzle for a beverage dispensing valve |
US5768561A (en) | 1992-06-30 | 1998-06-16 | Discovision Associates | Tokens-based adaptive video processing arrangement |
US5684980A (en) | 1992-07-29 | 1997-11-04 | Virtual Computer Corporation | FPGA virtual computer for executing a sequence of program instructions by successively reconfiguring a group of FPGA in response to those instructions |
US5802290A (en) | 1992-07-29 | 1998-09-01 | Virtual Computer Corporation | Computer network of distributed virtual computers which are EAC reconfigurable in response to instruction to be executed |
US5368198A (en) | 1992-08-26 | 1994-11-29 | Imi Cornelius Inc. | Beverage dispenser |
US5437395A (en) | 1992-09-15 | 1995-08-01 | Imi Cornelius Inc. | Modular beverage dispenser |
GB9222840D0 (en) | 1992-10-31 | 1992-12-16 | Smiths Industries Plc | Electronic assemblies |
US5603043A (en) | 1992-11-05 | 1997-02-11 | Giga Operations Corporation | System for compiling algorithmic language source code for implementation in programmable hardware |
US5263509A (en) | 1992-11-12 | 1993-11-23 | General Electric Company | Refrigerator with door mounted dispenser supply mechanism |
US5392960A (en) | 1992-11-13 | 1995-02-28 | Wilshire Partners | Postmix beverage dispenser and a method for making a beverage dispenser |
US6192255B1 (en) | 1992-12-15 | 2001-02-20 | Texas Instruments Incorporated | Communication system and methods for enhanced information transfer |
US5335276A (en) | 1992-12-16 | 1994-08-02 | Texas Instruments Incorporated | Communication system and methods for enhanced information transfer |
US5838894A (en) | 1992-12-17 | 1998-11-17 | Tandem Computers Incorporated | Logical, fail-functional, dual central processor units formed from three processor units |
US5452457A (en) | 1993-01-29 | 1995-09-19 | International Business Machines Corporation | Program construct and methods/systems for optimizing assembled code for execution |
US5297400A (en) | 1993-02-17 | 1994-03-29 | Maytag Corporation | Liquid dispensing assembly for a refrigerator |
US5280711A (en) | 1993-02-25 | 1994-01-25 | Imi Cornelius Inc. | Low cost beverage dispensing apparatus |
US5483658A (en) | 1993-02-26 | 1996-01-09 | Grube; Gary W. | Detection of unauthorized use of software applications in processing devices |
US5379343A (en) | 1993-02-26 | 1995-01-03 | Motorola, Inc. | Detection of unauthorized use of software applications in communication units |
DE59401478D1 (en) | 1993-03-15 | 1997-02-13 | Siemens Ag | METHOD FOR THE MACHINE GENERATION OF SIDE-EDITABLE COMMAND GROUPS FROM A PROGRAM FOR SUPER-SCALAR MICROPROCESSORS |
JP3499252B2 (en) | 1993-03-19 | 2004-02-23 | 株式会社ルネサステクノロジ | Compiling device and data processing device |
US5870427A (en) | 1993-04-14 | 1999-02-09 | Qualcomm Incorporated | Method for multi-mode handoff using preliminary time alignment of a mobile station operating in analog mode |
US5388062A (en) | 1993-05-06 | 1995-02-07 | Thomson Consumer Electronics, Inc. | Reconfigurable programmable digital filter architecture useful in communication receiver |
FI932605A (en) | 1993-06-07 | 1994-12-08 | Nokia Telecommunications Oy | Receiver device for base station |
US5517667A (en) | 1993-06-14 | 1996-05-14 | Motorola, Inc. | Neural network that does not require repetitive training |
US5343716A (en) | 1993-06-29 | 1994-09-06 | Imi Cornelius Inc. | Beverage dispenser with improved cold plate |
JP3159345B2 (en) | 1993-07-02 | 2001-04-23 | 日本電気株式会社 | Pipeline arithmetic processing unit |
JPH0728786A (en) | 1993-07-15 | 1995-01-31 | Hitachi Ltd | Vector processor |
US5507009A (en) | 1993-08-13 | 1996-04-09 | Motorola, Inc. | Method for reprogramming a communication unit's access to a wireless communication system |
US5701482A (en) | 1993-09-03 | 1997-12-23 | Hughes Aircraft Company | Modular array processor architecture having a plurality of interconnected load-balanced parallel processing nodes |
US5732563A (en) | 1993-09-22 | 1998-03-31 | Imi Cornelius Inc. | Electronically controlled beverage dispenser |
CA2126265A1 (en) | 1993-09-27 | 1995-03-28 | Michael Robert Cantone | System for synthesizing field programmable gate array implementations from high level circuit descriptions |
JP3594309B2 (en) | 1993-09-28 | 2004-11-24 | 株式会社ナムコ | Pipeline processing device, clipping processing device, three-dimensional simulator device, and pipeline processing method |
US5862961A (en) | 1993-10-26 | 1999-01-26 | Imi Cornelius Inc. | Connection device for dispensing fluid from a bottle |
BR9304369A (en) | 1993-10-26 | 1995-06-20 | Imi Cornelius Brasil Ltda | Liquid extractor assembly from a container |
US6111935A (en) | 1993-10-27 | 2000-08-29 | Canon Kabushiki Kaisha | Adaptive expansion table in a digital telephone receiver |
US5490165A (en) | 1993-10-28 | 1996-02-06 | Qualcomm Incorporated | Demodulation element assignment in a system capable of receiving multiple signals |
US5721854A (en) | 1993-11-02 | 1998-02-24 | International Business Machines Corporation | Method and apparatus for dynamic conversion of computer instructions |
EP0950946B1 (en) | 1993-11-05 | 2001-08-16 | Intergraph Corporation | Software scheduled superscaler computer architecture |
KR960010668B1 (en) | 1993-11-06 | 1996-08-07 | 엘지전자 주식회사 | Refrigerator |
US5530435A (en) | 1993-12-09 | 1996-06-25 | Steelcase Inc. | Utility distribution system for modular furniture and the like |
JP2655068B2 (en) | 1993-12-30 | 1997-09-17 | 日本電気株式会社 | Spread spectrum receiver |
US5491823A (en) | 1994-01-25 | 1996-02-13 | Silicon Graphics, Inc. | Loop scheduler |
US5635940A (en) | 1994-02-02 | 1997-06-03 | Hickman; Paul L. | Communication configurator and method for implementing same |
US5519694A (en) | 1994-02-04 | 1996-05-21 | Massachusetts Institute Of Technology | Construction of hierarchical networks through extension |
GB9403030D0 (en) | 1994-02-17 | 1994-04-06 | Austin Kenneth | Re-configurable application specific device |
BR7400414U (en) | 1994-03-04 | 1994-07-26 | Spal Ind Brasileira De Bebidas | Soft drink dispensing machine |
US5729754A (en) | 1994-03-28 | 1998-03-17 | Estes; Mark D. | Associative network method and apparatus |
US5454406A (en) | 1994-05-13 | 1995-10-03 | Eaton Corporation | Automatic beverage dispenser |
US5694546A (en) | 1994-05-31 | 1997-12-02 | Reisman; Richard R. | System for automatic unattended electronic information transport between a server and a client by a vendor provided transport software with a manifest list |
GB2291567B (en) | 1994-07-01 | 1999-02-24 | Roke Manor Research | Apparatus for use in equipment providing a digital radio link between a fixed and a mobile radio unit |
US5701398A (en) | 1994-07-01 | 1997-12-23 | Nestor, Inc. | Adaptive classifier having multiple subnetworks |
FI943249A (en) | 1994-07-07 | 1996-01-08 | Nokia Mobile Phones Ltd | Procedure for controlling recipients and recipients |
US5745366A (en) | 1994-07-14 | 1998-04-28 | Omnicell Technologies, Inc. | Pharmaceutical dispensing device and methods |
US5655140A (en) | 1994-07-22 | 1997-08-05 | Network Peripherals | Apparatus for translating frames of data transferred between heterogeneous local area networks |
US5630206A (en) | 1994-08-11 | 1997-05-13 | Stanford Telecommunications, Inc. | Position enhanced cellular telephone system |
US5499758A (en) | 1994-08-19 | 1996-03-19 | Mccann's Engineering & Manufacturing Co. | Liquid dispenser for use with containers |
US6056194A (en) | 1995-08-28 | 2000-05-02 | Usa Technologies, Inc. | System and method for networking and controlling vending machines |
US5608643A (en) | 1994-09-01 | 1997-03-04 | General Programming Holdings, Inc. | System for managing multiple dispensing units and method of operation |
FR2724273B1 (en) | 1994-09-05 | 1997-01-03 | Sgs Thomson Microelectronics | SIGNAL PROCESSING CIRCUIT FOR IMPLEMENTING A VITERBI ALGORITHM |
JP3525353B2 (en) | 1994-09-28 | 2004-05-10 | 株式会社リコー | Digital electronic still camera |
JPH08106375A (en) | 1994-10-03 | 1996-04-23 | Ricoh Co Ltd | Signal processing computing element |
US5600810A (en) | 1994-12-09 | 1997-02-04 | Mitsubishi Electric Information Technology Center America, Inc. | Scaleable very long instruction word processor with parallelism matching |
US5602833A (en) | 1994-12-19 | 1997-02-11 | Qualcomm Incorporated | Method and apparatus for using Walsh shift keying in a spread spectrum communication system |
US5636368A (en) | 1994-12-23 | 1997-06-03 | Xilinx, Inc. | Method for programming complex PLD having more than one function block type |
DE4446882B4 (en) | 1994-12-27 | 2004-02-12 | BSH Bosch und Siemens Hausgeräte GmbH | Device for repeated, independent dosing of precisely metered amounts of a powdery cleaning agent in water-carrying cleaning machines, in particular household dishwashers and household washing machines |
KR0146100B1 (en) | 1995-01-07 | 1998-09-15 | 이헌조 | Information acquisition and analysis device |
US5706191A (en) | 1995-01-19 | 1998-01-06 | Gas Research Institute | Appliance interface apparatus and automated residence management system |
US5742180A (en) | 1995-02-10 | 1998-04-21 | Massachusetts Institute Of Technology | Dynamically programmable gate array with multiple contexts |
DE69637733D1 (en) | 1995-02-13 | 2008-12-11 | Intertrust Tech Corp | SYSTEMS AND METHOD FOR SAFE TRANSMISSION |
US5892900A (en) | 1996-08-30 | 1999-04-06 | Intertrust Technologies Corp. | Systems and methods for secure transaction management and electronic rights protection |
US5892961A (en) | 1995-02-17 | 1999-04-06 | Xilinx, Inc. | Field programmable gate array having programming instructions in the configuration bitstream |
US5696906A (en) | 1995-03-09 | 1997-12-09 | Continental Cablevision, Inc. | Telecommunicaion user account management system and method |
US5669001A (en) | 1995-03-23 | 1997-09-16 | International Business Machines Corporation | Object code compatible representation of very long instruction word programs |
US6085740A (en) | 1996-02-21 | 2000-07-11 | Aerogen, Inc. | Liquid dispensing apparatus and methods |
US5737631A (en) | 1995-04-05 | 1998-04-07 | Xilinx Inc | Reprogrammable instruction set accelerator |
US5835753A (en) | 1995-04-12 | 1998-11-10 | Advanced Micro Devices, Inc. | Microprocessor with dynamically extendable pipeline stages and a classifying circuit |
US5611867A (en) | 1995-04-12 | 1997-03-18 | Maytag Corporation | Method of selecting a wash cycle for an appliance |
US6021186A (en) | 1995-04-17 | 2000-02-01 | Ricoh Company Ltd. | Automatic capture and processing of facsimile transmissions |
US5794062A (en) | 1995-04-17 | 1998-08-11 | Ricoh Company Ltd. | System and method for dynamically reconfigurable computing using a processing unit having changeable internal hardware organization |
US5933642A (en) | 1995-04-17 | 1999-08-03 | Ricoh Corporation | Compiling system and method for reconfigurable computing |
WO1996033558A1 (en) | 1995-04-18 | 1996-10-24 | Advanced Micro Devices, Inc. | Method and apparatus for hybrid vlc bitstream decoding |
US5534796A (en) | 1995-04-21 | 1996-07-09 | Intergraph Corporation | Self-clocking pipeline register |
US5751295A (en) | 1995-04-27 | 1998-05-12 | Control Systems, Inc. | Graphics accelerator chip and method |
US5802278A (en) | 1995-05-10 | 1998-09-01 | 3Com Corporation | Bridge/router architecture for high performance scalable networking |
US5704053A (en) | 1995-05-18 | 1997-12-30 | Hewlett-Packard Company | Efficient explicit data prefetching analysis and code generation in a low-level optimizer for inserting prefetch instructions into loops of applications |
US5646544A (en) | 1995-06-05 | 1997-07-08 | International Business Machines Corporation | System and method for dynamically reconfiguring a programmable gate array |
US5634190A (en) | 1995-06-06 | 1997-05-27 | Globalstar L.P. | Low earth orbit communication satellite gateway-to-gateway relay system |
US5787237A (en) | 1995-06-06 | 1998-07-28 | Apple Computer, Inc. | Uniform interface for conducting communications in a heterogeneous computing network |
US5613004A (en) | 1995-06-07 | 1997-03-18 | The Dice Company | Steganographic method and device |
US5553755A (en) | 1995-06-09 | 1996-09-10 | Summit Packaging Systems, Inc. | Whipped cream dispenser |
US5542265A (en) | 1995-06-30 | 1996-08-06 | Rutland; Michael D. | External refrigerator-mounted liquid dispenser |
FR2736787B1 (en) | 1995-07-11 | 1997-08-08 | Alcatel Business Systems | COMMUNICATION SYSTEM AND CORRESPONDING EQUIPMENT FOR SUBSCRIBER INSTALLATION |
US5768594A (en) | 1995-07-14 | 1998-06-16 | Lucent Technologies Inc. | Methods and means for scheduling parallel processors |
US5822308A (en) | 1995-07-17 | 1998-10-13 | National Semiconductor Corporation | Multi-tasking sequencer for a TDMA burst mode controller |
US5842004A (en) | 1995-08-04 | 1998-11-24 | Sun Microsystems, Inc. | Method and apparatus for decompression of compressed geometric three-dimensional graphics data |
US5646545A (en) | 1995-08-18 | 1997-07-08 | Xilinx, Inc. | Time multiplexed programmable logic device |
US5778439A (en) | 1995-08-18 | 1998-07-07 | Xilinx, Inc. | Programmable logic device with hierarchical confiquration and state storage |
US5784313A (en) | 1995-08-18 | 1998-07-21 | Xilinx, Inc. | Programmable logic device including configuration data or user data memory slices |
US5991308A (en) | 1995-08-25 | 1999-11-23 | Terayon Communication Systems, Inc. | Lower overhead method for data transmission using ATM and SCDMA over hybrid fiber coax cable plant |
US5623545A (en) | 1995-08-31 | 1997-04-22 | National Semiconductor Corporation | Automatic data generation for self-test of cryptographic hash algorithms in personal security devices |
DE19532422C1 (en) | 1995-09-01 | 1997-01-23 | Philips Patentverwaltung | Local network operating according to the asynchronous transfer mode (ATM) with at least two ring systems |
US5822360A (en) | 1995-09-06 | 1998-10-13 | Solana Technology Development Corporation | Method and apparatus for transporting auxiliary data in audio signals |
US5845815A (en) | 1995-09-08 | 1998-12-08 | Imi Cornelius Inc. | Flow control for beverage dispensing valve |
US5774737A (en) | 1995-10-13 | 1998-06-30 | Matsushita Electric Industrial Co., Ltd. | Variable word length very long instruction word instruction processor with word length register or instruction number register |
US5742821A (en) | 1995-11-08 | 1998-04-21 | Lucent Technologies Inc. | Multiprocessor scheduling and execution |
EP0778240A1 (en) | 1995-12-08 | 1997-06-11 | IMI Cornelius Inc. | Electro-mechanical refrigeration system |
US6473609B1 (en) | 1995-12-11 | 2002-10-29 | Openwave Systems Inc. | Method and architecture for interactive two-way communication devices to interact with a network |
US5734582A (en) | 1995-12-12 | 1998-03-31 | International Business Machines Corporation | Method and system for layout and schematic generation for heterogeneous arrays |
KR100187284B1 (en) | 1995-12-19 | 1999-05-01 | 김광호 | Water dispenser of a refrigerator |
US5706976A (en) | 1995-12-21 | 1998-01-13 | Purkey; Jay Floyd | Vending machine inventory control device |
US6247036B1 (en) | 1996-01-22 | 2001-06-12 | Infinite Technology Corp. | Processor with reconfigurable arithmetic data path |
US6510510B1 (en) | 1996-01-25 | 2003-01-21 | Analog Devices, Inc. | Digital signal processor having distributed register file |
US5889816A (en) | 1996-02-02 | 1999-03-30 | Lucent Technologies, Inc. | Wireless adapter architecture for mobile computing |
US5791517A (en) | 1996-02-21 | 1998-08-11 | Menachem M. Deren | Beverage dispenser device |
US6237029B1 (en) | 1996-02-26 | 2001-05-22 | Argosystems, Inc. | Method and apparatus for adaptable digital protocol processing |
US5894473A (en) | 1996-02-29 | 1999-04-13 | Ericsson Inc. | Multiple access communications system and method using code and time division |
FR2745649B1 (en) | 1996-03-01 | 1998-04-30 | Bull Sa | SYSTEM FOR CONFIGURING PRECONFIGURED SOFTWARE ON NETWORK OPEN SYSTEMS IN A DISTRIBUTED ENVIRONMENT AND METHOD IMPLEMENTED BY SUCH A SYSTEM |
US6393046B1 (en) | 1996-04-25 | 2002-05-21 | Sirf Technology, Inc. | Spread spectrum receiver with multi-bit correlator |
US6055314A (en) | 1996-03-22 | 2000-04-25 | Microsoft Corporation | System and method for secure purchase and delivery of video content programs |
US6381293B1 (en) | 1996-04-03 | 2002-04-30 | United Microelectronics Corp. | Apparatus and method for serial data communication between plurality of chips in a chip set |
US6346824B1 (en) | 1996-04-09 | 2002-02-12 | Xilinx, Inc. | Dedicated function fabric for use in field programmable gate arrays |
US5956518A (en) | 1996-04-11 | 1999-09-21 | Massachusetts Institute Of Technology | Intermediate-grain reconfigurable processing device |
US5802055A (en) | 1996-04-22 | 1998-09-01 | Apple Computer, Inc. | Method and apparatus for dynamic buffer allocation in a bus bridge for pipelined reads |
US5903886A (en) | 1996-04-30 | 1999-05-11 | Smartlynx, Inc. | Hierarchical adaptive state machine for emulating and augmenting software |
US5626407A (en) | 1996-05-10 | 1997-05-06 | Emplast, Inc. | Storage system for refrigerators |
US6181981B1 (en) | 1996-05-15 | 2001-01-30 | Marconi Communications Limited | Apparatus and method for improved vending machine inventory maintenance |
US5771362A (en) | 1996-05-17 | 1998-06-23 | Advanced Micro Devices, Inc. | Processor having a bus interconnect which is dynamically reconfigurable in response to an instruction field |
US5822313A (en) | 1996-05-24 | 1998-10-13 | National Semiconductor Corporation | Seamless handover in a cordless TDMA system |
US5784699A (en) | 1996-05-24 | 1998-07-21 | Oracle Corporation | Dynamic memory allocation in a computer using a bit map index |
US5784636A (en) | 1996-05-28 | 1998-07-21 | National Semiconductor Corporation | Reconfigurable computer architecture for use in signal processing applications |
US5907580A (en) | 1996-06-10 | 1999-05-25 | Morphics Technology, Inc | Method and apparatus for communicating information |
US6175854B1 (en) | 1996-06-11 | 2001-01-16 | Ameritech Services, Inc. | Computer system architecture and method for multi-user, real-time applications |
US5887174A (en) | 1996-06-18 | 1999-03-23 | International Business Machines Corporation | System, method, and program product for instruction scheduling in the presence of hardware lookahead accomplished by the rescheduling of idle slots |
US6192388B1 (en) | 1996-06-20 | 2001-02-20 | Avid Technology, Inc. | Detecting available computers to participate in computationally complex distributed processing problem |
US6360256B1 (en) | 1996-07-01 | 2002-03-19 | Sun Microsystems, Inc. | Name service for a redundant array of internet servers |
US5867145A (en) | 1996-07-01 | 1999-02-02 | Sun Microsystems, Inc. | Graphical image recasting |
US6023742A (en) | 1996-07-18 | 2000-02-08 | University Of Washington | Reconfigurable computing architecture for providing pipelined data paths |
CA2210582C (en) | 1996-07-24 | 2001-01-30 | Ntt Mobile Communications Network Inc. | Method and apparatus for receiving cdma radio communication |
US5890014A (en) | 1996-08-05 | 1999-03-30 | Micronet Technology, Inc. | System for transparently identifying and matching an input/output profile to optimal input/output device parameters |
JP3123440B2 (en) | 1996-08-14 | 2001-01-09 | 日本電気株式会社 | Channel selection method for wireless communication system |
US5838165A (en) | 1996-08-21 | 1998-11-17 | Chatter; Mukesh | High performance self modifying on-the-fly alterable logic FPGA, architecture and method |
US6226387B1 (en) | 1996-08-30 | 2001-05-01 | Regents Of The University Of Minnesota | Method and apparatus for scene-based video watermarking |
US6041970A (en) | 1996-08-30 | 2000-03-28 | Imi Cornelius Inc. | Pre-mix beverage dispensing system and components thereof |
US5828858A (en) | 1996-09-16 | 1998-10-27 | Virginia Tech Intellectual Properties, Inc. | Worm-hole run-time reconfigurable processor field programmable gate array (FPGA) |
US5790817A (en) | 1996-09-25 | 1998-08-04 | Advanced Micro Devices, Inc. | Configurable digital wireless and wired communications system architecture for implementing baseband functionality |
US5825202A (en) | 1996-09-26 | 1998-10-20 | Xilinx, Inc. | Integrated circuit with field programmable and application specific logic areas |
US6021492A (en) | 1996-10-09 | 2000-02-01 | Hewlett-Packard Company | Software metering management of remote computing devices |
US6016395A (en) | 1996-10-18 | 2000-01-18 | Samsung Electronics Co., Ltd. | Programming a vector processor and parallel programming of an asymmetric dual multiprocessor comprised of a vector processor and a risc processor |
US6005943A (en) | 1996-10-29 | 1999-12-21 | Lucent Technologies Inc. | Electronic identifiers for network terminal devices |
US5950131A (en) | 1996-10-29 | 1999-09-07 | Motorola, Inc. | Method and apparatus for fast pilot channel acquisition using a matched filter in a CDMA radiotelephone |
US5892962A (en) | 1996-11-12 | 1999-04-06 | Lucent Technologies Inc. | FPGA-based processor |
US5913172A (en) | 1996-11-15 | 1999-06-15 | Glenayre Electronics, Inc. | Method and apparatus for reducing phase cancellation in a simulcast paging system |
US7607147B1 (en) | 1996-12-11 | 2009-10-20 | The Nielsen Company (Us), Llc | Interactive service device metering systems |
US6246883B1 (en) | 1996-12-24 | 2001-06-12 | Lucent Technologies, Inc. | Mobile base station |
US5987611A (en) | 1996-12-31 | 1999-11-16 | Zone Labs, Inc. | System and methodology for managing internet access on a per application basis for client computers connected to the internet |
TW361051B (en) | 1997-01-09 | 1999-06-11 | Matsushita Electric Ind Co Ltd | Motion vector detection apparatus |
US5953322A (en) | 1997-01-31 | 1999-09-14 | Qualcomm Incorporated | Cellular internet telephone |
US5940438A (en) | 1997-02-18 | 1999-08-17 | Mitsubishi Electric Information Technology Center America, Inc (Ita) | Universal modem for digital video, audio and data communications |
US6289488B1 (en) | 1997-02-24 | 2001-09-11 | Lucent Technologies Inc. | Hardware-software co-synthesis of hierarchical heterogeneous distributed embedded systems |
US6289434B1 (en) * | 1997-02-28 | 2001-09-11 | Cognigine Corporation | Apparatus and method of implementing systems on silicon using dynamic-adaptive run-time reconfigurable circuits for processing multiple, independent data and control streams of varying rates |
US6061580A (en) | 1997-02-28 | 2000-05-09 | Randice-Lisa Altschul | Disposable wireless telephone and method for call-out only |
JP3340343B2 (en) | 1997-03-13 | 2002-11-05 | 株式会社東芝 | Processor and information processing device |
US6059840A (en) | 1997-03-17 | 2000-05-09 | Motorola, Inc. | Automatic scheduling of instructions to reduce code size |
DE19711479C2 (en) | 1997-03-19 | 2002-10-24 | Bauer Maschinen Gmbh | Method for operating a work module and device |
US5912572A (en) | 1997-03-28 | 1999-06-15 | Cypress Semiconductor Corp. | Synchronizing clock pulse generator for logic derived clock signals with synchronous clock suspension capability for a programmable device |
US5991302A (en) | 1997-04-10 | 1999-11-23 | Cisco Technology, Inc. | Technique for maintaining prioritization of data transferred among heterogeneous nodes of a computer network |
US6115751A (en) | 1997-04-10 | 2000-09-05 | Cisco Technology, Inc. | Technique for capturing information needed to implement transmission priority routing among heterogeneous nodes of a computer network |
DE69835314T2 (en) | 1997-04-15 | 2007-05-10 | Hewlett-Packard Development Co., L.P., Houston | Method and device for format-controlled interaction between devices |
US6041322A (en) | 1997-04-18 | 2000-03-21 | Industrial Technology Research Institute | Method and apparatus for processing data in a neural network |
JP3555729B2 (en) | 1997-04-22 | 2004-08-18 | 日本ビクター株式会社 | Method and apparatus for processing variable-length encoded data |
US5860021A (en) | 1997-04-24 | 1999-01-12 | Klingman; Edwin E. | Single chip microcontroller having down-loadable memory organization supporting "shadow" personality, optimized for bi-directional data transfers over a communication channel |
US6219697B1 (en) | 1997-05-02 | 2001-04-17 | 3Com Corporation | Method and apparatus for operating the internet protocol over a high-speed serial bus |
US5886537A (en) | 1997-05-05 | 1999-03-23 | Macias; Nicholas J. | Self-reconfigurable parallel processor made from regularly-connected self-dual code/data processing cells |
US6047115A (en) | 1997-05-29 | 2000-04-04 | Xilinx, Inc. | Method for configuring FPGA memory planes for virtual hardware computation |
US5917852A (en) | 1997-06-11 | 1999-06-29 | L-3 Communications Corporation | Data scrambling system and method and communications system incorporating same |
US5949415A (en) | 1997-06-16 | 1999-09-07 | Intel Corporation | Method and apparatus for tracking program usage in a computer system |
FI105251B (en) | 1997-06-18 | 2000-06-30 | Nokia Mobile Phones Ltd | A method for identifying base stations in a time division cellular network in a mobile station and a mobile station |
US6292827B1 (en) | 1997-06-20 | 2001-09-18 | Shore Technologies (1999) Inc. | Information transfer systems and method with dynamic distribution of data, control and management of information |
US6628699B2 (en) | 1997-06-23 | 2003-09-30 | Schlumberger Resource Management Systems, Inc. | Receiving a spread spectrum signal |
EP0887989A3 (en) | 1997-06-25 | 2001-02-28 | FISHER & PAYKEL LIMITED | Appliance communication system |
US5970254A (en) | 1997-06-27 | 1999-10-19 | Cooke; Laurence H. | Integrated processor and programmable data path chip for reconfigurable computing |
US5966534A (en) | 1997-06-27 | 1999-10-12 | Cooke; Laurence H. | Method for compiling high level programming languages into an integrated processor with reconfigurable logic |
WO1999003776A1 (en) | 1997-07-14 | 1999-01-28 | Isoworth Uk Limited | Temperature controlled beverage dispensing apparatus |
ES2301896T3 (en) | 1997-07-17 | 2008-07-01 | Matsushita Electric Industrial Co., Ltd | SYNCHRONIZATION PROCEDURE FOR A CDMA SYSTEM. |
US6111893A (en) | 1997-07-31 | 2000-08-29 | Cisco Technology, Inc. | Universal protocol conversion |
US6760833B1 (en) | 1997-08-01 | 2004-07-06 | Micron Technology, Inc. | Split embedded DRAM processor |
US6292830B1 (en) | 1997-08-08 | 2001-09-18 | Iterations Llc | System for optimizing interaction among agents acting on multiple levels |
US6311149B1 (en) | 1997-08-18 | 2001-10-30 | National Instruments Corporation | Reconfigurable test system |
US6006249A (en) | 1997-08-19 | 1999-12-21 | The Chase Manhattan Bank | Method and apparatus for concurrent data processing |
US6078736A (en) | 1997-08-28 | 2000-06-20 | Xilinx, Inc. | Method of designing FPGAs for dynamically reconfigurable computing |
KR100246399B1 (en) | 1997-09-23 | 2000-04-01 | 구자홍 | Dispenser assembly for refrigerator and control method thereof |
US6036166A (en) | 1997-09-25 | 2000-03-14 | Imi Cornelius Inc. | Chamber valve |
US6120551A (en) | 1997-09-29 | 2000-09-19 | Xilinx, Inc. | Hardwire logic device emulating an FPGA |
US6363411B1 (en) | 1998-08-05 | 2002-03-26 | Mci Worldcom, Inc. | Intelligent network |
US6590415B2 (en) | 1997-10-09 | 2003-07-08 | Lattice Semiconductor Corporation | Methods for configuring FPGA's having variable grain components for providing time-shared access to interconnect resources |
US6195788B1 (en) | 1997-10-17 | 2001-02-27 | Altera Corporation | Mapping heterogeneous logic elements in a programmable logic device |
WO1999021094A2 (en) | 1997-10-20 | 1999-04-29 | Quickflex, Inc. | Reconfigurable secure hardware apparatus and method of operation |
US5999734A (en) | 1997-10-21 | 1999-12-07 | Ftl Systems, Inc. | Compiler-oriented apparatus for parallel compilation, simulation and execution of computer programs and hardware models |
US5993739A (en) | 1997-10-29 | 1999-11-30 | Chaircare | Continuous washing system |
US5873045A (en) | 1997-10-29 | 1999-02-16 | International Business Machines Corporation | Mobile client computer with radio frequency transceiver |
US6122670A (en) | 1997-10-30 | 2000-09-19 | Tsi Telsys, Inc. | Apparatus and method for constructing data for transmission within a reliable communication protocol by performing portions of the protocol suite concurrently |
FR2770659A1 (en) | 1997-10-31 | 1999-05-07 | Sgs Thomson Microelectronics | IMPROVED PROCESSING PROCESSOR |
WO1999023761A1 (en) | 1997-11-03 | 1999-05-14 | Harris Corporation | A field programmable radio frequency communications equipment including a configurable if circuit and method therefor |
US6185418B1 (en) | 1997-11-07 | 2001-02-06 | Lucent Technologies Inc. | Adaptive digital radio communication system |
GB9724779D0 (en) | 1997-11-24 | 1998-01-21 | Rpc Containers Ltd | Containers |
US6119178A (en) | 1997-11-25 | 2000-09-12 | 8×8 Inc. | Communication interface between remote transmission of both compressed video and other data and data exchange with local peripherals |
US6128307A (en) | 1997-12-01 | 2000-10-03 | Advanced Micro Devices, Inc. | Programmable data flow processor for performing data transfers |
US6173389B1 (en) | 1997-12-04 | 2001-01-09 | Billions Of Operations Per Second, Inc. | Methods and apparatus for dynamic very long instruction word sub-instruction selection for execution time parallelism in an indirect very long instruction word processor |
JP3985204B2 (en) | 1997-12-09 | 2007-10-03 | ソニー株式会社 | Information broadcasting method, receiver, information center, and receiving method |
US6091263A (en) | 1997-12-12 | 2000-07-18 | Xilinx, Inc. | Rapidly reconfigurable FPGA having a multiple region architecture with reconfiguration caches useable as data RAM |
US6018783A (en) | 1997-12-12 | 2000-01-25 | Advanced Micro Devices, Inc. | Register access controller which prevents simultaneous coupling of more than one register to a bus interface |
US6046603A (en) | 1997-12-12 | 2000-04-04 | Xilinx, Inc. | Method and apparatus for controlling the partial reconfiguration of a field programmable gate array |
DE69827589T2 (en) | 1997-12-17 | 2005-11-03 | Elixent Ltd. | Configurable processing assembly and method of using this assembly to build a central processing unit |
EP0926596B1 (en) | 1997-12-23 | 2007-09-05 | Texas Instruments Inc. | Processor and method for reducing its power usage |
JPH11184674A (en) | 1997-12-24 | 1999-07-09 | Fujitsu Ltd | Register file |
US6192070B1 (en) | 1998-01-02 | 2001-02-20 | Mitsubishi Electric Research Laboratories, Inc. | Universal modem for digital video, audio and data communications |
US5959811A (en) | 1998-01-13 | 1999-09-28 | Read-Rite Corporation | Magnetoresistive transducer with four-lead contact |
US6039219A (en) | 1998-01-20 | 2000-03-21 | Bach; Lanae E. | Liquid dispensing system for a refrigerator |
US6230307B1 (en) | 1998-01-26 | 2001-05-08 | Xilinx, Inc. | System and method for programming the hardware of field programmable gate arrays (FPGAs) and related reconfiguration resources as if they were software by creating hardware objects |
US6366999B1 (en) | 1998-01-28 | 2002-04-02 | Bops, Inc. | Methods and apparatus to support conditional execution in a VLIW-based array processor with subword execution |
US6134629A (en) | 1998-01-29 | 2000-10-17 | Hewlett-Packard Company | Determining thresholds and wrap-around conditions in a first-in-first-out memory supporting a variety of read and write transaction sizes |
US6378072B1 (en) | 1998-02-03 | 2002-04-23 | Compaq Computer Corporation | Cryptographic system |
US6094726A (en) | 1998-02-05 | 2000-07-25 | George S. Sheng | Digital signal processor using a reconfigurable array of macrocells |
US6076174A (en) | 1998-02-19 | 2000-06-13 | United States Of America | Scheduling framework for a heterogeneous computer network |
US6360263B1 (en) | 1998-02-25 | 2002-03-19 | International Business Machines Corporation | Dynamic resource allocation for user management in multi-processor time shared computer systems |
JPH11261440A (en) | 1998-03-11 | 1999-09-24 | Oki Electric Ind Co Ltd | Receiver |
US6691148B1 (en) | 1998-03-13 | 2004-02-10 | Verizon Corporate Services Group Inc. | Framework for providing quality of service requirements in a distributed object-oriented computer system |
US6073132A (en) | 1998-03-27 | 2000-06-06 | Lsi Logic Corporation | Priority arbiter with shifting sequential priority scheme |
US6134605A (en) | 1998-04-15 | 2000-10-17 | Diamond Multimedia Systems, Inc. | Redefinable signal processing subsystem |
US6202130B1 (en) | 1998-04-17 | 2001-03-13 | Motorola, Inc. | Data processing system for processing vector data and method therefor |
US6088043A (en) | 1998-04-30 | 2000-07-11 | 3D Labs, Inc. | Scalable graphics processor architecture |
US6226735B1 (en) | 1998-05-08 | 2001-05-01 | Broadcom | Method and apparatus for configuring arbitrary sized data paths comprising multiple context processing elements |
US6292822B1 (en) | 1998-05-13 | 2001-09-18 | Microsoft Corporation | Dynamic load balancing among processors in a parallel computer |
US6223222B1 (en) | 1998-05-14 | 2001-04-24 | 3Com Corporation | Method and system for providing quality-of-service in a data-over-cable system using configuration protocol messaging |
US6411612B1 (en) | 1998-05-19 | 2002-06-25 | Harris Communication | Selective modification of antenna directivity pattern to adaptively cancel co-channel interference in TDMA cellular communication system |
EP1082687A1 (en) | 1998-06-05 | 2001-03-14 | i2 TECHNOLOGIES, INC. | Computer implemented scheduling system and process using abstract local search technique |
US6272616B1 (en) | 1998-06-17 | 2001-08-07 | Agere Systems Guardian Corp. | Method and apparatus for executing multiple instruction streams in a digital processor with multiple data paths |
GB2338558A (en) | 1998-06-17 | 1999-12-22 | Isoworth Uk Ltd | Drink dispenser, concentrate detector and concentrate container |
US6305014B1 (en) | 1998-06-18 | 2001-10-16 | International Business Machines Corporation | Lifetime-sensitive instruction scheduling mechanism and method |
US6175892B1 (en) | 1998-06-19 | 2001-01-16 | Hitachi America. Ltd. | Registers and methods for accessing registers for use in a single instruction multiple data system |
US6282627B1 (en) | 1998-06-29 | 2001-08-28 | Chameleon Systems, Inc. | Integrated processor and programmable data path chip for reconfigurable computing |
KR100333724B1 (en) | 1998-06-30 | 2002-09-17 | 주식회사 하이닉스반도체 | Mehod for forming metal wire of semiconductor device by using TiAlN antireflection layer |
US6356994B1 (en) | 1998-07-09 | 2002-03-12 | Bops, Incorporated | Methods and apparatus for instruction addressing in indirect VLIW processors |
US6604085B1 (en) | 1998-07-20 | 2003-08-05 | Usa Technologies, Inc. | Universal interactive advertising and payment system network for public access electronic commerce and business related products and services |
EP0974898A3 (en) | 1998-07-24 | 2008-12-24 | Interuniversitair Microelektronica Centrum Vzw | A method for determining a storage-bandwidth optimized memory organization of an essentially digital device |
US6587684B1 (en) | 1998-07-28 | 2003-07-01 | Bell Atlantic Nynex Mobile | Digital wireless telephone system for downloading software to a digital telephone using wireless data link protocol |
GB9818377D0 (en) | 1998-08-21 | 1998-10-21 | Sgs Thomson Microelectronics | An integrated circuit with multiple processing cores |
US6377983B1 (en) | 1998-08-31 | 2002-04-23 | International Business Machines Corporation | Method and system for converting expertise based on document usage |
US6442672B1 (en) | 1998-09-30 | 2002-08-27 | Conexant Systems, Inc. | Method for dynamic allocation and efficient sharing of functional unit datapaths |
US6381735B1 (en) | 1998-10-02 | 2002-04-30 | Microsoft Corporation | Dynamic classification of sections of software |
US6360259B1 (en) | 1998-10-09 | 2002-03-19 | United Technologies Corporation | Method for optimizing communication speed between processors |
US6301653B1 (en) | 1998-10-14 | 2001-10-09 | Conexant Systems, Inc. | Processor containing data path units with forwarding paths between two data path units and a unique configuration or register blocks |
US6467009B1 (en) | 1998-10-14 | 2002-10-15 | Triscend Corporation | Configurable processor system unit |
US6219780B1 (en) | 1998-10-27 | 2001-04-17 | International Business Machines Corporation | Circuit arrangement and method of dispatching instructions to multiple execution units |
US6289375B1 (en) | 1998-10-30 | 2001-09-11 | International Business Machines Corporation | Method and apparatus for invoking network agent functions using a hash table |
US6052600A (en) | 1998-11-23 | 2000-04-18 | Motorola, Inc. | Software programmable radio and method for configuring |
US6138693A (en) | 1998-11-23 | 2000-10-31 | Matz; Warren W. | Automatic detergent dispenser |
US6563891B1 (en) | 1998-11-24 | 2003-05-13 | Telefonaktiebolaget L M Ericsson (Publ) | Automatic gain control for slotted mode operation |
US6202189B1 (en) | 1998-12-17 | 2001-03-13 | Teledesic Llc | Punctured serial concatenated convolutional coding system and method for low-earth-orbit satellite data communication |
US6405214B1 (en) | 1998-12-17 | 2002-06-11 | Hewlett-Packard Company | Method of gathering usage information and transmitting to a primary server and a third party server by a client program |
US6385751B1 (en) | 1998-12-30 | 2002-05-07 | Texas Instruments Incorporated | Programmable, reconfigurable DSP implementation of a Reed-Solomon encoder/decoder |
US6618777B1 (en) | 1999-01-21 | 2003-09-09 | Analog Devices, Inc. | Method and apparatus for communicating between multiple functional units in a computer environment |
JP3444216B2 (en) | 1999-01-28 | 2003-09-08 | 日本電気株式会社 | Programmable device |
WO2000049496A1 (en) | 1999-02-15 | 2000-08-24 | Koninklijke Philips Electronics N.V. | Data processor with a configurable functional unit and method using such a data processor |
US6718541B2 (en) | 1999-02-17 | 2004-04-06 | Elbrus International Limited | Register economy heuristic for a cycle driven multiple issue instruction scheduler |
US20020083423A1 (en) | 1999-02-17 | 2002-06-27 | Elbrus International | List scheduling algorithm for a cycle-driven instruction scheduler |
JP3033575B1 (en) | 1999-02-17 | 2000-04-17 | 日本電気株式会社 | Image processing device |
US6980515B1 (en) | 1999-02-23 | 2005-12-27 | Alcatel | Multi-service network switch with quality of access |
US6150838A (en) | 1999-02-25 | 2000-11-21 | Xilinx, Inc. | FPGA configurable logic block with multi-purpose logic/memory circuit |
US6510138B1 (en) | 1999-02-25 | 2003-01-21 | Fairchild Semiconductor Corporation | Network switch with head of line input buffer queue clearing |
US6271679B1 (en) | 1999-03-24 | 2001-08-07 | Altera Corporation | I/O cell configuration for multiple I/O standards |
US6349394B1 (en) | 1999-03-31 | 2002-02-19 | International Business Machines Corporation | Performance monitoring in a NUMA computer |
US6141283A (en) | 1999-04-01 | 2000-10-31 | Intel Corporation | Method and apparatus for dynamically placing portions of a memory in a reduced power consumption state |
US6570877B1 (en) | 1999-04-07 | 2003-05-27 | Cisco Technology, Inc. | Search engine for forwarding table content addressable memory |
US6832250B1 (en) | 1999-04-13 | 2004-12-14 | Lexmark International, Inc. | Usage-based billing and management system and method for printers and other assets |
GB2349548A (en) | 1999-04-27 | 2000-11-01 | Roke Manor Research | Downloading software to mobile telecommunication users |
WO2000068784A1 (en) | 1999-05-06 | 2000-11-16 | Koninklijke Philips Electronics N.V. | Data processing device, method for executing load or store instructions and method for compiling programs |
US6263057B1 (en) | 1999-05-07 | 2001-07-17 | Lucent Technologies Inc. | Automatic telecommunications provider selection system |
US6433578B1 (en) | 1999-05-07 | 2002-08-13 | Morphics Technology, Inc. | Heterogeneous programmable gate array |
KR100450789B1 (en) | 1999-05-25 | 2004-10-01 | 삼성전자주식회사 | Apparatus for acquiring PN code and DS-CDMA receiver comprising it |
JP4248703B2 (en) | 1999-05-31 | 2009-04-02 | パナソニック株式会社 | Stream multiplexing device, data broadcasting device |
JP2000353099A (en) | 1999-06-01 | 2000-12-19 | Tektronix Inc | Flow control method in active pipeline |
EP1061437A1 (en) | 1999-06-16 | 2000-12-20 | STMicroelectronics S.r.l. | Improved control unit for electronic microcontrollers or microprocessors |
US6347346B1 (en) | 1999-06-30 | 2002-02-12 | Chameleon Systems, Inc. | Local memory unit system with global access for use on reconfigurable chips |
US6901440B1 (en) | 1999-07-02 | 2005-05-31 | Agilent Technologies, Inc. | System and method for universal service activation |
KR100358427B1 (en) | 1999-07-12 | 2002-10-25 | 한국전자통신연구원 | Hardware-Efficient Demodulator for CDMA Adaptive Antenna Array Systems |
US6359248B1 (en) | 1999-08-02 | 2002-03-19 | Xilinx, Inc. | Method for marking packaged integrated circuits |
WO2001011281A1 (en) | 1999-08-09 | 2001-02-15 | Imi Cornelius Brasil Ltda. | Universal connector for interconnecting fluid carrying components of beverage dispensing devices |
US6507947B1 (en) | 1999-08-20 | 2003-01-14 | Hewlett-Packard Company | Programmatic synthesis of processor element arrays |
US6349346B1 (en) | 1999-09-23 | 2002-02-19 | Chameleon Systems, Inc. | Control fabric unit including associated configuration memory and PSOP state machine adapted to provide configuration address to reconfigurable functional unit |
US6430624B1 (en) | 1999-10-21 | 2002-08-06 | Air2Web, Inc. | Intelligent harvesting and navigation system and method |
US6421372B1 (en) | 1999-11-10 | 2002-07-16 | Itt Manufacturing Enterprises, Inc. | Sequential-acquisition, multi-band, multi-channel, matched filter |
US6539467B1 (en) | 1999-11-15 | 2003-03-25 | Texas Instruments Incorporated | Microprocessor with non-aligned memory access |
EP1107512A1 (en) | 1999-12-03 | 2001-06-13 | Sony International (Europe) GmbH | Communication device and software for operating multimedia applications |
JP2001166947A (en) | 1999-12-06 | 2001-06-22 | Nec Corp | Compile processing system |
GB2357226B (en) | 1999-12-08 | 2003-07-16 | Hewlett Packard Co | Security protocol |
US6694380B1 (en) | 1999-12-27 | 2004-02-17 | Intel Corporation | Mapping requests from a processing unit that uses memory-mapped input-output space |
US6601158B1 (en) | 1999-12-30 | 2003-07-29 | Pmc-Sierra, Inc. | Count/address generation circuitry |
AU2915201A (en) | 1999-12-30 | 2001-07-16 | Morphics Technology, Inc. | A fast initial acquisition and search device for a spread spectrum communicationsystem |
WO2001050624A1 (en) | 1999-12-30 | 2001-07-12 | Morphics Technology, Inc. | Method and apparatus to support multi standard, multi service base-stations for wireless voice and data networks |
WO2001056199A1 (en) | 2000-01-28 | 2001-08-02 | Morphics Technology Inc. | Method and apparatus for processing a secondary synchronization channel in a spread spectrum system |
US6701431B2 (en) | 2000-01-28 | 2004-03-02 | Infineon Technologies Ag | Method of generating a configuration for a configurable spread spectrum communication device |
US6711617B1 (en) | 2000-02-09 | 2004-03-23 | International Business Machines Corporation | Method and apparatus for providing automatic configuration of a computer system based on its physical location using an electronically read schedule |
US6438737B1 (en) | 2000-02-15 | 2002-08-20 | Intel Corporation | Reconfigurable logic for a computer |
US6735621B1 (en) | 2000-02-18 | 2004-05-11 | Nortel Networks Limited | Method and apparatus for messaging between disparate networks |
US7509420B2 (en) | 2000-02-18 | 2009-03-24 | Emc Corporation | System and method for intelligent, globally distributed network storage |
US6778212B1 (en) | 2000-02-22 | 2004-08-17 | Pixim, Inc. | Digital image sensor with on -chip programmable logic |
US7082456B2 (en) | 2000-03-17 | 2006-07-25 | Filesx Ltd. | Accelerating responses to requests made by users to an internet |
US6326806B1 (en) | 2000-03-29 | 2001-12-04 | Xilinx, Inc. | FPGA-based communications access point and system for reconfiguration |
PL354956A1 (en) | 2000-03-31 | 2004-03-22 | General Dynamics Decision Systems, Inc. | Scalable cryptographic engine |
US6807590B1 (en) | 2000-04-04 | 2004-10-19 | Hewlett-Packard Development Company, L.P. | Disconnecting a device on a cache line boundary in response to a write command |
US6658048B1 (en) | 2000-04-07 | 2003-12-02 | Nokia Mobile Phones, Ltd. | Global positioning system code phase detector with multipath compensation and method for reducing multipath components associated with a received signal |
DE10019085A1 (en) | 2000-04-10 | 2001-12-06 | Francotyp Postalia Gmbh | Arrangement and method for providing a message when loading service data for a terminal |
US7181542B2 (en) | 2000-04-12 | 2007-02-20 | Corente, Inc. | Method and system for managing and configuring virtual private networks |
DE10018374A1 (en) | 2000-04-13 | 2001-10-18 | Siemens Ag | Mobile terminal such as personal digital assistant or communications terminal |
US6804357B1 (en) | 2000-04-28 | 2004-10-12 | Nokia Corporation | Method and system for providing secure subscriber content data |
US6611906B1 (en) | 2000-04-30 | 2003-08-26 | Hewlett-Packard Development Company, L.P. | Self-organizing hardware processing entities that cooperate to execute requests |
US6691143B2 (en) | 2000-05-11 | 2004-02-10 | Cyberguard Corporation | Accelerated montgomery multiplication using plural multipliers |
WO2001091028A1 (en) | 2000-05-20 | 2001-11-29 | Leem Young Hie | On demand contents providing method and system |
US6604189B1 (en) | 2000-05-22 | 2003-08-05 | Lsi Logic Corporation | Master/slave processor memory inter accessability in an integrated embedded system |
US20020010848A1 (en) | 2000-05-29 | 2002-01-24 | Shoichi Kamano | Data processing system |
US6601086B1 (en) | 2000-06-06 | 2003-07-29 | Emware, Inc. | Service provider for providing data, applications and services to embedded devices and for facilitating control and monitoring of embedded devices |
US6606529B1 (en) | 2000-06-09 | 2003-08-12 | Frontier Technologies, Inc. | Complex scheduling method and device |
US6675265B2 (en) | 2000-06-10 | 2004-01-06 | Hewlett-Packard Development Company, L.P. | Multiprocessor cache coherence system and method in which processor nodes and input/output nodes are equal participants |
US6469540B2 (en) | 2000-06-15 | 2002-10-22 | Nec Corporation | Reconfigurable device having programmable interconnect network suitable for implementing data paths |
US6684319B1 (en) | 2000-06-30 | 2004-01-27 | Conexant Systems, Inc. | System for efficient operation of a very long instruction word digital signal processor |
US6410941B1 (en) | 2000-06-30 | 2002-06-25 | Motorola, Inc. | Reconfigurable systems using hybrid integrated circuits with optical ports |
AU2001284701A1 (en) | 2000-07-31 | 2002-02-13 | Morphics Technology, Inc. | Apparatus and method for configurable multi-dwell search engine for spread spectrum applications |
WO2002011309A1 (en) | 2000-07-31 | 2002-02-07 | Morphics Technology, Inc. | Generic finger architecture for spread spectrum applications |
WO2002011396A2 (en) | 2000-08-01 | 2002-02-07 | Hrl Laboratories, Llc | Apparatus and method for context-sensitive dynamic information service |
US6754805B1 (en) | 2000-08-07 | 2004-06-22 | Transwitch Corporation | Method and apparatus for configurable multi-cell digital signal processing employing global parallel configuration |
US20020032551A1 (en) | 2000-08-07 | 2002-03-14 | Jabari Zakiya | Systems and methods for implementing hash algorithms |
GB0019341D0 (en) | 2000-08-08 | 2000-09-27 | Easics Nv | System-on-chip solutions |
FR2813409A1 (en) | 2000-08-29 | 2002-03-01 | Canon Res Ct France Sa | Configuration of a peripheral for processing of electronic documents in a communication network, uses user data to access level of service available to that user on a network and prepares configuration from user data and service level data |
JP3473695B2 (en) | 2000-08-30 | 2003-12-08 | Necエレクトロニクス株式会社 | Cell search method and circuit in W-CDMA system |
US6754470B2 (en) | 2000-09-01 | 2004-06-22 | Telephia, Inc. | System and method for measuring wireless device and network usage and performance metrics |
US6751723B1 (en) | 2000-09-02 | 2004-06-15 | Actel Corporation | Field programmable gate array and microcontroller system-on-a-chip |
KR100342483B1 (en) | 2000-09-09 | 2002-06-28 | 윤종용 | Apparatus and method for searching base station in umts |
US6538470B1 (en) | 2000-09-18 | 2003-03-25 | Altera Corporation | Devices and methods with programmable logic and digital signal processing regions |
US6718182B1 (en) | 2000-09-18 | 2004-04-06 | Compal Electronics, Inc. | Modularized functionality enhancement for a cellular telephone |
US6771688B1 (en) | 2000-09-19 | 2004-08-03 | Lucent Technologies Inc. | Segmented architecture for multiple sequence detection and identification in fading channels |
WO2002033504A2 (en) | 2000-10-02 | 2002-04-25 | Altera Corporation | Programmable logic integrated circuit devices including dedicated processor components |
JP3933380B2 (en) | 2000-10-05 | 2007-06-20 | 富士通株式会社 | compiler |
JPWO2002032029A1 (en) | 2000-10-06 | 2004-02-26 | 株式会社鷹山 | Receiver |
US6941336B1 (en) | 2000-10-26 | 2005-09-06 | Cypress Semiconductor Corporation | Programmable analog system architecture |
US7035932B1 (en) | 2000-10-27 | 2006-04-25 | Eric Morgan Dowling | Federated multiprotocol communication |
US6748360B2 (en) | 2000-11-03 | 2004-06-08 | International Business Machines Corporation | System for selling a product utilizing audio content identification |
US20020107962A1 (en) | 2000-11-07 | 2002-08-08 | Richter Roger K. | Single chassis network endpoint system with network processor for load balancing |
JP3415579B2 (en) | 2000-11-09 | 2003-06-09 | 松下電器産業株式会社 | Matched filter and correlation detection calculation method |
US6766165B2 (en) | 2000-12-05 | 2004-07-20 | Nortel Networks Limited | Method and system for remote and local mobile network management |
US6738744B2 (en) | 2000-12-08 | 2004-05-18 | Microsoft Corporation | Watermark detection via cardinality-scaled correlation |
US7844666B2 (en) | 2000-12-12 | 2010-11-30 | Microsoft Corporation | Controls and displays for acquiring preferences, inspecting behavior, and guiding the learning and decision policies of an adaptive communications prioritization and routing system |
US6865664B2 (en) | 2000-12-13 | 2005-03-08 | Conexant Systems, Inc. | Methods, systems, and computer program products for compressing a computer program based on a compression criterion and executing the compressed program |
US6823448B2 (en) | 2000-12-15 | 2004-11-23 | Intel Corporation | Exception handling using an exception pipeline in a pipelined processor |
US6842895B2 (en) | 2000-12-21 | 2005-01-11 | Freescale Semiconductor, Inc. | Single instruction for multiple loops |
US6483343B1 (en) | 2000-12-29 | 2002-11-19 | Quicklogic Corporation | Configurable computational unit embedded in a programmable device |
US6426649B1 (en) | 2000-12-29 | 2002-07-30 | Quicklogic Corporation | Architecture for field programmable gate array |
US20020087829A1 (en) | 2000-12-29 | 2002-07-04 | Snyder Walter L. | Re-targetable communication system |
EP1410513A4 (en) | 2000-12-29 | 2005-06-29 | Infineon Technologies Ag | Channel codec processor configurable for multiple wireless communications standards |
US7299355B2 (en) | 2001-01-12 | 2007-11-20 | Broadcom Corporation | Fast SHA1 implementation |
US6871236B2 (en) | 2001-01-26 | 2005-03-22 | Microsoft Corporation | Caching transformed content in a mobile gateway |
US7085310B2 (en) | 2001-01-29 | 2006-08-01 | Qualcomm, Incorporated | Method and apparatus for managing finger resources in a communication system |
US20020133688A1 (en) | 2001-01-29 | 2002-09-19 | Ming-Hau Lee | SIMD/MIMD processing on a reconfigurable array |
US6753873B2 (en) | 2001-01-31 | 2004-06-22 | General Electric Company | Shared memory control between detector framing node and processor |
US6925167B2 (en) | 2001-02-01 | 2005-08-02 | Estech Systems, Inc. | Service observing in a voice over IP telephone system |
US20020107905A1 (en) | 2001-02-05 | 2002-08-08 | Roe Colleen A. | Scalable agent service system |
EP1368726A4 (en) | 2001-02-06 | 2005-04-06 | En Garde Systems | Apparatus and method for providing secure network communication |
US6760587B2 (en) | 2001-02-23 | 2004-07-06 | Qualcomm Incorporated | Forward-link scheduling in a wireless communication system during soft and softer handoff |
US7433942B2 (en) | 2001-02-27 | 2008-10-07 | Intel Corporation | Network management |
US20020147845A1 (en) | 2001-03-06 | 2002-10-10 | Juan-Antonio Sanchez-Herrero | Flexible user distribution between user's serving entities |
US6674999B2 (en) | 2001-03-16 | 2004-01-06 | Skyworks Solutions, Inc | Dynamically varying linearity system for an RF front-end of a communication device |
US7325123B2 (en) | 2001-03-22 | 2008-01-29 | Qst Holdings, Llc | Hierarchical interconnect for configuring separate interconnects for each group of fixed and diverse computational elements |
US7653710B2 (en) | 2002-06-25 | 2010-01-26 | Qst Holdings, Llc. | Hardware task manager |
US6836839B2 (en) | 2001-03-22 | 2004-12-28 | Quicksilver Technology, Inc. | Adaptive integrated circuitry with heterogeneous and reconfigurable matrices of diverse and adaptive computational units having fixed, application specific computational elements |
US7249242B2 (en) | 2002-10-28 | 2007-07-24 | Nvidia Corporation | Input pipeline registers for a node in an adaptive computing engine |
US7225279B2 (en) | 2002-06-25 | 2007-05-29 | Nvidia Corporation | Data distributor in a computation unit forwarding network data to select components in respective communication method type |
US7061928B2 (en) | 2001-03-26 | 2006-06-13 | Azurn Networks, Inc. | Unified XML voice and data media converging switch and application delivery system |
JP4642264B2 (en) | 2001-04-03 | 2011-03-02 | 株式会社日立国際電気 | Correlation circuit for spread spectrum communication |
EP1255368A1 (en) | 2001-04-30 | 2002-11-06 | Siemens Information and Communication Networks S.p.A. | Method to perform link adaptation in enhanced cellular communication systems with several modulation and coding schemes |
US6577678B2 (en) | 2001-05-08 | 2003-06-10 | Quicksilver Technology | Method and system for reconfigurable channel coding |
US6785341B2 (en) | 2001-05-11 | 2004-08-31 | Qualcomm Incorporated | Method and apparatus for processing data in a multiple-input multiple-output (MIMO) communication system utilizing channel state information |
US20020184291A1 (en) | 2001-05-31 | 2002-12-05 | Hogenauer Eugene B. | Method and system for scheduling in an adaptable computing engine |
US6963890B2 (en) | 2001-05-31 | 2005-11-08 | Koninklijke Philips Electronics N.V. | Reconfigurable digital filter having multiple filtering modes |
US6618434B2 (en) | 2001-05-31 | 2003-09-09 | Quicksilver Technology, Inc. | Adaptive, multimode rake receiver for dynamic search and multipath reception |
US7032229B1 (en) | 2001-06-04 | 2006-04-18 | Palmsource, Inc. | Automatic tracking of user progress in a software application |
US6912515B2 (en) | 2001-06-04 | 2005-06-28 | Xerox Corporation | Method and system for algorithm synthesis in problem solving |
US6653859B2 (en) | 2001-06-11 | 2003-11-25 | Lsi Logic Corporation | Heterogeneous integrated circuit with reconfigurable logic cores |
US7266703B2 (en) | 2001-06-13 | 2007-09-04 | Itt Manufacturing Enterprises, Inc. | Single-pass cryptographic processor and method |
US7969431B2 (en) | 2001-06-29 | 2011-06-28 | National Instruments Corporation | Graphical program node for generating a measurement program |
US6883084B1 (en) | 2001-07-25 | 2005-04-19 | University Of New Mexico | Reconfigurable data path processor |
US20030023830A1 (en) | 2001-07-25 | 2003-01-30 | Hogenauer Eugene B. | Method and system for encoding instructions for a VLIW that reduces instruction memory requirements |
US6768768B2 (en) | 2001-09-19 | 2004-07-27 | Qualcomm Incorporated | Method and apparatus for step two W-CDMA searching |
US7257620B2 (en) | 2001-09-24 | 2007-08-14 | Siemens Energy & Automation, Inc. | Method for providing engineering tool services |
US20030061260A1 (en) | 2001-09-25 | 2003-03-27 | Timesys Corporation | Resource reservation and priority management |
US20030142818A1 (en) | 2001-09-28 | 2003-07-31 | Nec Usa, Inc. | Techniques for efficient security processing |
US20030074473A1 (en) | 2001-10-12 | 2003-04-17 | Duc Pham | Scalable network gateway processor architecture |
US7139263B2 (en) | 2001-10-19 | 2006-11-21 | Sentito Networks, Inc. | Voice over IP architecture |
US7146500B2 (en) | 2001-11-14 | 2006-12-05 | Compass Technology Management, Inc. | System for obtaining signatures on a single authoritative copy of an electronic record |
US7106787B2 (en) | 2001-11-28 | 2006-09-12 | Broadcom Corporation | Acquisition matched filter for W-CDMA systems providing frequency offset robustness |
US8412915B2 (en) | 2001-11-30 | 2013-04-02 | Altera Corporation | Apparatus, system and method for configuration of adaptive integrated circuitry having heterogeneous computational elements |
US6986021B2 (en) | 2001-11-30 | 2006-01-10 | Quick Silver Technology, Inc. | Apparatus, method, system and executable module for configuration and operation of adaptive integrated circuitry having fixed, application specific computational elements |
US20030131162A1 (en) | 2002-01-10 | 2003-07-10 | Stacey Secatch | Non-destructive read FIFO |
US7631196B2 (en) * | 2002-02-25 | 2009-12-08 | Intel Corporation | Method and apparatus for loading a trustable operating system |
US20030212684A1 (en) | 2002-03-11 | 2003-11-13 | Markus Meyer | System and method for adapting preferences based on device location or network topology |
US20040039801A9 (en) | 2002-03-11 | 2004-02-26 | Venkatachary Srinivasan | System and method for delivering data in a network |
US20030172175A1 (en) | 2002-03-11 | 2003-09-11 | Mccormack Jonathan I. | System for standardizing updates of data on a plurality of electronic devices |
US7200735B2 (en) | 2002-04-10 | 2007-04-03 | Tensilica, Inc. | High-performance hybrid processor with configurable execution units |
US6732354B2 (en) | 2002-04-23 | 2004-05-04 | Quicksilver Technology, Inc. | Method, system and software for programming reconfigurable hardware |
US6988139B1 (en) | 2002-04-26 | 2006-01-17 | Microsoft Corporation | Distributed computing of a job corresponding to a plurality of predefined tasks |
JP3860075B2 (en) | 2002-05-30 | 2006-12-20 | シャープ株式会社 | Self-synchronous logic circuit having test circuit and method for testing self-synchronous logic circuit |
US6907598B2 (en) | 2002-06-05 | 2005-06-14 | Microsoft Corporation | Method and system for compressing program code and interpreting compressed program code |
US6735747B2 (en) | 2002-06-10 | 2004-05-11 | Lsi Logic Corporation | Pre-silicon verification path coverage |
US20040062300A1 (en) | 2002-10-01 | 2004-04-01 | Mcdonough John G. | System and method for detecting direct sequence spread spectrum signals using batch processing of independent parameters |
US6859434B2 (en) | 2002-10-01 | 2005-02-22 | Comsys Communication & Signal Processing Ltd. | Data transfer scheme in a communications system incorporating multiple processing elements |
US6883074B2 (en) | 2002-12-13 | 2005-04-19 | Sun Microsystems, Inc. | System and method for efficient write operations for repeated snapshots by copying-on-write to most recent snapshot |
US7200837B2 (en) | 2003-08-21 | 2007-04-03 | Qst Holdings, Llc | System, method and software for static and dynamic programming and configuration of an adaptive computing architecture |
US7321979B2 (en) | 2004-01-22 | 2008-01-22 | International Business Machines Corporation | Method and apparatus to change the operating frequency of system core logic to maximize system memory bandwidth |
-
2003
- 2003-05-13 US US10/437,855 patent/US7660984B1/en active Active
-
2009
- 2009-12-29 US US12/648,792 patent/US20100191961A1/en not_active Abandoned
Patent Citations (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3409175A (en) * | 1966-11-10 | 1968-11-05 | Thomas M. Byrne | Liquid dispensing device |
US3666143A (en) * | 1970-06-22 | 1972-05-30 | Murray Weston | Automatic fluid dispensing apparatus with manual override |
US3995441A (en) * | 1973-08-20 | 1976-12-07 | The Cornelius Company | Beverage dispensing system |
US3949903A (en) * | 1973-11-07 | 1976-04-13 | General Motors Corporation | Water and beverage concentrate dispenser |
US3906298A (en) * | 1974-01-28 | 1975-09-16 | Teradyne Inc | Protective apparatus for digital logic circuits |
US4377246A (en) * | 1977-06-13 | 1983-03-22 | The Cornelius Company | Apparatus for dispensing a carbonated beverage |
US4143793A (en) * | 1977-06-13 | 1979-03-13 | The Cornelius Company | Apparatus and method for dispensing a carbonated beverage |
US4174872A (en) * | 1978-04-10 | 1979-11-20 | The Cornelius Company | Beverage dispensing machine and cabinet therefor |
US4181242A (en) * | 1978-05-30 | 1980-01-01 | The Cornelius Company | Method and apparatus for dispensing a beverage |
US4237536A (en) * | 1978-10-12 | 1980-12-02 | M.R.E. Enterprises, Inc. | System for indicating and controlling dispensing of beverages |
US4302775A (en) * | 1978-12-15 | 1981-11-24 | Compression Labs, Inc. | Digital video compression system and methods utilizing scene adaptive coding with rate buffer feedback |
US4413752A (en) * | 1979-01-04 | 1983-11-08 | The Cornelius Company | Apparatus for dispensing a carbonated beverage |
US4549675A (en) * | 1982-09-07 | 1985-10-29 | The Cornelius Co. | Beverage dispensing valve |
US4633386A (en) * | 1983-04-09 | 1986-12-30 | Schlumberger Measurement & Control (U.K.) Ltd. | Digital signal processor |
US4577782A (en) * | 1983-05-02 | 1986-03-25 | The Cornelius Company | Beverage dispensing station |
US4658988A (en) * | 1984-04-02 | 1987-04-21 | The Cornelius Company | Multiple flavor post-mix beverage dispensing apparatus |
US4694416A (en) * | 1985-02-25 | 1987-09-15 | General Electric Company | VLSI programmable digital signal processor |
US4711374A (en) * | 1985-09-13 | 1987-12-08 | The Coca-Cola Company | Low-cost post-mix beverage dispenser and syrup supply system therefor |
US5396609A (en) * | 1989-01-19 | 1995-03-07 | Gesellschaft Fur Strahlen- Und Umweltforschung Mbh (Gsf) | Method of protecting programs and data in a computer against unauthorized access and modification by monitoring address regions |
US6199181B1 (en) * | 1997-09-09 | 2001-03-06 | Perfecto Technologies Ltd. | Method and system for maintaining restricted operating environments for application programs or operating systems |
US20040015970A1 (en) * | 2002-03-06 | 2004-01-22 | Scheuermann W. James | Method and system for data flow control of execution nodes of an adaptive computing engine (ACE) |
Non-Patent Citations (1)
Title |
---|
"MATRIX: A Reconfigurable Computing Architecture with Configurable Instruction Distribution and Deployable Resources", Mirsky et al., IEEE Symposium on FPGAs for Custom Computing Machines, April 17-19, 1996. * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018056997A1 (en) * | 2016-09-23 | 2018-03-29 | Intel Corporation | Method and apparatus for implementing a programmable security unit for a computer system |
Also Published As
Publication number | Publication date |
---|---|
US7660984B1 (en) | 2010-02-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11159651B2 (en) | Methods and apparatus for memory allocation and reallocation in networking stack infrastructures | |
US8959311B2 (en) | Methods and systems involving secure RAM | |
US7177967B2 (en) | Chipset support for managing hardware interrupts in a virtual machine system | |
Lentz et al. | Secloak: Arm trustzone-based mobile peripheral control | |
Williams et al. | Device Driver Safety Through a Reference Validation Mechanism. | |
US20070226795A1 (en) | Virtual cores and hardware-supported hypervisor integrated circuits, systems, methods and processes of manufacture | |
US6629157B1 (en) | System and method for virtualizing the configuration space of PCI devices in a processing system | |
US5987495A (en) | Method and apparatus for fully restoring a program context following an interrupt | |
GB2544452B (en) | Data processing systems | |
US7197745B2 (en) | User debugger for use on processes running in a high assurance kernel in an operating system | |
JP5153887B2 (en) | Method and apparatus for transfer of secure operating mode access privileges from a processor to a peripheral device | |
US10095862B2 (en) | System for executing code with blind hypervision mechanism | |
US20210097006A1 (en) | Methods and apparatus for device driver operation in non-kernel space | |
US9740887B2 (en) | Methods and systems to restrict usage of a DMA channel | |
CN106462508B (en) | Access control and code scheduling | |
US20120054877A1 (en) | Resource management and security system | |
Dodiu et al. | Custom designed CPU architecture based on a hardware scheduler and independent pipeline registers—Concept and theory of operation | |
US20100191961A1 (en) | Method and system achieving individualized protected space in an operating system | |
CN110334519A (en) | The staticametric method of credible calculating platform based on dual Architecture | |
US20220164485A1 (en) | Method and configurable hardware module for monitoring a hardware-application | |
EP4086802A1 (en) | Dynamic memory protection device system and method | |
CN111783165B (en) | Safe and trusted system chip architecture based on hardware isolation calling mode | |
EP1987430B1 (en) | Virtual cores and hardware-supported hypervisor integrated circuits, systems, methods and processes of manufacture | |
Aliaj et al. | GAROTA: generalized active root-of-trust architecture | |
Han et al. | MyTEE: Own the Trusted Execution Environment on Embedded Devices. |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |