Channel bonding in a remote communications server system
First Claim
1. A communications server system for managing communication sessions between multiple remote users and a network, the communications server system comprising:
- a network interface coupled to a plurality of connection segments through a first bus, the network interface operable for receiving outgoing network packets from a connection segment on the first bus and transmitting the outgoing network packets to the network, and for receiving incoming network packets from the network and transmitting the incoming network packets to the connection segment on the first bus;
the plurality of connection segments further coupled to a second bus, each one of the connection segments comprising;
a communications module for coupling to a telephone line and operable for transforming incoming telephone signals from the remote users into frames of incoming data and transmitting the frames of incoming data on the second bus, the communications module further operable for transforming frames of outgoing data received on the second bus into outgoing telephone signals for the remote users, wherein the telephone line comprises a plurality of telephone connections for a remote user; and
a remote access server processor for controlling the communication sessions through the one connection segment, the remote access server processor operable for converting the frames of incoming data received on the second bus from the plurality of telephone connections for the remote user into outgoing network packets from the remote user and transmitting the outgoing network packets on the first bus, and for converting the incoming network packets to the remote user received on the first bus into the frames of outgoing data and transmitting the frames of outgoing data on the second bus to the plurality of telephone connections for the remote user; and
a system manager processor coupled to the plurality of connection segments through a third bus, the system manager processor operable for transmitting commands to each connection segment and for receiving status information from each connection segment on the third bus.
1 Assignment
0 Petitions
Accused Products
Abstract
A remote communications server system enables multiple remote users simultaneous access to a network through a segmented design that distributes the processing of the connections among a combination of buses and processors. The system coordinates a plurality of independent communications links bonded together into a single channel to create a virtual connection to the network having a bandwidth greater than the individual links. The system supports a mixture of physical and multiplexed communication links and allows the intermixing of different types of links in a bonded channel. The system is scalable in that segments can be added as needed and the number of lines handled by a segment can be increased.
110 Citations
19 Claims
-
1. A communications server system for managing communication sessions between multiple remote users and a network, the communications server system comprising:
-
a network interface coupled to a plurality of connection segments through a first bus, the network interface operable for receiving outgoing network packets from a connection segment on the first bus and transmitting the outgoing network packets to the network, and for receiving incoming network packets from the network and transmitting the incoming network packets to the connection segment on the first bus;
the plurality of connection segments further coupled to a second bus, each one of the connection segments comprising;
a communications module for coupling to a telephone line and operable for transforming incoming telephone signals from the remote users into frames of incoming data and transmitting the frames of incoming data on the second bus, the communications module further operable for transforming frames of outgoing data received on the second bus into outgoing telephone signals for the remote users, wherein the telephone line comprises a plurality of telephone connections for a remote user; and
a remote access server processor for controlling the communication sessions through the one connection segment, the remote access server processor operable for converting the frames of incoming data received on the second bus from the plurality of telephone connections for the remote user into outgoing network packets from the remote user and transmitting the outgoing network packets on the first bus, and for converting the incoming network packets to the remote user received on the first bus into the frames of outgoing data and transmitting the frames of outgoing data on the second bus to the plurality of telephone connections for the remote user; and
a system manager processor coupled to the plurality of connection segments through a third bus, the system manager processor operable for transmitting commands to each connection segment and for receiving status information from each connection segment on the third bus. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
a T1 connection line interface operable for demultiplexing the incoming telephone signals from the remote users into incoming service channels for transmission on a fourth bus, and for multiplexing outgoing service channels on the fourth bus into outgoing telephone signals for transmission to the remote users; and
a plurality of modem modules coupled to the fourth bus, each modem module comprising;
a plurality of modems, each modem operable for demodulating incoming data from a service channel and for modulating outgoing data into the service channel; and
a modem module processor operable for receiving the demodulated data from the modems in the modem module and packing the demodulated data into the frames of incoming data for transmission on the second bus, the modem module processor further operable for receiving the frames of outgoing data from the second bus and sending the outgoing data in the received frames to the modems in the modem module.
-
-
6. The communications server system of claim 1, wherein the first bus is an Ethernet standard bus.
-
7. The communications server system of claim 1, wherein the second bus is a 16-bit parallel bus running at 8 megahertz.
-
8. The communications server system of claim 1, wherein the third bus is a serial bus running at 57,600 bits per second.
-
9. The communications server system of claim 5, wherein the fourth bus comprises a data bus and a control bus.
-
10. The communications server system of claim 9, wherein the control bus is an asynchronous serial bus running at 9600 bits per second.
-
11. A communications server system for managing communication sessions between multiple remote users and a network, the communications server system comprising:
-
network means for managing data transferred between a plurality of connection segments and the network on a first transfer means; and
each one of the connection segments comprising;
communications means for managing data and control information to and from the remote users on a second transfer means, wherein a remote user is coupled to the communications means through a plurality of telephone connections, the communication means including;
a plurality of modem modules coupled to a third transfer means, each modem module including;
modem means for processing data on the second and third transfer means; and
control means for managing data traversing the modem means on the second and third transfer means; and
server means for managing data traversing the one connection segment on the first and second transfer means, and for coordinating the plurality of telephone connections for the remote user; and
manager means for controlling the plurality of connection segments through a fourth transfer means.
-
-
12. A method of distributing processing requirements for communications sessions between multiple remote telephone users and a network, the method comprising:
-
dividing the communications sessions among a plurality of connection segments;
dedicating a communications line interface to each connection segment to manage data and control information in incoming telephone signals from the remote users and outgoing telephone signals to the remote users, wherein a remote user is coupled to the communications line interface through a plurality of telephone connections;
dedicating a remote access server processor to each connection segment to transform the data in the incoming telephone signals from the plurality of telephone connections for the remote user into data for the network, and to transform the data from the network into the data for outgoing telephone signals to the plurality of telephone connections for the remote user;
coupling the communications line interface and the remote access server processor in each connection segment to a first bus;
assigning a network interface to manage communication between the remote access server processors and the network; and
coupling the remote access server processors and the network interface to a second bus. - View Dependent Claims (13, 14, 15)
establishing a single network channel for the remote user; and
assigning the plurality of telephone connections to the single network channel.
-
-
14. The method of claim 12, further comprising:
-
assigning each communications session in a connection segment to a modem based on control information in the incoming telephone signals;
grouping the modems assigned to the communications sessions in a connection segment into a plurality of modem pools for the connection segment;
coupling a modem pool processor to the modems in a modem pool to manage data traversing the modems between the communications line interface of the connection segment and the remote access server processor of the connection segment; and
coupling the remote access server processor and the modem pool processors in the segment to a third bus.
-
-
15. The method of claim 12, further comprising:
-
assigning a system manager processor to control operation of the plurality of connection segments; and
coupling the system manager processor and the connection segments on a fourth bus.
-
-
16. A computer-readable medium having computer-executable modules for converting between frames of remote user data and network data packets comprising:
-
a modem support layer module for distributing an incoming frame of remote user data to one of a plurality of protocol layer modules depending on protocol information in the frame;
the plurality of protocol layer modules for removing control information from the incoming frame to create an incoming data packet and distributing the incoming data packet to a link support layer module, wherein one of the plurality of protocol layer modules combines a plurality of incoming frames to create an incoming data packet; and
the link support layer module for distributing the incoming data packet to one of a plurality of routing modules depending on an address in the incoming data packet, wherein each routing module creates an outgoing network data packet. - View Dependent Claims (17, 18, 19)
each routing module creates outgoing data packets from data received in incoming network data packets;
the link support layer module receives the outgoing data packets from each one of the plurality of routing modules and distributes each outgoing data packet to one of the plurality of protocol layer modules depending on an address in the outgoing data packet; and
each one of the plurality of protocol layer modules receives the outgoing data packets, adds control information to the outgoing data packet to create outgoing frames and directs the outgoing frames to the modem support layer module for distribution, wherein the one of the plurality of protocol layer modules creates a plurality of outgoing frames from a single outgoing data packet.
-
Specification