US5337412A
Expired / Lapsed
US
⏱️ 0.0 years remaining
Method and apparatus for substituting real and virtual devices independent from an data processing system application program
Assignee: International Business Machines Corp
•
Filing: 1991-09-26
•
Granted: 1994-08-09
•
Expires: 2011-09-26
Abstract
Abstract A method of, and apparatus for, running several applications concurrently on a processing system. Virtual terminals are created for running the applications. However, the virtual terminals perform as though the processing system were a single terminal system. In this way, any application written for a single terminal system can run in this multiple virtual terminal environment. For interaction with one of the several applications running on this system, the real physical resources of the system are reallocated to the virtual terminal running the selected application.
Inventors
- 👤 David C. Baker
- 👤 Kathryn A. Bohrer
- 👤 Greogory A. Flurry
- 👤 Peter Lucas
- 👤 James R. Rhyne
Bibliographic Details
Application Number
—
Jurisdiction
US
Data Source
google_patents
Last Synchronized
2026-10-25 21:05
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/46; G06F9/48; G06F9/4806; G06F9/4843; G06F9/44; G06F9/451; G06F9/455; G06F9/45533; G06F9/45558; G06F9/50; G06F9/5061; G06F9/5077; G06F2009/45579
Claims Analysis
Total Claims: 8
Claim 1
Independent Claim
249 words
A method of running concurrently a plurality of application programs on a processing system having an operating system, said method comprising: creating, in the operating system, a plurality of virtual terminals having a plurality of virtual output resources for running said application programs, including: initializing, by a resource controller of the processing system, a sublayer of the operating system for creating a plurality of virtual terminals and for managing a plurality of input and output devices; receiving, by the resource controller from the operating system, a request to open at least one of said virtual terminals; activating, by a screen manager, one of said opened virtual terminals at a time; and routing, by an input device driver in the operating system based on instructions from the screen manager, a plurality of input events from a real physical input device of the processing system to the active virtual terminal; substituting at least one of said plurality of virtual resources for at least one real physical output device allowing at least one of the application programs to continue execution with said virtual output resource wherein said application program is unaware that said application program is running in an environment of said virtual terminals; receiving output data from said at least one application program in an associated physical storage device; and resubstituting said at least one real physical output device for said at least one virtual resources, and providing said output data directly to said at least one real physical output device.
Claim 2
Independent Claim
249 words
A method of running concurrently a plurality of application programs on a processing system having an operating system, said method comprising: creating, in the operating system, a plurality of virtual terminals having a plurality of virtual output resources for running said application programs, including: initializing, by a resource controller of the processing system, a sublayer of the operating system for creating a plurality of virtual terminals and for managing a plurality of input and output devices; receiving, by the resource controller from the operating system, a request to open at least one of said virtual terminals; activating, by a screen manager, one of said opened virtual terminals at a time; and routing, by an input device driver in the operating system based on instructions from the screen manager, a plurality of input events from a real physical input device of the processing system to the active virtual terminal; substituting at least one of said plurality of virtual resources for at least one real physical output device allowing at least one of the application programs to continue execution with said virtual output resource wherein said application program is unaware that said application program is running in an environment of said virtual terminals; receiving output data from said at least one application program in an associated physical storage device; and resubstituting said at least one real physical output device for said at least one virtual resources, and providing said output data directly to said at least one real physical output device.
Claim 3
Dependent Claim
101 words
A method in accordance with claim 1, wherein said step of creating comprises the steps of: implementing, by a screen manager in conjunction with at least one input device driver of an operating system of the processing system, time sharing requirements to virtualize an input device; implementing by the screen manager in conjunction with at least one output device driver of the operating system, time sharing requirements to virtualize an output display device; and allocating, by the screen manager, each one of a plurality of real physical devices of the processing system to each virtualized device of an active virtual terminal.
Claim 4
Dependent Claim
66 words
The method of claim 2 further comprising the steps of deallocating, by the screen manager, said each one of said real physical devices of the processing system from said each virtualized device of a previous said active virtual terminal, and reallocating said each one of said real physical devices of the processing system to each of a different virtualized device of a newly active virtual terminal.
Claim 5
Dependent Claim
112 words
A method according to claim 3 wherein said step of substituting comprises the steps of: placing each of said opened virtual terminals in a ring structure, said ring structure logically interconnecting said opened virtual terminals; transmitting a key sequence from a user to a screen manager to select one of said virtual terminals in said ring structure to be activated; sending, by a screen manager, new routing information to an input device driver when the screen manager is notified that a new virtual terminal is to be activated; and changing, by the input device driver, the routing of any one of a plurality of input events to the new activated virtual terminal.
Claim 6
Independent Claim
385 words
A method of running concurrently a plurality of application programs on a processing system having an operating system, said method comprising: creating, in the operating system a plurality of virtual terminals having a plurality of virtual output resources for running said application programs, including: initializing, by a resource controller of the processing system, a sublayer of the operating system for creating a plurality of virtual terminals and for managing a plurality of input and output devices; receiving, by the resource controller from the operating system, a request to open at least one of said virtual terminals; activating, by a screen manager, one of said opened virtual terminals at a time; and routing, by an input device driver in the operating system based on instructions from the screen manager, a plurality of input events from a real physical input device of the processing system to the active virtual terminal implementing, by said screen manager in conjunction with at least one input device driver of the operating system, time sharing requirements to virtualize an input device; implementing, by the screen manager in conjunction with at least one output device driver of the operating system, time sharing requirements to virtualize an output display device; and allocating, by the screen manager, each one of a plurality of real physical devices of the processing system to each virtualized device of an active virtual terminal; substituting at least one of said plurality of virtual resources for at least one real physical output device allowing at least one of the application programs to continue execution with said virtual output resource wherein said application program is unaware that said application program is running in an environment of said virtual terminals; receiving output data from said at least one application program in an associated physical storage device; resubstituting said at least one real physical output device for said at least one virtual resources, and providing said output data directly to said at least one real physical output device; deallocating, by the screen manager, said each one of said real physical devices of the processing system from said each virtualized device of a previous said active virtual terminal; and reallocating said each one of said real physical devices of the processing system to each of a different virtualized device of a newly active virtual terminal.
Claim 7
Independent Claim
385 words
A method of running concurrently a plurality of application programs on a processing system having an operating system, said method comprising: creating, in the operating system a plurality of virtual terminals having a plurality of virtual output resources for running said application programs, including: initializing, by a resource controller of the processing system, a sublayer of the operating system for creating a plurality of virtual terminals and for managing a plurality of input and output devices; receiving, by the resource controller from the operating system, a request to open at least one of said virtual terminals; activating, by a screen manager, one of said opened virtual terminals at a time; and routing, by an input device driver in the operating system based on instructions from the screen manager, a plurality of input events from a real physical input device of the processing system to the active virtual terminal implementing, by said screen manager in conjunction with at least one input device driver of the operating system, time sharing requirements to virtualize an input device; implementing, by the screen manager in conjunction with at least one output device driver of the operating system, time sharing requirements to virtualize an output display device; and allocating, by the screen manager, each one of a plurality of real physical devices of the processing system to each virtualized device of an active virtual terminal; substituting at least one of said plurality of virtual resources for at least one real physical output device allowing at least one of the application programs to continue execution with said virtual output resource wherein said application program is unaware that said application program is running in an environment of said virtual terminals; receiving output data from said at least one application program in an associated physical storage device; resubstituting said at least one real physical output device for said at least one virtual resources, and providing said output data directly to said at least one real physical output device; deallocating, by the screen manager, said each one of said real physical devices of the processing system from said each virtualized device of a previous said active virtual terminal; and reallocating said each one of said real physical devices of the processing system to each of a different virtualized device of a newly active virtual terminal.
Claim 8
Dependent Claim
112 words
A method according to claim 5 wherein said step of substituting comprises the steps of: placing each of said opened virtual terminals in a ring structure, said ring structure logically interconnecting said opened virtual terminals; transmitting a key sequence from a user to a screen manager to select one of said virtual terminals in said ring structure to be activated; sending, by a screen manager, new routing information to an input device driver when the screen manager is notified that a new virtual terminal is to be activated; and changing, by the input device driver, the routing of any one of a plurality of input events to the new activated virtual terminal.
References Cited (Backward Citations)
US4553202A
Cited
US4555775A
Cited
US4555775B1
Cited
US4586037A
Cited
US4811205A
Cited
US4761642A
Cited
USPTO Annuity & Maintenance Windows
| Annuity Stage | Window Opens | Payment Deadline | Surcharge Period Until | Estimated Fee | Status |
|---|---|---|---|---|---|
| 3.5 Years (Year 4) | 1997-08-08 | 1998-02-07 | 1998-08-09 | $2000.00 | Window Closed / Lapsed |
| 7.5 Years (Year 8) | 2001-08-08 | 2002-02-07 | 2002-08-09 | $3760.00 | Window Closed / Lapsed |
| 11.5 Years (Year 12) | 2005-08-08 | 2006-02-07 | 2006-08-09 | $7700.00 | Window Closed / Lapsed |