← Back to Patent Explorer
US6535929B1 Expired / Lapsed US ⏱️ 0.0 years remaining

Universal communication mechanism for applications running in a multitasking environment

Assignee: Oracle America Inc
•
Filing: 1996-07-02
•
Granted: 2003-03-18
•
Expires: 2016-07-02
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract Communication between application programs is facilitated by a virtual device driver to which the application programs make function calls. The device driver registers each application in response to a request for application-to-application communication. During registration, the device driver determines the addressing mode of the application being registered. An address mapping operation is performed and the results of the mapping operation along with other information about the application are stored in a data store administered by the kernel of the device driver. The device driver allows two applications of dissimilar addressing mode to communicate with one another without a priori knowledge of the communicating partner's addressing mode. The virtual device driver handles communication transparently for the communicating applications, allowing the applications to send and receive data.

Inventors

  • 👤 Joseph E. Provino
  • 👤 James D. Davis
  • 👤 Marc S. Dye

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-09 01:01
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/46; G06F9/54; G06F9/544

Claims Analysis

Total Claims: 48
Claim 1
Independent Claim 218 words
A communication mechanism for passing information within an operating system environment between computer-implemented applications running in said environment that employ different memory addressing modes, comprising: a device driver coupled to said operating system environment and having application program interface to communicate with said applications through a set of predefined function calls; said device driver having a message handler responsive to said function calls and a message buffer to establish buffered communication between at least two of said applications, one application being a sending application and one application being a receiving application, the sending application issuing predetermined information intended for the receiving application; a mapping mechanism coupled to said message handler configured to determine the addressing mode of said sending application and to translate the addressing mode of said sending application into a predetermined addressing mode; a message transfer mechanism coupled to said message handler that uses said mapping mechanism to copy said predetermined information into said message buffer and then to signal said receiving application to access said message buffer to copy said predetermined information, whereby a copy of said predetermined information is passed between sending application and receiving application without requiring the receiving application to know the addressing mode of the sending application whereby the sending application is adapted to operate a synchronously of the receiving application.
Claim 2
Dependent Claim 218 words
A communication mechanism for passing information within an operating system environment between computer-implemented applications running in said environment that employ different memory addressing modes, comprising: a device driver coupled to said operating system environment and having application program interface to communicate with said applications through a set of predefined function calls; said device driver having a message handler responsive to said function calls and a message buffer to establish buffered communication between at least two of said applications, one application being a sending application and one application being a receiving application, the sending application issuing predetermined information intended for the receiving application; a mapping mechanism coupled to said message handler configured to determine the addressing mode of said sending application and to translate the addressing mode of said sending application into a predetermined addressing mode; a message transfer mechanism coupled to said message handler that uses said mapping mechanism to copy said predetermined information into said message buffer and then to signal said receiving application to access said message buffer to copy said predetermined information, whereby a copy of said predetermined information is passed between sending application and receiving application without requiring the receiving application to know the addressing mode of the sending application whereby the sending application is adapted to operate a synchronously of the receiving application.
Claim 3
Dependent Claim 71 words
The communication mechanism of claim 1 wherein said operating system environment supports a first virtual machine for execution of application programs of a first addressing mode and a second virtual machine for execution of application programs of a second addressing mode and wherein said device driver establishes buffered communication between a first application program running in said first virtual machine and a second application program running in said second virtual machine.
Claim 4
Dependent Claim 16 words
The communication mechanism of claim 2 wherein said first virtual machine is a Windows virtual machine.
Claim 5
Dependent Claim 17 words
The communication mechanism of claim 2 wherein said second virtual machine is a DOS virtual-86 virtual machine.
Claim 6
Dependent Claim 34 words
The communication mechanism of claim 1 wherein said device driver establishes buffered communication among a plurality of applications and wherein said device driver allocates a message buffer for each of said plurality of applications.
Claim 7
Dependent Claim 47 words
The communication mechanism of claim 1 wherein said message handler is responsive to a REGISTER function call by a first application seeking to establish buffered communication and wherein said message handler allocates a first message buffer for said first application in response to said REGISTER function call.
Claim 8
Dependent Claim 52 words
The communication mechanism of claim 1 wherein said message handler is responsive to a DEREGISTER function call by a first application seeking to terminate buffered communication, said first application having an associated first message buffer and wherein said message handler deallocates said first message buffer in response to said DEREGISTER function call.
Claim 9
Dependent Claim 59 words
The communication mechanism of claim 1 wherein said message handler is responsive to a SEND function call by said sending application and wherein said message handler in response to said SEND function call places said predetermined information in said message buffer and posts a message to said receiving application to signal said receiving application to access said message buffer.
Claim 10
Dependent Claim 55 words
The communication mechanism of claim 1 wherein said receiving application has a predetermined application buffer, wherein said message handler is responsive to a RECEIVE function call by said receiving application and wherein said message handler in response to said RECEIVE function call accesses said message buffer and copies said predetermined information into said application buffer.
Claim 11
Dependent Claim 57 words
The communication mechanism of claim 1 wherein said message handler is responsive to a SLEEP function call by a first application, and wherein said message handler causes said first application to suspend its further operation until buffered communication is established between said first application and said sending application, with said first application serving as said receiving application.
Claim 12
Dependent Claim 42 words
The communication mechanism of claim 1 further comprising a data store administered by said device driver, said data store being configured according to a predetermined data structure that includes memory allocation to store the addressing modes of said sending and receiving applications.
Claim 13
Dependent Claim 38 words
The communication mechanism of claim 1 further comprising a data store administered by said device driver, said data store being configured as a linked list having respective entries in the list corresponding to said sending and receiving applications.
Claim 14
Dependent Claim 44 words
The communication mechanism of claim 1 further comprising a data store administered by said device driver, said data store being configured according to a predetermined data structure that includes memory allocation to store the priority boosted operating status of said sending and receiving applications.
Claim 15
Dependent Claim 46 words
The communication mechanism of claim 1 further comprising a data store administered by said device driver, said data store being configured according to a predetermined data structure that includes memory allocation to store predetermined data used to signal said receiving application to access said message buffer.
Claim 16
Dependent Claim 32 words
The communication mechanism of claim 1 further comprising a data store administered by said device driver, said data store being configured according to a predetermined data structure to define said message buffer.
Claim 17
Dependent Claim 200 words
An article of manufacture for use in a computer system having an operating system environment of the type that supports computer-implemented applications employing different memory addressing modes comprising: a computer usable delivery medium having a device driver configured for coupling to said operating system environment, said device driver having application program interface configured to provide communication with said applications through a set of predefined function calls; said device driver having a message handler configured to respond to said function calls and having program code to define a message buffer to support buffered communication between at least two applications; said device driver having a mapping mechanism interfacing with said message handler and configured to determine the addressing mode of said applications and to translate said addressing modes into a predetermined addressing mode; and said device driver having a message transfer mechanism interfacing with said message handler and having program code configured to copy information from at least a first one of said applications into said message buffer and then to signal at least a second one of said applications to access said message buffer to acquire said information, whereby said first application is adapted to operate asynchronously of said second application.
Claim 18
Dependent Claim 200 words
An article of manufacture for use in a computer system having an operating system environment of the type that supports computer-implemented applications employing different memory addressing modes comprising: a computer usable delivery medium having a device driver configured for coupling to said operating system environment, said device driver having application program interface configured to provide communication with said applications through a set of predefined function calls; said device driver having a message handler configured to respond to said function calls and having program code to define a message buffer to support buffered communication between at least two applications; said device driver having a mapping mechanism interfacing with said message handler and configured to determine the addressing mode of said applications and to translate said addressing modes into a predetermined addressing mode; and said device driver having a message transfer mechanism interfacing with said message handler and having program code configured to copy information from at least a first one of said applications into said message buffer and then to signal at least a second one of said applications to access said message buffer to acquire said information, whereby said first application is adapted to operate asynchronously of said second application.
Claim 19
Dependent Claim 76 words
The article of manufacture according to claim 16 wherein said operating system environment supports a first virtual machine for execution of application programs of a first addressing mode and a second virtual machine for execution of application programs of a second addressing mode and wherein said device driver is configured to establish buffered communication between a first application program running in said first virtual machine and a second application program running in said second virtual machine.
Claim 20
Dependent Claim 18 words
The article of manufacture according to claim 17 wherein said first virtual machine is a Windows virtual machine.
Claim 21
Dependent Claim 19 words
The article of manufacture according to claim 17 wherein said second virtual machine is a DOS virtual-86 virtual machine.
Claim 22
Dependent Claim 42 words
The article of manufacture according to claim 16 wherein said device driver is configured to establish buffered communication among a plurality of applications and wherein said device driver is configured to allocate a message buffer for each of said plurality of applications.
Claim 23
Dependent Claim 55 words
The article of manufacture according to claim 16 wherein said message handler includes program code to respond to a REGISTER function call by a first application seeking to establish buffered communication and wherein said message handler is configured to allocate a first message buffer for said first application in response to said REGISTER function call.
Claim 24
Dependent Claim 55 words
The article of manufacture according to claim 16 wherein said message handler includes program code to respond to a DEREGISTER function call by a first application seeking to terminate buffered communication and wherein said message handler is configured to deallocate a message buffer associated with said first application in response to said DEREGISTER function call.
Claim 25
Dependent Claim 69 words
The article of manufacture according to claim 16 wherein said message handler includes program code to respond to a SEND function call by a first application and wherein said message handler is configured to respond to said SEND function call by placing information from said first application in said message buffer and posting a message to a second application to signal said second application to access said message buffer.
Claim 26
Dependent Claim 51 words
The article of manufacture according to claim 16 wherein said message handler includes program code to respond to a RECEIVE function call by a first application and wherein said message handler is configured to respond to said RECEIVE function call by accessing said message buffer and copying information to said application.
Claim 27
Dependent Claim 60 words
The article of manufacture according to claim 16 wherein said message handler includes program code to respond to a SLEEP function call by a first application, and wherein said message handler is configured to respond to said SLEEP function call to suspend operation of said first application until buffered communication is established between said first application and a second application.
Claim 28
Dependent Claim 48 words
The article of manufacture according to claim 16 further comprising program code to establish a data store administered by said device driver, said data store being configured according to a predetermined data structure that includes memory allocation to store the addressing modes of said sending and receiving applications.
Claim 29
Dependent Claim 44 words
The article of manufacture according to claim 16 further comprising program code to establish a data store administered by said device driver, said data store being configured as a linked list having respective entries in the list corresponding to said sending and receiving applications.
Claim 30
Dependent Claim 50 words
The article of manufacture according to claim 16 further comprising program code to establish a data store administered by said device driver, said data store being configured according to a predetermined data structure that includes memory allocation to store the priority boosted operating status of said sending and receiving applications.
Claim 31
Dependent Claim 52 words
The article of manufacture according to claim 16 further comprising program code to establish a data store administered by said device driver, said data store being configured according to a predetermined data structure that includes memory allocation to store predetermined data used to signal said receiving application to access said message buffer.
Claim 32
Dependent Claim 38 words
The article of manufacture according to claim 16 further comprising program code to establish a data store administered by said device driver, said data store being configured according to a predetermined data structure to define said message buffer.
Claim 33
Independent Claim 189 words
A method of conducting communication within an operating system environment between computer-implemented applications running in said environment that employ different memory addressing modes, comprising: providing a device driver coupled to said operating system environment and having application program interface to communicate with said applications through a set of predefined function calls; in response to a first function call: establishing a message buffer in said device driver to support buffered communication between at least two of said applications, one application being a sending application and one application being a receiving application, the sending application having predetermined information intended for the receiving application and whereby said sending application is adapted to operate asynchronously of said receiving application; determining the addressing mode of said sending application and translating the addressing mode of the sending application into a predetermined addressing mode; in response to a second function call by said sending application: copying said predetermined information from said sending application into said message buffer and signaling said receiving application; and in response to a third function call by said receiving application: copying said predetermined information from said message buffer to said receiving application.
Claim 34
Independent Claim 189 words
A method of conducting communication within an operating system environment between computer-implemented applications running in said environment that employ different memory addressing modes, comprising: providing a device driver coupled to said operating system environment and having application program interface to communicate with said applications through a set of predefined function calls; in response to a first function call: establishing a message buffer in said device driver to support buffered communication between at least two of said applications, one application being a sending application and one application being a receiving application, the sending application having predetermined information intended for the receiving application and whereby said sending application is adapted to operate asynchronously of said receiving application; determining the addressing mode of said sending application and translating the addressing mode of the sending application into a predetermined addressing mode; in response to a second function call by said sending application: copying said predetermined information from said sending application into said message buffer and signaling said receiving application; and in response to a third function call by said receiving application: copying said predetermined information from said message buffer to said receiving application.
Claim 35
Dependent Claim 64 words
The method of claim 31 wherein said operating system environment supports a first virtual machine for executing applications of a first addressing mode and a second virtual machine for executing applications of a second addressing mode and wherein said device driver establishes buffered communication between a first application running in said first virtual machine and a second application running in said second virtual machine.
Claim 36
Dependent Claim 15 words
The method of claim 32 wherein said first virtual machine is a Windows virtual machine.
Claim 37
Dependent Claim 16 words
The method of claim 32 wherein said second virtual machine is a DOS virtual-86 virtual machine.
Claim 38
Dependent Claim 18 words
The method of claim 31 further comprising allocating a message buffer for each of a plurality of applications.
Claim 39
Dependent Claim 49 words
The method of claim 31 wherein first function call is a REGISTER function call by a first application seeking to establish buffered communication and wherein said step of establishing a message buffer includes establishing a first message buffer for said first application in response to said REGISTER function call.
Claim 40
Dependent Claim 50 words
The method of claim 31 further comprising responding to a DEREGISTER function call by a first application seeking to terminate buffered communication, said first application having an associated first message buffer and wherein said step of responding to said DEREGISTER function call is performed by deallocating said first message buffer.
Claim 41
Dependent Claim 47 words
The method of claim 31 wherein second function call is a SEND function call by said sending application and wherein said step of signaling said receiving application is performed by posting a message to said receiving application to signal said receiving application to access said message buffer.
Claim 42
Dependent Claim 52 words
The method of claim 31 wherein said receiving application has a predetermined application buffer, wherein said third function call is a RECEIVE function call by said receiving application and wherein said step of copying said predetermined information to said sending application is performed by copying said predetermined information into said application buffer.
Claim 43
Dependent Claim 46 words
The method of claim 31 further comprising responding to a SLEEP function call by a first application by suspending operation of said first application until buffered communication is established between said first application and said sending application, with said first application serving as said receiving application.
Claim 44
Dependent Claim 42 words
The method of claim 31 further comprising allocating a data store administered by said device driver, said data store being configured according to a predetermined data structure that includes memory allocation to store the addressing modes of said sending and receiving applications.
Claim 45
Dependent Claim 38 words
The method of claim 31 further comprising allocating a data store administered by said device driver, said data store being configured as a linked list having respective entries in the list corresponding to said sending and receiving applications.
Claim 46
Dependent Claim 44 words
The method of claim 31 further comprising allocating a data store administered by said device driver, said data store being configured according to a predetermined data structure that includes memory allocation to store the priority boosted operating status of said sending and receiving applications.
Claim 47
Dependent Claim 46 words
The method of claim 31 further comprising allocating a data store administered by said device driver, said data store being configured according to a predetermined data structure that includes memory allocation to store predetermined data used to signal said receiving application to access said message buffer.
Claim 48
Dependent Claim 32 words
The method of claim 31 further comprising allocating a data store administered by said device driver, said data store being configured according to a predetermined data structure to define said message buffer.

References Cited (Backward Citations)

US5175855A Cited
EP0366583A2 Cited
US5428781A Cited
US5604885A Cited
US5327558A Cited
US5638517A Cited
WO1994015293A1 Cited
US5414848A Cited
US5459869A Cited
US5784615A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2006-03-17 2006-09-16 2007-03-18 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2010-03-17 2010-09-16 2011-03-18 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2014-03-17 2014-09-16 2015-03-18 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag