×

Software architecture which maintains system performance while pipelining data to an MFP and uses shared DLL

  • US 6,252,614 B1
  • Filed: 07/20/1998
  • Issued: 06/26/2001
  • Est. Priority Date: 07/20/1998
  • Status: Expired due to Fees
First Claim
Patent Images

1. A method of apportioning system resources of a host between a first image data processing process and a second image data processing process in the host by a data storage and retrieval unit in the host, the host comprising a processor and a memory, the first process involving a transfer of image data from a first service to a second service, and the second process involving a transfer of image data from a third service to a fourth service, the method comprising the steps of:

  • (a) the data storage and retrieval unit identifying an available number of face buffers in the memory, the face buffers each comprising a working region of the memory for temporarily storing a face of image data;

    (b) the data storage and retrieval unit receiving a plurality of requests for face buffers in an unpredictable order, the requests comprising;

    (i) the first service requesting a empty face buffer from the data storage and retrieval unit;

    (ii) the second service requesting a filled face buffer from the data storage and retrieval unit;

    (iii) the third service requesting a empty face buffer from the data storage and retrieval unit;

    (iv) the fourth service requesting a filled face buffer from the data storage and retrieval unit;

    (c) if one of the first service or the third service requests an empty face buffer, then;

    (i) the data storage and retrieval unit identifying an available number of empty face buffers;

    (ii) if at least one empty face buffer is available, then the data retrieval and storage unit returning a first location of one available empty face buffer to the requesting service for the requesting service to fill;

    (iii) if no empty face buffers are available, then the data retrieval and storage unit delaying until at least one empty face buffer becomes available and then the data retrieval and storage unit returning a second location of one available empty face buffer to the requesting service for the requesting service to fill;

    (d) if the second service requests a filled face buffer, then;

    (i) the data storage and retrieval unit determining whether there are any face buffers filled by the first service;

    (ii) if at least one face buffer filled by the first service is available, then returning a third location of one face buffer filled by the first service to the second service for the second service to use;

    (iii) if no face buffers filled by the first service are available, then the data retrieval and storage unit delaying until at least one face buffer filled by the first service becomes available and then returning a fourth location of one face buffer filled by the first service to the second service for the second service to use;

    (e) if the fourth service requests a filled face buffer, then;

    (i) the data storage and retrieval unit determining whether there are any face buffers filled by the third service;

    (ii) if at least one face buffer filled by the third service is available, then returning a fifth location of one face buffer filled by the third service to the fourth service for the fourth service to use;

    (iii) if no face buffers filled by the third service are available, then the data retrieval and storage unit delaying until at least one face buffer filled by the third service becomes available and then returning a sixth location of one face buffer filled by the third service to the fourth service for the fourth service to use.

View all claims
  • 1 Assignment
Timeline View
Assignment View
    ×
    ×