WO2014143041A1 - Cloud-based connectivity - Google Patents

Cloud-based connectivity Download PDF

Info

Publication number
WO2014143041A1
WO2014143041A1 PCT/US2013/032530 US2013032530W WO2014143041A1 WO 2014143041 A1 WO2014143041 A1 WO 2014143041A1 US 2013032530 W US2013032530 W US 2013032530W WO 2014143041 A1 WO2014143041 A1 WO 2014143041A1
Authority
WO
WIPO (PCT)
Prior art keywords
devices
wireless devices
network
connectivity
data
Prior art date
Application number
PCT/US2013/032530
Other languages
French (fr)
Inventor
Eduardo Alberto Cuervo Laffaye CUERVO
Kyu-Han Kim
Paul T Congdon
Original Assignee
Hewlett-Packard Development Company, L.P.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hewlett-Packard Development Company, L.P. filed Critical Hewlett-Packard Development Company, L.P.
Priority to PCT/US2013/032530 priority Critical patent/WO2014143041A1/en
Priority to EP13878171.1A priority patent/EP2974462A4/en
Priority to CN201380076578.9A priority patent/CN105230081B/en
Priority to US14/777,451 priority patent/US9769675B2/en
Publication of WO2014143041A1 publication Critical patent/WO2014143041A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W16/00Network planning, e.g. coverage or traffic planning tools; Network deployment, e.g. resource partitioning or cells structures
    • H04W16/22Traffic simulation tools or models
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/12Discovery or management of network topologies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W24/00Supervisory, monitoring or testing arrangements
    • H04W24/02Arrangements for optimising operational condition
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W40/00Communication routing or communication path finding
    • H04W40/02Communication route or path selection, e.g. power-based or shortest path routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W40/00Communication routing or communication path finding
    • H04W40/24Connectivity information management, e.g. connectivity discovery or connectivity update
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W48/00Access restriction; Network selection; Access point selection
    • H04W48/18Selecting a network or a communication service
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies

Definitions

  • Wireless communication technologies have seen dramatic improvements over the past years, increasing number of today's mobile users carry multipie mobile devices, each of the devices being equipped with a diverse set of communication or radio interfaces. Through these interfaces, the mobile devices can establish communications with each other, reach the internet, or access various data services through wireless networks.
  • Various devices such as internet-enabled tablets, smart phones, laptops, teievisions, and gaming consoles have become essentia! persona! accessories, connecting users to friends, work, and entertainment. Users now have more choices and expect to have the best possible access to alt devices, data, and content at all times.
  • the increased number of users that utilize wireless communication services stimulates service providers to offer improved communications options that can meet the increase in user demand, support the array of new services, and provide fast and reliable communication.
  • Figure 1 is a schematic diagram illustrating an example of a cloud- based connectivity system.
  • Figure 2 is a schematic diagram illustrating an example of a computing device of the cloud-based connectivity system of Figure 1.
  • Figure 3 is a flow chart illustrating an example of a cioud-based connectivity method.
  • Figure 4 is a flow chart showing an example of a method for determining an optimal network topology.
  • Figure 5 illustrates an example of a connectivity graph.
  • Figure 8 illustrates a flow chart showing an example of a method for determining and evaluating available topologies.
  • mobile device and “wireless device” may be used interchangeably and refer to any one of various smart-phones (e.g., Samsung Galaxy®), cellular telephones, tablets, (e.g., iPAD® ⁇ , laptop computers, persona! data assistants (PDA's), VoIP phones, wireless enabled televisions, wireless enabied entertainment systems, and other similar electronic devices that include a processor and are capable of sending and receiving wireless or wired communication signals.
  • smart-phones e.g., Samsung Galaxy®
  • tablets e.g., iPAD® ⁇
  • laptop computers e.g., persona! data assistants (PDA's)
  • VoIP phones e.g., VoIP phones, wireless enabled televisions, wireless enabied entertainment systems, and other similar electronic devices that include a processor and are capable of sending and receiving wireless or wired communication signals.
  • the term "communication interface” refers to various protocols available to any of the wireless devices to communicate with each other and with a network.
  • the communications interface may include Wi-Fi, Bluetooth, 3G, 4G, and any other comparable communications interfaces.
  • Users can own and carry a variety of wireless devices at any given time. For example, many users carry and may use a smart-phone, a tablet, and a laptop computer at the same time. Each of these wireiess devices has at least one communication interface that is used to connect with other wireless devices, to the internet, or to any other network. In one example, a user may have a smart-phone and a tablet, where both devices have Wi-Fi, Bluetooth, and 3G capabilities. Because of this diversity (i.e., each user has many wireiess devices with different communication interfaces), the possible ways in which these wireless devices can establish connections in a network topology has increased exponentially.
  • a network topology represents a schematic description of the arrangement of a network, including its nodes (e.g., representing the wireiess devices) and edges or connecting iines (i.e., representing the communication links).
  • nodes e.g., representing the wireiess devices
  • edges or connecting iines i.e., representing the communication links.
  • the physical topology of a network is the actual geometric layout of the nodes (e.g., point to point, bus, star, ring, etc.), while the togica! topology refers to the way that the data passes through the network from one device to the next without regard to the physical interconnection of the devices.
  • the proposed controi system receives context information from each of the wireless devices that be!ong to the same user.
  • the context information may include location of the wireless devices at a specific time, battery level, battery charge time, power charge and discharge rate, bandwidth consumption, content consumption latency, data consumption of the device, available access points, and other similar information.
  • the system stores the context information in a memory. Further, the proposed system predicts future consumptio patterns for each of the devices by using the received and stored context information.
  • the system then creates a connectivity representation for the plurality of wireless devices with the received context information, the future consumption patterns, and informatio about available network connections. Finally, the system determines the optima! network topoiogy for the group of wireless devices at any given time and location. The system may aiso send control signals to the user's wireless devices in order to implement the optima! topology.
  • the goat of the proposed system is to utilize a c!oud-based controller to allow a user that operates a grou of wireless devices to achieve the best possible connectivity throug an optimal allocation of the devices'
  • the created optimal network topology provides battery conservation of the devices, improves the management of their data plans, and improves bandwidth provisioning for each device.
  • Using the controi system to determine the optima! network topology of a group of wireless devices provides a resilient and an efficient connectivity solution for each user. This also eliminates the need for the user or each mobile device to decide how to efficiently connect to a network.
  • FIG. 1 is a schematic illustration of an example of a c!oud-based connectivity controi system 20.
  • the system 20 includes a plurality of wireless devices 30, a plurality of wireless access points 40A-C connected to the wireless devices 30 and to a network 50, and a computing device 60.
  • the computing device 80 is in communication with the wireiess devices 30 via the network 50 and the access points 40A-C.
  • the wireless devices 30 belong to or are operated by the same user (not shown) to a!iow the user to communicate with other users and/or transfer various information via the devices 30.
  • the wireiess devices 30 include a tablet 32, a laptop computer 34, and a smart-phone 36.
  • the user can own or operate different wireless devices (e.g., cellular telephone, PDA, wireless television, wireless entertainment systems, and other similar wireiess devices).
  • Each of the wireless devices 30 includes communication interfaces that are used to connect with the other wireiess devices or to the network 50.
  • the communication interfaces of the wireless devices 30 may include a Wi-Fi interface, a Bluetooth: interface, a 3G interface, a 4G interface, a near filed communication (NFC) interface, and any other suitable interface.
  • the wireless access points 40A-C may include any type of access point that aiiows a communication between the wireiess devices 30 and the network 50.
  • the wireiess access points of the system 20 include a 3G tower 4QA, a Wi-Fi access point 40B, and a 4G tower 40C. in alternative examples, the system 20 can include other suitable access points.
  • Each access point 30 has an associated coverage area (not shown), it is to be understood that the various access points may have different power levels, and consequently may have different coverage areas,
  • the network 50 is configured to connect the computing device 60 and the wireiess devices 30 so the computing device 60 can transmit control stgnais to the wireiess devices 30 via the cloud.
  • the network 50 may include any suitable type or configuration of network to ailow the computing device 60 to communicate with the wireiess devices 30 or other wireiess devices (not shown).
  • the network 50 may include wide area network ("WAN") (e.g., a TCP/IP based network, a ceSiuiar network, such as, for example, a G!oba!
  • GSM Global System for Mobile Communications
  • GPRS General Packet Radio Service
  • CDMA Code Division Multiple Access
  • EV-DO Evolution-Data Optimized
  • EDGE Enhanced Data Rates for GSM Evolutio
  • 3GS 3GS network
  • 4GSM 4GSM network
  • DECT Digital Enhanced Cordless Telecommunications
  • DET Digital AMPS
  • 1S-136 TDMA Digital AMPS
  • Integrated Digital Enhanced: Nework (1DEN) nework etc.
  • the nework 50 can further include a local area network (“LAN”), a neighborhood area nework (“NAN”), a home area network (“HAN”), a personal area nework (“PAN”), a public switched telephone network (“PSTN”), an Intranet, the Internet, or any other suitable nework.
  • LAN local area network
  • NAN neighborhood area nework
  • HAN home area network
  • PAN personal area nework
  • PSTN public switched telephone network
  • Intranet the Internet, or any other suitable nework.
  • the computing device 60 provides control signals that control the operation of the wireless devices 30. That way, the computing device 60 can control the connectivity of the various wireless devices 30 via the cloud (i.e., the nework 50).
  • the computing device 60 analyzes information related to the group of mobile devices 30 that have different communication interfaces. As described in additional detail below, the computing device 60 implements various methods to determine an optimal nework topology for the group of devices owned or operated by the same user. Further, the computing device 60 may send control signals to the wireless devices 30 to implement the determined optimal topology.
  • FIG. 2 is a schematic diagram illustrating an example of the computing device 60 of the system 20.
  • the computing device 60 can be a server, a desktop computer, a laptop, or any other suitable device configured to carry out communication with the wireless devices 30 via the nework 50.
  • the device 60 may include a processor 102 (e.g., a central processing unit, a microprocessor, a microcontroller, or another suitable programmable device); and a memory 110.
  • a processor 102 e.g., a central processing unit, a microprocessor, a microcontroller, or another suitable programmable device
  • Each of these components is operativeiy coupled to a bus 112.
  • the bus 112 can be an EISA, a PCI, a USB, a FireWire, a NuBus, or a PDS.
  • the computing device 60 includes additional, fewer, or different components for carrying out similar functionality described herein.
  • the processor 102 includes a control unit 120 that may be
  • Trie memory 110 includes any suitable type, number, and configuration of volatile or non-transitory machine-readable storage media to store instructions and data. Examples of machine-readable storage media in trie memory 110 include read-only memory (“ROM”), random access memory (“RAM”) (e.g., dynamic RAM ["DRAM”], synchronous DRAM f SDRAM”], etc.), electrically erasable programmable read-oniy memory (“EEPRO "), flash memory, hard disk, an SD card, and other suitable magnetic, optical, physical, or electronic memory devices, among others.
  • ROM read-only memory
  • RAM random access memory
  • EEPRO electrically erasable programmable read-oniy memory
  • flash memory hard disk, an SD card, and other suitable magnetic, optical, physical, or electronic memory devices, among others.
  • the computer memory 1 10 may also store an operating system 114, such as Mac OS, MS Windows, Unix, or Linux; network applications 116; a connectivity module 118; and a user account module 122.
  • the operating system 114 can be multi-user, multiprocessing, multitasking, muitithreading, and real-time.
  • the operating system 114 can also perform basic tasks such as recognizing input from input devices, such as a keyboard, a keypad, or a mouse; sending output to the wireless devices; keeping track of flies and directories on medium 110; controlling peripheral devices, such as disk drives, printers, image capture device; and managing traffic on the bus 112.
  • the network applications 116 include various components for establishing and maintaining network connections, such as computer-readable instructions for implementing communication protocols including TCP/IP, HTTP, Ethernet, USB, FireWire, etc.
  • the connectivity moduie 118 provides various computer-readable instruction components for determining a plurality of network connectivity options for the wireless devices 30 and selecting an optimal network topology. As described in additional detail Anlagenow, in one example, the connectivity moduie 118 uses context information from the wireless devices 30, future consumption patterns for the devices 30, and informatio about available network
  • the connectivity module 118 selects an optimal network topology for the plurality of wireless 30 devices from the determined plurality of network connectivity options.
  • the user account module 122 provides instructions that allow a user to register a plurality of wireless devices 30 with the system 20. That way, the system 20 recognizes the devises 30 that belong to the same user and can determine the optimal network topology for these devices at any give time.
  • a user creates a user account ⁇ i.e., a profile) by providing personal information to the system 20 via a user interface (not shown).
  • a user may enter the information via the user interface of one of the wireless devices 30 or a user interface connected to the computing device 60.
  • the user registers the plurality of wireless devices associated with that user by providing information about each device (e.g., device type, model number, etc.). At any time, the user can update his or her account by adding or removing devices 30.
  • the machine-readable storage media are considered to be an article of manufacture or part of a article of manufacture.
  • An article of manufacture refers to a manufactured component.
  • Software stored on the machine-readable storage media and executed by the processor 102 includes, for example, firmware, applications, program data, filters, rules, program modules, and other executable instructions.
  • the control unit 120 is configured to retrieve from the machine-readable storage media and execute, among other things, instructions related to the control processes and methods described herein.
  • the memory 110 includes a data acquisition module ("DAQ" ) 205, a data logger or recorder 215, a datacenter 230, and a reports database 245.
  • the DAG module 205 is configured to receive context information from the wireless devices 30.
  • the DAG module 205 acquires the following context information for each device 30: location of the wireless device at a specific time, current battery level, battery charge time, average power charge and discharge rate, average bandwidth consumption, average content consumption latency, average data consumption of the device, available access points, and other similar information related to the operation of each device 30.
  • the DAQ module 205 receives context information from the wireless devices 30 at predetermined time periods, in some examples, context information from the wireiess devices 30 is obtained every week (e.g., Monday- Sunday), where the week may be subdivided into smaller time periods (e.g., 6 hours, 2, hours, 1 hour, 30 minutes, 15, minutes, 10 minutes, 5 minutes, etc.). in other examples, the time periods for obtaining context information can be based on hour, time of day, day, week, month, etc., or a combination of the above. During each time period , the DAQ receives information about the iocation of the wireless devices 30 along with the other context information described above (e.g., via the network 50). Alternatively, the DAQ module 205 can also receive other type of information from the wireless devices 30 or any other devices or system (not shown) that are in communication with the computing device 60.
  • the time periods for obtaining context information can be based on hour, time of day, day, week, month, etc., or a combination of the above.
  • the DAQ module can acquire context information from the wireless devices 30 for a plurality of different time periods.
  • the information gathered by the DAQ module 205 is provided to the data logger or recorder 215.
  • the data logger or recorder 215 is configured to store the information in the datacenter 230 for further storage and processing.
  • the datacenter 230 is included in the memory 1 10 of the computing device 60.
  • the datacenter 230 is a remote datacenter (i.e., not iocated in the computer 60).
  • the data logger or recorder 215 provides the information through a network (e.g., the network 50) to the datacenter 230.
  • the datacenter 230 stores the information received from the data iogger or recorder 215. Then, the processor 102 of the computing device 60 generates a plurality of data frames 250 based on the processed information from the data logger 215. In one example, each data frame 250 includes context information related to the devices 30 for one predetermined time period. As described in additional detail below, the processor 102 analyses the data frames 250 to predict future consumption patterns for the devices 30. The data frames 250 can be compiled and outputted to the reports database 245 for storage.
  • the datacenter 230 or the reports database 245 do not include any current context information (i.e., data frames 250) for the new device, in that situation, when the user enters the new device into the system 20, the user selects a device class and model from a predetermined list of classes and devices stored in the memory 110.
  • the list may include different types of devices (e.g., smart-phone, laptop, etc.) and a specific make and model (e.g., Samsung Gaiaxy S3®) of the device within each class.
  • the selected device class and model is associated with default data 270 related to the specific new wireless device 30. This default data 270 may be stored in the datacenter 230 and is automatically retrieved from the control unit 120 when a user selects a device 30.
  • the default data 270 includes predetermined context information for a device or class of devices.
  • the default data may include a power profile for each new device. All devices consume energy at a different rate. Some devices have screens that consume more power than others, and some devices have better battery life than others.
  • the energy profile for a new device can be determined via crowdsourcing. If no profile is available for the new device, an available profile that more closely matches the device specifications may be used by the computing device 60.
  • the control unit 120 initially uses the default data 270 to perform the methods described below and to determine the optimaf topology of the user's devices. After the initial registration, the computing device 60 starts collecting context information from the new device 30 in the manner described above. Thus, any new device goes through a "warm up" period: during which the computing device 60 uses the defauit data 270 while acquiring current context information for the new device 30.
  • the information and data stored in the data frames 250 and the information in the default data 270 can be accessed by the computing device 60 for processing and analysis.
  • the computing device 60 is configured to process and analyze the stored information to determine future consumption patterns for each of the plurality of wireless devices 30 and to determine an optima! network topology for the user's devices 30.
  • Figure 3 illustrates a flow chart showing an exampie of a cloud-based connectivity method 300.
  • the method 300 can be executed by the control unit 120 of the processor 102.
  • Various steps described herein with respect to the method 300 are capable of being executed simultaneously, in parallel, or in an order that differs from the illustrated serial manner of execution.
  • the method 300 is also capable of being executed using additional or fewer steps than are shown in the illustrated exampie.
  • the method 300 begins in step 305.
  • the control unit 120 receives context information from the wireless devices 30.
  • context information One example for receiving context information from the devices 30 and generating the data frames 250 from the received information was described in the preceding paragraphs in relation to the operation of the computing device 60.
  • the control unit 120 determines future consumption patterns for each of the devices 30 that belong to the same user.
  • the control unit 120 uses the generated data frames 250 and/or the defauit data 270 to determine the future consumption patterns of the devices 30.
  • the data frames 250 may include information about: location of the wireless device at a specific time, current battery ievei, battery charge time, power charge and discharge rate, bandwidth consumption, content consumption latency, and data consumption of the device for a specific time period (e.g., 2 hours, 12 hours, etc.).
  • the control unit 120 By using information from the data frames 250 (or from the default data 270 when the device is new), the control unit 120 generates the future consumption patterns that may include predictions about the remaining battery ievei, the remaining data capacity, bandwidth capacity, and content consumption latency of each device 30 at the end of each predetermined time period. In addition, by using information about the battery charge time and the location of the device, the control unit may also determine the next time when a charging source is available.
  • the data frames 250 may inciude information related to specific energy, data, and service characteristics of the devices 30 for a specific time period.
  • the processor 102 analyses the context information received from the devices 30 and identifies the necessary data to determine future consumption patterns that make predictions related to the future use of the devices. For example, if a user charges a device at nine pm on a Monday, at a location X, three weeks in a row, location X is identified as a location with high likelihood as having a charging source. Also, the time nine pm on a Monday is identified as a time when the device is likely to be charged by a specific amount (e.g., 75% of the battery). Similarly, if a user watches video on a Thursday at eight am for two consecutive weeks, the location (e.g., the commuter train) is flagged with high likelihood to drain battery resources, and also with high likelihood of energy consumption.
  • a specific amount e.g., 75% of the battery
  • the processor 102 is also configured to use the data in the data frames 250 to calculate and predict approximate energy consumption of the devices.
  • the data frames 250 can provide information that during one month a user utilizes 150 joules ("J") of energy three out of four Tuesdays at nine pm and the fourth Tuesday he or she uses only 50 J. Therefore, the processor 102 can predict that for this time period, a user consumes an average of 125 J based of the four readings.
  • the processor can perform similar analysis for bandwidth consumption, content consumption latency, and data consumption: of the devices based on the information in the data frames.
  • the control unit 120 can apply various probabilistic techniques to generate the future consumption patterns for each device 30.
  • the control unit 120 may subtract the values between the data frames 250 following the current time of the day.
  • the controi unit 120 may use Markov model calculations to generate the future consumption patterns.
  • the control unit 120 may also use any other temporal differentiation learning method.
  • the control unit 120 determines an optimal network topology using the consumption patterns, the received context information (i.e., data frames 250), and information about the available network connections of the devices 30. As explained in additional details below, in one example, the control unit 120 determines a plurality of network connectivity options (i.e., topologies) for the wireless devices 30. In particular, the control unit 120 is configured to create a connectivity representation that includes the devices 30 and the available connectivity options between the devices 30. The controi unit 120 then evaluates all available topologies based o specific requirements (e.g., data consumption, power, bandwidth, connectivity, etc.) to determine the optimal network topology.
  • a plurality of network connectivity options i.e., topologies
  • An optima! network topology for the devices 30 eliminates data overage charges and balances the energy consumed during network
  • step 325 the control unit determines whether the optima! topology is currently applied to the devices 30 in the system 20. If the optimal topology is currently applied to the devices 30, the method 300 returns to step 310, where the control unit 120 continues to receive context information from the wtreiess devices 30 and steps 310-325 are performed again. If, however, the optimal topology is not currently applied to the devices 30, the control unit 120 issues connectivity commands to each wireless device 30 based on the determined network optima! topology to implement that desired topology.
  • the control unit 120 issues connectivity commands to each wireless device 30 based on the determined network optima! topology to implement that desired topology.
  • Figure 4 illustrates a flow chart showing an example of a method 400 for determining an optima! network topology.
  • the method 400 can be executed by the control unit 120 of the processor 102.
  • Various steps described herein with respect to the method 400 are capable of being executed simultaneously, in parallel, or in an order that differs from the illustrated serial manner of execution .
  • the method 400 is aiso capable of being executed using additional or fewer steps than are shown in the illustrated example.
  • the method 400 begins in step 405, where the control unit 120 creates a connectivity representation for the devices 30.
  • the method 400 will be described by using the example graph G.
  • the connectivity representation can include a table, a diagram, a chart, or any other type of representation that represents the devices 30 that are owned or operated by the same user and the available connectivity options between the devices 30.
  • the graph G represents the user's devices 30 and their means to connect to each other and to a network (e.g., the network 50).
  • the graph G includes a plurality of vertices V and edges E. Each vertex represents a wireless device 30 that beiongs to the specific user and has at least one communication interface (e.g., Wi-Fi, Bluetooth, 3G, 4G, etc.).
  • the devices in the graph G include the user's wireless devices 30 ⁇ i.e., the tablet 32, the laptop 34, and the smart- phone 36), the access points 4QA and 40B, and the computing device 60 in the cloud (i.e., the network 50).
  • Each edge £ (u,v) represents a potential network connection between a source u (e.g., a smart phone 36) and a provider v (e.g., 3G access point).
  • the direction of each edge E always flows from the source u towards the computing device 60, and in consequence, the network 50.
  • each edge E flows from a source u towards an access point or another device that may act as an access point to ai!ow the source to connect to the network 50 and the computing device 60.
  • Each mobile device vertex includes information about the resources of the device 30: the remaining energy, the remaining capacity of the data plan, the required bandwidth and latency of running applications, and potentially any other data associated with the resources of the device. In one example, that information may be retrieved from the data frames 250. Alternatively, that information can be directly sent from a device 30 to the computing device 60.
  • Each edge E is annotated with the consumption requirements for each mobile device 30 involved in the connection. These requirements may include the following: the energy consumed, the amount of mobile data used, the content consumption latency incurred in the transfer, and the bandwidth provided by the edge.
  • each edge E includes a connection attribute that has a value of 1 for an active network connection edge and a value of 0 for a disabled network connection edge.
  • the edge also includes the generated consumptio patterns to be achieved at the end of the time period for each device v.
  • the edge includes a prediction of the remaining energy in a vertex v and a predication of the remaining capacity of the data plan in the vertex v.
  • the control unit 120 uses information from the data frames 250 (or from the default data 270 when the device is new to the system), the generated future consumption patterns, and information about avaiiabie network connections of the devices to create the connectivity graph G.
  • the connectivity graph identifies all the possible ways in which the devices 30 owned or operated by the same user can be connected.
  • the network connections shown in in Figure 5 inciude: Wi-Fi connection, 3G connection, Bluetooth connection, and a network connection to the computing device 60.
  • ail of the devices 30 have access to the network 50 and the computing device 60 via a 3G connection, a Wi-Fi connection, or a Bluetooth communication interface that can be used for direct peer-to-peer communication between the devices 30.
  • not aii devices 30 may have direct connection to the network 50.
  • a device with a Wi-Fi communication interface but without a 3G communication interface cannot reach the network 50 if there is no Wi-Fi access point accessible to thai device, in that situation, the control unit 120 of the system 20 implements a bootstrap policy including an automatic tethering operation to enable such devices to reach the network 50 and the computing device 60 through one of the other devices that can access it.
  • the bootstrap policy guarantees connectivity for ail devices 30 in the system 20 as iong as at least one of the devices 30 can reach the network 50 through its own communication interfaces and has available resources to allow the other devices 30 to connect to the computing device 60 through it.
  • a device 30 joins the system 20 (i.e., when is registered by a user), that device is registered in the cloud with the computing device 60.
  • the computing device 60 coordinates ail the devices 30 owned by the same user and included in the user's account.
  • the computing device 60 sends to the new device 30 the necessary credentials to access the connectivity services provided by the other devices 30 within the user's account.
  • These credentials may include, for example, a service set identification ("SSiD") and password used by the access points connected to the other devices 30.
  • SiD service set identification
  • any device 30 within the user's account can tether via the other devices 30 without requiring an explicit command of the computing device 60.
  • the control unit 120 automatically sends instructions to the device to attempt to connect to the computing device 80 through any known or open Wi-Fi access point (including tethering through other devices within the user ' s account). If the device 30 is not able to reach the computing device 60 through the available Wi-Fi resources, it attempts to connect using its 3G communication interface. Finally, if the 3G communication interface is aiso unavaiiabie, the device 30 attempts to reach the computing device 80 via another device 30 sharing a network (e.g., the Internet) through Bluetooth, if additional network interfaces are available (e.g., Ethernet, etc. ), the device 30 may aiso attempt to connect via these network interfaces.
  • a network e.g., the Internet
  • additional network interfaces e.g., Ethernet, etc.
  • the device 30 if none of these connections are available, the device 30 remains disconnected and periodically attempts to connect again. This situation only occurs when no device in the user's account are abie to connect to the network. As Song as there is at ieast one other device 30 with connectivity to the network and additional network connections to share, there is at ieast one device 60 ready to provide internet connectivity to at! device in the system 20.
  • the control unit 120 determines and evaluates the available topologies (or the different network connectivity options) for the wireless devices 30 based on the generated connectivity graph G.
  • One specific method for determining and evaluating the available topologies is described in Figure 6. As described in additional detail be!ow, in one example, the method of Figure 6 eliminates topologies that do not meet specific requirement and stores the remaining topoiogies in a table in the memory 110.
  • the controi unit 120 analyzes the remaining topologies in order to determine the optima! network topology.
  • the control unit 12 sorts the topoiogies from the created database by their bandwidth and latency characteristics. The controi unit searches for the topology with the best possible service parameters.
  • the service requirement relate to topoiogies that provide largest bandwidth and the lowest content consumption latency.
  • the control unit 120 determines whic topology provides the largest bandwidth and the lowest latency for the devices 30 and selects it as the optimal network topology, in addition, the control unit 120 may also analyze the "cost" of selecting a topology ⁇ I.e., predicted consumption resulted from selecting a topology, described in more detail below) to decide what is the optimal topology.
  • Figure 8 illustrates a flow chart showing an example of a method 600 for determining and evaluating available topologies for the wireless devices 30.
  • the method 600 can be executed by the control unit 120 of the processor 102.
  • Various steps described herein with respect to the method 600 are capable of being executed simultaneously, in parallel, or in an order that differs from the illustrated serial manner of execution.
  • the method 600 is also capabie of being executed using additional or fewer steps than are shown in the illustrated example.
  • the method 600 begins in step 605, where the control unit 120 determines all possible topologies or ne work connectivity options for the user's devices 30 based on the connectivity representation or graph G.
  • the control unit 120 selects a topology n from the generated topologies for evaluation.
  • each topology is evaluated by exploring the connectivity graph G in a depth first order. Evaluation of the topology is performed once for each of the devices or vertices 30, using each device as a source, in other examples, other algorithms for exploring the connectivity graph G and generating available topologies can be used.
  • the control unit 120 selects a device from the selected topology n to begin the evaluation of the topology.
  • the control unit 120 evaluates the resources of the selected device (e.g., the remaining energy, the remaining capacity of the data pian, the required bandwidth and latency of running applications, etc.) to determine whether these resources are sufficient to satisfy the requirements of the device based on the expected consumption patterns (at step 620).
  • the control unit 120 considers the resources used by the device that is already connected to the network, if the resources of the device 30 are insufficient, the control unit 120 disregards that topology and selects the next topology for evaluation.
  • the control unit 120 determines whether the selected device can reach the network 50 based on the information from the connectivity graph (at step 625). If the device is not abie to reach the network, the contro! unit 120 disregards that topology and selects a new topology. If the device connects to a network, the control unit 120 proceeds with evaluating the topology by determining if there is another device (at step 630).
  • the control unit 120 By evaluating the resources for each device in a topology, the control unit 120 eliminates topologies thai do not meet energy and data service requirements.
  • the energy requirements reiate to balancing the energy consumed by ail the devices 30 in the evaluated topo!ogy to attempt to keep all devices available for the longest possible time.
  • the data requirements relate to eliminating data coverage for ail devices in the evaluated topology.
  • Steps 620-630 are repeated for all devices 30 in the selected topology. If the evaluated topology meets the resource requirements, it is annotated with a "costs" of choosing that topology.
  • the control unit 120 determines the cost for choosing a topology by performing a computational analysis related to the future use of the topology. In one example, the control unit assumes that the topologies with the highest probabiiities of being used are the ones that wili indeed be applied.
  • the control unit 120 analyzes the context from the data frames 250 and the future consumption patterns to determine the next time a device is charged (i.e., for energy) and the next time a data plan is refreshed (i.e., for mobile data).
  • topology X has a cost of Xi joules for the time period i.
  • the control unit 120 determines that the context requirements (e.g., mobile devices, available access points, etc.) wili not change enough to cause a topology change for the next ten time periods.
  • the controi unit 120 evaluates the system by looking at a number of time periods (e.g. : 10 time periods) ahead and assuming topology X is heSd, The controi unit 120 computes the cost for the next ten time periods Xi, Xj, Xk... etc. Once this computation is completed, the controi unit 120 annotates the topology with the predicted consumption resulted from selecting it (i.e., the cost) and that is iater used to decide what is the best topology.
  • the context requirements e.g., mobile devices, available access points, etc.
  • the control unit After a!i devices in a topology are evaluated, at step 635 the control unit stores the topology in a database (e.g., in the memory 110). The control unit then determines whether there are more topoiogies that need to be evaluated ⁇ at step 840). if there are more topologies avai!abie for evaluation, the control unit evaluates these topoiogies as described above, if there are no more topologies, the controi panel 120 moves to step 420 of the method 400 and determines the optimal network topology for the devices as described above.
  • a database e.g., in the memory 110
  • the control unit determines whether there are more topoiogies that need to be evaluated ⁇ at step 840). if there are more topologies avai!abie for evaluation, the control unit evaluates these topoiogies as described above, if there are no more topologies, the controi panel 120 moves to step 420 of the method 400 and determines the optimal network topology
  • cloud-based connectivity system 20 advantageously allows for automatically determining of optimal network topology for a plurality of devices. Further, the described system prevents a user form exceeding an allocated data plan, keeps ail devices powered for the iongest possibie time, and provides the best possibie bandwidth and the lowest content consumption latency for ail devices.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

A cloud-based connectivity system. The system includes a plurality of wireless devices and a computing device connected to at least one of the wireless devices. The computing device includes a control unit to receive context information from each of the plurality of wireless devices, to determine future consumption patterns for each of the plurality of wireless devices by using the received context information, to create a connectivity representation for the plurality of wireless devices, and to determine an optimal network topology for the plurality of wireless devices.

Description

CLOUD-BASED CONNECTIVITY
Background
[0001] Wireless communication technologies have seen dramatic improvements over the past years, increasing number of today's mobile users carry multipie mobile devices, each of the devices being equipped with a diverse set of communication or radio interfaces. Through these interfaces, the mobile devices can establish communications with each other, reach the internet, or access various data services through wireless networks. Various devices such as internet-enabled tablets, smart phones, laptops, teievisions, and gaming consoles have become essentia! persona! accessories, connecting users to friends, work, and entertainment. Users now have more choices and expect to have the best possible access to alt devices, data, and content at all times. The increased number of users that utilize wireless communication services stimulates service providers to offer improved communications options that can meet the increase in user demand, support the array of new services, and provide fast and reliable communication.
Brief Description of the Drawings
[0002] Figure 1 is a schematic diagram illustrating an example of a cloud- based connectivity system.
[0003] Figure 2 is a schematic diagram illustrating an example of a computing device of the cloud-based connectivity system of Figure 1.
[0004] Figure 3 is a flow chart illustrating an example of a cioud-based connectivity method.
[0005] Figure 4 is a flow chart showing an example of a method for determining an optimal network topology.
[0006] Figure 5 illustrates an example of a connectivity graph. l [0007] Figure 8 illustrates a flow chart showing an example of a method for determining and evaluating available topologies.
Detailed! Description
[0008] in the following detailed description, reference is made to the accompanying drawings, which form a part hereof, and in which is shown by way of illustration specific examples in which the disclosed subject matter may be practiced. St is to be understood that other examples may be utilized and structural or iogical changes may be made without departing from the scope of the present disclosure. The following detailed description, therefore, is not to be taken in a limiting sense, and the scope of the present disclosure is defined by the appended claims. Also, it is to be understood that the phraseology and terminology used herein is for the purpose of description and should not be regarded as limiting. The use of "including," "comprising" or "having" and variations thereof herein is meant to encompass the items listed thereafter and equivalents thereof as well as additional items. It should a!so be noted that a plurality of hardware and software based devices, as well as a plurality of different structural components may be used to implement the disclosed methods and systems.
[0009] As used herein, the terms "mobile device" and "wireless device" may be used interchangeably and refer to any one of various smart-phones (e.g., Samsung Galaxy®), cellular telephones, tablets, (e.g., iPAD®}, laptop computers, persona! data assistants (PDA's), VoIP phones, wireless enabled televisions, wireless enabied entertainment systems, and other similar electronic devices that include a processor and are capable of sending and receiving wireless or wired communication signals.
[0010] As used herein, the term "communication interface" refers to various protocols available to any of the wireless devices to communicate with each other and with a network. In particular, the communications interface may include Wi-Fi, Bluetooth, 3G, 4G, and any other comparable communications interfaces. [00111 Users can own and carry a variety of wireless devices at any given time. For example, many users carry and may use a smart-phone, a tablet, and a laptop computer at the same time. Each of these wireiess devices has at least one communication interface that is used to connect with other wireless devices, to the internet, or to any other network. In one example, a user may have a smart-phone and a tablet, where both devices have Wi-Fi, Bluetooth, and 3G capabilities. Because of this diversity (i.e., each user has many wireiess devices with different communication interfaces), the possible ways in which these wireless devices can establish connections in a network topology has increased exponentially.
[0012] In communications networks that include severai wireiess devices, a network topology represents a schematic description of the arrangement of a network, including its nodes (e.g., representing the wireiess devices) and edges or connecting iines (i.e., representing the communication links). There are two main network topologies: a physical topology and a logical topology. The physical topology of a network is the actual geometric layout of the nodes (e.g., point to point, bus, star, ring, etc.), while the togica! topology refers to the way that the data passes through the network from one device to the next without regard to the physical interconnection of the devices.
[0013] it is generally inconvenient and challenging for a user to manually establish network connections betwee the various wireless devices he or she owns. The combination of several wireless devices owned or carried by a user can offer a number of possible different network topologies. Each different topology offers both benefits and disadvantages that can affect important attributes of each mobile device such as power consumption, data plan utilization, bandwidth usage, content consumption latency, and others. The benefits or the disadvantages of each possible network topology are often not obvious to a user and making an informed decision requires knowledge of the specific characteristics of each type of device and its communication interfaces. [0014] This description is directed to cloud-based connectivity controi systems and methods that analyze a group of wireless devices with different communication interfaces owned or operated by the same user to determine an optimal network topology for that grou of devices, in one example, the proposed controi system receives context information from each of the wireless devices that be!ong to the same user. The context information may include location of the wireless devices at a specific time, battery level, battery charge time, power charge and discharge rate, bandwidth consumption, content consumption latency, data consumption of the device, available access points, and other similar information. The system stores the context information in a memory. Further, the proposed system predicts future consumptio patterns for each of the devices by using the received and stored context information. The system then creates a connectivity representation for the plurality of wireless devices with the received context information, the future consumption patterns, and informatio about available network connections. Finally, the system determines the optima! network topoiogy for the group of wireless devices at any given time and location. The system may aiso send control signals to the user's wireless devices in order to implement the optima! topology.
[0015] The goat of the proposed system is to utilize a c!oud-based controller to allow a user that operates a grou of wireless devices to achieve the best possible connectivity throug an optimal allocation of the devices'
communicatio interfaces. The created optimal network topology provides battery conservation of the devices, improves the management of their data plans, and improves bandwidth provisioning for each device. Using the controi system to determine the optima! network topology of a group of wireless devices provides a resilient and an efficient connectivity solution for each user. This also eliminates the need for the user or each mobile device to decide how to efficiently connect to a network.
[0016] Figure 1 is a schematic illustration of an example of a c!oud-based connectivity controi system 20. The system 20 includes a plurality of wireless devices 30, a plurality of wireless access points 40A-C connected to the wireless devices 30 and to a network 50, and a computing device 60. The computing device 80 is in communication with the wireiess devices 30 via the network 50 and the access points 40A-C.
[0017] The wireless devices 30 belong to or are operated by the same user (not shown) to a!iow the user to communicate with other users and/or transfer various information via the devices 30. In the illustrated example, the wireiess devices 30 include a tablet 32, a laptop computer 34, and a smart-phone 36. In alternative examples, the user can own or operate different wireless devices (e.g., cellular telephone, PDA, wireless television, wireless entertainment systems, and other similar wireiess devices). Each of the wireless devices 30 includes communication interfaces that are used to connect with the other wireiess devices or to the network 50. The communication interfaces of the wireless devices 30 may include a Wi-Fi interface, a Bluetooth: interface, a 3G interface, a 4G interface, a near filed communication (NFC) interface, and any other suitable interface.
[0018] The wireless access points 40A-C may include any type of access point that aiiows a communication between the wireiess devices 30 and the network 50. In the illustrated example, the wireiess access points of the system 20 include a 3G tower 4QA, a Wi-Fi access point 40B, and a 4G tower 40C. in alternative examples, the system 20 can include other suitable access points. Each access point 30 has an associated coverage area (not shown), it is to be understood that the various access points may have different power levels, and consequently may have different coverage areas,
[0019] The network 50 is configured to connect the computing device 60 and the wireiess devices 30 so the computing device 60 can transmit control stgnais to the wireiess devices 30 via the cloud. The network 50 may include any suitable type or configuration of network to ailow the computing device 60 to communicate with the wireiess devices 30 or other wireiess devices (not shown). For example, the network 50 may include wide area network ("WAN") (e.g., a TCP/IP based network, a ceSiuiar network, such as, for example, a G!oba! System for Mobile Communications ("GSM") network, a General Packet Radio Service ("GPRS"} network, a Code Division Multiple Access ("CDMA") network, an Evolution-Data Optimized ("EV-DO") network, an Enhanced Data Rates for GSM Evolutio ("EDGE") network, a 3GS network, a 4GSM network, a Digital Enhanced Cordless Telecommunications ("DECT") network, a Digital AMPS ("1S-136 TDMA") nework, or an Integrated Digital Enhanced: Nework (1DEN") nework, etc.). The nework 50 can further include a local area network ("LAN"), a neighborhood area nework ("NAN"), a home area network ("HAN"), a personal area nework ("PAN"), a public switched telephone network ("PSTN"), an Intranet, the Internet, or any other suitable nework.
[0020] The computing device 60 provides control signals that control the operation of the wireless devices 30. That way, the computing device 60 can control the connectivity of the various wireless devices 30 via the cloud (i.e., the nework 50). In one example, the computing device 60 analyzes information related to the group of mobile devices 30 that have different communication interfaces. As described in additional detail below, the computing device 60 implements various methods to determine an optimal nework topology for the group of devices owned or operated by the same user. Further, the computing device 60 may send control signals to the wireless devices 30 to implement the determined optimal topology.
[0021] Figure 2 is a schematic diagram illustrating an example of the computing device 60 of the system 20. The computing device 60 can be a server, a desktop computer, a laptop, or any other suitable device configured to carry out communication with the wireless devices 30 via the nework 50. The device 60 may include a processor 102 (e.g., a central processing unit, a microprocessor, a microcontroller, or another suitable programmable device); and a memory 110. Each of these components is operativeiy coupled to a bus 112. For example, the bus 112 can be an EISA, a PCI, a USB, a FireWire, a NuBus, or a PDS. The computing device 60 includes additional, fewer, or different components for carrying out similar functionality described herein.
[0022] The processor 102 includes a control unit 120 that may be
implemented using any suitable type of processing system (not shown) with a processor configured to execute computer-readable instructions stored in trie memory 110. Trie memory 110 includes any suitable type, number, and configuration of volatile or non-transitory machine-readable storage media to store instructions and data. Examples of machine-readable storage media in trie memory 110 include read-only memory ("ROM"), random access memory ("RAM") (e.g., dynamic RAM ["DRAM"], synchronous DRAM f SDRAM"], etc.), electrically erasable programmable read-oniy memory ("EEPRO "), flash memory, hard disk, an SD card, and other suitable magnetic, optical, physical, or electronic memory devices, among others.
[0023] The computer memory 1 10 may also store an operating system 114, such as Mac OS, MS Windows, Unix, or Linux; network applications 116; a connectivity module 118; and a user account module 122. The operating system 114 can be multi-user, multiprocessing, multitasking, muitithreading, and real-time. The operating system 114 can also perform basic tasks such as recognizing input from input devices, such as a keyboard, a keypad, or a mouse; sending output to the wireless devices; keeping track of flies and directories on medium 110; controlling peripheral devices, such as disk drives, printers, image capture device; and managing traffic on the bus 112. The network applications 116 include various components for establishing and maintaining network connections, such as computer-readable instructions for implementing communication protocols including TCP/IP, HTTP, Ethernet, USB, FireWire, etc.
[0024] The connectivity moduie 118 provides various computer-readable instruction components for determining a plurality of network connectivity options for the wireless devices 30 and selecting an optimal network topology. As described in additional detail beiow, in one example, the connectivity moduie 118 uses context information from the wireless devices 30, future consumption patterns for the devices 30, and informatio about available network
connections to determine a plurality of network connectivity options. The connectivity module 118 selects an optimal network topology for the plurality of wireless 30 devices from the determined plurality of network connectivity options.
[0025] The user account module 122 provides instructions that allow a user to register a plurality of wireless devices 30 with the system 20. That way, the system 20 recognizes the devises 30 that belong to the same user and can determine the optimal network topology for these devices at any give time. During his or her first use of the system 20, a user creates a user account {i.e., a profile) by providing personal information to the system 20 via a user interface (not shown). A user may enter the information via the user interface of one of the wireless devices 30 or a user interface connected to the computing device 60. After creating an account, the user registers the plurality of wireless devices associated with that user by providing information about each device (e.g., device type, model number, etc.). At any time, the user can update his or her account by adding or removing devices 30.
[0026] The machine-readable storage media are considered to be an article of manufacture or part of a article of manufacture. An article of manufacture refers to a manufactured component. Software stored on the machine-readable storage media and executed by the processor 102 includes, for example, firmware, applications, program data, filters, rules, program modules, and other executable instructions. The control unit 120 is configured to retrieve from the machine-readable storage media and execute, among other things, instructions related to the control processes and methods described herein.
[0027] information and data associated with the system 20 and the wireless devices 30 can be stored, logged, processed, and analyzed to implement the control methods and processes described herein. For example, the memory 110 includes a data acquisition module ("DAQ" ) 205, a data logger or recorder 215, a datacenter 230, and a reports database 245. The DAG module 205 is configured to receive context information from the wireless devices 30. In one example, the DAG module 205 acquires the following context information for each device 30: location of the wireless device at a specific time, current battery level, battery charge time, average power charge and discharge rate, average bandwidth consumption, average content consumption latency, average data consumption of the device, available access points, and other similar information related to the operation of each device 30.
[0028] The DAQ module 205 receives context information from the wireless devices 30 at predetermined time periods, in some examples, context information from the wireiess devices 30 is obtained every week (e.g., Monday- Sunday), where the week may be subdivided into smaller time periods (e.g., 6 hours, 2, hours, 1 hour, 30 minutes, 15, minutes, 10 minutes, 5 minutes, etc.). in other examples, the time periods for obtaining context information can be based on hour, time of day, day, week, month, etc., or a combination of the above. During each time period , the DAQ receives information about the iocation of the wireless devices 30 along with the other context information described above (e.g., via the network 50). Alternatively, the DAQ module 205 can also receive other type of information from the wireless devices 30 or any other devices or system (not shown) that are in communication with the computing device 60.
[0029] The DAQ module can acquire context information from the wireless devices 30 for a plurality of different time periods. The information gathered by the DAQ module 205 is provided to the data logger or recorder 215. The data logger or recorder 215 is configured to store the information in the datacenter 230 for further storage and processing. In one example, the datacenter 230 is included in the memory 1 10 of the computing device 60. In another example, the datacenter 230 is a remote datacenter (i.e., not iocated in the computer 60). In that example, the data logger or recorder 215 provides the information through a network (e.g., the network 50) to the datacenter 230. [0030] The datacenter 230 stores the information received from the data iogger or recorder 215. Then, the processor 102 of the computing device 60 generates a plurality of data frames 250 based on the processed information from the data logger 215. In one example, each data frame 250 includes context information related to the devices 30 for one predetermined time period. As described in additional detail below, the processor 102 analyses the data frames 250 to predict future consumption patterns for the devices 30. The data frames 250 can be compiled and outputted to the reports database 245 for storage.
[0031] When a user registers a device for a first time or adds a new device to an existing account, the datacenter 230 or the reports database 245 do not include any current context information (i.e., data frames 250) for the new device, in that situation, when the user enters the new device into the system 20, the user selects a device class and model from a predetermined list of classes and devices stored in the memory 110. The list may include different types of devices (e.g., smart-phone, laptop, etc.) and a specific make and model (e.g., Samsung Gaiaxy S3®) of the device within each class. The selected device class and model is associated with default data 270 related to the specific new wireless device 30. This default data 270 may be stored in the datacenter 230 and is automatically retrieved from the control unit 120 when a user selects a device 30.
[0032] The default data 270 includes predetermined context information for a device or class of devices. For example, the default data may include a power profile for each new device. All devices consume energy at a different rate. Some devices have screens that consume more power than others, and some devices have better battery life than others. In one example, the energy profile for a new device can be determined via crowdsourcing. If no profile is available for the new device, an available profile that more closely matches the device specifications may be used by the computing device 60. [0033] When a new device 30 is registered with the system 20, the control unit 120 initially uses the default data 270 to perform the methods described below and to determine the optimaf topology of the user's devices. After the initial registration, the computing device 60 starts collecting context information from the new device 30 in the manner described above. Thus, any new device goes through a "warm up" period: during which the computing device 60 uses the defauit data 270 while acquiring current context information for the new device 30.
[0034] Therefore, the information and data stored in the data frames 250 and the information in the default data 270 can be accessed by the computing device 60 for processing and analysis. For exampie, the computing device 60 is configured to process and analyze the stored information to determine future consumption patterns for each of the plurality of wireless devices 30 and to determine an optima! network topology for the user's devices 30.
[0035] Figure 3 illustrates a flow chart showing an exampie of a cloud-based connectivity method 300. The method 300 can be executed by the control unit 120 of the processor 102. Various steps described herein with respect to the method 300 are capable of being executed simultaneously, in parallel, or in an order that differs from the illustrated serial manner of execution. The method 300 is also capable of being executed using additional or fewer steps than are shown in the illustrated exampie.
[0036] The method 300 begins in step 305. In step 310, the control unit 120 receives context information from the wireless devices 30. One example for receiving context information from the devices 30 and generating the data frames 250 from the received information was described in the preceding paragraphs in relation to the operation of the computing device 60.
[0037] Next, at step 315, the control unit 120 determines future consumption patterns for each of the devices 30 that belong to the same user. In one example, the control unit 120 uses the generated data frames 250 and/or the defauit data 270 to determine the future consumption patterns of the devices 30. As noted above, the data frames 250 may include information about: location of the wireless device at a specific time, current battery ievei, battery charge time, power charge and discharge rate, bandwidth consumption, content consumption latency, and data consumption of the device for a specific time period (e.g., 2 hours, 12 hours, etc.). By using information from the data frames 250 (or from the default data 270 when the device is new), the control unit 120 generates the future consumption patterns that may include predictions about the remaining battery ievei, the remaining data capacity, bandwidth capacity, and content consumption latency of each device 30 at the end of each predetermined time period. In addition, by using information about the battery charge time and the location of the device, the control unit may also determine the next time when a charging source is available.
[0038] As noted above, the data frames 250 may inciude information related to specific energy, data, and service characteristics of the devices 30 for a specific time period. The processor 102 analyses the context information received from the devices 30 and identifies the necessary data to determine future consumption patterns that make predictions related to the future use of the devices. For example, if a user charges a device at nine pm on a Monday, at a location X, three weeks in a row, location X is identified as a location with high likelihood as having a charging source. Also, the time nine pm on a Monday is identified as a time when the device is likely to be charged by a specific amount (e.g., 75% of the battery). Similarly, if a user watches video on a Thursday at eight am for two consecutive weeks, the location (e.g., the commuter train) is flagged with high likelihood to drain battery resources, and also with high likelihood of energy consumption.
[0039] The processor 102 is also configured to use the data in the data frames 250 to calculate and predict approximate energy consumption of the devices. For example, the data frames 250 can provide information that during one month a user utilizes 150 joules ("J") of energy three out of four Tuesdays at nine pm and the fourth Tuesday he or she uses only 50 J. Therefore, the processor 102 can predict that for this time period, a user consumes an average of 125 J based of the four readings. Using the data frames 250, the processor can perform similar analysis for bandwidth consumption, content consumption latency, and data consumption: of the devices based on the information in the data frames.
[0040] The control unit 120 can apply various probabilistic techniques to generate the future consumption patterns for each device 30. in one example, the control unit 120 may subtract the values between the data frames 250 following the current time of the day. In another example, the controi unit 120 may use Markov model calculations to generate the future consumption patterns. Alternatively, the control unit 120 may also use any other temporal differentiation learning method.
[0041] fn step 320, the control unit 120 determines an optimal network topology using the consumption patterns, the received context information (i.e., data frames 250), and information about the available network connections of the devices 30. As explained in additional details below, in one example, the control unit 120 determines a plurality of network connectivity options (i.e., topologies) for the wireless devices 30. In particular, the control unit 120 is configured to create a connectivity representation that includes the devices 30 and the available connectivity options between the devices 30. The controi unit 120 then evaluates all available topologies based o specific requirements (e.g., data consumption, power, bandwidth, connectivity, etc.) to determine the optimal network topology.
[0042] An optima! network topology for the devices 30 eliminates data overage charges and balances the energy consumed during network
communications between all the devices 30, by attempting to keep ait the devices 30 available until there is an opportunity to recharge them. Further, this optimal topology relives a user from the burden of choosing a connection topology that satisfies the previous two requirements while providing the appropriate quality of service (e.g. targe bandwidth and low latency). [0043] Next, in step 325, the control unit determines whether the optima! topology is currently applied to the devices 30 in the system 20. If the optimal topology is currently applied to the devices 30, the method 300 returns to step 310, where the control unit 120 continues to receive context information from the wtreiess devices 30 and steps 310-325 are performed again. If, however, the optimal topology is not currently applied to the devices 30, the control unit 120 issues connectivity commands to each wireless device 30 based on the determined network optima! topology to implement that desired topology.
[0044] Figure 4 illustrates a flow chart showing an example of a method 400 for determining an optima! network topology. The method 400 can be executed by the control unit 120 of the processor 102. Various steps described herein with respect to the method 400 are capable of being executed simultaneously, in parallel, or in an order that differs from the illustrated serial manner of execution . The method 400 is aiso capable of being executed using additional or fewer steps than are shown in the illustrated example.
[0045] The method 400 begins in step 405, where the control unit 120 creates a connectivity representation for the devices 30. An example of the connectivity representation in the form of a graph G = (V,E) is shown in Figure 5. The method 400 will be described by using the example graph G. However, it is to be understood that the connectivity representation can include a table, a diagram, a chart, or any other type of representation that represents the devices 30 that are owned or operated by the same user and the available connectivity options between the devices 30. In Figure 5, the graph G represents the user's devices 30 and their means to connect to each other and to a network (e.g., the network 50). The graph G includes a plurality of vertices V and edges E. Each vertex represents a wireless device 30 that beiongs to the specific user and has at least one communication interface (e.g., Wi-Fi, Bluetooth, 3G, 4G, etc.).
[0046] in the example shown in Figure 5, the devices in the graph G include the user's wireless devices 30 {i.e., the tablet 32, the laptop 34, and the smart- phone 36), the access points 4QA and 40B, and the computing device 60 in the cloud (i.e., the network 50). Each edge £ = (u,v) represents a potential network connection between a source u (e.g., a smart phone 36) and a provider v (e.g., 3G access point). The direction of each edge E always flows from the source u towards the computing device 60, and in consequence, the network 50.
Specifically, each edge E flows from a source u towards an access point or another device that may act as an access point to ai!ow the source to connect to the network 50 and the computing device 60.
[0047] Each mobile device vertex includes information about the resources of the device 30: the remaining energy, the remaining capacity of the data plan, the required bandwidth and latency of running applications, and potentially any other data associated with the resources of the device. In one example, that information may be retrieved from the data frames 250. Alternatively, that information can be directly sent from a device 30 to the computing device 60. Each edge E is annotated with the consumption requirements for each mobile device 30 involved in the connection. These requirements may include the following: the energy consumed, the amount of mobile data used, the content consumption latency incurred in the transfer, and the bandwidth provided by the edge. In addition, each edge E includes a connection attribute that has a value of 1 for an active network connection edge and a value of 0 for a disabled network connection edge. Finally, the edge also includes the generated consumptio patterns to be achieved at the end of the time period for each device v. For example, the edge includes a prediction of the remaining energy in a vertex v and a predication of the remaining capacity of the data plan in the vertex v.
[0048] Therefore, the control unit 120 uses information from the data frames 250 (or from the default data 270 when the device is new to the system), the generated future consumption patterns, and information about avaiiabie network connections of the devices to create the connectivity graph G. The connectivity graph identifies all the possible ways in which the devices 30 owned or operated by the same user can be connected. [0049] The network connections shown in in Figure 5 inciude: Wi-Fi connection, 3G connection, Bluetooth connection, and a network connection to the computing device 60. In the illustrated connectivity graph of Figure 5, ail of the devices 30 have access to the network 50 and the computing device 60 via a 3G connection, a Wi-Fi connection, or a Bluetooth communication interface that can be used for direct peer-to-peer communication between the devices 30.
[0050] In other examples, not aii devices 30 may have direct connection to the network 50. For example, a device with a Wi-Fi communication interface but without a 3G communication interface cannot reach the network 50 if there is no Wi-Fi access point accessible to thai device, in that situation, the control unit 120 of the system 20 implements a bootstrap policy including an automatic tethering operation to enable such devices to reach the network 50 and the computing device 60 through one of the other devices that can access it. By using this bootstrap policy, all devices 30 can reach the network 50 without initially receiving communication signais from the computing device 60. The bootstrap policy guarantees connectivity for ail devices 30 in the system 20 as iong as at least one of the devices 30 can reach the network 50 through its own communication interfaces and has available resources to allow the other devices 30 to connect to the computing device 60 through it.
[0051] When a device 30 joins the system 20 (i.e., when is registered by a user), that device is registered in the cloud with the computing device 60. The computing device 60 coordinates ail the devices 30 owned by the same user and included in the user's account. At the moment of registration, the computing device 60 sends to the new device 30 the necessary credentials to access the connectivity services provided by the other devices 30 within the user's account. These credentials may include, for example, a service set identification ("SSiD") and password used by the access points connected to the other devices 30. Through these credentials, any device 30 within the user's account can tether via the other devices 30 without requiring an explicit command of the computing device 60. [0052] in one example, when a device 30 starts, the control unit 120 automatically sends instructions to the device to attempt to connect to the computing device 80 through any known or open Wi-Fi access point (including tethering through other devices within the user's account). If the device 30 is not able to reach the computing device 60 through the available Wi-Fi resources, it attempts to connect using its 3G communication interface. Finally, if the 3G communication interface is aiso unavaiiabie, the device 30 attempts to reach the computing device 80 via another device 30 sharing a network (e.g., the Internet) through Bluetooth, if additional network interfaces are available (e.g., Ethernet, etc. ), the device 30 may aiso attempt to connect via these network interfaces.
[0053] if none of these connections are available, the device 30 remains disconnected and periodically attempts to connect again. This situation only occurs when no device in the user's account are abie to connect to the network. As Song as there is at ieast one other device 30 with connectivity to the network and additional network connections to share, there is at ieast one device 60 ready to provide internet connectivity to at! device in the system 20.
[0054] Next, in step 410, the control unit 120 determines and evaluates the available topologies (or the different network connectivity options) for the wireless devices 30 based on the generated connectivity graph G. One specific method for determining and evaluating the available topologies is described in Figure 6. As described in additional detail be!ow, in one example, the method of Figure 6 eliminates topologies that do not meet specific requirement and stores the remaining topoiogies in a table in the memory 110. In step 420, the controi unit 120 analyzes the remaining topologies in order to determine the optima! network topology. In one example, the control unit 12 sorts the topoiogies from the created database by their bandwidth and latency characteristics. The controi unit searches for the topology with the best possible service parameters. The service requirement relate to topoiogies that provide largest bandwidth and the lowest content consumption latency. After the topoiogies are sorted, in step 425, the control unit 120 determines whic topology provides the largest bandwidth and the lowest latency for the devices 30 and selects it as the optimal network topology, in addition, the control unit 120 may also analyze the "cost" of selecting a topology {I.e., predicted consumption resulted from selecting a topology, described in more detail below) to decide what is the optimal topology.
[0055] Figure 8 illustrates a flow chart showing an example of a method 600 for determining and evaluating available topologies for the wireless devices 30. The method 600 can be executed by the control unit 120 of the processor 102. Various steps described herein with respect to the method 600 are capable of being executed simultaneously, in parallel, or in an order that differs from the illustrated serial manner of execution. The method 600 is also capabie of being executed using additional or fewer steps than are shown in the illustrated example.
[0056] The method 600 begins in step 605, where the control unit 120 determines all possible topologies or ne work connectivity options for the user's devices 30 based on the connectivity representation or graph G. Next, at step 610, the control unit 120 selects a topology n from the generated topologies for evaluation. In one example, each topology is evaluated by exploring the connectivity graph G in a depth first order. Evaluation of the topology is performed once for each of the devices or vertices 30, using each device as a source, in other examples, other algorithms for exploring the connectivity graph G and generating available topologies can be used.
[0057] In step 615, the control unit 120 selects a device from the selected topology n to begin the evaluation of the topology. The control unit 120 evaluates the resources of the selected device (e.g., the remaining energy, the remaining capacity of the data pian, the required bandwidth and latency of running applications, etc.) to determine whether these resources are sufficient to satisfy the requirements of the device based on the expected consumption patterns (at step 620). When evaluating each device, the control unit 120 considers the resources used by the device that is already connected to the network, if the resources of the device 30 are insufficient, the control unit 120 disregards that topology and selects the next topology for evaluation. If the resources of the device are sufficient, the control unit 120 determines whether the selected device can reach the network 50 based on the information from the connectivity graph (at step 625). If the device is not abie to reach the network, the contro! unit 120 disregards that topology and selects a new topology. If the device connects to a network, the control unit 120 proceeds with evaluating the topology by determining if there is another device (at step 630).
[0058] By evaluating the resources for each device in a topology, the control unit 120 eliminates topologies thai do not meet energy and data service requirements. In one example, the energy requirements reiate to balancing the energy consumed by ail the devices 30 in the evaluated topo!ogy to attempt to keep all devices available for the longest possible time. The data requirements relate to eliminating data coverage for ail devices in the evaluated topology.
[0059] Steps 620-630 are repeated for all devices 30 in the selected topology. If the evaluated topology meets the resource requirements, it is annotated with a "costs" of choosing that topology. The control unit 120 determines the cost for choosing a topology by performing a computational analysis related to the future use of the topology. In one example, the control unit assumes that the topologies with the highest probabiiities of being used are the ones that wili indeed be applied. The control unit 120 analyzes the context from the data frames 250 and the future consumption patterns to determine the next time a device is charged (i.e., for energy) and the next time a data plan is refreshed (i.e., for mobile data).
[0060] For example, if topology X is chosen, topology X has a cost of Xi joules for the time period i. Based on the information from the data frames 250 and the future consumption patterns, the control unit 120 determines that the context requirements (e.g., mobile devices, available access points, etc.) wili not change enough to cause a topology change for the next ten time periods. The controi unit 120 evaluates the system by looking at a number of time periods (e.g.: 10 time periods) ahead and assuming topology X is heSd, The controi unit 120 computes the cost for the next ten time periods Xi, Xj, Xk... etc. Once this computation is completed, the controi unit 120 annotates the topology with the predicted consumption resulted from selecting it (i.e., the cost) and that is iater used to decide what is the best topology.
[0061] After a!i devices in a topology are evaluated, at step 635 the control unit stores the topology in a database (e.g., in the memory 110). The control unit then determines whether there are more topoiogies that need to be evaluated {at step 840). if there are more topologies avai!abie for evaluation, the control unit evaluates these topoiogies as described above, if there are no more topologies, the controi panel 120 moves to step 420 of the method 400 and determines the optimal network topology for the devices as described above.
[0062] The above examples of cloud-based connectivity system 20 advantageously allows for automatically determining of optimal network topology for a plurality of devices. Further, the described system prevents a user form exceeding an allocated data plan, keeps ail devices powered for the iongest possibie time, and provides the best possibie bandwidth and the lowest content consumption latency for ail devices.

Claims

CLAf MS What is claimed is:
1. A cioud based connectivity system having a plurality of wireless devices, the system comprising:
a computing device connected to at least one of the wireless devices, the computing device having a control unit to:
receive context information from the plurality of wireless devices, determine future consumption patterns for each of the plurality of wireless devices by using the received context information,
create a connectivity representation for the plurality of wireless devices, and
determine an optimal network topology for the plurality of wireless devices.
2. The system of claim 1 , wherein the control unit is to use the received context information, the future consumption patterns, and information about available network connections to create the connectivity representation.
3. The system of claim 1, wherein the context information for each wireless device includes location of the wireless device at a specific time, battery level, battery charge time, power charge and discharge rate, bandwidth consumption, content consumption latency, data consumption, and available access points.
4. The system of ciaim 1 , wherein the control unit is to receive the context information from the wireless devices at predetermined time periods.
5. The system of claim 4, wherein the future consumption patterns include predictions about a remaining battery level and a remaining data capacity at the end of each predetermined time period.
6. The system of ciaim i , wherein the control unit is to determine and evaluate a plurality of available topologies based on the connectivity representation to determine the optimal network topology for the plurality of wireiess devices.
7. The system of ciaim 1 , wherein the control unit is to issue connectivity commands to each wireiess device to implement the determined network topology.
8. A cloud-based connectivity method, the method comprising:
generating a plurality of data frames that include context information from a plurality of wireiess devices;
determining future consumption patterns for each of the plurality of wireiess devices by using the generated data frames;
determining a plurality of network connectivity options for the wireiess devices using the received data frames, the future consumption patterns, and information about available network connections; and
selecting an optimal network topology for the plurality of wireiess devices from the plurality of network connectivit options.
9. The method of claim 8, wherein determining the plurality of network connectivity options for the wireiess devices includes creating a connecttvity representation for the plurality of wireless devices.
10. The method of claim 9, wherein the plurality of network connectivity options for the wireless devices are generated based on the connectivity representation.
11. The method of claim 8, wherein determining future consumption patterns for each of the plurality of wireless devices further includes using a default data associated with the wireless devices.
12. The method of claim 1, wherein the data frames include information about location of the wireless devices at a specific time, battery level, battery charge time, power charge and discharge rate, bandwidth consumption, content consumption latency, data consumption, and available access points.
13. A non-transitory machine-readable storage medium encoded with instructions executable by a processor of a cloud-based connectivity system, the machine-readable storage medium comprising instructions to:
acquire data from a p!uraiity of wireless devices at predetermined time periods;
generate predictions related to a remaining battery level and a remaining data capacity for each of the wireless devices at the end of each predetermined time period by using the acquired data;
create a connectivity representation for the plurality of wireless devices with the acquired data, the generated predictions, and information about available network connections;
determine and evaluate available network topologies created based on the connectivity representation to determine an optimal network topology for the plurality of wireless devices; and
issue connectivity commands to each wireless device based on the determined optima! network topology.
14. The non-transitory machine-readable storage medium of claim 13, further comprising instructions to eliminate topologies that, do not meet energy, data, and service requirements to determine the optima! network topology for the plurality of wireless devices.
15. The non-transitory machine-readable storage medium of ciaim 13, wherein the optima! network topoiogy provides largest bandwidth and lowest content consumption iatency for the plurality of wireless devices.
PCT/US2013/032530 2013-03-15 2013-03-15 Cloud-based connectivity WO2014143041A1 (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
PCT/US2013/032530 WO2014143041A1 (en) 2013-03-15 2013-03-15 Cloud-based connectivity
EP13878171.1A EP2974462A4 (en) 2013-03-15 2013-03-15 Cloud-based connectivity
CN201380076578.9A CN105230081B (en) 2013-03-15 2013-03-15 Connectivity based on cloud
US14/777,451 US9769675B2 (en) 2013-03-15 2013-03-15 Cloud-based connectivity

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2013/032530 WO2014143041A1 (en) 2013-03-15 2013-03-15 Cloud-based connectivity

Publications (1)

Publication Number Publication Date
WO2014143041A1 true WO2014143041A1 (en) 2014-09-18

Family

ID=51537384

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2013/032530 WO2014143041A1 (en) 2013-03-15 2013-03-15 Cloud-based connectivity

Country Status (4)

Country Link
US (1) US9769675B2 (en)
EP (1) EP2974462A4 (en)
CN (1) CN105230081B (en)
WO (1) WO2014143041A1 (en)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104080151B (en) * 2013-03-26 2018-02-23 华为技术有限公司 A kind of network selecting method, device and base station
US20170264491A1 (en) * 2016-03-12 2017-09-14 Denis DeRuijter Intent based controller for provisioning a network
US10051455B2 (en) * 2016-03-18 2018-08-14 Plume Design, Inc. Systems and methods for changing topology and firmware in distributed wi-fi networks
US10181066B2 (en) * 2016-06-06 2019-01-15 Paypal, Inc. Smart harbor device for intelligent updating and selection for use of transaction processing terminal devices
US9955314B1 (en) 2016-10-24 2018-04-24 International Business Machines Corporation Specifying a map of available locations for recharging battery enabled devices based on a schedule of predicted locations for a user
US9955428B1 (en) * 2016-10-24 2018-04-24 International Business Machines Corporation Optimizing scheduled charging of battery enabled devices based on a predicted battery consumption factor for an area
US9955313B1 (en) * 2016-10-24 2018-04-24 International Business Machines Corporation Scheduling optimized charging of battery enabled devices based on power usage impact data received from multiple sources
US9867017B1 (en) 2016-10-24 2018-01-09 International Business Machines Corporation Scheduling optimized charging of battery enabled devices based on battery usage impact factors and predicted usage received from multiple sources
US10374762B2 (en) * 2017-02-28 2019-08-06 At&T Intellectual Property I, L.P. Use of underutilized bandwidth via radio access resource sharing
US10705584B2 (en) * 2017-07-11 2020-07-07 International Business Machines Corporation Power socket management system
JP6486575B1 (en) * 2018-06-21 2019-03-20 三菱電機株式会社 Device control signal registration device, device control signal registration system, device control signal registration method, and device control signal registration program
CN115276762B (en) * 2022-06-24 2023-05-05 广州爱浦路网络技术有限公司 Satellite network connection method, system, electronic equipment and storage medium
CN114978292B (en) * 2022-06-24 2023-05-05 广州爱浦路网络技术有限公司 Satellite network connection method, system, electronic equipment and storage medium

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110207509A1 (en) 2010-02-24 2011-08-25 Palm, Inc. Apparatus and methods for providing intelligent battery management
US20110320607A1 (en) 2010-03-22 2011-12-29 Opanga Networks, Inc. Systems and methods for aligning media content delivery sessions with historical network usage
WO2012024030A2 (en) 2010-07-26 2012-02-23 Seven Networks, Inc. Context aware traffic management for resource conservation in a wireless network
US20120052817A1 (en) 2010-09-01 2012-03-01 Seungwon Lee Mobile terminal and operation control method thereof

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6496700B1 (en) * 1996-04-04 2002-12-17 At&T Wireless Services, Inc. Method for determining organization parameters in a wireless communication system
US6501949B1 (en) * 1999-12-14 2002-12-31 Ericsson Inc. Acquisition of mobile station power source capacity levels in a wireless communications network
CA2487528A1 (en) * 2002-07-24 2004-02-12 Innogenetics N.V. Prevention, treatment and diagnosis of diseases associated with beta-amyloid formation and/or aggregation
GB2407003B (en) 2003-10-10 2006-08-09 Toshiba Res Europ Ltd Wireless access systems
US7574240B1 (en) * 2005-05-13 2009-08-11 Xilinx, Inc. Power estimation for mobile devices
US8509098B2 (en) 2006-04-28 2013-08-13 Alcatel Lucent Method and apparatus for identifying network connectivity changes in dynamic networks
US8249605B2 (en) 2006-09-28 2012-08-21 Samsung Electronics Co., Ltd. Systems and methods for optimizing the topology of a bluetooth scatternet for social networking
US20090047948A1 (en) 2007-08-16 2009-02-19 Tcm Mobile Llc Mobile networking method and system
KR20120115294A (en) * 2009-12-01 2012-10-17 스파이더클라우드 와이어리스, 인크. Method, system and device for configuring topology of a wireless network
US9124449B2 (en) * 2011-02-01 2015-09-01 Cisco Technology, Inc. Network topologies for energy efficient networks
US20120236757A1 (en) * 2011-03-14 2012-09-20 Broadcom Corporation Convergent network topology discovery and mapping
US9450766B2 (en) 2011-04-26 2016-09-20 Openet Telecom Ltd. Systems, devices and methods of distributing telecommunications functionality across multiple heterogeneous domains
US8909785B2 (en) * 2011-08-08 2014-12-09 International Business Machines Corporation Smart cloud workload balancer
WO2013023698A1 (en) * 2011-08-17 2013-02-21 Huawei Technologies Co., Ltd. Method for determining the topology of a wireless communication network
EP3358792A1 (en) * 2011-11-25 2018-08-08 Bandwidthx Inc. System for providing intelligent network access selection for a mobile wireless device
GB2497555A (en) * 2011-12-14 2013-06-19 Renesas Mobile Corp Selecting a network configuration based on determined power consumption
US9098344B2 (en) * 2011-12-27 2015-08-04 Microsoft Technology Licensing, Llc Cloud-edge topologies

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110207509A1 (en) 2010-02-24 2011-08-25 Palm, Inc. Apparatus and methods for providing intelligent battery management
US20110320607A1 (en) 2010-03-22 2011-12-29 Opanga Networks, Inc. Systems and methods for aligning media content delivery sessions with historical network usage
WO2012024030A2 (en) 2010-07-26 2012-02-23 Seven Networks, Inc. Context aware traffic management for resource conservation in a wireless network
US20120052817A1 (en) 2010-09-01 2012-03-01 Seungwon Lee Mobile terminal and operation control method thereof

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
BENGY AHLGREN ET AL.: "Content, Connectivity, and Cloud: Ingredients for the Network of the Future", IEEE COMMUNICATIONS MAGAZINE, July 2011 (2011-07-01), XP011357607 *
CURT SCHURGERS ET AL.: "ENERGY EFFICIENT ROUTING IN WIRELESS SENSOR NETWORKS", IEEE, 2001, XP010579036 *
See also references of EP2974462A4

Also Published As

Publication number Publication date
CN105230081B (en) 2019-06-14
CN105230081A (en) 2016-01-06
US20160021546A1 (en) 2016-01-21
EP2974462A1 (en) 2016-01-20
US9769675B2 (en) 2017-09-19
EP2974462A4 (en) 2016-10-19

Similar Documents

Publication Publication Date Title
US9769675B2 (en) Cloud-based connectivity
Wang et al. Iterative dynamic water-filling for fading multiple-access channels with energy harvesting
Li et al. Learning-aided computation offloading for trusted collaborative mobile edge computing
CN113709201B (en) Method and communication device for computing offloading
Wang et al. User mobility aware task assignment for mobile edge computing
Shu et al. eTime: Energy-efficient transmission between cloud and mobile devices
Hong et al. QoE-aware computation offloading scheduling to capture energy-latency tradeoff in mobile clouds
CN109286664A (en) A kind of computation migration terminal energy consumption optimization method based on Lagrange
WO2019061501A1 (en) Technologies for managing accelerator resources by cloud resource manager
CN101035040A (en) Radio sensor network data collection method based on multi-agent negotiation
US20130182575A1 (en) Systems And Methods For Automatically Selecting A Communication Channel
Hong et al. QoE-aware computation offloading to capture energy-latency-pricing tradeoff in mobile clouds
CN113835514A (en) Method and system for optimizing execution of user commands related to power management
Tutuncuoglu et al. Communicating using an energy harvesting transmitter: Optimum policies under energy storage losses
JP2016519918A (en) Method for allocating energy resources in a network signaling node
Zhu et al. Learn and pick right nodes to offload
Mushtaq et al. Power saving model for mobile device and virtual base station in the 5G era
Temesgene et al. Dynamic control of functional splits for energy harvesting virtual small cells: A distributed reinforcement learning approach
Yu et al. Collaborative computation offloading for multi-access edge computing
Dai et al. A multi-objective optimization algorithm of task scheduling in WSN
CN105744463A (en) Power-saving method and associated electronic device
Yue et al. Cloud server job selection and scheduling in mobile computation offloading
Wang et al. Renewable energy scheduling for fading channels with maximum power constraint
US9420493B2 (en) Exploiting cell dormancy and load balancing in LTE HetNets
Mu et al. Stochastic learning for opportunistic peer-to-peer computation offloading in iot edge computing

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 201380076578.9

Country of ref document: CN

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 13878171

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 14777451

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 2013878171

Country of ref document: EP