Electrical computers and digital processing systems: multicomput – Computer-to-computer data routing – Least weight routing
Reexamination Certificate
1996-05-10
2001-01-23
Banankhah, Majid (Department: 2755)
Electrical computers and digital processing systems: multicomput
Computer-to-computer data routing
Least weight routing
C709S241000
Reexamination Certificate
active
06178464
ABSTRACT:
BACKGROUND OF THE INVENTION
1. Field of the Invention
This invention relates generally to computer systems, and more particularly to canceling service Requests in computer systems.
2. Description of the Background Art
Program routines, such as application program routines or operating system routines, request computer processing of services, such as file management, block storage management, print commands, keyboard inputs, establishing a connection, changing power mode, etc., by generating a “Request” and associated information. The Request and associated information are delivered to a performing target system, which may be a physical device such as a printer or hard drive, or may be a logical device such as another program routine. The Request is a message containing a command such as a “read” or a “write.” For example, a user may select a “Save” choice from a pull-down menu in a word processing program to request storage of a text document on a hard drive. Accordingly, a word processor program routine generates a “write” Request, and delivers the Request and associated information to the hard drive, which as instructed stores the data.
For various reasons such as cancellation by a user, expiration of a time limit or system termination of a particular task, a particular program routine may seek to cancel a previously-issued Request. For example, a user may become tired of waiting for a Request, such as a “print,” to complete, or may decide that making the Request was a mistake.
Previous programs include specific routines for recognizing cancellation initiation sequences, and specific routines for implementing the Cancels. For example, some word processing programs recognize a “command-period” or a mouse-down operation while the cursor is over a field labeled “Cancel” or “Stop” as a user cancellation Request. However, requiring each program to include specific routines to monitor for cancellation initialization sequences and to perform cancellation is inefficient.
Previous programs are also limited to canceling only specific Requests such as “print.” For a first example, if a user requests a system to store a file onto a floppy disk, the system reads the file data, sends the data to a Small Computer System Interface (SCSI) port, and writes the data to the floppy disk. However, to cancel this file storage Request, the user must know the specific implementation underlying the system so that the user can “find” and accordingly delete the Request. Otherwise, the Request cannot be stopped. For a second example, many users have experienced a computer which has become “caught in a loop” while attempting to process a Request such as “Save.” Without means to issue a specific Cancel, only quitting the application program or rebooting the system will free the computer.
Further, previous cancellation systems do not report the actual results of the Request to the originating program routine. For example, if a word processor user terminates a print Request, but several pages are printed nonetheless, the word processor and the user remain unaware of the printed pages. To the application and to the user, the job was canceled and no results were obtained.
Therefore, a system and method are needed to provide a system-wide cancellation function. Further, a system and method are needed that enable communication with a target system, and intermediate layers, for canceling Requests which are currently being processed. Still further, a system and method are needed that provide the actual status of previously-issued Requests back to the originating program routine.
SUMMARY OF THE INVENTION
The present invention overcomes limitations and deficiencies of previous systems by providing a system and method for canceling a Request. The system includes a central processing unit (CPU) connected to a memory. The memory stores a program which, when executed, generates Requests for services such as print, write, read or the like, and which sometimes generates Cancels. The cancellation system utilizes an Application Program Interface (API) referred to as a Family Program Interface (FPI) for communicating with a Family Server. The FPI translates Requests and Cancels for the Family Server. The Family Server, which includes program code to perform a set of services, processes the Requests and processes the Cancels. The Family Server stores sufficient contextual information concerning each Request and concerning each Cancel in context data structures to allow the server to relate a particular Request to a Cancel. The Family Server communicates the Request via a plugin to the target system for performance of the Request.
The present invention also provides a cancellation method which includes the steps of having a program routine issue a Request and subsequently issue a Cancel. The Cancel chases the Request through the FPI to the Family Server. If the Cancel reaches the Family Server before the Request is forwarded to the target system, the Family Server deletes the contextual information on the Request from the context data structures, repossesses any resources allocated for the Request, and returns a “Cancel Succeeds” status response back to the originating program routine. If the Cancel reaches the Family Server while the target system is performing the Request, the Family Server attempts to cancel the target system operations by forwarding the Cancel to the target system if it supports cancellation. Accordingly, the target system operations are canceled and a “Cancel Succeeds” status response is returned to the originating program routine. If the target system does not support cancellation, the Family Server must wait until the target system completes its operations. Upon completion of the Request, a response to the Cancel and a response to the Request are returned to the originating program routine. If the Cancel is transactional, the actual results of the target system operation and a “Cancel Fails” response are both sent back to the originating program routine. Otherwise, if the Cancel is non-transactional, the results may be discarded at this time, and a “Cancel Succeeds” response may be sent to the originating program routine. Although the present invention has been described with reference to families, any asynchronous system having a predetermined hierarchy can alternatively be used.
REFERENCES:
patent: 4503499 (1985-03-01), Mason et al.
patent: 4905181 (1990-02-01), Gregory
patent: 5187787 (1993-02-01), Skeen et al.
patent: 5278984 (1994-01-01), Batchelor
patent: 5404523 (1995-04-01), DellaFera et al.
patent: 5432933 (1995-07-01), Janicek
patent: 5448730 (1995-09-01), Bakita et al.
patent: 5544318 (1996-08-01), Schmitz et al.
patent: 5630133 (1997-05-01), Hotea et al.
patent: 5659747 (1997-08-01), Nakajima
patent: 5787019 (1998-07-01), Knight et al.
patent: 5838969 (1998-11-01), Jacklin et al.
patent: 5915131 (1999-06-01), Knight et al.
Copland Technical Overview, Preliminary Draft, Apple Computer, Confidential May 5, 1995.
D. R. Jefferson, “Virtual Time”, ACM Trans. Prog. Lang., pp. 403-424, 1985.
Banks Don
Knight Holly
Apple Computer Inc.
Banankhah Majid
Carr & Ferrell LLP
Lao Sue
LandOfFree
System and method for canceling a computer request does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with System and method for canceling a computer request, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and System and method for canceling a computer request will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-2470354