Mechanism for arbitrating client access to a networked print server
First Claim
1. A printer having printing means for printing data, memory means for storing data before the data is printed, and a print server for communicating with a local area network having at least one remote device for performing processes remote from the print server communicating by way of data packets, said remote device having (1) sending means for sending data packets to other processes on the local area network, said data packets including print request data packets for indicating to the print server when said remote processes have data to be printed, and (2) means for receiving data packets from other processes on the local area network,said print server comprising the combination of:
- (a) print request receiving means for receiving said print request data packets from said remote device;
(b) determining means responsive to the reception of said print request data packets by said print request receiving means for determining the amount of said memory means available for data to be printed;
(c) print request acknowledgment means responsive to the determination of available memory by said determining means, said print request acknowledgement means including means for (i) sending a connection-open return data packet to the requesting remote process for establishing a logical connection between the requesting remote process and the print server if there is available memory, said connection-open return data packet including data representing the amount of available memory, (ii) sending a connection-open return data packet to the requesting remote process and queuing the print request if there is no available memory, said connection-open return data packet including data representing zero available memory and, (iii) dequeuing the print request and sending a return data packet to the requesting remote process when memory becomes available.
3 Assignments
0 Petitions
Accused Products
Abstract
In response to a print request, a print server returns a "window" message which specifies an amount of data that the process is permitted to send to the print server. The amount of data can be zero, indicating that the printer is not available. In this case the print server queues the print request, and when the printer becomes available to service the queued request, the queued request is removed from the queue and a "window" message indicating that the printer is available is sent to the requesting device. In response, the requesting device transmits a packet of data to be printed including the amount of data specified by the window message, and the requesting device waits for an acknowledgement of the print data packet. When the printer finishes printing the data, the print server acknowledges receipt of the data packet, and repeats the window message. This procedure is repeated until the printer has printed all of the data that the requesting device would like to have printed. Then, the requesting device terminates the connection by sending a termination request, which the print server acknowledges. Finally, the requesting device returns the acknowledgement.
-
Citations
11 Claims
-
1. A printer having printing means for printing data, memory means for storing data before the data is printed, and a print server for communicating with a local area network having at least one remote device for performing processes remote from the print server communicating by way of data packets, said remote device having (1) sending means for sending data packets to other processes on the local area network, said data packets including print request data packets for indicating to the print server when said remote processes have data to be printed, and (2) means for receiving data packets from other processes on the local area network,
said print server comprising the combination of: -
(a) print request receiving means for receiving said print request data packets from said remote device; (b) determining means responsive to the reception of said print request data packets by said print request receiving means for determining the amount of said memory means available for data to be printed; (c) print request acknowledgment means responsive to the determination of available memory by said determining means, said print request acknowledgement means including means for (i) sending a connection-open return data packet to the requesting remote process for establishing a logical connection between the requesting remote process and the print server if there is available memory, said connection-open return data packet including data representing the amount of available memory, (ii) sending a connection-open return data packet to the requesting remote process and queuing the print request if there is no available memory, said connection-open return data packet including data representing zero available memory and, (iii) dequeuing the print request and sending a return data packet to the requesting remote process when memory becomes available. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A method of operating a printer having (i) printing means for printing data, (ii) memory means for storing data before the data is printed, and (iii) a print server for communicating with a local area network having a plurality of devices for performing processes remote from the print server communicating by way of data packets, each of said remote devices having
(1) sending means for sending data packets to other processes on the local area network said data packets conforming to a protocol that permits sending of a print-request series of one or more data packets for indicating to the print server that one of said remote processes has data to be printed, and (2) receiving means for receiving data packets from other processes on the local area network, said method comprising the steps of: -
(a) said print server receiving a said print-request series of data packets from a requesting remote process; (b) next determining the "available memory" equal to the amount of said memory means available for data to be printed; (c) sending a return data packet to the requesting remote process to establish a logical connection between the print server and the requesting remote process, said return data packet including data representing the amount of available memory, said requesting remote process responding to the data representing the available memory in said return data packet by waiting if there is no memory available, or by sending data, if there is memory available to be printed; and (d) said print server (i) queuing the print request if there is no available memory, and (ii) dequeuing the print request and sending a return data packet to the requesting remote process when memory becomes available. - View Dependent Claims (8)
-
-
9. A method of servicing a service request sent to a data processing device from one of a plurality of remote devices,
said devices being linked by a common data link and each of said devices having means for transmitting and receiving data packets over said common data link, said data processing device having a certain amount of memory for storing data to be processed, said method comprising the steps of: -
(a) said data processing device receiving a service request data packet from a requesting one of said remote devices; (b) next said data processing device determining whether said certain amount of memory is available for receiving data to be processed; (c) sending a return data packet to the requesting remote device establishing a logical connection between said data processing device and the requesting remote process, said return data packet including data indicating whether said certain amount of memory is available for receiving data to be processed; (d) said data processing device queuing an identification of said requesting remote device when said certain amount of memory is not available; and (e) when said certain amount of memory later becomes available, dequeuing said identification and sending a return data packet indicating memory availability to the identified requesting remote device. - View Dependent Claims (10, 11)
-
Specification