This disclosure relates generally to wireless broadband data systems, and more particularly, to a system and method for providing Internet Protocol (IP) multicast communications over a wireless broadband data network.
Recently, a number of wireless broadband data protocols have been developed to provide more effective techniques for transmitting data in a wireless communication system. One example of such a protocol is Evolution Data Optimized, often abbreviated as EvDO, which has been adopted by many Code Division Multiple Access (CDMA) mobile phone providers as part of the CDMA2000 standard. In typical systems using EvDO, mobile stations (such as computers, cellular phone, personal digital assistants (PDAs), and the like) wirelessly connect to a network via an EvDO interface (such as a personal computer (PC) card, a modem, a router, or the like).
EvDO is an IP based communication protocol. That is, each computer or device in the system is assigned a unique IP address. Data is then broken up into packets, each of which can be transmitted independently to a specified IP address. Data transmissions within the system may also be either unicast transmissions or multicast transmissions. For example, in unicast transmissions, a one-to-one client/server relationship is established where the client receives a distinct data stream from the server. By contrast, in multicast transmissions, a single data stream is sent to multiple recipients as a group transmission. Multicast transmissions therefore conserve significant bandwidth by simultaneously delivering a single stream of information to multiple recipients rather than having to create a separate data stream for each of the recipients. Today, there are multiple applications that take advantage of multicasting, include videoconferencing, corporate communications, distance learning, and distribution of software, stock quotes, news, and emergency alert systems.
In EvDO systems, multicasting is provided using the Broadcast and Multicast Service (BCMCS) protocol, which is generally defined in 3GPP2X.S0022-0 from the 3rd Generation Partnership 2 Project (3GPP2). Specifically, the BCMCS protocol allows for multicast delivery of BCMCS content streams to one or more hosts in a communication network. However, one significant drawback of the BCMCS protocol is that it does not support native IP multicasting using, for example, Internet Group Management Protocol (IGMP). Therefore, to use multicasting features in a mobile station having an EvDO interface, the mobile station must include a multicast application configured to communicate with the EvDO interface using an EvDO-defined Application Program Interface (API) signaling. As a result, EvDO enabled mobile stations cannot support off-the-shelf (OTS) multicast applications, which are typically configured to use native IP multicast standards. This significantly limits the applications that may be used in EvDO enabled mobile stations and instead requires users to purchase/develop and use proprietary EvDO-based multicast applications.
Accordingly, there is a need for a system and method for operating a native IP multicast application in a mobile device which uses a wireless broadband data protocol that does not support native IP multicasting.
Various embodiment of the disclosure are now described, by way of example only, with reference to the accompanying figures.
Skilled artisans will appreciate that elements in the figures are illustrated for simplicity and clarity and have not necessarily been drawn to scale. For example, the dimensions and/or relative positioning of some of the elements in the figures may be exaggerated relative to other elements to help improve the understanding of various embodiments of the present disclosure. Also, common but well-understood elements that are useful or necessary in a commercially feasible embodiment are not often depicted in order to facilitate a less obstructed view of these various embodiments of the present disclosure. It will be further appreciated that certain actions and/or steps may be described or depicted in a particular order of occurrence while those skilled in the art will understand that such specificity with respect to sequence is not actually required. It will also be understood that the terms and expressions with respect to their corresponding respective areas of inquiry and study except where specific meaning have otherwise been set forth herein.
The present disclosure provides a system and method for operating a native IP multicast application in a mobile station having a wireless interface that offers broadcast and/or multicast services but does not support native IP multicast messages. In particular, the mobile station includes a link layer interface that is configured to communicate with various base stations using a wireless broadband data protocol, such as EvDO. Each mobile station also includes a proxy module that operates as a middleware layer above the link layer interface. In accordance with the present disclosure, the proxy module is configured to intercept and/or suppress multicast messages being passed to and from the link layer interface, and convert any multicast messages from a native IP multicast protocol, such as IGMP, to an API call specific to the link layer interface, or vice versa. For example, when a multicast application triggers a native IP multicast message, such as an IGMP report, a multicast IP packet, or the like, the proxy module is configured to intercept the IP multicast message before it reaches the link layer interface, and convert the IP multicast message to an interface-specific into a format understood by the interface and the network to which it is associated. The API call is then received by the link layer interface, which generates the appropriate multicast message using the wireless broadband data protocol and transmits the multicast message to the base station. Similarly, if a multicast message using the wireless broadband data protocol is received by the link layer interface, the link layer interface may generate an API call corresponding to the received multicast message. The proxy module is configured to obtain the API call from the link layer interface, convert it to a native IP multicast message, and pass the IP multicast message up to the native multicast application.
Let us now discuss the present disclosure in greater detail by referring to the figures below. For clarity and exemplary purposes only, the following description and examples assume a CDMA2000 system using the EvDO and BCMCS protocols. However, the present disclosure is also applicable to wireless communication systems using other types of access schemes or other types of wireless broadband protocol, e.g., Wideband Code Division Multiple Access (WCDMA) using Universal Mobile Telecommunications System (UMTS), Global System for Mobile communication (GSM) using Enhanced Data rates for Global Evolution (EDGE) or General Packet Radio Service (GPRS), or the like.
As shown in
Of course, practitioners skilled in the art would also understand that the system 100 may also include other additional components. For example, the system 100 may include Authentication, Authorization, and Accounting (AAA) servers, subscriber profile managers, and subscriber profile databases, and the like. Although only one mobile station is illustrated in communication with each base station, it is also understood that any number of mobile stations may be in communication with each base station.
One exemplary embodiment of a multi-layer structure of a mobile station 140 according to the present disclosure is illustrated in
As shown in
The transport layer 220 interfaces the user applications on the application layer 210 to the network infrastructure and structures data messages for transmission. An exemplary type of transport layer protocol is a User Datagram Protocol (UDP), which provides a connectionless host-to-host communication path. Other well-known transport layer protocols may include Datagram Congestion Control Protocol (DCCP), Stream Control Transmission Protocol (SCTP), Transmission Control Protocol (TCP) and Real Time Protocol (RTP).
The network layer 230 performs network routing and forwarding, flow control, segmentation/desegmentation, error control functions, and the like. In one embodiment, the functionality of the network layer 230 is performed by the IP protocol. In accordance with the present disclosure, the network layer 230 also includes a native multicast protocol, such as IGMP, running on top of the IP protocol. As is well known-in the art, IGMP is used to manage the memberships of IP multicast groups. Specifically, via the IGMP protocol, each host in the system can join and leave multicast groups, as well as send IP datagrams to multicast groups. It should be understood that, for purposes of this disclosure, the IGMP protocol may be any version of the IGMP protocol such as, for example, IGMP version 0, IGMP version 1, IGMP version 2, or IGMP version 3. The specific standards for the formation of various IP packets using the IGMP protocol is described, in pertinent part, in Internet Engineering Task Force (IETF) Request for Comments (RFC) 966 and 988 (for IGMP version 0), IETF RFC 1054, 1112, and 1812 (for IGMP version 1), IETF RFC 2112, and 2236 (for IGMP version 2), and IETF RFC 3376 (for IGMP version 3), each of which is incorporated herein by reference.
The link layer 250 provides the method to move data packets from the network layer 230, and generally corresponds to the interface hardware. Thus, in one exemplary embodiment, the link layer 250 may be comprised of the EvDO interface 142. As mentioned above, the EvDO interface 142 is configured to manage multicast transmissions between the mobile station 140 and a base station 130 using the BCMCS protocol.
In accordance with the present disclosure, the mobile station 140 also includes a proxy module 240 operating above the link layer 250. More particularly, in one embodiment, the proxy module 240 is provided as a middleware layer configured to intercept multicast messages passed between the network layer 230 and the link layer 250. As explained further below, the proxy module enables interoperability between the native multicast application 212 and the EvDO interface 142.
In
The proxy module 240 intercepts each native IP multicast message as it is being passed down from the network layer 230 to the link layer 250 in step 308. If the proxy module 240 decides to convert the native IP multicast message to an interface signal having a format that can be recognized by the wireless interface 142 in step 310, it passes the interface signal to the link layer 250 in step 312. Thus, in the system described above, the proxy module may receive an IGMP multicast message, strip any IGMP formatting (such as IGMP headers) from the IGMP multicast message in order to obtain the relevant data in the IGMP multicast message, and pass the relevant data to the EvDO interface 142 using an EvDO-defined API call. The original native IP multicast message may also be suppressed and discarded to prevent the native IP multicast message from being passed to the EvDO interface 142. For example, if the IGMP multicast message is a multicast IP datagram, the proxy module 240 may intercept the multicast IP datagram, strip the IGMP-specific header information from the multicast IP datagram to obtain the application data contained in the multicast IP datagram, and pass the application data to the link layer 250 using an EvDO-defined API call. If, however, the proxy module 240 decides not to convert the native IP multicast message to an interface signal having a format that can be recognized by the wireless interface 142 in step 310, a database is updated in step 311 and the process ends. Similarly, if the IGMP multicast message is an IGMP report indicative of the mobile station's group memberships, the proxy module 240 may intercept the IGMP report, strip any IGMP formatting from the group membership information, and pass the group membership information to the link layer 250 using an EvDO-defined API call.
In step 314, upon receiving the interface signal, the wireless interface 142 generates a BCMCS message that is functionally equivalent to the native IP multicast signal. For example, if the native IP multicast signal was originally a multicast IP datagram containing application data, the BCMCS message may be a BCMCS datagram containing the same application data. Similarly, if the native IP multicast message was originally an IGMP report containing group membership information, the BCMCS message may be a BCMCS registration message containing the same group membership information. It should be noted that if IGMPv3 is used, the group membership information will include a list of source address filters when supported by later developed EvDO standards. The specific BCMCS message structure and format is provided in 3GPP2 C.S0054-0 (“cdma2000 High Rate Broadcast-Multicast Packet Data Air Interface Specification”), which is incorporated herein by reference.
In step 316, the wireless interface transmits the BCMCS message to a base station. The BCMCS message is then received and processed by the base station in accordance with well-known procedures and methods.
Turning to
It is of course understood that if the received BCMCS message originally received in step 402 is of a type that requires a response, the native multicast application 212 may trigger an appropriate response IGMP message to be created, which would then be converted using the process of
By means of the aforementioned disclosure, there is provided a system and method for converting native multicast messages to interface-specific signals, and vice versa. As the above disclosure may be provided transparently to the application and the user, mobile stations employing wireless interfaces (such as EvDO interfaces) may be readily used with native multicast applications operating on native IP multicast protocols.
Further advantages and modifications of the above described system and method will readily occur to those skilled in the art. For example, while the present disclosure has been described with regards to a CDMA2000 system using EvDO and BCMCS protocols, it is understood that the present disclosure may also be used in other types of systems where the wireless interface does not support native IP multicast. The present disclosure may also be used to convert other types of native IP protocol messages other than IGMP. It is also understood that while the proxy module is shown as being positioned between the network layer and the link layer, the proxy module may alternatively be positioned in other portions of the multi-layer structure between the application and the link layer.
The disclosure, in its broader aspects, is therefore not limited to the specific details, representative system and methods, and illustrative examples shown and described above. Various modifications and variations can be made to the above specification without departing from the scope or spirit of the present disclosure, and it is intended that the present disclosure cover all such modifications and variations provided they come within the scope of the following claims and their equivalents.