A cable modem for connecting customer Premises Equipment (cpe) includes a Media access control (mac) layer controller, a Logical link control (llc) bridge (113) interacting with the mac layer controller, an ip stack processing ip frames and interacting with the llc bridge (113), cpe interfaces (115, 116 and 117) and a multiplexer (114) of customer Premises Equipment (cpe) interfaces linked to the cpe interfaces and to the llc bridge (113). The cpe interfaces (115, 116 and 117) communicate with the multiplexer (114) through appropriate functions. The multiplexer (114) has functionality allowing for servicing the flow of frames between the cable network and the interfaces linked to it, directing the received frames to appropriate interfaces.
|
3. A method for controlling flow of data between a cable modem and customer Premises Equipment (cpe) devices linked to the cable modem equipped with a Logical link control (llc) bridge and a multiplexer of cpe interfaces having an input buffer and an output buffer comprising
providing the multiplexer of cpe interfaces with a table of interfaces comprising data enabling identification of the interfaces by a Media access control (mac) address;
using the table of cpe interfaces by an identifying function to determine a cpe interface, to which a frame is to be transmitted via a sending function;
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 recipient cpe interfaces when any one of the recipient cpe interfaces receives the frame;
increasing by one a counter of received frames for each frame received by any one of the recipient cpe interfaces; and
determining that the frame is received by all recipient cpe interfaces when the counter of received frames reaches the counter of informed recipient cpe interfaces.
1. A cable modem for connecting customer Premises Equipment (cpe) devices comprising
a Media access control (mac) layer controller;
a Logical link control (llc) bridge interacting with the mac layer controller;
an internet protocol (ip) stack processing ip frames and interacting with the llc bridge;
cpe interfaces, each cpe interface communicating with one associated cpe device; and
a multiplexer of cpe interfaces linked to the cpe interfaces and to the llc bridge wherein the multiplexer has
a table comprising data related to the cpe interfaces, the data being used by an identification function to determine an interface, to which a data frame with a specific receiver physical address is directed, and
a table with mac addresses of cpe devices and identifiers of the cpe interfaces wherein each interface identifier is determined by a check-and-associate function, and wherein records to the table with mac addresses are added using an adding function, which analyses commands sent by the cpe interfaces to the multiplexers;
wherein the multiplexer enables transfer of data between the llc bridge and the cpe interfaces and wherein each of the cpe interfaces is an application and controls flow of data between the multiplexer and the associated cpe device.
6. A cable modem for connecting customer Premises Equipment (cpe) devices, the cable modem comprising
a Media access control (mac) layer controller;
a Logical link control (llc) bridge interacting with the mac layer controller;
an internet protocol (ip) stack processing ip frames and interacting with the llc bridge;
cpe interfaces, each cpe interface communicating with one associated cpe device; and
a multiplexer of cpe interfaces linked to the cpe interfaces and to the llc bridge wherein the multiplexer has
a table of the cpe interfaces with data related to the cpe interfaces, the data being used by an identification function to determine cpe interface belonging to the cpe interfaces, to which an ip frame with a specific receiver physical address is directed, and
a table with mac addresses of devices of the cpe and identifiers for identifying the cpe interfaces wherein an identifier of cpe interface is determined by a check-and-associate function, and wherein records to the table with mac addresses are added using an adding function, which analyses commands sent by the cpe interfaces to the multiplexer; cpe devices, with a specific mac address, linked to given cpe interfaces, where the identifier of a cpe interface 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 cpe interfaces to the multiplexer;
wherein the multiplexer enables transfer of data between the llc bridge and one of the cpe interfaces; and
wherein each of the cpe interfaces is an interface of a virtual cpe device and operates dependent on received ip frames and controls flow of data between the multiplexer and the associated cpe device.
2. The cable modem according to
4. The method for controlling flow of data according to
transmitting outgoing data from the cable modem through the cpe interface to the output buffer;
checking if the outgoing data is also directed to another cpe interface;
reserving the input buffer;
sending the outgoing data to the input buffer when the outgoing data is directed to another cpe interface
canceling reservation of the input buffer when the outgoing data is received from the input buffer by all cpe interfaces, to which it was directed.
5. The method for controlling flow of data according to
reserving the input buffer;
transmitting incoming data through the llc bridge to the input buffer; and
canceling reservation of the input buffer when the incoming data is received from the input buffer by interfaces, to which it was directed.
|
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.
typedef struct
{
char
*device_name
/*interface name*/
device
device_id
/*unique interface identifier*/
address
device_mac_address
/*interface MAC address*/
flag
device_flag
/*status flag: active/inactive*/
flag
device_control_flag
/*accepting/rejecting control frames flag*/
transmit_f
transmit
/*frame sending function*/
UpDown_f
UpDown
/*status flag controlling function*/
long
sent_packets
/*number of frames sent by the interface*/
long
receive_packets
/*number of frames received by the interface*/
} device_handle
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.
Device MAC address
Interface identifier
Device 1 (MAC1)
Interface of device 1
Device 2 (MAC2)
Interface of device 2
Device 3 (MAC3)
Interface of device 3
Device 31 (MAC31)
Interface of device 3
Device 32 (MAC32)
Interface of device 3
. . .
. . .
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.
Ślipko, Roman, Lazarski, Wojciech, Michalczak, Maciej
Patent | Priority | Assignee | Title |
Patent | Priority | Assignee | Title |
6137793, | Dec 05 1997 | Arris International, INC | Reverse path multiplexer for use in high speed data transmissions |
6195591, | Apr 12 1996 | Fisher-Rosemount Systems, Inc. | Process control system using a process control strategy distributed among multiple control elements |
6310862, | Jun 24 1997 | AT&T Corp.; AT&T Corp | Real-time multimedia conferencing over an ATM network using an intelligent ATM cable modem and hybrid fiber-coax access |
6618386, | Mar 04 1999 | Microsoft Technology Licensing, LLC | Hosting a cable modem in a computer using a virtual bridge |
6738353, | Mar 20 2002 | Sunrise Telecom Incorporated | System and method for monitoring a packet network |
7007296, | Aug 29 2001 | Google Technology Holdings LLC | Active cable modem outside customer premises servicing multiple customer premises |
7107312, | Feb 06 2001 | Alcatel Lucent | Apparatus and method for use in a data/conference call system for automatically collecting participant information and providing all participants with that information for use in collaboration services |
EP1109355, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Nov 30 2001 | ADVANCED DIGITAL BROADCAST POLSKA SP ZO O | ADVANCED DIGITAL BROADCAST LTD | SECURITY AGREEMENT | 014698 | /0826 | |
Nov 06 2003 | LAZARSKI, WOJCIECH | ADVANCED DIGITAL BROADCAST POLSKA SPOLKA Z O O | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 014702 | /0382 | |
Nov 06 2003 | MICHALCZAK, MACIEJ | ADVANCED DIGITAL BROADCAST POLSKA SPOLKA Z O O | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 014702 | /0382 | |
Nov 06 2003 | SLIPKO, ROMAN | ADVANCED DIGITAL BROADCAST POLSKA SPOLKA Z O O | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 014702 | /0382 | |
Nov 13 2003 | Advanced Digital Broadcast Polska SP. Z O.O. | (assignment on the face of the patent) | / | |||
Nov 13 2003 | Advanced Digital Broadcast Ltd. | (assignment on the face of the patent) | / | |||
Apr 01 2009 | ADVANCED DIGITAL BROADCAST POLSKA SP Z O O | ADVANCED DIGITAL BROADCAST S A | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 023254 | /0148 | |
Apr 01 2009 | ADVANCED DIGITAL BROADCAST LTD | ADVANCED DIGITAL BROADCAST S A | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 023254 | /0148 |
Date | Maintenance Fee Events |
Sep 16 2011 | M1551: Payment of Maintenance Fee, 4th Year, Large Entity. |
Mar 09 2016 | M1552: Payment of Maintenance Fee, 8th Year, Large Entity. |
Feb 13 2020 | SMAL: Entity status set to Small. |
Mar 09 2020 | M2553: Payment of Maintenance Fee, 12th Yr, Small Entity. |
Date | Maintenance Schedule |
Sep 09 2011 | 4 years fee payment window open |
Mar 09 2012 | 6 months grace period start (w surcharge) |
Sep 09 2012 | patent expiry (for year 4) |
Sep 09 2014 | 2 years to revive unintentionally abandoned end. (for year 4) |
Sep 09 2015 | 8 years fee payment window open |
Mar 09 2016 | 6 months grace period start (w surcharge) |
Sep 09 2016 | patent expiry (for year 8) |
Sep 09 2018 | 2 years to revive unintentionally abandoned end. (for year 8) |
Sep 09 2019 | 12 years fee payment window open |
Mar 09 2020 | 6 months grace period start (w surcharge) |
Sep 09 2020 | patent expiry (for year 12) |
Sep 09 2022 | 2 years to revive unintentionally abandoned end. (for year 12) |