METHOD AND APPARATUS FOR INTEROPERATION BETWEEN WIRELESS COMPUTER NETWORKS AND INTERNET PROTOCOL-BASED NETWORKS

Abstract: A first and second computer network are communicatively coupled by tunneling information within a hierarchical communication protocol operative within the second computer network. In this scheme, the hierarchical communication protocol may be supported on a communication channel of a wireless communication link, for example a half-duplex communication channel and/or a spread spectrum communication channel. In general, the communication channel includes a number of time slots for transmissions of information associated with network components within the second computer network. For example, one or more forward time slots and one or more reverse time slots, which together define transmission and reception periods for components operative at a highest level of a hierarchy of the second computer network, may be included. Then, the tunneling may be accomplished by transmitting information from the first network during at least one of the forward time slots and transmitting information from at least one of the network components during at least one of the reverse time slots.

Description: METHOD AND APPARATUS FOR INTEROPERATION BETWEEN WIRELESS COMPUTER NETWORKS AND INTERNET PROTOCOL-BASED NETWORKS RELATED APPLICATION This application is related to and hereby claims the priority benefit of a co- pending application, Serial No. 09/151,452, entitled Hierarchical Computer Network Architecture, filed September 11, 1998, and assigned to the Assignee of the present invention. FIELD OF THE INVENTION The present invention relates generally to a scheme for communications within a computer network and, in particular, to inter-networking of a wireless computer network with other networks. BACKGROUND In the above-referenced co-pending application, Serial No. 09/151,452, which is incorporated herein by reference, a computer network adapted for use in the home environment was described. That architecture included a number of network components arranged in a hierarchical fashion and communicatively coupled to one another through communication links operative at different levels of the hierarchy. At the highest level of the hierarchy, a communication protocol that supports dynamic addition of new network components at any level of the hierarchy according to bandwidth requirements within a communication channel operative at the highest level of the network hierarchy is used. Preferably, the communication channel is supported on a wireless communication link. The generalization of this network structure is shown in Figure 1. A subnet 10 includes a server 12. In this scheme, the term "subnet" is used describe a cluster of network components that includes a server and several clients associated therewith (e.g., coupled through the wireless communication link). Depending on the context of the discussion however, a subnet may also refer to a network that includes a client and one or more subclients associated therewith. A "client" is a network node linked to the server through the wireless communication link. Examples of clients include audio/video equipment such as televisions, stereo components, satellite television receivers, cable television distribution nodes, and other household appliances. Server 12 may be a separate computer that controls the communication link, however, in other cases server 12 may be embodied as an add-on card or other component attached to a host computer (e.g., a personal computer) 13. Server 12 has an associated radio 14, which is used to couple server 12 wirelessly to the other nodes of subnet 10. The wireless link generally supports both high and low bandwidth data channels and a command channel. Here a channel is defined as the combination of a transmission frequency (more properly a transmission frequency band) and a pseudorandom (PN) code used in a spread spectrum communication scheme. In general, a number of available frequencies and PN codes may provide a number of available channels within subnet 10. As is described in the co-pending application cited above, servers and clients are capable of searching through the available channels to find a desirable channel over which to communicate with one another. Also included in subnet 10 are a number of clients 16, some of which have shadow clients 18 associated therewith. A shadow client 18 is defined as a client which receives the same data input as its associated client 16 (either from server 12 or another client 16), but which exchanges commands with server 12 independently of its associated client 16. Each client 16 has an associated radio 14, which is used to communicate with server 12, and some clients 16 may have associated subclients 20. Subclients 20 may include keyboards, joysticks, remote control devices, multidimensional input devices, cursor control devices, display units and/or other input and/or output devices associated with a particular client 16. A client 16 and its associated subclients 20 may communicate with one another via communication links 22, which may be wireless (e.g., infra-red, ultrasonic, spread spectrum, etc.) communication links. Each subnet 10 is arranged in a hierarchical fashion with various levels of the hierarchy corresponding to levels at which intra-network component communication occurs. At a highest level of the hierarchy exists the server 12 (and/or its associated host 13), which communicates with various clients 16 via the wireless radio channel. At other, lower levels of the hierarchy the clients 16 communicate with their various subclients 20 using, for example, wired communication links or wireless communication links such as infrared links. Where half-duplex radio communication is used on the wireless link between server 12 and clients 16, a communication protocol based on a slotted link structure with dynamic slot assignment is employed. Such a structure supports point-to-point connections within subnet 10 and slot sizes may be re-negotiated within a session. Thus a data link layer that supports the wireless communication can accommodate data packet handling, time management for packet transmission and slot synchronization, error correction coding (ECC), channel parameter measurement and channel switching. A higher level transport layer provides all necessary connection related services, policing for bandwidth utilization, low bandwidth data handling, data broadcast and, optionally, data encryption. The transport layer also allocates bandwidth to each client 16, continuously polices any under or over utilization of that bandwidth, and also accommodates any bandwidth renegotiations, as may be required whenever a new client 16 comes on-line or when one of the clients 16 (or an associated subclient 20) requires greater bandwidth. The slotted link structure of the wireless communication protocol for the transmission of real time, multimedia data (e.g., as frames) within a subnet 10 is shown in Figure 2. At the highest level within a channel, forward (F) and backward or reverse (B) slots of fixed (but negotiable) time duration are provided within each frame transmission period. During forward time slots F, server 12 may transmit video and/or audio data and/or commands to clients 16, which are placed in a listening mode. During reverse time slots B, server 12 listens to transmissions from the clients 16. Such transmissions may include audio, video or other data and/or commands from a client 16 or an associated subclient 20. At the second level of the hierarchy, each transmission slot (forward or reverse) is made up of one or more radio data frames 40 of variable length. Finally, at the lowest level of the hierarchy, each radio data frame 40 is comprised of server/client data packets 42, which may be of variable length. Each radio data frame 40 is made up of one server/client data packet 42 and its associated error correction coding (ECC) bits. The ECC bits may be used to simplify the detection of the beginning and ending of data packets at the receive side. Variable length framing is preferred over constant length framing in order to allow smaller frame lengths during severe channel conditions and vice-versa. This adds to channel robustness and bandwidth savings. Although variable length frames may be used, however, the ECC block lengths are preferably fixed. Hence, whenever the data packet length is less than the ECC block length, the ECC block may be truncated (e.g., using conventional virtual zero techniques). Similar procedures may be adopted for the last block of ECC bits when the data packet is larger. As shown in the illustration, each radio data frame 40 includes a preamble 44, which is used to synchronize pseudo-random (PN) generators of the transmitter and the receiver. Link ID 46 is a field of fixed length (e.g., 16 bits long for one embodiment), and is unique to the link, thus identifying a particular subnet 10. Data from the server 12/client 16 is of variable length as indicated by a length field 48. Cyclic redundancy check (CRC) bits 50 may be used for error detection/correction in the conventional fashion. For the illustrated embodiment then, each frame 52 is divided into a forward slot F, a backward slot B, a quiet slot Q and a number of radio turn around slots T. Slot F is meant for server 12-to-clients 16 communication. Slot B is time shared among a number of mini-slots Bi, B 2 , etc., which are assigned by server 12 to the individual clients 16 for their respective transmissions to the server 12. Each mini-slot Bj, B 2 , etc. includes a time for transmitting audio, video, voice, lossy data (i.e., data that may be encoded/decoded using lossy techniques or that can tolerate the loss of some packets during transmission/ reception), lossless data (i.e., data that is encoded/decoded using lossless techniques or that cannot tolerate the loss of any packets during transmission/reception), low bandwidth data and/or command (Cmd.) packets. Slot Q is left quiet so that a new client may insert a request packet when the new client seeks to log-in to the subnet 10. Slots T appear between any change from transmit to receive and vice-versa, and are meant to accommodate individual radios' turn around time (i.e., the time when a half-duplex radio 14 switches from transmit to receive operation or vice- versa). The time duration of each of these slots and mini-slots may be dynamically altered through renegotiations between the server 12 and the clients 16 so as to achieve the best possible bandwidth utilization for the channel. Note that where full duplex radios are employed, each directional slot (i.e., F and B) may be full-time in one direction, with no radio turn around slots required. Forward and backward bandwidth allocation depends on the data handled by the clients 16. If a client 16 is a video consumer, for example a television, then a large forward bandwidth is allocated for that client. Similarly if a client 16 is a video generator, for example a video camcorder, then a large reverse bandwidth is allocated to that particular client. The server 12 maintains a dynamic table (e.g., in memory at server 12 or host 13), which includes forward and backward bandwidth requirements of all on-line clients 16. This information may be used when determining whether a new connection may be granted to a new client. For example, if a new client 16 requires more than the available bandwidth in either direction, server 12 may reject the connection request. The bandwidth requirement (or allocation) information may also be used in deciding how many radio packets a particular client 16 needs to wait before starting to transmit its packets to the server 12. Additionally, whenever the channel conditions change, it is possible to increase/reduce the number of ECC bits to cope with the new channel conditions. Hence, depending on whether the information rate at the source is altered, it may require a dynamic change to the forward and backward bandwidth allocation. Thus, the communication protocol allows for communicatively coupling the components of a subnet 10 in a hierarchical fashion. However, subnet 10 may only be a portion of a much larger computer network, such as a local area network (LAN). Thus, in some cases, data may need to be transported to or from one or more of the clients 16 through server 12 to another network. Thus, what is needed is a communication scheme that allows for the interconnection of subnet 10, or similar computer networks that rely on a wireless communication protocol for intra-network communication, with other computer networks. SUMMARY OF THE INVENTION In one embodiment, a first computer network and a second computer network are communicatively coupled by tunneling information exchanged between the first and second computer networks within a hierarchical communication protocol operative within the second computer network. In this scheme, the hierarchical communication protocol may be supported on a communication channel of a wireless communication link, for example a half-duplex communication channel and or a spread spectrum communication channel. In general, the communication channel includes a number of time slots for transmissions of information associated with network components within the second computer network. For example, one or more forward time slots and one or more reverse time slots, which together define transmission and reception periods for components operative at a highest level of a hierarchy of the second computer network, may be included. Then, the tunneling of the information may be accomplished by transmitting information from the first network during at least one of the forward time slots and transmitting information from at least one of the network components during at least one of the reverse time slots. In some cases, the highest level of the hierarchy of the second computer network may include a network server and one or more network clients. In such cases, the network server or one of the docents may be configured with a router layer adapted to map address information used by the first computer network to address information used by the second computer network. Further, the router layer may be configured to extract data information from packets transmitted by the first computer network and include the data information within a communication data frame utilized by the hierarchical communication protocol. Sometimes, the information transmitted by the first computer network is transmitted according to the transmission control protocol/Internet protocol (TCP/IP). In another embodiment, a server that includes a router layer configured to provide tunneling services within a computer network having a number of network components communicatively coupled through a hierarchical communication protocol is provided. The computer network preferably employs a wireless communication link (e.g., a half-duplex and/or spread spectrum link) to communicatively couple the network components. The router layer may be configured to extract data information received in packets transmitted from an external network and include that information within a data frame utilized within the hierarchical communication protocol. In still another embodiment, a computer network that includes a communication channel (e.g., that includes a number of time slots within which data frames are transmitted) configured to communicatively couple components of the computer network according to a hierarchical communication protocol, and a router configured to tunnel information from external networks within the communication channel is provided. The components of the computer network may be organized into a hierarchy, with the communication channel operative at a highest level of that hierarchy. Further, the router may be configured to extract information received from packets transmitted by the external network and include within that information in data frames used by the hierarchical communication protocol. These and other features and advantages of the present invention will be apparent from a review of the detailed description and its accompanying drawings that follow. BRIEF DESCRIPTION OF THE DRAWINGS The present invention is illustrated by way of example, and not limitation, in the figures of the accompanying drawings in which: Figure 1 illustrates a generalized network structure that is supported by a wireless communication protocol; Figure 2 illustrates an hierarchical arrangement for the transmission of data within a computer network; and Figure 3 illustrates a server for a computer network configured with a router layer useful for providing tunneling services in accordance with one embodiment of the present invention. DETAILED DESCRIPTION Described herein are schemes for providing communication between components of a computer network communicatively coupled by one or more wireless communication links and external computer systems and/or networks. However, although these schemes are discussed with reference to certain embodiments illustrated in the above-mentioned drawings, it should be recognized (and, indeed, upon review of this discussion those of ordinary skill in the art will realize) that the methods and apparatus discussed herein are merely examples of the broader concepts involved with the present invention. For example, there are at least two methods of achieving internetwork communication for subnet 10. First, the wireless communication protocol itself may be modified to provide tunneling services within subnet 10 to allow for the transport of other network protocol packets. In this approach, tunneling or bridging is achieved using a network bridge (see Figure 3) and packets from a Transmission Control Protocol Internet Protocol (TCP/IP) (or any other protocol) network are encapsulated within a packet to be transported within the wireless network. Second, a router may be introduced between the outside network(s) and subnet 10 at the network layer, to provide protocol conversion and/or service extensions. In this scheme, TCP/IP or other network packets are decoded and any quality of service (QoS) parameters contained therein are translated to related parameters used in the wireless network. Then, a packet is constructed according to the protocol o the wireless network, using the data extracted from the external network packet. Accordingly, the overall spirit and scope of the present invention should not be limited by the examples presented below and, instead, should only be measured in terms of the claims that follow this discussion. The co-existence and inter-operation of subnet 10 with other networks utilizing different transport protocols such as TCP/IP, Internet packet exchange (IPX), or other network protocols is illustrated in Figure 3. Server 12 is configured with a routing layer 60 that provides an interface between the external network protocols and the slotted link protocol of subnet 10 to allow for the decoding and packaging operations discussed above. Consequently, subnet 10 will be able to use this transparent routing capability as a bearer for higher layer services above the network layer. Examples of such services include Internet Control Message Protocol (ICMP), Address Resolution Protocol (ARP), Internet Group Management Protocol (IGMP), Trivial File Transfer Protocol (TFTP), Real Time Protocol (RTP), Dynamic Host Configuration Protocol (DHCP). This interface also provides for any packet fragmentation and de-fragmentation in either direction. Alternatively, or in addition, a bridge 70 may be introduced into subnet 10 to allow for the encapsulation operations described above. Using bridge 70, packets from external networks bound for devices within subnet 10 may be encapsulated within radio data frames 40 (see Figure 2) and transmitted within subnet 10. Bridge 70 also provides for reverse operations, stripping the preamble and related fields from any outgoing radio data frames that include packets bound for external networks. Notice that bridge 70 is coupled to subnet 10 in the familiar fashion, through a radio 14. Where the routing approach is used, the data channel may be used for packet tunneling purposes. In essence, incoming data from an external network may be fragmented (if necessary), marked (e.g., as real time or lossless non-real-time information) and encapsulated within a radio data frame 40 to be transmitted within subnet 10. Marking will depend upon the class of information to be transmitted. For example, if the data contained in this stream is similar to audio data, then it should be marked as a real time stream to indicate its nature. Similarly, if the stream has some non-real-time data, such as a received facsimile transmission, then it may be marked as lossless-non-real-time data. In general, real time data is that which cannot afford delays. Audio and video are good examples of such information, especially where the audio and video data is transmitted as part of a videoconference or teleconference. Lossless data is that which may be delayed without causing a performance degradation or poor user experience, but which cannot tolerate the loss of bits within the data stream. The routing interface 60 of server 12 also provides any needed mapping between physical and logical addresses of network components in both directions (i.e., inbound and outbound data). For example, by extending the client properties database maintained by server 12 for storing client bandwidth requirements (see above) to include network (e.g., media access control (MAC)) addresses and session identifiers (session ID), a simple mapping from MAC (or other network) address to session ID (and vice-versa) may be realized. Here, the term session ID refers to an identifier that uniquely describes a client 16 or subclient 20 within subnet 10. Such address mapping to/from the network layer of subnet 10 is usually necessary for supporting services from other networks. In the case of IP networks these services may include ARP and IGMP. With networking devices such as a router, proxy server, gateway, or Network Address Translator (NAT) multiple IP clients may be realized within subnet 10. For this purpose, the subnet 10 layers may, in one particular embodiment useful for PC-compatible be provided as Network Device Interface Specification (NDIS) drivers on PCs. Thus, third party vendors may easily develop products for use within networks that utilize the slotted link communication protocol of subnet 10. Router layer 60 is capable of performing protocol conversions on request from devices on the subnet-side of server 12. This allows for extracting the maximum benefits from the real time features of the slotted link communication protocol for data types such as audio and video. At the same time, this solution enables a non-IP client device to avail itself of the connectivity advantages of IP networks. In some cases, router layer 60 may be configured so as to perform any needed transcoding between an external network communication protocol and the communication protocols used by devices within subnet 10. For example, within subnet 10, a client 16 may request conversion between an outside network protocol and any of suite of protocols available at the router layer 60. If the requested protocol is not the slotted link protocol ordinarily used in subnet 10, then the router layer 60 may simply encapsulate an entire packet (along with any protocol-specific headers, trailers, etc.) within one or more radio data frames 40 for transmission to the client 16. On the other hand, if the conversion requested is to the slotted link protocol usually used in subnet 10, then the router layer 60 may strip the data transferred from the external network from its original packet(s) and packetize it using the slotted link protocol as for any other intra-network traffic in subnet 10 before sending to the client 16. This latter methodology eliminates the added burden of transmitting header and other information associated with other communication protocols, and thus conserves bandwidth within subnet 10. Thus, the present scheme allows for the inclusion of client devices based on the slotted link communication protocol and other devices based on other, existing communication protocols within a subnet 10. Further, this architecture can be extended to cover future communication protocols through the use of new dynamic link libraries (DLLs) at the server 12 (i.e., the router layer 60). In effect, the client devices used in subnet 10 can employ any communication protocol and still be supported within the subnet 10. Although, for the sake of simplicity, server 12 will often be the device that is physically connected to the outside network(s), it need not be (or at least it need not be the only node that is) so connected. Indeed, any client 16 may be the passage way for any external network connection(s). If the device connected to the outside network is a client node and the destination device is also a client node, then server 12 may use a shadow client connection to appropriately route the information between the two devices. In any event, the router layer at the device that is physically connected to the external network(s)will maintain the IP (or other) connections and will, preferably, treat them as subclient connections. The router layer also performs the IP address-to- client/subclient address conversion and vice-versa. One benefit of the present scheme is that each (or any) client 16 may open one or more Internet connections through the router layer 60. Each of these connections will be maintained as subclient (of type "Internet Connection") connection to the corresponding client 16. As each client can have a number of subclients of any given type, there can be as many IP addresses as potential subclients associated with each client 16. Also, as a server 12 may itself have a number of online clients at any given time, there exists the potential for a significant number of IP addresses/connections that can be accommodated in each subnet 10. Thus, a scheme for interoperation between wireless computer networks and those operating using IP (or other network protocols) has been described. Although discussed with reference to certain illustrated embodiments, the present invention should not be limited thereby. Instead, the present invention should only be measured in terms of the claims that follow.

Claims: CLAIMS What is claimed is: 1. A method of communicatively coupling a first computer network and a second computer network, comprising tunneling information exchanged between the first and second computer networks within a hierarchical communication protocol operative within the second computer network. 2. The method of claim 1 wherein the hierarchical communication protocol is supported on a communication channel of a wireless communication link. 3. The method of claim 2 wherein the communication channel includes a number of time slots for transmissions of information associated with network components within the second computer network. 4. The method of claim 3 wherein the communication channel includes one or more forward time slots and one or more reverse time slots, which together define transmission and reception periods for components operative at a highest level of a hierarchy of the second computer network. 5. The method of claim 4 wherein tunneling comprises transmitting information from the first network during at least one of the forward time slots and transmitting information from at least one of the network components during at least one of the reverse time slots. 6. The method of claim 5 wherein the communication channel comprises a channel of a spread spectrum wireless communication link. 7. The method of claim 5 wherein the communication channel comprises a half- duplex communication channel. 8. The method of claim 5 wherein the highest level of the hierarchy of the second computer network comprises a network server and one or more network clients. 9. The method of claim 8 wherein at least one of the network server or one of the network clients includes a router layer configured to map address information used by the first computer network to address information used by the second computer network. 10. The method of claim 9 wherein the router layer is further configured to extract data information from one or more packets received from the first computer network and include the data within one or more communication data frames utilized by the hierarchical communication protocol. 11. The method of claim 10 wherein the first computer network operates according to the transmission control protocol/Internet protocol (TCP/IP). 12. The method of claim 1 wherein tunneling comprises encapsulating packets received from the first computer network within communication data frames utilized within the second computer network. 13. An apparatus configured to operate within a wireless computer network comprising a router layer configured to provide tunneling services within the wireless computer network having a number of network components communicatively coupled through a hierarchical communication protocol. 14. The apparatus of claim 13 wherein the apparatus comprises a server. 15. The apparatus of claim 14 wherein the network components are communicatively coupled through a spread spectrum wireless communication link. 16. The apparatus of claim 14 wherein the network components are communicatively coupled through a half-duplex communication link. 17. The apparatus of claim 14 wherein the router layer is configured to extract data information received from packets transmitted from an external network and include the data information within one or more communication frames utilized within the hierarchical communication protocol. 18. A computer network, comprising: a communication channel configured to communicatively couple components of the computer network according to a hierarchical communication protocol; and a router configured to extract data information from packet transmitted from external networks and include the data information within communication frames utilized within the communication channel. 19. The computer network of claim 18 wherein the components are organized into a hierarchy within the computer network and the communication channel is operative at a highest level of that hierarchy. 20. The computer network of claim 19 wherein the communication channel comprises a number of time slots within which the communication frames are transmitted.

Inventors: EKAMBARAM NATARAJAN, GUBBI RAJUGOPAL R, OUATU-LASCAR MIRCEA, SEBASTIAN DONIA, EKAMBARAM, NATARAJAN, GUBBI, RAJUGOPAL, R., OUATU-LASCAR, MIRCEA, SEBASTIAN, DONIA
Applicants: SHAREWAVE INC, SHAREWAVE, INC.
Application year: 2000
Main classification: H04Q7
IPC codes: H04L12, H04L29