← Back to Patent Explorer
US5404515A Expired / Lapsed US ⏱️ 0.0 years remaining

Balancing of communications transport connections over multiple central processing units

Assignee: Bull HN Information Systems Inc
•
Filing: 1992-04-30
•
Granted: 1995-04-04
•
Expires: 2012-04-30
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A communications control system in a multi-processor system includes a connection distribution data structure, including, for each central processing unit, a connection count means for storing a number representing the number of communication connections currently being executed by the corresponding central processing unit, and a gate driver interface service module. The gate driver interface service module is a single task resident in the computer system memory with an active invocation in a single central processing unit of the processing system. The gate driver interface service module responds to each request by selecting the central processing unit presently executing the least number of communication connections, and assigning the communication connection to the central processing unit for execution by constructing a corresponding control block containing the identification of the central processing unit assigned to execute the communication operation. The gate driver interface service module provides the control block to a communication controller, and the communication controller being responds to a control block for performing the requested communication operation.

Inventors

  • 👤 Dennis W. Chasse
  • 👤 Tommy W. Kwan

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-01 10:45
CPC Classifications
H; H04; H04L; H04L47/00; H04L47/10; H04L43/00; H04L43/08; H04L43/0805; H04L43/0811

Claims Analysis

Total Claims: 11
Claim 1
Independent Claim 462 words
In a data processing system including a plurality of computer systems interconnected by a communications network, each computer system including a processing system having a plurality of central processing units and a shared memory for storing programs for controlling operations of the central processing units and data to be operated upon by the central processing units, at least one user of the communications network, each user executing on a central processing unit of the computer system and generating requests for communications operations with other users executing on central processing units of other of the computer systems, and at least one communication controller, each communication controller being connected to the communications network for forming communication connections between users, a communications control system for distributing execution of communication connections among the central processing units, comprising: a connection distribution data structure, including for each central processing unit, a connection count means for storing a number representing the number of communication connections currently being executed by the corresponding central processing unit, and a gate driver interface service means, the gate driver interface service means being a single task resident in the computer system memory and having an active invocation in a single central processing unit of the processing system, the gate driver interface service means being responsive to each request for selecting and reading from the connection distribution data structure an identification of the central processing unit presently executing the least number of communication connections, and assigning the communication connection to the central processing unit presently executing the least number of communication connections for execution by constructing a corresponding control block, each control block containing the identification of the central processing unit assigned to execute the communication operation, and providing the control block to a communication controller, each communication controller being responsive to a control block for performing the requested communication operation and including in each communication controller means responsive to a communication from a communication controller in another computer system in response to a communication from a user and corresponding to a control block resident in the communication controller for generating an corresponding interrupt output, the interrupt output identifying the central processing unit assigned to execute the corresponding communication operation, and transmitting the corresponding control block to the central processing unit assigned to execute the corresponding communication operation, and in each central processing unit having a user executing therein, an interrupt handler responsive to a communication controller interrupt output and corresponding control block identifying the central processing unit as assigned to execute the corresponding communication operation for transferring the control block to an invocation of the gate layer service means on the assigned central processing unit, the gate layer service means being responsive to the control block for transmitting the communication to the local user.
Claim 2
Dependent Claim 462 words
In a data processing system including a plurality of computer systems interconnected by a communications network, each computer system including a processing system having a plurality of central processing units and a shared memory for storing programs for controlling operations of the central processing units and data to be operated upon by the central processing units, at least one user of the communications network, each user executing on a central processing unit of the computer system and generating requests for communications operations with other users executing on central processing units of other of the computer systems, and at least one communication controller, each communication controller being connected to the communications network for forming communication connections between users, a communications control system for distributing execution of communication connections among the central processing units, comprising: a connection distribution data structure, including for each central processing unit, a connection count means for storing a number representing the number of communication connections currently being executed by the corresponding central processing unit, and a gate driver interface service means, the gate driver interface service means being a single task resident in the computer system memory and having an active invocation in a single central processing unit of the processing system, the gate driver interface service means being responsive to each request for selecting and reading from the connection distribution data structure an identification of the central processing unit presently executing the least number of communication connections, and assigning the communication connection to the central processing unit presently executing the least number of communication connections for execution by constructing a corresponding control block, each control block containing the identification of the central processing unit assigned to execute the communication operation, and providing the control block to a communication controller, each communication controller being responsive to a control block for performing the requested communication operation and including in each communication controller means responsive to a communication from a communication controller in another computer system in response to a communication from a user and corresponding to a control block resident in the communication controller for generating an corresponding interrupt output, the interrupt output identifying the central processing unit assigned to execute the corresponding communication operation, and transmitting the corresponding control block to the central processing unit assigned to execute the corresponding communication operation, and in each central processing unit having a user executing therein, an interrupt handler responsive to a communication controller interrupt output and corresponding control block identifying the central processing unit as assigned to execute the corresponding communication operation for transferring the control block to an invocation of the gate layer service means on the assigned central processing unit, the gate layer service means being responsive to the control block for transmitting the communication to the local user.
Claim 3
Dependent Claim 41 words
The communications control system of claim 1, wherein: the gate driver interface service means is responsive to a request from the user for invoking the gate layer service means in the central processing unit of the gate driver interface service means.
Claim 4
Dependent Claim 303 words
The communications control system of claim 1, wherein: each user is responsive to being initialized on the computer system for generating a request to receive receive requests from other computer systems directed to the user, the gate driver interface service means is responsive to the receive request for communicating the receive request to the presently active invocation of the gate layer service means, the gate layer service means is responsive to the receive request for constructing a corresponding receive control block, and providing the receive control block to the communication controller, and wherein each communication controller further comprises, means responsive to a communication request from a communication controller in another computer system for a communication operation with a user in the computer system for generating a corresponding incoming request interrupt output, and transmitting the corresponding control block to the central processing unit in which the presently active invocation of the gate layer service means is resident, and wherein each central processing unit further includes, an interrupt handler, wherein the interrupt handler in the central processing unit in which the presently active invocation of the gate layer service means is responsive to a communication controller incoming communication interrupt and the corresponding receive control block for transferring the control block to the gate layer service means, the gate layer service means is responsive to the gate request for selecting and reading from the connection distribution data structure an identification of the central processing unit presently executing the least number of communication connections, and assigning the communication connection to the central processing unit presently executing the least number of communication connections for execution by writing into the control block the identification of the central processing unit assigned to execute the communication operation, and providing a corresponding gate request to the user for execution by the user.
Claim 5
Dependent Claim 29 words
The communications control system of claim 1 wherein each request comprises: an identification of the requesting user, and an identification of another user to participate in the communication operation.
Claim 6
Dependent Claim 38 words
The communications control system of claim 1 wherein each control block comprises: the identification of the requesting user, the identification of the other user, and an identification of the central processing system assigned to execute the communication connection.
Claim 7
Dependent Claim 147 words
The communications control system of claim 1, wherein: each communication controller includes at least one network device connected to the communications network for performing the communication operations under control of the communication controller, the connection distribution data structure further includes a directory of network devices in the processing system, the gate layer service means is further responsive to the request from the user for selecting and reading from the directory of network devices an identification of a currently available network device for performing the communication operation, each control block includes the identification of the requesting user, the identification of the other user, the identification of the selected network device, and an identification of the central processing system assigned to execute the communication connection, and the communication controller is responsive to the control block for directing the selected network device for performing the communication operation of the request.
Claim 8
Dependent Claim 293 words
The communications control system of claim 1, wherein each communication controller includes at least one network device connected to the communications network for performing the communication operations under control of the communication controller and the connection distribution data structure comprises: a controller directory, containing at least one connection count, each connection count corresponding to a central processing system in the computer system and storing the present number of connections currently assigned to the corresponding central processing system, and at least one user directory pointer, each user directory pointer corresponding to a user presently executing on the computer system and indicating the location in the shared memory of a corresponding user directory, at least one user directory, each user directory containing at least one resource control table pointer, each resource control table pointer corresponding to a communication controller and indicating the location in the shared memory of a corresponding resource control table, and at least one resource control table, each resource control table corresponding to a network device, and containing a transfer directory pointer, the transfer directory pointer indicating the location in the shared memory of a corresponding transfer directory, the transfer directory, corresponding to a communication connection being executed through the corresponding network device, and containing at least one transfer table pointer indicating the location in the shared memory of a corresponding transfer table, at least one transfer table, each transfer table containing a central processing unit field, the central processing unit field corresponding to a communication connection being executed through the network device and containing the identification of the central processing unit assigned to execute the communication connection, and a transfer table count field for storing a number representing the number of control blocks currently being executed through the corresponding network device.
Claim 9
Dependent Claim 409 words
In a data processing system including a plurality of computer systems interconnected by a communications network, each computer system including a processing system having a plurality of central processing units and a shared memory, at least one user of the communications network executing on a central processing unit of the computer system and generating requests for communications operations with other users executing on other computer systems, and at least one communication controller connected to the communications network for forming communication connections between users, a communications control system for distributing execution of communication connections among the central processing units, comprising: a connection distribution data structure for storing for each central processing unit a connection count representing the number of communication connections currently being executed by the corresponding central processing unit, and a gate driver interface service means resident as a single task resident in the shared memory and having an active invocation in a single central processing unit of the processing system, in each central processing unit having a user executing therein, a gate layer service means responsive to a request from the user for communicating the request to the present active invocation of the gate driver interface service means, the gate driver interface service means being responsive to each request received from the gate layer service means for selecting the central processing unit presently executing the least number of communication connections and assigning the communication connection to the selected central processing unit by constructing a corresponding control block, the control block containing the identification of the central processing unit assigned to execute the communication operation, and providing the control block to a communication controller, the communication controller being responsive to a control block for performing the requested communication operation and including in each communication controller, means responsive to a communication from a communication controller in another computer system for generating a corresponding interrupt output, and providing a corresponding control block to a central processing unit assigned to execute the corresponding communication operation, and in each central processing unit having a user executing therein, an interrupt handler responsive to a communication controller interrupt output and corresponding control block identifying the central processing unit as assigned to execute the corresponding communication operation for transferring the control block to an invocation of the gate layer service means on the assigned central processing unit, the gate layer service means being responsive to the control block for transmitting the communication to the local user.
Claim 10
Dependent Claim 409 words
In a data processing system including a plurality of computer systems interconnected by a communications network, each computer system including a processing system having a plurality of central processing units and a shared memory, at least one user of the communications network executing on a central processing unit of the computer system and generating requests for communications operations with other users executing on other computer systems, and at least one communication controller connected to the communications network for forming communication connections between users, a communications control system for distributing execution of communication connections among the central processing units, comprising: a connection distribution data structure for storing for each central processing unit a connection count representing the number of communication connections currently being executed by the corresponding central processing unit, and a gate driver interface service means resident as a single task resident in the shared memory and having an active invocation in a single central processing unit of the processing system, in each central processing unit having a user executing therein, a gate layer service means responsive to a request from the user for communicating the request to the present active invocation of the gate driver interface service means, the gate driver interface service means being responsive to each request received from the gate layer service means for selecting the central processing unit presently executing the least number of communication connections and assigning the communication connection to the selected central processing unit by constructing a corresponding control block, the control block containing the identification of the central processing unit assigned to execute the communication operation, and providing the control block to a communication controller, the communication controller being responsive to a control block for performing the requested communication operation and including in each communication controller, means responsive to a communication from a communication controller in another computer system for generating a corresponding interrupt output, and providing a corresponding control block to a central processing unit assigned to execute the corresponding communication operation, and in each central processing unit having a user executing therein, an interrupt handler responsive to a communication controller interrupt output and corresponding control block identifying the central processing unit as assigned to execute the corresponding communication operation for transferring the control block to an invocation of the gate layer service means on the assigned central processing unit, the gate layer service means being responsive to the control block for transmitting the communication to the local user.
Claim 11
Dependent Claim 220 words
The communications control system of claim 8, wherein: each user is responsive to being initialized on the computer system for generating a request to receive requests from other computer systems directed to the user, the gate driver interface service means and the gate layer service means are responsive to the receive request for constructing a corresponding receive control block and providing the receive control block to the communication controller, each communication controller further is responsive to a request from a communication controller in another computer system for a communication operation with the user for generating a corresponding interrupt output and transmitting the corresponding receive control block to the central processing unit in which the presently active invocation of the gate layer service means is resident, and the interrupt handler in the central processing unit in which the presently active invocation of the gate layer service means resides is responsive to a receive control block for transferring the control block to the gate layer service means, the gate layer service means is responsive to the control block for selecting from the connection distribution data structure an identification of the central processing unit presently executing the least number of communication connections, assigning the communication connection to the selected central processing unit, and providing a corresponding gater request to the user for execution.

References Cited (Backward Citations)

US3702006A Cited
US4080649A Cited
US4495570A Cited
US4403286A Cited
US4694396A Cited
US4914583A Cited
US5109486A Cited
US5168547A Cited
US5179702A Cited
US5185861A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1998-04-03 1998-10-03 1999-04-04 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2002-04-03 2002-10-03 2003-04-04 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2006-04-03 2006-10-03 2007-04-04 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag