Patent EP0770958A1 successfully refreshed from Google Patents.
← Back to Patent Explorer
EP0770958A1 Expired / Lapsed EP ⏱️ 0.0 years remaining

WinSock network socket driver subsystem and method for windows emulator running under unix operating system

Assignee: Sun Microsystems Inc
•
Filing: 1996-10-25
•
Granted: —
•
Expires: 2016-10-25
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A computer system comprising at least one applications program, a Unix operating system API, and a WinSock socket driver. The applications program performs predetermined processing operations, and issues Windows operating system calls, including WinSock socket calls. The Unix operating system API provides, in response to Unix socket calls, Unix socket services in connection with at least one socket connection to another computer system over a network. The WinSock socket driver receives WinSock socket calls from said applications program and emulates the WinSock socket calls in connection with Unix socket calls to said Unix operating system API. In emulating at least some of the WinSock socket calls, the WinSock socket driver makes use of Unix socket calls at least some of which block, but effectively controls the computer system to execute such calls in a non-blocking manner.

Inventors

  • 👤 Jeffrey A. Horan
  • 👤 Ronald J. Karr

Bibliographic Details

Application Number —
Jurisdiction EP
Data Source google_patents
Last Synchronized 2026-11-08 15:01
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/44; G06F9/455; G06F9/45533; G06F9/45537; G06F13/00; G06F13/10; G06F13/102

Claims Analysis

Total Claims: 63
Claim 1
Independent Claim 87 words
A computer system comprising: A. at least one applications program for performing predetermined processing operations, the applications program issuing WinSock socket calls; B. a Unix operating system API for providing, in response to Unix socket calls, Unix socket services in connection with at least one socket connection to another computer system over a network; and C. a WinSock socket driver for receiving WinSock socket calls from said applications program and emulating said WinSock socket calls in connection with Unix socket calls to said Unix operating system API.
Claim 2
Dependent Claim 25 words
A computer system as defined in claim 1 in which said Unix operating system API provides Unix socket services in a blockable pre-emptive multi-tasking manner.
Claim 3
Dependent Claim 27 words
A computer system as defined in claim 1 in which said WinSock socket driver emulates at least one WinSock socket call in a non-blockable non-pre-emptive multi-tasking manner.
Claim 4
Dependent Claim 182 words
A computer system as defined in claim 3 in which said WinSock socket driver emulates said at least one WinSock socket call in connection with a blockable Unix socket call, the blockable Unix socket call having a duration parameter specifying a duration over which a specified operation to be performed, the blockable Unix socket call blocking other operations for the duration, the WinSock socket driver including: A. a timer for enabling generation of a timing indication at the end of a timing interval corresponding to the duration specified by the duration parameter; B. a blockable call issuer for issuing the blockable Unix socket call with a duration parameter specifying an instantaneous duration thereby enabling the specified operation to be performed instantaneously; and C. a non-blockable iteration control element for, in a series of iterations, enabling the blockable call issuer to issue the blockable call until the timer generates the timing indication, the non-blockable control element being non-pre-emptively interruptible during each iteration while the blockable call is not being executed thereby to facilitate emulation of the WinSock socket call in a non-blockable manner.
Claim 5
Dependent Claim 54 words
A computer system as defined in claim 4, the WinSock socket driver operating in connection with a pre-emptive multi-tasking operating system program which provides a timer call, the timer enabling generation of the timing indication by using the timer call with a timer call duration corresponding to the duration specified by the duration parameter.
Claim 6
Dependent Claim 25 words
A computer system as defined in claim 5 in which the pre-emptive multi-tasking operating system program is the Unix operating system program with XWindows extensions.
Claim 7
Dependent Claim 18 words
A computer system as defined in claim 6 in which the timer call comprises the XWindows XtAppAddTimeOut() call.
Claim 8
Dependent Claim 45 words
A computer system as defined in claim 4, in which the computer system establishes socket network connections with at least one other computer over a network, the applications program using the non-blockable call to obtain information as to the status ofa said network socket connection.
Claim 9
Dependent Claim 21 words
A computer system as defined in claim 8 in which blockable call provides information as to a said network socket connection.
Claim 10
Dependent Claim 32 words
A computer system as defined in claim 4 in which the WinSock socket call is a WinSock Synchronous Select call, and the blockable Unix socket call is a Unix Synchronous Select call.
Claim 11
Dependent Claim 112 words
A computer system as defined in claim 3 in which said WinSock socket driver emulates said at least one WinSock socket call in connection with a non-blockable Unix/XWindows extension call for determining the occurrence ofa predetermined event, as determined by the WinSock socket call, in said computer system, the WinSock socket driver including: A. a call issuer for issuing the non-blockable Unix/XWindows extension call and providing a call acknowledgment to the applications program; and B. a response receiver for later receiving a response from the Unix/XWindows extension call and providing the response to the applications program thereby to provide that the computer system executes the WinSock socket call in a non-blocking manner.
Claim 12
Dependent Claim 19 words
A computer system as defined in claim 11 in which said non-blockable Unix/XWindows extension call comprises an XtAppAddInput() call.
Claim 13
Independent Claim 75 words
A method of operating a computer system, comprising the steps of: A. enabling at least one applications program to performs predetermined processing operations, the applications program issuing WinSock socket calls; B. emulating the WinSock socket calls to generate Unix socket calls; and C. enabling a Unix operating system API to provide, in response to Unix socket calls, Unix socket services in connection with at least one socket connection to another computer system over a network.
Claim 14
Dependent Claim 20 words
A method as defined in claim 13 in which said Unix socket calls operate in a blockable pre-emptive multi-tasking manner.
Claim 15
Dependent Claim 24 words
A method as defined in claim 13 in which at least one said WinSock socket call is emulated in a non-blockable non-pre-emptive multi-tasking manner.
Claim 16
Dependent Claim 170 words
A method as defined in claim 15 in which said at least one WinSock socket call is emulated in connection with a blockable Unix socket call, the blockable Unix socket call having a duration parameter specifying a duration over which a specified operation to be performed, the blockable Unix socket call blocking other operations for the duration, the WinSock socket call being emulated in accordance with the steps of: A. enabling generation ofa timing indication at the end of a timing interval corresponding to the duration specified by the duration parameter; B. issuing the blockable Unix socket call with a duration parameter specifying an instantaneous duration thereby enabling the specified operation to be performed instantaneously; and C. in a series of iterations, enabling the blockable call issuer to issue the blockable call until the timer generates the timing indication, the non-blockable control element being non-pre-emptively interruptible during each iteration while the blockable call is not being executed thereby to facilitate emulation of the WinSock socket call in a non-blockable manner.
Claim 17
Dependent Claim 55 words
A method as defined in claim 16, in which the emulation step is performed in connection with a pre-emptive multi-tasking operating system program which provides a timer call, the generation of the timing indication being enabled by using the timer call with a timer call duration corresponding to the duration specified by the duration parameter.
Claim 18
Dependent Claim 24 words
A method as defined in claim 17 in which the pre-emptive multi-tasking operating system program is the Unix operating system program with XWindows extensions.
Claim 19
Dependent Claim 17 words
A method as defined in claim 18 in which the timer call comprises the XWindows XtAppAddTimeOut() call.
Claim 20
Dependent Claim 43 words
A method as defined in claim 16, in which the computer system establishes socket network connections with at least one other computer over a network, the non-blockable call being used to obtain information as to the status of a said network socket connection.
Claim 21
Dependent Claim 20 words
A method as defined in claim 20 in which blockable call provides information as to a said network socket connection.
Claim 22
Dependent Claim 31 words
A method as defined in claim 16 in which the WinSock socket call is a WinSock Synchronous Select call, and the blockable Unix socket call is a Unix Synchronous Select call.
Claim 23
Dependent Claim 101 words
A method as defined in claim 15 in which said at least one WinSock socket call is emulated in connection with a non-blockable Unix/XWindows extension call for determining the occurrence of a predetermined event, as determined by the WinSock socket call, in said computer system, the WinSock socket driver including: A. issuing the non-blockable Unix/XWindows extension call and providing a call acknowledgment to the applications program; and B. later receiving a response from the Unix/XWindows extension call and providing the response to the applications program; thereby to provide that the computer system executes the WinSock socket call in a non-blocking manner.
Claim 24
Dependent Claim 18 words
A method as defined in claim 23 in which said non-blockable Unix/XWindows extension call comprises an XtAppAddInput() call.
Claim 25
Dependent Claim 122 words
A WinSock socket driver for use in connection with a Unix operating system API, the WinSock socket driver receiving WinSock socket calls from an applications program and emulating them using calls to the Unix operating system API, the WinSock socket driver including: A. a WinSock call verification element for, in response to receipt of a WinSock call from said applications program, verifying the emulatability of the received WinSock call, B. an emulation element for issuing predetermined Unix operating system API calls as determined by the received WinSock call, and receiving responses generated in response to said Unix operating system API calls; C. a response generation element for generating a response to said WinSock socket driver call for provision to said applications program.
Claim 26
Dependent Claim 32 words
A WinSock socket driver as defined in claim 25 in which said WinSock call verification element, in verifying the emulatabililty of the received WinSock call, verifies any parameters provided in the call.
Claim 27
Dependent Claim 183 words
A WinSock socket driver as defined in claim 25 in which said WinSock socket driver emulates said at least one WinSock socket call in connection with a blockable Unix socket call, the blockable Unix socket call having a duration parameter specifying a duration over which a specified operation to be performed, the blockable Unix socket call blocking other operations for the duration, the WinSock socket driver including: A. a timer for enabling generation of a timing indication at the end of a timing interval corresponding to the duration specified by the duration parameter; B. a blockable call issuer for issuing the blockable Unix socket call with a duration parameter specifying an instantaneous duration thereby enabling the specified operation to be performed instantaneously; and C. a non-blockable iteration control element for, in a series of iterations, enabling the blockable call issuer to issue the blockable call until the timer generates the timing indication, the non-blockable control element being non-pre-emptively interruptible during each iteration while the blockable call is not being executed thereby to facilitate emulation of the WinSock socket call in a non-blockable manner.
Claim 28
Dependent Claim 55 words
A WinSock socket driver as defined in claim 27, the WinSock socket driver operating in connection with a pre-emptive multi-tasking operating system program which provides a timer call, the timer enabling generation of the timing indication by using the timer call with a timer call duration corresponding to the duration specified by the duration parameter.
Claim 29
Dependent Claim 26 words
A WinSock socket driver as defined in claim 28 in which the pre-emptive multi-tasking operating system program is the Unix operating system program with XWindows extensions.
Claim 30
Dependent Claim 19 words
A WinSock socket driver as defined in claim 29 in which the timer call comprises the XWindows XtAppAddTimeOut() call.
Claim 31
Dependent Claim 47 words
A WinSock socket driver as defined in claim 27, in which the computer system establishes socket network connections with at least one other computer over a network, the applications program using the non-blockable call to obtain information as to the status of a said network socket connection.
Claim 32
Dependent Claim 22 words
A WinSock socket driver as defined in claim 31 in which blockable call provides information as to a said network socket connection.
Claim 33
Dependent Claim 33 words
A WinSock socket driver as defined in claim 27 in which the WinSock socket call is a WinSock Synchronous Select call, and the blockable Unix socket call is a Unix Synchronous Select call.
Claim 34
Dependent Claim 114 words
A WinSock socket driver as defined in claim 26 in which said WinSock socket driver emulates said at least one WinSock socket call in connection with a non-blockable Unix/XWindows extension call for determining the occurrence of a predetermined event, as determined by the WinSock socket call, in said computer system, the WinSock socket driver including: A. a call issuer for issuing the non-blockable Unix/XWindows extension call and providing a call acknowledgment to the applications program; and B. a response receiver for later receiving a response from the Unix/XWindows extension call and providing the response to the applications program thereby to provide that the computer system executes the WinSock socket call in a non-blocking manner.
Claim 35
Dependent Claim 19 words
A WinSock socket driver as defined in claim 34in which said non-blockable Unix/XWindows extension call comprises an XtAppAddInput() call.
Claim 36
Independent Claim 90 words
A method for emulating WinSock socket calls from an applications program in connection with a Unix operating system API, the method including the steps of: A. verifying, in response to receipt of a WinSock call from said applications program, the emulatability of the received WinSock call, B. issuing predetermined Unix operating system API calls as determined by the received WinSock call, and receiving responses generated in response to said Unix operating system API calls; C. generating a response to said WinSock socket driver call for provision to said applications program.
Claim 37
Dependent Claim 21 words
A method as defined in claim 36 in which, during the verification step, any parameters provided in the call are verified.
Claim 38
Dependent Claim 24 words
A method as defined in claim 36 in which at least one said WinSock socket call is emulated in a non-blockable non-pre-emptive multi-tasking manner.
Claim 39
Dependent Claim 170 words
A method as defined in claim 38 in which said at least one WinSock socket call is emulated in connection with a blockable Unix socket call, the blockable Unix socket call having a duration parameter specifying a duration over which a specified operation to be performed, the blockable Unix socket call blocking other operations for the duration, the WinSock socket call being emulated in accordance with the steps of: A. enabling generation ofa timing indication at the end of a timing interval corresponding to the duration specified by the duration parameter; B. issuing the blockable Unix socket call with a duration parameter specifying an instantaneous duration thereby enabling the specified operation to be performed instantaneously; and C. in a series of iterations, enabling the blockable call issuer to issue the blockable call until the timer generates the timing indication, the non-blockable control element being non-pre-emptively interruptible during each iteration while the blockable call is not being executed thereby to facilitate emulation of the WinSock socket call in a non-blockable manner.
Claim 40
Dependent Claim 55 words
A method as defined in claim 39 in which the emulation step is performed in connection with a pre-emptive multi-tasking operating system program which provides a timer call, the generation of the timing indication being enabled by using the timer call with a timer call duration corresponding to the duration specified by the duration parameter.
Claim 41
Dependent Claim 24 words
A method as defined in claim 40 in which the pre-emptive multi-tasking operating system program is the Unix operating system program with XWindows extensions.
Claim 42
Dependent Claim 17 words
A method as defined in claim 41 in which the timer call comprises the XWindows XtAppAddTimeOut() call.
Claim 43
Dependent Claim 42 words
A method as defined in claim 39, in which the computer system establishes socket network connections with at least one other computer over a network, the non-blockable call being used to obtain information as to the status ofa said network socket connection.
Claim 44
Dependent Claim 20 words
A method as defined in claim 43 in which blockable call provides information as to a said network socket connection.
Claim 45
Dependent Claim 31 words
A method as defined in claim 39 in which the WinSock socket call is a WinSock Synchronous Select call, and the blockable Unix socket call is a Unix Synchronous Select call.
Claim 46
Dependent Claim 101 words
A method as defined in claim 38 in which said at least one WinSock socket call is emulated in connection with a non-blockable Unix/XWindows extension call for determining the occurrence of a predetermined event, as determined by the WinSock socket call, in said computer system, the WinSock socket driver including: A. issuing the non-blockable Unix/XWindows extension call and providing a call acknowledgment to the applications program; and B. later receiving a response from the Unix/XWindows extension call and providing the response to the applications program; thereby to provide that the computer system executes the WinSock socket call in a non-blocking manner.
Claim 47
Dependent Claim 18 words
A method as defined in claim 46 in which said non-blockable Unix/XWindows extension call comprises an XtAppAddInputO call.
Claim 48
Dependent Claim 162 words
For use in connection with a computer, a non-pre-emptive multi-tasking emulator for emulating a blockable call issued by an applications program, the blockable call having a duration parameter specifying a duration over which a specified operation to be performed, the blockable call blocking other operations for the duration, the emulator emulating the blockable call in a non-blocking manner, the emulator comprising; A. a timer for enabling generation of a timing indication at the end of a timing interval corresponding to the duration specified by the duration parameter; B. a blockable call issuer for issuing the blockable call with a duration parameter specifying an instantaneous duration thereby enabling the specified operation to be performed instantaneously; and C. a non-blockable iteration control element for, in a series of iterations, enabling the blockable call issuer to issue the blockable call until the timer generates the timing indication, the non-blockable control element being non-pre-emptively interruptible during each iteration while the blockable call is not being executed.
Claim 49
Dependent Claim 64 words
An emulator as defined claim 48 in which the blockable call operates in a polling mode in which it performs the operation instantaneously and a non-polling mode in which it performs the operation over a selected period of time, the mode being indicated by the duration parameter, the blockable call issuer issuing the blockable call using the duration parameter which indicates the polling mode.
Claim 50
Dependent Claim 21 words
An emulator as defined in claim 48 in which the blockable call is executed by a pre-emptive multi-tasking operating system program.
Claim 51
Dependent Claim 21 words
An emulator as defined in claim 50 in which the pre-emptive multi-tasking operating system program is the Unix operating system program.
Claim 52
Dependent Claim 51 words
An emulator as defined in claim 48, the emulator operating in connection with a pre-emptive multi-tasking operating system program which provides a timer call, the timer enabling generation of the timing indication by using the timer call with a timer call duration corresponding to the duration specified by the duration parameter.
Claim 53
Dependent Claim 24 words
An emulator as defined in claim 52 in which the pre-emptive multi-tasking operating system program is the Unix operating system program with XWindows extensions.
Claim 54
Dependent Claim 44 words
An emulator as defined in claim 48 in which the computer establishes socket network connections with at least one other computer over a network, the applications program using the non-blockable call to obtain information as to the status of a said network socket connection.
Claim 55
Dependent Claim 20 words
An emulator as defined in claim 54 in which blockable call provides information as to a said network socket connection.
Claim 56
Independent Claim 139 words
A method of controlling a computer to emulate, in a non-pre-emptive multi-tasking manner, a blockable call, the blockable call having a duration parameter specifying a duration over which a specified operation to be performed, the blockable call blocking other operations for the duration, the blockable call being emulated in a non-blocking manner, the method comprising the steps of: A. enabling generation of a timing indication at the end of a timing interval corresponding to the duration specified by the duration parameter; B. issuing the blockable call with a duration parameter specifying an instantaneous duration thereby enabling the specified operation to be performed instantaneously; and C. in a series of iterations, enabling the issuance of the blockable call until the timing indication is generated, the operations being non-pre-emptively interruptible during each iteration while the blockable call is not being executed.
Claim 57
Dependent Claim 61 words
A method as defined claim 56 in which the blockable call operates in a polling mode in which it performs the operation instantaneously and a non-polling mode in which it performs the operation over a selected period of time, the mode being indicated by the duration parameter, the blockable call being issued using the duration parameter which indicates the polling mode.
Claim 58
Dependent Claim 21 words
A method as defined in claim 56 in which the blockable call is executed by a pre-emptive multi-tasking operating system program.
Claim 59
Dependent Claim 21 words
A method as defined in claim 58 in which the pre-emptive multi-tasking operating system program is the Unix operating system program.
Claim 60
Dependent Claim 48 words
A method as defined in claim 56, the method being performed in connection with a pre-emptive multi-tasking operating system program which provides a timer call, the timing indication by use of the timer call with a timer call duration corresponding to the duration specified by the duration parameter.
Claim 61
Dependent Claim 24 words
A method as defined in claim 60 in which the pre-emptive multi-tasking operating system program is the Unix operating system program with XWindows extensions.
Claim 62
Dependent Claim 44 words
A method as defined in claim 56, in which the computer establishes socket network connections with at least one other computer over a network, the applications program using the non-blockable call to obtain information as to the status of a said network socket connection.
Claim 63
Dependent Claim 20 words
A method as defined in claim 62 in which blockable call provides information as to a said network socket connection.

References Cited (Backward Citations)

No citation records indexed.

USPTO Annuity & Maintenance Windows

Maintenance schedule is calculated for granted US utility patents.

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag