Automatic compilation of address filter information that permits a cable modem to appropriately route incoming data packets to destination devices is described. Cable modems use address filter information to identify incoming data packets that are addressed to communication devices associated with the cable modem. The address filter information might be, for example, a list of addresses of communication devices that have previously registered with the cable modem. On occasion, the cable modem may have incorrect or insufficient or incomplete filter information when, for instance, a new communication device is added to a group of networked communication devices associated with the cable modem. In order to automatically recognize associated communication devices that are to be registered with the cable modem, a cable modem driver inspects the source address of outgoing data packets. If the source address is not included in the address filter information, the source address is added to the address filtering information. Subsequently, if an incoming data packet addresses the associated communication device, the cable modem driver allows the data packet to be passed through to the communication device.
Legal claims defining the scope of protection, as filed with the USPTO.
1. In a system having a cable modem that is hosted by customer premises equipment, the customer premises equipment including a media access controller representing a data link layer of a cable modem protocol stack, and the cable modem representing a physical layer of the cable modem protocol stack, wherein the cable modem is connected to at least one communication device and a cable network, and wherein the cable modem is configured to transmit outgoing data packets from the at least one communication device over the cable network and is further configured to transmit incoming data packets that are received from the cable network to the at least one communication device, a method for automatically registering a new communication device with the cable modem, and in such a manner as to enable delivery of incoming data packets only to the one or more communication devices when the incoming data packets have corresponding destination addresses that are determined to be associated with the one or more registered communication devices, the method comprising the acts of: preparing, by the media access controller, an outgoing data packet from the at least one communication device such that the outgoing data packet is compatible with a hardware abstraction interface layer between the data link layer and the physical layer of the cable modem protocol stack, the hardware abstraction interface layer comprising an application programming interface configured for separating hardware of the cable modem from software of the cable modem protocol stack; transmitting the outgoing data packet from the media access controller to an interface of the hardware abstraction interface layer; sending, by the interface, the outgoing data packet to the cable modem; the cable modem receiving the outgoing data packet from the at least one communication device through the interface of the hardware abstraction interface layer, the outgoing data packet having an address that identifies the communication device; the cable modem comparing the address with a list of addresses that identify any communication devices that have previously been registered with the cable modem; upon the cable modem determining that the address is not included in the list, adding the address to the list of addresses, such that the communication device is automatically registered with the cable modem; upon the cable modem receiving an incoming data packet from the cable network which includes a destination address, comparing the destination address of the incoming data packet to the list of addresses; the cable modem transmitting, through the interface of the hardware abstraction interface layer, the incoming data packet to any of one or more communication devices that have been registered with the cable modem and that are associated with the destination address as determined by the list of addresses; and the cable modem filtering the incoming data packet when the destination address is not associated with any of the one or more communication devices that have been registered with the cable modem, as determined by the list of addresses, and such that the cable modem effectively prevents the data packet from being delivered to any of the one or more communications devices through the cable modem.
2. The method according to claim 1 , wherein the cable modem comprises a bridging component.
3. The method according to claim 2 , wherein the act of receiving comprises the acts of: the communication device writing the outgoing data packet to a buffer accessible by the bridging component associated with the cable modem; and the bridging component accessing the outgoing data packet in the buffer.
4. The method according to claim 2 , further comprising the acts of: determining that the destination of the outgoing data packet is not destined for a communications device that is local to the cable modem; and transmitting the outgoing data packet over a cable network.
5. The method according to claim 2 , further comprising the act of: determining that the destination of the outgoing data packet is destined for a communications device that is local to the processing device; and transmitting the outgoing data packet to the communications device that is local to the processing device.
6. The method according to claim 2 , wherein the act of comparing comprises the act of the bridging component comparing the address with a list of addresses that identify any communication devices that have previously been registered with the bridging component.
7. The method according to claim 2 , wherein the act of determining comprises the act of the bridging component determining that the address is not included in the list.
8. The method according to claim 2 , wherein the act of adding comprises the act of the bridging component adding the address to the list of addresses.
9. The method according to claim 1 , further comprising the act of the communication device generating the outgoing data packet.
10. The method of claim 1 , further comprising the acts of: determining that the communication device cannot share a buffer with the cable modem associated with the cable modem; a bridging component creating a separate buffer for the communication device; and the communication device writing the outgoing data packet to the separate buffer.
11. The method according to claim 1 , further comprising the acts of: using the communication device for the first time to communicate over the cable network, so as to generate the outgoing data packet; and the act of adding the address to the list of addresses resulting in the communication device being automatically registered by the cable modem.
12. The method according to claim 1 , wherein the cable modem comprises at least a portion of the communication device, the method further comprising the acts of: using the communication device for a first time to communicate over the cable network after a cable modem driver has been installed in the communication device; and the act of using the processing device for a first time resulting in the generation of the outgoing data packet.
13. The method according to claim 1 , further comprising the acts of: recognizing that the destination address matches the address that has been added to the list of addresses; and transmitting the incoming data packet to the communication device in response to the act of recognizing.
14. The method according to claim 1 , wherein the act of receiving an incoming data packet comprises the acts of: receiving the incoming data packet at the cable modem; and transmitting the incoming data packet to a cable modem driver.
15. The method according to claim 1 , wherein the cable modem is hosted by the processing device.
16. The method according to claim 15 , wherein the cable modem is external to the processing device.
17. A computer program product for implementing, in a system having a cable modem that is hosted by customer premises equipment, the customer premises equipment including a media access controller representing a data link layer of a cable modem protocol stack, and the cable modem representing a physical layer of the cable modem protocol stack, wherein the cable modem is connected to at least one communication device and a cable network, and wherein the cable modem is configured to transmit outgoing data packets from the at least one communication device over the cable network and is further configured to transmit incoming data packets that are received from the cable network to the at least one communication device, a method for automatically registering a new communication device with the cable modem, and in such a manner as to enable delivery of incoming data packets only to the one or more communication devices when the incoming data packets have corresponding destination addresses that are determined to be associated with the one or more registered communication devices, the computer program product comprising: a computer-readable medium carrying executable instructions that, when executed, are capable of having the cable modem perform the acts of: preparing, by the media access controller, an outgoing data packet from the at least one communication device such that the outgoing data packet is compatible with a hardware abstraction interface layer between the data link layer and the physical layer of the cable modem protocol stack, the hardware abstraction interface layer comprising an application programming interface configured for separating hardware of the cable modem from software of the cable modem protocol stack; transmitting the outgoing data packet from the media access controller to an interface of the hardware abstraction interface layer; sending, by the interface, the outgoing data packet to the cable modem; receiving the outgoing data packet for transmission onto the cable network from the at least one communication device through the interface of the hardware abstraction interface layer, the outgoing data packet having an address that identifies the communication device; comparing the address with a list of addresses that identify any communication devices that have previously been registered with the cable modem; upon the cable modem determining that the address is not included in the list, adding the address to the list of addresses, such that the communication device is automatically registered with the cable modem; upon the cable modem receiving an incoming data packet from the cable network which includes a destination address, comparing the destination address of the incoming data packet to the list of addresses; transmitting, through the interface of the hardware abstraction interface layer, the incoming data packet to any of one or more communication devices that have been registered with the cable modem and that are associated with the destination address as determined by the list of addresses; and filtering the incoming data packet when the destination address is not associated with any of the one or more communication devices that have been registered with the cable modem, as determined by the list of addresses, and such that the cable modem effectively prevents the data from being delivered to any of the one or more communications devices through the cable modem.
18. The computer program product of claim 17 , wherein the executable instructions, when executed, are further capable of performing the acts of: recognizing that the destination address matches the address that has been added to the list of addresses; and transmitting the incoming data packet to the communication device in response to the act of recognizing.
19. The computer program product of claim 17 , wherein the destination address does not match any address in the list of addresses, and wherein the incoming data packet is filtered.
20. The method according to claim 1 , wherein the destination address does not match any address in the list of addresses, and wherein the incoming data packet is filtered.
Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.
August 10, 1999
May 3, 2005
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.