[go: up one dir, main page]

MXPA98002366A - System and method for administering detailed logical information of controller for device in a system for information management - Google Patents

System and method for administering detailed logical information of controller for device in a system for information management

Info

Publication number
MXPA98002366A
MXPA98002366A MXPA/A/1998/002366A MX9802366A MXPA98002366A MX PA98002366 A MXPA98002366 A MX PA98002366A MX 9802366 A MX9802366 A MX 9802366A MX PA98002366 A MXPA98002366 A MX PA98002366A
Authority
MX
Mexico
Prior art keywords
information
status information
device driver
logical device
device status
Prior art date
Application number
MXPA/A/1998/002366A
Other languages
Spanish (es)
Other versions
MX9802366A (en
Inventor
Richard Cooper Michael
Douglas Dobbs Bryan
Ravisankar Ravi
Wayne Vanderwiele Mark
Original Assignee
International Business Machines Corporation
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US08/845,229 external-priority patent/US6418485B1/en
Application filed by International Business Machines Corporation filed Critical International Business Machines Corporation
Publication of MX9802366A publication Critical patent/MX9802366A/en
Publication of MXPA98002366A publication Critical patent/MXPA98002366A/en

Links

Abstract

The present invention is directed to a system and method for managing logical device status information within an information management system. The logical device status information is stored only once by the information management system. Device drivers do not require maintaining and storing redundant copies of logical device status information. A device driver indicates whether or not it requires the transfer of the logical device status information. Before requiring a device driver to handle a device function, the information management system checks to determine whether or not the device driver has indicated that it requires the logical device status information to be passed to it. If so, the information management system passes the appropriate logical device status information to the device driver. For device functions that are not hooked by the device driver, the information management system maintains device status. The efficiency of the system is increased, as each device driver can register for the subset of functions that it can handle more efficiently without engaging operating system functions or handling all the state-specific functions that are associated with a particular device function. In addition, device driver development can proceed in incremental fashion, and developers of device drivers do not have to learn the details of any operating system in which a device can be installed.

Description

SYSTEM AND METHOD FOR ADMINISTERING STATE INFORMATION CONTROLLER LOGIC FOR ON SYSTEM DEVICE FOR INFORMATION HANDLING Background of the Invention Field of the Invention The present invention relates to the field of information management systems and more particularly to a system and method for managing logical device status information for device drivers in a system for handling of information. Description of the Related Art A system for handling information typically includes various input and / or output devices, such as a keyboard, video display, printer, modem and mouse. These devices are usually managed by one or more device drivers. A device driver is a program that manages the flow of data to and from a device. In many operating systems, device drivers are the only programs that can handle device interrupts. A device driver that manages the data flow between an information management system and a printer or video display is referred to as a display device driver.
In a system for handling information of multiple users with multiple windows, there are usually several processes that run on the system at any given time. Each of these processes can have its own characteristics. This means that the specific information of the operating system needs to be maintained for each process. When the process that is executed is related to a device, the information specific to the operating system that is maintained is referred to as a logical device status information. For example, the logical device status information for a printer may include typeface, color, blending modes, transforms, and font size. It should be noted that the physical device status status information, such as current physical color or current physical position, is information that is typically maintained by the device's own controller. When a manufacturer of a device develops a new device, the manufacturer of the device also develops a device driver for each operating system under which the new device will operate. For example, if a printer manufacturer develops a new printer, the manufacturer will also develop corresponding device drivers to allow the printer to connect to systems operating under different operating systems. Device drivers are usually stored on floppy disks or CD-ROMs that are shipped with adapter cards that are sold along with the devices. Most operating systems include a "install device driver" option, which can be used to install a device driver. In the case of display devices, such as printers and displays, the printer adapter cards typically include memory that can be employed by the device driver, as well as circuits such as device processors that can be used to control the devices. One approach of the prior art to handle the development of device drivers and to manage the state information of the logical device is through the use of application programming interfaces (APIs = Application programing interfaces). An operating system defines APIs, through which application programs run in the information management system communicate with or use the devices connected to the system. The operating system also defines device driver interfaces (DDIs = device driver interfaces) that are used by the operating system to communicate with the devices. When an application program invokes an API, the operating system typically performs some processing, and then executes one or more DDIs. There are several disadvantages to this prior art approach. Each time a new device is developed, a device driver must also be developed for each supported operating system. For each supported operating system, a device driver must increase functions to support each DDI, defined by the operating system. In the case of a typical display device driver, there are many DDIs that must be implemented by the device driver. Because a separate device driver is developed for each supported operating system, those who develop device drivers must know about each operating system, a process often time consuming. Another problem with this approach of the prior art is that the logical device status information is typically maintained and stored by both the operating system and the device driver. The operating system stores the logical device status information before calling or requesting a DDI. The operating system then passes the control to the device driver, which also stores the information. If the device driver changes any logical device status information, the device driver makes the change in its copy of the logical device status information and must also notify the operating system, through another DDI, that the state of the logical device was changed. This results in redundant storage and maintenance of logical device status information. In addition, because the device driver maintains and stores logical device status information, which the device driver develops must be aware of the fundamentals of the operating system, such as re-entry and serialization. In addition, there are many times when the operating system, rather than the device driver is better suited to handle particular functions, such as complex trimming functions. Consequently, it would be convenient to have a system and method to handle information of the state of a logical device in an information management system, which eliminates the redundancy found in the systems for handling information of the prior art. It would also be convenient to cut the development time for new device drivers, while taking advantage of the device processors that can be used by the device drivers to efficiently manage the devices. SUMMARY OF THE INVENTION Accordingly, the present invention is directed to a system and method for managing logical device status information in a system for handling information. The logical device status information is stored only once by the information management system. Device drivers do not want to maintain and store redundant copies of logical device status information. A device driver indicates whether or not it requires the transfer of the logical device status information. Before requesting a device driver to operate a device function, the information management system checks to determine whether or not the device driver has indicated that it requires the logical device status information to be passed to it. If so, the information management system passes the appropriate logical device status information to the device driver. For device functions that are not hooked by the device driver, the information management system maintains device status.
The operating system creates at least one table of functions for each device detected in the system for handling information and registers programs for operating system predefined in the table of functions to manage the functions of devices. During initialization, the control is passed to a device driver at which time the device driver can register any subset of device functions in the appropriate function table. A device driver can register for device function, without registering the associated state change functions. The record by the device driver exceeds the predefined record in the function table. One of the embodiments of the invention is as sets of instructions resident in a system for handling information. An advantage of the present invention is that redundant copies of the logical device status information are not maintained and stored by the information management system. Another advantage of the present invention is "that the efficiency of the system is increased, since each device driver can register by the subset of functions it can handle more efficiently, without snagging operating system functions or handling all associated state-specific functions. with a particular device function. A further advantage of the present invention is that the development of device drivers can proceed in an incremental manner, and those who develop the device drivers do not have to learn details of any operating system in which a device can be installed. BRIEF DESCRIPTION OF THE DRAWINGS The foregoing and other features and advantages of the present invention will be more apparent from the following detailed description of the best mode for carrying out the invention as set forth below. In the description "if", reference will be made to the accompanying drawings, in which like reference numerals are used to identify similar parts in the various views and where: Figure 1 is a block diagram of a system for handling information capable of executing the system for managing the state of the logical device of the present invention; Figure 2 is a block diagram illustrating the system for state management of the logic device of the present invention, - Figure 3 is a flow diagram illustrating the initialization of a system for handling information according to the present invention.; and Figure 4 is a flow diagram illustrating the method for performing a device function in accordance with the present invention. Detailed Description of a Preferred Modality of the Invention The invention can be implemented in a variety of physical equipment platforms, including personal computers, workstations, minicomputers and macrocomputers. Many of the steps of the method of the present invention can be advantageously implemented in parallel processors of various types. Now with reference to Fig. 1, a typical configuration of an information management system that can be employed to practice the novel method of the present invention will be described. The computer system of the Ficjura 1 has at least one processor 10. The processor 10 is interconnected via a system conduit 12 to the random access memory (RAM) 16, read-only memory (ROM) 14 and input adapter / I / O output (1/0) 18 for connecting peripheral devices such as disk units 20, tape drives 40, and printers 42 to conduit 12, user interface adapter 22, for connecting keyboard 24, mouse 26 with buttons 17a and 17b, speaker 28, microphone 32 and / or other user interface devices, such as touch-sensitive display device 29 to conduit 12, communication adapter 34 for connecting the information management system to a data processing network and display adapter 36 for connecting conduit 12 to display device 38. Communication adapter 34 can link or connect the system illustrated in Figure 2 with hundreds or even thousands of similar or other systems. positive, such as remote printers, remote servers or remote storage units. One approach that has been developed to eliminate the problem of requiring device drivers to support many DDIs for each operating system, is to require that each device controller support only a minimum number of DDIs. For example, using this approach, a printer device driver only has to support two allowed rendering functions - draw a line and perform a bitmap transfer. The operating system implements all the necessary DDIs. This approach allows for faster device driver development. Device drivers must support significantly fewer DDIs by the operating system, and those who develop device drivers do not have to learn each operating system in depth. However, this approach has several disadvantages. Implementing functions through the operating system often results in slower, less efficient functions. This is because the operating system implements the functions in software (software) while the device driver can use available device processors in newer adapter cards or printers to perform the same functions much faster. A particular device driver can be designed to implement more than the minimum number of DDIs required. However, any DDIs other than the minimum required will result in redundant maintenance and storage of state logical device status information (similar to the problem discussed above in the background section of the present invention). The system and method of the present invention allow device drivers to handle any subset of device DDIs. A device driver can handle only the minimum required number of DDIs, each DDI, or any number between them. The logical device status information is maintained and stored by the operating system. Through the use of a registration process, each device driver indicates to the operating system whether or not the logical device status information is required to be passed. Now with reference to Figure 2, a block diagram showing various components of the system for managing the state of the logical device of the present invention will be described. The information management system illustrated in Figure 1 will have one or more images of an operating system 50 for controlling the operation of the processors 10. The application programs 52 will run on the system, and will often make calls to the operating system 50 , through the use of application interface 54, to request operating system 50 to perform certain tasks. For each system device, the operating system 50 contains a function table 60. For each device function (i.e. each DDI device), the function table indicates whether a DDI 61 operating system or a DDI 64 device driver will pass to control to manage the function. Operating system 50 also includes a buffer for logical state information 62 for each device. The logical state information buffer 62 stores the logical device status information for each device, and also stores registration information, considering whether and when the logical device status information is to be passed to a DDI device driver 64. In the described embodiment, the registration information is the logical device status flag 63 that can be set to 1 or 0. When adjusting the logical device status flag 63 to 1, a device driver indicates that the status information of The logical device will have to be passed every time a DDI device driver is controlled. It should be noted that the logical device status flag 63 is illustrated for illustrative purposes only. There can be more than one logical device status flag 63 for each device, such that a device driver can register separately for each DDI, or by sets of DDIs. Alternatively, a different type of registration means can be used together. Also, there is "to note that the present invention can be implemented as part of an I / O subsystem. (1/0) or another subsystem, rather than as part of an operating system. However, for illustrative purposes, the invention will be described as part of an operating system. Now with reference to Figure 3, a method for initializing the information management system according to the present invention will be described. It should be noted that Figure 3 does not contain every step that occurs during the initialization of the system, but rather illustrates the stages of interest for the present invention. During system initialization, the operating system will detect any devices connected to the information handling stage (step 80). When the operating system detects a device, it creates a predefined device table for the device, and registers operating system functions to handle all device functions (step 82). The operating system then passes control to the device driver associated with the device (step 84). At this point, the device driver typically initializes the device (ie checks the device releases a predefined state, etc.). The device driver indicates to the operating system that the device driver requires to have logical device status information transferred to it, each time it is controlled to handle a device function (step 86). This indication can be achieved through the use of a registration process. This indication may also be effected through the use of flag, which can adjust a device driver to indicate required status information transferred logical device. It should be noted that the device driver can register on a global basis (ie the device driver will be passed on logical device status information whenever it is required to handle any function) or the device driver can register on a database basis. according to function (ie the device driver will only be passed logical device status information for selected functions). The device driver then registers to handle a subset of the device functions (step 88). The device driver can choose to handle a few basic functions, and allow the operating system to continue handling most device functions. Alternatively, the device driver can choose to handle all possible device functions. Preferably, the device driver will register to handle the functions "that can handle the device driver more efficiently (for example, functions where the device driver can take advantage of the device processors). After the device driver registers for functions that will handle, the device driver passes control back to the operating system (step 90). Steps 80 to 90 are repeated for each device detected in the information management system.
Now with reference to Figure 4, a method for performing a device function according to the present invention will be described. Assuming that an application program wishes to perform a particular device function. The function may be a function type change simple state (eg change the font of a document) or may be a display operation of complex graphics. The application program executes an appropriate APi to request that the function be performed (step 100). Requesting the API causes the operating system to gain control (step 102). The operating system determines that DDI or DDIs need to be requested in order to achieve the desired function (step 104). Note that certain features will only require the use of a DDI, while other functions require two or more DDI needed. For each DDI that must be required, the operating system checks the function table of the device, to determine whether the device driver will handle the DDI function or whether the operating system will handle the DDI function (step 106). Note that the operating system can determine this by checking the address "that is present in the function table. If the address is inside the operating system memory space, the operating system handles the function. On the other hand, if the address is not within the memory space of the operating system, then the device driver is handling the function. If the operating system handles the function, the operating system proceeds to call an operating system program to perform the function (step 108). However, if the device driver handles the function, the operating system then checks the logical device status register (step 110). If the device driver has not registered to receive the logical device status information, that means that the device driver maintains and stores a copy of the logical device status information, and thus the information does not have to be derived to the device. device driver. The operating system requests the device driver (step 112) passing it any parameters normally passed, and the device driver then handles the DDI function (step 114). If the device driver has registered to receive the logical device status information (either on a global basis or for this particular DDI function), this means that the device driver does not maintain and store a copy of the status information of the device. logical device. Therefore, the operating system pasthe logical device status information to the DDI (step 116) and the device driver then proceeds to handle the function (step 118). The use of a registration process allows the system to be compatible with both device drivers implemented in accordance with the present invention and with prior art device controllers. A prior art device driver will not register to receive logical device status information, and will thus continue to be requested as requested in prior art systems (steps 112 and 114 would be taken). A device driver implemented in accordance with the present invention will log to receive the logical device status information, and in this way the logical device status information will be passed when required (steps 116 and 118 will be taken). The system and method of the present invention provide several advantages. Device drivers can be developed and tested incrementally. A device driver can register a particular functional DDI (for example, a primitive DDI of graphics) without having to register for the dozens of associated state change DDIs that can be associated with the functional DDI. For example, assuming that an application program is desired both to change a typeface and print a line of text. The most efficient way to handle this would be to allow the operating system to handle the state change (that is, change the typeface) and allow the device driver to handle the text output. In this way the device driver will not register to handle the font change DDI, instead, the predefined DDI of the operating system would handle it (ie step 108 will be taken in Figure 4). However, the device driver will be registered to handle the text output DDI function. The device driver will also be registered to receive the logical device status information. Therefore, steps 116 and 118 will be followed in Figure 4. Allowing device drivers to register for a subset of device functions also increathe speed of the system. Device drivers can register to handle functions that are performed more efficiently using physical equipment circuits, such as device processors, while the operating system can be left to handle functions "that are handled more efficiently through the operating system, such as complex trimming, attribute changes or transformations.
Although the invention has been described with a certain degree of particularity, it should be recognized that its elements can be altered by persons skilled in the art without departing from the spirit and scope of the invention. One of the embodiments of the invention can be implemented as sets of instructions resident in the random access memory 16 of one or more computer systems configured generally as described in Figure 1. Until required, by the computer system, the The set of instructions can be stored in another computer readable memory, for example in a hard disk drive, or in a removable memory, such as an optical disk for eventual use in a CD ROM drive or a floppy disk for eventual use in a flexible disk unit. further, the set of instructions can be stored in the memory of another computer and transmitted over a local area network or a wide area network, such as the Internet, when desired by the user. A person skilled in the art will appreciate that the physical storage of instruction sets physically changes the medium over which it is stored electrically, magnetically or chemically, in such a way that the medium carries computer readable information. The invention is limited by the following claims and their equivalents.

Claims (18)

  1. CLAIMS 1.- A system for handling information, characterized in that it comprises: one or more processors; one or more images of an operating system to control the operation of the processors; one or more devices; one or more device drivers, wherein each device controller controls the input and output to a corresponding device; at least one system conduit; means for storing logical device status information for each device; and recording means, wherein each device driver can be registered to receive the logical device status information for an associated device.
  2. 2. A system for handling information in accordance with claim 1, characterized in that it further comprises means for passing information of the logical device status of the system for handling information to a called device driver or required if the required device driver is required. has registered to receive the logical device status information.
  3. 3. A system for handling information according to claim 1, characterized in that the means for storing logical device status information comprise means for storing logical device status information in a memory medium accessible to the operating system.
  4. 4. A system for handling information according to claim 1, characterized in that the recording means comprise means for each device driver for setting a logic device status flag.
  5. 5. A system for handling information in accordance with claim 4, characterized in that it also comprises means for passing information of logical device status from the system for handling information to a device driver required if the device driver has adjusted a associated logical device status flag.
  6. 6. - A system for handling information according to claim 1, characterized in that the recording means further comprise means for each device driver, to register in receiving the logical device status information for a set of functions, wherein the set of functions comprises one or more device functions implemented by the device driver.
  7. 7. - Method for managing logical device status information in a system for handling information, characterized in that it comprises the steps of: storing logical device status information for one or more devices connected to the system for handling information; and for one or more of the devices, registering a device driver to receive the logical device status information for the associated device.
  8. 8. - A method according to claim 7, characterized in that it further comprises the step of passing the logical device status information from the information management system, to a required device driver, if the required device driver has been registered to receive the logical device status information.
  9. 9. - A method according to claim 7, characterized in that it further comprises the step of storing comprises the step of storing logical device status information in memory means accessible to an operating system.
  10. 10. A method according to claim 9, characterized in that it further comprises the step of registering comprises the step of adjusting a logic device status flag.
  11. 11. - A method according to claim 10, characterized in that it further comprises the step of passing logical device status information from the system for handling information to a required device driver, if the device driver has set a flag of associated logical device state.
  12. 12. - A method according to claim 7, characterized in that it further comprises the step of registering to receive logical device status information for a set of functions, wherein the set of functions comprises one or more device functions implemented by the device driver.
  13. 13. - Computer-readable medium for managing logical device status information in a system for handling information, characterized in that it comprises: means for storing logical device status information for one or more devices connected to the system for handling information; and recording means, wherein one or more device drivers can be registered to receive the logical device status information for an associated device.
  14. 14. Computer-readable medium according to claim 13, characterized in that it further comprises means for passing logical device status information from the information management system to a required device driver, if the required device driver has been registered to receive the logical device status information.
  15. 15. Computer-readable medium according to claim 13, characterized in that the means for storing logical device state information comprise means for storing logical device state information in a memory medium accessible to an operating system.
  16. 16. Computer-readable medium according to claim 13, characterized in that the recording means comprise means for each device driver, to adjust a logical device status flag.
  17. 17. Computer-readable medium according to claim 16, characterized in that it also comprises means for passing information of logical device status from the system for handling information to a required device driver, if the device driver has a flag adjusted of associated logical device status.
  18. 18. Computer-readable medium according to claim 13, characterized in that the recording means further comprise means for each device driver to register in receiving logical device status information for a set of functions, wherein the set of functions it comprises one or more device functions implemented by the device driver. SUMMARY OF THE INVENTION The present invention is directed to a system and method for managing logical device status information within an information management system. The logical device status information is stored only once by the information management system. Device drivers do not want to maintain and store redundant copies of logical device status information. A device driver indicates whether or not it requires the transfer of the logical device status information. Before requiring a device driver to handle a device function, the information management system checks to determine whether or not the device driver has indicated "that it requires that the logical device status information be passed to it. If so, the information management system passes the appropriate logical device status information to the device driver. For device functions that are not hooked by the device driver, the information management system maintains device status. The efficiency of the system is increased, as each device driver can register for the subset of functions that it can handle more efficiently, without snagging operating system functions or handling all the state-specific functions that are associated with a particular device function . In addition, device driver development can proceed in incremental fashion, and developers of device drivers do not have to learn the details of any operating system in which a device can be installed. RS / frp / 25 / I21-AT9S
MXPA/A/1998/002366A 1997-04-21 1998-03-26 System and method for administering detailed logical information of controller for device in a system for information management MXPA98002366A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/845,229 US6418485B1 (en) 1997-04-21 1997-04-21 System and method for managing device driver logical state information in an information handling system
US08845229 1997-04-21

Publications (2)

Publication Number Publication Date
MX9802366A MX9802366A (en) 1998-10-31
MXPA98002366A true MXPA98002366A (en) 1999-01-11

Family

ID=

Similar Documents

Publication Publication Date Title
US6418485B1 (en) System and method for managing device driver logical state information in an information handling system
US5924102A (en) System and method for managing critical files
US6871348B1 (en) Method and apparatus for integrating the user interfaces of multiple applications into one application
US7617247B2 (en) Apparatus and method for controlling user interface
US7102768B2 (en) Printer drivers using filters that are operating system-independent and printer-independent
US5881213A (en) Deferred printing
US6512526B1 (en) User specific execution of programs
US6681392B1 (en) Method and apparatus for remote peripheral software installation
US6243774B1 (en) Apparatus program product and method of managing computer resources supporting concurrent maintenance operations
JP3492069B2 (en) Information processing apparatus and control method thereof
US5961642A (en) Generic kernel modification for the dynamic configuration of operating systems in a multi-processor system
US20040216144A1 (en) Information processing apparatus and method
JPH08161250A (en) Information processing device
US5432935A (en) Emulation for executing a second language application program on a computer having a first language operating system
JPH06230908A (en) System for control of printing of electronic document by using various kinds of page description languages and other parameters
US5887169A (en) Method and apparatus for providing dynamic entry points into a software layer
US6538763B1 (en) Printer driver architectures and methods of providing adaptable printer driver architectures
US6421055B1 (en) Method and apparatus for system enhancement to device backup font support
JP4235441B2 (en) Document processing program, document processing method and apparatus
JP3448689B2 (en) IO control method and information processing apparatus
JPH09244985A (en) Computer system
KR100720922B1 (en) Computer storing print control program, and storing medium recording the program and capable of being read by computer
JP3222668B2 (en) Print control apparatus and method
US5572631A (en) Common font rasterizer available to multiple printer personalities
MXPA98002366A (en) System and method for administering detailed logical information of controller for device in a system for information management