This application claims priority to Polish Application No. P-357152, filed Nov. 15, 2002, the contents of which are incorporated herein by reference.
1. Field of the Invention
The present invention relates to a cable modem for connecting Customer Premises Equipment (CPE) and a method of controlling flow of data between the cable modem and the Customer Premises Equipment (CPE).
2. Brief Description of the Background of the Invention Including Prior Art
Broadband modems, such as cable and xDSL modems are well known and in common use. Cable modem operation/is defined by the Data-Over-Cable Service Interface Specifications (DOCSIS).
Currently used modems have a functionality of servicing a single interface of a given Customer Premises Equipment (CPE). An example of a cable modem is described in the European patent application No. EP 1 109 355 A2 entitled “Cable modem link layer bridge”. It is a typical modem, servicing only a single interface. Being limited to connecting only a single interface (for instance an Ethernet port), a user may choose to connect a multiplexer such as an Ethernet hub, which will allow for connecting multiple devices. This approach is limiting in that it only allows for connecting devices through the Ethernet link. Similarly, it can be a USB port, which allows the user to connect various USB devices through a USB hub. What can be noticed from this example, however, is that the user is limited to a single type of connection, such as the Ethernet or the USB connection.
It is an object of this invention to provide a cable modem for linking various devices.
It is another object of this invention to provide a method of controlling flow of data between the modem and various devices.
These and other objects and advantages of the present invention will become apparent from the detailed description, which follows.
A cable modem for connecting Customer Premises Equipment (CPE) according to the present invention includes a Media Access Control (MAC) layer controller, a Logical Link Control (LLC) bridge interacting with the MAC layer controller, an IP stack processing IP frames and interacting with the LLC bridge, CPE interfaces, in which one interface is linked to one device of Customer Premises Equipment and a multiplexer of Customer Premises Equipment (CPE) interfaces linked to the CPE interfaces and to the LLC bridge. The multiplexer has a table of the CPE interfaces linked to the multiplexer with data related to the CPE interfaces, the data being used by an identification function to determine an addressed interface chosen from the CPE interfaces, to which a frame with a specific receiver physical address is directed. Furthermore, the multiplexer has a table with MAC addresses of devices of the CPE and identifiers of the CPE interfaces to which of the devices of the CPE are linked, where an interface identifier, to which device of the CPE with a specific MAC address is connected, is determined by a check-and-associate function, and records to the table with MAC addresses are added using an adding function, which analyses commands sent by the interfaces. The multiplexer enables transfer of data between the LLC bridge and one of the CPE interfaces. Each of the CPE interfaces can be an interface of a physical CPE and controls flow of data between the multiplexer and a CPE driver or an interface of a virtual CPE being an application and operates dependent on received frames and controls flow of data between the multiplexer and the application. The table of the CPE interfaces comprises a name of the device of the CPE, an ID number of the device of the CPE and a MAC address of the device of the CPE.
In another aspect of the present invention, a method for controlling flow of data between a cable modem and CPE linked to the cable modem equipped with a multiplexer of CPE interfaces having an input buffer and an output buffer includes the steps of providing the multiplexer of CPE interfaces with a table of interfaces comprising data enabling identification of the interfaces by MAC addresses and using the table of the CPE interfaces by an identifying function to determine an identifier of each CPE interface, to which a frame with a specific receiver MAC address is to be transmitted. Furthermore, the method can include the steps of transmitting outgoing data from the cable modem through the CPE interface to the output buffer, checking if the outgoing data is directed to another interface, reserving the input data, sending the data to the input buffer when the data is directed to another interface, canceling the reservation of the input buffer when the outgoing data is received from the input buffer by all CPE interfaces, to which it was directed and sending information to the LLC bridge about the outgoing data in the output buffer directed to the LLC bridge as well as reserving the input buffer, transmitting the incoming data through the LLC bridge to the input buffer, canceling the reservation of this buffer when the incoming data is received from the input buffer by all interfaces, to which it was directed. The method can also include controlling the input buffer by creating a list of recipient CPE interfaces to which the frame is directed, informing the recipient CPE interfaces about the frame in the input buffer, increasing by one a counter of informed recipients for each informed recipient CPE interfaces and increasing by one a counter frame receipts when recipient CPE interfaces receive the frame from the buffer and determining that the data is received by all recipient CPE interfaces when the counter of received frames reaches the counter of informed recipients.
The novel features, which are considered as characteristic for the invention are set forth in the appended claims. The invention itself, however, both as to its construction and its method of operation, together with additional objects and advantages thereof, will be best understood from the following description of specific embodiments when read in connection with the accompanying drawings.
In the accompanying drawings one of the possible embodiments of the present invention is shown, where
The dataflow in the cable modem, between the cable network and the CPE, is presented in
The diagram of the multiplexer of interfaces and its connections with the cable network side 301 and the CPE side 302 is shown in
The data in the presented embodiment are transmitted as Ethernet frames. Two types of frames can be transmitted through the system: data frames and control frames.
An example of a format of a data frame 401 is shown in
In order to enable the use of a given device, its interface—i.e. the set of functions enabling communication between the multiplexer of interfaces and the device—should be registered in the system. The interface is registered using an appropriate function, which registers the parameters of that interface in the table of interfaces. An example of a structure defining parameters of an interface is shown below.
Following system startup, consecutive interfaces are initialized. During the initialization, a table, associating interface identifiers with MAC addresses allocated to them, is created. The MAC (Media Access Control) addresses are identify a given device in the Media Access Control layer. This is the layer controlling the low-level devices protocols. According to the Open System Interface (OSI) network model, the MAC and LLC (Logical Link Control) layers together form the DLC (Data Link Control) layer.
An example of a structure of a table associating interfaces identifiers and MAC addresses assigned to them is shown below. The table is further referred-to as the MAC/CPE table.
There is yet another table created in the system. This is the table of interfaces. Its columns determine interfaces parameters given during the registration of the interface in the interface structure. These are, for example, the name of the CPE, its ID number, and its MAC address. The interface table stores only data concerning registered interfaces. Interfaces are registered by invoking a function, which reads the structure of the data (struct device_handle) as a parameter and stores it in the interface table.
Additional devices may be connected to a single CPE interface. Several PC computers can be connected to an Ethernet interface through a hub. Each of these computers has its own MAC address. Devices may transmit control frames—for example ARP (Address Resolution Protocol) frames—during system initialization or its operation. These frames pass through an appropriate device interface. This interface transmits them further to the output buffer, from where they are fetched by the bridge. An appropriate function monitors the frames coming in to the output buffer, reads the MAC addresses of the sender and the interface identifier of the device the given frame originated from. The function next checks whether the given MAC address is present the interfaces table. If the given MAC address is not found, the function adds information, regarding the correlation of the MAC address with an interface identifier, to the table. During further system operation, upon the appearance of frames destined for a given MAC address, this address will be associated with an appropriate device interface identifier, and the frame will be sent to that device.
Sending and receiving of the data is accomplished with the help of the buffers block 521, comprising an output buffer 501 and an input buffer 511. The structure and operation of these buffers is shown in
The procedure for transmitting data from the interface to the cable network is illustrated in
The procedure of checking the reception of data from the input buffer, shown in
When the bridge receives a frame, it acts like a typical cable modem bridge, i.e. it directs the frame to the side of the cable network. Operation of the bridge is not relevant for this description.
The procedure of receiving data is presented on
After the interface of the device is informed about the frame awaiting it in the input buffer—meaning it receives a pointer to that buffer—it invokes its frame-receiving procedure, as shown in
A flow diagram of the check-and-associate function is shown in
A flow diagram of the adding function, analyzing the information transmitted from the CPE interfaces to the LLC bridge, is shown in
Information in the modem is sent along various paths, depending on the type of information that is being transmitted. Notices concerning frames destined for a specified MAC, awaiting in a specified buffer, are sent along the path from the input buffers through the managing block and the check-and-associate function to the CPE interface. Data fetched by the interfaces from a specified buffer is transmitted directly between the input buffers and the CPE interfaces. Buffer reservation requests and notices of a buffer being released (bypassing the adding function) are transmitted along the path from the CPE interfaces, through the adding function and the managing block to the output buffers. Data transmitted by the interfaces to a specified buffer is transmitted directly between the output buffers and the CPE interfaces.
The solution presented above allows for connecting any number of interfaces of various physical devices directly to the modem. These may include, for example, PC computers or cable TV decoders and may be connected through USB, Ethernet or serial ports. The above solution also allows for direct connection of virtual devices—such as applications servicing the flow of control frames through a network.
The preferred embodiments having been thus described, it will now be evident to those skilled in the art that further variation thereto may be contemplated. Such variations are not to be regarded as a departure from the invention, the true scope of the invention being set forth in the claims appended hereto.
Number | Date | Country | Kind |
---|---|---|---|
357152 | Nov 2002 | PL | national |
Number | Name | Date | Kind |
---|---|---|---|
6137793 | Gorman et al. | Oct 2000 | A |
6195591 | Nixon et al. | Feb 2001 | B1 |
6310862 | Roy | Oct 2001 | B1 |
6618386 | Liu et al. | Sep 2003 | B1 |
6738353 | Chong | May 2004 | B2 |
7007296 | Rakib | Feb 2006 | B2 |
7107312 | Hackbarth et al. | Sep 2006 | B2 |
Number | Date | Country |
---|---|---|
1 109 355 | Jun 2001 | EP |
Number | Date | Country | |
---|---|---|---|
20040109469 A1 | Jun 2004 | US |