METHOD AND APPARATUS FOR CONNECTING A WIRELESS LAN TO A WIRED LAN

Abstract: An internetworking node for providing internetworking services for mobile wireless nodes is disclosed. Each mobile wireless node is associated with at the most one internetworking node. Each mobile wireless node selects which internetworking node it will associate with. The internetworking node will then act for all wireless nodes associated to it in relaying messages between wireless nodes or between a wired LAN and the wireless nodes.

Description: METHOD AND APPARATUS FOR CONNECTING A WIRELESS LAN TO A WIRED LAN FIELD OF THE INVENTION This invention pertains to wireless networks generally, and means for connecting wireless nodes or wireless LANs to wired LANs in particular. BACKGROUND OF THE INVENTION Local Area Networks (LANs) have historically consisted of nodes interconnected by physical telecommunications media (eg, coaxial cable, twisted pair wire, or fiber optics). We shall refer to such LANs as wired LANs. Recently wireless LANs, the nodes of which are not connected by means of a physical medium, have started to appear in the market. These wireless LANs communicate by means of infra-red (IR), radio or other signals. One of the benefits of using wireless LANs is that cabling is not required. This is a particularly useful feature for mobile nodes such as laptop and notebook computers, PDAs (personal digital assistants), and the like. If equipped with an appropriate wireless adapter (which includes a transmitter/receiver and control card), such as an IR wireless Adapter, the mobile nodes can move around and remain connected to the network, provided they do not move out of range. One method of implementing a wireless LAN is similar to a cellular phone network system. In this method wireless nodes do not communicate directly with each other, but rather send all signals to a central base station, which then redirects the signals to the destination node. However, in certain situations, it is advantageous to allow each wireless node to communicate directly with other nodes, as is the case in most wired LANs. In a wireless LAN which permits this, the wireless adapter and controlling software transmit data packets which all nodes within range can hear. This permits transmitting of packets which are received but ignored by all nodes except the one(a) to which they are addressed. This parallels the packet delivery systems of such wired LAN protocols as Ethernet. Thus, upper level network operating system software, which relys on a packet delivery system such as Novell Corporation's NETWARE can be uβed with such a wireless LAN (NETWARE iβ a trademark of Novell Corp). We shall refer to such a wireless LAN as a Peer-to-Peer Wireless LAN. There is an important physical characteristic in a peer-to-peer wireless LAN that makes it very difficult to build a reliable network compared to a wired LAN. In a wired LAN, every network node is physically connected to the network and can therefore acceβs all of the network traffic. This is often not the case with wireless LANs. Each node communicates with other nodes by means of some form of electromagnetic signal, the range of which will be limited. Each node will have an area of coverage which will be limited by such factors as type of signal, signal strength, obstacles within range, etc. In the wireless LAN, it cannot be guaranteed that every network node, which is presumably part of the same wireless network, can listen to all the network traffic. For example, if nodes A, B, and C are connected to the same wireless network, A may be able to listen to the network data sent by B but not by C. In this case, C is a "hidden node" with respect to A. If C can listen to B but not to A, then A is a hidden node with respect to C. For proper functionality, it is desirable that a wireless LAN should also be able to connect to a wired LAN. In wireless LANs using a base station approach, the Base Station can provide such connectivity. However, there exists a need for a system which can provide internetworking services between a peer-to-peer wireless LAN and a wired LAN. There are several problems associated with a wireless LAN which complicate the implementation of a simple bridge as a means for connecting a wireless LAN to a wired LAN. The primary function of such a device would be to resend overheard wireless LAN network data that is destined for a wired node onto the wired LAN, and vice versa. Depending on the wireless medium chosen, each such device would normally have a limited range. In order to provide adequate coverage, a plurality of devices, each having some degree of overlapping area is necessary. Thiβ would normally result in the duplication of messages received by nodes within the overlapping areas, and also on the wired LAN for messages originating from such nodes. There exists a need for a system which solves these and related problems. In thiβ specification, the following terms are used: By internetworking services, we refer to services which allow systems to communicate which could not otherwise. Typical internetworking services include relaying messages from one wireless node to another, resending messages from a wired LAN to a wireless node and resending messages from a wireless node to a wired LAN. The internetworking node that provides such internetworking services is called an Access Point or AP. The AP is a physical device, which, in order to perform the full range of internetworking services has a wired network adapter as well as a wireless network adapter. The physical area that a wireless node must be within to be within range of the AP is called the AP'B Basic Service Area (BSA). If a wireless node is located within the BSA of a particular AP, that wireless node will be able to receive transmissions sent by that AP. Each wireless node also has a limited range within which it can communicate. This range is called the Dynamic Service Area (DSA) of the wireless node in this specification. Other nodes within an wireless node's DSA will normally be able to receive transmissions from the wireless node. If the wireless nodes use the same adapter as the APs, then, all other things being equal, the wireless nodes will have the same range as the APs. However there can be differences between the BSA range of the AP and the DSA range of a wireless node. For one thing, the wireless nodes are usually movable. Thus their range is likely to change, depending on how their signals are affected by obstacles as they move. Also, access points, being physically connected to a wired LAN, are also connected to a supply of power. Thus, the transmitter used in an AP can be more powerful than the battery powered transmitters of the wireless nodes. If this is the case, the BSA range of an access point would normally be larger than the DSA range of a wireless node. In this specification, we will distinguish between the BSA of an AP and the DSA of a wireless node, even if the two ranges are the same. In this specification, one wireless node is said to be able to "hear" a second wireless node if it is within the DSA of the second node, so that signals sent by the second node can be received by it. Similarly, a wireless node can "hear" an AP if it is within the BSA of the AP, and an AP can "hear" a wireless node if the AP is within the DSA of that node. A "multicast" message is a form of broadcast message, sent by a wired or wireless node, which is addressed to other nodes having the same specific group address. All other wired or wireless nodes will ignore that message. DISCLOSURE OF THE INVENTION The invention provides a method and a means for providing internetworking services to wireless nodes. The invention provides for an internetworking node which can either directly relay a message from one wireless node to another wireless node, or forward such messages indirectly by first resending them to another such internetworking node which in turn resends the message to the other wireless node. The internetworking devices themselves can communicate through the wireless medium. Preferably, such internetworking devices are interconnected by means of a wired LAN. From a user's point of view, the invention makes such wireless nodes, as for example from a wireless LAN, and a wired LAN appear as a single logical LAN. The invention allows for integration of wireless nodes with existing wired LAN based network operating systems and network applications, by making each wireless node appear as wired network nodes to other wired network nodes when a wireless node sends data packets to a wired network node. Similarly, where a wireless node is part of a wireless LAN, the invention makes a wired network node appears aβ a wireless node to other wireless nodes when the wired network node sends data packets to the wireless node. The invention provides a method and means for using one or more APs aβ internetworking devices which interconnect a wired LAN and wireless nodes within range of each AP, and for determining when each AP should act to transmit data between the wired LAN and wireless nodes. The primary functions for each AP are, when appropriate, i) to resend data packets from a wireless node onto the wired LAN if the data packets cannot otherwise reach their destination (eg, if they are destined for a wired node, or are destined for a wireless node outside of the DSA of the sending node); and ii) to resend data packets, which are addressed to a wireless node, from the wired LAN to the wireless node. In the preferred embodiment, the wireless node is part of a wireless IAN. The AP, having both a wired network adapter as well aβ a wireless network adapter, can communicate uβing both the packet delivery βystem of the wired medium, as well aβ the packet delivery system of the wireless medium. Furthermore, the AP is able to convert a data packet from one βystem to the other. Preferably, the APs will also redirect information between two wireless nodeβ which are both within the AP's range, but are hidden to each other. The invention allows for thiβ even if the AP iβ not connected to a wired LAN. To achieve these functions each AP has to know whether the data packets are for a destination within its own BSA, and whether it iβ responsible for acting. The wireless nodeβ use a proceββ of association with at most one of the APs to carry out these functions. Each wireless node within range of at least one AP will associate itβelf with a βingle AP, even if it iβ within range of more than one AP. Once a wireless node associates itβelf with an AP, it will uβe that AP, and only that AP, to forward data to and from the wireless node. The AP keeps track of which nodes are associated with it, in order to determine whether it iβ responsible for acting. Each wireless node monitors the wireless network traffic, and keeps track of which nodes are within its range, ie, which other wireless nodeβ it has overheard recently. According to the invention, each wireless node uses thiβ information to determine which wireless nodeβ, including APβ, are within itβ range. Preferably, each AP broadcastβ information about itβelf at regular intervale. In the preferred embodiment, this broadcast is in the form of a beacon identifying itβ network address. Each wireless node can determine, from either the AP'β regular data tranβmiββionβ, or from thiβ beacon, whether it is within the AP's BSA. The wireless node keeps track of APβ it haβ overheard. Preferably the node maintainβ a table of APβ it haβ overheard recently. If the wireless node overhears data packets (either normal traffic or a beacon) from an AP, it can attempt to asβociate with the AP by sending an association request to the AP. If a wireless node's association request fails, it will preferably attempt to asβociate with another AP currently in itβ AP table. If the wireless node overhears more than one AP, or there iβ more than one AP in itβ table, the wirelesβ node determines which AP it will βelect. In one embodiment, the mobile node selects the AP it haβ heard most recently. When a wireless node (the sending node) needs to send a data packet to a particular node (destination node), it first checks to βee if it haβ recently overheard the destination node (implying the deβtination iβ within range). Optionally, each wireleββ node can emit a beacon to assist the other nodes in thiβ. If the deβtination node iβ within range, the sending node transmits the data packet directly to the deβtination node. If the sending node has not recently overheard the destination node, the sending node checkβ to βee whether it iβ associated with an AP. Assuming the sending node iβ aββociated with an AP, the node transmits the packet to the AP and asks the AP to forward the data packet to itβ deβtination. Once an AP haβ received a request from a sending node, which it is aββociated with, to forward a data packet, the AP will check to βee if the deβtination node iβ also associated with thiβ AP. If βo, the AP will transmit the data packet directly to the deatination node. If not, the AP will resend the data packet, which is still addressed to the destination node, onto the wired network. Whenever an AP overhearβ a directed packet on the wired LAN addressed to a wireleββ node, the AP checks to βee if that node iβ aββociated with it. If so, the AP will forward the data packet to the node. Otherwise, the AP will ignore the packet. Similarly, whenever an AP overhears a broadcast packet on the wired LAN, it retransmits the packet to all wireless nodes aββociated with it. Thus, in the preferred embodiment, each wirelesβ node actively βelectβ which AP it is aββociated with, and determines whether it needs an AP'β help to βend messages. Each AP keeps track of which wireleββ nodeβ are aββociated with it, and automatically relays data packets addressed to associated nodes which the AP has received, either from the wired LAN, or from another associated wireless node. A broad aspect of the invention provides for a node for communication in a network, comprising wireleββ network adapter means for sending data by wireleββ communication to other nodeβ in the network and receiving data by wireleββ communication from βuch nodes, monitoring means for monitoring data which are received by said wireleββ adapter means, to extract from said data identifying information which identifies the other network nodes whose data are received, and storage means for storing the identifying information. Another broad aβpect of the invention provideβ for a method for communication in a network, comprising sending data by wireless communicatio from a first node in the network to other nodeβ in the network and receiving data by wireleββ communication from such nodeβ, monitoring data which are received to extract from said data identifying information which identifieβ the other network nodeβ whose data are received, and storing the identifying information. BRIEF DESCRIPTION OF THE DRAWINGS The invention will now be decribed, by way of example only, with reference to the accompanying drawings, in which: Figure 1 schematically illustrates a configuration of wirelesβ nodeβ around a wired LAN, with two APβ acting as internetworking nodeβ, with the DSA of each wireleββ node shown in phantom; Figure 2 illustrates schematically the βame configuration aβ iβ shown in figure 1, but with the BSA of each AP shown; Figure 3 illustrates schematically, for the βame configuration aβ iβ shown in figure 2, how the preferred embodiment of the present invention iβ used to relay a message from B to A, from A to D and from A to X; and Figure 4 illustrates schematically, for the βame initial configuration aβ iβ βhown in figure 2, node A roaming from the BSA of API to the BSA of AP2. DETAILED DESCRIPTION OF THE INVENTION The preferred embodiment iβ discussed and illustrated with respect to an example of itβ implementation using Infra-red (IR) wireless LANs and Ethernet wired LANs. It should be appreciated that the invention is not limited to IR wirelesβ LANβ or Ethernet wired LANβ and could be βimilarly implemented in other wireleβs LANβ and/or wired LANs. Figure 1 and Figure 2 each illustrate a configuration of wireleββ nodeβ A, B, C, D and E, a wired LAN 50, wired node X and APβ API and AP2. Each AP iβ a physical device that haβ a wired network adapter aβ well aβ a wireless network adapter. Each AP understands both the wired LAN and wireleββ LAN protocols. In the preferred embodiment, using ISO/CCITT OSI international standard terminology, the AP behaveβ aβ a layer 2 Data Link Layer entity that "bridges" between the wireless LAN and the wired LAN. It resends the data traffic from the wireless LAN to the wired LAN in such a way that the data traffic appears to nodes of the wired LAN to have come from wired network nodeβ in the wired LAN. It also reβendβ the data traffic from the wired LAN to the wireleββ LAN in such a way that the data traffic appears to the wirelesβ nodeβ of the wireleββ LAN to have come from wireleββ nodeβ in the wireleβs LAN. Thus, each AP functions as a transparent MAC-bridge (wherein MAC stands for Medium Access Control, as iβ known in the art) that connects the IR wireleββ nodeβ to the ethernet wired LAN. In the examples illustrated in drawingβ, the βame wireleββ adapter iβ used for both the APβ and the wireless nodes. Therefore the BSA range of the APs, ignoring the effect of obβtacleβ, will be the βame aβ the DSA ranges for the wireleββ nodes. As stated earlier, the AP, being connected physically to a power supply, could support a more powerful transmitter, with an extended BSA range. Figures 1 and 2 are the same except that Figure 1 illustrates the DSA ranges of the wirelesβ nodeβ while Figure 2 illustrates the BSA ranges of the APβ. In figure 1, wireleββ node A haβ a DSA 10, wireleββ node B haβ a DSA 20, wireleββ node C haβ a DSA 30, wireleββ node D haβ a DSA 40, and wireless node E has a DSA 45. In the IR wirelesβ LAN, it cannot be guaranteed that every network node that iβ part of the βame wireleββ network can listen to all the network traffic. In figure 1, wirelesβ node E can liβten to the network data βent by wireleββ node B but not by wireleββ node C becauβe wireleββ node E iβ within B'β DSA 20, but is outside C's DSA 30. In thiβ caβe, C iβ a hidden node with respect to E. Similarly C is a hidden node with respect to E, because C is outside E's DSA 45. In some situations, it iβ possible for one IR wireleββ node to receive data βent by another wireleββ node but not be able to βend to that node. For example, a firβt node (not βhown) would be able to liβten to the network data βent by a second node (not βhown), but the second node would not be able to receive the data βent by the firβt node. Thiβ situation is known aβ asymmetry. To compensate for possible wireleββ transmission failure, wireleββ packet delivery systems usually require receiving nodeβ βend a βpecific acknowledgement to the sending node, acknowledging the receipt of each data packet. For example if wireleβs node A sends a directed packet to wireleββ node B, B will in turn βend a packet to A, acknowledging receipt of A'β message. These acknowledgements are not normally required for packet delivery βyβtemβ on wired LANβ, due to the low failure rate of transmissions in such mediums. Turning now to Figure 2, the BSA of API iβ illustrated by circle 60 whereas AP2 iβ βhown aβ having BSA 70. Wireleββ nodeβ A, B and E are within the BSA 60 of API. Wireleββ node B iβ alβo within the BSA 70 of AP2, aβ iβ wireleββ node D. Wireleββ node C iβ not within range of either acceββ point. It βhould be noted that becauβe node B iβ within range of both APβ, the wired LAN will receive unwanted duplicated messages if both API and AP2 reβend a message from B to the wired LAN, and likewise, node B will receive unwanted duplicated messages if both API and AP2 resend a message from the wired LAN to B. To avoid such duplication the invention provides a switching mechanism for ensuring that no more than one AP will act for any particular wireless node, by ensuring that every wireleββ node iβ "aββociated" with no more than one AP. Each wireleββ node determines which AP ( assuming there iβ more than one in range) it will associate with. Furthermore, each wireless node determines whether it can transmit a message directly to itβ deβtination node, and it asks an AP to deliver the message if it cannot do so directly. Each AP determines whether it βhould reβend a data packet from the wired LAN to the wireless node to which the packet is addressed. Each AP monitors the wired LAN data traffic for any data packets that are destined for (ie, addressed to) one of the AP's asβociated wireleββ nodes. If the AP hears such a data packet on the wired LAN, it intercepts the data packet and relays it to the moble node. Each wirelesβ node must be aware of what other nodeβ are around it, so it will be able to decide whether it can send to them. Therefore, each wireleββ node monitorβ the wireleββ traffic, and maintains a table of the addresses of all wireleββ nodeβ it haβ overheard recently. We βhall refer to thiβ aβ the DSA table. If a node haβ overheard another node, then the other node's address is in its DSA table and it assumes it can transmit to that node (ie, it ignores asβymetry, at leaβt initially). Thiβ table represents all of the other nodes within whoβe DSA the tracking node is. This iβ aββumed ( by ignoring aβymmetry) to repreβent all nodeβ within the DSA of the tracking node. In the preferred embodiment, each wireleββ node relies on overheard meββageβ emmanating from nearby nodeβ (including all acknowledgements) to construct itβ DSA table. Optionally, each wireleββ node can emit a beacon, which would automatically be overheard by all other nodeβ within its DSA. Each wireless node alβo monitorβ the network traffic looking for data packetβ βent by an AP. To aββiβt wireless nodeβ (especially nodeβ actually moving) in locating nearby APβ, each AP of the preferred embodiment of the preβent invention will emit a beacon, at regular intervale, eg, every 20 βecondβ, identifying the APβ wireless network address. In the preferred embodiment, each wireleβs node maintains a separate table, called an AP table, which lists the addressee of all APβ it haβ overheard. Preferably, thiβ table alβo stores other information, for example which AP haβ been heard most recently, most frequently, least frequently, etc. Alternatively, thiβ information could be βtored as part of the DSA table. Preferably, the wireleβs node can differentiate between data packetβ from APβ and packetβ from other wireleββ nodeβ becauβe a bit in the control field of a wireleββ data packet indicates whether the data packet originates from an AP. Alternatively, each AP iβ assigned a unique wireless network address with a common prefix for itβ wireless LAN connection. For example, the network address may be "IRAP001" where RAP iβ a common prefix for all AP wireleββ network addreββeβ. No wireleββ network node other than an AP iβ aβββigned that common prefix. Each AP is also assigned a wired group network addresβ for itβ wired LAN connection. The group addresβ iβ used for sending "multicast" broadcasts. When a "multicast" message, a form of broadcast message, iβ βent to the AP group network address in the wired LAN, all APβ, but only APβ, receive that meββage. All other wired network nodeβ ignore that meββage. When a wirelesβ node overhears an AP, it will enter thiβ AP into itβ AP table. The node alβo determines which of the APs in its AP table it will aββociate with. Examples include: aββociate if the table iβ empty (ie, the wireleββ node haβ juβt powered on, or juβt entered the vicinitiy of a wired LAN), or maintain association with the current AP until it can no longer hear that AP, or asβociate with the AP heard most frequently, etc. If the procedure indicates the wireleββ node βhould aββociate with the AP, the wireleββ node will βend an aββociation request data packet to the AP. If the association request data packet iβ βent successfully to the AP, ie, acknowledged by the AP, the wireless network node conβiders itself associated with that AP. The association request includes the wirelesβ network address of the wirelesβ node. Preferably, the request alβo indicates which AP, if any, the wireleβs node waβ previouβly aββociated with. Each AP maintainβ a table, called its (Basic Service Set) BSS table, of all wireleββ nodes which it is aββociated with. After receiving the aββociation request successfully from the wireless node, the AP adds the network node address to its BSS table. The AP can be configured so that if the aββociation request indicateβ the wireless network node waβ aββociated with another AP previously, the AP βendβ a disassociate data packet to the previous AP via the wired LAN to the previouβly aββociated AP telling the AP to disassociate with the wirelesβ node. Alternatively, once a wireleββ node associates with a new AP, it can instruct this AP to βend such a disassociate request to the previouβ AP. After receiving the disassociate data packet from the new AP, the previous AP deletes the wireless network node address from itβ BSS table. Optionally each AP can also maintain a βeparate BSA table, similar to the DSA table maintained by each wirelesβ node, listing the node addreββeβ of all wireleββ nodeβ within itβ BSA, regardleββ of whether they are aββociated with it. A wireless node only accepts data packets βent by the AP it is aββociated with; it will diβcard all data packetβ βent by other APβ. It will, of course, accept data packets that are destined for it which are βent by other wireleββ nodes. As stated, the βelection of which AP will be associated with each wireleβs node is determined by each wireless node. Therefore, each AP accepts all data packetβ βent by any wireleββ node. If the AP receives a data packet directed to it by a wireleββ node that it is not aββociated with, the AP considers the data packet aβ an implicit aββociation request. It adds the wireleβs node addresβ to its BSS table and relay the data packet onto the wired LAN. If a wireless node fails to send a data packet to its aββociated AP successfully, ie, the AP fails to acknowledge receipt of the data packet, the wireless node considers itβ wireleβs connection with the AP broken. It will delete its association with that AP. It then checks itβ AP table to βee if another AP is available. If there is one, it will attempt to establish an aββociation with that AP. If there iβ more than one, the AP will preferably select the AP heard most recently. Similarly, if the AP fails to βend a data packet successfully to the wirelesβ node that is aββociated with it, it considers itβ wireleββ connection with the wireless node broken, and deletes the node from itβ BSS table. In operation, when a wireless node (the sending node) is ready to send a data packet to another network node (the destination node), it firβt determines whether the network node address of the deβtination node iβ in itβ DSA table. If it iβ, this implies that the destination node iβ another wireless node within the DSA of the sending node. The sending node therefore βendβ the data packet to the other wireleββ node directly. If the deβtination node is not within the DSA table, the sending node sends the data packet to the AP it is asβociated with and asks the AP to help deliver the data packet to the deβtination node. After receiving the data packet, the AP checks the destination of the data packet againβt itβ BSS. If the destination node is within its BSS (ie, if the deβtination node iβ alβo aββociated with the AP), the AP βendβ the data packet to the destination node directly via the wirelesβ medium. Otherwise, the AP reβendβ the data packet onto the wired LAN. If the deβtination node iβ a wired node, it will receive the data packet directly. If the deβtination node iβ on another wireleββ LAN which iβ attached to the βame wired LAN by another AP (ie, the deβtination node iβ a wireless node associated with another AP), the other AP will relay the data packet to that deβtination node. Figure 3 shows three examples of how the preferred embodiment workβ. Assume wirelesβ network node A haβ juβt entered the BSA of API. We will assume A has not been associated with any AP before. When it hears API's beacon, or alteratively, hears some data traffic from API to wireless network node B, node A βendβ an asβociation request data packet to API. After sending the aββociation request data packet βucceβsfully (ie, receving APl'β acknowledgement), A considers itself associated with API. After receiving the association request data packet successfully, API adds A to itβ BSS table. It alβo βendβ a diβasβociation data packet on the wired LAN, advising any previouβly aββociated AP that API iβ now aββociated with node A and that the previouβ AP βhould diβaββociate. Thiβ can be done by way of multicaβt or by a directed packet to the AP A waβ actually aββociated with. Let uβ assume A wants to βend a data packet to wired network node X. A firβt consults its DSA table to see if X is a wireleββ node within range. Since X iβ not in A'β DSA, A βendβ the data packet to API aβ iβ βhown by arrow 100 in figure 3. API then conβultβ itβ BSS table to determine whether X is an associated wireless node within its BSA. Since X iβ not so liβted, API in turn reβendβ the data packet onto the wired LAN, aβ iβ βhown by arrow 105. Let uβ further assume that after X receives the data packet, it βendβ a reβponβe data packet back to A. API monitorβ the wired LAN data traffic and overhears a data packet destined for A, which is in its BSS. API intercepts the data packet and sends it to A via the wireless medium. Let us now assume both nodeβ A and B are aββociated with API, i.e., they both are in APl'β BSS, and node B wants to βend a data packet to A. Node B examines itβ DSA to βee if A iβ within range. Aβ can be seen in Figure 1, node B iβ not within the DSA 10 of node A, nor is node A within the DSA 20 of node B. In other wordβ, the nodeβ are hidden from each other, even though both are within range of API. Direct wireleββ communication between the two nodeβ iβ not possible. Therefore, B βendβ the data packet to API asking it to help deliver the data packet, as is shown by arrow 120 in Figure 3. API examines its BSS and determines A is aββociated with it. Therefore, API transmits the data packet by the wireleββ medium to A, aβ iβ shown by arrow 125. It βhould be noted that even though node B iβ alβo within the BSA of AP2, node B iβ aββociated with API and therefore does not ask AP2 for assistance. Now let us assume node A wants to βend a data packet to node D, which is asβociated with AP2. Since node D iβ not within node A's DSA, A βendβ the packet to API, aβ iβ βhown by arrow 130. Since node D iβ not aββociated with API, API resends the data packet onto the wired LAN, as is βhown by arrow 135. AP2 overhears thiβ data packet, determines that node D iβ associated with it, and reβendβ the data packet directly to D, aβ iβ βhown by arrow 140. Note that node B iβ within the BSA of both API and AP2. If node B had been aββociated with AP2 ( and therefore would not have been aββociated with API), and wireleββ node A βendβ a data packet to wireleββ node B, then API would not have tranβmitted the data packet directly to B, but rather, would have resent it on the wired LAN. In this cirmcumstance, AP2 would intercept the data packet and resend it to B ( because B would be in AP2's BSS table), aβ it would for node D. Figure 4 illustrates how a roaming wireleββ node can move in and out of different APβ' BSAβ. When a wirelesβ node moves between BSAβ of APβ, it disassociates with one AP and associates with another. The data packets sent by the wirelesβ network node to the wired LAN are reβent by different APβ depending on where the wireless node is, and which AP the wirelesβ node associates itβelf with. Likewiβe, data packetβ destined for the wireleββ node are resent by different APs depending on where the wireless node is and which AP the wireless node associates itself with. This procedure will now be decribed. When an node roams, it may roam out of range from all APs in itβ AP table. The wireless node iβ then disconnected from the wired LAN until it comes within range of another AP and associates itself with that AP. Of course a roaming node cannot asβociate itβelf with an AP until it becomes aware of the presence of that AP (ie, overhears either the AP's beacon or a regular transmission). Optionally, to shorten the time between the wireless network node moving into an AP's BSA and detecting the AP'β existence, each AP can broadcast its beacon earlier when it first detects a wireleβs node. To do this, the AP maintainβ a BSA table, in addition to its BSS table, as described above. Alternatively it combines the two into an expanded BSA table, with an additional column identifying whether each wireless node liβted is asβociated with it. If an AP overhearβ a wireleβs node which iβ not listed in its BSA table, the AP generates itβ beacon ahead of schedule. The AP detects the existence of the wireless node by overhearing a data packet, usually a broadcast packet, βent by the wireless node. This broadcast packet is usually generated in response to the upper layer network operating βystem trying to determine which other nodeβ are preβent in the network. The result of this broadcast packet emitted by a wireleββ network node is an early scheduled beacon emitted by the AP, which in turn starts the aββociation process. Referring to figure 4 for example, assume wireleβs node A is originally located at position 200, and is aββociated with API. It therefore communicates with wired network node X via API. Aβ A moves to an area which iβ not covered by any AP, aβ is illustrated aβ poβition 210, it cannot receive acknowledgementβ from API for any packetβ which it βendβ via API to X. It thus ceases to consider itβelf aββociated with API aβ it cannot communicate with API any more. Aβ A moves into AP2'β BSA, aβ βhown at 220, it recognizes the existence of AP2 either by observing AP2's beacon or AP2's data traffic. It is possible AP2 would overhear node A before A overhearβ AP2. In thiβ caβe, as AP2 would not have heard A at either position 200, or 210, AP2 can optionally recognize that A is a node previously unheard by it, and emit itβ beacon early. In any of these events, A initiates an aββociation process with AP2. This reconnects A to the network, allowing A to communicate with X again. Assuming an entire area is βufficiently covered by APs, A can move around the area while remaining connected to the network.

Claims: CLAIMS 1. A node (API, AP2) for communication in a network, comprising wireleββ network adapter meanβ for βending data by wireless communication to other nodes in the network and receiving data by wireless communication from such nodes, monitoring means for monitoring data which are received by said wireleββ adapter meanβ, to extract from βaid data identifying information which identifieβ other network nodes whoβe data are received, and storage means for storing the identifying information. 2. A node as claimed in claim 1, βaid node (API, AP2) being an internetworking node which haβ wired LAN adapter meanβ for βending data along a wired LAN (50) to other wired nodeβ (X) on βaid wired LAN and receiving data from other wired nodeβ along the wired LAN, and meanβ for interconverting such data between a format suited to be βent or received by βaid wired LAN adapter meanβ and a format adapted to be βent or received by βaid wireleββ network adapter meanβ, whereby βaid internetworking node can receive data from βaid wired LAN and tranβmit it by wireleββ communication, and can receive data by wireleββ communication and tranβmit it along the wired LAN. 3. A node aβ claimed in claim 1, additionally comprising meanβ for broadcasting periodically, through βaid wireleββ network adapter meanβ, identifying information which identifieβ the βaid node. 4. A node aβ claimed in claim 1, additionally comprising means for βending, with each data message βent by the node through the wireleββ network adapter means, identifying information which identifies the βaid node. 5. A node as claimed in claim 2, additionally comprising meanβ for broadcasting periodically, through βaid wireleββ network adapter means, identifying information which identifieβ the βaid node and identifieβ the fact that it iβ an internetworking node. 6. A node aβ claimed in claim 2, additionally compriβing meanβ for βending, with each data meββage βent by the node through the wireleβs network adapter means, identifying information which identifies the βaid node and identifieβ the fact that it iβ an internetworking node. 7. A node aβ claimed in claim 1, in which βaid monitoring meanβ alβo extracts identifying information from which it can determine whether each other node whose data haβ been received iβ identified in βuch information aβ an internetworking node, and the βtorage means storeβ the identifying information which indicateβ whether βuch other node haβ been identified aβ an internetworking node. 8. A node aβ claimed in claim 7, in which identifying information for other nodeβ which have been identified aβ internetworking nodeβ is stored in a first table and identifying information for nodeβ which have not been identified aβ internetworking nodeβ iβ βtored in a second table. 10 9. A node as claimed in claim 7, additionally comprising meanβ for determining whether the βtorage meanβ haβ in βtorage identifying information for no internetworking node, one internetworking node or more than one internetworking node. 15 10. A node aβ claimed in claim 9, in which, if the meanβ for determining determines that the βtorage meanβ haβ in βtorage identifying information for one and only one internetworking node, it causes the means for βending data to βend a request for association to said one internetworking node. 20 11. A node as claimed in claim 9, in which, if the meanβ for determining determines that the storage means has in βtorage identifying information for more than one internetworking node, and that it iβ not already aββociated with an internetworking node, it selects one of the internetworking nodes for 25 which the βtorage means has identifying information and causes the means for βending data to βend a request for aββociation to the selected one internetworking node. 12. A node aβ claimed in claim 10, in which, if the determining meanβ 30 receiveβ confirmation through the meanβ for receiving data that the one internetworking node haβ accepted the request for aββociation, it enterβ into the βtorage meanβ an entry showing that βaid one internetworking node iβ aββociated with the node of which the determining meanβ iβ part. 35 13. A node aβ claimed in claim 11, in which, if the determining meanβ receiveβ confirmation through the meanβ for receiving data that the selected internetworking node haβ accepted the request for association, it enters into the storage means an entry showing that βaid βelected internetworking node iβ aββociated with the node of which the determining meanβ iβ part. 40 14. A node aβ claimed in either of claimβ 12 or 13, in which the determining meanβ monitorβ tranβmiββionβ from the node of which it iβ part to the internetworking node which iβ βhown in the βtorage meanβ aβ aββociated with the node of which it iβ part, and deleteβ the record of aββociation from the βtorage meanβ if a tranβmiββion from the node of which it iβ part to βaid internetworking node iβ not acknowledged by the internetworking node. 15. A node aβ claimed in either of claimβ 12 or 13, additionally comprising 5 meanβ to acceββ βaid βtorage meanβ each time the node βeekβ to transmit data to a specific other node other than the internetworking node with which it iβ aββociated, and meanβ for readdressing βaid data to the aβsociated internetworking node for further forwarding, if the identifying data for such βpecific node iβ not in the βaid βtorage meanβ. 10 16. A node aβ claimed in any of claimβ 1-11, in which the identifying information includes a network addresβ of the node to which βuch information pertainβ. 15 17. A node aβ claimed in any of claimβ 2, 5 or 6, additionally comprising means for accepting aββociation requests from other nodes, and second βtorage meanβ for retaining a list of all other nodes which have become aββociated with the βaid node by βending an aββociation request which the βaid node haβ accepted. 20 18. A node aβ claimed in claim 17, additionally comprising meanβ for βending a meββage to other internetworking nodeβ via the wired LAN each time βaid node accepts an asβociation requeβt from another node, said message advising the other internetworking nodeβ that the βaid node haβ become 25 aββociated with βuch other node. 19. A node aβ claimed in claim 17, additionally comprising second monitoring meanβ for monitoring data on the wired network, and meanβ for selecting out data which iβ addreββed to any node on βaid list and causing 30 βaid wireleββ network adapter meanβ to tranβmit βuch data by wireless communication addressed to the node on said list. 20. A node aβ claimed in claim 17, additionally compriβing third monitoring means to monitor βaid wireleββ network adapter meanβ for a meββage directed 35 to βuch node in order to be forwarded by βuch node to a βpecific other node, meanβ for determining whether βuch specific other node iβ on βaid list, and means for directing said wirelesβ network adapter meanβ to reβend the meββage to βaid βpecific other node if the βpecific other wireleββ node iβ on the list, and for directing said wired LAN adapter means to reβend the message on 40 the wired LAN addreββed to βaid βpecific other node if the βpecific other node iβ not on the list. 21. A node as claimed in any of claimβ 2, 5 or 6, additionally compriβing fourth monitoring meanβ to monitor βaid wireless network adapter means for 45 receipt of any messages (including messages which are not directed to said node), third βtorage meanβ for maintaining a liβt of all other nodeβ from which such messages have been received within a specified interval, compariβon meanβ to determine whether each new meβsage received comeβ from a node on the liβt, and actuating meanβ which reβpond when a meββage comeβ from a node not on the liβt to add the node to the liβt. 22. A node aβ claimed in claim 21, in which the actuating meanβ additionally cauβeβ βaid wireleββ network adapter meanβ to broadcaβt identifying information which identifies the βaid node, each time that the βaid node receiveβ a meββage from a node which iβ not on the liβt. 23. A node as claimed in any of claims 1-16, additionally compriβing third monitoring meanβ to monitor βaid wireleββ network adapter means for a meβsage directed to βuch node in order to be forwarded by βuch node to a βpecific other node, and meanβ for directing βaid wireleββ network adapter meanβ to reβend the meββage to βaid βpecific other node. 24. A method for communication in a network, compriβing βending data by wireleββ communication from a first node in the network to other nodes in the network and receiving data by wireleββ communication from βuch nodeβ, monitoring data which are received to extract from βaid data identifying information which identifieβ the other network nodeβ whoβe data are received, and βtoring the identifying information. 25. A method aβ claimed in claim 24, βaid firβt node being an internetworking node capable of βending data via a wired LAN adapter meanβ along a wired LAN to other wired nodes on βaid wired LAN and receiving data from other wired nodes along the wired LAN, and capable of interconverting βuch data between a format suited to be βent or received by βaid wired LAN adapter meanβ and a format adapted to be βent or received by a wireleββ network adapter meanβ of the node, whereby βaid internetworking node can receive data from βaid wired LAN and tranβmit it by wireleββ communication, and can receive data by wireless communication and tranβmit it along the wired LAN. 26. A method aβ claimed in claim 24, additionally compriβing broadcasting periodically identifying information which identifieβ the βaid firβt node. 27. A method aβ claimed in claim 24, additionally compriβing βending, with each data meββage βent by the firβt node, identifying information which identifieβ the βaid firβt node. 28. A method as claimed in claim 25, additionally compriβing broadcaβting periodically identifying information which identifieβ the βaid firβt node and identifieβ the fact that it iβ an internetworking node. 5 29. A method aβ claimed in claim 25, additionally compriβing βending, with each data meββage βent by the node, identifying information which identifieβ the βaid firβt node and identifieβ the fact that it iβ an internetworking node. 10 30. A method aβ claimed in claim 24, additionally comprising monitoring data which are received to extract identifying information from which it can be determined whether each other node whoβe data haβ been received iβ identified in βuch information aβ an internetworking node, and βtoring the identifying information which indicateβ whether βuch other node haβ been 15 identified aβ an internetworking node. 31. A method aβ claimed in claim 30, in which identifying information for other nodeβ which have been identified aβ internetworking nodeβ iβ stored in a firβt table and identifying information for nodeβ which have not been 20 identified aβ internetworking nodeβ iβ βtored in a second table. 32. A method as claimed in claim 30, additionally compriβing determining whether there iβ, in βtorage, identifying information for no internetworking node, one internetworking node or more than one internetworking node. 25 33. A method aβ claimed in claim 32, in which, if it iβ determined that there iβ, in βtorage, identifying information for one and only one internetworking node, then a requeβt for aββociation iβ βent to βaid one internetworking node. 30 34. A method aβ claimed in claim 32, in which, if it iβ determined that there iβ in βtorage identifying information for more than one internetworking node, and that the firβt node iβ not already aββociated with an internetworking node, it selects one of the internetworking nodeβ for which 35 identifying information haβ been βtored and then a requeβt for aββociation iβ βent to the βelected one internetworking node. 35. A method aβ claimed in claim 33, in which, if a confirmation iβ received that the one internetworking node haβ accepted the requeβt for 40 aββociation, then an entry is βtored βhowing that βaid one internetworking node iβ aββociated with the firβt node. 36. A method aβ claimed in claim 34, in which, if confirmation iβ received that the βelected internetworking node haβ accepted the requeβt for aββociation, then an entry iβ βtored βhowing that βaid βelected internetworking node iβ aββociated with the firβt node. 37. A method aβ claimed in either of claimβ 35 or 36, further comprising 5 monitoring tranβmiββionβ from the firβt node to the aββociated internetworking node, and deleting the βtored entry if a tranβmiββion from the firβt node to βaid internetworking node iβ not acknowledged by the internetworking node. 10 38. A method aβ claimed in either of claims 35 or 36, additionally compriβing acceββing βtorage each time the firβt node βeekβ to tranβmit data to a βpecific other node, other than the internetworking node with which it iβ aββociated, and readdressing βaid data to the aββociated internetworking node for further forwarding, if the identifying data for βuch βpecific node 15 iβ not in storage. 39. A method as claimed in any of claimβ 24-34, in which the identifying information includes the network address of the node to which such information pertainβ. 20 40. A method aβ claimed in any of claimβ 25, 28 or 29, additionally compriβing accepting association requestβ from other nodeβ and βtoring a liβt of all other nodeβ which have become aββociated with the βaid firβt node by βending an aββociation requeβt which the βaid firβt node haβ accepted. 25 41. A method aβ claimed in claim 40, βending a meββage to other internetworking nodeβ via the wired LAN each time βaid firβt node accepts an aββociation requeβt from another node, βaid meββage advising the other internetworking nodeβ that the said first node haβ become aβsociated with 30 such other node. 42. A method as claimed in claim 40, additionally compriβing monitoring data on the wired network, and βelecting out data which iβ addreββed to any node on βaid liβt and tranβmitting βuch data by wireleββ communication 35 addreββed to the node on βaid liβt. 43. A method aβ claimed in claim 40, additionally compriβing monitoring βaid data for a meββage directed to βuch node in order to be forwarded by βuch node to a βpecific other node, determining whether βuch βpecific other 40 node iβ on βaid liβt, and directing the meββage to be reβent to βaid βpecific other node if the βpecific other wireleββ node iβ on the liβt, and directing the meββage to be reβent on the wired LAN addreββed to βaid βpecific other node if the βpecific other node iβ not on the liβt. 44. A method aβ claimed in any of claimβ 25, 28 or 29, additionally compriβing monitoring βaid data for receipt of any messages (including messages which are not directed to βaid firβt node), maintaining a liβt of all other nodes from which βuch messages have been received within a βpecified interval, determining whether each new meββage received comeβ from a node on the liβt, and responding when a mesβage comeβ from a node not on the liβt to add the node to the liβt. 45. A method aβ claimed in claim 44, additionally compriβing broadcaβting identifying information which identifieβ the βaid firβt node, each time that the βaid firβt node receiveβ a meββage from a node which iβ not on the liβt. 46. A method aβ claimed in any of claimβ 24-39, additionally compriβing monitoring βaid data for a meββage directed to βuch node in order to be forwarded by βuch node to a βpecific other node, and directing the meββage to be reβent to βaid βpecific other node.

Inventors: CHEUNG ROGER Y M, MCKAY DANNY N, REISSNER PETER E, CHEUNG, ROGER, Y., M., MCKAY, DANNY, N., REISSNER, PETER, E.
Applicants: IBM, IBM UK, IBM UNITED KINGDOM LIMITED, INTERNATIONAL BUSINESS MACHINES CORPORATION
Application year: 1995
Main classification: H04L12
IPC codes: H04B7, H04L12