1. Field
The present disclosure relates generally to telecommunications, and more specifically to heterogeneous wireless ad-hoc networks.
2. Background
Wireless telecommunication systems are widely deployed to provide various services to consumers, such as telephony, data, video, audio, messaging, broadcasts, etc. These systems continue to evolve as market forces drive wireless telecommunications to new heights. Today, wireless networks are providing broadband Internet access to mobile subscribers over a regional, a nationwide, or even a global region. Such networks are sometimes referred as Wireless Wide Area Networks (WWANs). WWAN operators generally offer wireless access plans to their subscribers such as subscription plans at a monthly fixed rate.
Accessing WWANs from all mobile devices may not be possible. Some mobile devices may not have a WWAN radio. Other mobile devices with a WWAN radio may not have a subscription plan enabled. Ad-hoc networking allows mobile devices to dynamically connect over wireless interfaces using protocols such as WLAN, Bluetooth, UWB or other protocols. There is a need in the art for a methodology to allow a user of a mobile device without WWAN access to dynamically subscribe to wireless access service provided by a user with a WWAN-capable mobile device using wireless ad-hoc networking between the mobile devices belonging to the two users.
In one aspect of the disclosure, an ad-hoc service provider includes a processing system configured to support a wireless connection to the network, the processing system being further configured to provide access to the network for one or more mobile clients and to allocate bandwidth to the one or more mobile clients for accessing the network based on at least one parameter related to the effect on the ad-hoc service provider for providing such access. The ad-hoc service provider also includes a user interface configured to provide a user with access to the network through the processing system.
In another aspect of the disclosure, a mobile client includes a processing system configured to use an ad-hoc service provider to support a wireless connection to the network, the processing system being further configured to select the ad-hoc service provider based on at least one parameter related to the ad-hoc service provider's ability to support the wireless connection.
In a further aspect of the disclosure, an ad-hoc service provider includes means for supporting a wireless connection to a network, means for providing access to the network for one or more mobile clients, means for allocating bandwidth to the one or more mobile clients for accessing the network based on at least one parameter related to the effect on the ad-hoc service provider for providing such access, and means for providing a user with access to the network through the ad-hoc service provider.
In yet a further aspect of the disclosure, a mobile client includes means for using an ad-hoc service provider to support a wireless connection to a network, and means for selecting the ad-hoc service provider based on at least one parameter related to the ad-hoc service provider's ability to support the wireless connection.
In another aspect of the disclosure, a method of communications includes supporting a wireless connection from an ad-hoc service provider to a network, providing access to the network for one or more mobile clients, allocating bandwidth to the one or more mobile clients for accessing the network based on at least one parameter related to the effect on the ad-hoc service provider for providing such bandwidth, and providing a user with access to the network through the ad-hoc service provider.
In yet another aspect of the disclosure, a method of communications includes using an ad-hoc service provider to support a wireless connection from a mobile client to a network, and selecting the ad-hoc service provider based on at least one parameter related to the ad-hoc service provider's ability to support the wireless connection.
It is understood that other aspects of the disclosure will become readily apparent to those skilled in the art from the following detailed description, wherein various aspects of heterogeneous wireless ad-hoc networks are shown and described by way of illustration. As will be realized, these aspects of the disclosure may be implemented in other and different configurations and its several details are capable of modification in various other respects. Accordingly, the drawings and detailed description are to be regarded as illustrative in nature and not as restrictive.
The detailed description set forth below in connection with the appended drawings is intended as a description of various aspects of heterogeneous wireless ad-hoc networks and is not intended to represent the only implementations to which such aspects apply. As those skilled in the art will readily understand, the various aspects of heterogeneous wireless ad-hoc networks described throughout this disclosure may be extended to other telecommunication applications. The detailed description includes specific details for the purpose of providing a thorough understanding of the various concepts presented throughout this disclosure. However, it will be apparent to those skilled in the art that various aspects of heterogeneous wireless ad-hoc networks may be practiced without these specific details. In some instances, well-known structures and components are shown in block diagram form in order to avoid obscuring the various concepts presented throughout this disclosure.
Each WWAN 104 may use one of many different wireless access protocols to support radio communications with mobile subscribers. By way of example, one WWAN 104 may support Evolution-Data Optimized (EV-DO), while the other WWAN 104 may support Ultra Mobile Broadband (UMB). EV-DO and UMB are air interface standards promulgated by the 3rd Generation Partnership Project 2 (3GPP2) as part of the CDMA2000 family of standards and employs multiple access techniques such as Code Division Multiple Access (CDMA) to provide broadband Internet access to mobile subscribers. Alternatively, one of WWAN 104 may support Long Term Evolution (LTE), which is a project within the 3GPP2 to improve the Universal Mobile Telecommunications System (UMTS) mobile phone standard based primarily on a Wideband CDMA (W-CDMA) air interface. One of WWAN 104 may also support the Worldwide Interoperability for Microwave Access (WiMAX) standard being developed by the WiMAX forum. The actual wireless access protocol employed by a WWAN for any particular telecommunications system will depend on the specific application and the overall design constraints imposed on the system. The various concepts presented throughout this disclosure are equally applicable to any combination of heterogeneous or homogeneous WWANs regardless of the wireless access protocols utilized.
Each WWAN 104 has a number of mobile subscribers. Each subscriber may have a mobile node capable of accessing the Internet 102 directly through the WWAN. These mobile nodes may access the WWAN 104 using a EV-DO, UMB, LTE or some other suitable wireless access protocol.
One or more of these mobile nodes may be configured to create in its vicinity an ad-hoc network based on the same or different wireless access protocol used to access the WWAN 104. By way of example, a mobile node may support a UMB wireless access protocol with a WWAN, while providing an IEEE 802.11 access point for mobile nodes that cannot directly access a WWAN. IEEE 802.11 denotes a set of Wireless Local Access Network (WLAN) standards developed by the IEEE 802.11 committee for short-range communications (e.g., tens of meters to a few hundred meters). Although IEEE 802.11 is a common WLAN wireless access protocol, other suitable protocols may be used.
A mobile node that may be used to provide an access point for another mobile node will be referred to herein as an “ad-hoc service provider” 106. A mobile node that uses an ad-hoc service provider 106 to access a WWAN 104 will be referred to herein as a “mobile client” 108. A mobile node, whether an ad-hoc service provider 106 or a mobile client 108, may be a laptop computer, a mobile telephone, a personal digital assistant (PDA), a mobile digital audio player, a mobile game console, a digital camera, a digital camcorder, a mobile audio device, a mobile video device, a mobile multimedia device, or any other device capable of supporting at least one wireless access protocol.
The ad-hoc service provider 106 may extend its wireless Internet access service to mobile clients 108 that would otherwise not have Internet access. A server 110 may be used as an “exchange” to enable mobile clients 108 to purchase unused bandwidth from ad-hoc service providers 106 to access, for example, the Internet 102 across WWANs 104. The server may reside anywhere in the telecommunications system 100 such that all WWANs 104 can connect to it. The server may be a centralized server or a distributed server. The centralized server may be a dedicated server or integrated into another entity such as a desktop or laptop computer, or a mainframe. The distributed server may be distributed across multiple servers and/or one or more other entities such as a laptop or desktop computer, or a mainframes. In at least one configuration, the server 110 may be integrated, either in whole or part, into one or more ad-hoc service providers.
In one configuration of a telecommunications system 100, the server 110 charges the mobile clients 108 based on usage. For the occasional user of mobile Internet services, this may be an attractive alternative to the monthly fixed rate wireless access plans. The revenue generated from the usage charges may be allocated to the various entities in the telecommunications system 100 in a way that tends to perpetuate the vitality of the exchange. By way of example, a portion of the revenue may be distributed to the ad-hoc service providers, thus providing a financial incentive for mobile subscribers to become ad-hoc service providers. Another portion of the revenue may be distributed to the WWAN operators to compensate them for the bandwidth that would otherwise go unutilized. Another portion of the revenue may be distributed to the manufacturers of the mobile nodes.
The server 110 may be implemented as a trusted server. It can therefore be authenticated, for example, using a Public Key Infrastructure (PKI) certificate in a Transport Layer Security (TLS) session between the server 110 and an ad-hoc service provider 106, or between the server 110 and a mobile client 108. Alternatively, the server 110 may be authenticated using self-signed certificates or by some other suitable means.
Regardless of the manner in which the server 110 is authenticated, a secure session channel may be established between the server 110 and an ad-hoc service provider 106, or between the server 110 and a mobile client 108, during registration. In one configuration of a telecommunications system 100, a mobile client 108 may register with the server 110 to set up a user name and password with payment information. An ad-hoc service provider 106 may register with the server 110 to notify its desire to provide a wireless access point (e.g., an Internet access point) to mobile clients 108.
The server 110 may also be used to provide admission control. Admission control is the process whereby the server 110 determines whether to allow an ad-hoc service provider 106 to provide service within a geographic location. The server 110 may limit the number of ad-hoc service providers 106 at a given location if it determines that additional ad-hoc service providers 106 will adversely affect performance in the WWAN. Additional constraints may be imposed by the WWAN operators that may not want its mobile subscribers to provide service in a given geographic location depending on various network constraints.
The server 110 may also be used to manage dynamic sessions that are established between the ad-hoc service providers 106 and the mobile clients 108. In one configuration of the telecommunications system 100, Extensible Authentication Protocol-Tunneled Transport Layer Security (EAP-TTLS) may be used for Authentication, Authorization and Accounting (AAA) and secure session establishment for a connection initiated by an ad-hoc service provider 106 with the server 110 when the ad-hoc service provider 106 is mobile and desires to provide service. EAP-TTLS may also be used for a session initiation request by a mobile client 108. In the latter case, the mobile client is the supplicant, the ad-hoc service provider 106 is the authenticator, and the server 110 is the authentication server. The ad-hoc service provider 106 sends the mobile client's credentials to the server 110 for EAP-AAA authentication. The EAP-TTLS authentication response from the server 110 is then used to generate a master shared key. Subsequently, a link encryption key may be established between the ad-hoc service provider 106 and the mobile client 108.
Additional security may be achieved with a Secure Sockets Layer Virtual Private Network (SSL VPN) tunnel between a mobile client 108 and the server 110. The SSL VPN tunnel is used to encrypt traffic routed through an ad-hoc service provider 106 to provide increased privacy for a mobile client 108. Alternatively, the tunnel may be an IPsec tunnel or may be implemented using some other suitable tunneling protocol.
Once the tunnel is established between the server 110 and the mobile client 108, various services may be provided. By way example, the server 110 may support audio or video services to the mobile client 108. The server 110 may also support advertising services to the mobile client 108. Other functions of the server 110 include providing routing to and from the network for mobile client 108 content as well as providing network address translation to and from the network for the mobile client 108.
The server 110 may also be used to store a quality metric for each ad-hoc service provider 106. This quality metric may be provided to the mobile clients 108 who may want to choose from available ad-hoc service providers 106. This metric may be continuously updated as more information becomes available about a specific ad-hoc service provider 106. The quality metric associated with each ad-hoc service provider 106 may be decreased or increased based on the QoS provided.
Due to the mobility of the ad-hoc service providers 106 and the mobile clients 106, handoff of a mobile client from one ad-hoc service provider to another may be required. The server 110 may be configured to support the handoff of a mobile client 108 across different wireless access protocols for the backhaul. More specifically, the server 110 may be used to enable a mobile client 108 to move from one ad-hoc service provider 106 with a given wireless access protocol for the backhaul (e.g., EV-DO) to another ad-hoc service provider 106 with a different wireless access protocol for the backhaul (e.g., UMB).
The ad-hoc service provider 106 is shown with a filtered interconnection and session monitoring module 206. The module 206 provides filtered processing of content from mobile clients 108 so that the interconnection between the WWAN and WLAN interfaces 202, 204 is provided only to mobile clients 108 authenticated and permitted by the server to access the WWAN. The module 206 also maintains tunneled connectivity between the server and the authenticated mobile clients 108.
The ad-hoc service provider 106 also includes a service provider application 208 that provides, among other things, a means for providing access to the network for one or more mobile clients and a means for allocating bandwidth to the one or more mobile clients for accessing the network based on at least one parameter related to the effect on the ad-hoc service provider for providing such access. The ad-hoc service provider 106 also includes a user interface 212 that provides a means for providing a user with access to the WWAN through the ad-hoc service provider. The user interface 212 may include a keypad, display, speaker, microphone, joystick, and/or any other combination user interface devices.
As discussed above, the service provider application 208 enables the module 206 to provide ad-hoc services to mobile clients 108. The service provider application 208 maintains a session with the server to exchange custom messages with the server. In addition, the service provider application 208 also maintains a separate session with each mobile client 108 for exchanging custom messages between the service provider application 208 and the mobile client 108. The service provider application 208 provides information on authenticated and permitted clients to the filtered interconnection and session monitoring module 206. The filtered interconnection and session monitoring module 208 allows content flow for only authenticated and permitted mobile clients 108. The filtered interconnection and session monitoring module 206 also optionally monitors information regarding content flow related to mobile clients 108 such as the amount of content outbound from the mobile clients and inbound to the mobile clients, and regarding WWAN and WLAN network resource utilization and available bandwidths on the wireless channels. The filtered interconnection and session monitoring module 206 can additionally and optionally provide such information to the service provider application 208. The service provider application 208 can optionally act on such information and take appropriate actions such as determining whether to continue maintaining connectivity with the mobile clients 108 and with the server, or whether to continue to provide service. It should be noted that the functions described in modules 206 and 208 can be implemented in any given platform in one or multiple sets of modules that coordinate to provide such functionality at the ad-hoc service provider 106.
When the ad-hoc service provider 106 decides to provide these services, the service provider application 208 sends a request to the server for approval. The service provider application 208 requests authentication by the server and approval from the server to provide service to one or more mobile clients 108. The server may authenticate the ad-hoc service provider 106 and then determine whether it will grant the ad-hoc service provider's request. As discussed earlier, the request may be denied if the number of ad-hoc service providers in the same geographic location is too great or if the WWAN operator has imposed certain constraints on the ad-hoc service provider 106.
Once the ad-hoc service provider 106 is authenticated, the service provider application 208 may advertise an ad-hoc WLAN Service Set Identifier (SSID). Interested mobile clients 108 may associate with the SSID to access the ad-hoc service provider 106. The service provider application 208 may then authenticate the mobile clients 108 with the server and then configure the filtered interconnection and session monitoring module 206 to connect the mobile clients 108 to the server. During the authentication of a mobile client 108, the service provider application 208 may use an unsecured wireless link.
The service provider application 208 may optionally choose to move a mobile client 108 to a new SSID with a secure link once the mobile client 108 is authenticated. In such situations, the service provider application 208 may distribute the time it spends in each SSID depending on the load that it has to support for existing sessions with mobile clients 108.
The service provider application 208 may also be able to determine whether it can support a mobile client 108 before allowing the mobile client 108 to access a network. Resource intelligence that estimates the drain on the battery power and other processing resources that would occur by accepting a mobile client 108 may assist in determining whether the service provider application 208 should consider supporting a new mobile client 108 or accepting a handoff of that mobile client 108 from another ad-hoc service provider.
The service provider application 208 may admit mobile clients 108 and provide them with a certain QoS guarantee, such as an expected average bandwidth during a session. Average throughputs provided to each mobile client 108 over a time window may be monitored. The service provider application 208 may monitor the throughputs for all flows going through it to ensure that resource utilization by the mobile clients 108 is below a certain threshold, and that it is meeting the QoS requirement that it has agreed to provide to the mobile clients 108 during the establishment of the session.
The service provider application 208 may also provide a certain level of security to the wireless access point by routing content through the filtered interconnection and session monitoring module 206 without being able to decipher the content. Similarly, the service provider application 208 may be configured to ensure content routed between the user interface 210 and the WWAN 104 via the module 206 cannot be deciphered by mobile clients 108. The service provider application 208 may use any suitable encryption technology to implement this functionality.
The service provider application 208 may also maintain a time period for a mobile client 108 to access the WWAN. The time period may be agreed upon between the service provider application 208 and the mobile client 108 during the initiation of the session. If the service provider application 208 determines that it is unable to provide the mobile client 108 with access to the network for the agreed upon time period, then it may notify both the server and the mobile client 108 regarding its unavailability. This may occur due to energy constraints (e.g., a low battery), or other unforeseen events. The server may then consider a handoff of the mobile client to another ad-hoc service provider, if there is such an ad-hoc service provider in the vicinity of the mobile client 108. The service provider application 208 may support the handoff of the mobile client 108.
The service provider application 208 may also dedicate processing resources to maintain a wireless link or limited session with mobile clients 108 served by other ad-hoc service providers. This may facilitate the handoff of mobile clients 108 to the ad-hoc service provider 106.
The service provider application 208 may manage the mobile client 108 generally, and the session specifically, through the user interface 212. Alternatively, the service provider application 208 may support a seamless operation mode with processing resources being dedicated to servicing mobile clients 108. In this way, the mobile client 108 is managed in a way that is transparent to the mobile subscriber. The seamless operation mode may be desired where the mobile subscriber does not want to be managing mobile clients 108, but would like to continue generating revenue by sharing bandwidth with mobile clients 108.
The service provider application 208 may use a utility function and an availability function to determine the amount of bandwidth to provide to mobile clients 108. Examples of various algorithms that may be implemented by the service provider application 208 to determine the amount of bandwidth to provide will now be presented with the understanding that the other algorithms may be implemented depending on the particular application and the design constraints imposed on the ad-hoc service provider 106 and/or the overall telecommunications system.
In one configuration of an ad-hoc service provider 106, the service provider application 208 may maximize a utility function U(x) that is a function of the revenue R(x) to the ad-hoc service provider 106 for the bandwidth allocated to the mobile clients 108, the energy E(x) required by the ad-hoc service provider 106 to provide the allocated bandwidth to the mobile clients, the loss of bandwidth B(x) that would otherwise be available to the user of the ad-hoc service provider 106 to access the network, the processing resources P(x) required by the ad-hoc service provider 106 to provide the allocated bandwidth to the mobile clients 108, and the quality of service metric and/or a goodness metric G(x). The quality of service metric and/or goodness metric G(x) may be considered by the service provider application 208 because it may want to maintain a high quality of service metric or maintain a high perceived level of goodness even though it may compromise the ad-hoc service provider 106 from an energy perspective to provide service. In this example, U(x) could take an additive form such as:
U(x)=α1R(x)−α2E(x)−α3B(x)−α4P(x)+α5G(x).
Alternatively, U(x) could take a multiplicative form such as:
U(x)=R(x)G(x)/E(x)B(x)P(x).
Alternatively, U(x) could take a simplified multiplicative form such as:
U(x)=R(x)/E(x).
Those skilled in the art will readily recognize other additive and/or multiplicative forms that are appropriate for the utility function depending upon the particular application. The term α2 is a function of available energy that could be an increasing step or linear or sigmoid function of the current energy state. R(x), E(x), G(x), B(x), P(x) could also take up linear, sigmoid, other functional forms. A linear functional form could take on a form βx+γ. A sigmoidal functional form could take on a form:
K(x,δ,λ)=1/(1+e−λ(x−δ))
where: K′(x,δ,λ)=−λe−λ(x−δ)/(1+e−λ(x−δ))2.
By way of example, the utility function could take on the form:
U(x)=α1x−α2(β2x+γ2)−α3K(x,δ1,δ1)−α4K(x,δ2,λ2)+α5(β5x+γ5).
Based on an available battery energy y, α2 could be a sigmoid of the form K(y,δ3,λ3). Therefore, implicitly U(x) is a function of both x and y, i.e. U(x,y). However, available energy y could be assumed to be fixed to determine U(x) for a given fixed y. The utility function U(x) could be a joint non-linear function of its different dependencies of available energy, available bandwidth, revenue, quality-of-service, processing costs, etc. as well. For example, the dependence on an available bandwidth x and an available energy y, could take on a two dimensional sigmoid dependence as follows:
L(x,y,δ1,δ1,λ1,λ2)=1/(1+e−λ1(x−δ1)e−λ2(y−δ2))
Such a two-dimensional sigmoid captures a continuous dependence on both available energy and available bandwidth. For example, ignoring processing costs and QoS/goodness costs, U(x,y) could be of the form:
U(x,y)=R(x)−(β2x+γ2)α3/(1+e−λ1(x−δ1)e−λ2(y−δ2))
to represent its dependence on R(x) and a joint non-linear function of available energy and available bandwidth. Alternatively, using a reciprocal relationship:
U(x,y)=R(x)/[(β2x+γ2)α3/(1+e−λ1(x−δ1)e−λ2(y−δ2))].
The loss of bandwidth function B(x) reflects the impact to the ad-hoc service provider 106 when it allocates bandwidth x to mobile clients 108, relative to its available WWAN backhaul bandwidth. It is possible that small values of x may have very little impact on the ad-hoc service provider 106, while large values of x may have a significant impact. Therefore, the function K(x, δ1, λ1) was chosen in the above example to reflect this.
The utility function is maximized when U′(x)=0. For the last example, the utility function is maximized when:
U′(x)=α1−α2β2−α3K′(x,δ1,λ1)−α4K′(x,δ2,λ2)+α5β5=0.
The solution to U′(x)=0 determines the value of x that the service provider application 208 can choose to use to provide service to mobile clients 108. Therefore, based on the current state of the telecommunications system, each ad-hoc service provider 106 may be able to support a different amount of bandwidth x.
As explained above, the utility function U(x) is a function of, among other things, the revenue R(x) to the ad-hoc service provider 106 for the bandwidth allocated to the mobile clients 108. The revenue R(x) to the ad-hoc service provider 106 is function of pricing. In one configuration, the service provider application 208, the pricing may be set based on its available bandwidth for mobile clients 108 and/or the differential pricing relative to other ad-hoc service providers.
The service provider application 208 may use an availability function A(t) to determine whether an ad-hoc service provider 106 is available or not, or the degree to which it is available. The ad-hoc service provider 106 is assumed to start providing service at t=0. Then the availability function A(t) could be defined such that:
Alternatively,
where g(t, t1,t2) is a decreasing function of time bounded between 1 and 0 in the time interval [t1, t2]. For example g(t, t1, t2) could be (t−t2)/(t1−t2).
Based on its availability and the current value of the utility function U(x), an ad-hoc service provider 106 may choose to handoff or terminate service when the product of the availability and utility function falls below a given threshold μ(A(t) U(x)<μ). By way of example, the availability function A(t) may be 1 but the utility function U(x) may fall below a threshold value. Alternatively, the utility function U(x) may be high but the availability function A(t) may start dropping. When there are multiple mobile clients 108 for which the ad-hoc service provider 106 is providing service, then the ad-hoc service provider 106 can determine x such that A(t)U(x)>μ. It can continue to sustain a subset of mobile clients 108 whose aggregated bandwidth x allows A(t)U(x)>μ. The ad-hoc service provider 106 can hand off the remaining mobile clients 108 or suspend providing service for those remaining mobile clients 108. If mobile clients 108 have different priorities in terms of quality of service, then mobile clients 108 with higher priorities can be retained, and the others handed off
Several examples will now be presented to illustrate a pricing scenario that may be implemented by the service provider application 208.
In this example, the total available bandwidth is W for the WWAN link from the ad-hoc service provider 106 (excluding the needs of the service provider). The short range link between mobile client 108 and ad-hoc service provider 106 has capacity Ws. Then the available capacity for the session is Wmin=min (W, Ws). If the cost is affordable to a mobile client 108, and a mobile client 108 session needs bandwidth x Mbps where x<Wmin, then a mobile client 108 can be admitted. Typically, it is expected that the Wmin=W, with the short range link being of higher capacity. Assuming, by way of example, if the ad-hoc service provider 106 desires revenue α+βx when its true cost is αtrue+βtruex, and the mobile client 108 is willing to pay αC+βCx<α+βx. If αC+βCx>αtrue+βtruex, then the mobile client 108 and the ad-hoc service provider 106 could negotiate a price that results in a profitable service for the ad-hoc service provider 106.
Assuming that bmin is the minimum bandwidth for a session, and pmin is associated price, then pricing can be of the form pmin+β(x−bmin). In this case, pricing is a 4-tuple (pmin, bmin, x, β). In general, the ad-hoc service provider 106 can announce (p, b) pairs (pricing, bandwidth) pairs for service options in its beacons. Alternatively, it can announce the 4-tuple (assuming linear dependence). The mobile client's willingness to pay can be different sets of (p,b) pairs typically with diminishing returns for the mobile client 108 as b increases (non-linear). A mobile client 108 and an ad-hoc service provider 106 may negotiate for a session if their respective (p,b) pairs are reasonably close to each other, so that an appropriate price p can be determined for a desired bandwidth b.
Another example will be presented where one ad-hoc service provider 106 serves multiple mobile clients 108. Assuming that W=WWAN bandwidth available for mobile clients 108 at ad-hoc service provider 106 and the ad-hoc service provider 106 itself needs B, then the WWAN support for (W+B) with the allocation of W left to available mobile clients 108. This can be treated as the solution to a binary knapsack problem: “Given n items with price pi and weight wi, select a subset X of items such that ΣjεXpj is maximized, such that ΣjεXwj<W”. Here, the weight wi is the desired bandwidth for mobile client 108i. The problem can be solved using dynamic programming by finding an allocation for W=0, then W=1, then W=2, and gradually building the table for all values of W, to pick a solution that maximizes the sum over prices. The execution time is O(nW) where the size of W can be of the order of 2n. Instead, consider options for W in increments of Δw kbps (such as in steps of 50 kbps) (Δw can be greatest common divisor of desired bandwidths of different clients). The dynamic programming solution process will use all previous solutions in increments of Δw kbps. The number of steps=O(W/Δw) and the algorithm has complexity O(nW/Δw). An exact solution may be available at a point that is between two solved values of W. One can explore refining bucket-size within neighborhood of obtained solution to refine the solution further if desired.
An example will now be presented to illustrate a pricing scenario that may be implemented by the service provider application 208 in the presence of multiple ad-hoc service providers 106. In this example, there are multiple ad-hoc service providers 1061, 1062, 1063, . . . , 106N that can service the same mobile client 108. The effective data rate that is available at the ad-hoc service provider 106, to support the mobile client 108 is given by xi Mbps. The advertised price by the ad-hoc service providers is P1, P2, P3, . . . , PN, respectively, for sessions of the same duration. There is a pressure to increase price to reduce demand based on the load at an ad-hoc service provider 106. At the same time, reduced prices at other ad-hoc service providers 106 can cause a ad-hoc service provider 106 to lower its prices. Likewise, an ad-hoc service provider 106 that is charging a low price may charge a higher price if other ad-hoc service providers 106 are charging more for similar service. With multiple ad-hoc service providers 106, pricing by a service provider can depend on price suggested by other service providers, and the bandwidth to be supported for the mobile client 108. Therefore Pi=f(xi, ΔPij∀j).
To understand how to determine the pricing with multiple ad-hoc service providers 106, a general formulation is presented to derive a utility function based on observed information from other ad-hoc service providers 106. For example, observed information could include pricing and goodness metrics from different ad-hoc service providers 106. We may then apply this general approach to the simpler case where only price information from different ad-hoc service providers 106 is observed.
In this example, all ad-hoc service providers 106 compute utilities Ui based on local constraints fi(x) and information that they receive from other ad-hoc service providers 106. An example is given by the formula:
Ui(x,U)=fi(x)+(1/N)Σjμij(Ui−Uj),
Let Oi be an observable metric associated with ad-hoc service provider 106i that other mobile nodes can observe. This could include the current price Pi, the goodness metric Gi or a ratio of Pi to Gi. For example, Oi may equate to Pi/Gi (pricing to goodness ratio). As a further example, Oi may equate to fi(xi,O). If Oi could be expressed as:
Oi=gi(xi)−μ(1/N)Σj(Oi−Oj),
where μi≧0, then:
(1+μ)Oi=gi(xi)+μ(1/N)ΣjOj.
Let (1/N)ΣiOj=Q, then:
(1+μ)Oi=gi(xi)+μQ; and
Oi=(gi(xi)+μQ)/(1+μ).
Since ΣiOi=NQ,
(1+μ)NQ=Σigi(xi+μN Q
Q=(1/N)Σigi(xi)
Thus, it is observed that the average over observable metrics is equal to the average over internal constraint functions. Q could vary dynamically, but slowly in general. In a sense, it could be treated as equivalent to a mean “center of gravity” for the entire system of ad-hoc service providers 106.
An example of the problem of price determination Pi=f(xi, ΔPij), where Pi's are the observed metrics, will now be presented. Pi could be expressed as:
where κi, λi, μij are all ≧0. For simplicity that μij−μ∀i,j, then:
Let
then:
If λi=λ∀i, then:
This implies that:
Pi=(κi+λixi+μQ)/(1+Nμ).
Thus the pricing at a node is a function of its local constraints, and dynamics of a mean observable metric associated with the other service providers.
If all ad-hoc service providers 106 have complete information about other ad-hoc service providers 106, they could each determine a price for their service. Ad-hoc service providers 106 could monitor each other's beacons to get such information. Alternatively, ad-hoc service providers 106 could masquerade as mobile clients 108 to obtain information about other ad-hoc service providers 106. However, it is likely that ad-hoc service providers 106 may not have information about other ad-hoc service providers 106 (some potential ad-hoc service providers 106 for a mobile client 108 may be out of range from a given potential ad-hoc service provider 106). One possibility is for ad-hoc service providers 106 to provide their respective information to the server 110 (see
In the absence of complete information, but in the presence of just pricing information Pj, an ad-hoc service provider 106 could employ an equation to determine an optimal price. This can lead to a dynamic Nash equilibrium as each ad-hoc service provider 106 modifies its price based on observations of pricing suggested by other ad-hoc service providers 106, with incomplete information about the other ad-hoc service providers 106. In absence of any information from other ad-hoc service providers 106 or assistance from the server 110 (see
Revenue from a mobile client 108 based on the total price P that is charged for service may be distributed as the revenue R(x) for the ad-hoc service provider 106, revenue RNetwork for the network operator, and revenue RServer for the server, where
P=RServer+RNetwork+R(x).
Therefore,
R(x)=P−RServer+Rnetwork.
Maximizing the price P then maximizes the revenue R(x) contribution to the utility function U(x) for the ad-hoc service provider 106, thereby maximizing the utility function of the ad-hoc service provider 106 with all other factors in the utility function remaining fixed.
The server 110 (see
The WWAN operator also has fixed and variable costs that need to be addressed to obtain a revenue RNetwork that exceeds its costs. In general, the WWAN operator may charge a few cents (αN) per MB or a fixed charge for a session while making a profit that covers its fixed and variable costs. If a 30 minute session typically consumes 25 MB, then at an example cost of 2 cents per MB, this implies a cost of 50 cents for a 30 minute session to the operator.
K=∫0∞ntotal(x)dx
x represent a random variable representing the amount of data utilization in the network per mobile client. nX(x)=(1/K) ntotal(x) can be defined as the density function for a data utilization of x GB per month per mobile client. nX(x) is assumed normal N(μ;σ) where μ is the mean and σ2 is the variance. The total data consumption by all K mobile clients 108 per month is given by ∫x ntotal(x) dx=K∫x n(x) dx=K μ. Assuming, for example, that for current utilization of data in the network per mobile client for nX(x) is N(μ;σ), where μ=0.3 GB, σ=0.1 GB. Such an assumption for nX(x) implies that on an average, a user uses 300 MB of data per month with a standard deviation of about 100 MB.
f(x)=λAe−λx+B.
g(x)=∫0xf(u(du≈A(1−e−λx)+Bx
For example, if A=$30, B=$14/GB, λ=2, then at x=0.5 GB, g(x)=$25.96 and at x=5 GB, g(x)=$100. The six-tuple (μ, σ, λ, A, B, K) is defined as the network-state. Let TC be the total cost over all mobile clients based on their data utilization. Then:
TC=K∫0xg(x)nX(x(dx=AK+BKμ−AKe−μλeλ
Assuming a subscription cost Csub per month for the data plan, then the total revenue:
TR=KCsub (2)
Here, Csub could be $50 for example. Then the total profit, TP=TR−TC, is given by:
An aggregated incremental wireless data service is defined as a data service where subscribed mobile clients start consuming additional wireless data for the service delivery. To illustrate an example of an aggregated incremental wireless data service, a mobile node subscriber with WWAN connectivity exposes itself as an ad-hoc service provider to other mobile nodes, thereby becoming an ad-hoc service provider 106. Another mobile node, without WWAN connectivity, may connect to the ad-hoc service provider over the WLAN, and thereby becomes a mobile client. The ad-hoc service provider may provide a short term internet access session to such a mobile client. It may be useful to determine the pricing of the service to the mobile client to cover the costs involved such as a payment to the ad-hoc service provider and a payment to the WWAN operator. It is possible that the short range wireless access connection between the mobile client and the ad-hoc service provider is based on a wireless protocol other than that used by the WLAN. Based on the current costs of wireless data services, the WWAN operator could use the methodology described in this disclosure to determine its costs for supporting such an incremental wireless internet access service. Assuming that the WWAN is in an established mean state of utilization where μ=μ0, and σ=σ0, then the current mean state of utilization is given by the 6-tuple (μ0, σ0, λ, A, B, K). Then the total cost and total revenue are based on equations (1) and (2) respectively, where μ=μ0, and σ=σ0. Assuming that the proposed incremental wireless data service is deployed such that mobile clients start using incremental additional wireless data, resulting in additional data being carried by the WWAN, then the mean utilization in the WWAN shifts to a new normal distribution. Without loss of generality, let the new normal distribution be N(μ;σ). Then the new state of WWAN utilization is given by the quintuple (μ, σ, λ, A, B, K). Assuming that the new service results in additional revenue of α dollars per GB (where GB stands for Gigabyte), then the total revenue TR becomes:
TR=KCsub+Kα(μ−μ0).
Therefore, the Marginal Revenue MR is given by:
MR=∂TR/∂μ=αK.
The Marginal Cost MC is given by:
MC=∂TC/∂μ=BK+AKλe−μλeλ
The profit in the network is maximized when MR=MC which implies that:
α=B+Aλe−μλeλ
The incremental revenue, IR, from the aggregated incremental wireless data service is given by:
IR=Kα(μ−μ0).
The total cost for the new network state (μ, σ, λ, A, B, K) is given by equation (1). The increase in cost, IC, for the change of network state from (μ0, σ0, λ, A, B, K) to (μ, σ, λ, A, B, K) is given by:
IC≈BK(μ−μ0)−AK(e−μλeλ
The total profit is given by equation (3). The incremental profit, IP, for this aggregated incremental wireless data service is given by:
Therefore, if:
then the aggregated incremental wireless data service is worthwhile considering. If σ2≈σ02, then:
An example will now be presented where a typical mobile client consumes approximately 25 MB in an incremental wireless data session, and on an average there are three such sessions per mobile client in a given month. Then, one can expect the mean to shift from μ0=0.3 GB to μ=0.375 GB. Therefore, assuming, for example, that the WWAN shifts from the state (μ0, σ0, λ, A, B, K) to the state (μ, σ, λ, A, B, K) where A=30, B=14, λ=2, μ0=0.3 GB, σ0=0.1, μ=0.375 GB, σ=0.1, then from equation (4), we find that, if α≧14−400*(0.4839-0.5598), or equivalently, if α≧44 dollars/GB or approximately 4.4 cents/MB, then the aggregated incremental wireless data service is worth considering. If a typical mobile client uses up 25 MB in an incremental wireless data session, then this suggests that the wireless network operator needs to get paid at least $1.10 for the session.
The numbers used in the analysis for cost of data transmission in an operator's WWAN are only an illustration of the values for the network cost model used. For specific costs associated with different WWAN operators, the values associated with the models will vary. Different WWAN operators may have different pricing models as a function of the amount of data consumed by the mobile client, so that the revenue associated with the mobile client subscribers can change based on the pricing associated with the data consumed. However, the analysis is still applicable under such pricing. In addition, multiple entities may be involved in providing a service. The costs for administering such a service can be higher than the cost of merely admitting a paid mobile client subscriber into the WWAN and authenticating that subscriber. An incremental data session needs to be created with security considerations with dynamic authentication of the mobile client and dynamic enabling of the mobile client to the service. However, since mobile clients are expected to pay higher for the service based on the perceived value of the service at a given location and time, the incremental data services become viable despite the additional costs involved. An ad-hoc service provider would have to ensure that its pricing covers the costs of other entities that are involved in providing the services, such as the WWAN operator or a authentication/tunneling server entity in the WWAN. In some cases, the authentication/tunneling server is supported by the WWAN operator, then the WWAN operator needs to determine its overall costs of transporting the data in its network, and providing the authentication/tunneling services.
It should be noted that the estimates based on the change in the mean state of network utilization for a WWAN operator provides a mean price a for the WWAN operator to provide an incremental wireless data service. The system load in the WWAN associated with the WWAN operator can vary as a function of the time of the day. For example, the system load in the WWAN can be very high at peak hours such as a rush hour around 8:00 a.m. or 5 p.m. At other times the system load may be lower. Based on the system load, the mean price a may be qualified by a change in the pricing based on the system load. At higher system loads, the pricing αnew can be higher than the mean price a for the service, and at lower system loads, the pricing αnew may be lower than the mean price α for the service. For example the cost may be modified as follows:
αnew=max(αmin,αK(1))
where αnew is the modified price based on the system load, α is the mean price associated with the WWAN operator, αmin is the lowest price that may be agreeable to the operator, and K(1) is a sigmoid function of the system load 1. Such a determination can be made at the ad-hoc service provider based on availability of the current system load 1, and the price factors α and αmin that the WWAN operator can provide to the ad-hoc service provider. Typical the factors α and αmin can be stored statically in memory well ahead of the time of service, whereas the load 1 can be dynamically provided by the WWAN operator to the ad-hoc service provider at the time of the service. The form of the function used on the system load such as a sigmoid can also be stored statically in memory at the ad-hoc service provider for future use. It should be noted that the sigmoid function is provided as an example function, and other linear or nonlinear functions of the system load can also be used to determine a modified pricing associated with the WWAN operator. Based on the pricing associated with the WWAN operator and optional external server costs, the ad-hoc service provider can then determine its pricing based on its desired revenue and the costs that are needed to compensate the operator or the server. In simpler variants, the WWAN operator may dynamically provide merely its price to the ad-hoc service provider, so that the operator cost can be used to determine a pricing by the ad-hoc service provider.
In at least one configuration of an ad-hoc service provider, a processing system may be used to implement the WWAN and WLAN network interfaces 202, 204, the filtered interconnection and session monitoring module 206, the service provider application 208, and the user interface 212 (see
The algorithm to allocate bandwidth to one or more mobile clients in step 606 may be implemented in various ways. By way of example, the bandwidth allocated to the one or more mobile clients is determined by maximizing a utility function that is a function of one or more parameters, the utility function being maximized when the derivative of the utility function is zero. The one or more parameters may include revenue R(x) generated by the ad-hoc service provider for the bandwidth allocated to the one or more mobile clients, energy E(x) required by the ad-hoc service provider to provide the allocated bandwidth to the one or more mobile clients, loss of bandwidth B(x) that would otherwise be available to the user to access the network, processing resources P(x) required by the ad-hoc service provider to provide the allocated bandwidth to the one or more mobile clients, and a quality of service metric G(x), where x is the bandwidth allocated to the one or more mobile clients.
The processor 704 is responsible for managing the bus and general processing, including the execution of software stored on the machine-readable media 706. The software includes instructions that when executed by the processor 704 cause the processing system 700 to perform the various functions described earlier in connection with the filtered interconnection and session monitoring module 206 and service provider application 208 (see
Similar to the WWAN and WLAN network interfaces 202, 204 (see
The processor 806 is responsible for managing the bus and general processing, including the execution of software stored on the machine-readable media 808. The software includes instructions that when executed by the processor 806 cause the processing system 800 to perform the various functions, which include means for using an ad-hoc service provider to support a wireless connection to a network. The processing system 800 may also be used to support registration and authentication of the mobile client with the server, searching for and selecting ad-hoc service providers, control session management, handoffs between multiple ad-hoc service providers, data tunneling, and various protocol functions running on top of the network interface 804.
As discussed above, the processing system 800 provides a means for selecting the ad-hoc service provider based on at least one parameter related to the ad-hoc service provider's ability to support the wireless connection. The process of selecting between available ad-hoc service providers may be based on any number of parameters such as, by way of example, the cost of the service, the duration of available service, the quality metric of the ad-hoc service provider, the average WWAN backhaul bandwidth available from the ad-hoc service provider, and/or the wireless link quality between the mobile client and the ad-hoc service provider.
In one configuration of telecommunications systems, a mobile client may cooperate with another mobile client to increased the bandwidth/time available to each. An example will now be presented with reference to
This configuration may provide a benefit to each of the mobile clients 108. An example will now be presented with the first mobile client 1081 having a 800 kbps link with the WWAN 104 and the second mobile client 1082 having a 200 kbps link with the WWAN 104. If the WWAN 104 allocates 1 second of time to each of the mobile clients 108, then the links carry 700 kbits total data in 2 seconds. If, on the other hand, the second mobile client 1082 uses the first mobile client 1081 as an ad-hoc service provider 106, then the link between the first mobile client 1081 and the WWAN 104 can carry 700 kbits in 1.4 seconds. Therefore, essentially 0.6 seconds of time becomes available in the telecommunications system. The additional 0.6 seconds can be shared by all three entities (e.g., the first mobile client 1081 could send additional 100 kbits in 0.2 seconds, the second mobile client 1082 a could also send another 100 kbits using the first mobile client 1081 in 0.2 seconds, and the remaining 0.2 seconds could be given back to the WWAN 104 to be allocated to other mobile clients 108).
Those of skill in the art would appreciate that the various illustrative blocks, modules, elements, components, methods, and algorithms described herein may be implemented as electronic hardware, computer software, or combinations of both. To illustrate this interchangeability of hardware and software, various illustrative blocks, modules, elements, components, methods, and algorithms have been described above generally in terms of their functionality. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the overall system. Skilled artisans may implement the described functionality in varying ways for each particular application.
In various configurations of a telecommunications described thus far, a processor has been disclosed as one means for implementing a processing system in the ad-hoc service provider 106 and mobile client 108. The processor may be implemented with one or more general-purpose and/or special-purpose processors. Examples include microprocessors, microcontrollers, DSP processors, and other circuitry that can execute software. Software shall be construed broadly to mean instructions, data, or any combination thereof, whether referred to as software, firmware, middleware, microcode, hardware description language, or otherwise. Machine-readable media may include, by way of example, RAM (Random Access Memory), flash memory, ROM (Read Only Memory), PROM (Programmable Read-Only Memory), EPROM (Erasable Programmable Read-Only Memory), EEPROM (Electrically Erasable Programmable Read-Only Memory), registers, magnetic disks, optical disks, hard drives, or any other suitable storage medium, or any combination thereof
In the processing systems presented in this disclosure, the machine-readable media is shown as part of the processing system separate from the processor. However, as those skilled in the art will readily appreciate, the machine-readable media, or any portion thereof, may be external to the processing system. By way of example, the machine-readable media may include a transmission line, a carrier wave modulated by data, and/or a computer product separate from the server, all which may be accessed by the processor through the network interface. Alternatively, or in addition to, the machine readable media, or any portion thereof, may be integrated into the processor, such as the case may be with cache and/or general register files.
The software supported by the machine-readable media may reside in a single storage device or distributed across multiple memory devices. By way of example, software may be loaded into RAM from a hard drive when a triggering event occurs (e.g., a mobile node decides to become an ad-hoc service provider 106). During execution of the software, the processor may load some of the instructions into cache to increase access speed. One or more cache lines may then be loaded into a general register file for execution by the processor. When referring to the functionality of software, it will be understood that such functionality is implemented by the processor when executing instructions from such software.
The processing system may be configured as a general-purpose processing system with one or more microprocessors providing the processor functionality and external memory providing at least a portion of the machine-readable media, all linked together with other supporting circuitry through an external bus architecture. Alternatively, the processing system may be implemented with an ASIC (Application Specific Integrated Circuit) with the processor, the network interface, supporting circuitry (not shown), and at least a portion of the machine-readable media integrated into a single chip, or with one or more FPGAs (Field Programmable Gate Array), PLDs (Programmable Logic Device), controllers, state machines, gated logic, discrete hardware components, or any other suitable circuitry, or any combination of circuits that can perform the various functionality described throughout this disclosure. Those skilled in the art will recognize how best to implement the described functionality for the processing system depending on the particular application and the overall design constraints imposed on the overall system.
It is understood that the specific order or hierarchy of steps in the processes disclosed is an illustration of exemplary approaches. Based upon design preferences, it is understood that the specific order or hierarchy of steps in the processes may be rearranged. The accompanying method claims present elements of the various steps in a sample order, and are not meant to be limited to the specific order or hierarchy presented.
The previous description is provided to enable any person skilled in the art to practice the various aspects described herein. Various modifications to these aspects will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other aspects. Thus, the claims are not intended to be limited to the aspects shown herein, but is to be accorded the full scope consistent with the language claims, wherein reference to an element in the singular is not intended to mean “one and only one” unless specifically so stated, but rather “one or more.” Unless specifically stated otherwise, the term “some” refers to one or more. Pronouns in the masculine (e.g., his) include the feminine and neuter gender (e.g., her and its) and vice versa. All structural and functional equivalents to the elements of the various aspects described throughout this disclosure that are known or later come to be known to those of ordinary skill in the art are expressly incorporated herein by reference and are intended to be encompassed by the claims. Moreover, nothing disclosed herein is intended to be dedicated to the public regardless of whether such disclosure is explicitly recited in the claims. No claim element is to be construed under the provisions of 35 U.S.C. §112, sixth paragraph, unless the element is expressly recited using the phrase “means for” or, in the case of a method claim, the element is recited using the phrase “step for.”
The present application for patent claims priority to Provisional Application No. 61/181,224, entitled “Maximizing Service Provider Utility In A Heterogeneous Wireless Ad-Hoc Network, filed May 26, 2009, the contents of which is expressly incorporated by reference herein.
Number | Name | Date | Kind |
---|---|---|---|
5263121 | Melsa et al. | Nov 1993 | A |
5301359 | Van Den Heuvel et al. | Apr 1994 | A |
5999813 | Lu et al. | Dec 1999 | A |
6125185 | Boesch | Sep 2000 | A |
6275712 | Gray et al. | Aug 2001 | B1 |
6295453 | Desgagne et al. | Sep 2001 | B1 |
6377805 | Anvekar et al. | Apr 2002 | B1 |
6650900 | Chavez, Jr. et al. | Nov 2003 | B1 |
6735417 | Fonseca, Jr. et al. | May 2004 | B2 |
6788656 | Smolentzov et al. | Sep 2004 | B1 |
6871071 | Takao et al. | Mar 2005 | B2 |
6879574 | Naghian et al. | Apr 2005 | B2 |
6961575 | Stanforth | Nov 2005 | B2 |
6970422 | Ho et al. | Nov 2005 | B1 |
7003117 | Kacker et al. | Feb 2006 | B2 |
7046647 | Oba et al. | May 2006 | B2 |
7089417 | Wack et al. | Aug 2006 | B2 |
7110372 | Kovacs et al. | Sep 2006 | B2 |
7123908 | Chandler | Oct 2006 | B2 |
7155518 | Forslow | Dec 2006 | B2 |
7161914 | Shoaib et al. | Jan 2007 | B2 |
7170878 | Fukuda | Jan 2007 | B2 |
7254119 | Jiang et al. | Aug 2007 | B2 |
7266374 | Kim | Sep 2007 | B2 |
7266383 | Anderson | Sep 2007 | B2 |
7295532 | Haller et al. | Nov 2007 | B2 |
7313363 | Davis et al. | Dec 2007 | B2 |
7339915 | Jakkahalli et al. | Mar 2008 | B2 |
7340253 | LaPorta et al. | Mar 2008 | B2 |
7346167 | Billhartz et al. | Mar 2008 | B2 |
7349370 | Lee et al. | Mar 2008 | B2 |
7362731 | Vinayakray-Jani | Apr 2008 | B2 |
7363050 | Nakano | Apr 2008 | B2 |
7394826 | Cain et al. | Jul 2008 | B2 |
7406313 | Lynch, Jr. et al. | Jul 2008 | B2 |
7408929 | Adachi et al. | Aug 2008 | B2 |
7420952 | Da Costa et al. | Sep 2008 | B2 |
7444152 | Wu et al. | Oct 2008 | B2 |
7486651 | Hagiwara et al. | Feb 2009 | B2 |
7496363 | Salkintzis | Feb 2009 | B2 |
7519071 | Thubert et al. | Apr 2009 | B2 |
7551576 | Ahmavaara | Jun 2009 | B2 |
7552234 | Thubert et al. | Jun 2009 | B2 |
7573904 | Pichna et al. | Aug 2009 | B2 |
7577108 | Zhang et al. | Aug 2009 | B2 |
7593378 | Murali et al. | Sep 2009 | B1 |
7624267 | Huang et al. | Nov 2009 | B2 |
7649872 | Naghian et al. | Jan 2010 | B2 |
7664049 | Arrakoski et al. | Feb 2010 | B1 |
7680079 | Jeong et al. | Mar 2010 | B2 |
7757076 | Stewart et al. | Jul 2010 | B2 |
7881474 | Sun | Feb 2011 | B2 |
7903817 | Cam-Winget et al. | Mar 2011 | B2 |
7929460 | Chen et al. | Apr 2011 | B2 |
7933247 | Gidwani | Apr 2011 | B2 |
8014368 | Kim et al. | Sep 2011 | B2 |
8295225 | Ji et al. | Oct 2012 | B2 |
8717931 | Taniuchi et al. | May 2014 | B2 |
20010012757 | Boyle | Aug 2001 | A1 |
20010024443 | Alriksson et al. | Sep 2001 | A1 |
20020039367 | Seppala et al. | Apr 2002 | A1 |
20020061750 | Mohebbi | May 2002 | A1 |
20020080738 | Kim et al. | Jun 2002 | A1 |
20020138635 | Redlich et al. | Sep 2002 | A1 |
20020181447 | Hashizume et al. | Dec 2002 | A1 |
20020198019 | Naim et al. | Dec 2002 | A1 |
20030054796 | Tamaki et al. | Mar 2003 | A1 |
20030087646 | Funato et al. | May 2003 | A1 |
20030092444 | Sengodan et al. | May 2003 | A1 |
20030095504 | Ogier | May 2003 | A1 |
20030101263 | Bouillet et al. | May 2003 | A1 |
20030103496 | Lakshmi et al. | Jun 2003 | A1 |
20030103521 | Raphaeli et al. | Jun 2003 | A1 |
20030123404 | Kasapi et al. | Jul 2003 | A1 |
20030157951 | Hasty, Jr. | Aug 2003 | A1 |
20030169697 | Suzuki et al. | Sep 2003 | A1 |
20030198346 | Meifu et al. | Oct 2003 | A1 |
20030202476 | Billhartz et al. | Oct 2003 | A1 |
20030203741 | Matsuo et al. | Oct 2003 | A1 |
20030212802 | Rector et al. | Nov 2003 | A1 |
20030235174 | Pichna et al. | Dec 2003 | A1 |
20040001442 | Rayment et al. | Jan 2004 | A1 |
20040008663 | Srikrishna et al. | Jan 2004 | A1 |
20040068668 | Lor et al. | Apr 2004 | A1 |
20040087268 | Hatano | May 2004 | A1 |
20040171386 | Mitjana | Sep 2004 | A1 |
20040174822 | Bui | Sep 2004 | A1 |
20040202120 | Hanson | Oct 2004 | A1 |
20040203787 | Naghian | Oct 2004 | A1 |
20040235452 | Fischer et al. | Nov 2004 | A1 |
20040235481 | Shimizu | Nov 2004 | A1 |
20050053005 | Cain et al. | Mar 2005 | A1 |
20050058109 | Ekberg | Mar 2005 | A1 |
20050088980 | Olkkonen et al. | Apr 2005 | A1 |
20050094588 | Wentink | May 2005 | A1 |
20050108527 | Ginzburg et al. | May 2005 | A1 |
20050136834 | Bonta et al. | Jun 2005 | A1 |
20050138671 | Love et al. | Jun 2005 | A1 |
20050197098 | Trossen | Sep 2005 | A1 |
20050228853 | Yamamura et al. | Oct 2005 | A1 |
20050243719 | Haverinen et al. | Nov 2005 | A1 |
20050254472 | Roh et al. | Nov 2005 | A1 |
20050286476 | Crosswy et al. | Dec 2005 | A1 |
20060005008 | Kao | Jan 2006 | A1 |
20060007863 | Naghian | Jan 2006 | A1 |
20060009248 | Sakamoto et al. | Jan 2006 | A1 |
20060056368 | Ratiu et al. | Mar 2006 | A1 |
20060064589 | Taniguchi et al. | Mar 2006 | A1 |
20060092939 | Duggi et al. | May 2006 | A1 |
20060098598 | Gallagher | May 2006 | A1 |
20060101400 | Capek et al. | May 2006 | A1 |
20060114825 | McAuley et al. | Jun 2006 | A1 |
20060114850 | Avinash | Jun 2006 | A1 |
20060143026 | Jagannathan et al. | Jun 2006 | A1 |
20060176852 | Wu et al. | Aug 2006 | A1 |
20060178149 | Kamat et al. | Aug 2006 | A1 |
20060215576 | Yu et al. | Sep 2006 | A1 |
20060217062 | Saffre et al. | Sep 2006 | A1 |
20060227724 | Thubert et al. | Oct 2006 | A1 |
20060229080 | Khan et al. | Oct 2006 | A1 |
20060236105 | Brok et al. | Oct 2006 | A1 |
20060240828 | Jain et al. | Oct 2006 | A1 |
20060258391 | Lee | Nov 2006 | A1 |
20060268767 | Sato et al. | Nov 2006 | A1 |
20070008902 | Yaramada et al. | Jan 2007 | A1 |
20070016262 | Gross et al. | Jan 2007 | A1 |
20070038743 | Hellhake et al. | Feb 2007 | A1 |
20070042769 | Thommana et al. | Feb 2007 | A1 |
20070076875 | Kaechi | Apr 2007 | A1 |
20070097906 | Kato | May 2007 | A1 |
20070110009 | Bachmann et al. | May 2007 | A1 |
20070111705 | Zhang et al. | May 2007 | A1 |
20070149139 | Gauvreau | Jun 2007 | A1 |
20070172040 | Cesarini et al. | Jul 2007 | A1 |
20070198656 | Mazzaferri | Aug 2007 | A1 |
20070206527 | Lo et al. | Sep 2007 | A1 |
20070217433 | Doppler et al. | Sep 2007 | A1 |
20070220219 | Bansal et al. | Sep 2007 | A1 |
20070223408 | Thielke et al. | Sep 2007 | A1 |
20070234061 | Teo | Oct 2007 | A1 |
20070253376 | Bonta et al. | Nov 2007 | A1 |
20070254614 | Muralidharan et al. | Nov 2007 | A1 |
20070291722 | Lee | Dec 2007 | A1 |
20080040481 | Joshi et al. | Feb 2008 | A1 |
20080046542 | Sano | Feb 2008 | A1 |
20080049689 | Nakfour et al. | Feb 2008 | A1 |
20080069105 | Costa et al. | Mar 2008 | A1 |
20080080387 | Wang et al. | Apr 2008 | A1 |
20080081606 | Cole | Apr 2008 | A1 |
20080081623 | Burgan et al. | Apr 2008 | A1 |
20080089288 | Anschutz et al. | Apr 2008 | A1 |
20080095114 | Dutta et al. | Apr 2008 | A1 |
20080095134 | Chen et al. | Apr 2008 | A1 |
20080112355 | Krishnakumar et al. | May 2008 | A1 |
20080112362 | Korus | May 2008 | A1 |
20080139239 | O'Connor | Jun 2008 | A1 |
20080146232 | Knisely | Jun 2008 | A1 |
20080165735 | Chen et al. | Jul 2008 | A1 |
20080165786 | Ahuja et al. | Jul 2008 | A1 |
20080192666 | Koskan et al. | Aug 2008 | A1 |
20080254800 | Chun et al. | Oct 2008 | A1 |
20080298284 | Dawson et al. | Dec 2008 | A1 |
20090046591 | Krishnaswamy et al. | Feb 2009 | A1 |
20090046598 | Krishnaswamy et al. | Feb 2009 | A1 |
20090046644 | Krishnaswamy et al. | Feb 2009 | A1 |
20090046658 | Krishnaswamy | Feb 2009 | A1 |
20090046676 | Krishnaswamy et al. | Feb 2009 | A1 |
20090046861 | Krishnaswamy | Feb 2009 | A1 |
20090047930 | Krishnaswamy et al. | Feb 2009 | A1 |
20090047964 | Krishnaswamy | Feb 2009 | A1 |
20090047966 | Krishnaswamy et al. | Feb 2009 | A1 |
20090049158 | Krishnaswamy et al. | Feb 2009 | A1 |
20090073943 | Krishnaswamy et al. | Mar 2009 | A1 |
20090125429 | Takayama | May 2009 | A1 |
20090172391 | Kasapidis | Jul 2009 | A1 |
20100034131 | Kasapi et al. | Feb 2010 | A1 |
20100173631 | Kim et al. | Jul 2010 | A1 |
20100202428 | Thompson et al. | Aug 2010 | A1 |
20110026477 | Sinivaara et al. | Feb 2011 | A1 |
20110039566 | Zee et al. | Feb 2011 | A1 |
20110183685 | Burton et al. | Jul 2011 | A1 |
20120027001 | Krishnaswamy et al. | Feb 2012 | A1 |
20140241296 | Shattil | Aug 2014 | A1 |
Number | Date | Country |
---|---|---|
1342377 | Mar 2002 | CN |
1360795 | Jul 2002 | CN |
1435027 | Aug 2003 | CN |
1602109 | Mar 2005 | CN |
1736041 | Feb 2006 | CN |
1741485 | Mar 2006 | CN |
1747449 | Mar 2006 | CN |
1921418 | Feb 2007 | CN |
1929384 | Mar 2007 | CN |
1961531 | May 2007 | CN |
10208689 | Sep 2003 | DE |
102005021315 | Dec 2005 | DE |
1289200 | Mar 2003 | EP |
1445893 | Aug 2004 | EP |
1458151 | Sep 2004 | EP |
1178644 | Jul 2006 | EP |
1677462 | Jul 2006 | EP |
1701486 | Sep 2006 | EP |
1761082 | Mar 2007 | EP |
1775972 | Apr 2007 | EP |
2388276 | Nov 2003 | GB |
2398462 | Aug 2004 | GB |
2408173 | May 2005 | GB |
2000115171 | Apr 2000 | JP |
2001275145 | Oct 2001 | JP |
2002510447 | Apr 2002 | JP |
2002544727 | Dec 2002 | JP |
2003070068 | Mar 2003 | JP |
2003101553 | Apr 2003 | JP |
2003143644 | May 2003 | JP |
2003230167 | Aug 2003 | JP |
2004153529 | May 2004 | JP |
2004519911 | Jul 2004 | JP |
2004253885 | Sep 2004 | JP |
2004264976 | Sep 2004 | JP |
2004320775 | Nov 2004 | JP |
2005500766 | Jan 2005 | JP |
2005502273 | Jan 2005 | JP |
2005033808 | Feb 2005 | JP |
2005117656 | Apr 2005 | JP |
2005123781 | May 2005 | JP |
2005176021 | Jun 2005 | JP |
2005204213 | Jul 2005 | JP |
2005523666 | Aug 2005 | JP |
2005295310 | Oct 2005 | JP |
2005531958 | Oct 2005 | JP |
2005536131 | Nov 2005 | JP |
2005341290 | Dec 2005 | JP |
2005348397 | Dec 2005 | JP |
2005536913 | Dec 2005 | JP |
2006013811 | Jan 2006 | JP |
2006502670 | Jan 2006 | JP |
2006041633 | Feb 2006 | JP |
2006050224 | Feb 2006 | JP |
2006505987 | Feb 2006 | JP |
2006074621 | Mar 2006 | JP |
2006163793 | Jun 2006 | JP |
2006197462 | Jul 2006 | JP |
2006287426 | Oct 2006 | JP |
2006304005 | Nov 2006 | JP |
2007036828 | Feb 2007 | JP |
2007037111 | Feb 2007 | JP |
2007074382 | Mar 2007 | JP |
2007505553 | Mar 2007 | JP |
2007508781 | Apr 2007 | JP |
2007116710 | May 2007 | JP |
2007129380 | May 2007 | JP |
2007143066 | Jun 2007 | JP |
2007522725 | Aug 2007 | JP |
2007528162 | Oct 2007 | JP |
2009500958 | Jan 2009 | JP |
2009500984 | Jan 2009 | JP |
2009526418 | Jul 2009 | JP |
4504934 | Jul 2010 | JP |
2010537575 | Dec 2010 | JP |
1020070034060 | Mar 2007 | KR |
2192049 | Oct 2002 | RU |
2206177 | Jun 2003 | RU |
2273050 | Mar 2006 | RU |
2301444 | Jun 2007 | RU |
I242937 | Nov 2005 | TW |
I243620 | Nov 2005 | TW |
I246005 | Dec 2005 | TW |
I246344 | Dec 2005 | TW |
WO9013211 | Nov 1990 | WO |
WO0069186 | Nov 2000 | WO |
WO0199053 | Dec 2001 | WO |
WO02063900 | Aug 2002 | WO |
WO02063990 | Aug 2002 | WO |
WO02071084 | Sep 2002 | WO |
WO02096132 | Nov 2002 | WO |
WO03017705 | Feb 2003 | WO |
WO03090847 | Nov 2003 | WO |
2004002208 | Jan 2004 | WO |
WO2004004226 | Jan 2004 | WO |
WO2004017549 | Feb 2004 | WO |
WO2004017568 | Feb 2004 | WO |
WO2004034219 | Apr 2004 | WO |
2004043008 | May 2004 | WO |
WO2004107656 | Dec 2004 | WO |
WO2005036348 | Apr 2005 | WO |
WO2005072183 | Aug 2005 | WO |
2005086468 | Sep 2005 | WO |
WO2005088874 | Sep 2005 | WO |
WO2005109693 | Nov 2005 | WO |
WO2005116841 | Dec 2005 | WO |
WO2006000239 | Jan 2006 | WO |
WO2006024343 | Mar 2006 | WO |
WO2006043901 | Apr 2006 | WO |
WO2006043902 | Apr 2006 | WO |
2006068878 | Jun 2006 | WO |
WO2006061682 | Jun 2006 | WO |
WO2006117738 | Nov 2006 | WO |
2007008751 | Jan 2007 | WO |
WO2007004051 | Jan 2007 | WO |
WO2007008574 | Jan 2007 | WO |
WO2007024932 | Mar 2007 | WO |
WO2007047118 | Apr 2007 | WO |
WO2007052249 | May 2007 | WO |
WO2007064249 | Jun 2007 | WO |
WO2007090176 | Aug 2007 | WO |
WO2007091699 | Aug 2007 | WO |
WO2008063728 | May 2008 | WO |
WO2009026192 | Feb 2009 | WO |
WO2010000870 | Jan 2010 | WO |
Entry |
---|
Ashutosh, et al., “Seamless proactive handover across heterogeneous access networks” Wirless Personal Communciations, Kluwer Academic Publishers, DO, vol. 43, No. 3, Jun. 28, 2007, pp. 837-855, XP019557974. |
Bharat Bhargava, et al., “Integrating Heterogeneous Wireless Technologies: A Cellular Aided Mobile Ad Hoc Network (CAMA)” Mobile Networks and Applications, Kluwer Academic Publishers, BO, vol. 9, No. 4, Aug. 1, 2004, pp. 393-408, XP019213788. |
Cradlepoint Technology, “CTR350 Mobile Broadband Travel Router: Ethernet, USB Modem Support”, Dec. 2008. |
Cradlepoint Technology, “CTR500 Mobile Broadband Router: Ethernet, USB, and ExpressCard Modem Support” Dec. 2008. |
Dilip Krishnaswamy: “AWiMA: An Architecture for Adhoc Wireless Mobile Internet Access” Global Telecommunications Conference, 2008. IEEE GLOBECOM 2008., Nov. 30, 2008, pp. 1-5, XP031370766 IEEE, Piscataway, NJ, USA ISBN: 978-1-4244-2324-8 abstract; figure 1 p. 2, col. 1, paragraph 3—p. 3, col. 2, paragraph 3.3.2; figure 2. |
Dimitriadis et al: “Seamless continuity of real-time video across umts and wlan networks: challenges and performance evaluation” IEEE Personal Communications, IEEE Communications Society, US, vol. 12, No. 3, Jun. 1, 2005, pp. 8-18, XP011134871. |
Fon Wiki Beta, “Alien, Linus and Bill”, http://wiki.fon.com/wiki/alien2%—linus—and—Bill, Feb. 27, 2009. |
Fon Wiki Beta, “FON Spot” pp. 1-3, year 2009, http://wiki.fon.com/wiki/FON—Spot. |
International Search Report and Written Opinion—PCT/US2010/036263—International Search Authority, European Patent Office,Nov. 15, 2010. |
Kyocera, “KR1 Mobile Router: Technical Specifications” 2006 Kyocera Wireless Corp. |
Ming, et al., “Ad hoc assisted handoff for real-time voice in IEEE 802.11 infrastructure WLANs” Wireless Communications and Networks Conference, 2004. WCNC. 2004 IEEE Atlanta, GA, USA Mar. 21-25, 2004, Piscaraway, NJ, USA, IEEE, vol. 1, Mar. 21, 2004, p. 202-206. |
Park, Mirang et al., “A Study of a Seamless User Authentication Protocol on Wireless LAN Systems,” Journal of the Information Processing Society of Japan, The Information Processing Society of Japan, Jul. 15, 2006, 47(7), pp. 2058-2070. |
Qiu Ying et al., Peter Marbach: “Bandwidth Allocation in Ad Hoc Networks: a Price-Based Approach” IEEE INFOCOM 2003, [Online] Jul. 3, 2003, pp. 1-11, XP002603370 infocom 2003 Retrieved from the Internet: URL:http://www.i eee-infocom.org/2003/paper s/20—01.PDF> [retrieved on Oct. 4, 2010] p. 1, col. 1, line 9, paragraph 1—p. 4, col. 1, line 20, paragraph II. E p. 9, col. 2, line 5, paragraph VIII—p. 11, col. 1, line 18, paragraph IX. |
Sengupta S, et al., “Dynamic pricing for service provisioning and network selection in heterogeneous networks” Physical Communication, vol. 2, No. 1-2, 39-43 Mar. 1, 2009, pp. 138-150, XP026110196 ISSN: 1874-4907 [retrieved on Mar. 9, 2009] abstract. |
Sethom, et al: “Secure and seamless mobility support in heterogeneous wireless networks” Global Telecommunications Conference 2005. GLOBECOM '05. IEEE St. Loius, MO, USA, Nov. 28-Dec. 2, 2005, Psicataway, NJ, USA, IEEE. vol. 6, Nov. 28, 2005, pp. 34. |
Taiwan Search Report—TW099116854—TIPO—May 12, 2013. |
Steiner J.G., et al.,“Kerberos: An Authentication Service for Open Network Systems”, Jan. 12, 1988, pp. 1-15. |
Number | Date | Country | |
---|---|---|---|
20110019627 A1 | Jan 2011 | US |
Number | Date | Country | |
---|---|---|---|
61181224 | May 2009 | US |