Abstract:
A subscriber unit includes a receiver configured to monitor at least one channel for a first identifier and a second identifier. The first identifier is associated with a unicast transmission and the second identifier is associated with a multicast transmission. The subscriber unit includes a transmitter configured, in response to receiving a first message including the first identifier over the monitored at least one channel, to utilize an assignment of resources within the first message for the unicast transmission. The subscriber unit further includes a processor configured, in response to receiving a second message including the second identifier over the monitored at least one channel, to process information within the second message associated with the multicast transmission.

Description:
CROSS REFERENCE TO RELATED APPLICATIONS 
       [0001]    This application is a continuation of U.S. patent application Ser. No. 13/651,557, filed Oct. 15, 2012, which is a continuation of U.S. patent application Ser. No. 09/630,024, filed Jul. 31, 2000, now U.S. Pat. No. 8,301,137, which issued on Oct. 30, 2012, which is incorporated by reference as if fully set forth. 
     
    
     BACKGROUND OF THE INVENTION 
       [0002]    In a telecommunications network, it is often desirable to send the same message to a group of recipients. Methods are known for establishing a group of message recipients as a multicast group. Such a group of recipients share a common group address for receiving messages sent to the multicast group. A message designated as a multicast message can then be sent to all members of the multicast group by simply addressing the message to the group address. 
         [0003]    Message transmission in a telecommunications network occurs over a variety of physical media. For example, a telecommunications network may include wireless communication networks. Wireless communication networks are notable because message transmission occurs over a wireless connection via a radio channel, rather than via a physically conductive, or wired connection which is common in a telecommunications network. In a typical wireless communication network, a base station processor is in communication with a plurality of subscriber access units (subscribers). The base station processor also maintains a wired connection to the telecommunications network. Each of the subscriber access units is connected to a plurality of user computing devices, such as user PCs. In this manner, a user computing device is provided a wireless connection to a telecommunications network through the subscriber access unit and the base station processor in wireless communication with the subscriber access unit. 
         [0004]    A base station processor includes a plurality of wireless channels for message transmission between the base station processor and the subscriber access units. Such wireless channels are a scarce resource in a base station processor. Accordingly, the base station processor allocates the wireless channels among the subscriber access units on a periodic basis as the users demand access. 
         [0005]    A multicast message received by a base station processor may require delivery to a multiple of the subscriber access units which are members of a multicast group. In a typical base station processor, a separate channel is allocated for each of the subscriber access units that is a member of the multicast group. The multicast message therefore must be sent, in an iterative manner, to each of the subscriber access units over a separate dedicated channel allocated for each subscriber access unit. In this manner, a multicast message results in duplicate channel allocation and duplicate message transmission for each group member when a multicast message is received by the base station processor for delivery to each of the subscriber access units in the multicast group. 
       SUMMARY OF THE INVENTION 
       [0006]    It would be beneficial, therefore, to provide a method and system for allocating a single channel for all subscriber access units that are members of a multicast group, and sending the message to all the subscriber access units over the single allocated channel for concurrent receipt by the subscriber access units that are members of the multicast group. 
         [0007]    According to the invention, a system and method are provided to transmit messages in a wireless communication network to a multicast group. A base station processor having a plurality of wireless channels is in communication with a plurality of subscriber access units in a wireless communication network. The base station processor allocates the wireless channels to the subscriber access units for transmitting messages between the subscriber access units and the base station processor on a demand basis. The base station processor is also connected to a public access network such as the Internet via an Internet gateway. Multicast messages are received via the Internet gateway to be sent to a plurality of the subscriber access units, denoted as a multicast group, in the wireless communication network. The multicast message is sent concurrently to each of the subscriber access units by allocating a single wireless channel for the multicast message to all subscriber access units in the multicast group. The message is sent over the single wireless channel to all the subscriber access units in the multicast group and received concurrently by the subscriber access units in the multicast group. A routing table stores entries associating subscriber access units with an interface; an interface is associated with a subscriber access units; and a wireless channel is associated with the interface. Multiple subscriber access units can therefore be associated with the same wireless channel used to send the multicast message. Subscriber access units which are members of a multicast group are associated with the same multicast group address in the routing table. 
         [0008]    The multicast message traffic is determined by the base station processor which parses the incoming message traffic. The multicast message traffic conforms to a predetermined protocol such as the Internet Group Management Protocol (IGMP). Multicast message conforming to this protocol is used to identify multicast groups, identify requests for subscribers to leave and join the multicast groups, and determine which group a particular message is directed to. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0009]    The foregoing and other objects, features and advantages will be apparent from the following more particular description of particular embodiments of the invention, as illustrated in the accompanying drawings in which like reference characters refer to the same parts throughout the different views. The drawings are not necessarily to scale, emphasis instead being placed upon illustrating the principles of the invention. 
           [0010]      FIG. 1  is a block diagram of a wireless communication system suitable for performing multicast message transmission as defined herein; 
           [0011]      FIG. 2  shows a base station processor in communication with a plurality of subscriber access units; 
           [0012]      FIG. 3  is a flowchart depicting multicast message transmission as defined herein; and 
           [0013]      FIG. 4  shows the sequence of messages for establishing and transmitting to a multicast group. 
       
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
       [0014]    A description of a preferred embodiment of the invention follows.  FIG. 1  is a block diagram of a communication system  10  operable for multicast message transmission in a wireless network as defined herein. The communication system includes local computing devices, generally user PCs  12 , subscriber access units  14 , a base station processor  16 , and an internetworking gateway  18 . The user PCs  12  are in communication with the subscriber access units  14  via a wired connection  20 . The subscriber access units  14  are in communication with a base station processor  16  via a wireless connection  26 . The base station processor is in communication with an internetworking gateway  18  via a wired connection  24 . The internetworking gateway  18  is adapted for communication via a public access network  28  such as the Internet. 
         [0015]    The user PCs  12  may therefore be provided access to the internetworking gateway  18 , which may be any remote entity located on the Internet or other network, through a combination of the wired  20 ,  24  and wireless connection  26  provided. The wired connection  20 , 24  is typically supported by a protocol such as TCP/IP or UDP/IP. The wireless connection is supported by a wireless link protocol such as IS95 or another wireless link protocol such as the protocol described in pending U.S. Patent Application entitled “Dynamic Frame Sizing Settings for Multichannel Transmission,” published as PCT application No. WO 99/44341, Sep. 2, 1999. 
         [0016]    Typically, the PC  12  provides a data packet, which may for example be an Internet Protocol (IP) packet, to the subscriber access unit  14  over the wired connection  20 , which may for example be an Ethernet type connection. The subscriber access unit  14  removes the framing of the data packet and transfers the data in the data packet to the base station processor  16  over the wireless connection  26  in accordance with the wireless link protocol. The base station processor  16  extracts the wireless connection frames and forwards them, in data packet form, over the wired connection  24  to the internetworking gateway  18 . 
         [0017]    Similarly, packets sent from the public access network are sent to the base station processor  16  over the wired link  24 , transmitted to the corresponding subscriber access unit  14  over the wireless link  26 , and sent to the user PC  12  over the wired link  20 . The subscriber access unit  14  and the base station processor  16  therefore denote endpoints of the wireless connection  26 , providing a wireless link from the user PC  12  to the public access network  28  such as the Internet. 
         [0018]      FIG. 2  shows a base station processor in communication with a plurality of subscriber access units and operable to perform multicast message transmission as defined herein. Multicast messages are typically transmitted according to a protocol such as the Internet Group Management Protocol (IGMP), as defined in Internet RFC 2236. The base station processor  16  is in communication with a plurality of subscriber access units  14   a - 14   f  over a wireless connection  26 . The base station processor  16  has a plurality of wireless channels  22   a - 22   j  (channels) operable to perform wireless communication between the subscriber access units  14  and the base station processor  16 . The wireless channels  22  generally are allocated by the base station processor  16  to the subscriber access units  14  for sending and receiving wireless messages. Typically, the base station processor rapidly allocates and deallocates channels  22  to accommodate channel requests for messages sent between the subscriber access units  14  and the base station processor  16 . 
         [0019]    Typical wireless systems employ a shared paging and access method, common to all subscriber access units  14 , that is used to provide communication with subscriber access units  14  when no dedicated wireless traffic channels  22  are allocated to send and receive messages. In such a system, a common paging channel  32  is used to notify a subscriber access unit  14  that it is being allocated a traffic channel  22 . Also in such a system, a common access channel  30  is used by a subscriber access unit  14  to request a traffic channel  22  from the base station processor  16 . Once traffic channels  22  are allocated, and the subscriber access unit  14  has been notified, the waiting messages are then forwarded by the subscriber access units  14  to the PC  12  or to the base station processor  16 , depending on message direction. 
         [0020]    In the example shown, described further below, channel  22   c  is allocated to subscriber access unit  14   d  on connection ID C 14 . Channel  22   a  is allocated to subscriber access unit  14   b  on connection ID C 5 . There are no channels allocated to subscriber access unit  14   e  on connection ID C 11 . Channel  22   f  is allocated to the multicast group indicated as subscriber ID  15  on connection ID C 23 . Connection ID C 23  refers to a multicast group containing member connection IDs C 14  and C 11  which correspond to subscriber access units  14   d  and  14   e  respectively. The multicast message is sent via channel  22   f , providing both wireless connections  26   a  and  26   b , and is received concurrently by subscriber access units  14   d  and  14   e , respectively. In this manner, multiple redundant message transmissions, each entailing a separate channel allocation, are avoided. 
         [0021]    Referring in more detail to  FIG. 2 , the base station processor  16  has a routing table  34 , a connection table  36 , and a multicast group table  38 . The routing table associates a network address  40 , indicative of a user PC  12  ( FIG. 1 ) with a connection ID  42 . The connection table  36  associates connections with channels. For each connection ID  42 , a corresponding channel ID  46  is stored. The subscriber ID  44  for which a channel  22  is allocated is also stored. For connection IDs  42  corresponding to multicast groups, a separate connection table  36  entry is maintained for each multicast group. Note that since the channels  22  are allocated on a demand basis as messages are received, the connection table  36  entries corresponding to a connection ID may be added and deleted as messages arrive and are sent on, as will be discussed further below. The group management table  38  associates a multicast group address  40  with a connection ID  42  and a list of group member connection IDs  48 . Each connection ID  42  from the connection table  36  that is included in the membership of the multicast group indicated by multicast group address  40  is listed in the group member connection IDs  48 . Note that since groups and group membership are dynamic, the group management table  38  entries may be added, deleted and updated as groups are formed and members join and leave the group as will be discussed further below. 
         [0022]    Prior to discussing message transmission as indicated in  FIG. 2 , a brief discussion of channel allocation and message transmission using the base station processor  16  and the wireless protocol would be beneficial. As indicated above, the base station processor  16  allocates channels  22  among different subscriber access units  14  to accommodate message transmission requests. Each of the subscriber access units  14 , therefore, is operable to receive a message over any of the channels  22  as determined by the base station processor  16 . Since the wireless protocol used to transmit the message signals uses a non-selective RF medium, all the subscriber access units  14  are actually capable of processing the message signals, unlike a switched network in which only the intended recipient actually receives the message signals. Further, multiple channels  22  may be allocated to the same subscriber access unit  14 . The connection table  36 , therefore, stores the connection ID  42  and corresponding entry to indicate which subscriber access units  14  should process, or listen, to a particular channel  22 . Note that the connection ID  42  may also be used to associate other connection parameters (not shown) used in conjunction with the wireless link protocol. 
         [0023]    Typically, all subscriber access units  14  are responsive to the paging channel  32 , as indicated above. When the base station processor  16  allocates a channel  22  to a subscriber access unit  14 , a paging message is sent via the paging channel  32  to indicate to the subscriber access unit  14  that a message is about to be transmitted on a particular channel  22 . For a unicast message, only a single subscriber access unit  14  is involved. Therefore, while all subscriber access units  14  will receive, demodulate and decode the paging message on the paging channel  32 , only the subscriber access unit  14  indicated in the paging message need act on it. When the message indicated in the paging message is sent, only the subscriber access unit  14  indicated by the paging message will demodulate and decode the message. The other subscriber access units  14 , while capable of receiving the RF signals carrying the message, will not decode and may need not fully demodulate the message because the paging message did not designate them. 
         [0024]    During a multicast message transmission, multiple subscriber access units  14  process the message. Therefore, the corresponding paging message is indicative of the collection of the subscriber access units  14  in the multicast group to whom the message is directed. The group members may be indicated specifically by individual subscriber access unit reference, or by a group designator known to each of the subscriber access units  14  in the group. In this manner, the same channel  22  is used to transmit to multiple subscriber access units  14  because multiple subscriber access units  14  are told to receive, or listen, on the same channel  22 . 
         [0025]    Continuing to refer to  FIG. 2 , a multicast group address  40  corresponding to IP address 224.27.4.6 is listed in the routing table  34 . The actual addresses used are exemplary and any suitable address supported by the underlying protocol, here TCP/IP, can be used. Consistent with the IGMP protocol indicated above,  224  is typically the first part of the network number for a multicast group. IP address 224.27.4.6 is associated with the connection ID C 23  in column  42 . The multicast group IP address 224.27.4.6 in column  40  and connection ID C 23  in column  42  are associated in the group management table  38  with connection IDs C 14  and C 11  in the group connection list  48 . The connection IDs C 14  and C 11  correspond to subscriber access units  14   d  and  14   e  respectively. In the example, connection ID  23  in column  42  is associated with subscriber access unit  15  in column  44 . Subscriber access unit  15  is used as a designation of a multicast group user. This designation is exemplary and other suitable designations can be employed. As depicted in the connection table  36 , connection ID C 23  is allocated channel  22   f . In the group management table  38 , connection ID C 23  is associated with group members having connection IDs C 14  and C 11 . These two multicast connections are illustrated as wireless connections  26   a  and  26   b , respectively. 
         [0026]    Therefore, a multicast message sent to multicast group 224.27.4.6 results in the message being sent via channel  22   f  to both subscriber access unit  14   d  and  14   e , because both subscriber access unit  14   d  and  14   e  are receiving, or listening, on channel  22   f . Group establishment and the transmission of a multicast message will be described in more detail below. 
         [0027]      FIG. 3  shows a flowchart depicting the sequence of multicast message transmission processing. Referring to  FIGS. 3 and 2 , a message is received at the base station processor  16 , as shown in step  100 . A check is made to determine if the message is a multicast message, as depicted in step  102 . If the message is not a multicast message, unicast transmission continues, as disclosed at step  104 . If the message is a multicast message, a check is made to determine whether the message contains control information or data traffic, as depicted in step  106 . Control information is indicative of new multicast groups and additions and deletions of group members. If the message contains control information, multicast group join/delete processing is performed, as shown at step  108 . Otherwise, a lookup is performed in the routing table  34  to find the group address, as disclosed at step  110 . The connection ID corresponding to the multicast group is retrieved, as shown at step  112 . The connection ID corresponds to a group entry in the group management table  38 . A channel  22  is scheduled to be used to transmit the message, as shown at step  114 . For each connection ID corresponding to the group connection list in the group entry of the group management table  38 , a lookup is performed to find an entry in the connection table  36 , as disclosed at step  116 . For each connection, the subscriber access unit corresponding to the connection is retrieved, as depicted at step  118 . The channel  22  to be allocated to transmit the message is stored in the connection table  36 , as indicated at step  120 . The channel  22  and subscriber access unit  14  are then added to the paging message corresponding to the multicast message, as shown at step  122 . A check is made to determine if all connection IDs corresponding to this multicast group have been processed, as shown at step  124 . If there are more connection IDs corresponding to the group connection list  48  in the group entry in the group management table  38 , control reverts to step  116  to process the additional connection IDs, as depicted at step  126 . When all subscriber access units  14  corresponding to the multicast group have been implicated in the paging message, the paging message is sent, as disclosed at step  128 . Following the paging message, the multicast message is sent over the channel  22  scheduled in step  114 , as depicted at step  130 . The message is received by each of the subscriber access units indicated in the paging message, as shown at step  132 . In this manner, a single channel allocation and a single message transmission provide a message which is received by each of the subscriber access units  14  in the wireless multicast group. 
         [0028]      FIG. 4  shows the sequence of messages used to establish and send multicast group messages in more detail. As indicated above, in one embodiment, multicast groups are defined by the IGMP protocol. IGMP messages are indicative of requests to add and delete groups and to add and delete group members, defined by an IP address, to and from a multicast group. Referring to  FIG. 4 , the base station processor  16  scans incoming messages for IGMP messages, and updates the routing table  34 , the connection table  36 , and the group management table  38  accordingly. Incoming messages from the Internet or other public access network are received by the base station processor  16  via the internetworking gateway  18 . An add group message  200  is received by the base station processor  16  for the multicast group identified by IP address 224.27.4.6. An entry  202  is written to the routing table to identify the new multicast group address, and connection C 23  is created and entry  204  is written to the connection table  36 . Since this is a new group, an entry  206  is written to the group management table  38 . As a multicast group may have zero or more members at any time, no members are yet established for this multicast group and the group connection list  48  stored in the group management table entry  206  is empty. 
         [0029]    An add member to group message  208  is received, indicative of a request to add user PC  12   d , served by subscriber access unit  14   e , to the multicast group 224.27.4.6. More specifically, the add member request message is indicative of an IP address served by subscriber access unit  14   e , since a single subscriber access unit  14  may serve many user PCs  12 . The routing table  34  is scanned, and the entry  202  for multicast group 224.27.4.6 is found to exist. The routing table  34  indicates that connection ID C 23  serves the multicast group 224.27.4.6. The group management table  38  is scanned, and the entry  206  for connection ID C 23  is found to exist. User PC  12   d  has an associated IP address of 218.114.3.7. The routing table  34  is scanned for IP address 218.114.3.7, and the entry is found to exist associated with connection ID C 11 . The group management table  38  entry  206  is then updated to include connection ID C 11  in the group connection list  48 . 
         [0030]    Another add member to group message  210  is received, indicative of a request to add user PC  12   c , served by subscriber access unit  14   d  to the multicast group 224.27.4.6. The routing table  34  again indicates that connection ID C 23  is associated with this multicast group. The group management table  38  is scanned, and the entry  206  for connection ID C 23  is found to exist. User PC  12   c  has an associated IP address of 205.152.52.3. The routing table  34  is scanned for IP address 205.152.52.3, and the entry is found to exist associated with connection ID C 14 . The group management table  38  entry  206  is then updated to include connection ID C 14  in its connection list. 
         [0031]    As indicated above in  FIG. 3 , the wireless channels  22  are allocated on demand as needed for messages. Accordingly, connection entries in the connection table  36  need not indicate that any traffic channels are allocated for a particular connection, including the multicast group connection. A message  212  is received at the base station processor  16  for the multicast group 224.27.4.6. A lookup in the routing table  34  indicates entry  202 , referencing the connection ID C 23 . Mapping the connection ID C 23  into the group management table  38  yields two connections corresponding to members of the multicast group as indicated by entry  206 . Multiple connections identified in the connection list of the group management table  38  entry are indicative of a multicast group. Connections C 14  and C 11  denote subscriber access units  14   d  and  14   e , respectively, as members of the multicast group. A channel request to deliver the multicast message allocates channel  22   f  for this multicast message. Accordingly, connection table  36  entry  204  is updated with the allocated channel ID  22   f . A paging message  218  is created to alert subscriber access units  14   d  and  14   e  to receive on channel  22   f , and sent on the paging channel  32  to subscriber access units  14   d  and  14   e , respectively. After receipt of the paging message by the subscriber access units  14   d  and  14   e , the multicast message  220  is sent on the allocated channel  22   f . Subscriber access units  14   d  and  14   e  will send the received multicast message over the wired connection  20  to user PCs  12   c  and  12   d , respectively, as indicated by messages  222  and  224 . In a typical messaging session, the subscriber access units  14  in a multicast group may each receive many multicast messages in sequence. These messages may be segmented to correspond to portions of packets or the entire packet as received from the internetworking gateway  18 . It is possible that not all the subscriber access units  14  in a multicast group will correctly receive the message on the wireless channels, due, for example, to interference or other transmission aspects common to the medium which supports the wireless connection. In another embodiment, each message is associated with a sequence number. Referring again to  FIG. 4 , in this embodiment, each subscriber access unit  14  which does not receive the multicast message correctly sends a negative acknowledgment back to the base station processor  16 . If one or more negative acknowledgments are received at the base station processor  16 , the base station processor  16  will resend the message in a manner similar to the original wireless multicast transmission, on either the same channel or a newly allocated channel. Subscriber access units  14  which did correctly receive the message will recognize the sequence number as having been received already, and will ignore the message, so that duplicate messages are avoided. 
         [0032]    It should be noted that exemplary IGMP messages are described herein, and that other messages and protocols exist which are indicative of requests to create and delete multicast groups, and to join and remove members from the multicast groups. Such messages include, but are not limited to, group query, group member list, join host group, leave host group, and others. The system and methods described herein are illustrative of the notion that a wired line multicast group protocol, such as IGMP used in a TCP/IP network, can be employed in a base station processor to provide efficient multicast group transmission in a wireless network. Through examining the group management messages in the base station processor as defined herein, wireless channels, wireless connections, and wireless interfaces can be employed in an optimal manner. 
         [0033]    Those skilled in the art should readily appreciate that the programs defining the operations and methods defined herein are deliverable to a base station processor in many forms, including but not limited to a) information permanently stored on non-writeable storage media such as ROM devices, b) information alterable stored on writeable storage media such as floppy disks, magnetic tapes, CDs, RAM devices, and other magnetic and optical media, or c) information conveyed to a computer through communication media, for example using baseband signaling or broadband signaling techniques, as in an electronic network such as the Internet or telephone modem lines. The operations and methods may be implemented in a software executable out of a memory by a processor or as a set of instructions embedded in a carrier wave. Alternatively, the operations and methods may be embodied in whole or in part using hardware components, such as Application Specific Integrated Circuits (ASICs), state machines, controllers or other hardware components or devices, or a combination of hardware and software components. 
         [0034]    While the system and method for transmitting multicast messages in a wireless communication network have been particularly shown and described with references to embodiments thereof, it will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the scope of the invention encompassed by the appended claims. Accordingly, the present invention is not intended to be limited except by the following claims.