The present invention relates to the field of network communications and optimization, and, in particular embodiments, to a system and method for user controlled cost based network and path selection across multiple networks.
In various network scenarios, users can request services from networks by sending requests and receiving, in response, the requested services from the networks. For instance, in a cellular network scenario, a mobile device or user equipment (UE) accesses a base station or a radio transmitter/receiver (or radio transceiver), e.g., an eNB, to send a request for a media or content to be displayed on the device. The request is forwarded by the base station through the cellular network to a server providing the media or content. The request may be forwarded through different network components or nodes, for example through multiple networks (e.g., including the Internet) to fetch the requested content from the server. Upon approval, the network forwards the requested content back to the user device or UE. This process also includes determining a route or path through the one or more networks to forward the requested content back to the user. Typically, the network(s) and/or the nodes in the network(s) determine this path according to network conditions (such as based on load at different nodes, bandwidth on links, or other resources), cost functions for routing, routing protocols, user preferences, and/or other factors. However, the user has no or limited participation in the path determination process. Allowing the user to determine or control the path selection for servicing user requests has advantages, such as to avoid using one or more dedicated components in the network for handling the path selection process. However, this can also lead to network utilization inefficiencies as network resources may not be used optimally across different users to increase the number of users or services the system could handle compared to network controlled systems. On the other hand, since in the future networks the user requests may be served taking the on-demand pricing, the user movement, affordability, and satisfaction into consideration, user controlled network access could lead to a more dynamic, flexible, and demand-based implementation, such as in the case of mobile users and multiple networks of different operators. There is a need for a system and method that enables user controlled network and path selection across multiple networks.
In accordance with an embodiment, a method for user controlled path selection to receive a network service includes sending, at a user device, a cost request for a service to one or more networks. The user device then receives cost information for the service from the one or more networks, and determines, according to the cost information, cost for one or more paths across the one or more networks. Upon determining acceptable cost for a path from the paths, the user device selects the path for receiving the service.
In accordance with another embodiment, a method for user controlled path selection to receive a network service includes receiving, at a network node coupled to one or more links in a network, loading information from one or more neighbor nodes coupled to one or more neighbor links. The loading information indicates load of traffic at the one or more neighbor links. The network node then evaluates cost using local loading information for the one or more links and the received loading information for the one or more neighbor links. When the network node receives a cost request originating from a user for a service, the network node returns, in a response to the user, cost information for the service from the evaluated cost.
In accordance with another embodiment, a user device supporting controlled path selection to receive a network service includes a processor and a computer readable storage medium storing programming for execution by the processor. The programming includes instructions to send a cost request for a service to one or more networks, receive cost information for the service from the one or more networks, and determine, according to the cost information, cost for one or more paths across the one or more networks. Upon determining acceptable cost for a path from the paths, the path is selected for receiving the service.
In accordance with yet another embodiment, a network component supporting controlled path selection to receive a network service includes a processor and a computer readable storage medium storing programming for execution by the processor. The programming includes instructions to receive loading information from one or more neighbor nodes coupled to one or more neighbor links. The loading information indicates load of traffic at the one or more neighbor links. The cost of one or more links is evaluated at the network component using local loading information for the one or more links and the received loading information for the one or more neighbor links. Upon receiving a cost request sent from a user for a service, the network component returns, in a response to the user, cost information for the service from the evaluated cost.
The foregoing has outlined rather broadly the features of an embodiment of the present invention in order that the detailed description of the invention that follows may be better understood. Additional features and advantages of embodiments of the invention will be described hereinafter, which form the subject of the claims of the invention. It should be appreciated by those skilled in the art that the conception and specific embodiments disclosed may be readily utilized as a basis for modifying or designing other structures or processes for carrying out the same purposes of the present invention. It should also be realized by those skilled in the art that such equivalent constructions do not depart from the spirit and scope of the invention as set forth in the appended claims.
For a more complete understanding of the present invention, and the advantages thereof, reference is now made to the following descriptions taken in conjunction with the accompanying drawing, in which:
Corresponding numerals and symbols in the different figures generally refer to corresponding parts unless otherwise indicated. The figures are drawn to clearly illustrate the relevant aspects of the embodiments and are not necessarily drawn to scale.
The making and using of the presently preferred embodiments are discussed in detail below. It should be appreciated, however, that the present invention provides many applicable inventive concepts that can be embodied in a wide variety of specific contexts. The specific embodiments discussed are merely illustrative of specific ways to make and use the invention, and do not limit the scope of the invention.
The content may be requested and provided from a source or server 101 through the networks. For example, a UE 102 can send a request for content to a radio node 122 in the cellular network 120 or an access point 132 in the Wi-Fi network 130. The request is then forwarded through the network to reach the server 101, via the Internet 110. In response, the content is sent back through a path across the networks to the requesting UE 102. Typically, the networks determine or control the path selection for forwarding the content from the server 101 to the UE 102. This is can be done by a central or dedicated network server or component or in a distributed manner by the nodes in the networks, such as using a distributed routing and signaling protocol. However, the networks may be operated by different operators and a network approach to control the path selection requires synchronization between different controllers or entities and/or enabling suitable and compatible protocols across the networks. Further, in the case of a moving UE 102, e.g., during a handover procedure from/to a radio node 122 or an AP 132, the network controlled path selection process becomes more complicated.
Embodiments are provided herein to enable a user controlled path selection for servicing content requests from users. The embodiments can be used for servicing requests on UEs in wireless networks (e.g., cellular and Wi-Fi networks). Similarly, the schemes can be used for servicing other types of clients or client devices in any suitable network types or technologies. The user controlled approach removes the need to use centralized or dedicated components in the network, and hence the associated cost. This approach also replaces other more complicated distributed path routing protocols, such as Resource Reservation Protocol (RSVP) for minimum cost path computation. The user controlled path selection scheme can be more suitable to ensure quality of experience (QoE) requirement for users, simpler to implement, and more efficient for mobile users. For example, in the case of wireless networks, user handover may be done more smoothly by user choosing multiple paths associated with the move. Also this scheme allows load balancing of traffic in the network, where the cost or load is calculated for individual links and nodes and the paths are selected independently by individual users.
The embodiments allow direct cost negotiation without a central admission control or path selection unit. A user can send a service cost request message through available paths in a network, for example in the scenario 100. Hence, for each link associated with the request, cost information or parameters are sent to the user. The cost information or parameter is based on pre-known cost of adding the type of requested service for each link that receives the request and neighbor links. Pre-known cost can be evaluated, at an initial set up phase (offline phase) prior to initiating the request, by exchanging information between nodes of neighbor links and running offline evaluation for different environments (e.g., different load scenarios). After receiving the cost information, the user can decide which if any path to use for receiving the requested service or content, and accordingly can send a path reservation request. When the path reservation request is acknowledged by the links, the data session can be started.
Nodes 203 can have a virtual signaling path to the neighbors to obtain the neighbor cost and loading information and to do offline evaluation. The nodes 203 can add emulated traffic to find out the impact of service addition to their neighbors. Each node 203 can provide a single cost number which includes the interference impact to the neighbors. The information exchanged between the nodes 203 of the neighbor links may be updated over time to account for changing network conditions. The nodes may also evaluate future cost information, such as using expected loading scenarios. In some embodiments, the nodes 203 may lower the reported cost information to make the links more attractive for the user controlled path selection process. A similar pre-path selection scheme can be implemented between nodes of other networks with physical fixed links (e.g., cable or optical fiber links). In this case, the nodes of neighbor links exchange traffic load cost information in terms of resources (e.g., bandwidth or rate) instead of interference information to build the local RCTs.
In the path selection step at the user, the user can use, in addition to the received cost information, other information including mobility information for the user, QoE information, traffic expectation and urgency, the amount the user is willing to pay, and/or other user available information, preferences, requirements, or criteria. The user can then select the path according to user preferences, for example, a least cost path acceptable by the user in terms of pricing and/or wait time. In an embodiment, the access nodes (e.g., base station or AP) get the link cost and loading from the nodes along the paths, before or after receiving a service request from a user. After receiving the request, each access node sends the associated minimum cost path to the user. The user can then select a path according to the criteria described above.
The user controlled path selection scheme and embodiments above allow the operators of networks to dynamically change the pricing to user based on demand, for example, so that users and operators can get a better deal. The users may not have to get permission from the network for each and every session. For instance, a user may have a contract with an operator, where a user can accept a demand based pricing scheme. During congestion time, the user may refrain from using the network (due to cost), which helps the network with congestion. The contract may also allow the network or operator to terminate a session for a user after a pre-determined amount of active time. In an embodiment, the user may also send a price reduction request as part of negotiation with the network.
The CPU 510 may comprise any type of electronic data processor. The memory 520 may comprise any type of system memory such as static random access memory (SRAM), dynamic random access memory (DRAM), synchronous DRAM (SDRAM), read-only memory (ROM), a combination thereof, or the like. In an embodiment, the memory 520 may include ROM for use at boot-up, and DRAM for program and data storage for use while executing programs. In embodiments, the memory 520 is non-transitory. The mass storage device 530 may comprise any type of storage device configured to store data, programs, and other information and to make the data, programs, and other information accessible via the bus. The mass storage device 530 may comprise, for example, one or more of a solid state drive, hard disk drive, a magnetic disk drive, an optical disk drive, or the like.
The processing unit 501 also includes one or more network interfaces 550, which may comprise wired links, such as an Ethernet cable or the like, and/or wireless links to access nodes or one or more networks 580. The network interface 550 allows the processing unit 501 to communicate with remote units via the networks 580. For example, the network interface 550 may provide wireless communication via one or more transmitters/transmit antennas and one or more receivers/receive antennas. In an embodiment, the processing unit 501 is coupled to a local-area network or a wide-area network for data processing and communications with remote devices, such as other processing units, the Internet, remote storage facilities, or the like.
While several embodiments have been provided in the present disclosure, it should be understood that the disclosed systems and methods might be embodied in many other specific forms without departing from the spirit or scope of the present disclosure. The present examples are to be considered as illustrative and not restrictive, and the intention is not to be limited to the details given herein. For example, the various elements or components may be combined or integrated in another system or certain features may be omitted, or not implemented.
In addition, techniques, systems, subsystems, and methods described and illustrated in the various embodiments as discrete or separate may be combined or integrated with other systems, modules, techniques, or methods without departing from the scope of the present disclosure. Other items shown or discussed as coupled or directly coupled or communicating with each other may be indirectly coupled or communicating through some interface, device, or intermediate component whether electrically, mechanically, or otherwise. Other examples of changes, substitutions, and alterations are ascertainable by one skilled in the art and could be made without departing from the spirit and scope disclosed herein.