Mechanism by which devices on unforeseen platform variants...

Electrical computers and digital processing systems: multicomput – Computer-to-computer data routing – Least weight routing

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C709S241000

Reexamination Certificate

active

06618767

ABSTRACT:

BACKGROUND OF THE INVENTION
1. Field of the Invention
This invention relates to the field of operating systems and device drivers.
Portions of the disclosure of this patent document contain material that is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure as it appears in the Patent and Trademark Office file or records, but otherwise reserves all copyright rights whatsoever. Sun, Sun Microsystems, the Sun logo, Solaris, Java, JavaOS, JavaStation, Hotjava Views and all Java-based trademarks and logos are trademarks or registered trademarks of Sun Microsystems, Inc. in the United States and other countries.
2. Background Art
Computers are controlled by software known as an “operating system”. The operating system of a computer determines how the computer performs different functions that control the operation of the computer and controls how other programs run on the computer. There is a part of the operating system known as the “kernel” that can be thought of as the core of the operating system. The kernel contains basic functions controlling computer operation. A problem in the prior art is having an operating system that can operate with new types of computer equipment without needing to change the kernel software. This problem can be understood by the following review of computer systems, operating systems, and kernels.
Computer Operating System
A computer system consists of a central processing unit (CPU), memory (such as main memory, cache memory, etc.), and peripheral devices, also known as input/output devices (I/O). The processor can be thought of as the “brain” of the computer system. The processor is controlled by programs that consist of a series of instructions that cause the processor to perform certain functions. There is one program that controls all other programs that run on the processor. This program is known as the operating system of the computer.
The operating system can cause the processor to do certain functions or provide certain services. Other programs, referred to as “applications”, use the operating system by making requests for services. Some of the services provided by the operating system include: determining which application should run at what time; managing the sharing of memory resources among applications; handling the I/O from attached hardware devices (e.g. disk drives, printers, modems, keyboards, scanners, etc.); sending error messages to the applications or computer user when appropriate; and overall management of the computer system. The core of the operating system is the system software kernel.
System Software Kernel
The kernel is the core of the computer operating system and provides basic services for all other parts of the operating system. A kernel generally includes a routine known as an “interrupt handler”, a scheduler, and a supervisor. The interrupt handler handles requests for services or completed I/O operations that compete for the kernel's services. The scheduler determines which programs share the kernel's processing time. The supervisor gives use of the computer to each process when it is scheduled.
Problems in Prior Art Computer Systems
To describe some of the problems that are addressed by the present invention first requires the explanation of several concepts associated with computer systems. One is the notion of platforms and platform dependence and independence. Another is the notion of expansion buses and device drivers.
Platforms
A platform is the combination of the computer hardware (processor) and operating system that comprises a particular computer system. For example, a computer system with a processor manufactured by Intel and running the operating system known as Windows is considered to be a platform. An Intel computer running the DOS operating system is considered to be another platform. Other platforms include Sparc processor based computers from Sun Microsystems, Motorola processor based computers, and computers using the Unix operating system.
Platform Dependence and Independence
In the past, software was written specifically for a particular platform and would not run on other platforms. Such software is platform dependent. If a company wanted to sell a word processor application to users with different platforms, it was necessary to write a separate version of the word processing application for each platform on which it was intended to be used.
With the advent of object oriented programming and programming languages such as the Java programming language, it became possible to create applications that could be used on many platforms. Such an application, after being written once, could be used on any of a number of platforms. Such applications were said to be platform independent.
Expansion Buses
The present application relates in one embodiment to a part of a computer system known as an expansion bus. An expansion bus allows the processor of a computer system (via software running on the processor), main memory, and other hardware associated with a platform to control hardware devices external to the platform. These devices can include keyboards, printers, scanners, network interface and graphics cards, modems, and monitors. An expansion bus consists of conductors for data and control signals, along with hardware support logic chips and possibly firmware. There are a variety of expansion buses such as ISA (Industry Standard Architecture), PCI (Peripheral Component Interconnect), S-Bus, VME bus, etc. Each expansion bus defines a certain protocol by which devices that are on the bus are accessed.
A device driver is software used to control a peripheral device that is coupled with the computer system on the bus. In the past, device drivers were platform dependent. However, a scheme for implementing platform independent device drivers has been described in the following patents.
Ser. No. 09/107,047 entitled “Platform Independent Device Drivers” filed on Jun. 29, 1998 and assigned to the assignee of the present patent application; now U.S. Pat. No. 6,202,147.
Ser. No. 09/106,912 entitled “Security For Platform Independent Device Drivers” filed on Jun. 29, 1998 and assigned to the assignee of the present patent application; now U.S. Pat. No. 6,434,694.
Ser. No. 09/106,910 entitled “Endianness Checking For Platform Independent Device Drivers” filed on Jun. 29, 1998 and assigned to the assignee of the present patent application; now U.S. Pat. No. 6,202,147.
These patent applications are incorporated herein by reference. As described in the patent applications, there is a technique for communicating between device drivers and core platform system software. This scheme is implemented in an operating system referred to as the JavaOS. The cited patent applications describe a scheme that allows device drivers to be platform independent. A given JavaOS device driver is independent of the platform, and is only dependent on the bus. For example, a JavaOS device driver for a device on the PCI bus will run unchanged whether the PCI device it supports is connected to a Sparc processor-based platform or an x86 based platform. The same device driver runs unchanged on both platforms.
The scheme above is made possible through the use of software entities referred to as “bus managers”. A bus manager is system kernel software that provides the interfaces that a device driver has for obtaining system resources (e.g. objects for accessing memory, including registers) and for otherwise doing any operation on the system. A bus manager does not control the bus. A bus manager is platform dependent with one bus manager for each platform supported for a particular bus. Because the bus managers are platform dependent, the JavaOS is not platform independent, but is platform dependent. However, many aspects of the JavaOS can be released by third parties. Those portions of the JavaOS that can be released by third parties, such as device drivers for example, are platform independent.
In the scheme described in the ab

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Mechanism by which devices on unforeseen platform variants... does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Mechanism by which devices on unforeseen platform variants..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Mechanism by which devices on unforeseen platform variants... will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-3083971

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.