Search Images Maps Play YouTube News Gmail Drive More »
Advanced Patent Search | Web History | Sign in

Patents

Publication numberUSRE42743 E1
Publication typeGrant
Application number12/152,620
Publication date27 Sep 2011
Filing date15 May 2008
Priority date
28 Nov 2001
Also published as
Inventors
Original Assignee
U.S. Classification
International Classification
Cooperative Classification
European Classification
H04W88/06
G06F21/10
References
External Links
System for authorizing functionality in adaptable hardware devices
US RE42743 E1
Abstract

A system for authorizing new or ongoing functional use of an adaptable device. The device generates usage information including the times that the device is used, types of functionality provided, indication of amount and type of resources used, and other information. The usage information is transmitted back to a controlling entity, such as an original manufacturer of the adaptable device. The controlling entity can act to enable or prevent use of the provided functionality, as desired. Part of the requirement for using functionality can be monetary, by predetermined agreement, or by other criteria.

Drawings(4)
Previous page
Next page
Claims

1. A method for authorizing the use of a configurable device, the method comprising:

detecting that the configurable device is configured to perform a first type of operation at a first point in time;

detecting that the configurable device is configured to perform a second type of operation at a second point in time;

using the detected configurations to determine whether to authorize the continued use of the device, wherein the detecting steps include the substep of

receiving usage information from the device;

wherein the usage information includes information about resources that the device has used, and wherein a resource includes instruction type.

2. A method for authorizing the use of a configurable device, the method comprising:

detecting that the configurable device is configured to perform a first type of operation at a first point in time;

detecting that the configurable device is configured to perform a second type of operation at a second point in time;

using the detected configurations to determine whether to authorize the continued use of the device, wherein the detecting steps include the substep of

receiving usage information from the device;

wherein the usage information includes information about resources that the device has used, and wherein a resource includes instruction execution frequency.

3. A method for authorizing the use of a configurable device, the method comprising:

detecting that the configurable device is configured to perform a first type of operation at a first point in time;

detecting that the configurable device is configured to perform a second type of operation at a second point in time;

using the detected configurations to determine whether to authorize the continued use of the device, wherein the detecting steps include the substep of receiving usage information from the device;

wherein the usage information includes information about resources that the device has used, and

wherein a resource includes instruction type.

4. A method for authorizing the use of a configurable device, the method comprising:

detecting that the configurable device is configured to perform a first type of operation at a first point in time;

detecting that the configurable device is configured to perform a second type of operation at a second point in time;

using the detected configurations to determine whether to authorize the continued use of the device, wherein the detecting steps include the substep of receiving usage information from the device;

wherein the usage information includes information about resources that the device has used, and wherein a resource includes instruction execution frequency.

5. A system for authorizing the use of configurable devices, the system comprising:

an authorization system; and

a communications link to transfer adaptation information from the authorization system to a configurable device including a plurality of heterogeneous computational elements coupled to a configurable interconnection network, the configurable interconnection network being configured in response to the adaptation information to provide corresponding interconnections between the plurality of heterogeneous computational elements to configure the device to perform a function,

wherein the configurable device transmits usage information regarding the use of the function,

wherein the usage information comprises a device identification that is transmitted to the authorization system over the communications link, and wherein the authorization system transmits an authorization code over the communications link to the configurable device,

wherein the authorization code provides limitations on resources of the configurable device used by the function.

6. The system of claim 5, wherein the authorization system determines whether the configurable device is authorized to perform the function based on the usage information; and prevents the configurable device from performing the function if it is determined that the configurable device is not authorized to perform the function.

7. The system of claim 5, wherein the plurality of computational elements are hardware computational elements and the interconnections are physical interconnections.

8. The system of claim 5, wherein:

the function is a new function and the configurable device was previously configured to perform a previous function; and

the configuring of the configurable device comprises reconfiguring the configurable device to perform the new function instead of the previous function in response to the adaptation information.

9. The system of claim 8, wherein the previous and new functions comprise different communication or data processing functions.

10. The system of claim 8, wherein the previous and new functions comprise different communication functions using different communication protocols.

11. The system of claim 10, wherein the different communication functions comprise CDMA and TDMA functions.

12. The system of claim 8, wherein the previous and new functions comprise different data processing functions using different data formats.

13. The system of claim 8, wherein the previous and new functions comprise media playback functions for different media formats.

14. The system of claim 5, wherein the configurable device is a handheld device.

15. The system of claim 5, wherein the adaptation information is encrypted and wherein the authorization code is used by the configurable device to decrypt the adaptation information.

16. The system of claim 5, wherein the plurality of heterogeneous computational elements coupled to the configurable interconnection network are a node, and wherein the configurable device comprises a plurality of nodes coupled to a node interconnection network.

17. The system of claim 16, wherein the node interconnection network is further configured in response to the adaptation information to provide corresponding interconnections between the plurality of nodes to configure the device to perform the function.

18. A configurable device comprising:

a plurality of computational units, the plurality of computational units including at least a first computational unit configured to perform a linear operation, a second computational unit configured to perform a non-linear operation, a third computational unit configured to perform memory management, and a fourth computational unit configured to perform bit-level manipulation; and

a communication network interface configured to transmit an identification tag to an external entity and receive an authorization code allowing use of at least a portion of the configurable device for a period of time,

wherein the communication network interface is further configured to receive adaptation information that enables the configurable device to perform a function, and wherein the fourth computational element is configured to decrypt the adaptation information based on the authorization code,

wherein the authorization code provides limitations on resources of the configurable device used by the function.

19. The configurable device of claim 18, wherein the first computational element is configured to perform an operation selected from the group consisting of multiplication, addition and finite impulse response filtering.

20. The configurable device of claim 18, wherein the second computational element is configured to perform an operation selected from the group consisting of discrete cosine transformation, trigonometric calculations and complex multiplication.

21. The configurable device of claim 18, wherein the fourth computational element is configured to perform an operation selected from the group consisting of encryption, decryption, channel coding, Viterbi decoding and packet and protocol processing.

22. The configurable device of claim 18, wherein the communication network interface is further configured to transmit usage information, wherein the usage information comprises a device identification and wherein the authorization code is associated with the device identification.

23. The configurable device of claim 18, wherein the first computational element is configured to perform an operation selected from the group consisting of multiplication, addition and finite impulse response filtering, the second computational element is configured to perform an operation selected from the group consisting of discrete cosine transformation, trigonometric calculations and complex multiplication, and the fourth computational element is configured to perform an operation selected from the group consisting of encryption, decryption, channel coding, Viterbi decoding and packet and protocol processing.

Description
CROSS-REFERENCE TO RELATED APPLICATIONS

This application is related to co-pending U.S. patent application Ser. No. 09/815,122, filed on Mar. 22, 2001, entitled “ADAPTIVE INTEGRATED CIRCUITRY WITH HETEROGENEOUS AND ADAPTABLE MATRICES OF DIVERSE AND ADAPTIVE COMPUTATIONAL UNITS HAVING FIXED, APPLICATION SPECIFIC COMPUTATIONAL ELEMENTS” which is hereby incorporated by reference as if set forth in full in this document.

BACKGROUND OF THE INVENTION

This invention relates in general to monitoring functionality in adaptable devices and more specifically to a system for authorizing, in an ongoing manner, users and other entities for activity in association with a highly adaptable hardware device.

Traditional consumer electronic devices have substantially fixed functionality. Devices such as cell phones, digital audio players, personal digital assistants (PDAs), global positioning satellite (GPS) terminals, etc. are designed from scratch and manufactured and marketed as a specific type of device with a specific feature set. Traditionally, once a consumer purchases a hardware device the original manufacturer of the device has no further control over the device and can not receive additional revenue based on a consumer's use of the device. While this approach has worked well for non-adaptable, “fixed function,” devices, such an approach suffers from several drawbacks in the case where highly adaptable consumer devices are developed and marketed.

This approach is adequate where a device's functionality is “fixed” or not capable of substantially changing. However, recent developments are providing more flexible consumer devices where the device's feature set, data formats, communication protocols, etc. can be greatly modified after sale by the use of software or other information. Such modification can potentially be so extreme as to change the consumer's concept of the device so that it is no longer even considered to be the same device. Thus, it is desirable to provide a mechanism whereby a manufacturer, or other entity, has more opportunities to obtain revenue and profit from the creation and support of the devices, and associated hardware and software.

SUMMARY OF THE INVENTION

The present invention provides a system for authorizing new or ongoing functional use of an adaptable, or configurable, device. The device generates usage information including the times that the device is used, types of functionality provided, indication of amount and type of resources used, and other information. The usage information is transmitted back to a controlling entity, such as an original manufacturer of the adaptable device. The controlling entity can act to enable or prevent use of the provided functionality, as desired. Part of the requirement for using functionality can be monetary, by predetermined agreement, or by other criteria.

In one embodiment the invention provides a method for authorizing the use of an adaptable device. The method includes detecting that the adaptable device is adapted to perform a first type of operation at a first point in time; detecting that the adaptable device is adapted to perform a second type of operation at a second point in time; and using the detected adaptations to determine whether to authorize the continued use of the device.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates typical entities involved in the development, sale, distribution and adaptation of a adaptable device;

FIG. 2 illustrates a general-purpose processor type of adaptable device; and

FIG. 3 illustrates basic parts of an adaptable device architecture based on an adaptive computing environment.

DESCRIPTION OF A PREFERRED EMBODIMENT

The present invention allows for monitoring and controlling adaptable devices after the point of sale. Examples of a preferred type of adaptable device is described in the above-referenced co-pending patent application. Although the invention is discussed herein with respect to specific device types, it should be clear that aspects of the invention include any type of adaptable device, using any type of architecture, adaptation method, adaptation information transfer systems, adaptation data format, etc.

FIG. 1 illustrates typical entities involved in the development, sale, distribution and adaptation of a adaptable device.

In FIG. 1, box 130 illustrates entities involved with hardware aspects of the device while box 132 illustrates entities involved with software, or “adaptation information,” aspects of the device. Original manufacturer 102 is the primary developer of the adaptable device. As such, original manufacturer 102 desires to obtain as much revenue as possible from all entities who stand to gain, or benefit from, use and sale of the device or of additional hardware and information related to the device. Note that although the system of the present invention is discussed primarily with respect to obtaining revenue and profits for the original manufacturer, that any entity in FIG. 1 (and other entities, not shown) can obtain revenue benefits using features of the present invention.

Original manufacturer 102 can sell, rent, lease, license or otherwise deliver, device 120 to an end user. A preferred embodiment of the invention licenses the use of the hardware device, or resources in the hardware device. Such licensing can be by possession of the device over time, dependent on machine cycles, features used, input/output (I/O) rate or amount, memory activity or utilization, energy use, bus utilization, or any other performance measurement. This ability of the original manufacturer to receive one or more payments after sale of the device, where the payments are dependent upon a degree of possession or use of the device, provides distinct commercial advantages to one or more entities involved, including the end user.

Returning to FIG. 1, delivery of the physical adaptable device can be through normal retail distribution networks such as store sales, internet sales, mail order, telephone order, etc, as represented by distribution network 116. Original manufacturer 102 can license or sell components or hardware technology to designer 104 or original equipment manufacturer (OEM) 106, or other entities (not shown). The commercial aspects of selling or licensing hardware to end users, or to affiliated developers or business partners is well-known and any traditional, or future, development, sales, and distribution methods can be employed.

Unauthorized developer 108 is a hardware manufacturer that operates without authority from original developer 102. However, because the device (or components) are physical, such unauthorized action is relatively easy to detect and police by using traditional laws and regulation methods.

Box 132 represents the “software” aspect of the adaptable device. As mentioned, device 120 is so highly adaptable that it can be readapted not only with extremely diverse features, but it can also be readapted to become a completely different functional device. For example, formats can be changed so that a device adapted as a code division multiple access (CDMA) cell phone can become a time-division multiple access (TDMA) cell phone by downloading adaptation information from adaptation companies such as 110 or 112 through a communications link such as internet 122. Other formats and/or protocols are possible such as voice over intemet protocol (VoIP), traditional radio frequency transmission, etc. The device itself can be changed so that it is no longer a cell phone, but becomes a different device, or combination of what are today considered different devices. For example, the device can be readapted to be a media playback device, database device, web browser, digital satellite radio, etc.

Within a given device type there may be multiple formats, protocols, or other data or transmission type differentiations that make device types incompatible with each other or with certain data. For example, audio media players may be mp3, RealAudio, Media Player, .wav or other formats. Digital video players may include MPEG, .mov, .avi, and other formats. A highly adaptable device is able to perform functions so that the same physical device can be adapted to be any device type, and to handle any function or operation among different data and transmission formats within a device type. The physical device type can be a hand-held unit, set top box, car mounted, etc.

Adaptation companies 110 and 112 can receive payment from an end user of device 120 by means as is known in the art. For example, the adaptation information can be downloaded as shareware, trialware, a standard software product, etc. The adaptation information can also be licensed. Alternatively, payments to the adaptation companies can come from original manufacturer 102 while the original manufacturer obtains revenue with one of the approaches described, below.

Unauthorized adaptation company 114 represents an entity producing adaptation information without approval (or not under the control of) original manufacturer 102. Such unauthorized software-type distribution is extremely difficult to police and control because of the amorphous, complex and world-wide nature of Internet 122, typically used as the distribution mechanism.

However, a preferred embodiment of the invention allows the original manufacturer to receive revenue from any use of the device regardless of whether an authorized, or unauthorized, adaptation company has sold a “virtual device” (i.e., adaptation information that defines a new feature or device) to an end user. The preferred embodiment allows the device to send “usage information” from device 120 to original manufacturer 102 via communication network 118. Communication network 118 can be any type of network such as the Internet, satellite, radio-frequency broadcasts, the cellular network, a cable network, POTS telephone network, etc. The types of usage information are next presented.

Device 120 can be any type of adaptable device created using any type of architecture or design methodology, such as a device using a general-purpose processor, multiprocessing, application-specific integrated circuit (ASIC), field-programmable gate array (FPGA), dedicated circuitry, etc., or combination of the foregoing. A preferred embodiment of the invention uses an adaptive computing engine (ACE) which is more fully described in the co-pending patent application referenced above. For purposes of illustration, the features of the present invention are next presented with respect to two specific architectures, namely (1) a general-purpose processor architecture and (2) the ACE architecture. However, it should be apparent that any type of adaptable hardware device design is adaptable for use with the present invention.

FIG. 2 illustrates a general-purpose processor type of adaptable device.

In FIG. 2, subsystems within device 140 typically communicate over a system bus such as bus 142. Additional buses or data transfer links can be used, such as dedicated signal wires, etc. Subsystems include input/output (I/O) controller 144, System Memory (or random access memory “RAM”) 146, central processing unit CPU 148, Display Controller 150, Serial Port 150, Fixed Disk 152, and Communication Link 154. Communication Link 154 allows the device to transfer data with an arbitrary external device, network or other communication system such as the Internet. Typically, adaptation information in the form of software can be loaded into the device through the communication link. Other ways to reconfigure the device include using removable media such as magnetic disks, compact disk read-only memory (CDROM), media cards, etc.

Bus 142 allows each of the subsystems to transfer data among other subsystems and, most importantly, with the CPU. External devices can communicate with the CPU or other subsystems via bus 142 by interfacing with a subsystem on the bus. Thus, Display 166 communicates with Display Adapter 150, a relative pointing device (RPD, e.g. a mouse) connects through Port 160, etc. Some devices such as Keyboard 170 can communicate with the CPU by direct means without using the main data bus as, for example, via an interrupt controller and associated registers (not shown). Any manner of user controls can be employed.

The present invention allows monitoring of various performance aspects, resource utilization and other indicators of use of the adaptable device. Any information, used to indicate the extent or type of use of an adaptable device is referred to herein as “usage information” or “usage parameters”.

One type of usage information includes using identification tags. An identification tag is an electronic signal sent via the communication link to the original manufacturer or another entity for purposes of monitoring usage. Each tag can be a unique identifier to indicate a type of functionality, feature, type of device adaptation, or other indication of usability of the device. In a preferred embodiment, the tags and a device identification are received by an authorizing entity. The device must receive an authorization code from the authorization entity before using, or in order to continue to use, the type of function indicated by the tag. Such authorization can be sent periodically to continue allowing the device to perform the functionality. Authorization can be based on a payment schedule, purchaser agreement, or some other criteria.

Other types of usage information measure performance or resource utilization of the device. For example, processor speed, number of cycles, or clock “on” time can be measured. This is not only an indication of how long the device is on, or being used, but also can indicate how much processing the device is performing.

Since many cycles are “idle” in a typical processor, other operations such as rate of instruction execution and type of instructions executed can be detected. For example, one approach is to sample the processing occurring at relatively long intervals, such as once per 500 mS. If digital signal processing (DSP) is occurring frequently then a higher charge can be applied to the device owner's account because DSP processing is a likely indicator of a high-level device operation. A high-level device such as a cell phone, media playback device, etc., would use DSP operations more frequently as opposed to standard logic and arithmetic functions in more basic devices such as an address book or web browser. A counter can be integrated into the central processing unit to increment when a complex (or other predetermined) instruction is executed. The counter value can be sampled at intervals.

Use of system resources is another type of usage information, or usage parameter, that can be the basis for payment charges, user accounting, monitoring or other purposes. For example, the rate of memory accessing, average or maximum memory utilization, I/O use by one or more ports, buses, communication links, etc., can be measured and used as usage information. As is discussed next, the preferred architecture (as opposed to a general purpose processor approach) allows more precise determination of usage information based on minute functionality or performance of an adaptable device.

Authorization codes can be keyed to enable only specific devices. Such an approach can use keyed encryption schemes, or other methods, as is known in the art. Authorization can be used to allow the user to use the device, or a portion of the device's functionality, for a period of time. Authorized use can be measured in other ways as, for example, by providing limitations on resources such as processing time, memory use, number or type of instruction or operations allowed, or any other type of device resource.

FIG. 3 illustrates basic parts of an adaptable device architecture based on an adaptive computing environment (ACE) approach. Such an approach is discussed in detail in the co-pending patent application referenced, above. The ACE architecture uses small processing elements called nodes, or matrices. The matrices are each designed to be specialized in one basic type of processing such as arithmetic, bit manipulation, finite state machine, memory oriented or reduced instruction set computing (RISC) approaches. The matrices are provided with adaptable interconnection networks. A scheduler performs the task of mapping an operation, or function, onto the matrices. Once mapped, the function can execute for a while before a next function is mapped onto the same set of matrices. In this manner, the functionality of a device that includes the matrices can be changed quickly and efficiently.

In FIG. 3, adaptable matrix 150 includes a plurality of computation units 200 (illustrated as computation units 200A through 200N). Computation units include a plurality of computational elements 250 (illustrated as computational elements 250A through 250Z). As illustrated in FIG. 3, matrix 150 generally includes a matrix controller 230 and plurality of computation (or computational) units 200 as logical or conceptual subsets or portions of a matrix interconnect network. Also shown are data interconnect network 240 and Boolean interconnect network 210. Interconnect networks can have different levels of interconnectivity and flexibility for greater levels of adaptability and adaptation. In an applied architecture, the matrix represented by FIG. 3 is replicated within a single chip, or chipset, and interconnected with each other to provide a scalable approach to providing processing resources. A network interconnecting matrices (not shown) is referred to as a matrix interconnection network.

Boolean interconnect network 210 provides adaptation and data interconnection capability between and among the various computation units 200, and is preferably small (i.e., only a few bits wide). Data interconnect network 240 provides the adaptation and data interconnection capability for data input and output between and among the various computation units 200, and is preferably comparatively large (i.e., many bits wide). It should be noted, however, that while conceptually divided into adaptation and data capabilities, any given physical portion of the matrix interconnection network, 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.

Continuing to refer to FIG. 3, included within a computation unit 200 are a plurality of computational elements 250, illustrated as computational elements 250A through 250Z (individually and collectively referred to as computational elements 250), and additional interconnect 220. The interconnect 220 provides the adaptable interconnection capability and input/output paths between and among the various computational elements 250. As indicated above, 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 the interconnect 220, the fixed computational elements 250 may be adaptably connected together into adaptive and varied computational units 200, which also may be further readapted and interconnected, to execute an algorithm or other function, at any given time, utilizing the interconnect 220, the Boolean network 210, and the matrix interconnection network (not shown).

In a preferred embodiment, the various computational elements 250 are designed and grouped together, into various adaptive and adaptable computation units 200. In addition to computational elements 250 which are designed to execute a particular It algorithm or function, such as multiplication or addition, other types of computational elements 250 are also utilized. As illustrated in FIG. 3, computational elements 250A and 250B implement memory, to provide local memory elements for any given calculation or processing function (compared to more “remote” or auxiliary memory that can be external to the matrix). In addition, computational elements 250I, 250J, 250K and 250L are adapted to implement finite state machines to provide local processing capability especially suitable for complicated control processing.

With the various types of different computational elements 250 that may be available, depending upon the desired functionality, the computation units 200 may be loosely categorized. 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 200C 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 200A. Lastly, 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).

In addition to the ways of determining functionality for general-purpose processing devices, as described above, the functionality of a device using the ACE architecture can be determined by adaptation information that is used to schedule operations on the computation units. Usage information can include the availability, types and frequency of use of different computation units. Adaptation of the interconnect network, number of active computation units over time, rate of execution of operations, etc., can all be used as usage parameters.

Although the invention has been described with respect to specific embodiments, the embodiments are merely illustrative, and not restrictive, of the invention. For example, the specific adaptable device designs presented herein can be greatly modified without departing from the scope of the invention. Subsystems, components or devices other than those shown can be added, modified or removed from the designs. Similarly, entities can be added to, or removed from the diagram of FIG. 1, depicting the operation and method of the present invention. In general, the advantages of the present invention can be realized with many different types of entities playing different roles and having different relationships to each other than those shown in FIG. 1.

Note that traditional forms of selling, renting, leasing, or contractual or licensing arrangements for the use of adaptable devices are possible. Such traditional terms can incorporate the approach of the present invention to monitor usage information and to authorize functionality, use of resources, etc.

Thus, the scope of the invention is to be determined solely by the appended claims.

Patent Citations
Cited PatentFiling datePublication dateApplicantTitle
US340917510 Nov 19665 Nov 1968Thomas M. ByrneLiquid dispensing device
US366614322 Jun 197030 May 1972Fred FisherAutomatic fluid dispensing apparatus with manual override
US393863928 Nov 197317 Feb 1976The Cornelius CompanyPortable dispenser for mixed beverages
US394990312 Sep 197413 Apr 1976General Motors CorporationWater and beverage concentrate dispenser
US396029819 Apr 19741 Jun 1976The Cornelius CompanyContainer assembly for use with a separator dispenser
US39670625 Mar 197529 Jun 1976Ncr CorporationMethod and apparatus for encoding data and clock information in a self-clocking data stream
US39919117 Sep 197316 Nov 1976American Beverage ControlAutomatic drink dispensing apparatus having programming means
US399544115 Jul 19757 Dec 1976The Cornelius CompanyBeverage dispensing system
US40761459 Aug 197628 Feb 1978The Cornelius CompanyMethod and apparatus for dispensing a beverage
US414379313 Jun 197713 Mar 1979The Cornelius CompanyApparatus and method for dispensing a carbonated beverage
US417266927 Jul 197830 Oct 1979The Cornelius CompanyMixing and dispensing machine
US417487210 Apr 197820 Nov 1979The Cornelius CompanyBeverage dispensing machine and cabinet therefor
US418124230 May 19781 Jan 1980The Cornelius CompanyMethod and apparatus for dispensing a beverage
US421801421 Feb 197919 Aug 1980The Cornelius CompanyMultiple flavor post-mix beverage dispensing head
US422297229 Jan 197916 Sep 1980Caldwell; Michael C.Method and means for carbonating liquids in situ
US423753612 Oct 19782 Dec 1980M.R.E. Enterprises, Inc.System for indicating and controlling dispensing of beverages
US425225321 Feb 197824 Feb 1981Mcneil CorporationDrink dispenser having central control of plural dispensing stations
US430277515 Dec 197824 Nov 1981Compression Labs, Inc.Digital video compression system and methods utilizing scene adaptive coding with rate buffer feedback
US433358731 Jan 19808 Jun 1982The Coca-Cola CompanyBeverage dispenser
US435461315 May 198019 Oct 1982Trafalgar Industries, Inc.Microprocessor based vending apparatus
US437724611 May 198122 Mar 1983The Cornelius CompanyApparatus for dispensing a carbonated beverage
US439346826 Mar 198112 Jul 1983Advanced Micro Devices, Inc.Bit slice microprogrammable processor for signal processing applications
US441375220 Oct 19808 Nov 1983The Cornelius CompanyApparatus for dispensing a carbonated beverage
US445858422 Feb 198310 Jul 1984General Foods CorporationBeverage carbonation device
US446634222 Feb 198321 Aug 1984General Foods CorporationCarbonation chamber with sparger for beverage carbonation
US447544822 Feb 19839 Oct 1984General Foods CorporationReactant/gas separation means for beverage carbonation device
US45096906 Dec 19829 Apr 1985The Cornelius CompanyCarbonated beverage mixing nozzle for a dispenser
US452095029 Jun 19824 Jun 1985Cadbury Schweppes Public Limited CompanyIn-home drink dispenser
US45496757 Sep 198229 Oct 1985The Cornelius Co.Beverage dispensing valve
US455357320 Oct 198319 Nov 1985Pepsico Inc.Bulk syrup delivery system
US45600897 Sep 198224 Dec 1985The Cornelius CompanyApparatus for dispensing a carbonated beverage
US45777822 May 198325 Mar 1986The Cornelius CompanyBeverage dispensing station
US45787995 Oct 198325 Mar 1986Codenoll Technology CorporationMethod and apparatus for recovering data and clock information from a self-clocking data stream
US46333866 Apr 198430 Dec 1986Schlumberger Measurement & Control (U.K.) Ltd.Digital signal processor
US46589882 Apr 198421 Apr 1987The Cornelius CompanyMultiple flavor post-mix beverage dispensing apparatus
US469441625 Feb 198515 Sep 1987General Electric CompanyVLSI programmable digital signal processor
US471137416 Sep 19868 Dec 1987The Coca-Cola CompanyLow-cost post-mix beverage dispenser and syrup supply system therefor
US471375528 Jun 198515 Dec 1987Hewlett-Packard CompanyCache memory consistency control with explicit software instructions
US471905621 Jun 198512 Jan 1988Isoworth LimitedFluid treatment
US472649429 Dec 198623 Feb 1988Isoworth LimitedBeverage dipensing apparatus
US474751623 Dec 198531 May 1988Liquid Motion Industries, Co.Soft drink maker
US474858526 Dec 198531 May 1988Buell; Duncan A.Processor utilizing reconfigurable process segments to accomodate data word length
US476052510 Jun 198626 Jul 1988The United States Of America As Represented By The Secretary Of The Air ForceComplex arithmetic vector processor for performing control function, scalar operation, and set-up of vector signal processing instruction
US476054420 Jun 198626 Jul 1988Plessey Overseas LimitedArithmetic logic and shift device
US476551315 May 198723 Aug 1988The Cornelius CompanyPost-mix beverage dispenser with nozzle
US47665482 Jan 198723 Aug 1988Pepsico Inc.Telelink monitoring and reporting system
US478130919 Feb 19871 Nov 1988The Cornelius CompanyDispenser with improved carbonated water manifold
US480049213 May 198724 Jan 1989The Coca-Cola CompanyData logger for a post-mix beverage dispensing system
US481121414 Nov 19867 Mar 1989Princeton UniversityMultinode reconfigurable pipeline computer
US48240751 May 198725 Apr 1989Holzboog; WalterTilt action dispensing valve assembly
US482742618 May 19872 May 1989The Coca-Cola CompanyData acquisition and processing system for post-mix beverage dispensers
US485026926 Jun 198725 Jul 1989Aquatec, Inc.Low pressure, high efficiency carbonator and method
US485668421 Mar 198815 Aug 1989Gerstung; WilliamValve for a pressurized dispensing can containing flowable materials
US49018878 Aug 198820 Feb 1990Burton; John W.Beverage dispensing system
US492131518 Oct 19881 May 1990Whirlpool CorporationRefrigerator door structure
US493066628 Oct 19885 Jun 1990The Coca-Cola CompanyJuice dispensing system for a refrigerator door
US493256420 May 198812 Jun 1990The Cornelius CompanyMultiple flavor post-mix beverage dispensing head
US493648810 Jun 198726 Jun 1990The Cornelius CompanyBeverage dispensing valve
US493701919 Sep 198826 Jun 1990Isoworth LimitedPressure vessel
US496026121 Sep 19882 Oct 1990Isoworth LimitedGas cylinder connector
US496153330 Oct 19899 Oct 1990Viac Inc.Inventory control system
US496734018 Nov 198830 Oct 1990E-Systems, Inc.Adaptive processing system having an array of individually configurable processing components
US497464327 Jun 19884 Dec 1990The Cornelius CompanyMethod of and apparatus for dispensing beverage into a tilted receptacle with automatic level responsive shut off
US49828768 Aug 19888 Jan 1991Isoworth LimitedCarbonation apparatus
US499360428 Aug 198619 Feb 1991The Coca-Cola CompanyLow-cost post-mix beverage dispenser and syrup supply system therefor
US50075601 Mar 198916 Apr 1991Sassak; John J.Beer dispensing and monitoring method and apparatus
US502194730 Jan 19904 Jun 1991Hughes Aircraft CompanyData-flow multiprocessor architecture with three dimensional multistage interconnection network for efficient signal and data processing
US504010629 Aug 198913 Aug 1991Hansa Metallwerke AgApparatus for drawing a pre-selectable quantity of liquid
US50441716 Nov 19893 Sep 1991Farkas; EliCounter with integral carbonated beverage dispenser
US50900156 Feb 198918 Feb 1992Motorola, Inc.Programmable array logic self-checking system
US512954911 Oct 198914 Jul 1992Imi Cornelius Inc.Beverage dispensing valve
US513970826 Sep 199018 Aug 1992Isoworth LimitedDual chamber carbonator for dispensing drinks
US515630117 Dec 199020 Oct 1992Imi Cornelius Inc.Constant ratio post-mix beverage dispensing valve
US51568711 May 199120 Oct 1992Imi Cornelius Inc.Low cost beverage carbonating apparatus and method
US516557527 Apr 199224 Nov 1992Isoworth LimitedCarbonation apparatus
US51900833 Oct 19912 Mar 1993The Coca-Cola CompanyMultiple fluid space dispenser and monitor
US519018930 Oct 19902 Mar 1993Imi Cornelius Inc.Low height beverage dispensing apparatus
US519315130 Aug 19899 Mar 1993Digital Equipment CorporationDelay-based congestion avoidance in computer networks
US519371825 Jun 199116 Mar 1993Imi Cornelius Inc.Quick electronic disconnect for a beverage dispensing valve
US520299327 Feb 199113 Apr 1993Sun Microsystems, Inc.Method and apparatus for cost-based heuristic instruction scheduling
US520347416 Jun 199020 Apr 1993Alco Standard CorporationBeverage dispensing nozzle
US52401446 Aug 199131 Aug 1993Feldman; JosephBeverage dispensing apparatus
US526109929 Jun 19929 Nov 1993International Business Machines Corp.Synchronous communications scheduler allowing transient computing overloads using a request buffer
US526350912 Nov 199223 Nov 1993General Electric CompanyRefrigerator with door mounted dispenser supply mechanism
US526944222 May 199214 Dec 1993The Cornelius CompanyNozzle for a beverage dispensing valve
US528071125 Feb 199325 Jan 1994Imi Cornelius Inc.Low cost beverage dispensing apparatus
US529740017 Feb 199329 Mar 1994Maytag CorporationLiquid dispensing assembly for a refrigerator
US530110029 Apr 19915 Apr 1994Wagner; Ferdinand H.Method of and apparatus for constructing a control system and control system created thereby
US530384617 Sep 199019 Apr 1994Abcc/Techcorp.Method and apparatus for generating and dispensing flavoring syrup in a post mix system
US533527616 Dec 19922 Aug 1994Texas Instruments IncorporatedCommunication system and methods for enhanced information transfer
US53394284 Sep 199116 Aug 1994Digital Equipment CorporationCompiler allocating a register to a data item used between a use and store of another data item previously allocated to the register
US534371629 Jun 19936 Sep 1994Imi Cornelius Inc.Beverage dispenser with improved cold plate
US53613624 Nov 19921 Nov 1994At&T Bell LaboratoriesAdaptive job scheduling for multiprocessing systems with master and slave processors executing tasks with opposite anticipated execution times respectively
US536819810 Mar 199329 Nov 1994Imi Cornelius Inc.Beverage dispenser
US537934326 Feb 19933 Jan 1995Motorola, Inc.Detection of unauthorized use of software applications in communication units
US538154611 Mar 199310 Jan 1995Gte Laboratories IncorporatedControl process for allocating services in communications systems
US538155010 Jan 199410 Jan 1995Thinking Machines CorporationSystem and method for compiling a source code supporting data parallel variables
US564918729 Sep 199515 Jul 1997Softel, Inc.Method and apparatus for remotely controlling and monitoring the use of computer software
US60061052 Aug 199621 Dec 1999Lsi Logic CorporationMulti-frequency multi-protocol wireless communication device
US62263648 Dec 19971 May 2001Bellsouth Intellectual Property Management CorporationMethod and system for providing prepaid and credit-limited telephone services
US708005112 Mar 200218 Jul 2006Emc CorporationInternet download systems and methods providing software to internet computer users for local execution
US753668631 May 200119 May 2009Oracle International CorporationTechniques for automatically installing and configuring database applications
US2003006606317 May 20013 Apr 2003Canon Kabushiki KaishaInformation processing apparatus, information processing method, information processing system, and storage medium
US2005019819911 Feb 20058 Sep 2005Rpx-Nw Acquisition LlcFederated multiprotocol communication
USRE3030115 Dec 197510 Jun 1980The Cornelius CompanyBeverage mixing and dispensing apparatus
USRE3217916 Nov 198410 Jun 1986The Coca-Cola CompanyPost-mix beverage dispensing system syrup package, valving system, and carbonator therefor
Non-Patent Citations
Reference
1Abnous et al., "Ultra-Low-Power Domain-Specific Multimedia Processors," VLSI Signal Processing, IX, 1998, IEEE Workshop in San Francisco, CA, USA, Oct. 30-Nov. 1, 1998, pp. 461-470 (Oct. 30, 1998).
2Aggarwal et al.., "Efficient Huffman Decoding," International Conference on Image Processing IEEE 1:936-939 (Sep. 10-13, 2000).
3Allan et al., "Software Pipelining," ACM Computing Surveys, 27(3):1-78 (Sep. 1995).
4Alsolaim et al., "Architecture and Application of a Dynamically Reconfigurable Hardware Array for Future Mobile Communication Systems," Field Programmable Custom Computing Machines, 2000 IEEE Symposium, Napa Valley, Los Alamitos, CA. IEEE Comput. Soc. pp. 205-214 (Apr. 17-19, 2000).
5Ashenden et al., "The VHDL Cookbook," Dept. Computer Science, University of Adelaide, South Australia. Downloaded from http://tams-www.informatik.uni-hamburg.de/vhdl/doc/cookbook/VHDL-Cookbook.pdf on Dec. 7, 2006 (Jul. 1990).
6Bacon et al., "Compiler Transformations for High-Performance Computing," ACM Computing Surveys 26(4):368-373 (Dec. 1994).
7Balasubramonian et al., "Reducing the Complexity of the Register File in Dynamic Superscalar Processors," Proceedings of the 34th Annual ACM/IEEE International Symposium on Microarchitecture, pp. 237-248 (Dec. 1, 2001).
8Banerjee et al., "A MATLAB Compiler for Distributed, Heterogeneous, Reconfigurable Computing Systems," 2000 IEEE Symposium, pp. 39-48, (Apr. 17-19, 2000).
9Bapte et al., "Uniform Execution Environment for Dynamic Reconfiguration," Darpa Adaptive Computing Systems, http://isis.vanderbilt.edu/publications/archive/babty-T-#-0-1999-Uniform-Ex.pdf, pp. 1-7 (1999).
10Bapte et al., "Uniform Execution Environment for Dynamic Reconfiguration," Darpa Adaptive Computing Systems, http://isis.vanderbilt.edu/publications/archive/babty—T—#—0—1999—Uniform—Ex.pdf, pp. 1-7 (1999).
11Baumgarte et al., "PACT XPP-A Self-Reconfigurable Data Processing Architecture," NN www.pactcorp.com/sneu/download/ersa01.pdf; retrieved on Nov. 25, 2005 (Jun. 25, 2001).
12Baumgarte et al., "PACT XPP—A Self-Reconfigurable Data Processing Architecture," NN www.pactcorp.com/sneu/download/ersa01.pdf; retrieved on Nov. 25, 2005 (Jun. 25, 2001).
13Becker et al., "An Application-Tailored Dynamically Reconfigurable Hardware Architecture for Digital Baseband Processing," IEEE Conference Proceedings Article pp. 341-346 (Sep. 18, 2000).
14Becker et al., "Design and Implementation of a Coarse-Grained Dynamically Reconfigurable Hardware Architecture," VLSI 2001, Proceedings IEEE Computer Soc. Workshop, Piscataway, NJ, USA, pp. 41-46 (Apr. 19-20, 2001).
15Bevstar, BevStar Bottled Water Model Advertisement Automatic Merchandiser at www.AMonline.com (2005).
16Bevstar, BevStar Point of Use Water Model Advertisement Automatic Merchandiser at www.AMonline.com (2005).
17Bishop & Loucks, "A Heterogeneous Environment for Hardware/Software Cosimulation," Proceedings of the 30th Annual Simulation Symposium, pp. 14-22 (Apr. 7-9, 1997).
18Brakensiek et al., "Re-Configurable Multi-Standard Terminal for Heterogeneous Networks," Radio and Wireless Conference, Rawcon 2002 IEEE. pp. 27-30 (2002).
19Brown et al., "Quick PDA Data Exchange," PC Magazine pp. 1-3 (May 22, 2001).
20Buck et al., "Ptolemy: A Framework for Simulating and Prototyping Heterogeneous Systems," International Journal of Computer Simulation 4:155-182 (Apr. 1994).
21Burns et al., "A Dynamic Reconfiguration Run-Time System," Proceedings of the 5th Annual Symposium on Field-Programmable Custom Computing Machines, pp. 166-175 (Apr. 16, 1997).
22Business Wire, "Whirlpool Internet-Enabled Appliances to Use Beeline Shopper Software Features," http://www.whirlpoocorp.com/news/releases/release.asp?rid=90 (Feb. 16, 2001).
23Buttazzo et al., "Optimal Deadline Assignment for Scheduling Soft Aperiodic Tasks in Hard Real-Time Environments," Engineering of Complex Computer Systems, Proceedings of the Third IEEE International Conference on Como, pp. 39-48 (Sep. 8, 1997).
24Callahan et al., "Adapting Software Pipelining for Reconfigurable Computing," in Proceedings of the International Conference on Compilers, Architectrue and Synthesis for Embedded Systems p. 8, ACM (Cases '00, San Jose, CA) (Nov. 17-18, 2000).
25Chapman & Mehrotra, "OpenMP and HPF: Integrating Two Paradigms," Proceedings of the 4th International Euro-Par Conference (Euro-Par'98), Springer-Verlag Heidelberg, Lecture Notes in Computer Science 1470:650-658 (1998).
26Chen et al., "A Reconfigurable Multiprocessor IC for Rapid Prototyping of Algorithmic-Specific High-Speed DSP Data Paths," IEEE Journal of Solid-State Circuits, IEEE 35:74-75 (Feb. 1, 2001).
27Clarke, "Embedded Solutions Enters Development Pact with Marconi," EETimes Online (Jan. 26, 2000).
28Compton & Hauck, "Reconfigurable Computing: A Survey of Systems and Software," ACM Press, ACM Computing Surveys (CSUR) 34(2)171-210 (Jun. 2002).
29Compton et al., "Configuration Relocation and Defragmentation for Run-Time Reconfigurable Computing," Northwestern University, http://citeseer.nj.nec.com/compton00configuration.html, pp. 1-17 (2000).
30Conte et al., "Dynamic Rescheduling. A Technique for Object Code Compatibility in VLIW Architectures," Proceedings of the 28th Annulal International Symposium on Microarchitecture pp. 208-218 (Nov. 29, 1995).
31Conte et al., "Instruction Fetch Mechanisms for VLIW Architectures with Compressed Encodings," Proceedings of the Annual IEEE/ACM International Symposium on Microarchitecture (Micro) 29:201-211 (Dec. 2, 1996).
32Cray Research Inc., "Cray T3E Fortran Optimization Guide," Ver. 004-2518-002, Section 4.5 (Jan. 1999).
33Cummings et al., "FPGA in the Software Radio," IEEE Communications Magazine . 37(2):108-112 (Feb. 1999).
34Dandalis et al., "An Adaptive Cryptograhic Engine for IPSec Architectures," IEEE pp. 132-141 (Jan. 2000).
35David et al., "DART: A Dynamically Reconfigurable Architecture Dealing with Future Mobile Telecommunication Constraints," Proceedings of the International Parallel and Distributed Processing Symposium pp. 156-163 (Apr. 15, 2002).
36Deepakumara et al., "FPGA Implementation of MD5 has Algorithm," Canadian Conference on Electrical and Computer Engineering, IEEE (2001).
37Dehon et al., "Reconfigurable Computing: What, Why and Implications for Design Automation," Design Automation Conference Proceedings pp. 610-615 (1999).
38Dipert, "Figuring Out Reconfigurable Logic," EDN 44(16):107-114 (Aug. 5, 1999).
39Dominikus, "A Hardware Implementation of MD4-Family Hash Algorithms," 9th International Conference on Electronics, Circuits and Systems IEEE (2002).
40Dorband, "aCe C Language Reference Guide," Online (Archived Mar. 2001), http://web.archive.org/web/20000616053819/http://newton.gsfc.nasa.gov/aCe/aCe-dir/aCe-cc-Ref.html (Mar. 2001).
41Dorband, "aCe C Language Reference Guide," Online (Archived Mar. 2001), http://web.archive.org/web/20000616053819/http://newton.gsfc.nasa.gov/aCe/aCe—dir/aCe—cc—Ref.html (Mar. 2001).
42Drozdowski, "Scheduling Multiprocessor Tasks-An Overview," Instytut Informatyki Politechnika, pp. 1-31 (Jan. 31, 1996).
43Drozdowski, "Scheduling Multiprocessor Tasks—An Overview," Instytut Informatyki Politechnika, pp. 1-31 (Jan. 31, 1996).
44Ebeling et al., "RaPiD Reconfigurable Pipelined Datapath," Springer-Verlag, 6th International Workshop on Field-Programmable Logic and Applications pp. 126-135 (1996).
45Fawer et al., "A Multiprocessor Approach for Implementing a Time-Diversity Spread Specturm Receiver," Proceeding sof the 1990 International Zurich Seminal on Digital Communications, pp. 173-180 (Mar. 5-8, 1990).
46Fisher, "Gone Flat," Forbes pp. 76-79 (Oct. 2001).
47Fleischmann et al., "Prototyping Networked Embedded Systems," Integrated Engineering, pp. 116-119 (Feb. 1999).
48Forbes "Best of the Web-Computer Networking/Consumer Durables," The Forbes Magnetic 40 p. 80 (May 2001).
49Forbes "Best of the Web—Computer Networking/Consumer Durables," The Forbes Magnetic 40 p. 80 (May 2001).
50Gibson, "Fresh Technologies Will Create Myriad Functions," FT Information Technology Review; World Wide Web at http://technews.acm.org/articles/2000-2/0301w.html?searchterm=%22fresh+technologies%22 (Mar. 1, 2000).
51Gluth, "Integrierte Signalprozessoren," Elektronik 35(18):112-118 Franzis Verlag GmbH, Munich, Germany (Sep. 5, 1986).
52Gokhale & Schlesinger, "A Data Parallel C and Its Platforms," Proceedings of the Fifth Symposium on the Frontiers of Massively Parallel Computation pp. 194-202 (Frontiers '95) (Feb. 1995).
53Grimm et al., "A System Architecture for Pervasive Computing," Washington University, pp. 1-6 (Sep. 2000).
54Halbwachs et al., "The Synchronous Data Flow Programming Language LUSTRE," Proceedings of the IEEE 79(9):1305-1319 (Sep. 1991).
55Hammes et al., "Cameron: High Level Language Compilation for Reconfigurable Systems," Proc. of the Intl. Conf. on Parallel Architectures and Compilation Techniques, pp. 236-244 (Oct. 1999).
56Hartenstein, "Coarse Grain Reconfigurable Architectures," Design Automation Conference, 2001. Proceedings of the ASP-Dac 2001, Asian and South Pacific Jan. 30, 2001-Februxay 2, 2001, Piscataway, NJ, US, IEEE, pp. 564-569 (Jan. 30, 2001).
57Heinz, "An Efficiently Compilable Extension of {M}odula-3 for Problem-Oriented Explicitly Parallel Programming," Proceedings of the Joint Symposium on Parallel Processing (May 1993).
58Hinden et al., "The DARPA Internet Interconnecting Heterogeneous Computer Networks with Gateways," IEEE Computer Magazine pp. 38-48 (1983).
59Horton, "Beginning Java 2: JDK 1.3 Edition," Wrox Press, Chapter 8, pp. 313-316 (Feb. 2001).
60Huff et al., "Lifetime-Sensitive Modulo Scheduling," 6th Conference on Programming Language, Design and Implementation, pp. 258-267, ACM (1993).
61IBM, "Multisequencing a Single Instruction Stream Scheduling with Space-time Trade-offs," IBM Technical Disclosure Bulletin 36(2):105-108 (Feb. 1, 1993).
62IEEE, "IEEE Standard Verilog Hardware Description Language," downloaded from http://inst.eecs.berkeley.edu/~cs150/fa06/Labs/verilog-ieee.pdf on Dec. 7, 2006 (Sep. 2001).
63IEEE, "IEEE Standard Verilog Hardware Description Language," downloaded from http://inst.eecs.berkeley.edu/˜cs150/fa06/Labs/verilog-ieee.pdf on Dec. 7, 2006 (Sep. 2001).
64Internet Wire, Sunbeam Joins Microsoft in University Plug and Play Forum to Establish A "Universal" Smart Appliance Technology Standard (Mar. 23, 2000).
65Ishii et al., "Parallel Variable Length Decoding with Inverse Quantization for Software MPEG-2 Decoders," Workshop on Signal Processing Systems, Design and Implementation, IEEE pp. 500-509 (Nov. 3-5, 1997).
66Isoworth, "Isoworth Beverage Dispensing Technology Worldwide Company," Brochure (May 22, 2000).
67Jain et al., "An Alternative Approach Towards the Design of Control Units," Microelectronics and Reliability 24(6):1009-1012 (1984).
68Jain, "Parallel Processing with the TMS320C40 Parallel Digital Signal Processor," Sonitech International Inc., pp. 13-46. Retrieved from: http://www-s.ti.com/sc/psheets/spra031/spra031.pdf retrieved on Apr. 14, 2004 (Feb. 1994).
69Janssen et al., "Partitioned Register File for TTAs," Proceedings of the 28th Annual International Symposium on Microarchitecture, pp. 303-312 (Nov. 1995).
70Jong-Pyng et al., "Real-Time Virtual Channel Flow Control," Proceedings of the Annual International Phoenix Conference on Computers and Communications, Conf. 13, pp. 97-103 (Apr. 12, 1994).
71Jung et al., "Efficient Hardware Controller Synthesis for Synchronous Dataflow Graph in System Level Design," Proceedings of the 13th International Symposium on System Synthesis pp. 79-84 (ISSS'00) (Sep. 2000).
72Kaufmann et al., "Digital Spread-Spectrum Multipath-Diversity Receiver for Indoor Communication," from Pioneers to the 21st Century; Denver, Proceedings of the Vehicular Technology Socity [sic] Conference, NY, IEEE, US 2(Conf. 42):1038-1041 (May 10-13, 1992).
73Kneip et al., "An Algorithm Adapted Autonomous Controlling Concept for a Parallel Single-Chip Digital Signal Processor," Journal of VLSI Signal Processing Systems for Signal, Image, an dVideo Technology 16(1):31-40 (May 1, 1997).
74Lee & Messerschiviitt, "Pipeline Interleaved Programmable DSP's: Synchronous Data Flow Programming," IEEE Transactions on Acoustics, Speech, and Signal Processing ASSP-35(9):1334-1345 (Sep. 1987).
75Lee & Messerschiviitt, "Synchronous Data Flow," Proceedings of the IEEE 75(9):1235-1245 (Sep. 1987).
76Lee & Parks, "Dataflow Process Networks," Proceedings of the IEEE 83(5):773-799 (May 1995).
77Liu et al., "Scheduling Algorithms for Multiprogramming in a Hard-Real-Time Environment," Journal of the Association for Computing 20(1):46-61 (1973).
78Llosa et al., "Lifelime-Sensitive Modulo Scheduling in a Production Environment," IEEE Trans. on Comps. 50(3):234-249 (Mar. 2001).
79Lu et al., "The Morphosys Dynamically Reconfigurable System-On-Chip," Proceedings of the First NASA/DOD Workshop on Evolvable Hardware, pp. 152-160 (Jul. 19, 1999).
80Mangione-Smith et al., "Seeking Solutions in Configurable Computing," Computer 30(12):38-43 (Dec. 1997).
81Manion, "Network CPU Adds Spice," Electronic Engineering Times, Issue 1126 (Aug. 14, 2000).
82Mascia & Ishii., "Neural Net Implementation on Single-Chip Digital Signal Processor," IEEE (1989).
83McGraw, "Parallel Functional Programming in Sisal: Fictions, Facts, and Future," Lawrence Livermore National Laboratory pp. 1-40 (Jul. 1993).
84Najjar et al., "High-Level Language Abstraction for Reconfigurable Computing," Computer 36(8):63-69 (Aug. 2003).
85Nichols et al., "Data Management and Control-Flow Constructs in a SIMD/SPMD Parallel Language/Compiler," Proceedings of the 3rd Symposium on the Frontiers of Massively Parallel Computation pp. 397-406 (Oct. 1990).
86OpenMP Architecture Review Board, "OpenMP C and C++ Application Program Interface," pp. 7-16 (Oct. 1998).
87Oracle Corporation, "Oracle8i JDBC Developer's Guide and Reference," Release 3, 8.1.7, pp. 10-8-10-10 (Jul. 2000).
88Pauer et al., "Algorithm Analysis and Mapping Environment for Adaptive Computing Systems," Presentation slides, Third Bi-annual Ptolemy Miniconference (1999).
89Pauer et al., "Algorithm Analysis and Mapping Environment for Adaptive Computing Systems: Further Results," Proc. IEEE Symposium on FPGA's for Custom Computing Machines (FCCM), Napa CA (1999).
90Ramamritham et al., "On Scheduling Algorithms for Real-Time Multiprocessor Systems," Algorithms and Applications, Proceedings of the International conference on Parallel Processing 3:143-152 (Aug. 8, 1989).
91Schneider, "A Parallel/Serial Trade-Off Methodology for Look-Up Table Based Decoders," Proceedings of the Design Automation Conference 34:498-503 (Jun. 9-13, 1997).
92Sidhu et al., "A Self-Reconfigurable Gate Array Architecture," 10 International Workshop on Field Programmable Logic and Applications http://coblitz.codeen.org:3125/citeseer.ist.psu.edu/cache/papers/cs/17524/http:zSzzSzmaarcii.usc.eduzSzPublicationsZSzsidhu-fp100.pdf/sidhu00selfreconfigurable.pdf retrieved on Jun. 21, 2006 (Sep. 1, 2001).
93Sidhu et al., "A Self-Reconfigurable Gate Array Architecture," 10 International Workshop on Field Programmable Logic and Applications http://coblitz.codeen.org:3125/citeseer.ist.psu.edu/cache/papers/cs/17524/http:zSzzSzmaarcii.usc.eduzSzPublicationsZSzsidhu—fp100.pdf/sidhu00selfreconfigurable.pdf retrieved on Jun. 21, 2006 (Sep. 1, 2001).
94Smith, "Intro to ASICs: ASIC Cell Libraries," at http://iroi.seu.edu.cn/books/asics/Book2/CH01/CH01.5.htm, printed on Feb. 4, 2005 (Jun. 1997).
95Souza, "Computing's New Face-Reconfigurable Devices Could Rattle Supply Chain," Electronic Buyers' News Issue 1205, pg. p. 1 (Apr. 3, 2000).
96Souza, "Quicksilver Buys White Eagle," Electronic Buyers News, Issue 1220 (Jul. 17, 2000).
97Souza, "Computing's New Face—Reconfigurable Devices Could Rattle Supply Chain," Electronic Buyers' News Issue 1205, pg. p. 1 (Apr. 3, 2000).
98Sriram et al., "MPEG-2 Video Decoding on the TMS320C6X DSP Architecture," Conference Record of the 32nd Asilomar Conference on Signals, Systems, and Computers, IEEE pp. 1735-1739 (Nov. 1-4, 1998).
99Steiner, "Coke Chief's Latest Daft Idea-A Cola Tap in Every House," Sunday Times (Mar. 2001).
100Steiner, "Coke Chief's Latest Daft Idea—A Cola Tap in Every House," Sunday Times (Mar. 2001).
101Sun Microsystems, "Fortran 3.0.1 User's Guide, Revision A," pp. 57-68 (Aug. 1994).
102Svensson, "Co's Join On Home Web Wiring Network," Associated Press Online printed on Apr. 30, 2008 (Jun. 2000).
103Tang et al., "Thread Partitioning and Scheduling Based on Cost Model," Proceedings of the Ninth Annual ACM Symposium on Parallel Algorithms and Architectures, pp. 272-281 Retrieved from: http://doi.acm.org/10.1145/258492.2585 retrieved on Aug. 25, 2004 (1997).
104Vaya, "Viturbo: A Reconfigurable Architecture for Ubiquitous Wireless Networks," A Thesis Submitted in Partial Fulfillment of the Requirements for the Degree Master of Science; Rice University (Aug. 2002).
105Wang et al., "Cell Search in W-CDMA," IEEE Journal on Selected Areas in Communications 18(8):1470-1482 (Aug. 2000).
106Wardell, "Help for Hurried Cooks?," Popular Science, p. 32 (May 2000).
107Whiting & Pascoe, "A History of Data-Flow Languages," IEEE Annals of the History of Computing 16(4):38-59 (1994).
108Williamson & Lee, "Synthesis of Parallel Hardware Implementations from Synchronous Dataflow Graph Specifications," Conference Record of the Thirtieth Asilomar Conference on Signals, Systems and Computers 1340-1343 (Nov. 1996).
109Wirthlin et al., "A Dynamic Instruction Set Computer," Proceedings of the IEEE Symposium on FPGA's for Custom Computing Machines, pp. 99-107 (Apr. 21, 1995).
110World Wide Web, http://web.archive.org/web/20000229192734/www.gateway.com/productpages/9300splash/index.shtml, Gateway.com, available on Mar. 3, 2000, 1 page.
111WWW.APPLIANCEMAGAZINE.COM, World Wide Web at http://web.archive.org/web/20000511085402/http://www.appliancemagazine.com/ printed on Apr. 30, 2008.
112WWW.BESTROM.COM, BreakMateTM from www.bestrom.com printed on Apr. 29, 2008.
113WWW.BEVERAGEEXPRESS.COM, Beverage Express from www.beverageexpress.com printed on Apr. 30, 2008.
114WWW.BEVSTAR.COM, Isoworth Beverage Dispensing Technology Worldwide from www.bevstar.com printed on Apr. 30, 2008.
115WWW.BONATOR.COM, from The World Wide Web at http://web.archive.org/web/20000510102440/http://www.bonatorcom/ printed on Apr. 30, 2008.
116WWW.ECOMMERCE.DEWPOINTING.COM, Swiss Mountain Coffees from www.ecommerce.dewpointinc.com printed on Apr. 30, 2008.
117WWW.GATEWAY.COM, World Wide Web, http://web.archive.org/web/20000229192734/www.gateway.com/productpages/9300splash/index.shtml Available on Mar. 3, 2000, 1 page (Mar. 3, 2000).
118WWW.ICL.COM, from the World Wide Web at http://www.icl.com printed on Apr. 30, 2008.
119WWW.MARGHERITA2000.COM; from Margherita2000.com printed Apr. 30, 2008 (Jan. 26, 2001).
120WWW.SODACLUBENTERPRISES.COM, Soda-Club Enterprises from www.sodaclubenterprises.com printed on Apr. 30, 2008.
121WWW.SYMBOL.COM, Symbol from www.symbol.com printed on Apr. 30, 2008.
122WWW.WUNDERBAR.COM, Wunder-Bar Dispensing Systems from www.wunderbar.com printed on Apr. 30, 2008.