IP Library Granted Patent US 7,234,008
Granted Patent B1
US 7,234,008 · App. 10/858,776 · Granted Jun 19, 2007

Method and system for exchanging data between a central processing unit and an input/output processor

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,234,008
App. No.
10/858,776
Granted
Jun 19, 2007
Kind
B1
Abstract

A method is disclosed for exchanging data between a central processing unit (CPU) and an input/output processor (IOP). The CPU and IOP may both be senders or receivers depending on whether data is flowing to or from the CPU. Where data is flowing to the CPU, the CPU is the receiver and the IOP is the sender. Where data is flowing from the CPU, the CPU is the sender and the IOP is the receiver. A sender evaluates the amount of empty buffers and, in a preferred embodiment, whether there is more data coming to determine whether to release partially full buffers in its buffer pool. Partially full buffers may be released based on any threshold as desired from a simple integer to a complex algorithm. The evaluation of whether to release partially full buffers is preferably implemented where a sender obtains at least one data packet for sending to a receiver and where a sender obtains an empty buffer from a receiver.

Claims (23)

1. A method for exchanging data between a central processing unit (CPU) and an input/output processor (IOP), the method comprising the steps of:

obtaining data packets from a source to send from a CPU to an IOP;

placing the data packets in a current buffer within a buffer pool belonging to the CPU;

making a first determination whether there is room for at least one more smallest size data packet in the current buffer;

releasing the current buffer where the first determination is negative;

making a second determination whether there is at least one more data packet to come for sending from the CPU to the IOP where the first determination is positive;

evaluating empty buffers in the buffer pool belonging to the CPU; and

releasing the current buffer from the CPU to the IOP where the second determination is negative and the evaluation of the empty buffers satisfies a predetermined threshold.

2. The method of claim 1 wherein the CPU releases the current buffer where the number of empty buffers in the buffer pool exceeds a predetermined amount.

3. The method of claim 1 wherein the predetermined threshold is based on the amount of data in the current buffer.

4. The method of claim 1 wherein the predetermined threshold is a number of empty buffers wherein the number needed to trigger release of the current buffer decreases as the amount of data in the current buffer increases.

5. The method of claim 1 wherein the current buffer is released to the receiver after a predetermined amount of time regardless of the evaluation of whether the empty buffers in the buffer pool satisfies the predetermined threshold.

6. A method for exchanging data between a central processing unit (CPU) and an input/output processor (IOP), the method comprising the steps of:

obtaining an empty buffer at a CPU, the empty buffer being previously released with at least one data packet therein from the CPU to an IOP, back from the IOP;

placing the empty buffer in a buffer pool belonging to the CPU;

making a first determination whether a current buffer of the CPU has at least one data packet therein;

making a second determination whether there is at least one more data packet to come for sending from the CPU to the IOP where the first determination is positive;

evaluating empty buffers in the buffer pool belonging to the CPU; and

releasing the current buffer from the CPU to the IOP where the second determination is negative and the evaluation of the empty buffers satisfies a predetermined threshold.

7. The method of claim 6 wherein the CPU releases the current buffer where the number of empty buffers in the buffer pool exceeds a predetermined amount.

8. The method of claim 6 wherein the predetermined threshold is based on the amount of data in the current buffer.

9. The method of claim 6 wherein the predetermined threshold is a number of empty buffers wherein the number needed to trigger release of the buffer decreases as the amount of data in the buffer increases.

10. The method of claim 6 wherein the current buffer is released to the receiver after a predetermined amount of time regardless of the evaluation of whether the empty buffers in the buffer pool satisfies the predetermined threshold.

Assignments (13)
RELEASE OF SECURITY INTEREST Recorded Oct 28, 2020
From: WELLS FARGO BANK, NATIONAL ASSOCIATION
To: UNISYS CORPORATION
Reel/Frame 054231/0496 →
RELEASE OF SECURITY INTEREST Recorded Nov 9, 2017
From: WELLS FARGO BANK, NATIONAL ASSOCIATION (SUCCESSOR TO GENERAL ELECTRIC CAPITAL CORPORATION)
To: UNISYS CORPORATION
Reel/Frame 044416/0358 →
SECURITY INTEREST Recorded Oct 6, 2017
From: UNISYS CORPORATION
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 044144/0081 →
PATENT SECURITY AGREEMENT Recorded Apr 27, 2017
From: UNISYS CORPORATION
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS COLLATERAL TRUSTEE
Reel/Frame 042354/0001 →
RELEASE OF SECURITY INTEREST Recorded Mar 26, 2013
From: DEUTSCHE BANK TRUST COMPANY AMERICAS, AS COLLATERAL TRUSTEE
To: UNISYS CORPORATION
Reel/Frame 030082/0545 →
RELEASE OF SECURITY INTEREST Recorded Mar 15, 2013
From: DEUTSCHE BANK TRUST COMPANY
To: UNISYS CORPORATION
Reel/Frame 030004/0619 →
SECURITY AGREEMENT Recorded Jun 27, 2011
From: UNISYS CORPORATION
To: GENERAL ELECTRIC CAPITAL CORPORATION, AS AGENT
Reel/Frame 026509/0001 →
PATENT SECURITY AGREEMENT (JUNIOR LIEN) Recorded Oct 13, 2009
From: UNISYS CORPORATION
To: DEUTSCHE BANK TRUST COMPANY AMERICAS, AS COLLATERAL TRUSTEE
Reel/Frame 023364/0098 →
PATENT SECURITY AGREEMENT (PRIORITY LIEN) Recorded Oct 12, 2009
From: UNISYS CORPORATION
To: DEUTSCHE BANK TRUST COMPANY AMERICAS, AS COLLATERAL TRUSTEE
Reel/Frame 023355/0001 →
RELEASE BY SECURED PARTY Recorded Sep 14, 2009
From: CITIBANK, N.A.
To: UNISYS CORPORATION; UNISYS HOLDING CORPORATION
Reel/Frame 023263/0631 →
RELEASE BY SECURED PARTY Recorded Jul 31, 2009
From: CITIBANK, N.A.
To: UNISYS CORPORATION; UNISYS HOLDING CORPORATION
Reel/Frame 023312/0044 →
SECURITY AGREEMENT Recorded Jun 20, 2006
From: UNISYS CORPORATION; UNISYS HOLDING CORPORATION
To: CITIBANK, N.A.
Reel/Frame 018003/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 2, 2004
From: RUSS, CRAIG F.
To: UNISYS CORPORATION
Reel/Frame 015433/0770 →