System and method for delivery of a modular operating system

Information

  • Patent Grant
  • 8353046
  • Patent Number
    8,353,046
  • Date Filed
    Wednesday, June 8, 2005
    19 years ago
  • Date Issued
    Tuesday, January 8, 2013
    11 years ago
Abstract
An operating system and method for use include a core function module, or basic kernel, providing fundamental operating system support and one or more add-on modules that allow customization of the operating system as desired. Add-on modules may provide support or extended capability to the computer including hardware, applications, peripherals, and support. A digital signature may be used to confirm the integrity of an add-on module prior to installation. Certification may be verified to determine if installation of the add-on module is authorized. By withholding certification, a service provider may manage illegal or undesired modifications to a provided computer. Digital rights management may be used to enforce terms of use of the add-on module in keeping with licensing arrangements.
Description
TECHNICAL FIELD

This disclosure relates to operating systems and particularly relates to a system and method for delivery of a modular operating system.


BACKGROUND

Operating systems typically include functions such as hardware management memory management, disk file systems, a basic graphics engine, and application runtime support. Operating systems are available as monolithic blocks that incorporate all the above functions and often more. Purchasing these large operating systems can represent a significant portion of the cost of an overall computer system. After purchase, the user may find significant functionality available that is not required, or some functions that would be desirable that are not available.


SUMMARY

According to one aspect of the disclosure an operating system is composed of a small basic kernel, often given away for free. The small basic kernel, may be used for simple operations and for basic application support. A user of the computer system may then have the opportunity to add specific modules supporting the functionality required for his or her particular interests. While some add-on modules may be free, others may be available for a fee or as part of a subscription.


According to another aspect of the disclosure, multiple users may each build from the small basic kernel to personalize and customize the operating system for their individual needs on the same computer. For example, one user may purchase and install a suite support pack to improve the performance of utilities such as word processors. Another user may choose a game support pack that may include 3-D graphics acceleration, more memory, a game controller driver, and advanced sound support.


According to another aspect of the disclosure, digital rights management may be used to manage add-on modules. As opposed to the prior art, where the operating system is available in perpetuity, add-on modules may be available for limited periods of time, based on the license terms. It may also be possible to allow only certified or authorized add-on modules to be installed, enabling digital rights management to allow selective purchase by users, fraud control for providers and also to restrict unauthorized operating system extensions from being installed that may support unauthorized hardware and/or software.


According to yet another aspect of the disclosure, add-on modules may allow extensions to initial basic functions, such as, the number of windows allowed, the number of processors in use, the amount of memory available, and the number of concurrent applications running.





BRIEF DESCRIPTION OF THE DRAWINGS


FIG. 1 is a simplified and representative block diagram of a computer network;



FIG. 2 is a simplified and representative block diagram of a computer;



FIG. 3 is a simplified and representative block diagram illustrating the functional relationship between operating system elements; and



FIG. 4 is a simplified and representative block diagram of an exemplary add-on module;



FIG. 5 is a flow chart depicting a method for extending a basic operating system using add-on modules; and



FIG. 6 is a flow chart depicting a method booting a computer using add-on modules.





DETAILED DESCRIPTION OF VARIOUS EMBODIMENTS

Although the following text sets forth a detailed description of numerous different embodiments, it should be understood that the legal scope of the description is defined by the words of the claims set forth at the end of this disclosure. The detailed description is to be construed as exemplary only and does not describe every possible embodiment since describing every possible embodiment would be impractical, if not impossible. Numerous alternative embodiments could be implemented, using either current technology or technology developed after the filing date of this patent, which would still fall within the scope of the claims.


It should also be understood that, unless a term is expressly defined in this patent using the sentence “As used herein, the term ‘——————’ is hereby defined to mean . . . ” or a similar sentence, there is no intent to limit the meaning of that term, either expressly or by implication, beyond its plain or ordinary meaning, and such term should not be interpreted to be limited in scope based on any statement made in any section of this patent (other than the language of the claims). To the extent that any term recited in the claims at the end of this patent is referred to in this patent in a manner consistent with a single meaning, that is done for sake of clarity only so as to not confuse the reader, and it is not intended that such claim term by limited, by implication or otherwise, to that single meaning. Finally, unless a claim element is defined by reciting the word “means” and a function without the recital of any structure, it is not intended that the scope of any claim element be interpreted based on the application of 35 U.S.C. §112, sixth paragraph.


Much of the inventive functionality and many of the inventive principles are best implemented with or in software programs or instructions and integrated circuits (ICs) such as application specific ICs. It is expected that one of ordinary skill, notwithstanding possibly significant effort and many design choices motivated by, for example, available time, current technology, and economic considerations, when guided by the concepts and principles disclosed herein will be readily capable of generating such software instructions and programs and ICs with minimal experimentation. Therefore, in the interest of brevity and minimization of any risk of obscuring the principles and concepts in accordance to the present invention, further discussion of such software and ICs, if any, will be limited to the essentials with respect to the principles and concepts of the preferred embodiments.



FIG. 1 illustrates a network 10 that may be used to implement a dynamic software provisioning system. The network 10 may be the Internet, a virtual private network (VPN), or any other network that allows one or more computers, communication devices, databases, etc., to be communicatively connected to each other. The network 10 may be connected to a computer 12, such as a personal computer and a computer terminal 14 via an Ethernet 16 and a router 18, and a landline 20. On the other hand, the network 10 may be wirelessly connected to a laptop computer 22 and a personal data assistant 24 via a wireless communication station 26 and a wireless link 28. Similarly, a server 30, such as a proxy server or edge server may be connected to the network 10 using a communication link 32 and a web server 34 may be connected to the network 10 using another communication link 36.



FIG. 2 illustrates a computing device in the form of a computer 110. Components of the computer 110 may include, but are not limited to a processing unit 120, a system memory 130, and a system bus 121 that couples various system components including the system memory to the processing unit 120. The system bus 121 may be any of several types of bus structures including a memory bus or memory controller, a peripheral bus, and a local bus using any of a variety of bus architectures. By way of example, and not limitation, such architectures include Industry Standard Architecture (ISA) bus, Micro Channel Architecture (MCA) bus, Enhanced ISA (EISA) bus, Video Electronics Standards Association (VESA) local bus, and Peripheral Component Interconnect (PCI) bus also known as Mezzanine bus.


The computer 110 may also include a cryptographic unit 125. Briefly, the cryptographic unit 125 has a calculation function that may be used to verify digital signatures, calculate hashes, digitally sign hash values, and encrypt or decrypt data. The cryptographic unit 125 may also have a protected memory for storing keys and other secret data. Another function supported by the cryptographic unit 125 may be digital rights management, that in its simplest form is a variation of encryption. The cryptographic unit may also include a timer or clock (not depicted) to support expiration dates and some usage limits. In other embodiments, the functions of the cryptographic unit may be instantiated in software and run via the operating system.


Computer 110 typically includes a variety of computer readable media. Computer readable media can be any available media that can be accessed by computer 110 and includes both volatile and nonvolatile media, removable and non-removable media. By way of example, and not limitation, computer readable media may comprise computer storage media and communication media. Computer storage media includes volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data. Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, FLASH memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can accessed by computer 110. Communication media typically embodies computer readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave or other transport mechanism and includes any information delivery media. The term “modulated data signal” means a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal. By way of example, and not limitation, communication media includes wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, radio frequency, infrared and other wireless media. Combinations of any of the above should also be included within the scope of computer readable media.


The system memory 130 includes computer storage media in the form of volatile and/or nonvolatile memory such as read only memory (ROM) 131 and random access memory (RAM) 132. A basic input/output system 133 (BIOS), containing the basic routines that help to transfer information between elements within computer 110, such as during start-up, is typically stored in ROM 131. RAM 132 typically contains data and/or program modules that are immediately accessible to and/or presently being operated on by processing unit 120. By way of example, and not limitation, FIG. 2 illustrates operating system 134, application programs 135, other program modules 136, and program data 137.


The computer 110 may also include other removable/non-removable, volatile/nonvolatile computer storage media. By way of example only, FIG. 2 illustrates a hard disk drive 141 that reads from or writes to non-removable, nonvolatile magnetic media, a magnetic disk drive 151 that reads from or writes to a removable, nonvolatile magnetic disk 152, and an optical disk drive 155 that reads from or writes to a removable, nonvolatile optical disk 156 such as a CD ROM or other optical media. Other removable/non-removable, volatile/nonvolatile computer storage media that can be used in the exemplary operating environment include, but are not limited to, magnetic tape cassettes, flash memory cards, digital versatile disks, digital video tape, solid state RAM, solid state ROM, and the like. The hard disk drive 141 is typically connected to the system bus 121 through a non-removable memory interface such as interface 140, and magnetic disk drive 151 and optical disk drive 155 are typically connected to the system bus 121 by a removable memory interface, such as interface 150.


The drives and their associated computer storage media discussed above and illustrated in FIG. 2, provide storage of computer readable instructions, data structures, program modules and other data for the computer 110. In FIG. 2, for example, hard disk drive 141 is illustrated as storing operating system 144, application programs 145, other program modules 146, and program data 147. Note that these components can either be the same as or different from operating system 134, application programs 135, other program modules 136, and program data 137. Operating system 144, application programs 145, other program modules 146, and program data 147 are given different numbers here to illustrate that, at a minimum, they are different copies. A user may enter commands and information into the computer 20 through input devices such as a keyboard 162 and cursor control device 161, commonly referred to as a mouse, trackball or touch pad. Other input devices (not shown) may include a microphone, joystick, game pad, satellite dish, scanner, or the like. These and other input devices are often connected to the processing unit 120 through a user input interface 160 that is coupled to the system bus, but may be connected by other interface and bus structures, such as a parallel port, game port or a universal serial bus (USB). A monitor 191 or other type of display device is also connected to the system bus 121 via an interface, such as a graphics controller 190. In addition to the monitor, computers may also include other peripheral output devices such as speakers 197 and printer 196, which may be connected through an output peripheral interface 195.


The computer 110 may operate in a networked environment using logical connections to one or more remote computers, such as a remote computer 180. The remote computer 180 may be a personal computer, a server, a router, a network PC, a peer device or other common network node, and typically includes many or all of the elements described above relative to the computer 110, although only a memory storage device 181 has been illustrated in FIG. 2. The logical connections depicted in FIG. 2 include a local area network (LAN) 171 and a wide area network (WAN) 173, but may also include other networks. Such networking environments are commonplace in offices, enterprise-wide computer networks, intranets and the Internet.


When used in a LAN networking environment, the computer 110 is connected to the LAN 171 through a network interface or adapter 170. When used in a WAN networking environment, the computer 110 typically includes a modem 172 or other means for establishing communications over the WAN 173, such as the Internet. The modem 172, which may be internal or external, may be connected to the system bus 121 via the user input interface 160, or other appropriate mechanism. In a networked environment, program modules depicted relative to the computer 110, or portions thereof, may be stored in the remote memory storage device. By way of example, and not limitation, FIG. 2 illustrates remote application programs 185 as residing on memory device 181.


The communications connections 170172 allow the device to communicate with other devices. The communications connections 170172 are an example of communication media. The communication media typically embodies computer readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave or other transport mechanism and includes any information delivery media. A “modulated data signal” may be a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal. By way of example, and not limitation, communication media includes wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, RF, infrared and other wireless media. Computer readable media may include both storage media and communication media.



FIG. 3 shows a simplified block diagram of the relationship between the basic kernel and add-on modules. The basic kernel 202 may supply functions such as basic memory management, system input/output, boot processes, file system support, and fundamental display capabilities. Add-on modules provide a mechanism to extend or increase the capabilities of the basic kernel 202. As depicted in FIG. 3, add-on module 204 has been included into the basic kernel 202 system. A basic kernel add-on module 206 may provide support for additional memory or multiple processors, for example. Add-on module 208 may extend the functionality of kernel add-on module 206. Add-on module 208 may similarly extend the basic kernel function, such as adding support for higher-speed operation of a multiple processor environment. Additional add-on modules 210212214 are depicted as not yet being installed. For the sake of illustration, it is shown that add-on module 210 is available for free, add-on module 212 has a one-time charge of $6, and add-on module 214 has an ongoing charge of $2 per month.


By way of illustration, and not limitation, some of the functions associated with add-on modules are discussed in several broad categories: hardware, peripherals, communication and applications/bundles.


The hardware category may include power management, removable memory support, metered disk drives, multiple processor support, increased screen resolution, increased screen color depth, 3D acceleration, and patches/bug fixes/service packs. Power management offers the user options for setting power consumption, particularly in a laptop, but also for desktop environments. Removable memory support may include capabilities for rotating media such as CD and DVD, as well as solid-state memory such as USB memory peripherals. A metered disk drive (not depicted) may provide a user with a base function for small capacity disk storage at a given speed. Advanced support for disk access may include high speed/high capacity drives as well as network drives. In a base configuration supported by the basic kernel 202, the number of processors may be limited to one, or to a fixed performance level. An add-on module for processor support may allow variable performance levels up to the maximum capability of the processor or may include activation of additional processors both locally and on a network. The basic kernel 202 of the operating system may support limited screen resolutions and color depth, while an add-on module may expand those capabilities. 3-D acceleration is of interest to some users is discussed further below. In the area of operating system maintenance, service packs, bug fixes, and patches have been included in the original purchase price of an operating system for prior art systems. The use of an add-on module for support of bug fixes, service packs, and patches allows users to selectively pay for only the support that is of interest to them.


The peripheral category may include installed printers, COM ports, USB ports, telephone service, and the number of peripherals allowed. A computer 110 functioning with the basic kernel operating system 202 may have limited peripheral support. Add-on modules may allow users to select the types, speed, and number of peripherals allowed and supported.


The communication category may include network interfaces, such as dial up, TCP, and peer-to-peer networks, etc. A computer 110 supported by the basic kernel 202 may not include any network support for use in basic applications. For example, in areas where communication infrastructure is nonexistent or limited, a user may not wish to invest in high speed communication capability. Add-on modules for communication may be used to support low-speed access such as dial up, higher-speed access, for example, DSL speeds up 500 kilobits per second, or speeds up to the maximum supported by the available hardware. Communication may also be limited by type, such as support for Internet browsing separate from peer-to-peer networking.


While most of the capabilities discussed in the following are also shown above, application specific packages or bundled add-on modules may be used to provide easy support for users having a specific interest. For example, a power user may want specific window and background themes with associated styles, a significant number of concurrent windows, and an unlimited number of concurrent applications, up to the capacity of the hardware. A game support pack including advanced sound support, game controller support, and increased video memory may be of interest to those users primarily interested in interactive games. Users of business support applications may benefit from a support pack including high speed disk access, network drive support, and network printing, for example.


While not exhaustive, the above illustrate the nature and range of capabilities that may be supported by add-on modules and a basic kernel operating system.



FIG. 4 illustrates a representative add-on module, such as the add-on modules discussed with respect to FIG. 3. The add-on module 300 may include functional code 302 and support data 304. The functional code 302 may include software, algorithms, and utilities for supporting the specific function provided by the add-on module 300. Data 304 may include both static and dynamic data, such as icons, environment data, settings, or user data. The add-on module 300 may further include a digital signature 306. Digital signatures, such as digital signature 306 are well known in the industry but, in brief, may be used to verify the integrity of the add-on module 300 as received, as well as to confirm the identity of the source of the add-on module 300. Digital signatures may be verified using the cryptographic unit 125 shown in FIG. 2.


A certification 308 may be used in addition to digital signature 306. While the digital signature 306 may be used to verify, for example, authorship of the add-on module functional code 302, the certification 308 may be used to verify authorization to install the add-on module 300 granted by a service provider or other interested party. For example, a service provider may, for business or support reasons, wish to restrict the use of certain add-on modules even though they are compatible with the basic kernel 202.


Digital rights indicia 310 may be used to impose limits on usage of the add-on module 300. The digital rights indicia 310 may cover usage until an expiration date, a number of uses over a time period, a cumulative number of uses, or a via metadata processed, as some examples.



FIG. 5 may illustrate a method of identifying and installing add-on modules. A computer, such as computer 110, may start 402 basic kernel 202 of a core operating system when booted. A user may be presented at block 404 with a selection of add-on modules, such as add-on module 300, for example, showing capability and cost, if any. The basic kernel 202 of the core operating system may then receive 406 a selection of add-on modules. The selection made at block 406 may include an explicit or implicit funding authorization. When funding is required, funds may be collected at block 408. Funding may be accomplished by any of the known mechanisms, such as payment from a pre-paid account or by an on-line funds transfer. Once the funding operation completes successfully, the yes branch from block 408 may be followed.


The selected add-on module 300 may be present, or may need to be downloaded (not depicted). A digital signature 306 may be confirmed at block 410 to ensure the add-on module 300 is intact and untampered as well as to verify the identity of the signer. When the digital signature is confirmed, execution may follow the yes branch from block 410 where a certification 308, if present, is confirmed at block 412. As discussed above, the certification 308 may be present in addition to a digital signature and may relate more to authorization for loading as opposed to checking integrity and source verification which may depend more on the digital signature. When the certification is confirmed at block 412, the yes branch may be followed to block 414 where the add-on module 300 may be installed and normal operation using the newly installed add-on module may proceed. Additional add-on modules may be installed using a similar method until all desired add-on modules are operational.


Should the funding process at block 408 fail, or the confirmation of the digital signature and certification at blocks 410 and 412 respectively, fail, execution may continue at block 416 where the user may be presented with an error message and choices for continuing. One choice may be to return to block 414 for reselection of an add-on module. Processing after presentation 416 of the error message may also continue by resuming operation (not depicted) using only the basic kernel 202 core operating system and any previously installed add-on modules.



FIG. 6 depicts a method of booting a computer 110 where one or more add-on modules, such as add-on module 300, are already present and when no additional selections are made. The basic kernel 202, or core operating system, may be started 502. Part of the boot process or initial operation of computer 110 may determine 504 whether add-on modules are installed or available to the basic kernel 202. The add-on module 300 may be examined for digital rights indicia at block 506. When digital rights indicia are present and the criteria required are satisfied, the yes branch from block 506 may be followed and the add-on module started at block 508. Similarly, if no digital rights indicia are present, the add-on module may be started at block 508. Should the digital rights criteria fail at block 506, for example, if an expiration date has passed, the fail branch from block 506 may be followed to block 510 where a notification may be presented to the user indicating the add-on module was not started. The notification at block 510 may further include an opportunity to correct the failure, for example, by purchasing an additional usage allocation.


By following a process such as that described above, users benefit from the flexibility to add only those capabilities to an operating system which are of value, and, in some cases, for a period of time as needed. Operating system vendors may also benefit by reduced piracy of full capacity operating systems in favor of widely available core operating systems that are easily upgradable in affordable increments. Lastly, service providers or system operators who may be providing computers on a pay-as-you-go or pay-per-use basis may be able to limit installation of potentially harmful applications or hardware peripherals by restricting the installation of required operating system add-on modules.


Although the forgoing text sets forth a detailed description of numerous different embodiments of the invention, it should be understood that the scope of the invention is defined by the words of the claims set forth at the end of this patent. The detailed description is to be construed as exemplary only and does not describe every possibly embodiment of the invention because describing every possible embodiment would be impractical, if not impossible. Numerous alternative embodiments could be implemented, using either current technology or technology developed after the filing date of this patent, which would still fall within the scope of the claims defining the invention.


Thus, many modifications and variations may be made in the techniques and structures described and illustrated herein without departing from the spirit and scope of the present invention. Accordingly, it should be understood that the methods and apparatus described herein are illustrative only and are not limiting upon the scope of the invention.

Claims
  • 1. A method of delivering operating system functionality to a computer, the method comprising: implementing a core operating system function on the computer, the core operating system function comprising memory management for the computer;determining that a first add-on module for providing additional hardware functionality to the core operating system function is available, the first add-on module providing at least removable memory support for the computer;determining whether digital rights criteria associated with the first add-on module are satisfied, the digital rights criteria corresponding to at least one of a number of uses of the first add-on module, an expiration date of the first add-on module, or a cumulative number of uses of the first add-on module, are satisfied; andproviding the computer with the removable memory support by executing the first add-on module on the computer, responsive to determining that the digital rights criteria have been satisfied.
  • 2. The method of claim 1, further comprising: presenting a plurality of add-on modules;receiving a selection of the first add-on module from the plurality of add-on modules;confirming a digital signature corresponding to the first add-on module; andinstalling the first add-on module on the computer.
  • 3. The method of claim 2, further comprising: confirming a certification authorizing installation of the first add-on module.
  • 4. The method according to claim 1, the removable memory support including capabilities for rotating media comprising CD media and DVD media.
  • 5. The method according to claim 1, the removable memory support including capabilities for solid-state memory comprising USB memory peripherals.
  • 6. The method according to claim 1, the first add-on module being selected from a plurality of add-on modules, the plurality of add-on modules providing capability for: adding support for power management to the computer;adding support for metered disk drives to the computer;adding support for multiple processors to the computer;adding support for multiple cores within a single processor to the computer;adding support for increased screen resolution to the computer;adding support for increased screen color depth to the computer; andadding support for patches, bug fixes, and service packs to the computer.
  • 7. The method according to claim 6, the support for power management offering user options for setting power consumption by the computer.
  • 8. The method according to claim 6, the support for the metered disk drives comprising advanced support for disk access including high speed drives, high capacity drives, and network drives.
  • 9. The method according to claim 6, wherein the core operating system function supports only one processor and the support for multiple processors includes activation of additional processors.
  • 10. The method according to claim 1, further comprising: executing a second add-on module on the computer, the second add-on module allowing variable performance levels for a processor of the computer up to a maximum capability of the processor.
  • 11. The method according to claim 1, wherein the computer comprises a processor, the method further comprising: executing a second add-on module on the computer, the second add-on module activating additional processors including an additional processor on the computer and an additional processor on a network.
  • 12. The method according to claim 1, wherein the core operating system function supports limited screen resolutions and color depth, the method further comprising: executing a second add-on module on the computer, the second add-on module expanding the support for screen resolutions and color depth relative to the core operating system function.
  • 13. The method according to claim 1, wherein support for service packs, bug fixes, and patches is not included in an original purchase price of the core operating system function.
  • 14. The method according to claim 13, further comprising allowing a user to selectively pay for support of bug fixes, service packs, and patches by installing a second add-on module on the computer.
  • 15. The method according to claim 1, further comprising executing a second add-on module on the computer, the second add-on module providing the computer with support for Internet browsing.
  • 16. The method according to claim 1, further comprising executing a second add-on module on the computer, the second add-on module providing the computer with support for peer-to-peer networking.
  • 17. The method according to claim 1, further comprising executing a second add-on module on the computer, the second add-on module providing the computer with support for styles and user interface themes that allow a user to change an experience by personalizing an existing desktop environment on the computer via a new theme, the new theme being based on an existing theme and including: custom colors,screensavers,wallpapers,sounds,screen rendering options, andspecial effects.
  • 18. The method according to claim 1, further comprising executing a bundle of add-on modules on the computer, the bundle of add-on modules providing the computer with support for: advanced sound support, game controller support, and increased video memory.
  • 19. The method according to claim 1, the core operating system function further comprising functions for: system input/output,boot processes,file system support, andfundamental display capabilities.
US Referenced Citations (388)
Number Name Date Kind
4558176 Arnold et al. Dec 1985 A
4620150 Germer et al. Oct 1986 A
4750034 Lem Jun 1988 A
4817094 Lebizay et al. Mar 1989 A
4855730 Venners et al. Aug 1989 A
4855922 Huddleston et al. Aug 1989 A
4857999 Welsh Aug 1989 A
4910692 Outram et al. Mar 1990 A
4959774 Davis Sep 1990 A
4967273 Greenberg Oct 1990 A
5001752 Fischer Mar 1991 A
5012514 Renton Apr 1991 A
5249184 Woest et al. Sep 1993 A
5269019 Peterson et al. Dec 1993 A
5274368 Breeden et al. Dec 1993 A
5301268 Takeda Apr 1994 A
5355161 Bird et al. Oct 1994 A
5369262 Dvorkis et al. Nov 1994 A
5406630 Piosenka et al. Apr 1995 A
5414861 Horning May 1995 A
5437040 Campbell Jul 1995 A
5442704 Holtey Aug 1995 A
5448045 Clark Sep 1995 A
5459867 Adams et al. Oct 1995 A
5473692 Davis Dec 1995 A
5490216 Richardson, III Feb 1996 A
5500897 Hartman, Jr. Mar 1996 A
5513319 Finch et al. Apr 1996 A
5522040 Hofsass et al. May 1996 A
5530846 Strong Jun 1996 A
5552776 Wade et al. Sep 1996 A
5563799 Brehmer et al. Oct 1996 A
5568552 Davis Oct 1996 A
5586291 Lasker et al. Dec 1996 A
5671412 Christiano Sep 1997 A
5710706 Markl et al. Jan 1998 A
5715403 Stefik Feb 1998 A
5724425 Chang et al. Mar 1998 A
5745879 Wyman Apr 1998 A
5754763 Bereiter May 1998 A
5758068 Brandt et al. May 1998 A
5763832 Anselm Jun 1998 A
5768382 Schneier et al. Jun 1998 A
5771354 Crawford Jun 1998 A
5774870 Storey Jun 1998 A
5793839 Farris et al. Aug 1998 A
5802592 Chess et al. Sep 1998 A
5825883 Archibald et al. Oct 1998 A
5841865 Sudia Nov 1998 A
5844986 Davis Dec 1998 A
5845065 Conte et al. Dec 1998 A
5875236 Jankowitz et al. Feb 1999 A
5883670 Sporer et al. Mar 1999 A
5892906 Chou et al. Apr 1999 A
5925127 Ahmad Jul 1999 A
5948061 Merriman Sep 1999 A
5953502 Helbig et al. Sep 1999 A
5956408 Arnold Sep 1999 A
5983238 Becker et al. Nov 1999 A
5994710 Knee et al. Nov 1999 A
6021438 Duvvoori Feb 2000 A
6026293 Osborn Feb 2000 A
6049789 Frison et al. Apr 2000 A
6061794 Angelo et al. May 2000 A
6078909 Knutson Jun 2000 A
6101606 Diersch et al. Aug 2000 A
6119229 Martinez et al. Sep 2000 A
6147773 Taylor Nov 2000 A
6148417 Da Silva Nov 2000 A
6158657 Hall, III et al. Dec 2000 A
6185678 Arbaugh et al. Feb 2001 B1
6188995 Garst et al. Feb 2001 B1
6189146 Misra et al. Feb 2001 B1
6192392 Ginter Feb 2001 B1
6219652 Carter et al. Apr 2001 B1
6223291 Puhl Apr 2001 B1
6226747 Larsson et al. May 2001 B1
6230185 Salas et al. May 2001 B1
6233600 Salas et al. May 2001 B1
6233685 Smith et al. May 2001 B1
6243439 Arai et al. Jun 2001 B1
6253224 Brice, Jr. et al. Jun 2001 B1
6263431 Lovelace et al. Jul 2001 B1
6272469 Koritzinsky et al. Aug 2001 B1
6279111 Jensenworth et al. Aug 2001 B1
6279156 Amberg et al. Aug 2001 B1
6286051 Becker et al. Sep 2001 B1
6289319 Lockwood et al. Sep 2001 B1
6295577 Anderson et al. Sep 2001 B1
6303924 Adan et al. Oct 2001 B1
6314408 Salas et al. Nov 2001 B1
6314409 Schneck et al. Nov 2001 B2
6321335 Chu Nov 2001 B1
6327652 England et al. Dec 2001 B1
6330670 England et al. Dec 2001 B1
6334189 Granger et al. Dec 2001 B1
6345294 O'Toole et al. Feb 2002 B1
6363488 Ginter et al. Mar 2002 B1
6367017 Gray Apr 2002 B1
6373047 Adan et al. Apr 2002 B1
6385727 Cassagnol et al. May 2002 B1
6405923 Seysen Jun 2002 B1
6408170 Schmidt et al. Jun 2002 B1
6411941 Mullor et al. Jun 2002 B1
6424714 Wasilewski et al. Jul 2002 B1
6441813 Ishibashi Aug 2002 B1
6442529 Krishan et al. Aug 2002 B1
6442690 Howard, Jr. et al. Aug 2002 B1
6460140 Schoch et al. Oct 2002 B1
6463534 Geiger et al. Oct 2002 B1
6496858 Frailong et al. Dec 2002 B1
6567793 Hicks et al. May 2003 B1
6571216 Garg et al. May 2003 B1
6585158 Norskog Jul 2003 B2
6587684 Hsu et al. Jul 2003 B1
6609201 Folmsbee Aug 2003 B1
6625729 Angelo Sep 2003 B1
6631478 Wang et al. Oct 2003 B1
6646244 Aas et al. Nov 2003 B2
6664948 Crane et al. Dec 2003 B2
6671803 Pasieka Dec 2003 B1
6678828 Pham et al. Jan 2004 B1
6690556 Smola et al. Feb 2004 B2
6694000 Ung et al. Feb 2004 B2
6704873 Underwood Mar 2004 B1
6708176 Strunk et al. Mar 2004 B2
6716652 Ortlieb Apr 2004 B1
6738810 Kramer et al. May 2004 B1
6763458 Watanabe Jul 2004 B1
6791157 Casto et al. Sep 2004 B1
6816809 Circenis Nov 2004 B2
6816900 Vogel et al. Nov 2004 B1
6834352 Shin Dec 2004 B2
6839841 Medvinsky et al. Jan 2005 B1
6844871 Hinckley et al. Jan 2005 B1
6847942 Land et al. Jan 2005 B1
6851051 Bolle et al. Feb 2005 B1
6868433 Philyaw Mar 2005 B1
6871283 Zurko et al. Mar 2005 B1
6920567 Doherty et al. Jul 2005 B1
6934942 Chilimbi Aug 2005 B1
6954728 Kusumoto et al. Oct 2005 B1
6957186 Guheen et al. Oct 2005 B1
6976162 Ellison et al. Dec 2005 B1
6983050 Yacobi et al. Jan 2006 B1
6986042 Griffin Jan 2006 B2
6990174 Eskelinen Jan 2006 B2
6993648 Goodman et al. Jan 2006 B2
7000100 Lacombe et al. Feb 2006 B2
7000829 Harris et al. Feb 2006 B1
7013384 Challener et al. Mar 2006 B2
7028149 Grawrock et al. Apr 2006 B2
7052530 Edlund et al. May 2006 B2
7054468 Yang May 2006 B2
7069442 Sutton, II Jun 2006 B2
7069595 Cognigni et al. Jun 2006 B2
7076652 Ginter et al. Jul 2006 B2
7096469 Kubala et al. Aug 2006 B1
7097357 Johnson et al. Aug 2006 B2
7103574 Peinado et al. Sep 2006 B1
7113912 Stefik Sep 2006 B2
7117183 Blair et al. Oct 2006 B2
7121460 Parsons et al. Oct 2006 B1
7127579 Zimmer et al. Oct 2006 B2
7130951 Christie et al. Oct 2006 B1
7143297 Buchheit et al. Nov 2006 B2
7162645 Iguchi et al. Jan 2007 B2
7171539 Mansell et al. Jan 2007 B2
7174457 England et al. Feb 2007 B1
7207039 Komarla et al. Apr 2007 B2
7234144 Wilt et al. Jun 2007 B2
7236455 Proudler et al. Jun 2007 B1
7669056 Frank Jun 2007 B2
7266569 Cutter et al. Sep 2007 B2
7299358 Chateau et al. Nov 2007 B2
7353402 Bourne et al. Apr 2008 B2
7356709 Gunyakti et al. Apr 2008 B2
7359807 Frank et al. Apr 2008 B2
7360253 Frank et al. Apr 2008 B2
7392429 Westeronen et al. Jun 2008 B2
7395245 Okamoto et al. Jul 2008 B2
7395452 Nicholson et al. Jul 2008 B2
7406446 Frank et al. Jul 2008 B2
7421413 Frank et al. Sep 2008 B2
7441121 Cutter, Jr. et al. Oct 2008 B2
7441246 Auerbach et al. Oct 2008 B2
7461249 Pearson et al. Dec 2008 B1
7464103 Siu Dec 2008 B2
7490356 Lieblich et al. Feb 2009 B2
7493487 Phillips et al. Feb 2009 B2
7494277 Setala Feb 2009 B2
7519816 Phillips et al. Apr 2009 B2
7539863 Phillips et al. May 2009 B2
7549060 Bourne et al. Jun 2009 B2
7562220 Frank et al. Jul 2009 B2
7565325 Lenard Jul 2009 B2
7568096 Evans Jul 2009 B2
7596784 Abrams Sep 2009 B2
7610631 Frank et al. Oct 2009 B2
7644239 Westerinen et al. Jan 2010 B2
7694153 Ahdout Apr 2010 B2
7770205 Frank Aug 2010 B2
7814532 Cromer et al. Oct 2010 B2
7877607 Circenis Jan 2011 B2
7669056 Frank et al. Feb 2011 C1
7891007 Waxman et al. Feb 2011 B2
7958029 Bobich et al. Jun 2011 B1
7979721 Westerinen et al. Jul 2011 B2
20010034711 Tashenberg Oct 2001 A1
20010056413 Suzuki et al. Dec 2001 A1
20010056539 Pavlin et al. Dec 2001 A1
20020002597 Morrell, Jr. Jan 2002 A1
20020007310 Long Jan 2002 A1
20020023212 Proudler Feb 2002 A1
20020046098 Maggio Apr 2002 A1
20020055906 Katz et al. May 2002 A1
20020091569 Kitaura et al. Jul 2002 A1
20020107701 Batty et al. Aug 2002 A1
20020111916 Coronna et al. Aug 2002 A1
20020112171 Ginter et al. Aug 2002 A1
20020123964 Kramer et al. Sep 2002 A1
20020124212 Nitschke et al. Sep 2002 A1
20020129359 Lichner Sep 2002 A1
20020138549 Urien Sep 2002 A1
20020141451 Gates et al. Oct 2002 A1
20020144131 Spacey Oct 2002 A1
20020147601 Fagan Oct 2002 A1
20020147782 Dimitrova et al. Oct 2002 A1
20020147912 Shmueli et al. Oct 2002 A1
20020178071 Walker et al. Nov 2002 A1
20020184482 Lacombe et al. Dec 2002 A1
20020184508 Bialick et al. Dec 2002 A1
20020193101 McAlinden Dec 2002 A1
20020194132 Pearson et al. Dec 2002 A1
20030005135 Inoue et al. Jan 2003 A1
20030014323 Scheer Jan 2003 A1
20030027549 Kiel et al. Feb 2003 A1
20030028454 Ooho et al. Feb 2003 A1
20030035409 Wang et al. Feb 2003 A1
20030037246 Goodman et al. Feb 2003 A1
20030040960 Eckmann Feb 2003 A1
20030046026 Levy et al. Mar 2003 A1
20030048473 Rosen Mar 2003 A1
20030056107 Cammack et al. Mar 2003 A1
20030084278 Cromer et al. May 2003 A1
20030084285 Cromer et al. May 2003 A1
20030084337 Simionescu et al. May 2003 A1
20030084352 Schwartz et al. May 2003 A1
20030088500 Shinohara et al. May 2003 A1
20030093694 Medvinsky et al. May 2003 A1
20030097596 Muratov et al. May 2003 A1
20030110388 Pavlin et al. Jun 2003 A1
20030115458 Song Jun 2003 A1
20030126519 Odorcic Jul 2003 A1
20030131252 Barton et al. Jul 2003 A1
20030135380 Lehr et al. Jul 2003 A1
20030149671 Yamamoto et al. Aug 2003 A1
20030156572 Hui et al. Aug 2003 A1
20030156719 Cronce Aug 2003 A1
20030163383 Engelhart Aug 2003 A1
20030163712 LaMothe et al. Aug 2003 A1
20030172376 Coffin, III et al. Sep 2003 A1
20030185395 Lee et al. Oct 2003 A1
20030188165 Sutton et al. Oct 2003 A1
20030196102 McCarroll Oct 2003 A1
20030196106 Erfani et al. Oct 2003 A1
20030208338 Challener et al. Nov 2003 A1
20030208573 Harrison et al. Nov 2003 A1
20030229702 Hensbergen et al. Dec 2003 A1
20040001088 Stancil et al. Jan 2004 A1
20040003190 Childs et al. Jan 2004 A1
20040003288 Wiseman et al. Jan 2004 A1
20040010440 Lenard et al. Jan 2004 A1
20040019456 Cirenis Jan 2004 A1
20040023636 Gurel et al. Feb 2004 A1
20040030912 Merkle, Jr. et al. Feb 2004 A1
20040034816 Richard Feb 2004 A1
20040039916 Aldis et al. Feb 2004 A1
20040039924 Baldwin et al. Feb 2004 A1
20040039960 Kassayan Feb 2004 A1
20040044629 Rhodes et al. Mar 2004 A1
20040054907 Chateau et al. Mar 2004 A1
20040054908 Circenis et al. Mar 2004 A1
20040054909 Serkowski et al. Mar 2004 A1
20040059937 Nakano Mar 2004 A1
20040064707 McCann et al. Apr 2004 A1
20040067746 Johnson Apr 2004 A1
20040073670 Chack et al. Apr 2004 A1
20040088548 Smetters et al. May 2004 A1
20040093371 Burrows et al. May 2004 A1
20040093508 Foerstner et al. May 2004 A1
20040107359 Kawano et al. Jun 2004 A1
20040107368 Colvin Jun 2004 A1
20040123127 Teicher et al. Jun 2004 A1
20040125755 Roberts Jul 2004 A1
20040128251 Adam et al. Jul 2004 A1
20040133794 Kocher et al. Jul 2004 A1
20040139027 Molaro Jul 2004 A1
20040193919 Dabbish et al. Sep 2004 A1
20040199769 Proudler Oct 2004 A1
20040220858 Maggio Nov 2004 A1
20040225894 Colvin Nov 2004 A1
20040255000 Simionescu et al. Dec 2004 A1
20040268120 Mirtal et al. Dec 2004 A1
20050015343 Nagai et al. Jan 2005 A1
20050021944 Craft et al. Jan 2005 A1
20050028000 Bulusu et al. Feb 2005 A1
20050033747 Wittkotter Feb 2005 A1
20050039013 Bajikar et al. Feb 2005 A1
20050044197 Lai Feb 2005 A1
20050050355 Graunke Mar 2005 A1
20050060388 Tatsumi et al. Mar 2005 A1
20050065880 Amato et al. Mar 2005 A1
20050080701 Tunney et al. Apr 2005 A1
20050091104 Abraham Apr 2005 A1
20050097204 Horowitz et al. May 2005 A1
20050102181 Scroggie et al. May 2005 A1
20050108547 Sakai May 2005 A1
20050108564 Freeman et al. May 2005 A1
20050120251 Fukumori Jun 2005 A1
20050125673 Cheng et al. Jun 2005 A1
20050129296 Setala Jun 2005 A1
20050132150 Jewell et al. Jun 2005 A1
20050138370 Goud et al. Jun 2005 A1
20050138389 Catherman et al. Jun 2005 A1
20050138423 Ranganathan Jun 2005 A1
20050141717 Cromer et al. Jun 2005 A1
20050144099 Deb et al. Jun 2005 A1
20050166051 Buer Jul 2005 A1
20050182921 Duncan Aug 2005 A1
20050182940 Sutton Aug 2005 A1
20050188843 Edlund et al. Sep 2005 A1
20050203801 Morgenstern et al. Sep 2005 A1
20050213761 Walmsley et al. Sep 2005 A1
20050216577 Durham et al. Sep 2005 A1
20050221766 Brizek et al. Oct 2005 A1
20050235141 Ibrahim et al. Oct 2005 A1
20050240533 Cutter et al. Oct 2005 A1
20050246521 Bade et al. Nov 2005 A1
20050246525 Bade et al. Nov 2005 A1
20050246552 Bade et al. Nov 2005 A1
20050257073 Bade et al. Nov 2005 A1
20050275866 Corlett Dec 2005 A1
20050278519 Luebke et al. Dec 2005 A1
20050279827 Mascavage et al. Dec 2005 A1
20050286476 Crosswy et al. Dec 2005 A1
20050289177 Hohmann et al. Dec 2005 A1
20050289343 Tahan Dec 2005 A1
20060010326 Bade et al. Jan 2006 A1
20060015717 Liu et al. Jan 2006 A1
20060015718 Liu et al. Jan 2006 A1
20060015732 Liu Jan 2006 A1
20060020784 Jonker et al. Jan 2006 A1
20060026418 Bade Feb 2006 A1
20060026419 Arndt et al. Feb 2006 A1
20060026422 Bade et al. Feb 2006 A1
20060055506 Nicolas Mar 2006 A1
20060072748 Buer Apr 2006 A1
20060072762 Buer Apr 2006 A1
20060074600 Sastry et al. Apr 2006 A1
20060075014 Tharappel et al. Apr 2006 A1
20060075223 Bade et al. Apr 2006 A1
20060085634 Jain Apr 2006 A1
20060085637 Pinkas Apr 2006 A1
20060085844 Buer et al. Apr 2006 A1
20060089917 Strom et al. Apr 2006 A1
20060090084 Buer Apr 2006 A1
20060100010 Gatto et al. May 2006 A1
20060106845 Frank et al. May 2006 A1
20060106920 Steeb et al. May 2006 A1
20060107306 Thirumalai et al. May 2006 A1
20060107328 Frank et al. May 2006 A1
20060107335 Frank et al. May 2006 A1
20060112267 Zimmer et al. May 2006 A1
20060117177 Buer Jun 2006 A1
20060129824 Hoff et al. Jun 2006 A1
20060130130 Kablotsky Jun 2006 A1
20060143431 Rothman Jun 2006 A1
20060165005 Frank et al. Jul 2006 A1
20060168664 Frank et al. Jul 2006 A1
20060206618 Zimmer et al. Sep 2006 A1
20060213997 Frank et al. Sep 2006 A1
20060282319 Maggio Dec 2006 A1
20060282899 Raciborski Dec 2006 A1
20070033102 Frank et al. Feb 2007 A1
20070280422 Setala Dec 2007 A1
20090070454 McKinnon, III et al. Mar 2009 A1
20120137127 Jain May 2012 A1
Foreign Referenced Citations (69)
Number Date Country
1531673 Sep 2004 CN
0635790 Jan 1995 EP
0843449 May 1998 EP
1061465 Dec 2000 EP
1085396 Mar 2001 EP
1387237 Feb 2004 EP
1429224 Jun 2004 EP
1223722 Aug 2004 EP
1460514 Sep 2004 EP
1233337 Aug 2005 EP
2359969 Sep 2001 GB
2378780 Feb 2003 GB
H0535461 Feb 1993 JP
H0635718 Feb 1994 JP
H07036559 Feb 1995 JP
H07141153 Jun 1995 JP
H086729 Jan 1996 JP
2001526550 May 1997 JP
H09185504 Jul 1997 JP
H9251494 Sep 1997 JP
2000293369 Oct 2000 JP
2001051742 Feb 2001 JP
2003510684 Mar 2001 JP
2001101033 Apr 2001 JP
2003510713 Apr 2001 JP
2001184472 Jul 2001 JP
2001312325 Nov 2001 JP
2001331229 Nov 2001 JP
2001338233 Dec 2001 JP
2002108478 Apr 2002 JP
2002108870 Apr 2002 JP
2002374327 Dec 2002 JP
2003507785 Feb 2003 JP
2003140761 May 2003 JP
2003140762 May 2003 JP
2003157335 May 2003 JP
2003208314 Jul 2003 JP
2003248522 Sep 2003 JP
2003296487 Oct 2003 JP
2002182562 Jan 2004 JP
2004062561 Feb 2004 JP
2004118327 Apr 2004 JP
2004164491 Jun 2004 JP
2004295846 Oct 2004 JP
2004304755 Oct 2004 JP
2007525774 Sep 2007 JP
H08-054952 Feb 2011 JP
20010000805 Jan 2001 KR
20020037453 May 2002 KR
20050008439 Jan 2005 KR
20050021782 Mar 2005 KR
WO-9721162 Jun 1997 WO
WO-9811478 Mar 1998 WO
WO-0054126 Sep 2000 WO
WO-0135293 May 2001 WO
WO-0145012 Jun 2001 WO
WO-0163512 Aug 2001 WO
WO-0177795 Oct 2001 WO
WO-0193461 Dec 2001 WO
WO-0208969 Jan 2002 WO
WO-02056155 Jul 2002 WO
WO-02103495 Dec 2002 WO
WO-03009115 Jan 2003 WO
WO-03030434 Apr 2003 WO
WO-03073688 Sep 2003 WO
WO-03107585 Dec 2003 WO
WO-03107588 Dec 2003 WO
WO-2004092886 Oct 2004 WO
WO-2007032974 Mar 2007 WO
Related Publications (1)
Number Date Country
20060282899 A1 Dec 2006 US