HK1145381A - Peer-to-peer communication in ad hoc wireless network - Google Patents
Peer-to-peer communication in ad hoc wireless network Download PDFInfo
- Publication number
- HK1145381A HK1145381A HK10111767.6A HK10111767A HK1145381A HK 1145381 A HK1145381 A HK 1145381A HK 10111767 A HK10111767 A HK 10111767A HK 1145381 A HK1145381 A HK 1145381A
- Authority
- HK
- Hong Kong
- Prior art keywords
- wireless device
- wireless
- point
- wlan
- wwan
- Prior art date
Links
Description
Related information of divisional application
The application is the application No. PCT/US 2006/039278; the application date is 2006, 10 and 5 days; the priority date is 2005, 10/5; after the PCT application entitled "peer-to-peer communication in ad hoc mode wireless network" entered the chinese country phase, a divisional application of the invention patent application with application number 200680036731.5 was filed.
Claiming priority under 35U.S.C. § 119
Priority is claimed for united states provisional application No. 60/724,226 entitled "method and apparatus for peer-to-peer communication in a wireless network" filed on 5.10.2005 of this patent, which is assigned to the assignee of the present invention and incorporated herein by reference.
Technical Field
The present disclosure relates generally to communication, and more specifically to techniques to support communication for wireless devices.
Background
Wireless communication networks are widely deployed to provide various communication services such as voice, video, packet data, and so on. These wireless networks include Wireless Wide Area Networks (WWANs) that provide communication coverage for large geographic areas, Wireless Local Area Networks (WLANs) that provide communication coverage for medium geographic areas, and Wireless Personal Area Networks (WPANs) that provide communication coverage for small geographic areas. Different wireless networks typically have different capabilities, requirements, and coverage areas.
A wireless device, such as a cellular telephone, may be capable of communicating with one or more wireless networks, such as a WWAN and/or a WLAN. The wireless device may also be capable of point-to-point communication with other wireless devices. A wireless device may be invoked by a user to call another wireless device. The wireless device may be located within the coverage area of zero, one or more wireless networks when placing a call. From the user's perspective, it is desirable to connect calls as quickly and efficiently as possible, regardless of whether the wireless device is under the coverage area of any wireless network.
There is therefore a need in the art for techniques to efficiently support communication for wireless devices.
Disclosure of Invention
Techniques to support point-to-point (PTP) communication between wireless devices are disclosed. The techniques support communication even when a WWAN and WLAN are not present. For a peer-to-peer call, the wireless device performs discovery of the target wireless device, performs authentication of the target wireless device and generates a session key (e.g., using a pre-shared key or credentials provided on the wireless device), forms an ad-hoc wireless network with the target wireless device, and communicates peer-to-peer with the target wireless device via the ad-hoc wireless network. Each of the stages may be performed in various ways. This aspect may also be implemented via a method, apparatus, or computer program product.
In an aspect, a wireless device performs discovery with a list of identifiers. A wireless device receives a frame (e.g., a beacon frame or a probe request) from another wireless device, extracts an identification code from the received frame, determines whether the extracted identification code is included in the list of identification codes, and sends a response if the extracted identification code is included in the list. The identification code may be derived based on one or more telephone numbers and/or other identifying information of one or more wireless devices. The list may include the identification codes of other wireless devices designated for point-to-point communication with this wireless device. This aspect may also be implemented via a method, apparatus, or computer program product.
In another aspect, a wireless device performs background or active discovery to discover other wireless devices. For background discovery, a wireless device may periodically send and receive frames to discover other wireless devices. Each frame may include an identification code for the sending wireless device. For efficient discovery, the wireless device may periodically receive frames and may only send frames to discover the target wireless device (e.g., at the start of a call). Each transmitted frame may include an identification code for the targeted wireless device. For background and active discovery, a wireless device may send and/or receive frames during a pseudo-randomly selected time interval or a fixed time interval determined based on timing obtained from a wireless communication network (e.g., a cellular network). This aspect may also be implemented via a method, apparatus, or computer program product.
In yet another aspect, a Service Set Identifier (SSID) for identifying a mode-specific wireless network is derived based on one or more user-specific identifiers of one or more wireless devices, such as a phone number of a calling wireless device and/or a phone number of a called wireless device in a point-to-point call. The SSID may be used as an identification code included in each frame transmitted for discovery. This aspect may also be implemented via a method, apparatus, or computer program product.
In yet another aspect, a wireless device performs Internet Protocol (IP) address discovery for a point-to-point call. The wireless device forms a packet containing the user-specific identification (e.g., phone number) of the target wireless device, sends the packet to request the IP address of the target wireless device, receives a response including the IP address of the target wireless device, and performs point-to-point communication with the target wireless device using the IP address. This aspect may also be implemented via a method, apparatus, or computer program product.
In yet another aspect, the wireless device processes traffic data for a point-to-point call to achieve desired performance. The wireless device determines quality of service (QoS) requirements for the point-to-point call with the target wireless device, processes traffic data for the point-to-point call according to the QoS requirements, and sends the processed traffic data to the target wireless device. This aspect may also be implemented via a method, apparatus, or computer program product.
In another aspect, a wireless communication device is configured to obtain authorization for communication from a wireless client device of a wireless network via the wireless network, and communicate via the wireless network upon obtaining authorization from the wireless client device. This aspect may also be implemented via a method, apparatus, or computer program product.
Various aspects and features of the disclosure are described in further detail below.
Drawings
Fig. 1 shows deployment of a WWAN and a WLAN.
Fig. 2 shows a list of identification codes provided on a wireless device.
Fig. 3 shows a process for point-to-point communication.
Fig. 4 shows an apparatus for point-to-point communication.
Fig. 5 shows a process for performing discovery with a list of identifiers.
Fig. 6 shows a means for performing discovery with a list of identification codes.
Figure 7 shows a process for performing discovery at the start of a call.
Fig. 8 shows a device that performs discovery at the start of a call.
Fig. 9 shows a process for performing discovery using external timing.
Fig. 10 shows an apparatus for performing discovery using external timing.
Fig. 11 shows a process of performing IP address discovery.
Fig. 12 shows an apparatus for performing IP address discovery.
Figure 13 shows the process of obtaining and using SSIDs.
Figure 14 shows a device for obtaining and using SSIDs.
Fig. 15 shows a process of processing traffic data for a point-to-point call.
Fig. 16 shows an apparatus for processing traffic data for a point-to-point call.
FIG. 17 shows a block diagram of a wireless device.
Detailed Description
Fig. 1 shows deployment of WWAN 110 and WLAN 120. WWAN 110 provides communication coverage for a large geographic area such as a city, state, or entire country. WWAN 110 may be a cellular network such as a Code Division Multiple Access (CDMA) network, a Time Division Multiple Access (TDMA) network, a Frequency Division Multiple Access (FDMA) network, an orthogonal FDMA (ofdma) network, and the like. A CDMA network may utilize radio technologies such as CDMA2000, wideband-CDMA (W-CDMA), and so on. cdma2000 covers IS-95, IS-2000 and IS-856 standards. TDMA networks may utilize radio technologies such as global system for mobile communications (GSM). These various radio technologies, standards, and cellular networks are known in the art. WWAN 110 may also be a broadcast network, such as a MediaFLO network, a digital video broadcasting-handheld (DVB-H) network, an integrated services digital broadcasting for terrestrial television broadcasting (ISDB-T) network, and so forth. These broadcast networks are also known in the art.
In the following description, WWAN 110 is a cellular network that includes base stations that support wireless devices communicating within the coverage area of the WWAN. For simplicity, only two base stations 112a and 112b are shown in fig. 1. A base station is a station that communicates with a wireless device. A base station may also be called, and may contain some or all the functionality of, a node B, a Base Transceiver Station (BTS), an access point, etc. The core network 114 is coupled to and provides coordination and control for the base stations. The core network 114 may also be coupled to other networks, such as a Public Switched Telephone Network (PSTN), a Wide Area Network (WAN) such as the Internet, and so forth.
The WLAN120 provides communication coverage for a medium geographic area such as a mall, airport terminal, building, etc. WLAN120 may include any number of access points that support communication for any number of stations. For simplicity, only one access point 122 is shown in fig. 1. The WLAN120 may implement the IEEE 802.11 family of standards, some other WLAN standard, or some other WLAN radio technology. The IEEE 802.11 family of standards encompasses 802.11, 802.11b, 802.11g, and 802.11n, which specify different radio technologies. As used herein, Wi-Fi refers to IEEE 802.11 and other WLAN standards and radio technologies. Access point 122 may be coupled to a hub/router 124 that may support communication with a Local Area Network (LAN) and/or a WAN. Access point 122 and hub/router 124 may also be combined into a single wireless router.
Wireless device 130 may be dispersed outside of the coverage areas of WWAN 110 and WLAN120 as well as the coverage areas of these wireless networks. For simplicity, only five wireless devices 130 a-130 e are shown in fig. 1. Wireless devices may be fixed or mobile. A wireless device may also be called, and may contain some or all of the functionality of, a mobile station, user equipment, a station, a terminal, an access terminal, a subscriber unit, and so on. The wireless device may be a cellular telephone, a handheld device, a Personal Digital Assistant (PDA), a laptop computer, a wireless modem, a cell phone, or the like.
The wireless device may be capable of communicating with any number of wireless networks of any radio technology. For example, the wireless device may be capable of communicating with WWAN 110 and/or WLAN 120. The wireless device may thus be a WWAN device as well as a WLAN station, such as a Wi-Fi capable cellular telephone.
A wireless device may be able to communicate with zero, one, or multiple wireless networks at any time, depending on (a) the capabilities of the wireless device and (b) the location of the wireless device, e.g., whether it is within the coverage area of any wireless network. In the example shown in fig. 1, wireless device 130a may communicate with WWAN 110, wireless device 130b may communicate with WLAN120, wireless device 130c may communicate with WWAN 110 and WLAN120, and wireless devices 130d and 130e are outside the coverage area of WWAN 110 and WLAN 120.
Wi-Fi capable wireless devices may be able to communicate directly with each other via ad-hoc mode wireless networks. Ad-hoc wireless networks are wireless networks that can be formed in operation when needed, typically do not have a central control entity, such as an access point, and can be revoked when no longer needed. Ad hoc wireless networks may be formed by, and may include, wireless devices that require point-to-point communication with each other.
Point-to-point (PTP) and push-to-talk (PTT) features may be supported in wireless devices using Wi-Fi capabilities. PTT generally involves maintaining a connection so that communication can begin quickly when a user initiates it. PTP and PTT features may be desirable in various circumstances. For example, one family may visit a shopping mall, and each family member may go to a different store. Family members can stay in touch by calling each other directly using Wi-Fi. As another example, a community may be on foot, where WWAN coverage is not available. Community members are able to communicate with each other using Wi-Fi.
The techniques described herein may be used for various types of calls between Wi-Fi enabled wireless devices. For example, the techniques may be used for voice over internet protocol (VoIP) calls, data calls, video calls, Short Message Service (SMS) messaging, and so on.
A point-to-point call between two wireless devices includes the following stages:
1. discovery-the presence of other wireless devices is discovered via Wi-Fi,
2. session security-session keys are established for use during a call,
3. call setup-exchanges signaling to set up a call,
4. data exchange-scheduling and processing traffic data to achieve a desired QoS, and
5. call release-exchange signaling to release the call.
Some calls may have additional stages such as IP address discovery.
The point-to-point call may be established under one of the following conditions:
both the WWAN and WLAN are not present,
WWAN present but WLAN not present,
WWAN is not present but WLAN is present, and
WWAN and WLAN both exist.
As described below, some of the stages may be performed in different ways, depending on whether a WWAN and/or WLAN is present.
Discovery
Discovery may be performed in various ways-with and without a WLAN and with and without a WWAN. To facilitate discovery, a wireless device may be provided with a list of identification codes of other wireless devices that may be in point-to-point communication with this wireless device, e.g., when a WLAN and WWAN are not present. This list may be referred to as a PTP list, a "buddy" list, and so on. The provision of the PTP list may be made by the service provider, the user, and/or some other entity. For example, a wireless device may have a phone book to facilitate dialing, and all or only certain wireless numbers in the phone book may be included in the PTP list. The PTP list may be provided on the wireless device and may include all telephone numbers with which the user desires to communicate via point-to-point.
FIG. 2 shows a design of a PTP list 200 provided on a wireless device. In this design, the PTP list has one entry for each of the other wireless devices that may be in point-to-point communication with this wireless device. The entry for each wireless device may include a phone number, an IP address, an SSID, a pre-shared key (PSK), and so on. SSID and PSK are described in further detail below. Each entry may generally include any type of information, such as more, less, or different information than that shown in fig. 2. The field for each entry may or may not be added. For example, if the IP address of a given wireless device is not known, such IP address may not be present in the PTP list and may be obtained using one of the mechanisms described below.
In one design, referred to as background discovery, wireless devices periodically send and receive frames to discover other wireless devices. Each wireless device periodically transmits a beacon frame, each beacon frame containing an identification code of the transmitting wireless device. A beacon frame is a management frame that conveys some information about the sending wireless device. The identification code may typically be an SSID, a telephone number, a hash of the telephone number, or some other identifying information. Other wireless devices in the vicinity of the transmitting wireless device receive beacon frames. Each receiving wireless device extracts an identification code from each received beacon frame and compares the extracted identification code to the identification codes in its PTP list. If the extracted identification code is included in the PTP list, the receiving wireless device sends a response back to the sending wireless device. After discovery, if a call is initiated between the sending wireless device and the receiving wireless device, the two wireless devices may be joined at the next stage (e.g., authentication). The PTP list may be used to filter frames that are not needed and to respond to frames from only the wireless device of interest.
The wireless device may operate in a power saving mode to conserve battery power. In a power save mode, the wireless device may periodically power up for a short time to send and/or receive frames and may power down in the time between wake-up periods. The wireless device may thus operate according to a sleep-awake cycle, which is one cycle of an awake period and a sleep period.
Wireless devices are generally not synchronized in time, and their sleep-wake cycles may be different while in power saving mode. Thus, even though wireless devices may be close, one wireless device may be asleep while another wireless device is transmitting a frame, and vice versa. To combat the unsynchronized timing, the wireless device may wake up randomly to send and/or receive frames. The wireless device may use a random number generator to select when to wake up again, then sleep, and then wake up when a randomly selected time expires. The amount of time it takes for two wireless devices to discover each other may thus depend on the awake duration and the sleep-awake cycle. For example, if each wireless device wakes up for a 10ms period within a 100 millisecond (ms) sleep-wake-up cycle, then two wireless devices will likely find each other a few seconds later.
The wireless device may turn off its Radio Frequency (RF) and physical layer (PHY) portions during sleep times, and only the processor may be awake. The processor may use timers to trigger powering of the RF and PHY portions, sending frames, and scanning the wireless medium for frames from other wireless devices. The wireless device may wake up for, for example, 10ms in a 100ms sleep-wake-up cycle. All wireless devices may have the same sleep-wake cycle but may not be synchronized. The 100ms sleep-wake cycle may be divided into ten epochs, each epoch having a duration of 10 ms. The wireless device knows its sleep-wake cycle duration and keeps track of ten epochs in the sleep-wake cycle. In a given sleep-awake cycle, the processor may select a random number between 0 and 9 and may turn on the RF and PHY portions for a selected period of time to listen for frames from other wireless devices. The processor may turn off the RF and PHY portions if no frames are received during the selected time period. In the next sleep-wake cycle, the processor may again select the random number and the process may be repeated. If another wireless device in the vicinity is doing the same transmission and reception processing, the probability of the two wireless devices finding each other in five seconds is 99% or more. The discovery time may be more or less depending on the duty cycle, which is the ratio of the wake-up duration to the sleep-wake cycle duration. However, this process is background activity and power is primarily consumed during the wake-up time of the sleep-wake cycle.
In another design, referred to as active discovery, a wireless device periodically receives frames from other wireless devices, but only sends frames to discover a target wireless device, e.g., while engaged in a call. When a user places a call, the calling wireless device enters a discovery mode and broadcasts a discovery request containing the identity of the called wireless device. The calling wireless device then waits for an probe response from the called wireless device and sends another probe request if no probe response is received within a predetermined amount of time. The calling wireless device may also continuously send probe requests via at least one sleep-wake-up cycle because the called wireless device may be in a power saving mode. The calling wireless device may send the probe request over a sufficient number of sleep-wake cycles for the called wireless device to ensure that the called wireless device is provided with sufficient opportunity to receive the probe request. To cover the case where the called wireless device operates on a different frequency channel, the calling wireless device may send an exploration request on one frequency channel for at least one sleep-awake cycle, and if an exploration response is not received, switch to another frequency channel and continue sending exploration requests. When a called wireless device receives an exploration request and determines that the exploration request is for it, the called wireless device sends an exploration response to the calling wireless device.
For efficient discovery, the wireless device sends probe requests only when needed (e.g., while making a call). All wireless devices are in passive listening mode as long as they are awake. To combat asynchronous timing, the calling wireless device may send a probe request in a randomly selected time interval. Each wireless device may listen for probe requests in a randomly selected time interval.
Efficient and background discovery may be enhanced by the presence of the WWAN and/or WLAN. The wireless device may be able to obtain timing from the WWAN or WLAN and may use the timing to achieve time synchronization. The wireless device may schedule its beacon frames and/or probe requests based on timing from the WWAN or WLAN. For example, when a call is placed, the calling wireless device may send a probe request at a predetermined time. Other wireless devices wake up at that time due to the synchronization provided by the WWAN or WLAN timing and can effectively receive probe requests from the calling wireless device.
Discovery may also be performed with assistance from the WWAN and/or WLAN, if present. For example, a calling wireless device may communicate with a WWAN or WLAN and may request the WWAN or WLAN to page the called wireless device. The called wireless device may respond to the WWAN or WLAN or directly to the calling wireless device.
WLAN devices may operate on different frequency channels, which may be determined by regulatory agencies. For example, in the united states, there are 11 frequency channels in 802.11b/g and 12 frequency channels in 802.11 a. A wireless device may send and/or receive frames on one or more frequency channels for discovery. The particular frequency channel used for discovery may be determined in various ways. In one design, one or more frequency channels may be configured by a service provider or a user when a WLAN and WWAN are not present. For example, the configured frequency channels may be included in a PTP list. For background discovery, the wireless device may broadcast a beacon frame on each configured frequency channel, e.g., by rotating all configured frequency channels. For efficient discovery, the wireless device may send probe requests on all configured frequency channels, e.g., by cycling through all frequency channels and sending probe requests for each frequency channel for at least one sleep-wake-up cycle.
When a WWAN is present, channel selection may be controlled by the WWAN. For example, the WWAN may indicate (e.g., broadcast) one or more available specific frequency channels. When a WLAN is present, the wireless device may operate on the same frequency channel used by the WLAN and/or may operate on other frequency channels.
802.11 wireless networks are identified by the SSID, which is the name of the wireless network. The SSID is included in certain types of frames such as beacon frames, probe requests, probe responses, and so forth. The Basic Service Set Identifier (BSSID) is a 48-bit identifier included in the header of a data frame, polling frame, etc. for all wireless devices in a Basic Service Set (BSS). In an infrastructure BSS with an access point, the BSSID is the Medium Access Control (MAC) address of the access point. In an independent bss (ibss) without an access point, a wireless device may randomly select a BSSID.
An access point in the WLAN periodically broadcasts the SSID in a beacon frame. The wireless devices may obtain SSIDs from the beacon frames and use the SSIDs in probe requests and probe responses sent by these wireless devices. When the WLAN is not present, the SSID of the special mode wireless network may be formed in various ways.
In one design, the SSID is formed based on a user-specific identification code of the sending/calling wireless device. For example, the SSID may be set to the phone number of the sending wireless device, a hash of the phone number, some other identifying information, and so on. For this design, the PTP list for a given wireless device may contain the SSIDs of each wireless device included in the PTP list (e.g., as shown in fig. 2). For background discovery, a sending wireless device may periodically send beacon frames containing its SSID. Other wireless devices receive beacon frames, extract the SSID from each beacon frame, compare the extracted SSID to the SSIDs included in their PTP lists, and respond to the sending wireless device if there is a match.
In another design, the SSID is formed based on a user-specific identification code of the target/called wireless device. For efficient discovery, the sending wireless device may send a probe request containing the SSID of the target wireless device. Other wireless devices receive probe requests, extract an SSID from each probe request, compare the extracted SSID to their own SSID, and respond to the sending wireless device if there is a match. This design allows each wireless device to listen to only one SSID, which is the SSID of that wireless device. Each wireless device may use its SSID to filter received frames and may only respond to frames sent with its SSID.
In yet another design, the SSID is formed based on user-specific identities of the transmitting and target wireless devices. For this design, the PTP list for a given wireless device may contain the SSIDs of each wireless device included in the PTP list. For efficient discovery, the sending wireless device may send a probe request containing the SSID of the target wireless device. The targeted wireless device may determine the sender and intended recipient of the exploration request based on the SSID.
Once wireless devices discover each other, an ad-hoc wireless network may be formed, as described in IEEE 802.11. The wireless device with the faster clock becomes the access point for the ad hoc wireless network and transmits beacon frames that are used by other wireless devices to synchronize their timing.
Secure
Security for point-to-point calls can be achieved in various ways-with and without a WLAN and with and without a WWAN. To facilitate security, wireless devices may be provided with a pre-shared key (PSK) for each wireless device included in their PTP list (e.g., as shown in fig. 2), e.g., when a WLAN and WWAN are not present. The PSK is a key shared between two wireless devices in a pair. The provisioning of the PSK may be performed by the service provider, the user, and/or some other entity. For example, the PSKs for two wireless devices may be generated based on a hash of the serial numbers of the two devices, passwords generated for the devices, and so on. For a given wireless device, the PSK for all wireless devices in the PTP list is provided on that wireless device. PSK may be used for security purposes, as described below.
After discovery is complete, the calling and called wireless devices may perform handshaking to authenticate each other and generate session keys. As described in IEEE 802.11, a wireless device may use PSK for authentication. The wireless device may then use PSK to generate a Pairwise Master Key (PMK) and a Group Master Key (GMK). The wireless device may then use the PMK and GMK to generate a session key, as described in IEEE 802.11 i. The wireless device may then use the session key to encrypt traffic data exchanged during the call.
The wireless device may also be provided with credentials (e.g., x.509 credentials) provided by the service provider. The credential may contain one or more digital signatures that may be used to verify information received from another entity. Credentials may also be used for security purposes. The calling and called wireless devices may perform handshaking to authenticate each other and use credentials to generate session keys, e.g., as described in IEEE 802.11 i.
Security may also be achieved in other ways when a WWAN is present. In one design, authentication is achieved via signaling with the WWAN using a security protocol supported by the WWAN. For example, a wireless device in a point-to-point call may perform Challenge Handshake Authentication Protocol (CHAP), Authentication and Key Agreement (AKA), Session Initiation Protocol (SIP) authentication, etc., with the WWAN. In another design, the WWAN assigns the PMK and the GMK to the wireless device, which may use the PMK and the GMK to generate the session key. In general, authentication may be performed point-to-point or via WWAN or WLAN, while encryption may be performed by the wireless device.
A WLAN may exist but may be compliant with a client device in the WLAN to authenticate and/or authorize another device to request access to the WLAN or local content. For example, a user with device a may access a location with a WLAN, such as another user's home or a store. A user with device a may need to make a VoIP call via a WLAN. The user with device a may need to obtain permission from another person at the location (e.g., a homeowner or store manager) before the WLAN will allow the VoIP call to be placed. In this case, the client device of the person at the location may become a proxy management network element. Device a may perform authentication with the client device and/or may obtain authorization from the client device. The client device may then send a command to the network management element to allow device a to access the WLAN. Device a may be granted access in whole or in part, on a timer or unrestricted basis, and so on. For example, device a may be granted access only for existing VoIP calls, for a particular duration, for certain content, and so on.
The wireless device requesting access to the WLAN may not be on the administrator list of wireless devices allowed to access the WLAN. An administrator of the WLAN may be provided with the option (e.g., temporarily or permanently) to add this wireless device to the list. After adding a wireless device to the list, the wireless device may be allowed to access a WLAN.
IP address discovery
Wireless devices may communicate using IP at the network layer and ethernet at the link layer. In this case, the IP packets may be encapsulated in ethernet frames that are exchanged between the wireless devices. Each wireless device uses the IP address to exchange IP packets and the MAC address to exchange ethernet frames. Each IP packet includes a source IP address of the sending wireless device and a destination IP address of the receiving wireless device. Likewise, each ethernet frame includes a source MAC address of the transmitting wireless device and a destination MAC address of the receiving wireless device.
The wireless device may store the IP address and MAC address of each wireless device included in the PTP list. A wireless device may communicate with another wireless device in the PTP list using the IP address and MAC address stored in the PTP list.
The wireless device may not know the IP address and/or MAC address of another wireless device. For example, after completing the discovery and security phases, the wireless device may obtain the IP address and/or MAC address in various ways.
In a design that may be used when a WLAN is present, the wireless device registers with the WLAN and provides its user-specific identification (e.g., phone number) and IP address. A server, such as a Domain Name System (DNS) server or a Dynamic Host Configuration Protocol (DHCP) server, may store the user-specific identification and IP address of the registered wireless device. When an inquiring wireless device requires the IP address of a target wireless device, the inquiring wireless device queries a server with the user-specific identification code of the target wireless device. The server then returns the IP address of the target wireless device. The interrogating wireless device may then use Address Resolution Protocol (ARP) to obtain the MAC address of the target wireless device, if desired. For ARP, the inquiring wireless device broadcasts an ARP packet with the IP address of the target wireless device. The other wireless devices receive the ARP packet. Each wireless device determines whether the IP address included in the ARP packet is its IP address and, if so, responds with its MAC address.
In another design that may be used even when a WLAN is not present, the interrogating wireless device uses reverse ARP (R-ARP) to obtain the IP address of the target wireless device. In this design, the interrogating wireless device broadcasts an R-ARP packet containing the user-specific identification (e.g., phone number) of the target wireless device. The R-ARP packet may be sent in multicast mode so that it is not limited to interrogating the sub-network in which the wireless device is located. The other wireless devices receive the R-ARP packet. Each wireless device determines whether the user-specific identity included in the R-ARP packet is its user-specific identity and, if so, responds by sending its IP address in a unicast IP packet to the inquiring wireless device.
Call setup
Once secure is established for the point-to-point call and the IP and MAC addresses are resolved, the wireless devices may exchange signaling for call setup using SIP or some other appropriate protocol. SIP is a signaling protocol that initializes, modifies, and terminates IP-based interactive user sessions, such as VoIP calls. Most SIP implementations assume that there is centralized control. The point-to-point call may be set up in a special mode between the wireless devices. In a special mode, SIP is supported without centralized control and enhancements to point-to-point signaling can be used.
When a WWAN is present, signaling for call setup and teardown may be sent via the WWAN. When a WLAN is present, discovery, security, data connectivity, etc. may be performed via the WLAN. When both a WWAN and a WLAN are present, information may be exchanged between the WWAN and the WLAN, for example, via a combined network management system. The exchange information may include location information, timing information, etc., and may be used for call setup, handover, etc.
When a WWAN is present, a wireless device may initiate a call with another wireless device via the WWAN. The WWAN may know the locations of both wireless devices and may determine whether the call may be placed over the WLAN or via point-to-point. The WWAN may then direct both wireless devices to set up a call on the WLAN or point-to-point and be able to conserve radio link resources for other calls that may not be placed on the WLAN or via point-to-point. The WWAN thus offloads the call when possible.
Data processing
Different types of calls may have different data and QoS requirements. For example, a VoIP call may have certain requirements in terms of delay. The higher layer application responsible for call setup may be aware of the requirements of the placed call and may determine how the traffic data for the call should be processed. The higher layer applications may pass the traffic handling information to the lower layers responsible for transmission and reception of traffic data.
In one design, a higher layer application marks a packet using one or more fields of a packet header. IP version 4(IPv4) includes an 8-bit type of service (TOS) field that can be used to communicate a desired QoS. The TOS field includes a 3-bit priority subfield for indicating the priority (or importance) of traffic data and three 1-bit subfields for indicating desired delay, throughput, and reliability. IPv4 is described in RFC 791. IP version 6(IPv6) includes an 8-bit traffic class field that can be used to identify and distinguish different classes or priorities of packets. IPv6 is described in RFC 2460. The TOS field in IPv4 and the traffic class field in IPv6 may be replaced with a differentiation services for 8 (DS) field as described in RFC 2474. The DS field includes a 6 bit Differentiation Service Code Point (DSCP) subfield that carries a code point that defines the single hop behavior (PHB) of an IP packet. Higher layer applications may also use other fields to label packets in other ways.
At call setup, a table may be generated with one or more values for each subfield to be marked, and for each value, the corresponding processing of the packet is marked with that value. Thereafter, packet filtering may be performed based on the table. Packets that match the filter criteria are processed as specified by the table.
In another design, an Application Programming Interface (API) is used to achieve desired processing of the business data for the call. Higher layer applications may call APIs, which are drivers that handle traffic data passing between higher and lower layers. The API may perform traffic classification by looking at portions of the IP header and/or headers of higher layer protocols such as Transmission Control Protocol (TCP), User Datagram Protocol (UDP), and so on.
In yet another design, an Operating System (OS) function is used to achieve desired processing of traffic data for a call. The traffic data may be stored in a buffer having a control portion. The control portion indicates how traffic data in the buffer should be processed by lower layers and can be appropriately marked via the OS function. Different operating systems may have different implementations for the marker buffer. The buffer may be marked according to the operating system for the wireless device.
Some examples of how different stages of a point-to-point call may be performed in four cases are provided below.
When both WWAN and WLAN are not present.
Performing a background or active discovery,
perform security point-to-point using PSK or credentials,
the signaling of call setup and teardown is exchanged point-to-point via SIP,
exchange data point-to-point.
When only a WWAN is present.
Using WWAN timing for background or active discovery,
security is performed point-to-point or via the WWAN,
SIP signaling to exchange call setup and teardown point-to-point or via WWAN,
exchange data point-to-point.
When only a WLAN is present.
Perform background or active discovery via WLAN,
security is performed point-to-point or via WLAN,
SIP signaling to exchange call setup and teardown point-to-point or via WLAN,
exchange data point-to-point or via WLAN.
When both WWAN and WLAN are present.
Performing discovery via a point-to-point, WWAN or WLAN,
security is performed via point-to-point, WWAN or WLAN,
SIP signaling exchanging call setup and teardown via point-to-point or WWAN,
exchange data point-to-point or via WLAN.
If desired, IP address discovery may be performed for each of the four cases described above.
Fig. 3 shows a process 300 for point-to-point communication. The wireless device performs discovery of the target wireless device in the absence of, for example, a WWAN and a WLAN (block 312). The wireless device performs authentication of the target wireless device and generates a session key, e.g., using a pre-shared key or credentials provided on the wireless device (block 314). The wireless device forms an ad hoc wireless network with the target wireless device (block 316), and performs point-to-point communication with the target wireless device via the ad hoc wireless network using the session key (block 318).
Fig. 4 shows an apparatus 400 for peer-to-peer communication. The apparatus 400 includes means for performing discovery of the target wireless device (block 412), means for performing authentication of the target wireless device and generating a session key (block 414), means for forming an ad hoc wireless network with the target wireless device (block 416), and means for using the session key for point-to-point communication with the target wireless device via the ad hoc wireless network (block 418).
Fig. 5 shows a process 500 for performing discovery with a list of identifiers. The wireless device receives a frame, such as a beacon frame or a probe request, from another wireless device (block 512). The wireless device extracts an identification code from the received frame (block 514) and determines whether the extracted identification code is included in the list of identification codes provided on the wireless device (block 516). The identification code may be an SSID or some other type of identification code. The identification code may be derived based on (a) the phone number or some other identification information of this wireless device and/or (b) the phone number or some other identification information of another wireless device. The list may include the identification codes of wireless devices designated to communicate with this wireless device. If the extracted identification code is included in the list, the wireless device sends a response (block 518). If the received frame indicates a request for a call, the wireless device may initiate a point-to-point communication with another wireless device (block 520).
The wireless device may perform background discovery and may periodically send and receive frames to discover other wireless devices. Each frame may include an identification code of the transmitting wireless device. The wireless device may also perform active discovery and may periodically listen for frames, but only send frames to discover the target wireless device (e.g., at the start of a call). Each transmitted frame may include an identification code of the targeted wireless device. For both background and active discovery, a wireless device may send and/or receive frames during (a) a pseudo-randomly selected time interval or (b) a time interval determined based on timing obtained from a wireless communication network, such as a cellular network or a broadcast network.
Fig. 6 shows an apparatus 600 for performing discovery. Device 600 includes means for receiving a frame from another wireless device (block 612), means for extracting an identification code from the received frame (block 614), means for determining whether the extracted identification code is included in a list of identification codes (block 616), means for sending a response if the extracted identification code is included in the list (block 618), and means for initiating point-to-point communication with the other wireless device if the received frame indicates a request for a call (block 620).
Fig. 7 shows a process 700 for performing discovery at the start of a point-to-point call. The wireless device receives an indication (e.g., from a user) to initiate a point-to-point call with the target wireless device (block 712). The wireless device performs discovery of the target wireless device in response to receiving the indication (block 714). The wireless device may send at least one frame (e.g., a probe request) identifying the target wireless device. Each transmitted frame may include an identification code for the targeted wireless device. The wireless device conducts point-to-point communication with the calling target wireless device (block 716).
Fig. 8 shows an apparatus 800 for performing discovery. Apparatus 800 includes means for receiving an indication to initiate a point-to-point call with a target wireless device (block 812), means for performing discovery of the target wireless device in response to receiving the indication (block 814), and means for conducting point-to-point communication with the target wireless device of the call (block 816).
Fig. 9 shows a process 900 for performing discovery using external timing. The wireless device obtains timing from a wireless communication network (e.g., a cellular network, a broadcast network, etc.) (block 912). The wireless device monitors frames from other wireless devices for a specified time interval determined based on timing from the wireless communication network (block 914). A wireless device may be asleep between designated time intervals and may wake up to monitor frames and/or transmit frames from other wireless devices before each designated time interval.
Fig. 10 shows an apparatus 1000 for performing discovery. Apparatus 1000 includes means for obtaining timing from a wireless communication network (block 1012), and means for monitoring frames from other wireless devices in a specified time interval determined based on the timing from the wireless communication network (block 1014).
Fig. 11 shows a process 1100 of performing IP address discovery for a point-to-point call. The wireless device forms a packet that includes the user-specific identification code of the target wireless device (block 1112). The user-specific identification code may be based on (e.g., set to) the phone number of the targeted wireless device or some other identifying information. The wireless device sends the packet to request the IP address of the target wireless device (block 1114) and receives a response including the IP address of the target wireless device (block 1116). For blocks 1114 and 1116, the wireless device may broadcast the packet to other wireless devices and may receive a response from the target wireless device. Alternatively, the wireless device may send the packet to a server in the wireless network and may receive a response from the server. The wireless device may register with the server, e.g., before sending the packet. In any case, the wireless device uses the IP address for peer-to-peer communication with the target wireless device (block 1118).
Fig. 12 shows a process 1200 for performing IP address discovery. Apparatus 1200 includes means for forming a packet including a user-specific identification code of a target wireless device (block 1212), means for sending the packet to request an IP address of the target wireless device (block 1214), means for receiving a response including the IP address of the target wireless device (block 1216), and means for using the IP address for peer-to-peer communication with the target wireless device (block 1218).
Fig. 13 shows a process 1300 of obtaining and using the SSID of a ad-hoc wireless network. The wireless device determines an SSID based on at least one user-specific identifier of at least one wireless device (block 1312). The wireless device uses the SSID to discover one or more wireless devices (block 1314). The at least one wireless device may include such a wireless device and/or a target wireless device for a point-to-point call. The one or more wireless devices may correspond to a target wireless device (for active discovery) or all wireless devices in the vicinity of this wireless device (for background discovery). The SSID may be derived based on (a) the phone number or some other identifying information of this wireless device and/or (b) the phone number or some other identifying information of the target wireless device. The wireless device may include an SSID in each frame sent to discover other wireless devices and/or may filter received frames based on the SSID.
Fig. 14 shows an apparatus 1400 for obtaining and using the SSID of a ad-hoc wireless network. The apparatus 1400 includes means for determining an SSID based on at least one user-specific identity of at least one wireless device (block 1412) and means for using the SSID to discover one or more wireless devices (block 1414).
Fig. 15 shows a process 1500 of processing traffic data for a point-to-point call. The wireless device determines the QoS requirements for the point-to-point call with the target wireless device (block 1512). The QoS requirements may relate to delay, data rate, and the like. The wireless device processes traffic data for the point-to-point call according to the QoS requirements (block 1514). For example, the wireless device may use at least one packet header field (e.g., the TOS field in IPv4, the traffic class field in IPv6, or the DS field) to label packets carrying traffic data. The wireless device may also use the API to classify the traffic data. The wireless device may also mark a buffer that stores the traffic data and processing information for the traffic data. The wireless device sends the processed traffic data to the target wireless device (block 1516).
Fig. 16 shows a process 1600 for processing traffic data for a point-to-point call. Apparatus 1600 includes means for determining a QoS requirement for the point-to-point call with the target wireless device (block 1612), means for processing traffic data for the point-to-point call according to the QoS requirement (block 1614), and means for sending the processed traffic data to the target wireless device (block 1516).
Fig. 17 shows a block diagram of a design of a wireless device 130c, the wireless device 130c capable of point-to-point communication with other wireless devices and with WWAN 110 and WLAN 120. On the transmit path, traffic data sent by wireless device 130c is processed (e.g., formatted, encoded, and interleaved) by an encoder 1722 and further processed by a modulator (Mod)1724 according to applicable radio technologies (e.g., for Wi-Fi or WWAN) to generate output chips. A transmitter (TMTR)1732 then conditions (e.g., converts to analog, filters, amplifies, and frequency upconverts) the output chips and generates a modulated signal, which is transmitted via an antenna 1734.
On the receive path, antenna 1734 receives signals transmitted by base stations in the WWAN, access points in the WLAN, and/or other wireless devices. A receiver (RCVR)1736 conditions (e.g., filters, amplifies, frequency downconverts, and digitizes) the received signal from antenna 1734 and provides samples. A demodulator (Demod)1726 processes (e.g., descrambles, channelizes, and demodulates) the samples and provides symbol estimates. A decoder 1728 further processes (e.g., deinterleaves and decodes) the symbol estimates and provides decoded data. Encoder 1722, modulator 1724, demodulator 1726, and decoder 1728 may be implemented by a modem processor 1720. These units perform processing according to the radio technology used for communication.
Controller/processor 1740 controls operations at wireless device 130 c. Memory 1742 stores data and program codes for wireless device 130 c. Controller/processor 1740 may implement process 300 in fig. 3, process 500 in fig. 5, process 700 in fig. 7, process 900 in fig. 9, process 1100 in fig. 11, process 1300 in fig. 13, process 1500 in fig. 15, and/or other processes for peer-to-peer communication. Controller/processor 1740 may also implement timers that indicate when to sleep, when to send and receive frames for discovery, and so on. Memory 1742 may store various types of information such as the PTP list shown in figure 2.
The techniques described herein may be implemented by various means. For example, the techniques may be implemented in hardware, firmware, software, or a combination thereof. For a hardware implementation, the processing units at the wireless device may be implemented within one or more Application Specific Integrated Circuits (ASICs), Digital Signal Processors (DSPs), Digital Signal Processing Devices (DSPDs), Programmable Logic Devices (PLDs), Field Programmable Gate Arrays (FPGAs), processors, controllers, micro-controllers, microprocessors, electronic devices, other electronic units designed to perform the functions described herein, or a combination thereof.
For a firmware and/or software implementation, the techniques may be implemented with instructions (e.g., procedures, functions, and so on) that are used by one or more processors to perform the functions described herein. The instructions may be firmware and/or software codes that may be stored in a memory (e.g., memory 1742 in fig. 17) and executed by one or more processors (e.g., processor 1740). The memory may be implemented within the processor or external to the processor, stored in external memory, a computer program product (e.g., cd-rom or other media), memory of an external server, or the like.
Headings are included herein for reference and to aid in locating certain sections. These headings are not intended to limit the scope of the concepts described therein under, and these concepts may have applicability in other sections throughout the entire specification.
The previous description of the disclosure is provided to enable any person skilled in the art to make or use the disclosure. Various modifications to the disclosure will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other variations without departing from the spirit or scope of the disclosure. Thus, the present disclosure is not intended to be limited to the examples described herein but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.
Claims (6)
1. A wireless device, comprising:
at least one processor configured to request authorization to access a wireless network and to obtain communications from a wireless client device of the wireless network, and wherein the at least one processor is configured to initiate communications over the wireless network upon obtaining authorization from the wireless client device; and
a memory coupled to the at least one processor.
2. The wireless device of claim 1, wherein the at least one processor obtains authorization to cover limited access for calls placed via the wireless network.
3. A method, comprising:
requesting access to a wireless network;
obtaining authorization for communication from a wireless client device of the wireless network; and
upon obtaining authorization from the wireless client device, communication is initiated over the wireless network.
4. The method of claim 3, further comprising:
authorization is obtained to cover limited access for calls placed over the wireless network.
5. An apparatus, comprising:
means for requesting access to a wireless network;
means for obtaining authorization for communication from a wireless client device of the wireless network; and
means for initiating communication over the wireless network upon obtaining authorization from the wireless client device.
6. The apparatus of claim 5, further comprising:
means for obtaining authorization to cover limited access for calls placed via the wireless network.
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US60/724,226 | 2005-10-05 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| HK1145381A true HK1145381A (en) | 2011-04-15 |
Family
ID=
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US8942133B2 (en) | Peer-to-peer communication in ad hoc wireless network | |
| HK1145381A (en) | Peer-to-peer communication in ad hoc wireless network | |
| HK1145584A (en) | Peer-to-peer communication in ad hoc wireless network | |
| HK1145587A (en) | Peer-to-peer communication in ad hoc wireless network | |
| HK1146180A (en) | Peer-to-peer communication in ad hoc wireless network | |
| HK1146179A (en) | Peer-to-peer communication in ad hoc wireless network | |
| HK1146178B (en) | Peer-to-peer communication in ad hoc wireless network | |
| HK1141396A (en) | Peer-to-peer communication in ad hoc wireless network | |
| HK1141398B (en) | Peer-to-peer communication in ad hoc wireless network | |
| HK1141392B (en) | Peer-to-peer communication in ad hoc wireless network | |
| HK1141397B (en) | Obtaining authorization for accessing a wireless network |